From 2e9219193f94ace879c386430cfd945df8a4ca1e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 24 Dec 2023 18:20:31 +0000 Subject: [PATCH 001/452] fix(deps): update dependency @sentry/node to 7.91 (#1668) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 54 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index d95c9b938..a31deb6a2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.88", + "@sentry/node": "7.91", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.1", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.88.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.88.0.tgz", - "integrity": "sha512-xXQdcYhsS+ourzJHjXNjZC9zakuc97udmpgaXRjEP7FjPYclIx+YXwgFBdHM2kzAwZLFOsEce5dr46GVXUDfZw==", + "version": "7.91.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.91.0.tgz", + "integrity": "sha512-JH5y6gs6BS0its7WF2DhySu7nkhPDfZcdpAXldxzIlJpqFkuwQKLU5nkYJpiIyZz1NHYYtW5aum2bV2oCOdDRA==", "dependencies": { - "@sentry/core": "7.88.0", - "@sentry/types": "7.88.0", - "@sentry/utils": "7.88.0" + "@sentry/core": "7.91.0", + "@sentry/types": "7.91.0", + "@sentry/utils": "7.91.0" }, "engines": { "node": ">=8" @@ -3267,26 +3267,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.88.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.88.0.tgz", - "integrity": "sha512-Jzbb7dcwiCO7kI0a1w+32UzWxbEn2OcZWzp55QMEeAh6nZ/5CXhXwpuHi0tW7doPj+cJdmxMTMu9LqMVfdGkzQ==", + "version": "7.91.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.91.0.tgz", + "integrity": "sha512-tu+gYq4JrTdrR+YSh5IVHF0fJi/Pi9y0HZ5H9HnYy+UMcXIotxf6hIEaC6ZKGeLWkGXffz2gKpQLe/g6vy/lPA==", "dependencies": { - "@sentry/types": "7.88.0", - "@sentry/utils": "7.88.0" + "@sentry/types": "7.91.0", + "@sentry/utils": "7.91.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.88.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.88.0.tgz", - "integrity": "sha512-X6Xyh7AEitnWqn1CHQrmsUqRn0GKj/6nPE5VC2DLQfHiFH1Fknrt+csFzDchQ/86awXYwuY4Le5ECEH//X/WzQ==", - "dependencies": { - "@sentry-internal/tracing": "7.88.0", - "@sentry/core": "7.88.0", - "@sentry/types": "7.88.0", - "@sentry/utils": "7.88.0", + "version": "7.91.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.91.0.tgz", + "integrity": "sha512-hTIfSQxD7L+AKIqyjoq8CWBRkEQrrMZmA3GSZgPI5JFWBHgO0HBo5TH/8TU81oEJh6kqqHAl2ObMhmcnaFqlzg==", + "dependencies": { + "@sentry-internal/tracing": "7.91.0", + "@sentry/core": "7.91.0", + "@sentry/types": "7.91.0", + "@sentry/utils": "7.91.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -3313,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.88.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.88.0.tgz", - "integrity": "sha512-FvwvmX1pWAZKicPj4EpKyho8Wm+C4+r5LiepbbBF8oKwSPJdD2QV1fo/LWxsrzNxWOllFIVIXF5Ed3nPYQWpTw==", + "version": "7.91.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.91.0.tgz", + "integrity": "sha512-bcQnb7J3P3equbCUc+sPuHog2Y47yGD2sCkzmnZBjvBT0Z1B4f36fI/5WjyZhTjLSiOdg3F2otwvikbMjmBDew==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.88.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.88.0.tgz", - "integrity": "sha512-ukminfRmdBXTzk49orwJf3Lu3hR60ZRHjE2a4IXwYhyDT6JJgJqgsq1hzGXx0AyFfyS4WhfZ6QUBy7fu3BScZQ==", + "version": "7.91.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.91.0.tgz", + "integrity": "sha512-fvxjrEbk6T6Otu++Ax9ntlQ0sGRiwSC179w68aC3u26Wr30FAIRKqHTCCdc2jyWk7Gd9uWRT/cq+g8NG/8BfSg==", "dependencies": { - "@sentry/types": "7.88.0" + "@sentry/types": "7.91.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index c96d8d1f1..95c0700b4 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.88", + "@sentry/node": "7.91", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.1", From d19af14247281b0f164d08c79c657766119e5c93 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Dec 2023 01:46:26 +0000 Subject: [PATCH 002/452] chore(deps): update dependency eslint-plugin-prettier to v5.1.2 (#1669) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 21 +++++++++++---------- package.json | 2 +- 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index a31deb6a2..582015dc5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "@vitest/coverage-v8": "^1.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.1", + "eslint-plugin-prettier": "5.1.2", "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", @@ -6117,19 +6117,19 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.1.tgz", - "integrity": "sha512-WQpV3mSmIobb77s4qiCZu3dBrZZ0rj8ckSfBtRrgNK9Wnh2s3eiaxNTWloz1LJ1WtvqZES/PAI7PLvsrGt/CEA==", + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.5" + "synckit": "^0.8.6" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/prettier" + "url": "https://opencollective.com/eslint-plugin-prettier" }, "peerDependencies": { "@types/eslint": ">=8.0.0", @@ -11308,12 +11308,13 @@ } }, "node_modules/synckit": { - "version": "0.8.5", + "version": "0.8.6", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", + "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", "dev": true, - "license": "MIT", "dependencies": { - "@pkgr/utils": "^2.3.1", - "tslib": "^2.5.0" + "@pkgr/utils": "^2.4.2", + "tslib": "^2.6.2" }, "engines": { "node": "^14.18.0 || >=16.0.0" diff --git a/package.json b/package.json index 95c0700b4..c90079177 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@vitest/coverage-v8": "^1.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.1", + "eslint-plugin-prettier": "5.1.2", "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", From a2b7c434149822ff4c74bc054f4a5ca94116b4a8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Dec 2023 01:46:29 +0000 Subject: [PATCH 003/452] fix(deps): update dependency fastify to ^4.25.2 (#1670) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 582015dc5..e67ac539d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@sentry/node": "7.91", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", - "fastify": "^4.25.1", + "fastify": "^4.25.2", "moment": "^2.29.4", "pino": "^8.17.1", "sequelize": "^6.35.2", @@ -6484,9 +6484,9 @@ "license": "MIT" }, "node_modules/fastify": { - "version": "4.25.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.25.1.tgz", - "integrity": "sha512-D8d0rv61TwqoAS7lom2tvIlgVMlx88lLsiwXyWNjA7CU/LC/mx/Gp2WAlC0S/ABq19U+y/aRvYFG5xLUu2aMrg==", + "version": "4.25.2", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.25.2.tgz", + "integrity": "sha512-SywRouGleDHvRh054onj+lEZnbC1sBCLkR0UY3oyJwjD4BdZJUrxBqfkfCaqn74pVCwBaRHGuL3nEWeHbHzAfw==", "dependencies": { "@fastify/ajv-compiler": "^3.5.0", "@fastify/error": "^3.4.0", diff --git a/package.json b/package.json index c90079177..49b0f528b 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@sentry/node": "7.91", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", - "fastify": "^4.25.1", + "fastify": "^4.25.2", "moment": "^2.29.4", "pino": "^8.17.1", "sequelize": "^6.35.2", From 93f430ebf83683cd3a857d1f2ec14d26ec731bfe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 27 Dec 2023 07:43:15 +0000 Subject: [PATCH 004/452] chore(deps): update typescript-eslint monorepo to ^6.16.0 (#1671) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 113 ++++++++++++++++++++++++++++------------------ package.json | 4 +- 2 files changed, 71 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index e67ac539d..1f53bbcf5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.10.5", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.15.0", - "@typescript-eslint/parser": "^6.15.0", + "@typescript-eslint/eslint-plugin": "^6.16.0", + "@typescript-eslint/parser": "^6.16.0", "@vitest/coverage-v8": "^1.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4050,16 +4050,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.15.0.tgz", - "integrity": "sha512-j5qoikQqPccq9QoBAupOP+CBu8BaJ8BLjaXSioDISeTZkVO3ig7oSIKh3H+rEpee7xCXtWwSB4KIL5l6hWZzpg==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz", + "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.15.0", - "@typescript-eslint/type-utils": "6.15.0", - "@typescript-eslint/utils": "6.15.0", - "@typescript-eslint/visitor-keys": "6.15.0", + "@typescript-eslint/scope-manager": "6.16.0", + "@typescript-eslint/type-utils": "6.16.0", + "@typescript-eslint/utils": "6.16.0", + "@typescript-eslint/visitor-keys": "6.16.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4085,15 +4085,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.15.0.tgz", - "integrity": "sha512-MkgKNnsjC6QwcMdlNAel24jjkEO/0hQaMDLqP4S9zq5HBAUJNQB6y+3DwLjX7b3l2b37eNAxMPLwb3/kh8VKdA==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz", + "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.15.0", - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/typescript-estree": "6.15.0", - "@typescript-eslint/visitor-keys": "6.15.0", + "@typescript-eslint/scope-manager": "6.16.0", + "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/typescript-estree": "6.16.0", + "@typescript-eslint/visitor-keys": "6.16.0", "debug": "^4.3.4" }, "engines": { @@ -4113,13 +4113,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.15.0.tgz", - "integrity": "sha512-+BdvxYBltqrmgCNu4Li+fGDIkW9n//NrruzG9X1vBzaNK+ExVXPoGB71kneaVw/Jp+4rH/vaMAGC6JfMbHstVg==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz", + "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/visitor-keys": "6.15.0" + "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/visitor-keys": "6.16.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4130,13 +4130,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.15.0.tgz", - "integrity": "sha512-CnmHKTfX6450Bo49hPg2OkIm/D/TVYV7jO1MCfPYGwf6x3GO0VU8YMO5AYMn+u3X05lRRxA4fWCz87GFQV6yVQ==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz", + "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.15.0", - "@typescript-eslint/utils": "6.15.0", + "@typescript-eslint/typescript-estree": "6.16.0", + "@typescript-eslint/utils": "6.16.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4157,9 +4157,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.15.0.tgz", - "integrity": "sha512-yXjbt//E4T/ee8Ia1b5mGlbNj9fB9lJP4jqLbZualwpP2BCQ5is6BcWwxpIsY4XKAhmdv3hrW92GdtJbatC6dQ==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz", + "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4170,16 +4170,17 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.15.0.tgz", - "integrity": "sha512-7mVZJN7Hd15OmGuWrp2T9UvqR2Ecg+1j/Bp1jXUEY2GZKV6FXlOIoqVDmLpBiEiq3katvj/2n2mR0SDwtloCew==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz", + "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/visitor-keys": "6.15.0", + "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/visitor-keys": "6.16.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", + "minimatch": "9.0.3", "semver": "^7.5.4", "ts-api-utils": "^1.0.1" }, @@ -4196,18 +4197,42 @@ } } }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@typescript-eslint/utils": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.15.0.tgz", - "integrity": "sha512-eF82p0Wrrlt8fQSRL0bGXzK5nWPRV2dYQZdajcfzOD9+cQz9O7ugifrJxclB+xVOvWvagXfqS4Es7vpLP4augw==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz", + "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.15.0", - "@typescript-eslint/types": "6.15.0", - "@typescript-eslint/typescript-estree": "6.15.0", + "@typescript-eslint/scope-manager": "6.16.0", + "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/typescript-estree": "6.16.0", "semver": "^7.5.4" }, "engines": { @@ -4222,12 +4247,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.15.0.tgz", - "integrity": "sha512-1zvtdC1a9h5Tb5jU9x3ADNXO9yjP8rXlaoChu0DQX40vf5ACVpYIVIZhIMZ6d5sDXH7vq4dsZBT1fEGj8D2n2w==", + "version": "6.16.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz", + "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.15.0", + "@typescript-eslint/types": "6.16.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 49b0f528b..b61ed486a 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.10.5", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.15.0", - "@typescript-eslint/parser": "^6.15.0", + "@typescript-eslint/eslint-plugin": "^6.16.0", + "@typescript-eslint/parser": "^6.16.0", "@vitest/coverage-v8": "^1.1.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 947924509c14603c0f35042da5d34c4dadfd80a3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Dec 2023 13:12:22 +0000 Subject: [PATCH 005/452] fix(deps): update dependency pino to ^8.17.2 (#1672) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 15 ++++++++++----- package.json | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1f53bbcf5..2203208f4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "adminjs": "^7.5.2", "fastify": "^4.25.2", "moment": "^2.29.4", - "pino": "^8.17.1", + "pino": "^8.17.2", "sequelize": "^6.35.2", "sqlite": "^5.1.1", "ts-node": "10.9.2" @@ -9343,16 +9343,16 @@ } }, "node_modules/pino": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.17.1.tgz", - "integrity": "sha512-YoN7/NJgnsJ+fkADZqjhRt96iepWBndQHeClmSBH0sQWCb8zGD74t00SK4eOtKFi/f8TUmQnfmgglEhd2kI1RQ==", + "version": "8.17.2", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.17.2.tgz", + "integrity": "sha512-LA6qKgeDMLr2ux2y/YiUt47EfgQ+S9LznBWOJdN3q1dx2sv0ziDLUBeVpyVv17TEcGCBuWf0zNtg3M5m1NhhWQ==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", "on-exit-leak-free": "^2.1.0", "pino-abstract-transport": "v1.1.0", "pino-std-serializers": "^6.0.0", - "process-warning": "^2.0.0", + "process-warning": "^3.0.0", "quick-format-unescaped": "^4.0.3", "real-require": "^0.2.0", "safe-stable-stringify": "^2.3.1", @@ -9391,6 +9391,11 @@ "version": "6.2.2", "license": "MIT" }, + "node_modules/pino/node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" + }, "node_modules/pirates": { "version": "4.0.6", "license": "MIT", diff --git a/package.json b/package.json index b61ed486a..02f469d75 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "adminjs": "^7.5.2", "fastify": "^4.25.2", "moment": "^2.29.4", - "pino": "^8.17.1", + "pino": "^8.17.2", "sequelize": "^6.35.2", "sqlite": "^5.1.1", "ts-node": "10.9.2" From 99e554e59e91bfcb7553637234b8eb7e555a9d86 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Dec 2023 15:09:45 +0000 Subject: [PATCH 006/452] fix(deps): update dependency moment to ^2.30.1 (#1673) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 7 ++++--- package.json | 2 +- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2203208f4..d2cb7c024 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.2", - "moment": "^2.29.4", + "moment": "^2.30.1", "pino": "^8.17.2", "sequelize": "^6.35.2", "sqlite": "^5.1.1", @@ -8911,8 +8911,9 @@ } }, "node_modules/moment": { - "version": "2.29.4", - "license": "MIT", + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } diff --git a/package.json b/package.json index 02f469d75..7fde1fad2 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.2", - "moment": "^2.29.4", + "moment": "^2.30.1", "pino": "^8.17.2", "sequelize": "^6.35.2", "sqlite": "^5.1.1", From 5d7cc8136076343cb2418a9c97093a76a7b2fa3b Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Fri, 29 Dec 2023 06:18:24 -0500 Subject: [PATCH 007/452] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c61b83d84..5fa6a4661 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/banner2-direct.svg)](https://stand-with-ukraine.pp.ua) +[![StandWithPalestine](https://raw.githubusercontent.com/karim-eg/StandWithPalestine/main/assets/palestine_banner.svg)](https://github.com/karim-eg/StandWithPalestine/blob/main/Donate.md) # mcos From df19e6194bc0fa8acf5b7f2e5886dbc491d008e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Dec 2023 07:52:00 +0000 Subject: [PATCH 008/452] chore(deps): update dependency @types/node to ^20.10.6 (#1674) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d2cb7c024..55d71546d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.0", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.5", + "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.16.0", @@ -3955,9 +3955,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.10.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.5.tgz", - "integrity": "sha512-nNPsNE65wjMxEKI93yOP+NPGGBJz/PoN3kZsVLee0XMiJolxSekEVD8wRwBUBqkwc7UWop0edW50yrCQW4CyRw==", + "version": "20.10.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", + "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 7fde1fad2..b41d88ca8 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.0", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.5", + "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.16.0", From b12e0cf3fa22943b7b333d3ce69254716132102c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Jan 2024 19:07:27 +0000 Subject: [PATCH 009/452] chore(deps): update vitest monorepo to ^1.1.1 (#1675) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 70 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 55d71546d..d81732ee0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.16.0", "@typescript-eslint/parser": "^6.16.0", - "@vitest/coverage-v8": "^1.1.0", + "@vitest/coverage-v8": "^1.1.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.2", @@ -45,7 +45,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.0" + "vitest": "^1.1.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4270,9 +4270,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.1.0.tgz", - "integrity": "sha512-kHQRk70vTdXAyQY2C0vKOHPyQD/R6IUzcGdO4vCuyr4alE5Yg1+Sk2jSdjlIrTTXdcNEs+ReWVM09mmSFJpzyQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.1.1.tgz", + "integrity": "sha512-TCXSh6sA92t7D5p7HJ64sPCi+szP8E3NiKTsR3YR8vVEVZB9yclQu2btktCthxahKBl7PwheP5OuejYg13xccg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4297,13 +4297,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.0.tgz", - "integrity": "sha512-9IE2WWkcJo2BR9eqtY5MIo3TPmS50Pnwpm66A6neb2hvk/QSLfPXBz2qdiwUOQkwyFuuXEUj5380CbwfzW4+/w==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.1.tgz", + "integrity": "sha512-Qpw01C2Hyb3085jBkOJLQ7HRX0Ncnh2qV4p+xWmmhcIUlMykUF69zsnZ1vPmAjZpomw9+5tWEGOQ0GTfR8U+kA==", "dev": true, "dependencies": { - "@vitest/spy": "1.1.0", - "@vitest/utils": "1.1.0", + "@vitest/spy": "1.1.1", + "@vitest/utils": "1.1.1", "chai": "^4.3.10" }, "funding": { @@ -4311,12 +4311,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.0.tgz", - "integrity": "sha512-zdNLJ00pm5z/uhbWF6aeIJCGMSyTyWImy3Fcp9piRGvueERFlQFbUwCpzVce79OLm2UHk9iwaMSOaU9jVHgNVw==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.1.tgz", + "integrity": "sha512-8HokyJo1SnSi3uPFKfWm/Oq1qDwLC4QDcVsqpXIXwsRPAg3gIDh8EbZ1ri8cmQkBxdOu62aOF9B4xcqJhvt4xQ==", "dev": true, "dependencies": { - "@vitest/utils": "1.1.0", + "@vitest/utils": "1.1.1", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4352,9 +4352,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.0.tgz", - "integrity": "sha512-5O/wyZg09V5qmNmAlUgCBqflvn2ylgsWJRRuPrnHEfDNT6tQpQ8O1isNGgo+VxofISHqz961SG3iVvt3SPK/QQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.1.tgz", + "integrity": "sha512-WnMHjv4VdHLbFGgCdVVvyRkRPnOKN75JJg+LLTdr6ah7YnL75W+7CTIMdzPEPzaDxA8r5yvSVlc1d8lH3yE28w==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4366,9 +4366,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.0.tgz", - "integrity": "sha512-sNOVSU/GE+7+P76qYo+VXdXhXffzWZcYIPQfmkiRxaNCSPiLANvQx5Mx6ZURJ/ndtEkUJEpvKLXqAYTKEY+lTg==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.1.tgz", + "integrity": "sha512-hDU2KkOTfFp4WFFPWwHFauddwcKuGQ7gF6Un/ZZkCogoAiTMN7/7YKvUDbywPZZ754iCQGjdUmXN3t4k0jm1IQ==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4378,9 +4378,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.0.tgz", - "integrity": "sha512-z+s510fKmYz4Y41XhNs3vcuFTFhcij2YF7F8VQfMEYAAUfqQh0Zfg7+w9xdgFGhPf3tX3TicAe+8BDITk6ampQ==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.1.tgz", + "integrity": "sha512-E9LedH093vST/JuBSyHLFMpxJKW3dLhe/flUSPFedoyj4wKiFX7Jm8gYLtOIiin59dgrssfmFv0BJ1u8P/LC/A==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -11939,9 +11939,9 @@ } }, "node_modules/vite-node": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.0.tgz", - "integrity": "sha512-jV48DDUxGLEBdHCQvxL1mEh7+naVy+nhUUUaPAZLd3FJgXuxQiewHcfeZebbJ6onDqNGkP4r3MhQ342PRlG81Q==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.1.tgz", + "integrity": "sha512-2bGE5w4jvym5v8llF6Gu1oBrmImoNSs4WmRVcavnG2me6+8UQntTqLiAMFyiAobp+ZXhj5ZFhI7SmLiFr/jrow==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -11990,16 +11990,16 @@ } }, "node_modules/vitest": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.0.tgz", - "integrity": "sha512-oDFiCrw7dd3Jf06HoMtSRARivvyjHJaTxikFxuqJjO76U436PqlVw1uLn7a8OSPrhSfMGVaRakKpA2lePdw79A==", + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.1.tgz", + "integrity": "sha512-Ry2qs4UOu/KjpXVfOCfQkTnwSXYGrqTbBZxw6reIYEFjSy1QUARRg5pxiI5BEXy+kBVntxUYNMlq4Co+2vD3fQ==", "dev": true, "dependencies": { - "@vitest/expect": "1.1.0", - "@vitest/runner": "1.1.0", - "@vitest/snapshot": "1.1.0", - "@vitest/spy": "1.1.0", - "@vitest/utils": "1.1.0", + "@vitest/expect": "1.1.1", + "@vitest/runner": "1.1.1", + "@vitest/snapshot": "1.1.1", + "@vitest/spy": "1.1.1", + "@vitest/utils": "1.1.1", "acorn-walk": "^8.3.0", "cac": "^6.7.14", "chai": "^4.3.10", @@ -12014,7 +12014,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.1", "vite": "^5.0.0", - "vite-node": "1.1.0", + "vite-node": "1.1.1", "why-is-node-running": "^2.2.2" }, "bin": { diff --git a/package.json b/package.json index b41d88ca8..c195991da 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.16.0", "@typescript-eslint/parser": "^6.16.0", - "@vitest/coverage-v8": "^1.1.0", + "@vitest/coverage-v8": "^1.1.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.2", @@ -63,7 +63,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.0" + "vitest": "^1.1.1" }, "c8": { "all": true, From 9e4efab290edb38734288c455e2355bb96733d9b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Jan 2024 00:08:40 +0000 Subject: [PATCH 010/452] chore(deps): update typescript-eslint monorepo to ^6.17.0 (#1676) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index d81732ee0..f5c8b2788 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", "@vitest/coverage-v8": "^1.1.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4050,16 +4050,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.16.0.tgz", - "integrity": "sha512-O5f7Kv5o4dLWQtPX4ywPPa+v9G+1q1x8mz0Kr0pXUtKsevo+gIJHLkGc8RxaZWtP8RrhwhSNIWThnW42K9/0rQ==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz", + "integrity": "sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/type-utils": "6.16.0", - "@typescript-eslint/utils": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/type-utils": "6.17.0", + "@typescript-eslint/utils": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4085,15 +4085,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.16.0.tgz", - "integrity": "sha512-H2GM3eUo12HpKZU9njig3DF5zJ58ja6ahj1GoHEHOgQvYxzoFJJEvC1MQ7T2l9Ha+69ZSOn7RTxOdpC/y3ikMw==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz", + "integrity": "sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4" }, "engines": { @@ -4113,13 +4113,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.16.0.tgz", - "integrity": "sha512-0N7Y9DSPdaBQ3sqSCwlrm9zJwkpOuc6HYm7LpzLAPqBL7dmzAUimr4M29dMkOP/tEwvOCC/Cxo//yOfJD3HUiw==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz", + "integrity": "sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0" + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4130,13 +4130,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.16.0.tgz", - "integrity": "sha512-ThmrEOcARmOnoyQfYkHw/DX2SEYBalVECmoldVuH6qagKROp/jMnfXpAU/pAIWub9c4YTxga+XwgAkoA0pxfmg==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz", + "integrity": "sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.16.0", - "@typescript-eslint/utils": "6.16.0", + "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/utils": "6.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4157,9 +4157,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.16.0.tgz", - "integrity": "sha512-hvDFpLEvTJoHutVl87+MG/c5C8I6LOgEx05zExTSJDEVU7hhR3jhV8M5zuggbdFCw98+HhZWPHZeKS97kS3JoQ==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz", + "integrity": "sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4170,13 +4170,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.16.0.tgz", - "integrity": "sha512-VTWZuixh/vr7nih6CfrdpmFNLEnoVBF1skfjdyGnNwXOH1SLeHItGdZDHhhAIzd3ACazyY2Fg76zuzOVTaknGA==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz", + "integrity": "sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/visitor-keys": "6.16.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/visitor-keys": "6.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4222,17 +4222,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.16.0.tgz", - "integrity": "sha512-T83QPKrBm6n//q9mv7oiSvy/Xq/7Hyw9SzSEhMHJwznEmQayfBM87+oAlkNAMEO7/MjIwKyOHgBJbxB0s7gx2A==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz", + "integrity": "sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.16.0", - "@typescript-eslint/types": "6.16.0", - "@typescript-eslint/typescript-estree": "6.16.0", + "@typescript-eslint/scope-manager": "6.17.0", + "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/typescript-estree": "6.17.0", "semver": "^7.5.4" }, "engines": { @@ -4247,12 +4247,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.16.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.16.0.tgz", - "integrity": "sha512-QSFQLruk7fhs91a/Ep/LqRdbJCZ1Rq03rqBdKT5Ky17Sz8zRLUksqIe9DW0pKtg/Z35/ztbLQ6qpOCN6rOC11A==", + "version": "6.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz", + "integrity": "sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.16.0", + "@typescript-eslint/types": "6.17.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index c195991da..70c6da02c 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.16.0", - "@typescript-eslint/parser": "^6.16.0", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", "@vitest/coverage-v8": "^1.1.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 3b5993c294ad5006f78eec42df9b135055b533e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jan 2024 07:01:35 +0000 Subject: [PATCH 011/452] chore(deps): update dependency @sentry/cli to ^2.23.2 (#1677) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 65 ++++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 34 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index f5c8b2788..cb8534a0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.23.1", + "@sentry/cli": "^2.23.2", "@tsconfig/node-lts": "^20.1.0", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,10 +3124,11 @@ } }, "node_modules/@sentry/cli": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.23.1.tgz", - "integrity": "sha512-3Tg3qzrdNWQAkuRyXniVhT+aNAwucshw0UKr/J2hxQgA72vxzcZlK4G0+Im9gIFwmzuBaD8jSGVpkzATuCeoNA==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.23.2.tgz", + "integrity": "sha512-coQoJnts6E/yN21uQyI7sqa89kixXQuIRodOPnIymQtYJZG3DAwqxcCBLMS3NZyVQ3HemeuhhDnE/KFd1mS53Q==", "dev": true, + "hasInstallScript": true, "dependencies": { "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.7", @@ -3142,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.23.1", - "@sentry/cli-linux-arm": "2.23.1", - "@sentry/cli-linux-arm64": "2.23.1", - "@sentry/cli-linux-i686": "2.23.1", - "@sentry/cli-linux-x64": "2.23.1", - "@sentry/cli-win32-i686": "2.23.1", - "@sentry/cli-win32-x64": "2.23.1" + "@sentry/cli-darwin": "2.23.2", + "@sentry/cli-linux-arm": "2.23.2", + "@sentry/cli-linux-arm64": "2.23.2", + "@sentry/cli-linux-i686": "2.23.2", + "@sentry/cli-linux-x64": "2.23.2", + "@sentry/cli-win32-i686": "2.23.2", + "@sentry/cli-win32-x64": "2.23.2" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.23.1.tgz", - "integrity": "sha512-jSHORd9p/69BmKZRfJXFw4WFYODlw3mH1vBCi8LTWDimR9L3tthlCqYM1v5A26mUACqyNPI3s/6xvw5GOAsIhw==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.23.2.tgz", + "integrity": "sha512-7Jw1yEmJxiNan5WJyiAKXascxoe8uccKVaTvEo0JwzgWhPzS71j3eUlthuQuy0xv5Pqw4d89khAP79X/pzW/dw==", "dev": true, "optional": true, "os": [ @@ -3165,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.23.1.tgz", - "integrity": "sha512-ur7DFWwHXrLRJLa0+vL22Wkr8FC1NIQwo0mfKI+51Y9ijKsfo8R7pO5MPRCYQz0DKR12VPXkq05KPsCNq5AtZQ==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.23.2.tgz", + "integrity": "sha512-fQZNHsGO6kRPT7nuv/GZ048rA2aEGHcrTZEN6UhgHoowPGGmfSpOqlpdXLME6WYWzWeSBt5Sy5RcxMvPzuDnRQ==", "cpu": [ "arm" ], @@ -3182,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.23.1.tgz", - "integrity": "sha512-f6e1x5zudglp8XdgN07hRhX8HVIeiY/dLAcvaV7qPNtZLd9pjsPgS2nyJlPPEC2WgG1FC439t3JmxIhRTjRA9g==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.23.2.tgz", + "integrity": "sha512-Hs2PbK2++r6Lbss44HIDXJwBSIyw1naLdIpOBi9NVLBGZxO2VLt8sQYDhVDv2ZIUijw1aGc5sg8R7R0/6qqr8Q==", "cpu": [ "arm64" ], @@ -3199,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.23.1.tgz", - "integrity": "sha512-nm3iDgBwkwAZGkz2Oq44pdh0xdECOq/EumF8mAPA6YS2MKUWGsFQEb5/f6HLnqBULrd88RK1wrEW0eBIuIJs9Q==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.23.2.tgz", + "integrity": "sha512-emogfai7xCySsTAaixjnh0hgzcb2nhEqz7MRYxGA+rSI8IgP1ZMBfdWHA/4fUap0wLNA6vVgvbHlFcBVQcGchA==", "cpu": [ "x86", "ia32" @@ -3217,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.23.1.tgz", - "integrity": "sha512-W8QWaxbkIOW2wpAQ1zUzA7+3bOX8lUu5bPxAfstGLobUtxZcTgydJ+58KCeyE6je/jhgzxu+fieat1bzTUrfdg==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.23.2.tgz", + "integrity": "sha512-VewJmJRUFvKR3YiPp1pZOZJxrFGLgBHLGEP/9wBkkp3cY+rKrzQ3b7Dlh9v+YOkz1qjF1R1FsAzvsYd9/05dLg==", "cpu": [ "x64" ], @@ -3234,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.23.1.tgz", - "integrity": "sha512-h8u2OUH9SvWJpRc3f0halzXut7+/BpbLc5eiViPqrcSosmngDSuy0TOGNqwsDW4hpkqm7RcTXWIUhLJcKtFFdA==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.23.2.tgz", + "integrity": "sha512-R8olErQICIV+AdjINxLQYKVGRi49PdSykjs94gfTvJBxb2hvqCpS+LIVS5SFu2UDvT3/9Elq6hXMKxEgYNy0pQ==", "cpu": [ "x86", "ia32" @@ -3251,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.23.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.23.1.tgz", - "integrity": "sha512-DG+oyQ1bsG5A7yd3c+gt2aD6V3IsR+mutV6h1QYQ9Y8PoloGhOWmt/fnZ5CT20/HyzejykMfASnscsJGHmXp4w==", + "version": "2.23.2", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.23.2.tgz", + "integrity": "sha512-GK9xburDBnpBmjtbWrMK+9I7DRKbEhmjfWLdoTQK593xOHPOzy8lhDZ1u9Lp1mUKUcG1xba4BOFZgNppMYG2cA==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 70c6da02c..0c0006d45 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.23.1", + "@sentry/cli": "^2.23.2", "@tsconfig/node-lts": "^20.1.0", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From 14b5b841d909e152b29a9424919d598bb0f92040 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Jan 2024 11:24:18 +0000 Subject: [PATCH 012/452] chore(deps): update dependency @tsconfig/node-lts to ^20.1.1 (#1678) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb8534a0f..51cfb303a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@sentry/cli": "^2.23.2", - "@tsconfig/node-lts": "^20.1.0", + "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", "@types/node": "^20.10.6", @@ -3855,9 +3855,9 @@ } }, "node_modules/@tsconfig/node-lts": { - "version": "20.1.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.0.tgz", - "integrity": "sha512-3w2D9MfGdqBL51pHB5nGFmGtXBn1gbO+n9xzwcGSvZPArtCn4tElk+6EeelLXispAeqv13GAgbzkgLNHtoxOCQ==", + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz", + "integrity": "sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==", "dev": true }, "node_modules/@tsconfig/node10": { diff --git a/package.json b/package.json index 0c0006d45..3fb723f20 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,7 @@ }, "devDependencies": { "@sentry/cli": "^2.23.2", - "@tsconfig/node-lts": "^20.1.0", + "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", "@types/node": "^20.10.6", From 4e7b2d1935cbe4aac3136a964ca0d0ac15230daa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 5 Jan 2024 21:23:22 +0000 Subject: [PATCH 013/452] fix(deps): update dependency @sentry/node to 7.92 (#1679) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 54 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 51cfb303a..12de5857c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.91", + "@sentry/node": "7.92", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.91.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.91.0.tgz", - "integrity": "sha512-JH5y6gs6BS0its7WF2DhySu7nkhPDfZcdpAXldxzIlJpqFkuwQKLU5nkYJpiIyZz1NHYYtW5aum2bV2oCOdDRA==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.92.0.tgz", + "integrity": "sha512-ur55vPcUUUWFUX4eVLNP71ohswK7ZZpleNZw9Y1GfLqyI+0ILQUwjtzqItJrdClvVsdRZJMRmDV40Hp9Lbb9mA==", "dependencies": { - "@sentry/core": "7.91.0", - "@sentry/types": "7.91.0", - "@sentry/utils": "7.91.0" + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.91.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.91.0.tgz", - "integrity": "sha512-tu+gYq4JrTdrR+YSh5IVHF0fJi/Pi9y0HZ5H9HnYy+UMcXIotxf6hIEaC6ZKGeLWkGXffz2gKpQLe/g6vy/lPA==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.92.0.tgz", + "integrity": "sha512-1Tly7YB2I1byI5xb0Cwrxs56Rhww+6mQ7m9P7rTmdC3/ijOzbEoohtYIUPwcooCEarpbEJe/tAayRx6BrH2UbQ==", "dependencies": { - "@sentry/types": "7.91.0", - "@sentry/utils": "7.91.0" + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.91.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.91.0.tgz", - "integrity": "sha512-hTIfSQxD7L+AKIqyjoq8CWBRkEQrrMZmA3GSZgPI5JFWBHgO0HBo5TH/8TU81oEJh6kqqHAl2ObMhmcnaFqlzg==", - "dependencies": { - "@sentry-internal/tracing": "7.91.0", - "@sentry/core": "7.91.0", - "@sentry/types": "7.91.0", - "@sentry/utils": "7.91.0", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.92.0.tgz", + "integrity": "sha512-LZeQL1r6kikEoOzA9K61OmMl32/lK/6PzmFNDH6z7UYwQopCZgVA6IP+CZuln8K2ys5c9hCyF7ICQMysXfpNJA==", + "dependencies": { + "@sentry-internal/tracing": "7.92.0", + "@sentry/core": "7.92.0", + "@sentry/types": "7.92.0", + "@sentry/utils": "7.92.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -3314,19 +3314,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.91.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.91.0.tgz", - "integrity": "sha512-bcQnb7J3P3equbCUc+sPuHog2Y47yGD2sCkzmnZBjvBT0Z1B4f36fI/5WjyZhTjLSiOdg3F2otwvikbMjmBDew==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.92.0.tgz", + "integrity": "sha512-APmSOuZuoRGpbPpPeYIbMSplPjiWNLZRQa73QiXuTflW4Tu/ItDlU8hOa2+A6JKVkJCuD2EN6yUrxDGSMyNXeg==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.91.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.91.0.tgz", - "integrity": "sha512-fvxjrEbk6T6Otu++Ax9ntlQ0sGRiwSC179w68aC3u26Wr30FAIRKqHTCCdc2jyWk7Gd9uWRT/cq+g8NG/8BfSg==", + "version": "7.92.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.92.0.tgz", + "integrity": "sha512-3nEfrQ1z28b/2zgFGANPh5yMVtgwXmrasZxTvKbrAj+KWJpjrJHrIR84r9W277J44NMeZ5RhRW2uoDmuBslPnA==", "dependencies": { - "@sentry/types": "7.91.0" + "@sentry/types": "7.92.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index 3fb723f20..01df3a1a1 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.91", + "@sentry/node": "7.92", "@sentry/profiling-node": "^1.3.2", "adminjs": "^7.5.2", "fastify": "^4.25.2", From fcdc89841434000df843789f715ba75b83d3f776 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 7 Jan 2024 03:09:21 +0000 Subject: [PATCH 014/452] chore(deps): update dependency @sentry/cli to ^2.24.1 (#1681) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 12de5857c..a0bba5225 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.23.2", + "@sentry/cli": "^2.24.1", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.23.2.tgz", - "integrity": "sha512-coQoJnts6E/yN21uQyI7sqa89kixXQuIRodOPnIymQtYJZG3DAwqxcCBLMS3NZyVQ3HemeuhhDnE/KFd1mS53Q==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.24.1.tgz", + "integrity": "sha512-eXqbKRzychtG8mMfGmqc0DRY677ngHRYa3aVS8f0VVKHK4PPV/ta08ORs0iS73IaasP563r8YEzpYjD74GtSZA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.23.2", - "@sentry/cli-linux-arm": "2.23.2", - "@sentry/cli-linux-arm64": "2.23.2", - "@sentry/cli-linux-i686": "2.23.2", - "@sentry/cli-linux-x64": "2.23.2", - "@sentry/cli-win32-i686": "2.23.2", - "@sentry/cli-win32-x64": "2.23.2" + "@sentry/cli-darwin": "2.24.1", + "@sentry/cli-linux-arm": "2.24.1", + "@sentry/cli-linux-arm64": "2.24.1", + "@sentry/cli-linux-i686": "2.24.1", + "@sentry/cli-linux-x64": "2.24.1", + "@sentry/cli-win32-i686": "2.24.1", + "@sentry/cli-win32-x64": "2.24.1" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.23.2.tgz", - "integrity": "sha512-7Jw1yEmJxiNan5WJyiAKXascxoe8uccKVaTvEo0JwzgWhPzS71j3eUlthuQuy0xv5Pqw4d89khAP79X/pzW/dw==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.24.1.tgz", + "integrity": "sha512-L6puTcZn5AarTL9YCVCSSCJoMV7opMx5hwwl0+sQGbLO8BChuC2QZl+j4ftEb3WgnFcT5+OODBlu4ocREtG7sQ==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.23.2.tgz", - "integrity": "sha512-fQZNHsGO6kRPT7nuv/GZ048rA2aEGHcrTZEN6UhgHoowPGGmfSpOqlpdXLME6WYWzWeSBt5Sy5RcxMvPzuDnRQ==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.24.1.tgz", + "integrity": "sha512-wnOeIl0NzUdSvz7kJKTovksDUwx6TTyV1iBjM19gZGqi+hfNc1bUa1IDGSY0m/T+CpSZiuKL0M36sYet5euDUQ==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.23.2.tgz", - "integrity": "sha512-Hs2PbK2++r6Lbss44HIDXJwBSIyw1naLdIpOBi9NVLBGZxO2VLt8sQYDhVDv2ZIUijw1aGc5sg8R7R0/6qqr8Q==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.24.1.tgz", + "integrity": "sha512-47fq/sOZnY8oSnuEurlplHKlcEhCf4Pd3JHmV6N8dYYwPEapoELb3V53BDPhjkj/rwdpJf8T90+LXCQkeF/o+w==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.23.2.tgz", - "integrity": "sha512-emogfai7xCySsTAaixjnh0hgzcb2nhEqz7MRYxGA+rSI8IgP1ZMBfdWHA/4fUap0wLNA6vVgvbHlFcBVQcGchA==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.24.1.tgz", + "integrity": "sha512-OjpP1aRV0cwdtcics0hv8tZR6Bl5+1KIc+0habMeMxfTN7FvGmJb3ZTpuhi8OJLDglppQe6KlWzEFi8UgcE42Q==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.23.2.tgz", - "integrity": "sha512-VewJmJRUFvKR3YiPp1pZOZJxrFGLgBHLGEP/9wBkkp3cY+rKrzQ3b7Dlh9v+YOkz1qjF1R1FsAzvsYd9/05dLg==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.24.1.tgz", + "integrity": "sha512-GfryILChjrgSGBrT90ln46qt6UTI1ebevcDPoWArftTQ0n+P4tPFcfA9bCMV16Jsnc59CtjMFlQknLOAWnezgg==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.23.2.tgz", - "integrity": "sha512-R8olErQICIV+AdjINxLQYKVGRi49PdSykjs94gfTvJBxb2hvqCpS+LIVS5SFu2UDvT3/9Elq6hXMKxEgYNy0pQ==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.24.1.tgz", + "integrity": "sha512-COi7b/g3BbJHlJfF7GA0LAw/foyP3rMfDLQid/4fj7a0DqNjwAJRgazXvvtAY7/3XThHVE/sgLH0UmAgYaBBpA==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.23.2", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.23.2.tgz", - "integrity": "sha512-GK9xburDBnpBmjtbWrMK+9I7DRKbEhmjfWLdoTQK593xOHPOzy8lhDZ1u9Lp1mUKUcG1xba4BOFZgNppMYG2cA==", + "version": "2.24.1", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.24.1.tgz", + "integrity": "sha512-gJxQw9ppRgZecMZ4t7mi5zWTFssVFbO2V35Nq6qk9bwHACa/LjQbyRqSqOg6zil8QruGvH1oQYClFZHlW8EHuA==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 01df3a1a1..1388123d6 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.23.2", + "@sentry/cli": "^2.24.1", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From 1bba89da11a048c96c5c6c3d7b83042512b2ffdc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 7 Jan 2024 03:09:27 +0000 Subject: [PATCH 015/452] chore(deps): update vitest monorepo to ^1.1.3 (#1680) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 82 ++++++++++++++++++++++++++--------------------- package.json | 4 +-- 2 files changed, 48 insertions(+), 38 deletions(-) diff --git a/package-lock.json b/package-lock.json index a0bba5225..95fed4347 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", - "@vitest/coverage-v8": "^1.1.1", + "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.2", @@ -45,7 +45,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.1" + "vitest": "^1.1.3" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4271,9 +4271,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.1.1.tgz", - "integrity": "sha512-TCXSh6sA92t7D5p7HJ64sPCi+szP8E3NiKTsR3YR8vVEVZB9yclQu2btktCthxahKBl7PwheP5OuejYg13xccg==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.1.3.tgz", + "integrity": "sha512-Uput7t3eIcbSTOTQBzGtS+0kah96bX+szW9qQrLeGe3UmgL2Akn8POnyC2lH7XsnREZOds9aCUTxgXf+4HX5RA==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4298,13 +4298,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.1.tgz", - "integrity": "sha512-Qpw01C2Hyb3085jBkOJLQ7HRX0Ncnh2qV4p+xWmmhcIUlMykUF69zsnZ1vPmAjZpomw9+5tWEGOQ0GTfR8U+kA==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.3.tgz", + "integrity": "sha512-MnJqsKc1Ko04lksF9XoRJza0bGGwTtqfbyrsYv5on4rcEkdo+QgUdITenBQBUltKzdxW7K3rWh+nXRULwsdaVg==", "dev": true, "dependencies": { - "@vitest/spy": "1.1.1", - "@vitest/utils": "1.1.1", + "@vitest/spy": "1.1.3", + "@vitest/utils": "1.1.3", "chai": "^4.3.10" }, "funding": { @@ -4312,12 +4312,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.1.tgz", - "integrity": "sha512-8HokyJo1SnSi3uPFKfWm/Oq1qDwLC4QDcVsqpXIXwsRPAg3gIDh8EbZ1ri8cmQkBxdOu62aOF9B4xcqJhvt4xQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.3.tgz", + "integrity": "sha512-Va2XbWMnhSdDEh/OFxyUltgQuuDRxnarK1hW5QNN4URpQrqq6jtt8cfww/pQQ4i0LjoYxh/3bYWvDFlR9tU73g==", "dev": true, "dependencies": { - "@vitest/utils": "1.1.1", + "@vitest/utils": "1.1.3", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4353,9 +4353,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.1.tgz", - "integrity": "sha512-WnMHjv4VdHLbFGgCdVVvyRkRPnOKN75JJg+LLTdr6ah7YnL75W+7CTIMdzPEPzaDxA8r5yvSVlc1d8lH3yE28w==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.3.tgz", + "integrity": "sha512-U0r8pRXsLAdxSVAyGNcqOU2H3Z4Y2dAAGGelL50O0QRMdi1WWeYHdrH/QWpN1e8juWfVKsb8B+pyJwTC+4Gy9w==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4367,9 +4367,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.1.tgz", - "integrity": "sha512-hDU2KkOTfFp4WFFPWwHFauddwcKuGQ7gF6Un/ZZkCogoAiTMN7/7YKvUDbywPZZ754iCQGjdUmXN3t4k0jm1IQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.3.tgz", + "integrity": "sha512-Ec0qWyGS5LhATFQtldvChPTAHv08yHIOZfiNcjwRQbFPHpkih0md9KAbs7TfeIfL7OFKoe7B/6ukBTqByubXkQ==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4379,12 +4379,13 @@ } }, "node_modules/@vitest/utils": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.1.tgz", - "integrity": "sha512-E9LedH093vST/JuBSyHLFMpxJKW3dLhe/flUSPFedoyj4wKiFX7Jm8gYLtOIiin59dgrssfmFv0BJ1u8P/LC/A==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.3.tgz", + "integrity": "sha512-Dyt3UMcdElTll2H75vhxfpZu03uFpXRCHxWnzcrFjZxT1kTbq8ALUYIeBgGolo1gldVdI0YSlQRacsqxTwNqwg==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", "loupe": "^2.3.7", "pretty-format": "^29.7.0" }, @@ -4392,6 +4393,15 @@ "url": "https://opencollective.com/vitest" } }, + "node_modules/@vitest/utils/node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, "node_modules/abort-controller": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", @@ -11940,9 +11950,9 @@ } }, "node_modules/vite-node": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.1.tgz", - "integrity": "sha512-2bGE5w4jvym5v8llF6Gu1oBrmImoNSs4WmRVcavnG2me6+8UQntTqLiAMFyiAobp+ZXhj5ZFhI7SmLiFr/jrow==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.3.tgz", + "integrity": "sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -11991,17 +12001,17 @@ } }, "node_modules/vitest": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.1.tgz", - "integrity": "sha512-Ry2qs4UOu/KjpXVfOCfQkTnwSXYGrqTbBZxw6reIYEFjSy1QUARRg5pxiI5BEXy+kBVntxUYNMlq4Co+2vD3fQ==", + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.3.tgz", + "integrity": "sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==", "dev": true, "dependencies": { - "@vitest/expect": "1.1.1", - "@vitest/runner": "1.1.1", - "@vitest/snapshot": "1.1.1", - "@vitest/spy": "1.1.1", - "@vitest/utils": "1.1.1", - "acorn-walk": "^8.3.0", + "@vitest/expect": "1.1.3", + "@vitest/runner": "1.1.3", + "@vitest/snapshot": "1.1.3", + "@vitest/spy": "1.1.3", + "@vitest/utils": "1.1.3", + "acorn-walk": "^8.3.1", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", @@ -12015,7 +12025,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.1", "vite": "^5.0.0", - "vite-node": "1.1.1", + "vite-node": "1.1.3", "why-is-node-running": "^2.2.2" }, "bin": { diff --git a/package.json b/package.json index 1388123d6..45376d5b7 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", - "@vitest/coverage-v8": "^1.1.1", + "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.2", @@ -63,7 +63,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.1" + "vitest": "^1.1.3" }, "c8": { "all": true, From 3b1c7518b60243f4829d45f1fe9d0985241d7a2b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jan 2024 11:19:31 +0000 Subject: [PATCH 016/452] chore(deps): update typescript-eslint monorepo to ^6.18.0 (#1683) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 95fed4347..ce892ad7b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", + "@typescript-eslint/eslint-plugin": "^6.18.0", + "@typescript-eslint/parser": "^6.18.0", "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4051,16 +4051,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.17.0.tgz", - "integrity": "sha512-Vih/4xLXmY7V490dGwBQJTpIZxH4ZFH6eCVmQ4RFkB+wmaCTDAx4dtgoWwMNGKLkqRY1L6rPqzEbjorRnDo4rQ==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.0.tgz", + "integrity": "sha512-3lqEvQUdCozi6d1mddWqd+kf8KxmGq2Plzx36BlkjuQe3rSTm/O98cLf0A4uDO+a5N1KD2SeEEl6fW97YHY+6w==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/type-utils": "6.17.0", - "@typescript-eslint/utils": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/scope-manager": "6.18.0", + "@typescript-eslint/type-utils": "6.18.0", + "@typescript-eslint/utils": "6.18.0", + "@typescript-eslint/visitor-keys": "6.18.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4086,15 +4086,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.17.0.tgz", - "integrity": "sha512-C4bBaX2orvhK+LlwrY8oWGmSl4WolCfYm513gEccdWZj0CwGadbIADb0FtVEcI+WzUyjyoBj2JRP8g25E6IB8A==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.0.tgz", + "integrity": "sha512-v6uR68SFvqhNQT41frCMCQpsP+5vySy6IdgjlzUWoo7ALCnpaWYcz/Ij2k4L8cEsL0wkvOviCMpjmtRtHNOKzA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/typescript-estree": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/scope-manager": "6.18.0", + "@typescript-eslint/types": "6.18.0", + "@typescript-eslint/typescript-estree": "6.18.0", + "@typescript-eslint/visitor-keys": "6.18.0", "debug": "^4.3.4" }, "engines": { @@ -4114,13 +4114,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.17.0.tgz", - "integrity": "sha512-RX7a8lwgOi7am0k17NUO0+ZmMOX4PpjLtLRgLmT1d3lBYdWH4ssBUbwdmc5pdRX8rXon8v9x8vaoOSpkHfcXGA==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.0.tgz", + "integrity": "sha512-o/UoDT2NgOJ2VfHpfr+KBY2ErWvCySNUIX/X7O9g8Zzt/tXdpfEU43qbNk8LVuWUT2E0ptzTWXh79i74PP0twA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0" + "@typescript-eslint/types": "6.18.0", + "@typescript-eslint/visitor-keys": "6.18.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4131,13 +4131,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.17.0.tgz", - "integrity": "sha512-hDXcWmnbtn4P2B37ka3nil3yi3VCQO2QEB9gBiHJmQp5wmyQWqnjA85+ZcE8c4FqnaB6lBwMrPkgd4aBYz3iNg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.0.tgz", + "integrity": "sha512-ZeMtrXnGmTcHciJN1+u2CigWEEXgy1ufoxtWcHORt5kGvpjjIlK9MUhzHm4RM8iVy6dqSaZA/6PVkX6+r+ChjQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.17.0", - "@typescript-eslint/utils": "6.17.0", + "@typescript-eslint/typescript-estree": "6.18.0", + "@typescript-eslint/utils": "6.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4158,9 +4158,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.17.0.tgz", - "integrity": "sha512-qRKs9tvc3a4RBcL/9PXtKSehI/q8wuU9xYJxe97WFxnzH8NWWtcW3ffNS+EWg8uPvIerhjsEZ+rHtDqOCiH57A==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.0.tgz", + "integrity": "sha512-/RFVIccwkwSdW/1zeMx3hADShWbgBxBnV/qSrex6607isYjj05t36P6LyONgqdUrNLl5TYU8NIKdHUYpFvExkA==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4171,13 +4171,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.17.0.tgz", - "integrity": "sha512-gVQe+SLdNPfjlJn5VNGhlOhrXz4cajwFd5kAgWtZ9dCZf4XJf8xmgCTLIqec7aha3JwgLI2CK6GY1043FRxZwg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.0.tgz", + "integrity": "sha512-klNvl+Ql4NsBNGB4W9TZ2Od03lm7aGvTbs0wYaFYsplVPhr+oeXjlPZCDI4U9jgJIDK38W1FKhacCFzCC+nbIg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/visitor-keys": "6.17.0", + "@typescript-eslint/types": "6.18.0", + "@typescript-eslint/visitor-keys": "6.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4223,17 +4223,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.17.0.tgz", - "integrity": "sha512-LofsSPjN/ITNkzV47hxas2JCsNCEnGhVvocfyOcLzT9c/tSZE7SfhS/iWtzP1lKNOEfLhRTZz6xqI8N2RzweSQ==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.0.tgz", + "integrity": "sha512-wiKKCbUeDPGaYEYQh1S580dGxJ/V9HI7K5sbGAVklyf+o5g3O+adnS4UNJajplF4e7z2q0uVBaTdT/yLb4XAVA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.17.0", - "@typescript-eslint/types": "6.17.0", - "@typescript-eslint/typescript-estree": "6.17.0", + "@typescript-eslint/scope-manager": "6.18.0", + "@typescript-eslint/types": "6.18.0", + "@typescript-eslint/typescript-estree": "6.18.0", "semver": "^7.5.4" }, "engines": { @@ -4248,12 +4248,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.17.0.tgz", - "integrity": "sha512-H6VwB/k3IuIeQOyYczyyKN8wH6ed8EwliaYHLxOIhyF0dYEIsN8+Bk3GE19qafeMKyZJJHP8+O1HiFhFLUNKSg==", + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.0.tgz", + "integrity": "sha512-1wetAlSZpewRDb2h9p/Q8kRjdGuqdTAQbkJIOUMLug2LBLG+QOjiWoSj6/3B/hA9/tVTFFdtiKvAYoYnSRW/RA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.17.0", + "@typescript-eslint/types": "6.18.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 45376d5b7..e3a9337c4 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.10.6", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", + "@typescript-eslint/eslint-plugin": "^6.18.0", + "@typescript-eslint/parser": "^6.18.0", "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 81d6f00c529d3c4f6988012b913130abf33ccec2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jan 2024 14:33:39 +0000 Subject: [PATCH 017/452] chore(deps): update dependency @types/node to ^20.10.7 (#1684) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index ce892ad7b..70b170578 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.6", + "@types/node": "^20.10.7", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.0", @@ -3956,9 +3956,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.10.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.6.tgz", - "integrity": "sha512-Vac8H+NlRNNlAmDfGUP7b5h/KA+AtWIzuXy0E6OyP8f1tCLYAtPvKRRDJjAPqhpCb0t6U2j7/xqAuLEebW2kiw==", + "version": "20.10.7", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.7.tgz", + "integrity": "sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index e3a9337c4..11fec9b92 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.6", + "@types/node": "^20.10.7", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.0", From a347f69088b55b6e74c804ec5b99e474b151538f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 19:54:38 +0000 Subject: [PATCH 018/452] chore(deps): update dependency @types/node to ^20.10.8 (#1686) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 70b170578..e53574088 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.7", + "@types/node": "^20.10.8", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.0", @@ -3956,9 +3956,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.10.7", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.7.tgz", - "integrity": "sha512-fRbIKb8C/Y2lXxB5eVMj4IU7xpdox0Lh8bUPEdtLysaylsml1hOOx1+STloRs/B9nf7C6kPRmmg/V7aQW7usNg==", + "version": "20.10.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.8.tgz", + "integrity": "sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 11fec9b92..863f9a96c 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.7", + "@types/node": "^20.10.8", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.0", From e8f010489fb9587e6e5bfada80150de365bb3c58 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Jan 2024 19:54:43 +0000 Subject: [PATCH 019/452] chore(deps): update typescript-eslint monorepo to ^6.18.1 (#1687) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index e53574088..7567d1e3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.10.8", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.18.0", - "@typescript-eslint/parser": "^6.18.0", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4051,16 +4051,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.0.tgz", - "integrity": "sha512-3lqEvQUdCozi6d1mddWqd+kf8KxmGq2Plzx36BlkjuQe3rSTm/O98cLf0A4uDO+a5N1KD2SeEEl6fW97YHY+6w==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz", + "integrity": "sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.18.0", - "@typescript-eslint/type-utils": "6.18.0", - "@typescript-eslint/utils": "6.18.0", - "@typescript-eslint/visitor-keys": "6.18.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/type-utils": "6.18.1", + "@typescript-eslint/utils": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4086,15 +4086,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.0.tgz", - "integrity": "sha512-v6uR68SFvqhNQT41frCMCQpsP+5vySy6IdgjlzUWoo7ALCnpaWYcz/Ij2k4L8cEsL0wkvOviCMpjmtRtHNOKzA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", + "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.18.0", - "@typescript-eslint/types": "6.18.0", - "@typescript-eslint/typescript-estree": "6.18.0", - "@typescript-eslint/visitor-keys": "6.18.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4" }, "engines": { @@ -4114,13 +4114,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.0.tgz", - "integrity": "sha512-o/UoDT2NgOJ2VfHpfr+KBY2ErWvCySNUIX/X7O9g8Zzt/tXdpfEU43qbNk8LVuWUT2E0ptzTWXh79i74PP0twA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", + "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.0", - "@typescript-eslint/visitor-keys": "6.18.0" + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4131,13 +4131,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.0.tgz", - "integrity": "sha512-ZeMtrXnGmTcHciJN1+u2CigWEEXgy1ufoxtWcHORt5kGvpjjIlK9MUhzHm4RM8iVy6dqSaZA/6PVkX6+r+ChjQ==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz", + "integrity": "sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.18.0", - "@typescript-eslint/utils": "6.18.0", + "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/utils": "6.18.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4158,9 +4158,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.0.tgz", - "integrity": "sha512-/RFVIccwkwSdW/1zeMx3hADShWbgBxBnV/qSrex6607isYjj05t36P6LyONgqdUrNLl5TYU8NIKdHUYpFvExkA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", + "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4171,13 +4171,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.0.tgz", - "integrity": "sha512-klNvl+Ql4NsBNGB4W9TZ2Od03lm7aGvTbs0wYaFYsplVPhr+oeXjlPZCDI4U9jgJIDK38W1FKhacCFzCC+nbIg==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", + "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.0", - "@typescript-eslint/visitor-keys": "6.18.0", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/visitor-keys": "6.18.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4223,17 +4223,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.0.tgz", - "integrity": "sha512-wiKKCbUeDPGaYEYQh1S580dGxJ/V9HI7K5sbGAVklyf+o5g3O+adnS4UNJajplF4e7z2q0uVBaTdT/yLb4XAVA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.1.tgz", + "integrity": "sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.18.0", - "@typescript-eslint/types": "6.18.0", - "@typescript-eslint/typescript-estree": "6.18.0", + "@typescript-eslint/scope-manager": "6.18.1", + "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/typescript-estree": "6.18.1", "semver": "^7.5.4" }, "engines": { @@ -4248,12 +4248,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.18.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.0.tgz", - "integrity": "sha512-1wetAlSZpewRDb2h9p/Q8kRjdGuqdTAQbkJIOUMLug2LBLG+QOjiWoSj6/3B/hA9/tVTFFdtiKvAYoYnSRW/RA==", + "version": "6.18.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", + "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.0", + "@typescript-eslint/types": "6.18.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 863f9a96c..ae20230fe 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.10.8", "@types/sinon": "17.0.2", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.18.0", - "@typescript-eslint/parser": "^6.18.0", + "@typescript-eslint/eslint-plugin": "^6.18.1", + "@typescript-eslint/parser": "^6.18.1", "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From a6db73d4db258956e57116f07cc89173245aecb2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 01:00:28 +0000 Subject: [PATCH 020/452] chore(deps): update dependency eslint-plugin-prettier to v5.1.3 (#1689) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7567d1e3c..9d271212a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -34,7 +34,7 @@ "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-prettier": "5.1.3", "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", @@ -6153,9 +6153,9 @@ } }, "node_modules/eslint-plugin-prettier": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", - "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", + "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", "dev": true, "dependencies": { "prettier-linter-helpers": "^1.0.0", diff --git a/package.json b/package.json index ae20230fe..5ccface82 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "@vitest/coverage-v8": "^1.1.3", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.2", + "eslint-plugin-prettier": "5.1.3", "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", From 3d8b31a1ae19d34f0b75b4de5bde22bea3db9c84 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 12 Jan 2024 01:00:34 +0000 Subject: [PATCH 021/452] chore(deps): update dependency @types/sinon to v17.0.3 (#1688) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9d271212a..6590efb34 100644 --- a/package-lock.json +++ b/package-lock.json @@ -27,7 +27,7 @@ "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", "@types/node": "^20.10.8", - "@types/sinon": "17.0.2", + "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", @@ -4015,9 +4015,9 @@ "dev": true }, "node_modules/@types/sinon": { - "version": "17.0.2", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.2.tgz", - "integrity": "sha512-Zt6heIGsdqERkxctIpvN5Pv3edgBrhoeb3yHyxffd4InN0AX2SVNKSrhdDZKGQICVOxWP/q4DyhpfPNMSrpIiA==", + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", + "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", "dev": true, "dependencies": { "@types/sinonjs__fake-timers": "*" diff --git a/package.json b/package.json index 5ccface82..d33d4c58b 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,7 @@ "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", "@types/node": "^20.10.8", - "@types/sinon": "17.0.2", + "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", From 5fb6d1f8b9d491731dfe2a2ec2a19d3e051a19bf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Jan 2024 04:32:59 +0000 Subject: [PATCH 022/452] chore(deps): update dependency @sentry/cli to ^2.25.0 (#1690) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6590efb34..f9d3eccfb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.24.1", + "@sentry/cli": "^2.25.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.24.1.tgz", - "integrity": "sha512-eXqbKRzychtG8mMfGmqc0DRY677ngHRYa3aVS8f0VVKHK4PPV/ta08ORs0iS73IaasP563r8YEzpYjD74GtSZA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.25.0.tgz", + "integrity": "sha512-N7k3NdiiEyQkQ43hRDAVqMf+Lg3GTWevO+ndg4yZ8Zv+J1jEVD6ZbqNnshSwWOx9qzcWQ+V/8ZgjmNuHbcNRxg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.24.1", - "@sentry/cli-linux-arm": "2.24.1", - "@sentry/cli-linux-arm64": "2.24.1", - "@sentry/cli-linux-i686": "2.24.1", - "@sentry/cli-linux-x64": "2.24.1", - "@sentry/cli-win32-i686": "2.24.1", - "@sentry/cli-win32-x64": "2.24.1" + "@sentry/cli-darwin": "2.25.0", + "@sentry/cli-linux-arm": "2.25.0", + "@sentry/cli-linux-arm64": "2.25.0", + "@sentry/cli-linux-i686": "2.25.0", + "@sentry/cli-linux-x64": "2.25.0", + "@sentry/cli-win32-i686": "2.25.0", + "@sentry/cli-win32-x64": "2.25.0" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.24.1.tgz", - "integrity": "sha512-L6puTcZn5AarTL9YCVCSSCJoMV7opMx5hwwl0+sQGbLO8BChuC2QZl+j4ftEb3WgnFcT5+OODBlu4ocREtG7sQ==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.25.0.tgz", + "integrity": "sha512-OgBioypi9S+cooC4mPj/gYyvjw3oP9TH9ACgzobL0oP9gCpyF36iv044SWHLgeFUb45cPpVZ7f7WeSbufItzCQ==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.24.1.tgz", - "integrity": "sha512-wnOeIl0NzUdSvz7kJKTovksDUwx6TTyV1iBjM19gZGqi+hfNc1bUa1IDGSY0m/T+CpSZiuKL0M36sYet5euDUQ==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.25.0.tgz", + "integrity": "sha512-EZT//Dnajc03juqBTRUlU7x/1R1ODq5w6ZC9zO5tJfURxljUJ/kkAScHpfHiqzhPMNArK0gu7vYrOS4CTA7eBw==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.24.1.tgz", - "integrity": "sha512-47fq/sOZnY8oSnuEurlplHKlcEhCf4Pd3JHmV6N8dYYwPEapoELb3V53BDPhjkj/rwdpJf8T90+LXCQkeF/o+w==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.25.0.tgz", + "integrity": "sha512-GqxP3s0qHBgch3WI1my5P/h4YeEtNEar+jOGTPg66Bt042rUEHIlYuhULriu3v5rLnmlTuQ5i+LGr4Kq5SFW0Q==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.24.1.tgz", - "integrity": "sha512-OjpP1aRV0cwdtcics0hv8tZR6Bl5+1KIc+0habMeMxfTN7FvGmJb3ZTpuhi8OJLDglppQe6KlWzEFi8UgcE42Q==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.25.0.tgz", + "integrity": "sha512-w25QuABMK7FDjlOgpWgJOhQdVQguOhz81DPoeXNWiDLcTHFsYDXxT88exaUQxrLhMNcRrQnS0rDhwd5y0cYh0g==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.24.1.tgz", - "integrity": "sha512-GfryILChjrgSGBrT90ln46qt6UTI1ebevcDPoWArftTQ0n+P4tPFcfA9bCMV16Jsnc59CtjMFlQknLOAWnezgg==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.25.0.tgz", + "integrity": "sha512-7Pr3JZTPWqSeLiG67v/7uR9prpCfNAW2naf/SSZOMg2ZTXSgG+kgXf6/ADI3WP1LtF3GVhexGtJ5eyFVYxfLsQ==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.24.1.tgz", - "integrity": "sha512-COi7b/g3BbJHlJfF7GA0LAw/foyP3rMfDLQid/4fj7a0DqNjwAJRgazXvvtAY7/3XThHVE/sgLH0UmAgYaBBpA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.25.0.tgz", + "integrity": "sha512-AuHBpFB2DZr19KE3g7qejaVmGb0d7E4ZN2cBKX1Vixb+KTi9/bEcRrWaQ2PpqLTVb2Wwglf/VlZgsxOjfhp7Ag==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.24.1", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.24.1.tgz", - "integrity": "sha512-gJxQw9ppRgZecMZ4t7mi5zWTFssVFbO2V35Nq6qk9bwHACa/LjQbyRqSqOg6zil8QruGvH1oQYClFZHlW8EHuA==", + "version": "2.25.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.25.0.tgz", + "integrity": "sha512-EFGg2L4Wm8YNRV/yAy0bmztc2jkkhy0SfaQtxrHW22IRqfl2jXyKcHHmcEjwoYfCvIW+c5I0ftHhjueMuuRcXw==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index d33d4c58b..781fb9c8d 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.24.1", + "@sentry/cli": "^2.25.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From 67ce4b7d71458d9460d123b577d9ba76cb728adb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Jan 2024 04:33:01 +0000 Subject: [PATCH 023/452] chore(deps): update dependency @types/node to ^20.11.0 (#1691) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index f9d3eccfb..b71ff0755 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.8", + "@types/node": "^20.11.0", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", @@ -3956,9 +3956,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.10.8", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.10.8.tgz", - "integrity": "sha512-f8nQs3cLxbAFc00vEU59yf9UyGUftkPaLGfvbVOIDdx2i1b8epBqj2aNGyP19fiyXWvlmZ7qC1XLjAzw/OKIeA==", + "version": "20.11.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", + "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 781fb9c8d..fc9a9cccd 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.10.8", + "@types/node": "^20.11.0", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", From 133f6cbd2bf0d6736ae04cd0eaf955fadc8c2e04 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Jan 2024 10:58:35 +0000 Subject: [PATCH 024/452] fix(deps): update dependency @sentry/profiling-node to ^1.3.5 (#1692) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b71ff0755..25d165ca0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", "@sentry/node": "7.92", - "@sentry/profiling-node": "^1.3.2", + "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.2", "fastify": "^4.25.2", "moment": "^2.30.1", @@ -3295,9 +3295,9 @@ } }, "node_modules/@sentry/profiling-node": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-1.3.2.tgz", - "integrity": "sha512-Dm2FmR0+BYrTm3YSmbCxjeklAsXZecOwWarZQdrCQniPYlxS9GPgWv1P+J78+CrHZ4IpoIvnlRppGPMrJwPXkw==", + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-1.3.5.tgz", + "integrity": "sha512-n2bfEbtLW3WuIMQGyxKJKzBNZOb1JYfMeJQ2WQn/42F++69m+u7T0S3EDGRN0Y//fbt5+r0any+4r3kChRXZkQ==", "hasInstallScript": true, "dependencies": { "detect-libc": "^2.0.2", diff --git a/package.json b/package.json index fc9a9cccd..fb0339d00 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", "@sentry/node": "7.92", - "@sentry/profiling-node": "^1.3.2", + "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.2", "fastify": "^4.25.2", "moment": "^2.30.1", From 6a6fcefd29615a97567daf4ef8dbf1d17c2c7999 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Jan 2024 10:58:40 +0000 Subject: [PATCH 025/452] chore(deps): update vitest monorepo to ^1.2.0 (#1693) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 70 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package-lock.json b/package-lock.json index 25d165ca0..2e7ed2e6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", - "@vitest/coverage-v8": "^1.1.3", + "@vitest/coverage-v8": "^1.2.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -45,7 +45,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.3" + "vitest": "^1.2.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4271,9 +4271,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.1.3.tgz", - "integrity": "sha512-Uput7t3eIcbSTOTQBzGtS+0kah96bX+szW9qQrLeGe3UmgL2Akn8POnyC2lH7XsnREZOds9aCUTxgXf+4HX5RA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.0.tgz", + "integrity": "sha512-YvX8ULTUm1+zkvkl14IqXYGxE1h13OXKPoDsxazARKlp4YLrP28hHEBdplaU7ZTN/Yn6zy6Z3JadWNRJwcmyrQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4298,13 +4298,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.1.3.tgz", - "integrity": "sha512-MnJqsKc1Ko04lksF9XoRJza0bGGwTtqfbyrsYv5on4rcEkdo+QgUdITenBQBUltKzdxW7K3rWh+nXRULwsdaVg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.0.tgz", + "integrity": "sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==", "dev": true, "dependencies": { - "@vitest/spy": "1.1.3", - "@vitest/utils": "1.1.3", + "@vitest/spy": "1.2.0", + "@vitest/utils": "1.2.0", "chai": "^4.3.10" }, "funding": { @@ -4312,12 +4312,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.1.3.tgz", - "integrity": "sha512-Va2XbWMnhSdDEh/OFxyUltgQuuDRxnarK1hW5QNN4URpQrqq6jtt8cfww/pQQ4i0LjoYxh/3bYWvDFlR9tU73g==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.0.tgz", + "integrity": "sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==", "dev": true, "dependencies": { - "@vitest/utils": "1.1.3", + "@vitest/utils": "1.2.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4353,9 +4353,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.1.3.tgz", - "integrity": "sha512-U0r8pRXsLAdxSVAyGNcqOU2H3Z4Y2dAAGGelL50O0QRMdi1WWeYHdrH/QWpN1e8juWfVKsb8B+pyJwTC+4Gy9w==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.0.tgz", + "integrity": "sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4367,9 +4367,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.1.3.tgz", - "integrity": "sha512-Ec0qWyGS5LhATFQtldvChPTAHv08yHIOZfiNcjwRQbFPHpkih0md9KAbs7TfeIfL7OFKoe7B/6ukBTqByubXkQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.0.tgz", + "integrity": "sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4379,9 +4379,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.1.3.tgz", - "integrity": "sha512-Dyt3UMcdElTll2H75vhxfpZu03uFpXRCHxWnzcrFjZxT1kTbq8ALUYIeBgGolo1gldVdI0YSlQRacsqxTwNqwg==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.0.tgz", + "integrity": "sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -11950,9 +11950,9 @@ } }, "node_modules/vite-node": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.1.3.tgz", - "integrity": "sha512-BLSO72YAkIUuNrOx+8uznYICJfTEbvBAmWClY3hpath5+h1mbPS5OMn42lrTxXuyCazVyZoDkSRnju78GiVCqA==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.0.tgz", + "integrity": "sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -12001,16 +12001,16 @@ } }, "node_modules/vitest": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.1.3.tgz", - "integrity": "sha512-2l8om1NOkiA90/Y207PsEvJLYygddsOyr81wLQ20Ra8IlLKbyQncWsGZjnbkyG2KwwuTXLQjEPOJuxGMG8qJBQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.0.tgz", + "integrity": "sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==", "dev": true, "dependencies": { - "@vitest/expect": "1.1.3", - "@vitest/runner": "1.1.3", - "@vitest/snapshot": "1.1.3", - "@vitest/spy": "1.1.3", - "@vitest/utils": "1.1.3", + "@vitest/expect": "1.2.0", + "@vitest/runner": "1.2.0", + "@vitest/snapshot": "1.2.0", + "@vitest/spy": "1.2.0", + "@vitest/utils": "1.2.0", "acorn-walk": "^8.3.1", "cac": "^6.7.14", "chai": "^4.3.10", @@ -12025,7 +12025,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.1", "vite": "^5.0.0", - "vite-node": "1.1.3", + "vite-node": "1.2.0", "why-is-node-running": "^2.2.2" }, "bin": { diff --git a/package.json b/package.json index fb0339d00..1a1f0d1ec 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.18.1", "@typescript-eslint/parser": "^6.18.1", - "@vitest/coverage-v8": "^1.1.3", + "@vitest/coverage-v8": "^1.2.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -63,7 +63,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.3" + "vitest": "^1.2.0" }, "c8": { "all": true, From 206bdccb926584d00b9b6f6950a389cfca4e6d05 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:05:52 +0000 Subject: [PATCH 026/452] chore(deps): update dependency prettier to v3.2.2 (#1694) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2e7ed2e6a..356c4e45a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", - "prettier": "3.1.1", + "prettier": "3.2.2", "prettier-eslint": "16.2.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", @@ -9538,9 +9538,9 @@ } }, "node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", + "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/package.json b/package.json index 1a1f0d1ec..9277fb635 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", - "prettier": "3.1.1", + "prettier": "3.2.2", "prettier-eslint": "16.2.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", From 262749f101e228ec0c795f81c0b18b8b7455c5f3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Jan 2024 16:05:54 +0000 Subject: [PATCH 027/452] fix(deps): update dependency @sentry/node to 7.93 (#1695) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 54 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 356c4e45a..47d73bd0b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.92", + "@sentry/node": "7.93", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.2", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.92.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.92.0.tgz", - "integrity": "sha512-ur55vPcUUUWFUX4eVLNP71ohswK7ZZpleNZw9Y1GfLqyI+0ILQUwjtzqItJrdClvVsdRZJMRmDV40Hp9Lbb9mA==", + "version": "7.93.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.93.0.tgz", + "integrity": "sha512-DjuhmQNywPp+8fxC9dvhGrqgsUb6wI/HQp25lS2Re7VxL1swCasvpkg8EOYP4iBniVQ86QK0uITkOIRc5tdY1w==", "dependencies": { - "@sentry/core": "7.92.0", - "@sentry/types": "7.92.0", - "@sentry/utils": "7.92.0" + "@sentry/core": "7.93.0", + "@sentry/types": "7.93.0", + "@sentry/utils": "7.93.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.92.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.92.0.tgz", - "integrity": "sha512-1Tly7YB2I1byI5xb0Cwrxs56Rhww+6mQ7m9P7rTmdC3/ijOzbEoohtYIUPwcooCEarpbEJe/tAayRx6BrH2UbQ==", + "version": "7.93.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.93.0.tgz", + "integrity": "sha512-vZQSUiDn73n+yu2fEcH+Wpm4GbRmtxmnXnYCPgM6IjnXqkVm3awWAkzrheADblx3kmxrRiOlTXYHw9NTWs56fg==", "dependencies": { - "@sentry/types": "7.92.0", - "@sentry/utils": "7.92.0" + "@sentry/types": "7.93.0", + "@sentry/utils": "7.93.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.92.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.92.0.tgz", - "integrity": "sha512-LZeQL1r6kikEoOzA9K61OmMl32/lK/6PzmFNDH6z7UYwQopCZgVA6IP+CZuln8K2ys5c9hCyF7ICQMysXfpNJA==", - "dependencies": { - "@sentry-internal/tracing": "7.92.0", - "@sentry/core": "7.92.0", - "@sentry/types": "7.92.0", - "@sentry/utils": "7.92.0", + "version": "7.93.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.93.0.tgz", + "integrity": "sha512-nUXPCZQm5Y9Ipv7iWXLNp5dbuyi1VvbJ3RtlwD7utgsNkRYB4ixtKE9w2QU8DZZAjaEF6w2X94OkYH6C932FWw==", + "dependencies": { + "@sentry-internal/tracing": "7.93.0", + "@sentry/core": "7.93.0", + "@sentry/types": "7.93.0", + "@sentry/utils": "7.93.0", "https-proxy-agent": "^5.0.0" }, "engines": { @@ -3314,19 +3314,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.92.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.92.0.tgz", - "integrity": "sha512-APmSOuZuoRGpbPpPeYIbMSplPjiWNLZRQa73QiXuTflW4Tu/ItDlU8hOa2+A6JKVkJCuD2EN6yUrxDGSMyNXeg==", + "version": "7.93.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.93.0.tgz", + "integrity": "sha512-UnzUccNakhFRA/esWBWP+0v7cjNg+RilFBQC03Mv9OEMaZaS29zSbcOGtRzuFOXXLBdbr44BWADqpz3VW0XaNw==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.92.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.92.0.tgz", - "integrity": "sha512-3nEfrQ1z28b/2zgFGANPh5yMVtgwXmrasZxTvKbrAj+KWJpjrJHrIR84r9W277J44NMeZ5RhRW2uoDmuBslPnA==", + "version": "7.93.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.93.0.tgz", + "integrity": "sha512-Iovj7tUnbgSkh/WrAaMrd5UuYjW7AzyzZlFDIUrwidsyIdUficjCG2OIxYzh76H6nYIx9SxewW0R54Q6XoB4uA==", "dependencies": { - "@sentry/types": "7.92.0" + "@sentry/types": "7.93.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index 9277fb635..78abb1640 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.92", + "@sentry/node": "7.93", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.2", "fastify": "^4.25.2", From f21bff42ceb533cd3c6b69726a4f2ddc992502f5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 16 Jan 2024 21:39:20 +0000 Subject: [PATCH 028/452] chore(deps): update typescript-eslint monorepo to ^6.19.0 (#1696) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 47d73bd0b..9a6d81be0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.0", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", "@vitest/coverage-v8": "^1.2.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4051,16 +4051,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.18.1.tgz", - "integrity": "sha512-nISDRYnnIpk7VCFrGcu1rnZfM1Dh9LRHnfgdkjcbi/l7g16VYRri3TjXi9Ir4lOZSw5N/gnV/3H7jIPQ8Q4daA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", + "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.18.1", - "@typescript-eslint/type-utils": "6.18.1", - "@typescript-eslint/utils": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/type-utils": "6.19.0", + "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4086,15 +4086,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.18.1.tgz", - "integrity": "sha512-zct/MdJnVaRRNy9e84XnVtRv9Vf91/qqe+hZJtKanjojud4wAVy/7lXxJmMyX6X6J+xc6c//YEWvpeif8cAhWA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", + "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.18.1", - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/typescript-estree": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4" }, "engines": { @@ -4114,13 +4114,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.18.1.tgz", - "integrity": "sha512-BgdBwXPFmZzaZUuw6wKiHKIovms97a7eTImjkXCZE04TGHysG+0hDQPmygyvgtkoB/aOQwSM/nWv3LzrOIQOBw==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", + "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1" + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4131,13 +4131,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.18.1.tgz", - "integrity": "sha512-wyOSKhuzHeU/5pcRDP2G2Ndci+4g653V43gXTpt4nbyoIOAASkGDA9JIAgbQCdCkcr1MvpSYWzxTz0olCn8+/Q==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", + "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.18.1", - "@typescript-eslint/utils": "6.18.1", + "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/utils": "6.19.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4158,9 +4158,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.18.1.tgz", - "integrity": "sha512-4TuMAe+tc5oA7wwfqMtB0Y5OrREPF1GeJBAjqwgZh1lEMH5PJQgWgHGfYufVB51LtjD+peZylmeyxUXPfENLCw==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", + "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4171,13 +4171,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.18.1.tgz", - "integrity": "sha512-fv9B94UAhywPRhUeeV/v+3SBDvcPiLxRZJw/xZeeGgRLQZ6rLMG+8krrJUyIf6s1ecWTzlsbp0rlw7n9sjufHA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", + "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/visitor-keys": "6.18.1", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/visitor-keys": "6.19.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4223,17 +4223,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.18.1.tgz", - "integrity": "sha512-zZmTuVZvD1wpoceHvoQpOiewmWu3uP9FuTWo8vqpy2ffsmfCE8mklRPi+vmnIYAIk9t/4kOThri2QCDgor+OpQ==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", + "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.18.1", - "@typescript-eslint/types": "6.18.1", - "@typescript-eslint/typescript-estree": "6.18.1", + "@typescript-eslint/scope-manager": "6.19.0", + "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.0", "semver": "^7.5.4" }, "engines": { @@ -4248,12 +4248,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.18.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.18.1.tgz", - "integrity": "sha512-/kvt0C5lRqGoCfsbmm7/CwMqoSkY3zzHLIjdhHZQW3VFrnz7ATecOHR7nb7V+xn4286MBxfnQfQhAmCI0u+bJA==", + "version": "6.19.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", + "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.18.1", + "@typescript-eslint/types": "6.19.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 78abb1640..e296c699b 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.0", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.18.1", - "@typescript-eslint/parser": "^6.18.1", + "@typescript-eslint/eslint-plugin": "^6.19.0", + "@typescript-eslint/parser": "^6.19.0", "@vitest/coverage-v8": "^1.2.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 6bf3db2e4acc2844cd3ae9b514491c8800243dba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Jan 2024 08:03:34 +0000 Subject: [PATCH 029/452] chore(deps): update dependency @types/node to ^20.11.5 (#1697) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 9a6d81be0..7738a0917 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.0", + "@types/node": "^20.11.5", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.0", @@ -3956,9 +3956,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.0.tgz", - "integrity": "sha512-o9bjXmDNcF7GbM4CNQpmi+TutCgap/K3w1JyKgxAjqx41zp9qlIAVFi0IhCNsJcXolEqLWhbFbEeL0PvYm4pcQ==", + "version": "20.11.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", + "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index e296c699b..87ca88f3a 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.0", + "@types/node": "^20.11.5", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.0", From 44aaad7f064098336a94548301abf434c7eaa7e9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:18:33 +0000 Subject: [PATCH 030/452] chore(deps): update dependency prettier to v3.2.4 (#1698) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7738a0917..04c46c8c4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", - "prettier": "3.2.2", + "prettier": "3.2.4", "prettier-eslint": "16.2.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", @@ -9538,9 +9538,9 @@ } }, "node_modules/prettier": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.2.tgz", - "integrity": "sha512-HTByuKZzw7utPiDO523Tt2pLtEyK7OibUD9suEJQrPUCYQqrHr74GGX6VidMrovbf/I50mPqr8j/II6oBAuc5A==", + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/package.json b/package.json index 87ca88f3a..8014eabe6 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "husky": "^8.0.3", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", - "prettier": "3.2.2", + "prettier": "3.2.4", "prettier-eslint": "16.2.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", From 271812696146fbbe625ade9caaf8346885082ae1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Jan 2024 12:18:43 +0000 Subject: [PATCH 031/452] chore(deps): update vitest monorepo to ^1.2.1 (#1699) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 90 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 47 insertions(+), 47 deletions(-) diff --git a/package-lock.json b/package-lock.json index 04c46c8c4..4ae91002c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.0", "@typescript-eslint/parser": "^6.19.0", - "@vitest/coverage-v8": "^1.2.0", + "@vitest/coverage-v8": "^1.2.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -45,7 +45,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.0" + "vitest": "^1.2.1" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4271,9 +4271,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.0.tgz", - "integrity": "sha512-YvX8ULTUm1+zkvkl14IqXYGxE1h13OXKPoDsxazARKlp4YLrP28hHEBdplaU7ZTN/Yn6zy6Z3JadWNRJwcmyrQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", + "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4284,7 +4284,7 @@ "istanbul-lib-source-maps": "^4.0.1", "istanbul-reports": "^3.1.6", "magic-string": "^0.30.5", - "magicast": "^0.3.2", + "magicast": "^0.3.3", "picocolors": "^1.0.0", "std-env": "^3.5.0", "test-exclude": "^6.0.0", @@ -4298,13 +4298,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.0.tgz", - "integrity": "sha512-H+2bHzhyvgp32o7Pgj2h9RTHN0pgYaoi26Oo3mE+dCi1PAqV31kIIVfTbqMO3Bvshd5mIrJLc73EwSRrbol9Lw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", + "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", "dev": true, "dependencies": { - "@vitest/spy": "1.2.0", - "@vitest/utils": "1.2.0", + "@vitest/spy": "1.2.1", + "@vitest/utils": "1.2.1", "chai": "^4.3.10" }, "funding": { @@ -4312,12 +4312,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.0.tgz", - "integrity": "sha512-vaJkDoQaNUTroT70OhM0NPznP7H3WyRwt4LvGwCVYs/llLaqhoSLnlIhUClZpbF5RgAee29KRcNz0FEhYcgxqA==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", + "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", "dev": true, "dependencies": { - "@vitest/utils": "1.2.0", + "@vitest/utils": "1.2.1", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4353,9 +4353,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.0.tgz", - "integrity": "sha512-P33EE7TrVgB3HDLllrjK/GG6WSnmUtWohbwcQqmm7TAk9AVHpdgf7M3F3qRHKm6vhr7x3eGIln7VH052Smo6Kw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", + "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4367,9 +4367,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.0.tgz", - "integrity": "sha512-MNxSAfxUaCeowqyyGwC293yZgk7cECZU9wGb8N1pYQ0yOn/SIr8t0l9XnGRdQZvNV/ZHBYu6GO/W3tj5K3VN1Q==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", + "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4379,9 +4379,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.0.tgz", - "integrity": "sha512-FyD5bpugsXlwVpTcGLDf3wSPYy8g541fQt14qtzo8mJ4LdEpDKZ9mQy2+qdJm2TZRpjY5JLXihXCgIxiRJgi5g==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", + "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -4436,9 +4436,9 @@ } }, "node_modules/acorn-walk": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.1.tgz", - "integrity": "sha512-TgUZgYvqZprrl7YldZNoa9OciCAyZR+Ejm9eXzKCmjsF5IKp/wgQ7Z/ZpjpGTIUPwrHQIcYeI8qDh4PsEwxMbw==", + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "engines": { "node": ">=0.4.0" } @@ -8544,13 +8544,13 @@ } }, "node_modules/magicast": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.2.tgz", - "integrity": "sha512-Fjwkl6a0syt9TFN0JSYpOybxiMCkYNEeOTnOTNRbjphirLakznZXAqrXgj/7GG3D1dvETONNwrBfinvAbpunDg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", "dev": true, "dependencies": { - "@babel/parser": "^7.23.3", - "@babel/types": "^7.23.3", + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", "source-map-js": "^1.0.2" } }, @@ -11950,9 +11950,9 @@ } }, "node_modules/vite-node": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.0.tgz", - "integrity": "sha512-ETnQTHeAbbOxl7/pyBck9oAPZZZo+kYnFt1uQDD+hPReOc+wCjXw4r4jHriBRuVDB5isHmPXxrfc1yJnfBERqg==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", + "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -12001,17 +12001,17 @@ } }, "node_modules/vitest": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.0.tgz", - "integrity": "sha512-Ixs5m7BjqvLHXcibkzKRQUvD/XLw0E3rvqaCMlrm/0LMsA0309ZqYvTlPzkhh81VlEyVZXFlwWnkhb6/UMtcaQ==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", + "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", "dev": true, "dependencies": { - "@vitest/expect": "1.2.0", - "@vitest/runner": "1.2.0", - "@vitest/snapshot": "1.2.0", - "@vitest/spy": "1.2.0", - "@vitest/utils": "1.2.0", - "acorn-walk": "^8.3.1", + "@vitest/expect": "1.2.1", + "@vitest/runner": "1.2.1", + "@vitest/snapshot": "1.2.1", + "@vitest/spy": "1.2.1", + "@vitest/utils": "1.2.1", + "acorn-walk": "^8.3.2", "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", @@ -12025,7 +12025,7 @@ "tinybench": "^2.5.1", "tinypool": "^0.8.1", "vite": "^5.0.0", - "vite-node": "1.2.0", + "vite-node": "1.2.1", "why-is-node-running": "^2.2.2" }, "bin": { diff --git a/package.json b/package.json index 8014eabe6..a4dd9c742 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.0", "@typescript-eslint/parser": "^6.19.0", - "@vitest/coverage-v8": "^1.2.0", + "@vitest/coverage-v8": "^1.2.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -63,7 +63,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.0" + "vitest": "^1.2.1" }, "c8": { "all": true, From 05885b2a84eb82cf2625c50ab2a12c0a2b4f3f35 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Jan 2024 20:11:28 +0000 Subject: [PATCH 032/452] chore(deps): update dependency @sentry/cli to ^2.25.3 (#1701) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4ae91002c..fd7366395 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.25.0", + "@sentry/cli": "^2.25.3", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.25.0.tgz", - "integrity": "sha512-N7k3NdiiEyQkQ43hRDAVqMf+Lg3GTWevO+ndg4yZ8Zv+J1jEVD6ZbqNnshSwWOx9qzcWQ+V/8ZgjmNuHbcNRxg==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.25.3.tgz", + "integrity": "sha512-vcMrzB6iN9H8AvzUPC/2A5n02Yni72ENO63oeOEzW/J/86Gp3+rFifXAWNnvtvZbgQ8x5RFO5HJ3NQ/8iuZcpA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.25.0", - "@sentry/cli-linux-arm": "2.25.0", - "@sentry/cli-linux-arm64": "2.25.0", - "@sentry/cli-linux-i686": "2.25.0", - "@sentry/cli-linux-x64": "2.25.0", - "@sentry/cli-win32-i686": "2.25.0", - "@sentry/cli-win32-x64": "2.25.0" + "@sentry/cli-darwin": "2.25.3", + "@sentry/cli-linux-arm": "2.25.3", + "@sentry/cli-linux-arm64": "2.25.3", + "@sentry/cli-linux-i686": "2.25.3", + "@sentry/cli-linux-x64": "2.25.3", + "@sentry/cli-win32-i686": "2.25.3", + "@sentry/cli-win32-x64": "2.25.3" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.25.0.tgz", - "integrity": "sha512-OgBioypi9S+cooC4mPj/gYyvjw3oP9TH9ACgzobL0oP9gCpyF36iv044SWHLgeFUb45cPpVZ7f7WeSbufItzCQ==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.25.3.tgz", + "integrity": "sha512-WCxYhppax6cljxEHfo+lwS80EKliJDKsO1DwJJ9FCzbaSe6FdlSWY/xndpMkhWnQ2zHRDKMFM66qhLHey5vPKQ==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.25.0.tgz", - "integrity": "sha512-EZT//Dnajc03juqBTRUlU7x/1R1ODq5w6ZC9zO5tJfURxljUJ/kkAScHpfHiqzhPMNArK0gu7vYrOS4CTA7eBw==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.25.3.tgz", + "integrity": "sha512-Ny4Me0/zInX7iDq44fN4bQ0YAAr9OM4SUZqFrDy6FQpcZyG/wvy/jFdZhOj6mhIinyfQ2CESDlzj/2vqFRu+9w==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.25.0.tgz", - "integrity": "sha512-GqxP3s0qHBgch3WI1my5P/h4YeEtNEar+jOGTPg66Bt042rUEHIlYuhULriu3v5rLnmlTuQ5i+LGr4Kq5SFW0Q==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.25.3.tgz", + "integrity": "sha512-TjFC6o7U/YJIygLVKW1WA3qkAUS1eMTxn6RIvkyjowQJAB4CyPAsc8jCk9VGKlsTCYGbG4PnP4Iz7iHlUe+PrQ==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.25.0.tgz", - "integrity": "sha512-w25QuABMK7FDjlOgpWgJOhQdVQguOhz81DPoeXNWiDLcTHFsYDXxT88exaUQxrLhMNcRrQnS0rDhwd5y0cYh0g==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.25.3.tgz", + "integrity": "sha512-mUG+wcz6GWOrH4w7F/1ZVYw1S3B6DfeVEYu93XD+Wmlf8j8pz8ig+m7V7j7O74xU0z0KRB0qt+sYNG8KqeAiuA==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.25.0.tgz", - "integrity": "sha512-7Pr3JZTPWqSeLiG67v/7uR9prpCfNAW2naf/SSZOMg2ZTXSgG+kgXf6/ADI3WP1LtF3GVhexGtJ5eyFVYxfLsQ==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.25.3.tgz", + "integrity": "sha512-aImlQFgILlsrrWS/AztSF72EA63UAx9pofU63K9kR3BwjJ7ZkFM/BPsn5GGkf8TsMqgOp3CmfVynxC15+rCfgQ==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.25.0.tgz", - "integrity": "sha512-AuHBpFB2DZr19KE3g7qejaVmGb0d7E4ZN2cBKX1Vixb+KTi9/bEcRrWaQ2PpqLTVb2Wwglf/VlZgsxOjfhp7Ag==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.25.3.tgz", + "integrity": "sha512-RNMLmuwPVAxH81TsvpHMZaTbIh5JML6YVh8It7017NmeQS1N97kbBmUq6YBZ6twh7EzG64xKRJTHJkaktEBiVg==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.25.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.25.0.tgz", - "integrity": "sha512-EFGg2L4Wm8YNRV/yAy0bmztc2jkkhy0SfaQtxrHW22IRqfl2jXyKcHHmcEjwoYfCvIW+c5I0ftHhjueMuuRcXw==", + "version": "2.25.3", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.25.3.tgz", + "integrity": "sha512-KGIYiW2kbh5VKM82NDll/kc8WDd/sP8W1Pb0NQ6irS46bggoER1AMgWduzSb7qlLRIJp1e4N6yP+z2peB+jWqw==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index a4dd9c742..ffa929a6e 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.25.0", + "@sentry/cli": "^2.25.3", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From 507f1ad1e518fcfe9a0ccb4c00e3b142f1fc738e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Jan 2024 20:11:32 +0000 Subject: [PATCH 033/452] fix(deps): update dependency adminjs to ^7.5.6 (#1702) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index fd7366395..46aeda2eb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.93", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.2", + "adminjs": "^7.5.6", "fastify": "^4.25.2", "moment": "^2.30.1", "pino": "^8.17.2", @@ -4449,9 +4449,9 @@ "license": "MIT" }, "node_modules/adminjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.2.tgz", - "integrity": "sha512-Gx80srhJSkxLp16BrLl+A3EdsOFmT7ewxw0DNWHchLs3MxV5JNgx69u5NtmFPKspAoKo86ouITpO5JzPyKBFPA==", + "version": "7.5.6", + "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.6.tgz", + "integrity": "sha512-RY76v9FgC2niSzUolVhT6zEKPz2McZJLxiQX7oFXNguS3Q7R+vsVOeCZtti1UFXTfo4lm3ZCTfpvXblKNtAOSg==", "dependencies": { "@adminjs/design-system": "^4.0.0", "@babel/core": "^7.21.0", diff --git a/package.json b/package.json index ffa929a6e..9cef361f7 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.93", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.2", + "adminjs": "^7.5.6", "fastify": "^4.25.2", "moment": "^2.30.1", "pino": "^8.17.2", From 7b00ef42783241a4ed6649f9248b44028bf0465e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 00:10:07 +0000 Subject: [PATCH 034/452] fix(deps): update dependency @sentry/node to 7.94 (#1704) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 55 ++++++++++++++++++++++++----------------------- package.json | 2 +- 2 files changed, 29 insertions(+), 28 deletions(-) diff --git a/package-lock.json b/package-lock.json index 46aeda2eb..054aa424b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.93", + "@sentry/node": "7.94", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.6", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.93.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.93.0.tgz", - "integrity": "sha512-DjuhmQNywPp+8fxC9dvhGrqgsUb6wI/HQp25lS2Re7VxL1swCasvpkg8EOYP4iBniVQ86QK0uITkOIRc5tdY1w==", + "version": "7.94.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.94.1.tgz", + "integrity": "sha512-znxCdrz7tPXm9Bwoe46PW72Zr0Iv7bXT6+b2LNg5fxWiCQVBbQFrMuVvtXEmHxeRRJVEgTh/4TdulB7wrtQIUQ==", "dependencies": { - "@sentry/core": "7.93.0", - "@sentry/types": "7.93.0", - "@sentry/utils": "7.93.0" + "@sentry/core": "7.94.1", + "@sentry/types": "7.94.1", + "@sentry/utils": "7.94.1" }, "engines": { "node": ">=8" @@ -3268,27 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.93.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.93.0.tgz", - "integrity": "sha512-vZQSUiDn73n+yu2fEcH+Wpm4GbRmtxmnXnYCPgM6IjnXqkVm3awWAkzrheADblx3kmxrRiOlTXYHw9NTWs56fg==", + "version": "7.94.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.94.1.tgz", + "integrity": "sha512-4sjiMnkbGpv9O98YHVZe7fHNwwdYl+zLoCOoEOadtrJ1EYYvnK/MSixN2HJF7g/0s22xd4xY958QyNIRVR+Iiw==", "dependencies": { - "@sentry/types": "7.93.0", - "@sentry/utils": "7.93.0" + "@sentry/types": "7.94.1", + "@sentry/utils": "7.94.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.93.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.93.0.tgz", - "integrity": "sha512-nUXPCZQm5Y9Ipv7iWXLNp5dbuyi1VvbJ3RtlwD7utgsNkRYB4ixtKE9w2QU8DZZAjaEF6w2X94OkYH6C932FWw==", + "version": "7.94.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.94.1.tgz", + "integrity": "sha512-30nyrfVbY1vNoWg5ptGW+soykU532VvKLuXiKty3SKEXjp5bv23JrCcVtuwp9KrW4josHOJbxZUqeNni85YplQ==", "dependencies": { - "@sentry-internal/tracing": "7.93.0", - "@sentry/core": "7.93.0", - "@sentry/types": "7.93.0", - "@sentry/utils": "7.93.0", - "https-proxy-agent": "^5.0.0" + "@sentry-internal/tracing": "7.94.1", + "@sentry/core": "7.94.1", + "@sentry/types": "7.94.1", + "@sentry/utils": "7.94.1" }, "engines": { "node": ">=8" @@ -3314,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.93.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.93.0.tgz", - "integrity": "sha512-UnzUccNakhFRA/esWBWP+0v7cjNg+RilFBQC03Mv9OEMaZaS29zSbcOGtRzuFOXXLBdbr44BWADqpz3VW0XaNw==", + "version": "7.94.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.94.1.tgz", + "integrity": "sha512-A7CdEXFSgGyWv2BT2p9cAvJfb+dypvOtsY8ZvZvdPLUa7kqCV7ndhURUqKjvMBzsL2GParHn3ehDTl2eVc7pvA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.93.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.93.0.tgz", - "integrity": "sha512-Iovj7tUnbgSkh/WrAaMrd5UuYjW7AzyzZlFDIUrwidsyIdUficjCG2OIxYzh76H6nYIx9SxewW0R54Q6XoB4uA==", + "version": "7.94.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.94.1.tgz", + "integrity": "sha512-gQ2EaMpUU1gGH3S+iqpog9gkXbCo8tlhGYA9a5FUtEtER3D3OAlp8dGFwClwzWDAwzjdLT1+X55zmEptU1cP/A==", "dependencies": { - "@sentry/types": "7.93.0" + "@sentry/types": "7.94.1" }, "engines": { "node": ">=8" @@ -4505,6 +4504,7 @@ }, "node_modules/agent-base": { "version": "6.0.2", + "dev": true, "license": "MIT", "dependencies": { "debug": "4" @@ -7267,6 +7267,7 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "dev": true, "license": "MIT", "dependencies": { "agent-base": "6", diff --git a/package.json b/package.json index 9cef361f7..8540c8fdb 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.93", + "@sentry/node": "7.94", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.6", "fastify": "^4.25.2", From 3be6d205dbfb120a0e719d57085eff966a58a2bc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Jan 2024 00:10:13 +0000 Subject: [PATCH 035/452] chore(deps): update dependency prettier-eslint to v16.3.0 (#1703) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 20 ++++++++++++++++---- package.json | 2 +- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 054aa424b..569daaeea 100644 --- a/package-lock.json +++ b/package-lock.json @@ -39,7 +39,7 @@ "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", - "prettier-eslint": "16.2.0", + "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", "tsx": "4.7.0", @@ -9554,9 +9554,9 @@ } }, "node_modules/prettier-eslint": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz", - "integrity": "sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==", + "version": "16.3.0", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.3.0.tgz", + "integrity": "sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg==", "dev": true, "dependencies": { "@typescript-eslint/parser": "^6.7.5", @@ -9574,6 +9574,18 @@ }, "engines": { "node": ">=16.10.0" + }, + "peerDependencies": { + "prettier-plugin-svelte": "^3.0.0", + "svelte-eslint-parser": "*" + }, + "peerDependenciesMeta": { + "prettier-plugin-svelte": { + "optional": true + }, + "svelte-eslint-parser": { + "optional": true + } } }, "node_modules/prettier-linter-helpers": { diff --git a/package.json b/package.json index 8540c8fdb..0d42e0054 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", - "prettier-eslint": "16.2.0", + "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", "tsx": "4.7.0", From 59bafa7771c5ab09c54fcc9b1c5f09a9d33fddaa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Jan 2024 17:01:24 +0000 Subject: [PATCH 036/452] chore(deps): update dependency @sentry/cli to ^2.26.0 (#1705) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 569daaeea..8d0118e85 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.25.3", + "@sentry/cli": "^2.26.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.25.3.tgz", - "integrity": "sha512-vcMrzB6iN9H8AvzUPC/2A5n02Yni72ENO63oeOEzW/J/86Gp3+rFifXAWNnvtvZbgQ8x5RFO5HJ3NQ/8iuZcpA==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.26.0.tgz", + "integrity": "sha512-WRrY9nkjLLUvyo+l8KE0x0Q+0NtCd2U8HYJzh3kyJHyyfKWiSH7ZhExcsb2MoSIjlzbKjjrIJzxhklZABkidDw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.25.3", - "@sentry/cli-linux-arm": "2.25.3", - "@sentry/cli-linux-arm64": "2.25.3", - "@sentry/cli-linux-i686": "2.25.3", - "@sentry/cli-linux-x64": "2.25.3", - "@sentry/cli-win32-i686": "2.25.3", - "@sentry/cli-win32-x64": "2.25.3" + "@sentry/cli-darwin": "2.26.0", + "@sentry/cli-linux-arm": "2.26.0", + "@sentry/cli-linux-arm64": "2.26.0", + "@sentry/cli-linux-i686": "2.26.0", + "@sentry/cli-linux-x64": "2.26.0", + "@sentry/cli-win32-i686": "2.26.0", + "@sentry/cli-win32-x64": "2.26.0" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.25.3.tgz", - "integrity": "sha512-WCxYhppax6cljxEHfo+lwS80EKliJDKsO1DwJJ9FCzbaSe6FdlSWY/xndpMkhWnQ2zHRDKMFM66qhLHey5vPKQ==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.26.0.tgz", + "integrity": "sha512-SJ4ts9VELoLdOx1g034Tv2nGqhjutBYNAI3WMsjBaQG3tqNPJkQJKGrOqfpL6kTdO2tqQIAYeVw60yqWuHU3FA==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.25.3.tgz", - "integrity": "sha512-Ny4Me0/zInX7iDq44fN4bQ0YAAr9OM4SUZqFrDy6FQpcZyG/wvy/jFdZhOj6mhIinyfQ2CESDlzj/2vqFRu+9w==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.26.0.tgz", + "integrity": "sha512-qNqKLf3eGowhm+4gg47jGLfova5SLgC0wvWX181U+w94oVGp4onuSjbqpy7wbSA9nsfTXllMhEFI5jA4CMmZVw==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.25.3.tgz", - "integrity": "sha512-TjFC6o7U/YJIygLVKW1WA3qkAUS1eMTxn6RIvkyjowQJAB4CyPAsc8jCk9VGKlsTCYGbG4PnP4Iz7iHlUe+PrQ==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.26.0.tgz", + "integrity": "sha512-tAsK5pWrLyU+zqoW0uwylfLB7udOV8FtU8xqcfMsYGxt44zviiuxzKeDnaUdHsZcvk03aTAyf1Dxqn0u32A0MA==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.25.3.tgz", - "integrity": "sha512-mUG+wcz6GWOrH4w7F/1ZVYw1S3B6DfeVEYu93XD+Wmlf8j8pz8ig+m7V7j7O74xU0z0KRB0qt+sYNG8KqeAiuA==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.26.0.tgz", + "integrity": "sha512-+dSFR9rK6o6F0gBxoU0mrHw18qVgF1t27Y0jvdItMtDuCuduBuXTffmsbBwbPFWBgWuLPG+ojB1LuoBt5qVMng==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.25.3.tgz", - "integrity": "sha512-aImlQFgILlsrrWS/AztSF72EA63UAx9pofU63K9kR3BwjJ7ZkFM/BPsn5GGkf8TsMqgOp3CmfVynxC15+rCfgQ==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.26.0.tgz", + "integrity": "sha512-oY86ECWVQuk434K+enUVZnn28T8qxjJTpxN079xvz7SIWOxQ609tMva91Ywo0gExcu07AZ0pg71XFsEQ9WhZgA==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.25.3.tgz", - "integrity": "sha512-RNMLmuwPVAxH81TsvpHMZaTbIh5JML6YVh8It7017NmeQS1N97kbBmUq6YBZ6twh7EzG64xKRJTHJkaktEBiVg==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.26.0.tgz", + "integrity": "sha512-vLju9NFl4venKEVpuFJpxaCwa2NdG6C9mhYNqxRvZAPrXWMdMd697qBDOMepAPT7CI8EWiyXUwMli0WjGXGMeQ==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.25.3", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.25.3.tgz", - "integrity": "sha512-KGIYiW2kbh5VKM82NDll/kc8WDd/sP8W1Pb0NQ6irS46bggoER1AMgWduzSb7qlLRIJp1e4N6yP+z2peB+jWqw==", + "version": "2.26.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.26.0.tgz", + "integrity": "sha512-r3ZaxdHGC6OyJhOxO5ADzAitpGcgT/PkqQzOzKXBOebHj5jzwY27JWjdNhpT6sJZDII13HxqwISRedVWftZgRw==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 0d42e0054..1d0c451f0 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.25.3", + "@sentry/cli": "^2.26.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From af3bb621d7e204550d7050d5c0b65330298a5eba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:50:14 +0000 Subject: [PATCH 037/452] chore(deps): update typescript-eslint monorepo to ^6.19.1 (#1706) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d0118e85..df491bbfa 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.5", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", "@vitest/coverage-v8": "^1.2.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4050,16 +4050,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.0.tgz", - "integrity": "sha512-DUCUkQNklCQYnrBSSikjVChdc84/vMPDQSgJTHBZ64G9bA9w0Crc0rd2diujKbTdp6w2J47qkeHQLoi0rpLCdg==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", + "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/type-utils": "6.19.0", - "@typescript-eslint/utils": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/type-utils": "6.19.1", + "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4085,15 +4085,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.0.tgz", - "integrity": "sha512-1DyBLG5SH7PYCd00QlroiW60YJ4rWMuUGa/JBV0iZuqi4l4IK3twKPq5ZkEebmGqRjXWVgsUzfd3+nZveewgow==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", + "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4" }, "engines": { @@ -4113,13 +4113,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.0.tgz", - "integrity": "sha512-dO1XMhV2ehBI6QN8Ufi7I10wmUovmLU0Oru3n5LVlM2JuzB4M+dVphCPLkVpKvGij2j/pHBWuJ9piuXx+BhzxQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", + "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0" + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4130,13 +4130,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.0.tgz", - "integrity": "sha512-mcvS6WSWbjiSxKCwBcXtOM5pRkPQ6kcDds/juxcy/727IQr3xMEcwr/YLHW2A2+Fp5ql6khjbKBzOyjuPqGi/w==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", + "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.0", - "@typescript-eslint/utils": "6.19.0", + "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/utils": "6.19.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4157,9 +4157,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.0.tgz", - "integrity": "sha512-lFviGV/vYhOy3m8BJ/nAKoAyNhInTdXpftonhWle66XHAtT1ouBlkjL496b5H5hb8dWXHwtypTqgtb/DEa+j5A==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", + "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4170,13 +4170,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.0.tgz", - "integrity": "sha512-o/zefXIbbLBZ8YJ51NlkSAt2BamrK6XOmuxSR3hynMIzzyMY33KuJ9vuMdFSXW+H0tVvdF9qBPTHA91HDb4BIQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", + "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/visitor-keys": "6.19.0", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/visitor-keys": "6.19.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4222,17 +4222,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.0.tgz", - "integrity": "sha512-QR41YXySiuN++/dC9UArYOg4X86OAYP83OWTewpVx5ct1IZhjjgTLocj7QNxGhWoTqknsgpl7L+hGygCO+sdYw==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", + "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.0", - "@typescript-eslint/types": "6.19.0", - "@typescript-eslint/typescript-estree": "6.19.0", + "@typescript-eslint/scope-manager": "6.19.1", + "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/typescript-estree": "6.19.1", "semver": "^7.5.4" }, "engines": { @@ -4247,12 +4247,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.0.tgz", - "integrity": "sha512-hZaUCORLgubBvtGpp1JEFEazcuEdfxta9j4iUwdSAr7mEsYYAp3EAUyCZk3VEEqGj6W+AV4uWyrDGtrlawAsgQ==", + "version": "6.19.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", + "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.0", + "@typescript-eslint/types": "6.19.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 1d0c451f0..e39e4f5cc 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.5", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.19.0", - "@typescript-eslint/parser": "^6.19.0", + "@typescript-eslint/eslint-plugin": "^6.19.1", + "@typescript-eslint/parser": "^6.19.1", "@vitest/coverage-v8": "^1.2.1", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 5b58fa62b89cd1f14a080b3deb5da4cfd59421ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:50:17 +0000 Subject: [PATCH 038/452] fix(deps): update dependency @sentry/node to 7.95 (#1707) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 52 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index df491bbfa..2742b5698 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.94", + "@sentry/node": "7.95", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.6", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.94.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.94.1.tgz", - "integrity": "sha512-znxCdrz7tPXm9Bwoe46PW72Zr0Iv7bXT6+b2LNg5fxWiCQVBbQFrMuVvtXEmHxeRRJVEgTh/4TdulB7wrtQIUQ==", + "version": "7.95.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.95.0.tgz", + "integrity": "sha512-YKiLPMnEgTsTh7u/W1Zep9HtV1rJqAetqJ4ekaIxyUUB6ppi6V00MacSjb01o++fwlNNDYFxNpJlgQqNPqsCNA==", "dependencies": { - "@sentry/core": "7.94.1", - "@sentry/types": "7.94.1", - "@sentry/utils": "7.94.1" + "@sentry/core": "7.95.0", + "@sentry/types": "7.95.0", + "@sentry/utils": "7.95.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.94.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.94.1.tgz", - "integrity": "sha512-4sjiMnkbGpv9O98YHVZe7fHNwwdYl+zLoCOoEOadtrJ1EYYvnK/MSixN2HJF7g/0s22xd4xY958QyNIRVR+Iiw==", + "version": "7.95.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.95.0.tgz", + "integrity": "sha512-z+ffO6jK/ZUxnRbBGmnj5sOouKZ4mvRY0KJa33kbyqcmeiJKrN81M7Ecj1IJUCamo/6RqX0GCwDDxgUPZZZBwA==", "dependencies": { - "@sentry/types": "7.94.1", - "@sentry/utils": "7.94.1" + "@sentry/types": "7.95.0", + "@sentry/utils": "7.95.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.94.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.94.1.tgz", - "integrity": "sha512-30nyrfVbY1vNoWg5ptGW+soykU532VvKLuXiKty3SKEXjp5bv23JrCcVtuwp9KrW4josHOJbxZUqeNni85YplQ==", + "version": "7.95.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.95.0.tgz", + "integrity": "sha512-3fbN+4ajPly9rhbuJtuZ+o2FGmka8Y7A3T/ooHuhCGoWegKtn3OzaOIrdwcYoBIy1fO6SuldTi/P72Y7wgIPtw==", "dependencies": { - "@sentry-internal/tracing": "7.94.1", - "@sentry/core": "7.94.1", - "@sentry/types": "7.94.1", - "@sentry/utils": "7.94.1" + "@sentry-internal/tracing": "7.95.0", + "@sentry/core": "7.95.0", + "@sentry/types": "7.95.0", + "@sentry/utils": "7.95.0" }, "engines": { "node": ">=8" @@ -3313,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.94.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.94.1.tgz", - "integrity": "sha512-A7CdEXFSgGyWv2BT2p9cAvJfb+dypvOtsY8ZvZvdPLUa7kqCV7ndhURUqKjvMBzsL2GParHn3ehDTl2eVc7pvA==", + "version": "7.95.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.95.0.tgz", + "integrity": "sha512-ouU7NsEcrwmcnXHMNBGmKZEmKMzmgPGoBydZn1gukCI67Ci71fAYpPNrbtmjai6+jtsY21o45rVLqExru2sdfw==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.94.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.94.1.tgz", - "integrity": "sha512-gQ2EaMpUU1gGH3S+iqpog9gkXbCo8tlhGYA9a5FUtEtER3D3OAlp8dGFwClwzWDAwzjdLT1+X55zmEptU1cP/A==", + "version": "7.95.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.95.0.tgz", + "integrity": "sha512-0zget8AOaQWLIEA9cTx/qiQQYpx2x0UfnaW5xRmQg12QGTSngo/cUm9O04zuHw5gpBBGG0ocMDHxwwr+UCCBiw==", "dependencies": { - "@sentry/types": "7.94.1" + "@sentry/types": "7.95.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index e39e4f5cc..5276ae2ed 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.94", + "@sentry/node": "7.95", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.6", "fastify": "^4.25.2", From 921bdb3f0dec905dd60f30d5409c0a2c96687505 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 02:42:51 +0000 Subject: [PATCH 039/452] chore(deps): update dependency @types/node to ^20.11.6 (#1708) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2742b5698..634b28bf9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.5", + "@types/node": "^20.11.6", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", @@ -3955,9 +3955,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz", - "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==", + "version": "20.11.6", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz", + "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 5276ae2ed..23205176d 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.5", + "@types/node": "^20.11.6", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", From a46c3890d69798a497befa7da67688d674f6b407 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 26 Jan 2024 02:42:55 +0000 Subject: [PATCH 040/452] fix(deps): update dependency adminjs to ^7.5.9 (#1709) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 634b28bf9..6aa1677e5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.95", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.6", + "adminjs": "^7.5.9", "fastify": "^4.25.2", "moment": "^2.30.1", "pino": "^8.17.2", @@ -4448,9 +4448,9 @@ "license": "MIT" }, "node_modules/adminjs": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.6.tgz", - "integrity": "sha512-RY76v9FgC2niSzUolVhT6zEKPz2McZJLxiQX7oFXNguS3Q7R+vsVOeCZtti1UFXTfo4lm3ZCTfpvXblKNtAOSg==", + "version": "7.5.9", + "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.9.tgz", + "integrity": "sha512-earnH/QZ0mu1Az+5Q2bLaTXw3dhxU8+ttNtrZGn9S2N/VHulJegJXh46hh7WqrZ9ApxHoJArgFiZSNCtbj0jVg==", "dependencies": { "@adminjs/design-system": "^4.0.0", "@babel/core": "^7.21.0", diff --git a/package.json b/package.json index 23205176d..b979a50d7 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.95", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.6", + "adminjs": "^7.5.9", "fastify": "^4.25.2", "moment": "^2.30.1", "pino": "^8.17.2", From 583f8eb92a53a898f3d65d347cd0e98923568b67 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jan 2024 08:51:37 +0000 Subject: [PATCH 041/452] fix(deps): update dependency @sentry/node to 7.98 (#1710) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 52 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6aa1677e5..4084d6305 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.95", + "@sentry/node": "7.98", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.95.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.95.0.tgz", - "integrity": "sha512-YKiLPMnEgTsTh7u/W1Zep9HtV1rJqAetqJ4ekaIxyUUB6ppi6V00MacSjb01o++fwlNNDYFxNpJlgQqNPqsCNA==", + "version": "7.98.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.98.0.tgz", + "integrity": "sha512-FnhD2uMLIAJvv4XsYPv3qsTTtxrImyLxiZacudJyaWFhxoeVQ8bKKbWJ/Ar68FAwqTtjXMeY5evnEBbRMcQlaA==", "dependencies": { - "@sentry/core": "7.95.0", - "@sentry/types": "7.95.0", - "@sentry/utils": "7.95.0" + "@sentry/core": "7.98.0", + "@sentry/types": "7.98.0", + "@sentry/utils": "7.98.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.95.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.95.0.tgz", - "integrity": "sha512-z+ffO6jK/ZUxnRbBGmnj5sOouKZ4mvRY0KJa33kbyqcmeiJKrN81M7Ecj1IJUCamo/6RqX0GCwDDxgUPZZZBwA==", + "version": "7.98.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.98.0.tgz", + "integrity": "sha512-baRUcpCNGyk7cApQHMfqEZJkXdvAKK+z/dVWiMqWc5T5uhzMnPE8/gjP1JZsMtJSQ8g5nHimBdI5TwOyZtxPaA==", "dependencies": { - "@sentry/types": "7.95.0", - "@sentry/utils": "7.95.0" + "@sentry/types": "7.98.0", + "@sentry/utils": "7.98.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.95.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.95.0.tgz", - "integrity": "sha512-3fbN+4ajPly9rhbuJtuZ+o2FGmka8Y7A3T/ooHuhCGoWegKtn3OzaOIrdwcYoBIy1fO6SuldTi/P72Y7wgIPtw==", + "version": "7.98.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.98.0.tgz", + "integrity": "sha512-9cHW217DnU9wC4iR+QxmY3q59N1Touh23hPMDtpMRmbRHSgrmLMoHTVPhK9zHsXRs0mUeidmMqY1ubAWauQByw==", "dependencies": { - "@sentry-internal/tracing": "7.95.0", - "@sentry/core": "7.95.0", - "@sentry/types": "7.95.0", - "@sentry/utils": "7.95.0" + "@sentry-internal/tracing": "7.98.0", + "@sentry/core": "7.98.0", + "@sentry/types": "7.98.0", + "@sentry/utils": "7.98.0" }, "engines": { "node": ">=8" @@ -3313,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.95.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.95.0.tgz", - "integrity": "sha512-ouU7NsEcrwmcnXHMNBGmKZEmKMzmgPGoBydZn1gukCI67Ci71fAYpPNrbtmjai6+jtsY21o45rVLqExru2sdfw==", + "version": "7.98.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.98.0.tgz", + "integrity": "sha512-pc034ziM0VTETue4bfBcBqTWGy4w0okidtoZJjGVrYAfE95ObZnUGVj/XYIQ3FeCYWIa7NFN2MvdsCS0buwivQ==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.95.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.95.0.tgz", - "integrity": "sha512-0zget8AOaQWLIEA9cTx/qiQQYpx2x0UfnaW5xRmQg12QGTSngo/cUm9O04zuHw5gpBBGG0ocMDHxwwr+UCCBiw==", + "version": "7.98.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.98.0.tgz", + "integrity": "sha512-0/LY+kpHxItVRY0xPDXPXVsKRb95cXsGSQf8sVMtfSjz++0bLL1U4k7PFz1c5s2/Vk0B8hS6duRrgMv6dMIZDw==", "dependencies": { - "@sentry/types": "7.95.0" + "@sentry/types": "7.98.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index b979a50d7..96acbe23a 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.95", + "@sentry/node": "7.98", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.25.2", From aabf9c0025bb8bebdaebab7244989ac67891d2c6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 27 Jan 2024 08:51:44 +0000 Subject: [PATCH 042/452] chore(deps): update dependency husky to v9 (#1711) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 11 ++++++----- package.json | 2 +- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index 4084d6305..96ea929ac 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^8.0.3", + "husky": "^9.0.6", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", @@ -7286,14 +7286,15 @@ } }, "node_modules/husky": { - "version": "8.0.3", + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.6.tgz", + "integrity": "sha512-EEuw/rfTiMjOfuL7pGO/i9otg1u36TXxqjIA6D9qxVjd/UXoDOsLor/BSFf5hTK50shwzCU3aVVwdXDp/lp7RA==", "dev": true, - "license": "MIT", "bin": { - "husky": "lib/bin.js" + "husky": "bin.js" }, "engines": { - "node": ">=14" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/typicode" diff --git a/package.json b/package.json index 96acbe23a..470087eac 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^8.0.3", + "husky": "^9.0.6", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", From 00da3cf3026fc2864a30b9e191b046dc1412aac5 Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Sat, 27 Jan 2024 10:15:13 -0500 Subject: [PATCH 043/452] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5fa6a4661..9510d601f 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -[![StandWithPalestine](https://raw.githubusercontent.com/karim-eg/StandWithPalestine/main/assets/palestine_banner.svg)](https://github.com/karim-eg/StandWithPalestine/blob/main/Donate.md) +🍉 # mcos From 3d91156450a03c6ba7e6b04f34fe88493abd0e28 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 28 Jan 2024 17:25:02 +0000 Subject: [PATCH 044/452] chore(deps): update vitest monorepo to ^1.2.2 (#1712) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 78 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 41 insertions(+), 41 deletions(-) diff --git a/package-lock.json b/package-lock.json index 96ea929ac..2d07a7cbf 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", "@typescript-eslint/parser": "^6.19.1", - "@vitest/coverage-v8": "^1.2.1", + "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -45,7 +45,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.1" + "vitest": "^1.2.2" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4270,9 +4270,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.1.tgz", - "integrity": "sha512-fJEhKaDwGMZtJUX7BRcGxooGwg1Hl0qt53mVup/ZJeznhvL5EodteVnb/mcByhEcvVWbK83ZF31c7nPEDi4LOQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.2.tgz", + "integrity": "sha512-IHyKnDz18SFclIEEAHb9Y4Uxx0sPKC2VO1kdDCs1BF6Ip4S8rQprs971zIsooLUn7Afs71GRxWMWpkCGZpRMhw==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4297,13 +4297,13 @@ } }, "node_modules/@vitest/expect": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.1.tgz", - "integrity": "sha512-/bqGXcHfyKgFWYwIgFr1QYDaR9e64pRKxgBNWNXPefPFRhgm+K3+a/dS0cUGEreWngets3dlr8w8SBRw2fCfFQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz", + "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==", "dev": true, "dependencies": { - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "chai": "^4.3.10" }, "funding": { @@ -4311,12 +4311,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.1.tgz", - "integrity": "sha512-zc2dP5LQpzNzbpaBt7OeYAvmIsRS1KpZQw4G3WM/yqSV1cQKNKwLGmnm79GyZZjMhQGlRcSFMImLjZaUQvNVZQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz", + "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==", "dev": true, "dependencies": { - "@vitest/utils": "1.2.1", + "@vitest/utils": "1.2.2", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4352,9 +4352,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.1.tgz", - "integrity": "sha512-Tmp/IcYEemKaqAYCS08sh0vORLJkMr0NRV76Gl8sHGxXT5151cITJCET20063wk0Yr/1koQ6dnmP6eEqezmd/Q==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz", + "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4366,9 +4366,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.1.tgz", - "integrity": "sha512-vG3a/b7INKH7L49Lbp0IWrG6sw9j4waWAucwnksPB1r1FTJgV7nkBByd9ufzu6VWya/QTvQW4V9FShZbZIB2UQ==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz", + "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4378,9 +4378,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-bsH6WVZYe/J2v3+81M5LDU8kW76xWObKIURpPrOXm2pjBniBu2MERI/XP60GpS4PHU3jyK50LUutOwrx4CyHUg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz", + "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -11486,9 +11486,9 @@ "dev": true }, "node_modules/tinypool": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.1.tgz", - "integrity": "sha512-zBTCK0cCgRROxvs9c0CGK838sPkeokNGdQVUUwHAbynHFlmyJYj825f/oRs528HaIJ97lo0pLIlDUzwN+IorWg==", + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true, "engines": { "node": ">=14.0.0" @@ -11964,9 +11964,9 @@ } }, "node_modules/vite-node": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.1.tgz", - "integrity": "sha512-fNzHmQUSOY+y30naohBvSW7pPn/xn3Ib/uqm+5wAJQJiqQsU0NBR78XdRJb04l4bOFKjpTWld0XAfkKlrDbySg==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz", + "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -12015,16 +12015,16 @@ } }, "node_modules/vitest": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.1.tgz", - "integrity": "sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==", + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz", + "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==", "dev": true, "dependencies": { - "@vitest/expect": "1.2.1", - "@vitest/runner": "1.2.1", - "@vitest/snapshot": "1.2.1", - "@vitest/spy": "1.2.1", - "@vitest/utils": "1.2.1", + "@vitest/expect": "1.2.2", + "@vitest/runner": "1.2.2", + "@vitest/snapshot": "1.2.2", + "@vitest/spy": "1.2.2", + "@vitest/utils": "1.2.2", "acorn-walk": "^8.3.2", "cac": "^6.7.14", "chai": "^4.3.10", @@ -12037,9 +12037,9 @@ "std-env": "^3.5.0", "strip-literal": "^1.3.0", "tinybench": "^2.5.1", - "tinypool": "^0.8.1", + "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.2.1", + "vite-node": "1.2.2", "why-is-node-running": "^2.2.2" }, "bin": { diff --git a/package.json b/package.json index 470087eac..38dd6c501 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", "@typescript-eslint/parser": "^6.19.1", - "@vitest/coverage-v8": "^1.2.1", + "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -63,7 +63,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.1" + "vitest": "^1.2.2" }, "c8": { "all": true, From 6bbd3614ab1823d470082bd6bb03d7121d538d81 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 29 Jan 2024 22:09:35 +0000 Subject: [PATCH 045/452] chore(deps): update dependency @types/node to ^20.11.10 (#1713) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2d07a7cbf..3e2a16268 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.6", + "@types/node": "^20.11.10", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", @@ -3955,9 +3955,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.6", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.6.tgz", - "integrity": "sha512-+EOokTnksGVgip2PbYbr3xnR7kZigh4LbybAfBAw5BpnQ+FqBYUsvCEjYd70IXKlbohQ64mzEYmMtlWUY8q//Q==", + "version": "20.11.10", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", + "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 38dd6c501..325a81b1f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.6", + "@types/node": "^20.11.10", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.19.1", From 3bc589b6fe899a2478d6cec47405b95dde35e0df Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Tue, 30 Jan 2024 11:58:41 -0500 Subject: [PATCH 046/452] Merge pull request #1714 from drazisil/drazisil-patch-1 Update to v4 (cherry picked from commit 4e118855d6ce95e4490e6d01dcd9c5945368252a) --- .github/workflows/node.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 3659ebfb1..494a14698 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -18,7 +18,7 @@ jobs: node-version: [18.x, 20.x, 21.x] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} @@ -46,7 +46,7 @@ jobs: codecovcli --verbose do-upload --fail-on-error --flag transactions --name transactions-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag core --name core-${{ matrix.node-version }} - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 with: name: coverage_${{ matrix.node-version }} path: coverage From 12e9550e6809c17ef7b70b46b2200731ccb62b8e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 23:14:14 +0000 Subject: [PATCH 047/452] chore(deps): update dependency husky to ^9.0.7 (#1717) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 3e2a16268..ba27a692a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.6", + "husky": "^9.0.7", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", @@ -7286,9 +7286,9 @@ } }, "node_modules/husky": { - "version": "9.0.6", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.6.tgz", - "integrity": "sha512-EEuw/rfTiMjOfuL7pGO/i9otg1u36TXxqjIA6D9qxVjd/UXoDOsLor/BSFf5hTK50shwzCU3aVVwdXDp/lp7RA==", + "version": "9.0.7", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.7.tgz", + "integrity": "sha512-vWdusw+y12DUEeoZqW1kplOFqk3tedGV8qlga8/SF6a3lOiWLqGZZQvfWvY0fQYdfiRi/u1DFNpudTSV9l1aCg==", "dev": true, "bin": { "husky": "bin.js" diff --git a/package.json b/package.json index 325a81b1f..a9319fb89 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.6", + "husky": "^9.0.7", "jsdoc": "^4.0.2", "lint-staged": "^15.2.0", "prettier": "3.2.4", From 1c54e88029d515eccb43946e201ee7aca9ef4c94 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 31 Jan 2024 23:14:22 +0000 Subject: [PATCH 048/452] chore(deps): update dependency @sentry/cli to ^2.27.0 (#1718) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index ba27a692a..855530411 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.26.0", + "@sentry/cli": "^2.27.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.26.0.tgz", - "integrity": "sha512-WRrY9nkjLLUvyo+l8KE0x0Q+0NtCd2U8HYJzh3kyJHyyfKWiSH7ZhExcsb2MoSIjlzbKjjrIJzxhklZABkidDw==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.27.0.tgz", + "integrity": "sha512-pc0opd71W8lGhYvmB1keQtJkarxzCS9f9ErKYv6TfXOOX6drvwkyA6vD/6xEnpzyvqGAuGRU4T4sEeLD3irwUQ==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.26.0", - "@sentry/cli-linux-arm": "2.26.0", - "@sentry/cli-linux-arm64": "2.26.0", - "@sentry/cli-linux-i686": "2.26.0", - "@sentry/cli-linux-x64": "2.26.0", - "@sentry/cli-win32-i686": "2.26.0", - "@sentry/cli-win32-x64": "2.26.0" + "@sentry/cli-darwin": "2.27.0", + "@sentry/cli-linux-arm": "2.27.0", + "@sentry/cli-linux-arm64": "2.27.0", + "@sentry/cli-linux-i686": "2.27.0", + "@sentry/cli-linux-x64": "2.27.0", + "@sentry/cli-win32-i686": "2.27.0", + "@sentry/cli-win32-x64": "2.27.0" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.26.0.tgz", - "integrity": "sha512-SJ4ts9VELoLdOx1g034Tv2nGqhjutBYNAI3WMsjBaQG3tqNPJkQJKGrOqfpL6kTdO2tqQIAYeVw60yqWuHU3FA==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.27.0.tgz", + "integrity": "sha512-/DOZlN5rK19g7YP2OaVNauQhUrRfJ88RDr6qURFiqdxYHDc3isPFGHZJmeZBTwOnDDepyZb4XLaOyfwvAOxHig==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.26.0.tgz", - "integrity": "sha512-qNqKLf3eGowhm+4gg47jGLfova5SLgC0wvWX181U+w94oVGp4onuSjbqpy7wbSA9nsfTXllMhEFI5jA4CMmZVw==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.27.0.tgz", + "integrity": "sha512-JmMQ9zgFhkZUEN5WIYuJisu4Jif/ThRHDjbsbXBRbUkkgRn88hgUfg299djMvlZZxjpl3K9AEua+1TIUeQd0Sg==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.26.0.tgz", - "integrity": "sha512-tAsK5pWrLyU+zqoW0uwylfLB7udOV8FtU8xqcfMsYGxt44zviiuxzKeDnaUdHsZcvk03aTAyf1Dxqn0u32A0MA==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.27.0.tgz", + "integrity": "sha512-f+zuB9XGfB8pNamNgSDhqsavuLuzi6saZxbr3uQf30bA5AESI5hspOd1zPcidOORCVZxiPzQe3+T7avBI1XLuw==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.26.0.tgz", - "integrity": "sha512-+dSFR9rK6o6F0gBxoU0mrHw18qVgF1t27Y0jvdItMtDuCuduBuXTffmsbBwbPFWBgWuLPG+ojB1LuoBt5qVMng==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.27.0.tgz", + "integrity": "sha512-/4eyz7jnYp20mZqNtpvCEBkxFW0nEjEZRo2BiASQ5/7K8CmoJRe1vhpDA0WOfzi1zTFIfpdE1/RZm2CjHS6DHQ==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.26.0.tgz", - "integrity": "sha512-oY86ECWVQuk434K+enUVZnn28T8qxjJTpxN079xvz7SIWOxQ609tMva91Ywo0gExcu07AZ0pg71XFsEQ9WhZgA==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.27.0.tgz", + "integrity": "sha512-ptu7wXecnYssihzHlxEOaqbFHWmNEfbepBKGXTdWK2kC+D51+7yHsR9xRdThwVID1bisFgjAveKmBQjmKuXjHQ==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.26.0.tgz", - "integrity": "sha512-vLju9NFl4venKEVpuFJpxaCwa2NdG6C9mhYNqxRvZAPrXWMdMd697qBDOMepAPT7CI8EWiyXUwMli0WjGXGMeQ==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.27.0.tgz", + "integrity": "sha512-Db4/xmdE5qV4Aq7Yc8vRw22Y46JJdGMdsMsl5jIf0GVSQPgO23O/2uTiDGpPOdeq91K9EtvpH1zQfDLIfLMaXw==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.26.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.26.0.tgz", - "integrity": "sha512-r3ZaxdHGC6OyJhOxO5ADzAitpGcgT/PkqQzOzKXBOebHj5jzwY27JWjdNhpT6sJZDII13HxqwISRedVWftZgRw==", + "version": "2.27.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.27.0.tgz", + "integrity": "sha512-q7y/BH4iGfs0TD5PXh2Q8oqnTbOIufoT1NWJcKqvZcOiqCLK3PNUiq7xUeX1PMTrFYAh3Bm6EekOnMavqvbGmg==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index a9319fb89..c0d17146c 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.26.0", + "@sentry/cli": "^2.27.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From c8cb81622883a0bea94ef8216e5756e61dbd2d5f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 03:56:17 +0000 Subject: [PATCH 049/452] chore(deps): update dependency lint-staged to ^15.2.1 (#1719) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 855530411..07c18422a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "eslint-plugin-prettier": "5.1.3", "husky": "^9.0.7", "jsdoc": "^4.0.2", - "lint-staged": "^15.2.0", + "lint-staged": "^15.2.1", "prettier": "3.2.4", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", @@ -8014,9 +8014,9 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.0.tgz", - "integrity": "sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==", + "version": "15.2.1", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.1.tgz", + "integrity": "sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==", "dev": true, "dependencies": { "chalk": "5.3.0", @@ -8024,7 +8024,7 @@ "debug": "4.3.4", "execa": "8.0.1", "lilconfig": "3.0.0", - "listr2": "8.0.0", + "listr2": "8.0.1", "micromatch": "4.0.5", "pidtree": "0.6.0", "string-argv": "0.3.2", @@ -8118,9 +8118,9 @@ } }, "node_modules/listr2": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.0.tgz", - "integrity": "sha512-u8cusxAcyqAiQ2RhYvV7kRKNLgUvtObIbhOX2NCXqvp1UU32xIg5CT22ykS2TPKJXZWJwtK3IKLiqAGlGNE+Zg==", + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", + "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", "dev": true, "dependencies": { "cli-truncate": "^4.0.0", diff --git a/package.json b/package.json index c0d17146c..c7b033ece 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "eslint-plugin-prettier": "5.1.3", "husky": "^9.0.7", "jsdoc": "^4.0.2", - "lint-staged": "^15.2.0", + "lint-staged": "^15.2.1", "prettier": "3.2.4", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", From 72cb89340545a0f91de873cb651a50081f827ea1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 2 Feb 2024 03:56:21 +0000 Subject: [PATCH 050/452] chore(deps): update typescript-eslint monorepo to ^6.20.0 (#1720) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07c18422a..926f2d0c1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.10", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", + "@typescript-eslint/eslint-plugin": "^6.20.0", + "@typescript-eslint/parser": "^6.20.0", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4050,16 +4050,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.19.1.tgz", - "integrity": "sha512-roQScUGFruWod9CEyoV5KlCYrubC/fvG8/1zXuT0WTcxX87GnMMmnksMwSg99lo1xiKrBzw2icsJPMAw1OtKxg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", + "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/type-utils": "6.19.1", - "@typescript-eslint/utils": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/type-utils": "6.20.0", + "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4085,15 +4085,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.19.1.tgz", - "integrity": "sha512-WEfX22ziAh6pRE9jnbkkLGp/4RhTpffr2ZK5bJ18M8mIfA8A+k97U9ZyaXCEJRlmMHh7R9MJZWXp/r73DzINVQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", + "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/typescript-estree": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4" }, "engines": { @@ -4113,13 +4113,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.19.1.tgz", - "integrity": "sha512-4CdXYjKf6/6aKNMSly/BP4iCSOpvMmqtDzRtqFyyAae3z5kkqEjKndR5vDHL8rSuMIIWP8u4Mw4VxLyxZW6D5w==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", + "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1" + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4130,13 +4130,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.19.1.tgz", - "integrity": "sha512-0vdyld3ecfxJuddDjACUvlAeYNrHP/pDeQk2pWBR2ESeEzQhg52DF53AbI9QCBkYE23lgkhLCZNkHn2hEXXYIg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", + "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.19.1", - "@typescript-eslint/utils": "6.19.1", + "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/utils": "6.20.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4157,9 +4157,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.19.1.tgz", - "integrity": "sha512-6+bk6FEtBhvfYvpHsDgAL3uo4BfvnTnoge5LrrCj2eJN8g3IJdLTD4B/jK3Q6vo4Ql/Hoip9I8aB6fF+6RfDqg==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", + "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4170,13 +4170,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.19.1.tgz", - "integrity": "sha512-aFdAxuhzBFRWhy+H20nYu19+Km+gFfwNO4TEqyszkMcgBDYQjmPJ61erHxuT2ESJXhlhrO7I5EFIlZ+qGR8oVA==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", + "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/visitor-keys": "6.19.1", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/visitor-keys": "6.20.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4222,17 +4222,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.19.1.tgz", - "integrity": "sha512-JvjfEZuP5WoMqwh9SPAPDSHSg9FBHHGhjPugSRxu5jMfjvBpq5/sGTD+9M9aQ5sh6iJ8AY/Kk/oUYVEMAPwi7w==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", + "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.19.1", - "@typescript-eslint/types": "6.19.1", - "@typescript-eslint/typescript-estree": "6.19.1", + "@typescript-eslint/scope-manager": "6.20.0", + "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/typescript-estree": "6.20.0", "semver": "^7.5.4" }, "engines": { @@ -4247,12 +4247,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.19.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.19.1.tgz", - "integrity": "sha512-gkdtIO+xSO/SmI0W68DBg4u1KElmIUo3vXzgHyGPs6cxgB0sa3TlptRAAE0hUY1hM6FcDKEv7aIwiTGm76cXfQ==", + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", + "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.19.1", + "@typescript-eslint/types": "6.20.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index c7b033ece..8998ab849 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.10", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.19.1", - "@typescript-eslint/parser": "^6.19.1", + "@typescript-eslint/eslint-plugin": "^6.20.0", + "@typescript-eslint/parser": "^6.20.0", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From da02b83c888772ed9399c40837de5856ea7748a4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 07:55:51 +0000 Subject: [PATCH 051/452] chore(deps): update dependency @types/node to ^20.11.16 (#1722) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 926f2d0c1..b81b8bf5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.10", + "@types/node": "^20.11.16", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.20.0", @@ -3955,9 +3955,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.10", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.10.tgz", - "integrity": "sha512-rZEfe/hJSGYmdfX9tvcPMYeYPW2sNl50nsw4jZmRcaG0HIAb0WYEpsB05GOb53vjqpyE9GUhlDQ4jLSoB5q9kg==", + "version": "20.11.16", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", + "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 8998ab849..542b1d4d1 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.10", + "@types/node": "^20.11.16", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.20.0", From 6797ae602fffec57cb54007216df7c390a449a72 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 3 Feb 2024 07:55:59 +0000 Subject: [PATCH 052/452] chore(deps): update dependency husky to ^9.0.10 (#1723) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 10 +++++----- package.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package-lock.json b/package-lock.json index b81b8bf5f..f295b2ea0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.7", + "husky": "^9.0.10", "jsdoc": "^4.0.2", "lint-staged": "^15.2.1", "prettier": "3.2.4", @@ -7286,12 +7286,12 @@ } }, "node_modules/husky": { - "version": "9.0.7", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.7.tgz", - "integrity": "sha512-vWdusw+y12DUEeoZqW1kplOFqk3tedGV8qlga8/SF6a3lOiWLqGZZQvfWvY0fQYdfiRi/u1DFNpudTSV9l1aCg==", + "version": "9.0.10", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.10.tgz", + "integrity": "sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==", "dev": true, "bin": { - "husky": "bin.js" + "husky": "bin.mjs" }, "engines": { "node": ">=18" diff --git a/package.json b/package.json index 542b1d4d1..546d49ea6 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.7", + "husky": "^9.0.10", "jsdoc": "^4.0.2", "lint-staged": "^15.2.1", "prettier": "3.2.4", From ef33a9d8dd7d4d12cf3ed4fa5019130521bf7f98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 4 Feb 2024 11:37:39 +0000 Subject: [PATCH 053/452] fix(deps): update dependency @sentry/node to 7.99 (#1724) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 52 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index f295b2ea0..00b404d75 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.98", + "@sentry/node": "7.99", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.25.2", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.98.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.98.0.tgz", - "integrity": "sha512-FnhD2uMLIAJvv4XsYPv3qsTTtxrImyLxiZacudJyaWFhxoeVQ8bKKbWJ/Ar68FAwqTtjXMeY5evnEBbRMcQlaA==", + "version": "7.99.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.99.0.tgz", + "integrity": "sha512-z3JQhHjoM1KdM20qrHwRClKJrNLr2CcKtCluq7xevLtXHJWNAQQbafnWD+Aoj85EWXBzKt9yJMv2ltcXJ+at+w==", "dependencies": { - "@sentry/core": "7.98.0", - "@sentry/types": "7.98.0", - "@sentry/utils": "7.98.0" + "@sentry/core": "7.99.0", + "@sentry/types": "7.99.0", + "@sentry/utils": "7.99.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.98.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.98.0.tgz", - "integrity": "sha512-baRUcpCNGyk7cApQHMfqEZJkXdvAKK+z/dVWiMqWc5T5uhzMnPE8/gjP1JZsMtJSQ8g5nHimBdI5TwOyZtxPaA==", + "version": "7.99.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.99.0.tgz", + "integrity": "sha512-vOAtzcAXEUtS/oW7wi3wMkZ3hsb5Ch96gKyrrj/mXdOp2zrcwdNV6N9/pawq2E9P/7Pw8AXw4CeDZztZrjQLuA==", "dependencies": { - "@sentry/types": "7.98.0", - "@sentry/utils": "7.98.0" + "@sentry/types": "7.99.0", + "@sentry/utils": "7.99.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.98.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.98.0.tgz", - "integrity": "sha512-9cHW217DnU9wC4iR+QxmY3q59N1Touh23hPMDtpMRmbRHSgrmLMoHTVPhK9zHsXRs0mUeidmMqY1ubAWauQByw==", + "version": "7.99.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.99.0.tgz", + "integrity": "sha512-34wYtLddnPcQ8qvKq62AfxowaMFw+GMUZGv7fIs9FxeBqqqn6Ckl0gFCTADudIIBQ3rSbmN7sHJIXdyiQv+pcw==", "dependencies": { - "@sentry-internal/tracing": "7.98.0", - "@sentry/core": "7.98.0", - "@sentry/types": "7.98.0", - "@sentry/utils": "7.98.0" + "@sentry-internal/tracing": "7.99.0", + "@sentry/core": "7.99.0", + "@sentry/types": "7.99.0", + "@sentry/utils": "7.99.0" }, "engines": { "node": ">=8" @@ -3313,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.98.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.98.0.tgz", - "integrity": "sha512-pc034ziM0VTETue4bfBcBqTWGy4w0okidtoZJjGVrYAfE95ObZnUGVj/XYIQ3FeCYWIa7NFN2MvdsCS0buwivQ==", + "version": "7.99.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.99.0.tgz", + "integrity": "sha512-94qwOw4w40sAs5mCmzcGyj8ZUu/KhnWnuMZARRq96k+SjRW/tHFAOlIdnFSrt3BLPvSOK7R3bVAskZQ0N4FTmA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.98.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.98.0.tgz", - "integrity": "sha512-0/LY+kpHxItVRY0xPDXPXVsKRb95cXsGSQf8sVMtfSjz++0bLL1U4k7PFz1c5s2/Vk0B8hS6duRrgMv6dMIZDw==", + "version": "7.99.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.99.0.tgz", + "integrity": "sha512-cYZy5WNTkWs5GgggGnjfGqC44CWir0pAv4GVVSx0fsup4D4pMKBJPrtub15f9uC+QkUf3vVkqwpBqeFxtmJQTQ==", "dependencies": { - "@sentry/types": "7.98.0" + "@sentry/types": "7.99.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index 546d49ea6..e48cd29ed 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.98", + "@sentry/node": "7.99", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.25.2", From 0aaf22c2ac150d47d1b0173545536654abac3f73 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 4 Feb 2024 11:37:42 +0000 Subject: [PATCH 054/452] fix(deps): update dependency fastify to ^4.26.0 (#1725) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 26 ++++++++++++++++++-------- package.json | 2 +- 2 files changed, 19 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 00b404d75..5cec6dd2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@sentry/node": "7.99", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", - "fastify": "^4.25.2", + "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.17.2", "sequelize": "^6.35.2", @@ -6520,9 +6520,19 @@ "license": "MIT" }, "node_modules/fastify": { - "version": "4.25.2", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.25.2.tgz", - "integrity": "sha512-SywRouGleDHvRh054onj+lEZnbC1sBCLkR0UY3oyJwjD4BdZJUrxBqfkfCaqn74pVCwBaRHGuL3nEWeHbHzAfw==", + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.0.tgz", + "integrity": "sha512-Fq/7ziWKc6pYLYLIlCRaqJqEVTIZ5tZYfcW/mDK2AQ9v/sqjGFpj0On0/7hU50kbPVjLO4de+larPA1WwPZSfw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], "dependencies": { "@fastify/ajv-compiler": "^3.5.0", "@fastify/error": "^3.4.0", @@ -6531,7 +6541,7 @@ "avvio": "^8.2.1", "fast-content-type-parse": "^1.1.0", "fast-json-stringify": "^5.8.0", - "find-my-way": "^7.7.0", + "find-my-way": "^8.0.0", "light-my-request": "^5.11.0", "pino": "^8.17.0", "process-warning": "^3.0.0", @@ -6607,9 +6617,9 @@ } }, "node_modules/find-my-way": { - "version": "7.7.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.7.0.tgz", - "integrity": "sha512-+SrHpvQ52Q6W9f3wJoJBbAQULJuNEEQwBvlvYwACDhBTLOTMiQ0HYWh4+vC3OivGP2ENcTI1oKlFA2OepJNjhQ==", + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz", + "integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-querystring": "^1.0.0", diff --git a/package.json b/package.json index e48cd29ed..3004593cf 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@sentry/node": "7.99", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", - "fastify": "^4.25.2", + "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.17.2", "sequelize": "^6.35.2", From a828a5087efd69a1e388aeb423200984a38ec25f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 17:03:36 +0000 Subject: [PATCH 055/452] chore(deps): update dependency prettier to v3.2.5 (#1726) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 5cec6dd2b..b6bd0fd13 100644 --- a/package-lock.json +++ b/package-lock.json @@ -38,7 +38,7 @@ "husky": "^9.0.10", "jsdoc": "^4.0.2", "lint-staged": "^15.2.1", - "prettier": "3.2.4", + "prettier": "3.2.5", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", @@ -9550,9 +9550,9 @@ } }, "node_modules/prettier": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", + "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" diff --git a/package.json b/package.json index 3004593cf..9e10782cd 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "husky": "^9.0.10", "jsdoc": "^4.0.2", "lint-staged": "^15.2.1", - "prettier": "3.2.4", + "prettier": "3.2.5", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", From d91a6cbab8f26274b527d59bbadcc9aa6730a718 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 5 Feb 2024 17:03:52 +0000 Subject: [PATCH 056/452] fix(deps): update dependency pino to ^8.18.0 (#1727) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b6bd0fd13..b61cc9ab4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "adminjs": "^7.5.9", "fastify": "^4.26.0", "moment": "^2.30.1", - "pino": "^8.17.2", + "pino": "^8.18.0", "sequelize": "^6.35.2", "sqlite": "^5.1.1", "ts-node": "10.9.2" @@ -9367,9 +9367,9 @@ } }, "node_modules/pino": { - "version": "8.17.2", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.17.2.tgz", - "integrity": "sha512-LA6qKgeDMLr2ux2y/YiUt47EfgQ+S9LznBWOJdN3q1dx2sv0ziDLUBeVpyVv17TEcGCBuWf0zNtg3M5m1NhhWQ==", + "version": "8.18.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.18.0.tgz", + "integrity": "sha512-Mz/gKiRyuXu4HnpHgi1YWdHQCoWMufapzooisvFn78zl4dZciAxS+YeRkUxXl1ee/SzU80YCz1zpECCh4oC6Aw==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", diff --git a/package.json b/package.json index 9e10782cd..22ffe8843 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "adminjs": "^7.5.9", "fastify": "^4.26.0", "moment": "^2.30.1", - "pino": "^8.17.2", + "pino": "^8.18.0", "sequelize": "^6.35.2", "sqlite": "^5.1.1", "ts-node": "10.9.2" From 6bd43764075e67c7540fefb77ecd2778d40f6d17 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 22:12:12 +0000 Subject: [PATCH 057/452] chore(deps): update dependency lint-staged to ^15.2.2 (#1728) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index b61cc9ab4..c5b212ef1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -37,7 +37,7 @@ "eslint-plugin-prettier": "5.1.3", "husky": "^9.0.10", "jsdoc": "^4.0.2", - "lint-staged": "^15.2.1", + "lint-staged": "^15.2.2", "prettier": "3.2.5", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", @@ -8024,9 +8024,9 @@ "license": "MIT" }, "node_modules/lint-staged": { - "version": "15.2.1", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.1.tgz", - "integrity": "sha512-dhwAPnM85VdshybV9FWI/9ghTvMLoQLEXgVMx+ua2DN7mdfzd/tRfoU2yhMcBac0RHkofoxdnnJUokr8s4zKmQ==", + "version": "15.2.2", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", + "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", "dev": true, "dependencies": { "chalk": "5.3.0", diff --git a/package.json b/package.json index 22ffe8843..9f1c5535c 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "eslint-plugin-prettier": "5.1.3", "husky": "^9.0.10", "jsdoc": "^4.0.2", - "lint-staged": "^15.2.1", + "lint-staged": "^15.2.2", "prettier": "3.2.5", "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", From 32f3053242678e1e8fcc0255e803446db0e682dc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 6 Feb 2024 22:12:15 +0000 Subject: [PATCH 058/452] chore(deps): update dependency @sentry/cli to ^2.28.0 (#1729) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index c5b212ef1..33f7381da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.27.0", + "@sentry/cli": "^2.28.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.27.0.tgz", - "integrity": "sha512-pc0opd71W8lGhYvmB1keQtJkarxzCS9f9ErKYv6TfXOOX6drvwkyA6vD/6xEnpzyvqGAuGRU4T4sEeLD3irwUQ==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.0.tgz", + "integrity": "sha512-0vdMTeN3Ip1wI9T7F6GupuaOocIrfyHpAN3iUztsO7PY2j7e/+m69DRkU99aPTlmUgQikZjtVaHkTsEMLt3lgA==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.27.0", - "@sentry/cli-linux-arm": "2.27.0", - "@sentry/cli-linux-arm64": "2.27.0", - "@sentry/cli-linux-i686": "2.27.0", - "@sentry/cli-linux-x64": "2.27.0", - "@sentry/cli-win32-i686": "2.27.0", - "@sentry/cli-win32-x64": "2.27.0" + "@sentry/cli-darwin": "2.28.0", + "@sentry/cli-linux-arm": "2.28.0", + "@sentry/cli-linux-arm64": "2.28.0", + "@sentry/cli-linux-i686": "2.28.0", + "@sentry/cli-linux-x64": "2.28.0", + "@sentry/cli-win32-i686": "2.28.0", + "@sentry/cli-win32-x64": "2.28.0" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.27.0.tgz", - "integrity": "sha512-/DOZlN5rK19g7YP2OaVNauQhUrRfJ88RDr6qURFiqdxYHDc3isPFGHZJmeZBTwOnDDepyZb4XLaOyfwvAOxHig==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.0.tgz", + "integrity": "sha512-GgpayUQcGjT55Dc7oojjbqIYIUaBAr4za7D9yU5foMTJ6QjMTovmtE1bVj4bVKzK+0aIiZvZ2dg2g6jF0iGqfg==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.27.0.tgz", - "integrity": "sha512-JmMQ9zgFhkZUEN5WIYuJisu4Jif/ThRHDjbsbXBRbUkkgRn88hgUfg299djMvlZZxjpl3K9AEua+1TIUeQd0Sg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.0.tgz", + "integrity": "sha512-hjCRyZBNri+gNoMO22g2qevKcUOnDGhTjmyq14q2rXT0KHb4LjyMpebSgE63YTLDj/qxq4MSq8kcjD/jDzSpLw==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.27.0.tgz", - "integrity": "sha512-f+zuB9XGfB8pNamNgSDhqsavuLuzi6saZxbr3uQf30bA5AESI5hspOd1zPcidOORCVZxiPzQe3+T7avBI1XLuw==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.0.tgz", + "integrity": "sha512-QZtl4dyVMrsWEuRCN8h3RMQSjekM6LmdAWiEIxCgVMvTueau31EQz1jokGpaYotAsWK2GyzFALiCA3QwMCTtnA==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.27.0.tgz", - "integrity": "sha512-/4eyz7jnYp20mZqNtpvCEBkxFW0nEjEZRo2BiASQ5/7K8CmoJRe1vhpDA0WOfzi1zTFIfpdE1/RZm2CjHS6DHQ==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.0.tgz", + "integrity": "sha512-fgT0G6b1OCBHtrIClNrFfO8w5pVw7yIqtVsq4Bf+FJOwkD2buaPx1Qt66aGP+3+AexXO5pXfagN4+ykSsKqKZA==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.27.0.tgz", - "integrity": "sha512-ptu7wXecnYssihzHlxEOaqbFHWmNEfbepBKGXTdWK2kC+D51+7yHsR9xRdThwVID1bisFgjAveKmBQjmKuXjHQ==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.0.tgz", + "integrity": "sha512-mrqbxpo6dF8iC4nz0+TS8ymIeNKy6gngcmlRVfOBuVEP9+Ry8HAeIzuKwbt4QAA6lwKCbPsEwK5ZLsrJEJIC6A==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.27.0.tgz", - "integrity": "sha512-Db4/xmdE5qV4Aq7Yc8vRw22Y46JJdGMdsMsl5jIf0GVSQPgO23O/2uTiDGpPOdeq91K9EtvpH1zQfDLIfLMaXw==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.0.tgz", + "integrity": "sha512-yzji557eqz4XW7z8k0LF4LiIwFAqxPlpVnoeN8ntk8hi/ehXm9AdvPqA+bw7cRK5iu4/Tqr4OJeGPbcI5iKpgQ==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.27.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.27.0.tgz", - "integrity": "sha512-q7y/BH4iGfs0TD5PXh2Q8oqnTbOIufoT1NWJcKqvZcOiqCLK3PNUiq7xUeX1PMTrFYAh3Bm6EekOnMavqvbGmg==", + "version": "2.28.0", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.0.tgz", + "integrity": "sha512-5frag3uV+niuMVYQ3ME5Nwlv5uftV88xDUyaCe1UD9jfM8WqJPgvQYUNPgBQKynxwLAUp5zXII+47Vnn8mriOA==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 9f1c5535c..6dd05a8aa 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.27.0", + "@sentry/cli": "^2.28.0", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From b834e93143cc794ea2c5222bd7cd11764023fee8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 8 Feb 2024 04:46:04 +0000 Subject: [PATCH 059/452] chore(deps): update typescript-eslint monorepo to ^6.21.0 (#1730) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index 33f7381da..d0635820d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.16", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4050,16 +4050,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.20.0.tgz", - "integrity": "sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/type-utils": "6.20.0", - "@typescript-eslint/utils": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4085,15 +4085,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.20.0.tgz", - "integrity": "sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4" }, "engines": { @@ -4113,13 +4113,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.20.0.tgz", - "integrity": "sha512-p4rvHQRDTI1tGGMDFQm+GtxP1ZHyAh64WANVoyEcNMpaTFn3ox/3CcgtIlELnRfKzSs/DwYlDccJEtr3O6qBvA==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0" + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4130,13 +4130,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.20.0.tgz", - "integrity": "sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.20.0", - "@typescript-eslint/utils": "6.20.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4157,9 +4157,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.20.0.tgz", - "integrity": "sha512-MM9mfZMAhiN4cOEcUOEx+0HmuaW3WBfukBZPCfwSqFnQy0grXYtngKCqpQN339X3RrwtzspWJrpbrupKYUSBXQ==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4170,13 +4170,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.20.0.tgz", - "integrity": "sha512-RnRya9q5m6YYSpBN7IzKu9FmLcYtErkDkc8/dKv81I9QiLLtVBHrjz+Ev/crAqgMNW2FCsoZF4g2QUylMnJz+g==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/visitor-keys": "6.20.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4222,17 +4222,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.20.0.tgz", - "integrity": "sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.20.0", - "@typescript-eslint/types": "6.20.0", - "@typescript-eslint/typescript-estree": "6.20.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", "semver": "^7.5.4" }, "engines": { @@ -4247,12 +4247,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.20.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.20.0.tgz", - "integrity": "sha512-E8Cp98kRe4gKHjJD4NExXKz/zOJ1A2hhZc+IMVD6i7w4yjIvh6VyuRI0gRtxAsXtoC35uGMaQ9rjI2zJaXDEAw==", + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.20.0", + "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 6dd05a8aa..4b768c347 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.16", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.20.0", - "@typescript-eslint/parser": "^6.20.0", + "@typescript-eslint/eslint-plugin": "^6.21.0", + "@typescript-eslint/parser": "^6.21.0", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From ce3d67650cda79931ca76ddab4d3a207c96e64cb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 8 Feb 2024 04:46:11 +0000 Subject: [PATCH 060/452] fix(deps): update dependency @sentry/node to 7.100 (#1731) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 52 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 27 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index d0635820d..c32f5eeec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,7 +11,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.99", + "@sentry/node": "7.100", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.26.0", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.99.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.99.0.tgz", - "integrity": "sha512-z3JQhHjoM1KdM20qrHwRClKJrNLr2CcKtCluq7xevLtXHJWNAQQbafnWD+Aoj85EWXBzKt9yJMv2ltcXJ+at+w==", + "version": "7.100.0", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.100.0.tgz", + "integrity": "sha512-qf4W1STXky9WOQYoPSw2AmCBDK4FzvAyq5yeD2sLU7OCUEfbRUcN0lQljUvmWRKv/jTIAyeU5icDLJPZuR50nA==", "dependencies": { - "@sentry/core": "7.99.0", - "@sentry/types": "7.99.0", - "@sentry/utils": "7.99.0" + "@sentry/core": "7.100.0", + "@sentry/types": "7.100.0", + "@sentry/utils": "7.100.0" }, "engines": { "node": ">=8" @@ -3268,26 +3268,26 @@ } }, "node_modules/@sentry/core": { - "version": "7.99.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.99.0.tgz", - "integrity": "sha512-vOAtzcAXEUtS/oW7wi3wMkZ3hsb5Ch96gKyrrj/mXdOp2zrcwdNV6N9/pawq2E9P/7Pw8AXw4CeDZztZrjQLuA==", + "version": "7.100.0", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.100.0.tgz", + "integrity": "sha512-eWRPuP0Zdj4a2F7SybqNjf13LGOVgGwvW6sojweQp9oxGAfCPp/EMDGBhlpYbMJeLbzmqzJ4ZFHIedaiEC+7kg==", "dependencies": { - "@sentry/types": "7.99.0", - "@sentry/utils": "7.99.0" + "@sentry/types": "7.100.0", + "@sentry/utils": "7.100.0" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.99.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.99.0.tgz", - "integrity": "sha512-34wYtLddnPcQ8qvKq62AfxowaMFw+GMUZGv7fIs9FxeBqqqn6Ckl0gFCTADudIIBQ3rSbmN7sHJIXdyiQv+pcw==", + "version": "7.100.0", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.100.0.tgz", + "integrity": "sha512-8cf9wFNo/9I++60MVAf6tuKn/N5JCZ/Z8NDUzutnWWdQBLSx+LhZYNPntN3WkHl6Q7PBHGw3mU1Bc+rF48MeSQ==", "dependencies": { - "@sentry-internal/tracing": "7.99.0", - "@sentry/core": "7.99.0", - "@sentry/types": "7.99.0", - "@sentry/utils": "7.99.0" + "@sentry-internal/tracing": "7.100.0", + "@sentry/core": "7.100.0", + "@sentry/types": "7.100.0", + "@sentry/utils": "7.100.0" }, "engines": { "node": ">=8" @@ -3313,19 +3313,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.99.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.99.0.tgz", - "integrity": "sha512-94qwOw4w40sAs5mCmzcGyj8ZUu/KhnWnuMZARRq96k+SjRW/tHFAOlIdnFSrt3BLPvSOK7R3bVAskZQ0N4FTmA==", + "version": "7.100.0", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.100.0.tgz", + "integrity": "sha512-c+RHwZwpKeBk7h8sUX4nQcelxBz8ViCojifnbEe3tcn8O15HOLvZqRKgLLOiff3MoErxiv4oxs0sPbEFRm/IvA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.99.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.99.0.tgz", - "integrity": "sha512-cYZy5WNTkWs5GgggGnjfGqC44CWir0pAv4GVVSx0fsup4D4pMKBJPrtub15f9uC+QkUf3vVkqwpBqeFxtmJQTQ==", + "version": "7.100.0", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.100.0.tgz", + "integrity": "sha512-LAhZMEGq3C125prZN/ShqeXpRfdfgJkl9RAKjfq8cmMFsF7nsF72dEHZgIwrZ0lgNmtaWAB83AwJcyN83RwOxQ==", "dependencies": { - "@sentry/types": "7.99.0" + "@sentry/types": "7.100.0" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index 4b768c347..010c2224f 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.99", + "@sentry/node": "7.100", "@sentry/profiling-node": "^1.3.5", "adminjs": "^7.5.9", "fastify": "^4.26.0", From c91301a6304036c140e3f094fbb78deeb22e2371 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:23:54 +0000 Subject: [PATCH 061/452] fix(deps): update dependency adminjs to ^7.5.10 (#1732) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index c32f5eeec..83b1027cb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.100", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.9", + "adminjs": "^7.5.10", "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", @@ -4448,9 +4448,9 @@ "license": "MIT" }, "node_modules/adminjs": { - "version": "7.5.9", - "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.9.tgz", - "integrity": "sha512-earnH/QZ0mu1Az+5Q2bLaTXw3dhxU8+ttNtrZGn9S2N/VHulJegJXh46hh7WqrZ9ApxHoJArgFiZSNCtbj0jVg==", + "version": "7.5.10", + "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.10.tgz", + "integrity": "sha512-L4FxNOEbebhJi+Feb8Wdzr+a3fAsiHz2XQntJplS8t1JUKY237niJyqobEHtiy5g8Cg4ltDiRzF2Tv1TyZEaAw==", "dependencies": { "@adminjs/design-system": "^4.0.0", "@babel/core": "^7.21.0", diff --git a/package.json b/package.json index 010c2224f..d6b6173d6 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.100", "@sentry/profiling-node": "^1.3.5", - "adminjs": "^7.5.9", + "adminjs": "^7.5.10", "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", From eb8596ce3ed820e1c7d41b2f43507988257675c5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 9 Feb 2024 12:23:57 +0000 Subject: [PATCH 062/452] fix(deps): update dependency sequelize to ^6.36.0 (#1733) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 83b1027cb..07feac9bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", - "sequelize": "^6.35.2", + "sequelize": "^6.36.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, @@ -10787,9 +10787,9 @@ "license": "ISC" }, "node_modules/sequelize": { - "version": "6.35.2", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.35.2.tgz", - "integrity": "sha512-EdzLaw2kK4/aOnWQ7ed/qh3B6/g+1DvmeXr66RwbcqSm/+QRS9X0LDI5INBibsy4eNJHWIRPo3+QK0zL+IPBHg==", + "version": "6.36.0", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.36.0.tgz", + "integrity": "sha512-PqOa11EHwA/zLmGDU4aynbsavbHJUlgRvFuC/2cA4LhOuV6NHKcQ0IXB+hNdFrGT3rULmvc4kdIwnfCNsrECMQ==", "funding": [ { "type": "opencollective", diff --git a/package.json b/package.json index d6b6173d6..d8549d923 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", - "sequelize": "^6.35.2", + "sequelize": "^6.36.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, From 0234af2cf3851339fd1ae8c2a58c24a47a26e644 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 10 Feb 2024 16:16:38 +0000 Subject: [PATCH 063/452] chore(deps): update dependency @types/node to ^20.11.17 (#1734) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07feac9bc..68cef5e00 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.16", + "@types/node": "^20.11.17", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.21.0", @@ -3955,9 +3955,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.16", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.16.tgz", - "integrity": "sha512-gKb0enTmRCzXSSUJDq6/sPcqrfCv2mkkG6Jt/clpn5eiCbKTY+SgZUxo+p8ZKMof5dCp9vHQUAB7wOUTod22wQ==", + "version": "20.11.17", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", + "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index d8549d923..6734b2869 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.16", + "@types/node": "^20.11.17", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.21.0", From dd5abf235cce9d444c9303efd0e5d8824da6cd7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 10 Feb 2024 16:16:43 +0000 Subject: [PATCH 064/452] fix(deps): update dependency @sentry/profiling-node to v7 (#1735) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 13 +++++-------- package.json | 2 +- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index 68cef5e00..268337d6a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,7 @@ "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", "@sentry/node": "7.100", - "@sentry/profiling-node": "^1.3.5", + "@sentry/profiling-node": "^7.100.1", "adminjs": "^7.5.10", "fastify": "^4.26.0", "moment": "^2.30.1", @@ -3294,22 +3294,19 @@ } }, "node_modules/@sentry/profiling-node": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-1.3.5.tgz", - "integrity": "sha512-n2bfEbtLW3WuIMQGyxKJKzBNZOb1JYfMeJQ2WQn/42F++69m+u7T0S3EDGRN0Y//fbt5+r0any+4r3kChRXZkQ==", + "version": "7.100.1", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.100.1.tgz", + "integrity": "sha512-Q/B7SntzB/qt0Y/MZK8dBy8PIf6nCT/kdnn+wrTIFicxozqsF3hq5vmKvGyVUWobb3FrNjc2dSuDXTijN1xmkQ==", "hasInstallScript": true, "dependencies": { "detect-libc": "^2.0.2", "node-abi": "^3.52.0" }, "bin": { - "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.mjs" + "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" }, "engines": { "node": ">=8.0.0" - }, - "peerDependencies": { - "@sentry/node": "^7.44.1" } }, "node_modules/@sentry/types": { diff --git a/package.json b/package.json index 6734b2869..9c98f27e8 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", "@sentry/node": "7.100", - "@sentry/profiling-node": "^1.3.5", + "@sentry/profiling-node": "^7.100.1", "adminjs": "^7.5.10", "fastify": "^4.26.0", "moment": "^2.30.1", From 5da4c0c240a29f844bc1d1c1126d613da0dd6f04 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 11 Feb 2024 19:32:53 +0000 Subject: [PATCH 065/452] chore(deps): update dependency tsx to v4.7.1 (#1736) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 268337d6a..35600007d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -42,7 +42,7 @@ "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", - "tsx": "4.7.0", + "tsx": "4.7.1", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", "vitest": "^1.2.2" @@ -11636,9 +11636,9 @@ "license": "0BSD" }, "node_modules/tsx": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", - "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.1.tgz", + "integrity": "sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==", "dev": true, "dependencies": { "esbuild": "~0.19.10", diff --git a/package.json b/package.json index 9c98f27e8..8dcbccb52 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "prettier-eslint": "16.3.0", "rimraf": "^5.0.5", "standard-version": "^9.5.0", - "tsx": "4.7.0", + "tsx": "4.7.1", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", "vitest": "^1.2.2" From f37ab040150f2f20743df69c19b447e60717063a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 12 Feb 2024 22:53:38 +0000 Subject: [PATCH 066/452] fix(deps): update dependency sequelize to ^6.37.0 (#1738) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 35600007d..a695b8785 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", - "sequelize": "^6.36.0", + "sequelize": "^6.37.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, @@ -10784,9 +10784,9 @@ "license": "ISC" }, "node_modules/sequelize": { - "version": "6.36.0", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.36.0.tgz", - "integrity": "sha512-PqOa11EHwA/zLmGDU4aynbsavbHJUlgRvFuC/2cA4LhOuV6NHKcQ0IXB+hNdFrGT3rULmvc4kdIwnfCNsrECMQ==", + "version": "6.37.0", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.0.tgz", + "integrity": "sha512-MS6j6aXqWzB3fe9FhmfpQMgVC16bBdYroJCqIqR0l9M2ko8pZdKoi/0PiNWgMyFQDXUHxXyAOG3K07CbnOhteQ==", "funding": [ { "type": "opencollective", diff --git a/package.json b/package.json index 8dcbccb52..a9bd60184 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "fastify": "^4.26.0", "moment": "^2.30.1", "pino": "^8.18.0", - "sequelize": "^6.36.0", + "sequelize": "^6.37.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, From 4a293208649a95f027a61f2b7b8172ed54ac95a9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 03:34:56 +0000 Subject: [PATCH 067/452] fix(deps): update dependency fastify to ^4.26.1 (#1739) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 23 +++++++++++++---------- package.json | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/package-lock.json b/package-lock.json index a695b8785..1c0258b67 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ "@sentry/node": "7.100", "@sentry/profiling-node": "^7.100.1", "adminjs": "^7.5.10", - "fastify": "^4.26.0", + "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.18.0", "sequelize": "^6.37.0", @@ -4650,12 +4650,14 @@ } }, "node_modules/avvio": { - "version": "8.2.1", - "license": "MIT", + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", + "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", "dependencies": { + "@fastify/error": "^3.3.0", "archy": "^1.0.0", "debug": "^4.0.0", - "fastq": "^1.6.1" + "fastq": "^1.17.1" } }, "node_modules/axios": { @@ -6517,9 +6519,9 @@ "license": "MIT" }, "node_modules/fastify": { - "version": "4.26.0", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.0.tgz", - "integrity": "sha512-Fq/7ziWKc6pYLYLIlCRaqJqEVTIZ5tZYfcW/mDK2AQ9v/sqjGFpj0On0/7hU50kbPVjLO4de+larPA1WwPZSfw==", + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz", + "integrity": "sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==", "funding": [ { "type": "github", @@ -6535,7 +6537,7 @@ "@fastify/error": "^3.4.0", "@fastify/fast-json-stringify-compiler": "^4.3.0", "abstract-logging": "^2.0.1", - "avvio": "^8.2.1", + "avvio": "^8.3.0", "fast-content-type-parse": "^1.1.0", "fast-json-stringify": "^5.8.0", "find-my-way": "^8.0.0", @@ -6559,8 +6561,9 @@ "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" }, "node_modules/fastq": { - "version": "1.15.0", - "license": "ISC", + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } diff --git a/package.json b/package.json index a9bd60184..8ae18c4b3 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@sentry/node": "7.100", "@sentry/profiling-node": "^7.100.1", "adminjs": "^7.5.10", - "fastify": "^4.26.0", + "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.18.0", "sequelize": "^6.37.0", From 9f9253cb670fa26bea242e5b10dba9128e1e29f6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 14 Feb 2024 03:35:00 +0000 Subject: [PATCH 068/452] chore(deps): update typescript-eslint monorepo to v7 (#1740) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 231 +++++++++++++++++++++++++++++++++++----------- package.json | 4 +- 2 files changed, 181 insertions(+), 54 deletions(-) diff --git a/package-lock.json b/package-lock.json index 1c0258b67..8ab501adb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.17", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^7.0.1", + "@typescript-eslint/parser": "^7.0.1", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4005,9 +4005,9 @@ "license": "MIT" }, "node_modules/@types/semver": { - "version": "7.5.6", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz", - "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==", + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", + "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", "dev": true }, "node_modules/@types/sinon": { @@ -4047,16 +4047,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.1.tgz", + "integrity": "sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/type-utils": "7.0.1", + "@typescript-eslint/utils": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4072,8 +4072,8 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" + "@typescript-eslint/parser": "^7.0.0", + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -4082,15 +4082,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.1.tgz", + "integrity": "sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4" }, "engines": { @@ -4101,7 +4101,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -4110,13 +4110,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.1.tgz", + "integrity": "sha512-v7/T7As10g3bcWOOPAcbnMDuvctHzCFYCG/8R4bK4iYzdFqsZTbXGln0cZNVcwQcwewsYU2BJLay8j0/4zOk4w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4127,13 +4127,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.1.tgz", + "integrity": "sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/typescript-estree": "7.0.1", + "@typescript-eslint/utils": "7.0.1", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4145,7 +4145,7 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" }, "peerDependenciesMeta": { "typescript": { @@ -4154,9 +4154,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.1.tgz", + "integrity": "sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4167,13 +4167,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz", + "integrity": "sha512-SO9wHb6ph0/FN5OJxH4MiPscGah5wjOd0RRpaLvuBv9g8565Fgu0uMySFEPqwPHiQU90yzJ2FjRYKGrAhS1xig==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/visitor-keys": "7.0.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4219,17 +4219,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.1.tgz", + "integrity": "sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/scope-manager": "7.0.1", + "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.1", "semver": "^7.5.4" }, "engines": { @@ -4240,16 +4240,16 @@ "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.56.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz", + "integrity": "sha512-hwAgrOyk++RTXrP4KzCg7zB2U0xt7RUU0ZdMSCsqF3eKUwkdXUMyTb0qdCuji7VIbcpG62kKTU9M1J1c9UpFBw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/types": "7.0.1", "eslint-visitor-keys": "^3.4.1" }, "engines": { @@ -9599,6 +9599,133 @@ } } }, + "node_modules/prettier-eslint/node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/prettier-eslint/node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/prettier-eslint/node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/prettier-eslint/node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/prettier-eslint/node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/prettier-eslint/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/prettier-eslint/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", "dev": true, diff --git a/package.json b/package.json index 8ae18c4b3..01f08c8f8 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.17", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.21.0", + "@typescript-eslint/eslint-plugin": "^7.0.1", + "@typescript-eslint/parser": "^7.0.1", "@vitest/coverage-v8": "^1.2.2", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From 228533a8b67c0ea00eb6005d97fb6f9407e79a7e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Feb 2024 09:48:37 +0000 Subject: [PATCH 069/452] chore(deps): update dependency @sentry/cli to ^2.28.6 (#1741) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 64 +++++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 33 insertions(+), 33 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8ab501adb..fedb07e71 100644 --- a/package-lock.json +++ b/package-lock.json @@ -22,7 +22,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.28.0", + "@sentry/cli": "^2.28.6", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", @@ -3124,9 +3124,9 @@ } }, "node_modules/@sentry/cli": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.0.tgz", - "integrity": "sha512-0vdMTeN3Ip1wI9T7F6GupuaOocIrfyHpAN3iUztsO7PY2j7e/+m69DRkU99aPTlmUgQikZjtVaHkTsEMLt3lgA==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz", + "integrity": "sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -3143,19 +3143,19 @@ "node": ">= 10" }, "optionalDependencies": { - "@sentry/cli-darwin": "2.28.0", - "@sentry/cli-linux-arm": "2.28.0", - "@sentry/cli-linux-arm64": "2.28.0", - "@sentry/cli-linux-i686": "2.28.0", - "@sentry/cli-linux-x64": "2.28.0", - "@sentry/cli-win32-i686": "2.28.0", - "@sentry/cli-win32-x64": "2.28.0" + "@sentry/cli-darwin": "2.28.6", + "@sentry/cli-linux-arm": "2.28.6", + "@sentry/cli-linux-arm64": "2.28.6", + "@sentry/cli-linux-i686": "2.28.6", + "@sentry/cli-linux-x64": "2.28.6", + "@sentry/cli-win32-i686": "2.28.6", + "@sentry/cli-win32-x64": "2.28.6" } }, "node_modules/@sentry/cli-darwin": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.0.tgz", - "integrity": "sha512-GgpayUQcGjT55Dc7oojjbqIYIUaBAr4za7D9yU5foMTJ6QjMTovmtE1bVj4bVKzK+0aIiZvZ2dg2g6jF0iGqfg==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.6.tgz", + "integrity": "sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==", "dev": true, "optional": true, "os": [ @@ -3166,9 +3166,9 @@ } }, "node_modules/@sentry/cli-linux-arm": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.0.tgz", - "integrity": "sha512-hjCRyZBNri+gNoMO22g2qevKcUOnDGhTjmyq14q2rXT0KHb4LjyMpebSgE63YTLDj/qxq4MSq8kcjD/jDzSpLw==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.6.tgz", + "integrity": "sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==", "cpu": [ "arm" ], @@ -3183,9 +3183,9 @@ } }, "node_modules/@sentry/cli-linux-arm64": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.0.tgz", - "integrity": "sha512-QZtl4dyVMrsWEuRCN8h3RMQSjekM6LmdAWiEIxCgVMvTueau31EQz1jokGpaYotAsWK2GyzFALiCA3QwMCTtnA==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.6.tgz", + "integrity": "sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==", "cpu": [ "arm64" ], @@ -3200,9 +3200,9 @@ } }, "node_modules/@sentry/cli-linux-i686": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.0.tgz", - "integrity": "sha512-fgT0G6b1OCBHtrIClNrFfO8w5pVw7yIqtVsq4Bf+FJOwkD2buaPx1Qt66aGP+3+AexXO5pXfagN4+ykSsKqKZA==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.6.tgz", + "integrity": "sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==", "cpu": [ "x86", "ia32" @@ -3218,9 +3218,9 @@ } }, "node_modules/@sentry/cli-linux-x64": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.0.tgz", - "integrity": "sha512-mrqbxpo6dF8iC4nz0+TS8ymIeNKy6gngcmlRVfOBuVEP9+Ry8HAeIzuKwbt4QAA6lwKCbPsEwK5ZLsrJEJIC6A==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz", + "integrity": "sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==", "cpu": [ "x64" ], @@ -3235,9 +3235,9 @@ } }, "node_modules/@sentry/cli-win32-i686": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.0.tgz", - "integrity": "sha512-yzji557eqz4XW7z8k0LF4LiIwFAqxPlpVnoeN8ntk8hi/ehXm9AdvPqA+bw7cRK5iu4/Tqr4OJeGPbcI5iKpgQ==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.6.tgz", + "integrity": "sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==", "cpu": [ "x86", "ia32" @@ -3252,9 +3252,9 @@ } }, "node_modules/@sentry/cli-win32-x64": { - "version": "2.28.0", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.0.tgz", - "integrity": "sha512-5frag3uV+niuMVYQ3ME5Nwlv5uftV88xDUyaCe1UD9jfM8WqJPgvQYUNPgBQKynxwLAUp5zXII+47Vnn8mriOA==", + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.6.tgz", + "integrity": "sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==", "cpu": [ "x64" ], diff --git a/package.json b/package.json index 01f08c8f8..592d85bc9 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "ts-node": "10.9.2" }, "devDependencies": { - "@sentry/cli": "^2.28.0", + "@sentry/cli": "^2.28.6", "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", From efd6cbf9d7b551371bf8808c3a1369e86ab26561 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 15 Feb 2024 09:48:40 +0000 Subject: [PATCH 070/452] chore(deps): update dependency husky to ^9.0.11 (#1742) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index fedb07e71..7333b0cd1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -35,7 +35,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.10", + "husky": "^9.0.11", "jsdoc": "^4.0.2", "lint-staged": "^15.2.2", "prettier": "3.2.5", @@ -7296,9 +7296,9 @@ } }, "node_modules/husky": { - "version": "9.0.10", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.10.tgz", - "integrity": "sha512-TQGNknoiy6bURzIO77pPRu+XHi6zI7T93rX+QnJsoYFf3xdjKOur+IlfqzJGMHIK/wXrLg+GsvMs8Op7vI2jVA==", + "version": "9.0.11", + "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", + "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", "dev": true, "bin": { "husky": "bin.mjs" diff --git a/package.json b/package.json index 592d85bc9..c2554823d 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.10", + "husky": "^9.0.11", "jsdoc": "^4.0.2", "lint-staged": "^15.2.2", "prettier": "3.2.5", From 13635149820b8ba3dfab784b01827351f3e4724f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 16 Feb 2024 15:48:12 +0000 Subject: [PATCH 071/452] fix(deps): update sentry-javascript monorepo to 7.101 (#1743) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 60 +++++++++++++++++++++++------------------------ package.json | 4 ++-- 2 files changed, 32 insertions(+), 32 deletions(-) diff --git a/package-lock.json b/package-lock.json index 7333b0cd1..612f6daed 100644 --- a/package-lock.json +++ b/package-lock.json @@ -11,8 +11,8 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.100", - "@sentry/profiling-node": "^7.100.1", + "@sentry/node": "7.101", + "@sentry/profiling-node": "^7.101.1", "adminjs": "^7.5.10", "fastify": "^4.26.1", "moment": "^2.30.1", @@ -3111,13 +3111,13 @@ ] }, "node_modules/@sentry-internal/tracing": { - "version": "7.100.0", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.100.0.tgz", - "integrity": "sha512-qf4W1STXky9WOQYoPSw2AmCBDK4FzvAyq5yeD2sLU7OCUEfbRUcN0lQljUvmWRKv/jTIAyeU5icDLJPZuR50nA==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.101.1.tgz", + "integrity": "sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg==", "dependencies": { - "@sentry/core": "7.100.0", - "@sentry/types": "7.100.0", - "@sentry/utils": "7.100.0" + "@sentry/core": "7.101.1", + "@sentry/types": "7.101.1", + "@sentry/utils": "7.101.1" }, "engines": { "node": ">=8" @@ -3268,35 +3268,35 @@ } }, "node_modules/@sentry/core": { - "version": "7.100.0", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.100.0.tgz", - "integrity": "sha512-eWRPuP0Zdj4a2F7SybqNjf13LGOVgGwvW6sojweQp9oxGAfCPp/EMDGBhlpYbMJeLbzmqzJ4ZFHIedaiEC+7kg==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.101.1.tgz", + "integrity": "sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug==", "dependencies": { - "@sentry/types": "7.100.0", - "@sentry/utils": "7.100.0" + "@sentry/types": "7.101.1", + "@sentry/utils": "7.101.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/node": { - "version": "7.100.0", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.100.0.tgz", - "integrity": "sha512-8cf9wFNo/9I++60MVAf6tuKn/N5JCZ/Z8NDUzutnWWdQBLSx+LhZYNPntN3WkHl6Q7PBHGw3mU1Bc+rF48MeSQ==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.101.1.tgz", + "integrity": "sha512-iXSxUT6Zbt/KUY0+fRcW5II6Tgp2zdTfhBW+fQuDt/UUZt7Ypvb+6n4U2oom3LJfttmD7mdjQuT4+vsNImDjTQ==", "dependencies": { - "@sentry-internal/tracing": "7.100.0", - "@sentry/core": "7.100.0", - "@sentry/types": "7.100.0", - "@sentry/utils": "7.100.0" + "@sentry-internal/tracing": "7.101.1", + "@sentry/core": "7.101.1", + "@sentry/types": "7.101.1", + "@sentry/utils": "7.101.1" }, "engines": { "node": ">=8" } }, "node_modules/@sentry/profiling-node": { - "version": "7.100.1", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.100.1.tgz", - "integrity": "sha512-Q/B7SntzB/qt0Y/MZK8dBy8PIf6nCT/kdnn+wrTIFicxozqsF3hq5vmKvGyVUWobb3FrNjc2dSuDXTijN1xmkQ==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.101.1.tgz", + "integrity": "sha512-buM+HZZW7jf3mqJgByVGPwytvmHcbjxRT8CkjO5UDO7stRTsq3iT/hK7qt0bQEDQwhmKeVCvfqryg2nKkPq3RA==", "hasInstallScript": true, "dependencies": { "detect-libc": "^2.0.2", @@ -3310,19 +3310,19 @@ } }, "node_modules/@sentry/types": { - "version": "7.100.0", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.100.0.tgz", - "integrity": "sha512-c+RHwZwpKeBk7h8sUX4nQcelxBz8ViCojifnbEe3tcn8O15HOLvZqRKgLLOiff3MoErxiv4oxs0sPbEFRm/IvA==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.101.1.tgz", + "integrity": "sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { - "version": "7.100.0", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.100.0.tgz", - "integrity": "sha512-LAhZMEGq3C125prZN/ShqeXpRfdfgJkl9RAKjfq8cmMFsF7nsF72dEHZgIwrZ0lgNmtaWAB83AwJcyN83RwOxQ==", + "version": "7.101.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.101.1.tgz", + "integrity": "sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A==", "dependencies": { - "@sentry/types": "7.100.0" + "@sentry/types": "7.101.1" }, "engines": { "node": ">=8" diff --git a/package.json b/package.json index c2554823d..23f520897 100644 --- a/package.json +++ b/package.json @@ -29,8 +29,8 @@ "dependencies": { "@adminjs/sequelize": "^4.1.1", "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.100", - "@sentry/profiling-node": "^7.100.1", + "@sentry/node": "7.101", + "@sentry/profiling-node": "^7.101.1", "adminjs": "^7.5.10", "fastify": "^4.26.1", "moment": "^2.30.1", From abf0dd28feb6ed76b90b8538e12b4ff73570e23e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 22:05:26 +0000 Subject: [PATCH 072/452] chore(deps): update dependency @types/node to ^20.11.19 (#1744) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 612f6daed..8d48536f2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -26,7 +26,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.17", + "@types/node": "^20.11.19", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^7.0.1", @@ -3952,9 +3952,9 @@ "license": "MIT" }, "node_modules/@types/node": { - "version": "20.11.17", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.17.tgz", - "integrity": "sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==", + "version": "20.11.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", + "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", "dependencies": { "undici-types": "~5.26.4" } diff --git a/package.json b/package.json index 23f520897..3521db507 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "@tsconfig/node-lts": "^20.1.1", "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", - "@types/node": "^20.11.17", + "@types/node": "^20.11.19", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^7.0.1", From bc8f8929a7db83aec1223d2d2a7961810bb4e678 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 17 Feb 2024 22:05:34 +0000 Subject: [PATCH 073/452] fix(deps): update dependency adminjs to ^7.5.12 (#1745) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 8d48536f2..6816e6dc9 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,7 +13,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.101", "@sentry/profiling-node": "^7.101.1", - "adminjs": "^7.5.10", + "adminjs": "^7.5.12", "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.18.0", @@ -4445,9 +4445,9 @@ "license": "MIT" }, "node_modules/adminjs": { - "version": "7.5.10", - "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.10.tgz", - "integrity": "sha512-L4FxNOEbebhJi+Feb8Wdzr+a3fAsiHz2XQntJplS8t1JUKY237niJyqobEHtiy5g8Cg4ltDiRzF2Tv1TyZEaAw==", + "version": "7.5.12", + "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.12.tgz", + "integrity": "sha512-vCHA3AWDSWR9XRCZLFpbReuSSpF5VjdALQUmxitX7Azh2zmeOxsY1TFK/xWsDeBkkS9asivCKMNNEsOn26KhJA==", "dependencies": { "@adminjs/design-system": "^4.0.0", "@babel/core": "^7.21.0", diff --git a/package.json b/package.json index 3521db507..a414ae9ac 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "7.101", "@sentry/profiling-node": "^7.101.1", - "adminjs": "^7.5.10", + "adminjs": "^7.5.12", "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.18.0", From b464ac51798db3eadf1f7ca2e1e8878adc6338f4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 03:14:26 +0000 Subject: [PATCH 074/452] chore(deps): update vitest monorepo to ^1.3.0 (#1746) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 98 +++++++++++++++++++++++++---------------------- package.json | 4 +- 2 files changed, 54 insertions(+), 48 deletions(-) diff --git a/package-lock.json b/package-lock.json index 6816e6dc9..07c8ab4d6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -31,7 +31,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^7.0.1", "@typescript-eslint/parser": "^7.0.1", - "@vitest/coverage-v8": "^1.2.2", + "@vitest/coverage-v8": "^1.3.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -45,7 +45,7 @@ "tsx": "4.7.1", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.2" + "vitest": "^1.3.0" } }, "node_modules/@aashutoshrathi/word-wrap": { @@ -4267,9 +4267,9 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.2.2.tgz", - "integrity": "sha512-IHyKnDz18SFclIEEAHb9Y4Uxx0sPKC2VO1kdDCs1BF6Ip4S8rQprs971zIsooLUn7Afs71GRxWMWpkCGZpRMhw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.0.tgz", + "integrity": "sha512-e5Y5uK5NNoQMQaNitGQQjo9FoA5ZNcu7Bn6pH+dxUf48u6po1cX38kFBYUHZ9GNVkF4JLbncE0WeWwTw+nLrxg==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", @@ -4290,17 +4290,17 @@ "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "^1.0.0" + "vitest": "1.3.0" } }, "node_modules/@vitest/expect": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.2.2.tgz", - "integrity": "sha512-3jpcdPAD7LwHUUiT2pZTj2U82I2Tcgg2oVPvKxhn6mDI2On6tfvPQTjAI4628GUGDZrCm4Zna9iQHm5cEexOAg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", + "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", "dev": true, "dependencies": { - "@vitest/spy": "1.2.2", - "@vitest/utils": "1.2.2", + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", "chai": "^4.3.10" }, "funding": { @@ -4308,12 +4308,12 @@ } }, "node_modules/@vitest/runner": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.2.2.tgz", - "integrity": "sha512-JctG7QZ4LSDXr5CsUweFgcpEvrcxOV1Gft7uHrvkQ+fsAVylmWQvnaAr/HDp3LAH1fztGMQZugIheTWjaGzYIg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", + "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", "dev": true, "dependencies": { - "@vitest/utils": "1.2.2", + "@vitest/utils": "1.3.0", "p-limit": "^5.0.0", "pathe": "^1.1.1" }, @@ -4349,9 +4349,9 @@ } }, "node_modules/@vitest/snapshot": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.2.2.tgz", - "integrity": "sha512-SmGY4saEw1+bwE1th6S/cZmPxz/Q4JWsl7LvbQIky2tKE35US4gd0Mjzqfr84/4OD0tikGWaWdMja/nWL5NIPA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", + "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", "dev": true, "dependencies": { "magic-string": "^0.30.5", @@ -4363,9 +4363,9 @@ } }, "node_modules/@vitest/spy": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.2.2.tgz", - "integrity": "sha512-k9Gcahssw8d7X3pSLq3e3XEu/0L78mUkCjivUqCQeXJm9clfXR/Td8+AP+VC1O6fKPIDLcHDTAmBOINVuv6+7g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", + "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", "dev": true, "dependencies": { "tinyspy": "^2.2.0" @@ -4375,9 +4375,9 @@ } }, "node_modules/@vitest/utils": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.2.2.tgz", - "integrity": "sha512-WKITBHLsBHlpjnDQahr+XK6RE7MiAsgrIkr0pGhQ9ygoxBfUeG0lUG5iLlzqjmKSlBv3+j5EGsriBzh+C3Tq9g==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", + "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", "dev": true, "dependencies": { "diff-sequences": "^29.6.3", @@ -11415,16 +11415,23 @@ } }, "node_modules/strip-literal": { - "version": "1.3.0", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", "dev": true, - "license": "MIT", "dependencies": { - "acorn": "^8.10.0" + "js-tokens": "^8.0.2" }, "funding": { "url": "https://github.com/sponsors/antfu" } }, + "node_modules/strip-literal/node_modules/js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + }, "node_modules/styled-components": { "version": "5.3.9", "license": "MIT", @@ -11632,9 +11639,9 @@ } }, "node_modules/tinyspy": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.0.tgz", - "integrity": "sha512-d2eda04AN/cPOR89F7Xv5bK/jrQEhmcLFe6HFldoeO9AJtps+fqEnh486vnT/8y4bw38pSyxDcTCAq+Ks2aJTg==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, "engines": { "node": ">=14.0.0" @@ -12101,9 +12108,9 @@ } }, "node_modules/vite-node": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.2.2.tgz", - "integrity": "sha512-1as4rDTgVWJO3n1uHmUYqq7nsFgINQ9u+mRcXpjeOMJUmviqNKjcZB7UfRZrlM7MjYXMKpuWp5oGkjaFLnjawg==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", + "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", "dev": true, "dependencies": { "cac": "^6.7.14", @@ -12152,18 +12159,17 @@ } }, "node_modules/vitest": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.2.2.tgz", - "integrity": "sha512-d5Ouvrnms3GD9USIK36KG8OZ5bEvKEkITFtnGv56HFaSlbItJuYr7hv2Lkn903+AvRAgSixiamozUVfORUekjw==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", + "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", "dev": true, "dependencies": { - "@vitest/expect": "1.2.2", - "@vitest/runner": "1.2.2", - "@vitest/snapshot": "1.2.2", - "@vitest/spy": "1.2.2", - "@vitest/utils": "1.2.2", + "@vitest/expect": "1.3.0", + "@vitest/runner": "1.3.0", + "@vitest/snapshot": "1.3.0", + "@vitest/spy": "1.3.0", + "@vitest/utils": "1.3.0", "acorn-walk": "^8.3.2", - "cac": "^6.7.14", "chai": "^4.3.10", "debug": "^4.3.4", "execa": "^8.0.1", @@ -12172,11 +12178,11 @@ "pathe": "^1.1.1", "picocolors": "^1.0.0", "std-env": "^3.5.0", - "strip-literal": "^1.3.0", + "strip-literal": "^2.0.0", "tinybench": "^2.5.1", "tinypool": "^0.8.2", "vite": "^5.0.0", - "vite-node": "1.2.2", + "vite-node": "1.3.0", "why-is-node-running": "^2.2.2" }, "bin": { @@ -12191,8 +12197,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "^1.0.0", - "@vitest/ui": "^1.0.0", + "@vitest/browser": "1.3.0", + "@vitest/ui": "1.3.0", "happy-dom": "*", "jsdom": "*" }, diff --git a/package.json b/package.json index a414ae9ac..814ac0276 100644 --- a/package.json +++ b/package.json @@ -49,7 +49,7 @@ "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^7.0.1", "@typescript-eslint/parser": "^7.0.1", - "@vitest/coverage-v8": "^1.2.2", + "@vitest/coverage-v8": "^1.3.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", "eslint-plugin-prettier": "5.1.3", @@ -63,7 +63,7 @@ "tsx": "4.7.1", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.2.2" + "vitest": "^1.3.0" }, "c8": { "all": true, From b02fb01a1abe44e9cbc682907123486e7f599b11 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 19 Feb 2024 03:14:32 +0000 Subject: [PATCH 075/452] fix(deps): update dependency pino to ^8.19.0 (#1747) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index 07c8ab4d6..d164cbb10 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,7 @@ "adminjs": "^7.5.12", "fastify": "^4.26.1", "moment": "^2.30.1", - "pino": "^8.18.0", + "pino": "^8.19.0", "sequelize": "^6.37.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" @@ -9367,9 +9367,9 @@ } }, "node_modules/pino": { - "version": "8.18.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.18.0.tgz", - "integrity": "sha512-Mz/gKiRyuXu4HnpHgi1YWdHQCoWMufapzooisvFn78zl4dZciAxS+YeRkUxXl1ee/SzU80YCz1zpECCh4oC6Aw==", + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz", + "integrity": "sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", diff --git a/package.json b/package.json index 814ac0276..ee3deb1e9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "adminjs": "^7.5.12", "fastify": "^4.26.1", "moment": "^2.30.1", - "pino": "^8.18.0", + "pino": "^8.19.0", "sequelize": "^6.37.0", "sqlite": "^5.1.1", "ts-node": "10.9.2" From b174aba281377ac273606c282eeaf051bdcaab36 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 20 Feb 2024 07:03:57 +0000 Subject: [PATCH 076/452] fix(deps): update dependency sequelize to ^6.37.1 (#1749) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 8 ++++---- package.json | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package-lock.json b/package-lock.json index d164cbb10..ccba8f951 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,7 +17,7 @@ "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.19.0", - "sequelize": "^6.37.0", + "sequelize": "^6.37.1", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, @@ -10914,9 +10914,9 @@ "license": "ISC" }, "node_modules/sequelize": { - "version": "6.37.0", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.0.tgz", - "integrity": "sha512-MS6j6aXqWzB3fe9FhmfpQMgVC16bBdYroJCqIqR0l9M2ko8pZdKoi/0PiNWgMyFQDXUHxXyAOG3K07CbnOhteQ==", + "version": "6.37.1", + "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.1.tgz", + "integrity": "sha512-vIKKzQ9dGp2aBOxQRD1FmUYViuQiKXSJ8yah8TsaBx4U3BokJt+Y2A0qz2C4pj08uX59qpWxRqSLEfRmVOEgQw==", "funding": [ { "type": "opencollective", diff --git a/package.json b/package.json index ee3deb1e9..48cd33068 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "fastify": "^4.26.1", "moment": "^2.30.1", "pino": "^8.19.0", - "sequelize": "^6.37.0", + "sequelize": "^6.37.1", "sqlite": "^5.1.1", "ts-node": "10.9.2" }, From 325aa4ad501f848dfefb70886caf0b0bc5c09016 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 21 Feb 2024 12:20:01 +0000 Subject: [PATCH 077/452] chore(deps): update typescript-eslint monorepo to ^7.0.2 (#1750) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package-lock.json | 88 +++++++++++++++++++++++------------------------ package.json | 4 +-- 2 files changed, 46 insertions(+), 46 deletions(-) diff --git a/package-lock.json b/package-lock.json index ccba8f951..90fc57e5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -29,8 +29,8 @@ "@types/node": "^20.11.19", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^7.0.1", - "@typescript-eslint/parser": "^7.0.1", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "@vitest/coverage-v8": "^1.3.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", @@ -4047,16 +4047,16 @@ "license": "MIT" }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.1.tgz", - "integrity": "sha512-OLvgeBv3vXlnnJGIAgCLYKjgMEU+wBGj07MQ/nxAaON+3mLzX7mJbhRYrVGiVvFiXtwFlkcBa/TtmglHy0UbzQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.2.tgz", + "integrity": "sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.0.1", - "@typescript-eslint/type-utils": "7.0.1", - "@typescript-eslint/utils": "7.0.1", - "@typescript-eslint/visitor-keys": "7.0.1", + "@typescript-eslint/scope-manager": "7.0.2", + "@typescript-eslint/type-utils": "7.0.2", + "@typescript-eslint/utils": "7.0.2", + "@typescript-eslint/visitor-keys": "7.0.2", "debug": "^4.3.4", "graphemer": "^1.4.0", "ignore": "^5.2.4", @@ -4082,15 +4082,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.1.tgz", - "integrity": "sha512-8GcRRZNzaHxKzBPU3tKtFNing571/GwPBeCvmAUw0yBtfE2XVd0zFKJIMSWkHJcPQi0ekxjIts6L/rrZq5cxGQ==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.2.tgz", + "integrity": "sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.0.1", - "@typescript-eslint/types": "7.0.1", - "@typescript-eslint/typescript-estree": "7.0.1", - "@typescript-eslint/visitor-keys": "7.0.1", + "@typescript-eslint/scope-manager": "7.0.2", + "@typescript-eslint/types": "7.0.2", + "@typescript-eslint/typescript-estree": "7.0.2", + "@typescript-eslint/visitor-keys": "7.0.2", "debug": "^4.3.4" }, "engines": { @@ -4110,13 +4110,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.1.tgz", - "integrity": "sha512-v7/T7As10g3bcWOOPAcbnMDuvctHzCFYCG/8R4bK4iYzdFqsZTbXGln0cZNVcwQcwewsYU2BJLay8j0/4zOk4w==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.2.tgz", + "integrity": "sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.0.1", - "@typescript-eslint/visitor-keys": "7.0.1" + "@typescript-eslint/types": "7.0.2", + "@typescript-eslint/visitor-keys": "7.0.2" }, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4127,13 +4127,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.1.tgz", - "integrity": "sha512-YtT9UcstTG5Yqy4xtLiClm1ZpM/pWVGFnkAa90UfdkkZsR1eP2mR/1jbHeYp8Ay1l1JHPyGvoUYR6o3On5Nhmw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.2.tgz", + "integrity": "sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.0.1", - "@typescript-eslint/utils": "7.0.1", + "@typescript-eslint/typescript-estree": "7.0.2", + "@typescript-eslint/utils": "7.0.2", "debug": "^4.3.4", "ts-api-utils": "^1.0.1" }, @@ -4154,9 +4154,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.1.tgz", - "integrity": "sha512-uJDfmirz4FHib6ENju/7cz9SdMSkeVvJDK3VcMFvf/hAShg8C74FW+06MaQPODHfDJp/z/zHfgawIJRjlu0RLg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.2.tgz", + "integrity": "sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==", "dev": true, "engines": { "node": "^16.0.0 || >=18.0.0" @@ -4167,13 +4167,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.1.tgz", - "integrity": "sha512-SO9wHb6ph0/FN5OJxH4MiPscGah5wjOd0RRpaLvuBv9g8565Fgu0uMySFEPqwPHiQU90yzJ2FjRYKGrAhS1xig==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.2.tgz", + "integrity": "sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.0.1", - "@typescript-eslint/visitor-keys": "7.0.1", + "@typescript-eslint/types": "7.0.2", + "@typescript-eslint/visitor-keys": "7.0.2", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -4219,17 +4219,17 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.1.tgz", - "integrity": "sha512-oe4his30JgPbnv+9Vef1h48jm0S6ft4mNwi9wj7bX10joGn07QRfqIqFHoMiajrtoU88cIhXf8ahwgrcbNLgPA==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.2.tgz", + "integrity": "sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.0.1", - "@typescript-eslint/types": "7.0.1", - "@typescript-eslint/typescript-estree": "7.0.1", + "@typescript-eslint/scope-manager": "7.0.2", + "@typescript-eslint/types": "7.0.2", + "@typescript-eslint/typescript-estree": "7.0.2", "semver": "^7.5.4" }, "engines": { @@ -4244,12 +4244,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.1.tgz", - "integrity": "sha512-hwAgrOyk++RTXrP4KzCg7zB2U0xt7RUU0ZdMSCsqF3eKUwkdXUMyTb0qdCuji7VIbcpG62kKTU9M1J1c9UpFBw==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.2.tgz", + "integrity": "sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.0.1", + "@typescript-eslint/types": "7.0.2", "eslint-visitor-keys": "^3.4.1" }, "engines": { diff --git a/package.json b/package.json index 48cd33068..165e286aa 100644 --- a/package.json +++ b/package.json @@ -47,8 +47,8 @@ "@types/node": "^20.11.19", "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^7.0.1", - "@typescript-eslint/parser": "^7.0.1", + "@typescript-eslint/eslint-plugin": "^7.0.2", + "@typescript-eslint/parser": "^7.0.2", "@vitest/coverage-v8": "^1.3.0", "eslint": "^8.56.0", "eslint-config-prettier": "^9.1.0", From c5fe3f3f7c6b6793258b69987dcddcbba40b4289 Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:26:22 -0500 Subject: [PATCH 078/452] Start of NPS. Again. (#1682) * Start of NPS. Again. * Remove ServerError and pino * Created ServerMessage * User login message parsing * Add gameUsers module and processGetProfileMaps message processor * Can validate profile name (debug) * check plate, start to handle new persona * format * Moved things around * can parse create profile request * can handle create persona * can save * game profile * very close * saving * saving * saving * yay admin * Start of a monorepo * Fix paths * Run always * add gitignore at top level * Slight changes * Cleanup web logging * wrap in a try-catch * upsert instead of create * rename start script * remove adminjs * works * Update to v4 * Fix tests * Fix the test for real this time * add lib * formatting * Update codecov.yml * Switch to yarn * Switch to yarn part 2 * fix indent * remove dupe key * Remove unneeded command * yarn, not corepack * No dash * Fix msgpack assert * Saving * Use pino as logger * Logs being a pain. Make logs required Force level to trace * Add Codedcov test analysis * There are two parts on your car * We _along have a car! * Use a decipher when deciphering data * Almost... * Fixed the math. Lobby is back * Signing * Signing --------- Co-authored-by: Joe Becher Co-authored-by: Joe Becher --- .gitattributes | 6 + .github/codecov.yml | 28 +- .github/workflows/node.yml | 18 +- .gitignore | 30 +- .pnp.cjs | 14559 ++++++++++++++++ .pnp.loader.mjs | 2076 +++ .sentryclirc | 2 - .vscode/c_cpp_properties.json | 16 + .vscode/extensions.json | 16 +- .vscode/launch.json | 50 +- .vscode/settings.json | 25 +- .vscode/tasks.json | 25 + .yarn/sdks/integrations.yml | 5 + .yarn/sdks/prettier/bin/prettier.cjs | 20 + .yarn/sdks/prettier/index.cjs | 20 + .yarn/sdks/prettier/package.json | 7 + .yarn/sdks/typescript/bin/tsc | 20 + .yarn/sdks/typescript/bin/tsserver | 20 + .yarn/sdks/typescript/lib/tsc.js | 20 + .yarn/sdks/typescript/lib/tsserver.js | 225 + .yarn/sdks/typescript/lib/tsserverlibrary.js | 225 + .yarn/sdks/typescript/lib/typescript.js | 20 + .yarn/sdks/typescript/package.json | 10 + README.md | 28 +- docker-compose.yml | 68 - migrate.ts | 12 + .../2024.02.11T13.01.48.attachmentPoint.sql | 6 + migrations/2024.02.11T13.19.25.brand.sql | 8 + migrations/2024.02.11T13.23.01.model.sql | 33 + .../2024.02.11T13.33.31.abstractPartType.sql | 36 + migrations/2024.02.11T13.38.39.partGrade.sql | 9 + migrations/2024.02.11T13.39.20.partType.sql | 13 + .../2024.02.11T13.40.36.brandedPart.sql | 17 + migrations/2024.02.11T13.41.55.part.sql | 20 + .../2024.02.11T13.45.10.driverClass.sql | 6 + migrations/2024.02.11T13.46.16.playerType.sql | 6 + migrations/2024.02.11T14.07.43.player.sql | 80 + migrations/2024.02.11T14.22.15.skinType.sql | 6 + migrations/2024.02.11T14.23.13.ptSkin.sql | 73 + migrations/2024.02.11T14.24.06.vehicle.sql | 15 + ....02.11T23.16.45.initialAttachmentPoint.sql | 14 + .../2024.02.11T23.20.55.initialBrand.sql | 105 + .../2024.02.11T23.26.25.initialModel.sql | 3524 ++++ ...02.11T23.27.19.initialAbstractPartType.sql | 71 + ...2.11T23.27.55.initialAbstractPartGrade.sql | 6 + ...02.11T23.28.36.initialAbstractPartType.sql | 3397 ++++ ...2024.02.11T23.29.19.initialBrandedPart.sql | 3529 ++++ .../2024.02.11T23.30.06.initialPart.sql | 1 + ...2024.02.11T23.30.44.initialDriverClass.sql | 4 + .../2024.02.11T23.32.01.initialPlayerType.sql | 6 + .../2024.02.11T23.32.44.initialPlayer.sql | 567 + .../2024.02.13T03.00.46.createSVACarClass.sql | 6 + ...2.13T03.02.19.createSVAModeRestriction.sql | 6 + ...T03.02.49.createStockVehicleAtrributes.sql | 23 + ...2024.02.13T03.18.24.initialSVACarClass.sql | 5 + ....13T03.19.03.initialSVAModeRestriction.sql | 7 + ...03.19.49.initialStockVehicleAttributes.sql | 160 + ...024.02.13T23.56.02.createStockAssembly.sql | 15 + ...24.02.13T23.58.02.initialStockAssembly.sql | 10224 +++++++++++ .../2024.02.15T00.21.44.initialSkinType.sql | 11 + .../2024.02.15T00.22.20.initialPTSkin.sql | 1264 ++ ...02.16T13.06.41.createNextPartNumberSeq.sql | 7 + .../2024.02.11T13.01.48.attachmentPoint.sql | 1 + migrations/down/2024.02.11T13.19.25.brand.sql | 1 + migrations/down/2024.02.11T13.23.01.model.sql | 1 + .../2024.02.11T13.33.31.abstractPartType.sql | 1 + .../down/2024.02.11T13.38.39.partGrade.sql | 1 + .../down/2024.02.11T13.39.20.partType.sql | 1 + .../down/2024.02.11T13.40.36.brandedPart.sql | 1 + migrations/down/2024.02.11T13.41.55.part.sql | 1 + .../down/2024.02.11T13.45.10.driverClass.sql | 1 + .../down/2024.02.11T13.46.16.playerType.sql | 1 + .../down/2024.02.11T14.07.43.player.sql | 1 + .../down/2024.02.11T14.22.15.skinType.sql | 1 + .../down/2024.02.11T14.23.13.ptSkin.sql | 1 + .../down/2024.02.11T14.24.06.vehicle.sql | 1 + ....02.11T23.16.45.initialAttachmentPoint.sql | 1 + .../down/2024.02.11T23.20.55.initialBrand.sql | 1 + .../down/2024.02.11T23.26.25.initialModel.sql | 1 + ...02.11T23.27.19.initialAbstractPartType.sql | 1 + ...2.11T23.27.55.initialAbstractPartGrade.sql | 1 + ...02.11T23.28.36.initialAbstractPartType.sql | 1 + ...2024.02.11T23.29.19.initialBrandedPart.sql | 1 + .../down/2024.02.11T23.30.06.initialPart.sql | 1 + ...2024.02.11T23.30.44.initialDriverClass.sql | 1 + .../2024.02.11T23.32.01.initialPlayerType.sql | 1 + .../2024.02.11T23.32.44.initialPlayer.sql | 1 + .../2024.02.13T03.00.46.createSVACarClass.sql | 1 + ...T03.01.15.createStockVehicleAtrributes.sql | 1 + ...2.13T03.02.19.createSVAModeRestriction.sql | 1 + ...T03.02.49.createStockVehicleAtrributes.sql | 1 + ...2024.02.13T03.18.24.initialSVACarClass.sql | 1 + ....13T03.19.03.initialSVAModeRestriction.sql | 1 + ...03.19.49.initialStockVehicleAttributes.sql | 1 + ...024.02.13T23.56.02.createStockAssembly.sql | 1 + ...24.02.13T23.58.02.initialStockAssembly.sql | 1 + .../2024.02.15T00.21.44.initialSkinType.sql | 1 + .../2024.02.15T00.22.20.initialPTSkin.sql | 1 + ...02.16T13.06.41.createNextPartNumberSeq.sql | 1 + package-lock.json | 12624 -------------- package.json | 119 +- packages/database/src/models/Lobby.ts | 98 - packages/database/src/models/Player.ts | 46 - packages/database/src/models/Session.ts | 10 - packages/database/test/Player.test.ts | 8 - packages/gateway/src/index.ts | 215 - packages/lobby/src/handlers/heartbeat.js | 40 - packages/lobby/src/handlers/index.js | 41 - packages/shared/Configuration.ts | 97 - packages/shared/errors/ServerError.ts | 112 - packages/shared/log.ts | 104 - packages/transactions/src/_logout.ts | 26 - packages/transactions/src/login.ts | 32 - packages/transactions/test/login.test.ts | 27 - test/factoryMocks.ts | 41 - .dockerignore => thebeast/.dockerignore | 0 .editorconfig => thebeast/.editorconfig | 0 .eslintignore => thebeast/.eslintignore | 0 .eslintrc.json => thebeast/.eslintrc.json | 0 thebeast/.gitignore | 23 + .nvmrc => thebeast/.nvmrc | 0 Makefile => thebeast/Makefile | 3 +- thebeast/README.md | 33 + {data => thebeast/data}/mcouniverse.cnf | 0 {data => thebeast/data}/mcouniverse.crt | 0 {data => thebeast/data}/private_key.pem | 0 {data => thebeast/data}/pub.key | 0 thebeast/docker-compose.yml | 32 + {docs => thebeast/docs}/client.md | 0 {docs => thebeast/docs}/flow.md | 0 {docs => thebeast/docs}/reference/export.psql | 0 .../docs}/reference/pkware/Makefile | 0 .../docs}/reference/pkware/PKWare.vcxproj | 0 .../reference/pkware/PKWare.vcxproj.filters | 0 .../docs}/reference/pkware/Pkware.dsp | 0 .../docs}/reference/pkware/Readme.md | 0 .../docs}/reference/pkware/explode.cpp | 0 .../docs}/reference/pkware/implode.cpp | 0 .../docs}/reference/pkware/pkware.h | 0 {docs => thebeast/docs}/server.md | 0 {docs => thebeast/docs}/technicial/README.md | 0 .../docs}/technicial/external_notes.md | 0 .../docs}/technicial/internal_notes.md | 0 .../images}/2012-10-12_lobby.png | Bin .../jsconfig-old.json | 0 {lib => thebeast/lib}/index.d.ts | 0 thebeast/lib/nps/index.ts | 20 + .../messageProcessors/getLobMiniRiffList.ts | 33 + .../messageProcessors/getLobMiniUserList.ts | 22 + thebeast/lib/nps/messageProcessors/index.ts | 84 + .../nps/messageProcessors/lobbyCommands.ts | 15 + .../processCheckPlateText.ts | 44 + .../processCheckProfileName.ts | 26 + .../messageProcessors/processCreateProfile.ts | 38 + .../messageProcessors/processDeleteProfile.ts | 106 + .../processEncryptedGameCommand.ts | 113 + .../nps/messageProcessors/processGameLogin.ts | 57 + .../messageProcessors/processGetFirstBuddy.ts | 38 + .../processGetProfileInfo.ts | 57 + .../processGetProfileMaps.ts | 62 + .../messageProcessors/processLobbyLogin.ts | 61 + .../lib/nps/messageProcessors/processPing.ts | 24 + .../nps/messageProcessors/processUserLogin.ts | 202 + .../lib/nps/messageStructs/GameMessage.ts | 196 + .../lib/nps/messageStructs/GameProfile.ts | 198 + .../lib/nps/messageStructs/MiniRiffList.ts | 98 + .../lib/nps/messageStructs/MiniUserList.ts | 73 + thebeast/lib/nps/messageStructs/NPSList.ts | 34 + .../lib/nps/messageStructs/ProfileList.ts | 59 + thebeast/lib/nps/messageStructs/SessionKey.ts | 78 + thebeast/lib/nps/messageStructs/UserAction.ts | 49 + thebeast/lib/nps/messageStructs/UserInfo.ts | 46 + thebeast/lib/nps/messageStructs/UserStatus.ts | 155 + thebeast/lib/nps/services/account.ts | 65 + thebeast/lib/nps/services/profile.ts | 71 + thebeast/lib/nps/services/session.ts | 173 + thebeast/lib/nps/services/token.ts | 65 + thebeast/lib/nps/services/types.ts | 18 + thebeast/lib/nps/types.ts | 23 + thebeast/lib/nps/utils/pureCompare.ts | 26 + thebeast/lib/nps/utils/pureGet.ts | 59 + thebeast/lib/nps/utils/purePut.ts | 105 + {misc => thebeast/misc}/mco-installer.ps1 | 84 +- {misc => thebeast/misc}/port-forward.ps1 | 0 thebeast/package.json | 87 + .../packages}/cli/ConsoleThread.ts | 9 +- .../core/src/serializationHelpers.test.ts | 0 .../core/src/serializationHelpers.ts | 4 +- .../packages}/database/src/DatabaseManager.ts | 40 +- thebeast/packages/database/src/cache.ts | 92 + .../database/src/models/AttachmentPoint.ts | 82 + .../packages/database/src/models/Brand.ts | 5 + .../database/src/models/BrandedPart.ts | 10 + .../packages/database/src/models/Model.ts | 30 + thebeast/packages/database/src/models/Part.ts | 14 + .../database/src/models/VehiclePartTree.ts | 504 + .../packages/database/src/services/admin.ts | 297 + .../database/src/services/database.ts | 7 + .../packages}/database/test/Database.test.ts | 33 +- .../packages}/gateway/src/GatewayServer.ts | 98 +- .../packages}/gateway/src/encryption.ts | 9 +- thebeast/packages/gateway/src/index.ts | 330 + .../packages}/gateway/src/web.ts | 36 +- .../packages}/gateway/test/encryption.test.ts | 5 +- .../packages}/interfaces/index.d.ts | 11 +- .../packages}/lobby/src/LoginInfoMessage.ts | 11 +- .../packages}/lobby/src/MiniRiffMessage.js | 0 .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts | 0 .../lobby/src/NPS_LOBBYSERVER_COMMANDS.ts | 0 .../packages}/lobby/src/NPS_LOBBY_COMMANDS.ts | 0 .../packages}/lobby/src/UserInfoMessage.ts | 11 +- .../lobby/src/handlers/_setMyUserData.ts | 18 +- .../lobby/src/handlers/encryptedCommand.ts | 50 +- .../src/handlers/handleGetMiniUserList.ts | 18 +- .../src/handlers/handleSendMiniRiffList.ts | 18 +- .../lobby/src/handlers/handleTrackingPing.ts | 10 +- .../src/handlers/requestConnectGameServer.ts | 15 +- .../packages}/lobby/src/internal.ts | 23 +- .../handlers/handleSendMiniRiffList.test.ts | 4 + .../packages}/login/src/NPSUserStatus.ts | 19 +- .../login/src/NPS_LOGINCLIENT_COMMANDS.ts | 0 .../packages}/login/src/NPS_LOGIN_COMMANDS.ts | 0 .../packages}/login/src/index.ts | 33 +- .../packages}/login/src/internal.ts | 34 +- .../packages}/login/src/premadeLogin.ts | 0 .../packages}/login/test/LoginServer.test.ts | 12 +- .../packages}/patch/src/PatchServer.ts | 18 +- .../packages}/patch/test/PatchServer.test.ts | 6 +- .../packages}/persona/src/BuddyInfoMessage.ts | 0 .../persona/src/PersonaMapsMessage.ts | 19 +- .../packages}/persona/src/_gameLogout.ts | 10 +- .../packages}/persona/src/_getFirstBuddy.ts | 8 +- .../persona/src/_selectGamePersona.ts | 10 +- .../persona/src/getPersonasByPersonaId.ts | 3 +- .../src/handlers/validatePersonaName.ts | 8 +- .../packages}/persona/src/index.js | 2 +- .../packages}/persona/src/internal.ts | 34 +- .../test/getPersonasByPersonaId.test.ts | 0 .../packages}/shard/README.md | 0 .../packages}/shard/src/ShardServer.ts | 0 .../packages}/shard/src/index.ts | 9 +- .../packages}/shard/src/shard-entry.ts | 0 .../shard/test/fixtures/testCert.txt | 0 .../packages}/shard/test/fixtures/testKey.txt | 0 .../packages}/shard/test/shard-entry.test.ts | 0 thebeast/packages/shared/Configuration.ts | 77 + .../packages}/shared/MessageNode.ts | 5 +- .../packages}/shared/NPSMessage.js | 0 .../packages}/shared/RawMessageHeader.js | 0 .../packages}/shared/ServerMessage.test.ts | 0 .../packages}/shared/State.ts | 4 +- .../packages}/shared/SubThread.ts | 15 +- .../packages}/shared/TimeStamp.ts | 0 thebeast/packages/shared/log.ts | 119 + .../packages}/shared/messageFactory.ts | 75 +- .../packages}/shared/src/BaseSerialized.ts | 6 +- .../packages}/shared/src/NetworkMessage.ts | 5 +- .../packages}/shared/src/RawMessage.ts | 5 +- .../packages}/shared/src/SerializedBuffer.ts | 10 +- .../packages}/shared/src/ServerMessage.ts | 5 +- .../packages}/shared/structs.ts | 30 +- .../shared/test/BaseSerialized.test.ts | 0 .../packages}/shared/test/RawMessage.test.ts | 0 .../shared/test/SerializedBuffer.test.ts | 0 .../packages}/shared/utils.js | 0 .../transactions/src/ArcadeCarMessage.ts | 0 .../transactions/src/EntryFeePurseMessage.ts | 3 +- .../transactions/src/GameUrlsMessage.ts | 0 .../transactions/src/GenericReplyMessage.ts | 91 +- .../transactions/src/GenericRequestMessage.ts | 0 .../transactions/src/LobbyMessage.ts | 3 +- .../transactions/src/OwnedVehiclesMessage.ts | 0 .../transactions/src/PartsAssemblyMessage.ts | 0 .../transactions/src/PlayerInfoMessage.ts | 0 .../transactions/src/PlayerPhysicalMessage.ts | 31 +- .../src/PlayerRacingHistoryMessage.ts | 0 .../packages}/transactions/src/StockCar.ts | 0 .../transactions/src/StockCarInfoMessage.ts | 0 .../transactions/src/TClientConnectMessage.ts | 0 .../transactions/src/TLoginMessage.ts | 64 +- .../transactions/src/TunablesMessage.ts | 0 .../transactions/src/_getArcadeCarInfo.ts | 0 .../transactions/src/_getGameUrls.ts | 0 .../transactions/src/_getOwnedParts.ts | 3 +- .../transactions/src/_getOwnedVehicles.ts | 0 .../transactions/src/_getPlayerInfo.ts | 3 +- .../transactions/src/_getPlayerPhysical.ts | 2 +- .../transactions/src/_getPlayerRaceHistory.ts | 0 .../transactions/src/_getStockCarInfo.ts | 4 +- .../transactions/src/_getTunables.ts | 0 thebeast/packages/transactions/src/_logout.ts | 24 + .../packages/transactions/src/_setOptions.ts | 31 + .../transactions/src/_updatePlayerPhysical.ts | 34 + .../transactions/src/clientConnect.ts | 26 +- .../packages}/transactions/src/getLobbies.ts | 0 .../packages}/transactions/src/handlers.ts | 18 +- .../packages}/transactions/src/internal.ts | 38 +- thebeast/packages/transactions/src/login.ts | 72 + .../_getCompleteVehicleInfo.ts | 293 + .../src/messageStructs/CarInfoMessage.ts | 71 + .../messageStructs/PlayerOptionsMessage.ts | 123 + .../transactions/src/models/PartModel.ts | 123 + .../transactions/src/models/VehicleModel.ts | 71 + .../packages/transactions/src/models/index.ts | 4 + .../packages/transactions/src/services/car.ts | 26 + .../transactions/src/trackingPing.ts | 0 .../transactions/test/LobbyMessage.test.ts | 0 .../test/OwnedVehiclesMessage.test.ts | 0 .../test/PartsAssemblyMessage.test.ts | 0 .../test/PlayerInfoMessage.test.ts | 0 .../test/PlayerRacingHistoryMessage.test.ts | 0 .../test/TClientConnectMessage.test.ts | 0 .../test/_getPlayerRaceHistory.test.ts | 6 +- .../transactions/test/clientConnect.test.ts | 12 +- .../transactions/test/getLobbies.test.ts | 6 +- .../transactions/test/trackingPing.test.ts | 10 +- prettierrc => thebeast/prettierrc | 0 server.ts => thebeast/server.ts | 18 +- .../services}/sslProxy/Dockerfile | 0 .../services}/sslProxy/cert1.pem | 0 .../services}/sslProxy/chain1.pem | 0 .../services}/sslProxy/fullchain1.pem | 0 .../services}/sslProxy/mcouniverse.pem | 0 .../services}/sslProxy/nginx.conf | 3 + .../services}/sslProxy/private_key.pem | 0 .../services}/sslProxy/privkey1.pem | 0 thebeast/test/factoryMocks.ts | 14 + tsconfig.json | 7 +- vite.config.ts | 2 + yarn.lock | 6022 +++++++ 330 files changed, 52586 insertions(+), 14410 deletions(-) create mode 100644 .gitattributes create mode 100755 .pnp.cjs create mode 100644 .pnp.loader.mjs delete mode 100644 .sentryclirc create mode 100644 .vscode/c_cpp_properties.json create mode 100644 .vscode/tasks.json create mode 100644 .yarn/sdks/integrations.yml create mode 100755 .yarn/sdks/prettier/bin/prettier.cjs create mode 100644 .yarn/sdks/prettier/index.cjs create mode 100644 .yarn/sdks/prettier/package.json create mode 100755 .yarn/sdks/typescript/bin/tsc create mode 100755 .yarn/sdks/typescript/bin/tsserver create mode 100644 .yarn/sdks/typescript/lib/tsc.js create mode 100644 .yarn/sdks/typescript/lib/tsserver.js create mode 100644 .yarn/sdks/typescript/lib/tsserverlibrary.js create mode 100644 .yarn/sdks/typescript/lib/typescript.js create mode 100644 .yarn/sdks/typescript/package.json delete mode 100644 docker-compose.yml create mode 100644 migrate.ts create mode 100644 migrations/2024.02.11T13.01.48.attachmentPoint.sql create mode 100644 migrations/2024.02.11T13.19.25.brand.sql create mode 100644 migrations/2024.02.11T13.23.01.model.sql create mode 100644 migrations/2024.02.11T13.33.31.abstractPartType.sql create mode 100644 migrations/2024.02.11T13.38.39.partGrade.sql create mode 100644 migrations/2024.02.11T13.39.20.partType.sql create mode 100644 migrations/2024.02.11T13.40.36.brandedPart.sql create mode 100644 migrations/2024.02.11T13.41.55.part.sql create mode 100644 migrations/2024.02.11T13.45.10.driverClass.sql create mode 100644 migrations/2024.02.11T13.46.16.playerType.sql create mode 100644 migrations/2024.02.11T14.07.43.player.sql create mode 100644 migrations/2024.02.11T14.22.15.skinType.sql create mode 100644 migrations/2024.02.11T14.23.13.ptSkin.sql create mode 100644 migrations/2024.02.11T14.24.06.vehicle.sql create mode 100644 migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql create mode 100644 migrations/2024.02.11T23.20.55.initialBrand.sql create mode 100644 migrations/2024.02.11T23.26.25.initialModel.sql create mode 100644 migrations/2024.02.11T23.27.19.initialAbstractPartType.sql create mode 100644 migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql create mode 100644 migrations/2024.02.11T23.28.36.initialAbstractPartType.sql create mode 100644 migrations/2024.02.11T23.29.19.initialBrandedPart.sql create mode 100644 migrations/2024.02.11T23.30.06.initialPart.sql create mode 100644 migrations/2024.02.11T23.30.44.initialDriverClass.sql create mode 100644 migrations/2024.02.11T23.32.01.initialPlayerType.sql create mode 100644 migrations/2024.02.11T23.32.44.initialPlayer.sql create mode 100644 migrations/2024.02.13T03.00.46.createSVACarClass.sql create mode 100644 migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql create mode 100644 migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql create mode 100644 migrations/2024.02.13T03.18.24.initialSVACarClass.sql create mode 100644 migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql create mode 100644 migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql create mode 100644 migrations/2024.02.13T23.56.02.createStockAssembly.sql create mode 100644 migrations/2024.02.13T23.58.02.initialStockAssembly.sql create mode 100644 migrations/2024.02.15T00.21.44.initialSkinType.sql create mode 100644 migrations/2024.02.15T00.22.20.initialPTSkin.sql create mode 100644 migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql create mode 100644 migrations/down/2024.02.11T13.01.48.attachmentPoint.sql create mode 100644 migrations/down/2024.02.11T13.19.25.brand.sql create mode 100644 migrations/down/2024.02.11T13.23.01.model.sql create mode 100644 migrations/down/2024.02.11T13.33.31.abstractPartType.sql create mode 100644 migrations/down/2024.02.11T13.38.39.partGrade.sql create mode 100644 migrations/down/2024.02.11T13.39.20.partType.sql create mode 100644 migrations/down/2024.02.11T13.40.36.brandedPart.sql create mode 100644 migrations/down/2024.02.11T13.41.55.part.sql create mode 100644 migrations/down/2024.02.11T13.45.10.driverClass.sql create mode 100644 migrations/down/2024.02.11T13.46.16.playerType.sql create mode 100644 migrations/down/2024.02.11T14.07.43.player.sql create mode 100644 migrations/down/2024.02.11T14.22.15.skinType.sql create mode 100644 migrations/down/2024.02.11T14.23.13.ptSkin.sql create mode 100644 migrations/down/2024.02.11T14.24.06.vehicle.sql create mode 100644 migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql create mode 100644 migrations/down/2024.02.11T23.20.55.initialBrand.sql create mode 100644 migrations/down/2024.02.11T23.26.25.initialModel.sql create mode 100644 migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql create mode 100644 migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql create mode 100644 migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql create mode 100644 migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql create mode 100644 migrations/down/2024.02.11T23.30.06.initialPart.sql create mode 100644 migrations/down/2024.02.11T23.30.44.initialDriverClass.sql create mode 100644 migrations/down/2024.02.11T23.32.01.initialPlayerType.sql create mode 100644 migrations/down/2024.02.11T23.32.44.initialPlayer.sql create mode 100644 migrations/down/2024.02.13T03.00.46.createSVACarClass.sql create mode 100644 migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql create mode 100644 migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql create mode 100644 migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql create mode 100644 migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql create mode 100644 migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql create mode 100644 migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql create mode 100644 migrations/down/2024.02.13T23.56.02.createStockAssembly.sql create mode 100644 migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql create mode 100644 migrations/down/2024.02.15T00.21.44.initialSkinType.sql create mode 100644 migrations/down/2024.02.15T00.22.20.initialPTSkin.sql create mode 100644 migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql delete mode 100644 package-lock.json delete mode 100644 packages/database/src/models/Lobby.ts delete mode 100644 packages/database/src/models/Player.ts delete mode 100644 packages/database/src/models/Session.ts delete mode 100644 packages/database/test/Player.test.ts delete mode 100644 packages/gateway/src/index.ts delete mode 100644 packages/lobby/src/handlers/heartbeat.js delete mode 100644 packages/lobby/src/handlers/index.js delete mode 100644 packages/shared/Configuration.ts delete mode 100644 packages/shared/errors/ServerError.ts delete mode 100644 packages/shared/log.ts delete mode 100644 packages/transactions/src/_logout.ts delete mode 100644 packages/transactions/src/login.ts delete mode 100644 packages/transactions/test/login.test.ts delete mode 100644 test/factoryMocks.ts rename .dockerignore => thebeast/.dockerignore (100%) rename .editorconfig => thebeast/.editorconfig (100%) rename .eslintignore => thebeast/.eslintignore (100%) rename .eslintrc.json => thebeast/.eslintrc.json (100%) create mode 100644 thebeast/.gitignore rename .nvmrc => thebeast/.nvmrc (100%) rename Makefile => thebeast/Makefile (95%) create mode 100644 thebeast/README.md rename {data => thebeast/data}/mcouniverse.cnf (100%) rename {data => thebeast/data}/mcouniverse.crt (100%) rename {data => thebeast/data}/private_key.pem (100%) rename {data => thebeast/data}/pub.key (100%) create mode 100644 thebeast/docker-compose.yml rename {docs => thebeast/docs}/client.md (100%) rename {docs => thebeast/docs}/flow.md (100%) rename {docs => thebeast/docs}/reference/export.psql (100%) rename {docs => thebeast/docs}/reference/pkware/Makefile (100%) rename {docs => thebeast/docs}/reference/pkware/PKWare.vcxproj (100%) rename {docs => thebeast/docs}/reference/pkware/PKWare.vcxproj.filters (100%) rename {docs => thebeast/docs}/reference/pkware/Pkware.dsp (100%) rename {docs => thebeast/docs}/reference/pkware/Readme.md (100%) rename {docs => thebeast/docs}/reference/pkware/explode.cpp (100%) rename {docs => thebeast/docs}/reference/pkware/implode.cpp (100%) rename {docs => thebeast/docs}/reference/pkware/pkware.h (100%) rename {docs => thebeast/docs}/server.md (100%) rename {docs => thebeast/docs}/technicial/README.md (100%) rename {docs => thebeast/docs}/technicial/external_notes.md (100%) rename {docs => thebeast/docs}/technicial/internal_notes.md (100%) rename {images => thebeast/images}/2012-10-12_lobby.png (100%) rename jsconfig-old.json => thebeast/jsconfig-old.json (100%) rename {lib => thebeast/lib}/index.d.ts (100%) create mode 100644 thebeast/lib/nps/index.ts create mode 100644 thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts create mode 100644 thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts create mode 100644 thebeast/lib/nps/messageProcessors/index.ts create mode 100644 thebeast/lib/nps/messageProcessors/lobbyCommands.ts create mode 100644 thebeast/lib/nps/messageProcessors/processCheckPlateText.ts create mode 100644 thebeast/lib/nps/messageProcessors/processCheckProfileName.ts create mode 100644 thebeast/lib/nps/messageProcessors/processCreateProfile.ts create mode 100644 thebeast/lib/nps/messageProcessors/processDeleteProfile.ts create mode 100644 thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts create mode 100644 thebeast/lib/nps/messageProcessors/processGameLogin.ts create mode 100644 thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts create mode 100644 thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts create mode 100644 thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts create mode 100644 thebeast/lib/nps/messageProcessors/processLobbyLogin.ts create mode 100644 thebeast/lib/nps/messageProcessors/processPing.ts create mode 100644 thebeast/lib/nps/messageProcessors/processUserLogin.ts create mode 100644 thebeast/lib/nps/messageStructs/GameMessage.ts create mode 100644 thebeast/lib/nps/messageStructs/GameProfile.ts create mode 100644 thebeast/lib/nps/messageStructs/MiniRiffList.ts create mode 100644 thebeast/lib/nps/messageStructs/MiniUserList.ts create mode 100644 thebeast/lib/nps/messageStructs/NPSList.ts create mode 100644 thebeast/lib/nps/messageStructs/ProfileList.ts create mode 100644 thebeast/lib/nps/messageStructs/SessionKey.ts create mode 100644 thebeast/lib/nps/messageStructs/UserAction.ts create mode 100644 thebeast/lib/nps/messageStructs/UserInfo.ts create mode 100644 thebeast/lib/nps/messageStructs/UserStatus.ts create mode 100644 thebeast/lib/nps/services/account.ts create mode 100644 thebeast/lib/nps/services/profile.ts create mode 100644 thebeast/lib/nps/services/session.ts create mode 100644 thebeast/lib/nps/services/token.ts create mode 100644 thebeast/lib/nps/services/types.ts create mode 100644 thebeast/lib/nps/types.ts create mode 100644 thebeast/lib/nps/utils/pureCompare.ts create mode 100644 thebeast/lib/nps/utils/pureGet.ts create mode 100644 thebeast/lib/nps/utils/purePut.ts rename {misc => thebeast/misc}/mco-installer.ps1 (97%) rename {misc => thebeast/misc}/port-forward.ps1 (100%) create mode 100644 thebeast/package.json rename {packages => thebeast/packages}/cli/ConsoleThread.ts (90%) rename {packages => thebeast/packages}/core/src/serializationHelpers.test.ts (100%) rename {packages => thebeast/packages}/core/src/serializationHelpers.ts (96%) rename {packages => thebeast/packages}/database/src/DatabaseManager.ts (78%) create mode 100644 thebeast/packages/database/src/cache.ts create mode 100644 thebeast/packages/database/src/models/AttachmentPoint.ts create mode 100644 thebeast/packages/database/src/models/Brand.ts create mode 100644 thebeast/packages/database/src/models/BrandedPart.ts create mode 100644 thebeast/packages/database/src/models/Model.ts create mode 100644 thebeast/packages/database/src/models/Part.ts create mode 100644 thebeast/packages/database/src/models/VehiclePartTree.ts create mode 100644 thebeast/packages/database/src/services/admin.ts create mode 100644 thebeast/packages/database/src/services/database.ts rename {packages => thebeast/packages}/database/test/Database.test.ts (76%) rename {packages => thebeast/packages}/gateway/src/GatewayServer.ts (80%) rename {packages => thebeast/packages}/gateway/src/encryption.ts (90%) create mode 100644 thebeast/packages/gateway/src/index.ts rename {packages => thebeast/packages}/gateway/src/web.ts (77%) rename {packages => thebeast/packages}/gateway/test/encryption.test.ts (96%) rename {packages => thebeast/packages}/interfaces/index.d.ts (95%) rename {packages => thebeast/packages}/lobby/src/LoginInfoMessage.ts (90%) rename {packages => thebeast/packages}/lobby/src/MiniRiffMessage.js (100%) rename {packages => thebeast/packages}/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts (100%) rename {packages => thebeast/packages}/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts (100%) rename {packages => thebeast/packages}/lobby/src/NPS_LOBBY_COMMANDS.ts (100%) rename {packages => thebeast/packages}/lobby/src/UserInfoMessage.ts (91%) rename {packages => thebeast/packages}/lobby/src/handlers/_setMyUserData.ts (74%) rename {packages => thebeast/packages}/lobby/src/handlers/encryptedCommand.ts (83%) rename {packages => thebeast/packages}/lobby/src/handlers/handleGetMiniUserList.ts (80%) rename {packages => thebeast/packages}/lobby/src/handlers/handleSendMiniRiffList.ts (78%) rename {packages => thebeast/packages}/lobby/src/handlers/handleTrackingPing.ts (72%) rename {packages => thebeast/packages}/lobby/src/handlers/requestConnectGameServer.ts (89%) rename {packages => thebeast/packages}/lobby/src/internal.ts (86%) rename {packages => thebeast/packages}/lobby/test/handlers/handleSendMiniRiffList.test.ts (80%) rename {packages => thebeast/packages}/login/src/NPSUserStatus.ts (88%) rename {packages => thebeast/packages}/login/src/NPS_LOGINCLIENT_COMMANDS.ts (100%) rename {packages => thebeast/packages}/login/src/NPS_LOGIN_COMMANDS.ts (100%) rename {packages => thebeast/packages}/login/src/index.ts (85%) rename {packages => thebeast/packages}/login/src/internal.ts (88%) rename {packages => thebeast/packages}/login/src/premadeLogin.ts (100%) rename {packages => thebeast/packages}/login/test/LoginServer.test.ts (69%) rename {packages => thebeast/packages}/patch/src/PatchServer.ts (85%) rename {packages => thebeast/packages}/patch/test/PatchServer.test.ts (88%) rename {packages => thebeast/packages}/persona/src/BuddyInfoMessage.ts (100%) rename {packages => thebeast/packages}/persona/src/PersonaMapsMessage.ts (95%) rename {packages => thebeast/packages}/persona/src/_gameLogout.ts (83%) rename {packages => thebeast/packages}/persona/src/_getFirstBuddy.ts (94%) rename {packages => thebeast/packages}/persona/src/_selectGamePersona.ts (85%) rename {packages => thebeast/packages}/persona/src/getPersonasByPersonaId.ts (81%) rename {packages => thebeast/packages}/persona/src/handlers/validatePersonaName.ts (87%) rename {packages => thebeast/packages}/persona/src/index.js (97%) rename {packages => thebeast/packages}/persona/src/internal.ts (90%) rename {packages => thebeast/packages}/persona/test/getPersonasByPersonaId.test.ts (100%) rename {packages => thebeast/packages}/shard/README.md (100%) rename {packages => thebeast/packages}/shard/src/ShardServer.ts (100%) rename {packages => thebeast/packages}/shard/src/index.ts (89%) rename {packages => thebeast/packages}/shard/src/shard-entry.ts (100%) rename {packages => thebeast/packages}/shard/test/fixtures/testCert.txt (100%) rename {packages => thebeast/packages}/shard/test/fixtures/testKey.txt (100%) rename {packages => thebeast/packages}/shard/test/shard-entry.test.ts (100%) create mode 100644 thebeast/packages/shared/Configuration.ts rename {packages => thebeast/packages}/shared/MessageNode.ts (94%) rename {packages => thebeast/packages}/shared/NPSMessage.js (100%) rename {packages => thebeast/packages}/shared/RawMessageHeader.js (100%) rename {packages => thebeast/packages}/shared/ServerMessage.test.ts (100%) rename {packages => thebeast/packages}/shared/State.ts (99%) rename {packages => thebeast/packages}/shared/SubThread.ts (65%) rename {packages => thebeast/packages}/shared/TimeStamp.ts (100%) create mode 100644 thebeast/packages/shared/log.ts rename {packages => thebeast/packages}/shared/messageFactory.ts (92%) rename {packages => thebeast/packages}/shared/src/BaseSerialized.ts (84%) rename {packages => thebeast/packages}/shared/src/NetworkMessage.ts (94%) rename {packages => thebeast/packages}/shared/src/RawMessage.ts (91%) rename {packages => thebeast/packages}/shared/src/SerializedBuffer.ts (75%) rename {packages => thebeast/packages}/shared/src/ServerMessage.ts (95%) rename {packages => thebeast/packages}/shared/structs.ts (87%) rename {packages => thebeast/packages}/shared/test/BaseSerialized.test.ts (100%) rename {packages => thebeast/packages}/shared/test/RawMessage.test.ts (100%) rename {packages => thebeast/packages}/shared/test/SerializedBuffer.test.ts (100%) rename {packages => thebeast/packages}/shared/utils.js (100%) rename {packages => thebeast/packages}/transactions/src/ArcadeCarMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/EntryFeePurseMessage.ts (97%) rename {packages => thebeast/packages}/transactions/src/GameUrlsMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/GenericReplyMessage.ts (71%) rename {packages => thebeast/packages}/transactions/src/GenericRequestMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/LobbyMessage.ts (99%) rename {packages => thebeast/packages}/transactions/src/OwnedVehiclesMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/PartsAssemblyMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/PlayerInfoMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/PlayerPhysicalMessage.ts (57%) rename {packages => thebeast/packages}/transactions/src/PlayerRacingHistoryMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/StockCar.ts (100%) rename {packages => thebeast/packages}/transactions/src/StockCarInfoMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/TClientConnectMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/TLoginMessage.ts (68%) rename {packages => thebeast/packages}/transactions/src/TunablesMessage.ts (100%) rename {packages => thebeast/packages}/transactions/src/_getArcadeCarInfo.ts (100%) rename {packages => thebeast/packages}/transactions/src/_getGameUrls.ts (100%) rename {packages => thebeast/packages}/transactions/src/_getOwnedParts.ts (91%) rename {packages => thebeast/packages}/transactions/src/_getOwnedVehicles.ts (100%) rename {packages => thebeast/packages}/transactions/src/_getPlayerInfo.ts (90%) rename {packages => thebeast/packages}/transactions/src/_getPlayerPhysical.ts (94%) rename {packages => thebeast/packages}/transactions/src/_getPlayerRaceHistory.ts (100%) rename {packages => thebeast/packages}/transactions/src/_getStockCarInfo.ts (93%) rename {packages => thebeast/packages}/transactions/src/_getTunables.ts (100%) create mode 100644 thebeast/packages/transactions/src/_logout.ts create mode 100644 thebeast/packages/transactions/src/_setOptions.ts create mode 100644 thebeast/packages/transactions/src/_updatePlayerPhysical.ts rename {packages => thebeast/packages}/transactions/src/clientConnect.ts (77%) rename {packages => thebeast/packages}/transactions/src/getLobbies.ts (100%) rename {packages => thebeast/packages}/transactions/src/handlers.ts (85%) rename {packages => thebeast/packages}/transactions/src/internal.ts (90%) create mode 100644 thebeast/packages/transactions/src/login.ts create mode 100644 thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts create mode 100644 thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts create mode 100644 thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts create mode 100644 thebeast/packages/transactions/src/models/PartModel.ts create mode 100644 thebeast/packages/transactions/src/models/VehicleModel.ts create mode 100644 thebeast/packages/transactions/src/models/index.ts create mode 100644 thebeast/packages/transactions/src/services/car.ts rename {packages => thebeast/packages}/transactions/src/trackingPing.ts (100%) rename {packages => thebeast/packages}/transactions/test/LobbyMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/OwnedVehiclesMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/PartsAssemblyMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/PlayerInfoMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/PlayerRacingHistoryMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/TClientConnectMessage.test.ts (100%) rename {packages => thebeast/packages}/transactions/test/_getPlayerRaceHistory.test.ts (87%) rename {packages => thebeast/packages}/transactions/test/clientConnect.test.ts (85%) rename {packages => thebeast/packages}/transactions/test/getLobbies.test.ts (85%) rename {packages => thebeast/packages}/transactions/test/trackingPing.test.ts (70%) rename prettierrc => thebeast/prettierrc (100%) rename server.ts => thebeast/server.ts (90%) rename {services => thebeast/services}/sslProxy/Dockerfile (100%) rename {services => thebeast/services}/sslProxy/cert1.pem (100%) rename {services => thebeast/services}/sslProxy/chain1.pem (100%) rename {services => thebeast/services}/sslProxy/fullchain1.pem (100%) rename {services => thebeast/services}/sslProxy/mcouniverse.pem (100%) rename {services => thebeast/services}/sslProxy/nginx.conf (93%) rename {services => thebeast/services}/sslProxy/private_key.pem (100%) rename {services => thebeast/services}/sslProxy/privkey1.pem (100%) create mode 100644 thebeast/test/factoryMocks.ts create mode 100644 yarn.lock diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..e55d8e1ee --- /dev/null +++ b/.gitattributes @@ -0,0 +1,6 @@ +/.yarn/releases/** binary +/.yarn/plugins/** binary + +# GitHub Linguist Override +.yarn/* linguist-vendored +.pnp.js linguist-vendored \ No newline at end of file diff --git a/.github/codecov.yml b/.github/codecov.yml index 050bc1f04..7e7a936af 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -7,47 +7,47 @@ comment: flags: database: paths: - - packages/database/** + - thebeast/packages/database/** carryforward: true gateway: paths: - - packages/gateway/** + - thebeast/packages/gateway/** carryforward: true lobby: paths: - - packages/lobby/** + - thebeast/packages/lobby/** carryforward: true login: paths: - - packages/login/** + - thebeast/packages/login/** carryforward: true patch: paths: - - packages/patch/** + - thebeast/packages/patch/** carryforward: true persona: paths: - - packages/persona/** + - thebeast/packages/persona/** carryforward: true shard: paths: - - packages/shard/** + - thebeast/packages/shard/** carryforward: true shared: paths: - - packages/shared/** + - thebeast/packages/shared/** carryforward: true transactions: paths: - - packages/transactions/** + - thebeast/packages/transactions/** carryforward: true interfaces: paths: - - packages/interfaces/** + - thebeast/packages/interfaces/** carryforward: false core: paths: - - packages/core/** + - thebeast/packages/core/** carryforward: true component_management: @@ -55,9 +55,9 @@ component_management: - component_id: components_team1 name: Team 1 paths: - - packages/core/** - - packages/gateway/** - - packages/shared/** + - thebeast/packages/core/** + - thebeast/packages/gateway/** + - thebeast/packages/shared/** coverage: status: diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 494a14698..5eb17e8c5 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -1,10 +1,8 @@ -name: Node.js CI +name: The Beast on: push: - branches: [main] pull_request: - branches: [main] env: MCO_LOG_LEVEL: warn @@ -25,17 +23,23 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - run: npm ci install - - name: Test - run: npm run test:only + - name: Enable Corepack and set version to stable + run: | + corepack enable + yarn set version stable + - name: Install and test thebeast workspace + run: | + yarn workspace @rusty-motors/thebeast install + yarn workspace @rusty-motors/thebeast test - name: Codecov - env: # Or as an environment variable + env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | pip install --user pytest pip install --user codecov-cli codecovcli --verbose create-commit --fail-on-error codecovcli --verbose create-report --fail-on-error + codecovcli do-upload --report-type test_results --file thebeast/mcos.junit.xml codecovcli --verbose do-upload --fail-on-error --flag database --name database-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag gateway --name gateway-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag lobby --name lobby-${{ matrix.node-version }} diff --git a/.gitignore b/.gitignore index b559f032f..7a7b427e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,16 @@ -*.env -*.tsbuildinfo -logs coverage -*.log -.nyc_output - -test-reports -junit -built *.sqlite -junit.xml -.dccache -*.db -node_modules/ -.DS_Store +*.log +.env +# yarn +.yarn/* +!.yarn/cache +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions dist -# Sentry Auth Token -.sentryclirc -*.map -out/* \ No newline at end of file +*junit.xml +rm.session.sql diff --git a/.pnp.cjs b/.pnp.cjs new file mode 100755 index 000000000..809042f51 --- /dev/null +++ b/.pnp.cjs @@ -0,0 +1,14559 @@ +#!/usr/bin/env node +/* eslint-disable */ +"use strict"; + +const RAW_RUNTIME_STATE = +'{\ + "__info": [\ + "This file is automatically generated. Do not touch it, or risk",\ + "your modifications being lost."\ + ],\ + "dependencyTreeRoots": [\ + {\ + "name": "rusty-motors",\ + "reference": "workspace:."\ + },\ + {\ + "name": "@rusty-motors/thebeast",\ + "reference": "workspace:thebeast"\ + }\ + ],\ + "enableTopLevelFallback": true,\ + "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ + "fallbackExclusionList": [\ + ["@rusty-motors/thebeast", ["workspace:thebeast"]],\ + ["rusty-motors", ["workspace:."]]\ + ],\ + "fallbackPool": [\ + ],\ + "packageRegistryData": [\ + [null, [\ + [null, {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ + ["@types/node", "npm:20.11.16"],\ + ["prettier", "npm:3.2.4"],\ + ["slonik", "npm:29.2.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@aashutoshrathi/word-wrap", [\ + ["npm:1.2.6", {\ + "packageLocation": "../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ + "packageDependencies": [\ + ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ampproject/remapping", [\ + ["npm:2.2.1", {\ + "packageLocation": "../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ + "packageDependencies": [\ + ["@ampproject/remapping", "npm:2.2.1"],\ + ["@jridgewell/gen-mapping", "npm:0.3.3"],\ + ["@jridgewell/trace-mapping", "npm:0.3.22"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-string-parser", [\ + ["npm:7.23.4", {\ + "packageLocation": "../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ + "packageDependencies": [\ + ["@babel/helper-string-parser", "npm:7.23.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/helper-validator-identifier", [\ + ["npm:7.22.20", {\ + "packageLocation": "../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageDependencies": [\ + ["@babel/helper-validator-identifier", "npm:7.22.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/parser", [\ + ["npm:7.23.9", {\ + "packageLocation": "../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ + "packageDependencies": [\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@babel/types", [\ + ["npm:7.23.9", {\ + "packageLocation": "../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ + "packageDependencies": [\ + ["@babel/types", "npm:7.23.9"],\ + ["@babel/helper-string-parser", "npm:7.23.4"],\ + ["@babel/helper-validator-identifier", "npm:7.22.20"],\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@bcoe/v8-coverage", [\ + ["npm:0.2.3", {\ + "packageLocation": "../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ + "packageDependencies": [\ + ["@bcoe/v8-coverage", "npm:0.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@cspotcode/source-map-support", [\ + ["npm:0.8.1", {\ + "packageLocation": "../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ + "packageDependencies": [\ + ["@cspotcode/source-map-support", "npm:0.8.1"],\ + ["@jridgewell/trace-mapping", "npm:0.3.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/aix-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/aix-ppc64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ + "packageDependencies": [\ + ["@esbuild/android-arm", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ + "packageDependencies": [\ + ["@esbuild/android-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/android-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ + "packageDependencies": [\ + ["@esbuild/android-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/darwin-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ + "packageDependencies": [\ + ["@esbuild/darwin-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/freebsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/freebsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ + "packageDependencies": [\ + ["@esbuild/linux-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ + "packageDependencies": [\ + ["@esbuild/linux-ia32", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-loong64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ + "packageDependencies": [\ + ["@esbuild/linux-loong64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-mips64el", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ + "packageDependencies": [\ + ["@esbuild/linux-mips64el", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-ppc64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ + "packageDependencies": [\ + ["@esbuild/linux-ppc64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-riscv64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ + "packageDependencies": [\ + ["@esbuild/linux-riscv64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-s390x", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ + "packageDependencies": [\ + ["@esbuild/linux-s390x", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/linux-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ + "packageDependencies": [\ + ["@esbuild/linux-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/netbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/netbsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/openbsd-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ + "packageDependencies": [\ + ["@esbuild/openbsd-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/sunos-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ + "packageDependencies": [\ + ["@esbuild/sunos-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-arm64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ + "packageDependencies": [\ + ["@esbuild/win32-arm64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-ia32", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ + "packageDependencies": [\ + ["@esbuild/win32-ia32", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@esbuild/win32-x64", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ + "packageDependencies": [\ + ["@esbuild/win32-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/eslint-utils", [\ + ["npm:4.4.0", {\ + "packageLocation": "../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "npm:4.4.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0", {\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageDependencies": [\ + ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.56.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint-community/regexpp", [\ + ["npm:4.10.0", {\ + "packageLocation": "../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ + "packageDependencies": [\ + ["@eslint-community/regexpp", "npm:4.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/eslintrc", [\ + ["npm:2.1.4", {\ + "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ + "packageDependencies": [\ + ["@eslint/eslintrc", "npm:2.1.4"],\ + ["ajv", "npm:6.12.6"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["espree", "npm:9.6.1"],\ + ["globals", "npm:13.24.0"],\ + ["ignore", "npm:5.3.0"],\ + ["import-fresh", "npm:3.3.0"],\ + ["js-yaml", "npm:4.1.0"],\ + ["minimatch", "npm:3.1.2"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@eslint/js", [\ + ["npm:8.56.0", {\ + "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ + "packageDependencies": [\ + ["@eslint/js", "npm:8.56.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@fastify/ajv-compiler", [\ + ["npm:3.5.0", {\ + "packageLocation": "../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ + "packageDependencies": [\ + ["@fastify/ajv-compiler", "npm:3.5.0"],\ + ["ajv", "npm:8.12.0"],\ + ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ + ["fast-uri", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@fastify/deepmerge", [\ + ["npm:1.3.0", {\ + "packageLocation": "../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ + "packageDependencies": [\ + ["@fastify/deepmerge", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@fastify/error", [\ + ["npm:3.4.1", {\ + "packageLocation": "../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ + "packageDependencies": [\ + ["@fastify/error", "npm:3.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@fastify/fast-json-stringify-compiler", [\ + ["npm:4.3.0", {\ + "packageLocation": "../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ + "packageDependencies": [\ + ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ + ["fast-json-stringify", "npm:5.10.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@fastify/sensible", [\ + ["npm:5.5.0", {\ + "packageLocation": "../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ + "packageDependencies": [\ + ["@fastify/sensible", "npm:5.5.0"],\ + ["@lukeed/ms", "npm:2.0.2"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fastify-plugin", "npm:4.5.1"],\ + ["forwarded", "npm:0.2.0"],\ + ["http-errors", "npm:2.0.0"],\ + ["type-is", "npm:1.6.18"],\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@gar/promisify", [\ + ["npm:1.1.3", {\ + "packageLocation": "../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ + "packageDependencies": [\ + ["@gar/promisify", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/config-array", [\ + ["npm:0.11.14", {\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ + "packageDependencies": [\ + ["@humanwhocodes/config-array", "npm:0.11.14"],\ + ["@humanwhocodes/object-schema", "npm:2.0.2"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/module-importer", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageDependencies": [\ + ["@humanwhocodes/module-importer", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@humanwhocodes/object-schema", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ + "packageDependencies": [\ + ["@humanwhocodes/object-schema", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@isaacs/cliui", [\ + ["npm:8.0.2", {\ + "packageLocation": "../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ + "packageDependencies": [\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["string-width", "npm:5.1.2"],\ + ["string-width-cjs", [\ + "string-width",\ + "npm:4.2.3"\ + ]],\ + ["strip-ansi", "npm:7.1.0"],\ + ["strip-ansi-cjs", [\ + "strip-ansi",\ + "npm:6.0.1"\ + ]],\ + ["wrap-ansi", "npm:8.1.0"],\ + ["wrap-ansi-cjs", [\ + "wrap-ansi",\ + "npm:7.0.0"\ + ]]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@istanbuljs/schema", [\ + ["npm:0.1.3", {\ + "packageLocation": "../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ + "packageDependencies": [\ + ["@istanbuljs/schema", "npm:0.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jest/schemas", [\ + ["npm:29.6.3", {\ + "packageLocation": "../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ + "packageDependencies": [\ + ["@jest/schemas", "npm:29.6.3"],\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/gen-mapping", [\ + ["npm:0.3.3", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/gen-mapping", "npm:0.3.3"],\ + ["@jridgewell/set-array", "npm:1.1.2"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ + ["@jridgewell/trace-mapping", "npm:0.3.22"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/resolve-uri", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageDependencies": [\ + ["@jridgewell/resolve-uri", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/set-array", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ + "packageDependencies": [\ + ["@jridgewell/set-array", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/sourcemap-codec", [\ + ["npm:1.4.15", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageDependencies": [\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jridgewell/trace-mapping", [\ + ["npm:0.3.22", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.22"],\ + ["@jridgewell/resolve-uri", "npm:3.1.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.3.9", {\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageDependencies": [\ + ["@jridgewell/trace-mapping", "npm:0.3.9"],\ + ["@jridgewell/resolve-uri", "npm:3.1.1"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@jsdoc/salty", [\ + ["npm:0.2.7", {\ + "packageLocation": "../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ + "packageDependencies": [\ + ["@jsdoc/salty", "npm:0.2.7"],\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@lukeed/ms", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ + "packageDependencies": [\ + ["@lukeed/ms", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.scandir", [\ + ["npm:2.1.5", {\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ + "packageDependencies": [\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["run-parallel", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.stat", [\ + ["npm:2.0.5", {\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ + "packageDependencies": [\ + ["@nodelib/fs.stat", "npm:2.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@nodelib/fs.walk", [\ + ["npm:1.2.8", {\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ + "packageDependencies": [\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@nodelib/fs.scandir", "npm:2.1.5"],\ + ["fastq", "npm:1.17.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/agent", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ + "packageDependencies": [\ + ["@npmcli/agent", "npm:2.2.0"],\ + ["agent-base", "npm:7.1.0"],\ + ["http-proxy-agent", "npm:7.0.0"],\ + ["https-proxy-agent", "npm:7.0.2"],\ + ["lru-cache", "npm:10.2.0"],\ + ["socks-proxy-agent", "npm:8.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/fs", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:1.1.1"],\ + ["@gar/promisify", "npm:1.1.3"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.0", {\ + "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ + "packageDependencies": [\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@npmcli/move-file", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ + "packageDependencies": [\ + ["@npmcli/move-file", "npm:1.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["rimraf", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgjs/parseargs", [\ + ["npm:0.11.0", {\ + "packageLocation": "../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ + "packageDependencies": [\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@pkgr/core", [\ + ["npm:0.1.1", {\ + "packageLocation": "../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ + "packageDependencies": [\ + ["@pkgr/core", "npm:0.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm-eabi", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.9.6-0422083708/node_modules/@rollup/rollup-android-arm-eabi/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-android-arm64", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.9.6-690a649f0d/node_modules/@rollup/rollup-android-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-android-arm64", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-arm64", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.9.6-e7e3fa5308/node_modules/@rollup/rollup-darwin-arm64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-arm64", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-darwin-x64", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b/node_modules/@rollup/rollup-darwin-x64/",\ + "packageDependencies": [\ + ["@rollup/rollup-darwin-x64", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm-gnueabihf", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.9.6-51ce6eb9a2/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-gnu", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.9.6-3928bf4340/node_modules/@rollup/rollup-linux-arm64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-arm64-musl", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.9.6-a4b39ebd14/node_modules/@rollup/rollup-linux-arm64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-riscv64-gnu", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.9.6-6f3e8f5d0b/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-gnu", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.9.6-c67944ac17/node_modules/@rollup/rollup-linux-x64-gnu/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-linux-x64-musl", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.9.6-41417b2d48/node_modules/@rollup/rollup-linux-x64-musl/",\ + "packageDependencies": [\ + ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-arm64-msvc", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.9.6-4e715ed316/node_modules/@rollup/rollup-win32-arm64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-ia32-msvc", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.9.6-6939c95825/node_modules/@rollup/rollup-win32-ia32-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rollup/rollup-win32-x64-msvc", [\ + ["npm:4.9.6", {\ + "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5/node_modules/@rollup/rollup-win32-x64-msvc/",\ + "packageDependencies": [\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rushstack/ts-command-line", [\ + ["npm:4.17.1", {\ + "packageLocation": "../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ + "packageDependencies": [\ + ["@rushstack/ts-command-line", "npm:4.17.1"],\ + ["@types/argparse", "npm:1.0.38"],\ + ["argparse", "npm:1.0.10"],\ + ["colors", "npm:1.2.5"],\ + ["string-argv", "npm:0.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@rusty-motors/thebeast", [\ + ["workspace:thebeast", {\ + "packageLocation": "./thebeast/",\ + "packageDependencies": [\ + ["@rusty-motors/thebeast", "workspace:thebeast"],\ + ["@fastify/sensible", "npm:5.5.0"],\ + ["@sentry/cli", "npm:2.27.0"],\ + ["@sentry/node", "npm:7.92.0"],\ + ["@sentry/profiling-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5"],\ + ["@tsconfig/node-lts", "npm:20.1.1"],\ + ["@tsconfig/node20", "npm:20.1.2"],\ + ["@types/chai", "npm:4.3.11"],\ + ["@types/connect", "npm:3.4.38"],\ + ["@types/node", "npm:20.11.13"],\ + ["@types/sinon", "npm:17.0.2"],\ + ["@types/sinon-chai", "npm:3.2.12"],\ + ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ + ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ + ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ + ["eslint", "npm:8.56.0"],\ + ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ + ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ + ["fastify", "npm:4.26.0"],\ + ["jsdoc", "npm:4.0.2"],\ + ["moment", "npm:2.30.1"],\ + ["pino", "npm:8.18.0"],\ + ["pino-pretty", "npm:10.3.1"],\ + ["prettier", "npm:3.1.1"],\ + ["prettier-eslint", "npm:16.2.0"],\ + ["short-unique-id", "npm:5.0.3"],\ + ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ + ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ + ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ + ["tslib", "npm:2.6.2"],\ + ["tsx", "npm:4.7.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ + ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ + ["zod", "npm:3.22.4"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["@sentry-internal/tracing", [\ + ["npm:7.92.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-internal-tracing-npm-7.92.0-19becf7e92-10c0.zip/node_modules/@sentry-internal/tracing/",\ + "packageDependencies": [\ + ["@sentry-internal/tracing", "npm:7.92.0"],\ + ["@sentry/core", "npm:7.92.0"],\ + ["@sentry/types", "npm:7.92.0"],\ + ["@sentry/utils", "npm:7.92.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-npm-2.27.0-66755dd86c/node_modules/@sentry/cli/",\ + "packageDependencies": [\ + ["@sentry/cli", "npm:2.27.0"],\ + ["@sentry/cli-darwin", "npm:2.27.0"],\ + ["@sentry/cli-linux-arm", "npm:2.27.0"],\ + ["@sentry/cli-linux-arm64", "npm:2.27.0"],\ + ["@sentry/cli-linux-i686", "npm:2.27.0"],\ + ["@sentry/cli-linux-x64", "npm:2.27.0"],\ + ["@sentry/cli-win32-i686", "npm:2.27.0"],\ + ["@sentry/cli-win32-x64", "npm:2.27.0"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ + ["progress", "npm:2.0.3"],\ + ["proxy-from-env", "npm:1.1.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-darwin", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-darwin-npm-2.27.0-5424ab9713/node_modules/@sentry/cli-darwin/",\ + "packageDependencies": [\ + ["@sentry/cli-darwin", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-linux-arm", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm-npm-2.27.0-3b91b31516/node_modules/@sentry/cli-linux-arm/",\ + "packageDependencies": [\ + ["@sentry/cli-linux-arm", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-linux-arm64", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm64-npm-2.27.0-9a9f92f022/node_modules/@sentry/cli-linux-arm64/",\ + "packageDependencies": [\ + ["@sentry/cli-linux-arm64", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-linux-i686", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-i686-npm-2.27.0-7e15a3698f/node_modules/@sentry/cli-linux-i686/",\ + "packageDependencies": [\ + ["@sentry/cli-linux-i686", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-linux-x64", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-x64-npm-2.27.0-4812ccf837/node_modules/@sentry/cli-linux-x64/",\ + "packageDependencies": [\ + ["@sentry/cli-linux-x64", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-win32-i686", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-i686-npm-2.27.0-48a6f7ba78/node_modules/@sentry/cli-win32-i686/",\ + "packageDependencies": [\ + ["@sentry/cli-win32-i686", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/cli-win32-x64", [\ + ["npm:2.27.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-x64-npm-2.27.0-f9a4a4dd7d/node_modules/@sentry/cli-win32-x64/",\ + "packageDependencies": [\ + ["@sentry/cli-win32-x64", "npm:2.27.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/core", [\ + ["npm:7.92.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-core-npm-7.92.0-293306f835-10c0.zip/node_modules/@sentry/core/",\ + "packageDependencies": [\ + ["@sentry/core", "npm:7.92.0"],\ + ["@sentry/types", "npm:7.92.0"],\ + ["@sentry/utils", "npm:7.92.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/node", [\ + ["npm:7.92.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-node-npm-7.92.0-bf139e7df3-10c0.zip/node_modules/@sentry/node/",\ + "packageDependencies": [\ + ["@sentry/node", "npm:7.92.0"],\ + ["@sentry-internal/tracing", "npm:7.92.0"],\ + ["@sentry/core", "npm:7.92.0"],\ + ["@sentry/types", "npm:7.92.0"],\ + ["@sentry/utils", "npm:7.92.0"],\ + ["https-proxy-agent", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/profiling-node", [\ + ["npm:1.3.5", {\ + "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-virtual-318a7bec6d/node_modules/@sentry/profiling-node/",\ + "packageDependencies": [\ + ["@sentry/profiling-node", "npm:1.3.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5", {\ + "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-virtual-318a7bec6d/node_modules/@sentry/profiling-node/",\ + "packageDependencies": [\ + ["@sentry/profiling-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5"],\ + ["@sentry/node", "npm:7.92.0"],\ + ["@types/sentry__node", null],\ + ["detect-libc", "npm:2.0.2"],\ + ["node-abi", "npm:3.54.0"],\ + ["node-gyp", "npm:10.0.1"]\ + ],\ + "packagePeers": [\ + "@sentry/node",\ + "@types/sentry__node"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/types", [\ + ["npm:7.92.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-types-npm-7.92.0-1491c60908-10c0.zip/node_modules/@sentry/types/",\ + "packageDependencies": [\ + ["@sentry/types", "npm:7.92.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sentry/utils", [\ + ["npm:7.92.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-utils-npm-7.92.0-5a72129b7e-10c0.zip/node_modules/@sentry/utils/",\ + "packageDependencies": [\ + ["@sentry/utils", "npm:7.92.0"],\ + ["@sentry/types", "npm:7.92.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@sinclair/typebox", [\ + ["npm:0.27.8", {\ + "packageLocation": "../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ + "packageDependencies": [\ + ["@sinclair/typebox", "npm:0.27.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@slonik/migrator", [\ + ["npm:0.12.0", {\ + "packageLocation": "../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageDependencies": [\ + ["@slonik/migrator", "npm:0.12.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0", {\ + "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/2/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageDependencies": [\ + ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ + ["@rushstack/ts-command-line", "npm:4.17.1"],\ + ["@types/slonik", null],\ + ["slonik", "npm:29.2.0"],\ + ["umzug", "npm:3.6.1"]\ + ],\ + "packagePeers": [\ + "@types/slonik",\ + "slonik"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tootallnate/once", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ + "packageDependencies": [\ + ["@tootallnate/once", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node-lts", [\ + ["npm:20.1.1", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ + "packageDependencies": [\ + ["@tsconfig/node-lts", "npm:20.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node10", [\ + ["npm:1.0.9", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ + "packageDependencies": [\ + ["@tsconfig/node10", "npm:1.0.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node12", [\ + ["npm:1.0.11", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ + "packageDependencies": [\ + ["@tsconfig/node12", "npm:1.0.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node14", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ + "packageDependencies": [\ + ["@tsconfig/node14", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node16", [\ + ["npm:1.0.4", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ + "packageDependencies": [\ + ["@tsconfig/node16", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@tsconfig/node20", [\ + ["npm:20.1.2", {\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ + "packageDependencies": [\ + ["@tsconfig/node20", "npm:20.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/argparse", [\ + ["npm:1.0.38", {\ + "packageLocation": "../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ + "packageDependencies": [\ + ["@types/argparse", "npm:1.0.38"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/chai", [\ + ["npm:4.3.11", {\ + "packageLocation": "../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ + "packageDependencies": [\ + ["@types/chai", "npm:4.3.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/connect", [\ + ["npm:3.4.38", {\ + "packageLocation": "../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ + "packageDependencies": [\ + ["@types/connect", "npm:3.4.38"],\ + ["@types/node", "npm:20.11.13"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/estree", [\ + ["npm:1.0.5", {\ + "packageLocation": "../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ + "packageDependencies": [\ + ["@types/estree", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/istanbul-lib-coverage", [\ + ["npm:2.0.6", {\ + "packageLocation": "../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/json-schema", [\ + ["npm:7.0.15", {\ + "packageLocation": "../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ + "packageDependencies": [\ + ["@types/json-schema", "npm:7.0.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/linkify-it", [\ + ["npm:3.0.5", {\ + "packageLocation": "../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ + "packageDependencies": [\ + ["@types/linkify-it", "npm:3.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/markdown-it", [\ + ["npm:12.2.3", {\ + "packageLocation": "../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ + "packageDependencies": [\ + ["@types/markdown-it", "npm:12.2.3"],\ + ["@types/linkify-it", "npm:3.0.5"],\ + ["@types/mdurl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/mdurl", [\ + ["npm:1.0.5", {\ + "packageLocation": "../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ + "packageDependencies": [\ + ["@types/mdurl", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/node", [\ + ["npm:20.11.13", {\ + "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:20.11.13"],\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:20.11.16", {\ + "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ + "packageDependencies": [\ + ["@types/node", "npm:20.11.16"],\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/pg", [\ + ["npm:8.11.0", {\ + "packageLocation": "../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ + "packageDependencies": [\ + ["@types/pg", "npm:8.11.0"],\ + ["@types/node", "npm:20.11.13"],\ + ["pg-protocol", "npm:1.6.0"],\ + ["pg-types", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/semver", [\ + ["npm:7.5.6", {\ + "packageLocation": "../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ + "packageDependencies": [\ + ["@types/semver", "npm:7.5.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sinon", [\ + ["npm:17.0.2", {\ + "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.2-b8f972e268-10c0.zip/node_modules/@types/sinon/",\ + "packageDependencies": [\ + ["@types/sinon", "npm:17.0.2"],\ + ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:17.0.3", {\ + "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ + "packageDependencies": [\ + ["@types/sinon", "npm:17.0.3"],\ + ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sinon-chai", [\ + ["npm:3.2.12", {\ + "packageLocation": "../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ + "packageDependencies": [\ + ["@types/sinon-chai", "npm:3.2.12"],\ + ["@types/chai", "npm:4.3.11"],\ + ["@types/sinon", "npm:17.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@types/sinonjs__fake-timers", [\ + ["npm:8.1.5", {\ + "packageLocation": "../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ + "packageDependencies": [\ + ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/eslint-plugin", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "npm:6.20.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/2/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageDependencies": [\ + ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ + ["@eslint-community/regexpp", "npm:4.10.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ + ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ + ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ + ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["eslint", "npm:8.56.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.0"],\ + ["natural-compare", "npm:1.4.0"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/parser", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "npm:6.20.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/2/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageDependencies": [\ + ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["eslint", "npm:8.56.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/scope-manager", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageDependencies": [\ + ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/type-utils", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "npm:6.20.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/2/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ + ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["eslint", "npm:8.56.0"],\ + ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/types", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ + "packageDependencies": [\ + ["@typescript-eslint/types", "npm:6.20.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/typescript-estree", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "npm:6.20.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.3"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageDependencies": [\ + ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ + ["@types/typescript", null],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["globby", "npm:11.1.0"],\ + ["is-glob", "npm:4.0.3"],\ + ["minimatch", "npm:9.0.3"],\ + ["semver", "npm:7.5.4"],\ + ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/utils", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "npm:6.20.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/2/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageDependencies": [\ + ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ + ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ + ["@types/eslint", null],\ + ["@types/json-schema", "npm:7.0.15"],\ + ["@types/semver", "npm:7.5.6"],\ + ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ + ["eslint", "npm:8.56.0"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@typescript-eslint/visitor-keys", [\ + ["npm:6.20.0", {\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageDependencies": [\ + ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ + ["@typescript-eslint/types", "npm:6.20.0"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@ungap/structured-clone", [\ + ["npm:1.2.0", {\ + "packageLocation": "../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ + "packageDependencies": [\ + ["@ungap/structured-clone", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/coverage-v8", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageDependencies": [\ + ["@vitest/coverage-v8", "npm:1.2.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ + "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/2/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageDependencies": [\ + ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ + ["@ampproject/remapping", "npm:2.2.1"],\ + ["@bcoe/v8-coverage", "npm:0.2.3"],\ + ["@types/vitest", null],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["istanbul-reports", "npm:3.1.6"],\ + ["magic-string", "npm:0.30.5"],\ + ["magicast", "npm:0.3.3"],\ + ["picocolors", "npm:1.0.0"],\ + ["std-env", "npm:3.7.0"],\ + ["test-exclude", "npm:6.0.0"],\ + ["v8-to-istanbul", "npm:9.2.0"],\ + ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"]\ + ],\ + "packagePeers": [\ + "@types/vitest",\ + "vitest"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/expect", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ + "packageDependencies": [\ + ["@vitest/expect", "npm:1.2.2"],\ + ["@vitest/spy", "npm:1.2.2"],\ + ["@vitest/utils", "npm:1.2.2"],\ + ["chai", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/runner", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ + "packageDependencies": [\ + ["@vitest/runner", "npm:1.2.2"],\ + ["@vitest/utils", "npm:1.2.2"],\ + ["p-limit", "npm:5.0.0"],\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/snapshot", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ + "packageDependencies": [\ + ["@vitest/snapshot", "npm:1.2.2"],\ + ["magic-string", "npm:0.30.5"],\ + ["pathe", "npm:1.1.2"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/spy", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ + "packageDependencies": [\ + ["@vitest/spy", "npm:1.2.2"],\ + ["tinyspy", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["@vitest/utils", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ + "packageDependencies": [\ + ["@vitest/utils", "npm:1.2.2"],\ + ["diff-sequences", "npm:29.6.3"],\ + ["estree-walker", "npm:3.0.3"],\ + ["loupe", "npm:2.3.7"],\ + ["pretty-format", "npm:29.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abbrev", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ + "packageDependencies": [\ + ["abbrev", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abort-controller", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ + "packageDependencies": [\ + ["abort-controller", "npm:3.0.0"],\ + ["event-target-shim", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["abstract-logging", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ + "packageDependencies": [\ + ["abstract-logging", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn", [\ + ["npm:8.11.3", {\ + "packageLocation": "../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ + "packageDependencies": [\ + ["acorn", "npm:8.11.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-jsx", [\ + ["npm:5.3.2", {\ + "packageLocation": "../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "npm:5.3.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/2/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageDependencies": [\ + ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ + ["@types/acorn", null],\ + ["acorn", "npm:8.11.3"]\ + ],\ + "packagePeers": [\ + "@types/acorn",\ + "acorn"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["acorn-walk", [\ + ["npm:8.3.2", {\ + "packageLocation": "../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ + "packageDependencies": [\ + ["acorn-walk", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agent-base", [\ + ["npm:6.0.2", {\ + "packageLocation": "../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ + "packageDependencies": [\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["agentkeepalive", [\ + ["npm:4.5.0", {\ + "packageLocation": "../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ + "packageDependencies": [\ + ["agentkeepalive", "npm:4.5.0"],\ + ["humanize-ms", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aggregate-error", [\ + ["npm:3.1.0", {\ + "packageLocation": "../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ + "packageDependencies": [\ + ["aggregate-error", "npm:3.1.0"],\ + ["clean-stack", "npm:2.2.0"],\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv", [\ + ["npm:6.12.6", {\ + "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:6.12.6"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-json-stable-stringify", "npm:2.1.0"],\ + ["json-schema-traverse", "npm:0.4.1"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.12.0", {\ + "packageLocation": "../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ + "packageDependencies": [\ + ["ajv", "npm:8.12.0"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["json-schema-traverse", "npm:1.0.0"],\ + ["require-from-string", "npm:2.0.2"],\ + ["uri-js", "npm:4.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ajv-formats", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageDependencies": [\ + ["ajv-formats", "npm:2.1.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1", {\ + "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/2/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageDependencies": [\ + ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ + ["@types/ajv", null],\ + ["ajv", "npm:8.12.0"]\ + ],\ + "packagePeers": [\ + "@types/ajv",\ + "ajv"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-regex", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.1", {\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ + "packageDependencies": [\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ansi-styles", [\ + ["npm:2.2.1", {\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.3.0", {\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:4.3.0"],\ + ["color-convert", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.2.0", {\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:5.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.2.1", {\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ + "packageDependencies": [\ + ["ansi-styles", "npm:6.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["aproba", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ + "packageDependencies": [\ + ["aproba", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["archy", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ + "packageDependencies": [\ + ["archy", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["are-we-there-yet", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ + "packageDependencies": [\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["delegates", "npm:1.0.0"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["arg", [\ + ["npm:4.1.3", {\ + "packageLocation": "../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ + "packageDependencies": [\ + ["arg", "npm:4.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["argparse", [\ + ["npm:1.0.10", {\ + "packageLocation": "../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:1.0.10"],\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ + "packageDependencies": [\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["array-union", [\ + ["npm:2.1.0", {\ + "packageLocation": "../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ + "packageDependencies": [\ + ["array-union", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["assertion-error", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ + "packageDependencies": [\ + ["assertion-error", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["atomic-sleep", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ + "packageDependencies": [\ + ["atomic-sleep", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["avvio", [\ + ["npm:8.2.1", {\ + "packageLocation": "../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ + "packageDependencies": [\ + ["avvio", "npm:8.2.1"],\ + ["archy", "npm:1.0.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["fastq", "npm:1.17.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["balanced-match", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ + "packageDependencies": [\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["base64-js", [\ + ["npm:1.5.1", {\ + "packageLocation": "../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ + "packageDependencies": [\ + ["base64-js", "npm:1.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bindings", [\ + ["npm:1.5.0", {\ + "packageLocation": "../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ + "packageDependencies": [\ + ["bindings", "npm:1.5.0"],\ + ["file-uri-to-path", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bl", [\ + ["npm:4.1.0", {\ + "packageLocation": "../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ + "packageDependencies": [\ + ["bl", "npm:4.1.0"],\ + ["buffer", "npm:5.7.1"],\ + ["inherits", "npm:2.0.4"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bluebird", [\ + ["npm:3.7.2", {\ + "packageLocation": "../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ + "packageDependencies": [\ + ["bluebird", "npm:3.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["boolean", [\ + ["npm:3.2.0", {\ + "packageLocation": "../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ + "packageDependencies": [\ + ["boolean", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["brace-expansion", [\ + ["npm:1.1.11", {\ + "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:1.1.11"],\ + ["balanced-match", "npm:1.0.2"],\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ + "packageDependencies": [\ + ["brace-expansion", "npm:2.0.1"],\ + ["balanced-match", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["braces", [\ + ["npm:3.0.2", {\ + "packageLocation": "../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ + "packageDependencies": [\ + ["braces", "npm:3.0.2"],\ + ["fill-range", "npm:7.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer", [\ + ["npm:5.7.1", {\ + "packageLocation": "../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ + "packageDependencies": [\ + ["buffer", "npm:5.7.1"],\ + ["base64-js", "npm:1.5.1"],\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.3", {\ + "packageLocation": "../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ + "packageDependencies": [\ + ["buffer", "npm:6.0.3"],\ + ["base64-js", "npm:1.5.1"],\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-from", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ + "packageDependencies": [\ + ["buffer-from", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["buffer-writer", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ + "packageDependencies": [\ + ["buffer-writer", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["bufferput", [\ + ["npm:0.1.3", {\ + "packageLocation": "./.yarn/unplugged/bufferput-npm-0.1.3-e55e71448c/node_modules/bufferput/",\ + "packageDependencies": [\ + ["bufferput", "npm:0.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cac", [\ + ["npm:6.7.14", {\ + "packageLocation": "../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ + "packageDependencies": [\ + ["cac", "npm:6.7.14"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cacache", [\ + ["npm:15.3.0", {\ + "packageLocation": "../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:15.3.0"],\ + ["@npmcli/fs", "npm:1.1.1"],\ + ["@npmcli/move-file", "npm:1.1.2"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["glob", "npm:7.2.3"],\ + ["infer-owner", "npm:1.0.4"],\ + ["lru-cache", "npm:6.0.0"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["mkdirp", "npm:1.0.4"],\ + ["p-map", "npm:4.0.0"],\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ + ["rimraf", "npm:3.0.2"],\ + ["ssri", "npm:8.0.1"],\ + ["tar", "npm:6.2.0"],\ + ["unique-filename", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:18.0.2", {\ + "packageLocation": "../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ + "packageDependencies": [\ + ["cacache", "npm:18.0.2"],\ + ["@npmcli/fs", "npm:3.1.0"],\ + ["fs-minipass", "npm:3.0.3"],\ + ["glob", "npm:10.3.10"],\ + ["lru-cache", "npm:10.2.0"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["p-map", "npm:4.0.0"],\ + ["ssri", "npm:10.0.5"],\ + ["tar", "npm:6.2.0"],\ + ["unique-filename", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["callsites", [\ + ["npm:3.1.0", {\ + "packageLocation": "../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ + "packageDependencies": [\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["catharsis", [\ + ["npm:0.9.0", {\ + "packageLocation": "../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ + "packageDependencies": [\ + ["catharsis", "npm:0.9.0"],\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chai", [\ + ["npm:4.4.1", {\ + "packageLocation": "../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ + "packageDependencies": [\ + ["chai", "npm:4.4.1"],\ + ["assertion-error", "npm:1.1.0"],\ + ["check-error", "npm:1.0.3"],\ + ["deep-eql", "npm:4.1.3"],\ + ["get-func-name", "npm:2.0.2"],\ + ["loupe", "npm:2.3.7"],\ + ["pathval", "npm:1.1.1"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chalk", [\ + ["npm:1.1.3", {\ + "packageLocation": "../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:1.1.3"],\ + ["ansi-styles", "npm:2.2.1"],\ + ["escape-string-regexp", "npm:1.0.5"],\ + ["has-ansi", "npm:2.0.0"],\ + ["strip-ansi", "npm:3.0.1"],\ + ["supports-color", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.2", {\ + "packageLocation": "../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ + "packageDependencies": [\ + ["chalk", "npm:4.1.2"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["check-error", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ + "packageDependencies": [\ + ["check-error", "npm:1.0.3"],\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["chownr", [\ + ["npm:1.1.4", {\ + "packageLocation": "../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ + "packageDependencies": [\ + ["chownr", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["clean-stack", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ + "packageDependencies": [\ + ["clean-stack", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-convert", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ + "packageDependencies": [\ + ["color-convert", "npm:2.0.1"],\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-name", [\ + ["npm:1.1.4", {\ + "packageLocation": "../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ + "packageDependencies": [\ + ["color-name", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["color-support", [\ + ["npm:1.1.3", {\ + "packageLocation": "../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ + "packageDependencies": [\ + ["color-support", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["colorette", [\ + ["npm:2.0.20", {\ + "packageLocation": "../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ + "packageDependencies": [\ + ["colorette", "npm:2.0.20"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["colors", [\ + ["npm:1.2.5", {\ + "packageLocation": "../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ + "packageDependencies": [\ + ["colors", "npm:1.2.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["common-tags", [\ + ["npm:1.8.2", {\ + "packageLocation": "../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ + "packageDependencies": [\ + ["common-tags", "npm:1.8.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-map", [\ + ["npm:0.0.1", {\ + "packageLocation": "../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ + "packageDependencies": [\ + ["concat-map", "npm:0.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["concat-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ + "packageDependencies": [\ + ["concat-stream", "npm:2.0.0"],\ + ["buffer-from", "npm:1.1.2"],\ + ["inherits", "npm:2.0.4"],\ + ["readable-stream", "npm:3.6.2"],\ + ["typedarray", "npm:0.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["console-control-strings", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ + "packageDependencies": [\ + ["console-control-strings", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["convert-source-map", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ + "packageDependencies": [\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cookie", [\ + ["npm:0.5.0", {\ + "packageLocation": "../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ + "packageDependencies": [\ + ["cookie", "npm:0.5.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["create-require", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ + "packageDependencies": [\ + ["create-require", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["cross-spawn", [\ + ["npm:7.0.3", {\ + "packageLocation": "../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ + "packageDependencies": [\ + ["cross-spawn", "npm:7.0.3"],\ + ["path-key", "npm:3.1.1"],\ + ["shebang-command", "npm:2.0.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dateformat", [\ + ["npm:4.6.3", {\ + "packageLocation": "../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ + "packageDependencies": [\ + ["dateformat", "npm:4.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["debug", [\ + ["npm:4.3.4", {\ + "packageLocation": "../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "npm:4.3.4"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4", {\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/2/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageDependencies": [\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["@types/supports-color", null],\ + ["ms", "npm:2.1.2"],\ + ["supports-color", null]\ + ],\ + "packagePeers": [\ + "@types/supports-color",\ + "supports-color"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["decompress-response", [\ + ["npm:6.0.0", {\ + "packageLocation": "../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ + "packageDependencies": [\ + ["decompress-response", "npm:6.0.0"],\ + ["mimic-response", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-eql", [\ + ["npm:4.1.3", {\ + "packageLocation": "../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ + "packageDependencies": [\ + ["deep-eql", "npm:4.1.3"],\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-extend", [\ + ["npm:0.6.0", {\ + "packageLocation": "../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ + "packageDependencies": [\ + ["deep-extend", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["deep-is", [\ + ["npm:0.1.4", {\ + "packageLocation": "../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ + "packageDependencies": [\ + ["deep-is", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["delegates", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ + "packageDependencies": [\ + ["delegates", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["depd", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ + "packageDependencies": [\ + ["depd", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["detect-libc", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ + "packageDependencies": [\ + ["detect-libc", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["diff", [\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ + "packageDependencies": [\ + ["diff", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["diff-sequences", [\ + ["npm:29.6.3", {\ + "packageLocation": "../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ + "packageDependencies": [\ + ["diff-sequences", "npm:29.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dir-glob", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ + "packageDependencies": [\ + ["dir-glob", "npm:3.0.1"],\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["dlv", [\ + ["npm:1.1.3", {\ + "packageLocation": "../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ + "packageDependencies": [\ + ["dlv", "npm:1.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["doctrine", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ + "packageDependencies": [\ + ["doctrine", "npm:3.0.0"],\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eastasianwidth", [\ + ["npm:0.2.0", {\ + "packageLocation": "../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ + "packageDependencies": [\ + ["eastasianwidth", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emittery", [\ + ["npm:0.13.1", {\ + "packageLocation": "../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ + "packageDependencies": [\ + ["emittery", "npm:0.13.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["emoji-regex", [\ + ["npm:8.0.0", {\ + "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:8.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.2.2", {\ + "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ + "packageDependencies": [\ + ["emoji-regex", "npm:9.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["encoding", [\ + ["npm:0.1.13", {\ + "packageLocation": "../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ + "packageDependencies": [\ + ["encoding", "npm:0.1.13"],\ + ["iconv-lite", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["end-of-stream", [\ + ["npm:1.4.4", {\ + "packageLocation": "../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ + "packageDependencies": [\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["entities", [\ + ["npm:2.1.0", {\ + "packageLocation": "../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ + "packageDependencies": [\ + ["entities", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["env-paths", [\ + ["npm:2.2.1", {\ + "packageLocation": "../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ + "packageDependencies": [\ + ["env-paths", "npm:2.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["err-code", [\ + ["npm:2.0.3", {\ + "packageLocation": "../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ + "packageDependencies": [\ + ["err-code", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["es6-error", [\ + ["npm:4.1.1", {\ + "packageLocation": "../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ + "packageDependencies": [\ + ["es6-error", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esbuild", [\ + ["npm:0.19.12", {\ + "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.12-fb5a3a4313/node_modules/esbuild/",\ + "packageDependencies": [\ + ["esbuild", "npm:0.19.12"],\ + ["@esbuild/aix-ppc64", "npm:0.19.12"],\ + ["@esbuild/android-arm", "npm:0.19.12"],\ + ["@esbuild/android-arm64", "npm:0.19.12"],\ + ["@esbuild/android-x64", "npm:0.19.12"],\ + ["@esbuild/darwin-arm64", "npm:0.19.12"],\ + ["@esbuild/darwin-x64", "npm:0.19.12"],\ + ["@esbuild/freebsd-arm64", "npm:0.19.12"],\ + ["@esbuild/freebsd-x64", "npm:0.19.12"],\ + ["@esbuild/linux-arm", "npm:0.19.12"],\ + ["@esbuild/linux-arm64", "npm:0.19.12"],\ + ["@esbuild/linux-ia32", "npm:0.19.12"],\ + ["@esbuild/linux-loong64", "npm:0.19.12"],\ + ["@esbuild/linux-mips64el", "npm:0.19.12"],\ + ["@esbuild/linux-ppc64", "npm:0.19.12"],\ + ["@esbuild/linux-riscv64", "npm:0.19.12"],\ + ["@esbuild/linux-s390x", "npm:0.19.12"],\ + ["@esbuild/linux-x64", "npm:0.19.12"],\ + ["@esbuild/netbsd-x64", "npm:0.19.12"],\ + ["@esbuild/openbsd-x64", "npm:0.19.12"],\ + ["@esbuild/sunos-x64", "npm:0.19.12"],\ + ["@esbuild/win32-arm64", "npm:0.19.12"],\ + ["@esbuild/win32-ia32", "npm:0.19.12"],\ + ["@esbuild/win32-x64", "npm:0.19.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["escape-string-regexp", [\ + ["npm:1.0.5", {\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ + "packageDependencies": [\ + ["escape-string-regexp", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint", [\ + ["npm:8.56.0", {\ + "packageLocation": "../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ + "packageDependencies": [\ + ["eslint", "npm:8.56.0"],\ + ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ + ["@eslint-community/regexpp", "npm:4.10.0"],\ + ["@eslint/eslintrc", "npm:2.1.4"],\ + ["@eslint/js", "npm:8.56.0"],\ + ["@humanwhocodes/config-array", "npm:0.11.14"],\ + ["@humanwhocodes/module-importer", "npm:1.0.1"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["@ungap/structured-clone", "npm:1.2.0"],\ + ["ajv", "npm:6.12.6"],\ + ["chalk", "npm:4.1.2"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["doctrine", "npm:3.0.0"],\ + ["escape-string-regexp", "npm:4.0.0"],\ + ["eslint-scope", "npm:7.2.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"],\ + ["espree", "npm:9.6.1"],\ + ["esquery", "npm:1.5.0"],\ + ["esutils", "npm:2.0.3"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["file-entry-cache", "npm:6.0.1"],\ + ["find-up", "npm:5.0.0"],\ + ["glob-parent", "npm:6.0.2"],\ + ["globals", "npm:13.24.0"],\ + ["graphemer", "npm:1.4.0"],\ + ["ignore", "npm:5.3.0"],\ + ["imurmurhash", "npm:0.1.4"],\ + ["is-glob", "npm:4.0.3"],\ + ["is-path-inside", "npm:3.0.3"],\ + ["js-yaml", "npm:4.1.0"],\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ + ["levn", "npm:0.4.1"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["minimatch", "npm:3.1.2"],\ + ["natural-compare", "npm:1.4.0"],\ + ["optionator", "npm:0.9.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["text-table", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-config-prettier", [\ + ["npm:9.1.0", {\ + "packageLocation": "../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "npm:9.1.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0", {\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/2/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageDependencies": [\ + ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ + ["@types/eslint", null],\ + ["eslint", "npm:8.56.0"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-plugin-prettier", [\ + ["npm:5.1.2", {\ + "packageLocation": "../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "npm:5.1.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2", {\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/2/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageDependencies": [\ + ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ + ["@types/eslint", null],\ + ["@types/eslint-config-prettier", null],\ + ["@types/prettier", null],\ + ["eslint", "npm:8.56.0"],\ + ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ + ["prettier", "npm:3.1.1"],\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["synckit", "npm:0.8.8"]\ + ],\ + "packagePeers": [\ + "@types/eslint-config-prettier",\ + "@types/eslint",\ + "@types/prettier",\ + "eslint-config-prettier",\ + "eslint",\ + "prettier"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-scope", [\ + ["npm:7.2.2", {\ + "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ + "packageDependencies": [\ + ["eslint-scope", "npm:7.2.2"],\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["eslint-visitor-keys", [\ + ["npm:3.4.3", {\ + "packageLocation": "../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ + "packageDependencies": [\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["espree", [\ + ["npm:9.6.1", {\ + "packageLocation": "../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ + "packageDependencies": [\ + ["espree", "npm:9.6.1"],\ + ["acorn", "npm:8.11.3"],\ + ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esquery", [\ + ["npm:1.5.0", {\ + "packageLocation": "../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ + "packageDependencies": [\ + ["esquery", "npm:1.5.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esrecurse", [\ + ["npm:4.3.0", {\ + "packageLocation": "../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ + "packageDependencies": [\ + ["esrecurse", "npm:4.3.0"],\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estraverse", [\ + ["npm:5.3.0", {\ + "packageLocation": "../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ + "packageDependencies": [\ + ["estraverse", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["estree-walker", [\ + ["npm:3.0.3", {\ + "packageLocation": "../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ + "packageDependencies": [\ + ["estree-walker", "npm:3.0.3"],\ + ["@types/estree", "npm:1.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["esutils", [\ + ["npm:2.0.3", {\ + "packageLocation": "../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ + "packageDependencies": [\ + ["esutils", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["event-target-shim", [\ + ["npm:5.0.1", {\ + "packageLocation": "../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ + "packageDependencies": [\ + ["event-target-shim", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["events", [\ + ["npm:3.3.0", {\ + "packageLocation": "../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ + "packageDependencies": [\ + ["events", "npm:3.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["execa", [\ + ["npm:8.0.1", {\ + "packageLocation": "../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ + "packageDependencies": [\ + ["execa", "npm:8.0.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["get-stream", "npm:8.0.1"],\ + ["human-signals", "npm:5.0.0"],\ + ["is-stream", "npm:3.0.0"],\ + ["merge-stream", "npm:2.0.0"],\ + ["npm-run-path", "npm:5.2.0"],\ + ["onetime", "npm:6.0.0"],\ + ["signal-exit", "npm:4.1.0"],\ + ["strip-final-newline", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["expand-template", [\ + ["npm:2.0.3", {\ + "packageLocation": "../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ + "packageDependencies": [\ + ["expand-template", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["exponential-backoff", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ + "packageDependencies": [\ + ["exponential-backoff", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-content-type-parse", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ + "packageDependencies": [\ + ["fast-content-type-parse", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-copy", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ + "packageDependencies": [\ + ["fast-copy", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-decode-uri-component", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ + "packageDependencies": [\ + ["fast-decode-uri-component", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-deep-equal", [\ + ["npm:3.1.3", {\ + "packageLocation": "../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ + "packageDependencies": [\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-diff", [\ + ["npm:1.3.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ + "packageDependencies": [\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-glob", [\ + ["npm:3.3.2", {\ + "packageLocation": "../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ + "packageDependencies": [\ + ["fast-glob", "npm:3.3.2"],\ + ["@nodelib/fs.stat", "npm:2.0.5"],\ + ["@nodelib/fs.walk", "npm:1.2.8"],\ + ["glob-parent", "npm:5.1.2"],\ + ["merge2", "npm:1.4.1"],\ + ["micromatch", "npm:4.0.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stable-stringify", [\ + ["npm:2.1.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ + "packageDependencies": [\ + ["fast-json-stable-stringify", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-json-stringify", [\ + ["npm:5.10.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ + "packageDependencies": [\ + ["fast-json-stringify", "npm:5.10.0"],\ + ["@fastify/deepmerge", "npm:1.3.0"],\ + ["ajv", "npm:8.12.0"],\ + ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-uri", "npm:2.3.0"],\ + ["json-schema-ref-resolver", "npm:1.0.1"],\ + ["rfdc", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-levenshtein", [\ + ["npm:2.0.6", {\ + "packageLocation": "../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ + "packageDependencies": [\ + ["fast-levenshtein", "npm:2.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-printf", [\ + ["npm:1.6.9", {\ + "packageLocation": "../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ + "packageDependencies": [\ + ["fast-printf", "npm:1.6.9"],\ + ["boolean", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-querystring", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ + "packageDependencies": [\ + ["fast-querystring", "npm:1.1.2"],\ + ["fast-decode-uri-component", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-redact", [\ + ["npm:3.3.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ + "packageDependencies": [\ + ["fast-redact", "npm:3.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-safe-stringify", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ + "packageDependencies": [\ + ["fast-safe-stringify", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fast-uri", [\ + ["npm:2.3.0", {\ + "packageLocation": "../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ + "packageDependencies": [\ + ["fast-uri", "npm:2.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastify", [\ + ["npm:4.26.0", {\ + "packageLocation": "../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ + "packageDependencies": [\ + ["fastify", "npm:4.26.0"],\ + ["@fastify/ajv-compiler", "npm:3.5.0"],\ + ["@fastify/error", "npm:3.4.1"],\ + ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ + ["abstract-logging", "npm:2.0.1"],\ + ["avvio", "npm:8.2.1"],\ + ["fast-content-type-parse", "npm:1.1.0"],\ + ["fast-json-stringify", "npm:5.10.0"],\ + ["find-my-way", "npm:8.1.0"],\ + ["light-my-request", "npm:5.11.0"],\ + ["pino", "npm:8.17.2"],\ + ["process-warning", "npm:3.0.0"],\ + ["proxy-addr", "npm:2.0.7"],\ + ["rfdc", "npm:1.3.1"],\ + ["secure-json-parse", "npm:2.7.0"],\ + ["semver", "npm:7.5.4"],\ + ["toad-cache", "npm:3.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastify-plugin", [\ + ["npm:4.5.1", {\ + "packageLocation": "../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ + "packageDependencies": [\ + ["fastify-plugin", "npm:4.5.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fastq", [\ + ["npm:1.17.0", {\ + "packageLocation": "../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ + "packageDependencies": [\ + ["fastq", "npm:1.17.0"],\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-entry-cache", [\ + ["npm:6.0.1", {\ + "packageLocation": "../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ + "packageDependencies": [\ + ["file-entry-cache", "npm:6.0.1"],\ + ["flat-cache", "npm:3.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["file-uri-to-path", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ + "packageDependencies": [\ + ["file-uri-to-path", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fill-range", [\ + ["npm:7.0.1", {\ + "packageLocation": "../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ + "packageDependencies": [\ + ["fill-range", "npm:7.0.1"],\ + ["to-regex-range", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-my-way", [\ + ["npm:8.1.0", {\ + "packageLocation": "../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ + "packageDependencies": [\ + ["find-my-way", "npm:8.1.0"],\ + ["fast-deep-equal", "npm:3.1.3"],\ + ["fast-querystring", "npm:1.1.2"],\ + ["safe-regex2", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["find-up", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ + "packageDependencies": [\ + ["find-up", "npm:5.0.0"],\ + ["locate-path", "npm:6.0.0"],\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flat-cache", [\ + ["npm:3.2.0", {\ + "packageLocation": "../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ + "packageDependencies": [\ + ["flat-cache", "npm:3.2.0"],\ + ["flatted", "npm:3.2.9"],\ + ["keyv", "npm:4.5.4"],\ + ["rimraf", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["flatted", [\ + ["npm:3.2.9", {\ + "packageLocation": "../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ + "packageDependencies": [\ + ["flatted", "npm:3.2.9"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["foreground-child", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ + "packageDependencies": [\ + ["foreground-child", "npm:3.1.1"],\ + ["cross-spawn", "npm:7.0.3"],\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["forwarded", [\ + ["npm:0.2.0", {\ + "packageLocation": "../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ + "packageDependencies": [\ + ["forwarded", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-constants", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ + "packageDependencies": [\ + ["fs-constants", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs-minipass", [\ + ["npm:2.1.0", {\ + "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.3", {\ + "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ + "packageDependencies": [\ + ["fs-minipass", "npm:3.0.3"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fs.realpath", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ + "packageDependencies": [\ + ["fs.realpath", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["fsevents", [\ + ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ + "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ + "packageDependencies": [\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["node-gyp", "npm:10.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["gauge", [\ + ["npm:4.0.4", {\ + "packageLocation": "../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ + "packageDependencies": [\ + ["gauge", "npm:4.0.4"],\ + ["aproba", "npm:2.0.0"],\ + ["color-support", "npm:1.1.3"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["has-unicode", "npm:2.0.1"],\ + ["signal-exit", "npm:3.0.7"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"],\ + ["wide-align", "npm:1.1.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-func-name", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ + "packageDependencies": [\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stack-trace", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ + "packageDependencies": [\ + ["get-stack-trace", "npm:2.1.1"],\ + ["bluebird", "npm:3.7.2"],\ + ["source-map", "npm:0.8.0-beta.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ + "packageDependencies": [\ + ["get-stack-trace", "npm:3.1.1"],\ + ["stacktrace-parser", "npm:0.1.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-stream", [\ + ["npm:8.0.1", {\ + "packageLocation": "../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ + "packageDependencies": [\ + ["get-stream", "npm:8.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["get-tsconfig", [\ + ["npm:4.7.2", {\ + "packageLocation": "../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ + "packageDependencies": [\ + ["get-tsconfig", "npm:4.7.2"],\ + ["resolve-pkg-maps", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["github-from-package", [\ + ["npm:0.0.0", {\ + "packageLocation": "../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ + "packageDependencies": [\ + ["github-from-package", "npm:0.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob", [\ + ["npm:10.3.10", {\ + "packageLocation": "../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:10.3.10"],\ + ["foreground-child", "npm:3.1.1"],\ + ["jackspeak", "npm:2.3.6"],\ + ["minimatch", "npm:9.0.3"],\ + ["minipass", "npm:7.0.4"],\ + ["path-scurry", "npm:1.10.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.3", {\ + "packageLocation": "../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:7.2.3"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:3.1.2"],\ + ["once", "npm:1.4.0"],\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ + "packageDependencies": [\ + ["glob", "npm:8.1.0"],\ + ["fs.realpath", "npm:1.0.0"],\ + ["inflight", "npm:1.0.6"],\ + ["inherits", "npm:2.0.4"],\ + ["minimatch", "npm:5.1.6"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["glob-parent", [\ + ["npm:5.1.2", {\ + "packageLocation": "../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:5.1.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.2", {\ + "packageLocation": "../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ + "packageDependencies": [\ + ["glob-parent", "npm:6.0.2"],\ + ["is-glob", "npm:4.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globals", [\ + ["npm:13.24.0", {\ + "packageLocation": "../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ + "packageDependencies": [\ + ["globals", "npm:13.24.0"],\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["globby", [\ + ["npm:11.1.0", {\ + "packageLocation": "../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ + "packageDependencies": [\ + ["globby", "npm:11.1.0"],\ + ["array-union", "npm:2.1.0"],\ + ["dir-glob", "npm:3.0.1"],\ + ["fast-glob", "npm:3.3.2"],\ + ["ignore", "npm:5.3.0"],\ + ["merge2", "npm:1.4.1"],\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graceful-fs", [\ + ["npm:4.2.11", {\ + "packageLocation": "../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ + "packageDependencies": [\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["graphemer", [\ + ["npm:1.4.0", {\ + "packageLocation": "../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ + "packageDependencies": [\ + ["graphemer", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-ansi", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ + "packageDependencies": [\ + ["has-ansi", "npm:2.0.0"],\ + ["ansi-regex", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-flag", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ + "packageDependencies": [\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["has-unicode", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ + "packageDependencies": [\ + ["has-unicode", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["help-me", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ + "packageDependencies": [\ + ["help-me", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["html-escaper", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ + "packageDependencies": [\ + ["html-escaper", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-cache-semantics", [\ + ["npm:4.1.1", {\ + "packageLocation": "../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ + "packageDependencies": [\ + ["http-cache-semantics", "npm:4.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-errors", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ + "packageDependencies": [\ + ["http-errors", "npm:2.0.0"],\ + ["depd", "npm:2.0.0"],\ + ["inherits", "npm:2.0.4"],\ + ["setprototypeof", "npm:1.2.0"],\ + ["statuses", "npm:2.0.1"],\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["http-proxy-agent", [\ + ["npm:4.0.1", {\ + "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:4.0.1"],\ + ["@tootallnate/once", "npm:1.1.2"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.0", {\ + "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ + "packageDependencies": [\ + ["http-proxy-agent", "npm:7.0.0"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["https-proxy-agent", [\ + ["npm:5.0.1", {\ + "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.2", {\ + "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ + "packageDependencies": [\ + ["https-proxy-agent", "npm:7.0.2"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["human-signals", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ + "packageDependencies": [\ + ["human-signals", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["humanize-ms", [\ + ["npm:1.2.1", {\ + "packageLocation": "../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ + "packageDependencies": [\ + ["humanize-ms", "npm:1.2.1"],\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["hyperid", [\ + ["npm:2.3.1", {\ + "packageLocation": "../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ + "packageDependencies": [\ + ["hyperid", "npm:2.3.1"],\ + ["uuid", "npm:8.3.2"],\ + ["uuid-parse", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iconv-lite", [\ + ["npm:0.6.3", {\ + "packageLocation": "../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ + "packageDependencies": [\ + ["iconv-lite", "npm:0.6.3"],\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ieee754", [\ + ["npm:1.2.1", {\ + "packageLocation": "../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ + "packageDependencies": [\ + ["ieee754", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ignore", [\ + ["npm:5.3.0", {\ + "packageLocation": "../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ + "packageDependencies": [\ + ["ignore", "npm:5.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["import-fresh", [\ + ["npm:3.3.0", {\ + "packageLocation": "../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ + "packageDependencies": [\ + ["import-fresh", "npm:3.3.0"],\ + ["parent-module", "npm:1.0.1"],\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["imurmurhash", [\ + ["npm:0.1.4", {\ + "packageLocation": "../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ + "packageDependencies": [\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["indent-string", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ + "packageDependencies": [\ + ["indent-string", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["infer-owner", [\ + ["npm:1.0.4", {\ + "packageLocation": "../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ + "packageDependencies": [\ + ["infer-owner", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inflight", [\ + ["npm:1.0.6", {\ + "packageLocation": "../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ + "packageDependencies": [\ + ["inflight", "npm:1.0.6"],\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["inherits", [\ + ["npm:2.0.4", {\ + "packageLocation": "../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ + "packageDependencies": [\ + ["inherits", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ini", [\ + ["npm:1.3.8", {\ + "packageLocation": "../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ + "packageDependencies": [\ + ["ini", "npm:1.3.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["int64-buffer", [\ + ["npm:0.99.1007", {\ + "packageLocation": "../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ + "packageDependencies": [\ + ["int64-buffer", "npm:0.99.1007"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ip", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/ip-npm-2.0.0-204facb3cc-10c0.zip/node_modules/ip/",\ + "packageDependencies": [\ + ["ip", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ipaddr.js", [\ + ["npm:1.9.1", {\ + "packageLocation": "../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ + "packageDependencies": [\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-extglob", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ + "packageDependencies": [\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-fullwidth-code-point", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ + "packageDependencies": [\ + ["is-fullwidth-code-point", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-glob", [\ + ["npm:4.0.3", {\ + "packageLocation": "../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ + "packageDependencies": [\ + ["is-glob", "npm:4.0.3"],\ + ["is-extglob", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-lambda", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ + "packageDependencies": [\ + ["is-lambda", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-number", [\ + ["npm:7.0.0", {\ + "packageLocation": "../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ + "packageDependencies": [\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-path-inside", [\ + ["npm:3.0.3", {\ + "packageLocation": "../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ + "packageDependencies": [\ + ["is-path-inside", "npm:3.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-plain-object", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ + "packageDependencies": [\ + ["is-plain-object", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["is-stream", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ + "packageDependencies": [\ + ["is-stream", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["isexe", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ + "packageDependencies": [\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["iso8601-duration", [\ + ["npm:1.3.0", {\ + "packageLocation": "../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ + "packageDependencies": [\ + ["iso8601-duration", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-coverage", [\ + ["npm:3.2.2", {\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ + "packageDependencies": [\ + ["istanbul-lib-coverage", "npm:3.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-report", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ + "packageDependencies": [\ + ["istanbul-lib-report", "npm:3.0.1"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["make-dir", "npm:4.0.0"],\ + ["supports-color", "npm:7.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-lib-source-maps", [\ + ["npm:4.0.1", {\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ + "packageDependencies": [\ + ["istanbul-lib-source-maps", "npm:4.0.1"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["istanbul-lib-coverage", "npm:3.2.2"],\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["istanbul-reports", [\ + ["npm:3.1.6", {\ + "packageLocation": "../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ + "packageDependencies": [\ + ["istanbul-reports", "npm:3.1.6"],\ + ["html-escaper", "npm:2.0.2"],\ + ["istanbul-lib-report", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jackspeak", [\ + ["npm:2.3.6", {\ + "packageLocation": "../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ + "packageDependencies": [\ + ["jackspeak", "npm:2.3.6"],\ + ["@isaacs/cliui", "npm:8.0.2"],\ + ["@pkgjs/parseargs", "npm:0.11.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["joycon", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ + "packageDependencies": [\ + ["joycon", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js-yaml", [\ + ["npm:4.1.0", {\ + "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ + "packageDependencies": [\ + ["js-yaml", "npm:4.1.0"],\ + ["argparse", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["js2xmlparser", [\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ + "packageDependencies": [\ + ["js2xmlparser", "npm:4.0.2"],\ + ["xmlcreate", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsdoc", [\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ + "packageDependencies": [\ + ["jsdoc", "npm:4.0.2"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@jsdoc/salty", "npm:0.2.7"],\ + ["@types/markdown-it", "npm:12.2.3"],\ + ["bluebird", "npm:3.7.2"],\ + ["catharsis", "npm:0.9.0"],\ + ["escape-string-regexp", "npm:2.0.0"],\ + ["js2xmlparser", "npm:4.0.2"],\ + ["klaw", "npm:3.0.0"],\ + ["markdown-it", "npm:12.3.2"],\ + ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ + ["marked", "npm:4.3.0"],\ + ["mkdirp", "npm:1.0.4"],\ + ["requizzle", "npm:0.2.4"],\ + ["strip-json-comments", "npm:3.1.1"],\ + ["underscore", "npm:1.13.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-buffer", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ + "packageDependencies": [\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-ref-resolver", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ + "packageDependencies": [\ + ["json-schema-ref-resolver", "npm:1.0.1"],\ + ["fast-deep-equal", "npm:3.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-schema-traverse", [\ + ["npm:0.4.1", {\ + "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:0.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ + "packageDependencies": [\ + ["json-schema-traverse", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["json-stable-stringify-without-jsonify", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageDependencies": [\ + ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["jsonc-parser", [\ + ["npm:3.2.1", {\ + "packageLocation": "../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ + "packageDependencies": [\ + ["jsonc-parser", "npm:3.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["keyv", [\ + ["npm:4.5.4", {\ + "packageLocation": "../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ + "packageDependencies": [\ + ["keyv", "npm:4.5.4"],\ + ["json-buffer", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["klaw", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ + "packageDependencies": [\ + ["klaw", "npm:3.0.0"],\ + ["graceful-fs", "npm:4.2.11"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["levn", [\ + ["npm:0.4.1", {\ + "packageLocation": "../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ + "packageDependencies": [\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["light-my-request", [\ + ["npm:5.11.0", {\ + "packageLocation": "../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ + "packageDependencies": [\ + ["light-my-request", "npm:5.11.0"],\ + ["cookie", "npm:0.5.0"],\ + ["process-warning", "npm:2.3.2"],\ + ["set-cookie-parser", "npm:2.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["linkify-it", [\ + ["npm:3.0.3", {\ + "packageLocation": "../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ + "packageDependencies": [\ + ["linkify-it", "npm:3.0.3"],\ + ["uc.micro", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["local-pkg", [\ + ["npm:0.5.0", {\ + "packageLocation": "../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ + "packageDependencies": [\ + ["local-pkg", "npm:0.5.0"],\ + ["mlly", "npm:1.5.0"],\ + ["pkg-types", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["locate-path", [\ + ["npm:6.0.0", {\ + "packageLocation": "../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ + "packageDependencies": [\ + ["locate-path", "npm:6.0.0"],\ + ["p-locate", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash", [\ + ["npm:4.17.21", {\ + "packageLocation": "../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ + "packageDependencies": [\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.merge", [\ + ["npm:4.6.2", {\ + "packageLocation": "../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ + "packageDependencies": [\ + ["lodash.merge", "npm:4.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lodash.sortby", [\ + ["npm:4.7.0", {\ + "packageLocation": "../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ + "packageDependencies": [\ + ["lodash.sortby", "npm:4.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loglevel", [\ + ["npm:1.9.1", {\ + "packageLocation": "../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ + "packageDependencies": [\ + ["loglevel", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loglevel-colored-level-prefix", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ + "packageDependencies": [\ + ["loglevel-colored-level-prefix", "npm:1.0.0"],\ + ["chalk", "npm:1.1.3"],\ + ["loglevel", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["loupe", [\ + ["npm:2.3.7", {\ + "packageLocation": "../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ + "packageDependencies": [\ + ["loupe", "npm:2.3.7"],\ + ["get-func-name", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["lru-cache", [\ + ["npm:10.2.0", {\ + "packageLocation": "../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:10.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.0", {\ + "packageLocation": "../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ + "packageDependencies": [\ + ["lru-cache", "npm:6.0.0"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["magic-string", [\ + ["npm:0.30.5", {\ + "packageLocation": "../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ + "packageDependencies": [\ + ["magic-string", "npm:0.30.5"],\ + ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["magicast", [\ + ["npm:0.3.3", {\ + "packageLocation": "../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ + "packageDependencies": [\ + ["magicast", "npm:0.3.3"],\ + ["@babel/parser", "npm:7.23.9"],\ + ["@babel/types", "npm:7.23.9"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-dir", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ + "packageDependencies": [\ + ["make-dir", "npm:4.0.0"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-error", [\ + ["npm:1.3.6", {\ + "packageLocation": "../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ + "packageDependencies": [\ + ["make-error", "npm:1.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["make-fetch-happen", [\ + ["npm:13.0.0", {\ + "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:13.0.0"],\ + ["@npmcli/agent", "npm:2.2.0"],\ + ["cacache", "npm:18.0.2"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["is-lambda", "npm:1.0.1"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-fetch", "npm:3.0.4"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:0.6.3"],\ + ["promise-retry", "npm:2.0.1"],\ + ["ssri", "npm:10.0.5"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.1.0", {\ + "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ + "packageDependencies": [\ + ["make-fetch-happen", "npm:9.1.0"],\ + ["agentkeepalive", "npm:4.5.0"],\ + ["cacache", "npm:15.3.0"],\ + ["http-cache-semantics", "npm:4.1.1"],\ + ["http-proxy-agent", "npm:4.0.1"],\ + ["https-proxy-agent", "npm:5.0.1"],\ + ["is-lambda", "npm:1.0.1"],\ + ["lru-cache", "npm:6.0.0"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass-fetch", "npm:1.4.1"],\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["negotiator", "npm:0.6.3"],\ + ["promise-retry", "npm:2.0.1"],\ + ["socks-proxy-agent", "npm:6.2.1"],\ + ["ssri", "npm:8.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["markdown-it", [\ + ["npm:12.3.2", {\ + "packageLocation": "../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ + "packageDependencies": [\ + ["markdown-it", "npm:12.3.2"],\ + ["argparse", "npm:2.0.1"],\ + ["entities", "npm:2.1.0"],\ + ["linkify-it", "npm:3.0.3"],\ + ["mdurl", "npm:1.0.1"],\ + ["uc.micro", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["markdown-it-anchor", [\ + ["npm:8.6.7", {\ + "packageLocation": "../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageDependencies": [\ + ["markdown-it-anchor", "npm:8.6.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7", {\ + "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/2/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageDependencies": [\ + ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ + ["@types/markdown-it", "npm:12.2.3"],\ + ["markdown-it", "npm:12.3.2"]\ + ],\ + "packagePeers": [\ + "@types/markdown-it",\ + "markdown-it"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["marked", [\ + ["npm:4.3.0", {\ + "packageLocation": "../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ + "packageDependencies": [\ + ["marked", "npm:4.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mdurl", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ + "packageDependencies": [\ + ["mdurl", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["media-typer", [\ + ["npm:0.3.0", {\ + "packageLocation": "../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ + "packageDependencies": [\ + ["media-typer", "npm:0.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge-stream", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ + "packageDependencies": [\ + ["merge-stream", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["merge2", [\ + ["npm:1.4.1", {\ + "packageLocation": "../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ + "packageDependencies": [\ + ["merge2", "npm:1.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["micromatch", [\ + ["npm:4.0.5", {\ + "packageLocation": "../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ + "packageDependencies": [\ + ["micromatch", "npm:4.0.5"],\ + ["braces", "npm:3.0.2"],\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-db", [\ + ["npm:1.52.0", {\ + "packageLocation": "../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ + "packageDependencies": [\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mime-types", [\ + ["npm:2.1.35", {\ + "packageLocation": "../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ + "packageDependencies": [\ + ["mime-types", "npm:2.1.35"],\ + ["mime-db", "npm:1.52.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-fn", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ + "packageDependencies": [\ + ["mimic-fn", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mimic-response", [\ + ["npm:3.1.0", {\ + "packageLocation": "../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ + "packageDependencies": [\ + ["mimic-response", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimatch", [\ + ["npm:3.1.2", {\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:3.1.2"],\ + ["brace-expansion", "npm:1.1.11"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.6", {\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:5.1.6"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:9.0.3", {\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ + "packageDependencies": [\ + ["minimatch", "npm:9.0.3"],\ + ["brace-expansion", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minimist", [\ + ["npm:1.2.8", {\ + "packageLocation": "../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ + "packageDependencies": [\ + ["minimist", "npm:1.2.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass", [\ + ["npm:3.3.6", {\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:5.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.0.4", {\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ + "packageDependencies": [\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-collect", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:1.0.2"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ + "packageDependencies": [\ + ["minipass-collect", "npm:2.0.1"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-fetch", [\ + ["npm:1.4.1", {\ + "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:1.4.1"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:3.3.6"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.4", {\ + "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ + "packageDependencies": [\ + ["minipass-fetch", "npm:3.0.4"],\ + ["encoding", "npm:0.1.13"],\ + ["minipass", "npm:7.0.4"],\ + ["minipass-sized", "npm:1.0.3"],\ + ["minizlib", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-flush", [\ + ["npm:1.0.5", {\ + "packageLocation": "../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ + "packageDependencies": [\ + ["minipass-flush", "npm:1.0.5"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-pipeline", [\ + ["npm:1.2.4", {\ + "packageLocation": "../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ + "packageDependencies": [\ + ["minipass-pipeline", "npm:1.2.4"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minipass-sized", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ + "packageDependencies": [\ + ["minipass-sized", "npm:1.0.3"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["minizlib", [\ + ["npm:2.1.2", {\ + "packageLocation": "../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ + "packageDependencies": [\ + ["minizlib", "npm:2.1.2"],\ + ["minipass", "npm:3.3.6"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp", [\ + ["npm:1.0.4", {\ + "packageLocation": "../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ + "packageDependencies": [\ + ["mkdirp", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mkdirp-classic", [\ + ["npm:0.5.3", {\ + "packageLocation": "../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ + "packageDependencies": [\ + ["mkdirp-classic", "npm:0.5.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["mlly", [\ + ["npm:1.5.0", {\ + "packageLocation": "../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ + "packageDependencies": [\ + ["mlly", "npm:1.5.0"],\ + ["acorn", "npm:8.11.3"],\ + ["pathe", "npm:1.1.2"],\ + ["pkg-types", "npm:1.0.3"],\ + ["ufo", "npm:1.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["moment", [\ + ["npm:2.30.1", {\ + "packageLocation": "../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ + "packageDependencies": [\ + ["moment", "npm:2.30.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ms", [\ + ["npm:2.1.2", {\ + "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.3", {\ + "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ + "packageDependencies": [\ + ["ms", "npm:2.1.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["multi-fork", [\ + ["npm:0.0.2", {\ + "packageLocation": "../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ + "packageDependencies": [\ + ["multi-fork", "npm:0.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nanoid", [\ + ["npm:3.3.7", {\ + "packageLocation": "../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ + "packageDependencies": [\ + ["nanoid", "npm:3.3.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["napi-build-utils", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ + "packageDependencies": [\ + ["napi-build-utils", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["natural-compare", [\ + ["npm:1.4.0", {\ + "packageLocation": "../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ + "packageDependencies": [\ + ["natural-compare", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["negotiator", [\ + ["npm:0.6.3", {\ + "packageLocation": "../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ + "packageDependencies": [\ + ["negotiator", "npm:0.6.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-abi", [\ + ["npm:3.54.0", {\ + "packageLocation": "../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ + "packageDependencies": [\ + ["node-abi", "npm:3.54.0"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-addon-api", [\ + ["npm:7.1.0", {\ + "packageLocation": "./.yarn/unplugged/node-addon-api-npm-7.1.0-619a324431/node_modules/node-addon-api/",\ + "packageDependencies": [\ + ["node-addon-api", "npm:7.1.0"],\ + ["node-gyp", "npm:10.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-fetch", [\ + ["npm:2.7.0", {\ + "packageLocation": "../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "npm:2.7.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0", {\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/2/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageDependencies": [\ + ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ + ["@types/encoding", null],\ + ["encoding", null],\ + ["whatwg-url", "npm:5.0.0"]\ + ],\ + "packagePeers": [\ + "@types/encoding",\ + "encoding"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["node-gyp", [\ + ["npm:10.0.1", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-10.0.1-48708ce70b/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:10.0.1"],\ + ["env-paths", "npm:2.2.1"],\ + ["exponential-backoff", "npm:3.1.1"],\ + ["glob", "npm:10.3.10"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:13.0.0"],\ + ["nopt", "npm:7.2.0"],\ + ["proc-log", "npm:3.0.0"],\ + ["semver", "npm:7.5.4"],\ + ["tar", "npm:6.2.0"],\ + ["which", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.4.1", {\ + "packageLocation": "./.yarn/unplugged/node-gyp-npm-8.4.1-13c90a9c9b/node_modules/node-gyp/",\ + "packageDependencies": [\ + ["node-gyp", "npm:8.4.1"],\ + ["env-paths", "npm:2.2.1"],\ + ["glob", "npm:7.2.3"],\ + ["graceful-fs", "npm:4.2.11"],\ + ["make-fetch-happen", "npm:9.1.0"],\ + ["nopt", "npm:5.0.0"],\ + ["npmlog", "npm:6.0.2"],\ + ["rimraf", "npm:3.0.2"],\ + ["semver", "npm:7.5.4"],\ + ["tar", "npm:6.2.0"],\ + ["which", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["nopt", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:5.0.0"],\ + ["abbrev", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.0", {\ + "packageLocation": "../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ + "packageDependencies": [\ + ["nopt", "npm:7.2.0"],\ + ["abbrev", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npm-run-path", [\ + ["npm:5.2.0", {\ + "packageLocation": "../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ + "packageDependencies": [\ + ["npm-run-path", "npm:5.2.0"],\ + ["path-key", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["npmlog", [\ + ["npm:6.0.2", {\ + "packageLocation": "../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ + "packageDependencies": [\ + ["npmlog", "npm:6.0.2"],\ + ["are-we-there-yet", "npm:3.0.1"],\ + ["console-control-strings", "npm:1.1.0"],\ + ["gauge", "npm:4.0.4"],\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["obuf", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ + "packageDependencies": [\ + ["obuf", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["on-exit-leak-free", [\ + ["npm:2.1.2", {\ + "packageLocation": "../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ + "packageDependencies": [\ + ["on-exit-leak-free", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["once", [\ + ["npm:1.4.0", {\ + "packageLocation": "../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ + "packageDependencies": [\ + ["once", "npm:1.4.0"],\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["onetime", [\ + ["npm:6.0.0", {\ + "packageLocation": "../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ + "packageDependencies": [\ + ["onetime", "npm:6.0.0"],\ + ["mimic-fn", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["optionator", [\ + ["npm:0.9.3", {\ + "packageLocation": "../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ + "packageDependencies": [\ + ["optionator", "npm:0.9.3"],\ + ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ + ["deep-is", "npm:0.1.4"],\ + ["fast-levenshtein", "npm:2.0.6"],\ + ["levn", "npm:0.4.1"],\ + ["prelude-ls", "npm:1.2.1"],\ + ["type-check", "npm:0.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-defer", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ + "packageDependencies": [\ + ["p-defer", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-limit", [\ + ["npm:3.1.0", {\ + "packageLocation": "../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:3.1.0"],\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ + "packageDependencies": [\ + ["p-limit", "npm:5.0.0"],\ + ["yocto-queue", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-locate", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ + "packageDependencies": [\ + ["p-locate", "npm:5.0.0"],\ + ["p-limit", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["p-map", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ + "packageDependencies": [\ + ["p-map", "npm:4.0.0"],\ + ["aggregate-error", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["packet-reader", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ + "packageDependencies": [\ + ["packet-reader", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["parent-module", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ + "packageDependencies": [\ + ["parent-module", "npm:1.0.1"],\ + ["callsites", "npm:3.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-exists", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ + "packageDependencies": [\ + ["path-exists", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-is-absolute", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ + "packageDependencies": [\ + ["path-is-absolute", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-key", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ + "packageDependencies": [\ + ["path-key", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-scurry", [\ + ["npm:1.10.1", {\ + "packageLocation": "../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ + "packageDependencies": [\ + ["path-scurry", "npm:1.10.1"],\ + ["lru-cache", "npm:10.2.0"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["path-type", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ + "packageDependencies": [\ + ["path-type", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pathe", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ + "packageDependencies": [\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pathval", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ + "packageDependencies": [\ + ["pathval", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg", [\ + ["npm:8.11.3", {\ + "packageLocation": "../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageDependencies": [\ + ["pg", "npm:8.11.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3", {\ + "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/2/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageDependencies": [\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ + ["@types/pg-native", null],\ + ["buffer-writer", "npm:2.0.0"],\ + ["packet-reader", "npm:1.0.0"],\ + ["pg-cloudflare", "npm:1.1.1"],\ + ["pg-connection-string", "npm:2.6.2"],\ + ["pg-native", null],\ + ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ + ["pg-protocol", "npm:1.6.0"],\ + ["pg-types", "npm:2.2.0"],\ + ["pgpass", "npm:1.0.5"]\ + ],\ + "packagePeers": [\ + "@types/pg-native",\ + "pg-native"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-cloudflare", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ + "packageDependencies": [\ + ["pg-cloudflare", "npm:1.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-connection-string", [\ + ["npm:2.6.2", {\ + "packageLocation": "../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ + "packageDependencies": [\ + ["pg-connection-string", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-copy-streams", [\ + ["npm:6.0.6", {\ + "packageLocation": "../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ + "packageDependencies": [\ + ["pg-copy-streams", "npm:6.0.6"],\ + ["obuf", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-copy-streams-binary", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ + "packageDependencies": [\ + ["pg-copy-streams-binary", "npm:2.2.0"],\ + ["bl", "npm:4.1.0"],\ + ["bufferput", "npm:0.1.3"],\ + ["ieee754", "npm:1.2.1"],\ + ["int64-buffer", "npm:0.99.1007"],\ + ["multi-fork", "npm:0.0.2"],\ + ["through2", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-cursor", [\ + ["npm:2.10.3", {\ + "packageLocation": "../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageDependencies": [\ + ["pg-cursor", "npm:2.10.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3", {\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageDependencies": [\ + ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ + ["@types/pg", null],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ + ],\ + "packagePeers": [\ + "@types/pg",\ + "pg"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3", {\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageDependencies": [\ + ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"],\ + ["@types/pg", "npm:8.11.0"],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ + ],\ + "packagePeers": [\ + "@types/pg",\ + "pg"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-int8", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ + "packageDependencies": [\ + ["pg-int8", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-numeric", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ + "packageDependencies": [\ + ["pg-numeric", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-pool", [\ + ["npm:3.6.1", {\ + "packageLocation": "../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageDependencies": [\ + ["pg-pool", "npm:3.6.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1", {\ + "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/2/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageDependencies": [\ + ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ + ["@types/pg", null],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ + ],\ + "packagePeers": [\ + "@types/pg",\ + "pg"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-protocol", [\ + ["npm:1.6.0", {\ + "packageLocation": "../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ + "packageDependencies": [\ + ["pg-protocol", "npm:1.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-query-stream", [\ + ["npm:4.5.3", {\ + "packageLocation": "../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageDependencies": [\ + ["pg-query-stream", "npm:4.5.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3", {\ + "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/2/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageDependencies": [\ + ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ + ["@types/pg", "npm:8.11.0"],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ + ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"]\ + ],\ + "packagePeers": [\ + "@types/pg",\ + "pg"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pg-types", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ + "packageDependencies": [\ + ["pg-types", "npm:2.2.0"],\ + ["pg-int8", "npm:1.0.1"],\ + ["postgres-array", "npm:2.0.0"],\ + ["postgres-bytea", "npm:1.0.0"],\ + ["postgres-date", "npm:1.0.7"],\ + ["postgres-interval", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ + "packageDependencies": [\ + ["pg-types", "npm:4.0.2"],\ + ["pg-int8", "npm:1.0.1"],\ + ["pg-numeric", "npm:1.0.2"],\ + ["postgres-array", "npm:3.0.2"],\ + ["postgres-bytea", "npm:3.0.0"],\ + ["postgres-date", "npm:2.1.0"],\ + ["postgres-interval", "npm:3.0.0"],\ + ["postgres-range", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pgpass", [\ + ["npm:1.0.5", {\ + "packageLocation": "../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ + "packageDependencies": [\ + ["pgpass", "npm:1.0.5"],\ + ["split2", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picocolors", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ + "packageDependencies": [\ + ["picocolors", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["picomatch", [\ + ["npm:2.3.1", {\ + "packageLocation": "../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ + "packageDependencies": [\ + ["picomatch", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino", [\ + ["npm:8.17.2", {\ + "packageLocation": "../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ + "packageDependencies": [\ + ["pino", "npm:8.17.2"],\ + ["atomic-sleep", "npm:1.0.0"],\ + ["fast-redact", "npm:3.3.0"],\ + ["on-exit-leak-free", "npm:2.1.2"],\ + ["pino-abstract-transport", "npm:1.1.0"],\ + ["pino-std-serializers", "npm:6.2.2"],\ + ["process-warning", "npm:3.0.0"],\ + ["quick-format-unescaped", "npm:4.0.4"],\ + ["real-require", "npm:0.2.0"],\ + ["safe-stable-stringify", "npm:2.4.3"],\ + ["sonic-boom", "npm:3.8.0"],\ + ["thread-stream", "npm:2.4.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.18.0", {\ + "packageLocation": "../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ + "packageDependencies": [\ + ["pino", "npm:8.18.0"],\ + ["atomic-sleep", "npm:1.0.0"],\ + ["fast-redact", "npm:3.3.0"],\ + ["on-exit-leak-free", "npm:2.1.2"],\ + ["pino-abstract-transport", "npm:1.1.0"],\ + ["pino-std-serializers", "npm:6.2.2"],\ + ["process-warning", "npm:3.0.0"],\ + ["quick-format-unescaped", "npm:4.0.4"],\ + ["real-require", "npm:0.2.0"],\ + ["safe-stable-stringify", "npm:2.4.3"],\ + ["sonic-boom", "npm:3.8.0"],\ + ["thread-stream", "npm:2.4.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino-abstract-transport", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ + "packageDependencies": [\ + ["pino-abstract-transport", "npm:1.1.0"],\ + ["readable-stream", "npm:4.5.2"],\ + ["split2", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino-pretty", [\ + ["npm:10.3.1", {\ + "packageLocation": "../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ + "packageDependencies": [\ + ["pino-pretty", "npm:10.3.1"],\ + ["colorette", "npm:2.0.20"],\ + ["dateformat", "npm:4.6.3"],\ + ["fast-copy", "npm:3.0.1"],\ + ["fast-safe-stringify", "npm:2.1.1"],\ + ["help-me", "npm:5.0.0"],\ + ["joycon", "npm:3.1.1"],\ + ["minimist", "npm:1.2.8"],\ + ["on-exit-leak-free", "npm:2.1.2"],\ + ["pino-abstract-transport", "npm:1.1.0"],\ + ["pump", "npm:3.0.0"],\ + ["readable-stream", "npm:4.5.2"],\ + ["secure-json-parse", "npm:2.7.0"],\ + ["sonic-boom", "npm:3.8.0"],\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pino-std-serializers", [\ + ["npm:6.2.2", {\ + "packageLocation": "../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ + "packageDependencies": [\ + ["pino-std-serializers", "npm:6.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pkg-types", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ + "packageDependencies": [\ + ["pkg-types", "npm:1.0.3"],\ + ["jsonc-parser", "npm:3.2.1"],\ + ["mlly", "npm:1.5.0"],\ + ["pathe", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pony-cause", [\ + ["npm:2.1.10", {\ + "packageLocation": "../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ + "packageDependencies": [\ + ["pony-cause", "npm:2.1.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postcss", [\ + ["npm:8.4.33", {\ + "packageLocation": "../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ + "packageDependencies": [\ + ["postcss", "npm:8.4.33"],\ + ["nanoid", "npm:3.3.7"],\ + ["picocolors", "npm:1.0.0"],\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postgres-array", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ + "packageDependencies": [\ + ["postgres-array", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.2", {\ + "packageLocation": "../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ + "packageDependencies": [\ + ["postgres-array", "npm:3.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postgres-bytea", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ + "packageDependencies": [\ + ["postgres-bytea", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ + "packageDependencies": [\ + ["postgres-bytea", "npm:3.0.0"],\ + ["obuf", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postgres-date", [\ + ["npm:1.0.7", {\ + "packageLocation": "../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ + "packageDependencies": [\ + ["postgres-date", "npm:1.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:2.1.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ + "packageDependencies": [\ + ["postgres-date", "npm:2.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postgres-interval", [\ + ["npm:1.2.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ + "packageDependencies": [\ + ["postgres-interval", "npm:1.2.0"],\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ + "packageDependencies": [\ + ["postgres-interval", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ + "packageDependencies": [\ + ["postgres-interval", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["postgres-range", [\ + ["npm:1.1.4", {\ + "packageLocation": "../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ + "packageDependencies": [\ + ["postgres-range", "npm:1.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prebuild-install", [\ + ["npm:7.1.1", {\ + "packageLocation": "../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ + "packageDependencies": [\ + ["prebuild-install", "npm:7.1.1"],\ + ["detect-libc", "npm:2.0.2"],\ + ["expand-template", "npm:2.0.3"],\ + ["github-from-package", "npm:0.0.0"],\ + ["minimist", "npm:1.2.8"],\ + ["mkdirp-classic", "npm:0.5.3"],\ + ["napi-build-utils", "npm:1.0.2"],\ + ["node-abi", "npm:3.54.0"],\ + ["pump", "npm:3.0.0"],\ + ["rc", "npm:1.2.8"],\ + ["simple-get", "npm:4.0.1"],\ + ["tar-fs", "npm:2.1.1"],\ + ["tunnel-agent", "npm:0.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prelude-ls", [\ + ["npm:1.2.1", {\ + "packageLocation": "../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ + "packageDependencies": [\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier", [\ + ["npm:3.1.1", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.1.1-072c31ec21/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.2.4", {\ + "packageLocation": "./.yarn/unplugged/prettier-npm-3.2.4-3ca24592c3/node_modules/prettier/",\ + "packageDependencies": [\ + ["prettier", "npm:3.2.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier-eslint", [\ + ["npm:16.2.0", {\ + "packageLocation": "../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ + "packageDependencies": [\ + ["prettier-eslint", "npm:16.2.0"],\ + ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ + ["common-tags", "npm:1.8.2"],\ + ["dlv", "npm:1.1.3"],\ + ["eslint", "npm:8.56.0"],\ + ["indent-string", "npm:4.0.0"],\ + ["lodash.merge", "npm:4.6.2"],\ + ["loglevel-colored-level-prefix", "npm:1.0.0"],\ + ["prettier", "npm:3.2.4"],\ + ["pretty-format", "npm:29.7.0"],\ + ["require-relative", "npm:0.8.7"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["prettier-linter-helpers", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ + "packageDependencies": [\ + ["prettier-linter-helpers", "npm:1.0.0"],\ + ["fast-diff", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pretty-format", [\ + ["npm:29.7.0", {\ + "packageLocation": "../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ + "packageDependencies": [\ + ["pretty-format", "npm:29.7.0"],\ + ["@jest/schemas", "npm:29.6.3"],\ + ["ansi-styles", "npm:5.2.0"],\ + ["react-is", "npm:18.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proc-log", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ + "packageDependencies": [\ + ["proc-log", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["process", [\ + ["npm:0.11.10", {\ + "packageLocation": "../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ + "packageDependencies": [\ + ["process", "npm:0.11.10"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["process-warning", [\ + ["npm:2.3.2", {\ + "packageLocation": "../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ + "packageDependencies": [\ + ["process-warning", "npm:2.3.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ + "packageDependencies": [\ + ["process-warning", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["progress", [\ + ["npm:2.0.3", {\ + "packageLocation": "../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ + "packageDependencies": [\ + ["progress", "npm:2.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-inflight", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageDependencies": [\ + ["promise-inflight", "npm:1.0.1"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ + "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/2/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageDependencies": [\ + ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ + ["@types/bluebird", null],\ + ["bluebird", null]\ + ],\ + "packagePeers": [\ + "@types/bluebird",\ + "bluebird"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["promise-retry", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ + "packageDependencies": [\ + ["promise-retry", "npm:2.0.1"],\ + ["err-code", "npm:2.0.3"],\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proxy-addr", [\ + ["npm:2.0.7", {\ + "packageLocation": "../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ + "packageDependencies": [\ + ["proxy-addr", "npm:2.0.7"],\ + ["forwarded", "npm:0.2.0"],\ + ["ipaddr.js", "npm:1.9.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["proxy-from-env", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ + "packageDependencies": [\ + ["proxy-from-env", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["pump", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ + "packageDependencies": [\ + ["pump", "npm:3.0.0"],\ + ["end-of-stream", "npm:1.4.4"],\ + ["once", "npm:1.4.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["punycode", [\ + ["npm:2.3.1", {\ + "packageLocation": "../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ + "packageDependencies": [\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["queue-microtask", [\ + ["npm:1.2.3", {\ + "packageLocation": "../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ + "packageDependencies": [\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["quick-format-unescaped", [\ + ["npm:4.0.4", {\ + "packageLocation": "../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ + "packageDependencies": [\ + ["quick-format-unescaped", "npm:4.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rc", [\ + ["npm:1.2.8", {\ + "packageLocation": "../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ + "packageDependencies": [\ + ["rc", "npm:1.2.8"],\ + ["deep-extend", "npm:0.6.0"],\ + ["ini", "npm:1.3.8"],\ + ["minimist", "npm:1.2.8"],\ + ["strip-json-comments", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["react-is", [\ + ["npm:18.2.0", {\ + "packageLocation": "../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ + "packageDependencies": [\ + ["react-is", "npm:18.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["readable-stream", [\ + ["npm:3.6.2", {\ + "packageLocation": "../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:3.6.2"],\ + ["inherits", "npm:2.0.4"],\ + ["string_decoder", "npm:1.3.0"],\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.5.2", {\ + "packageLocation": "../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ + "packageDependencies": [\ + ["readable-stream", "npm:4.5.2"],\ + ["abort-controller", "npm:3.0.0"],\ + ["buffer", "npm:6.0.3"],\ + ["events", "npm:3.3.0"],\ + ["process", "npm:0.11.10"],\ + ["string_decoder", "npm:1.3.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["real-require", [\ + ["npm:0.2.0", {\ + "packageLocation": "../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ + "packageDependencies": [\ + ["real-require", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-from-string", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ + "packageDependencies": [\ + ["require-from-string", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["require-relative", [\ + ["npm:0.8.7", {\ + "packageLocation": "../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ + "packageDependencies": [\ + ["require-relative", "npm:0.8.7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["requizzle", [\ + ["npm:0.2.4", {\ + "packageLocation": "../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ + "packageDependencies": [\ + ["requizzle", "npm:0.2.4"],\ + ["lodash", "npm:4.17.21"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-from", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ + "packageDependencies": [\ + ["resolve-from", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["resolve-pkg-maps", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ + "packageDependencies": [\ + ["resolve-pkg-maps", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ret", [\ + ["npm:0.2.2", {\ + "packageLocation": "../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ + "packageDependencies": [\ + ["ret", "npm:0.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["retry", [\ + ["npm:0.12.0", {\ + "packageLocation": "../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ + "packageDependencies": [\ + ["retry", "npm:0.12.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["reusify", [\ + ["npm:1.0.4", {\ + "packageLocation": "../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ + "packageDependencies": [\ + ["reusify", "npm:1.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rfdc", [\ + ["npm:1.3.1", {\ + "packageLocation": "../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ + "packageDependencies": [\ + ["rfdc", "npm:1.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rimraf", [\ + ["npm:3.0.2", {\ + "packageLocation": "../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ + "packageDependencies": [\ + ["rimraf", "npm:3.0.2"],\ + ["glob", "npm:7.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["roarr", [\ + ["npm:7.21.0", {\ + "packageLocation": "../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ + "packageDependencies": [\ + ["roarr", "npm:7.21.0"],\ + ["fast-printf", "npm:1.6.9"],\ + ["safe-stable-stringify", "npm:2.4.3"],\ + ["semver-compare", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rollup", [\ + ["npm:4.9.6", {\ + "packageLocation": "../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ + "packageDependencies": [\ + ["rollup", "npm:4.9.6"],\ + ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"],\ + ["@rollup/rollup-android-arm64", "npm:4.9.6"],\ + ["@rollup/rollup-darwin-arm64", "npm:4.9.6"],\ + ["@rollup/rollup-darwin-x64", "npm:4.9.6"],\ + ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"],\ + ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"],\ + ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"],\ + ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"],\ + ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"],\ + ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"],\ + ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"],\ + ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"],\ + ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"],\ + ["@types/estree", "npm:1.0.5"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["run-parallel", [\ + ["npm:1.2.0", {\ + "packageLocation": "../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ + "packageDependencies": [\ + ["run-parallel", "npm:1.2.0"],\ + ["queue-microtask", "npm:1.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["rusty-motors", [\ + ["workspace:.", {\ + "packageLocation": "./",\ + "packageDependencies": [\ + ["rusty-motors", "workspace:."],\ + ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ + ["@types/node", "npm:20.11.16"],\ + ["prettier", "npm:3.2.4"],\ + ["slonik", "npm:29.2.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ + ],\ + "linkType": "SOFT"\ + }]\ + ]],\ + ["safe-buffer", [\ + ["npm:5.2.1", {\ + "packageLocation": "../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ + "packageDependencies": [\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-regex2", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ + "packageDependencies": [\ + ["safe-regex2", "npm:2.0.0"],\ + ["ret", "npm:0.2.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safe-stable-stringify", [\ + ["npm:2.4.3", {\ + "packageLocation": "../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ + "packageDependencies": [\ + ["safe-stable-stringify", "npm:2.4.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["safer-buffer", [\ + ["npm:2.1.2", {\ + "packageLocation": "../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ + "packageDependencies": [\ + ["safer-buffer", "npm:2.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["secure-json-parse", [\ + ["npm:2.7.0", {\ + "packageLocation": "../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ + "packageDependencies": [\ + ["secure-json-parse", "npm:2.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver", [\ + ["npm:7.5.4", {\ + "packageLocation": "../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ + "packageDependencies": [\ + ["semver", "npm:7.5.4"],\ + ["lru-cache", "npm:6.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["semver-compare", [\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ + "packageDependencies": [\ + ["semver-compare", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["serialize-error", [\ + ["npm:8.1.0", {\ + "packageLocation": "../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ + "packageDependencies": [\ + ["serialize-error", "npm:8.1.0"],\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-blocking", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ + "packageDependencies": [\ + ["set-blocking", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["set-cookie-parser", [\ + ["npm:2.6.0", {\ + "packageLocation": "../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ + "packageDependencies": [\ + ["set-cookie-parser", "npm:2.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["setprototypeof", [\ + ["npm:1.2.0", {\ + "packageLocation": "../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ + "packageDependencies": [\ + ["setprototypeof", "npm:1.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-command", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ + "packageDependencies": [\ + ["shebang-command", "npm:2.0.0"],\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["shebang-regex", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ + "packageDependencies": [\ + ["shebang-regex", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["short-unique-id", [\ + ["npm:5.0.3", {\ + "packageLocation": "../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ + "packageDependencies": [\ + ["short-unique-id", "npm:5.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["siginfo", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ + "packageDependencies": [\ + ["siginfo", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["signal-exit", [\ + ["npm:3.0.7", {\ + "packageLocation": "../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:3.0.7"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.1.0", {\ + "packageLocation": "../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ + "packageDependencies": [\ + ["signal-exit", "npm:4.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["simple-concat", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ + "packageDependencies": [\ + ["simple-concat", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["simple-get", [\ + ["npm:4.0.1", {\ + "packageLocation": "../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ + "packageDependencies": [\ + ["simple-get", "npm:4.0.1"],\ + ["decompress-response", "npm:6.0.0"],\ + ["once", "npm:1.4.0"],\ + ["simple-concat", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slash", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ + "packageDependencies": [\ + ["slash", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["slonik", [\ + ["npm:29.2.0", {\ + "packageLocation": "../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ + "packageDependencies": [\ + ["slonik", "npm:29.2.0"],\ + ["concat-stream", "npm:2.0.0"],\ + ["es6-error", "npm:4.1.1"],\ + ["fast-safe-stringify", "npm:2.1.1"],\ + ["get-stack-trace", "npm:2.1.1"],\ + ["hyperid", "npm:2.3.1"],\ + ["is-plain-object", "npm:5.0.0"],\ + ["iso8601-duration", "npm:1.3.0"],\ + ["p-defer", "npm:3.0.0"],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ + ["pg-copy-streams", "npm:6.0.6"],\ + ["pg-copy-streams-binary", "npm:2.2.0"],\ + ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ + ["pg-protocol", "npm:1.6.0"],\ + ["postgres-array", "npm:3.0.2"],\ + ["postgres-interval", "npm:4.0.2"],\ + ["roarr", "npm:7.21.0"],\ + ["serialize-error", "npm:8.1.0"],\ + ["through2", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:37.2.0", {\ + "packageLocation": "../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageDependencies": [\ + ["slonik", "npm:37.2.0"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0", {\ + "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/2/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageDependencies": [\ + ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ + ["@types/pg", "npm:8.11.0"],\ + ["@types/zod", null],\ + ["es6-error", "npm:4.1.1"],\ + ["get-stack-trace", "npm:3.1.1"],\ + ["iso8601-duration", "npm:1.3.0"],\ + ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ + ["pg-protocol", "npm:1.6.0"],\ + ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ + ["pg-types", "npm:4.0.2"],\ + ["postgres-array", "npm:3.0.2"],\ + ["postgres-interval", "npm:4.0.2"],\ + ["roarr", "npm:7.21.0"],\ + ["safe-stable-stringify", "npm:2.4.3"],\ + ["serialize-error", "npm:8.1.0"],\ + ["zod", "npm:3.22.4"]\ + ],\ + "packagePeers": [\ + "@types/zod",\ + "zod"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["smart-buffer", [\ + ["npm:4.2.0", {\ + "packageLocation": "../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ + "packageDependencies": [\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks", [\ + ["npm:2.7.1", {\ + "packageLocation": "../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ + "packageDependencies": [\ + ["socks", "npm:2.7.1"],\ + ["ip", "npm:2.0.0"],\ + ["smart-buffer", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["socks-proxy-agent", [\ + ["npm:6.2.1", {\ + "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:6.2.1"],\ + ["agent-base", "npm:6.0.2"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["socks", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.2", {\ + "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageDependencies": [\ + ["socks-proxy-agent", "npm:8.0.2"],\ + ["agent-base", "npm:7.1.0"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["socks", "npm:2.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sonic-boom", [\ + ["npm:3.8.0", {\ + "packageLocation": "../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ + "packageDependencies": [\ + ["sonic-boom", "npm:3.8.0"],\ + ["atomic-sleep", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map", [\ + ["npm:0.6.1", {\ + "packageLocation": "../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.6.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.8.0-beta.0", {\ + "packageLocation": "../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ + "packageDependencies": [\ + ["source-map", "npm:0.8.0-beta.0"],\ + ["whatwg-url", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["source-map-js", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ + "packageDependencies": [\ + ["source-map-js", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["split2", [\ + ["npm:4.2.0", {\ + "packageLocation": "../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ + "packageDependencies": [\ + ["split2", "npm:4.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sprintf-js", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ + "packageDependencies": [\ + ["sprintf-js", "npm:1.0.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["sqlite3", [\ + ["npm:5.1.7", {\ + "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ + "packageDependencies": [\ + ["sqlite3", "npm:5.1.7"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7", {\ + "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ + "packageDependencies": [\ + ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ + ["@types/node-gyp", null],\ + ["bindings", "npm:1.5.0"],\ + ["node-addon-api", "npm:7.1.0"],\ + ["node-gyp", "npm:8.4.1"],\ + ["prebuild-install", "npm:7.1.1"],\ + ["tar", "npm:6.2.0"]\ + ],\ + "packagePeers": [\ + "@types/node-gyp"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ssri", [\ + ["npm:10.0.5", {\ + "packageLocation": "../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:10.0.5"],\ + ["minipass", "npm:7.0.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.0.1", {\ + "packageLocation": "../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ + "packageDependencies": [\ + ["ssri", "npm:8.0.1"],\ + ["minipass", "npm:3.3.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stackback", [\ + ["npm:0.0.2", {\ + "packageLocation": "../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ + "packageDependencies": [\ + ["stackback", "npm:0.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["stacktrace-parser", [\ + ["npm:0.1.10", {\ + "packageLocation": "../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ + "packageDependencies": [\ + ["stacktrace-parser", "npm:0.1.10"],\ + ["type-fest", "npm:0.7.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["statuses", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ + "packageDependencies": [\ + ["statuses", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["std-env", [\ + ["npm:3.7.0", {\ + "packageLocation": "../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ + "packageDependencies": [\ + ["std-env", "npm:3.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-argv", [\ + ["npm:0.3.2", {\ + "packageLocation": "../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ + "packageDependencies": [\ + ["string-argv", "npm:0.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string-width", [\ + ["npm:4.2.3", {\ + "packageLocation": "../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:4.2.3"],\ + ["emoji-regex", "npm:8.0.0"],\ + ["is-fullwidth-code-point", "npm:3.0.0"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:5.1.2", {\ + "packageLocation": "../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ + "packageDependencies": [\ + ["string-width", "npm:5.1.2"],\ + ["eastasianwidth", "npm:0.2.0"],\ + ["emoji-regex", "npm:9.2.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["string_decoder", [\ + ["npm:1.3.0", {\ + "packageLocation": "../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ + "packageDependencies": [\ + ["string_decoder", "npm:1.3.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-ansi", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:3.0.1"],\ + ["ansi-regex", "npm:2.1.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:6.0.1", {\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:6.0.1"],\ + ["ansi-regex", "npm:5.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ + "packageDependencies": [\ + ["strip-ansi", "npm:7.1.0"],\ + ["ansi-regex", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-final-newline", [\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ + "packageDependencies": [\ + ["strip-final-newline", "npm:3.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-json-comments", [\ + ["npm:2.0.1", {\ + "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:2.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ + "packageDependencies": [\ + ["strip-json-comments", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["strip-literal", [\ + ["npm:1.3.0", {\ + "packageLocation": "../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ + "packageDependencies": [\ + ["strip-literal", "npm:1.3.0"],\ + ["acorn", "npm:8.11.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["supports-color", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.2.0", {\ + "packageLocation": "../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ + "packageDependencies": [\ + ["supports-color", "npm:7.2.0"],\ + ["has-flag", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["synckit", [\ + ["npm:0.8.8", {\ + "packageLocation": "../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ + "packageDependencies": [\ + ["synckit", "npm:0.8.8"],\ + ["@pkgr/core", "npm:0.1.1"],\ + ["tslib", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar", [\ + ["npm:6.2.0", {\ + "packageLocation": "../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ + "packageDependencies": [\ + ["tar", "npm:6.2.0"],\ + ["chownr", "npm:2.0.0"],\ + ["fs-minipass", "npm:2.1.0"],\ + ["minipass", "npm:5.0.0"],\ + ["minizlib", "npm:2.1.2"],\ + ["mkdirp", "npm:1.0.4"],\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar-fs", [\ + ["npm:2.1.1", {\ + "packageLocation": "../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ + "packageDependencies": [\ + ["tar-fs", "npm:2.1.1"],\ + ["chownr", "npm:1.1.4"],\ + ["mkdirp-classic", "npm:0.5.3"],\ + ["pump", "npm:3.0.0"],\ + ["tar-stream", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tar-stream", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ + "packageDependencies": [\ + ["tar-stream", "npm:2.2.0"],\ + ["bl", "npm:4.1.0"],\ + ["end-of-stream", "npm:1.4.4"],\ + ["fs-constants", "npm:1.0.0"],\ + ["inherits", "npm:2.0.4"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["test-exclude", [\ + ["npm:6.0.0", {\ + "packageLocation": "../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ + "packageDependencies": [\ + ["test-exclude", "npm:6.0.0"],\ + ["@istanbuljs/schema", "npm:0.1.3"],\ + ["glob", "npm:7.2.3"],\ + ["minimatch", "npm:3.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["text-table", [\ + ["npm:0.2.0", {\ + "packageLocation": "../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ + "packageDependencies": [\ + ["text-table", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["thread-stream", [\ + ["npm:2.4.1", {\ + "packageLocation": "../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ + "packageDependencies": [\ + ["thread-stream", "npm:2.4.1"],\ + ["real-require", "npm:0.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["through2", [\ + ["npm:3.0.2", {\ + "packageLocation": "../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ + "packageDependencies": [\ + ["through2", "npm:3.0.2"],\ + ["inherits", "npm:2.0.4"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ + "packageDependencies": [\ + ["through2", "npm:4.0.2"],\ + ["readable-stream", "npm:3.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinybench", [\ + ["npm:2.6.0", {\ + "packageLocation": "../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ + "packageDependencies": [\ + ["tinybench", "npm:2.6.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinypool", [\ + ["npm:0.8.2", {\ + "packageLocation": "../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ + "packageDependencies": [\ + ["tinypool", "npm:0.8.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tinyspy", [\ + ["npm:2.2.0", {\ + "packageLocation": "../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ + "packageDependencies": [\ + ["tinyspy", "npm:2.2.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-fast-properties", [\ + ["npm:2.0.0", {\ + "packageLocation": "../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ + "packageDependencies": [\ + ["to-fast-properties", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["to-regex-range", [\ + ["npm:5.0.1", {\ + "packageLocation": "../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ + "packageDependencies": [\ + ["to-regex-range", "npm:5.0.1"],\ + ["is-number", "npm:7.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["toad-cache", [\ + ["npm:3.7.0", {\ + "packageLocation": "../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ + "packageDependencies": [\ + ["toad-cache", "npm:3.7.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["toidentifier", [\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ + "packageDependencies": [\ + ["toidentifier", "npm:1.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tr46", [\ + ["npm:0.0.3", {\ + "packageLocation": "../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ + "packageDependencies": [\ + ["tr46", "npm:0.0.3"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.1", {\ + "packageLocation": "../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ + "packageDependencies": [\ + ["tr46", "npm:1.0.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-api-utils", [\ + ["npm:1.0.3", {\ + "packageLocation": "../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "npm:1.0.3"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ + ["@types/typescript", null],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3", {\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageDependencies": [\ + ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ + ["@types/typescript", null],\ + ["typescript", null]\ + ],\ + "packagePeers": [\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ts-node", [\ + ["npm:10.9.2", {\ + "packageLocation": "../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageDependencies": [\ + ["ts-node", "npm:10.9.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2", {\ + "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/2/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageDependencies": [\ + ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ + ["@cspotcode/source-map-support", "npm:0.8.1"],\ + ["@swc/core", null],\ + ["@swc/wasm", null],\ + ["@tsconfig/node10", "npm:1.0.9"],\ + ["@tsconfig/node12", "npm:1.0.11"],\ + ["@tsconfig/node14", "npm:1.0.3"],\ + ["@tsconfig/node16", "npm:1.0.4"],\ + ["@types/node", "npm:20.11.13"],\ + ["@types/swc__core", null],\ + ["@types/swc__wasm", null],\ + ["@types/typescript", null],\ + ["acorn", "npm:8.11.3"],\ + ["acorn-walk", "npm:8.3.2"],\ + ["arg", "npm:4.1.3"],\ + ["create-require", "npm:1.1.1"],\ + ["diff", "npm:4.0.2"],\ + ["make-error", "npm:1.3.6"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ + ["v8-compile-cache-lib", "npm:3.0.1"],\ + ["yn", "npm:3.1.1"]\ + ],\ + "packagePeers": [\ + "@swc/core",\ + "@swc/wasm",\ + "@types/node",\ + "@types/swc__core",\ + "@types/swc__wasm",\ + "@types/typescript",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tslib", [\ + ["npm:2.6.2", {\ + "packageLocation": "../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ + "packageDependencies": [\ + ["tslib", "npm:2.6.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tsx", [\ + ["npm:4.7.0", {\ + "packageLocation": "../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ + "packageDependencies": [\ + ["tsx", "npm:4.7.0"],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["get-tsconfig", "npm:4.7.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["tunnel-agent", [\ + ["npm:0.6.0", {\ + "packageLocation": "../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ + "packageDependencies": [\ + ["tunnel-agent", "npm:0.6.0"],\ + ["safe-buffer", "npm:5.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-check", [\ + ["npm:0.4.0", {\ + "packageLocation": "../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ + "packageDependencies": [\ + ["type-check", "npm:0.4.0"],\ + ["prelude-ls", "npm:1.2.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-detect", [\ + ["npm:4.0.8", {\ + "packageLocation": "../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ + "packageDependencies": [\ + ["type-detect", "npm:4.0.8"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-fest", [\ + ["npm:0.20.2", {\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.20.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:0.7.1", {\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:0.7.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.10.2", {\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ + "packageDependencies": [\ + ["type-fest", "npm:4.10.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["type-is", [\ + ["npm:1.6.18", {\ + "packageLocation": "../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ + "packageDependencies": [\ + ["type-is", "npm:1.6.18"],\ + ["media-typer", "npm:0.3.0"],\ + ["mime-types", "npm:2.1.35"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typedarray", [\ + ["npm:0.0.6", {\ + "packageLocation": "../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ + "packageDependencies": [\ + ["typedarray", "npm:0.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript", [\ + ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ + "packageLocation": "../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ + "packageDependencies": [\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["typescript-eslint-language-service", [\ + ["npm:5.0.5", {\ + "packageLocation": "../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageDependencies": [\ + ["typescript-eslint-language-service", "npm:5.0.5"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5", {\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/2/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageDependencies": [\ + ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ + ["@types/eslint", null],\ + ["@types/typescript", null],\ + ["@types/typescript-eslint__parser", null],\ + ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ + ["eslint", "npm:8.56.0"],\ + ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "@types/typescript-eslint__parser",\ + "@types/typescript",\ + "@typescript-eslint/parser",\ + "eslint",\ + "typescript"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uc.micro", [\ + ["npm:1.0.6", {\ + "packageLocation": "../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ + "packageDependencies": [\ + ["uc.micro", "npm:1.0.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["ufo", [\ + ["npm:1.3.2", {\ + "packageLocation": "../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ + "packageDependencies": [\ + ["ufo", "npm:1.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["umzug", [\ + ["npm:3.6.1", {\ + "packageLocation": "../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ + "packageDependencies": [\ + ["umzug", "npm:3.6.1"],\ + ["@rushstack/ts-command-line", "npm:4.17.1"],\ + ["emittery", "npm:0.13.1"],\ + ["glob", "npm:8.1.0"],\ + ["pony-cause", "npm:2.1.10"],\ + ["type-fest", "npm:4.10.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["underscore", [\ + ["npm:1.13.6", {\ + "packageLocation": "../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ + "packageDependencies": [\ + ["underscore", "npm:1.13.6"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["undici-types", [\ + ["npm:5.26.5", {\ + "packageLocation": "../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ + "packageDependencies": [\ + ["undici-types", "npm:5.26.5"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-filename", [\ + ["npm:1.1.1", {\ + "packageLocation": "../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:1.1.1"],\ + ["unique-slug", "npm:2.0.2"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:3.0.0", {\ + "packageLocation": "../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ + "packageDependencies": [\ + ["unique-filename", "npm:3.0.0"],\ + ["unique-slug", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["unique-slug", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:2.0.2"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ + "packageDependencies": [\ + ["unique-slug", "npm:4.0.0"],\ + ["imurmurhash", "npm:0.1.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uri-js", [\ + ["npm:4.4.1", {\ + "packageLocation": "../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ + "packageDependencies": [\ + ["uri-js", "npm:4.4.1"],\ + ["punycode", "npm:2.3.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["util-deprecate", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ + "packageDependencies": [\ + ["util-deprecate", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uuid", [\ + ["npm:8.3.2", {\ + "packageLocation": "../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ + "packageDependencies": [\ + ["uuid", "npm:8.3.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["uuid-parse", [\ + ["npm:1.1.0", {\ + "packageLocation": "../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ + "packageDependencies": [\ + ["uuid-parse", "npm:1.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8-compile-cache-lib", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ + "packageDependencies": [\ + ["v8-compile-cache-lib", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["v8-to-istanbul", [\ + ["npm:9.2.0", {\ + "packageLocation": "../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ + "packageDependencies": [\ + ["v8-to-istanbul", "npm:9.2.0"],\ + ["@jridgewell/trace-mapping", "npm:0.3.22"],\ + ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ + ["convert-source-map", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vary", [\ + ["npm:1.1.2", {\ + "packageLocation": "../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ + "packageDependencies": [\ + ["vary", "npm:1.1.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite", [\ + ["npm:5.0.12", {\ + "packageLocation": "../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "npm:5.0.12"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", null],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.33"],\ + ["rollup", "npm:4.9.6"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", "npm:20.11.13"],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.33"],\ + ["rollup", "npm:4.9.6"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12", {\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageDependencies": [\ + ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ + ["@types/less", null],\ + ["@types/lightningcss", null],\ + ["@types/node", "npm:20.11.16"],\ + ["@types/sass", null],\ + ["@types/stylus", null],\ + ["@types/sugarss", null],\ + ["@types/terser", null],\ + ["esbuild", "npm:0.19.12"],\ + ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ + ["less", null],\ + ["lightningcss", null],\ + ["postcss", "npm:8.4.33"],\ + ["rollup", "npm:4.9.6"],\ + ["sass", null],\ + ["stylus", null],\ + ["sugarss", null],\ + ["terser", null]\ + ],\ + "packagePeers": [\ + "@types/less",\ + "@types/lightningcss",\ + "@types/node",\ + "@types/sass",\ + "@types/stylus",\ + "@types/sugarss",\ + "@types/terser",\ + "less",\ + "lightningcss",\ + "sass",\ + "stylus",\ + "sugarss",\ + "terser"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vite-node", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ + "packageDependencies": [\ + ["vite-node", "npm:1.2.2"],\ + ["cac", "npm:6.7.14"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["pathe", "npm:1.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vitest", [\ + ["npm:1.2.2", {\ + "packageLocation": "../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageDependencies": [\ + ["vitest", "npm:1.2.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageDependencies": [\ + ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ + ["@edge-runtime/vm", null],\ + ["@types/edge-runtime__vm", null],\ + ["@types/happy-dom", null],\ + ["@types/jsdom", null],\ + ["@types/node", "npm:20.11.13"],\ + ["@types/vitest__browser", null],\ + ["@types/vitest__ui", null],\ + ["@vitest/browser", null],\ + ["@vitest/expect", "npm:1.2.2"],\ + ["@vitest/runner", "npm:1.2.2"],\ + ["@vitest/snapshot", "npm:1.2.2"],\ + ["@vitest/spy", "npm:1.2.2"],\ + ["@vitest/ui", null],\ + ["@vitest/utils", "npm:1.2.2"],\ + ["acorn-walk", "npm:8.3.2"],\ + ["cac", "npm:6.7.14"],\ + ["chai", "npm:4.4.1"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["execa", "npm:8.0.1"],\ + ["happy-dom", null],\ + ["jsdom", null],\ + ["local-pkg", "npm:0.5.0"],\ + ["magic-string", "npm:0.30.5"],\ + ["pathe", "npm:1.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["std-env", "npm:3.7.0"],\ + ["strip-literal", "npm:1.3.0"],\ + ["tinybench", "npm:2.6.0"],\ + ["tinypool", "npm:0.8.2"],\ + ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ + ["vite-node", "npm:1.2.2"],\ + ["why-is-node-running", "npm:2.2.2"]\ + ],\ + "packagePeers": [\ + "@edge-runtime/vm",\ + "@types/edge-runtime__vm",\ + "@types/happy-dom",\ + "@types/jsdom",\ + "@types/node",\ + "@types/vitest__browser",\ + "@types/vitest__ui",\ + "@vitest/browser",\ + "@vitest/ui",\ + "happy-dom",\ + "jsdom"\ + ],\ + "linkType": "HARD"\ + }],\ + ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2", {\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageDependencies": [\ + ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"],\ + ["@edge-runtime/vm", null],\ + ["@types/edge-runtime__vm", null],\ + ["@types/happy-dom", null],\ + ["@types/jsdom", null],\ + ["@types/node", "npm:20.11.16"],\ + ["@types/vitest__browser", null],\ + ["@types/vitest__ui", null],\ + ["@vitest/browser", null],\ + ["@vitest/expect", "npm:1.2.2"],\ + ["@vitest/runner", "npm:1.2.2"],\ + ["@vitest/snapshot", "npm:1.2.2"],\ + ["@vitest/spy", "npm:1.2.2"],\ + ["@vitest/ui", null],\ + ["@vitest/utils", "npm:1.2.2"],\ + ["acorn-walk", "npm:8.3.2"],\ + ["cac", "npm:6.7.14"],\ + ["chai", "npm:4.4.1"],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["execa", "npm:8.0.1"],\ + ["happy-dom", null],\ + ["jsdom", null],\ + ["local-pkg", "npm:0.5.0"],\ + ["magic-string", "npm:0.30.5"],\ + ["pathe", "npm:1.1.2"],\ + ["picocolors", "npm:1.0.0"],\ + ["std-env", "npm:3.7.0"],\ + ["strip-literal", "npm:1.3.0"],\ + ["tinybench", "npm:2.6.0"],\ + ["tinypool", "npm:0.8.2"],\ + ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ + ["vite-node", "npm:1.2.2"],\ + ["why-is-node-running", "npm:2.2.2"]\ + ],\ + "packagePeers": [\ + "@edge-runtime/vm",\ + "@types/edge-runtime__vm",\ + "@types/happy-dom",\ + "@types/jsdom",\ + "@types/node",\ + "@types/vitest__browser",\ + "@types/vitest__ui",\ + "@vitest/browser",\ + "@vitest/ui",\ + "happy-dom",\ + "jsdom"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["vue-eslint-parser", [\ + ["npm:9.4.2", {\ + "packageLocation": "../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "npm:9.4.2"]\ + ],\ + "linkType": "SOFT"\ + }],\ + ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2", {\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/2/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageDependencies": [\ + ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"],\ + ["@types/eslint", null],\ + ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ + ["eslint", "npm:8.56.0"],\ + ["eslint-scope", "npm:7.2.2"],\ + ["eslint-visitor-keys", "npm:3.4.3"],\ + ["espree", "npm:9.6.1"],\ + ["esquery", "npm:1.5.0"],\ + ["lodash", "npm:4.17.21"],\ + ["semver", "npm:7.5.4"]\ + ],\ + "packagePeers": [\ + "@types/eslint",\ + "eslint"\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["webidl-conversions", [\ + ["npm:3.0.1", {\ + "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ + "packageDependencies": [\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ + "packageDependencies": [\ + ["webidl-conversions", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["whatwg-url", [\ + ["npm:5.0.0", {\ + "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ + "packageDependencies": [\ + ["whatwg-url", "npm:5.0.0"],\ + ["tr46", "npm:0.0.3"],\ + ["webidl-conversions", "npm:3.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:7.1.0", {\ + "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ + "packageDependencies": [\ + ["whatwg-url", "npm:7.1.0"],\ + ["lodash.sortby", "npm:4.7.0"],\ + ["tr46", "npm:1.0.1"],\ + ["webidl-conversions", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["which", [\ + ["npm:2.0.2", {\ + "packageLocation": "../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:2.0.2"],\ + ["isexe", "npm:2.0.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ + "packageDependencies": [\ + ["which", "npm:4.0.0"],\ + ["isexe", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["why-is-node-running", [\ + ["npm:2.2.2", {\ + "packageLocation": "../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ + "packageDependencies": [\ + ["why-is-node-running", "npm:2.2.2"],\ + ["siginfo", "npm:2.0.0"],\ + ["stackback", "npm:0.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wide-align", [\ + ["npm:1.1.5", {\ + "packageLocation": "../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ + "packageDependencies": [\ + ["wide-align", "npm:1.1.5"],\ + ["string-width", "npm:4.2.3"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrap-ansi", [\ + ["npm:7.0.0", {\ + "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:7.0.0"],\ + ["ansi-styles", "npm:4.3.0"],\ + ["string-width", "npm:4.2.3"],\ + ["strip-ansi", "npm:6.0.1"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:8.1.0", {\ + "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ + "packageDependencies": [\ + ["wrap-ansi", "npm:8.1.0"],\ + ["ansi-styles", "npm:6.2.1"],\ + ["string-width", "npm:5.1.2"],\ + ["strip-ansi", "npm:7.1.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["wrappy", [\ + ["npm:1.0.2", {\ + "packageLocation": "../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ + "packageDependencies": [\ + ["wrappy", "npm:1.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xmlcreate", [\ + ["npm:2.0.4", {\ + "packageLocation": "../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ + "packageDependencies": [\ + ["xmlcreate", "npm:2.0.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["xtend", [\ + ["npm:4.0.2", {\ + "packageLocation": "../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ + "packageDependencies": [\ + ["xtend", "npm:4.0.2"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yallist", [\ + ["npm:4.0.0", {\ + "packageLocation": "../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ + "packageDependencies": [\ + ["yallist", "npm:4.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yn", [\ + ["npm:3.1.1", {\ + "packageLocation": "../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ + "packageDependencies": [\ + ["yn", "npm:3.1.1"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["yocto-queue", [\ + ["npm:0.1.0", {\ + "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:0.1.0"]\ + ],\ + "linkType": "HARD"\ + }],\ + ["npm:1.0.0", {\ + "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ + "packageDependencies": [\ + ["yocto-queue", "npm:1.0.0"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]],\ + ["zod", [\ + ["npm:3.22.4", {\ + "packageLocation": "../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ + "packageDependencies": [\ + ["zod", "npm:3.22.4"]\ + ],\ + "linkType": "HARD"\ + }]\ + ]]\ + ]\ +}'; + +function $$SETUP_STATE(hydrateRuntimeState, basePath) { + return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); +} + +const fs = require('fs'); +const path = require('path'); +const crypto = require('crypto'); +const os = require('os'); +const events = require('events'); +const nodeUtils = require('util'); +const stream = require('stream'); +const zlib = require('zlib'); +const require$$0 = require('module'); +const StringDecoder = require('string_decoder'); +const url = require('url'); +const buffer = require('buffer'); +const readline = require('readline'); +const assert = require('assert'); + +const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; + +function _interopNamespace(e) { + if (e && e.__esModule) return e; + const n = Object.create(null); + if (e) { + for (const k in e) { + if (k !== 'default') { + const d = Object.getOwnPropertyDescriptor(e, k); + Object.defineProperty(n, k, d.get ? d : { + enumerable: true, + get: () => e[k] + }); + } + } + } + n.default = e; + return Object.freeze(n); +} + +const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); +const path__default = /*#__PURE__*/_interopDefaultLegacy(path); +const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); +const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); +const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); +const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); +const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); +const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); + +const S_IFMT = 61440; +const S_IFDIR = 16384; +const S_IFREG = 32768; +const S_IFLNK = 40960; +const SAFE_TIME = 456789e3; + +function makeError$1(code, message) { + return Object.assign(new Error(`${code}: ${message}`), { code }); +} +function EBUSY(message) { + return makeError$1(`EBUSY`, message); +} +function ENOSYS(message, reason) { + return makeError$1(`ENOSYS`, `${message}, ${reason}`); +} +function EINVAL(reason) { + return makeError$1(`EINVAL`, `invalid argument, ${reason}`); +} +function EBADF(reason) { + return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); +} +function ENOENT(reason) { + return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); +} +function ENOTDIR(reason) { + return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); +} +function EISDIR(reason) { + return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); +} +function EEXIST(reason) { + return makeError$1(`EEXIST`, `file already exists, ${reason}`); +} +function EROFS(reason) { + return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); +} +function ENOTEMPTY(reason) { + return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); +} +function EOPNOTSUPP(reason) { + return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); +} +function ERR_DIR_CLOSED() { + return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); +} + +const DEFAULT_MODE = S_IFREG | 420; +class StatEntry { + constructor() { + this.uid = 0; + this.gid = 0; + this.size = 0; + this.blksize = 0; + this.atimeMs = 0; + this.mtimeMs = 0; + this.ctimeMs = 0; + this.birthtimeMs = 0; + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = 0; + this.ino = 0; + this.mode = DEFAULT_MODE; + this.nlink = 1; + this.rdev = 0; + this.blocks = 1; + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & S_IFMT) === S_IFDIR; + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & S_IFMT) === S_IFREG; + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & S_IFMT) === S_IFLNK; + } +} +class BigIntStatsEntry { + constructor() { + this.uid = BigInt(0); + this.gid = BigInt(0); + this.size = BigInt(0); + this.blksize = BigInt(0); + this.atimeMs = BigInt(0); + this.mtimeMs = BigInt(0); + this.ctimeMs = BigInt(0); + this.birthtimeMs = BigInt(0); + this.atimeNs = BigInt(0); + this.mtimeNs = BigInt(0); + this.ctimeNs = BigInt(0); + this.birthtimeNs = BigInt(0); + this.atime = new Date(0); + this.mtime = new Date(0); + this.ctime = new Date(0); + this.birthtime = new Date(0); + this.dev = BigInt(0); + this.ino = BigInt(0); + this.mode = BigInt(DEFAULT_MODE); + this.nlink = BigInt(1); + this.rdev = BigInt(0); + this.blocks = BigInt(1); + } + isBlockDevice() { + return false; + } + isCharacterDevice() { + return false; + } + isDirectory() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); + } + isFIFO() { + return false; + } + isFile() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); + } + isSocket() { + return false; + } + isSymbolicLink() { + return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); + } +} +function makeDefaultStats() { + return new StatEntry(); +} +function clearStats(stats) { + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + stats[key] = 0; + } else if (typeof element === `bigint`) { + stats[key] = BigInt(0); + } else if (nodeUtils__namespace.types.isDate(element)) { + stats[key] = new Date(0); + } + } + } + return stats; +} +function convertToBigIntStats(stats) { + const bigintStats = new BigIntStatsEntry(); + for (const key in stats) { + if (Object.hasOwn(stats, key)) { + const element = stats[key]; + if (typeof element === `number`) { + bigintStats[key] = BigInt(element); + } else if (nodeUtils__namespace.types.isDate(element)) { + bigintStats[key] = new Date(element); + } + } + } + bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); + bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); + bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); + bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); + return bigintStats; +} +function areStatsEqual(a, b) { + if (a.atimeMs !== b.atimeMs) + return false; + if (a.birthtimeMs !== b.birthtimeMs) + return false; + if (a.blksize !== b.blksize) + return false; + if (a.blocks !== b.blocks) + return false; + if (a.ctimeMs !== b.ctimeMs) + return false; + if (a.dev !== b.dev) + return false; + if (a.gid !== b.gid) + return false; + if (a.ino !== b.ino) + return false; + if (a.isBlockDevice() !== b.isBlockDevice()) + return false; + if (a.isCharacterDevice() !== b.isCharacterDevice()) + return false; + if (a.isDirectory() !== b.isDirectory()) + return false; + if (a.isFIFO() !== b.isFIFO()) + return false; + if (a.isFile() !== b.isFile()) + return false; + if (a.isSocket() !== b.isSocket()) + return false; + if (a.isSymbolicLink() !== b.isSymbolicLink()) + return false; + if (a.mode !== b.mode) + return false; + if (a.mtimeMs !== b.mtimeMs) + return false; + if (a.nlink !== b.nlink) + return false; + if (a.rdev !== b.rdev) + return false; + if (a.size !== b.size) + return false; + if (a.uid !== b.uid) + return false; + const aN = a; + const bN = b; + if (aN.atimeNs !== bN.atimeNs) + return false; + if (aN.mtimeNs !== bN.mtimeNs) + return false; + if (aN.ctimeNs !== bN.ctimeNs) + return false; + if (aN.birthtimeNs !== bN.birthtimeNs) + return false; + return true; +} + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const Filename = { + home: `~`, + nodeModules: `node_modules`, + manifest: `package.json`, + lockfile: `yarn.lock`, + virtual: `__virtual__`, + pnpJs: `.pnp.js`, + pnpCjs: `.pnp.cjs`, + pnpData: `.pnp.data.json`, + pnpEsmLoader: `.pnp.loader.mjs`, + rc: `.yarnrc.yml`, + env: `.env` +}; +const npath = Object.create(path__default.default); +const ppath = Object.create(path__default.default.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path__default.default.posix.resolve(...segments); + } else { + return path__default.default.posix.resolve(ppath.cwd(), ...segments); + } + }; +} +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePathWin32(p) { + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class CustomDir { + constructor(path, nextDirent, opts = {}) { + this.path = path; + this.nextDirent = nextDirent; + this.opts = opts; + this.closed = false; + } + throwIfClosed() { + if (this.closed) { + throw ERR_DIR_CLOSED(); + } + } + async *[Symbol.asyncIterator]() { + try { + let dirent; + while ((dirent = await this.read()) !== null) { + yield dirent; + } + } finally { + await this.close(); + } + } + read(cb) { + const dirent = this.readSync(); + if (typeof cb !== `undefined`) + return cb(null, dirent); + return Promise.resolve(dirent); + } + readSync() { + this.throwIfClosed(); + return this.nextDirent(); + } + close(cb) { + this.closeSync(); + if (typeof cb !== `undefined`) + return cb(null); + return Promise.resolve(); + } + closeSync() { + this.throwIfClosed(); + this.opts.onClose?.(); + this.closed = true; + } +} +function opendir(fakeFs, path, entries, opts) { + const nextDirent = () => { + const filename = entries.shift(); + if (typeof filename === `undefined`) + return null; + const entryPath = fakeFs.pathUtils.join(path, filename); + return Object.assign(fakeFs.statSync(entryPath), { + name: filename, + path: void 0 + }); + }; + return new CustomDir(path, nextDirent, opts); +} + +function assertStatus(current, expected) { + if (current !== expected) { + throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); + } +} +class CustomStatWatcher extends events.EventEmitter { + constructor(fakeFs, path, { bigint = false } = {}) { + super(); + this.status = "ready" /* Ready */; + this.changeListeners = /* @__PURE__ */ new Map(); + this.startTimeout = null; + this.fakeFs = fakeFs; + this.path = path; + this.bigint = bigint; + this.lastStats = this.stat(); + } + static create(fakeFs, path, opts) { + const statWatcher = new CustomStatWatcher(fakeFs, path, opts); + statWatcher.start(); + return statWatcher; + } + start() { + assertStatus(this.status, "ready" /* Ready */); + this.status = "running" /* Running */; + this.startTimeout = setTimeout(() => { + this.startTimeout = null; + if (!this.fakeFs.existsSync(this.path)) { + this.emit("change" /* Change */, this.lastStats, this.lastStats); + } + }, 3); + } + stop() { + assertStatus(this.status, "running" /* Running */); + this.status = "stopped" /* Stopped */; + if (this.startTimeout !== null) { + clearTimeout(this.startTimeout); + this.startTimeout = null; + } + this.emit("stop" /* Stop */); + } + stat() { + try { + return this.fakeFs.statSync(this.path, { bigint: this.bigint }); + } catch (error) { + const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); + return clearStats(statInstance); + } + } + makeInterval(opts) { + const interval = setInterval(() => { + const currentStats = this.stat(); + const previousStats = this.lastStats; + if (areStatsEqual(currentStats, previousStats)) + return; + this.lastStats = currentStats; + this.emit("change" /* Change */, currentStats, previousStats); + }, opts.interval); + return opts.persistent ? interval : interval.unref(); + } + registerChangeListener(listener, opts) { + this.addListener("change" /* Change */, listener); + this.changeListeners.set(listener, this.makeInterval(opts)); + } + unregisterChangeListener(listener) { + this.removeListener("change" /* Change */, listener); + const interval = this.changeListeners.get(listener); + if (typeof interval !== `undefined`) + clearInterval(interval); + this.changeListeners.delete(listener); + } + unregisterAllChangeListeners() { + for (const listener of this.changeListeners.keys()) { + this.unregisterChangeListener(listener); + } + } + hasChangeListeners() { + return this.changeListeners.size > 0; + } + ref() { + for (const interval of this.changeListeners.values()) + interval.ref(); + return this; + } + unref() { + for (const interval of this.changeListeners.values()) + interval.unref(); + return this; + } +} + +const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); +function watchFile(fakeFs, path, a, b) { + let bigint; + let persistent; + let interval; + let listener; + switch (typeof a) { + case `function`: + { + bigint = false; + persistent = true; + interval = 5007; + listener = a; + } + break; + default: + { + ({ + bigint = false, + persistent = true, + interval = 5007 + } = a); + listener = b; + } + break; + } + let statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); + let statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) { + statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); + statWatchers.set(path, statWatcher); + } + statWatcher.registerChangeListener(listener, { persistent, interval }); + return statWatcher; +} +function unwatchFile(fakeFs, path, cb) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + const statWatcher = statWatchers.get(path); + if (typeof statWatcher === `undefined`) + return; + if (typeof cb === `undefined`) + statWatcher.unregisterAllChangeListeners(); + else + statWatcher.unregisterChangeListener(cb); + if (!statWatcher.hasChangeListeners()) { + statWatcher.stop(); + statWatchers.delete(path); + } +} +function unwatchAllFiles(fakeFs) { + const statWatchers = statWatchersByFakeFS.get(fakeFs); + if (typeof statWatchers === `undefined`) + return; + for (const path of statWatchers.keys()) { + unwatchFile(fakeFs, path); + } +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = crypto.createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return os.EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs__default.default) { + super(); + this.realFs = realFs; + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const MOUNT_MASK = 4278190080; +class MountFS extends BasePortableFakeFS { + constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { + if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) + throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); + super(); + this.fdMap = /* @__PURE__ */ new Map(); + this.nextFd = 3; + this.isMount = /* @__PURE__ */ new Set(); + this.notMount = /* @__PURE__ */ new Set(); + this.realPaths = /* @__PURE__ */ new Map(); + this.limitOpenFilesTimeout = null; + this.baseFs = baseFs; + this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; + this.factoryPromise = factoryPromise; + this.factorySync = factorySync; + this.filter = filter; + this.getMountPoint = getMountPoint; + this.magic = magicByte << 24; + this.maxAge = maxAge; + this.maxOpenFiles = maxOpenFiles; + this.typeCheck = typeCheck; + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + saveAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + } + } + } + discardAndClose() { + unwatchAllFiles(this); + if (this.mountInstances) { + for (const [path, { childFs }] of this.mountInstances.entries()) { + childFs.discardAndClose?.(); + this.mountInstances.delete(path); + } + } + } + resolve(p) { + return this.baseFs.resolve(p); + } + remapFd(mountFs, fd) { + const remappedFd = this.nextFd++ | this.magic; + this.fdMap.set(remappedFd, [mountFs, fd]); + return remappedFd; + } + async openPromise(p, flags, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.openPromise(p, flags, mode); + }, async (mountFs, { subPath }) => { + return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); + }); + } + openSync(p, flags, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.openSync(p, flags, mode); + }, (mountFs, { subPath }) => { + return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); + }); + } + async opendirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.opendirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.opendirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + opendirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.opendirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.opendirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readPromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const [mountFs, realFd] = entry; + return await mountFs.readPromise(realFd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.readSync(fd, buffer, offset, length, position); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`readSync`); + const [mountFs, realFd] = entry; + return mountFs.readSync(realFd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`write`); + const [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return await mountFs.writePromise(realFd, buffer, offset); + } else { + return await mountFs.writePromise(realFd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if ((fd & MOUNT_MASK) !== this.magic) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`writeSync`); + const [mountFs, realFd] = entry; + if (typeof buffer === `string`) { + return mountFs.writeSync(realFd, buffer, offset); + } else { + return mountFs.writeSync(realFd, buffer, offset, length, position); + } + } + async closePromise(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return await this.baseFs.closePromise(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`close`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return await mountFs.closePromise(realFd); + } + closeSync(fd) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.closeSync(fd); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`closeSync`); + this.fdMap.delete(fd); + const [mountFs, realFd] = entry; + return mountFs.closeSync(realFd); + } + createReadStream(p, opts) { + if (p === null) + return this.baseFs.createReadStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createReadStream(p, opts); + }, (mountFs, { archivePath, subPath }) => { + const stream = mountFs.createReadStream(subPath, opts); + stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); + return stream; + }); + } + createWriteStream(p, opts) { + if (p === null) + return this.baseFs.createWriteStream(p, opts); + return this.makeCallSync(p, () => { + return this.baseFs.createWriteStream(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.createWriteStream(subPath, opts); + }); + } + async realpathPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.realpathPromise(p); + }, async (mountFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = await this.baseFs.realpathPromise(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await mountFs.realpathPromise(subPath))); + }); + } + realpathSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.realpathSync(p); + }, (mountFs, { archivePath, subPath }) => { + let realArchivePath = this.realPaths.get(archivePath); + if (typeof realArchivePath === `undefined`) { + realArchivePath = this.baseFs.realpathSync(archivePath); + this.realPaths.set(archivePath, realArchivePath); + } + return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, mountFs.realpathSync(subPath))); + }); + } + async existsPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.existsPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.existsPromise(subPath); + }); + } + existsSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.existsSync(p); + }, (mountFs, { subPath }) => { + return mountFs.existsSync(subPath); + }); + } + async accessPromise(p, mode) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.accessPromise(p, mode); + }, async (mountFs, { subPath }) => { + return await mountFs.accessPromise(subPath, mode); + }); + } + accessSync(p, mode) { + return this.makeCallSync(p, () => { + return this.baseFs.accessSync(p, mode); + }, (mountFs, { subPath }) => { + return mountFs.accessSync(subPath, mode); + }); + } + async statPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.statPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.statPromise(subPath, opts); + }); + } + statSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.statSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.statSync(subPath, opts); + }); + } + async fstatPromise(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatPromise(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstat`); + const [mountFs, realFd] = entry; + return mountFs.fstatPromise(realFd, opts); + } + fstatSync(fd, opts) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fstatSync(fd, opts); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const [mountFs, realFd] = entry; + return mountFs.fstatSync(realFd, opts); + } + async lstatPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lstatPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.lstatPromise(subPath, opts); + }); + } + lstatSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.lstatSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.lstatSync(subPath, opts); + }); + } + async fchmodPromise(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodPromise(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmod`); + const [mountFs, realFd] = entry; + return mountFs.fchmodPromise(realFd, mask); + } + fchmodSync(fd, mask) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchmodSync(fd, mask); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchmodSync`); + const [mountFs, realFd] = entry; + return mountFs.fchmodSync(realFd, mask); + } + async chmodPromise(p, mask) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chmodPromise(p, mask); + }, async (mountFs, { subPath }) => { + return await mountFs.chmodPromise(subPath, mask); + }); + } + chmodSync(p, mask) { + return this.makeCallSync(p, () => { + return this.baseFs.chmodSync(p, mask); + }, (mountFs, { subPath }) => { + return mountFs.chmodSync(subPath, mask); + }); + } + async fchownPromise(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownPromise(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchown`); + const [zipFs, realFd] = entry; + return zipFs.fchownPromise(realFd, uid, gid); + } + fchownSync(fd, uid, gid) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.fchownSync(fd, uid, gid); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fchownSync`); + const [zipFs, realFd] = entry; + return zipFs.fchownSync(realFd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.chownPromise(p, uid, gid); + }, async (mountFs, { subPath }) => { + return await mountFs.chownPromise(subPath, uid, gid); + }); + } + chownSync(p, uid, gid) { + return this.makeCallSync(p, () => { + return this.baseFs.chownSync(p, uid, gid); + }, (mountFs, { subPath }) => { + return mountFs.chownSync(subPath, uid, gid); + }); + } + async renamePromise(oldP, newP) { + return await this.makeCallPromise(oldP, async () => { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.renamePromise(oldP, newP); + }, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, async (mountFsO, { subPath: subPathO }) => { + return await this.makeCallPromise(newP, async () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, async (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return await mountFsO.renamePromise(subPathO, subPathN); + } + }); + }); + } + renameSync(oldP, newP) { + return this.makeCallSync(oldP, () => { + return this.makeCallSync(newP, () => { + return this.baseFs.renameSync(oldP, newP); + }, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }); + }, (mountFsO, { subPath: subPathO }) => { + return this.makeCallSync(newP, () => { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + }, (mountFsN, { subPath: subPathN }) => { + if (mountFsO !== mountFsN) { + throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); + } else { + return mountFsO.renameSync(subPathO, subPathN); + } + }); + }); + } + async copyFilePromise(sourceP, destP, flags = 0) { + const fallback = async (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = await sourceFs.readFilePromise(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + await destFs.writeFilePromise(destP2, content); + }; + return await this.makeCallPromise(sourceP, async () => { + return await this.makeCallPromise(destP, async () => { + return await this.baseFs.copyFilePromise(sourceP, destP, flags); + }, async (mountFsD, { subPath: subPathD }) => { + return await fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, async (mountFsS, { subPath: subPathS }) => { + return await this.makeCallPromise(destP, async () => { + return await fallback(mountFsS, subPathS, this.baseFs, destP); + }, async (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return await fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return await mountFsS.copyFilePromise(subPathS, subPathD, flags); + } + }); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + const fallback = (sourceFs, sourceP2, destFs, destP2) => { + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); + if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) + throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); + let content; + try { + content = sourceFs.readFileSync(sourceP2); + } catch (error) { + throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); + } + destFs.writeFileSync(destP2, content); + }; + return this.makeCallSync(sourceP, () => { + return this.makeCallSync(destP, () => { + return this.baseFs.copyFileSync(sourceP, destP, flags); + }, (mountFsD, { subPath: subPathD }) => { + return fallback(this.baseFs, sourceP, mountFsD, subPathD); + }); + }, (mountFsS, { subPath: subPathS }) => { + return this.makeCallSync(destP, () => { + return fallback(mountFsS, subPathS, this.baseFs, destP); + }, (mountFsD, { subPath: subPathD }) => { + if (mountFsS !== mountFsD) { + return fallback(mountFsS, subPathS, mountFsD, subPathD); + } else { + return mountFsS.copyFileSync(subPathS, subPathD, flags); + } + }); + }); + } + async appendFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.appendFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.appendFilePromise(subPath, content, opts); + }); + } + appendFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.appendFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.appendFileSync(subPath, content, opts); + }); + } + async writeFilePromise(p, content, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.writeFilePromise(p, content, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.writeFilePromise(subPath, content, opts); + }); + } + writeFileSync(p, content, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.writeFileSync(p, content, opts); + }, (mountFs, { subPath }) => { + return mountFs.writeFileSync(subPath, content, opts); + }); + } + async unlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.unlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.unlinkPromise(subPath); + }); + } + unlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.unlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.unlinkSync(subPath); + }); + } + async utimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.utimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.utimesPromise(subPath, atime, mtime); + }); + } + utimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.utimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.utimesSync(subPath, atime, mtime); + }); + } + async lutimesPromise(p, atime, mtime) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.lutimesPromise(p, atime, mtime); + }, async (mountFs, { subPath }) => { + return await mountFs.lutimesPromise(subPath, atime, mtime); + }); + } + lutimesSync(p, atime, mtime) { + return this.makeCallSync(p, () => { + return this.baseFs.lutimesSync(p, atime, mtime); + }, (mountFs, { subPath }) => { + return mountFs.lutimesSync(subPath, atime, mtime); + }); + } + async mkdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.mkdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.mkdirPromise(subPath, opts); + }); + } + mkdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.mkdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.mkdirSync(subPath, opts); + }); + } + async rmdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.rmdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.rmdirPromise(subPath, opts); + }); + } + rmdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.rmdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.rmdirSync(subPath, opts); + }); + } + async linkPromise(existingP, newP) { + return await this.makeCallPromise(newP, async () => { + return await this.baseFs.linkPromise(existingP, newP); + }, async (mountFs, { subPath }) => { + return await mountFs.linkPromise(existingP, subPath); + }); + } + linkSync(existingP, newP) { + return this.makeCallSync(newP, () => { + return this.baseFs.linkSync(existingP, newP); + }, (mountFs, { subPath }) => { + return mountFs.linkSync(existingP, subPath); + }); + } + async symlinkPromise(target, p, type) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.symlinkPromise(target, p, type); + }, async (mountFs, { subPath }) => { + return await mountFs.symlinkPromise(target, subPath); + }); + } + symlinkSync(target, p, type) { + return this.makeCallSync(p, () => { + return this.baseFs.symlinkSync(target, p, type); + }, (mountFs, { subPath }) => { + return mountFs.symlinkSync(target, subPath); + }); + } + async readFilePromise(p, encoding) { + return this.makeCallPromise(p, async () => { + return await this.baseFs.readFilePromise(p, encoding); + }, async (mountFs, { subPath }) => { + return await mountFs.readFilePromise(subPath, encoding); + }); + } + readFileSync(p, encoding) { + return this.makeCallSync(p, () => { + return this.baseFs.readFileSync(p, encoding); + }, (mountFs, { subPath }) => { + return mountFs.readFileSync(subPath, encoding); + }); + } + async readdirPromise(p, opts) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readdirPromise(p, opts); + }, async (mountFs, { subPath }) => { + return await mountFs.readdirPromise(subPath, opts); + }, { + requireSubpath: false + }); + } + readdirSync(p, opts) { + return this.makeCallSync(p, () => { + return this.baseFs.readdirSync(p, opts); + }, (mountFs, { subPath }) => { + return mountFs.readdirSync(subPath, opts); + }, { + requireSubpath: false + }); + } + async readlinkPromise(p) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.readlinkPromise(p); + }, async (mountFs, { subPath }) => { + return await mountFs.readlinkPromise(subPath); + }); + } + readlinkSync(p) { + return this.makeCallSync(p, () => { + return this.baseFs.readlinkSync(p); + }, (mountFs, { subPath }) => { + return mountFs.readlinkSync(subPath); + }); + } + async truncatePromise(p, len) { + return await this.makeCallPromise(p, async () => { + return await this.baseFs.truncatePromise(p, len); + }, async (mountFs, { subPath }) => { + return await mountFs.truncatePromise(subPath, len); + }); + } + truncateSync(p, len) { + return this.makeCallSync(p, () => { + return this.baseFs.truncateSync(p, len); + }, (mountFs, { subPath }) => { + return mountFs.truncateSync(subPath, len); + }); + } + async ftruncatePromise(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncatePromise(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncate`); + const [mountFs, realFd] = entry; + return mountFs.ftruncatePromise(realFd, len); + } + ftruncateSync(fd, len) { + if ((fd & MOUNT_MASK) !== this.magic) + return this.baseFs.ftruncateSync(fd, len); + const entry = this.fdMap.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`ftruncateSync`); + const [mountFs, realFd] = entry; + return mountFs.ftruncateSync(realFd, len); + } + watch(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watch( + p, + a, + b + ); + }, (mountFs, { subPath }) => { + return mountFs.watch( + subPath, + a, + b + ); + }); + } + watchFile(p, a, b) { + return this.makeCallSync(p, () => { + return this.baseFs.watchFile( + p, + a, + b + ); + }, () => { + return watchFile(this, p, a, b); + }); + } + unwatchFile(p, cb) { + return this.makeCallSync(p, () => { + return this.baseFs.unwatchFile(p, cb); + }, () => { + return unwatchFile(this, p, cb); + }); + } + async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return await discard(); + const normalizedP = this.resolve(p); + const mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return await discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return await discard(); + return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); + } + makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { + if (typeof p !== `string`) + return discard(); + const normalizedP = this.resolve(p); + const mountInfo = this.findMount(normalizedP); + if (!mountInfo) + return discard(); + if (requireSubpath && mountInfo.subPath === `/`) + return discard(); + return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); + } + findMount(p) { + if (this.filter && !this.filter.test(p)) + return null; + let filePath = ``; + while (true) { + const pathPartWithArchive = p.substring(filePath.length); + const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); + if (!mountPoint) + return null; + filePath = this.pathUtils.join(filePath, mountPoint); + if (!this.isMount.has(filePath)) { + if (this.notMount.has(filePath)) + continue; + try { + if (this.typeCheck !== null && (this.baseFs.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { + this.notMount.add(filePath); + continue; + } + } catch { + return null; + } + this.isMount.add(filePath); + } + return { + archivePath: filePath, + subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) + }; + } + } + limitOpenFiles(max) { + if (this.mountInstances === null) + return; + const now = Date.now(); + let nextExpiresAt = now + this.maxAge; + let closeCount = max === null ? 0 : this.mountInstances.size - max; + for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { + if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { + continue; + } else if (now >= expiresAt) { + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + continue; + } else if (max === null || closeCount <= 0) { + nextExpiresAt = expiresAt; + break; + } + childFs.saveAndClose?.(); + this.mountInstances.delete(path); + closeCount -= 1; + } + if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { + this.limitOpenFilesTimeout = setTimeout(() => { + this.limitOpenFilesTimeout = null; + this.limitOpenFiles(null); + }, nextExpiresAt - now).unref(); + } + } + async getMountPromise(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + const createFsInstance = await this.factoryPromise(this.baseFs, p); + cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: createFsInstance(), + expiresAt: 0, + refCount: 0 + }; + } + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + cachedMountFs.refCount += 1; + try { + return await accept(cachedMountFs.childFs); + } finally { + cachedMountFs.refCount -= 1; + } + } else { + const mountFs = (await this.factoryPromise(this.baseFs, p))(); + try { + return await accept(mountFs); + } finally { + mountFs.saveAndClose?.(); + } + } + } + getMountSync(p, accept) { + if (this.mountInstances) { + let cachedMountFs = this.mountInstances.get(p); + if (!cachedMountFs) { + cachedMountFs = { + childFs: this.factorySync(this.baseFs, p), + expiresAt: 0, + refCount: 0 + }; + } + this.mountInstances.delete(p); + this.limitOpenFiles(this.maxOpenFiles - 1); + this.mountInstances.set(p, cachedMountFs); + cachedMountFs.expiresAt = Date.now() + this.maxAge; + return accept(cachedMountFs.childFs); + } else { + const childFs = this.factorySync(this.baseFs, p); + try { + return accept(childFs); + } finally { + childFs.saveAndClose?.(); + } + } + } +} + +class PosixFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return npath.fromPortablePath(path); + } + mapToBase(path) { + return npath.toPortablePath(path); + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; + +class NodePathFS extends ProxiedFS { + constructor(baseFs) { + super(npath); + this.baseFs = baseFs; + } + mapFromBase(path) { + return path; + } + mapToBase(path) { + if (typeof path === `string`) + return path; + if (path instanceof URL) + return url.fileURLToPath(path); + if (Buffer.isBuffer(path)) { + const str = path.toString(); + if (!isUtf8(path, str)) + throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); + return str; + } + throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); + } +} +function isUtf8(buf, str) { + if (typeof buffer__default.default.isUtf8 !== `undefined`) + return buffer__default.default.isUtf8(buf); + return Buffer.byteLength(str) === buf.byteLength; +} + +var _a, _b, _c, _d; +const kBaseFs = Symbol(`kBaseFs`); +const kFd = Symbol(`kFd`); +const kClosePromise = Symbol(`kClosePromise`); +const kCloseResolve = Symbol(`kCloseResolve`); +const kCloseReject = Symbol(`kCloseReject`); +const kRefs = Symbol(`kRefs`); +const kRef = Symbol(`kRef`); +const kUnref = Symbol(`kUnref`); +class FileHandle { + constructor(fd, baseFs) { + this[_a] = 1; + this[_b] = void 0; + this[_c] = void 0; + this[_d] = void 0; + this[kBaseFs] = baseFs; + this[kFd] = fd; + } + get fd() { + return this[kFd]; + } + async appendFile(data, options) { + try { + this[kRef](this.appendFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); + } finally { + this[kUnref](); + } + } + async chown(uid, gid) { + try { + this[kRef](this.chown); + return await this[kBaseFs].fchownPromise(this.fd, uid, gid); + } finally { + this[kUnref](); + } + } + async chmod(mode) { + try { + this[kRef](this.chmod); + return await this[kBaseFs].fchmodPromise(this.fd, mode); + } finally { + this[kUnref](); + } + } + createReadStream(options) { + return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); + } + createWriteStream(options) { + return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); + } + datasync() { + throw new Error(`Method not implemented.`); + } + sync() { + throw new Error(`Method not implemented.`); + } + async read(bufferOrOptions, offset, length, position) { + try { + this[kRef](this.read); + let buffer; + if (!Buffer.isBuffer(bufferOrOptions)) { + bufferOrOptions ??= {}; + buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); + offset = bufferOrOptions.offset || 0; + length = bufferOrOptions.length ?? buffer.byteLength; + position = bufferOrOptions.position ?? null; + } else { + buffer = bufferOrOptions; + } + offset ??= 0; + length ??= 0; + if (length === 0) { + return { + bytesRead: length, + buffer + }; + } + const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); + return { + bytesRead, + buffer + }; + } finally { + this[kUnref](); + } + } + async readFile(options) { + try { + this[kRef](this.readFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + return await this[kBaseFs].readFilePromise(this.fd, encoding); + } finally { + this[kUnref](); + } + } + readLines(options) { + return readline.createInterface({ + input: this.createReadStream(options), + crlfDelay: Infinity + }); + } + async stat(opts) { + try { + this[kRef](this.stat); + return await this[kBaseFs].fstatPromise(this.fd, opts); + } finally { + this[kUnref](); + } + } + async truncate(len) { + try { + this[kRef](this.truncate); + return await this[kBaseFs].ftruncatePromise(this.fd, len); + } finally { + this[kUnref](); + } + } + utimes(atime, mtime) { + throw new Error(`Method not implemented.`); + } + async writeFile(data, options) { + try { + this[kRef](this.writeFile); + const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; + await this[kBaseFs].writeFilePromise(this.fd, data, encoding); + } finally { + this[kUnref](); + } + } + async write(...args) { + try { + this[kRef](this.write); + if (ArrayBuffer.isView(args[0])) { + const [buffer, offset, length, position] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); + return { bytesWritten, buffer }; + } else { + const [data, position, encoding] = args; + const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); + return { bytesWritten, buffer: data }; + } + } finally { + this[kUnref](); + } + } + async writev(buffers, position) { + try { + this[kRef](this.writev); + let bytesWritten = 0; + if (typeof position !== `undefined`) { + for (const buffer of buffers) { + const writeResult = await this.write(buffer, void 0, void 0, position); + bytesWritten += writeResult.bytesWritten; + position += writeResult.bytesWritten; + } + } else { + for (const buffer of buffers) { + const writeResult = await this.write(buffer); + bytesWritten += writeResult.bytesWritten; + } + } + return { + buffers, + bytesWritten + }; + } finally { + this[kUnref](); + } + } + readv(buffers, position) { + throw new Error(`Method not implemented.`); + } + close() { + if (this[kFd] === -1) + return Promise.resolve(); + if (this[kClosePromise]) + return this[kClosePromise]; + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { + this[kClosePromise] = void 0; + }); + } else { + this[kClosePromise] = new Promise((resolve, reject) => { + this[kCloseResolve] = resolve; + this[kCloseReject] = reject; + }).finally(() => { + this[kClosePromise] = void 0; + this[kCloseReject] = void 0; + this[kCloseResolve] = void 0; + }); + } + return this[kClosePromise]; + } + [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { + if (this[kFd] === -1) { + const err = new Error(`file closed`); + err.code = `EBADF`; + err.syscall = caller.name; + throw err; + } + this[kRefs]++; + } + [kUnref]() { + this[kRefs]--; + if (this[kRefs] === 0) { + const fd = this[kFd]; + this[kFd] = -1; + this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); + } + } +} + +const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessSync`, + `appendFileSync`, + `createReadStream`, + `createWriteStream`, + `chmodSync`, + `fchmodSync`, + `chownSync`, + `fchownSync`, + `closeSync`, + `copyFileSync`, + `linkSync`, + `lstatSync`, + `fstatSync`, + `lutimesSync`, + `mkdirSync`, + `openSync`, + `opendirSync`, + `readlinkSync`, + `readFileSync`, + `readdirSync`, + `readlinkSync`, + `realpathSync`, + `renameSync`, + `rmdirSync`, + `statSync`, + `symlinkSync`, + `truncateSync`, + `ftruncateSync`, + `unlinkSync`, + `unwatchFile`, + `utimesSync`, + `watch`, + `watchFile`, + `writeFileSync`, + `writeSync` +]); +const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ + `accessPromise`, + `appendFilePromise`, + `fchmodPromise`, + `chmodPromise`, + `fchownPromise`, + `chownPromise`, + `closePromise`, + `copyFilePromise`, + `linkPromise`, + `fstatPromise`, + `lstatPromise`, + `lutimesPromise`, + `mkdirPromise`, + `openPromise`, + `opendirPromise`, + `readdirPromise`, + `realpathPromise`, + `readFilePromise`, + `readdirPromise`, + `readlinkPromise`, + `renamePromise`, + `rmdirPromise`, + `statPromise`, + `symlinkPromise`, + `truncatePromise`, + `ftruncatePromise`, + `unlinkPromise`, + `utimesPromise`, + `writeFilePromise`, + `writeSync` +]); +function patchFs(patchedFs, fakeFs) { + fakeFs = new NodePathFS(fakeFs); + const setupFn = (target, name, replacement) => { + const orig = target[name]; + target[name] = replacement; + if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { + replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; + } + }; + { + setupFn(patchedFs, `exists`, (p, ...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeFs.existsPromise(p).then((exists) => { + callback(exists); + }, () => { + callback(false); + }); + }); + }); + setupFn(patchedFs, `read`, (...args) => { + let [fd, buffer, offset, length, position, callback] = args; + if (args.length <= 3) { + let options = {}; + if (args.length < 3) { + callback = args[1]; + } else { + options = args[1]; + callback = args[2]; + } + ({ + buffer = Buffer.alloc(16384), + offset = 0, + length = buffer.byteLength, + position + } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) { + process.nextTick(() => { + callback(null, 0, buffer); + }); + return; + } + if (position == null) + position = -1; + process.nextTick(() => { + fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { + callback(null, bytesRead, buffer); + }, (error) => { + callback(error, 0, buffer); + }); + }); + }); + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + const wrapper = (...args) => { + const hasCallback = typeof args[args.length - 1] === `function`; + const callback = hasCallback ? args.pop() : () => { + }; + process.nextTick(() => { + fakeImpl.apply(fakeFs, args).then((result) => { + callback(null, result); + }, (error) => { + callback(error); + }); + }); + }; + setupFn(patchedFs, origName, wrapper); + } + patchedFs.realpath.native = patchedFs.realpath; + } + { + setupFn(patchedFs, `existsSync`, (p) => { + try { + return fakeFs.existsSync(p); + } catch (error) { + return false; + } + }); + setupFn(patchedFs, `readSync`, (...args) => { + let [fd, buffer, offset, length, position] = args; + if (args.length <= 3) { + const options = args[2] || {}; + ({ offset = 0, length = buffer.byteLength, position } = options); + } + if (offset == null) + offset = 0; + length |= 0; + if (length === 0) + return 0; + if (position == null) + position = -1; + return fakeFs.readSync(fd, buffer, offset, length, position); + }); + for (const fnName of SYNC_IMPLEMENTATIONS) { + const origName = fnName; + if (typeof patchedFs[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); + } + patchedFs.realpathSync.native = patchedFs.realpathSync; + } + { + const patchedFsPromises = patchedFs.promises; + for (const fnName of ASYNC_IMPLEMENTATIONS) { + const origName = fnName.replace(/Promise$/, ``); + if (typeof patchedFsPromises[origName] === `undefined`) + continue; + const fakeImpl = fakeFs[fnName]; + if (typeof fakeImpl === `undefined`) + continue; + if (fnName === `open`) + continue; + setupFn(patchedFsPromises, origName, (pathLike, ...args) => { + if (pathLike instanceof FileHandle) { + return pathLike[origName].apply(pathLike, args); + } else { + return fakeImpl.call(fakeFs, pathLike, ...args); + } + }); + } + setupFn(patchedFsPromises, `open`, async (...args) => { + const fd = await fakeFs.openPromise(...args); + return new FileHandle(fd, fakeFs); + }); + } + { + patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.readPromise(fd, buffer, ...args); + return { bytesRead: await res, buffer }; + }; + patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { + const res = fakeFs.writePromise(fd, buffer, ...args); + return { bytesWritten: await res, buffer }; + }; + } +} + +let cachedInstance; +let registeredFactory = () => { + throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); +}; +function setFactory(factory) { + registeredFactory = factory; +} +function getInstance() { + if (typeof cachedInstance === `undefined`) + cachedInstance = registeredFactory(); + return cachedInstance; +} + +var libzipSync = {exports: {}}; + +(function (module, exports) { +var frozenFs = Object.assign({}, fs__default.default); +var createModule = function() { + var _scriptDir = void 0; + if (typeof __filename !== "undefined") + _scriptDir = _scriptDir || __filename; + return function(createModule2) { + createModule2 = createModule2 || {}; + var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; + var readyPromiseResolve, readyPromiseReject; + Module["ready"] = new Promise(function(resolve, reject) { + readyPromiseResolve = resolve; + readyPromiseReject = reject; + }); + var moduleOverrides = {}; + var key; + for (key in Module) { + if (Module.hasOwnProperty(key)) { + moduleOverrides[key] = Module[key]; + } + } + var scriptDirectory = ""; + function locateFile(path) { + if (Module["locateFile"]) { + return Module["locateFile"](path, scriptDirectory); + } + return scriptDirectory + path; + } + var read_, readBinary; + var nodeFS; + var nodePath; + { + { + scriptDirectory = __dirname + "/"; + } + read_ = function shell_read(filename, binary) { + var ret = tryParseAsDataURI(filename); + if (ret) { + return binary ? ret : ret.toString(); + } + if (!nodeFS) + nodeFS = frozenFs; + if (!nodePath) + nodePath = path__default.default; + filename = nodePath["normalize"](filename); + return nodeFS["readFileSync"](filename, binary ? null : "utf8"); + }; + readBinary = function readBinary2(filename) { + var ret = read_(filename, true); + if (!ret.buffer) { + ret = new Uint8Array(ret); + } + assert(ret.buffer); + return ret; + }; + if (process["argv"].length > 1) { + process["argv"][1].replace(/\\/g, "/"); + } + process["argv"].slice(2); + Module["inspect"] = function() { + return "[Emscripten Module object]"; + }; + } + Module["print"] || console.log.bind(console); + var err = Module["printErr"] || console.warn.bind(console); + for (key in moduleOverrides) { + if (moduleOverrides.hasOwnProperty(key)) { + Module[key] = moduleOverrides[key]; + } + } + moduleOverrides = null; + if (Module["arguments"]) + ; + if (Module["thisProgram"]) + ; + if (Module["quit"]) + ; + var wasmBinary; + if (Module["wasmBinary"]) + wasmBinary = Module["wasmBinary"]; + Module["noExitRuntime"] || true; + if (typeof WebAssembly !== "object") { + abort("no native wasm support detected"); + } + function getValue(ptr, type, noSafe) { + type = type || "i8"; + if (type.charAt(type.length - 1) === "*") + type = "i32"; + switch (type) { + case "i1": + return HEAP8[ptr >> 0]; + case "i8": + return HEAP8[ptr >> 0]; + case "i16": + return LE_HEAP_LOAD_I16((ptr >> 1) * 2); + case "i32": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "i64": + return LE_HEAP_LOAD_I32((ptr >> 2) * 4); + case "float": + return LE_HEAP_LOAD_F32((ptr >> 2) * 4); + case "double": + return LE_HEAP_LOAD_F64((ptr >> 3) * 8); + default: + abort("invalid type for getValue: " + type); + } + return null; + } + var wasmMemory; + var ABORT = false; + function assert(condition, text) { + if (!condition) { + abort("Assertion failed: " + text); + } + } + function getCFunc(ident) { + var func = Module["_" + ident]; + assert( + func, + "Cannot call unknown function " + ident + ", make sure it is exported" + ); + return func; + } + function ccall(ident, returnType, argTypes, args, opts) { + var toC = { + string: function(str) { + var ret2 = 0; + if (str !== null && str !== void 0 && str !== 0) { + var len = (str.length << 2) + 1; + ret2 = stackAlloc(len); + stringToUTF8(str, ret2, len); + } + return ret2; + }, + array: function(arr) { + var ret2 = stackAlloc(arr.length); + writeArrayToMemory(arr, ret2); + return ret2; + } + }; + function convertReturnValue(ret2) { + if (returnType === "string") + return UTF8ToString(ret2); + if (returnType === "boolean") + return Boolean(ret2); + return ret2; + } + var func = getCFunc(ident); + var cArgs = []; + var stack = 0; + if (args) { + for (var i = 0; i < args.length; i++) { + var converter = toC[argTypes[i]]; + if (converter) { + if (stack === 0) + stack = stackSave(); + cArgs[i] = converter(args[i]); + } else { + cArgs[i] = args[i]; + } + } + } + var ret = func.apply(null, cArgs); + ret = convertReturnValue(ret); + if (stack !== 0) + stackRestore(stack); + return ret; + } + function cwrap(ident, returnType, argTypes, opts) { + argTypes = argTypes || []; + var numericArgs = argTypes.every(function(type) { + return type === "number"; + }); + var numericRet = returnType !== "string"; + if (numericRet && numericArgs && !opts) { + return getCFunc(ident); + } + return function() { + return ccall(ident, returnType, argTypes, arguments); + }; + } + var UTF8Decoder = new TextDecoder("utf8"); + function UTF8ToString(ptr, maxBytesToRead) { + if (!ptr) + return ""; + var maxPtr = ptr + maxBytesToRead; + for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) + ++end; + return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); + } + function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { + if (!(maxBytesToWrite > 0)) + return 0; + var startIdx = outIdx; + var endIdx = outIdx + maxBytesToWrite - 1; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) { + var u1 = str.charCodeAt(++i); + u = 65536 + ((u & 1023) << 10) | u1 & 1023; + } + if (u <= 127) { + if (outIdx >= endIdx) + break; + heap[outIdx++] = u; + } else if (u <= 2047) { + if (outIdx + 1 >= endIdx) + break; + heap[outIdx++] = 192 | u >> 6; + heap[outIdx++] = 128 | u & 63; + } else if (u <= 65535) { + if (outIdx + 2 >= endIdx) + break; + heap[outIdx++] = 224 | u >> 12; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } else { + if (outIdx + 3 >= endIdx) + break; + heap[outIdx++] = 240 | u >> 18; + heap[outIdx++] = 128 | u >> 12 & 63; + heap[outIdx++] = 128 | u >> 6 & 63; + heap[outIdx++] = 128 | u & 63; + } + } + heap[outIdx] = 0; + return outIdx - startIdx; + } + function stringToUTF8(str, outPtr, maxBytesToWrite) { + return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); + } + function lengthBytesUTF8(str) { + var len = 0; + for (var i = 0; i < str.length; ++i) { + var u = str.charCodeAt(i); + if (u >= 55296 && u <= 57343) + u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; + if (u <= 127) + ++len; + else if (u <= 2047) + len += 2; + else if (u <= 65535) + len += 3; + else + len += 4; + } + return len; + } + function allocateUTF8(str) { + var size = lengthBytesUTF8(str) + 1; + var ret = _malloc(size); + if (ret) + stringToUTF8Array(str, HEAP8, ret, size); + return ret; + } + function writeArrayToMemory(array, buffer2) { + HEAP8.set(array, buffer2); + } + function alignUp(x, multiple) { + if (x % multiple > 0) { + x += multiple - x % multiple; + } + return x; + } + var buffer, HEAP8, HEAPU8; + var HEAP_DATA_VIEW; + function updateGlobalBufferAndViews(buf) { + buffer = buf; + Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); + Module["HEAP8"] = HEAP8 = new Int8Array(buf); + Module["HEAP16"] = new Int16Array(buf); + Module["HEAP32"] = new Int32Array(buf); + Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); + Module["HEAPU16"] = new Uint16Array(buf); + Module["HEAPU32"] = new Uint32Array(buf); + Module["HEAPF32"] = new Float32Array(buf); + Module["HEAPF64"] = new Float64Array(buf); + } + Module["INITIAL_MEMORY"] || 16777216; + var wasmTable; + var __ATPRERUN__ = []; + var __ATINIT__ = []; + var __ATPOSTRUN__ = []; + function preRun() { + if (Module["preRun"]) { + if (typeof Module["preRun"] == "function") + Module["preRun"] = [Module["preRun"]]; + while (Module["preRun"].length) { + addOnPreRun(Module["preRun"].shift()); + } + } + callRuntimeCallbacks(__ATPRERUN__); + } + function initRuntime() { + callRuntimeCallbacks(__ATINIT__); + } + function postRun() { + if (Module["postRun"]) { + if (typeof Module["postRun"] == "function") + Module["postRun"] = [Module["postRun"]]; + while (Module["postRun"].length) { + addOnPostRun(Module["postRun"].shift()); + } + } + callRuntimeCallbacks(__ATPOSTRUN__); + } + function addOnPreRun(cb) { + __ATPRERUN__.unshift(cb); + } + function addOnInit(cb) { + __ATINIT__.unshift(cb); + } + function addOnPostRun(cb) { + __ATPOSTRUN__.unshift(cb); + } + var runDependencies = 0; + var dependenciesFulfilled = null; + function addRunDependency(id) { + runDependencies++; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + } + function removeRunDependency(id) { + runDependencies--; + if (Module["monitorRunDependencies"]) { + Module["monitorRunDependencies"](runDependencies); + } + if (runDependencies == 0) { + if (dependenciesFulfilled) { + var callback = dependenciesFulfilled; + dependenciesFulfilled = null; + callback(); + } + } + } + Module["preloadedImages"] = {}; + Module["preloadedAudios"] = {}; + function abort(what) { + if (Module["onAbort"]) { + Module["onAbort"](what); + } + what += ""; + err(what); + ABORT = true; + what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; + var e = new WebAssembly.RuntimeError(what); + readyPromiseReject(e); + throw e; + } + var dataURIPrefix = "data:application/octet-stream;base64,"; + function isDataURI(filename) { + return filename.startsWith(dataURIPrefix); + } + var wasmBinaryFile = "data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ABfwF/YAJ/fwF/YAF/AGAEf39/fwF/YAN/f38AYAV/f39/fwF/YAJ/fwBgBH9/f38AYAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgA39/fgF/YAF/AX5gBn9/f39/fwF/YAN/fn8Bf2AEf39/fwF+YAV/f35/fwF/YAR/f35/AX9gA39/fgF+YAJ/fgBgAn9/AX5gBX9/f39/AGADf35/AX5gBX5+f35/AX5gA39/fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAMBYQFiAAEBYQFjAAABYQFkAAEBYQFlAAIBYQFmAAED5wHlAQMAAwEDAwEHDAgDFgcNEgEDDRcFAQ8DEAUQAwIBAhgECxkEAQMBBQsFAwMDARACBAMAAggLBwEAAwADGgQDGwYGABwBBgMTFBEHBwcVCx4ABAgHBAICAgAfAQICAgIGFSAAIQAiAAIBBgIHAg0LEw0FAQUCACMDAQAUAAAGBQECBQUDCwsSAgEDBQIHAQEICAACCQQEAQABCAEBCQoBAwkBAQEBBgEGBgYABAIEBAQGEQQEAAARAAEDCQEJAQAJCQkBAQECCgoAAAMPAQEBAwACAgICBQIABwAKBgwHAAADAgICBQEEBQFwAT8/BQcBAYACgIACBgkBfwFBgInBAgsH+gEzAWcCAAFoAFQBaQDqAQFqALsBAWsAwQEBbACpAQFtAKgBAW4ApwEBbwClAQFwAKMBAXEAoAEBcgCbAQFzAMABAXQAugEBdQC5AQF2AEsBdwDiAQF4AMgBAXkAxwEBegDCAQFBAMkBAUIAuAEBQwAGAUQACQFFAKYBAUYAtwEBRwC2AQFIALUBAUkAtAEBSgCzAQFLALIBAUwAsQEBTQCwAQFOAK8BAU8AvAEBUACuAQFRAK0BAVIArAEBUwAaAVQACwFVAKQBAVYAMgFXAQABWACrAQFZAKoBAVoAxgEBXwDFAQEkAMQBAmFhAL8BAmJhAL4BAmNhAL0BCXgBAEEBCz6iAeMBjgGQAVpbjwFYnwGdAVeeAV1coQFZVlWcAZoBmQGYAZcBlgGVAZQBkwGSAZEB6QHoAecB5gHlAeQB4QHfAeAB3gHdAdwB2gHbAYUB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygE4wwEK1N8G5QHMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNBxIQBKAIASQ0BIAAgAWohACADQciEASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB3IQBakYaIAIgAygCDCIBRgRAQbSEAUG0hAEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQbyEASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAM2AgBBwIQBQcCEASgCACAAaiIANgIAIAMgAEEBcjYCBCADQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASADNgIAQbyEAUG8hAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QdyEAWpGGiACIAUoAgwiAUYEQEG0hAFBtIQBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcSEASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANByIQBKAIARw0BQbyEASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QdyEAWohAAJ/QbSEASgCACICQQEgAXQiAXFFBEBBtIQBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHkhgFqIQECQAJAAkBBuIQBKAIAIgRBASACdCIHcUUEQEG4hAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdSEAUHUhAEoAgBBAWsiAEF/IAAbNgIACwuDBAEDfyACQYAETwRAIAAgASACEAIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALGgAgAARAIAAtAAEEQCAAKAIEEAYLIAAQBgsLoi4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG0hAEoAgAiBUEQIABBC2pBeHEgAEELSRsiCEEDdiICdiIBQQNxBEAgAUF/c0EBcSACaiIDQQN0IgFB5IQBaigCACIEQQhqIQACQCAEKAIIIgIgAUHchAFqIgFGBEBBtIQBIAVBfiADd3E2AgAMAQsgAiABNgIMIAEgAjYCCAsgBCADQQN0IgFBA3I2AgQgASAEaiIBIAEoAgRBAXI2AgQMDQsgCEG8hAEoAgAiCk0NASABBEACQEECIAJ0IgBBACAAa3IgASACdHEiAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqIgNBA3QiAEHkhAFqKAIAIgQoAggiASAAQdyEAWoiAEYEQEG0hAEgBUF+IAN3cSIFNgIADAELIAEgADYCDCAAIAE2AggLIARBCGohACAEIAhBA3I2AgQgBCAIaiICIANBA3QiASAIayIDQQFyNgIEIAEgBGogAzYCACAKBEAgCkEDdiIBQQN0QdyEAWohB0HIhAEoAgAhBAJ/IAVBASABdCIBcUUEQEG0hAEgASAFcjYCACAHDAELIAcoAggLIQEgByAENgIIIAEgBDYCDCAEIAc2AgwgBCABNgIIC0HIhAEgAjYCAEG8hAEgAzYCAAwNC0G4hAEoAgAiBkUNASAGQQAgBmtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB5IYBaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQcSEASgCAEkaIAAgBDYCDCAEIAA2AggMDAsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0EIAFBEGohAgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAsLQX8hCCAAQb9/Sw0AIABBC2oiAEF4cSEIQbiEASgCACIJRQ0AQQAgCGshAwJAAkACQAJ/QQAgCEGAAkkNABpBHyAIQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAIIABBFWp2QQFxckEcagsiBUECdEHkhgFqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBAiAFdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QeSGAWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBvIQBKAIAIAhrTw0AIAQgCGoiBiAETQ0BIAQoAhghBSAEIAQoAgwiAUcEQCAEKAIIIgBBxIQBKAIASRogACABNgIMIAEgADYCCAwKCyAEQRRqIgIoAgAiAEUEQCAEKAIQIgBFDQQgBEEQaiECCwNAIAIhByAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAHQQA2AgAMCQsgCEG8hAEoAgAiAk0EQEHIhAEoAgAhAwJAIAIgCGsiAUEQTwRAQbyEASABNgIAQciEASADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtByIQBQQA2AgBBvIQBQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCwsgCEHAhAEoAgAiBkkEQEHAhAEgBiAIayIBNgIAQcyEAUHMhAEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0GMiAEoAgAEQEGUiAEoAgAMAQtBmIgBQn83AgBBkIgBQoCggICAgAQ3AgBBjIgBIAxBDGpBcHFB2KrVqgVzNgIAQaCIAUEANgIAQfCHAUEANgIAQYAgCyIBaiIFQQAgAWsiB3EiAiAITQ0KQeyHASgCACIEBEBB5IcBKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtB8IcBLQAAQQRxDQUCQAJAQcyEASgCACIDBEBB9IcBIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABApIgFBf0YNBiACIQVBkIgBKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAITQ0GIAVB/v///wdLDQZB7IcBKAIAIgQEQEHkhwEoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFECkiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFECkiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQZSIASgCACIBIAkgBWtqQQAgAWtxIgFB/v///wdLBEAgACEBDAgLIAEQKUF/RwRAIAEgBWohBSAAIQEMCAtBACAFaxApGgwFCyAAIgFBf0cNBgwECwALQQAhBAwHC0EAIQEMBQsgAUF/Rw0CC0HwhwFB8IcBKAIAQQRyNgIACyACQf7///8HSw0BIAIQKSEBQQAQKSEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0HkhwFB5IcBKAIAIAVqIgA2AgBB6IcBKAIAIABJBEBB6IcBIAA2AgALAkACQAJAQcyEASgCACIHBEBB9IcBIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0HEhAEoAgAiAEEAIAAgAU0bRQRAQcSEASABNgIAC0EAIQBB+IcBIAU2AgBB9IcBIAE2AgBB1IQBQX82AgBB2IQBQYyIASgCADYCAEGAiAFBADYCAANAIABBA3QiA0HkhAFqIANB3IQBaiICNgIAIANB6IQBaiACNgIAIABBAWoiAEEgRw0AC0HAhAEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQcyEASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHQhAFBnIgBKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEHMhAEgB0F4IAdrQQdxQQAgB0EIakEHcRsiAGoiAjYCAEHAhAFBwIQBKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQdCEAUGciAEoAgA2AgAMAQtBxIQBKAIAIAFLBEBBxIQBIAE2AgALIAEgBWohAkH0hwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB9IcBIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBzIQBIAY2AgBBwIQBQcCEASgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQciEASgCAEYEQEHIhAEgBjYCAEG8hAFBvIQBKAIAIAJqIgA2AgAgBiAAQQFyNgIEIAAgBmogADYCAAwDCyAFKAIEIgBBA3FBAUYEQCAAQXhxIQcCQCAAQf8BTQRAIAUoAggiAyAAQQN2IgBBA3RB3IQBakYaIAMgBSgCDCIBRgRAQbSEAUG0hAEoAgBBfiAAd3E2AgAMAgsgAyABNgIMIAEgAzYCCAwBCyAFKAIYIQgCQCAFIAUoAgwiAUcEQCAFKAIIIgAgATYCDCABIAA2AggMAQsCQCAFQRRqIgAoAgAiAw0AIAVBEGoiACgCACIDDQBBACEBDAELA0AgACEEIAMiAUEUaiIAKAIAIgMNACABQRBqIQAgASgCECIDDQALIARBADYCAAsgCEUNAAJAIAUgBSgCHCIDQQJ0QeSGAWoiACgCAEYEQCAAIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiADd3E2AgAMAgsgCEEQQRQgCCgCECAFRhtqIAE2AgAgAUUNAQsgASAINgIYIAUoAhAiAARAIAEgADYCECAAIAE2AhgLIAUoAhQiAEUNACABIAA2AhQgACABNgIYCyAFIAdqIQUgAiAHaiECCyAFIAUoAgRBfnE2AgQgBiACQQFyNgIEIAIgBmogAjYCACACQf8BTQRAIAJBA3YiAEEDdEHchAFqIQICf0G0hAEoAgAiAUEBIAB0IgBxRQRAQbSEASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAwtBHyEAIAJB////B00EQCACQQh2IgAgAEGA/j9qQRB2QQhxIgN0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgA3IgAHJrIgBBAXQgAiAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QeSGAWohBAJAQbiEASgCACIDQQEgAHQiAXFFBEBBuIQBIAEgA3I2AgAgBCAGNgIAIAYgBDYCGAwBCyACQQBBGSAAQQF2ayAAQR9GG3QhACAEKAIAIQEDQCABIgMoAgRBeHEgAkYNAyAAQR12IQEgAEEBdCEAIAMgAUEEcWoiBCgCECIBDQALIAQgBjYCECAGIAM2AhgLIAYgBjYCDCAGIAY2AggMAgtBwIQBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHMhAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRB0IQBQZyIASgCADYCACAHIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgB0EQakkbIgJBGzYCBCACQfyHASkCADcCECACQfSHASkCADcCCEH8hwEgAkEIajYCAEH4hwEgBTYCAEH0hwEgATYCAEGAiAFBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgB0YNAyACIAIoAgRBfnE2AgQgByACIAdrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBzYCCCAAIAc2AgwgByACNgIMIAcgADYCCAwEC0EfIQAgB0IANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgByAANgIcIABBAnRB5IYBaiEDAkBBuIQBKAIAIgJBASAAdCIBcUUEQEG4hAEgASACcjYCACADIAc2AgAgByADNgIYDAELIARBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAERg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQIAcgAjYCGAsgByAHNgIMIAcgBzYCCAwDCyADKAIIIgAgBjYCDCADIAY2AgggBkEANgIYIAYgAzYCDCAGIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLQcCEASgCACIAIAhNDQBBwIQBIAAgCGsiATYCAEHMhAFBzIQBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GEhAFBMDYCAEEAIQAMAgsCQCAFRQ0AAkAgBCgCHCICQQJ0QeSGAWoiACgCACAERgRAIAAgATYCACABDQFBuIQBIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB5IYBaiECAkACQCAJQQEgAHQiAXFFBEBBuIQBIAEgCXI2AgAgAiAGNgIAIAYgAjYCGAwBCyADQQBBGSAAQQF2ayAAQR9GG3QhACACKAIAIQgDQCAIIgEoAgRBeHEgA0YNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIIDQALIAIgBjYCECAGIAE2AhgLIAYgBjYCDCAGIAY2AggMAQsgASgCCCIAIAY2AgwgASAGNgIIIAZBADYCGCAGIAE2AgwgBiAANgIICyAEQQhqIQAMAQsCQCALRQ0AAkAgASgCHCICQQJ0QeSGAWoiACgCACABRgRAIAAgBDYCACAEDQFBuIQBIAZBfiACd3E2AgAMAgsgC0EQQRQgCygCECABRhtqIAQ2AgAgBEUNAQsgBCALNgIYIAEoAhAiAARAIAQgADYCECAAIAQ2AhgLIAEoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCABIAMgCGoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAhBA3I2AgQgCSADQQFyNgIEIAMgCWogAzYCACAKBEAgCkEDdiIAQQN0QdyEAWohBEHIhAEoAgAhAgJ/QQEgAHQiACAFcUUEQEG0hAEgACAFcjYCACAEDAELIAQoAggLIQAgBCACNgIIIAAgAjYCDCACIAQ2AgwgAiAANgIIC0HIhAEgCTYCAEG8hAEgAzYCAAsgAUEIaiEACyAMQRBqJAAgAAuJAQEDfyAAKAIcIgEQMAJAIAAoAhAiAiABKAIQIgMgAiADSRsiAkUNACAAKAIMIAEoAgggAhAHGiAAIAAoAgwgAmo2AgwgASABKAIIIAJqNgIIIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgASABKAIQIAJrIgA2AhAgAA0AIAEgASgCBDYCCAsLzgEBBX8CQCAARQ0AIAAoAjAiAQRAIAAgAUEBayIBNgIwIAENAQsgACgCIARAIABBATYCICAAEBoaCyAAKAIkQQFGBEAgABBDCwJAIAAoAiwiAUUNACAALQAoDQACQCABKAJEIgNFDQAgASgCTCEEA0AgACAEIAJBAnRqIgUoAgBHBEAgAyACQQFqIgJHDQEMAgsLIAUgBCADQQFrIgJBAnRqKAIANgIAIAEgAjYCRAsLIABBAEIAQQUQDhogACgCACIBBEAgARALCyAAEAYLC1oCAn4BfwJ/AkACQCAALQAARQ0AIAApAxAiAUJ9Vg0AIAFCAnwiAiAAKQMIWA0BCyAAQQA6AABBAAwBC0EAIAAoAgQiA0UNABogACACNwMQIAMgAadqLwAACwthAgJ+AX8CQAJAIAAtAABFDQAgACkDECICQn1WDQAgAkICfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBCHY6AAEgACABOgAAC8wCAQJ/IwBBEGsiBCQAAkAgACkDGCADrYinQQFxRQRAIABBDGoiAARAIABBADYCBCAAQRw2AgALQn8hAgwBCwJ+IAAoAgAiBUUEQCAAKAIIIAEgAiADIAAoAgQRDAAMAQsgBSAAKAIIIAEgAiADIAAoAgQRCgALIgJCf1UNAAJAIANBBGsOCwEAAAAAAAAAAAABAAsCQAJAIAAtABhBEHFFBEAgAEEMaiIBBEAgAUEANgIEIAFBHDYCAAsMAQsCfiAAKAIAIgFFBEAgACgCCCAEQQhqQghBBCAAKAIEEQwADAELIAEgACgCCCAEQQhqQghBBCAAKAIEEQoAC0J/VQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEEUNgIACwwBCyAEKAIIIQEgBCgCDCEDIABBDGoiAARAIAAgAzYCBCAAIAE2AgALCyAEQRBqJAAgAguTFQIOfwN+AkACQAJAAkACQAJAAkACQAJAAkACQCAAKALwLQRAIAAoAogBQQFIDQEgACgCACIEKAIsQQJHDQQgAC8B5AENAyAALwHoAQ0DIAAvAewBDQMgAC8B8AENAyAALwH0AQ0DIAAvAfgBDQMgAC8B/AENAyAALwGcAg0DIAAvAaACDQMgAC8BpAINAyAALwGoAg0DIAAvAawCDQMgAC8BsAINAyAALwG0Ag0DIAAvAbgCDQMgAC8BvAINAyAALwHAAg0DIAAvAcQCDQMgAC8ByAINAyAALwHUAg0DIAAvAdgCDQMgAC8B3AINAyAALwHgAg0DIAAvAYgCDQIgAC8BjAINAiAALwGYAg0CQSAhBgNAIAAgBkECdCIFai8B5AENAyAAIAVBBHJqLwHkAQ0DIAAgBUEIcmovAeQBDQMgACAFQQxyai8B5AENAyAGQQRqIgZBgAJHDQALDAMLIABBBzYC/C0gAkF8Rw0FIAFFDQUMBgsgAkEFaiIEIQcMAwtBASEHCyAEIAc2AiwLIAAgAEHoFmoQUSAAIABB9BZqEFEgAC8B5gEhBCAAIABB7BZqKAIAIgxBAnRqQf//AzsB6gEgAEGQFmohECAAQZQWaiERIABBjBZqIQdBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJA0AgBCEIIAAgCyIOQQFqIgtBAnRqLwHmASEEAkACQCAGQQFqIgVB//8DcSIPIA1B//8DcU8NACAEIAhHDQAgBSEGDAELAn8gACAIQQJ0akHMFWogCkH//wNxIA9LDQAaIAgEQEEBIQUgByAIIAlGDQEaIAAgCEECdGpBzBVqIgYgBi8BAEEBajsBACAHDAELQQEhBSAQIBEgBkH//wNxQQpJGwsiBiAGLwEAIAVqOwEAQQAhBgJ/IARFBEBBAyEKQYoBDAELQQNBBCAEIAhGIgUbIQpBBkEHIAUbCyENIAghCQsgDCAORw0ACwsgAEHaE2ovAQAhBCAAIABB+BZqKAIAIgxBAnRqQd4TakH//wM7AQBBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJQQAhCwNAIAQhCCAAIAsiDkEBaiILQQJ0akHaE2ovAQAhBAJAAkAgBkEBaiIFQf//A3EiDyANQf//A3FPDQAgBCAIRw0AIAUhBgwBCwJ/IAAgCEECdGpBzBVqIApB//8DcSAPSw0AGiAIBEBBASEFIAcgCCAJRg0BGiAAIAhBAnRqQcwVaiIGIAYvAQBBAWo7AQAgBwwBC0EBIQUgECARIAZB//8DcUEKSRsLIgYgBi8BACAFajsBAEEAIQYCfyAERQRAQQMhCkGKAQwBC0EDQQQgBCAIRiIFGyEKQQZBByAFGwshDSAIIQkLIAwgDkcNAAsLIAAgAEGAF2oQUSAAIAAoAvgtAn9BEiAAQYoWai8BAA0AGkERIABB0hVqLwEADQAaQRAgAEGGFmovAQANABpBDyAAQdYVai8BAA0AGkEOIABBghZqLwEADQAaQQ0gAEHaFWovAQANABpBDCAAQf4Vai8BAA0AGkELIABB3hVqLwEADQAaQQogAEH6FWovAQANABpBCSAAQeIVai8BAA0AGkEIIABB9hVqLwEADQAaQQcgAEHmFWovAQANABpBBiAAQfIVai8BAA0AGkEFIABB6hVqLwEADQAaQQQgAEHuFWovAQANABpBA0ECIABBzhVqLwEAGwsiBkEDbGoiBEERajYC+C0gACgC/C1BCmpBA3YiByAEQRtqQQN2IgRNBEAgByEEDAELIAAoAowBQQRHDQAgByEECyAEIAJBBGpPQQAgARsNASAEIAdHDQQLIANBAmqtIRIgACkDmC4hFCAAKAKgLiIBQQNqIgdBP0sNASASIAGthiAUhCESDAILIAAgASACIAMQOQwDCyABQcAARgRAIAAoAgQgACgCEGogFDcAACAAIAAoAhBBCGo2AhBBAyEHDAELIAAoAgQgACgCEGogEiABrYYgFIQ3AAAgACAAKAIQQQhqNgIQIAFBPWshByASQcAAIAFrrYghEgsgACASNwOYLiAAIAc2AqAuIABBgMEAQYDKABCHAQwBCyADQQRqrSESIAApA5guIRQCQCAAKAKgLiIBQQNqIgRBP00EQCASIAGthiAUhCESDAELIAFBwABGBEAgACgCBCAAKAIQaiAUNwAAIAAgACgCEEEIajYCEEEDIQQMAQsgACgCBCAAKAIQaiASIAGthiAUhDcAACAAIAAoAhBBCGo2AhAgAUE9ayEEIBJBwAAgAWutiCESCyAAIBI3A5guIAAgBDYCoC4gAEHsFmooAgAiC6xCgAJ9IRMgAEH4FmooAgAhCQJAAkACfwJ+AkACfwJ/IARBOk0EQCATIASthiAShCETIARBBWoMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQIAmsIRJCBSEUQQoMAgsgACgCBCAAKAIQaiATIASthiAShDcAACAAIAAoAhBBCGo2AhAgE0HAACAEa62IIRMgBEE7awshBSAJrCESIAVBOksNASAFrSEUIAVBBWoLIQcgEiAUhiAThAwBCyAFQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgBq1CA30hE0IFIRRBCQwCCyAAKAIEIAAoAhBqIBIgBa2GIBOENwAAIAAgACgCEEEIajYCECAFQTtrIQcgEkHAACAFa62ICyESIAatQgN9IRMgB0E7Sw0BIAetIRQgB0EEagshBCATIBSGIBKEIRMMAQsgB0HAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQQQQhBAwBCyAAKAIEIAAoAhBqIBMgB62GIBKENwAAIAAgACgCEEEIajYCECAHQTxrIQQgE0HAACAHa62IIRMLQQAhBQNAIAAgBSIBQZDWAGotAABBAnRqQc4VajMBACEUAn8gBEE8TQRAIBQgBK2GIBOEIRMgBEEDagwBCyAEQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgFCETQQMMAQsgACgCBCAAKAIQaiAUIASthiAThDcAACAAIAAoAhBBCGo2AhAgFEHAACAEa62IIRMgBEE9awshBCABQQFqIQUgASAGRw0ACyAAIAQ2AqAuIAAgEzcDmC4gACAAQeQBaiICIAsQhgEgACAAQdgTaiIBIAkQhgEgACACIAEQhwELIAAQiAEgAwRAAkAgACgCoC4iBEE5TgRAIAAoAgQgACgCEGogACkDmC43AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgQ2AqAuCyAEQQlOBH8gACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACgCoC5BEGsFIAQLQQFIDQAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQOYLjwAAAsgAEEANgKgLiAAQgA3A5guCwsZACAABEAgACgCABAGIAAoAgwQBiAAEAYLC6wBAQJ+Qn8hAwJAIAAtACgNAAJAAkAgACgCIEUNACACQgBTDQAgAlANASABDQELIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAALQA1DQBCACEDIAAtADQNACACUA0AA0AgACABIAOnaiACIAN9QQEQDiIEQn9XBEAgAEEBOgA1Qn8gAyADUBsPCyAEUEUEQCADIAR8IgMgAloNAgwBCwsgAEEBOgA0CyADC3UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCe1YNACACQgR8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEYdjoAAyAAIAFBEHY6AAIgACABQQh2OgABIAAgAToAAAtUAgF+AX8CQAJAIAAtAABFDQAgASAAKQMQIgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADwsgACgCBCIDRQRAQQAPCyAAIAI3AxAgAyABp2oLdwECfyMAQRBrIgMkAEF/IQQCQCAALQAoDQAgACgCIEEAIAJBA0kbRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALDAELIAMgAjYCCCADIAE3AwAgACADQhBBBhAOQgBTDQBBACEEIABBADoANAsgA0EQaiQAIAQLVwICfgF/AkACQCAALQAARQ0AIAApAxAiAUJ7Vg0AIAFCBHwiAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqKAAAC1UCAX4BfyAABEACQCAAKQMIUA0AQgEhAQNAIAAoAgAgAkEEdGoQPiABIAApAwhaDQEgAachAiABQgF8IQEMAAsACyAAKAIAEAYgACgCKBAQIAAQBgsLZAECfwJAAkACQCAARQRAIAGnEAkiA0UNAkEYEAkiAkUNAQwDCyAAIQNBGBAJIgINAkEADwsgAxAGC0EADwsgAkIANwMQIAIgATcDCCACIAM2AgQgAkEBOgAAIAIgAEU6AAEgAgudAQICfgF/AkACQCAALQAARQ0AIAApAxAiAkJ3Vg0AIAJCCHwiAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2oiACABQjiIPAAHIAAgAUIwiDwABiAAIAFCKIg8AAUgACABQiCIPAAEIAAgAUIYiDwAAyAAIAFCEIg8AAIgACABQgiIPAABIAAgATwAAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLbwEDfyAAQQxqIQICQAJ/IAAoAiAiAUUEQEF/IQFBEgwBCyAAIAFBAWsiAzYCIEEAIQEgAw0BIABBAEIAQQIQDhogACgCACIARQ0BIAAQGkF/Sg0BQRQLIQAgAgRAIAJBADYCBCACIAA2AgALCyABC58BAgF/AX4CfwJAAn4gACgCACIDKAIkQQFGQQAgAkJ/VRtFBEAgA0EMaiIBBEAgAUEANgIEIAFBEjYCAAtCfwwBCyADIAEgAkELEA4LIgRCf1cEQCAAKAIAIQEgAEEIaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQtBACACIARRDQEaIABBCGoEQCAAQRs2AgwgAEEGNgIICwtBfwsLJAEBfyAABEADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLC5gBAgJ+AX8CQAJAIAAtAABFDQAgACkDECIBQndWDQAgAUIIfCICIAApAwhYDQELIABBADoAAEIADwsgACgCBCIDRQRAQgAPCyAAIAI3AxAgAyABp2oiADEABkIwhiAAMQAHQjiGhCAAMQAFQiiGhCAAMQAEQiCGhCAAMQADQhiGhCAAMQACQhCGhCAAMQABQgiGhCAAMQAAfAsjACAAQShGBEAgAhAGDwsgAgRAIAEgAkEEaygCACAAEQcACwsyACAAKAIkQQFHBEAgAEEMaiIABEAgAEEANgIEIABBEjYCAAtCfw8LIABBAEIAQQ0QDgsPACAABEAgABA2IAAQBgsLgAEBAX8gAC0AKAR/QX8FIAFFBEAgAEEMagRAIABBADYCECAAQRI2AgwLQX8PCyABECoCQCAAKAIAIgJFDQAgAiABECFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAtBfw8LIAAgAUI4QQMQDkI/h6cLC38BA38gACEBAkAgAEEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiAAaw8LA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsL3wIBCH8gAEUEQEEBDwsCQCAAKAIIIgINAEEBIQQgAC8BBCIHRQRAQQEhAgwBCyAAKAIAIQgDQAJAIAMgCGoiBS0AACICQSBPBEAgAkEYdEEYdUF/Sg0BCyACQQ1NQQBBASACdEGAzABxGw0AAn8CfyACQeABcUHAAUYEQEEBIQYgA0EBagwBCyACQfABcUHgAUYEQCADQQJqIQNBACEGQQEMAgsgAkH4AXFB8AFHBEBBBCECDAULQQAhBiADQQNqCyEDQQALIQlBBCECIAMgB08NAiAFLQABQcABcUGAAUcNAkEDIQQgBg0AIAUtAAJBwAFxQYABRw0CIAkNACAFLQADQcABcUGAAUcNAgsgBCECIANBAWoiAyAHSQ0ACwsgACACNgIIAn8CQCABRQ0AAkAgAUECRw0AIAJBA0cNAEECIQIgAEECNgIICyABIAJGDQBBBSACQQFHDQEaCyACCwtIAgJ+An8jAEEQayIEIAE2AgxCASAArYYhAgNAIAQgAUEEaiIANgIMIAIiA0IBIAEoAgAiBa2GhCECIAAhASAFQX9KDQALIAMLhwUBB38CQAJAIABFBEBBxRQhAiABRQ0BIAFBADYCAEHFFA8LIAJBwABxDQEgACgCCEUEQCAAQQAQIxoLIAAoAgghBAJAIAJBgAFxBEAgBEEBa0ECTw0BDAMLIARBBEcNAgsCQCAAKAIMIgINACAAAn8gACgCACEIIABBEGohCUEAIQICQAJAAkACQCAALwEEIgUEQEEBIQQgBUEBcSEHIAVBAUcNAQwCCyAJRQ0CIAlBADYCAEEADAQLIAVBfnEhBgNAIARBAUECQQMgAiAIai0AAEEBdEHQFGovAQAiCkGAEEkbIApBgAFJG2pBAUECQQMgCCACQQFyai0AAEEBdEHQFGovAQAiBEGAEEkbIARBgAFJG2ohBCACQQJqIQIgBkECayIGDQALCwJ/IAcEQCAEQQFBAkEDIAIgCGotAABBAXRB0BRqLwEAIgJBgBBJGyACQYABSRtqIQQLIAQLEAkiB0UNASAFQQEgBUEBSxshCkEAIQVBACEGA0AgBSAHaiEDAn8gBiAIai0AAEEBdEHQFGovAQAiAkH/AE0EQCADIAI6AAAgBUEBagwBCyACQf8PTQRAIAMgAkE/cUGAAXI6AAEgAyACQQZ2QcABcjoAACAFQQJqDAELIAMgAkE/cUGAAXI6AAIgAyACQQx2QeABcjoAACADIAJBBnZBP3FBgAFyOgABIAVBA2oLIQUgBkEBaiIGIApHDQALIAcgBEEBayICakEAOgAAIAlFDQAgCSACNgIACyAHDAELIAMEQCADQQA2AgQgA0EONgIAC0EACyICNgIMIAINAEEADwsgAUUNACABIAAoAhA2AgALIAIPCyABBEAgASAALwEENgIACyAAKAIAC4MBAQR/QRIhBQJAAkAgACkDMCABWA0AIAGnIQYgACgCQCEEIAJBCHEiB0UEQCAEIAZBBHRqKAIEIgINAgsgBCAGQQR0aiIEKAIAIgJFDQAgBC0ADEUNAUEXIQUgBw0BC0EAIQIgAyAAQQhqIAMbIgAEQCAAQQA2AgQgACAFNgIACwsgAgtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAZIAFFBEADQCAAIAVBgAIQLiACQYACayICQf8BSw0ACwsgACAFIAIQLgsgBUGAAmokAAuBAQEBfyMAQRBrIgQkACACIANsIQICQCAAQSdGBEAgBEEMaiACEIwBIQBBACAEKAIMIAAbIQAMAQsgAUEBIAJBxABqIAARAAAiAUUEQEEAIQAMAQtBwAAgAUE/cWsiACABakHAAEEAIABBBEkbaiIAQQRrIAE2AAALIARBEGokACAAC1IBAn9BhIEBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtBhIEBIAA2AgAgAQ8LQYSEAUEwNgIAQX8LNwAgAEJ/NwMQIABBADYCCCAAQgA3AwAgAEEANgIwIABC/////w83AyggAEIANwMYIABCADcDIAulAQEBf0HYABAJIgFFBEBBAA8LAkAgAARAIAEgAEHYABAHGgwBCyABQgA3AyAgAUEANgIYIAFC/////w83AxAgAUEAOwEMIAFBv4YoNgIIIAFBAToABiABQQA6AAQgAUIANwNIIAFBgIDYjXg2AkQgAUIANwMoIAFCADcDMCABQgA3AzggAUFAa0EAOwEAIAFCADcDUAsgAUEBOgAFIAFBADYCACABC1gCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgMgAq18IgQgA1QNACAEIAApAwhYDQELIABBADoAAA8LIAAoAgQiBUUEQA8LIAAgBDcDECAFIAOnaiABIAIQBxoLlgEBAn8CQAJAIAJFBEAgAacQCSIFRQ0BQRgQCSIEDQIgBRAGDAELIAIhBUEYEAkiBA0BCyADBEAgA0EANgIEIANBDjYCAAtBAA8LIARCADcDECAEIAE3AwggBCAFNgIEIARBAToAACAEIAJFOgABIAAgBSABIAMQZUEASAR/IAQtAAEEQCAEKAIEEAYLIAQQBkEABSAECwubAgEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFAn8gASABLQBKIgBBAWsgAHI6AEogASgCACIAQQhxBEAgASAAQSByNgIAQX8MAQsgAUIANwIEIAEgASgCLCIANgIcIAEgADYCFCABIAAgASgCMGo2AhBBAAsNASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRAAAaDAILAn8gASwAS0F/SgRAIAIhAANAIAIgACIERQ0CGiADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEAACAESQ0CIAMgBGohAyABKAIUIQUgAiAEawwBCyACCyEAIAUgAyAAEAcaIAEgASgCFCAAajYCFAsLCwvNBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJoIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDmC48AAAgACAAKQOYLkIIiDcDmC4gACgCoC5BCGsLNgKgLgsLEAAgACgCCBAGIABBADYCCAvwAQECf0F/IQECQCAALQAoDQAgACgCJEEDRgRAIABBDGoEQCAAQQA2AhAgAEEXNgIMC0F/DwsCQCAAKAIgBEAgACkDGELAAINCAFINASAAQQxqBEAgAEEANgIQIABBHTYCDAtBfw8LAkAgACgCACICRQ0AIAIQMkF/Sg0AIAAoAgAhASAAQQxqIgAEQCAAIAEoAgw2AgAgACABKAIQNgIEC0F/DwsgAEEAQgBBABAOQn9VDQAgACgCACIARQ0BIAAQGhpBfw8LQQAhASAAQQA7ATQgAEEMagRAIABCADcCDAsgACAAKAIgQQFqNgIgCyABCzsAIAAtACgEfkJ/BSAAKAIgRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAAQQBCAEEHEA4LC5oIAQt/IABFBEAgARAJDwsgAUFATwRAQYSEAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQZSIASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQOwwBCyAHQcyEASgCAEYEQEHAhAEoAgAgBGoiBCAGTQ0CIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgBCAGayICQQFyNgIEQcCEASACNgIAQcyEASADNgIADAELIAdByIQBKAIARgRAQbyEASgCACAEaiIDIAZJDQICQCADIAZrIgJBEE8EQCAFIAlBAXEgBnJBAnI2AgQgBSAGaiIEIAJBAXI2AgQgAyAFaiIDIAI2AgAgAyADKAIEQX5xNgIEDAELIAUgCUEBcSADckECcjYCBCADIAVqIgIgAigCBEEBcjYCBEEAIQJBACEEC0HIhAEgBDYCAEG8hAEgAjYCAAwBCyAHKAIEIgNBAnENASADQXhxIARqIgogBkkNASAKIAZrIQwCQCADQf8BTQRAIAcoAggiBCADQQN2IgJBA3RB3IQBakYaIAQgBygCDCIDRgRAQbSEAUG0hAEoAgBBfiACd3E2AgAMAgsgBCADNgIMIAMgBDYCCAwBCyAHKAIYIQsCQCAHIAcoAgwiCEcEQCAHKAIIIgJBxIQBKAIASRogAiAINgIMIAggAjYCCAwBCwJAIAdBFGoiBCgCACICDQAgB0EQaiIEKAIAIgINAEEAIQgMAQsDQCAEIQMgAiIIQRRqIgQoAgAiAg0AIAhBEGohBCAIKAIQIgINAAsgA0EANgIACyALRQ0AAkAgByAHKAIcIgNBAnRB5IYBaiICKAIARgRAIAIgCDYCACAIDQFBuIQBQbiEASgCAEF+IAN3cTYCAAwCCyALQRBBFCALKAIQIAdGG2ogCDYCACAIRQ0BCyAIIAs2AhggBygCECICBEAgCCACNgIQIAIgCDYCGAsgBygCFCICRQ0AIAggAjYCFCACIAg2AhgLIAxBD00EQCAFIAlBAXEgCnJBAnI2AgQgBSAKaiICIAIoAgRBAXI2AgQMAQsgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAyAMQQNyNgIEIAUgCmoiAiACKAIEQQFyNgIEIAMgDBA7CyAFIQILIAILIgIEQCACQQhqDwsgARAJIgVFBEBBAA8LIAUgAEF8QXggAEEEaygCACICQQNxGyACQXhxaiICIAEgASACSxsQBxogABAGIAUL6QEBA38CQCABRQ0AIAJBgDBxIgIEfwJ/IAJBgCBHBEBBAiACQYAQRg0BGiADBEAgA0EANgIEIANBEjYCAAtBAA8LQQQLIQJBAAVBAQshBkEUEAkiBEUEQCADBEAgA0EANgIEIANBDjYCAAtBAA8LIAQgAUEBahAJIgU2AgAgBUUEQCAEEAZBAA8LIAUgACABEAcgAWpBADoAACAEQQA2AhAgBEIANwMIIAQgATsBBCAGDQAgBCACECNBBUcNACAEKAIAEAYgBCgCDBAGIAQQBkEAIQQgAwRAIANBADYCBCADQRI2AgALCyAEC7UBAQJ/AkACQAJAAkACQAJAAkAgAC0ABQRAIAAtAABBAnFFDQELIAAoAjAQECAAQQA2AjAgAC0ABUUNAQsgAC0AAEEIcUUNAQsgACgCNBAcIABBADYCNCAALQAFRQ0BCyAALQAAQQRxRQ0BCyAAKAI4EBAgAEEANgI4IAAtAAVFDQELIAAtAABBgAFxRQ0BCyAAKAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASELIAMhBQsgBkIuEBciA0UEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyAFEBwMAgsgA0GjEkGoEiACQYACcSIHG0EEECwgB0UEQCADIAkEf0EtBSABLwEIC0H//wNxEA0LIAMgCQR/QS0FIAEvAQoLQf//A3EQDSADIAEvAQwQDSADIAsEf0HjAAUgASgCEAtB//8DcRANIAYgASgCFDYCPAJ/IAZBPGoQjQEiCEUEQEEAIQlBIQwBCwJ/IAgoAhQiBEHQAE4EQCAEQQl0DAELIAhB0AA2AhRBgMACCyEEIAgoAgRBBXQgCCgCCEELdGogCCgCAEEBdmohCSAIKAIMIAQgCCgCEEEFdGpqQaDAAWoLIQQgAyAJQf//A3EQDSADIARB//8DcRANIAMCfyALBEBBACABKQMoQhRUDQEaCyABKAIYCxASIAEpAyAhDCADAn8gAwJ/AkAgBwRAIAxC/v///w9YBEAgASkDKEL/////D1QNAgsgA0F/EBJBfwwDC0F/IAxC/v///w9WDQEaCyAMpwsQEiABKQMoIgxC/////w8gDEL/////D1QbpwsQEiADIAEoAjAiBAR/IAQvAQQFQQALQf//A3EQDSADIAEoAjQgAhBsIAVBgAYQbGpB//8DcRANIAdFBEAgAyABKAI4IgQEfyAELwEEBUEAC0H//wNxEA0gAyABLwE8EA0gAyABLwFAEA0gAyABKAJEEBIgAyABKQNIIgxC/////w8gDEL/////D1QbpxASCyADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAMQCCAFEBwMAgsgACAGIAMtAAAEfiADKQMQBUIACxAbIQQgAxAIIARBf0wNACABKAIwIgMEQCAAIAMQYUF/TA0BCyAFBEAgACAFQYAGEGtBf0wNAQsgBRAcIAEoAjQiBQRAIAAgBSACEGtBAEgNAgsgBw0CIAEoAjgiAUUNAiAAIAEQYUEATg0CDAELIAUQHAtBfyEKCyAGQUBrJAAgCgtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvcAwICfgF/IAOtIQQgACkDmC4hBQJAIAACfyAAAn4gACgCoC4iBkEDaiIDQT9NBEAgBCAGrYYgBYQMAQsgBkHAAEYEQCAAKAIEIAAoAhBqIAU3AAAgACgCEEEIagwCCyAAKAIEIAAoAhBqIAQgBq2GIAWENwAAIAAgACgCEEEIajYCECAGQT1rIQMgBEHAACAGa62ICyIENwOYLiAAIAM2AqAuIANBOU4EQCAAKAIEIAAoAhBqIAQ3AAAgACAAKAIQQQhqNgIQDAILIANBGU4EQCAAKAIEIAAoAhBqIAQ+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiBDcDmC4gACAAKAKgLkEgayIDNgKgLgsgA0EJTgR/IAAoAgQgACgCEGogBD0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghBCAAKAKgLkEQawUgAwtBAUgNASAAKAIQCyIDQQFqNgIQIAAoAgQgA2ogBDwAAAsgAEEANgKgLiAAQgA3A5guIAAoAgQgACgCEGogAjsAACAAIAAoAhBBAmoiAzYCECAAKAIEIANqIAJBf3M7AAAgACAAKAIQQQJqIgM2AhAgAgRAIAAoAgQgA2ogASACEAcaIAAgACgCECACajYCEAsLrAQCAX8BfgJAIAANACABUA0AIAMEQCADQQA2AgQgA0ESNgIAC0EADwsCQAJAIAAgASACIAMQiQEiBEUNAEEYEAkiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAkiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEkNgIEIABCPyACQQBCAEEOQSQRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQciEASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB3IQBakYaIAAoAgwiAyAERw0CQbSEAUG0hAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQiAkEDcUEDRw0BQbyEASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAsCQCAFKAIEIgJBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAA2AgBBwIQBQcCEASgCACABaiIBNgIAIAAgAUEBcjYCBCAAQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASAANgIAQbyEAUG8hAEoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEBAkAgAkH/AU0EQCAFKAIIIgQgAkEDdiICQQN0QdyEAWpGGiAEIAUoAgwiA0YEQEG0hAFBtIQBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAFQRRqIgQoAgAiAg0AIAVBEGoiBCgCACICDQBBACEDDAELA0AgBCEHIAIiA0EUaiIEKAIAIgINACADQRBqIQQgAygCECICDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAgRAIAMgAjYCECACIAM2AhgLIAUoAhQiAkUNACADIAI2AhQgAiADNgIYCyAAIAFBAXI2AgQgACABaiABNgIAIABByIQBKAIARw0BQbyEASABNgIADwsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFB/wFNBEAgAUEDdiICQQN0QdyEAWohAQJ/QbSEASgCACIDQQEgAnQiAnFFBEBBtIQBIAIgA3I2AgAgAQwBCyABKAIICyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCA8LQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBCHYiAiACQYD+P2pBEHZBCHEiBHQiAiACQYDgH2pBEHZBBHEiA3QiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAEciACcmsiAkEBdCABIAJBFWp2QQFxckEcaiECCyAAIAI2AhwgAkECdEHkhgFqIQcCQAJAQbiEASgCACIEQQEgAnQiA3FFBEBBuIQBIAMgBHI2AgAgByAANgIAIAAgBzYCGAwBCyABQQBBGSACQQF2ayACQR9GG3QhAiAHKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWoiB0EQaigCACIDDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC1gCAX8BfgJAAn9BACAARQ0AGiAArUIChiICpyIBIABBBHJBgIAESQ0AGkF/IAEgAkIgiKcbCyIBEAkiAEUNACAAQQRrLQAAQQNxRQ0AIABBACABEBkLIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAQgBWshAwsgAwsUACAAEEAgACgCABAgIAAoAgQQIAutBAIBfgV/IwBBEGsiBCQAIAAgAWshBgJAAkAgAUEBRgRAIAAgBi0AACACEBkMAQsgAUEJTwRAIAAgBikAADcAACAAIAJBAWtBB3FBAWoiBWohACACIAVrIgFFDQIgBSAGaiECA0AgACACKQAANwAAIAJBCGohAiAAQQhqIQAgAUEIayIBDQALDAILAkACQAJAAkAgAUEEaw4FAAICAgECCyAEIAYoAAAiATYCBCAEIAE2AgAMAgsgBCAGKQAANwMADAELQQghByAEQQhqIQgDQCAIIAYgByABIAEgB0sbIgUQByAFaiEIIAcgBWsiBw0ACyAEIAQpAwg3AwALAkAgBQ0AIAJBEEkNACAEKQMAIQMgAkEQayIGQQR2QQFqQQdxIgEEQANAIAAgAzcACCAAIAM3AAAgAkEQayECIABBEGohACABQQFrIgENAAsLIAZB8ABJDQADQCAAIAM3AHggACADNwBwIAAgAzcAaCAAIAM3AGAgACADNwBYIAAgAzcAUCAAIAM3AEggACADNwBAIAAgAzcAOCAAIAM3ADAgACADNwAoIAAgAzcAICAAIAM3ABggACADNwAQIAAgAzcACCAAIAM3AAAgAEGAAWohACACQYABayICQQ9LDQALCyACQQhPBEBBCCAFayEBA0AgACAEKQMANwAAIAAgAWohACACIAFrIgJBB0sNAAsLIAJFDQEgACAEIAIQBxoLIAAgAmohAAsgBEEQaiQAIAALXwECfyAAKAIIIgEEQCABEAsgAEEANgIICwJAIAAoAgQiAUUNACABKAIAIgJBAXFFDQAgASgCEEF+Rw0AIAEgAkF+cSICNgIAIAINACABECAgAEEANgIECyAAQQA6AAwL1wICBH8BfgJAAkAgACgCQCABp0EEdGooAgAiA0UEQCACBEAgAkEANgIEIAJBFDYCAAsMAQsgACgCACADKQNIIgdBABAUIQMgACgCACEAIANBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQtCACEBIwBBEGsiBiQAQX8hAwJAIABCGkEBEBRBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsgAEIEIAZBCmogAhAtIgRFDQBBHiEAQQEhBQNAIAQQDCAAaiEAIAVBAkcEQCAFQQFqIQUMAQsLIAQtAAAEfyAEKQMQIAQpAwhRBUEAC0UEQCACBEAgAkEANgIEIAJBFDYCAAsgBBAIDAELIAQQCCAAIQMLIAZBEGokACADIgBBAEgNASAHIACtfCIBQn9VDQEgAgRAIAJBFjYCBCACQQQ2AgALC0IAIQELIAELYAIBfgF/AkAgAEUNACAAQQhqEF8iAEUNACABIAEoAjBBAWo2AjAgACADNgIIIAAgAjYCBCAAIAE2AgAgAEI/IAEgA0EAQgBBDiACEQoAIgQgBEIAUxs3AxggACEFCyAFCyIAIAAoAiRBAWtBAU0EQCAAQQBCAEEKEA4aIABBADYCJAsLbgACQAJAAkAgA0IQVA0AIAJFDQECfgJAAkACQCACKAIIDgMCAAEECyACKQMAIAB8DAILIAIpAwAgAXwMAQsgAikDAAsiA0IAUw0AIAEgA1oNAgsgBARAIARBADYCBCAEQRI2AgALC0J/IQMLIAMLggICAX8CfgJAQQEgAiADGwRAIAIgA2oQCSIFRQRAIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgAq0hBgJAAkAgAARAIAAgBhATIgBFBEAgBARAIARBADYCBCAEQQ42AgALDAULIAUgACACEAcaIAMNAQwCCyABIAUgBhARIgdCf1cEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMBAsgBiAHVQRAIAQEQCAEQQA2AgQgBEERNgIACwwECyADRQ0BCyACIAVqIgBBADoAACACQQFIDQAgBSECA0AgAi0AAEUEQCACQSA6AAALIAJBAWoiAiAASQ0ACwsLIAUPCyAFEAZBAAuBAQEBfwJAIAAEQCADQYAGcSEFQQAhAwNAAkAgAC8BCCACRw0AIAUgACgCBHFFDQAgA0EATg0DIANBAWohAwsgACgCACIADQALCyAEBEAgBEEANgIEIARBCTYCAAtBAA8LIAEEQCABIAAvAQo7AQALIAAvAQpFBEBBwBQPCyAAKAIMC1cBAX9BEBAJIgNFBEBBAA8LIAMgATsBCiADIAA7AQggA0GABjYCBCADQQA2AgACQCABBEAgAyACIAEQYyIANgIMIAANASADEAZBAA8LIANBADYCDAsgAwvuBQIEfwV+IwBB4ABrIgQkACAEQQhqIgNCADcDICADQQA2AhggA0L/////DzcDECADQQA7AQwgA0G/hig2AgggA0EBOgAGIANBADsBBCADQQA2AgAgA0IANwNIIANBgIDYjXg2AkQgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0EAOwEAIANCADcDUCABKQMIUCIDRQRAIAEoAgAoAgApA0ghBwsCfgJAIAMEQCAHIQkMAQsgByEJA0AgCqdBBHQiBSABKAIAaigCACIDKQNIIgggCSAIIAlUGyIJIAEpAyBWBEAgAgRAIAJBADYCBCACQRM2AgALQn8MAwsgAygCMCIGBH8gBi8BBAVBAAtB//8Dca0gCCADKQMgfHxCHnwiCCAHIAcgCFQbIgcgASkDIFYEQCACBEAgAkEANgIEIAJBEzYCAAtCfwwDCyAAKAIAIAEoAgAgBWooAgApA0hBABAUIQYgACgCACEDIAZBf0wEQCACBEAgAiADKAIMNgIAIAIgAygCEDYCBAtCfwwDCyAEQQhqIANBAEEBIAIQaEJ/UQRAIARBCGoQNkJ/DAMLAkACQCABKAIAIAVqKAIAIgMvAQogBC8BEkkNACADKAIQIAQoAhhHDQAgAygCFCAEKAIcRw0AIAMoAjAgBCgCOBBiRQ0AAkAgBCgCICIGIAMoAhhHBEAgBCkDKCEIDAELIAMpAyAiCyAEKQMoIghSDQAgCyEIIAMpAyggBCkDMFENAgsgBC0AFEEIcUUNACAGDQAgCEIAUg0AIAQpAzBQDQELIAIEQCACQQA2AgQgAkEVNgIACyAEQQhqEDZCfwwDCyABKAIAIAVqKAIAKAI0IAQoAjwQbyEDIAEoAgAgBWooAgAiBUEBOgAEIAUgAzYCNCAEQQA2AjwgBEEIahA2IApCAXwiCiABKQMIVA0ACwsgByAJfSIHQv///////////wAgB0L///////////8AVBsLIQcgBEHgAGokACAHC8YBAQJ/QdgAEAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAECf0EYEAkiAkUEQCAABEAgAEEANgIEIABBDjYCAAtBAAwBCyACQQA2AhAgAkIANwMIIAJBADYCACACCyIANgJQIABFBEAgARAGQQAPCyABQgA3AwAgAUEANgIQIAFCADcCCCABQgA3AhQgAUEANgJUIAFCADcCHCABQgA3ACEgAUIANwMwIAFCADcDOCABQUBrQgA3AwAgAUIANwNIIAELgBMCD38CfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohEyAFQThqIRBBACEBA0ACQCAOQQBIDQBB/////wcgDmsgAUgEQEGEhAFBPTYCAEF/IQ4MAQsgASAOaiEOCyAFKAJMIgchAQJAAkACQAJAAkACQAJAAkAgBQJ/AkAgBy0AACIGBEADQAJAAkAgBkH/AXEiBkUEQCABIQYMAQsgBkElRw0BIAEhBgNAIAEtAAFBJUcNASAFIAFBAmoiCDYCTCAGQQFqIQYgAS0AAiEMIAghASAMQSVGDQALCyAGIAdrIQEgAARAIAAgByABEC4LIAENDSAFKAJMIQEgBSgCTCwAAUEwa0EKTw0DIAEtAAJBJEcNAyABLAABQTBrIQ9BASERIAFBA2oMBAsgBSABQQFqIgg2AkwgAS0AASEGIAghAQwACwALIA4hDSAADQggEUUNAkEBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhB4QQEhDSABQQFqIgFBCkcNAQwKCwtBASENIAFBCk8NCANAIAQgAUECdGooAgANCCABQQFqIgFBCkcNAAsMCAtBfyEPIAFBAWoLIgE2AkxBACEIAkAgASwAACIKQSBrIgZBH0sNAEEBIAZ0IgZBidEEcUUNAANAAkAgBSABQQFqIgg2AkwgASwAASIKQSBrIgFBIE8NAEEBIAF0IgFBidEEcUUNACABIAZyIQYgCCEBDAELCyAIIQEgBiEICwJAIApBKkYEQCAFAn8CQCABLAABQTBrQQpPDQAgBSgCTCIBLQACQSRHDQAgASwAAUECdCAEakHAAWtBCjYCACABLAABQQN0IANqQYADaygCACELQQEhESABQQNqDAELIBENCEEAIRFBACELIAAEQCACIAIoAgAiAUEEajYCACABKAIAIQsLIAUoAkxBAWoLIgE2AkwgC0F/Sg0BQQAgC2shCyAIQYDAAHIhCAwBCyAFQcwAahB3IgtBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQdyEJIAUoAkwhAQtBACEGA0AgBiESQX8hDSABLAAAQcEAa0E5Sw0HIAUgAUEBaiIKNgJMIAEsAAAhBiAKIQEgBiASQTpsakGf7ABqLQAAIgZBAWtBCEkNAAsgBkETRg0CIAZFDQYgD0EATgRAIAQgD0ECdGogBjYCACAFIAMgD0EDdGopAwA3A0AMBAsgAA0BC0EAIQ0MBQsgBUFAayAGIAIQeCAFKAJMIQoMAgsgD0F/Sg0DC0EAIQEgAEUNBAsgCEH//3txIgwgCCAIQYDAAHEbIQZBACENQaQIIQ8gECEIAkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgCkEBaywAACIBQV9xIAEgAUEPcUEDRhsgASASGyIBQdgAaw4hBBISEhISEhISDhIPBg4ODhIGEhISEgIFAxISCRIBEhIEAAsCQCABQcEAaw4HDhILEg4ODgALIAFB0wBGDQkMEQsgBSkDQCEUQaQIDAULQQAhAQJAAkACQAJAAkACQAJAIBJB/wFxDggAAQIDBBcFBhcLIAUoAkAgDjYCAAwWCyAFKAJAIA42AgAMFQsgBSgCQCAOrDcDAAwUCyAFKAJAIA47AQAMEwsgBSgCQCAOOgAADBILIAUoAkAgDjYCAAwRCyAFKAJAIA6sNwMADBALIAlBCCAJQQhLGyEJIAZBCHIhBkH4ACEBCyAQIQcgAUEgcSEMIAUpA0AiFFBFBEADQCAHQQFrIgcgFKdBD3FBsPAAai0AACAMcjoAACAUQg9WIQogFEIEiCEUIAoNAAsLIAUpA0BQDQMgBkEIcUUNAyABQQR2QaQIaiEPQQIhDQwDCyAQIQEgBSkDQCIUUEUEQANAIAFBAWsiASAUp0EHcUEwcjoAACAUQgdWIQcgFEIDiCEUIAcNAAsLIAEhByAGQQhxRQ0CIAkgECAHayIBQQFqIAEgCUgbIQkMAgsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASENQaQIDAELIAZBgBBxBEBBASENQaUIDAELQaYIQaQIIAZBAXEiDRsLIQ8gECEBAkAgFEKAgICAEFQEQCAUIRUMAQsDQCABQQFrIgEgFCAUQgqAIhVCCn59p0EwcjoAACAUQv////+fAVYhByAVIRQgBw0ACwsgFaciBwRAA0AgAUEBayIBIAcgB0EKbiIMQQpsa0EwcjoAACAHQQlLIQogDCEHIAoNAAsLIAEhBwsgBkH//3txIAYgCUF/ShshBgJAIAUpA0AiFEIAUg0AIAkNAEEAIQkgECEHDAoLIAkgFFAgECAHa2oiASABIAlIGyEJDAkLIAUoAkAiAUGKEiABGyIHQQAgCRB6IgEgByAJaiABGyEIIAwhBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIAtBACAGECcMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQeSIHQQBIIgwNACAHIAkgAWtLDQAgCEEEaiEIIAkgASAHaiIBSw0BDAILC0F/IQ0gDA0FCyAAQSAgCyABIAYQJyABRQRAQQAhAQwBC0EAIQggBSgCQCEKA0AgCigCACIHRQ0BIAVBBGogBxB5IgcgCGoiCCABSg0BIAAgBUEEaiAHEC4gCkEEaiEKIAEgCEsNAAsLIABBICALIAEgBkGAwABzECcgCyABIAEgC0gbIQEMBQsgACAFKwNAIAsgCSAGIAFBABEdACEBDAQLIAUgBSkDQDwAN0EBIQkgEyEHIAwhBgwCC0F/IQ0LIAVB0ABqJAAgDQ8LIABBICANIAggB2siDCAJIAkgDEgbIgpqIgggCyAIIAtKGyIBIAggBhAnIAAgDyANEC4gAEEwIAEgCCAGQYCABHMQJyAAQTAgCiAMQQAQJyAAIAcgDBAuIABBICABIAggBkGAwABzECcMAAsAC54DAgR/AX4gAARAIAAoAgAiAQRAIAEQGhogACgCABALCyAAKAIcEAYgACgCIBAQIAAoAiQQECAAKAJQIgMEQCADKAIQIgIEQCADKAIAIgEEfwNAIAIgBEECdGooAgAiAgRAA0AgAigCGCEBIAIQBiABIgINAAsgAygCACEBCyABIARBAWoiBEsEQCADKAIQIQIMAQsLIAMoAhAFIAILEAYLIAMQBgsgACgCQCIBBEAgACkDMFAEfyABBSABED5CAiEFAkAgACkDMEICVA0AQQEhAgNAIAAoAkAgAkEEdGoQPiAFIAApAzBaDQEgBachAiAFQgF8IQUMAAsACyAAKAJACxAGCwJAIAAoAkRFDQBBACECQgEhBQNAIAAoAkwgAkECdGooAgAiAUEBOgAoIAFBDGoiASgCAEUEQCABBEAgAUEANgIEIAFBCDYCAAsLIAUgADUCRFoNASAFpyECIAVCAXwhBQwACwALIAAoAkwQBiAAKAJUIgIEQCACKAIIIgEEQCACKAIMIAERAwALIAIQBgsgAEEIahAxIAAQBgsL6gMCAX4EfwJAIAAEfiABRQRAIAMEQCADQQA2AgQgA0ESNgIAC0J/DwsgAkGDIHEEQAJAIAApAzBQDQBBPEE9IAJBAXEbIQcgAkECcUUEQANAIAAgBCACIAMQUyIFBEAgASAFIAcRAgBFDQYLIARCAXwiBCAAKQMwVA0ADAILAAsDQCAAIAQgAiADEFMiBQRAIAECfyAFECJBAWohBgNAQQAgBkUNARogBSAGQQFrIgZqIggtAABBL0cNAAsgCAsiBkEBaiAFIAYbIAcRAgBFDQULIARCAXwiBCAAKQMwVA0ACwsgAwRAIANBADYCBCADQQk2AgALQn8PC0ESIQYCQAJAIAAoAlAiBUUNACABRQ0AQQkhBiAFKQMIUA0AIAUoAhAgAS0AACIHBH9CpesKIQQgASEAA0AgBCAHrUL/AYN8IQQgAC0AASIHBEAgAEEBaiEAIARC/////w+DQiF+IQQMAQsLIASnBUGFKgsgBSgCAHBBAnRqKAIAIgBFDQADQCABIAAoAgAQOEUEQCACQQhxBEAgACkDCCIEQn9RDQMMBAsgACkDECIEQn9RDQIMAwsgACgCGCIADQALCyADBEAgA0EANgIEIAMgBjYCAAtCfyEECyAEBUJ/Cw8LIAMEQCADQgA3AgALIAQL3AQCB38BfgJAAkAgAEUNACABRQ0AIAJCf1UNAQsgBARAIARBADYCBCAEQRI2AgALQQAPCwJAIAAoAgAiB0UEQEGAAiEHQYACEDwiBkUNASAAKAIQEAYgAEGAAjYCACAAIAY2AhALAkACQCAAKAIQIAEtAAAiBQR/QqXrCiEMIAEhBgNAIAwgBa1C/wGDfCEMIAYtAAEiBQRAIAZBAWohBiAMQv////8Pg0IhfiEMDAELCyAMpwVBhSoLIgYgB3BBAnRqIggoAgAiBQRAA0ACQCAFKAIcIAZHDQAgASAFKAIAEDgNAAJAIANBCHEEQCAFKQMIQn9SDQELIAUpAxBCf1ENBAsgBARAIARBADYCBCAEQQo2AgALQQAPCyAFKAIYIgUNAAsLQSAQCSIFRQ0CIAUgATYCACAFIAgoAgA2AhggCCAFNgIAIAVCfzcDCCAFIAY2AhwgACAAKQMIQgF8Igw3AwggDLogB7hEAAAAAAAA6D+iZEUNACAHQQBIDQAgByAHQQF0IghGDQAgCBA8IgpFDQECQCAMQgAgBxtQBEAgACgCECEJDAELIAAoAhAhCUEAIQQDQCAJIARBAnRqKAIAIgYEQANAIAYoAhghASAGIAogBigCHCAIcEECdGoiCygCADYCGCALIAY2AgAgASIGDQALCyAEQQFqIgQgB0cNAAsLIAkQBiAAIAg2AgAgACAKNgIQCyADQQhxBEAgBSACNwMICyAFIAI3AxBBAQ8LIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgBARAIARBADYCBCAEQQ42AgALQQAL3Q8BF38jAEFAaiIHQgA3AzAgB0IANwM4IAdCADcDICAHQgA3AygCQAJAAkACQAJAIAIEQCACQQNxIQggAkEBa0EDTwRAIAJBfHEhBgNAIAdBIGogASAJQQF0IgxqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBAnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBHJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgCUEEaiEJIAZBBGsiBg0ACwsgCARAA0AgB0EgaiABIAlBAXRqLwEAQQF0aiIGIAYvAQBBAWo7AQAgCUEBaiEJIAhBAWsiCA0ACwsgBCgCACEJQQ8hCyAHLwE+IhENAgwBCyAEKAIAIQkLQQ4hC0EAIREgBy8BPA0AQQ0hCyAHLwE6DQBBDCELIAcvATgNAEELIQsgBy8BNg0AQQohCyAHLwE0DQBBCSELIAcvATINAEEIIQsgBy8BMA0AQQchCyAHLwEuDQBBBiELIAcvASwNAEEFIQsgBy8BKg0AQQQhCyAHLwEoDQBBAyELIAcvASYNAEECIQsgBy8BJA0AIAcvASJFBEAgAyADKAIAIgBBBGo2AgAgAEHAAjYBACADIAMoAgAiAEEEajYCACAAQcACNgEAQQEhDQwDCyAJQQBHIRtBASELQQEhCQwBCyALIAkgCSALSxshG0EBIQ5BASEJA0AgB0EgaiAJQQF0ai8BAA0BIAlBAWoiCSALRw0ACyALIQkLQX8hCCAHLwEiIg9BAksNAUEEIAcvASQiECAPQQF0amsiBkEASA0BIAZBAXQgBy8BJiISayIGQQBIDQEgBkEBdCAHLwEoIhNrIgZBAEgNASAGQQF0IAcvASoiFGsiBkEASA0BIAZBAXQgBy8BLCIVayIGQQBIDQEgBkEBdCAHLwEuIhZrIgZBAEgNASAGQQF0IAcvATAiF2siBkEASA0BIAZBAXQgBy8BMiIZayIGQQBIDQEgBkEBdCAHLwE0IhxrIgZBAEgNASAGQQF0IAcvATYiDWsiBkEASA0BIAZBAXQgBy8BOCIYayIGQQBIDQEgBkEBdCAHLwE6IgxrIgZBAEgNASAGQQF0IAcvATwiCmsiBkEASA0BIAZBAXQgEWsiBkEASA0BIAZBACAARSAOchsNASAJIBtLIRpBACEIIAdBADsBAiAHIA87AQQgByAPIBBqIgY7AQYgByAGIBJqIgY7AQggByAGIBNqIgY7AQogByAGIBRqIgY7AQwgByAGIBVqIgY7AQ4gByAGIBZqIgY7ARAgByAGIBdqIgY7ARIgByAGIBlqIgY7ARQgByAGIBxqIgY7ARYgByAGIA1qIgY7ARggByAGIBhqIgY7ARogByAGIAxqIgY7ARwgByAGIApqOwEeAkAgAkUNACACQQFHBEAgAkF+cSEGA0AgASAIQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAg7AQALIAEgCEEBciIMQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAw7AQALIAhBAmohCCAGQQJrIgYNAAsLIAJBAXFFDQAgASAIQQF0ai8BACICRQ0AIAcgAkEBdGoiAiACLwEAIgJBAWo7AQAgBSACQQF0aiAIOwEACyAJIBsgGhshDUEUIRBBACEWIAUiCiEYQQAhEgJAAkACQCAADgICAAELQQEhCCANQQpLDQNBgQIhEEHw2QAhGEGw2QAhCkEBIRIMAQsgAEECRiEWQQAhEEHw2gAhGEGw2gAhCiAAQQJHBEAMAQtBASEIIA1BCUsNAgtBASANdCITQQFrIRwgAygCACEUQQAhFSANIQZBACEPQQAhDkF/IQIDQEEBIAZ0IRoCQANAIAkgD2shFwJAIAUgFUEBdGovAQAiCCAQTwRAIAogCCAQa0EBdCIAai8BACERIAAgGGotAAAhAAwBC0EAQeAAIAhBAWogEEkiBhshACAIQQAgBhshEQsgDiAPdiEMQX8gF3QhBiAaIQgDQCAUIAYgCGoiCCAMakECdGoiGSAROwECIBkgFzoAASAZIAA6AAAgCA0AC0EBIAlBAWt0IQYDQCAGIgBBAXYhBiAAIA5xDQALIAdBIGogCUEBdGoiBiAGLwEAQQFrIgY7AQAgAEEBayAOcSAAakEAIAAbIQ4gFUEBaiEVIAZB//8DcUUEQCAJIAtGDQIgASAFIBVBAXRqLwEAQQF0ai8BACEJCyAJIA1NDQAgDiAccSIAIAJGDQALQQEgCSAPIA0gDxsiD2siBnQhAiAJIAtJBEAgCyAPayEMIAkhCAJAA0AgAiAHQSBqIAhBAXRqLwEAayICQQFIDQEgAkEBdCECIAZBAWoiBiAPaiIIIAtJDQALIAwhBgtBASAGdCECC0EBIQggEiACIBNqIhNBtApLcQ0DIBYgE0HQBEtxDQMgAygCACICIABBAnRqIgggDToAASAIIAY6AAAgCCAUIBpBAnRqIhQgAmtBAnY7AQIgACECDAELCyAOBEAgFCAOQQJ0aiIAQQA7AQIgACAXOgABIABBwAA6AAALIAMgAygCACATQQJ0ajYCAAsgBCANNgIAQQAhCAsgCAusAQICfgF/IAFBAmqtIQIgACkDmC4hAwJAIAAoAqAuIgFBA2oiBEE/TQRAIAIgAa2GIAOEIQIMAQsgAUHAAEYEQCAAKAIEIAAoAhBqIAM3AAAgACAAKAIQQQhqNgIQQQMhBAwBCyAAKAIEIAAoAhBqIAIgAa2GIAOENwAAIAAgACgCEEEIajYCECABQT1rIQQgAkHAACABa62IIQILIAAgAjcDmC4gACAENgKgLguXAwICfgN/QYDJADMBACECIAApA5guIQMCQCAAKAKgLiIFQYLJAC8BACIGaiIEQT9NBEAgAiAFrYYgA4QhAgwBCyAFQcAARgRAIAAoAgQgACgCEGogAzcAACAAIAAoAhBBCGo2AhAgBiEEDAELIAAoAgQgACgCEGogAiAFrYYgA4Q3AAAgACAAKAIQQQhqNgIQIARBQGohBCACQcAAIAVrrYghAgsgACACNwOYLiAAIAQ2AqAuIAEEQAJAIARBOU4EQCAAKAIEIAAoAhBqIAI3AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAI+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiAjcDmC4gACAAKAKgLkEgayIENgKgLgsgBEEJTgR/IAAoAgQgACgCEGogAj0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghAiAAKAKgLkEQawUgBAtBAUgNACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAI8AAALIABBADYCoC4gAEIANwOYLgsL8hQBEn8gASgCCCICKAIAIQUgAigCDCEHIAEoAgAhCCAAQoCAgIDQxwA3A6ApQQAhAgJAAkAgB0EASgRAQX8hDANAAkAgCCACQQJ0aiIDLwEABEAgACAAKAKgKUEBaiIDNgKgKSAAIANBAnRqQawXaiACNgIAIAAgAmpBqClqQQA6AAAgAiEMDAELIANBADsBAgsgAkEBaiICIAdHDQALIABB/C1qIQ8gAEH4LWohESAAKAKgKSIEQQFKDQIMAQsgAEH8LWohDyAAQfgtaiERQX8hDAsDQCAAIARBAWoiAjYCoCkgACACQQJ0akGsF2ogDEEBaiIDQQAgDEECSCIGGyICNgIAIAggAkECdCIEakEBOwEAIAAgAmpBqClqQQA6AAAgACAAKAL4LUEBazYC+C0gBQRAIA8gDygCACAEIAVqLwECazYCAAsgAyAMIAYbIQwgACgCoCkiBEECSA0ACwsgASAMNgIEIARBAXYhBgNAIAAgBkECdGpBrBdqKAIAIQkCQCAGIgJBAXQiAyAESg0AIAggCUECdGohCiAAIAlqQagpaiENIAYhBQNAAkAgAyAETgRAIAMhAgwBCyAIIABBrBdqIgIgA0EBciIEQQJ0aigCACILQQJ0ai8BACIOIAggAiADQQJ0aigCACIQQQJ0ai8BACICTwRAIAIgDkcEQCADIQIMAgsgAyECIABBqClqIgMgC2otAAAgAyAQai0AAEsNAQsgBCECCyAKLwEAIgQgCCAAIAJBAnRqQawXaigCACIDQQJ0ai8BACILSQRAIAUhAgwCCwJAIAQgC0cNACANLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAAgAkECdGpBrBdqIAk2AgAgBkECTgRAIAZBAWshBiAAKAKgKSEEDAELCyAAKAKgKSEDA0AgByEGIAAgA0EBayIENgKgKSAAKAKwFyEKIAAgACADQQJ0akGsF2ooAgAiCTYCsBdBASECAkAgA0EDSA0AIAggCUECdGohDSAAIAlqQagpaiELQQIhA0EBIQUDQAJAIAMgBE4EQCADIQIMAQsgCCAAQawXaiICIANBAXIiB0ECdGooAgAiBEECdGovAQAiDiAIIAIgA0ECdGooAgAiEEECdGovAQAiAk8EQCACIA5HBEAgAyECDAILIAMhAiAAQagpaiIDIARqLQAAIAMgEGotAABLDQELIAchAgsgDS8BACIHIAggACACQQJ0akGsF2ooAgAiA0ECdGovAQAiBEkEQCAFIQIMAgsCQCAEIAdHDQAgCy0AACAAIANqQagpai0AAEsNACAFIQIMAgsgACAFQQJ0akGsF2ogAzYCACACIQUgAkEBdCIDIAAoAqApIgRMDQALC0ECIQMgAEGsF2oiByACQQJ0aiAJNgIAIAAgACgCpClBAWsiBTYCpCkgACgCsBchAiAHIAVBAnRqIAo2AgAgACAAKAKkKUEBayIFNgKkKSAHIAVBAnRqIAI2AgAgCCAGQQJ0aiINIAggAkECdGoiBS8BACAIIApBAnRqIgQvAQBqOwEAIABBqClqIgkgBmoiCyACIAlqLQAAIgIgCSAKai0AACIKIAIgCksbQQFqOgAAIAUgBjsBAiAEIAY7AQIgACAGNgKwF0EBIQVBASECAkAgACgCoCkiBEECSA0AA0AgDS8BACIKIAggAAJ/IAMgAyAETg0AGiAIIAcgA0EBciICQQJ0aigCACIEQQJ0ai8BACIOIAggByADQQJ0aigCACIQQQJ0ai8BACISTwRAIAMgDiASRw0BGiADIAQgCWotAAAgCSAQai0AAEsNARoLIAILIgJBAnRqQawXaigCACIDQQJ0ai8BACIESQRAIAUhAgwCCwJAIAQgCkcNACALLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAZBAWohByAAIAJBAnRqQawXaiAGNgIAIAAoAqApIgNBAUoNAAsgACAAKAKkKUEBayICNgKkKSAAQawXaiIDIAJBAnRqIAAoArAXNgIAIAEoAgQhCSABKAIIIgIoAhAhBiACKAIIIQogAigCBCEQIAIoAgAhDSABKAIAIQcgAEGkF2pCADcBACAAQZwXakIANwEAIABBlBdqQgA3AQAgAEGMF2oiAUIANwEAQQAhBSAHIAMgACgCpClBAnRqKAIAQQJ0akEAOwECAkAgACgCpCkiAkG7BEoNACACQQFqIQIDQCAHIAAgAkECdGpBrBdqKAIAIgRBAnQiEmoiCyAHIAsvAQJBAnRqLwECIgNBAWogBiADIAZJGyIOOwECIAMgBk8hEwJAIAQgCUoNACAAIA5BAXRqQYwXaiIDIAMvAQBBAWo7AQBBACEDIAQgCk4EQCAQIAQgCmtBAnRqKAIAIQMLIBEgESgCACALLwEAIgQgAyAOamxqNgIAIA1FDQAgDyAPKAIAIAMgDSASai8BAmogBGxqNgIACyAFIBNqIQUgAkEBaiICQb0ERw0ACyAFRQ0AIAAgBkEBdGpBjBdqIQQDQCAGIQIDQCAAIAIiA0EBayICQQF0akGMF2oiDy8BACIKRQ0ACyAPIApBAWs7AQAgACADQQF0akGMF2oiAiACLwEAQQJqOwEAIAQgBC8BAEEBayIDOwEAIAVBAkohAiAFQQJrIQUgAg0ACyAGRQ0AQb0EIQIDQCADQf//A3EiBQRAA0AgACACQQFrIgJBAnRqQawXaigCACIDIAlKDQAgByADQQJ0aiIDLwECIAZHBEAgESARKAIAIAYgAy8BAGxqIgQ2AgAgESAEIAMvAQAgAy8BAmxrNgIAIAMgBjsBAgsgBUEBayIFDQALCyAGQQFrIgZFDQEgACAGQQF0akGMF2ovAQAhAwwACwALIwBBIGsiAiABIgAvAQBBAXQiATsBAiACIAEgAC8BAmpBAXQiATsBBCACIAEgAC8BBGpBAXQiATsBBiACIAEgAC8BBmpBAXQiATsBCCACIAEgAC8BCGpBAXQiATsBCiACIAEgAC8BCmpBAXQiATsBDCACIAEgAC8BDGpBAXQiATsBDiACIAEgAC8BDmpBAXQiATsBECACIAEgAC8BEGpBAXQiATsBEiACIAEgAC8BEmpBAXQiATsBFCACIAEgAC8BFGpBAXQiATsBFiACIAEgAC8BFmpBAXQiATsBGCACIAEgAC8BGGpBAXQiATsBGiACIAEgAC8BGmpBAXQiATsBHCACIAAvARwgAWpBAXQ7AR5BACEAIAxBAE4EQANAIAggAEECdGoiAy8BAiIBBEAgAiABQQF0aiIFIAUvAQAiBUEBajsBACADIAWtQoD+A4NCCIhCgpCAgQh+QpDCiKKIAYNCgYKEiBB+QiCIp0H/AXEgBUH/AXGtQoKQgIEIfkKQwoiiiAGDQoGChIgQfkIYiKdBgP4DcXJBECABa3Y7AQALIAAgDEchASAAQQFqIQAgAQ0ACwsLcgEBfyMAQRBrIgQkAAJ/QQAgAEUNABogAEEIaiEAIAFFBEAgAlBFBEAgAARAIABBADYCBCAAQRI2AgALQQAMAgtBAEIAIAMgABA6DAELIAQgAjcDCCAEIAE2AgAgBEIBIAMgABA6CyEAIARBEGokACAACyIAIAAgASACIAMQJiIARQRAQQAPCyAAKAIwQQAgAiADECULAwABC8gFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEBRgRAIAMgAS0AAGpB8f8DcCIAIARqQfH/A3BBEHQgAHIPCwJAIAEEfyACQRBJDQECQCACQa8rSwRAA0AgAkGwK2shAkG1BSEFIAEhAANAIAMgAC0AAGoiAyAEaiADIAAtAAFqIgNqIAMgAC0AAmoiA2ogAyAALQADaiIDaiADIAAtAARqIgNqIAMgAC0ABWoiA2ogAyAALQAGaiIDaiADIAAtAAdqIgNqIQQgBQRAIABBCGohACAFQQFrIQUMAQsLIARB8f8DcCEEIANB8f8DcCEDIAFBsCtqIQEgAkGvK0sNAAsgAkEISQ0BCwNAIAMgAS0AAGoiACAEaiAAIAEtAAFqIgBqIAAgAS0AAmoiAGogACABLQADaiIAaiAAIAEtAARqIgBqIAAgAS0ABWoiAGogACABLQAGaiIAaiAAIAEtAAdqIgNqIQQgAUEIaiEBIAJBCGsiAkEHSw0ACwsCQCACRQ0AIAJBAWshBiACQQNxIgUEQCABIQADQCACQQFrIQIgAyAALQAAaiIDIARqIQQgAEEBaiIBIQAgBUEBayIFDQALCyAGQQNJDQADQCADIAEtAABqIgAgAS0AAWoiBSABLQACaiIGIAEtAANqIgMgBiAFIAAgBGpqamohBCABQQRqIQEgAkEEayICDQALCyADQfH/A3AgBEHx/wNwQRB0cgVBAQsPCwJAIAJFDQAgAkEBayEGIAJBA3EiBQRAIAEhAANAIAJBAWshAiADIAAtAABqIgMgBGohBCAAQQFqIgEhACAFQQFrIgUNAAsLIAZBA0kNAANAIAMgAS0AAGoiACABLQABaiIFIAEtAAJqIgYgAS0AA2oiAyAGIAUgACAEampqaiEEIAFBBGohASACQQRrIgINAAsLIANB8f8DcCAEQfH/A3BBEHRyCx8AIAAgAiADQcCAASgCABEAACEAIAEgAiADEAcaIAALIwAgACAAKAJAIAIgA0HUgAEoAgARAAA2AkAgASACIAMQBxoLzSoCGH8HfiAAKAIMIgIgACgCECIDaiEQIAMgAWshASAAKAIAIgUgACgCBGohA0F/IAAoAhwiBygCpAF0IQRBfyAHKAKgAXQhCyAHKAI4IQwCf0EAIAcoAiwiEUUNABpBACACIAxJDQAaIAJBhAJqIAwgEWpNCyEWIBBBgwJrIRMgASACaiEXIANBDmshFCAEQX9zIRggC0F/cyESIAcoApwBIRUgBygCmAEhDSAHKAKIASEIIAc1AoQBIR0gBygCNCEOIAcoAjAhGSAQQQFqIQ8DQCAIQThyIQYgBSAIQQN2QQdxayELAn8gAiANIAUpAAAgCK2GIB2EIh2nIBJxQQJ0IgFqIgMtAAAiBA0AGiACIAEgDWoiAS0AAjoAACAGIAEtAAEiAWshBiACQQFqIA0gHSABrYgiHacgEnFBAnQiAWoiAy0AACIEDQAaIAIgASANaiIDLQACOgABIAYgAy0AASIDayEGIA0gHSADrYgiHacgEnFBAnRqIgMtAAAhBCACQQJqCyEBIAtBB2ohBSAGIAMtAAEiAmshCCAdIAKtiCEdAkACQAJAIARB/wFxRQ0AAkACQAJAAkACQANAIARBEHEEQCAVIB0gBK1CD4OIIhqnIBhxQQJ0aiECAn8gCCAEQQ9xIgZrIgRBG0sEQCAEIQggBQwBCyAEQThyIQggBSkAACAErYYgGoQhGiAFIARBA3ZrQQdqCyELIAMzAQIhGyAIIAItAAEiA2shCCAaIAOtiCEaIAItAAAiBEEQcQ0CA0AgBEHAAHFFBEAgCCAVIAIvAQJBAnRqIBqnQX8gBHRBf3NxQQJ0aiICLQABIgNrIQggGiADrYghGiACLQAAIgRBEHFFDQEMBAsLIAdB0f4ANgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsiAw0ACwsgAUEHSQ0BA0AgACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAQQhqIQAgAkEIaiECIARBCGsiBA0ACwwBCyAERQ0AIAAgASAEED8hAAsgAAvyCAEXfyAAKAJoIgwgACgCMEGGAmsiBWtBACAFIAxJGyENIAAoAnQhAiAAKAKQASEPIAAoAkgiDiAMaiIJIAAoAnAiBUECIAUbIgVBAWsiBmoiAy0AASESIAMtAAAhEyAGIA5qIQZBAyEDIAAoApQBIRYgACgCPCEUIAAoAkwhECAAKAI4IRECQAJ/IAVBA0kEQCANIQggDgwBCyAAIABBACAJLQABIAAoAnwRAAAgCS0AAiAAKAJ8EQAAIQoDQCAAIAogAyAJai0AACAAKAJ8EQAAIQogACgCUCAKQQF0ai8BACIIIAEgCCABQf//A3FJIggbIQEgA0ECayAHIAgbIQcgA0EBaiIDIAVNDQALIAFB//8DcSAHIA1qIghB//8DcU0NASAGIAdB//8DcSIDayEGIA4gA2sLIQMCQAJAIAwgAUH//wNxTQ0AIAIgAkECdiAFIA9JGyEKIA1B//8DcSEVIAlBAmohDyAJQQRrIRcDQAJAAkAgBiABQf//A3EiC2otAAAgE0cNACAGIAtBAWoiAWotAAAgEkcNACADIAtqIgItAAAgCS0AAEcNACABIANqLQAAIAktAAFGDQELIApBAWsiCkUNAiAQIAsgEXFBAXRqLwEAIgEgCEH//wNxSw0BDAILIAJBAmohAUEAIQQgDyECAkADQCACLQAAIAEtAABHDQEgAi0AASABLQABRwRAIARBAXIhBAwCCyACLQACIAEtAAJHBEAgBEECciEEDAILIAItAAMgAS0AA0cEQCAEQQNyIQQMAgsgAi0ABCABLQAERwRAIARBBHIhBAwCCyACLQAFIAEtAAVHBEAgBEEFciEEDAILIAItAAYgAS0ABkcEQCAEQQZyIQQMAgsgAi0AByABLQAHRwRAIARBB3IhBAwCCyABQQhqIQEgAkEIaiECIARB+AFJIRggBEEIaiEEIBgNAAtBgAIhBAsCQAJAIAUgBEECaiICSQRAIAAgCyAHQf//A3FrIgY2AmwgAiAUSwRAIBQPCyACIBZPBEAgAg8LIAkgBEEBaiIFaiIBLQABIRIgAS0AACETAkAgAkEESQ0AIAIgBmogDE8NACAGQf//A3EhCCAEQQFrIQtBACEDQQAhBwNAIBAgAyAIaiARcUEBdGovAQAiASAGQf//A3FJBEAgAyAVaiABTw0IIAMhByABIQYLIANBAWoiAyALTQ0ACyAAIAAgAEEAIAIgF2oiAS0AACAAKAJ8EQAAIAEtAAEgACgCfBEAACABLQACIAAoAnwRAAAhASAAKAJQIAFBAXRqLwEAIgEgBkH//wNxTwRAIAdB//8DcSEDIAYhAQwDCyAEQQJrIgdB//8DcSIDIBVqIAFPDQYMAgsgAyAFaiEGIAIhBQsgCkEBayIKRQ0DIBAgCyARcUEBdGovAQAiASAIQf//A3FNDQMMAQsgByANaiEIIA4gA2siAyAFaiEGIAIhBQsgDCABQf//A3FLDQALCyAFDwsgAiEFCyAFIAAoAjwiACAAIAVLGwuGBQETfyAAKAJ0IgMgA0ECdiAAKAJwIgNBAiADGyIDIAAoApABSRshByAAKAJoIgogACgCMEGGAmsiBWtB//8DcUEAIAUgCkkbIQwgACgCSCIIIApqIgkgA0EBayICaiIFLQABIQ0gBS0AACEOIAlBAmohBSACIAhqIQsgACgClAEhEiAAKAI8IQ8gACgCTCEQIAAoAjghESAAKAKIAUEFSCETA0ACQCAKIAFB//8DcU0NAANAAkACQCALIAFB//8DcSIGai0AACAORw0AIAsgBkEBaiIBai0AACANRw0AIAYgCGoiAi0AACAJLQAARw0AIAEgCGotAAAgCS0AAUYNAQsgB0EBayIHRQ0CIAwgECAGIBFxQQF0ai8BACIBSQ0BDAILCyACQQJqIQRBACECIAUhAQJAA0AgAS0AACAELQAARw0BIAEtAAEgBC0AAUcEQCACQQFyIQIMAgsgAS0AAiAELQACRwRAIAJBAnIhAgwCCyABLQADIAQtAANHBEAgAkEDciECDAILIAEtAAQgBC0ABEcEQCACQQRyIQIMAgsgAS0ABSAELQAFRwRAIAJBBXIhAgwCCyABLQAGIAQtAAZHBEAgAkEGciECDAILIAEtAAcgBC0AB0cEQCACQQdyIQIMAgsgBEEIaiEEIAFBCGohASACQfgBSSEUIAJBCGohAiAUDQALQYACIQILAkAgAyACQQJqIgFJBEAgACAGNgJsIAEgD0sEQCAPDwsgASASTwRAIAEPCyAIIAJBAWoiA2ohCyADIAlqIgMtAAEhDSADLQAAIQ4gASEDDAELIBMNAQsgB0EBayIHRQ0AIAwgECAGIBFxQQF0ai8BACIBSQ0BCwsgAwvLAQECfwJAA0AgAC0AACABLQAARw0BIAAtAAEgAS0AAUcEQCACQQFyDwsgAC0AAiABLQACRwRAIAJBAnIPCyAALQADIAEtAANHBEAgAkEDcg8LIAAtAAQgAS0ABEcEQCACQQRyDwsgAC0ABSABLQAFRwRAIAJBBXIPCyAALQAGIAEtAAZHBEAgAkEGcg8LIAAtAAcgAS0AB0cEQCACQQdyDwsgAUEIaiEBIABBCGohACACQfgBSSEDIAJBCGohAiADDQALQYACIQILIAIL5wwBB38gAEF/cyEAIAJBF08EQAJAIAFBA3FFDQAgAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAkEBayIEQQAgAUEBaiIDQQNxG0UEQCAEIQIgAyEBDAELIAEtAAEgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohAwJAIAJBAmsiBEUNACADQQNxRQ0AIAEtAAIgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBA2ohAwJAIAJBA2siBEUNACADQQNxRQ0AIAEtAAMgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBBGohASACQQRrIQIMAgsgBCECIAMhAQwBCyAEIQIgAyEBCyACQRRuIgNBbGwhCQJAIANBAWsiCEUEQEEAIQQMAQsgA0EUbCABakEUayEDQQAhBANAIAEoAhAgB3MiB0EWdkH8B3FB0DhqKAIAIAdBDnZB/AdxQdAwaigCACAHQQZ2QfwHcUHQKGooAgAgB0H/AXFBAnRB0CBqKAIAc3NzIQcgASgCDCAGcyIGQRZ2QfwHcUHQOGooAgAgBkEOdkH8B3FB0DBqKAIAIAZBBnZB/AdxQdAoaigCACAGQf8BcUECdEHQIGooAgBzc3MhBiABKAIIIAVzIgVBFnZB/AdxQdA4aigCACAFQQ52QfwHcUHQMGooAgAgBUEGdkH8B3FB0ChqKAIAIAVB/wFxQQJ0QdAgaigCAHNzcyEFIAEoAgQgBHMiBEEWdkH8B3FB0DhqKAIAIARBDnZB/AdxQdAwaigCACAEQQZ2QfwHcUHQKGooAgAgBEH/AXFBAnRB0CBqKAIAc3NzIQQgASgCACAAcyIAQRZ2QfwHcUHQOGooAgAgAEEOdkH8B3FB0DBqKAIAIABBBnZB/AdxQdAoaigCACAAQf8BcUECdEHQIGooAgBzc3MhACABQRRqIQEgCEEBayIIDQALIAMhAQsgAiAJaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACAAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgBHNzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBB/wFxQQJ0QdAYaigCACAFc3MgAEEIdnMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEH/AXFBAnRB0BhqKAIAIAZzcyAAQQh2cyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgB3NzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyEAIAFBFGohAQsgAkEHSwRAA0AgAS0AByABLQAGIAEtAAUgAS0ABCABLQADIAEtAAIgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBCGohASACQQhrIgJBB0sNAAsLAkAgAkUNACACQQFxBH8gAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAUEBaiEBIAJBAWsFIAILIQMgAkEBRg0AA0AgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohASADQQJrIgMNAAsLIABBf3MLwgIBA38jAEEQayIIJAACfwJAIAAEQCAEDQEgBVANAQsgBgRAIAZBADYCBCAGQRI2AgALQQAMAQtBgAEQCSIHRQRAIAYEQCAGQQA2AgQgBkEONgIAC0EADAELIAcgATcDCCAHQgA3AwAgB0EoaiIJECogByAFNwMYIAcgBDYCECAHIAM6AGAgB0EANgJsIAdCADcCZCAAKQMYIQEgCEF/NgIIIAhCjoCAgPAANwMAIAdBECAIECQgAUL/gQGDhCIBNwNwIAcgAadBBnZBAXE6AHgCQCACRQ0AIAkgAhBgQX9KDQAgBxAGQQAMAQsgBhBfIgIEQCAAIAAoAjBBAWo2AjAgAiAHNgIIIAJBATYCBCACIAA2AgAgAkI/IAAgB0EAQgBBDkEBEQoAIgEgAUIAUxs3AxgLIAILIQAgCEEQaiQAIAALYgEBf0E4EAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAFBADYCCCABQgA3AwAgAUIANwMgIAFCgICAgBA3AiwgAUEAOgAoIAFBADYCFCABQgA3AgwgAUEAOwE0IAELuwEBAX4gASkDACICQgKDUEUEQCAAIAEpAxA3AxALIAJCBINQRQRAIAAgASkDGDcDGAsgAkIIg1BFBEAgACABKQMgNwMgCyACQhCDUEUEQCAAIAEoAig2AigLIAJCIINQRQRAIAAgASgCLDYCLAsgAkLAAINQRQRAIAAgAS8BMDsBMAsgAkKAAYNQRQRAIAAgAS8BMjsBMgsgAkKAAoNQRQRAIAAgASgCNDYCNAsgACAAKQMAIAKENwMAQQALGQAgAUUEQEEADwsgACABKAIAIAEzAQQQGws3AQJ/IABBACABG0UEQCAAIAFGDwsgAC8BBCIDIAEvAQRGBH8gACgCACABKAIAIAMQPQVBAQtFCyIBAX8gAUUEQEEADwsgARAJIgJFBEBBAA8LIAIgACABEAcLKQAgACABIAIgAyAEEEUiAEUEQEEADwsgACACQQAgBBA1IQEgABAGIAELcQEBfgJ/AkAgAkJ/VwRAIAMEQCADQQA2AgQgA0EUNgIACwwBCyAAIAEgAhARIgRCf1cEQCADBEAgAyAAKAIMNgIAIAMgACgCEDYCBAsMAQtBACACIARXDQEaIAMEQCADQQA2AgQgA0ERNgIACwtBfwsLNQAgACABIAJBABAmIgBFBEBBfw8LIAMEQCADIAAtAAk6AAALIAQEQCAEIAAoAkQ2AgALQQAL/AECAn8BfiMAQRBrIgMkAAJAIAAgA0EOaiABQYAGQQAQRiIARQRAIAIhAAwBCyADLwEOIgFBBUkEQCACIQAMAQsgAC0AAEEBRwRAIAIhAAwBCyAAIAGtQv//A4MQFyIBRQRAIAIhAAwBCyABEH0aAkAgARAVIAIEfwJ/IAIvAQQhAEEAIAIoAgAiBEUNABpBACAEIABB1IABKAIAEQAACwVBAAtHBEAgAiEADAELIAEgAS0AAAR+IAEpAwggASkDEH0FQgALIgVC//8DgxATIAWnQf//A3FBgBBBABA1IgBFBEAgAiEADAELIAIQEAsgARAICyADQRBqJAAgAAvmDwIIfwJ+IwBB4ABrIgckAEEeQS4gAxshCwJAAkAgAgRAIAIiBSIGLQAABH4gBikDCCAGKQMQfQVCAAsgC61aDQEgBARAIARBADYCBCAEQRM2AgALQn8hDQwCCyABIAutIAcgBBAtIgUNAEJ/IQ0MAQsgBUIEEBMoAABBoxJBqBIgAxsoAABHBEAgBARAIARBADYCBCAEQRM2AgALQn8hDSACDQEgBRAIDAELIABCADcDICAAQQA2AhggAEL/////DzcDECAAQQA7AQwgAEG/hig2AgggAEEBOgAGIABBADsBBCAAQQA2AgAgAEIANwNIIABBgIDYjXg2AkQgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0EAOwEAIABCADcDUCAAIAMEf0EABSAFEAwLOwEIIAAgBRAMOwEKIAAgBRAMOwEMIAAgBRAMNgIQIAUQDCEGIAUQDCEJIAdBADYCWCAHQgA3A1AgB0IANwNIIAcgCUEfcTYCPCAHIAZBC3Y2AjggByAGQQV2QT9xNgI0IAcgBkEBdEE+cTYCMCAHIAlBCXZB0ABqNgJEIAcgCUEFdkEPcUEBazYCQCAAIAdBMGoQBTYCFCAAIAUQFTYCGCAAIAUQFa03AyAgACAFEBWtNwMoIAUQDCEIIAUQDCEGIAACfiADBEBBACEJIABBADYCRCAAQQA7AUAgAEEANgI8QgAMAQsgBRAMIQkgACAFEAw2AjwgACAFEAw7AUAgACAFEBU2AkQgBRAVrQs3A0ggBS0AAEUEQCAEBEAgBEEANgIEIARBFDYCAAtCfyENIAINASAFEAgMAQsCQCAALwEMIgpBAXEEQCAKQcAAcQRAIABB//8DOwFSDAILIABBATsBUgwBCyAAQQA7AVILIABBADYCOCAAQgA3AzAgBiAIaiAJaiEKAkAgAgRAIAUtAAAEfiAFKQMIIAUpAxB9BUIACyAKrVoNASAEBEAgBEEANgIEIARBFTYCAAtCfyENDAILIAUQCCABIAqtQQAgBBAtIgUNAEJ/IQ0MAQsCQCAIRQ0AIAAgBSABIAhBASAEEGQiCDYCMCAIRQRAIAQoAgBBEUYEQCAEBEAgBEEANgIEIARBFTYCAAsLQn8hDSACDQIgBRAIDAILIAAtAA1BCHFFDQAgCEECECNBBUcNACAEBEAgBEEANgIEIARBFTYCAAtCfyENIAINASAFEAgMAQsgAEE0aiEIAkAgBkUNACAFIAEgBkEAIAQQRSIMRQRAQn8hDSACDQIgBRAIDAILIAwgBkGAAkGABCADGyAIIAQQbiEGIAwQBiAGRQRAQn8hDSACDQIgBRAIDAILIANFDQAgAEEBOgAECwJAIAlFDQAgACAFIAEgCUEAIAQQZCIBNgI4IAFFBEBCfyENIAINAiAFEAgMAgsgAC0ADUEIcUUNACABQQIQI0EFRw0AIAQEQCAEQQA2AgQgBEEVNgIAC0J/IQ0gAg0BIAUQCAwBCyAAIAAoAjRB9eABIAAoAjAQZzYCMCAAIAAoAjRB9cYBIAAoAjgQZzYCOAJAAkAgACkDKEL/////D1ENACAAKQMgQv////8PUQ0AIAApA0hC/////w9SDQELAkACQAJAIAgoAgAgB0EwakEBQYACQYAEIAMbIAQQRiIBRQRAIAJFDQEMAgsgASAHMwEwEBciAUUEQCAEBEAgBEEANgIEIARBDjYCAAsgAkUNAQwCCwJAIAApAyhC/////w9RBEAgACABEB03AygMAQsgA0UNAEEAIQYCQCABKQMQIg5CCHwiDSAOVA0AIAEpAwggDVQNACABIA03AxBBASEGCyABIAY6AAALIAApAyBC/////w9RBEAgACABEB03AyALAkAgAw0AIAApA0hC/////w9RBEAgACABEB03A0gLIAAoAjxB//8DRw0AIAAgARAVNgI8CyABLQAABH8gASkDECABKQMIUQVBAAsNAiAEBEAgBEEANgIEIARBFTYCAAsgARAIIAINAQsgBRAIC0J/IQ0MAgsgARAICyAFLQAARQRAIAQEQCAEQQA2AgQgBEEUNgIAC0J/IQ0gAg0BIAUQCAwBCyACRQRAIAUQCAtCfyENIAApA0hCf1cEQCAEBEAgBEEWNgIEIARBBDYCAAsMAQsjAEEQayIDJABBASEBAkAgACgCEEHjAEcNAEEAIQECQCAAKAI0IANBDmpBgbICQYAGQQAQRiICBEAgAy8BDiIFQQZLDQELIAQEQCAEQQA2AgQgBEEVNgIACwwBCyACIAWtQv//A4MQFyICRQRAIAQEQCAEQQA2AgQgBEEUNgIACwwBC0EBIQECQAJAAkAgAhAMQQFrDgICAQALQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAILIAApAyhCE1YhAQsgAkICEBMvAABBwYoBRwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAIQfUEBayIFQf8BcUEDTwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAMvAQ5BB0cEQEEAIQEgBARAIARBADYCBCAEQRU2AgALIAIQCAwBCyAAIAE6AAYgACAFQf8BcUGBAmo7AVIgACACEAw2AhAgAhAIQQEhAQsgA0EQaiQAIAFFDQAgCCAIKAIAEG02AgAgCiALaq0hDQsgB0HgAGokACANC4ECAQR/IwBBEGsiBCQAAkAgASAEQQxqQcAAQQAQJSIGRQ0AIAQoAgxBBWoiA0GAgARPBEAgAgRAIAJBADYCBCACQRI2AgALDAELQQAgA60QFyIDRQRAIAIEQCACQQA2AgQgAkEONgIACwwBCyADQQEQcCADIAEEfwJ/IAEvAQQhBUEAIAEoAgAiAUUNABpBACABIAVB1IABKAIAEQAACwVBAAsQEiADIAYgBCgCDBAsAn8gAy0AAEUEQCACBEAgAkEANgIEIAJBFDYCAAtBAAwBCyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwDCwJAAkBBEBAJIgUEQCAFIAY7AQogBSAHOwEIIAUgAjYCBCAFQQA2AgAgBkUNASAFIAggBhBjIgY2AgwgBg0CIAUQBgtBACECIAQEQCAEQQA2AgQgBEEONgIACyABEAggAEUNBANAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwECyAFQQA2AgwLAkAgAEUEQCAFIQAMAQsgCSAFNgIACyAFIQkgAS0AAA0ACwsCQCABLQAABH8gASkDECABKQMIUQVBAAsNACABIAEtAAAEfiABKQMIIAEpAxB9BUIACyIKQv////8PgxATIQICQCAKpyIFQQNLDQAgAkUNACACQcEUIAUQPUUNAQtBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAQNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwBCyABEAggAwRAIAMgADYCAEEBDwtBASECIABFDQADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLIAILvgEBBX8gAAR/IAAhAgNAIAIiBCgCACICDQALIAEEQANAIAEiAy8BCCEGIAMoAgAhASAAIQICQAJAA0ACQCACLwEIIAZHDQAgAi8BCiIFIAMvAQpHDQAgBUUNAiACKAIMIAMoAgwgBRA9RQ0CCyACKAIAIgINAAsgA0EANgIAIAQgAzYCACADIQQMAQsgAiACKAIEIAMoAgRBgAZxcjYCBCADQQA2AgAgAygCDBAGIAMQBgsgAQ0ACwsgAAUgAQsLVQICfgF/AkACQCAALQAARQ0AIAApAxAiAkIBfCIDIAJUDQAgAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2ogAToAAAt9AQN/IwBBEGsiAiQAIAIgATYCDEF/IQMCQCAALQAoDQACQCAAKAIAIgRFDQAgBCABEHFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQsgACACQQxqQgRBExAOQj+HpyEDCyACQRBqJAAgAwvdAQEDfyABIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8PCyAAQQhqIQIgAC0AGEECcQRAIAIEQCACQQA2AgQgAkEZNgIAC0F/DwtBfyEDAkAgACABQQAgAhBTIgRFDQAgACgCUCAEIAIQfkUNAAJ/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfwwBCyABp0EEdCICIAAoAkBqKAIEECAgACgCQCACaiICQQA2AgQgAhBAQQALDQAgACgCQCABp0EEdGpBAToADEEAIQMLIAMLpgIBBX9BfyEFAkAgACABQQBBABAmRQ0AIAAtABhBAnEEQCAAQQhqIgAEQCAAQQA2AgQgAEEZNgIAC0F/DwsCfyAAKAJAIgQgAaciBkEEdGooAgAiBUUEQCADQYCA2I14RyEHQQMMAQsgBSgCRCADRyEHIAUtAAkLIQggBCAGQQR0aiIEIQYgBCgCBCEEQQAgAiAIRiAHG0UEQAJAIAQNACAGIAUQKyIENgIEIAQNACAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0F/DwsgBCADNgJEIAQgAjoACSAEIAQoAgBBEHI2AgBBAA8LQQAhBSAERQ0AIAQgBCgCAEFvcSIANgIAIABFBEAgBBAgIAZBADYCBEEADwsgBCADNgJEIAQgCDoACQsgBQvjCAIFfwR+IAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtCfw8LIAApAzAhCwJAIANBgMAAcQRAIAAgASADQQAQTCIJQn9SDQELAn4CQAJAIAApAzAiCUIBfCIMIAApAzgiClQEQCAAKAJAIQQMAQsgCkIBhiIJQoAIIAlCgAhUGyIJQhAgCUIQVhsgCnwiCadBBHQiBK0gCkIEhkLw////D4NUDQEgACgCQCAEEDQiBEUNASAAIAk3AzggACAENgJAIAApAzAiCUIBfCEMCyAAIAw3AzAgBCAJp0EEdGoiBEIANwIAIARCADcABSAJDAELIABBCGoEQCAAQQA2AgwgAEEONgIIC0J/CyIJQgBZDQBCfw8LAkAgAUUNAAJ/QQAhBCAJIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8MAQsgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAELAkAgAUUNACABLQAARQ0AQX8gASABECJB//8DcSADIABBCGoQNSIERQ0BGiADQYAwcQ0AIARBABAjQQNHDQAgBEECNgIICwJAIAAgAUEAQQAQTCIKQgBTIgENACAJIApRDQAgBBAQIABBCGoEQCAAQQA2AgwgAEEKNgIIC0F/DAELAkAgAUEBIAkgClEbRQ0AAkACfwJAIAAoAkAiASAJpyIFQQR0aiIGKAIAIgMEQCADKAIwIAQQYg0BCyAEIAYoAgQNARogBiAGKAIAECsiAzYCBCAEIAMNARogAEEIagRAIABBADYCDCAAQQ42AggLDAILQQEhByAGKAIAKAIwC0EAQQAgAEEIaiIDECUiCEUNAAJAAkAgASAFQQR0aiIFKAIEIgENACAGKAIAIgENAEEAIQEMAQsgASgCMCIBRQRAQQAhAQwBCyABQQBBACADECUiAUUNAQsgACgCUCAIIAlBACADEE1FDQAgAQRAIAAoAlAgAUEAEH4aCyAFKAIEIQMgBwRAIANFDQIgAy0AAEECcUUNAiADKAIwEBAgBSgCBCIBIAEoAgBBfXEiAzYCACADRQRAIAEQICAFQQA2AgQgBBAQQQAMBAsgASAGKAIAKAIwNgIwIAQQEEEADAMLIAMoAgAiAUECcQRAIAMoAjAQECAFKAIEIgMoAgAhAQsgAyAENgIwIAMgAUECcjYCAEEADAILIAQQEEF/DAELIAQQEEEAC0UNACALIAApAzBRBEBCfw8LIAAoAkAgCadBBHRqED4gACALNwMwQn8PCyAJpyIGQQR0IgEgACgCQGoQQAJAAkAgACgCQCIEIAFqIgMoAgAiBUUNAAJAIAMoAgQiAwRAIAMoAgAiAEEBcUUNAQwCCyAFECshAyAAKAJAIgQgBkEEdGogAzYCBCADRQ0CIAMoAgAhAAsgA0F+NgIQIAMgAEEBcjYCAAsgASAEaiACNgIIIAkPCyAAQQhqBEAgAEEANgIMIABBDjYCCAtCfwteAQF/IwBBEGsiAiQAAn8gACgCJEEBRwRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQX8MAQsgAkEANgIIIAIgATcDACAAIAJCEEEMEA5CP4enCyEAIAJBEGokACAAC9oDAQZ/IwBBEGsiBSQAIAUgAjYCDCMAQaABayIEJAAgBEEIakHA8ABBkAEQBxogBCAANgI0IAQgADYCHCAEQX4gAGsiA0H/////ByADQf////8HSRsiBjYCOCAEIAAgBmoiADYCJCAEIAA2AhggBEEIaiEAIwBB0AFrIgMkACADIAI2AswBIANBoAFqQQBBKBAZIAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEEpBAEgNACAAKAJMQQBOIQcgACgCACECIAAsAEpBAEwEQCAAIAJBX3E2AgALIAJBIHEhCAJ/IAAoAjAEQCAAIAEgA0HIAWogA0HQAGogA0GgAWoQSgwBCyAAQdAANgIwIAAgA0HQAGo2AhAgACADNgIcIAAgAzYCFCAAKAIsIQIgACADNgIsIAAgASADQcgBaiADQdAAaiADQaABahBKIAJFDQAaIABBAEEAIAAoAiQRAAAaIABBADYCMCAAIAI2AiwgAEEANgIcIABBADYCECAAKAIUGiAAQQA2AhRBAAsaIAAgACgCACAIcjYCACAHRQ0ACyADQdABaiQAIAYEQCAEKAIcIgAgACAEKAIYRmtBADoAAAsgBEGgAWokACAFQRBqJAALUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEAEQcACwubAgAgAEUEQEEADwsCfwJAIAAEfyABQf8ATQ0BAkBB9IIBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDAQLIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMBAsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMBAsLQYSEAUEZNgIAQX8FQQELDAELIAAgAToAAEEBCwvjAQECfyACQQBHIQMCQAJAAkAgAEEDcUUNACACRQ0AIAFB/wFxIQQDQCAALQAAIARGDQIgAkEBayICQQBHIQMgAEEBaiIAQQNxRQ0BIAINAAsLIANFDQELAkAgAC0AACABQf8BcUYNACACQQRJDQAgAUH/AXFBgYKECGwhAwNAIAAoAgAgA3MiBEF/cyAEQYGChAhrcUGAgYKEeHENASAAQQRqIQAgAkEEayICQQNLDQALCyACRQ0AIAFB/wFxIQEDQCABIAAtAABGBEAgAA8LIABBAWohACACQQFrIgINAAsLQQALeQEBfAJAIABFDQAgACsDECAAKwMgIgIgAUQAAAAAAAAAACABRAAAAAAAAAAAZBsiAUQAAAAAAADwPyABRAAAAAAAAPA/YxsgACsDKCACoaKgIgEgACsDGKFjRQ0AIAAoAgAgASAAKAIMIAAoAgQRDgAgACABOQMYCwtIAQF8AkAgAEUNACAAKwMQIAArAyAiASAAKwMoIAGhoCIBIAArAxihY0UNACAAKAIAIAEgACgCDCAAKAIEEQ4AIAAgATkDGAsLWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC4IEAgZ/AX4gAEEAIAEbRQRAIAIEQCACQQA2AgQgAkESNgIAC0EADwsCQAJAIAApAwhQDQAgACgCECABLQAAIgQEf0Kl6wohCSABIQMDQCAJIAStQv8Bg3whCSADLQABIgQEQCADQQFqIQMgCUL/////D4NCIX4hCQwBCwsgCacFQYUqCyIEIAAoAgBwQQJ0aiIGKAIAIgNFDQADQAJAIAMoAhwgBEcNACABIAMoAgAQOA0AAkAgAykDCEJ/UQRAIAMoAhghAQJAIAUEQCAFIAE2AhgMAQsgBiABNgIACyADEAYgACAAKQMIQgF9Igk3AwggCbogACgCACIBuER7FK5H4XqEP6JjRQ0BIAFBgQJJDQECf0EAIQMgACgCACIGIAFBAXYiBUcEQCAFEDwiB0UEQCACBEAgAkEANgIEIAJBDjYCAAtBAAwCCwJAIAApAwhCACAGG1AEQCAAKAIQIQQMAQsgACgCECEEA0AgBCADQQJ0aigCACIBBEADQCABKAIYIQIgASAHIAEoAhwgBXBBAnRqIggoAgA2AhggCCABNgIAIAIiAQ0ACwsgA0EBaiIDIAZHDQALCyAEEAYgACAFNgIAIAAgBzYCEAtBAQsNAQwFCyADQn83AxALQQEPCyADIgUoAhgiAw0ACwsgAgRAIAJBADYCBCACQQk2AgALC0EAC6UGAgl/AX4jAEHwAGsiBSQAAkACQCAARQ0AAkAgAQRAIAEpAzAgAlYNAQtBACEDIABBCGoEQCAAQQA2AgwgAEESNgIICwwCCwJAIANBCHENACABKAJAIAKnQQR0aiIGKAIIRQRAIAYtAAxFDQELQQAhAyAAQQhqBEAgAEEANgIMIABBDzYCCAsMAgsgASACIANBCHIgBUE4ahCKAUF/TARAQQAhAyAAQQhqBEAgAEEANgIMIABBFDYCCAsMAgsgA0EDdkEEcSADciIGQQRxIQcgBSkDUCEOIAUvAWghCQJAIANBIHFFIAUvAWpBAEdxIgtFDQAgBA0AIAAoAhwiBA0AQQAhAyAAQQhqBEAgAEEANgIMIABBGjYCCAsMAgsgBSkDWFAEQCAAQQBCAEEAEFIhAwwCCwJAIAdFIgwgCUEAR3EiDUEBckUEQEEAIQMgBUEAOwEwIAUgDjcDICAFIA43AxggBSAFKAJgNgIoIAVC3AA3AwAgASgCACAOIAVBACABIAIgAEEIahBeIgYNAQwDC0EAIQMgASACIAYgAEEIaiIGECYiB0UNAiABKAIAIAUpA1ggBUE4aiAHLwEMQQF2QQNxIAEgAiAGEF4iBkUNAgsCfyAGIAE2AiwCQCABKAJEIghBAWoiCiABKAJIIgdJBEAgASgCTCEHDAELIAEoAkwgB0EKaiIIQQJ0EDQiB0UEQCABQQhqBEAgAUEANgIMIAFBDjYCCAtBfwwCCyABIAc2AkwgASAINgJIIAEoAkQiCEEBaiEKCyABIAo2AkQgByAIQQJ0aiAGNgIAQQALQX9MBEAgBhALDAELAkAgC0UEQCAGIQEMAQtBJkEAIAUvAWpBAUYbIgFFBEAgAEEIagRAIABBADYCDCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsCfwJ/An8gASgCBCICBEAgBCAAKAIoIAIQHiAAKAIcIQELIAEoAlAiAgsEQCAAKAIkIAAoAiggAhAeIAAoAhwhAQsgASgCTCICCwRAIAAoAiQgACgCKCACEB4gACgCHCEBCyABKAJIIgILBEAgACgCJCAAKAIoIAIQHiAAKAIcIQELIAAoAiQgACgCKCABEB4gAEEANgIcQX1BACADQfEARhshAgsgAgvrCQEIfyAAKAIwIgMgACgCDEEFayICIAIgA0sbIQggACgCACIEKAIEIQkgAUEERiEHAkADQCAEKAIQIgMgACgCoC5BKmpBA3UiAkkEQEEBIQYMAgsgCCADIAJrIgMgACgCaCAAKAJYayICIAQoAgRqIgVB//8DIAVB//8DSRsiBiADIAZJGyIDSwRAQQEhBiADQQBHIAdyRQ0CIAFFDQIgAyAFRw0CCyAAQQBBACAHIAMgBUZxIgUQOSAAIAAoAhBBBGsiBDYCECAAKAIEIARqIAM7AAAgACAAKAIQQQJqIgQ2AhAgACgCBCAEaiADQX9zOwAAIAAgACgCEEECajYCECAAKAIAEAoCfyACBEAgACgCACgCDCAAKAJIIAAoAlhqIAMgAiACIANLGyICEAcaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJYIAJqNgJYIAMgAmshAwsgAwsEQCAAKAIAIgIgAigCDCADEIMBIAAoAgAiAiACKAIMIANqNgIMIAIgAigCECADazYCECACIAIoAhQgA2o2AhQLIAAoAgAhBCAFRQ0AC0EAIQYLAkAgCSAEKAIEayICRQRAIAAoAmghAwwBCwJAIAAoAjAiAyACTQRAIABBAjYCgC4gACgCSCAEKAIAIANrIAMQBxogACAAKAIwIgM2AoQuIAAgAzYCaAwBCyACIAAoAkQgACgCaCIFa08EQCAAIAUgA2siBDYCaCAAKAJIIgUgAyAFaiAEEAcaIAAoAoAuIgNBAU0EQCAAIANBAWo2AoAuCyAAIAAoAmgiBSAAKAKELiIDIAMgBUsbNgKELiAAKAIAIQQLIAAoAkggBWogBCgCACACayACEAcaIAAgACgCaCACaiIDNgJoIAAgACgCMCAAKAKELiIEayIFIAIgAiAFSxsgBGo2AoQuCyAAIAM2AlgLIAAgAyAAKAJAIgIgAiADSRs2AkBBAyECAkAgBkUNACAAKAIAIgUoAgQhAgJAAkAgAUF7cUUNACACDQBBASECIAMgACgCWEYNAiAAKAJEIANrIQRBACECDAELIAIgACgCRCADayIETQ0AIAAoAlgiByAAKAIwIgZIDQAgACADIAZrIgM2AmggACAHIAZrNgJYIAAoAkgiAiACIAZqIAMQBxogACgCgC4iA0EBTQRAIAAgA0EBajYCgC4LIAAgACgCaCIDIAAoAoQuIgIgAiADSxs2AoQuIAAoAjAgBGohBCAAKAIAIgUoAgQhAgsCQCACIAQgAiAESRsiAkUEQCAAKAIwIQUMAQsgBSAAKAJIIANqIAIQgwEgACAAKAJoIAJqIgM2AmggACAAKAIwIgUgACgChC4iBGsiBiACIAIgBksbIARqNgKELgsgACADIAAoAkAiAiACIANJGzYCQCADIAAoAlgiBmsiAyAFIAAoAgwgACgCoC5BKmpBA3VrIgJB//8DIAJB//8DSRsiBCAEIAVLG0kEQEEAIQIgAUEERiADQQBHckUNASABRQ0BIAAoAgAoAgQNASADIARLDQELQQAhAiABQQRGBEAgACgCACgCBEUgAyAETXEhAgsgACAAKAJIIAZqIAQgAyADIARLGyIBIAIQOSAAIAAoAlggAWo2AlggACgCABAKQQJBACACGw8LIAIL/woCCn8DfiAAKQOYLiENIAAoAqAuIQQgAkEATgRAQQRBAyABLwECIggbIQlBB0GKASAIGyEFQX8hCgNAIAghByABIAsiDEEBaiILQQJ0ai8BAiEIAkACQCAGQQFqIgMgBU4NACAHIAhHDQAgAyEGDAELAkAgAyAJSARAIAAgB0ECdGoiBkHOFWohCSAGQcwVaiEKA0AgCjMBACEPAn8gBCAJLwEAIgZqIgVBP00EQCAPIASthiANhCENIAUMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIA8hDSAGDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIA9BwAAgBGutiCENIAVBQGoLIQQgA0EBayIDDQALDAELIAcEQAJAIAcgCkYEQCANIQ8gBCEFIAMhBgwBCyAAIAdBAnRqIgNBzBVqMwEAIQ8gBCADQc4Vai8BACIDaiIFQT9NBEAgDyAErYYgDYQhDwwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgAyEFDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIAVBQGohBSAPQcAAIARrrYghDwsgADMBjBYhDgJAIAUgAC8BjhYiBGoiA0E/TQRAIA4gBa2GIA+EIQ4MAQsgBUHAAEYEQCAAKAIEIAAoAhBqIA83AAAgACAAKAIQQQhqNgIQIAQhAwwBCyAAKAIEIAAoAhBqIA4gBa2GIA+ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAFa62IIQ4LIAasQgN9IQ0gA0E9TQRAIANBAmohBCANIAOthiAOhCENDAILIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEECIQQMAgsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E+ayEEIA1BwAAgA2utiCENDAELIAZBCUwEQCAAMwGQFiEOAkAgBCAALwGSFiIFaiIDQT9NBEAgDiAErYYgDYQhDgwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgBSEDDAELIAAoAgQgACgCEGogDiAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyAOQcAAIARrrYghDgsgBqxCAn0hDSADQTxNBEAgA0EDaiEEIA0gA62GIA6EIQ0MAgsgA0HAAEYEQCAAKAIEIAAoAhBqIA43AAAgACAAKAIQQQhqNgIQQQMhBAwCCyAAKAIEIAAoAhBqIA0gA62GIA6ENwAAIAAgACgCEEEIajYCECADQT1rIQQgDUHAACADa62IIQ0MAQsgADMBlBYhDgJAIAQgAC8BlhYiBWoiA0E/TQRAIA4gBK2GIA2EIQ4MAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIAUhAwwBCyAAKAIEIAAoAhBqIA4gBK2GIA2ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAEa62IIQ4LIAatQgp9IQ0gA0E4TQRAIANBB2ohBCANIAOthiAOhCENDAELIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEEHIQQMAQsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E5ayEEIA1BwAAgA2utiCENC0EAIQYCfyAIRQRAQYoBIQVBAwwBC0EGQQcgByAIRiIDGyEFQQNBBCADGwshCSAHIQoLIAIgDEcNAAsLIAAgBDYCoC4gACANNwOYLgv5BQIIfwJ+AkAgACgC8C1FBEAgACkDmC4hCyAAKAKgLiEDDAELA0AgCSIDQQNqIQkgAyAAKALsLWoiAy0AAiEFIAApA5guIQwgACgCoC4hBAJAIAMvAAAiB0UEQCABIAVBAnRqIgMzAQAhCyAEIAMvAQIiBWoiA0E/TQRAIAsgBK2GIAyEIQsMAgsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAUhAwwCCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsMAQsgBUGAzwBqLQAAIghBAnQiBiABaiIDQYQIajMBACELIANBhghqLwEAIQMgCEEIa0ETTQRAIAUgBkGA0QBqKAIAa60gA62GIAuEIQsgBkHA0wBqKAIAIANqIQMLIAMgAiAHQQFrIgcgB0EHdkGAAmogB0GAAkkbQYDLAGotAAAiBUECdCIIaiIKLwECaiEGIAozAQAgA62GIAuEIQsgBCAFQQRJBH8gBgUgByAIQYDSAGooAgBrrSAGrYYgC4QhCyAIQcDUAGooAgAgBmoLIgVqIgNBP00EQCALIASthiAMhCELDAELIARBwABGBEAgACgCBCAAKAIQaiAMNwAAIAAgACgCEEEIajYCECAFIQMMAQsgACgCBCAAKAIQaiALIASthiAMhDcAACAAIAAoAhBBCGo2AhAgA0FAaiEDIAtBwAAgBGutiCELCyAAIAs3A5guIAAgAzYCoC4gCSAAKALwLUkNAAsLIAFBgAhqMwEAIQwCQCADIAFBgghqLwEAIgJqIgFBP00EQCAMIAOthiALhCEMDAELIANBwABGBEAgACgCBCAAKAIQaiALNwAAIAAgACgCEEEIajYCECACIQEMAQsgACgCBCAAKAIQaiAMIAOthiALhDcAACAAIAAoAhBBCGo2AhAgAUFAaiEBIAxBwAAgA2utiCEMCyAAIAw3A5guIAAgATYCoC4L8AQBA38gAEHkAWohAgNAIAIgAUECdCIDakEAOwEAIAIgA0EEcmpBADsBACABQQJqIgFBngJHDQALIABBADsBzBUgAEEAOwHYEyAAQZQWakEAOwEAIABBkBZqQQA7AQAgAEGMFmpBADsBACAAQYgWakEAOwEAIABBhBZqQQA7AQAgAEGAFmpBADsBACAAQfwVakEAOwEAIABB+BVqQQA7AQAgAEH0FWpBADsBACAAQfAVakEAOwEAIABB7BVqQQA7AQAgAEHoFWpBADsBACAAQeQVakEAOwEAIABB4BVqQQA7AQAgAEHcFWpBADsBACAAQdgVakEAOwEAIABB1BVqQQA7AQAgAEHQFWpBADsBACAAQcwUakEAOwEAIABByBRqQQA7AQAgAEHEFGpBADsBACAAQcAUakEAOwEAIABBvBRqQQA7AQAgAEG4FGpBADsBACAAQbQUakEAOwEAIABBsBRqQQA7AQAgAEGsFGpBADsBACAAQagUakEAOwEAIABBpBRqQQA7AQAgAEGgFGpBADsBACAAQZwUakEAOwEAIABBmBRqQQA7AQAgAEGUFGpBADsBACAAQZAUakEAOwEAIABBjBRqQQA7AQAgAEGIFGpBADsBACAAQYQUakEAOwEAIABBgBRqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEIANwL8LSAAQeQJakEBOwEAIABBADYC+C0gAEEANgLwLQuKAwIGfwR+QcgAEAkiBEUEQEEADwsgBEIANwMAIARCADcDMCAEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDOCABUARAIARBCBAJIgA2AgQgAEUEQCAEEAYgAwRAIANBADYCBCADQQ42AgALQQAPCyAAQgA3AwAgBA8LAkAgAaciBUEEdBAJIgZFDQAgBCAGNgIAIAVBA3RBCGoQCSIFRQ0AIAQgATcDECAEIAU2AgQDQCAAIAynIghBBHRqIgcpAwgiDVBFBEAgBygCACIHRQRAIAMEQCADQQA2AgQgA0ESNgIACyAGEAYgBRAGIAQQBkEADwsgBiAKp0EEdGoiCSANNwMIIAkgBzYCACAFIAhBA3RqIAs3AwAgCyANfCELIApCAXwhCgsgDEIBfCIMIAFSDQALIAQgCjcDCCAEQgAgCiACGzcDGCAFIAqnQQN0aiALNwMAIAQgCzcDMCAEDwsgAwRAIANBADYCBCADQQ42AgALIAYQBiAEEAZBAAvlAQIDfwF+QX8hBQJAIAAgASACQQAQJiIERQ0AIAAgASACEIsBIgZFDQACfgJAIAJBCHENACAAKAJAIAGnQQR0aigCCCICRQ0AIAIgAxAhQQBOBEAgAykDAAwCCyAAQQhqIgAEQCAAQQA2AgQgAEEPNgIAC0F/DwsgAxAqIAMgBCgCGDYCLCADIAQpAyg3AxggAyAEKAIUNgIoIAMgBCkDIDcDICADIAQoAhA7ATAgAyAELwFSOwEyQvwBQtwBIAQtAAYbCyEHIAMgBjYCCCADIAE3AxAgAyAHQgOENwMAQQAhBQsgBQspAQF/IAAgASACIABBCGoiABAmIgNFBEBBAA8LIAMoAjBBACACIAAQJQuAAwEGfwJ/An9BMCABQYB/Sw0BGgJ/IAFBgH9PBEBBhIQBQTA2AgBBAAwBC0EAQRAgAUELakF4cSABQQtJGyIFQcwAahAJIgFFDQAaIAFBCGshAgJAIAFBP3FFBEAgAiEBDAELIAFBBGsiBigCACIHQXhxIAFBP2pBQHFBCGsiASABQUBrIAEgAmtBD0sbIgEgAmsiA2shBCAHQQNxRQRAIAIoAgAhAiABIAQ2AgQgASACIANqNgIADAELIAEgBCABKAIEQQFxckECcjYCBCABIARqIgQgBCgCBEEBcjYCBCAGIAMgBigCAEEBcXJBAnI2AgAgAiADaiIEIAQoAgRBAXI2AgQgAiADEDsLAkAgASgCBCICQQNxRQ0AIAJBeHEiAyAFQRBqTQ0AIAEgBSACQQFxckECcjYCBCABIAVqIgIgAyAFayIFQQNyNgIEIAEgA2oiAyADKAIEQQFyNgIEIAIgBRA7CyABQQhqCyIBRQsEQEEwDwsgACABNgIAQQALCwoAIABBiIQBEAQL6AIBBX8gACgCUCEBIAAvATAhBEEEIQUDQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgBUGAgARGRQRAIAFBCGohASAFQQRqIQUMAQsLAkAgBEUNACAEQQNxIQUgACgCTCEBIARBAWtBA08EQCAEIAVrIQADQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgAUEIaiEBIABBBGsiAA0ACwsgBUUNAANAIAFBACABLwEAIgAgBGsiAiAAIAJJGzsBACABQQJqIQEgBUEBayIFDQALCwuDAQEEfyACQQFOBEAgAiAAKAJIIAFqIgJqIQMgACgCUCEEA0AgBCACKAAAQbHz3fF5bEEPdkH+/wdxaiIFLwEAIgYgAUH//wNxRwRAIAAoAkwgASAAKAI4cUH//wNxQQF0aiAGOwEAIAUgATsBAAsgAUEBaiEBIAJBAWoiAiADSQ0ACwsLUAECfyABIAAoAlAgACgCSCABaigAAEGx893xeWxBD3ZB/v8HcWoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILugEBAX8jAEEQayICJAAgAkEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgARBYIAJBEGokAAu9AQEBfyMAQRBrIgEkACABQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEANgJAIAFBEGokAEEAC70BAQF/IwBBEGsiASQAIAFBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAKAJAIQAgAUEQaiQAIAALvgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQVyAEQRBqJAALygEAIwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAAoAkAgASACQdSAASgCABEAADYCQCADQRBqJAALwAEBAX8jAEEQayIDJAAgA0EAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACEF0hACADQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFwhACACQRBqJAAgAAu2AQEBfyMAQRBrIgAkACAAQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEQaiQAQQgLwgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQWSEAIARBEGokACAAC8IBAQF/IwBBEGsiBCQAIARBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAiADEFYhACAEQRBqJAAgAAsHACAALwEwC8ABAQF/IwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAhBVIQAgA0EQaiQAIAALBwAgACgCQAsaACAAIAAoAkAgASACQdSAASgCABEAADYCQAsLACAAQQA2AkBBAAsHACAAKAIgCwQAQQgLzgUCA34BfyMAQYBAaiIIJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDhECAwwFAAEECAkJCQkJCQcJBgkLIANCCFoEfiACIAEoAmQ2AgAgAiABKAJoNgIEQggFQn8LIQYMCwsgARAGDAoLIAEoAhAiAgRAIAIgASkDGCABQeQAaiICEEEiA1ANCCABKQMIIgVCf4UgA1QEQCACBEAgAkEANgIEIAJBFTYCAAsMCQsgAUEANgIQIAEgAyAFfDcDCCABIAEpAwAgA3w3AwALIAEtAHgEQCABKQMAIQUMCQtCACEDIAEpAwAiBVAEQCABQgA3AyAMCgsDQCAAIAggBSADfSIFQoDAACAFQoDAAFQbEBEiB0J/VwRAIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwJCyAHUEUEQCABKQMAIgUgAyAHfCIDWA0KDAELCyABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEpAwggASkDICIFfSIHIAMgAyAHVhsiA1ANCAJAIAEtAHhFDQAgACAFQQAQFEF/Sg0AIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwHCyAAIAIgAxARIgZCf1cEQCABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEgASkDICAGfCIDNwMgIAZCAFINCEIAIQYgAyABKQMIWg0IIAFB5ABqBEAgAUEANgJoIAFBETYCZAsMBgsgASkDICABKQMAIgV9IAEpAwggBX0gAiADIAFB5ABqEEQiA0IAUw0FIAEgASkDACADfDcDIAwHCyACIAFBKGoQYEEfdawhBgwGCyABMABgIQYMBQsgASkDcCEGDAQLIAEpAyAgASkDAH0hBgwDCyABQeQAagRAIAFBADYCaCABQRw2AmQLC0J/IQYMAQsgASAFNwMgCyAIQYBAayQAIAYLBwAgACgCAAsPACAAIAAoAjBBAWo2AjALGABB+IMBQgA3AgBBgIQBQQA2AgBB+IMBCwcAIABBDGoLBwAgACgCLAsHACAAKAIoCwcAIAAoAhgLFQAgACABrSACrUIghoQgAyAEEIoBCxMBAX4gABAzIgFCIIinEAAgAacLbwEBfiABrSACrUIghoQhBSMAQRBrIgEkAAJ/IABFBEAgBVBFBEAgBARAIARBADYCBCAEQRI2AgALQQAMAgtBAEIAIAMgBBA6DAELIAEgBTcDCCABIAA2AgAgAUIBIAMgBBA6CyEAIAFBEGokACAACxQAIAAgASACrSADrUIghoQgBBBSC9oCAgJ/AX4CfyABrSACrUIghoQiByAAKQMwVEEAIARBCkkbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/DAELIAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtBfwwBCyADBH8gA0H//wNxQQhGIANBfUtyBUEBC0UEQCAAQQhqBEAgAEEANgIMIABBEDYCCAtBfwwBCyAAKAJAIgEgB6ciBUEEdGooAgAiAgR/IAIoAhAgA0YFIANBf0YLIQYgASAFQQR0aiIBIQUgASgCBCEBAkAgBgRAIAFFDQEgAUEAOwFQIAEgASgCAEF+cSIANgIAIAANASABECAgBUEANgIEQQAMAgsCQCABDQAgBSACECsiATYCBCABDQAgAEEIagRAIABBADYCDCAAQQ42AggLQX8MAgsgASAEOwFQIAEgAzYCECABIAEoAgBBAXI2AgALQQALCxwBAX4gACABIAIgAEEIahBMIgNCIIinEAAgA6cLHwEBfiAAIAEgAq0gA61CIIaEEBEiBEIgiKcQACAEpwteAQF+An5CfyAARQ0AGiAAKQMwIgIgAUEIcUUNABpCACACUA0AGiAAKAJAIQADQCACIAKnQQR0IABqQRBrKAIADQEaIAJCAX0iAkIAUg0AC0IACyICQiCIpxAAIAKnCxMAIAAgAa0gAq1CIIaEIAMQiwELnwEBAn4CfiACrSADrUIghoQhBUJ/IQQCQCAARQ0AIAAoAgQNACAAQQRqIQIgBUJ/VwRAIAIEQCACQQA2AgQgAkESNgIAC0J/DAILQgAhBCAALQAQDQAgBVANACAAKAIUIAEgBRARIgRCf1UNACAAKAIUIQAgAgRAIAIgACgCDDYCACACIAAoAhA2AgQLQn8hBAsgBAsiBEIgiKcQACAEpwueAQEBfwJ/IAAgACABrSACrUIghoQgAyAAKAIcEH8iAQRAIAEQMkF/TARAIABBCGoEQCAAIAEoAgw2AgggACABKAIQNgIMCyABEAtBAAwCC0EYEAkiBEUEQCAAQQhqBEAgAEEANgIMIABBDjYCCAsgARALQQAMAgsgBCAANgIAIARBADYCDCAEQgA3AgQgBCABNgIUIARBADoAEAsgBAsLsQICAX8BfgJ/QX8hBAJAIAAgAa0gAq1CIIaEIgZBAEEAECZFDQAgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAILIAAoAkAiASAGpyICQQR0aiIEKAIIIgUEQEEAIQQgBSADEHFBf0oNASAAQQhqBEAgAEEANgIMIABBDzYCCAtBfwwCCwJAIAQoAgAiBQRAIAUoAhQgA0YNAQsCQCABIAJBBHRqIgEoAgQiBA0AIAEgBRArIgQ2AgQgBA0AIABBCGoEQCAAQQA2AgwgAEEONgIIC0F/DAMLIAQgAzYCFCAEIAQoAgBBIHI2AgBBAAwCC0EAIQQgASACQQR0aiIBKAIEIgBFDQAgACAAKAIAQV9xIgI2AgAgAg0AIAAQICABQQA2AgQLIAQLCxQAIAAgAa0gAq1CIIaEIAQgBRBzCxIAIAAgAa0gAq1CIIaEIAMQFAtBAQF+An4gAUEAIAIbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0J/DAELIAAgASACIAMQdAsiBEIgiKcQACAEpwvGAwIFfwF+An4CQAJAIAAiBC0AGEECcQRAIARBCGoEQCAEQQA2AgwgBEEZNgIICwwBCyABRQRAIARBCGoEQCAEQQA2AgwgBEESNgIICwwBCyABECIiByABakEBay0AAEEvRwRAIAdBAmoQCSIARQRAIARBCGoEQCAEQQA2AgwgBEEONgIICwwCCwJAAkAgACIGIAEiBXNBA3ENACAFQQNxBEADQCAGIAUtAAAiAzoAACADRQ0DIAZBAWohBiAFQQFqIgVBA3ENAAsLIAUoAgAiA0F/cyADQYGChAhrcUGAgYKEeHENAANAIAYgAzYCACAFKAIEIQMgBkEEaiEGIAVBBGohBSADQYGChAhrIANBf3NxQYCBgoR4cUUNAAsLIAYgBS0AACIDOgAAIANFDQADQCAGIAUtAAEiAzoAASAGQQFqIQYgBUEBaiEFIAMNAAsLIAcgACIDakEvOwAACyAEQQBCAEEAEFIiAEUEQCADEAYMAQsgBCADIAEgAxsgACACEHQhCCADEAYgCEJ/VwRAIAAQCyAIDAMLIAQgCEEDQYCA/I8EEHNBf0oNASAEIAgQchoLQn8hCAsgCAsiCEIgiKcQACAIpwsQACAAIAGtIAKtQiCGhBByCxYAIAAgAa0gAq1CIIaEIAMgBCAFEGYL3iMDD38IfgF8IwBB8ABrIgkkAAJAIAFBAE5BACAAG0UEQCACBEAgAkEANgIEIAJBEjYCAAsMAQsgACkDGCISAn5BsIMBKQMAIhNCf1EEQCAJQoOAgIBwNwMwIAlChoCAgPAANwMoIAlCgYCAgCA3AyBBsIMBQQAgCUEgahAkNwMAIAlCj4CAgHA3AxAgCUKJgICAoAE3AwAgCUKMgICA0AE3AwhBuIMBQQggCRAkNwMAQbCDASkDACETCyATC4MgE1IEQCACBEAgAkEANgIEIAJBHDYCAAsMAQsgASABQRByQbiDASkDACITIBKDIBNRGyIKQRhxQRhGBEAgAgRAIAJBADYCBCACQRk2AgALDAELIAlBOGoQKgJAIAAgCUE4ahAhBEACQCAAKAIMQQVGBEAgACgCEEEsRg0BCyACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAgsgCkEBcUUEQCACBEAgAkEANgIEIAJBCTYCAAsMAwsgAhBJIgVFDQEgBSAKNgIEIAUgADYCACAKQRBxRQ0CIAUgBSgCFEECcjYCFCAFIAUoAhhBAnI2AhgMAgsgCkECcQRAIAIEQCACQQA2AgQgAkEKNgIACwwCCyAAEDJBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsCfyAKQQhxBEACQCACEEkiAUUNACABIAo2AgQgASAANgIAIApBEHFFDQAgASABKAIUQQJyNgIUIAEgASgCGEECcjYCGAsgAQwBCyMAQUBqIg4kACAOQQhqECoCQCAAIA5BCGoQIUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAOLQAIQQRxRQRAIAIEQCACQYoBNgIEIAJBBDYCAAsMAQsgDikDICETIAIQSSIFRQRAQQAhBQwBCyAFIAo2AgQgBSAANgIAIApBEHEEQCAFIAUoAhRBAnI2AhQgBSAFKAIYQQJyNgIYCwJAAkACQCATUARAAn8gACEBAkADQCABKQMYQoCAEINCAFINASABKAIAIgENAAtBAQwBCyABQQBCAEESEA6nCw0EIAVBCGoEQCAFQQA2AgwgBUETNgIICwwBCyMAQdAAayIBJAACQCATQhVYBEAgBUEIagRAIAVBADYCDCAFQRM2AggLDAELAkACQCAFKAIAQgAgE0KqgAQgE0KqgARUGyISfUECEBRBf0oNACAFKAIAIgMoAgxBBEYEQCADKAIQQRZGDQELIAVBCGoEQCAFIAMoAgw2AgggBSADKAIQNgIMCwwBCyAFKAIAEDMiE0J/VwRAIAUoAgAhAyAFQQhqIggEQCAIIAMoAgw2AgAgCCADKAIQNgIECwwBCyAFKAIAIBJBACAFQQhqIg8QLSIERQ0BIBJCqoAEWgRAAkAgBCkDCEIUVARAIARBADoAAAwBCyAEQhQ3AxAgBEEBOgAACwsgAQRAIAFBADYCBCABQRM2AgALIARCABATIQwCQCAELQAABH4gBCkDCCAEKQMQfQVCAAunIgdBEmtBA0sEQEJ/IRcDQCAMQQFrIQMgByAMakEVayEGAkADQCADQQFqIgNB0AAgBiADaxB6IgNFDQEgA0EBaiIMQZ8SQQMQPQ0ACwJAIAMgBCgCBGusIhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBC0AAAR+IAQpAxAFQgALIRICQCAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsgBEIEEBMoAABB0JaVMEcEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsCQAJAAkAgEkIUVA0AIAQoAgQgEqdqQRRrKAAAQdCWmThHDQACQCASQhR9IhQgBCIDKQMIVgRAIANBADoAAAwBCyADIBQ3AxAgA0EBOgAACyAFKAIUIRAgBSgCACEGIAMtAAAEfiAEKQMQBUIACyEWIARCBBATGiAEEAwhCyAEEAwhDSAEEB0iFEJ/VwRAIAEEQCABQRY2AgQgAUEENgIACwwECyAUQjh8IhUgEyAWfCIWVgRAIAEEQCABQQA2AgQgAUEVNgIACwwECwJAAkAgEyAUVg0AIBUgEyAEKQMIfFYNAAJAIBQgE30iFSAEKQMIVgRAIANBADoAAAwBCyADIBU3AxAgA0EBOgAAC0EAIQcMAQsgBiAUQQAQFEF/TARAIAEEQCABIAYoAgw2AgAgASAGKAIQNgIECwwFC0EBIQcgBkI4IAFBEGogARAtIgNFDQQLIANCBBATKAAAQdCWmTBHBEAgAQRAIAFBADYCBCABQRU2AgALIAdFDQQgAxAIDAQLIAMQHSEVAkAgEEEEcSIGRQ0AIBQgFXxCDHwgFlENACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgA0IEEBMaIAMQFSIQIAsgC0H//wNGGyELIAMQFSIRIA0gDUH//wNGGyENAkAgBkUNACANIBFGQQAgCyAQRhsNACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgCyANcgRAIAEEQCABQQA2AgQgAUEBNgIACyAHRQ0EIAMQCAwECyADEB0iGCADEB1SBEAgAQRAIAFBADYCBCABQQE2AgALIAdFDQQgAxAIDAQLIAMQHSEVIAMQHSEWIAMtAABFBEAgAQRAIAFBADYCBCABQRQ2AgALIAdFDQQgAxAIDAQLIAcEQCADEAgLAkAgFkIAWQRAIBUgFnwiGSAWWg0BCyABBEAgAUEWNgIEIAFBBDYCAAsMBAsgEyAUfCIUIBlUBEAgAQRAIAFBADYCBCABQRU2AgALDAQLAkAgBkUNACAUIBlRDQAgAQRAIAFBADYCBCABQRU2AgALDAQLIBggFUIugFgNASABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCASIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAUoAhQhAyAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsgBC0AAAR+IAQpAxAFQgALIRQgBEIEEBMaIAQQFQRAIAEEQCABQQA2AgQgAUEBNgIACwwDCyAEEAwgBBAMIgZHBEAgAQRAIAFBADYCBCABQRM2AgALDAMLIAQQFSEHIAQQFa0iFiAHrSIVfCIYIBMgFHwiFFYEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCADQQRxRQ0AIBQgGFENACABBEAgAUEANgIEIAFBFTYCAAsMAwsgBq0gARBqIgNFDQIgAyAWNwMgIAMgFTcDGCADQQA6ACwMAQsgGCABEGoiA0UNASADIBY3AyAgAyAVNwMYIANBAToALAsCQCASQhR8IhQgBCkDCFYEQCAEQQA6AAAMAQsgBCAUNwMQIARBAToAAAsgBBAMIQYCQCADKQMYIAMpAyB8IBIgE3xWDQACQCAGRQRAIAUtAARBBHFFDQELAkAgEkIWfCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIACyIUIAatIhJUDQEgBS0ABEEEcUEAIBIgFFIbDQEgBkUNACADIAQgEhATIAZBACABEDUiBjYCKCAGDQAgAxAWDAILAkAgEyADKQMgIhJYBEACQCASIBN9IhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBCADKQMYEBMiBkUNAiAGIAMpAxgQFyIHDQEgAQRAIAFBADYCBCABQQ42AgALIAMQFgwDCyAFKAIAIBJBABAUIQcgBSgCACEGIAdBf0wEQCABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAMLQQAhByAGEDMgAykDIFENACABBEAgAUEANgIEIAFBEzYCAAsgAxAWDAILQgAhFAJAAkAgAykDGCIWUEUEQANAIBQgAykDCFIiC0UEQCADLQAsDQMgFkIuVA0DAn8CQCADKQMQIhVCgIAEfCISIBVaQQAgEkKAgICAAVQbRQ0AIAMoAgAgEqdBBHQQNCIGRQ0AIAMgBjYCAAJAIAMpAwgiFSASWg0AIAYgFadBBHRqIgZCADcCACAGQgA3AAUgFUIBfCIVIBJRDQADQCADKAIAIBWnQQR0aiIGQgA3AgAgBkIANwAFIBVCAXwiFSASUg0ACwsgAyASNwMIIAMgEjcDEEEBDAELIAEEQCABQQA2AgQgAUEONgIAC0EAC0UNBAtB2AAQCSIGBH8gBkIANwMgIAZBADYCGCAGQv////8PNwMQIAZBADsBDCAGQb+GKDYCCCAGQQE6AAYgBkEAOwEEIAZBADYCACAGQgA3A0ggBkGAgNiNeDYCRCAGQgA3AyggBkIANwMwIAZCADcDOCAGQUBrQQA7AQAgBkIANwNQIAYFQQALIQYgAygCACAUp0EEdGogBjYCAAJAIAYEQCAGIAUoAgAgB0EAIAEQaCISQn9VDQELIAsNBCABKAIAQRNHDQQgAQRAIAFBADYCBCABQRU2AgALDAQLIBRCAXwhFCAWIBJ9IhZCAFINAAsLIBQgAykDCFINAAJAIAUtAARBBHFFDQAgBwRAIActAAAEfyAHKQMQIAcpAwhRBUEAC0UNAgwBCyAFKAIAEDMiEkJ/VwRAIAUoAgAhBiABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAULIBIgAykDGCADKQMgfFINAQsgBxAIAn4gCARAAn8gF0IAVwRAIAUgCCABEEghFwsgBSADIAEQSCISIBdVCwRAIAgQFiASDAILIAMQFgwFC0IAIAUtAARBBHFFDQAaIAUgAyABEEgLIRcgAyEIDAMLIAEEQCABQQA2AgQgAUEVNgIACyAHEAggAxAWDAILIAMQFiAHEAgMAQsgAQRAIAFBADYCBCABQRU2AgALIAMQFgsCQCAMIAQoAgRrrCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIAC6ciB0ESa0EDSw0BCwsgBBAIIBdCf1UNAwwBCyAEEAgLIA8iAwRAIAMgASgCADYCACADIAEoAgQ2AgQLIAgQFgtBACEICyABQdAAaiQAIAgNAQsgAgRAIAIgBSgCCDYCACACIAUoAgw2AgQLDAELIAUgCCgCADYCQCAFIAgpAwg3AzAgBSAIKQMQNwM4IAUgCCgCKDYCICAIEAYgBSgCUCEIIAVBCGoiBCEBQQAhBwJAIAUpAzAiE1ANAEGAgICAeCEGAn8gE7pEAAAAAAAA6D+jRAAA4P///+9BpCIaRAAAAAAAAPBBYyAaRAAAAAAAAAAAZnEEQCAaqwwBC0EACyIDQYCAgIB4TQRAIANBAWsiA0EBdiADciIDQQJ2IANyIgNBBHYgA3IiA0EIdiADciIDQRB2IANyQQFqIQYLIAYgCCgCACIMTQ0AIAYQPCILRQRAIAEEQCABQQA2AgQgAUEONgIACwwBCwJAIAgpAwhCACAMG1AEQCAIKAIQIQ8MAQsgCCgCECEPA0AgDyAHQQJ0aigCACIBBEADQCABKAIYIQMgASALIAEoAhwgBnBBAnRqIg0oAgA2AhggDSABNgIAIAMiAQ0ACwsgB0EBaiIHIAxHDQALCyAPEAYgCCAGNgIAIAggCzYCEAsCQCAFKQMwUA0AQgAhEwJAIApBBHFFBEADQCAFKAJAIBOnQQR0aigCACgCMEEAQQAgAhAlIgFFDQQgBSgCUCABIBNBCCAEEE1FBEAgBCgCAEEKRw0DCyATQgF8IhMgBSkDMFQNAAwDCwALA0AgBSgCQCATp0EEdGooAgAoAjBBAEEAIAIQJSIBRQ0DIAUoAlAgASATQQggBBBNRQ0BIBNCAXwiEyAFKQMwVA0ACwwBCyACBEAgAiAEKAIANgIAIAIgBCgCBDYCBAsMAQsgBSAFKAIUNgIYDAELIAAgACgCMEEBajYCMCAFEEtBACEFCyAOQUBrJAAgBQsiBQ0BIAAQGhoLQQAhBQsgCUHwAGokACAFCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL4CoDEX8IfgN8IwBBwMAAayIHJABBfyECAkAgAEUNAAJ/IAAtAChFBEBBACAAKAIYIAAoAhRGDQEaC0EBCyEBAkACQCAAKQMwIhRQRQRAIAAoAkAhCgNAIAogEqdBBHRqIgMtAAwhCwJAAkAgAygCCA0AIAsNACADKAIEIgNFDQEgAygCAEUNAQtBASEBCyAXIAtBAXOtQv8Bg3whFyASQgF8IhIgFFINAAsgF0IAUg0BCyAAKAIEQQhxIAFyRQ0BAn8gACgCACIDKAIkIgFBA0cEQCADKAIgBH9BfyADEBpBAEgNAhogAygCJAUgAQsEQCADEEMLQX8gA0EAQgBBDxAOQgBTDQEaIANBAzYCJAtBAAtBf0oNASAAKAIAKAIMQRZGBEAgACgCACgCEEEsRg0CCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLDAILIAFFDQAgFCAXVARAIABBCGoEQCAAQQA2AgwgAEEUNgIICwwCCyAXp0EDdBAJIgtFDQFCfyEWQgAhEgNAAkAgCiASp0EEdGoiBigCACIDRQ0AAkAgBigCCA0AIAYtAAwNACAGKAIEIgFFDQEgASgCAEUNAQsgFiADKQNIIhMgEyAWVhshFgsgBi0ADEUEQCAXIBlYBEAgCxAGIABBCGoEQCAAQQA2AgwgAEEUNgIICwwECyALIBmnQQN0aiASNwMAIBlCAXwhGQsgEkIBfCISIBRSDQALIBcgGVYEQCALEAYgAEEIagRAIABBADYCDCAAQRQ2AggLDAILAkACQCAAKAIAKQMYQoCACINQDQACQAJAIBZCf1INACAAKQMwIhNQDQIgE0IBgyEVIAAoAkAhAwJAIBNCAVEEQEJ/IRRCACESQgAhFgwBCyATQn6DIRlCfyEUQgAhEkIAIRYDQCADIBKnQQR0aigCACIBBEAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyADIBJCAYQiGKdBBHRqKAIAIgEEQCAWIAEpA0giEyATIBZUIgEbIRYgFCAYIAEbIRQLIBJCAnwhEiAZQgJ9IhlQRQ0ACwsCQCAVUA0AIAMgEqdBBHRqKAIAIgFFDQAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyAUQn9RDQBCACETIwBBEGsiBiQAAkAgACAUIABBCGoiCBBBIhVQDQAgFSAAKAJAIBSnQQR0aigCACIKKQMgIhh8IhQgGFpBACAUQn9VG0UEQCAIBEAgCEEWNgIEIAhBBDYCAAsMAQsgCi0ADEEIcUUEQCAUIRMMAQsgACgCACAUQQAQFCEBIAAoAgAhAyABQX9MBEAgCARAIAggAygCDDYCACAIIAMoAhA2AgQLDAELIAMgBkEMakIEEBFCBFIEQCAAKAIAIQEgCARAIAggASgCDDYCACAIIAEoAhA2AgQLDAELIBRCBHwgFCAGKAAMQdCWncAARhtCFEIMAn9BASEBAkAgCikDKEL+////D1YNACAKKQMgQv7///8PVg0AQQAhAQsgAQsbfCIUQn9XBEAgCARAIAhBFjYCBCAIQQQ2AgALDAELIBQhEwsgBkEQaiQAIBMiFkIAUg0BIAsQBgwFCyAWUA0BCwJ/IAAoAgAiASgCJEEBRgRAIAFBDGoEQCABQQA2AhAgAUESNgIMC0F/DAELQX8gAUEAIBZBERAOQgBTDQAaIAFBATYCJEEAC0F/Sg0BC0IAIRYCfyAAKAIAIgEoAiRBAUYEQCABQQxqBEAgAUEANgIQIAFBEjYCDAtBfwwBC0F/IAFBAEIAQQgQDkIAUw0AGiABQQE2AiRBAAtBf0oNACAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLIAsQBgwCCyAAKAJUIgIEQCACQgA3AxggAigCAEQAAAAAAAAAACACKAIMIAIoAgQRDgALIABBCGohBCAXuiEcQgAhFAJAAkACQANAIBcgFCITUgRAIBO6IByjIRsgE0IBfCIUuiAcoyEaAkAgACgCVCICRQ0AIAIgGjkDKCACIBs5AyAgAisDECAaIBuhRAAAAAAAAAAAoiAboCIaIAIrAxihY0UNACACKAIAIBogAigCDCACKAIEEQ4AIAIgGjkDGAsCfwJAIAAoAkAgCyATp0EDdGopAwAiE6dBBHRqIg0oAgAiAQRAIAEpA0ggFlQNAQsgDSgCBCEFAkACfwJAIA0oAggiAkUEQCAFRQ0BQQEgBSgCACICQQFxDQIaIAJBwABxQQZ2DAILQQEgBQ0BGgsgDSABECsiBTYCBCAFRQ0BIAJBAEcLIQZBACEJIwBBEGsiDCQAAkAgEyAAKQMwWgRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/IQkMAQsgACgCQCIKIBOnIgNBBHRqIg8oAgAiAkUNACACLQAEDQACQCACKQNIQhp8IhhCf1cEQCAAQQhqBEAgAEEWNgIMIABBBDYCCAsMAQtBfyEJIAAoAgAgGEEAEBRBf0wEQCAAKAIAIQIgAEEIagRAIAAgAigCDDYCCCAAIAIoAhA2AgwLDAILIAAoAgBCBCAMQQxqIABBCGoiDhAtIhBFDQEgEBAMIQEgEBAMIQggEC0AAAR/IBApAxAgECkDCFEFQQALIQIgEBAIIAJFBEAgDgRAIA5BADYCBCAOQRQ2AgALDAILAkAgCEUNACAAKAIAIAGtQQEQFEF/TARAQYSEASgCACECIA4EQCAOIAI2AgQgDkEENgIACwwDC0EAIAAoAgAgCEEAIA4QRSIBRQ0BIAEgCEGAAiAMQQhqIA4QbiECIAEQBiACRQ0BIAwoAggiAkUNACAMIAIQbSICNgIIIA8oAgAoAjQgAhBvIQIgDygCACACNgI0CyAPKAIAIgJBAToABEEAIQkgCiADQQR0aigCBCIBRQ0BIAEtAAQNASACKAI0IQIgAUEBOgAEIAEgAjYCNAwBC0F/IQkLIAxBEGokACAJQQBIDQUgACgCABAfIhhCAFMNBSAFIBg3A0ggBgRAQQAhDCANKAIIIg0hASANRQRAIAAgACATQQhBABB/IgwhASAMRQ0HCwJAAkAgASAHQQhqECFBf0wEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMAQsgBykDCCISQsAAg1AEQCAHQQA7ATggByASQsAAhCISNwMICwJAAkAgBSgCECICQX5PBEAgBy8BOCIDRQ0BIAUgAzYCECADIQIMAgsgAg0AIBJCBINQDQAgByAHKQMgNwMoIAcgEkIIhCISNwMIQQAhAgwBCyAHIBJC9////w+DIhI3AwgLIBJCgAGDUARAIAdBADsBOiAHIBJCgAGEIhI3AwgLAn8gEkIEg1AEQEJ/IRVBgAoMAQsgBSAHKQMgIhU3AyggEkIIg1AEQAJAAkACQAJAQQggAiACQX1LG0H//wNxDg0CAwMDAwMDAwEDAwMAAwtBgApBgAIgFUKUwuTzD1YbDAQLQYAKQYACIBVCg4Ow/w9WGwwDC0GACkGAAiAVQv////8PVhsMAgtBgApBgAIgFUIAUhsMAQsgBSAHKQMoNwMgQYACCyEPIAAoAgAQHyITQn9XBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyAFIAUvAQxB9/8DcTsBDCAAIAUgDxA3IgpBAEgNACAHLwE4IghBCCAFKAIQIgMgA0F9SxtB//8DcSICRyEGAkACQAJAAkACQAJAAkAgAiAIRwRAIANBAEchAwwBC0EAIQMgBS0AAEGAAXFFDQELIAUvAVIhCSAHLwE6IQIMAQsgBS8BUiIJIAcvAToiAkYNAQsgASABKAIwQQFqNgIwIAJB//8DcQ0BIAEhAgwCCyABIAEoAjBBAWo2AjBBACEJDAILQSZBACAHLwE6QQFGGyICRQRAIAQEQCAEQQA2AgQgBEEYNgIACyABEAsMAwsgACABIAcvATpBACAAKAIcIAIRBgAhAiABEAsgAkUNAgsgCUEARyEJIAhBAEcgBnFFBEAgAiEBDAELIAAgAiAHLwE4EIEBIQEgAhALIAFFDQELAkAgCEUgBnJFBEAgASECDAELIAAgAUEAEIABIQIgARALIAJFDQELAkAgA0UEQCACIQMMAQsgACACIAUoAhBBASAFLwFQEIIBIQMgAhALIANFDQELAkAgCUUEQCADIQEMAQsgBSgCVCIBRQRAIAAoAhwhAQsCfyAFLwFSGkEBCwRAIAQEQCAEQQA2AgQgBEEYNgIACyADEAsMAgsgACADIAUvAVJBASABQQARBgAhASADEAsgAUUNAQsgACgCABAfIhhCf1cEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELAkAgARAyQQBOBEACfwJAAkAgASAHQUBrQoDAABARIhJCAVMNAEIAIRkgFUIAVQRAIBW5IRoDQCAAIAdBQGsgEhAbQQBIDQMCQCASQoDAAFINACAAKAJUIgJFDQAgAiAZQoBAfSIZuSAaoxB7CyABIAdBQGtCgMAAEBEiEkIAVQ0ACwwBCwNAIAAgB0FAayASEBtBAEgNAiABIAdBQGtCgMAAEBEiEkIAVQ0ACwtBACASQn9VDQEaIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwtBfwshAiABEBoaDAELIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIEC0F/IQILIAEgB0EIahAhQX9MBEAgBARAIAQgASgCDDYCACAEIAEoAhA2AgQLQX8hAgsCf0EAIQkCQCABIgNFDQADQCADLQAaQQFxBEBB/wEhCSADQQBCAEEQEA4iFUIAUw0CIBVCBFkEQCADQQxqBEAgA0EANgIQIANBFDYCDAsMAwsgFachCQwCCyADKAIAIgMNAAsLIAlBGHRBGHUiA0F/TAsEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsgARALDAELIAEQCyACQQBIDQAgACgCABAfIRUgACgCACECIBVCf1cEQCAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsMAQsgAiATEHVBf0wEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELIAcpAwgiE0LkAINC5ABSBEAgBARAIARBADYCBCAEQRQ2AgALDAELAkAgBS0AAEEgcQ0AIBNCEINQRQRAIAUgBygCMDYCFAwBCyAFQRRqEAEaCyAFIAcvATg2AhAgBSAHKAI0NgIYIAcpAyAhEyAFIBUgGH03AyAgBSATNwMoIAUgBS8BDEH5/wNxIANB/wFxQQF0cjsBDCAPQQp2IQNBPyEBAkACQAJAAkAgBSgCECICQQxrDgMAAQIBCyAFQS47AQoMAgtBLSEBIAMNACAFKQMoQv7///8PVg0AIAUpAyBC/v///w9WDQBBFCEBIAJBCEYNACAFLwFSQQFGDQAgBSgCMCICBH8gAi8BBAVBAAtB//8DcSICBEAgAiAFKAIwKAIAakEBay0AAEEvRg0BC0EKIQELIAUgATsBCgsgACAFIA8QNyICQQBIDQAgAiAKRwRAIAQEQCAEQQA2AgQgBEEUNgIACwwBCyAAKAIAIBUQdUF/Sg0BIAAoAgAhAiAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsLIA0NByAMEAsMBwsgDQ0CIAwQCwwCCyAFIAUvAQxB9/8DcTsBDCAAIAVBgAIQN0EASA0FIAAgEyAEEEEiE1ANBSAAKAIAIBNBABAUQX9MBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwGCyAFKQMgIRIjAEGAQGoiAyQAAkAgElBFBEAgAEEIaiECIBK6IRoDQEF/IQEgACgCACADIBJCgMAAIBJCgMAAVBsiEyACEGVBAEgNAiAAIAMgExAbQQBIDQIgACgCVCAaIBIgE30iErqhIBqjEHsgEkIAUg0ACwtBACEBCyADQYBAayQAIAFBf0oNAUEBIREgAUEcdkEIcUEIRgwCCyAEBEAgBEEANgIEIARBDjYCAAsMBAtBAAtFDQELCyARDQBBfyECAkAgACgCABAfQgBTDQAgFyEUQQAhCkIAIRcjAEHwAGsiESQAAkAgACgCABAfIhVCAFkEQCAUUEUEQANAIAAgACgCQCALIBenQQN0aigCAEEEdGoiAygCBCIBBH8gAQUgAygCAAtBgAQQNyIBQQBIBEBCfyEXDAQLIAFBAEcgCnIhCiAXQgF8IhcgFFINAAsLQn8hFyAAKAIAEB8iGEJ/VwRAIAAoAgAhASAAQQhqBEAgACABKAIMNgIIIAAgASgCEDYCDAsMAgsgEULiABAXIgZFBEAgAEEIagRAIABBADYCDCAAQQ42AggLDAILIBggFX0hEyAVQv////8PViAUQv//A1ZyIApyQQFxBEAgBkGZEkEEECwgBkIsEBggBkEtEA0gBkEtEA0gBkEAEBIgBkEAEBIgBiAUEBggBiAUEBggBiATEBggBiAVEBggBkGUEkEEECwgBkEAEBIgBiAYEBggBkEBEBILIAZBnhJBBBAsIAZBABASIAYgFEL//wMgFEL//wNUG6dB//8DcSIBEA0gBiABEA0gBkF/IBOnIBNC/v///w9WGxASIAZBfyAVpyAVQv7///8PVhsQEiAGIABBJEEgIAAtACgbaigCACIDBH8gAy8BBAVBAAtB//8DcRANIAYtAABFBEAgAEEIagRAIABBADYCDCAAQRQ2AggLIAYQCAwCCyAAIAYoAgQgBi0AAAR+IAYpAxAFQgALEBshASAGEAggAUEASA0BIAMEQCAAIAMoAgAgAzMBBBAbQQBIDQILIBMhFwwBCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLQn8hFwsgEUHwAGokACAXQgBTDQAgACgCABAfQj+HpyECCyALEAYgAkEASA0BAn8gACgCACIBKAIkQQFHBEAgAUEMagRAIAFBADYCECABQRI2AgwLQX8MAQsgASgCICICQQJPBEAgAUEMagRAIAFBADYCECABQR02AgwLQX8MAQsCQCACQQFHDQAgARAaQQBODQBBfwwBCyABQQBCAEEJEA5Cf1cEQCABQQI2AiRBfwwBCyABQQA2AiRBAAtFDQIgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyALEAYLIAAoAlQQfCAAKAIAEENBfyECDAILIAAoAlQQfAsgABBLQQAhAgsgB0HAwABqJAAgAgtFAEHwgwFCADcDAEHogwFCADcDAEHggwFCADcDAEHYgwFCADcDAEHQgwFCADcDAEHIgwFCADcDAEHAgwFCADcDAEHAgwELoQMBCH8jAEGgAWsiAiQAIAAQMQJAAn8CQCAAKAIAIgFBAE4EQCABQbATKAIASA0BCyACIAE2AhAgAkEgakH2ESACQRBqEHZBASEGIAJBIGohBCACQSBqECIhA0EADAELIAFBAnQiAUGwEmooAgAhBQJ/AkACQCABQcATaigCAEEBaw4CAAEECyAAKAIEIQNB9IIBKAIAIQdBACEBAkACQANAIAMgAUHQ8QBqLQAARwRAQdcAIQQgAUEBaiIBQdcARw0BDAILCyABIgQNAEGw8gAhAwwBC0Gw8gAhAQNAIAEtAAAhCCABQQFqIgMhASAIDQAgAyEBIARBAWsiBA0ACwsgBygCFBogAwwBC0EAIAAoAgRrQQJ0QdjAAGooAgALIgRFDQEgBBAiIQMgBUUEQEEAIQVBASEGQQAMAQsgBRAiQQJqCyEBIAEgA2pBAWoQCSIBRQRAQegSKAIAIQUMAQsgAiAENgIIIAJBrBJBkRIgBhs2AgQgAkGsEiAFIAYbNgIAIAFBqwogAhB2IAAgATYCCCABIQULIAJBoAFqJAAgBQszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQBxogACAAKAIUIAFqNgIUIAILBgBBsIgBCwYAQayIAQsGAEGkiAELBwAgAEEEagsHACAAQQhqCyYBAX8gACgCFCIBBEAgARALCyAAKAIEIQEgAEEEahAxIAAQBiABC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkHBAGtBGkkbIAEtAAAiAkEgciACIAJBwQBrQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBwQBrQRpJGyABLQAAIgBBIHIgACAAQcEAa0EaSRtrC8sGAgJ+An8jAEHgAGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDg8AAQoCAwQGBwgICAgICAUICyABQgA3AyAMCQsgACACIAMQESIFQn9XBEAgAUEIaiIBBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMCAsCQCAFUARAIAEpAygiAyABKQMgUg0BIAEgAzcDGCABQQE2AgQgASgCAEUNASAAIAdBKGoQIUF/TARAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAoLAkAgBykDKCIDQiCDUA0AIAcoAlQgASgCMEYNACABQQhqBEAgAUEANgIMIAFBBzYCCAsMCgsgA0IEg1ANASAHKQNAIAEpAxhRDQEgAUEIagRAIAFBADYCDCABQRU2AggLDAkLIAEoAgQNACABKQMoIgMgASkDICIGVA0AIAUgAyAGfSIDWA0AIAEoAjAhBANAIAECfyAFIAN9IgZC/////w8gBkL/////D1QbIganIQBBACACIAOnaiIIRQ0AGiAEIAggAEHUgAEoAgARAAALIgQ2AjAgASABKQMoIAZ8NwMoIAUgAyAGfCIDVg0ACwsgASABKQMgIAV8NwMgDAgLIAEoAgRFDQcgAiABKQMYIgM3AxggASgCMCEAIAJBADYCMCACIAM3AyAgAiAANgIsIAIgAikDAELsAYQ3AwAMBwsgA0IIWgR+IAIgASgCCDYCACACIAEoAgw2AgRCCAVCfwshBQwGCyABEAYMBQtCfyEFIAApAxgiA0J/VwRAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAULIAdBfzYCGCAHQo+AgICAAjcDECAHQoyAgIDQATcDCCAHQomAgICgATcDACADQQggBxAkQn+FgyEFDAQLIANCD1gEQCABQQhqBEAgAUEANgIMIAFBEjYCCAsMAwsgAkUNAgJAIAAgAikDACACKAIIEBRBAE4EQCAAEDMiA0J/VQ0BCyABQQhqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwDCyABIAM3AyAMAwsgASkDICEFDAILIAFBCGoEQCABQQA2AgwgAUEcNgIICwtCfyEFCyAHQeAAaiQAIAULjAcCAn4CfyMAQRBrIgckAAJAAkACQAJAAkACQAJAAkACQAJAIAQOEQABAgMFBggICAgICAgIBwgECAsgAUJ/NwMgIAFBADoADyABQQA7AQwgAUIANwMYIAEoAqxAIAEoAqhAKAIMEQEArUIBfSEFDAgLQn8hBSABKAIADQdCACEFIANQDQcgAS0ADQ0HIAFBKGohBAJAA0ACQCAHIAMgBX03AwggASgCrEAgAiAFp2ogB0EIaiABKAKoQCgCHBEAACEIQgAgBykDCCAIQQJGGyAFfCEFAkACQAJAIAhBAWsOAwADAQILIAFBAToADSABKQMgIgNCf1cEQCABBEAgAUEANgIEIAFBFDYCAAsMBQsgAS0ADkUNBCADIAVWDQQgASADNwMYIAFBAToADyACIAQgA6cQBxogASkDGCEFDAwLIAEtAAwNAyAAIARCgMAAEBEiBkJ/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwECyAGUARAIAFBAToADCABKAKsQCABKAKoQCgCGBEDACABKQMgQn9VDQEgAUIANwMgDAELAkAgASkDIEIAWQRAIAFBADoADgwBCyABIAY3AyALIAEoAqxAIAQgBiABKAKoQCgCFBEPABoLIAMgBVYNAQwCCwsgASgCAA0AIAEEQCABQQA2AgQgAUEUNgIACwsgBVBFBEAgAUEAOgAOIAEgASkDGCAFfDcDGAwIC0J/QgAgASgCABshBQwHCyABKAKsQCABKAKoQCgCEBEBAK1CAX0hBQwGCyABLQAQBEAgAS0ADQRAIAIgAS0ADwR/QQAFQQggASgCFCIAIABBfUsbCzsBMCACIAEpAxg3AyAgAiACKQMAQsgAhDcDAAwHCyACIAIpAwBCt////w+DNwMADAYLIAJBADsBMCACKQMAIQMgAS0ADQRAIAEpAxghBSACIANCxACENwMAIAIgBTcDGEIAIQUMBgsgAiADQrv///8Pg0LAAIQ3AwAMBQsgAS0ADw0EIAEoAqxAIAEoAqhAKAIIEQEArCEFDAQLIANCCFoEfiACIAEoAgA2AgAgAiABKAIENgIEQggFQn8LIQUMAwsgAUUNAiABKAKsQCABKAKoQCgCBBEDACABEDEgARAGDAILIAdBfzYCAEEQIAcQJEI/hCEFDAELIAEEQCABQQA2AgQgAUEUNgIAC0J/IQULIAdBEGokACAFC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQA6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAu3fAIefwZ+IAIpAwAhIiAAIAE2AhwgACAiQv////8PICJC/////w9UGz4CICAAQRBqIQECfyAALQAEBEACfyAALQAMQQJ0IQpBfiEEAkACQAJAIAEiBUUNACAFKAIgRQ0AIAUoAiRFDQAgBSgCHCIDRQ0AIAMoAgAgBUcNAAJAAkAgAygCICIGQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyAGQZoFRg0AIAZBKkcNAQsgCkEFSw0AAkACQCAFKAIMRQ0AIAUoAgQiAQRAIAUoAgBFDQELIAZBmgVHDQEgCkEERg0BCyAFQeDAACgCADYCGEF+DAQLIAUoAhBFDQEgAygCJCEEIAMgCjYCJAJAIAMoAhAEQCADEDACQCAFKAIQIgYgAygCECIIIAYgCEkbIgFFDQAgBSgCDCADKAIIIAEQBxogBSAFKAIMIAFqNgIMIAMgAygCCCABajYCCCAFIAUoAhQgAWo2AhQgBSAFKAIQIAFrIgY2AhAgAyADKAIQIAFrIgg2AhAgCA0AIAMgAygCBDYCCEEAIQgLIAYEQCADKAIgIQYMAgsMBAsgAQ0AIApBAXRBd0EAIApBBEsbaiAEQQF0QXdBACAEQQRKG2pKDQAgCkEERg0ADAILAkACQAJAAkACQCAGQSpHBEAgBkGaBUcNASAFKAIERQ0DDAcLIAMoAhRFBEAgA0HxADYCIAwCCyADKAI0QQx0QYDwAWshBAJAIAMoAowBQQJODQAgAygCiAEiAUEBTA0AIAFBBUwEQCAEQcAAciEEDAELQYABQcABIAFBBkYbIARyIQQLIAMoAgQgCGogBEEgciAEIAMoAmgbIgFBH3AgAXJBH3NBCHQgAUGA/gNxQQh2cjsAACADIAMoAhBBAmoiATYCECADKAJoBEAgAygCBCABaiAFKAIwIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYAACADIAMoAhBBBGo2AhALIAVBATYCMCADQfEANgIgIAUQCiADKAIQDQcgAygCICEGCwJAAkACQAJAIAZBOUYEfyADQaABakHkgAEoAgARAQAaIAMgAygCECIBQQFqNgIQIAEgAygCBGpBHzoAACADIAMoAhAiAUEBajYCECABIAMoAgRqQYsBOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBCDoAAAJAIAMoAhwiAUUEQCADKAIEIAMoAhBqQQA2AAAgAyADKAIQIgFBBWo2AhAgASADKAIEakEAOgAEQQIhBCADKAKIASIBQQlHBEBBBCABQQJIQQJ0IAMoAowBQQFKGyEECyADIAMoAhAiAUEBajYCECABIAMoAgRqIAQ6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEDOgAAIANB8QA2AiAgBRAKIAMoAhBFDQEMDQsgASgCJCELIAEoAhwhCSABKAIQIQggASgCLCENIAEoAgAhBiADIAMoAhAiAUEBajYCEEECIQQgASADKAIEaiANQQBHQQF0IAZBAEdyIAhBAEdBAnRyIAlBAEdBA3RyIAtBAEdBBHRyOgAAIAMoAgQgAygCEGogAygCHCgCBDYAACADIAMoAhAiDUEEaiIGNgIQIAMoAogBIgFBCUcEQEEEIAFBAkhBAnQgAygCjAFBAUobIQQLIAMgDUEFajYCECADKAIEIAZqIAQ6AAAgAygCHCgCDCEEIAMgAygCECIBQQFqNgIQIAEgAygCBGogBDoAACADKAIcIgEoAhAEfyADKAIEIAMoAhBqIAEoAhQ7AAAgAyADKAIQQQJqNgIQIAMoAhwFIAELKAIsBEAgBQJ/IAUoAjAhBiADKAIQIQRBACADKAIEIgFFDQAaIAYgASAEQdSAASgCABEAAAs2AjALIANBxQA2AiAgA0EANgIYDAILIAMoAiAFIAYLQcUAaw4jAAQEBAEEBAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAMECyADKAIcIgEoAhAiBgRAIAMoAgwiCCADKAIQIgQgAS8BFCADKAIYIg1rIglqSQRAA0AgAygCBCAEaiAGIA1qIAggBGsiCBAHGiADIAMoAgwiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIAMgAygCGCAIajYCGCAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAsgAygCEA0MIAMoAhghDSADKAIcKAIQIQZBACEEIAkgCGsiCSADKAIMIghLDQALCyADKAIEIARqIAYgDWogCRAHGiADIAMoAhAgCWoiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiBCEJA0ACQCAEIAMoAgxHDQACQCADKAIcKAIsRQ0AIAQgCU0NACAFAn8gBSgCMCEGQQAgAygCBCAJaiIBRQ0AGiAGIAEgBCAJa0HUgAEoAgARAAALNgIwCyAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAtBACEEQQAhCSADKAIQRQ0ADAsLIAMoAhwoAhwhBiADIAMoAhgiAUEBajYCGCABIAZqLQAAIQEgAyAEQQFqNgIQIAMoAgQgBGogAToAACABBEAgAygCECEEDAELCwJAIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0EANgIYCyADQdsANgIgCwJAIAMoAhwoAiRFDQAgAygCECIEIQkDQAJAIAQgAygCDEcNAAJAIAMoAhwoAixFDQAgBCAJTQ0AIAUCfyAFKAIwIQZBACADKAIEIAlqIgFFDQAaIAYgASAEIAlrQdSAASgCABEAAAs2AjALIAUoAhwiBhAwAkAgBSgCECIEIAYoAhAiASABIARLGyIBRQ0AIAUoAgwgBigCCCABEAcaIAUgBSgCDCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQLDAILAn8CQANAAkACQAJAAkACQCADKAI8Ig1BggJLDQAgAxAvAkAgAygCPCINQYICSw0AIAoNAEEADAgLIA1FDQQgDUECSw0AIAMoAmghCAwBCyADKAJoIghFBEBBACEIDAELIAMoAkggCGoiAUEBayIELQAAIgYgAS0AAEcNACAGIAQtAAJHDQAgBEEDaiEEQQAhCQJAA0AgBiAELQAARw0BIAQtAAEgBkcEQCAJQQFyIQkMAgsgBC0AAiAGRwRAIAlBAnIhCQwCCyAELQADIAZHBEAgCUEDciEJDAILIAQtAAQgBkcEQCAJQQRyIQkMAgsgBC0ABSAGRwRAIAlBBXIhCQwCCyAELQAGIAZHBEAgCUEGciEJDAILIAQtAAcgBkcEQCAJQQdyIQkMAgsgBEEIaiEEIAlB+AFJIQEgCUEIaiEJIAENAAtBgAIhCQtBggIhBCANIAlBAmoiASABIA1LGyIBQYECSw0BIAEiBEECSw0BCyADKAJIIAhqLQAAIQQgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEAOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIAQ6AAAgAyAEQQJ0aiIBIAEvAeQBQQFqOwHkASADIAMoAjxBAWs2AjwgAyADKAJoQQFqIgQ2AmgMAQsgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEBOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIARBA2s6AAAgAyADKAKALkEBajYCgC4gBEH9zgBqLQAAQQJ0IANqQegJaiIBIAEvAQBBAWo7AQAgA0GAywAtAABBAnRqQdgTaiIBIAEvAQBBAWo7AQAgAyADKAI8IARrNgI8IAMgAygCaCAEaiIENgJoCyADKALwLSADKAL0LUcNAUEAIQggAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyAEIAFrQQAQDyADIAMoAmg2AlggAygCABAKIAMoAgAoAhANAQwCCwsgA0EANgKELiAKQQRGBEAgAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyADKAJoIAFrQQEQDyADIAMoAmg2AlggAygCABAKQQNBAiADKAIAKAIQGwwCCyADKALwLQRAQQAhCCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEEUNAQtBASEICyAICwwBCyADIAogAUEMbEG42ABqKAIAEQIACyIBQX5xQQJGBEAgA0GaBTYCIAsgAUF9cUUEQEEAIQQgBSgCEA0CDAQLIAFBAUcNAAJAAkACQCAKQQFrDgUAAQEBAgELIAMpA5guISICfwJ+IAMoAqAuIgFBA2oiCUE/TQRAQgIgAa2GICKEDAELIAFBwABGBEAgAygCBCADKAIQaiAiNwAAIAMgAygCEEEIajYCEEICISJBCgwCCyADKAIEIAMoAhBqQgIgAa2GICKENwAAIAMgAygCEEEIajYCECABQT1rIQlCAkHAACABa62ICyEiIAlBB2ogCUE5SQ0AGiADKAIEIAMoAhBqICI3AAAgAyADKAIQQQhqNgIQQgAhIiAJQTlrCyEBIAMgIjcDmC4gAyABNgKgLiADEDAMAQsgA0EAQQBBABA5IApBA0cNACADKAJQQQBBgIAIEBkgAygCPA0AIANBADYChC4gA0EANgJYIANBADYCaAsgBRAKIAUoAhANAAwDC0EAIQQgCkEERw0AAkACfwJAAkAgAygCFEEBaw4CAQADCyAFIANBoAFqQeCAASgCABEBACIBNgIwIAMoAgQgAygCEGogATYAACADIAMoAhBBBGoiATYCECADKAIEIAFqIQQgBSgCCAwBCyADKAIEIAMoAhBqIQQgBSgCMCIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnILIQEgBCABNgAAIAMgAygCEEEEajYCEAsgBRAKIAMoAhQiAUEBTgRAIANBACABazYCFAsgAygCEEUhBAsgBAwCCyAFQezAACgCADYCGEF7DAELIANBfzYCJEEACwwBCyMAQRBrIhQkAEF+IRcCQCABIgxFDQAgDCgCIEUNACAMKAIkRQ0AIAwoAhwiB0UNACAHKAIAIAxHDQAgBygCBCIIQbT+AGtBH0sNACAMKAIMIhBFDQAgDCgCACIBRQRAIAwoAgQNAQsgCEG//gBGBEAgB0HA/gA2AgRBwP4AIQgLIAdBpAFqIR8gB0G8BmohGSAHQbwBaiEcIAdBoAFqIR0gB0G4AWohGiAHQfwKaiEYIAdBQGshHiAHKAKIASEFIAwoAgQiICEGIAcoAoQBIQogDCgCECIPIRYCfwJAAkACQANAAkBBfSEEQQEhCQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAhBtP4Aaw4fBwYICQolJicoBSwtLQsZGgQMAjIzATUANw0OAzlISUwLIAcoApQBIQMgASEEIAYhCAw1CyAHKAKUASEDIAEhBCAGIQgMMgsgBygCtAEhCAwuCyAHKAIMIQgMQQsgBUEOTw0pIAZFDUEgBUEIaiEIIAFBAWohBCAGQQFrIQkgAS0AACAFdCAKaiEKIAVBBkkNDCAEIQEgCSEGIAghBQwpCyAFQSBPDSUgBkUNQCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhJDQ0gBCEBIAghBgwlCyAFQRBPDRUgBkUNPyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDBULIAcoAgwiC0UNByAFQRBPDSIgBkUNPiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDCILIAVBH0sNFQwUCyAFQQ9LDRYMFQsgBygCFCIEQYAIcUUEQCAFIQgMFwsgCiEIIAVBD0sNGAwXCyAKIAVBB3F2IQogBUF4cSIFQR9LDQwgBkUNOiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0GIAQhASAJIQYgCCEFDAwLIAcoArQBIgggBygCqAEiC08NIwwiCyAPRQ0qIBAgBygCjAE6AAAgB0HI/gA2AgQgD0EBayEPIBBBAWohECAHKAIEIQgMOQsgBygCDCIDRQRAQQAhCAwJCyAFQR9LDQcgBkUNNyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0BIAQhASAJIQYgCCEFDAcLIAdBwP4ANgIEDCoLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDgLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMOAsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw4CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgCUUEQCAEIQFBACEGIAghBSANIQQMNwsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBDBwLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDYLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMNgsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAUEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw2CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgBUEIaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDDULIAFBAmohBCAGQQJrIQggAS0AASAJdCAKaiEKIAVBD0sEQCAEIQEgCCEGDBgLIAVBEGohCSAIRQRAIAQhAUEAIQYgCSEFIA0hBAw1CyABQQNqIQQgBkEDayEIIAEtAAIgCXQgCmohCiAFQQdLBEAgBCEBIAghBgwYCyAFQRhqIQUgCEUEQCAEIQFBACEGIA0hBAw1CyAGQQRrIQYgAS0AAyAFdCAKaiEKIAFBBGohAQwXCyAJDQYgBCEBQQAhBiAIIQUgDSEEDDMLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDMLIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQwUCyAMIBYgD2siCSAMKAIUajYCFCAHIAcoAiAgCWo2AiACQCADQQRxRQ0AIAkEQAJAIBAgCWshBCAMKAIcIggoAhQEQCAIQUBrIAQgCUEAQdiAASgCABEIAAwBCyAIIAgoAhwgBCAJQcCAASgCABEAACIENgIcIAwgBDYCMAsLIAcoAhRFDQAgByAeQeCAASgCABEBACIENgIcIAwgBDYCMAsCQCAHKAIMIghBBHFFDQAgBygCHCAKIApBCHRBgID8B3EgCkEYdHIgCkEIdkGA/gNxIApBGHZyciAHKAIUG0YNACAHQdH+ADYCBCAMQaQMNgIYIA8hFiAHKAIEIQgMMQtBACEKQQAhBSAPIRYLIAdBz/4ANgIEDC0LIApB//8DcSIEIApBf3NBEHZHBEAgB0HR/gA2AgQgDEGOCjYCGCAHKAIEIQgMLwsgB0HC/gA2AgQgByAENgKMAUEAIQpBACEFCyAHQcP+ADYCBAsgBygCjAEiBARAIA8gBiAEIAQgBksbIgQgBCAPSxsiCEUNHiAQIAEgCBAHIQQgByAHKAKMASAIazYCjAEgBCAIaiEQIA8gCGshDyABIAhqIQEgBiAIayEGIAcoAgQhCAwtCyAHQb/+ADYCBCAHKAIEIQgMLAsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBCyAHIAo2AhQgCkH/AXFBCEcEQCAHQdH+ADYCBCAMQYIPNgIYIAcoAgQhCAwrCyAKQYDAA3EEQCAHQdH+ADYCBCAMQY0JNgIYIAcoAgQhCAwrCyAHKAIkIgQEQCAEIApBCHZBAXE2AgALAkAgCkGABHFFDQAgBy0ADEEEcUUNACAUIAo7AAwgBwJ/IAcoAhwhBUEAIBRBDGoiBEUNABogBSAEQQJB1IABKAIAEQAACzYCHAsgB0G2/gA2AgRBACEFQQAhCgsgBkUNKCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhPBEAgBCEBIAghBgwBCyAFQQhqIQkgCEUEQCAEIQFBACEGIAkhBSANIQQMKwsgAUECaiEEIAZBAmshCCABLQABIAl0IApqIQogBUEPSwRAIAQhASAIIQYMAQsgBUEQaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDCsLIAFBA2ohBCAGQQNrIQggAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCCEGDAELIAVBGGohBSAIRQRAIAQhAUEAIQYgDSEEDCsLIAZBBGshBiABLQADIAV0IApqIQogAUEEaiEBCyAHKAIkIgQEQCAEIAo2AgQLAkAgBy0AFUECcUUNACAHLQAMQQRxRQ0AIBQgCjYADCAHAn8gBygCHCEFQQAgFEEMaiIERQ0AGiAFIARBBEHUgAEoAgARAAALNgIcCyAHQbf+ADYCBEEAIQVBACEKCyAGRQ0mIAFBAWohBCAGQQFrIQggAS0AACAFdCAKaiEKIAVBCE8EQCAEIQEgCCEGDAELIAVBCGohBSAIRQRAIAQhAUEAIQYgDSEEDCkLIAZBAmshBiABLQABIAV0IApqIQogAUECaiEBCyAHKAIkIgQEQCAEIApBCHY2AgwgBCAKQf8BcTYCCAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgFCAKOwAMIAcCfyAHKAIcIQVBACAUQQxqIgRFDQAaIAUgBEECQdSAASgCABEAAAs2AhwLIAdBuP4ANgIEQQAhCEEAIQVBACEKIAcoAhQiBEGACHENAQsgBygCJCIEBEAgBEEANgIQCyAIIQUMAgsgBkUEQEEAIQYgCCEKIA0hBAwmCyABQQFqIQkgBkEBayELIAEtAAAgBXQgCGohCiAFQQhPBEAgCSEBIAshBgwBCyAFQQhqIQUgC0UEQCAJIQFBACEGIA0hBAwmCyAGQQJrIQYgAS0AASAFdCAKaiEKIAFBAmohAQsgByAKQf//A3EiCDYCjAEgBygCJCIFBEAgBSAINgIUC0EAIQUCQCAEQYAEcUUNACAHLQAMQQRxRQ0AIBQgCjsADCAHAn8gBygCHCEIQQAgFEEMaiIERQ0AGiAIIARBAkHUgAEoAgARAAALNgIcC0EAIQoLIAdBuf4ANgIECyAHKAIUIglBgAhxBEAgBiAHKAKMASIIIAYgCEkbIg4EQAJAIAcoAiQiA0UNACADKAIQIgRFDQAgAygCGCILIAMoAhQgCGsiCE0NACAEIAhqIAEgCyAIayAOIAggDmogC0sbEAcaIAcoAhQhCQsCQCAJQYAEcUUNACAHLQAMQQRxRQ0AIAcCfyAHKAIcIQRBACABRQ0AGiAEIAEgDkHUgAEoAgARAAALNgIcCyAHIAcoAowBIA5rIgg2AowBIAYgDmshBiABIA5qIQELIAgNEwsgB0G6/gA2AgQgB0EANgKMAQsCQCAHLQAVQQhxBEBBACEIIAZFDQQDQCABIAhqLQAAIQMCQCAHKAIkIgtFDQAgCygCHCIERQ0AIAcoAowBIgkgCygCIE8NACAHIAlBAWo2AowBIAQgCWogAzoAAAsgA0EAIAYgCEEBaiIISxsNAAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgBwJ/IAcoAhwhBEEAIAFFDQAaIAQgASAIQdSAASgCABEAAAs2AhwLIAEgCGohASAGIAhrIQYgA0UNAQwTCyAHKAIkIgRFDQAgBEEANgIcCyAHQbv+ADYCBCAHQQA2AowBCwJAIActABVBEHEEQEEAIQggBkUNAwNAIAEgCGotAAAhAwJAIAcoAiQiC0UNACALKAIkIgRFDQAgBygCjAEiCSALKAIoTw0AIAcgCUEBajYCjAEgBCAJaiADOgAACyADQQAgBiAIQQFqIghLGw0ACwJAIActABVBAnFFDQAgBy0ADEEEcUUNACAHAn8gBygCHCEEQQAgAUUNABogBCABIAhB1IABKAIAEQAACzYCHAsgASAIaiEBIAYgCGshBiADRQ0BDBILIAcoAiQiBEUNACAEQQA2AiQLIAdBvP4ANgIECyAHKAIUIgtBgARxBEACQCAFQQ9LDQAgBkUNHyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEITwRAIAQhASAJIQYgCCEFDAELIAlFBEAgBCEBQQAhBiAIIQUgDSEEDCILIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQsCQCAHLQAMQQRxRQ0AIAogBy8BHEYNACAHQdH+ADYCBCAMQdcMNgIYIAcoAgQhCAwgC0EAIQpBACEFCyAHKAIkIgQEQCAEQQE2AjAgBCALQQl2QQFxNgIsCwJAIActAAxBBHFFDQAgC0UNACAHIB5B5IABKAIAEQEAIgQ2AhwgDCAENgIwCyAHQb/+ADYCBCAHKAIEIQgMHgtBACEGDA4LAkAgC0ECcUUNACAKQZ+WAkcNACAHKAIoRQRAIAdBDzYCKAtBACEKIAdBADYCHCAUQZ+WAjsADCAHIBRBDGoiBAR/QQAgBEECQdSAASgCABEAAAVBAAs2AhwgB0G1/gA2AgRBACEFIAcoAgQhCAwdCyAHKAIkIgQEQCAEQX82AjALAkAgC0EBcQRAIApBCHRBgP4DcSAKQQh2akEfcEUNAQsgB0HR/gA2AgQgDEH2CzYCGCAHKAIEIQgMHQsgCkEPcUEIRwRAIAdB0f4ANgIEIAxBgg82AhggBygCBCEIDB0LIApBBHYiBEEPcSIJQQhqIQsgCUEHTUEAIAcoAigiCAR/IAgFIAcgCzYCKCALCyALTxtFBEAgBUEEayEFIAdB0f4ANgIEIAxB+gw2AhggBCEKIAcoAgQhCAwdCyAHQQE2AhxBACEFIAdBADYCFCAHQYACIAl0NgIYIAxBATYCMCAHQb3+AEG//gAgCkGAwABxGzYCBEEAIQogBygCBCEIDBwLIAcgCkEIdEGAgPwHcSAKQRh0ciAKQQh2QYD+A3EgCkEYdnJyIgQ2AhwgDCAENgIwIAdBvv4ANgIEQQAhCkEAIQULIAcoAhBFBEAgDCAPNgIQIAwgEDYCDCAMIAY2AgQgDCABNgIAIAcgBTYCiAEgByAKNgKEAUECIRcMIAsgB0EBNgIcIAxBATYCMCAHQb/+ADYCBAsCfwJAIAcoAghFBEAgBUEDSQ0BIAUMAgsgB0HO/gA2AgQgCiAFQQdxdiEKIAVBeHEhBSAHKAIEIQgMGwsgBkUNGSAGQQFrIQYgAS0AACAFdCAKaiEKIAFBAWohASAFQQhqCyEEIAcgCkEBcTYCCAJAAkACQAJAAkAgCkEBdkEDcUEBaw4DAQIDAAsgB0HB/gA2AgQMAwsgB0Gw2wA2ApgBIAdCiYCAgNAANwOgASAHQbDrADYCnAEgB0HH/gA2AgQMAgsgB0HE/gA2AgQMAQsgB0HR/gA2AgQgDEHXDTYCGAsgBEEDayEFIApBA3YhCiAHKAIEIQgMGQsgByAKQR9xIghBgQJqNgKsASAHIApBBXZBH3EiBEEBajYCsAEgByAKQQp2QQ9xQQRqIgs2AqgBIAVBDmshBSAKQQ52IQogCEEdTUEAIARBHkkbRQRAIAdB0f4ANgIEIAxB6gk2AhggBygCBCEIDBkLIAdBxf4ANgIEQQAhCCAHQQA2ArQBCyAIIQQDQCAFQQJNBEAgBkUNGCAGQQFrIQYgAS0AACAFdCAKaiEKIAVBCGohBSABQQFqIQELIAcgBEEBaiIINgK0ASAHIARBAXRBsOwAai8BAEEBdGogCkEHcTsBvAEgBUEDayEFIApBA3YhCiALIAgiBEsNAAsLIAhBEk0EQEESIAhrIQ1BAyAIa0EDcSIEBEADQCAHIAhBAXRBsOwAai8BAEEBdGpBADsBvAEgCEEBaiEIIARBAWsiBA0ACwsgDUEDTwRAA0AgB0G8AWoiDSAIQQF0IgRBsOwAai8BAEEBdGpBADsBACANIARBsuwAai8BAEEBdGpBADsBACANIARBtOwAai8BAEEBdGpBADsBACANIARBtuwAai8BAEEBdGpBADsBACAIQQRqIghBE0cNAAsLIAdBEzYCtAELIAdBBzYCoAEgByAYNgKYASAHIBg2ArgBQQAhCEEAIBxBEyAaIB0gGRBOIg0EQCAHQdH+ADYCBCAMQfQINgIYIAcoAgQhCAwXCyAHQcb+ADYCBCAHQQA2ArQBQQAhDQsgBygCrAEiFSAHKAKwAWoiESAISwRAQX8gBygCoAF0QX9zIRIgBygCmAEhGwNAIAYhCSABIQsCQCAFIgMgGyAKIBJxIhNBAnRqLQABIg5PBEAgBSEEDAELA0AgCUUNDSALLQAAIAN0IQ4gC0EBaiELIAlBAWshCSADQQhqIgQhAyAEIBsgCiAOaiIKIBJxIhNBAnRqLQABIg5JDQALIAshASAJIQYLAkAgGyATQQJ0ai8BAiIFQQ9NBEAgByAIQQFqIgk2ArQBIAcgCEEBdGogBTsBvAEgBCAOayEFIAogDnYhCiAJIQgMAQsCfwJ/AkACQAJAIAVBEGsOAgABAgsgDkECaiIFIARLBEADQCAGRQ0bIAZBAWshBiABLQAAIAR0IApqIQogAUEBaiEBIARBCGoiBCAFSQ0ACwsgBCAOayEFIAogDnYhBCAIRQRAIAdB0f4ANgIEIAxBvAk2AhggBCEKIAcoAgQhCAwdCyAFQQJrIQUgBEECdiEKIARBA3FBA2ohCSAIQQF0IAdqLwG6AQwDCyAOQQNqIgUgBEsEQANAIAZFDRogBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQNrIQUgCiAOdiIEQQN2IQogBEEHcUEDagwBCyAOQQdqIgUgBEsEQANAIAZFDRkgBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQdrIQUgCiAOdiIEQQd2IQogBEH/AHFBC2oLIQlBAAshAyAIIAlqIBFLDRMgCUEBayEEIAlBA3EiCwRAA0AgByAIQQF0aiADOwG8ASAIQQFqIQggCUEBayEJIAtBAWsiCw0ACwsgBEEDTwRAA0AgByAIQQF0aiIEIAM7Ab4BIAQgAzsBvAEgBCADOwHAASAEIAM7AcIBIAhBBGohCCAJQQRrIgkNAAsLIAcgCDYCtAELIAggEUkNAAsLIAcvAbwFRQRAIAdB0f4ANgIEIAxB0Qs2AhggBygCBCEIDBYLIAdBCjYCoAEgByAYNgKYASAHIBg2ArgBQQEgHCAVIBogHSAZEE4iDQRAIAdB0f4ANgIEIAxB2Ag2AhggBygCBCEIDBYLIAdBCTYCpAEgByAHKAK4ATYCnAFBAiAHIAcoAqwBQQF0akG8AWogBygCsAEgGiAfIBkQTiINBEAgB0HR/gA2AgQgDEGmCTYCGCAHKAIEIQgMFgsgB0HH/gA2AgRBACENCyAHQcj+ADYCBAsCQCAGQQ9JDQAgD0GEAkkNACAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBIAwgFkHogAEoAgARBwAgBygCiAEhBSAHKAKEASEKIAwoAgQhBiAMKAIAIQEgDCgCECEPIAwoAgwhECAHKAIEQb/+AEcNByAHQX82ApBHIAcoAgQhCAwUCyAHQQA2ApBHIAUhCSAGIQggASEEAkAgBygCmAEiEiAKQX8gBygCoAF0QX9zIhVxIg5BAnRqLQABIgsgBU0EQCAFIQMMAQsDQCAIRQ0PIAQtAAAgCXQhCyAEQQFqIQQgCEEBayEIIAlBCGoiAyEJIAMgEiAKIAtqIgogFXEiDkECdGotAAEiC0kNAAsLIBIgDkECdGoiAS8BAiETAkBBACABLQAAIhEgEUHwAXEbRQRAIAshBgwBCyAIIQYgBCEBAkAgAyIFIAsgEiAKQX8gCyARanRBf3MiFXEgC3YgE2oiEUECdGotAAEiDmpPBEAgAyEJDAELA0AgBkUNDyABLQAAIAV0IQ4gAUEBaiEBIAZBAWshBiAFQQhqIgkhBSALIBIgCiAOaiIKIBVxIAt2IBNqIhFBAnRqLQABIg5qIAlLDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAs2ApBHIAsgDmohBiAJIAtrIQMgCiALdiEKIA4hCwsgByAGNgKQRyAHIBNB//8DcTYCjAEgAyALayEFIAogC3YhCiARRQRAIAdBzf4ANgIEDBALIBFBIHEEQCAHQb/+ADYCBCAHQX82ApBHDBALIBFBwABxBEAgB0HR/gA2AgQgDEHQDjYCGAwQCyAHQcn+ADYCBCAHIBFBD3EiAzYClAELAkAgA0UEQCAHKAKMASELIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNDSAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKMASAKQX8gA3RBf3NxaiILNgKMASAJIANrIQUgCiADdiEKCyAHQcr+ADYCBCAHIAs2ApRHCyAFIQkgBiEIIAEhBAJAIAcoApwBIhIgCkF/IAcoAqQBdEF/cyIVcSIOQQJ0ai0AASIDIAVNBEAgBSELDAELA0AgCEUNCiAELQAAIAl0IQMgBEEBaiEEIAhBAWshCCAJQQhqIgshCSALIBIgAyAKaiIKIBVxIg5BAnRqLQABIgNJDQALCyASIA5BAnRqIgEvAQIhEwJAIAEtAAAiEUHwAXEEQCAHKAKQRyEGIAMhCQwBCyAIIQYgBCEBAkAgCyIFIAMgEiAKQX8gAyARanRBf3MiFXEgA3YgE2oiEUECdGotAAEiCWpPBEAgCyEODAELA0AgBkUNCiABLQAAIAV0IQkgAUEBaiEBIAZBAWshBiAFQQhqIg4hBSADIBIgCSAKaiIKIBVxIAN2IBNqIhFBAnRqLQABIglqIA5LDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAcoApBHIANqIgY2ApBHIA4gA2shCyAKIAN2IQoLIAcgBiAJajYCkEcgCyAJayEFIAogCXYhCiARQcAAcQRAIAdB0f4ANgIEIAxB7A42AhggBCEBIAghBiAHKAIEIQgMEgsgB0HL/gA2AgQgByARQQ9xIgM2ApQBIAcgE0H//wNxNgKQAQsCQCADRQRAIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNCCAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKQASAKQX8gA3RBf3NxajYCkAEgCSADayEFIAogA3YhCgsgB0HM/gA2AgQLIA9FDQACfyAHKAKQASIIIBYgD2siBEsEQAJAIAggBGsiCCAHKAIwTQ0AIAcoAoxHRQ0AIAdB0f4ANgIEIAxBuQw2AhggBygCBCEIDBILAn8CQAJ/IAcoAjQiBCAISQRAIAcoAjggBygCLCAIIARrIghragwBCyAHKAI4IAQgCGtqCyILIBAgDyAQaiAQa0EBaqwiISAPIAcoAowBIgQgCCAEIAhJGyIEIAQgD0sbIgitIiIgISAiVBsiIqciCWoiBEkgCyAQT3ENACALIBBNIAkgC2ogEEtxDQAgECALIAkQBxogBAwBCyAQIAsgCyAQayIEIARBH3UiBGogBHMiCRAHIAlqIQQgIiAJrSIkfSIjUEUEQCAJIAtqIQkDQAJAICMgJCAjICRUGyIiQiBUBEAgIiEhDAELICIiIUIgfSImQgWIQgF8QgODIiVQRQRAA0AgBCAJKQAANwAAIAQgCSkAGDcAGCAEIAkpABA3ABAgBCAJKQAINwAIICFCIH0hISAJQSBqIQkgBEEgaiEEICVCAX0iJUIAUg0ACwsgJkLgAFQNAANAIAQgCSkAADcAACAEIAkpABg3ABggBCAJKQAQNwAQIAQgCSkACDcACCAEIAkpADg3ADggBCAJKQAwNwAwIAQgCSkAKDcAKCAEIAkpACA3ACAgBCAJKQBYNwBYIAQgCSkAUDcAUCAEIAkpAEg3AEggBCAJKQBANwBAIAQgCSkAYDcAYCAEIAkpAGg3AGggBCAJKQBwNwBwIAQgCSkAeDcAeCAJQYABaiEJIARBgAFqIQQgIUKAAX0iIUIfVg0ACwsgIUIQWgRAIAQgCSkAADcAACAEIAkpAAg3AAggIUIQfSEhIAlBEGohCSAEQRBqIQQLICFCCFoEQCAEIAkpAAA3AAAgIUIIfSEhIAlBCGohCSAEQQhqIQQLICFCBFoEQCAEIAkoAAA2AAAgIUIEfSEhIAlBBGohCSAEQQRqIQQLICFCAloEQCAEIAkvAAA7AAAgIUICfSEhIAlBAmohCSAEQQJqIQQLICMgIn0hIyAhUEUEQCAEIAktAAA6AAAgCUEBaiEJIARBAWohBAsgI0IAUg0ACwsgBAsMAQsgECAIIA8gBygCjAEiBCAEIA9LGyIIIA9ByIABKAIAEQQACyEQIAcgBygCjAEgCGsiBDYCjAEgDyAIayEPIAQNAiAHQcj+ADYCBCAHKAIEIQgMDwsgDSEJCyAJIQQMDgsgBygCBCEIDAwLIAEgBmohASAFIAZBA3RqIQUMCgsgBCAIaiEBIAUgCEEDdGohBQwJCyAEIAhqIQEgCyAIQQN0aiEFDAgLIAEgBmohASAFIAZBA3RqIQUMBwsgBCAIaiEBIAUgCEEDdGohBQwGCyAEIAhqIQEgAyAIQQN0aiEFDAULIAEgBmohASAFIAZBA3RqIQUMBAsgB0HR/gA2AgQgDEG8CTYCGCAHKAIEIQgMBAsgBCEBIAghBiAHKAIEIQgMAwtBACEGIAQhBSANIQQMAwsCQAJAIAhFBEAgCiEJDAELIAcoAhRFBEAgCiEJDAELAkAgBUEfSw0AIAZFDQMgBUEIaiEJIAFBAWohBCAGQQFrIQsgAS0AACAFdCAKaiEKIAVBGE8EQCAEIQEgCyEGIAkhBQwBCyALRQRAIAQhAUEAIQYgCSEFIA0hBAwGCyAFQRBqIQsgAUECaiEEIAZBAmshAyABLQABIAl0IApqIQogBUEPSwRAIAQhASADIQYgCyEFDAELIANFBEAgBCEBQQAhBiALIQUgDSEEDAYLIAVBGGohCSABQQNqIQQgBkEDayEDIAEtAAIgC3QgCmohCiAFQQdLBEAgBCEBIAMhBiAJIQUMAQsgA0UEQCAEIQFBACEGIAkhBSANIQQMBgsgBUEgaiEFIAZBBGshBiABLQADIAl0IApqIQogAUEEaiEBC0EAIQkgCEEEcQRAIAogBygCIEcNAgtBACEFCyAHQdD+ADYCBEEBIQQgCSEKDAMLIAdB0f4ANgIEIAxBjQw2AhggBygCBCEIDAELC0EAIQYgDSEECyAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBAkAgBygCLA0AIA8gFkYNAiAHKAIEIgFB0P4ASw0CIAFBzv4ASQ0ACwJ/IBYgD2shCiAHKAIMQQRxIQkCQAJAAkAgDCgCHCIDKAI4Ig1FBEBBASEIIAMgAygCACIBKAIgIAEoAiggAygCmEdBASADKAIodGpBARAoIg02AjggDUUNAQsgAygCLCIGRQRAIANCADcDMCADQQEgAygCKHQiBjYCLAsgBiAKTQRAAkAgCQRAAkAgBiAKTw0AIAogBmshBSAQIAprIQEgDCgCHCIGKAIUBEAgBkFAayABIAVBAEHYgAEoAgARCAAMAQsgBiAGKAIcIAEgBUHAgAEoAgARAAAiATYCHCAMIAE2AjALIAMoAiwiDUUNASAQIA1rIQUgAygCOCEBIAwoAhwiBigCFARAIAZBQGsgASAFIA1B3IABKAIAEQgADAILIAYgBigCHCABIAUgDUHEgAEoAgARBAAiATYCHCAMIAE2AjAMAQsgDSAQIAZrIAYQBxoLIANBADYCNCADIAMoAiw2AjBBAAwECyAKIAYgAygCNCIFayIBIAEgCksbIQsgECAKayEGIAUgDWohBQJAIAkEQAJAIAtFDQAgDCgCHCIBKAIUBEAgAUFAayAFIAYgC0HcgAEoAgARCAAMAQsgASABKAIcIAUgBiALQcSAASgCABEEACIBNgIcIAwgATYCMAsgCiALayIFRQ0BIBAgBWshBiADKAI4IQEgDCgCHCINKAIUBEAgDUFAayABIAYgBUHcgAEoAgARCAAMBQsgDSANKAIcIAEgBiAFQcSAASgCABEEACIBNgIcIAwgATYCMAwECyAFIAYgCxAHGiAKIAtrIgUNAgtBACEIIANBACADKAI0IAtqIgUgBSADKAIsIgFGGzYCNCABIAMoAjAiAU0NACADIAEgC2o2AjALIAgMAgsgAygCOCAQIAVrIAUQBxoLIAMgBTYCNCADIAMoAiw2AjBBAAtFBEAgDCgCECEPIAwoAgQhFyAHKAKIAQwDCyAHQdL+ADYCBAtBfCEXDAILIAYhFyAFCyEFIAwgICAXayIBIAwoAghqNgIIIAwgFiAPayIGIAwoAhRqNgIUIAcgBygCICAGajYCICAMIAcoAghBAEdBBnQgBWogBygCBCIFQb/+AEZBB3RqQYACIAVBwv4ARkEIdCAFQcf+AEYbajYCLCAEIARBeyAEGyABIAZyGyEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu5AQEEfyAAQRBqIQECfyAALQAEBEAgARCEAQwBC0F+IQMCQCABRQ0AIAEoAiBFDQAgASgCJCIERQ0AIAEoAhwiAkUNACACKAIAIAFHDQAgAigCBEG0/gBrQR9LDQAgAigCOCIDBEAgBCABKAIoIAMQHiABKAIkIQQgASgCHCECCyAEIAEoAiggAhAeQQAhAyABQQA2AhwLIAMLIgEEQCAAKAIAIgAEQCAAIAE2AgQgAEENNgIACwsgAUUL0gwBBn8gAEIANwIQIABCADcCHCAAQRBqIQICfyAALQAEBEAgACgCCCEBQesMLQAAQTFGBH8Cf0F+IQMCQCACRQ0AIAJBADYCGCACKAIgIgRFBEAgAkEANgIoIAJBJzYCIEEnIQQLIAIoAiRFBEAgAkEoNgIkC0EGIAEgAUF/RhsiBUEASA0AIAVBCUoNAEF8IQMgBCACKAIoQQFB0C4QKCIBRQ0AIAIgATYCHCABIAI2AgAgAUEPNgI0IAFCgICAgKAFNwIcIAFBADYCFCABQYCAAjYCMCABQf//ATYCOCABIAIoAiAgAigCKEGAgAJBAhAoNgJIIAEgAigCICACKAIoIAEoAjBBAhAoIgM2AkwgA0EAIAEoAjBBAXQQGSACKAIgIAIoAihBgIAEQQIQKCEDIAFBgIACNgLoLSABQQA2AkAgASADNgJQIAEgAigCICACKAIoQYCAAkEEECgiAzYCBCABIAEoAugtIgRBAnQ2AgwCQAJAIAEoAkhFDQAgASgCTEUNACABKAJQRQ0AIAMNAQsgAUGaBTYCICACQejAACgCADYCGCACEIQBGkF8DAILIAFBADYCjAEgASAFNgKIASABQgA3AyggASADIARqNgLsLSABIARBA2xBA2s2AvQtQX4hAwJAIAJFDQAgAigCIEUNACACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQACQAJAIAEoAiAiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAJBAjYCLCACQQA2AgggAkIANwIUIAFBADYCECABIAEoAgQ2AgggASgCFCIDQX9MBEAgAUEAIANrIgM2AhQLIAFBOUEqIANBAkYbNgIgIAIgA0ECRgR/IAFBoAFqQeSAASgCABEBAAVBAQs2AjAgAUF+NgIkIAFBADYCoC4gAUIANwOYLiABQYgXakGg0wA2AgAgASABQcwVajYCgBcgAUH8FmpBjNMANgIAIAEgAUHYE2o2AvQWIAFB8BZqQfjSADYCACABIAFB5AFqNgLoFiABEIgBQQAhAwsgAw0AIAIoAhwiAiACKAIwQQF0NgJEQQAhAyACKAJQQQBBgIAIEBkgAiACKAKIASIEQQxsIgFBtNgAai8BADYClAEgAiABQbDYAGovAQA2ApABIAIgAUGy2ABqLwEANgJ4IAIgAUG22ABqLwEANgJ0QfiAASgCACEFQeyAASgCACEGQYCBASgCACEBIAJCADcCbCACQgA3AmQgAkEANgI8IAJBADYChC4gAkIANwJUIAJBKSABIARBCUYiARs2AnwgAkEqIAYgARs2AoABIAJBKyAFIAEbNgKEAQsgAwsFQXoLDAELAn9BekHrDC0AAEExRw0AGkF+IAJFDQAaIAJBADYCGCACKAIgIgNFBEAgAkEANgIoIAJBJzYCIEEnIQMLIAIoAiRFBEAgAkEoNgIkC0F8IAMgAigCKEEBQaDHABAoIgRFDQAaIAIgBDYCHCAEQQA2AjggBCACNgIAIARBtP4ANgIEIARBzIABKAIAEQkANgKYR0F+IQMCQCACRQ0AIAIoAiBFDQAgAigCJCIFRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQACQAJAIAEoAjgiBgRAIAEoAihBD0cNAQsgAUEPNgIoIAFBADYCDAwBCyAFIAIoAiggBhAeIAFBADYCOCACKAIgIQUgAUEPNgIoIAFBADYCDCAFRQ0BCyACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQBBACEDIAFBADYCNCABQgA3AiwgAUEANgIgIAJBADYCCCACQgA3AhQgASgCDCIFBEAgAiAFQQFxNgIwCyABQrT+ADcCBCABQgA3AoQBIAFBADYCJCABQoCAgoAQNwMYIAFCgICAgHA3AxAgAUKBgICAcDcCjEcgASABQfwKaiIFNgK4ASABIAU2ApwBIAEgBTYCmAELQQAgA0UNABogAigCJCACKAIoIAQQHiACQQA2AhwgAwsLIgIEQCAAKAIAIgAEQCAAIAI2AgQgAEENNgIACwsgAkULKQEBfyAALQAERQRAQQAPC0ECIQEgACgCCCIAQQNOBH8gAEEHSgVBAgsLBgAgABAGC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQE6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAukCgIIfwF+QfCAAUH0gAEgACgCdEGBCEkbIQYCQANAAkACfwJAIAAoAjxBhQJLDQAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNAiACQQRPDQBBAAwBCyAAIAAoAmggACgChAERAgALIQMgACAAKAJsOwFgQQIhAgJAIAA1AmggA619IgpCAVMNACAKIAAoAjBBhgJrrVUNACAAKAJwIAAoAnhPDQAgA0UNACAAIAMgBigCABECACICQQVLDQBBAiACIAAoAowBQQFGGyECCwJAIAAoAnAiA0EDSQ0AIAIgA0sNACAAIAAoAvAtIgJBAWo2AvAtIAAoAjwhBCACIAAoAuwtaiAAKAJoIgcgAC8BYEF/c2oiAjoAACAAIAAoAvAtIgVBAWo2AvAtIAUgACgC7C1qIAJBCHY6AAAgACAAKALwLSIFQQFqNgLwLSAFIAAoAuwtaiADQQNrOgAAIAAgACgCgC5BAWo2AoAuIANB/c4Aai0AAEECdCAAakHoCWoiAyADLwEAQQFqOwEAIAAgAkEBayICIAJBB3ZBgAJqIAJBgAJJG0GAywBqLQAAQQJ0akHYE2oiAiACLwEAQQFqOwEAIAAgACgCcCIFQQFrIgM2AnAgACAAKAI8IANrNgI8IAAoAvQtIQggACgC8C0hCSAEIAdqQQNrIgQgACgCaCICSwRAIAAgAkEBaiAEIAJrIgIgBUECayIEIAIgBEkbIAAoAoABEQUAIAAoAmghAgsgAEEANgJkIABBADYCcCAAIAIgA2oiBDYCaCAIIAlHDQJBACECIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgBCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQIMAwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAyAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qQQA6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtakEAOgAAIAAgACgC8C0iBEEBajYC8C0gBCAAKALsLWogAzoAACAAIANBAnRqIgMgAy8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRgRAIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgACgCaCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCgsgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwgACgCACgCEA0CQQAPBSAAQQE2AmQgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwMAgsACwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAiAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtakEAOgAAIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWogAjoAACAAIAJBAnRqIgIgAi8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRhogAEEANgJkCyAAIAAoAmgiA0ECIANBAkkbNgKELiABQQRGBEAgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyADIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACECIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgAyABa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0BC0EBIQILIAIL2BACEH8BfiAAKAKIAUEFSCEOA0ACQAJ/AkACQAJAAn8CQAJAIAAoAjxBhQJNBEAgABAvIAAoAjwiA0GFAksNASABDQFBAA8LIA4NASAIIQMgBSEHIAohDSAGQf//A3FFDQEMAwsgA0UNA0EAIANBBEkNARoLIAAgACgCaEH4gAEoAgARAgALIQZBASECQQAhDSAAKAJoIgOtIAatfSISQgFTDQIgEiAAKAIwQYYCa61VDQIgBkUNAiAAIAZB8IABKAIAEQIAIgZBASAGQfz/A3EbQQEgACgCbCINQf//A3EgA0H//wNxSRshBiADIQcLAkAgACgCPCIEIAZB//8DcSICQQRqTQ0AIAZB//8DcUEDTQRAQQEgBkEBa0H//wNxIglFDQQaIANB//8DcSIEIAdBAWpB//8DcSIDSw0BIAAgAyAJIAQgA2tBAWogAyAJaiAESxtB7IABKAIAEQUADAELAkAgACgCeEEEdCACSQ0AIARBBEkNACAGQQFrQf//A3EiDCAHQQFqQf//A3EiBGohCSAEIANB//8DcSIDTwRAQeyAASgCACELIAMgCUkEQCAAIAQgDCALEQUADAMLIAAgBCADIARrQQFqIAsRBQAMAgsgAyAJTw0BIAAgAyAJIANrQeyAASgCABEFAAwBCyAGIAdqQf//A3EiA0UNACAAIANBAWtB+IABKAIAEQIAGgsgBgwCCyAAIAAoAmgiBUECIAVBAkkbNgKELiABQQRGBEBBACEDIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgBSABa0EBEA8gACAAKAJoNgJYIAAoAgAQCkEDQQIgACgCACgCEBsPCyAAKALwLQRAQQAhAkEAIQMgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAFIAFrQQAQDyAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQMLQQEhAgwCCyADIQdBAQshBEEAIQYCQCAODQAgACgCPEGHAkkNACACIAdB//8DcSIQaiIDIAAoAkRBhgJrTw0AIAAgAzYCaEEAIQogACADQfiAASgCABECACEFAn8CQCAAKAJoIgitIAWtfSISQgFTDQAgEiAAKAIwQYYCa61VDQAgBUUNACAAIAVB8IABKAIAEQIAIQYgAC8BbCIKIAhB//8DcSIFTw0AIAZB//8DcSIDQQRJDQAgCCAEQf//A3FBAkkNARogCCACIApBAWpLDQEaIAggAiAFQQFqSw0BGiAIIAAoAkgiCSACa0EBaiICIApqLQAAIAIgBWotAABHDQEaIAggCUEBayICIApqIgwtAAAgAiAFaiIPLQAARw0BGiAIIAUgCCAAKAIwQYYCayICa0H//wNxQQAgAiAFSRsiEU0NARogCCADQf8BSw0BGiAGIQUgCCECIAQhAyAIIAoiCUECSQ0BGgNAAkAgA0EBayEDIAVBAWohCyAJQQFrIQkgAkEBayECIAxBAWsiDC0AACAPQQFrIg8tAABHDQAgA0H//wNxRQ0AIBEgAkH//wNxTw0AIAVB//8DcUH+AUsNACALIQUgCUH//wNxQQFLDQELCyAIIANB//8DcUEBSw0BGiAIIAtB//8DcUECRg0BGiAIQQFqIQggAyEEIAshBiAJIQogAgwBC0EBIQYgCAshBSAAIBA2AmgLAn8gBEH//wNxIgNBA00EQCAEQf//A3EiA0UNAyAAKAJIIAdB//8DcWotAAAhBCAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBDoAACAAIARBAnRqIgRB5AFqIAQvAeQBQQFqOwEAIAAgACgCPEEBazYCPCAAKALwLSICIAAoAvQtRiIEIANBAUYNARogACgCSCAHQQFqQf//A3FqLQAAIQkgACACQQFqNgLwLSAAKALsLSACakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAk6AAAgACAJQQJ0aiICQeQBaiACLwHkAUEBajsBACAAIAAoAjxBAWs2AjwgBCAAKALwLSICIAAoAvQtRmoiBCADQQJGDQEaIAAoAkggB0ECakH//wNxai0AACEHIAAgAkEBajYC8C0gACgC7C0gAmpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHOgAAIAAgB0ECdGoiB0HkAWogBy8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAQgACgC8C0gACgC9C1GagwBCyAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAdB//8DcSANQf//A3FrIgc6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHQQh2OgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBEEDazoAACAAIAAoAoAuQQFqNgKALiADQf3OAGotAABBAnQgAGpB6AlqIgQgBC8BAEEBajsBACAAIAdBAWsiBCAEQQd2QYACaiAEQYACSRtBgMsAai0AAEECdGpB2BNqIgQgBC8BAEEBajsBACAAIAAoAjwgA2s2AjwgACgC8C0gACgC9C1GCyEEIAAgACgCaCADaiIHNgJoIARFDQFBACECQQAhBCAAIAAoAlgiA0EATgR/IAAoAkggA2oFQQALIAcgA2tBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEA0BCwsgAgu0BwIEfwF+AkADQAJAAkACQAJAIAAoAjxBhQJNBEAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNBCACQQRJDQELIAAgACgCaEH4gAEoAgARAgAhAiAANQJoIAKtfSIGQgFTDQAgBiAAKAIwQYYCa61VDQAgAkUNACAAIAJB8IABKAIAEQIAIgJBBEkNACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qIAAoAmggACgCbGsiAzoAACAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qIANBCHY6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtaiACQQNrOgAAIAAgACgCgC5BAWo2AoAuIAJB/c4Aai0AAEECdCAAakHoCWoiBCAELwEAQQFqOwEAIAAgA0EBayIDIANBB3ZBgAJqIANBgAJJG0GAywBqLQAAQQJ0akHYE2oiAyADLwEAQQFqOwEAIAAgACgCPCACayIFNgI8IAAoAvQtIQMgACgC8C0hBCAAKAJ4IAJPQQAgBUEDSxsNASAAIAAoAmggAmoiAjYCaCAAIAJBAWtB+IABKAIAEQIAGiADIARHDQQMAgsgACgCSCAAKAJoai0AACECIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWpBADoAACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtaiACOgAAIAAgAkECdGoiAkHkAWogAi8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAAgACgCaEEBajYCaCAAKALwLSAAKAL0LUcNAwwBCyAAIAAoAmhBAWoiBTYCaCAAIAUgAkEBayICQeyAASgCABEFACAAIAAoAmggAmo2AmggAyAERw0CC0EAIQNBACECIAAgACgCWCIEQQBOBH8gACgCSCAEagVBAAsgACgCaCAEa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQEMAgsLIAAgACgCaCIEQQIgBEECSRs2AoQuIAFBBEYEQEEAIQIgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAEIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACEDQQAhAiAAIAAoAlgiAUEATgR/IAAoAkggAWoFQQALIAQgAWtBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEEUNAQtBASEDCyADC80JAgl/An4gAUEERiEGIAAoAiwhAgJAAkACQCABQQRGBEAgAkECRg0CIAIEQCAAQQAQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0ECyAAIAYQTyAAQQI2AiwMAQsgAg0BIAAoAjxFDQEgACAGEE8gAEEBNgIsCyAAIAAoAmg2AlgLQQJBASABQQRGGyEKA0ACQCAAKAIMIAAoAhBBCGpLDQAgACgCABAKIAAoAgAiAigCEA0AQQAhAyABQQRHDQIgAigCBA0CIAAoAqAuDQIgACgCLEVBAXQPCwJAAkAgACgCPEGFAk0EQCAAEC8CQCAAKAI8IgNBhQJLDQAgAQ0AQQAPCyADRQ0CIAAoAiwEfyADBSAAIAYQTyAAIAo2AiwgACAAKAJoNgJYIAAoAjwLQQRJDQELIAAgACgCaEH4gAEoAgARAgAhBCAAKAJoIgKtIAStfSILQgFTDQAgCyAAKAIwQYYCa61VDQAgAiAAKAJIIgJqIgMvAAAgAiAEaiICLwAARw0AIANBAmogAkECakHQgAEoAgARAgBBAmoiA0EESQ0AIAAoAjwiAiADIAIgA0kbIgJBggIgAkGCAkkbIgdB/c4Aai0AACICQQJ0IgRBhMkAajMBACEMIARBhskAai8BACEDIAJBCGtBE00EQCAHQQNrIARBgNEAaigCAGutIAOthiAMhCEMIARBsNYAaigCACADaiEDCyAAKAKgLiEFIAMgC6dBAWsiCCAIQQd2QYACaiAIQYACSRtBgMsAai0AACICQQJ0IglBgsoAai8BAGohBCAJQYDKAGozAQAgA62GIAyEIQsgACkDmC4hDAJAIAUgAkEESQR/IAQFIAggCUGA0gBqKAIAa60gBK2GIAuEIQsgCUGw1wBqKAIAIARqCyICaiIDQT9NBEAgCyAFrYYgDIQhCwwBCyAFQcAARgRAIAAoAgQgACgCEGogDDcAACAAIAAoAhBBCGo2AhAgAiEDDAELIAAoAgQgACgCEGogCyAFrYYgDIQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyALQcAAIAVrrYghCwsgACALNwOYLiAAIAM2AqAuIAAgACgCPCAHazYCPCAAIAAoAmggB2o2AmgMAgsgACgCSCAAKAJoai0AAEECdCICQYDBAGozAQAhCyAAKQOYLiEMAkAgACgCoC4iBCACQYLBAGovAQAiAmoiA0E/TQRAIAsgBK2GIAyEIQsMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAIhAwwBCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsLIAAgCzcDmC4gACADNgKgLiAAIAAoAmhBAWo2AmggACAAKAI8QQFrNgI8DAELCyAAIAAoAmgiAkECIAJBAkkbNgKELiAAKAIsIQIgAUEERgRAAkAgAkUNACAAQQEQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQBBAg8LQQMPCyACBEBBACEDIABBABBQIABBADYCLCAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQELQQEhAwsgAwucAQEFfyACQQFOBEAgAiAAKAJIIAFqIgNqQQJqIQQgA0ECaiECIAAoAlQhAyAAKAJQIQUDQCAAIAItAAAgA0EFdEHg/wFxcyIDNgJUIAUgA0EBdGoiBi8BACIHIAFB//8DcUcEQCAAKAJMIAEgACgCOHFB//8DcUEBdGogBzsBACAGIAE7AQALIAFBAWohASACQQFqIgIgBEkNAAsLC1sBAn8gACAAKAJIIAFqLQACIAAoAlRBBXRB4P8BcXMiAjYCVCABIAAoAlAgAkEBdGoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILEwAgAUEFdEHg/wFxIAJB/wFxcwsGACABEAYLLwAjAEEQayIAJAAgAEEMaiABIAJsEIwBIQEgACgCDCECIABBEGokAEEAIAIgARsLjAoCAX4CfyMAQfAAayIGJAACQAJAAkACQAJAAkACQAJAIAQODwABBwIEBQYGBgYGBgYGAwYLQn8hBQJAIAAgBkHkAGpCDBARIgNCf1cEQCABBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMAQsCQCADQgxSBEAgAQRAIAFBADYCBCABQRE2AgALDAELIAEoAhQhBEEAIQJCASEFA0AgBkHkAGogAmoiAiACLQAAIARB/f8DcSICQQJyIAJBA3NsQQh2cyICOgAAIAYgAjoAKCABAn8gASgCDEF/cyECQQAgBkEoaiIERQ0AGiACIARBAUHUgAEoAgARAAALQX9zIgI2AgwgASABKAIQIAJB/wFxakGFiKLAAGxBAWoiAjYCECAGIAJBGHY6ACggAQJ/IAEoAhRBf3MhAkEAIAZBKGoiBEUNABogAiAEQQFB1IABKAIAEQAAC0F/cyIENgIUIAVCDFIEQCAFpyECIAVCAXwhBQwBCwtCACEFIAAgBkEoahAhQQBIDQEgBigCUCEAIwBBEGsiAiQAIAIgADYCDCAGAn8gAkEMahCNASIARQRAIAZBITsBJEEADAELAn8gACgCFCIEQdAATgRAIARBCXQMAQsgAEHQADYCFEGAwAILIQQgBiAAKAIMIAQgACgCEEEFdGpqQaDAAWo7ASQgACgCBEEFdCAAKAIIQQt0aiAAKAIAQQF2ags7ASYgAkEQaiQAIAYtAG8iACAGLQBXRg0BIAYtACcgAEYNASABBEAgAUEANgIEIAFBGzYCAAsLQn8hBQsgBkHwAGokACAFDwtCfyEFIAAgAiADEBEiA0J/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwGCyMAQRBrIgAkAAJAIANQDQAgASgCFCEEIAJFBEBCASEFA0AgACACIAdqLQAAIARB/f8DcSIEQQJyIARBA3NsQQh2czoADyABAn8gASgCDEF/cyEEQQAgAEEPaiIHRQ0AGiAEIAdBAUHUgAEoAgARAAALQX9zIgQ2AgwgASABKAIQIARB/wFxakGFiKLAAGxBAWoiBDYCECAAIARBGHY6AA8gAQJ/IAEoAhRBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIUIAMgBVENAiAFpyEHIAVCAXwhBQwACwALQgEhBQNAIAAgAiAHai0AACAEQf3/A3EiBEECciAEQQNzbEEIdnMiBDoADyACIAdqIAQ6AAAgAQJ/IAEoAgxBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIMIAEgASgCECAEQf8BcWpBhYiiwABsQQFqIgQ2AhAgACAEQRh2OgAPIAECfyABKAIUQX9zIQRBACAAQQ9qIgdFDQAaIAQgB0EBQdSAASgCABEAAAtBf3MiBDYCFCADIAVRDQEgBachByAFQgF8IQUMAAsACyAAQRBqJAAgAyEFDAULIAJBADsBMiACIAIpAwAiA0KAAYQ3AwAgA0IIg1ANBCACIAIpAyBCDH03AyAMBAsgBkKFgICAcDcDECAGQoOAgIDAADcDCCAGQoGAgIAgNwMAQQAgBhAkIQUMAwsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwCCyABEAYMAQsgAQRAIAFBADYCBCABQRI2AgALQn8hBQsgBkHwAGokACAFC60DAgJ/An4jAEEQayIGJAACQAJAAkAgBEUNACABRQ0AIAJBAUYNAQtBACEDIABBCGoiAARAIABBADYCBCAAQRI2AgALDAELIANBAXEEQEEAIQMgAEEIaiIABEAgAEEANgIEIABBGDYCAAsMAQtBGBAJIgVFBEBBACEDIABBCGoiAARAIABBADYCBCAAQQ42AgALDAELIAVBADYCCCAFQgA3AgAgBUGQ8dmiAzYCFCAFQvis0ZGR8dmiIzcCDAJAIAQQIiICRQ0AIAKtIQhBACEDQYfTru5+IQJCASEHA0AgBiADIARqLQAAOgAPIAUgBkEPaiIDBH8gAiADQQFB1IABKAIAEQAABUEAC0F/cyICNgIMIAUgBSgCECACQf8BcWpBhYiiwABsQQFqIgI2AhAgBiACQRh2OgAPIAUCfyAFKAIUQX9zIQJBACAGQQ9qIgNFDQAaIAIgA0EBQdSAASgCABEAAAtBf3M2AhQgByAIUQ0BIAUoAgxBf3MhAiAHpyEDIAdCAXwhBwwACwALIAAgAUElIAUQQiIDDQAgBRAGQQAhAwsgBkEQaiQAIAMLnRoCBn4FfyMAQdAAayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDhQFBhULAwQJDgACCBAKDw0HEQERDBELAkBByAAQCSIBBEAgAUIANwMAIAFCADcDMCABQQA2AiggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDOCABQQgQCSIDNgIEIAMNASABEAYgAARAIABBADYCBCAAQQ42AgALCyAAQQA2AhQMFAsgA0IANwMAIAAgATYCFCABQUBrQgA3AwAgAUIANwM4DBQLAkACQCACUARAQcgAEAkiA0UNFCADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAJIgE2AgQgAQ0BIAMQBiAABEAgAEEANgIEIABBDjYCAAsMFAsgAiAAKAIQIgEpAzBWBEAgAARAIABBADYCBCAAQRI2AgALDBQLIAEoAigEQCAABEAgAEEANgIEIABBHTYCAAsMFAsgASgCBCEDAkAgASkDCCIGQgF9IgdQDQADQAJAIAIgAyAHIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQcMAQsgBSAGUQRAIAYhBQwDCyADIAVCAXwiBKdBA3RqKQMAIAJWDQILIAQhBSAEIAdUDQALCwJAIAIgAyAFpyIKQQN0aikDAH0iBFBFBEAgASgCACIDIApBBHRqKQMIIQcMAQsgASgCACIDIAVCAX0iBadBBHRqKQMIIgchBAsgAiAHIAR9VARAIAAEQCAAQQA2AgQgAEEcNgIACwwUCyADIAVCAXwiBUEAIAAQiQEiA0UNEyADKAIAIAMoAggiCkEEdGpBCGsgBDcDACADKAIEIApBA3RqIAI3AwAgAyACNwMwIAMgASkDGCIGIAMpAwgiBEIBfSIHIAYgB1QbNwMYIAEgAzYCKCADIAE2AiggASAENwMgIAMgBTcDIAwBCyABQgA3AwALIAAgAzYCFCADIAQ3A0AgAyACNwM4QgAhBAwTCyAAKAIQIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAKAIUIQEgAEEANgIUIAAgATYCEAwSCyACQghaBH4gASAAKAIANgIAIAEgACgCBDYCBEIIBUJ/CyEEDBELIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAQBgwQCyAAKAIQIgBCADcDOCAAQUBrQgA3AwAMDwsgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwOCyACIAAoAhAiAykDMCADKQM4IgZ9IgUgAiAFVBsiBVANDiABIAMpA0AiB6ciAEEEdCIBIAMoAgBqIgooAgAgBiADKAIEIABBA3RqKQMAfSICp2ogBSAKKQMIIAJ9IgYgBSAGVBsiBKcQByEKIAcgBCADKAIAIgAgAWopAwggAn1RrXwhAiAFIAZWBEADQCAKIASnaiAAIAKnQQR0IgFqIgAoAgAgBSAEfSIGIAApAwgiByAGIAdUGyIGpxAHGiACIAYgAygCACIAIAFqKQMIUa18IQIgBSAEIAZ8IgRWDQALCyADIAI3A0AgAyADKQM4IAR8NwM4DA4LQn8hBEHIABAJIgNFDQ0gA0IANwMAIANCADcDMCADQQA2AiggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDOCADQQgQCSIBNgIEIAFFBEAgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwOCyABQgA3AwAgACgCECIBBEACQCABKAIoIgpFBEAgASkDGCEEDAELIApBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgQ3AxgLIAEpAwggBFYEQANAIAEoAgAgBKdBBHRqKAIAEAYgBEIBfCIEIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACADNgIQQgAhBAwNCyAAKAIUIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAQQA2AhQMDAsgACgCECIDKQM4IAMpAzAgASACIAAQRCIHQgBTDQogAyAHNwM4AkAgAykDCCIGQgF9IgJQDQAgAygCBCEAA0ACQCAHIAAgAiAEfUIBiCAEfCIFp0EDdGopAwBUBEAgBUIBfSECDAELIAUgBlEEQCAGIQUMAwsgACAFQgF8IgSnQQN0aikDACAHVg0CCyAEIQUgAiAEVg0ACwsgAyAFNwNAQgAhBAwLCyAAKAIUIgMpAzggAykDMCABIAIgABBEIgdCAFMNCSADIAc3AzgCQCADKQMIIgZCAX0iAlANACADKAIEIQADQAJAIAcgACACIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQIMAQsgBSAGUQRAIAYhBQwDCyAAIAVCAXwiBKdBA3RqKQMAIAdWDQILIAQhBSACIARWDQALCyADIAU3A0BCACEEDAoLIAJCN1gEQCAABEAgAEEANgIEIABBEjYCAAsMCQsgARAqIAEgACgCDDYCKCAAKAIQKQMwIQIgAUEANgIwIAEgAjcDICABIAI3AxggAULcATcDAEI4IQQMCQsgACABKAIANgIMDAgLIAtBQGtBfzYCACALQouAgICwAjcDOCALQoyAgIDQATcDMCALQo+AgICgATcDKCALQpGAgICQATcDICALQoeAgICAATcDGCALQoWAgIDgADcDECALQoOAgIDAADcDCCALQoGAgIAgNwMAQQAgCxAkIQQMBwsgACgCECkDOCIEQn9VDQYgAARAIABBPTYCBCAAQR42AgALDAULIAAoAhQpAzgiBEJ/VQ0FIAAEQCAAQT02AgQgAEEeNgIACwwEC0J/IQQgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwFCyACIAAoAhQiAykDOCACfCIFQv//A3wiBFYEQCAABEAgAEEANgIEIABBEjYCAAsMBAsCQCAFIAMoAgQiCiADKQMIIganQQN0aikDACIHWA0AAkAgBCAHfUIQiCAGfCIIIAMpAxAiCVgNAEIQIAkgCVAbIQUDQCAFIgRCAYYhBSAEIAhUDQALIAQgCVQNACADKAIAIASnIgpBBHQQNCIMRQ0DIAMgDDYCACADKAIEIApBA3RBCGoQNCIKRQ0DIAMgBDcDECADIAo2AgQgAykDCCEGCyAGIAhaDQAgAygCACEMA0AgDCAGp0EEdGoiDUGAgAQQCSIONgIAIA5FBEAgAARAIABBADYCBCAAQQ42AgALDAYLIA1CgIAENwMIIAMgBkIBfCIFNwMIIAogBadBA3RqIAdCgIAEfCIHNwMAIAMpAwgiBiAIVA0ACwsgAykDQCEFIAMpAzghBwJAIAJQBEBCACEEDAELIAWnIgBBBHQiDCADKAIAaiINKAIAIAcgCiAAQQN0aikDAH0iBqdqIAEgAiANKQMIIAZ9IgcgAiAHVBsiBKcQBxogBSAEIAMoAgAiACAMaikDCCAGfVGtfCEFIAIgB1YEQANAIAAgBadBBHQiCmoiACgCACABIASnaiACIAR9IgYgACkDCCIHIAYgB1QbIganEAcaIAUgBiADKAIAIgAgCmopAwhRrXwhBSAEIAZ8IgQgAlQNAAsLIAMpAzghBwsgAyAFNwNAIAMgBCAHfCICNwM4IAIgAykDMFgNBCADIAI3AzAMBAsgAARAIABBADYCBCAAQRw2AgALDAILIAAEQCAAQQA2AgQgAEEONgIACyAABEAgAEEANgIEIABBDjYCAAsMAQsgAEEANgIUC0J/IQQLIAtB0ABqJAAgBAtIAQF/IABCADcCBCAAIAE2AgACQCABQQBIDQBBsBMoAgAgAUwNACABQQJ0QcATaigCAEEBRw0AQYSEASgCACECCyAAIAI2AgQLDgAgAkGx893xeWxBEHYLvgEAIwBBEGsiACQAIABBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAQRBqJAAgAkGx893xeWxBEHYLuQEBAX8jAEEQayIBJAAgAUEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAQjgEgAUEQaiQAC78BAQF/IwBBEGsiAiQAIAJBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEQkAEhACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFohACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFshACACQRBqJAAgAAu9AQEBfyMAQRBrIgMkACADQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABIAIQjwEgA0EQaiQAC4UBAgR/AX4jAEEQayIBJAACQCAAKQMwUARADAELA0ACQCAAIAVBACABQQ9qIAFBCGoQZiIEQX9GDQAgAS0AD0EDRw0AIAIgASgCCEGAgICAf3FBgICAgHpGaiECC0F/IQMgBEF/Rg0BIAIhAyAFQgF8IgUgACkDMFQNAAsLIAFBEGokACADCwuMdSUAQYAIC7ELaW5zdWZmaWNpZW50IG1lbW9yeQBuZWVkIGRpY3Rpb25hcnkALSsgICAwWDB4AFppcCBhcmNoaXZlIGluY29uc2lzdGVudABJbnZhbGlkIGFyZ3VtZW50AGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAQUUAKG51bGwpADogAFBLBgcAUEsGBgBQSwUGAFBLAwQAUEsBAgAAAAA/BQAAwAcAAJMIAAB4CAAAbwUAAJEFAAB6BQAAsgUAAFYIAAAbBwAA1gQAAAsHAADqBgAAnAUAAMgGAACyCAAAHggAACgHAABHBAAAoAYAAGAFAAAuBAAAPgcAAD8IAAD+BwAAjgYAAMkIAADeCAAA5gcAALIGAABVBQAAqAcAACAAQcgTCxEBAAAAAQAAAAEAAAABAAAAAQBB7BMLCQEAAAABAAAAAgBBmBQLAQEAQbgUCwEBAEHSFAukLDomOyZlJmYmYyZgJiIg2CXLJdklQiZAJmomayY8JrolxCWVITwgtgCnAKwlqCGRIZMhkiGQIR8ilCGyJbwlIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AAIjxwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwAogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAAAAAACWMAd3LGEO7rpRCZkZxG0Hj/RqcDWlY+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By2455Edv5BkELcd8iCwakhxufPeQb6EfdTaGuvk3W1RtdT0x4XTg1aYbBPAqGtkevli/ezJZYpPXAEU2WwGY2M9D/r1DQiNyCBuO14QaUzkQWDVcnFnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtbJu9tA+bys42zYMnVc30XPDdbcWT3Rq6ww2SY6AN5RgFHXyBZh0L+19LQhI8SzVpmVus8Ppb24nrgCKAiIBV+y2QzGJOkLsYd8by8RTGhYqx1hwT0tZraQQdx2BnHbAbwg0pgqENXviYWxcR+1tgal5L+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJdsZJEBXGPm9FFra2JhbBzYMGWFTgBi8u2VBmx7pQEbwfQIglfED/XG2bBlUOm3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU+1hhsk3OUbU6dAC8o+Iwu9RBpd9K15XYPW3E0aT79NbTaulpQ/zZbjRGiGet0Lhg2nMtBETlHQMzX0wKqsl8Dd08cQVQqkECJxAQC76GIAzJJbVoV7OFbyAJ1Ga5n+Rhzg753l6YydkpIpjQsLSo18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmtKxdDlH1eqvd9KdFSbbBIMW3HMSC2PjhDtklD5qbQ2oWmp6C88O5J3/CZMnrgAKsZ4HfUSTD/DSowiHaPIBHv7CBmldV2L3y2dlgHE2bBnnBmtudhvU/uAr04laetoQzErdZ2/fufn5776OQ763F9WOsGDoo9bWfpPRocTC2DhS8t9P8We70WdXvKbdBrU/SzaySNorDdhMGwqv9koDNmB6BEHD72DfVd9nqO+ObjF5vmlGjLNhyxqDZryg0m8lNuJoUpV3DMwDRwu7uRYCIi8mBVW+O7rFKAu9spJatCsEarNcp//XwjHP0LWLntksHa7eW7DCZJsm8mPsnKNqdQqTbQKpBgmcPzYO64VnB3ITVwAFgkq/lRR6uOKuK7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz3Whug9ofzRa+gVsmufbhd7Bvd0e3GOZaCIhwag//yjsGZlwLARH/nmWPaa5i+NP/a2FFz2wWeOIKoO7SDddUgwROwrMDOWEmZ6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3U668qcWeu95/z7JH6f+1MBzyvb2KwrrKMJOzU6ajtCQFNtC6kwbXzSlX3lS/Z9kjLnpms7hKYcQCG2hdlCtvKje+C7ShjgzDG98FWo3vAi0AAAAARjtnZYx2zsrKTamvWevtTh/QiivVnSOEk6ZE4bLW25307bz4PqAVV3ibcjLrPTbTrQZRtmdL+BkhcJ98JavG4GOQoYWp3Qgq7+ZvT3xAK646e0zL8DblZLYNggGXfR190UZ6GBsL07ddMLTSzpbwM4itl1ZC4D75BNtZnAtQ/BpNa5t/hyYy0MEdVbVSuxFUFIB2Md7N356Y9rj7uYYnh/+9QOI18OlNc8uOKOBtysmmVq2sbBsEAyogY2Yu+zr6aMBdn6KN9DDktpNVdxDXtDErsNH7Zhl+vV1+G5wt4WfaFoYCEFsvrVZgSMjFxgwpg/1rTEmwwuMPi6WGFqD4NVCbn1Ca1jb/3O1Rmk9LFXsJcHIewz3bsYUGvNSkdiOo4k1EzSgA7WJuO4oH/Z3O5rumqYNx6wAsN9BnSTMLPtV1MFmwv33wH/lGl3pq4NObLNu0/uaWHVGgrXo0gd3lSMfmgi0NqyuCS5BM59g2CAaeDW9jVEDGzBJ7oakd8AQvW8tjSpGGyuXXva2ARBvpYQIgjgTIbSerjlZAzq8m37LpHbjXI1AReGVrdh32zTL8sPZVmXq7/DY8gJtTOFvCz35gpaq0LQwF8hZrYGGwL4Eni0jk7cbhS6v9hi6KjRlSzLZ+Nwb715hAwLD902b0HJVdk3lfEDrWGStdsyxA8Wtqe5YOoDY/oeYNWMR1qxwlM5B7QPnd0u+/5rWKnpYq9titTZMS4OQ8VNuDWcd9x7iBRqDdSwsJcg0wbhcJ6zeLT9BQ7oWd+UHDpp4kUADaxRY7vaDcdhQPmk1zars97Bb9BotzN0si3HFwRbni1gFYpO1mPW6gz5Iom6j3JxANcWErahSrZsO77V2k3n774D84wIda8o0u9bS2SZCVxtbs0/2xiRmwGCZfi39DzC07oooWXMdAW/VoBmCSDQK7y5FEgKz0js0FW8j2Yj5bUCbfHWtButcm6BWRHY9wsG0QDPZWd2k8G97GeiC5o+mG/UKvvZonZfAziCPLVO064AlefNtuO7aWx5TwraDxYwvkECUwg3XvfSraqUZNv4g20sPODbWmBEAcCUJ7e2zR3T+Nl+ZY6F2r8UcbkJYiH0vPvllwqNuTPQF01QZmEUagIvAAm0WVytbsOozti1+tnRQj66ZzRiHr2uln0L2M9Hb5bbJNngh4ADenPjtQwjGw9UR3i5IhvcY7jvv9XOtoWxgKLmB/b+Qt1sCiFrGlg2Yu2cVdSbwPEOATSSuHdtqNw5ectqTyVvsNXRDAajgUGzOkUiBUwZht/W7eVpoLTfDe6gvLuY/BhhAgh713RabN6Dng9o9cKrsm82yAQZb/JgV3uR1iEnNQy701a6zYAAAAAFiA4tfxBrR0qYZWo+INaOm6jYo+EwvcnUuLPkqFHaEJ3Z1D3nQbFX0sm/eqZxDJ4D+QKzeWFn2UzpafQwo7QhNSu6DE+z32Z6O9FLDoNir6sLbILRkwno5BsHxZjybjGtemAc1+IFduJqC1uW0ri/M1q2kknC0/h8St3VAUdoQmTPZm8eVwMFK98NKF9nvsz677DhgHfVi7X/26bJFrJS/J68f4YG2RWzjtc4xzZk3GK+avEYJg+bLa4BtlHk3GNUbNJOLvS3JBt8uQlvxArtykwEwLDUYaqFXG+H+bUGc8w9CF62pW00gy1jGfeV0P1SHd7QKIW7uh0NtZdijsCE1wbOqa2eq8OYFqXu7K4WCkkmGCczvn1NBjZzYHrfGpRPVxS5Nc9x0wBHf/50/8wa0XfCN6vvp12eZ6lw4i10peeleoidPR/iqLURz9wNoit5hawGAx3JbDaVx0FKfK61f/SgmAVsxfIw5MvfRFx4O+HUdhabTBN8rsQdUdPJqMa2QabrzNnDgflRzayN6X5IKGFwZVL5FQ9ncRsiG5hy1i4QfPtUiBmRYQAXvBW4pFiwMKp1yqjPH/8gwTKDahznhuISyvx6d6DJ8nmNvUrKaRjCxERiWqEuV9KvAys7xvces8jaZCutsFGjo50lGxB5gJMeVPoLez7Pg3UTtQ2BGaCFjzTaHepe75Xkc5stV5c+pVm6RD080HG1Mv0NXFsJONRVJEJMME53xD5jA3yNh6b0g6rcbObA6eTo7ZWuNTiQJjsV6r5ef982UFKrjuO2Dgbtm3SeiPFBFobcPf/vKAh34QVy74RvR2eKQjPfOaaWVzeL7M9S4dlHXMykSulbwcLndrtaghyO0owx+mo/1V/iMfglelSSEPJav2wbM0tZkz1mIwtYDBaDViFiO+XFx7Pr6L0rjoKIo4Cv9OldevFhU1eL+TY9vnE4EMrJi/RvQYXZFdngsyBR7p5cuIdqaTCJRxOo7C0mIOIAUphR5PcQX8mNiDqjuAA0jseDQZ1yC0+wCJMq2j0bJPdJo5cT7CuZPpaz/FSjO/J539KbjepalaCQwvDKpUr+59HyTQN0ekMuDuImRDtqKGlHIPW8Qqj7kTgwnvsNuJDWeQAjMtyILR+mEEh1k5hGWO9xL6za+SGBoGFE65XpSsbhUfkiRNn3Dz5BkmULyZxIdsQp3xNMJ/Jp1EKYXFxMtSjk/1GNbPF89/SUFsJ8mju+lfPPix394vGFmIjEDZalsLUlQRU9K2xvpU4GWi1AKyZnnf4j75PTWXf2uWz/+JQYR0twvc9FXcdXIDfy3y4ajjZH7ru+ScPBJiyp9K4ihIAWkWAlnp9NXwb6J2qO9AoQAAAADhtlLvg2vUBWLdhuoG16gL52H65IW8fA5kCi7hDK5RF+0YA/iPxYUSbnPX/Qp5+Rzrz6vziRItGWikf/YYXKMu+erxwZs3dyt6gSXEHosLJf89Wcqd4N8gfFaNzxTy8jn1RKDWl5kmPHYvdNMSJVoy85MI3ZFOjjdw+NzYMLhGXdEOFLKz05JYUmXAtzZv7lbX2by5tQQ6U1SyaLw8FhdK3aBFpb99w09ey5GgOsG/Qdt37a65qmtEWBw5qyjk5XPJUrecq48xdko5Y5kuM014z4Ufl61YmX1M7suSJEq0ZMX85ounIWBhRpcyjiKdHG/DK06AofbIakBAmoVgcI26gcbfVeMbWb8CrQtQZqclsYcRd17lzPG0BHqjW2ze3K2NaI5C77UIqA4DWkdqCXSmi78mSelioKMI1PJMeCwulJmafHv7R/qRGvGofn77hp+fTdRw/ZBSmhwmAHV0gn+DlTQtbPfpq4YWX/lpclXXiJPjhWfxPgONEIhRYlDIy+exfpkI06Mf4jIVTQ1WH2Pst6kxA9V0t+k0wuUGXGaa8L3QyB/fDU71PrscGlqxMvu7B2AU2drm/jhstBFIlGjJqSI6Jsv/vMwqSe4jTkPAwq/1ki3NKBTHLJ5GKEQ6Od6ljGsxx1Ht2ybnvzRC7ZHVo1vDOsGGRdAgMBc/geZrrmBQOUECjb+r4zvtRIcxw6Vmh5FKBFoXoOXsRU+NSDq5bP5oVg4j7rzvlbxTi5+SsmopwF0I9Ea36UIUWJm6yIB4DJpvGtEchftnTmqfbWCLftsyZBwGtI79sOZhlRSZl3Siy3gWf02S98kffZPDMZxydWNzEKjlmfEet3axXi3zUOh/HDI1+fbTg6sZt4mF+FY/1xc04lH91VQDEr3wfORcRi4LPpuo4d8t+g67J9TvWpGGADhMAOrZ+lIFqQKO3Ui03DIqaVrYy98IN6/VJtZOY3Q5LL7y080IoDylrN/KRBqNJSbHC8/HcVkgo3t3wULNJS4gEKPEwabxK+GW5hQAILT7Yv0yEYNLYP7nQU4fBvcc8GQqmhqFnMj17Ti3AwyO5exuU2MGj+Ux6evvHwgKWU3naITLDYkymeL5ykU6GHwX1XqhkT+bF8PQ/x3tMR6rv958djk0ncBr2/VkFC0U0kbCdg/AKJe5ksfzs7wmEgXuyXDYaCORbjrM0S6gSTCY8qZSRXRMs/Mmo9f5CEI2T1qtVJLcR7UkjqjdgPFePDajsV7rJVu/XXe021dZVTrhC7pYPI1QuYrfv8lyA2coxFGIShnXYquvhY3PpatsLhP5g0zOf2mteC2GxdxScCRqAJ9Gt4Z1pwHUmsML+nsivaiUQGAufqHWfJEAAAAAQ8umh8eQPNSEW5pTzycIc4zsrvQItzSnS3ySIJ5PEObdhLZhWd8sMhoUirVRaBiVEqO+Epb4JEHVM4LGfZlRFz5S95C6CW3D+cLLRLK+WWTxdf/jdS5lsDblwzfj1kHxoB3ndiRGfSVnjduiLPFJgm867wXrYXVWqKrT0foyoy65+QWpPaKf+n5pOX01Fatddt4N2vKFl4mxTjEOZH2zyCe2FU+j7Y8c4CYpm6tau7vokR08bMqHby8BIeiHq/I5xGBUvkA7zu0D8GhqSIz6SgtHXM2PHMaezNdgGRnk4t9aL0RY3nTeC52/eIzWw+qslQhMKxFT1nhSmHD/9GVGXbeu4Noz9XqJcD7cDjtCTi54ieip/NJy+r8Z1H1qKla7KeHwPK26am/ucczopQ1eyObG+E9inWIcIVbEm4n8F0rKN7HNTmwrng2njRlG2x85BRC5voFLI+3CgIVqF7MHrFR4oSvQIzt4k+id/9iUD9+bX6lYHwQzC1zPlYwOV+VzTZxD9MnH2aeKDH8gwXDtAIK7S4cG4NHURSt3U5AY9ZXT01MSV4jJQRRDb8ZfP/3mHPRbYZivwTLbZGe1c860ZDAFEuO0Xoiw95UuN7zpvBf/IhqQe3mAwziyJkTtgaSCrkoCBSoRmFZp2j7RIqas8WFtCnblNpAlpv02oujLjLqrACo9L1uwbmyQFukn7ITJZCciTuB8uB2jtx6adoScXDVPOtuxFKCI8t8GD7mjlC/6aDKofjOo+z34DnyVUt2t1pl7KlLC4XkRCUf+WnXV3hm+c1md5ekK3i5PjQsdzUtI1mvMzI3xn49GVxjEOsU4h/FjvwOq+exAYV9rEvkvlFEyiRPVaRNAlqK1x93eJ+eeFYFgGk4bM1mFvbSMtj9yz32Z9UsmA6YI7aUhQ5E3AQBakYaEAQvVx8qtUm9gfoMsq9gEqPBCV+s75NCgR3bw44zQd2fXSiQkHOyj8S9uZbLkyOI2v1KxdXT0Nj4IZhZ9w8CR+ZhawrpT/EUcrsrnX2VsYNs+9jOY9VC004nClJBCZBMUGf5AV9JYx4Lh2gHBKnyGRXHm1Qa6QFJNxtJyDg109YpW7qbJnUghYTeb8CL8PXemp6ck5WwBo64Qk4Pt2zUEaYCvVypLCdD/eIsWvLMtkTjot8J7IxFFMF+DZXOUJeL3z7+xtAQZNuacacmlV89OIQxVHWLH85opu2G6anDHPe4rXW6t4PvpeNN5LzsY36i/Q0X7/IjjfLf0cVz0P9fbcGRNiDOv6w+bBTje2M6eWVyVBAofXqKNVCIwrRfpliqTsgx50Hmq/gVKKDhGgY6/wtoU7IERsmvKbSBLiaaGzA39HJ9ONroYFAQAAJ0HAAAsCQAAhgUAAEgFAACnBQAAAAQAADIFAAC8BQAALAkAQYDBAAv3CQwACACMAAgATAAIAMwACAAsAAgArAAIAGwACADsAAgAHAAIAJwACABcAAgA3AAIADwACAC8AAgAfAAIAPwACAACAAgAggAIAEIACADCAAgAIgAIAKIACABiAAgA4gAIABIACACSAAgAUgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgABwBIAAcAKAAHAGgABwAYAAcAWAAHADgABwB4AAcABAAHAEQABwAkAAcAZAAHABQABwBUAAcANAAHAHQABwADAAgAgwAIAEMACADDAAgAIwAIAKMACABjAAgA4wAIAAAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUAAgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUABQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAEGBywAL7AYBAgMEBAUFBgYGBgcHBwcICAgICAgICAkJCQkJCQkJCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8AABAREhITExQUFBQVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAAECAwQFBgcICAkJCgoLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBQUFBQUFBQVFRUVFRUVFRUVFRUVFRUVFhYWFhYWFhYWFhYWFhYWFhcXFxcXFxcXFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQYTSAAutAQEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAgCAAAMApAAABAQAAHgEAAA8AAAAAJQAAQCoAAAAAAAAeAAAADwAAAAAAAADAKgAAAAAAABMAAAAHAEHg0wALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHQ1AALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEGA1gALIwIAAAADAAAABwAAAAAAAAAQERIACAcJBgoFCwQMAw0CDgEPAEHQ1gALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHA1wALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEG42AALASwAQcTYAAthLQAAAAQABAAIAAQALgAAAAQABgAQAAYALwAAAAQADAAgABgALwAAAAgAEAAgACAALwAAAAgAEACAAIAALwAAAAgAIACAAAABMAAAACAAgAACAQAEMAAAACAAAgECAQAQMABBsNkAC6UTAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAEwATABMAEwAUABQAFAAUABUAFQAVABUAEABNAMoAAAABAAIAAwAEAAUABwAJAA0AEQAZACEAMQBBAGEAgQDBAAEBgQEBAgEDAQQBBgEIAQwBEAEYASABMAFAAWAAAAAAEAAQABAAEAARABEAEgASABMAEwAUABQAFQAVABYAFgAXABcAGAAYABkAGQAaABoAGwAbABwAHAAdAB0AQABAAGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwAYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIAAAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIAEQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoAEAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboAAAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYAEQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYAFAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4AAAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4AEgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEAEAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEAAAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckAEQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkAFAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUAAAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUAEgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0AEAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0AAAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMAEAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMAEwc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasAAAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsAEgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecAEAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcAAAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8AEQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEHg7AALQREACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABAAkLCwAACQYLAAALAAYRAAAAERERAEGx7QALIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBB6+0ACwEMAEH37QALFQwAAAAADAAAAAAJDAAAAAAADAAADABBpe4ACwEOAEGx7gALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBB3+4ACwEQAEHr7gALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBou8ACw4SAAAAEhISAAAAAAAACQBB0+8ACwELAEHf7wALFQoAAAAACgAAAAAJCwAAAAAACwAACwBBjfAACwEMAEGZ8AALJwwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgBB5PAACwE+AEGL8QALBf//////AEHQ8QALVxkSRDsCPyxHFD0zMAobBkZLRTcPSQ6OFwNAHTxpKzYfSi0cASAlKSEIDBUWIi4QOD4LNDEYZHR1di9BCX85ESNDMkKJiosFBCYoJw0qHjWMBxpIkxOUlQBBsPIAC4oOSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; + if (!isDataURI(wasmBinaryFile)) { + wasmBinaryFile = locateFile(wasmBinaryFile); + } + function getBinary(file) { + try { + if (file == wasmBinaryFile && wasmBinary) { + return new Uint8Array(wasmBinary); + } + var binary = tryParseAsDataURI(file); + if (binary) { + return binary; + } + if (readBinary) { + return readBinary(file); + } else { + throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; + } + } catch (err2) { + abort(err2); + } + } + function instantiateSync(file, info) { + var instance; + var module2; + var binary; + try { + binary = getBinary(file); + module2 = new WebAssembly.Module(binary); + instance = new WebAssembly.Instance(module2, info); + } catch (e) { + var str = e.toString(); + err("failed to compile wasm module: " + str); + if (str.includes("imported Memory") || str.includes("memory import")) { + err( + "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." + ); + } + throw e; + } + return [instance, module2]; + } + function createWasm() { + var info = { a: asmLibraryArg }; + function receiveInstance(instance, module2) { + var exports3 = instance.exports; + Module["asm"] = exports3; + wasmMemory = Module["asm"]["g"]; + updateGlobalBufferAndViews(wasmMemory.buffer); + wasmTable = Module["asm"]["W"]; + addOnInit(Module["asm"]["h"]); + removeRunDependency(); + } + addRunDependency(); + if (Module["instantiateWasm"]) { + try { + var exports2 = Module["instantiateWasm"](info, receiveInstance); + return exports2; + } catch (e) { + err("Module.instantiateWasm callback failed with error: " + e); + return false; + } + } + var result = instantiateSync(wasmBinaryFile, info); + receiveInstance(result[0]); + return Module["asm"]; + } + function LE_HEAP_LOAD_F32(byteOffset) { + return HEAP_DATA_VIEW.getFloat32(byteOffset, true); + } + function LE_HEAP_LOAD_F64(byteOffset) { + return HEAP_DATA_VIEW.getFloat64(byteOffset, true); + } + function LE_HEAP_LOAD_I16(byteOffset) { + return HEAP_DATA_VIEW.getInt16(byteOffset, true); + } + function LE_HEAP_LOAD_I32(byteOffset) { + return HEAP_DATA_VIEW.getInt32(byteOffset, true); + } + function LE_HEAP_STORE_I32(byteOffset, value) { + HEAP_DATA_VIEW.setInt32(byteOffset, value, true); + } + function callRuntimeCallbacks(callbacks) { + while (callbacks.length > 0) { + var callback = callbacks.shift(); + if (typeof callback == "function") { + callback(Module); + continue; + } + var func = callback.func; + if (typeof func === "number") { + if (callback.arg === void 0) { + wasmTable.get(func)(); + } else { + wasmTable.get(func)(callback.arg); + } + } else { + func(callback.arg === void 0 ? null : callback.arg); + } + } + } + function _gmtime_r(time, tmPtr) { + var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); + LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); + LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); + LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); + LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); + LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); + LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); + LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + if (!_gmtime_r.GMTString) + _gmtime_r.GMTString = allocateUTF8("GMT"); + LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); + return tmPtr; + } + function ___gmtime_r(a0, a1) { + return _gmtime_r(a0, a1); + } + function _emscripten_memcpy_big(dest, src, num) { + HEAPU8.copyWithin(dest, src, src + num); + } + function emscripten_realloc_buffer(size) { + try { + wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); + updateGlobalBufferAndViews(wasmMemory.buffer); + return 1; + } catch (e) { + } + } + function _emscripten_resize_heap(requestedSize) { + var oldSize = HEAPU8.length; + requestedSize = requestedSize >>> 0; + var maxHeapSize = 2147483648; + if (requestedSize > maxHeapSize) { + return false; + } + for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { + var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); + overGrownHeapSize = Math.min( + overGrownHeapSize, + requestedSize + 100663296 + ); + var newSize = Math.min( + maxHeapSize, + alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) + ); + var replacement = emscripten_realloc_buffer(newSize); + if (replacement) { + return true; + } + } + return false; + } + function _setTempRet0(val) { + } + function _time(ptr) { + var ret = Date.now() / 1e3 | 0; + if (ptr) { + LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); + } + return ret; + } + function _tzset() { + if (_tzset.called) + return; + _tzset.called = true; + var currentYear = new Date().getFullYear(); + var winter = new Date(currentYear, 0, 1); + var summer = new Date(currentYear, 6, 1); + var winterOffset = winter.getTimezoneOffset(); + var summerOffset = summer.getTimezoneOffset(); + var stdTimezoneOffset = Math.max(winterOffset, summerOffset); + LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); + LE_HEAP_STORE_I32( + (__get_daylight() >> 2) * 4, + Number(winterOffset != summerOffset) + ); + function extractZone(date) { + var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); + return match ? match[1] : "GMT"; + } + var winterName = extractZone(winter); + var summerName = extractZone(summer); + var winterNamePtr = allocateUTF8(winterName); + var summerNamePtr = allocateUTF8(summerName); + if (summerOffset < winterOffset) { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); + } else { + LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); + LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); + } + } + function _timegm(tmPtr) { + _tzset(); + var time = Date.UTC( + LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, + LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), + LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), + 0 + ); + var date = new Date(time); + LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); + var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); + var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; + LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); + return date.getTime() / 1e3 | 0; + } + function intArrayFromBase64(s) { + { + var buf; + try { + buf = Buffer.from(s, "base64"); + } catch (_) { + buf = new Buffer(s, "base64"); + } + return new Uint8Array( + buf["buffer"], + buf["byteOffset"], + buf["byteLength"] + ); + } + } + function tryParseAsDataURI(filename) { + if (!isDataURI(filename)) { + return; + } + return intArrayFromBase64(filename.slice(dataURIPrefix.length)); + } + var asmLibraryArg = { + e: ___gmtime_r, + c: _emscripten_memcpy_big, + d: _emscripten_resize_heap, + a: _setTempRet0, + b: _time, + f: _timegm + }; + var asm = createWasm(); + Module["___wasm_call_ctors"] = asm["h"]; + Module["_zip_ext_count_symlinks"] = asm["i"]; + Module["_zip_file_get_external_attributes"] = asm["j"]; + Module["_zipstruct_statS"] = asm["k"]; + Module["_zipstruct_stat_size"] = asm["l"]; + Module["_zipstruct_stat_mtime"] = asm["m"]; + Module["_zipstruct_stat_crc"] = asm["n"]; + Module["_zipstruct_errorS"] = asm["o"]; + Module["_zipstruct_error_code_zip"] = asm["p"]; + Module["_zipstruct_stat_comp_size"] = asm["q"]; + Module["_zipstruct_stat_comp_method"] = asm["r"]; + Module["_zip_close"] = asm["s"]; + Module["_zip_delete"] = asm["t"]; + Module["_zip_dir_add"] = asm["u"]; + Module["_zip_discard"] = asm["v"]; + Module["_zip_error_init_with_code"] = asm["w"]; + Module["_zip_get_error"] = asm["x"]; + Module["_zip_file_get_error"] = asm["y"]; + Module["_zip_error_strerror"] = asm["z"]; + Module["_zip_fclose"] = asm["A"]; + Module["_zip_file_add"] = asm["B"]; + Module["_free"] = asm["C"]; + var _malloc = Module["_malloc"] = asm["D"]; + Module["_zip_source_error"] = asm["E"]; + Module["_zip_source_seek"] = asm["F"]; + Module["_zip_file_set_external_attributes"] = asm["G"]; + Module["_zip_file_set_mtime"] = asm["H"]; + Module["_zip_fopen_index"] = asm["I"]; + Module["_zip_fread"] = asm["J"]; + Module["_zip_get_name"] = asm["K"]; + Module["_zip_get_num_entries"] = asm["L"]; + Module["_zip_source_read"] = asm["M"]; + Module["_zip_name_locate"] = asm["N"]; + Module["_zip_open_from_source"] = asm["O"]; + Module["_zip_set_file_compression"] = asm["P"]; + Module["_zip_source_buffer"] = asm["Q"]; + Module["_zip_source_buffer_create"] = asm["R"]; + Module["_zip_source_close"] = asm["S"]; + Module["_zip_source_free"] = asm["T"]; + Module["_zip_source_keep"] = asm["U"]; + Module["_zip_source_open"] = asm["V"]; + Module["_zip_source_tell"] = asm["X"]; + Module["_zip_stat_index"] = asm["Y"]; + var __get_tzname = Module["__get_tzname"] = asm["Z"]; + var __get_daylight = Module["__get_daylight"] = asm["_"]; + var __get_timezone = Module["__get_timezone"] = asm["$"]; + var stackSave = Module["stackSave"] = asm["aa"]; + var stackRestore = Module["stackRestore"] = asm["ba"]; + var stackAlloc = Module["stackAlloc"] = asm["ca"]; + Module["cwrap"] = cwrap; + Module["getValue"] = getValue; + var calledRun; + dependenciesFulfilled = function runCaller() { + if (!calledRun) + run(); + if (!calledRun) + dependenciesFulfilled = runCaller; + }; + function run(args) { + if (runDependencies > 0) { + return; + } + preRun(); + if (runDependencies > 0) { + return; + } + function doRun() { + if (calledRun) + return; + calledRun = true; + Module["calledRun"] = true; + if (ABORT) + return; + initRuntime(); + readyPromiseResolve(Module); + if (Module["onRuntimeInitialized"]) + Module["onRuntimeInitialized"](); + postRun(); + } + if (Module["setStatus"]) { + Module["setStatus"]("Running..."); + setTimeout(function() { + setTimeout(function() { + Module["setStatus"](""); + }, 1); + doRun(); + }, 1); + } else { + doRun(); + } + } + Module["run"] = run; + if (Module["preInit"]) { + if (typeof Module["preInit"] == "function") + Module["preInit"] = [Module["preInit"]]; + while (Module["preInit"].length > 0) { + Module["preInit"].pop()(); + } + } + run(); + return createModule2; + }; +}(); +module.exports = createModule; +}(libzipSync)); + +const createModule = libzipSync.exports; + +const number64 = [ + `number`, + `number` +]; +var Errors = /* @__PURE__ */ ((Errors2) => { + Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; + Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; + Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; + Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; + Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; + Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; + Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; + Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; + Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; + Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; + Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; + Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; + Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; + Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; + Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; + Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; + Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; + Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; + Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; + Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; + Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; + Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; + Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; + Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; + Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; + Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; + Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; + Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; + Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; + Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; + Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; + Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; + return Errors2; +})(Errors || {}); +const makeInterface = (emZip) => ({ + get HEAPU8() { + return emZip.HEAPU8; + }, + errors: Errors, + SEEK_SET: 0, + SEEK_CUR: 1, + SEEK_END: 2, + ZIP_CHECKCONS: 4, + ZIP_EXCL: 2, + ZIP_RDONLY: 16, + ZIP_FL_OVERWRITE: 8192, + ZIP_FL_COMPRESSED: 4, + ZIP_OPSYS_DOS: 0, + ZIP_OPSYS_AMIGA: 1, + ZIP_OPSYS_OPENVMS: 2, + ZIP_OPSYS_UNIX: 3, + ZIP_OPSYS_VM_CMS: 4, + ZIP_OPSYS_ATARI_ST: 5, + ZIP_OPSYS_OS_2: 6, + ZIP_OPSYS_MACINTOSH: 7, + ZIP_OPSYS_Z_SYSTEM: 8, + ZIP_OPSYS_CPM: 9, + ZIP_OPSYS_WINDOWS_NTFS: 10, + ZIP_OPSYS_MVS: 11, + ZIP_OPSYS_VSE: 12, + ZIP_OPSYS_ACORN_RISC: 13, + ZIP_OPSYS_VFAT: 14, + ZIP_OPSYS_ALTERNATE_MVS: 15, + ZIP_OPSYS_BEOS: 16, + ZIP_OPSYS_TANDEM: 17, + ZIP_OPSYS_OS_400: 18, + ZIP_OPSYS_OS_X: 19, + ZIP_CM_DEFAULT: -1, + ZIP_CM_STORE: 0, + ZIP_CM_DEFLATE: 8, + uint08S: emZip._malloc(1), + uint32S: emZip._malloc(4), + malloc: emZip._malloc, + free: emZip._free, + getValue: emZip.getValue, + openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), + close: emZip.cwrap(`zip_close`, `number`, [`number`]), + discard: emZip.cwrap(`zip_discard`, null, [`number`]), + getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), + getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), + getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), + delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), + statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), + fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), + fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), + fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), + dir: { + add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) + }, + file: { + add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), + getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), + getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), + setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), + setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) + }, + ext: { + countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) + }, + error: { + initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), + strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) + }, + name: { + locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) + }, + source: { + fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), + fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), + free: emZip.cwrap(`zip_source_free`, null, [`number`]), + keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), + open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), + close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), + seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), + tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), + read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), + error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) + }, + struct: { + statS: emZip.cwrap(`zipstruct_statS`, `number`, []), + statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), + statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), + statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), + statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), + statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), + errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), + errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) + } +}); + +function getArchivePart(path, extension) { + let idx = path.indexOf(extension); + if (idx <= 0) + return null; + let nextCharIdx = idx; + while (idx >= 0) { + nextCharIdx = idx + extension.length; + if (path[nextCharIdx] === ppath.sep) + break; + if (path[idx - 1] === ppath.sep) + return null; + idx = path.indexOf(extension, nextCharIdx); + } + if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) + return null; + return path.slice(0, nextCharIdx); +} +class ZipOpenFS extends MountFS { + static async openPromise(fn, opts) { + const zipOpenFs = new ZipOpenFS(opts); + try { + return await fn(zipOpenFs); + } finally { + zipOpenFs.saveAndClose(); + } + } + constructor(opts = {}) { + const fileExtensions = opts.fileExtensions; + const readOnlyArchives = opts.readOnlyArchives; + const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { + for (const extension of fileExtensions) { + const result = getArchivePart(path, extension); + if (result) { + return result; + } + } + return null; + }; + const factorySync = (baseFs, p) => { + return new ZipFS(p, { + baseFs, + readOnly: readOnlyArchives, + stats: baseFs.statSync(p) + }); + }; + const factoryPromise = async (baseFs, p) => { + const zipOptions = { + baseFs, + readOnly: readOnlyArchives, + stats: await baseFs.statPromise(p) + }; + return () => { + return new ZipFS(p, zipOptions); + }; + }; + super({ + ...opts, + factorySync, + factoryPromise, + getMountPoint + }); + } +} + +const DEFAULT_COMPRESSION_LEVEL = `mixed`; +function toUnixTimestamp(time) { + if (typeof time === `string` && String(+time) === time) + return +time; + if (typeof time === `number` && Number.isFinite(time)) { + if (time < 0) { + return Date.now() / 1e3; + } else { + return time; + } + } + if (nodeUtils.types.isDate(time)) + return time.getTime() / 1e3; + throw new Error(`Invalid time`); +} +function makeEmptyArchive() { + return Buffer.from([ + 80, + 75, + 5, + 6, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ]); +} +class LibzipError extends Error { + constructor(message, code) { + super(message); + this.name = `Libzip Error`; + this.code = code; + } +} +class ZipFS extends BasePortableFakeFS { + constructor(source, opts = {}) { + super(); + this.listings = /* @__PURE__ */ new Map(); + this.entries = /* @__PURE__ */ new Map(); + this.fileSources = /* @__PURE__ */ new Map(); + this.fds = /* @__PURE__ */ new Map(); + this.nextFd = 0; + this.ready = false; + this.readOnly = false; + const pathOptions = opts; + this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; + source ??= makeEmptyArchive(); + if (typeof source === `string`) { + const { baseFs = new NodeFS() } = pathOptions; + this.baseFs = baseFs; + this.path = source; + } else { + this.path = null; + this.baseFs = null; + } + if (opts.stats) { + this.stats = opts.stats; + } else { + if (typeof source === `string`) { + try { + this.stats = this.baseFs.statSync(source); + } catch (error) { + if (error.code === `ENOENT` && pathOptions.create) { + this.stats = makeDefaultStats(); + } else { + throw error; + } + } + } else { + this.stats = makeDefaultStats(); + } + } + this.libzip = getInstance(); + const errPtr = this.libzip.malloc(4); + try { + let flags = 0; + if (opts.readOnly) { + flags |= this.libzip.ZIP_RDONLY; + this.readOnly = true; + } + if (typeof source === `string`) + source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); + const lzSource = this.allocateUnattachedSource(source); + try { + this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); + this.lzSource = lzSource; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + if (this.zip === 0) { + const error = this.libzip.struct.errorS(); + this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); + throw this.makeLibzipError(error); + } + } finally { + this.libzip.free(errPtr); + } + this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); + const entryCount = this.libzip.getNumEntries(this.zip, 0); + for (let t = 0; t < entryCount; ++t) { + const raw = this.libzip.getName(this.zip, t, 0); + if (ppath.isAbsolute(raw)) + continue; + const p = ppath.resolve(PortablePath.root, raw); + this.registerEntry(p, t); + if (raw.endsWith(`/`)) { + this.registerListing(p); + } + } + this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); + if (this.symlinkCount === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.ready = true; + } + makeLibzipError(error) { + const errorCode = this.libzip.struct.errorCodeZip(error); + const strerror = this.libzip.error.strerror(error); + const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); + if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) + throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); + return libzipError; + } + getExtractHint(hints) { + for (const fileName of this.entries.keys()) { + const ext = this.pathUtils.extname(fileName); + if (hints.relevantExtensions.has(ext)) { + return true; + } + } + return false; + } + getAllFiles() { + return Array.from(this.entries.keys()); + } + getRealPath() { + if (!this.path) + throw new Error(`ZipFS don't have real paths when loaded from a buffer`); + return this.path; + } + prepareClose() { + if (!this.ready) + throw EBUSY(`archive closed, close`); + unwatchAllFiles(this); + } + getBufferAndClose() { + this.prepareClose(); + if (this.entries.size === 0) { + this.discardAndClose(); + return makeEmptyArchive(); + } + try { + this.libzip.source.keep(this.lzSource); + if (this.libzip.close(this.zip) === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.libzip.source.open(this.lzSource) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const size = this.libzip.source.tell(this.lzSource); + if (size === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + const buffer = this.libzip.malloc(size); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + try { + const rc = this.libzip.source.read(this.lzSource, buffer, size); + if (rc === -1) + throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); + else if (rc < size) + throw new Error(`Incomplete read`); + else if (rc > size) + throw new Error(`Overread`); + let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); + if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) + result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); + return result; + } finally { + this.libzip.free(buffer); + } + } finally { + this.libzip.source.close(this.lzSource); + this.libzip.source.free(this.lzSource); + this.ready = false; + } + } + discardAndClose() { + this.prepareClose(); + this.libzip.discard(this.zip); + this.ready = false; + } + saveAndClose() { + if (!this.path || !this.baseFs) + throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); + if (this.readOnly) { + this.discardAndClose(); + return; + } + const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; + this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); + this.ready = false; + } + resolve(p) { + return ppath.resolve(PortablePath.root, p); + } + async openPromise(p, flags, mode) { + return this.openSync(p, flags, mode); + } + openSync(p, flags, mode) { + const fd = this.nextFd++; + this.fds.set(fd, { cursor: 0, p }); + return fd; + } + hasOpenFileHandles() { + return !!this.fds.size; + } + async opendirPromise(p, opts) { + return this.opendirSync(p, opts); + } + opendirSync(p, opts = {}) { + const resolvedP = this.resolveFilename(`opendir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`opendir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`opendir '${p}'`); + const entries = [...directoryListing]; + const fd = this.openSync(resolvedP, `r`); + const onClose = () => { + this.closeSync(fd); + }; + return opendir(this, resolvedP, entries, { onClose }); + } + async readPromise(fd, buffer, offset, length, position) { + return this.readSync(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + const realPosition = position === -1 || position === null ? entry.cursor : position; + const source = this.readFileSync(entry.p); + source.copy(buffer, offset, realPosition, realPosition + length); + const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); + if (position === -1 || position === null) + entry.cursor += bytesRead; + return bytesRead; + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.writeSync(fd, buffer, position); + } else { + return this.writeSync(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + throw new Error(`Unimplemented`); + } + async closePromise(fd) { + return this.closeSync(fd); + } + closeSync(fd) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`read`); + this.fds.delete(fd); + } + createReadStream(p, { encoding } = {}) { + if (p === null) + throw new Error(`Unimplemented`); + const fd = this.openSync(p, `r`); + const stream$1 = Object.assign( + new stream.PassThrough({ + emitClose: true, + autoDestroy: true, + destroy: (error, callback) => { + clearImmediate(immediate); + this.closeSync(fd); + callback(error); + } + }), + { + close() { + stream$1.destroy(); + }, + bytesRead: 0, + path: p, + pending: false + } + ); + const immediate = setImmediate(async () => { + try { + const data = await this.readFilePromise(p, encoding); + stream$1.bytesRead = data.length; + stream$1.end(data); + } catch (error) { + stream$1.destroy(error); + } + }); + return stream$1; + } + createWriteStream(p, { encoding } = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (p === null) + throw new Error(`Unimplemented`); + const chunks = []; + const fd = this.openSync(p, `w`); + const stream$1 = Object.assign( + new stream.PassThrough({ + autoDestroy: true, + emitClose: true, + destroy: (error, callback) => { + try { + if (error) { + callback(error); + } else { + this.writeFileSync(p, Buffer.concat(chunks), encoding); + callback(null); + } + } catch (err) { + callback(err); + } finally { + this.closeSync(fd); + } + } + }), + { + close() { + stream$1.destroy(); + }, + bytesWritten: 0, + path: p, + pending: false + } + ); + stream$1.on(`data`, (chunk) => { + const chunkBuffer = Buffer.from(chunk); + stream$1.bytesWritten += chunkBuffer.length; + chunks.push(chunkBuffer); + }); + return stream$1; + } + async realpathPromise(p) { + return this.realpathSync(p); + } + realpathSync(p) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`lstat '${p}'`); + return resolvedP; + } + async existsPromise(p) { + return this.existsSync(p); + } + existsSync(p) { + if (!this.ready) + throw EBUSY(`archive closed, existsSync '${p}'`); + if (this.symlinkCount === 0) { + const resolvedP2 = ppath.resolve(PortablePath.root, p); + return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); + } + let resolvedP; + try { + resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); + } catch (error) { + return false; + } + if (resolvedP === void 0) + return false; + return this.entries.has(resolvedP) || this.listings.has(resolvedP); + } + async accessPromise(p, mode) { + return this.accessSync(p, mode); + } + accessSync(p, mode = fs.constants.F_OK) { + const resolvedP = this.resolveFilename(`access '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`access '${p}'`); + if (this.readOnly && mode & fs.constants.W_OK) { + throw EROFS(`access '${p}'`); + } + } + async statPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.statSync(p, { bigint: true }); + return this.statSync(p); + } + statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`stat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`stat '${p}'`, resolvedP, opts); + } + async fstatPromise(fd, opts) { + return this.fstatSync(fd, opts); + } + fstatSync(fd, opts) { + const entry = this.fds.get(fd); + if (typeof entry === `undefined`) + throw EBADF(`fstatSync`); + const { p } = entry; + const resolvedP = this.resolveFilename(`stat '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`stat '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`stat '${p}'`); + return this.statImpl(`fstat '${p}'`, resolvedP, opts); + } + async lstatPromise(p, opts = { bigint: false }) { + if (opts.bigint) + return this.lstatSync(p, { bigint: true }); + return this.lstatSync(p); + } + lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { + const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); + if (resolvedP === void 0) + return void 0; + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { + if (opts.throwIfNoEntry === false) + return void 0; + throw ENOENT(`lstat '${p}'`); + } + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`lstat '${p}'`); + return this.statImpl(`lstat '${p}'`, resolvedP, opts); + } + statImpl(reason, p, opts = {}) { + const entry = this.entries.get(p); + if (typeof entry !== `undefined`) { + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = this.libzip.struct.statSize(stat) >>> 0; + const blksize = 512; + const blocks = Math.ceil(size / blksize); + const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; + const atimeMs = mtimeMs; + const birthtimeMs = mtimeMs; + const ctimeMs = mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const type = this.listings.has(p) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; + const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; + const mode = type | this.getUnixMode(entry, defaultMode) & 511; + const crc = this.libzip.struct.statCrc(stat); + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + if (this.listings.has(p)) { + const uid = this.stats.uid; + const gid = this.stats.gid; + const size = 0; + const blksize = 512; + const blocks = 0; + const atimeMs = this.stats.mtimeMs; + const birthtimeMs = this.stats.mtimeMs; + const ctimeMs = this.stats.mtimeMs; + const mtimeMs = this.stats.mtimeMs; + const atime = new Date(atimeMs); + const birthtime = new Date(birthtimeMs); + const ctime = new Date(ctimeMs); + const mtime = new Date(mtimeMs); + const mode = fs.constants.S_IFDIR | 493; + const crc = 0; + const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); + return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; + } + throw new Error(`Unreachable`); + } + getUnixMode(index, defaultMode) { + const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return defaultMode; + return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + } + registerListing(p) { + const existingListing = this.listings.get(p); + if (existingListing) + return existingListing; + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + const newListing = /* @__PURE__ */ new Set(); + this.listings.set(p, newListing); + return newListing; + } + registerEntry(p, index) { + const parentListing = this.registerListing(ppath.dirname(p)); + parentListing.add(ppath.basename(p)); + this.entries.set(p, index); + } + unregisterListing(p) { + this.listings.delete(p); + const parentListing = this.listings.get(ppath.dirname(p)); + parentListing?.delete(ppath.basename(p)); + } + unregisterEntry(p) { + this.unregisterListing(p); + const entry = this.entries.get(p); + this.entries.delete(p); + if (typeof entry === `undefined`) + return; + this.fileSources.delete(entry); + if (this.isSymbolicLink(entry)) { + this.symlinkCount--; + } + } + deleteEntry(p, index) { + this.unregisterEntry(p); + const rc = this.libzip.delete(this.zip, index); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { + if (!this.ready) + throw EBUSY(`archive closed, ${reason}`); + let resolvedP = ppath.resolve(PortablePath.root, p); + if (resolvedP === `/`) + return PortablePath.root; + const fileIndex = this.entries.get(resolvedP); + if (resolveLastComponent && fileIndex !== void 0) { + if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { + const target = this.getFileSource(fileIndex).toString(); + return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); + } else { + return resolvedP; + } + } + while (true) { + const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); + if (parentP === void 0) + return parentP; + const isDir = this.listings.has(parentP); + const doesExist = this.entries.has(parentP); + if (!isDir && !doesExist) { + if (throwIfNoEntry === false) + return void 0; + throw ENOENT(reason); + } + if (!isDir) + throw ENOTDIR(reason); + resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); + if (!resolveLastComponent || this.symlinkCount === 0) + break; + const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); + if (index === -1) + break; + if (this.isSymbolicLink(index)) { + const target = this.getFileSource(index).toString(); + resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); + } else { + break; + } + } + return resolvedP; + } + allocateBuffer(content) { + if (!Buffer.isBuffer(content)) + content = Buffer.from(content); + const buffer = this.libzip.malloc(content.byteLength); + if (!buffer) + throw new Error(`Couldn't allocate enough memory`); + const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); + heap.set(content); + return { buffer, byteLength: content.byteLength }; + } + allocateUnattachedSource(content) { + const error = this.libzip.struct.errorS(); + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); + if (source === 0) { + this.libzip.free(error); + throw this.makeLibzipError(error); + } + return source; + } + allocateSource(content) { + const { buffer, byteLength } = this.allocateBuffer(content); + const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); + if (source === 0) { + this.libzip.free(buffer); + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + return source; + } + setFileSource(p, content) { + const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); + const target = ppath.relative(PortablePath.root, p); + const lzSource = this.allocateSource(content); + try { + const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); + if (newIndex === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + if (this.level !== `mixed`) { + const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; + const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + this.fileSources.set(newIndex, buffer); + return newIndex; + } catch (error) { + this.libzip.source.free(lzSource); + throw error; + } + } + isSymbolicLink(index) { + if (this.symlinkCount === 0) + return false; + const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); + if (attrs === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; + if (opsys !== this.libzip.ZIP_OPSYS_UNIX) + return false; + const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; + return (attributes & fs.constants.S_IFMT) === fs.constants.S_IFLNK; + } + getFileSource(index, opts = { asyncDecompress: false }) { + const cachedFileSource = this.fileSources.get(index); + if (typeof cachedFileSource !== `undefined`) + return cachedFileSource; + const stat = this.libzip.struct.statS(); + const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + const size = this.libzip.struct.statCompSize(stat); + const compressionMethod = this.libzip.struct.statCompMethod(stat); + const buffer = this.libzip.malloc(size); + try { + const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); + if (file === 0) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + try { + const rc2 = this.libzip.fread(file, buffer, size, 0); + if (rc2 === -1) + throw this.makeLibzipError(this.libzip.file.getError(file)); + else if (rc2 < size) + throw new Error(`Incomplete read`); + else if (rc2 > size) + throw new Error(`Overread`); + const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); + const data = Buffer.from(memory); + if (compressionMethod === 0) { + this.fileSources.set(index, data); + return data; + } else if (opts.asyncDecompress) { + return new Promise((resolve, reject) => { + zlib__default.default.inflateRaw(data, (error, result) => { + if (error) { + reject(error); + } else { + this.fileSources.set(index, result); + resolve(result); + } + }); + }); + } else { + const decompressedData = zlib__default.default.inflateRawSync(data); + this.fileSources.set(index, decompressedData); + return decompressedData; + } + } finally { + this.libzip.fclose(file); + } + } finally { + this.libzip.free(buffer); + } + } + async fchmodPromise(fd, mask) { + return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); + } + fchmodSync(fd, mask) { + return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); + } + async chmodPromise(p, mask) { + return this.chmodSync(p, mask); + } + chmodSync(p, mask) { + if (this.readOnly) + throw EROFS(`chmod '${p}'`); + mask &= 493; + const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); + const entry = this.entries.get(resolvedP); + if (typeof entry === `undefined`) + throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); + const oldMod = this.getUnixMode(entry, fs.constants.S_IFREG | 0); + const newMod = oldMod & ~511 | mask; + const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async fchownPromise(fd, uid, gid) { + return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); + } + fchownSync(fd, uid, gid) { + return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); + } + async chownPromise(p, uid, gid) { + return this.chownSync(p, uid, gid); + } + chownSync(p, uid, gid) { + throw new Error(`Unimplemented`); + } + async renamePromise(oldP, newP) { + return this.renameSync(oldP, newP); + } + renameSync(oldP, newP) { + throw new Error(`Unimplemented`); + } + async copyFilePromise(sourceP, destP, flags) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = await this.getFileSource(indexSource, { asyncDecompress: true }); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + copyFileSync(sourceP, destP, flags = 0) { + const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); + const source = this.getFileSource(indexSource); + const newIndex = this.setFileSource(resolvedDestP, source); + if (newIndex !== indexDest) { + this.registerEntry(resolvedDestP, newIndex); + } + } + prepareCopyFile(sourceP, destP, flags = 0) { + if (this.readOnly) + throw EROFS(`copyfile '${sourceP} -> '${destP}'`); + if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) + throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); + const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); + const indexSource = this.entries.get(resolvedSourceP); + if (typeof indexSource === `undefined`) + throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); + const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); + const indexDest = this.entries.get(resolvedDestP); + if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) + throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); + return { + indexSource, + resolvedDestP, + indexDest + }; + } + async appendFilePromise(p, content, opts) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFilePromise(p, content, opts); + } + appendFileSync(p, content, opts = {}) { + if (this.readOnly) + throw EROFS(`open '${p}'`); + if (typeof opts === `undefined`) + opts = { flag: `a` }; + else if (typeof opts === `string`) + opts = { flag: `a`, encoding: opts }; + else if (typeof opts.flag === `undefined`) + opts = { flag: `a`, ...opts }; + return this.writeFileSync(p, content, opts); + } + fdToPath(fd, reason) { + const path = this.fds.get(fd)?.p; + if (typeof path === `undefined`) + throw EBADF(reason); + return path; + } + async writeFilePromise(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + await this.chmodPromise(resolvedP, mode); + } + } + writeFileSync(p, content, opts) { + const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); + if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) + content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); + if (encoding !== null) + content = content.toString(encoding); + const newIndex = this.setFileSource(resolvedP, content); + if (newIndex !== index) + this.registerEntry(resolvedP, newIndex); + if (mode !== null) { + this.chmodSync(resolvedP, mode); + } + } + prepareWriteFile(p, opts) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + if (this.readOnly) + throw EROFS(`open '${p}'`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`open '${p}'`); + let encoding = null, mode = null; + if (typeof opts === `string`) { + encoding = opts; + } else if (typeof opts === `object`) { + ({ + encoding = null, + mode = null + } = opts); + } + const index = this.entries.get(resolvedP); + return { + encoding, + mode, + resolvedP, + index + }; + } + async unlinkPromise(p) { + return this.unlinkSync(p); + } + unlinkSync(p) { + if (this.readOnly) + throw EROFS(`unlink '${p}'`); + const resolvedP = this.resolveFilename(`unlink '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`unlink '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`unlink '${p}'`); + this.deleteEntry(resolvedP, index); + } + async utimesPromise(p, atime, mtime) { + return this.utimesSync(p, atime, mtime); + } + utimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`utimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p); + this.utimesImpl(resolvedP, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.lutimesSync(p, atime, mtime); + } + lutimesSync(p, atime, mtime) { + if (this.readOnly) + throw EROFS(`lutimes '${p}'`); + const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); + this.utimesImpl(resolvedP, mtime); + } + utimesImpl(resolvedP, mtime) { + if (this.listings.has(resolvedP)) { + if (!this.entries.has(resolvedP)) + this.hydrateDirectory(resolvedP); + } + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); + if (rc === -1) { + throw this.makeLibzipError(this.libzip.getError(this.zip)); + } + } + async mkdirPromise(p, opts) { + return this.mkdirSync(p, opts); + } + mkdirSync(p, { mode = 493, recursive = false } = {}) { + if (recursive) + return this.mkdirpSync(p, { chmod: mode }); + if (this.readOnly) + throw EROFS(`mkdir '${p}'`); + const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); + if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) + throw EEXIST(`mkdir '${p}'`); + this.hydrateDirectory(resolvedP); + this.chmodSync(resolvedP, mode); + return void 0; + } + async rmdirPromise(p, opts) { + return this.rmdirSync(p, opts); + } + rmdirSync(p, { recursive = false } = {}) { + if (this.readOnly) + throw EROFS(`rmdir '${p}'`); + if (recursive) { + this.removeSync(p); + return; + } + const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`rmdir '${p}'`); + if (directoryListing.size > 0) + throw ENOTEMPTY(`rmdir '${p}'`); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`rmdir '${p}'`); + this.deleteEntry(p, index); + } + hydrateDirectory(resolvedP) { + const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); + if (index === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.registerListing(resolvedP); + this.registerEntry(resolvedP, index); + return index; + } + async linkPromise(existingP, newP) { + return this.linkSync(existingP, newP); + } + linkSync(existingP, newP) { + throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); + } + async symlinkPromise(target, p) { + return this.symlinkSync(target, p); + } + symlinkSync(target, p) { + if (this.readOnly) + throw EROFS(`symlink '${target}' -> '${p}'`); + const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); + if (this.listings.has(resolvedP)) + throw EISDIR(`symlink '${target}' -> '${p}'`); + if (this.entries.has(resolvedP)) + throw EEXIST(`symlink '${target}' -> '${p}'`); + const index = this.setFileSource(resolvedP, target); + this.registerEntry(resolvedP, index); + const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (fs.constants.S_IFLNK | 511) << 16); + if (rc === -1) + throw this.makeLibzipError(this.libzip.getError(this.zip)); + this.symlinkCount += 1; + } + async readFilePromise(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = await this.readFileBuffer(p, { asyncDecompress: true }); + return encoding ? data.toString(encoding) : data; + } + readFileSync(p, encoding) { + if (typeof encoding === `object`) + encoding = encoding ? encoding.encoding : void 0; + const data = this.readFileBuffer(p); + return encoding ? data.toString(encoding) : data; + } + readFileBuffer(p, opts = { asyncDecompress: false }) { + if (typeof p === `number`) + p = this.fdToPath(p, `read`); + const resolvedP = this.resolveFilename(`open '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`open '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EISDIR(`read`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + return this.getFileSource(entry, opts); + } + async readdirPromise(p, opts) { + return this.readdirSync(p, opts); + } + readdirSync(p, opts) { + const resolvedP = this.resolveFilename(`scandir '${p}'`, p); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`scandir '${p}'`); + const directoryListing = this.listings.get(resolvedP); + if (!directoryListing) + throw ENOTDIR(`scandir '${p}'`); + if (opts?.recursive) { + if (opts?.withFileTypes) { + const entries = Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: PortablePath.dot + }); + }); + for (const entry of entries) { + if (!entry.isDirectory()) + continue; + const subPath = ppath.join(entry.path, entry.name); + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + for (const child of subListing) { + entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { + name: child, + path: subPath + })); + } + } + return entries; + } else { + const entries = [...directoryListing]; + for (const subPath of entries) { + const subListing = this.listings.get(ppath.join(resolvedP, subPath)); + if (typeof subListing === `undefined`) + continue; + for (const child of subListing) { + entries.push(ppath.join(subPath, child)); + } + } + return entries; + } + } else if (opts?.withFileTypes) { + return Array.from(directoryListing, (name) => { + return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { + name, + path: void 0 + }); + }); + } else { + return [...directoryListing]; + } + } + async readlinkPromise(p) { + const entry = this.prepareReadlink(p); + return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); + } + readlinkSync(p) { + const entry = this.prepareReadlink(p); + return this.getFileSource(entry).toString(); + } + prepareReadlink(p) { + const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); + if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) + throw ENOENT(`readlink '${p}'`); + if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) + throw ENOTDIR(`open '${p}'`); + if (this.listings.has(resolvedP)) + throw EINVAL(`readlink '${p}'`); + const entry = this.entries.get(resolvedP); + if (entry === void 0) + throw new Error(`Unreachable`); + if (!this.isSymbolicLink(entry)) + throw EINVAL(`readlink '${p}'`); + return entry; + } + async truncatePromise(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = await this.getFileSource(index, { asyncDecompress: true }); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return await this.writeFilePromise(p, truncated); + } + truncateSync(p, len = 0) { + const resolvedP = this.resolveFilename(`open '${p}'`, p); + const index = this.entries.get(resolvedP); + if (typeof index === `undefined`) + throw EINVAL(`open '${p}'`); + const source = this.getFileSource(index); + const truncated = Buffer.alloc(len, 0); + source.copy(truncated); + return this.writeFileSync(p, truncated); + } + async ftruncatePromise(fd, len) { + return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); + } + ftruncateSync(fd, len) { + return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); + } + watch(p, a, b) { + let persistent; + switch (typeof a) { + case `function`: + case `string`: + case `undefined`: + { + persistent = true; + } + break; + default: + { + ({ persistent = true } = a); + } + break; + } + if (!persistent) + return { on: () => { + }, close: () => { + } }; + const interval = setInterval(() => { + }, 24 * 60 * 60 * 1e3); + return { on: () => { + }, close: () => { + clearInterval(interval); + } }; + } + watchFile(p, a, b) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return watchFile(this, resolvedP, a, b); + } + unwatchFile(p, cb) { + const resolvedP = ppath.resolve(PortablePath.root, p); + return unwatchFile(this, resolvedP, cb); + } +} + +setFactory(() => { + const emZip = createModule(); + return makeInterface(emZip); +}); + +var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { + ErrorCode2["API_ERROR"] = `API_ERROR`; + ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; + ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; + ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; + ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; + ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; + ErrorCode2["INTERNAL"] = `INTERNAL`; + ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; + ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; + return ErrorCode2; +})(ErrorCode || {}); +const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ + "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, + "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, + "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, + "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, + "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ +]); +function makeError(pnpCode, message, data = {}, code) { + code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; + const propertySpec = { + configurable: true, + writable: true, + enumerable: false + }; + return Object.defineProperties(new Error(message), { + code: { + ...propertySpec, + value: code + }, + pnpCode: { + ...propertySpec, + value: pnpCode + }, + data: { + ...propertySpec, + value: data + } + }); +} +function getIssuerModule(parent) { + let issuer = parent; + while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) + issuer = issuer.parent; + return issuer || null; +} +function getPathForDisplay(p) { + return npath.normalize(npath.fromPortablePath(p)); +} + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs__default.default.existsSync(jsonPath)) + return null; + return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); +} +function ERR_REQUIRE_ESM(filename, parentPath = null) { + const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); + const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. +Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; + const err = new Error(msg); + err.code = `ERR_REQUIRE_ESM`; + return err; +} +function reportRequiredFilesToWatchMode(files) { + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); + if (WATCH_MODE_MESSAGE_USES_ARRAYS) { + process.send({ "watch:require": files }); + } else { + for (const filename of files) { + process.send({ "watch:require": filename }); + } + } + } +} + +function applyPatch(pnpapi, opts) { + let enableNativeHooks = true; + process.versions.pnp = String(pnpapi.VERSIONS.std); + const moduleExports = require$$0__default.default; + moduleExports.findPnpApi = (lookupSource) => { + const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; + const apiPath = opts.manager.findApiPathFor(lookupPath); + if (apiPath === null) + return null; + const apiEntry = opts.manager.getApiEntry(apiPath, true); + return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; + }; + function getRequireStack(parent) { + const requireStack = []; + for (let cursor = parent; cursor; cursor = cursor.parent) + requireStack.push(cursor.filename || cursor.id); + return requireStack; + } + const originalModuleLoad = require$$0.Module._load; + require$$0.Module._load = function(request, parent, isMain) { + if (request === `pnpapi`) { + const parentApiPath = opts.manager.getApiPathFromParent(parent); + if (parentApiPath) { + return opts.manager.getApiEntry(parentApiPath, true).instance; + } + } + return originalModuleLoad.call(require$$0.Module, request, parent, isMain); + }; + function getIssuerSpecsFromPaths(paths) { + return paths.map((path) => ({ + apiPath: opts.manager.findApiPathFor(path), + path, + module: null + })); + } + function getIssuerSpecsFromModule(module) { + if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { + return [{ + apiPath: opts.manager.findApiPathFor(module.paths[0]), + path: module.paths[0], + module + }]; + } + const issuer = getIssuerModule(module); + if (issuer !== null) { + const path = npath.dirname(issuer.filename); + const apiPath = opts.manager.getApiPathFromParent(issuer); + return [{ apiPath, path, module }]; + } else { + const path = process.cwd(); + const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); + return [{ apiPath, path, module }]; + } + } + function makeFakeParent(path) { + const fakeParent = new require$$0.Module(``); + const fakeFilePath = npath.join(path, `[file]`); + fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); + return fakeParent; + } + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const originalModuleResolveFilename = require$$0.Module._resolveFilename; + require$$0.Module._resolveFilename = function(request, parent, isMain, options) { + if (require$$0.isBuiltin(request)) + return request; + if (!enableNativeHooks) + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); + if (options && options.plugnplay === false) { + const { plugnplay, ...forwardedOptions } = options; + try { + enableNativeHooks = false; + return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); + } finally { + enableNativeHooks = true; + } + } + if (options) { + const optionNames = new Set(Object.keys(options)); + optionNames.delete(`paths`); + optionNames.delete(`plugnplay`); + if (optionNames.size > 0) { + throw makeError( + ErrorCode.UNSUPPORTED, + `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` + ); + } + } + const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); + if (request.match(pathRegExp) === null) { + const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; + const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; + if (absoluteRequest !== null) { + const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); + if (apiPath !== null) { + issuerSpecs.unshift({ + apiPath, + path: parentDirectory, + module: null + }); + } + } + } + let firstError; + for (const { apiPath, path, module } of issuerSpecs) { + let resolution; + const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; + try { + if (issuerApi !== null) { + resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); + } else { + if (path === null) + throw new Error(`Assertion failed: Expected the path to be set`); + resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); + } + } catch (error) { + firstError = firstError || error; + continue; + } + if (resolution !== null) { + return resolution; + } + } + const requireStack = getRequireStack(parent); + Object.defineProperty(firstError, `requireStack`, { + configurable: true, + writable: true, + enumerable: false, + value: requireStack + }); + if (requireStack.length > 0) + firstError.message += ` +Require stack: +- ${requireStack.join(` +- `)}`; + if (typeof firstError.pnpCode === `string`) + Error.captureStackTrace(firstError); + throw firstError; + }; + const originalFindPath = require$$0.Module._findPath; + require$$0.Module._findPath = function(request, paths, isMain) { + if (request === `pnpapi`) + return false; + if (!enableNativeHooks) + return originalFindPath.call(require$$0.Module, request, paths, isMain); + const isAbsolute = npath.isAbsolute(request); + if (isAbsolute) + paths = [``]; + else if (!paths || paths.length === 0) + return false; + for (const path of paths) { + let resolution; + try { + const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); + if (pnpApiPath !== null) { + const api = opts.manager.getApiEntry(pnpApiPath, true).instance; + resolution = api.resolveRequest(request, path) || false; + } else { + resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); + } + } catch (error) { + continue; + } + if (resolution) { + return resolution; + } + } + return false; + }; + const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; + require$$0.Module._extensions[`.js`] = function(module, filename) { + if (filename.endsWith(`.js`)) { + const pkg = readPackageScope(filename); + if (pkg && pkg.data?.type === `module`) { + const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); + Error.captureStackTrace(err); + throw err; + } + } + originalExtensionJSFunction.call(this, module, filename); + }; + const originalDlopen = process.dlopen; + process.dlopen = function(...args) { + const [module, filename, ...rest] = args; + return originalDlopen.call( + this, + module, + npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), + ...rest + ); + }; + const originalEmit = process.emit; + process.emit = function(name, data, ...args) { + if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) + return false; + return originalEmit.apply(process, arguments); + }; + patchFs(fs__default.default, new PosixFS(opts.fakeFs)); +} + +function hydrateRuntimeState(data, { basePath }) { + const portablePath = npath.toPortablePath(basePath); + const absolutePortablePath = ppath.resolve(portablePath); + const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; + const packageLocatorsByLocations = /* @__PURE__ */ new Map(); + const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { + return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { + if (packageName === null !== (packageReference === null)) + throw new Error(`Assertion failed: The name and reference should be null, or neither should`); + const discardFromLookup = packageInformationData.discardFromLookup ?? false; + const packageLocator = { name: packageName, reference: packageReference }; + const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); + if (!entry) { + packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); + } else { + entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; + if (!discardFromLookup) { + entry.locator = packageLocator; + } + } + let resolvedPackageLocation = null; + return [packageReference, { + packageDependencies: new Map(packageInformationData.packageDependencies), + packagePeers: new Set(packageInformationData.packagePeers), + linkType: packageInformationData.linkType, + discardFromLookup, + get packageLocation() { + return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); + } + }]; + }))]; + })); + const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { + return [packageName, new Set(packageReferences)]; + })); + const fallbackPool = new Map(data.fallbackPool); + const dependencyTreeRoots = data.dependencyTreeRoots; + const enableTopLevelFallback = data.enableTopLevelFallback; + return { + basePath: portablePath, + dependencyTreeRoots, + enableTopLevelFallback, + fallbackExclusionList, + fallbackPool, + ignorePattern, + packageLocatorsByLocations, + packageRegistry + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert__default.default(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); +const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( + "ERR_PACKAGE_PATH_NOT_EXPORTED", + (pkgPath, subpath, base = void 0) => { + if (subpath === ".") + return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + url.fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = url.fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), + url.fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && url.fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && url.fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { + if (typeof exports === "string" || ArrayIsArray(exports)) + return true; + if (typeof exports !== "object" || exports === null) + return false; + const keys = ObjectGetOwnPropertyNames(exports); + let isConditionalSugar = false; + let i = 0; + for (let j = 0; j < keys.length; j++) { + const key = keys[j]; + const curIsConditionalSugar = key === "" || key[0] !== "."; + if (i++ === 0) { + isConditionalSugar = curIsConditionalSugar; + } else if (isConditionalSugar !== curIsConditionalSugar) { + throw new ERR_INVALID_PACKAGE_CONFIG( + url.fileURLToPath(packageJSONUrl), + base, + `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` + ); + } + } + return isConditionalSugar; +} +function throwExportsNotFound(subpath, packageJSONUrl, base) { + throw new ERR_PACKAGE_PATH_NOT_EXPORTED( + url.fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + base && url.fileURLToPath(base) + ); +} +const emittedPackageWarnings = /* @__PURE__ */ new Set(); +function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { + const pjsonPath = url.fileURLToPath(pjsonUrl); + if (emittedPackageWarnings.has(pjsonPath + "|" + match)) + return; + emittedPackageWarnings.add(pjsonPath + "|" + match); + process.emitWarning( + `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, + "DeprecationWarning", + "DEP0155" + ); +} +function packageExportsResolve({ + packageJSONUrl, + packageSubpath, + exports, + base, + conditions +}) { + if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) + exports = { ".": exports }; + if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { + const target = exports[packageSubpath]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + "", + packageSubpath, + base, + false, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(exports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + packageSubpath, + StringPrototypeSlice(key, 0, patternIndex) + )) { + if (StringPrototypeEndsWith(packageSubpath, "/")) + emitTrailingSlashPatternDeprecation( + packageSubpath, + packageJSONUrl, + base + ); + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + packageSubpath, + patternIndex, + packageSubpath.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = exports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + false, + conditions + ); + if (resolveResult == null) { + throwExportsNotFound(packageSubpath, packageJSONUrl, base); + } + return resolveResult; + } + throwExportsNotFound(packageSubpath, packageJSONUrl, base); +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const flagSymbol = Symbol('arg flag'); + +class ArgError extends Error { + constructor(msg, code) { + super(msg); + this.name = 'ArgError'; + this.code = code; + + Object.setPrototypeOf(this, ArgError.prototype); + } +} + +function arg( + opts, + { + argv = process.argv.slice(2), + permissive = false, + stopAtPositional = false + } = {} +) { + if (!opts) { + throw new ArgError( + 'argument specification object is required', + 'ARG_CONFIG_NO_SPEC' + ); + } + + const result = { _: [] }; + + const aliases = {}; + const handlers = {}; + + for (const key of Object.keys(opts)) { + if (!key) { + throw new ArgError( + 'argument key cannot be an empty string', + 'ARG_CONFIG_EMPTY_KEY' + ); + } + + if (key[0] !== '-') { + throw new ArgError( + `argument key must start with '-' but found: '${key}'`, + 'ARG_CONFIG_NONOPT_KEY' + ); + } + + if (key.length === 1) { + throw new ArgError( + `argument key must have a name; singular '-' keys are not allowed: ${key}`, + 'ARG_CONFIG_NONAME_KEY' + ); + } + + if (typeof opts[key] === 'string') { + aliases[key] = opts[key]; + continue; + } + + let type = opts[key]; + let isFlag = false; + + if ( + Array.isArray(type) && + type.length === 1 && + typeof type[0] === 'function' + ) { + const [fn] = type; + type = (value, name, prev = []) => { + prev.push(fn(value, name, prev[prev.length - 1])); + return prev; + }; + isFlag = fn === Boolean || fn[flagSymbol] === true; + } else if (typeof type === 'function') { + isFlag = type === Boolean || type[flagSymbol] === true; + } else { + throw new ArgError( + `type missing or not a function or valid array type: ${key}`, + 'ARG_CONFIG_VAD_TYPE' + ); + } + + if (key[1] !== '-' && key.length > 2) { + throw new ArgError( + `short argument keys (with a single hyphen) must have only one character: ${key}`, + 'ARG_CONFIG_SHORTOPT_TOOLONG' + ); + } + + handlers[key] = [type, isFlag]; + } + + for (let i = 0, len = argv.length; i < len; i++) { + const wholeArg = argv[i]; + + if (stopAtPositional && result._.length > 0) { + result._ = result._.concat(argv.slice(i)); + break; + } + + if (wholeArg === '--') { + result._ = result._.concat(argv.slice(i + 1)); + break; + } + + if (wholeArg.length > 1 && wholeArg[0] === '-') { + /* eslint-disable operator-linebreak */ + const separatedArguments = + wholeArg[1] === '-' || wholeArg.length === 2 + ? [wholeArg] + : wholeArg + .slice(1) + .split('') + .map((a) => `-${a}`); + /* eslint-enable operator-linebreak */ + + for (let j = 0; j < separatedArguments.length; j++) { + const arg = separatedArguments[j]; + const [originalArgName, argStr] = + arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; + + let argName = originalArgName; + while (argName in aliases) { + argName = aliases[argName]; + } + + if (!(argName in handlers)) { + if (permissive) { + result._.push(arg); + continue; + } else { + throw new ArgError( + `unknown or unexpected option: ${originalArgName}`, + 'ARG_UNKNOWN_OPTION' + ); + } + } + + const [type, isFlag] = handlers[argName]; + + if (!isFlag && j + 1 < separatedArguments.length) { + throw new ArgError( + `option requires argument (but was followed by another short argument): ${originalArgName}`, + 'ARG_MISSING_REQUIRED_SHORTARG' + ); + } + + if (isFlag) { + result[argName] = type(true, argName, result[argName]); + } else if (argStr === undefined) { + if ( + argv.length < i + 2 || + (argv[i + 1].length > 1 && + argv[i + 1][0] === '-' && + !( + argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && + (type === Number || + // eslint-disable-next-line no-undef + (typeof BigInt !== 'undefined' && type === BigInt)) + )) + ) { + const extended = + originalArgName === argName ? '' : ` (alias for ${argName})`; + throw new ArgError( + `option requires argument: ${originalArgName}${extended}`, + 'ARG_MISSING_REQUIRED_LONGARG' + ); + } + + result[argName] = type(argv[i + 1], argName, result[argName]); + ++i; + } else { + result[argName] = type(argStr, argName, result[argName]); + } + } + } else { + result._.push(wholeArg); + } + } + + return result; +} + +arg.flag = (fn) => { + fn[flagSymbol] = true; + return fn; +}; + +// Utility types +arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); + +// Expose error class +arg.ArgError = ArgError; + +var arg_1 = arg; + +/** + @license + The MIT License (MIT) + + Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) + + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. +*/ +function getOptionValue(opt) { + parseOptions(); + return options[opt]; +} +let options; +function parseOptions() { + if (!options) { + options = { + "--conditions": [], + ...parseArgv(getNodeOptionsEnvArgv()), + ...parseArgv(process.execArgv) + }; + } +} +function parseArgv(argv) { + return arg_1( + { + "--conditions": [String], + "-C": "--conditions" + }, + { + argv, + permissive: true + } + ); +} +function getNodeOptionsEnvArgv() { + const errors = []; + const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); + if (errors.length !== 0) ; + return envArgv; +} +function ParseNodeOptionsEnvVar(node_options, errors) { + const env_argv = []; + let is_in_string = false; + let will_start_new_arg = true; + for (let index = 0; index < node_options.length; ++index) { + let c = node_options[index]; + if (c === "\\" && is_in_string) { + if (index + 1 === node_options.length) { + errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); + return env_argv; + } else { + c = node_options[++index]; + } + } else if (c === " " && !is_in_string) { + will_start_new_arg = true; + continue; + } else if (c === '"') { + is_in_string = !is_in_string; + continue; + } + if (will_start_new_arg) { + env_argv.push(c); + will_start_new_arg = false; + } else { + env_argv[env_argv.length - 1] += c; + } + } + if (is_in_string) { + errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); + } + return env_argv; +} + +function makeApi(runtimeState, opts) { + const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; + const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); + const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; + const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; + const isDirRegExp = /\/$/; + const isRelativeRegexp = /^\.{0,2}\//; + const topLevelLocator = { name: null, reference: null }; + const fallbackLocators = []; + const emittedWarnings = /* @__PURE__ */ new Set(); + if (runtimeState.enableTopLevelFallback === true) + fallbackLocators.push(topLevelLocator); + if (opts.compatibilityMode !== false) { + for (const name of [`react-scripts`, `gatsby`]) { + const packageStore = runtimeState.packageRegistry.get(name); + if (packageStore) { + for (const reference of packageStore.keys()) { + if (reference === null) { + throw new Error(`Assertion failed: This reference shouldn't be null`); + } else { + fallbackLocators.push({ name, reference }); + } + } + } + } + } + const { + ignorePattern, + packageRegistry, + packageLocatorsByLocations + } = runtimeState; + function makeLogEntry(name, args) { + return { + fn: name, + args, + error: null, + result: null + }; + } + function trace(entry) { + const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; + const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; + const error = entry.error; + if (error) + console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); + else + console.error(c(`33;1`, `\u203C Resolution`)); + if (entry.args.length > 0) + console.error(); + for (const arg of entry.args) + console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); + if (entry.result) { + console.error(); + console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); + } + const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; + if (stack.length > 0) { + console.error(); + for (const line of stack) { + console.error(` ${c(`38;5;244`, line)}`); + } + } + console.error(); + } + function maybeLog(name, fn) { + if (opts.allowDebug === false) + return fn; + if (Number.isFinite(debugLevel)) { + if (debugLevel >= 2) { + return (...args) => { + const logEntry = makeLogEntry(name, args); + try { + return logEntry.result = fn(...args); + } catch (error) { + throw logEntry.error = error; + } finally { + trace(logEntry); + } + }; + } else if (debugLevel >= 1) { + return (...args) => { + try { + return fn(...args); + } catch (error) { + const logEntry = makeLogEntry(name, args); + logEntry.error = error; + trace(logEntry); + throw error; + } + }; + } + } + return fn; + } + function getPackageInformationSafe(packageLocator) { + const packageInformation = getPackageInformation(packageLocator); + if (!packageInformation) { + throw makeError( + ErrorCode.INTERNAL, + `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` + ); + } + return packageInformation; + } + function isDependencyTreeRoot(packageLocator) { + if (packageLocator.name === null) + return true; + for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) + if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) + return true; + return false; + } + const defaultExportsConditions = /* @__PURE__ */ new Set([ + `node`, + `require`, + ...getOptionValue(`--conditions`) + ]); + function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { + const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { + resolveIgnored: true, + includeDiscardFromLookup: true + }); + if (locator === null) { + throw makeError( + ErrorCode.INTERNAL, + `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` + ); + } + const { packageLocation } = getPackageInformationSafe(locator); + const manifestPath = ppath.join(packageLocation, Filename.manifest); + if (!opts.fakeFs.existsSync(manifestPath)) + return null; + const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); + if (pkgJson.exports == null) + return null; + let subpath = ppath.contains(packageLocation, unqualifiedPath); + if (subpath === null) { + throw makeError( + ErrorCode.INTERNAL, + `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` + ); + } + if (subpath !== `.` && !isRelativeRegexp.test(subpath)) + subpath = `./${subpath}`; + try { + const resolvedExport = packageExportsResolve({ + packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), + packageSubpath: subpath, + exports: pkgJson.exports, + base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, + conditions + }); + return npath.toPortablePath(url.fileURLToPath(resolvedExport)); + } catch (error) { + throw makeError( + ErrorCode.EXPORTS_RESOLUTION_FAILED, + error.message, + { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, + error.code + ); + } + } + function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { + let stat; + try { + candidates.push(unqualifiedPath); + stat = opts.fakeFs.statSync(unqualifiedPath); + } catch (error) { + } + if (stat && !stat.isDirectory()) + return opts.fakeFs.realpathSync(unqualifiedPath); + if (stat && stat.isDirectory()) { + let pkgJson; + try { + pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); + } catch (error) { + } + let nextUnqualifiedPath; + if (pkgJson && pkgJson.main) + nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); + if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { + const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); + if (resolution !== null) { + return resolution; + } + } + } + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = `${unqualifiedPath}${extensions[i]}`; + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + if (stat && stat.isDirectory()) { + for (let i = 0, length = extensions.length; i < length; i++) { + const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); + candidates.push(candidateFile); + if (opts.fakeFs.existsSync(candidateFile)) { + return candidateFile; + } + } + } + return null; + } + function makeFakeModule(path) { + const fakeModule = new require$$0.Module(path, null); + fakeModule.filename = path; + fakeModule.paths = require$$0.Module._nodeModulePaths(path); + return fakeModule; + } + function callNativeResolution(request, issuer) { + if (issuer.endsWith(`/`)) + issuer = ppath.join(issuer, `internal.js`); + return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); + } + function isPathIgnored(path) { + if (ignorePattern === null) + return false; + const subPath = ppath.contains(runtimeState.basePath, path); + if (subPath === null) + return false; + if (ignorePattern.test(subPath.replace(/\/$/, ``))) { + return true; + } else { + return false; + } + } + const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; + const topLevel = topLevelLocator; + function getPackageInformation({ name, reference }) { + const packageInformationStore = packageRegistry.get(name); + if (!packageInformationStore) + return null; + const packageInformation = packageInformationStore.get(reference); + if (!packageInformation) + return null; + return packageInformation; + } + function findPackageDependents({ name, reference }) { + const dependents = []; + for (const [dependentName, packageInformationStore] of packageRegistry) { + if (dependentName === null) + continue; + for (const [dependentReference, packageInformation] of packageInformationStore) { + if (dependentReference === null) + continue; + const dependencyReference = packageInformation.packageDependencies.get(name); + if (dependencyReference !== reference) + continue; + if (dependentName === name && dependentReference === reference) + continue; + dependents.push({ + name: dependentName, + reference: dependentReference + }); + } + } + return dependents; + } + function findBrokenPeerDependencies(dependency, initialPackage) { + const brokenPackages = /* @__PURE__ */ new Map(); + const alreadyVisited = /* @__PURE__ */ new Set(); + const traversal = (currentPackage) => { + const identifier = JSON.stringify(currentPackage.name); + if (alreadyVisited.has(identifier)) + return; + alreadyVisited.add(identifier); + const dependents = findPackageDependents(currentPackage); + for (const dependent of dependents) { + const dependentInformation = getPackageInformationSafe(dependent); + if (dependentInformation.packagePeers.has(dependency)) { + traversal(dependent); + } else { + let brokenSet = brokenPackages.get(dependent.name); + if (typeof brokenSet === `undefined`) + brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); + brokenSet.add(dependent.reference); + } + } + }; + traversal(initialPackage); + const brokenList = []; + for (const name of [...brokenPackages.keys()].sort()) + for (const reference of [...brokenPackages.get(name)].sort()) + brokenList.push({ name, reference }); + return brokenList; + } + function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { + if (isPathIgnored(location) && !resolveIgnored) + return null; + let relativeLocation = ppath.relative(runtimeState.basePath, location); + if (!relativeLocation.match(isStrictRegExp)) + relativeLocation = `./${relativeLocation}`; + if (!relativeLocation.endsWith(`/`)) + relativeLocation = `${relativeLocation}/`; + do { + const entry = packageLocatorsByLocations.get(relativeLocation); + if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { + relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); + continue; + } + return entry.locator; + } while (relativeLocation !== ``); + return null; + } + function tryReadFile(filePath) { + try { + return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } + } + function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { + if (request.startsWith(`#`)) + throw new Error(`resolveToUnqualified can not handle private import mappings`); + if (request === `pnpapi`) + return npath.toPortablePath(opts.pnpapiResolution); + if (considerBuiltins && require$$0.isBuiltin(request)) + return null; + const requestForDisplay = getPathForDisplay(request); + const issuerForDisplay = issuer && getPathForDisplay(issuer); + if (issuer && isPathIgnored(issuer)) { + if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) + +Require request: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + } + let unqualifiedPath; + const dependencyNameMatch = request.match(pathRegExp); + if (!dependencyNameMatch) { + if (ppath.isAbsolute(request)) { + unqualifiedPath = ppath.normalize(request); + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const absoluteIssuer = ppath.resolve(issuer); + if (issuer.match(isDirRegExp)) { + unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); + } else { + unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); + } + } + } else { + if (!issuer) { + throw makeError( + ErrorCode.API_ERROR, + `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + const [, dependencyName, subPath] = dependencyNameMatch; + const issuerLocator = findPackageLocator(issuer); + if (!issuerLocator) { + const result = callNativeResolution(request, issuer); + if (result === false) { + throw makeError( + ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, + `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). + +Require path: "${requestForDisplay}" +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay } + ); + } + return npath.toPortablePath(result); + } + const issuerInformation = getPackageInformationSafe(issuerLocator); + let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); + let fallbackReference = null; + if (dependencyReference == null) { + if (issuerLocator.name !== null) { + const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); + const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); + if (canUseFallbacks) { + for (let t = 0, T = fallbackLocators.length; t < T; ++t) { + const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); + const reference = fallbackInformation.packageDependencies.get(dependencyName); + if (reference == null) + continue; + if (alwaysWarnOnFallback) + fallbackReference = reference; + else + dependencyReference = reference; + break; + } + if (runtimeState.enableTopLevelFallback) { + if (dependencyReference == null && fallbackReference === null) { + const reference = runtimeState.fallbackPool.get(dependencyName); + if (reference != null) { + fallbackReference = reference; + } + } + } + } + } + } + let error = null; + if (dependencyReference === null) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); + if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } else { + error = makeError( + ErrorCode.MISSING_PEER_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) + +${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} +`).join(``)} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } + ); + } + } + } else if (dependencyReference === void 0) { + if (!considerBuiltins && require$$0.isBuiltin(request)) { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } else { + if (isDependencyTreeRoot(issuerLocator)) { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerForDisplay} +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } + ); + } else { + error = makeError( + ErrorCode.UNDECLARED_DEPENDENCY, + `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. + +Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } + ); + } + } + } + if (dependencyReference == null) { + if (fallbackReference === null || error === null) + throw error || new Error(`Assertion failed: Expected an error to have been set`); + dependencyReference = fallbackReference; + const message = error.message.replace(/\n.*/g, ``); + error.message = message; + if (!emittedWarnings.has(message) && debugLevel !== 0) { + emittedWarnings.add(message); + process.emitWarning(error); + } + } + const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; + const dependencyInformation = getPackageInformationSafe(dependencyLocator); + if (!dependencyInformation.packageLocation) { + throw makeError( + ErrorCode.MISSING_DEPENDENCY, + `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. + +Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} +Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) +`, + { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } + ); + } + const dependencyLocation = dependencyInformation.packageLocation; + if (subPath) { + unqualifiedPath = ppath.join(dependencyLocation, subPath); + } else { + unqualifiedPath = dependencyLocation; + } + } + return ppath.normalize(unqualifiedPath); + } + function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { + if (isStrictRegExp.test(request)) + return unqualifiedPath; + const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); + if (unqualifiedExportPath) { + return ppath.normalize(unqualifiedExportPath); + } else { + return unqualifiedPath; + } + } + function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { + const candidates = []; + const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); + if (qualifiedPath) { + return ppath.normalize(qualifiedPath); + } else { + reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); + const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); + const containingPackage = findPackageLocator(unqualifiedPath); + if (containingPackage) { + const { packageLocation } = getPackageInformationSafe(containingPackage); + let exists = true; + try { + opts.fakeFs.accessSync(packageLocation); + } catch (err) { + if (err?.code === `ENOENT`) { + exists = false; + } else { + const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); + throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); + } + } + if (!exists) { + const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `${errorMessage} + +Missing package: ${containingPackage.name}@${containingPackage.reference} +Expected package location: ${getPathForDisplay(packageLocation)} +`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + throw makeError( + ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, + `Qualified path resolution failed: we looked for the following paths, but none could be accessed. + +Source path: ${unqualifiedPathForDisplay} +${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} +`).join(``)}`, + { unqualifiedPath: unqualifiedPathForDisplay, extensions } + ); + } + } + function resolvePrivateRequest(request, issuer, opts2) { + if (!issuer) + throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); + const resolved = packageImportsResolve({ + name: request, + base: url.pathToFileURL(npath.fromPortablePath(issuer)), + conditions: opts2.conditions ?? defaultExportsConditions, + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolveRequest(resolved, issuer, opts2); + } + } + function resolveRequest(request, issuer, opts2 = {}) { + try { + if (request.startsWith(`#`)) + return resolvePrivateRequest(request, issuer, opts2); + const { considerBuiltins, extensions, conditions } = opts2; + const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); + if (request === `pnpapi`) + return unqualifiedPath; + if (unqualifiedPath === null) + return null; + const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; + const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; + return resolveUnqualified(remappedPath, { extensions }); + } catch (error) { + if (Object.hasOwn(error, `pnpCode`)) + Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); + throw error; + } + } + function resolveVirtual(request) { + const normalized = ppath.normalize(request); + const resolved = VirtualFS.resolveVirtual(normalized); + return resolved !== normalized ? resolved : null; + } + return { + VERSIONS, + topLevel, + getLocator: (name, referencish) => { + if (Array.isArray(referencish)) { + return { name: referencish[0], reference: referencish[1] }; + } else { + return { name, reference: referencish }; + } + }, + getDependencyTreeRoots: () => { + return [...runtimeState.dependencyTreeRoots]; + }, + getAllLocators() { + const locators = []; + for (const [name, entry] of packageRegistry) + for (const reference of entry.keys()) + if (name !== null && reference !== null) + locators.push({ name, reference }); + return locators; + }, + getPackageInformation: (locator) => { + const info = getPackageInformation(locator); + if (info === null) + return null; + const packageLocation = npath.fromPortablePath(info.packageLocation); + const nativeInfo = { ...info, packageLocation }; + return nativeInfo; + }, + findPackageLocator: (path) => { + return findPackageLocator(npath.toPortablePath(path)); + }, + resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { + return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); + }), + resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { + const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; + const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); + if (resolution === null) + return null; + return npath.fromPortablePath(resolution); + }), + resolveVirtual: maybeLog(`resolveVirtual`, (path) => { + const result = resolveVirtual(npath.toPortablePath(path)); + if (result !== null) { + return npath.fromPortablePath(result); + } else { + return null; + } + }) + }; +} + +function makeManager(pnpapi, opts) { + const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); + const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); + const apiMetadata = /* @__PURE__ */ new Map([ + [initialApiPath, { + instance: pnpapi, + stats: initialApiStats, + lastRefreshCheck: Date.now() + }] + ]); + function loadApiInstance(pnpApiPath) { + const nativePath = npath.fromPortablePath(pnpApiPath); + const module = new require$$0.Module(nativePath, null); + module.load(nativePath); + return module.exports; + } + function refreshApiEntry(pnpApiPath, apiEntry) { + const timeNow = Date.now(); + if (timeNow - apiEntry.lastRefreshCheck < 500) + return; + apiEntry.lastRefreshCheck = timeNow; + const stats = opts.fakeFs.statSync(pnpApiPath); + if (stats.mtime > apiEntry.stats.mtime) { + process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); + apiEntry.stats = stats; + apiEntry.instance = loadApiInstance(pnpApiPath); + } + } + function getApiEntry(pnpApiPath, refresh = false) { + let apiEntry = apiMetadata.get(pnpApiPath); + if (typeof apiEntry !== `undefined`) { + if (refresh) { + refreshApiEntry(pnpApiPath, apiEntry); + } + } else { + apiMetadata.set(pnpApiPath, apiEntry = { + instance: loadApiInstance(pnpApiPath), + stats: opts.fakeFs.statSync(pnpApiPath), + lastRefreshCheck: Date.now() + }); + } + return apiEntry; + } + const findApiPathCache = /* @__PURE__ */ new Map(); + function addToCacheAndReturn(start, end, target) { + if (target !== null) { + target = VirtualFS.resolveVirtual(target); + target = opts.fakeFs.realpathSync(target); + } + let curr; + let next = start; + do { + curr = next; + findApiPathCache.set(curr, target); + next = ppath.dirname(curr); + } while (curr !== end); + return target; + } + function findApiPathFor(modulePath) { + let bestCandidate = null; + for (const [apiPath, apiEntry] of apiMetadata) { + const locator = apiEntry.instance.findPackageLocator(modulePath); + if (!locator) + continue; + if (apiMetadata.size === 1) + return apiPath; + const packageInformation = apiEntry.instance.getPackageInformation(locator); + if (!packageInformation) + throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); + if (!bestCandidate) + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; + if (packageInformation.packageLocation === bestCandidate.packageLocation) { + bestCandidate.apiPaths.push(apiPath); + } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { + bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; + } + } + if (bestCandidate) { + if (bestCandidate.apiPaths.length === 1) + return bestCandidate.apiPaths[0]; + const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` +`); + throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. +This is usually caused by using the global cache (enableGlobalCache: true) + +Controlled by: +${controlSegment} +`); + } + const start = ppath.resolve(npath.toPortablePath(modulePath)); + let curr; + let next = start; + do { + curr = next; + const cached = findApiPathCache.get(curr); + if (cached !== void 0) + return addToCacheAndReturn(start, curr, cached); + const cjsCandidate = ppath.join(curr, Filename.pnpCjs); + if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, cjsCandidate); + const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); + if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) + return addToCacheAndReturn(start, curr, legacyCjsCandidate); + next = ppath.dirname(curr); + } while (curr !== PortablePath.root); + return addToCacheAndReturn(start, curr, null); + } + const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); + function getApiPathFromParent(parent) { + if (parent == null) + return initialApiPath; + let apiPath = moduleToApiPathCache.get(parent); + if (typeof apiPath !== `undefined`) + return apiPath; + apiPath = parent.filename ? findApiPathFor(parent.filename) : null; + moduleToApiPathCache.set(parent, apiPath); + return apiPath; + } + return { + getApiPathFromParent, + findApiPathFor, + getApiEntry + }; +} + +const localFs = { ...fs__default.default }; +const nodeFs = new NodeFS(localFs); +const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); +const defaultPnpapiResolution = __filename; +const defaultFsLayer = new VirtualFS({ + baseFs: new ZipOpenFS({ + baseFs: nodeFs, + maxOpenFiles: 80, + readOnlyArchives: true + }) +}); +class DynamicFS extends ProxiedFS { + constructor() { + super(ppath); + this.baseFs = defaultFsLayer; + } + mapToBase(p) { + return p; + } + mapFromBase(p) { + return p; + } +} +const dynamicFsLayer = new DynamicFS(); +let manager; +const defaultApi = Object.assign(makeApi(defaultRuntimeState, { + fakeFs: dynamicFsLayer, + pnpapiResolution: defaultPnpapiResolution +}), { + makeApi: ({ + basePath = void 0, + fakeFs = dynamicFsLayer, + pnpapiResolution = defaultPnpapiResolution, + ...rest + }) => { + const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; + return makeApi(apiRuntimeState, { + fakeFs, + pnpapiResolution, + ...rest + }); + }, + setup: (api) => { + applyPatch(api || defaultApi, { + fakeFs: defaultFsLayer, + manager + }); + dynamicFsLayer.baseFs = new NodeFS(fs__default.default); + } +}); +manager = makeManager(defaultApi, { + fakeFs: dynamicFsLayer +}); +if (module.parent && module.parent.id === `internal/preload`) { + defaultApi.setup(); + if (module.filename) { + delete require$$0__default.default._cache[module.filename]; + } +} +if (process.mainModule === module) { + const reportError = (code, message, data) => { + process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} +`); + }; + const reportSuccess = (resolution) => { + process.stdout.write(`${JSON.stringify([null, resolution])} +`); + }; + const processResolution = (request, issuer) => { + try { + reportSuccess(defaultApi.resolveRequest(request, issuer)); + } catch (error) { + reportError(error.code, error.message, error.data); + } + }; + const processRequest = (data) => { + try { + const [request, issuer] = JSON.parse(data); + processResolution(request, issuer); + } catch (error) { + reportError(`INVALID_JSON`, error.message, error.data); + } + }; + if (process.argv.length > 2) { + if (process.argv.length !== 4) { + process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} +`); + process.exitCode = 64; + } else { + processResolution(process.argv[2], process.argv[3]); + } + } else { + let buffer = ``; + const decoder = new StringDecoder__default.default.StringDecoder(); + process.stdin.on(`data`, (chunk) => { + buffer += decoder.write(chunk); + do { + const index = buffer.indexOf(` +`); + if (index === -1) + break; + const line = buffer.slice(0, index); + buffer = buffer.slice(index + 1); + processRequest(line); + } while (true); + }); + } +} + +module.exports = defaultApi; diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs new file mode 100644 index 000000000..81ae9a6b2 --- /dev/null +++ b/.pnp.loader.mjs @@ -0,0 +1,2076 @@ +import fs from 'fs'; +import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; +import path from 'path'; +import { createHash } from 'crypto'; +import { EOL } from 'os'; +import moduleExports, { isBuiltin } from 'module'; +import assert from 'assert'; + +const SAFE_TIME = 456789e3; + +const PortablePath = { + root: `/`, + dot: `.`, + parent: `..` +}; +const npath = Object.create(path); +const ppath = Object.create(path.posix); +npath.cwd = () => process.cwd(); +ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; +if (process.platform === `win32`) { + ppath.resolve = (...segments) => { + if (segments.length > 0 && ppath.isAbsolute(segments[0])) { + return path.posix.resolve(...segments); + } else { + return path.posix.resolve(ppath.cwd(), ...segments); + } + }; +} +const contains = function(pathUtils, from, to) { + from = pathUtils.normalize(from); + to = pathUtils.normalize(to); + if (from === to) + return `.`; + if (!from.endsWith(pathUtils.sep)) + from = from + pathUtils.sep; + if (to.startsWith(from)) { + return to.slice(from.length); + } else { + return null; + } +}; +npath.contains = (from, to) => contains(npath, from, to); +ppath.contains = (from, to) => contains(ppath, from, to); +const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; +const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; +const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; +const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; +function fromPortablePathWin32(p) { + let portablePathMatch, uncPortablePathMatch; + if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) + p = portablePathMatch[1]; + else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) + p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; + else + return p; + return p.replace(/\//g, `\\`); +} +function toPortablePathWin32(p) { + p = p.replace(/\\/g, `/`); + let windowsPathMatch, uncWindowsPathMatch; + if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) + p = `/${windowsPathMatch[1]}`; + else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) + p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; + return p; +} +const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; +const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; +npath.fromPortablePath = fromPortablePath; +npath.toPortablePath = toPortablePath; +function convertPath(targetPathUtils, sourcePath) { + return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); +} + +const defaultTime = new Date(SAFE_TIME * 1e3); +const defaultTimeMs = defaultTime.getTime(); +async function copyPromise(destinationFs, destination, sourceFs, source, opts) { + const normalizedDestination = destinationFs.pathUtils.normalize(destination); + const normalizedSource = sourceFs.pathUtils.normalize(source); + const prelayout = []; + const postlayout = []; + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); + await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); + await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); + for (const operation of prelayout) + await operation(); + await Promise.all(postlayout.map((operation) => { + return operation(); + })); +} +async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { + const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; + const sourceStat = await sourceFs.lstatPromise(source); + const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; + let updated; + switch (true) { + case sourceStat.isDirectory(): + { + updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isFile(): + { + updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + case sourceStat.isSymbolicLink(): + { + updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } + break; + default: { + throw new Error(`Unsupported file type (${sourceStat.mode})`); + } + } + if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { + if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { + postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); + updated = true; + } + if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { + postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); + updated = true; + } + } + return updated; +} +async function maybeLStat(baseFs, p) { + try { + return await baseFs.lstatPromise(p); + } catch (e) { + return null; + } +} +async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null && !destinationStat.isDirectory()) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + let updated = false; + if (destinationStat === null) { + prelayout.push(async () => { + try { + await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); + } catch (err) { + if (err.code !== `EEXIST`) { + throw err; + } + } + }); + updated = true; + } + const entries = await sourceFs.readdirPromise(source); + const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; + if (opts.stableSort) { + for (const entry of entries.sort()) { + if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { + updated = true; + } + } + } else { + const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { + await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); + })); + if (entriesUpdateStatus.some((status) => status)) { + updated = true; + } + } + return updated; +} +async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { + const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); + const defaultMode = 420; + const sourceMode = sourceStat.mode & 511; + const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; + const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); + let AtomicBehavior; + ((AtomicBehavior2) => { + AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; + AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; + })(AtomicBehavior || (AtomicBehavior = {})); + let atomicBehavior = 1 /* Rename */; + let indexStat = await maybeLStat(destinationFs, indexPath); + if (destinationStat) { + const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; + const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; + if (isDestinationHardlinkedFromIndex) { + if (isIndexModified && linkStrategy.autoRepair) { + atomicBehavior = 0 /* Lock */; + indexStat = null; + } + } + if (!isDestinationHardlinkedFromIndex) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + } + const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; + let tempPathCleaned = false; + prelayout.push(async () => { + if (!indexStat) { + if (atomicBehavior === 0 /* Lock */) { + await destinationFs.lockPromise(indexPath, async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(indexPath, content); + }); + } + if (atomicBehavior === 1 /* Rename */ && tempPath) { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(tempPath, content); + try { + await destinationFs.linkPromise(tempPath, indexPath); + } catch (err) { + if (err.code === `EEXIST`) { + tempPathCleaned = true; + await destinationFs.unlinkPromise(tempPath); + } else { + throw err; + } + } + } + } + if (!destinationStat) { + await destinationFs.linkPromise(indexPath, destination); + } + }); + postlayout.push(async () => { + if (!indexStat) { + await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); + if (sourceMode !== defaultMode) { + await destinationFs.chmodPromise(indexPath, sourceMode); + } + } + if (tempPath && !tempPathCleaned) { + await destinationFs.unlinkPromise(tempPath); + } + }); + return false; +} +async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + const content = await sourceFs.readFilePromise(source); + await destinationFs.writeFilePromise(destination, content); + }); + return true; +} +async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (opts.linkStrategy?.type === `HardlinkFromIndex`) { + return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); + } else { + return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); + } +} +async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { + if (destinationStat !== null) { + if (opts.overwrite) { + prelayout.push(async () => destinationFs.removePromise(destination)); + destinationStat = null; + } else { + return false; + } + } + prelayout.push(async () => { + await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); + }); + return true; +} + +class FakeFS { + constructor(pathUtils) { + this.pathUtils = pathUtils; + } + async *genTraversePromise(init, { stableSort = false } = {}) { + const stack = [init]; + while (stack.length > 0) { + const p = stack.shift(); + const entry = await this.lstatPromise(p); + if (entry.isDirectory()) { + const entries = await this.readdirPromise(p); + if (stableSort) { + for (const entry2 of entries.sort()) { + stack.push(this.pathUtils.join(p, entry2)); + } + } else { + throw new Error(`Not supported`); + } + } else { + yield p; + } + } + } + async checksumFilePromise(path, { algorithm = `sha512` } = {}) { + const fd = await this.openPromise(path, `r`); + try { + const CHUNK_SIZE = 65536; + const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); + const hash = createHash(algorithm); + let bytesRead = 0; + while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) + hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); + return hash.digest(`hex`); + } finally { + await this.closePromise(fd); + } + } + async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { + let stat; + try { + stat = await this.lstatPromise(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) { + const entries = await this.readdirPromise(p); + await Promise.all(entries.map((entry) => { + return this.removePromise(this.pathUtils.resolve(p, entry)); + })); + } + for (let t = 0; t <= maxRetries; t++) { + try { + await this.rmdirPromise(p); + break; + } catch (error) { + if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { + throw error; + } else if (t < maxRetries) { + await new Promise((resolve) => setTimeout(resolve, t * 100)); + } + } + } + } else { + await this.unlinkPromise(p); + } + } + removeSync(p, { recursive = true } = {}) { + let stat; + try { + stat = this.lstatSync(p); + } catch (error) { + if (error.code === `ENOENT`) { + return; + } else { + throw error; + } + } + if (stat.isDirectory()) { + if (recursive) + for (const entry of this.readdirSync(p)) + this.removeSync(this.pathUtils.resolve(p, entry)); + this.rmdirSync(p); + } else { + this.unlinkSync(p); + } + } + async mkdirpPromise(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + await this.mkdirPromise(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + await this.chmodPromise(subPath, chmod); + if (utimes != null) { + await this.utimesPromise(subPath, utimes[0], utimes[1]); + } else { + const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); + await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + mkdirpSync(p, { chmod, utimes } = {}) { + p = this.resolve(p); + if (p === this.pathUtils.dirname(p)) + return void 0; + const parts = p.split(this.pathUtils.sep); + let createdDirectory; + for (let u = 2; u <= parts.length; ++u) { + const subPath = parts.slice(0, u).join(this.pathUtils.sep); + if (!this.existsSync(subPath)) { + try { + this.mkdirSync(subPath); + } catch (error) { + if (error.code === `EEXIST`) { + continue; + } else { + throw error; + } + } + createdDirectory ??= subPath; + if (chmod != null) + this.chmodSync(subPath, chmod); + if (utimes != null) { + this.utimesSync(subPath, utimes[0], utimes[1]); + } else { + const parentStat = this.statSync(this.pathUtils.dirname(subPath)); + this.utimesSync(subPath, parentStat.atime, parentStat.mtime); + } + } + } + return createdDirectory; + } + async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { + return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); + } + copySync(destination, source, { baseFs = this, overwrite = true } = {}) { + const stat = baseFs.lstatSync(source); + const exists = this.existsSync(destination); + if (stat.isDirectory()) { + this.mkdirpSync(destination); + const directoryListing = baseFs.readdirSync(source); + for (const entry of directoryListing) { + this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); + } + } else if (stat.isFile()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const content = baseFs.readFileSync(source); + this.writeFileSync(destination, content); + } + } else if (stat.isSymbolicLink()) { + if (!exists || overwrite) { + if (exists) + this.removeSync(destination); + const target = baseFs.readlinkSync(source); + this.symlinkSync(convertPath(this.pathUtils, target), destination); + } + } else { + throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); + } + const mode = stat.mode & 511; + this.chmodSync(destination, mode); + } + async changeFilePromise(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferPromise(p, content, opts); + } else { + return this.changeFileTextPromise(p, content, opts); + } + } + async changeFileBufferPromise(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = await this.readFilePromise(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + await this.writeFilePromise(p, content, { mode }); + } + async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { + let current = ``; + try { + current = await this.readFilePromise(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + await this.writeFilePromise(p, normalizedContent, { mode }); + } + changeFileSync(p, content, opts = {}) { + if (Buffer.isBuffer(content)) { + return this.changeFileBufferSync(p, content, opts); + } else { + return this.changeFileTextSync(p, content, opts); + } + } + changeFileBufferSync(p, content, { mode } = {}) { + let current = Buffer.alloc(0); + try { + current = this.readFileSync(p); + } catch (error) { + } + if (Buffer.compare(current, content) === 0) + return; + this.writeFileSync(p, content, { mode }); + } + changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { + let current = ``; + try { + current = this.readFileSync(p, `utf8`); + } catch (error) { + } + const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; + if (current === normalizedContent) + return; + this.writeFileSync(p, normalizedContent, { mode }); + } + async movePromise(fromP, toP) { + try { + await this.renamePromise(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + await this.copyPromise(toP, fromP); + await this.removePromise(fromP); + } else { + throw error; + } + } + } + moveSync(fromP, toP) { + try { + this.renameSync(fromP, toP); + } catch (error) { + if (error.code === `EXDEV`) { + this.copySync(toP, fromP); + this.removeSync(fromP); + } else { + throw error; + } + } + } + async lockPromise(affectedPath, callback) { + const lockPath = `${affectedPath}.flock`; + const interval = 1e3 / 60; + const startTime = Date.now(); + let fd = null; + const isAlive = async () => { + let pid; + try { + [pid] = await this.readJsonPromise(lockPath); + } catch (error) { + return Date.now() - startTime < 500; + } + try { + process.kill(pid, 0); + return true; + } catch (error) { + return false; + } + }; + while (fd === null) { + try { + fd = await this.openPromise(lockPath, `wx`); + } catch (error) { + if (error.code === `EEXIST`) { + if (!await isAlive()) { + try { + await this.unlinkPromise(lockPath); + continue; + } catch (error2) { + } + } + if (Date.now() - startTime < 60 * 1e3) { + await new Promise((resolve) => setTimeout(resolve, interval)); + } else { + throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); + } + } else { + throw error; + } + } + } + await this.writePromise(fd, JSON.stringify([process.pid])); + try { + return await callback(); + } finally { + try { + await this.closePromise(fd); + await this.unlinkPromise(lockPath); + } catch (error) { + } + } + } + async readJsonPromise(p) { + const content = await this.readFilePromise(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + readJsonSync(p) { + const content = this.readFileSync(p, `utf8`); + try { + return JSON.parse(content); + } catch (error) { + error.message += ` (in ${p})`; + throw error; + } + } + async writeJsonPromise(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} +`); + } + writeJsonSync(p, data, { compact = false } = {}) { + const space = compact ? 0 : 2; + return this.writeFileSync(p, `${JSON.stringify(data, null, space)} +`); + } + async preserveTimePromise(p, cb) { + const stat = await this.lstatPromise(p); + const result = await cb(); + if (typeof result !== `undefined`) + p = result; + await this.lutimesPromise(p, stat.atime, stat.mtime); + } + async preserveTimeSync(p, cb) { + const stat = this.lstatSync(p); + const result = cb(); + if (typeof result !== `undefined`) + p = result; + this.lutimesSync(p, stat.atime, stat.mtime); + } +} +class BasePortableFakeFS extends FakeFS { + constructor() { + super(ppath); + } +} +function getEndOfLine(content) { + const matches = content.match(/\r?\n/g); + if (matches === null) + return EOL; + const crlf = matches.filter((nl) => nl === `\r +`).length; + const lf = matches.length - crlf; + return crlf > lf ? `\r +` : ` +`; +} +function normalizeLineEndings(originalContent, newContent) { + return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); +} + +class ProxiedFS extends FakeFS { + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + resolve(path) { + return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); + } + getRealPath() { + return this.mapFromBase(this.baseFs.getRealPath()); + } + async openPromise(p, flags, mode) { + return this.baseFs.openPromise(this.mapToBase(p), flags, mode); + } + openSync(p, flags, mode) { + return this.baseFs.openSync(this.mapToBase(p), flags, mode); + } + async opendirPromise(p, opts) { + return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); + } + opendirSync(p, opts) { + return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); + } + async readPromise(fd, buffer, offset, length, position) { + return await this.baseFs.readPromise(fd, buffer, offset, length, position); + } + readSync(fd, buffer, offset, length, position) { + return this.baseFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return await this.baseFs.writePromise(fd, buffer, offset); + } else { + return await this.baseFs.writePromise(fd, buffer, offset, length, position); + } + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.baseFs.writeSync(fd, buffer, offset); + } else { + return this.baseFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + return this.baseFs.closePromise(fd); + } + closeSync(fd) { + this.baseFs.closeSync(fd); + } + createReadStream(p, opts) { + return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); + } + createWriteStream(p, opts) { + return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); + } + async realpathPromise(p) { + return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); + } + realpathSync(p) { + return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); + } + async existsPromise(p) { + return this.baseFs.existsPromise(this.mapToBase(p)); + } + existsSync(p) { + return this.baseFs.existsSync(this.mapToBase(p)); + } + accessSync(p, mode) { + return this.baseFs.accessSync(this.mapToBase(p), mode); + } + async accessPromise(p, mode) { + return this.baseFs.accessPromise(this.mapToBase(p), mode); + } + async statPromise(p, opts) { + return this.baseFs.statPromise(this.mapToBase(p), opts); + } + statSync(p, opts) { + return this.baseFs.statSync(this.mapToBase(p), opts); + } + async fstatPromise(fd, opts) { + return this.baseFs.fstatPromise(fd, opts); + } + fstatSync(fd, opts) { + return this.baseFs.fstatSync(fd, opts); + } + lstatPromise(p, opts) { + return this.baseFs.lstatPromise(this.mapToBase(p), opts); + } + lstatSync(p, opts) { + return this.baseFs.lstatSync(this.mapToBase(p), opts); + } + async fchmodPromise(fd, mask) { + return this.baseFs.fchmodPromise(fd, mask); + } + fchmodSync(fd, mask) { + return this.baseFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return this.baseFs.chmodPromise(this.mapToBase(p), mask); + } + chmodSync(p, mask) { + return this.baseFs.chmodSync(this.mapToBase(p), mask); + } + async fchownPromise(fd, uid, gid) { + return this.baseFs.fchownPromise(fd, uid, gid); + } + fchownSync(fd, uid, gid) { + return this.baseFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); + } + chownSync(p, uid, gid) { + return this.baseFs.chownSync(this.mapToBase(p), uid, gid); + } + async renamePromise(oldP, newP) { + return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); + } + renameSync(oldP, newP) { + return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); + } + async appendFilePromise(p, content, opts) { + return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); + } + appendFileSync(p, content, opts) { + return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); + } + async writeFilePromise(p, content, opts) { + return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); + } + writeFileSync(p, content, opts) { + return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); + } + async unlinkPromise(p) { + return this.baseFs.unlinkPromise(this.mapToBase(p)); + } + unlinkSync(p) { + return this.baseFs.unlinkSync(this.mapToBase(p)); + } + async utimesPromise(p, atime, mtime) { + return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); + } + utimesSync(p, atime, mtime) { + return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); + } + lutimesSync(p, atime, mtime) { + return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return this.baseFs.mkdirPromise(this.mapToBase(p), opts); + } + mkdirSync(p, opts) { + return this.baseFs.mkdirSync(this.mapToBase(p), opts); + } + async rmdirPromise(p, opts) { + return this.baseFs.rmdirPromise(this.mapToBase(p), opts); + } + rmdirSync(p, opts) { + return this.baseFs.rmdirSync(this.mapToBase(p), opts); + } + async linkPromise(existingP, newP) { + return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); + } + linkSync(existingP, newP) { + return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); + } + async symlinkPromise(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); + } + symlinkSync(target, p, type) { + const mappedP = this.mapToBase(p); + if (this.pathUtils.isAbsolute(target)) + return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); + const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); + const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); + return this.baseFs.symlinkSync(mappedTarget, mappedP, type); + } + async readFilePromise(p, encoding) { + return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); + } + readFileSync(p, encoding) { + return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); + } + readdirPromise(p, opts) { + return this.baseFs.readdirPromise(this.mapToBase(p), opts); + } + readdirSync(p, opts) { + return this.baseFs.readdirSync(this.mapToBase(p), opts); + } + async readlinkPromise(p) { + return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); + } + readlinkSync(p) { + return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); + } + async truncatePromise(p, len) { + return this.baseFs.truncatePromise(this.mapToBase(p), len); + } + truncateSync(p, len) { + return this.baseFs.truncateSync(this.mapToBase(p), len); + } + async ftruncatePromise(fd, len) { + return this.baseFs.ftruncatePromise(fd, len); + } + ftruncateSync(fd, len) { + return this.baseFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.baseFs.watch( + this.mapToBase(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.baseFs.watchFile( + this.mapToBase(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.baseFs.unwatchFile(this.mapToBase(p), cb); + } + fsMapToBase(p) { + if (typeof p === `number`) { + return p; + } else { + return this.mapToBase(p); + } + } +} + +function direntToPortable(dirent) { + const portableDirent = dirent; + if (typeof dirent.path === `string`) + portableDirent.path = npath.toPortablePath(dirent.path); + return portableDirent; +} +class NodeFS extends BasePortableFakeFS { + constructor(realFs = fs) { + super(); + this.realFs = realFs; + } + getExtractHint() { + return false; + } + getRealPath() { + return PortablePath.root; + } + resolve(p) { + return ppath.resolve(p); + } + async openPromise(p, flags, mode) { + return await new Promise((resolve, reject) => { + this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); + }); + } + openSync(p, flags, mode) { + return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); + } + async opendirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (typeof opts !== `undefined`) { + this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }).then((dir) => { + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + }); + } + opendirSync(p, opts) { + const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); + const dirWithFixedPath = dir; + Object.defineProperty(dirWithFixedPath, `path`, { + value: p, + configurable: true, + writable: true + }); + return dirWithFixedPath; + } + async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { + return await new Promise((resolve, reject) => { + this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { + if (error) { + reject(error); + } else { + resolve(bytesRead); + } + }); + }); + } + readSync(fd, buffer, offset, length, position) { + return this.realFs.readSync(fd, buffer, offset, length, position); + } + async writePromise(fd, buffer, offset, length, position) { + return await new Promise((resolve, reject) => { + if (typeof buffer === `string`) { + return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); + } else { + return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); + } + }); + } + writeSync(fd, buffer, offset, length, position) { + if (typeof buffer === `string`) { + return this.realFs.writeSync(fd, buffer, offset); + } else { + return this.realFs.writeSync(fd, buffer, offset, length, position); + } + } + async closePromise(fd) { + await new Promise((resolve, reject) => { + this.realFs.close(fd, this.makeCallback(resolve, reject)); + }); + } + closeSync(fd) { + this.realFs.closeSync(fd); + } + createReadStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createReadStream(realPath, opts); + } + createWriteStream(p, opts) { + const realPath = p !== null ? npath.fromPortablePath(p) : p; + return this.realFs.createWriteStream(realPath, opts); + } + async realpathPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + realpathSync(p) { + return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); + } + async existsPromise(p) { + return await new Promise((resolve) => { + this.realFs.exists(npath.fromPortablePath(p), resolve); + }); + } + accessSync(p, mode) { + return this.realFs.accessSync(npath.fromPortablePath(p), mode); + } + async accessPromise(p, mode) { + return await new Promise((resolve, reject) => { + this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); + }); + } + existsSync(p) { + return this.realFs.existsSync(npath.fromPortablePath(p)); + } + async statPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + statSync(p, opts) { + if (opts) { + return this.realFs.statSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.statSync(npath.fromPortablePath(p)); + } + } + async fstatPromise(fd, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.fstat(fd, this.makeCallback(resolve, reject)); + } + }); + } + fstatSync(fd, opts) { + if (opts) { + return this.realFs.fstatSync(fd, opts); + } else { + return this.realFs.fstatSync(fd); + } + } + async lstatPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + lstatSync(p, opts) { + if (opts) { + return this.realFs.lstatSync(npath.fromPortablePath(p), opts); + } else { + return this.realFs.lstatSync(npath.fromPortablePath(p)); + } + } + async fchmodPromise(fd, mask) { + return await new Promise((resolve, reject) => { + this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); + }); + } + fchmodSync(fd, mask) { + return this.realFs.fchmodSync(fd, mask); + } + async chmodPromise(p, mask) { + return await new Promise((resolve, reject) => { + this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); + }); + } + chmodSync(p, mask) { + return this.realFs.chmodSync(npath.fromPortablePath(p), mask); + } + async fchownPromise(fd, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); + }); + } + fchownSync(fd, uid, gid) { + return this.realFs.fchownSync(fd, uid, gid); + } + async chownPromise(p, uid, gid) { + return await new Promise((resolve, reject) => { + this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); + }); + } + chownSync(p, uid, gid) { + return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); + } + async renamePromise(oldP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + renameSync(oldP, newP) { + return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); + } + async copyFilePromise(sourceP, destP, flags = 0) { + return await new Promise((resolve, reject) => { + this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); + }); + } + copyFileSync(sourceP, destP, flags = 0) { + return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); + } + async appendFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + appendFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.appendFileSync(fsNativePath, content, opts); + } else { + this.realFs.appendFileSync(fsNativePath, content); + } + } + async writeFilePromise(p, content, opts) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); + } + }); + } + writeFileSync(p, content, opts) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + if (opts) { + this.realFs.writeFileSync(fsNativePath, content, opts); + } else { + this.realFs.writeFileSync(fsNativePath, content); + } + } + async unlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }); + } + unlinkSync(p) { + return this.realFs.unlinkSync(npath.fromPortablePath(p)); + } + async utimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + utimesSync(p, atime, mtime) { + this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); + } + async lutimesPromise(p, atime, mtime) { + return await new Promise((resolve, reject) => { + this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); + }); + } + lutimesSync(p, atime, mtime) { + this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); + } + async mkdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + }); + } + mkdirSync(p, opts) { + return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); + } + async rmdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } else { + this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + rmdirSync(p, opts) { + return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); + } + async linkPromise(existingP, newP) { + return await new Promise((resolve, reject) => { + this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); + }); + } + linkSync(existingP, newP) { + return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); + } + async symlinkPromise(target, p, type) { + return await new Promise((resolve, reject) => { + this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); + }); + } + symlinkSync(target, p, type) { + return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); + } + async readFilePromise(p, encoding) { + return await new Promise((resolve, reject) => { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); + }); + } + readFileSync(p, encoding) { + const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; + return this.realFs.readFileSync(fsNativePath, encoding); + } + async readdirPromise(p, opts) { + return await new Promise((resolve, reject) => { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); + } + } else { + this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + } + }); + } + readdirSync(p, opts) { + if (opts) { + if (opts.recursive && process.platform === `win32`) { + if (opts.withFileTypes) { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p), opts); + } + } else { + return this.realFs.readdirSync(npath.fromPortablePath(p)); + } + } + async readlinkPromise(p) { + return await new Promise((resolve, reject) => { + this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); + }).then((path) => { + return npath.toPortablePath(path); + }); + } + readlinkSync(p) { + return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); + } + async truncatePromise(p, len) { + return await new Promise((resolve, reject) => { + this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); + }); + } + truncateSync(p, len) { + return this.realFs.truncateSync(npath.fromPortablePath(p), len); + } + async ftruncatePromise(fd, len) { + return await new Promise((resolve, reject) => { + this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); + }); + } + ftruncateSync(fd, len) { + return this.realFs.ftruncateSync(fd, len); + } + watch(p, a, b) { + return this.realFs.watch( + npath.fromPortablePath(p), + a, + b + ); + } + watchFile(p, a, b) { + return this.realFs.watchFile( + npath.fromPortablePath(p), + a, + b + ); + } + unwatchFile(p, cb) { + return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); + } + makeCallback(resolve, reject) { + return (err, result) => { + if (err) { + reject(err); + } else { + resolve(result); + } + }; + } +} + +const NUMBER_REGEXP = /^[0-9]+$/; +const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; +const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; +class VirtualFS extends ProxiedFS { + constructor({ baseFs = new NodeFS() } = {}) { + super(ppath); + this.baseFs = baseFs; + } + static makeVirtualPath(base, component, to) { + if (ppath.basename(base) !== `__virtual__`) + throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); + if (!ppath.basename(component).match(VALID_COMPONENT)) + throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); + const target = ppath.relative(ppath.dirname(base), to); + const segments = target.split(`/`); + let depth = 0; + while (depth < segments.length && segments[depth] === `..`) + depth += 1; + const finalSegments = segments.slice(depth); + const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); + return fullVirtualPath; + } + static resolveVirtual(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match || !match[3] && match[5]) + return p; + const target = ppath.dirname(match[1]); + if (!match[3] || !match[4]) + return target; + const isnum = NUMBER_REGEXP.test(match[4]); + if (!isnum) + return p; + const depth = Number(match[4]); + const backstep = `../`.repeat(depth); + const subpath = match[5] || `.`; + return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); + } + getExtractHint(hints) { + return this.baseFs.getExtractHint(hints); + } + getRealPath() { + return this.baseFs.getRealPath(); + } + realpathSync(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return this.baseFs.realpathSync(p); + if (!match[5]) + return p; + const realpath = this.baseFs.realpathSync(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + async realpathPromise(p) { + const match = p.match(VIRTUAL_REGEXP); + if (!match) + return await this.baseFs.realpathPromise(p); + if (!match[5]) + return p; + const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); + return VirtualFS.makeVirtualPath(match[1], match[3], realpath); + } + mapToBase(p) { + if (p === ``) + return p; + if (this.pathUtils.isAbsolute(p)) + return VirtualFS.resolveVirtual(p); + const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); + const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); + return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; + } + mapFromBase(p) { + return p; + } +} + +const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; + +const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); +const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; +const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; + +function readPackageScope(checkPath) { + const rootSeparatorIndex = checkPath.indexOf(npath.sep); + let separatorIndex; + do { + separatorIndex = checkPath.lastIndexOf(npath.sep); + checkPath = checkPath.slice(0, separatorIndex); + if (checkPath.endsWith(`${npath.sep}node_modules`)) + return false; + const pjson = readPackage(checkPath + npath.sep); + if (pjson) { + return { + data: pjson, + path: checkPath + }; + } + } while (separatorIndex > rootSeparatorIndex); + return false; +} +function readPackage(requestPath) { + const jsonPath = npath.resolve(requestPath, `package.json`); + if (!fs.existsSync(jsonPath)) + return null; + return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); +} + +async function tryReadFile$1(path2) { + try { + return await fs.promises.readFile(path2, `utf8`); + } catch (error) { + if (error.code === `ENOENT`) + return null; + throw error; + } +} +function tryParseURL(str, base) { + try { + return new URL(str, base); + } catch { + return null; + } +} +let entrypointPath = null; +function setEntrypointPath(file) { + entrypointPath = file; +} +function getFileFormat(filepath) { + const ext = path.extname(filepath); + switch (ext) { + case `.mjs`: { + return `module`; + } + case `.cjs`: { + return `commonjs`; + } + case `.wasm`: { + throw new Error( + `Unknown file extension ".wasm" for ${filepath}` + ); + } + case `.json`: { + return `json`; + } + case `.js`: { + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + return pkg.data.type ?? `commonjs`; + } + default: { + if (entrypointPath !== filepath) + return null; + const pkg = readPackageScope(filepath); + if (!pkg) + return `commonjs`; + if (pkg.data.type === `module`) + return null; + return pkg.data.type ?? `commonjs`; + } + } +} + +async function load$1(urlString, context, nextLoad) { + const url = tryParseURL(urlString); + if (url?.protocol !== `file:`) + return nextLoad(urlString, context, nextLoad); + const filePath = fileURLToPath(url); + const format = getFileFormat(filePath); + if (!format) + return nextLoad(urlString, context, nextLoad); + if (format === `json` && context.importAssertions?.type !== `json`) { + const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`); + err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; + throw err; + } + if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { + const pathToSend = pathToFileURL( + npath.fromPortablePath( + VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) + ) + ).href; + process.send({ + "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend + }); + } + return { + format, + source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), + shortCircuit: true + }; +} + +const ArrayIsArray = Array.isArray; +const JSONStringify = JSON.stringify; +const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; +const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); +const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); +const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); +const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); +const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); +const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); +const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); +const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); +const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); +const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); +const SafeMap = Map; +const JSONParse = JSON.parse; + +function createErrorType(code, messageCreator, errorType) { + return class extends errorType { + constructor(...args) { + super(messageCreator(...args)); + this.code = code; + this.name = `${errorType.name} [${code}]`; + } + }; +} +const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( + `ERR_PACKAGE_IMPORT_NOT_DEFINED`, + (specifier, packagePath, base) => { + return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; + }, + TypeError +); +const ERR_INVALID_MODULE_SPECIFIER = createErrorType( + `ERR_INVALID_MODULE_SPECIFIER`, + (request, reason, base = void 0) => { + return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; + }, + TypeError +); +const ERR_INVALID_PACKAGE_TARGET = createErrorType( + `ERR_INVALID_PACKAGE_TARGET`, + (pkgPath, key, target, isImport = false, base = void 0) => { + const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); + if (key === `.`) { + assert(isImport === false); + return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + } + return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( + target + )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; + }, + Error +); +const ERR_INVALID_PACKAGE_CONFIG = createErrorType( + `ERR_INVALID_PACKAGE_CONFIG`, + (path, base, message) => { + return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; + }, + Error +); + +function filterOwnProperties(source, keys) { + const filtered = /* @__PURE__ */ Object.create(null); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (ObjectPrototypeHasOwnProperty(source, key)) { + filtered[key] = source[key]; + } + } + return filtered; +} + +const packageJSONCache = new SafeMap(); +function getPackageConfig(path, specifier, base, readFileSyncFn) { + const existing = packageJSONCache.get(path); + if (existing !== void 0) { + return existing; + } + const source = readFileSyncFn(path); + if (source === void 0) { + const packageConfig2 = { + pjsonPath: path, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(path, packageConfig2); + return packageConfig2; + } + let packageJSON; + try { + packageJSON = JSONParse(source); + } catch (error) { + throw new ERR_INVALID_PACKAGE_CONFIG( + path, + (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), + error.message + ); + } + let { imports, main, name, type } = filterOwnProperties(packageJSON, [ + "imports", + "main", + "name", + "type" + ]); + const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; + if (typeof imports !== "object" || imports === null) { + imports = void 0; + } + if (typeof main !== "string") { + main = void 0; + } + if (typeof name !== "string") { + name = void 0; + } + if (type !== "module" && type !== "commonjs") { + type = "none"; + } + const packageConfig = { + pjsonPath: path, + exists: true, + main, + name, + type, + exports, + imports + }; + packageJSONCache.set(path, packageConfig); + return packageConfig; +} +function getPackageScopeConfig(resolved, readFileSyncFn) { + let packageJSONUrl = new URL("./package.json", resolved); + while (true) { + const packageJSONPath2 = packageJSONUrl.pathname; + if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { + break; + } + const packageConfig2 = getPackageConfig( + fileURLToPath(packageJSONUrl), + resolved, + void 0, + readFileSyncFn + ); + if (packageConfig2.exists) { + return packageConfig2; + } + const lastPackageJSONUrl = packageJSONUrl; + packageJSONUrl = new URL("../package.json", packageJSONUrl); + if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { + break; + } + } + const packageJSONPath = fileURLToPath(packageJSONUrl); + const packageConfig = { + pjsonPath: packageJSONPath, + exists: false, + main: void 0, + name: void 0, + type: "none", + exports: void 0, + imports: void 0 + }; + packageJSONCache.set(packageJSONPath, packageConfig); + return packageConfig; +} + +function throwImportNotDefined(specifier, packageJSONUrl, base) { + throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( + specifier, + packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), + fileURLToPath(base) + ); +} +function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { + const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; + throw new ERR_INVALID_MODULE_SPECIFIER( + subpath, + reason, + base && fileURLToPath(base) + ); +} +function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { + if (typeof target === "object" && target !== null) { + target = JSONStringify(target, null, ""); + } else { + target = `${target}`; + } + throw new ERR_INVALID_PACKAGE_TARGET( + fileURLToPath(new URL(".", packageJSONUrl)), + subpath, + target, + internal, + base && fileURLToPath(base) + ); +} +const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; +const patternRegEx = /\*/g; +function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { + if (subpath !== "" && !pattern && target[target.length - 1] !== "/") + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (!StringPrototypeStartsWith(target, "./")) { + if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { + let isURL = false; + try { + new URL(target); + isURL = true; + } catch { + } + if (!isURL) { + const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; + return exportTarget; + } + } + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + } + if (RegExpPrototypeExec( + invalidSegmentRegEx, + StringPrototypeSlice(target, 2) + ) !== null) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + const resolved = new URL(target, packageJSONUrl); + const resolvedPath = resolved.pathname; + const packagePath = new URL(".", packageJSONUrl).pathname; + if (!StringPrototypeStartsWith(resolvedPath, packagePath)) + throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); + if (subpath === "") + return resolved; + if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { + const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; + throwInvalidSubpath(request, packageJSONUrl, internal, base); + } + if (pattern) { + return new URL( + RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) + ); + } + return new URL(subpath, resolved); +} +function isArrayIndex(key) { + const keyNum = +key; + if (`${keyNum}` !== key) + return false; + return keyNum >= 0 && keyNum < 4294967295; +} +function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { + if (typeof target === "string") { + return resolvePackageTargetString( + target, + subpath, + packageSubpath, + packageJSONUrl, + base, + pattern, + internal); + } else if (ArrayIsArray(target)) { + if (target.length === 0) { + return null; + } + let lastException; + for (let i = 0; i < target.length; i++) { + const targetItem = target[i]; + let resolveResult; + try { + resolveResult = resolvePackageTarget( + packageJSONUrl, + targetItem, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + } catch (e) { + lastException = e; + if (e.code === "ERR_INVALID_PACKAGE_TARGET") { + continue; + } + throw e; + } + if (resolveResult === void 0) { + continue; + } + if (resolveResult === null) { + lastException = null; + continue; + } + return resolveResult; + } + if (lastException === void 0 || lastException === null) + return lastException; + throw lastException; + } else if (typeof target === "object" && target !== null) { + const keys = ObjectGetOwnPropertyNames(target); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (isArrayIndex(key)) { + throw new ERR_INVALID_PACKAGE_CONFIG( + fileURLToPath(packageJSONUrl), + base, + '"exports" cannot contain numeric property keys.' + ); + } + } + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + if (key === "default" || conditions.has(key)) { + const conditionalTarget = target[key]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + conditionalTarget, + subpath, + packageSubpath, + base, + pattern, + internal, + conditions + ); + if (resolveResult === void 0) + continue; + return resolveResult; + } + } + return void 0; + } else if (target === null) { + return null; + } + throwInvalidPackageTarget( + packageSubpath, + target, + packageJSONUrl, + internal, + base + ); +} +function patternKeyCompare(a, b) { + const aPatternIndex = StringPrototypeIndexOf(a, "*"); + const bPatternIndex = StringPrototypeIndexOf(b, "*"); + const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; + const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; + if (baseLenA > baseLenB) + return -1; + if (baseLenB > baseLenA) + return 1; + if (aPatternIndex === -1) + return 1; + if (bPatternIndex === -1) + return -1; + if (a.length > b.length) + return -1; + if (b.length > a.length) + return 1; + return 0; +} +function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { + if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { + const reason = "is not a valid internal imports specifier name"; + throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); + } + let packageJSONUrl; + const packageConfig = getPackageScopeConfig(base, readFileSyncFn); + if (packageConfig.exists) { + packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); + const imports = packageConfig.imports; + if (imports) { + if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { + const resolveResult = resolvePackageTarget( + packageJSONUrl, + imports[name], + "", + name, + base, + false, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } else { + let bestMatch = ""; + let bestMatchSubpath; + const keys = ObjectGetOwnPropertyNames(imports); + for (let i = 0; i < keys.length; i++) { + const key = keys[i]; + const patternIndex = StringPrototypeIndexOf(key, "*"); + if (patternIndex !== -1 && StringPrototypeStartsWith( + name, + StringPrototypeSlice(key, 0, patternIndex) + )) { + const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); + if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { + bestMatch = key; + bestMatchSubpath = StringPrototypeSlice( + name, + patternIndex, + name.length - patternTrailer.length + ); + } + } + } + if (bestMatch) { + const target = imports[bestMatch]; + const resolveResult = resolvePackageTarget( + packageJSONUrl, + target, + bestMatchSubpath, + bestMatch, + base, + true, + true, + conditions + ); + if (resolveResult != null) { + return resolveResult; + } + } + } + } + } + throwImportNotDefined(name, packageJSONUrl, base); +} + +const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; +const isRelativeRegexp = /^\.{0,2}\//; +function tryReadFile(filePath) { + try { + return fs.readFileSync(filePath, `utf8`); + } catch (err) { + if (err.code === `ENOENT`) + return void 0; + throw err; + } +} +async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { + const resolved = packageImportsResolve({ + name: specifier, + base: pathToFileURL(issuer), + conditions: new Set(context.conditions), + readFileSyncFn: tryReadFile + }); + if (resolved instanceof URL) { + return { url: resolved.href, shortCircuit: true }; + } else { + if (resolved.startsWith(`#`)) + throw new Error(`Mapping from one private import to another isn't allowed`); + return resolve$1(resolved, context, nextResolve); + } +} +async function resolve$1(originalSpecifier, context, nextResolve) { + const { findPnpApi } = moduleExports; + if (!findPnpApi || isBuiltin(originalSpecifier)) + return nextResolve(originalSpecifier, context, nextResolve); + let specifier = originalSpecifier; + const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); + if (url) { + if (url.protocol !== `file:`) + return nextResolve(originalSpecifier, context, nextResolve); + specifier = fileURLToPath(url); + } + const { parentURL, conditions = [] } = context; + const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); + const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); + if (!pnpapi) + return nextResolve(originalSpecifier, context, nextResolve); + if (specifier.startsWith(`#`)) + return resolvePrivateRequest(specifier, issuer, context, nextResolve); + const dependencyNameMatch = specifier.match(pathRegExp); + let allowLegacyResolve = false; + if (dependencyNameMatch) { + const [, dependencyName, subPath] = dependencyNameMatch; + if (subPath === `` && dependencyName !== `pnpapi`) { + const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); + if (resolved) { + const content = await tryReadFile$1(resolved); + if (content) { + const pkg = JSON.parse(content); + allowLegacyResolve = pkg.exports == null; + } + } + } + } + let result; + try { + result = pnpapi.resolveRequest(specifier, issuer, { + conditions: new Set(conditions), + extensions: allowLegacyResolve ? void 0 : [] + }); + } catch (err) { + if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) + err.code = `ERR_MODULE_NOT_FOUND`; + throw err; + } + if (!result) + throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); + const resultURL = pathToFileURL(result); + if (url) { + resultURL.search = url.search; + resultURL.hash = url.hash; + } + if (!parentURL) + setEntrypointPath(fileURLToPath(resultURL)); + return { + url: resultURL.href, + shortCircuit: true + }; +} + +if (!HAS_LAZY_LOADED_TRANSLATORS) { + const binding = process.binding(`fs`); + const originalReadFile = binding.readFileUtf8 || binding.readFileSync; + if (originalReadFile) { + binding[originalReadFile.name] = function(...args) { + try { + return fs.readFileSync(args[0], { + encoding: `utf8`, + flag: args[1] + }); + } catch { + } + return originalReadFile.apply(this, args); + }; + } else { + const binding2 = process.binding(`fs`); + const originalfstat = binding2.fstat; + const ZIP_MASK = 4278190080; + const ZIP_MAGIC = 704643072; + binding2.fstat = function(...args) { + const [fd, useBigint, req] = args; + if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { + try { + const stats = fs.fstatSync(fd); + return new Float64Array([ + stats.dev, + stats.mode, + stats.nlink, + stats.uid, + stats.gid, + stats.rdev, + stats.blksize, + stats.ino, + stats.size, + stats.blocks + ]); + } catch { + } + } + return originalfstat.apply(this, args); + }; + } +} + +const resolve = resolve$1; +const load = load$1; + +export { load, resolve }; diff --git a/.sentryclirc b/.sentryclirc deleted file mode 100644 index 6ef215a37..000000000 --- a/.sentryclirc +++ /dev/null @@ -1,2 +0,0 @@ -[auth] -token=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 diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 000000000..4039befa7 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,16 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**" + ], + "defines": [], + "compilerPath": "/usr/bin/gcc", + "cStandard": "c17", + "cppStandard": "gnu++17", + "intelliSenseMode": "linux-gcc-x64" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 8ba66b166..e00b3eca1 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,10 +1,10 @@ { - "recommendations": [ - "ms-azuretools.vscode-docker", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "ms-vscode.makefile-tools", - "usernamehw.errorlens", - "ritwickdey.LiveServer" - ] + "recommendations": [ + "ms-azuretools.vscode-docker", + "dbaeumer.vscode-eslint", + "esbenp.prettier-vscode", + "ms-vscode.makefile-tools", + "usernamehw.errorlens", + "arcanis.vscode-zipfs" + ] } diff --git a/.vscode/launch.json b/.vscode/launch.json index e7f2ca974..8396af440 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -1,25 +1,57 @@ { - // Use IntelliSense to learn about possible attributes. - // Hover to view descriptions of existing attributes. - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ { "name": "Stop Prod", "request": "launch", - "runtimeArgs": ["run-script", "prod:stop"], + "runtimeArgs": [ + "run-script", + "prod:stop" + ], "runtimeExecutable": "npm", - "skipFiles": ["/**"], + "skipFiles": [ + "/**" + ], "type": "node" }, - { "name": "Start Prod", "request": "launch", - "runtimeArgs": ["run-script", "prod"], + "runtimeArgs": [ + "run-script", + "prod" + ], "runtimeExecutable": "npm", - "skipFiles": ["/**"], + "skipFiles": [ + "/**" + ], "type": "node" + }, + { + "name": "C/C++: gcc build and debug active file", + "type": "cppdbg", + "request": "launch", + "program": "${fileDirname}/${fileBasenameNoExtension}", + "args": [], + "stopAtEntry": false, + "cwd": "${fileDirname}", + "environment": [], + "externalConsole": false, + "MIMode": "gdb", + "setupCommands": [ + { + "description": "Enable pretty-printing for gdb", + "text": "-enable-pretty-printing", + "ignoreFailures": true + }, + { + "description": "Set Disassembly Flavor to Intel", + "text": "-gdb-set disassembly-flavor intel", + "ignoreFailures": true + } + ], + "preLaunchTask": "C/C++: gcc build active file", + "miDebuggerPath": "/usr/bin/gdb" } ] -} +} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 81682a824..9c434d3b2 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,5 +1,24 @@ { - "git.enableCommitSigning": true, - "typescript.tsdk": "node_modules/typescript/lib", - "js/ts.implicitProjectConfig.checkJs": true + "git.enableCommitSigning": true, + "js/ts.implicitProjectConfig.checkJs": true, + "search.exclude": { + "**/.yarn": true, + "**/.pnp.*": true + }, + "typescript.tsdk": ".yarn/sdks/typescript/lib", + "typescript.enablePromptUseWorkspaceTsdk": true, + "prettier.prettierPath": ".yarn/sdks/prettier/index.cjs", + "C_Cpp.errorSquiggles": "enabled", + "sqltools.connections": [ + { + "previewLimit": 50, + "server": "localhost", + "port": 5432, + "driver": "PostgreSQL", + "name": "rm", + "database": "rm", + "username": "user", + "password": "password" + } + ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 000000000..37f31b3ea --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,25 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: gcc build active file", + "command": "/usr/bin/gcc", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}/${fileBasenameNoExtension}" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": "build", + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/.yarn/sdks/integrations.yml b/.yarn/sdks/integrations.yml new file mode 100644 index 000000000..aa9d0d0ad --- /dev/null +++ b/.yarn/sdks/integrations.yml @@ -0,0 +1,5 @@ +# This file is automatically generated by @yarnpkg/sdks. +# Manual changes might be lost! + +integrations: + - vscode diff --git a/.yarn/sdks/prettier/bin/prettier.cjs b/.yarn/sdks/prettier/bin/prettier.cjs new file mode 100755 index 000000000..5efad688e --- /dev/null +++ b/.yarn/sdks/prettier/bin/prettier.cjs @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require prettier/bin/prettier.cjs + require(absPnpApiPath).setup(); + } +} + +// Defer to the real prettier/bin/prettier.cjs your application uses +module.exports = absRequire(`prettier/bin/prettier.cjs`); diff --git a/.yarn/sdks/prettier/index.cjs b/.yarn/sdks/prettier/index.cjs new file mode 100644 index 000000000..8758e367a --- /dev/null +++ b/.yarn/sdks/prettier/index.cjs @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require prettier + require(absPnpApiPath).setup(); + } +} + +// Defer to the real prettier your application uses +module.exports = absRequire(`prettier`); diff --git a/.yarn/sdks/prettier/package.json b/.yarn/sdks/prettier/package.json new file mode 100644 index 000000000..e6c621dbb --- /dev/null +++ b/.yarn/sdks/prettier/package.json @@ -0,0 +1,7 @@ +{ + "name": "prettier", + "version": "3.2.4-sdk", + "main": "./index.cjs", + "type": "commonjs", + "bin": "./bin/prettier.cjs" +} diff --git a/.yarn/sdks/typescript/bin/tsc b/.yarn/sdks/typescript/bin/tsc new file mode 100755 index 000000000..454b950b7 --- /dev/null +++ b/.yarn/sdks/typescript/bin/tsc @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/bin/tsc + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/bin/tsc your application uses +module.exports = absRequire(`typescript/bin/tsc`); diff --git a/.yarn/sdks/typescript/bin/tsserver b/.yarn/sdks/typescript/bin/tsserver new file mode 100755 index 000000000..d7a605684 --- /dev/null +++ b/.yarn/sdks/typescript/bin/tsserver @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/bin/tsserver + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/bin/tsserver your application uses +module.exports = absRequire(`typescript/bin/tsserver`); diff --git a/.yarn/sdks/typescript/lib/tsc.js b/.yarn/sdks/typescript/lib/tsc.js new file mode 100644 index 000000000..2f62fc96c --- /dev/null +++ b/.yarn/sdks/typescript/lib/tsc.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/lib/tsc.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/lib/tsc.js your application uses +module.exports = absRequire(`typescript/lib/tsc.js`); diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js new file mode 100644 index 000000000..bbb1e4650 --- /dev/null +++ b/.yarn/sdks/typescript/lib/tsserver.js @@ -0,0 +1,225 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +const moduleWrapper = tsserver => { + if (!process.versions.pnp) { + return tsserver; + } + + const {isAbsolute} = require(`path`); + const pnpApi = require(`pnpapi`); + + const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); + const isPortal = str => str.startsWith("portal:/"); + const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); + + const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { + return `${locator.name}@${locator.reference}`; + })); + + // VSCode sends the zip paths to TS using the "zip://" prefix, that TS + // doesn't understand. This layer makes sure to remove the protocol + // before forwarding it to TS, and to add it back on all returned paths. + + function toEditorPath(str) { + // We add the `zip:` prefix to both `.zip/` paths and virtual paths + if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { + // We also take the opportunity to turn virtual paths into physical ones; + // this makes it much easier to work with workspaces that list peer + // dependencies, since otherwise Ctrl+Click would bring us to the virtual + // file instances instead of the real ones. + // + // We only do this to modules owned by the the dependency tree roots. + // This avoids breaking the resolution when jumping inside a vendor + // with peer dep (otherwise jumping into react-dom would show resolution + // errors on react). + // + const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; + if (resolved) { + const locator = pnpApi.findPackageLocator(resolved); + if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { + str = resolved; + } + } + + str = normalize(str); + + if (str.match(/\.zip\//)) { + switch (hostInfo) { + // Absolute VSCode `Uri.fsPath`s need to start with a slash. + // VSCode only adds it automatically for supported schemes, + // so we have to do it manually for the `zip` scheme. + // The path needs to start with a caret otherwise VSCode doesn't handle the protocol + // + // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 + // + // 2021-10-08: VSCode changed the format in 1.61. + // Before | ^zip:/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + // 2022-04-06: VSCode changed the format in 1.66. + // Before | ^/zip//c:/foo/bar.zip/package.json + // After | ^/zip/c:/foo/bar.zip/package.json + // + // 2022-05-06: VSCode changed the format in 1.68 + // Before | ^/zip/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + case `vscode <1.61`: { + str = `^zip:${str}`; + } break; + + case `vscode <1.66`: { + str = `^/zip/${str}`; + } break; + + case `vscode <1.68`: { + str = `^/zip${str}`; + } break; + + case `vscode`: { + str = `^/zip/${str}`; + } break; + + // To make "go to definition" work, + // We have to resolve the actual file system path from virtual path + // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) + case `coc-nvim`: { + str = normalize(resolved).replace(/\.zip\//, `.zip::`); + str = resolve(`zipfile:${str}`); + } break; + + // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) + // We have to resolve the actual file system path from virtual path, + // everything else is up to neovim + case `neovim`: { + str = normalize(resolved).replace(/\.zip\//, `.zip::`); + str = `zipfile://${str}`; + } break; + + default: { + str = `zip:${str}`; + } break; + } + } else { + str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); + } + } + + return str; + } + + function fromEditorPath(str) { + switch (hostInfo) { + case `coc-nvim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for coc-nvim is in format of //zipfile://.yarn/... + // So in order to convert it back, we use .* to match all the thing + // before `zipfile:` + return process.platform === `win32` + ? str.replace(/^.*zipfile:\//, ``) + : str.replace(/^.*zipfile:/, ``); + } break; + + case `neovim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for neovim is in format of zipfile:////.yarn/... + return str.replace(/^zipfile:\/\//, ``); + } break; + + case `vscode`: + default: { + return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) + } break; + } + } + + // Force enable 'allowLocalPluginLoads' + // TypeScript tries to resolve plugins using a path relative to itself + // which doesn't work when using the global cache + // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 + // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but + // TypeScript already does local loads and if this code is running the user trusts the workspace + // https://github.com/microsoft/vscode/issues/45856 + const ConfiguredProject = tsserver.server.ConfiguredProject; + const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; + ConfiguredProject.prototype.enablePluginsWithOptions = function() { + this.projectService.allowLocalPluginLoads = true; + return originalEnablePluginsWithOptions.apply(this, arguments); + }; + + // And here is the point where we hijack the VSCode <-> TS communications + // by adding ourselves in the middle. We locate everything that looks + // like an absolute path of ours and normalize it. + + const Session = tsserver.server.Session; + const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; + let hostInfo = `unknown`; + + Object.assign(Session.prototype, { + onMessage(/** @type {string | object} */ message) { + const isStringMessage = typeof message === 'string'; + const parsedMessage = isStringMessage ? JSON.parse(message) : message; + + if ( + parsedMessage != null && + typeof parsedMessage === `object` && + parsedMessage.arguments && + typeof parsedMessage.arguments.hostInfo === `string` + ) { + hostInfo = parsedMessage.arguments.hostInfo; + if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { + const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( + // The RegExp from https://semver.org/ but without the caret at the start + /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ + ) ?? []).map(Number) + + if (major === 1) { + if (minor < 61) { + hostInfo += ` <1.61`; + } else if (minor < 66) { + hostInfo += ` <1.66`; + } else if (minor < 68) { + hostInfo += ` <1.68`; + } + } + } + } + + const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { + return typeof value === 'string' ? fromEditorPath(value) : value; + }); + + return originalOnMessage.call( + this, + isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) + ); + }, + + send(/** @type {any} */ msg) { + return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { + return typeof value === `string` ? toEditorPath(value) : value; + }))); + } + }); + + return tsserver; +}; + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/lib/tsserver.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/lib/tsserver.js your application uses +module.exports = moduleWrapper(absRequire(`typescript/lib/tsserver.js`)); diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js new file mode 100644 index 000000000..a68f028fe --- /dev/null +++ b/.yarn/sdks/typescript/lib/tsserverlibrary.js @@ -0,0 +1,225 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +const moduleWrapper = tsserver => { + if (!process.versions.pnp) { + return tsserver; + } + + const {isAbsolute} = require(`path`); + const pnpApi = require(`pnpapi`); + + const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); + const isPortal = str => str.startsWith("portal:/"); + const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); + + const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { + return `${locator.name}@${locator.reference}`; + })); + + // VSCode sends the zip paths to TS using the "zip://" prefix, that TS + // doesn't understand. This layer makes sure to remove the protocol + // before forwarding it to TS, and to add it back on all returned paths. + + function toEditorPath(str) { + // We add the `zip:` prefix to both `.zip/` paths and virtual paths + if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { + // We also take the opportunity to turn virtual paths into physical ones; + // this makes it much easier to work with workspaces that list peer + // dependencies, since otherwise Ctrl+Click would bring us to the virtual + // file instances instead of the real ones. + // + // We only do this to modules owned by the the dependency tree roots. + // This avoids breaking the resolution when jumping inside a vendor + // with peer dep (otherwise jumping into react-dom would show resolution + // errors on react). + // + const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; + if (resolved) { + const locator = pnpApi.findPackageLocator(resolved); + if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { + str = resolved; + } + } + + str = normalize(str); + + if (str.match(/\.zip\//)) { + switch (hostInfo) { + // Absolute VSCode `Uri.fsPath`s need to start with a slash. + // VSCode only adds it automatically for supported schemes, + // so we have to do it manually for the `zip` scheme. + // The path needs to start with a caret otherwise VSCode doesn't handle the protocol + // + // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 + // + // 2021-10-08: VSCode changed the format in 1.61. + // Before | ^zip:/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + // 2022-04-06: VSCode changed the format in 1.66. + // Before | ^/zip//c:/foo/bar.zip/package.json + // After | ^/zip/c:/foo/bar.zip/package.json + // + // 2022-05-06: VSCode changed the format in 1.68 + // Before | ^/zip/c:/foo/bar.zip/package.json + // After | ^/zip//c:/foo/bar.zip/package.json + // + case `vscode <1.61`: { + str = `^zip:${str}`; + } break; + + case `vscode <1.66`: { + str = `^/zip/${str}`; + } break; + + case `vscode <1.68`: { + str = `^/zip${str}`; + } break; + + case `vscode`: { + str = `^/zip/${str}`; + } break; + + // To make "go to definition" work, + // We have to resolve the actual file system path from virtual path + // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) + case `coc-nvim`: { + str = normalize(resolved).replace(/\.zip\//, `.zip::`); + str = resolve(`zipfile:${str}`); + } break; + + // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) + // We have to resolve the actual file system path from virtual path, + // everything else is up to neovim + case `neovim`: { + str = normalize(resolved).replace(/\.zip\//, `.zip::`); + str = `zipfile://${str}`; + } break; + + default: { + str = `zip:${str}`; + } break; + } + } else { + str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); + } + } + + return str; + } + + function fromEditorPath(str) { + switch (hostInfo) { + case `coc-nvim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for coc-nvim is in format of //zipfile://.yarn/... + // So in order to convert it back, we use .* to match all the thing + // before `zipfile:` + return process.platform === `win32` + ? str.replace(/^.*zipfile:\//, ``) + : str.replace(/^.*zipfile:/, ``); + } break; + + case `neovim`: { + str = str.replace(/\.zip::/, `.zip/`); + // The path for neovim is in format of zipfile:////.yarn/... + return str.replace(/^zipfile:\/\//, ``); + } break; + + case `vscode`: + default: { + return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) + } break; + } + } + + // Force enable 'allowLocalPluginLoads' + // TypeScript tries to resolve plugins using a path relative to itself + // which doesn't work when using the global cache + // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 + // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but + // TypeScript already does local loads and if this code is running the user trusts the workspace + // https://github.com/microsoft/vscode/issues/45856 + const ConfiguredProject = tsserver.server.ConfiguredProject; + const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; + ConfiguredProject.prototype.enablePluginsWithOptions = function() { + this.projectService.allowLocalPluginLoads = true; + return originalEnablePluginsWithOptions.apply(this, arguments); + }; + + // And here is the point where we hijack the VSCode <-> TS communications + // by adding ourselves in the middle. We locate everything that looks + // like an absolute path of ours and normalize it. + + const Session = tsserver.server.Session; + const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; + let hostInfo = `unknown`; + + Object.assign(Session.prototype, { + onMessage(/** @type {string | object} */ message) { + const isStringMessage = typeof message === 'string'; + const parsedMessage = isStringMessage ? JSON.parse(message) : message; + + if ( + parsedMessage != null && + typeof parsedMessage === `object` && + parsedMessage.arguments && + typeof parsedMessage.arguments.hostInfo === `string` + ) { + hostInfo = parsedMessage.arguments.hostInfo; + if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { + const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( + // The RegExp from https://semver.org/ but without the caret at the start + /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ + ) ?? []).map(Number) + + if (major === 1) { + if (minor < 61) { + hostInfo += ` <1.61`; + } else if (minor < 66) { + hostInfo += ` <1.66`; + } else if (minor < 68) { + hostInfo += ` <1.68`; + } + } + } + } + + const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { + return typeof value === 'string' ? fromEditorPath(value) : value; + }); + + return originalOnMessage.call( + this, + isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) + ); + }, + + send(/** @type {any} */ msg) { + return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { + return typeof value === `string` ? toEditorPath(value) : value; + }))); + } + }); + + return tsserver; +}; + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript/lib/tsserverlibrary.js + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript/lib/tsserverlibrary.js your application uses +module.exports = moduleWrapper(absRequire(`typescript/lib/tsserverlibrary.js`)); diff --git a/.yarn/sdks/typescript/lib/typescript.js b/.yarn/sdks/typescript/lib/typescript.js new file mode 100644 index 000000000..b5f4db25b --- /dev/null +++ b/.yarn/sdks/typescript/lib/typescript.js @@ -0,0 +1,20 @@ +#!/usr/bin/env node + +const {existsSync} = require(`fs`); +const {createRequire} = require(`module`); +const {resolve} = require(`path`); + +const relPnpApiPath = "../../../../.pnp.cjs"; + +const absPnpApiPath = resolve(__dirname, relPnpApiPath); +const absRequire = createRequire(absPnpApiPath); + +if (existsSync(absPnpApiPath)) { + if (!process.versions.pnp) { + // Setup the environment to be able to require typescript + require(absPnpApiPath).setup(); + } +} + +// Defer to the real typescript your application uses +module.exports = absRequire(`typescript`); diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json new file mode 100644 index 000000000..eb7dd745b --- /dev/null +++ b/.yarn/sdks/typescript/package.json @@ -0,0 +1,10 @@ +{ + "name": "typescript", + "version": "5.3.3-sdk", + "main": "./lib/typescript.js", + "type": "commonjs", + "bin": { + "tsc": "./bin/tsc", + "tsserver": "./bin/tsserver" + } +} diff --git a/README.md b/README.md index 9510d601f..96159f7ec 100644 --- a/README.md +++ b/README.md @@ -2,36 +2,12 @@ # mcos -[![Node.js CI](https://github.com/drazisil/mcos/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/drazisil/mcos/actions/workflows/node.yml) [![CodeQL](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/drazisil/mcos/branch/main/graph/badge.svg)](https://codecov.io/gh/drazisil/mcos) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/drazisil/mcos.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/drazisil/mcos/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) +This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues. -## About +[![Node.js CI](https://github.com/drazisil/mcos/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/drazisil/mcos/actions/workflows/node.yml) [![CodeQL](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/drazisil/mcos/branch/main/graph/badge.svg)](https://codecov.io/gh/drazisil/mcos) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/drazisil/mcos.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/drazisil/mcos/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) -This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues. ## Help Wanted I'm writing this from scratch. While I'm proud of what I've done, I'm hitting the point where I need help. Therefore, I'm open-sourcing this. Any assistance you can provide, either from code help, to suggestions, to even pointing out better ways to do things are greatly appreciated. -You can [contribute on GitHub](https://github.com/drazisil/mcos/contribute) - -There's a brief explanation of the thought process here [link](https://github.com/drazisil/mcos/issues/164), and the [docs directory](./docs/) also contains some notes. - -## Server Setup - -- See [server docs](./docs/server.md) - -## Client Setup - -- See [client docs](./docs/client.md) - -## Timeline - -- March 6, 2016 - Started - -- October 12, 2023 - Connected to lobby - -![img The first non-hacked image of the MCO lobby since it was shutdown](images/2012-10-12_lobby.png) - -## Current Status - -- [TODO Issues](https://github.com/drazisil/mcos/labels/todo%20%3Aspiral_notepad%3A) diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index c4004a72d..000000000 --- a/docker-compose.yml +++ /dev/null @@ -1,68 +0,0 @@ -version: "3.1" - -services: - nginx: - build: - context: services/sslProxy - ports: - - "443:443" - - "80:80" - extra_hosts: - - "host.docker.internal:host-gateway" -# db: -# image: postgres:14.6 -# ports: -# - "5432:5432" -# # TODO: #1182 remove before prod https://github.com/drazisil/mco-server/issues/1008 -# environment: -# POSTGRES_PASSWORD: "password" -# POSTGRES_DB: "mcos" -# pgadmin: -# image: dpage/pgadmin4:6.18 -# # TODO: #1182 remove these before prod https://github.com/drazisil/mco-server/issues/1008 -# environment: -# PGADMIN_DEFAULT_EMAIL: "admin@pgadmin.com" -# PGADMIN_DEFAULT_PASSWORD: "password" -# PGADMIN_LISTEN_PORT: "80" -# POSTGRES_DB: "mcos" -# ports: -# - "15432:80" -# volumes: -# - pgadmin:/var/lib/pgadmin -# depends_on: -# - db - -# node: -# image: "node:19" -# user: "node" -# working_dir: /home/node/app -# volumes: -# - ./:/home/node/app -# environment: -# - DEBUG=mcos:* -# # TODO: #1182 remove before prod https://github.com/drazisil/mco-server/issues/1008 -# - CONNECTION_URL=postgresql://postgres:password@db:5432/mcos -# - EXTERNAL_HOST=10.10.5.20 -# - PRIVATE_KEY_FILE=data/private_key.pem -# - PUBLIC_KEY_FILE=data/pub.key -# - CERTIFICATE_FILE=data/mcouniverse.crt -# - LOG_LEVEL=debug -# command: "make docker-init" -# ports: -# - "80:80" -# - "6660:6660" -# - "8228:8228" -# - "8226:8226" -# - "7003:7003" -# - "8227:8227" -# - "43200:43200" -# - "43300:43300" -# - "43400:43400" -# - "53303:53303" -# - "9000-9014:9000-9014" -# # restart: always -# depends_on: -# - db - -# volumes: -# pgadmin: diff --git a/migrate.ts b/migrate.ts new file mode 100644 index 000000000..8013c48e2 --- /dev/null +++ b/migrate.ts @@ -0,0 +1,12 @@ +import { SlonikMigrator } from '@slonik/migrator'; +import { slonik } from './thebeast/packages/database/src/services/database.js'; + +const migrator = new SlonikMigrator({ + migrationsPath: 'migrations', + migrationTableName: 'migration', + // @ts-ignore We know this works + slonik, + logger: SlonikMigrator.prettyLogger, +}) + +migrator.runAsCLI() \ No newline at end of file diff --git a/migrations/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/2024.02.11T13.01.48.attachmentPoint.sql new file mode 100644 index 000000000..c60310d8d --- /dev/null +++ b/migrations/2024.02.11T13.01.48.attachmentPoint.sql @@ -0,0 +1,6 @@ +CREATE TABLE if not exists AttachmentPoint ( + AttachmentPointID INTEGER NOT NULL, + AttachmentPoint VARCHAR(100) NOT NULL, + CONSTRAINT SYS_PK_11761 PRIMARY KEY (AttachmentPointID)); + +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11761_11762 ON AttachmentPoint (AttachmentPointID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.19.25.brand.sql b/migrations/2024.02.11T13.19.25.brand.sql new file mode 100644 index 000000000..ea7b1bdee --- /dev/null +++ b/migrations/2024.02.11T13.19.25.brand.sql @@ -0,0 +1,8 @@ +create table if not exists Brand ( + BrandID INTEGER NOT NULL, + Brand VARCHAR(100) NULL, + PicName VARCHAR(50) NULL, + IsStock SMALLINT default 0, + CONSTRAINT SYS_PK_11763 PRIMARY KEY (BrandID)); + +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11795_11796 ON Brand (BrandID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.23.01.model.sql b/migrations/2024.02.11T13.23.01.model.sql new file mode 100644 index 000000000..f3185332c --- /dev/null +++ b/migrations/2024.02.11T13.23.01.model.sql @@ -0,0 +1,33 @@ +CREATE TABLE if not exists Model ( + ModelID INTEGER NOT NULL, + BrandID INTEGER NOT NULL, + EModel VARCHAR(100), + GModel VARCHAR(100), + FModel VARCHAR(100), + SModel VARCHAR(100), + IModel VARCHAR(100), + JModel VARCHAR(100), + SwModel VARCHAR(100), + BModel VARCHAR(100), + EExtraInfo VARCHAR(100), + GExtraInfo VARCHAR(100), + FExtraInfo VARCHAR(100), + SExtraInfo VARCHAR(100), + IExtraInfo VARCHAR(100), + JExtraInfo VARCHAR(100), + SwExtraInfo VARCHAR(100), + BExtraInfo VARCHAR(100), + EShortModel VARCHAR(50), + GShortModel VARCHAR(50), + FShortModel VARCHAR(50), + SShortModel VARCHAR(50), + IShortModel VARCHAR(50), + JShortModel VARCHAR(50), + SwShortModel VARCHAR(50), + BShortModel VARCHAR(50), + Debug_String VARCHAR(255), + Debug_Sort_String VARCHAR(50), + CONSTRAINT SYS_PK_11927 PRIMARY KEY (ModelID), + CONSTRAINT MODEL_R_172 FOREIGN KEY (BrandID) REFERENCES Brand(BrandID) +); +CREATE INDEX SYS_IDX_MODEL_R_172_12422 ON Model (BrandID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.33.31.abstractPartType.sql b/migrations/2024.02.11T13.33.31.abstractPartType.sql new file mode 100644 index 000000000..e3175a022 --- /dev/null +++ b/migrations/2024.02.11T13.33.31.abstractPartType.sql @@ -0,0 +1,36 @@ +CREATE TABLE AbstractPartType ( + AbstractPartTypeID INTEGER NOT NULL, + ParentAbstractPartTypeID INTEGER, + DependsOn INTEGER, + PartFilename VARCHAR(20), + EAPT VARCHAR(100) NOT NULL, + GAPT VARCHAR(100), + FAFT VARCHAR(100), + SAFT VARCHAR(100), + IAFT VARCHAR(100), + JAFT VARCHAR(100), + SWAFT VARCHAR(100), + BAFT VARCHAR(100), + ModifiedRule INTEGER DEFAULT 0, + EUT TEXT, + GUT TEXT, + FUT TEXT, + SUT TEXT, + IUT TEXT, + JUT TEXT, + SWUT TEXT, + BUT TEXT, + PartPaired INTEGER DEFAULT 0, + SchematicPicname1 VARCHAR(9), + SchematicPicname2 VARCHAR(9), + BlockFamilyCompatibility INTEGER DEFAULT 0, + RepairCostModifier NUMERIC(100,7) DEFAULT 0, + ScrapValueModifier NUMERIC(100,7) DEFAULT 0, + GarageCategory INTEGER DEFAULT 0, + CONSTRAINT SYS_PK_11740 PRIMARY KEY (AbstractPartTypeID), + CONSTRAINT ABSTRACTPARTTYPE_R_191 FOREIGN KEY (DependsOn) REFERENCES AbstractPartType(AbstractPartTypeID), + CONSTRAINT ABSTRACTPARTTYPE_R2 FOREIGN KEY (ParentAbstractPartTypeID) REFERENCES AbstractPartType(AbstractPartTypeID) +); +CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R_191_15170 ON AbstractPartType (DependsOn); +CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R2_15181 ON AbstractPartType (ParentAbstractPartTypeID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11740_11741 ON AbstractPartType (AbstractPartTypeID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.38.39.partGrade.sql b/migrations/2024.02.11T13.38.39.partGrade.sql new file mode 100644 index 000000000..bc2febc2f --- /dev/null +++ b/migrations/2024.02.11T13.38.39.partGrade.sql @@ -0,0 +1,9 @@ +CREATE TABLE PartGrade ( + PartGradeID INTEGER NOT NULL, + EText VARCHAR(50), + GText VARCHAR(50), + FText VARCHAR(50), + PartGrade VARCHAR(50), + CONSTRAINT SYS_PK_11985 PRIMARY KEY (PartGradeID) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11985_11986 ON PartGrade (PartGradeID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.39.20.partType.sql b/migrations/2024.02.11T13.39.20.partType.sql new file mode 100644 index 000000000..fc8acaadd --- /dev/null +++ b/migrations/2024.02.11T13.39.20.partType.sql @@ -0,0 +1,13 @@ +CREATE TABLE PartType ( + PartTypeID INTEGER NOT NULL, + AbstractPartTypeID INTEGER NOT NULL, + PartType VARCHAR(100) NOT NULL, + PartFilename VARCHAR(20), + PartGradeID INTEGER, + CONSTRAINT SYS_PK_11991 PRIMARY KEY (PartTypeID), + CONSTRAINT PARTTYPE_ABSTRACTPARTTYPEPARTTYPE FOREIGN KEY (AbstractPartTypeID) REFERENCES AbstractPartType(AbstractPartTypeID), + CONSTRAINT PARTTYPE_PARTGRADEPARTTYPE FOREIGN KEY (PartGradeID) REFERENCES PartGrade(PartGradeID) +); +CREATE INDEX SYS_IDX_PARTTYPE_ABSTRACTPARTTYPEPARTTYPE_12453 ON PartType (AbstractPartTypeID); +CREATE INDEX SYS_IDX_PARTTYPE_PARTGRADEPARTTYPE_12463 ON PartType (PartGradeID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11991_11992 ON PartType (PartTypeID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.40.36.brandedPart.sql b/migrations/2024.02.11T13.40.36.brandedPart.sql new file mode 100644 index 000000000..4451fbf57 --- /dev/null +++ b/migrations/2024.02.11T13.40.36.brandedPart.sql @@ -0,0 +1,17 @@ +CREATE TABLE BrandedPart ( + BrandedPartID INTEGER NOT NULL, + PartTypeID INTEGER NOT NULL, + ModelID INTEGER NOT NULL, + MfgDate TIMESTAMP NOT NULL, + QtyAvail INTEGER NOT NULL, + RetailPrice INTEGER NOT NULL, + MaxItemWear SMALLINT, + EngineBlockFamilyID INTEGER DEFAULT 0 NOT NULL, + CONSTRAINT SYS_PK_11801 PRIMARY KEY (BrandedPartID), + CONSTRAINT BRANDEDPART_MODELBRANDEDPART FOREIGN KEY (ModelID) REFERENCES Model(ModelID), + CONSTRAINT BRANDEDPART_PARTTYPEBRANDEDPART1 FOREIGN KEY (PartTypeID) REFERENCES PartType(PartTypeID) +); +CREATE INDEX BRANDEDPART_ENGINEBLOCKFAMILYID ON BrandedPart (EngineBlockFamilyID); +CREATE INDEX SYS_IDX_BRANDEDPART_MODELBRANDEDPART_12255 ON BrandedPart (ModelID); +CREATE INDEX SYS_IDX_BRANDEDPART_PARTTYPEBRANDEDPART1_12269 ON BrandedPart (PartTypeID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11801_11802 ON BrandedPart (BrandedPartID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.41.55.part.sql b/migrations/2024.02.11T13.41.55.part.sql new file mode 100644 index 000000000..e4eb1b771 --- /dev/null +++ b/migrations/2024.02.11T13.41.55.part.sql @@ -0,0 +1,20 @@ +CREATE TABLE Part ( + PartID INTEGER NOT NULL, + ParentPartID INTEGER, + BrandedPartID INTEGER NOT NULL, + PercentDamage SMALLINT NOT NULL, + ItemWear INTEGER NOT NULL, + AttachmentPointID INTEGER, + OwnerID INTEGER, + PartName VARCHAR(100), + RepairCost INTEGER DEFAULT 0, + ScrapValue INTEGER DEFAULT 0, + CONSTRAINT SYS_PK_11976 PRIMARY KEY (PartID), + CONSTRAINT PART_BRANDEDPARTPART FOREIGN KEY (BrandedPartID) REFERENCES BrandedPart(BrandedPartID), + CONSTRAINT PART_R25 FOREIGN KEY (ParentPartID) REFERENCES Part(PartID), + CONSTRAINT PART_R9 FOREIGN KEY (AttachmentPointID) REFERENCES AttachmentPoint(AttachmentPointID) +); +CREATE INDEX SYS_IDX_PART_BRANDEDPARTPART_12431 ON Part (BrandedPartID); +CREATE INDEX SYS_IDX_PART_R25_15192 ON Part (ParentPartID); +CREATE INDEX SYS_IDX_PART_R9_12442 ON Part (AttachmentPointID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11976_11977 ON Part (PartID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.45.10.driverClass.sql b/migrations/2024.02.11T13.45.10.driverClass.sql new file mode 100644 index 000000000..2575ff649 --- /dev/null +++ b/migrations/2024.02.11T13.45.10.driverClass.sql @@ -0,0 +1,6 @@ +CREATE TABLE DriverClass ( + DriverClassID SMALLINT NOT NULL, + DriverClass VARCHAR(50), + CONSTRAINT SYS_PK_11831 PRIMARY KEY (DriverClassID) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11831_11832 ON DriverClass (DriverClassID); \ No newline at end of file diff --git a/migrations/2024.02.11T13.46.16.playerType.sql b/migrations/2024.02.11T13.46.16.playerType.sql new file mode 100644 index 000000000..64fb4a650 --- /dev/null +++ b/migrations/2024.02.11T13.46.16.playerType.sql @@ -0,0 +1,6 @@ +CREATE TABLE PlayerType ( + PlayerTypeID INTEGER NOT NULL, + PlayerType VARCHAR(100) NOT NULL, + CONSTRAINT SYS_PK_12040 PRIMARY KEY (PlayerTypeID) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12040_12041 ON PlayerType (PlayerTypeID); \ No newline at end of file diff --git a/migrations/2024.02.11T14.07.43.player.sql b/migrations/2024.02.11T14.07.43.player.sql new file mode 100644 index 000000000..0b58d44d8 --- /dev/null +++ b/migrations/2024.02.11T14.07.43.player.sql @@ -0,0 +1,80 @@ +CREATE TABLE Player ( + PlayerID INTEGER NOT NULL, + CustomerID INTEGER NOT NULL, + PlayerTypeID INTEGER NOT NULL, + SanctionedScore INTEGER, + ChallengeScore INTEGER, + LastLoggedIn TIMESTAMP, + TimesLoggedIn SMALLINT, + BankBalance INTEGER NOT NULL, + NumCarsOwned SMALLINT NOT NULL, + IsLoggedIn SMALLINT, + DriverStyle SMALLINT NOT NULL, + LPCode INTEGER NOT NULL, + LPText VARCHAR(9), + CarNum1 VARCHAR(2) NOT NULL, + CarNum2 VARCHAR(2) NOT NULL, + CarNum3 VARCHAR(2) NOT NULL, + CarNum4 VARCHAR(2) NOT NULL, + CarNum5 VARCHAR(2) NOT NULL, + CarNum6 VARCHAR(2) NOT NULL, + DLNumber VARCHAR(20), + Persona VARCHAR(30) NOT NULL, + Address VARCHAR(128), + Residence VARCHAR(20), + VehicleID INTEGER, + CurrentRaceID INTEGER, + OfflineDriverSkill INTEGER, + OfflineGrudge INTEGER, + OfflineReputation INTEGER, + TotalTimePlayed INTEGER, + CarInfoSetting INTEGER, + StockClassicClass SMALLINT, + StockMuscleClass SMALLINT, + ModifiedClassicClass SMALLINT, + ModifiedMuscleClass SMALLINT, + OutlawClass SMALLINT, + DragClass SMALLINT, + ChallengeRung INTEGER, + OfflineAiCarClass SMALLINT DEFAULT 0, + OfflineAiSkinID INTEGER DEFAULT 0, + OfflineAiCarBptID INTEGER DEFAULT 0, + OfflineAiState SMALLINT DEFAULT 0, + BodyType INTEGER DEFAULT 0, + SkinColor INTEGER DEFAULT 0, + HairColor INTEGER DEFAULT 0, + ShirtColor INTEGER DEFAULT 0, + PantsColor INTEGER DEFAULT 0, + OfflineDriverStyle INTEGER, + OfflineDriverAttitude INTEGER, + EvadedFuzz INTEGER DEFAULT 0, + PinksWon INTEGER DEFAULT 0, + NumUnreadMail INTEGER DEFAULT 0, + TOTALRACESRUN INTEGER DEFAULT 0, + TOTALRACESWON INTEGER DEFAULT 0, + TOTALRACESCOMPLETED INTEGER DEFAULT 0, + TOTALWINNINGS INTEGER DEFAULT 0, + INSURANCERISKPOINTS INTEGER DEFAULT 0, + INSURANCERATING INTEGER DEFAULT 0, + CHALLENGERACESRUN INTEGER DEFAULT 0, + CHALLENGERACESWON INTEGER DEFAULT 0, + CHALLENGERACESCOMPLETED INTEGER DEFAULT 0, + CARSLOST INTEGER DEFAULT 0, + CARSWON INTEGER DEFAULT 0, + CONSTRAINT SYS_PK_12021 PRIMARY KEY (PlayerID), + CONSTRAINT PLAYER_DRIVERCLASSPLAYER1 FOREIGN KEY (StockMuscleClass) REFERENCES DriverClass(DriverClassID), + CONSTRAINT PLAYER_DRIVERCLASSPLAYER2 FOREIGN KEY (ModifiedClassicClass) REFERENCES DriverClass(DriverClassID), + CONSTRAINT PLAYER_DRIVERCLASSPLAYER3 FOREIGN KEY (ModifiedMuscleClass) REFERENCES DriverClass(DriverClassID), + CONSTRAINT PLAYER_DRIVERCLASSPLAYER4 FOREIGN KEY (OutlawClass) REFERENCES DriverClass(DriverClassID), + CONSTRAINT PLAYER_DRIVERCLASSPLAYER5 FOREIGN KEY (DragClass) REFERENCES DriverClass(DriverClassID), + CONSTRAINT PLAYER_R44 FOREIGN KEY (PlayerTypeID) REFERENCES PlayerType(PlayerTypeID) +); +CREATE INDEX PLAYER_NUMUNREADMAIL ON Player (NumUnreadMail); +CREATE INDEX PLAYER_OFFLINECHALLENGECARBPTID ON Player (OfflineAiCarBptID); +CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER1_12502 ON Player (StockMuscleClass); +CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER2_12523 ON Player (ModifiedClassicClass); +CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER3_12544 ON Player (ModifiedMuscleClass); +CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER4_12565 ON Player (OutlawClass); +CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER5_12586 ON Player (DragClass); +CREATE INDEX SYS_IDX_PLAYER_R44_12607 ON Player (PlayerTypeID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12021_12022 ON Player (PlayerID); \ No newline at end of file diff --git a/migrations/2024.02.11T14.22.15.skinType.sql b/migrations/2024.02.11T14.22.15.skinType.sql new file mode 100644 index 000000000..ea5e59172 --- /dev/null +++ b/migrations/2024.02.11T14.22.15.skinType.sql @@ -0,0 +1,6 @@ +CREATE TABLE SkinType ( + SkinTypeID INTEGER NOT NULL, + SkinType VARCHAR(100), + CONSTRAINT SYS_PK_12138 PRIMARY KEY (SkinTypeID) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12138_12139 ON SkinType (SkinTypeID); \ No newline at end of file diff --git a/migrations/2024.02.11T14.23.13.ptSkin.sql b/migrations/2024.02.11T14.23.13.ptSkin.sql new file mode 100644 index 000000000..00f274188 --- /dev/null +++ b/migrations/2024.02.11T14.23.13.ptSkin.sql @@ -0,0 +1,73 @@ +CREATE TABLE PTSkin ( + SkinID INTEGER NOT NULL, + CreatorID INTEGER, + SkinTypeID INTEGER, + PartTypeID INTEGER, + ESkin VARCHAR(100), + GSkin VARCHAR(20), + FSkin VARCHAR(20), + SSkin VARCHAR(20), + ISkin VARCHAR(20), + JSkin VARCHAR(20), + SwSkin VARCHAR(20), + BSkin VARCHAR(20), + Price INTEGER NOT NULL, + PartFilename VARCHAR(20), + H0 SMALLINT, + S0 SMALLINT, + V0 SMALLINT, + C0 SMALLINT, + X0 SMALLINT, + Y0 SMALLINT, + H1 SMALLINT, + S1 SMALLINT, + V1 SMALLINT, + C1 SMALLINT, + X1 SMALLINT, + Y1 SMALLINT, + H2 SMALLINT, + S2 SMALLINT, + V2 SMALLINT, + C2 SMALLINT, + X2 SMALLINT, + Y2 SMALLINT, + H3 SMALLINT, + S3 SMALLINT, + V3 SMALLINT, + C3 SMALLINT, + X3 SMALLINT, + Y3 SMALLINT, + H4 SMALLINT, + S4 SMALLINT, + V4 SMALLINT, + C4 SMALLINT, + X4 SMALLINT, + Y4 SMALLINT, + H5 SMALLINT, + S5 SMALLINT, + V5 SMALLINT, + C5 SMALLINT, + X5 SMALLINT, + Y5 SMALLINT, + H6 SMALLINT, + S6 SMALLINT, + V6 SMALLINT, + C6 SMALLINT, + X6 SMALLINT, + Y6 SMALLINT, + H7 SMALLINT, + S7 SMALLINT, + V7 SMALLINT, + C7 SMALLINT, + X7 SMALLINT, + Y7 SMALLINT, + DEFAULTFLAG INTEGER DEFAULT 0, + CreatorName VARCHAR(24), + Comment_Text VARCHAR(128), + CONSTRAINT SYS_PK_12047 PRIMARY KEY (SkinID), + CONSTRAINT PTSKIN_PARTTYPEPTSKIN FOREIGN KEY (PartTypeID) REFERENCES PartType(PartTypeID), + CONSTRAINT PTSKIN_SKINTYPEPTSKIN FOREIGN KEY (SkinTypeID) REFERENCES SkinType(SkinTypeID) +); +CREATE INDEX SYS_IDX_PTSKIN_PARTTYPEPTSKIN_12628 ON PTSkin (PartTypeID); +CREATE INDEX SYS_IDX_PTSKIN_SKINTYPEPTSKIN_12636 ON PTSkin (SkinTypeID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12047_12048 ON PTSkin (SkinID); \ No newline at end of file diff --git a/migrations/2024.02.11T14.24.06.vehicle.sql b/migrations/2024.02.11T14.24.06.vehicle.sql new file mode 100644 index 000000000..1abc2cbc9 --- /dev/null +++ b/migrations/2024.02.11T14.24.06.vehicle.sql @@ -0,0 +1,15 @@ +CREATE TABLE Vehicle ( + VehicleID INTEGER NOT NULL, + SkinID INTEGER NOT NULL, + Flags INTEGER NOT NULL, + Class SMALLINT NOT NULL, + InfoSetting SMALLINT NOT NULL, + DamageInfo bytea, + DamageCached INTEGER DEFAULT 0, + CONSTRAINT SYS_PK_12214 PRIMARY KEY (VehicleID), + CONSTRAINT VEHICLE_PARTVEHICLE FOREIGN KEY (VehicleID) REFERENCES Part(PartID) ON DELETE CASCADE, + CONSTRAINT VEHICLE_PTSKINVEHICLE FOREIGN KEY (SkinID) REFERENCES PTSkin(SkinID) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12214_12215 ON Vehicle (VehicleID); +CREATE INDEX SYS_IDX_VEHICLE_PARTVEHICLE_12844 ON Vehicle (VehicleID); +CREATE INDEX SYS_IDX_VEHICLE_PTSKINVEHICLE_12856 ON Vehicle (SkinID); \ No newline at end of file diff --git a/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql b/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql new file mode 100644 index 000000000..ba33bec2e --- /dev/null +++ b/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql @@ -0,0 +1,14 @@ +INSERT INTO AttachmentPoint (AttachmentPointID,AttachmentPoint) VALUES + (0,'(default)'), + (1,'Left Front'), + (2,'Right Front'), + (3,'Left Rear'), + (4,'Right Rear'), + (5,'Left'), + (6,'Right'), + (7,'A'), + (8,'B'), + (9,'C'); +INSERT INTO AttachmentPoint (AttachmentPointID,AttachmentPoint) VALUES + (10,'Front'), + (11,'Rear'); diff --git a/migrations/2024.02.11T23.20.55.initialBrand.sql b/migrations/2024.02.11T23.20.55.initialBrand.sql new file mode 100644 index 000000000..cbe15a373 --- /dev/null +++ b/migrations/2024.02.11T23.20.55.initialBrand.sql @@ -0,0 +1,105 @@ +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (0,'EA','ea',0), + (1,'Ford','ford',9), + (2,'Mercury','merc',9), + (3,'Chevrolet','chev',9), + (4,'Cadillac','cadi',9), + (5,'Oldsmobile','olds',9), + (6,'Buick','buic',9), + (7,'Pontiac','pont',9), + (8,'Chrysler','chry',9), + (9,'Dodge','dodg',9); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (10,'Plymouth','plym',9), + (11,'AMC','amer',9), + (12,'AMC',NULL,9), + (13,'Edelbrock','edel',0), + (14,'Holley','holl',0), + (15,'GM','gm',9), + (16,'Rochester','roch',0), + (17,'Borg - Warner','borg',0), + (18,'Vich','vich',0), + (19,'Tibbits','tibb',0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (20,'Lindstrom','lind',0), + (21,'Crane','cran',0), + (22,'Carter','cart',0), + (23,'Carter - Rochester',NULL,0), + (25,'Marinn','mari',0), + (26,'Mallory','mall',0), + (27,'Accel','acce',0), + (28,'Stromberg','stro',0), + (29,'AeroFit','aero',0), + (30,'Hooker','hook',0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (31,'TFSpecial','tfs',0), + (32,'Apex','apex',0), + (34,'ProTread','prot',0), + (35,'PowerGrip','powe',0), + (36,'C & A','ca',0), + (37,'Manley','manl',0), + (38,'Offenhauser','offe',0), + (39,'Signature','sign',0), + (40,'TRW','trw',0), + (41,'JE Pistons','jepi',0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (42,'Mr. Gasket','mrg',0), + (43,'Pro - Formance',NULL,0), + (44,'Blinsky','blin',0), + (45,'SMVintage','sm',0), + (46,'Bully','bull',0), + (47,'Hays','hays',0), + (48,'Lakewood','lake',0), + (49,'Ferrari','ferr',0), + (50,'Monarch','good',0), + (53,'Emberwood',NULL,0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (54,'Full Gee',NULL,0), + (56,'BlackTop',NULL,0), + (57,'Monroe',NULL,0), + (58,'Lunati',NULL,0), + (59,'Coatili',NULL,0), + (60,'Acio',NULL,0), + (61,'Dana',NULL,0), + (62,'Potter',NULL,0), + (63,'Autolite',NULL,0), + (64,'Begren',NULL,0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (65,'Kelsey - Hayes',NULL,0), + (67,'Hall',NULL,0), + (68,'US Radiator',NULL,0), + (69,'Gifford',NULL,0), + (70,'Shade Tree',NULL,0), + (71,'AC Delco',NULL,0), + (72,'Bendix',NULL,0), + (73,'Ansman',NULL,0), + (74,'Raven',NULL,0), + (76,'Panteli',NULL,0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (77,'Reed',NULL,0), + (78,'Shelby',' ',0), + (79,'Leland',NULL,0), + (80,'Dunbar',NULL,0), + (81,'Weiand',NULL,0), + (82,'Quaker',NULL,0), + (83,'Oldfield',NULL,0), + (84,'Milloy',NULL,0), + (85,'Quik Lift',NULL,0), + (86,'Duro Rod',NULL,0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (87,'Newcomb',NULL,0), + (88,'Hedgely',NULL,0), + (89,'Fyne Grind',NULL,0), + (90,'Electronic Arts',' ',0), + (91,'Rad Rat',NULL,0), + (92,'C & B',NULL,0), + (93,'Perfect Port',NULL,0), + (94,'Walter',NULL,0), + (95,'Percy',NULL,0), + (96,'Street Shark',NULL,0); +INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES + (97,'Pirelli',NULL,0), + (98,'Michelin',NULL,0), + (99,'Firestone',NULL,0), + (100,'Goodyear',NULL,0), + (101,'Yokohama',NULL,0); diff --git a/migrations/2024.02.11T23.26.25.initialModel.sql b/migrations/2024.02.11T23.26.25.initialModel.sql new file mode 100644 index 000000000..f9fb5367f --- /dev/null +++ b/migrations/2024.02.11T23.26.25.initialModel.sql @@ -0,0 +1,3524 @@ +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 V-8 Coupe','Vehicle'), + (2,2,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury 49 Coupe','Vehicle'), + (3,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air','Vehicle'), + (4,4,'Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 47 Series 62','Vehicle'), + (5,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century','Vehicle'), + (6,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 66 GTO','Vehicle'), + (7,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe','Vehicle'), + (8,3,'Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Corvette','Vehicle'), + (9,4,'Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 59 Eldorado','Vehicle'), + (10,5,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 4-4-2','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (12,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO','Vehicle'), + (14,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 Crestline','Vehicle'), + (16,3,'Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Nomad Wagon','Vehicle'), + (20,7,'Firebird T/A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird T/A','Vehicle'), + (21,1,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500','Vehicle'), + (25,1,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Custom Ranchero','Vehicle'), + (26,3,'Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 63 Stingray','Vehicle'), + (32,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 63 Thunderbird','Vehicle'), + (33,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle','Vehicle'), + (34,5,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB V8 350','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (36,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Boss 302','Vehicle'), + (37,3,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro','Vehicle'), + (38,5,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB V8 400','Engine Block'), + (40,1,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Galaxie 500','Vehicle'), + (41,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle','Vehicle'), + (42,5,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB V8 455','Engine Block'), + (45,3,'El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino','Vehicle'), + (46,3,'Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova','Vehicle'), + (47,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Thunderbird','Vehicle'), + (48,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (49,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 58 Impala','Vehicle'), + (52,7,'389-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 389','Engine Block'), + (54,7,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 400','Engine Block'), + (56,7,'428-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 428','Engine Block'), + (58,7,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 455','Engine Block'), + (76,3,'265-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Fire block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 265','Engine Block'), + (77,3,'283-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 283','Engine Block'), + (78,3,'302-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 302','Engine Block'), + (79,1,'Flathead 221-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'24-bolt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221-V8','Engine Block'), + (80,3,'307-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'307',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 307','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (81,1,'260-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 260-V8','Engine Block'), + (82,1,'272-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'272',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 272-V8','Engine Block'), + (83,3,'327-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 327','Engine Block'), + (85,1,'292-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292-V8','Engine Block'), + (86,3,'348-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'348',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 348','Engine Block'), + (87,3,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350-V8','Engine Block'), + (88,1,'351-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland V8-351','Engine Block'), + (89,1,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB V8 390','Engine Block'), + (90,4,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 390','Engine Block'), + (91,1,'406-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (92,3,'396-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 396','Engine Block'), + (93,3,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 400','Engine Block'), + (94,1,'428-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428-V8','Engine Block'), + (95,3,'409-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'409',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 409','Engine Block'), + (96,3,'454-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 454','Engine Block'), + (97,1,'352-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352-V8','Engine Block'), + (98,3,'502-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'502',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 502','Engine Block'), + (99,18,'Sipper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sipper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sipper Air Scoop 1%','Air Scoop'), + (100,18,'Slipstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Slipstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Slipstream Air Scoop 2%','Air Scoop'), + (101,18,'Impeller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impeller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impeller Air Scoop 3%','Air Scoop'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (102,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock CI Crankshaft','Crankshaft'), + (103,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock CI Crankshaft','Crankshaft'), + (104,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 Rod','Connecting Rods'), + (105,1,'HD Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD Capscrew Connecting Rod','Connecting Rods'), + (106,1,'HP 390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP 390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP 390 Rod','Connecting Rods'), + (107,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Connecting Rod','Connecting Rods'), + (108,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock CI EM','Exhaust Manifold'), + (109,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Exhaust Manifold','Exhaust Manifold'), + (110,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Exhaust Manifold','Exhaust Manifold'), + (111,37,'1.625" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Single Exhaust Pipe (Treated Iron)','Exhaust Pipe'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (112,37,'1.625" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Dual Exhaust Pipe (Treated Iron)','Exhaust Pipe'), + (113,37,'1.625" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Single Exhaust Pipe (Cast Iron)','Exhaust Pipe'), + (114,37,'1.625" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Dual Exhaust Pipe (Cast Iron)','Exhaust Pipe'), + (115,59,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midas Stock Muffler','Muffler'), + (116,59,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midas Aluminum Stock Muffler','Muffler'), + (117,30,'Dual Tail Pipe Tip 001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Dual Tail Pipe Tip 001','Tail Pipe Tip'), + (118,60,'Dual Tail Pipe Tip 002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Dual Tail Pipe Tip 002','Tail Pipe Tip'), + (119,60,'Single Tail Pipe Tip 001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Single Tail Pipe Tip 001','Tail Pipe Tip'), + (120,60,'Single Tail Pipe Tip (Flaming)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Single Tail Pipe Tip (Flaming)','Tail Pipe Tip'), + (121,1,'3-Speed Auto A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.5/1.56/1)','Transmission'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (122,1,'3-Speed Auto (2.4/1.479/1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.4/1.479/1)','Transmission'), + (123,17,'4-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner 4-Speed Auto (2.741/1.568/1/0.674)','Transmission'), + (124,1,'3-Speed Auto B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.52/1.52/1) A','Transmission'), + (125,1,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.482/1.482/1)','Transmission'), + (126,3,'4-Speed Auto High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Auto (3.059/1.625/1/0.696) A','Transmission'), + (127,3,'4-Speed Auto Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Automatic (2.4/1.479/1/0.723)','Transmission'), + (128,3,'4-Speed Auto Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Auto (2.482/1.482/1/0.75)','Transmission'), + (129,1,'4-Speed Auto (2.74/1.57/1/0.67)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (2.74/1.57/1/0.67)','Transmission'), + (130,1,'4-Speed Auto (3.06/1.62/1/0.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (3.06/1.62/1/0.7)','Transmission'), + (131,1,'4-Speed Auto (3.97/2.55/1.55/1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (3.97/2.55/1.55/1)','Transmission'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (132,46,'5-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 5-Speed Manual (2.95/1.94/1.34/1/0.63)','Transmission'), + (133,46,'5-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 5-Speed Manual (2.75/1.94/1.34/1/0.74)','Transmission'), + (134,46,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 4-Speed Manual (2.64/1.61/1.23/1)','Transmission'), + (135,3,'4-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (2.88/1.74/1.33/1)','Transmission'), + (136,3,'4-Speed Manual High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (3.44/2.28/1.46/1)','Transmission'), + (137,3,'4-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (2.66/1.91/1.39/1)','Transmission'), + (138,15,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4-Speed Manual (2.22/1.64/1.28/1) (g)','Transmission'), + (139,15,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4-Speed Manual (2.65/1.93/1.39/1)','Transmission'), + (140,61,'2.73 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.73',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (2.73) Differential','Rear End'), + (141,61,'2.93 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (2.93) Differential','Rear End'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (142,61,'3.00 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.00) Differential','Rear End'), + (143,61,'3.23 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.23) Differential','Rear End'), + (144,61,'3.31 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.31) Differential','Rear End'), + (145,61,'3.42 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.42) Differential','Rear End'), + (146,61,'3.50 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.50) Differential','Rear End'), + (147,61,'3.54 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.54) Differential','Rear End'), + (148,61,'3.55 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.55) Differential','Rear End'), + (149,61,'3.64 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.64',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.64) Differential','Rear End'), + (150,61,'3.70 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.70) Differential','Rear End'), + (151,61,'3.77 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.77',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.77) Differential','Rear End'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (152,61,'3.9 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.9) Differential','Rear End'), + (153,61,'4.10 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (4.10) Differential','Rear End'), + (154,61,'4.33 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4.33',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (4.33) Differential','Rear End'), + (155,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Intake Manifold','Intake Manifold'), + (156,63,'4V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (300 cfm) Carb','Carburetor'), + (157,63,'6V Carburetor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'6V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 6V Carburetor','Carburetor'), + (158,71,'Stock Oil Bath',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy Light Duty Air Cleaner','Air Cleaner'), + (159,14,'Hi-Tek',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hi-Tek',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Hi-Tek Air Cleaner','Air Cleaner'), + (160,13,'Pro-Flo 1000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo 1000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo 1000 Air Cleaner','Air Cleaner'), + (161,20,'P05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'P05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom P05 Blower','Blower'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (162,14,'Pro-Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Pro-Street Blower','Blower'), + (163,20,'Little Rabbit',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Little Rabbit',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Little Rabbit NOS','Nitrous Injector'), + (164,20,'Cheetah',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cheetah',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Cheetah NOS','Nitrous Injector'), + (165,3,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Stock Lubrication System','Lubrication System'), + (166,1,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.0) Stock CH','Cylinder Head'), + (167,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Chrysler SB HP Camshaft','Camshaft'), + (168,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Hydraulic Valvetrain','Valve Train'), + (169,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Hydraulic Valvetrain','Valve Train'), + (172,11,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 AMX','Vehicle'), + (173,9,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 69 Charger','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (174,10,'Rd. Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 69 Road Runner','Vehicle'), + (175,10,'Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Cuda','Vehicle'), + (176,10,'Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 Duster','Vehicle'), + (187,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock CI Connecting Rod','Connecting Rods'), + (188,63,'2V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2V (300 cfm) Carb','Carburetor'), + (189,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Hydraulic Valvetrain','Valve Train'), + (190,65,'Cast Iron Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cast Iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Cast Iron Rim','Wheel Rims'), + (192,0,'Speedline Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speedline Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Speedline Driver','Driver'), + (193,68,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Stock Normal Duty Cooling System','Cooling System'), + (194,25,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Stock Normal Duty Electrical System','Electrical System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (195,67,'Fuzzy Dice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Fuzzy Dice Accessory','Fuzzy Dice'), + (196,15,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Rear View Mirror','Rear View Mirror'), + (197,1,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Rear View Mirror','Rear View Mirror'), + (198,1,'53 C.line Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 C.line Fender Skirt','Wheels Skirts'), + (199,1,'1955 Ford Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1955 Fairlane','Wheels Skirts'), + (200,1,'1956 Ford / Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1956 Thunderbird Wheel Skirts','Wheels Skirts'), + (201,1,'1957 Ford / Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1957 Thunderbird Wheel Skirts','Wheels Skirts'), + (202,4,'Cadillac Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Wheel Skirts','Wheels Skirts'), + (203,4,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'47 Caddy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 1949 Wheel Skirts','Wheels Skirts'), + (204,4,'Eldorado Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 1973 Fleetwood Eldorado Wheel Skirts','Wheels Skirts'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (205,3,'Chevy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1953 Bel Air','Wheels Skirts'), + (206,3,'Impala Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Impala Wheel Skirts','Wheels Skirts'), + (207,3,'Chevelle Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1969 Chevelle','Wheels Skirts'), + (208,3,'Monte Carlo Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Monte Carlo','Wheels Skirts'), + (209,1,'18 x 5.25 BP Blackwalls',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 18 x 5.25 Bias Ply Blackwalls (2ply)','Tires'), + (220,1,'40 Coupe Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Fender Skirt','Wheels Skirts'), + (221,1,'1937 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1937 Wheel Skirts','Wheels Skirts'), + (222,3,'Chevy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1939 Chevrolet','Wheels Skirts'), + (223,10,'1941 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1941 Plymouth','Wheels Skirts'), + (224,11,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rear View Mirror','Rear View Mirror'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (225,8,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Rear View Mirror','Rear View Mirror'), + (226,0,'Medium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'medium window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium Window Tinting','Window Tinting'), + (227,3,'2-Speed Powerglide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2-Speed Powerglide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 2-Speed Powerglide','Transmission'), + (228,1,'1927 Ford Model T Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1927 Model T Boards','Running Boards'), + (229,1,'1931 Ford Model A Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1931 Model A Boards','Running Boards'), + (230,3,'Confederate Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1932 Confederate Boards','Running Boards'), + (231,1,'1934 Ford Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1934 Coupe Boards','Running Boards'), + (232,1,'1937 Ford Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1937 Coupe Boards','Running Boards'), + (233,3,'37 Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1937 Chevy Coupe Boards','Running Boards'), + (234,3,'39 Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1939 Coupe Boards','Running Boards'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (235,10,'1941 Plymouth Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1941 Coupe Boards','Running Boards'), + (236,4,'Sedanette Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Sedanette Running Boards','Running Boards'), + (237,1,'1948 Ford Woody Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1948 Woody Boards','Running Boards'), + (238,0,'Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Amber Fog Lights','Amber Fog Lights'), + (244,0,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'White Fog Lights','White Fog Lights'), + (246,2,'49 Coupe Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury 49 Coupe Fender Skirt','Wheels Skirts'), + (247,3,'3-Speed Stnd Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 3-Speed Standard Ratio (Saginaw)','Transmission'), + (248,3,'3-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3-Speed Close Ratio (Saginaw)','Transmission'), + (249,3,'3-Speed w/ Overdrive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed OD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 3-Speed w/ Overdrive (Saginaw)','Transmission'), + (250,17,'4-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner 1957 4-Speed Close Ratio (Toledo)','Transmission'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (251,1,'1957 Ford Thunderbird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1957 Thunderbird Scoop','Hood'), + (252,3,'Stingray Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1963 Corvette Stingray Scoop (fake)','Hood'), + (253,1,'1963 Ford Thunderbird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1963 Thunderbird Scoop','Hood'), + (254,7,'GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fake',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1964 GTO Scoop (fake)','Hood'), + (255,7,'GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1966 GTO Scoop','Hood'), + (256,3,'SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (Fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Camaro SS-396 Scoop (fake)','Hood'), + (257,3,'SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fake',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Chevelle SS-396 Scoop (fake)','Hood'), + (258,10,'1969 Plymouth Road Runner Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Grabber scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1969 Road Runner Scoop ("Air Grabber" scoop)','Hood'), + (259,7,'1969 Pontiac Firebird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1969 Firebird Scoop','Hood'), + (260,7,'1969 Pontiac GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air III Induction system',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1969 GTO Scoop','Hood'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (261,6,'1970 Buick Gran Sport Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'download',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 1970 Gran Sport Scoop (download)','Hood'), + (262,5,'4-4-2 W-30 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 4-4-2 W-30 Scoop','Hood'), + (263,5,'4-4-2 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 Hurst/Olds 4-4-2 Scoop','Hood'), + (264,1,'1969 Ford Torino Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1969 Torino Scoop','Hood'), + (265,1,'1969 Ford Torino GT Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air Induction system',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1969 Torino GT Scoop','Hood'), + (266,3,'Nova SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (Fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Nova SS-396 Scoop (fake)','Hood'), + (267,10,'1970 Plymouth ''Cuda Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shaker hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Scoop ("Shaker" hood)','Hood'), + (268,10,'1970 Plymouth ''Cuda Hemi Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shaker hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Hemi Scoop ("Shaker" hood)','Hood'), + (269,9,'1970 Dodge Challenger R/T Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 1970 Challenger R/T Scoop','Hood'), + (270,7,'1973 Pontiac Trans-Am Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Trans-Am Scoop','Hood'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (271,7,'Firebird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'twin scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Firebird Scoop (twin scoop)','Hood'), + (272,1,'1940 Ford Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'A Ford Spotlight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1940 Spot Light','Spot Light'), + (273,4,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Spot Light','Spot Light'), + (274,6,'1955 Buick Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This is a spot light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 1955 Spot Light','Spot Light'), + (275,3,'Bel-Air Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 Bel-Air Spot Light','Spot Light'), + (276,3,'Wagon Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 Wagon Spot Light','Spot Light'), + (407,47,'Wheelie Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fits all cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hays Wheelie Bar Attachment','Wheelie Bar'), + (408,3,'Impala Sport Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1958 Impala Sport Scoop (fake)','Hood'), + (409,14,'Street PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Street PowerCharger Blower','Blower'), + (410,1,'Boss Ignition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Boss XHD Electronic Ignition','Electrical System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (411,26,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mallory Economy Light Duty Electrical System','Electrical System'), + (412,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 HD Electrical System','Electrical System'), + (413,68,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Light Duty Cooling System','Cooling System'), + (414,68,'Cool-Flo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cool-Flo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Cool-Flo Heavy Duty Cooling System','Cooling System'), + (415,68,'Maxi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Maxi Extra Heavy Duty Cooling System','Cooling System'), + (416,1,'Big Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Boss XHD Cooling System','Cooling System'), + (417,7,'Stock CI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI Connecting Rod','Connecting Rods'), + (418,14,'4150 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4150 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4150 4V (780 cfm)','Carburetor'), + (420,3,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Cast Iron Single Plane Intake Manifold','Intake Manifold'), + (421,11,'AMC V8 290 Alum. Indy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light weight aluminum block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290 Indy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC V8 290 Aluminum Indy','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (422,3,'Muncie Early (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Early Wide-Ratio (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Muncie Early Wide-Ratio (Manual) (1963-1965)','Transmission'), + (423,3,'Muncie (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Close-Ratio (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Muncie Close-Ratio (Manual) (1966-1974)','Transmission'), + (424,15,'Muncie Wide-Ratio M20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Muncie M20 Wide-Ratio Manual (2.52/1.88/1.46/1)','Transmission'), + (425,3,'Corvette 4-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1997 Corvette 4-Speed Automatic Transmission','Transmission'), + (426,0,'Speedliner 5-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EA Speedliner 5-Speed Automatic Transmission (Modified Diablo Manual)','Transmission'), + (427,3,'Powerglide Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Powerglide (1963-73) Automatic(Heavy) (Aluminum, Two-speed)','Transmission'), + (428,3,'Turbo Hydra-Matic 350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Turbo Hydra-Matic 350 (Automatic) (Equipped with 1969-1984 GM Cars)','Transmission'), + (429,17,'T-10X Comp. (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10X',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10X Special Competition (Manual)','Transmission'), + (430,17,'T-10W Spec. (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10W Special Wide-Ratio (Manual)','Transmission'), + (431,17,'T-10Y (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)','Transmission'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (432,1,'T+C Overdrive (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford T+C Top Loader Overdrive (Manual) (1977-78)','Transmission'), + (433,1,'T+C Overdrive2 (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford T+C Top Loader Overdrive2 (Manual) (1979-86)','Transmission'), + (434,16,'2GV 2V (200 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2GV 2V (200 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 2GV 2V (200 cfm) Carb','Carburetor'), + (435,1,'4-speed All-Synchro (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-speed All-Synchro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-speed All-Synchro (Manual)','Transmission'), + (436,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP Exhaust Manifold','Exhaust Manifold'), + (437,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 HP Exhaust Manifold','Exhaust Manifold'), + (438,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Exhaust Manifold','Exhaust Manifold'), + (440,61,'3.10 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.10) Differential','Rear End'), + (441,15,'3.40 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM (3.40) Differential','Rear End'), + (442,1,'460-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (443,1,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'good, solid, durable Ford bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Ford Bumpers','Bumpers'), + (444,3,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mark IV Big Block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 427','Engine Block'), + (445,15,'Dual Resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Dual Resonator Muffler','Muffler'), + (446,9,'1969 Dodge Charger RT Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 1969 Charger RT Tip','Tail Pipe Tip'), + (447,5,'Trumpet Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 4-4-2 Trumpet Tip','Tail Pipe Tip'), + (448,1,'1970 Ford Mustang Oval Trumpet Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1970 Mustang Oval Trumpet Tip','Tail Pipe Tip'), + (449,10,'1970 Plymouth ''Cuda Chrome Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Chrome Tip','Tail Pipe Tip'), + (450,7,'Firebird Chrome Extension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Firebird Chrome Extension','Tail Pipe Tip'), + (451,15,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Z11 Lubrication System','Lubrication System'), + (452,28,'97 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'97 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stromberg 97 2V Carburetor','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (453,27,'Billetproof Breakerless',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billetproof',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Accel Billetproof HD Breakerless','Electrical System'), + (454,27,'Blueprint Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Accel Blueprint HD Electronic','Electrical System'), + (455,14,'2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 2300 2V Carburetor','Carburetor'), + (456,45,'Aluminum Alloy Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SMVintage Aluminum Alloy Rim','Wheel Rims'), + (457,45,'Magnesium Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Magnesium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SMVintage Magnesium Rim','Wheel Rims'), + (458,16,'4G 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4G 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 4G 4V (600 cfm) Carb','Carburetor'), + (459,16,'Monojet 2V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (350 cfm) Carb','Carburetor'), + (460,14,'PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley PowerCharger (20%) Blower','Blower'), + (461,13,'RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock RPM Muffler','Muffler'), + (462,13,'Victor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Victor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Victor Muffler','Muffler'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (463,13,'304',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'304',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock 304 Muffler','Muffler'), + (464,30,'Maximum Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maximum Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Maximum Flow','Muffler'), + (465,30,'Super Competition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Competition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Super Competition','Muffler'), + (466,30,'Elite Glasspack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Glasspack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Elite Glasspack','Muffler'), + (467,1,'Big Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Boss XHD Lubrication System','Lubrication System'), + (468,46,'XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully XHD Lubrication System','Lubrication System'), + (469,1,'Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cobra Lubrication System','Lubrication System'), + (470,25,'Marinn Large Bore Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip','Tail Pipe Tip'), + (471,25,'Marinn Large Bore (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore (Dual) Tip','Tail Pipe Tip'), + (472,25,'Large Bore Tip w/resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip w/resonator','Tail Pipe Tip'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (473,25,'Large Bore Tip w/resonator (Dual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip w/resonator (Dual)','Tail Pipe Tip'), + (474,25,'MegaCone Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn MegaCone Tip','Tail Pipe Tip'), + (475,25,'MegaCone (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn MegaCone (Dual) Tip','Tail Pipe Tip'), + (476,25,'Slanted Cut Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip','Tail Pipe Tip'), + (477,25,'Slanted Cut (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut (Dual) Tip','Tail Pipe Tip'), + (478,25,'Slanted Cut Tip w/resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip w/resonator','Tail Pipe Tip'), + (479,25,'Slanted Cut Tip w/resonator (Dual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip w/resonator (Dual)','Tail Pipe Tip'), + (480,13,'Angle Cut Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Angle Cut Tip','Tail Pipe Tip'), + (481,13,'Angle Cut (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Angle Cut (Dual) Tip','Tail Pipe Tip'), + (482,13,'Flat Oval Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Flat Oval Tip','Tail Pipe Tip'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (483,13,'Flat Oval (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Flat Oval (Dual) Tip','Tail Pipe Tip'), + (484,13,'Round Double Wall Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Double Wall Tip','Tail Pipe Tip'), + (485,13,'Edelbrock Round Double Wall (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Double Wall (Dual) Tip','Tail Pipe Tip'), + (486,13,'Edelbrock Round Turn-Down Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Turn-Down Tip','Tail Pipe Tip'), + (487,13,'Edelbrock Round Turn-Down (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Turn-Down (Dual) Tip','Tail Pipe Tip'), + (488,30,'Str. Rodder Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Rodder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Rodder Chevrolet SB Headers','Exhaust Manifold'), + (489,30,'Max Perf. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maximum Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Maximum Performance (Dual) Exhaust Pipe','Exhaust Pipe'), + (490,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Flat Top Cast Aluminum Piston','Pistons'), + (491,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Flat Top Cast Aluminum Piston','Pistons'), + (492,14,'Dominator 2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2300 2V Carb','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (493,14,'4150 4V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4150 4V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4150 4V (650 cfm) Carb','Carburetor'), + (494,13,'Performer 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (600 cfm) Carb','Carburetor'), + (495,44,'Hi-Pro V8 5.0L',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'experimental aluminum engine block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5.0L',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blinsky Hi-Pro V8 5.0L','Engine Block'), + (497,14,'MegaBlower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MegaBlower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley MegaBlower (25%)','Blower'), + (498,2,'Flathead 255',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'255',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Flathead 255','Engine Block'), + (499,46,'727 Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'727 Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 727 Torqueflite (Chrysler 383, 440)','Transmission'), + (500,46,'Turbo-Hydro 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Hydro 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Turbo-Hydro 400 Automatic (2.48/1.48/1)','Transmission'), + (501,46,'Torqueflite HD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Torqueflite HD Transmission Cooler','Transmission Cooler'), + (502,46,'Turbo ND Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo ND',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Turbo ND Transmission Cooler','Transmission Cooler'), + (503,46,'Powerglide LD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide LD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Powerglide LD Transmission Cooler','Transmission Cooler'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (504,46,'C-6 XHD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-6 XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully C-6 XHD Transmission Cooler','Transmission Cooler'), + (505,14,'Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley NOS Powershot','Nitrous Injector'), + (506,14,'Super Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Super Powershot','Nitrous Injector'), + (507,14,'Cheater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cheater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Cheater','Nitrous Injector'), + (508,14,'Sneeky Pete',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sneeky Pete',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Sneeky Pete NOS','Nitrous Injector'), + (509,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 65 Mustang','Vehicle'), + (513,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 V-8 Coupe - Modified','Vehicle'), + (517,16,'Ramjet Fuel Injector',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ramjet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Ramjet Fuel Injector','Carburetor'), + (518,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Flat Top Cast Aluminum Piston','Pistons'), + (525,20,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the familiar blue and red flashing lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Cop Lights','Cop Lights'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (526,0,'Traffic 2 door',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TRAFFIC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic 2 door',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Traffic 2 door','Vehicle'), + (527,0,'Vanilla Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Vanilla Hood','Hood'), + (536,4,'Cadillac Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'47 Caddy Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 47 Hood','Hood'), + (537,6,'55 Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century Hood','Hood'), + (538,3,'57 Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air Hood w/ Scoop','Hood'), + (539,3,'57 Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Nomad Hood','Hood'), + (540,3,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Corvette Hood','Hood'), + (541,3,'58 Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 58 Impala Hood','Hood'), + (542,4,'Eldorado Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 59 Eldorado Hood','Hood'), + (543,3,'63 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 63 Corvette Hood','Hood'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (544,3,'64 Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala Hood','Hood'), + (545,7,'66 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 66 GTO Hood','Hood'), + (546,3,'67 Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle Hood','Hood'), + (547,3,'67 Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro Hood','Hood'), + (548,5,'69 Oldsmobile 442',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 442 Hood','Hood'), + (549,7,'69 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO Hood','Hood'), + (550,3,'70 El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino Hood','Hood'), + (551,3,'70 Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova Hood','Hood'), + (552,3,'70 Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle Hood','Hood'), + (553,7,'73 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird Hood','Hood'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (554,9,'69 Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 69 Charger Hood','Hood'), + (555,10,'69 Road Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 69 Road Runner Hood','Hood'), + (556,11,'69 AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 AMX Hood','Hood'), + (557,10,'70 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Cuda Hood','Hood'), + (558,10,'71 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 Duster Hood','Hood'), + (559,69,'70 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 70 lb/in traverse spring','Springs'), + (560,69,'80 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 80 lb/in traverse spring','Springs'), + (561,69,'90 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 90 lb/in traverse spring','Springs'), + (562,69,'100 lb/in Traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 100 lb/in Traverse Springs','Springs'), + (563,69,'110 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in traverse spring','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (564,69,'120 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 120 lb/in Coil Springs','Springs'), + (565,69,'130 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 130 lb/in coil spring','Springs'), + (566,69,'140 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 140 lb/in coil spring','Springs'), + (567,69,'150 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 150 lb/in Coil Springs','Springs'), + (568,69,'160 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in coil spring','Springs'), + (569,69,'170 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in coil spring','Springs'), + (570,69,'180 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 180 lb/in leaf spring','Springs'), + (571,69,'190 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 190 lb/in leaf spring','Springs'), + (572,69,'200 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 200 lb/in leaf spring','Springs'), + (573,69,'210 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 210 lb/in coil-over spring','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (574,69,'220 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 220 lb/in coil-over spring','Springs'), + (575,69,'230 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 230 lb/in coil-over spring','Springs'), + (576,69,'240 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 240 lb/in coil-over spring','Springs'), + (577,69,'250 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 250 lb/in coil-over spring','Springs'), + (578,62,'50 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'50 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 50 Nm Sway Bar','Sway Bar'), + (579,62,'60 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'60 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 60 Nm Sway Bar','Sway Bar'), + (580,62,'70 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'70 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 70 Nm Sway Bar','Sway Bar'), + (581,62,'80 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'80 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 80 Nm Sway Bar','Sway Bar'), + (582,62,'90 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'90 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 90 Nm Sway Bar','Sway Bar'), + (583,62,'100 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'100 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 100 Nm Sway Bar','Sway Bar'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (584,62,'110 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'110 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 110 Nm Sway Bar','Sway Bar'), + (585,62,'120 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'120 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 120 Nm Sway Bar','Sway Bar'), + (586,62,'130 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'130 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 130 Nm Sway Bar','Sway Bar'), + (587,62,'140 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'140 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 140 Nm Sway Bar','Sway Bar'), + (588,62,'150 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'150 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 150 Nm Sway Bar','Sway Bar'), + (589,62,'160 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'160 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 160 Nm Sway Bar','Sway Bar'), + (590,62,'170 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'170 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 170 Nm Sway Bar','Sway Bar'), + (591,62,'180 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'180 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 180 Nm Sway Bar','Sway Bar'), + (592,62,'190 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'190 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 190 Nm Sway Bar','Sway Bar'), + (593,62,'200 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'200 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 200 Nm Sway Bar','Sway Bar'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (594,62,'210 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'210 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 210 Nm Sway Bar','Sway Bar'), + (595,62,'220 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'220 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 220 Nm Sway Bar','Sway Bar'), + (596,62,'230 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'230 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 230 Nm Sway Bar','Sway Bar'), + (597,62,'240 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'240 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 240 Nm Sway Bar','Sway Bar'), + (598,62,'250 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'250 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 250 Nm Sway Bar','Sway Bar'), + (599,62,'260 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 260 Nm Sway Bar','Sway Bar'), + (600,62,'270 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'270 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 270 Nm Sway Bar','Sway Bar'), + (601,62,'280 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'280 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 280 Nm Sway Bar','Sway Bar'), + (602,69,'LD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford LD Traction Bar','Traction Bar'), + (603,69,'ND Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford ND Traction Bar','Traction Bar'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (604,69,'HD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford HD Traction Bar','Traction Bar'), + (605,69,'XHD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford XHD Traction Bar','Traction Bar'), + (606,43,'LD (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance LD (0.2) Shock','Shocks'), + (607,43,'LD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance LD (0.3) Shock','Shocks'), + (608,43,'ND (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.2) Shock','Shocks'), + (609,43,'ND (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.3) Shock','Shocks'), + (610,43,'HD (0.24)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.24)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.24) Shock','Shocks'), + (611,43,'HD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.3) Shock','Shocks'), + (612,43,'XHD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.3) Shock','Shocks'), + (613,43,'XHD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.36) Shock','Shocks'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (614,43,'XHD (0.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.4) Shock','Shocks'), + (615,71,'10 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic Drum Brakes','Brakes'), + (616,71,'11 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic Drum Brake','Brakes'), + (617,72,'12 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic Drum Brake','Brakes'), + (618,71,'10 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic HT Drum Brakes','Brakes'), + (619,71,'11 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic HT Drum Brake','Brakes'), + (620,71,'10 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Semi-Metallic Drum Brakes','Brakes'), + (621,71,'11 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Semi-Metallic Drum Brake','Brakes'), + (622,71,'10 x 2 Org Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic Disk Brakes','Brakes'), + (623,71,'11 x 2 Org Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic Disk Brake','Brakes'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (624,72,'12 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic Disk Brake','Brakes'), + (625,71,'10 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic HT Disk Brakes','Brakes'), + (626,71,'11 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic HT Disk Brake','Brakes'), + (627,72,'12 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic HT Disk Brake','Brakes'), + (628,71,'10 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Semi-Metallic Disk Brakes','Brakes'), + (629,71,'11 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Semi-Metallic Disk Brake','Brakes'), + (630,72,'12 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Semi-Metallic Disk Brake','Brakes'), + (631,71,'9 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Metallic Disk Brakes','Brakes'), + (632,71,'10 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Metallic Disk Brakes','Brakes'), + (633,71,'11 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Metallic Disk Brake','Brakes'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (634,72,'12 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Metallic Disk Brake','Brakes'), + (635,73,'14 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Metallic Disk Brake','Brakes'), + (636,73,'16 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'16 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 16 x 2 Metallic Disk Brake','Brakes'), + (637,18,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 25 kg Spoiler','Chin Spoiler'), + (638,18,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 50 kg Spoiler','Chin Spoiler'), + (639,18,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 75 kg Spoiler','Chin Spoiler'), + (640,18,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 100 kg Spoiler','Chin Spoiler'), + (641,18,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 125 kg Spoiler','Chin Spoiler'), + (642,18,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 150 kg Spoiler','Chin Spoiler'), + (643,18,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 175 kg Spoiler','Chin Spoiler'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (644,18,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 200 kg Spoiler','Chin Spoiler'), + (645,18,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 225 kg Spoiler','Chin Spoiler'), + (646,18,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 250 kg Spoiler','Chin Spoiler'), + (647,18,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 25 kg Rear Spoiler','Rear Spoiler'), + (648,18,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 50 kg Rear Spoiler','Rear Spoiler'), + (649,18,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 75 kg Rear Spoiler','Rear Spoiler'), + (650,18,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 100 kg Rear Spoiler','Rear Spoiler'), + (651,18,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 125 kg Rear Spoiler','Rear Spoiler'), + (652,18,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 150 kg Rear Spoiler','Rear Spoiler'), + (653,18,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 175 kg Rear Spoiler','Rear Spoiler'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (654,18,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 200 kg Rear Spoiler','Rear Spoiler'), + (655,18,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 225 kg Rear Spoiler','Rear Spoiler'), + (656,18,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 250 kg Rear Spoiler','Rear Spoiler'), + (657,0,'Cuda A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda A','Horn'), + (658,0,'Cuda B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda B','Horn'), + (659,0,'Cuda 2Stone',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda 2Stone','Horn'), + (660,0,'El Camino A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts El Camino A','Horn'), + (661,0,'El Camino B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts El Camino B','Horn'), + (662,7,'Firebird A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Firebird A','Horn'), + (663,7,'Firebird B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Firebird B','Horn'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (664,10,'Fury',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth Fury','Horn'), + (665,15,'GMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors GMC','Horn'), + (666,0,'Hillman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Hillman','Horn'), + (667,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Impala','Horn'), + (668,0,'Metropolitan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Metropolitan','Horn'), + (669,0,'Metropolitan Siren',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Metropolitan Siren','Horn'), + (670,1,'64 Ford Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Mustang','Horn'), + (671,0,'Snubnose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Snubnose','Horn'), + (672,1,'Aoooga A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Aoooga A','Horn'), + (673,3,'Aoooga B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Aoooga B','Horn'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (674,15,'Aoooga C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Aoooga C','Horn'), + (680,50,'150/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/82/14 Bias Ply','Tires'), + (681,50,'170/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/82/14 Bias Ply','Tires'), + (682,50,'178/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 178/82/14 Bias Ply','Tires'), + (683,50,'190/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/82/14 Bias Ply','Tires'), + (684,50,'210/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/82/14 Bias Ply','Tires'), + (685,50,'150/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/14 Bias Ply','Tires'), + (686,50,'170/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/14 Bias Ply','Tires'), + (687,50,'178/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 178/92/14 Bias Ply','Tires'), + (688,50,'190/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/14 Bias Ply','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (689,50,'210/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/92/14 Bias Ply','Tires'), + (690,50,'170/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/82/15 Bias Ply','Tires'), + (691,50,'190/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/82/15 Bias Ply','Tires'), + (692,50,'210/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/82/15 Bias Ply','Tires'), + (693,50,'150/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/15 Bias Ply','Tires'), + (694,50,'170/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/15 Bias Ply','Tires'), + (695,50,'190/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/15 Bias Ply','Tires'), + (696,50,'150/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/16 Bias Ply','Tires'), + (697,50,'170/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/16 Bias Ply','Tires'), + (698,50,'190/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/16 Bias Ply','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (699,50,'210/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/92/16 Bias Ply','Tires'), + (700,99,'190/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/60/14 Bias Belted','Tires'), + (701,99,'214/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/60/14 Bias Belted','Tires'), + (702,99,'238/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/60/14 Bias Belted','Tires'), + (703,99,'190/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/72/14 Bias Belted','Tires'), + (704,99,'202/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/72/14 Bias Belted','Tires'), + (705,99,'214/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/72/14 Bias Belted','Tires'), + (706,99,'226/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/72/14 Bias Belted','Tires'), + (707,99,'238/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/72/14 Bias Belted','Tires'), + (708,99,'166/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 166/82/14 Bias Belted','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (709,99,'178/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/82/14 Bias Belted','Tires'), + (710,99,'190/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/82/14 Bias Belted','Tires'), + (711,99,'202/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/82/14 Bias Belted','Tires'), + (712,99,'214/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/82/14 Bias Belted','Tires'), + (713,99,'178/92/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/92/14 Bias Belted','Tires'), + (714,99,'202/92/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/92/14 Bias Belted','Tires'), + (715,99,'178/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/60/15 Bias Belted','Tires'), + (716,99,'202/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/60/15 Bias Belted','Tires'), + (717,99,'226/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/60/15 Bias Belted','Tires'), + (718,99,'238/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/60/15 Bias Belted','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (719,99,'202/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/72/15 Bias Belted','Tires'), + (720,99,'226/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/72/15 Bias Belted','Tires'), + (721,99,'238/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/72/15 Bias Belted','Tires'), + (722,99,'190/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/82/15 Bias Belted','Tires'), + (723,99,'214/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/82/15 Bias Belted','Tires'), + (724,99,'238/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/82/15 Bias Belted','Tires'), + (725,99,'178/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/92/15 Bias Belted','Tires'), + (726,99,'202/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/92/15 Bias Belted','Tires'), + (727,99,'226/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/92/15 Bias Belted','Tires'), + (728,99,'238/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/92/15 Bias Belted','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (729,100,'185/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/65/14 Radial','Tires'), + (730,100,'205/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/65/14 Radial','Tires'), + (731,100,'195/70/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/70/14 Radial','Tires'), + (732,100,'215/70/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/70/14 Radial','Tires'), + (733,100,'195/75/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/75/14 Radial','Tires'), + (734,100,'205/75/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/75/14 Radial','Tires'), + (735,100,'195/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/65/15 Radial','Tires'), + (736,100,'215/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/65/15 Radial','Tires'), + (737,100,'205/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/70/15 Radial','Tires'), + (738,100,'215/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/70/15 Radial','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (739,100,'225/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emberwood 225/70/15 Radial','Tires'), + (740,100,'205/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/75/15 Radial','Tires'), + (741,100,'215/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/75/15 Radial','Tires'), + (742,100,'235/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 235/75/15 Radial','Tires'), + (743,100,'215/65/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/65/16 Radial','Tires'), + (744,100,'215/60/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/60/16 Radial','Tires'), + (745,100,'225/60/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/60/16 Radial','Tires'), + (746,100,'225/55/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/55/16 Radial','Tires'), + (747,98,'205/55/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/15 Radial Rain','Tires'), + (748,98,'195/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/60/15 Radial Rain','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (749,98,'205/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/60/15 Radial Rain','Tires'), + (750,98,'215/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/15 Radial Rain','Tires'), + (751,98,'185/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 185/65/15 Radial Rain','Tires'), + (752,98,'195/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/65/15 Radial Rain','Tires'), + (753,98,'205/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/65/15 Radial Rain','Tires'), + (754,98,'215/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/65/15 Radial Rain','Tires'), + (755,98,'225/55/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/55/16 Radial Rain','Tires'), + (756,98,'215/60/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/16 Radial Rain','Tires'), + (757,98,'225/60/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/60/16 Radial Rain','Tires'), + (758,101,'195/55/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/55/15VR Performance','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (759,101,'205/55/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/55/15VR Performance','Tires'), + (760,101,'195/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/60/15VR Performance','Tires'), + (761,101,'205/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/60/15VR Performance','Tires'), + (762,101,'215/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/60/15VR Performance','Tires'), + (763,101,'185/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 185/65/15VR Performance','Tires'), + (764,101,'195/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/65/15VR Performance','Tires'), + (765,101,'205/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/65/15VR Performance','Tires'), + (766,101,'215/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/65/15VR Performance','Tires'), + (767,101,'205/40/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/40/16VR Performance','Tires'), + (768,101,'215/40/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/40/16VR Performance','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (769,101,'205/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/45/16VR Performance','Tires'), + (770,101,'205/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/45/16VR Performance','Tires'), + (771,101,'215/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/45/16VR Performance','Tires'), + (772,101,'205/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/50/16VR Performance','Tires'), + (773,101,'225/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/50/16VR Performance','Tires'), + (774,101,'245/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 245/50/16VR Performance','Tires'), + (775,101,'205/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/55/16VR Performance','Tires'), + (776,101,'215/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/55/16VR Performance','Tires'), + (777,101,'225/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/55/16VR Performance','Tires'), + (778,101,'215/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/60/16VR Performance','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (779,101,'225/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/60/16VR Performance','Tires'), + (780,101,'235/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/60/16VR Performance','Tires'), + (781,101,'215/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/40/17VR Performance','Tires'), + (782,101,'235/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/40/17VR Performance','Tires'), + (783,101,'255/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 255/40/17VR Performance','Tires'), + (784,101,'215/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/45/17VR Performance','Tires'), + (785,101,'225/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/45/17VR Performance','Tires'), + (786,101,'235/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/45/17VR Performance','Tires'), + (787,101,'245/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 245/45/17VR Performance','Tires'), + (788,101,'315/35/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 315/35/17VR Performance','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (789,98,'195/55/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/55/15VR Performance Rain','Tires'), + (790,98,'205/55/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/15VR Performance Rain','Tires'), + (791,98,'195/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/60/15VR Performance Rain','Tires'), + (792,98,'205/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/60/15VR Performance Rain','Tires'), + (793,98,'215/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/15VR Performance Rain','Tires'), + (794,98,'185/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 185/65/15VR Performance Rain','Tires'), + (795,98,'195/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/65/15VR Performance Rain','Tires'), + (796,98,'205/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/65/15VR Performance Rain','Tires'), + (797,98,'215/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/65/15VR Performance Rain','Tires'), + (798,98,'205/40/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/40/16VR Performance Rain','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (799,98,'205/45/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/45/16VR Performance Rain','Tires'), + (800,98,'215/45/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/45/16VR Performance Rain','Tires'), + (801,98,'205/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/50/16VR Performance Rain','Tires'), + (802,98,'225/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/50/16VR Performance Rain','Tires'), + (803,98,'245/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 245/50/16VR Performance Rain','Tires'), + (804,98,'205/55/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/16VR Performance Rain','Tires'), + (805,98,'225/55/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/55/16VR Performance Rain','Tires'), + (806,98,'215/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/16VR Performance Rain','Tires'), + (807,98,'225/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/60/16VR Performance Rain','Tires'), + (808,98,'235/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/60/16VR Performance Rain','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (809,98,'215/40/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/40/17VR Performance Rain','Tires'), + (810,98,'235/40/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/40/17VR Performance Rain','Tires'), + (811,98,'215/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/45/17VR Performance Rain','Tires'), + (812,98,'225/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/45/17VR Performance Rain','Tires'), + (813,98,'235/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/45/17VR Performance Rain','Tires'), + (814,98,'245/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 245/45/17VR Performance Rain','Tires'), + (827,1,'32 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Hood','Hood'), + (828,1,'32 Coupe Front Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Front Fenders','Fenders'), + (829,1,'32 Coupe Rear Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Rear Fenders','Fenders'), + (830,1,'32 Coupe Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Running Boards','Running Boards'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (831,1,'32 Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'32 Coupe Bumpers! Put em on!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'32 Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Bumpers','Bumpers'), + (833,1,'40 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Hood','Hood'), + (834,1,'40 Coupe Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Running Boards','Running Boards'), + (836,1,'49 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 49 Coupe Hood','Hood'), + (838,1,'53 Crestline Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 Crestline Hood','Hood'), + (840,1,'57 Fairlane 500 Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500 Hood','Hood'), + (842,1,'57 Ranchero Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Ranchero Hood','Hood'), + (844,1,'57 T-Bird Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 T-Bird Hood w/Scoop','Hood'), + (846,1,'63 T-Bird Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 63 T-Bird Hood w/Scoop','Hood'), + (848,1,'64 Galaxie 500 Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Galaxie 500 Hood','Hood'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (850,1,'64 Mustang Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Mustang Hood','Hood'), + (852,1,'69 Torino Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 69 Torino Hood w/Scoop','Hood'), + (854,1,'70 Mustang Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Hood','Hood'), + (856,65,'Steel Slotted Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Steel Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Steel Slotted Rim','Wheel Rims'), + (857,65,'Steel Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Steel Rim','Wheel Rims'), + (864,1,'Early 3 spd. Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Early 3 spd. Manual (Gear Ratios)','Transmission'), + (865,1,'Ford-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic Auto.','Transmission'), + (866,17,'T-10 4 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10 4 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Borg T-10 4 spd Manual','Transmission'), + (867,1,'C-4 Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 Automatic','Transmission'), + (868,1,'4 spd Manual (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd Manual (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd Manual (Top)','Transmission'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (869,61,'3.56 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.56) Differential','Rear End'), + (870,61,'3.25 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.25) Differential','Rear End'), + (871,61,'3.91 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.91) Differential','Rear End'), + (872,1,'Late 3 spd. Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 speed m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Late 3 spd. Manual','Transmission'), + (873,1,'Cruise-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic Auto.','Transmission'), + (874,17,'T-85 3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-85 3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Borg T-85 3 spd Manual','Transmission'), + (875,1,'Flathead 239-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'239',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 239-V8','Engine Block'), + (876,1,'312-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312-V8','Engine Block'), + (877,1,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427-V8','Engine Block'), + (878,1,'289-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (879,1,'302-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8','Engine Block'), + (880,1,'429-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8','Engine Block'), + (881,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock TI Crankshaft','Crankshaft'), + (882,1,'Dished Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dished',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Dished Top Cast Aluminum Piston','Pistons'), + (883,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Dual Plane Aluminum Intake Manifold','Intake Manifold'), + (884,1,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Aluminum Dual Plane Intake Manifold','Intake Manifold'), + (885,1,'Detroit Lubricator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Detroit Lubricator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Detroit Lubricator','Carburetor'), + (886,14,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (600 cfm) Carb','Carburetor'), + (887,1,'Flathead (6.15) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (6.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (6.15) Stock Cylinder Head','Cylinder Head'), + (888,2,'Flathead (6.8) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Stock (6.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Flathead (6.8) Stock Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (889,1,'Flathead (7.2) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (7.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (7.2) Stock Cylinder Head','Cylinder Head'), + (890,1,'Low Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Low Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Low Riser (11.6)','Cylinder Head'), + (891,1,'Boss HP (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss HP (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss HP (10.5) Cylinder Head','Cylinder Head'), + (892,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford BB Valvetrain','Valve Train'), + (893,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss HD Solid Lifter Valve Train','Valve Train'), + (934,1,'3 spd/4.10 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/4.10 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/4.10 (32-48)','Driveline Assembly'), + (935,1,'3 spd/3.78 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.78 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.78 (32-48)','Driveline Assembly'), + (936,1,'3 spd/3.90 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.90 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.90 (32-48)','Driveline Assembly'), + (937,1,'3 spd/3.56 (49-62)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.56 (49-62)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.56 (49-62)','Driveline Assembly'), + (938,1,'Ford-o-matic/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.31','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (939,1,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'rear axle ratio of 3.10 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.10','Driveline Assembly'), + (940,1,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'The Ford-o-matic was first introduced on the 1957 Fairlane and has a rear axle ratio of 3.70 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.70','Driveline Assembly'), + (941,1,'Cruise-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'this driveline assembly was found in many late 50''s to early 70''s Ford cars.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cruise-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic/3.00 ','Driveline Assembly'), + (942,1,'3 spd/(T-86)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the relatively low final drive ratio of 3.25 allow a car to reach high top speeds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/(T-86)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.25 (T-86)','Driveline Assembly'), + (943,1,'3 spd/3.25 (T-85)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.25 (T-85)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.25 (T-85)','Driveline Assembly'), + (944,1,'4 spd/3.25 (T-10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.25 (T-10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd/3.25 (T-10)','Driveline Assembly'), + (945,1,'C-4 auto/3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'standard Ford transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 auto/3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 auto/3.00','Driveline Assembly'), + (946,1,'4 spd/3.50 (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.50 (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd/3.50 (Top)','Driveline Assembly'), + (947,1,'C-4 auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'standard Ford transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 auto/3.91','Driveline Assembly'), + (948,1,'C-6 auto/3.91 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-6 auto/3.91 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-6 auto/3.91 Lock','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (949,1,'Flathead Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Single','Exhaust Assembly'), + (950,1,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Passenger Single','Exhaust Assembly'), + (951,1,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Passenger Dual','Exhaust Assembly'), + (952,1,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Dual','Exhaust Assembly'), + (953,1,'Flathead 221 1V (65 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'original flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221 1V (65 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221 1V (65 hp)','Engine Assembly'), + (954,1,'Flathead 221 2V (85 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221 2V (85 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221 2V (85 hp)','Engine Assembly'), + (955,1,'Flathead 255 2V (112 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'255 2V (112 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 255- 2V (112 hp)','Engine Assembly'), + (956,1,'Flathead 239 2V (110 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'239 2V (110 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 239 2V (110 hp)','Engine Assembly'), + (957,1,'312 4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'stock with automatic transmission vehicles',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (245 hp)','Engine Assembly'), + (958,1,'427 LR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 LR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 LR 2x4V (425 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (959,1,'289 2V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 2V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 289 2V (195 hp)','Engine Assembly'), + (960,1,'302 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8 2V (220 hp)','Engine Assembly'), + (961,1,'429 Boss (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Street Boss engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 Boss (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 Boss (375 hp)','Engine Assembly'), + (962,99,'162/68/18 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 162/68/18 Bias Belted','Tires'), + (964,1,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500','Vehicle'), + (971,1,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Boss 429 Mustang','Vehicle'), + (974,1,'Torino GT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Torino GT','Vehicle'), + (980,11,'Big Bad AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 BigBad AMX','Vehicle'), + (990,10,'GTX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth GTX Cpe','Vehicle'), + (1002,8,'4 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1003,8,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Shift-Command/','Driveline Assembly'), + (1004,8,'3 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 3 spd/','Driveline Assembly'), + (1005,8,'4 spd/3.55 ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/3.55 ','Driveline Assembly'), + (1006,8,'Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'The Torqueflite transmission was found in a majority of Chrysler''s cars in the 70''s.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 ','Driveline Assembly'), + (1007,8,'4 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/3.55 Lock','Driveline Assembly'), + (1008,8,'Torqueflite/3.23 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This version of the Torqueflite has a 3.23 to 1 rear axle ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite/3.23 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 Lock','Driveline Assembly'), + (1009,8,'Torqueflite/3.23 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi version of the Torqueflite Transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite/3.23 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 Hemi','Driveline Assembly'), + (1010,8,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Passenger Single','Exhaust Assembly'), + (1011,8,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Passenger Dual','Exhaust Assembly'), + (1012,8,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Dual','Exhaust Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1013,8,'High Perf. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler High Perf. Dual','Exhaust Assembly'), + (1014,11,'290 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290 4V (225 hp)','Engine Assembly'), + (1015,11,'343 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343 4V (280 hp)','Engine Assembly'), + (1016,4,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB 390 4V (315 hp)','Engine Assembly'), + (1017,8,'318 2V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'318 2V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 318 2V (230 hp)','Engine Assembly'), + (1018,8,'440 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 4V (375 hp)','Engine Assembly'), + (1019,8,'Hemi 426 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'street hemi configuration',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi 426 2x4V (425 hp)','Engine Assembly'), + (1020,8,'340 3x2V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 3x2V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340 3x2V (290 hp)','Engine Assembly'), + (1021,8,'340 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340 4V (275 hp)','Engine Assembly'), + (1022,8,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (10.25) Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1023,8,'AAR (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB AAR (10.5) W/P Cylinder Head','Cylinder Head'), + (1034,8,'Shift-Command Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Shift-Command Automatic (2.45/1.45/1)','Transmission'), + (1035,8,'Stock Round Chrome',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Stock Round Chrome','Tail Pipe Tip'), + (1036,11,'290-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290-V8','Engine Block'), + (1037,11,'343-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343-V8','Engine Block'), + (1038,11,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390-V8','Engine Block'), + (1039,8,'318-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'318',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 318-V8','Engine Block'), + (1040,8,'440-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440-V8','Engine Block'), + (1041,8,'426-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'426',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426-V8','Engine Block'), + (1042,8,'340-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1043,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Lubrication System','Lubrication System'), + (1044,8,'Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock CI/DP IM','Intake Manifold'), + (1045,8,'Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Dual Plane Manifold','Intake Manifold'), + (1046,11,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.0) W CH','Cylinder Head'), + (1047,11,'Stock (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.2) W CH','Cylinder Head'), + (1048,11,'SS (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC SS (10.2) HP Cylinder Head','Cylinder Head'), + (1049,7,'Stock (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock (9.2) Cylinder Head','Cylinder Head'), + (1050,8,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock (10.5) W Cylinder Head','Cylinder Head'), + (1051,0,'TRFMONTE',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFMONTE (Traffic)','Vehicle'), + (1052,0,'TRFDELVR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFDELVR (Traffic)','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1053,0,'TRFBUS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFBUS (Traffic)','Vehicle'), + (1054,0,'TRFGSX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFGSX (Traffic)','Vehicle'), + (1055,0,'TRFSTANG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFSTANG (Traffic)','Vehicle'), + (1056,0,'TRFTBIRD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFTBIRD (Traffic)','Vehicle'), + (1057,0,'TRFPUP1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFPUP1 (Traffic)','Vehicle'), + (1058,0,'TRF2DR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRF2DR (Traffic)','Vehicle'), + (1084,15,'3 spd./3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd./3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd./3.71','Driveline Assembly'), + (1085,15,'Hydramatic/3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.54','Driveline Assembly'), + (1086,15,'3 spd/3.90 (37-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.90 (37-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.90 (37-60)','Driveline Assembly'), + (1087,15,'Dynaflow/3.4 (52-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dynaflow/3.4 (52-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Dynaflow/3.4 (52-60)','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1088,15,'3 spd/3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.70','Driveline Assembly'), + (1089,15,'Turboglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turboglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Turboglide/3.55','Driveline Assembly'), + (1090,15,'Powerglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.55','Driveline Assembly'), + (1091,15,'3 spd/3.70 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.70 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.70 Posi','Driveline Assembly'), + (1092,15,'Hydramatic/2.94',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/2.94',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/2.94','Driveline Assembly'), + (1093,15,'4 spd/3.70 Posi (Borg)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.70 Posi (Borg)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.70 Posi (Borg)','Driveline Assembly'), + (1094,15,'3 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.36 Posi','Driveline Assembly'), + (1095,15,'Powerglide/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.36 Posi','Driveline Assembly'), + (1096,15,'4 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.36 Posi','Driveline Assembly'), + (1097,15,'3 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.55','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1098,15,'Powerglide/3.08 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.08 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.08 Posi','Driveline Assembly'), + (1099,15,'3 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.55 Lock','Driveline Assembly'), + (1100,15,'Hydramatic/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.55 Lock','Driveline Assembly'), + (1101,15,'3 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.73 Posi','Driveline Assembly'), + (1102,15,'Powerglide/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.07','Driveline Assembly'), + (1103,15,'4 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.73 Posi','Driveline Assembly'), + (1104,15,'T-Hydramatic/2.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/2.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/2.73 Posi','Driveline Assembly'), + (1105,15,'4 spd/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.42','Driveline Assembly'), + (1106,15,'T-Hydramatic/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.42','Driveline Assembly'), + (1107,15,'4 spd/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.31','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1108,15,'T-Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.55','Driveline Assembly'), + (1109,15,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.07','Driveline Assembly'), + (1110,15,'4 spd/3.90 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.90 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.90 Lock','Driveline Assembly'), + (1111,15,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.55','Driveline Assembly'), + (1112,15,'4 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.42 Lock','Driveline Assembly'), + (1113,4,'346 2V (150 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a big chunk of iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'346 2V (150 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head 346 2V (150 hp)','Engine Assembly'), + (1114,6,'322 4V (236 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322 4V (236 hp)','Engine Assembly'), + (1115,3,'283 FI (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'baseline FI engine; includes improved oiling and Ram''s Horn exhaust manifolds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (250 hp)','Engine Assembly'), + (1116,4,'390 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB 390 3x2V (345 hp)','Engine Assembly'), + (1117,3,'327 4V (300 hp) (L75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (300 hp) (L75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (300 hp) (L75)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1118,7,'389 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (335 hp)','Engine Assembly'), + (1119,3,'396 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'semi-hemi combustion chambers; smooth bend port runners; a modern engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB 396 4V (375 hp)','Engine Assembly'), + (1120,7,'400 Ram Air II (366 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1968 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II (366 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air II (366 hp)','Engine Assembly'), + (1121,3,'350 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB 350 4V (300 hp)','Engine Assembly'), + (1122,5,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (375 hp)','Engine Assembly'), + (1123,7,'455 SD 4V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Duty; this version of the engine never quite reached production due to emissions requirements',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 SD 4V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (310 hp)','Engine Assembly'), + (1124,7,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (10.5) W CH','Cylinder Head'), + (1125,5,'(10.25) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (10.25) Stock Cylinder Head','Cylinder Head'), + (1126,7,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) W Cylinder Head','Cylinder Head'), + (1127,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chevrolet BB IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1128,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chevrolet SB IM','Intake Manifold'), + (1129,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chrysler BB IM','Intake Manifold'), + (1130,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chrysler SB IM','Intake Manifold'), + (1131,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Ford BB IM','Intake Manifold'), + (1132,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Ford SB IM','Intake Manifold'), + (1133,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Olds BB IM','Intake Manifold'), + (1134,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Olds SB IM','Intake Manifold'), + (1135,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi IM','Intake Manifold'), + (1136,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Pontiac IM','Intake Manifold'), + (1137,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'high flow tunnel ram aluminum alloy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Pontiac IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1138,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet BB Dual Plane IM','Intake Manifold'), + (1139,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet SB Dual Plane IM','Intake Manifold'), + (1140,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler BB Dual Plane IM','Intake Manifold'), + (1141,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler SB Dual Plane IM','Intake Manifold'), + (1142,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford BB IM','Intake Manifold'), + (1143,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford SB Dual Plane IM','Intake Manifold'), + (1144,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds BB Dual Plane IM','Intake Manifold'), + (1145,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds SB Dual Plane IM','Intake Manifold'), + (1146,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree CI DP IM','Intake Manifold'), + (1147,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Pontiac Dual Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1148,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chevrolet BB IM','Intake Manifold'), + (1149,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chevrolet SB IM','Intake Manifold'), + (1150,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chrysler BB IM','Intake Manifold'), + (1151,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chrysler SB IM','Intake Manifold'), + (1152,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Ford BB IM','Intake Manifold'), + (1153,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Ford SB IM','Intake Manifold'), + (1154,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Olds BB IM','Intake Manifold'), + (1155,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Olds SB IM','Intake Manifold'), + (1156,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Pontiac IM','Intake Manifold'), + (1157,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Pontiac IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1158,15,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors GM 3 spd Manual (A)','Transmission'), + (1159,15,'M22 4 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M22 Close Ratio 4 Spd Manual','Transmission'), + (1160,15,'3.71 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM (3.71) Differential','Rear End'), + (1161,4,'346-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'346',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head 346-V8','Engine Block'), + (1162,6,'322-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with two-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322-V8','Engine Block'), + (1172,71,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Normal Duty Air Cleaner','Air Cleaner'), + (1173,5,'(9.0) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB (9.0) Stock Cylinder Head','Cylinder Head'), + (1174,3,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB (9.5) W Cylinder Head','Cylinder Head'), + (1175,3,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted (11.0) Cylinder Head','Cylinder Head'), + (1176,7,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 350','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1177,7,'421-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 421','Engine Block'), + (1184,15,'Camaro Sidepipes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sidepipes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Camaro Sidepipes','Muffler'), + (1185,15,'Hood Mod Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hood Mod Bel-Air','Hood'), + (1186,15,'3 spd M/3.70 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd M/3.70 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 Spd M/3.70 Lock','Driveline Assembly'), + (1187,15,'3 spd M/3.36 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd M/3.36 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 Spd M/3.36 Lock','Driveline Assembly'), + (1188,46,'T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully T-Hydro 400/3.55','Driveline Assembly'), + (1189,15,'Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.55','Driveline Assembly'), + (1190,7,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac T-Hydramatic/12-bolt 3.07','Driveline Assembly'), + (1191,11,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This automatic transmission was found in the AMX in 69 and had a rear axle ratio of 3.54 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Shift-Command/3.54','Driveline Assembly'), + (1192,10,'3 spd/3.9 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.9 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 3 Spd/3.9 Lock','Driveline Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1193,1,'Cruise-o-matic/3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cruise-o-matic/3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic/3.10','Driveline Assembly'), + (1194,46,'Cool T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Driveline Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cool T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Cool T-Hydro 400/3.55','Driveline Assembly'), + (1195,3,'4 spd Synchro M/4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd Synchro M/4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4 Spd Synchro M/4.10','Driveline Assembly'), + (1196,3,'3 spd/3.77 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.77 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3 Spd/3.77 Lock','Driveline Assembly'), + (1197,3,'3 spd/3.31 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.31 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3 spd/3.31 Lock','Driveline Assembly'), + (1198,1,'4 spd M/3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd M/3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 Spd M/3.91','Driveline Assembly'), + (1199,67,'3 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 3 Speed/3.42 Lock','Driveline Assembly'), + (1200,8,'3 spd/4.10 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/4.10 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 3 Spd/4.10 Lock','Driveline Assembly'), + (1202,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century','Vehicle'), + (1203,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1230,7,'GTO Judge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO Judge','Vehicle'), + (1243,1,'FH (7.5) Denver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Denver (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (7.5) Denver Stock Cylinder Head','Cylinder Head'), + (1244,5,'(8.5) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (8.5) Stock Cylinder Head','Cylinder Head'), + (1245,3,'(10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 2.07i/1.72e CH','Cylinder Head'), + (1246,3,'L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB (11.0) L72 HP Canted Cylinder Head','Cylinder Head'), + (1247,3,'L88 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L88 Aluminum Canted Cylinder Head','Cylinder Head'), + (1248,3,'L89 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L89 Aluminum Canted Cylinder Head','Cylinder Head'), + (1249,1,'1957 (9.0) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 (9.0) Stock Cylinder Head','Cylinder Head'), + (1250,1,'Canted (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Canted (8.5) Cylinder Head','Cylinder Head'), + (1251,1,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Canted (11.0) Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1252,1,'HO HP (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO HP (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland HO (9.2) Canted CH','Cylinder Head'), + (1253,1,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (9.6) Wedge CH','Cylinder Head'), + (1254,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer HP CH','Cylinder Head'), + (1255,1,'Wedge HP (11.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge HP (11.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP (11.4) W/P CH','Cylinder Head'), + (1256,1,'High Riser (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB High Riser (11.5) W/F Cylinder Head','Cylinder Head'), + (1257,1,'(10.5) Canted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 (10.5) Canted CH','Cylinder Head'), + (1258,1,'Cobrajet (11.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet (11.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (11.3) CJ HP CH','Cylinder Head'), + (1260,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) W/P Cylinder Head','Cylinder Head'), + (1261,8,'Max Wedge I (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (11.0) Cylinder Head','Cylinder Head'), + (1262,8,'Max Wedge I (13.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I (13.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (13.5) Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1282,8,'Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Tunnel Ram Intake Manifold','Intake Manifold'), + (1283,3,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Aluminum Dual Plane Intake Manifold','Intake Manifold'), + (1284,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Intake Manifold','Intake Manifold'), + (1285,3,' Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Aluminum Dual Plane Intake Manifold','Intake Manifold'), + (1286,1,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cobrajet Dual Plane Intake Manifold','Intake Manifold'), + (1287,38,'Offenhauser Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Chrysler Hemi Dual Plane Magnesium IM','Intake Manifold'), + (1288,1,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cobrajet HP Exhaust Manifold','Exhaust Manifold'), + (1289,8,'Max Wedge Cross-Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge Aluminum Cross-Ram Intake Manifold','Intake Manifold'), + (1290,22,'Tri-Pwr 3x2V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter Tri-Power 3x2V Carburetor','Carburetor'), + (1291,16,'Q-Jet 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 2x4V (800 cfm) Carb','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1292,1,'Ford 385 Valve Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Cast Iron Valve Cover','Valve Cover'), + (1293,3,'Chevy W Valve Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Cast Iron Valve Cover','Valve Cover'), + (1294,3,'Hi-Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hi-Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Hi-Lift Hydraulic Valve Train','Valve Train'), + (1295,1,'Tri-Y Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Y Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Tri-Y Steel Tube Headers','Exhaust Manifold'), + (1299,8,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III Valve Train','Valve Train'), + (1307,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chrysler SB DP Camshaft','Camshaft'), + (1308,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Camshaft','Camshaft'), + (1309,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Camshaft','Camshaft'), + (1310,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock Camshaft','Camshaft'), + (1311,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bone stock; low idle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1312,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Camshaft','Camshaft'), + (1313,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Camshaft','Camshaft'), + (1314,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Camshaft','Camshaft'), + (1315,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Camshaft','Camshaft'), + (1316,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Camshaft','Camshaft'), + (1317,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Camshaft','Camshaft'), + (1318,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Camshaft','Camshaft'), + (1319,8,'Barracuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Barracuda Stock Camshaft','Camshaft'), + (1320,3,'Stock Hi-Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Hi-Lift Camshaft','Camshaft'), + (1321,3,'HP Duntov',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Duntov',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB HP Duntov Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1322,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB HP Camshaft','Camshaft'), + (1323,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP Camshaft','Camshaft'), + (1324,3,'HP LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP LS7 Camshaft','Camshaft'), + (1325,6,'1968 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1968 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB 1968 Stage I Camshaft','Camshaft'), + (1326,6,'1969 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB 1969 Stage I Camshaft','Camshaft'), + (1327,6,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'midway between a stock cam and a true high performance cam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage II Camshaft','Camshaft'), + (1328,5,'W-31 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB W31 HP Camshaft','Camshaft'), + (1329,5,'W-30 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB W30 HP Camshaft','Camshaft'), + (1330,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD DP Camshaft','Camshaft'), + (1331,7,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air I HP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1332,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV HP Camshaft','Camshaft'), + (1333,7,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac HO HP Camshaft','Camshaft'), + (1334,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD HP Camshaft','Camshaft'), + (1335,13,'Perf. Q-Jet (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Q-Jet (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Q-Jet (600 cfm) Carb','Carburetor'), + (1336,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Camshaft','Camshaft'), + (1337,13,'Performer RPM (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (9.25) Chevy SB CH','Cylinder Head'), + (1338,13,'Performer RPM (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (10.5) Chevy SB CH','Cylinder Head'), + (1339,13,'Performer (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer (10.5) Chevy SB CH','Cylinder Head'), + (1340,13,'Performer (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer (9.25) Chevy SB CH','Cylinder Head'), + (1341,13,'Perf. 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM 454-O (9.5) Chevrolet BB Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1342,13,'Performer 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 454-O (9.5) Chevrolet BB Head','Cylinder Head'), + (1343,13,'Perf. 454-R (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM 454-R (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM 454-R (9.5) Chevrolet BB Cylinder Head','Cylinder Head'), + (1344,13,'Perf. RPM (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (11.5) Chevy SB CH','Cylinder Head'), + (1345,1,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HO (DP) Camshaft','Camshaft'), + (1346,1,'HO Mild',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Mild',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HO Mild (HP) Camshaft','Camshaft'), + (1347,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer (DP+) Camshaft','Camshaft'), + (1348,1,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB PI (HP) Camshaft','Camshaft'), + (1349,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss (DP) Camshaft','Camshaft'), + (1350,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Buick BB Intake Manifold','Intake Manifold'), + (1351,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Buick BB Intake Manifold','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1352,13,'Torker II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker II Buick BB Intake Manifold','Intake Manifold'), + (1353,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Buick BB Tunnel Ram Intake Manifold','Intake Manifold'), + (1354,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Dual Plane Intake Manifold','Intake Manifold'), + (1355,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Dual Plane Intake Manifold','Intake Manifold'), + (1356,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Dual Plane Intake Manifold','Intake Manifold'), + (1357,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Dual Plane Intake Manifold','Intake Manifold'), + (1358,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB CI/DP IM','Intake Manifold'), + (1359,8,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HP Camshaft','Camshaft'), + (1360,8,'Max Wedge I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (HP) Camshaft','Camshaft'), + (1361,8,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (DP)Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1362,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (DP+) Camshaft','Camshaft'), + (1363,8,'AAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB AAR (HP) Camshaft','Camshaft'), + (1364,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 (HP+) Camshaft','Camshaft'), + (1365,11,'SS/AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS/AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC SS/AMX (DP) Camshaft','Camshaft'), + (1367,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Cadillac BB Camshaft','Camshaft'), + (1368,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Buick BB Camshaft','Camshaft'), + (1369,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Buick SB Camshaft','Camshaft'), + (1370,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chevrolet BB Camshaft','Camshaft'), + (1371,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chevrolet SB Camshaft','Camshaft'), + (1372,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Chrysler BB Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1373,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Ford BB Camshaft','Camshaft'), + (1374,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Ford SB Camshaft','Camshaft'), + (1375,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Olds BB Camshaft','Camshaft'), + (1376,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Olds SB Camshaft','Camshaft'), + (1377,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Pontiac Camshaft','Camshaft'), + (1378,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi Camshaft','Camshaft'), + (1379,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chrysler BB Camshaft','Camshaft'), + (1380,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Buick BB Camshaft','Camshaft'), + (1381,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Buick SB Camshaft','Camshaft'), + (1382,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevrolet BB Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1383,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevrolet SB Camshaft','Camshaft'), + (1384,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Sportsman Ford SB Connecting Rod','Connecting Rods'), + (1385,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Ford BB Camshaft','Camshaft'), + (1386,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Ford SB Camshaft','Camshaft'), + (1387,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Olds BB Camshaft','Camshaft'), + (1389,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Ford SB Connecting Rod','Connecting Rods'), + (1390,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Olds SB Camshaft','Camshaft'), + (1391,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Pontiac Camshaft','Camshaft'), + (1392,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevy W Camshaft','Camshaft'), + (1393,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Chevrolet SB Stock+ Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1394,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Ford SB Stock+ Camshaft','Camshaft'), + (1395,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Ford BB Connecting Rod','Connecting Rods'), + (1396,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Ford BB Stock+ Camshaft','Camshaft'), + (1397,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler BB HP Camshaft','Camshaft'), + (1398,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Buick BB HP Camshaft','Camshaft'), + (1399,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet BB HP Camshaft','Camshaft'), + (1400,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet SB HP Camshaft','Camshaft'), + (1401,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford BB HP Camshaft','Camshaft'), + (1402,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford SB HP Camshaft','Camshaft'), + (1404,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds SB HP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1405,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Pontiac HP Camshaft','Camshaft'), + (1407,74,'Pure-Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pure-Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Pure-Stock Chevrolet SB Crankshaft','Crankshaft'), + (1408,74,'Stock-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Stock-Plus Crankshaft','Crankshaft'), + (1409,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chevrolet SB Crankshaft','Crankshaft'), + (1410,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chrysler BB DP Camshaft','Camshaft'), + (1412,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chevrolet BB DP Camshaft','Camshaft'), + (1413,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chevrolet SB DP Camshaft','Camshaft'), + (1414,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Ford BB DP Camshaft','Camshaft'), + (1415,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Ford SB DP Camshaft','Camshaft'), + (1418,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Pontiac DP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1420,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Dual Plane Intake Manifold','Intake Manifold'), + (1421,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Dual Plane Intake Manifold','Intake Manifold'), + (1422,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Dual Plane Intake Manifold','Intake Manifold'), + (1423,74,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Ultra-Light Chevrolet SB Crankshaft','Crankshaft'), + (1424,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Dual Plane Intake Manifold','Intake Manifold'), + (1425,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Dual Plane Intake Manifold','Intake Manifold'), + (1426,3,'RPO411 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPO411',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB RPO411 Aluminum Intake Manifold','Intake Manifold'), + (1427,3,'High Rise Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB High Rise Aluminum Dual Plane IM','Intake Manifold'), + (1428,3,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Aluminum Dual Plane IM','Intake Manifold'), + (1429,6,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with two-bolt main bearing cap; similar to previous small-blocks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 350','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1430,6,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with thick two-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 455','Engine Block'), + (1431,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chevrolet SB Crankshaft','Crankshaft'), + (1432,74,'Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Chevrolet BB Crankshaft','Crankshaft'), + (1433,3,'High Rise Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB High Rise Aluminum Dual Plane IM','Intake Manifold'), + (1434,3,'LS6 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Low Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB LS6 Aluminum Dual Plane IM','Intake Manifold'), + (1435,6,'Stock 322 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 322 Dual Plane IM','Intake Manifold'), + (1436,13,'Stage II Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Stage II Buick BB Aluminum IM','Intake Manifold'), + (1437,5,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Aluminum Dual Plane IM','Intake Manifold'), + (1438,5,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB W-31 HP Aluminum Dual Plane IM','Intake Manifold'), + (1439,5,'W-30 IM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB W-30 HP Aluminum Dual Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1440,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV HP Aluminum Dual Plane IM','Intake Manifold'), + (1441,7,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Aluminum Dual Plane IM','Intake Manifold'), + (1442,1,'1957 Large Port',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'larger than normal ports',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 1957',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 Stock Dual Plane IM','Intake Manifold'), + (1443,13,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Aluminum Dual Plane Ford SB IM','Intake Manifold'), + (1444,1,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Lubrication System','Lubrication System'), + (1445,1,'HR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HR Aluminum Dual Plane IM','Intake Manifold'), + (1446,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer HP Aluminum IM','Intake Manifold'), + (1447,1,'Sidewinder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sidewinder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Sidewinder Aluminum Single Plane IM','Intake Manifold'), + (1448,1,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cast Iron Single Plane IM','Intake Manifold'), + (1449,38,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Magnesium Single Plane Ford 385 IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1450,8,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB High Rise Dual Plane IM','Intake Manifold'), + (1451,8,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Aluminum Dual Plane IM','Intake Manifold'), + (1452,8,'Long Ram IM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Long Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Long Ram IM','Intake Manifold'), + (1453,8,'Short Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Short Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Short Ram IM','Intake Manifold'), + (1454,13,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Aluminum Dual Plane Chrysler BB IM','Intake Manifold'), + (1455,3,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 427','Engine Block'), + (1456,8,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Aluminum Dual Plane IM','Intake Manifold'), + (1457,11,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rebel Machine Dual Plane IM','Intake Manifold'), + (1458,13,'R4B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'R4B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock R4B AMC Block Dual Plane IM','Intake Manifold'), + (1459,1,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland 400-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1460,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Flat Top Cast Aluminum Piston','Pistons'), + (1461,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 Piston','Pistons'), + (1462,13,'Super Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Super Dual Ford Flathead IM','Intake Manifold'), + (1463,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Cadillac BB IM','Intake Manifold'), + (1464,1,'351-V8 Windsor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 Windsor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351-V8 Windsor','Engine Block'), + (1465,21,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford BB Valvetrain','Valve Train'), + (1466,21,'Fireball XR700',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball XR700',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Fireball XR700 Ignition System','Electrical System'), + (1467,21,'Fireball XR3000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball XR3000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Fireball XR3000 Ignition System','Electrical System'), + (1468,77,'TM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed TM Hydraulic Ford BB Valvetrain','Valve Train'), + (1469,77,'T-UL',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-UL',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed T-UL Solid Lifter Ford BB Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1470,77,'R-ULX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'R-ULX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed R-ULX Roller Ford BB Valvetrain','Valve Train'), + (1471,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed Top Forged Aluminum','Pistons'), + (1472,6,'322 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322 4V (255 hp)','Engine Assembly'), + (1473,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed Top Forged Aluminum','Pistons'), + (1474,3,'265 2V (162 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 2V (162 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 2V (162 hp)','Engine Assembly'), + (1475,3,'265 4V (180 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 4V (180 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (180 hp)','Engine Assembly'), + (1476,3,'265 4V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 4V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (195 hp)','Engine Assembly'), + (1477,3,'283 2V (185 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2V (185 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2V (185 hp)','Engine Assembly'), + (1478,3,'283 4V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 4V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 4V (220 hp)','Engine Assembly'), + (1479,3,'283 2x4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2x4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2x4V (245 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1480,3,'283 2x4V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'includes improved oiling and Ram''s Horn exhaust manifolds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2x4V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2x4V (270 hp)','Engine Assembly'), + (1481,3,'283 FI (283 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (283 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (283 hp)','Engine Assembly'), + (1482,3,'283 FI (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (290 hp)','Engine Assembly'), + (1483,3,'283 FI (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (275 hp)','Engine Assembly'), + (1484,3,'283 FI (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (315 hp)','Engine Assembly'), + (1485,3,'265 2x4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPO 411 package',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 2x4V (225 hp)','Engine Assembly'), + (1486,3,'327 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (250 hp)','Engine Assembly'), + (1487,3,'327 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'equipped with large valve cylinder head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (300 hp)','Engine Assembly'), + (1488,3,'327 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (340 hp)','Engine Assembly'), + (1489,3,'327 FI (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 FI (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 FI (360 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1490,3,'327 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (365 hp)','Engine Assembly'), + (1491,3,'327 FI (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 FI (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 FI (375 hp)','Engine Assembly'), + (1492,3,'302 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z28 Camaro engine specially built to compete in the SCCA Trans Am Series; high RPM power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 302 4V (290 hp)','Engine Assembly'), + (1493,3,'350 4V (295 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (295 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (295 hp)','Engine Assembly'), + (1494,3,'350 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (250 hp)','Engine Assembly'), + (1495,3,'350 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a remarkable 1 hp per cubic inch',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (350 hp)','Engine Assembly'), + (1496,3,'350 4V (360 hp) Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro version; updated Z28 302 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,' 4V (360 hp) Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (360 hp) Z/28','Engine Assembly'), + (1497,3,'350 4V (370 hp) LT-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette version; updated Z28 302 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (370 hp) LT-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (370 hp) LT-1','Engine Assembly'), + (1498,3,'400 4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the largest small block made; siamesed cylinder walls',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 400 4V (265 hp)','Engine Assembly'), + (1499,6,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock (10.0) CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1500,3,'348 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (250 hp)','Engine Assembly'), + (1501,3,'348 3x2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (280 hp)','Engine Assembly'), + (1502,3,'348 4V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (305 hp)','Engine Assembly'), + (1503,3,'348 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine; used on Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'348 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (315 hp)','Engine Assembly'), + (1504,3,'348 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (315 hp)','Engine Assembly'), + (1505,3,'348 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (320 hp)','Engine Assembly'), + (1506,3,'348 3x2V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 3x2V (335 hp)','Engine Assembly'), + (1507,3,'348 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 590',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (340 hp)','Engine Assembly'), + (1508,3,'348 3x2V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 573B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (350 hp)','Engine Assembly'), + (1509,3,'409 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 580',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (360 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1510,3,'409 4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (380 hp)','Engine Assembly'), + (1511,3,'409 2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 2x4V (409 hp)','Engine Assembly'), + (1512,3,'409 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (340 hp)','Engine Assembly'), + (1513,3,'409 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (400 hp)','Engine Assembly'), + (1514,3,'409 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 2x4V (425 hp)','Engine Assembly'), + (1515,3,'427 2x4V (430 hp) Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (430 hp) Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 427 2x4V (430 hp) Z11','Engine Assembly'), + (1516,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 (3.25) Piston','Pistons'), + (1517,22,'AFB 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 2x4V (800 cfm) Carb','Carburetor'), + (1518,3,'396 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (325 hp)','Engine Assembly'), + (1519,3,'396 4V (350 hp) L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (350 hp) L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (350 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1520,3,'396 4V (425 hp) L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (425 hp) L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (425 hp)','Engine Assembly'), + (1521,16,'Quadrajet 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (600 cfm) Carb','Carburetor'), + (1522,3,'396 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (360 hp)','Engine Assembly'), + (1523,3,'427 4V (390 hp) L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (390 hp) L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (390 hp)','Engine Assembly'), + (1524,3,'427 4V (425 hp) L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (425 hp) L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (425 hp)','Engine Assembly'), + (1525,3,'427 3x2V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (400 hp)','Engine Assembly'), + (1526,3,'427 4V (430 hp) L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine all-aluminum engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (430 hp) L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (430 hp) L88','Engine Assembly'), + (1527,3,'427 3x2V (435 hp) L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet all-aluminum engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 3x2V (435 hp) L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (435 hp) L89','Engine Assembly'), + (1528,3,'427 3x2V (435 hp) L71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 3x2V (435 hp) L71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (435 hp) L71','Engine Assembly'), + (1529,3,'402 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L35 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (325 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1530,3,'402-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 402','Engine Block'), + (1531,3,'454 4V (345 hp) LS4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; low performance model for full-size cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (345 hp) LS4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (345 hp) LS4','Engine Assembly'), + (1532,3,'454 4V (360 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Chevelle version of the medium-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (360 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (360 hp) LS5','Engine Assembly'), + (1533,3,'454 4V (390 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Corvette version of the medium-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (390 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (390 hp) LS5','Engine Assembly'), + (1534,3,'454 4V (425 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Corvette version of the high-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (425 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (425 hp) LS6','Engine Assembly'), + (1535,3,'454 4V (450 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Chevelle version of the high-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (450 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (450 hp) LS6','Engine Assembly'), + (1536,3,'454 4V (465 hp) LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine phantom engine; never actually produced',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (465 hp) LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (465 hp) LS7','Engine Assembly'), + (1537,5,'455 2V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 2V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 2V (310 hp)','Engine Assembly'), + (1538,1,'18 x 6.4 Bias Belted Wheel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'18 x 6.4 Bias Belted Wheel','Wheel Assemblies'), + (1539,5,'455 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (365 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1540,5,'455 4V (375 hp) A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (375 hp) A','Engine Assembly'), + (1541,5,'455 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8; 1968 Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (390 hp)','Engine Assembly'), + (1542,5,'455 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (400 hp)','Engine Assembly'), + (1543,5,'400 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V (345 hp)','Engine Assembly'), + (1544,22,'AFB 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 4V (400 cfm) Carb','Carburetor'), + (1545,5,'400 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V (350 hp)','Engine Assembly'), + (1546,5,'400 3x2V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 3x2V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 3x2V (365 hp)','Engine Assembly'), + (1547,5,'400 2V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 2V (300 hp)','Engine Assembly'), + (1548,5,'400 4V W30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V W30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V W30','Engine Assembly'), + (1549,14,'Hilborn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hilborn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Hilborn Air Scoop 4%','Air Scoop'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1550,7,'389 2V (215 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'baseline Strato-Streak engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (215 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (215 hp)','Engine Assembly'), + (1551,7,'389 2V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strato-Streak baseline engine for use with manual transmissions',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (245 hp)','Engine Assembly'), + (1552,7,'389 4V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strato-Streak baseline engine for use with manual transmissions',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (260 hp)','Engine Assembly'), + (1553,7,'389 2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (280 hp)','Engine Assembly'), + (1554,7,'389 4V (303 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (303 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (303 hp)','Engine Assembly'), + (1555,7,'389 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 4V (300 hp)','Engine Assembly'), + (1556,7,'389 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 3x2V (315 hp)','Engine Assembly'), + (1557,7,'389 SD 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 4V (330 hp)','Engine Assembly'), + (1558,7,'389 SD 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'super duty race engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 3x2V (345 hp)','Engine Assembly'), + (1559,10,'F70 X 14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F70 X 14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda F70 X 14','Wheel Assemblies'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1560,10,'F60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda F60 X 15','Wheel Assemblies'), + (1561,10,'G60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'G60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR Cuda G60 X 15','Wheel Assemblies'), + (1562,7,'389 3x2V (333 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 3x2V (333 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 3x2V (333 hp)','Engine Assembly'), + (1563,7,'389 4V (318 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (318 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 4V (318 hp)','Engine Assembly'), + (1564,7,'389 SD 3x2V (363 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 3x2V (363 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 3x2V (363 hp)','Engine Assembly'), + (1565,0,'Generic Exh Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Exh Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Exh Assembly','Exhaust Assembly'), + (1566,7,'421 SD 2x4V (373 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'over the counter version of the Super Duty engine for drag-strip use',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (373 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (373 hp)','Engine Assembly'), + (1567,7,'421 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 4V (320 hp)','Engine Assembly'), + (1568,7,'421 SD 2x4V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'drag-strip Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (405 hp)','Engine Assembly'), + (1569,7,'421 HO 4V (353 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 HO 4V (353 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 HO 4V (353 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1570,7,'421 HO 3x2V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 HO 3x2V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 HO 3x2V (370 hp)','Engine Assembly'), + (1571,7,'421 SD 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'stock car Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 4V (390 hp)','Engine Assembly'), + (1572,7,'421 SD 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'drag-strip Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (410 hp)','Engine Assembly'), + (1573,7,'Wedge (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (12.0) CH','Cylinder Head'), + (1574,7,'Wedge (13.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (13.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (13.0) CH','Cylinder Head'), + (1575,7,'400 2V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 2V (255 hp)','Engine Assembly'), + (1576,7,'400 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 4V (290 hp)','Engine Assembly'), + (1577,7,'400 Ram Air I (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1967 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air I (325 hp)','Engine Assembly'), + (1578,14,'MegaScoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MegaScoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley MegaScoop Air Scoop 5%','Air Scoop'), + (1579,7,'400 Ram Air II (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V; as installed on the 1968 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air II','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1580,7,'Ram Air II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air II Cylinder Head','Cylinder Head'), + (1581,7,'400 Ram Air IV (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1970 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air IV (345 hp)','Engine Assembly'), + (1582,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV Piston','Pistons'), + (1583,7,'455 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (360 hp)','Engine Assembly'), + (1584,7,'455 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (370 hp)','Engine Assembly'), + (1585,7,'455 HO 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 HO 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 HO 4V (335 hp)','Engine Assembly'), + (1586,7,'455 SD 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'this is the (downrated) version that actually reached production',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 SD 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 SD 4V (290 hp)','Engine Assembly'), + (1587,1,'292 4V (193 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on manual transmission cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (193 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (193 hp)','Engine Assembly'), + (1588,1,'292 4V (198 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on automatic transmission cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (198 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (198 hp)','Engine Assembly'), + (1589,1,'292 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (212 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1590,1,'312 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (210 hp)','Engine Assembly'), + (1592,1,'312 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (225 hp)','Engine Assembly'), + (1593,1,'312 2x4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 2x4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 2x4V (265 hp)','Engine Assembly'), + (1594,1,'352 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 4V (300 hp)','Engine Assembly'), + (1595,1,'352 HP 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 HP 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 HP 4V (360 hp)','Engine Assembly'), + (1596,1,'352 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 2V (220 hp)','Engine Assembly'), + (1597,1,'390 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 4V (300 hp)','Engine Assembly'), + (1598,1,'390 HP 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'thicker main-bearing webs and caps; additional reinforcing ribs; oil pressure relief',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 HP 4V (375 hp)','Engine Assembly'), + (1599,1,'390 HP 3x2V (401 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP 3x2V (401 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 HP 3x2V (401 hp)','Engine Assembly'), + (1600,14,'3x2V (680 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (680 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (680 cfm) Carb','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1601,1,'390 PI 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 PI 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 PI 4V (330 hp)','Engine Assembly'), + (1602,1,'390 3x2V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'detuned HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 3x2V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 3x2V (340 hp)','Engine Assembly'), + (1603,1,'390 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 2V (250 hp)','Engine Assembly'), + (1604,1,'390 2V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 2V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 2V (275 hp)','Engine Assembly'), + (1605,1,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 4V (315 hp)','Engine Assembly'), + (1606,1,'390 GT 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'available for GT cars, 1966-1969',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 GT 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 GT 4V (335 hp)','Engine Assembly'), + (1607,1,'406 4V (385 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406 4V (385 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406 4V (385 hp)','Engine Assembly'), + (1608,1,'406 3x2V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406 3x2V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406 3x2V (405 hp)','Engine Assembly'), + (1609,14,'4300 2x4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 2x4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4300 2x4V (1000 cfm) Carb','Carburetor'), + (1610,1,'427 LR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 LR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 LR 4V (410 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1611,1,'427 MR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 MR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR 4V (410 hp)','Engine Assembly'), + (1612,1,'427 MR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 MR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR 2x4V (425 hp)','Engine Assembly'), + (1613,1,'Medium Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Medium Riser (11.6) Cylinder Head','Cylinder Head'), + (1614,1,'427 SOHC 4V (615 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the ultimate configuration of the FE-series big-block engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 SOHC 4V (615 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 SOHC 4V (615 hp)','Engine Assembly'), + (1615,1,'Cammer Pop-up',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer Pop-up Piston','Pistons'), + (1616,1,'428 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 4V (345 hp)','Engine Assembly'), + (1617,1,'428 4V (360 hp) PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 4V (360 hp) PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 4V (360 hp) PI','Engine Assembly'), + (1618,1,'428 CJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 CJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 CJ 4V (335 hp)','Engine Assembly'), + (1619,1,'428 SCJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 SCJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 SCJ 4V (335 hp)','Engine Assembly'), + (1620,1,'260 2V (164 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260 2V (164 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 260 2V (164 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1621,1,'289 HP 4V (271 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 HP 4V (271 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 HP 4V (271 hp)','Engine Assembly'), + (1622,1,'289 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 4V (210 hp)','Engine Assembly'), + (1623,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Flat Top CA Piston','Pistons'), + (1624,1,'Wedge (10.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Wedge/P (10.6) CH','Cylinder Head'), + (1625,1,'289 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 4V (225 hp)','Engine Assembly'), + (1626,1,'302 2V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 2V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 2V (210 hp)','Engine Assembly'), + (1627,1,'302 4V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 4V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 4V (230 hp)','Engine Assembly'), + (1628,1,'302 Boss 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290 hp',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 Boss 4V (290 hp)','Engine Assembly'), + (1629,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss FAL Piston','Pistons'), + (1630,1,'351W 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 2V (250 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1631,1,'351W 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 4V (290 hp)','Engine Assembly'), + (1632,1,'351W 2V (240 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 2V (240 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 2V (240 hp)','Engine Assembly'), + (1633,1,'351 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; two-barrel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 2V (250 hp)','Engine Assembly'), + (1634,1,'351 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; higher compression',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 4V (300 hp)','Engine Assembly'), + (1635,1,'351 CJ 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'open chamber heads with large valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 CJ 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C CJ 4V (280 hp)','Engine Assembly'), + (1636,1,'351 Boss 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'available only on 1971 Boss 351 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 Boss 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C Boss 4V (330 hp)','Engine Assembly'), + (1637,1,'351 HO 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'renamed and modified Boss 351',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 HO 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C HO 4V (275 hp)','Engine Assembly'), + (1638,1,'351 2V (177 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; two-barrel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 2V (177 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 2V (177 hp)','Engine Assembly'), + (1639,1,'400 2V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'basically a stopgap engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 400C 2V (260 hp)','Engine Assembly'), + (1640,1,'400 2V (172 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'basically a stopgap engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (172 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 400C 2V (172 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1641,1,'429 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'optional engine on Ford and Mercury cars from 1968-1973',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 4V (360 hp)','Engine Assembly'), + (1642,1,'429 2V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'optional engine on Ford and Mercury cars from 1968-1973',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 2V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 2V (320 hp)','Engine Assembly'), + (1643,1,'429 SCJ 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cobrajet; available on Ford and Mercury performance intermediates',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 SCJ 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 SCJ 4V (375 hp)','Engine Assembly'), + (1644,1,'429 CJ 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet; available on Ford and Mercury performance intermediates',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 CJ 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 CJ 4V (370 hp)','Engine Assembly'), + (1645,1,'429 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'lower compression engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 4V (212 hp)','Engine Assembly'), + (1646,1,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'race version of the 429 Boss engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 NASCAR','Engine Assembly'), + (1647,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR Head','Cylinder Head'), + (1648,1,'460 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 4V (365 hp)','Engine Assembly'), + (1649,1,'460 4V (224 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 4V (224 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 4V (224 hp)','Engine Assembly'), + (1650,1,'460 PI 4V (274 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'police interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 PI 4V (274 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 PI 4V (274 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1651,8,'383 2V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 2V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2V (305 hp)','Engine Assembly'), + (1652,8,'383 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 4V (325 hp)','Engine Assembly'), + (1653,8,'383 2V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 2V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2V (270 hp)','Engine Assembly'), + (1654,8,'383 2x4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1960 Super D-500 Package',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2x4V (330 hp)','Engine Assembly'), + (1655,8,'383-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383-V8','Engine Block'), + (1656,8,'400 2V (190 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (190 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 2V (190 hp)','Engine Assembly'), + (1657,8,'400 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 4V (255 hp)','Engine Assembly'), + (1658,8,'400 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 4V (205 hp)','Engine Assembly'), + (1659,8,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400-V8','Engine Block'), + (1660,8,'413 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 4V (350 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1661,8,'413 2x4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 2x4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 2x4V (380 hp)','Engine Assembly'), + (1662,8,'413 Long Ram 2x4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Long Ram 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Long Ram 2x4V (375 hp)','Engine Assembly'), + (1663,8,'413 Short Ram 2x4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Short Ram 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Short Ram 2x4V (400 hp)','Engine Assembly'), + (1664,8,'413 Max Wedge 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'officially known as the RamCharger 413 or Super Stock 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Max Wedge 2x4V (410 hp)','Engine Assembly'), + (1665,8,'413 Max Wedge 2x4V (420 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'officially known as the RamCharger 413 or Super Stock 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (420 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Max Wedge 2x4V (420 hp)','Engine Assembly'), + (1666,8,'413 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 4V (365 hp)','Engine Assembly'), + (1667,8,'413 2x4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 2x4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 2x4V (390 hp)','Engine Assembly'), + (1668,8,'426 Max Wedge III 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge III 2x4V (415 hp)','Engine Assembly'), + (1669,8,'426 Max Wedge III 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge III 2x4V (425 hp)','Engine Assembly'), + (1670,8,'413-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1671,8,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge Exhaust Manifold','Exhaust Manifold'), + (1672,8,'426 Max Wedge 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge 2x4V (415 hp)','Engine Assembly'), + (1673,8,'426 Max Wedge 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge 2x4V (425 hp)','Engine Assembly'), + (1674,8,'426 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used mostly on trucks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'426 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 4V (365 hp)','Engine Assembly'), + (1675,8,'Max Wedge III (12.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III (12.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (12.5) Cylinder Head','Cylinder Head'), + (1676,8,'440 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'non-performance engine for use on heavy passenger cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 4V (350 hp)','Engine Assembly'), + (1677,8,'440 3x2V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'known as the "Six Pack" or "Six Barrel" engine; used on the ''Cuda, Road Runner, and Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 3x2V (390 hp)','Engine Assembly'), + (1678,87,'Wedge Top (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,' Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top Piston','Pistons'), + (1679,11,'343 2V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343 2V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343 2V (235 hp)','Engine Assembly'), + (1680,11,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V (315 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1681,11,'390 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V (325 hp)','Engine Assembly'), + (1682,11,'390 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V Rebel Machine (340 hp)','Engine Assembly'), + (1683,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Flat Top CA Piston','Pistons'), + (1684,11,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rebel Machine Dual','Exhaust Manifold'), + (1685,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Chevrolet BB Exhaust Headers','Exhaust Manifold'), + (1687,0,'Big Tire (Mod)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stunt Tire','Tires'), + (1716,71,'9 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic Disk Brake','Brakes'), + (1717,71,'9 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic HT Disk Brakes','Brakes'), + (1718,71,'9 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic Drum Brake','Brakes'), + (1719,71,'9 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic HT Drum Brake','Brakes'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1720,72,'12 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic HT Drum Brake','Brakes'), + (1721,72,'12 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Semi-Metallic Drum Brake','Brakes'), + (1722,73,'10 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 10 x 2 Metallic Disk ABS Brake','Brakes'), + (1723,73,'12 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 12 x 2 Metallic Disk ABS Brake','Brakes'), + (1724,73,'14 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Metallic Disk ABS Brake','Brakes'), + (1725,73,'16 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'16 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 16 x 2 Metallic Disk ABS Brake','Brakes'), + (1726,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Camshaft','Camshaft'), + (1727,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Camshaft','Camshaft'), + (1728,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Camshaft','Camshaft'), + (1729,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler SB HP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1730,77,'TorqueMaster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TorqueMaster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed TorqueMaster Chrysler SB HP Camshaft','Camshaft'), + (1731,77,'XLH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XLH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed XLH Chrysler SB DP Camshaft','Camshaft'), + (1732,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special DP Chrysler SB Camshaft','Camshaft'), + (1733,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chrysler SB Camshaft','Camshaft'), + (1734,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Ford SB Connecting Rod','Connecting Rods'), + (1735,74,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Maxi-Light 93 Ford SB Connecting Rod','Connecting Rods'), + (1736,30,'Street Racer Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Street Racer Dual Exhaust Pipe','Exhaust Pipe'), + (1737,30,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Performance Dual Exhaust Pipe','Exhaust Pipe'), + (1738,30,'Street Shaker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shaker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Street Shaker Muffler','Muffler'), + (1739,46,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully HD Lubrication System','Lubrication System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1740,43,'HD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.36) Shock','Shocks'), + (1742,71,'Generic Visible Parts Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Visible Parts Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Visible Parts Assembly','Visibile Parts'), + (1743,97,'245/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/50/16ZR High Performance','Tires'), + (1746,17,'T56 6-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T56 6 Speed Automatic','Transmission'), + (1752,73,'11 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 11 x 2 Metallic Disk ABS Brake','Brakes'), + (1763,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Flat Top Piston','Pistons'), + (1764,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Flat Top Piston','Pistons'), + (1765,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Flat Top Piston','Pistons'), + (1766,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Flat Top Piston','Pistons'), + (1767,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Flat Top Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1768,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Flat Top Piston','Pistons'), + (1769,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Flat Top CA Piston','Pistons'), + (1770,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Flat Top CA Piston','Pistons'), + (1771,3,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Flat Top Forged Aluminum Piston','Pistons'), + (1772,6,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I Piston','Pistons'), + (1773,6,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage II Piston','Pistons'), + (1774,7,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Flat Top Forged Aluminum Piston','Pistons'), + (1775,1,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Flat Top Forged Aluminum Piston','Pistons'), + (1776,8,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Flat Top Forged Aluminum Piston','Pistons'), + (1777,3,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Domed Top (0.75) FA Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1778,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Ford SB Piston','Pistons'), + (1779,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chevrolet SB Piston','Pistons'), + (1780,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chevrolet BB Piston','Pistons'), + (1781,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Buick BB Piston','Pistons'), + (1782,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Olds BB Piston','Pistons'), + (1783,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chevrolet SB Piston','Pistons'), + (1784,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chevrolet BB Piston','Pistons'), + (1785,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top Forged',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chrysler BB Piston','Pistons'), + (1786,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chrysler BB Piston','Pistons'), + (1787,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Buick BB Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1788,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Olds BB Piston','Pistons'), + (1789,1,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Dual Plane Aluminum IM','Intake Manifold'), + (1790,1,'Single Plane Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Single Plane Aluminum IM','Intake Manifold'), + (1791,63,'4V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (350 cfm)','Carburetor'), + (1792,63,'4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (400 cfm)','Carburetor'), + (1793,14,'4100 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (780 cfm)','Carburetor'), + (1794,3,'Corvette Cross-Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cross-Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette Cross-Fire Fuel Injection','Carburetor'), + (1795,14,'4100 4V (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (850 cfm)','Carburetor'), + (1796,4,'EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac EFI','Carburetor'), + (1797,4,'Tri-Pwr 3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Tri-Power 3x2V (600 cfm)','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1798,16,'Tri-Pwr 3x2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Tri-Power 3x2V (650 cfm)','Carburetor'), + (1799,3,'T- Thrust 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo Thrust 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Turbo Thrust 4V (400 cfm)','Carburetor'), + (1800,14,'4300 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4300 2x4V (800 cfm)','Carburetor'), + (1801,14,'4100 4V (735 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (735 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (735 cfm)','Carburetor'), + (1802,22,'AVS 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (600 cfm)','Carburetor'), + (1803,63,'4100 4V (480 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (480 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4100 4V (480 cfm)','Carburetor'), + (1804,63,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4100 4V (600 cfm)','Carburetor'), + (1805,63,'4300 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4300 4V (600 cfm)','Carburetor'), + (1806,63,'4300D 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300D 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4300D 4V (715 cfm)','Carburetor'), + (1807,14,'3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (600 cfm)','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1808,14,'4160 4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4160 4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4160 4V (1000 cfm)','Carburetor'), + (1809,63,'2100 2V (356 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (356 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (356 cfm)','Carburetor'), + (1810,63,'2100 2V (424 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (424 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (424 cfm)','Carburetor'), + (1811,16,'Quadrajet 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (715 cfm)','Carburetor'), + (1812,14,'Dominator 2V (550 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (550 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (550 cfm)','Carburetor'), + (1813,14,'Dominator 2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (650 cfm)','Carburetor'), + (1814,14,'Dominator 2V (675 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (675 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (675 cfm)','Carburetor'), + (1815,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1050 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1050 cfm)','Carburetor'), + (1816,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1150 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1150 cfm)','Carburetor'), + (1817,14,'Dominator 2x4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2x4V (1150 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2x4V (1150 cfm)','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1818,14,'Dominator 2x4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2x4V (1250 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2x4V (1250 cfm)','Carburetor'), + (1819,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1250 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1250 cfm)','Carburetor'), + (1820,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Rod','Connecting Rods'), + (1821,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock FS Rod','Connecting Rods'), + (1822,4,'Stock BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock FS Rod','Connecting Rods'), + (1823,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock FS Rod','Connecting Rods'), + (1824,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock FS Rod','Connecting Rods'), + (1825,8,'Stock Rod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock FS Rod','Connecting Rods'), + (1826,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock FS Rod','Connecting Rods'), + (1827,1,'Stock Rod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock FS Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1828,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock FS Rod','Connecting Rods'), + (1829,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock CI Rod','Connecting Rods'), + (1830,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock FS Rod','Connecting Rods'), + (1831,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Rod','Connecting Rods'), + (1832,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on the larger-displacement engines',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 FS Rod','Connecting Rods'), + (1833,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock FS Rod','Connecting Rods'), + (1834,1,'Le Mans Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Le Mans Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB LeMans Capscrew Rod','Connecting Rods'), + (1835,1,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB PI Rod','Connecting Rods'), + (1836,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Rod','Connecting Rods'), + (1837,1,'820-S',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'820-S',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss 820-S Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1838,1,'820-T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'820-T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss 820-T Rod','Connecting Rods'), + (1839,8,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HD FS Rod','Connecting Rods'), + (1840,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Sportsman Chevrolet SB Rod','Connecting Rods'), + (1841,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman Chevrolet SB Connecting Rod','Connecting Rods'), + (1842,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chevrolet SB Rod','Connecting Rods'), + (1843,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chevrolet BB Rod','Connecting Rods'), + (1844,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Buick BB Rod','Connecting Rods'), + (1845,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Olds BB Rod','Connecting Rods'), + (1846,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Pontiac Rod','Connecting Rods'), + (1847,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Ford BB Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1848,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Pontiac Rod','Connecting Rods'), + (1849,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Olds BB Rod','Connecting Rods'), + (1850,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Ford BB Rod','Connecting Rods'), + (1851,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chevrolet SB Rod','Connecting Rods'), + (1852,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chevrolet BB Rod','Connecting Rods'), + (1853,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Buick BB Rod','Connecting Rods'), + (1854,74,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod','Connecting Rods'), + (1855,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Buick BB Connecting Rod','Connecting Rods'), + (1856,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chevrolet BB Connecting Rod','Connecting Rods'), + (1857,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chevrolet BB Connecting Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1858,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Pontiac Rod','Connecting Rods'), + (1859,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chrysler BB Rod','Connecting Rods'), + (1860,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Ford SB Rod','Connecting Rods'), + (1861,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Ford BB Rod','Connecting Rods'), + (1862,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet BB Rod','Connecting Rods'), + (1863,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet SB Rod','Connecting Rods'), + (1864,58,'Pro Mod BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Mod Chevrolet BB Rod','Connecting Rods'), + (1865,58,'Pro Mod SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Mod Chevrolet SB Rod','Connecting Rods'), + (1866,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chevrolet BB Rod','Connecting Rods'), + (1867,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chevrolet SB Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1868,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Ford SB Rod','Connecting Rods'), + (1869,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Chevrolet BB Rod','Connecting Rods'), + (1870,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Chevrolet SB Rod','Connecting Rods'), + (1871,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Ford SB Rod','Connecting Rods'), + (1872,58,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Forged Aluminum Chevrolet BB Rod','Connecting Rods'), + (1873,58,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Forged Aluminum Chevrolet SB Rod','Connecting Rods'), + (1874,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB StockTI Crankshaft','Crankshaft'), + (1875,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock TI Crankshaft','Crankshaft'), + (1876,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock CI Crankshaft','Crankshaft'), + (1877,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB FS Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1878,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock FS Crankshaft','Crankshaft'), + (1879,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock FS Crankshaft','Crankshaft'), + (1880,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock FS Crankshaft','Crankshaft'), + (1881,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock CI Crankshaft','Crankshaft'), + (1882,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock CI Crankshaft','Crankshaft'), + (1883,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock CI Crankshaft','Crankshaft'), + (1884,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock FS Crankshaft','Crankshaft'), + (1885,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Stock CI Crankshaft','Crankshaft'), + (1886,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock TI Crankshaft','Crankshaft'), + (1887,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1888,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Stock FS Crankshaft','Crankshaft'), + (1889,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock CI Crankshaft','Crankshaft'), + (1890,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock TI Crankshaft','Crankshaft'), + (1891,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock FS Crankshaft','Crankshaft'), + (1892,7,'Armasteel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Armasteel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Armasteel (TI) Crankshaft','Crankshaft'), + (1893,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD FS Crankshaft','Crankshaft'), + (1894,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock TI Crankshaft','Crankshaft'), + (1895,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Truck FS Crankshaft','Crankshaft'), + (1896,1,'427 MR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR FS Crankshaft','Crankshaft'), + (1897,1,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Police Interceptor (TI) Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1898,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss FS Crankshaft','Crankshaft'), + (1899,1,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD FS Crankshaft','Crankshaft'), + (1900,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock CI Crankshaft','Crankshaft'), + (1901,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (FS) Crankshaft','Crankshaft'), + (1902,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock CI Crankshaft','Crankshaft'), + (1903,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chevrolet BB Crankshaft','Crankshaft'), + (1904,74,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Ultra-Light Chevrolet BB Crankshaft','Crankshaft'), + (1905,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Ford SB Crankshaft','Crankshaft'), + (1906,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Ford SB Crankshaft','Crankshaft'), + (1907,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Ford BB Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1908,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Ford BB Crankshaft','Crankshaft'), + (1909,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chrysler BB Crankshaft','Crankshaft'), + (1910,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chrysler SB Crankshaft','Crankshaft'), + (1911,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chrysler BB Crankshaft','Crankshaft'), + (1912,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chrysler SB Crankshaft','Crankshaft'), + (1913,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Hydraulic Valvetrain','Valve Train'), + (1914,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Hydraulic Valvetrain','Valve Train'), + (1915,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Valvetrain','Valve Train'), + (1916,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Hydraulic Valvetrain','Valve Train'), + (1918,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Hydraulic Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1919,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Hydraulic Valvetrain','Valve Train'), + (1920,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Hydraulic Valvetrain','Valve Train'), + (1921,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Hydraulic Valvetrain','Valve Train'), + (1922,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Hydraulic Valvetrain','Valve Train'), + (1923,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock Hydraulic Valvetrain','Valve Train'), + (1924,3,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Solid Lifter Valvetrain','Valve Train'), + (1925,3,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Solid Lifter Valvetrain','Valve Train'), + (1926,3,'SS Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB SS Solid Lifter Valvetrain','Valve Train'), + (1927,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Mechanical Lifter Valvetrain','Valve Train'), + (1928,1,'Truck Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Solid Lifter Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1929,1,'Stock Mechanical Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Mechanical Lifter Valvetrain','Valve Train'), + (1930,1,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Solid Lifter Valvetrain','Valve Train'), + (1931,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer Valvetrain','Valve Train'), + (1932,1,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB SCJ Solid Lifter Valvetrain','Valve Train'), + (1933,8,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Solid Lifter Valvetrain','Valve Train'), + (1934,8,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Mechanical Lifter Valvetrain','Valve Train'), + (1935,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Exhaust Manifold','Exhaust Manifold'), + (1936,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock CI EM','Exhaust Manifold'), + (1937,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Exhaust Manifold','Exhaust Manifold'), + (1938,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Exhaust Manifold','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1939,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Exhaust Manifold','Exhaust Manifold'), + (1940,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light; known to have cracking problems',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock CI EM','Exhaust Manifold'), + (1941,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Exhaust Manifold','Exhaust Manifold'), + (1942,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Exhaust Manifold','Exhaust Manifold'), + (1943,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Exhaust Manifold','Exhaust Manifold'), + (1944,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'log-type cast iron exhaust manifold with outlets toward the rear of the engine, pointing downward',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Exhaust Manifold','Exhaust Manifold'), + (1945,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI EM','Exhaust Manifold'), + (1946,3,'Ram''s Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram''s Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Ram''s Horn EM','Exhaust Manifold'), + (1947,6,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I EM','Exhaust Manifold'), + (1948,6,'Mickey Thompson Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mickey Thompson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Mickey Thompson Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1949,5,'Divider',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Divider',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Divider EM','Exhaust Manifold'), + (1950,7,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air I EM','Exhaust Manifold'), + (1951,7,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac HP EM','Exhaust Manifold'), + (1952,1,'Stock 312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 Manifold','Exhaust Manifold'), + (1953,1,'CJ/SCJ HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB CJ/SCJ HP EM','Exhaust Manifold'), + (1954,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR EM','Exhaust Manifold'), + (1955,8,'Max Wedge I Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I Headers','Exhaust Manifold'), + (1956,8,'440 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 Stock EM','Exhaust Manifold'), + (1957,8,'Tri-Y Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Y Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Tri-Y Max Wedge EM','Exhaust Manifold'), + (1958,8,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HP EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1959,8,'Improved Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Improved Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Improved Flow EM','Exhaust Manifold'), + (1961,3,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 1.94i/1.65e CH','Cylinder Head'), + (1962,1,'Boss 351 (11.7) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 351 (11.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Boss 351 (11.7) CH','Cylinder Head'), + (1963,1,'Domed Top (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Domed Top (.5) Piston','Pistons'), + (1965,6,'Nailhead Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Wedge (8.5)','Cylinder Head'), + (1966,1,'HP (10.5) Large Valve',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP (10.5) Large Valve',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.5) LV HP Wedge CH','Cylinder Head'), + (1968,6,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Wedge (8.5)','Cylinder Head'), + (1969,6,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (8.5)','Cylinder Head'), + (1970,6,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (9.0)','Cylinder Head'), + (1971,6,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (10.25)','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1972,4,'Stock (9.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock (9.1)','Cylinder Head'), + (1973,4,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock (10.5) W CH','Cylinder Head'), + (1974,3,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (8.0)','Cylinder Head'), + (1975,3,'Wedge (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (9.25)','Cylinder Head'), + (1976,3,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (10.5)','Cylinder Head'), + (1977,3,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (11.0)','Cylinder Head'), + (1978,3,'Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (11.25)','Cylinder Head'), + (1979,3,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (9.0)','Cylinder Head'), + (1980,3,'Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted (10.25)','Cylinder Head'), + (1981,3,' ZL1 (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ZL1 (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted ZL1 (12.0)','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1982,3,'LS6 (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LS6 (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted LS6 (9.0)','Cylinder Head'), + (1983,5,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB (10.25) Stock CH','Cylinder Head'), + (1984,5,'W-31 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB (10.5) W-31 CH','Cylinder Head'), + (1985,5,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (10.5) Stock CH','Cylinder Head'), + (1986,5,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (9.0) Stock CH','Cylinder Head'), + (1987,5,'(10.25) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (10.25) Stock CH','Cylinder Head'), + (1988,5,'W-30 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (10.5) W-30 CH','Cylinder Head'), + (1989,7,'Wedge (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.6) Stock W CH','Cylinder Head'), + (1990,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) Stock W CH','Cylinder Head'), + (1991,7,'SD Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (11.0) SD W CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (1992,7,'HO Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) HO W CH','Cylinder Head'), + (1993,7,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.5) W CH','Cylinder Head'), + (1994,7,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.25) W CH','Cylinder Head'), + (1995,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) Stock W CH','Cylinder Head'), + (1996,7,'SD Wedge (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Wedge (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.4) SD W CH','Cylinder Head'), + (1997,1,'Stock (7.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (7.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (7.6) Stock CH','Cylinder Head'), + (1998,1,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.5) Stock CH','Cylinder Head'), + (1999,1,'Stock (8.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.1) Stock CH','Cylinder Head'), + (2000,1,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.0) Stock CH','Cylinder Head'), + (2001,1,'Stock (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.4) Stock CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2002,1,'Stock (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.6) Stock CH','Cylinder Head'), + (2003,1,'Stock (9.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.7) Stock CH','Cylinder Head'), + (2004,1,'Stock (8.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.3) Stock CH','Cylinder Head'), + (2005,1,'Stock (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.8) Stock CH','Cylinder Head'), + (2006,1,'Stock (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.6) Stock CH','Cylinder Head'), + (2007,1,'Wedge (12.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (12.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (12.1) Wedge CH','Cylinder Head'), + (2008,1,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (11.0) Wedge CH','Cylinder Head'), + (2009,1,'Wedge (10.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (10.1) Wedge CH','Cylinder Head'), + (2010,1,'Wedge (9.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (9.4) Wedge CH','Cylinder Head'), + (2011,1,'Canted (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (9.5) CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2012,1,'HP Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (11.0) HP CH','Cylinder Head'), + (2013,1,'(9.0) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (9.0) CH','Cylinder Head'), + (2014,1,'Canted (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (8.6) CH','Cylinder Head'), + (2016,1,'Canted (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 (10.2) Canted CH','Cylinder Head'), + (2017,8,'Wedge (10.0) Lrg Port',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LP Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.0) Large Port W CH','Cylinder Head'), + (2018,8,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (9.6) W CH','Cylinder Head'), + (2019,8,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (9.2) W CH','Cylinder Head'), + (2020,8,'Wedge (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (8.8) Stock W CH','Cylinder Head'), + (2021,8,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (10.5) Stock W CH','Cylinder Head'), + (2022,8,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (9.0) Stock W CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2023,8,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (9.2) Stock W CH','Cylinder Head'), + (2024,1,'LR Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB LR Domed (0.4) Piston','Pistons'), + (2025,1,'Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Recessed (-0.1) Piston','Pistons'), + (2026,8,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Wedge (0.1) Piston','Pistons'), + (2027,0,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension','Chassis Assembly'), + (2028,0,'Generic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body','Body Assembly'), + (2029,0,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline','Driveline Assembly'), + (2030,0,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set','Brake Assembly'), + (2031,0,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels','Wheel Assembly'), + (2032,0,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2033,22,'2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter 2V (400 cfm) Carb','Carburetor'), + (2034,8,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.0) Wedge CH','Cylinder Head'), + (2035,8,'440 Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 Magnum IM','Intake Manifold'), + (2036,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Hydraulic Valvetrain','Valve Train'), + (2037,3,'Lrg Valve Wedg (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LV Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (10.5) CH','Cylinder Head'), + (2038,22,'AFB 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 4V (500 cfm) Carb','Carburetor'), + (2039,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Hydraulic Valvetrain','Valve Train'), + (2040,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Flat Top Forged Aluminum Piston','Pistons'), + (2041,7,'Ram Air Induction',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air (3%) Induction System','Air Scoop'), + (2042,3,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (10.25) CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2043,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock FS Crankshaft','Crankshaft'), + (2044,16,'Monojet 2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (400 cfm) Carb','Carburetor'), + (2045,16,'Q-Jet 2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 2x4V (600 cfm) Carb','Carburetor'), + (2046,3,'265 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB 265 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (205 hp)','Engine Assembly'), + (2047,16,'Quadrajet 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (500 cfm) Carb','Carburetor'), + (2048,3,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (8.5) CH','Cylinder Head'), + (2049,16,'Ramjet F.I. RPO 579D',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ramjet RPO 579D',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Ramjet Fuel Injector RPO 579D','Carburetor'), + (2050,3,'Lrg Valve Wdge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Large Valve Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (10.5) CH','Cylinder Head'), + (2051,3,'Lrg Valve Wdge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Large Valve Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (11.25) CH','Cylinder Head'), + (2052,3,'Z28 Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Z28 Recessed Top Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2053,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB CI/HP EM','Exhaust Manifold'), + (2054,3,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 400 FS Rod','Connecting Rods'), + (2055,3,'(10.25) HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 2.19i/1.73e CH','Cylinder Head'), + (2056,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Recessed (-0.75) CA Piston','Pistons'), + (2057,3,'Domed Top HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Domed Top (1.0) FA HP Piston','Pistons'), + (2058,3,'HD FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HD FS Rod','Connecting Rods'), + (2059,3,'Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Recessed (-0.25) FA Piston','Pistons'), + (2060,3,'L36 Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L36 Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L36 Canted/Pocket (10.25) CH','Cylinder Head'), + (2061,3,'402 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L34 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB 402 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (350 hp)','Engine Assembly'), + (2062,3,'402 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L78 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (375 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2063,3,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Wedge Top (0.25) FA Piston','Pistons'), + (2064,16,'Monojet 2V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (500 cfm) Carb','Carburetor'), + (2065,5,'HP Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB HP Camshaft','Camshaft'), + (2066,5,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Wedge Top (0.25) FA Piston','Pistons'), + (2067,5,'W30 Forced Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W30 Forced Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W30 Forced Air Induction System','Air Scoop'), + (2068,7,'m/t Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac m/t Stock (HP) Camshaft','Camshaft'), + (2069,16,'Monojet 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (600 cfm)','Carburetor'), + (2070,7,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.25) Stock W CH','Cylinder Head'), + (2071,16,'Quadrajet 4V (660 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (660 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (660 cfm)','Carburetor'), + (2072,7,'Trophy (HP)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Trophy (HP) Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2073,7,'Trophy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Trophy HP CI EM','Exhaust Manifold'), + (2074,7,'SD Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Aluminum IM','Intake Manifold'), + (2075,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Flat Top FA Piston','Pistons'), + (2076,7,'Wedge SD (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge SD (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD (10.75) W/P CH','Cylinder Head'), + (2077,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 Mechanical Lifter Valvetrain','Valve Train'), + (2078,7,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) W CH','Cylinder Head'), + (2079,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Mechanical Lifter Valvetrain','Valve Train'), + (2080,7,'SD Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Aluminum Single Plane IM','Intake Manifold'), + (2081,7,'SD Large Valve (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Large Valve (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (11.0) SD 2.02i/1.76e W CH','Cylinder Head'), + (2082,7,'400 Ram Air III (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1969 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air III (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air III (335 hp)','Engine Assembly'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2083,7,'400 Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'planned for installation on the 1970 Firebird, but never actually made it into production',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB 400 Ram Air V','Engine Assembly'), + (2084,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Cylinder Head','Cylinder Head'), + (2085,63,'2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2x4V (600 cfm) Carb','Carburetor'), + (2086,1,'Ford (10.2) Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (10.2) Wedge CH','Cylinder Head'), + (2087,63,'2100 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (600 cfm) Carb','Carburetor'), + (2088,1,'Wedge (8.9)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB (8.9) Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (8.9) Wedge CH','Cylinder Head'), + (2089,1,'352 4V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 4V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 2V (235 hp)','Engine Assembly'), + (2090,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP CI EM','Exhaust Manifold'), + (2091,1,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD CI Crankshaft','Crankshaft'), + (2092,63,'3x2V (860 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (860 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 3x2V (860 cfm) Carb','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2093,14,'3x2V (840 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (840 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (840 cfm) Carb','Carburetor'), + (2094,1,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Wedge (10.5) CH','Cylinder Head'), + (2095,1,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB CJ TI Crankshaft','Crankshaft'), + (2096,1,'Wedge (8.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (8.7) Wedge CH','Cylinder Head'), + (2097,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'additional counterweights for better high rpm balancing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP TI Crankshaft','Crankshaft'), + (2098,1,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.5) Wedge CH','Cylinder Head'), + (2099,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Solid Lifter Valvetrain','Valve Train'), + (2100,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Camshaft','Camshaft'), + (2101,1,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.0) 1.67i/1.45e Wedge CH','Cylinder Head'), + (2102,1,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.0) Wedge CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2103,1,'Boss 302 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 (10.5) 2.23/1.72 Canted CH','Cylinder Head'), + (2104,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'known for weak side-skirts, which caused cracking and even breaking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 FA Piston','Pistons'), + (2105,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 EM','Exhaust Manifold'), + (2106,1,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.5) Wedge CH','Cylinder Head'), + (2107,1,'Wedge (10.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.7) Wedge CH','Cylinder Head'), + (2108,22,'2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter 2V (600 cfm) Carb','Carburetor'), + (2109,22,'AVS 4V (700 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (700 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (700 cfm) Carb','Carburetor'), + (2110,8,'Wedge (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (8.2) W CH','Cylinder Head'), + (2111,22,'AVS 4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (800 cfm) Carb','Carburetor'), + (2112,8,'Max Wedge III (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (11.0) CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2113,8,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.5) Wedge CH','Cylinder Head'), + (2114,0,'Horn La Cooca',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Specialty la coor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp. Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Specialty la coor','Horn'), + (2149,0,'Horn Reville',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Reville',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Reville','Horn'), + (2150,0,'Horn Dixie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Dixie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Dixie','Horn'), + (2151,0,'Horn Charge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Charge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Charge','Horn'), + (2152,61,'3.07 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'locking;normal driving applications',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana Differential (3.07) L','Rear End'), + (2153,78,'Cobra 427 S/C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shelby Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shelby 66 Cobra 427 S/C','Vehicle'), + (2154,78,'65 Shelby Cobra Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Hood','Hood'), + (2156,78,'65 Shelby Cobra Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Bumpers','Bumpers'), + (2157,0,'Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Light Window Tinting','Window Tinting'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2158,0,'Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'dark window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dark Window Tinting','Window Tinting'), + (2159,0,'Very Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a very dark window tint, so dark as to be nearly opaque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Very Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Very Dark Window Tinting','Window Tinting'), + (2160,0,'Horn Charge Short',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spec Horn Charge Short',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spec Horn Charge Short','Horn'), + (2161,0,'Hardtop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hardtop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hardtop','Top Style'), + (2162,0,'Chopped Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chopped Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chopped Top','Top Style'), + (2163,0,'Convertible Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Convertible Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Convertible Top','Top Style'), + (2164,0,'Vinyl Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vinyl Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vinyl Top','Top Style'), + (2179,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang','Vehicle'), + (2180,1,'Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 69 Torino GT Cobra','Vehicle'), + (2181,1,'Mach 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mach 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Mach 1','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2182,10,'Hemi Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Hemi Cuda','Vehicle'), + (2183,10,'440 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 440 Cuda','Vehicle'), + (2184,10,'AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 AAR Cuda','Vehicle'), + (2185,10,'340 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 340 Duster','Vehicle'), + (2186,3,'Impala SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala SS','Vehicle'), + (2187,3,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle SS','Vehicle'), + (2188,3,'Camaro RS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro RS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro RS','Vehicle'), + (2189,3,'Camaro Z-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro Z-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro Z-28','Vehicle'), + (2190,3,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle SS','Vehicle'), + (2191,3,'El Camino SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'El Camino SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino SS','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2192,3,'Nova SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nova SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova SS','Vehicle'), + (2193,5,'4-4-2 W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'442 W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 442 W-30','Vehicle'), + (2194,5,'Hurst 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hurst 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 Hurst 442','Vehicle'), + (2195,1,'4.10 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(4.10) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (4.10) Banjo Differential LD','Rear End'), + (2196,7,'Firebird Formula',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird Formula',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird Formula','Vehicle'), + (2197,7,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird','Vehicle'), + (2198,1,'3.90 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(3.90) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (3.90) Banjo Differential LD','Rear End'), + (2199,1,'3.31 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(3.31) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (3.31) Banjo Differential LD','Rear End'), + (2200,43,'ND (0.3) 12.5"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'high travel limit shock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.3) 12.5"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.3) Shock','Shocks'), + (2201,69,'100 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 100 lb/in Coil Springs','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2202,69,'110 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in Coil Springs','Springs'), + (2203,69,'150 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 150 lb/in leaf spring','Springs'), + (2204,69,'160 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in leaf spring','Springs'), + (2205,69,'170 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in leaf spring','Springs'), + (2206,69,'200 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 200 lb/in coil-over spring','Springs'), + (2207,69,'190 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 190 lb/in coil-over spring','Springs'), + (2208,69,'180 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 180 lb/in coil-over spring','Springs'), + (2209,69,'170 lb/in coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in coil-over spring','Spring'), + (2210,69,'160 lb/in coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in coil-over spring','Spring'), + (2211,69,'140 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 140 lb/in leaf spring','Spring'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2212,69,'130 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 130 lb/in leaf spring','Spring'), + (2213,69,'120 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 120 lb/in leaf spring','Spring'), + (2214,69,'110 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in leaf spring','Spring'), + (2215,5,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2','Vehicle'), + (2216,3,'70 Chevelle SS Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Chevelle SS Hood','Hood'), + (2217,3,'Camaro SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Camaro SS','Vehicle'), + (2218,6,'Stage I (10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I (10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I (10) CH','Cylinder Head'), + (2219,65,'47 Cadillac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-00','Wheel Rims'), + (2220,65,'49 Mercury',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-01','Wheel Rims'), + (2221,65,'53 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-02','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2222,65,'55 Buick',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-03','Wheel Rims'), + (2223,65,'Red Center Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-04','Wheel Rims'), + (2224,65,'57 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-05','Wheel Rims'), + (2225,65,'Twist Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-06','Wheel Rims'), + (2226,65,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-07','Wheel Rims'), + (2227,65,'58 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-08','Wheel Rims'), + (2228,65,'Sun Burst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-09','Wheel Rims'), + (2229,65,'Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-10','Wheel Rims'), + (2230,65,'64 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-11','Wheel Rims'), + (2231,65,'64 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-12','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2232,65,'Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-13','Wheel Rims'), + (2233,65,'Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-14','Wheel Rims'), + (2234,65,'59 Dodge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-15','Wheel Rims'), + (2235,65,'57 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-16','Wheel Rims'), + (2236,65,'57 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-17','Wheel Rims'), + (2237,65,'57 Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-18','Wheel Rims'), + (2238,65,'Twist Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-19','Wheel Rims'), + (2239,65,'Sun Burst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-20','Wheel Rims'), + (2240,65,'59 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-21','Wheel Rims'), + (2241,65,'59 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-22','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2242,65,'Ford Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-23','Wheel Rims'), + (2243,65,'59 Pontiac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-24','Wheel Rims'), + (2244,65,'60 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-25','Wheel Rims'), + (2245,65,'60 Edsel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-26','Wheel Rims'), + (2246,65,'60 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-27','Wheel Rims'), + (2247,65,'61 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-28','Wheel Rims'), + (2248,65,'61 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-29',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-29','Wheel Rims'), + (2249,65,'62 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-30','Wheel Rims'), + (2250,65,'63 Buick',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-31','Wheel Rims'), + (2251,65,'63 Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-32',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-32','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2252,65,'Spoke Tower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-33',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-33','Wheel Rims'), + (2253,65,'64 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-34','Wheel Rims'), + (2254,65,'64 Dodge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-35',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-35','Wheel Rims'), + (2255,65,'Super Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-36','Wheel Rims'), + (2256,65,'65 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-37',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-37','Wheel Rims'), + (2257,65,'65 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-38',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-38','Wheel Rims'), + (2258,65,'65 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-39','Wheel Rims'), + (2259,65,'65 Olds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-40','Wheel Rims'), + (2260,65,'65 Corvair',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-41',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-41','Wheel Rims'), + (2261,65,'Fake Spinner Covered',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-42','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2262,65,'55 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-43','Wheel Rims'), + (2263,65,'Knock Off Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-44','Wheel Rims'), + (2264,65,'67 Shelby',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-45','Wheel Rims'), + (2265,65,'66 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-46',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-46','Wheel Rims'), + (2266,65,'67 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-47','Wheel Rims'), + (2267,65,'Blue Dot Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-48','Wheel Rims'), + (2268,65,'Disc Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-49','Wheel Rims'), + (2269,65,'40 Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-50','Wheel Rims'), + (2270,65,'Blue Dot Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-51',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-51','Wheel Rims'), + (2271,65,'Accordian Full Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-52',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-52','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2272,65,'Full Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-53',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-53','Wheel Rims'), + (2273,65,'55 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-54','Wheel Rims'), + (2274,65,'Rallye Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-55','Wheel Rims'), + (2275,65,'Classic Cadillac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-56','Wheel Rims'), + (2276,65,'Compass Full Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-57',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-57','Wheel Rims'), + (2277,65,'57 Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-58',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-58','Wheel Rims'), + (2278,45,'Slot 11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-00','Wheel Rims'), + (2279,45,'Double Layer Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-01','Wheel Rims'), + (2280,45,'Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-02','Wheel Rims'), + (2281,45,'Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-03','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2282,45,'Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-04','Wheel Rims'), + (2283,45,'Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-05','Wheel Rims'), + (2284,45,'Slot 9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-06','Wheel Rims'), + (2285,45,'Fan Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-07','Wheel Rims'), + (2286,45,'Mild Twist Slot 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-08','Wheel Rims'), + (2287,45,'Twistar 11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-09','Wheel Rims'), + (2288,45,'Cheese Grater 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-10','Wheel Rims'), + (2289,45,'Bull Star 10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-11','Wheel Rims'), + (2290,45,'Chrome Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-12','Wheel Rims'), + (2291,45,'Twisted Fan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-13','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2292,45,'Twistar 9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-14','Wheel Rims'), + (2293,45,'Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-15','Wheel Rims'), + (2294,45,'Twisted Super Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-16','Wheel Rims'), + (2295,45,'Twisted Split Star 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-17','Wheel Rims'), + (2296,45,'Twisted Split Star 7 Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-18','Wheel Rims'), + (2297,45,'Mega Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-19','Wheel Rims'), + (2298,45,'Classy Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-20','Wheel Rims'), + (2299,45,'Fan Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-21','Wheel Rims'), + (2300,45,'Super Star 10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-22','Wheel Rims'), + (2301,45,'Fat Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-23','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2302,45,'Split Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-24','Wheel Rims'), + (2303,45,'Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-25','Wheel Rims'), + (2304,45,'Split Star 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-26','Wheel Rims'), + (2305,45,'Mega Slot Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-27','Wheel Rims'), + (2308,65,'63 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-00','Wheel Rims'), + (2309,65,'Rallye Super Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-01','Wheel Rims'), + (2310,65,'Classic 5 Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-02','Wheel Rims'), + (2311,65,'Pin Star',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-03','Wheel Rims'), + (2312,65,'Near Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-04','Wheel Rims'), + (2313,65,'Rally Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-05','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2314,65,'Classic Sport',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-06','Wheel Rims'), + (2315,65,'Gold 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-07','Wheel Rims'), + (2316,65,'Fordy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-08','Wheel Rims'), + (2317,65,'Magnum Star',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-09','Wheel Rims'), + (2318,65,'Honeycomb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-10','Wheel Rims'), + (2319,65,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-11','Wheel Rims'), + (2320,65,'Ringed Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-12','Wheel Rims'), + (2321,73,'Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-00','Wheel Rims'), + (2322,73,'Round 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-01','Wheel Rims'), + (2323,73,'Star Seven',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-02','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2324,73,'Star Burst 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-03','Wheel Rims'), + (2325,73,'Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-04','Wheel Rims'), + (2326,73,'Split Twist 5 Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-05','Wheel Rims'), + (2327,73,'Big Spoke 12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-06','Wheel Rims'), + (2328,73,'Triple Blade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-07','Wheel Rims'), + (2329,73,'Hex Center Wire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-08','Wheel Rims'), + (2330,73,'Fine Diamond Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-09','Wheel Rims'), + (2331,73,'Diamond Spoke Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-10','Wheel Rims'), + (2332,73,'Web 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-11','Wheel Rims'), + (2333,73,'Split Fat Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-12','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2334,73,'Narrow Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-13','Wheel Rims'), + (2335,73,'Two Tone Star Slot 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-14','Wheel Rims'), + (2336,73,'Twist Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-15','Wheel Rims'), + (2337,73,'Slot Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-16','Wheel Rims'), + (2338,73,'Black Rally Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-17','Wheel Rims'), + (2339,73,'Twisted Cheese Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-18','Wheel Rims'), + (2340,73,'Spoke Black Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-19','Wheel Rims'), + (2341,73,'Chrome Slot Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-20','Wheel Rims'), + (2342,73,'Centerline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-21','Wheel Rims'), + (2343,73,'Baby Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-22','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2344,73,'Chrome Reversed 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-23','Wheel Rims'), + (2345,73,'Gold Reversed 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-24','Wheel Rims'), + (2346,73,'SS Rally Chrome',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-25','Wheel Rims'), + (2347,73,'SS Rally Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-26','Wheel Rims'), + (2348,73,'Five Slot Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-27','Wheel Rims'), + (2349,73,'Five Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-28','Wheel Rims'), + (2350,73,'Torq-Thrust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-29',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-29','Wheel Rims'), + (2351,67,'Flow-rite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flow-rite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Flow-rite Air Cleaner','Air Cleaner'), + (2352,60,'Flared Velocity Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Velocity Stack','Air Scoop'), + (2353,60,'Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Stack (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tall Flared Velocity Stack','Air Scoop'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2354,60,'Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Straight Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Straight Velocity Stack','Air Scoop'), + (2355,60,'Dual Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Flared Velocity Stacks','Air Scoop'), + (2356,60,'Dual Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Tall Flared Velocity Stacks','Air Scoop'), + (2357,60,'Dual Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Straight Velocity Stacks','Air Scoop'), + (2358,60,'Triple Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Flared Velocity Stacks','Air Scoop'), + (2359,60,'Triple Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Tall Flared Velocity Stacks','Air Scoop'), + (2360,60,'Triple Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Straight Velocity Stacks','Air Scoop'), + (2361,60,'Quad Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Flared Velocity Stacks','Air Scoop'), + (2362,60,'Quad Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Tall Flared Velocity Stacks','Air Scoop'), + (2363,60,'Quad Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Straight Velocity Stacks','Air Scoop'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2364,60,'"8-barrel" Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Flared Velocity Stacks','Air Scoop'), + (2365,60,'"8-barrel" Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Tall Flared Velocity Stacks','Air Scoop'), + (2366,60,'"8-barrel" Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Straight Velocity Stacks','Air Scoop'), + (2367,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird (arcade)','Vehicle'), + (2369,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'57 Chevy (arcade)','Vehicle'), + (2370,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Bomber (arcade)','Vehicle'), + (2371,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Vic (arcade)','Vehicle'), + (2375,0,'Roll Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'roll bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic roll bar','Roll Bar'), + (2376,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Pontiac GTO modified for arcade Pro Racing','Vehicle'), + (2377,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Mustang modified for arcade Street Racing','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2378,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Ford Thunderbird modified for arcade Pro Racing','Vehicle'), + (2379,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1955 Buick Century modified for arcade Pro Racing','Vehicle'), + (2380,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1970 Chevrolet Chevelle modified for arcade Pro Racing','Vehicle'), + (2381,1,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Galaxie modified for arcade Pro Racing','Vehicle'), + (2382,9,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Dodge Charger modified for arcade Pro Racing','Vehicle'), + (2383,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Chevrolet Bel-Air modified for arcade Street Racing','Vehicle'), + (2384,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1953 Ford Crestline modified for arcade Street Racing','Vehicle'), + (2385,11,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 AMC AMX modified for arcade Street Racing','Vehicle'), + (2386,1,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Ford Ranchero modified for arcade Street Racing','Vehicle'), + (2387,3,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1967 Chevrolet Camaro modified for arcade Street Racing','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2388,7,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.0) Stock W CH','Cylinder Head'), + (2389,99,'195/60/15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 195/60/15 Bias Belted','Tires'), + (2390,73,'220 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 220 lb/in coil spring','Springs'), + (2391,73,'230 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 230 lb/in coil spring','Springs'), + (2392,73,'240 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 240 lb/in coil spring','Springs'), + (2393,73,'250 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 250 lb/in coil spring','Springs'), + (2394,73,'260 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 260 lb/in coil spring','Springs'), + (2395,73,'270 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 270 lb/in coil spring','Springs'), + (2396,73,'280 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 280 lb/in coil spring','Springs'), + (2397,73,'290 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 290 lb/in coil spring','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2398,73,'300 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 300 lb/in coil spring','Springs'), + (2399,73,'310 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 310 lb/in coil spring','Springs'), + (2400,73,'320 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 320 lb/in coil spring','Springs'), + (2401,73,'330 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 330 lb/in coil spring','Springs'), + (2402,73,'340 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 340 lb/in coil spring','Springs'), + (2403,73,'350 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 350 lb/in coil spring','Springs'), + (2404,73,'360 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 360 lb/in coil spring','Springs'), + (2405,73,'370 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 370 lb/in coil spring','Springs'), + (2406,73,'380 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 380 lb/in coil spring','Springs'), + (2407,73,'390 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 390 lb/in coil spring','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2408,73,'400 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 400 lb/in coil spring','Springs'), + (2409,73,'410 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 410 lb/in coil spring','Springs'), + (2410,73,'420 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 420 lb/in coil spring','Springs'), + (2411,73,'430 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 430 lb/in coil spring','Springs'), + (2412,73,'440 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 440 lb/in coil spring','Springs'), + (2413,73,'450 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 450 lb/in coil spring','Springs'), + (2414,73,'460 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 460 lb/in coil spring','Springs'), + (2415,73,'470 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 470 lb/in coil spring','Springs'), + (2416,73,'480 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 480 lb/in coil spring','Springs'), + (2417,73,'490 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 490 lb/in coil spring','Springs'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2418,73,'500 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 500 lb/in coil spring','Springs'), + (2419,73,'510 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 510 lb/in coil spring','Springs'), + (2420,73,'180 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 180 lb/in coil spring','Springs'), + (2421,1,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performs about halfway between a bone-stock camshaft and a high performance camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Special Stock Camshaft','Camshaft'), + (2422,0,'295/80/22.5 Bus Tire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bus Tire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'295/80/22.5 Bus Tire','Tires'), + (2424,3,'(8.5) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used in light trucks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB (8.5) Stock','Cylinder Head'), + (2425,2,'Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1949 Mercury Coupe (modified for QA use)','Vehicle'), + (2426,3,'Mod Bel Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Chevrolet Bel-Air (modified for QA use)','Vehicle'), + (2427,7,'Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1966 Pontiac GTO (modified for QA use)','Vehicle'), + (2428,4,'Mod Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1959 Cadillac Eldorado (modified for Qa use)','Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2429,3,'Mod Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1963 Chevrolet Stingray (modified for QA use)','Vehicle'), + (2430,1,'Mod Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Mustang (modified for QA use)','Vehicle'), + (2431,10,'Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1970 Plymouth Cuda (modified for QA use)','Vehicle'), + (2432,1,'Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'good mid-range power cam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Power (HP) Camshaft','Camshaft'), + (2433,64,'207/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 207/70/14 (D70-14) Bias Belted','Tires'), + (2434,64,'212/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 212/70/14 (E70-14) Bias Belted','Tires'), + (2435,64,'221/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 221/70/14 (F70-14) Bias Belted','Tires'), + (2436,64,'232/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 232/70/14 (G70-14) Bias Belted','Tires'), + (2437,64,'210/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 210/70/15 (E70-15) Bias Belted','Tires'), + (2438,64,'216/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 216/70/15 (F70-15) Bias Belted','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2439,64,'227/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 227/70/15 (G70-15) Bias Belted','Tires'), + (2440,64,'231/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 231/60/15 (F60-15) Bias Belted','Tires'), + (2441,64,'243/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 243/60/15 (G60-15) Bias Belted','Tires'), + (2442,64,'224/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 224/60/15 (E60-15) Bias Belted','Tires'), + (2443,6,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improved low end torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Special Stock Camshaft','Camshaft'), + (2444,4,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides good low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Midrange Camshaft','Camshaft'), + (2445,3,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Midrange Camshaft','Camshaft'), + (2446,3,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Special Stock Camshaft','Camshaft'), + (2447,8,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Midrange Camshaft','Camshaft'), + (2448,5,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Special Stock Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2449,7,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Midrange Camshaft','Camshaft'), + (2450,0,'Heavy Truck (22.5")',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Truck Rim (22.5")','Wheel Rims'), + (2451,70,'265-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB V8 265','Engine Block'), + (2452,70,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement cylinder head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB Wedge (8.0)','Cylinder Head'), + (2453,70,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB Stock Camshaft','Camshaft'), + (2454,70,'265 2V (140 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement engine assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 2V (140 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB 265 2V (140 hp)','Engine Assembly'), + (2455,11,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.0) W CH','Cylinder Head'), + (2456,11,'Stock (9.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.0) Large Valve W CH','Cylinder Head'), + (2457,11,'Stock (10.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.0) Large Valve W CH','Cylinder Head'), + (2458,11,'Dog Leg (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improved flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dog Leg (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Dog Leg (10.0) W CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2459,11,'360-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'360',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 360-V8','Engine Block'), + (2460,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock TI Rod','Connecting Rods'), + (2461,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 FS Crankshaft','Crankshaft'), + (2462,8,'426-V8 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi 426-V8','Engine Block'), + (2463,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Flat Top CA Piston','Pistons'), + (2464,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Special FS Rod','Connecting Rods'), + (2465,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi FS Rod','Connecting Rods'), + (2466,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi Crankshaft','Crankshaft'), + (2467,70,'Hemi (10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi (10.25) Cylinder Head','Cylinder Head'), + (2468,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Solid Lifter Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2469,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chyrsler Hemi Valvetrain','Valve Train'), + (2470,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Exhaust Manifold','Exhaust Manifold'), + (2471,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chrysler Hemi Exhaust Manifold','Exhaust Manifold'), + (2472,8,'Hemi Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Hydraulic Valvetrain','Valve Train'), + (2473,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Intake Manifold','Intake Manifold'), + (2474,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Camshaft','Camshaft'), + (2475,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Piston','Pistons'), + (2476,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Rods','Connecting Rods'), + (2477,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Crankshaft','Crankshaft'), + (2478,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2479,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Exhaust Manifold','Exhaust Manifold'), + (2480,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Cylinder Head','Cylinder Head'), + (2481,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB CI Stock Rod','Connecting Rods'), + (2482,6,'Stock 322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 322 Camshaft','Camshaft'), + (2483,6,'Recesssed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Recessed Piston','Pistons'), + (2484,6,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Flat Top Piston','Pistons'), + (2485,6,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Wedge Top Piston','Pistons'), + (2486,6,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Domed Top Piston','Pistons'), + (2487,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Exhaust Manifold','Exhaust Manifold'), + (2488,8,'273-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'273',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 273-V8','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2489,8,'360-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'360',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 360-V8','Engine Block'), + (2490,41,'Flat Top CSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Flat Top Chrysler SB Piston','Pistons'), + (2491,1,'390-V8 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'thicker main-bearing webs and caps; more reinforcing ribs; enlarged oil passages',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB V8 390 HP','Engine Block'), + (2492,1,'Stock CB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Dual Plane Intake Manifold','Intake Manifold'), + (2493,1,'Aluminum CB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Aluminum Dual Plane Intake Manifold','Intake Manifold'), + (2494,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Camshaft','Camshaft'), + (2495,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Camshaft','Camshaft'), + (2496,1,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block HO Camshaft','Camshaft'), + (2497,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Piston','Pistons'), + (2498,1,'Forged Aluminum C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Flat Top FA Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2499,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock FS Rod','Connecting Rods'), + (2500,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Rod','Connecting Rods'), + (2501,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Crankshaft','Crankshaft'), + (2502,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Crankshaft','Crankshaft'), + (2503,1,'Stock C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Hydraulic Valvetrain','Valve Train'), + (2504,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Valvetrain','Valve Train'), + (2505,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock EM','Exhaust Manifold'), + (2506,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock CI DP IM','Intake Manifold'), + (2507,1,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'better flow through larger passages',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ/SCJ CI DP IM','Intake Manifold'), + (2508,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2509,1,'Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Special Camshaft','Camshaft'), + (2510,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Piston','Pistons'), + (2511,1,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ FA Piston','Pistons'), + (2512,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Connecting Rod','Connecting Rods'), + (2513,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Crankshaft','Crankshaft'), + (2514,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Crankshaft','Crankshaft'), + (2515,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR Crankshaft','Crankshaft'), + (2516,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Valve Train','Valve Train'), + (2517,1,'Boss Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Hydraulic Valve Train','Valve Train'), + (2518,1,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 SCJ Valve Train','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2519,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock EM','Exhaust Manifold'), + (2520,1,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ/SCJ EM','Exhaust Manifold'), + (2521,1,'429-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'reinforced; high nodularity iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 Boss','Engine Block'), + (2522,1,'HP SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on 289 HP engine; beefier, with thicker rod bolts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Rod','Connecting Rods'), + (2523,1,'289-V8 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'higher nodularity iron with additional supports',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289-V8 HP','Engine Block'), + (2524,1,'302-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'higher nodularity iron with additional supports and four-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8 Boss','Engine Block'), + (2525,1,'HP SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB CI EM','Exhaust Manifold'), + (2526,1,'Cross Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cross Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Cross Boss DP IM','Intake Manifold'), + (2527,1,'Stock Economy Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Intake Manifold','Intake Manifold'), + (2528,13,'Tri-Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Y Tri-Power IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2529,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Camshaft','Camshaft'), + (2530,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Crankshaft','Crankshaft'), + (2531,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Piston','Pistons'), + (2532,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Connecting Rods','Connecting Rods'), + (2533,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Connecting Rods','Connecting Rods'), + (2534,1,'Stock Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Solid Valve Train','Valve Train'), + (2535,1,'Stock 272/292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Exhaust Manifold','Exhaust Manifold'), + (2536,6,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 400','Engine Block'), + (2537,6,'430-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'430',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 430','Engine Block'), + (2538,6,'Stock (10.25) BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock (10.25) CH','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2539,3,'427-V8 ZL1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'all-aluminum block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ZL1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 427 ZL1','Engine Block'), + (2540,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W CI DP Intake Manifold','Intake Manifold'), + (2541,3,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Aluminum DP Intake Manifold','Intake Manifold'), + (2542,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock Camshaft','Camshaft'), + (2543,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HP Camshaft','Camshaft'), + (2544,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Camshaft','Camshaft'), + (2545,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock FS Crankshaft','Crankshaft'), + (2546,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock Valve Train','Valve Train'), + (2547,3,'Super Turbo-Thrust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'STT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W STT Solid Lifter Valve Train','Valve Train'), + (2548,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2549,3,'Z11 W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Cylinder Head','Cylinder Head'), + (2550,6,'364-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 364-V8','Engine Block'), + (2551,6,'401-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 401-V8','Engine Block'), + (2552,6,'425-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 425-V8','Engine Block'), + (2553,6,'300-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 300','Engine Block'), + (2554,6,'340-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 340','Engine Block'), + (2555,4,'365-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'365',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 365','Engine Block'), + (2556,4,'429-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 429','Engine Block'), + (2557,3,'HP W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HP Exhaust Manifold','Exhaust Manifold'), + (2558,1,'HP C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block HP EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2559,79,'Compressor (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor (7.5) Cylinder Head','Cylinder Head'), + (2560,79,'Compressor Extra (7.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor (7.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor (7.8) Cylinder Head','Cylinder Head'), + (2561,79,'Compressor Chief (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor Chief (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor Chief (8.0) Cylinder Head','Cylinder Head'), + (2562,79,'Compressor King (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor King (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor King (8.2) Cylinder Head','Cylinder Head'), + (2563,6,'Nailhead (8.75) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (8.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (8.75) Cylinder Head','Cylinder Head'), + (2564,6,'Nailhead (9.0) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (9.0) Cylinder Head','Cylinder Head'), + (2565,6,'Nailhead (10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (10.25) Cylinder Head','Cylinder Head'), + (2566,6,'Nailhead (10.5) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (10.5) Cylinder Head','Cylinder Head'), + (2567,4,'Stock (9.75) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac (9.75) Wedge Cylinder Head','Cylinder Head'), + (2568,4,'Stock (10.0) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac (10.0) Wedge Cylinder Head','Cylinder Head'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2569,50,'Hemi (10.5) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi (10.5) Canted Cylinder Head','Cylinder Head'), + (2570,50,'Hemi (10.75) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi (10.75) Canted Cylinder Head','Cylinder Head'), + (2571,80,'Breezer Aluminum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Breezer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Breezer Aluminum DP IM','Intake Manifold'), + (2572,80,'Tornado Aluminum SP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tornado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Tornado Aluminum SP IM','Intake Manifold'), + (2573,80,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick SB Aluminum DP IM','Intake Manifold'), + (2574,79,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Alumimum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Aluminum DP IM','Intake Manifold'), + (2575,80,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Power Plus Camshaft','Camshaft'), + (2576,80,'Nailhead HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead HP Camshaft','Camshaft'), + (2577,79,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Power Plus Camshaft','Camshaft'), + (2578,79,'L-Head HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head HP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2579,80,'Nailhead Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance EM','Exhaust Manifold'), + (2580,79,'L-Head Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Performance EM','Exhaust Manifold'), + (2581,6,'SB Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Performance EM','Exhaust Manifold'), + (2582,6,'SB Tube Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Small Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB EM Small Tube Headers','Exhaust Manifold'), + (2583,79,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac Performance EM','Exhaust Manifold'), + (2584,1,'Flathead Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Performance EM','Exhaust Manifold'), + (2585,5,'SB Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Performance EM','Exhaust Manifold'), + (2586,72,'13 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic Drum Brake','Brakes'), + (2587,72,'13 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic Disk Brake','Brakes'), + (2588,72,'13 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic HT Drum Brake','Brakes'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2589,72,'13 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic HT Disk Brake','Brakes'), + (2590,72,'13 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Metallic Disk Brake','Brakes'), + (2591,72,'13 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Semi-Metallic Disk Brake','Brakes'), + (2592,73,'13 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 13 x 2 Metallic Disk ABS Brake','Brakes'), + (2593,73,'14 x 2 Org Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic Drum Brake','Brakes'), + (2594,73,'14 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic Disk Brake','Brakes'), + (2595,73,'14 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic HT Drum Brake','Brakes'), + (2596,73,'14 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic HT Disk Brake','Brakes'), + (2597,71,'9 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Semi-Metallic Disk Brakes','Brakes'), + (2598,71,'9 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Metallic Disk ABS Brakes','Brakes'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2599,101,'205/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/40/17VR Performance','Tires'), + (2600,101,'225/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/50/15VR Performance','Tires'), + (2601,101,'205/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/50/15VR Performance','Tires'), + (2602,101,'195/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/50/15VR Performance','Tires'), + (2603,100,'225/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/50/15 Radial','Tires'), + (2604,100,'205/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/50/15 Radial','Tires'), + (2605,100,'195/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/50/15 Radial','Tires'), + (2606,100,'205/55/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/55/15 Radial','Tires'), + (2607,100,'195/55/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/55/15 Radial','Tires'), + (2608,100,'215/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/60/15 Radial','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2609,100,'205/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/60/15 Radial','Tires'), + (2610,100,'195/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/60/15 Radial','Tires'), + (2611,100,'205/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/65/15 Radial','Tires'), + (2612,100,'185/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/65/15 Radial','Tires'), + (2613,100,'195/60/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/60/14 Radial','Tires'), + (2614,100,'185/60/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/60/14 Radial','Tires'), + (2615,100,'195/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/65/14 Radial','Tires'), + (2616,100,'175/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 175/65/14 Radial','Tires'), + (2617,1,'429-V8 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 NASCAR','Engine Block'), + (2618,1,'429-V8 NASCAR Mg',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'highly experimental magnesium block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR Mg',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 NASCAR Mg','Engine Block'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2619,5,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Wedge Top (0.5) Piston','Pistons'), + (2620,1,'FH Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Wedge Top Piston','Pistons'), + (2621,1,'Flathead Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Domed Top Piston','Pistons'), + (2622,8,'Hemi Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Recessed FA Piston','Pistons'), + (2623,8,'Hemi Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Wedge FA Piston','Pistons'), + (2624,4,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Wedge Top Piston','Pistons'), + (2625,4,'Stock FA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock FA Piston','Pistons'), + (2626,4,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Wedge FA Piston','Pistons'), + (2627,6,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge Top Piston','Pistons'), + (2628,6,'Nailhead Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Solid Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2629,6,'SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Solid Valvetrain','Valve Train'), + (2630,6,'BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Solid Valvetrain','Valve Train'), + (2631,79,'L-Head Flow Control',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flow Control',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Hydraulic Valvetrain','Valve Train'), + (2632,4,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Solid Valvetrain','Valve Train'), + (2633,80,'Flathead Super Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Ford Flathead Hydraulic Valvetrain','Valve Train'), + (2634,5,'SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Solid Valvetrain','Valve Train'), + (2635,5,'BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Solid Valvetrain','Valve Train'), + (2636,5,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB W-31 FS Rod','Connecting Rods'), + (2637,13,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Flathead Stock FS Rod','Connecting Rods'), + (2638,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chrysler Hemi Rod','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2639,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chrysler Hemi Connecting Rod','Connecting Rods'), + (2640,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chrysler Hemi Rod','Connecting Rods'), + (2641,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chrysler Hemi Rod','Connecting Rods'), + (2642,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chrysler SB Rod','Connecting Rods'), + (2643,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet W Rod','Connecting Rods'), + (2644,3,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock FS Rod','Connecting Rods'), + (2645,80,'Nailhead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Nailhead Lightweight Crankshaft','Crankshaft'), + (2646,80,'Buick SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick SB Lightweight Crankshaft','Crankshaft'), + (2647,80,'Buick BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick BB Lightweight Crankshaft','Crankshaft'), + (2648,79,'L-Head Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Lightweight Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2649,79,'Cadillac Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac Lightweight Crankshaft','Crankshaft'), + (2650,4,'Stock BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock CI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock CI Rod','Connecting Rods'), + (2651,4,'Forged Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head FS Rod','Connecting Rods'), + (2652,6,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB FS Stock Rod','Connecting Rods'), + (2653,6,'Nailhead 364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead 364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 364 FS Rod','Connecting Rods'), + (2654,50,'Big W Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Chevy W Lightweight Crankshaft','Crankshaft'), + (2655,50,'Hemi Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi Lightweight Crankshaft','Crankshaft'), + (2656,79,'FH Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Ford Flathead Lightweight Crankshaft','Crankshaft'), + (2657,80,'Olds SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Olds SB Lightweight Crankshaft','Crankshaft'), + (2658,80,'Olds BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Olds BB Lightweight Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2659,44,'HiPo Adept',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HiPo Adept',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blinsky HiPo Adept Domed Aluminum Piston','Pistons'), + (2660,97,'245/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/45/17ZR High Performance','Tires'), + (2661,97,'225/60/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/60/16ZR High Performance','Tires'), + (2662,81,'671',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'671',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 671 Blower','Blower'), + (2663,81,'871',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'871',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 871 Blower','Blower'), + (2664,81,'1071',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1071',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 1071 Blower','Blower'), + (2665,13,'Performer IAS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer IAS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer IAS Shock','Shocks'), + (2666,13,'Street Stock Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Stock Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Street Stock Race Shock','Shocks'), + (2667,13,'24 Stud',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'24 Stud',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Flathead Cylinder Head','Cylinder Head'), + (2668,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Chevrolet W Exhaust Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2669,13,'TES Exh. Headers 385',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Ford 385 Exhaust Headers','Exhaust Manifold'), + (2670,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Pontiac Exhaust Headers','Exhaust Manifold'), + (2671,13,'Cat-Back System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cat-Back',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Cat-Back System Exhaust Pipes','Exhaust Pipe'), + (2672,18,'Fat Shiny',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fat Shiny',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fat Shiny Exhaust Pipe','Exhaust Pipe'), + (2673,13,'AB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AB Coil Spring','Springs'), + (2674,13,'AS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AS Coil Spring','Springs'), + (2675,13,'AGB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AGB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AGB Coil Spring','Springs'), + (2676,13,'M',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock M Coil Spring','Springs'), + (2677,13,'F',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock F Coil Spring','Springs'), + (2678,13,'Tubular Panhard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tubular Panhard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Tubular Panhard Rod','Sway Bar'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2679,13,'Anti-Hop Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Anti-Hop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Anti-Hop Bar','Traction Bar'), + (2680,13,'Pro-Flo Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Round Air Cleaner','Air Cleaner'), + (2681,13,'Pro-Flo Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Oval Air Cleaner','Air Cleaner'), + (2682,13,'Pro-Flo Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Triangular Air Cleaner','Air Cleaner'), + (2683,13,'Elite Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Round Air Cleaner','Air Cleaner'), + (2684,13,'Elite Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Oval Air Cleaner','Air Cleaner'), + (2685,13,'Elite Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Triangular Air Cleaner','Air Cleaner'), + (2686,13,'Victor Series',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Victor Series',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Victor Series Cooling System','Cooling System'), + (2687,13,'Performer 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (500 cfm) Carburetor','Carburetor'), + (2688,13,'Performer 4V (750 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (750 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (750 cfm) Carburetor','Carburetor'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2689,13,'Q-Jet (795 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Q-Jet (795 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Q-Jet (795 cfm) Carburetor','Carburetor'), + (2690,13,'Q-Jet (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Q-Jet (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Q-Jet (850 cfm) Carburetor','Carburetor'), + (2691,13,'Torker AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker AMC IM','Intake Manifold'), + (2692,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer AMC IM','Intake Manifold'), + (2693,13,'Pro-Flo EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo EFI System','Carburetor'), + (2694,14,'Excelerator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Excelerator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Excelerator Ignition','Electrical System'), + (2695,14,'Dominator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator Ignition','Electrical System'), + (2696,14,'Avenger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Avenger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Avenger Ignition','Electrical System'), + (2697,14,'SystemMax Chevrolet BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SystemMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley SystemMax Chevrolet BB CH','Cylinder Head'), + (2698,1,'E4 Low Range',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'E4 Low Range',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'E4 Low Range Ford Y Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2699,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus AMC Camshaft','Camshaft'), + (2700,11,'WG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'WG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC WG Stock+ Camshaft','Camshaft'), + (2701,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Olds SB HP Cam','Camshaft'), + (2702,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Olds BB HP Cam','Camshaft'), + (2703,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer AMC Hydraulic Lifters','Valve Train'), + (2704,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chevrolet BB Hydraulic Lifters','Valve Train'), + (2705,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chevrolet SB Hydraulic Lifters','Valve Train'), + (2706,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chrysler BB Hydraulic Lifters','Valve Train'), + (2707,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chrysler SB Hydraulic Lifters','Valve Train'), + (2708,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford 385 Hydraulic Lifters','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2709,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford BB Hydraulic Lifters','Valve Train'), + (2710,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford C Hydraulic Lifters','Valve Train'), + (2711,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford SB Hydraulic Lifters','Valve Train'), + (2712,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Oldsmobile BB Hydraulic Lifters','Valve Train'), + (2713,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Oldsmobile SB Hydraulic Lifters','Valve Train'), + (2714,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Pontiac Hydraulic Lifters','Valve Train'), + (2715,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford BB VT','Valve Train'), + (2716,21,'Energizer BSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Buick SB Valvetrain','Valve Train'), + (2717,21,'Energizer CBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet BB Valvetrain','Valve Train'), + (2718,21,'Energizer CSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet SB Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2719,21,'Energizer CW',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet W Valvetrain','Valve Train'), + (2720,21,'Energizer ChBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chrysler BB Valvetrain','Valve Train'), + (2721,21,'Energizer ChSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chrysler SB Valvetrain','Valve Train'), + (2722,21,'Energizer F385',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford 385 Valvetrain','Valve Train'), + (2723,21,'Energizer FC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford C Valvetrain','Valve Train'), + (2724,21,'Energizer FSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford SB Valvetrain','Valve Train'), + (2725,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter AMC Valvetrain','Valve Train'), + (2726,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Buick SB Valvetrain','Valve Train'), + (2727,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet BB Valvetrain','Valve Train'), + (2728,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet SB Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2729,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet W Valvetrain','Valve Train'), + (2730,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler BB Valvetrain','Valve Train'), + (2731,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler Hemi Valvetrain','Valve Train'), + (2732,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler SB Valvetrain','Valve Train'), + (2733,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford 385 Valvetrain','Valve Train'), + (2734,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford C Valvetrain','Valve Train'), + (2735,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford SB Valvetrain','Valve Train'), + (2736,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller AMC VT','Valve Train'), + (2737,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet BB VT','Valve Train'), + (2738,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet SB VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2739,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet W VT','Valve Train'), + (2740,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler BB VT','Valve Train'), + (2741,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler Hemi VT','Valve Train'), + (2742,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler SB VT','Valve Train'), + (2743,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford 385 VT','Valve Train'), + (2744,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford C VT','Valve Train'), + (2745,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford SB VT','Valve Train'), + (2746,21,'Energizer OBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Olds BB Valvetrain','Valve Train'), + (2747,21,'Energizer OSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Olds SB Valvetrain','Valve Train'), + (2748,21,'Energizer Pon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Pontiac Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2749,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Olds BB Valvetrain','Valve Train'), + (2750,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Olds SB Valvetrain','Valve Train'), + (2751,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Pontiac Valvetrain','Valve Train'), + (2752,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Olds BB VT','Valve Train'), + (2753,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Olds SB VT','Valve Train'), + (2754,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Pontiac VT','Valve Train'), + (2755,11,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC NASCAR CH','Cylinder Head'), + (2756,16,'6V (600 cfm) R',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'6V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 6V (600 cfm) Carb','Carburetor'), + (2757,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Jet Stream Headers','Exhaust Manifold'), + (2758,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Buick Nailhead Jet Stream Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2759,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac L-Head Jet Stream Headers','Exhaust Manifold'), + (2760,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac Jet Stream Headers','Exhaust Manifold'), + (2761,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy SB Jet Stream Headers','Exhaust Manifold'), + (2762,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Jet Stream Headers','Exhaust Manifold'), + (2763,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Flathead Jet Stream Headers','Exhaust Manifold'), + (2764,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Jet Stream Headers','Exhaust Manifold'), + (2765,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Y Block Jet Stream Headers','Exhaust Manifold'), + (2766,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Cleveland Jet Stream Headers','Exhaust Manifold'), + (2767,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Oldsmobile SB Jet Stream Headers','Exhaust Manifold'), + (2768,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Oldsmobile BB Jet Stream Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2769,82,'Hemi Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler Hemi Jet Stream Headers','Exhaust Manifold'), + (2770,11,'401-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 401-V8','Engine Block'), + (2771,11,'Stock (9.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.5) 401 W CH','Cylinder Head'), + (2772,11,'Stock (8.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (8.5) 401 W CH','Cylinder Head'), + (2773,38,'Aluminum AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Aluminum AMC IM','Intake Manifold'), + (2774,1,'9" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.08) Differential','Rear End'), + (2775,1,'9" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.27) Differential','Rear End'), + (2776,1,'9" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.45) Differential','Rear End'), + (2777,1,'9" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.55) Differential','Rear End'), + (2778,1,'9" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.73) Differential','Rear End'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2779,1,'9" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (4.10) Differential','Rear End'), + (2780,1,'8" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.08) Differential','Rear End'), + (2781,1,'8" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.27) Differential','Rear End'), + (2782,1,'8" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.45) Differential','Rear End'), + (2783,1,'8" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.55) Differential','Rear End'), + (2784,1,'8" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.73) Differential','Rear End'), + (2785,1,'8" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (4.10) Differential','Rear End'), + (2786,15,'10-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (2.73) Differential','Rear End'), + (2787,15,'10-bolt (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.08) Differential','Rear End'), + (2788,15,'10-bolt (3.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.36) Differential','Rear End'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2789,15,'10-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.55) Differential','Rear End'), + (2790,15,'10-bolt (3.70)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.70)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.70) Differential','Rear End'), + (2791,15,'12-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (2.73) Differential','Rear End'), + (2792,15,'12-bolt (3.07)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.07)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.07) Differential','Rear End'), + (2793,15,'12-bolt (3.31)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.31)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.31) Differential','Rear End'), + (2794,15,'12-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.55) Differential','Rear End'), + (2795,15,'12-bolt (3.55) Police',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.55) Police',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.55) Police Differential','Rear End'), + (2796,15,'12-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.73) Differential','Rear End'), + (2797,15,'12-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (4.10) Differential','Rear End'), + (2798,67,'14-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (4.10) Differential','Rear End'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2799,67,'14-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (3.73) Differential','Rear End'), + (2800,67,'14-bolt (3.42)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (3.42)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (3.42) Differential','Rear End'), + (2801,67,'Helix 3 Spd (M)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Helix (M)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Helix 3 Spd (M)','Transmission'), + (2802,67,'Helix 3 Spd (A)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Helix (A)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Helix 3 Spd (A)','Transmission'), + (2803,1,'Stock Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock 4V IM','Intake Manifold'), + (2804,1,'Dual Quad Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 2x4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock 2x4 IM','Intake Manifold'), + (2805,1,'Supercharger Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Blown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Supercharger IM','Intake Manifold'), + (2806,13,'3x2V Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2 Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 3x2 IM','Intake Manifold'), + (2807,13,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 4V Aluminum IM','Intake Manifold'), + (2808,13,'Aluminum Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimum Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 4V Aluminum Single','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2809,38,'3x2V Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block 3x2 Aluminum IM','Intake Manifold'), + (2810,38,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block Aluminum 4V IM','Intake Manifold'), + (2811,38,'Aluminum Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimum Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block Aluminum 4V Single IM','Intake Manifold'), + (2812,83,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Aluminum 4V IM','Intake Manifold'), + (2813,83,'Special Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Special 4V IM','Intake Manifold'), + (2814,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Lightning 4V Single IM','Intake Manifold'), + (2815,83,'HiBoy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HiBoy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block HiBoy Tunnel Ram IM','Intake Manifold'), + (2816,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Midget Tunnel Ram IM','Intake Manifold'), + (2817,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Tunnel Ram IM','Intake Manifold'), + (2818,1,'Factory Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Factory Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Factory Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2819,83,'Free Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Free Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Free Flow EM','Exhaust Manifold'), + (2820,83,'Free Flow Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Free Flow Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Free Flow Aluminum EM','Exhaust Manifold'), + (2821,83,'Street King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Street King Small Headers','Exhaust Manifold'), + (2822,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Small Headers','Exhaust Manifold'), + (2823,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Track King Large Headers','Exhaust Manifold'), + (2824,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Air Stream EM','Exhaust Manifold'), + (2825,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Air Stream Aluminum EM','Exhaust Manifold'), + (2826,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Super Stream Large Headers','Exhaust Manifold'), + (2827,83,'Street King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Street King Solid Valvetrain','Valve Train'), + (2828,83,'Strip King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Solid Valvetrain','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2829,83,'Race Pro Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Pro Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Race Pro Roller Valvetrain','Valve Train'), + (2830,84,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Y Block Speed Lifter Solid Valvetrain','Valve Train'), + (2831,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Y Block Super Lift Solid Valvetrain','Valve Train'), + (2832,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Solid Valvetrain','Valve Train'), + (2833,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Performance Solid Valvetrain','Valve Train'), + (2834,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Race Roller Valvetrain','Valve Train'), + (2835,87,'Wedge Top (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.15) Piston','Pistons'), + (2836,87,'Wedge Top (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.35) Piston','Pistons'), + (2837,87,'Wedge Top (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.4) Piston','Pistons'), + (2838,87,'Wedge Top (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.2) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2839,87,'Wedge Top (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.3) Piston','Pistons'), + (2840,86,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.1) Piston','Pistons'), + (2841,86,'Domed (.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.45) Piston','Pistons'), + (2842,86,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.2) Piston','Pistons'), + (2843,86,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.35) Piston','Pistons'), + (2844,86,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.5) Piston','Pistons'), + (2845,88,'Super 292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block Super 292 Crankshaft','Crankshaft'), + (2846,88,'Super 312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird Specia',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely y Block Super 312 Crankshaft','Crankshaft'), + (2847,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Marathon Crankshaft','Crankshaft'), + (2848,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Lightweight Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2849,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Champion Crankshaft','Crankshaft'), + (2851,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Stump Puller Crankshaft','Crankshaft'), + (2852,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Street Max Crankshaft','Crankshaft'), + (2853,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Super Max Crankshaft','Crankshaft'), + (2854,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Stump Puller Connecting Rods','Connecting Rods'), + (2855,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Street Max Connecting Rods','Connecting Rods'), + (2856,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Super Max Connecting Rods','Connecting Rods'), + (2857,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Marathon Connecting Rods','Connecting Rods'), + (2858,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Lightweight Connecting Rods','Connecting Rods'), + (2859,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Champion Connecting Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2860,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Legend Connecting Rods','Connecting Rods'), + (2861,88,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block Extra Y Connecting Rods','Connecting Rods'), + (2862,88,'T-Bird Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block T-Bird Special Connecting Rods','Connecting Rods'), + (2863,89,'Street 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 39 Camshaft','Camshaft'), + (2864,89,'Street 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 40 Camshaft','Camshaft'), + (2865,89,'Super 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 39 HP Camshaft','Camshaft'), + (2866,89,'Super 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 40 HP Camshaft','Camshaft'), + (2867,89,'Super 43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 43 HP Camshaft','Camshaft'), + (2868,89,'Super 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 44 HP Camshaft','Camshaft'), + (2869,89,'Ultra 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Ultra 44 DP Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2870,89,'Ultra 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Ultra 48 DP Camshaft','Camshaft'), + (2871,89,'Street 36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 36 Camshaft','Camshaft'), + (2872,9,'Charger R/T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (2873,1,'Boss 302 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 (10.5) 2.19/1.72 Canted CH','Cylinder Head'), + (2874,1,'TP (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB TP Wedge CH','Cylinder Head'), + (2875,1,'Wedge (9.0) 1.84',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.0) 1.84i/1.54e Wedge CH','Cylinder Head'), + (2876,1,'70 Mustang Factory Scoop Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'70 Mustang Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Factory Scoop Hood','Hood'), + (2877,90,'Big Bad AMX - AI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (2878,90,'Chevrolet Corvette - AI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (2879,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Vortex Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2880,91,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Screamer Dual Plane IM','Intake Manifold'), + (2881,91,'Scooter Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Scooter Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Scooter Dual Plane IM','Intake Manifold'), + (2882,91,'Scooter Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Scooter Alum. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Scooter Aluminum Dual Plane IM','Intake Manifold'), + (2883,92,'Classic Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Dual Plane IM','Intake Manifold'), + (2884,92,'Street Classic Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Classic Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Street Classic Dual Plane IM','Intake Manifold'), + (2885,92,'Classic Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Single Plane IM','Intake Manifold'), + (2886,92,'Super Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Super Single Plane IM','Intake Manifold'), + (2887,91,'Vortex Ultra Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Ultra Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Vortex Ultra Light Single Plane IM','Intake Manifold'), + (2888,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Power Tower Tunnel Ram IM','Intake Manifold'), + (2889,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Ultimate Tunnel Ram IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2890,92,'Classic Low Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Low Tunnel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Low Rise Tunnel Ram IM','Intake Manifold'), + (2891,92,'Classic Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic High Tunnel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic High Rise Tunnel Ram IM','Intake Manifold'), + (2892,91,'Screamer Ultra Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Ultra Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Screamer Ultra Light Dual Plane IM','Intake Manifold'), + (2893,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Rumble Pipe Small Headers','Exhaust Manifold'), + (2894,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Street Lion Small Headers','Exhaust Manifold'), + (2895,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Window Rattler Larger Headers','Exhaust Manifold'), + (2896,92,'Masterpiece',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Masterpiece',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Masterpiece EM','Exhaust Manifold'), + (2897,92,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Blueprint EM','Exhaust Manifold'), + (2898,92,'Beach Racer Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Beach Racer Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Beach Racer Small Headers','Exhaust Manifold'), + (2899,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Street Mod EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2900,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Wedge (.15) Piston','Pistons'), + (2901,41,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Wedge (.35) Piston','Pistons'), + (2902,41,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Domed (.2) Piston','Pistons'), + (2903,41,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Domed (.3) Piston','Pistons'), + (2904,92,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.1) Piston','Pistons'), + (2905,92,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.2) Piston','Pistons'), + (2906,92,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.3) Piston','Pistons'), + (2907,92,'Domed (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.4) Piston','Pistons'), + (2908,92,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.5) Piston','Pistons'), + (2909,92,'Domed (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.6) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2910,92,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.75) Piston','Pistons'), + (2911,84,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Speed Lifter Solid Valvetrain','Valve Train'), + (2912,84,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Street Plus Hydraulic Valvetrain','Valve Train'), + (2913,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Premier Roller Valvetrain','Valve Train'), + (2914,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Performance Solid Valvetrain','Valve Train'), + (2915,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Performance Hydraulic Valvetrain','Valve Train'), + (2916,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Race Roller Valvetrain','Valve Train'), + (2917,6,'Stock 364 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'364 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 364 DP IM','Intake Manifold'), + (2918,6,'Stock 401/425 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401/425 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 401/425 DP IM','Intake Manifold'), + (2919,80,'Improved Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Improved Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Improved DP IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2920,80,'Breezer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Breezer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Breezer DP IM','Intake Manifold'), + (2921,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port DP IM','Intake Manifold'), + (2922,93,'Street Port Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Alum.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port Aluminum DP IM','Intake Manifold'), + (2923,80,'Tornado Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tornado Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Tornado SP IM','Intake Manifold'), + (2924,93,'Street Port Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port SP IM','Intake Manifold'), + (2925,80,'Wind Tunnel Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wind Tunnel Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Wind Tunnel SP IM','Intake Manifold'), + (2926,80,'Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Cyclone Tunnel Ram IM','Intake Manifold'), + (2927,80,'Hurricane Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hurricane Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Hurricane Tunnel Ram IM','Intake Manifold'), + (2928,80,'Super Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Super Cyclone Tunnel Ram IM','Intake Manifold'), + (2929,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Performance DP IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2930,83,'Perf. Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Performance Aluminum DP IM','Intake Manifold'), + (2931,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Road Squire DP IM','Intake Manifold'), + (2932,93,'Road Squire LW Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rd. Squire Alum. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Road Squire Aluminum SP IM','Intake Manifold'), + (2933,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Centurion DP IM','Intake Manifold'), + (2934,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Street Knight SP IM','Intake Manifold'), + (2935,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Lightning SP IM','Intake Manifold'), + (2936,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Commander SP IM','Intake Manifold'), + (2937,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Emperor Tunnel Ram IM','Intake Manifold'), + (2938,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Midget Tunnel Ram IM','Intake Manifold'), + (2939,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Strip King Tunnel Ram IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2940,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Street Lord Tunnel Ram IM','Intake Manifold'), + (2941,41,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed (.3) Piston','Pistons'), + (2942,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed (.75) Piston','Pistons'), + (2943,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.5) Piston','Pistons'), + (2944,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.15) Piston','Pistons'), + (2945,41,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.4) Piston','Pistons'), + (2946,86,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.2) Piston','Pistons'), + (2947,86,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.35) Piston','Pistons'), + (2948,86,'Domed (.65)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.65)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.65) Piston','Pistons'), + (2949,87,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Wedge (.3) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2950,87,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Wedge (.6) Piston','Pistons'), + (2951,87,'Recessed (-.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Recessed (-.45) Piston','Pistons'), + (2952,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Recessed (-.25) Piston','Pistons'), + (2953,86,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Recessed (-.15) Piston','Pistons'), + (2954,86,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Domed (.3) Piston','Pistons'), + (2955,87,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Domed (.25) Piston','Pistons'), + (2956,86,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Domed (.5) Piston','Pistons'), + (2957,86,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Wedge (.25) Piston','Pistons'), + (2958,87,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Wedge (.35) Piston','Pistons'), + (2959,86,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Wedge (.15) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2960,87,'Recessed (-.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Recessed (-.2) Piston','Pistons'), + (2961,86,'Recessed (-.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Recessed (-.1) Piston','Pistons'), + (2962,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Recessed (-.25) Piston','Pistons'), + (2963,86,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Recessed (-.35) Piston','Pistons'), + (2964,86,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Flat Top Piston','Pistons'), + (2965,87,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Flat Top Piston','Pistons'), + (2966,88,'Century Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Century Special Rods','Connecting Rods'), + (2967,88,'Riviera Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Riviera Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Riviera Special Rods','Connecting Rods'), + (2968,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Champion Rods','Connecting Rods'), + (2969,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Legend Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2970,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Lightweight Rods','Connecting Rods'), + (2971,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Marathon Rods','Connecting Rods'), + (2972,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Stump Puller Rods','Connecting Rods'), + (2973,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Street Max Rods','Connecting Rods'), + (2974,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Super Max Rods','Connecting Rods'), + (2975,88,'T351 Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T351 Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Ford SB T351 Billet Rods','Connecting Rods'), + (2976,88,'Power I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Ford SB Power I Rods','Connecting Rods'), + (2977,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Champion Crankshaft','Crankshaft'), + (2978,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Super Max Crankshaft','Crankshaft'), + (2979,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Street Max Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2980,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Stump Puller Crankshaft','Crankshaft'), + (2981,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Super Max Crankshaft','Crankshaft'), + (2982,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Street Max Crankshaft','Crankshaft'), + (2983,88,'Super 300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Super 300 Crankshaft','Crankshaft'), + (2984,88,'Super 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Super 400 Crankshaft','Crankshaft'), + (2985,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Champion Crankshaft','Crankshaft'), + (2986,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Lightweight Crankshaft','Crankshaft'), + (2987,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Marathon Crankshaft','Crankshaft'), + (2988,84,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Super Lift VT','Valve Train'), + (2989,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Performance Hydraulic VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (2990,80,'Craftsmith Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Roller VT','Valve Train'), + (2991,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Race Roller VT','Valve Train'), + (2992,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Solid VT','Valve Train'), + (2993,84,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Buick Nailhead Speed Lift VT','Valve Train'), + (2994,80,'Craftsmith Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Hydraulic VT','Valve Train'), + (2995,80,'Craftsmith Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Solid VT','Valve Train'), + (2996,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Street King VT','Valve Train'), + (2997,83,'Strip King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Strip King VT','Valve Train'), + (2998,84,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford SB Speed Lift VT','Valve Train'), + (2999,84,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford SB Super Lift VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3000,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Solid VT','Valve Train'), + (3001,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Performance Hydraulic VT','Valve Train'), + (3002,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Race Roller VT','Valve Train'), + (3003,90,'AI 57 Vette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3004,90,'AI 69 Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3005,90,'AI 1964 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3006,90,'AI 1949 Mercury Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3007,90,'AI 1966 Shelby Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3008,1,'AI 70 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3009,3,'AI Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3010,1,'AI 1953 Ford Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3011,3,'AI 1958 Chevy Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3012,3,'AI Chevy Bel Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3013,3,'AI 1955 Chevy Buick Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3014,90,'AI 1967 Chevy Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3015,1,'AI 1970 Ford Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3016,10,'AI 1970 Plymouth Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3017,4,'AI 1947 Cadillac Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3018,3,'AI 1957 Chevy Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3019,89,'Street 45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 45 Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3020,89,'Street 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 47 Camshaft','Camshaft'), + (3021,89,'Street 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 48','Camshaft'), + (3022,89,'Super 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Super 47 Camshaft','Camshaft'), + (3023,89,'Super 49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Super 49 Camshaft','Camshaft'), + (3024,6,'Stock 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 401 Camshaft','Camshaft'), + (3025,6,'Stock 425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 425 Camshaft','Camshaft'), + (3026,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Interceptor EM','Exhaust Manifold'), + (3027,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Super Stream Large Headers','Exhaust Manifold'), + (3028,80,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Street Headers','Exhaust Manifold'), + (3029,80,'Performance Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3030,80,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Lightweight EM','Exhaust Manifold'), + (3031,80,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance EM','Exhaust Manifold'), + (3032,83,'Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Police Special EM','Exhaust Manifold'), + (3033,76,'245/50/16ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 245/50/16ZR SCUT','Tires'), + (3034,76,'225/60/16ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 225/60/16ZR SCUT','Tires'), + (3035,76,'245/45/17ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 245/45/17ZR SCUT','Tires'), + (3036,94,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Street Dual Plane IM','Intake Manifold'), + (3037,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Stocker Dual Plane IM','Intake Manifold'), + (3038,94,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Street Single Plane IM','Intake Manifold'), + (3039,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Stocker Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3040,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Super Stocker Single Plane IM','Intake Manifold'), + (3041,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Intimidator Tunnel Ram','Intake Manifold'), + (3042,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Bighorn Tunnel Ram','Intake Manifold'), + (3043,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chrysler SB Centurion Dual Plane IM','Intake Manifold'), + (3044,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chrysler SB Commander Single Plane IM','Intake Manifold'), + (3045,86,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.3) Piston','Pistons'), + (3046,86,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.5) Piston','Pistons'), + (3047,86,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.75) Piston','Pistons'), + (3048,87,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Wedge (1.0) Piston','Pistons'), + (3049,87,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Wedge (.25) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3050,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.75) Piston','Pistons'), + (3051,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.5) Piston','Pistons'), + (3052,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.25) Piston','Pistons'), + (3053,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Recessed (-.6) Piston','Pistons'), + (3054,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Recessed (-.3) Piston','Pistons'), + (3055,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (.25) Piston','Pistons'), + (3056,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (.75) Piston','Pistons'), + (3057,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (1.0) Piston','Pistons'), + (3058,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (1.25) Piston','Pistons'), + (3059,87,'Flat Top Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Flat Top Lightweight Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3060,95,'Replica',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Replica',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Replica Rods','Connecting Rods'), + (3061,95,'Replica Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Replica Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Replica Street Racer Rods','Connecting Rods'), + (3062,95,'Factory Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Factory Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Factory Lightweight Rods','Connecting Rods'), + (3063,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Marathon Rods','Connecting Rods'), + (3064,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Street Max Rods','Connecting Rods'), + (3065,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Lightweight Rods','Connecting Rods'), + (3066,88,'Super 340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Chrysler SB Super 340 Crankshaft','Crankshaft'), + (3067,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Lightweight Crankshaft','Crankshaft'), + (3068,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Marathon Crankshaft','Crankshaft'), + (3069,95,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Lightweight Crankshaft','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3070,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler SB Premier Roller VT','Valve Train'), + (3071,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler SB Super Lift Solid VT','Valve Train'), + (3072,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chrysler SB Race Roller VT','Valve Train'), + (3073,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Air Stream EM','Exhaust Manifold'), + (3074,94,'LA Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LA Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB LA Street EM','Exhaust Manifold'), + (3075,94,'Performance LA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance LA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Performance LA HP EM','Exhaust Manifold'), + (3076,94,'LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB LA Small Headers','Exhaust Manifold'), + (3077,94,'Super LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Super LA Large Headers','Exhaust Manifold'), + (3078,82,'Double Demon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Double Demon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Double Demon HP EM','Exhaust Manifold'), + (3079,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Super Stream Large Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3080,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Emperor Tunnel Ram','Intake Manifold'), + (3081,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Street Lord Tunnel Ram','Intake Manifold'), + (3082,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Crusader Tunnel Ram','Intake Manifold'), + (3083,93,'Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Assassin Single Plane IM','Intake Manifold'), + (3084,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Street Knight Single Plane IM','Intake Manifold'), + (3085,93,'Super Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Super Centurion Dual Plane IM','Intake Manifold'), + (3086,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Recessed (-.3) Piston','Pistons'), + (3087,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Recessed (-.6) Piston','Pistons'), + (3088,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.75) Piston','Pistons'), + (3089,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3090,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.25) Piston','Pistons'), + (3091,86,'Wedge (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.2) Piston','Pistons'), + (3092,87,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Wedge (.4) Piston','Pistons'), + (3093,86,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.6) Piston','Pistons'), + (3094,86,'Wedge (.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.8) Piston','Pistons'), + (3095,87,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Wedge (1.0) Piston','Pistons'), + (3096,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.25) Piston','Pistons'), + (3097,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.5) Piston','Pistons'), + (3098,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.75) Piston','Pistons'), + (3099,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (1.0) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3100,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (1.25) Piston','Pistons'), + (3101,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Champion Rods','Connecting Rods'), + (3102,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Lightweight Rods','Connecting Rods'), + (3103,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Marathon Rods','Connecting Rods'), + (3104,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Lightweight Crankshaft','Crankshaft'), + (3105,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Marathon Crankshaft','Crankshaft'), + (3106,88,'SD Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Pontiac SD Special Crankshaft','Crankshaft'), + (3107,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Pontiac Premier Roller VT','Valve Train'), + (3108,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Pontiac Race Roller VT','Valve Train'), + (3109,82,'Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Airstream EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3110,82,'Aluminum Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Aluminum Airstream EM','Exhaust Manifold'), + (3111,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Jet Stream Headers','Exhaust Manifold'), + (3112,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Super Stream Headers','Exhaust Manifold'), + (3113,91,'Screamer Ultra Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Ultra Light Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Screamer Ultra Light DP IM','Intake Manifold'), + (3114,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Vortex SP IM','Intake Manifold'), + (3115,91,'Vortex Ultra Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Ultra Light Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Vortex Ultra Light SP IM','Intake Manifold'), + (3116,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rad Chevy BB Power Tower Tunnel Ram','Intake Manifold'), + (3117,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Ultimate Tunnel Ram','Intake Manifold'), + (3118,41,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.15) Piston','Pistons'), + (3119,41,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.25) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3120,41,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.35) Piston','Pistons'), + (3121,41,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.5) Piston','Pistons'), + (3122,41,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.75) Piston','Pistons'), + (3123,41,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.35) Piston','Pistons'), + (3124,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.5) Piston','Pistons'), + (3125,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.75) Piston','Pistons'), + (3126,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (1.0) Piston','Pistons'), + (3127,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (.25) Piston','Pistons'), + (3128,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (.75) Piston','Pistons'), + (3129,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (1.0) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3130,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (1.25) Piston','Pistons'), + (3131,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Stump Puller Rods','Connecting Rods'), + (3132,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Street Max Rods','Connecting Rods'), + (3133,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Super Max Rods','Connecting Rods'), + (3134,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Lightweight Rods','Connecting Rods'), + (3135,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Marathon Rods','Connecting Rods'), + (3136,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Legend Rods','Connecting Rods'), + (3137,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Stump Puller Rods','Connecting Rods'), + (3138,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Street Max Rods','Connecting Rods'), + (3139,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Super Max Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3140,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Lightweight Rods','Connecting Rods'), + (3141,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Marathon Rods','Connecting Rods'), + (3142,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Legend Rods','Connecting Rods'), + (3143,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Champion Rods','Connecting Rods'), + (3144,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Lightweight Rods','Connecting Rods'), + (3145,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Marathon Rods','Connecting Rods'), + (3146,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Legend Rods','Connecting Rods'), + (3147,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Champion Rods','Connecting Rods'), + (3148,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Lightweight Rods','Connecting Rods'), + (3149,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Marathon Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3150,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Legend Rods','Connecting Rods'), + (3151,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Stump Puller Rods','Connecting Rods'), + (3152,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Street Max Rods','Connecting Rods'), + (3153,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Super Max Rods','Connecting Rods'), + (3154,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Contender Rods','Connecting Rods'), + (3155,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Champion Rods','Connecting Rods'), + (3156,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Lightweight Rods','Connecting Rods'), + (3157,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Marathon Rods','Connecting Rods'), + (3158,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Legend Rods','Connecting Rods'), + (3159,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Stump Puller Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3160,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Street Max Rods','Connecting Rods'), + (3161,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Super Max Rods','Connecting Rods'), + (3162,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Stump Puller Rods','Connecting Rods'), + (3163,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Street Max Rods','Connecting Rods'), + (3164,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Super Max Rods','Connecting Rods'), + (3165,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Contender Rods','Connecting Rods'), + (3166,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Champion Rods','Connecting Rods'), + (3167,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Lightweight Rods','Connecting Rods'), + (3168,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Marathon Rods','Connecting Rods'), + (3169,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Legend Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3170,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Contender Rods','Connecting Rods'), + (3171,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Champion Rods','Connecting Rods'), + (3172,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Lightweight Rods','Connecting Rods'), + (3173,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Marathon Rods','Connecting Rods'), + (3174,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Legend Rods','Connecting Rods'), + (3175,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Stump Puller Rods','Connecting Rods'), + (3176,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Street Max Rods','Connecting Rods'), + (3177,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Super Max Rods','Connecting Rods'), + (3178,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Contender Rods','Connecting Rods'), + (3179,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Champion Rods','Connecting Rods'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3180,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Lightweight Rods','Connecting Rods'), + (3181,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrylser BB Marathon Rods','Connecting Rods'), + (3182,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Legend Rods','Connecting Rods'), + (3183,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Contender Rods','Connecting Rods'), + (3184,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Champion Rods','Connecting Rods'), + (3185,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Lightweight Rods','Connecting Rods'), + (3186,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Marathon Rods','Connecting Rods'), + (3187,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Legend Rods','Connecting Rods'), + (3188,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Air Stream EM','Exhaust Manifold'), + (3189,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Air Stream Aluminum EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3190,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Super Stream Headers','Exhaust Manifold'), + (3191,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Street King HP EM','Exhaust Manifold'), + (3192,83,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Interceptor EM','Exhaust Manifold'), + (3193,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Strip King Headers','Exhaust Manifold'), + (3194,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Headers','Exhaust Manifold'), + (3195,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Super Stream Headers','Exhaust Manifold'), + (3196,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Jet Stream Headers','Exhaust Manifold'), + (3197,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Interceptor EM','Exhaust Manifold'), + (3198,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Headers','Exhaust Manifold'), + (3199,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3200,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Street King EM','Exhaust Manifold'), + (3201,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Air Stream EM','Exhaust Manifold'), + (3202,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Air Stream EM','Exhaust Manifold'), + (3203,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Air Stream Aluminum EM','Exhaust Manifold'), + (3204,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Super Stream Headers','Exhaust Manifold'), + (3205,94,'Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Street EM','Exhaust Manifold'), + (3206,94,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance EM','Exhaust Manifold'), + (3207,94,'Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Hemi Headers','Exhaust Manifold'), + (3208,94,'Super Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Hemi Headers','Exhaust Manifold'), + (3209,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Air Stream EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3210,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Air Stream Aluminum EM','Exhaust Manifold'), + (3211,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Interceptor EM','Exhaust Manifold'), + (3212,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Super Stream Headers','Exhaust Manifold'), + (3213,79,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Street Headers','Exhaust Manifold'), + (3214,79,'Rad Cad Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Cad Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Rad Cad Headers','Exhaust Manifold'), + (3215,79,'High Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB HP EM','Exhaust Manifold'), + (3216,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Street Mod EM','Exhaust Manifold'), + (3217,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Rumble Pipe Headers','Exhaust Manifold'), + (3218,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Street Lion Headers','Exhaust Manifold'), + (3219,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Window Rattler Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3220,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Super Stream Headers','Exhaust Manifold'), + (3221,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Jet Stream Headers','Exhaust Manifold'), + (3222,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Interceptor EM','Exhaust Manifold'), + (3223,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Air Stream EM','Exhaust Manifold'), + (3224,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Air Stream EM','Exhaust Manifold'), + (3225,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Air Stream Aluminum EM','Exhaust Manifold'), + (3226,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Interceptor EM','Exhaust Manifold'), + (3227,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Super Stream Headers','Exhaust Manifold'), + (3228,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Stalker HP EM','Exhaust Manifold'), + (3229,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Hunter Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3230,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Predator Headers','Exhaust Manifold'), + (3231,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Air Stream EM','Exhaust Manifold'), + (3232,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Air Stream Aluminum EM','Exhaust Manifold'), + (3233,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Interceptor EM','Exhaust Manifold'), + (3234,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Super Stream Headers','Exhaust Manifold'), + (3235,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Stalker HP EM','Exhaust Manifold'), + (3236,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Hunter Headers','Exhaust Manifold'), + (3237,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Predator Headers','Exhaust Manifold'), + (3238,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Air Stream EM','Exhaust Manifold'), + (3239,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Air Stream Aluminum EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3240,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Interceptor EM','Exhaust Manifold'), + (3241,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Jet Stream Headers','Exhaust Manifold'), + (3242,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Super Stream Headers','Exhaust Manifold'), + (3243,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Stalker HP EM','Exhaust Manifold'), + (3244,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Hunter Headers','Exhaust Manifold'), + (3245,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Predator Headers','Exhaust Manifold'), + (3246,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Air Stream EM','Exhaust Manifold'), + (3247,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Air Stream Aluminum EM','Exhaust Manifold'), + (3248,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Interceptor EM','Exhaust Manifold'), + (3249,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Jet Stream Headers','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3250,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Super Stream Headers','Exhaust Manifold'), + (3251,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Street King EM','Exhaust Manifold'), + (3252,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Headers','Exhaust Manifold'), + (3253,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Track King Headers','Exhaust Manifold'), + (3254,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Air Stream EM','Exhaust Manifold'), + (3255,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Air Stream Aluminum EM','Exhaust Manifold'), + (3256,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Interceptor EM','Exhaust Manifold'), + (3257,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Jet Stream Headers','Exhaust Manifold'), + (3258,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Super Stream Headers','Exhaust Manifold'), + (3259,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Street Mod EM','Exhaust Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3260,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Rumble Pipe Headers','Exhaust Manifold'), + (3261,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Street Lion Headers','Exhaust Manifold'), + (3262,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Window Rattler Headers','Exhaust Manifold'), + (3263,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Speed Lifter Solid VT','Valve Train'), + (3264,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Super Lift Solid VT','Valve Train'), + (3265,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Premier Roller VT','Valve Train'), + (3266,83,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Strip King Roller VT','Valve Train'), + (3267,83,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Roller VT','Valve Train'), + (3268,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Speed Lift Solid VT','Valve Train'), + (3269,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Super Lift Solid VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3270,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Premier Roller VT','Valve Train'), + (3271,83,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Roller VT','Valve Train'), + (3272,83,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Roller VT','Valve Train'), + (3273,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Speed Lift Solid VT','Valve Train'), + (3274,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Super Lift Solid VT','Valve Train'), + (3275,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Speed Lift Hydraulic VT','Valve Train'), + (3276,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Premier Roller VT','Valve Train'), + (3277,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Hemi Race Roller VT','Valve Train'), + (3278,84,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Street Plus Hydraulic VT','Valve Train'), + (3279,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Speed Lift Hydraulic VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3280,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Speed Lift Solid VT','Valve Train'), + (3281,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Super Lift Solid VT','Valve Train'), + (3282,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Premier Roller VT','Valve Train'), + (3283,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Performance Hydraulic VT','Valve Train'), + (3284,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Performance Solid VT','Valve Train'), + (3285,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Race Roller','Valve Train'), + (3286,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Speed Lift Hydraulic VT','Valve Train'), + (3287,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Speed Lift Solid VT','Valve Train'), + (3288,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Super Lift Solid VT','Valve Train'), + (3289,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Millloy Chevy W Premier Roller VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3290,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Performance Hydraulic VT','Valve Train'), + (3291,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Performance Solid VT','Valve Train'), + (3292,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Race Roller VT','Valve Train'), + (3293,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Speed Lift Hydraulic VT','Valve Train'), + (3294,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Speed Lift Solid VT','Valve Train'), + (3295,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Super Lift Solid VT','Valve Train'), + (3296,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Premier Roller VT','Valve Train'), + (3297,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Performance Hydraulic VT','Valve Train'), + (3298,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Performance Solid VT','Valve Train'), + (3299,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Race Roller VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3300,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Speed Lift Hydraulic VT','Valve Train'), + (3301,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Speed Lift Solid VT','Valve Train'), + (3302,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Super Lift Solid VT','Valve Train'), + (3303,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Premier Roller VT','Valve Train'), + (3304,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Speed Lift Hydraulic VT','Valve Train'), + (3305,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Speed Lift Solid VT','Valve Train'), + (3306,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Super Lift Solid VT','Valve Train'), + (3307,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Premier Roller VT','Valve Train'), + (3308,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy BB Premier Roller VT','Valve Train'), + (3309,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy BB Race Roller VT','Valve Train'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3310,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Stump Puller Crank','Crankshaft'), + (3311,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Street Max Crank','Crankshaft'), + (3312,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Super Max Crank','Crankshaft'), + (3313,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Contender Crank','Crankshaft'), + (3314,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Champion Crank','Crankshaft'), + (3315,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Lightweight Crank','Crankshaft'), + (3316,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Marathon Crank','Crankshaft'), + (3317,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Legend Crank','Crankshaft'), + (3318,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Stump Puller Crank','Crankshaft'), + (3319,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Street Max Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3320,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Super Max Crank','Crankshaft'), + (3321,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Contender Crank','Crankshaft'), + (3322,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Champion Crank','Crankshaft'), + (3323,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Lightweight Crank','Crankshaft'), + (3324,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Marathon Crank','Crankshaft'), + (3325,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Legend Crank','Crankshaft'), + (3326,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Stump Puller Crank','Crankshaft'), + (3327,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Street Max Crank','Crankshaft'), + (3328,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Super Max Crank','Crankshaft'), + (3329,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Contender Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3330,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Champion Crank','Crankshaft'), + (3331,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Lighweight Crank','Crankshaft'), + (3332,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Marathon Crank','Crankshaft'), + (3333,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Legend Crank','Crankshaft'), + (3334,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Stump Puller Crank','Crankshaft'), + (3335,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Street Max Crank','Crankshaft'), + (3336,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nerwcomb Cadillac BB Super Max Crank','Crankshaft'), + (3337,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Contender Crank','Crankshaft'), + (3338,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Champion Crank','Crankshaft'), + (3339,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Lightweight Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3340,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Marathon Crank','Crankshaft'), + (3341,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Legend Crank','Crankshaft'), + (3342,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Stump Puller Crank','Crankshaft'), + (3343,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Street Max Crank','Crankshaft'), + (3344,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Super Max Crank','Crankshaft'), + (3345,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Contender Crank','Crankshaft'), + (3346,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Champion Crank','Crankshaft'), + (3347,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Lightweight Crank','Crankshaft'), + (3348,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Marathon Crank','Crankshaft'), + (3349,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Legend Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3350,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Stump Puller Crank','Crankshaft'), + (3351,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Street Max Crank','Crankshaft'), + (3352,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Super Max Crank','Crankshaft'), + (3353,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Contender Crank','Crankshaft'), + (3354,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Champion Crank','Crankshaft'), + (3355,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Lightweight Crank','Crankshaft'), + (3356,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Marathon Crank','Crankshaft'), + (3357,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Legend Crank','Crankshaft'), + (3358,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Stump Puller Crank','Crankshaft'), + (3359,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Street Max Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3360,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Super Max Crank','Crankshaft'), + (3361,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Contender Crank','Crankshaft'), + (3362,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Champion Crank','Crankshaft'), + (3363,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Lightweight Crank','Crankshaft'), + (3364,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Marathon Crank','Crankshaft'), + (3365,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Legend Crank','Crankshaft'), + (3366,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Stump Puller Crank','Crankshaft'), + (3367,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Street Max Crank','Crankshaft'), + (3368,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Super Max Crank','Crankshaft'), + (3369,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Contender Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3370,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Champion Crank','Crankshaft'), + (3371,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Lightweight Crank','Crankshaft'), + (3372,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Marathon Crank','Crankshaft'), + (3373,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Legend Crank','Crankshaft'), + (3374,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Stump Puller Crank','Crankshaft'), + (3375,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Street Max Crank','Crankshaft'), + (3376,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Super Max Crank','Crankshaft'), + (3377,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Contender Crank','Crankshaft'), + (3378,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Champion Crank','Crankshaft'), + (3379,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Lightweight Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3380,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Marathon Crank','Crankshaft'), + (3381,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Legend Crank','Crankshaft'), + (3382,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Stump Puller Crank','Crankshaft'), + (3383,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Street Max Crank','Crankshaft'), + (3384,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Super Max Crank','Crankshaft'), + (3385,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Contender Crank','Crankshaft'), + (3386,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Champion Crank','Crankshaft'), + (3387,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Lightweight Crank','Crankshaft'), + (3388,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Marathon Crank','Crankshaft'), + (3389,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Legend Crank','Crankshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3390,83,'Strip King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Dual Plane IM','Intake Manifold'), + (3391,83,'Street King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Street King Dual Plane IM','Intake Manifold'), + (3392,83,'Strip King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Single Plane IM','Intake Manifold'), + (3393,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Midget Tunnel Ram','Intake Manifold'), + (3394,83,'Hiboy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hiboy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Hiboy Tunnel Ram','Intake Manifold'), + (3395,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Tunnel Ram','Intake Manifold'), + (3396,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Bighorn Tunnel Ram','Intake Manifold'), + (3397,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Intimidator Tunnel Ram','Intake Manifold'), + (3398,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Super Stocker Single Plane IM','Intake Manifold'), + (3399,94,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Super Stocker Dual Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3400,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Stocker Dual Plane IM','Intake Manifold'), + (3401,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Stocker Single Plane IM','Intake Manifold'), + (3402,94,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Street Single Plane IM','Intake Manifold'), + (3403,94,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Street Dual Plane IM','Intake Manifold'), + (3404,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Road Squire Dual Plane IM','Intake Manifold'), + (3405,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Street Port Dual Plane IM','Intake Manifold'), + (3406,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Usurper Dual Plane IM','Intake Manifold'), + (3407,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Centurion Single Plane IM','Intake Manifold'), + (3408,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Commander Single Plane IM','Intake Manifold'), + (3409,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Track Assassin Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3410,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Street Lord Tunnel Ram','Intake Manifold'), + (3411,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Crusader Tunnel Ram','Intake Manifold'), + (3412,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Emperor Tunnel Ram','Intake Manifold'), + (3413,91,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Screamer Dual Plane IM','Intake Manifold'), + (3414,91,'Banshee Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Banshee Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Banshee Dual Plane IM','Intake Manifold'), + (3415,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Vortex Single Plane IM','Intake Manifold'), + (3416,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Usurper Dual Plane IM','Intake Manifold'), + (3417,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Centurion Single Plane','Intake Manifold'), + (3418,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Track Assassin Single Plane IM','Intake Manifold'), + (3419,91,'Banshee Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Banshee Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Banshee Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3420,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Street Lord Tunnel Ram','Intake Manifold'), + (3421,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Emperor Tunnel Ram','Intake Manifold'), + (3422,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Power Tower Tunnel Ram','Intake Manifold'), + (3423,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Ultimate Tunnel Ram','Intake Manifold'), + (3424,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Track Assassin Single Plane IM','Intake Manifold'), + (3425,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Street Knight Single Plane IM','Intake Manifold'), + (3426,96,'Hunter Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Hunter Single Plane IM','Intake Manifold'), + (3427,96,'Predator Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Predator Dual Plane IM','Intake Manifold'), + (3428,96,'Stalker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Stalker Dual Plane','Intake Manifold'), + (3429,96,'Tiger Shark Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tiger Shark Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Tiger Shark Tunnel Ram','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3430,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Street Lord Tunnel Ram','Intake Manifold'), + (3431,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Crusader Tunnel Ram','Intake Manifold'), + (3432,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Emperor Tunnel Ram','Intake Manifold'), + (3433,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Road Squire Dual Plane IM','Intake Manifold'), + (3434,93,'Road Squire LW Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Road Aquire Aluminum Dual Plane IM','Intake Manifold'), + (3435,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Port Dual Plane IM','Intake Manifold'), + (3436,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Centurion Dual Plane IM','Intake Manifold'), + (3437,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Usurper Dual Plane IM','Intake Manifold'), + (3438,93,'Street Lord Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Lord Dual Plane IM','Intake Manifold'), + (3439,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Knight Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3440,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Centurion Single Plane IM','Intake Manifold'), + (3441,93,'Super Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Super Centurion Single Plane IM','Intake Manifold'), + (3442,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Track Assassin Single Plane IM','Intake Manifold'), + (3443,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Lord Tunnel Ram','Intake Manifold'), + (3444,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Crusader Tunnel Ram','Intake Manifold'), + (3445,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Emperor Tunnel Ram','Intake Manifold'), + (3446,93,'Usurper Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Usurper Tunnel Ram','Intake Manifold'), + (3447,94,'Perf. Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance Street DP IM','Intake Manifold'), + (3448,94,'Perf. Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Street Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance Street Aluminum Dual Plane IM','Intake Manifold'), + (3449,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Dual Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3450,94,'Stocker Light Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Lightweight Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Lightweight Dual Plane IM','Intake Manifold'), + (3451,94,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Stocker Dual Plane IM','Intake Manifold'), + (3452,94,'Perf. Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performace Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performace Street Single Plane IM','Intake Manifold'), + (3453,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Single Plane IM','Intake Manifold'), + (3454,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Stocker Single Plane IM','Intake Manifold'), + (3455,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Intimidator Tunnel Ram','Intake Manifold'), + (3456,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Bighorn Tunnel Ram','Intake Manifold'), + (3457,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Road Squire Dual Plane IM','Intake Manifold'), + (3458,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Performance Dual Plane IM','Intake Manifold'), + (3459,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Lightning Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3460,83,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Dual Plane IM','Intake Manifold'), + (3461,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Tunnel Ram','Intake Manifold'), + (3462,83,'Track King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Tunnel Ram','Intake Manifold'), + (3463,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Centurion Single Plane IM','Intake Manifold'), + (3464,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Street Lord Tunnel Ram','Intake Manifold'), + (3465,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Emperor Tunnel Ram','Intake Manifold'), + (3466,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Street Port Dual Plane IM','Intake Manifold'), + (3467,93,'Emperor Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Dual Plane IM','Intake Manifold'), + (3468,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Centurion Single Plane IM','Intake Manifold'), + (3469,93,'Emperor Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Single Plane IM','Intake Manifold'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3470,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Tunnel Ram','Intake Manifold'), + (3471,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Performance Dual Plane IM','Intake Manifold'), + (3472,83,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Dual Plane IM','Intake Manifold'), + (3473,83,'Performance Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Performance Single Plane IM','Intake Manifold'), + (3474,83,'Track King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Single Plane IM','Intake Manifold'), + (3475,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Midget Tunnel Ram','Intake Manifold'), + (3476,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Recessed (-.3) Piston','Pistons'), + (3477,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Recessed (-.6) Piston','Pistons'), + (3478,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.25) Piston','Pistons'), + (3479,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3480,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.75) Piston','Pistons'), + (3481,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.15) Piston','Pistons'), + (3482,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.25) Piston','Pistons'), + (3483,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.5) Piston','Pistons'), + (3484,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge 9.75) Piston','Pistons'), + (3485,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (1.0) Piston','Pistons'), + (3486,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (.25) Piston','Pistons'), + (3488,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (.75) Piston','Pistons'), + (3489,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (1.0) Piston','Pistons'), + (3490,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (1.25) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3491,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Recessed (-.3) Piston','Pistons'), + (3492,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Recessed (-.6) Piston','Pistons'), + (3493,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.25) Piston','Pistons'), + (3494,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.5) Piston','Pistons'), + (3495,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.75) Piston','Pistons'), + (3496,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.15) Piston','Pistons'), + (3497,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.5) Piston','Pistons'), + (3498,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.75) Piston','Pistons'), + (3499,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (1.0) Piston','Pistons'), + (3500,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (.25) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3501,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (.75) Piston','Pistons'), + (3502,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (1.0) Piston','Pistons'), + (3503,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (1.25) Piston','Pistons'), + (3504,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Recessed (-.3) Piston','Pistons'), + (3505,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Recessed (-.6) Piston','Pistons'), + (3506,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.25) Piston','Pistons'), + (3507,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.5) Piston','Pistons'), + (3508,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.75) Piston','Pistons'), + (3509,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.15) Piston','Pistons'), + (3510,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3511,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.75) Piston','Pistons'), + (3512,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (1.0) Piston','Pistons'), + (3513,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (.25) Piston','Pistons'), + (3514,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (.75) Piston','Pistons'), + (3515,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (1.0) Piston','Pistons'), + (3516,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (1.25) Piston','Pistons'), + (3517,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Recessed (-.3) Piston','Pistons'), + (3518,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Recessed (-.6) Piston','Pistons'), + (3519,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.25) Piston','Pistons'), + (3520,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3521,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.75) Piston','Pistons'), + (3522,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.15) Piston','Pistons'), + (3523,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.25) Piston','Pistons'), + (3524,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.5) Piston','Pistons'), + (3525,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.75) Piston','Pistons'), + (3526,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (1.0) Piston','Pistons'), + (3527,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.25) Piston','Pistons'), + (3528,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.5) Piston','Pistons'), + (3529,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.75) Piston','Pistons'), + (3530,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (1.0) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3531,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (1.25) Piston','Pistons'), + (3532,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Recessed (-.5) Piston','Pistons'), + (3533,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Recessed (-.3) Piston','Pistons'), + (3534,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Recessed (-.6) Piston','Pistons'), + (3535,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.15) Piston','Pistons'), + (3536,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.25) Piston','Pistons'), + (3537,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.5) Piston','Pistons'), + (3538,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.75) Piston','Pistons'), + (3539,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (1.0) Piston','Pistons'), + (3540,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (.25) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3541,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (.5 Piston','Pistons'), + (3542,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (1.25) Piston','Pistons'), + (3543,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.25) Piston','Pistons'), + (3544,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.5) Piston','Pistons'), + (3545,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.75) Piston','Pistons'), + (3546,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Recessed (-.6) Piston','Pistons'), + (3547,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Recessed (-.3) Piston','Pistons'), + (3548,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.25) Piston','Pistons'), + (3549,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.5) Piston','Pistons'), + (3550,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.75) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3551,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (1.0) Piston','Pistons'), + (3552,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (1.25) Piston','Pistons'), + (3553,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.15) Piston','Pistons'), + (3554,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.25) Piston','Pistons'), + (3555,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.5) Piston','Pistons'), + (3556,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.75) Piston','Pistons'), + (3557,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (1.0) Piston','Pistons'), + (3558,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.25) Piston','Pistons'), + (3559,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.5) Piston','Pistons'), + (3560,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.75) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3561,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Recessed (-.3) Piston','Pistons'), + (3562,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Recessed (-.6) Piston','Pistons'), + (3563,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.25) Piston','Pistons'), + (3564,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.5) Piston','Pistons'), + (3565,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.75) Piston','Pistons'), + (3566,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (1.0) Piston','Pistons'), + (3567,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (1.25) Piston','Pistons'), + (3568,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.15) Piston','Pistons'), + (3569,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.25) Piston','Pistons'), + (3570,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3571,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.75) Piston','Pistons'), + (3572,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (1.0) Piston','Pistons'), + (3573,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.25) Piston','Pistons'), + (3574,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.5) Piston','Pistons'), + (3575,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.75) Piston','Pistons'), + (3576,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Recessed (-.3) Piston','Pistons'), + (3577,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Recessed (-.6) Piston','Pistons'), + (3578,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.25) Piston','Pistons'), + (3579,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.5) Piston','Pistons'), + (3580,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.75) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3581,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (1.0) Piston','Pistons'), + (3582,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (1.25) Piston','Pistons'), + (3583,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.15) Piston','Pistons'), + (3584,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.25) Piston','Pistons'), + (3585,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.5) Piston','Pistons'), + (3586,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.75) Piston','Pistons'), + (3587,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (1.0) Piston','Pistons'), + (3588,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.25) Piston','Pistons'), + (3589,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.5) Piston','Pistons'), + (3590,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.75) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3591,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Recessed (-.3) Piston','Pistons'), + (3592,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Recessed (-.6) Piston','Pistons'), + (3593,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.25) Piston','Pistons'), + (3594,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.5) Piston','Pistons'), + (3595,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.75) Piston','Pistons'), + (3596,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (1.0) Piston','Pistons'), + (3597,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (1.25) Piston','Pistons'), + (3598,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.15) Piston','Pistons'), + (3599,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.25) Piston','Pistons'), + (3600,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.5) Piston','Pistons'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3601,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.75) Piston','Pistons'), + (3602,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (1.0) Piston','Pistons'), + (3603,3,'1957 AI Chevrolet Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3604,90,'1957 AI Ford Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3605,7,'1966 AI Pontiac Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3606,1,'1932 AI Ford Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3607,1,'1940 AI Ford Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3608,1,'1957 Ford Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3609,1,'1957 AI Ford Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3610,1,'1964 AI Ford Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3611,1,'1969 AI Ford Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3612,1,'1970 AI Ford Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3613,3,'1964 AI Chevy Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3614,3,'1970 AI Chevy Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3615,3,'1963 AI Chevy Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), + (3616,79,'Highway Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Highway Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Highway Plus Camshaft','Camshaft'), + (3617,79,'Streeter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Streeter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Streeter Camshaft','Camshaft'), + (3618,79,'Racing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Racing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Racing Camshaft','Camshaft'), + (3619,94,'Extra Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Extra Stock Camshaft','Camshaft'), + (3620,94,'Blueprint Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Blueprint Classic Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3621,83,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 New Boss Camshaft','Camshaft'), + (3622,83,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland New Boss Camshaft','Camshaft'), + (3623,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Street King Camshaft','Camshaft'), + (3624,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Street King Camshaft','Camshaft'), + (3625,94,'Bighorn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Bighorn Camshaft','Camshaft'), + (3626,97,'225/35/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/35/17ZR HP','Tires'), + (3627,97,'205/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/40/17ZR HP','Tires'), + (3628,97,'215/40/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/40/16ZR HP','Tires'), + (3629,97,'215/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/40/17ZR HP','Tires'), + (3630,97,'225/40/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/40/16ZR HP','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3631,97,'235/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 235/40/17ZR HP','Tires'), + (3632,97,'245/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/40/17ZR HP','Tires'), + (3633,97,'255/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 255/40/17ZR HP','Tires'), + (3634,97,'265/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 265/40/17ZR HP','Tires'), + (3635,97,'205/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/45/16ZR HP','Tires'), + (3636,97,'215/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/45/16ZR HP','Tires'), + (3637,97,'215/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/45/17ZR HP','Tires'), + (3638,97,'225/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/45/16ZR HP','Tires'), + (3639,97,'225/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/45/17ZR HP','Tires'), + (3640,97,'235/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 235/45/17ZR HP','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3641,97,'245/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/45/16ZR HP','Tires'), + (3642,97,'205/50/15ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/15ZR HP','Tires'), + (3643,97,'205/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/16ZR HP','Tires'), + (3644,97,'205/50/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/17ZR HP','Tires'), + (3645,97,'215/50/15ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/50/15ZR HP','Tires'), + (3646,97,'215/50/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/50/17ZR HP','Tires'), + (3647,97,'225/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/50/16ZR HP','Tires'), + (3648,73,'Aluminum Alloy Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Slotted Rim (RA00)','Wheel Rims'), + (3649,65,'Aluminum Alloy Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Round (RA01)','Wheel Rims'), + (3650,3,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Chevy SB 57 Corvette (220hp) Camshaft','Camshaft'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3651,37,'1.75" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" CI Single Exhaust Pipe','Exhaust Pipe'), + (3652,37,'1.75" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" CI Dual Exhaust Pipe','Exhaust Pipe'), + (3653,37,'1.875" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" CI Single Exhaust Pipe','Exhaust Pipe'), + (3654,37,'1.875" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" CI Dual Exhaust Pipe','Exhaust Pipe'), + (3655,37,'2" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" CI Single Exhaust Pipe','Exhaust Pipe'), + (3656,37,'2" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" CI Dual Exhaust Pipe','Exhaust Pipe'), + (3657,37,'2.25" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" CI Dual Exhaust Pipe','Exhaust Pipe'), + (3658,37,'1.75" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" TI Single Exhaust Pipe','Exhaust Pipe'), + (3659,37,'1.75" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" TI Dual Exhaust Pipe','Exhaust Pipe'), + (3660,37,'1.875" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" TI Single Exhaust Pipe','Exhaust Pipe'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3661,37,'1.875" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" TI Dual Exhaust Pipe','Exhaust Pipe'), + (3662,37,'2" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" TI Single Exhaust Pipe','Exhaust Pipe'), + (3663,37,'2" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" TI Dual Exhaust Pipe','Exhaust Pipe'), + (3664,37,'2.25" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" TI Dual Exhaust Pipe','Exhaust Pipe'), + (3665,37,'1.625" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" FS Dual Exhaust Pipe','Exhaust Pipe'), + (3666,37,'1.75" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" FS Dual Exhaust Pipe','Exhaust Pipe'), + (3667,37,'1.875" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" FS Dual Exhaust Pipe','Exhaust Pipe'), + (3668,37,'2" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" FS Dual Exhaust Pipe','Exhaust Pipe'), + (3669,37,'2.25" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" FS Dual Exhaust Pipe','Exhaust Pipe'), + (3670,37,'1.625" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3671,37,'1.75" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), + (3672,37,'2" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), + (3673,37,'2.25" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), + (3674,37,'1.625" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Alum. Alloy Dual Exhaust Pipe','Exhaust Pipe'), + (3675,37,'1.75" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" Alum. Alloy Dual Exhaust','Exhaust Pipe'), + (3676,37,'1.875" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" Alum. Alloy Dual Exhaust Pipe','Exhaust Pipe'), + (3677,37,'2" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" Alum. Alloy Dual Exhaust pipe','Exhaust Pipe'), + (3678,37,'2.25" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" Alum Alloy Dual Exhaust Pipe','Exhaust Pipe'), + (3679,37,'1.875" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), + (3680,15,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Single Point Ignition','Electrical System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3681,15,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Single Point Ignition','Electrical System'), + (3682,15,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Dual Point Ignition','Electrical System'), + (3683,15,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Dual Point Ignition','Electrical System'), + (3684,15,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Electronic Ignition','Electrical System'), + (3685,15,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Electronic Ignition','Electrical System'), + (3686,8,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Single Point Ignition','Electrical System'), + (3687,8,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Single Point Ignition','Electrical System'), + (3688,8,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Dual Point Ignition','Electrical System'), + (3689,8,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Dual Point Ignition','Electrical System'), + (3690,8,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Electronic Ignition','Electrical System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3691,8,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Electronic Ignition','Electrical System'), + (3692,1,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Single Point Ignition','Electrical System'), + (3693,1,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Single Point Ignition','Electrical System'), + (3694,1,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Dual Point Ignition','Electrical System'), + (3695,1,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Dual Point Ignition','Electrical System'), + (3696,1,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Electronic Ignition','Electrical System'), + (3697,1,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Electronic Ignition','Electrical System'), + (3698,11,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Single Point Ignition','Electrical System'), + (3699,11,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Performance Single Point Ignition','Electrical System'), + (3700,11,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Dual Point Ignition','Electrical System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3701,11,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Performance Dual Point Ignition','Electrical System'), + (3702,45,'Aluminum Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Twistar 5','Wheel Rims'), + (3703,73,'Aluminum Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Rippled Orb','Wheel Rims'), + (3704,65,'Aluminum Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Hypnotic Star 6','Wheel Rims'), + (3705,3,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Standard Cooling System','Cooling System'), + (3706,3,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Heavy Duty Cooling System','Cooling System'), + (3707,45,'Aluminum Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Super Slot 15','Wheel Rims'), + (3708,73,'Aluminum Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Teardrop Slot 8','Wheel Rims'), + (3709,65,'Aluminum Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Twistar 7','Wheel Rims'), + (3710,45,'Aluminum Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Power Turbine','Wheel Rims'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3711,3,'W Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Block Standard Cooling System','Cooling System'), + (3712,3,'W Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Block Heavy Duty Cooling System','Cooling System'), + (3713,3,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Standard Cooling System','Cooling System'), + (3714,3,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Heavy Duty Cooling System','Cooling System'), + (3715,8,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Standard Cooling System','Cooling System'), + (3716,8,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Heavy Duty Cooling System','Cooling System'), + (3717,8,'Small Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Performance Cooling System','Cooling System'), + (3718,8,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Standard Cooling System','Cooling System'), + (3719,8,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Heavy Duty Cooling System','Cooling System'), + (3720,8,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Performance Cooling System','Cooling System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3721,11,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Cooling System','Cooling System'), + (3722,11,'Heavy Duty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Duty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Heavy Duty Cooling System','Cooling System'), + (3723,4,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Standard Cooling System','Cooling System'), + (3724,4,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Heavy Duty Cooling System','Cooling System'), + (3725,7,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Standard Cooling System','Cooling System'), + (3726,7,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Performance Cooling System','Cooling System'), + (3727,5,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Standard Cooling System','Cooling System'), + (3728,5,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Heavy Duty Cooling System','Cooling System'), + (3729,6,'Nailhead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Standard Cooling System','Cooling System'), + (3730,6,'Nailhead HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Heavy Duty Cooling System','Cooling System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3731,4,'L-Head Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Standard Cooling System','Cooling System'), + (3732,1,'Flathead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Standard Cooling System','Cooling System'), + (3733,1,'Y Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Standard Cooling System','Cooling System'), + (3734,1,'Y Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Heavy Duty Cooling System','Cooling System'), + (3735,1,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Standard Cooling System','Cooling System'), + (3736,1,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Heavy Duty Cooling System','Cooling System'), + (3737,1,'Small Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss Cooling System','Cooling System'), + (3738,1,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Standard Cooling System','Cooling System'), + (3739,1,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Heavy Duty Cooling System','Cooling System'), + (3740,3,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Stock Lubrication System','Lubrication System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3741,3,'Small Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Peformance Lubrication System','Lubrication System'), + (3742,4,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Lubrication System','Lubrication System'), + (3743,3,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Performance Lubrication System','Lubrication System'), + (3744,8,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Lubrication System','Lubrication System'), + (3745,8,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Lubrication System','Lubrication System'), + (3746,8,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Performance Lubrication System','Lubrication System'), + (3747,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Lubrication System','Lubrication System'), + (3748,7,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Performance Lubrication System','Lubrication System'), + (3749,5,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Lubrication System','Lubrication System'), + (3750,5,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Performance Lubrication System','Lubrication System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3751,6,'Nailhead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Lubrication System','Lubrication System'), + (3752,4,'L-Head Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Lubrication System','Lubrication System'), + (3753,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Lubrication System','Lubrication System'), + (3754,1,'Y Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock Lubrication System','Lubrication System'), + (3755,1,'Small Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss Lubrication System','Lubrication System'), + (3756,1,'Windsor Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Windsor Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Windsor Stock Lubrication System','Lubrication System'), + (3757,1,'Cleveland Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cleveland Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Stock Lubrication System','Lubrication System'), + (3758,1,'385 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Lubrication System','Lubrication System'), + (3759,1,'385 Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Performance Lubrication System','Lubrication System'), + (3760,1,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Lubrication System','Lubrication System'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3761,1,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Performance Lubrication System','Lubrication System'), + (3762,15,'Super Muncie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Muncie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Muncie 4 Speed Manual','Transmission'), + (3763,15,'M21 4 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M21 Close Ratio 4 Spd Manual','Transmission'), + (3764,15,'M13 3 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M13 HD 3 Speed Manual','Transmission'), + (3765,100,'265/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 265/60/15 Radial','Tires'), + (3766,100,'255/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 255/60/15 Radial','Tires'), + (3767,100,'245/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 245/60/15 Radial','Tires'), + (3768,100,'295/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 295/60/15 Radial','Tires'), + (3769,100,'275/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 275/60/15 Radial','Tires'), + (3770,100,'235/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 235/60/15 Radial','Tires'); +INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES + (3771,21,'PowerMax FH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford FH Valvetrain','Valve Train'), + (3772,6,'Dynaflow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dynaflow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Dynaflow Automatic Transmission (TH-180C Copy)','Transmission'), + (3773,1,'88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 88 (HP) Camshaft','Camshaft'); diff --git a/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql b/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql new file mode 100644 index 000000000..abc502c40 --- /dev/null +++ b/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql @@ -0,0 +1,71 @@ +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (101,NULL,NULL,NULL,'Vehicle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'VEH%d',0,1.0000000,1.0000000,0), + (1001,101,101,'sys_chas','Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'sspa','VEH%d',0,1.0000000,1.0000000,2), + (2001,101,101,'sys_body','Chassis',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'bod%d','VEH%d',0,1.0000000,1.0000000,3), + (4001,101,101,'sys_driv','Drive Line',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trna','VEH%d',0,1.0000000,1.0000000,0), + (5001,101,101,'drmbrake','Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'brka','VEH%d',0,1.0000000,1.0000000,0), + (6001,101,101,NULL,'Visible Parts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (10001,5001,5001,'drmbrake','Brakes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'In general, larger diameter, thicker brakes will provide better stopping power for a greater number of hard braking maneuvers. Disc and drum brakes have different fade characteristics.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'bk%02d','SUS2',0,1.0000000,1.0000000,2), + (11001,1001,1001,'shock','Shocks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Shocks help damp out oscillations and absorb vibrations caused by road surface imperfections.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'sk%02d','SUSP',0,1.0000000,1.0000000,0), + (12001,1001,1001,'springs','Springs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Altering the front/rear spring balance can change the steering behavior of the vehicle.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'sp%02d','SUSP',0,1.0000000,1.0000000,0), + (13001,1001,1001,'swaybar','Sway Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases lateral stiffness of the suspension, reducing sway in hard corners.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'sw%02d','SUSP',0,1.0000000,1.0000000,0); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (14001,1001,1001,'traction','Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases suspension stiffness during acceleration, which helps the vehicle maintain traction.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trbp','SUSP',0,1.0000000,1.0000000,0), + (15001,101,101,'sys_whee','Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'The wheel assembly is the primary influence on the vehicle''s traction capability.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'whla','VEH%d',0,1.0000000,1.0000000,2), + (16001,6001,6001,'fuzzdice','Fuzzy Dice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (17001,6001,6001,NULL,'Roll Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (18001,6001,6001,'windtint','Window Tinting',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (20001,2001,2001,'sys_body','Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Spoilers improve the body''s downforce.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'bod%d','VEH%d',0,1.0000000,1.0000000,3), + (21001,6001,6001,'wskirts','Wheels Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (22001,6001,6001,'horn','Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Sound your horn! Pick from a wide variety of distinct horn sounds.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (23001,6001,6001,'runboard','Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Pure looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (26001,6001,6001,'foglight','Fog Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Extra lights.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (28001,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), + (29001,2001,2001,'spoil_ch','Chin Spoiler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'chsp','BOD%d',0,1.0000000,1.0000000,0), + (30001,2001,2001,'spoil_rr','Rear Spoiler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'rspp','BOD%d',0,1.0000000,1.0000000,0), + (31001,6001,6001,'topstyle','Top Style',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'There is a slight disadvantage to a chopped top due to the disturbed airflow, which increases drag.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (32001,6001,6001,'wheelieb','Wheelie Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Pure looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (33001,NULL,NULL,NULL,'Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'The heavier the driver, the more total weight, but more weight can help cornering.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), + (34001,6001,6001,'fender','Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Remove them to slightly reduce the drag.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (35001,6001,6001,'bumper','Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Can be removed from some cars to lose weight.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (36001,101,101,'engine1','Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Select an engine that meets your needs; too much horsepower can be just as bad as too little. Experiment!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'enga','VEH%d',0,1.0000000,1.0000000,1), + (37001,101,101,'sys_exha','Exhaust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'exha','VEH%d',0,1.0000000,1.0000000,1); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (39001,NULL,NULL,NULL,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), + (40001,6001,6001,'hood','Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (100001,15001,15001,'wheel','Wheel Rims',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Holds the tires and affects wheel inertia; light wheels will help the tire spin up faster, but may make the tire tend to slip.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'wrmp','WHLA',0,1.0000000,1.0000000,0), + (110001,15001,15001,'tire','Tires',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'There''s a good reason for the old expression "where the rubber meets the road". Select a tire that meets your needs. High performance tires are precise, but can be unforgiving for the neophyte driver.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'tirp','WHLA',0,1.0000000,1.0000000,0), + (120001,6001,6001,'hubcap','Hub Caps',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0), + (130001,4001,4001,'transmis','Transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High gear ratios are good for quick acceleration; low ratios provide higher top speed.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trnp','TRNA',0,1.0000000,1.0000000,1), + (140001,4001,4001,'rearend','Rear End',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High ratios usually (but not always) provide better acceleration; low ratios provide potentially higher top end speeds.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'rerp','TRNA',0,1.0000000,1.0000000,0), + (150001,4001,4001,'trancool','Transmission Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Protect your hard-working automatic transmission with a transmission cooler to prevent over-heating. If the automatic transmission fluid gets too hot, the transmission can be severely damaged.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trcp','TRNA',0,1.0000000,1.0000000,0), + (160001,36001,36001,'eblock','Engine Block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'When upgrading your engine, keep in mind that more power isn''t always appropriate if you can''t handle it. Bigger isn''t always better.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'blkp','ENGN',1,1.0000000,1.0000000,0), + (180001,36001,36001,'crnkshft','Crankshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly. A lighter crankshaft will give you faster throttle response and less engine braking. A heavier crankshaft is generally more durable.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'crkp','ENGN',1,1.0000000,1.0000000,0); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (190001,36001,36001,'rods','Connecting Rods',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly; lightweight, heavy duty connecting rods can increase engine speed and power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'conp','ENGN',1,1.0000000,1.0000000,0), + (200001,36001,36001,'pistons','Pistons',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly; domed pistons can increase the compression ratio, which increases power. Lightweight pistons can increase the engine''s throttle response.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'pisp','ENGN',1,1.0000000,1.0000000,0), + (210001,NULL,NULL,'sys_cylh','Cylinder Head A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (230001,36001,36001,'coolpump','Cooling System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'If your engine is working hard, don''t forget to make sure the cooling system can handle the heat; be careful, however, because high-end systems can bleed off significant engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'colp','ENGN',0,1.0000000,1.0000000,0), + (240001,36001,36001,'distrib','Electrical System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High RPM, high power engines need special electrical systems to provide powerful well-timed ignition.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'elcp','ENGN',0,1.0000000,1.0000000,0), + (250001,36001,36001,'oilcool','Lubrication System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Keep your engine running smooth and help prevent damage with a high performance lubrication system; high-performance lubrication systems can bleed off significant engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'lubp','ENGN',0,1.0000000,1.0000000,0), + (280001,36001,36001,'exhmani','Exhaust Manifold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'There are many different types of exhaust manifolds; high performance exhausts or headers let the engine breathe and are one of the fastest ways to get a little extra performance.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'exmp','ENGN',1,1.0000000,1.0000000,0), + (290001,37001,37001,'pipes','Exhaust Pipe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'A higher performance exhaust pipe can improve your engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'exhp','EXHA',0,1.0000000,1.0000000,0), + (300001,37001,37001,'turbmuff','Muffler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'A higher performance muffler can improve your engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'mufp','EXHA',0,1.0000000,1.0000000,0), + (310001,6001,6001,'tailptip','Tail Pipe Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (320001,36001,36001,'intmani','Intake Manifold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'There are a wide variety of intake manifolds; a good high performance intake manifold can be expensive, but worth it. The type of manifold you select can dramatically change the RPM power band of your engine.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'intp','ENGN',1,1.0000000,1.0000000,0), + (330001,36001,36001,'carb','Carburetor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Bigger isn''t always better; choose a carburetor that flows the right amount of air (cfm) for the displacement and peak RPM of your engine.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'crbp','ENGN',0,1.0000000,1.0000000,0), + (340001,36001,36001,'airclean','Air Cleaner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Protect your engine from the elements with a nice air filter. You don''t want dirt in there, do you?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'aclp','ENGN',0,1.0000000,1.0000000,0), + (340333,36001,36001,'scoop','Air Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides improved air flow into the engine and can improve performance.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'ascp','BOD%d',0,1.0000000,1.0000000,0), + (340666,36001,36001,'airclean','Air Intake Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Install either an air cleaner or air scoop here.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'aclp','ENGN',0,1.0000000,1.0000000,0), + (350001,36001,36001,'blower','Blower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides a pressure boost to the cylinders, leading to substantial power increases; can radically increase engine wear if engine compression ratio is too high.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'blwp','ENGN',0,1.0000000,1.0000000,0), + (350666,36001,36001,NULL,'Supercharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Install either a blower or a nitrous injector here.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (360001,36001,36001,'nitrous','Nitrous Injector',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases engine power by adding oxygen but causes excessive heat and additional engine damage.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'nitp','ENGN',0,1.0000000,1.0000000,0), + (1000001,36001,36001,'cylhead','Cylinder Head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Cylinder heads are the single most important factor in determining engine performance. Higher compression and larger valves generally equal more power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'hedp','ENGN',1,1.0000000,1.0000000,0), + (1100001,36001,36001,'camshaft','Camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'The type of camshaft has a primary influence on engine performance. Street and Dual Purpose cams can add significant power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'camp','ENGN',1,1.0000000,1.0000000,0); +INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES + (1200001,36001,36001,'valvetrn','Valve Train',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Controls valve action and affects maximum engine RPMs. High performance lifters can dramatically increase performance, but tend to increase engine wear.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'vlvp','CYLY',1,1.0000000,1.0000000,0), + (1300001,NULL,NULL,'valves','Intake Valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (1400001,NULL,NULL,'valves','Exhaust Valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), + (1500001,NULL,NULL,'valvecov','Valve Covers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0); diff --git a/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql b/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql new file mode 100644 index 000000000..f5217c6f3 --- /dev/null +++ b/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql @@ -0,0 +1,6 @@ +INSERT INTO PartGrade (PartGradeID,EText,GText,FText,PartGrade) VALUES + (0,'no grade',NULL,NULL,NULL), + (1,'Stock',NULL,NULL,NULL), + (2,'Performance',NULL,NULL,NULL), + (3,'High Performance',NULL,NULL,NULL), + (4,'Racing',NULL,NULL,NULL); diff --git a/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql b/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql new file mode 100644 index 000000000..c01963f2b --- /dev/null +++ b/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql @@ -0,0 +1,3397 @@ +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (101,101,'1932 Ford V-8 Coupe',NULL,1), + (102,101,'1940 Ford Deluxe Coupe',NULL,1), + (103,101,'1953 Ford Crestline',NULL,1), + (104,101,'1957 Ford Fairlane 500',NULL,1), + (105,101,'1957 Ford Ranchero',NULL,1), + (106,101,'1957 Ford Thunderbird',NULL,1), + (107,101,'1963 Ford Thunderbird',NULL,1), + (108,101,'1965 Ford Mustang',NULL,1), + (109,101,'1964 Ford Galaxie 500',NULL,1), + (110,101,'1969 Ford Torino GT',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (111,101,'1970 Ford Boss 302 Mustang',NULL,1), + (112,101,'1949 Mercury Coupe',NULL,1), + (113,101,'1957 Chevrolet Bel-Air',NULL,1), + (114,101,'1957 Chevrolet Corvette',NULL,1), + (115,101,'1957 Chevrolet Nomad Wagon',NULL,1), + (116,101,'1964 Chevrolet Impala',NULL,1), + (117,101,'1963 Chevrolet Corvette Stingray',NULL,1), + (118,101,'1958 Chevrolet Impala',NULL,1), + (119,101,'1967 Chevrolet Chevelle',NULL,1), + (120,101,'1967 Chevrolet Camaro',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (121,101,'1970 Chevrolet Chevelle',NULL,1), + (122,101,'1970 Chevrolet El Camino',NULL,1), + (123,101,'1970 Chevrolet Nova',NULL,1), + (124,101,'1947 Cadillac Series 62 Sedanette',NULL,1), + (125,101,'1959 Cadillac Eldorado Biarritz',NULL,1), + (126,101,'1969 Oldsmobile 4-4-2',NULL,1), + (127,101,'1955 Buick Century',NULL,1), + (128,101,'1966 Pontiac GTO',NULL,1), + (129,101,'1969 Pontiac GTO',NULL,1), + (130,101,'1973 Pontiac Firebird T/A',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (131,101,'1969 AMX',NULL,1), + (132,101,'1969 Dodge Charger',NULL,1), + (133,101,'1969 Plymouth Road Runner',NULL,1), + (134,101,'1970 Cuda',NULL,1), + (135,101,'1971 Plymouth Duster',NULL,1), + (138,101,'Traffic 2 door',NULL,1), + (140,101,'1967 Chevrolet Camaro SS',NULL,1), + (142,101,'1970 Ford Boss 429 Mustang',NULL,1), + (146,101,'TRFMONTE',NULL,1), + (147,101,'TRFDELVR',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (148,101,'TRFBUS',NULL,1), + (149,101,'TRFGSX',NULL,1), + (150,101,'TRFSTANG',NULL,1), + (151,101,'TRFTBIRD',NULL,1), + (152,101,'TRFPUP1',NULL,1), + (153,101,'TRF2DR',NULL,1), + (154,101,'1969 AMC Big Bad AMX',NULL,1), + (157,101,'1969 Plymouth GTX Coupe',NULL,1), + (207,101,'Shelby 427 Cobra',NULL,1), + (210,101,'1970 Ford Mustang',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (211,101,'1969 Ford Torino GT Cobra',NULL,1), + (212,101,'1970 Ford Mustang Mach 1',NULL,1), + (213,101,'1970 Plymouth Hemi Cuda',NULL,1), + (214,101,'1970 Plymouth 440 Cuda',NULL,1), + (215,101,'1970 Plymouth AAR Cuda',NULL,1), + (216,101,'1971 Plymouth 340 Duster',NULL,1), + (217,101,'1964 Chevrolet Impala SS',NULL,1), + (218,101,'1967 Chevrolet Chevelle SS',NULL,1), + (219,101,'1967 Chevrolet Camaro RS',NULL,1), + (220,101,'1967 Chevrolet Camaro Z-28',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (221,101,'1970 Chevrolet Chevelle SS',NULL,1), + (222,101,'1970 Chevrolet El Camino SS',NULL,1), + (223,101,'1970 Chevrolet Nova SS',NULL,1), + (224,101,'1969 Oldsmobile 442 W-30',NULL,1), + (225,101,'1969 Oldsmobile Hurst 442',NULL,1), + (226,101,'1969 Pontiac GTO Judge',NULL,1), + (227,101,'1973 Pontiac Firebird Formula',NULL,1), + (228,101,'1973 Pontiac Firebird',NULL,1), + (1001,1001,'Generic Chassis Suspension','SUSP',1), + (2001,2001,'Generic Chassis Body',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (4001,4001,'Generic Driveline Assembly',NULL,1), + (5001,5001,'Generic Brake Set',NULL,1), + (6001,6001,'Generic Visible Parts Assembly',NULL,1), + (10001,10001,'10 x 2 Organic Disc Brake',NULL,1), + (10002,10001,'11 x 2 Organic Disc Brake',NULL,2), + (10003,10001,'12 x 2 Organic Disc Brake',NULL,2), + (10004,10001,'9 x 2 Organic Disc Brake',NULL,1), + (10005,10001,'9 x 2 Organic HT Disc Brake',NULL,1), + (10006,10001,'10 x 2 Organic HT Disc Brake',NULL,1), + (10007,10001,'11 x 2 Organic HT Disc Brake',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (10008,10001,'12 x 2 Organic HT Disc Brake',NULL,2), + (10009,10001,'9 x 2 Organic Drum Brake',NULL,1), + (10010,10001,'10 x 2 Organic Drum Brake',NULL,1), + (10011,10001,'11 x 2 Organic Drum Brake',NULL,1), + (10012,10001,'12 x 2 Organic Drum Brake',NULL,1), + (10013,10001,'9 x 2 Organic HT Drum Brake',NULL,1), + (10014,10001,'10 x 2 Organic HT Drum Brake',NULL,1), + (10015,10001,'11 x 2 Organic HT Drum Brake',NULL,1), + (10016,10001,'12 x 2 Organic HT Drum Brake',NULL,2), + (10017,10001,'11 x 2 Semi-Metallic Disc Brake',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (10018,10001,'12 x 2 Semi-Metallic Disc Brake',NULL,2), + (10019,10001,'11 x 2 Semi-Metallic Drum Brake',NULL,2), + (10020,10001,'12 x 2 Semi-Metallic Drum Brake',NULL,2), + (10021,10001,'11 x 2 Metallic Disc Brake',NULL,2), + (10022,10001,'12 x 2 Metallic Disc Brake',NULL,3), + (10023,10001,'14 x 2 Metallic Disc Brake',NULL,4), + (10024,10001,'16 x 2 Metallic Disc Brake',NULL,4), + (10025,10001,'10 x 2 Metallic Disc Brake',NULL,2), + (10026,10001,'9 x 2 Metallic Disc Brake',NULL,2), + (10027,10001,'10 x 2 Metallic Disc ABS Brake',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (10028,10001,'12 x 2 Metallic Disc ABS Brake',NULL,3), + (10029,10001,'14 x 2 Metallic Disc ABS Brake',NULL,4), + (10030,10001,'16 x 2 Metallic Disc ABS Brake',NULL,4), + (10031,10001,'11 x 2 Metallic Disc ABS Brake',NULL,3), + (10032,10001,'13 x 2 Organic Drum Brake',NULL,3), + (10033,10001,'13 x 2 Organic Disc Brake',NULL,3), + (10034,10001,'13 x 2 Organic HT Drum Brake',NULL,3), + (10035,10001,'13 x 2 Organic HT Disc Brake',NULL,3), + (10036,10001,'13 x 2 Metallic Disc Brake',NULL,3), + (10037,10001,'13 x 2 Semi-Metallic Disc Brake',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (10038,10001,'13 x 2 Metallic Disc ABS Brake',NULL,3), + (10039,10001,'14 x 2 Organic Drum Brake',NULL,3), + (10040,10001,'14 x 2 Organic Disc Brake',NULL,3), + (10041,10001,'14 x 2 Organic HT Drum Brake',NULL,3), + (10042,10001,'14 x 2 Organic HT Disc Brake',NULL,3), + (10043,10001,'9 x 2 Semi-Metallic Disc Brake',NULL,2), + (10044,10001,'9 x 2 Metallic Disc ABS Brake',NULL,3), + (11001,11001,'LD (0.2) Shock',NULL,1), + (11002,11001,'LD (0.3) Shock',NULL,1), + (11003,11001,'ND (0.2) Shock',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (11004,11001,'ND (0.3) Shock',NULL,1), + (11005,11001,'HD (0.24) Shock',NULL,2), + (11006,11001,'HD (0.3) Shock',NULL,2), + (11007,11001,'HD (0.36) Shock',NULL,2), + (11008,11001,'XHD (0.3) Shock',NULL,3), + (11009,11001,'XHD (0.36) Shock',NULL,3), + (11010,11001,'XHD (0.4) Shock',NULL,3), + (11011,11001,'ND (0.3) 12.5" Shock',NULL,1), + (11012,11001,'Edelbrock Performer IAS Shock',NULL,2), + (11013,11001,'Edelbrock Street Stock Race Shock',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12001,12001,'70 lb/in traverse spring',NULL,1), + (12002,12001,'80 lb/in traverse spring',NULL,1), + (12003,12001,'90 lb/in traverse spring',NULL,1), + (12004,12001,'100 lb/in traverse spring',NULL,1), + (12005,12001,'110 lb/in traverse spring',NULL,1), + (12006,12001,'120 lb/in coil spring',NULL,1), + (12007,12001,'130 lb/in coil spring',NULL,1), + (12008,12001,'140 lb/in coil spring',NULL,1), + (12009,12001,'150 lb/in coil spring',NULL,1), + (12010,12001,'160 lb/in coil spring',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12011,12001,'170 lb/in coil spring',NULL,1), + (12012,12001,'180 lb/in leaf spring',NULL,2), + (12013,12001,'190 lb/in leaf spring',NULL,2), + (12014,12001,'200 lb/in leaf spring',NULL,3), + (12015,12001,'210 lb/in coil-over spring',NULL,3), + (12016,12001,'220 lb/in coil-over spring',NULL,3), + (12017,12001,'230 lb/in coil-over spring',NULL,3), + (12018,12001,'240 lb/in coil-over spring',NULL,3), + (12019,12001,'250 lb/in coil-over spring',NULL,3), + (12020,12001,'100 lb/in coil spring',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12021,12001,'110 lb/in coil spring',NULL,1), + (12022,12001,'150 lb/in leaf spring',NULL,1), + (12023,12001,'160 lb/in leaf spring',NULL,1), + (12024,12001,'170 lb/in leaf spring',NULL,1), + (12025,12001,'190 lb/in coil-over spring',NULL,3), + (12026,12001,'200 lb/in coil-over spring',NULL,3), + (12027,12001,'180 lb/in coil-over spring',NULL,3), + (12028,12001,'170 lb/in coil-over spring',NULL,3), + (12029,12001,'160 lb/in coil-over spring',NULL,3), + (12030,12001,'140 lb/in leaf spring',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12031,12001,'130 lb/in leaf spring',NULL,1), + (12032,12001,'120 lb/in leaf spring',NULL,1), + (12033,12001,'110 lb/in leaf spring',NULL,1), + (12034,12001,'220 lb/in coil spring',NULL,1), + (12035,12001,'230 lb/in coil spring',NULL,1), + (12036,12001,'240 lb/in coil spring',NULL,1), + (12037,12001,'250 lb/in coil spring',NULL,2), + (12038,12001,'260 lb/in coil spring',NULL,2), + (12039,12001,'270 lb/in coil spring',NULL,2), + (12040,12001,'280 lb/in coil spring',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12041,12001,'290 lb/in coil spring',NULL,2), + (12042,12001,'300 lb/in coil spring',NULL,2), + (12043,12001,'310 lb/in coil spring',NULL,2), + (12044,12001,'320 lb/in coil spring',NULL,2), + (12045,12001,'330 lb/in coil spring',NULL,2), + (12046,12001,'340 lb/in coil spring',NULL,2), + (12047,12001,'350 lb/in coil spring',NULL,2), + (12048,12001,'360 lb/in coil spring',NULL,3), + (12049,12001,'370 lb/in coil spring',NULL,3), + (12050,12001,'380 lb/in coil spring',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12051,12001,'390 lb/in coil spring',NULL,3), + (12052,12001,'400 lb/in coil spring',NULL,3), + (12053,12001,'410 lb/in coil spring',NULL,3), + (12054,12001,'420 lb/in coil spring',NULL,3), + (12055,12001,'430 lb/in coil spring',NULL,3), + (12056,12001,'440 lb/in coil spring',NULL,3), + (12057,12001,'450 lb/in coil spring',NULL,3), + (12058,12001,'460 lb/in coil spring',NULL,4), + (12059,12001,'470 lb/in coil spring',NULL,4), + (12060,12001,'480 lb/in coil spring',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (12061,12001,'490 lb/in coil spring',NULL,4), + (12062,12001,'500 lb/in coil spring',NULL,4), + (12063,12001,'510 lb/in coil spring',NULL,4), + (12064,12001,'180 lb/in coil spring',NULL,1), + (12065,12001,'Edelbrock AS Coil Spring',NULL,2), + (12066,12001,'Edelbrock AB Coil Spring',NULL,2), + (12067,12001,'Edelbrock AGB Coil Spring',NULL,2), + (12068,12001,'Edelbrock F Coil Spring',NULL,2), + (12069,12001,'Edelbrock M Coil Spring',NULL,2), + (13001,13001,'50 Nm Sway Bar',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (13002,13001,'60 Nm Sway Bar',NULL,1), + (13003,13001,'70 Nm Sway Bar',NULL,1), + (13004,13001,'80 Nm Sway Bar',NULL,1), + (13005,13001,'90 Nm Sway Bar',NULL,1), + (13006,13001,'100 Nm Sway Bar',NULL,1), + (13007,13001,'110 Nm Sway Bar',NULL,1), + (13008,13001,'120 Nm Sway Bar',NULL,1), + (13009,13001,'130 Nm Sway Bar',NULL,1), + (13010,13001,'140 Nm Sway Bar',NULL,1), + (13011,13001,'150 Nm Sway Bar',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (13012,13001,'160 Nm Sway Bar',NULL,1), + (13013,13001,'170 Nm Sway Bar',NULL,1), + (13014,13001,'180 Nm Sway Bar',NULL,2), + (13015,13001,'190 Nm Sway Bar',NULL,2), + (13016,13001,'200 Nm Sway Bar',NULL,2), + (13017,13001,'210 Nm Sway Bar',NULL,2), + (13018,13001,'220 Nm Sway Bar',NULL,2), + (13019,13001,'230 Nm Sway Bar',NULL,2), + (13020,13001,'240 Nm Sway Bar',NULL,2), + (13021,13001,'250 Nm Sway Bar',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (13022,13001,'260 Nm Sway Bar',NULL,3), + (13023,13001,'270 Nm Sway Bar',NULL,3), + (13024,13001,'280 Nm Sway Bar',NULL,3), + (13025,13001,'Edelbrock Tubular Panhard Rod',NULL,2), + (14001,14001,'LD Traction Bar',NULL,1), + (14002,14001,'ND Traction Bar',NULL,2), + (14003,14001,'HD Traction Bar',NULL,3), + (14004,14001,'XHD Traction Bar',NULL,4), + (14005,14001,'Edelbrock Anti-Hop Bar',NULL,2), + (15001,15001,'Wheel Assembly',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (16001,16001,'Fuzzy Dice Accessory','fuzzdice',1), + (17001,17001,'Generic Roll Bar','.bodymod',1), + (18001,18001,'Medium Window Tinting','.bodymod',1), + (18002,18001,'Light Window Tinting','.bodymod',1), + (18003,18001,'Dark Window Tinting','.bodymod',1), + (18004,18001,'Very Dark Window Tinting','.bodymod',1), + (20101,20001,'1932 Ford Coupe','32ford',1), + (20102,20001,'1940 Ford Coupe','40ford',1), + (20103,20001,'1953 Ford Crestline','53ford',1), + (20104,20001,'1957 Ford Fairlane','57fair',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20105,20001,'1957 Ford Ranchero','57ranch',1), + (20106,20001,'1957 Ford Thunderbird','57tbird',1), + (20107,20001,'1963 Ford Thunderbird','63tbird',1), + (20108,20001,'1964 Ford Mustang','64stang',1), + (20109,20001,'1964 Ford Galaxie','64galaxi',1), + (20110,20001,'1969 Ford Torino GT','69torino',1), + (20111,20001,'1970 Ford Boss 302','70stang',1), + (20112,20001,'1949 Mercury Coupe','49merc',1), + (20113,20001,'1957 Chevrolet Bel-Air','57chevy',1), + (20114,20001,'1957 Chevrolet Corvette','57vette',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20115,20001,'1957 Chevrolet Nomad','57nomad',1), + (20116,20001,'1964 Chevrolet Impala','64impala',1), + (20117,20001,'1963 Chevrolet Stingray','63vette',1), + (20118,20001,'1958 Chevrolet Impala','58impala',1), + (20119,20001,'1967 Chevrolet Chevelle','67chev',1), + (20120,20001,'1967 Chevrolet Camaro','67camaro',1), + (20121,20001,'1970 Chevrolet Chevelle','70chev',1), + (20122,20001,'1970 Chevrolet El Camino','70camino',1), + (20123,20001,'1970 Chevrolet Nova','70nova',1), + (20124,20001,'1947 Cadillac Series 62','47caddy',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20125,20001,'1959 Cadillac Eldorado','59caddy',1), + (20126,20001,'1969 Oldsmobile 4-4-2','69old442',1), + (20127,20001,'1955 Buick Century','55cent',1), + (20128,20001,'1966 Pontiac GTO','66gto',1), + (20129,20001,'1969 Pontiac GTO','69gto',1), + (20130,20001,'1973 Pontiac Firebird T/A','73trans',1), + (20131,20001,'1969 AMC AMX','69amcamx',1), + (20132,20001,'1969 Dodge Charger','69charge',1), + (20133,20001,'1969 Plymouth Rd. Runner','69runner',1), + (20134,20001,'1970 Plymouth Cuda','70hemicu',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20135,20001,'1971 Plymouth Duster','71duster',1), + (20138,20001,'1999 EA Traffic 2 door','trf2dr',1), + (20140,20001,'1967 Chevrolet Camaro SS','67sscam',1), + (20146,20001,'1990 EA TRFMONTE','TRFMONTE',1), + (20147,20001,'1990 EA TRFDELVR','TRFDELVR',1), + (20148,20001,'1990 EA TRFBUS','TRFBUS',1), + (20149,20001,'1990 EA TRFGSX','TRFGSX',1), + (20150,20001,'1990 EA TRFSTANG','TRFSTANG',1), + (20151,20001,'1990 EA TRFTBIRD','TRFTBIRD',1), + (20152,20001,'1990 EA TRFPUP1','TRFPUP1',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20153,20001,'1990 EA TRF2DR','TRF2DR',1), + (20157,20001,'1969 Plymouth GTX','69GTX',1), + (20207,20001,'1966 Shelby 427 Cobra','66cob',1), + (20210,20001,'1970 Ford Mustang','70stang',1), + (20211,20001,'1969 Ford Torino Cobra','69torino',1), + (20212,20001,'1970 Ford Mach 1','70STANG',1), + (20213,20001,'1970 Plymouth Hemi Cuda','70hemicu',1), + (20214,20001,'1970 Plymouth 440 Cuda','70hemicu',1), + (20215,20001,'1970 Plymouth AAR Cuda','70CUDA',1), + (20216,20001,'1971 Plymouth 340 Duster','71duster',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20217,20001,'1964 Chevrolet Impala SS','64impala',1), + (20218,20001,'1967 Chevrolet Chevelle SS','67chev',1), + (20219,20001,'1967 Chevrolet Camaro RS','67camaro',1), + (20220,20001,'1967 Chevrolet Camaro Z-28','67camaro',1), + (20221,20001,'1970 Chevrolet Chevelle SS','70CHEV',1), + (20222,20001,'1970 Chevrolet El Camino SS','70CAMINO',1), + (20223,20001,'1970 Chevrolet Nova SS','70nova',1), + (20224,20001,'1969 Oldsmobile 4-4-2 W-30','69W30old',1), + (20225,20001,'1969 Oldsmobile Hurst 4-4-2','69old442',1), + (20226,20001,'1969 Pontiac GTO Judge','69gto',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (20227,20001,'1973 Pontiac Firebird Formula','73fireb',1), + (20228,20001,'1973 Pontiac Firebird','73fireb',1), + (21001,21001,'1947 Cadillac','.bodymod',1), + (21002,21001,'1949 Ford','.bodymod',1), + (21003,21001,'1973 Cadillac Fleetwood Eldorado','.bodymod',1), + (21004,21001,'1953 Chevy Bel Air','.bodymod',1), + (21005,21001,'1967 Chevy Impala','.bodymod',1), + (21006,21001,'1969 Chevy Chevelle','.bodymod',1), + (21007,21001,'1970 Chevrolet Monte Carlo','.bodymod',1), + (21008,21001,'53 C.line Fender Skirt','.bodymod',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (21009,21001,'1955 Ford Fairlane','.bodymod',1), + (21010,21001,'1956 Ford / Thunderbird','.bodymod',1), + (21011,21001,'1957 Ford / Thunderbird','.bodymod',1), + (21012,21001,'1937 Ford','.bodymod',1), + (21013,21001,'1939 Chevrolet','.bodymod',1), + (21014,21001,'40 Coupe Fender Skirt','.bodymod',1), + (21015,21001,'1941 Plymouth','.bodymod',1), + (21016,21001,'49 Coupe Fender Skirt','.bodymod',1), + (22001,22001,'Vanilla Horn',NULL,1), + (22002,22001,'Cuda A',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (22003,22001,'Cuda B',NULL,1), + (22004,22001,'Cuda 2stone',NULL,1), + (22005,22001,'El Camino A',NULL,1), + (22006,22001,'El Camino B',NULL,1), + (22007,22001,'Firebird A',NULL,1), + (22008,22001,'Firebird B',NULL,1), + (22009,22001,'Fury',NULL,1), + (22010,22001,'GMC',NULL,1), + (22011,22001,'Hillman',NULL,1), + (22012,22001,'Impala',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (22013,22001,'Metropolitan',NULL,1), + (22014,22001,'Metropolitan Siren',NULL,1), + (22015,22001,'Mustang',NULL,1), + (22016,22001,'Snubnose',NULL,1), + (22017,22001,'Aoooga A',NULL,1), + (22018,22001,'Aoooga B',NULL,1), + (22019,22001,'Aoooga C',NULL,1), + (22020,22001,'Horn La cooca racha',NULL,1), + (22021,22001,'Horn Reville',NULL,1), + (22022,22001,'Horn Dixie',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (22023,22001,'Horn Charge',NULL,1), + (22024,22001,'Horn Charge Short',NULL,1), + (23001,23001,'1927 Ford Model T Boards','.bodymod',1), + (23002,23001,'1931 Ford Model A Boards','.bodymod',1), + (23003,23001,'1932 Ford Coupe Boards','.bodymod',1), + (23004,23001,'1932 Chevrolet Confederate Boards','.bodymod',1), + (23005,23001,'1934 Ford Coupe Boards','.bodymod',1), + (23006,23001,'1937 Ford Coupe Boards','.bodymod',1), + (23007,23001,'1937 Chevy Coupe Boards','.bodymod',1), + (23008,23001,'1939 Chevy Coupe Boards','.bodymod',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (23009,23001,'1940 Ford Deluxe Coupe Boards','.bodymod',1), + (23010,23001,'1941 Plymouth Coupe Boards','.bodymod',1), + (23011,23001,'1947 Cadillac Sedanette Boards','.bodymod',1), + (23012,23001,'1948 Ford Woody Boards','.bodymod',1), + (25001,340333,'Sipper Air Scoop 1%','scooprec',1), + (25002,340333,'Slipstream Air Scoop 2%','scooprec',2), + (25003,340333,'Impeller Air Scoop 3%','scooptri',3), + (25004,340333,'Holley Forced Air Scoop 4%','scooptri',3), + (25005,340333,'Holley Ram Air Scoop 5%','scooprec',4), + (25006,340333,'Pontiac Ram Air Induction System','SCOOPREC',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (25007,340333,'Olds W30 Forced Air Induction System','SCOOPREC',2), + (25008,340333,'Flared Velocity Stack','STACK1F',2), + (25009,340333,'Tall Flared Velocity Stack','STACK1FH',2), + (25010,340333,'Straight Velocity Stack','STACK1S',2), + (25011,340333,'Dual Flared Velocity Stacks','STACK2F',2), + (25012,340333,'Dual Tall Flared Velocity Stacks','STACK2FH',2), + (25013,340333,'Dual Straight Velocity Stacks','STACK2S',2), + (25014,340333,'Triple Flared Velocity Stacks','stack3f',2), + (25015,340333,'Triple Tall Flared Velocity Stacks','stack3fh',2), + (25016,340333,'Triple Straight Velocity Stacks','stack3s',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (25017,340333,'Quad Flared Velocity Stacks','STACK4F',2), + (25018,340333,'Quad Tall Flared Velocity Stacks','STACK4FH',2), + (25019,340333,'Quad Straight Velocity Stacks','STACK4S',2), + (25020,340333,'Eight Flared Velocity Stacks','STACK8F',2), + (25021,340333,'Eight Tall Flared Velocity Stacks','STACK8FH',2), + (25022,340333,'Eight Straight Velocity Stacks','STACK8S',2), + (26001,26001,'White Fog Lights','FOGWHITE',1), + (27001,26001,'Amber Fog Lights','FOGAMBER',1), + (28001,28001,'1940 Ford Spot Light','SPOTLITE',1), + (28002,28001,'1947 Cadillac Spot Light','SPOTLITE',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (28003,28001,'1955 Buick Spot Light','SPOTLITE',1), + (28004,28001,'1957 Chevy Bel-Air Spot Light','SPOTLITE',1), + (28005,28001,'1957 Chevy Wagon Spot Light','SPOTLITE',1), + (29001,29001,'25 kg Spoiler','.bodymod',1), + (29002,29001,'50 kg Spoiler','.bodymod',1), + (29003,29001,'75 kg Spoiler','.bodymod',1), + (29004,29001,'100 kg Spoiler','.bodymod',2), + (29005,29001,'125 kg Spoiler','.bodymod',2), + (29006,29001,'150 kg Spoiler','.bodymod',2), + (29007,29001,'175 kg Spoiler','.bodymod',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (29008,29001,'200 kg Spoiler','.bodymod',3), + (29009,29001,'225 kg Spoiler','.bodymod',3), + (29010,29001,'250 kg Spoiler','.bodymod',4), + (30001,30001,'25 kg Rear Spoiler','SPOILER',1), + (30002,30001,'50 kg Rear Spoiler','SPOILER',1), + (30003,30001,'75 kg Rear Spoiler','SPOILER',1), + (30004,30001,'100 kg Rear Spoiler','SPOILER',2), + (30005,30001,'125 kg Rear Spoiler','SPOILER',2), + (30006,30001,'150 kg Rear Spoiler','SPOILER',2), + (30007,30001,'175 kg Rear Spoiler','SPOILER',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (30008,30001,'200 kg Rear Spoiler','SPOILER',3), + (30009,30001,'225 kg Rear Spoiler','SPOILER',3), + (30010,30001,'250 kg Rear Spoiler','SPOILER',4), + (31166,31001,'Hardtop',NULL,1), + (31167,31001,'Chopped Top','.chopped',1), + (31168,31001,'Convertible Top','.convert',1), + (31169,31001,'Vinyl Top','.vinyl',1), + (32001,32001,'Wheelie Bar Attachment','WHEELIE',1), + (33001,33001,'Speedline Driver','DRIVER10',1), + (34001,34001,'32 Ford Fenders','.bodymod',0); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (35001,35001,'32 Ford Bumpers','.bodymod',0), + (35002,35001,'40 Ford Bumpers','.bodymod',0), + (35003,35001,'65 Shelby Cobra Bumpers','.bodymod',0), + (36002,36001,'Engine Assembly',NULL,1), + (36003,36001,'Buick 322 4V (255 hp)',NULL,1), + (36004,36001,'Chevy SB 265 2V (162 hp)',NULL,1), + (36005,36001,'Chevy SB 265 4V (180 hp)',NULL,1), + (36006,36001,'Chevy SB 265 4V (195 hp)',NULL,1), + (36007,36001,'Chevy SB 283 2V (185 hp)',NULL,1), + (36008,36001,'Chevy SB 283 4V (220 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36009,36001,'Chevy SB 283 2x4V (245 hp)',NULL,1), + (36010,36001,'Chevy SB 283 2x4V (270 hp)',NULL,1), + (36011,36001,'Chevy SB 283 FI (283 hp)',NULL,2), + (36012,36001,'Chevy SB 283 FI (290 hp)',NULL,2), + (36013,36001,'Chevy SB 283 FI (275 hp)',NULL,2), + (36014,36001,'Chevy SB 283 FI (315 hp)',NULL,2), + (36015,36001,'Chevy SB 265 2x4V (225 hp)',NULL,1), + (36016,36001,'Chevy SB 327 4V (250 hp)',NULL,1), + (36017,36001,'Chevy SB 327 4V (300 hp)',NULL,1), + (36018,36001,'Chevy SB 327 4V (340 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36019,36001,'Chevy SB 327 FI (360 hp)',NULL,2), + (36020,36001,'Chevy SB 327 4V (365 hp)',NULL,2), + (36021,36001,'Chevy SB 327 FI (375 hp)',NULL,2), + (36022,36001,'Chevy SB 302 4V (290 hp)',NULL,2), + (36023,36001,'Chevy SB 350 4V (295 hp)',NULL,1), + (36024,36001,'Chevy SB 350 4V (250 hp)',NULL,1), + (36025,36001,'Chevy SB 350 4V (350 hp)',NULL,2), + (36026,36001,'Chevy SB 350 4V (360 hp) Z/28',NULL,2), + (36027,36001,'Chevy SB 350 4V (370 hp) LT-1',NULL,2), + (36028,36001,'Chevy SB 400 4V (265 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36029,36001,'Chevy W 348 4V (250 hp)',NULL,1), + (36030,36001,'Chevy W 348 3x2V (280 hp)',NULL,1), + (36031,36001,'Chevy W 348 4V (305 hp)',NULL,2), + (36032,36001,'Chevy W 348 4V (315 hp)',NULL,2), + (36033,36001,'Chevy W 348 3x2V (315 hp)',NULL,2), + (36034,36001,'Chevy W 348 4V (320 hp)',NULL,2), + (36035,36001,'Chevy W 348 3x2V (335 hp)',NULL,2), + (36036,36001,'Chevy W 348 4V (340 hp)',NULL,2), + (36037,36001,'Chevy W 348 3x2V (350 hp)',NULL,2), + (36038,36001,'Chevy W 409 4V (360 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36039,36001,'Chevy W 409 4V (380 hp)',NULL,2), + (36040,36001,'Chevy W 409 2x4V (409 hp)',NULL,2), + (36041,36001,'Chevy W 409 4V (340 hp)',NULL,2), + (36042,36001,'Chevy W 409 4V (400 hp)',NULL,2), + (36043,36001,'Chevy W 409 2x4V (425 hp)',NULL,2), + (36044,36001,'Chevy W 427 2x4V (430 hp) Z11',NULL,2), + (36045,36001,'Chevy BB 396 4V (325 hp)',NULL,1), + (36046,36001,'Chevy BB 396 4V (350 hp)',NULL,2), + (36047,36001,'Chevy BB 396 4V (425 hp)',NULL,2), + (36048,36001,'Chevy BB 396 4V (360 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36049,36001,'Chevy BB 427 4V (390 hp)',NULL,1), + (36050,36001,'Chevy BB 427 4V (425 hp)',NULL,2), + (36051,36001,'Chevy BB 427 3x2V (400 hp)',NULL,2), + (36052,36001,'Chevy BB 427 4V (430 hp) L88',NULL,3), + (36053,36001,'Chevy BB 427 3x2V (435 hp) L89',NULL,3), + (36054,36001,'Chevy BB 427 3x2V (435 hp) L71',NULL,3), + (36055,36001,'Chevy BB 402 4V (325 hp)',NULL,1), + (36056,36001,'Chevy BB 454 4V (345 hp) LS4',NULL,1), + (36057,36001,'Chevy BB 454 4V (360 hp) LS5',NULL,1), + (36058,36001,'Chevy BB 454 4V (390 hp) LS5',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36059,36001,'Chevy BB 454 4V (450 hp) LS6',NULL,3), + (36060,36001,'Chevy BB 454 4V (465 hp) LS7',NULL,3), + (36061,36001,'Chevy BB 454 4V (425 hp) LS6',NULL,3), + (36062,36001,'Olds 455 2V (310 hp)',NULL,1), + (36063,36001,'Olds 455 4V (365 hp)',NULL,1), + (36064,36001,'Olds 455 4V (375 hp)',NULL,1), + (36065,36001,'Olds 455 4V (390 hp)',NULL,2), + (36066,36001,'Olds 455 4V (400 hp)',NULL,2), + (36067,36001,'Olds 400 4V (345 hp)',NULL,1), + (36068,36001,'Olds 400 4V (350 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36069,36001,'Olds 400 3x2V (365 hp)',NULL,2), + (36070,36001,'Olds 400 2V (300 hp)',NULL,1), + (36071,36001,'Olds 400 4V W30',NULL,2), + (36072,36001,'Pontiac 389 2V (215 hp)',NULL,1), + (36073,36001,'Pontiac 389 2V (245 hp)',NULL,1), + (36074,36001,'Pontiac 389 4V (260 hp)',NULL,1), + (36075,36001,'Pontiac 389 2V (280 hp)',NULL,1), + (36076,36001,'Pontiac 389 4V (303 hp)',NULL,1), + (36077,36001,'Pontiac 389 Trophy 4V (300 hp)',NULL,2), + (36078,36001,'Pontiac 389 Trophy 3x2V (315 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36079,36001,'Pontiac 389 SD 4V (330 hp)',NULL,3), + (36080,36001,'Pontiac 389 SD 3x2V (345 hp)',NULL,3), + (36081,36001,'Pontiac 389 Trophy 3x2V (333 hp)',NULL,2), + (36082,36001,'Pontiac 389 Trophy 4V (318 hp)',NULL,2), + (36083,36001,'Pontiac 389 SD 3x2V (363 hp)',NULL,2), + (36084,36001,'Pontiac 421 SD 2x4V (373 hp)',NULL,2), + (36085,36001,'Pontiac 421 4V (320 hp)',NULL,1), + (36086,36001,'Pontiac 421 SD 2x4V (405 hp)',NULL,3), + (36087,36001,'Pontiac 421 HO 4V (353 hp)',NULL,2), + (36088,36001,'Pontiac 421 HO 3x2V (370 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36089,36001,'Pontiac 421 SD 4V (390 hp)',NULL,3), + (36090,36001,'Pontiac 421 SD 2x4V (410 hp)',NULL,3), + (36091,36001,'Pontiac 400 2V (255 hp)',NULL,1), + (36092,36001,'Pontiac 400 4V (290 hp)',NULL,1), + (36093,36001,'Pontiac 400 Ram Air I',NULL,2), + (36094,36001,'Pontiac 400 Ram Air II',NULL,2), + (36095,36001,'Pontiac 400 Ram Air IV',NULL,2), + (36096,36001,'Pontiac 455 4V (360 hp)',NULL,2), + (36097,36001,'Pontiac 455 4V (370 hp)',NULL,2), + (36098,36001,'Pontiac 455 HO 4V (335 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36099,36001,'Pontiac 455 SD 4V (290 hp)',NULL,2), + (36100,36001,'Ford Y 292 4V (193 hp)',NULL,1), + (36101,36001,'Ford Y 292 4V (198 hp)',NULL,1), + (36102,36001,'Ford Y 292 4V (212 hp)',NULL,1), + (36103,36001,'Ford Y 312 4V (210 hp)',NULL,1), + (36104,36001,'Ford Y 312 4V (225 hp)',NULL,1), + (36105,36001,'Ford Y 312 2x4V (265 hp)',NULL,1), + (36106,36001,'Ford FE 352 4V (300 hp)',NULL,2), + (36107,36001,'Ford FE 352 HP 4V (360 hp)',NULL,2), + (36108,36001,'Ford FE 352 2V (220 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36109,36001,'Ford FE 390 4V (300 hp)',NULL,1), + (36110,36001,'Ford FE 390 HP 4V (375 hp)',NULL,2), + (36111,36001,'Ford FE 390 HP 3x2V (401 hp)',NULL,2), + (36112,36001,'Ford FE 390 PI 4V (330 hp)',NULL,2), + (36113,36001,'Ford FE 390 3x2V (340 hp)',NULL,1), + (36114,36001,'Ford FE 390 2V (250 hp)',NULL,1), + (36115,36001,'Ford FE 390 2V (275 hp)',NULL,1), + (36116,36001,'Ford FE 390 4V (315 hp)',NULL,1), + (36117,36001,'Ford FE 390 GT 4V (335 hp)',NULL,1), + (36118,36001,'Ford FE 406 4V (385 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36119,36001,'Ford FE 406 3x2V (405 hp)',NULL,2), + (36120,36001,'Ford FE 427 LR 4V (410 hp)',NULL,2), + (36121,36001,'Ford FE 427 MR 4V (410 hp)',NULL,2), + (36122,36001,'Ford FE 427 MR 2x4V (425 hp)',NULL,2), + (36123,36001,'Ford FE 427 SOHC 4V (615 hp)',NULL,3), + (36124,36001,'Ford FE 428 4V (345 hp)',NULL,1), + (36125,36001,'Ford FE 428 4V (360 hp)',NULL,1), + (36126,36001,'Ford FE 428 CJ 4V (335 hp)',NULL,2), + (36127,36001,'Ford FE 428 SCJ 4V (335 hp)',NULL,2), + (36128,36001,'Ford SB 260 2V (164 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36129,36001,'Ford SB 289 HP 4V (271 hp)',NULL,1), + (36130,36001,'Ford SB 289 4V (210 hp)',NULL,1), + (36131,36001,'Ford SB 289 4V (225 hp)',NULL,1), + (36132,36001,'Ford SB 302 2V (210 hp)',NULL,1), + (36133,36001,'Ford SB 302 4V (230 hp)',NULL,1), + (36134,36001,'Ford SB 302 Boss 4V (290 hp)',NULL,2), + (36135,36001,'Ford SB 351W 2V (250 hp)',NULL,1), + (36136,36001,'Ford SB 351W 4V (290 hp)',NULL,1), + (36137,36001,'Ford SB 351W 2V (240 hp)',NULL,1), + (36138,36001,'Ford 351C 2V (250 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36139,36001,'Ford 351C 4V (300 hp)',NULL,1), + (36140,36001,'Ford 351C CJ 4V (280 hp)',NULL,2), + (36141,36001,'Ford 351C Boss 4V (330 hp)',NULL,2), + (36142,36001,'Ford 351C HO 4V (275 hp)',NULL,2), + (36143,36001,'Ford 351C 2V (177 hp)',NULL,1), + (36144,36001,'Ford 400C 2V (260 hp)',NULL,1), + (36145,36001,'Ford 400C 2V (172 hp)',NULL,1), + (36146,36001,'Ford 385 429 4V (360 hp)',NULL,1), + (36147,36001,'Ford 385 429 2V (320 hp)',NULL,1), + (36148,36001,'Ford 385 429 SCJ 4V (375 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36149,36001,'Ford 385 429 CJ 4V (370 hp)',NULL,2), + (36150,36001,'Ford 385 429 4V (212 hp)',NULL,1), + (36151,36001,'Ford 385 429 NASCAR',NULL,3), + (36152,36001,'Ford 385 460 4V (365 hp)',NULL,1), + (36153,36001,'Ford 385 460 4V (224 hp)',NULL,1), + (36154,36001,'Ford 385 460 PI 4V (274 hp)',NULL,1), + (36155,36001,'Chrysler BB 383 2V (305 hp)',NULL,1), + (36156,36001,'Chrysler BB 383 4V (325 hp)',NULL,1), + (36157,36001,'Chrysler BB 383 2V (270 hp)',NULL,1), + (36158,36001,'Chrysler BB 383 2x4V (330 hp)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36159,36001,'Chrysler BB 400 2V (190 hp)',NULL,1), + (36160,36001,'Chrysler BB 400 4V (255 hp)',NULL,1), + (36161,36001,'Chrysler BB 400 4V (205 hp)',NULL,1), + (36162,36001,'Chrysler BB 413 4V (350 hp)',NULL,1), + (36163,36001,'Chrysler BB 413 2x4V (380 hp)',NULL,1), + (36164,36001,'Chrysler BB 413 Long Ram 2x4V (375 hp)',NULL,2), + (36165,36001,'Chrysler BB 413 Short Ram 2x4V (400 hp)',NULL,2), + (36166,36001,'Chrysler BB 413 Max Wedge 2x4V (410 hp)',NULL,2), + (36167,36001,'Chrysler BB 413 Max Wedge 2x4V (420 hp)',NULL,2), + (36168,36001,'Chrysler BB 413 4V (365 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36169,36001,'Chrysler BB 413 2x4V (390 hp)',NULL,2), + (36170,36001,'Chrysler BB 426 Max Wedge III 2x4V (415 hp)',NULL,2), + (36171,36001,'Chrysler BB 426 Max Wedge III 2x4V (425 hp)',NULL,2), + (36172,36001,'Chrysler BB 426 Max Wedge 2x4V (415 hp)',NULL,2), + (36173,36001,'Chrysler BB 426 Max Wedge 2x4V (425 hp)',NULL,3), + (36174,36001,'Chrysler BB 426 4V (365 hp) b',NULL,1), + (36175,36001,'Chrysler Hemi 426 2x4V (425 hp)',NULL,3), + (36176,36001,'Chrysler BB 440 4V (350 hp)',NULL,1), + (36177,36001,'Chrysler BB 440 3x2V (390 hp)',NULL,2), + (36178,36001,'AMC 343 2V (235 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36179,36001,'AMC 390 4V (315 hp)',NULL,1), + (36180,36001,'AMC 390 4V (325 hp)',NULL,2), + (36181,36001,'AMC 390 4V Rebel Machine (340 hp)',NULL,2), + (36182,36001,'Chevy SB 265 4V (205 hp)',NULL,2), + (36183,36001,'Chevy W 409 2x4V (425 hp)',NULL,3), + (36184,36001,'Chevrolet BB 402 4V (350 hp)',NULL,2), + (36185,36001,'Chevrolet BB 402 4V (375 hp)',NULL,2), + (36186,36001,'Pontiac 400 Ram Air III',NULL,2), + (36187,36001,'Pontiac 400 Ram Air V',NULL,3), + (36188,36001,'Ford FE 352 4V (235 hp)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (36189,36001,'Shade Tree 2V (140 hp)',NULL,1), + (37001,37001,'Generic Exh Assembly',NULL,1), + (39001,39001,'Cop Lights','siren',1), + (40001,40001,'Vanilla Hood','.bodymod',1), + (40002,40001,'32 Coupe','.bodymod',1), + (40003,40001,'40 Coupe','.bodymod',1), + (40004,40001,'49 Mercury','.bodymod',1), + (40005,40001,'53 Coupe','.bodymod',1), + (40006,40001,'57 Fairlane','.bodymod',1), + (40007,40001,'57 Ranchero','.bodymod',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40008,40001,'57 Thunderbird','.bodymod',1), + (40009,40001,'63 Thunderbird','.bodymod',1), + (40010,40001,'64 Mustang','.bodymod',1), + (40011,40001,'64 Galaxie','.bodymod',1), + (40012,40001,'69 Torino','.bodymod',1), + (40013,40001,'70 Mustang','.bodymod',1), + (40014,40001,'47 Caddy','.bodymod',1), + (40015,40001,'55 Century','.bodymod',1), + (40016,40001,'57 Bel-Air','.bodymod',1), + (40017,40001,'57 Nomad','.bodymod',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40018,40001,'57 Corvette','.bodymod',1), + (40019,40001,'58 Impala','.bodymod',1), + (40020,40001,'59 Eldorado','.bodymod',1), + (40021,40001,'63 Corvette','.bodymod',1), + (40022,40001,'64 Impala','.bodymod',1), + (40023,40001,'66 GTO','.bodymod',1), + (40024,40001,'67 Chevelle','.bodymod',1), + (40025,40001,'67 Camaro','.bodymod',1), + (40026,40001,'69 Olds 442','.bodymod',1), + (40027,40001,'69 GTO','.bodymod',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40028,40001,'70 El Camino','.bodymod',1), + (40029,40001,'70 Nova','.bodymod',1), + (40030,40001,'70 Chevelle','.bodymod',1), + (40031,40001,'73 Firebird','.bodymod',1), + (40032,40001,'69 Charger','.bodymod',1), + (40033,40001,'69 Road Runner','.bodymod',1), + (40034,40001,'69 AMX','.bodymod',1), + (40035,40001,'70 Cuda','.large',1), + (40036,40001,'71 Duster','.bodymod',1), + (40037,40001,'1963 Ford Thunderbird Scoop','.factory',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40038,40001,'1969 Hurst/Olds 4-4-2 Scoop','.factory',2), + (40039,40001,'1969 Ford Torino GT Scoop','.factory',2), + (40040,40001,'1969 Ford Torino Scoop','.factory',2), + (40041,40001,'1967 Chevy Chevelle SS-396 Scoop','.factory',2), + (40042,40001,'1967 Camaro SS-396 Scoop','.bodymod',2), + (40043,40001,'1957 Ford Thunderbird Scoop','.factory',2), + (40044,40001,'1964 Pontiac GTO Scoop','.factory',2), + (40045,40001,'1963 Corvette Stingray Scoop','.factory',2), + (40046,40001,'1969 Oldsmobile 4-4-2 W-30 Scoop','.factory',2), + (40047,40001,'1973 Pontiac Firebird Scoop','.factory',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40048,40001,'1966 Pontiac GTO Scoop','.factory',2), + (40049,40001,'1969 Pontiac GTO Scoop','.factory',2), + (40050,40001,'1969 Pontiac Firebird Scoop','.factory',2), + (40051,40001,'1969 Plymouth Road Runner Scoop','.factory',2), + (40052,40001,'1970 Buick Gran Sport Scoop','.factory',2), + (40053,40001,'1970 Chevy Nova SS-396 Scoop','.factory',2), + (40054,40001,'1970 Plymouth ''Cuda Scoop','.bodymod',2), + (40055,40001,'1973 Pontiac Trans-Am Scoop','.factory',2), + (40056,40001,'1970 Dodge Challenger R/T Scoop','.factory',2), + (40057,40001,'1958 Chevy Impala Sport Scoop','.factory',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (40058,40001,'1970 Plymouth ''Cuda Hemi Scoop','.factory',2), + (40059,40001,'Hood Mod Bel-Air','.large',2), + (40060,40001,'66 Shelby Cobra Hood','.bodymod',1), + (40061,40001,'1970 Chevy Chevelle SS Hood','.factory',1), + (40062,40001,'1970 Ford Mustang Factory Scoop Hood','.factory',2), + (100001,100001,'Cast Iron Rim (Round Flat)','RIM01',1), + (100002,100001,'Steel Rim (Web Polished)','RIM11',1), + (100003,100001,'Steel Slotted Rim (Star Polished)','RIM02',1), + (100004,100001,'Aluminum Alloy Rim (Twist Split Star)','RIM05',2), + (100005,100001,'Magnesium Rim (Round Flat)','RIM01',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100006,100001,'HS-00','HC00',1), + (100007,100001,'HS-01','HC01',1), + (100008,100001,'HS-02','HC02',1), + (100009,100001,'HS-03','HC03',1), + (100010,100001,'HS-04','HC04',1), + (100011,100001,'HS-05','HC05',1), + (100012,100001,'HS-06','HC06',1), + (100013,100001,'HS-07','HC07',1), + (100014,100001,'HS-08','HC08',1), + (100015,100001,'HS-09','HC09',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100016,100001,'HS-10','HC10',1), + (100017,100001,'HS-11','HC11',1), + (100018,100001,'HS-12','HC12',1), + (100019,100001,'HS-13','HC13',1), + (100020,100001,'HS-14','HC14',1), + (100021,100001,'HS-15','HC15',1), + (100022,100001,'HS-16','HC16',1), + (100023,100001,'HS-17','HC17',1), + (100024,100001,'HS-18','HC18',1), + (100025,100001,'HS-19','HC19',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100026,100001,'HS-20','HC20',1), + (100027,100001,'HS-21','HC21',1), + (100028,100001,'HS-22','HC22',1), + (100029,100001,'HS-23','HC23',1), + (100030,100001,'HS-24','HC24',1), + (100031,100001,'HS-25','HC25',1), + (100032,100001,'HS-26','HC26',1), + (100033,100001,'HS-27','HC27',1), + (100034,100001,'HS-28','HC28',1), + (100035,100001,'HS-29','HC29',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100036,100001,'HS-30','HC30',1), + (100037,100001,'HS-31','HC31',1), + (100038,100001,'HS-32','HC32',1), + (100039,100001,'HS-33','HC33',1), + (100040,100001,'HS-34','HC34',1), + (100041,100001,'HS-35','HC35',1), + (100042,100001,'HS-36','HC36',1), + (100043,100001,'HS-37','HC37',1), + (100044,100001,'HS-38','HC38',1), + (100045,100001,'HS-39','HC39',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100046,100001,'HS-40','HC40',1), + (100047,100001,'HS-41','HC41',1), + (100048,100001,'HS-42','HC42',1), + (100049,100001,'HS-43','HC43',1), + (100050,100001,'HS-44','HC44',1), + (100051,100001,'HS-45','HC45',1), + (100052,100001,'HS-46','HC46',1), + (100053,100001,'HS-47','HC47',1), + (100054,100001,'HS-48','HC48',1), + (100055,100001,'HS-49','HC49',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100056,100001,'HS-50','HC50',1), + (100057,100001,'HS-51','HC51',1), + (100058,100001,'HS-52','HC52',1), + (100059,100001,'HS-53','hc53',1), + (100060,100001,'HS-54','hc54',1), + (100061,100001,'HS-55','hc55',1), + (100062,100001,'HS-56','hc56',1), + (100063,100001,'HS-57','hc57',1), + (100064,100001,'HS-58','hc58',1), + (100065,100001,'HA-00','HCA00',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100066,100001,'HA-01','HCA01',1), + (100067,100001,'HA-02','HCA02',1), + (100068,100001,'HA-03','HCA03',1), + (100069,100001,'HA-04','HCA04',1), + (100070,100001,'HA-05','HCA05',1), + (100071,100001,'HA-06','HCA06',1), + (100072,100001,'HA-07','HCA07',1), + (100073,100001,'HA-08','HCA08',1), + (100074,100001,'HA-09','HCA09',1), + (100075,100001,'HA-10','HCA10',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100076,100001,'HA-11','HCA11',1), + (100077,100001,'HA-12','HCA12',1), + (100078,100001,'HA-13','HCA13',1), + (100079,100001,'HA-14','HCA14',1), + (100080,100001,'HA-15','HCA15',1), + (100081,100001,'HA-16','HCA16',1), + (100082,100001,'HA-17','HCA17',1), + (100083,100001,'HA-18','HCA18',1), + (100084,100001,'HA-19','HCA19',1), + (100085,100001,'HA-20','HCA20',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100086,100001,'HA-21','HCA21',1), + (100087,100001,'HA-22','HCA22',1), + (100088,100001,'HA-23','HCA23',1), + (100089,100001,'HA-24','HCA24',1), + (100090,100001,'HA-25','HCA25',1), + (100091,100001,'HA-26','HCA26',1), + (100092,100001,'HA-27','HCA27',1), + (100093,100001,'RS-00','RIM00',1), + (100094,100001,'RS-01','RIM01',1), + (100095,100001,'RS-02','RIM02',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100096,100001,'RS-03','RIM03',1), + (100097,100001,'RS-04','RIM04',1), + (100098,100001,'RS-05','RIM05',1), + (100099,100001,'RS-06','RIM06',1), + (100100,100001,'RS-07','RIM07',1), + (100101,100001,'RS-08','RIM08',1), + (100102,100001,'RS-09','RIM09',1), + (100103,100001,'RS-10','RIM10',1), + (100104,100001,'RS-11','RIM11',1), + (100105,100001,'RS-12','RIM12',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100106,100001,'RA-00','RIMA00',1), + (100107,100001,'RA-01','RIMA01',1), + (100108,100001,'RA-02','RIMA02',1), + (100109,100001,'RA-03','RIMA03',1), + (100110,100001,'RA-04','RIMA04',1), + (100111,100001,'RA-05','RIMA05',1), + (100112,100001,'RA-06','RIMA06',1), + (100113,100001,'RA-07','RIMA07',1), + (100114,100001,'RA-08','RIMA08',1), + (100115,100001,'RA-09','RIMA09',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100116,100001,'RA-10','RIMA10',1), + (100117,100001,'RA-11','RIMA11',1), + (100118,100001,'RA-12','RIMA12',1), + (100119,100001,'RA-13','RIMA13',1), + (100120,100001,'RA-14','RIMA14',1), + (100121,100001,'RA-15','RIMA15',1), + (100122,100001,'RA-16','RIMA16',1), + (100123,100001,'RA-17','RIMA17',1), + (100124,100001,'RA-18','RIMA18',1), + (100125,100001,'RA-19','RIMA19',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100126,100001,'RA-20','RIMA20',1), + (100127,100001,'RA-21','RIMA21',1), + (100128,100001,'RA-22','RIMA22',1), + (100129,100001,'RA-23','RIMA23',1), + (100130,100001,'RA-24','RIMA24',1), + (100131,100001,'RA-25','RIMA25',1), + (100132,100001,'RA-26','RIMA26',1), + (100133,100001,'RA-27','RIMA27',1), + (100134,100001,'RA-28','RIMA28',1), + (100135,100001,'RA-29','RIMA29',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (100136,100001,'22.5" Heavy Truck Rim','RIM01',1), + (100137,100001,'Aluminum Slot','RIMA00',2), + (100138,100001,'Aluminum Round','RIMA01',1), + (100139,100001,'Aluminum Twistar 5','HCA03',2), + (100140,100001,'Aluminum Rippled Orb','HC14',2), + (100141,100001,'Aluminum Hypnotic Star 6','HC13',2), + (100142,100001,'Aluminum Super Slot 15','HCA03',2), + (100143,100001,'Aluminum Teardrop Slot 8','HCA04',2), + (100144,100001,'Aluminum Twistar 7','HCA05',2), + (100145,100001,'Aluminum Power Turbine','HCA15',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110001,110001,'18 x 5.25 Bias Ply Blackwalls (2ply)','TIREBLAC',1), + (110002,110001,'150/82/14 Bias Ply','TIREBLAC',1), + (110003,110001,'170/82/14 Bias Ply','TIREBLAC',1), + (110004,110001,'178/82/14 Bias Ply','TIREBLAC',1), + (110005,110001,'190/82/14 Bias Ply','TIREBLAC',1), + (110006,110001,'210/82/14 Bias Ply','TIREBLAC',2), + (110007,110001,'150/92/14 Bias Ply','TIREBLAC',1), + (110008,110001,'170/92/14 Bias Ply','TIREBLAC',1), + (110009,110001,'178/92/14 Bias Ply','TIREBLAC',1), + (110010,110001,'190/92/14 Bias Ply','TIREBLAC',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110011,110001,'210/92/14 Bias Ply','TIREBLAC',2), + (110012,110001,'170/82/15 Bias Ply','TIREBLAC',1), + (110013,110001,'190/82/15 Bias Ply','TIREBLAC',1), + (110014,110001,'210/82/15 Bias Ply','TIREBLAC',1), + (110015,110001,'150/92/15 Bias Ply','TIREBLAC',1), + (110016,110001,'170/92/15 Bias Ply','TIREBLAC',1), + (110017,110001,'190/92/15 Bias Ply','TIREBLAC',1), + (110018,110001,'150/92/16 Bias Ply','TIREBLAC',1), + (110019,110001,'170/92/16 Bias Ply','TIREBLAC',1), + (110020,110001,'190/92/16 Bias Ply','TIREBLAC',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110021,110001,'210/92/16 Bias Ply','TIREBLAC',1), + (110022,110001,'190/60/14 Bias Belted','TIREBLAC',1), + (110023,110001,'214/60/14 Bias Belted','TIREBLAC',1), + (110024,110001,'238/60/14 Bias Belted','TIREBLAC',1), + (110025,110001,'190/72/14 Bias Belted','TIREBLAC',1), + (110026,110001,'202/72/14 Bias Belted','TIREBLAC',1), + (110027,110001,'214/72/14 Bias Belted','TIREBLAC',1), + (110028,110001,'226/72/14 Bias Belted','TIREBLAC',1), + (110029,110001,'238/72/14 Bias Belted','TIREBLAC',1), + (110030,110001,'166/82/14 Bias Belted','TIREBLAC',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110031,110001,'178/82/14 Bias Belted','TIREBLAC',1), + (110032,110001,'190/82/14 Bias Belted','TIREBLAC',1), + (110033,110001,'202/82/14 Bias Belted','TIREBLAC',1), + (110034,110001,'214/82/14 Bias Belted','TIREBLAC',1), + (110035,110001,'178/92/14 Bias Belted','TIREBLAC',1), + (110036,110001,'202/92/14 Bias Belted','TIREBLAC',1), + (110037,110001,'178/60/15 Bias Belted','TIREBLAC',1), + (110038,110001,'202/60/15 Bias Belted','TIREBLAC',1), + (110039,110001,'226/60/15 Bias Belted','TIREBLAC',1), + (110040,110001,'238/60/15 Bias Belted','TIREBLAC',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110041,110001,'202/72/15 Bias Belted','TIREBLAC',1), + (110042,110001,'226/72/15 Bias Belted','TIREBLAC',1), + (110043,110001,'238/72/15 Bias Belted','TIREBLAC',2), + (110044,110001,'190/82/15 Bias Belted','TIREBLAC',1), + (110045,110001,'214/82/15 Bias Belted','TIREBLAC',1), + (110046,110001,'238/82/15 Bias Belted','TIREBLAC',2), + (110047,110001,'178/92/15 Bias Belted','TIREBLAC',1), + (110048,110001,'202/92/15 Bias Belted','TIREBLAC',1), + (110049,110001,'226/92/15 Bias Belted','TIREBLAC',1), + (110050,110001,'238/92/15 Bias Belted','TIREBLAC',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110051,110001,'185/65/14 Radial','TIREBLAC',1), + (110052,110001,'205/65/14 Radial','TIREBLAC',1), + (110053,110001,'195/70/14 Radial','TIREBLAC',1), + (110054,110001,'215/70/14 Radial','TIREBLAC',1), + (110055,110001,'195/75/14 Radial','TIREBLAC',1), + (110056,110001,'205/75/14 Radial','TIREBLAC',1), + (110057,110001,'195/65/15 Radial','TIREBLAC',1), + (110058,110001,'215/65/15 Radial','TIREBLAC',2), + (110059,110001,'205/70/15 Radial','TIREBLAC',1), + (110060,110001,'215/70/15 Radial','TIREBLAC',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110061,110001,'225/70/15 Radial','TIREBLAC',2), + (110062,110001,'205/75/15 Radial','TIREBLAC',1), + (110063,110001,'215/75/15 Radial','TIREBLAC',1), + (110064,110001,'235/75/15 Radial','TIREBLAC',2), + (110065,110001,'215/65/16 Radial','TIREBLAC',1), + (110066,110001,'215/60/16 Radial','TIREBLAC',1), + (110067,110001,'225/60/16 Radial','TIREBLAC',1), + (110068,110001,'225/55/16 Radial','TIREBLAC',1), + (110069,110001,'205/55/15 Radial Rain','TIREBLAC',2), + (110070,110001,'195/60/15 Radial Rain','TIREBLAC',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110071,110001,'205/60/15 Radial Rain','TIREBLAC',2), + (110072,110001,'215/60/15 Radial Rain','TIREBLAC',2), + (110073,110001,'185/65/15 Radial Rain','TIREBLAC',2), + (110074,110001,'195/65/15 Radial Rain','TIREBLAC',2), + (110075,110001,'205/65/15 Radial Rain','TIREBLAC',2), + (110076,110001,'215/65/15 Radial Rain','TIREBLAC',2), + (110077,110001,'225/55/16 Radial Rain','TIREBLAC',2), + (110078,110001,'215/60/16 Radial Rain','TIREBLAC',2), + (110079,110001,'225/60/16 Radial Rain','TIREBLAC',2), + (110080,110001,'195/55/15VR Performance','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110081,110001,'205/55/15VR Performance','TIREBLAC',3), + (110082,110001,'195/60/15VR Performance','TIREBLAC',3), + (110083,110001,'205/60/15VR Performance','TIREBLAC',3), + (110084,110001,'215/60/15VR Performance','TIREBLAC',3), + (110085,110001,'185/65/15VR Performance','TIREBLAC',3), + (110086,110001,'195/65/15VR Performance','TIREBLAC',3), + (110087,110001,'205/65/15VR Performance','TIREBLAC',3), + (110088,110001,'215/65/15VR Performance','TIREBLAC',3), + (110089,110001,'205/40/16VR Performance','TIREBLAC',3), + (110090,110001,'215/40/16VR Performance','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110091,110001,'205/45/16VR Performance','TIREBLAC',3), + (110092,110001,'215/45/16VR Performance','TIREBLAC',3), + (110093,110001,'205/50/16VR Performance','TIREBLAC',3), + (110094,110001,'225/50/16VR Performance','TIREBLAC',3), + (110095,110001,'245/50/16VR Performance','TIREBLAC',3), + (110096,110001,'205/55/16VR Performance','TIREBLAC',3), + (110097,110001,'215/55/16VR Performance','TIREBLAC',3), + (110098,110001,'225/55/16VR Performance','TIREBLAC',3), + (110099,110001,'215/60/16VR Performance','TIREBLAC',3), + (110100,110001,'225/60/16VR Performance','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110101,110001,'235/60/16VR Performance','TIREBLAC',3), + (110102,110001,'215/40/17VR Performance','TIREBLAC',3), + (110103,110001,'235/40/17VR Performance','TIREBLAC',3), + (110104,110001,'255/40/17VR Performance','TIREBLAC',3), + (110105,110001,'215/45/17VR Performance','TIREBLAC',3), + (110106,110001,'225/45/17VR Performance','TIREBLAC',3), + (110107,110001,'235/45/17VR Performance','TIREBLAC',3), + (110108,110001,'245/45/17VR Performance','TIREBLAC',3), + (110109,110001,'315/35/17VR Performance','TIREBLAC',3), + (110110,110001,'195/55/15VR Performance Rain','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110111,110001,'205/55/15VR Performance Rain','TIREBLAC',3), + (110112,110001,'195/60/15VR Performance Rain','TIREBLAC',3), + (110113,110001,'205/60/15VR Performance Rain','TIREBLAC',3), + (110114,110001,'215/60/15VR Performance Rain','TIREBLAC',3), + (110115,110001,'185/65/15VR Performance Rain','TIREBLAC',3), + (110116,110001,'195/65/15VR Performance Rain','TIREBLAC',3), + (110117,110001,'205/65/15VR Performance Rain','TIREBLAC',3), + (110118,110001,'215/65/15VR Performance Rain','TIREBLAC',3), + (110119,110001,'205/40/16VR Performance Rain','TIREBLAC',3), + (110120,110001,'205/45/16VR Performance Rain','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110121,110001,'215/45/16VR Performance Rain','TIREBLAC',3), + (110122,110001,'205/50/16VR Performance Rain','TIREBLAC',3), + (110123,110001,'225/50/16VR Performance Rain','TIREBLAC',3), + (110124,110001,'245/50/16VR Performance Rain','TIREBLAC',3), + (110125,110001,'205/55/16VR Performance Rain','TIREBLAC',3), + (110126,110001,'225/55/16VR Performance Rain','TIREBLAC',3), + (110127,110001,'215/60/16VR Performance Rain','TIREBLAC',3), + (110128,110001,'225/60/16VR Performance Rain','TIREBLAC',3), + (110129,110001,'235/60/16VR Performance Rain','TIREBLAC',3), + (110130,110001,'215/40/17VR Performance Rain','TIREBLAC',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110131,110001,'235/40/17VR Performance Rain','TIREBLAC',3), + (110132,110001,'215/45/17VR Performance Rain','TIREBLAC',3), + (110133,110001,'225/45/17VR Performance Rain','TIREBLAC',3), + (110134,110001,'235/45/17VR Performance Rain','TIREBLAC',3), + (110135,110001,'245/45/17VR Performance Rain','TIREBLAC',3), + (110136,110001,'162/68/18 Bias Belted','TIREBLAC',1), + (110137,110001,'Big Tire','TIREBLAC',1), + (110138,110001,'245/50/16VR High Performance','TIREBLAC',4), + (110139,110001,'195/60/15 Street','TIREBLAC',2), + (110140,110001,'295/80/22.5 Bus Tire','TIREBLAC',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110141,110001,'207/70/14 (D70-14)','TIREWHIT',1), + (110142,110001,'212/70/14 (E70-14)','TIREWHIT',1), + (110143,110001,'221/70/14 (F70-14)','TIREWHIT',1), + (110144,110001,'232/70/14 (G70-14)','TIREWHIT',1), + (110145,110001,'210/70/15 (E70-15)','TIREWHIT',1), + (110146,110001,'216/70/15 (F70-15)','TIREWHIT',1), + (110147,110001,'227/70/15 (G70-15)','TIREWHIT',1), + (110148,110001,'231/60/15 (F60-15)','TIREWHIT',1), + (110149,110001,'243/60/15 (G60-15)','TIREWHIT',1), + (110150,110001,'224/60/15 (E60-15)','TIREWHIT',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110151,110001,'175/65/14 Radial','TIREBLAC',1), + (110152,110001,'195/65/14 Radial','TIREBLAC',1), + (110153,110001,'185/60/14 Radial','TIREBLAC',1), + (110154,110001,'195/60/14 Radial','TIREBLAC',1), + (110155,110001,'185/65/15 Radial','TIREBLAC',1), + (110156,110001,'205/65/15 Radial','TIREBLAC',1), + (110157,110001,'195/60/15 Radial','TIRERED',1), + (110158,110001,'205/60/15 Radial','TIRERED',1), + (110159,110001,'215/60/15 Radial','TIRERED',1), + (110160,110001,'195/55/15 Radial','TIRERED',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110161,110001,'205/55/15 Radial','TIRERED',1), + (110162,110001,'195/50/15 Radial','TIRERED',1), + (110163,110001,'205/50/15 Radial','TIRERED',1), + (110164,110001,'225/50/15 Radial','TIRERED',1), + (110165,110001,'195/50/15VR Performance','TIREBLAC',2), + (110166,110001,'205/50/15VR Performance','TIREBLAC',2), + (110167,110001,'225/50/15VR Performance','TIREBLAC',2), + (110168,110001,'205/40/17VR Performance','TIREBLAC',2), + (110169,110001,'245/45/17VR High Performance','TIREBLAC',4), + (110170,110001,'225/60/16VR High Performance','TIREBLAC',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110171,110001,'225/60/16ZR SCUT','TIREBLAC',4), + (110172,110001,'245/45/17ZR SCUT','TIREBLAC',4), + (110173,110001,'245/50/16ZR SCUT','TIREBLAC',4), + (110174,110001,'225/35/17VR High Performance','TIREBLAC',4), + (110175,110001,'205/40/17VR High Performance','TIREBLAC',4), + (110176,110001,'215/40/16VR High Performance','TIREBLAC',4), + (110177,110001,'215/40/17VR High Performance','TIREBLAC',4), + (110178,110001,'225/40/16VR High Performance','TIREBLAC',4), + (110179,110001,'235/40/17VR High Performance','TIREBLAC',4), + (110180,110001,'245/40/17VR High Performance','TIREBLAC',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110181,110001,'255/40/17VR High Performance','TIREBLAC',4), + (110182,110001,'265/40/17VR High Performance','TIREBLAC',4), + (110183,110001,'205/45/16VR High Performance','TIREBLAC',4), + (110184,110001,'215/45/16VR High Performance','TIREBLAC',4), + (110185,110001,'215/45/17VR High Performance','TIREBLAC',4), + (110186,110001,'225/45/16VR High Performance','TIREBLAC',4), + (110187,110001,'225/45/17VR High Performance','TIREBLAC',4), + (110188,110001,'235/45/17VR High Performance','TIREBLAC',4), + (110189,110001,'245/45/16VR High Performance','TIREBLAC',4), + (110190,110001,'205/50/15VR High Performance','TIREBLAC',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110191,110001,'205/50/16VR High Performance','TIREBLAC',4), + (110192,110001,'205/50/17VR High Performance','TIREBLAC',4), + (110193,110001,'215/50/15VR High Performance','TIREBLAC',4), + (110194,110001,'215/50/17VR High Performance','TIREBLAC',4), + (110195,110001,'225/50/16VR High Performance','TIREBLAC',4), + (110196,110001,'235/60/15 Radial','TIREBLAC',1), + (110197,110001,'275/60/15 Radial','TIREBLAC',2), + (110198,110001,'295/60/15 Radial','TIREBLAC',3), + (110199,110001,'245/60/15 Radial','TIREBLAC',2), + (110200,110001,'255/60/15 Radial','TIREBLAC',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (110201,110001,'265/60/15 Radial','TIREBLAC',2), + (130001,130001,'3-Speed Auto (2.5/1.56/1)',NULL,1), + (130002,130001,'3-Speed Auto (2.4/1.479/1)',NULL,1), + (130003,130001,'4-Speed Auto (2.741/1.568/1/0.674)',NULL,1), + (130004,130001,'3-Speed Auto (2.52/1.52/1) A',NULL,1), + (130005,130001,'3-Speed Auto (2.482/1.482/1)',NULL,1), + (130006,130001,'4-Speed Auto (3.059/1.625/1/0.696) A',NULL,1), + (130007,130001,'4-Speed Auto (2.4/1.479/1/0.723)',NULL,1), + (130008,130001,'4-Speed Auto (2.482/1.482/1/0.75)',NULL,1), + (130009,130001,'4-Speed Auto (2.74/1.57/1/0.67)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (130010,130001,'4-Speed Auto (3.06/1.62/1/0.7)',NULL,1), + (130011,130001,'4-Speed Auto (3.97/2.55/1.55/1)',NULL,1), + (130012,130001,'3-Speed Manual (2.5/1.18/1)',NULL,1), + (130013,130001,'5-Speed Manual (2.95/1.94/1.34/1/0.63)',NULL,2), + (130014,130001,'5-Speed Manual (2.75/1.94/1.34/1/0.74)',NULL,2), + (130015,130001,'4-Speed Manual (2.64/1.61/1.23/1)',NULL,1), + (130016,130001,'4-Speed Manual (2.88/1.74/1.33/1)',NULL,1), + (130017,130001,'4-Speed Manual (3.44/2.28/1.46/1)',NULL,1), + (130018,130001,'4-Speed Manual (2.66/1.91/1.39/1)',NULL,1), + (130019,130001,'4-Speed Manual (2.22/1.64/1.28/1)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (130020,130001,'4-Speed Manual (2.65/1.93/1.39/1)',NULL,1), + (130021,130001,'Powerglide Auto (1.82/1) Chevrolet 2-Speed Powerglide',NULL,1), + (130022,130001,'Chevrolet 3-Speed Standard Ratio',NULL,1), + (130023,130001,'3-Speed Close Ratio (2.21/1.32/1)',NULL,1), + (130024,130001,'Chevrolet 3-Speed w/ Overdrive',NULL,1), + (130025,130001,'4-Speed Close Ratio (2.21/1.66/1.31/1)',NULL,2), + (130026,130001,'Ford Cruise-O-Matic (Automatic)',NULL,1), + (130027,130001,'Muncie Close-Ratio M22 (2.2/1.64/1.27/1)',NULL,2), + (130028,130001,'Muncie Early Wide-Ratio (Manual)',NULL,1), + (130029,130001,'Muncie Close-Ratio (Manual)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (130030,130001,'Muncie Wide-Ratio M20 Manual (2.52/1.88/1.46/1)',NULL,1), + (130031,130001,'1997 Corvette 4-Speed Automatic Transmission',NULL,3), + (130032,130001,'Speedliner 5-Speed Automatic Transmission',NULL,3), + (130033,130001,'Powerglide Automatic (1.76/1)',NULL,1), + (130034,130001,'Turbo Hydra-Matic 350 (Automatic)',NULL,1), + (130035,130001,'Ford C-4 Dual Range (Automatic)',NULL,1), + (130036,130001,'Borg-Warner T-10 Special Close-Ratio (Manual)',NULL,3), + (130037,130001,'Borg-Warner T-10X Special Competition (Manual)',NULL,3), + (130038,130001,'Borg-Warner T-10W Special Wide-Ratio (Manual)',NULL,3), + (130039,130001,'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (130040,130001,'T+C Top Loader Close Ratio M (2.32/1.69/1.29/1)',NULL,1), + (130041,130001,'Ford T+C Top Loader Overdrive (Manual)',NULL,1), + (130042,130001,'Ford T+C Top Loader Overdrive2 (Manual)',NULL,1), + (130043,130001,'3-speed Synchro-Mesh (Manual)',NULL,1), + (130044,130001,'4-speed All-Synchro (Manual)',NULL,1), + (130045,130001,'Bully 727 Torqueflite A (2.45/1.45/1)',NULL,2), + (130046,130001,'Bully Turbo-Hydro 400 A (2.48/1.48/1)',NULL,2), + (130047,130001,'Borg T-85 3 spd manual',NULL,2), + (130048,130001,'Ford-o-matic Auto (1.76/1)',NULL,1), + (130049,130001,'Shift Command A (2.45/1.45/1)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (130050,130001,'Borg-Warner T56 6 Speed Auto',NULL,3), + (130051,130001,'LD 3-Speed Manual (2.5/1.18/1)',NULL,1), + (130052,130001,'Hall Helix 3-Speed Manual',NULL,4), + (130053,130001,'Hall Helix 3-Speed Automatic',NULL,4), + (130054,130001,'Super Muncie',NULL,3), + (130055,130001,'Muncie Close-Ratio M21 (2.2/1.64/1.27/1)',NULL,1), + (130056,130001,'M13 3 Speed Manual',NULL,2), + (130057,130001,'Buick Dynaflow Auto (2.4/1.479/1)',NULL,1), + (140001,140001,'Rear Differential (2.73)',NULL,1), + (140002,140001,'Rear Differential (2.93)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (140003,140001,'Rear Differential (3.00)',NULL,1), + (140004,140001,'Rear Differential (3.23)',NULL,1), + (140005,140001,'Rear Differential (3.31)',NULL,1), + (140006,140001,'Rear Differential (3.42)',NULL,2), + (140007,140001,'Rear Differential (3.50)',NULL,2), + (140008,140001,'Rear Differential (3.54)',NULL,2), + (140009,140001,'Rear Differential (3.55)',NULL,2), + (140010,140001,'Rear Differential (3.64)',NULL,2), + (140011,140001,'Rear Differential (3.70)',NULL,2), + (140012,140001,'Rear Differential (3.77)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (140013,140001,'Rear Differential (3.90)',NULL,3), + (140014,140001,'Rear Differential (4.10)',NULL,3), + (140015,140001,'Rear Differential (4.33)',NULL,3), + (140016,140001,'Ford 3.10 Differential (Ford-O-Matic)',NULL,1), + (140017,140001,'Rear Differential (3.56)',NULL,2), + (140018,140001,'GM Rear Differential 3.40 (Dynaflow)',NULL,1), + (140019,140001,'Rear Differential (3.25)',NULL,1), + (140020,140001,'Rear Differential (3.91)',NULL,3), + (140021,140001,'GM Rear Differential (3.71)',NULL,2), + (140022,140001,'Rear Differential (3.07) L',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (140023,140001,'Rear Differential (4.10) LD',NULL,1), + (140024,140001,'Rear Differential (3.90) LD',NULL,1), + (140025,140001,'Rear Differential (3.31) LD',NULL,1), + (140026,140001,'Ford 9" (3.08)',NULL,2), + (140027,140001,'Ford 9" (3.27)',NULL,2), + (140028,140001,'Ford 9" (3.45)',NULL,2), + (140029,140001,'Ford 9" (3.55)',NULL,2), + (140030,140001,'Ford 9" (3.73)',NULL,2), + (140031,140001,'Ford 9" (4.10)',NULL,3), + (140032,140001,'Ford 8" (3.08)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (140033,140001,'Ford 8" (3.27)',NULL,1), + (140034,140001,'Ford 8" (3.45)',NULL,1), + (140035,140001,'Ford 8" (3.55)',NULL,1), + (140036,140001,'Ford 8" (3.73)',NULL,1), + (140037,140001,'Ford 8" (4.10)',NULL,1), + (140038,140001,'GM 10-bolt (2.73)',NULL,1), + (140039,140001,'GM 10-bolt (3.08)',NULL,1), + (140040,140001,'GM 10-bolt (3.36)',NULL,1), + (140041,140001,'GM 10-bolt (3.55)',NULL,1), + (140042,140001,'GM 10-bolt (3.70)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (140043,140001,'GM 12-bolt (3.07)',NULL,2), + (140044,140001,'GM 12-bolt (3.31)',NULL,2), + (140045,140001,'GM 12-bolt (3.55)',NULL,2), + (140046,140001,'GM 12-bolt (3.73)',NULL,2), + (140047,140001,'GM 12-bolt (4.10)',NULL,3), + (140048,140001,'GM 12-bolt (2.73)',NULL,2), + (140049,140001,'GM 12-bolt (3.55) Police',NULL,3), + (140050,140001,'Hall 14-bolt (3.42)',NULL,3), + (140051,140001,'Hall 14-bolt (3.73)',NULL,3), + (140052,140001,'Hall 14-bolt (4.10)',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (150001,150001,'Bully Torqueflite HD Transmission Cooler',NULL,3), + (150002,150001,'Bully Turbo ND Tranmission Cooler',NULL,2), + (150003,150001,'Bully Powerglide LD Transmission Cooler',NULL,1), + (150004,150001,'Bully C-6 XHD Transmission Cooler',NULL,4), + (160001,160001,'Buick V8 322','ENGINE',2), + (160002,160001,'Buick SB V8 350','ENGINE',2), + (160003,160001,'Buick BB V8 455','ENGINE',3), + (160004,160001,'Chevy W V8 427','ENGINE',3), + (160005,160001,'Chevy V8 265','ENGINE',1), + (160006,160001,'Chevy V8 283','ENGINE',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160007,160001,'Chevy V8 302','ENGINE',1), + (160008,160001,'Chevy V8 307','ENGINE',1), + (160009,160001,'Chevy V8 327','ENGINE',2), + (160010,160001,'Cadillac L-Head V8 346','ENGINE',1), + (160011,160001,'Chevy V8 348','ENGINE',1), + (160012,160001,'Chevy V8 350','ENGINE',2), + (160013,160001,'Cadillac V8 390','ENGINE',2), + (160014,160001,'Chevy V8 396','ENGINE',2), + (160015,160001,'Chevy V8 400','ENGINE',2), + (160016,160001,'Chevy V8 409','ENGINE',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160017,160001,'Chevy V8 454','ENGINE',3), + (160018,160001,'Chevy V8 502','ENGINE',4), + (160019,160001,'Chevy V8 402','ENGINE',3), + (160020,160001,'Ford V8 351 Windsor','ENGINE',2), + (160021,160001,'Ford V8 400','ENGINE',3), + (160022,160001,'221-V8 24-bolt (32)','ENGINE',1), + (160023,160001,'Ford V8 239','ENGINE',1), + (160024,160001,'Ford V8 260','ENGINE',1), + (160025,160001,'Ford V8 272','ENGINE',1), + (160026,160001,'Ford V8 289','ENGINE',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160027,160001,'Ford V8 292','ENGINE',1), + (160028,160001,'Ford V8 302','ENGINE',1), + (160029,160001,'Ford V8 312','ENGINE',1), + (160030,160001,'Ford V8 351','ENGINE',2), + (160031,160001,'Ford V8 390','ENGINE',2), + (160032,160001,'Ford V8 406','ENGINE',3), + (160033,160001,'Ford V8 427','ENGINE',3), + (160034,160001,'Ford V8 428','ENGINE',3), + (160035,160001,'Ford V8 429','ENGINE',3), + (160036,160001,'Ford V8 352','ENGINE',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160037,160001,'Oldsmobile V8 350','ENGINE',2), + (160038,160001,'Oldsmobile V8 400','ENGINE',3), + (160039,160001,'Oldsmobile V8 455','ENGINE',3), + (160040,160001,'Pontiac V8 350','ENGINE',2), + (160041,160001,'Pontiac V8 421','ENGINE',3), + (160042,160001,'Pontiac V8 389','ENGINE',2), + (160043,160001,'Pontiac V8 400','ENGINE',3), + (160044,160001,'Pontiac V8 428','ENGINE',3), + (160045,160001,'Pontiac V8 455','ENGINE',3), + (160046,160001,'AMC V8 290 Aluminum Indy','ENGINE',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160047,160001,'Ford V8 460','ENGINE',3), + (160048,160001,'Chevy V8 427','ENGINE',3), + (160049,160001,'Hi-Pro V8 5.0L','ENGINE',4), + (160050,160001,'Mercury Flathead 255','ENGINE',1), + (160051,160001,'Chrysler V8 273','ENGINE',1), + (160052,160001,'Chrysler V8 318','ENGINE',1), + (160053,160001,'Chrysler V8 340','ENGINE',2), + (160054,160001,'Chrysler V8 360','ENGINE',2), + (160055,160001,'Chrysler V8 383','ENGINE',2), + (160056,160001,'Chrysler V8 400','ENGINE',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160057,160001,'Chrysler V8 413','ENGINE',3), + (160058,160001,'Chrysler V8 426','ENGINE',3), + (160059,160001,'Chrysler V8 440','ENGINE',3), + (160060,160001,'AMC V8 290','ENGINE',1), + (160061,160001,'AMC V8 343','ENGINE',2), + (160062,160001,'AMC V8 390','ENGINE',2), + (160063,160001,'ShadeTree V8 265','ENGINE',1), + (160064,160001,'AMC V8 360','ENGINE',2), + (160065,160001,'Chrysler V8 426 Hemi','ENGINE',4), + (160066,160001,'Ford V8 390 HP','ENGINE',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160067,160001,'Ford V8 429 Boss','ENGINE',4), + (160068,160001,'Ford V8 289 HP','ENGINE',2), + (160069,160001,'Ford V8 302 Boss','ENGINE',2), + (160070,160001,'Buick BB V8 400','ENGINE',3), + (160071,160001,'Buick BB V8 430','ENGINE',3), + (160072,160001,'Chevy V8 427 ZL1','ENGINE',4), + (160073,160001,'Buick V8 364','ENGINE',2), + (160074,160001,'Buick V8 401','ENGINE',3), + (160075,160001,'Buick V8 425','ENGINE',3), + (160076,160001,'Buick SB V8 300','ENGINE',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (160077,160001,'Buick SB V8 340','ENGINE',2), + (160078,160001,'Cadillac V8 365','ENGINE',2), + (160079,160001,'Cadillac V8 429','ENGINE',3), + (160080,160001,'Ford 385 NASCAR Mg Block','ENGINE',4), + (160081,160001,'Ford 385 NASCAR Block','ENGINE',4), + (160082,160001,'AMC V8 401','ENGINE',3), + (180001,180001,'Chevrolet SB Cast Iron Crankshaft',NULL,1), + (180002,180001,'Chevrolet BB Stock CI Crankshaft',NULL,1), + (180003,180001,'Buick BB Stock Crankshaft',NULL,1), + (180004,180001,'Buick SB Stock Crankshaft',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180005,180001,'Cadillac BB Stock Crankshaft',NULL,1), + (180006,180001,'Chevrolet BB Forged Steel Crankshaft',NULL,2), + (180007,180001,'Chevrolet SB Stock FS Crankshaft',NULL,1), + (180008,180001,'Chrysler BB Stock FS Crankshaft',NULL,1), + (180009,180001,'Chrysler SB Stock FS Crankshaft',NULL,1), + (180010,180001,'Ford BB Stock Crankshaft',NULL,1), + (180011,180001,'Ford Y Stock Crankshaft',NULL,1), + (180012,180001,'Ford Flathead Stock Crankshaft',NULL,1), + (180013,180001,'Olds BB Forged Steel Crankshaft',NULL,1), + (180014,180001,'Olds SB Stock Crankshaft',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180015,180001,'AMC Stock TI Crankshaft',NULL,1), + (180016,180001,'Pontiac Stock Crankshaft',NULL,1), + (180017,180001,'Chevrolet SB Treated Iron Crankshaft',NULL,1), + (180018,180001,'Crower Pure-Stock Chevrolet SB Crankshaft',NULL,1), + (180019,180001,'Crower Stock-Plus Chevrolet SB Crankshaft',NULL,2), + (180020,180001,'Crower Enduro Chevrolet SB Crankshaft',NULL,2), + (180021,180001,'Crower Ultra-Light Chevrolet SB Crankshaft',NULL,2), + (180022,180001,'Crower Standard Chevrolet SB Crankshaft',NULL,3), + (180023,180001,'Crower Standard Chevrolet BB Crankshaft',NULL,3), + (180024,180001,'Olds SB Forged Steel Crankshaft',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180025,180001,'Olds BB Stock Cast Iron Crankshaft',NULL,1), + (180026,180001,'Olds BB Stock Treated Iron Crankshaft',NULL,1), + (180027,180001,'Pontiac Forged Steel Crankshaft',NULL,2), + (180028,180001,'Pontiac Armasteel (TI) Crankshaft',NULL,1), + (180029,180001,'Pontiac SD Forged Steel Crankshaft',NULL,2), + (180030,180001,'Ford SB Stock TI Crankshaft',NULL,1), + (180031,180001,'Ford BB Truck Forged Steel Crankshaft',NULL,1), + (180032,180001,'Ford BB 427 MR Forged Steel Crankshaft',NULL,2), + (180033,180001,'Ford BB Treated Iron Crankshaft',NULL,2), + (180034,180001,'Ford SB Boss (TI) Crankshaft',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180035,180001,'Ford BB Forged Steel Crankshaft',NULL,2), + (180036,180001,'Chrysler BB Stock CI Crankshaft',NULL,1), + (180037,180001,'Chrysler Hemi (FS) Crankshaft',NULL,2), + (180038,180001,'Chrysler SB Stock CI Crankshaft',NULL,1), + (180039,180001,'Crower Enduro Chevrolet BB Crankshaft',NULL,2), + (180040,180001,'Crower Ultra-Light Chevrolet BB Crankshaft',NULL,2), + (180041,180001,'Crower Enduro Ford SB Crankshaft',NULL,2), + (180042,180001,'Crower Standard Ford SB Crankshaft',NULL,3), + (180043,180001,'Crower Enduro Ford BB Crankshaft',NULL,2), + (180044,180001,'Crower Standard Ford BB Crankshaft',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180045,180001,'Crower Enduro Chrysler BB Crankshaft',NULL,2), + (180046,180001,'Crower Enduro Chrysler SB Crankshaft',NULL,2), + (180047,180001,'Crower Standard Chrysler BB Crankshaft',NULL,3), + (180048,180001,'Crower Standard Chrysler SB Crankshaft',NULL,3), + (180049,180001,'Buick Nailhead Stock FS Crankshaft',NULL,1), + (180050,180001,'Ford BB HD CI Crankshaft',NULL,2), + (180051,180001,'Ford SB HP TI Crankshaft',NULL,2), + (180052,180001,'AMC Group 19 Crankshaft',NULL,2), + (180053,180001,'Cadillac L-Head Crankshaft',NULL,1), + (180054,180001,'Ford Cleveland Block Stock Crankshaft',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180055,180001,'Ford Cleveland Block Boss Crankshaft',NULL,2), + (180056,180001,'Ford 385 Block Stock CI Crankshaft',NULL,1), + (180057,180001,'Ford 385 Block Boss FS Crankshaft',NULL,2), + (180058,180001,'Ford 385 Block NASCAR Crankshaft',NULL,4), + (180059,180001,'Ford Y Truck Crankshaft',NULL,1), + (180060,180001,'Chevrolet W Stock FS Crankshaft',NULL,1), + (180061,180001,'Buick Nailhead Lightweight Crankshaft',NULL,2), + (180062,180001,'Buick SB Lightweight Crankshaft',NULL,2), + (180063,180001,'Buick BB Lightweight Crankshaft',NULL,2), + (180064,180001,'Cadillac L-Head Lightweight Crankshaft',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180065,180001,'Cadillac Lightweight Crankshaft',NULL,2), + (180066,180001,'Chevrolet W Block Lightweight Crankshaft',NULL,2), + (180067,180001,'Chrysler Hemi Lightweight Crankshaft',NULL,2), + (180068,180001,'Ford Flathead Lightweight Crankshaft',NULL,2), + (180069,180001,'Oldsmobile SB Lightweight Crankshaft',NULL,2), + (180070,180001,'Oldsmobile BB Lightweight Crankshaft',NULL,2), + (180071,180001,'Newcomb Y Block Stump Puller Crankshaft',NULL,2), + (180072,180001,'Newcomb Y Block Street Max Crankshaft',NULL,2), + (180073,180001,'Newcomb Y Block Super Max Crankshaft',NULL,2), + (180074,180001,'Duro Rod Y Block Marathon Crankshaft',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180075,180001,'Duro Rod Y Block Lightweight Crankshaft',NULL,2), + (180076,180001,'Duro Rod Y Block Champion Crankshaft',NULL,2), + (180077,180001,'Hedgely Y Block Super 292 Crankshaft',NULL,1), + (180078,180001,'Hedgely Y Block Super 312 Crankshaft',NULL,2), + (180079,180001,'Duro Rod Ford SB Champion Crank',NULL,2), + (180080,180001,'Newcomb Ford SB Super Max Crank',NULL,2), + (180081,180001,'Newcomb Ford SB Street Max Crank',NULL,2), + (180082,180001,'Newcomb Buick Nailhead Stump Puller Crank',NULL,2), + (180083,180001,'Newcomb Buick Nailhead Super Max Crank',NULL,2), + (180084,180001,'Newcomb Buick Nailhead Street Max Crank',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180085,180001,'Hedgely Buick Nailhead Super 300 Crank',NULL,1), + (180086,180001,'Hedgely Buick Nailhead Super 400 Crank',NULL,2), + (180087,180001,'Duro Rod Buick Nailhead Champion Crank',NULL,2), + (180088,180001,'Duro Rod Buick Nailhead Lightweight Crank',NULL,2), + (180089,180001,'Duro Rod Buick Nailhead Marathon Crank',NULL,2), + (180090,180001,'Hedgely Chrysler SB Super 340 Crank',NULL,2), + (180091,180001,'Duro Rod Chrysler SB Lightweight Crank',NULL,2), + (180092,180001,'Duro Rod Chrysler SB Marathon Crank',NULL,2), + (180093,180001,'Percy Chrysler SB Lightweight Crank',NULL,3), + (180094,180001,'Duro Rod Pontiac Lightweight Crank',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180095,180001,'Duro Rod Pontiac Marathon Crank',NULL,2), + (180096,180001,'Hedgely Pontiac SD Special Crank',NULL,2), + (180097,180001,'Newcomb Cleveland Stump Puller Crank',NULL,1), + (180098,180001,'Newcomb Cleveland Street Max Crank',NULL,2), + (180099,180001,'Newcomb Cleveland Super Max Crank',NULL,3), + (180100,180001,'Duro Rod Cleveland Contender Crank',NULL,1), + (180101,180001,'Duro Rod Cleveland Champion Crank',NULL,2), + (180102,180001,'Duro Rod Cleveland Lightweight Crank',NULL,3), + (180103,180001,'Duro Rod Cleveland Marathon Crank',NULL,3), + (180104,180001,'Duro Rod Cleveland Legend Crank',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180105,180001,'Newcomb Ford 385 Stump Puller Crank',NULL,1), + (180106,180001,'Newcomb Ford 385 Street Max Crank',NULL,2), + (180107,180001,'Newcomb Ford 385 Super Max Crank',NULL,3), + (180108,180001,'Duro Rod Ford 385 Contender Crank',NULL,1), + (180109,180001,'Duro Rod Ford 385 Champion Crank',NULL,2), + (180110,180001,'Duro Rod Ford 385 Lightweight Crank',NULL,3), + (180111,180001,'Duro Rod Ford 385 Marathon Crank',NULL,3), + (180112,180001,'Duro Rod Ford 385 Legend Crank',NULL,4), + (180113,180001,'Newcomb Hemi Stump Puller Crank',NULL,1), + (180114,180001,'Newcomb Hemi Street Max Crank',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180115,180001,'Newcomb Hemi Super Max Crank',NULL,3), + (180116,180001,'Duro Rod Hemi Contender Crank',NULL,1), + (180117,180001,'Duro Rod Hemi Champion Crank',NULL,2), + (180118,180001,'Duro Rod Hemi Lighweight Crank',NULL,3), + (180119,180001,'Duro Rod Hemi Marathon Crank',NULL,3), + (180120,180001,'Duro Rod Hemi Legend Crank',NULL,4), + (180121,180001,'Newcomb Cadillac BB Stump Puller Crank',NULL,1), + (180122,180001,'Newcomb Cadillac BB Street Max Crank',NULL,2), + (180123,180001,'Newcomb Cadillac BB Super Max Crank',NULL,3), + (180124,180001,'Duro Rod Cadillac BB Contender Crank',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180125,180001,'Duro Rod Cadillac BB Champion Crank',NULL,2), + (180126,180001,'Duro Rod Cadillac BB Lightweight Crank',NULL,3), + (180127,180001,'Duro Rod Cadillac BB Marathon Crank',NULL,3), + (180128,180001,'Duro Rod Cadillac BB Legend Crank',NULL,4), + (180129,180001,'Duro Rod Chevy W Contender Crank',NULL,2), + (180130,180001,'Duro Rod Chevy W Champion Crank',NULL,2), + (180131,180001,'Duro Rod Chevy W Lightweight Crank',NULL,3), + (180132,180001,'Duro Rod Chevy W Marathon Crank',NULL,3), + (180133,180001,'Duro Rod Chevy W Legend Crank',NULL,4), + (180134,180001,'Newcomb Chevy W Stump Puller Crank',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180135,180001,'Newcomb Chevy W Street Max Crank',NULL,2), + (180136,180001,'Newcomb Chevy W Super Max Crank',NULL,3), + (180137,180001,'Newcomb AMC Stump Puller Crank',NULL,1), + (180138,180001,'Newcomb AMC Street Max Crank',NULL,2), + (180139,180001,'Newcomb AMC Super Max Crank',NULL,3), + (180140,180001,'Duro Rod AMC Contender Crank',NULL,1), + (180141,180001,'Duro Rod AMC Champion Crank',NULL,2), + (180142,180001,'Duro Rod AMC Lightweight Crank',NULL,3), + (180143,180001,'Duro Rod AMC Marathon Crank',NULL,3), + (180144,180001,'Duro Rod AMC Legend Crank',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180145,180001,'Newcomb Olds BB Stump Puller Crank',NULL,1), + (180146,180001,'Newcomb Olds BB Street Max Crank',NULL,2), + (180147,180001,'Newcomb Olds BB Super Max Crank',NULL,3), + (180148,180001,'Duro Rod Olds BB Contender Crank',NULL,1), + (180149,180001,'Duro Rod Olds BB Champion Crank',NULL,2), + (180150,180001,'Duro Rod Olds BB Lightweight Crank',NULL,3), + (180151,180001,'Duro Rod Olds BB Marathon Crank',NULL,3), + (180152,180001,'Duro Rod Olds BB Legend Crank',NULL,4), + (180153,180001,'Newcomb Chrylser BB Stump Puller Crank',NULL,1), + (180154,180001,'Newcomb Chrysler BB Street Max Crank',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180155,180001,'Newcomb Chrysler BB Super Max Crank',NULL,3), + (180156,180001,'Duro Rod Chrysler BB Contender Crank',NULL,1), + (180157,180001,'Duro Rod Chrysler BB Champion Crank',NULL,2), + (180158,180001,'Duro Rod Chrysler BB Lightweight Crank',NULL,3), + (180159,180001,'Duro Rod Chrysler BB Marathon Crank',NULL,3), + (180160,180001,'Duro Rod Chrysler BB Legend Crank',NULL,4), + (180161,180001,'Newcomb Ford BB Stump Puller Crank',NULL,1), + (180162,180001,'Newcomb Ford BB Street Max Crank',NULL,2), + (180163,180001,'Newcomb Ford BB Super Max Crank',NULL,3), + (180164,180001,'Duro Rod Ford BB Contender Crank',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180165,180001,'Duro Rod Ford BB Champion Crank',NULL,2), + (180166,180001,'Duro Rod Ford BB Lightweight Crank',NULL,3), + (180167,180001,'Duro Rod Ford BB Marathon Crank',NULL,3), + (180168,180001,'Duro Rod Ford BB Legend Crank',NULL,4), + (180169,180001,'Newcomb Chevy BB Stump Puller Crank',NULL,1), + (180170,180001,'Newcomb Chevy BB Street Max Crank',NULL,2), + (180171,180001,'Newcomb Chevy BB Super Max Crank',NULL,3), + (180172,180001,'Duro Rod Chevy BB Contender Crank',NULL,1), + (180173,180001,'Duro Rod Chevy BB Champion Crank',NULL,2), + (180174,180001,'Duro Rod Chevy BB Lightweight Crank',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (180175,180001,'Duro Rod Chevy BB Marathon Crank',NULL,3), + (180176,180001,'Duro Rod Chevy BB Legend Crank',NULL,4), + (190001,190001,'Ford SB Boss 302 Rod',NULL,2), + (190002,190001,'Ford BB HD Capscrew Rod',NULL,2), + (190003,190001,'Ford BB HP 390 Rod',NULL,2), + (190004,190001,'Pontiac Ram Air V Rod',NULL,2), + (190005,190001,'Cadillac BB Stock CI Rod',NULL,1), + (190006,190001,'Pontiac CI Stock Rod',NULL,1), + (190007,190001,'Buick BB Stock Rod',NULL,1), + (190008,190001,'Buick Nailhead Stock Rod',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190009,190001,'Cadillac BB Stock Rod',NULL,1), + (190010,190001,'Chevrolet BB Stock Rod',NULL,1), + (190011,190001,'Chevrolet SB Stock Rod',NULL,1), + (190012,190001,'Chrysler BB Stock Rod',NULL,1), + (190013,190001,'Chrysler SB Stock Rod',NULL,1), + (190014,190001,'Ford BB Stock Rod',NULL,1), + (190015,190001,'Ford SB Stock Rod',NULL,1), + (190016,190001,'Ford Flathead Stock Rod',NULL,1), + (190017,190001,'Olds BB Stock Rod',NULL,1), + (190018,190001,'Olds SB Stock Rod',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190019,190001,'AMC Stock Rod',NULL,1), + (190020,190001,'Pontiac Stock Rod',NULL,1), + (190021,190001,'Crower Sportsman Ford SB Rod',NULL,2), + (190022,190001,'Crower Billet Steel Ford SB Rod',NULL,3), + (190023,190001,'Crower Lightweight Billet Steel Ford SB Rod',NULL,3), + (190024,190001,'Crower Maxi-Light 93 Billet Steel Ford SB Rod',NULL,3), + (190025,190001,'Crower Titanium Ford BB Rod',NULL,4), + (190026,190001,'Ford BB Le Mans Capscrew Rod',NULL,4), + (190027,190001,'Ford BB PI Rod',NULL,2), + (190028,190001,'Ford 385 Boss Rod',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190029,190001,'Ford 385 820-S Rod',NULL,4), + (190030,190001,'Ford 385 820-T Rod',NULL,3), + (190031,190001,'Chrysler BB HD Rod',NULL,2), + (190032,190001,'Crower Sportsman Chevrolet SB Rod',NULL,2), + (190033,190001,'Crower Sportsman Chevrolet BB Rod',NULL,2), + (190034,190001,'Crower Billet Steel Ford BB Rod',NULL,2), + (190035,190001,'Crower Billet Steel Pontiac Rod',NULL,2), + (190036,190001,'Crower Billet Steel Olds BB Rod',NULL,2), + (190037,190001,'Crower Billet Steel Buick BB Rod',NULL,2), + (190038,190001,'Crower Billet Steel Chevrolet BB Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190039,190001,'Crower Billet Steel Chevrolet SB Rod',NULL,2), + (190040,190001,'Crower Lightweight Billet Steel Buick BB Rod',NULL,2), + (190041,190001,'Crower Lightweight Billet Steel Chevrolet BB Rod',NULL,2), + (190042,190001,'Crower Lightweight Billet Steel Chevrolet SB Rod',NULL,2), + (190043,190001,'Crower Lightweight Billet Steel Ford BB Rod',NULL,2), + (190044,190001,'Crower Lightweight Billet Steel Olds BB Rod',NULL,2), + (190045,190001,'Crower Lightweight Billet Steel Pontiac Rod',NULL,2), + (190046,190001,'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod',NULL,3), + (190047,190001,'Crower Titanium Buick BB Rod',NULL,4), + (190048,190001,'Crower Titanium Chevrolet BB Rod',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190049,190001,'Crower Titanium Chevrolet SB Rod',NULL,4), + (190050,190001,'Lunati Forged Aluminum Chevrolet SB Rod',NULL,2), + (190051,190001,'Lunati Forged Aluminum Chevrolet BB Rod',NULL,2), + (190052,190001,'Lunati Street Race Ford SB Rod',NULL,2), + (190053,190001,'Lunati Street Race Chevrolet SB Rod',NULL,2), + (190054,190001,'Lunati Street Race Chevrolet BB Rod',NULL,2), + (190055,190001,'Lunati Pro Billet Ford SB Rod',NULL,3), + (190056,190001,'Lunati Pro Billet Chevrolet SB Rod',NULL,3), + (190057,190001,'Lunati Pro Billet Chevrolet BB Rod',NULL,3), + (190058,190001,'Lunati Pro Mod Chevrolet SB Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190059,190001,'Lunati Pro Mod Chevrolet BB Rod',NULL,2), + (190060,190001,'Lunati Sportsman H-Beam Chevrolet SB Rod',NULL,2), + (190061,190001,'Lunati Sportsman H-Beam Chevrolet BB Rod',NULL,2), + (190062,190001,'Lunati Sportsman H-Beam Ford BB Rod',NULL,2), + (190063,190001,'Lunati Sportsman H-Beam Ford SB Rod',NULL,2), + (190064,190001,'Lunati Sportsman H-Beam Chrysler BB Rod',NULL,2), + (190065,190001,'Lunati Sportsman H-Beam Pontiac Rod',NULL,2), + (190066,190001,'Chevrolet SB 400 FS Rod',NULL,1), + (190067,190001,'Chevrolet W HD FS Rod',NULL,2), + (190068,190001,'AMC Stock TI Rod',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190069,190001,'Chrysler Hemi Rods',NULL,3), + (190070,190001,'Cadillac L-Head Rods',NULL,1), + (190071,190001,'Buick SB Cast Iron Connecting Rod',NULL,1), + (190072,190001,'Ford Cleveland Block Stock Rods',NULL,1), + (190073,190001,'Ford Cleveland Block Boss Rods',NULL,2), + (190074,190001,'Ford 385 Block Stock Rod',NULL,1), + (190075,190001,'Ford SB HP Rod',NULL,2), + (190076,190001,'Ford Y Stock Rods',NULL,1), + (190077,190001,'Ford Y Truck Rods',NULL,1), + (190078,190001,'Buick Nailhead 364 Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190079,190001,'Buick SB FS Rod',NULL,2), + (190080,190001,'Cadillac L-Head FS Rod',NULL,2), + (190081,190001,'Chevrolet W Stock FS Rod',NULL,1), + (190082,190001,'Lunati Sportsman H-Beam Chevrolet W Rod',NULL,2), + (190083,190001,'Crower Billet Steel Chrysler SB Rod',NULL,2), + (190084,190001,'Crower Billet Steel Chrysler Hemi Rod',NULL,3), + (190085,190001,'Crower Lightweight Billet Steel Chrysler Hemi Rod',NULL,3), + (190086,190001,'Crower Titanium Chrysler Hemi Rod',NULL,4), + (190087,190001,'Lunati Pro Billet Chrysler Hemi Rod',NULL,3), + (190088,190001,'Edelbrock Ford Flathead FS Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190089,190001,'Olds SB W-31 FS Rod',NULL,2), + (190090,190001,'Newcomb Y Block Stump Puller Rod',NULL,1), + (190091,190001,'Newcomb Y Block Street Max Rod',NULL,2), + (190092,190001,'Newcomb Y Block Super Max Rod',NULL,2), + (190093,190001,'Duro Rod Y Block Marathon Rod',NULL,1), + (190094,190001,'Duro Rod Y Block Lightweight Rod',NULL,2), + (190095,190001,'Duro Rod Y Block Champion Rod',NULL,2), + (190096,190001,'Duro Rod Y Block Legend Rod',NULL,3), + (190097,190001,'Hedgely Y Block Extra Y Rod',NULL,1), + (190098,190001,'Hedgely Y Block T-Bird Special Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190099,190001,'Hedgely Buick Nailhead Century Special Rod',NULL,1), + (190100,190001,'Hedgely Buick Nailhead Riviera Special Rod',NULL,2), + (190101,190001,'Duro Rod Buick Nailhead Champion Rod',NULL,2), + (190102,190001,'Duro Rod Buick Nailhead Legend Rod',NULL,3), + (190103,190001,'Duro Rod Buick Nailhead Lightweight Rod',NULL,2), + (190104,190001,'Duro Rod Buick Nailhead Marathon Rod',NULL,2), + (190105,190001,'Newcomb Buick Nailhead Stump Puller Rod',NULL,2), + (190106,190001,'Newcomb Buick Nailhead Street Max Rod',NULL,2), + (190107,190001,'Newcomb Buick Nailhead Super Max Rod',NULL,3), + (190108,190001,'Hedgely Ford SB T351 Billet Rod',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190109,190001,'Hedgely Ford SB Power I Rod',NULL,2), + (190110,190001,'Percy Chrysler SB Replica Rod',NULL,1), + (190111,190001,'Percy Chrysler SB Replica Street Racer Rod',NULL,2), + (190112,190001,'Percy Chrysler SB Factory Lightweight Rod',NULL,3), + (190113,190001,'Duro Rod Chrysler SB Marathon Rod',NULL,2), + (190114,190001,'Duro Rod Chrysler SB Lightweight Rod',NULL,2), + (190115,190001,'Newcomb Chrysler SB Street Max Rod',NULL,2), + (190116,190001,'Duro Rod Pontiac Champion Rod',NULL,2), + (190117,190001,'Duro Rod Pontiac Lightweight Rod',NULL,2), + (190118,190001,'Duro Rod Pontiac Marathon Rod',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190119,190001,'Newcomb Cleveland Stump Puller Rod',NULL,1), + (190120,190001,'Newcomb Cleveland Street Max Rod',NULL,2), + (190121,190001,'Newcomb Cleveland Super Max Rod',NULL,3), + (190122,190001,'Duro Rod Cleveland Lightweight Rod',NULL,3), + (190123,190001,'Duro Rod Cleveland Marathon Rod',NULL,3), + (190124,190001,'Duro Rod Cleveland Legend Rod',NULL,4), + (190125,190001,'Newcomb Ford 385 Stump Puller Rod',NULL,1), + (190126,190001,'Newcomb Ford 385 Street Max Rod',NULL,2), + (190127,190001,'Newcomb Ford 385 Super Max Rod',NULL,3), + (190128,190001,'Duro Rod Ford 385 Lightweight Rod',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190129,190001,'Duro Rod Ford 385 Marathon Rod',NULL,3), + (190130,190001,'Duro Rod Ford 385 Legend Rod',NULL,4), + (190131,190001,'Duro Rod Hemi Champion Rod',NULL,2), + (190132,190001,'Duro Rod Hemi Lightweight Rod',NULL,3), + (190133,190001,'Duro Rod Hemi Marathon Rod',NULL,3), + (190134,190001,'Duro Rod Hemi Legend Rod',NULL,4), + (190135,190001,'Duro Rod Cadillac BB Champion Rod',NULL,2), + (190136,190001,'Duro Rod Cadillac BB Lightweight Rod',NULL,3), + (190137,190001,'Duro Rod Cadillac BB Marathon Rod',NULL,3), + (190138,190001,'Duro Rod Cadillac BB Legend Rod',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190139,190001,'Newcomb Cadillac BB Stump Puller Rod',NULL,1), + (190140,190001,'Newcomb Cadillac BB Street Max Rod',NULL,2), + (190141,190001,'Newcomb Cadillac BB Super Max Rod',NULL,3), + (190142,190001,'Newcomb Chevy W Stump Puller Rod',NULL,1), + (190143,190001,'Newcomb Chevy W Street Max Rod',NULL,2), + (190144,190001,'Newcomb Chevy W Super Max Rod',NULL,3), + (190145,190001,'Duro Rod Chevy W Contender Rod',NULL,1), + (190146,190001,'Duro Rod Chevy W Champion Rod',NULL,2), + (190147,190001,'Duro Rod Chevy W Lightweight Rod',NULL,3), + (190148,190001,'Duro Rod Chevy W Marathon Rod',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190149,190001,'Duro Rod Chevy W Legend Rod',NULL,4), + (190150,190001,'Newcomb AMC Stump Puller Rod',NULL,1), + (190151,190001,'Newcomb AMC Street Max Rod',NULL,2), + (190152,190001,'Newcomb AMC Super Max Rod',NULL,3), + (190153,190001,'Duro Rod AMC Contender Rod',NULL,1), + (190154,190001,'Duro Rod AMC Champion Rod',NULL,2), + (190155,190001,'Duro Rod AMC Lightweight Rod',NULL,3), + (190156,190001,'Duro Rod AMC Marathon Rod',NULL,3), + (190157,190001,'Duro Rod AMC Legend Rod',NULL,4), + (190158,190001,'Duro Rod Olds BB Contender Rod',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190159,190001,'Duro Rod Olds BB Champion Rod',NULL,2), + (190160,190001,'Duro Rod Olds BB Lightweight Rod',NULL,3), + (190161,190001,'Duro Rod Olds BB Marathon Rod',NULL,3), + (190162,190001,'Duro Rod Olds BB Legend Rod',NULL,4), + (190163,190001,'Newcomb Chrysler BB Stump Puller Rod',NULL,1), + (190164,190001,'Newcomb Chrysler BB Street Max Rod',NULL,2), + (190165,190001,'Newcomb Chrylser BB Super Max Rod',NULL,3), + (190166,190001,'Duro Rod Chrysler BB Contender Rod',NULL,1), + (190167,190001,'Duro Rod Chrysler BB Champion Rod',NULL,2), + (190168,190001,'Duro Rod Chrysler BB Lightweight Rod',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (190169,190001,'Duro Rod Chrysler BB Marathon Rod',NULL,3), + (190170,190001,'Duro Rod Chrysler BB Legend Rod',NULL,4), + (190171,190001,'Duro Rod Ford BB Contender Rod',NULL,1), + (190172,190001,'Duro Rod Ford BB Champion Rod',NULL,2), + (190173,190001,'Duro Rod Ford BB Lightweight Rod',NULL,3), + (190174,190001,'Duro Rod Ford BB Marathon Rod',NULL,3), + (190175,190001,'Duro Rod Ford BB Legend Rod',NULL,4), + (200001,200001,'Ford BB Flat Top Piston',NULL,1), + (200002,200001,'Ford SB Flat Top Piston',NULL,1), + (200003,200001,'Chevrolet BB Flat Top Piston',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200004,200001,'JE Pistons Domed Top Ford BB Piston',NULL,2), + (200005,200001,'Ford BB Cammer Pop-up Piston',NULL,4), + (200006,200001,'Chevrolet SB Flat Top Piston',NULL,1), + (200007,200001,'JE Pistons Wedge Top Ford Y Piston',NULL,2), + (200008,200001,'Ford BB Recessed Top Piston',NULL,1), + (200009,200001,'Chrysler SB Flat Top Piston',NULL,1), + (200010,200001,'AMC Group 19 Piston',NULL,2), + (200011,200001,'Chevrolet W Z11 Domed Top (3.25) Piston',NULL,4), + (200012,200001,'Pontiac Ram Air IV Forged Aluminum Piston',NULL,2), + (200013,200001,'JE Pistons Domed Top Ford SB Piston',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200014,200001,'Ford 385 Boss Piston',NULL,2), + (200015,200001,'Chrysler BB Flat Top Piston',NULL,1), + (200016,200001,'Buick BB Flat Top Piston',NULL,1), + (200017,200001,'Buick SB Flat Top Piston',NULL,1), + (200018,200001,'Cadillac BB Flat Top Piston',NULL,1), + (200019,200001,'Ford Flathead Flat Top Piston',NULL,1), + (200020,200001,'Olds BB Flat Top Piston',NULL,1), + (200021,200001,'Olds SB Flat Top Piston',NULL,1), + (200022,200001,'AMC Flat Top Piston',NULL,1), + (200023,200001,'Pontiac Flat Top Piston',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200024,200001,'Chevrolet SB Flat Top Forged Aluminum Piston',NULL,2), + (200025,200001,'Buick BB Stage I Piston',NULL,2), + (200026,200001,'Buick BB Stage II Piston',NULL,2), + (200027,200001,'Pontiac Flat Top Forged Aluminum Piston',NULL,2), + (200028,200001,'Ford BB Flat Top Forged Aluminum Piston',NULL,2), + (200029,200001,'Chrysler BB Flat Top Forged Aluminum Piston',NULL,2), + (200030,200001,'Chevrolet W Domed Top (0.75) Piston',NULL,2), + (200031,200001,'JE Pistons Wedge Top Ford SB Piston',NULL,2), + (200032,200001,'JE Pistons Wedge Top Chevrolet SB Piston',NULL,2), + (200033,200001,'JE Pistons Wedge Top Chevrolet BB Piston',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200034,200001,'JE Pistons Wedge Top Buick BB Piston',NULL,2), + (200035,200001,'JE Pistons Wedge Top Olds BB Piston',NULL,2), + (200036,200001,'JE Pistons Domed Top Chevrolet SB Piston',NULL,2), + (200037,200001,'JE Pistons Domed Top Chevrolet BB Piston',NULL,2), + (200038,200001,'JE Pistons Wedge Top Chrysler BB Piston',NULL,2), + (200039,200001,'JE Pistons Domed Top Chrysler BB Piston',NULL,2), + (200040,200001,'JE Pistons Domed Top Buick BB Piston',NULL,2), + (200041,200001,'JE Pistons Domed Top Olds BB Piston',NULL,2), + (200042,200001,'Ford Y Domed Top Piston',NULL,2), + (200043,200001,'Ford BB LR Domed (0.4) Piston',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200044,200001,'Ford BB Recessed (-0.1) Piston',NULL,1), + (200045,200001,'Chrysler BB Wedge (0.1) Piston',NULL,2), + (200046,200001,'Chevrolet BB Flat Top Forged Aluminum Piston',NULL,2), + (200047,200001,'Chevrolet SB Z28 Recessed Top Piston',NULL,2), + (200048,200001,'Chevrolet W Recessed (-0.75) Cast Al. Piston',NULL,1), + (200049,200001,'Chevrolet W Domed Top (1.0) Piston',NULL,2), + (200050,200001,'Chevrolet W Recessed (-0.25) FA Piston',NULL,1), + (200051,200001,'Chevrolet BB Wedge Top FA Piston',NULL,3), + (200052,200001,'Olds BB Wedge Top Piston',NULL,2), + (200053,200001,'Chrysler Hemi Flat Top FA Piston',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200054,200001,'Ford SB Boss 302 FA Piston',NULL,2), + (200055,200001,'Cadillac L-Head Piston',NULL,1), + (200056,200001,'Buick Nailhead Recessed (-0.5) Piston',NULL,1), + (200057,200001,'Buick Nailhead Flat Top (0.0) Piston',NULL,1), + (200058,200001,'Buick Nailhead Wedge Top (0.5) Piston',NULL,1), + (200059,200001,'Buick Nailhead Domed Top (1.0) Piston',NULL,1), + (200060,200001,'JE Pistons Chrysler SB FT FA Piston',NULL,1), + (200061,200001,'Ford Cleveland Block Stock Piston',NULL,1), + (200062,200001,'Ford Cleveland Block FT FA Piston',NULL,1), + (200063,200001,'Ford 385 Block Stock Piston',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200064,200001,'Ford 385 Block CJ Piston',NULL,2), + (200065,200001,'Ford Y Stock CA Piston',NULL,1), + (200066,200001,'Buick SB Wedge Top Piston',NULL,2), + (200067,200001,'Cadillac L-Head FA Piston',NULL,1), + (200068,200001,'Cadillac L-Head Wedge Top Piston',NULL,2), + (200069,200001,'Cadillac BB Wedge Top Piston',NULL,2), + (200070,200001,'Chrysler Hemi Wedge Top FA Piston',NULL,3), + (200071,200001,'Chrysler Hemi Recessed Top FA Piston',NULL,3), + (200072,200001,'Ford Flathead Wedge Top Piston',NULL,2), + (200073,200001,'Ford Flathead Domed Top Piston',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200074,200001,'Oldsmobile SB Wedge Top Piston',NULL,2), + (200075,200001,'Blinsky HiPo Adept Piston',NULL,4), + (200076,200001,'Newcomb Y Block Wedge (.15)',NULL,1), + (200077,200001,'Newcomb Y Block Wedge (.35)',NULL,2), + (200078,200001,'Newcomb Y Block Wedge (.4)',NULL,2), + (200079,200001,'Newcomb Y Block Wedge (.2)',NULL,1), + (200080,200001,'Newcomb Y Block Wedge (.3)',NULL,2), + (200081,200001,'Duro Rod Y Block Domed (.1)',NULL,1), + (200082,200001,'Duro Rod Y Block Domed (.45)',NULL,2), + (200083,200001,'Duro Rod Y Block Domed (.2)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200084,200001,'Duro Rod Y Block Domed (.35)',NULL,2), + (200085,200001,'Duro Rod Y Block Domed (.5)',NULL,2), + (200086,200001,'C&B Chevy SB Domed (.1)',NULL,1), + (200087,200001,'C&B Chevy SB Domed (.2)',NULL,1), + (200088,200001,'C&B Chevy SB Domed (.3)',NULL,1), + (200089,200001,'C&B Chevy SB Domed (.4)',NULL,2), + (200090,200001,'C&B Chevy SB Domed (.5)',NULL,2), + (200091,200001,'C&B Chevy SB Domed (.6)',NULL,2), + (200092,200001,'C&B Chevy SB Domed (.75)',NULL,3), + (200093,200001,'JE Chevy SB Domed (.3)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200094,200001,'JE Chevy SB Domed (.2)',NULL,2), + (200095,200001,'JE Chevy SB Wedge (.15)',NULL,2), + (200096,200001,'JE Chevy SB Wedge (.35)',NULL,2), + (200097,200001,'JE Ford SB Domed (.3)',NULL,2), + (200098,200001,'JE Ford SB Domed (.75)',NULL,2), + (200099,200001,'JE Ford SB Wedge (.5)',NULL,2), + (200100,200001,'JE Ford SB Wedge (.15)',NULL,1), + (200101,200001,'Duro Rod Ford SB Domed (.2)',NULL,1), + (200102,200001,'Duro Rod Ford SB Domed (.35)',NULL,2), + (200103,200001,'Duro Rod Ford SB Domed (.65)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200104,200001,'Newcomb Ford SB Wedge (.3)',NULL,2), + (200105,200001,'Newcomb Ford SB Wedge (.6)',NULL,2), + (200106,200001,'Newcomb Ford SB Recessed (-.45)',NULL,2), + (200107,200001,'Duro Rod Ford SB Recessed (-.15)',NULL,1), + (200108,200001,'Newcomb Ford SB Recessed (-.25)',NULL,1), + (200109,200001,'JE Ford SB Wedge (.4)',NULL,2), + (200110,200001,'Duro Rod Buick Nailhead Domed (.3)',NULL,2), + (200111,200001,'Duro Rod Buick Nailhead Domed (.5)',NULL,2), + (200112,200001,'Newcomb Buick Nailhead Domed (.25)',NULL,1), + (200113,200001,'Duro Rod Buick Nailhead Wedge (.25)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200114,200001,'Newcomb Buick Nailhead Wedge (.35)',NULL,2), + (200115,200001,'Duro Rod Buick Nailhead Wedge (.15)',NULL,1), + (200116,200001,'Newcomb Buick Nailhead Recessed (-.2)',NULL,1), + (200117,200001,'Duro Rod Buick Nailhead Recessed (-.1)',NULL,1), + (200118,200001,'Newcomb Buick Nailhead Recessed (-.25)',NULL,2), + (200119,200001,'Duro Rod Buick Nailhead Recessed (-.35)',NULL,2), + (200120,200001,'Duro Rod Buick Nailhead Flat Top',NULL,1), + (200121,200001,'Newcomb Buick Nailhead Flat Top',NULL,2), + (200122,200001,'Newcomb Chrysler SB Recessed (-.75)',NULL,2), + (200123,200001,'Newcomb Chrysler SB Recessed (-.5)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200124,200001,'Newcomb Chrysler SB Recessed (-.25)',NULL,1), + (200125,200001,'Duro Rod Chrysler SB Recessed (-.6)',NULL,2), + (200126,200001,'Duro Rod Chrysler SB Recessed (-.3)',NULL,1), + (200127,200001,'Duro Rod Chrysler SB Wedge (.3)',NULL,1), + (200128,200001,'Duro Rod Chrysler SB Wedge (.5)',NULL,2), + (200129,200001,'Duro Rod Chrysler SB Wedge (.75)',NULL,2), + (200130,200001,'Newcomb Chrysler SB Wedge (.25)',NULL,1), + (200131,200001,'Newcomb Chrysler SB Wedge (1.0)',NULL,2), + (200132,200001,'Newcomb Chrysler SB Flat Top Lightweight',NULL,2), + (200133,200001,'JE Pistons Chrysler SB Domed (.25)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200134,200001,'JE Pistons Chrysler SB Domed (.75)',NULL,2), + (200135,200001,'JE Pistons Chrysler SB Domed (1.0)',NULL,3), + (200136,200001,'JE Pistons Chrysler SB Domed (1.25)',NULL,4), + (200137,200001,'Newcomb Pontiac Recessed (-.25)',NULL,1), + (200138,200001,'Newcomb Pontiac Recessed (-.5)',NULL,2), + (200139,200001,'Newcomb Pontiac Recessed (-.75)',NULL,2), + (200140,200001,'Duro Rod Pontiac Recessed (-.3)',NULL,1), + (200141,200001,'Duro Rod Pontiac Recessed (-.6)',NULL,2), + (200142,200001,'Duro Rod Pontiac Wedge (.2)',NULL,1), + (200143,200001,'Duro Rod Pontiac Wedge (.6)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200144,200001,'Duro Rod Pontiac Wedge (.8)',NULL,3), + (200145,200001,'Newcomb Pontiac Wedge (.4)',NULL,2), + (200146,200001,'Newcomb Pontiac Wedge (1.0)',NULL,3), + (200147,200001,'JE Pistons Pontiac Domed (.25)',NULL,1), + (200148,200001,'JE Pistons Pontiac Domed (.5)',NULL,2), + (200149,200001,'JE Pistons Pontiac Domed (.75)',NULL,2), + (200150,200001,'JE Pistons Pontiac Domed (1.0)',NULL,3), + (200151,200001,'JE Pistons Pontiac Domed (1.25)',NULL,4), + (200152,200001,'JE Chevy BB Recessed (-.15)',NULL,1), + (200153,200001,'JE Chevy BB Recessed (-.25)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200154,200001,'JE Chevy BB Recessed (-.35)',NULL,2), + (200155,200001,'JE Chevy BB Recessed (-.5)',NULL,2), + (200156,200001,'JE Chevy BB Recessed (-.75)',NULL,3), + (200157,200001,'JE Chevy BB Wedge (.35)',NULL,2), + (200158,200001,'JE Chevy BB Wedge (.5)',NULL,2), + (200159,200001,'JE Chevy BB Wedge (.75)',NULL,2), + (200160,200001,'JE Chevy BB Wedge (1.0)',NULL,3), + (200161,200001,'JE Chevy BB Domed (.25)',NULL,1), + (200162,200001,'JE Chevy BB Domed (.75)',NULL,2), + (200163,200001,'JE Chevy BB Domed (1.0)',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200164,200001,'JE Chevy BB Domed (1.25)',NULL,4), + (200165,200001,'Duro Rod Ford BB Recessed (-.3)',NULL,2), + (200166,200001,'Duro Rod Ford BB Recessed (-.6)',NULL,2), + (200167,200001,'Newcomb Ford BB Recessed (-.25)',NULL,1), + (200168,200001,'Newcomb Ford BB Recessed (-.5)',NULL,2), + (200169,200001,'Newcomb Ford BB Recessed (-.75)',NULL,2), + (200170,200001,'JE Ford BB Wedge (.15)',NULL,1), + (200171,200001,'JE Ford BB Wedge (.25)',NULL,2), + (200172,200001,'JE Ford BB Wedge (.5)',NULL,2), + (200173,200001,'JE Ford BB Wedge (.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200174,200001,'JE Ford BB Wedge (1.0)',NULL,3), + (200175,200001,'JE Ford BB Domed (.25)',NULL,2), + (200176,200001,'JE Ford BB Domed (.75)',NULL,2), + (200177,200001,'JE Ford BB Domed (1.0)',NULL,3), + (200178,200001,'JE Ford BB Domed (1.25)',NULL,4), + (200179,200001,'JE Chrysler BB Wedge (.15)',NULL,1), + (200180,200001,'JE Chrysler BB Wedge (.5)',NULL,2), + (200181,200001,'JE Chrysler BB Wedge (.75)',NULL,2), + (200182,200001,'JE Chrysler BB Wedge (1.0)',NULL,3), + (200183,200001,'JE Chrysler BB Domed (.25)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200184,200001,'JE Chrysler BB Domed (.75)',NULL,2), + (200185,200001,'JE Chrysler BB Domed (1.0)',NULL,3), + (200186,200001,'JE Chrysler BB Domed (1.25)',NULL,4), + (200187,200001,'Duro Rod Chrysler BB Recessed (-.3)',NULL,2), + (200188,200001,'Duro Rod Chrysler BB Recessed (-.6)',NULL,2), + (200189,200001,'Newcomb Chrysler BB Recessed (-.25)',NULL,2), + (200190,200001,'Newcomb Chrysler BB Recessed (-.5)',NULL,2), + (200191,200001,'Newcomb Chrysler BB Recessed (-.75)',NULL,2), + (200192,200001,'Duro Rod Olds BB Recessed (-.3)',NULL,2), + (200193,200001,'Duro Rod Olds BB Recessed (-.6)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200194,200001,'Newcomb Olds BB Recessed (-.25)',NULL,2), + (200195,200001,'Newcomb Olds BB Recessed (-.5)',NULL,2), + (200196,200001,'Newcomb Olds BB Recessed (-.75)',NULL,2), + (200197,200001,'JE Olds BB Wedge (.15)',NULL,1), + (200198,200001,'JE Olds BB Wedge (.5)',NULL,2), + (200199,200001,'JE Olds BB Wedge (.75)',NULL,2), + (200200,200001,'JE Olds BB Wedge (1.0)',NULL,3), + (200201,200001,'JE Olds BB Domed (.25)',NULL,2), + (200202,200001,'JE Olds BB Domed (.75)',NULL,2), + (200203,200001,'JE Olds BB Domed (1.0)',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200204,200001,'JE Olds BB Domed (1.25)',NULL,4), + (200205,200001,'Duro Rod AMC Recessed (-.3)',NULL,2), + (200206,200001,'Duro Rod AMC Recessed (-.6)',NULL,2), + (200207,200001,'Newcomb AMC Recessed (-.25)',NULL,2), + (200208,200001,'Newcomb AMC Recessed (-.5)',NULL,2), + (200209,200001,'Newcomb AMC Recessed (-.75)',NULL,2), + (200210,200001,'JE AMC Wedge (.15)',NULL,1), + (200211,200001,'JE AMC Wedge (.25)',NULL,2), + (200212,200001,'JE AMC Wedge (.5)',NULL,2), + (200213,200001,'JE AMC Wedge (.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200214,200001,'JE AMC Wedge (1.0)',NULL,3), + (200215,200001,'JE AMC Domed (.25)',NULL,2), + (200216,200001,'JE AMC Domed (.5)',NULL,2), + (200217,200001,'JE AMC Domed (.75)',NULL,2), + (200218,200001,'JE AMC Domed (1.0)',NULL,3), + (200219,200001,'JE AMC Domed (1.25)',NULL,4), + (200220,200001,'Newcomb Chevy W Recessed (-.5)',NULL,2), + (200221,200001,'Duro Rod Chevy W Recessed (-.3)',NULL,2), + (200222,200001,'Duro Rod Chevy W Recessed (-.6)',NULL,2), + (200223,200001,'JE Chevy W Wedge (.15)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200224,200001,'JE Chevy W Wedge (.25)',NULL,2), + (200225,200001,'JE Chevy W Wedge (.5)',NULL,2), + (200226,200001,'JE Chevy W Wedge (.75)',NULL,2), + (200227,200001,'JE Chevy W Wedge (1.0)',NULL,3), + (200228,200001,'JE Chevy W Domed (.25)',NULL,2), + (200229,200001,'JE Chevy W Domed (.5)',NULL,2), + (200230,200001,'JE Chevy W Domed (1.25)',NULL,4), + (200231,200001,'Newcomb Cadillac BB Recessed (-.25)',NULL,2), + (200232,200001,'Newcomb Cadillac BB Recessed (-.5)',NULL,2), + (200233,200001,'Newcomb Cadillac BB Recessed (-.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200234,200001,'Duro Rod Cadillac BB Recessed (-.3)',NULL,2), + (200235,200001,'Duro Rod Cadillac BB Recessed (-.6)',NULL,2), + (200236,200001,'JE Cadillac BB Domed (.25)',NULL,2), + (200237,200001,'JE Cadillac BB Domed (.5)',NULL,2), + (200238,200001,'JE Cadillac BB Domed (.75)',NULL,2), + (200239,200001,'JE Cadillac BB Domed (1.0)',NULL,3), + (200240,200001,'JE Cadillac BB Domed (1.25)',NULL,4), + (200241,200001,'JE Cadillac BB Wedge (.15)',NULL,1), + (200242,200001,'JE Cadillac BB Wedge (.25)',NULL,2), + (200243,200001,'JE Cadillac BB Wedge (.5)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200244,200001,'JE Cadillac BB Wedge (.75)',NULL,2), + (200245,200001,'JE Cadillac BB Wedge (1.0)',NULL,3), + (200246,200001,'Newcomb Hemi Recessed (-.25)',NULL,2), + (200247,200001,'Newcomb Hemi Recessed (-.5)',NULL,2), + (200248,200001,'Newcomb Hemi Recessed (-.75)',NULL,2), + (200249,200001,'Duro Rod Hemi Recessed (-.3)',NULL,2), + (200250,200001,'Duro Rod Hemi Recessed (-.6)',NULL,2), + (200251,200001,'JE Hemi Domed (.25)',NULL,2), + (200252,200001,'JE Hemi Domed (.5)',NULL,2), + (200253,200001,'JE Hemi Domed (.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200254,200001,'JE Hemi Domed (1.0)',NULL,3), + (200255,200001,'JE Hemi Domed (1.25)',NULL,4), + (200256,200001,'JE Hemi Wedge (.15)',NULL,1), + (200257,200001,'JE Hemi Wedge (.25)',NULL,2), + (200258,200001,'JE Hemi Wedge (.5)',NULL,2), + (200259,200001,'JE Hemi Wedge (.75)',NULL,2), + (200260,200001,'JE Hemi Wedge (1.0)',NULL,3), + (200261,200001,'Newcomb Ford 385 Recessed (-.25)',NULL,2), + (200262,200001,'Newcomb Ford 385 Recessed (-.5)',NULL,2), + (200263,200001,'Newcomb Ford 385 Recessed (-.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200264,200001,'Duro Rod Ford 385 Recessed (-.3)',NULL,2), + (200265,200001,'Duro Rod Ford 385 Recessed (-.6)',NULL,2), + (200266,200001,'JE Ford 385 Domed (.25)',NULL,2), + (200267,200001,'JE Ford 385 Domed (.5)',NULL,2), + (200268,200001,'JE Ford 385 Domed (.75)',NULL,2), + (200269,200001,'JE Ford 385 Domed (1.0)',NULL,3), + (200270,200001,'JE Ford 385 Domed (1.25)',NULL,4), + (200271,200001,'JE Ford 385 Wedge (.15)',NULL,1), + (200272,200001,'JE Ford 385 Wedge (.25)',NULL,2), + (200273,200001,'JE Ford 385 Wedge (.5)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200274,200001,'JE Ford 385 Wedge (.75)',NULL,2), + (200275,200001,'JE Ford 385 Wedge (1.0)',NULL,3), + (200276,200001,'Newcomb Cleveland Recessed (-.25)',NULL,2), + (200277,200001,'Newcomb Cleveland Recessed (-.5)',NULL,2), + (200278,200001,'Newcomb Cleveland Recessed (-.75)',NULL,2), + (200279,200001,'Duro Rod Cleveland Recessed (-.3)',NULL,2), + (200280,200001,'Duro Rod Cleveland Recessed (-.6)',NULL,2), + (200281,200001,'JE Cleveland Domed (.25)',NULL,2), + (200282,200001,'JE Cleveland Domed (.5)',NULL,2), + (200283,200001,'JE Cleveland Domed (.75)',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (200284,200001,'JE Cleveland Domed (1.0)',NULL,3), + (200285,200001,'JE Cleveland Domed (1.25)',NULL,4), + (200286,200001,'JE Cleveland Wedge (.15)',NULL,1), + (200287,200001,'JE Cleveland Wedge (.25)',NULL,2), + (200288,200001,'JE Cleveland Wedge (.5)',NULL,2), + (200289,200001,'JE Cleveland Wedge (.75)',NULL,2), + (200290,200001,'JE Cleveland Wedge (1.0)',NULL,3), + (230001,230001,'Normal Duty Cooling System',NULL,1), + (230002,230001,'Light Duty Cooling System',NULL,1), + (230003,230001,'Heavy Duty Cooling System',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (230004,230001,'Extra Heavy Duty Cooling System',NULL,4), + (230005,230001,'Ford BB Boss XHD Cooling System',NULL,4), + (230006,230001,'Edelbrock Victor Series Cooling System',NULL,2), + (230007,230001,'Chevy SB Standard',NULL,1), + (230008,230001,'Chevy SB Heavy Duty',NULL,2), + (230009,230001,'Chevy W Standard',NULL,1), + (230010,230001,'Chevy W Heavy Duty',NULL,2), + (230011,230001,'Chevy BB Standard',NULL,1), + (230012,230001,'Chevy BB Heavy Duty',NULL,2), + (230013,230001,'Chrysler SB Standard',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (230014,230001,'Chrysler SB Heavy Duty',NULL,2), + (230015,230001,'Chrysler SB Performance',NULL,3), + (230016,230001,'Chrysler BB Standard',NULL,1), + (230017,230001,'Chrysler BB Heavy Duty',NULL,2), + (230018,230001,'Chrysler BB Performance',NULL,3), + (230019,230001,'Cadillac L-Head Standard',NULL,1), + (230020,230001,'AMC Standard',NULL,1), + (230021,230001,'AMC Heavy Duty',NULL,2), + (230022,230001,'Cadillac BB Standard',NULL,1), + (230023,230001,'Cadillac BB Heavy Duty',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (230024,230001,'Pontiac Standard',NULL,1), + (230025,230001,'Pontiac Performance',NULL,2), + (230026,230001,'Olds BB Standard',NULL,1), + (230027,230001,'Olds BB Heavy Duty',NULL,2), + (230028,230001,'Buick Nailhead Standard',NULL,1), + (230029,230001,'Buick Nailhead Heavy Duty',NULL,2), + (230030,230001,'Ford Flathead Standard',NULL,1), + (230031,230001,'Ford Y Block Standard',NULL,1), + (230032,230001,'Ford Y Block Heavy Duty',NULL,2), + (230033,230001,'Ford SB Standard',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (230034,230001,'Ford SB Heavy Duty',NULL,2), + (230035,230001,'Ford SB Boss',NULL,3), + (230036,230001,'Ford BB Standard',NULL,1), + (230037,230001,'Ford BB Heavy Duty',NULL,2), + (240001,240001,'Marinn Normal Duty Electrical System',NULL,1), + (240002,240001,'Ford Boss Electronic Ignition',NULL,3), + (240003,240001,'Mallory Light Duty Electrical System',NULL,1), + (240004,240001,'AMC Group 19 Electrical System',NULL,2), + (240005,240001,'Accel Billetproof Breakerless',NULL,2), + (240006,240001,'Accel Blueprint Electronic Ignition',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (240007,240001,'Crane Fireball XR700 Ignition System',NULL,3), + (240008,240001,'Crane Fireball XR3000 Ignition System',NULL,4), + (240009,240001,'Holley Avenger Ignition',NULL,3), + (240010,240001,'Holley Dominator Ignition',NULL,3), + (240011,240001,'Holley Excelerator Ignition',NULL,3), + (240012,240001,'GM Standard Single Point',NULL,1), + (240013,240001,'GM Performance Single Point',NULL,2), + (240014,240001,'GM Standard Dual Point',NULL,1), + (240015,240001,'GM Performance Dual Point',NULL,2), + (240016,240001,'GM Standard Electronic',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (240017,240001,'GM Performance Electronic',NULL,2), + (240018,240001,'Chrysler Standard Single Point',NULL,1), + (240019,240001,'Chrysler Performance Single Point',NULL,2), + (240020,240001,'Chrysler Standard Dual Point',NULL,1), + (240021,240001,'Chrysler Performance Dual Point',NULL,2), + (240022,240001,'Chrysler Standard Electronic',NULL,2), + (240023,240001,'Chrysler Performance Electronic',NULL,2), + (240024,240001,'Ford Standard Single Point',NULL,1), + (240025,240001,'Ford Performance Single Point',NULL,2), + (240026,240001,'Ford Standard Dual Point',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (240027,240001,'Ford Performance Dual Point',NULL,2), + (240028,240001,'Ford Standard Electronic',NULL,2), + (240029,240001,'Ford Performance Electronic',NULL,2), + (240030,240001,'AMC Standard Single Point',NULL,1), + (240031,240001,'AMC Performance Single Point',NULL,2), + (240032,240001,'AMC Standard Dual Point',NULL,1), + (240033,240001,'AMC Performance Dual Point',NULL,2), + (250001,250001,'Ford SB Stock Lubrication System',NULL,1), + (250002,250001,'Chevy BB Stock Lubrication System',NULL,1), + (250003,250001,'AMC Stock Lubrication System',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (250004,250001,'GM Z11 Lubrication System',NULL,3), + (250005,250001,'Ford BB Boss Lubrication System',NULL,3), + (250006,250001,'Bully HD Lubrication System',NULL,2), + (250007,250001,'Bully XHD Lubrication System',NULL,3), + (250008,250001,'Ford Cobra Lubrication System',NULL,3), + (250009,250001,'Chevy SB Stock Lubrication System',NULL,1), + (250010,250001,'Chevy SB Performance Lubrication System',NULL,2), + (250011,250001,'Chevy BB Performance Lubrication System',NULL,2), + (250012,250001,'Chrysler SB Stock Lubrication System',NULL,1), + (250013,250001,'Chrysler BB Stock Lubrication System',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (250014,250001,'Chrysler BB Performance Lubrication System',NULL,2), + (250015,250001,'Cadillac BB Stock Lubrication System',NULL,1), + (250016,250001,'Cadillac L-Head Stock Lubrication System',NULL,1), + (250017,250001,'Pontiac Stock Lubrication System',NULL,1), + (250018,250001,'Pontiac Performance Lubrication System',NULL,2), + (250019,250001,'Olds BB Stock Lubrication System',NULL,1), + (250020,250001,'Olds BB Performance Lubrication System',NULL,2), + (250021,250001,'Buick Nailhead Stock Lubrication System',NULL,1), + (250022,250001,'Ford Flathead Stock Lubrication System',NULL,1), + (250023,250001,'Ford Y Block Stock Lubrication System',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (250024,250001,'Ford SB Boss Lubrication System',NULL,3), + (250025,250001,'Ford SB Windsor Stock Lubrication System',NULL,1), + (250026,250001,'Ford Cleveland Stock Lubrication System',NULL,1), + (250027,250001,'Ford BB Stock Lubrication System',NULL,1), + (250028,250001,'Ford BB Performance Lubrication System',NULL,2), + (250029,250001,'Ford 385 Stock Lubrication System',NULL,1), + (250030,250001,'Ford 385 Performance Lubrication System',NULL,2), + (280001,280001,'Ford BB Stock Exhaust Manifold',NULL,1), + (280002,280001,'Chevrolet BB Stock Exhaust Manifold',NULL,1), + (280003,280001,'Chrysler SB Stock Exhaust Manifold',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280004,280001,'Ford 385 Boss Dual EM',NULL,2), + (280005,280001,'Chevrolet BB HP EM',NULL,2), + (280006,280001,'Chevrolet W Z11 HP EM',NULL,2), + (280007,280001,'Hooker Street Rodder Chevrolet SB Headers',NULL,3), + (280008,280001,'Ford BB Cobrajet Dual EM',NULL,2), + (280009,280001,'Ford BB Tri-Y Steel Tube Headers',NULL,3), + (280010,280001,'Chrysler BB Max Wedge Exhaust Manifold',NULL,2), + (280011,280001,'AMC Rebel Machine Dual EM',NULL,2), + (280012,280001,'Edelbrock TES Chevrolet BB Exhaust Headers',NULL,3), + (280013,280001,'Buick BB Stock Exhaust Manifold',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280014,280001,'Buick SB Stock Exhaust Manifold',NULL,1), + (280015,280001,'Cadillac BB Stock Exhaust Manifold',NULL,1), + (280016,280001,'Chevrolet SB Stock Exhaust Manifold',NULL,1), + (280017,280001,'Chrysler BB Stock Exhaust Manifold',NULL,1), + (280018,280001,'Ford SB Stock Exhaust Manifold',NULL,1), + (280019,280001,'Ford Flathead Stock Exhaust Manifold',NULL,1), + (280020,280001,'Olds BB Stock Exhaust Manifold',NULL,1), + (280021,280001,'Olds SB Stock Exhaust Manifold',NULL,1), + (280022,280001,'AMC Stock Exhaust Manifold',NULL,1), + (280023,280001,'Pontiac Stock Exhaust Manifold',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280024,280001,'Chevrolet SB Ram''s Horn EM',NULL,1), + (280025,280001,'Buick BB Stage I EM',NULL,2), + (280026,280001,'Buick BB Mickey Thompson Headers',NULL,3), + (280027,280001,'Olds BB Divider EM',NULL,1), + (280028,280001,'Pontiac Ram Air I EM',NULL,2), + (280029,280001,'Pontiac HP EM',NULL,2), + (280030,280001,'Ford Y 1957 Manifold',NULL,1), + (280031,280001,'Ford BB CJ/SCJ HP EM',NULL,2), + (280032,280001,'Ford 385 NASCAR EM',NULL,3), + (280033,280001,'Chrysler BB Max Wedge I Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280034,280001,'Chrysler BB 440 Stock EM',NULL,1), + (280035,280001,'Chrysler BB Tri-Y Max Wedge EM',NULL,2), + (280036,280001,'Chrysler BB HP EM',NULL,2), + (280037,280001,'Chrysler SB Improved Flow EM',NULL,2), + (280038,280001,'Chevrolet SB HP Exhaust Manifold',NULL,2), + (280039,280001,'Pontiac Trophy EM',NULL,2), + (280040,280001,'Ford SB Boss 302 EM',NULL,2), + (280041,280001,'Chrysler Hemi Exhaust Manifold',NULL,2), + (280042,280001,'Shade Tree Chrysler Hemi Exhaust Manifold',NULL,1), + (280043,280001,'Cadillac L-Head Exhaust Manifold',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280044,280001,'Buick Nailhead Stock Exhaust Manifold',NULL,1), + (280045,280001,'Ford Cleveland Block Stock EM',NULL,1), + (280046,280001,'Ford 385 Block Stock EM',NULL,1), + (280047,280001,'Ford 385 Block CJ/SCJ EM',NULL,2), + (280048,280001,'Ford SB HP EM',NULL,2), + (280049,280001,'Ford Y Stock EM',NULL,1), + (280050,280001,'Chevrolet W Stock EM',NULL,1), + (280051,280001,'Chevrolet W HP EM',NULL,2), + (280052,280001,'Ford Cleveland Block HP EM',NULL,2), + (280053,280001,'Buick Nailhead Performance EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280054,280001,'Cadillac L-Head Performance EM',NULL,2), + (280055,280001,'Buick SB Performance EM',NULL,2), + (280056,280001,'Buick SB Headers',NULL,2), + (280057,280001,'Cadillac Performance EM',NULL,2), + (280058,280001,'Ford Flathead Performance EM',NULL,2), + (280059,280001,'Olds SB Performance EM',NULL,2), + (280060,280001,'Edelbrock TES Pontiac Exhaust Headers',NULL,3), + (280061,280001,'Edelbrock TES Chevrolet W Exhaust Headers',NULL,3), + (280062,280001,'Edelbrock TES Ford 385 Exhaust Headers',NULL,3), + (280063,280001,'AMC Small Tube Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280064,280001,'Buick Nailhead Small Tube Headers',NULL,3), + (280065,280001,'Cadillac L-Head Small Tube Headers',NULL,3), + (280066,280001,'Cadillac Small Tube Headers',NULL,3), + (280067,280001,'Chevy SB Small Tube Headers',NULL,3), + (280068,280001,'Chrysler SB Small Tube Headers',NULL,3), + (280069,280001,'Ford Flathead Small Tube Headers',NULL,3), + (280070,280001,'Ford SB Small Tube Headers',NULL,3), + (280071,280001,'Ford Y Block Small Tube Headers',NULL,3), + (280072,280001,'Ford Cleveland Block Small Tube Headers',NULL,3), + (280073,280001,'Oldsmobile SB Small Tube Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280074,280001,'Oldsmobile BB Small Tube Headers',NULL,3), + (280075,280001,'Chrysler Hemi Small Tube Headers',NULL,3), + (280076,280001,'Ford Y Block Factory Headers',NULL,2), + (280077,280001,'Oldfield Y Block Free Flow EM',NULL,1), + (280078,280001,'Oldfield Y Block Free Flow Aluminum EM',NULL,1), + (280079,280001,'Oldfield Y Block Street King Headers',NULL,3), + (280080,280001,'Oldfield Y Block Strip King Headers',NULL,3), + (280081,280001,'Oldfield Y Block Track King Headers',NULL,3), + (280082,280001,'Quaker Y Block Air Stream EM',NULL,1), + (280083,280001,'Quaker Y Block Air Stream Aluminum EM',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280084,280001,'Quaker Y Block Super Stream Headers',NULL,3), + (280085,280001,'Rad Rat Chevy SB Window Rattler Headers',NULL,3), + (280086,280001,'Rad Rat Chevy SB Street Lion Headers',NULL,3), + (280087,280001,'Rad Rat Chevy SB Rumble Pipe Headers',NULL,3), + (280088,280001,'C&B Chevy SB Masterpiece EM',NULL,2), + (280089,280001,'C&B Chevy SB Blueprint EM',NULL,1), + (280090,280001,'C&B Chevy SB Beach Racer Headers',NULL,3), + (280091,280001,'Rad Rat Chevy SB Street Mod EM',NULL,1), + (280092,280001,'Quaker Ford SB Interceptor EM',NULL,2), + (280093,280001,'Quaker Ford SB Super Stream Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280094,280001,'Oldfield Ford SB Police Special EM',NULL,2), + (280095,280001,'Dunbar Buick Nailhead Performance EM',NULL,2), + (280096,280001,'Dunbar Buick Nailhead Lightweight EM',NULL,1), + (280097,280001,'Dunbar Buick Nailhead Performance Headers',NULL,2), + (280098,280001,'Dunbar Buick Nailhead Street Headers',NULL,2), + (280099,280001,'Quaker Chrysler SB Airstream EM',NULL,1), + (280100,280001,'Quaker Chrysler SB Double Demon HP EM',NULL,2), + (280101,280001,'Quaker Chrysler SB Super Stream Headers',NULL,4), + (280102,280001,'Walter Chrysler SB LA Street EM',NULL,2), + (280103,280001,'Walter Chrysler SB Performance LA HP EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280104,280001,'Walter Chrysler SB LA Sm. Headers',NULL,3), + (280105,280001,'Walter Chrysler SB Super LA Lg. Headers',NULL,4), + (280106,280001,'Quaker Pontiac Airstream EM',NULL,1), + (280107,280001,'Quaker Pontiac Aluminum Airstream EM',NULL,1), + (280108,280001,'Quaker Pontiac Jet Stream Headers',NULL,3), + (280109,280001,'Quaker Pontiac Super Stream Headers',NULL,4), + (280110,280001,'Quaker Cleveland Air Stream EM',NULL,1), + (280111,280001,'Quaker Cleveland Air Stream Alum. EM',NULL,1), + (280112,280001,'Quaker Cleveland Interceptor EM',NULL,2), + (280113,280001,'Oldfield Cleveland Street King EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280114,280001,'Quaker Cleveland Super Stream Headers',NULL,4), + (280115,280001,'Oldfield Cleveland Track King Headers',NULL,4), + (280116,280001,'Oldfield Cleveland Strip King Headers',NULL,3), + (280117,280001,'Oldfield Ford 385 Strip King Headers',NULL,3), + (280118,280001,'Oldfield Ford 385 Track King Headers',NULL,4), + (280119,280001,'Oldfield Ford 385 Street King EM',NULL,2), + (280120,280001,'Quaker Ford 385 Air Stream EM',NULL,1), + (280121,280001,'Quaker Ford 385 Interceptor EM',NULL,2), + (280122,280001,'Quaker Ford 385 Jet Stream Headers',NULL,3), + (280123,280001,'Quaker Ford 385 Super Stream Headers',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280124,280001,'Quaker Hemi Air Stream EM',NULL,1), + (280125,280001,'Quaker Hemi Air Stream Alum. EM',NULL,1), + (280126,280001,'Quaker Hemi Super Stream Headers',NULL,4), + (280127,280001,'Walter Hemi Street EM',NULL,1), + (280128,280001,'Walter Hemi Performance EM',NULL,2), + (280129,280001,'Walter Hemi Hemi Headers',NULL,3), + (280130,280001,'Walter Hemi Super Hemi Headers',NULL,4), + (280131,280001,'Quaker Cadillac BB Air Stream EM',NULL,1), + (280132,280001,'Quaker Cadillac BB Air Stream Alum. EM',NULL,1), + (280133,280001,'Quaker Cadillac BB Interceptor EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280134,280001,'Quaker Cadillac BB Super Stream Headers',NULL,4), + (280135,280001,'Leland Cadillac BB Street Headers',NULL,3), + (280136,280001,'Leland Cadillac BB Rad Cad Headers',NULL,4), + (280137,280001,'Leland Cadillac BB HP EM',NULL,3), + (280138,280001,'Rad Rat Chevy W Street Mod EM',NULL,2), + (280139,280001,'Rad Rat Chevy W Rumble Pipe Headers',NULL,2), + (280140,280001,'Rad Rat Chevy W Street Lion Headers',NULL,3), + (280141,280001,'Rad Rat Chevy W Window Rattler Headers',NULL,4), + (280142,280001,'Quaker Chevy W Air Stream EM',NULL,1), + (280143,280001,'Quaker Chevy W Interceptor EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280144,280001,'Quaker Chevy W Jet Stream Headers',NULL,3), + (280145,280001,'Quaker Chevy W Super Stream Headers',NULL,4), + (280146,280001,'Quaker AMC Air Stream EM',NULL,1), + (280147,280001,'Quaker AMC Air Stream Alum. EM',NULL,1), + (280148,280001,'Quaker AMC Interceptor EM',NULL,2), + (280149,280001,'Quaker AMC Super Stream Headers',NULL,4), + (280150,280001,'Street Shark AMC Stalker EM',NULL,2), + (280151,280001,'Street Shark AMC Hunter Headers',NULL,3), + (280152,280001,'Street Shark AMC Predator Headers',NULL,4), + (280153,280001,'Quaker Olds BB Air Stream EM',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280154,280001,'Quaker Olds BB Air Stream Alum. EM',NULL,1), + (280155,280001,'Quaker Olds BB Interceptor EM',NULL,2), + (280156,280001,'Quaker Olds BB Super Stream Headers',NULL,4), + (280157,280001,'Street Shark Olds BB Stalker EM',NULL,2), + (280158,280001,'Street Shark Olds BB Hunter Headers',NULL,3), + (280159,280001,'Street Shark Olds BB Predator Headers',NULL,4), + (280160,280001,'Quaker Chrysler BB Air Stream EM',NULL,1), + (280161,280001,'Quaker Chrysler BB Air Stream Alum. EM',NULL,1), + (280162,280001,'Quaker Chrysler BB Interceptor EM',NULL,2), + (280163,280001,'Quaker Chrysler BB Jet Stream Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280164,280001,'Quaker Chrysler BB Super Stream Headers',NULL,4), + (280165,280001,'Street Shark Chrysler BB Stalker EM',NULL,2), + (280166,280001,'Street Shark Chrylser BB Hunter Headers',NULL,3), + (280167,280001,'Street Shark Chrysler BB Predator Headers',NULL,4), + (280168,280001,'Quaker Ford BB Air Stream EM',NULL,1), + (280169,280001,'Quaker Ford BB Air Stream Alum. EM',NULL,1), + (280170,280001,'Quaker Ford BB Interceptor EM',NULL,2), + (280171,280001,'Quaker Ford BB Jet Stream Headers',NULL,3), + (280172,280001,'Quaker Ford BB Super Stream Headers',NULL,4), + (280173,280001,'Oldfield Ford BB Street King EM',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280174,280001,'Oldfield Ford BB Strip King Headers',NULL,3), + (280175,280001,'Oldfield Ford BB Track King Headers',NULL,4), + (280176,280001,'Quaker Chevy BB Air Stream EM',NULL,1), + (280177,280001,'Quaker Chevy BB Air Stream Alum. EM',NULL,1), + (280178,280001,'Quaker Chevy BB Interceptor EM',NULL,2), + (280179,280001,'Quaker Chevy BB Jet Stream Headers',NULL,3), + (280180,280001,'Quaker Chevy BB Super Stream Headers',NULL,4), + (280181,280001,'Rad Rat Chevy BB Street Mod EM',NULL,2), + (280182,280001,'Rad Rat Chevy BB Rumble Pipe Headers',NULL,3), + (280183,280001,'Rad Rat Chevy BB Street Lion Headers',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (280184,280001,'Rad Rat Chevy BB Window Rattler Headers',NULL,4), + (290001,290001,'1.625" Treated Iron Single Exhaust Pipe',NULL,1), + (290002,290001,'1.625" Treated Iron Dual Exhaust Pipe',NULL,1), + (290003,290001,'1.625" Cast Iron Single Exhaust Pipe',NULL,1), + (290004,290001,'1.625" Cast Iron Dual Exhaust Pipe',NULL,1), + (290005,290001,'Hooker Street Racer Crossflow Exhaust Pipe',NULL,3), + (290006,290001,'Hooker Performance Crossflow Exhaust Pipe',NULL,3), + (290007,290001,'Hooker Maximum Performance Crossflow Exhaust Pipe',NULL,4), + (290008,290001,'Edelbrock Cat-Back System',NULL,3), + (290009,290001,'Fat Shiny Pipe',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (290010,290001,'Manley 1.75" CI Single',NULL,1), + (290011,290001,'Manley 1.875" CI Single',NULL,1), + (290012,290001,'Manley 2" CI Single',NULL,2), + (290013,290001,'Manley 2.25" CI Dual',NULL,4), + (290014,290001,'Manley 1.75" TI Single',NULL,1), + (290015,290001,'Manley 1.875" TI Single',NULL,1), + (290016,290001,'Manley 2" TI Single',NULL,2), + (290017,290001,'Manley 2.25" TI Dual',NULL,4), + (290018,290001,'Manley 1.75" CI Dual',NULL,2), + (290019,290001,'Manley 1.875" CI Dual',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (290020,290001,'Manley 2" CI Dual',NULL,3), + (290021,290001,'Manley 1.75" TI Dual',NULL,2), + (290022,290001,'Manley 1.875" TI Dual',NULL,2), + (290023,290001,'Manley 2" TI Dual',NULL,3), + (290024,290001,'Manley 1.625" FS Dual',NULL,2), + (290025,290001,'Manley 1.75" FS Dual',NULL,2), + (290026,290001,'Manley 1.875" FS Dual',NULL,2), + (290027,290001,'Manley 2" FS Dual',NULL,3), + (290028,290001,'Manley 2.25" FS Dual',NULL,4), + (290029,290001,'Manley 1.625" Alloy Steel Dual',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (290030,290001,'Manley 1.75" Alloy Steel Dual',NULL,2), + (290031,290001,'Manley 1.875" Alloy Steel Dual',NULL,2), + (290032,290001,'Manley 2" Alloy Steel Dual',NULL,3), + (290033,290001,'Manley 2.25" Alloy Steel Dual',NULL,4), + (290034,290001,'Manley 1.625" Aluminum Alloy Dual',NULL,2), + (290035,290001,'Manley 1.75" Aluminum Alloy Dual',NULL,2), + (290036,290001,'Manley 1.875" Aluminum Alloy Dual',NULL,2), + (290037,290001,'Manley 2" Aluminum Alloy Dual',NULL,3), + (290038,290001,'Manley 2.25" Aluminum Alloy Dual',NULL,4), + (300001,300001,'Midas Stock Muffler',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (300002,300001,'Midas Aluminum Stock Muffler',NULL,1), + (300003,300001,'GM Side Pipes','PIPESIDE',2), + (300004,300001,'GM Dual Resonators',NULL,2), + (300005,300001,'Edelbrock RPM Muffler',NULL,3), + (300006,300001,'Edelbrock Victor Muffler',NULL,3), + (300007,300001,'Edelbrock 304 Muffler',NULL,3), + (300008,300001,'Hooker Maximum Flow',NULL,4), + (300009,300001,'Hooker Super Competition',NULL,4), + (300010,300001,'Hooker Elite Glasspack','PIPELAKE',4), + (300011,300001,'Hooker Street Shaker',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (310001,310001,'Dual Tail Pipe Tip 001',NULL,1), + (310002,310001,'Dual Tail Pipe Tip 002',NULL,1), + (310003,310001,'Stock Tip','TIPCYL',1), + (310004,310001,'Single Tail Pipe Tip (Flaming)',NULL,1), + (310005,310001,'1969 Dodge Charger RT Tip','TIPCIRC',1), + (310006,310001,'1969 Olds 4-4-2 Trumpet Tip',NULL,1), + (310007,310001,'1970 Ford Mustang Oval Trumpet Tip',NULL,1), + (310008,310001,'1970 Plymouth ''Cuda Chrome Tip','TIPCONE',1), + (310009,310001,'1973 Pontiac Trans-Am Chrome Extension',NULL,1), + (310010,310001,'1973 Pontiac Firebird Chrome Extension',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (310011,310001,'Marinn Large Bore Tip','tipcirc',1), + (310012,310001,'Marinn Large Bore (Dual) Tip','tipcirc',1), + (310013,310001,'Marinn Large Bore Tip w/resonator','tipcirc',1), + (310014,310001,'Marinn Large Bore Tip w/resonator (Dual)','tipcirc',1), + (310015,310001,'Marinn MegaCone Tip','tipcone',1), + (310016,310001,'Marinn MegaCone (Dual) Tip','tipcone',1), + (310017,310001,'Marinn Slanted Cut Tip','tiprect',1), + (310018,310001,'Marinn Slanted Cut (Dual) Tip','tiprect',1), + (310019,310001,'Marinn Slanted Cut Tip w/resonator','tiprect',1), + (310020,310001,'Marinn Slanted Cut Tip w/resonator (Dual)','tiprect',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (310021,310001,'Edelbrock Angle Cut Tip',NULL,1), + (310022,310001,'Edelbrock Angle Cut (Dual) Tip',NULL,1), + (310023,310001,'Edelbrock Flat Oval Tip',NULL,1), + (310024,310001,'Edelbrock Flat Oval (Dual) Tip',NULL,1), + (310025,310001,'Edelbrock Round Double Wall Tip',NULL,1), + (310026,310001,'Edelbrock Round Double Wall (Dual) Tip',NULL,1), + (310027,310001,'Edelbrock Round Turn-Down Tip',NULL,1), + (310028,310001,'Edelbrock Round Turn-Down (Dual) Tip',NULL,1), + (310029,310001,'Stock Round Chrome','TIPCIRC',1), + (320001,320001,'Ford BB Dual Plane IM','MANIDUAL',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320002,320001,'Chevrolet BB Dual Plane IM','MANIDUAL',1), + (320003,320001,'Chrysler SB Dual Plane IM','MANIDUAL',1), + (320004,320001,'Chrysler BB Dual Plane IM','MANIDUAL',1), + (320005,320001,'Chevrolet BB Single Plane IM','MANISING',1), + (320006,320001,'Ford BB Aluminum Dual Plane IM','MANIDUAL',2), + (320007,320001,'Buick BB Dual Plane IM','MANIDUAL',1), + (320008,320001,'Buick SB Dual Plane IM','MANIDUAL',1), + (320009,320001,'Chevrolet SB Dual Plane IM','MANIDUAL',1), + (320010,320001,'Cadillac BB Dual Plane IM','MANIDUAL',1), + (320011,320001,'Ford SB Dual Plane IM','MANIDUAL',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320012,320001,'Ford Flathead Dual Plane IM','MANIDUAL',1), + (320013,320001,'Olds BB Dual Plane IM','MANIDUAL',1), + (320014,320001,'Olds SB Dual Plane IM','MANIDUAL',1), + (320015,320001,'AMC Dual Plane IM','MANIDUAL',1), + (320016,320001,'Pontiac Dual Plane IM','MANIDUAL',1), + (320017,320001,'Chevrolet SB RPO411 Aluminum Dual Plane IM','MANIDUAL',2), + (320018,320001,'Chevrolet SB High Rise Aluminum Dual Plane IM','MANIDUAL',2), + (320019,320001,'Chevrolet SB Aluminum Dual Plane IM','MANIDUAL',2), + (320020,320001,'Chevrolet BB High Rise Aluminum Dual Plane IM','MANIDUAL',2), + (320021,320001,'Chevrolet BB LS6 Low Rise Aluminum Dual Plane IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320022,320001,'Buick Nailhead Stock 322 DP IM','MANIDUAL',1), + (320023,320001,'Edelbrock Stage II Buick BB Aluminum Dual Plane IM','MANIDUAL',2), + (320024,320001,'Olds SB Aluminum Dual Plane IM','MANIDUAL',2), + (320025,320001,'Olds SB W-31 HP Aluminum Dual Plane IM','MANIDUAL',2), + (320026,320001,'Olds BB W-30 HP Aluminum Dual Plane IM','MANIDUAL',2), + (320027,320001,'Pontiac Ram Air IV HP Aluminum Dual Plane IM','MANIDUAL',2), + (320028,320001,'Pontiac Aluminum Dual Plane IM','MANIDUAL',2), + (320029,320001,'Ford Y 1957 Dual Plane IM','MANIDUAL',1), + (320030,320001,'Edelbrock Aluminum Dual Plane Ford SB IM','MANIDUAL',2), + (320031,320001,'Ford BB HR Dual Plane IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320032,320001,'Ford BB Cammer IM','MANISING',3), + (320033,320001,'Ford BB Sidewinder Single Plane IM','MANIDUAL',2), + (320034,320001,'Ford BB Single Plane IM','MANIDUAL',2), + (320035,320001,'Offenhauser Ford 385 Single Plane IM','MANIDUAL',3), + (320036,320001,'Chrysler BB High Rise IM','MANIDUAL',2), + (320037,320001,'Chrysler BB Aluminum IM','MANIDUAL',2), + (320038,320001,'Chrysler BB Long Ram IM','MANIDUAL',2), + (320039,320001,'Chrysler BB Short Ram IM','MANIDUAL',2), + (320040,320001,'Edelbrock Chrysler BB Aluminum IM','MANIDUAL',2), + (320041,320001,'Chrysler SB Aluminum IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320042,320001,'AMC Rebel Machine IM','MANIDUAL',2), + (320043,320001,'Ford 385 Boss Dual Plane Aluminum IM','MANIDUAL',2), + (320044,320001,'Edelbrock R4B AMC Block IM','MANIDUAL',2), + (320045,320001,'Edelbrock Super Dual Ford Flathead IM','MANIDUAL',2), + (320046,320001,'Edelbrock Performer RPM Cadillac BB IM','MANIDUAL',2), + (320047,320001,'Edelbrock Performer Chevrolet BB IM','MANIDUAL',2), + (320048,320001,'Edelbrock Performer Chevrolet SB IM','MANIDUAL',2), + (320049,320001,'Edelbrock Performer Chrysler BB IM','MANIDUAL',2), + (320050,320001,'Edelbrock Performer Chrysler SB IM','MANIDUAL',2), + (320051,320001,'Edelbrock Performer Ford BB IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320052,320001,'Edelbrock Performer Ford SB IM','MANIDUAL',2), + (320053,320001,'Edelbrock Performer Olds BB IM','MANIDUAL',2), + (320054,320001,'Edelbrock Performer Olds SB IM','MANIDUAL',2), + (320055,320001,'Chrysler Hemi IM','MANIDUAL',2), + (320056,320001,'Edelbrock Performer Pontiac IM','MANIDUAL',2), + (320057,320001,'Edelbrock Performer RPM Chevrolet BB IM','MANIDUAL',2), + (320058,320001,'Edelbrock Performer RPM Chevrolet SB IM','MANIDUAL',2), + (320059,320001,'Edelbrock Performer RPM Chrysler BB IM','MANIDUAL',2), + (320060,320001,'Edelbrock Performer RPM Chrysler SB IM','MANIDUAL',2), + (320061,320001,'Edelbrock Performer RPM Ford BB IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320062,320001,'Edelbrock Performer RPM Ford SB IM','MANIDUAL',2), + (320063,320001,'Edelbrock Performer RPM Olds BB IM','MANIDUAL',2), + (320064,320001,'Edelbrock Performer RPM Olds SB IM','MANIDUAL',2), + (320065,320001,'Shade Tree Chrysler Hemi IM','MANIDUAL',1), + (320066,320001,'Edelbrock Performer RPM Pontiac IM','MANIDUAL',2), + (320067,320001,'Edelbrock Torker Chevrolet BB IM','MANIDUAL',3), + (320068,320001,'Edelbrock Torker Chevrolet SB IM','MANIDUAL',3), + (320069,320001,'Edelbrock Torker Chrysler BB IM','MANIDUAL',3), + (320070,320001,'Edelbrock Torker Chrysler SB IM','MANIDUAL',3), + (320071,320001,'Edelbrock Torker Ford BB IM','MANIDUAL',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320072,320001,'Edelbrock Torker Ford SB IM','MANIDUAL',3), + (320073,320001,'Edelbrock Torker Olds BB IM','MANIDUAL',3), + (320074,320001,'Edelbrock Torker Olds SB IM','MANIDUAL',3), + (320075,320001,'Edelbrock Torker Pontiac IM','MANIDUAL',3), + (320076,320001,'Edelbrock Torker Pontiac IM','MANIDUAL',3), + (320077,320001,'Chevrolet BB Dual Plane Aluminum IM','MANIDUAL',1), + (320078,320001,'Chrysler SB Tunnel Ram IM','MANIDUAL',2), + (320079,320001,'Chevrolet W Z11 Dual Plane Aluminum IM','MANIDUAL',2), + (320080,320001,'Ford BB Cobrajet Dual Plane IM','MANIDUAL',2), + (320081,320001,'Offenhauser Magnesium Chrysler Hemi DP IM','MANIDUAL',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320082,320001,'Chrysler BB Max Wedge Aluminum Cross-Ram IM','MANIDUAL',2), + (320083,320001,'Edelbrock Torker Buick BB IM','MANISING',3), + (320084,320001,'Edelbrock Performer RPM Buick BB IM','MANIDUAL',3), + (320085,320001,'Edelbrock Torker II Buick BB IM','MANISING',3), + (320086,320001,'Edelbrock Performer Buick BB IM','MANIDUAL',2), + (320087,320001,'Ford SB Single Plane Aluminum IM','MANISING',2), + (320088,320001,'Ford SB Dual Plane Aluminum IM','MANIDUAL',2), + (320089,320001,'Pontiac Aluminum IM','MANIDUAL',2), + (320090,320001,'Pontiac SD Aluminum Single Plane IM','MANISING',3), + (320091,320001,'Cadillac L-Head Intake Manifold','MANIDUAL',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320092,320001,'Ford Cleveland Block Stock IM','MANIDUAL',1), + (320093,320001,'Ford Cleveland Block Aluminum IM','MANIDUAL',2), + (320094,320001,'Ford 385 Stock IM','MANIDUAL',1), + (320095,320001,'Ford 385 CJ/SCJ IM','MANIDUAL',2), + (320096,320001,'Ford SB Cross Boss IM','MANIDUAL',3), + (320097,320001,'Ford Y Stock IM','MANIDUAL',1), + (320098,320001,'Edelbrock Ford Y Tri-Power Aluminum IM','MANIDUAL',2), + (320099,320001,'Chevrolet W Stock IM','MANIDUAL',1), + (320100,320001,'Chevrolet W Aluminum IM','MANIDUAL',2), + (320101,320001,'Dunbar Buick Nailhead Breezer DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320102,320001,'Dunbar Buick Nailhead Tornado SP IM','MANISING',2), + (320103,320001,'Buick SB Aluminum IM','MANIDUAL',2), + (320104,320001,'Cadillac L-Head Aluminum IM','MANIDUAL',2), + (320105,320001,'Edelbrock Performer AMC IM','MANIDUAL',2), + (320106,320001,'Edelbrock Torker AMC IM','MANIDUAL',3), + (320107,320001,'Offenhauser Aluminum AMC IM','MANIDUAL',3), + (320108,320001,'Ford Y Block Dual Quad Dual Plane IM','MANIDUAL',2), + (320109,320001,'Ford Y Block Supercharger Dual Plane IM','MANIDUAL',2), + (320110,320001,'Edelbrock Y Block 3x2 Dual Plane IM','MANIDUAL',2), + (320111,320001,'Offenhauser Y Block 3x2 Dual Planer IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320112,320001,'Offenhauser Y Block Aluminum Dual Plane IM','MANIDUAL',2), + (320113,320001,'Edelbrock Y Block Aluminum Dual Plane IM','MANIDUAL',2), + (320114,320001,'Oldfield Y Block Aluminum Dual Plane IM','MANIDUAL',1), + (320115,320001,'Oldfield Y Block Special Dual Plane IM','MANIDUAL',2), + (320116,320001,'Edelbrock Y Block Aluminum Single Plane IM','MANISING',2), + (320117,320001,'Offenhauser Y Block Aluminum Single Plane IM','MANISING',2), + (320118,320001,'Oldfield Y Block Lightning Single Plane IM','MANISING',2), + (320119,320001,'Oldfield Y Block HiBoy Tunnel Ram IM','MANIHIGH',2), + (320120,320001,'Oldfield Y Block Midget Tunnel Ram IM','MANILOW',2), + (320121,320001,'Oldfield Y Block Strip King Tunnel Ram IM','MANIHIGH',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320122,320001,'Rad Rat Chevy SB Vortex Single Plane IM','MANISING',2), + (320123,320001,'Rad Rat Chevy SB Screamer Dual Plane IM','MANIDUAL',2), + (320124,320001,'Rad Rat Chevy SB Scooter Dual Plane IM','MANIDUAL',1), + (320125,320001,'Rad Rat Chevy SB Scooter Alum. Dual Plane IM','MANIDUAL',2), + (320126,320001,'C&B Chevy SB Classic Dual Plane IM','MANIDUAL',1), + (320127,320001,'C&B Chevy SB Street Classic Dual Plane IM','MANIDUAL',2), + (320128,320001,'C&B Chevy SB Classic Single Plane IM','MANISING',2), + (320129,320001,'C&B Chevy SB Super Single Plane IM','MANISING',3), + (320130,320001,'Rad Rat Chevy SB Vortex Ultra Single Plane IM','MANISING',2), + (320131,320001,'Rad Rat Chevy SB Power Tower Tunnel Ram IM','MANIHIGH',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320132,320001,'Rad Rat Chevy SB Ultimate Tunnel Ram IM','MANIHIGH',3), + (320133,320001,'C&B Chevy SB Classic Low Rise Tunnel Ram IM','MANILOW',2), + (320134,320001,'C&B Chevy SB Classic High Rise Tunnel Ram IM','MANIHIGH',3), + (320135,320001,'Rad Rat Chevy SB Screamer Ultra Dual Plane IM','MANIDUAL',2), + (320136,320001,'Buick Nailhead 364 DP IM','MANIDUAL',1), + (320137,320001,'Buick Nailhead 401/425 DP IM','MANIDUAL',1), + (320138,320001,'Dunbar Buick Nailhead Improved DP IM','MANIDUAL',1), + (320139,320001,'Dunbar Buick Nailhead Breezer DP IM','MANIDUAL',1), + (320140,320001,'Per. Port Buick Nailhead Street Port DP IM','MANIDUAL',2), + (320141,320001,'Per. Port Buick Nailhead Street Port Alum. DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320142,320001,'Dunbar Buick Nailhead Tornado SP IM','MANISING',2), + (320143,320001,'Per. Port Buick Nailhead Street Port SP IM','MANISING',2), + (320144,320001,'Dunbar Buick Nailhead Wind Tunnel SP IM','MANISING',2), + (320145,320001,'Dunbar Buick Nailhead Hurricane Tunnel Ram','MANIHIGH',3), + (320146,320001,'Dunbar Buick Nailhead Cyclone Tunnel Ram','MANILOW',2), + (320147,320001,'Dunbar Buick Nailhead Super Cyclone Tunnel Ram','MANIHIGH',3), + (320148,320001,'Oldfield Ford SB Performance DP IM','MANIDUAL',2), + (320149,320001,'Oldfield Ford SB Performance Alum. DP IM','MANIDUAL',2), + (320150,320001,'Per. Port Ford SB Road Squire DP IM','MANIDUAL',1), + (320151,320001,'Per. Port Ford SB Road Squire Alum. DP IM','MANIDUAL',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320152,320001,'Per. Port Ford SB Centurion DP IM','MANIDUAL',2), + (320153,320001,'Per. Port Ford SB Street Knight SP IM','MANISING',2), + (320154,320001,'Oldfield Ford SB Lightning SP IM','MANISING',2), + (320155,320001,'Per. Port Ford SB Commander SP IM','MANISING',2), + (320156,320001,'Per. Port Ford SB Emperor Tunnel Ram','MANIHIGH',3), + (320157,320001,'Oldfield Ford SB Midget Tunnel Ram','MANILOW',2), + (320158,320001,'Oldfield Ford SB Strip King Tunnel Ram','MANIHIGH',3), + (320159,320001,'Per. Port Ford SB Street Lord Tunnel Ram','MANILOW',2), + (320160,320001,'Walter Chrysler SB Street DP IM','MANIDUAL',1), + (320161,320001,'Walter Chrysler SB Stocker DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320162,320001,'Walter Chrysler SB Street SP IM','MANISING',2), + (320163,320001,'Walter Chrysler SB Stocker SP IM','MANISING',3), + (320164,320001,'Walter Chyrsler SB Super Stocker SP IM','MANISING',4), + (320165,320001,'Walter Chrysler SB Intimidator Tunnel Ram','MANIHIGH',3), + (320166,320001,'Walter Chrysler SB Bighorn Tunnel Ram','MANIHIGH',2), + (320167,320001,'Perfect Port Chrysler SB Centurion DP IM','MANIDUAL',1), + (320168,320001,'Perfect Port Chrysler SB Commander SP IM','MANISING',2), + (320169,320001,'Per. Port Pontiac Emperor Tunnel Ram','MANIHIGH',3), + (320170,320001,'Per. Port Pontiac Street Lord Tunnel Ram','MANILOW',2), + (320171,320001,'Per. Port Pontiac Crusader Tunnel Ram','MANIHIGH',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320172,320001,'Per. Port Pontiac Track Assassin SP IM','MANISING',3), + (320173,320001,'Per. Port Pontiac Street Knight SP IM','MANISING',2), + (320174,320001,'Per. Port Pontiac Super Centurion DP IM','MANIDUAL',3), + (320175,320001,'Rad Rat Chevy BB Screamer Ultra Light DP','MANIDUAL',3), + (320176,320001,'Rad Rat Chevy BB Vortex SP IM','MANISING',2), + (320177,320001,'Rad Rat Chevy BB Vortex Ultra Light SP IM','MANISING',3), + (320178,320001,'Rad Rat Chevy BB Power Tower Tunnel Ram','MANIHIGH',3), + (320179,320001,'Rad Rat Chevy BB Ultimate Tunnel Ram','MANIHIGH',4), + (320180,320001,'Oldfield Ford BB Strip King DP IM','MANIDUAL',2), + (320181,320001,'Oldfield Ford BB Street King DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320182,320001,'Oldfield Ford BB Strip King SP IM','MANISING',2), + (320183,320001,'Oldfield Ford BB Midget Tunnel Ram','MANILOW',2), + (320184,320001,'Oldfield Ford BB Hiboy Tunnel Ram','MANIHIGH',3), + (320185,320001,'Oldfield Ford BB Strip King Tunnel Ram','MANIHIGH',3), + (320186,320001,'Walter Chrysler BB Bighorn Tunnel Ram','MANIHIGH',3), + (320187,320001,'Walter Chrysler BB Intimidator Tunnel Ram','MANIHIGH',4), + (320188,320001,'Walter Chrysler BB Super Stocker DP IM','MANIDUAL',4), + (320189,320001,'Walter Chrysler BB Super Stocker SP IM','MANISING',4), + (320190,320001,'Walter Chrysler BB Stocker SP IM','MANISING',3), + (320191,320001,'Walter Chrysler BB Stocker DP IM','MANIDUAL',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320192,320001,'Walter Chrysler BB Street DP IM','MANIDUAL',2), + (320193,320001,'Walter Chrylser BB Street SP IM','MANIDUAL',2), + (320194,320001,'Perf. Port Olds BB Road Squire DP IM','MANIDUAL',1), + (320195,320001,'Perf. Port Olds BB Street Port DP IM','MANIDUAL',2), + (320196,320001,'Perf. Port Olds BB Usurper DP IM','MANIDUAL',4), + (320197,320001,'Perf. Port Olds BB Centurion SP IM','MANISING',2), + (320198,320001,'Perf. Port Olds BB Commander SP IM','MANISING',3), + (320199,320001,'Perf. Port Olds BB Track Assassin SP IM','MANISING',4), + (320200,320001,'Perf. Port Olds BB Street Lord Tunnel Ram','MANIHIGH',3), + (320201,320001,'Perf. Port Olds BB Crusader Tunnel Ram','MANIHIGH',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320202,320001,'Perf. Port Olds BB Emperor Tunnel Ram','MANIHIGH',4), + (320203,320001,'Rad Rat Chevy W Screamer DP IM','MANIDUAL',2), + (320204,320001,'Rad Rat Chevy W Vortex SP IM','MANISING',3), + (320205,320001,'Rad Rat Chevy W Banshee DP IM','MANIDUAL',4), + (320206,320001,'Rad Rat Chevy W Banshee SP IM','MANISING',4), + (320207,320001,'Rad Rat Chevy W Power Tower Tunnel Ram','MANIHIGH',3), + (320208,320001,'Rad Rat Chevy W Ultimate Tunnel Ram','MANIHIGH',4), + (320209,320001,'Perf.Port Chevy W Usurper DP IM','MANIDUAL',4), + (320210,320001,'Perf. Port Chevy W Centurion SP IM','MANISING',2), + (320211,320001,'Perf. Port Chevy W Track Assassin SP IM','MANISING',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320212,320001,'Perf. Port Chevy W Street Lord Tunnel Ram','MANIHIGH',3), + (320213,320001,'Perf. Port Chevy W Emperor Tunnel Ram','MANIHIGH',4), + (320214,320001,'Perfect Port AMC Track Assassin SP IM','MANISING',4), + (320215,320001,'Perfect Port AMC Street Knight SP IM','MANISING',2), + (320216,320001,'Street Shark AMC Hunter SP IM','MANISING',3), + (320217,320001,'Street Shark AMC Predator DP IM','MANIDUAL',4), + (320218,320001,'Street Shark AMC Stalker DP IM','MANIDUAL',2), + (320219,320001,'Perfort Port AMC Street Lord Tunnel Ram','MANIHIGH',3), + (320220,320001,'Perfect Port AMC Crusader Tunnel Ram','MANIHIGH',3), + (320221,320001,'Perfect Port AMC Emperor Tunnel Ram','MANIHIGH',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320222,320001,'Street Shark AMC Tiger Shark Tunnel Ram','MANIHIGH',4), + (320223,320001,'Perf. Port Cadillac BB Road Squire DP IM','MANIDUAL',1), + (320224,320001,'Perf. Port Cadillac BB Road Squire Alum. DP IM','MANIDUAL',1), + (320225,320001,'Perf. Port Cadillac BB Street Port DP IM','MANIDUAL',2), + (320226,320001,'Perf. Port Cadillac BB Centurion DP IM','MANIDUAL',2), + (320227,320001,'Perf. Port Cadillac BB Usurper DP IM','MANIDUAL',4), + (320228,320001,'Perf. Port Cadillac BB Street Lord DP IM','MANIDUAL',3), + (320229,320001,'Perf. Port Cadillac BB Street Knight SP IM','MANISING',2), + (320230,320001,'Perf. Port Cadillac BB Centurion SP IM','MANISING',2), + (320231,320001,'Perf. Port Cadillac BB Super Centurion SP IM','MANISING',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320232,320001,'Perf. Port Cadillac BB Track Assassin SP IM','MANISING',4), + (320233,320001,'Perf. Port Cadillac BB Street Lord Tunnel Ram','MANIHIGH',3), + (320234,320001,'Perf. Port Cadillac BB Crusader Tunnel Ram','MANIHIGH',3), + (320235,320001,'Perf. Port Cadillac BB Emperor Tunnel Ram','MANIHIGH',4), + (320236,320001,'Perf. Port Cadillac BB Usurper Tunnel Ram','MANIHIGH',4), + (320237,320001,'Walter Hemi Perf. Street DP IM','MANIDUAL',2), + (320238,320001,'Walter Hemi Perf. Lightweight Street DP IM','MANIDUAL',2), + (320239,320001,'Walter Hemi Stocker DP IM','MANIDUAL',3), + (320240,320001,'Walter Hemi Lightweight Stocker DP IM','MANIDUAL',3), + (320241,320001,'Walter Hemi Super Stocker DP IM','MANIDUAL',4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320242,320001,'Walter Hemi Perf. Street SP IM','MANISING',2), + (320243,320001,'Walter Hemi Stocker SP IM','MANISING',3), + (320244,320001,'Walter Hemi Super Stocker SP IM','MANISING',3), + (320245,320001,'Walter Hemi Intimidator Tunnel Ram','MANIHIGH',4), + (320246,320001,'Walter Hemi Bighorn Tunnel Ram','MANIDUAL',3), + (320247,320001,'Perf. Port Ford 385 Road Squire DP IM','MANIDUAL',1), + (320248,320001,'Perf. Port Ford 385 Centurion SP IM','MANISING',2), + (320249,320001,'Perf. Port Ford 385 Street Lord Tunnel Ram','MANIHIGH',3), + (320250,320001,'Perf. Port Ford 385 Emperor Tunnel Ram','MANIHIGH',4), + (320251,320001,'Oldfield Ford 385 Perf. DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320252,320001,'Oldfield Ford 385 Lightning SP IM','MANISING',3), + (320253,320001,'Oldfield Ford 385 Track King DP IM','MANIDUAL',4), + (320254,320001,'Oldfield Ford 385 Strip King Tunnel Ram','MANIHIGH',3), + (320255,320001,'Oldfield Ford 385 Track King Tunnel Ram','MANIHIGH',4), + (320256,320001,'Perf. Port Cleveland Street Port DP IM','MANIDUAL',2), + (320257,320001,'Perf. Port Cleveland Emperor DP IM','MANIDUAL',4), + (320258,320001,'Perf. Port Cleveland Emperor SP IM','MANISING',4), + (320259,320001,'Perf. Port Cleveland Centurion SP IM','MANISING',2), + (320260,320001,'Perf. Port Cleveland Emperor Tunnel Ram','MANIHIGH',4), + (320261,320001,'Oldfield Cleveland Performance DP IM','MANIDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (320262,320001,'Oldfield Cleveland Track King DP IM','MANIDUAL',4), + (320263,320001,'Oldfield Cleveland Performance SP IM','MANISING',2), + (320264,320001,'Oldfield Cleveland Track King SP IM','MANISING',4), + (320265,320001,'Oldfield Cleveland Midget Tunnel Ram','MANILOW',3), + (330001,330001,'Autolite 4V (300 cfm)','CARBSING',1), + (330002,330001,'Autolite 6V (600 cfm)','CARBTRI',2), + (330003,330001,'Autolite 2V (300 cfm)','CARBSING',1), + (330004,330001,'Holley 4100 4V (600 cfm)','CARBSING',2), + (330005,330001,'Rochester 2GV 2V (200 cfm)','CARBSING',1), + (330006,330001,'Stromberg 97 2V (125 cfm)','CARBSING',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330007,330001,'Holley 2300 2V (400 cfm)','CARBSING',1), + (330008,330001,'Rochester 4G 4V (600 cfm)','CARBSING',2), + (330009,330001,'Rochester Monojet 2V (350 cfm)','CARBSING',1), + (330010,330001,'Holley Dominator 2300 2V (400 cfm)','CARBSING',2), + (330011,330001,'Holley 4150 4V (650 cfm)','CARBSING',2), + (330012,330001,'Edelbrock Performer 4V (600 cfm)','CARBSING',2), + (330013,330001,'Ramjet Fuel Injector',NULL,1), + (330014,330001,'Rochester 6V (600 cfm)','CARBSING',2), + (330015,330001,'Ford Detroit Lubricator 1V (100 cfm)','CARBSING',1), + (330016,330001,'Rochester Quadrajet 2x4V (800 cfm)','CARBDUAL',3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330017,330001,'Carter Tri-Power 3x2V (780 cfm)','CARBTRI',3), + (330018,330001,'Carter AFB 2x4V (800 cfm)','CARBDUAL',3), + (330019,330001,'Edelbrock Q-Jet (600 cfm)','CARBSING',2), + (330020,330001,'Rochester Quadrajet 4V (600 cfm)','CARBSING',2), + (330021,330001,'Carter AFB 4V (400 cfm)','CARBSING',1), + (330022,330001,'Holley 3x2V (680 cfm)','CARBTRI',2), + (330023,330001,'Holley 4300 2x4V (1000 cfm)','Carbquad',3), + (330024,330001,'Autolite 4V (350 cfm)','CARBSING',1), + (330025,330001,'Autolite 4V (400 cfm)','CARBSING',1), + (330026,330001,'Holley 4100 4V (780 cfm)','CARBSING',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330027,330001,'Corvette Cross-Fire Fuel Injection',NULL,2), + (330028,330001,'Holley 4100 4V (850 cfm)','CARBSING',3), + (330029,330001,'Cadillac EFI',NULL,1), + (330030,330001,'Cadillac Tri-Power 3x2V (600 cfm)','CARBTRI',2), + (330031,330001,'Rochester Tri-Power 3x2V (650 cfm)','CARBTRI',2), + (330032,330001,'Chevrolet Turbo Thrust 4V (400 cfm)','CARBSING',1), + (330033,330001,'Holley 4300 2x4V (800 cfm)','CARBDUAL',3), + (330034,330001,'Holley 4100 4V (735 cfm)','CARBSING',2), + (330035,330001,'Carter AVS 4V (600 cfm)','CARBSING',2), + (330036,330001,'Autolite 4100 4V (480 cfm)','CARBSING',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330037,330001,'Autolite 4100 4V (600 cfm)','CARBSING',2), + (330038,330001,'Autolite 4300 4V (600 cfm)','CARBSING',2), + (330039,330001,'Autolite 4300D 4V (715 cfm)','CARBSING',2), + (330040,330001,'Holley 3x2V (600 cfm)','CARBTRI',2), + (330041,330001,'Holley 4160 4V (1000 cfm)','CARBSING',3), + (330042,330001,'Autolite 2100 2V (356 cfm)','CARBSING',1), + (330043,330001,'Autolite 2100 2V (424 cfm)','CARBSING',1), + (330044,330001,'Rochester Quadrajet 4V (715 cfm)','CARBSING',2), + (330045,330001,'Holley Dominator 2V (550 cfm)','CARBSING',2), + (330046,330001,'Holley Dominator 2V (650 cfm)','CARBSING',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330047,330001,'Holley Dominator 2V (675 cfm)','CARBSING',2), + (330048,330001,'Holley Dominator 4V (1050 cfm)','CARBSING',3), + (330049,330001,'Holley Dominator 4V (1150 cfm)','CARBSING',3), + (330050,330001,'Holley Dominator 2x4V (1150 cfm)','CARBDUAL',3), + (330051,330001,'Holley Dominator 2x4V (1250 cfm)','CARBDUAL',4), + (330052,330001,'Holley Dominator 4V (1250 cfm)','CARBSING',4), + (330053,330001,'Carter 2V (400 cfm)','CARBSING',1), + (330054,330001,'Carter AFB 4V (500 cfm) Carb','CARBSING',1), + (330055,330001,'Rochester Monojet 2V (400 cfm)','CARBSING',1), + (330056,330001,'Rochester Quadrajet 2x4V (600 cfm)','CARBDUAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330057,330001,'Rochester Quadrajet 4V (500 cfm)','CARBSING',1), + (330058,330001,'Ramjet Fuel Injector RPO 579D',NULL,2), + (330059,330001,'Rochester Monojet 2V (500 cfm)','CARBSING',1), + (330060,330001,'Rochester Monojet 2V (600 cfm)','CARBSING',1), + (330061,330001,'Rochester Quadrajet 4V (660 cfm) Carb','CARBDUAL',1), + (330062,330001,'Autolite 2x4V (600 cfm)','CARBDUAL',1), + (330063,330001,'Autolite 2100 2V (600 cfm)','CARBSING',1), + (330064,330001,'Autolite 3x2V (860 cfm)','CARBTRI',2), + (330065,330001,'Holley 3x2V (840 cfm)','CARBTRI',2), + (330066,330001,'Carter 2V (600 cfm)','CARBSING',1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (330067,330001,'Carter AVS 4V (700 cfm)','CARBDUAL',1), + (330068,330001,'Carter AVS 4V (800 cfm)','CARBDUAL',2), + (330069,330001,'Edelbrock Performer 4V (500 cfm)','CARBDUAL',2), + (330070,330001,'Edelbrock Performer 4V (750 cfm)','CARBDUAL',2), + (330071,330001,'Edelbrock Q-Jet (850 cfm)','CARBDUAL',3), + (330072,330001,'Edelbrock Q-Jet (795 cfm)','CARBDUAL',3), + (330073,330001,'Edelbrock Pro-Flo EFI System',NULL,3), + (340001,340001,'Light Duty Air Cleaner','airoil',1), + (340002,340001,'Normal Duty Air Cleaner','airsnork',1), + (340003,340001,'Holley Hi-Tek Air Cleaner','AIRSTD',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (340004,340001,'Edelbrock Pro-Flo 1000 XHD Air Cleaner','airoval',4), + (340005,340001,'Tri-angular Air Cleaner','AIRTRI',2), + (340006,340001,'Edelbrock Pro-Flo Round Air Cleaner','AIRSTD',3), + (340007,340001,'Edelbrock Pro-Flo Oval Air Cleaner','AIROVAL',3), + (340008,340001,'Edelbrock Pro-Flo Triangular Air Cleaner','AIRTRI',3), + (340009,340001,'Edelbrock Elite Round Air Cleaner','AIRSTD',2), + (340010,340001,'Edelbrock Elite Oval Air Cleaner','AIROVAL',2), + (340011,340001,'Edelbrock Elite Triangular Air Cleaner','AIRTRI',2), + (350001,350001,'Lindstrom P05 Blower','BLOWSMAL',1), + (350002,350001,'Holley Street Blower','BLOWSMAL',2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (350003,350001,'Holley Street PowerCharger Blower','BLOWSMAL',2), + (350004,350001,'Holley PowerCharger Blower','BLOWLARG',3), + (350005,350001,'Holley MegaBlower','BLOWLARG',4), + (350006,350001,'Weiand 671 Blower','BLOWSMAL',3), + (350007,350001,'Weiand 871 Blower','BLOWLARG',3), + (350008,350001,'Weiand 1071 Blower','BLOWLARG',4), + (360001,360001,'Lindstrom Little Rabbit 5/1 NOS',NULL,1), + (360002,360001,'Lindstrom Cheetah 15/5 NOS',NULL,2), + (360003,360001,'Holley Powershot 125 NOS',NULL,3), + (360004,360001,'Holley Super Powershot 200 NOS',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (360005,360001,'Holley Cheater 250 NOS',NULL,4), + (360006,360001,'Holley Sneeky Pete 75 NOS',NULL,3), + (1000001,1000001,'Ford Y (9.0) 1.925i/1.51e Stock CH',NULL,1), + (1000002,1000001,'Ford Flathead (6.15) Stock CH',NULL,1), + (1000003,1000001,'Ford Flathead (6.8) Stock CH',NULL,1), + (1000004,1000001,'Ford Flathead (7.2) Stock CH',NULL,1), + (1000005,1000001,'Ford BB Low Riser (11.6) 2.09i/1.66e CH',NULL,3), + (1000006,1000001,'Ford 385 Street Boss (10.5) 2.28i/1.90e CH',NULL,3), + (1000007,1000001,'AMC (10.0) 1.787i/1.406e Stock CH',NULL,1), + (1000008,1000001,'AMC (10.2) 2.02i/1.625e Stock CH',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000009,1000001,'AMC (10.2) 2.02i/1.625e SS HP W/F CH',NULL,3), + (1000010,1000001,'Pontiac (9.2) Stock W CH',NULL,1), + (1000011,1000001,'Chrysler Hemi (10.25) 2.25i/1.90e Canted CH',NULL,3), + (1000012,1000001,'Chrysler SB (10.5) AAR W/P CH',NULL,2), + (1000013,1000001,'Chrysler SB (10.5) 1.78i/1.50e Wedge CH',NULL,1), + (1000014,1000001,'Olds SB (9.0) Stock CH',NULL,1), + (1000015,1000001,'Chevrolet SB (9.5) Wedge CH',NULL,1), + (1000016,1000001,'Pontiac (10.5) Wedge CH',NULL,1), + (1000017,1000001,'Olds BB (10.25) Stock CH',NULL,1), + (1000018,1000001,'Pontiac (10.75) W CH',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000019,1000001,'Chevrolet BB HP (11.0) Canted CH',NULL,3), + (1000020,1000001,'Ford Flathead (7.5) Denver CH',NULL,2), + (1000021,1000001,'Olds BB (8.5) CH',NULL,1), + (1000022,1000001,'Chevrolet W (10.25) 2.07i/1.72e CH',NULL,2), + (1000023,1000001,'Chevrolet BB L72 (11.0) HP CH',NULL,3), + (1000024,1000001,'Chevrolet BB L88 Aluminum (12.5) HP CH',NULL,4), + (1000025,1000001,'Chevrolet BB L89 Aluminum (11.0) HP CH',NULL,3), + (1000026,1000001,'Ford Y 1957 (9.0) 1.925i/1.51e Stock CH',NULL,2), + (1000027,1000001,'Ford 385 (8.5) 2.08i/1.66e Canted CH',NULL,1), + (1000028,1000001,'Ford 385 (11.0) 2.08i/1.66e Canted CH',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000029,1000001,'Ford Cleveland (9.2) 2.19i/1.71e HP Canted CH',NULL,3), + (1000030,1000001,'Ford BB (9.6) 2.04i/1.57e W CH',NULL,2), + (1000031,1000001,'Ford BB (11.4) 2.09i/1.66e W/P CH',NULL,2), + (1000032,1000001,'Ford BB High Riser (11.5) 2.195i/1.73e CH',NULL,3), + (1000033,1000001,'Ford BB Cammer 2.25i/1.90e HP CH',NULL,4), + (1000034,1000001,'Ford 385 (10.5) 2.08i/1.66e Canted CH',NULL,2), + (1000035,1000001,'Ford 385 (11.3) 2.25i/1.72e CJ HP CH',NULL,3), + (1000037,1000001,'Pontiac (10.0) W/P CH',NULL,3), + (1000038,1000001,'Chrysler BB (11.0) Max Wedge I CH',NULL,3), + (1000039,1000001,'Chrysler BB (13.5) Max Wedge I HP CH',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000040,1000001,'Edelbrock Performer RPM (9.25) Chevy SB CH',NULL,3), + (1000041,1000001,'Edelbrock Performer RPM (10.5) Chevy SB CH',NULL,3), + (1000042,1000001,'Edelbrock Performer (9.25) Chevy SB CH',NULL,2), + (1000043,1000001,'Edelbrock Performer (10.5) Chevrolet SB CH',NULL,2), + (1000044,1000001,'Edelbrock Performer RPM 454-O Chevy BB (9.5) CH',NULL,2), + (1000045,1000001,'Edelbrock Performer 454-O Chevy BB (9.5) CH',NULL,2), + (1000046,1000001,'Edelbrock Performer RPM 454-R Chevy BB (9.5) CH',NULL,3), + (1000047,1000001,'Edelbrock Performer RPM (11.5) Chevy SB CH',NULL,3), + (1000048,1000001,'Buick BB (10.0) 2.0i/1.625e Stock',NULL,1), + (1000049,1000001,'Pontiac (12.0) Wedge',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000050,1000001,'Pontiac (13.0) Wedge',NULL,4), + (1000051,1000001,'Pontiac Ram Air II Cylinder Head',NULL,2), + (1000052,1000001,'Ford BB Medium Riser (11.6) 2.195i/1.73e CH',NULL,3), + (1000053,1000001,'Ford BB (10.6) 2.04i/1.57e W/P CH',NULL,2), + (1000054,1000001,'Ford 385 2.37i/1.90e NASCAR CH',NULL,4), + (1000055,1000001,'Chrysler BB (12.5) Max Wedge III CH',NULL,3), + (1000056,1000001,'Chevrolet W (10.25) 2.19/1.73 CH',NULL,3), + (1000057,1000001,'Chevrolet W (10.25) 1.94/1.65 CH',NULL,2), + (1000058,1000001,'Ford Cleveland Boss 351 (11.7) 2.19i/1.71e CH',NULL,3), + (1000060,1000001,'Buick Nailhead Wedge (8.5)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000061,1000001,'Ford SB (10.5) 1.78i/1.45e HP Wedge CH',NULL,2), + (1000063,1000001,'Buick BB (8.5) 2.0i/1.625e Wedge CH',NULL,1), + (1000064,1000001,'Buick SB Wedge (8.5)',NULL,1), + (1000065,1000001,'Buick SB Wedge (9.0)',NULL,1), + (1000066,1000001,'Buick SB Wedge (10.25)',NULL,2), + (1000067,1000001,'Cadillac BB Stock (9.1)',NULL,1), + (1000068,1000001,'Cadillac BB Wedge (10.5)',NULL,1), + (1000069,1000001,'Chevrolet SB Wedge (8.0)',NULL,1), + (1000070,1000001,'Chevrolet SB Wedge (9.25)',NULL,1), + (1000071,1000001,'Chevrolet SB Stock Wedge (10.5) 1.72i/1.50e',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000072,1000001,'Chevrolet SB Wedge (11.0)',NULL,2), + (1000073,1000001,'Chevrolet SB Wedge (11.25) 1.94i/1.50e',NULL,2), + (1000074,1000001,'Chevrolet SB Wedge (9.0)',NULL,1), + (1000075,1000001,'Chevrolet BB Canted (10.25)',NULL,3), + (1000076,1000001,'Chevrolet BB Canted ZL1 (12.0)',NULL,3), + (1000077,1000001,'Chevrolet BB Canted LS6 (9.0)',NULL,2), + (1000078,1000001,'Olds SB (10.25) Stock CH',NULL,1), + (1000079,1000001,'Olds SB (10.5) W-31 CH',NULL,3), + (1000080,1000001,'Olds BB (10.5) Stock CH',NULL,2), + (1000081,1000001,'Olds BB (9.0) Stock CH',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000082,1000001,'Olds BB (10.25) Stock CH',NULL,2), + (1000083,1000001,'Olds BB (10.5) W-30 CH',NULL,3), + (1000084,1000001,'Pontiac (8.6) Stock W CH',NULL,1), + (1000085,1000001,'Pontiac (10.0) Stock W CH',NULL,2), + (1000086,1000001,'Pontiac (11.0) SD W CH',NULL,3), + (1000087,1000001,'Pontiac (10.75) HO W CH',NULL,3), + (1000088,1000001,'Pontiac (10.5) W CH',NULL,2), + (1000089,1000001,'Pontiac (10.25) W CH',NULL,2), + (1000090,1000001,'Pontiac (10.0) Stock W CH',NULL,1), + (1000091,1000001,'Pontiac (8.4) SD W CH',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000092,1000001,'Ford Y (7.6) 1.78i/1.51e Stock CH',NULL,1), + (1000093,1000001,'Ford Y (8.5) 1.78i/1.51e Stock CH',NULL,1), + (1000094,1000001,'Ford Y (8.1) 1.78i/1.51e Stock CH',NULL,1), + (1000095,1000001,'Ford Y (8.0) 1.78i/1.51e Stock CH',NULL,1), + (1000096,1000001,'Ford Y (8.4) 1.78i/1.51e Stock CH',NULL,1), + (1000097,1000001,'Ford Y (8.6) 1.925i/1.51e Stock CH',NULL,1), + (1000098,1000001,'Ford Y (9.7) 1.925i/1.51e Stock CH',NULL,2), + (1000099,1000001,'Ford Y (8.3) 1.925i/1.51e Stock CH',NULL,1), + (1000100,1000001,'Ford Y (8.8) 1.925i/1.51e Stock CH',NULL,1), + (1000101,1000001,'Ford Y (9.6) 1.925i/1.51e Stock CH',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000102,1000001,'Ford BB (12.1) 2.09i/1.66e Wedge CH',NULL,3), + (1000103,1000001,'Ford BB (11.0) 2.04i/1.57e Wedge CH',NULL,2), + (1000104,1000001,'Ford BB (10.1) 2.04i/1.57e Wedge CH',NULL,2), + (1000105,1000001,'Ford BB (9.4) 2.04i/1.57e Wedge CH',NULL,1), + (1000106,1000001,'Ford Cleveland (9.5) 2.05i/1.65e CH',NULL,2), + (1000107,1000001,'Ford Cleveland (11.0) 2.19i/1.71e CH',NULL,3), + (1000108,1000001,'Ford Cleveland (9.0) 2.19i/1.71e CH',NULL,2), + (1000109,1000001,'Ford Cleveland (8.6) 2.05i/1.65e CH',NULL,1), + (1000111,1000001,'Ford 385 (10.2) 2.08i/1.66e Canted CH',NULL,3), + (1000112,1000001,'Chrysler BB (10.0) Large Port W CH',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000113,1000001,'Chrysler BB (9.6) W CH',NULL,1), + (1000114,1000001,'Chrysler BB (9.2) W CH',NULL,1), + (1000115,1000001,'Chrysler SB (8.8) 1.78i/1.50e Stock W CH',NULL,1), + (1000116,1000001,'Chrysler SB (10.5) 2.02i/1.60e Stock W CH',NULL,2), + (1000117,1000001,'Chrysler SB (9.0) Stock W CH',NULL,1), + (1000118,1000001,'Chrysler SB (9.2) Stock W CH',NULL,1), + (1000119,1000001,'Chrysler BB (10.0) W CH',NULL,1), + (1000120,1000001,'Chevrolet SB Large Valve Wedge (10.5)',NULL,2), + (1000121,1000001,'Chevrolet SB Wedge (10.25)',NULL,2), + (1000122,1000001,'Chevrolet SB Wedge (8.5)',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000123,1000001,'Chevrolet SB Wedge (10.5) 1.94i/1.50e',NULL,2), + (1000124,1000001,'Chevrolet SB Wedge (11.25) 2.02i/1.60e',NULL,2), + (1000125,1000001,'Chevrolet BB L36 Canted (10.25)',NULL,2), + (1000126,1000001,'Pontiac (10.25) Stock W CH',NULL,1), + (1000127,1000001,'Pontiac (10.75) W/P CH',NULL,3), + (1000128,1000001,'Pontiac (10.75) W CH',NULL,2), + (1000129,1000001,'Pontiac (11.0) SD 2.02i/1.76e W CH',NULL,3), + (1000130,1000001,'Pontiac Ram Air V Cylinder Head',NULL,3), + (1000131,1000001,'Ford BB (10.2) 2.04i/1.57e Wedge CH',NULL,2), + (1000132,1000001,'Ford BB (8.9) 2.04i/1.57e Wedge CH',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000133,1000001,'Ford BB (10.5) 2.04i/1.57e Wedge CH',NULL,2), + (1000134,1000001,'Ford SB (8.7) 1.67i/1.45e Wedge CH',NULL,1), + (1000135,1000001,'Ford SB (10.5) 1.67i/1.45e HP Wedge CH',NULL,2), + (1000136,1000001,'Ford SB (9.0) 1.67i/1.45e Wedge CH',NULL,1), + (1000137,1000001,'Ford SB (10.0) 1.78i/1.45e Wedge CH',NULL,1), + (1000138,1000001,'Ford SB Boss (10.5) 2.23i/1.72e Canted CH',NULL,3), + (1000139,1000001,'Ford SB (9.5) 1.84i/1.54e Wedge CH',NULL,2), + (1000140,1000001,'Ford SB (10.7) 1.84i/1.54e Wedge CH',NULL,2), + (1000141,1000001,'Chrysler BB (8.2) W CH',NULL,1), + (1000142,1000001,'Chrysler BB (11.0) Max Wedge III Cylinder Head',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000143,1000001,'Chrysler BB (10.5) W CH',NULL,2), + (1000144,1000001,'Buick BB Stage I (10) 2.12i/1.75e CH',NULL,2), + (1000145,1000001,'Pontiac (8.0) Stock W CH',NULL,1), + (1000146,1000001,'Chevrolet BB (8.5) Stock CH',NULL,1), + (1000147,1000001,'Shade Tree Chevrolet SB (8.0)',NULL,1), + (1000148,1000001,'AMC (9.0) 1.787i/1.406e Stock CH',NULL,1), + (1000149,1000001,'AMC (9.0) 2.02i/1.625e Stock CH',NULL,1), + (1000150,1000001,'AMC (10.0) 2.02i/1.625e Stock CH',NULL,2), + (1000151,1000001,'AMC (10.0) 2.02i/1.625e Dog Leg CH',NULL,2), + (1000152,1000001,'Cadillac L-Head Stock CH',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000153,1000001,'Buick BB (10.25) 2.0i/1.625e Wedge CH',NULL,2), + (1000154,1000001,'Chevrolet W (10.25) 2.19/1.73 Z11 CH',NULL,3), + (1000155,1000001,'Cadillac L-Head (7.5) CH',NULL,2), + (1000156,1000001,'Cadillac L-Head (7.8) CH',NULL,2), + (1000157,1000001,'Cadillac L-Head (8.0) CH',NULL,2), + (1000158,1000001,'Cadillac L-Head (8.2) CH',NULL,2), + (1000159,1000001,'Buick Nailhead (8.75) CH',NULL,2), + (1000160,1000001,'Buick Nailhead (9.0) CH',NULL,2), + (1000161,1000001,'Buick Nailhead (10.25) CH',NULL,3), + (1000162,1000001,'Buick Nailhead (10.5) CH',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000163,1000001,'Cadillac (9.75) Wedge CH',NULL,2), + (1000164,1000001,'Cadillac (10.0) Wedge CH',NULL,2), + (1000165,1000001,'Hemi (10.5) Canted CH',NULL,3), + (1000166,1000001,'Hemi (10.75) Canted CH',NULL,3), + (1000167,1000001,'Edelbrock Ford Flathead Cylinder Head',NULL,3), + (1000168,1000001,'Holley SystemMax Chevrolet BB CH',NULL,4), + (1000169,1000001,'AMC NASCAR CH',NULL,4), + (1000170,1000001,'AMC (9.5) 2.02i/1.68e Stock CH',NULL,2), + (1000171,1000001,'AMC (8.5) 2.02i/1.68e Stock CH',NULL,1), + (1000172,1000001,'Ford SB (9.0) 1.84i/1.54e Wedge CH',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1000173,1000001,'Ford SB Boss (10.5) 2.19i/1.72e Canted CH',NULL,3), + (1000174,1000001,'Ford SB TP (10.0) 2.12i/1.54e Wedge CH',NULL,3), + (1100001,1100001,'Chevrolet SB Stock Cam',NULL,1), + (1100002,1100001,'Chrysler SB Barracuda Cam',NULL,1), + (1100003,1100001,'Edelbrock Performer Plus Chrysler SB HP Cam',NULL,3), + (1100004,1100001,'Edelbrock Performer RPM Chrysler SB HP Cam',NULL,2), + (1100005,1100001,'Ford SB Stock Cam',NULL,1), + (1100006,1100001,'Reed TorqueMaster Chrysler SB HP Cam',NULL,2), + (1100007,1100001,'Reed XLH Chrysler SB DP Cam',NULL,3), + (1100008,1100001,'Crane PowerMax HP Chrysler SB Cam',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100009,1100001,'Crane Saturday Night Special Chrysler SB Cam',NULL,3), + (1100010,1100001,'Edelbrock Torker-Plus Chrysler SB DP Cam',NULL,3), + (1100011,1100001,'Buick BB Stock Cam',NULL,1), + (1100012,1100001,'Buick SB Stock Cam',NULL,1), + (1100013,1100001,'Cadillac BB Stock Cam',NULL,1), + (1100014,1100001,'Chevrolet BB Stock Cam',NULL,1), + (1100015,1100001,'Chevrolet SB HP Cam',NULL,2), + (1100016,1100001,'Chrysler BB Stock Cam',NULL,1), + (1100017,1100001,'Chrysler SB Stock Cam',NULL,1), + (1100018,1100001,'Ford BB Stock Cam',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100019,1100001,'Ford SB HP Cam',NULL,2), + (1100020,1100001,'Ford Flathead Stock Cam',NULL,1), + (1100021,1100001,'Oldsmobile BB Stock Cam',NULL,1), + (1100022,1100001,'Oldsmobile SB Stock Cam',NULL,1), + (1100023,1100001,'AMC Stock Cam',NULL,1), + (1100024,1100001,'Pontiac Stock Cam',NULL,1), + (1100025,1100001,'Chevrolet SB Stock Hi-Lift Cam',NULL,1), + (1100026,1100001,'Chevrolet SB HP Duntov Cam',NULL,3), + (1100028,1100001,'Chevrolet BB HP Cam',NULL,2), + (1100029,1100001,'Chevrolet BB HP LS7 Cam',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100030,1100001,'Buick BB 1968 Stage I Cam',NULL,1), + (1100031,1100001,'Buick BB 1969 Stage I Cam',NULL,2), + (1100032,1100001,'Buick BB Stage II Cam',NULL,2), + (1100033,1100001,'Oldsmobile SB W31 Performance Cam',NULL,2), + (1100034,1100001,'Oldsmobile BB W30 Performance Cam',NULL,2), + (1100035,1100001,'Pontiac SD Cam',NULL,3), + (1100036,1100001,'Pontiac Ram Air I Cam',NULL,2), + (1100037,1100001,'Pontiac Ram Air IV Cam',NULL,3), + (1100038,1100001,'Pontiac SD Cam',NULL,3), + (1100039,1100001,'Pontiac HO Cam',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100040,1100001,'Ford Y Truck Cam',NULL,1), + (1100041,1100001,'Ford BB HO Cam',NULL,2), + (1100042,1100001,'Ford BB HO Mild Cam',NULL,2), + (1100043,1100001,'Ford BB Cammer Cam',NULL,4), + (1100044,1100001,'Ford BB PI Cam',NULL,2), + (1100045,1100001,'Ford 385 Boss Cam',NULL,3), + (1100046,1100001,'Chrysler BB HP Cam',NULL,2), + (1100047,1100001,'Chrysler BB Max Wedge I Cam',NULL,2), + (1100048,1100001,'Chrysler BB Max Wedge III Cam',NULL,3), + (1100049,1100001,'Chrysler Hemi Cam',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100050,1100001,'Chrysler SB AAR Cam',NULL,2), + (1100051,1100001,'AMC Group 19 Cam',NULL,2), + (1100052,1100001,'AMC SS/AMX Cam',NULL,3), + (1100054,1100001,'Crane PowerMax HP Cadillac BB Cam',NULL,2), + (1100055,1100001,'Crane PowerMax HP Buick BB Cam',NULL,2), + (1100056,1100001,'Crane PowerMax HP Buick SB Cam',NULL,2), + (1100057,1100001,'Crane PowerMax HP Chevrolet BB Cam',NULL,2), + (1100058,1100001,'Crane PowerMax HP Chevrolet SB Cam',NULL,2), + (1100059,1100001,'Crane PowerMax HP Chrysler BB Cam',NULL,2), + (1100060,1100001,'Crane PowerMax HP Ford BB Cam',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100061,1100001,'Crane PowerMax HP Ford SB Cam',NULL,2), + (1100062,1100001,'Crane PowerMax HP Olds BB Cam',NULL,2), + (1100063,1100001,'Crane PowerMax HP Olds SB Cam',NULL,2), + (1100064,1100001,'Crane PowerMax HP Pontiac Cam',NULL,2), + (1100065,1100001,'Shade Tree Hemi Cam',NULL,2), + (1100066,1100001,'Crane Saturday Night Special Chrysler BB Cam',NULL,3), + (1100067,1100001,'Crane Saturday Night Special Buick BB Cam',NULL,3), + (1100068,1100001,'Crane Saturday Night Special Buick SB Cam',NULL,3), + (1100069,1100001,'Crane Saturday Night Special Chevrolet BB Cam',NULL,3), + (1100070,1100001,'Crane Saturday Night Special Chevrolet SB Cam',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100071,1100001,'Crane Saturday Night Special Ford BB Cam',NULL,3), + (1100072,1100001,'Crane Saturday Night Special Ford SB Cam',NULL,3), + (1100073,1100001,'Crane Saturday Night Special Olds BB Cam',NULL,3), + (1100074,1100001,'Crane Saturday Night Special Olds SB Cam',NULL,3), + (1100075,1100001,'Crane Saturday Night Special Pontiac Cam',NULL,3), + (1100076,1100001,'Crane Saturday Night Special Chevy W Cam',NULL,3), + (1100077,1100001,'Edelbrock Performer Plus Chevrolet SB HP Cam',NULL,3), + (1100078,1100001,'Edelbrock Performer Plus Ford SB HP Cam',NULL,3), + (1100079,1100001,'Edelbrock Performer Plus Ford BB HP Cam',NULL,3), + (1100080,1100001,'Edelbrock Performer RPM Chrysler BB HP Cam',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100081,1100001,'Edelbrock Performer RPM Buick BB HP Cam',NULL,2), + (1100082,1100001,'Edelbrock Performer RPM Chevrolet BB HP Cam',NULL,2), + (1100083,1100001,'Edelbrock Performer RPM Chevrolet SB HP Cam',NULL,2), + (1100084,1100001,'Edelbrock Performer RPM Ford BB HP Cam',NULL,2), + (1100085,1100001,'Edelbrock Performer RPM Ford SB HP Cam',NULL,2), + (1100087,1100001,'Edelbrock Performer RPM Olds SB HP Cam',NULL,2), + (1100088,1100001,'Edelbrock Performer RPM Pontiac HP Cam',NULL,2), + (1100090,1100001,'Edelbrock Torker-Plus Chrysler BB DP Cam',NULL,3), + (1100092,1100001,'Edelbrock Torker-Plus Chevrolet BB DP Cam',NULL,3), + (1100093,1100001,'Edelbrock Torker-Plus Chevrolet SB DP Cam',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100094,1100001,'Edelbrock Torker-Plus Ford BB DP Cam',NULL,3), + (1100095,1100001,'Edelbrock Torker-Plus Ford SB DP Cam',NULL,3), + (1100098,1100001,'Edelbrock Torker-Plus Pontiac DP Cam',NULL,3), + (1100100,1100001,'Oldsmobile BB HP Cam',NULL,2), + (1100101,1100001,'Pontiac m/t Stock Cam',NULL,1), + (1100102,1100001,'Pontiac Trophy (HP) Cam',NULL,2), + (1100103,1100001,'Ford SB HP Cam',NULL,2), + (1100104,1100001,'Ford SB Special Stock Cam',NULL,1), + (1100105,1100001,'Ford Flathead Power Cam',NULL,2), + (1100106,1100001,'Buick SB Special Stock Cam',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100107,1100001,'Cadillac BB Midrange Cam',NULL,2), + (1100108,1100001,'Chevrolet BB Midrange Cam',NULL,2), + (1100109,1100001,'Chevrolet SB Special Stock Cam',NULL,1), + (1100110,1100001,'Chrysler BB Midrange Cam',NULL,2), + (1100111,1100001,'Oldsmobile BB Special Stock Cam',NULL,1), + (1100112,1100001,'Pontiac Midrange Cam',NULL,2), + (1100113,1100001,'Shade Tree Chevrolet SB Stock Cam',NULL,1), + (1100114,1100001,'Cadillac L-Head Camshaft',NULL,1), + (1100115,1100001,'Buick Nailhead Stock 322 Camshaft',NULL,1), + (1100116,1100001,'Ford Cleveland Block Stock Camshaft',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100117,1100001,'Ford Cleveland Block Boss Camshaft',NULL,2), + (1100118,1100001,'Ford Cleveland Block HO Camshaft',NULL,2), + (1100119,1100001,'Ford 385 Block Stock Camshaft',NULL,1), + (1100120,1100001,'Ford 385 Block Special Stock Camshaft',NULL,1), + (1100121,1100001,'Ford Y Stock Camshaft',NULL,1), + (1100122,1100001,'Chevrolet W Stock Camshaft',NULL,1), + (1100123,1100001,'Chevrolet W HP Camshaft',NULL,2), + (1100124,1100001,'Chevrolet W Z11 Camshaft',NULL,3), + (1100125,1100001,'Buick Nailhead Power Plus',NULL,2), + (1100126,1100001,'Buick Nailhead HP',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100127,1100001,'Cadillac L-Head Power Plus',NULL,2), + (1100128,1100001,'Cadillac L-Head HP',NULL,2), + (1100129,1100001,'Ford Y E4 Low Range',NULL,2), + (1100130,1100001,'Edelbrock Performer Plus AMC Camshaft',NULL,3), + (1100131,1100001,'AMC WG Camshaft',NULL,2), + (1100132,1100001,'Edelbrock Performer Plus Olds SB HP Cam',NULL,3), + (1100133,1100001,'Edelbrock Performer Plus Olds BB HP Cam',NULL,3), + (1100134,1100001,'Fyne Grind Y Block Street 36 Cam',NULL,1), + (1100135,1100001,'Fyne Grind Y Block Street 39 Cam',NULL,1), + (1100136,1100001,'Fyne Grind Y Block Street 40 Cam',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100137,1100001,'Fyne Grind Y Block Super 39 HP Cam',NULL,2), + (1100138,1100001,'Fyne Grind Y Block Super 40 HP Cam',NULL,2), + (1100139,1100001,'Fyne Grind Y Block Super 43 HP Cam',NULL,2), + (1100140,1100001,'Fyne Grind Y Block Super 44 HP Cam',NULL,2), + (1100141,1100001,'Fyne Grind Y Block Ultra 44 DP Cam',NULL,3), + (1100142,1100001,'Fyne Grind Y Block Ultra 48 DP Cam',NULL,3), + (1100143,1100001,'Fyne Grind Buick Nailhead Street 45 Cam',NULL,2), + (1100144,1100001,'Fyne Grind Buick Nailhead Street 47 Cam',NULL,2), + (1100145,1100001,'Fyne Grind Buick Nailhead Street 48 Cam',NULL,2), + (1100146,1100001,'Fyne Grind Buick Nailhead Super 47 Cam',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100147,1100001,'Fyne Grind Buick Nailhead Super 49 Cam',NULL,3), + (1100148,1100001,'Buick Nailhead Stock 401 Cam',NULL,1), + (1100149,1100001,'Buick Nailhead Stock 425 Cam',NULL,1), + (1100150,1100001,'Oldfield Ford 385 Street King Cam',NULL,2), + (1100151,1100001,'Oldfield Cleveland Street King Cam',NULL,2), + (1100152,1100001,'Oldfield Cleveland New Boss Cam',NULL,3), + (1100153,1100001,'Oldfield Ford 385 New Boss Cam',NULL,3), + (1100154,1100001,'Walter Hemi Blueprint Classic Cam',NULL,2), + (1100155,1100001,'Walter Hemi Extra Stock Cam',NULL,3), + (1100156,1100001,'Leland Cadillac BB Highway Plus Cam',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1100157,1100001,'Leland Cadillac BB Streeter Cam',NULL,2), + (1100158,1100001,'Leland Cadillac Racing Cam',NULL,4), + (1100159,1100001,'Walter Hemi Bighorn Cam',NULL,4), + (1100160,1100001,'Chevrolet Chevy SB Corvette (220hp) Cam',NULL,1), + (1100161,1100001,'Ford 88 Flathead Camshaft',NULL,2), + (1200001,1200001,'Chevrolet BB Stock Hydraulic Valvetrain',NULL,1), + (1200002,1200001,'Chrysler SB Stock Hydraulic Valvetrain',NULL,1), + (1200003,1200001,'Ford BB Stock Hydraulic Valve Train',NULL,1), + (1200004,1200001,'Crane PowerMax Ford BB VT',NULL,2), + (1200005,1200001,'Ford 385 Boss Solid Lifter Valve Train',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200006,1200001,'Chevrolet BB Hi-Lift Hydraulic Valve Train',NULL,2), + (1200007,1200001,'Chrysler BB Max Wedge III Valve Train',NULL,3), + (1200008,1200001,'Crane Energizer Ford BB VT',NULL,2), + (1200009,1200001,'Reed T-UL Solid Lifter Ford BB Valvetrain',NULL,2), + (1200010,1200001,'Reed R-ULX Roller Lifter Ford BB Valvetrain',NULL,3), + (1200011,1200001,'Reed TM Hydraulic Lifter Ford BB Valvetrain',NULL,2), + (1200012,1200001,'Buick BB Stock Hydraulic Valvetrain',NULL,1), + (1200013,1200001,'Buick Nailhead Stock Hydraulic Valvetrain',NULL,1), + (1200014,1200001,'Cadillac BB Stock Valvetrain',NULL,1), + (1200015,1200001,'Chrysler BB Stock Hydraulic Valvetrain',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200016,1200001,'Chrysler SB Stock Hydraulic Valvetrain',NULL,1), + (1200017,1200001,'Ford SB Stock Hydraulic Valvetrain',NULL,1), + (1200018,1200001,'Ford Flathead Stock Hydraulic Valvetrain',NULL,1), + (1200019,1200001,'Olds BB Hydraulic Valvetrain',NULL,1), + (1200020,1200001,'Olds SB Stock Hydraulic Valvetrain',NULL,1), + (1200021,1200001,'AMC Stock Hydraulic Valvetrain',NULL,1), + (1200022,1200001,'Buick SB Stock Hydraulic Valvetrain',NULL,1), + (1200023,1200001,'Chevrolet SB Solid Lifter Valvetrain',NULL,2), + (1200024,1200001,'Chevrolet BB Solid Lifter Valvetrain',NULL,2), + (1200025,1200001,'Chevrolet BB SS Solid Lifter Valvetrain',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200026,1200001,'Pontiac Ram Air V Solid Lifter Valvetrain',NULL,3), + (1200027,1200001,'Ford Y Truck Solid Lifter Valvetrain',NULL,2), + (1200028,1200001,'Ford BB Stock Mechanical Lifter Valvetrain',NULL,1), + (1200029,1200001,'Ford BB Solid Lifter Valvetrain',NULL,2), + (1200030,1200001,'Ford BB Cammer Valvetrain',NULL,4), + (1200031,1200001,'Ford BB SCJ Solid Lifter Valvetrain',NULL,2), + (1200032,1200001,'Chrysler BB Solid Lifter Valvetrain',NULL,2), + (1200033,1200001,'Chrysler SB Stock Mechanical Lifter Valvetrain',NULL,1), + (1200034,1200001,'Chevrolet SB Stock Hydraulic Valvetrain',NULL,1), + (1200035,1200001,'Pontiac Stock Hydraulic Valvetrain',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200036,1200001,'AMC Group 19 Mechanical Lifter Valvetrain',NULL,2), + (1200037,1200001,'Pontiac SD Mech Lifter Valvetrain',NULL,2), + (1200038,1200001,'Ford SB HP Solid Lifter Valvetrain',NULL,2), + (1200039,1200001,'Chrysler Hemi Solid Lifter Valvetrain',NULL,2), + (1200040,1200001,'Shade Tree Chrysler Hemi Valvetrain',NULL,1), + (1200041,1200001,'Chrysler Hemi Hydraulic Valvetrain',NULL,2), + (1200042,1200001,'Cadillac L-Head Valvetrain',NULL,1), + (1200043,1200001,'Ford Cleveland Block Stock Valvetrain',NULL,1), + (1200044,1200001,'Ford Cleveland Block Boss Valvetrain',NULL,2), + (1200045,1200001,'Ford 385 Block Stock Valvetrain',NULL,1); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200046,1200001,'Ford 385 Block SCJ Valvetrain',NULL,2), + (1200047,1200001,'Ford 385 Block Boss Hydraulic Valvetrain',NULL,2), + (1200048,1200001,'Ford Y Stock Solid Valvetrain',NULL,1), + (1200049,1200001,'Chevrolet W Stock Hydraulic Valvetrain',NULL,1), + (1200050,1200001,'Chevrolet W STT Solid Valvetrain',NULL,2), + (1200051,1200001,'Buick Nailhead Solid Valvetrain',NULL,2), + (1200052,1200001,'Buick SB Solid Valvetrain',NULL,2), + (1200053,1200001,'Buick BB Solid Valvetrain',NULL,2), + (1200054,1200001,'Cadillac L-Head Super Hydraulic Valvetrain',NULL,2), + (1200055,1200001,'Ford Flathead Super Hydraulic Valvetrain',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200056,1200001,'Cadillac Solid Valvetrain',NULL,2), + (1200057,1200001,'Oldsmobile SB Solid Valvetrain',NULL,2), + (1200058,1200001,'Oldsmobile BB Solid Valvetrain',NULL,2), + (1200059,1200001,'Edelbrock AMC Hydraulic Lifters',NULL,2), + (1200060,1200001,'Edelbrock Chevrolet SB Hydraulic Lifters',NULL,2), + (1200061,1200001,'Edelbrock Chevrolet BB Hydraulic Lifters',NULL,2), + (1200062,1200001,'Edelbrock Chrysler SB Hydraulic Lifters',NULL,2), + (1200063,1200001,'Edelbrock Chrysler BB Hydraulic Lifters',NULL,2), + (1200064,1200001,'Edelbrock Ford SB Hydraulic Lifters',NULL,2), + (1200065,1200001,'Edelbrock Ford C Hydraulic Lifters',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200066,1200001,'Edelbrock Ford BB Hydraulic Lifters',NULL,2), + (1200067,1200001,'Edelbrock Ford 385 Hydraulic Lifters',NULL,2), + (1200068,1200001,'Edelbrock Olds SB Hydraulic Lifters',NULL,2), + (1200069,1200001,'Edelbrock Olds BB Hydraulic Lifters',NULL,2), + (1200070,1200001,'Edelbrock Pontiac Hydraulic Lifters',NULL,2), + (1200071,1200001,'Crane PowerMax Roller Ford BB VT',NULL,3), + (1200072,1200001,'Crane PowerMax AMC VT',NULL,2), + (1200073,1200001,'Crane PowerMax Roller AMC VT',NULL,3), + (1200074,1200001,'Crane Energizer Buick SB VT',NULL,2), + (1200075,1200001,'Crane PowerMax Buick SB VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200076,1200001,'Crane Energizer Chevrolet SB VT',NULL,2), + (1200077,1200001,'Crane PowerMax Chevrolet SB VT',NULL,2), + (1200078,1200001,'Crane PowerMax Roller Chevrolet SB VT',NULL,3), + (1200079,1200001,'Crane Energizer Chevrolet BB VT',NULL,2), + (1200080,1200001,'Crane PowerMax Chevrolet BB VT',NULL,2), + (1200081,1200001,'Crane PowerMax Roller Chevrolet BB VT',NULL,3), + (1200082,1200001,'Crane Energizer Chevrolet W VT',NULL,2), + (1200083,1200001,'Crane PowerMax Chevrolet W VT',NULL,2), + (1200084,1200001,'Crane PowerMax Roller Chevrolet W VT',NULL,3), + (1200085,1200001,'Crane Energizer Chrysler SB VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200086,1200001,'Crane PowerMax Chrysler SB VT',NULL,2), + (1200087,1200001,'Crane PowerMax Roller Chrysler SB VT',NULL,3), + (1200088,1200001,'Crane Energizer Chrysler BB VT',NULL,2), + (1200089,1200001,'Crane PowerMax Chrysler BB VT',NULL,2), + (1200090,1200001,'Crane PowerMax Roller Chrysler BB VT',NULL,3), + (1200091,1200001,'Crane PowerMax Chrysler Hemi VT',NULL,2), + (1200092,1200001,'Crane PowerMax Roller Chrysler Hemi VT',NULL,3), + (1200093,1200001,'Crane Energizer Ford SB VT',NULL,2), + (1200094,1200001,'Crane PowerMax Ford SB VT',NULL,2), + (1200095,1200001,'Crane PowerMax Roller Ford SB VT',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200096,1200001,'Crane Energizer Ford C VT',NULL,2), + (1200097,1200001,'Crane PowerMax Ford C VT',NULL,2), + (1200098,1200001,'Crane PowerMax Roller Ford C VT',NULL,3), + (1200099,1200001,'Crane Energizer Ford 385 VT',NULL,2), + (1200100,1200001,'Crane PowerMax Ford 385 VT',NULL,2), + (1200101,1200001,'Crane PowerMax Roller Ford 385 VT',NULL,3), + (1200102,1200001,'Crane Energizer Olds SB VT',NULL,2), + (1200103,1200001,'Crane PowerMax Olds SB VT',NULL,2), + (1200104,1200001,'Crane PowerMax Roller Olds SB VT',NULL,3), + (1200105,1200001,'Crane Energizer Pontiac VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200106,1200001,'Crane PowerMax Pontiac VT',NULL,2), + (1200107,1200001,'Crane PowerMax Roller Pontiac VT',NULL,3), + (1200108,1200001,'Crane Energizer Olds BB VT',NULL,2), + (1200109,1200001,'Crane PowerMax Olds BB VT',NULL,2), + (1200110,1200001,'Crane PowerMax Roller Olds BB VT',NULL,3), + (1200111,1200001,'Oldfield Y Block Street King Solid VT',NULL,2), + (1200112,1200001,'Oldfield Y Block Strip King Solid VT',NULL,2), + (1200113,1200001,'Oldfield Y Block Race Pro Roller VT',NULL,2), + (1200114,1200001,'Quik Lift Y Block Solid VT',NULL,2), + (1200115,1200001,'Quik Lift Y Block Performance Solid VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200116,1200001,'Quik Lift Y Block Race Roller VT',NULL,2), + (1200117,1200001,'Milloy Y Block Speed Lifter Solid VT',NULL,2), + (1200118,1200001,'Milloy Y Block Super Lifter Solid VT',NULL,2), + (1200119,1200001,'Milloy Chevy SB Speed Lifter Solid VT',NULL,2), + (1200120,1200001,'Milloy Chevy SB Street Plus Hydraulic VT',NULL,1), + (1200121,1200001,'Milloy Chevy SB Premier Roller VT',NULL,3), + (1200122,1200001,'Quik Lift Chevy SB Performance Solid VT',NULL,2), + (1200123,1200001,'Quik Lift Chevy SB Performance Hydraulic VT',NULL,2), + (1200124,1200001,'Quik Lift Chevy SB Race Roller VT',NULL,2), + (1200125,1200001,'Milloy Buick Nailhead Super Lift Solid VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200126,1200001,'Quik Lift Buick Nailhead Perf. Hydraulic VT',NULL,2), + (1200127,1200001,'Dunbar Buick Nailhead Craftsmith Roller VT',NULL,2), + (1200128,1200001,'Quik Lift Buick Nailhead Race Roller VT',NULL,2), + (1200129,1200001,'Quik Lift Buick Nailhead Solid VT',NULL,2), + (1200130,1200001,'Milloy Buick Nailhead Speed Lift Solid VT',NULL,2), + (1200131,1200001,'Dunbar Buick Nailhead Craftsmith Hydraulic VT',NULL,1), + (1200132,1200001,'Dunbar Buick Nailhead Craftsmith Solid VT',NULL,2), + (1200133,1200001,'Oldfield Ford SB Street King Solid VT',NULL,2), + (1200134,1200001,'Oldfield Ford SB Strip King Solid VT',NULL,2), + (1200135,1200001,'Milloy Ford SB Speed Lift Solid VT',NULL,2); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200136,1200001,'Millory Ford SB Strip King Solid VT',NULL,2), + (1200137,1200001,'Quik Lift Ford SB Solid VT',NULL,2), + (1200138,1200001,'Quik Lift Ford SB Performance Hydraulic VT',NULL,2), + (1200139,1200001,'Quik Lift Ford SB Race Rolller VT',NULL,2), + (1200140,1200001,'Milloy Ford SB Super Lift Solid VT',NULL,2), + (1200141,1200001,'Milloy Chrysler SB Super Lift Solid VT',NULL,2), + (1200142,1200001,'Milloy Chrysler SB Premier Roller VT',NULL,3), + (1200143,1200001,'Quik Lift Chrysler SB Race Roller VT',NULL,2), + (1200144,1200001,'Milloy Pontiac Premier Roller VT',NULL,3), + (1200145,1200001,'Quik Lift Pontiac Race Roller VT',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200146,1200001,'Milloy Cleveland Speed Lift Solid VT',NULL,2), + (1200147,1200001,'Milloy Cleveland Super Lift Solid VT',NULL,3), + (1200148,1200001,'Milloy Cleveland Premier Roller VT',NULL,4), + (1200149,1200001,'Oldfield Cleveland Strip King Roller VT',NULL,3), + (1200150,1200001,'Oldfield Cleveland Track King Roller VT',NULL,4), + (1200151,1200001,'Milloy Ford 385 Speed Lift Solid VT',NULL,2), + (1200152,1200001,'Milloy Ford 385 Super Lift Solid VT',NULL,3), + (1200153,1200001,'Milloy Ford 385 Premier Roller VT',NULL,4), + (1200154,1200001,'Oldfield Ford 385 Strip King Roller VT',NULL,3), + (1200155,1200001,'Oldfield Ford 385 Track King Roller VT',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200156,1200001,'Milloy Hemi Speed Lift Hydraulic VT',NULL,2), + (1200157,1200001,'Milloy Hemi Speed Lift Solid VT',NULL,2), + (1200158,1200001,'Milloy Hemi Super Lift Solid VT',NULL,3), + (1200159,1200001,'Millloy Hemi Premier Roller VT',NULL,4), + (1200160,1200001,'Quik Lift Hemi Race Roller VT',NULL,3), + (1200161,1200001,'Millloy Cadillac BB Street Plus Hydraulic VT',NULL,1), + (1200162,1200001,'Milloy Cadillac BB Speed Lift Hydraulic VT',NULL,2), + (1200163,1200001,'Milloy Cadillac BB Speed Lift Solid VT',NULL,2), + (1200164,1200001,'Milloy Cadillac BB Super Lift Solid VT',NULL,3), + (1200165,1200001,'Milloy Cadillac BB Premier Roller VT',NULL,4); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200166,1200001,'Quik Lift Cadillac BB Perf. Hydraulic VT',NULL,2), + (1200167,1200001,'Quik Lift Cadillac BB Perf. Solid VT',NULL,2), + (1200168,1200001,'Quik Lift Cadillac BB Race Roller VT',NULL,3), + (1200169,1200001,'Milloy Chevy W Speed Lift Hydraulic VT',NULL,2), + (1200170,1200001,'Milloy Chevy W Speed Lift Solid VT',NULL,2), + (1200171,1200001,'Milloy Chevy W Super Lift Solid VT',NULL,3), + (1200172,1200001,'Milloy Chevy W Premier Roller VT',NULL,4), + (1200173,1200001,'Quik Lift Chevy W Perf. Hydraulic VT',NULL,2), + (1200174,1200001,'Quik Lift Chevy W Perf. Solid VT',NULL,2), + (1200175,1200001,'Quik Lift Chevy W Race Roller VT',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200176,1200001,'Milloy AMC Speed Lift Hydraulic VT',NULL,2), + (1200177,1200001,'Milloy AMC Speed Lift Solid VT',NULL,2), + (1200178,1200001,'Milloy AMC Super Lift Solid VT',NULL,3), + (1200179,1200001,'Milloy AMC Premier Roller VT',NULL,4), + (1200180,1200001,'Quik Lift AMC Perf. Hydraulic VT',NULL,2), + (1200181,1200001,'Quik Lift AMC Perf. Solid VT',NULL,2), + (1200182,1200001,'Quik Lift AMC Race Roller VT',NULL,3), + (1200183,1200001,'Milloy Olds BB Speed Lift Hydraulic VT',NULL,2), + (1200184,1200001,'Milloy Olds BB Speed Lift Solid VT',NULL,2), + (1200185,1200001,'Milloy Olds BB Super Lift Solid VT',NULL,3); +INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES + (1200186,1200001,'Milloy Olds BB Premier Roller VT',NULL,4), + (1200187,1200001,'Milloy Chrysler BB Speed Lift Hydraulic VT',NULL,2), + (1200188,1200001,'Milloy Chrysler BB Speed Lift Solid VT',NULL,2), + (1200189,1200001,'Milloy Chrysler BB Super Lift Solid VT',NULL,3), + (1200190,1200001,'Milloy Chrysler BB Premier Roller VT',NULL,4), + (1200191,1200001,'Milloy Chevy BB Premier Roller VT',NULL,4), + (1200192,1200001,'Quik Lift Chevy BB Race Roller VT',NULL,3), + (1200193,1200001,'Crane PowerMax Ford Flathead VT',NULL,2); diff --git a/migrations/2024.02.11T23.29.19.initialBrandedPart.sql b/migrations/2024.02.11T23.29.19.initialBrandedPart.sql new file mode 100644 index 000000000..9f8daa035 --- /dev/null +++ b/migrations/2024.02.11T23.29.19.initialBrandedPart.sql @@ -0,0 +1,3529 @@ +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (101,101,1,'1932-01-01 00:00:00.000000',1000,0,30000,0), + (102,102,7,'1940-01-01 00:00:00.000000',1000,0,30000,0), + (103,103,14,'1953-01-01 00:00:00.000000',1000,0,30000,0), + (104,104,21,'1957-01-01 00:00:00.000000',1000,0,30000,0), + (105,105,25,'1957-01-01 00:00:00.000000',1000,0,30000,0), + (106,106,47,'1957-01-01 00:00:00.000000',250,0,30000,0), + (107,107,32,'1963-01-01 00:00:00.000000',0,0,30000,0), + (108,108,509,'1965-01-01 00:00:00.000000',250,0,30000,0), + (109,109,40,'1964-01-01 00:00:00.000000',1000,0,30000,0), + (110,110,974,'1969-01-01 00:00:00.000000',125,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (111,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), + (112,112,2,'1949-01-01 00:00:00.000000',1000,0,30000,0), + (113,113,3,'1957-01-01 00:00:00.000000',1000,0,30000,0), + (114,114,8,'1957-01-01 00:00:00.000000',60,0,30000,0), + (115,115,16,'1957-01-01 00:00:00.000000',1000,0,30000,0), + (116,116,48,'1964-01-01 00:00:00.000000',1000,0,30000,0), + (117,117,26,'1963-01-01 00:00:00.000000',0,0,30000,0), + (118,118,49,'1958-01-01 00:00:00.000000',1000,0,30000,0), + (119,119,33,'1967-01-01 00:00:00.000000',1000,0,30000,0), + (120,120,37,'1967-01-01 00:00:00.000000',250,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (121,121,41,'1970-01-01 00:00:00.000000',1000,0,30000,0), + (122,122,45,'1970-01-01 00:00:00.000000',1000,0,30000,0), + (123,123,46,'1970-01-01 00:00:00.000000',1000,0,30000,0), + (124,124,4,'1947-01-01 00:00:00.000000',1000,0,30000,0), + (125,125,9,'1959-01-01 00:00:00.000000',0,0,30000,0), + (126,126,10,'1969-01-01 00:00:00.000000',0,0,30000,0), + (127,127,5,'1955-01-01 00:00:00.000000',1000,0,30000,0), + (128,128,6,'1966-01-01 00:00:00.000000',0,0,30000,0), + (129,129,12,'1969-01-01 00:00:00.000000',0,0,30000,0), + (130,130,20,'1973-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (131,131,172,'1969-01-01 00:00:00.000000',250,0,30000,0), + (132,132,173,'1969-01-01 00:00:00.000000',250,0,30000,0), + (133,133,174,'1969-01-01 00:00:00.000000',0,0,30000,0), + (134,134,175,'1970-01-01 00:00:00.000000',0,0,30000,0), + (135,135,176,'1971-01-01 00:00:00.000000',1000,0,30000,0), + (153,138,526,'1999-01-01 00:00:00.000000',0,0,30000,0), + (159,104,964,'1957-01-01 00:00:00.000000',1000,0,30000,0), + (171,142,971,'1970-01-01 00:00:00.000000',0,0,30000,0), + (173,146,1051,'1990-01-01 00:00:00.000000',0,0,30000,0), + (174,147,1052,'1990-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (175,148,1053,'1990-01-01 00:00:00.000000',0,0,30000,0), + (176,149,1054,'1990-01-01 00:00:00.000000',0,0,30000,0), + (177,150,1055,'1990-01-01 00:00:00.000000',0,0,30000,0), + (178,151,1056,'1990-01-01 00:00:00.000000',0,0,30000,0), + (179,152,1057,'1990-01-01 00:00:00.000000',0,0,30000,0), + (180,153,1058,'1990-01-01 00:00:00.000000',0,0,30000,0), + (184,157,990,'1969-01-01 00:00:00.000000',0,0,30000,0), + (190,154,980,'1969-01-01 00:00:00.000000',0,0,30000,0), + (208,127,1202,'1955-01-01 00:00:00.000000',1000,0,30000,0), + (236,113,1203,'1957-01-01 00:00:00.000000',1000,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320,207,2153,'1966-01-01 00:00:00.000000',0,0,15000,0), + (335,210,2179,'1970-01-01 00:00:00.000000',250,0,1500,0), + (336,211,2180,'1969-01-01 00:00:00.000000',0,0,1500,0), + (337,212,2181,'1970-01-01 00:00:00.000000',0,0,1500,0), + (338,213,2182,'1970-01-01 00:00:00.000000',0,0,1500,0), + (339,214,2183,'1970-01-01 00:00:00.000000',0,0,1500,0), + (340,215,2184,'1970-01-01 00:00:00.000000',0,0,1500,0), + (341,216,2185,'1971-01-01 00:00:00.000000',250,0,1500,0), + (342,217,2186,'1964-01-01 00:00:00.000000',0,0,1500,0), + (343,218,2187,'1967-01-01 00:00:00.000000',0,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (344,219,2188,'1967-01-01 00:00:00.000000',0,0,1500,0), + (345,220,2189,'1967-01-01 00:00:00.000000',0,0,1500,0), + (346,221,2190,'1970-01-01 00:00:00.000000',0,0,1500,0), + (347,222,2191,'1970-01-01 00:00:00.000000',0,0,1500,0), + (348,223,2192,'1970-01-01 00:00:00.000000',0,0,1500,0), + (349,224,2193,'1969-01-01 00:00:00.000000',0,0,1500,0), + (350,225,2194,'1969-01-01 00:00:00.000000',0,0,1500,0), + (351,226,1230,'1969-01-01 00:00:00.000000',0,0,1500,0), + (352,227,2196,'1973-01-01 00:00:00.000000',0,0,1500,0), + (353,228,2197,'1973-01-01 00:00:00.000000',0,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (354,124,4,'1947-01-01 00:00:00.000000',1000,0,1500,0), + (355,112,2,'1949-01-01 00:00:00.000000',1000,0,1500,0), + (356,103,14,'1953-01-01 00:00:00.000000',1000,0,1500,0), + (357,104,21,'1957-01-01 00:00:00.000000',1000,0,1500,0), + (358,105,25,'1957-01-01 00:00:00.000000',1000,0,1500,0), + (359,106,47,'1957-01-01 00:00:00.000000',250,0,1500,0), + (360,113,3,'1957-01-01 00:00:00.000000',1000,0,1500,0), + (361,115,16,'1957-01-01 00:00:00.000000',1000,0,1500,0), + (362,114,8,'1957-01-01 00:00:00.000000',60,0,1500,0), + (363,118,49,'1958-01-01 00:00:00.000000',1000,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (364,117,26,'1963-01-01 00:00:00.000000',0,0,1500,0), + (365,116,48,'1964-01-01 00:00:00.000000',1000,0,1500,0), + (366,109,40,'1964-01-01 00:00:00.000000',1000,0,1500,0), + (367,108,509,'1964-01-01 00:00:00.000000',250,0,1500,0), + (368,128,6,'1966-01-01 00:00:00.000000',0,0,1500,0), + (369,119,33,'1967-01-01 00:00:00.000000',1000,0,1500,0), + (370,120,37,'1967-01-01 00:00:00.000000',250,0,1500,0), + (371,126,2215,'1969-01-01 00:00:00.000000',0,0,1500,0), + (372,129,12,'1969-01-01 00:00:00.000000',0,0,1500,0), + (373,133,174,'1969-01-01 00:00:00.000000',0,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (374,140,2217,'1967-01-01 00:00:00.000000',0,0,30000,0), + (375,106,2367,'1957-01-01 00:00:00.000000',0,0,1500,0), + (377,113,2369,'1957-01-01 00:00:00.000000',0,0,1500,0), + (378,127,2370,'1955-01-01 00:00:00.000000',0,0,1500,0), + (379,103,2371,'1953-01-01 00:00:00.000000',0,0,1500,0), + (383,129,2376,'1969-01-01 00:00:00.000000',0,0,1500,0), + (384,108,2377,'1964-01-01 00:00:00.000000',0,0,1500,0), + (385,106,2378,'1957-01-01 00:00:00.000000',0,0,1500,0), + (386,127,2379,'1955-01-01 00:00:00.000000',0,0,1500,0), + (387,121,2380,'1970-01-01 00:00:00.000000',0,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (388,109,2381,'1964-01-01 00:00:00.000000',0,0,1500,0), + (389,132,2382,'1969-01-01 00:00:00.000000',0,0,1500,0), + (390,113,2383,'1957-01-01 00:00:00.000000',0,0,1500,0), + (391,103,2384,'1953-01-01 00:00:00.000000',0,0,1500,0), + (392,131,2385,'1969-01-01 00:00:00.000000',0,0,1500,0), + (393,105,2386,'1957-01-01 00:00:00.000000',0,0,1500,0), + (394,120,2387,'1967-01-01 00:00:00.000000',0,0,1500,0), + (395,112,2425,'1949-01-01 00:00:00.000000',0,0,1500,0), + (396,113,2426,'1957-01-01 00:00:00.000000',0,0,1500,0), + (397,128,2427,'1966-01-01 00:00:00.000000',0,0,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (398,125,2428,'1959-01-01 00:00:00.000000',0,0,1500,0), + (399,117,2429,'1963-01-01 00:00:00.000000',0,0,1500,0), + (400,108,2430,'1964-01-01 00:00:00.000000',0,0,1500,0), + (401,134,2431,'1970-01-01 00:00:00.000000',0,0,1500,0), + (402,127,5,'1955-01-01 00:00:00.000000',0,0,30000,0), + (403,140,2217,'1967-01-01 00:00:00.000000',0,0,30000,0), + (404,207,2153,'1966-01-01 00:00:00.000000',0,0,30000,0), + (405,117,26,'1963-01-01 00:00:00.000000',0,0,30000,0), + (406,207,2153,'1966-01-01 00:00:00.000000',0,0,30000,0), + (407,213,2182,'1970-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (408,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), + (409,220,2189,'1967-01-01 00:00:00.000000',0,0,30000,0), + (410,130,20,'1973-01-01 00:00:00.000000',0,0,30000,0), + (411,132,2872,'1969-01-01 00:00:00.000000',0,0,30000,0), + (412,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), + (413,114,8,'1957-01-01 00:00:00.000000',0,0,30000,0), + (414,114,2878,'1957-01-01 00:00:00.000000',0,0,30000,0), + (415,114,3003,'1957-01-01 00:00:00.000000',0,0,30000,0), + (416,133,3004,'1969-01-01 00:00:00.000000',0,0,30000,0), + (417,108,3005,'1964-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (418,121,3009,'1970-01-01 00:00:00.000000',0,0,30000,0), + (419,112,3006,'1949-01-01 00:00:00.000000',0,0,30000,0), + (420,103,3010,'1953-01-01 00:00:00.000000',0,0,30000,0), + (421,118,3011,'1958-01-01 00:00:00.000000',0,0,30000,0), + (422,113,3012,'1957-01-01 00:00:00.000000',0,0,30000,0), + (423,127,3013,'1955-01-01 00:00:00.000000',0,0,30000,0), + (424,218,3014,'1967-01-01 00:00:00.000000',0,0,30000,0), + (425,142,3015,'1970-01-01 00:00:00.000000',0,0,30000,0), + (426,134,3016,'1970-01-01 00:00:00.000000',0,0,30000,0), + (427,124,3017,'1947-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (428,114,3018,'1957-01-01 00:00:00.000000',0,0,30000,0), + (429,115,3603,'1957-01-01 00:00:00.000000',0,0,30000,0), + (430,105,3604,'1957-01-01 00:00:00.000000',0,0,30000,0), + (431,128,3605,'1966-01-01 00:00:00.000000',0,0,30000,0), + (432,101,3606,'1932-01-01 00:00:00.000000',0,0,30000,0), + (433,102,3607,'1940-01-01 00:00:00.000000',0,0,30000,0), + (434,104,3608,'1957-01-01 00:00:00.000000',0,0,30000,0), + (435,106,3609,'1957-01-01 00:00:00.000000',0,0,30000,0), + (436,109,3610,'1964-01-01 00:00:00.000000',0,0,30000,0), + (437,211,3611,'1969-01-01 00:00:00.000000',0,0,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (438,111,3612,'1970-01-01 00:00:00.000000',0,0,30000,0), + (439,116,3613,'1964-01-01 00:00:00.000000',0,0,30000,0), + (440,121,3614,'1970-01-01 00:00:00.000000',0,0,30000,0), + (441,117,3615,'1963-01-01 00:00:00.000000',0,0,30000,0), + (1001,1001,2027,'1932-01-01 00:00:00.000000',500,0,30000,0), + (2001,2001,2028,'1932-01-01 00:00:00.000000',500,0,30000,0), + (4001,4001,2029,'1999-01-01 00:00:00.000000',500,0,30000,0), + (5001,5001,2030,'1965-01-01 00:00:00.000000',500,0,30000,0), + (6001,6001,1742,'1999-01-01 00:00:00.000000',500,0,30000,0), + (10001,10001,622,'1960-01-01 00:00:00.000000',1000,138,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (10002,10002,623,'1960-01-01 00:00:00.000000',1000,232,30000,0), + (10003,10003,624,'1960-01-01 00:00:00.000000',500,388,30000,0), + (10004,10004,1716,'1960-01-01 00:00:00.000000',1000,107,30000,0), + (10005,10005,1717,'1960-01-01 00:00:00.000000',1000,138,30000,0), + (10006,10006,625,'1960-01-01 00:00:00.000000',1000,169,30000,0), + (10007,10007,626,'1960-01-01 00:00:00.000000',1000,263,30000,0), + (10008,10008,627,'1960-01-01 00:00:00.000000',250,419,30000,0), + (10009,10009,1718,'1960-01-01 00:00:00.000000',1000,85,30000,0), + (10010,10010,615,'1960-01-01 00:00:00.000000',1000,116,30000,0), + (10011,10011,616,'1960-01-01 00:00:00.000000',1000,210,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (10012,10012,617,'1960-01-01 00:00:00.000000',500,366,30000,0), + (10013,10013,1719,'1960-01-01 00:00:00.000000',1000,116,30000,0), + (10014,10014,618,'1960-01-01 00:00:00.000000',1000,147,30000,0), + (10015,10015,619,'1960-01-01 00:00:00.000000',1000,241,30000,0), + (10016,10016,1720,'1960-01-01 00:00:00.000000',250,397,30000,0), + (10017,10017,629,'1960-01-01 00:00:00.000000',250,329,30000,0), + (10018,10018,630,'1960-01-01 00:00:00.000000',125,485,30000,0), + (10019,10019,621,'1960-01-01 00:00:00.000000',250,307,30000,0), + (10020,10020,1721,'1960-01-01 00:00:00.000000',125,463,30000,0), + (10021,10021,633,'1960-01-01 00:00:00.000000',125,426,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (10022,10022,634,'1960-01-01 00:00:00.000000',60,583,30000,0), + (10023,10023,635,'1960-01-01 00:00:00.000000',0,1083,30000,0), + (10024,10024,636,'1960-01-01 00:00:00.000000',0,1833,30000,0), + (10025,10025,632,'1960-01-01 00:00:00.000000',250,333,30000,0), + (10026,10026,631,'1960-01-01 00:00:00.000000',250,301,30000,0), + (10027,10027,1722,'1960-01-01 00:00:00.000000',125,858,30000,0), + (10028,10028,1723,'1960-01-01 00:00:00.000000',60,1108,30000,0), + (10029,10029,1724,'1960-01-01 00:00:00.000000',0,1608,30000,0), + (10030,10030,1725,'1960-01-01 00:00:00.000000',0,2358,30000,0), + (10031,10031,1752,'1990-01-01 00:00:00.000000',60,951,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (10032,10044,2598,'1990-01-01 00:00:00.000000',125,826,30000,0), + (10033,10043,2597,'1990-01-01 00:00:00.000000',500,204,30000,0), + (10034,10042,2596,'1990-01-01 00:00:00.000000',125,919,30000,0), + (10035,10041,2595,'1990-01-01 00:00:00.000000',60,897,30000,0), + (10036,10040,2594,'1990-01-01 00:00:00.000000',125,888,30000,0), + (10037,10039,2593,'1990-01-01 00:00:00.000000',125,866,30000,0), + (10038,10038,2592,'1990-01-01 00:00:00.000000',30,1326,30000,0), + (10039,10037,2591,'1990-01-01 00:00:00.000000',125,704,30000,0), + (10040,10036,2590,'1990-01-01 00:00:00.000000',60,801,30000,0), + (10041,10035,2589,'1990-01-01 00:00:00.000000',250,638,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (10042,10034,2588,'1990-01-01 00:00:00.000000',250,616,30000,0), + (10043,10033,2587,'1990-01-01 00:00:00.000000',250,607,30000,0), + (10044,10032,2586,'1990-01-01 00:00:00.000000',125,585,30000,0), + (11001,11001,606,'1955-01-01 00:00:00.000000',500,22,30000,0), + (11002,11002,607,'1955-01-01 00:00:00.000000',1000,32,30000,0), + (11003,11003,608,'1955-01-01 00:00:00.000000',500,32,30000,0), + (11004,11004,609,'1955-01-01 00:00:00.000000',1000,42,30000,0), + (11005,11005,610,'1955-01-01 00:00:00.000000',250,66,30000,0), + (11006,11006,611,'1955-01-01 00:00:00.000000',500,72,30000,0), + (11007,11007,1740,'1955-01-01 00:00:00.000000',125,84,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (11008,11008,612,'1955-01-01 00:00:00.000000',250,122,30000,0), + (11009,11009,613,'1955-01-01 00:00:00.000000',125,134,30000,0), + (11010,11010,614,'1955-01-01 00:00:00.000000',60,142,30000,0), + (11011,11011,2200,'1955-01-01 00:00:00.000000',250,267,30000,0), + (11012,11012,2665,'1995-01-01 00:00:00.000000',15,76,30000,0), + (11013,11013,2666,'1995-01-01 00:00:00.000000',15,130,30000,0), + (12001,12001,559,'1930-01-01 00:00:00.000000',125,58,30000,0), + (12002,12002,560,'1930-01-01 00:00:00.000000',250,61,30000,0), + (12003,12003,561,'1930-01-01 00:00:00.000000',500,65,30000,0), + (12004,12004,562,'1930-01-01 00:00:00.000000',500,70,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12005,12005,563,'1930-01-01 00:00:00.000000',500,76,30000,0), + (12006,12006,564,'1950-01-01 00:00:00.000000',1000,153,30000,0), + (12007,12007,565,'1950-01-01 00:00:00.000000',1000,160,30000,0), + (12008,12008,566,'1950-01-01 00:00:00.000000',1000,167,30000,0), + (12009,12009,567,'1950-01-01 00:00:00.000000',500,176,30000,0), + (12010,12010,568,'1950-01-01 00:00:00.000000',500,185,30000,0), + (12011,12011,569,'1950-01-01 00:00:00.000000',250,195,30000,0), + (12012,12012,570,'1950-01-01 00:00:00.000000',250,135,30000,0), + (12013,12013,571,'1950-01-01 00:00:00.000000',125,147,30000,0), + (12014,12014,572,'1950-01-01 00:00:00.000000',125,159,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12015,12015,573,'1950-01-01 00:00:00.000000',125,243,30000,0), + (12016,12016,574,'1950-01-01 00:00:00.000000',125,257,30000,0), + (12017,12017,575,'1950-01-01 00:00:00.000000',125,272,30000,0), + (12018,12018,576,'1950-01-01 00:00:00.000000',60,288,30000,0), + (12019,12019,577,'1950-01-01 00:00:00.000000',60,305,30000,0), + (12020,12020,2201,'1965-01-01 00:00:00.000000',500,141,30000,0), + (12021,12021,2202,'1965-01-01 00:00:00.000000',500,146,30000,0), + (12022,12022,2203,'1965-01-01 00:00:00.000000',500,105,30000,0), + (12023,12023,2204,'1965-01-01 00:00:00.000000',500,114,30000,0), + (12024,12024,2205,'1965-01-01 00:00:00.000000',500,124,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12025,12026,2206,'1965-01-01 00:00:00.000000',125,230,30000,0), + (12026,12025,2207,'1965-01-01 00:00:00.000000',250,217,30000,0), + (12027,12031,2212,'1950-01-01 00:00:00.000000',1000,89,30000,0), + (12028,12033,2214,'1950-01-01 00:00:00.000000',1000,76,30000,0), + (12029,12032,2213,'1950-01-01 00:00:00.000000',1000,82,30000,0), + (12030,12030,2211,'1950-01-01 00:00:00.000000',1000,97,30000,0), + (12031,12029,2210,'1950-01-01 00:00:00.000000',250,185,30000,0), + (12032,12028,2209,'1950-01-01 00:00:00.000000',250,195,30000,0), + (12033,12027,2208,'1950-01-01 00:00:00.000000',250,206,30000,0), + (12034,12034,2390,'1950-01-01 00:00:00.000000',125,257,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12035,12035,2391,'1950-01-01 00:00:00.000000',125,272,30000,0), + (12036,12036,2392,'1950-01-01 00:00:00.000000',60,288,30000,0), + (12037,12037,2393,'1950-01-01 00:00:00.000000',60,305,30000,0), + (12038,12038,2394,'1950-01-01 00:00:00.000000',60,323,30000,0), + (12039,12039,2395,'1950-01-01 00:00:00.000000',60,341,30000,0), + (12040,12040,2396,'1950-01-01 00:00:00.000000',60,361,30000,0), + (12041,12041,2397,'1950-01-01 00:00:00.000000',30,381,30000,0), + (12042,12042,2398,'1950-01-01 00:00:00.000000',30,402,30000,0), + (12043,12043,2399,'1950-01-01 00:00:00.000000',30,424,30000,0), + (12044,12044,2400,'1950-01-01 00:00:00.000000',30,448,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12045,12045,2401,'1950-01-01 00:00:00.000000',30,472,30000,0), + (12046,12046,2402,'1950-01-01 00:00:00.000000',30,497,30000,0), + (12047,12047,2403,'1950-01-01 00:00:00.000000',30,523,30000,0), + (12048,12048,2404,'1950-01-01 00:00:00.000000',30,550,30000,0), + (12049,12049,2405,'1950-01-01 00:00:00.000000',30,578,30000,0), + (12050,12050,2406,'1950-01-01 00:00:00.000000',30,608,30000,0), + (12051,12051,2407,'1950-01-01 00:00:00.000000',30,638,30000,0), + (12052,12052,2408,'1950-01-01 00:00:00.000000',30,669,30000,0), + (12053,12053,2409,'1950-01-01 00:00:00.000000',30,701,30000,0), + (12054,12054,2410,'1950-01-01 00:00:00.000000',30,734,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12055,12055,2411,'1950-01-01 00:00:00.000000',30,769,30000,0), + (12056,12056,2412,'1950-01-01 00:00:00.000000',30,804,30000,0), + (12057,12057,2413,'1950-01-01 00:00:00.000000',30,840,30000,0), + (12058,12058,2414,'1950-01-01 00:00:00.000000',0,878,30000,0), + (12059,12059,2415,'1950-01-01 00:00:00.000000',0,916,30000,0), + (12060,12060,2416,'1950-01-01 00:00:00.000000',0,956,30000,0), + (12061,12061,2417,'1950-01-01 00:00:00.000000',0,996,30000,0), + (12062,12062,2418,'1950-01-01 00:00:00.000000',0,1038,30000,0), + (12063,12063,2419,'1950-01-01 00:00:00.000000',0,1081,30000,0), + (12064,12064,2420,'1950-01-01 00:00:00.000000',250,206,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (12065,12066,2673,'1995-01-01 00:00:00.000000',60,226,30000,0), + (12066,12065,2674,'1995-01-01 00:00:00.000000',125,203,30000,0), + (12067,12067,2675,'1995-01-01 00:00:00.000000',60,239,30000,0), + (12068,12069,2676,'1995-01-01 00:00:00.000000',125,214,30000,0), + (12069,12068,2677,'1995-01-01 00:00:00.000000',60,253,30000,0), + (13001,13001,578,'1960-01-01 00:00:00.000000',1000,312,30000,0), + (13002,13002,579,'1960-01-01 00:00:00.000000',1000,332,30000,0), + (13003,13003,580,'1960-01-01 00:00:00.000000',1000,352,30000,0), + (13004,13004,581,'1960-01-01 00:00:00.000000',1000,372,30000,0), + (13005,13005,582,'1960-01-01 00:00:00.000000',500,392,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (13006,13006,583,'1960-01-01 00:00:00.000000',500,412,30000,0), + (13007,13007,584,'1960-01-01 00:00:00.000000',500,432,30000,0), + (13008,13008,585,'1960-01-01 00:00:00.000000',500,452,30000,0), + (13009,13009,586,'1960-01-01 00:00:00.000000',500,472,30000,0), + (13010,13010,587,'1960-01-01 00:00:00.000000',500,492,30000,0), + (13011,13011,588,'1960-01-01 00:00:00.000000',500,512,30000,0), + (13012,13012,589,'1960-01-01 00:00:00.000000',250,532,30000,0), + (13013,13013,590,'1960-01-01 00:00:00.000000',250,607,30000,0), + (13014,13014,591,'1960-01-01 00:00:00.000000',250,629,30000,0), + (13015,13015,592,'1960-01-01 00:00:00.000000',250,651,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (13016,13016,593,'1960-01-01 00:00:00.000000',250,673,30000,0), + (13017,13017,594,'1960-01-01 00:00:00.000000',250,695,30000,0), + (13018,13018,595,'1960-01-01 00:00:00.000000',250,717,30000,0), + (13019,13019,596,'1960-01-01 00:00:00.000000',125,739,30000,0), + (13020,13020,597,'1960-01-01 00:00:00.000000',125,761,30000,0), + (13021,13021,598,'1960-01-01 00:00:00.000000',60,783,30000,0), + (13022,13022,599,'1960-01-01 00:00:00.000000',60,878,30000,0), + (13023,13023,600,'1960-01-01 00:00:00.000000',60,902,30000,0), + (13024,13024,601,'1960-01-01 00:00:00.000000',30,926,30000,0), + (13025,13025,2678,'1995-01-01 00:00:00.000000',60,1151,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (14001,14001,602,'1960-01-01 00:00:00.000000',1000,137,30000,0), + (14002,14002,603,'1960-01-01 00:00:00.000000',250,187,30000,0), + (14003,14003,604,'1960-01-01 00:00:00.000000',125,637,30000,0), + (14004,14004,605,'1960-01-01 00:00:00.000000',0,1487,30000,0), + (14005,14005,2679,'1995-01-01 00:00:00.000000',60,837,30000,0), + (15001,15001,2031,'1969-01-01 00:00:00.000000',500,0,30000,0), + (16001,16001,195,'1953-01-01 00:00:00.000000',500,5,30000,0), + (17001,17001,2375,'1964-01-01 00:00:00.000000',1000,25,30000,0), + (18001,18001,226,'1999-01-01 00:00:00.000000',500,48,30000,0), + (18002,18002,2157,'1999-01-01 00:00:00.000000',500,39,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (18003,18003,2158,'1999-01-01 00:00:00.000000',500,55,30000,0), + (18004,18004,2159,'1999-01-01 00:00:00.000000',500,65,30000,0), + (20101,20101,1,'1932-01-01 00:00:00.000000',1000,1000,30000,0), + (20102,20102,7,'1940-01-01 00:00:00.000000',1000,1000,30000,0), + (20103,20103,14,'1953-01-01 00:00:00.000000',1000,1000,30000,0), + (20104,20104,21,'1957-01-01 00:00:00.000000',1000,1002,30000,0), + (20105,20105,25,'1957-01-01 00:00:00.000000',1000,1002,30000,0), + (20106,20106,47,'1957-01-01 00:00:00.000000',250,1255,30000,0), + (20107,20107,32,'1963-01-01 00:00:00.000000',250,3950,30000,0), + (20108,20108,509,'1964-01-01 00:00:00.000000',250,6363,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20109,20109,40,'1964-01-01 00:00:00.000000',1000,3885,30000,0), + (20110,20110,974,'1969-01-01 00:00:00.000000',125,3871,30000,0), + (20111,20111,36,'1970-01-01 00:00:00.000000',60,11238,30000,0), + (20112,20112,2,'1949-01-01 00:00:00.000000',1000,1000,30000,0), + (20113,20113,3,'1957-01-01 00:00:00.000000',1000,1000,30000,0), + (20114,20114,8,'1957-01-01 00:00:00.000000',60,11817,30000,0), + (20115,20115,16,'1957-01-01 00:00:00.000000',1000,1012,30000,0), + (20116,20116,48,'1964-01-01 00:00:00.000000',1000,4242,30000,0), + (20117,20117,26,'1963-01-01 00:00:00.000000',0,23463,30000,0), + (20118,20118,49,'1958-01-01 00:00:00.000000',1000,2724,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20119,20119,33,'1967-01-01 00:00:00.000000',1000,5584,30000,0), + (20120,20120,37,'1967-01-01 00:00:00.000000',250,10886,30000,0), + (20121,20121,41,'1970-01-01 00:00:00.000000',1000,7196,30000,0), + (20122,20122,45,'1970-01-01 00:00:00.000000',1000,9158,30000,0), + (20123,20123,46,'1970-01-01 00:00:00.000000',1000,5182,30000,0), + (20124,20124,4,'1947-01-01 00:00:00.000000',1000,3760,30000,0), + (20125,20125,9,'1959-01-01 00:00:00.000000',1000,1000,30000,0), + (20126,20126,10,'1969-01-01 00:00:00.000000',125,5109,30000,0), + (20127,20127,5,'1955-01-01 00:00:00.000000',1000,1000,30000,0), + (20128,20128,6,'1966-01-01 00:00:00.000000',250,7022,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20129,20129,12,'1969-01-01 00:00:00.000000',250,6454,30000,0), + (20130,20130,20,'1973-01-01 00:00:00.000000',60,14915,30000,0), + (20131,20131,172,'1969-01-01 00:00:00.000000',1000,5549,30000,0), + (20132,20132,173,'1969-01-01 00:00:00.000000',250,6534,30000,0), + (20133,20133,174,'1969-01-01 00:00:00.000000',250,5289,30000,0), + (20134,20134,175,'1970-01-01 00:00:00.000000',125,9275,30000,0), + (20135,20135,176,'1971-01-01 00:00:00.000000',250,5084,30000,0), + (20138,20138,526,'1999-01-01 00:00:00.000000',0,1000,30000,0), + (20140,20140,2217,'1967-01-01 00:00:00.000000',250,11458,30000,0), + (20146,20146,1051,'1990-01-01 00:00:00.000000',0,1000,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20147,20147,1052,'1990-01-01 00:00:00.000000',0,1000,30000,0), + (20148,20148,1053,'1990-01-01 00:00:00.000000',0,1000,30000,0), + (20149,20149,1054,'1990-01-01 00:00:00.000000',0,1000,30000,0), + (20150,20150,1055,'1990-01-01 00:00:00.000000',0,3891,30000,0), + (20151,20151,1056,'1990-01-01 00:00:00.000000',0,3891,30000,0), + (20152,20152,1057,'1990-01-01 00:00:00.000000',0,1000,30000,0), + (20153,20153,1058,'1990-01-01 00:00:00.000000',0,1000,30000,0), + (20157,20157,990,'1969-01-01 00:00:00.000000',25,5089,30000,0), + (20207,20207,2153,'1966-01-01 00:00:00.000000',0,49296,15000,0), + (20210,20210,2179,'1970-01-01 00:00:00.000000',250,7101,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20211,20211,2180,'1969-01-01 00:00:00.000000',125,3871,1500,0), + (20212,20212,2181,'1970-01-01 00:00:00.000000',250,8467,1500,0), + (20213,20213,2182,'1970-01-01 00:00:00.000000',125,9275,1500,0), + (20214,20214,2183,'1970-01-01 00:00:00.000000',125,9275,1500,0), + (20215,20215,2184,'1970-01-01 00:00:00.000000',125,9275,1500,0), + (20216,20216,2185,'1971-01-01 00:00:00.000000',125,5084,1500,0), + (20217,20217,2186,'1964-01-01 00:00:00.000000',250,4242,1500,0), + (20218,20218,2187,'1967-01-01 00:00:00.000000',250,5584,1500,0), + (20219,20219,2188,'1967-01-01 00:00:00.000000',125,11619,1500,0), + (20220,20220,2189,'1967-01-01 00:00:00.000000',60,11458,1500,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (20221,20221,2190,'1970-01-01 00:00:00.000000',250,7196,1500,0), + (20222,20222,2191,'1970-01-01 00:00:00.000000',1000,5497,1500,0), + (20223,20223,2192,'1970-01-01 00:00:00.000000',250,5162,1500,0), + (20224,20224,2193,'1969-01-01 00:00:00.000000',125,5086,1500,0), + (20225,20225,2194,'1969-01-01 00:00:00.000000',125,5086,1500,0), + (20226,20226,1230,'1969-01-01 00:00:00.000000',125,5998,1500,0), + (20227,20227,2196,'1973-01-01 00:00:00.000000',60,19009,1500,0), + (20228,20228,2197,'1973-01-01 00:00:00.000000',60,14624,1500,0), + (21001,21008,198,'1953-01-01 00:00:00.000000',500,95,30000,0), + (21002,21012,221,'1937-01-01 00:00:00.000000',500,85,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (21003,21013,222,'1939-01-01 00:00:00.000000',500,85,30000,0), + (21004,21014,220,'1940-01-01 00:00:00.000000',500,90,30000,0), + (21005,21015,223,'1941-01-01 00:00:00.000000',500,90,30000,0), + (21006,21001,202,'1947-01-01 00:00:00.000000',500,110,30000,0), + (21007,21002,203,'1949-01-01 00:00:00.000000',500,115,30000,0), + (21008,21004,205,'1953-01-01 00:00:00.000000',500,100,30000,0), + (21009,21009,199,'1955-01-01 00:00:00.000000',500,100,30000,0), + (21010,21010,200,'1956-01-01 00:00:00.000000',500,95,30000,0), + (21011,21011,201,'1957-01-01 00:00:00.000000',500,95,30000,0), + (21012,21005,206,'1967-01-01 00:00:00.000000',500,125,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (21013,21006,207,'1969-01-01 00:00:00.000000',500,120,30000,0), + (21014,21007,208,'1970-01-01 00:00:00.000000',500,125,30000,0), + (21015,21003,204,'1973-01-01 00:00:00.000000',500,130,30000,0), + (21016,21016,246,'1949-01-01 00:00:00.000000',500,110,30000,0), + (22001,22002,657,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22002,22003,658,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22003,22004,659,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22004,22005,660,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22005,22006,661,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22006,22007,662,'1999-01-01 00:00:00.000000',500,25,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (22007,22008,663,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22008,22009,664,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22009,22010,665,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22010,22011,666,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22011,22012,667,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22012,22013,668,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22013,22014,669,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22014,22015,670,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22015,22016,671,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22016,22017,672,'1999-01-01 00:00:00.000000',500,25,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (22017,22018,673,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22018,22019,674,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22019,22020,2114,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22020,22023,2151,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22021,22022,2150,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22022,22021,2149,'1999-01-01 00:00:00.000000',500,25,30000,0), + (22023,22024,2160,'1999-01-01 00:00:00.000000',500,25,30000,0), + (23001,23001,228,'2027-01-01 00:00:00.000000',500,30,30000,0), + (23002,23002,229,'1931-01-01 00:00:00.000000',500,30,30000,0), + (23003,23003,830,'1932-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (23004,23004,230,'1932-01-01 00:00:00.000000',500,30,30000,0), + (23005,23005,231,'1934-01-01 00:00:00.000000',500,30,30000,0), + (23006,23006,232,'1937-01-01 00:00:00.000000',500,30,30000,0), + (23007,23007,233,'1937-01-01 00:00:00.000000',500,30,30000,0), + (23008,23008,234,'1939-01-01 00:00:00.000000',500,30,30000,0), + (23009,23009,834,'1940-01-01 00:00:00.000000',500,30,30000,0), + (23010,23010,235,'1941-01-01 00:00:00.000000',500,30,30000,0), + (23011,23011,236,'1947-01-01 00:00:00.000000',500,30,30000,0), + (23012,23010,237,'1948-01-01 00:00:00.000000',500,30,30000,0), + (23013,23012,237,'1948-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (25001,25001,99,'1967-01-01 00:00:00.000000',1000,359,30000,0), + (25002,25002,100,'1967-01-01 00:00:00.000000',500,458,30000,0), + (25003,25003,101,'1967-01-01 00:00:00.000000',250,556,30000,0), + (25004,25004,1549,'1967-01-01 00:00:00.000000',125,655,30000,0), + (25005,25005,1578,'1967-01-01 00:00:00.000000',0,754,30000,0), + (25006,25006,2041,'1968-01-01 00:00:00.000000',500,470,30000,0), + (25007,25007,2067,'1967-01-01 00:00:00.000000',500,470,30000,0), + (25008,25008,2352,'2001-01-01 00:00:00.000000',500,288,30000,0), + (25009,25009,2353,'2001-01-01 00:00:00.000000',500,288,30000,0), + (25010,25010,2354,'2001-01-01 00:00:00.000000',500,288,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (25011,25011,2355,'2001-01-01 00:00:00.000000',500,288,30000,0), + (25012,25012,2356,'2001-01-01 00:00:00.000000',500,288,30000,0), + (25013,25013,2357,'2001-01-01 00:00:00.000000',500,288,30000,0), + (25014,25014,2358,'2001-01-01 00:00:00.000000',250,288,30000,0), + (25015,25015,2359,'2001-01-01 00:00:00.000000',250,288,30000,0), + (25016,25016,2360,'2001-01-01 00:00:00.000000',250,288,30000,0), + (25017,25017,2361,'2001-01-01 00:00:00.000000',250,318,30000,0), + (25018,25018,2362,'2001-01-01 00:00:00.000000',250,318,30000,0), + (25019,25019,2363,'2001-01-01 00:00:00.000000',250,318,30000,0), + (25020,25020,2364,'2001-01-01 00:00:00.000000',250,318,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (25021,25021,2365,'2001-01-01 00:00:00.000000',250,318,30000,0), + (25022,25022,2366,'2001-01-01 00:00:00.000000',250,318,30000,0), + (26001,26001,244,'1966-01-01 00:00:00.000000',500,10,30000,0), + (27003,27001,238,'2027-01-01 00:00:00.000000',500,10,30000,0), + (28001,28001,272,'1940-01-01 00:00:00.000000',500,15,30000,0), + (28002,28002,273,'1947-01-01 00:00:00.000000',500,10,30000,0), + (28003,28003,274,'1955-01-01 00:00:00.000000',500,10,30000,0), + (28004,28004,275,'1957-01-01 00:00:00.000000',500,10,30000,0), + (28005,28005,276,'1957-01-01 00:00:00.000000',500,10,30000,0), + (29001,29001,637,'1975-01-01 00:00:00.000000',1000,387,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (29002,29002,638,'1975-01-01 00:00:00.000000',500,498,30000,0), + (29003,29003,639,'1975-01-01 00:00:00.000000',500,682,30000,0), + (29004,29004,640,'1975-01-01 00:00:00.000000',250,940,30000,0), + (29005,29005,641,'1975-01-01 00:00:00.000000',125,1272,30000,0), + (29006,29006,642,'1975-01-01 00:00:00.000000',60,1678,30000,0), + (29007,29007,643,'1975-01-01 00:00:00.000000',60,2157,30000,0), + (29008,29008,644,'1975-01-01 00:00:00.000000',30,2710,30000,0), + (29009,29009,645,'1975-01-01 00:00:00.000000',30,3337,30000,0), + (29010,29010,646,'1975-01-01 00:00:00.000000',0,4038,30000,0), + (30001,30001,647,'1975-01-01 00:00:00.000000',1000,387,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (30002,30002,648,'1975-01-01 00:00:00.000000',500,498,30000,0), + (30003,30003,649,'1975-01-01 00:00:00.000000',250,682,30000,0), + (30004,30004,650,'1975-01-01 00:00:00.000000',250,940,30000,0), + (30005,30005,641,'1975-01-01 00:00:00.000000',125,1272,30000,0), + (30006,30006,652,'1975-01-01 00:00:00.000000',60,1678,30000,0), + (30007,30007,643,'1975-01-01 00:00:00.000000',60,2157,30000,0), + (30008,30008,654,'1975-01-01 00:00:00.000000',30,2710,30000,0), + (30009,30009,645,'1975-01-01 00:00:00.000000',30,3337,30000,0), + (30010,30010,656,'1975-01-01 00:00:00.000000',0,4038,30000,0), + (31150,31169,2164,'2001-02-05 00:00:00.000000',1000,50,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (31151,31167,2162,'2001-02-05 00:00:00.000000',1000,50,30000,0), + (31152,31168,2163,'2001-02-05 00:00:00.000000',1000,50,30000,0), + (31153,31166,2161,'2001-02-05 00:00:00.000000',1000,50,30000,0), + (32001,32001,407,'1960-01-01 00:00:00.000000',500,30,30000,0), + (33001,33001,192,'1999-01-01 00:00:00.000000',500,0,30000,0), + (34001,34001,828,'1932-01-01 00:00:00.000000',500,25,30000,0), + (34002,34001,829,'1932-01-01 00:00:00.000000',500,25,30000,0), + (35001,35001,831,'1932-01-01 00:00:00.000000',500,100,30000,0), + (35002,35002,443,'1940-01-01 00:00:00.000000',500,50,30000,0), + (35003,35003,2156,'1965-01-01 00:00:00.000000',500,50,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36001,36002,2032,'2000-01-01 00:00:00.000000',500,0,30000,0), + (36002,36002,953,'1932-01-01 00:00:00.000000',500,0,30000,10), + (36003,36002,954,'1932-01-01 00:00:00.000000',500,0,30000,10), + (36004,36002,955,'1940-01-01 00:00:00.000000',500,0,30000,10), + (36005,36002,956,'1940-01-01 00:00:00.000000',500,0,30000,10), + (36006,36002,957,'1957-01-01 00:00:00.000000',500,0,30000,15), + (36007,36002,958,'1963-01-01 00:00:00.000000',500,0,30000,3), + (36008,36002,959,'1963-01-01 00:00:00.000000',500,0,30000,4), + (36009,36002,960,'1970-01-01 00:00:00.000000',500,0,30000,4), + (36010,36002,961,'1969-01-01 00:00:00.000000',500,0,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36011,36002,1014,'1966-01-01 00:00:00.000000',500,0,30000,14), + (36012,36002,1015,'1967-01-01 00:00:00.000000',500,0,30000,14), + (36013,36002,1016,'1959-01-01 00:00:00.000000',500,0,30000,9), + (36014,36002,1017,'1967-01-01 00:00:00.000000',500,0,30000,2), + (36015,36002,1018,'1967-01-01 00:00:00.000000',500,0,30000,1), + (36016,36175,1019,'1966-01-01 00:00:00.000000',500,0,30000,18), + (36017,36002,1021,'1968-01-01 00:00:00.000000',500,0,30000,2), + (36018,36002,1020,'1970-01-01 00:00:00.000000',500,0,30000,2), + (36019,36002,1113,'1949-01-01 00:00:00.000000',500,0,30000,20), + (36020,36002,1114,'1955-01-01 00:00:00.000000',500,0,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36021,36002,1115,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36022,36002,1116,'1959-01-01 00:00:00.000000',500,0,30000,9), + (36023,36002,1117,'1962-01-01 00:00:00.000000',500,0,30000,6), + (36024,36002,1118,'1965-01-01 00:00:00.000000',500,0,30000,13), + (36025,36002,1119,'1965-01-01 00:00:00.000000',500,0,30000,5), + (36026,36002,1120,'1968-01-01 00:00:00.000000',500,0,30000,13), + (36027,36002,1121,'1969-01-01 00:00:00.000000',500,0,30000,6), + (36028,36002,1122,'1968-01-01 00:00:00.000000',500,0,30000,12), + (36029,36002,1123,'1973-01-01 00:00:00.000000',500,0,30000,13), + (36030,36003,1472,'1956-01-01 00:00:00.000000',500,0,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36031,36004,1474,'1955-01-01 00:00:00.000000',500,0,30000,6), + (36032,36005,1475,'1955-01-01 00:00:00.000000',500,0,30000,6), + (36033,36006,1476,'1955-01-01 00:00:00.000000',500,0,30000,6), + (36034,36007,1477,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36035,36008,1478,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36036,36009,1479,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36037,36010,1480,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36038,36011,1481,'1957-01-01 00:00:00.000000',500,0,30000,6), + (36039,36012,1482,'1958-01-01 00:00:00.000000',500,0,30000,6), + (36040,36013,1483,'1961-01-01 00:00:00.000000',500,0,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36041,36014,1484,'1961-01-01 00:00:00.000000',500,0,30000,6), + (36042,36015,1485,'1956-01-01 00:00:00.000000',500,0,30000,6), + (36043,36016,1486,'1965-01-01 00:00:00.000000',500,0,30000,6), + (36044,36017,1487,'1962-01-01 00:00:00.000000',500,0,30000,6), + (36045,36018,1488,'1962-01-01 00:00:00.000000',500,0,30000,6), + (36046,36019,1489,'1962-01-01 00:00:00.000000',500,0,30000,6), + (36047,36020,1490,'1964-01-01 00:00:00.000000',500,0,30000,6), + (36048,36021,1491,'1964-01-01 00:00:00.000000',500,0,30000,6), + (36049,36022,1492,'1967-01-01 00:00:00.000000',500,0,30000,6), + (36050,36023,1493,'1967-01-01 00:00:00.000000',500,0,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36051,36024,1494,'1969-01-01 00:00:00.000000',500,0,30000,6), + (36052,36025,1495,'1969-01-01 00:00:00.000000',500,0,30000,6), + (36053,36026,1496,'1970-01-01 00:00:00.000000',500,0,30000,6), + (36054,36027,1497,'1970-01-01 00:00:00.000000',500,0,30000,6), + (36055,36028,1498,'1970-01-01 00:00:00.000000',500,0,30000,6), + (36056,36029,1500,'1958-01-01 00:00:00.000000',500,0,30000,19), + (36057,36030,1501,'1958-01-01 00:00:00.000000',500,0,30000,19), + (36058,36031,1502,'1958-01-01 00:00:00.000000',500,0,30000,19), + (36059,36032,1503,'1958-01-01 00:00:00.000000',500,0,30000,19), + (36060,36033,1504,'1958-01-01 00:00:00.000000',500,0,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36061,36034,1505,'1959-01-01 00:00:00.000000',500,0,30000,19), + (36062,36035,1506,'1959-01-01 00:00:00.000000',500,0,30000,19), + (36063,36036,1507,'1960-01-01 00:00:00.000000',500,0,30000,19), + (36064,36037,1508,'1960-01-01 00:00:00.000000',500,0,30000,19), + (36065,36038,1509,'1961-01-01 00:00:00.000000',500,0,30000,19), + (36066,36039,1510,'1962-01-01 00:00:00.000000',500,0,30000,19), + (36067,36040,1511,'1962-01-01 00:00:00.000000',500,0,30000,19), + (36068,36041,1512,'1963-01-01 00:00:00.000000',500,0,30000,19), + (36069,36042,1513,'1963-01-01 00:00:00.000000',500,0,30000,19), + (36070,36044,1515,'1963-01-01 00:00:00.000000',500,0,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36071,36045,1518,'1965-01-01 00:00:00.000000',500,0,30000,5), + (36072,36046,1519,'1965-01-01 00:00:00.000000',500,0,30000,5), + (36073,36047,1520,'1965-01-01 00:00:00.000000',500,0,30000,5), + (36074,36048,1522,'1966-01-01 00:00:00.000000',500,0,30000,5), + (36075,36049,1523,'1966-01-01 00:00:00.000000',500,0,30000,5), + (36076,36050,1524,'1966-01-01 00:00:00.000000',500,0,30000,5), + (36077,36051,1525,'1967-01-01 00:00:00.000000',500,0,30000,5), + (36078,36052,1526,'1967-01-01 00:00:00.000000',500,0,30000,5), + (36079,36053,1527,'1967-01-01 00:00:00.000000',500,0,30000,5), + (36080,36054,1528,'1967-01-01 00:00:00.000000',500,0,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36081,36055,1529,'1969-01-01 00:00:00.000000',500,0,30000,5), + (36082,36056,1531,'1970-01-01 00:00:00.000000',500,0,30000,5), + (36083,36057,1532,'1970-01-01 00:00:00.000000',500,0,30000,5), + (36084,36058,1533,'1970-01-01 00:00:00.000000',500,0,30000,5), + (36085,36061,1534,'1971-01-01 00:00:00.000000',500,0,30000,5), + (36086,36059,1535,'1970-01-01 00:00:00.000000',500,0,30000,5), + (36087,36060,1536,'1970-01-01 00:00:00.000000',500,0,30000,5), + (36088,36062,1537,'1968-01-01 00:00:00.000000',500,0,30000,12), + (36089,36063,1539,'1968-01-01 00:00:00.000000',500,0,30000,12), + (36090,36064,1540,'1968-01-01 00:00:00.000000',500,0,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36091,36065,1541,'1968-01-01 00:00:00.000000',500,0,30000,12), + (36092,36066,1542,'1968-01-01 00:00:00.000000',500,0,30000,12), + (36093,36067,1543,'1965-01-01 00:00:00.000000',500,0,30000,12), + (36094,36068,1545,'1966-01-01 00:00:00.000000',500,0,30000,12), + (36095,36069,1546,'1966-01-01 00:00:00.000000',500,0,30000,12), + (36096,36070,1547,'1967-01-01 00:00:00.000000',500,0,30000,12), + (36097,36071,1548,'1967-01-01 00:00:00.000000',500,0,30000,12), + (36098,36072,1550,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36099,36073,1551,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36100,36074,1552,'1959-01-01 00:00:00.000000',500,0,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36101,36075,1553,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36102,36076,1554,'1960-01-01 00:00:00.000000',500,0,30000,13), + (36103,36077,1555,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36104,36078,1556,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36105,36079,1557,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36106,36080,1558,'1959-01-01 00:00:00.000000',500,0,30000,13), + (36107,36081,1562,'1960-01-01 00:00:00.000000',500,0,30000,13), + (36108,36082,1563,'1960-01-01 00:00:00.000000',500,0,30000,13), + (36109,36083,1564,'1960-01-01 00:00:00.000000',500,0,30000,13), + (36110,36084,1566,'1961-01-01 00:00:00.000000',500,0,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36111,36085,1567,'1962-01-01 00:00:00.000000',500,0,30000,13), + (36112,36086,1568,'1962-01-01 00:00:00.000000',500,0,30000,13), + (36113,36087,1569,'1963-01-01 00:00:00.000000',500,0,30000,13), + (36114,36088,1570,'1963-01-01 00:00:00.000000',500,0,30000,13), + (36115,36089,1571,'1963-01-01 00:00:00.000000',500,0,30000,13), + (36116,36090,1572,'1963-01-01 00:00:00.000000',500,0,30000,13), + (36117,36091,1575,'1967-01-01 00:00:00.000000',500,0,30000,13), + (36118,36092,1576,'1967-01-01 00:00:00.000000',500,0,30000,13), + (36119,36093,1577,'1967-01-01 00:00:00.000000',500,0,30000,13), + (36120,36094,1579,'1968-01-01 00:00:00.000000',500,0,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36121,36095,1581,'1969-01-01 00:00:00.000000',500,0,30000,13), + (36122,36096,1583,'1970-01-01 00:00:00.000000',500,0,30000,13), + (36123,36097,1584,'1970-01-01 00:00:00.000000',500,0,30000,13), + (36124,36098,1585,'1971-01-01 00:00:00.000000',500,0,30000,13), + (36125,36099,1586,'1973-01-01 00:00:00.000000',500,0,30000,13), + (36126,36100,1587,'1955-01-01 00:00:00.000000',500,0,30000,15), + (36127,36101,1588,'1955-01-01 00:00:00.000000',500,0,30000,15), + (36128,36102,1589,'1957-01-01 00:00:00.000000',500,0,30000,15), + (36129,36103,1590,'1956-01-01 00:00:00.000000',500,0,30000,15), + (36130,36104,1592,'1956-01-01 00:00:00.000000',500,0,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36131,36105,1593,'1957-01-01 00:00:00.000000',500,0,30000,15), + (36132,36106,1594,'1958-01-01 00:00:00.000000',500,0,30000,3), + (36133,36107,1595,'1960-01-01 00:00:00.000000',500,0,30000,3), + (36134,36108,1596,'1961-01-01 00:00:00.000000',500,0,30000,3), + (36135,36109,1597,'1961-01-01 00:00:00.000000',500,0,30000,3), + (36136,36110,1598,'1961-01-01 00:00:00.000000',500,0,30000,3), + (36137,36111,1599,'1961-01-01 00:00:00.000000',500,0,30000,3), + (36138,36112,1601,'1962-01-01 00:00:00.000000',500,0,30000,3), + (36139,36113,1602,'1962-01-01 00:00:00.000000',500,0,30000,3), + (36140,36114,1603,'1962-01-01 00:00:00.000000',500,0,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36141,36115,1604,'1966-01-01 00:00:00.000000',500,0,30000,3), + (36142,36116,1605,'1966-01-01 00:00:00.000000',500,0,30000,3), + (36143,36117,1606,'1966-01-01 00:00:00.000000',500,0,30000,3), + (36144,36118,1607,'1962-01-01 00:00:00.000000',500,0,30000,3), + (36145,36119,1608,'1962-01-01 00:00:00.000000',500,0,30000,3), + (36146,36120,1610,'1963-01-01 00:00:00.000000',500,0,30000,3), + (36147,36121,1611,'1965-01-01 00:00:00.000000',500,0,30000,3), + (36148,36122,1612,'1965-01-01 00:00:00.000000',500,0,30000,3), + (36149,36123,1614,'1965-01-01 00:00:00.000000',500,0,30000,3), + (36150,36124,1616,'1966-01-01 00:00:00.000000',500,0,32000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36151,36125,1617,'1966-01-01 00:00:00.000000',500,0,30000,3), + (36152,36126,1618,'1968-01-01 00:00:00.000000',500,0,30000,3), + (36153,36127,1619,'1969-01-01 00:00:00.000000',500,0,30000,3), + (36154,36128,1620,'1962-01-01 00:00:00.000000',500,0,30000,4), + (36155,36129,1621,'1963-01-01 00:00:00.000000',500,0,30000,4), + (36156,36130,1622,'1963-01-01 00:00:00.000000',500,0,30000,4), + (36157,36131,1625,'1965-01-01 00:00:00.000000',500,0,30000,4), + (36158,36132,1626,'1968-01-01 00:00:00.000000',500,0,30000,4), + (36159,36133,1627,'1968-01-01 00:00:00.000000',500,0,30000,4), + (36160,36134,1628,'1969-01-01 00:00:00.000000',500,0,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36161,36135,1630,'1969-01-01 00:00:00.000000',500,0,30000,4), + (36162,36136,1631,'1969-01-01 00:00:00.000000',500,0,30000,4), + (36163,36137,1632,'1971-01-01 00:00:00.000000',500,0,30000,4), + (36164,36138,1633,'1970-01-01 00:00:00.000000',500,0,30000,16), + (36165,36139,1634,'1970-01-01 00:00:00.000000',500,0,30000,16), + (36166,36140,1635,'1971-01-01 00:00:00.000000',500,0,30000,16), + (36167,36141,1636,'1971-01-01 00:00:00.000000',500,0,30000,16), + (36168,36142,1637,'1972-01-01 00:00:00.000000',500,0,30000,16), + (36169,36143,1638,'1972-01-01 00:00:00.000000',500,0,30000,16), + (36170,36144,1639,'1971-01-01 00:00:00.000000',500,0,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36171,36145,1640,'1972-01-01 00:00:00.000000',500,0,30000,16), + (36172,36146,1641,'1968-01-01 00:00:00.000000',500,0,30000,17), + (36173,36147,1642,'1969-01-01 00:00:00.000000',500,0,30000,17), + (36174,36148,1643,'1970-01-01 00:00:00.000000',500,0,30000,17), + (36175,36149,1644,'1970-01-01 00:00:00.000000',500,0,30000,17), + (36176,36150,1645,'1972-01-01 00:00:00.000000',500,0,30000,17), + (36177,36151,1646,'1969-01-01 00:00:00.000000',500,0,30000,17), + (36178,36152,1648,'1968-01-01 00:00:00.000000',500,0,30000,17), + (36179,36153,1649,'1972-01-01 00:00:00.000000',500,0,30000,17), + (36180,36154,1650,'1973-01-01 00:00:00.000000',500,0,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36181,36155,1651,'1960-01-01 00:00:00.000000',500,0,30000,1), + (36182,36156,1652,'1960-01-01 00:00:00.000000',500,0,30000,1), + (36183,36157,1653,'1965-01-01 00:00:00.000000',500,0,30000,1), + (36184,36158,1654,'1960-01-01 00:00:00.000000',500,0,30000,1), + (36185,36159,1656,'1971-01-01 00:00:00.000000',500,0,30000,1), + (36186,36160,1657,'1972-01-01 00:00:00.000000',500,0,30000,1), + (36187,36161,1658,'1974-01-01 00:00:00.000000',500,0,30000,1), + (36188,36162,1660,'1959-01-01 00:00:00.000000',500,0,30000,1), + (36189,36163,1661,'1959-01-01 00:00:00.000000',500,0,30000,1), + (36190,36164,1662,'1960-01-01 00:00:00.000000',500,0,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36191,36165,1663,'1960-01-01 00:00:00.000000',500,0,30000,1), + (36192,36166,1664,'1962-01-01 00:00:00.000000',500,0,30000,1), + (36193,36167,1665,'1962-01-01 00:00:00.000000',500,0,30000,1), + (36194,36168,1666,'1962-01-01 00:00:00.000000',500,0,30000,1), + (36195,36169,1667,'1963-01-01 00:00:00.000000',500,0,30000,1), + (36196,36170,1668,'1964-01-01 00:00:00.000000',500,0,30000,1), + (36197,36171,1669,'1964-01-01 00:00:00.000000',500,0,30000,1), + (36198,36172,1672,'1963-01-01 00:00:00.000000',500,0,30000,1), + (36199,36173,1673,'1963-01-01 00:00:00.000000',500,0,30000,1), + (36200,36174,1674,'1964-01-01 00:00:00.000000',500,0,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36201,36176,1676,'1966-01-01 00:00:00.000000',500,0,30000,1), + (36202,36177,1677,'1970-01-01 00:00:00.000000',500,0,30000,1), + (36203,36178,1679,'1968-01-01 00:00:00.000000',500,0,30000,14), + (36204,36179,1680,'1968-01-01 00:00:00.000000',500,0,30000,14), + (36205,36180,1681,'1970-01-01 00:00:00.000000',500,0,30000,14), + (36206,36181,1682,'1970-01-01 00:00:00.000000',500,0,30000,14), + (36207,36002,2032,'2000-01-01 00:00:00.000000',500,0,30000,0), + (36208,36182,2046,'1956-01-01 00:00:00.000000',500,0,30000,6), + (36209,36183,1514,'1963-01-01 00:00:00.000000',500,0,30000,19), + (36210,36184,2061,'1969-01-01 00:00:00.000000',500,0,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (36211,36185,2062,'1969-01-01 00:00:00.000000',500,0,30000,5), + (36212,36186,2082,'1969-01-01 00:00:00.000000',500,0,30000,13), + (36213,36187,2083,'1970-01-01 00:00:00.000000',500,0,30000,13), + (36214,36188,2089,'1960-01-01 00:00:00.000000',500,0,30000,3), + (36215,36189,2454,'1960-01-01 00:00:00.000000',0,0,30000,6), + (37001,37001,1565,'1999-01-01 00:00:00.000000',500,0,30000,0), + (39001,39001,525,'1999-01-01 00:00:00.000000',500,500,30000,0), + (40001,40001,527,'1999-01-01 00:00:00.000000',500,39,30000,0), + (40002,40002,827,'1932-01-01 00:00:00.000000',500,30,30000,0), + (40003,40003,833,'1940-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40004,40004,836,'1949-01-01 00:00:00.000000',500,30,30000,0), + (40005,40005,838,'1953-01-01 00:00:00.000000',500,30,30000,0), + (40006,40006,840,'1957-01-01 00:00:00.000000',500,30,30000,0), + (40007,40007,842,'1957-01-01 00:00:00.000000',500,30,30000,0), + (40008,40008,844,'1957-01-01 00:00:00.000000',100,30,30000,0), + (40009,40009,846,'1963-01-01 00:00:00.000000',100,30,30000,0), + (40010,40010,850,'1964-01-01 00:00:00.000000',500,30,30000,0), + (40011,40011,848,'1964-01-01 00:00:00.000000',500,30,30000,0), + (40012,40012,852,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40013,40013,854,'1970-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40014,40014,536,'1947-01-01 00:00:00.000000',500,30,30000,0), + (40015,40015,537,'1955-01-01 00:00:00.000000',500,30,30000,0), + (40016,40016,538,'1957-01-01 00:00:00.000000',500,30,30000,0), + (40017,40017,539,'1957-01-01 00:00:00.000000',500,30,30000,0), + (40018,40018,540,'1957-01-01 00:00:00.000000',500,30,30000,0), + (40019,40019,541,'1958-01-01 00:00:00.000000',500,30,30000,0), + (40020,40020,542,'1959-01-01 00:00:00.000000',500,30,30000,0), + (40021,40021,543,'1963-01-01 00:00:00.000000',500,30,30000,0), + (40022,40022,544,'1964-01-01 00:00:00.000000',500,30,30000,0), + (40023,40023,545,'1966-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40024,40024,546,'1967-01-01 00:00:00.000000',500,30,30000,0), + (40025,40025,547,'1967-01-01 00:00:00.000000',500,30,30000,0), + (40026,40026,548,'1969-01-01 00:00:00.000000',500,30,30000,0), + (40027,40027,549,'1969-01-01 00:00:00.000000',500,30,30000,0), + (40028,40028,550,'1970-01-01 00:00:00.000000',500,30,30000,0), + (40029,40029,551,'1970-01-01 00:00:00.000000',500,30,30000,0), + (40030,40030,552,'1970-01-01 00:00:00.000000',500,30,30000,0), + (40031,40031,553,'1973-01-01 00:00:00.000000',500,30,30000,0), + (40032,40032,554,'1969-01-01 00:00:00.000000',500,30,30000,0), + (40033,40033,555,'1969-01-01 00:00:00.000000',500,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40034,40034,556,'1969-01-01 00:00:00.000000',500,30,30000,0), + (40035,40035,557,'1970-01-01 00:00:00.000000',500,30,30000,0), + (40036,40036,558,'1971-01-01 00:00:00.000000',500,30,30000,0), + (40037,40037,253,'1963-01-01 00:00:00.000000',100,30,30000,0), + (40038,40038,263,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40039,40039,265,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40040,40040,264,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40041,40041,257,'1967-01-01 00:00:00.000000',100,30,30000,0), + (40042,40042,256,'1967-01-01 00:00:00.000000',100,30,30000,0), + (40043,40043,251,'1957-01-01 00:00:00.000000',100,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40044,40044,254,'1964-01-01 00:00:00.000000',100,30,30000,0), + (40045,40045,252,'1963-01-01 00:00:00.000000',100,30,30000,0), + (40046,40046,262,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40047,40047,271,'1973-01-01 00:00:00.000000',50,30,30000,0), + (40048,40048,255,'1966-01-01 00:00:00.000000',100,30,30000,0), + (40049,40049,260,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40050,40050,259,'1969-01-01 00:00:00.000000',50,30,30000,0), + (40051,40051,258,'1969-01-01 00:00:00.000000',100,30,30000,0), + (40052,40052,261,'1970-01-01 00:00:00.000000',100,30,30000,0), + (40053,40053,266,'1970-01-01 00:00:00.000000',100,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (40054,40054,267,'1970-01-01 00:00:00.000000',100,40,30000,0), + (40055,40055,270,'1973-01-01 00:00:00.000000',50,30,30000,0), + (40056,40056,269,'1970-01-01 00:00:00.000000',100,30,30000,0), + (40057,40057,408,'1958-01-01 00:00:00.000000',100,30,30000,0), + (40058,40058,268,'1970-01-01 00:00:00.000000',100,30,30000,0), + (40059,40059,1185,'1957-01-01 00:00:00.000000',100,30,30000,0), + (40060,40060,2154,'1965-01-01 00:00:00.000000',50,50,30000,0), + (40061,40061,2216,'1950-01-01 00:00:00.000000',500,50,30000,0), + (40062,40062,2876,'1970-01-01 00:00:00.000000',100,30,30000,0), + (100001,100001,190,'1999-01-01 00:00:00.000000',1000,30,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100002,100002,857,'1932-01-01 00:00:00.000000',1000,36,30000,0), + (100003,100003,856,'1967-01-01 00:00:00.000000',1000,36,30000,0), + (100004,100004,456,'1999-01-01 00:00:00.000000',500,505,30000,0), + (100005,100005,457,'1999-01-01 00:00:00.000000',100,2504,30000,0), + (100006,100006,2219,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100007,100066,2279,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100008,100067,2280,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100009,100068,2281,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100010,100069,2282,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100011,100070,2283,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100012,100071,2284,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100013,100072,2285,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100014,100073,2286,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100015,100074,2287,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100016,100075,2288,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100017,100076,2289,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100018,100077,2290,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100019,100078,2291,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100020,100079,2292,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100021,100080,2293,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100022,100081,2294,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100023,100082,2295,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100024,100083,2296,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100025,100084,2297,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100026,100085,2298,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100027,100086,2299,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100028,100087,2300,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100029,100088,2301,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100030,100089,2302,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100031,100090,2303,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100032,100091,2304,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100033,100092,2305,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100034,100006,2219,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100035,100007,2220,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100036,100008,2221,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100037,100009,2222,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100038,100010,2223,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100039,100011,2224,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100040,100012,2225,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100041,100013,2226,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100042,100014,2227,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100043,100015,2228,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100044,100016,2229,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100045,100017,2230,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100046,100018,2231,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100047,100019,2232,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100048,100020,2233,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100049,100021,2234,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100050,100022,2235,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100051,100023,2236,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100052,100024,2237,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100053,100025,2238,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100054,100026,2239,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100055,100027,2240,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100056,100028,2241,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100057,100029,2242,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100058,100030,2243,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100059,100031,2244,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100060,100032,2245,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100061,100033,2246,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100062,100034,2247,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100063,100035,2248,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100064,100036,2249,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100065,100037,2250,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100066,100038,2251,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100067,100039,2252,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100068,100040,2253,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100069,100041,2254,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100070,100042,2255,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100071,100043,2256,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100072,100044,2257,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100073,100045,2258,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100074,100046,2259,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100075,100047,2260,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100076,100048,2261,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100077,100049,2262,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100078,100050,2263,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100079,100051,2264,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100080,100052,2265,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100081,100053,2266,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100082,100054,2267,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100083,100055,2268,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100084,100056,2269,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100085,100057,2270,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100086,100058,2271,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100087,100059,2272,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100088,100060,2273,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100089,100061,2274,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100090,100062,2275,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100091,100063,2276,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100092,100064,2277,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100093,100106,2321,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100094,100107,2322,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100095,100108,2323,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100096,100109,2324,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100097,100110,2325,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100098,100111,2326,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100099,100112,2327,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100100,100113,2328,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100101,100114,2329,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100102,100115,2330,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100103,100116,2331,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100104,100117,2332,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100105,100118,2333,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100106,100119,2334,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100107,100120,2335,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100108,100121,2336,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100109,100122,2337,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100110,100123,2338,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100111,100124,2339,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100112,100125,2340,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100113,100126,2341,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100114,100127,2342,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100115,100128,2343,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100116,100129,2344,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100117,100130,2345,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100118,100131,2346,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100119,100132,2347,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100120,100133,2348,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100121,100134,2349,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100122,100135,2350,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100123,100093,2308,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100124,100094,2309,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100125,100095,2310,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100126,100096,2311,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100127,100097,2312,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100128,100098,2313,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100129,100099,2314,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100130,100100,2315,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100131,100101,2316,'2001-01-01 00:00:00.000000',1000,36,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100132,100102,2317,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100133,100103,2318,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100134,100104,2319,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100135,100105,2320,'2001-01-01 00:00:00.000000',1000,36,30000,0), + (100136,100136,2450,'1970-01-01 00:00:00.000000',0,36,30000,0), + (100137,100137,3648,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100138,100138,3649,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100139,100139,3702,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100140,100140,3703,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100141,100141,3704,'2001-01-01 00:00:00.000000',500,505,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (100142,100142,3707,'2001-01-01 00:00:00.000000',500,505,30000,0), + (100143,100143,3708,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100144,100144,3709,'2000-01-01 00:00:00.000000',500,505,30000,0), + (100145,100145,3710,'2000-01-01 00:00:00.000000',500,505,30000,0), + (110001,110001,209,'1932-01-01 00:00:00.000000',1,107,30000,0), + (110002,110002,680,'1950-01-01 00:00:00.000000',1,47,30000,0), + (110003,110003,681,'1950-01-01 00:00:00.000000',1,65,30000,0), + (110004,110004,682,'1950-01-01 00:00:00.000000',1,87,30000,0), + (110005,110005,683,'1950-01-01 00:00:00.000000',1,97,30000,0), + (110006,110006,684,'1950-01-01 00:00:00.000000',1,99,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110007,110007,685,'1950-01-01 00:00:00.000000',1,62,30000,0), + (110008,110008,686,'1950-01-01 00:00:00.000000',1,65,30000,0), + (110009,110009,687,'1950-01-01 00:00:00.000000',1,87,30000,0), + (110010,110010,688,'1950-01-01 00:00:00.000000',1,97,30000,0), + (110011,110011,689,'1950-01-01 00:00:00.000000',1,114,30000,0), + (110012,110012,690,'1950-01-01 00:00:00.000000',1,95,30000,0), + (110013,110013,691,'1950-01-01 00:00:00.000000',1,127,30000,0), + (110014,110014,692,'1950-01-01 00:00:00.000000',1,129,30000,0), + (110015,110015,693,'1950-01-01 00:00:00.000000',1,62,30000,0), + (110016,110016,694,'1950-01-01 00:00:00.000000',1,80,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110017,110017,695,'1950-01-01 00:00:00.000000',1,112,30000,0), + (110018,110018,696,'1950-01-01 00:00:00.000000',1,92,30000,0), + (110019,110019,697,'1950-01-01 00:00:00.000000',1,95,30000,0), + (110020,110020,698,'1950-01-01 00:00:00.000000',1,142,30000,0), + (110021,110021,699,'1950-01-01 00:00:00.000000',1,159,30000,0), + (110022,110022,700,'1960-01-01 00:00:00.000000',500,184,30000,0), + (110023,110023,701,'1960-01-01 00:00:00.000000',1000,204,30000,0), + (110024,110024,702,'1960-01-01 00:00:00.000000',500,225,30000,0), + (110025,110025,703,'1960-01-01 00:00:00.000000',500,112,30000,0), + (110026,110026,704,'1960-01-01 00:00:00.000000',1000,122,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110027,110027,705,'1960-01-01 00:00:00.000000',500,132,30000,0), + (110028,110028,706,'1960-01-01 00:00:00.000000',500,143,30000,0), + (110029,110029,707,'1960-01-01 00:00:00.000000',500,153,30000,0), + (110030,110030,708,'1960-01-01 00:00:00.000000',500,91,30000,0), + (110031,110031,709,'1960-01-01 00:00:00.000000',500,102,30000,0), + (110032,110032,710,'1960-01-01 00:00:00.000000',500,112,30000,0), + (110033,110033,711,'1960-01-01 00:00:00.000000',500,122,30000,0), + (110034,110034,712,'1960-01-01 00:00:00.000000',500,132,30000,0), + (110035,110035,713,'1960-01-01 00:00:00.000000',500,102,30000,0), + (110036,110036,714,'1960-01-01 00:00:00.000000',500,122,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110037,110037,715,'1960-01-01 00:00:00.000000',1000,204,30000,0), + (110038,110038,716,'1960-01-01 00:00:00.000000',1000,224,30000,0), + (110039,110039,717,'1960-01-01 00:00:00.000000',1000,245,30000,0), + (110040,110040,718,'1960-01-01 00:00:00.000000',1000,255,30000,0), + (110041,110041,719,'1960-01-01 00:00:00.000000',1000,152,30000,0), + (110042,110042,720,'1960-01-01 00:00:00.000000',1000,173,30000,0), + (110043,110043,721,'1960-01-01 00:00:00.000000',1000,183,30000,0), + (110044,110044,722,'1960-01-01 00:00:00.000000',1000,142,30000,0), + (110045,110045,723,'1960-01-01 00:00:00.000000',500,162,30000,0), + (110046,110046,724,'1960-01-01 00:00:00.000000',1000,183,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110047,110047,725,'1960-01-01 00:00:00.000000',1000,132,30000,0), + (110048,110048,726,'1960-01-01 00:00:00.000000',1000,152,30000,0), + (110049,110049,727,'1960-01-01 00:00:00.000000',1000,173,30000,0), + (110050,110050,728,'1960-01-01 00:00:00.000000',1000,183,30000,0), + (110051,110051,729,'1970-01-01 00:00:00.000000',500,283,30000,0), + (110052,110052,730,'1970-01-01 00:00:00.000000',500,300,30000,0), + (110053,110053,731,'1970-01-01 00:00:00.000000',500,262,30000,0), + (110054,110054,732,'1970-01-01 00:00:00.000000',500,279,30000,0), + (110055,110055,733,'1970-01-01 00:00:00.000000',500,250,30000,0), + (110056,110056,734,'1970-01-01 00:00:00.000000',500,258,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110057,110057,735,'1970-01-01 00:00:00.000000',500,322,30000,0), + (110058,110058,736,'1970-01-01 00:00:00.000000',500,339,30000,0), + (110059,110059,737,'1970-01-01 00:00:00.000000',500,300,30000,0), + (110060,110060,738,'1970-01-01 00:00:00.000000',500,309,30000,0), + (110061,110061,739,'1970-01-01 00:00:00.000000',500,326,30000,0), + (110062,110062,740,'1970-01-01 00:00:00.000000',500,288,30000,0), + (110063,110063,741,'1970-01-01 00:00:00.000000',500,297,30000,0), + (110064,110064,742,'1970-01-01 00:00:00.000000',500,314,30000,0), + (110065,110065,743,'1970-01-01 00:00:00.000000',500,369,30000,0), + (110066,110066,744,'1970-01-01 00:00:00.000000',500,399,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110067,110067,745,'1970-01-01 00:00:00.000000',500,407,30000,0), + (110068,110068,746,'1970-01-01 00:00:00.000000',500,437,30000,0), + (110069,110069,747,'1970-01-01 00:00:00.000000',250,690,30000,0), + (110070,110070,748,'1970-01-01 00:00:00.000000',250,652,30000,0), + (110071,110071,749,'1970-01-01 00:00:00.000000',250,660,30000,0), + (110072,110072,750,'1970-01-01 00:00:00.000000',250,669,30000,0), + (110073,110073,751,'1970-01-01 00:00:00.000000',250,613,30000,0), + (110074,110074,752,'1970-01-01 00:00:00.000000',250,622,30000,0), + (110075,110075,753,'1970-01-01 00:00:00.000000',250,630,30000,0), + (110076,110076,754,'1970-01-01 00:00:00.000000',250,639,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110077,110077,755,'1970-01-01 00:00:00.000000',250,738,30000,0), + (110078,110078,756,'1970-01-01 00:00:00.000000',250,699,30000,0), + (110079,110079,757,'1970-01-01 00:00:00.000000',250,708,30000,0), + (110080,110080,758,'1975-01-01 00:00:00.000000',250,780,30000,0), + (110081,110081,759,'1975-01-01 00:00:00.000000',250,788,30000,0), + (110082,110082,760,'1975-01-01 00:00:00.000000',250,750,30000,0), + (110083,110083,761,'1975-01-01 00:00:00.000000',250,758,30000,0), + (110084,110084,762,'1975-01-01 00:00:00.000000',250,767,30000,0), + (110085,110085,763,'1975-01-01 00:00:00.000000',250,711,30000,0), + (110086,110086,764,'1975-01-01 00:00:00.000000',250,720,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110087,110087,765,'1975-01-01 00:00:00.000000',250,728,30000,0), + (110088,110088,766,'1975-01-01 00:00:00.000000',250,737,30000,0), + (110089,110089,767,'1975-01-01 00:00:00.000000',250,908,30000,0), + (110090,110090,768,'1975-01-01 00:00:00.000000',250,917,30000,0), + (110091,110091,770,'1975-01-01 00:00:00.000000',250,878,30000,0), + (110092,110092,771,'1975-01-01 00:00:00.000000',266,887,30000,0), + (110093,110093,772,'1975-01-01 00:00:00.000000',250,848,30000,0), + (110094,110094,773,'1975-01-01 00:00:00.000000',250,865,30000,0), + (110095,110095,774,'1975-01-01 00:00:00.000000',250,883,30000,0), + (110096,110096,775,'1975-01-01 00:00:00.000000',250,818,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110097,110097,776,'1975-01-01 00:00:00.000000',250,827,30000,0), + (110098,110098,777,'1975-01-01 00:00:00.000000',250,835,30000,0), + (110099,110099,778,'1975-01-01 00:00:00.000000',250,797,30000,0), + (110100,110100,779,'1975-01-01 00:00:00.000000',250,805,30000,0), + (110101,110101,780,'1975-01-01 00:00:00.000000',250,814,30000,0), + (110102,110102,781,'1975-01-01 00:00:00.000000',250,947,30000,0), + (110103,110103,782,'1975-01-01 00:00:00.000000',250,964,30000,0), + (110104,110104,783,'1975-01-01 00:00:00.000000',250,981,30000,0), + (110105,110105,784,'1975-01-01 00:00:00.000000',250,917,30000,0), + (110106,110106,785,'1975-01-01 00:00:00.000000',250,925,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110107,110107,786,'1975-01-01 00:00:00.000000',250,934,30000,0), + (110108,110108,787,'1975-01-01 00:00:00.000000',250,943,30000,0), + (110109,110109,788,'1975-01-01 00:00:00.000000',250,1063,30000,0), + (110110,110110,789,'1975-01-01 00:00:00.000000',125,1279,30000,0), + (110111,110111,790,'1975-01-01 00:00:00.000000',125,1288,30000,0), + (110112,110112,791,'1975-01-01 00:00:00.000000',125,1249,30000,0), + (110113,110113,792,'1975-01-01 00:00:00.000000',125,1258,30000,0), + (110114,110114,793,'1975-01-01 00:00:00.000000',125,1267,30000,0), + (110115,110115,794,'1975-01-01 00:00:00.000000',125,1211,30000,0), + (110116,110116,795,'1975-01-01 00:00:00.000000',125,1219,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110117,110117,796,'1975-01-01 00:00:00.000000',125,1228,30000,0), + (110118,110118,797,'1975-01-01 00:00:00.000000',125,1237,30000,0), + (110119,110119,798,'1975-01-01 00:00:00.000000',125,1408,30000,0), + (110120,110120,799,'1975-01-01 00:00:00.000000',125,1378,30000,0), + (110121,110121,800,'1975-01-01 00:00:00.000000',125,1387,30000,0), + (110122,110120,799,'1975-01-01 00:00:00.000000',125,1378,30000,0), + (110123,110122,801,'1975-01-01 00:00:00.000000',125,1348,30000,0), + (110124,110123,802,'1975-01-01 00:00:00.000000',125,1365,30000,0), + (110125,110124,803,'1975-01-01 00:00:00.000000',125,1382,30000,0), + (110126,110125,804,'1975-01-01 00:00:00.000000',125,1318,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110127,110126,805,'1975-01-01 00:00:00.000000',125,1335,30000,0), + (110128,110127,806,'1975-01-01 00:00:00.000000',125,1297,30000,0), + (110129,110128,807,'1975-01-01 00:00:00.000000',125,1305,30000,0), + (110130,110129,808,'1975-01-01 00:00:00.000000',125,1314,30000,0), + (110131,110130,809,'1975-01-01 00:00:00.000000',125,1447,30000,0), + (110132,110131,810,'1975-01-01 00:00:00.000000',125,1464,30000,0), + (110133,110132,811,'1975-01-01 00:00:00.000000',125,1417,30000,0), + (110134,110133,812,'1975-01-01 00:00:00.000000',125,1425,30000,0), + (110135,110134,813,'1975-01-01 00:00:00.000000',125,1434,30000,0), + (110136,110135,814,'1975-01-01 00:00:00.000000',125,1442,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110137,110136,962,'1950-01-01 00:00:00.000000',2,172,30000,0), + (110138,110137,1687,'1969-01-01 00:00:00.000000',0,994,30000,0), + (110139,110138,1743,'1995-01-01 00:00:00.000000',0,1781,30000,0), + (110140,110139,2389,'2001-03-22 00:00:00.000000',125,248,30000,0), + (110141,110140,2422,'1970-01-01 00:00:00.000000',0,591,30000,0), + (110142,110141,2433,'1960-01-01 00:00:00.000000',250,134,30000,0), + (110143,110142,2434,'1960-01-01 00:00:00.000000',250,139,30000,0), + (110144,110143,2435,'1960-01-01 00:00:00.000000',250,147,30000,0), + (110145,110144,2436,'1960-01-01 00:00:00.000000',250,156,30000,0), + (110146,110145,2437,'1960-01-01 00:00:00.000000',250,167,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110147,110146,2438,'1960-01-01 00:00:00.000000',250,172,30000,0), + (110148,110147,2439,'1960-01-01 00:00:00.000000',250,182,30000,0), + (110149,110148,2440,'1960-01-01 00:00:00.000000',250,245,30000,0), + (110150,110149,2441,'1960-01-01 00:00:00.000000',250,255,30000,0), + (110151,110150,2442,'1960-01-01 00:00:00.000000',250,239,30000,0), + (110152,110151,2616,'1960-01-01 00:00:00.000000',500,274,30000,0), + (110153,110152,2615,'1960-01-01 00:00:00.000000',500,292,30000,0), + (110154,110153,2614,'1960-01-01 00:00:00.000000',500,313,30000,0), + (110155,110154,2613,'1960-01-01 00:00:00.000000',500,322,30000,0), + (110156,110155,2612,'1960-01-01 00:00:00.000000',500,313,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110157,110156,2611,'1960-01-01 00:00:00.000000',500,330,30000,0), + (110158,110157,2610,'1960-01-01 00:00:00.000000',500,352,30000,0), + (110159,110158,2609,'1960-01-01 00:00:00.000000',500,360,30000,0), + (110160,110159,2608,'1960-01-01 00:00:00.000000',500,369,30000,0), + (110161,110160,2607,'1960-01-01 00:00:00.000000',500,382,30000,0), + (110162,110161,2606,'1960-01-01 00:00:00.000000',500,390,30000,0), + (110163,110162,2605,'1960-01-01 00:00:00.000000',500,412,30000,0), + (110164,110163,2604,'1960-01-01 00:00:00.000000',500,420,30000,0), + (110165,110164,2603,'1960-01-01 00:00:00.000000',500,437,30000,0), + (110166,110165,2602,'1960-01-01 00:00:00.000000',125,810,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110167,110166,2601,'1960-01-01 00:00:00.000000',125,818,30000,0), + (110168,110167,2600,'1960-01-01 00:00:00.000000',125,835,30000,0), + (110169,110168,2599,'1960-01-01 00:00:00.000000',125,938,30000,0), + (110170,110169,2660,'1978-01-01 00:00:00.000000',0,1841,30000,0), + (110171,110170,2661,'1978-01-01 00:00:00.000000',0,1704,30000,0), + (110172,110172,3035,'1978-01-01 00:00:00.000000',0,5340,30000,0), + (110173,110171,3034,'1978-01-01 00:00:00.000000',0,5203,30000,0), + (110174,110173,3033,'1995-01-01 00:00:00.000000',0,5280,30000,0), + (110175,110174,3626,'1995-01-01 00:00:00.000000',0,1884,30000,0), + (110176,110175,3627,'1995-01-01 00:00:00.000000',0,1836,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110177,110176,3628,'1995-01-01 00:00:00.000000',0,1815,30000,0), + (110178,110177,3629,'1995-01-01 00:00:00.000000',0,1845,30000,0), + (110179,110178,3630,'1995-01-01 00:00:00.000000',0,1824,30000,0), + (110180,110179,3631,'1995-01-01 00:00:00.000000',0,1862,30000,0), + (110181,110180,3632,'1995-01-01 00:00:00.000000',0,1871,30000,0), + (110182,110181,3633,'1995-01-01 00:00:00.000000',0,1879,30000,0), + (110183,110182,3634,'1995-01-01 00:00:00.000000',0,1888,30000,0), + (110184,110183,3635,'1995-01-01 00:00:00.000000',0,1776,30000,0), + (110185,110184,3636,'1995-01-01 00:00:00.000000',0,1785,30000,0), + (110186,110185,3637,'1995-01-01 00:00:00.000000',0,1815,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110187,110186,3638,'1995-01-01 00:00:00.000000',0,1794,30000,0), + (110188,110187,3639,'1995-01-01 00:00:00.000000',0,1824,30000,0), + (110189,110188,3640,'1995-01-01 00:00:00.000000',0,1832,30000,0), + (110190,110189,3641,'1995-01-01 00:00:00.000000',0,1811,30000,0), + (110191,110190,3642,'1995-01-01 00:00:00.000000',0,1716,30000,0), + (110192,110191,3643,'1995-01-01 00:00:00.000000',0,1746,30000,0), + (110193,110192,3644,'1995-01-01 00:00:00.000000',0,1776,30000,0), + (110194,110193,3645,'1995-01-01 00:00:00.000000',0,1725,30000,0), + (110195,110194,3646,'1995-01-01 00:00:00.000000',0,1785,30000,0), + (110196,110195,3647,'1995-01-01 00:00:00.000000',0,1764,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (110197,110201,3765,'1965-01-01 00:00:00.000000',125,412,30000,0), + (110198,110200,3766,'1965-01-01 00:00:00.000000',125,403,30000,0), + (110199,110199,3767,'1965-01-01 00:00:00.000000',125,395,30000,0), + (110200,110198,3768,'1965-01-01 00:00:00.000000',60,438,30000,0), + (110201,110197,3769,'1965-01-01 00:00:00.000000',60,420,30000,0), + (110202,110196,3770,'1965-01-01 00:00:00.000000',250,386,30000,0), + (130001,130001,121,'1999-01-01 00:00:00.000000',500,1234,30000,0), + (130002,130002,122,'1999-01-01 00:00:00.000000',1000,1298,30000,0), + (130003,130003,123,'1999-01-01 00:00:00.000000',125,1744,30000,0), + (130004,130004,124,'1999-01-01 00:00:00.000000',500,1357,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130005,130005,125,'1999-01-01 00:00:00.000000',500,1282,30000,0), + (130006,130006,126,'1999-01-01 00:00:00.000000',250,1859,30000,0), + (130007,130007,127,'1999-01-01 00:00:00.000000',125,1490,30000,0), + (130008,130008,128,'1999-01-01 00:00:00.000000',125,1474,30000,0), + (130009,130009,129,'1999-01-01 00:00:00.000000',250,1681,30000,0), + (130010,130010,130,'1999-01-01 00:00:00.000000',125,1859,30000,0), + (130011,130011,131,'1999-01-01 00:00:00.000000',250,2360,30000,0), + (130012,130051,864,'1932-01-01 00:00:00.000000',1000,684,30000,0), + (130013,130013,132,'1999-01-01 00:00:00.000000',125,2012,30000,0), + (130014,130014,133,'1999-01-01 00:00:00.000000',125,1887,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130015,130015,134,'1999-01-01 00:00:00.000000',250,1570,30000,0), + (130016,130016,135,'1999-01-01 00:00:00.000000',250,1700,30000,0), + (130017,130017,136,'1999-01-01 00:00:00.000000',250,1999,30000,0), + (130018,130018,137,'1999-01-01 00:00:00.000000',250,1581,30000,0), + (130019,130019,138,'1999-01-01 00:00:00.000000',500,1342,30000,0), + (130020,130020,139,'1999-01-01 00:00:00.000000',250,1576,30000,0), + (130021,130021,227,'1957-01-01 00:00:00.000000',1000,1058,30000,0), + (130022,130022,247,'1957-01-01 00:00:00.000000',500,1355,30000,0), + (130023,130023,248,'1957-01-01 00:00:00.000000',500,1206,30000,0), + (130024,130024,249,'1957-01-01 00:00:00.000000',500,1576,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130025,130025,250,'1957-05-01 00:00:00.000000',125,1162,30000,0), + (130026,130026,873,'1957-01-01 00:00:00.000000',500,1191,30000,0), + (130027,130029,423,'1966-01-01 00:00:00.000000',500,2179,30000,0), + (130028,130028,422,'1963-01-01 00:00:00.000000',250,2211,30000,0), + (130029,130030,424,'1966-01-01 00:00:00.000000',250,2027,30000,0), + (130030,130031,425,'1999-01-01 00:00:00.000000',60,4490,30000,0), + (130031,130032,426,'1999-01-01 00:00:00.000000',0,2608,30000,0), + (130032,130033,427,'1963-01-01 00:00:00.000000',1000,1033,30000,0), + (130033,130034,428,'1969-01-01 00:00:00.000000',500,1186,30000,0), + (130034,130035,867,'1965-01-01 00:00:00.000000',500,1161,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130035,130036,866,'1957-01-01 00:00:00.000000',60,2906,30000,0), + (130036,130037,429,'1957-01-01 00:00:00.000000',60,3709,30000,0), + (130037,130038,430,'1957-01-01 00:00:00.000000',30,3072,30000,0), + (130038,130039,431,'1959-01-01 00:00:00.000000',60,3262,30000,0), + (130039,130040,868,'1964-01-01 00:00:00.000000',500,1397,30000,0), + (130040,130041,432,'1977-01-01 00:00:00.000000',250,1919,30000,0), + (130041,130042,433,'1979-01-01 00:00:00.000000',500,1739,30000,0), + (130042,130043,872,'1957-01-01 00:00:00.000000',1000,996,30000,0), + (130043,130044,435,'1964-01-01 00:00:00.000000',250,1589,30000,0), + (130044,130045,499,'1999-01-01 00:00:00.000000',250,2155,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130045,130046,500,'1999-01-01 00:00:00.000000',125,1281,30000,0), + (130046,130047,874,'1999-01-01 00:00:00.000000',500,3450,30000,0), + (130047,130048,865,'1999-01-01 00:00:00.000000',1000,1033,30000,0), + (130048,130049,1034,'1969-01-01 00:00:00.000000',125,1522,30000,0), + (130049,130012,1158,'1957-01-01 00:00:00.000000',1000,1263,30000,0), + (130050,130027,1159,'1963-01-01 00:00:00.000000',500,1925,30000,0), + (130051,130050,1746,'1995-01-01 00:00:00.000000',30,6341,30000,0), + (130052,130052,2801,'1972-01-01 00:00:00.000000',0,3382,30000,0), + (130053,130053,2802,'1972-01-01 00:00:00.000000',0,2960,30000,0), + (130054,130054,3762,'1965-01-01 00:00:00.000000',125,3163,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (130055,130055,3763,'1967-01-01 00:00:00.000000',125,1331,30000,0), + (130056,130056,3764,'1967-01-01 00:00:00.000000',125,2695,30000,0), + (130057,130057,3772,'1955-01-01 00:00:00.000000',1000,1497,30000,0), + (140001,140001,140,'1999-01-01 00:00:00.000000',250,725,30000,0), + (140002,140002,141,'1999-01-01 00:00:00.000000',500,774,30000,0), + (140003,140003,142,'1999-01-01 00:00:00.000000',1000,790,30000,0), + (140004,140004,143,'1999-01-01 00:00:00.000000',1000,846,30000,0), + (140005,140005,144,'1999-01-01 00:00:00.000000',500,865,30000,0), + (140006,140006,145,'1999-01-01 00:00:00.000000',500,892,30000,0), + (140007,140007,146,'1999-01-01 00:00:00.000000',250,911,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (140008,140008,147,'1999-01-01 00:00:00.000000',250,921,30000,0), + (140009,140009,148,'1999-01-01 00:00:00.000000',250,923,30000,0), + (140010,140010,149,'1999-01-01 00:00:00.000000',250,945,30000,0), + (140011,140011,150,'1999-01-01 00:00:00.000000',250,960,30000,0), + (140012,140012,151,'1999-01-01 00:00:00.000000',250,977,30000,0), + (140013,140013,152,'1999-01-01 00:00:00.000000',125,1008,30000,0), + (140014,140014,153,'1999-01-01 00:00:00.000000',60,1558,30000,0), + (140015,140015,154,'1999-01-01 00:00:00.000000',60,1642,30000,0), + (140016,140016,440,'1957-01-01 00:00:00.000000',1000,815,30000,0), + (140017,140017,869,'1957-01-01 00:00:00.000000',250,926,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (140018,140018,441,'1955-01-01 00:00:00.000000',500,887,30000,0), + (140019,140019,870,'1999-01-01 00:00:00.000000',1000,851,30000,0), + (140020,140020,871,'1999-01-01 00:00:00.000000',125,1010,30000,0), + (140021,140021,1160,'1957-01-01 00:00:00.000000',250,962,30000,0), + (140022,140022,2152,'1960-01-01 00:00:00.000000',1000,807,30000,0), + (140023,140023,2195,'1932-01-01 00:00:00.000000',125,454,30000,0), + (140024,140024,2198,'1949-01-01 00:00:00.000000',125,430,30000,0), + (140025,140025,2199,'1940-01-01 00:00:00.000000',125,360,30000,0), + (140026,140026,2774,'1965-01-01 00:00:00.000000',125,1187,30000,0), + (140027,140027,2775,'1965-01-01 00:00:00.000000',125,1256,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (140028,140028,2776,'1965-01-01 00:00:00.000000',125,1322,30000,0), + (140029,140029,2777,'1965-01-01 00:00:00.000000',125,1358,30000,0), + (140030,140030,2778,'1965-01-01 00:00:00.000000',125,1424,30000,0), + (140031,140031,2779,'1965-01-01 00:00:00.000000',60,1558,30000,0), + (140032,140032,2780,'1965-01-01 00:00:00.000000',1000,810,30000,0), + (140033,140033,2781,'1965-01-01 00:00:00.000000',1000,856,30000,0), + (140034,140034,2782,'1965-01-01 00:00:00.000000',500,899,30000,0), + (140035,140035,2783,'1965-01-01 00:00:00.000000',250,923,30000,0), + (140036,140036,2784,'1965-01-01 00:00:00.000000',250,967,30000,0), + (140037,140037,2785,'1965-01-01 00:00:00.000000',125,1056,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (140038,140038,2786,'1965-01-01 00:00:00.000000',250,725,30000,0), + (140039,140039,2787,'1965-01-01 00:00:00.000000',1000,810,30000,0), + (140040,140040,2788,'1965-01-01 00:00:00.000000',500,878,30000,0), + (140041,140041,2789,'1965-01-01 00:00:00.000000',250,923,30000,0), + (140042,140042,2790,'1965-01-01 00:00:00.000000',250,960,30000,0), + (140043,140048,2791,'1965-01-01 00:00:00.000000',125,1060,30000,0), + (140044,140043,2792,'1965-01-01 00:00:00.000000',125,1184,30000,0), + (140045,140044,2793,'1965-01-01 00:00:00.000000',125,1271,30000,0), + (140046,140045,2794,'1965-01-01 00:00:00.000000',125,1358,30000,0), + (140047,140049,2795,'1965-01-01 00:00:00.000000',30,1793,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (140048,140046,2796,'1965-01-01 00:00:00.000000',125,1424,30000,0), + (140049,140047,2797,'1965-01-01 00:00:00.000000',60,1558,30000,0), + (140050,140052,2798,'1970-01-01 00:00:00.000000',30,2061,30000,0), + (140051,140051,2799,'1970-01-01 00:00:00.000000',30,1881,30000,0), + (140052,140050,2800,'1970-01-01 00:00:00.000000',60,1730,30000,0), + (150001,150004,504,'1999-01-01 00:00:00.000000',0,730,30000,0), + (150002,150003,503,'1999-01-01 00:00:00.000000',1000,280,30000,0), + (150003,150001,501,'1999-01-01 00:00:00.000000',250,480,30000,0), + (150004,150002,502,'1999-01-01 00:00:00.000000',500,330,30000,0), + (160001,160001,1162,'1953-01-01 00:00:00.000000',1000,1116,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160002,160002,1429,'1999-01-01 00:00:00.000000',500,2198,30000,8), + (160003,160003,1430,'1999-01-01 00:00:00.000000',125,5777,30000,7), + (160004,160004,1455,'1963-01-01 00:00:00.000000',125,1787,30000,19), + (160005,160005,76,'1999-01-01 00:00:00.000000',1000,1087,30000,6), + (160006,160006,77,'1999-01-01 00:00:00.000000',1000,1140,30000,6), + (160007,160007,78,'1999-01-01 00:00:00.000000',500,1199,30000,6), + (160008,160008,80,'1999-01-01 00:00:00.000000',500,1215,30000,6), + (160009,160009,83,'1999-01-01 00:00:00.000000',500,1283,30000,6), + (160010,160010,1161,'1940-01-01 00:00:00.000000',250,1204,30000,20), + (160011,160011,86,'1999-01-01 00:00:00.000000',500,1458,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160012,160012,87,'1999-01-01 00:00:00.000000',500,1367,30000,6), + (160013,160013,90,'1999-01-01 00:00:00.000000',250,1425,30000,9), + (160014,160014,92,'1965-01-01 00:00:00.000000',250,2478,30000,5), + (160015,160015,93,'1970-01-01 00:00:00.000000',500,1416,30000,6), + (160016,160016,95,'1961-01-01 00:00:00.000000',250,1708,30000,19), + (160017,160017,96,'1970-01-01 00:00:00.000000',125,5754,30000,5), + (160018,160018,98,'1970-01-01 00:00:00.000000',0,6493,30000,5), + (160019,160020,1464,'1969-01-01 00:00:00.000000',500,1476,30000,4), + (160020,160021,1459,'1971-01-01 00:00:00.000000',250,2518,30000,16), + (160021,160022,79,'1932-01-01 00:00:00.000000',500,740,30000,10); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160022,160023,875,'1940-01-01 00:00:00.000000',500,782,30000,10), + (160023,160024,81,'1999-01-01 00:00:00.000000',1000,1057,30000,4), + (160024,160025,82,'1999-01-01 00:00:00.000000',1000,1107,30000,15), + (160025,160026,878,'1999-01-01 00:00:00.000000',1000,1257,30000,4), + (160026,160027,85,'1999-01-01 00:00:00.000000',1000,1167,30000,15), + (160027,160028,879,'1999-01-01 00:00:00.000000',500,1299,30000,4), + (160028,160029,876,'1999-01-01 00:00:00.000000',500,1233,30000,15), + (160029,160030,88,'1970-01-01 00:00:00.000000',500,2212,30000,16), + (160030,160031,89,'1999-01-01 00:00:00.000000',250,2438,30000,3), + (160031,160032,91,'1999-01-01 00:00:00.000000',250,2518,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160032,160033,877,'1999-01-01 00:00:00.000000',125,5340,30000,3), + (160033,160034,94,'1999-01-01 00:00:00.000000',125,2681,30000,3), + (160034,160035,880,'1968-01-01 00:00:00.000000',125,3074,30000,17), + (160035,160036,97,'1999-01-01 00:00:00.000000',500,2212,30000,3), + (160036,160037,34,'1968-01-01 00:00:00.000000',500,1468,30000,11), + (160037,160038,38,'1966-01-01 00:00:00.000000',250,2513,30000,12), + (160038,160039,42,'1968-01-01 00:00:00.000000',125,5756,30000,12), + (160039,160042,52,'1959-01-01 00:00:00.000000',500,1620,30000,13), + (160040,160043,54,'1967-01-01 00:00:00.000000',250,2505,30000,13), + (160041,160044,56,'1999-01-01 00:00:00.000000',125,2681,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160042,160045,58,'1999-01-01 00:00:00.000000',125,7226,30000,13), + (160043,160046,421,'1967-01-01 00:00:00.000000',0,7567,30000,14), + (160044,160047,442,'1968-01-01 00:00:00.000000',30,4121,30000,17), + (160046,160049,495,'1999-01-01 00:00:00.000000',0,4840,30000,6), + (160047,160050,498,'1955-01-01 00:00:00.000000',500,820,30000,10), + (160048,160060,1036,'1965-01-01 00:00:00.000000',1000,1261,32000,14), + (160049,160061,1037,'1965-01-01 00:00:00.000000',500,1442,30000,14), + (160050,160062,1038,'1965-01-01 00:00:00.000000',250,2438,30000,14), + (160054,160052,1039,'1999-01-01 00:00:00.000000',500,1354,30000,2), + (160055,160059,1040,'1999-01-01 00:00:00.000000',125,5545,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160056,160058,1041,'1963-01-01 00:00:00.000000',60,2674,30000,1), + (160057,160053,1042,'1999-01-01 00:00:00.000000',500,1430,30000,2), + (160069,160040,1176,'1960-01-01 00:00:00.000000',500,1483,30000,13), + (160070,160041,1177,'1960-01-01 00:00:00.000000',250,2644,30000,13), + (160072,160019,1530,'1969-01-01 00:00:00.000000',250,2518,30000,5), + (160073,160055,1655,'1959-01-01 00:00:00.000000',250,1600,30000,1), + (160074,160056,1659,'1971-01-01 00:00:00.000000',250,2544,32100,1), + (160075,160057,1670,'1959-01-01 00:00:00.000000',125,2593,30000,1), + (160076,160063,2451,'1960-01-01 00:00:00.000000',0,889,30000,6), + (160077,160064,2459,'1970-01-01 00:00:00.000000',250,1506,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160078,160065,2462,'1964-01-01 00:00:00.000000',0,7810,30000,18), + (160079,160051,2488,'1964-01-01 00:00:00.000000',250,1214,30000,2), + (160080,160054,2489,'1971-01-01 00:00:00.000000',125,1506,30000,2), + (160081,160066,2491,'1961-01-01 00:00:00.000000',60,6094,30000,3), + (160082,160067,2521,'1969-01-01 00:00:00.000000',0,7685,30000,17), + (160083,160068,2523,'1964-01-01 00:00:00.000000',30,2357,30000,4), + (160084,160069,2524,'1969-01-01 00:00:00.000000',30,2435,30000,4), + (160085,160070,2536,'1967-01-01 00:00:00.000000',125,2504,30000,7), + (160086,160071,2537,'1967-01-01 00:00:00.000000',125,1803,30000,7), + (160087,160048,444,'1966-01-01 00:00:00.000000',125,2682,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160088,160072,2539,'1969-01-01 00:00:00.000000',0,5721,30000,5), + (160089,160073,2550,'1957-01-01 00:00:00.000000',125,1272,30000,21), + (160090,160074,2551,'1959-01-01 00:00:00.000000',125,1424,30000,21), + (160091,160075,2552,'1964-01-01 00:00:00.000000',60,1530,30000,21), + (160092,160076,2553,'1964-01-01 00:00:00.000000',125,1293,30000,8), + (160093,160077,2554,'1966-01-01 00:00:00.000000',125,1431,30000,8), + (160094,160078,2555,'1956-01-01 00:00:00.000000',125,1326,30000,9), + (160095,160079,2556,'1964-01-01 00:00:00.000000',60,1598,30000,9), + (160096,160081,2617,'1969-01-01 00:00:00.000000',0,19673,30000,17), + (160097,160080,2618,'1969-01-01 00:00:00.000000',0,30739,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (160098,160082,2770,'1971-01-01 00:00:00.000000',125,2510,30000,14), + (180001,180001,102,'1955-01-01 00:00:00.000000',1000,137,30000,6), + (180002,180002,103,'1965-01-01 00:00:00.000000',1000,135,30000,5), + (180003,180017,881,'1971-01-01 00:00:00.000000',125,186,30000,6), + (180004,180019,1408,'1990-01-01 00:00:00.000000',60,435,30000,6), + (180005,180020,1409,'1990-01-01 00:00:00.000000',30,270,30000,6), + (180006,180021,1423,'1990-01-01 00:00:00.000000',30,1053,30000,6), + (180007,180018,1407,'1990-01-01 00:00:00.000000',125,226,30000,6), + (180008,180022,1431,'1990-01-01 00:00:00.000000',60,312,30000,6), + (180009,180023,1432,'1990-01-01 00:00:00.000000',60,316,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180010,180003,1874,'1967-01-01 00:00:00.000000',1000,184,30000,7), + (180011,180004,1875,'1961-01-01 00:00:00.000000',1000,186,30000,8), + (180012,180005,1876,'1950-01-01 00:00:00.000000',1000,136,30000,9), + (180013,180006,1877,'1965-01-01 00:00:00.000000',1000,177,30000,5), + (180014,180007,1878,'1970-01-01 00:00:00.000000',1000,180,30000,6), + (180015,180008,1879,'1958-01-01 00:00:00.000000',250,179,30000,1), + (180016,180009,1880,'1964-01-01 00:00:00.000000',500,180,30000,2), + (180017,180010,1881,'1958-01-01 00:00:00.000000',1000,136,30000,3), + (180018,180011,1882,'1964-01-01 00:00:00.000000',1000,128,30000,15), + (180019,180012,1883,'1932-01-01 00:00:00.000000',1000,119,30000,10); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180020,180013,1884,'1970-01-01 00:00:00.000000',500,178,30000,12), + (180021,180014,1885,'1968-01-01 00:00:00.000000',1000,135,30000,11), + (180022,180015,1886,'1966-01-01 00:00:00.000000',1000,165,30000,14), + (180023,180016,1887,'1955-01-01 00:00:00.000000',1000,135,30000,13), + (180024,180024,1888,'1968-01-01 00:00:00.000000',125,177,30000,11), + (180025,180025,1889,'1965-01-01 00:00:00.000000',1000,137,30000,12), + (180026,180026,1890,'1968-01-01 00:00:00.000000',1000,185,30000,12), + (180027,180027,1891,'1955-01-01 00:00:00.000000',250,177,30000,13), + (180028,180028,1892,'1959-01-01 00:00:00.000000',125,185,30000,13), + (180029,180029,1893,'1969-01-01 00:00:00.000000',125,215,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180030,180030,1894,'1970-01-01 00:00:00.000000',1000,183,30000,4), + (180031,180031,1895,'1970-01-01 00:00:00.000000',125,179,30000,3), + (180032,180032,1896,'1965-01-01 00:00:00.000000',30,215,30000,3), + (180033,180033,1897,'1968-01-01 00:00:00.000000',500,222,30000,3), + (180034,180034,1898,'1970-01-01 00:00:00.000000',60,220,30000,4), + (180035,180035,1899,'1965-01-01 00:00:00.000000',125,179,30000,3), + (180036,180036,1900,'1958-01-01 00:00:00.000000',1000,136,30000,1), + (180037,180037,1901,'1964-01-01 00:00:00.000000',30,212,30000,18), + (180038,180038,1902,'1964-01-01 00:00:00.000000',1000,135,30000,2), + (180039,180039,1903,'1987-01-01 00:00:00.000000',30,267,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180040,180040,1904,'1987-01-01 00:00:00.000000',30,1202,30000,5), + (180041,180041,1905,'1987-01-01 00:00:00.000000',30,265,30000,4), + (180042,180042,1906,'1987-01-01 00:00:00.000000',60,312,30000,4), + (180043,180043,1907,'1987-01-01 00:00:00.000000',30,267,30000,3), + (180044,180044,1908,'1987-01-01 00:00:00.000000',60,314,30000,3), + (180045,180045,1909,'1987-01-01 00:00:00.000000',30,267,30000,1), + (180046,180046,1910,'1987-01-01 00:00:00.000000',30,265,30000,2), + (180047,180047,1911,'1987-01-01 00:00:00.000000',60,314,30000,1), + (180048,180048,1912,'1987-01-01 00:00:00.000000',60,312,30000,2), + (180049,180049,2043,'1953-01-01 00:00:00.000000',1000,177,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180050,180050,2091,'1961-01-01 00:00:00.000000',125,162,30000,3), + (180051,180033,2095,'1968-01-01 00:00:00.000000',125,222,30000,3), + (180052,180051,2097,'1964-01-01 00:00:00.000000',125,226,30000,4), + (180053,180052,2461,'1966-01-01 00:00:00.000000',125,157,30000,14), + (180054,180036,2466,'1964-01-01 00:00:00.000000',0,136,30000,18), + (180055,180053,2477,'1940-01-01 00:00:00.000000',1000,140,30000,20), + (180056,180054,2501,'1970-01-01 00:00:00.000000',1000,183,30000,16), + (180057,180055,2502,'1971-01-01 00:00:00.000000',125,573,30000,16), + (180058,180056,2513,'1968-01-01 00:00:00.000000',1000,137,30000,17), + (180059,180057,2514,'1969-01-01 00:00:00.000000',125,212,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180060,180058,2515,'1970-01-01 00:00:00.000000',0,934,30000,17), + (180061,180059,2530,'1954-01-01 00:00:00.000000',125,166,30000,15), + (180062,180060,2545,'1958-01-01 00:00:00.000000',1000,179,30000,19), + (180063,180061,2645,'1955-01-21 00:00:00.000000',250,566,30000,21), + (180064,180062,2646,'1968-01-21 00:00:00.000000',250,469,30000,8), + (180065,180063,2647,'1968-01-21 00:00:00.000000',250,471,30000,7), + (180066,180064,2648,'1947-01-18 00:00:00.000000',250,275,30000,20), + (180067,180065,2649,'1955-02-14 00:00:00.000000',250,330,30000,9), + (180068,180066,2654,'1959-02-18 00:00:00.000000',250,471,30000,19), + (180069,180067,2655,'1965-03-21 00:00:00.000000',60,648,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180070,180068,2656,'1939-04-16 00:00:00.000000',250,255,30000,10), + (180071,180069,2657,'1968-05-16 00:00:00.000000',250,469,30000,11), + (180072,180070,2658,'1968-05-16 00:00:00.000000',250,565,30000,12), + (180073,180076,2849,'1957-01-01 00:00:00.000000',125,234,30000,15), + (180074,180075,2848,'1957-01-01 00:00:00.000000',125,518,30000,15), + (180075,180074,2847,'1957-01-01 00:00:00.000000',125,233,30000,15), + (180076,180071,2851,'1957-01-01 00:00:00.000000',250,199,30000,15), + (180077,180072,2852,'1957-01-01 00:00:00.000000',125,166,30000,15), + (180078,180073,2853,'1957-01-01 00:00:00.000000',60,230,30000,15), + (180079,180077,2845,'1957-01-01 00:00:00.000000',1000,171,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180080,180078,2846,'1957-01-01 00:00:00.000000',250,195,30000,15), + (180081,180079,2977,'1965-01-01 00:00:00.000000',250,469,30000,4), + (180082,180087,2985,'1965-01-01 00:00:00.000000',250,566,30000,21), + (180083,180088,2986,'1965-01-01 00:00:00.000000',60,597,30000,21), + (180084,180089,2987,'1965-01-01 00:00:00.000000',250,484,30000,21), + (180085,180084,2982,'1965-01-01 00:00:00.000000',250,597,30000,21), + (180086,180081,2979,'1965-01-01 00:00:00.000000',250,597,30000,4), + (180087,180082,2980,'1965-01-01 00:00:00.000000',125,329,30000,21), + (180088,180085,2983,'1965-01-01 00:00:00.000000',500,566,30000,21), + (180089,180086,2984,'1965-01-01 00:00:00.000000',250,566,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180090,180080,2978,'1965-01-01 00:00:00.000000',125,752,30000,4), + (180091,180083,2981,'1965-01-01 00:00:00.000000',125,888,30000,21), + (180092,180091,3067,'1966-01-01 00:00:00.000000',125,500,30000,2), + (180093,180093,3069,'1966-01-01 00:00:00.000000',60,717,30000,2), + (180094,180092,3068,'1966-01-01 00:00:00.000000',125,345,30000,2), + (180095,180090,3066,'1966-01-01 00:00:00.000000',250,216,30000,2), + (180096,180094,3104,'1966-01-01 00:00:00.000000',125,1580,30000,13), + (180097,180095,3105,'1966-01-01 00:00:00.000000',60,1851,30000,13), + (180098,180096,3106,'1966-01-01 00:00:00.000000',125,1506,30000,13), + (180099,180149,3362,'1967-01-01 00:00:00.000000',500,1157,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180100,180130,3346,'1967-01-01 00:00:00.000000',500,1157,30000,19), + (180101,180157,3370,'1967-01-01 00:00:00.000000',500,1157,30000,1), + (180102,180141,3354,'1967-01-01 00:00:00.000000',500,157,30000,14), + (180103,180165,3378,'1967-01-01 00:00:00.000000',500,1157,30000,3), + (180104,180117,3330,'1967-01-01 00:00:00.000000',125,1157,30000,18), + (180105,180125,3338,'1967-01-01 00:00:00.000000',500,1157,30000,9), + (180106,180173,3386,'1967-01-01 00:00:00.000000',500,1157,30000,5), + (180107,180109,3322,'1967-01-01 00:00:00.000000',500,1157,30000,17), + (180108,180101,3314,'1967-01-01 00:00:00.000000',500,1157,30000,16), + (180109,180172,3385,'1967-01-01 00:00:00.000000',500,1255,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180110,180148,3361,'1967-01-01 00:00:00.000000',500,1255,30000,12), + (180111,180108,3321,'1967-01-01 00:00:00.000000',500,1255,30000,17), + (180112,180100,3313,'1967-01-01 00:00:00.000000',500,1255,30000,16), + (180113,180156,3369,'1967-01-01 00:00:00.000000',500,1255,30000,1), + (180114,180129,3345,'1967-01-01 00:00:00.000000',500,1255,30000,19), + (180115,180140,3353,'1967-01-01 00:00:00.000000',500,255,30000,14), + (180116,180124,3337,'1967-01-01 00:00:00.000000',500,1255,30000,9), + (180117,180116,3329,'1967-01-01 00:00:00.000000',500,1255,30000,18), + (180118,180164,3377,'1967-01-01 00:00:00.000000',500,1255,30000,3), + (180119,180120,3333,'1967-01-01 00:00:00.000000',0,5137,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180120,180160,3373,'1967-01-01 00:00:00.000000',0,5137,30000,1), + (180121,180133,3349,'1967-01-01 00:00:00.000000',0,5137,30000,19), + (180122,180144,3357,'1967-01-01 00:00:00.000000',0,3877,30000,14), + (180123,180112,3325,'1967-01-01 00:00:00.000000',0,5137,30000,17), + (180124,180168,3381,'1967-01-01 00:00:00.000000',0,5137,30000,3), + (180125,180104,3317,'1967-01-01 00:00:00.000000',0,5818,30000,16), + (180126,180128,3341,'1967-01-01 00:00:00.000000',0,5137,30000,9), + (180127,180176,3389,'1967-01-01 00:00:00.000000',0,5137,30000,5), + (180128,180152,3365,'1967-01-01 00:00:00.000000',0,5137,30000,12), + (180129,180158,3371,'1967-01-01 00:00:00.000000',125,1580,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180130,180174,3387,'1967-01-01 00:00:00.000000',125,1580,30000,5), + (180131,180102,3315,'1967-01-01 00:00:00.000000',125,1580,30000,16), + (180132,180142,3355,'1967-01-01 00:00:00.000000',125,580,30000,14), + (180133,180110,3323,'1967-01-01 00:00:00.000000',125,1580,30000,17), + (180134,180131,3347,'1967-01-01 00:00:00.000000',125,1580,30000,19), + (180135,180150,3363,'1967-01-01 00:00:00.000000',125,1580,30000,12), + (180136,180118,3331,'1967-01-01 00:00:00.000000',30,1580,30000,18), + (180137,180166,3379,'1967-01-01 00:00:00.000000',125,1580,30000,3), + (180138,180126,3339,'1967-01-01 00:00:00.000000',125,1580,30000,9), + (180139,180151,3364,'1967-01-01 00:00:00.000000',125,1577,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180140,180175,3388,'1967-01-01 00:00:00.000000',125,1577,30000,5), + (180141,180143,3356,'1967-01-01 00:00:00.000000',125,317,30000,14), + (180142,180159,3372,'1967-01-01 00:00:00.000000',125,1577,30000,1), + (180143,180132,3348,'1967-01-01 00:00:00.000000',125,1577,30000,19), + (180144,180127,3340,'1967-01-01 00:00:00.000000',125,1577,30000,9), + (180145,180111,3324,'1967-01-01 00:00:00.000000',125,1577,30000,17), + (180146,180119,3332,'1967-01-01 00:00:00.000000',30,1577,30000,18), + (180147,180167,3380,'1967-01-01 00:00:00.000000',125,1577,30000,3), + (180148,180103,3316,'1967-01-01 00:00:00.000000',125,1577,30000,16), + (180149,180154,3367,'1967-01-01 00:00:00.000000',250,1384,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180150,180170,3383,'1967-01-01 00:00:00.000000',250,1384,30000,5), + (180151,180162,3375,'1967-01-01 00:00:00.000000',250,1384,30000,3), + (180152,180122,3335,'1967-01-01 00:00:00.000000',250,1384,30000,9), + (180153,180098,3311,'1967-01-01 00:00:00.000000',250,1384,30000,16), + (180154,180146,3359,'1967-01-01 00:00:00.000000',250,1384,30000,12), + (180155,180106,3319,'1967-01-01 00:00:00.000000',250,1384,30000,17), + (180156,180114,3327,'1967-01-01 00:00:00.000000',30,1384,30000,18), + (180157,180138,3351,'1967-01-01 00:00:00.000000',250,384,30000,14), + (180158,180135,3343,'1967-01-01 00:00:00.000000',250,1384,30000,19), + (180159,180097,3310,'1967-01-01 00:00:00.000000',500,1389,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180160,180105,3318,'1967-01-01 00:00:00.000000',500,1157,30000,17), + (180161,180113,3326,'1967-01-01 00:00:00.000000',350,1389,30000,18), + (180162,180121,3334,'1967-01-01 00:00:00.000000',500,1389,30000,9), + (180163,180153,3366,'1967-01-01 00:00:00.000000',500,1389,30000,1), + (180164,180134,3342,'1967-01-01 00:00:00.000000',500,1389,30000,19), + (180165,180145,3358,'1967-01-01 00:00:00.000000',500,1389,30000,12), + (180166,180161,3374,'1967-01-01 00:00:00.000000',500,1389,30000,3), + (180167,180137,3350,'1967-01-01 00:00:00.000000',500,157,30000,14), + (180168,180169,3382,'1967-01-01 00:00:00.000000',500,1389,30000,5), + (180169,180155,3368,'1967-01-01 00:00:00.000000',125,1587,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (180170,180099,3312,'1967-01-01 00:00:00.000000',150,1587,30000,16), + (180171,180171,3384,'1967-01-01 00:00:00.000000',150,1587,30000,5), + (180172,180163,3376,'1967-01-01 00:00:00.000000',150,1587,30000,3), + (180173,180107,3320,'1967-01-01 00:00:00.000000',150,1587,30000,17), + (180174,180139,3352,'1967-01-01 00:00:00.000000',150,387,30000,14), + (180175,180115,3328,'1967-01-01 00:00:00.000000',30,1587,30000,18), + (180176,180136,3344,'1967-01-01 00:00:00.000000',125,1704,30000,19), + (180177,180123,3336,'1967-01-01 00:00:00.000000',125,1587,30000,9), + (180178,180147,3360,'1967-01-01 00:00:00.000000',125,1587,30000,12), + (190001,190001,104,'1968-01-01 00:00:00.000000',125,185,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190002,190002,105,'1965-01-01 00:00:00.000000',250,208,30000,3), + (190003,190003,106,'1961-01-01 00:00:00.000000',500,180,30000,3), + (190004,190004,107,'1969-01-01 00:00:00.000000',125,163,30000,13), + (190005,190005,2650,'1967-01-01 00:00:00.000000',125,116,30000,9), + (190006,190006,417,'1961-01-01 00:00:00.000000',1000,96,30000,13), + (190007,190021,1384,'1990-01-01 00:00:00.000000',500,185,30000,4), + (190008,190022,1389,'1990-01-01 00:00:00.000000',125,242,30000,4), + (190009,190023,1734,'1990-01-01 00:00:00.000000',250,214,30000,4), + (190010,190024,1735,'1990-01-01 00:00:00.000000',250,205,30000,4), + (190011,190025,1395,'1990-01-01 00:00:00.000000',0,1511,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190012,190007,1820,'1967-01-01 00:00:00.000000',1000,163,30000,7), + (190013,190008,1821,'1953-01-01 00:00:00.000000',1000,133,30000,21), + (190014,190009,1822,'1959-01-01 00:00:00.000000',1000,163,30000,9), + (190015,190010,1823,'1958-01-01 00:00:00.000000',1000,163,30000,5), + (190016,190011,1824,'1955-01-01 00:00:00.000000',1000,133,30000,6), + (190017,190012,1825,'1958-01-01 00:00:00.000000',1000,163,30000,1), + (190018,190013,1826,'1964-01-01 00:00:00.000000',1000,133,30000,2), + (190019,190014,1827,'1958-01-01 00:00:00.000000',1000,163,30000,3), + (190020,190015,1828,'1964-01-01 00:00:00.000000',1000,133,30000,4), + (190021,190016,1829,'1932-01-01 00:00:00.000000',1000,81,30000,10); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190022,190017,1830,'1970-01-01 00:00:00.000000',1000,163,30000,12), + (190023,190018,1831,'1968-01-01 00:00:00.000000',1000,133,30000,11), + (190024,190019,1832,'1968-01-01 00:00:00.000000',1000,133,30000,14), + (190025,190020,1833,'1955-01-01 00:00:00.000000',1000,163,30000,13), + (190026,190026,1834,'1965-01-01 00:00:00.000000',0,227,30000,3), + (190027,190027,1835,'1968-01-01 00:00:00.000000',500,180,30000,3), + (190028,190028,1836,'1971-01-01 00:00:00.000000',500,180,30000,17), + (190029,190029,1837,'1969-01-01 00:00:00.000000',0,203,30000,17), + (190030,190030,1838,'1969-01-01 00:00:00.000000',125,193,30000,17), + (190031,190031,1839,'1964-01-01 00:00:00.000000',500,187,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190032,190032,1840,'1987-01-01 00:00:00.000000',500,185,30000,6), + (190033,190033,1841,'1987-01-01 00:00:00.000000',500,208,30000,5), + (190034,190039,1842,'1987-01-01 00:00:00.000000',250,234,30000,6), + (190035,190038,1843,'1987-01-01 00:00:00.000000',250,234,30000,5), + (190036,190037,1844,'1987-01-01 00:00:00.000000',250,234,30000,7), + (190037,190036,1845,'1987-01-01 00:00:00.000000',250,234,30000,12), + (190038,190035,1846,'1987-01-01 00:00:00.000000',250,234,30000,13), + (190039,190034,1847,'1987-01-01 00:00:00.000000',250,234,30000,3), + (190040,190045,1848,'1987-01-01 00:00:00.000000',250,222,30000,13), + (190041,190044,1849,'1987-01-01 00:00:00.000000',250,222,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190042,190043,1850,'1987-01-01 00:00:00.000000',250,222,30000,3), + (190043,190042,1851,'1987-01-01 00:00:00.000000',250,222,30000,6), + (190044,190041,1852,'1987-01-01 00:00:00.000000',250,222,30000,5), + (190045,190040,1853,'1987-01-01 00:00:00.000000',250,222,30000,7), + (190046,190046,1854,'1987-01-01 00:00:00.000000',250,222,30000,6), + (190047,190047,1855,'1999-01-01 00:00:00.000000',0,1511,30000,7), + (190048,190048,1856,'1999-01-01 00:00:00.000000',0,1511,30000,5), + (190049,190049,1857,'1999-01-01 00:00:00.000000',0,1402,30000,6), + (190050,190065,1858,'1999-01-01 00:00:00.000000',500,201,30000,13), + (190051,190064,1859,'1999-01-01 00:00:00.000000',500,201,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190052,190063,1860,'1999-01-01 00:00:00.000000',500,185,30000,4), + (190053,190062,1861,'1999-01-01 00:00:00.000000',500,201,30000,3), + (190054,190061,1862,'1999-01-01 00:00:00.000000',500,201,30000,5), + (190055,190060,1863,'1999-01-01 00:00:00.000000',500,185,30000,6), + (190056,190059,1864,'1999-01-01 00:00:00.000000',500,201,30000,5), + (190057,190058,1865,'1999-01-01 00:00:00.000000',500,201,30000,6), + (190058,190057,1866,'1999-01-01 00:00:00.000000',250,252,30000,5), + (190059,190056,1867,'1999-01-01 00:00:00.000000',250,252,30000,6), + (190060,190055,1868,'1999-01-01 00:00:00.000000',250,252,30000,4), + (190061,190054,1869,'1999-01-01 00:00:00.000000',500,201,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190062,190053,1870,'1999-01-01 00:00:00.000000',500,185,30000,6), + (190063,190052,1871,'1999-01-01 00:00:00.000000',500,185,30000,4), + (190064,190051,1872,'1999-01-01 00:00:00.000000',125,216,30000,5), + (190065,190050,1873,'1999-01-01 00:00:00.000000',125,195,30000,6), + (190066,190066,2054,'1970-01-01 00:00:00.000000',1000,133,30000,6), + (190067,190067,2058,'1961-01-01 00:00:00.000000',500,146,30000,19), + (190068,190068,2460,'1966-01-01 00:00:00.000000',1000,127,30000,14), + (190069,190069,2464,'1964-01-01 00:00:00.000000',30,189,30000,18), + (190070,190012,2465,'1964-01-01 00:00:00.000000',0,163,30000,18), + (190071,190070,187,'1940-01-01 00:00:00.000000',1000,127,30000,20); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190072,190071,2481,'1967-01-01 00:00:00.000000',1000,96,30000,8), + (190073,190072,2499,'1970-01-01 00:00:00.000000',1000,133,30000,16), + (190074,190073,2500,'1971-01-01 00:00:00.000000',125,160,30000,16), + (190075,190074,2512,'1968-01-01 00:00:00.000000',1000,170,30000,17), + (190076,190075,2522,'1964-01-01 00:00:00.000000',125,153,30000,4), + (190077,190076,2532,'1954-01-01 00:00:00.000000',1000,125,30000,15), + (190078,190077,2533,'1954-01-01 00:00:00.000000',125,124,30000,15), + (190079,190078,2653,'1964-01-01 00:00:00.000000',125,146,30000,21), + (190080,190079,2652,'1964-01-01 00:00:00.000000',250,133,30000,8), + (190081,190080,2651,'1955-01-01 00:00:00.000000',250,133,30000,20); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190082,190081,2644,'1965-01-01 00:00:00.000000',500,133,30000,19), + (190083,190082,2643,'1990-01-01 00:00:00.000000',500,208,30000,19), + (190084,190083,2642,'1990-01-01 00:00:00.000000',30,252,30000,2), + (190085,190084,2641,'1990-01-01 00:00:00.000000',30,261,30000,18), + (190086,190085,2640,'1990-01-01 00:00:00.000000',30,231,30000,18), + (190087,190086,2639,'0190-01-01 00:00:00.000000',0,1511,30000,18), + (190088,190087,2638,'1990-01-01 00:00:00.000000',250,261,30000,18), + (190089,190088,2637,'1990-01-01 00:00:00.000000',250,133,30000,10), + (190090,190089,2636,'1965-01-01 00:00:00.000000',250,180,30000,11), + (190091,190098,2862,'1957-01-01 00:00:00.000000',250,147,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190092,190095,2859,'1957-01-01 00:00:00.000000',250,176,30000,15), + (190093,190097,2861,'1957-01-01 00:00:00.000000',125,124,30000,15), + (190094,190096,2860,'1957-01-01 00:00:00.000000',125,195,30000,15), + (190095,190094,2858,'1957-01-01 00:00:00.000000',125,177,30000,15), + (190096,190093,2857,'1957-01-01 00:00:00.000000',250,164,30000,15), + (190097,190090,2854,'1957-01-01 00:00:00.000000',250,160,30000,15), + (190098,190091,2855,'1957-01-01 00:00:00.000000',125,177,30000,15), + (190099,190092,2856,'1957-01-01 00:00:00.000000',250,177,30000,15), + (190100,190099,2966,'1965-01-01 00:00:00.000000',500,133,30000,21), + (190101,190101,2968,'1965-01-01 00:00:00.000000',250,151,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190102,190102,2969,'1965-01-01 00:00:00.000000',60,202,30000,21), + (190103,190103,2970,'1965-01-01 00:00:00.000000',125,162,30000,21), + (190104,190104,2971,'1965-01-01 00:00:00.000000',125,222,30000,21), + (190105,190109,2976,'1965-01-01 00:00:00.000000',250,178,30000,4), + (190106,190100,2967,'1965-01-01 00:00:00.000000',125,139,30000,21), + (190107,190106,2973,'1965-01-01 00:00:00.000000',250,166,30000,21), + (190108,190105,2972,'1965-01-01 00:00:00.000000',250,162,30000,21), + (190109,190107,2974,'1965-01-01 00:00:00.000000',60,214,30000,21), + (190110,190108,2975,'1965-01-01 00:00:00.000000',60,252,30000,4), + (190111,190112,3062,'1966-01-01 00:00:00.000000',125,193,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190112,190114,3065,'1966-01-01 00:00:00.000000',125,169,30000,2), + (190113,190113,3063,'1966-01-01 00:00:00.000000',125,252,30000,2), + (190114,190110,3060,'1966-01-01 00:00:00.000000',500,139,30000,2), + (190115,190111,3061,'1966-01-01 00:00:00.000000',250,162,30000,2), + (190116,190115,3064,'1966-01-01 00:00:00.000000',250,151,30000,2), + (190117,190116,3101,'1966-01-01 00:00:00.000000',250,173,30000,13), + (190118,190117,3102,'1966-01-01 00:00:00.000000',125,175,30000,13), + (190119,190118,3103,'1966-01-01 00:00:00.000000',125,252,30000,13), + (190120,190172,3184,'1967-01-01 00:00:00.000000',500,185,30000,3), + (190121,190159,3171,'1967-01-01 00:00:00.000000',500,185,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190122,190167,3179,'1967-01-01 00:00:00.000000',500,185,30000,1), + (190123,190135,3147,'1967-01-01 00:00:00.000000',500,185,30000,9), + (190124,190146,3155,'1967-01-01 00:00:00.000000',500,185,30000,19), + (190125,190131,3143,'1967-01-01 00:00:00.000000',500,193,30000,18), + (190126,190154,3166,'1967-01-01 00:00:00.000000',500,185,30000,14), + (190127,190166,3178,'1967-01-01 00:00:00.000000',500,145,30000,1), + (190128,190158,3170,'1967-01-01 00:00:00.000000',500,145,30000,12), + (190129,190145,3154,'1967-01-01 00:00:00.000000',500,145,30000,19), + (190130,190171,3183,'1967-01-01 00:00:00.000000',500,145,30000,3), + (190131,190153,3165,'1967-01-01 00:00:00.000000',500,145,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190132,190157,3169,'1967-01-01 00:00:00.000000',0,1366,30000,14), + (190133,190170,3182,'1967-01-01 00:00:00.000000',0,1366,30000,1), + (190134,190149,3158,'1967-01-01 00:00:00.000000',0,1366,30000,19), + (190135,190175,3187,'1967-01-01 00:00:00.000000',0,1366,30000,3), + (190136,190162,3174,'1967-01-01 00:00:00.000000',0,1366,30000,12), + (190137,190130,3142,'1967-01-01 00:00:00.000000',0,1366,30000,17), + (190138,190138,3150,'1967-01-01 00:00:00.000000',0,1366,30000,9), + (190139,190134,3146,'1967-01-01 00:00:00.000000',0,211,30000,18), + (190140,190124,3136,'1967-01-01 00:00:00.000000',0,1366,30000,16), + (190141,190173,3185,'1967-01-01 00:00:00.000000',125,175,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190142,190168,3180,'1967-01-01 00:00:00.000000',125,175,30000,1), + (190143,190128,3140,'1967-01-01 00:00:00.000000',125,175,30000,17), + (190144,190132,3144,'1967-01-01 00:00:00.000000',60,189,30000,18), + (190145,190147,3156,'1967-01-01 00:00:00.000000',125,175,30000,19), + (190146,190122,3134,'1967-01-01 00:00:00.000000',125,175,30000,16), + (190147,190136,3148,'1967-01-01 00:00:00.000000',125,175,30000,9), + (190148,190155,3167,'1967-01-01 00:00:00.000000',125,175,30000,14), + (190149,190160,3172,'1967-01-01 00:00:00.000000',125,175,30000,12), + (190150,190174,3186,'1967-01-01 00:00:00.000000',125,231,30000,3), + (190151,190148,3157,'1967-01-01 00:00:00.000000',125,231,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190152,190156,3168,'1967-01-01 00:00:00.000000',125,231,30000,14), + (190153,190169,3181,'1967-01-01 00:00:00.000000',125,231,30000,1), + (190154,190161,3173,'1967-01-01 00:00:00.000000',125,231,30000,12), + (190155,190137,3149,'1967-01-01 00:00:00.000000',125,231,30000,9), + (190156,190123,3135,'1967-01-01 00:00:00.000000',125,231,30000,16), + (190157,190133,3145,'1967-01-01 00:00:00.000000',60,281,30000,18), + (190158,190129,3141,'1967-01-01 00:00:00.000000',125,231,30000,17), + (190159,190143,3160,'1967-01-01 00:00:00.000000',500,157,30000,19), + (190160,190164,3176,'1967-01-01 00:00:00.000000',500,157,30000,1), + (190161,190140,3152,'1967-01-01 00:00:00.000000',500,157,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190162,190151,3163,'1967-01-01 00:00:00.000000',500,157,30000,14), + (190163,190120,3132,'1967-01-01 00:00:00.000000',500,157,30000,16), + (190164,190126,3138,'1967-01-01 00:00:00.000000',500,157,30000,17), + (190165,190139,3151,'1967-01-01 00:00:00.000000',500,166,30000,9), + (190166,190119,3131,'1967-01-01 00:00:00.000000',500,166,30000,16), + (190167,190125,3137,'1967-01-01 00:00:00.000000',500,166,30000,17), + (190168,190142,3159,'1967-01-01 00:00:00.000000',500,166,30000,19), + (190169,190163,3175,'1967-01-01 00:00:00.000000',500,166,30000,1), + (190170,190150,3162,'1967-01-01 00:00:00.000000',500,166,30000,14), + (190171,190141,3153,'1967-01-01 00:00:00.000000',250,231,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (190172,190165,3177,'1967-01-01 00:00:00.000000',250,231,30000,1), + (190173,190144,3161,'1967-01-01 00:00:00.000000',250,231,30000,19), + (190174,190152,3164,'1967-01-01 00:00:00.000000',250,231,30000,14), + (190175,190127,3139,'1967-01-01 00:00:00.000000',250,231,30000,17), + (190176,190121,3133,'1967-01-01 00:00:00.000000',250,231,30000,16), + (200001,200001,1623,'1932-01-01 00:00:00.000000',1000,54,30000,3), + (200002,200006,490,'1999-01-01 00:00:00.000000',1000,54,30000,6), + (200003,200003,491,'1999-01-01 00:00:00.000000',1000,54,30000,5), + (200004,200002,518,'1955-01-01 00:00:00.000000',1000,54,30000,4), + (200005,200008,882,'1958-01-01 00:00:00.000000',125,126,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200006,200009,1460,'1966-01-01 00:00:00.000000',1000,54,30000,2), + (200007,200010,1461,'1969-01-01 00:00:00.000000',125,297,30000,14), + (200008,200011,1516,'1963-01-01 00:00:00.000000',0,1915,30000,19), + (200009,200012,1582,'1969-01-01 00:00:00.000000',250,71,30000,13), + (200010,200005,1615,'1965-01-01 00:00:00.000000',0,231,30000,3), + (200011,200013,1473,'1999-01-01 00:00:00.000000',125,297,30000,4), + (200012,200014,1629,'1969-01-01 00:00:00.000000',125,71,30000,17), + (200013,200007,1678,'1999-01-01 00:00:00.000000',250,175,30000,15), + (200014,200015,1683,'1968-01-01 00:00:00.000000',1000,54,30000,1), + (200015,200004,1471,'1999-01-01 00:00:00.000000',125,297,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200016,200016,1763,'1999-01-01 00:00:00.000000',1000,54,30000,7), + (200017,200017,1764,'1999-01-01 00:00:00.000000',1000,54,30000,8), + (200018,200018,1765,'1999-01-01 00:00:00.000000',1000,54,30000,9), + (200019,200019,1766,'1999-01-01 00:00:00.000000',1000,54,30000,10), + (200020,200020,1767,'1999-01-01 00:00:00.000000',1000,54,30000,12), + (200021,200021,1768,'1968-01-01 00:00:00.000000',1000,54,30000,11), + (200022,200022,1769,'1999-01-01 00:00:00.000000',1000,54,30000,14), + (200023,200023,1770,'1999-01-01 00:00:00.000000',1000,54,30000,13), + (200024,200024,1771,'1999-01-01 00:00:00.000000',1000,64,30000,6), + (200025,200025,1772,'1999-01-01 00:00:00.000000',250,297,30000,7); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200026,200026,1773,'1999-01-01 00:00:00.000000',125,414,30000,7), + (200027,200027,1774,'1999-01-01 00:00:00.000000',500,64,30000,13), + (200028,200028,1775,'1999-01-01 00:00:00.000000',1000,64,30000,3), + (200029,200029,1776,'1999-01-01 00:00:00.000000',1000,64,30000,1), + (200030,200030,1777,'1999-01-01 00:00:00.000000',125,350,30000,19), + (200031,200031,1778,'1999-01-01 00:00:00.000000',125,193,30000,4), + (200032,200032,1779,'1999-01-01 00:00:00.000000',125,193,30000,6), + (200033,200033,1780,'1999-01-01 00:00:00.000000',125,193,30000,5), + (200034,200034,1781,'1999-01-01 00:00:00.000000',125,193,30000,7), + (200035,200035,1782,'1999-01-01 00:00:00.000000',125,193,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200036,200036,1783,'1999-01-01 00:00:00.000000',125,297,30000,6), + (200037,200037,1784,'1999-01-01 00:00:00.000000',125,297,30000,5), + (200038,200038,1785,'1999-01-01 00:00:00.000000',125,193,30000,1), + (200039,200039,1786,'1999-01-01 00:00:00.000000',125,297,30000,1), + (200040,200040,1787,'1999-01-01 00:00:00.000000',125,297,30000,7), + (200041,200041,1788,'1999-01-01 00:00:00.000000',125,297,30000,12), + (200042,200042,1963,'1957-01-01 00:00:00.000000',125,217,30000,15), + (200043,200043,2024,'1966-01-01 00:00:00.000000',250,278,30000,3), + (200044,200044,2025,'1966-01-01 00:00:00.000000',250,125,30000,3), + (200045,200045,2026,'1959-01-01 00:00:00.000000',125,142,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200046,200046,2040,'1965-01-01 00:00:00.000000',1000,64,30000,5), + (200047,200047,2052,'1967-01-01 00:00:00.000000',250,153,30000,6), + (200048,200048,2056,'1958-01-01 00:00:00.000000',250,126,30000,19), + (200049,200049,2057,'1959-01-01 00:00:00.000000',125,414,30000,19), + (200050,200050,2059,'1963-01-01 00:00:00.000000',250,153,30000,19), + (200051,200051,2063,'1970-01-01 00:00:00.000000',250,193,30000,5), + (200052,200052,2066,'1966-01-01 00:00:00.000000',250,193,30000,12), + (200053,200053,2075,'1959-01-01 00:00:00.000000',125,71,30000,18), + (200054,200054,2104,'1969-01-01 00:00:00.000000',250,64,30000,4), + (200055,200015,2463,'1964-01-01 00:00:00.000000',0,54,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200056,200055,2475,'1940-01-01 00:00:00.000000',1000,40,30000,20), + (200057,200056,2483,'1953-01-01 00:00:00.000000',250,114,30000,21), + (200058,200057,2484,'1953-01-01 00:00:00.000000',1000,54,30000,21), + (200059,200058,2485,'1955-01-01 00:00:00.000000',125,183,30000,21), + (200060,200059,2486,'1956-01-01 00:00:00.000000',125,333,30000,21), + (200061,200060,2490,'1964-01-01 00:00:00.000000',250,64,30000,2), + (200062,200061,2497,'1970-01-01 00:00:00.000000',1000,54,30000,16), + (200063,200062,2498,'1971-01-01 00:00:00.000000',250,64,30000,16), + (200064,200063,2510,'1968-01-01 00:00:00.000000',1000,54,30000,17), + (200065,200064,2511,'1970-01-01 00:00:00.000000',250,64,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200066,200065,2531,'1954-01-01 00:00:00.000000',1000,50,30000,15), + (200067,200066,2627,'1990-01-01 00:00:00.000000',500,183,30000,8), + (200068,200068,2626,'1990-01-01 00:00:00.000000',250,183,30000,20), + (200069,200067,2625,'1990-01-01 00:00:00.000000',500,64,30000,20), + (200070,200069,2624,'1990-01-01 00:00:00.000000',500,183,30000,9), + (200071,200070,2623,'1990-01-01 00:00:00.000000',60,249,30000,18), + (200072,200071,2622,'1990-01-01 00:00:00.000000',125,167,30000,18), + (200073,200072,2620,'1990-01-01 00:00:00.000000',500,183,30000,10), + (200074,200073,2621,'1990-01-01 00:00:00.000000',250,333,30000,10), + (200075,200074,2619,'1990-01-01 00:00:00.000000',500,183,30000,11); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200076,200075,2659,'1998-01-01 00:00:00.000000',0,489,30000,6), + (200077,200076,2835,'1957-01-01 00:00:00.000000',125,133,30000,15), + (200078,200079,2838,'1957-01-01 00:00:00.000000',125,137,30000,15), + (200079,200080,2839,'1957-01-01 00:00:00.000000',125,146,30000,15), + (200080,200077,2836,'1957-01-01 00:00:00.000000',125,151,30000,15), + (200081,200078,2837,'1957-01-01 00:00:00.000000',125,156,30000,15), + (200082,200081,2840,'1957-01-01 00:00:00.000000',125,228,30000,15), + (200083,200083,2842,'1957-01-01 00:00:00.000000',60,243,30000,15), + (200084,200084,2843,'1957-01-01 00:00:00.000000',60,268,30000,15), + (200085,200082,2841,'1957-01-01 00:00:00.000000',60,286,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200086,200085,2844,'1957-01-01 00:00:00.000000',60,295,30000,15), + (200087,200086,2904,'1964-01-01 00:00:00.000000',500,185,30000,6), + (200088,200087,2905,'1964-01-01 00:00:00.000000',250,197,30000,6), + (200089,200094,2902,'1964-01-01 00:00:00.000000',250,244,30000,6), + (200090,200093,2903,'1964-01-01 00:00:00.000000',125,260,30000,6), + (200091,200088,2906,'1964-01-01 00:00:00.000000',250,210,30000,6), + (200092,200089,2907,'1964-01-01 00:00:00.000000',125,278,30000,6), + (200093,200090,2908,'1964-01-01 00:00:00.000000',125,327,30000,6), + (200094,200091,2909,'1964-01-01 00:00:00.000000',60,349,30000,6), + (200095,200092,2910,'1964-01-01 00:00:00.000000',60,385,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200096,200095,2900,'1964-01-01 00:00:00.000000',250,181,30000,6), + (200097,200096,2901,'1964-01-01 00:00:00.000000',250,205,30000,6), + (200098,200112,2955,'1965-01-01 00:00:00.000000',250,204,30000,21), + (200099,200101,2946,'1965-01-01 00:00:00.000000',500,244,30000,4), + (200100,200097,2941,'1965-01-01 00:00:00.000000',250,260,30000,4), + (200101,200110,2954,'1965-01-01 00:00:00.000000',125,260,30000,21), + (200102,200102,2947,'1965-01-01 00:00:00.000000',125,269,30000,4), + (200103,200111,2956,'1965-01-01 00:00:00.000000',125,297,30000,21), + (200104,200103,2948,'1965-01-01 00:00:00.000000',60,328,30000,4), + (200105,200098,2942,'1965-01-01 00:00:00.000000',60,350,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200106,200121,2965,'1965-01-01 00:00:00.000000',250,54,30000,21), + (200107,200120,2964,'1965-01-01 00:00:00.000000',500,71,30000,21), + (200108,200117,2961,'1965-01-01 00:00:00.000000',125,139,30000,21), + (200109,200107,2953,'1965-01-01 00:00:00.000000',250,153,30000,4), + (200110,200116,2960,'1965-01-01 00:00:00.000000',250,114,30000,21), + (200111,200108,2952,'1965-01-01 00:00:00.000000',250,114,30000,4), + (200112,200118,2962,'1965-01-01 00:00:00.000000',250,114,30000,21), + (200113,200119,2963,'1965-01-01 00:00:00.000000',125,139,30000,21), + (200114,200106,2951,'1965-01-01 00:00:00.000000',250,114,30000,4), + (200115,200115,2959,'1965-01-01 00:00:00.000000',500,181,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200116,200100,2944,'1965-01-01 00:00:00.000000',250,181,30000,4), + (200117,200113,2957,'1965-01-01 00:00:00.000000',250,193,30000,21), + (200118,200104,2949,'1965-01-01 00:00:00.000000',250,161,30000,4), + (200119,200114,2958,'1965-01-01 00:00:00.000000',125,166,30000,21), + (200120,200109,2945,'1965-01-01 00:00:00.000000',125,212,30000,4), + (200121,200099,2943,'1965-01-01 00:00:00.000000',125,226,30000,4), + (200122,200105,2950,'1965-01-01 00:00:00.000000',60,195,30000,4), + (200123,200132,3059,'1966-01-01 00:00:00.000000',250,64,30000,2), + (200124,200122,3050,'1966-01-01 00:00:00.000000',250,126,30000,2), + (200125,200130,3049,'1966-01-01 00:00:00.000000',500,156,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200126,200131,3048,'1966-01-01 00:00:00.000000',125,278,30000,2), + (200127,200133,3055,'1966-01-01 00:00:00.000000',500,277,30000,2), + (200128,200134,3056,'1966-01-01 00:00:00.000000',125,385,30000,2), + (200129,200135,3057,'1966-01-01 00:00:00.000000',60,455,30000,2), + (200130,200136,3058,'1966-01-01 00:00:00.000000',0,587,30000,2), + (200131,200124,3052,'1966-01-01 00:00:00.000000',500,114,30000,2), + (200132,200126,3054,'1966-01-01 00:00:00.000000',250,114,30000,2), + (200133,200123,3051,'1966-01-01 00:00:00.000000',250,114,30000,2), + (200134,200125,3053,'1966-01-01 00:00:00.000000',125,126,30000,2), + (200135,200127,3045,'1966-01-01 00:00:00.000000',250,161,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200136,200128,3046,'1966-01-01 00:00:00.000000',125,183,30000,2), + (200137,200129,3047,'1966-01-01 00:00:00.000000',60,236,30000,2), + (200138,200147,3096,'1966-01-01 00:00:00.000000',500,252,30000,13), + (200139,200148,3097,'1966-01-01 00:00:00.000000',125,297,30000,13), + (200140,200149,3098,'1966-01-01 00:00:00.000000',125,350,30000,13), + (200141,200150,3099,'1966-01-01 00:00:00.000000',60,414,30000,13), + (200142,200151,3100,'1966-01-01 00:00:00.000000',0,489,30000,13), + (200143,200137,3090,'1966-01-01 00:00:00.000000',500,114,30000,13), + (200144,200140,3086,'1966-01-01 00:00:00.000000',500,114,30000,13), + (200145,200138,3089,'1966-01-01 00:00:00.000000',250,114,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200146,200141,3087,'1966-01-01 00:00:00.000000',125,114,30000,13), + (200147,200139,3088,'1966-01-01 00:00:00.000000',60,139,30000,13), + (200148,200142,3091,'1966-01-01 00:00:00.000000',500,151,30000,13), + (200149,200145,3092,'1966-01-01 00:00:00.000000',500,172,30000,13), + (200150,200143,3093,'1966-01-01 00:00:00.000000',250,195,30000,13), + (200151,200144,3094,'1966-01-01 00:00:00.000000',125,275,30000,13), + (200152,200146,3095,'1966-01-01 00:00:00.000000',60,314,30000,13), + (200153,200161,3127,'1966-01-01 00:00:00.000000',500,252,30000,5), + (200154,200162,3128,'1966-01-01 00:00:00.000000',250,385,30000,5), + (200155,200163,3129,'1966-01-01 00:00:00.000000',125,455,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200156,200164,3130,'1966-01-01 00:00:00.000000',0,587,30000,5), + (200157,200152,3118,'1966-01-01 00:00:00.000000',500,139,30000,5), + (200158,200153,3119,'1966-01-01 00:00:00.000000',250,139,30000,5), + (200159,200154,3120,'1966-01-01 00:00:00.000000',250,139,30000,5), + (200160,200155,3121,'1966-01-01 00:00:00.000000',125,153,30000,5), + (200161,200156,3122,'1966-01-01 00:00:00.000000',125,153,30000,5), + (200162,200157,3123,'1966-01-01 00:00:00.000000',500,205,30000,5), + (200163,200158,3124,'1966-01-01 00:00:00.000000',250,226,30000,5), + (200164,200159,3125,'1966-01-01 00:00:00.000000',150,293,30000,5), + (200165,200160,3126,'1966-01-01 00:00:00.000000',60,376,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200166,200175,3486,'1967-01-01 00:00:00.000000',500,252,30000,3), + (200167,200176,3488,'1967-01-01 00:00:00.000000',125,350,30000,3), + (200168,200177,3489,'1967-01-01 00:00:00.000000',125,455,30000,3), + (200169,200177,3490,'1967-01-01 00:00:00.000000',1,455,30000,3), + (200170,200178,3490,'1967-01-01 00:00:00.000000',0,538,30000,3), + (200171,200167,3478,'1967-01-01 00:00:00.000000',500,114,30000,3), + (200172,200165,3476,'1967-01-01 00:00:00.000000',250,139,30000,3), + (200173,200168,3479,'1967-01-01 00:00:00.000000',250,114,30000,3), + (200174,200169,3480,'1967-01-01 00:00:00.000000',125,126,30000,3), + (200175,200166,3477,'1967-01-01 00:00:00.000000',250,139,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200176,200170,3481,'1967-01-01 00:00:00.000000',500,181,30000,3), + (200177,200171,3482,'1967-01-01 00:00:00.000000',500,193,30000,3), + (200178,200172,3483,'1967-01-01 00:00:00.000000',250,226,30000,3), + (200179,200173,3484,'1967-01-01 00:00:00.000000',125,293,30000,3), + (200180,200174,3485,'1967-01-01 00:00:00.000000',125,345,30000,3), + (200181,200183,3500,'1967-01-01 00:00:00.000000',250,252,30000,1), + (200182,200184,3501,'1967-01-01 00:00:00.000000',125,385,30000,1), + (200183,200185,3502,'1967-01-01 00:00:00.000000',125,455,30000,1), + (200184,200178,3503,'1967-01-01 00:00:00.000000',0,538,30000,1), + (200185,200189,3493,'1967-01-01 00:00:00.000000',500,114,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200186,200187,3491,'1967-01-01 00:00:00.000000',250,139,30000,1), + (200187,200190,3494,'1967-01-01 00:00:00.000000',250,114,30000,1), + (200188,200188,3492,'1967-01-01 00:00:00.000000',125,153,30000,1), + (200189,200191,3495,'1967-01-01 00:00:00.000000',125,126,30000,1), + (200190,200179,3496,'1967-01-01 00:00:00.000000',500,181,30000,1), + (200191,200180,3497,'1967-01-01 00:00:00.000000',250,226,30000,1), + (200192,200181,3498,'1967-01-01 00:00:00.000000',125,266,30000,1), + (200193,200182,3499,'1967-01-01 00:00:00.000000',125,345,30000,1), + (200194,200201,3513,'1967-01-01 00:00:00.000000',500,252,30000,12), + (200195,200202,3514,'1967-01-01 00:00:00.000000',125,350,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200196,200203,3515,'1967-01-01 00:00:00.000000',125,455,30000,12), + (200197,200204,3516,'1967-01-01 00:00:00.000000',0,538,30000,12), + (200198,200194,3506,'1967-01-01 00:00:00.000000',500,114,30000,12), + (200199,200192,3504,'1967-01-01 00:00:00.000000',500,153,30000,12), + (200200,200195,3507,'1967-01-01 00:00:00.000000',250,114,30000,12), + (200201,200193,3505,'1967-01-01 00:00:00.000000',125,153,30000,12), + (200202,200196,3508,'1967-01-01 00:00:00.000000',125,126,30000,12), + (200203,200197,3509,'1967-01-01 00:00:00.000000',500,181,30000,12), + (200204,200198,3510,'1967-01-01 00:00:00.000000',250,226,30000,12), + (200205,200199,3511,'1967-01-01 00:00:00.000000',125,266,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200206,200200,3512,'1967-01-01 00:00:00.000000',60,345,30000,12), + (200207,200215,3527,'1967-01-01 00:00:00.000000',500,252,30000,14), + (200208,200216,3528,'1967-01-01 00:00:00.000000',250,297,30000,14), + (200209,200217,3529,'1967-01-01 00:00:00.000000',125,350,30000,14), + (200210,200218,3530,'1967-01-01 00:00:00.000000',125,455,30000,14), + (200211,200219,3531,'1967-01-01 00:00:00.000000',0,538,30000,14), + (200212,200207,3519,'1967-01-01 00:00:00.000000',500,114,30000,14), + (200213,200205,3517,'1967-01-01 00:00:00.000000',500,153,30000,14), + (200214,200208,3520,'1967-01-01 00:00:00.000000',250,114,30000,14), + (200215,200206,3518,'1967-01-01 00:00:00.000000',125,153,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200216,200209,3521,'1967-01-01 00:00:00.000000',125,126,30000,14), + (200217,200210,3522,'1967-01-01 00:00:00.000000',500,181,30000,14), + (200218,200211,3523,'1967-01-01 00:00:00.000000',500,193,30000,14), + (200219,200212,3524,'1967-01-01 00:00:00.000000',250,226,30000,14), + (200220,200213,3525,'1967-01-01 00:00:00.000000',125,266,30000,14), + (200221,200214,3526,'1967-01-01 00:00:00.000000',125,345,30000,14), + (200222,200228,3540,'1967-01-01 00:00:00.000000',500,252,30000,19), + (200223,200229,3541,'1967-01-01 00:00:00.000000',125,297,30000,19), + (200224,200230,3542,'1967-01-01 00:00:00.000000',0,538,30000,19), + (200225,200221,3533,'1967-01-01 00:00:00.000000',500,153,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200226,200220,3532,'1967-01-01 00:00:00.000000',250,114,30000,19), + (200227,200141,3534,'1967-01-01 00:00:00.000000',250,114,30000,19), + (200228,200223,3535,'1967-01-01 00:00:00.000000',500,181,30000,19), + (200229,200224,3536,'1967-01-01 00:00:00.000000',500,193,30000,19), + (200230,200225,3537,'1967-01-01 00:00:00.000000',250,226,30000,19), + (200231,200226,3538,'1967-01-01 00:00:00.000000',125,266,30000,19), + (200232,200227,3539,'1967-01-01 00:00:00.000000',60,345,30000,19), + (200233,200236,3548,'1967-01-01 00:00:00.000000',500,252,30000,9), + (200234,200237,3549,'1967-01-01 00:00:00.000000',250,297,30000,9), + (200235,200238,3550,'1967-01-01 00:00:00.000000',125,350,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200236,200239,3551,'1967-01-01 00:00:00.000000',125,455,30000,9), + (200237,200240,3552,'1967-01-01 00:00:00.000000',0,538,30000,9), + (200238,200231,3543,'1967-01-01 00:00:00.000000',500,114,30000,9), + (200239,200234,3547,'1967-01-01 00:00:00.000000',500,153,30000,9), + (200240,200232,3544,'1967-01-01 00:00:00.000000',250,114,30000,9), + (200241,200235,3546,'1967-01-01 00:00:00.000000',250,153,30000,9), + (200242,200233,3545,'1967-01-01 00:00:00.000000',125,114,30000,9), + (200243,200241,3553,'1967-01-01 00:00:00.000000',500,181,30000,9), + (200244,200242,3554,'1967-01-01 00:00:00.000000',500,193,30000,9), + (200245,200243,3555,'1967-01-01 00:00:00.000000',250,226,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200246,200244,3556,'1967-01-01 00:00:00.000000',125,293,30000,9), + (200247,200245,3557,'1967-01-01 00:00:00.000000',125,345,30000,9), + (200248,200251,3563,'1967-01-01 00:00:00.000000',500,252,30000,18), + (200249,200252,3564,'1967-01-01 00:00:00.000000',250,297,30000,18), + (200250,200253,3565,'1967-01-01 00:00:00.000000',150,385,30000,18), + (200251,200254,3566,'1967-01-01 00:00:00.000000',125,455,30000,18), + (200252,200255,3567,'1967-01-01 00:00:00.000000',0,538,30000,18), + (200253,200246,3558,'1967-01-01 00:00:00.000000',500,114,30000,18), + (200254,200249,3561,'1967-01-01 00:00:00.000000',500,153,30000,18), + (200255,200250,3562,'1967-01-01 00:00:00.000000',250,153,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200256,200247,3559,'1967-01-01 00:00:00.000000',250,114,30000,18), + (200257,200248,3560,'1967-01-01 00:00:00.000000',125,126,30000,18), + (200258,200256,3568,'1967-01-01 00:00:00.000000',500,181,30000,18), + (200259,200257,3569,'1967-01-01 00:00:00.000000',500,193,30000,18), + (200260,200258,3570,'1967-01-01 00:00:00.000000',250,226,30000,18), + (200261,200259,3571,'1967-01-01 00:00:00.000000',125,293,30000,18), + (200262,200260,3572,'1967-01-01 00:00:00.000000',125,345,30000,18), + (200263,200266,3578,'1967-01-01 00:00:00.000000',500,252,30000,17), + (200264,200267,3579,'1967-01-01 00:00:00.000000',250,297,30000,17), + (200265,200268,3580,'1967-01-01 00:00:00.000000',150,385,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200266,200269,3581,'1967-01-01 00:00:00.000000',125,455,30000,17), + (200267,200270,3582,'1967-01-01 00:00:00.000000',0,538,30000,17), + (200268,200261,3573,'1967-01-01 00:00:00.000000',500,114,30000,17), + (200269,200264,3576,'1967-01-01 00:00:00.000000',500,153,30000,17), + (200270,200262,3574,'1967-01-01 00:00:00.000000',250,114,30000,17), + (200271,200265,3577,'1967-01-01 00:00:00.000000',125,153,30000,17), + (200272,200263,3575,'1967-01-01 00:00:00.000000',125,126,30000,17), + (200273,200271,3583,'1967-01-01 00:00:00.000000',500,181,30000,17), + (200274,200272,3584,'1967-01-01 00:00:00.000000',500,193,30000,17), + (200275,200273,3585,'1967-01-01 00:00:00.000000',250,226,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200276,200274,3586,'1967-01-01 00:00:00.000000',125,293,30000,17), + (200277,200275,3587,'1967-01-01 00:00:00.000000',125,345,30000,17), + (200278,200281,3593,'1967-01-01 00:00:00.000000',500,252,30000,16), + (200279,200282,3594,'1967-01-01 00:00:00.000000',250,297,30000,16), + (200280,200268,3595,'1967-01-01 00:00:00.000000',125,385,30000,16), + (200281,200284,3596,'1967-01-01 00:00:00.000000',125,455,30000,16), + (200282,200285,3597,'1967-01-01 00:00:00.000000',0,538,30000,16), + (200283,200276,3588,'1967-01-01 00:00:00.000000',500,114,30000,16), + (200284,200279,3591,'1967-01-01 00:00:00.000000',500,153,30000,16), + (200285,200277,3589,'1967-01-01 00:00:00.000000',250,114,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (200286,200280,3592,'1967-01-01 00:00:00.000000',125,153,30000,16), + (200287,200278,3590,'1967-01-01 00:00:00.000000',125,126,30000,16), + (200288,200286,3598,'1967-01-01 00:00:00.000000',500,181,30000,16), + (200289,200287,3599,'1967-01-01 00:00:00.000000',500,193,30000,16), + (200290,200288,3600,'1967-01-01 00:00:00.000000',250,226,30000,16), + (200291,200289,3601,'1967-01-01 00:00:00.000000',125,293,30000,16), + (200292,200290,3602,'1967-01-01 00:00:00.000000',125,345,30000,16), + (230001,230001,193,'1954-01-01 00:00:00.000000',1000,242,30000,0), + (230002,230002,413,'1940-01-01 00:00:00.000000',500,130,30000,0), + (230003,230003,414,'1966-01-01 00:00:00.000000',250,552,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (230004,230004,415,'1958-01-01 00:00:00.000000',0,1062,30000,0), + (230005,230005,416,'1971-01-01 00:00:00.000000',0,1049,30000,0), + (230006,230006,2686,'1995-01-01 00:00:00.000000',125,651,30000,0), + (230007,230027,3728,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230008,230012,3714,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230009,230023,3724,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230010,230037,3739,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230011,230017,3719,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230012,230018,3720,'1970-01-01 00:00:00.000000',150,1054,30000,0), + (230013,230026,3727,'1970-01-01 00:00:00.000000',750,242,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (230014,230016,3718,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230015,230036,3738,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230016,230011,3713,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230017,230022,3723,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230018,230030,3732,'1970-01-01 00:00:00.000000',1000,169,30000,0), + (230019,230021,3722,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230020,230019,3731,'1970-01-01 00:00:00.000000',1000,169,30000,0), + (230021,230029,3730,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230022,230028,3729,'1970-01-01 00:00:00.000000',1000,242,30000,0), + (230023,230025,3726,'1970-01-01 00:00:00.000000',250,552,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (230024,230035,3737,'1970-01-01 00:00:00.000000',100,1054,30000,0), + (230025,230034,3736,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230026,230014,3716,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230027,230008,3706,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230028,230015,3717,'1970-01-01 00:00:00.000000',250,1054,30000,0), + (230029,230033,3735,'1970-01-01 00:00:00.000000',1000,242,30000,0), + (230030,230013,3715,'1970-01-01 00:00:00.000000',1000,242,30000,0), + (230031,230007,3705,'1970-01-01 00:00:00.000000',1000,242,30000,0), + (230032,230024,3725,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230033,230020,3721,'1970-01-01 00:00:00.000000',1000,242,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (230034,230010,3712,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230035,230009,3711,'1970-01-01 00:00:00.000000',750,242,30000,0), + (230036,230032,3734,'1970-01-01 00:00:00.000000',500,552,30000,0), + (230037,230031,3733,'1970-01-01 00:00:00.000000',750,242,30000,0), + (240001,240001,194,'1949-01-01 00:00:00.000000',1000,174,30000,0), + (240002,240002,410,'1969-01-01 00:00:00.000000',60,1224,30000,0), + (240003,240003,411,'1960-01-01 00:00:00.000000',500,124,30000,0), + (240004,240004,412,'1960-01-01 00:00:00.000000',60,624,30000,0), + (240005,240005,453,'1960-01-01 00:00:00.000000',250,673,30000,0), + (240006,240006,454,'1966-01-01 00:00:00.000000',125,772,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (240007,240008,1467,'1995-01-01 00:00:00.000000',0,1471,30000,0), + (240008,240007,1466,'1995-01-01 00:00:00.000000',60,821,30000,0), + (240009,240011,2694,'1995-01-01 00:00:00.000000',30,1471,30000,0), + (240010,240010,2695,'1995-01-01 00:00:00.000000',60,821,30000,0), + (240011,240009,2696,'1995-01-01 00:00:00.000000',60,968,30000,0), + (240012,240027,3695,'1970-01-01 00:00:00.000000',500,1018,30000,0), + (240013,240033,3701,'1970-01-01 00:00:00.000000',500,1018,30000,0), + (240014,240015,3683,'1970-01-01 00:00:00.000000',500,1018,30000,0), + (240015,240021,3689,'1970-01-01 00:00:00.000000',500,1018,30000,0), + (240016,240023,3691,'1970-01-01 00:00:00.000000',150,722,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (240017,240023,3697,'1970-01-01 00:00:00.000000',150,722,30000,0), + (240018,240017,3685,'1970-01-01 00:00:00.000000',150,722,30000,0), + (240019,240025,3693,'1970-01-01 00:00:00.000000',500,1116,30000,0), + (240020,240019,3687,'1970-01-01 00:00:00.000000',500,1116,30000,0), + (240021,240013,3681,'1970-01-01 00:00:00.000000',500,1116,30000,0), + (240022,240031,3699,'1970-01-01 00:00:00.000000',500,1116,30000,0), + (240023,240014,3682,'1970-01-01 00:00:00.000000',500,321,30000,0), + (240024,240032,3700,'1970-01-01 00:00:00.000000',500,321,30000,0), + (240025,240026,3694,'1970-01-01 00:00:00.000000',500,321,30000,0), + (240026,240020,3688,'1970-01-01 00:00:00.000000',500,321,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (240027,240016,3684,'1970-01-01 00:00:00.000000',250,177,30000,0), + (240028,240022,3690,'1970-01-01 00:00:00.000000',250,177,30000,0), + (240029,240028,3696,'1970-01-01 00:00:00.000000',250,177,30000,0), + (240030,240024,3692,'1970-01-01 00:00:00.000000',1000,419,30000,0), + (240031,240030,3698,'1970-01-01 00:00:00.000000',1000,419,30000,0), + (240032,240012,3680,'1970-01-01 00:00:00.000000',1000,419,30000,0), + (240033,240018,3686,'1970-01-01 00:00:00.000000',1000,419,30000,0), + (250001,250001,1444,'1950-01-01 00:00:00.000000',1000,174,30000,0), + (250002,250002,165,'1940-01-01 00:00:00.000000',500,174,30000,0), + (250003,250003,1043,'1940-01-01 00:00:00.000000',1000,174,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (250004,250004,451,'1970-01-01 00:00:00.000000',30,474,30000,0), + (250005,250005,467,'1969-01-01 00:00:00.000000',60,977,30000,0), + (250006,250006,1739,'1958-01-01 00:00:00.000000',125,474,30000,0), + (250007,250007,468,'1958-01-01 00:00:00.000000',60,974,30000,0), + (250008,250008,469,'1965-01-01 00:00:00.000000',60,480,30000,0), + (250009,250030,3759,'1970-01-01 00:00:00.000000',250,474,30000,0), + (250010,250029,3758,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250011,250011,3743,'1970-01-01 00:00:00.000000',250,474,30000,0), + (250012,250014,3746,'1970-01-01 00:00:00.000000',250,474,30000,0), + (250013,250028,3761,'1970-01-01 00:00:00.000000',250,474,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (250014,250020,3750,'1970-01-01 00:00:00.000000',250,474,30000,0), + (250015,250027,3760,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250016,250019,3749,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250017,250015,3742,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250018,250013,3745,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250019,250026,3757,'1970-01-01 00:00:00.000000',500,174,30000,0), + (250020,250022,3753,'1970-01-01 00:00:00.000000',1000,174,30000,0), + (250021,250016,3752,'1970-01-01 00:00:00.000000',1000,174,30000,0), + (250022,250021,3751,'1970-01-01 00:00:00.000000',750,179,30000,0), + (250023,250018,3748,'1970-01-01 00:00:00.000000',250,474,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (250024,250024,3755,'1970-01-01 00:00:00.000000',100,1367,30000,0), + (250025,250010,3741,'1970-01-01 00:00:00.000000',500,670,30000,0), + (250026,250009,3740,'1970-01-01 00:00:00.000000',1000,174,30000,0), + (250027,250012,3744,'1970-01-01 00:00:00.000000',1000,174,30000,0), + (250028,250017,3747,'1970-01-01 00:00:00.000000',500,179,30000,0), + (250029,250025,3756,'1970-01-01 00:00:00.000000',500,174,30000,0), + (250030,250023,3754,'1970-01-01 00:00:00.000000',750,179,30000,0), + (280001,280001,108,'1968-01-01 00:00:00.000000',1000,119,30000,3), + (280002,280002,109,'1965-01-01 00:00:00.000000',1000,119,30000,5), + (280003,280003,110,'1958-01-01 00:00:00.000000',1000,179,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280004,280004,438,'1970-01-01 00:00:00.000000',125,500,30000,17), + (280005,280006,437,'1964-01-01 00:00:00.000000',60,845,30000,19), + (280006,280005,436,'1964-01-01 00:00:00.000000',125,447,30000,5), + (280007,280007,488,'1999-01-01 00:00:00.000000',30,3431,30000,6), + (280008,280008,1288,'1968-01-01 00:00:00.000000',125,456,30000,3), + (280009,280010,1671,'1962-01-01 00:00:00.000000',60,845,30000,1), + (280010,280011,1684,'1970-01-01 00:00:00.000000',125,516,30000,14), + (280011,280012,1685,'1996-01-01 00:00:00.000000',30,2037,30000,5), + (280012,280009,1295,'1965-01-01 00:00:00.000000',30,1811,30000,3), + (280013,280013,1935,'1967-01-01 00:00:00.000000',1000,119,30000,7); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280014,280014,1936,'1961-01-01 00:00:00.000000',1000,119,30000,8), + (280015,280015,1937,'1949-01-01 00:00:00.000000',500,403,30000,9), + (280016,280016,1938,'1955-01-01 00:00:00.000000',1000,119,30000,6), + (280017,280017,1939,'1958-01-01 00:00:00.000000',1000,119,30000,1), + (280018,280018,1940,'1964-01-01 00:00:00.000000',1000,179,30000,4), + (280019,280019,1941,'1932-01-01 00:00:00.000000',125,179,30000,10), + (280020,280020,1942,'1965-01-01 00:00:00.000000',1000,119,30000,12), + (280021,280021,1943,'1968-01-01 00:00:00.000000',1000,179,30000,11), + (280022,280022,1944,'1959-01-01 00:00:00.000000',1000,179,30000,14), + (280023,280023,1945,'1955-01-01 00:00:00.000000',1000,149,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280024,280024,1946,'1957-01-01 00:00:00.000000',125,179,30000,6), + (280025,280025,1947,'1968-01-01 00:00:00.000000',125,456,30000,7), + (280026,280026,1948,'1969-01-01 00:00:00.000000',60,1510,30000,7), + (280027,280027,1949,'1970-01-01 00:00:00.000000',250,132,30000,12), + (280028,280028,1950,'1967-01-01 00:00:00.000000',125,486,30000,13), + (280029,280029,1951,'1959-01-01 00:00:00.000000',125,486,30000,13), + (280030,280030,1952,'1957-01-01 00:00:00.000000',125,107,30000,15), + (280031,280031,1953,'1968-01-01 00:00:00.000000',125,456,30000,3), + (280032,280032,1954,'1969-01-01 00:00:00.000000',30,1509,30000,17), + (280033,280033,1955,'1962-01-01 00:00:00.000000',60,1510,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280034,280034,1956,'1967-01-01 00:00:00.000000',500,132,30000,1), + (280035,280035,1957,'1964-01-01 00:00:00.000000',60,638,30000,1), + (280036,280036,1958,'1964-01-01 00:00:00.000000',125,456,30000,1), + (280037,280037,1959,'1970-01-01 00:00:00.000000',125,213,30000,2), + (280038,280038,2053,'1970-01-01 00:00:00.000000',125,516,30000,6), + (280039,280039,2073,'1959-01-01 00:00:00.000000',125,486,30000,13), + (280040,280008,2090,'1961-01-01 00:00:00.000000',125,456,30000,3), + (280041,280040,2105,'1969-01-01 00:00:00.000000',125,516,30000,4), + (280042,280041,2470,'1964-01-01 00:00:00.000000',30,500,30000,18), + (280043,280042,2471,'1964-01-01 00:00:00.000000',0,119,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280044,280043,2479,'1940-01-01 00:00:00.000000',125,74,30000,20), + (280045,280044,2487,'1953-01-01 00:00:00.000000',125,119,30000,21), + (280046,280045,2505,'1970-01-01 00:00:00.000000',1000,149,30000,16), + (280047,280046,2519,'1968-01-01 00:00:00.000000',1000,119,30000,17), + (280048,280047,2520,'1970-01-01 00:00:00.000000',30,456,30000,17), + (280049,280048,2525,'1964-01-01 00:00:00.000000',125,492,30000,4), + (280050,280049,2535,'1954-01-01 00:00:00.000000',1000,107,30000,15), + (280051,280050,2548,'1958-01-01 00:00:00.000000',1000,119,30000,19), + (280052,280051,2557,'1959-01-01 00:00:00.000000',125,456,30000,19), + (280053,280052,2558,'1970-01-01 00:00:00.000000',125,456,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280054,280053,2579,'1955-02-15 00:00:00.000000',60,486,30000,21), + (280055,280054,2580,'1947-01-17 00:00:00.000000',60,411,30000,20), + (280056,280055,2581,'1969-02-22 00:00:00.000000',500,617,30000,8), + (280057,280056,2582,'1969-02-22 00:00:00.000000',30,1931,30000,8), + (280058,280057,2583,'1959-03-21 00:00:00.000000',250,575,30000,9), + (280059,280058,2584,'1940-02-16 00:00:00.000000',250,516,30000,10), + (280060,280059,2585,'1969-04-11 00:00:00.000000',250,516,30000,11), + (280061,280061,2668,'1995-01-01 00:00:00.000000',30,2052,30000,19), + (280062,280062,2669,'1995-01-01 00:00:00.000000',30,2082,30000,17), + (280063,280060,2670,'1995-01-01 00:00:00.000000',30,2052,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280064,280063,2757,'1970-06-16 00:00:00.000000',30,1931,30000,14), + (280065,280064,2758,'1962-06-16 00:00:00.000000',30,1931,30000,21), + (280066,280065,2759,'1962-06-16 00:00:00.000000',30,1886,30000,20), + (280067,280066,2760,'1962-06-16 00:00:00.000000',30,1886,30000,9), + (280068,280067,2761,'1962-06-16 00:00:00.000000',30,1931,30000,6), + (280069,280068,2762,'1967-06-16 00:00:00.000000',30,1931,30000,2), + (280070,280069,2763,'1962-06-16 00:00:00.000000',30,1931,30000,10), + (280071,280070,2764,'1965-06-16 00:00:00.000000',30,1931,30000,4), + (280072,280071,2765,'1962-06-16 00:00:00.000000',30,1738,30000,15), + (280073,280072,2766,'1971-06-16 00:00:00.000000',30,1931,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280074,280073,2767,'1970-06-16 00:00:00.000000',30,1931,30000,11), + (280075,280074,2768,'1969-06-16 00:00:00.000000',30,1886,30000,12), + (280076,280075,2769,'1967-06-16 00:00:00.000000',30,1886,30000,18), + (280077,280076,2818,'1957-01-01 00:00:00.000000',500,410,30000,15), + (280078,280082,2824,'1957-01-01 00:00:00.000000',125,439,30000,15), + (280079,280083,2825,'1957-01-01 00:00:00.000000',125,828,30000,15), + (280080,280077,2819,'1957-01-01 00:00:00.000000',500,403,30000,15), + (280081,280078,2820,'1957-01-01 00:00:00.000000',125,774,30000,15), + (280082,280079,2821,'1957-01-01 00:00:00.000000',60,1399,30000,15), + (280083,280080,2822,'1957-01-01 00:00:00.000000',60,1538,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280084,280081,2823,'1957-01-01 00:00:00.000000',30,2253,30000,15), + (280085,280084,2826,'1957-01-01 00:00:00.000000',30,2299,30000,15), + (280086,280090,2898,'1964-01-01 00:00:00.000000',30,2926,30000,6), + (280087,280089,2897,'1964-01-01 00:00:00.000000',500,141,30000,6), + (280088,280088,2896,'1964-01-01 00:00:00.000000',125,738,30000,6), + (280089,280087,2893,'1964-01-01 00:00:00.000000',30,2434,30000,6), + (280090,280086,2894,'1964-01-01 00:00:00.000000',30,2514,30000,6), + (280091,280091,2899,'1964-01-01 00:00:00.000000',500,238,30000,6), + (280092,280085,2895,'1964-01-01 00:00:00.000000',30,4342,30000,6), + (280093,280092,3026,'1964-01-01 00:00:00.000000',500,964,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280094,280096,3030,'1964-01-01 00:00:00.000000',250,755,30000,21), + (280095,280095,3031,'1964-01-01 00:00:00.000000',250,527,30000,21), + (280096,280097,3029,'1964-01-01 00:00:00.000000',60,3272,30000,21), + (280097,280094,3032,'1964-01-01 00:00:00.000000',250,725,30000,4), + (280098,280098,3028,'1964-01-01 00:00:00.000000',125,2979,30000,21), + (280099,280093,3027,'1964-01-01 00:00:00.000000',60,6361,30000,4), + (280100,280099,3073,'1966-01-01 00:00:00.000000',500,141,30000,2), + (280101,280100,3078,'1966-01-01 00:00:00.000000',250,948,30000,2), + (280102,280104,3076,'1966-01-01 00:00:00.000000',125,3054,30000,2), + (280103,280102,3074,'1966-01-01 00:00:00.000000',250,274,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280104,280103,3075,'1966-01-01 00:00:00.000000',250,785,30000,2), + (280105,280105,3077,'1966-01-01 00:00:00.000000',0,4326,30000,2), + (280106,280101,3079,'1966-01-01 00:00:00.000000',0,4924,30000,2), + (280107,280106,3109,'1966-01-01 00:00:00.000000',500,205,30000,13), + (280108,280107,3110,'1966-01-01 00:00:00.000000',250,284,30000,13), + (280109,280109,3112,'1966-01-01 00:00:00.000000',0,4342,30000,13), + (280110,280108,3111,'1966-01-01 00:00:00.000000',125,2660,30000,13), + (280111,280160,3238,'1967-01-01 00:00:00.000000',500,89,30000,1), + (280112,280153,3231,'1967-01-01 00:00:00.000000',500,89,30000,12), + (280113,280124,3202,'1967-01-01 00:00:00.000000',500,74,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280114,280110,3188,'1967-01-01 00:00:00.000000',500,77,30000,16), + (280115,280176,3254,'1967-01-01 00:00:00.000000',500,89,30000,5), + (280116,280131,3209,'1967-01-01 00:00:00.000000',500,89,30000,9), + (280117,280120,3201,'1967-01-01 00:00:00.000000',500,74,30000,17), + (280118,280142,3223,'1967-01-01 00:00:00.000000',500,89,30000,19), + (280119,280168,3246,'1967-01-01 00:00:00.000000',500,89,30000,3), + (280120,280146,3224,'1967-01-01 00:00:00.000000',500,119,30000,14), + (280121,280169,3247,'1967-01-01 00:00:00.000000',500,207,30000,3), + (280122,280177,3255,'1967-01-01 00:00:00.000000',500,207,30000,5), + (280123,280132,3210,'1967-01-01 00:00:00.000000',500,177,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280124,280125,3203,'1967-01-01 00:00:00.000000',250,147,30000,18), + (280125,280154,3232,'1967-01-01 00:00:00.000000',500,177,30000,12), + (280126,280147,3225,'1967-01-01 00:00:00.000000',500,207,30000,14), + (280127,280111,3189,'1967-01-01 00:00:00.000000',500,219,30000,16), + (280128,280161,3239,'1967-01-01 00:00:00.000000',500,177,30000,1), + (280129,280129,3207,'1967-01-01 00:00:00.000000',125,3563,30000,18), + (280130,280137,3215,'1967-01-01 00:00:00.000000',250,749,30000,9), + (280131,280151,3229,'1967-01-01 00:00:00.000000',125,2580,30000,14), + (280132,280158,3236,'1967-01-01 00:00:00.000000',125,2580,30000,12), + (280133,280166,3244,'1967-01-01 00:00:00.000000',125,2580,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280134,280148,3226,'1967-01-01 00:00:00.000000',250,662,30000,14), + (280135,280155,3233,'1967-01-01 00:00:00.000000',250,662,30000,12), + (280136,280112,3192,'1967-01-01 00:00:00.000000',250,662,30000,16), + (280137,280178,3256,'1967-01-01 00:00:00.000000',250,700,30000,5), + (280138,280170,3248,'1967-01-01 00:00:00.000000',250,662,30000,3), + (280139,280121,3197,'1967-01-01 00:00:00.000000',250,662,30000,17), + (280140,280143,3222,'1967-01-01 00:00:00.000000',250,662,30000,19), + (280141,280162,3240,'1967-01-01 00:00:00.000000',250,662,30000,1), + (280142,280133,3211,'1967-01-01 00:00:00.000000',250,681,30000,9), + (280143,280171,3249,'1967-01-01 00:00:00.000000',125,2454,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280144,280122,3196,'1967-01-01 00:00:00.000000',125,2454,30000,17), + (280145,280163,3241,'1967-01-01 00:00:00.000000',125,2454,30000,1), + (280146,280179,3257,'1967-01-01 00:00:00.000000',125,2424,30000,5), + (280147,280144,3221,'1967-01-01 00:00:00.000000',125,2454,30000,19), + (280148,280128,3206,'1967-01-01 00:00:00.000000',250,837,30000,18), + (280149,280159,3237,'1967-01-01 00:00:00.000000',0,4294,30000,12), + (280150,280152,3230,'1967-01-01 00:00:00.000000',0,4294,30000,14), + (280151,280167,3245,'1967-01-01 00:00:00.000000',0,4294,30000,1), + (280152,280136,3214,'1967-01-01 00:00:00.000000',0,5421,30000,9), + (280153,280139,3217,'1967-01-01 00:00:00.000000',125,1886,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280154,280182,3260,'1967-01-01 00:00:00.000000',125,1886,30000,5), + (280155,280165,3243,'1967-01-01 00:00:00.000000',250,580,30000,1), + (280156,280150,3228,'1967-01-01 00:00:00.000000',250,580,30000,14), + (280157,280157,3235,'1967-01-01 00:00:00.000000',250,580,30000,12), + (280158,280127,3205,'1967-01-01 00:00:00.000000',250,123,30000,18), + (280159,280135,3213,'1967-01-01 00:00:00.000000',125,3058,30000,9), + (280160,280113,3191,'1967-01-01 00:00:00.000000',250,711,30000,16), + (280161,280173,3251,'1967-01-01 00:00:00.000000',250,744,30000,3), + (280162,280119,3200,'1967-01-01 00:00:00.000000',250,711,30000,17), + (280163,280183,3261,'1967-01-01 00:00:00.000000',60,3058,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280164,280140,3218,'1967-01-01 00:00:00.000000',60,3058,30000,19), + (280165,280181,3259,'1967-01-01 00:00:00.000000',250,563,30000,5), + (280166,280138,3216,'1967-01-01 00:00:00.000000',250,563,30000,19), + (280167,280174,3252,'1967-01-01 00:00:00.000000',125,2890,30000,3), + (280168,280117,3199,'1967-01-01 00:00:00.000000',125,2837,30000,17), + (280169,280116,3193,'1967-01-01 00:00:00.000000',125,2837,30000,16), + (280170,280130,3208,'1967-01-01 00:00:00.000000',0,6897,30000,18), + (280171,280149,3227,'1967-01-01 00:00:00.000000',0,2837,30000,14), + (280172,280156,3234,'1967-01-01 00:00:00.000000',0,2837,30000,12), + (280173,280145,3220,'1967-01-01 00:00:00.000000',0,4723,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280174,280180,3258,'1967-01-01 00:00:00.000000',0,4723,30000,5), + (280175,280164,3242,'1967-01-01 00:00:00.000000',0,4723,30000,1), + (280176,280114,3190,'1967-01-01 00:00:00.000000',0,2837,30000,16), + (280177,280134,3212,'1967-01-01 00:00:00.000000',0,2837,30000,9), + (280178,280172,3250,'1967-01-01 00:00:00.000000',0,4723,30000,3), + (280179,280123,3195,'1967-01-01 00:00:00.000000',0,4740,30000,17), + (280180,280126,3204,'1967-01-01 00:00:00.000000',0,4723,30000,18), + (280181,280115,3194,'1967-01-01 00:00:00.000000',0,5079,30000,16), + (280182,280118,3198,'1967-01-01 00:00:00.000000',0,4723,30000,17), + (280183,280175,3253,'1967-01-01 00:00:00.000000',0,4723,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (280184,280184,3262,'1967-01-01 00:00:00.000000',0,4723,30000,5), + (280185,280141,3219,'1967-01-01 00:00:00.000000',0,4723,30000,19), + (290001,290001,111,'1999-01-01 00:00:00.000000',1000,44,30000,0), + (290002,290002,112,'1999-01-01 00:00:00.000000',1000,91,30000,0), + (290003,290003,113,'1999-01-01 00:00:00.000000',1000,37,30000,0), + (290004,290004,114,'1999-01-01 00:00:00.000000',1000,74,30000,0), + (290005,290007,489,'1999-01-01 00:00:00.000000',0,1101,30000,0), + (290006,290006,1737,'1999-01-01 00:00:00.000000',60,433,30000,0), + (290007,290005,1736,'1999-01-01 00:00:00.000000',125,164,30000,0), + (290008,290008,2671,'1995-01-01 00:00:00.000000',30,543,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (290009,290009,2672,'1975-01-01 00:00:00.000000',60,106,30000,0), + (290010,290029,3670,'1970-01-01 00:00:00.000000',500,106,30000,0), + (290011,290034,3674,'1970-01-01 00:00:00.000000',500,135,30000,0), + (290012,290024,3665,'1970-01-01 00:00:00.000000',500,88,30000,0), + (290013,290030,3671,'1970-01-01 00:00:00.000000',400,160,30000,0), + (290014,290035,3675,'1970-01-01 00:00:00.000000',400,207,30000,0), + (290015,290018,3652,'1970-01-01 00:00:00.000000',750,110,30000,0), + (290016,290010,3651,'1970-01-01 00:00:00.000000',1000,37,30000,0), + (290017,290025,3666,'1970-01-01 00:00:00.000000',400,131,30000,0), + (290018,290021,3659,'1970-01-01 00:00:00.000000',500,136,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (290019,290014,3658,'1970-01-01 00:00:00.000000',1000,44,30000,0), + (290020,290036,3676,'1970-01-01 00:00:00.000000',250,327,30000,0), + (290021,290019,3654,'1970-01-01 00:00:00.000000',500,170,30000,0), + (290022,290011,3653,'1970-01-01 00:00:00.000000',1000,37,30000,0), + (290023,290026,3667,'1970-01-01 00:00:00.000000',250,203,30000,0), + (290024,290022,3661,'1970-01-01 00:00:00.000000',500,211,30000,0), + (290025,290015,3660,'1970-01-01 00:00:00.000000',1000,44,30000,0), + (290026,290032,3672,'1970-01-01 00:00:00.000000',150,373,30000,0), + (290027,290037,3677,'1970-01-01 00:00:00.000000',100,495,30000,0), + (290028,290013,3656,'1970-01-01 00:00:00.000000',250,361,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (290029,290012,3655,'1970-01-01 00:00:00.000000',500,37,30000,0), + (290030,290027,3668,'1970-01-01 00:00:00.000000',150,304,30000,0), + (290031,290023,3663,'1970-01-01 00:00:00.000000',250,315,30000,0), + (290032,290016,3662,'1970-01-01 00:00:00.000000',500,44,30000,0), + (290033,290033,3673,'1970-01-01 00:00:00.000000',0,533,30000,0), + (290034,290038,3678,'1970-01-01 00:00:00.000000',0,711,30000,0), + (290035,290013,3657,'1970-01-01 00:00:00.000000',0,361,30000,0), + (290036,290028,3669,'1970-01-01 00:00:00.000000',0,433,30000,0), + (290037,290017,3664,'1970-01-01 00:00:00.000000',0,450,30000,0), + (290038,290031,3679,'1970-01-01 00:00:00.000000',250,249,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (300001,300001,115,'1999-01-01 00:00:00.000000',1000,49,30000,0), + (300002,300002,116,'1999-01-01 00:00:00.000000',500,89,30000,0), + (300003,300004,445,'1970-01-01 00:00:00.000000',125,49,30000,0), + (300004,300007,463,'1999-01-01 00:00:00.000000',125,291,30000,0), + (300005,300005,461,'1999-01-01 00:00:00.000000',60,301,30000,0), + (300006,300006,462,'1999-01-01 00:00:00.000000',60,311,30000,0), + (300007,300010,466,'1999-01-01 00:00:00.000000',0,386,30000,0), + (300008,300008,464,'1999-01-01 00:00:00.000000',0,296,30000,0), + (300009,300009,465,'1999-01-01 00:00:00.000000',0,311,30000,0), + (300010,300003,1184,'1967-01-01 00:00:00.000000',60,49,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (300011,300011,1738,'1965-01-01 00:00:00.000000',60,296,30000,0), + (310001,310001,117,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310002,310002,118,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310003,310003,119,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310004,310004,120,'1999-01-01 00:00:00.000000',500,150,30000,0), + (310005,310006,447,'1969-01-01 00:00:00.000000',500,25,30000,0), + (310006,310005,446,'1969-01-01 00:00:00.000000',500,25,30000,0), + (310007,310008,449,'1970-01-01 00:00:00.000000',500,25,30000,0), + (310008,310007,448,'1970-01-01 00:00:00.000000',500,25,30000,0), + (310009,310009,450,'1973-01-01 00:00:00.000000',500,25,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (310010,310010,450,'1973-01-01 00:00:00.000000',500,25,30000,0), + (310011,310022,481,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310012,310023,482,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310013,310021,480,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310014,310024,483,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310015,310025,484,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310016,310026,485,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310017,310027,486,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310018,310028,487,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310019,310011,470,'1999-01-01 00:00:00.000000',500,50,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (310020,310012,471,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310021,310013,472,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310022,310014,473,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310023,310015,474,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310024,310016,475,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310025,310017,476,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310026,310018,477,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310027,310019,478,'1999-01-01 00:00:00.000000',500,50,30000,0), + (310028,310020,479,'1999-01-01 00:00:00.000000',500,25,30000,0), + (310029,310029,1035,'1969-01-01 00:00:00.000000',500,50,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320001,320001,155,'1965-01-01 00:00:00.000000',1000,212,30000,3), + (320002,320002,1284,'1999-01-01 00:00:00.000000',1000,212,30000,5), + (320003,320003,1044,'1999-01-01 00:00:00.000000',1000,212,30000,2), + (320004,320004,1045,'1999-01-01 00:00:00.000000',1000,212,30000,1), + (320005,320005,420,'1970-01-01 00:00:00.000000',500,502,30000,5), + (320006,320006,884,'1970-01-01 00:00:00.000000',500,331,30000,3), + (320007,320043,883,'1970-01-01 00:00:00.000000',250,397,30000,17), + (320008,320078,1282,'1962-01-01 00:00:00.000000',250,502,30000,2), + (320009,320077,1283,'1957-01-01 00:00:00.000000',500,331,30000,5), + (320010,320079,1285,'1963-01-01 00:00:00.000000',500,346,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320011,320080,1286,'1970-01-01 00:00:00.000000',500,221,30000,3), + (320012,320081,1287,'1965-01-01 00:00:00.000000',0,2412,30000,18), + (320013,320082,1289,'1962-01-01 00:00:00.000000',125,811,30000,1), + (320014,320083,1350,'1990-01-01 00:00:00.000000',125,1058,30000,7), + (320015,320084,1351,'1990-01-01 00:00:00.000000',500,450,30000,7), + (320016,320085,1352,'1990-01-01 00:00:00.000000',125,1159,30000,7), + (320017,320086,1353,'1990-01-01 00:00:00.000000',125,1107,30000,7), + (320018,320007,1354,'1967-01-01 00:00:00.000000',1000,212,30000,7), + (320019,320008,1355,'1961-01-01 00:00:00.000000',1000,212,30000,8), + (320020,320009,1356,'1955-01-01 00:00:00.000000',1000,212,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320021,320010,1357,'1955-01-01 00:00:00.000000',125,212,30000,9), + (320022,320011,1358,'1964-01-01 00:00:00.000000',1000,212,30000,4), + (320023,320012,1420,'1932-01-01 00:00:00.000000',125,212,30000,10), + (320024,320013,1421,'1965-01-01 00:00:00.000000',1000,212,30000,12), + (320025,320014,1422,'1968-01-01 00:00:00.000000',1000,212,30000,11), + (320026,320015,1425,'1959-01-01 00:00:00.000000',1000,212,30000,14), + (320027,320016,1424,'1955-01-01 00:00:00.000000',1000,212,30000,13), + (320028,320017,1426,'1956-01-01 00:00:00.000000',500,361,30000,6), + (320029,320018,1427,'1967-01-01 00:00:00.000000',500,395,30000,6), + (320030,320019,1428,'1970-01-01 00:00:00.000000',500,331,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320031,320020,1433,'1965-01-01 00:00:00.000000',500,395,30000,5), + (320032,320021,1434,'1970-01-01 00:00:00.000000',500,361,30000,5), + (320033,320022,1435,'1961-01-01 00:00:00.000000',1000,212,30000,21), + (320034,320023,1436,'1969-01-01 00:00:00.000000',250,415,30000,7), + (320035,320024,1437,'1968-01-01 00:00:00.000000',500,331,30000,11), + (320036,320025,1438,'1968-01-01 00:00:00.000000',500,470,30000,11), + (320037,320026,1439,'1970-01-01 00:00:00.000000',500,470,30000,12), + (320038,320027,1440,'1969-01-01 00:00:00.000000',500,378,30000,13), + (320039,320028,1441,'1968-01-01 00:00:00.000000',500,378,30000,13), + (320040,320029,1442,'1957-01-01 00:00:00.000000',500,208,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320041,320030,1443,'1957-01-01 00:00:00.000000',500,411,30000,4), + (320042,320031,1445,'1964-01-01 00:00:00.000000',500,430,30000,3), + (320043,320032,1446,'1965-01-01 00:00:00.000000',15,1218,30000,3), + (320044,320033,1447,'1966-01-01 00:00:00.000000',250,811,30000,3), + (320045,320034,1448,'1961-01-01 00:00:00.000000',500,502,30000,3), + (320046,320035,1449,'1961-01-01 00:00:00.000000',15,6019,30000,17), + (320047,320036,1450,'1968-01-01 00:00:00.000000',500,231,30000,1), + (320048,320037,1451,'1969-01-01 00:00:00.000000',500,331,30000,1), + (320049,320038,1452,'1960-01-01 00:00:00.000000',250,585,30000,1), + (320050,320039,1453,'1960-01-01 00:00:00.000000',250,535,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320051,320040,1454,'1969-01-01 00:00:00.000000',250,364,30000,1), + (320052,320041,1456,'1970-01-01 00:00:00.000000',500,331,30000,2), + (320053,320042,1457,'1970-01-01 00:00:00.000000',500,231,30000,14), + (320054,320044,1458,'1966-01-01 00:00:00.000000',250,397,30000,14), + (320055,320045,1462,'1999-01-01 00:00:00.000000',60,450,30000,10), + (320056,320046,1463,'1999-01-01 00:00:00.000000',60,411,30000,9), + (320057,320047,1127,'1999-01-01 00:00:00.000000',60,1107,30000,5), + (320058,320048,1128,'1999-01-01 00:00:00.000000',60,1107,30000,6), + (320059,320049,1129,'1999-01-01 00:00:00.000000',60,1107,30000,1), + (320060,320050,1130,'1999-01-01 00:00:00.000000',60,1107,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320061,320051,1131,'1999-01-01 00:00:00.000000',60,1107,30000,3), + (320062,320052,1132,'1999-01-01 00:00:00.000000',60,1107,30000,4), + (320063,320053,1133,'1999-01-01 00:00:00.000000',60,1107,30000,12), + (320064,320054,1134,'1999-01-01 00:00:00.000000',60,1107,30000,11), + (320065,320055,1135,'1999-01-01 00:00:00.000000',60,411,30000,18), + (320066,320056,1136,'1999-01-01 00:00:00.000000',60,1107,30000,13), + (320067,320057,1138,'1999-01-01 00:00:00.000000',500,450,30000,5), + (320068,320058,1139,'1999-01-01 00:00:00.000000',500,450,30000,6), + (320069,320059,1140,'1999-01-01 00:00:00.000000',500,450,30000,1), + (320070,320060,1141,'1999-01-01 00:00:00.000000',500,450,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320071,320061,1142,'1999-01-01 00:00:00.000000',500,450,30000,3), + (320072,320062,1143,'1999-01-01 00:00:00.000000',500,450,30000,4), + (320073,320063,1144,'1999-01-01 00:00:00.000000',500,450,30000,12), + (320074,320064,1145,'1999-01-01 00:00:00.000000',500,450,30000,11), + (320075,320065,1146,'1999-01-01 00:00:00.000000',0,212,30000,18), + (320076,320066,1147,'1999-01-01 00:00:00.000000',500,450,30000,13), + (320077,320067,1148,'1999-01-01 00:00:00.000000',125,1107,30000,5), + (320078,320068,1149,'1999-01-01 00:00:00.000000',125,1107,30000,6), + (320079,320069,1150,'1999-01-01 00:00:00.000000',125,1107,30000,1), + (320080,320070,1151,'1999-01-01 00:00:00.000000',125,1107,30000,2); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320081,320071,1152,'1999-01-01 00:00:00.000000',125,1107,30000,3), + (320082,320072,1153,'1999-01-01 00:00:00.000000',125,1107,30000,4), + (320083,320073,1154,'1999-01-01 00:00:00.000000',125,1107,30000,12), + (320084,320074,1155,'1999-01-01 00:00:00.000000',125,1107,30000,11), + (320085,320075,1156,'1999-01-01 00:00:00.000000',125,1107,30000,13), + (320086,320076,1157,'1999-01-01 00:00:00.000000',125,1107,30000,13), + (320087,320088,1789,'1970-01-01 00:00:00.000000',500,331,30000,4), + (320088,320087,1790,'1970-01-01 00:00:00.000000',250,811,30000,4), + (320089,320036,2035,'1967-01-01 00:00:00.000000',500,231,30000,1), + (320090,320089,2074,'1959-01-01 00:00:00.000000',500,331,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320091,320090,2080,'1962-01-01 00:00:00.000000',250,811,30000,13), + (320092,320091,2473,'1940-01-01 00:00:00.000000',125,212,30000,20), + (320093,320092,2492,'1970-01-01 00:00:00.000000',125,212,30000,16), + (320094,320093,2493,'1971-01-01 00:00:00.000000',60,331,30000,16), + (320095,320094,2506,'1968-01-01 00:00:00.000000',1000,212,30000,17), + (320096,320095,2507,'1970-01-01 00:00:00.000000',125,231,30000,17), + (320097,320096,2526,'1970-01-01 00:00:00.000000',2,451,30000,4), + (320098,320097,2527,'1954-01-01 00:00:00.000000',1000,191,30000,15), + (320099,320098,2528,'1957-01-01 00:00:00.000000',30,311,30000,15), + (320100,320099,2540,'1958-01-01 00:00:00.000000',1000,212,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320101,320100,2541,'1959-01-01 00:00:00.000000',125,331,30000,19), + (320102,320103,2573,'1971-04-17 00:00:00.000000',500,331,30000,8), + (320103,320101,2571,'1955-02-18 00:00:00.000000',500,331,30000,21), + (320104,320102,2572,'1958-03-02 00:00:00.000000',250,811,30000,21), + (320105,320104,2574,'1947-02-20 00:00:00.000000',60,331,30000,20), + (320106,320106,2691,'1995-01-01 00:00:00.000000',125,1058,30000,14), + (320107,320105,2692,'1995-01-01 00:00:00.000000',250,1058,30000,14), + (320108,320107,2773,'1969-01-01 00:00:00.000000',250,331,30000,14), + (320109,320110,2806,'1957-01-01 00:00:00.000000',500,387,30000,15), + (320110,320111,2809,'1957-01-01 00:00:00.000000',500,325,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320111,320114,2812,'1957-01-01 00:00:00.000000',500,295,30000,15), + (320112,320113,2807,'1957-01-01 00:00:00.000000',500,311,30000,15), + (320113,320112,2810,'1957-01-01 00:00:00.000000',500,325,30000,15), + (320114,320116,2808,'1957-01-01 00:00:00.000000',125,763,30000,15), + (320115,320117,2811,'1957-01-01 00:00:00.000000',125,799,30000,15), + (320116,320108,2804,'1957-01-01 00:00:00.000000',1000,191,30000,15), + (320117,320118,2814,'1957-01-01 00:00:00.000000',250,461,30000,15), + (320118,320109,2805,'1957-01-01 00:00:00.000000',1000,191,30000,15), + (320119,320115,2813,'1957-01-01 00:00:00.000000',1000,189,30000,15), + (320120,320121,2817,'1957-01-01 00:00:00.000000',125,452,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320121,320120,2816,'1957-01-01 00:00:00.000000',250,457,30000,15), + (320122,320119,2815,'1957-01-01 00:00:00.000000',250,461,30000,15), + (320123,320132,2889,'1964-01-01 00:00:00.000000',60,976,30000,6), + (320124,320126,2883,'1964-01-01 00:00:00.000000',500,233,30000,6), + (320125,320134,2891,'1964-01-01 00:00:00.000000',125,929,30000,6), + (320126,320133,2890,'1964-01-01 00:00:00.000000',125,888,30000,6), + (320127,320128,2885,'1964-01-01 00:00:00.000000',250,512,30000,6), + (320128,320131,2888,'1964-01-01 00:00:00.000000',125,848,30000,6), + (320129,320125,2882,'1964-01-01 00:00:00.000000',500,331,30000,6), + (320130,320124,2881,'1964-01-01 00:00:00.000000',500,210,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320131,320123,2880,'1964-01-01 00:00:00.000000',250,331,30000,6), + (320132,320135,2892,'1964-01-01 00:00:00.000000',250,346,30000,6), + (320133,320127,2884,'1964-01-01 00:00:00.000000',500,231,30000,6), + (320134,320129,2886,'1964-01-01 00:00:00.000000',125,888,30000,6), + (320135,320122,2879,'1964-01-01 00:00:00.000000',125,811,30000,6), + (320136,320130,2887,'1964-01-01 00:00:00.000000',125,848,30000,6), + (320137,320139,2920,'1965-01-01 00:00:00.000000',500,221,30000,21), + (320138,320152,2933,'1965-01-01 00:00:00.000000',250,331,30000,4), + (320139,320155,2936,'1965-01-01 00:00:00.000000',250,933,30000,4), + (320140,320146,2926,'1965-01-01 00:00:00.000000',125,848,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320141,320156,2937,'1965-01-01 00:00:00.000000',60,1069,30000,4), + (320142,320145,2927,'1965-01-01 00:00:00.000000',60,929,30000,21), + (320143,320138,2919,'1965-01-01 00:00:00.000000',500,243,30000,21), + (320144,320154,2935,'1965-01-01 00:00:00.000000',250,976,30000,4), + (320145,320157,2938,'1965-01-01 00:00:00.000000',125,848,30000,4), + (320146,320149,2930,'1965-01-01 00:00:00.000000',500,331,30000,4), + (320147,320148,2929,'1965-01-01 00:00:00.000000',500,212,30000,4), + (320148,320151,2932,'1965-01-01 00:00:00.000000',500,331,30000,4), + (320149,320150,2931,'1965-01-01 00:00:00.000000',500,212,30000,4), + (320150,320136,2917,'1965-01-01 00:00:00.000000',500,210,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320151,320137,2918,'1965-01-01 00:00:00.000000',500,212,30000,21), + (320152,320153,2934,'1965-01-01 00:00:00.000000',125,929,30000,4), + (320153,320159,2940,'1965-01-01 00:00:00.000000',60,976,30000,4), + (320154,320141,2922,'1965-01-01 00:00:00.000000',500,346,30000,21), + (320155,320140,2921,'1965-01-01 00:00:00.000000',500,243,30000,21), + (320156,320143,2924,'1965-01-01 00:00:00.000000',125,811,30000,21), + (320157,320158,2939,'1965-01-01 00:00:00.000000',60,929,30000,4), + (320158,320142,2923,'1965-01-01 00:00:00.000000',125,563,30000,21), + (320159,320144,2925,'1965-01-01 00:00:00.000000',125,888,30000,21), + (320160,320147,2928,'1965-01-01 00:00:00.000000',60,1069,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320161,320166,3042,'1966-01-01 00:00:00.000000',60,933,30000,2), + (320162,320167,3043,'1966-01-01 00:00:00.000000',250,212,30000,2), + (320163,320168,3044,'1966-01-01 00:00:00.000000',250,848,30000,2), + (320164,320165,3041,'1966-01-01 00:00:00.000000',50,976,30000,2), + (320165,320161,3037,'1966-01-01 00:00:00.000000',125,346,30000,2), + (320166,320163,3039,'1966-01-01 00:00:00.000000',250,848,30000,2), + (320167,320160,3036,'1966-01-01 00:00:00.000000',500,346,30000,2), + (320168,320162,3038,'1966-01-01 00:00:00.000000',250,848,30000,2), + (320169,320164,3040,'1966-01-01 00:00:00.000000',0,1069,30000,2), + (320170,320172,3083,'1966-01-01 00:00:00.000000',60,1022,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320171,320171,3082,'1966-01-01 00:00:00.000000',125,976,30000,13), + (320172,320169,3080,'1966-01-01 00:00:00.000000',30,1114,30000,13), + (320173,320173,3084,'1966-01-01 00:00:00.000000',125,848,30000,13), + (320174,320170,3081,'1966-01-01 00:00:00.000000',125,848,30000,13), + (320175,320174,3085,'1966-01-01 00:00:00.000000',60,397,30000,13), + (320176,320178,3116,'1966-01-01 00:00:00.000000',125,933,30000,5), + (320177,320175,3113,'1966-01-01 00:00:00.000000',125,397,30000,5), + (320178,320179,3117,'1966-01-01 00:00:00.000000',0,1065,30000,5), + (320179,320176,3114,'1966-01-01 00:00:00.000000',250,848,30000,5), + (320180,320177,3115,'1966-01-01 00:00:00.000000',125,976,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320181,320184,3394,'1967-01-01 00:00:00.000000',125,811,30000,3), + (320182,320183,3393,'1967-01-01 00:00:00.000000',125,848,30000,3), + (320183,320180,3391,'1967-01-01 00:00:00.000000',250,346,30000,3), + (320184,320180,3390,'1967-01-01 00:00:00.000000',125,346,30000,3), + (320185,320182,3392,'1967-01-01 00:00:00.000000',125,848,30000,3), + (320186,320185,3395,'1967-01-01 00:00:00.000000',125,848,30000,3), + (320187,320186,3396,'1967-01-01 00:00:00.000000',125,888,30000,1), + (320188,320187,3397,'1967-01-01 00:00:00.000000',0,1022,30000,1), + (320189,320161,3400,'1967-01-01 00:00:00.000000',250,346,30000,1), + (320190,320190,3401,'1967-01-01 00:00:00.000000',250,848,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320191,320192,3403,'1967-01-01 00:00:00.000000',250,346,30000,1), + (320192,320193,3402,'1967-01-01 00:00:00.000000',250,811,30000,1), + (320193,320188,3399,'1967-01-01 00:00:00.000000',0,397,30000,1), + (320194,320189,3398,'1967-01-01 00:00:00.000000',0,976,30000,1), + (320195,320197,3407,'1967-01-01 00:00:00.000000',250,811,30000,12), + (320196,320198,3408,'1967-01-01 00:00:00.000000',125,933,30000,12), + (320197,320201,3411,'1967-01-01 00:00:00.000000',125,933,30000,12), + (320198,320202,3412,'1967-01-01 00:00:00.000000',0,1065,30000,12), + (320199,320194,3404,'1967-01-01 00:00:00.000000',500,221,30000,12), + (320200,320200,3410,'1967-01-01 00:00:00.000000',125,811,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320201,320195,3405,'1967-01-01 00:00:00.000000',500,221,30000,12), + (320202,320199,3409,'1967-01-01 00:00:00.000000',0,1022,30000,12), + (320203,320196,3406,'1967-01-01 00:00:00.000000',0,474,30000,12), + (320204,320205,3414,'1967-01-01 00:00:00.000000',0,397,30000,19), + (320205,320206,3419,'1967-01-01 00:00:00.000000',0,933,30000,19), + (320206,320210,3417,'1967-01-01 00:00:00.000000',250,811,30000,19), + (320207,320213,3421,'1967-01-01 00:00:00.000000',0,1065,30000,19), + (320208,320207,3422,'1967-01-01 00:00:00.000000',125,933,30000,19), + (320209,320203,3413,'1967-01-01 00:00:00.000000',252,331,30000,19), + (320210,320212,3420,'1967-01-01 00:00:00.000000',125,848,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320211,320211,3418,'1967-01-01 00:00:00.000000',0,1022,30000,19), + (320212,320208,3423,'1967-01-01 00:00:00.000000',0,1065,30000,19), + (320213,320209,3416,'1967-01-01 00:00:00.000000',0,434,30000,19), + (320214,320204,3415,'1967-01-01 00:00:00.000000',250,811,30000,19), + (320215,320220,3431,'1967-01-01 00:00:00.000000',125,976,30000,14), + (320216,320221,3432,'1967-01-01 00:00:00.000000',0,1114,30000,14), + (320217,320216,3426,'1967-01-01 00:00:00.000000',250,888,30000,14), + (320218,320217,3427,'1967-01-01 00:00:00.000000',0,415,30000,14), + (320219,320218,3428,'1967-01-01 00:00:00.000000',250,346,30000,14), + (320220,320215,3425,'1967-01-01 00:00:00.000000',250,811,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320221,320219,3430,'1967-01-01 00:00:00.000000',125,848,30000,14), + (320222,320222,3429,'1967-01-01 00:00:00.000000',0,1166,30000,14), + (320223,320214,3424,'1967-01-01 00:00:00.000000',0,1022,30000,14), + (320224,320226,3436,'1967-01-01 00:00:00.000000',250,361,30000,9), + (320225,320230,3440,'1967-01-01 00:00:00.000000',250,848,30000,9), + (320226,320234,3444,'1967-01-01 00:00:00.000000',125,933,30000,9), + (320227,320235,3445,'1967-01-01 00:00:00.000000',0,1065,30000,9), + (320228,320224,3434,'1967-01-01 00:00:00.000000',500,331,30000,9), + (320229,320223,3433,'1967-01-01 00:00:00.000000',500,263,30000,9), + (320230,320229,3439,'1967-01-01 00:00:00.000000',250,811,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320231,320228,3438,'1967-01-01 00:00:00.000000',125,415,30000,9), + (320232,320233,3443,'1967-01-01 00:00:00.000000',125,892,30000,9), + (320233,320225,3435,'1967-01-01 00:00:00.000000',250,346,30000,9), + (320234,320231,3441,'1967-01-01 00:00:00.000000',125,976,30000,9), + (320235,320232,3442,'1967-01-01 00:00:00.000000',0,1022,30000,9), + (320236,320227,3437,'1967-01-01 00:00:00.000000',0,378,30000,9), + (320237,320236,3446,'1967-01-01 00:00:00.000000',0,1114,30000,9), + (320238,320246,3456,'1967-01-01 00:00:00.000000',60,888,30000,18), + (320239,320245,3455,'1967-01-01 00:00:00.000000',0,929,30000,18), + (320240,320242,3452,'1967-01-01 00:00:00.000000',125,848,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320241,320238,3448,'1967-01-01 00:00:00.000000',125,346,30000,18), + (320242,320237,3447,'1967-01-01 00:00:00.000000',250,346,30000,18), + (320243,320239,3449,'1967-01-01 00:00:00.000000',125,346,30000,18), + (320244,320240,3450,'1967-01-01 00:00:00.000000',125,361,30000,18), + (320245,320243,3453,'1967-01-01 00:00:00.000000',125,888,30000,18), + (320246,320241,3451,'1967-01-01 00:00:00.000000',0,361,30000,18), + (320247,320244,3454,'1967-01-01 00:00:00.000000',60,929,30000,18), + (320248,320248,3463,'1967-01-01 00:00:00.000000',250,848,30000,17), + (320249,320250,3465,'1967-01-01 00:00:00.000000',0,1114,30000,17), + (320250,320252,3459,'1967-01-01 00:00:00.000000',125,1022,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320251,320251,3458,'1967-01-01 00:00:00.000000',250,346,30000,17), + (320252,320247,3457,'1967-01-01 00:00:00.000000',500,346,30000,17), + (320253,320249,3464,'1967-01-01 00:00:00.000000',125,976,30000,17), + (320254,320254,3461,'1967-01-01 00:00:00.000000',125,933,30000,17), + (320255,320253,3460,'1967-01-01 00:00:00.000000',0,453,30000,17), + (320256,320255,3462,'1967-01-01 00:00:00.000000',0,1065,30000,17), + (320257,320259,3468,'1967-01-01 00:00:00.000000',250,848,30000,16), + (320258,320257,3467,'1967-01-01 00:00:00.000000',0,434,30000,16), + (320259,320258,3469,'1967-01-01 00:00:00.000000',0,1069,30000,16), + (320260,320260,3470,'1967-01-01 00:00:00.000000',0,1065,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (320261,320265,3475,'1967-01-01 00:00:00.000000',125,933,30000,16), + (320262,320261,3471,'1967-01-01 00:00:00.000000',500,361,30000,16), + (320263,320263,3473,'1967-01-01 00:00:00.000000',250,848,30000,16), + (320264,320256,3466,'1967-01-01 00:00:00.000000',250,346,30000,16), + (320265,320262,3472,'1967-01-01 00:00:00.000000',0,453,30000,16), + (320266,320264,3474,'1967-01-01 00:00:00.000000',0,1114,30000,16), + (330001,330001,156,'1999-01-01 00:00:00.000000',1000,125,30000,0), + (330002,330002,157,'1999-01-01 00:00:00.000000',125,771,30000,0), + (330003,330003,188,'1999-01-01 00:00:00.000000',1000,50,30000,0), + (330004,330004,886,'1967-01-01 00:00:00.000000',250,589,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330005,330005,434,'1964-01-01 00:00:00.000000',1000,51,30000,0), + (330006,330006,452,'1932-01-01 00:00:00.000000',1000,52,30000,0), + (330007,330007,455,'1957-01-01 00:00:00.000000',1000,201,30000,0), + (330008,330008,458,'1952-01-01 00:00:00.000000',500,521,30000,0), + (330009,330009,459,'1950-01-01 00:00:00.000000',1000,110,30000,0), + (330010,330010,492,'1999-01-01 00:00:00.000000',125,223,30000,0), + (330011,330011,493,'1999-01-01 00:00:00.000000',250,726,30000,0), + (330012,330012,494,'1999-01-01 00:00:00.000000',250,514,30000,0), + (330013,330013,517,'1957-01-01 00:00:00.000000',125,527,30000,0), + (330014,330017,1290,'1960-01-01 00:00:00.000000',125,1024,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330015,330019,1335,'1990-01-01 00:00:00.000000',500,523,30000,0), + (330016,330015,885,'1990-01-01 00:00:00.000000',1000,52,30000,0), + (330017,330016,1291,'1963-01-01 00:00:00.000000',125,902,30000,0), + (330018,330020,1521,'1965-01-01 00:00:00.000000',500,521,30000,0), + (330019,330018,1517,'1965-01-01 00:00:00.000000',125,902,30000,0), + (330020,330021,1544,'1965-01-01 00:00:00.000000',1000,250,30000,0), + (330021,330022,1600,'1961-01-01 00:00:00.000000',125,989,30000,0), + (330022,330023,1609,'1963-01-01 00:00:00.000000',15,1338,30000,0), + (330023,330024,1791,'1963-01-01 00:00:00.000000',1000,185,30000,0), + (330024,330025,1792,'1963-01-01 00:00:00.000000',1000,250,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330025,330026,1793,'1963-01-01 00:00:00.000000',60,873,30000,0), + (330026,330027,1794,'1963-01-01 00:00:00.000000',125,577,30000,0), + (330027,330028,1795,'1963-01-01 00:00:00.000000',30,985,30000,0), + (330028,330029,1796,'1963-01-01 00:00:00.000000',250,527,30000,0), + (330029,330030,1797,'1963-01-01 00:00:00.000000',125,771,30000,0), + (330030,330031,1798,'1963-01-01 00:00:00.000000',250,841,30000,0), + (330031,330032,1799,'1963-01-01 00:00:00.000000',1000,250,30000,0), + (330032,330033,1800,'1963-01-01 00:00:00.000000',60,1015,30000,0), + (330033,330034,1801,'1963-01-01 00:00:00.000000',125,801,30000,0), + (330034,330035,1802,'1963-01-01 00:00:00.000000',500,521,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330035,330036,1803,'1963-01-01 00:00:00.000000',1000,357,30000,0), + (330036,330037,1804,'1963-01-01 00:00:00.000000',500,521,30000,0), + (330037,330038,1805,'1963-01-01 00:00:00.000000',500,521,30000,0), + (330038,330039,1806,'1963-01-01 00:00:00.000000',125,682,30000,0), + (330039,330040,1807,'1963-01-01 00:00:00.000000',125,864,30000,0), + (330040,330041,1808,'1963-01-01 00:00:00.000000',15,1228,30000,0), + (330041,330042,1809,'1963-01-01 00:00:00.000000',1000,118,30000,0), + (330042,330043,1810,'1963-01-01 00:00:00.000000',1000,207,30000,0), + (330043,330044,1811,'1963-01-01 00:00:00.000000',125,682,30000,0), + (330044,330045,1812,'1963-01-01 00:00:00.000000',250,474,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330045,330046,1813,'1963-01-01 00:00:00.000000',125,646,30000,0), + (330046,330047,1814,'1963-01-01 00:00:00.000000',125,690,30000,0), + (330047,330048,1815,'1963-01-01 00:00:00.000000',15,1445,30000,0), + (330048,330049,1816,'1963-01-01 00:00:00.000000',15,1626,30000,0), + (330049,330050,1817,'1963-01-01 00:00:00.000000',15,1746,30000,0), + (330050,330051,1818,'1963-01-01 00:00:00.000000',0,1927,30000,0), + (330051,330052,1819,'1963-01-01 00:00:00.000000',0,1807,30000,0), + (330052,330053,2033,'1967-01-01 00:00:00.000000',1000,175,30000,0), + (330053,330054,2038,'1962-01-01 00:00:00.000000',1000,384,30000,0), + (330054,330055,2044,'1955-01-01 00:00:00.000000',1000,175,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330055,330056,2045,'1956-01-01 00:00:00.000000',500,621,30000,0), + (330056,330057,2047,'1956-01-01 00:00:00.000000',1000,384,30000,0), + (330057,330058,2049,'1958-01-01 00:00:00.000000',250,526,30000,0), + (330058,330059,2064,'1968-01-01 00:00:00.000000',1000,309,30000,0), + (330059,330060,2069,'1959-01-01 00:00:00.000000',500,446,30000,0), + (330060,330061,2071,'1960-01-01 00:00:00.000000',250,605,30000,0), + (330061,330062,2085,'1957-01-01 00:00:00.000000',500,621,30000,0), + (330062,330063,2087,'1961-01-01 00:00:00.000000',500,446,30000,0), + (330063,330064,2092,'1961-01-01 00:00:00.000000',125,1138,30000,0), + (330064,330065,2093,'1962-01-01 00:00:00.000000',30,1244,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (330065,330066,2108,'1959-01-01 00:00:00.000000',500,446,30000,0), + (330066,330067,2109,'1959-01-01 00:00:00.000000',250,661,30000,0), + (330067,330068,2111,'1959-01-01 00:00:00.000000',125,802,30000,0), + (330068,330069,2687,'1995-01-01 00:00:00.000000',125,361,30000,0), + (330069,330070,2688,'1995-01-01 00:00:00.000000',60,748,30000,0), + (330070,330072,2689,'1995-01-01 00:00:00.000000',60,831,30000,0), + (330071,330071,2690,'1995-01-01 00:00:00.000000',60,919,30000,0), + (330072,330073,2693,'1995-01-01 00:00:00.000000',30,1124,30000,0), + (330073,330014,2756,'1965-01-01 00:00:00.000000',125,771,30000,0), + (340001,340001,158,'1999-01-01 00:00:00.000000',500,41,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (340002,340002,1172,'1999-01-01 00:00:00.000000',1000,56,30000,0), + (340003,340003,159,'1999-01-01 00:00:00.000000',125,101,30000,0), + (340004,340004,160,'1999-01-01 00:00:00.000000',0,201,30000,0), + (340005,340005,2351,'2001-01-01 00:00:00.000000',500,101,30000,0), + (340006,340006,2680,'1995-01-01 00:00:00.000000',125,126,30000,0), + (340007,340007,2681,'1995-01-01 00:00:00.000000',125,126,30000,0), + (340008,340008,2682,'1995-01-01 00:00:00.000000',125,126,30000,0), + (340009,340009,2683,'1995-01-01 00:00:00.000000',500,81,30000,0), + (340010,340010,2684,'1995-01-01 00:00:00.000000',500,81,30000,0), + (340011,340011,2685,'1995-01-01 00:00:00.000000',500,81,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (350001,350001,161,'1999-01-01 00:00:00.000000',1000,4532,30000,0), + (350002,350002,162,'1999-01-01 00:00:00.000000',500,5061,30000,0), + (350003,350003,409,'1960-01-01 00:00:00.000000',250,5821,30000,0), + (350004,350004,460,'1957-01-01 00:00:00.000000',125,6787,30000,0), + (350005,350005,497,'1999-01-01 00:00:00.000000',0,12411,30000,0), + (350006,350006,2662,'1965-01-01 00:00:00.000000',125,6787,30000,0), + (350007,350007,2663,'1966-01-01 00:00:00.000000',125,7341,30000,0), + (350008,350008,2664,'1967-01-01 00:00:00.000000',0,7940,30000,0), + (360001,360001,163,'1999-01-01 00:00:00.000000',1000,5007,30000,0), + (360002,360002,164,'1999-01-01 00:00:00.000000',75,8665,30000,0); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (360003,360005,507,'1999-01-01 00:00:00.000000',0,16901,30000,0), + (360004,360003,505,'1999-01-01 00:00:00.000000',80,8540,30000,0), + (360005,360006,508,'1999-01-01 00:00:00.000000',90,8415,30000,0), + (360006,360004,506,'1999-01-01 00:00:00.000000',0,13136,30000,0), + (1000001,1000001,166,'1964-01-01 00:00:00.000000',1000,551,30000,15), + (1000002,1000002,887,'1932-01-01 00:00:00.000000',250,646,30000,10), + (1000003,1000003,888,'1942-01-01 00:00:00.000000',125,662,30000,10), + (1000004,1000004,889,'1940-01-01 00:00:00.000000',125,717,30000,10), + (1000005,1000005,890,'1963-01-01 00:00:00.000000',125,2587,30000,3), + (1000006,1000006,891,'1969-01-01 00:00:00.000000',30,6203,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000007,1000007,1046,'1966-01-01 00:00:00.000000',500,1920,30000,14), + (1000008,1000008,1047,'1967-01-01 00:00:00.000000',250,2041,30000,14), + (1000009,1000009,1048,'1968-01-01 00:00:00.000000',125,2438,30000,14), + (1000010,1000010,1049,'1968-01-01 00:00:00.000000',1000,900,30000,13), + (1000011,1000011,1022,'1966-01-01 00:00:00.000000',30,3024,30000,18), + (1000012,1000012,1023,'1968-01-01 00:00:00.000000',250,2116,30000,2), + (1000013,1000013,1050,'1971-01-01 00:00:00.000000',250,1061,30000,2), + (1000014,1000014,1173,'1968-01-01 00:00:00.000000',500,864,30000,11), + (1000015,1000015,1174,'1957-01-01 00:00:00.000000',500,854,30000,6), + (1000016,1000016,1124,'1964-01-01 00:00:00.000000',250,1095,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000017,1000017,1125,'1957-01-01 00:00:00.000000',125,2459,30000,12), + (1000018,1000018,1126,'1967-01-01 00:00:00.000000',250,1175,30000,13), + (1000019,1000019,1175,'1965-01-01 00:00:00.000000',60,2520,30000,5), + (1000020,1000020,1243,'1935-01-01 00:00:00.000000',60,782,30000,10), + (1000021,1000021,1244,'1955-01-01 00:00:00.000000',1000,648,30000,12), + (1000022,1000022,1245,'1958-01-01 00:00:00.000000',500,832,30000,19), + (1000023,1000023,1246,'1966-01-01 00:00:00.000000',60,2941,30000,5), + (1000024,1000024,1247,'1967-01-01 00:00:00.000000',0,5423,30000,5), + (1000025,1000025,1248,'1967-01-01 00:00:00.000000',30,4750,30000,5), + (1000026,1000026,1249,'1957-01-01 00:00:00.000000',250,551,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000027,1000027,1250,'1970-01-01 00:00:00.000000',250,1418,30000,17), + (1000028,1000028,1251,'1969-01-01 00:00:00.000000',125,1813,30000,17), + (1000029,1000029,1252,'1972-01-01 00:00:00.000000',125,2157,30000,16), + (1000030,1000030,1253,'1961-01-01 00:00:00.000000',500,928,30000,3), + (1000031,1000031,1255,'1962-01-01 00:00:00.000000',125,2488,30000,3), + (1000032,1000032,1256,'1964-01-01 00:00:00.000000',125,2967,30000,3), + (1000033,1000033,1254,'1965-01-01 00:00:00.000000',0,10062,30000,3), + (1000034,1000034,1257,'1968-01-01 00:00:00.000000',250,1639,30000,17), + (1000035,1000035,1258,'1970-01-01 00:00:00.000000',125,2682,30000,17), + (1000037,1000037,1260,'1959-01-01 00:00:00.000000',125,1987,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000038,1000038,1261,'1962-01-01 00:00:00.000000',125,2300,30000,1), + (1000039,1000039,1262,'1962-01-01 00:00:00.000000',0,3911,30000,1), + (1000040,1000040,1337,'1990-01-01 00:00:00.000000',60,4780,30000,6), + (1000041,1000041,1338,'1990-01-01 00:00:00.000000',60,5214,30000,6), + (1000042,1000043,1339,'1990-01-01 00:00:00.000000',60,5021,30000,6), + (1000043,1000042,1340,'1990-01-01 00:00:00.000000',60,4587,30000,6), + (1000044,1000044,1341,'1990-01-01 00:00:00.000000',60,5414,30000,5), + (1000045,1000045,1342,'1990-01-01 00:00:00.000000',60,5414,30000,5), + (1000046,1000046,1343,'1990-01-01 00:00:00.000000',60,5200,30000,5), + (1000047,1000047,1344,'1990-01-01 00:00:00.000000',60,6008,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000048,1000048,1499,'1970-01-01 00:00:00.000000',125,995,30000,7), + (1000049,1000049,1573,'1963-01-01 00:00:00.000000',125,2817,30000,13), + (1000050,1000050,1574,'1963-01-01 00:00:00.000000',0,3511,30000,13), + (1000051,1000051,1580,'1968-01-01 00:00:00.000000',250,2166,30000,13), + (1000052,1000052,1613,'1965-01-01 00:00:00.000000',125,2806,30000,3), + (1000053,1000053,1624,'1962-01-01 00:00:00.000000',125,2144,30000,3), + (1000054,1000054,1647,'1969-01-01 00:00:00.000000',0,6385,30000,17), + (1000055,1000055,1675,'1964-01-01 00:00:00.000000',60,3574,30000,1), + (1000057,1000057,1961,'1963-01-01 00:00:00.000000',500,796,30000,19), + (1000058,1000058,1962,'1971-01-01 00:00:00.000000',30,3601,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000060,1000060,1965,'1953-01-01 00:00:00.000000',500,773,30000,21), + (1000061,1000061,1966,'1965-01-01 00:00:00.000000',60,1052,30000,4), + (1000063,1000063,1968,'1971-01-01 00:00:00.000000',1000,898,30000,7), + (1000064,1000064,1969,'1971-01-01 00:00:00.000000',1000,855,30000,8), + (1000065,1000065,1970,'1968-01-01 00:00:00.000000',1000,853,30000,8), + (1000066,1000066,1971,'1968-01-01 00:00:00.000000',125,1008,30000,8), + (1000067,1000067,1972,'1949-01-01 00:00:00.000000',125,596,30000,9), + (1000068,1000068,1973,'1959-01-01 00:00:00.000000',60,2074,30000,9), + (1000069,1000069,1974,'1955-01-01 00:00:00.000000',500,837,30000,6), + (1000070,1000070,1975,'1956-01-01 00:00:00.000000',500,835,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000071,1000071,1976,'1957-01-01 00:00:00.000000',500,1052,30000,6), + (1000072,1000072,1977,'1961-01-01 00:00:00.000000',250,1226,30000,6), + (1000073,1000073,1978,'1962-01-01 00:00:00.000000',125,2363,30000,6), + (1000074,1000074,1979,'1968-01-01 00:00:00.000000',1000,863,30000,6), + (1000075,1000075,1980,'1966-01-01 00:00:00.000000',500,1580,30000,5), + (1000076,1000076,1981,'1969-01-01 00:00:00.000000',60,5530,30000,5), + (1000077,1000077,1982,'1971-01-01 00:00:00.000000',125,2570,30000,5), + (1000078,1000078,1983,'1968-01-01 00:00:00.000000',125,769,30000,11), + (1000079,1000079,1984,'1969-01-01 00:00:00.000000',125,1355,30000,11), + (1000080,1000080,1985,'1966-01-01 00:00:00.000000',500,869,30000,12); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000081,1000081,1986,'1968-01-01 00:00:00.000000',1000,646,30000,12), + (1000082,1000017,1987,'1968-01-01 00:00:00.000000',125,2459,30000,12), + (1000083,1000083,1988,'1967-01-01 00:00:00.000000',250,1380,30000,12), + (1000084,1000084,1989,'1966-01-01 00:00:00.000000',1000,873,30000,13), + (1000085,1000085,1990,'1970-01-01 00:00:00.000000',500,971,30000,13), + (1000086,1000086,1991,'1961-01-01 00:00:00.000000',125,2291,30000,13), + (1000087,1000129,2081,'1962-01-01 00:00:00.000000',125,2854,30000,13), + (1000088,1000087,1992,'1964-01-01 00:00:00.000000',125,2229,30000,13), + (1000089,1000088,1993,'1965-01-01 00:00:00.000000',250,1119,30000,13), + (1000090,1000089,1994,'1970-01-01 00:00:00.000000',500,1099,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000091,1000090,1995,'1970-01-01 00:00:00.000000',500,1043,30000,13), + (1000092,1000091,1996,'1973-01-01 00:00:00.000000',250,2140,30000,13), + (1000093,1000092,1997,'1955-01-01 00:00:00.000000',250,545,30000,15), + (1000094,1000093,1998,'1955-01-01 00:00:00.000000',500,533,30000,15), + (1000095,1000094,1999,'1955-01-01 00:00:00.000000',500,537,30000,15), + (1000096,1000095,2000,'1956-01-01 00:00:00.000000',500,538,30000,15), + (1000097,1000096,2001,'1956-01-01 00:00:00.000000',500,533,30000,15), + (1000098,1000097,2002,'1957-01-01 00:00:00.000000',1000,552,30000,15), + (1000099,1000098,2003,'1957-01-01 00:00:00.000000',500,595,30000,15), + (1000100,1000099,2004,'1957-01-01 00:00:00.000000',500,554,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000101,1000100,2005,'1958-01-01 00:00:00.000000',1000,551,30000,15), + (1000102,1000101,2006,'1959-01-01 00:00:00.000000',500,583,30000,15), + (1000103,1000102,2007,'1963-01-01 00:00:00.000000',125,3293,30000,3), + (1000104,1000103,2008,'1964-01-01 00:00:00.000000',125,2287,30000,3), + (1000105,1000104,2009,'1964-01-01 00:00:00.000000',500,1012,30000,3), + (1000106,1000105,2010,'1964-01-01 00:00:00.000000',500,908,30000,3), + (1000107,1000106,2011,'1970-01-01 00:00:00.000000',250,1434,30000,16), + (1000108,1000107,2012,'1970-01-01 00:00:00.000000',125,2925,30000,16), + (1000109,1000108,2013,'1971-01-01 00:00:00.000000',500,1454,30000,16), + (1000110,1000109,2014,'1972-01-01 00:00:00.000000',250,1410,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000112,1000111,2016,'1971-01-01 00:00:00.000000',250,1559,30000,17), + (1000113,1000112,2017,'1959-01-01 00:00:00.000000',125,2030,30000,1), + (1000114,1000113,2018,'1963-01-01 00:00:00.000000',500,940,30000,1), + (1000115,1000114,2019,'1965-01-01 00:00:00.000000',1000,887,30000,1), + (1000116,1000115,2020,'1964-01-01 00:00:00.000000',1000,838,30000,2), + (1000117,1000116,2021,'1965-01-01 00:00:00.000000',250,1117,30000,2), + (1000118,1000117,2022,'1968-01-01 00:00:00.000000',1000,838,30000,2), + (1000119,1000118,2023,'1967-01-01 00:00:00.000000',500,842,30000,2), + (1000120,1000119,2034,'1966-01-01 00:00:00.000000',500,982,30000,1), + (1000121,1000120,2037,'1962-01-01 00:00:00.000000',125,2116,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000122,1000121,2042,'1969-01-01 00:00:00.000000',500,1018,30000,6), + (1000123,1000122,2048,'1957-01-01 00:00:00.000000',500,831,30000,6), + (1000124,1000120,2050,'1962-01-01 00:00:00.000000',125,2116,30000,6), + (1000125,1000124,2051,'1962-01-01 00:00:00.000000',125,2844,30000,6), + (1000126,1000056,2055,'1962-01-01 00:00:00.000000',500,855,30000,19), + (1000127,1000125,2060,'1966-01-01 00:00:00.000000',125,2278,30000,5), + (1000128,1000126,2070,'1960-01-01 00:00:00.000000',500,1027,30000,13), + (1000129,1000127,2076,'1960-01-01 00:00:00.000000',125,2192,30000,13), + (1000130,1000128,2078,'1962-01-01 00:00:00.000000',250,1200,30000,13), + (1000131,1000130,2084,'1970-01-01 00:00:00.000000',15,2660,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000132,1000131,2086,'1958-01-01 00:00:00.000000',250,2033,30000,3), + (1000133,1000132,2088,'1960-01-01 00:00:00.000000',1000,892,30000,3), + (1000134,1000133,2094,'1966-01-01 00:00:00.000000',250,1115,30000,3), + (1000135,1000134,2096,'1962-01-01 00:00:00.000000',1000,814,30000,4), + (1000136,1000135,2098,'1963-01-01 00:00:00.000000',250,1036,30000,4), + (1000137,1000136,2101,'1963-01-01 00:00:00.000000',1000,813,30000,4), + (1000138,1000137,2102,'1965-01-01 00:00:00.000000',250,928,30000,4), + (1000139,1000138,2103,'1969-01-01 00:00:00.000000',125,2615,30000,4), + (1000140,1000139,2106,'1969-01-01 00:00:00.000000',500,879,30000,4), + (1000141,1000140,2107,'1969-01-01 00:00:00.000000',250,1308,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000142,1000141,2110,'1971-01-01 00:00:00.000000',1000,938,30000,1), + (1000143,1000142,2112,'1964-01-01 00:00:00.000000',60,2756,30000,1), + (1000144,1000143,2113,'1964-01-01 00:00:00.000000',250,1128,30000,1), + (1000145,1000144,2218,'1970-01-01 00:00:00.000000',125,2039,30000,7), + (1000146,1000145,2388,'1973-01-01 00:00:00.000000',1000,952,30000,13), + (1000147,1000146,2424,'1973-01-01 00:00:00.000000',125,1427,30000,5), + (1000148,1000147,2452,'1960-01-01 00:00:00.000000',0,491,30000,6), + (1000149,1000148,2455,'1966-01-01 00:00:00.000000',1000,1821,30000,14), + (1000150,1000149,2456,'1969-01-01 00:00:00.000000',500,1898,30000,14), + (1000151,1000150,2457,'1970-01-01 00:00:00.000000',250,1997,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000152,1000151,2458,'1970-01-01 00:00:00.000000',125,2291,30000,14), + (1000153,1000017,2467,'1964-01-01 00:00:00.000000',0,2459,30000,18), + (1000154,1000152,2480,'1940-01-01 00:00:00.000000',1,606,30000,20), + (1000155,1000153,2538,'1957-01-01 00:00:00.000000',125,1051,30000,7), + (1000156,1000154,2549,'1963-01-01 00:00:00.000000',15,2154,30000,19), + (1000157,1000155,2559,'1942-03-14 00:00:00.000000',60,599,30000,20), + (1000158,1000156,2560,'1942-05-16 00:00:00.000000',60,593,30000,20), + (1000159,1000157,2561,'1946-04-17 00:00:00.000000',60,930,30000,20), + (1000160,1000158,2562,'1947-08-20 00:00:00.000000',60,1724,30000,20), + (1000161,1000159,2563,'1962-02-12 00:00:00.000000',250,793,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000162,1000160,2564,'1955-04-17 00:00:00.000000',250,1791,30000,21), + (1000163,1000161,2565,'1960-06-11 00:00:00.000000',125,947,30000,21), + (1000164,1000162,2566,'1959-07-11 00:00:00.000000',60,1016,30000,21), + (1000165,1000163,2567,'1957-05-16 00:00:00.000000',60,1899,30000,9), + (1000166,1000164,2568,'1958-07-11 00:00:00.000000',60,1943,30000,9), + (1000167,1000165,2569,'1967-08-24 00:00:00.000000',30,3530,30000,18), + (1000168,1000166,2570,'1968-04-15 00:00:00.000000',15,3631,30000,18), + (1000169,1000167,2667,'1995-01-01 00:00:00.000000',30,2420,30000,10), + (1000170,1000168,2697,'1995-01-01 00:00:00.000000',0,9237,30000,5), + (1000171,1000169,2755,'1971-01-01 00:00:00.000000',0,5296,30000,14); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1000172,1000170,2771,'1971-01-01 00:00:00.000000',250,1933,30000,14), + (1000173,1000171,2772,'1972-01-01 00:00:00.000000',500,1911,30000,14), + (1000174,1000173,2873,'1970-01-01 00:00:00.000000',125,2606,30000,4), + (1000175,1000174,2874,'1968-01-01 00:00:00.000000',30,1798,30000,4), + (1000176,1000172,2875,'1971-01-01 00:00:00.000000',500,854,30000,4), + (1100001,1100001,1727,'1999-01-01 00:00:00.000000',1000,444,30000,6), + (1100002,1100017,1728,'1960-01-01 00:00:00.000000',1000,467,30000,2), + (1100003,1100003,167,'1999-01-01 00:00:00.000000',125,1308,30000,2), + (1100004,1100004,1729,'1999-01-01 00:00:00.000000',125,1403,30000,2), + (1100005,1100005,1726,'1999-01-01 00:00:00.000000',1000,452,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100006,1100006,1730,'1999-01-01 00:00:00.000000',30,2111,30000,2), + (1100007,1100007,1731,'1999-01-01 00:00:00.000000',30,2734,30000,2), + (1100008,1100008,1733,'1999-01-01 00:00:00.000000',30,2772,30000,2), + (1100009,1100009,1732,'1999-01-01 00:00:00.000000',30,3458,30000,2), + (1100010,1100018,1308,'1966-01-01 00:00:00.000000',1000,498,30000,3), + (1100011,1100011,1309,'1999-01-01 00:00:00.000000',1000,460,30000,7), + (1100012,1100012,1310,'1999-01-01 00:00:00.000000',1000,454,30000,8), + (1100013,1100013,1311,'1999-01-01 00:00:00.000000',1000,1052,30000,9), + (1100014,1100014,1312,'1999-01-01 00:00:00.000000',1000,480,30000,5), + (1100015,1100016,1313,'1999-01-01 00:00:00.000000',1000,485,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100016,1100020,1314,'1999-01-01 00:00:00.000000',1000,416,30000,10), + (1100017,1100021,1315,'1999-01-01 00:00:00.000000',1000,472,30000,12), + (1100018,1100022,1316,'1968-01-01 00:00:00.000000',1000,468,30000,11), + (1100019,1100023,1317,'1999-01-01 00:00:00.000000',1000,442,30000,14), + (1100020,1100024,1318,'1999-01-01 00:00:00.000000',1000,468,30000,13), + (1100021,1100002,1319,'1999-01-01 00:00:00.000000',500,734,30000,2), + (1100022,1100025,1320,'1956-01-01 00:00:00.000000',500,460,30000,6), + (1100023,1100026,1321,'1957-01-01 00:00:00.000000',60,1572,30000,6), + (1100024,1100010,1307,'1990-01-01 00:00:00.000000',30,1632,30000,2), + (1100025,1100015,1322,'1956-01-01 00:00:00.000000',250,1040,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100026,1100028,1323,'1957-01-01 00:00:00.000000',250,1078,30000,5), + (1100027,1100029,1324,'1970-01-01 00:00:00.000000',60,1725,30000,5), + (1100028,1100030,1325,'1968-01-01 00:00:00.000000',500,495,30000,7), + (1100029,1100031,1326,'1969-01-01 00:00:00.000000',250,1052,30000,7), + (1100030,1100032,1327,'1969-01-01 00:00:00.000000',250,1082,30000,7), + (1100031,1100033,1328,'1968-01-01 00:00:00.000000',250,1084,30000,11), + (1100032,1100034,1329,'1967-01-01 00:00:00.000000',250,1091,30000,12), + (1100033,1100035,1330,'1959-01-01 00:00:00.000000',60,1697,30000,13), + (1100034,1100036,1331,'1967-01-01 00:00:00.000000',125,1028,30000,13), + (1100035,1100037,1332,'1969-01-01 00:00:00.000000',250,1084,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100036,1100039,1333,'1963-01-01 00:00:00.000000',250,1089,30000,13), + (1100037,1100038,1334,'1961-01-01 00:00:00.000000',60,1745,30000,13), + (1100038,1100040,1336,'1956-01-01 00:00:00.000000',500,435,30000,15), + (1100039,1100041,1345,'1961-01-01 00:00:00.000000',250,1106,30000,3), + (1100040,1100042,1346,'1962-01-01 00:00:00.000000',250,1124,30000,3), + (1100041,1100043,1347,'1967-01-01 00:00:00.000000',0,4598,30000,3), + (1100042,1100044,1348,'1966-01-01 00:00:00.000000',250,1402,30000,3), + (1100043,1100045,1349,'1971-01-01 00:00:00.000000',60,2187,30000,17), + (1100044,1100046,1359,'1963-01-01 00:00:00.000000',250,1086,30000,1), + (1100045,1100049,1362,'1964-01-01 00:00:00.000000',30,3404,30000,18); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100046,1100047,1360,'1962-01-01 00:00:00.000000',250,1086,30000,1), + (1100047,1100048,1361,'1964-01-01 00:00:00.000000',60,1740,30000,1), + (1100048,1100050,1363,'1971-01-01 00:00:00.000000',250,1054,30000,2), + (1100049,1100051,1364,'1966-01-01 00:00:00.000000',125,1330,30000,14), + (1100050,1100052,1365,'1970-01-01 00:00:00.000000',60,1694,30000,14), + (1100052,1100054,1367,'1999-01-01 00:00:00.000000',30,2786,30000,9), + (1100053,1100055,1368,'1999-01-01 00:00:00.000000',30,2747,30000,7), + (1100054,1100056,1369,'1999-01-01 00:00:00.000000',30,2747,30000,8), + (1100055,1100057,1370,'1999-01-01 00:00:00.000000',30,2835,30000,5), + (1100056,1100058,1371,'1999-01-01 00:00:00.000000',30,2742,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100057,1100059,1372,'1999-01-01 00:00:00.000000',30,2772,30000,1), + (1100058,1100060,1373,'1999-01-01 00:00:00.000000',30,2890,30000,3), + (1100059,1100061,1374,'1999-01-01 00:00:00.000000',30,2846,30000,4), + (1100060,1100062,1375,'1999-01-01 00:00:00.000000',30,2846,30000,12), + (1100061,1100063,1376,'1999-01-01 00:00:00.000000',30,2846,30000,11), + (1100062,1100064,1377,'1999-01-01 00:00:00.000000',30,2772,30000,13), + (1100063,1100065,1378,'1965-01-01 00:00:00.000000',0,1024,30000,18), + (1100064,1100066,1379,'1999-01-01 00:00:00.000000',30,3520,30000,1), + (1100065,1100067,1380,'1999-01-01 00:00:00.000000',30,3520,30000,7), + (1100066,1100068,1381,'1999-01-01 00:00:00.000000',30,3458,30000,8); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100067,1100069,1382,'1999-01-01 00:00:00.000000',30,3597,30000,5), + (1100068,1100070,1383,'1999-01-01 00:00:00.000000',30,3458,30000,6), + (1100069,1100071,1385,'1999-01-01 00:00:00.000000',30,3501,30000,3), + (1100070,1100072,1386,'1999-01-01 00:00:00.000000',30,3494,30000,4), + (1100071,1100073,1387,'1999-01-01 00:00:00.000000',30,3597,30000,12), + (1100072,1100074,1390,'1999-01-01 00:00:00.000000',30,3458,30000,11), + (1100073,1100075,1391,'1999-01-01 00:00:00.000000',30,3520,30000,13), + (1100074,1100076,1392,'1999-01-01 00:00:00.000000',30,3520,30000,19), + (1100075,1100077,1393,'1999-01-01 00:00:00.000000',125,1320,30000,6), + (1100076,1100078,1394,'1999-01-01 00:00:00.000000',125,1355,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100077,1100079,1396,'1999-01-01 00:00:00.000000',125,1367,30000,3), + (1100078,1100080,1397,'1999-01-01 00:00:00.000000',125,1388,30000,1), + (1100079,1100081,1398,'1999-01-01 00:00:00.000000',125,1388,30000,7), + (1100080,1100082,1399,'1999-01-01 00:00:00.000000',125,1491,30000,5), + (1100081,1100083,1400,'1999-01-01 00:00:00.000000',125,1403,30000,6), + (1100082,1100084,1401,'1999-01-01 00:00:00.000000',125,1494,30000,3), + (1100083,1100085,1402,'1999-01-01 00:00:00.000000',125,1414,30000,4), + (1100085,1100087,1404,'1999-01-01 00:00:00.000000',125,1414,30000,11), + (1100086,1100088,1405,'1999-01-01 00:00:00.000000',125,1367,30000,13), + (1100088,1100090,1410,'1999-01-01 00:00:00.000000',30,1672,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100090,1100092,1412,'1999-01-01 00:00:00.000000',30,1752,30000,5), + (1100091,1100093,1413,'1999-01-01 00:00:00.000000',30,1683,30000,6), + (1100092,1100094,1414,'1999-01-01 00:00:00.000000',30,1791,30000,3), + (1100093,1100095,1415,'1999-01-01 00:00:00.000000',60,1678,30000,4), + (1100096,1100098,1418,'1999-01-01 00:00:00.000000',30,1668,30000,13), + (1100098,1100100,2065,'1968-01-01 00:00:00.000000',250,1065,30000,12), + (1100099,1100101,2068,'1959-01-01 00:00:00.000000',250,1028,30000,13), + (1100100,1100102,2072,'1959-01-01 00:00:00.000000',250,1091,32000,13), + (1100101,1100019,2100,'1964-01-01 00:00:00.000000',250,1033,30000,4), + (1100102,1100104,2421,'1965-01-01 00:00:00.000000',125,460,30000,4); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100103,1100105,2432,'1965-01-01 00:00:00.000000',125,963,30000,10), + (1100104,1100106,2443,'1960-01-01 00:00:00.000000',250,483,30000,8), + (1100105,1100107,2444,'1968-01-01 00:00:00.000000',125,1085,30000,9), + (1100106,1100108,2445,'1967-01-01 00:00:00.000000',125,1092,30000,5), + (1100107,1100109,2446,'1957-01-01 00:00:00.000000',500,467,30000,6), + (1100108,1100110,2447,'1965-01-01 00:00:00.000000',125,1049,30000,1), + (1100109,1100111,2448,'1968-01-01 00:00:00.000000',250,483,30000,12), + (1100110,1100112,2449,'1955-01-01 00:00:00.000000',125,1092,30000,13), + (1100111,1100113,2453,'1960-01-01 00:00:00.000000',0,394,30000,6), + (1100112,1100114,2474,'1940-01-01 00:00:00.000000',1000,462,30000,20); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100113,1100115,2482,'1953-01-01 00:00:00.000000',1000,500,30000,21), + (1100114,1100116,2494,'1970-01-01 00:00:00.000000',1000,483,30000,16), + (1100115,1100117,2495,'1971-01-01 00:00:00.000000',60,1443,30000,16), + (1100116,1100118,2496,'1972-01-01 00:00:00.000000',125,531,30000,16), + (1100117,1100119,2508,'1968-01-01 00:00:00.000000',1000,516,30000,17), + (1100118,1100120,2509,'1968-01-01 00:00:00.000000',125,545,30000,17), + (1100119,1100121,2529,'1954-01-01 00:00:00.000000',1000,396,30000,15), + (1100120,1100122,2542,'1958-01-01 00:00:00.000000',1000,457,30000,19), + (1100121,1100123,2543,'1958-01-01 00:00:00.000000',125,1096,30000,19), + (1100122,1100124,2544,'1963-01-01 00:00:00.000000',30,1717,30000,19); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100123,1100125,2575,'1955-03-21 00:00:00.000000',125,1003,30000,21), + (1100124,1100126,2576,'1955-03-21 00:00:00.000000',125,1014,30000,21), + (1100125,1100127,2577,'1947-01-15 00:00:00.000000',125,1012,30000,20), + (1100126,1100128,2578,'1947-01-15 00:00:00.000000',60,1026,30000,20), + (1100127,1100129,2698,'1964-01-01 00:00:00.000000',125,939,30000,15), + (1100128,1100130,2699,'1995-01-01 00:00:00.000000',125,1355,30000,14), + (1100129,1100131,2700,'1965-01-01 00:00:00.000000',250,483,30000,14), + (1100130,1100132,2701,'1995-01-01 00:00:00.000000',125,1355,30000,11), + (1100131,1100133,2702,'1995-01-01 00:00:00.000000',125,1384,30000,12), + (1100132,1100134,2871,'1957-01-01 00:00:00.000000',1000,413,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100133,1100135,2863,'1957-01-01 00:00:00.000000',1000,427,30000,15), + (1100134,1100136,2864,'1957-01-01 00:00:00.000000',1000,433,30000,15), + (1100135,1100137,2865,'1957-01-01 00:00:00.000000',125,1385,30000,15), + (1100136,1100138,2866,'1957-01-01 00:00:00.000000',125,1396,30000,15), + (1100137,1100139,2867,'1957-01-01 00:00:00.000000',125,1426,30000,15), + (1100138,1100140,2868,'1957-01-01 00:00:00.000000',125,1441,30000,15), + (1100139,1100141,2869,'1957-01-01 00:00:00.000000',60,2363,30000,15), + (1100140,1100142,2870,'1957-01-01 00:00:00.000000',60,2432,30000,15), + (1100141,1100148,3024,'1963-01-01 00:00:00.000000',500,499,30000,21), + (1100142,1100149,3025,'1963-01-01 00:00:00.000000',500,506,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100143,1100143,3019,'1963-01-01 00:00:00.000000',500,514,30000,21), + (1100144,1100144,3020,'1963-01-01 00:00:00.000000',500,530,30000,21), + (1100145,1100145,3021,'1963-01-01 00:00:00.000000',250,538,30000,21), + (1100146,1100146,3022,'1963-01-01 00:00:00.000000',250,1086,30000,21), + (1100147,1100147,3023,'1963-01-01 00:00:00.000000',125,1106,30000,21), + (1100148,1100159,3625,'1968-01-01 00:00:00.000000',0,3447,30000,18), + (1100149,1100154,3620,'1968-01-01 00:00:00.000000',250,554,30000,18), + (1100150,1100155,3619,'1968-01-01 00:00:00.000000',125,2119,30000,18), + (1100151,1100156,3616,'1968-01-01 00:00:00.000000',500,514,30000,9), + (1100152,1100153,3621,'1968-01-01 00:00:00.000000',125,1547,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1100153,1100152,3622,'1968-01-01 00:00:00.000000',125,1730,30000,16), + (1100154,1100158,3618,'1968-01-01 00:00:00.000000',0,3385,30000,9), + (1100155,1100150,3624,'1968-01-01 00:00:00.000000',250,545,30000,17), + (1100156,1100151,3623,'1968-01-01 00:00:00.000000',250,473,30000,16), + (1100157,1100157,3617,'1968-01-01 00:00:00.000000',250,524,30000,9), + (1100158,1100160,3650,'1957-01-01 00:00:00.000000',500,454,30000,6), + (1100159,1100161,3773,'1935-01-01 00:00:00.000000',60,960,30000,10), + (1200001,1200001,168,'1958-01-01 00:00:00.000000',1000,74,30000,5), + (1200002,1200002,169,'1964-01-01 00:00:00.000000',1000,74,30000,2), + (1200003,1200003,189,'1999-01-01 00:00:00.000000',1000,74,30000,3); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200004,1200004,892,'1990-01-01 00:00:00.000000',60,705,30000,3), + (1200005,1200005,893,'1970-01-01 00:00:00.000000',60,614,30000,17), + (1200006,1200006,1294,'1966-01-01 00:00:00.000000',1000,128,30000,5), + (1200007,1200007,1299,'1964-01-01 00:00:00.000000',125,556,30000,1), + (1200008,1200008,1465,'1990-01-01 00:00:00.000000',125,160,30000,3), + (1200009,1200009,1469,'1990-01-01 00:00:00.000000',125,561,30000,3), + (1200010,1200010,1470,'1990-01-01 00:00:00.000000',125,901,30000,3), + (1200011,1200011,1468,'1990-01-01 00:00:00.000000',250,195,30000,3), + (1200012,1200012,1913,'1990-01-01 00:00:00.000000',1000,74,30000,7), + (1200013,1200013,1914,'1953-01-01 00:00:00.000000',1000,74,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200014,1200014,1915,'1990-01-01 00:00:00.000000',1000,361,30000,9), + (1200015,1200015,1916,'1990-01-01 00:00:00.000000',1000,74,30000,1), + (1200017,1200017,1918,'1990-01-01 00:00:00.000000',1000,74,30000,4), + (1200018,1200018,1919,'1990-01-01 00:00:00.000000',100,74,30000,10), + (1200019,1200019,1920,'1990-01-01 00:00:00.000000',1000,74,30000,12), + (1200020,1200020,1921,'1968-01-01 00:00:00.000000',1000,74,30000,11), + (1200021,1200021,1922,'1966-01-01 00:00:00.000000',1000,74,30000,14), + (1200022,1200022,1923,'1990-01-01 00:00:00.000000',1000,124,30000,8), + (1200023,1200023,1924,'1990-01-01 00:00:00.000000',125,561,30000,6), + (1200024,1200024,1925,'1990-01-01 00:00:00.000000',125,561,30000,5); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200025,1200025,1926,'1990-01-01 00:00:00.000000',60,616,30000,5), + (1200026,1200026,1927,'1990-01-01 00:00:00.000000',125,561,30000,13), + (1200027,1200027,1928,'1990-01-01 00:00:00.000000',125,506,30000,15), + (1200028,1200028,1929,'1990-01-01 00:00:00.000000',125,561,30000,3), + (1200029,1200029,1930,'1990-01-01 00:00:00.000000',125,561,30000,3), + (1200030,1200030,1931,'1990-01-01 00:00:00.000000',0,671,30000,3), + (1200031,1200031,1932,'1990-01-01 00:00:00.000000',125,561,30000,3), + (1200032,1200032,1933,'1990-01-01 00:00:00.000000',125,561,30000,1), + (1200033,1200033,1934,'1990-01-01 00:00:00.000000',125,561,30000,2), + (1200034,1200034,2036,'1955-01-01 00:00:00.000000',1000,74,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200035,1200035,2039,'1959-01-01 00:00:00.000000',1000,74,30000,13), + (1200036,1200036,2077,'1960-01-01 00:00:00.000000',125,561,30000,14), + (1200037,1200037,2079,'1961-01-01 00:00:00.000000',250,561,30000,13), + (1200038,1200038,2099,'1964-01-01 00:00:00.000000',125,561,30000,4), + (1200039,1200039,2468,'1964-01-01 00:00:00.000000',15,616,30000,18), + (1200040,1200040,2469,'1964-01-01 00:00:00.000000',0,124,30000,18), + (1200041,1200041,2472,'1970-01-01 00:00:00.000000',60,160,30000,18), + (1200042,1200042,2478,'1940-01-01 00:00:00.000000',1000,74,30000,20), + (1200043,1200043,2503,'1970-01-01 00:00:00.000000',1000,74,30000,16), + (1200044,1200044,2504,'1971-01-01 00:00:00.000000',60,616,30000,16); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200045,1200045,2516,'1968-01-01 00:00:00.000000',1000,74,30000,17), + (1200046,1200047,2517,'1969-01-01 00:00:00.000000',125,229,30000,17), + (1200047,1200046,2518,'1970-01-01 00:00:00.000000',60,561,30000,17), + (1200048,1200048,2534,'1954-01-01 00:00:00.000000',1000,506,30000,15), + (1200049,1200049,2546,'1958-01-01 00:00:00.000000',1000,74,30000,19), + (1200050,1200050,2547,'1958-01-01 00:00:00.000000',125,411,30000,19), + (1200051,1200051,2628,'1955-02-10 00:00:00.000000',125,411,30000,21), + (1200052,1200052,2629,'1968-03-17 00:00:00.000000',125,411,30000,8), + (1200053,1200053,2630,'1968-03-17 00:00:00.000000',125,411,30000,7), + (1200054,1200054,2631,'1946-02-26 00:00:00.000000',1000,133,30000,20); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200055,1200056,2632,'1957-01-16 00:00:00.000000',60,411,30000,9), + (1200056,1200055,2633,'1938-04-20 00:00:00.000000',1000,133,30000,10), + (1200057,1200057,2634,'1968-03-11 00:00:00.000000',60,411,30000,11), + (1200058,1200058,2635,'1968-03-11 00:00:00.000000',125,411,30000,12), + (1200059,1200059,2692,'1995-01-01 00:00:00.000000',250,149,30000,14), + (1200060,1200061,2704,'1995-01-01 00:00:00.000000',250,149,30000,5), + (1200061,1200060,2705,'1995-01-01 00:00:00.000000',250,149,30000,6), + (1200062,1200063,2706,'1995-01-01 00:00:00.000000',250,149,30000,1), + (1200063,1200062,2707,'1995-01-01 00:00:00.000000',250,149,30000,2), + (1200064,1200067,2708,'1995-01-01 00:00:00.000000',250,149,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200065,1200066,2709,'1995-01-01 00:00:00.000000',250,149,30000,3), + (1200066,1200065,2710,'1995-01-01 00:00:00.000000',250,149,30000,16), + (1200067,1200064,2711,'1995-01-01 00:00:00.000000',250,149,30000,4), + (1200068,1200069,2712,'1995-01-01 00:00:00.000000',250,149,30000,12), + (1200069,1200068,2713,'1995-01-01 00:00:00.000000',125,149,30000,11), + (1200070,1200070,2714,'1995-01-01 00:00:00.000000',250,149,30000,13), + (1200071,1200071,2715,'1995-01-01 00:00:00.000000',30,891,30000,3), + (1200072,1200074,2716,'1995-01-01 00:00:00.000000',125,160,30000,8), + (1200073,1200079,2717,'1995-01-01 00:00:00.000000',125,160,30000,5), + (1200074,1200076,2718,'1995-01-01 00:00:00.000000',125,160,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200075,1200082,2719,'1995-01-01 00:00:00.000000',125,160,30000,19), + (1200076,1200088,2720,'1995-01-01 00:00:00.000000',125,160,30000,1), + (1200077,1200085,2721,'1995-01-01 00:00:00.000000',125,160,30000,2), + (1200078,1200099,2722,'1995-01-01 00:00:00.000000',125,160,30000,17), + (1200079,1200096,2723,'1995-01-01 00:00:00.000000',125,160,30000,16), + (1200080,1200093,2724,'1995-01-01 00:00:00.000000',125,160,30000,4), + (1200081,1200072,2725,'1995-01-01 00:00:00.000000',60,642,30000,14), + (1200082,1200075,2726,'1998-01-01 00:00:00.000000',60,642,30000,8), + (1200083,1200080,2727,'1995-01-01 00:00:00.000000',60,642,30000,5), + (1200084,1200077,2728,'1999-01-01 00:00:00.000000',60,642,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200085,1200083,2729,'1999-01-01 00:00:00.000000',60,642,30000,19), + (1200086,1200089,2730,'1999-01-01 00:00:00.000000',60,642,30000,1), + (1200087,1200086,2732,'1999-01-01 00:00:00.000000',60,642,30000,2), + (1200088,1200091,2731,'1999-01-01 00:00:00.000000',30,642,30000,18), + (1200089,1200100,2733,'1999-01-01 00:00:00.000000',60,705,30000,17), + (1200090,1200097,2734,'1999-01-01 00:00:00.000000',60,705,30000,16), + (1200091,1200094,2735,'1999-01-01 00:00:00.000000',60,705,30000,4), + (1200092,1200073,2736,'1999-01-01 00:00:00.000000',30,891,30000,14), + (1200093,1200081,2737,'1999-01-01 00:00:00.000000',30,946,30000,5), + (1200094,1200078,2738,'1999-01-01 00:00:00.000000',30,946,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200095,1200084,2739,'1999-01-01 00:00:00.000000',30,946,30000,19), + (1200096,1200090,2740,'1999-01-01 00:00:00.000000',30,946,30000,1), + (1200097,1200092,2741,'1999-01-01 00:00:00.000000',15,946,30000,18), + (1200098,1200087,2742,'1999-01-01 00:00:00.000000',30,946,30000,2), + (1200099,1200101,2743,'1999-01-01 00:00:00.000000',30,946,30000,17), + (1200100,1200098,2744,'1999-01-01 00:00:00.000000',30,1001,30000,16), + (1200101,1200095,2745,'1999-01-01 00:00:00.000000',30,891,30000,4), + (1200102,1200108,2746,'1999-01-01 00:00:00.000000',125,160,30000,12), + (1200103,1200102,2747,'1999-01-01 00:00:00.000000',125,160,30000,11), + (1200104,1200105,2748,'1999-01-01 00:00:00.000000',125,160,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200105,1200109,2749,'1999-01-01 00:00:00.000000',60,642,30000,12), + (1200106,1200103,2750,'1999-01-01 00:00:00.000000',60,642,30000,11), + (1200107,1200106,2751,'1999-01-01 00:00:00.000000',60,642,30000,13), + (1200108,1200110,2752,'1999-01-01 00:00:00.000000',30,946,30000,12), + (1200109,1200104,2753,'1999-01-01 00:00:00.000000',30,946,30000,11), + (1200110,1200107,2754,'1999-01-01 00:00:00.000000',30,946,30000,13), + (1200111,1200115,2833,'1957-01-01 00:00:00.000000',125,551,30000,15), + (1200112,1200113,2829,'1957-01-01 00:00:00.000000',60,951,30000,15), + (1200113,1200116,2834,'1957-01-01 00:00:00.000000',125,821,30000,15), + (1200114,1200114,2832,'1957-01-01 00:00:00.000000',125,506,30000,15); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200115,1200117,2830,'1957-01-01 00:00:00.000000',125,551,30000,15), + (1200116,1200111,2827,'1957-01-01 00:00:00.000000',125,506,30000,15), + (1200117,1200112,2828,'1957-01-01 00:00:00.000000',60,655,30000,15), + (1200118,1200118,2831,'1957-01-01 00:00:00.000000',125,554,30000,15), + (1200119,1200123,2915,'1964-01-01 00:00:00.000000',250,133,30000,6), + (1200120,1200122,2914,'1964-01-01 00:00:00.000000',125,614,30000,6), + (1200121,1200121,2913,'1964-01-01 00:00:00.000000',30,1084,30000,6), + (1200122,1200124,2916,'1964-01-01 00:00:00.000000',30,990,30000,6), + (1200123,1200119,2911,'1964-01-01 00:00:00.000000',60,674,30000,6), + (1200124,1200120,2912,'1964-01-01 00:00:00.000000',500,133,30000,6); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200125,1200131,2994,'1965-01-01 00:00:00.000000',500,128,30000,21), + (1200126,1200127,2990,'1965-01-01 00:00:00.000000',125,848,30000,21), + (1200127,1200132,2995,'1965-01-01 00:00:00.000000',125,482,30000,21), + (1200128,1200138,3001,'1965-01-01 00:00:00.000000',250,224,30000,4), + (1200129,1200126,2989,'1965-01-01 00:00:00.000000',250,181,30000,21), + (1200130,1200139,3002,'1965-01-01 00:00:00.000000',125,942,30000,4), + (1200131,1200128,2991,'1965-01-01 00:00:00.000000',125,901,30000,21), + (1200132,1200137,3000,'1965-01-01 00:00:00.000000',125,535,30000,4), + (1200133,1200129,2992,'1965-01-01 00:00:00.000000',125,511,30000,21), + (1200134,1200130,2993,'1965-01-01 00:00:00.000000',125,559,30000,21); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200135,1200135,2998,'1965-01-01 00:00:00.000000',125,535,30000,4), + (1200136,1200133,2996,'1965-01-01 00:00:00.000000',125,535,30000,4), + (1200137,1200134,2997,'1965-01-01 00:00:00.000000',60,674,30000,4), + (1200138,1200125,2988,'1965-01-01 00:00:00.000000',60,559,30000,21), + (1200139,1200140,2999,'1965-01-01 00:00:00.000000',60,705,30000,4), + (1200140,1200142,3070,'1966-01-01 00:00:00.000000',75,1096,30000,2), + (1200141,1200143,3072,'1966-01-01 00:00:00.000000',125,861,30000,2), + (1200142,1200141,3071,'1966-01-01 00:00:00.000000',250,511,30000,2), + (1200143,1200144,3107,'1966-01-01 00:00:00.000000',75,1096,30000,13), + (1200144,1200145,3108,'1966-01-01 00:00:00.000000',75,1047,30000,13); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200145,1200165,3282,'1967-01-01 00:00:00.000000',0,1260,30000,9), + (1200146,1200180,3297,'1967-01-01 00:00:00.000000',500,254,30000,14), + (1200147,1200173,3290,'1967-01-01 00:00:00.000000',500,254,30000,19), + (1200148,1200166,3283,'1967-01-01 00:00:00.000000',500,254,30000,9), + (1200149,1200181,3298,'1967-01-01 00:00:00.000000',250,587,30000,14), + (1200150,1200174,3291,'1967-01-01 00:00:00.000000',250,587,30000,19), + (1200151,1200167,3284,'1967-01-01 00:00:00.000000',250,587,30000,9), + (1200152,1200179,3296,'1967-01-01 00:00:00.000000',0,1260,30000,14), + (1200153,1200148,3265,'1967-01-01 00:00:00.000000',0,1260,30000,16), + (1200154,1200153,3270,'1967-01-01 00:00:00.000000',0,1260,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200155,1200186,3303,'1967-01-01 00:00:00.000000',0,1260,30000,12), + (1200156,1200159,3276,'1967-01-01 00:00:00.000000',0,1260,30000,18), + (1200157,1200172,3289,'1967-01-01 00:00:00.000000',0,1260,30000,19), + (1200158,1200190,3307,'1967-01-01 00:00:00.000000',0,1260,30000,1), + (1200159,1200191,3308,'1967-01-01 00:00:00.000000',0,1260,30000,5), + (1200160,1200175,3292,'1967-01-01 00:00:00.000000',75,1001,30000,19), + (1200161,1200182,3299,'1967-01-01 00:00:00.000000',75,1001,30000,14), + (1200162,1200160,3277,'1967-01-01 00:00:00.000000',50,1001,30000,18), + (1200163,1200192,3309,'1967-01-01 00:00:00.000000',75,1001,30000,5), + (1200164,1200168,3285,'1967-01-01 00:00:00.000000',75,1001,30000,9); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200165,1200169,3286,'1967-01-01 00:00:00.000000',250,233,30000,19), + (1200166,1200176,3293,'1967-01-01 00:00:00.000000',250,233,30000,14), + (1200167,1200162,3279,'1967-01-01 00:00:00.000000',250,233,30000,9), + (1200168,1200183,3300,'1967-01-01 00:00:00.000000',250,242,30000,12), + (1200169,1200156,3275,'1967-01-01 00:00:00.000000',250,242,30000,18), + (1200170,1200187,3304,'1967-01-01 00:00:00.000000',250,233,30000,1), + (1200171,1200163,3280,'1967-01-01 00:00:00.000000',250,535,30000,9), + (1200172,1200157,3273,'1967-01-01 00:00:00.000000',125,535,30000,18), + (1200173,1200189,3306,'1967-01-01 00:00:00.000000',250,614,30000,1), + (1200174,1200151,3268,'1967-01-01 00:00:00.000000',250,535,30000,17); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200175,1200146,3263,'1967-01-01 00:00:00.000000',250,535,30000,16), + (1200176,1200170,3287,'1967-01-01 00:00:00.000000',250,535,30000,19), + (1200177,1200177,3294,'1967-01-01 00:00:00.000000',250,535,30000,14), + (1200178,1200184,3301,'1967-01-01 00:00:00.000000',250,535,30000,12), + (1200179,1200161,3278,'1967-01-01 00:00:00.000000',500,212,30000,9), + (1200180,1200149,3266,'1967-01-01 00:00:00.000000',125,1047,30000,16), + (1200181,1200154,3271,'1967-01-01 00:00:00.000000',125,1047,30000,17), + (1200182,1200152,3269,'1967-01-01 00:00:00.000000',125,698,30000,17), + (1200183,1200178,3295,'1967-01-01 00:00:00.000000',125,698,30000,14), + (1200184,1200189,3306,'1967-01-01 00:00:00.000000',125,614,30000,1); +INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES + (1200185,1200185,3302,'1967-01-01 00:00:00.000000',125,698,30000,12), + (1200186,1200147,3264,'1967-01-01 00:00:00.000000',125,698,30000,16), + (1200187,1200171,3288,'1967-01-01 00:00:00.000000',125,698,30000,19), + (1200188,1200164,3281,'1967-01-01 00:00:00.000000',125,698,30000,9), + (1200189,1200158,3274,'1967-01-01 00:00:00.000000',125,698,30000,18), + (1200190,1200155,3272,'1967-01-01 00:00:00.000000',0,1132,30000,17), + (1200191,1200150,3267,'1967-01-01 00:00:00.000000',0,1132,30000,16), + (1200192,1200193,3771,'1995-01-01 00:00:00.000000',60,579,30000,10); diff --git a/migrations/2024.02.11T23.30.06.initialPart.sql b/migrations/2024.02.11T23.30.06.initialPart.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/2024.02.11T23.30.06.initialPart.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/2024.02.11T23.30.44.initialDriverClass.sql b/migrations/2024.02.11T23.30.44.initialDriverClass.sql new file mode 100644 index 000000000..5966176eb --- /dev/null +++ b/migrations/2024.02.11T23.30.44.initialDriverClass.sql @@ -0,0 +1,4 @@ +INSERT INTO DriverClass (DriverClassID,DriverClass) VALUES + (0,'C'), + (1,'B'), + (2,'A'); diff --git a/migrations/2024.02.11T23.32.01.initialPlayerType.sql b/migrations/2024.02.11T23.32.01.initialPlayerType.sql new file mode 100644 index 000000000..1122e2ce5 --- /dev/null +++ b/migrations/2024.02.11T23.32.01.initialPlayerType.sql @@ -0,0 +1,6 @@ +INSERT INTO PlayerType (PlayerTypeID,PlayerType) VALUES + (1,'System'), + (2,'Admin'), + (3,'Player'), + (4,'Deleted Player'), + (5,'Escrow'); diff --git a/migrations/2024.02.11T23.32.44.initialPlayer.sql b/migrations/2024.02.11T23.32.44.initialPlayer.sql new file mode 100644 index 000000000..4213dc5b7 --- /dev/null +++ b/migrations/2024.02.11T23.32.44.initialPlayer.sql @@ -0,0 +1,567 @@ +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (0,0,5,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Null Name',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (1,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Muscle Mike','1235 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (2,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Auto Barn','1236 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (3,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Fat Fender Freddy','1237 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (4,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Righteous Ride','1238 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (5,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Classic Chrysler','1239 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (6,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','All Factory Ford','1240 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (7,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Shoebox Showroom','1241 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (8,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Original GM','1242 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (9,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Scrappy','1243 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (10,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Joe','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (11,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','AI Administrator','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (12,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Editorials','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (13,0,5,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Escrow','1234 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (14,0,1,0,0,'1900-01-01 00:00:00.000000',0,250000,0,0,0,0,NULL,'0','0','0','0','0','0','xxxx','PartAuction','0','0',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,0,0,0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,0,0,0,0), + (500,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,0,'AI Racer','00','01','02','03','04','05','303872ia','AI Racer 500','12390 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,47,104,0,3,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (501,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','392562ia','AI Racer 501','19030 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,488,135,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (502,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','754473ia','AI Racer 502','24667 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,45,104,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (503,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,39,'AI Racer','00','01','02','03','04','05','655218ia','AI Racer 503','19862 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,424,256,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (504,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','661274ia','AI Racer 504','17633 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,320,124,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (505,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','748672ia','AI Racer 505','5973 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,341,126,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (506,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','743362ia','AI Racer 506','20530 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,479,135,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (507,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','150424ia','AI Racer 507','14501 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,208,117,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (508,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','670230ia','AI Racer 508','11518 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (509,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','676802ia','AI Racer 509','17074 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,164,114,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (510,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','216809ia','AI Racer 510','1 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,332,125,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (511,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','450489ia','AI Racer 511','17156 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,157,113,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (512,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','880258ia','AI Racer 512','4278 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,403,130,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (513,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','325247ia','AI Racer 513','1923 26th Street','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,334,125,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (514,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','985983ia','AI Racer 514','4582 27th Street','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,648,134,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (515,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','219306ia','AI Racer 515','5913 Van Way','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,410,131,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (516,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','712898ia','AI Racer 516','22855 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,340,126,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (517,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','769085ia','AI Racer 517','21038 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (518,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','460272ia','AI Racer 518','9291 32nd Street','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,561,113,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (519,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','83745ia','AI Racer 519','12505 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,427,132,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (520,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','469201ia','AI Racer 520','28280 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,520,103,0,4,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (521,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','387318ia','AI Racer 521','5676 Van Way','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,58,105,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (522,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','481939ia','AI Racer 522','167 35th Street','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,162,114,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (523,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','219602ia','AI Racer 523','5377 32nd Street','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,94,109,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (524,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','98237ia','AI Racer 524','2966 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,28,102,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (525,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','550891ia','AI Racer 525','8909 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,426,132,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (526,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','82933ia','AI Racer 526','27132 33rd Street','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,299,123,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (527,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','602424ia','AI Racer 527','13996 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,528,105,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (528,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','837365ia','AI Racer 528','16577 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,185,115,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (529,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','568712ia','AI Racer 529','157 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,64,105,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (530,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','486006ia','AI Racer 530','21699 38th Street','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,624,128,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (531,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','150879ia','AI Racer 531','13759 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,304,123,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (532,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','498768ia','AI Racer 532','15100 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,232,119,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (533,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','697447ia','AI Racer 533','7870 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,73,106,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (534,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','914165ia','AI Racer 534','12865 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,16,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (535,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','585301ia','AI Racer 535','15917 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,370,128,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (536,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','696998ia','AI Racer 536','29129 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,403,130,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (537,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','485027ia','AI Racer 537','11864 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,154,113,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (538,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','509577ia','AI Racer 538','18755 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,1,101,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (539,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','179998ia','AI Racer 539','27924 Newport Way','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,569,115,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (540,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','35476ia','AI Racer 540','2526 35th Street','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,344,126,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (541,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','974717ia','AI Racer 541','11837 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,20,102,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (542,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','464742ia','AI Racer 542','4093 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (543,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','754074ia','AI Racer 543','4268 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,30,103,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (544,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','804176ia','AI Racer 544','24503 Van Way','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,491,135,0,1,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (545,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','994626ia','AI Racer 545','2186 39th Street','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (546,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','94126ia','AI Racer 546','4524 33rd Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (547,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','571815ia','AI Racer 547','6931 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,99,109,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (548,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','160096ia','AI Racer 548','11826 27th Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,295,123,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (549,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','227074ia','AI Racer 549','24213 34th Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,150,112,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (550,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','936708ia','AI Racer 550','21767 30th Street','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,191,116,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (551,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','330081ia','AI Racer 551','20248 Spark Street','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,280,122,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (552,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','852519ia','AI Racer 552','1585 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,504,108,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (553,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','25095ia','AI Racer 553','742 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,491,135,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (554,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','476593ia','AI Racer 554','23289 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,421,132,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (555,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','79046ia','AI Racer 555','11493 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,212,118,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (556,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','421062ia','AI Racer 556','11511 Newport Way','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,644,133,0,4,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (557,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','834459ia','AI Racer 557','2578 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,158,113,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (558,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','185804ia','AI Racer 558','3130 Main Street','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,207,117,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (559,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','292551ia','AI Racer 559','22628 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,101,109,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (560,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','301945ia','AI Racer 560','15902 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,301,123,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (561,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','939129ia','AI Racer 561','11995 30th Street','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,331,125,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (562,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','842129ia','AI Racer 562','15070 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,227,119,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (563,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','522294ia','AI Racer 563','25688 Newport Way','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,124,111,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (564,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','430746ia','AI Racer 564','12809 35th Street','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,550,110,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (565,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','74483ia','AI Racer 565','13403 Van Way','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,141,112,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (566,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','488746ia','AI Racer 566','29792 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,610,125,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (567,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','360001ia','AI Racer 567','29357 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,349,126,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (568,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','182796ia','AI Racer 568','16647 30th Street','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,490,135,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (569,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','817095ia','AI Racer 569','7805 37th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (570,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','596776ia','AI Racer 570','12112 34th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,541,108,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (571,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','376237ia','AI Racer 571','28270 32nd Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,51,104,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (572,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','326326ia','AI Racer 572','8675 39th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,586,119,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (573,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','224231ia','AI Racer 573','28187 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,582,118,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (574,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','520429ia','AI Racer 574','18809 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,226,119,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (575,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','964865ia','AI Racer 575','3780 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,606,124,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (576,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','866643ia','AI Racer 576','21809 32nd Street','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,40,103,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (577,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','626184ia','AI Racer 577','25887 35th Street','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,175,114,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (578,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','392980ia','AI Racer 578','4362 40th Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,14,101,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (579,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','949799ia','AI Racer 579','23535 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,395,130,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (580,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','273343ia','AI Racer 580','26913 31st Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,55,105,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (581,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','76510ia','AI Racer 581','27342 38th Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,468,134,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (582,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','813472ia','AI Racer 582','12153 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,561,113,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (583,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','110644ia','AI Racer 583','20152 40th Street','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,425,132,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (584,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','749440ia','AI Racer 584','28765 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,332,125,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (585,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','841527ia','AI Racer 585','16354 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,75,106,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (586,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','241745ia','AI Racer 586','12041 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,362,127,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (587,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','659771ia','AI Racer 587','795 Main Street','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,143,112,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (588,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','26899ia','AI Racer 588','3545 39th Street','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,380,129,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (589,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','416064ia','AI Racer 589','25498 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,113,110,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (590,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','768108ia','AI Racer 590','20187 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,413,131,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (591,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','701220ia','AI Racer 591','1649 40th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,65,106,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (592,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','622845ia','AI Racer 592','21062 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (593,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','411571ia','AI Racer 593','23654 37th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,343,126,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (594,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','66525ia','AI Racer 594','12399 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,49,104,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (595,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','273352ia','AI Racer 595','2731 39th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,521,103,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (596,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','154000ia','AI Racer 596','2787 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,204,117,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (597,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','423723ia','AI Racer 597','9138 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (598,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','671710ia','AI Racer 598','19830 40th Street','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,46,104,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (599,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','679830ia','AI Racer 599','11928 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,207,117,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (600,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','522491ia','AI Racer 600','867 28th Street','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,358,127,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (601,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','173515ia','AI Racer 601','20635 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,250,120,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (602,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','17008ia','AI Racer 602','3799 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,644,133,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (603,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','723724ia','AI Racer 603','27178 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,291,122,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (604,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','912010ia','AI Racer 604','28794 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,71,106,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (605,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','856571ia','AI Racer 605','23770 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (606,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','361569ia','AI Racer 606','27936 Van Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (607,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','430294ia','AI Racer 607','9465 Newport Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (608,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','200002ia','AI Racer 608','18734 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,393,129,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (609,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','761006ia','AI Racer 609','3122 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (610,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','354954ia','AI Racer 610','7308 36th Street','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,242,120,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (611,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','941120ia','AI Racer 611','4992 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (612,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','997661ia','AI Racer 612','1284 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (613,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','784622ia','AI Racer 613','10704 35th Street','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (614,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','610071ia','AI Racer 614','5439 40th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,7,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (615,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','154341ia','AI Racer 615','26774 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (616,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','603120ia','AI Racer 616','13229 36th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,126,111,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (617,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','84166ia','AI Racer 617','13098 39th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,9,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (618,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','751322ia','AI Racer 618','8804 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (619,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','156450ia','AI Racer 619','7359 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,373,128,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (620,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','311080ia','AI Racer 620','12471 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,198,116,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (621,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','109171ia','AI Racer 621','16179 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (622,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','21143ia','AI Racer 622','7698 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,620,127,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (623,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','494328ia','AI Racer 623','22080 33rd Street','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,185,115,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (624,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','67631ia','AI Racer 624','23832 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,70,106,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (625,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','409432ia','AI Racer 625','16188 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,536,107,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (626,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','123659ia','AI Racer 626','7518 32nd Street','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (627,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','839593ia','AI Racer 627','10874 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (628,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','109316ia','AI Racer 628','11119 Newport Way','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,318,124,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (629,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','291280ia','AI Racer 629','28506 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (630,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','473923ia','AI Racer 630','5033 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,132,111,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (631,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','407098ia','AI Racer 631','21929 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (632,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','922459ia','AI Racer 632','26513 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (633,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','8727ia','AI Racer 633','9820 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (634,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','319287ia','AI Racer 634','1729 32nd Street','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (635,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','139794ia','AI Racer 635','14163 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (636,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','522918ia','AI Racer 636','25350 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,252,120,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (637,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','814006ia','AI Racer 637','24547 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (638,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','968628ia','AI Racer 638','29310 40th Street','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (639,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','486332ia','AI Racer 639','133 35th Street','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (640,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','378921ia','AI Racer 640','28711 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (641,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','867790ia','AI Racer 641','13602 36th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (642,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','169255ia','AI Racer 642','17079 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (643,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','637397ia','AI Racer 643','12225 28th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (644,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','260694ia','AI Racer 644','5682 36th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,370,128,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (645,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','193921ia','AI Racer 645','1517 29th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (646,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','383668ia','AI Racer 646','22413 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (647,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','418331ia','AI Racer 647','24800 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,598,122,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (648,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','498356ia','AI Racer 648','6111 34th Street','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (649,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','394224ia','AI Racer 649','17302 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,177,115,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (650,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','46273ia','AI Racer 650','17762 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,9,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (651,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','873050ia','AI Racer 651','3579 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (652,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','438471ia','AI Racer 652','2543 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,529,105,0,9,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (653,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','512831ia','AI Racer 653','15245 Spark Street','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,298,123,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (654,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','915303ia','AI Racer 654','10197 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,222,118,0,3,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (655,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','199397ia','AI Racer 655','2197 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (656,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','140597ia','AI Racer 656','17701 35th Street','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (657,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','739018ia','AI Racer 657','15977 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (658,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','288685ia','AI Racer 658','23165 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (659,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','736478ia','AI Racer 659','27051 26th Street','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,407,131,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (660,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','842805ia','AI Racer 660','24570 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (661,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','908598ia','AI Racer 661','21645 32nd Street','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,433,132,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (662,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','870033ia','AI Racer 662','4276 27th Street','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (663,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','833278ia','AI Racer 663','28616 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (664,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','462606ia','AI Racer 664','23816 31st Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,5,101,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (665,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','959217ia','AI Racer 665','24837 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,636,131,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (666,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','419274ia','AI Racer 666','5688 32nd Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,569,115,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (667,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','634402ia','AI Racer 667','12319 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (668,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','263602ia','AI Racer 668','7509 30th Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,200,116,0,3,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (669,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','784129ia','AI Racer 669','28233 34th Street','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (670,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','537433ia','AI Racer 670','1742 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,360,140,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (671,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','687851ia','AI Racer 671','12358 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (672,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','782994ia','AI Racer 672','19994 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,532,106,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (673,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','238242ia','AI Racer 673','29314 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,562,113,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (674,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','185706ia','AI Racer 674','17810 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,554,111,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (675,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','269504ia','AI Racer 675','26177 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (676,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','945853ia','AI Racer 676','21559 34th Street','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,65,106,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (677,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','658907ia','AI Racer 677','7324 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,60,105,0,2,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (678,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','526760ia','AI Racer 678','24556 35th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,1,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (679,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','464750ia','AI Racer 679','9027 39th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,193,116,0,8,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (680,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','627007ia','AI Racer 680','7172 26th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,309,123,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (681,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','994199ia','AI Racer 681','21102 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (682,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','841467ia','AI Racer 682','467 37th Street','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,282,122,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (683,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','42685ia','AI Racer 683','28659 37th Street','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,196,116,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (684,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','621816ia','AI Racer 684','19155 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (685,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','189819ia','AI Racer 685','27233 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (686,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','298553ia','AI Racer 686','11934 Head Row','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (687,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','587905ia','AI Racer 687','13868 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,323,124,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (688,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','329753ia','AI Racer 688','15688 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (689,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','339916ia','AI Racer 689','17824 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,570,115,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (690,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','763876ia','AI Racer 690','5538 38th Street','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (691,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','130748ia','AI Racer 691','19330 40th Street','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (692,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','861413ia','AI Racer 692','3047 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (693,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','940574ia','AI Racer 693','18853 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (694,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','95274ia','AI Racer 694','10817 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,11,139,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (695,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','260194ia','AI Racer 695','24284 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (696,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','349514ia','AI Racer 696','22758 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (697,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','967634ia','AI Racer 697','9224 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (698,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','430043ia','AI Racer 698','24868 31st Street','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (699,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','914177ia','AI Racer 699','29211 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (700,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','863991ia','AI Racer 700','19718 Spark Street','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (701,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','732600ia','AI Racer 701','1504 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,362,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (702,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','931152ia','AI Racer 702','9873 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (703,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','91295ia','AI Racer 703','451 Main Street','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (704,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','740375ia','AI Racer 704','11695 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,482,135,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (705,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','821195ia','AI Racer 705','6662 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,241,120,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (706,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','803969ia','AI Racer 706','18934 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (707,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','185183ia','AI Racer 707','19299 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,339,126,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (708,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','627887ia','AI Racer 708','27540 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (709,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','784354ia','AI Racer 709','11047 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (710,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','795168ia','AI Racer 710','21469 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,3,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (711,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','32290ia','AI Racer 711','3536 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,12,139,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (712,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','265341ia','AI Racer 712','19971 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,7,101,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (713,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','121830ia','AI Racer 713','1496 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (714,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','955076ia','AI Racer 714','20285 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,154,113,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (715,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,9,'AI Racer','00','01','02','03','04','05','836230ia','AI Racer 715','3299 38th Street','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,8,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (716,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','50290ia','AI Racer 716','27073 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (717,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','522344ia','AI Racer 717','29459 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (718,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','703806ia','AI Racer 718','20601 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (719,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','307671ia','AI Racer 719','15813 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (720,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','986269ia','AI Racer 720','7641 28th Street','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (721,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','157802ia','AI Racer 721','3364 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,73,106,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (722,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','184658ia','AI Racer 722','22794 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (723,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','390538ia','AI Racer 723','16005 39th Street','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,182,115,0,7,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (724,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','760587ia','AI Racer 724','8166 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,450,133,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (725,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','948166ia','AI Racer 725','6338 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (726,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','792091ia','AI Racer 726','8130 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (727,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','576631ia','AI Racer 727','15503 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (728,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','841408ia','AI Racer 728','6912 Spark Street','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (729,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','527174ia','AI Racer 729','23710 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,8,139,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (730,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','98381ia','AI Racer 730','12813 Head Row','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (731,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','128052ia','AI Racer 731','51 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (732,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','622648ia','AI Racer 732','20088 Spark Street','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (733,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','974370ia','AI Racer 733','20228 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (734,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','522921ia','AI Racer 734','2987 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,357,127,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (735,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','293030ia','AI Racer 735','19104 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (736,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','145303ia','AI Racer 736','22908 33rd Street','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,8,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (737,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','861163ia','AI Racer 737','21594 32nd Street','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (738,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','866208ia','AI Racer 738','9554 37th Street','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,639,132,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (739,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','765345ia','AI Racer 739','4901 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,2,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (740,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','760698ia','AI Racer 740','20485 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,366,128,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (741,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','276869ia','AI Racer 741','15532 27th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,423,132,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (742,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','900508ia','AI Racer 742','3119 38th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,510,108,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (743,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','383417ia','AI Racer 743','20485 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,574,116,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (744,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','69374ia','AI Racer 744','17754 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (745,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','580192ia','AI Racer 745','19640 30th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (746,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','800015ia','AI Racer 746','24210 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (747,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','867472ia','AI Racer 747','6760 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (748,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','203002ia','AI Racer 748','16685 27th Street','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,320,124,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (749,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','1813ia','AI Racer 749','18371 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,152,113,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (750,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','737647ia','AI Racer 750','6087 34th Street','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (751,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','832918ia','AI Racer 751','23584 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,579,117,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (752,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','992344ia','AI Racer 752','189 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,524,104,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (753,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','330147ia','AI Racer 753','19837 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,82,107,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (754,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','109599ia','AI Racer 754','16443 28th Street','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,184,115,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (755,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','384743ia','AI Racer 755','23283 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (756,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','227751ia','AI Racer 756','21956 37th Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,594,121,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (757,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','505229ia','AI Racer 757','13250 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (758,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','639762ia','AI Racer 758','18956 37th Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (759,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','769005ia','AI Racer 759','28099 31st Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,508,108,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (760,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','312586ia','AI Racer 760','6421 34th Street','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (761,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','173115ia','AI Racer 761','7443 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,558,112,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (762,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','133532ia','AI Racer 762','12562 40th Street','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,508,108,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (763,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','432455ia','AI Racer 763','5036 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (764,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','813139ia','AI Racer 764','9886 Newport Way','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,635,131,0,2,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (765,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','792775ia','AI Racer 765','12333 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (766,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32052ia','AI Racer 766','8444 38th Street','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (767,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','156060ia','AI Racer 767','9577 35th Street','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,15,102,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (768,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','207050ia','AI Racer 768','17324 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,11,139,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (769,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','253908ia','AI Racer 769','29085 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (770,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','513633ia','AI Racer 770','3686 26th Street','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (771,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','549699ia','AI Racer 771','3358 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (772,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','733383ia','AI Racer 772','8144 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (773,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','276713ia','AI Racer 773','28263 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,327,125,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (774,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','703974ia','AI Racer 774','12096 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (775,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','996439ia','AI Racer 775','4926 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (776,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','838233ia','AI Racer 776','15063 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (777,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','539036ia','AI Racer 777','10474 36th Street','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (778,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','268247ia','AI Racer 778','29936 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,186,115,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (779,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','3721ia','AI Racer 779','10277 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,360,127,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (780,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','958061ia','AI Racer 780','24258 37th Street','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,314,124,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (781,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','409616ia','AI Racer 781','29593 Head Row','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,7,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (782,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','508842ia','AI Racer 782','6745 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (783,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','84848ia','AI Racer 783','15885 28th Street','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (784,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','455543ia','AI Racer 784','9106 28th Street','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (785,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','575983ia','AI Racer 785','14830 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,434,132,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (786,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','86639ia','AI Racer 786','7342 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,231,119,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (787,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','636477ia','AI Racer 787','26110 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,284,122,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (788,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','82440ia','AI Racer 788','1330 Main Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (789,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','737547ia','AI Racer 789','25620 34th Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (790,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','890036ia','AI Racer 790','14554 36th Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,1,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (791,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','351085ia','AI Racer 791','7817 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,317,124,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (792,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','97513ia','AI Racer 792','27644 33rd Street','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (793,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','728067ia','AI Racer 793','29617 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,348,141,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (794,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','590410ia','AI Racer 794','19319 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (795,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','795378ia','AI Racer 795','26999 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (796,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','987817ia','AI Racer 796','6308 26th Street','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,362,140,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (797,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','505709ia','AI Racer 797','9648 36th Street','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (798,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','595757ia','AI Racer 798','10956 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,9,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (799,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','36535ia','AI Racer 799','6543 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (800,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','567326ia','AI Racer 800','21057 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (801,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','535811ia','AI Racer 801','1882 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,279,122,0,3,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (802,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','166770ia','AI Racer 802','22363 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (803,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','326461ia','AI Racer 803','7848 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (804,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','279476ia','AI Racer 804','29216 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (805,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','522434ia','AI Racer 805','20386 30th Street','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (806,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','812693ia','AI Racer 806','13354 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,10,101,0,9,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (807,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','661141ia','AI Racer 807','10269 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,479,135,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (808,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','121827ia','AI Racer 808','8699 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (809,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','457021ia','AI Racer 809','16367 36th Street','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (810,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','982975ia','AI Racer 810','16866 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (811,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','5629ia','AI Racer 811','13599 34th Street','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (812,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','78989ia','AI Racer 812','1835 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,263,121,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (813,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','722178ia','AI Racer 813','23349 36th Street','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,430,132,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (814,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','438785ia','AI Racer 814','1116 26th Street','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (815,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','519945ia','AI Racer 815','9008 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,288,122,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (816,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','95791ia','AI Racer 816','28454 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,394,129,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (817,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','903799ia','AI Racer 817','26634 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,619,140,0,6,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (818,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','224279ia','AI Racer 818','18972 Spark Street','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (819,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','761345ia','AI Racer 819','29044 Main Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (820,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','71481ia','AI Racer 820','25860 36th Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (821,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','932999ia','AI Racer 821','11041 35th Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (822,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','400332ia','AI Racer 822','12105 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,2,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (823,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32896ia','AI Racer 823','25059 Head Row','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,8,139,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (824,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','554600ia','AI Racer 824','20541 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (825,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','808589ia','AI Racer 825','9554 27th Street','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (826,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','807775ia','AI Racer 826','10047 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (827,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','431654ia','AI Racer 827','24177 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,4,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (828,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','958990ia','AI Racer 828','29602 27th Street','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (829,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','87116ia','AI Racer 829','22124 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,541,108,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (830,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','877902ia','AI Racer 830','6335 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,55,105,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (831,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','278368ia','AI Racer 831','15499 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,356,140,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (832,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','99280ia','AI Racer 832','20545 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (833,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','154147ia','AI Racer 833','12069 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (834,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','829004ia','AI Racer 834','28816 29th Street','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (835,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','924845ia','AI Racer 835','7986 38th Street','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (836,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','339844ia','AI Racer 836','12839 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (837,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','64718ia','AI Racer 837','18598 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,359,140,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (838,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','948791ia','AI Racer 838','17050 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (839,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','711400ia','AI Racer 839','28013 Newport Way','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (840,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','518260ia','AI Racer 840','6312 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,359,140,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (841,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','992545ia','AI Racer 841','3135 30th Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (842,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','262429ia','AI Racer 842','15233 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (843,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','18539ia','AI Racer 843','20524 31st Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (844,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','761901ia','AI Racer 844','12640 30th Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (845,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','976439ia','AI Racer 845','25788 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,81,107,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (846,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','493440ia','AI Racer 846','10761 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (847,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','756885ia','AI Racer 847','18616 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,30,103,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (848,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','424338ia','AI Racer 848','3367 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,236,119,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (849,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','908628ia','AI Racer 849','13245 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,619,140,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (850,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','484649ia','AI Racer 850','29818 Newport Way','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (851,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','495244ia','AI Racer 851','6874 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (852,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','807916ia','AI Racer 852','221 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (853,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','640827ia','AI Racer 853','671 Main Street','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (854,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','763592ia','AI Racer 854','29024 Van Way','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (855,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','306453ia','AI Racer 855','2556 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (856,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','24697ia','AI Racer 856','20155 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,104,110,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (857,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','67729ia','AI Racer 857','24339 26th Street','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,344,141,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (858,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','415968ia','AI Racer 858','10111 28th Street','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (859,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','352942ia','AI Racer 859','26361 Head Row','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (860,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','547377ia','AI Racer 860','25736 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (861,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','708167ia','AI Racer 861','4515 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (862,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32778ia','AI Racer 862','27682 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (863,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','132434ia','AI Racer 863','6375 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (864,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','149694ia','AI Racer 864','2373 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (865,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','809469ia','AI Racer 865','17285 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,4,144,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (866,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','824156ia','AI Racer 866','2429 27th Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,14,144,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (867,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','97409ia','AI Racer 867','16404 39th Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (868,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','91130ia','AI Racer 868','25569 33rd Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (869,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','270021ia','AI Racer 869','969 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (870,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','606156ia','AI Racer 870','9751 37th Street','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,345,141,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (871,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','514966ia','AI Racer 871','19262 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,1,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (872,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','943765ia','AI Racer 872','4416 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,353,140,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (873,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','433391ia','AI Racer 873','8015 26th Street','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,346,141,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (874,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','948495ia','AI Racer 874','14249 Head Row','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,361,142,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (875,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','961290ia','AI Racer 875','26743 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,3,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (876,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','743898ia','AI Racer 876','20642 Head Row','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (877,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','942426ia','AI Racer 877','19663 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,348,141,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (878,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','117626ia','AI Racer 878','3563 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,340,141,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (879,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','467750ia','AI Racer 879','7844 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,10,144,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (880,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','701850ia','AI Racer 880','22593 34th Street','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (881,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','338912ia','AI Racer 881','27742 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,4,144,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (882,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','13519ia','AI Racer 882','1000 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,512,144,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (883,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','180014ia','AI Racer 883','19102 39th Street','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (884,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','662568ia','AI Racer 884','15827 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (885,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','250041ia','AI Racer 885','24909 36th Street','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (886,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','428335ia','AI Racer 886','16845 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (887,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','537232ia','AI Racer 887','11537 33rd Street','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (888,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','934722ia','AI Racer 888','26521 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,357,142,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (889,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','662887ia','AI Racer 889','26372 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (890,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','622607ia','AI Racer 890','9796 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,362,142,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (891,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','273895ia','AI Racer 891','2849 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (892,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','610599ia','AI Racer 892','16473 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (893,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','41220ia','AI Racer 893','19269 36th Street','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,614,141,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (894,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','259228ia','AI Racer 894','19052 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (895,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','907181ia','AI Racer 895','21818 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,341,141,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (896,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','785705ia','AI Racer 896','23893 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,355,142,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (897,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','798940ia','AI Racer 897','15330 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (898,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','386702ia','AI Racer 898','1911 Van Way','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (899,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','654050ia','AI Racer 899','7932 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,353,142,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (900,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','983366ia','AI Racer 900','28757 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (901,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','529744ia','AI Racer 901','27648 33rd Street','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (902,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','30378ia','AI Racer 902','13355 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (903,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','237562ia','AI Racer 903','10939 33rd Street','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,359,142,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (904,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','551698ia','AI Racer 904','28388 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,1,144,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (905,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','438821ia','AI Racer 905','536 Van Way','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (906,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','531285ia','AI Racer 906','17 29th Street','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (907,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','89389ia','AI Racer 907','23974 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (908,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','749209ia','AI Racer 908','2726 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,342,141,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (909,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','285470ia','AI Racer 909','434 34th Street','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (910,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','358472ia','AI Racer 910','3291 27th Street','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,356,142,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (911,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','225079ia','AI Racer 911','11876 Newport Way','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (912,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','12336ia','AI Racer 912','939 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,7,144,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (913,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','522762ia','AI Racer 913','22868 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,341,141,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (914,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','832581ia','AI Racer 914','20031 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,342,141,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (915,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','944307ia','AI Racer 915','29092 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (916,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','212235ia','AI Racer 916','3472 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (917,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','272500ia','AI Racer 917','26018 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (918,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','996008ia','AI Racer 918','22415 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (919,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','912168ia','AI Racer 919','9713 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (920,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','254922ia','AI Racer 920','27273 Head Row','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (921,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','168441ia','AI Racer 921','12348 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (922,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','490139ia','AI Racer 922','19144 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (923,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','26344ia','AI Racer 923','22036 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,3,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (924,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','112972ia','AI Racer 924','20662 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,352,142,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (925,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','886631ia','AI Racer 925','967 33rd Street','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,346,141,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (926,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','512520ia','AI Racer 926','24149 Head Row','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (927,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','527479ia','AI Racer 927','7612 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (928,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','514602ia','AI Racer 928','1483 Spark Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,344,141,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (929,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','940771ia','AI Racer 929','16113 37th Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (930,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','404632ia','AI Racer 930','16954 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,6,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (931,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','661587ia','AI Racer 931','6982 28th Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,339,141,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (932,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','227937ia','AI Racer 932','22767 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (933,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','243202ia','AI Racer 933','17261 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,343,141,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (934,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','630145ia','AI Racer 934','6278 29th Street','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (935,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','547634ia','AI Racer 935','24808 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (936,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','852078ia','AI Racer 936','18193 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (937,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','631546ia','AI Racer 937','29481 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,359,142,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (938,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','192011ia','AI Racer 938','22149 31st Street','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (939,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','939998ia','AI Racer 939','8083 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,343,141,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (940,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','522113ia','AI Racer 940','23246 33rd Street','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,358,142,0,0,-12635,-1,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (941,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','327561ia','AI Racer 941','10944 39th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,353,140,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (942,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','931153ia','AI Racer 942','3147 32nd Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (943,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','666099ia','AI Racer 943','14570 33rd Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,349,141,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (944,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','816773ia','AI Racer 944','29980 36th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (945,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','825685ia','AI Racer 945','7193 40th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (946,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','595351ia','AI Racer 946','27056 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (947,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','293524ia','AI Racer 947','29505 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (948,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','235490ia','AI Racer 948','15010 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (949,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','925539ia','AI Racer 949','16823 31st Street','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,358,142,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (950,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','239317ia','AI Racer 950','29487 31st Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (951,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','895768ia','AI Racer 951','20259 27th Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (952,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','38819ia','AI Racer 952','27071 37th Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (953,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','246897ia','AI Racer 953','2742 Torino Terrace','Bonneville',NULL,NULL,2,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,NULL,NULL,NULL,NULL,NULL,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (954,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','490161ia','AI Racer 954','14555 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (955,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','479340ia','AI Racer 955','25016 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (956,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','291643ia','AI Racer 956','16108 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (957,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','141218ia','AI Racer 957','24592 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (958,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','971050ia','AI Racer 958','21071 35th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (959,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','817138ia','AI Racer 959','4925 Newport Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (960,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','710229ia','AI Racer 960','3430 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (961,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','447558ia','AI Racer 961','28907 38th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (962,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','999858ia','AI Racer 962','7136 33rd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (963,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','983205ia','AI Racer 963','27822 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (964,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','359720ia','AI Racer 964','11213 27th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (965,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','617051ia','AI Racer 965','5990 31st Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (966,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','586700ia','AI Racer 966','4772 29th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (967,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','553491ia','AI Racer 967','10294 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (968,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','971374ia','AI Racer 968','3394 Van Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (969,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','358930ia','AI Racer 969','25161 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (970,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','604680ia','AI Racer 970','6811 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (971,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','928315ia','AI Racer 971','12530 34th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (972,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','965047ia','AI Racer 972','20034 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (973,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','727958ia','AI Racer 973','12519 33rd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (974,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','435500ia','AI Racer 974','4515 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (975,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','107448ia','AI Racer 975','13837 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (976,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','48324ia','AI Racer 976','16175 29th Street','Bonneville',NULL,NULL,NULL,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,350,141,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (977,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','907044ia','AI Racer 977','6380 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (978,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','833557ia','AI Racer 978','10257 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (979,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','72366ia','AI Racer 979','19588 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (980,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','934074ia','AI Racer 980','20486 32nd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (981,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','517416ia','AI Racer 981','2785 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (982,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','148619ia','AI Racer 982','22190 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (983,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','903244ia','AI Racer 983','15285 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (984,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','138467ia','AI Racer 984','5362 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (985,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','377542ia','AI Racer 985','25582 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (986,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','966027ia','AI Racer 986','23919 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (987,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','629706ia','AI Racer 987','20337 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (988,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','801526ia','AI Racer 988','26597 26th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (989,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','777649ia','AI Racer 989','6914 Van Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (990,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','57497ia','AI Racer 990','360 Newport Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (991,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','338283ia','AI Racer 991','27152 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (992,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','645275ia','AI Racer 992','3176 34th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (993,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','97168ia','AI Racer 993','1684 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (994,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','228536ia','AI Racer 994','9362 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); +INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES + (995,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','35273ia','AI Racer 995','2521 Main Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (996,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','1761ia','AI Racer 996','26956 40th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (997,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','516805ia','AI Racer 997','16713 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (998,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','563146ia','AI Racer 998','7879 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), + (999,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','52069ia','AI Racer 999','29929 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); diff --git a/migrations/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/2024.02.13T03.00.46.createSVACarClass.sql new file mode 100644 index 000000000..1bb80921d --- /dev/null +++ b/migrations/2024.02.13T03.00.46.createSVACarClass.sql @@ -0,0 +1,6 @@ +CREATE TABLE SVA_CarClass ( + SVA_CarClass INTEGER DEFAULT 0 NOT NULL, + Description VARCHAR(50), + CONSTRAINT SYS_PK_12175 PRIMARY KEY (SVA_CarClass) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12175_12176 ON SVA_CarClass (SVA_CarClass); \ No newline at end of file diff --git a/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql new file mode 100644 index 000000000..f1090c830 --- /dev/null +++ b/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql @@ -0,0 +1,6 @@ +CREATE TABLE SVA_ModeRestriction ( + SVA_ModeRestriction INTEGER DEFAULT 0 NOT NULL, + Description VARCHAR(100), + CONSTRAINT SYS_PK_12180 PRIMARY KEY (SVA_ModeRestriction) +); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12180_12181 ON SVA_ModeRestriction (SVA_ModeRestriction); \ No newline at end of file diff --git a/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql new file mode 100644 index 000000000..acf09ccd1 --- /dev/null +++ b/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql @@ -0,0 +1,23 @@ +CREATE TABLE StockVehicleAttributes ( + BrandedPartID INTEGER NOT NULL, + CarClass INTEGER, + AIRestrictionClass INTEGER, + ModeRestriction INTEGER, + Sponsor INTEGER, + VinBrandedPartID INTEGER, + TrackID INTEGER DEFAULT 0, + VinCrc INTEGER DEFAULT 0 NOT NULL, + RetailPrice INTEGER DEFAULT 1000, + CONSTRAINT SYS_PK_12168 PRIMARY KEY (BrandedPartID), + CONSTRAINT STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBUTES FOREIGN KEY (BrandedPartID) REFERENCES BrandedPart(BrandedPartID) ON DELETE CASCADE, + CONSTRAINT STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBUTES1 FOREIGN KEY (VinBrandedPartID) REFERENCES BrandedPart(BrandedPartID), + CONSTRAINT STOCKVEHICLEATTRIBUTES_SVA_CARCLASSSTOCKVEHICLEATTRIBUTES FOREIGN KEY (CarClass) REFERENCES SVA_CarClass(SVA_CarClass), + CONSTRAINT STOCKVEHICLEATTRIBUTES_SVA_MODERESTRICTIONSTOCKVEHICLEATTRIBUTES FOREIGN KEY (ModeRestriction) REFERENCES SVA_ModeRestriction(SVA_ModeRestriction) ON DELETE CASCADE ON UPDATE CASCADE +); +CREATE INDEX STOCKVEHICLEATTRIBUTES_COPTRACKID ON StockVehicleAttributes (TrackID); +CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBS1_12795 ON StockVehicleAttributes (VinBrandedPartID); +CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBS_12786 ON StockVehicleAttributes (BrandedPartID); +CREATE UNIQUE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_PARENTBRANDEDPARTID_12162 ON StockVehicleAttributes (BrandedPartID); +CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_CARCLASSSTOCKVEHICLEATTRIBUTES_12804 ON StockVehicleAttributes (CarClass); +CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_MODERESTRICTIONSTOCKVEHICLEATTRIBUTES_12813 ON StockVehicleAttributes (ModeRestriction); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12168_12169 ON StockVehicleAttributes (BrandedPartID); \ No newline at end of file diff --git a/migrations/2024.02.13T03.18.24.initialSVACarClass.sql b/migrations/2024.02.13T03.18.24.initialSVACarClass.sql new file mode 100644 index 000000000..3257eb005 --- /dev/null +++ b/migrations/2024.02.13T03.18.24.initialSVACarClass.sql @@ -0,0 +1,5 @@ +INSERT INTO SVA_CarClass (SVA_CarClass,Description) VALUES + (0,'Null'), + (1,'Fat Fender'), + (2,'Shoebox'), + (3,'Muscle'); diff --git a/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql b/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql new file mode 100644 index 000000000..52ab26c21 --- /dev/null +++ b/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql @@ -0,0 +1,7 @@ +INSERT INTO SVA_ModeRestriction (SVA_ModeRestriction,Description) VALUES + (0,'All Modes'), + (1,'Motor City'), + (2,'Debug'), + (3,'Traffic'), + (4,'Cop'), + (5,'Arcade'); diff --git a/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql b/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql new file mode 100644 index 000000000..704d5da05 --- /dev/null +++ b/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql @@ -0,0 +1,160 @@ +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (101,1,0,0,NULL,101,0,1021354189,7610), + (102,1,0,0,NULL,102,0,-1730149944,11562), + (103,2,0,0,1,103,0,-1175172867,13144), + (104,2,1,0,2,104,0,-1916621234,18162), + (105,2,0,0,NULL,105,0,454523797,18616), + (106,2,0,0,NULL,106,0,-851716885,17964), + (107,3,0,0,3,107,0,-1748379974,27658), + (108,3,0,0,NULL,108,0,1470602472,28976), + (109,3,0,0,3,109,0,-1951593844,20844), + (110,3,0,0,4,110,0,616652853,22386); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (111,3,0,0,NULL,111,0,290542722,54910), + (112,1,1,0,1,112,0,1363239003,13674), + (113,2,2,0,2,113,0,-1210440381,20214), + (114,2,0,0,NULL,114,0,-947329386,46982), + (115,2,2,0,NULL,115,0,362914015,19456), + (116,3,0,0,3,116,0,-57467043,31920), + (117,3,0,0,NULL,117,0,240098383,106456), + (118,2,0,0,NULL,118,0,-728377105,21780), + (119,3,0,0,NULL,119,0,-76507965,29062), + (120,3,0,0,NULL,120,0,-400099549,39098); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (121,3,0,0,4,121,0,185089250,31346), + (122,3,0,0,NULL,122,0,-639251059,35486), + (123,3,0,0,NULL,123,0,-1190729049,34530), + (124,1,2,0,1,124,0,1322255805,20734), + (125,2,0,0,NULL,125,0,616095431,22180), + (126,3,0,0,4,126,0,296347663,31036), + (127,2,0,0,2,127,0,2120724018,15940), + (128,3,0,0,NULL,128,0,281859969,40806), + (129,3,0,0,NULL,129,0,1756655401,35880), + (130,3,0,0,NULL,130,0,1478345654,55586); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (131,3,0,0,NULL,131,0,290406200,34666), + (132,3,0,0,NULL,132,0,1108479146,27940), + (133,3,0,0,NULL,133,0,103959562,31470), + (134,3,0,0,NULL,134,0,-1401275087,51874), + (135,3,0,0,NULL,135,0,1279692657,24612), + (153,3,0,3,0,NULL,0,-1733711197,13124), + (159,2,0,0,NULL,104,0,71127960,16216), + (171,3,0,0,NULL,108,0,95938317,75870), + (173,3,0,3,0,NULL,0,821917378,15442), + (174,3,0,3,0,NULL,0,-1114011574,17448); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (175,3,0,3,0,NULL,0,127614921,30986), + (176,3,0,3,0,NULL,0,5490897,20842), + (177,3,0,3,0,NULL,0,-260987179,44366), + (178,3,0,3,0,NULL,0,1169708297,40912), + (179,3,0,3,0,NULL,0,-997698018,15442), + (184,3,0,0,NULL,133,0,-2100426307,36732), + (190,3,0,0,NULL,131,0,702282812,41738), + (208,2,0,0,NULL,127,0,-1933058019,15958), + (236,2,1,0,NULL,113,0,-132507054,20086), + (320,3,0,0,0,320,0,-1930998368,103848); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (335,3,0,0,0,335,0,-1417679893,27676), + (336,3,0,0,0,336,0,-1457759091,36426), + (337,3,0,0,0,337,0,-1471211264,35306), + (338,3,0,0,0,338,0,1151680185,79086), + (339,3,0,0,0,339,0,-405643342,50570), + (340,3,0,0,0,340,0,-1392644837,49912), + (341,3,0,0,0,341,0,-899383748,27844), + (342,3,0,0,0,342,0,-1841308194,27998), + (343,3,0,0,0,343,0,1354809895,28504), + (344,3,0,0,0,344,0,361663498,35546); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (345,3,0,0,0,345,0,1024304803,45646), + (346,3,0,0,0,346,0,739147792,36390), + (347,3,0,0,0,347,0,363654567,29172), + (348,3,0,0,0,348,0,1172991200,33008), + (349,3,0,0,0,349,0,535823263,34620), + (350,3,0,0,0,350,0,-253450591,46938), + (351,3,0,0,0,351,0,1522514137,35372), + (352,3,0,0,0,352,0,960207390,54196), + (353,3,0,0,0,353,0,1367260066,50390), + (354,1,0,0,0,354,0,1298694592,20554); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (355,1,0,0,0,355,0,343020322,17152), + (356,2,1,0,0,356,0,-493509567,10246), + (357,2,0,0,0,357,0,-1091297472,14696), + (358,2,0,0,0,358,0,-1850950053,15560), + (359,2,0,0,0,359,0,1251900878,16656), + (360,2,0,0,0,360,0,-2008884082,18208), + (361,2,0,0,0,361,0,89250179,16560), + (362,3,0,0,0,362,0,282526109,46076), + (363,3,0,0,0,363,0,-40698369,21280), + (364,3,0,0,0,364,0,1864120653,102566); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (365,3,0,0,0,365,0,-489646267,28474), + (366,3,0,0,0,366,0,-1287635300,20522), + (367,3,0,0,0,367,0,-630364099,28084), + (368,3,0,0,0,368,0,-448515064,40204), + (369,3,0,0,0,369,0,1169942692,29370), + (370,3,0,0,0,370,0,1472055501,37674), + (371,3,0,0,0,371,0,-742484274,32080), + (372,3,0,0,0,372,0,1250189820,35112), + (373,3,0,0,0,373,0,219790868,30660), + (374,3,0,0,NULL,120,0,-900399956,34938); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (375,3,0,5,0,375,0,336373640,21800), + (377,2,0,5,0,377,0,1812020664,24426), + (378,2,0,5,0,378,0,-1499897175,23652), + (379,2,2,5,0,379,0,1800916956,20796), + (383,3,0,5,0,383,0,690278510,31444), + (384,3,0,5,0,384,0,778235356,41062), + (385,2,0,5,0,385,0,-933770060,20552), + (386,2,0,5,0,386,0,-1538070422,28076), + (387,3,0,5,0,387,0,-606946665,37542), + (388,3,0,5,0,388,0,-452681372,28338); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (389,3,0,5,0,389,0,-911118315,34188), + (390,2,0,5,0,390,0,1824323067,26356), + (391,2,0,5,0,391,0,349594734,21320), + (392,3,0,5,0,392,0,-2017423296,39308), + (393,2,0,5,0,393,0,2076432346,26382), + (394,3,0,5,0,394,0,-958728569,44848), + (395,1,0,2,0,395,0,2082574938,73518), + (396,2,0,2,0,396,0,664232324,83374), + (397,3,0,2,0,397,0,1823304277,116878), + (398,2,0,2,0,398,0,1595575092,70364); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (399,3,7,2,0,399,0,649508892,174752), + (400,3,0,2,0,400,0,-1419219140,104696), + (401,3,0,2,0,401,0,-2072889218,115802), + (405,3,0,0,0,405,0,0,1000), + (411,3,0,0,0,411,0,0,1000), + (412,3,0,0,0,412,0,0,1000), + (413,3,0,0,0,413,0,0,1000), + (414,0,0,0,0,414,0,0,1000), + (415,3,1,0,0,415,0,0,1000), + (416,3,4,0,0,416,0,0,1000); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (417,3,4,0,0,417,0,0,1000), + (418,0,5,0,0,418,0,0,1000), + (419,1,5,0,0,419,0,0,1000), + (420,1,1,0,0,420,0,0,1000), + (421,2,3,0,0,421,0,0,1000), + (422,1,4,0,0,422,0,0,1000), + (423,1,3,0,0,423,0,0,1000), + (424,3,4,0,0,424,0,0,1000), + (425,3,5,0,0,425,0,0,1000), + (426,3,5,0,0,426,0,0,1000); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (427,1,2,0,0,427,0,0,1000), + (428,3,3,0,0,428,0,0,1000), + (429,0,3,0,0,429,0,0,1000), + (430,0,3,0,0,430,0,0,1000), + (431,3,6,0,0,431,0,0,1000), + (432,0,0,0,0,432,0,0,1000), + (433,0,0,0,0,433,0,0,1000), + (434,0,0,0,0,434,0,0,1000), + (435,0,0,0,0,435,0,0,1000), + (436,0,0,0,0,436,0,0,1000); +INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES + (437,0,0,0,0,437,0,0,1000), + (438,0,0,0,0,438,0,0,1000), + (439,3,3,0,0,439,0,0,1000), + (440,0,0,0,0,440,0,0,1000), + (441,3,0,0,0,441,0,0,1000); diff --git a/migrations/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/2024.02.13T23.56.02.createStockAssembly.sql new file mode 100644 index 000000000..28fd65efb --- /dev/null +++ b/migrations/2024.02.13T23.56.02.createStockAssembly.sql @@ -0,0 +1,15 @@ +CREATE TABLE StockAssembly ( + ParentBrandedPartID INTEGER NOT NULL, + ChildBrandedPartID INTEGER NOT NULL, + AttachmentPointID INTEGER NOT NULL, + ConfigDefault SMALLINT NOT NULL, + PhysicsDefault SMALLINT NOT NULL, + CONSTRAINT SYS_PK_12146 PRIMARY KEY (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID), + CONSTRAINT STOCKASSEMBLY_ATTACHMENTPOINTSTOCKASSEMBLY FOREIGN KEY (AttachmentPointID) REFERENCES AttachmentPoint(AttachmentPointID), + CONSTRAINT STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY FOREIGN KEY (ChildBrandedPartID) REFERENCES BrandedPart(BrandedPartID), + CONSTRAINT STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY1 FOREIGN KEY (ParentBrandedPartID) REFERENCES BrandedPart(BrandedPartID) +); +CREATE INDEX SYS_IDX_STOCKASSEMBLY_ATTACHMENTPOINTSTOCKASSEMBLY_12750 ON StockAssembly (AttachmentPointID); +CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY1_12774 ON StockAssembly (ParentBrandedPartID); +CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY_12762 ON StockAssembly (ChildBrandedPartID); +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12146_12147 ON StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID); \ No newline at end of file diff --git a/migrations/2024.02.13T23.58.02.initialStockAssembly.sql b/migrations/2024.02.13T23.58.02.initialStockAssembly.sql new file mode 100644 index 000000000..2581952cf --- /dev/null +++ b/migrations/2024.02.13T23.58.02.initialStockAssembly.sql @@ -0,0 +1,10224 @@ +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (101,1001,0,0,0), + (101,2001,0,1,1), + (101,4001,0,0,0), + (101,5001,0,0,0), + (101,6001,0,0,0), + (101,10009,11,0,0), + (101,10010,10,0,0), + (101,11004,10,0,0), + (101,11004,11,0,0), + (101,12002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (101,12004,10,0,0), + (101,15001,0,0,0), + (101,20101,0,0,0), + (101,22016,0,0,0), + (101,23003,0,0,0), + (101,31153,0,0,0), + (101,34001,10,0,0), + (101,34002,11,0,0), + (101,35001,10,0,0), + (101,35001,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (101,36001,0,0,0), + (101,37001,0,0,0), + (101,40002,0,0,0), + (101,100002,10,0,0), + (101,100002,11,0,0), + (101,110001,10,1,1), + (101,110001,11,1,1), + (101,130012,0,0,0), + (101,140023,0,0,0), + (101,160021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (101,180019,0,0,0), + (101,190021,0,0,0), + (101,200019,0,0,0), + (101,230002,0,0,0), + (101,240003,0,0,0), + (101,250020,0,0,0), + (101,280019,0,0,0), + (101,290001,0,0,0), + (101,300001,0,0,0), + (101,320023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (101,330016,0,0,0), + (101,340001,0,0,0), + (101,1000002,0,0,0), + (101,1100016,0,0,0), + (101,1200018,0,0,0), + (102,1001,0,1,1), + (102,2001,0,1,1), + (102,4001,0,1,0), + (102,5001,0,0,0), + (102,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (102,10009,11,0,0), + (102,10010,10,0,0), + (102,11004,10,0,0), + (102,11004,11,0,0), + (102,12003,11,0,0), + (102,12005,10,0,0), + (102,15001,0,0,0), + (102,20102,0,0,0), + (102,22016,0,0,0), + (102,23009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (102,31153,0,0,0), + (102,35002,10,0,0), + (102,35002,11,0,0), + (102,36001,0,0,0), + (102,37001,0,0,0), + (102,40003,0,0,0), + (102,100002,10,0,0), + (102,100002,11,0,0), + (102,110018,10,1,1), + (102,110018,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (102,130012,0,0,0), + (102,140025,0,0,0), + (102,160021,0,0,0), + (102,180019,0,0,0), + (102,190021,0,0,0), + (102,200019,0,0,0), + (102,230002,0,0,0), + (102,240003,0,0,0), + (102,250020,0,0,0), + (102,280019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (102,290001,0,0,0), + (102,300001,0,0,0), + (102,320023,0,0,0), + (102,330006,0,0,0), + (102,340001,0,0,0), + (102,1000002,0,0,0), + (102,1100016,0,0,0), + (102,1200018,0,0,0), + (103,1001,0,1,1), + (103,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (103,4001,0,9,0), + (103,5001,0,0,0), + (103,6001,0,0,0), + (103,10009,11,0,0), + (103,10010,10,0,0), + (103,11004,10,0,0), + (103,11004,11,0,0), + (103,12007,10,0,0), + (103,12028,11,0,0), + (103,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (103,20103,0,0,0), + (103,22014,0,0,0), + (103,31153,0,0,0), + (103,36001,0,0,0), + (103,37001,0,0,0), + (103,40005,0,0,0), + (103,100002,10,0,0), + (103,100002,11,0,0), + (103,110012,10,1,1), + (103,110012,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (103,130047,0,0,0), + (103,140014,0,0,0), + (103,160022,0,0,0), + (103,180019,0,0,0), + (103,190021,0,0,0), + (103,200019,0,0,0), + (103,230002,0,0,0), + (103,240003,0,0,0), + (103,250020,0,0,0), + (103,280019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (103,290001,0,0,0), + (103,300001,0,0,0), + (103,320023,0,0,0), + (103,330006,0,0,0), + (103,340001,0,0,0), + (103,1000004,0,0,0), + (103,1100016,0,0,0), + (103,1200018,0,0,0), + (104,1001,0,1,1), + (104,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (104,4001,0,0,0), + (104,5001,0,0,0), + (104,6001,0,0,0), + (104,10001,10,0,0), + (104,10004,11,0,0), + (104,11004,10,0,0), + (104,11004,11,0,0), + (104,12010,10,0,0), + (104,12022,11,0,0), + (104,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (104,20104,0,0,0), + (104,22014,0,0,0), + (104,31153,0,0,0), + (104,36001,0,0,0), + (104,37001,0,0,0), + (104,40006,0,0,0), + (104,100006,10,0,0), + (104,100006,11,0,0), + (104,110021,10,1,1), + (104,110021,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (104,130047,0,0,0), + (104,140007,0,0,0), + (104,160026,0,0,0), + (104,180018,0,0,0), + (104,190077,0,0,0), + (104,200066,0,0,0), + (104,230001,0,0,0), + (104,240001,0,0,0), + (104,250030,0,0,0), + (104,280030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (104,290001,0,0,0), + (104,300001,0,0,0), + (104,320098,0,0,0), + (104,330020,0,0,0), + (104,340002,0,0,0), + (104,1000001,0,0,0), + (104,1100119,0,0,0), + (104,1200048,0,0,0), + (105,1001,0,1,1), + (105,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (105,4001,0,0,0), + (105,5001,0,0,0), + (105,6001,0,0,0), + (105,10011,10,0,0), + (105,10011,11,0,0), + (105,11004,10,0,0), + (105,11004,11,0,0), + (105,12009,10,0,0), + (105,12030,11,0,0), + (105,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (105,20105,0,0,0), + (105,22014,0,0,0), + (105,31153,0,0,0), + (105,36001,0,0,0), + (105,37001,0,0,0), + (105,40007,0,0,0), + (105,100002,10,0,0), + (105,100002,11,0,0), + (105,110021,10,1,1), + (105,110021,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (105,130047,0,0,0), + (105,140008,0,0,1), + (105,160026,0,0,0), + (105,180018,0,0,0), + (105,190077,0,0,0), + (105,200066,0,0,0), + (105,230001,0,0,0), + (105,240001,0,0,0), + (105,250030,0,0,0), + (105,280030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (105,290001,0,0,0), + (105,300001,0,0,0), + (105,320098,0,0,0), + (105,330020,0,0,0), + (105,340002,0,0,0), + (105,1000001,0,0,0), + (105,1100119,0,0,0), + (105,1200048,0,0,0), + (106,1001,0,1,1), + (106,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (106,4001,0,0,0), + (106,5001,0,0,0), + (106,6001,0,0,0), + (106,10011,10,0,0), + (106,10011,11,0,0), + (106,11004,10,0,0), + (106,11004,11,0,0), + (106,12009,10,0,0), + (106,12012,11,0,0), + (106,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (106,20106,0,0,0), + (106,22014,0,0,0), + (106,31153,0,0,0), + (106,36001,0,0,0), + (106,37001,0,0,0), + (106,40008,0,0,0), + (106,100002,10,0,0), + (106,100002,11,0,0), + (106,110032,10,1,1), + (106,110032,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (106,130026,0,0,0), + (106,140003,0,0,0), + (106,160026,0,0,0), + (106,180018,0,0,0), + (106,190077,0,0,0), + (106,200066,0,0,0), + (106,230001,0,0,0), + (106,240001,0,0,0), + (106,250030,0,0,0), + (106,280030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (106,290002,0,0,0), + (106,300001,0,0,0), + (106,320040,0,0,0), + (106,330035,0,0,0), + (106,340002,0,0,0), + (106,1000001,0,0,0), + (106,1100119,0,0,0), + (106,1200048,0,0,0), + (107,1001,0,1,1), + (107,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (107,4001,0,0,0), + (107,5001,0,0,0), + (107,6001,0,0,0), + (107,10011,10,0,0), + (107,10011,11,0,0), + (107,11004,10,0,0), + (107,11004,11,0,0), + (107,12009,10,0,0), + (107,12012,11,0,0), + (107,13011,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (107,15001,0,0,0), + (107,20107,0,0,0), + (107,22014,0,0,0), + (107,31153,0,0,0), + (107,36001,0,0,0), + (107,37001,0,0,0), + (107,40009,0,0,0), + (107,100002,10,0,0), + (107,100002,11,0,0), + (107,110036,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (107,110036,11,1,1), + (107,130026,0,0,0), + (107,140003,0,0,0), + (107,160030,0,0,0), + (107,180017,0,0,0), + (107,190002,0,0,0), + (107,200001,0,0,0), + (107,230001,0,0,0), + (107,240001,0,0,0), + (107,250001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (107,280001,0,0,0), + (107,290002,0,0,0), + (107,300001,0,0,0), + (107,320006,0,0,0), + (107,330035,0,0,0), + (107,340002,0,0,0), + (107,1000132,0,0,0), + (107,1100010,0,0,0), + (107,1200003,0,0,0), + (108,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (108,2001,0,1,1), + (108,4001,0,0,0), + (108,5001,0,0,0), + (108,6001,0,0,0), + (108,10010,10,0,0), + (108,10010,11,0,0), + (108,11004,10,0,0), + (108,11004,11,0,0), + (108,12006,10,0,0), + (108,12028,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (108,13010,10,0,0), + (108,15001,0,0,0), + (108,20108,0,0,0), + (108,22014,0,0,0), + (108,31153,0,0,0), + (108,36001,0,0,0), + (108,37001,0,0,0), + (108,40013,0,0,0), + (108,100002,10,0,0), + (108,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (108,110044,10,0,0), + (108,110044,11,0,0), + (108,130034,0,0,0), + (108,140019,0,0,0), + (108,160025,0,0,0), + (108,180030,0,0,0), + (108,190020,0,0,0), + (108,200004,0,0,0), + (108,230001,0,0,0), + (108,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (108,250001,0,0,0), + (108,280018,0,0,0), + (108,290001,0,0,0), + (108,300001,0,0,0), + (108,320022,0,0,0), + (108,330003,0,0,0), + (108,340002,0,0,0), + (108,1000138,0,0,0), + (108,1100005,0,0,0), + (108,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (109,1001,0,1,1), + (109,2001,0,1,1), + (109,4001,0,0,0), + (109,5001,0,0,0), + (109,6001,0,0,0), + (109,10010,10,0,0), + (109,10010,11,0,0), + (109,11004,10,0,0), + (109,11004,11,0,0), + (109,12009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (109,12029,11,0,0), + (109,15001,0,0,0), + (109,20109,0,0,0), + (109,22014,0,0,0), + (109,31153,0,0,0), + (109,36001,0,0,0), + (109,37001,0,0,0), + (109,40011,0,0,0), + (109,100002,10,0,0), + (109,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (109,110032,10,0,0), + (109,110032,11,0,0), + (109,130034,0,0,0), + (109,140003,0,0,0), + (109,160025,0,0,0), + (109,180030,0,0,0), + (109,190020,0,0,0), + (109,200004,0,0,0), + (109,230001,0,0,0), + (109,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (109,250001,0,0,0), + (109,280018,0,0,0), + (109,290001,0,0,0), + (109,300001,0,0,0), + (109,320022,0,0,0), + (109,330003,0,0,0), + (109,340002,0,0,0), + (109,1000138,0,0,0), + (109,1100005,0,0,0), + (109,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (110,1001,0,1,1), + (110,2001,0,1,1), + (110,4001,0,0,0), + (110,5001,0,0,0), + (110,6001,0,0,0), + (110,10002,10,0,0), + (110,10010,11,0,0), + (110,11004,10,0,0), + (110,11004,11,0,0), + (110,12008,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (110,12022,11,0,0), + (110,13011,10,0,0), + (110,15001,0,0,0), + (110,20110,0,0,0), + (110,22014,0,0,0), + (110,31153,0,0,0), + (110,36001,0,0,0), + (110,37001,0,0,0), + (110,40012,0,0,0), + (110,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (110,100002,11,0,0), + (110,110044,10,1,1), + (110,110044,11,1,1), + (110,130026,0,0,0), + (110,140020,0,0,0), + (110,160027,0,0,0), + (110,180030,0,0,0), + (110,190020,0,0,0), + (110,200004,0,0,0), + (110,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (110,240001,0,0,0), + (110,250001,0,0,0), + (110,280018,0,0,0), + (110,290001,0,0,0), + (110,300001,0,0,0), + (110,320022,0,0,0), + (110,330003,0,0,0), + (110,340002,0,0,0), + (110,1000138,0,0,0), + (110,1100005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (110,1200017,0,0,0), + (111,1001,0,1,1), + (111,2001,0,1,1), + (111,4001,0,0,0), + (111,5001,0,0,0), + (111,6001,0,0,0), + (111,10010,11,0,0), + (111,10017,10,0,0), + (111,11009,10,0,0), + (111,11009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (111,12008,10,0,0), + (111,12029,11,0,0), + (111,13007,11,0,0), + (111,13009,10,0,0), + (111,15001,0,0,0), + (111,20111,0,0,0), + (111,22014,0,0,0), + (111,29002,0,0,0), + (111,30003,0,0,0), + (111,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (111,36001,0,0,0), + (111,37001,0,0,0), + (111,40013,0,0,0), + (111,100112,10,0,0), + (111,100112,11,0,0), + (111,110083,10,1,1), + (111,110084,11,1,1), + (111,130034,0,0,0), + (111,140020,0,0,0), + (111,160027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (111,180034,0,0,0), + (111,190001,0,0,0), + (111,200054,0,0,0), + (111,230003,0,0,0), + (111,240005,0,0,0), + (111,250001,0,0,0), + (111,280041,0,0,0), + (111,290002,0,0,0), + (111,300011,0,0,0), + (111,320087,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (111,330025,0,0,0), + (111,340003,0,0,0), + (111,1000139,0,0,0), + (111,1100005,0,0,0), + (111,1200038,0,0,0), + (112,1001,0,1,1), + (112,2001,0,1,1), + (112,4001,0,0,0), + (112,5001,0,0,0), + (112,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (112,10001,10,0,0), + (112,10004,11,0,0), + (112,11004,10,0,0), + (112,11004,11,0,0), + (112,12007,10,0,0), + (112,12028,11,0,0), + (112,15001,0,0,0), + (112,20112,0,0,0), + (112,22014,0,0,0), + (112,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (112,36001,0,0,0), + (112,37001,0,0,0), + (112,40004,0,0,0), + (112,100002,10,0,0), + (112,100002,11,0,0), + (112,110017,10,1,1), + (112,110017,11,1,1), + (112,130012,0,0,0), + (112,140024,0,0,0), + (112,160047,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (112,180019,0,0,0), + (112,190021,0,0,0), + (112,200019,0,0,0), + (112,230002,0,0,0), + (112,240001,0,0,0), + (112,250020,0,0,0), + (112,280019,0,0,0), + (112,290001,0,0,0), + (112,300001,0,0,0), + (112,320023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (112,330006,0,0,0), + (112,340001,0,0,0), + (112,1000003,0,0,0), + (112,1100016,0,0,0), + (112,1200018,0,0,0), + (113,1001,0,1,1), + (113,2001,0,1,1), + (113,4001,0,0,0), + (113,5001,0,0,0), + (113,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (113,10001,10,0,0), + (113,10004,11,0,0), + (113,11004,10,0,0), + (113,11004,11,0,0), + (113,12009,10,0,0), + (113,12030,11,0,0), + (113,15001,0,0,0), + (113,20113,0,0,0), + (113,22009,0,0,0), + (113,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (113,36001,0,0,0), + (113,37001,0,0,0), + (113,40016,0,0,0), + (113,100002,10,0,0), + (113,100002,11,0,0), + (113,110014,10,1,1), + (113,110014,11,1,1), + (113,130021,0,0,0), + (113,140021,0,0,0), + (113,160006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (113,180014,0,0,0), + (113,190016,0,0,0), + (113,200002,0,0,0), + (113,230001,0,0,0), + (113,240001,0,0,0), + (113,250026,0,0,0), + (113,280024,0,0,0), + (113,290003,0,0,0), + (113,300001,0,0,0), + (113,320020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (113,330052,0,0,0), + (113,340002,0,0,0), + (113,1000123,0,0,0), + (113,1100001,0,0,0), + (113,1200034,0,0,0), + (114,1001,0,1,1), + (114,2001,0,1,1), + (114,4001,0,0,0), + (114,5001,0,0,0), + (114,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (114,10006,11,0,0), + (114,10015,10,0,0), + (114,11006,10,0,0), + (114,11006,11,0,0), + (114,12021,10,0,0), + (114,12029,11,0,0), + (114,13006,10,0,0), + (114,15001,0,0,0), + (114,20114,0,0,0), + (114,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (114,31153,0,0,0), + (114,36001,0,0,0), + (114,37001,0,0,0), + (114,40018,0,0,0), + (114,100002,10,0,0), + (114,100002,11,0,0), + (114,110012,10,1,1), + (114,110012,11,1,1), + (114,130032,0,0,0), + (114,140009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (114,160006,0,0,0), + (114,180014,0,0,0), + (114,190016,0,0,0), + (114,200002,0,0,0), + (114,230001,0,0,0), + (114,240001,0,0,0), + (114,250026,0,0,0), + (114,280024,0,0,0), + (114,290001,0,0,0), + (114,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (114,320030,0,0,0), + (114,330052,0,0,0), + (114,340002,0,0,0), + (114,1000015,0,0,0), + (114,1100001,0,0,0), + (114,1200034,0,0,0), + (115,1001,0,1,1), + (115,2001,0,1,1), + (115,4001,0,0,0), + (115,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (115,6001,0,0,0), + (115,10011,10,0,0), + (115,10011,11,0,0), + (115,11004,10,0,0), + (115,11004,11,0,0), + (115,12009,10,0,0), + (115,12030,11,0,0), + (115,15001,0,0,0), + (115,20115,0,0,0), + (115,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (115,31153,0,0,0), + (115,36001,0,0,0), + (115,37001,0,0,0), + (115,40017,0,0,0), + (115,100002,10,0,0), + (115,100002,11,0,0), + (115,110014,10,1,1), + (115,110014,11,1,1), + (115,130021,0,0,0), + (115,140018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (115,160006,0,0,0), + (115,180014,0,0,0), + (115,190016,0,0,0), + (115,200002,0,0,0), + (115,230001,0,0,0), + (115,240001,0,0,0), + (115,250026,0,0,0), + (115,280024,0,0,0), + (115,290004,0,0,0), + (115,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (115,320030,0,0,0), + (115,330053,0,0,0), + (115,340002,0,0,0), + (115,1000015,0,0,0), + (115,1100158,0,0,0), + (115,1200034,0,0,0), + (116,1001,0,1,1), + (116,2001,0,1,1), + (116,4001,0,0,0), + (116,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (116,6001,0,0,0), + (116,10011,10,0,0), + (116,10011,11,0,0), + (116,11004,10,0,0), + (116,11004,11,0,0), + (116,12007,10,0,0), + (116,12021,11,0,0), + (116,13009,10,0,0), + (116,15001,0,0,0), + (116,20116,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (116,22009,0,0,0), + (116,31153,0,0,0), + (116,36001,0,0,0), + (116,37001,0,0,0), + (116,40022,0,0,0), + (116,100002,10,0,0), + (116,100002,11,0,0), + (116,110035,10,1,1), + (116,110035,11,1,1), + (116,130021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (116,140009,0,0,0), + (116,160006,0,0,0), + (116,180014,0,0,0), + (116,190016,0,0,0), + (116,200002,0,0,0), + (116,230001,0,0,0), + (116,240032,0,0,0), + (116,250026,0,0,0), + (116,280016,0,0,0), + (116,290004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (116,300001,0,0,0), + (116,320020,0,0,0), + (116,330053,0,0,0), + (116,340002,0,0,0), + (116,1000070,0,0,0), + (116,1100001,0,0,0), + (116,1200034,0,0,0), + (117,1001,0,1,1), + (117,2001,0,1,1), + (117,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (117,5001,0,0,0), + (117,6001,0,0,0), + (117,10021,10,0,0), + (117,10026,11,0,0), + (117,11006,10,0,0), + (117,11006,11,0,0), + (117,12007,11,0,0), + (117,12021,10,0,0), + (117,13006,10,0,0), + (117,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (117,20117,0,0,0), + (117,22009,0,0,0), + (117,31153,0,0,0), + (117,36001,0,0,0), + (117,37001,0,0,0), + (117,40021,0,0,0), + (117,100120,10,0,0), + (117,100120,11,0,0), + (117,110087,10,1,1), + (117,110088,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (117,130008,0,0,0), + (117,140005,0,0,0), + (117,160009,0,0,0), + (117,180014,0,0,0), + (117,190016,0,0,0), + (117,200002,0,0,0), + (117,230003,0,0,0), + (117,240006,0,0,0), + (117,250002,0,0,0), + (117,280024,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (117,290004,0,0,0), + (117,300001,0,0,0), + (117,320030,0,0,0), + (117,330057,0,0,0), + (117,340003,0,0,0), + (117,1000073,0,0,0), + (117,1100025,0,0,0), + (117,1200023,0,0,0), + (118,1001,0,1,1), + (118,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (118,4001,0,0,0), + (118,5001,0,0,0), + (118,6001,0,0,0), + (118,10011,10,0,0), + (118,10011,11,0,0), + (118,11004,10,0,0), + (118,11004,11,0,0), + (118,12006,11,0,0), + (118,12007,10,0,0), + (118,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (118,20118,0,0,0), + (118,22009,0,0,0), + (118,31153,0,0,0), + (118,36001,0,0,0), + (118,37001,0,0,0), + (118,40019,0,0,0), + (118,100002,10,0,0), + (118,100002,11,0,0), + (118,110032,10,1,1), + (118,110032,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (118,130032,0,0,0), + (118,140016,0,0,0), + (118,160011,0,0,0), + (118,180062,0,0,0), + (118,190067,0,0,0), + (118,200048,0,0,0), + (118,230001,0,0,0), + (118,240001,0,0,0), + (118,250026,0,0,0), + (118,280051,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (118,290004,0,0,0), + (118,300001,0,0,0), + (118,320100,0,0,0), + (118,330056,0,0,0), + (118,340002,0,0,0), + (118,1000057,0,0,0), + (118,1100120,0,0,0), + (118,1200049,0,0,0), + (119,1001,0,1,1), + (119,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (119,4001,0,0,0), + (119,5001,0,0,0), + (119,6001,0,0,0), + (119,10010,10,0,0), + (119,10010,11,0,0), + (119,11004,10,0,0), + (119,11004,11,0,0), + (119,12008,10,0,0), + (119,12029,11,0,0), + (119,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (119,20119,0,0,0), + (119,22009,0,0,0), + (119,31153,0,0,0), + (119,36001,0,0,0), + (119,37001,0,0,0), + (119,40024,0,0,0), + (119,100002,10,0,0), + (119,100002,11,0,0), + (119,110032,10,1,1), + (119,110032,11,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (119,130033,0,0,0), + (119,140016,0,0,0), + (119,160006,0,0,0), + (119,180014,0,0,0), + (119,190016,0,0,0), + (119,200002,0,0,0), + (119,230001,0,0,0), + (119,240023,0,0,0), + (119,250026,0,0,0), + (119,280016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (119,290004,0,0,0), + (119,300001,0,0,0), + (119,320020,0,0,0), + (119,330053,0,0,0), + (119,340002,0,0,0), + (119,1000070,0,0,0), + (119,1100001,0,0,0), + (119,1200034,0,0,0), + (120,1001,0,1,1), + (120,2001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (120,4001,0,0,0), + (120,5001,0,0,0), + (120,6001,0,0,0), + (120,10002,10,0,0), + (120,10010,11,0,0), + (120,11004,10,0,0), + (120,11004,11,0,0), + (120,12006,10,0,0), + (120,12027,11,0,0), + (120,13009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (120,15001,0,0,0), + (120,20120,0,0,0), + (120,22009,0,0,0), + (120,31153,0,0,0), + (120,36001,0,0,0), + (120,37001,0,0,0), + (120,40025,0,0,0), + (120,100003,10,0,0), + (120,100003,11,0,0), + (120,110032,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (120,110032,11,1,1), + (120,130032,0,0,0), + (120,140016,0,0,0), + (120,160009,0,0,0), + (120,180014,0,0,0), + (120,190016,0,0,0), + (120,200002,0,0,0), + (120,230001,0,0,0), + (120,240023,0,0,0), + (120,250026,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (120,280016,0,0,0), + (120,290004,0,0,0), + (120,300001,0,0,0), + (120,320020,0,0,0), + (120,330053,0,0,0), + (120,340002,0,0,0), + (120,1000121,0,0,0), + (120,1100001,0,0,0), + (120,1200034,0,0,0), + (121,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (121,2001,0,1,1), + (121,4001,0,0,0), + (121,5001,0,0,0), + (121,6001,0,0,0), + (121,10002,10,0,0), + (121,10010,11,0,0), + (121,11004,10,0,0), + (121,11004,11,0,0), + (121,12009,10,0,0), + (121,12021,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (121,13009,10,0,0), + (121,15001,0,0,0), + (121,20121,0,0,0), + (121,22009,0,0,0), + (121,31153,0,0,0), + (121,36001,0,0,0), + (121,37001,0,0,0), + (121,40030,0,0,0), + (121,100002,10,0,0), + (121,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (121,110027,10,1,1), + (121,110027,11,1,1), + (121,130023,0,0,0), + (121,140016,0,0,0), + (121,160008,0,0,0), + (121,180003,0,0,0), + (121,190016,0,0,0), + (121,200002,0,0,0), + (121,230001,0,0,0), + (121,240023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (121,250026,0,0,0), + (121,280016,0,0,0), + (121,290004,0,0,0), + (121,300001,0,0,0), + (121,320020,0,0,0), + (121,330020,0,0,0), + (121,340002,0,0,0), + (121,1000074,0,0,0), + (121,1100001,0,0,0), + (121,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (122,1001,0,1,1), + (122,2001,0,1,1), + (122,4001,0,0,0), + (122,5001,0,0,0), + (122,6001,0,0,0), + (122,10010,10,0,0), + (122,10010,11,0,0), + (122,11004,10,0,0), + (122,11004,11,0,0), + (122,12007,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (122,12010,10,0,0), + (122,13009,10,0,0), + (122,15001,0,0,0), + (122,20122,0,0,0), + (122,22009,0,0,0), + (122,31153,0,0,0), + (122,36001,0,0,0), + (122,37001,0,0,0), + (122,40028,0,0,0), + (122,100003,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (122,100003,11,0,0), + (122,110034,10,1,1), + (122,110034,11,1,1), + (122,130023,0,0,0), + (122,140016,0,0,0), + (122,160008,0,0,0), + (122,180003,0,0,0), + (122,190016,0,0,0), + (122,200002,0,0,0), + (122,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (122,240023,0,0,0), + (122,250026,0,0,0), + (122,280016,0,0,0), + (122,290004,0,0,0), + (122,300001,0,0,0), + (122,320020,0,0,0), + (122,330020,0,0,0), + (122,340002,0,0,0), + (122,1000074,0,0,0), + (122,1100001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (122,1200034,0,0,0), + (123,1001,0,1,1), + (123,2001,0,1,1), + (123,4001,0,0,0), + (123,5001,0,0,0), + (123,6001,0,0,0), + (123,10002,10,0,0), + (123,10010,11,0,0), + (123,11004,10,0,0), + (123,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (123,12020,10,0,0), + (123,12029,11,0,0), + (123,13009,10,0,0), + (123,15001,0,0,0), + (123,20123,0,0,0), + (123,22009,0,0,0), + (123,31153,0,0,0), + (123,36001,0,0,0), + (123,37001,0,0,0), + (123,40029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (123,100002,10,0,0), + (123,100002,11,0,0), + (123,110034,10,1,1), + (123,110034,11,1,1), + (123,130023,0,0,0), + (123,140016,0,0,0), + (123,160008,0,0,0), + (123,180003,0,0,0), + (123,190016,0,0,0), + (123,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (123,230001,0,0,0), + (123,240023,0,0,0), + (123,250026,0,0,0), + (123,280016,0,0,0), + (123,290004,0,0,0), + (123,300001,0,0,0), + (123,320020,0,0,0), + (123,330020,0,0,0), + (123,340002,0,0,0), + (123,1000074,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (123,1100001,0,0,0), + (123,1200034,0,0,0), + (124,1001,0,1,1), + (124,2001,0,1,1), + (124,4001,0,0,0), + (124,5001,0,0,0), + (124,6001,0,0,0), + (124,10012,10,0,0), + (124,10012,11,0,0), + (124,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (124,11004,11,0,0), + (124,12011,10,0,0), + (124,12027,11,0,0), + (124,15001,0,0,0), + (124,20124,0,0,0), + (124,22005,0,0,0), + (124,31153,0,0,0), + (124,36001,0,0,0), + (124,37001,0,0,0), + (124,40014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (124,100002,10,0,0), + (124,100002,11,0,0), + (124,110047,10,1,1), + (124,110047,11,1,1), + (124,130023,0,0,0), + (124,140008,0,0,0), + (124,160010,0,0,0), + (124,180055,0,0,0), + (124,190071,0,0,0), + (124,200056,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (124,230001,0,0,0), + (124,240001,0,0,0), + (124,250021,0,0,0), + (124,280044,0,0,0), + (124,290003,0,0,0), + (124,300001,0,0,0), + (124,320092,0,0,0), + (124,330052,0,0,0), + (124,340002,0,0,0), + (124,1000154,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (124,1100112,0,0,0), + (124,1200042,0,0,0), + (125,1001,0,1,1), + (125,2001,0,1,1), + (125,4001,0,0,0), + (125,5001,0,0,0), + (125,6001,0,0,0), + (125,10003,10,0,0), + (125,10011,11,0,0), + (125,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (125,11004,11,0,0), + (125,12010,11,0,0), + (125,12011,10,0,0), + (125,15001,0,0,0), + (125,20125,0,0,0), + (125,22009,0,0,0), + (125,31153,0,0,0), + (125,36001,0,0,0), + (125,37001,0,0,0), + (125,40020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (125,100103,10,0,0), + (125,100103,11,0,0), + (125,110042,10,1,1), + (125,110042,11,1,1), + (125,130022,0,0,0), + (125,140002,0,0,0), + (125,160013,0,0,0), + (125,180012,0,0,0), + (125,190005,0,0,0), + (125,200018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (125,230001,0,0,0), + (125,240001,0,0,0), + (125,250002,0,0,0), + (125,280015,0,0,0), + (125,290004,0,0,0), + (125,300001,0,0,0), + (125,320021,0,0,0), + (125,330008,0,0,0), + (125,340002,0,0,0), + (125,1000068,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (125,1100013,0,0,0), + (125,1200014,0,0,0), + (126,1001,0,1,1), + (126,2001,0,1,1), + (126,4001,0,0,0), + (126,5001,0,0,0), + (126,6001,0,0,0), + (126,10002,10,0,0), + (126,10010,11,0,0), + (126,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (126,11004,11,0,0), + (126,12010,10,0,0), + (126,12021,11,0,0), + (126,13011,11,0,0), + (126,13012,10,0,0), + (126,15001,0,0,0), + (126,20126,0,0,0), + (126,22009,0,0,0), + (126,31153,0,0,0), + (126,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (126,37001,0,0,0), + (126,40026,0,0,0), + (126,100002,10,0,0), + (126,100002,11,0,0), + (126,110104,10,1,1), + (126,110109,11,1,1), + (126,130045,0,0,0), + (126,140009,0,0,0), + (126,160037,0,0,0), + (126,180020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (126,190022,0,0,0), + (126,200020,0,0,0), + (126,230001,0,0,0), + (126,240001,0,0,0), + (126,250002,0,0,0), + (126,280027,0,0,0), + (126,290003,0,0,0), + (126,300001,0,0,0), + (126,320024,0,0,0), + (126,330056,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (126,340002,0,0,0), + (126,1000021,0,0,0), + (126,1100098,0,0,0), + (126,1200019,0,0,0), + (127,1001,0,1,1), + (127,2001,0,1,1), + (127,4001,0,0,0), + (127,5001,0,0,0), + (127,6001,0,0,0), + (127,10009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (127,10010,10,0,0), + (127,11004,10,0,0), + (127,11004,11,0,0), + (127,12008,11,0,0), + (127,12009,10,0,0), + (127,15001,0,0,0), + (127,20127,0,0,0), + (127,22009,0,0,0), + (127,31153,0,0,0), + (127,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (127,37001,0,0,0), + (127,40015,0,0,0), + (127,100002,10,0,0), + (127,100002,11,0,0), + (127,110048,10,1,1), + (127,110048,11,1,1), + (127,130057,0,0,0), + (127,140018,0,0,0), + (127,160001,0,0,0), + (127,180049,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (127,190013,0,0,0), + (127,200058,0,0,0), + (127,230021,0,0,0), + (127,240032,0,0,0), + (127,250022,0,0,0), + (127,280045,0,0,0), + (127,290003,0,0,0), + (127,300001,0,0,0), + (127,320033,0,0,0), + (127,330053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (127,340002,0,0,0), + (127,1000162,0,0,0), + (127,1100113,0,0,0), + (127,1200013,0,0,0), + (128,1001,0,0,0), + (128,2001,0,1,1), + (128,4001,0,0,0), + (128,5001,0,0,0), + (128,6001,0,0,0), + (128,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (128,10010,11,0,0), + (128,11004,10,0,0), + (128,11004,11,0,0), + (128,12007,10,0,0), + (128,12029,11,0,0), + (128,13011,10,0,0), + (128,15001,0,0,0), + (128,20128,0,0,0), + (128,22009,0,0,0), + (128,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (128,36001,0,0,0), + (128,37001,0,0,0), + (128,40023,0,0,0), + (128,100002,10,0,0), + (128,100002,11,0,0), + (128,110104,10,1,1), + (128,110109,11,1,1), + (128,130004,0,0,0), + (128,140009,0,0,0), + (128,160039,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (128,180023,0,0,0), + (128,190006,0,0,0), + (128,200023,0,0,0), + (128,230001,0,0,0), + (128,240005,0,0,0), + (128,250002,0,0,0), + (128,280023,0,0,0), + (128,290004,0,0,0), + (128,300001,0,0,0), + (128,320027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (128,330043,0,0,0), + (128,340002,0,0,0), + (128,1000018,0,0,0), + (128,1100020,0,0,0), + (128,1200035,0,0,0), + (129,1001,0,1,1), + (129,2001,0,1,1), + (129,4001,0,0,0), + (129,5001,0,0,0), + (129,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (129,10010,10,0,0), + (129,10010,11,0,0), + (129,11004,10,0,0), + (129,11004,11,0,0), + (129,12008,10,0,0), + (129,12021,11,0,0), + (129,13011,10,0,0), + (129,15001,0,0,0), + (129,20129,0,0,0), + (129,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (129,25006,0,0,0), + (129,31153,0,0,0), + (129,36001,0,0,0), + (129,37001,0,0,0), + (129,40049,0,0,0), + (129,100002,10,0,0), + (129,100002,11,0,0), + (129,110033,10,1,1), + (129,110033,11,1,1), + (129,130004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (129,140009,0,0,0), + (129,160040,0,0,0), + (129,180023,0,0,0), + (129,190006,0,0,0), + (129,200023,0,0,0), + (129,230001,0,0,0), + (129,240006,0,0,0), + (129,250002,0,0,0), + (129,280028,0,0,0), + (129,290003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (129,300001,0,0,0), + (129,320027,0,0,0), + (129,330043,0,0,0), + (129,340002,0,0,0), + (129,1000051,0,0,0), + (129,1100034,0,0,0), + (129,1200035,0,0,0), + (130,1001,0,1,1), + (130,2001,0,1,1), + (130,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (130,5001,0,0,0), + (130,6001,0,0,0), + (130,10002,10,0,0), + (130,10010,11,0,0), + (130,11004,10,0,0), + (130,11004,11,0,0), + (130,12009,10,0,0), + (130,12029,11,0,0), + (130,13009,11,0,0), + (130,13011,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (130,15001,0,0,0), + (130,20130,0,0,0), + (130,22006,0,0,0), + (130,31153,0,0,0), + (130,36001,0,0,0), + (130,37001,0,0,0), + (130,40055,0,0,0), + (130,100002,10,0,0), + (130,100002,11,0,0), + (130,110040,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (130,110040,11,1,1), + (130,130004,0,0,0), + (130,140022,0,0,0), + (130,160040,0,0,0), + (130,180023,0,0,0), + (130,190006,0,0,0), + (130,200023,0,0,0), + (130,230003,0,0,0), + (130,240005,0,0,0), + (130,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (130,280023,0,0,0), + (130,290004,0,0,0), + (130,300001,0,0,0), + (130,320027,0,0,0), + (130,330043,0,0,0), + (130,340003,0,0,0), + (130,1000146,0,0,0), + (130,1100020,0,0,0), + (130,1200037,0,0,0), + (131,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (131,2001,0,1,1), + (131,4001,0,0,0), + (131,5001,0,0,0), + (131,6001,0,0,0), + (131,10002,10,0,0), + (131,10010,11,0,0), + (131,11004,10,0,0), + (131,11004,11,0,0), + (131,12006,10,0,0), + (131,12027,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (131,13012,10,0,0), + (131,15001,0,0,0), + (131,20131,0,0,0), + (131,22002,0,0,0), + (131,31153,0,0,0), + (131,36001,0,0,0), + (131,37001,0,0,0), + (131,40034,0,0,0), + (131,100132,10,0,0), + (131,100132,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (131,110027,10,1,1), + (131,110027,11,1,1), + (131,130048,0,0,0), + (131,140008,0,0,0), + (131,160048,0,0,0), + (131,180022,0,0,0), + (131,190068,0,0,0), + (131,200022,0,0,0), + (131,230001,0,0,0), + (131,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (131,250003,0,0,0), + (131,280022,0,0,0), + (131,290003,0,0,0), + (131,300001,0,0,0), + (131,320026,0,0,0), + (131,330020,0,0,0), + (131,340002,0,0,0), + (131,1000007,0,0,0), + (131,1100019,0,0,0), + (131,1200021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (132,1001,0,1,1), + (132,2001,0,1,1), + (132,4001,0,0,0), + (132,5001,0,0,0), + (132,6001,0,0,0), + (132,10002,10,0,0), + (132,10010,11,0,0), + (132,11004,10,0,0), + (132,11004,11,0,0), + (132,12006,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (132,12022,11,0,0), + (132,13012,10,0,0), + (132,15001,0,0,0), + (132,20132,0,0,0), + (132,22008,0,0,0), + (132,31153,0,0,0), + (132,36001,0,0,0), + (132,37001,0,0,0), + (132,40032,0,0,0), + (132,100132,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (132,100132,11,0,0), + (132,110033,10,1,1), + (132,110033,11,1,1), + (132,130044,0,0,0), + (132,140004,0,0,0), + (132,160054,0,0,0), + (132,180016,0,0,0), + (132,190018,0,0,0), + (132,200006,0,0,0), + (132,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (132,240001,0,0,0), + (132,250027,0,0,0), + (132,280003,0,0,0), + (132,290003,0,0,0), + (132,300001,0,0,0), + (132,320003,0,0,0), + (132,330052,0,0,0), + (132,340002,0,0,0), + (132,1000119,0,0,0), + (132,1100002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (132,1200002,0,0,0), + (133,1001,0,1,1), + (133,2001,0,1,1), + (133,4001,0,0,0), + (133,5001,0,0,0), + (133,6001,0,0,0), + (133,10002,10,0,0), + (133,10010,11,0,0), + (133,11004,10,0,0), + (133,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (133,12006,10,0,0), + (133,12022,11,0,0), + (133,13012,10,0,0), + (133,15001,0,0,0), + (133,20133,0,0,0), + (133,22008,0,0,0), + (133,31153,0,0,0), + (133,36001,0,0,0), + (133,37001,0,0,0), + (133,40033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (133,100132,10,0,0), + (133,100132,11,0,0), + (133,110104,10,1,1), + (133,110109,11,1,1), + (133,130048,0,0,0), + (133,140004,0,0,0), + (133,160073,0,0,0), + (133,180015,0,0,0), + (133,190017,0,0,0), + (133,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (133,230001,0,0,0), + (133,240005,0,0,0), + (133,250002,0,0,0), + (133,280036,0,0,0), + (133,290004,0,0,0), + (133,300001,0,0,0), + (133,320004,0,0,0), + (133,330066,0,0,0), + (133,340002,0,0,0), + (133,1000120,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (133,1100044,0,0,0), + (133,1200015,0,0,0), + (134,1001,0,1,1), + (134,2001,0,1,1), + (134,4001,0,0,0), + (134,5001,0,0,0), + (134,6001,0,0,0), + (134,10011,10,0,0), + (134,10011,11,0,0), + (134,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (134,11004,11,0,0), + (134,12006,10,0,0), + (134,12022,11,0,0), + (134,13012,10,0,0), + (134,15001,0,0,0), + (134,20134,0,0,0), + (134,22001,0,0,0), + (134,31153,0,0,0), + (134,36001,0,0,0), + (134,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (134,40054,0,0,0), + (134,100128,10,0,0), + (134,100128,11,0,0), + (134,110084,10,1,1), + (134,110100,11,1,1), + (134,130044,0,0,0), + (134,140014,0,0,0), + (134,160057,0,0,0), + (134,180016,0,0,0), + (134,190018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (134,200006,0,0,0), + (134,230003,0,0,0), + (134,240005,0,0,0), + (134,250002,0,0,0), + (134,280003,0,0,0), + (134,290004,0,0,0), + (134,300001,0,0,0), + (134,320052,0,0,0), + (134,330021,0,0,0), + (134,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (134,1000012,0,0,0), + (134,1100048,0,0,0), + (134,1200002,0,0,0), + (135,1001,0,1,1), + (135,2001,0,1,1), + (135,4001,0,0,0), + (135,5001,0,0,0), + (135,6001,0,0,0), + (135,10009,11,0,0), + (135,10014,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (135,11004,10,0,0), + (135,11004,11,0,0), + (135,12006,10,0,0), + (135,12028,11,0,0), + (135,13011,10,0,0), + (135,15001,0,0,0), + (135,20135,0,0,0), + (135,22008,0,0,0), + (135,31153,0,0,0), + (135,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (135,37001,0,0,0), + (135,40036,0,0,0), + (135,100128,10,0,0), + (135,100128,11,0,0), + (135,110030,10,1,1), + (135,110030,11,1,1), + (135,130044,0,0,0), + (135,140009,0,0,0), + (135,160054,0,0,0), + (135,180016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (135,190018,0,0,0), + (135,200006,0,0,0), + (135,230001,0,0,0), + (135,240001,0,0,0), + (135,250027,0,0,0), + (135,280003,0,0,0), + (135,290003,0,0,0), + (135,300001,0,0,0), + (135,320003,0,0,0), + (135,330052,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (135,340002,0,0,0), + (135,1000119,0,0,0), + (135,1100002,0,0,0), + (135,1200002,0,0,0), + (153,1001,0,0,0), + (153,2001,0,1,1), + (153,4001,0,0,0), + (153,5001,0,0,0), + (153,6001,0,0,0), + (153,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (153,10010,11,0,0), + (153,11004,10,0,0), + (153,11004,11,0,0), + (153,12006,10,0,0), + (153,12009,11,0,0), + (153,15001,0,0,0), + (153,20138,0,0,0), + (153,23003,0,0,0), + (153,34001,10,0,0), + (153,34001,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (153,35001,0,0,0), + (153,36001,0,0,0), + (153,37001,0,0,0), + (153,100002,10,0,0), + (153,100002,11,0,0), + (153,110001,10,1,1), + (153,110001,11,1,1), + (153,130026,0,0,0), + (153,140016,0,0,0), + (153,160021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (153,180019,0,0,0), + (153,190021,0,0,0), + (153,200019,0,0,0), + (153,230001,0,0,0), + (153,240003,0,0,0), + (153,250001,0,0,0), + (153,280019,0,0,0), + (153,290003,0,0,0), + (153,300001,0,0,0), + (153,320023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (153,330006,0,0,0), + (153,340001,0,0,0), + (153,1000020,0,0,0), + (153,1100016,0,0,0), + (153,1200018,0,0,0), + (159,1001,0,1,1), + (159,2001,0,1,1), + (159,4001,0,0,0), + (159,5001,0,0,0), + (159,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (159,10001,10,0,0), + (159,10004,11,0,0), + (159,11004,10,0,0), + (159,11004,11,0,0), + (159,12009,10,0,0), + (159,12029,11,0,0), + (159,15001,0,0,0), + (159,20104,0,0,0), + (159,22014,0,0,0), + (159,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (159,36001,0,0,0), + (159,37001,0,0,0), + (159,40006,0,0,0), + (159,100002,10,0,0), + (159,100002,11,0,0), + (159,110032,10,1,1), + (159,110032,11,1,1), + (159,130042,0,0,0), + (159,140016,0,0,0), + (159,160026,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (159,180018,0,0,0), + (159,190077,0,0,0), + (159,200042,0,0,0), + (159,230001,0,0,0), + (159,240001,0,0,0), + (159,250030,0,0,0), + (159,280030,0,0,0), + (159,290002,0,0,0), + (159,300001,0,0,0), + (159,320040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (159,330035,0,0,0), + (159,340002,0,0,0), + (159,1000001,0,0,0), + (159,1100119,0,0,0), + (159,1200048,0,0,0), + (171,1001,0,1,1), + (171,2001,0,1,1), + (171,4001,0,0,0), + (171,5001,0,0,0), + (171,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (171,10003,10,0,0), + (171,10010,11,0,0), + (171,11004,10,0,0), + (171,11004,11,0,0), + (171,12009,10,0,0), + (171,12029,11,0,0), + (171,15001,0,0,0), + (171,20111,0,0,0), + (171,22014,0,0,0), + (171,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (171,36001,0,0,0), + (171,37001,0,0,0), + (171,40062,0,0,0), + (171,100002,10,0,0), + (171,100002,11,0,0), + (171,110044,10,0,0), + (171,110044,11,0,0), + (171,130039,0,0,0), + (171,140019,0,0,0), + (171,160034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (171,180059,0,0,0), + (171,190029,0,0,0), + (171,200012,0,0,0), + (171,230005,0,0,0), + (171,240002,0,0,0), + (171,250005,0,0,0), + (171,280004,0,0,0), + (171,290007,0,0,0), + (171,300011,0,0,0), + (171,320007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (171,330033,0,0,0), + (171,340003,0,0,0), + (171,1000006,0,0,0), + (171,1100043,0,0,0), + (171,1200005,0,0,0), + (173,1001,0,1,1), + (173,2001,0,1,1), + (173,4001,0,0,0), + (173,5001,0,0,0), + (173,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (173,10001,10,0,0), + (173,10004,11,0,0), + (173,11004,10,0,0), + (173,11004,11,0,0), + (173,12007,10,0,0), + (173,12009,11,0,0), + (173,15001,0,0,0), + (173,20146,0,0,0), + (173,36001,0,0,0), + (173,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (173,40031,0,0,0), + (173,100002,10,0,0), + (173,100002,11,0,0), + (173,110040,10,1,1), + (173,110040,11,1,1), + (173,130048,0,0,0), + (173,140006,0,0,0), + (173,160012,0,0,0), + (173,180003,0,0,0), + (173,190016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (173,200002,0,0,0), + (173,230001,0,0,0), + (173,240006,0,0,0), + (173,250002,0,0,0), + (173,280016,0,0,0), + (173,290003,0,0,0), + (173,300001,0,0,0), + (173,320020,0,0,0), + (173,330056,0,0,0), + (173,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (173,1000074,0,0,0), + (173,1100001,0,0,0), + (173,1200034,0,0,0), + (174,1001,0,1,1), + (174,2001,0,1,1), + (174,4001,0,0,0), + (174,5001,0,0,0), + (174,6001,0,0,0), + (174,10010,11,0,0), + (174,10012,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (174,11004,10,0,0), + (174,11004,11,0,0), + (174,12007,10,0,0), + (174,12009,11,0,0), + (174,15001,0,0,0), + (174,20147,0,0,0), + (174,36001,0,0,0), + (174,37001,0,0,0), + (174,40001,0,0,0), + (174,100136,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (174,100136,11,0,0), + (174,110141,10,1,1), + (174,110141,11,1,1), + (174,130022,0,0,0), + (174,140015,0,0,0), + (174,160012,0,0,0), + (174,180001,0,0,0), + (174,190016,0,0,0), + (174,200002,0,0,0), + (174,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (174,240006,0,0,0), + (174,250002,0,0,0), + (174,280016,0,0,0), + (174,290003,0,0,0), + (174,300001,0,0,0), + (174,320020,0,0,0), + (174,330056,0,0,0), + (174,340002,0,0,0), + (174,1000074,0,0,0), + (174,1100001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (174,1200034,0,0,0), + (175,1001,0,1,1), + (175,2001,0,1,1), + (175,4001,0,0,0), + (175,5001,0,0,0), + (175,6001,0,0,0), + (175,10010,11,0,0), + (175,10012,10,0,0), + (175,11004,10,0,0), + (175,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (175,12007,10,0,0), + (175,12009,11,0,0), + (175,15001,0,0,0), + (175,20148,0,0,0), + (175,36001,0,0,0), + (175,37001,0,0,0), + (175,40001,0,0,0), + (175,100136,10,0,0), + (175,100136,11,0,0), + (175,110141,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (175,110141,11,1,1), + (175,130022,0,0,0), + (175,140015,0,0,0), + (175,160017,0,0,0), + (175,180002,0,0,0), + (175,190015,0,0,0), + (175,200003,0,0,0), + (175,230003,0,0,0), + (175,240005,0,0,0), + (175,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (175,280002,0,0,0), + (175,290004,0,0,0), + (175,300001,0,0,0), + (175,320002,0,0,0), + (175,330056,0,0,0), + (175,340002,0,0,0), + (175,1000147,0,0,0), + (175,1100014,0,0,0), + (175,1200001,0,0,0), + (176,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (176,2001,0,1,1), + (176,4001,0,0,0), + (176,5001,0,0,0), + (176,6001,0,0,0), + (176,10001,10,0,0), + (176,10004,11,0,0), + (176,11004,10,0,0), + (176,11004,11,0,0), + (176,12007,10,0,0), + (176,12009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (176,15001,0,0,0), + (176,20149,0,0,0), + (176,36001,0,0,0), + (176,37001,0,0,0), + (176,40031,0,0,0), + (176,100002,10,0,0), + (176,100002,11,0,0), + (176,110040,10,1,1), + (176,110040,11,1,1), + (176,130048,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (176,140006,0,0,0), + (176,160012,0,0,0), + (176,180003,0,0,0), + (176,190016,0,0,0), + (176,200002,0,0,0), + (176,230001,0,0,0), + (176,240006,0,0,0), + (176,250002,0,0,0), + (176,280016,0,0,0), + (176,290003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (176,300001,0,0,0), + (176,320020,0,0,0), + (176,330056,0,0,0), + (176,340002,0,0,0), + (176,1000074,0,0,0), + (176,1100001,0,0,0), + (176,1200034,0,0,0), + (177,1001,0,1,1), + (177,2001,0,1,1), + (177,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (177,5001,0,0,0), + (177,6001,0,0,0), + (177,10001,10,0,0), + (177,10004,11,0,0), + (177,11004,10,0,0), + (177,11004,11,0,0), + (177,12007,10,0,0), + (177,12009,11,0,0), + (177,15001,0,0,0), + (177,20150,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (177,36001,0,0,0), + (177,37001,0,0,0), + (177,40031,0,0,0), + (177,100002,10,0,0), + (177,100002,11,0,0), + (177,110040,10,1,1), + (177,110040,11,1,1), + (177,130048,0,0,0), + (177,140006,0,0,0), + (177,160025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (177,180052,0,0,0), + (177,190020,0,0,0), + (177,200004,0,0,0), + (177,230001,0,0,0), + (177,240005,0,0,0), + (177,250001,0,0,0), + (177,280018,0,0,0), + (177,290003,0,0,0), + (177,300001,0,0,0), + (177,320022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (177,330035,0,0,0), + (177,340001,0,0,0), + (177,1000136,0,0,0), + (177,1100101,0,0,0), + (177,1200038,0,0,0), + (178,1001,0,1,1), + (178,2001,0,1,1), + (178,4001,0,0,0), + (178,5001,0,0,0), + (178,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (178,10002,10,0,0), + (178,10010,11,0,0), + (178,11004,10,0,0), + (178,11004,11,0,0), + (178,12007,10,0,0), + (178,12009,11,0,0), + (178,15001,0,0,0), + (178,20151,0,0,0), + (178,36001,0,0,0), + (178,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (178,40031,0,0,0), + (178,100002,10,0,0), + (178,100002,11,0,0), + (178,110040,10,1,1), + (178,110040,11,1,1), + (178,130048,0,0,0), + (178,140006,0,0,0), + (178,160028,0,0,0), + (178,180018,0,0,0), + (178,190077,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (178,200042,0,0,0), + (178,230001,0,0,0), + (178,240001,0,0,0), + (178,250001,0,0,0), + (178,280030,0,0,0), + (178,290003,0,0,0), + (178,300001,0,0,0), + (178,320040,0,0,0), + (178,330035,0,0,0), + (178,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (178,1000099,0,0,0), + (178,1100119,0,0,0), + (178,1200048,0,0,0), + (179,1001,0,1,1), + (179,2001,0,1,1), + (179,4001,0,0,0), + (179,5001,0,0,0), + (179,6001,0,0,0), + (179,10001,10,0,0), + (179,10004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (179,11004,10,0,0), + (179,11004,11,0,0), + (179,12007,10,0,0), + (179,12009,11,0,0), + (179,15001,0,0,0), + (179,20152,0,0,0), + (179,36001,0,0,0), + (179,37001,0,0,0), + (179,40031,0,0,0), + (179,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (179,100002,11,0,0), + (179,110040,10,1,1), + (179,110040,11,1,1), + (179,130048,0,0,0), + (179,140006,0,0,0), + (179,160012,0,0,0), + (179,180003,0,0,0), + (179,190016,0,0,0), + (179,200002,0,0,0), + (179,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (179,240006,0,0,0), + (179,250002,0,0,0), + (179,280016,0,0,0), + (179,290003,0,0,0), + (179,300001,0,0,0), + (179,320020,0,0,0), + (179,330056,0,0,0), + (179,340002,0,0,0), + (179,1000074,0,0,0), + (179,1100001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (179,1200034,0,0,0), + (180,1001,0,1,1), + (180,2001,0,1,1), + (180,4001,0,0,0), + (180,5001,0,0,0), + (180,6001,0,0,0), + (180,10001,10,0,0), + (180,10004,11,0,0), + (180,11004,10,0,0), + (180,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (180,12007,10,0,0), + (180,12009,11,0,0), + (180,15001,0,0,0), + (180,20153,0,0,0), + (180,36001,0,0,0), + (180,37001,0,0,0), + (180,40031,0,0,0), + (180,100002,10,0,0), + (180,100002,11,0,0), + (180,110040,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (180,110040,11,1,1), + (180,130048,0,0,0), + (180,140006,0,0,0), + (180,160042,0,0,0), + (180,180028,0,0,0), + (180,190025,0,0,0), + (180,200027,0,0,0), + (180,230003,0,0,0), + (180,240005,0,0,0), + (180,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (180,280029,0,0,0), + (180,290003,0,0,0), + (180,300001,0,0,0), + (180,320027,0,0,0), + (180,330018,0,0,0), + (180,340002,0,0,0), + (180,1000092,0,0,0), + (180,1100037,0,0,0), + (180,1200035,0,0,0), + (184,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (184,2001,0,1,1), + (184,4001,0,0,0), + (184,5001,0,0,0), + (184,6001,0,0,0), + (184,10011,10,0,0), + (184,10011,11,0,0), + (184,11004,10,0,0), + (184,11004,11,0,0), + (184,12006,10,0,0), + (184,12022,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (184,15001,0,0,0), + (184,20157,0,0,0), + (184,22008,0,0,0), + (184,31153,0,0,0), + (184,36001,0,0,0), + (184,37001,0,0,0), + (184,40033,0,0,0), + (184,100132,10,0,0), + (184,100132,11,0,0), + (184,110045,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (184,110045,11,1,1), + (184,130001,0,0,0), + (184,140020,0,0,0), + (184,160055,0,0,0), + (184,180036,0,0,0), + (184,190017,0,0,0), + (184,200029,0,0,0), + (184,230001,0,0,0), + (184,240005,0,0,0), + (184,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (184,280034,0,0,0), + (184,290004,0,0,0), + (184,300001,0,0,0), + (184,320089,0,0,0), + (184,330034,0,0,0), + (184,340002,0,0,0), + (184,1000113,0,0,0), + (184,1100044,0,0,0), + (184,1200015,0,0,0), + (190,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (190,2001,0,1,1), + (190,4001,0,0,0), + (190,5001,0,0,0), + (190,6001,0,0,0), + (190,10007,10,0,0), + (190,10007,11,0,0), + (190,11004,10,0,0), + (190,11004,11,0,0), + (190,12006,10,0,0), + (190,12022,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (190,15001,0,0,0), + (190,20131,0,0,0), + (190,22008,0,0,0), + (190,31153,0,0,0), + (190,36001,0,0,0), + (190,37001,0,0,0), + (190,40034,0,0,0), + (190,100132,10,0,0), + (190,100132,11,0,0), + (190,110104,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (190,110109,11,1,1), + (190,130048,0,0,0), + (190,140007,0,0,0), + (190,160050,0,0,0), + (190,180053,0,0,0), + (190,190024,0,0,0), + (190,200007,0,0,0), + (190,230003,0,0,0), + (190,240005,0,0,0), + (190,250003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (190,280010,0,0,0), + (190,290003,0,0,0), + (190,300001,0,0,0), + (190,320053,0,0,0), + (190,330043,0,0,0), + (190,340002,0,0,0), + (190,1000007,0,0,0), + (190,1100019,0,0,0), + (190,1200021,0,0,0), + (208,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (208,2001,0,1,1), + (208,4001,0,0,0), + (208,5001,0,0,0), + (208,6001,0,0,0), + (208,10009,11,0,0), + (208,10010,10,0,0), + (208,11004,10,0,0), + (208,11004,11,0,0), + (208,12009,11,0,0), + (208,12010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (208,15001,0,0,0), + (208,20127,0,0,0), + (208,22009,0,0,0), + (208,31153,0,0,0), + (208,36001,0,0,0), + (208,37001,0,0,0), + (208,40015,0,0,0), + (208,100002,10,0,0), + (208,100002,11,0,0), + (208,110044,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (208,110044,11,1,1), + (208,130049,0,0,0), + (208,140018,0,0,0), + (208,160001,0,0,0), + (208,180049,0,0,0), + (208,190013,0,0,0), + (208,200057,0,0,0), + (208,230001,0,0,0), + (208,240001,0,0,0), + (208,250022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (208,280045,0,0,0), + (208,290003,0,0,0), + (208,300001,0,0,0), + (208,320033,0,0,0), + (208,330053,0,0,0), + (208,340002,0,0,0), + (208,1000162,0,0,0), + (208,1100113,0,0,0), + (208,1200013,0,0,0), + (236,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (236,2001,0,1,1), + (236,4001,0,0,0), + (236,5001,0,0,0), + (236,6001,0,0,0), + (236,10010,10,0,0), + (236,10010,11,0,0), + (236,11004,10,0,0), + (236,11004,11,0,0), + (236,12007,10,0,0), + (236,12029,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (236,15001,0,0,0), + (236,20113,0,0,0), + (236,22010,0,0,0), + (236,31153,0,0,0), + (236,36001,0,0,0), + (236,37001,0,0,0), + (236,40016,0,0,0), + (236,100002,10,0,0), + (236,100002,11,0,0), + (236,110032,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (236,110032,11,1,1), + (236,130049,0,0,0), + (236,140009,0,0,0), + (236,160006,0,0,0), + (236,180014,0,0,0), + (236,190016,0,0,0), + (236,200002,0,0,0), + (236,230001,0,0,0), + (236,240001,0,0,0), + (236,250026,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (236,280024,0,0,0), + (236,290003,0,0,0), + (236,300001,0,0,0), + (236,320020,0,0,0), + (236,330052,0,0,0), + (236,340002,0,0,0), + (236,1000123,0,0,0), + (236,1100001,0,0,0), + (236,1200034,0,0,0), + (320,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (320,2001,0,0,0), + (320,4001,0,0,0), + (320,5001,0,0,0), + (320,6001,0,0,0), + (320,10014,11,0,0), + (320,10021,10,0,0), + (320,11009,10,0,0), + (320,11009,11,0,0), + (320,12009,11,0,0), + (320,12010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (320,13011,10,0,0), + (320,13012,11,0,0), + (320,15001,0,0,0), + (320,20207,0,0,0), + (320,22010,0,0,0), + (320,31152,0,0,0), + (320,35003,10,0,0), + (320,35003,11,0,0), + (320,36001,0,0,0), + (320,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (320,40060,0,0,0), + (320,100002,10,0,0), + (320,100002,11,0,0), + (320,110026,11,0,0), + (320,110044,10,0,0), + (320,130035,0,0,0), + (320,140011,0,0,0), + (320,160032,0,0,0), + (320,180017,0,0,0), + (320,190019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (320,200001,0,0,0), + (320,230003,0,0,0), + (320,240005,0,0,0), + (320,250008,0,0,0), + (320,280040,0,0,0), + (320,290002,0,0,0), + (320,300010,0,0,0), + (320,320006,0,0,0), + (320,330027,0,0,0), + (320,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (320,1000005,0,0,0), + (320,1100040,0,0,0), + (320,1200029,0,0,0), + (335,1001,0,0,0), + (335,2001,0,0,0), + (335,4001,0,0,0), + (335,5001,0,0,0), + (335,6001,0,0,0), + (335,10002,10,0,0), + (335,10010,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (335,11006,10,0,0), + (335,11006,11,0,0), + (335,12009,10,0,0), + (335,12029,11,0,0), + (335,15001,0,0,0), + (335,20210,0,0,0), + (335,22014,0,0,0), + (335,31153,0,0,0), + (335,36001,0,0,0), + (335,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (335,40013,0,0,0), + (335,100002,10,0,0), + (335,100002,11,0,0), + (335,110031,10,0,0), + (335,110031,11,0,0), + (335,130034,0,0,0), + (335,140011,0,0,0), + (335,160027,0,0,0), + (335,180030,0,0,0), + (335,190020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (335,200004,0,0,0), + (335,230001,0,0,0), + (335,240001,0,0,0), + (335,250001,0,0,0), + (335,280018,0,0,0), + (335,290001,0,0,0), + (335,300001,0,0,0), + (335,320022,0,0,0), + (335,330003,0,0,0), + (335,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (335,1000138,0,0,0), + (335,1100005,0,0,0), + (335,1200017,0,0,0), + (336,1001,0,0,0), + (336,2001,0,0,0), + (336,4001,0,0,0), + (336,5001,0,0,0), + (336,6001,0,0,0), + (336,10002,10,0,0), + (336,10010,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (336,11006,10,0,0), + (336,11006,11,0,0), + (336,12010,10,0,0), + (336,12022,11,0,0), + (336,15001,0,0,0), + (336,20211,0,0,0), + (336,22014,0,0,0), + (336,30001,0,0,0), + (336,31153,0,0,0), + (336,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (336,37001,0,0,0), + (336,40039,0,0,0), + (336,100002,10,0,0), + (336,100002,11,0,0), + (336,110025,10,0,0), + (336,110025,11,0,0), + (336,130034,0,0,0), + (336,140011,0,0,0), + (336,160033,0,0,0), + (336,180051,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (336,190027,0,0,0), + (336,200028,0,0,0), + (336,230001,0,0,0), + (336,240001,0,0,0), + (336,250001,0,0,0), + (336,280008,0,0,0), + (336,290002,0,0,0), + (336,300002,0,0,0), + (336,320011,0,0,0), + (336,330033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (336,340003,0,0,0), + (336,1000005,0,0,0), + (336,1100040,0,0,0), + (336,1200029,0,0,0), + (337,1001,0,0,0), + (337,2001,0,0,0), + (337,4001,0,0,0), + (337,5001,0,0,0), + (337,6001,0,0,0), + (337,10002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (337,10010,11,0,0), + (337,11006,10,0,0), + (337,11006,11,0,0), + (337,12009,10,0,0), + (337,12029,11,0,0), + (337,15001,0,0,0), + (337,20212,0,0,0), + (337,22014,0,0,0), + (337,29001,0,0,0), + (337,30001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (337,31153,0,0,0), + (337,36001,0,0,0), + (337,37001,0,0,0), + (337,40062,0,0,0), + (337,100002,10,0,0), + (337,100002,11,0,0), + (337,110025,10,0,0), + (337,110025,11,0,0), + (337,130034,0,0,0), + (337,140009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (337,160019,0,0,0), + (337,180030,0,0,0), + (337,190020,0,0,0), + (337,200004,0,0,0), + (337,230001,0,0,0), + (337,240001,0,0,0), + (337,250001,0,0,0), + (337,280018,0,0,0), + (337,290002,0,0,0), + (337,300002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (337,320022,0,0,0), + (337,330062,0,0,0), + (337,340002,0,0,0), + (337,1000137,0,0,0), + (337,1100101,0,0,0), + (337,1200017,0,0,0), + (338,1001,0,0,0), + (338,2001,0,0,0), + (338,4001,0,0,0), + (338,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (338,6001,0,0,0), + (338,10002,10,0,0), + (338,10010,11,0,0), + (338,11007,10,0,0), + (338,11007,11,0,0), + (338,12010,10,0,0), + (338,12022,11,0,0), + (338,13008,10,0,0), + (338,15001,0,0,0), + (338,20213,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (338,22001,0,0,0), + (338,31153,0,0,0), + (338,36001,0,0,0), + (338,37001,0,0,0), + (338,40058,0,0,0), + (338,100128,10,0,0), + (338,100128,11,0,0), + (338,110026,10,0,0), + (338,110026,11,0,0), + (338,130044,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (338,140008,0,0,0), + (338,160078,0,0,0), + (338,180037,0,0,0), + (338,190069,0,0,0), + (338,200053,0,0,0), + (338,230004,0,0,0), + (338,240005,0,0,0), + (338,250006,0,0,0), + (338,280042,0,0,0), + (338,290007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (338,300001,0,0,0), + (338,320065,0,0,0), + (338,330019,0,0,0), + (338,340003,0,0,0), + (338,1000011,0,0,0), + (338,1100045,0,0,0), + (338,1200041,0,0,0), + (339,1001,0,0,0), + (339,2001,0,0,0), + (339,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (339,5001,0,0,0), + (339,6001,0,0,0), + (339,10002,10,0,0), + (339,10010,11,0,0), + (339,11006,10,0,0), + (339,11006,11,0,0), + (339,12010,10,0,0), + (339,12022,11,0,0), + (339,15001,0,0,0), + (339,20214,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (339,22001,0,0,0), + (339,31153,0,0,0), + (339,36001,0,0,0), + (339,37001,0,0,0), + (339,40054,0,0,0), + (339,100128,10,0,0), + (339,100128,11,0,0), + (339,110026,10,0,0), + (339,110026,11,0,0), + (339,130044,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (339,140011,0,0,0), + (339,160055,0,0,0), + (339,180015,0,0,0), + (339,190017,0,0,0), + (339,200029,0,0,0), + (339,230001,0,0,0), + (339,240001,0,0,0), + (339,250003,0,0,0), + (339,280034,0,0,0), + (339,290007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (339,300001,0,0,0), + (339,320089,0,0,0), + (339,330034,0,0,0), + (339,340002,0,0,0), + (339,1000038,0,0,0), + (339,1100044,0,0,0), + (339,1200015,0,0,0), + (340,1001,0,0,0), + (340,2001,0,0,0), + (340,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (340,5001,0,0,0), + (340,6001,0,0,0), + (340,10002,10,0,0), + (340,10010,11,0,0), + (340,11007,10,0,0), + (340,11007,11,0,0), + (340,12010,10,0,0), + (340,12022,11,0,0), + (340,13006,11,0,0), + (340,13008,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (340,15001,0,0,0), + (340,20215,0,0,0), + (340,22001,0,0,0), + (340,31153,0,0,0), + (340,36001,0,0,0), + (340,37001,0,0,0), + (340,40054,0,0,0), + (340,100128,10,0,0), + (340,100128,11,0,0), + (340,110041,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (340,110041,11,0,0), + (340,130044,0,0,0), + (340,140009,0,0,0), + (340,160057,0,0,0), + (340,180016,0,0,0), + (340,190018,0,0,0), + (340,200006,0,0,0), + (340,230001,0,0,0), + (340,240005,0,0,0), + (340,250003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (340,280003,0,0,0), + (340,290007,0,0,0), + (340,300001,0,0,0), + (340,320052,0,0,0), + (340,330021,0,0,0), + (340,340002,0,0,0), + (340,1000012,0,0,0), + (340,1100048,0,0,0), + (340,1200002,0,0,0), + (341,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (341,2001,0,0,0), + (341,4001,0,0,0), + (341,5001,0,0,0), + (341,6001,0,0,0), + (341,10002,10,0,0), + (341,10010,11,0,0), + (341,11006,10,0,0), + (341,11006,11,0,0), + (341,12009,10,0,0), + (341,12030,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (341,15001,0,0,0), + (341,20216,0,0,0), + (341,22008,0,0,0), + (341,31153,0,0,0), + (341,36001,0,0,0), + (341,37001,0,0,0), + (341,40036,0,0,0), + (341,100128,10,0,0), + (341,100128,11,0,0), + (341,110025,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (341,110025,11,0,0), + (341,130044,0,0,0), + (341,140007,0,0,0), + (341,160057,0,0,0), + (341,180016,0,0,0), + (341,190018,0,0,0), + (341,200006,0,0,0), + (341,230001,0,0,0), + (341,240026,0,0,0), + (341,250027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (341,280003,0,0,0), + (341,290015,0,0,0), + (341,300001,0,0,0), + (341,320003,0,0,0), + (341,330034,0,0,0), + (341,340002,0,0,0), + (341,1000117,0,0,0), + (341,1100002,0,0,0), + (341,1200002,0,0,0), + (342,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (342,2001,0,0,0), + (342,4001,0,0,0), + (342,5001,0,0,0), + (342,6001,0,0,0), + (342,10009,11,0,0), + (342,10010,10,0,0), + (342,11006,10,0,0), + (342,11006,11,0,0), + (342,12008,11,0,0), + (342,12009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (342,15001,0,0,0), + (342,20217,0,0,0), + (342,22009,0,0,0), + (342,31153,0,0,0), + (342,36001,0,0,0), + (342,37001,0,0,0), + (342,40022,0,0,0), + (342,100002,10,0,0), + (342,100002,11,0,0), + (342,110025,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (342,110025,11,0,0), + (342,130033,0,0,0), + (342,140010,0,0,0), + (342,160009,0,0,0), + (342,180014,0,0,0), + (342,190016,0,0,0), + (342,200002,0,0,0), + (342,230001,0,0,0), + (342,240001,0,0,0), + (342,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (342,280024,0,0,0), + (342,290004,0,0,0), + (342,300001,0,0,0), + (342,320020,0,0,0), + (342,330053,0,0,0), + (342,340002,0,0,0), + (342,1000121,0,0,0), + (342,1100001,0,0,0), + (342,1200034,0,0,0), + (343,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (343,2001,0,0,0), + (343,4001,0,0,0), + (343,5001,0,0,0), + (343,6001,0,0,0), + (343,10009,11,0,0), + (343,10010,10,0,0), + (343,11006,10,0,0), + (343,11006,11,0,0), + (343,12009,10,0,0), + (343,12030,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (343,15001,0,0,0), + (343,20218,0,0,0), + (343,22009,0,0,0), + (343,31153,0,0,0), + (343,36001,0,0,0), + (343,37001,0,0,0), + (343,40041,0,0,0), + (343,100002,10,0,0), + (343,100002,11,0,0), + (343,110025,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (343,110025,11,0,0), + (343,130033,0,0,0), + (343,140011,0,0,0), + (343,160014,0,0,0), + (343,180002,0,0,0), + (343,190015,0,0,0), + (343,200003,0,0,0), + (343,230001,0,0,0), + (343,240001,0,0,0), + (343,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (343,280002,0,0,0), + (343,290004,0,0,0), + (343,300001,0,0,0), + (343,320002,0,0,0), + (343,330018,0,0,0), + (343,340002,0,0,0), + (343,1000075,0,0,0), + (343,1100014,0,0,0), + (343,1200001,0,0,0), + (344,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (344,2001,0,0,0), + (344,4001,0,0,0), + (344,5001,0,0,0), + (344,6001,0,0,0), + (344,10002,10,0,0), + (344,10010,11,0,0), + (344,11006,10,0,0), + (344,11006,11,0,0), + (344,12009,10,0,0), + (344,12030,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (344,15001,0,0,0), + (344,20219,0,0,0), + (344,22009,0,0,0), + (344,31153,0,0,0), + (344,36001,0,0,0), + (344,37001,0,0,0), + (344,40025,0,0,0), + (344,100002,10,0,0), + (344,100002,11,0,0), + (344,110026,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (344,110026,11,0,0), + (344,130033,0,0,0), + (344,140009,0,0,0), + (344,160012,0,0,0), + (344,180014,0,0,0), + (344,190016,0,0,0), + (344,200002,0,0,0), + (344,230001,0,0,0), + (344,240001,0,0,0), + (344,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (344,280016,0,0,0), + (344,290004,0,0,0), + (344,300001,0,0,0), + (344,320020,0,0,0), + (344,330018,0,0,0), + (344,340002,0,0,0), + (344,1000122,0,0,0), + (344,1100001,0,0,0), + (344,1200034,0,0,0), + (345,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (345,2001,0,0,0), + (345,4001,0,0,0), + (345,5001,0,0,0), + (345,6001,0,0,0), + (345,10002,10,0,0), + (345,10010,11,0,0), + (345,11007,10,0,0), + (345,11007,11,0,0), + (345,12010,10,0,0), + (345,12022,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (345,15001,0,0,0), + (345,20220,0,0,0), + (345,22009,0,0,0), + (345,29001,0,0,0), + (345,31153,0,0,0), + (345,36001,0,0,0), + (345,37001,0,0,0), + (345,40025,0,0,0), + (345,100002,10,0,0), + (345,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (345,110027,10,0,0), + (345,110027,11,0,0), + (345,130033,0,0,0), + (345,140011,0,0,0), + (345,160007,0,0,0), + (345,180014,0,0,0), + (345,190016,0,0,0), + (345,200047,0,0,0), + (345,230002,0,0,0), + (345,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (345,250002,0,0,0), + (345,280024,0,0,0), + (345,290004,0,0,0), + (345,300003,0,0,0), + (345,320029,0,0,0), + (345,330025,0,0,0), + (345,340003,0,0,0), + (345,1000125,0,0,0), + (345,1100022,0,0,0), + (345,1200023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (346,1001,0,0,0), + (346,2001,0,0,0), + (346,4001,0,0,0), + (346,5001,0,0,0), + (346,6001,0,0,0), + (346,10002,10,0,0), + (346,10010,11,0,0), + (346,11006,10,0,0), + (346,11006,11,0,0), + (346,12009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (346,12010,10,0,0), + (346,15001,0,0,0), + (346,20221,0,0,0), + (346,22009,0,0,0), + (346,30001,0,0,0), + (346,31153,0,0,0), + (346,36001,0,0,0), + (346,37001,0,0,0), + (346,40061,0,0,0), + (346,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (346,100002,11,0,0), + (346,110104,10,0,0), + (346,110109,11,0,0), + (346,130033,0,0,0), + (346,140008,0,0,0), + (346,160014,0,0,0), + (346,180002,0,0,0), + (346,190015,0,0,0), + (346,200003,0,0,0), + (346,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (346,240001,0,0,0), + (346,250002,0,0,0), + (346,280002,0,0,0), + (346,290004,0,0,0), + (346,300001,0,0,0), + (346,320002,0,0,0), + (346,330018,0,0,0), + (346,340002,0,0,0), + (346,1000075,0,0,0), + (346,1100014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (346,1200001,0,0,0), + (347,1001,0,0,0), + (347,2001,0,0,0), + (347,4001,0,0,0), + (347,5001,0,0,0), + (347,6001,0,0,0), + (347,10002,10,0,0), + (347,10010,11,0,0), + (347,11006,10,0,0), + (347,11006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (347,12009,11,0,0), + (347,12010,10,0,0), + (347,15001,0,0,0), + (347,20222,0,0,0), + (347,22004,0,0,0), + (347,31153,0,0,0), + (347,36001,0,0,0), + (347,37001,0,0,0), + (347,40028,0,0,0), + (347,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (347,100002,11,0,0), + (347,110041,10,0,0), + (347,110041,11,0,0), + (347,130033,0,0,0), + (347,140011,0,0,0), + (347,160014,0,0,0), + (347,180002,0,0,0), + (347,190015,0,0,0), + (347,200003,0,0,0), + (347,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (347,240001,0,0,0), + (347,250002,0,0,0), + (347,280002,0,0,0), + (347,290004,0,0,0), + (347,300001,0,0,0), + (347,320002,0,0,0), + (347,330018,0,0,0), + (347,340002,0,0,0), + (347,1000075,0,0,0), + (347,1100014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (347,1200001,0,0,0), + (348,1001,0,0,0), + (348,2001,0,0,0), + (348,4001,0,0,0), + (348,5001,0,0,0), + (348,6001,0,0,0), + (348,10001,10,0,0), + (348,10010,11,0,0), + (348,11006,10,0,0), + (348,11006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (348,12008,10,0,0), + (348,12029,11,0,0), + (348,15001,0,0,0), + (348,20223,0,0,0), + (348,22009,0,0,0), + (348,31153,0,0,0), + (348,36001,0,0,0), + (348,37001,0,0,0), + (348,40029,0,0,0), + (348,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (348,100002,11,0,0), + (348,110025,10,0,0), + (348,110025,11,0,0), + (348,130033,0,0,0), + (348,140007,0,0,0), + (348,160012,0,0,0), + (348,180003,0,0,0), + (348,190016,0,0,0), + (348,200002,0,0,0), + (348,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (348,240005,0,0,0), + (348,250002,0,0,0), + (348,280016,0,0,0), + (348,290004,0,0,0), + (348,300001,0,0,0), + (348,320020,0,0,0), + (348,330056,0,0,0), + (348,340002,0,0,0), + (348,1000074,0,0,0), + (348,1100001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (348,1200034,0,0,0), + (349,1001,0,0,0), + (349,2001,0,0,0), + (349,4001,0,0,0), + (349,5001,0,0,0), + (349,6001,0,0,0), + (349,10002,10,0,0), + (349,10010,11,0,0), + (349,11006,10,0,0), + (349,11006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (349,12009,11,0,0), + (349,12010,10,0,0), + (349,15001,0,0,0), + (349,20224,0,0,0), + (349,22009,0,0,0), + (349,31153,0,0,0), + (349,36001,0,0,0), + (349,37001,0,0,0), + (349,40046,0,0,0), + (349,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (349,100002,11,0,0), + (349,110041,10,0,0), + (349,110041,11,0,0), + (349,130033,0,0,0), + (349,140017,0,0,0), + (349,160037,0,0,0), + (349,180020,0,0,0), + (349,190022,0,0,0), + (349,200052,0,0,0), + (349,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (349,240001,0,0,0), + (349,250002,0,0,0), + (349,280027,0,0,0), + (349,290004,0,0,0), + (349,300001,0,0,0), + (349,320037,0,0,0), + (349,330043,0,0,0), + (349,340002,0,0,0), + (349,1000017,0,0,0), + (349,1100032,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (349,1200019,0,0,0), + (350,1001,0,0,0), + (350,2001,0,0,0), + (350,4001,0,0,0), + (350,5001,0,0,0), + (350,6001,0,0,0), + (350,10002,10,0,0), + (350,10010,11,0,0), + (350,11006,10,0,0), + (350,11006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (350,12009,11,0,0), + (350,12010,10,0,0), + (350,15001,0,0,0), + (350,20225,0,0,0), + (350,22009,0,0,0), + (350,30001,0,0,0), + (350,31153,0,0,0), + (350,36001,0,0,0), + (350,37001,0,0,0), + (350,40038,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (350,100119,10,0,0), + (350,100119,11,0,0), + (350,110041,10,0,0), + (350,110041,11,0,0), + (350,130045,0,0,0), + (350,140011,0,0,0), + (350,160038,0,0,0), + (350,180026,0,0,0), + (350,190022,0,0,0), + (350,200020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (350,230001,0,0,0), + (350,240001,0,0,0), + (350,250002,0,0,0), + (350,280027,0,0,0), + (350,290004,0,0,0), + (350,300003,0,0,0), + (350,320024,0,0,0), + (350,330043,0,0,0), + (350,340002,0,0,0), + (350,1000017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (350,1100098,0,0,0), + (350,1200019,0,0,0), + (351,1001,0,0,0), + (351,2001,0,0,0), + (351,4001,0,0,0), + (351,5001,0,0,0), + (351,6001,0,0,0), + (351,10002,10,0,0), + (351,10010,11,0,0), + (351,11006,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (351,11006,11,0,0), + (351,12009,11,0,0), + (351,12010,10,0,0), + (351,15001,0,0,0), + (351,20226,0,0,0), + (351,22009,0,0,0), + (351,30001,0,0,0), + (351,31153,0,0,0), + (351,36001,0,0,0), + (351,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (351,40027,0,0,0), + (351,100002,10,0,0), + (351,100002,11,0,0), + (351,110041,10,0,0), + (351,110041,11,0,0), + (351,130045,0,0,0), + (351,140009,0,0,0), + (351,160040,0,0,0), + (351,180023,0,0,0), + (351,190006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (351,200023,0,0,0), + (351,230001,0,0,0), + (351,240001,0,0,0), + (351,250002,0,0,0), + (351,280028,0,0,0), + (351,290004,0,0,0), + (351,300002,0,0,0), + (351,320027,0,0,0), + (351,330043,0,0,0), + (351,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (351,1000051,0,0,0), + (351,1100034,0,0,0), + (351,1200035,0,0,0), + (352,1001,0,0,0), + (352,2001,0,0,0), + (352,4001,0,0,0), + (352,5001,0,0,0), + (352,6001,0,0,0), + (352,10002,10,0,0), + (352,10010,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (352,11006,10,0,0), + (352,11006,11,0,0), + (352,12009,10,0,0), + (352,12030,11,0,0), + (352,15001,0,0,0), + (352,20227,0,0,0), + (352,22006,0,0,0), + (352,31153,0,0,0), + (352,36001,0,0,0), + (352,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (352,40047,0,0,0), + (352,100002,10,0,0), + (352,100002,11,0,0), + (352,110027,10,0,0), + (352,110027,11,0,0), + (352,130033,0,0,0), + (352,140009,0,0,0), + (352,160040,0,0,0), + (352,180023,0,0,0), + (352,190006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (352,200023,0,0,0), + (352,230001,0,0,0), + (352,240005,0,0,0), + (352,250002,0,0,0), + (352,280023,0,0,0), + (352,290004,0,0,0), + (352,300001,0,0,0), + (352,320027,0,0,0), + (352,330043,0,0,0), + (352,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (352,1000016,0,0,0), + (352,1100020,0,0,0), + (352,1200037,0,0,0), + (353,1001,0,0,0), + (353,2001,0,0,0), + (353,4001,0,0,0), + (353,5001,0,0,0), + (353,6001,0,0,0), + (353,10002,10,0,0), + (353,10010,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (353,11006,10,0,0), + (353,11006,11,0,0), + (353,12009,10,0,0), + (353,12030,11,0,0), + (353,15001,0,0,0), + (353,20228,0,0,0), + (353,22006,0,0,0), + (353,31153,0,0,0), + (353,36001,0,0,0), + (353,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (353,40031,0,0,0), + (353,100002,10,0,0), + (353,100002,11,0,0), + (353,110027,10,0,0), + (353,110027,11,0,0), + (353,130033,0,0,0), + (353,140007,0,0,0), + (353,160040,0,0,0), + (353,180023,0,0,0), + (353,190006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (353,200023,0,0,0), + (353,230001,0,0,0), + (353,240005,0,0,0), + (353,250002,0,0,0), + (353,280023,0,0,0), + (353,290003,0,0,0), + (353,300002,0,0,0), + (353,320027,0,0,0), + (353,330059,0,0,0), + (353,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (353,1000084,0,0,0), + (353,1100020,0,0,0), + (353,1200035,0,0,0), + (354,1001,0,0,0), + (354,2001,0,0,0), + (354,4001,0,0,0), + (354,5001,0,0,0), + (354,6001,0,0,0), + (354,10012,10,0,0), + (354,10012,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (354,11004,10,0,0), + (354,11004,11,0,0), + (354,12009,10,0,0), + (354,12027,11,0,0), + (354,15001,0,0,0), + (354,20124,0,0,0), + (354,22005,0,0,0), + (354,31153,0,0,0), + (354,36001,0,0,0), + (354,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (354,40014,0,0,0), + (354,100002,10,0,0), + (354,100002,11,0,0), + (354,110047,10,0,0), + (354,110047,11,0,0), + (354,130033,0,0,0), + (354,140008,0,0,0), + (354,160010,0,0,0), + (354,180055,0,0,0), + (354,190071,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (354,200056,0,0,0), + (354,230001,0,0,0), + (354,240001,0,0,0), + (354,250021,0,0,0), + (354,280044,0,0,0), + (354,290003,0,0,0), + (354,300001,0,0,0), + (354,320092,0,0,0), + (354,330052,0,0,0), + (354,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (354,1000154,0,0,0), + (354,1100112,0,0,0), + (354,1200042,0,0,0), + (355,1001,0,0,0), + (355,2001,0,0,0), + (355,4001,0,0,0), + (355,5001,0,0,0), + (355,6001,0,0,0), + (355,10001,10,0,0), + (355,10004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (355,11004,10,0,0), + (355,11004,11,0,0), + (355,12003,11,0,0), + (355,12005,10,0,0), + (355,15001,0,0,0), + (355,20112,0,0,0), + (355,22014,0,0,0), + (355,31153,0,0,0), + (355,36001,0,0,0), + (355,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (355,40004,0,0,0), + (355,100002,10,0,0), + (355,100002,11,0,0), + (355,110038,10,0,0), + (355,110038,11,0,0), + (355,130047,0,0,0), + (355,140024,0,0,0), + (355,160047,0,0,0), + (355,180019,0,0,0), + (355,190021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (355,200019,0,0,0), + (355,230002,0,0,0), + (355,240001,0,0,0), + (355,250020,0,0,0), + (355,280019,0,0,0), + (355,290001,0,0,0), + (355,300001,0,0,0), + (355,320023,0,0,0), + (355,330006,0,0,0), + (355,340001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (355,1000003,0,0,0), + (355,1100016,0,0,0), + (355,1200018,0,0,0), + (356,1001,0,0,0), + (356,2001,0,0,0), + (356,4001,0,0,0), + (356,5001,0,0,0), + (356,6001,0,0,0), + (356,10009,11,0,0), + (356,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (356,11004,10,0,0), + (356,11004,11,0,0), + (356,12006,10,0,0), + (356,12028,11,0,0), + (356,15001,0,0,0), + (356,20103,0,0,0), + (356,22014,0,0,0), + (356,31153,0,0,0), + (356,36001,0,0,0), + (356,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (356,40005,0,0,0), + (356,100002,10,0,0), + (356,100002,11,0,0), + (356,110012,10,0,0), + (356,110012,11,0,0), + (356,130012,0,0,0), + (356,140014,0,0,0), + (356,160022,0,0,0), + (356,180019,0,0,0), + (356,190021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (356,200019,0,0,0), + (356,230001,0,0,0), + (356,240003,0,0,0), + (356,250020,0,0,0), + (356,280019,0,0,0), + (356,290001,0,0,0), + (356,300001,0,0,0), + (356,320023,0,0,0), + (356,330006,0,0,0), + (356,340001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (356,1000004,0,0,0), + (356,1100016,0,0,0), + (356,1200018,0,0,0), + (357,1001,0,0,0), + (357,2001,0,0,0), + (357,4001,0,0,0), + (357,5001,0,0,0), + (357,6001,0,0,0), + (357,10001,10,0,0), + (357,10004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (357,11004,10,0,0), + (357,11004,11,0,0), + (357,12009,10,0,0), + (357,12029,11,0,0), + (357,15001,0,0,0), + (357,20104,0,0,0), + (357,22014,0,0,0), + (357,31153,0,0,0), + (357,36001,0,0,0), + (357,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (357,40006,0,0,0), + (357,100002,10,0,0), + (357,100002,11,0,0), + (357,110032,10,0,0), + (357,110032,11,0,0), + (357,130012,0,0,0), + (357,140016,0,0,0), + (357,160026,0,0,0), + (357,180018,0,0,0), + (357,190077,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (357,200066,0,0,0), + (357,230001,0,0,0), + (357,240001,0,0,0), + (357,250030,0,0,0), + (357,280030,0,0,0), + (357,290002,0,0,0), + (357,300001,0,0,0), + (357,320040,0,0,0), + (357,330035,0,0,0), + (357,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (357,1000094,0,0,0), + (357,1100119,0,0,0), + (357,1200048,0,0,0), + (358,1001,0,0,0), + (358,2001,0,0,0), + (358,4001,0,0,0), + (358,5001,0,0,0), + (358,6001,0,0,0), + (358,10011,10,0,0), + (358,10011,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (358,11004,10,0,0), + (358,11004,11,0,0), + (358,12009,10,0,0), + (358,12022,11,0,0), + (358,15001,0,0,0), + (358,20105,0,0,0), + (358,22014,0,0,0), + (358,31153,0,0,0), + (358,36001,0,0,0), + (358,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (358,40007,0,0,0), + (358,100002,10,0,0), + (358,100002,11,0,0), + (358,110032,10,0,0), + (358,110032,11,0,0), + (358,130012,0,0,0), + (358,140011,0,0,0), + (358,160026,0,0,0), + (358,180018,0,0,0), + (358,190077,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (358,200066,0,0,0), + (358,230001,0,0,0), + (358,240001,0,0,0), + (358,250030,0,0,0), + (358,280030,0,0,0), + (358,290002,0,0,0), + (358,300001,0,0,0), + (358,320040,0,0,0), + (358,330035,0,0,0), + (358,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (358,1000001,0,0,0), + (358,1100119,0,0,0), + (358,1200048,0,0,0), + (359,1001,0,0,0), + (359,2001,0,0,0), + (359,4001,0,0,0), + (359,5001,0,0,0), + (359,6001,0,0,0), + (359,10011,10,0,0), + (359,10011,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (359,11004,10,0,0), + (359,11004,11,0,0), + (359,12009,10,0,0), + (359,12029,11,0,0), + (359,15001,0,0,0), + (359,20106,0,0,0), + (359,22014,0,0,0), + (359,31153,0,0,0), + (359,36001,0,0,0), + (359,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (359,40008,0,0,0), + (359,100002,10,0,0), + (359,100002,11,0,0), + (359,110032,10,0,0), + (359,110032,11,0,0), + (359,130012,0,0,0), + (359,140003,0,0,0), + (359,160026,0,0,0), + (359,180018,0,0,0), + (359,190077,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (359,200042,0,0,0), + (359,230001,0,0,0), + (359,240001,0,0,0), + (359,250030,0,0,0), + (359,280030,0,0,0), + (359,290002,0,0,0), + (359,300001,0,0,0), + (359,320040,0,0,0), + (359,330035,0,0,0), + (359,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (359,1000001,0,0,0), + (359,1100119,0,0,0), + (359,1200048,0,0,0), + (360,1001,0,0,0), + (360,2001,0,0,0), + (360,4001,0,0,0), + (360,5001,0,0,0), + (360,6001,0,0,0), + (360,10001,10,0,0), + (360,10004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (360,11004,10,0,0), + (360,11004,11,0,0), + (360,12007,10,0,0), + (360,12029,11,0,0), + (360,15001,0,0,0), + (360,20113,0,0,0), + (360,22009,0,0,0), + (360,31153,0,0,0), + (360,36001,0,0,0), + (360,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (360,40016,0,0,0), + (360,100002,10,0,0), + (360,100002,11,0,0), + (360,110032,10,0,0), + (360,110032,11,0,0), + (360,130022,0,0,0), + (360,140009,0,0,0), + (360,160006,0,0,0), + (360,180014,0,0,0), + (360,190016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (360,200002,0,0,0), + (360,230001,0,0,0), + (360,240001,0,0,0), + (360,250026,0,0,0), + (360,280024,0,0,0), + (360,290003,0,0,0), + (360,300001,0,0,0), + (360,320020,0,0,0), + (360,330054,0,0,0), + (360,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (360,1000123,0,0,0), + (360,1100022,0,0,0), + (360,1200034,0,0,0), + (361,1001,0,0,0), + (361,2001,0,0,0), + (361,4001,0,0,0), + (361,5001,0,0,0), + (361,6001,0,0,0), + (361,10011,10,0,0), + (361,10011,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (361,11004,10,0,0), + (361,11004,11,0,0), + (361,12007,10,0,0), + (361,12027,11,0,0), + (361,15001,0,0,0), + (361,20115,0,0,0), + (361,22009,0,0,0), + (361,31153,0,0,0), + (361,36001,0,0,0), + (361,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (361,40017,0,0,0), + (361,100002,10,0,0), + (361,100002,11,0,0), + (361,110032,10,0,0), + (361,110032,11,0,0), + (361,130022,0,0,0), + (361,140009,0,0,0), + (361,160006,0,0,0), + (361,180014,0,0,0), + (361,190016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (361,200002,0,0,0), + (361,230001,0,0,0), + (361,240001,0,0,0), + (361,250026,0,0,0), + (361,280024,0,0,0), + (361,290004,0,0,0), + (361,300001,0,0,0), + (361,320030,0,0,0), + (361,330053,0,0,0), + (361,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (361,1000015,0,0,0), + (361,1100001,0,0,0), + (361,1200034,0,0,0), + (362,1001,0,0,0), + (362,2001,0,0,0), + (362,4001,0,0,0), + (362,5001,0,0,0), + (362,6001,0,0,0), + (362,10006,11,0,0), + (362,10015,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (362,11006,10,0,0), + (362,11006,11,0,0), + (362,12020,10,0,0), + (362,12028,11,0,0), + (362,13007,10,0,0), + (362,15001,0,0,0), + (362,20114,0,0,0), + (362,22009,0,0,0), + (362,31153,0,0,0), + (362,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (362,37001,0,0,0), + (362,40018,0,0,0), + (362,100002,10,0,0), + (362,100002,11,0,0), + (362,110012,10,0,0), + (362,110012,11,0,0), + (362,130016,0,0,0), + (362,140009,0,0,0), + (362,160006,0,0,0), + (362,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (362,190016,0,0,0), + (362,200002,0,0,0), + (362,230001,0,0,0), + (362,240001,0,0,0), + (362,250026,0,0,0), + (362,280024,0,0,0), + (362,290001,0,0,0), + (362,300001,0,0,0), + (362,320030,0,0,0), + (362,330052,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (362,340002,0,0,0), + (362,1000015,0,0,0), + (362,1100001,0,0,0), + (362,1200034,0,0,0), + (363,1001,0,0,0), + (363,2001,0,0,0), + (363,4001,0,0,0), + (363,5001,0,0,0), + (363,6001,0,0,0), + (363,10011,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (363,10011,11,0,0), + (363,11004,10,0,0), + (363,11004,11,0,0), + (363,12006,10,0,0), + (363,12009,11,0,0), + (363,15001,0,0,0), + (363,20118,0,0,0), + (363,22009,0,0,0), + (363,31153,0,0,0), + (363,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (363,37001,0,0,0), + (363,40019,0,0,0), + (363,100002,10,0,0), + (363,100002,11,0,0), + (363,110032,10,0,0), + (363,110032,11,0,0), + (363,130022,0,0,0), + (363,140016,0,0,0), + (363,160011,0,0,0), + (363,180062,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (363,190067,0,0,0), + (363,200048,0,0,0), + (363,230001,0,0,0), + (363,240001,0,0,0), + (363,250026,0,0,0), + (363,280051,0,0,0), + (363,290004,0,0,0), + (363,300001,0,0,0), + (363,320100,0,0,0), + (363,330056,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (363,340002,0,0,0), + (363,1000057,0,0,0), + (363,1100120,0,0,0), + (363,1200049,0,0,0), + (364,1001,0,0,0), + (364,2001,0,0,0), + (364,4001,0,0,0), + (364,5001,0,0,0), + (364,6001,0,0,0), + (364,10021,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (364,10026,11,0,0), + (364,11006,10,0,0), + (364,11006,11,0,0), + (364,12007,11,0,0), + (364,12021,10,0,0), + (364,15001,0,0,0), + (364,20117,0,0,0), + (364,22009,0,0,0), + (364,31153,0,0,0), + (364,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (364,37001,0,0,0), + (364,40021,0,0,0), + (364,100002,10,0,0), + (364,100002,11,0,0), + (364,110044,10,0,0), + (364,110044,11,0,0), + (364,130016,0,0,0), + (364,140005,0,0,0), + (364,160009,0,0,0), + (364,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (364,190016,0,0,0), + (364,200002,0,0,0), + (364,230001,0,0,0), + (364,240006,0,0,0), + (364,250002,0,0,0), + (364,280024,0,0,0), + (364,290004,0,0,0), + (364,300001,0,0,0), + (364,320030,0,0,0), + (364,330057,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (364,340003,0,0,0), + (364,1000073,0,0,0), + (364,1100025,0,0,0), + (364,1200023,0,0,0), + (365,1001,0,0,0), + (365,2001,0,0,0), + (365,4001,0,0,0), + (365,5001,0,0,0), + (365,6001,0,0,0), + (365,10011,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (365,10011,11,0,0), + (365,11004,10,0,0), + (365,11004,11,0,0), + (365,12006,11,0,0), + (365,12009,10,0,0), + (365,15001,0,0,0), + (365,20116,0,0,0), + (365,22009,0,0,0), + (365,31153,0,0,0), + (365,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (365,37001,0,0,0), + (365,40022,0,0,0), + (365,100002,10,0,0), + (365,100002,11,0,0), + (365,110035,10,0,0), + (365,110035,11,0,0), + (365,130022,0,0,0), + (365,140009,0,0,0), + (365,160006,0,0,0), + (365,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (365,190016,0,0,0), + (365,200002,0,0,0), + (365,230001,0,0,0), + (365,240032,0,0,0), + (365,250026,0,0,0), + (365,280016,0,0,0), + (365,290004,0,0,0), + (365,300001,0,0,0), + (365,320020,0,0,0), + (365,330053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (365,340002,0,0,0), + (365,1000070,0,0,0), + (365,1100001,0,0,0), + (365,1200034,0,0,0), + (366,1001,0,0,0), + (366,2001,0,0,0), + (366,4001,0,0,0), + (366,5001,0,0,0), + (366,6001,0,0,0), + (366,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (366,10010,11,0,0), + (366,11004,10,0,0), + (366,11004,11,0,0), + (366,12009,10,0,0), + (366,12029,11,0,0), + (366,15001,0,0,0), + (366,20109,0,0,0), + (366,22014,0,0,0), + (366,31153,0,0,0), + (366,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (366,37001,0,0,0), + (366,40011,0,0,0), + (366,100002,10,0,0), + (366,100002,11,0,0), + (366,110032,10,0,0), + (366,110032,11,0,0), + (366,130042,0,0,0), + (366,140003,0,0,0), + (366,160025,0,0,0), + (366,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (366,190020,0,0,0), + (366,200004,0,0,0), + (366,230001,0,0,0), + (366,240001,0,0,0), + (366,250001,0,0,0), + (366,280018,0,0,0), + (366,290003,0,0,0), + (366,300001,0,0,0), + (366,320022,0,0,0), + (366,330003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (366,340002,0,0,0), + (366,1000138,0,0,0), + (366,1100005,0,0,0), + (366,1200017,0,0,0), + (367,1001,0,0,0), + (367,2001,0,0,0), + (367,4001,0,0,0), + (367,5001,0,0,0), + (367,6001,0,0,0), + (367,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (367,10010,11,0,0), + (367,11004,10,0,0), + (367,11004,11,0,0), + (367,12009,10,0,0), + (367,12029,11,0,0), + (367,15001,0,0,0), + (367,20108,0,0,0), + (367,22014,0,0,0), + (367,31153,0,0,0), + (367,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (367,37001,0,0,0), + (367,40013,0,0,0), + (367,100002,10,0,0), + (367,100002,11,0,0), + (367,110044,10,0,0), + (367,110044,11,0,0), + (367,130042,0,0,0), + (367,140019,0,0,0), + (367,160025,0,0,0), + (367,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (367,190020,0,0,0), + (367,200004,0,0,0), + (367,230001,0,0,0), + (367,240001,0,0,0), + (367,250001,0,0,0), + (367,280018,0,0,0), + (367,290001,0,0,0), + (367,300001,0,0,0), + (367,320022,0,0,0), + (367,330003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (367,340002,0,0,0), + (367,1000138,0,0,0), + (367,1100005,0,0,0), + (367,1200017,0,0,0), + (368,1001,0,0,0), + (368,2001,0,0,0), + (368,4001,0,0,0), + (368,5001,0,0,0), + (368,6001,0,0,0), + (368,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (368,10010,11,0,0), + (368,11004,10,0,0), + (368,11004,11,0,0), + (368,12006,10,0,0), + (368,12022,11,0,0), + (368,15001,0,0,0), + (368,20128,0,0,0), + (368,22009,0,0,0), + (368,31153,0,0,0), + (368,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (368,37001,0,0,0), + (368,40023,0,0,0), + (368,100002,10,0,0), + (368,100002,11,0,0), + (368,110033,10,0,0), + (368,110033,11,0,0), + (368,130016,0,0,0), + (368,140009,0,0,0), + (368,160039,0,0,0), + (368,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (368,190006,0,0,0), + (368,200023,0,0,0), + (368,230001,0,0,0), + (368,240005,0,0,0), + (368,250002,0,0,0), + (368,280023,0,0,0), + (368,290004,0,0,0), + (368,300001,0,0,0), + (368,320027,0,0,0), + (368,330043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (368,340002,0,0,0), + (368,1000018,0,0,0), + (368,1100020,0,0,0), + (368,1200035,0,0,0), + (369,1001,0,0,0), + (369,2001,0,0,0), + (369,4001,0,0,0), + (369,5001,0,0,0), + (369,6001,0,0,0), + (369,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (369,10010,11,0,0), + (369,11004,10,0,0), + (369,11004,11,0,0), + (369,12006,10,0,0), + (369,12022,11,0,0), + (369,15001,0,0,0), + (369,20119,0,0,0), + (369,22009,0,0,0), + (369,31153,0,0,0), + (369,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (369,37001,0,0,0), + (369,40024,0,0,0), + (369,100002,10,0,0), + (369,100002,11,0,0), + (369,110032,10,0,0), + (369,110032,11,0,0), + (369,130022,0,0,0), + (369,140016,0,0,0), + (369,160006,0,0,0), + (369,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (369,190016,0,0,0), + (369,200002,0,0,0), + (369,230001,0,0,0), + (369,240023,0,0,0), + (369,250026,0,0,0), + (369,280016,0,0,0), + (369,290004,0,0,0), + (369,300001,0,0,0), + (369,320020,0,0,0), + (369,330053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (369,340002,0,0,0), + (369,1000070,0,0,0), + (369,1100001,0,0,0), + (369,1200034,0,0,0), + (370,1001,0,0,0), + (370,2001,0,0,0), + (370,4001,0,0,0), + (370,5001,0,0,0), + (370,6001,0,0,0), + (370,10002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (370,10010,11,0,0), + (370,11004,10,0,0), + (370,11004,11,0,0), + (370,12006,10,0,0), + (370,12022,11,0,0), + (370,15001,0,0,0), + (370,20120,0,0,0), + (370,22009,0,0,0), + (370,31153,0,0,0), + (370,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (370,37001,0,0,0), + (370,40025,0,0,0), + (370,100003,10,0,0), + (370,100003,11,0,0), + (370,110032,10,0,0), + (370,110032,11,0,0), + (370,130022,0,0,0), + (370,140016,0,0,0), + (370,160009,0,0,0), + (370,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (370,190016,0,0,0), + (370,200002,0,0,0), + (370,230001,0,0,0), + (370,240023,0,0,0), + (370,250026,0,0,0), + (370,280016,0,0,0), + (370,290004,0,0,0), + (370,300001,0,0,0), + (370,320020,0,0,0), + (370,330053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (370,340002,0,0,0), + (370,1000121,0,0,0), + (370,1100001,0,0,0), + (370,1200034,0,0,0), + (371,1001,0,0,0), + (371,2001,0,0,0), + (371,4001,0,0,0), + (371,5001,0,0,0), + (371,6001,0,0,0), + (371,10002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (371,10010,11,0,0), + (371,11004,10,0,0), + (371,11004,11,0,0), + (371,12006,10,0,0), + (371,12009,11,0,0), + (371,15001,0,0,0), + (371,20126,0,0,0), + (371,22009,0,0,0), + (371,31153,0,0,0), + (371,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (371,37001,0,0,0), + (371,40026,0,0,0), + (371,100002,10,0,0), + (371,100002,11,0,0), + (371,110027,10,0,0), + (371,110027,11,0,0), + (371,130022,0,0,0), + (371,140009,0,0,0), + (371,160037,0,0,0), + (371,180020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (371,190022,0,0,0), + (371,200020,0,0,0), + (371,230001,0,0,0), + (371,240001,0,0,0), + (371,250002,0,0,0), + (371,280027,0,0,0), + (371,290004,0,0,0), + (371,300001,0,0,0), + (371,320024,0,0,0), + (371,330018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (371,340002,0,0,0), + (371,1000017,0,0,0), + (371,1100098,0,0,0), + (371,1200019,0,0,0), + (372,1001,0,0,0), + (372,2001,0,0,0), + (372,4001,0,0,0), + (372,5001,0,0,0), + (372,6001,0,0,0), + (372,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (372,10010,11,0,0), + (372,11004,10,0,0), + (372,11004,11,0,0), + (372,12006,10,0,0), + (372,12009,11,0,0), + (372,15001,0,0,0), + (372,20129,0,0,0), + (372,22009,0,0,0), + (372,25006,0,0,0), + (372,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (372,36001,0,0,0), + (372,37001,0,0,0), + (372,40049,0,0,0), + (372,100002,10,0,0), + (372,100002,11,0,0), + (372,110033,10,0,0), + (372,110033,11,0,0), + (372,130016,0,0,0), + (372,140009,0,0,0), + (372,160040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (372,180023,0,0,0), + (372,190006,0,0,0), + (372,200023,0,0,0), + (372,230001,0,0,0), + (372,240006,0,0,0), + (372,250002,0,0,0), + (372,280028,0,0,0), + (372,290003,0,0,0), + (372,300001,0,0,0), + (372,320027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (372,330043,0,0,0), + (372,340002,0,0,0), + (372,1000051,0,0,0), + (372,1100034,0,0,0), + (372,1200035,0,0,0), + (373,1001,0,0,0), + (373,2001,0,0,0), + (373,4001,0,0,0), + (373,5001,0,0,0), + (373,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (373,10002,10,0,0), + (373,10010,11,0,0), + (373,11004,10,0,0), + (373,11004,11,0,0), + (373,12006,10,0,0), + (373,12022,11,0,0), + (373,13010,10,0,0), + (373,15001,0,0,0), + (373,20133,0,0,0), + (373,22008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (373,31153,0,0,0), + (373,36001,0,0,0), + (373,37001,0,0,0), + (373,40033,0,0,0), + (373,100132,10,0,0), + (373,100132,11,0,0), + (373,110045,10,0,0), + (373,110045,11,0,0), + (373,130022,0,0,0), + (373,140004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (373,160073,0,0,0), + (373,180015,0,0,0), + (373,190017,0,0,0), + (373,200029,0,0,0), + (373,230001,0,0,0), + (373,240005,0,0,0), + (373,250002,0,0,0), + (373,280036,0,0,0), + (373,290004,0,0,0), + (373,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (373,320004,0,0,0), + (373,330066,0,0,0), + (373,340002,0,0,0), + (373,1000120,0,0,0), + (373,1100044,0,0,0), + (373,1200015,0,0,0), + (374,1001,0,0,0), + (374,2001,0,0,0), + (374,4001,0,0,0), + (374,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (374,6001,0,0,0), + (374,10002,10,0,0), + (374,10009,11,0,0), + (374,11004,10,0,0), + (374,11004,11,0,0), + (374,12006,10,0,0), + (374,12022,11,0,0), + (374,15001,0,0,0), + (374,20140,0,0,0), + (374,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (374,31153,0,0,0), + (374,36001,0,0,0), + (374,37001,0,0,0), + (374,40042,0,0,0), + (374,100002,10,0,0), + (374,100002,11,0,0), + (374,110027,10,1,1), + (374,110027,11,1,1), + (374,130033,0,0,0), + (374,140011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (374,160012,0,0,0), + (374,180014,0,0,0), + (374,190016,0,0,0), + (374,200024,0,0,0), + (374,230001,0,0,0), + (374,240001,0,0,0), + (374,250002,0,0,0), + (374,280016,0,0,0), + (374,290004,0,0,0), + (374,300002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (374,320020,0,0,0), + (374,330008,0,0,0), + (374,340002,0,0,0), + (374,1000122,0,0,0), + (374,1100001,0,0,0), + (374,1200034,0,0,0), + (375,1001,0,0,0), + (375,2001,0,0,0), + (375,4001,0,0,0), + (375,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (375,6001,0,0,0), + (375,10001,11,0,0), + (375,10021,10,0,0), + (375,11010,10,0,0), + (375,11010,11,0,0), + (375,12009,10,0,0), + (375,12030,11,0,0), + (375,13007,10,0,0), + (375,13009,11,0,0), + (375,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (375,20106,0,0,0), + (375,22014,0,0,0), + (375,31153,0,0,0), + (375,36001,0,0,0), + (375,37001,0,0,0), + (375,40008,0,0,0), + (375,100002,10,0,0), + (375,100002,11,0,0), + (375,110084,10,0,0), + (375,110084,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (375,130026,0,0,0), + (375,140011,0,0,0), + (375,160026,0,0,0), + (375,180018,0,0,0), + (375,190077,0,0,0), + (375,200066,0,0,0), + (375,230001,0,0,0), + (375,240001,0,0,0), + (375,250001,0,0,0), + (375,280030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (375,290001,0,0,0), + (375,300001,0,0,0), + (375,320098,0,0,0), + (375,330035,0,0,0), + (375,340002,0,0,0), + (375,1000096,0,0,0), + (375,1100119,0,0,0), + (375,1200048,0,0,0), + (377,1001,0,0,0), + (377,2001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (377,4001,0,0,0), + (377,5001,0,0,0), + (377,6001,0,0,0), + (377,10001,11,0,0), + (377,10021,10,0,0), + (377,11010,10,0,0), + (377,11010,11,0,0), + (377,12009,10,0,0), + (377,12027,11,0,0), + (377,13007,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (377,13008,10,0,0), + (377,15001,0,0,0), + (377,20113,0,0,0), + (377,22009,0,0,0), + (377,31153,0,0,0), + (377,36001,0,0,0), + (377,37001,0,0,0), + (377,40016,0,0,0), + (377,100002,10,0,0), + (377,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (377,110084,10,0,0), + (377,110084,11,0,0), + (377,130033,0,0,0), + (377,140005,0,0,0), + (377,160006,0,0,0), + (377,180014,0,0,0), + (377,190016,0,0,0), + (377,200002,0,0,0), + (377,230001,0,0,0), + (377,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (377,250002,0,0,0), + (377,280024,0,0,0), + (377,290004,0,0,0), + (377,300001,0,0,0), + (377,320020,0,0,0), + (377,330056,0,0,0), + (377,340002,0,0,0), + (377,1000070,0,0,0), + (377,1100022,0,0,0), + (377,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (378,1001,0,0,0), + (378,2001,0,0,0), + (378,4001,0,0,0), + (378,5001,0,0,0), + (378,6001,0,0,0), + (378,10001,11,0,0), + (378,10021,10,0,0), + (378,11010,10,0,0), + (378,11010,11,0,0), + (378,12031,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (378,12033,10,0,0), + (378,13010,11,0,0), + (378,13011,10,0,0), + (378,15001,0,0,0), + (378,20127,0,0,0), + (378,22009,0,0,0), + (378,31153,0,0,0), + (378,36001,0,0,0), + (378,37001,0,0,0), + (378,40015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (378,100002,10,0,0), + (378,100002,11,0,0), + (378,110084,10,0,0), + (378,110084,11,0,0), + (378,130033,0,0,0), + (378,140006,0,0,0), + (378,160001,0,0,0), + (378,180049,0,0,0), + (378,190013,0,0,0), + (378,200057,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (378,230001,0,0,0), + (378,240006,0,0,0), + (378,250002,0,0,0), + (378,280045,0,0,0), + (378,290004,0,0,0), + (378,300001,0,0,0), + (378,320033,0,0,0), + (378,330034,0,0,0), + (378,340002,0,0,0), + (378,1000060,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (378,1100113,0,0,0), + (378,1200013,0,0,0), + (379,1001,0,0,0), + (379,2001,0,0,0), + (379,4001,0,0,0), + (379,5001,0,0,0), + (379,6001,0,0,0), + (379,10001,11,0,0), + (379,10021,10,0,0), + (379,11010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (379,11010,11,0,0), + (379,12008,10,0,0), + (379,12027,11,0,0), + (379,13007,11,0,0), + (379,13008,10,0,0), + (379,15001,0,0,0), + (379,20103,0,0,0), + (379,22014,0,0,0), + (379,31153,0,0,0), + (379,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (379,37001,0,0,0), + (379,40005,0,0,0), + (379,100002,10,0,0), + (379,100002,11,0,0), + (379,110084,10,0,0), + (379,110084,11,0,0), + (379,130034,0,0,0), + (379,140007,0,0,0), + (379,160025,0,0,0), + (379,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (379,190020,0,0,0), + (379,200004,0,0,0), + (379,230001,0,0,0), + (379,240006,0,0,0), + (379,250001,0,0,0), + (379,280018,0,0,0), + (379,290002,0,0,0), + (379,300001,0,0,0), + (379,320087,0,0,0), + (379,330035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (379,340002,0,0,0), + (379,1000137,0,0,0), + (379,1100005,0,0,0), + (379,1200017,0,0,0), + (383,1001,0,0,0), + (383,2001,0,0,0), + (383,4001,0,0,0), + (383,5001,0,0,0), + (383,6001,0,0,0), + (383,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (383,10010,11,0,0), + (383,11004,10,0,0), + (383,11004,11,0,0), + (383,12006,10,0,0), + (383,12009,11,0,0), + (383,15001,0,0,0), + (383,20129,0,0,0), + (383,22009,0,0,0), + (383,31153,0,0,0), + (383,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (383,37001,0,0,0), + (383,40049,0,0,0), + (383,100002,10,0,0), + (383,100002,11,0,0), + (383,110104,10,0,0), + (383,110109,11,0,0), + (383,130033,0,0,0), + (383,140011,0,0,0), + (383,160025,0,0,0), + (383,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (383,190020,0,0,0), + (383,200004,0,0,0), + (383,230001,0,0,0), + (383,240006,0,0,0), + (383,250001,0,0,0), + (383,280041,0,0,0), + (383,290002,0,0,0), + (383,300001,0,0,0), + (383,320022,0,0,0), + (383,330018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (383,340002,0,0,0), + (383,1000138,0,0,0), + (383,1100005,0,0,0), + (383,1200017,0,0,0), + (384,1001,0,0,0), + (384,2001,0,0,0), + (384,4001,0,0,0), + (384,5001,0,0,0), + (384,6001,0,0,0), + (384,10002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (384,10010,11,0,0), + (384,11009,10,0,0), + (384,11009,11,0,0), + (384,12007,10,0,0), + (384,12029,11,0,0), + (384,13008,10,0,0), + (384,15001,0,0,0), + (384,20108,0,0,0), + (384,22014,0,0,0), + (384,29002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (384,30005,0,0,0), + (384,31153,0,0,0), + (384,36001,0,0,0), + (384,37001,0,0,0), + (384,40010,0,0,0), + (384,100002,10,0,0), + (384,100002,11,0,0), + (384,110083,10,0,0), + (384,110084,11,0,0), + (384,130034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (384,140017,0,0,0), + (384,160027,0,0,0), + (384,180030,0,0,0), + (384,190020,0,0,0), + (384,200004,0,0,0), + (384,230001,0,0,0), + (384,240006,0,0,0), + (384,250001,0,0,0), + (384,280041,0,0,0), + (384,290002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (384,300002,0,0,0), + (384,320022,0,0,0), + (384,330020,0,0,0), + (384,340002,0,0,0), + (384,1000138,0,0,0), + (384,1100101,0,0,0), + (384,1200038,0,0,0), + (385,1001,0,0,0), + (385,2001,0,0,0), + (385,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (385,5001,0,0,0), + (385,6001,0,0,0), + (385,10011,10,0,0), + (385,10011,11,0,0), + (385,11004,10,0,0), + (385,11004,11,0,0), + (385,12009,10,0,0), + (385,12029,11,0,0), + (385,15001,0,0,0), + (385,20106,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (385,22014,0,0,0), + (385,31153,0,0,0), + (385,36001,0,0,0), + (385,37001,0,0,0), + (385,40008,0,0,0), + (385,100002,10,0,0), + (385,100002,11,0,0), + (385,110082,10,0,0), + (385,110082,11,0,0), + (385,130034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (385,140003,0,0,0), + (385,160025,0,0,0), + (385,180030,0,0,0), + (385,190020,0,0,0), + (385,200004,0,0,0), + (385,230001,0,0,0), + (385,240001,0,0,0), + (385,250001,0,0,0), + (385,280041,0,0,0), + (385,290002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (385,300001,0,0,0), + (385,320022,0,0,0), + (385,330053,0,0,0), + (385,340002,0,0,0), + (385,1000138,0,0,0), + (385,1100005,0,0,0), + (385,1200017,0,0,0), + (386,1001,0,0,0), + (386,2001,0,0,0), + (386,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (386,5001,0,0,0), + (386,6001,0,0,0), + (386,10009,11,0,0), + (386,10010,10,0,0), + (386,11004,10,0,0), + (386,11004,11,0,0), + (386,12009,11,0,0), + (386,12010,10,0,0), + (386,15001,0,0,0), + (386,20127,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (386,22009,0,0,0), + (386,31153,0,0,0), + (386,36001,0,0,0), + (386,37001,0,0,0), + (386,40015,0,0,0), + (386,100002,10,0,0), + (386,100002,11,0,0), + (386,110082,10,0,0), + (386,110082,11,0,0), + (386,130033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (386,140001,0,0,0), + (386,160012,0,0,0), + (386,180003,0,0,0), + (386,190016,0,0,0), + (386,200002,0,0,0), + (386,230001,0,0,0), + (386,240001,0,0,0), + (386,250002,0,0,0), + (386,280024,0,0,0), + (386,290004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (386,300001,0,0,0), + (386,320020,0,0,0), + (386,330066,0,0,0), + (386,340002,0,0,0), + (386,1000043,0,0,0), + (386,1100001,0,0,0), + (386,1200034,0,0,0), + (387,1001,0,0,0), + (387,2001,0,0,0), + (387,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (387,5001,0,0,0), + (387,6001,0,0,0), + (387,10002,10,0,0), + (387,10010,11,0,0), + (387,11004,10,0,0), + (387,11004,11,0,0), + (387,12006,10,0,0), + (387,12009,11,0,0), + (387,15001,0,0,0), + (387,20121,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (387,22009,0,0,0), + (387,31153,0,0,0), + (387,36001,0,0,0), + (387,37001,0,0,0), + (387,40030,0,0,0), + (387,100002,10,0,0), + (387,100002,11,0,0), + (387,110104,10,0,0), + (387,110109,11,0,0), + (387,130033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (387,140016,0,0,0), + (387,160012,0,0,0), + (387,180003,0,0,0), + (387,190016,0,0,0), + (387,200032,0,0,0), + (387,230001,0,0,0), + (387,240006,0,0,0), + (387,250002,0,0,0), + (387,280016,0,0,0), + (387,290004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (387,320020,0,0,0), + (387,330044,0,0,0), + (387,340002,0,0,0), + (387,1000122,0,0,0), + (387,1100001,0,0,0), + (387,1200023,0,0,0), + (388,1001,0,0,0), + (388,2001,0,0,0), + (388,4001,0,0,0), + (388,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (388,6001,0,0,0), + (388,10010,10,0,0), + (388,10010,11,0,0), + (388,11004,10,0,0), + (388,11004,11,0,0), + (388,12009,10,0,0), + (388,12029,11,0,0), + (388,15001,0,0,0), + (388,20109,0,0,0), + (388,22014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (388,31153,0,0,0), + (388,36001,0,0,0), + (388,37001,0,0,0), + (388,40011,0,0,0), + (388,100002,10,0,0), + (388,100002,11,0,0), + (388,110104,10,0,0), + (388,110109,11,0,0), + (388,130034,0,0,0), + (388,140016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (388,160025,0,0,0), + (388,180030,0,0,0), + (388,190020,0,0,0), + (388,200031,0,0,0), + (388,230001,0,0,0), + (388,240006,0,0,0), + (388,250001,0,0,0), + (388,280041,0,0,0), + (388,290002,0,0,0), + (388,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (388,320022,0,0,0), + (388,330065,0,0,0), + (388,340002,0,0,0), + (388,1000136,0,0,0), + (388,1100005,0,0,0), + (388,1200038,0,0,0), + (389,1001,0,0,0), + (389,2001,0,0,0), + (389,4001,0,0,0), + (389,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (389,6001,0,0,0), + (389,10002,10,0,0), + (389,10010,11,0,0), + (389,11004,10,0,0), + (389,11004,11,0,0), + (389,12006,10,0,0), + (389,12022,11,0,0), + (389,15001,0,0,0), + (389,20132,0,0,0), + (389,22008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (389,31153,0,0,0), + (389,36001,0,0,0), + (389,37001,0,0,0), + (389,40032,0,0,0), + (389,100132,10,0,0), + (389,100132,11,0,0), + (389,110104,10,0,0), + (389,110109,11,0,0), + (389,130044,0,0,0), + (389,140011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (389,160054,0,0,0), + (389,180016,0,0,0), + (389,190018,0,0,0), + (389,200006,0,0,0), + (389,230001,0,0,0), + (389,240006,0,0,0), + (389,250003,0,0,0), + (389,280037,0,0,0), + (389,290003,0,0,0), + (389,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (389,320003,0,0,0), + (389,330034,0,0,0), + (389,340002,0,0,0), + (389,1000117,0,0,0), + (389,1100002,0,0,0), + (389,1200033,0,0,0), + (390,1001,0,0,0), + (390,2001,0,0,0), + (390,4001,0,0,0), + (390,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (390,6001,0,0,0), + (390,10001,10,0,0), + (390,10004,11,0,0), + (390,11009,10,0,0), + (390,11009,11,0,0), + (390,12007,10,0,0), + (390,12029,11,0,0), + (390,15001,0,0,0), + (390,20113,0,0,0), + (390,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (390,31153,0,0,0), + (390,36001,0,0,0), + (390,37001,0,0,0), + (390,40016,0,0,0), + (390,100002,10,0,0), + (390,100002,11,0,0), + (390,110104,10,0,0), + (390,110109,11,0,0), + (390,130034,0,0,0), + (390,140019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (390,160012,0,0,0), + (390,180014,0,0,0), + (390,190016,0,0,0), + (390,200002,0,0,0), + (390,230001,0,0,0), + (390,240006,0,0,0), + (390,250002,0,0,0), + (390,280024,0,0,0), + (390,290004,0,0,0), + (390,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (390,320020,0,0,0), + (390,330018,0,0,0), + (390,340002,0,0,0), + (390,1000074,0,0,0), + (390,1100025,0,0,0), + (390,1200023,0,0,0), + (391,1001,0,0,0), + (391,2001,0,0,0), + (391,4001,0,0,0), + (391,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (391,6001,0,0,0), + (391,10009,11,0,0), + (391,10010,10,0,0), + (391,11009,10,0,0), + (391,11009,11,0,0), + (391,12007,10,0,0), + (391,12029,11,0,0), + (391,13006,10,0,0), + (391,15001,0,0,0), + (391,20103,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (391,22014,0,0,0), + (391,31153,0,0,0), + (391,36001,0,0,0), + (391,37001,0,0,0), + (391,40005,0,0,0), + (391,100002,10,0,0), + (391,100002,11,0,0), + (391,110104,10,0,0), + (391,110109,11,0,0), + (391,130034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (391,140007,0,0,0), + (391,160025,0,0,0), + (391,180030,0,0,0), + (391,190020,0,0,0), + (391,200004,0,0,0), + (391,230001,0,0,0), + (391,240006,0,0,0), + (391,250001,0,0,0), + (391,280041,0,0,0), + (391,290002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (391,300001,0,0,0), + (391,320087,0,0,0), + (391,330020,0,0,0), + (391,340002,0,0,0), + (391,1000138,0,0,0), + (391,1100101,0,0,0), + (391,1200017,0,0,0), + (392,1001,0,0,0), + (392,2001,0,0,0), + (392,4001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (392,5001,0,0,0), + (392,6001,0,0,0), + (392,10002,10,0,0), + (392,10010,11,0,0), + (392,11009,10,0,0), + (392,11009,11,0,0), + (392,12008,10,0,0), + (392,12029,11,0,0), + (392,13007,10,0,0), + (392,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (392,20131,0,0,0), + (392,22008,0,0,0), + (392,31153,0,0,0), + (392,36001,0,0,0), + (392,37001,0,0,0), + (392,40034,0,0,0), + (392,100132,10,0,0), + (392,100132,11,0,0), + (392,110084,10,0,0), + (392,110084,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (392,130048,0,0,0), + (392,140013,0,0,0), + (392,160048,0,0,0), + (392,180022,0,0,0), + (392,190068,0,0,0), + (392,200022,0,0,0), + (392,230001,0,0,0), + (392,240006,0,0,0), + (392,250003,0,0,0), + (392,280022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (392,290004,0,0,0), + (392,300001,0,0,0), + (392,320026,0,0,0), + (392,330053,0,0,0), + (392,340002,0,0,0), + (392,1000007,0,0,0), + (392,1100019,0,0,0), + (392,1200021,0,0,0), + (393,1001,0,0,0), + (393,2001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (393,4001,0,0,0), + (393,5001,0,0,0), + (393,6001,0,0,0), + (393,10011,10,0,0), + (393,10011,11,0,0), + (393,11009,10,0,0), + (393,11009,11,0,0), + (393,12008,10,0,0), + (393,12027,11,0,0), + (393,13008,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (393,15001,0,0,0), + (393,20105,0,0,0), + (393,22014,0,0,0), + (393,31153,0,0,0), + (393,36001,0,0,0), + (393,37001,0,0,0), + (393,40007,0,0,0), + (393,100002,10,0,0), + (393,100002,11,0,0), + (393,110104,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (393,110109,11,0,0), + (393,130026,0,0,0), + (393,140011,0,0,0), + (393,160027,0,0,0), + (393,180034,0,0,0), + (393,190020,0,0,0), + (393,200004,0,0,0), + (393,230001,0,0,0), + (393,240006,0,0,0), + (393,250001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (393,280041,0,0,0), + (393,290002,0,0,0), + (393,300007,0,0,0), + (393,320022,0,0,0), + (393,330034,0,0,0), + (393,340002,0,0,0), + (393,1000138,0,0,0), + (393,1100101,0,0,0), + (393,1200038,0,0,0), + (394,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (394,2001,0,0,0), + (394,4001,0,0,0), + (394,5001,0,0,0), + (394,6001,0,0,0), + (394,10002,11,0,0), + (394,10022,10,0,0), + (394,11009,10,0,0), + (394,11009,11,0,0), + (394,12007,10,0,0), + (394,12023,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (394,13006,11,0,0), + (394,13008,10,0,0), + (394,15001,0,0,0), + (394,20120,0,0,0), + (394,22009,0,0,0), + (394,30003,0,0,0), + (394,31153,0,0,0), + (394,36001,0,0,0), + (394,37001,0,0,0), + (394,40025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (394,100003,10,0,0), + (394,100003,11,0,0), + (394,110083,10,0,0), + (394,110084,11,0,0), + (394,130033,0,0,0), + (394,140011,0,0,0), + (394,160009,0,0,0), + (394,180014,0,0,0), + (394,190016,0,0,0), + (394,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (394,230001,0,0,0), + (394,240006,0,0,0), + (394,250002,0,0,0), + (394,280016,0,0,0), + (394,290004,0,0,0), + (394,300001,0,0,0), + (394,320020,0,0,0), + (394,330053,0,0,0), + (394,340002,0,0,0), + (394,1000121,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (394,1100001,0,0,0), + (394,1200034,0,0,0), + (395,1001,0,0,0), + (395,2001,0,0,0), + (395,4001,0,0,0), + (395,5001,0,0,0), + (395,6001,0,0,0), + (395,10021,10,0,0), + (395,10021,11,0,0), + (395,11008,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (395,11008,11,0,0), + (395,12037,10,0,0), + (395,12039,11,0,0), + (395,15001,0,0,0), + (395,20112,0,0,0), + (395,22014,0,0,0), + (395,31151,0,0,0), + (395,36001,0,0,0), + (395,37001,0,0,0), + (395,40004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (395,100005,10,0,0), + (395,100005,11,0,0), + (395,110104,10,0,0), + (395,110109,11,0,0), + (395,130036,0,0,0), + (395,140020,0,0,0), + (395,160017,0,0,0), + (395,180013,0,0,0), + (395,190015,0,0,0), + (395,200051,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (395,230002,0,0,0), + (395,240006,0,0,0), + (395,250006,0,0,0), + (395,280006,0,0,0), + (395,290005,0,0,0), + (395,300008,0,0,0), + (395,320031,0,0,0), + (395,330027,0,0,0), + (395,340003,0,0,0), + (395,1000025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (395,1100027,0,0,0), + (395,1200024,0,0,0), + (396,1001,0,0,0), + (396,2001,0,0,0), + (396,4001,0,0,0), + (396,5001,0,0,0), + (396,6001,0,0,0), + (396,10030,10,0,0), + (396,10030,11,0,0), + (396,11008,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (396,11008,11,0,0), + (396,12038,11,0,0), + (396,12040,10,0,0), + (396,14003,11,0,0), + (396,15001,0,0,0), + (396,20113,0,0,0), + (396,22009,0,0,0), + (396,31153,0,0,0), + (396,36001,0,0,0), + (396,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (396,40016,0,0,0), + (396,100129,10,0,0), + (396,100129,11,0,0), + (396,110080,10,0,0), + (396,110109,11,0,0), + (396,130046,0,0,0), + (396,140019,0,0,0), + (396,160017,0,0,0), + (396,180013,0,0,0), + (396,190015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (396,200051,0,0,0), + (396,230004,0,0,0), + (396,240006,0,0,0), + (396,250006,0,0,0), + (396,280006,0,0,0), + (396,290005,0,0,0), + (396,300008,0,0,0), + (396,320031,0,0,0), + (396,330027,0,0,0), + (396,340003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (396,1000025,0,0,0), + (396,1100027,0,0,0), + (396,1200024,0,0,0), + (397,1001,0,0,0), + (397,2001,0,0,0), + (397,4001,0,0,0), + (397,5001,0,0,0), + (397,6001,0,0,0), + (397,10030,10,0,0), + (397,10030,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (397,11008,10,0,0), + (397,11008,11,0,0), + (397,12038,11,0,0), + (397,12040,10,0,0), + (397,15001,0,0,0), + (397,20128,0,0,0), + (397,22009,0,0,0), + (397,25005,0,0,0), + (397,31153,0,0,0), + (397,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (397,37001,0,0,0), + (397,40023,0,0,0), + (397,100095,10,0,0), + (397,100095,11,0,0), + (397,110094,10,0,0), + (397,110094,11,0,0), + (397,130036,0,0,0), + (397,140020,0,0,0), + (397,160017,0,0,0), + (397,180013,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (397,190015,0,0,0), + (397,200051,0,0,0), + (397,230004,0,0,0), + (397,240006,0,0,0), + (397,250004,0,0,0), + (397,280006,0,0,0), + (397,290005,0,0,0), + (397,300008,0,0,0), + (397,320031,0,0,0), + (397,330027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (397,340003,0,0,0), + (397,350005,0,0,0), + (397,1000025,0,0,0), + (397,1100014,0,0,0), + (397,1200024,0,0,0), + (398,1001,0,0,0), + (398,2001,0,0,0), + (398,4001,0,0,0), + (398,5001,0,0,0), + (398,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (398,10021,10,0,0), + (398,10021,11,0,0), + (398,11008,10,0,0), + (398,11008,11,0,0), + (398,12038,11,0,0), + (398,12040,10,0,0), + (398,14003,11,0,0), + (398,15001,0,0,0), + (398,20125,0,0,0), + (398,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (398,31153,0,0,0), + (398,36001,0,0,0), + (398,37001,0,0,0), + (398,40020,0,0,0), + (398,100096,10,0,0), + (398,100096,11,0,0), + (398,110080,10,0,0), + (398,110109,11,0,0), + (398,130046,0,0,0), + (398,140002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (398,160017,0,0,0), + (398,180013,0,0,0), + (398,190015,0,0,0), + (398,200051,0,0,0), + (398,230004,0,0,0), + (398,240006,0,0,0), + (398,250004,0,0,0), + (398,280006,0,0,0), + (398,290005,0,0,0), + (398,300008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (398,320031,0,0,0), + (398,330027,0,0,0), + (398,340003,0,0,0), + (398,1000025,0,0,0), + (398,1100026,0,0,0), + (398,1200024,0,0,0), + (399,1001,0,0,0), + (399,2001,0,0,0), + (399,4001,0,0,0), + (399,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (399,6001,0,0,0), + (399,10030,10,0,0), + (399,10030,11,0,0), + (399,11008,10,0,0), + (399,11008,11,0,0), + (399,12038,11,0,0), + (399,12040,10,0,0), + (399,14003,11,0,0), + (399,15001,0,0,0), + (399,20117,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (399,22009,0,0,0), + (399,29002,0,0,0), + (399,30004,0,0,0), + (399,31153,0,0,0), + (399,36001,0,0,0), + (399,37001,0,0,0), + (399,40021,0,0,0), + (399,100127,10,0,0), + (399,100127,11,0,0), + (399,110172,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (399,110172,11,0,0), + (399,130016,0,0,0), + (399,140002,0,0,0), + (399,160032,0,0,0), + (399,180033,0,0,0), + (399,190026,0,0,0), + (399,200010,0,0,0), + (399,230001,0,0,0), + (399,240007,0,0,0), + (399,250007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (399,280040,0,0,0), + (399,290005,0,0,0), + (399,300008,0,0,0), + (399,320043,0,0,0), + (399,330047,0,0,0), + (399,340003,0,0,0), + (399,1000033,0,0,0), + (399,1100039,0,0,0), + (399,1200029,0,0,0), + (400,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (400,2001,0,0,0), + (400,4001,0,0,0), + (400,5001,0,0,0), + (400,6001,0,0,0), + (400,10021,10,0,0), + (400,10021,11,0,0), + (400,11008,10,0,0), + (400,11008,11,0,0), + (400,12038,11,0,0), + (400,12040,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (400,13010,10,0,0), + (400,14003,11,0,0), + (400,15001,0,0,0), + (400,20108,0,0,0), + (400,22014,0,0,0), + (400,31153,0,0,0), + (400,36001,0,0,0), + (400,37001,0,0,0), + (400,40010,0,0,0), + (400,100129,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (400,100129,11,0,0), + (400,110108,10,0,0), + (400,110109,11,0,0), + (400,130034,0,0,0), + (400,140019,0,0,0), + (400,160032,0,0,0), + (400,180033,0,0,0), + (400,190026,0,0,0), + (400,200010,0,0,0), + (400,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (400,240007,0,0,0), + (400,250005,0,0,0), + (400,280040,0,0,0), + (400,290005,0,0,0), + (400,300008,0,0,0), + (400,320043,0,0,0), + (400,330047,0,0,0), + (400,340003,0,0,0), + (400,1000033,0,0,0), + (400,1100039,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (400,1200029,0,0,0), + (401,1001,0,0,0), + (401,2001,0,0,0), + (401,4001,0,0,0), + (401,5001,0,0,0), + (401,6001,0,0,0), + (401,10030,10,0,0), + (401,10030,11,0,0), + (401,11008,10,0,0), + (401,11008,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (401,12038,11,0,0), + (401,12040,10,0,0), + (401,13012,10,0,0), + (401,14003,11,0,0), + (401,15001,0,0,0), + (401,20134,0,0,0), + (401,22001,0,0,0), + (401,31153,0,0,0), + (401,36001,0,0,0), + (401,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (401,40035,0,0,0), + (401,100005,10,0,0), + (401,100005,11,0,0), + (401,110104,10,0,0), + (401,110109,11,0,0), + (401,130046,0,0,0), + (401,140019,0,0,0), + (401,160078,0,0,0), + (401,180037,0,0,0), + (401,190069,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (401,200053,0,0,0), + (401,230003,0,0,0), + (401,240007,0,0,0), + (401,250007,0,0,0), + (401,280042,0,0,0), + (401,290005,0,0,0), + (401,300008,0,0,0), + (401,320012,0,0,0), + (401,330019,0,0,0), + (401,340003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (401,1000011,0,0,0), + (401,1100045,0,0,0), + (401,1200039,0,0,0), + (402,1001,0,1,1), + (402,2001,0,1,1), + (402,4001,0,0,0), + (402,5001,0,0,0), + (402,6001,0,0,0), + (402,10009,11,0,0), + (402,10010,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (402,11004,10,0,0), + (402,11004,11,0,0), + (402,12012,11,0,0), + (402,12064,10,0,0), + (402,13002,10,0,0), + (402,13004,11,0,0), + (402,15001,0,0,0), + (402,20127,0,0,0), + (402,22009,0,0,0), + (402,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (402,36001,0,0,0), + (402,37001,0,0,0), + (402,40015,0,0,0), + (402,100002,10,0,0), + (402,100002,11,0,0), + (402,110082,10,1,1), + (402,110084,11,1,1), + (402,130045,0,0,0), + (402,140018,0,0,0), + (402,160090,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (402,180049,0,0,0), + (402,190013,0,0,0), + (402,200057,0,0,0), + (402,230001,0,0,0), + (402,240001,0,0,0), + (402,250002,0,0,0), + (402,280054,0,0,0), + (402,290006,0,0,0), + (402,300011,0,0,0), + (402,320104,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (402,330033,0,0,0), + (402,340002,0,0,0), + (402,1000162,0,0,0), + (402,1100124,0,0,0), + (402,1200013,0,0,0), + (403,1001,0,0,0), + (403,2001,0,0,0), + (403,4001,0,0,0), + (403,5001,0,0,0), + (403,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (403,10002,10,0,0), + (403,10002,11,0,0), + (403,11004,10,0,0), + (403,11011,11,0,0), + (403,12011,10,0,0), + (403,12011,11,0,0), + (403,13004,10,0,0), + (403,13006,11,0,0), + (403,14002,10,0,0), + (403,14002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (403,15001,0,0,0), + (403,20140,0,0,0), + (403,22009,0,0,0), + (403,25005,0,0,0), + (403,29001,0,0,0), + (403,30003,0,0,0), + (403,31153,0,0,0), + (403,36001,0,0,0), + (403,37001,0,0,0), + (403,40042,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (403,100002,10,0,0), + (403,100002,11,0,0), + (403,110102,10,1,1), + (403,110103,11,1,1), + (403,130048,0,0,0), + (403,140009,0,0,0), + (403,150004,0,0,0), + (403,160012,0,0,0), + (403,180014,0,0,0), + (403,190016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (403,200036,0,0,0), + (403,230001,0,0,0), + (403,240007,0,0,0), + (403,250002,0,0,0), + (403,280038,0,0,0), + (403,290006,0,0,0), + (403,300007,0,0,0), + (403,320078,0,0,0), + (403,330040,0,0,0), + (403,350003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (403,1000071,0,0,0), + (403,1100068,0,0,0), + (403,1200023,0,0,0), + (404,1001,0,0,0), + (404,2001,0,0,0), + (404,4001,0,0,0), + (404,5001,0,0,0), + (404,6001,0,0,0), + (404,10014,11,0,0), + (404,10021,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (404,11009,10,0,0), + (404,11009,11,0,0), + (404,12011,11,0,0), + (404,12064,10,0,0), + (404,13013,10,0,0), + (404,13016,11,0,0), + (404,14003,10,0,0), + (404,14004,0,0,0), + (404,14004,11,0,0), + (404,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (404,20207,0,0,0), + (404,22010,0,0,0), + (404,25005,0,0,0), + (404,29003,0,0,0), + (404,30006,0,0,0), + (404,31152,0,0,0), + (404,36001,0,0,0), + (404,37001,0,0,0), + (404,40060,0,0,0), + (404,100005,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (404,100005,11,0,0), + (404,110173,10,1,1), + (404,110174,11,1,1), + (404,130051,0,0,0), + (404,140007,0,0,0), + (404,150003,0,0,0), + (404,160097,0,0,0), + (404,180060,0,0,0), + (404,190028,0,0,0), + (404,200012,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (404,230005,0,0,0), + (404,240007,0,0,0), + (404,250005,0,0,0), + (404,280032,0,0,0), + (404,290005,0,0,0), + (404,320007,0,0,0), + (404,330022,0,0,0), + (404,350005,0,0,0), + (404,1000054,0,0,0), + (404,1100043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (404,1200099,0,0,0), + (405,1001,0,0,0), + (405,2001,0,0,0), + (405,4001,0,0,0), + (405,5001,0,0,0), + (405,6001,0,0,0), + (405,10021,10,0,0), + (405,10026,11,0,0), + (405,11006,10,0,0), + (405,11006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (405,12007,11,0,0), + (405,12021,10,0,0), + (405,13006,10,0,0), + (405,15001,0,0,0), + (405,20117,0,0,0), + (405,22009,0,0,0), + (405,31153,0,0,0), + (405,36001,0,0,0), + (405,37001,0,0,0), + (405,40021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (405,100120,10,0,0), + (405,100120,11,0,0), + (405,110174,10,0,0), + (405,110174,11,0,0), + (405,130008,0,0,0), + (405,140005,0,0,0), + (405,160009,0,0,0), + (405,180014,0,0,0), + (405,190016,0,0,0), + (405,200036,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (405,230003,0,0,0), + (405,240006,0,0,0), + (405,250006,0,0,0), + (405,280068,0,0,0), + (405,290006,0,0,0), + (405,300006,0,0,0), + (405,320030,0,0,0), + (405,330070,0,0,0), + (405,340003,0,0,0), + (405,1000073,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (405,1100025,0,0,0), + (405,1200023,0,0,0), + (406,1001,0,1,1), + (406,2001,0,1,1), + (406,4001,0,0,0), + (406,5001,0,0,0), + (406,6001,0,0,0), + (406,10001,11,0,0), + (406,10021,10,0,0), + (406,11009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (406,11009,11,0,0), + (406,12009,11,0,0), + (406,12010,10,0,0), + (406,13011,10,0,0), + (406,13012,11,0,0), + (406,15001,0,0,0), + (406,20207,0,0,0), + (406,22010,0,0,0), + (406,31152,0,0,0), + (406,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (406,37001,0,0,0), + (406,40060,0,0,0), + (406,100005,10,0,0), + (406,100005,11,0,0), + (406,110174,10,1,1), + (406,110174,11,1,1), + (406,130003,0,0,0), + (406,140010,0,0,0), + (406,160032,0,0,0), + (406,180035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (406,190053,0,0,0), + (406,200043,0,0,0), + (406,230003,0,0,0), + (406,240006,0,0,0), + (406,250006,0,0,0), + (406,280040,0,0,0), + (406,290006,0,0,0), + (406,300010,0,0,0), + (406,320042,0,0,0), + (406,330027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (406,340004,0,0,0), + (406,1000052,0,0,0), + (406,1100040,0,0,0), + (406,1200029,0,0,0), + (407,1001,0,1,1), + (407,2001,0,1,1), + (407,4001,0,0,0), + (407,5001,0,0,0), + (407,6001,0,0,0), + (407,10001,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (407,10021,10,0,0), + (407,11006,10,0,0), + (407,11006,11,0,0), + (407,12008,11,0,0), + (407,12009,10,0,0), + (407,13006,10,0,0), + (407,15001,0,0,0), + (407,20213,0,0,0), + (407,22001,0,0,0), + (407,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (407,36001,0,0,0), + (407,37001,0,0,0), + (407,40058,0,0,0), + (407,100003,10,0,0), + (407,100003,11,0,0), + (407,110174,10,1,1), + (407,110174,11,1,1), + (407,130003,0,0,0), + (407,140007,0,0,0), + (407,160078,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (407,180037,0,0,0), + (407,190087,0,0,0), + (407,200071,0,0,0), + (407,230003,0,0,0), + (407,240006,0,0,0), + (407,250006,0,0,0), + (407,280042,0,0,0), + (407,290006,0,0,0), + (407,300011,0,0,0), + (407,320012,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (407,330027,0,0,0), + (407,340003,0,0,0), + (407,1000011,0,0,0), + (407,1100045,0,0,0), + (407,1200039,0,0,0), + (408,1001,0,1,1), + (408,2001,0,1,1), + (408,4001,0,0,0), + (408,5001,0,0,0), + (408,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (408,10001,11,0,0), + (408,10021,10,0,0), + (408,11007,10,0,0), + (408,11007,11,0,0), + (408,12006,11,0,0), + (408,12008,10,0,0), + (408,13007,11,0,0), + (408,13009,10,0,0), + (408,15001,0,0,0), + (408,20111,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (408,22014,0,0,0), + (408,29002,0,0,0), + (408,30003,0,0,0), + (408,31153,0,0,0), + (408,36001,0,0,0), + (408,37001,0,0,0), + (408,40013,0,0,0), + (408,100005,10,0,0), + (408,100005,11,0,0), + (408,110174,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (408,110174,11,1,1), + (408,130003,0,0,0), + (408,140009,0,0,0), + (408,160084,0,0,0), + (408,180034,0,0,0), + (408,190052,0,0,0), + (408,200011,0,0,0), + (408,230003,0,0,0), + (408,240002,0,0,0), + (408,250005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (408,280071,0,0,0), + (408,290005,0,0,0), + (408,300009,0,0,0), + (408,320097,0,0,0), + (408,330070,0,0,0), + (408,340004,0,0,0), + (408,1000139,0,0,0), + (408,1100101,0,0,0), + (408,1200101,0,0,0), + (409,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (409,2001,0,1,1), + (409,4001,0,0,0), + (409,5001,0,0,0), + (409,6001,0,0,0), + (409,10001,11,0,0), + (409,10021,10,0,0), + (409,11007,10,0,0), + (409,11007,11,0,0), + (409,12008,11,0,0), + (409,12009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (409,15001,0,0,0), + (409,20220,0,0,0), + (409,22009,0,0,0), + (409,31153,0,0,0), + (409,36001,0,0,0), + (409,37001,0,0,0), + (409,40025,0,0,0), + (409,100004,10,0,0), + (409,100004,11,0,0), + (409,110174,10,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (409,110174,11,1,1), + (409,130003,0,0,0), + (409,140007,0,0,0), + (409,160007,0,0,0), + (409,180005,0,0,0), + (409,190062,0,0,0), + (409,200036,0,0,0), + (409,230003,0,0,0), + (409,240006,0,0,0), + (409,250006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (409,280007,0,0,0), + (409,290005,0,0,0), + (409,300007,0,0,0), + (409,320029,0,0,0), + (409,330027,0,0,0), + (409,340004,0,0,0), + (409,1000073,0,0,0), + (409,1100025,0,0,0), + (409,1200023,0,0,0), + (410,1001,0,1,1); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (410,2001,0,1,1), + (410,4001,0,0,0), + (410,5001,0,0,0), + (410,6001,0,0,0), + (410,10001,11,0,0), + (410,10021,0,0,0), + (410,10021,10,0,0), + (410,11007,10,0,0), + (410,11007,11,0,0), + (410,12006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (410,12009,10,0,0), + (410,13008,11,0,0), + (410,13011,10,0,0), + (410,15001,0,0,0), + (410,20130,0,0,0), + (410,22006,0,0,0), + (410,31153,0,0,0), + (410,36001,0,0,0), + (410,37001,0,0,0), + (410,40055,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (410,100003,10,0,0), + (410,100003,11,0,0), + (410,110174,10,1,1), + (410,110174,11,1,1), + (410,130003,0,0,0), + (410,140010,0,0,0), + (410,160042,0,0,0), + (410,180029,0,0,0), + (410,190050,0,0,0), + (410,200009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (410,230003,0,0,0), + (410,240006,0,0,0), + (410,250006,0,0,0), + (410,280063,0,0,0), + (410,290005,0,0,0), + (410,300009,0,0,0), + (410,320076,0,0,0), + (410,330071,0,0,0), + (410,340004,0,0,0), + (410,1000131,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (410,1100037,0,0,0), + (410,1200107,0,0,0), + (411,1001,0,0,0), + (411,2001,0,0,0), + (411,4001,0,0,0), + (411,5001,0,0,0), + (411,6001,0,0,0), + (411,10002,10,0,0), + (411,10010,11,0,0), + (411,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (411,11004,11,0,0), + (411,12006,10,0,0), + (411,12022,11,0,0), + (411,13012,10,0,0), + (411,15001,0,0,0), + (411,20132,0,0,0), + (411,22008,0,0,0), + (411,31153,0,0,0), + (411,36001,0,0,0), + (411,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (411,40032,0,0,0), + (411,100132,10,0,0), + (411,100132,11,0,0), + (411,110067,10,0,0), + (411,110067,11,0,0), + (411,130044,0,0,0), + (411,140008,0,0,0), + (411,160055,0,0,0), + (411,180015,0,0,0), + (411,190017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (411,200029,0,0,0), + (411,230003,0,0,0), + (411,240006,0,0,0), + (411,250002,0,0,0), + (411,280036,0,0,0), + (411,290007,0,0,0), + (411,300004,0,0,0), + (411,320004,0,0,0), + (411,330067,0,0,0), + (411,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (411,1000113,0,0,0), + (411,1100044,0,0,0), + (411,1200015,0,0,0), + (412,1001,0,0,0), + (412,2001,0,0,0), + (412,4001,0,0,0), + (412,5001,0,0,0), + (412,6001,0,0,0), + (412,10010,11,0,0), + (412,10017,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (412,11009,10,0,0), + (412,11009,11,0,0), + (412,12008,10,0,0), + (412,12029,11,0,0), + (412,13007,11,0,0), + (412,13009,10,0,0), + (412,15001,0,0,0), + (412,16001,0,0,0), + (412,20111,0,0,0), + (412,22014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (412,29002,10,0,0), + (412,30003,11,0,0), + (412,31153,0,0,0), + (412,36001,0,0,0), + (412,37001,0,0,0), + (412,40013,0,0,0), + (412,100112,10,0,0), + (412,100112,11,0,0), + (412,110083,10,0,0), + (412,110084,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (412,130039,0,0,0), + (412,140020,0,0,0), + (412,160027,0,0,0), + (412,180034,0,0,0), + (412,190001,0,0,0), + (412,200054,0,0,0), + (412,230003,0,0,0), + (412,240005,0,0,0), + (412,250001,0,0,0), + (412,280041,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (412,290002,0,0,0), + (412,300011,0,0,0), + (412,320087,0,0,0), + (412,330025,0,0,0), + (412,340003,0,0,0), + (412,1000139,0,0,0), + (412,1100005,0,0,0), + (412,1200038,0,0,0), + (413,1001,0,0,0), + (413,2001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (413,4001,0,0,0), + (413,5001,0,0,0), + (413,6001,0,0,0), + (413,10006,11,0,0), + (413,10015,10,0,0), + (413,11006,10,0,0), + (413,11006,11,0,0), + (413,12021,10,0,0), + (413,12029,11,0,0), + (413,13006,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (413,15001,0,0,0), + (413,20114,0,0,0), + (413,22009,0,0,0), + (413,31153,0,0,0), + (413,36001,0,0,0), + (413,37001,0,0,0), + (413,40018,0,0,0), + (413,100002,10,0,0), + (413,100002,11,0,0), + (413,110167,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (413,110168,11,0,0), + (413,130030,0,0,0), + (413,140009,0,0,0), + (413,160009,0,0,0), + (413,180014,0,0,0), + (413,190016,0,0,0), + (413,200002,0,0,0), + (413,230001,0,0,0), + (413,240006,0,0,0), + (413,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (413,280024,0,0,0), + (413,290004,0,0,0), + (413,300001,0,0,0), + (413,320020,0,0,0), + (413,330034,0,0,0), + (413,340002,0,0,0), + (413,1000073,0,0,0), + (413,1100001,0,0,0), + (413,1200023,0,0,0), + (414,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (414,2001,0,0,0), + (414,4001,0,0,0), + (414,5001,0,0,0), + (414,6001,0,0,0), + (414,10006,11,0,0), + (414,10015,10,0,0), + (414,11006,10,0,0), + (414,11006,11,0,0), + (414,12021,10,0,0), + (414,12029,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (414,13006,10,0,0), + (414,15001,0,0,0), + (414,20114,0,0,0), + (414,22009,0,0,0), + (414,31153,0,0,0), + (414,36001,0,0,0), + (414,37001,0,0,0), + (414,40018,0,0,0), + (414,100002,10,0,0), + (414,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (414,110084,10,0,0), + (414,110168,11,0,0), + (414,130030,0,0,0), + (414,140009,0,0,0), + (414,160012,0,0,0), + (414,180014,0,0,0), + (414,190016,0,0,0), + (414,200002,0,0,0), + (414,230001,0,0,0), + (414,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (414,250002,0,0,0), + (414,280016,0,0,0), + (414,290001,0,0,0), + (414,300001,0,0,0), + (414,320020,0,0,0), + (414,330018,0,0,0), + (414,340002,0,0,0), + (414,1000122,0,0,0), + (414,1100001,0,0,0), + (414,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (415,1001,0,0,0), + (415,2001,0,0,0), + (415,4001,0,0,0), + (415,5001,0,0,0), + (415,6001,0,0,0), + (415,10006,11,0,0), + (415,10015,10,0,0), + (415,11006,10,0,0), + (415,11006,11,0,0), + (415,12021,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (415,12029,11,0,0), + (415,13006,10,0,0), + (415,15001,0,0,0), + (415,20114,0,0,0), + (415,22009,0,0,0), + (415,31153,0,0,0), + (415,36001,0,0,0), + (415,37001,0,0,0), + (415,40018,0,0,0), + (415,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (415,100002,11,0,0), + (415,110012,10,0,0), + (415,110012,11,0,0), + (415,130032,0,0,0), + (415,140009,0,0,0), + (415,160006,0,0,0), + (415,180014,0,0,0), + (415,190016,0,0,0), + (415,200002,0,0,0), + (415,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (415,240001,0,0,0), + (415,250002,0,0,0), + (415,280024,0,0,0), + (415,290001,0,0,0), + (415,300001,0,0,0), + (415,320030,0,0,0), + (415,330013,0,0,0), + (415,340002,0,0,0), + (415,1000015,0,0,0), + (415,1100001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (415,1200034,0,0,0), + (416,1001,0,0,0), + (416,2001,0,0,0), + (416,4001,0,0,0), + (416,5001,0,0,0), + (416,6001,0,0,0), + (416,10002,10,0,0), + (416,10010,11,0,0), + (416,11004,10,0,0), + (416,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (416,12006,10,0,0), + (416,12022,11,0,0), + (416,13012,10,0,0), + (416,15001,0,0,0), + (416,20133,0,0,0), + (416,22008,0,0,0), + (416,31153,0,0,0), + (416,36001,0,0,0), + (416,37001,0,0,0), + (416,40033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (416,100132,10,0,0), + (416,100132,11,0,0), + (416,110045,10,0,0), + (416,110045,11,0,0), + (416,130048,0,0,0), + (416,140004,0,0,0), + (416,160073,0,0,0), + (416,180015,0,0,0), + (416,190017,0,0,0), + (416,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (416,230001,0,0,0), + (416,240005,0,0,0), + (416,250002,0,0,0), + (416,280036,0,0,0), + (416,290004,0,0,0), + (416,300001,0,0,0), + (416,320004,0,0,0), + (416,330066,0,0,0), + (416,340002,0,0,0), + (416,1000120,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (416,1100044,0,0,0), + (416,1200015,0,0,0), + (417,1001,0,0,0), + (417,2001,0,0,0), + (417,4001,0,0,0), + (417,5001,0,0,0), + (417,6001,0,0,0), + (417,10010,10,0,0), + (417,10010,11,0,0), + (417,11004,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (417,11004,11,0,0), + (417,12027,10,0,0), + (417,12029,11,0,0), + (417,13010,10,0,0), + (417,15001,0,0,0), + (417,20108,0,0,0), + (417,22014,0,0,0), + (417,31153,0,0,0), + (417,36001,0,0,0), + (417,37001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (417,40013,0,0,0), + (417,100002,10,0,0), + (417,100002,11,0,0), + (417,110171,10,0,0), + (417,110171,11,0,0), + (417,130034,0,0,0), + (417,140019,0,0,0), + (417,160025,0,0,0), + (417,180030,0,0,0), + (417,190020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (417,200004,0,0,0), + (417,230001,0,0,0), + (417,240001,0,0,0), + (417,250001,0,0,0), + (417,280018,0,0,0), + (417,290001,0,0,0), + (417,300001,0,0,0), + (417,320022,0,0,0), + (417,330003,0,0,0), + (417,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (417,1000138,0,0,0), + (417,1100005,0,0,0), + (417,1200017,0,0,0), + (418,1001,0,0,0), + (418,2001,0,0,0), + (418,4001,0,0,0), + (418,5001,0,0,0), + (418,6001,0,0,0), + (418,10002,10,0,0), + (418,10010,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (418,11004,10,0,0), + (418,11004,11,0,0), + (418,12009,10,0,0), + (418,12021,11,0,0), + (418,13009,10,0,0), + (418,15001,0,0,0), + (418,20121,0,0,0), + (418,22009,0,0,0), + (418,31153,0,0,0), + (418,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (418,37001,0,0,0), + (418,40030,0,0,0), + (418,100002,10,0,0), + (418,100002,11,0,0), + (418,110139,10,0,0), + (418,110139,11,0,0), + (418,130023,0,0,0), + (418,140016,0,0,0), + (418,160012,0,0,0), + (418,180003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (418,190016,0,0,0), + (418,200002,0,0,0), + (418,230001,0,0,0), + (418,240006,0,0,0), + (418,250002,0,0,0), + (418,280016,0,0,0), + (418,290004,0,0,0), + (418,300001,0,0,0), + (418,320020,0,0,0), + (418,330008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (418,340002,0,0,0), + (418,1000122,0,0,0), + (418,1100001,0,0,0), + (418,1200034,0,0,0), + (419,1001,0,0,0), + (419,2001,0,0,0), + (419,4001,0,0,0), + (419,5001,0,0,0), + (419,6001,0,0,0), + (419,10021,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (419,10021,11,0,0), + (419,11008,10,0,0), + (419,11008,11,0,0), + (419,12039,11,0,0), + (419,12040,10,0,0), + (419,15001,0,0,0), + (419,20112,0,0,0), + (419,22014,0,0,0), + (419,31151,0,0,0), + (419,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (419,37001,0,0,0), + (419,40004,0,0,0), + (419,100005,10,0,0), + (419,100005,11,0,0), + (419,110173,10,0,0), + (419,110174,11,0,0), + (419,130036,0,0,0), + (419,140020,0,0,0), + (419,160017,0,0,0), + (419,180013,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (419,190015,0,0,0), + (419,200051,0,0,0), + (419,230002,0,0,0), + (419,240006,0,0,0), + (419,250006,0,0,0), + (419,280006,0,0,0), + (419,290005,0,0,0), + (419,300008,0,0,0), + (419,320031,0,0,0), + (419,330027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (419,340003,0,0,0), + (419,1000025,0,0,0), + (419,1100027,0,0,0), + (419,1200024,0,0,0), + (420,1001,0,0,0), + (420,2001,0,0,0), + (420,4001,0,0,0), + (420,5001,0,0,0), + (420,6001,0,0,0), + (420,10009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (420,10010,10,0,0), + (420,11004,10,0,0), + (420,11004,11,0,0), + (420,12007,11,0,0), + (420,12008,10,0,0), + (420,15001,0,0,0), + (420,20103,0,0,0), + (420,22014,0,0,0), + (420,31153,0,0,0), + (420,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (420,37001,0,0,0), + (420,40005,0,0,0), + (420,100002,10,0,0), + (420,100002,11,0,0), + (420,110100,10,0,0), + (420,110100,11,0,0), + (420,130012,0,0,0), + (420,140014,0,0,0), + (420,160022,0,0,0), + (420,180019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (420,190021,0,0,0), + (420,200019,0,0,0), + (420,230001,0,0,0), + (420,240003,0,0,0), + (420,250001,0,0,0), + (420,280019,0,0,0), + (420,290001,0,0,0), + (420,300001,0,0,0), + (420,320023,0,0,0), + (420,330006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (420,340001,0,0,0), + (420,1000004,0,0,0), + (420,1100016,0,0,0), + (420,1200018,0,0,0), + (421,1001,0,0,0), + (421,2001,0,0,0), + (421,4001,0,0,0), + (421,5001,0,0,0), + (421,6001,0,0,0), + (421,10011,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (421,10011,11,0,0), + (421,11004,10,0,0), + (421,11004,11,0,0), + (421,12008,11,0,0), + (421,12031,10,0,0), + (421,15001,0,0,0), + (421,20118,0,0,0), + (421,22009,0,0,0), + (421,31153,0,0,0), + (421,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (421,37001,0,0,0), + (421,40019,0,0,0), + (421,100002,10,0,0), + (421,100002,11,0,0), + (421,110100,10,0,0), + (421,110100,11,0,0), + (421,130032,0,0,0), + (421,140016,0,0,0), + (421,160011,0,0,0), + (421,180062,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (421,190067,0,0,0), + (421,200048,0,0,0), + (421,230001,0,0,0), + (421,240001,0,0,0), + (421,250002,0,0,0), + (421,280051,0,0,0), + (421,290004,0,0,0), + (421,300001,0,0,0), + (421,320100,0,0,0), + (421,330056,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (421,340002,0,0,0), + (421,1000057,0,0,0), + (421,1100120,0,0,0), + (421,1200049,0,0,0), + (422,1001,0,0,0), + (422,2001,0,0,0), + (422,4001,0,0,0), + (422,5001,0,0,0), + (422,6001,0,0,0), + (422,10001,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (422,10004,11,0,0), + (422,11009,10,0,0), + (422,11009,11,0,0), + (422,12009,11,0,0), + (422,12031,10,0,0), + (422,15001,0,0,0), + (422,20113,0,0,0), + (422,22009,0,0,0), + (422,31153,0,0,0), + (422,36001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (422,37001,0,0,0), + (422,40016,0,0,0), + (422,100002,10,0,0), + (422,100002,11,0,0), + (422,110171,10,0,0), + (422,110171,11,0,0), + (422,130034,0,0,0), + (422,140019,0,0,0), + (422,160012,0,0,0), + (422,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (422,190016,0,0,0), + (422,200002,0,0,0), + (422,230001,0,0,0), + (422,240006,0,0,0), + (422,250002,0,0,0), + (422,280024,0,0,0), + (422,290004,0,0,0), + (422,300001,0,0,0), + (422,320020,0,0,0), + (422,330018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (422,340002,0,0,0), + (422,1000074,0,0,0), + (422,1100025,0,0,0), + (422,1200023,0,0,0), + (423,1001,0,0,0), + (423,2001,0,0,0), + (423,4001,0,0,0), + (423,5001,0,0,0), + (423,6001,0,0,0), + (423,10009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (423,10010,10,0,0), + (423,11004,10,0,0), + (423,11004,11,0,0), + (423,12025,10,0,0), + (423,12026,11,0,0), + (423,13002,10,0,0), + (423,13004,11,0,0), + (423,15001,0,0,0), + (423,20127,0,0,0), + (423,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (423,31153,0,0,0), + (423,36001,0,0,0), + (423,37001,0,0,0), + (423,40015,0,0,0), + (423,100002,10,0,0), + (423,100002,11,0,0), + (423,110173,10,0,0), + (423,110173,11,0,0), + (423,130045,0,0,0), + (423,140018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (423,160090,0,0,0), + (423,180049,0,0,0), + (423,190013,0,0,0), + (423,200057,0,0,0), + (423,230001,0,0,0), + (423,240001,0,0,0), + (423,250002,0,0,0), + (423,280054,0,0,0), + (423,290006,0,0,0), + (423,300011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (423,320104,0,0,0), + (423,330033,0,0,0), + (423,340002,0,0,0), + (423,1000162,0,0,0), + (423,1100124,0,0,0), + (423,1200013,0,0,0), + (424,1001,0,0,0), + (424,2001,0,0,0), + (424,4001,0,0,0), + (424,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (424,6001,0,0,0), + (424,10009,11,0,0), + (424,10010,10,0,0), + (424,11006,10,0,0), + (424,11006,11,0,0), + (424,12031,11,0,0), + (424,12032,10,0,0), + (424,15001,0,0,0), + (424,20218,0,0,0), + (424,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (424,31153,0,0,0), + (424,36001,0,0,0), + (424,37001,0,0,0), + (424,40041,0,0,0), + (424,100002,10,0,0), + (424,100002,11,0,0), + (424,110172,10,0,0), + (424,110172,11,0,0), + (424,130033,0,0,0), + (424,140011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (424,160014,0,0,0), + (424,180002,0,0,0), + (424,190015,0,0,0), + (424,200003,0,0,0), + (424,230001,0,0,0), + (424,240001,0,0,0), + (424,250002,0,0,0), + (424,280002,0,0,0), + (424,290004,0,0,0), + (424,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (424,320002,0,0,0), + (424,330018,0,0,0), + (424,340002,0,0,0), + (424,1000075,0,0,0), + (424,1100014,0,0,0), + (424,1200001,0,0,0), + (425,1001,0,0,0), + (425,2001,0,0,0), + (425,4001,0,0,0), + (425,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (425,6001,0,0,0), + (425,10003,10,0,0), + (425,10010,11,0,0), + (425,11004,10,0,0), + (425,11004,11,0,0), + (425,12031,11,0,0), + (425,12033,10,0,0), + (425,15001,0,0,0), + (425,20111,0,0,0), + (425,22014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (425,31153,0,0,0), + (425,36001,0,0,0), + (425,37001,0,0,0), + (425,40062,0,0,0), + (425,100002,10,0,0), + (425,100002,11,0,0), + (425,110170,10,0,0), + (425,110170,11,0,0), + (425,130039,0,0,0), + (425,140019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (425,160034,0,0,0), + (425,180059,0,0,0), + (425,190029,0,0,0), + (425,200012,0,0,0), + (425,230005,0,0,0), + (425,240002,0,0,0), + (425,250005,0,0,0), + (425,280004,0,0,0), + (425,290007,0,0,0), + (425,300011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (425,320007,0,0,0), + (425,330033,0,0,0), + (425,340003,0,0,0), + (425,1000006,0,0,0), + (425,1100043,0,0,0), + (425,1200005,0,0,0), + (426,1001,0,0,0), + (426,2001,0,0,0), + (426,4001,0,0,0), + (426,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (426,6001,0,0,0), + (426,10030,10,0,0), + (426,10030,11,0,0), + (426,11008,10,0,0), + (426,11008,11,0,0), + (426,12038,11,0,0), + (426,12040,10,0,0), + (426,13012,10,0,0), + (426,14003,11,0,0), + (426,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (426,20134,0,0,0), + (426,22001,0,0,0), + (426,31153,0,0,0), + (426,36001,0,0,0), + (426,37001,0,0,0), + (426,40035,0,0,0), + (426,100005,10,0,0), + (426,100005,11,0,0), + (426,110109,10,0,0), + (426,110109,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (426,130046,0,0,0), + (426,140019,0,0,0), + (426,160078,0,0,0), + (426,180037,0,0,0), + (426,190069,0,0,0), + (426,200053,0,0,0), + (426,230003,0,0,0), + (426,240007,0,0,0), + (426,250007,0,0,0), + (426,280042,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (426,290005,0,0,0), + (426,300008,0,0,0), + (426,320012,0,0,0), + (426,330019,0,0,0), + (426,340003,0,0,0), + (426,1000011,0,0,0), + (426,1100045,0,0,0), + (426,1200039,0,0,0), + (427,1001,0,0,0), + (427,2001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (427,4001,0,0,0), + (427,5001,0,0,0), + (427,6001,0,0,0), + (427,10012,10,0,0), + (427,10012,11,0,0), + (427,11004,10,0,0), + (427,11004,11,0,0), + (427,12031,11,0,0), + (427,12033,10,0,0), + (427,15001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (427,20124,0,0,0), + (427,22005,0,0,0), + (427,31153,0,0,0), + (427,36001,0,0,0), + (427,37001,0,0,0), + (427,40014,0,0,0), + (427,100002,10,0,0), + (427,100002,11,0,0), + (427,110100,10,0,0), + (427,110101,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (427,130033,0,0,0), + (427,140008,0,0,0), + (427,160010,0,0,0), + (427,180055,0,0,0), + (427,190071,0,0,0), + (427,200056,0,0,0), + (427,230001,0,0,0), + (427,240001,0,0,0), + (427,250002,0,0,0), + (427,280044,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (427,290003,0,0,0), + (427,300001,0,0,0), + (427,320092,0,0,0), + (427,330052,0,0,0), + (427,340002,0,0,0), + (427,1000154,0,0,0), + (427,1100112,0,0,0), + (427,1200042,0,0,0), + (428,1001,0,0,0), + (428,2001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (428,4001,0,0,0), + (428,5001,0,0,0), + (428,6001,0,0,0), + (428,10006,11,0,0), + (428,10015,10,0,0), + (428,11006,10,0,0), + (428,11006,11,0,0), + (428,12027,11,0,0), + (428,12030,10,0,0), + (428,13007,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (428,15001,0,0,0), + (428,20114,0,0,0), + (428,22009,0,0,0), + (428,31153,0,0,0), + (428,36001,0,0,0), + (428,37001,0,0,0), + (428,40018,0,0,0), + (428,100002,10,0,0), + (428,100002,11,0,0), + (428,110168,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (428,110168,11,0,0), + (428,130016,0,0,0), + (428,140009,0,0,0), + (428,160006,0,0,0), + (428,180014,0,0,0), + (428,190016,0,0,0), + (428,200002,0,0,0), + (428,230001,0,0,0), + (428,240001,0,0,0), + (428,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (428,280024,0,0,0), + (428,290001,0,0,0), + (428,300001,0,0,0), + (428,320030,0,0,0), + (428,330013,0,0,0), + (428,340002,0,0,0), + (428,1000015,0,0,0), + (428,1100001,0,0,0), + (428,1200034,0,0,0), + (429,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (429,2001,0,0,0), + (429,4001,0,0,0), + (429,5001,0,0,0), + (429,6001,0,0,0), + (429,10011,10,0,0), + (429,10011,11,0,0), + (429,11004,10,0,0), + (429,11004,11,0,0), + (429,12031,10,0,0), + (429,12031,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (429,15001,0,0,0), + (429,20115,0,0,0), + (429,22009,0,0,0), + (429,31153,0,0,0), + (429,36001,0,0,0), + (429,37001,0,0,0), + (429,40017,0,0,0), + (429,100004,10,0,0), + (429,100004,11,0,0), + (429,110091,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (429,110091,11,0,0), + (429,130021,0,0,0), + (429,140009,0,0,0), + (429,160006,0,0,0), + (429,180014,0,0,0), + (429,190016,0,0,0), + (429,200002,0,0,0), + (429,230001,0,0,0), + (429,240001,0,0,0), + (429,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (429,280024,0,0,0), + (429,290004,0,0,0), + (429,300001,0,0,0), + (429,320030,0,0,0), + (429,330053,0,0,0), + (429,340002,0,0,0), + (429,1000015,0,0,0), + (429,1100001,0,0,0), + (429,1200034,0,0,0), + (430,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (430,2001,0,0,0), + (430,4001,0,0,0), + (430,5001,0,0,0), + (430,6001,0,0,0), + (430,10011,10,0,0), + (430,10011,11,0,0), + (430,11004,10,0,0), + (430,11004,11,0,0), + (430,12031,10,0,0), + (430,12031,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (430,15001,0,0,0), + (430,20105,0,0,0), + (430,22014,0,0,0), + (430,31153,0,0,0), + (430,36001,0,0,0), + (430,37001,0,0,0), + (430,40007,0,0,0), + (430,100002,10,0,0), + (430,100002,11,0,0), + (430,110091,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (430,110091,11,0,0), + (430,130047,0,0,0), + (430,140008,0,0,0), + (430,160026,0,0,0), + (430,180018,0,0,0), + (430,190077,0,0,0), + (430,200066,0,0,0), + (430,230001,0,0,0), + (430,240001,0,0,0), + (430,250001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (430,280030,0,0,0), + (430,290002,0,0,0), + (430,300001,0,0,0), + (430,320098,0,0,0), + (430,330058,0,0,0), + (430,340002,0,0,0), + (430,1000001,0,0,0), + (430,1100119,0,0,0), + (430,1200048,0,0,0), + (431,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (431,2001,0,0,0), + (431,4001,0,0,0), + (431,5001,0,0,0), + (431,6001,0,0,0), + (431,10030,10,0,0), + (431,10030,11,0,0), + (431,11008,10,0,0), + (431,11008,11,0,0), + (431,12038,11,0,0), + (431,12040,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (431,15001,0,0,0), + (431,20128,0,0,0), + (431,22009,0,0,0), + (431,25005,0,0,0), + (431,31153,0,0,0), + (431,36001,0,0,0), + (431,37001,0,0,0), + (431,40023,0,0,0), + (431,100095,10,0,0), + (431,100095,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (431,110174,10,0,0), + (431,110174,11,0,0), + (431,130036,0,0,0), + (431,140020,0,0,0), + (431,160017,0,0,0), + (431,180013,0,0,0), + (431,190015,0,0,0), + (431,200051,0,0,0), + (431,230004,0,0,0), + (431,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (431,250004,0,0,0), + (431,280006,0,0,0), + (431,290005,0,0,0), + (431,300008,0,0,0), + (431,320031,0,0,0), + (431,330027,0,0,0), + (431,340003,0,0,0), + (431,350005,0,0,0), + (431,1000025,0,0,0), + (431,1100014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (431,1200024,0,0,0), + (432,1001,0,0,0), + (432,2001,0,0,0), + (432,4001,0,0,0), + (432,5001,0,0,0), + (432,6001,0,0,0), + (432,10009,11,0,0), + (432,10010,10,0,0), + (432,11004,10,0,0), + (432,11004,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (432,12004,11,0,0), + (432,12006,10,0,0), + (432,15001,0,0,0), + (432,20101,0,0,0), + (432,22016,0,0,0), + (432,23003,0,0,0), + (432,31153,0,0,0), + (432,34001,10,0,0), + (432,34001,11,0,0), + (432,35001,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (432,35001,11,0,0), + (432,36001,0,0,0), + (432,37001,0,0,0), + (432,40002,0,0,0), + (432,100002,10,0,0), + (432,100002,11,0,0), + (432,110047,10,0,0), + (432,110047,11,0,0), + (432,130012,0,0,0), + (432,140036,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (432,160021,0,0,0), + (432,180019,0,0,0), + (432,190021,0,0,0), + (432,200019,0,0,0), + (432,230002,0,0,0), + (432,240003,0,0,0), + (432,250001,0,0,0), + (432,280019,0,0,0), + (432,290001,0,0,0), + (432,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (432,320023,0,0,0), + (432,330016,0,0,0), + (432,340001,0,0,0), + (432,1000002,0,0,0), + (432,1100016,0,0,0), + (432,1200018,0,0,0), + (433,1001,0,0,0), + (433,2001,0,0,0), + (433,4001,0,0,0), + (433,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (433,6001,0,0,0), + (433,10009,11,0,0), + (433,10010,10,0,0), + (433,11004,10,0,0), + (433,11004,11,0,0), + (433,12007,10,0,0), + (433,12028,11,0,0), + (433,15001,0,0,0), + (433,20102,0,0,0), + (433,22016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (433,23009,0,0,0), + (433,31153,0,0,0), + (433,35002,10,0,0), + (433,35002,11,0,0), + (433,36001,0,0,0), + (433,37001,0,0,0), + (433,40003,0,0,0), + (433,100002,10,0,0), + (433,100002,11,0,0), + (433,110013,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (433,110013,11,0,0), + (433,130012,0,0,0), + (433,140025,0,0,0), + (433,160021,0,0,0), + (433,180019,0,0,0), + (433,190021,0,0,0), + (433,200019,0,0,0), + (433,230002,0,0,0), + (433,240003,0,0,0), + (433,250001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (433,280019,0,0,0), + (433,290001,0,0,0), + (433,300001,0,0,0), + (433,320023,0,0,0), + (433,330006,0,0,0), + (433,340001,0,0,0), + (433,1000002,0,0,0), + (433,1100016,0,0,0), + (433,1200018,0,0,0), + (434,1001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (434,2001,0,0,0), + (434,4001,0,0,0), + (434,5001,0,0,0), + (434,6001,0,0,0), + (434,10001,10,0,0), + (434,10004,11,0,0), + (434,11004,10,0,0), + (434,11004,11,0,0), + (434,12007,11,0,0), + (434,12031,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (434,15001,0,0,0), + (434,18001,0,0,0), + (434,20104,0,0,0), + (434,22014,0,0,0), + (434,31153,0,0,0), + (434,36001,0,0,0), + (434,37001,0,0,0), + (434,40006,0,0,0), + (434,100006,10,0,0), + (434,100006,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (434,110067,10,0,0), + (434,110067,11,0,0), + (434,130047,0,0,0), + (434,140007,0,0,0), + (434,160026,0,0,0), + (434,180018,0,0,0), + (434,190077,0,0,0), + (434,200066,0,0,0), + (434,230001,0,0,0), + (434,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (434,250001,0,0,0), + (434,280030,0,0,0), + (434,290002,0,0,0), + (434,300001,0,0,0), + (434,320098,0,0,0), + (434,330058,0,0,0), + (434,340002,0,0,0), + (434,1000001,0,0,0), + (434,1100119,0,0,0), + (434,1200048,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (435,1001,0,0,0), + (435,2001,0,0,0), + (435,4001,0,0,0), + (435,5001,0,0,0), + (435,6001,0,0,0), + (435,10011,10,0,0), + (435,10011,11,0,0), + (435,11004,10,0,0), + (435,11004,11,0,0), + (435,12025,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (435,12032,10,0,0), + (435,15001,0,0,0), + (435,20106,0,0,0), + (435,22014,0,0,0), + (435,31153,0,0,0), + (435,36001,0,0,0), + (435,37001,0,0,0), + (435,40008,0,0,0), + (435,100002,10,0,0), + (435,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (435,110061,10,0,0), + (435,110061,11,0,0), + (435,130026,0,0,0), + (435,140019,0,0,0), + (435,160028,0,0,0), + (435,180018,0,0,0), + (435,190077,0,0,0), + (435,200066,0,0,0), + (435,230001,0,0,0), + (435,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (435,250001,0,0,0), + (435,280030,0,0,0), + (435,290002,0,0,0), + (435,300001,0,0,0), + (435,320040,0,0,0), + (435,330035,0,0,0), + (435,340002,0,0,0), + (435,1000099,0,0,0), + (435,1100119,0,0,0), + (435,1200048,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (436,1001,0,0,0), + (436,2001,0,0,0), + (436,4001,0,0,0), + (436,5001,0,0,0), + (436,6001,0,0,0), + (436,10010,10,0,0), + (436,10010,11,0,0), + (436,11004,10,0,0), + (436,11004,11,0,0), + (436,12009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (436,12032,10,0,0), + (436,15001,0,0,0), + (436,20109,0,0,0), + (436,22014,0,0,0), + (436,31153,0,0,0), + (436,36001,0,0,0), + (436,37001,0,0,0), + (436,40011,0,0,0), + (436,100002,10,0,0), + (436,100002,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (436,110067,10,0,0), + (436,110067,11,0,0), + (436,130034,0,0,0), + (436,140019,0,0,0), + (436,160025,0,0,0), + (436,180030,0,0,0), + (436,190020,0,0,0), + (436,200004,0,0,0), + (436,230001,0,0,0), + (436,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (436,250001,0,0,0), + (436,280018,0,0,0), + (436,290001,0,0,0), + (436,300001,0,0,0), + (436,320022,0,0,0), + (436,330003,0,0,0), + (436,340002,0,0,0), + (436,1000138,0,0,0), + (436,1100005,0,0,0), + (436,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (437,1001,0,0,0), + (437,2001,0,0,0), + (437,4001,0,0,0), + (437,5001,0,0,0), + (437,6001,0,0,0), + (437,10002,10,0,0), + (437,10010,11,0,0), + (437,11006,10,0,0), + (437,11006,11,0,0), + (437,12032,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (437,12033,10,0,0), + (437,15001,0,0,0), + (437,20211,0,0,0), + (437,22014,0,0,0), + (437,30001,11,0,0), + (437,31153,0,0,0), + (437,36001,0,0,0), + (437,37001,0,0,0), + (437,40039,0,0,0), + (437,100002,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (437,100002,11,0,0), + (437,110061,10,0,0), + (437,110061,11,0,0), + (437,130034,0,0,0), + (437,140009,0,0,0), + (437,160033,0,0,0), + (437,180051,0,0,0), + (437,190027,0,0,0), + (437,200028,0,0,0), + (437,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (437,240001,0,0,0), + (437,250001,0,0,0), + (437,280008,0,0,0), + (437,290002,0,0,0), + (437,300002,0,0,0), + (437,320011,0,0,0), + (437,330033,0,0,0), + (437,340003,0,0,0), + (437,1000005,0,0,0), + (437,1100040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (437,1200029,0,0,0), + (438,1001,0,0,0), + (438,2001,0,0,0), + (438,4001,0,0,0), + (438,5001,0,0,0), + (438,6001,0,0,0), + (438,10010,11,0,0), + (438,10017,10,0,0), + (438,11009,10,0,0), + (438,11009,11,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (438,12008,11,0,0), + (438,12031,10,0,0), + (438,13007,11,0,0), + (438,13009,10,0,0), + (438,15001,0,0,0), + (438,20111,0,0,0), + (438,22014,0,0,0), + (438,29002,10,0,0), + (438,30003,11,0,0), + (438,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (438,36001,0,0,0), + (438,37001,0,0,0), + (438,40013,0,0,0), + (438,100112,10,0,0), + (438,100112,11,0,0), + (438,110094,10,0,0), + (438,110095,11,0,0), + (438,130034,0,0,0), + (438,140009,0,0,0), + (438,160027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (438,180034,0,0,0), + (438,190001,0,0,0), + (438,200054,0,0,0), + (438,230003,0,0,0), + (438,240005,0,0,0), + (438,250001,0,0,0), + (438,280041,0,0,0), + (438,290002,0,0,0), + (438,300011,0,0,0), + (438,320087,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (438,330025,0,0,0), + (438,340003,0,0,0), + (438,1000139,0,0,0), + (438,1100005,0,0,0), + (438,1200038,0,0,0), + (439,1001,0,0,0), + (439,2001,0,0,0), + (439,4001,0,0,0), + (439,5001,0,0,0), + (439,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (439,10011,10,0,0), + (439,10011,11,0,0), + (439,11004,10,0,0), + (439,11004,11,0,0), + (439,12008,11,0,0), + (439,12032,10,0,0), + (439,15001,0,0,0), + (439,20116,0,0,0), + (439,22009,0,0,0), + (439,31153,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (439,36001,0,0,0), + (439,37001,0,0,0), + (439,40022,0,0,0), + (439,100001,10,0,0), + (439,100001,11,0,0), + (439,110064,10,0,0), + (439,110064,11,0,0), + (439,130022,0,0,0), + (439,140009,0,0,0), + (439,160009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (439,180014,0,0,0), + (439,190016,0,0,0), + (439,200002,0,0,0), + (439,230001,0,0,0), + (439,240006,0,0,0), + (439,250002,0,0,0), + (439,280016,0,0,0), + (439,290004,0,0,0), + (439,300001,0,0,0), + (439,320020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (439,330053,0,0,0), + (439,340002,0,0,0), + (439,1000121,0,0,0), + (439,1100001,0,0,0), + (439,1200034,0,0,0), + (440,1001,0,0,0), + (440,2001,0,0,0), + (440,4001,0,0,0), + (440,5001,0,0,0), + (440,6001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (440,10002,10,0,0), + (440,10010,11,0,0), + (440,11004,10,0,0), + (440,11004,11,0,0), + (440,12007,11,0,0), + (440,12032,10,0,0), + (440,13009,10,0,0), + (440,15001,0,0,0), + (440,20121,0,0,0), + (440,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (440,31153,0,0,0), + (440,36001,0,0,0), + (440,37001,0,0,0), + (440,40030,0,0,0), + (440,100002,10,0,0), + (440,100002,11,0,0), + (440,110061,10,0,0), + (440,110061,11,0,0), + (440,130023,0,0,0), + (440,140007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (440,160012,0,0,0), + (440,180003,0,0,0), + (440,190016,0,0,0), + (440,200002,0,0,0), + (440,230001,0,0,0), + (440,240006,0,0,0), + (440,250002,0,0,0), + (440,280016,0,0,0), + (440,290004,0,0,0), + (440,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (440,320020,0,0,0), + (440,330008,0,0,0), + (440,340002,0,0,0), + (440,1000122,0,0,0), + (440,1100001,0,0,0), + (440,1200034,0,0,0), + (441,1001,0,0,0), + (441,2001,0,0,0), + (441,4001,0,0,0), + (441,5001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (441,6001,0,0,0), + (441,10021,10,0,0), + (441,10026,11,0,0), + (441,11006,10,0,0), + (441,11006,11,0,0), + (441,12008,10,0,0), + (441,12009,11,0,0), + (441,15001,0,0,0), + (441,20117,0,0,0), + (441,22009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (441,31153,0,0,0), + (441,36001,0,0,0), + (441,37001,0,0,0), + (441,40021,0,0,0), + (441,100002,10,0,0), + (441,100002,11,0,0), + (441,110173,10,0,0), + (441,110173,11,0,0), + (441,130016,0,0,0), + (441,140009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (441,160009,0,0,0), + (441,180014,0,0,0), + (441,190016,0,0,0), + (441,200002,0,0,0), + (441,230001,0,0,0), + (441,240006,0,0,0), + (441,250002,0,0,0), + (441,280024,0,0,0), + (441,290004,0,0,0), + (441,300001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (441,320030,0,0,0), + (441,330057,0,0,0), + (441,340003,0,0,0), + (441,1000073,0,0,0), + (441,1100025,0,0,0), + (441,1200023,0,0,0), + (1001,11004,10,0,0), + (1001,11004,11,0,0), + (1001,12006,11,0,0), + (1001,12009,10,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (4001,130012,0,0,0), + (4001,140014,0,0,0), + (5001,10021,10,0,0), + (5001,10026,11,0,0), + (15001,100002,10,0,0), + (15001,100002,11,0,0), + (15001,110027,10,1,1), + (15001,110027,11,0,0), + (36002,160021,0,0,0), + (36002,180019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36002,190021,0,0,0), + (36002,200019,0,0,0), + (36002,230001,0,0,0), + (36002,240003,0,0,0), + (36002,250001,0,0,0), + (36002,280019,0,0,0), + (36002,320023,0,0,0), + (36002,330016,0,0,0), + (36002,340001,0,0,0), + (36002,1000002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36002,1100016,0,0,0), + (36002,1200018,0,0,0), + (36003,160021,0,0,0), + (36003,180019,0,0,0), + (36003,190021,0,0,0), + (36003,200019,0,0,0), + (36003,230001,0,0,0), + (36003,240003,0,0,0), + (36003,250001,0,0,0), + (36003,280019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36003,320023,0,0,0), + (36003,330006,0,0,0), + (36003,340001,0,0,0), + (36003,1000020,0,0,0), + (36003,1100016,0,0,0), + (36003,1200018,0,0,0), + (36004,160047,0,0,0), + (36004,180019,0,0,0), + (36004,190021,0,0,0), + (36004,200019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36004,230002,0,0,0), + (36004,240001,0,0,0), + (36004,250001,0,0,0), + (36004,280019,0,0,0), + (36004,320023,0,0,0), + (36004,330005,0,0,0), + (36004,340001,0,0,0), + (36004,1000003,0,0,0), + (36004,1100016,0,0,0), + (36004,1200018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36005,160022,0,0,0), + (36005,180019,0,0,0), + (36005,190021,0,0,0), + (36005,200019,0,0,0), + (36005,230001,0,0,0), + (36005,240003,0,0,0), + (36005,250001,0,0,0), + (36005,280019,0,0,0), + (36005,320023,0,0,0), + (36005,330006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36005,340001,0,0,0), + (36005,1000002,0,0,0), + (36005,1100016,0,0,0), + (36005,1200018,0,0,0), + (36006,160028,0,0,0), + (36006,180018,0,0,0), + (36006,190077,0,0,0), + (36006,200042,0,0,0), + (36006,230001,0,0,0), + (36006,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36006,250001,0,0,0), + (36006,280030,0,0,0), + (36006,320040,0,0,0), + (36006,330035,0,0,0), + (36006,340002,0,0,0), + (36006,1000099,0,0,0), + (36006,1100119,0,0,0), + (36006,1200048,0,0,0), + (36007,160032,0,0,0), + (36007,180035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36007,190019,0,0,0), + (36007,200028,0,0,0), + (36007,230003,0,0,0), + (36007,240006,0,0,0), + (36007,250006,0,0,0), + (36007,280031,0,0,0), + (36007,320006,0,0,0), + (36007,330022,0,0,0), + (36007,340003,0,0,0), + (36007,1000005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36007,1100040,0,0,0), + (36007,1200029,0,0,0), + (36008,160025,0,0,0), + (36008,180030,0,0,0), + (36008,190020,0,0,0), + (36008,200004,0,0,0), + (36008,230001,0,0,0), + (36008,240001,0,0,0), + (36008,250001,0,0,0), + (36008,280018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36008,320022,0,0,0), + (36008,330003,0,0,0), + (36008,340002,0,0,0), + (36008,1000137,0,0,0), + (36008,1100005,0,0,0), + (36008,1200017,0,0,0), + (36009,160027,0,0,0), + (36009,180030,0,0,0), + (36009,190020,0,0,0), + (36009,200004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36009,230001,0,0,0), + (36009,240001,0,0,0), + (36009,250001,0,0,0), + (36009,280018,0,0,0), + (36009,320022,0,0,0), + (36009,330042,0,0,0), + (36009,340002,0,0,0), + (36009,1000137,0,0,0), + (36009,1100005,0,0,0), + (36009,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36010,160082,0,0,0), + (36010,180059,0,0,0), + (36010,190029,0,0,0), + (36010,200012,0,0,0), + (36010,230005,0,0,0), + (36010,240002,0,0,0), + (36010,250005,0,0,0), + (36010,280004,0,0,0), + (36010,320007,0,0,0), + (36010,330033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36010,340003,0,0,0), + (36010,1000006,0,0,0), + (36010,1100043,0,0,0), + (36010,1200005,0,0,0), + (36011,160048,0,0,0), + (36011,180022,0,0,0), + (36011,190068,0,0,0), + (36011,200022,0,0,0), + (36011,230001,0,0,0), + (36011,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36011,250003,0,0,0), + (36011,280022,0,0,0), + (36011,320026,0,0,0), + (36011,330020,0,0,0), + (36011,340002,0,0,0), + (36011,1000007,0,0,0), + (36011,1100019,0,0,0), + (36011,1200021,0,0,0), + (36012,160049,0,0,0), + (36012,180022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36012,190068,0,0,0), + (36012,200022,0,0,0), + (36012,230001,0,0,0), + (36012,240001,0,0,0), + (36012,250003,0,0,0), + (36012,280022,0,0,0), + (36012,320026,0,0,0), + (36012,330020,0,0,0), + (36012,340002,0,0,0), + (36012,1000008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36012,1100019,0,0,0), + (36012,1200021,0,0,0), + (36013,160013,0,0,0), + (36013,180012,0,0,0), + (36013,190014,0,0,0), + (36013,200018,0,0,0), + (36013,230001,0,0,0), + (36013,240001,0,0,0), + (36013,250002,0,0,0), + (36013,280015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36013,320021,0,0,0), + (36013,330008,0,0,0), + (36013,340002,0,0,0), + (36013,1000068,0,0,0), + (36013,1100013,0,0,0), + (36013,1200014,0,0,0), + (36014,160054,0,0,0), + (36014,180016,0,0,0), + (36014,190018,0,0,0), + (36014,200006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36014,230001,0,0,0), + (36014,240001,0,0,0), + (36014,250002,0,0,0), + (36014,280003,0,0,0), + (36014,320003,0,0,0), + (36014,330052,0,0,0), + (36014,340002,0,0,0), + (36014,1000119,0,0,0), + (36014,1100002,0,0,0), + (36014,1200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36015,160055,0,0,0), + (36015,180015,0,0,0), + (36015,190017,0,0,0), + (36015,200029,0,0,0), + (36015,230001,0,0,0), + (36015,240005,0,0,0), + (36015,250002,0,0,0), + (36015,280034,0,0,0), + (36015,320089,0,0,0), + (36015,330034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36015,340002,0,0,0), + (36015,1000113,0,0,0), + (36015,1000120,0,0,0), + (36015,1100044,0,0,0), + (36015,1200015,0,0,0), + (36016,160078,0,0,0), + (36016,180037,0,0,0), + (36016,190069,0,0,0), + (36016,200053,0,0,0), + (36016,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36016,240007,0,0,0), + (36016,250007,0,0,0), + (36016,280042,0,0,0), + (36016,320065,0,0,0), + (36016,330019,0,0,0), + (36016,340003,0,0,0), + (36016,1000011,0,0,0), + (36016,1000021,0,0,0), + (36016,1100045,0,0,0), + (36016,1200039,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36017,160057,0,0,0), + (36017,180016,0,0,0), + (36017,190018,0,0,0), + (36017,200006,0,0,0), + (36017,230001,0,0,0), + (36017,240001,0,0,0), + (36017,250002,0,0,0), + (36017,280003,0,0,0), + (36017,320003,0,0,0), + (36017,330034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36017,340002,0,0,0), + (36017,1000117,0,0,0), + (36017,1100002,0,0,0), + (36017,1200002,0,0,0), + (36018,160057,0,0,0), + (36018,180016,0,0,0), + (36018,190018,0,0,0), + (36018,200006,0,0,0), + (36018,230003,0,0,0), + (36018,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36018,250002,0,0,0), + (36018,280003,0,0,0), + (36018,320052,0,0,0), + (36018,330021,0,0,0), + (36018,340002,0,0,0), + (36018,1000012,0,0,0), + (36018,1100048,0,0,0), + (36018,1200002,0,0,0), + (36019,160010,0,0,0), + (36019,180055,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36019,190071,0,0,0), + (36019,200056,0,0,0), + (36019,230001,0,0,0), + (36019,240001,0,0,0), + (36019,250002,0,0,0), + (36019,280044,0,0,0), + (36019,320092,0,0,0), + (36019,330052,0,0,0), + (36019,340002,0,0,0), + (36019,1000154,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36019,1100112,0,0,0), + (36019,1200042,0,0,0), + (36020,160001,0,0,0), + (36020,180049,0,0,0), + (36020,190013,0,0,0), + (36020,200059,0,0,0), + (36020,230001,0,0,0), + (36020,240001,0,0,0), + (36020,250002,0,0,0), + (36020,280045,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36020,320033,0,0,0), + (36020,330034,0,0,0), + (36020,340002,0,0,0), + (36020,1000060,0,0,0), + (36020,1100113,0,0,0), + (36020,1200013,0,0,0), + (36021,160006,0,0,0), + (36021,180014,0,0,0), + (36021,190016,0,0,0), + (36021,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36021,230001,0,0,0), + (36021,240001,0,0,0), + (36021,250002,0,0,0), + (36021,280024,0,0,0), + (36021,320030,0,0,0), + (36021,330013,0,0,0), + (36021,340002,0,0,0), + (36021,1000015,0,0,0), + (36021,1100001,0,0,0), + (36021,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36022,160013,0,0,0), + (36022,180012,0,0,0), + (36022,190014,0,0,0), + (36022,200018,0,0,0), + (36022,230001,0,0,0), + (36022,240001,0,0,0), + (36022,250002,0,0,0), + (36022,280015,0,0,0), + (36022,320021,0,0,0), + (36022,330029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36022,340002,0,0,0), + (36022,1000068,0,0,0), + (36022,1100013,0,0,0), + (36022,1200014,0,0,0), + (36023,160009,0,0,0), + (36023,180014,0,0,0), + (36023,190016,0,0,0), + (36023,200002,0,0,0), + (36023,230001,0,0,0), + (36023,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36023,250002,0,0,0), + (36023,280016,0,0,0), + (36023,320020,0,0,0), + (36023,330053,0,0,0), + (36023,340002,0,0,0), + (36023,1000121,0,0,0), + (36023,1100001,0,0,0), + (36023,1200034,0,0,0), + (36024,160039,0,0,0), + (36024,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36024,190006,0,0,0), + (36024,200023,0,0,0), + (36024,230001,0,0,0), + (36024,240005,0,0,0), + (36024,250002,0,0,0), + (36024,280023,0,0,0), + (36024,320027,0,0,0), + (36024,330043,0,0,0), + (36024,340002,0,0,0), + (36024,1000018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36024,1100020,0,0,0), + (36024,1200035,0,0,0), + (36025,160014,0,0,0), + (36025,180013,0,0,0), + (36025,190015,0,0,0), + (36025,200046,0,0,0), + (36025,230003,0,0,0), + (36025,240006,0,0,0), + (36025,250002,0,0,0), + (36025,280002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36025,320031,0,0,0), + (36025,330033,0,0,0), + (36025,340003,0,0,0), + (36025,1000019,0,0,0), + (36025,1100014,0,0,0), + (36025,1200001,0,0,0), + (36026,25006,0,0,0), + (36026,160040,0,0,0), + (36026,180023,0,0,0), + (36026,190006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36026,200023,0,0,0), + (36026,200027,0,0,0), + (36026,230001,0,0,0), + (36026,240006,0,0,0), + (36026,250002,0,0,0), + (36026,280028,0,0,0), + (36026,320027,0,0,0), + (36026,330043,0,0,0), + (36026,340002,0,0,0), + (36026,1000051,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36026,1100034,0,0,0), + (36026,1200035,0,0,0), + (36027,160012,0,0,0), + (36027,180003,0,0,0), + (36027,190016,0,0,0), + (36027,200002,0,0,0), + (36027,230001,0,0,0), + (36027,240006,0,0,0), + (36027,250002,0,0,0), + (36027,280016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36027,320020,0,0,0), + (36027,330008,0,0,0), + (36027,340002,0,0,0), + (36027,1000122,0,0,0), + (36027,1100001,0,0,0), + (36027,1200034,0,0,0), + (36028,160038,0,0,0), + (36028,180026,0,0,0), + (36028,190022,0,0,0), + (36028,200020,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36028,230003,0,0,0), + (36028,240006,0,0,0), + (36028,250002,0,0,0), + (36028,280020,0,0,0), + (36028,320024,0,0,0), + (36028,330043,0,0,0), + (36028,340002,0,0,0), + (36028,1000017,0,0,0), + (36028,1100017,0,0,0), + (36028,1200019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36029,160042,0,0,0), + (36029,180028,0,0,0), + (36029,190025,0,0,0), + (36029,200027,0,0,0), + (36029,230003,0,0,0), + (36029,240005,0,0,0), + (36029,250002,0,0,0), + (36029,280029,0,0,0), + (36029,320039,0,0,0), + (36029,330043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36029,340003,0,0,0), + (36029,1000092,0,0,0), + (36029,1100037,0,0,0), + (36029,1200035,0,0,0), + (36030,160001,0,0,0), + (36030,180049,0,0,0), + (36030,190013,0,0,0), + (36030,200060,0,0,0), + (36030,230001,0,0,0), + (36030,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36030,250002,0,0,0), + (36030,280045,0,0,0), + (36030,320033,0,0,0), + (36030,330034,0,0,0), + (36030,340002,0,0,0), + (36030,1000060,0,0,0), + (36030,1100113,0,0,0), + (36030,1200013,0,0,0), + (36031,160005,0,0,0), + (36031,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36031,190016,0,0,0), + (36031,200002,0,0,0), + (36031,230002,0,0,0), + (36031,240001,0,0,0), + (36031,250002,0,0,0), + (36031,280016,0,0,0), + (36031,320020,0,0,0), + (36031,330054,0,0,0), + (36031,340001,0,0,0), + (36031,1000069,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36031,1100001,0,0,0), + (36031,1200034,0,0,0), + (36032,160005,0,0,0), + (36032,180014,0,0,0), + (36032,190016,0,0,0), + (36032,200002,0,0,0), + (36032,230002,0,0,0), + (36032,240001,0,0,0), + (36032,250002,0,0,0), + (36032,280016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36032,320020,0,0,0), + (36032,330020,0,0,0), + (36032,340001,0,0,0), + (36032,1000069,0,0,0), + (36032,1100001,0,0,0), + (36032,1200034,0,0,0), + (36033,160005,0,0,0), + (36033,180014,0,0,0), + (36033,190016,0,0,0), + (36033,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36033,230001,0,0,0), + (36033,240001,0,0,0), + (36033,250002,0,0,0), + (36033,280016,0,0,0), + (36033,320020,0,0,0), + (36033,330053,0,0,0), + (36033,340002,0,0,0), + (36033,1000069,0,0,0), + (36033,1100001,0,0,0), + (36033,1200023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36034,160006,0,0,0), + (36034,180014,0,0,0), + (36034,190016,0,0,0), + (36034,200002,0,0,0), + (36034,230001,0,0,0), + (36034,240001,0,0,0), + (36034,250002,0,0,0), + (36034,280024,0,0,0), + (36034,320020,0,0,0), + (36034,330054,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36034,340002,0,0,0), + (36034,1000123,0,0,0), + (36034,1100022,0,0,0), + (36034,1200034,0,0,0), + (36035,160006,0,0,0), + (36035,180014,0,0,0), + (36035,190016,0,0,0), + (36035,200002,0,0,0), + (36035,230001,0,0,0), + (36035,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36035,250002,0,0,0), + (36035,280024,0,0,0), + (36035,320020,0,0,0), + (36035,330056,0,0,0), + (36035,340002,0,0,0), + (36035,1000015,0,0,0), + (36035,1100022,0,0,0), + (36035,1200034,0,0,0), + (36036,160006,0,0,0), + (36036,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36036,190016,0,0,0), + (36036,200002,0,0,0), + (36036,230001,0,0,0), + (36036,240001,0,0,0), + (36036,250002,0,0,0), + (36036,280024,0,0,0), + (36036,320020,0,0,0), + (36036,330055,0,0,0), + (36036,340002,0,0,0), + (36036,1000015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36036,1100022,0,0,0), + (36036,1200034,0,0,0), + (36037,160006,0,0,0), + (36037,180014,0,0,0), + (36037,190016,0,0,0), + (36037,200002,0,0,0), + (36037,230001,0,0,0), + (36037,240001,0,0,0), + (36037,250002,0,0,0), + (36037,280024,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36037,320020,0,0,0), + (36037,330055,0,0,0), + (36037,340002,0,0,0), + (36037,1000123,0,0,0), + (36037,1100025,0,0,0), + (36037,1200034,0,0,0), + (36038,160006,0,0,0), + (36038,180014,0,0,0), + (36038,190016,0,0,0), + (36038,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36038,230001,0,0,0), + (36038,240001,0,0,0), + (36038,250002,0,0,0), + (36038,280024,0,0,0), + (36038,320030,0,0,0), + (36038,330013,0,0,0), + (36038,340002,0,0,0), + (36038,1000071,0,0,0), + (36038,1100025,0,0,0), + (36038,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36039,160006,0,0,0), + (36039,180014,0,0,0), + (36039,190016,0,0,0), + (36039,200002,0,0,0), + (36039,230001,0,0,0), + (36039,240001,0,0,0), + (36039,250002,0,0,0), + (36039,280024,0,0,0), + (36039,320030,0,0,0), + (36039,330057,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36039,340002,0,0,0), + (36039,1000071,0,0,0), + (36039,1100025,0,0,0), + (36039,1200034,0,0,0), + (36040,160006,0,0,0), + (36040,180014,0,0,0), + (36040,190016,0,0,0), + (36040,200002,0,0,0), + (36040,230001,0,0,0), + (36040,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36040,250002,0,0,0), + (36040,280024,0,0,0), + (36040,320030,0,0,0), + (36040,330057,0,0,0), + (36040,340002,0,0,0), + (36040,1000072,0,0,0), + (36040,1100022,0,0,0), + (36040,1200034,0,0,0), + (36041,160006,0,0,0), + (36041,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36041,190016,0,0,0), + (36041,200002,0,0,0), + (36041,230001,0,0,0), + (36041,240001,0,0,0), + (36041,250002,0,0,0), + (36041,280024,0,0,0), + (36041,320029,0,0,0), + (36041,330057,0,0,0), + (36041,340002,0,0,0), + (36041,1000072,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36041,1100023,0,0,0), + (36041,1200034,0,0,0), + (36042,160005,0,0,0), + (36042,180014,0,0,0), + (36042,190016,0,0,0), + (36042,200024,0,0,0), + (36042,230001,0,0,0), + (36042,240005,0,0,0), + (36042,250002,0,0,0), + (36042,280016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36042,320028,0,0,0), + (36042,330055,0,0,0), + (36042,340002,0,0,0), + (36042,1000070,0,0,0), + (36042,1100025,0,0,0), + (36042,1200023,0,0,0), + (36043,160009,0,0,0), + (36043,180014,0,0,0), + (36043,190016,0,0,0), + (36043,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36043,230001,0,0,0), + (36043,240001,0,0,0), + (36043,250002,0,0,0), + (36043,280024,0,0,0), + (36043,320020,0,0,0), + (36043,330053,0,0,0), + (36043,340002,0,0,0), + (36043,1000071,0,0,0), + (36043,1100001,0,0,0), + (36043,1200034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36044,160009,0,0,0), + (36044,180014,0,0,0), + (36044,190016,0,0,0), + (36044,200002,0,0,0), + (36044,230001,0,0,0), + (36044,240001,0,0,0), + (36044,250002,0,0,0), + (36044,280024,0,0,0), + (36044,320020,0,0,0), + (36044,330053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36044,340002,0,0,0), + (36044,1000121,0,0,0), + (36044,1100001,0,0,0), + (36044,1200034,0,0,0), + (36045,160009,0,0,0), + (36045,180014,0,0,0), + (36045,190016,0,0,0), + (36045,200002,0,0,0), + (36045,230001,0,0,0), + (36045,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36045,250002,0,0,0), + (36045,280024,0,0,0), + (36045,320020,0,0,0), + (36045,330034,0,0,0), + (36045,340002,0,0,0), + (36045,1000073,0,0,0), + (36045,1100001,0,0,0), + (36045,1200023,0,0,0), + (36046,160009,0,0,0), + (36046,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36046,190016,0,0,0), + (36046,200002,0,0,0), + (36046,230001,0,0,0), + (36046,240006,0,0,0), + (36046,250002,0,0,0), + (36046,280024,0,0,0), + (36046,320030,0,0,0), + (36046,330057,0,0,0), + (36046,340002,0,0,0), + (36046,1000073,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36046,1100025,0,0,0), + (36046,1200023,0,0,0), + (36047,160009,0,0,0), + (36047,180014,0,0,0), + (36047,190016,0,0,0), + (36047,200002,0,0,0), + (36047,230001,0,0,0), + (36047,240006,0,0,0), + (36047,250002,0,0,0), + (36047,280024,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36047,320020,0,0,0), + (36047,330034,0,0,0), + (36047,340002,0,0,0), + (36047,1000125,0,0,0), + (36047,1100001,0,0,0), + (36047,1200023,0,0,0), + (36048,160009,0,0,0), + (36048,180014,0,0,0), + (36048,190016,0,0,0), + (36048,200002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36048,230001,0,0,0), + (36048,240006,0,0,0), + (36048,250002,0,0,0), + (36048,280024,0,0,0), + (36048,320030,0,0,0), + (36048,330057,0,0,0), + (36048,340003,0,0,0), + (36048,1000125,0,0,0), + (36048,1100025,0,0,0), + (36048,1200023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36049,160007,0,0,0), + (36049,180014,0,0,0), + (36049,190016,0,0,0), + (36049,200047,0,0,0), + (36049,230003,0,0,0), + (36049,240008,0,0,0), + (36049,250002,0,0,0), + (36049,280024,0,0,0), + (36049,320029,0,0,0), + (36049,330025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36049,340003,0,0,0), + (36049,1000125,0,0,0), + (36049,1100024,0,0,0), + (36049,1100025,0,0,0), + (36049,1200023,0,0,0), + (36050,160012,0,0,0), + (36050,180014,0,0,0), + (36050,190016,0,0,0), + (36050,200002,0,0,0), + (36050,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36050,240006,0,0,0), + (36050,250002,0,0,0), + (36050,280016,0,0,0), + (36050,320020,0,0,0), + (36050,330018,0,0,0), + (36050,340002,0,0,0), + (36050,1000122,0,0,0), + (36050,1100001,0,0,0), + (36050,1200034,0,0,0), + (36051,160012,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36051,180003,0,0,0), + (36051,190016,0,0,0), + (36051,200002,0,0,0), + (36051,230001,0,0,0), + (36051,240006,0,0,0), + (36051,250002,0,0,0), + (36051,280016,0,0,0), + (36051,320020,0,0,0), + (36051,330056,0,0,0), + (36051,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36051,1000074,0,0,0), + (36051,1100001,0,0,0), + (36051,1200034,0,0,0), + (36052,160012,0,0,0), + (36052,180003,0,0,0), + (36052,190016,0,0,0), + (36052,200002,0,0,0), + (36052,230001,0,0,0), + (36052,240006,0,0,0), + (36052,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36052,280016,0,0,0), + (36052,320020,0,0,0), + (36052,330018,0,0,0), + (36052,340002,0,0,0), + (36052,1000072,0,0,0), + (36052,1100025,0,0,0), + (36052,1200034,0,0,0), + (36053,160012,0,0,0), + (36053,180014,0,0,0), + (36053,190016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36053,200047,0,0,0), + (36053,230003,0,0,0), + (36053,240006,0,0,0), + (36053,250002,0,0,0), + (36053,280016,0,0,0), + (36053,320030,0,0,0), + (36053,330025,0,0,0), + (36053,340003,0,0,0), + (36053,1000125,0,0,0), + (36053,1100025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36053,1200023,0,0,0), + (36054,160012,0,0,0), + (36054,180014,0,0,0), + (36054,190016,0,0,0), + (36054,200047,0,0,0), + (36054,230003,0,0,0), + (36054,240006,0,0,0), + (36054,250002,0,0,0), + (36054,280038,0,0,0), + (36054,320029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36054,330025,0,0,0), + (36054,340003,0,0,0), + (36054,1000125,0,0,0), + (36054,1100025,0,0,0), + (36054,1200023,0,0,0), + (36055,160015,0,0,0), + (36055,180001,0,0,0), + (36055,190066,0,0,0), + (36055,200002,0,0,0), + (36055,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36055,240001,0,0,0), + (36055,250002,0,0,0), + (36055,280016,0,0,0), + (36055,320020,0,0,0), + (36055,330008,0,0,0), + (36055,340002,0,0,0), + (36055,1000074,0,0,0), + (36055,1100001,0,0,0), + (36055,1200034,0,0,0), + (36056,160011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36056,180062,0,0,0), + (36056,190067,0,0,0), + (36056,200048,0,0,0), + (36056,230001,0,0,0), + (36056,240001,0,0,0), + (36056,250002,0,0,0), + (36056,280051,0,0,0), + (36056,320100,0,0,0), + (36056,330056,0,0,0), + (36056,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36056,1000057,0,0,0), + (36056,1100120,0,0,0), + (36056,1200049,0,0,0), + (36057,160011,0,0,0), + (36057,180062,0,0,0), + (36057,190067,0,0,0), + (36057,200048,0,0,0), + (36057,230001,0,0,0), + (36057,240001,0,0,0), + (36057,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36057,280051,0,0,0), + (36057,320100,0,0,0), + (36057,330030,0,0,0), + (36057,340002,0,0,0), + (36057,1000057,0,0,0), + (36057,1100120,0,0,0), + (36057,1200049,0,0,0), + (36058,160011,0,0,0), + (36058,180062,0,0,0), + (36058,190067,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36058,200030,0,0,0), + (36058,230001,0,0,0), + (36058,240006,0,0,0), + (36058,250002,0,0,0), + (36058,280051,0,0,0), + (36058,320101,0,0,0), + (36058,330018,0,0,0), + (36058,340002,0,0,0), + (36058,1000057,0,0,0), + (36058,1100121,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36058,1200049,0,0,0), + (36059,160011,0,0,0), + (36059,180062,0,0,0), + (36059,190067,0,0,0), + (36059,200030,0,0,0), + (36059,230001,0,0,0), + (36059,240006,0,0,0), + (36059,250002,0,0,0), + (36059,280052,0,0,0), + (36059,320101,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36059,330043,0,0,0), + (36059,340002,0,0,0), + (36059,1000057,0,0,0), + (36059,1100121,0,0,0), + (36059,1200049,0,0,0), + (36060,160011,0,0,0), + (36060,180062,0,0,0), + (36060,190067,0,0,0), + (36060,200030,0,0,0), + (36060,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36060,240005,0,0,0), + (36060,250002,0,0,0), + (36060,280052,0,0,0), + (36060,320101,0,0,0), + (36060,330030,0,0,0), + (36060,340002,0,0,0), + (36060,1000057,0,0,0), + (36060,1100121,0,0,0), + (36060,1200049,0,0,0), + (36061,160011,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36061,180062,0,0,0), + (36061,190067,0,0,0), + (36061,200049,0,0,0), + (36061,230001,0,0,0), + (36061,240006,0,0,0), + (36061,250002,0,0,0), + (36061,280052,0,0,0), + (36061,320101,0,0,0), + (36061,330008,0,0,0), + (36061,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36061,1000057,0,0,0), + (36061,1100121,0,0,0), + (36061,1200049,0,0,0), + (36062,160011,0,0,0), + (36062,180062,0,0,0), + (36062,190067,0,0,0), + (36062,200049,0,0,0), + (36062,230001,0,0,0), + (36062,240006,0,0,0), + (36062,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36062,280052,0,0,0), + (36062,320101,0,0,0), + (36062,330030,0,0,0), + (36062,340002,0,0,0), + (36062,1000057,0,0,0), + (36062,1100121,0,0,0), + (36062,1200050,0,0,0), + (36063,160011,0,0,0), + (36063,180062,0,0,0), + (36063,190015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36063,200049,0,0,0), + (36063,230001,0,0,0), + (36063,240006,0,0,0), + (36063,250002,0,0,0), + (36063,280052,0,0,0), + (36063,320101,0,0,0), + (36063,330043,0,0,0), + (36063,340002,0,0,0), + (36063,1000022,0,0,0), + (36063,1100120,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36063,1200050,0,0,0), + (36064,160011,0,0,0), + (36064,180062,0,0,0), + (36064,190067,0,0,0), + (36064,200049,0,0,0), + (36064,230001,0,0,0), + (36064,240005,0,0,0), + (36064,250002,0,0,0), + (36064,280052,0,0,0), + (36064,320100,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36064,330030,0,0,0), + (36064,340002,0,0,0), + (36064,1000057,0,0,0), + (36064,1100121,0,0,0), + (36064,1200050,0,0,0), + (36065,160016,0,0,0), + (36065,180062,0,0,0), + (36065,190067,0,0,0), + (36065,200049,0,0,0), + (36065,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36065,240005,0,0,0), + (36065,250002,0,0,0), + (36065,280052,0,0,0), + (36065,320101,0,0,0), + (36065,330043,0,0,0), + (36065,340002,0,0,0), + (36065,1000022,0,0,0), + (36065,1100121,0,0,0), + (36065,1200050,0,0,0), + (36066,160016,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36066,180062,0,0,0), + (36066,190067,0,0,0), + (36066,200030,0,0,0), + (36066,230001,0,0,0), + (36066,240005,0,0,0), + (36066,250002,0,0,0), + (36066,280052,0,0,0), + (36066,320101,0,0,0), + (36066,330017,0,0,0), + (36066,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36066,1000126,0,0,0), + (36066,1100121,0,0,0), + (36066,1200050,0,0,0), + (36067,160016,0,0,0), + (36067,180062,0,0,0), + (36067,190067,0,0,0), + (36067,200030,0,0,0), + (36067,230001,0,0,0), + (36067,240005,0,0,0), + (36067,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36067,280052,0,0,0), + (36067,320101,0,0,0), + (36067,330019,0,0,0), + (36067,340002,0,0,0), + (36067,1000126,0,0,0), + (36067,1100121,0,0,0), + (36067,1200050,0,0,0), + (36068,160016,0,0,0), + (36068,180062,0,0,0), + (36068,190067,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36068,200050,0,0,0), + (36068,230001,0,0,0), + (36068,240005,0,0,0), + (36068,250002,0,0,0), + (36068,280052,0,0,0), + (36068,320100,0,0,0), + (36068,330043,0,0,0), + (36068,340002,0,0,0), + (36068,1000022,0,0,0), + (36068,1100121,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36068,1200050,0,0,0), + (36069,160016,0,0,0), + (36069,180062,0,0,0), + (36069,190067,0,0,0), + (36069,200030,0,0,0), + (36069,230001,0,0,0), + (36069,240005,0,0,0), + (36069,250002,0,0,0), + (36069,280052,0,0,0), + (36069,320101,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36069,330043,0,0,0), + (36069,340002,0,0,0), + (36069,1000126,0,0,0), + (36069,1100121,0,0,0), + (36069,1200050,0,0,0), + (36070,160004,0,0,0), + (36070,180062,0,0,0), + (36070,190067,0,0,0), + (36070,200008,0,0,0), + (36070,230004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36070,240005,0,0,0), + (36070,250002,0,0,0), + (36070,280005,0,0,0), + (36070,320010,0,0,0), + (36070,330019,0,0,0), + (36070,340003,0,0,0), + (36070,1000126,0,0,0), + (36070,1100122,0,0,0), + (36070,1200050,0,0,0), + (36071,160014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36071,180002,0,0,0), + (36071,190015,0,0,0), + (36071,200003,0,0,0), + (36071,230003,0,0,0), + (36071,240006,0,0,0), + (36071,250002,0,0,0), + (36071,280002,0,0,0), + (36071,320002,0,0,0), + (36071,330018,0,0,0), + (36071,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36071,1000075,0,0,0), + (36071,1100014,0,0,0), + (36071,1200001,0,0,0), + (36072,160014,0,0,0), + (36072,180002,0,0,0), + (36072,190015,0,0,0), + (36072,200046,0,0,0), + (36072,230003,0,0,0), + (36072,240006,0,0,0), + (36072,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36072,280006,0,0,0), + (36072,320002,0,0,0), + (36072,330004,0,0,0), + (36072,340002,0,0,0), + (36072,1000075,0,0,0), + (36072,1100026,0,0,0), + (36072,1200001,0,0,0), + (36073,160014,0,0,0), + (36073,180013,0,0,0), + (36073,190015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36073,200046,0,0,0), + (36073,230003,0,0,0), + (36073,240006,0,0,0), + (36073,250002,0,0,0), + (36073,280006,0,0,0), + (36073,320031,0,0,0), + (36073,330033,0,0,0), + (36073,340003,0,0,0), + (36073,1000023,0,0,0), + (36073,1100025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36073,1200024,0,0,0), + (36074,160014,0,0,0), + (36074,180002,0,0,0), + (36074,190015,0,0,0), + (36074,200046,0,0,0), + (36074,230003,0,0,0), + (36074,240006,0,0,0), + (36074,250002,0,0,0), + (36074,280006,0,0,0), + (36074,320002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36074,330033,0,0,0), + (36074,340003,0,0,0), + (36074,1000075,0,0,0), + (36074,1100026,0,0,0), + (36074,1200001,0,0,0), + (36075,160087,0,0,0), + (36075,180002,0,0,0), + (36075,190015,0,0,0), + (36075,200003,0,0,0), + (36075,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36075,240005,0,0,0), + (36075,250002,0,0,0), + (36075,280006,0,0,0), + (36075,320002,0,0,0), + (36075,330043,0,0,0), + (36075,340002,0,0,0), + (36075,1000127,0,0,0), + (36075,1100025,0,0,0), + (36075,1200001,0,0,0), + (36076,160087,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36076,180013,0,0,0), + (36076,190015,0,0,0), + (36076,200046,0,0,0), + (36076,230001,0,0,0), + (36076,240005,0,0,0), + (36076,250002,0,0,0), + (36076,280006,0,0,0), + (36076,320009,0,0,0), + (36076,330027,0,0,0), + (36076,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36076,1000023,0,0,0), + (36076,1100026,0,0,0), + (36076,1200024,0,0,0), + (36077,160087,0,0,0), + (36077,180002,0,0,0), + (36077,190015,0,0,0), + (36077,200046,0,0,0), + (36077,230001,0,0,0), + (36077,240005,0,0,0), + (36077,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36077,280006,0,0,0), + (36077,320002,0,0,0), + (36077,330014,0,0,0), + (36077,340002,0,0,0), + (36077,1000127,0,0,0), + (36077,1100026,0,0,0), + (36077,1200001,0,0,0), + (36078,160087,0,0,0), + (36078,180013,0,0,0), + (36078,190015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36078,200046,0,0,0), + (36078,230003,0,0,0), + (36078,240007,0,0,0), + (36078,250002,0,0,0), + (36078,280006,0,0,0), + (36078,320031,0,0,0), + (36078,330027,0,0,0), + (36078,340003,0,0,0), + (36078,1000024,0,0,0), + (36078,1100026,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36078,1200024,0,0,0), + (36079,160087,0,0,0), + (36079,180013,0,0,0), + (36079,190015,0,0,0), + (36079,200046,0,0,0), + (36079,230003,0,0,0), + (36079,240007,0,0,0), + (36079,250002,0,0,0), + (36079,280006,0,0,0), + (36079,320009,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36079,330014,0,0,0), + (36079,340003,0,0,0), + (36079,1000025,0,0,0), + (36079,1100026,0,0,0), + (36079,1200024,0,0,0), + (36080,160087,0,0,0), + (36080,180013,0,0,0), + (36080,190015,0,0,0), + (36080,200046,0,0,0), + (36080,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36080,240007,0,0,0), + (36080,250002,0,0,0), + (36080,280006,0,0,0), + (36080,320009,0,0,0), + (36080,330014,0,0,0), + (36080,340003,0,0,0), + (36080,1000023,0,0,0), + (36080,1100026,0,0,0), + (36080,1200024,0,0,0), + (36081,160072,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36081,180002,0,0,0), + (36081,190015,0,0,0), + (36081,200003,0,0,0), + (36081,230003,0,0,0), + (36081,240006,0,0,0), + (36081,250002,0,0,0), + (36081,280002,0,0,0), + (36081,320002,0,0,0), + (36081,330018,0,0,0), + (36081,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36081,1000075,0,0,0), + (36081,1100014,0,0,0), + (36081,1200001,0,0,0), + (36082,160017,0,0,0), + (36082,180002,0,0,0), + (36082,190015,0,0,0), + (36082,200046,0,0,0), + (36082,230001,0,0,0), + (36082,240005,0,0,0), + (36082,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36082,280002,0,0,0), + (36082,320002,0,0,0), + (36082,330043,0,0,0), + (36082,340002,0,0,0), + (36082,1000075,0,0,0), + (36082,1100026,0,0,0), + (36082,1200001,0,0,0), + (36083,160017,0,0,0), + (36083,180002,0,0,0), + (36083,190015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36083,200046,0,0,0), + (36083,230003,0,0,0), + (36083,240005,0,0,0), + (36083,250002,0,0,0), + (36083,280006,0,0,0), + (36083,320002,0,0,0), + (36083,330043,0,0,0), + (36083,340003,0,0,0), + (36083,1000075,0,0,0), + (36083,1100026,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36083,1200001,0,0,0), + (36084,160017,0,0,0), + (36084,180002,0,0,0), + (36084,190015,0,0,0), + (36084,200046,0,0,0), + (36084,230003,0,0,0), + (36084,240005,0,0,0), + (36084,250002,0,0,0), + (36084,280006,0,0,0), + (36084,320002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36084,330043,0,0,0), + (36084,340003,0,0,0), + (36084,1000075,0,0,0), + (36084,1100026,0,0,0), + (36084,1200024,0,0,0), + (36085,160017,0,0,0), + (36085,180002,0,0,0), + (36085,190015,0,0,0), + (36085,200046,0,0,0), + (36085,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36085,240007,0,0,0), + (36085,250002,0,0,0), + (36085,280006,0,0,0), + (36085,320032,0,0,0), + (36085,330025,0,0,0), + (36085,340003,0,0,0), + (36085,1000077,0,0,0), + (36085,1100026,0,0,0), + (36085,1200024,0,0,0), + (36086,160017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36086,180002,0,0,0), + (36086,190015,0,0,0), + (36086,200051,0,0,0), + (36086,230003,0,0,0), + (36086,240007,0,0,0), + (36086,250002,0,0,0), + (36086,280006,0,0,0), + (36086,320032,0,0,0), + (36086,330025,0,0,0), + (36086,340003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36086,1000025,0,0,0), + (36086,1100026,0,0,0), + (36086,1200024,0,0,0), + (36087,160017,0,0,0), + (36087,180013,0,0,0), + (36087,190015,0,0,0), + (36087,200051,0,0,0), + (36087,230003,0,0,0), + (36087,240007,0,0,0), + (36087,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36087,280006,0,0,0), + (36087,320031,0,0,0), + (36087,330027,0,0,0), + (36087,340003,0,0,0), + (36087,1000025,0,0,0), + (36087,1100027,0,0,0), + (36087,1200024,0,0,0), + (36088,160038,0,0,0), + (36088,180025,0,0,0), + (36088,190022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36088,200020,0,0,0), + (36088,230001,0,0,0), + (36088,240001,0,0,0), + (36088,250002,0,0,0), + (36088,280020,0,0,0), + (36088,320024,0,0,0), + (36088,330058,0,0,0), + (36088,340002,0,0,0), + (36088,1000081,0,0,0), + (36088,1100017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36088,1200019,0,0,0), + (36089,160038,0,0,0), + (36089,180026,0,0,0), + (36089,190022,0,0,0), + (36089,200020,0,0,0), + (36089,230003,0,0,0), + (36089,240006,0,0,0), + (36089,250002,0,0,0), + (36089,280027,0,0,0), + (36089,320024,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36089,330043,0,0,0), + (36089,340002,0,0,0), + (36089,1000017,0,0,0), + (36089,1100098,0,0,0), + (36089,1200019,0,0,0), + (36090,160038,0,0,0), + (36090,180026,0,0,0), + (36090,190022,0,0,0), + (36090,200020,0,0,0), + (36090,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36090,240006,0,0,0), + (36090,250002,0,0,0), + (36090,280027,0,0,0), + (36090,320024,0,0,0), + (36090,330043,0,0,0), + (36090,340002,0,0,0), + (36090,1000017,0,0,0), + (36090,1100098,0,0,0), + (36090,1200019,0,0,0), + (36091,160038,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36091,180026,0,0,0), + (36091,190022,0,0,0), + (36091,200020,0,0,0), + (36091,230003,0,0,0), + (36091,240006,0,0,0), + (36091,250002,0,0,0), + (36091,280027,0,0,0), + (36091,320024,0,0,0), + (36091,330043,0,0,0), + (36091,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36091,1000017,0,0,0), + (36091,1100098,0,0,0), + (36091,1200019,0,0,0), + (36092,160038,0,0,0), + (36092,180026,0,0,0), + (36092,190022,0,0,0), + (36092,200020,0,0,0), + (36092,230003,0,0,0), + (36092,240006,0,0,0), + (36092,250002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36092,280027,0,0,0), + (36092,320024,0,0,0), + (36092,330043,0,0,0), + (36092,340002,0,0,0), + (36092,1000017,0,0,0), + (36092,1100098,0,0,0), + (36092,1200019,0,0,0), + (36093,160037,0,0,0), + (36093,180020,0,0,0), + (36093,190022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36093,200020,0,0,0), + (36093,230001,0,0,0), + (36093,240001,0,0,0), + (36093,250002,0,0,0), + (36093,280027,0,0,0), + (36093,320024,0,0,0), + (36093,330018,0,0,0), + (36093,340002,0,0,0), + (36093,1000017,0,0,0), + (36093,1100098,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36093,1200019,0,0,0), + (36094,160037,0,0,0), + (36094,180020,0,0,0), + (36094,190022,0,0,0), + (36094,200052,0,0,0), + (36094,230001,0,0,0), + (36094,240001,0,0,0), + (36094,250002,0,0,0), + (36094,280027,0,0,0), + (36094,320024,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36094,330043,0,0,0), + (36094,340002,0,0,0), + (36094,1000017,0,0,0), + (36094,1100098,0,0,0), + (36094,1200019,0,0,0), + (36095,160037,0,0,0), + (36095,180020,0,0,0), + (36095,190022,0,0,0), + (36095,200052,0,0,0), + (36095,230001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36095,240001,0,0,0), + (36095,250002,0,0,0), + (36095,280027,0,0,0), + (36095,320024,0,0,0), + (36095,330030,0,0,0), + (36095,340002,0,0,0), + (36095,1000017,0,0,0), + (36095,1100098,0,0,0), + (36095,1200019,0,0,0), + (36096,160037,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36096,180020,0,0,0), + (36096,190022,0,0,0), + (36096,200020,0,0,0), + (36096,230001,0,0,0), + (36096,240001,0,0,0), + (36096,250002,0,0,0), + (36096,280020,0,0,0), + (36096,320024,0,0,0), + (36096,330018,0,0,0), + (36096,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36096,1000017,0,0,0), + (36096,1100017,0,0,0), + (36096,1200019,0,0,0), + (36097,25007,0,0,0), + (36097,160037,0,0,0), + (36097,180020,0,0,0), + (36097,190022,0,0,0), + (36097,200052,0,0,0), + (36097,230003,0,0,0), + (36097,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36097,250002,0,0,0), + (36097,280027,0,0,0), + (36097,320037,0,0,0), + (36097,330043,0,0,0), + (36097,340002,0,0,0), + (36097,1000017,0,0,0), + (36097,1100032,0,0,0), + (36097,1200019,0,0,0), + (36098,160039,0,0,0), + (36098,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36098,190025,0,0,0), + (36098,200023,0,0,0), + (36098,230001,0,0,0), + (36098,240001,0,0,0), + (36098,250002,0,0,0), + (36098,280023,0,0,0), + (36098,320027,0,0,0), + (36098,330058,0,0,0), + (36098,340002,0,0,0), + (36098,1000084,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36098,1100020,0,0,0), + (36098,1200035,0,0,0), + (36099,160039,0,0,0), + (36099,180023,0,0,0), + (36099,190025,0,0,0), + (36099,200023,0,0,0), + (36099,230001,0,0,0), + (36099,240001,0,0,0), + (36099,250002,0,0,0), + (36099,280023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36099,320027,0,0,0), + (36099,330058,0,0,0), + (36099,340002,0,0,0), + (36099,1000084,0,0,0), + (36099,1100099,0,0,0), + (36099,1200035,0,0,0), + (36100,160039,0,0,0), + (36100,180023,0,0,0), + (36100,190025,0,0,0), + (36100,200023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36100,230001,0,0,0), + (36100,240001,0,0,0), + (36100,250002,0,0,0), + (36100,280023,0,0,0), + (36100,320027,0,0,0), + (36100,330008,0,0,0), + (36100,340002,0,0,0), + (36100,1000084,0,0,0), + (36100,1100099,0,0,0), + (36100,1200035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36101,160039,0,0,0), + (36101,180023,0,0,0), + (36101,190025,0,0,0), + (36101,200023,0,0,0), + (36101,230001,0,0,0), + (36101,240001,0,0,0), + (36101,250002,0,0,0), + (36101,280023,0,0,0), + (36101,320027,0,0,0), + (36101,330059,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36101,340002,0,0,0), + (36101,1000085,0,0,0), + (36101,1100099,0,0,0), + (36101,1200035,0,0,0), + (36102,160039,0,0,0), + (36102,180023,0,0,0), + (36102,190025,0,0,0), + (36102,200023,0,0,0), + (36102,230001,0,0,0), + (36102,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36102,250002,0,0,0), + (36102,280023,0,0,0), + (36102,320027,0,0,0), + (36102,330060,0,0,0), + (36102,340002,0,0,0), + (36102,1000128,0,0,0), + (36102,1100099,0,0,0), + (36102,1200035,0,0,0), + (36103,160039,0,0,0), + (36103,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36103,190025,0,0,0), + (36103,200023,0,0,0), + (36103,230001,0,0,0), + (36103,240001,0,0,0), + (36103,250002,0,0,0), + (36103,280039,0,0,0), + (36103,320027,0,0,0), + (36103,330060,0,0,0), + (36103,340002,0,0,0), + (36103,1000085,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36103,1100100,0,0,0), + (36103,1200035,0,0,0), + (36104,160039,0,0,0), + (36104,180023,0,0,0), + (36104,190025,0,0,0), + (36104,200023,0,0,0), + (36104,230001,0,0,0), + (36104,240001,0,0,0), + (36104,250002,0,0,0), + (36104,280039,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36104,320027,0,0,0), + (36104,330030,0,0,0), + (36104,340002,0,0,0), + (36104,1000085,0,0,0), + (36104,1100100,0,0,0), + (36104,1200035,0,0,0), + (36105,160039,0,0,0), + (36105,180027,0,0,0), + (36105,190025,0,0,0), + (36105,200027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36105,230001,0,0,0), + (36105,240001,0,0,0), + (36105,250002,0,0,0), + (36105,280039,0,0,0), + (36105,320090,0,0,0), + (36105,330060,0,0,0), + (36105,340002,0,0,0), + (36105,1000037,0,0,0), + (36105,1100033,0,0,0), + (36105,1200035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36106,160039,0,0,0), + (36106,180027,0,0,0), + (36106,190025,0,0,0), + (36106,200027,0,0,0), + (36106,230001,0,0,0), + (36106,240005,0,0,0), + (36106,250002,0,0,0), + (36106,280039,0,0,0), + (36106,320090,0,0,0), + (36106,330030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36106,340002,0,0,0), + (36106,1000085,0,0,0), + (36106,1100033,0,0,0), + (36106,1200035,0,0,0), + (36107,160039,0,0,0), + (36107,180023,0,0,0), + (36107,190025,0,0,0), + (36107,200023,0,0,0), + (36107,230001,0,0,0), + (36107,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36107,250002,0,0,0), + (36107,280039,0,0,0), + (36107,320027,0,0,0), + (36107,330030,0,0,0), + (36107,340002,0,0,0), + (36107,1000018,0,0,0), + (36107,1100100,0,0,0), + (36107,1200035,0,0,0), + (36108,160039,0,0,0), + (36108,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36108,190025,0,0,0), + (36108,200023,0,0,0), + (36108,230001,0,0,0), + (36108,240001,0,0,0), + (36108,250002,0,0,0), + (36108,280039,0,0,0), + (36108,320027,0,0,0), + (36108,330060,0,0,0), + (36108,340002,0,0,0), + (36108,1000018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36108,1100100,0,0,0), + (36108,1200035,0,0,0), + (36109,160039,0,0,0), + (36109,180027,0,0,0), + (36109,190025,0,0,0), + (36109,200027,0,0,0), + (36109,230003,0,0,0), + (36109,240005,0,0,0), + (36109,250002,0,0,0), + (36109,280039,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36109,320090,0,0,0), + (36109,330030,0,0,0), + (36109,340003,0,0,0), + (36109,1000129,0,0,0), + (36109,1100033,0,0,0), + (36109,1200037,0,0,0), + (36110,160070,0,0,0), + (36110,180029,0,0,0), + (36110,190025,0,0,0), + (36110,200027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36110,230003,0,0,0), + (36110,240005,0,0,0), + (36110,250002,0,0,0), + (36110,280029,0,0,0), + (36110,320039,0,0,0), + (36110,330055,0,0,0), + (36110,340002,0,0,0), + (36110,1000086,0,0,0), + (36110,1100037,0,0,0), + (36110,1200037,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36111,160070,0,0,0), + (36111,180029,0,0,0), + (36111,190025,0,0,0), + (36111,200027,0,0,0), + (36111,230001,0,0,0), + (36111,240005,0,0,0), + (36111,250002,0,0,0), + (36111,280023,0,0,0), + (36111,320027,0,0,0), + (36111,330060,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36111,340002,0,0,0), + (36111,1000130,0,0,0), + (36111,1100020,0,0,0), + (36111,1200035,0,0,0), + (36112,160070,0,0,0), + (36112,180029,0,0,0), + (36112,190025,0,0,0), + (36112,200027,0,0,0), + (36112,230003,0,0,0), + (36112,240007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36112,250002,0,0,0), + (36112,280029,0,0,0), + (36112,320039,0,0,0), + (36112,330017,0,0,0), + (36112,340002,0,0,0), + (36112,1000087,0,0,0), + (36112,1100037,0,0,0), + (36112,1200037,0,0,0), + (36113,160070,0,0,0), + (36113,180029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36113,190025,0,0,0), + (36113,200027,0,0,0), + (36113,230003,0,0,0), + (36113,240005,0,0,0), + (36113,250002,0,0,0), + (36113,280029,0,0,0), + (36113,320027,0,0,0), + (36113,330060,0,0,0), + (36113,340002,0,0,0), + (36113,1000088,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36113,1100036,0,0,0), + (36113,1200035,0,0,0), + (36114,160070,0,0,0), + (36114,180029,0,0,0), + (36114,190025,0,0,0), + (36114,200027,0,0,0), + (36114,230003,0,0,0), + (36114,240005,0,0,0), + (36114,250002,0,0,0), + (36114,280029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36114,320027,0,0,0), + (36114,330030,0,0,0), + (36114,340002,0,0,0), + (36114,1000130,0,0,0), + (36114,1100036,0,0,0), + (36114,1200035,0,0,0), + (36115,160070,0,0,0), + (36115,180029,0,0,0), + (36115,190025,0,0,0), + (36115,200027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36115,230003,0,0,0), + (36115,240005,0,0,0), + (36115,250002,0,0,0), + (36115,280029,0,0,0), + (36115,320039,0,0,0), + (36115,330025,0,0,0), + (36115,340002,0,0,0), + (36115,1000049,0,0,0), + (36115,1100037,0,0,0), + (36115,1200035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36116,160070,0,0,0), + (36116,180029,0,0,0), + (36116,190025,0,0,0), + (36116,200027,0,0,0), + (36116,230003,0,0,0), + (36116,240005,0,0,0), + (36116,250002,0,0,0), + (36116,280029,0,0,0), + (36116,320039,0,0,0), + (36116,330017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36116,340002,0,0,0), + (36116,1000050,0,0,0), + (36116,1100037,0,0,0), + (36116,1200037,0,0,0), + (36117,160040,0,0,0), + (36117,180023,0,0,0), + (36117,190006,0,0,0), + (36117,200023,0,0,0), + (36117,230001,0,0,0), + (36117,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36117,250002,0,0,0), + (36117,280023,0,0,0), + (36117,320027,0,0,0), + (36117,330059,0,0,0), + (36117,340002,0,0,0), + (36117,1000084,0,0,0), + (36117,1100020,0,0,0), + (36117,1200035,0,0,0), + (36118,160040,0,0,0), + (36118,180023,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36118,190006,0,0,0), + (36118,200006,0,0,0), + (36118,200023,0,0,0), + (36118,230003,0,0,0), + (36118,240005,0,0,0), + (36118,250002,0,0,0), + (36118,280023,0,0,0), + (36118,320027,0,0,0), + (36118,330043,0,0,0), + (36118,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36118,1000016,0,0,0), + (36118,1100020,0,0,0), + (36118,1200037,0,0,0), + (36119,25006,0,0,0), + (36119,160040,0,0,0), + (36119,180027,0,0,0), + (36119,190025,0,0,0), + (36119,200027,0,0,0), + (36119,230003,0,0,0), + (36119,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36119,250002,0,0,0), + (36119,280028,0,0,0), + (36119,320027,0,0,0), + (36119,330018,0,0,0), + (36119,340002,0,0,0), + (36119,1000016,0,0,0), + (36119,1100034,0,0,0), + (36119,1200035,0,0,0), + (36120,25006,0,0,0), + (36120,160040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36120,180027,0,0,0), + (36120,190025,0,0,0), + (36120,200023,0,0,0), + (36120,230003,0,0,0), + (36120,240006,0,0,0), + (36120,250002,0,0,0), + (36120,280028,0,0,0), + (36120,320027,0,0,0), + (36120,330018,0,0,0), + (36120,340002,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36120,1000051,0,0,0), + (36120,1100034,0,0,0), + (36120,1200035,0,0,0), + (36121,25006,0,0,0), + (36121,160040,0,0,0), + (36121,180027,0,0,0), + (36121,190025,0,0,0), + (36121,200009,0,0,0), + (36121,230003,0,0,0), + (36121,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36121,250002,0,0,0), + (36121,280028,0,0,0), + (36121,320038,0,0,0), + (36121,330043,0,0,0), + (36121,340002,0,0,0), + (36121,1000129,0,0,0), + (36121,1100035,0,0,0), + (36121,1200035,0,0,0), + (36122,160042,0,0,0), + (36122,180028,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36122,190025,0,0,0), + (36122,200027,0,0,0), + (36122,230003,0,0,0), + (36122,240005,0,0,0), + (36122,250002,0,0,0), + (36122,280023,0,0,0), + (36122,320027,0,0,0), + (36122,330043,0,0,0), + (36122,340002,0,0,0), + (36122,1000091,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36122,1100020,0,0,0), + (36122,1200035,0,0,0), + (36123,160042,0,0,0), + (36123,180028,0,0,0), + (36123,190025,0,0,0), + (36123,200027,0,0,0), + (36123,230001,0,0,0), + (36123,240008,0,0,0), + (36123,250002,0,0,0), + (36123,280029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36123,320027,0,0,0), + (36123,330043,0,0,0), + (36123,340002,0,0,0), + (36123,1000090,0,0,0), + (36123,1100037,0,0,0), + (36123,1200035,0,0,0), + (36124,160042,0,0,0), + (36124,180028,0,0,0), + (36124,190025,0,0,0), + (36124,200027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36124,230001,0,0,0), + (36124,240005,0,0,0), + (36124,250002,0,0,0), + (36124,280029,0,0,0), + (36124,320039,0,0,0), + (36124,330043,0,0,0), + (36124,340002,0,0,0), + (36124,1000092,0,0,0), + (36124,1100037,0,0,0), + (36124,1200035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36125,160042,0,0,0), + (36125,180028,0,0,0), + (36125,190025,0,0,0), + (36125,200027,0,0,0), + (36125,230003,0,0,0), + (36125,240005,0,0,0), + (36125,250002,0,0,0), + (36125,280029,0,0,0), + (36125,320027,0,0,0), + (36125,330018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36125,340002,0,0,0), + (36125,1000092,0,0,0), + (36125,1100037,0,0,0), + (36125,1200035,0,0,0), + (36126,160026,0,0,0), + (36126,180018,0,0,0), + (36126,190077,0,0,0), + (36126,200066,0,0,0), + (36126,230001,0,0,0), + (36126,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36126,250001,0,0,0), + (36126,280050,0,0,0), + (36126,320098,0,0,0), + (36126,330024,0,0,0), + (36126,340002,0,0,0), + (36126,1000095,0,0,0), + (36126,1100119,0,0,0), + (36126,1200048,0,0,0), + (36127,160026,0,0,0), + (36127,180018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36127,190077,0,0,0), + (36127,200066,0,0,0), + (36127,230001,0,0,0), + (36127,240001,0,0,0), + (36127,250001,0,0,0), + (36127,280050,0,0,0), + (36127,320098,0,0,0), + (36127,330035,0,0,0), + (36127,340002,0,0,0), + (36127,1000094,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36127,1100119,0,0,0), + (36127,1200048,0,0,0), + (36128,160026,0,0,0), + (36128,180018,0,0,0), + (36128,190077,0,0,0), + (36128,200066,0,0,0), + (36128,230001,0,0,0), + (36128,240001,0,0,0), + (36128,250001,0,0,0), + (36128,280050,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36128,320098,0,0,0), + (36128,330035,0,0,0), + (36128,340002,0,0,0), + (36128,1000001,0,0,0), + (36128,1100119,0,0,0), + (36128,1200048,0,0,0), + (36129,160028,0,0,0), + (36129,180018,0,0,0), + (36129,190020,0,0,0), + (36129,200066,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36129,230001,0,0,0), + (36129,240001,0,0,0), + (36129,250001,0,0,0), + (36129,280050,0,0,0), + (36129,320098,0,0,0), + (36129,330035,0,0,0), + (36129,340002,0,0,0), + (36129,1000096,0,0,0), + (36129,1100119,0,0,0), + (36129,1200048,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36130,160028,0,0,0), + (36130,180018,0,0,0), + (36130,190077,0,0,0), + (36130,200066,0,0,0), + (36130,230001,0,0,0), + (36130,240001,0,0,0), + (36130,250001,0,0,0), + (36130,280050,0,0,0), + (36130,320098,0,0,0), + (36130,330035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36130,340002,0,0,0), + (36130,1000001,0,0,0), + (36130,1100119,0,0,0), + (36130,1200048,0,0,0), + (36131,160028,0,0,0), + (36131,180018,0,0,0), + (36131,190077,0,0,0), + (36131,200066,0,0,0), + (36131,230001,0,0,0), + (36131,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36131,250001,0,0,0), + (36131,280050,0,0,0), + (36131,320098,0,0,0), + (36131,330061,0,0,0), + (36131,340002,0,0,0), + (36131,1000099,0,0,0), + (36131,1100119,0,0,0), + (36131,1200048,0,0,0), + (36132,160035,0,0,0), + (36132,180017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36132,190019,0,0,0), + (36132,200028,0,0,0), + (36132,230003,0,0,0), + (36132,240005,0,0,0), + (36132,250001,0,0,0), + (36132,280001,0,0,0), + (36132,320001,0,0,0), + (36132,330036,0,0,0), + (36132,340002,0,0,0), + (36132,1000132,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36132,1100010,0,0,0), + (36132,1200028,0,0,0), + (36133,160035,0,0,0), + (36133,180017,0,0,0), + (36133,190019,0,0,0), + (36133,200028,0,0,0), + (36133,230003,0,0,0), + (36133,240005,0,0,0), + (36133,250001,0,0,0), + (36133,280008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36133,320006,0,0,0), + (36133,330027,0,0,0), + (36133,340002,0,0,0), + (36133,1000053,0,0,0), + (36133,1100040,0,0,0), + (36133,1200003,0,0,0), + (36134,160035,0,0,0), + (36134,180017,0,0,0), + (36134,190019,0,0,0), + (36134,200028,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36134,230003,0,0,0), + (36134,240005,0,0,0), + (36134,250001,0,0,0), + (36134,280001,0,0,0), + (36134,320001,0,0,0), + (36134,330062,0,0,0), + (36134,340002,0,0,0), + (36134,1000133,0,0,0), + (36134,1100010,0,0,0), + (36134,1200003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36135,160030,0,0,0), + (36135,180017,0,0,0), + (36135,190019,0,0,0), + (36135,200001,0,0,0), + (36135,230001,0,0,0), + (36135,240001,0,0,0), + (36135,250001,0,0,0), + (36135,280001,0,0,0), + (36135,320001,0,0,0), + (36135,330036,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36135,340002,0,0,0), + (36135,1000030,0,0,0), + (36135,1100040,0,0,0), + (36135,1200003,0,0,0), + (36136,160030,0,0,0), + (36136,180050,0,0,0), + (36136,190003,0,0,0), + (36136,200028,0,0,0), + (36136,230001,0,0,0), + (36136,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36136,250001,0,0,0), + (36136,280040,0,0,0), + (36136,320006,0,0,0), + (36136,330025,0,0,0), + (36136,340002,0,0,0), + (36136,1000053,0,0,0), + (36136,1100039,0,0,0), + (36136,1200028,0,0,0), + (36137,160030,0,0,0), + (36137,180050,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36137,190003,0,0,0), + (36137,200028,0,0,0), + (36137,230003,0,0,0), + (36137,240005,0,0,0), + (36137,250001,0,0,0), + (36137,280040,0,0,0), + (36137,320006,0,0,0), + (36137,330063,0,0,0), + (36137,340003,0,0,0), + (36137,1000053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36137,1100039,0,0,0), + (36137,1200028,0,0,0), + (36138,160030,0,0,0), + (36138,180017,0,0,0), + (36138,190019,0,0,0), + (36138,200028,0,0,0), + (36138,230003,0,0,0), + (36138,240008,0,0,0), + (36138,250001,0,0,0), + (36138,280040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36138,320001,0,0,0), + (36138,330027,0,0,0), + (36138,340002,0,0,0), + (36138,1000030,0,0,0), + (36138,1100042,0,0,0), + (36138,1200028,0,0,0), + (36139,160030,0,0,0), + (36139,180017,0,0,0), + (36139,190003,0,0,0), + (36139,200001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36139,230003,0,0,0), + (36139,240008,0,0,0), + (36139,250001,0,0,0), + (36139,280040,0,0,0), + (36139,320001,0,0,0), + (36139,330063,0,0,0), + (36139,340002,0,0,0), + (36139,1000053,0,0,0), + (36139,1100040,0,0,0), + (36139,1200028,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36140,160030,0,0,0), + (36140,180017,0,0,0), + (36140,190019,0,0,0), + (36140,200001,0,0,0), + (36140,230001,0,0,0), + (36140,240001,0,0,0), + (36140,250001,0,0,0), + (36140,280001,0,0,0), + (36140,320001,0,0,0), + (36140,330062,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36140,340002,0,0,0), + (36140,1000133,0,0,0), + (36140,1100040,0,0,0), + (36140,1200003,0,0,0), + (36141,160030,0,0,0), + (36141,180017,0,0,0), + (36141,190019,0,0,0), + (36141,200001,0,0,0), + (36141,230001,0,0,0), + (36141,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36141,250001,0,0,0), + (36141,280001,0,0,0), + (36141,320001,0,0,0), + (36141,330062,0,0,0), + (36141,340002,0,0,0), + (36141,1000106,0,0,0), + (36141,1100040,0,0,0), + (36141,1200003,0,0,0), + (36142,160030,0,0,0), + (36142,180017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36142,190019,0,0,0), + (36142,200001,0,0,0), + (36142,230003,0,0,0), + (36142,240005,0,0,0), + (36142,250001,0,0,0), + (36142,280040,0,0,0), + (36142,320001,0,0,0), + (36142,330036,0,0,0), + (36142,340002,0,0,0), + (36142,1000053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36142,1100040,0,0,0), + (36142,1200003,0,0,0), + (36143,160030,0,0,0), + (36143,180050,0,0,0), + (36143,190019,0,0,0), + (36143,200028,0,0,0), + (36143,230003,0,0,0), + (36143,240008,0,0,0), + (36143,250001,0,0,0), + (36143,280040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36143,320006,0,0,0), + (36143,330004,0,0,0), + (36143,340002,0,0,0), + (36143,1000053,0,0,0), + (36143,1100040,0,0,0), + (36143,1200003,0,0,0), + (36144,160031,0,0,0), + (36144,180050,0,0,0), + (36144,190003,0,0,0), + (36144,200028,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36144,230003,0,0,0), + (36144,240005,0,0,0), + (36144,250001,0,0,0), + (36144,280040,0,0,0), + (36144,320006,0,0,0), + (36144,330004,0,0,0), + (36144,340002,0,0,0), + (36144,1000031,0,0,0), + (36144,1100039,0,0,0), + (36144,1200028,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36145,160031,0,0,0), + (36145,180050,0,0,0), + (36145,190003,0,0,0), + (36145,200028,0,0,0), + (36145,230003,0,0,0), + (36145,240005,0,0,0), + (36145,250001,0,0,0), + (36145,280040,0,0,0), + (36145,320006,0,0,0), + (36145,330064,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36145,340003,0,0,0), + (36145,1000103,0,0,0), + (36145,1100039,0,0,0), + (36145,1200028,0,0,0), + (36146,160032,0,0,0), + (36146,180017,0,0,0), + (36146,190019,0,0,0), + (36146,200001,0,0,0), + (36146,230003,0,0,0), + (36146,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36146,250001,0,0,0), + (36146,280040,0,0,0), + (36146,320006,0,0,0), + (36146,330027,0,0,0), + (36146,340002,0,0,0), + (36146,1000005,0,0,0), + (36146,1100040,0,0,0), + (36146,1200029,0,0,0), + (36147,160032,0,0,0), + (36147,180032,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36147,190002,0,0,0), + (36147,200028,0,0,0), + (36147,230003,0,0,0), + (36147,240006,0,0,0), + (36147,250001,0,0,0), + (36147,280040,0,0,0), + (36147,320006,0,0,0), + (36147,330027,0,0,0), + (36147,340002,0,0,0), + (36147,1000052,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36147,1100039,0,0,0), + (36147,1200029,0,0,0), + (36148,160032,0,0,0), + (36148,180032,0,0,0), + (36148,190002,0,0,0), + (36148,200028,0,0,0), + (36148,230003,0,0,0), + (36148,240006,0,0,0), + (36148,250001,0,0,0), + (36148,280040,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36148,320044,0,0,0), + (36148,330022,0,0,0), + (36148,340003,0,0,0), + (36148,1000052,0,0,0), + (36148,1100039,0,0,0), + (36148,1200029,0,0,0), + (36149,160032,0,0,0), + (36149,180032,0,0,0), + (36149,190026,0,0,0), + (36149,200010,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36149,230004,0,0,0), + (36149,240007,0,0,0), + (36149,250005,0,0,0), + (36149,280040,0,0,0), + (36149,320043,0,0,0), + (36149,330047,0,0,0), + (36149,340003,0,0,0), + (36149,1000033,0,0,0), + (36149,1100039,0,0,0), + (36149,1200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36150,160033,0,0,0), + (36150,180017,0,0,0), + (36150,190020,0,0,0), + (36150,200028,0,0,0), + (36150,230003,0,0,0), + (36150,240005,0,0,0), + (36150,250001,0,0,0), + (36150,280040,0,0,0), + (36150,320001,0,0,0), + (36150,330033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36150,340002,0,0,0), + (36150,1000134,0,0,0), + (36150,1100040,0,0,0), + (36150,1200029,0,0,0), + (36151,160033,0,0,0), + (36151,180035,0,0,0), + (36151,190027,0,0,0), + (36151,200028,0,0,0), + (36151,230003,0,0,0), + (36151,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36151,250001,0,0,0), + (36151,280040,0,0,0), + (36151,320006,0,0,0), + (36151,330027,0,0,0), + (36151,340002,0,0,0), + (36151,1000134,0,0,0), + (36151,1100039,0,0,0), + (36151,1200029,0,0,0), + (36152,160033,0,0,0), + (36152,180051,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36152,190027,0,0,0), + (36152,200028,0,0,0), + (36152,230003,0,0,0), + (36152,240006,0,0,0), + (36152,250008,0,0,0), + (36152,280008,0,0,0), + (36152,320011,0,0,0), + (36152,330033,0,0,0), + (36152,340003,0,0,0), + (36152,1000005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36152,1100040,0,0,0), + (36152,1200029,0,0,0), + (36153,160033,0,0,0), + (36153,180051,0,0,0), + (36153,190026,0,0,0), + (36153,200028,0,0,0), + (36153,230004,0,0,0), + (36153,240005,0,0,0), + (36153,250005,0,0,0), + (36153,280008,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36153,320011,0,0,0), + (36153,330033,0,0,0), + (36153,340004,0,0,0), + (36153,1000005,0,0,0), + (36153,1100040,0,0,0), + (36153,1200029,0,0,0), + (36154,160023,0,0,0), + (36154,180030,0,0,0), + (36154,190020,0,0,0), + (36154,200004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36154,230002,0,0,0), + (36154,240001,0,0,0), + (36154,250001,0,0,0), + (36154,280018,0,0,0), + (36154,320022,0,0,0), + (36154,330003,0,0,0), + (36154,340001,0,0,0), + (36154,1000135,0,0,0), + (36154,1100005,0,0,0), + (36154,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36155,160083,0,0,0), + (36155,180052,0,0,0), + (36155,190020,0,0,0), + (36155,200004,0,0,0), + (36155,230001,0,0,0), + (36155,240005,0,0,0), + (36155,250001,0,0,0), + (36155,280018,0,0,0), + (36155,320022,0,0,0), + (36155,330035,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36155,340001,0,0,0), + (36155,1000136,0,0,0), + (36155,1100101,0,0,0), + (36155,1200038,0,0,0), + (36156,160025,0,0,0), + (36156,180030,0,0,0), + (36156,190020,0,0,0), + (36156,200004,0,0,0), + (36156,230002,0,0,0), + (36156,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36156,250001,0,0,0), + (36156,280018,0,0,0), + (36156,320022,0,0,0), + (36156,330024,0,0,0), + (36156,340001,0,0,0), + (36156,1000137,0,0,0), + (36156,1100005,0,0,0), + (36156,1200017,0,0,0), + (36157,160025,0,0,0), + (36157,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36157,190020,0,0,0), + (36157,200004,0,0,0), + (36157,230001,0,0,0), + (36157,240001,0,0,0), + (36157,250001,0,0,0), + (36157,280018,0,0,0), + (36157,320022,0,0,0), + (36157,330035,0,0,0), + (36157,340001,0,0,0), + (36157,1000136,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36157,1100005,0,0,0), + (36157,1200017,0,0,0), + (36158,160027,0,0,0), + (36158,180030,0,0,0), + (36158,190020,0,0,0), + (36158,200004,0,0,0), + (36158,230002,0,0,0), + (36158,240001,0,0,0), + (36158,250001,0,0,0), + (36158,280018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36158,320022,0,0,0), + (36158,330042,0,0,0), + (36158,340001,0,0,0), + (36158,1000137,0,0,0), + (36158,1100005,0,0,0), + (36158,1200017,0,0,0), + (36159,160027,0,0,0), + (36159,180030,0,0,0), + (36159,190020,0,0,0), + (36159,200004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36159,230001,0,0,0), + (36159,240001,0,0,0), + (36159,250001,0,0,0), + (36159,280018,0,0,0), + (36159,320022,0,0,0), + (36159,330035,0,0,0), + (36159,340001,0,0,0), + (36159,1000138,0,0,0), + (36159,1100005,0,0,0), + (36159,1200017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36160,160084,0,0,0), + (36160,180034,0,0,0), + (36160,190001,0,0,0), + (36160,200054,0,0,0), + (36160,230003,0,0,0), + (36160,240005,0,0,0), + (36160,250001,0,0,0), + (36160,280041,0,0,0), + (36160,320087,0,0,0), + (36160,330025,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36160,340003,0,0,0), + (36160,1000139,0,0,0), + (36160,1100005,0,0,0), + (36160,1200038,0,0,0), + (36161,160019,0,0,0), + (36161,180030,0,0,0), + (36161,190020,0,0,0), + (36161,200004,0,0,0), + (36161,230001,0,0,0), + (36161,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36161,250001,0,0,0), + (36161,280018,0,0,0), + (36161,320022,0,0,0), + (36161,330062,0,0,0), + (36161,340002,0,0,0), + (36161,1000140,0,0,0), + (36161,1100101,0,0,0), + (36161,1200017,0,0,0), + (36162,160019,0,0,0), + (36162,180030,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36162,190020,0,0,0), + (36162,200004,0,0,0), + (36162,230001,0,0,0), + (36162,240006,0,0,0), + (36162,250001,0,0,0), + (36162,280018,0,0,0), + (36162,320022,0,0,0), + (36162,330036,0,0,0), + (36162,340002,0,0,0), + (36162,1000141,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36162,1100101,0,0,0), + (36162,1200017,0,0,0), + (36163,160019,0,0,0), + (36163,180030,0,0,0), + (36163,190020,0,0,0), + (36163,200004,0,0,0), + (36163,230001,0,0,0), + (36163,240001,0,0,0), + (36163,250001,0,0,0), + (36163,280018,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36163,320022,0,0,0), + (36163,330062,0,0,0), + (36163,340002,0,0,0), + (36163,1000137,0,0,0), + (36163,1100101,0,0,0), + (36163,1200017,0,0,0), + (36164,160029,0,0,0), + (36164,180056,0,0,0), + (36164,190073,0,0,0), + (36164,200063,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36164,230001,0,0,0), + (36164,240001,0,0,0), + (36164,250001,0,0,0), + (36164,280046,0,0,0), + (36164,320093,0,0,0), + (36164,330062,0,0,0), + (36164,340002,0,0,0), + (36164,1000107,0,0,0), + (36164,1100114,0,0,0), + (36164,1200043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36165,160029,0,0,0), + (36165,180056,0,0,0), + (36165,190073,0,0,0), + (36165,200063,0,0,0), + (36165,230003,0,0,0), + (36165,240005,0,0,0), + (36165,250001,0,0,0), + (36165,280053,0,0,0), + (36165,320093,0,0,0), + (36165,330037,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36165,340002,0,0,0), + (36165,1000108,0,0,0), + (36165,1100114,0,0,0), + (36165,1200043,0,0,0), + (36166,160029,0,0,0), + (36166,180056,0,0,0), + (36166,190073,0,0,0), + (36166,200063,0,0,0), + (36166,230003,0,0,0), + (36166,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36166,250001,0,0,0), + (36166,280053,0,0,0), + (36166,320093,0,0,0), + (36166,330038,0,0,0), + (36166,340002,0,0,0), + (36166,1000109,0,0,0), + (36166,1100114,0,0,0), + (36166,1200043,0,0,0), + (36167,160029,0,0,0), + (36167,180057,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36167,190074,0,0,0), + (36167,200063,0,0,0), + (36167,230003,0,0,0), + (36167,240005,0,0,0), + (36167,250001,0,0,0), + (36167,280053,0,0,0), + (36167,320094,0,0,0), + (36167,330038,0,0,0), + (36167,340002,0,0,0), + (36167,1000058,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36167,1100115,0,0,0), + (36167,1200044,0,0,0), + (36168,160029,0,0,0), + (36168,180057,0,0,0), + (36168,190074,0,0,0), + (36168,200063,0,0,0), + (36168,230003,0,0,0), + (36168,240005,0,0,0), + (36168,250001,0,0,0), + (36168,280053,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36168,320094,0,0,0), + (36168,330037,0,0,0), + (36168,340002,0,0,0), + (36168,1000029,0,0,0), + (36168,1100116,0,0,0), + (36168,1200044,0,0,0), + (36169,160029,0,0,0), + (36169,180056,0,0,0), + (36169,190073,0,0,0), + (36169,200062,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36169,230001,0,0,0), + (36169,240001,0,0,0), + (36169,250001,0,0,0), + (36169,280046,0,0,0), + (36169,320093,0,0,0), + (36169,330042,0,0,0), + (36169,340002,0,0,0), + (36169,1000110,0,0,0), + (36169,1100114,0,0,0), + (36169,1200043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36170,160020,0,0,0), + (36170,180056,0,0,0), + (36170,190073,0,0,0), + (36170,200062,0,0,0), + (36170,230001,0,0,0), + (36170,240001,0,0,0), + (36170,250001,0,0,0), + (36170,280053,0,0,0), + (36170,320093,0,0,0), + (36170,330042,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36170,340002,0,0,0), + (36170,1000109,0,0,0), + (36170,1100114,0,0,0), + (36170,1200043,0,0,0), + (36171,160020,0,0,0), + (36171,180056,0,0,0), + (36171,190073,0,0,0), + (36171,200062,0,0,0), + (36171,230001,0,0,0), + (36171,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36171,250001,0,0,0), + (36171,280046,0,0,0), + (36171,320093,0,0,0), + (36171,330042,0,0,0), + (36171,340002,0,0,0), + (36171,1000110,0,0,0), + (36171,1100114,0,0,0), + (36171,1200043,0,0,0), + (36172,160034,0,0,0), + (36172,180058,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36172,190075,0,0,0), + (36172,200064,0,0,0), + (36172,230003,0,0,0), + (36172,240005,0,0,0), + (36172,250001,0,0,0), + (36172,280048,0,0,0), + (36172,320095,0,0,0), + (36172,330038,0,0,0), + (36172,340002,0,0,0), + (36172,1000034,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36172,1100118,0,0,0), + (36172,1200045,0,0,0), + (36173,160034,0,0,0), + (36173,180058,0,0,0), + (36173,190075,0,0,0), + (36173,200064,0,0,0), + (36173,230003,0,0,0), + (36173,240005,0,0,0), + (36173,250001,0,0,0), + (36173,280047,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36173,320095,0,0,0), + (36173,330062,0,0,0), + (36173,340002,0,0,0), + (36173,1000034,0,0,0), + (36173,1100118,0,0,0), + (36173,1200045,0,0,0), + (36174,160034,0,0,0), + (36174,180058,0,0,0), + (36174,190075,0,0,0), + (36174,200012,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36174,230003,0,0,0), + (36174,240005,0,0,0), + (36174,250006,0,0,0), + (36174,280048,0,0,0), + (36174,320096,0,0,0), + (36174,330025,0,0,0), + (36174,340002,0,0,0), + (36174,1000035,0,0,0), + (36174,1100118,0,0,0), + (36174,1200047,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36175,160034,0,0,0), + (36175,180058,0,0,0), + (36175,190075,0,0,0), + (36175,200064,0,0,0), + (36175,230003,0,0,0), + (36175,240005,0,0,0), + (36175,250001,0,0,0), + (36175,280048,0,0,0), + (36175,320096,0,0,0), + (36175,330043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36175,340002,0,0,0), + (36175,1000035,0,0,0), + (36175,1100118,0,0,0), + (36175,1200045,0,0,0), + (36176,160034,0,0,0), + (36176,180058,0,0,0), + (36176,190075,0,0,0), + (36176,200064,0,0,0), + (36176,230001,0,0,0), + (36176,240001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36176,250001,0,0,0), + (36176,280047,0,0,0), + (36176,320095,0,0,0), + (36176,330035,0,0,0), + (36176,340002,0,0,0), + (36176,1000027,0,0,0), + (36176,1100117,0,0,0), + (36176,1200045,0,0,0), + (36177,160082,0,0,0), + (36177,180060,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36177,190029,0,0,0), + (36177,200012,0,0,0), + (36177,230005,0,0,0), + (36177,240007,0,0,0), + (36177,250001,0,0,0), + (36177,280032,0,0,0), + (36177,320046,0,0,0), + (36177,330040,0,0,0), + (36177,340003,0,0,0), + (36177,1000054,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36177,1100043,0,0,0), + (36177,1200005,0,0,0), + (36178,160044,0,0,0), + (36178,180058,0,0,0), + (36178,190075,0,0,0), + (36178,200064,0,0,0), + (36178,230003,0,0,0), + (36178,240005,0,0,0), + (36178,250001,0,0,0), + (36178,280048,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36178,320095,0,0,0), + (36178,330038,0,0,0), + (36178,340002,0,0,0), + (36178,1000034,0,0,0), + (36178,1100118,0,0,0), + (36178,1200045,0,0,0), + (36179,160044,0,0,0), + (36179,180058,0,0,0), + (36179,190075,0,0,0), + (36179,200064,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36179,230003,0,0,0), + (36179,240003,0,0,0), + (36179,250001,0,0,0), + (36179,280047,0,0,0), + (36179,320095,0,0,0), + (36179,330037,0,0,0), + (36179,340002,0,0,0), + (36179,1000027,0,0,0), + (36179,1100117,0,0,0), + (36179,1200045,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36180,160044,0,0,0), + (36180,180058,0,0,0), + (36180,190075,0,0,0), + (36180,200012,0,0,0), + (36180,230003,0,0,0), + (36180,240005,0,0,0), + (36180,250001,0,0,0), + (36180,280048,0,0,0), + (36180,320096,0,0,0), + (36180,330038,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36180,340002,0,0,0), + (36180,1000027,0,0,0), + (36180,1100118,0,0,0), + (36180,1200047,0,0,0), + (36181,160073,0,0,0), + (36181,180015,0,0,0), + (36181,190017,0,0,0), + (36181,200029,0,0,0), + (36181,230001,0,0,0), + (36181,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36181,250002,0,0,0), + (36181,280036,0,0,0), + (36181,320004,0,0,0), + (36181,330065,0,0,0), + (36181,340002,0,0,0), + (36181,1000120,0,0,0), + (36181,1100044,0,0,0), + (36181,1200015,0,0,0), + (36182,160073,0,0,0), + (36182,180015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36182,190017,0,0,0), + (36182,200029,0,0,0), + (36182,230001,0,0,0), + (36182,240005,0,0,0), + (36182,250002,0,0,0), + (36182,280036,0,0,0), + (36182,320004,0,0,0), + (36182,330066,0,0,0), + (36182,340002,0,0,0), + (36182,1000120,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36182,1100044,0,0,0), + (36182,1200015,0,0,0), + (36183,160073,0,0,0), + (36183,180015,0,0,0), + (36183,190017,0,0,0), + (36183,200029,0,0,0), + (36183,230001,0,0,0), + (36183,240001,0,0,0), + (36183,250002,0,0,0), + (36183,280017,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36183,320004,0,0,0), + (36183,330065,0,0,0), + (36183,340002,0,0,0), + (36183,1000114,0,0,0), + (36183,1100044,0,0,0), + (36183,1200015,0,0,0), + (36184,160073,0,0,0), + (36184,180015,0,0,0), + (36184,190017,0,0,0), + (36184,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36184,230003,0,0,0), + (36184,240005,0,0,0), + (36184,250002,0,0,0), + (36184,280036,0,0,0), + (36184,320049,0,0,0), + (36184,330019,0,0,0), + (36184,340002,0,0,0), + (36184,1000120,0,0,0), + (36184,1100044,0,0,0), + (36184,1200015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36185,160074,0,0,0), + (36185,180036,0,0,0), + (36185,190017,0,0,0), + (36185,200014,0,0,0), + (36185,230001,0,0,0), + (36185,240001,0,0,0), + (36185,250002,0,0,0), + (36185,280017,0,0,0), + (36185,320004,0,0,0), + (36185,330052,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36185,340002,0,0,0), + (36185,1000142,0,0,0), + (36185,1100015,0,0,0), + (36185,1200015,0,0,0), + (36186,160073,0,0,0), + (36186,180036,0,0,0), + (36186,190017,0,0,0), + (36186,200029,0,0,0), + (36186,230001,0,0,0), + (36186,240006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36186,250002,0,0,0), + (36186,280036,0,0,0), + (36186,320004,0,0,0), + (36186,330034,0,0,0), + (36186,340002,0,0,0), + (36186,1000142,0,0,0), + (36186,1100015,0,0,0), + (36186,1200015,0,0,0), + (36187,160073,0,0,0), + (36187,180036,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36187,190017,0,0,0), + (36187,200014,0,0,0), + (36187,230001,0,0,0), + (36187,240001,0,0,0), + (36187,250002,0,0,0), + (36187,280017,0,0,0), + (36187,320004,0,0,0), + (36187,330034,0,0,0), + (36187,340002,0,0,0), + (36187,1000142,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36187,1100015,0,0,0), + (36187,1200015,0,0,0), + (36188,160075,0,0,0), + (36188,180015,0,0,0), + (36188,190017,0,0,0), + (36188,200029,0,0,0), + (36188,230003,0,0,0), + (36188,240005,0,0,0), + (36188,250002,0,0,0), + (36188,280036,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36188,320004,0,0,0), + (36188,330067,0,0,0), + (36188,340002,0,0,0), + (36188,1000113,0,0,0), + (36188,1100044,0,0,0), + (36188,1200015,0,0,0), + (36189,160075,0,0,0), + (36189,180015,0,0,0), + (36189,190017,0,0,0), + (36189,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36189,230003,0,0,0), + (36189,240005,0,0,0), + (36189,250002,0,0,0), + (36189,280036,0,0,0), + (36189,320004,0,0,0), + (36189,330019,0,0,0), + (36189,340002,0,0,0), + (36189,1000113,0,0,0), + (36189,1100044,0,0,0), + (36189,1200032,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36190,160075,0,0,0), + (36190,180015,0,0,0), + (36190,190017,0,0,0), + (36190,200045,0,0,0), + (36190,230003,0,0,0), + (36190,240005,0,0,0), + (36190,250002,0,0,0), + (36190,280036,0,0,0), + (36190,320049,0,0,0), + (36190,330019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36190,340003,0,0,0), + (36190,1000113,0,0,0), + (36190,1100044,0,0,0), + (36190,1200015,0,0,0), + (36191,160075,0,0,0), + (36191,180015,0,0,0), + (36191,190017,0,0,0), + (36191,200045,0,0,0), + (36191,230003,0,0,0), + (36191,240007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36191,250002,0,0,0), + (36191,280036,0,0,0), + (36191,320050,0,0,0), + (36191,330019,0,0,0), + (36191,340003,0,0,0), + (36191,1000113,0,0,0), + (36191,1100044,0,0,0), + (36191,1200032,0,0,0), + (36192,160075,0,0,0), + (36192,180015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36192,190017,0,0,0), + (36192,200029,0,0,0), + (36192,230003,0,0,0), + (36192,240007,0,0,0), + (36192,250002,0,0,0), + (36192,280033,0,0,0), + (36192,320013,0,0,0), + (36192,330019,0,0,0), + (36192,340003,0,0,0), + (36192,1000038,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36192,1100046,0,0,0), + (36192,1200032,0,0,0), + (36193,160075,0,0,0), + (36193,180015,0,0,0), + (36193,190017,0,0,0), + (36193,200029,0,0,0), + (36193,230003,0,0,0), + (36193,240007,0,0,0), + (36193,250002,0,0,0), + (36193,280033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36193,320013,0,0,0), + (36193,330067,0,0,0), + (36193,340003,0,0,0), + (36193,1000039,0,0,0), + (36193,1100046,0,0,0), + (36193,1200032,0,0,0), + (36194,160075,0,0,0), + (36194,180015,0,0,0), + (36194,190017,0,0,0), + (36194,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36194,230003,0,0,0), + (36194,240005,0,0,0), + (36194,250002,0,0,0), + (36194,280036,0,0,0), + (36194,320004,0,0,0), + (36194,330067,0,0,0), + (36194,340002,0,0,0), + (36194,1000038,0,0,0), + (36194,1100044,0,0,0), + (36194,1200015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36195,160075,0,0,0), + (36195,180015,0,0,0), + (36195,190017,0,0,0), + (36195,200029,0,0,0), + (36195,230003,0,0,0), + (36195,240005,0,0,0), + (36195,250002,0,0,0), + (36195,280036,0,0,0), + (36195,320050,0,0,0), + (36195,330019,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36195,340002,0,0,0), + (36195,1000114,0,0,0), + (36195,1100044,0,0,0), + (36195,1200032,0,0,0), + (36196,160056,0,0,0), + (36196,180015,0,0,0), + (36196,190017,0,0,0), + (36196,200029,0,0,0), + (36196,230003,0,0,0), + (36196,240007,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36196,250002,0,0,0), + (36196,280033,0,0,0), + (36196,320013,0,0,0), + (36196,330019,0,0,0), + (36196,340003,0,0,0), + (36196,1000038,0,0,0), + (36196,1100047,0,0,0), + (36196,1200007,0,0,0), + (36197,160056,0,0,0), + (36197,180015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36197,190017,0,0,0), + (36197,200029,0,0,0), + (36197,230003,0,0,0), + (36197,240007,0,0,0), + (36197,250002,0,0,0), + (36197,280033,0,0,0), + (36197,320013,0,0,0), + (36197,330019,0,0,0), + (36197,340003,0,0,0), + (36197,1000055,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36197,1100047,0,0,0), + (36197,1200007,0,0,0), + (36198,160056,0,0,0), + (36198,180015,0,0,0), + (36198,190017,0,0,0), + (36198,200029,0,0,0), + (36198,230003,0,0,0), + (36198,240007,0,0,0), + (36198,250002,0,0,0), + (36198,280033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36198,320013,0,0,0), + (36198,330019,0,0,0), + (36198,340003,0,0,0), + (36198,1000038,0,0,0), + (36198,1100046,0,0,0), + (36198,1200032,0,0,0), + (36199,160056,0,0,0), + (36199,180015,0,0,0), + (36199,190017,0,0,0), + (36199,200029,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36199,230003,0,0,0), + (36199,240007,0,0,0), + (36199,250002,0,0,0), + (36199,280033,0,0,0), + (36199,320013,0,0,0), + (36199,330019,0,0,0), + (36199,340003,0,0,0), + (36199,1000039,0,0,0), + (36199,1100046,0,0,0), + (36199,1200032,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36200,160056,0,0,0), + (36200,180015,0,0,0), + (36200,190017,0,0,0), + (36200,200029,0,0,0), + (36200,230003,0,0,0), + (36200,240005,0,0,0), + (36200,250002,0,0,0), + (36200,280036,0,0,0), + (36200,320004,0,0,0), + (36200,330067,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36200,340002,0,0,0), + (36200,1000144,0,0,0), + (36200,1100044,0,0,0), + (36200,1200015,0,0,0), + (36201,160055,0,0,0), + (36201,180015,0,0,0), + (36201,190017,0,0,0), + (36201,200029,0,0,0), + (36201,230003,0,0,0), + (36201,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36201,250002,0,0,0), + (36201,280036,0,0,0), + (36201,320004,0,0,0), + (36201,330067,0,0,0), + (36201,340002,0,0,0), + (36201,1000113,0,0,0), + (36201,1100044,0,0,0), + (36201,1200015,0,0,0), + (36202,160055,0,0,0), + (36202,180015,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36202,190017,0,0,0), + (36202,200029,0,0,0), + (36202,230003,0,0,0), + (36202,240007,0,0,0), + (36202,250002,0,0,0), + (36202,280036,0,0,0), + (36202,320013,0,0,0), + (36202,330064,0,0,0), + (36202,340002,0,0,0), + (36202,1000144,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36202,1100044,0,0,0), + (36202,1200032,0,0,0), + (36203,160049,0,0,0), + (36203,180022,0,0,0), + (36203,190068,0,0,0), + (36203,200022,0,0,0), + (36203,230001,0,0,0), + (36203,240001,0,0,0), + (36203,250003,0,0,0), + (36203,280022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36203,320026,0,0,0), + (36203,330058,0,0,0), + (36203,340002,0,0,0), + (36203,1000149,0,0,0), + (36203,1100019,0,0,0), + (36203,1200021,0,0,0), + (36204,160050,0,0,0), + (36204,180022,0,0,0), + (36204,190068,0,0,0), + (36204,200022,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36204,230003,0,0,0), + (36204,240005,0,0,0), + (36204,250003,0,0,0), + (36204,280010,0,0,0), + (36204,320026,0,0,0), + (36204,330043,0,0,0), + (36204,340002,0,0,0), + (36204,1000008,0,0,0), + (36204,1100049,0,0,0), + (36204,1200021,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36205,160050,0,0,0), + (36205,180022,0,0,0), + (36205,190068,0,0,0), + (36205,200022,0,0,0), + (36205,230003,0,0,0), + (36205,240005,0,0,0), + (36205,250003,0,0,0), + (36205,280010,0,0,0), + (36205,320026,0,0,0), + (36205,330043,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36205,340002,0,0,0), + (36205,1000007,0,0,0), + (36205,1100049,0,0,0), + (36205,1200021,0,0,0), + (36206,160050,0,0,0), + (36206,180053,0,0,0), + (36206,190024,0,0,0), + (36206,200007,0,0,0), + (36206,230003,0,0,0), + (36206,240004,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36206,250003,0,0,0), + (36206,280010,0,0,0), + (36206,320053,0,0,0), + (36206,330043,0,0,0), + (36206,340003,0,0,0), + (36206,1000007,0,0,0), + (36206,1100049,0,0,0), + (36206,1200036,0,0,0), + (36208,160005,0,0,0), + (36208,180014,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36208,190016,0,0,0), + (36208,200024,0,0,0), + (36208,230001,0,0,0), + (36208,240001,0,0,0), + (36208,250002,0,0,0), + (36208,280016,0,0,0), + (36208,320020,0,0,0), + (36208,330056,0,0,0), + (36208,340002,0,0,0), + (36208,1000070,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36208,1100022,0,0,0), + (36208,1200034,0,0,0), + (36209,160016,0,0,0), + (36209,180062,0,0,0), + (36209,190067,0,0,0), + (36209,200030,0,0,0), + (36209,230001,0,0,0), + (36209,240005,0,0,0), + (36209,250002,0,0,0), + (36209,280052,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36209,320101,0,0,0), + (36209,330019,0,0,0), + (36209,340002,0,0,0), + (36209,1000126,0,0,0), + (36209,1100121,0,0,0), + (36209,1200050,0,0,0), + (36210,160072,0,0,0), + (36210,180002,0,0,0), + (36210,190015,0,0,0), + (36210,200046,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36210,230003,0,0,0), + (36210,240006,0,0,0), + (36210,250002,0,0,0), + (36210,280006,0,0,0), + (36210,320002,0,0,0), + (36210,330004,0,0,0), + (36210,340002,0,0,0), + (36210,1000075,0,0,0), + (36210,1100026,0,0,0), + (36210,1200001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36211,160072,0,0,0), + (36211,180013,0,0,0), + (36211,190015,0,0,0), + (36211,200046,0,0,0), + (36211,230003,0,0,0), + (36211,240006,0,0,0), + (36211,250002,0,0,0), + (36211,280002,0,0,0), + (36211,320031,0,0,0), + (36211,330033,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36211,340003,0,0,0), + (36211,1000019,0,0,0), + (36211,1100014,0,0,0), + (36211,1200001,0,0,0), + (36212,25006,0,0,0), + (36212,160040,0,0,0), + (36212,180027,0,0,0), + (36212,190025,0,0,0), + (36212,200023,0,0,0), + (36212,230003,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36212,240006,0,0,0), + (36212,250002,0,0,0), + (36212,280028,0,0,0), + (36212,320027,0,0,0), + (36212,330043,0,0,0), + (36212,340002,0,0,0), + (36212,1000051,0,0,0), + (36212,1100034,0,0,0), + (36212,1200037,0,0,0), + (36213,25006,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36213,160040,0,0,0), + (36213,180027,0,0,0), + (36213,190004,0,0,0), + (36213,200009,0,0,0), + (36213,230003,0,0,0), + (36213,240006,0,0,0), + (36213,250002,0,0,0), + (36213,280028,0,0,0), + (36213,320038,0,0,0), + (36213,330027,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36213,340002,0,0,0), + (36213,1000131,0,0,0), + (36213,1100035,0,0,0), + (36213,1200026,0,0,0), + (36214,160035,0,0,0), + (36214,180017,0,0,0), + (36214,190019,0,0,0), + (36214,200028,0,0,0), + (36214,230003,0,0,0), + (36214,240005,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36214,250001,0,0,0), + (36214,280001,0,0,0), + (36214,320001,0,0,0), + (36214,330036,0,0,0), + (36214,340002,0,0,0), + (36214,1000133,0,0,0), + (36214,1100010,0,0,0), + (36214,1200003,0,0,0), + (36215,160076,0,0,0), + (36215,180001,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36215,190016,0,0,0), + (36215,200002,0,0,0), + (36215,230002,0,0,0), + (36215,240003,0,0,0), + (36215,250002,0,0,0), + (36215,280016,0,0,0), + (36215,320020,0,0,0), + (36215,330003,0,0,0), + (36215,340001,0,0,0), + (36215,1000148,0,0,0); +INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES + (36215,1100111,0,0,0), + (36215,1200034,0,0,0), + (37001,290003,0,0,0), + (37001,300001,0,0,0); diff --git a/migrations/2024.02.15T00.21.44.initialSkinType.sql b/migrations/2024.02.15T00.21.44.initialSkinType.sql new file mode 100644 index 000000000..a597462ce --- /dev/null +++ b/migrations/2024.02.15T00.21.44.initialSkinType.sql @@ -0,0 +1,11 @@ +INSERT INTO SkinType (SkinTypeID,SkinType) VALUES + (1,'''Tinted'''), + (2,'''Custom'''), + (3,'''Cop'''), + (4,'Flames'), + (5,'Scallops'), + (6,'Decals'), + (7,'Rust'), + (8,'Traffic'), + (9,'Bad-ass'), + (10,'''Starter'''); diff --git a/migrations/2024.02.15T00.22.20.initialPTSkin.sql b/migrations/2024.02.15T00.22.20.initialPTSkin.sql new file mode 100644 index 000000000..428793421 --- /dev/null +++ b/migrations/2024.02.15T00.22.20.initialPTSkin.sql @@ -0,0 +1,1264 @@ +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1,10,1,101,'Candy Apple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',1,211,255,128,32,255,1,211,255,128,32,255,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,1,255,255,128,0,255,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','As per 32 Ford CSV'), + (2,10,1,101,'Blue Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',146,254,96,128,1,210,146,254,96,128,1,210,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,146,254,96,128,1,210,146,254,96,128,1,210,146,254,96,128,1,210,0,'Factory','This is a factory stock color.'), + (3,10,1,101,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',138,138,255,128,20,255,138,138,255,128,20,255,40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,138,138,255,128,0,255,138,138,255,128,0,255,138,138,255,128,0,255,0,'Factory','This is a factory stock color.'), + (4,10,1,101,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',20,129,255,128,44,255,20,129,255,128,44,255,29,69,255,128,13,211,29,69,255,128,13,211,40,20,20,128,1,165,20,129,255,128,15,255,20,129,255,128,15,255,20,129,255,128,15,255,0,'Factory','This is a factory stock color.'), + (5,10,1,101,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',61,109,255,128,7,250,61,109,255,128,7,250,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,61,109,255,128,11,219,61,109,255,128,11,219,61,109,255,128,11,219,0,'Factory','This is a factory stock color.'), + (6,10,1,101,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',35,255,255,128,20,255,35,255,255,128,20,255,29,69,255,128,13,237,29,69,255,128,13,237,40,20,255,128,10,255,35,255,255,128,20,255,35,255,255,128,20,255,35,255,255,128,20,255,0,'Factory','This is a factory stock color.'), + (7,10,1,101,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,7,255,128,110,192,128,7,255,128,110,192,3,254,100,128,11,237,3,254,100,128,11,237,40,20,20,128,1,165,128,7,255,128,110,192,128,7,255,128,110,192,128,7,255,128,110,192,0,'Factory','This is a factory stock color.'), + (8,10,1,101,'Black Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',33,7,255,128,0,180,33,7,1,128,0,225,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,33,7,1,128,0,175,33,7,1,128,0,175,33,7,1,128,0,175,0,'Factory','This is a factory stock color.'), + (9,10,1,101,'Rose Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',33,7,255,128,0,180,29,69,255,128,13,237,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,30,26,65,128,0,216,30,26,65,128,0,216,30,26,65,128,0,216,0,'Factory','This is a factory stock color.'), + (10,10,1,101,'Violet Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,232,250,80,128,0,244,40,20,255,128,10,255,40,20,255,128,10,255,40,20,20,128,1,165,232,250,80,128,0,194,232,250,80,128,0,194,232,250,80,128,0,194,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (11,10,1,101,'Copper Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,16,164,58,128,0,232,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,16,164,58,128,0,203,16,164,58,128,0,203,16,164,58,128,0,203,0,'Factory','This is a factory stock color.'), + (12,10,1,101,'Dark Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,29,69,255,128,13,237,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,125,125,49,128,0,188,125,125,49,128,0,188,125,125,49,128,0,188,0,'Factory','This is a factory stock color.'), + (13,10,1,101,'Sand Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,29,69,255,128,13,246,19,24,35,128,1,220,19,24,35,128,1,220,40,20,20,128,1,165,30,70,169,128,0,245,30,70,169,128,0,245,30,70,169,128,0,245,0,'Factory','This is a factory stock color.'), + (14,10,1,101,'Dark Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,71,109,33,128,0,240,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,71,169,52,128,0,192,71,169,52,128,0,192,71,169,52,128,0,192,0,'Factory','This is a factory stock color.'), + (15,10,1,102,'Dark Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,27,99,116,128,15,206,27,99,116,128,15,206,35,15,40,128,0,177,6,222,99,128,0,195,6,108,99,128,0,211,6,222,99,128,0,195,0,'Factory','This is a factory stock color.'), + (16,10,1,102,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,35,15,2,128,0,176,35,15,2,128,0,199,35,15,2,128,0,176,0,'Factory','This is a factory stock color.'), + (17,10,1,102,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,20,255,255,107,32,255,20,129,255,128,11,255,20,255,255,107,32,255,0,'Factory','This is a factory stock color.'), + (18,10,1,102,'Polar Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,151,200,109,128,0,225,151,94,109,128,0,233,151,200,109,128,0,225,0,'Factory','This is a factory stock color.'), + (19,10,1,102,'Pale Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,64,83,146,128,5,240,64,31,146,128,5,241,64,83,146,128,5,240,0,'Factory','This is a factory stock color.'), + (20,10,1,102,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,7,254,198,154,1,228,1,108,198,128,0,232,7,254,198,154,1,228,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (21,10,1,102,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,27,99,116,128,15,206,27,99,116,128,15,206,27,99,116,128,15,228,92,133,54,128,0,194,53,82,54,128,0,203,92,133,54,128,0,194,0,'Factory','This is a factory stock color.'), + (22,10,1,102,'Sea Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,125,160,130,128,22,220,125,49,130,128,22,219,125,160,130,128,22,220,0,'Factory','This is a factory stock color.'), + (23,10,1,102,'Lemon Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,36,255,255,128,16,255,40,113,255,128,0,246,36,255,255,128,16,255,0,'Factory','This is a factory stock color.'), + (24,10,1,102,'Slate Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,134,148,43,128,0,193,134,56,43,128,0,211,134,148,43,128,0,193,0,'Factory','This is a factory stock color.'), + (25,10,1,102,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,128,5,255,128,31,255,128,5,255,128,18,241,128,5,255,128,31,255,0,'Factory','This is a factory stock color.'), + (26,10,1,102,'Saddle Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,35,15,40,128,0,177,18,66,118,122,1,212,18,43,118,128,0,227,18,66,118,122,1,212,0,'Factory','This is a factory stock color.'), + (27,10,1,103,'Coral Flame Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,246,255,255,128,5,255,246,255,255,128,5,255,25,9,3,128,0,152,246,255,255,128,5,255,45,5,255,128,35,254,246,255,255,128,5,255,0,'Factory','This is a factory stock color.'), + (28,10,1,103,'Sheridan Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,253,26,67,255,128,37,253,26,67,255,117,37,245,45,5,255,128,0,244,172,255,32,128,0,227,172,255,32,128,0,227,172,255,32,128,0,227,0,'Factory','This is a factory stock color.'), + (29,10,1,103,'Sandpiper Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,214,39,22,104,128,0,235,39,22,104,128,0,220,25,9,3,128,0,152,30,47,171,128,20,255,30,47,171,128,20,255,30,47,171,128,20,255,0,'Factory','This is a factory stock color.'), + (30,10,1,103,'Carnival Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,253,26,67,255,128,37,253,26,67,255,117,37,245,25,9,3,128,0,152,250,255,56,128,0,231,250,255,56,128,0,231,250,255,56,128,0,231,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (31,10,1,103,'Sungate Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,1,254,255,128,0,246,1,254,255,128,0,240,25,9,3,128,0,152,32,40,255,128,62,255,32,40,255,128,62,255,32,40,255,128,62,255,0,'Factory','This is a factory stock color.'), + (32,10,1,103,'Woodsmoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,201,28,22,39,128,0,229,28,22,39,128,0,218,25,9,3,128,0,152,28,22,104,128,0,253,28,22,104,128,0,253,28,22,104,128,0,253,0,'Factory','This is a factory stock color.'), + (33,10,1,103,'Glacier Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,233,142,130,255,128,16,241,142,130,255,128,16,255,45,5,255,128,0,244,142,130,255,128,28,255,45,5,255,128,35,254,142,130,255,128,28,255,0,'Factory','This is a factory stock color.'), + (34,10,1,103,'Fernmist Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,5,239,26,67,255,128,14,220,26,67,255,128,14,210,25,9,3,128,0,152,111,82,133,128,0,252,111,82,133,128,0,252,111,82,133,128,0,252,0,'Factory','This is a factory stock color.'), + (35,10,1,103,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,1,254,255,128,0,246,1,254,255,128,0,240,45,5,255,128,0,244,128,0,3,128,0,205,128,0,3,128,0,205,128,0,3,128,0,205,0,'Factory','This is a factory stock color.'), + (36,10,1,103,'Canary Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,210,26,67,255,128,14,210,26,67,255,128,14,210,25,9,3,128,0,152,34,225,255,49,91,254,45,5,255,128,35,254,34,225,255,49,91,254,0,'Factory','This is a factory stock color.'), + (37,10,1,103,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,67,26,253,47,28,255,67,75,253,47,28,255,67,67,253,25,9,3,128,0,152,13,190,219,94,74,255,45,5,255,128,35,254,13,190,219,94,74,255,0,'Factory','This is a factory stock color.'), + (38,10,1,103,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,18,255,128,9,224,248,122,70,141,0,222,248,122,70,141,0,222,25,9,3,128,0,152,248,122,70,141,0,222,248,122,70,141,0,222,248,122,70,141,0,222,0,'Factory','This is a factory stock color.'), + (39,10,1,103,'Cold River Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,9,241,128,117,57,128,0,231,128,117,57,128,0,231,25,9,3,128,0,152,128,117,57,128,0,242,45,5,255,128,35,254,128,117,57,128,0,242,0,'Factory','This is a factory stock color.'), + (40,10,1,104,'White / Mint Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',65,79,255,128,0,255,65,79,255,128,0,255,40,15,255,128,24,254,65,79,255,128,0,255,20,5,24,128,0,177,28,203,232,128,33,255,128,3,255,128,30,255,65,79,255,128,0,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (41,10,1,104,'White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',1,255,255,128,0,244,40,15,255,128,26,244,40,15,255,128,24,254,1,255,255,128,0,244,20,5,24,128,0,177,28,203,232,128,20,255,128,3,255,128,30,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (42,10,1,104,'White / Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',151,255,176,128,0,252,40,15,255,128,26,244,40,15,255,128,24,254,151,255,176,128,0,252,40,10,255,128,22,255,28,203,232,128,20,255,128,3,255,128,30,255,151,255,176,128,0,252,0,'Factory','This is a factory stock color.'), + (43,10,1,104,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',20,5,14,128,0,222,40,15,13,128,1,229,40,15,13,128,1,244,20,5,14,128,0,222,20,5,24,128,0,177,28,203,232,128,20,255,20,5,10,128,0,154,20,5,10,128,0,203,0,'Factory','This is a factory stock color.'), + (44,10,1,104,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,24,254,28,94,79,128,15,235,40,10,255,128,22,255,122,16,255,128,13,255,33,255,255,128,36,255,33,255,255,128,36,255,0,'Factory','This is a factory stock color.'), + (45,10,1,104,'White / Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',146,100,255,128,13,255,40,15,255,128,26,244,40,15,255,128,24,254,146,100,255,128,13,255,20,5,24,128,0,177,28,203,232,128,20,255,128,3,255,128,30,255,146,100,255,128,13,255,0,'Factory','This is a factory stock color.'), + (46,10,1,104,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,26,244,28,94,79,128,15,235,20,5,24,128,0,177,248,248,65,128,0,239,254,248,65,128,0,231,248,248,65,128,0,239,0,'Factory','This is a factory stock color.'), + (47,10,1,104,'Peach / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',16,128,255,128,9,240,40,15,255,128,26,244,40,15,255,128,26,244,16,128,255,128,9,240,40,10,255,128,22,255,28,203,232,128,20,255,16,128,255,128,9,240,128,3,255,128,30,255,0,'Factory','This is a factory stock color.'), + (48,10,1,104,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',1,255,255,128,0,255,40,15,13,128,1,229,40,15,13,128,1,244,1,255,255,128,0,255,20,5,24,128,0,177,28,203,232,128,33,255,20,5,10,128,0,167,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (49,10,1,104,'Silver / Slate Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',137,14,64,128,0,233,137,14,64,128,0,233,1,255,255,128,0,255,1,255,255,128,0,255,20,5,24,128,0,177,1,255,64,128,0,248,137,14,64,128,0,233,137,14,64,128,0,233,0,'Factory','This is a factory stock color.'), + (50,10,1,104,'Teal / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',120,192,50,128,0,245,40,15,255,128,26,244,40,15,255,128,26,244,120,192,50,128,0,245,40,10,255,128,22,255,1,255,255,128,0,255,120,192,50,128,0,202,128,3,255,128,2,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (51,10,1,105,'White / Mint Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',65,79,255,128,0,255,65,79,255,128,0,255,40,15,255,128,24,254,65,79,255,128,0,255,20,5,24,128,0,156,28,203,232,128,33,255,128,3,255,128,52,255,65,79,255,128,0,255,0,'Factory','This is a factory stock color.'), + (52,10,1,105,'White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',1,255,255,128,0,244,40,15,255,128,26,244,40,15,255,128,24,254,1,255,255,128,0,244,20,5,24,128,0,156,28,203,232,128,20,255,128,3,255,128,52,255,1,255,255,128,11,255,0,'Factory','This is a factory stock color.'), + (53,10,1,105,'White / Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',151,255,176,128,0,252,40,15,255,128,26,244,40,15,255,128,24,254,151,255,176,128,0,252,40,10,255,128,22,255,28,203,232,128,20,255,128,3,255,128,52,255,151,255,176,128,11,255,0,'Factory','This is a factory stock color.'), + (54,10,1,105,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',20,5,14,128,0,222,40,15,13,128,1,229,40,15,13,128,1,244,20,5,14,128,0,222,20,5,24,128,0,156,28,203,232,128,20,255,20,5,10,96,0,207,20,5,10,128,0,222,0,'Factory','This is a factory stock color.'), + (55,10,1,105,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,24,254,28,94,79,128,15,235,40,10,255,128,22,255,122,16,255,128,13,255,33,255,255,128,50,255,33,255,255,128,45,255,0,'Factory','This is a factory stock color.'), + (56,10,1,105,'White / Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',146,100,255,128,13,255,40,15,255,128,26,244,40,15,255,128,24,254,146,100,255,128,13,255,20,5,24,128,0,156,28,203,232,128,20,255,128,3,255,128,52,255,146,128,255,128,33,255,0,'Factory','This is a factory stock color.'), + (57,10,1,105,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,26,244,28,94,79,128,15,235,20,5,24,128,0,156,248,248,65,128,0,239,254,248,65,128,0,231,248,248,65,128,0,239,0,'Factory','This is a factory stock color.'), + (58,10,1,105,'Peach / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',16,128,255,128,9,240,40,15,255,128,26,244,40,15,255,128,26,244,16,128,255,128,9,240,40,10,255,128,22,255,28,203,232,128,20,255,16,128,255,128,40,255,128,3,255,128,41,255,0,'Factory','This is a factory stock color.'), + (59,10,1,105,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',1,255,255,128,0,255,40,15,13,128,1,229,40,15,13,128,1,244,1,255,255,128,0,255,20,5,24,128,0,156,28,203,232,128,33,255,20,5,10,96,0,207,1,255,255,128,13,255,0,'Factory','This is a factory stock color.'), + (60,10,1,105,'Slate Gray / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',137,14,64,128,0,233,137,14,64,128,0,233,1,255,255,128,0,255,1,255,255,128,0,255,20,5,24,128,0,156,1,255,64,128,0,248,137,14,64,128,0,216,137,14,64,128,7,253,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (61,10,1,105,'Teal / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',120,192,50,128,0,245,40,15,255,128,26,244,40,15,255,128,26,244,120,192,50,128,0,245,40,10,255,128,22,255,1,255,255,128,0,255,128,192,50,128,0,228,128,3,255,128,3,255,0,'Factory','This is a factory stock color.'), + (62,10,1,106,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',1,255,188,128,0,214,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,128,13,173,128,0,244,128,13,173,128,0,244,128,13,173,128,0,244,0,'Factory','This is a factory stock color.'), + (63,10,1,106,'Mist Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,218,27,114,77,128,0,215,27,114,77,128,0,202,27,114,77,128,0,220,40,10,255,128,35,255,84,67,130,128,0,255,45,10,255,128,60,255,84,67,130,128,0,255,0,'Factory','This is a factory stock color.'), + (64,10,1,106,'Moss Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,218,41,10,255,128,0,218,124,163,77,128,0,206,124,163,77,128,0,223,30,10,26,128,0,192,124,163,77,128,0,223,124,163,77,128,0,223,124,163,77,128,0,223,0,'Factory','This is a factory stock color.'), + (65,10,1,106,'Pale Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,38,150,255,116,16,255,38,150,255,116,16,255,40,10,255,128,35,255,38,167,255,116,35,255,38,167,255,116,35,255,38,167,255,116,35,255,0,'Factory','This is a factory stock color.'), + (66,10,1,106,'Slate Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,142,219,94,198,0,180,142,219,94,198,0,180,30,10,26,128,0,192,142,219,94,198,0,180,45,10,255,128,60,255,142,219,94,198,0,180,0,'Factory','This is a factory stock color.'), + (67,10,1,106,'Blue Silver Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,139,70,255,128,6,233,139,70,255,128,6,255,40,10,255,128,35,255,139,70,255,128,6,255,45,10,255,128,60,255,139,70,255,128,6,255,0,'Factory','This is a factory stock color.'), + (68,10,1,106,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,1,255,188,128,0,248,45,10,255,128,60,255,1,255,188,128,0,248,0,'Factory','This is a factory stock color.'), + (69,10,1,106,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,30,5,1,159,0,156,45,10,255,128,60,255,30,5,1,159,0,156,0,'Factory','This is a factory stock color.'), + (70,10,1,106,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,128,0,255,107,50,255,128,0,255,107,50,255,128,0,255,107,50,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (71,10,1,106,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,19,94,255,128,0,246,19,94,255,128,0,255,30,10,26,128,0,192,19,94,255,128,0,255,45,10,255,128,60,255,19,113,255,113,33,255,0,'Factory','This is a factory stock color.'), + (72,10,1,106,'Indigo Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',128,13,23,128,0,181,128,13,23,128,0,181,128,13,23,128,0,181,128,13,23,128,0,208,30,10,26,128,0,192,198,104,32,128,0,184,198,104,32,128,0,184,198,104,32,128,0,184,0,'Factory','This is a factory stock color.'), + (73,10,1,106,'Pink Rose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,252,82,194,128,2,255,252,82,194,128,2,255,40,10,255,128,35,255,252,88,194,113,28,255,45,10,255,128,60,255,252,88,194,113,28,255,0,'Factory','This is a factory stock color.'), + (74,10,1,107,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',35,47,126,128,0,249,0,255,255,128,0,248,0,255,255,128,0,248,0,255,255,128,0,248,40,15,255,128,11,255,35,111,126,128,0,240,40,15,255,128,15,255,35,111,126,128,0,240,0,'Factory','This is a factory stock color.'), + (75,10,1,107,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',0,129,255,128,0,255,40,18,236,128,19,255,40,18,175,128,19,239,40,18,160,128,19,232,40,15,45,128,11,170,0,255,255,128,0,240,40,15,255,128,15,255,0,255,255,128,0,240,0,'Factory','This is a factory stock color.'), + (76,10,1,107,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',45,27,255,128,9,255,253,255,203,128,0,250,253,255,114,128,0,236,253,255,104,128,0,228,40,15,255,128,14,255,45,47,255,128,24,255,40,15,255,128,15,255,45,47,255,128,24,255,0,'Factory','This is a factory stock color.'), + (77,10,1,107,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',142,48,255,128,9,255,40,18,236,128,39,255,40,18,175,128,19,250,40,18,160,128,19,246,40,15,45,128,11,170,142,99,255,128,0,255,40,15,255,128,15,255,142,99,255,128,0,255,0,'Factory','This is a factory stock color.'), + (78,10,1,107,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',20,7,94,128,0,237,253,255,203,128,0,250,253,255,114,128,0,236,253,255,104,128,0,228,40,15,45,128,11,170,20,7,14,128,0,177,40,15,255,128,15,255,20,7,14,128,0,177,0,'Factory','This is a factory stock color.'), + (79,10,1,107,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',137,22,159,128,0,249,40,18,52,128,2,227,40,18,75,128,2,222,40,18,52,128,2,208,40,15,45,128,11,170,137,22,122,128,0,231,40,15,255,128,15,255,137,22,122,128,0,231,0,'Factory','This is a factory stock color.'), + (80,10,1,107,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',247,35,151,128,1,244,40,18,236,128,19,255,40,18,175,128,19,239,40,18,160,128,19,232,40,15,45,128,11,170,247,224,57,128,0,207,247,224,57,128,0,207,247,224,57,128,0,207,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (81,10,1,107,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',126,24,116,128,0,237,40,18,236,128,19,255,126,57,97,128,0,222,126,57,97,128,0,222,40,15,45,128,11,170,126,57,71,128,0,203,40,15,255,128,15,255,126,57,71,128,0,203,0,'Factory','This is a factory stock color.'), + (82,10,1,107,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',128,3,138,128,19,255,40,18,236,128,30,255,45,47,255,128,24,255,45,47,255,128,24,255,40,15,45,128,11,170,32,192,255,128,35,255,128,3,255,128,35,255,32,192,255,128,35,255,0,'Factory','This is a factory stock color.'), + (83,10,1,107,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',172,43,58,128,0,237,40,18,236,128,39,255,40,15,45,128,11,206,40,15,45,128,11,194,40,15,45,128,11,170,154,165,58,128,0,201,40,15,255,128,15,255,154,165,58,128,0,201,0,'Factory','This is a factory stock color.'), + (84,10,1,107,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',245,23,255,128,10,255,40,18,236,128,39,255,120,141,71,128,0,237,120,141,71,128,0,237,40,15,255,128,14,255,120,185,71,128,0,216,40,15,255,128,15,255,120,185,71,128,0,216,0,'Factory','This is a factory stock color.'), + (85,10,1,107,'Gunmetal Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',128,0,255,128,0,255,128,0,2,128,0,222,33,19,67,128,0,219,33,19,67,128,0,219,40,15,45,128,11,170,33,19,67,128,0,219,40,15,255,128,15,255,33,19,67,128,0,219,0,'Factory','This is a factory stock color.'), + (86,10,1,108,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,27,80,255,128,0,255,27,80,255,128,0,255,27,80,255,128,0,255,0,'Factory','This is a factory stock color.'), + (87,10,1,108,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',246,242,84,128,5,253,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,246,242,84,128,0,210,246,242,84,128,0,210,246,242,84,128,0,210,0,'Factory','This is a factory stock color.'), + (88,10,1,108,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,225,40,20,6,128,0,176,35,66,86,128,3,225,128,0,1,128,0,168,35,66,86,128,3,225,0,'Factory','This is a factory stock color.'), + (89,10,1,108,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',120,100,49,128,5,250,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,124,254,77,128,13,225,124,254,77,128,13,225,124,254,77,128,13,225,0,'Factory','This is a factory stock color.'), + (90,10,1,108,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',132,126,255,128,35,225,131,11,255,128,15,255,131,11,255,128,15,255,131,11,255,128,15,255,40,20,255,128,15,255,132,126,255,128,35,235,132,126,255,128,35,235,132,126,255,128,35,235,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (91,10,1,108,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',120,100,49,128,0,222,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,254,40,20,6,128,0,176,120,100,49,128,0,222,128,0,1,128,0,168,120,100,49,128,0,222,0,'Factory','This is a factory stock color.'), + (92,10,1,108,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,19,163,113,128,0,255,44,30,255,128,38,255,19,163,113,128,0,255,0,'Factory','This is a factory stock color.'), + (93,10,1,108,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,32,215,255,128,45,249,32,215,255,128,45,249,32,215,255,128,45,249,0,'Factory','This is a factory stock color.'), + (94,10,1,108,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',40,20,255,128,0,180,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,128,0,1,128,0,181,128,0,1,128,0,181,128,0,1,128,0,181,0,'Factory','This is a factory stock color.'), + (95,10,1,108,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',148,218,49,128,0,210,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,148,218,49,128,0,210,148,218,49,128,0,210,148,218,49,128,0,210,0,'Factory','This is a factory stock color.'), + (96,10,1,108,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,28,50,255,128,38,255,128,0,1,128,0,168,28,50,255,128,38,255,0,'Factory','This is a factory stock color.'), + (97,10,1,108,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',121,36,85,128,3,254,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,121,36,85,128,0,222,121,36,85,128,0,222,121,36,85,128,0,222,0,'Factory','This is a factory stock color.'), + (98,10,1,108,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,2,255,255,128,0,250,2,255,255,128,0,250,2,255,255,128,0,250,0,'Factory','This is a factory stock color.'), + (99,10,1,109,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,208,104,22,254,40,15,160,128,10,255,114,163,64,128,0,225,114,163,64,128,0,212,40,15,255,128,9,255,114,163,64,128,0,212,40,14,255,128,27,255,114,163,64,128,0,212,0,'Factory','This is a factory stock color.'), + (100,10,1,109,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,105,194,22,168,33,83,155,128,3,250,40,15,109,128,2,235,33,83,155,128,0,255,30,10,30,128,0,175,33,83,155,128,9,255,33,83,155,128,0,215,33,83,155,128,0,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (101,10,1,109,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',1,255,130,128,1,250,1,255,121,128,1,244,39,16,255,128,19,255,39,16,255,128,56,255,30,10,30,128,0,175,26,37,255,128,56,255,26,37,255,128,56,255,26,37,255,128,56,255,0,'Factory','This is a factory stock color.'), + (102,10,1,109,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',19,7,1,128,0,201,19,7,1,128,0,164,39,7,255,128,9,248,19,7,1,128,0,164,30,10,30,128,0,175,19,7,1,128,0,176,19,7,1,128,0,176,19,7,1,128,0,176,0,'Factory','This is a factory stock color.'), + (103,10,1,109,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',30,10,30,128,0,241,30,10,30,128,0,248,30,10,30,128,0,241,124,31,116,128,0,241,30,10,30,128,0,175,124,31,116,128,0,250,124,31,116,128,0,236,124,31,116,128,0,236,0,'Factory','This is a factory stock color.'), + (104,10,1,109,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,208,104,22,254,40,15,160,128,10,255,33,208,255,128,50,255,33,208,255,128,50,255,40,15,255,128,9,255,33,208,255,128,50,255,40,14,255,128,27,255,33,208,255,128,50,255,0,'Factory','This is a factory stock color.'), + (105,10,1,109,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,151,193,58,128,0,211,40,15,109,128,2,235,151,193,58,128,0,211,30,10,30,128,0,175,151,193,58,128,0,211,40,14,255,128,27,255,151,193,58,128,0,211,0,'Factory','This is a factory stock color.'), + (106,10,1,109,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',129,32,36,128,0,223,129,32,52,128,0,244,129,255,91,128,0,225,129,255,91,128,0,230,40,15,255,128,9,255,129,255,91,128,0,249,40,14,255,128,27,255,129,255,91,128,0,225,0,'Factory','This is a factory stock color.'), + (107,10,1,109,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,105,128,22,216,33,83,155,128,3,250,40,15,109,128,2,235,26,201,151,128,15,255,30,10,30,128,0,175,26,201,151,128,15,255,40,14,255,128,27,255,26,201,151,128,15,255,0,'Factory','This is a factory stock color.'), + (108,10,1,109,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,40,15,109,128,2,188,40,15,109,128,2,188,248,250,54,128,0,219,30,10,30,128,0,175,248,250,54,128,0,250,248,250,54,128,0,219,248,250,54,128,0,219,0,'Factory','This is a factory stock color.'), + (109,10,1,109,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,18,242,40,15,109,128,18,242,40,15,109,128,18,235,0,255,255,128,2,250,36,45,125,128,0,228,0,255,255,128,7,254,40,14,255,128,27,255,0,255,255,128,2,250,0,'Factory','This is a factory stock color.'), + (110,10,1,109,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,255,128,41,249,40,15,255,128,41,231,40,15,255,128,41,214,134,167,197,128,16,255,40,15,255,128,9,255,134,167,197,128,16,255,40,14,255,128,27,255,134,167,197,128,16,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (111,10,1,109,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,40,15,109,128,2,188,40,15,109,128,2,188,37,71,86,128,0,250,40,15,255,128,9,255,37,71,86,128,0,241,37,71,86,128,0,241,37,71,86,128,0,241,0,'Factory','This is a factory stock color.'), + (112,10,1,110,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,131,146,128,0,233,128,0,2,128,0,173,48,122,146,128,0,255,0,'Factory','This is a factory stock color.'), + (113,10,1,110,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,142,54,73,128,0,237,142,13,73,128,0,252,142,252,73,128,0,227,0,'Factory','This is a factory stock color.'), + (114,10,1,110,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,26,237,52,128,0,222,32,177,128,128,0,236,250,237,52,128,0,206,0,'Factory','This is a factory stock color.'), + (115,10,1,110,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,0,'Factory','This is a factory stock color.'), + (116,10,1,110,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,0,'Factory','This is a factory stock color.'), + (117,10,1,110,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,114,54,124,128,0,219,128,0,2,128,0,173,109,54,124,128,0,231,0,'Factory','This is a factory stock color.'), + (118,10,1,110,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,44,45,255,128,45,222,128,0,2,128,0,173,44,45,255,128,66,222,0,'Factory','This is a factory stock color.'), + (119,10,1,110,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,1,254,163,128,13,220,1,254,163,128,13,241,30,10,1,128,2,155,0,'Factory','This is a factory stock color.'), + (120,10,1,110,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (121,10,1,110,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,1,254,163,128,1,224,128,0,2,128,0,173,1,254,163,128,13,241,0,'Factory','This is a factory stock color.'), + (122,10,1,110,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,0,'Factory','This is a factory stock color.'), + (123,10,1,110,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,133,116,212,128,13,207,128,0,2,128,0,173,133,116,212,128,13,227,0,'Factory','This is a factory stock color.'), + (124,10,1,110,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,30,254,255,118,45,212,128,0,2,128,0,173,30,254,255,118,45,252,0,'Factory','This is a factory stock color.'), + (125,10,1,110,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,0,'Factory','This is a factory stock color.'), + (126,10,1,110,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,0,'Factory','This is a factory stock color.'), + (127,10,1,110,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,19,90,88,155,0,202,128,0,2,128,0,173,19,90,88,155,0,211,0,'Factory','This is a factory stock color.'), + (128,10,1,110,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,138,219,92,137,0,214,128,0,2,128,0,163,138,219,92,137,0,224,0,'Factory','This is a factory stock color.'), + (129,10,1,111,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',151,135,158,128,16,232,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,128,0,0,128,0,128,151,135,158,128,16,232,0,'Factory','As per 70 Boss 302 CSV.'), + (130,10,1,111,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',45,102,112,128,16,211,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,128,0,0,128,0,128,45,102,112,128,16,211,0,'Factory','As per 70 Boss 302 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (131,10,1,111,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',6,194,143,128,6,240,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,35,64,158,128,16,244,6,194,143,128,6,240,0,'Factory','As per 70 Boss 302 CSV.'), + (132,10,1,111,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',20,10,1,128,0,177,1,253,163,128,24,242,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,1,253,163,128,24,242,20,10,1,128,0,177,0,'Factory','As per 70 Boss 302 CSV.'), + (133,10,1,111,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','Not listed as factory color. Left over from old CSV file.'), + (134,10,1,111,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Boss 302 CSV.'), + (135,10,1,111,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Boss 302 CSV.'), + (136,10,1,111,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Boss 302 CSV.'), + (137,10,1,111,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Boss 302 CSV.'), + (138,10,1,111,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Boss 302 CSV.'), + (139,10,1,111,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Boss 302 CSV.'), + (140,10,1,111,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Boss 302 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (141,10,1,111,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Boss 302 CSV.'), + (142,10,1,111,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Boss 302 CSV.'), + (143,10,1,111,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Boss 302 CSV.'), + (144,10,1,111,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Boss 302 CSV.'), + (145,10,1,111,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','This is a factory stock color.'), + (146,10,1,112,'Indigo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',197,224,71,128,0,186,197,224,71,128,0,207,128,0,7,128,0,175,197,224,71,128,0,207,40,15,9,128,0,207,197,224,71,128,0,186,197,224,71,128,0,186,197,224,71,128,0,186,0,'Factory','This is a factory stock color.'), + (147,10,1,112,'Pale Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,16,255,128,0,249,35,83,255,128,23,255,40,15,255,128,0,255,35,83,255,128,23,255,35,15,255,128,58,255,128,0,255,128,0,211,128,16,255,128,0,231,35,83,255,128,23,255,0,'Factory','This is a factory stock color.'), + (148,10,1,112,'Light Green Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',77,20,124,128,0,252,77,37,124,128,0,242,40,15,255,128,0,255,77,37,124,128,0,242,35,15,255,128,58,255,128,0,255,128,0,178,128,16,255,128,0,231,77,37,124,128,0,242,0,'Factory','This is a factory stock color.'), + (149,10,1,112,'Burgundy Flame',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',252,79,41,128,0,231,252,255,41,128,0,208,40,15,255,128,0,255,252,255,41,128,0,208,40,15,9,128,0,207,252,97,41,128,0,181,128,16,255,128,0,231,252,255,41,128,0,208,0,'Factory','This is a factory stock color.'), + (150,10,1,112,'Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',5,255,255,128,0,237,5,7,7,128,0,193,5,7,7,128,0,193,5,7,7,128,0,193,40,15,9,128,0,207,5,255,255,128,0,237,5,255,255,128,0,237,5,255,255,128,0,237,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (151,10,1,112,'Black Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',165,8,255,128,0,180,165,8,255,128,0,180,33,23,255,128,0,240,165,8,255,128,0,180,40,15,9,128,0,207,20,8,1,58,0,155,20,8,1,58,0,155,20,8,1,58,0,155,0,'Factory','This is a factory stock color.'), + (152,10,1,112,'Gray Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,11,133,128,20,252,128,16,133,128,0,242,128,0,255,128,0,194,128,16,133,128,0,242,40,15,9,128,0,207,128,0,255,128,0,194,128,11,255,128,0,253,128,16,133,128,0,242,0,'Factory','This is a factory stock color.'), + (153,10,1,112,'Steel Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',27,36,66,128,0,241,27,36,66,128,0,225,33,11,255,128,0,228,27,36,66,128,0,225,40,15,9,128,0,207,128,0,255,128,0,184,128,16,255,128,0,231,27,36,66,128,0,225,0,'Factory','This is a factory stock color.'), + (154,10,1,112,'Blue Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',129,65,61,128,0,220,129,65,61,128,0,220,33,11,255,128,0,228,129,65,61,128,0,220,40,15,9,128,0,207,128,0,255,128,0,184,128,16,255,128,0,231,129,65,61,128,0,220,0,'Factory','This is a factory stock color.'), + (155,10,1,112,'Sunburst Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',20,255,254,128,40,240,20,255,254,128,40,240,33,23,255,128,0,240,20,255,254,128,40,240,40,15,9,128,0,207,20,255,254,128,40,240,20,255,254,128,40,240,20,255,254,128,40,240,0,'Factory','This is a factory stock color.'), + (156,10,1,112,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,0,255,128,35,255,2,255,58,128,0,214,2,255,58,128,0,214,2,255,58,128,0,214,40,15,9,128,0,207,128,6,255,128,37,255,128,6,255,128,37,255,128,6,255,128,37,255,0,'Factory','This is a factory stock color.'), + (157,10,1,112,'Sky Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',40,15,255,128,0,240,143,121,255,128,6,255,40,15,255,128,0,255,143,121,255,128,6,255,35,15,255,128,58,255,128,0,255,128,0,188,128,0,255,128,0,233,143,121,255,128,6,255,0,'Factory','This is a factory stock color.'), + (158,10,1,113,'Harbor Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,156,241,94,122,0,246,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,156,241,94,122,0,246,0,'Factory','This is a factory stock color.'), + (159,10,1,113,'Inca Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,20,10,11,128,0,216,20,10,11,128,0,203,20,10,11,128,0,233,20,10,22,128,0,184,40,10,172,100,31,250,0,255,255,128,0,255,40,10,172,100,31,250,0,'Factory','This is a factory stock color.'), + (160,10,1,113,'Tropical Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,24,28,255,128,36,252,120,95,255,108,37,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,120,95,255,108,37,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (161,10,1,113,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,20,10,11,128,0,216,20,10,11,128,0,233,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), + (162,10,1,113,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,20,10,11,128,0,193,0,255,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), + (163,10,1,113,'Imperial Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,33,47,255,97,71,255,128,0,255,128,0,255,33,47,255,97,71,255,0,'Factory','This is a factory stock color.'), + (164,10,1,113,'Coronado Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,33,228,255,47,82,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,33,228,255,47,88,255,0,'Factory','This is a factory stock color.'), + (165,10,1,113,'Laurel Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,60,92,114,128,0,242,20,10,22,128,0,184,60,92,114,128,0,242,128,0,255,128,0,255,60,92,114,128,0,242,0,'Factory','This is a factory stock color.'), + (166,10,1,113,'Sierra Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,33,35,255,97,78,255,128,0,255,128,0,255,33,190,155,122,22,254,0,'Factory','This is a factory stock color.'), + (167,10,1,113,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,4,255,255,128,21,255,128,0,255,128,0,255,4,255,255,128,21,255,0,'Factory','This is a factory stock color.'), + (168,10,1,114,'Venetian Red / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',1,255,255,128,0,255,1,255,255,128,0,255,40,25,255,128,0,250,1,255,255,128,0,255,40,20,255,128,0,255,128,0,255,128,0,255,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (169,10,1,114,'Venetian Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',1,255,255,128,0,255,1,255,255,128,0,255,40,25,255,128,0,250,1,255,255,128,0,255,40,20,255,128,0,255,1,255,255,128,0,232,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (170,10,1,114,'Polo White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',128,5,255,128,41,255,128,5,255,128,41,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,128,5,255,128,48,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (171,10,1,114,'Polo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',128,5,255,128,41,255,128,5,255,128,41,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,128,5,255,128,41,248,128,5,255,128,48,255,128,5,255,128,48,255,0,'Factory','This is a factory stock color.'), + (172,10,1,114,'Onyx Black / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,40,25,255,128,0,250,40,20,255,128,0,170,40,20,255,128,0,255,128,0,255,128,0,255,40,20,255,128,0,170,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), + (173,10,1,114,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,40,25,255,128,0,171,40,20,255,128,0,170,40,20,255,128,0,255,40,20,255,128,0,177,40,20,255,128,0,170,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), + (174,10,1,114,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), + (175,10,1,114,'Inca Silver / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,15,255,128,12,255,40,15,255,128,12,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,40,15,109,128,12,255,0,'Factory','This is a factory stock color.'), + (176,10,1,114,'Inca Silver / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,15,255,128,12,255,40,15,255,128,12,255,40,25,255,128,0,250,40,20,255,128,0,170,40,20,255,128,0,170,128,0,255,128,0,255,40,15,255,128,12,255,40,15,109,128,12,255,0,'Factory','This is a factory stock color.'), + (177,10,1,114,'Aztec Copper / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',10,146,161,128,18,221,10,146,161,128,18,221,40,25,255,128,0,250,10,146,161,128,18,221,40,25,255,128,0,250,128,0,255,128,0,255,10,146,161,128,18,221,10,146,161,128,18,221,0,'Factory','This is a factory stock color.'), + (178,10,1,114,'Arctic Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,40,25,255,128,0,250,140,61,143,128,14,219,40,25,255,128,0,250,128,0,255,128,0,255,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'), + (179,10,1,114,'Arctic Blue / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,1,214,207,128,9,225,140,61,143,128,14,219,40,20,255,128,0,170,128,0,255,128,0,222,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'), + (180,10,1,114,'Arctic Blue / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,1,214,207,128,9,225,140,61,143,128,14,219,40,20,255,128,0,170,1,255,255,128,0,255,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (181,10,1,114,'Cascade Green / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',127,251,211,128,0,255,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,255,40,25,255,128,0,250,128,0,255,128,0,255,127,251,211,128,0,255,127,251,211,128,0,255,0,'Factory','This is a factory stock color.'), + (182,10,1,114,'Cascade Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',127,251,211,128,0,255,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,231,127,251,211,128,0,255,127,251,211,128,0,255,0,'Factory','This is a factory stock color.'), + (183,10,1,115,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,4,255,255,128,21,255,128,0,255,128,0,255,4,255,255,128,21,255,0,'Factory','This is a factory stock color.'), + (184,10,1,115,'Inca Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',4,255,255,128,21,241,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,40,10,172,100,31,250,0,255,255,128,0,255,40,10,172,100,31,250,0,'Factory','This is a factory stock color.'), + (185,10,1,115,'Tropical Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,24,28,255,128,36,252,120,95,255,108,37,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,120,95,255,108,37,255,0,'Factory','This is a factory stock color.'), + (186,10,1,115,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,20,10,11,128,0,216,20,10,11,128,0,233,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), + (187,10,1,115,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,20,10,11,128,0,193,0,255,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), + (188,10,1,115,'Imperial Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,33,47,255,97,71,255,128,0,255,128,0,255,33,47,255,97,71,255,0,'Factory','This is a factory stock color.'), + (189,10,1,115,'Coronado Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,33,228,255,47,82,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,33,228,255,47,88,255,0,'Factory','This is a factory stock color.'), + (190,10,1,115,'Laurel Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,60,92,114,128,0,242,20,10,22,128,0,184,60,92,114,128,0,242,128,0,255,128,0,255,60,92,114,128,0,242,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (191,10,1,115,'Sierra Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,33,35,255,97,78,255,128,0,255,128,0,255,33,190,155,122,22,254,0,'Factory','This is a factory stock color.'), + (192,10,1,115,'Harbor Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,156,241,94,122,0,246,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,156,241,94,122,0,246,0,'Factory','This is a factory stock color.'), + (193,10,1,116,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,1,254,255,128,0,246,40,15,255,128,0,255,1,254,255,128,0,229,40,20,255,128,0,229,1,71,255,128,0,249,40,24,255,128,32,255,1,254,255,128,0,218,0,'Factory','This is a factory stock color.'), + (194,10,1,116,'Gray-Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,125,47,90,128,0,202,128,0,255,128,0,186,125,47,90,128,0,202,40,20,10,128,0,224,125,18,90,128,0,248,40,24,255,128,32,255,125,47,90,128,0,202,0,'Factory','This is a factory stock color.'), + (195,10,1,116,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,20,5,255,128,0,199,128,0,255,128,0,186,20,5,255,128,0,199,40,20,10,128,0,224,20,5,1,128,0,208,20,5,1,128,0,159,20,5,1,128,0,159,0,'Factory','This is a factory stock color.'), + (196,10,1,116,'Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,127,254,53,128,1,195,128,0,255,128,0,186,127,254,53,128,1,195,40,20,10,128,0,224,127,49,53,128,1,229,127,254,53,128,1,195,127,254,53,128,1,195,0,'Factory','This is a factory stock color.'), + (197,10,1,116,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',40,15,255,128,0,255,108,69,143,128,0,219,40,15,255,128,0,255,108,69,143,128,0,219,40,20,10,128,0,224,108,24,143,128,0,233,40,24,255,128,32,255,108,69,143,128,0,219,0,'Factory','This is a factory stock color.'), + (198,10,1,116,'Off-White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,31,43,255,128,32,255,1,249,154,128,0,224,31,43,255,128,32,255,40,20,10,128,0,224,31,43,255,128,23,255,31,43,255,128,32,255,31,43,255,128,32,255,0,'Factory','This is a factory stock color.'), + (199,10,1,116,'Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,170,255,47,128,0,242,128,0,255,128,0,186,170,255,47,128,0,218,40,20,10,128,0,224,147,75,47,128,0,211,147,255,47,128,0,180,147,255,47,128,0,180,0,'Factory','This is a factory stock color.'), + (200,10,1,116,'Dark Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',30,79,30,128,0,241,30,79,30,128,0,241,30,79,30,128,0,253,30,79,30,128,0,212,40,20,10,128,0,224,94,54,47,128,0,220,107,185,47,114,0,175,107,185,47,114,0,175,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (201,10,1,116,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,128,8,255,128,33,233,1,249,154,128,0,224,128,8,255,128,33,255,40,20,255,128,0,229,128,8,255,128,7,255,128,8,255,128,33,255,128,8,255,128,33,255,0,'Factory','This is a factory stock color.'), + (202,10,1,116,'Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',40,15,255,128,0,255,30,83,255,128,7,239,40,15,255,128,0,255,30,83,255,128,7,239,40,20,10,128,0,224,30,49,255,128,7,250,40,24,255,128,32,255,30,83,255,128,7,239,0,'Factory','This is a factory stock color.'), + (203,10,1,116,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,19,254,255,128,11,255,40,15,255,128,0,255,19,254,255,128,11,255,40,20,255,128,0,229,23,65,255,128,20,255,40,24,255,128,32,255,19,254,255,128,11,255,0,'Factory','This is a factory stock color.'), + (204,10,1,116,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,28,232,255,128,30,255,128,0,255,128,0,255,28,232,255,128,30,255,40,20,255,128,73,255,37,44,255,128,6,240,40,24,255,128,32,255,28,232,255,128,30,255,0,'Factory','This is a factory stock color.'), + (205,10,1,116,'Light Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,139,139,255,128,6,237,128,0,255,128,0,255,139,139,255,128,6,237,40,20,255,128,73,255,139,45,255,128,6,250,40,24,255,128,32,255,139,139,255,128,6,237,0,'Factory','This is a factory stock color.'), + (206,10,1,116,'Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,20,5,255,128,0,229,1,2,154,128,0,173,20,5,255,128,0,214,40,20,255,128,0,229,20,5,255,128,0,240,20,5,255,128,0,206,20,5,255,128,0,206,0,'Factory','This is a factory stock color.'), + (207,10,1,117,'Sebring Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,128,5,109,128,0,255,128,5,109,128,0,255,128,5,109,128,0,255,128,5,109,128,0,255,0,'Factory','This is a factory stock color.'), + (208,10,1,117,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',158,133,75,128,30,229,158,133,75,128,30,218,158,133,75,128,30,229,158,133,75,128,30,229,146,73,186,128,56,195,146,73,186,128,56,195,146,73,186,128,56,195,146,73,186,128,56,195,0,'Factory','This is a factory stock color.'), + (209,10,1,117,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,146,255,114,128,1,232,146,255,114,128,1,232,146,255,114,128,1,232,146,255,114,128,1,232,0,'Factory','This is a factory stock color.'), + (210,10,1,117,'Riverside Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,5,255,219,128,0,255,5,255,219,128,0,255,5,255,219,128,0,248,5,255,219,128,0,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (211,10,1,117,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,128,5,255,128,69,236,128,5,255,128,69,236,128,5,255,128,69,236,128,5,255,128,69,236,0,'Factory','This is a factory stock color.'), + (212,10,1,117,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,35,10,1,130,0,161,35,10,1,130,0,161,35,10,1,130,0,161,35,10,1,130,0,161,0,'Factory','This is a factory stock color.'), + (213,10,1,117,'Saddle Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',23,164,107,128,30,235,23,164,107,128,30,228,23,164,107,128,30,225,23,164,107,128,30,235,20,97,202,128,18,241,20,97,202,128,18,241,20,97,202,128,18,241,20,97,202,128,18,241,0,'Factory','This is a factory stock color.'), + (214,10,1,117,'Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,255,30,15,255,128,1,255,30,15,255,128,1,255,28,146,207,128,13,249,28,146,207,128,13,249,28,146,207,128,13,249,28,146,207,128,13,249,0,'Factory','This is a factory stock color.'), + (215,10,1,117,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',23,164,107,128,30,235,23,164,107,128,30,235,23,164,107,128,30,235,23,164,107,128,30,235,250,255,70,150,0,210,250,255,70,150,0,210,250,255,70,150,0,210,250,255,70,150,0,210,0,'Factory','This is a factory stock color.'), + (216,10,1,118,'Rio Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,1,255,255,128,0,240,1,255,255,128,0,240,40,16,255,128,13,255,1,255,255,128,0,240,128,1,255,128,35,255,1,255,255,128,0,240,0,'Factory','This is a factory stock color.'), + (217,10,1,118,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',107,163,52,128,0,224,121,245,52,128,0,184,121,245,52,128,0,210,121,245,52,128,0,191,40,16,30,128,13,175,121,245,52,128,0,192,39,52,255,128,18,255,109,245,79,128,0,202,0,'Factory','This is a factory stock color.'), + (218,10,1,118,'Colonial Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,185,40,15,35,128,1,216,39,52,255,128,18,255,39,52,255,128,18,255,40,16,30,128,13,175,39,52,255,128,18,255,128,1,255,128,35,255,39,52,255,128,18,255,0,'Factory','This is a factory stock color.'), + (219,10,1,118,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,137,186,105,128,2,207,137,186,105,128,2,207,128,0,255,128,0,255,137,186,105,128,2,207,1,0,255,128,20,255,137,186,105,128,2,207,0,'Factory','This is a factory stock color.'), + (220,10,1,118,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,141,65,138,113,0,236,141,65,138,113,0,236,40,16,30,128,13,175,141,65,138,113,0,236,1,0,255,128,20,255,141,65,138,113,0,236,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (221,10,1,118,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',1,255,108,128,0,185,1,255,108,128,0,205,20,7,7,128,0,185,20,7,7,128,0,174,128,0,255,128,0,255,20,7,7,128,0,176,1,0,255,128,20,255,20,7,7,128,0,160,0,'Factory','This is a factory stock color.'), + (222,10,1,118,'Tropic Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,150,50,35,128,1,216,131,187,181,128,2,251,131,187,181,128,2,251,128,0,255,128,0,255,131,187,181,128,2,251,131,187,181,128,2,251,131,187,181,128,2,251,0,'Factory','This is a factory stock color.'), + (223,10,1,118,'Snowcrest White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',1,255,108,128,0,224,1,255,108,128,0,219,128,1,255,128,13,255,128,1,255,128,35,255,40,16,30,128,13,175,128,1,255,128,35,255,128,1,255,128,35,255,128,1,255,128,35,255,0,'Factory','This is a factory stock color.'), + (224,10,1,118,'Anniversary Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,223,40,15,35,128,1,216,30,99,158,128,0,236,30,99,158,128,0,236,40,16,30,128,13,175,30,99,158,128,0,236,128,1,255,128,35,255,30,99,158,128,0,236,0,'Factory','This is a factory stock color.'), + (225,10,1,118,'Cay Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,223,128,0,133,128,7,255,13,138,195,103,20,255,13,138,195,103,20,255,128,0,255,128,0,255,13,138,195,103,20,255,128,1,255,128,35,255,13,138,195,103,20,255,0,'Factory','This is a factory stock color.'), + (226,10,1,119,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,0,83,255,128,15,255,0,255,255,111,16,255,0,'Factory','This is a factory stock color.'), + (227,10,1,119,'Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,148,255,54,152,0,211,170,33,54,128,0,231,148,255,54,152,0,211,0,'Factory','This is a factory stock color.'), + (228,10,1,119,'Off White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,250,30,10,5,128,0,245,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,43,26,255,100,48,255,43,54,255,128,10,255,43,26,255,100,48,255,0,'Factory','This is a factory stock color.'), + (229,10,1,119,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,99,0,206,20,5,1,128,0,208,20,5,1,99,0,206,0,'Factory','This is a factory stock color.'), + (230,10,1,119,'Vermillion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',22,104,94,128,0,245,22,104,94,128,0,252,22,104,94,128,0,252,22,104,94,128,0,252,30,15,2,128,0,214,3,250,64,128,0,227,248,45,64,128,0,228,3,250,64,128,0,227,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (231,10,1,119,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,130,5,124,122,1,232,130,5,126,128,0,253,130,5,124,122,1,232,0,'Factory','This is a factory stock color.'), + (232,10,1,119,'Light Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',142,181,171,128,0,233,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,142,181,171,128,0,254,121,40,171,128,0,249,142,181,171,128,0,254,0,'Factory','This is a factory stock color.'), + (233,10,1,119,'Light Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,35,233,255,128,43,255,35,82,255,128,7,255,35,233,255,128,43,255,0,'Factory','This is a factory stock color.'), + (234,10,1,119,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,5,255,128,14,255,128,5,255,83,58,255,0,'Factory','This is a factory stock color.'), + (235,10,1,119,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,28,104,94,128,20,252,28,104,94,128,20,252,28,104,94,128,20,252,30,15,2,128,0,214,95,147,91,128,0,240,66,39,91,128,0,241,95,147,91,128,0,240,0,'Factory','This is a factory stock color.'), + (236,10,1,119,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',22,255,239,108,30,255,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,22,255,239,86,50,255,22,135,239,108,30,255,22,255,239,86,50,255,0,'Factory','This is a factory stock color.'), + (237,10,1,119,'Dark Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',128,254,71,143,0,202,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,254,71,143,0,212,128,56,137,143,0,224,128,254,71,143,0,212,0,'Factory','This is a factory stock color.'), + (238,10,1,120,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','This is a factory stock color.'), + (239,10,1,120,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'), + (240,10,1,120,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (241,10,1,120,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), + (242,10,1,120,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), + (243,10,1,120,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), + (244,10,1,120,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), + (245,10,1,120,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), + (246,10,1,120,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'Factory','This is a factory stock color.'), + (247,10,1,120,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), + (248,10,1,120,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), + (249,10,1,120,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,128,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), + (250,10,1,120,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (251,10,1,120,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), + (252,10,1,120,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), + (253,10,1,120,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), + (254,10,1,120,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), + (255,10,1,120,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), + (256,10,1,121,'Monza Red / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,255,255,139,0,211,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), + (257,10,1,121,'Classic White / Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,165,1,41,101,128,0,254,15,255,101,128,14,255,128,5,255,128,18,255,0,'Factory','This is a factory stock color.'), + (258,10,1,121,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,128,255,58,152,0,203,128,255,58,152,0,203,128,255,58,152,0,203,0,'Factory','This is a factory stock color.'), + (259,10,1,121,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,27,138,126,128,0,223,27,138,126,128,0,223,27,138,126,128,0,223,0,'Factory','This is a factory stock color.'), + (260,10,1,121,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,122,10,160,128,0,227,1,1,1,128,1,147,122,10,160,142,0,220,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (261,10,1,121,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,104,101,147,128,0,219,104,101,147,128,0,219,104,101,147,128,0,219,0,'Factory','This is a factory stock color.'), + (262,10,1,121,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,97,130,53,128,0,190,97,130,53,128,0,190,97,130,53,128,0,190,0,'Factory','This is a factory stock color.'), + (263,10,1,121,'Cranberry Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,248,254,91,176,0,180,1,1,1,128,1,147,248,254,91,176,0,192,0,'Factory','This is a factory stock color.'), + (264,10,1,121,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,165,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,184,2,180,0,'Factory','This is a factory stock color.'), + (265,10,1,121,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,242,28,83,171,0,180,1,1,1,128,1,147,242,28,83,171,0,202,0,'Factory','This is a factory stock color.'), + (266,10,1,121,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,155,254,70,146,11,184,155,254,70,146,11,184,155,254,70,146,11,184,0,'Factory','This is a factory stock color.'), + (267,10,1,121,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,26,41,53,128,0,199,26,41,53,128,0,199,26,41,53,128,0,199,0,'Factory','This is a factory stock color.'), + (268,10,1,121,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,31,148,112,109,11,228,1,1,1,128,1,147,31,148,112,109,11,233,0,'Factory','This is a factory stock color.'), + (269,10,1,121,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,245,255,66,128,0,198,245,255,66,128,0,198,245,255,66,128,0,198,0,'Factory','This is a factory stock color.'), + (270,10,1,121,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,23,126,62,128,0,194,23,126,62,128,0,194,23,126,62,128,0,194,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (271,10,1,121,'Plum / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,215,255,53,128,0,188,1,1,1,128,1,147,215,255,53,128,0,198,0,'Factory','This is a factory stock color.'), + (272,10,1,121,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',18,86,255,117,20,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,31,255,255,117,26,229,1,1,1,128,1,147,31,255,255,117,26,255,0,'Factory','This is a factory stock color.'), + (273,10,1,121,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,236,255,128,0,219,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), + (274,10,1,122,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,242,28,83,128,0,214,1,1,1,128,1,168,242,28,83,128,0,225,0,'Factory','This is a factory stock color.'), + (275,10,1,122,'Classic White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,248,1,41,101,128,0,254,1,255,101,128,0,236,128,5,255,128,39,255,0,'Factory','This is a factory stock color.'), + (276,10,1,122,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,128,57,58,128,0,248,128,0,255,128,35,255,128,255,58,128,0,227,0,'Factory','This is a factory stock color.'), + (277,10,1,122,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,0,'Factory','This is a factory stock color.'), + (278,10,1,122,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,122,10,160,128,0,227,1,1,1,128,1,168,122,10,160,128,0,248,0,'Factory','This is a factory stock color.'), + (279,10,1,122,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,104,101,147,128,0,239,104,101,147,128,0,239,104,101,147,128,0,239,0,'Factory','This is a factory stock color.'), + (280,10,1,122,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,97,130,53,128,0,210,97,130,53,128,0,210,97,130,53,128,0,210,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (281,10,1,122,'Cranberry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,6,254,91,128,0,233,6,254,91,128,0,233,6,254,91,128,0,233,0,'Factory','This is a factory stock color.'), + (282,10,1,122,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,248,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,128,2,228,0,'Factory','This is a factory stock color.'), + (283,10,1,122,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,1,141,255,128,0,214,1,1,1,128,1,168,1,255,255,139,0,255,0,'Factory','This is a factory stock color.'), + (284,10,1,122,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,155,254,70,146,11,206,155,254,70,146,11,206,155,254,70,146,11,206,0,'Factory','This is a factory stock color.'), + (285,10,1,122,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,26,41,53,128,0,224,26,41,53,128,0,224,26,41,53,128,0,224,0,'Factory','This is a factory stock color.'), + (286,10,1,122,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,31,176,112,109,18,206,1,1,1,128,1,168,31,176,112,109,18,253,0,'Factory','This is a factory stock color.'), + (287,10,1,122,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,245,255,66,128,0,225,245,255,66,128,0,225,245,255,66,128,0,225,0,'Factory','This is a factory stock color.'), + (288,10,1,122,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,23,126,62,128,0,215,23,126,62,128,0,215,23,126,62,128,0,215,0,'Factory','This is a factory stock color.'), + (289,10,1,123,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,48,83,139,128,0,223,20,7,31,128,0,246,20,7,9,128,0,244,48,28,139,128,0,240,20,7,18,128,0,161,48,83,139,128,0,223,0,'Factory','This is a factory stock color.'), + (290,10,1,123,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',0,255,255,128,0,241,0,255,255,128,0,241,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,0,86,255,128,0,252,0,255,255,128,0,241,0,255,255,128,0,241,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (291,10,1,123,'Astro Blue / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',145,210,142,128,0,216,145,210,142,128,0,216,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,150,79,142,128,0,241,145,210,142,128,0,216,145,210,142,128,0,216,0,'Factory','This is a factory stock color.'), + (292,10,1,123,'Shadow Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,24,66,86,128,0,207,20,7,31,128,0,246,20,7,9,128,0,244,24,40,75,128,0,231,20,7,18,128,0,161,24,66,86,128,0,207,0,'Factory','This is a factory stock color.'), + (293,10,1,123,'Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',22,107,142,128,0,225,22,107,142,128,0,225,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,28,47,142,128,0,245,22,107,142,128,0,225,22,107,142,128,0,225,0,'Factory','This is a factory stock color.'), + (294,10,1,123,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,101,178,33,128,0,193,20,7,31,128,0,246,20,7,9,128,0,244,64,84,33,128,36,206,20,7,18,128,0,161,101,178,33,128,0,193,0,'Factory','This is a factory stock color.'), + (295,10,1,123,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',137,255,52,128,0,192,137,255,52,128,0,192,137,255,52,128,0,192,20,7,31,128,0,246,20,7,9,128,0,244,137,57,52,128,0,237,137,255,52,128,0,192,137,255,52,128,0,192,0,'Factory','This is a factory stock color.'), + (296,10,1,123,'Classic White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,58,255,20,7,18,128,0,208,40,7,255,128,27,255,20,7,31,128,0,246,20,7,9,128,0,244,40,7,255,128,27,225,20,7,18,128,0,161,40,7,255,128,27,255,0,'Factory','This is a factory stock color.'), + (297,10,1,123,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,130,182,97,128,0,222,20,7,31,128,0,246,20,7,9,128,0,244,130,73,97,128,0,235,20,7,18,128,0,161,130,182,97,128,0,222,0,'Factory','This is a factory stock color.'), + (298,10,1,123,'Black Cherry / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',1,255,80,128,2,203,1,255,80,128,2,203,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,1,66,80,128,2,241,1,255,80,128,2,203,1,255,80,128,2,203,0,'Factory','This is a factory stock color.'), + (299,10,1,123,'Autumn Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',26,134,134,137,0,199,26,134,134,137,0,199,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,26,74,134,128,0,245,26,134,134,137,0,199,26,134,134,137,0,199,0,'Factory','This is a factory stock color.'), + (300,10,1,123,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',129,1,189,128,1,222,129,1,189,128,1,222,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,129,1,189,128,1,231,129,1,189,128,1,222,129,1,189,128,1,222,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (301,10,1,123,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,22,147,147,128,0,244,20,7,31,128,0,246,40,10,255,128,77,255,22,53,147,128,0,250,20,7,18,128,0,161,22,147,147,128,0,244,0,'Factory','This is a factory stock color.'), + (302,10,1,123,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',20,5,1,128,0,184,20,5,1,128,0,184,0,255,255,128,0,241,20,7,31,128,0,246,20,7,9,128,0,244,20,5,66,128,0,245,20,5,1,128,0,184,20,5,1,128,0,177,0,'Factory','This is a factory stock color.'), + (303,10,1,123,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',29,255,255,128,34,255,29,255,255,128,34,255,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,37,64,255,128,16,239,29,255,255,128,34,255,29,255,255,128,34,255,0,'Factory','This is a factory stock color.'), + (304,10,1,124,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',252,70,92,122,0,231,252,254,92,122,10,255,40,20,255,128,0,250,252,254,92,122,23,255,40,20,255,128,10,255,40,20,255,128,9,254,40,20,255,128,0,250,254,255,92,128,0,199,0,'Factory','This is a factory stock color.'), + (305,10,1,124,'Berkeley Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',32,14,87,101,0,224,32,43,87,101,24,254,40,20,255,128,0,250,32,43,87,101,24,254,40,20,255,128,0,170,40,20,255,128,9,254,40,20,255,128,0,250,32,43,87,101,0,192,0,'Factory','This is a factory stock color.'), + (306,10,1,124,'Cavern Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',83,43,18,104,5,215,67,111,48,128,1,237,27,94,113,128,0,229,67,111,48,128,1,237,40,20,2,128,0,165,27,43,113,128,0,239,27,94,113,128,0,207,83,148,18,104,5,156,0,'Factory','This is a factory stock color.'), + (307,10,1,124,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',128,0,2,128,0,203,40,20,255,128,0,235,40,20,255,128,0,250,128,0,2,128,0,228,40,20,2,128,0,165,128,0,2,64,0,248,128,0,2,64,0,160,128,0,2,64,0,160,0,'Factory','This is a factory stock color.'), + (308,10,1,124,'Gunmetal Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',35,13,71,128,9,218,35,20,71,128,9,255,40,20,255,128,0,184,35,20,71,128,9,255,40,20,2,128,0,165,128,0,2,64,0,248,128,0,2,64,0,160,19,24,41,128,0,185,0,'Factory','This is a factory stock color.'), + (309,10,1,124,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',92,52,74,128,19,197,92,150,74,128,19,231,40,20,255,128,0,250,92,150,74,128,19,231,40,20,2,128,0,165,92,52,74,128,19,197,92,150,74,128,19,159,92,150,74,128,19,159,0,'Factory','This is a factory stock color.'), + (310,10,1,124,'Shetland Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',35,20,71,128,9,241,35,40,240,128,35,255,40,20,255,128,0,184,35,40,240,128,35,255,40,20,2,128,0,165,40,20,255,128,9,254,40,20,255,128,0,250,35,40,172,128,0,229,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (311,10,1,124,'Pawnee Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',22,45,186,128,1,231,22,133,186,128,7,252,40,20,255,128,0,250,22,133,186,128,23,252,40,20,255,128,0,250,22,45,186,128,1,231,22,133,186,128,1,215,22,133,186,128,1,215,0,'Factory','This is a factory stock color.'), + (312,10,1,124,'Asbury Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',62,30,194,128,0,235,62,53,194,128,19,253,40,20,255,128,0,250,62,53,194,128,19,253,40,20,255,128,0,250,40,20,255,128,9,254,40,20,255,128,0,250,62,53,194,128,0,212,0,'Factory','This is a factory stock color.'), + (313,10,1,124,'Marlboro Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',158,65,54,128,0,222,158,254,54,128,0,244,40,20,255,128,0,250,158,254,54,128,0,244,40,20,255,128,10,255,40,20,255,128,9,254,40,20,255,128,0,250,158,254,54,128,0,177,0,'Factory','This is a factory stock color.'), + (314,10,1,125,'Carnation Pink',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,4,74,255,128,40,240,40,20,255,128,10,255,4,74,255,128,40,240,170,5,255,128,30,254,4,74,255,128,40,240,0,'Factory','This is a factory stock color.'), + (315,10,1,125,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,253,246,255,128,0,245,40,20,255,128,10,255,253,246,255,128,0,245,170,5,255,128,30,254,253,246,255,128,0,245,0,'Factory','This is a factory stock color.'), + (316,10,10,125,'Lemon Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,36,167,255,128,45,252,40,20,255,128,10,255,36,167,255,128,45,252,170,5,255,128,30,254,36,167,255,128,45,252,0,'Factory','This is a factory stock color.'), + (317,10,1,125,'Pistachio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,100,144,255,128,1,245,40,20,255,128,10,255,100,144,255,128,1,245,170,5,255,128,30,254,100,144,255,128,1,245,0,'Factory','This is a factory stock color.'), + (318,10,1,125,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,40,10,255,128,0,185,40,20,5,128,1,137,40,10,6,128,0,161,170,5,255,128,30,254,40,10,6,128,0,161,0,'Factory','This is a factory stock color.'), + (319,10,10,125,'Light Blue Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,130,78,180,128,14,233,40,20,255,128,10,255,130,78,180,128,14,233,170,5,255,128,30,254,130,78,180,128,14,233,0,'Factory','This is a factory stock color.'), + (320,10,1,125,'Executive Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,1,189,40,20,255,128,1,189,40,20,255,128,1,189,158,156,75,128,0,197,40,20,5,128,1,137,158,156,75,128,0,197,158,156,75,128,0,197,158,156,75,128,0,197,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (321,10,10,125,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',1,255,171,128,1,220,1,255,171,128,1,220,1,255,171,128,1,220,130,9,255,128,53,231,40,20,5,128,1,137,130,9,255,128,53,231,130,9,255,128,53,231,130,9,255,128,53,244,0,'Factory','This is a factory stock color.'), + (322,10,1,125,'Saddle Rose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,21,114,255,128,10,255,40,20,255,128,10,255,21,114,255,128,10,255,170,5,255,128,30,254,21,114,255,128,10,255,0,'Factory','This is a factory stock color.'), + (323,10,1,125,'Sky Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,142,125,255,128,44,225,40,20,255,128,10,255,142,125,255,128,44,225,170,5,255,128,30,254,142,125,255,128,44,225,0,'Factory','This is a factory stock color.'), + (324,10,1,125,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',246,242,74,128,0,197,246,242,74,128,0,197,246,242,74,128,0,197,40,10,255,128,0,185,40,20,5,128,1,137,40,10,6,128,0,161,40,10,6,128,0,161,40,10,6,128,0,161,0,'Factory','This is a factory stock color.'), + (325,10,1,125,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,1,189,40,20,255,128,10,255,40,20,255,128,10,255,36,129,255,128,24,237,40,20,5,128,1,137,36,129,255,128,24,237,170,5,255,128,30,254,36,129,255,128,24,237,0,'Factory','This is a factory stock color.'), + (326,10,1,125,'Dark Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',246,242,74,128,0,197,246,242,74,128,0,197,246,242,74,128,0,197,254,254,96,128,0,206,40,20,5,128,1,137,254,254,96,128,0,206,254,254,96,128,0,206,254,254,96,128,0,206,0,'Factory','This is a factory stock color.'), + (327,10,1,126,'Crimson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,11,10,26,128,0,205,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','As per 69 Olds 442 CSV.'), + (328,10,1,126,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',134,10,126,128,6,245,134,10,158,128,1,232,134,10,158,128,1,232,11,10,26,128,0,205,30,10,1,128,0,194,134,10,158,128,1,232,134,10,158,128,1,232,134,10,158,128,1,232,0,'Factory','As per 69 Olds 442 CSV.'), + (329,10,1,126,'Trophy Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',170,128,192,128,0,214,147,255,79,128,0,184,147,255,79,128,0,184,11,10,26,128,0,205,30,10,1,128,0,194,147,255,79,128,0,184,147,255,79,128,0,184,147,255,79,128,0,184,0,'Factory','As per 69 Olds 442 CSV.'), + (330,10,1,126,'Ebony Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',6,10,9,128,0,197,6,10,9,128,0,161,6,10,9,128,0,161,11,10,26,128,0,205,30,10,1,128,0,194,6,10,9,128,0,161,6,10,9,128,0,161,6,10,9,128,0,161,0,'Factory','As per 69 Olds 442 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (331,10,1,126,'Topaz',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',37,65,145,128,0,243,31,143,178,128,0,224,31,143,178,128,0,224,11,10,26,128,0,205,30,10,1,128,0,194,31,143,178,128,0,224,31,143,178,128,0,224,31,143,178,128,0,224,0,'Factory','As per 69 Olds 442 CSV.'), + (332,10,1,126,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',128,10,255,128,18,255,128,10,255,128,43,255,128,10,255,128,43,255,11,10,26,128,0,205,30,10,1,128,0,194,128,10,255,128,43,255,128,10,255,128,43,255,128,10,255,128,43,255,0,'Factory','As per 69 Olds 442 CSV.'), + (333,10,1,126,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',135,61,190,128,0,242,135,99,190,128,0,237,135,99,190,128,0,237,28,26,164,128,10,255,30,10,1,128,0,194,135,99,190,128,0,237,135,99,190,128,0,237,135,99,190,128,0,237,0,'Factory','As per 69 Olds 442 CSV.'), + (334,10,1,126,'Chestnut Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',5,91,82,128,0,218,5,231,82,128,0,193,5,231,82,128,0,193,28,116,164,128,1,224,30,10,1,128,0,194,5,231,82,128,0,193,5,231,82,128,0,193,5,231,82,128,0,193,0,'Factory','As per 69 Olds 442 CSV.'), + (335,10,1,126,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,28,26,164,128,10,255,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.'), + (336,10,1,126,'Saffron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',33,96,255,128,16,255,28,165,255,128,33,255,28,165,255,128,33,255,11,10,26,128,0,205,30,10,1,128,0,194,28,165,255,128,33,255,28,165,255,128,33,255,28,165,255,128,33,255,0,'Factory','As per 69 Olds 442 CSV.'), + (337,10,1,126,'Flamingo Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',246,33,80,128,7,242,246,43,80,128,7,232,246,43,80,128,7,232,11,10,26,128,0,205,30,10,1,128,0,194,246,43,80,128,7,232,246,43,80,128,7,232,246,43,80,128,7,232,0,'Factory','As per 69 Olds 442 CSV.'), + (338,10,1,126,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',77,44,109,128,1,242,65,75,109,128,1,220,65,75,109,128,1,220,28,116,164,128,1,224,30,10,1,128,0,194,65,75,109,128,1,220,65,75,109,128,1,220,65,75,109,128,1,220,0,'Factory','As per 69 Olds 442 CSV.'), + (339,10,1,126,'Palomino Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',32,56,118,128,0,245,32,92,118,128,0,233,32,92,118,128,0,233,28,116,164,128,1,224,30,10,1,128,0,194,32,92,118,128,0,233,32,92,118,128,0,233,32,92,118,128,0,233,0,'Factory','As per 69 Olds 442 CSV.'), + (340,10,10,127,'Orange / Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',18,43,255,128,20,255,28,24,255,128,53,254,28,24,255,128,53,254,28,24,255,128,53,254,31,5,255,128,0,252,24,11,255,128,44,255,24,11,255,128,66,255,18,255,255,128,28,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (341,10,10,127,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',1,70,255,128,10,255,43,9,255,128,0,245,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,1,255,255,128,10,255,1,255,255,128,10,255,1,255,255,128,10,255,0,'Factory','This is a factory stock color.'), + (342,10,10,127,'Yellow / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',38,61,255,128,43,223,28,24,255,128,53,254,28,24,255,128,53,254,28,24,255,128,53,254,31,5,255,128,0,252,24,11,255,128,44,255,24,11,255,128,66,255,33,254,255,128,43,255,0,'Factory','This is a factory stock color.'), + (343,10,1,127,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',1,112,255,128,3,240,1,255,255,128,3,229,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,1,255,255,128,10,255,15,7,3,128,0,194,15,7,3,128,0,169,0,'Factory','This is a factory stock color.'), + (344,10,1,127,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',67,80,129,128,0,253,28,24,255,128,9,254,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,67,107,129,128,0,246,67,107,129,128,0,246,67,107,129,128,0,246,0,'Factory','This is a factory stock color.'), + (345,10,1,127,'Stone Gray / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',45,15,131,128,0,239,41,28,20,92,11,231,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,45,15,131,128,0,250,45,15,131,128,0,223,45,15,131,128,0,223,0,'Factory','This is a factory stock color.'), + (346,10,1,127,'Pearl White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',128,7,255,128,19,255,28,36,255,128,18,254,1,255,255,128,3,244,1,255,255,128,3,229,15,5,1,128,0,150,128,7,255,128,39,255,128,7,255,128,39,255,128,1,255,128,52,255,0,'Factory','This is a factory stock color.'), + (347,10,1,127,'Purple / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',138,28,66,128,30,253,41,28,20,92,11,231,41,28,20,92,11,255,41,28,20,92,11,202,31,5,255,128,0,252,24,11,255,128,44,255,205,255,66,128,0,225,205,255,66,128,0,225,0,'Factory','This is a factory stock color.'), + (348,10,1,127,'Plum Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',128,0,255,128,7,255,20,7,6,128,0,211,20,7,6,128,0,218,41,28,20,92,11,202,15,5,1,128,0,150,248,41,88,128,0,228,248,41,88,128,0,228,248,41,88,128,0,228,0,'Factory','This is a factory stock color.'), + (349,10,1,127,'Dark Teal / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',128,41,53,128,0,254,43,9,255,128,0,245,43,9,255,128,0,245,41,28,20,92,11,202,31,5,255,128,0,252,128,7,255,128,39,255,128,7,255,128,39,255,128,79,53,128,0,224,0,'Factory','This is a factory stock color.'), + (350,10,1,127,'Sapphire Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',151,95,62,128,0,246,43,9,255,128,0,245,151,150,62,128,0,248,151,150,62,128,0,212,15,5,1,128,0,150,151,255,62,128,0,227,151,255,62,128,0,227,151,255,62,128,0,227,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (351,10,1,128,'Teal Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,120,255,65,128,0,227,120,255,65,128,0,227,120,255,65,128,0,227,0,'Factory','This is a factory stock color.'), + (352,10,1,128,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,139,190,158,128,0,242,139,190,158,128,0,242,139,190,158,128,0,242,0,'Factory','This is a factory stock color.'), + (353,10,1,128,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,70,128,0,216,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,250,255,56,128,0,227,250,255,56,128,0,227,250,255,56,128,0,227,0,'Factory','This is a factory stock color.'), + (354,10,1,128,'Midnight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,148,255,58,128,0,215,148,255,58,128,0,215,148,255,58,128,0,215,0,'Factory','This is a factory stock color.'), + (355,10,1,128,'Cherry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,3,255,121,128,0,252,3,255,121,128,0,252,3,255,121,128,0,252,0,'Factory','This is a factory stock color.'), + (356,10,1,128,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,31,165,180,128,0,246,31,165,180,128,0,246,31,165,180,128,0,246,0,'Factory','This is a factory stock color.'), + (357,10,1,128,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,31,82,79,128,0,246,31,82,79,128,0,246,31,82,79,128,0,246,0,'Factory','This is a factory stock color.'), + (358,10,1,128,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,20,6,1,128,0,199,20,6,1,128,0,199,20,6,1,128,0,186,0,'Factory','This is a factory stock color.'), + (359,10,1,128,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,138,108,105,128,0,236,138,108,105,128,0,236,138,108,105,128,0,236,0,'Factory','This is a factory stock color.'), + (360,10,1,128,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,35,10,255,128,26,255,35,255,255,128,52,255,35,255,255,128,52,255,35,255,255,128,52,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (361,10,1,128,'Midnight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,104,248,47,128,0,214,104,248,47,128,0,214,104,248,47,128,0,214,0,'Factory','This is a factory stock color.'), + (362,10,1,128,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,128,5,255,128,50,255,128,5,255,128,50,255,128,5,255,128,50,255,0,'Factory','This is a factory stock color.'), + (363,10,1,128,'Mayfair Maize',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,40,137,255,128,32,255,40,137,255,128,32,255,40,137,255,128,32,255,0,'Factory','This is a factory stock color.'), + (364,10,1,128,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,54,104,120,128,0,235,54,104,120,128,0,235,54,104,120,128,0,235,0,'Factory','This is a factory stock color.'), + (365,10,1,128,'Palladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,19,255,128,0,201,40,20,255,128,0,239,40,13,255,128,0,239,30,35,255,128,0,190,40,20,19,128,0,197,128,24,96,128,1,244,128,24,96,128,1,244,128,24,96,128,1,244,0,'Factory','This is a factory stock color.'), + (366,10,1,129,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',17,122,255,128,15,253,24,255,255,128,15,253,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,28,255,255,128,15,253,37,255,255,128,17,255,15,255,255,128,23,253,0,'Factory','As per 69 GTO CSV, but this color does not appear in the reference material for the car.'), + (367,10,1,129,'Warwick Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',142,129,167,128,6,229,142,142,167,128,6,208,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,142,88,167,128,6,212,142,5,167,128,6,240,142,255,167,128,6,201,0,'Factory','As per 69 GTO CSV'), + (368,10,1,129,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',249,79,61,128,0,229,11,255,255,128,1,233,40,20,255,128,0,249,128,0,18,128,0,219,30,74,142,128,0,241,23,255,255,128,17,255,37,255,255,128,17,255,249,255,61,128,0,198,0,'Factory','As per 69 GTO CSV'), + (369,10,1,129,'Liberty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',144,69,58,128,0,208,142,129,167,128,6,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,142,101,167,128,6,236,142,5,167,128,6,240,144,255,58,128,0,180,0,'Factory','As per 69 GTO CSV'), + (370,10,1,129,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',2,69,144,128,0,227,15,255,255,128,17,255,40,20,255,128,0,249,128,0,18,128,0,219,30,10,19,128,0,175,23,255,255,128,17,255,37,255,255,128,17,255,2,255,144,128,0,227,0,'Factory','As per 69 GTO CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (371,10,1,129,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',31,64,182,128,0,239,26,169,182,128,0,232,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,26,169,182,128,0,232,26,169,182,128,0,232,26,169,182,128,0,232,0,'Factory','As per 69 GTO CSV'), + (372,10,1,129,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',34,45,73,128,0,231,34,91,105,128,0,212,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,30,36,145,128,0,224,30,36,145,128,0,224,30,36,145,128,0,224,0,'Factory','As per 69 GTO CSV'), + (373,10,1,129,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',30,10,5,154,0,192,2,255,255,128,0,195,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,1,255,255,128,0,237,1,255,255,128,26,255,30,10,5,154,0,155,0,'Factory','As per 69 GTO CSV'), + (374,10,1,129,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',147,41,74,128,0,224,134,186,74,128,0,198,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,134,186,74,128,0,198,134,186,74,128,0,198,134,186,74,128,0,198,0,'Factory','As per 69 GTO CSV'), + (375,10,1,129,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',37,62,255,128,18,255,28,255,255,128,26,225,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,24,255,255,128,26,255,18,255,255,128,26,255,31,255,255,128,17,255,0,'Factory','As per 69 GTO CSV'), + (376,10,1,129,'Verdoro Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',103,41,28,154,0,206,60,255,255,128,1,214,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,47,255,255,128,1,244,37,255,255,128,17,255,69,125,28,154,0,176,0,'Factory','As per 69 GTO CSV'), + (377,10,1,129,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',128,5,255,128,14,255,2,73,255,128,19,225,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,2,146,255,128,19,255,2,255,255,128,19,255,47,11,255,128,27,255,0,'Factory','As per 69 GTO CSV'), + (378,10,1,129,'Crystal Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',121,44,71,128,0,218,121,255,71,128,0,205,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,121,255,71,128,0,205,121,255,71,128,0,205,121,255,71,128,0,205,0,'Factory','As per 69 GTO CSV'), + (379,10,1,129,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',50,45,95,128,0,229,50,108,95,128,0,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,50,108,95,128,0,211,50,108,95,128,0,211,50,108,95,128,0,211,0,'Factory','As per 69 GTO CSV'), + (380,10,1,129,'Carousel Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',2,77,255,128,0,245,13,255,255,128,9,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,22,255,255,128,9,255,32,255,255,128,9,255,2,255,255,128,0,255,0,'Factory','As per 69 GTO CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (381,10,1,129,'Paladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',128,15,94,128,0,237,32,73,255,128,0,237,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,32,142,255,128,0,240,32,255,255,128,9,255,128,15,94,128,0,228,0,'Factory','As per 69 GTO CSV'), + (382,10,1,130,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',6,77,255,128,0,242,26,255,203,128,0,255,18,255,203,128,27,255,20,7,9,118,3,241,20,7,14,128,0,158,14,255,203,128,27,255,10,255,203,128,9,255,6,255,255,128,0,233,0,'Factory','This is a factory stock color.'), + (383,10,1,130,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,255,128,1,254,159,255,121,128,1,250,154,189,161,128,9,255,20,7,9,118,3,241,20,7,14,128,0,158,154,163,184,128,23,255,154,100,184,128,32,255,128,0,255,128,14,255,0,'Factory','This is a factory stock color.'), + (384,10,1,130,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',107,39,28,128,0,211,109,255,80,128,0,244,109,255,80,128,0,227,20,7,9,118,3,241,20,7,14,128,0,158,109,255,80,128,0,212,109,255,80,128,0,193,107,255,28,138,0,168,0,'Factory','This is a factory stock color.'), + (385,10,1,130,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,1,82,0,206,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,128,0,1,82,0,156,0,'Factory','This is a factory stock color.'), + (386,10,1,130,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',135,78,77,158,0,218,135,40,77,158,0,222,135,40,77,158,0,231,20,7,9,118,3,241,20,7,14,128,0,158,135,27,77,158,0,241,135,125,77,158,0,223,135,250,77,158,0,182,0,'Factory','This is a factory stock color.'), + (387,10,1,130,'Palladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,195,148,0,232,18,255,203,128,0,255,10,255,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,2,255,203,128,1,220,2,173,203,128,1,244,128,13,122,148,0,202,0,'Factory','This is a factory stock color.'), + (388,10,1,130,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',31,146,255,128,5,255,31,50,255,128,0,240,31,50,255,128,0,218,20,7,9,118,3,241,20,7,14,128,0,158,31,133,255,128,0,218,31,239,255,128,0,231,31,255,255,128,11,255,0,'Factory','This is a factory stock color.'), + (389,10,1,130,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',250,79,45,128,0,222,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,250,255,45,128,0,172,0,'Factory','This is a factory stock color.'), + (390,10,1,130,'Midnight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',150,53,54,152,0,210,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,150,255,54,152,0,185,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (391,10,1,131,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',0,41,255,128,0,255,128,0,156,128,0,218,0,120,255,128,18,255,26,56,99,128,0,250,26,56,99,128,0,250,126,7,255,128,31,255,0,255,255,128,0,255,0,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (392,10,1,131,'Black Mink',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',20,7,69,128,0,214,128,0,156,128,0,218,20,7,16,128,0,152,10,10,10,128,0,246,10,10,10,128,0,246,20,7,16,128,0,152,0,255,255,128,0,255,20,7,16,128,0,152,0,'Factory','This is a factory stock color.'), + (393,10,1,131,'Beale St. Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',156,48,134,128,0,233,128,0,156,128,0,218,151,176,134,128,0,210,26,32,206,128,22,255,26,32,206,128,22,255,151,176,134,128,0,210,151,5,134,128,0,229,151,176,134,128,0,210,0,'Factory','This is a factory stock color.'), + (394,10,1,131,'Hunter Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',58,31,75,128,0,224,128,0,156,128,0,218,86,133,75,128,0,202,26,56,99,128,0,250,26,56,99,128,0,250,86,133,75,128,0,202,86,133,75,128,0,202,86,133,75,128,0,202,0,'Factory','This is a factory stock color.'), + (395,10,1,131,'Pompei Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',34,150,255,128,26,255,128,0,156,128,0,218,34,255,255,108,26,255,26,56,99,128,0,250,26,56,99,128,0,250,34,255,255,108,26,255,7,7,14,128,0,171,34,255,255,108,26,255,0,'Factory','This is a factory stock color.'), + (396,10,1,131,'Frost White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',126,7,255,128,1,253,128,0,156,128,0,218,126,7,255,103,31,255,10,10,10,128,0,246,10,10,10,128,0,246,126,7,255,103,31,255,7,7,14,128,0,171,126,7,255,103,31,255,0,'Factory','This is a factory stock color.'), + (397,10,1,131,'Butternut Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',23,50,150,128,0,244,128,0,156,128,0,218,23,175,150,128,0,222,10,10,10,128,0,246,10,10,10,128,0,246,23,175,150,128,0,222,7,7,14,128,0,171,23,175,150,128,0,222,0,'Factory','This is a factory stock color.'), + (398,10,1,131,'Alamosa Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',120,22,74,128,0,235,128,0,156,128,0,218,120,90,74,128,1,248,26,32,206,128,22,255,26,32,206,128,22,255,126,7,255,128,31,255,120,126,74,128,0,214,120,126,74,128,0,214,0,'Factory','This is a factory stock color.'), + (399,10,1,131,'Bittersweet Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',18,126,255,128,27,255,128,0,156,128,0,218,18,231,255,128,1,207,128,0,2,128,0,239,128,0,2,128,0,239,7,7,14,128,0,171,18,231,255,128,19,246,18,231,255,128,19,246,0,'Factory','This is a factory stock color.'), + (400,10,1,131,'Castillian Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',15,10,109,128,0,240,128,0,156,128,0,218,15,10,109,128,0,248,128,0,2,128,0,239,128,0,2,128,0,239,126,7,255,128,31,255,15,10,109,128,0,229,15,10,109,128,0,229,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (401,10,1,131,'Willow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',75,49,163,128,1,253,128,0,156,128,0,218,75,100,163,128,1,242,26,56,99,128,0,250,26,56,99,128,0,250,75,100,163,128,1,242,75,100,163,128,1,242,75,100,163,128,1,242,0,'Factory','This is a factory stock color.'), + (402,10,1,131,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,77,82,128,10,228,128,0,156,128,0,218,146,255,82,128,10,199,128,0,2,128,0,239,128,0,2,128,0,239,146,255,82,128,10,199,146,255,82,128,10,199,146,255,82,128,10,199,0,'Factory','This is a factory stock color.'), + (403,10,1,131,'Big Bad Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',84,70,255,128,0,249,66,255,255,128,0,253,66,255,255,128,0,253,26,56,99,128,0,255,26,56,99,128,0,250,66,255,255,128,0,253,7,7,14,128,0,171,66,255,255,128,0,253,0,'Factory','This is a factory stock color.'), + (404,10,1,131,'Big Bad Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',16,113,255,128,23,255,16,254,255,113,23,255,16,254,255,113,23,255,10,10,10,128,0,246,10,10,10,128,0,246,16,254,255,113,23,255,7,7,14,128,0,171,16,254,255,113,23,255,0,'Factory','This is a factory stock color.'), + (405,10,1,131,'Big Bad Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,101,205,128,0,255,158,255,205,128,0,245,158,255,205,128,0,245,10,10,10,128,0,246,10,10,10,128,0,246,158,255,205,128,0,245,7,7,14,128,0,171,158,255,205,128,0,245,0,'Factory','This is a factory stock color.'), + (406,10,1,132,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',18,255,255,128,37,248,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,22,105,255,128,18,248,18,255,255,128,37,248,0,'Factory','This is a factory stock color.'), + (407,10,1,132,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',69,99,125,128,0,224,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,69,37,125,128,0,240,69,99,125,128,0,224,0,'Factory','This is a factory stock color.'), + (408,10,1,132,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',88,244,255,128,1,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,88,77,255,128,1,255,88,244,255,128,1,255,0,'Factory','This is a factory stock color.'), + (409,10,1,132,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',31,253,255,97,49,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,39,95,255,128,22,255,31,253,255,97,49,255,0,'Factory','This is a factory stock color.'), + (410,10,1,132,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',152,233,147,128,0,246,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,16,253,170,83,147,128,0,246,152,233,147,128,0,246,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (411,10,1,132,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',1,255,255,128,0,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,1,95,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), + (412,10,1,132,'Green Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',117,62,77,128,0,215,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,117,62,77,128,0,215,117,31,77,128,0,233,117,62,77,128,0,215,0,'Factory','This is a factory stock color.'), + (413,10,1,132,'Fire Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',27,194,211,128,13,241,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,27,194,211,128,13,241,27,54,211,128,13,241,27,194,211,128,13,241,0,'Factory','This is a factory stock color.'), + (414,10,1,132,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',30,5,19,128,0,185,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,1,255,116,128,0,233,30,5,19,128,0,218,30,5,19,128,0,165,0,'Factory','This is a factory stock color.'), + (415,10,1,132,'Purple',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',225,255,62,128,0,215,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,225,60,62,128,0,231,225,255,62,128,0,215,0,'Factory','This is a factory stock color.'), + (416,10,1,132,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',35,13,100,128,0,229,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,35,13,100,128,0,229,35,13,100,128,0,229,0,'Factory','This is a factory stock color.'), + (417,10,1,132,'Copper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',15,169,52,128,16,208,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,15,169,52,128,16,208,15,52,52,128,16,208,15,169,52,128,16,208,0,'Factory','This is a factory stock color.'), + (418,10,1,132,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',1,253,255,128,0,178,1,253,255,128,0,178,1,253,255,128,0,255,1,253,255,128,0,255,40,20,19,128,20,156,0,255,255,128,13,246,44,9,255,128,2,249,44,9,255,128,39,249,0,'Factory','This is a factory stock color.'), + (419,10,1,133,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',66,78,48,128,0,231,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,66,143,48,128,0,211,1,0,2,128,0,182,66,143,48,128,0,211,0,'Factory','This is a factory stock color.'), + (420,10,1,133,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',147,79,101,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,147,255,101,128,0,223,1,0,2,128,0,182,147,255,101,128,0,223,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (421,10,1,133,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',5,124,165,128,0,245,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,5,255,165,128,0,225,1,0,2,128,0,182,5,255,165,128,0,225,0,'Factory','This is a factory stock color.'), + (422,10,1,133,'Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',189,88,52,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,184,255,52,128,0,219,1,0,2,128,0,182,184,255,52,128,0,219,0,'Factory','This is a factory stock color.'), + (423,10,1,133,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',134,73,62,128,0,227,134,255,62,128,0,242,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,255,62,128,0,207,134,255,62,128,0,207,0,'Factory','This is a factory stock color.'), + (424,10,1,133,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',20,137,181,82,36,253,20,255,231,52,49,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,20,255,231,52,49,253,1,0,2,128,0,182,20,255,231,52,49,253,0,'Factory','This is a factory stock color.'), + (425,10,1,133,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',66,47,33,128,0,236,66,143,33,128,0,192,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,48,80,164,128,1,239,66,143,33,128,0,192,66,143,33,128,0,192,0,'Factory','This is a factory stock color.'), + (426,10,1,133,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',134,43,109,128,0,254,134,163,109,94,13,244,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,163,109,94,13,244,134,163,109,94,13,244,0,'Factory','This is a factory stock color.'), + (427,10,1,133,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',83,108,202,128,0,250,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,73,205,202,128,6,239,1,0,2,128,0,182,73,205,202,128,6,239,0,'Factory','This is a factory stock color.'), + (428,10,1,133,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',26,28,135,128,0,249,60,56,135,128,0,233,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,1,0,2,128,0,182,60,56,135,128,0,233,60,56,135,128,0,233,0,'Factory','This is a factory stock color.'), + (429,10,1,133,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',9,7,1,128,0,232,0,255,248,128,24,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,128,24,253,9,7,1,128,0,188,9,7,1,128,0,188,0,'Factory','This is a factory stock color.'), + (430,10,1,133,'Sahara Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',27,88,96,128,0,249,27,161,96,128,0,254,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,1,0,2,128,0,182,27,161,96,128,0,231,27,161,96,128,0,231,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (431,10,1,133,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',13,83,122,128,0,237,20,255,255,128,15,255,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,13,176,122,128,0,229,1,0,2,128,0,182,13,176,122,128,0,229,0,'Factory','This is a factory stock color.'), + (432,10,1,133,'Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',20,66,58,128,0,236,20,137,58,128,0,239,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,48,80,164,128,1,239,20,137,58,128,0,211,20,137,58,128,0,211,0,'Factory','This is a factory stock color.'), + (433,10,1,133,'Rally Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',0,139,248,128,24,253,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,97,13,253,1,0,2,128,0,182,0,255,248,97,13,253,0,'Factory','This is a factory stock color.'), + (434,10,1,133,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',30,47,255,87,45,255,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,30,47,255,87,45,255,1,0,2,128,0,182,30,47,255,87,45,255,0,'Factory','This is a factory stock color.'), + (435,10,1,133,'Sunfire Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',38,141,255,128,9,255,20,255,255,128,15,255,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,32,219,255,88,44,255,1,0,2,128,0,182,32,219,255,88,44,255,0,'Factory','This is a factory stock color.'), + (436,10,1,133,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',32,87,210,128,35,227,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,32,189,210,128,35,249,1,0,2,128,0,182,32,189,210,128,35,249,0,'Factory','This is a factory stock color.'), + (437,10,1,134,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), + (438,10,1,134,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (439,10,1,134,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (440,10,1,134,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (441,10,1,134,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (442,10,1,134,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), + (443,10,1,134,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (444,10,1,134,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (445,10,1,134,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (446,10,1,134,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (447,10,1,134,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), + (448,10,1,134,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (449,10,1,134,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), + (450,10,1,134,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (451,10,1,134,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (452,10,1,134,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), + (453,10,1,134,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), + (454,10,1,134,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), + (455,10,1,134,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), + (456,10,1,135,'Tahitian Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',19,62,84,128,0,239,19,177,47,143,0,194,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,19,177,47,143,0,194,19,177,47,143,0,194,19,177,47,143,0,194,0,'Factory','As per 71 Duster CSV.'), + (457,10,1,135,'Amber Sherwood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'Factory','As per 71 Duster CSV.'), + (458,10,1,135,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',50,41,135,128,0,240,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,45,147,135,135,0,232,20,7,6,128,0,165,45,147,135,135,0,232,0,'Factory','As per 71 Duster CSV.'), + (459,10,1,135,'Bahama Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',28,60,208,128,0,249,122,5,184,128,0,246,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,26,233,208,128,0,239,20,7,6,128,0,165,26,233,208,128,0,239,0,'Factory','As per 71 Duster CSV.'), + (460,10,1,135,'Rallye Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',0,97,255,128,0,244,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,0,255,255,128,0,245,20,7,6,128,0,165,0,255,255,128,0,245,0,'Factory','As per 71 Duster CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (461,10,1,135,'In Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',197,50,87,128,0,236,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,186,177,87,156,0,203,20,7,6,128,0,165,186,177,87,156,0,203,0,'Factory','As per 71 Duster CSV.'), + (462,10,1,135,'Avocado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',80,35,24,128,0,218,70,192,24,103,0,186,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,70,192,24,103,0,186,70,192,24,103,0,186,70,192,24,103,0,186,0,'Factory','As per 71 Duster CSV.'), + (463,10,1,135,'True Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',147,48,109,143,0,222,142,255,109,143,0,212,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,142,255,109,143,0,212,142,255,109,143,0,212,142,255,109,143,0,212,0,'Factory','As per 71 Duster CSV.'), + (464,10,1,135,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',40,19,255,88,36,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,40,19,255,88,36,255,20,7,6,128,0,165,40,19,255,88,36,255,0,'Factory','As per 71 Duster CSV.'), + (465,10,1,135,'Coral Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',131,62,124,146,0,229,131,214,57,143,0,192,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,131,214,57,143,0,192,131,214,57,143,0,192,131,214,57,143,0,192,0,'Factory','As per 71 Duster CSV.'), + (466,10,1,135,'Sandpebble Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',27,35,108,128,0,246,24,118,176,133,0,240,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,24,118,176,133,0,240,24,118,176,133,0,240,24,118,176,133,0,240,0,'Factory','As per 71 Duster CSV.'), + (467,10,1,135,'Aztec Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',27,82,160,128,0,254,23,215,160,128,0,252,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,23,215,160,128,0,252,23,215,160,128,0,252,23,215,160,128,0,252,0,'Factory','As per 71 Duster CSV.'), + (468,10,1,135,'Winchester Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',136,24,202,116,9,255,136,24,202,116,5,229,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,136,24,202,116,5,229,20,7,6,128,0,165,136,24,202,116,5,229,0,'Factory','As per 71 Duster CSV.'), + (469,10,1,135,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',14,69,255,97,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,18,255,255,94,28,255,20,7,6,128,0,165,18,255,255,94,28,255,0,'Factory','As per 71 Duster CSV.'), + (470,10,1,135,'Burnished Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',254,48,79,128,0,233,254,252,79,148,0,212,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,254,252,79,148,0,212,254,252,79,148,0,212,254,252,79,148,0,212,0,'Factory','As per 71 Duster CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (471,10,1,135,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',33,131,255,118,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,33,255,255,118,26,255,20,7,6,128,0,165,33,255,255,118,26,255,0,'Factory','As per 71 Duster CSV.'), + (472,10,1,135,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',37,10,1,73,1,239,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,37,10,1,69,1,194,37,10,1,69,1,194,37,10,1,69,1,194,0,'Factory','As per 71 Duster CSV.'), + (473,10,1,135,'Autumn Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',14,82,79,144,0,220,14,252,79,144,0,212,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,14,252,79,144,0,212,14,252,79,144,0,212,14,252,79,144,0,212,0,'Factory','As per 71 Duster CSV.'), + (474,10,4,101,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32forfla',179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (475,10,5,101,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32forsca',1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,0,NULL,NULL), + (476,10,6,101,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32fordec',28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (477,10,7,101,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'32forrus',91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (478,10,3,102,'Cop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'40forcop',169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,0,NULL,NULL), + (479,10,4,102,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40forfla',1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (480,10,5,102,'Runnin'' Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40forsca',196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,0,'Dane Anderson','I spent seven weeks on this, getting it just right for the ''40 Coupe. I hope you enjoy it.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (481,10,6,102,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40fordec',1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (482,10,7,102,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'40forrus',38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (483,10,4,103,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53forfla',0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (484,10,5,103,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53forsca',131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,0,NULL,NULL), + (485,10,6,103,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53fordec',152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (486,10,7,103,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'53forrus',18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (487,10,4,104,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faifla',196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (488,10,5,104,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faisca',126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,0,NULL,NULL), + (489,10,6,104,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faidec',0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (490,10,7,104,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairus',23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (491,10,4,105,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57ranfla',182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (492,10,5,105,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57ransca',242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,0,NULL,NULL), + (493,10,6,105,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57randec',148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (494,10,7,105,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranrus',47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (495,10,4,106,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbifla',0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (496,10,5,106,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbisca',188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,0,NULL,NULL), + (497,10,6,106,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbidec',159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (498,10,7,106,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57tbirus',147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (499,10,4,107,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbifla',111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (500,10,5,107,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbisca',191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (501,10,6,107,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbidec',0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (502,10,7,107,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'63tbirus',23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (503,10,4,108,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stafla',174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (504,10,5,108,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stasca',0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,NULL,NULL), + (505,10,6,108,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stadec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (506,10,7,108,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64starus',135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (507,10,3,109,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'64galcop',32,178,156,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), + (508,10,4,109,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galfla',113,235,140,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (509,10,5,109,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galsca',162,112,232,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), + (510,10,6,109,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galdec',2,222,237,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (511,10,7,109,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64galrus',0,145,135,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (512,10,4,110,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69torfla',185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (513,10,5,110,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69torsca',230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,0,NULL,NULL), + (514,10,6,110,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69tordec',170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (515,10,7,110,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69torrus',19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (516,10,4,111,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3fla',170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,0,'Matt Kovacs','This paint job ain''t for punks!'), + (517,10,5,111,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3sca',158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,0,'Jeff Grantz','You''ll smoke ''em with this paint job.'), + (518,10,6,111,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3dec',3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (519,10,7,111,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70mb3rus',50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (520,10,4,112,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49merfla',183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,0,'Mac Emerson','This paint job rocks!'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (521,10,5,112,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49mersca',254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,0,NULL,NULL), + (522,10,6,112,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49merdec',125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (523,10,7,112,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'49merrus',160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (524,10,4,113,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chefla',177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,0,'Pete Hammond','Your Bel Air will be the will ring everyone''s bell when they see these flames coming!'), + (525,10,5,113,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chesca',128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,0,'Joe Kasinski','Does the Big K know his stuff? This is AWESOME!'), + (526,10,6,113,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chedec',164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (527,10,7,113,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cherus',61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (528,10,4,114,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetfla',26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (529,10,5,114,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetsca',155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,0,NULL,NULL), + (530,10,6,114,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetdec',149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (531,10,7,114,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57vetrus',5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (532,10,4,115,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomfla',249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (533,10,5,115,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomsca',74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,0,NULL,NULL), + (534,10,6,115,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomdec',171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (535,10,7,115,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomrus',7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (536,10,3,116,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'64impcop',32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,0,NULL,NULL), + (537,10,4,116,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impfla',195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (538,10,5,116,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impsca',32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,0,NULL,NULL), + (539,10,6,116,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impdec',142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (540,10,7,116,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64imprus',30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (541,10,4,117,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetfla',186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (542,10,5,117,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetsca',169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,0,NULL,NULL), + (543,10,6,117,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetdec',0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (544,10,7,117,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'63vetrus',0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (545,10,4,118,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impfla',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Mac Emerson','This paint job rocks!'), + (546,10,5,118,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impsca',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL), + (547,10,6,118,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impdec',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Corporate sponsor','You''ve sold out to The Man.'), + (548,10,7,118,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'58imprus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (549,10,4,119,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chefla',166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (550,10,5,119,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chesca',186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (551,10,6,119,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chedec',0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (552,10,7,119,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67cherus',33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (553,10,4,120,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camfla',0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,'Steve Hayes','Sssssssmokin!'), + (554,10,5,120,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camsca',23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,0,'Grant Weyman','This is THE Big One! Check it out!'), + (555,10,6,120,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camdec',0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (556,10,7,120,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67camrus',29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (557,10,4,121,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chefla',106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (558,10,5,121,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chesca',134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,0,NULL,NULL), + (559,10,6,121,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chedec',169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (560,10,7,121,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cherus',191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (561,10,4,122,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camfla',205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (562,10,5,122,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camsca',0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,NULL,NULL), + (563,10,6,122,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camdec',12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (564,10,7,122,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70camrus',135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (565,10,4,123,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novfla',36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (566,10,5,123,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novsca',176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,0,NULL,NULL), + (567,10,6,123,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novdec',0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (568,10,7,123,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70novrus',97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (569,10,4,124,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47cadfla',0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (570,10,5,124,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47cadsca',108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (571,10,6,124,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47caddec',0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (572,10,7,124,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'47cadrus',23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (573,10,4,125,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59cadfla',243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (574,10,5,125,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59cadsca',26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,0,NULL,NULL), + (575,10,6,125,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59caddec',78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (576,10,7,125,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'59cadrus',28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (577,10,4,126,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69oldfla',155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (578,10,5,126,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69oldsca',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,NULL,NULL), + (579,10,6,126,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69olddec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (580,10,7,126,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69oldrus',153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (581,10,3,127,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'55cencop',169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,0,NULL,NULL), + (582,10,4,127,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55cenfla',38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (583,10,5,127,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55censca',183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,0,NULL,NULL), + (584,10,6,127,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55cendec',1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (585,10,7,127,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenrus',120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (586,10,4,128,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtofla',192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (587,10,5,128,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtosca',190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,0,NULL,NULL), + (588,10,6,128,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtodec',162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (589,10,7,128,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'66gtorus',49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (590,10,4,129,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtofla',28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,0,'Mac Emerson','This paint job rocks!'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (591,10,5,129,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtosca',28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,0,NULL,NULL), + (592,10,6,129,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtodec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (593,10,7,129,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gtorus',82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (594,10,4,130,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73trafla',181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (595,10,5,130,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73trasca',149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,0,NULL,NULL), + (596,10,6,130,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73tradec',0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (597,10,7,130,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73trarus',118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (598,10,4,131,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcfla',155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (599,10,5,131,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcsca',33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,0,NULL,NULL), + (600,10,6,131,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcdec',169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (601,10,7,131,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69amcrus',31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (602,10,4,132,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chafla',161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,0,'Eric Saakian','These flames should frighten away the posers. Real racers ONLY!'), + (603,10,5,132,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chasca',27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,0,'Mike Wojtas','You don''t get it much better than this. Rock on!'), + (604,10,6,132,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chadec',159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (605,10,7,132,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69charus',137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (606,10,3,133,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'69runcop',32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,0,NULL,NULL), + (607,10,4,133,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69runfla',16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (608,10,5,133,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69runsca',33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,0,NULL,NULL), + (609,10,6,133,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69rundec',132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (610,10,7,133,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69runrus',97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (611,10,4,134,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cudfla',20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,0,'Bret Gootch','All that power under the hood''s got only one way to go!'), + (612,10,5,134,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cudsca',40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,0,'Paul O''Tuna','I made it this way ''cuz I''m swe-e-e-eet!'), + (613,10,6,134,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cuddec',6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (614,10,7,134,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cudrus',141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (615,10,4,135,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dusfla',158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,0,'Mac Emerson','This paint job rocks!'), + (616,10,5,135,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dussca',101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,0,NULL,NULL), + (617,10,6,135,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dusdec',169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), + (618,10,7,135,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'71dusrus',29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), + (619,10,9,106,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'57tbibad',0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,NULL,NULL), + (620,10,9,117,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'63vetbad',31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (621,10,9,120,'The Grim Reaper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'67cambad',154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,0,'Jim Fink','This time, you better fear the Reaper...'), + (622,10,9,134,'American Pie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70cudbad',163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,0,'Mongo Pena','Mongo like!'), + (623,10,9,111,'My Lady',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70stabad',188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,0,'Carl Lipowitz','NOBODY touches My Lady!'), + (624,10,9,130,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'73trabad',37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,0,NULL,NULL), + (625,10,8,125,'taxi 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'59cadtr1',25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,0,NULL,NULL), + (626,10,8,125,'taxi 2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'59cadtr2',84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,0,NULL,NULL), + (627,10,9,113,'Meat Wagon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'57chebad',186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,0,'Art Siebold','When the Meat Wagon comes to town, better get out of it''s way!'), + (628,10,9,109,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'64galbad',200,130,191,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), + (629,10,9,123,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70novbad',18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,0,NULL,NULL), + (630,10,9,121,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70chebad',22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (631,10,1,207,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,27,80,255,128,0,255,NULL,80,255,128,0,255,27,80,NULL,128,0,255,0,'Factory','This is a factory stock color.'), + (632,10,1,207,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',246,242,84,128,5,253,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,246,242,84,128,0,210,NULL,242,84,128,0,210,246,242,NULL,128,0,210,0,'Factory','This is a factory stock color.'), + (633,10,1,207,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,225,40,20,6,128,0,176,35,66,86,128,3,225,NULL,0,1,128,0,168,35,66,NULL,128,3,225,0,'Factory','This is a factory stock color.'), + (634,10,1,207,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',120,100,49,128,5,250,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,124,254,77,128,13,225,NULL,254,77,128,13,225,124,254,NULL,128,13,225,0,'Factory','This is a factory stock color.'), + (635,10,1,207,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',132,126,255,128,35,225,131,11,255,128,15,255,131,11,255,128,15,255,131,11,255,128,15,255,40,20,255,128,15,255,132,126,255,128,35,235,NULL,126,255,128,35,235,132,126,NULL,128,35,235,0,'Factory','This is a factory stock color.'), + (636,10,1,207,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',120,100,49,128,0,222,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,254,40,20,6,128,0,176,120,100,49,128,0,222,NULL,0,1,128,0,168,120,100,NULL,128,0,222,0,'Factory','This is a factory stock color.'), + (637,10,1,207,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,19,163,113,128,0,255,NULL,30,255,128,38,255,19,163,NULL,128,0,255,0,'Factory','This is a factory stock color.'), + (638,10,1,207,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,32,215,255,128,45,249,NULL,215,255,128,45,249,32,215,NULL,128,45,249,0,'Factory','This is a factory stock color.'), + (639,10,1,207,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',40,20,255,128,0,180,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,128,0,1,128,0,181,NULL,0,1,128,0,181,128,0,NULL,128,0,181,0,'Factory','This is a factory stock color.'), + (640,10,1,207,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',148,218,49,128,0,210,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,148,218,49,128,0,210,NULL,218,49,128,0,210,148,218,NULL,128,0,210,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (641,10,1,207,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,28,50,255,128,38,255,NULL,0,1,128,0,168,28,50,NULL,128,38,255,0,'Factory','This is a factory stock color.'), + (642,10,1,207,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',121,36,85,128,3,254,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,121,36,85,128,0,222,NULL,36,85,128,0,222,121,36,NULL,128,0,222,0,'Factory','This is a factory stock color.'), + (643,10,1,207,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,2,255,255,128,0,250,NULL,255,255,128,0,250,2,255,NULL,128,0,250,0,'Factory','This is a factory stock color.'), + (720,10,3,226,'Judge GTO Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'69judtin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'System','This skin attached for testing purposes.'), + (721,10,1,140,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','Copied from 67 Camaro base paint scheme for temporary use.'), + (722,10,1,140,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'factory','Copied from 67 Camaro base paint scheme for temporary use.'), + (723,10,1,142,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',151,135,158,128,16,232,151,135,158,128,16,232,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,151,135,158,128,16,232,151,135,158,128,16,232,0,'factory','As per 70 Boss 429 CSV.'), + (724,10,1,142,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',45,102,112,128,16,211,45,102,112,128,16,211,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,45,102,112,128,16,211,45,102,112,128,16,211,0,'factory','As per 70 Boss 429 CSV.'), + (726,1,3,142,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70mb4tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Unknown creator. Skin attached for testing purposes.'), + (727,10,1,210,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',151,135,158,128,16,232,151,135,158,128,16,232,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,151,135,158,128,16,232,151,135,158,128,16,232,0,'Factory','As per 70 Mustang CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (728,10,1,218,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,111,16,255,0,83,255,128,15,255,0,255,255,111,16,255,0,'system','As per 67 Chevelle CSV'), + (729,10,1,218,'Deep Water Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,148,255,54,135,0,194,170,33,54,128,0,239,148,255,54,135,0,194,0,'system','As per 67 Chevelle CSV'), + (730,10,1,219,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), + (731,10,1,219,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,168,0,255,255,128,0,250,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), + (732,10,3,219,'RS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'67rsctin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (733,10,1,220,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), + (734,10,3,220,'Z-28 Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'67Z28tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (735,10,1,154,'Big Bad Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',84,70,255,128,0,249,66,255,255,128,0,253,66,255,255,128,0,253,26,56,94,128,0,255,26,56,94,128,0,250,66,255,255,128,0,253,7,7,14,128,0,171,66,255,255,128,0,253,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'), + (736,10,1,154,'Big Bad Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',16,113,255,128,23,255,16,254,255,113,23,255,16,254,255,113,23,255,10,10,10,128,0,246,10,10,10,128,0,246,16,254,255,113,23,255,7,7,14,128,0,171,16,254,255,113,23,255,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'), + (737,10,1,154,'Big Bad Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,101,205,128,0,255,158,255,205,128,0,245,158,255,205,128,0,245,10,10,10,128,0,246,10,10,10,128,0,246,158,255,205,128,0,171,7,7,14,128,0,171,158,255,205,128,0,245,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (738,10,1,157,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',134,43,109,128,0,254,134,163,109,94,13,244,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,163,109,94,13,244,134,163,109,94,13,244,0,'system','Skin taken from 69 Road Runner (base) for temporary use.'), + (739,10,1,157,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',26,28,135,128,0,249,60,56,135,128,0,233,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,1,0,2,128,0,182,60,56,135,128,0,233,60,56,135,128,0,233,0,'system','Skin taken from 69 Road Runner (base) for temporary use.'), + (740,10,1,210,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',45,102,112,128,16,211,45,102,112,128,16,211,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,45,102,112,128,16,211,45,102,112,128,16,211,0,'system','As per 70 Mustang CSV.'), + (743,10,2,211,'GT Cobra Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'69gtttin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin applied for testing purposes.'), + (744,10,1,212,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',45,102,112,128,16,211,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,128,0,0,128,0,128,45,102,112,128,16,211,0,'system','As per 70 Mach 1 CSV.'), + (745,10,3,212,'Mach 1 Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70mactin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (746,10,1,213,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (748,10,1,214,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (749,10,3,214,'440 Cuda Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70h44tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (750,10,1,215,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (751,10,3,215,'AAR Cuda Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70aartin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (752,10,1,216,'Tahitian Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',19,62,84,128,0,239,19,177,47,143,0,194,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,19,177,47,143,0,194,19,177,47,143,0,194,19,177,47,143,0,194,0,'System','As per 71 Duster CSV.'), + (753,10,3,216,'340 Duster Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'71wedtin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), + (754,10,1,222,'Cranberry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,6,254,91,128,0,233,6,254,91,128,0,233,6,254,91,128,0,233,0,'system','As per 70 El Camino CSV.'), + (755,10,3,222,'El Camino SS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70ssetin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','This skin assigned for testing purposes.'), + (756,10,1,223,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',137,255,52,128,0,192,137,255,52,128,0,192,137,255,52,128,0,192,20,7,31,128,0,246,20,7,9,128,0,244,137,57,52,128,0,237,137,255,52,128,0,192,137,255,52,128,0,192,0,'system','As per 70 Nova CSV.'), + (757,10,3,223,'Nova SS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70ssntin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','This skin assigned for testing purposes.'), + (758,10,1,227,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,255,128,1,254,20,7,14,128,0,227,128,0,255,128,14,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,0,255,128,14,255,0,'System','As per 70 Firebird CSV'), + (760,10,1,226,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',17,122,255,128,15,253,24,255,255,128,15,253,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,28,255,255,128,15,253,37,255,255,128,17,255,15,255,255,128,23,253,0,'system','As per 69 GTO CSV, but this color does not appear in the reference material for the car.'), + (761,10,1,224,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,28,26,164,128,10,255,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'system','This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (763,10,1,221,'Monza Red/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,47,255,128,0,255,142,3,255,128,36,255,1,255,255,139,0,249,0,'system','This skin taken from 70 Chevelle (base) for testing purposes.'), + (764,10,1,217,'Ember Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,5,254,146,128,0,231,24,71,202,152,3,214,5,254,146,128,0,219,24,71,202,152,3,231,1,71,255,128,0,249,24,71,202,152,3,231,5,254,146,128,0,219,0,'system','As per 64 Impala CSV.'), + (765,10,1,216,'Amber Sherwood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','As per 71 Duster CSV.'), + (766,10,1,215,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.'), + (767,10,1,214,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.'), + (768,10,1,213,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (769,10,1,212,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',6,194,143,128,6,240,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,35,64,158,128,16,244,6,164,143,128,6,240,0,'system','As per 70 Mach 1 CSV.'), + (775,10,1,207,'Stock Color 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,168,173,78,124,18,228,168,173,78,124,18,228,168,173,78,124,18,228,0,NULL,NULL), + (776,10,1,207,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,1,1,2,1,0,254,1,253,131,121,40,214,1,253,131,121,40,214,1,253,131,121,40,214,0,NULL,NULL), + (777,10,1,207,'Sebring Silver / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,3,1,255,127,2,250,148,66,126,152,67,199,148,66,126,152,67,199,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (778,10,1,207,'Red / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,1,1,2,1,0,254,3,1,255,127,2,250,1,253,131,121,40,214,1,253,131,121,40,214,0,NULL,NULL), + (779,10,1,207,'Blue / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,3,1,255,127,2,250,168,173,78,124,18,228,168,173,78,124,18,228,0,NULL,NULL), + (780,10,4,207,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobfla',0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,'Ryan Blinsky',NULL), + (781,10,5,207,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobsca',22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,0,'Ryan Blinsky',NULL), + (782,10,6,207,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobdec',18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,0,'Ryan Blinsky',NULL), + (783,10,7,207,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'66cobrus',162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,0,'Ryan Blinsky',NULL), + (784,10,4,217,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssifla',129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,0,'Blinsky',NULL), + (785,10,7,217,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64ssirus',250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,0,'Blinsky',NULL), + (786,10,5,217,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssisca',235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,0,'Blinsky',NULL), + (787,10,6,217,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssidec',35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,0,'Blinsky',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (788,10,4,218,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67cssfla',250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,0,'Blinksy',NULL), + (789,10,5,218,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67csssca',190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,0,'Blinksy',NULL), + (790,10,7,218,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67cssrus',10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,0,'Blinsky',NULL), + (791,10,6,218,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67cssdec',55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,0,'Blinksy',NULL), + (792,10,4,219,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscfla',152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,0,'Blinsky',NULL), + (793,10,6,219,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscdec',114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,0,'Blinsky',NULL), + (794,10,5,219,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscsca',35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,0,'Blinsky',NULL), + (795,10,7,219,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67rscrus',4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,0,'Blinsky',NULL), + (796,10,4,140,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscfla',146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,0,'Blinksy',NULL), + (797,10,5,140,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscsca',105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,0,'Blinsky',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (798,10,6,140,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscdec',163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,0,'Blinsky',NULL), + (799,10,7,140,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67sscrus',6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,0,'Blinsky',NULL), + (800,10,4,220,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28fla',16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,0,'Blinsky',NULL), + (801,10,5,220,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28sca',246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,0,'Blinsky',NULL), + (802,10,6,220,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28dec',112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,0,'Blinsky',NULL), + (803,10,7,220,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67z28rus',10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,0,'Blinsky',NULL), + (804,10,4,154,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigfla',46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,0,'Blinsky',NULL), + (805,10,5,154,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigsca',200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,0,'Blinsky',NULL), + (806,10,6,154,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigdec',201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,0,'Blinsky',NULL), + (807,10,7,154,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69bigrus',246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,0,'Blinsky',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (808,10,4,224,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30fla',25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,0,'Blinsky',NULL), + (809,10,5,224,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30sca',157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,0,'Blinsky',NULL), + (810,10,6,224,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30dec',170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,0,'Blinsky',NULL), + (811,10,7,224,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69w30rus',112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,0,'Blinsky',NULL), + (812,10,4,211,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttfla',155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,0,'Blinsky',NULL), + (813,10,5,211,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttsca',251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,0,'Blinsky',NULL), + (814,10,6,211,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttdec',105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,0,'Blinsky',NULL), + (815,10,7,211,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gttrus',212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,0,'Blinsky',NULL), + (816,10,4,225,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hurfla',197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,0,'Blinsky',NULL), + (817,10,5,225,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hursca',41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,0,'Blinsky',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (818,10,6,225,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hurdec',174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,0,'Blinsky',NULL), + (819,10,7,225,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69hurrus',11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,0,'Blinsky',NULL), + (820,10,4,226,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69judfla',186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,0,'Blinsky',NULL), + (821,10,5,226,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69judsca',35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,0,'Blinsky',NULL), + (822,10,6,226,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69juddec',246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,0,'Blinsky',NULL), + (823,10,7,226,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69judrus',5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,0,'Blinsky',NULL), + (824,10,4,222,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssefla',163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,0,'Blinsky',NULL), + (825,10,5,222,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssesca',10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,0,'Blinsky',NULL), + (826,10,6,222,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssedec',80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,0,'Blinsky',NULL), + (827,10,7,222,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70sserus',8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,0,'Blinsky',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (828,10,4,223,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssnfla',140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,0,'Blinsky',NULL), + (829,10,5,223,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssnsca',33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,0,'Blinsky',NULL), + (830,10,6,223,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssndec',179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,0,'Blinsky',NULL), + (831,10,7,223,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70ssnrus',249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,0,'Blinsky',NULL), + (832,10,4,221,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cssfla',227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,0,'Blinsky',NULL), + (833,10,5,221,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70csssca',139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,0,'Blinsky',NULL), + (834,10,6,221,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cssdec',28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,0,'Blinsky',NULL), + (835,10,7,221,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cssrus',2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,0,'Blinsky',NULL), + (836,10,4,212,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macfla',250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,0,'McCormack',NULL), + (837,10,5,212,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macsca',186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,0,'McCormack',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (838,10,6,212,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macdec',0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,'McCormack',NULL), + (839,10,7,212,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70macrus',125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,0,'McCormack',NULL), + (840,10,4,214,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44fla',187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,0,'McCormack',NULL), + (841,10,5,214,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44sca',37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,0,'McCormack',NULL), + (842,10,6,214,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44dec',154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,0,'McCormack',NULL), + (843,10,7,214,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70h44rus',91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,0,'McCormack',NULL), + (844,10,4,215,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aarfla',139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,0,'McCormack',NULL), + (845,10,5,215,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aarsca',185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,0,'McCormack',NULL), + (846,10,6,215,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aardec',26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,0,'McCormack',NULL), + (847,10,7,215,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70aarrus',60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,0,'McCormack',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (848,10,4,213,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemfla',23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,0,'McCormack',NULL), + (849,10,5,213,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemsca',162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,0,'McCormack',NULL), + (850,10,6,213,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemdec',28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,0,'McCormack',NULL), + (851,10,7,213,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70hemrus',145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,0,'McCormack',NULL), + (852,10,4,216,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71wedfla',9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,0,'McCormack',NULL), + (853,10,5,216,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71wedsca',119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,0,'McCormack',NULL), + (854,10,7,216,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'71wedrus',154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,0,'McCormack',NULL), + (855,10,4,228,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firfla',0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,'McCormack',NULL), + (856,10,5,228,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firsca',33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,0,'McCormack',NULL), + (857,10,6,228,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firdec',0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,'McCormack',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (858,10,7,228,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73firrus',27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,0,'McCormack',NULL), + (859,10,4,227,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73forfla',33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,0,'McCormack',NULL), + (860,10,5,227,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73forsca',174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,0,'McCormack',NULL), + (861,10,6,227,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73fordec',131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,0,'McCormack',NULL), + (862,10,7,227,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73forrus',172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,0,'McCormack',NULL), + (863,10,4,142,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4fla',33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,0,'McCormack',NULL), + (864,10,5,142,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4sca',130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,0,'McCormack',NULL), + (865,10,6,142,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4dec',17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,0,'McCormack',NULL), + (866,10,7,142,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70mb4rus',26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,0,'McCormack',NULL), + (867,10,6,216,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71weddec',32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,0,'McCormack',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (868,10,9,132,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'69chabad',6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,0,'Unknown',NULL), + (869,10,4,210,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stafla',42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,0,'McCormack',NULL), + (870,10,5,210,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stasca',166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,0,'McCormack',NULL), + (871,10,6,210,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stadec',13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,0,'McCormack',NULL), + (872,10,7,210,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70starus',153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,0,'McCormack',NULL), + (873,10,4,157,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxfla',142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,0,'McCormack',NULL), + (874,10,5,157,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxsca',43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,0,'McCormack',NULL), + (875,10,6,157,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxdec',0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,'McCormack',NULL), + (876,10,7,157,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gtxrus',132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,0,'McCormack',NULL), + (877,10,7,127,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenru2',18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,0,'McCormack',NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (878,10,7,127,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenru3',142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,0,'McCormack',NULL), + (879,10,7,104,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairu2',145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,0,'McCormack',NULL), + (880,10,7,104,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairu3',59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,0,'McCormack',NULL), + (881,10,9,207,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'66cobbad',172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,0,'McCormack',NULL), + (882,10,7,113,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cheru2',0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,'McCormack',NULL), + (883,10,7,113,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cheru3',132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,0,'McCormack',NULL), + (884,10,7,105,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranru2',140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,0,'McCormack',NULL), + (885,10,7,105,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranru3',195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,0,'McCormack',NULL), + (886,10,1,225,'Hurst Olds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69hurtin',31,143,204,129,40,255,31,143,204,129,40,255,31,143,204,129,40,255,31,143,204,129,40,255,27,173,209,97,126,124,27,173,209,127,126,124,32,16,252,190,48,248,32,16,252,190,48,248,0,'Medina',NULL), + (888,10,1,212,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',151,135,158,128,16,232,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,128,0,0,128,0,128,151,135,158,128,16,232,0,'system','As per 70 Mach 1 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (889,10,1,211,'Red/Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,1,254,163,128,13,241,1,254,163,128,13,241,1,254,163,128,13,241,1,254,163,128,13,241,0,'system',NULL), + (890,10,7,115,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomru2',18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,0,'McCormack',NULL), + (891,10,7,115,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomru3',231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,0,'McCormack',NULL), + (893,10,1,228,'Admiralty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',150,53,54,152,0,210,20,7,14,128,0,227,150,255,54,152,0,172,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,150,255,54,152,0,172,0,'Factory','As per 70 Firebird CSV'), + (894,10,1,211,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,131,146,128,0,233,128,0,2,128,0,173,48,122,146,128,0,255,0,'Factory','As per 69 Torino CSV'), + (895,10,1,211,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,142,54,73,128,0,237,142,13,73,128,0,252,142,252,73,128,0,227,0,'Factory','As per 69 Torino CSV'), + (896,10,1,211,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,26,237,52,128,0,222,32,177,128,128,0,236,250,237,52,128,0,206,0,'Factory','As per 69 Torino CSV'), + (897,10,1,211,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,0,'Factory','As per 69 Torino CSV'), + (898,10,1,211,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,0,'Factory','As per 69 Torino CSV'), + (899,10,1,211,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,114,54,124,128,0,219,128,0,2,128,0,173,109,54,124,128,0,231,0,'Factory','As per 69 Torino CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (900,10,1,211,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,44,45,255,128,45,222,128,0,2,128,0,173,44,45,255,128,66,222,0,'Factory','As per 69 Torino CSV'), + (901,10,1,211,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,1,254,163,128,13,220,1,254,163,128,13,241,30,10,1,128,2,155,0,'Factory','As per 69 Torino CSV'), + (902,10,1,211,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,0,'Factory','As per 69 Torino CSV'), + (903,10,1,211,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,1,254,163,128,1,224,128,0,2,128,0,173,1,254,163,128,13,241,0,'Factory','As per 69 Torino CSV'), + (904,10,1,211,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,0,'Factory','As per 69 Torino CSV'), + (905,10,1,211,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,133,116,212,128,13,207,128,0,2,128,0,173,133,116,116,128,13,227,0,'Factory','As per 69 Torino CSV'), + (906,10,1,211,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,30,254,255,118,45,212,128,0,2,128,0,173,30,254,255,118,45,252,0,'Factory','As per 69 Torino CSV'), + (907,10,1,211,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,0,'Factory','As per 69 Torino CSV'), + (908,10,1,211,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,0,'Factory','As per 69 Torino CSV'), + (909,10,1,211,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,19,90,88,155,0,202,128,0,2,128,0,173,19,90,88,155,0,211,0,'Factory','As per 69 Torino CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (910,10,1,211,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,138,219,92,137,0,214,128,0,2,128,0,163,138,219,92,137,0,224,0,'Factory','As per 69 Torino CSV'), + (911,10,1,218,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',3,250,64,128,0,252,30,10,5,128,0,245,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,43,26,255,100,48,255,43,26,255,100,35,255,43,26,255,100,48,255,0,'System','As per 67 Chevelle CSV'), + (912,10,1,218,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',20,5,1,99,0,206,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,99,0,206,20,5,1,128,0,229,20,5,1,99,0,206,0,'System','As per 67 Chevelle CSV'), + (913,10,1,218,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',3,250,64,128,0,227,22,104,94,128,0,252,22,104,94,128,0,252,22,104,94,128,0,252,30,15,2,128,0,214,3,250,64,128,0,227,248,45,64,128,0,244,3,250,64,128,0,227,0,'System','As per 67 Chevelle CSV'), + (914,10,1,218,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,130,5,124,122,1,232,28,14,124,122,1,253,28,14,124,122,1,232,0,'System','As per 67 Chevelle CSV'), + (915,10,1,218,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,154,30,15,255,128,60,255,142,117,141,128,0,235,142,44,171,128,0,253,142,117,141,128,0,235,0,'System','As per 67 Chevelle CSV'), + (916,10,1,218,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',35,134,255,128,43,255,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,255,128,60,255,35,134,255,128,43,255,35,82,255,128,7,255,35,134,255,128,43,255,0,'System','As per 67 Chevelle CSV'), + (917,10,1,218,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,5,255,83,58,255,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,5,255,128,14,255,128,5,255,83,58,255,0,'system','As per 67 Chevelle CSV'), + (918,10,1,218,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',79,64,91,118,0,249,28,104,94,128,20,252,28,104,94,128,20,252,28,104,94,128,20,252,30,15,2,128,0,214,79,64,91,118,0,249,79,36,91,118,15,254,79,64,91,118,0,249,0,'system','As per 67 Chevelle CSV'), + (919,10,1,218,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,31,135,142,128,2,249,31,22,142,128,11,254,31,135,142,128,2,249,0,'system','As per 67 Chevelle CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (920,10,1,218,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,254,43,143,0,197,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,254,43,143,0,197,128,56,137,143,0,224,128,254,43,143,0,197,0,'system','As per 67 Chevelle CSV'), + (921,10,1,218,'Royal Plum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',224,253,32,114,0,198,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,224,253,32,114,0,198,224,53,32,114,0,252,224,253,32,114,0,198,0,'system','As per 67 Chevelle CSV'), + (922,10,1,218,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',133,171,108,128,0,237,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,133,171,108,128,0,237,133,28,108,128,10,255,133,171,108,128,0,237,0,'system','As per 67 Chevelle CSV'), + (923,10,1,218,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,0,255,128,33,255,30,15,255,78,60,255,30,15,255,78,60,255,30,15,255,78,60,255,30,15,255,128,60,255,124,171,193,134,0,246,124,53,193,134,9,255,124,171,193,134,0,246,0,'system','As per 67 Chevelle CSV'), + (924,10,1,218,'White/Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',128,5,255,83,58,255,30,15,2,128,0,214,30,15,2,128,0,214,30,15,2,128,0,214,30,15,2,128,0,214,142,131,141,128,16,235,128,5,255,83,58,255,128,5,255,83,58,255,0,'system','As per 67 Chevelle CSV'), + (925,10,1,218,'Medium Blue/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,128,5,255,83,58,255,142,131,141,128,16,235,142,131,141,128,16,235,0,'system','As per 67 Chevelle CSV'), + (926,10,1,218,'Medium Blue/Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,148,255,54,135,0,194,142,131,141,128,16,235,142,131,141,128,16,235,0,'system','As per 67 Chevelle CSV'), + (927,10,1,218,'Dark Blue/Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,142,131,141,128,16,235,148,255,54,135,0,194,148,255,54,135,0,194,0,'system','As per 67 Chevelle CSV'), + (928,10,1,218,'Gold/Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,43,26,255,100,48,255,31,22,142,128,11,254,31,135,142,128,2,249,0,'system','As per 67 Chevelle CSV'), + (929,10,1,218,'Dark Turquoise/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',128,254,43,143,0,197,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,56,137,143,0,224,128,254,43,143,0,197,0,'system','As per 67 Chevelle CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (930,10,1,218,'Fawn/Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,43,26,255,100,48,255,28,14,124,122,1,232,28,14,124,122,1,232,0,'system','As per 67 Chevelle CSV'), + (931,10,1,101,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,0,0,135,0,212,128,0,2,128,0,173,48,122,146,128,0,255,0,NULL,NULL), + (932,10,1,101,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,32,177,128,128,8,249,142,13,73,128,0,252,142,252,73,128,0,227,0,NULL,NULL), + (933,10,1,101,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,32,177,128,128,8,249,32,177,128,128,0,236,250,237,52,128,0,206,0,NULL,NULL), + (934,10,1,101,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,142,0,252,128,34,237,159,249,53,128,0,208,159,249,53,128,0,208,0,NULL,NULL), + (935,10,1,101,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,40,0,0,135,0,212,37,142,152,128,22,220,37,142,152,128,22,220,0,NULL,NULL), + (936,10,1,101,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,109,54,124,128,0,231,0,NULL,NULL), + (937,10,1,101,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,253,234,191,128,48,229,128,0,2,128,0,173,44,45,255,128,66,222,0,NULL,NULL), + (938,10,1,101,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,253,234,191,128,48,229,1,254,163,128,13,241,30,10,1,128,2,155,0,NULL,NULL), + (939,10,1,101,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,32,177,128,128,8,249,130,172,47,163,0,195,130,172,47,163,0,195,0,NULL,NULL); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (940,10,1,101,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,1,254,163,128,13,241,0,NULL,NULL), + (941,10,1,101,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,32,177,128,128,8,249,6,255,135,165,11,203,6,255,135,165,11,203,0,NULL,NULL), + (942,10,1,101,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,142,0,252,128,34,237,128,0,2,128,0,173,133,116,212,128,13,227,0,NULL,NULL), + (943,10,1,101,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,0,0,135,0,212,128,0,2,128,0,173,30,254,255,118,45,252,0,NULL,NULL), + (944,10,1,101,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,142,0,252,128,34,237,128,33,164,128,0,248,128,33,164,128,0,248,0,NULL,NULL), + (945,10,1,101,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,253,234,191,128,48,229,148,255,103,186,2,185,148,255,103,186,2,185,0,NULL,NULL), + (946,10,1,101,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,19,90,88,155,0,211,0,NULL,NULL), + (947,10,1,101,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,142,0,252,128,34,237,128,0,2,128,0,163,138,219,92,137,0,224,0,NULL,NULL), + (965,10,1,228,'Florentine Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',250,79,45,128,0,236,26,101,184,128,0,222,252,255,75,128,0,173,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,252,255,75,128,0,173,0,'system','As per 70 Firebird CSV'), + (966,10,1,228,'Sunlight Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',31,146,255,128,5,255,20,7,14,128,0,227,31,236,255,128,6,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,31,236,255,128,6,255,0,'system','As per 70 Firebird CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (967,10,1,228,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',107,39,28,128,0,211,26,101,184,128,0,222,107,255,28,138,0,168,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,107,255,28,138,0,168,0,'system','As per 70 Firebird CSV'), + (968,10,1,228,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,75,82,0,242,128,0,1,82,0,206,128,0,1,82,0,156,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,128,0,1,82,0,156,128,0,1,82,0,156,0,'system','As per 70 Firebird CSV'), + (969,10,1,228,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',135,78,77,158,0,218,20,7,14,128,0,227,146,255,109,135,0,214,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,146,255,109,135,0,214,0,'system','As per 70 Firebird CSV'), + (970,10,1,228,'Ascot Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,195,148,0,232,20,7,14,128,0,227,128,13,122,137,0,220,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,13,122,137,0,220,0,'system','As per 70 Firebird CSV'), + (971,10,1,228,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,255,128,1,254,20,7,14,128,0,227,128,0,255,128,14,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,0,255,128,14,255,0,'system','As per 70 Firebird CSV'), + (972,10,1,228,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',6,77,255,128,0,242,20,7,14,128,0,227,1,255,255,128,0,240,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,1,255,255,128,0,240,0,'system','As per 70 Firebird CSV'), + (973,10,1,228,'Golden Olive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',45,33,134,154,0,210,20,7,14,128,0,227,37,165,109,154,0,199,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,37,165,109,154,0,199,0,'system','As per 70 Firebird CSV'), + (974,10,1,228,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',27,44,156,128,0,254,20,7,14,128,0,227,27,180,156,128,0,248,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,27,180,156,128,0,248,0,'system','As per 70 Firebird CSV'), + (975,10,1,228,'Burnished Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',35,22,61,158,0,208,26,101,184,128,0,222,35,83,61,158,0,181,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,35,83,61,158,0,181,0,'system','As per 70 Firebird CSV'), + (976,10,1,227,'Florentine Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',250,79,45,128,0,236,26,101,184,128,0,222,252,255,75,128,0,173,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,252,255,75,128,0,173,0,'system','As per 70 Firebird CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (977,10,1,227,'Sunlight Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',31,146,255,128,5,255,20,7,14,128,0,227,31,236,255,128,6,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,31,236,255,128,6,255,0,'system','As per 70 Firebird CSV'), + (978,10,1,227,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',107,39,28,128,0,211,26,101,184,128,0,222,107,255,28,138,0,168,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,107,255,28,138,0,168,0,'system','As per 70 Firebird CSV'), + (979,10,1,227,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,75,82,0,242,128,0,1,82,0,206,128,0,1,82,0,156,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,128,0,1,82,0,156,128,0,1,82,0,156,0,'system','As per 70 Firebird CSV'), + (980,10,1,227,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',135,78,77,158,0,218,20,7,14,128,0,227,146,255,109,135,0,214,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,146,255,109,135,0,214,0,'system','As per 70 Firebird CSV'), + (981,10,1,227,'Ascot Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,195,148,0,232,20,7,14,128,0,227,128,13,122,137,0,220,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,13,122,137,0,220,0,'system','As per 70 Firebird CSV'), + (982,10,1,227,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',6,77,255,128,0,242,20,7,14,128,0,227,1,255,255,128,0,240,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,1,255,255,128,0,240,0,'system','As per 70 Firebird CSV'), + (983,10,1,227,'Golden Olive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',45,33,134,154,0,210,20,7,14,128,0,227,37,165,109,154,0,199,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,37,165,109,154,0,199,0,'system','As per 70 Firebird CSV'), + (984,10,1,227,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',27,44,156,128,0,254,20,7,14,128,0,227,27,180,156,128,0,248,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,27,180,156,128,0,248,0,'system','As per 70 Firebird CSV'), + (985,10,1,227,'Burnished Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',35,22,61,158,0,208,26,101,184,128,0,222,35,83,61,158,0,181,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,35,83,61,158,0,181,0,'system','As per 70 Firebird CSV'), + (986,10,1,226,'Expresso Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',19,54,52,128,0,208,19,169,52,128,0,193,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,19,169,52,128,0,193,19,169,52,128,0,193,19,169,52,128,0,193,0,'system','As per 69 GTO CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (987,10,1,226,'Mayfair Maize',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',30,79,255,128,7,255,30,151,255,128,7,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,30,151,255,128,7,255,30,151,255,128,7,255,30,151,255,128,7,255,0,'system','As per 69 GTO CSV'), + (988,10,1,226,'Warwick Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',142,129,167,128,6,229,142,142,167,128,6,208,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,142,88,167,128,6,212,142,5,167,128,6,240,142,255,167,128,6,201,0,'Factory','As per 69 GTO CSV'), + (989,10,1,226,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',249,79,61,128,0,229,11,255,255,128,1,233,40,20,255,128,0,249,128,0,18,128,0,219,30,74,142,128,0,241,23,255,255,128,17,255,37,255,255,128,17,255,249,255,61,128,0,198,0,'Factory','As per 69 GTO CSV'), + (990,10,1,226,'Liberty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',144,69,58,128,0,208,142,129,167,128,6,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,142,101,167,128,6,236,142,5,167,128,6,240,144,255,58,128,0,180,0,'Factory','As per 69 GTO CSV'), + (991,10,1,226,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',2,69,144,128,0,227,15,255,255,128,17,255,40,20,255,128,0,249,128,0,18,128,0,219,30,10,19,128,0,175,23,255,255,128,17,255,37,255,255,128,17,255,2,255,144,128,0,227,0,'Factory','As per 69 GTO CSV'), + (992,10,1,226,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',31,64,182,128,0,239,26,169,182,128,0,232,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,26,169,182,128,0,232,26,169,182,128,0,232,26,169,182,128,0,232,0,'Factory','As per 69 GTO CSV'), + (993,10,1,226,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',34,45,73,128,0,231,34,91,105,128,0,212,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,30,36,145,128,0,224,30,36,145,128,0,224,30,36,145,128,0,224,0,'Factory','As per 69 GTO CSV'), + (994,10,1,226,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',30,10,5,154,0,192,2,255,255,128,0,195,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,1,255,255,128,0,237,1,255,255,128,26,255,30,10,5,154,0,155,0,'Factory','As per 69 GTO CSV'), + (995,10,1,226,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',147,41,74,128,0,224,134,186,74,128,0,198,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,134,186,74,128,0,198,134,186,74,128,0,198,134,186,74,128,0,198,0,'Factory','As per 69 GTO CSV'), + (996,10,1,226,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',37,62,255,128,18,255,28,255,255,128,26,225,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,24,255,255,128,26,255,18,255,255,128,26,255,31,255,255,128,17,255,0,'Factory','As per 69 GTO CSV'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (997,10,1,226,'Verdoro Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',103,41,28,154,0,206,60,255,255,128,1,214,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,47,255,255,128,1,244,37,255,255,128,17,255,69,125,28,154,0,176,0,'Factory','As per 69 GTO CSV'), + (998,10,1,226,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',128,5,255,128,14,255,2,73,255,128,19,225,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,2,146,255,128,19,255,2,255,255,128,19,255,47,11,255,128,27,255,0,'Factory','As per 69 GTO CSV'), + (999,10,1,226,'Crystal Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',121,44,71,128,0,218,121,255,71,128,0,205,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,121,255,71,128,0,205,121,255,71,128,0,205,121,255,71,128,0,205,0,'Factory','As per 69 GTO CSV'), + (1000,10,1,226,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',50,45,95,128,0,229,50,108,95,128,0,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,50,108,95,128,0,211,50,108,95,128,0,211,50,108,95,128,0,211,0,'Factory','As per 69 GTO CSV'), + (1001,10,1,226,'Carousel Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',2,77,255,128,0,245,13,255,255,128,9,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,22,255,255,128,9,255,32,255,255,128,9,255,2,255,255,128,0,255,0,'Factory','As per 69 GTO CSV'), + (1002,10,1,226,'Paladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',128,15,94,128,0,237,32,73,255,128,0,237,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,32,142,255,128,0,240,32,255,255,128,9,255,128,15,94,128,0,228,0,'Factory','As per 69 GTO CSV'), + (1005,10,1,213,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), + (1006,10,1,214,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), + (1007,10,1,215,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), + (1008,10,1,134,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,NULL,7,0,128,0,172,148,203,NULL,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1009,10,1,213,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), + (1010,10,1,213,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1011,10,1,213,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), + (1012,10,1,213,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1013,10,1,213,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1014,10,1,213,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1015,10,1,213,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1016,10,1,213,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), + (1017,10,1,213,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1018,10,1,213,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1019,10,1,213,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), + (1020,10,1,213,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1021,10,1,213,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), + (1022,10,1,213,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), + (1023,10,1,213,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), + (1024,10,1,213,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), + (1025,10,1,214,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1026,10,1,214,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), + (1027,10,1,214,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1028,10,1,214,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1029,10,1,214,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1030,10,1,214,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1031,10,1,214,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1032,10,1,214,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1033,10,1,214,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), + (1034,10,1,214,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1035,10,1,214,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), + (1036,10,1,214,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), + (1037,10,1,214,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1038,10,1,214,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1039,10,1,214,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), + (1040,10,1,214,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), + (1041,10,1,214,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), + (1042,10,1,215,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1043,10,1,215,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), + (1044,10,1,215,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1045,10,1,215,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), + (1046,10,1,215,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1047,10,1,215,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1048,10,1,215,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1049,10,1,215,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1050,10,1,215,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), + (1051,10,1,215,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1052,10,1,215,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), + (1053,10,1,215,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), + (1054,10,1,215,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), + (1055,10,1,215,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), + (1056,10,1,215,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), + (1057,10,1,215,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), + (1058,10,1,215,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1059,10,1,227,'Admiralty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',150,53,54,152,0,210,20,7,14,128,0,227,150,255,54,152,0,172,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,150,255,54,152,0,172,0,'system','As per 70 Firebird CSV'), + (1060,10,1,216,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',50,41,135,128,0,240,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,45,147,135,135,0,232,20,7,6,128,0,165,45,147,135,135,0,232,0,'Factory','As per 71 Duster CSV.'), + (1061,10,1,216,'Bahama Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',28,60,208,128,0,249,122,5,184,128,0,246,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,26,233,208,128,0,239,20,7,6,128,0,165,26,233,208,128,0,239,0,'Factory','As per 71 Duster CSV.'), + (1062,10,1,216,'Rallye Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',0,97,255,128,0,244,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,0,255,255,128,0,245,20,7,6,128,0,165,0,255,255,128,0,245,0,'Factory','As per 71 Duster CSV.'), + (1063,10,1,216,'In Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',197,50,87,128,0,236,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,186,177,87,156,0,203,20,7,6,128,0,165,186,177,87,156,0,203,0,'Factory','As per 71 Duster CSV.'), + (1064,10,1,216,'Avocado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',80,35,24,128,0,218,70,192,24,103,0,186,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,70,192,24,103,0,186,70,192,24,103,0,186,70,192,24,103,0,186,0,'Factory','As per 71 Duster CSV.'), + (1065,10,1,216,'True Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',147,48,109,143,0,222,142,255,109,143,0,212,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,142,255,109,143,0,212,142,255,109,143,0,212,142,255,109,143,0,212,0,'Factory','As per 71 Duster CSV.'), + (1066,10,1,216,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',40,19,255,88,36,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,40,19,255,88,36,255,20,7,6,128,0,165,40,19,255,88,36,255,0,'Factory','As per 71 Duster CSV.'), + (1067,10,1,216,'Coral Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',131,62,124,146,0,229,131,214,57,143,0,192,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,131,214,57,143,0,192,131,214,57,143,0,192,131,214,57,143,0,192,0,'Factory','As per 71 Duster CSV.'), + (1068,10,1,216,'Sandpebble Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',27,35,108,128,0,246,24,118,176,133,0,240,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,24,118,176,133,0,240,24,118,176,133,0,240,24,118,176,133,0,240,0,'Factory','As per 71 Duster CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1069,10,1,216,'Aztec Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',27,82,160,128,0,254,23,215,160,128,0,252,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,23,215,160,128,0,252,23,215,160,128,0,252,23,215,160,128,0,252,0,'Factory','As per 71 Duster CSV.'), + (1070,10,1,216,'Winchester Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',136,24,202,116,9,255,136,24,202,116,5,229,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,136,24,202,116,5,229,20,7,6,128,0,165,136,24,202,116,5,229,0,'Factory','As per 71 Duster CSV.'), + (1071,10,1,216,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',14,69,255,97,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,18,255,255,94,28,255,20,7,6,128,0,165,18,255,255,94,28,255,0,'Factory','As per 71 Duster CSV.'), + (1072,10,1,216,'Burnished Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',254,48,79,128,0,233,254,252,79,148,0,212,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,254,252,79,148,0,212,254,252,79,148,0,212,254,252,79,148,0,212,0,'Factory','As per 71 Duster CSV.'), + (1073,10,1,216,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',33,131,255,118,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,33,255,255,118,26,255,20,7,6,128,0,165,33,255,255,118,26,255,0,'Factory','As per 71 Duster CSV.'), + (1074,10,1,216,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',37,10,1,73,1,239,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,37,10,1,69,1,194,37,10,1,69,1,194,37,10,1,69,1,194,0,'Factory','As per 71 Duster CSV.'), + (1075,10,1,216,'Autumn Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',14,82,79,144,0,220,14,252,79,144,0,212,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,14,252,79,144,0,212,14,252,79,144,0,212,14,252,79,144,0,212,0,'Factory','As per 71 Duster CSV.'), + (1076,10,1,224,'Crimson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,11,10,26,128,0,205,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','As per 69 Olds 442 CSV.'), + (1077,10,1,224,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',134,10,126,128,6,245,134,10,158,128,1,232,134,10,158,128,1,232,11,10,26,128,0,205,30,10,1,128,0,194,134,10,158,128,1,232,134,10,158,128,1,232,134,10,158,128,1,232,0,'Factory','As per 69 Olds 442 CSV.'), + (1078,10,1,224,'Trophy Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',170,128,192,128,0,214,147,255,79,128,0,184,147,255,79,128,0,184,11,10,26,128,0,205,30,10,1,128,0,194,147,255,79,128,0,184,147,255,79,128,0,184,147,255,79,128,0,184,0,'Factory','As per 69 Olds 442 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1079,10,1,224,'Ebony Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',6,10,9,128,0,197,6,10,9,128,0,161,6,10,9,128,0,161,11,10,26,128,0,205,30,10,1,128,0,194,6,10,9,128,0,161,6,10,9,128,0,161,6,10,9,128,0,161,0,'Factory','As per 69 Olds 442 CSV.'), + (1080,10,1,224,'Topaz',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',37,65,145,128,0,243,31,143,178,128,0,224,31,143,178,128,0,224,11,10,26,128,0,205,30,10,1,128,0,194,31,143,178,128,0,224,31,143,178,128,0,224,31,143,178,128,0,224,0,'Factory','As per 69 Olds 442 CSV.'), + (1081,10,1,224,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',128,10,255,128,18,255,128,10,255,128,43,255,128,10,255,128,43,255,11,10,26,128,0,205,30,10,1,128,0,194,128,10,255,128,43,255,128,10,255,128,43,255,128,10,255,128,43,255,0,'Factory','As per 69 Olds 442 CSV.'), + (1082,10,1,224,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',135,61,190,128,0,242,135,99,190,128,0,237,135,99,190,128,0,237,28,26,164,128,10,255,30,10,1,128,0,194,135,99,190,128,0,237,135,99,190,128,0,237,135,99,190,128,0,237,0,'Factory','As per 69 Olds 442 CSV.'), + (1083,10,1,224,'Chestnut Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',5,91,82,128,0,218,5,231,82,128,0,193,5,231,82,128,0,193,28,116,164,128,1,224,30,10,1,128,0,194,5,231,82,128,0,193,5,231,82,128,0,193,5,231,82,128,0,193,0,'Factory','As per 69 Olds 442 CSV.'), + (1084,10,1,224,'Saffron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',33,96,255,128,16,255,28,165,255,128,33,255,28,165,255,128,33,255,11,10,26,128,0,205,30,10,1,128,0,194,28,165,255,128,33,255,28,165,255,128,33,255,28,165,255,128,33,255,0,'Factory','As per 69 Olds 442 CSV.'), + (1085,10,1,224,'Flamingo Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',246,33,80,128,7,242,246,43,80,128,7,232,246,43,80,128,7,232,11,10,26,128,0,205,30,10,1,128,0,194,246,43,80,128,7,232,246,43,80,128,7,232,246,43,80,128,7,232,0,'Factory','As per 69 Olds 442 CSV.'), + (1086,10,1,224,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',77,44,109,128,1,242,65,75,109,128,1,220,65,75,109,128,1,220,28,116,164,128,1,224,30,10,1,128,0,194,65,75,109,128,1,220,65,75,109,128,1,220,65,75,109,128,1,220,0,'Factory','As per 69 Olds 442 CSV.'), + (1087,10,1,224,'Palomino Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',32,56,118,128,0,245,32,92,118,128,0,233,32,92,118,128,0,233,28,116,164,128,1,224,30,10,1,128,0,194,32,92,118,128,0,233,32,92,118,128,0,233,32,92,118,128,0,233,0,'Factory','As per 69 Olds 442 CSV.'), + (1088,10,1,157,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',66,78,48,128,0,231,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,66,143,48,128,0,211,1,0,2,128,0,182,66,143,48,128,0,211,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1089,10,1,157,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',147,79,101,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,147,255,101,128,0,223,1,0,2,128,0,182,147,255,101,128,0,223,0,'Factory','This is a factory stock color.'), + (1090,10,1,157,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',5,124,165,128,0,245,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,5,255,165,128,0,225,1,0,2,128,0,182,5,255,165,128,0,225,0,'Factory','This is a factory stock color.'), + (1091,10,1,157,'Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',189,88,52,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,184,255,52,128,0,219,1,0,2,128,0,182,184,255,52,128,0,219,0,'Factory','This is a factory stock color.'), + (1092,10,1,157,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',134,73,62,128,0,227,134,255,62,128,0,242,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,255,62,128,0,207,134,255,62,128,0,207,0,'Factory','This is a factory stock color.'), + (1093,10,1,157,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',20,137,181,82,36,253,20,255,231,52,49,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,20,255,231,52,49,253,1,0,2,128,0,182,20,255,231,52,49,253,0,'Factory','This is a factory stock color.'), + (1094,10,1,157,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',66,47,33,128,0,236,66,143,33,128,0,192,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,48,80,164,128,1,239,66,143,33,128,0,192,66,143,33,128,0,192,0,'Factory','This is a factory stock color.'), + (1095,10,1,157,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',83,108,202,128,0,250,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,73,205,202,128,6,239,1,0,2,128,0,182,73,205,202,128,6,239,0,'Factory','This is a factory stock color.'), + (1096,10,1,157,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',9,7,1,128,0,232,0,255,248,128,24,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,128,24,253,9,7,1,128,0,188,9,7,1,128,0,188,0,'Factory','This is a factory stock color.'), + (1097,10,1,157,'Sahara Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',27,88,96,128,0,249,27,161,96,128,0,254,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,1,0,2,128,0,182,27,161,96,128,0,231,27,161,96,128,0,231,0,'Factory','This is a factory stock color.'), + (1098,10,1,157,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',13,83,122,128,0,237,20,255,255,128,15,255,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,13,176,122,128,0,229,1,0,2,128,0,182,13,176,122,128,0,229,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1099,10,1,157,'Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',20,66,58,128,0,236,20,137,58,128,0,239,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,48,80,164,128,1,239,20,137,58,128,0,211,20,137,58,128,0,211,0,'Factory','This is a factory stock color.'), + (1100,10,1,157,'Rally Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',0,139,248,128,24,253,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,97,13,253,1,0,2,128,0,182,0,255,248,97,13,253,0,'Factory','This is a factory stock color.'), + (1101,10,1,157,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',30,47,255,87,45,255,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,30,47,255,87,45,255,1,0,2,128,0,182,30,47,255,87,45,255,0,'Factory','This is a factory stock color.'), + (1102,10,1,157,'Sunfire Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',38,141,255,128,9,255,20,255,255,128,15,255,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,32,219,255,88,44,255,1,0,2,128,0,182,32,219,255,88,44,255,0,'Factory','This is a factory stock color.'), + (1103,10,1,157,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',32,87,210,128,35,227,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,32,189,210,128,35,249,1,0,2,128,0,182,32,189,210,128,35,249,0,'Factory','This is a factory stock color.'), + (1104,10,1,217,'Azure Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,125,47,90,128,0,202,128,0,255,128,0,186,125,47,90,128,0,202,40,20,10,128,0,224,125,18,90,128,0,248,40,24,255,128,32,255,128,128,90,129,0,211,0,'system','As per 64 Impala CSV.'), + (1105,10,1,217,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,5,255,128,0,199,128,0,255,128,0,186,20,5,255,128,0,199,40,20,10,128,0,224,20,5,1,128,0,208,20,5,1,128,0,159,20,5,1,128,0,159,0,'system','As per 64 Impala CSV.'), + (1106,10,1,217,'Lagoon Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,127,254,53,128,1,195,128,0,255,128,0,186,127,254,53,128,1,195,40,20,10,128,0,224,127,116,53,128,1,228,127,202,53,128,1,178,127,202,53,128,1,178,0,'system','As per 64 Impala CSV.'), + (1107,10,1,217,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',40,15,255,128,0,255,73,60,143,128,0,212,24,71,202,152,3,214,73,60,143,128,0,212,40,20,10,128,0,224,108,24,143,128,0,233,40,24,255,128,32,255,73,60,143,128,0,212,0,'system','As per 64 Impala CSV.'), + (1108,10,1,217,'Desert Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,24,71,202,121,3,255,24,71,202,152,3,214,24,71,202,121,3,255,40,20,10,128,0,224,24,24,202,121,9,255,24,71,202,121,3,255,24,71,202,121,3,255,0,'system','As per 64 Impala CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1109,10,1,217,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,147,255,47,128,0,208,147,212,47,128,0,178,147,255,47,128,0,208,40,20,10,128,0,224,147,75,47,128,0,211,147,255,47,128,0,180,147,255,47,128,0,180,0,'system','As per 64 Impala CSV.'), + (1110,10,1,217,'Bahama Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',30,79,30,128,0,241,30,79,30,128,0,241,24,71,202,152,3,214,30,79,30,128,0,212,40,20,10,128,0,224,94,54,47,128,0,220,107,185,47,114,0,175,107,185,47,114,0,175,0,'system','As per 64 Impala CSV.'), + (1111,10,1,217,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,128,8,255,128,33,233,1,249,154,128,0,224,128,8,255,128,33,255,40,20,255,128,0,229,128,8,255,128,7,255,128,8,255,128,33,255,128,8,255,128,33,255,0,'system','As per 64 Impala CSV.'), + (1112,10,1,217,'Almond Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',40,15,255,128,0,255,13,48,255,105,0,232,40,15,255,128,0,255,13,48,255,105,0,232,40,20,10,128,0,224,13,26,255,105,7,254,40,24,255,128,32,255,13,48,255,105,0,232,0,'system','As per 64 Impala CSV.'), + (1113,10,1,217,'Palomar Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,13,254,75,118,0,223,24,71,202,152,3,214,13,254,75,118,0,208,40,20,255,128,0,229,13,44,75,118,0,220,13,254,75,118,0,185,13,254,75,118,0,185,0,'system','As per 64 Impala CSV.'), + (1114,10,1,217,'Goldwood Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,32,122,255,128,20,255,24,71,202,152,3,231,32,122,255,128,20,255,24,71,202,152,3,231,37,44,255,128,6,240,24,71,202,152,3,231,32,122,255,128,20,255,0,'system','As per 64 Impala CSV.'), + (1115,10,1,217,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,139,65,138,114,6,231,128,0,255,128,0,255,139,65,138,114,6,220,40,20,255,128,73,255,139,36,138,114,6,249,40,24,255,128,32,255,139,65,138,114,6,212,0,'system','As per 64 Impala CSV.'), + (1116,10,1,217,'Saddle Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,97,143,128,0,233,24,71,202,152,3,231,20,97,143,128,0,218,40,20,255,128,0,229,20,49,143,128,0,240,20,97,143,128,0,218,20,97,143,128,0,218,0,'system','As per 64 Impala CSV.'), + (1117,10,1,217,'Satin Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,5,255,128,0,229,1,2,154,128,0,173,20,5,255,128,0,214,40,20,255,128,0,229,20,5,255,128,0,240,20,5,255,128,0,206,117,5,159,84,0,248,0,'system','As per 64 Impala CSV.'), + (1118,10,1,221,'Classic White / Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,165,1,41,101,128,0,254,15,255,101,128,14,255,128,5,255,128,18,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1119,10,1,221,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,128,255,58,152,0,203,128,255,58,152,0,203,128,255,58,152,0,203,0,'Factory','This is a factory stock color.'), + (1120,10,1,221,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,27,138,126,128,0,223,27,138,126,128,0,223,27,138,126,128,0,223,0,'Factory','This is a factory stock color.'), + (1121,10,1,221,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,122,10,160,128,0,227,1,1,1,128,1,147,122,10,160,142,0,220,0,'Factory','This is a factory stock color.'), + (1122,10,1,221,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,104,101,147,128,0,219,104,101,147,128,0,219,104,101,147,128,0,219,0,'Factory','This is a factory stock color.'), + (1123,10,1,221,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,97,130,53,128,0,190,97,130,53,128,0,190,97,130,53,128,0,190,0,'Factory','This is a factory stock color.'), + (1124,10,1,221,'Cranberry Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,248,254,91,176,0,180,1,1,1,128,1,147,248,254,91,176,0,192,0,'Factory','This is a factory stock color.'), + (1125,10,1,221,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,165,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,184,2,180,0,'Factory','This is a factory stock color.'), + (1126,10,1,221,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,242,28,83,171,0,180,1,1,1,128,1,147,242,28,83,171,0,202,0,'Factory','This is a factory stock color.'), + (1127,10,1,221,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,155,254,70,146,11,184,155,254,70,146,11,184,155,254,70,146,11,184,0,'Factory','This is a factory stock color.'), + (1128,10,1,221,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,26,41,53,128,0,199,26,41,53,128,0,199,26,41,53,128,0,199,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1129,10,1,221,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,31,148,112,109,11,228,1,1,1,128,1,147,31,148,112,109,11,233,0,'Factory','This is a factory stock color.'), + (1130,10,1,221,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,245,255,66,128,0,198,245,255,66,128,0,198,245,255,66,128,0,198,0,'Factory','This is a factory stock color.'), + (1131,10,1,221,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,23,126,62,128,0,194,23,126,62,128,0,194,23,126,62,128,0,194,0,'Factory','This is a factory stock color.'), + (1132,10,1,221,'Plum / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,215,255,53,128,0,188,1,1,1,128,1,147,215,255,53,128,0,198,0,'Factory','This is a factory stock color.'), + (1133,10,1,221,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',18,86,255,117,20,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,31,255,255,117,26,229,1,1,1,128,1,147,31,255,255,117,26,255,0,'Factory','This is a factory stock color.'), + (1134,10,1,221,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,236,255,128,0,219,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), + (1135,10,1,223,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,48,83,139,128,0,223,20,7,31,128,0,246,20,7,9,128,0,244,48,28,139,128,0,240,20,7,18,128,0,161,48,83,139,128,0,223,0,'Factory','This is a factory stock color.'), + (1136,10,1,223,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',0,255,255,128,0,241,0,255,255,128,0,241,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,0,86,255,128,0,252,0,255,255,128,0,241,0,255,255,128,0,241,0,'Factory','This is a factory stock color.'), + (1137,10,1,223,'Astro Blue / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',145,210,142,128,0,216,145,210,142,128,0,216,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,150,79,142,128,0,241,145,210,142,128,0,216,145,210,142,128,0,216,0,'Factory','This is a factory stock color.'), + (1138,10,1,223,'Shadow Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,24,66,86,128,0,207,20,7,31,128,0,246,20,7,9,128,0,244,24,40,75,128,0,231,20,7,18,128,0,161,24,66,86,128,0,207,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1139,10,1,223,'Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',22,107,142,128,0,225,22,107,142,128,0,225,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,28,47,142,128,0,245,22,107,142,128,0,225,22,107,142,128,0,225,0,'Factory','This is a factory stock color.'), + (1140,10,1,223,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,101,178,33,128,0,193,20,7,31,128,0,246,20,7,9,128,0,244,64,84,33,128,36,206,20,7,18,128,0,161,101,178,33,128,0,193,0,'Factory','This is a factory stock color.'), + (1141,10,1,223,'Classic White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,58,255,20,7,18,128,0,208,40,7,255,128,27,255,20,7,31,128,0,246,20,7,9,128,0,244,40,7,255,128,27,225,20,7,18,128,0,161,40,7,255,128,27,255,0,'Factory','This is a factory stock color.'), + (1142,10,1,223,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,130,182,97,128,0,222,20,7,31,128,0,246,20,7,9,128,0,244,130,73,97,128,0,235,20,7,18,128,0,161,130,182,97,128,0,222,0,'Factory','This is a factory stock color.'), + (1143,10,1,223,'Black Cherry / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',1,255,80,128,2,203,1,255,80,128,2,203,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,1,66,80,128,2,241,1,255,80,128,2,203,1,255,80,128,2,203,0,'Factory','This is a factory stock color.'), + (1144,10,1,223,'Autumn Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',26,134,134,137,0,199,26,134,134,137,0,199,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,26,74,134,128,0,245,26,134,134,137,0,199,26,134,134,137,0,199,0,'Factory','This is a factory stock color.'), + (1145,10,1,223,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',129,1,189,128,1,222,129,1,189,128,1,222,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,129,1,189,128,1,231,129,1,189,128,1,222,129,1,189,128,1,222,0,'Factory','This is a factory stock color.'), + (1146,10,1,223,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,22,147,147,128,0,244,20,7,31,128,0,246,40,10,255,128,77,255,22,53,147,128,0,250,20,7,18,128,0,161,22,147,147,128,0,244,0,'Factory','This is a factory stock color.'), + (1147,10,1,223,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',20,5,1,128,0,184,20,5,1,128,0,184,0,255,255,128,0,241,20,7,31,128,0,246,20,7,9,128,0,244,20,5,66,128,0,245,20,5,1,128,0,184,20,5,1,128,0,177,0,'Factory','This is a factory stock color.'), + (1148,10,1,223,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',29,255,255,128,34,255,29,255,255,128,34,255,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,37,64,255,128,16,239,29,255,255,128,34,255,29,255,255,128,34,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1149,10,1,222,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,242,28,83,128,0,214,1,1,1,128,1,168,242,28,83,128,0,225,0,'Factory','This is a factory stock color.'), + (1150,10,1,222,'Classic White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,248,1,41,101,128,0,254,1,255,101,128,0,236,128,5,255,128,39,255,0,'Factory','This is a factory stock color.'), + (1151,10,1,222,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,128,57,58,128,0,248,128,0,255,128,35,255,128,255,58,128,0,227,0,'Factory','This is a factory stock color.'), + (1152,10,1,222,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,0,'Factory','This is a factory stock color.'), + (1153,10,1,222,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,122,10,160,128,0,227,1,1,1,128,1,168,122,10,160,128,0,248,0,'Factory','This is a factory stock color.'), + (1154,10,1,222,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,104,101,147,128,0,239,104,101,147,128,0,239,104,101,147,128,0,239,0,'Factory','This is a factory stock color.'), + (1155,10,1,222,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,97,130,53,128,0,210,97,130,53,128,0,210,97,130,53,128,0,210,0,'Factory','This is a factory stock color.'), + (1156,10,1,222,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,248,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,128,2,228,0,'Factory','This is a factory stock color.'), + (1157,10,1,222,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,1,141,255,128,0,214,1,1,1,128,1,168,1,255,255,139,0,255,0,'Factory','This is a factory stock color.'), + (1158,10,1,222,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,155,254,70,146,11,206,155,254,70,146,11,206,155,254,70,146,11,206,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1159,10,1,222,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,26,41,53,128,0,224,26,41,53,128,0,224,26,41,53,128,0,224,0,'Factory','This is a factory stock color.'), + (1160,10,1,222,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,31,176,112,109,18,206,1,1,1,128,1,168,31,176,112,109,18,253,0,'Factory','This is a factory stock color.'), + (1161,10,1,222,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,245,255,66,128,0,225,245,255,66,128,0,225,245,255,66,128,0,225,0,'Factory','This is a factory stock color.'), + (1162,10,1,222,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,23,126,62,128,0,215,NULL,126,62,128,0,215,23,126,NULL,128,0,215,0,'Factory','This is a factory stock color.'), + (1163,10,1,142,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',6,194,143,128,6,240,6,194,143,128,6,240,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,6,194,143,128,6,240,6,194,143,128,6,240,0,'Factory','As per 70 Boss 429 CSV.'), + (1164,10,1,142,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',20,10,1,128,0,177,20,10,1,128,0,177,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,20,10,1,128,0,177,20,10,1,128,0,177,0,'Factory','As per 70 Boss 429 CSV.'), + (1165,10,1,142,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This color is not factory by CSV. Left over from old CSV file.'), + (1166,10,1,142,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Boss 429 CSV.'), + (1167,10,1,142,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Boss 429 CSV.'), + (1168,10,1,142,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Boss 429 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1169,10,1,142,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Boss 429 CSV.'), + (1170,10,1,142,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Boss 429 CSV.'), + (1171,10,1,142,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Boss 429 CSV.'), + (1172,10,1,142,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Boss 429 CSV.'), + (1173,10,1,142,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Boss 429 CSV.'), + (1174,10,1,142,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Boss 429 CSV.'), + (1175,10,1,142,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Boss 429 CSV.'), + (1176,10,1,142,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Boss 429 CSV.'), + (1177,10,1,142,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','As per 70 Boss 429 CSV.'), + (1178,10,1,210,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',6,194,143,128,6,240,6,194,143,128,6,240,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,6,194,143,128,6,240,6,194,143,128,6,240,0,'Factory','As per 70 Mustang CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1179,10,1,210,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',20,10,1,128,0,177,20,10,1,128,0,177,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,20,10,1,128,0,177,20,10,1,128,0,177,0,'Factory','As per 70 Mustang CSV.'), + (1180,10,1,210,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This is not a factory color by CSV. Left over from old CSV file.'), + (1181,10,1,210,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',116,255,151,128,6,255,116,255,255,128,6,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,116,255,151,128,6,255,116,255,151,128,6,255,0,'Factory','As per 70 Mustang CSV.'), + (1182,10,1,210,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',152,189,199,128,16,250,152,189,199,128,16,250,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,152,189,199,128,16,250,152,189,199,128,16,250,0,'Factory','As per 70 Mustang CSV.'), + (1183,10,1,210,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',19,255,255,128,78,225,19,255,255,128,78,225,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,19,255,255,128,78,225,19,255,255,128,78,225,0,'Factory','As per 70 Mustang CSV.'), + (1184,10,1,210,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',43,18,255,128,32,255,43,18,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,43,18,255,128,32,255,43,18,255,128,32,255,0,'Factory','As per 70 Mustang CSV.'), + (1185,10,1,210,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',35,64,158,128,16,244,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,35,64,158,128,16,244,35,64,158,128,16,244,0,'Factory','As per 70 Mustang CSV.'), + (1186,10,1,210,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',11,232,242,128,24,255,11,232,242,128,24,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,11,232,242,128,24,255,11,232,242,128,24,255,0,'Factory','As per 70 Mustang CSV.'), + (1187,10,1,210,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',154,176,105,121,16,224,154,176,105,121,16,224,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,154,176,105,121,16,224,154,176,105,121,16,224,0,'Factory','As per 70 Mustang CSV.'), + (1188,10,1,210,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',85,43,51,128,0,192,85,43,51,128,0,192,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,85,43,51,128,0,192,85,43,51,128,0,192,0,'Factory','As per 70 Mustang CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1189,10,1,210,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',38,64,253,128,48,244,38,64,253,128,48,244,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,38,64,253,128,48,244,38,64,253,128,48,244,0,'Factory','As per 70 Mustang CSV.'), + (1190,10,1,210,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',43,133,255,128,48,255,43,133,255,128,48,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,43,133,255,128,48,255,43,133,255,128,48,255,0,'Factory','As per 70 Mustang CSV.'), + (1191,10,1,210,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',147,64,255,128,32,240,147,64,255,128,32,240,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,147,64,255,128,32,240,147,64,255,128,32,240,0,'Factory','As per 70 Mustang CSV.'), + (1192,10,1,210,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',45,60,232,128,24,255,45,60,232,128,24,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,45,60,232,128,24,255,45,60,232,128,24,255,0,'Factory','As per 70 Mustang CSV.'), + (1193,10,1,212,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',20,10,1,128,0,177,1,253,163,128,24,242,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,1,253,163,128,24,242,20,10,1,128,0,177,0,'Factory','As per 70 Mach 1 CSV.'), + (1194,10,1,212,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This is not a factory color according to the CSV. Left over from old CSV.'), + (1195,10,1,212,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Mach 1 CSV.'), + (1196,10,1,212,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Mach 1 CSV.'), + (1197,10,1,212,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Mach 1 CSV.'), + (1198,10,1,212,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Mach 1 CSV.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1199,10,1,212,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Mach 1 CSV.'), + (1200,10,1,212,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Mach 1 CSV.'), + (1201,10,1,212,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Mach 1 CSV.'), + (1202,10,1,212,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Mach 1 CSV.'), + (1203,10,1,212,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Mach 1 CSV.'), + (1204,10,1,212,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Mach 1 CSV.'), + (1205,10,1,212,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Mach 1 CSV.'), + (1206,10,1,212,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','As per 70 Mach 1 CSV.'), + (1207,10,1,220,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','This is a factory stock color.'), + (1208,10,1,220,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1209,10,1,220,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), + (1210,10,1,220,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), + (1211,10,1,220,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), + (1212,10,1,220,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), + (1213,10,1,220,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), + (1214,10,1,220,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), + (1215,10,1,220,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), + (1216,10,1,220,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), + (1217,10,1,220,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), + (1218,10,1,220,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1219,10,1,220,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), + (1220,10,1,220,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), + (1221,10,1,220,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), + (1222,10,1,220,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), + (1223,10,1,220,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), + (1224,10,1,219,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'), + (1225,10,1,219,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), + (1226,10,1,219,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), + (1227,10,1,219,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), + (1228,10,1,219,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1229,10,1,219,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), + (1230,10,1,219,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), + (1231,10,1,219,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), + (1232,10,1,219,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), + (1233,10,1,219,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), + (1234,10,1,219,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'), + (1235,10,1,219,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), + (1236,10,1,219,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), + (1237,10,1,219,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), + (1238,10,1,219,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,233,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1239,10,1,219,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), + (1240,10,1,140,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), + (1241,10,1,140,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), + (1242,10,1,140,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), + (1243,10,1,140,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), + (1244,10,1,140,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), + (1245,10,1,140,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), + (1246,10,1,140,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'Factory','This is a factory stock color.'), + (1247,10,1,140,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), + (1248,10,1,140,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'); +INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES + (1249,10,1,140,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), + (1250,10,1,140,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'), + (1251,10,1,140,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), + (1252,10,1,140,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), + (1253,10,1,140,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), + (1254,10,1,140,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), + (1255,10,1,140,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,NULL,33,168,138,0,249,36,104,NULL,138,0,239,0,'Factory','This is a factory stock color.'), + (1256,10,1,113,'Lady Liberty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10,'57chemem',176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,0,'McCormack',NULL), + (1257,10,1,104,'All-American',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10,'57faimem',154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,0,'McCormack',NULL); diff --git a/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql b/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql new file mode 100644 index 000000000..a3085af40 --- /dev/null +++ b/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql @@ -0,0 +1,7 @@ +CREATE SEQUENCE part_partid_seq + START WITH 1 + INCREMENT BY 1 + NO MINVALUE + MAXVALUE 4294967295 + CACHE 1 + OWNED BY part.partid; diff --git a/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql new file mode 100644 index 000000000..498d3a815 --- /dev/null +++ b/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql @@ -0,0 +1 @@ +DROP TABLE AttachmentPoint; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.19.25.brand.sql b/migrations/down/2024.02.11T13.19.25.brand.sql new file mode 100644 index 000000000..d0a718763 --- /dev/null +++ b/migrations/down/2024.02.11T13.19.25.brand.sql @@ -0,0 +1 @@ +drop table Brand; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.23.01.model.sql b/migrations/down/2024.02.11T13.23.01.model.sql new file mode 100644 index 000000000..4b973fa35 --- /dev/null +++ b/migrations/down/2024.02.11T13.23.01.model.sql @@ -0,0 +1 @@ +DROP TABLE Model; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.33.31.abstractPartType.sql b/migrations/down/2024.02.11T13.33.31.abstractPartType.sql new file mode 100644 index 000000000..3774dc3a2 --- /dev/null +++ b/migrations/down/2024.02.11T13.33.31.abstractPartType.sql @@ -0,0 +1 @@ +DROP TABLE AbstractPartType; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.38.39.partGrade.sql b/migrations/down/2024.02.11T13.38.39.partGrade.sql new file mode 100644 index 000000000..220add9a7 --- /dev/null +++ b/migrations/down/2024.02.11T13.38.39.partGrade.sql @@ -0,0 +1 @@ +DROP TABLE PartGrade; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.39.20.partType.sql b/migrations/down/2024.02.11T13.39.20.partType.sql new file mode 100644 index 000000000..304b5b01f --- /dev/null +++ b/migrations/down/2024.02.11T13.39.20.partType.sql @@ -0,0 +1 @@ +DROP TABLE PartType; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.40.36.brandedPart.sql b/migrations/down/2024.02.11T13.40.36.brandedPart.sql new file mode 100644 index 000000000..3e9157879 --- /dev/null +++ b/migrations/down/2024.02.11T13.40.36.brandedPart.sql @@ -0,0 +1 @@ +DROP TABLE BrandedPart; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.41.55.part.sql b/migrations/down/2024.02.11T13.41.55.part.sql new file mode 100644 index 000000000..98d33efac --- /dev/null +++ b/migrations/down/2024.02.11T13.41.55.part.sql @@ -0,0 +1 @@ +DROP TABLE Part; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.45.10.driverClass.sql b/migrations/down/2024.02.11T13.45.10.driverClass.sql new file mode 100644 index 000000000..6e52ffef3 --- /dev/null +++ b/migrations/down/2024.02.11T13.45.10.driverClass.sql @@ -0,0 +1 @@ +DROP TABLE DriverClass; \ No newline at end of file diff --git a/migrations/down/2024.02.11T13.46.16.playerType.sql b/migrations/down/2024.02.11T13.46.16.playerType.sql new file mode 100644 index 000000000..72e426a35 --- /dev/null +++ b/migrations/down/2024.02.11T13.46.16.playerType.sql @@ -0,0 +1 @@ +DROP TABLE PlayerType; \ No newline at end of file diff --git a/migrations/down/2024.02.11T14.07.43.player.sql b/migrations/down/2024.02.11T14.07.43.player.sql new file mode 100644 index 000000000..fe49fd9ac --- /dev/null +++ b/migrations/down/2024.02.11T14.07.43.player.sql @@ -0,0 +1 @@ +DROP TABLE Player; \ No newline at end of file diff --git a/migrations/down/2024.02.11T14.22.15.skinType.sql b/migrations/down/2024.02.11T14.22.15.skinType.sql new file mode 100644 index 000000000..3728f897c --- /dev/null +++ b/migrations/down/2024.02.11T14.22.15.skinType.sql @@ -0,0 +1 @@ +DROP TABLE SkinType; \ No newline at end of file diff --git a/migrations/down/2024.02.11T14.23.13.ptSkin.sql b/migrations/down/2024.02.11T14.23.13.ptSkin.sql new file mode 100644 index 000000000..e60fd008f --- /dev/null +++ b/migrations/down/2024.02.11T14.23.13.ptSkin.sql @@ -0,0 +1 @@ +DROP TABLE PTSkin; \ No newline at end of file diff --git a/migrations/down/2024.02.11T14.24.06.vehicle.sql b/migrations/down/2024.02.11T14.24.06.vehicle.sql new file mode 100644 index 000000000..58acb51c0 --- /dev/null +++ b/migrations/down/2024.02.11T14.24.06.vehicle.sql @@ -0,0 +1 @@ +DROP TABLE Vehicle; \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql b/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.20.55.initialBrand.sql b/migrations/down/2024.02.11T23.20.55.initialBrand.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.20.55.initialBrand.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.26.25.initialModel.sql b/migrations/down/2024.02.11T23.26.25.initialModel.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.26.25.initialModel.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql b/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql b/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.30.06.initialPart.sql b/migrations/down/2024.02.11T23.30.06.initialPart.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.30.06.initialPart.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql b/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql b/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.11T23.32.44.initialPlayer.sql b/migrations/down/2024.02.11T23.32.44.initialPlayer.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.11T23.32.44.initialPlayer.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql new file mode 100644 index 000000000..915616d46 --- /dev/null +++ b/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql @@ -0,0 +1 @@ +drop table SVA_CarClass; \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql b/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql new file mode 100644 index 000000000..faab50cea --- /dev/null +++ b/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql @@ -0,0 +1 @@ +raise 'down migration not implemented' diff --git a/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql new file mode 100644 index 000000000..39459001e --- /dev/null +++ b/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql @@ -0,0 +1 @@ +drop table SVA_ModeRestriction; \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql new file mode 100644 index 000000000..873bd025f --- /dev/null +++ b/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql @@ -0,0 +1 @@ +drop table StockVehicleAttributes; \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql b/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql b/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql b/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql new file mode 100644 index 000000000..541c10c38 --- /dev/null +++ b/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql @@ -0,0 +1 @@ +DROP TABLE stockassembly; \ No newline at end of file diff --git a/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql b/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.15T00.21.44.initialSkinType.sql b/migrations/down/2024.02.15T00.21.44.initialSkinType.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.15T00.21.44.initialSkinType.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql b/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql new file mode 100644 index 000000000..7489accbf --- /dev/null +++ b/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql @@ -0,0 +1 @@ +-- \ No newline at end of file diff --git a/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql b/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql new file mode 100644 index 000000000..fb5bc9e19 --- /dev/null +++ b/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql @@ -0,0 +1 @@ +drop sequence part_partid_seq diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 90fc57e5c..000000000 --- a/package-lock.json +++ /dev/null @@ -1,12624 +0,0 @@ -{ - "name": "mcos", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "mcos", - "version": "1.0.0", - "license": "AGPL-3.0", - "dependencies": { - "@adminjs/sequelize": "^4.1.1", - "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.101", - "@sentry/profiling-node": "^7.101.1", - "adminjs": "^7.5.12", - "fastify": "^4.26.1", - "moment": "^2.30.1", - "pino": "^8.19.0", - "sequelize": "^6.37.1", - "sqlite": "^5.1.1", - "ts-node": "10.9.2" - }, - "devDependencies": { - "@sentry/cli": "^2.28.6", - "@tsconfig/node-lts": "^20.1.1", - "@tsconfig/node20": "^20.1.2", - "@types/chai": "4.3.11", - "@types/node": "^20.11.19", - "@types/sinon": "17.0.3", - "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", - "@vitest/coverage-v8": "^1.3.0", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.11", - "jsdoc": "^4.0.2", - "lint-staged": "^15.2.2", - "prettier": "3.2.5", - "prettier-eslint": "16.3.0", - "rimraf": "^5.0.5", - "standard-version": "^9.5.0", - "tsx": "4.7.1", - "typescript": "^5.3.3", - "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.3.0" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@adminjs/design-system": { - "version": "4.0.2", - "license": "MIT", - "dependencies": { - "@hypnosphi/create-react-context": "^0.3.1", - "@tiptap/core": "2.0.1", - "@tiptap/extension-bubble-menu": "2.0.1", - "@tiptap/extension-character-count": "2.0.1", - "@tiptap/extension-code": "2.0.1", - "@tiptap/extension-document": "2.0.1", - "@tiptap/extension-floating-menu": "2.0.1", - "@tiptap/extension-heading": "2.0.1", - "@tiptap/extension-image": "2.0.1", - "@tiptap/extension-link": "2.0.1", - "@tiptap/extension-table": "2.0.1", - "@tiptap/extension-table-cell": "2.0.1", - "@tiptap/extension-table-header": "2.0.1", - "@tiptap/extension-table-row": "2.0.1", - "@tiptap/extension-text": "2.0.1", - "@tiptap/extension-text-align": "2.0.1", - "@tiptap/extension-typography": "2.0.1", - "@tiptap/pm": "2.0.1", - "@tiptap/react": "2.0.1", - "@tiptap/starter-kit": "2.0.1", - "date-fns": "^2.29.3", - "flat": "^5.0.2", - "jw-paginate": "^1.0.4", - "lodash": "^4.17.21", - "polished": "^4.2.2", - "react-currency-input-field": "^3.6.10", - "react-datepicker": "^4.10.0", - "react-feather": "^2.0.10", - "react-phone-input-2": "^2.15.1", - "react-select": "^5.7.2", - "react-text-mask": "^5.5.0", - "styled-components": "5.3.9", - "styled-system": "^5.1.5", - "text-mask-addons": "^3.8.0" - }, - "peerDependencies": { - "react": "^18.1.0", - "react-dom": "^18.1.0" - } - }, - "node_modules/@adminjs/sequelize": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/@adminjs/sequelize/-/sequelize-4.1.1.tgz", - "integrity": "sha512-HKOuuFn79tvW6xKP+v7FvKc6V7vERlmdEu9oAAR3gz6SE3T+V7Uz8N+trwngFhOpTWVcuws2FchFvKG3Xrm9iw==", - "dependencies": { - "escape-regexp": "0.0.1" - }, - "peerDependencies": { - "adminjs": "^7.0.0", - "sequelize": ">=6" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "license": "Apache-2.0", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.22.13", - "license": "MIT", - "dependencies": { - "@babel/highlight": "^7.22.13", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.22.9", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.22.15", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-module-transforms": "^7.22.15", - "@babel/helpers": "^7.22.15", - "@babel/parser": "^7.22.15", - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15", - "convert-source-map": "^1.7.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": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", - "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", - "dependencies": { - "@babel/types": "^7.23.0", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-validator-option": "^7.22.15", - "browserslist": "^4.21.9", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.4.2", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.22.5", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.9", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-wrap-function": "^7.22.9" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.9", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-member-expression-to-functions": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "license": "MIT", - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.22.15", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.10", - "license": "MIT", - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.5", - "@babel/types": "^7.22.10" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/traverse": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.22.13", - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "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", - "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", - "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-dynamic-import": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "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", - "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.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "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", - "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", - "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", - "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", - "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", - "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", - "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", - "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.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.9", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-environment-visitor": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.9", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.5", - "@babel/helper-function-name": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.22.9", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-module-transforms": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.22.11", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.11", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-display-name": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-development": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/plugin-transform-react-jsx": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-pure-annotations": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.22.10", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typescript": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-typescript": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.22.10", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.22.5", - "license": "MIT", - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.9", - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.22.15", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.22.15", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.22.5", - "@babel/plugin-syntax-import-attributes": "^7.22.5", - "@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", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.22.5", - "@babel/plugin-transform-async-generator-functions": "^7.22.15", - "@babel/plugin-transform-async-to-generator": "^7.22.5", - "@babel/plugin-transform-block-scoped-functions": "^7.22.5", - "@babel/plugin-transform-block-scoping": "^7.22.15", - "@babel/plugin-transform-class-properties": "^7.22.5", - "@babel/plugin-transform-class-static-block": "^7.22.11", - "@babel/plugin-transform-classes": "^7.22.15", - "@babel/plugin-transform-computed-properties": "^7.22.5", - "@babel/plugin-transform-destructuring": "^7.22.15", - "@babel/plugin-transform-dotall-regex": "^7.22.5", - "@babel/plugin-transform-duplicate-keys": "^7.22.5", - "@babel/plugin-transform-dynamic-import": "^7.22.11", - "@babel/plugin-transform-exponentiation-operator": "^7.22.5", - "@babel/plugin-transform-export-namespace-from": "^7.22.11", - "@babel/plugin-transform-for-of": "^7.22.15", - "@babel/plugin-transform-function-name": "^7.22.5", - "@babel/plugin-transform-json-strings": "^7.22.11", - "@babel/plugin-transform-literals": "^7.22.5", - "@babel/plugin-transform-logical-assignment-operators": "^7.22.11", - "@babel/plugin-transform-member-expression-literals": "^7.22.5", - "@babel/plugin-transform-modules-amd": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.15", - "@babel/plugin-transform-modules-systemjs": "^7.22.11", - "@babel/plugin-transform-modules-umd": "^7.22.5", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.22.5", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.22.11", - "@babel/plugin-transform-numeric-separator": "^7.22.11", - "@babel/plugin-transform-object-rest-spread": "^7.22.15", - "@babel/plugin-transform-object-super": "^7.22.5", - "@babel/plugin-transform-optional-catch-binding": "^7.22.11", - "@babel/plugin-transform-optional-chaining": "^7.22.15", - "@babel/plugin-transform-parameters": "^7.22.15", - "@babel/plugin-transform-private-methods": "^7.22.5", - "@babel/plugin-transform-private-property-in-object": "^7.22.11", - "@babel/plugin-transform-property-literals": "^7.22.5", - "@babel/plugin-transform-regenerator": "^7.22.10", - "@babel/plugin-transform-reserved-words": "^7.22.5", - "@babel/plugin-transform-shorthand-properties": "^7.22.5", - "@babel/plugin-transform-spread": "^7.22.5", - "@babel/plugin-transform-sticky-regex": "^7.22.5", - "@babel/plugin-transform-template-literals": "^7.22.5", - "@babel/plugin-transform-typeof-symbol": "^7.22.5", - "@babel/plugin-transform-unicode-escapes": "^7.22.10", - "@babel/plugin-transform-unicode-property-regex": "^7.22.5", - "@babel/plugin-transform-unicode-regex": "^7.22.5", - "@babel/plugin-transform-unicode-sets-regex": "^7.22.5", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "@babel/types": "^7.22.15", - "babel-plugin-polyfill-corejs2": "^0.4.5", - "babel-plugin-polyfill-corejs3": "^0.8.3", - "babel-plugin-polyfill-regenerator": "^0.5.2", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/preset-react": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-transform-react-display-name": "^7.22.5", - "@babel/plugin-transform-react-jsx": "^7.22.15", - "@babel/plugin-transform-react-jsx-development": "^7.22.5", - "@babel/plugin-transform-react-pure-annotations": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-typescript": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.22.15", - "@babel/plugin-syntax-jsx": "^7.22.5", - "@babel/plugin-transform-modules-commonjs": "^7.22.15", - "@babel/plugin-transform-typescript": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/register": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "clone-deep": "^4.0.1", - "find-cache-dir": "^2.0.0", - "make-dir": "^2.1.0", - "pirates": "^4.0.5", - "source-map-support": "^0.5.16" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "license": "MIT" - }, - "node_modules/@babel/runtime": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.22.15", - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/parser": "^7.22.15", - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.23.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", - "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", - "dependencies": { - "@babel/code-frame": "^7.22.13", - "@babel/generator": "^7.23.0", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.23.0", - "@babel/types": "^7.23.0", - "debug": "^4.1.0", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@bcoe/v8-coverage": { - "version": "0.2.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "license": "MIT", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.16.7", - "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", - "babel-plugin-macros": "^3.1.0", - "convert-source-map": "^1.5.0", - "escape-string-regexp": "^4.0.0", - "find-root": "^1.1.0", - "source-map": "^0.5.7", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@emotion/babel-plugin/node_modules/source-map": { - "version": "0.5.7", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@emotion/cache": { - "version": "11.11.0", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "stylis": "4.2.0" - } - }, - "node_modules/@emotion/hash": { - "version": "0.9.1", - "license": "MIT" - }, - "node_modules/@emotion/is-prop-valid": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "@emotion/memoize": "^0.8.1" - } - }, - "node_modules/@emotion/memoize": { - "version": "0.8.1", - "license": "MIT" - }, - "node_modules/@emotion/react": { - "version": "11.11.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", - "hoist-non-react-statics": "^3.3.1" - }, - "peerDependencies": { - "react": ">=16.8.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@emotion/serialize": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", - "csstype": "^3.0.2" - } - }, - "node_modules/@emotion/sheet": { - "version": "1.2.2", - "license": "MIT" - }, - "node_modules/@emotion/stylis": { - "version": "0.8.5", - "license": "MIT" - }, - "node_modules/@emotion/unitless": { - "version": "0.8.1", - "license": "MIT" - }, - "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "license": "MIT", - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@emotion/utils": { - "version": "1.2.1", - "license": "MIT" - }, - "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "license": "MIT" - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.10.tgz", - "integrity": "sha512-Q+mk96KJ+FZ30h9fsJl+67IjNJm3x2eX+GBWGmocAKgzp27cowCOOqSdscX80s0SpdFXZnIv/+1xD1EctFx96Q==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.10.tgz", - "integrity": "sha512-7W0bK7qfkw1fc2viBfrtAEkDKHatYfHzr/jKAHNr9BvkYDXPcC6bodtm8AyLJNNuqClLNaeTLuwURt4PRT9d7w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.10.tgz", - "integrity": "sha512-1X4CClKhDgC3by7k8aOWZeBXQX8dHT5QAMCAQDArCLaYfkppoARvh0fit3X2Qs+MXDngKcHv6XXyQCpY0hkK1Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.10.tgz", - "integrity": "sha512-O/nO/g+/7NlitUxETkUv/IvADKuZXyH4BHf/g/7laqKC4i/7whLpB0gvpPc2zpF0q9Q6FXS3TS75QHac9MvVWw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.10.tgz", - "integrity": "sha512-YSRRs2zOpwypck+6GL3wGXx2gNP7DXzetmo5pHXLrY/VIMsS59yKfjPizQ4lLt5vEI80M41gjm2BxrGZ5U+VMA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.10.tgz", - "integrity": "sha512-alfGtT+IEICKtNE54hbvPg13xGBe4GkVxyGWtzr+yHO7HIiRJppPDhOKq3zstTcVf8msXb/t4eavW3jCDpMSmA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.10.tgz", - "integrity": "sha512-dMtk1wc7FSH8CCkE854GyGuNKCewlh+7heYP/sclpOG6Cectzk14qdUIY5CrKDbkA/OczXq9WesqnPl09mj5dg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.10.tgz", - "integrity": "sha512-G5UPPspryHu1T3uX8WiOEUa6q6OlQh6gNl4CO4Iw5PS+Kg5bVggVFehzXBJY6X6RSOMS8iXDv2330VzaObm4Ag==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.10.tgz", - "integrity": "sha512-j6gUW5aAaPgD416Hk9FHxn27On28H4eVI9rJ4az7oCGTFW48+LcgNDBN+9f8rKZz7EEowo889CPKyeaD0iw9Kg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.10.tgz", - "integrity": "sha512-QxaouHWZ+2KWEj7cGJmvTIHVALfhpGxo3WLmlYfJ+dA5fJB6lDEIg+oe/0//FuyVHuS3l79/wyBxbHr0NgtxJQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.10.tgz", - "integrity": "sha512-4ub1YwXxYjj9h1UIZs2hYbnTZBtenPw5NfXCRgEkGb0b6OJ2gpkMvDqRDYIDRjRdWSe/TBiZltm3Y3Q8SN1xNg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.10.tgz", - "integrity": "sha512-lo3I9k+mbEKoxtoIbM0yC/MZ1i2wM0cIeOejlVdZ3D86LAcFXFRdeuZmh91QJvUTW51bOK5W2BznGNIl4+mDaA==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.10.tgz", - "integrity": "sha512-J4gH3zhHNbdZN0Bcr1QUGVNkHTdpijgx5VMxeetSk6ntdt+vR1DqGmHxQYHRmNb77tP6GVvD+K0NyO4xjd7y4A==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.10.tgz", - "integrity": "sha512-tgT/7u+QhV6ge8wFMzaklOY7KqiyitgT1AUHMApau32ZlvTB/+efeCtMk4eXS+uEymYK249JsoiklZN64xt6oQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.10.tgz", - "integrity": "sha512-0f/spw0PfBMZBNqtKe5FLzBDGo0SKZKvMl5PHYQr3+eiSscfJ96XEknCe+JoOayybWUFQbcJTrk946i3j9uYZA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.10.tgz", - "integrity": "sha512-pZFe0OeskMHzHa9U38g+z8Yx5FNCLFtUnJtQMpwhS+r4S566aK2ci3t4NCP4tjt6d5j5uo4h7tExZMjeKoehAA==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.10.tgz", - "integrity": "sha512-SpYNEqg/6pZYoc+1zLCjVOYvxfZVZj6w0KROZ3Fje/QrM3nfvT2llI+wmKSrWuX6wmZeTapbarvuNNK/qepSgA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.10.tgz", - "integrity": "sha512-ACbZ0vXy9zksNArWlk2c38NdKg25+L9pr/mVaj9SUq6lHZu/35nx2xnQVRGLrC1KKQqJKRIB0q8GspiHI3J80Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.10.tgz", - "integrity": "sha512-PxcgvjdSjtgPMiPQrM3pwSaG4kGphP+bLSb+cihuP0LYdZv1epbAIecHVl5sD3npkfYBZ0ZnOjR878I7MdJDFg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.10.tgz", - "integrity": "sha512-ZkIOtrRL8SEJjr+VHjmW0znkPs+oJXhlJbNwfI37rvgeMtk3sxOQevXPXjmAPZPigVTncvFqLMd+uV0IBSEzqA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.10.tgz", - "integrity": "sha512-+Sa4oTDbpBfGpl3Hn3XiUe4f8TU2JF7aX8cOfqFYMMjXp6ma6NJDztl5FDG8Ezx0OjwGikIHw+iA54YLDNNVfw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.10.tgz", - "integrity": "sha512-EOGVLK1oWMBXgfttJdPHDTiivYSjX6jDNaATeNOaCOFEVcfMjtbx7WVQwPSE1eIfCp/CaSF2nSrDtzc4I9f8TQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.10.tgz", - "integrity": "sha512-whqLG6Sc70AbU73fFYvuYzaE4MNMBIlR1Y/IrUeOXFrWHxBEjjbZaQ3IXIQS8wJdAzue2GwYZCjOrgrU1oUHoA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "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/regexpp": { - "version": "4.8.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "13.21.0", - "dev": true, - "license": "MIT", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/type-fest": { - "version": "0.20.2", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/js": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", - "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@fastify/ajv-compiler": { - "version": "3.5.0", - "license": "MIT", - "dependencies": { - "ajv": "^8.11.0", - "ajv-formats": "^2.1.1", - "fast-uri": "^2.0.0" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/@fastify/deepmerge": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/@fastify/error": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.0.tgz", - "integrity": "sha512-e/mafFwbK3MNqxUcFBLgHhgxsF8UT1m8aj0dAlqEa2nJEgPsRtpHTZ3ObgrgkZ2M1eJHPTwgyUl/tXkvabsZdQ==" - }, - "node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.3.0", - "license": "MIT", - "dependencies": { - "fast-json-stringify": "^5.7.0" - } - }, - "node_modules/@fastify/sensible": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz", - "integrity": "sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==", - "dependencies": { - "@lukeed/ms": "^2.0.1", - "fast-deep-equal": "^3.1.1", - "fastify-plugin": "^4.0.0", - "forwarded": "^0.2.0", - "http-errors": "^2.0.0", - "type-is": "^1.6.18", - "vary": "^1.1.2" - } - }, - "node_modules/@floating-ui/core": { - "version": "1.4.1", - "license": "MIT", - "dependencies": { - "@floating-ui/utils": "^0.1.1" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.5.1", - "license": "MIT", - "dependencies": { - "@floating-ui/core": "^1.4.1", - "@floating-ui/utils": "^0.1.1" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.1.1", - "license": "MIT" - }, - "node_modules/@hello-pangea/dnd": { - "version": "16.3.0", - "license": "Apache-2.0", - "dependencies": { - "@babel/runtime": "^7.22.5", - "css-box-model": "^1.2.1", - "memoize-one": "^6.0.0", - "raf-schd": "^4.0.3", - "react-redux": "^8.1.1", - "redux": "^4.2.1", - "use-memo-one": "^1.1.3" - }, - "peerDependencies": { - "react": "^16.8.5 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.5 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.13", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.13.tgz", - "integrity": "sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz", - "integrity": "sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw==", - "dev": true - }, - "node_modules/@hutson/parse-repository-url": { - "version": "3.0.2", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@hypnosphi/create-react-context": { - "version": "0.3.1", - "license": "MIT", - "dependencies": { - "gud": "^1.0.0", - "warning": "^4.0.3" - }, - "peerDependencies": { - "prop-types": "^15.0.0", - "react": ">=0.14.0" - } - }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@isaacs/cliui/node_modules/strip-ansi": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "license": "MIT", - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.19", - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsdoc/salty": { - "version": "0.2.5", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=v12.0.0" - } - }, - "node_modules/@lukeed/ms": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.1.tgz", - "integrity": "sha512-Xs/4RZltsAL7pkvaNStUQt7netTkyxrS0K+RILcVr3TRMS/ToOg4I6uNfhB9SlGsnWBym4U+EaXq0f0cEMNkHA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "dev": true, - "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", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@pkgr/utils": { - "version": "2.4.2", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "fast-glob": "^3.3.0", - "is-glob": "^4.0.3", - "open": "^9.1.0", - "picocolors": "^1.0.0", - "tslib": "^2.6.0" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@popperjs/core": { - "version": "2.11.8", - "license": "MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/popperjs" - } - }, - "node_modules/@redux-devtools/extension": { - "version": "3.2.5", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.7", - "immutable": "^4.2.2" - }, - "peerDependencies": { - "redux": "^3.1.0 || ^4.0.0" - } - }, - "node_modules/@remirror/core-constants": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/@remirror/core-helpers": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "@remirror/core-constants": "^2.0.2", - "@remirror/types": "^1.0.1", - "@types/object.omit": "^3.0.0", - "@types/object.pick": "^1.3.2", - "@types/throttle-debounce": "^2.1.0", - "case-anything": "^2.1.13", - "dash-get": "^1.0.2", - "deepmerge": "^4.3.1", - "fast-deep-equal": "^3.1.3", - "make-error": "^1.3.6", - "object.omit": "^3.0.0", - "object.pick": "^1.3.0", - "throttle-debounce": "^3.0.1" - } - }, - "node_modules/@remirror/types": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "type-fest": "^2.19.0" - } - }, - "node_modules/@remirror/types/node_modules/type-fest": { - "version": "2.19.0", - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@remix-run/router": { - "version": "1.8.0", - "license": "MIT", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@rollup/plugin-babel": { - "version": "6.0.3", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.18.6", - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0", - "@types/babel__core": "^7.1.9", - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "@types/babel__core": { - "optional": true - }, - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs": { - "version": "24.1.0", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "commondir": "^1.0.1", - "estree-walker": "^2.0.2", - "glob": "^8.0.3", - "is-reference": "1.2.1", - "magic-string": "^0.27.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.68.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-commonjs/node_modules/magic-string": { - "version": "0.27.0", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@rollup/plugin-inject": { - "version": "5.0.3", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "estree-walker": "^2.0.2", - "magic-string": "^0.27.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-inject/node_modules/magic-string": { - "version": "0.27.0", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@rollup/plugin-json": { - "version": "6.0.0", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.2.1", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.78.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-replace": { - "version": "5.0.2", - "license": "MIT", - "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "magic-string": "^0.27.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/plugin-replace/node_modules/magic-string": { - "version": "0.27.0", - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@rollup/plugin-terser": { - "version": "0.4.3", - "license": "MIT", - "dependencies": { - "serialize-javascript": "^6.0.1", - "smob": "^1.0.0", - "terser": "^5.17.4" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^2.x || ^3.x" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.4", - "license": "MIT", - "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.8.0.tgz", - "integrity": "sha512-zdTObFRoNENrdPpnTNnhOljYIcOX7aI7+7wyrSpPFFIOf/nRdedE6IYsjaBE7tjukphh1tMTojgJ7p3lKY8x6Q==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.8.0.tgz", - "integrity": "sha512-aiItwP48BiGpMFS9Znjo/xCNQVwTQVcRKkFKsO81m8exrGjHkCBDvm9PHay2kpa8RPnZzzKcD1iQ9KaLY4fPQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.8.0.tgz", - "integrity": "sha512-zhNIS+L4ZYkYQUjIQUR6Zl0RXhbbA0huvNIWjmPc2SL0cB1h5Djkcy+RZ3/Bwszfb6vgwUvcVJYD6e6Zkpsi8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.8.0.tgz", - "integrity": "sha512-A/FAHFRNQYrELrb/JHncRWzTTXB2ticiRFztP4ggIUAfa9Up1qfW8aG2w/mN9jNiZ+HB0t0u0jpJgFXG6BfRTA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.8.0.tgz", - "integrity": "sha512-JsidBnh3p2IJJA4/2xOF2puAYqbaczB3elZDT0qHxn362EIoIkq7hrR43Xa8RisgI6/WPfvb2umbGsuvf7E37A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.8.0.tgz", - "integrity": "sha512-hBNCnqw3EVCkaPB0Oqd24bv8SklETptQWcJz06kb9OtiShn9jK1VuTgi7o4zPSt6rNGWQOTDEAccbk0OqJmS+g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.8.0.tgz", - "integrity": "sha512-Fw9ChYfJPdltvi9ALJ9wzdCdxGw4wtq4t1qY028b2O7GwB5qLNSGtqMsAel1lfWTZvf4b6/+4HKp0GlSYg0ahA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.8.0.tgz", - "integrity": "sha512-BH5xIh7tOzS9yBi8dFrCTG8Z6iNIGWGltd3IpTSKp6+pNWWO6qy8eKoRxOtwFbMrid5NZaidLYN6rHh9aB8bEw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.8.0.tgz", - "integrity": "sha512-PmvAj8k6EuWiyLbkNpd6BLv5XeYFpqWuRvRNRl80xVfpGXK/z6KYXmAgbI4ogz7uFiJxCnYcqyvZVD0dgFog7Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.8.0.tgz", - "integrity": "sha512-mdxnlW2QUzXwY+95TuxZ+CurrhgrPAMveDWI97EQlA9bfhR8tw3Pt7SUlc/eSlCNxlWktpmT//EAA8UfCHOyXg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.8.0.tgz", - "integrity": "sha512-ge7saUz38aesM4MA7Cad8CHo0Fyd1+qTaqoIo+Jtk+ipBi4ATSrHWov9/S4u5pbEQmLjgUjB7BJt+MiKG2kzmA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.8.0.tgz", - "integrity": "sha512-p9E3PZlzurhlsN5h9g7zIP1DnqKXJe8ZUkFwAazqSvHuWfihlIISPxG9hCHCoA+dOOspL/c7ty1eeEVFTE0UTw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.8.0.tgz", - "integrity": "sha512-kb4/auKXkYKqlUYTE8s40FcJIj5soOyRLHKd4ugR0dCq0G2EfcF54eYcfQiGkHzjidZ40daB4ulsFdtqNKZtBg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@sentry-internal/tracing": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.101.1.tgz", - "integrity": "sha512-ihjWG8x4x0ozx6t+EHoXLKbsPrgzYLCpeBLWyS+M6n3hn6cmHM76c8nZw3ldhUQi5UYL3LFC/JZ50b4oSxtlrg==", - "dependencies": { - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/cli": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz", - "integrity": "sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.7", - "progress": "^2.0.3", - "proxy-from-env": "^1.1.0", - "which": "^2.0.2" - }, - "bin": { - "sentry-cli": "bin/sentry-cli" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@sentry/cli-darwin": "2.28.6", - "@sentry/cli-linux-arm": "2.28.6", - "@sentry/cli-linux-arm64": "2.28.6", - "@sentry/cli-linux-i686": "2.28.6", - "@sentry/cli-linux-x64": "2.28.6", - "@sentry/cli-win32-i686": "2.28.6", - "@sentry/cli-win32-x64": "2.28.6" - } - }, - "node_modules/@sentry/cli-darwin": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.6.tgz", - "integrity": "sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.6.tgz", - "integrity": "sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.6.tgz", - "integrity": "sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-i686": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.6.tgz", - "integrity": "sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==", - "cpu": [ - "x86", - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-x64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz", - "integrity": "sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-win32-i686": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.6.tgz", - "integrity": "sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==", - "cpu": [ - "x86", - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-win32-x64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.6.tgz", - "integrity": "sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/core": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.101.1.tgz", - "integrity": "sha512-XSmXXeYT1d4O14eDF3OXPJFUgaN2qYEeIGUztqPX9nBs9/ij8y/kZOayFqlIMnfGvjOUM+63sy/2xDBOpFn6ug==", - "dependencies": { - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/node": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.101.1.tgz", - "integrity": "sha512-iXSxUT6Zbt/KUY0+fRcW5II6Tgp2zdTfhBW+fQuDt/UUZt7Ypvb+6n4U2oom3LJfttmD7mdjQuT4+vsNImDjTQ==", - "dependencies": { - "@sentry-internal/tracing": "7.101.1", - "@sentry/core": "7.101.1", - "@sentry/types": "7.101.1", - "@sentry/utils": "7.101.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/profiling-node": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.101.1.tgz", - "integrity": "sha512-buM+HZZW7jf3mqJgByVGPwytvmHcbjxRT8CkjO5UDO7stRTsq3iT/hK7qt0bQEDQwhmKeVCvfqryg2nKkPq3RA==", - "hasInstallScript": true, - "dependencies": { - "detect-libc": "^2.0.2", - "node-abi": "^3.52.0" - }, - "bin": { - "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@sentry/types": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.101.1.tgz", - "integrity": "sha512-bwtkQvrCZ6JGc7vqX7TEAKBgkbQFORt84FFS3JQQb8G3efTt9fZd2ReY4buteKQdlALl8h1QWVngTLmI+kyUuw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/utils": { - "version": "7.101.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.101.1.tgz", - "integrity": "sha512-Nrg0nrEI3nrOCd9SLJ/WGzxS5KMQE4cryLOvrDcHJRWpsSyGBF1hLLerk84Nsw/0myMsn7zTYU+xoq7idNsX5A==", - "dependencies": { - "@sentry/types": "7.101.1" - }, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/@styled-system/background": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/border": { - "version": "5.1.5", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/color": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/core": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "object-assign": "^4.1.1" - } - }, - "node_modules/@styled-system/css": { - "version": "5.1.5", - "license": "MIT" - }, - "node_modules/@styled-system/flexbox": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/grid": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/layout": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/position": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/shadow": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/space": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/typography": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2" - } - }, - "node_modules/@styled-system/variant": { - "version": "5.1.5", - "license": "MIT", - "dependencies": { - "@styled-system/core": "^5.1.2", - "@styled-system/css": "^5.1.5" - } - }, - "node_modules/@tiptap/core": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-blockquote": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-bold": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-bubble-menu": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "tippy.js": "^6.3.7" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-bullet-list": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-character-count": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-code": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-code-block": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-document": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-dropcursor": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-floating-menu": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "tippy.js": "^6.3.7" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-gapcursor": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-hard-break": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-heading": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-history": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-horizontal-rule": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-image": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-italic": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-link": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "linkifyjs": "^4.1.0" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-list-item": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-ordered-list": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-paragraph": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-strike": { - "version": "2.1.8", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-table": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-table-cell": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-table-header": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-table-row": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-text": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-text-align": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/extension-typography": { - "version": "2.0.1", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/pm": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "prosemirror-changeset": "^2.2.0", - "prosemirror-collab": "^1.3.0", - "prosemirror-commands": "^1.3.1", - "prosemirror-dropcursor": "^1.5.0", - "prosemirror-gapcursor": "^1.3.1", - "prosemirror-history": "^1.3.0", - "prosemirror-inputrules": "^1.2.0", - "prosemirror-keymap": "^1.2.0", - "prosemirror-markdown": "^1.10.1", - "prosemirror-menu": "^1.2.1", - "prosemirror-model": "^1.18.1", - "prosemirror-schema-basic": "^1.2.0", - "prosemirror-schema-list": "^1.2.2", - "prosemirror-state": "^1.4.1", - "prosemirror-tables": "^1.3.0", - "prosemirror-trailing-node": "^2.0.2", - "prosemirror-transform": "^1.7.0", - "prosemirror-view": "^1.28.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0" - } - }, - "node_modules/@tiptap/react": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "@tiptap/extension-bubble-menu": "^2.0.1", - "@tiptap/extension-floating-menu": "^2.0.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - }, - "peerDependencies": { - "@tiptap/core": "^2.0.0", - "@tiptap/pm": "^2.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - } - }, - "node_modules/@tiptap/starter-kit": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "@tiptap/core": "^2.0.1", - "@tiptap/extension-blockquote": "^2.0.1", - "@tiptap/extension-bold": "^2.0.1", - "@tiptap/extension-bullet-list": "^2.0.1", - "@tiptap/extension-code": "^2.0.1", - "@tiptap/extension-code-block": "^2.0.1", - "@tiptap/extension-document": "^2.0.1", - "@tiptap/extension-dropcursor": "^2.0.1", - "@tiptap/extension-gapcursor": "^2.0.1", - "@tiptap/extension-hard-break": "^2.0.1", - "@tiptap/extension-heading": "^2.0.1", - "@tiptap/extension-history": "^2.0.1", - "@tiptap/extension-horizontal-rule": "^2.0.1", - "@tiptap/extension-italic": "^2.0.1", - "@tiptap/extension-list-item": "^2.0.1", - "@tiptap/extension-ordered-list": "^2.0.1", - "@tiptap/extension-paragraph": "^2.0.1", - "@tiptap/extension-strike": "^2.0.1", - "@tiptap/extension-text": "^2.0.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/ueberdosis" - } - }, - "node_modules/@tsconfig/node-lts": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz", - "integrity": "sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==", - "dev": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "license": "MIT" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "license": "MIT" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "license": "MIT" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "license": "MIT" - }, - "node_modules/@tsconfig/node20": { - "version": "20.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/chai": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", - "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", - "dev": true - }, - "node_modules/@types/debug": { - "version": "4.1.8", - "license": "MIT", - "dependencies": { - "@types/ms": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.44.2", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/@types/hoist-non-react-statics": { - "version": "3.3.1", - "license": "MIT", - "dependencies": { - "@types/react": "*", - "hoist-non-react-statics": "^3.3.0" - } - }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.12", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/linkify-it": { - "version": "3.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/markdown-it": { - "version": "12.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/minimist": { - "version": "1.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ms": { - "version": "0.7.31", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "20.11.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.19.tgz", - "integrity": "sha512-7xMnVEcZFu0DikYjWOlRq7NTPETrm7teqUT2WkQjrTIkEgUyyGdWsj/Zg8bEJt5TNklzbPD1X3fqfsHw3SpapQ==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/object.omit": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/@types/object.pick": { - "version": "1.3.2", - "license": "MIT" - }, - "node_modules/@types/parse-json": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/@types/prop-types": { - "version": "15.7.5", - "license": "MIT" - }, - "node_modules/@types/react": { - "version": "18.2.21", - "license": "MIT", - "dependencies": { - "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-transition-group": { - "version": "4.4.6", - "license": "MIT", - "dependencies": { - "@types/react": "*" - } - }, - "node_modules/@types/resolve": { - "version": "1.20.2", - "license": "MIT" - }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "license": "MIT" - }, - "node_modules/@types/semver": { - "version": "7.5.7", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", - "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", - "dev": true - }, - "node_modules/@types/sinon": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", - "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", - "dev": true, - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinon-chai": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", - "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", - "dev": true, - "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/throttle-debounce": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/@types/use-sync-external-store": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/@types/validator": { - "version": "13.11.1", - "license": "MIT" - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.0.2.tgz", - "integrity": "sha512-/XtVZJtbaphtdrWjr+CJclaCVGPtOdBpFEnvtNf/jRV0IiEemRrL0qABex/nEt8isYcnFacm3nPHYQwL+Wb7qg==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.0.2", - "@typescript-eslint/type-utils": "7.0.2", - "@typescript-eslint/utils": "7.0.2", - "@typescript-eslint/visitor-keys": "7.0.2", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^7.0.0", - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.0.2.tgz", - "integrity": "sha512-GdwfDglCxSmU+QTS9vhz2Sop46ebNCXpPPvsByK7hu0rFGRHL+AusKQJ7SoN+LbLh6APFpQwHKmDSwN35Z700Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "7.0.2", - "@typescript-eslint/types": "7.0.2", - "@typescript-eslint/typescript-estree": "7.0.2", - "@typescript-eslint/visitor-keys": "7.0.2", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.0.2.tgz", - "integrity": "sha512-l6sa2jF3h+qgN2qUMjVR3uCNGjWw4ahGfzIYsCtFrQJCjhbrDPdiihYT8FnnqFwsWX+20hK592yX9I2rxKTP4g==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.0.2", - "@typescript-eslint/visitor-keys": "7.0.2" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.0.2.tgz", - "integrity": "sha512-IKKDcFsKAYlk8Rs4wiFfEwJTQlHcdn8CLwLaxwd6zb8HNiMcQIFX9sWax2k4Cjj7l7mGS5N1zl7RCHOVwHq2VQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "7.0.2", - "@typescript-eslint/utils": "7.0.2", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.0.2.tgz", - "integrity": "sha512-ZzcCQHj4JaXFjdOql6adYV4B/oFOFjPOC9XYwCaZFRvqN8Llfvv4gSxrkQkd2u4Ci62i2c6W6gkDwQJDaRc4nA==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.0.2.tgz", - "integrity": "sha512-3AMc8khTcELFWcKcPc0xiLviEvvfzATpdPj/DXuOGIdQIIFybf4DMT1vKRbuAEOFMwhWt7NFLXRkbjsvKZQyvw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.0.2", - "@typescript-eslint/visitor-keys": "7.0.2", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.0.2.tgz", - "integrity": "sha512-PZPIONBIB/X684bhT1XlrkjNZJIEevwkKDsdwfiu1WeqBxYEEdIgVDgm8/bbKHVu+6YOpeRqcfImTdImx/4Bsw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.0.2", - "@typescript-eslint/types": "7.0.2", - "@typescript-eslint/typescript-estree": "7.0.2", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.56.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.0.2.tgz", - "integrity": "sha512-8Y+YiBmqPighbm5xA2k4wKTxRzx9EkBu7Rlw+WHqMvRJ3RPz/BMBO9b2ru0LUNmXg120PHUXD5+SWFy2R8DqlQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "7.0.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitest/coverage-v8": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.0.tgz", - "integrity": "sha512-e5Y5uK5NNoQMQaNitGQQjo9FoA5ZNcu7Bn6pH+dxUf48u6po1cX38kFBYUHZ9GNVkF4JLbncE0WeWwTw+nLrxg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.1", - "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "vitest": "1.3.0" - } - }, - "node_modules/@vitest/expect": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.0.tgz", - "integrity": "sha512-7bWt0vBTZj08B+Ikv70AnLRicohYwFgzNjFqo9SxxqHHxSlUJGSXmCRORhOnRMisiUryKMdvsi1n27Bc6jL9DQ==", - "dev": true, - "dependencies": { - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", - "chai": "^4.3.10" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.0.tgz", - "integrity": "sha512-1Jb15Vo/Oy7mwZ5bXi7zbgszsdIBNjc4IqP8Jpr/8RdBC4nF1CTzIAn2dxYvpF1nGSseeL39lfLQ2uvs5u1Y9A==", - "dev": true, - "dependencies": { - "@vitest/utils": "1.3.0", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/runner/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/snapshot": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.0.tgz", - "integrity": "sha512-swmktcviVVPYx9U4SEQXLV6AEY51Y6bZ14jA2yo6TgMxQ3h+ZYiO0YhAHGJNp0ohCFbPAis1R9kK0cvN6lDPQA==", - "dev": true, - "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.0.tgz", - "integrity": "sha512-AkCU0ThZunMvblDpPKgjIi025UxR8V7MZ/g/EwmAGpjIujLVV2X6rGYGmxE2D4FJbAy0/ijdROHMWa2M/6JVMw==", - "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.0.tgz", - "integrity": "sha512-/LibEY/fkaXQufi4GDlQZhikQsPO2entBKtfuyIpr1jV4DpaeasqkeHjhdOhU24vSHshcSuEyVlWdzvv2XmYCw==", - "dev": true, - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils/node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/abstract-logging": { - "version": "2.0.1", - "license": "MIT" - }, - "node_modules/acorn": { - "version": "8.10.0", - "license": "MIT", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "dev": true, - "license": "MIT", - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/add-stream": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/adminjs": { - "version": "7.5.12", - "resolved": "https://registry.npmjs.org/adminjs/-/adminjs-7.5.12.tgz", - "integrity": "sha512-vCHA3AWDSWR9XRCZLFpbReuSSpF5VjdALQUmxitX7Azh2zmeOxsY1TFK/xWsDeBkkS9asivCKMNNEsOn26KhJA==", - "dependencies": { - "@adminjs/design-system": "^4.0.0", - "@babel/core": "^7.21.0", - "@babel/parser": "^7.21.0", - "@babel/plugin-syntax-import-assertions": "^7.20.0", - "@babel/plugin-transform-runtime": "^7.21.0", - "@babel/preset-env": "^7.20.2", - "@babel/preset-react": "^7.18.6", - "@babel/preset-typescript": "^7.21.0", - "@babel/register": "^7.21.0", - "@hello-pangea/dnd": "^16.2.0", - "@redux-devtools/extension": "^3.2.5", - "@rollup/plugin-babel": "^6.0.3", - "@rollup/plugin-commonjs": "^24.0.1", - "@rollup/plugin-json": "^6.0.0", - "@rollup/plugin-node-resolve": "^15.0.1", - "@rollup/plugin-replace": "^5.0.2", - "@rollup/plugin-terser": "^0.4.0", - "axios": "^1.3.4", - "commander": "^10.0.0", - "flat": "^5.0.2", - "i18next": "^22.4.13", - "i18next-browser-languagedetector": "^7.0.1", - "i18next-http-backend": "^2.2.0", - "lodash": "^4.17.21", - "ora": "^6.2.0", - "prop-types": "^15.8.1", - "punycode": "^2.3.0", - "qs": "^6.11.1", - "react": "^18.2.0", - "react-dom": "^18.2.0", - "react-feather": "^2.0.10", - "react-i18next": "^12.2.0", - "react-is": "^18.2.0", - "react-redux": "^8.0.5", - "react-router": "^6.9.0", - "react-router-dom": "^6.9.0", - "redux": "^4.2.1", - "rollup": "^3.15.0", - "rollup-plugin-polyfill-node": "^0.12.0", - "slash": "^5.0.0", - "uuid": "^9.0.0", - "xss": "^1.0.14" - }, - "bin": { - "admin": "cli.js" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "license": "MIT", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/ansi-escapes": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-6.2.0.tgz", - "integrity": "sha512-kzRaCqXnpzWs+3z5ABPQiVke+iq0KXkHo8xiWV4RPTi5Yli0l97BEQuhXV1s7+aSU/fu1kUuxgS4MsQ0fRuygw==", - "dev": true, - "dependencies": { - "type-fest": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "license": "MIT", - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/archy": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/arg": { - "version": "4.1.3", - "license": "MIT" - }, - "node_modules/argparse": { - "version": "2.0.1", - "license": "Python-2.0" - }, - "node_modules/array-ify": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/arrify": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/asynckit": { - "version": "0.4.0", - "license": "MIT" - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/avvio": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", - "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", - "dependencies": { - "@fastify/error": "^3.3.0", - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.17.1" - } - }, - "node_modules/axios": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.2.tgz", - "integrity": "sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A==", - "dependencies": { - "follow-redirects": "^1.15.0", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, - "node_modules/babel-plugin-macros": { - "version": "3.1.0", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.5", - "cosmiconfig": "^7.0.0", - "resolve": "^1.19.0" - }, - "engines": { - "node": ">=10", - "npm": ">=6" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.5", - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.4.2", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.8.3", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2", - "core-js-compat": "^3.31.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.2", - "license": "MIT", - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.4.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-styled-components": { - "version": "2.1.4", - "license": "MIT", - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-module-imports": "^7.22.5", - "@babel/plugin-syntax-jsx": "^7.22.5", - "lodash": "^4.17.21", - "picomatch": "^2.3.1" - }, - "peerDependencies": { - "styled-components": ">= 2" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/base64-js": { - "version": "1.5.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/big-integer": { - "version": "1.6.51", - "dev": true, - "license": "Unlicense", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/bl": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "buffer": "^6.0.3", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "dev": true, - "license": "MIT" - }, - "node_modules/bplist-parser": { - "version": "0.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "big-integer": "^1.6.44" - }, - "engines": { - "node": ">= 5.10.0" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.21.10", - "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.30001517", - "electron-to-chromium": "^1.4.477", - "node-releases": "^2.0.13", - "update-browserslist-db": "^1.0.11" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT", - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "license": "MIT" - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/bundle-name": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "run-applescript": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/call-bind": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz", - "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==", - "dependencies": { - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.1", - "set-function-length": "^1.1.1" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase-keys": { - "version": "6.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "camelcase": "^5.3.1", - "map-obj": "^4.0.0", - "quick-lru": "^4.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/camelize": { - "version": "1.0.1", - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001528", - "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/case-anything": { - "version": "2.1.13", - "license": "MIT", - "engines": { - "node": ">=12.13" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/catharsis": { - "version": "0.9.0", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/chai": { - "version": "4.3.10", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.3.10.tgz", - "integrity": "sha512-0UXG04VuVbruMUYbJ6JctvH0YnC/4q3/AkT18q4NaITo91CUm0liMS9VqzT9vZhVQ/1eqPanMWjBM+Juhfb/9g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chalk": { - "version": "2.4.2", - "license": "MIT", - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/classnames": { - "version": "2.3.2", - "license": "MIT" - }, - "node_modules/cli-cursor": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "restore-cursor": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", - "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", - "dev": true, - "dependencies": { - "slice-ansi": "^5.0.0", - "string-width": "^7.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/cli-truncate/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-truncate/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/cliui": { - "version": "7.0.4", - "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/cliui/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/cliui/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/wrap-ansi": { - "version": "7.0.0", - "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/clone": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "license": "MIT", - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "license": "MIT" - }, - "node_modules/colorette": { - "version": "2.0.20", - "dev": true, - "license": "MIT" - }, - "node_modules/combined-stream": { - "version": "1.0.8", - "license": "MIT", - "dependencies": { - "delayed-stream": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/commander": { - "version": "10.0.1", - "license": "MIT", - "engines": { - "node": ">=14" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/commondir": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/compare-func": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "array-ify": "^1.0.0", - "dot-prop": "^5.1.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "dev": true, - "engines": [ - "node >= 6.0" - ], - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/conventional-changelog": { - "version": "3.1.25", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-changelog-angular": "^5.0.12", - "conventional-changelog-atom": "^2.0.8", - "conventional-changelog-codemirror": "^2.0.8", - "conventional-changelog-conventionalcommits": "^4.5.0", - "conventional-changelog-core": "^4.2.1", - "conventional-changelog-ember": "^2.0.9", - "conventional-changelog-eslint": "^3.0.9", - "conventional-changelog-express": "^2.0.6", - "conventional-changelog-jquery": "^3.0.11", - "conventional-changelog-jshint": "^2.0.9", - "conventional-changelog-preset-loader": "^2.3.4" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-angular": { - "version": "5.0.13", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-atom": { - "version": "2.0.8", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-codemirror": { - "version": "2.0.8", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-config-spec": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/conventional-changelog-conventionalcommits": { - "version": "4.6.3", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0", - "lodash": "^4.17.15", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-core": { - "version": "4.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "add-stream": "^1.0.0", - "conventional-changelog-writer": "^5.0.0", - "conventional-commits-parser": "^3.2.0", - "dateformat": "^3.0.0", - "get-pkg-repo": "^4.0.0", - "git-raw-commits": "^2.0.8", - "git-remote-origin-url": "^2.0.0", - "git-semver-tags": "^4.1.1", - "lodash": "^4.17.15", - "normalize-package-data": "^3.0.0", - "q": "^1.5.1", - "read-pkg": "^3.0.0", - "read-pkg-up": "^3.0.0", - "through2": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-ember": { - "version": "2.0.9", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-eslint": { - "version": "3.0.9", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-express": { - "version": "2.0.6", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jquery": { - "version": "3.0.11", - "dev": true, - "license": "ISC", - "dependencies": { - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-jshint": { - "version": "2.0.9", - "dev": true, - "license": "ISC", - "dependencies": { - "compare-func": "^2.0.0", - "q": "^1.5.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-preset-loader": { - "version": "2.3.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "conventional-commits-filter": "^2.0.7", - "dateformat": "^3.0.0", - "handlebars": "^4.7.7", - "json-stringify-safe": "^5.0.1", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "semver": "^6.0.0", - "split": "^1.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-changelog-writer": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-changelog-writer/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/conventional-commits-filter": { - "version": "2.0.7", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash.ismatch": "^4.4.0", - "modify-values": "^1.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser": { - "version": "3.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "is-text-path": "^1.0.1", - "JSONStream": "^1.0.4", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "conventional-commits-parser": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/conventional-commits-parser/node_modules/split2": { - "version": "3.2.2", - "dev": true, - "license": "ISC", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/conventional-recommended-bump": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "concat-stream": "^2.0.0", - "conventional-changelog-preset-loader": "^2.3.4", - "conventional-commits-filter": "^2.0.7", - "conventional-commits-parser": "^3.2.0", - "git-raw-commits": "^2.0.8", - "git-semver-tags": "^4.1.1", - "meow": "^8.0.0", - "q": "^1.5.1" - }, - "bin": { - "conventional-recommended-bump": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "license": "MIT" - }, - "node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/core-js-compat": { - "version": "3.32.2", - "license": "MIT", - "dependencies": { - "browserslist": "^4.21.10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "dev": true, - "license": "MIT" - }, - "node_modules/cosmiconfig": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/cosmiconfig/node_modules/yaml": { - "version": "1.10.2", - "license": "ISC", - "engines": { - "node": ">= 6" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "license": "MIT" - }, - "node_modules/crelt": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/cross-fetch": { - "version": "3.1.6", - "license": "MIT", - "dependencies": { - "node-fetch": "^2.6.11" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-box-model": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "tiny-invariant": "^1.0.6" - } - }, - "node_modules/css-color-keywords": { - "version": "1.0.0", - "license": "ISC", - "engines": { - "node": ">=4" - } - }, - "node_modules/css-to-react-native": { - "version": "3.2.0", - "license": "MIT", - "dependencies": { - "camelize": "^1.0.0", - "css-color-keywords": "^1.0.0", - "postcss-value-parser": "^4.0.2" - } - }, - "node_modules/cssfilter": { - "version": "0.0.10", - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.1.2", - "license": "MIT" - }, - "node_modules/dargs": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/dash-get": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/date-fns": { - "version": "2.30.0", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.21.0" - }, - "engines": { - "node": ">=0.11" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/date-fns" - } - }, - "node_modules/dateformat": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "license": "MIT", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decamelize": { - "version": "1.2.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/decamelize-keys": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "decamelize": "^1.1.0", - "map-obj": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/decamelize-keys/node_modules/map-obj": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/deepmerge": { - "version": "4.3.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/default-browser": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bundle-name": "^3.0.0", - "default-browser-id": "^3.0.0", - "execa": "^7.1.1", - "titleize": "^3.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/default-browser-id": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "bplist-parser": "^0.2.0", - "untildify": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "license": "MIT", - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz", - "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==", - "dependencies": { - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/define-lazy-prop": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/depd": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/detect-indent": { - "version": "6.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/detect-newline": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.3.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, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "dev": true, - "license": "MIT" - }, - "node_modules/doctrine": { - "version": "3.0.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, - "node_modules/dot-prop": { - "version": "5.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-obj": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dotgitignore": { - "version": "2.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "find-up": "^3.0.0", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/find-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/locate-path": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/dotgitignore/node_modules/p-locate": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dotgitignore/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/dottie": { - "version": "2.0.6", - "license": "MIT" - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/electron-to-chromium": { - "version": "1.4.510", - "license": "ISC" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "dev": true, - "license": "MIT" - }, - "node_modules/encoding": { - "version": "0.1.13", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/entities": { - "version": "3.0.1", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "license": "MIT", - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/esbuild": { - "version": "0.19.10", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.10.tgz", - "integrity": "sha512-S1Y27QGt/snkNYrRcswgRFqZjaTG5a5xM3EQo97uNBnH505pdzSNe/HLBq1v0RO7iK/ngdbhJB6mDAp0OK+iUA==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.10", - "@esbuild/android-arm": "0.19.10", - "@esbuild/android-arm64": "0.19.10", - "@esbuild/android-x64": "0.19.10", - "@esbuild/darwin-arm64": "0.19.10", - "@esbuild/darwin-x64": "0.19.10", - "@esbuild/freebsd-arm64": "0.19.10", - "@esbuild/freebsd-x64": "0.19.10", - "@esbuild/linux-arm": "0.19.10", - "@esbuild/linux-arm64": "0.19.10", - "@esbuild/linux-ia32": "0.19.10", - "@esbuild/linux-loong64": "0.19.10", - "@esbuild/linux-mips64el": "0.19.10", - "@esbuild/linux-ppc64": "0.19.10", - "@esbuild/linux-riscv64": "0.19.10", - "@esbuild/linux-s390x": "0.19.10", - "@esbuild/linux-x64": "0.19.10", - "@esbuild/netbsd-x64": "0.19.10", - "@esbuild/openbsd-x64": "0.19.10", - "@esbuild/sunos-x64": "0.19.10", - "@esbuild/win32-arm64": "0.19.10", - "@esbuild/win32-ia32": "0.19.10", - "@esbuild/win32-x64": "0.19.10" - } - }, - "node_modules/escalade": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-regexp": { - "version": "0.0.1" - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint": { - "version": "8.56.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", - "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "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.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "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" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.3.tgz", - "integrity": "sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "7.2.2", - "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" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "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/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/eslint/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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/eslint/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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "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 - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/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, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/eslint/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==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/espree": { - "version": "9.6.1", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "dev": true, - "license": "BSD-2-Clause", - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "2.0.2", - "license": "MIT" - }, - "node_modules/esutils": { - "version": "2.0.3", - "license": "BSD-2-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/eventemitter3": { - "version": "5.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.1", - "human-signals": "^4.3.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^3.0.7", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": "^14.18.0 || ^16.14.0 || >=18.0.0" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/fast-content-type-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", - "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" - }, - "node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "license": "MIT" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-json-stringify": { - "version": "5.8.0", - "license": "MIT", - "dependencies": { - "@fastify/deepmerge": "^1.0.0", - "ajv": "^8.10.0", - "ajv-formats": "^2.1.1", - "fast-deep-equal": "^3.1.3", - "fast-uri": "^2.1.0", - "rfdc": "^1.2.0" - } - }, - "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.12.0", - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-querystring": { - "version": "1.1.2", - "license": "MIT", - "dependencies": { - "fast-decode-uri-component": "^1.0.1" - } - }, - "node_modules/fast-redact": { - "version": "3.3.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-uri": { - "version": "2.2.0", - "license": "MIT" - }, - "node_modules/fastify": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz", - "integrity": "sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "dependencies": { - "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.4.0", - "@fastify/fast-json-stringify-compiler": "^4.3.0", - "abstract-logging": "^2.0.1", - "avvio": "^8.3.0", - "fast-content-type-parse": "^1.1.0", - "fast-json-stringify": "^5.8.0", - "find-my-way": "^8.0.0", - "light-my-request": "^5.11.0", - "pino": "^8.17.0", - "process-warning": "^3.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.3.0", - "secure-json-parse": "^2.7.0", - "semver": "^7.5.4", - "toad-cache": "^3.3.0" - } - }, - "node_modules/fastify-plugin": { - "version": "4.5.1", - "license": "MIT" - }, - "node_modules/fastify/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/file-entry-cache": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-cache-dir": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/find-my-way": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz", - "integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-querystring": "^1.0.0", - "safe-regex2": "^2.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/find-root": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/find-up": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "license": "BSD-3-Clause", - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flat-cache": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "flatted": "^3.2.7", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/flat-cache/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flat-cache/node_modules/rimraf": { - "version": "3.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/flatted": { - "version": "3.2.7", - "dev": true, - "license": "ISC" - }, - "node_modules/follow-redirects": { - "version": "1.15.2", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "license": "MIT", - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "dev": true, - "license": "ISC", - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/node_modules/signal-exit": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/form-data": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.8", - "mime-types": "^2.1.12" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "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==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "dev": true, - "license": "ISC", - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-east-asian-width": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.2.0.tgz", - "integrity": "sha512-2nk+7SIVb14QrgXFHcm84tD4bKQz0RxPuMT8Ag5KPOq7J5fEmAg0UbXdTOSHqNuHSU28k55qnceesxXRZGzKWA==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz", - "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==", - "dependencies": { - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-pkg-repo": { - "version": "4.2.1", - "dev": true, - "license": "MIT", - "dependencies": { - "@hutson/parse-repository-url": "^3.0.0", - "hosted-git-info": "^4.0.0", - "through2": "^2.0.0", - "yargs": "^16.2.0" - }, - "bin": { - "get-pkg-repo": "src/cli.js" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-pkg-repo/node_modules/readable-stream": { - "version": "2.3.8", - "dev": true, - "license": "MIT", - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/get-pkg-repo/node_modules/safe-buffer": { - "version": "5.1.2", - "dev": true, - "license": "MIT" - }, - "node_modules/get-pkg-repo/node_modules/string_decoder": { - "version": "1.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/get-pkg-repo/node_modules/through2": { - "version": "2.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/git-raw-commits": { - "version": "2.0.11", - "dev": true, - "license": "MIT", - "dependencies": { - "dargs": "^7.0.0", - "lodash": "^4.17.15", - "meow": "^8.0.0", - "split2": "^3.0.0", - "through2": "^4.0.0" - }, - "bin": { - "git-raw-commits": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-raw-commits/node_modules/split2": { - "version": "3.2.2", - "dev": true, - "license": "ISC", - "dependencies": { - "readable-stream": "^3.0.0" - } - }, - "node_modules/git-remote-origin-url": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "gitconfiglocal": "^1.0.0", - "pify": "^2.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/git-remote-origin-url/node_modules/pify": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/git-semver-tags": { - "version": "4.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "meow": "^8.0.0", - "semver": "^6.0.0" - }, - "bin": { - "git-semver-tags": "cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/git-semver-tags/node_modules/semver": { - "version": "6.3.1", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/gitconfiglocal": { - "version": "1.0.0", - "dev": true, - "license": "BSD", - "dependencies": { - "ini": "^1.3.2" - } - }, - "node_modules/glob": { - "version": "8.1.0", - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "2.0.1", - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "5.1.6", - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby/node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "dev": true, - "license": "ISC" - }, - "node_modules/graphemer": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/gud": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/handlebars": { - "version": "4.7.8", - "dev": true, - "license": "MIT", - "dependencies": { - "minimist": "^1.2.5", - "neo-async": "^2.6.2", - "source-map": "^0.6.1", - "wordwrap": "^1.0.0" - }, - "bin": { - "handlebars": "bin/handlebars" - }, - "engines": { - "node": ">=0.4.7" - }, - "optionalDependencies": { - "uglify-js": "^3.1.4" - } - }, - "node_modules/hard-rejection": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/has": { - "version": "1.0.3", - "license": "MIT", - "dependencies": { - "function-bind": "^1.1.1" - }, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-flag": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz", - "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==", - "dependencies": { - "get-intrinsic": "^1.2.2" - }, - "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", - "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", - "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hoist-non-react-statics": { - "version": "3.3.2", - "license": "BSD-3-Clause", - "dependencies": { - "react-is": "^16.7.0" - } - }, - "node_modules/hoist-non-react-statics/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/hosted-git-info": { - "version": "4.1.0", - "dev": true, - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/hosted-git-info/node_modules/yallist": { - "version": "4.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/html-parse-stringify": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "void-elements": "3.1.0" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "4.3.1", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/husky": { - "version": "9.0.11", - "resolved": "https://registry.npmjs.org/husky/-/husky-9.0.11.tgz", - "integrity": "sha512-AB6lFlbwwyIqMdHYhwPe+kjOC3Oc5P3nThEoW/AaO2BX3vJDjWPFxYLxokUZOo6RNX20He3AaT8sESs9NJcmEw==", - "dev": true, - "bin": { - "husky": "bin.mjs" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/typicode" - } - }, - "node_modules/i18next": { - "version": "22.5.1", - "funding": [ - { - "type": "individual", - "url": "https://locize.com" - }, - { - "type": "individual", - "url": "https://locize.com/i18next.html" - }, - { - "type": "individual", - "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" - } - ], - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.6" - } - }, - "node_modules/i18next-browser-languagedetector": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.19.4" - } - }, - "node_modules/i18next-http-backend": { - "version": "2.2.2", - "license": "MIT", - "dependencies": { - "cross-fetch": "3.1.6" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "BSD-3-Clause" - }, - "node_modules/ignore": { - "version": "5.2.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 4" - } - }, - "node_modules/immutable": { - "version": "4.3.4", - "license": "MIT" - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "license": "MIT", - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/inflection": { - "version": "1.13.4", - "engines": [ - "node >= 0.4.0" - ], - "license": "MIT" - }, - "node_modules/inflight": { - "version": "1.0.6", - "license": "ISC", - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "license": "ISC" - }, - "node_modules/ini": { - "version": "1.3.8", - "dev": true, - "license": "ISC" - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "license": "MIT" - }, - "node_modules/is-builtin-module": { - "version": "3.2.1", - "license": "MIT", - "dependencies": { - "builtin-modules": "^3.3.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-core-module": { - "version": "2.13.0", - "license": "MIT", - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extendable": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "is-plain-object": "^2.0.4" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", - "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-inside-container": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^3.0.0" - }, - "bin": { - "is-inside-container": "cli.js" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-interactive": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-module": { - "version": "1.0.0", - "license": "MIT" - }, - "node_modules/is-number": { - "version": "7.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-obj": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/is-plain-obj": { - "version": "1.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-reference": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "@types/estree": "*" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-text-path": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "text-extensions": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-unicode-supported": { - "version": "1.3.0", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-wsl/node_modules/is-docker": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/isexe": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/isobject": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "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/has-flag": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/make-dir": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-source-maps": { - "version": "4.0.1", - "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-reports": { - "version": "3.1.6", - "dev": true, - "license": "BSD-3-Clause", - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "license": "MIT" - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js2xmlparser": { - "version": "4.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "xmlcreate": "^2.0.4" - } - }, - "node_modules/jsdoc": { - "version": "4.0.2", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "bin": { - "jsdoc": "jsdoc.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsdoc/node_modules/entities": { - "version": "2.1.0", - "dev": true, - "license": "BSD-2-Clause", - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/jsdoc/node_modules/escape-string-regexp": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/jsdoc/node_modules/linkify-it": { - "version": "3.0.3", - "dev": true, - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/jsdoc/node_modules/markdown-it": { - "version": "12.3.2", - "dev": true, - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/jsesc": { - "version": "2.5.2", - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-better-errors": { - "version": "1.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "license": "MIT" - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stringify-safe": { - "version": "5.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/json5": { - "version": "2.2.3", - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "dev": true, - "engines": [ - "node >= 0.2.0" - ], - "license": "MIT" - }, - "node_modules/JSONStream": { - "version": "1.3.5", - "dev": true, - "license": "(MIT OR Apache-2.0)", - "dependencies": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - }, - "bin": { - "JSONStream": "bin.js" - }, - "engines": { - "node": "*" - } - }, - "node_modules/jw-paginate": { - "version": "1.0.4", - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.3", - "dev": true, - "license": "MIT", - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klaw": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.9" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/light-my-request": { - "version": "5.11.0", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.0.tgz", - "integrity": "sha512-qkFCeloXCOMpmEdZ/MV91P8AT4fjwFXWaAFz3lUeStM8RcoM1ks4J/F8r1b3r6y/H4u3ACEJ1T+Gv5bopj7oDA==", - "dependencies": { - "cookie": "^0.5.0", - "process-warning": "^2.0.0", - "set-cookie-parser": "^2.4.1" - } - }, - "node_modules/lilconfig": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.0.0.tgz", - "integrity": "sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "license": "MIT" - }, - "node_modules/linkify-it": { - "version": "4.0.1", - "license": "MIT", - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/linkifyjs": { - "version": "4.1.1", - "license": "MIT" - }, - "node_modules/lint-staged": { - "version": "15.2.2", - "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-15.2.2.tgz", - "integrity": "sha512-TiTt93OPh1OZOsb5B7k96A/ATl2AjIZo+vnzFZ6oHK5FuTk63ByDtxGQpHm+kFETjEWqgkF95M8FRXKR/LEBcw==", - "dev": true, - "dependencies": { - "chalk": "5.3.0", - "commander": "11.1.0", - "debug": "4.3.4", - "execa": "8.0.1", - "lilconfig": "3.0.0", - "listr2": "8.0.1", - "micromatch": "4.0.5", - "pidtree": "0.6.0", - "string-argv": "0.3.2", - "yaml": "2.3.4" - }, - "bin": { - "lint-staged": "bin/lint-staged.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "url": "https://opencollective.com/lint-staged" - } - }, - "node_modules/lint-staged/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/commander": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", - "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/lint-staged/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/lint-staged/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lint-staged/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/lint-staged/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/listr2": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/listr2/-/listr2-8.0.1.tgz", - "integrity": "sha512-ovJXBXkKGfq+CwmKTjluEqFi3p4h8xvkxGQQAQan22YCgef4KZ1mKGjzfGh6PL6AW5Csw0QiQPNuQyH+6Xk3hA==", - "dev": true, - "dependencies": { - "cli-truncate": "^4.0.0", - "colorette": "^2.0.20", - "eventemitter3": "^5.0.1", - "log-update": "^6.0.0", - "rfdc": "^1.3.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/listr2/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/listr2/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/listr2/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/listr2/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/listr2/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/load-json-file": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/parse-json": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/load-json-file/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "license": "MIT" - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "license": "MIT" - }, - "node_modules/lodash.ismatch": { - "version": "4.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.memoize": { - "version": "4.1.2", - "license": "MIT" - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/lodash.reduce": { - "version": "4.6.0", - "license": "MIT" - }, - "node_modules/lodash.startswith": { - "version": "4.2.1", - "license": "MIT" - }, - "node_modules/log-symbols": { - "version": "5.1.0", - "license": "MIT", - "dependencies": { - "chalk": "^5.0.0", - "is-unicode-supported": "^1.1.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/node_modules/chalk": { - "version": "5.3.0", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/log-update": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.0.0.tgz", - "integrity": "sha512-niTvB4gqvtof056rRIrTZvjNYE4rCUzO6X/X+kYjd7WFxXeJ0NwEFnRxX6ehkvv3jTwrXnNdtAak5XYZuIyPFw==", - "dev": true, - "dependencies": { - "ansi-escapes": "^6.2.0", - "cli-cursor": "^4.0.0", - "slice-ansi": "^7.0.0", - "strip-ansi": "^7.1.0", - "wrap-ansi": "^9.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/log-update/node_modules/emoji-regex": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.3.0.tgz", - "integrity": "sha512-QpLs9D9v9kArv4lfDEgg1X/gN5XLnf/A6l9cs8SPZLRZR3ZkY9+kwIQTxm+fsSej5UMYGE8fdoaZVIBlqG0XTw==", - "dev": true - }, - "node_modules/log-update/node_modules/is-fullwidth-code-point": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", - "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", - "dev": true, - "dependencies": { - "get-east-asian-width": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/slice-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", - "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "is-fullwidth-code-point": "^5.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/string-width": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.0.0.tgz", - "integrity": "sha512-GPQHj7row82Hjo9hKZieKcHIhaAIKOJvFSIZXuCU9OASVZrMNUaZuz++SPVrBjnLsnk4k+z9f2EIypgxf2vNFw==", - "dev": true, - "dependencies": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-update/node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/log-update/node_modules/wrap-ansi": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", - "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.2.1", - "string-width": "^7.0.0", - "strip-ansi": "^7.1.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/loglevel": { - "version": "1.8.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/loglevel-colored-level-prefix": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "chalk": "^1.1.3", - "loglevel": "^1.4.1" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { - "version": "2.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { - "version": "1.1.3", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "license": "MIT", - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" - } - }, - "node_modules/make-dir": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/make-dir/node_modules/semver": { - "version": "5.7.2", - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "license": "ISC" - }, - "node_modules/map-obj": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/markdown-it": { - "version": "13.0.1", - "license": "MIT", - "dependencies": { - "argparse": "^2.0.1", - "entities": "~3.0.1", - "linkify-it": "^4.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it-anchor": { - "version": "8.6.7", - "dev": true, - "license": "Unlicense", - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" - } - }, - "node_modules/marked": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/media-typer": { - "version": "0.3.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memoize-one": { - "version": "6.0.0", - "license": "MIT" - }, - "node_modules/meow": { - "version": "8.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/minimist": "^1.2.0", - "camelcase-keys": "^6.2.2", - "decamelize-keys": "^1.1.0", - "hard-rejection": "^2.1.0", - "minimist-options": "4.1.0", - "normalize-package-data": "^3.0.0", - "read-pkg-up": "^7.0.1", - "redent": "^3.0.0", - "trim-newlines": "^3.0.0", - "type-fest": "^0.18.0", - "yargs-parser": "^20.2.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/find-up": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/meow/node_modules/locate-path": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/p-limit": { - "version": "2.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/p-locate": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg": { - "version": "5.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg-up": { - "version": "7.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^4.1.0", - "read-pkg": "^5.2.0", - "type-fest": "^0.8.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/meow/node_modules/read-pkg-up/node_modules/type-fest": { - "version": "0.8.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/meow/node_modules/read-pkg/node_modules/type-fest": { - "version": "0.6.0", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=8" - } - }, - "node_modules/meow/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/meow/node_modules/type-fest": { - "version": "0.18.1", - "dev": true, - "license": "(MIT OR CC0-1.0)", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/merge2": { - "version": "1.4.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "dev": true, - "license": "MIT", - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "license": "MIT", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "license": "MIT", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/min-indent": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minimist-options": { - "version": "4.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "arrify": "^1.0.1", - "is-plain-obj": "^1.1.0", - "kind-of": "^6.0.3" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/minipass": { - "version": "5.0.0", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "dev": true, - "license": "MIT", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mlly": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", - "dev": true, - "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" - } - }, - "node_modules/modify-values": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, - "node_modules/moment-timezone": { - "version": "0.5.43", - "license": "MIT", - "dependencies": { - "moment": "^2.29.4" - }, - "engines": { - "node": "*" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "dev": true, - "license": "MIT" - }, - "node_modules/neo-async": { - "version": "2.6.2", - "dev": true, - "license": "MIT" - }, - "node_modules/node-abi": { - "version": "3.52.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.52.0.tgz", - "integrity": "sha512-JJ98b02z16ILv7859irtXn4oUaFWADtvkzy2c0IAatNVX2Mc9Yoh8z6hZInn3QwvMEYhHuQloYi+TTQy67SIdQ==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "license": "MIT", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-releases": { - "version": "2.0.13", - "license": "MIT" - }, - "node_modules/normalize-package-data": { - "version": "3.0.3", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^4.0.1", - "is-core-module": "^2.5.0", - "semver": "^7.3.4", - "validate-npm-package-license": "^3.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/npm-run-path": { - "version": "5.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.omit": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "is-extendable": "^1.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object.pick": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/on-exit-leak-free": { - "version": "2.1.0", - "license": "MIT" - }, - "node_modules/once": { - "version": "1.4.0", - "license": "ISC", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "9.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "default-browser": "^4.0.0", - "define-lazy-prop": "^3.0.0", - "is-inside-container": "^1.0.0", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/ora": { - "version": "6.3.1", - "license": "MIT", - "dependencies": { - "chalk": "^5.0.0", - "cli-cursor": "^4.0.0", - "cli-spinners": "^2.6.1", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^1.1.0", - "log-symbols": "^5.1.0", - "stdin-discarder": "^0.1.0", - "strip-ansi": "^7.0.1", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/chalk": { - "version": "5.3.0", - "license": "MIT", - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "7.1.0", - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/orderedmap": { - "version": "2.1.1", - "license": "MIT" - }, - "node_modules/p-limit": { - "version": "3.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "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/path-exists": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "license": "MIT" - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.0.1", - "dev": true, - "license": "ISC", - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-type": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pg-connection-string": { - "version": "2.6.2", - "license": "MIT" - }, - "node_modules/picocolors": { - "version": "1.0.0", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "license": "MIT", - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pidtree": { - "version": "0.6.0", - "dev": true, - "license": "MIT", - "bin": { - "pidtree": "bin/pidtree.js" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/pino": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz", - "integrity": "sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.1.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^3.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", - "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/pino-abstract-transport/node_modules/readable-stream": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.4.2.tgz", - "integrity": "sha512-Lk/fICSyIhodxy1IDK2HazkeGjSmezAWX2egdtJnYhtzKEsBPJowlI6F6LPb5tqIQILrMbx22S5o3GuJavPusA==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/pino-std-serializers": { - "version": "6.2.2", - "license": "MIT" - }, - "node_modules/pino/node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, - "node_modules/pirates": { - "version": "4.0.6", - "license": "MIT", - "engines": { - "node": ">= 6" - } - }, - "node_modules/pkg-dir": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "find-up": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "locate-path": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "3.0.0", - "license": "MIT", - "dependencies": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "2.3.0", - "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": "3.0.0", - "license": "MIT", - "dependencies": { - "p-limit": "^2.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "3.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "node_modules/polished": { - "version": "4.2.2", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.17.8" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/postcss": { - "version": "8.4.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.32.tgz", - "integrity": "sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-eslint": { - "version": "16.3.0", - "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.3.0.tgz", - "integrity": "sha512-Lh102TIFCr11PJKUMQ2kwNmxGhTsv/KzUg9QYF2Gkw259g/kPgndZDWavk7/ycbRvj2oz4BPZ1gCU8bhfZH/Xg==", - "dev": true, - "dependencies": { - "@typescript-eslint/parser": "^6.7.5", - "common-tags": "^1.4.0", - "dlv": "^1.1.0", - "eslint": "^8.7.0", - "indent-string": "^4.0.0", - "lodash.merge": "^4.6.0", - "loglevel-colored-level-prefix": "^1.0.0", - "prettier": "^3.0.1", - "pretty-format": "^29.7.0", - "require-relative": "^0.8.7", - "typescript": "^5.2.2", - "vue-eslint-parser": "^9.1.0" - }, - "engines": { - "node": ">=16.10.0" - }, - "peerDependencies": { - "prettier-plugin-svelte": "^3.0.0", - "svelte-eslint-parser": "*" - }, - "peerDependenciesMeta": { - "prettier-plugin-svelte": { - "optional": true - }, - "svelte-eslint-parser": { - "optional": true - } - } - }, - "node_modules/prettier-eslint/node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/prettier-eslint/node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/prettier-eslint/node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/prettier-eslint/node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/prettier-eslint/node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/prettier-eslint/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/prettier-eslint/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.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, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "dev": true, - "license": "MIT" - }, - "node_modules/process-warning": { - "version": "2.2.0", - "license": "MIT" - }, - "node_modules/progress": { - "version": "2.0.3", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/prop-types/node_modules/react-is": { - "version": "16.13.1", - "license": "MIT" - }, - "node_modules/prosemirror-changeset": { - "version": "2.2.1", - "license": "MIT", - "dependencies": { - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-collab": { - "version": "1.3.1", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0" - } - }, - "node_modules/prosemirror-commands": { - "version": "1.5.2", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-dropcursor": { - "version": "1.8.1", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0", - "prosemirror-view": "^1.1.0" - } - }, - "node_modules/prosemirror-gapcursor": { - "version": "1.3.2", - "license": "MIT", - "dependencies": { - "prosemirror-keymap": "^1.0.0", - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-view": "^1.0.0" - } - }, - "node_modules/prosemirror-history": { - "version": "1.3.2", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.2.2", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.31.0", - "rope-sequence": "^1.3.0" - } - }, - "node_modules/prosemirror-inputrules": { - "version": "1.2.1", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.0.0" - } - }, - "node_modules/prosemirror-keymap": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "prosemirror-state": "^1.0.0", - "w3c-keyname": "^2.2.0" - } - }, - "node_modules/prosemirror-markdown": { - "version": "1.11.2", - "license": "MIT", - "dependencies": { - "markdown-it": "^13.0.1", - "prosemirror-model": "^1.0.0" - } - }, - "node_modules/prosemirror-menu": { - "version": "1.2.4", - "license": "MIT", - "dependencies": { - "crelt": "^1.0.0", - "prosemirror-commands": "^1.0.0", - "prosemirror-history": "^1.0.0", - "prosemirror-state": "^1.0.0" - } - }, - "node_modules/prosemirror-model": { - "version": "1.19.3", - "license": "MIT", - "dependencies": { - "orderedmap": "^2.0.0" - } - }, - "node_modules/prosemirror-schema-basic": { - "version": "1.2.2", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.19.0" - } - }, - "node_modules/prosemirror-schema-list": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.7.3" - } - }, - "node_modules/prosemirror-state": { - "version": "1.4.3", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0", - "prosemirror-transform": "^1.0.0", - "prosemirror-view": "^1.27.0" - } - }, - "node_modules/prosemirror-tables": { - "version": "1.3.4", - "license": "MIT", - "dependencies": { - "prosemirror-keymap": "^1.1.2", - "prosemirror-model": "^1.8.1", - "prosemirror-state": "^1.3.1", - "prosemirror-transform": "^1.2.1", - "prosemirror-view": "^1.13.3" - } - }, - "node_modules/prosemirror-trailing-node": { - "version": "2.0.7", - "license": "MIT", - "dependencies": { - "@remirror/core-constants": "^2.0.2", - "@remirror/core-helpers": "^3.0.0", - "escape-string-regexp": "^4.0.0" - }, - "peerDependencies": { - "prosemirror-model": "^1.19.0", - "prosemirror-state": "^1.4.2", - "prosemirror-view": "^1.31.2" - } - }, - "node_modules/prosemirror-trailing-node/node_modules/escape-string-regexp": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/prosemirror-transform": { - "version": "1.7.5", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.0.0" - } - }, - "node_modules/prosemirror-view": { - "version": "1.31.7", - "license": "MIT", - "dependencies": { - "prosemirror-model": "^1.16.0", - "prosemirror-state": "^1.0.0", - "prosemirror-transform": "^1.1.0" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "license": "MIT", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/punycode": { - "version": "2.3.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/q": { - "version": "1.5.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.0", - "teleport": ">=0.2.0" - } - }, - "node_modules/qs": { - "version": "6.11.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.2.tgz", - "integrity": "sha512-tDNIz22aBzCDxLtVH++VnTfzxlfeK5CbqohpSqpJgj1Wg/cQbStNAz3NuqCs5vV+pjBsK4x4pN9HlVh7rcYRiA==", - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "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" - } - ], - "license": "MIT" - }, - "node_modules/quick-format-unescaped": { - "version": "4.0.4", - "license": "MIT" - }, - "node_modules/quick-lru": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/raf-schd": { - "version": "4.0.3", - "license": "MIT" - }, - "node_modules/randombytes": { - "version": "2.1.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react": { - "version": "18.2.0", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-currency-input-field": { - "version": "3.6.11", - "license": "MIT", - "peerDependencies": { - "react": "^16.9.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-datepicker": { - "version": "4.16.0", - "license": "MIT", - "dependencies": { - "@popperjs/core": "^2.11.8", - "classnames": "^2.2.6", - "date-fns": "^2.30.0", - "prop-types": "^15.7.2", - "react-onclickoutside": "^6.12.2", - "react-popper": "^2.3.0" - }, - "peerDependencies": { - "react": "^16.9.0 || ^17 || ^18", - "react-dom": "^16.9.0 || ^17 || ^18" - } - }, - "node_modules/react-dom": { - "version": "18.2.0", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" - }, - "peerDependencies": { - "react": "^18.2.0" - } - }, - "node_modules/react-fast-compare": { - "version": "3.2.2", - "license": "MIT" - }, - "node_modules/react-feather": { - "version": "2.0.10", - "license": "MIT", - "dependencies": { - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": ">=16.8.6" - } - }, - "node_modules/react-i18next": { - "version": "12.3.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.20.6", - "html-parse-stringify": "^3.0.1" - }, - "peerDependencies": { - "i18next": ">= 19.0.0", - "react": ">= 16.8.0" - }, - "peerDependenciesMeta": { - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - } - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "license": "MIT" - }, - "node_modules/react-onclickoutside": { - "version": "6.13.0", - "license": "MIT", - "funding": { - "type": "individual", - "url": "https://github.com/Pomax/react-onclickoutside/blob/master/FUNDING.md" - }, - "peerDependencies": { - "react": "^15.5.x || ^16.x || ^17.x || ^18.x", - "react-dom": "^15.5.x || ^16.x || ^17.x || ^18.x" - } - }, - "node_modules/react-phone-input-2": { - "version": "2.15.1", - "license": "MIT", - "dependencies": { - "classnames": "^2.2.6", - "lodash.debounce": "^4.0.8", - "lodash.memoize": "^4.1.2", - "lodash.reduce": "^4.6.0", - "lodash.startswith": "^4.2.1", - "prop-types": "^15.7.2" - }, - "peerDependencies": { - "react": "^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0", - "react-dom": "^16.12.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^20.0.0 || ^21.0.0" - } - }, - "node_modules/react-popper": { - "version": "2.3.0", - "license": "MIT", - "dependencies": { - "react-fast-compare": "^3.0.1", - "warning": "^4.0.2" - }, - "peerDependencies": { - "@popperjs/core": "^2.0.0", - "react": "^16.8.0 || ^17 || ^18", - "react-dom": "^16.8.0 || ^17 || ^18" - } - }, - "node_modules/react-redux": { - "version": "8.1.2", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.1", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/use-sync-external-store": "^0.0.3", - "hoist-non-react-statics": "^3.3.2", - "react-is": "^18.0.0", - "use-sync-external-store": "^1.0.0" - }, - "peerDependencies": { - "@types/react": "^16.8 || ^17.0 || ^18.0", - "@types/react-dom": "^16.8 || ^17.0 || ^18.0", - "react": "^16.8 || ^17.0 || ^18.0", - "react-dom": "^16.8 || ^17.0 || ^18.0", - "react-native": ">=0.59", - "redux": "^4 || ^5.0.0-beta.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - }, - "@types/react-dom": { - "optional": true - }, - "react-dom": { - "optional": true - }, - "react-native": { - "optional": true - }, - "redux": { - "optional": true - } - } - }, - "node_modules/react-router": { - "version": "6.15.0", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.8.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8" - } - }, - "node_modules/react-router-dom": { - "version": "6.15.0", - "license": "MIT", - "dependencies": { - "@remix-run/router": "1.8.0", - "react-router": "6.15.0" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "react": ">=16.8", - "react-dom": ">=16.8" - } - }, - "node_modules/react-select": { - "version": "5.7.4", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.12.0", - "@emotion/cache": "^11.4.0", - "@emotion/react": "^11.8.1", - "@floating-ui/dom": "^1.0.1", - "@types/react-transition-group": "^4.4.0", - "memoize-one": "^6.0.0", - "prop-types": "^15.6.0", - "react-transition-group": "^4.3.0", - "use-isomorphic-layout-effect": "^1.1.2" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-text-mask": { - "version": "5.5.0", - "license": "Unlicense", - "dependencies": { - "prop-types": "^15.5.6" - }, - "peerDependencies": { - "react": "^0.14.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "license": "BSD-3-Clause", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/read-pkg": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "find-up": "^2.0.0", - "read-pkg": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/find-up": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "locate-path": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/locate-path": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-limit": { - "version": "1.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-try": "^1.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-locate": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "p-limit": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/p-try": { - "version": "1.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg-up/node_modules/path-exists": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/hosted-git-info": { - "version": "2.8.9", - "dev": true, - "license": "ISC" - }, - "node_modules/read-pkg/node_modules/normalize-package-data": { - "version": "2.5.0", - "dev": true, - "license": "BSD-2-Clause", - "dependencies": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - } - }, - "node_modules/read-pkg/node_modules/path-type": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "pify": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/pify": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/read-pkg/node_modules/semver": { - "version": "5.7.2", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "license": "MIT", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/real-require": { - "version": "0.2.0", - "license": "MIT", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/redent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "indent-string": "^4.0.0", - "strip-indent": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/redux": { - "version": "4.2.1", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.9.2" - } - }, - "node_modules/regenerate": { - "version": "1.4.2", - "license": "MIT" - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.0", - "license": "MIT", - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "license": "MIT" - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "license": "MIT", - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "license": "MIT", - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "license": "BSD-2-Clause", - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-relative": { - "version": "0.8.7", - "dev": true, - "license": "MIT" - }, - "node_modules/requizzle": { - "version": "0.2.4", - "dev": true, - "license": "MIT", - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/resolve": { - "version": "1.22.4", - "license": "MIT", - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/restore-cursor": { - "version": "4.0.0", - "license": "MIT", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/restore-cursor/node_modules/mimic-fn": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/restore-cursor/node_modules/onetime": { - "version": "5.1.2", - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ret": { - "version": "0.2.2", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/retry-as-promised": { - "version": "7.0.4", - "license": "MIT" - }, - "node_modules/reusify": { - "version": "1.0.4", - "license": "MIT", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.0", - "license": "MIT" - }, - "node_modules/rimraf": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-5.0.5.tgz", - "integrity": "sha512-CqDakW+hMe/Bz202FPEymy68P+G50RfMQK+Qo5YUqc9SPipvbGjCGKd0RSKEelbsfQuw3g5NZDSrlZZAJurH1A==", - "dev": true, - "dependencies": { - "glob": "^10.3.7" - }, - "bin": { - "rimraf": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "3.29.0", - "license": "MIT", - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=14.18.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/rollup-plugin-polyfill-node": { - "version": "0.12.0", - "license": "MIT", - "dependencies": { - "@rollup/plugin-inject": "^5.0.1" - }, - "peerDependencies": { - "rollup": "^1.20.0 || ^2.0.0 || ^3.0.0" - } - }, - "node_modules/rope-sequence": { - "version": "1.3.4", - "license": "MIT" - }, - "node_modules/run-applescript": { - "version": "5.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/execa": { - "version": "5.1.1", - "dev": true, - "license": "MIT", - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/run-applescript/node_modules/human-signals": { - "version": "2.1.0", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=10.17.0" - } - }, - "node_modules/run-applescript/node_modules/is-stream": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/mimic-fn": { - "version": "2.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-applescript/node_modules/npm-run-path": { - "version": "4.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/run-applescript/node_modules/onetime": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/run-applescript/node_modules/strip-final-newline": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "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" - } - ], - "license": "MIT", - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-buffer": { - "version": "5.2.1", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "license": "MIT" - }, - "node_modules/safe-regex2": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "ret": "~0.2.0" - } - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "license": "MIT", - "optional": true, - "peer": true - }, - "node_modules/scheduler": { - "version": "0.23.0", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.1.0" - } - }, - "node_modules/secure-json-parse": { - "version": "2.7.0", - "license": "BSD-3-Clause" - }, - "node_modules/semver": { - "version": "7.5.4", - "license": "ISC", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "license": "ISC", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "license": "ISC" - }, - "node_modules/sequelize": { - "version": "6.37.1", - "resolved": "https://registry.npmjs.org/sequelize/-/sequelize-6.37.1.tgz", - "integrity": "sha512-vIKKzQ9dGp2aBOxQRD1FmUYViuQiKXSJ8yah8TsaBx4U3BokJt+Y2A0qz2C4pj08uX59qpWxRqSLEfRmVOEgQw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/sequelize" - } - ], - "dependencies": { - "@types/debug": "^4.1.8", - "@types/validator": "^13.7.17", - "debug": "^4.3.4", - "dottie": "^2.0.6", - "inflection": "^1.13.4", - "lodash": "^4.17.21", - "moment": "^2.29.4", - "moment-timezone": "^0.5.43", - "pg-connection-string": "^2.6.1", - "retry-as-promised": "^7.0.4", - "semver": "^7.5.4", - "sequelize-pool": "^7.1.0", - "toposort-class": "^1.0.1", - "uuid": "^8.3.2", - "validator": "^13.9.0", - "wkx": "^0.5.0" - }, - "engines": { - "node": ">=10.0.0" - }, - "peerDependenciesMeta": { - "ibm_db": { - "optional": true - }, - "mariadb": { - "optional": true - }, - "mysql2": { - "optional": true - }, - "oracledb": { - "optional": true - }, - "pg": { - "optional": true - }, - "pg-hstore": { - "optional": true - }, - "snowflake-sdk": { - "optional": true - }, - "sqlite3": { - "optional": true - }, - "tedious": { - "optional": true - } - } - }, - "node_modules/sequelize-pool": { - "version": "7.1.0", - "license": "MIT", - "engines": { - "node": ">= 10.0.0" - } - }, - "node_modules/sequelize/node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.1", - "license": "BSD-3-Clause", - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "license": "MIT" - }, - "node_modules/set-function-length": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.1.1.tgz", - "integrity": "sha512-VoaqjbBJKiWtg4yRcKBQ7g7wnGnLV3M8oLvVWwOk2PdYY6PEFegR1vezXR0tw6fZGF9csVakIRjrJiy2veSBFQ==", - "dependencies": { - "define-data-property": "^1.1.1", - "get-intrinsic": "^1.2.1", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "license": "ISC" - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "license": "MIT", - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shallowequal": { - "version": "1.1.0", - "license": "MIT" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "dependencies": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "dev": true, - "license": "ISC" - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "license": "ISC" - }, - "node_modules/slash": { - "version": "5.1.0", - "license": "MIT", - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/slice-ansi": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", - "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^6.0.0", - "is-fullwidth-code-point": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/slice-ansi?sponsor=1" - } - }, - "node_modules/slice-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/smob": { - "version": "1.4.0", - "license": "MIT" - }, - "node_modules/sonic-boom": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz", - "integrity": "sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "license": "MIT", - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.3.0", - "dev": true, - "license": "CC-BY-3.0" - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.13", - "dev": true, - "license": "CC0-1.0" - }, - "node_modules/split": { - "version": "1.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "through": "2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "node_modules/sqlite": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/sqlite/-/sqlite-5.1.1.tgz", - "integrity": "sha512-oBkezXa2hnkfuJwUo44Hl9hS3er+YFtueifoajrgidvqsJRQFpc5fKoAkAor1O5ZnLoa28GBScfHXs8j0K358Q==" - }, - "node_modules/stackback": { - "version": "0.0.2", - "dev": true, - "license": "MIT" - }, - "node_modules/standard-version": { - "version": "9.5.0", - "dev": true, - "license": "ISC", - "dependencies": { - "chalk": "^2.4.2", - "conventional-changelog": "3.1.25", - "conventional-changelog-config-spec": "2.1.0", - "conventional-changelog-conventionalcommits": "4.6.3", - "conventional-recommended-bump": "6.1.0", - "detect-indent": "^6.0.0", - "detect-newline": "^3.1.0", - "dotgitignore": "^2.1.0", - "figures": "^3.1.0", - "find-up": "^5.0.0", - "git-semver-tags": "^4.0.0", - "semver": "^7.1.1", - "stringify-package": "^1.0.1", - "yargs": "^16.0.0" - }, - "bin": { - "standard-version": "bin/cli.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.6.0.tgz", - "integrity": "sha512-aFZ19IgVmhdB2uX599ve2kE6BIE3YMnQ6Gp6BURhW/oIzpXGKr878TQfAQZn1+i0Flcc/UKUy1gOlcfaUBCryg==", - "dev": true - }, - "node_modules/stdin-discarder": { - "version": "0.1.0", - "license": "MIT", - "dependencies": { - "bl": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "license": "MIT", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-argv": { - "version": "0.3.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-width": { - "version": "5.1.2", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width/node_modules/strip-ansi": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/stringify-package": { - "version": "1.0.1", - "dev": true, - "license": "ISC" - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-indent": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "dependencies": { - "min-indent": "^1.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", - "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", - "dev": true, - "dependencies": { - "js-tokens": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", - "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", - "dev": true - }, - "node_modules/styled-components": { - "version": "5.3.9", - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.0.0", - "@babel/traverse": "^7.4.5", - "@emotion/is-prop-valid": "^1.1.0", - "@emotion/stylis": "^0.8.4", - "@emotion/unitless": "^0.7.4", - "babel-plugin-styled-components": ">= 1.12.0", - "css-to-react-native": "^3.0.0", - "hoist-non-react-statics": "^3.0.0", - "shallowequal": "^1.1.0", - "supports-color": "^5.5.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/styled-components" - }, - "peerDependencies": { - "react": ">= 16.8.0", - "react-dom": ">= 16.8.0", - "react-is": ">= 16.8.0" - } - }, - "node_modules/styled-components/node_modules/@emotion/unitless": { - "version": "0.7.5", - "license": "MIT" - }, - "node_modules/styled-system": { - "version": "5.1.5", - "license": "MIT", - "dependencies": { - "@styled-system/background": "^5.1.2", - "@styled-system/border": "^5.1.5", - "@styled-system/color": "^5.1.2", - "@styled-system/core": "^5.1.2", - "@styled-system/flexbox": "^5.1.2", - "@styled-system/grid": "^5.1.2", - "@styled-system/layout": "^5.1.2", - "@styled-system/position": "^5.1.2", - "@styled-system/shadow": "^5.1.2", - "@styled-system/space": "^5.1.2", - "@styled-system/typography": "^5.1.2", - "@styled-system/variant": "^5.1.5", - "object-assign": "^4.1.1" - } - }, - "node_modules/stylis": { - "version": "4.2.0", - "license": "MIT" - }, - "node_modules/supports-color": { - "version": "5.5.0", - "license": "MIT", - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "license": "MIT", - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/synckit": { - "version": "0.8.6", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.6.tgz", - "integrity": "sha512-laHF2savN6sMeHCjLRkheIU4wo3Zg9Ln5YOjOo7sZ5dVQW8yF5pPE5SIw1dsPhq3TRp1jisKRCdPhfs/1WMqDA==", - "dev": true, - "dependencies": { - "@pkgr/utils": "^2.4.2", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/terser": { - "version": "5.19.4", - "license": "BSD-2-Clause", - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "dev": true, - "license": "ISC", - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/glob": { - "version": "7.2.3", - "dev": true, - "license": "ISC", - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/text-extensions": { - "version": "1.9.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10" - } - }, - "node_modules/text-mask-addons": { - "version": "3.8.0", - "license": "Unlicense" - }, - "node_modules/text-table": { - "version": "0.2.0", - "dev": true, - "license": "MIT" - }, - "node_modules/thread-stream": { - "version": "2.4.0", - "license": "MIT", - "dependencies": { - "real-require": "^0.2.0" - } - }, - "node_modules/throttle-debounce": { - "version": "3.0.1", - "license": "MIT", - "engines": { - "node": ">=10" - } - }, - "node_modules/through": { - "version": "2.3.8", - "dev": true, - "license": "MIT" - }, - "node_modules/through2": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "license": "MIT" - }, - "node_modules/tinybench": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", - "dev": true - }, - "node_modules/tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tippy.js": { - "version": "6.3.7", - "license": "MIT", - "dependencies": { - "@popperjs/core": "^2.9.0" - } - }, - "node_modules/titleize": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toad-cache": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.3.0.tgz", - "integrity": "sha512-3oDzcogWGHZdkwrHyvJVpPjA7oNzY6ENOV3PsWJY9XYPZ6INo94Yd47s5may1U+nleBPwDhrRiTPMIvKaa3MQg==", - "engines": { - "node": ">=12" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "license": "MIT", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/toposort-class": { - "version": "1.0.1", - "license": "MIT" - }, - "node_modules/tr46": { - "version": "0.0.3", - "license": "MIT" - }, - "node_modules/trim-newlines": { - "version": "3.0.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/ts-api-utils": { - "version": "1.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=16.13.0" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "dev": true, - "license": "0BSD" - }, - "node_modules/tsx": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.1.tgz", - "integrity": "sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==", - "dev": true, - "dependencies": { - "esbuild": "~0.19.10", - "get-tsconfig": "^4.7.2" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "dev": true, - "license": "MIT", - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", - "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", - "dev": true, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "license": "MIT", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "dev": true, - "license": "MIT" - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint-language-service": { - "version": "5.0.5", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@typescript-eslint/parser": ">= 5.0.0", - "eslint": ">= 8.0.0", - "typescript": ">= 4.0.0" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "license": "MIT" - }, - "node_modules/ufo": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.0.tgz", - "integrity": "sha512-bRn3CsoojyNStCZe0BG0Mt4Nr/4KF+rhFlnNXybgqt5pXHNFRlqinSoQaTrGyzE4X8aHplSb+TorH+COin9Yxw==", - "dev": true - }, - "node_modules/uglify-js": { - "version": "3.17.4", - "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/underscore": { - "version": "1.13.6", - "dev": true, - "license": "MIT" - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "license": "MIT", - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, - "node_modules/untildify": { - "version": "4.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.11", - "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.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "license": "BSD-2-Clause", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/use-isomorphic-layout-effect": { - "version": "1.1.2", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/use-memo-one": { - "version": "1.1.3", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/use-sync-external-store": { - "version": "1.2.0", - "license": "MIT", - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "license": "MIT" - }, - "node_modules/uuid": { - "version": "9.0.0", - "license": "MIT", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "license": "MIT" - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "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/v8-to-istanbul/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 - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "dev": true, - "license": "Apache-2.0", - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validator": { - "version": "13.11.0", - "license": "MIT", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "5.0.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.7.tgz", - "integrity": "sha512-B4T4rJCDPihrQo2B+h1MbeGL/k/GMAHzhQ8S0LjQ142s6/+l3hHTT095ORvsshj4QCkoWu3Xtmob5mazvakaOw==", - "dev": true, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.0.tgz", - "integrity": "sha512-D/oiDVBw75XMnjAXne/4feCkCEwcbr2SU1bjAhCcfI5Bq3VoOHji8/wCPAfUkDIeohJ5nSZ39fNxM3dNZ6OBOA==", - "dev": true, - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vite/node_modules/rollup": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.8.0.tgz", - "integrity": "sha512-NpsklK2fach5CdI+PScmlE5R4Ao/FSWtF7LkoIrHDxPACY/xshNasPsbpG0VVHxUTbf74tJbVT4PrP8JsJ6ZDA==", - "dev": true, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.8.0", - "@rollup/rollup-android-arm64": "4.8.0", - "@rollup/rollup-darwin-arm64": "4.8.0", - "@rollup/rollup-darwin-x64": "4.8.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.8.0", - "@rollup/rollup-linux-arm64-gnu": "4.8.0", - "@rollup/rollup-linux-arm64-musl": "4.8.0", - "@rollup/rollup-linux-riscv64-gnu": "4.8.0", - "@rollup/rollup-linux-x64-gnu": "4.8.0", - "@rollup/rollup-linux-x64-musl": "4.8.0", - "@rollup/rollup-win32-arm64-msvc": "4.8.0", - "@rollup/rollup-win32-ia32-msvc": "4.8.0", - "@rollup/rollup-win32-x64-msvc": "4.8.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/vitest": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.0.tgz", - "integrity": "sha512-V9qb276J1jjSx9xb75T2VoYXdO1UKi+qfflY7V7w93jzX7oA/+RtYE6TcifxksxsZvygSSMwu2Uw6di7yqDMwg==", - "dev": true, - "dependencies": { - "@vitest/expect": "1.3.0", - "@vitest/runner": "1.3.0", - "@vitest/snapshot": "1.3.0", - "@vitest/spy": "1.3.0", - "@vitest/utils": "1.3.0", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.2", - "vite": "^5.0.0", - "vite-node": "1.3.0", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.3.0", - "@vitest/ui": "1.3.0", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vitest/node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/vitest/node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/vitest/node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/vitest/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/void-elements": { - "version": "3.1.0", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.3.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.3.2.tgz", - "integrity": "sha512-q7tWyCVaV9f8iQyIA5Mkj/S6AoJ9KBN8IeUSf3XEmBrOtxOZnfTg5s4KClbZBCK3GtnT/+RyCLZyDHuZwTuBjg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/w3c-keyname": { - "version": "2.2.8", - "license": "MIT" - }, - "node_modules/warning": { - "version": "4.0.3", - "license": "MIT", - "dependencies": { - "loose-envify": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "license": "MIT", - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "license": "BSD-2-Clause" - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "license": "MIT", - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/why-is-node-running": { - "version": "2.2.2", - "dev": true, - "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wkx": { - "version": "0.5.0", - "license": "MIT", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/wordwrap": { - "version": "1.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "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/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "dev": true, - "license": "MIT", - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "6.2.1", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "7.1.0", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "license": "ISC" - }, - "node_modules/xmlcreate": { - "version": "2.0.4", - "dev": true, - "license": "Apache-2.0" - }, - "node_modules/xss": { - "version": "1.0.14", - "license": "MIT", - "dependencies": { - "commander": "^2.20.3", - "cssfilter": "0.0.10" - }, - "bin": { - "xss": "bin/xss" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/xss/node_modules/commander": { - "version": "2.20.3", - "license": "MIT" - }, - "node_modules/xtend": { - "version": "4.0.2", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.4" - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "license": "ISC" - }, - "node_modules/yaml": { - "version": "2.3.4", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", - "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", - "dev": true, - "engines": { - "node": ">= 14" - } - }, - "node_modules/yargs": { - "version": "16.2.0", - "dev": true, - "license": "MIT", - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs-parser": { - "version": "20.2.9", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=10" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "dev": true, - "license": "MIT" - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - } - } -} diff --git a/package.json b/package.json index 165e286aa..d9435a774 100644 --- a/package.json +++ b/package.json @@ -1,91 +1,32 @@ { - "name": "mcos", - "version": "1.0.0", - "description": "a server", - "author": "Drazi Crendraven ", - "license": "AGPL-3.0", - "private": true, - "repository": { - "type": "git", - "url": "git@github.com:drazisil/mcos.git" - }, - "scripts": { - "prepare": "husky install", - "pretest": "eslint --fix . && prettier --write .", - "test:only": "node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages", - "test": "node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages", - "prod": "make prod_node", - "prod:stop": "docker-compose stop", - "release": "standard-version --sign", - "start:dev": "tsx --openssl-legacy-provider server.ts", - "start:docker": "npm run start:dev 2>&1 | tee -a log/mcos/trace.log" - }, - "files": [ - "README.md", - "CHANGELOG.md", - "AUTHORS" - ], - "type": "module", - "dependencies": { - "@adminjs/sequelize": "^4.1.1", - "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.101", - "@sentry/profiling-node": "^7.101.1", - "adminjs": "^7.5.12", - "fastify": "^4.26.1", - "moment": "^2.30.1", - "pino": "^8.19.0", - "sequelize": "^6.37.1", - "sqlite": "^5.1.1", - "ts-node": "10.9.2" - }, - "devDependencies": { - "@sentry/cli": "^2.28.6", - "@tsconfig/node-lts": "^20.1.1", - "@tsconfig/node20": "^20.1.2", - "@types/chai": "4.3.11", - "@types/node": "^20.11.19", - "@types/sinon": "17.0.3", - "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^7.0.2", - "@typescript-eslint/parser": "^7.0.2", - "@vitest/coverage-v8": "^1.3.0", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.3", - "husky": "^9.0.11", - "jsdoc": "^4.0.2", - "lint-staged": "^15.2.2", - "prettier": "3.2.5", - "prettier-eslint": "16.3.0", - "rimraf": "^5.0.5", - "standard-version": "^9.5.0", - "tsx": "4.7.1", - "typescript": "^5.3.3", - "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.3.0" - }, - "c8": { - "all": true, - "reporter": [ - "text", - "cobertura", - "html", - "lcov" - ], - "exclude": [ - "coverage", - "**/*.test.m{j,t}s", - "docs", - "docs2" - ] - }, - "lint-staged": { - "**/*.js": "eslint" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - } + "name": "rusty-motors", + "version": "1.0.0", + "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", + "main": "index.js", + "type": "module", + "scripts": { + "start": "clear && yarn workspace @rusty-motors/thebeast start", + "test": "clear && yarn workspace @rusty-motors/thebeast test" + }, + "author": "Drazi Crendraven ", + "license": "AGPL-3.0", + "private": true, + "repository": { + "type": "git", + "url": "git@github.com:drazisil/mcos.git" + }, + "workspaces": [ + "thebeast" + ], + "packageManager": "yarn@4.1.0", + "devDependencies": { + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "prettier": "3.2.4", + "typescript": "^5.3.3", + "vitest": "^1.2.2" + }, + "dependencies": { + "slonik": "29" + } } diff --git a/packages/database/src/models/Lobby.ts b/packages/database/src/models/Lobby.ts deleted file mode 100644 index 91108253f..000000000 --- a/packages/database/src/models/Lobby.ts +++ /dev/null @@ -1,98 +0,0 @@ -import { ServerError } from "../../../shared/errors/ServerError.js"; -import { SerializedBuffer } from "../../../shared/messageFactory.js"; - -export class LobbyModel extends SerializedBuffer { - // eslint-disable-next-line @typescript-eslint/no-unused-vars - deserialize(_inputBuffer: Buffer): LobbyModel { - throw new ServerError("Method not implemented."); - } - override serialize(): Buffer { - throw new ServerError("Method not implemented."); - } - serializeSize(): number { - throw new ServerError("Method not implemented."); - } - static schema = `CREATE TABLE IF NOT EXISTS "lobbies" - ( - "lobyID" integer NOT NULL, - "raceTypeID" integer NOT NULL, - "turfID" integer NOT NULL, - "riffName" character(32) NOT NULL, - "eTerfName" character(265) NOT NULL, - "clientArt" character(11) NOT NULL, - "elementID" integer NOT NULL, - "terfLength" integer NOT NULL, - "startSlice" integer NOT NULL, - "endSlice" integer NOT NULL, - "dragStageLeft" integer NOT NULL, - "dragStageRight" integer NOT NULL, - "dragStagingSlice" integer NOT NULL, - "gridSpreadFactor" real NOT NULL, - "linear" smallint NOT NULL, - "numPlayersMin" smallint NOT NULL, - "numPlayersMax" smallint NOT NULL, - "numPlayersDefault" smallint NOT NULL, - "bnumPlayersEnable" smallint NOT NULL, - "numLapsMin" smallint NOT NULL, - "numLapsMax" smallint NOT NULL, - "numLapsDefault" smallint NOT NULL, - "bnumLapsEnabled" smallint NOT NULL, - "numRoundsMin" smallint NOT NULL, - "numRoundsMax" smallint NOT NULL, - "numRoundsDefault" smallint NOT NULL, - "bnumRoundsEnabled" smallint NOT NULL, - "bWeatherDefault" smallint NOT NULL, - "bWeatherEnabled" smallint NOT NULL, - "bNightDefault" smallint NOT NULL, - "bNightEnabled" smallint NOT NULL, - "bBackwardDefault" smallint NOT NULL, - "bBackwardEnabled" smallint NOT NULL, - "bTrafficDefault" smallint NOT NULL, - "bTrafficEnabled" smallint NOT NULL, - "bDamageDefault" smallint NOT NULL, - "bDamageEnabled" smallint NOT NULL, - "bAIDefault" smallint NOT NULL, - "bAIEnabled" smallint NOT NULL, - "topDog" character(13) NOT NULL, - "terfOwner" character(33) NOT NULL, - "qualifingTime" integer NOT NULL, - "clubNumPlayers" integer NOT NULL, - "clubNumLaps" integer NOT NULL, - "clubNumRounds" integer NOT NULL, - "bClubNight" smallint NOT NULL, - "bClubWeather" smallint NOT NULL, - "bClubBackwards" smallint NOT NULL, - "topSeedsMP" integer NOT NULL, - "lobbyDifficulty" integer NOT NULL, - "ttPointForQualify" integer NOT NULL, - "ttCashForQualify" integer NOT NULL, - "ttPointBonusFasterIncs" integer NOT NULL, - "ttCashBonusFasterIncs" integer NOT NULL, - "ttTimeIncrements" integer NOT NULL, - "victoryPoints1" integer NOT NULL, - "victoryCash1" integer NOT NULL, - "victoryPoints2" integer NOT NULL, - "victoryCash2" integer NOT NULL, - "victoryPoints3" integer NOT NULL, - "victoryCash3" integer NOT NULL, - "minLevel" smallint NOT NULL, - "minResetSlice" integer NOT NULL, - "maxResetSlice" integer NOT NULL, - "bnewbieFlag" smallint NOT NULL, - "bdriverHelmetFlag" smallint NOT NULL, - "clubNumPlayersMax" smallint NOT NULL, - "clubNumPlayersMin" smallint NOT NULL, - "clubNumPlayersDefault" smallint NOT NULL, - "numClubsMax" smallint NOT NULL, - "numClubsMin" smallint NOT NULL, - "racePointsFactor" real NOT NULL, - "bodyClassMax" smallint NOT NULL, - "powerClassMax" smallint NOT NULL, - "clubLogoID" integer NOT NULL, - "teamtWeather" smallint NOT NULL, - "teamtNight" smallint NOT NULL, - "teamtBackwards" smallint NOT NULL, - "teamtNumLaps" smallint NOT NULL, - "raceCashFactor" real NOT NULL - );`; -} diff --git a/packages/database/src/models/Player.ts b/packages/database/src/models/Player.ts deleted file mode 100644 index 04fab0e04..000000000 --- a/packages/database/src/models/Player.ts +++ /dev/null @@ -1,46 +0,0 @@ -import { ServerError } from "../../../shared/errors/ServerError.js"; -import { SerializedBuffer } from "../../../shared/messageFactory.js"; - -export class PlayerModel extends SerializedBuffer { - override serialize(): Buffer { - throw new ServerError("Method not implemented."); - } - serializeSize(): number { - throw new ServerError("Method not implemented."); - } - - static schema = `CREATE TABLE Player ( - PlayerID int NOT NULL, - CustomerID int NOT NULL, - PlayerTypeID int NOT NULL, - StockClassicClass char NOT NULL, - StockMuscleClass char NOT NULL, - ModifiedClassicClass char NOT NULL, - ModifiedMuscleClass char NOT NULL, - OutlawClass char NOT NULL, - DragClass char NOT NULL, - ChallengeScore int NOT NULL, - ChallengeRung int NOT NULL, - LastLoggedIn datetime NOT NULL, - TotalTimePlayed datetime NOT NULL, - TimesLoggedIn smallint NOT NULL, - NumUnreadMail smallint NOT NULL, - BankBalance int NOT NULL, - NumCarsOwned smallint NOT NULL, - IsLoggedIn tinyint NOT NULL, - DriverStyle tinyint NOT NULL, - LPCode smallint NOT NULL, - CarInfoSetting int NOT NULL, - CarNum1 varchar(2) NOT NULL, - CarNum2 varchar(2) NOT NULL, - CarNum3 varchar(2) NOT NULL, - CarNum4 varchar(2) NOT NULL, - CarNum5 varchar(2) NOT NULL, - CarNum6 varchar(2) NOT NULL, - LPText varchar(8) NOT NULL, - DLNumber varchar(20) NOT NULL, - Persona varchar(30) NOT NULL, - Address varchar(128) NOT NULL, - Residence varchar(20) NOT NULL -);`; -} diff --git a/packages/database/src/models/Session.ts b/packages/database/src/models/Session.ts deleted file mode 100644 index 617f43bcb..000000000 --- a/packages/database/src/models/Session.ts +++ /dev/null @@ -1,10 +0,0 @@ -/** - * @global - * @typedef {object} Session - * @property {number} customer_id - * @property {string} sessionkey - * @property {string} skey - * @property {string} context_id - * @property {string} connection_id - */ -export default {}; diff --git a/packages/database/test/Player.test.ts b/packages/database/test/Player.test.ts deleted file mode 100644 index c7903b492..000000000 --- a/packages/database/test/Player.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { PlayerModel } from "../src/models/Player.js"; - -describe("Player model", function () { - it("should have a schema property", function () { - expect(PlayerModel.schema).not.equal(""); - }); -}); diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts deleted file mode 100644 index e4dc63548..000000000 --- a/packages/gateway/src/index.ts +++ /dev/null @@ -1,215 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { randomUUID } from "node:crypto"; -import { ServerError } from "../../shared/errors/ServerError.js"; -import { - OnDataHandler, - addSocket, - fetchStateFromDatabase, - getOnDataHandler, - removeSocket, - wrapSocket, -} from "../../shared/State.js"; -import { getServerLogger } from "../../shared/log.js"; - -import { getGatewayServer } from "./GatewayServer.js"; -import { SerializedBuffer } from "../../shared/messageFactory.js"; -import { Socket } from "node:net"; -import { Logger } from "pino"; - -/** - * @typedef {object} OnDataHandlerArgs - * @property {object} args - * @property {string} args.connectionId The connection id of the socket that - * received the data. - * @property {module:packages/shared/RawMessage} args.message The data that was received. - * @property {module:shared/log.ServerLogger} [args.log=getServerLogger({ module: "gateway" })] The logger to use. - * response - * to the - * data. - */ - -/** - * @typedef {function} OnDataHandler - * @param {OnDataHandlerArgs} args The arguments for the handler. - * @returns {ServiceResponse} The - * response - * to the - * data. - */ - -/** - * Handle socket errors - */ -export function socketErrorHandler({ - connectionId, - error, - log = getServerLogger({ - module: "socketErrorHandler", - }), -}: { - connectionId: string; - error: NodeJS.ErrnoException; - log?: Logger; -}) { - // Handle socket errors - if (error.code == "ECONNRESET") { - log.debug(`Connection ${connectionId} reset`); - return; - } - throw new ServerError( - `Socket error: ${error.message} on connection ${connectionId}`, - ); -} - -/** - * Handle the end of a socket connection - * - * @param {object} options - * @param {string} options.connectionId The connection ID - * @param {import("pino").Logger} [options.log=getServerLogger({ module: "socketEndHandler" })] The logger to use - */ -export function socketEndHandler({ - connectionId, - log = getServerLogger({ - module: "socketEndHandler", - }), -}: { - connectionId: string; - log?: import("pino").Logger; -}) { - log.debug(`Connection ${connectionId} ended`); - - // Remove the socket from the global state - removeSocket(fetchStateFromDatabase(), connectionId).save(); -} - -/** - * Handle incoming TCP connections - * - * @param {object} options - * @param {module:net.Socket} options.incomingSocket The incoming socket - * @param {import("pino").Logger} [options.log=getServerLogger({ module: "onDataHandler" })] The logger to use - * - */ -export function onSocketConnection({ - incomingSocket, - log = getServerLogger({ - module: "onDataHandler", - }), -}: { - incomingSocket: Socket; - log?: import("pino").Logger; -}) { - // Get the local port and remote address - const { localPort, remoteAddress } = incomingSocket; - - if (localPort === undefined || remoteAddress === undefined) { - throw new ServerError("localPort or remoteAddress is undefined"); - } - - // This is a new connection so generate a new connection ID - const newConnectionId = randomUUID(); - - // Wrap the socket and add it to the global state - const wrappedSocket = wrapSocket(incomingSocket, newConnectionId); - - // Add the socket to the global state - addSocket(fetchStateFromDatabase(), wrappedSocket).save(); - - // This is a new TCP socket, so it's probably not using HTTP - // Let's look for a port onData handler - /** @type {OnDataHandler | undefined} */ - const portOnDataHandler: OnDataHandler | undefined = getOnDataHandler( - fetchStateFromDatabase(), - localPort, - ); - - // Throw an error if there is no onData handler - if (!portOnDataHandler) { - log.warn(`No onData handler for port ${localPort}`); - return; - } - - incomingSocket.on("error", (error) => - socketErrorHandler({ connectionId: newConnectionId, error }), - ); - - // Add the data handler to the socket - incomingSocket.on( - "data", - (/** @type {Buffer} */ incomingDataAsBuffer: Buffer) => { - log.trace(`Incoming data: ${incomingDataAsBuffer.toString("hex")}`); - - // Deserialize the raw message - const rawMessage = new SerializedBuffer()._doDeserialize( - incomingDataAsBuffer, - ); - - // Log the raw message - log.trace(`Raw message: ${rawMessage.toString()}`); - - log.debug("Calling onData handler"); - - portOnDataHandler({ - connectionId: newConnectionId, - message: rawMessage, - }) - .then( - ( - /** @type {import("../../shared/State.js").ServiceResponse} */ response: import("../../shared/State.js").ServiceResponse, - ) => { - log.debug("onData handler returned"); - const { messages } = response; - - // Log the messages - log.trace( - `Messages: ${messages.map((m) => m.toString())}`, - ); - - // Serialize the messages - const serializedMessages = messages.map((m) => - m.serialize(), - ); - - try { - // Send the messages - serializedMessages.forEach((m) => { - incomingSocket.write(m); - log.trace(`Sent data: ${m.toString("hex")}`); - }); - } catch (error) { - log.error(`Error sending data: ${String(error)}`); - } - }, - ) - .catch((/** @type {Error} */ error: Error) => { - log.error(`Error handling data: ${String(error)}`); - - // Call server shutdown - getGatewayServer({}).shutdown(); - }); - }, - ); - - log.debug(`Client ${remoteAddress} connected to port ${localPort}`); - - if (localPort === 7003) { - // Sent ok to login packet - incomingSocket.write(Buffer.from([0x02, 0x30, 0x00, 0x00])); - } -} diff --git a/packages/lobby/src/handlers/heartbeat.js b/packages/lobby/src/handlers/heartbeat.js deleted file mode 100644 index 4fb628001..000000000 --- a/packages/lobby/src/handlers/heartbeat.js +++ /dev/null @@ -1,40 +0,0 @@ -import { getServerLogger } from "../../../shared/log.js"; -import { - NPSMessage, - SerializedBuffer, -} from "../../../shared/messageFactory.js"; - -/** - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] - * @returns {Promise<{ - * connectionId: string - * messages: SerializedBuffer[], - * }>} - */ -export async function _npsHeartbeat({ - connectionId, - // @ts-ignore - message, // eslint-disable-line no-unused-vars - log = getServerLogger({ - module: "_npsHeartbeat", - }), -}) { - const packetContent = Buffer.alloc(8); - const packetResult = new NPSMessage(); - packetResult._header.id = 0x127; - packetResult.setBuffer(packetContent); - - log.debug("Dumping packet..."); - log.debug(packetResult.toString()); - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(packetResult.serialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} diff --git a/packages/lobby/src/handlers/index.js b/packages/lobby/src/handlers/index.js deleted file mode 100644 index 9452a5d82..000000000 --- a/packages/lobby/src/handlers/index.js +++ /dev/null @@ -1,41 +0,0 @@ -// eslint-disable-next-line no-unused-vars -import { SerializedBuffer } from "../../../shared/messageFactory.js"; -import { handleEncryptedNPSCommand } from "./encryptedCommand.js"; -import { _npsHeartbeat } from "./heartbeat.js"; -import { _npsRequestGameConnectServer } from "./requestConnectGameServer.js"; - -/** - * @typedef {object} ServiceArgs - * @property {string} connectionId - * @property {SerializedBuffer} message - * @property {import("pino").Logger} log - */ - -/** - * @typedef {object} ServiceResponse - * @property {string} connectionId - * @property {SerializedBuffer[] } messages - */ - -/** - * @exports - * @typedef {object} GameMessageHandler - * @property {number} opCode - * @property {string} name - * @property {function(ServiceArgs): Promise} handler - */ - -/** @type {GameMessageHandler[]} */ -export const handlerMap = [ - { - opCode: 100, - name: "Connect game server", - handler: _npsRequestGameConnectServer, - }, - { opCode: 217, name: "Heartbeat", handler: _npsHeartbeat }, - { - opCode: 1101, - name: "Encrypted command", - handler: handleEncryptedNPSCommand, - }, -]; diff --git a/packages/shared/Configuration.ts b/packages/shared/Configuration.ts deleted file mode 100644 index 6494d1693..000000000 --- a/packages/shared/Configuration.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { Logger } from "pino"; -import { getServerLogger } from "./log.js"; - -/** - * @module shared/Configuration - * @exports Configuration - */ - -export class Configuration { - certificateFile!: string; - privateKeyFile!: string; - publicKeyFile!: string; - host!: string; - logLevel!: string; - static instance: Configuration | undefined; - /** - * - * @param {object} args - * @param {string} [args.host="localhost"] - * @param {string} [args.certificateFile="certificates/certificate.pem"] - * @param {string} [args.privateKeyFile="certificates/privatekey.pem"] - * @param {string} [args.publicKeyFile="certificates/publickey.pem"] - * @param {string} [args.logLevel="info"] - * @param {module:pino.Logger} [args.logger=getServerLogger({})] - */ - constructor({ - host = "localhost", - certificateFile = "certificates/certificate.pem", - privateKeyFile = "certificates/privatekey.pem", - publicKeyFile = "certificates/publickey.pem", - logLevel = "info", - logger = getServerLogger({}), - }: { - host?: string; - certificateFile?: string; - privateKeyFile?: string; - publicKeyFile?: string; - logLevel?: string; - logger?: Logger; - }) { - try { - this.certificateFile = certificateFile; - - this.privateKeyFile = privateKeyFile; - - this.publicKeyFile = publicKeyFile; - - this.host = host; - - this.logLevel = logLevel; - Configuration.instance = this; - } catch (error) { - logger.fatal(`Error in core server: ${String(error)}`); - } - } -} - -/** - * Get a singleton instance of Configuration - * - * @param {object} param0 - * @param {string} [param0.host="localhost"] - * @param {string} [param0.certificateFile="certificates/certificate.pem"] - * @param {string} [param0.privateKeyFile="certificates/privatekey.pem"] - * @param {string} [param0.publicKeyFile="certificates/publickey.pem"] - * @param {string} [param0.logLevel="info"] - * @param {module:pino.Logger} [param0.logger=getServerLogger({})] - * @returns {Configuration} - */ -export function getServerConfiguration({ - host, - certificateFile, - privateKeyFile, - publicKeyFile, - logLevel, - logger, -}: { - host?: string; - certificateFile?: string; - privateKeyFile?: string; - publicKeyFile?: string; - logLevel?: string; - logger?: Logger; -}): Configuration { - if (typeof Configuration.instance === "undefined") { - Configuration.instance = new Configuration({ - host, - certificateFile, - privateKeyFile, - publicKeyFile, - logLevel, - logger, - }); - } - - return Configuration.instance; -} diff --git a/packages/shared/errors/ServerError.ts b/packages/shared/errors/ServerError.ts deleted file mode 100644 index 041fdd74b..000000000 --- a/packages/shared/errors/ServerError.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { getServerLogger } from "../log.js"; - -/** - * @module errors - */ - -/** - * ServerError - * Error class for server errors - * @export - * @class ServerError - * @implements {Error} - * @property {number} code The HTTP status code - * @property {module:shared/log.ServerLogger} log The logger - */ -export class ServerError extends Error { - code: number; - /** - * Creates an instance of ServerError. - * @param {string} message The error message - */ - constructor(message: string) { - super(message); - this.code = 500; - this.name = "ServerError"; - } - - /** - * Convert the error to JSON - * - * @returns {{name: string, message: string, stack: string}} - */ - toJSON(): { name: string; message: string; stack: string } { - return { - name: this.name, - message: this.message, - stack: this.stack ?? "", - }; - } - - /** - * Convert the error to a string - * @override - */ - override toString() { - return JSON.stringify(this.toJSON()); - } - - /** - * Convert a JSON object to a ServerError - * - * @static - * @param {{ - * name: string, - * message: string, - * stack: string - * }} json The JSON object - * @returns {ServerError} - */ - static fromJSON(json: { - name: string; - message: string; - stack: string; - }): ServerError { - const { name, message, stack } = json; - const newError = new ServerError(String(message)); - newError.name = name; - newError.stack = stack; - getServerLogger({ level: "error" }).error(json, message); - return newError; - } - - /** - * @static - * @param {string} jsonString - * @returns {ServerError} - */ - static fromString(jsonString: string): ServerError { - getServerLogger({ level: "error" }).error(jsonString); - return ServerError.fromJSON(JSON.parse(jsonString)); - } - - /** - * @static - * @param {Error} error - * @returns {ServerError} - */ - static fromError(error: Error): ServerError { - const newError = new ServerError(error.message); - newError.name = error.name; - newError.stack = error.stack; - getServerLogger({ level: "error" }).error(error, error.message); - return newError; - } - - /** - * @static - * @param {unknown} error - * @param {string} message - * @returns {ServerError} - */ - static fromUnknown(error: unknown, message: string): ServerError { - if (error instanceof Error) { - return ServerError.fromError(error); - } - if (typeof error === "string") { - return ServerError.fromString(error); - } - getServerLogger({ level: "error" }).error(error, message); - return new ServerError(`Unknown error: ${String(error)}`); - } -} diff --git a/packages/shared/log.ts b/packages/shared/log.ts deleted file mode 100644 index b596953f7..000000000 --- a/packages/shared/log.ts +++ /dev/null @@ -1,104 +0,0 @@ -import { Logger, LoggerOptions, pino } from "pino"; - -type ServerLoggerOptions = { - level?: string; - module?: string; - name?: string; -}; - -/** - * @static - * @property {ServerLogger} instance - */ -export class ServerLogger { - logger: any; - static instance: ServerLogger | undefined; - /** - * Creates an instance of ServerLogger. - * @param {ServerLoggerOptions} options - */ - constructor(options: ServerLoggerOptions) { - this.logger = pino(options); - this.logger.level = options.level ?? "info"; - ServerLogger.instance = this; - } - - /** - * @param {string} message - */ - fatal(message: string) { - this.logger.fatal(message); - } - - /** - * @param {string} message - */ - error(message: string) { - this.logger.error(message); - } - - /** - * @param {string} message - */ - warn(message: string) { - this.logger.warn(message); - } - - /** - * @param {string} message - */ - info(message: string) { - this.logger.info(message); - } - - /** - * @param {string} message - */ - debug(message: string) { - this.logger.debug(message); - } - - /** - * @param {string} message - */ - trace(message: string) { - this.logger.trace(message); - } - - /** - * @global - * @external pino - * @see {@link https://www.npmjs.com/package/pino} - */ - - /** - * @param {module:pino.LoggerOptions} options - * @returns {module:pino.Logger} - */ - child(options: LoggerOptions): Logger { - const child = this.logger.child(options); - return child; - } -} - -/** - * Get a logger instance - * - * @param {ServerLoggerOptions} options - * @return {module:pino.Logger} - */ -export function getServerLogger(options: ServerLoggerOptions): Logger { - const logLevel = options.level ?? "info"; - const moduleName = options.module ?? "core"; - if (typeof ServerLogger.instance === "undefined") { - ServerLogger.instance = new ServerLogger({ - name: "mcos", - level: logLevel, // This isn't used by the logger, but it's used by the constructor - module: moduleName, - }); - } - - const child = ServerLogger.instance.child(options); - child.level = logLevel; - return child; -} diff --git a/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts deleted file mode 100644 index 5a9694a39..000000000 --- a/packages/transactions/src/_logout.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _logout({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - // Create new response packet - const pReply = new GenericReplyMessage(); - pReply.msgNo = 101; - pReply.msgReply = 106; - const rPacket = new OldServerMessage(); - rPacket._header.sequence = packet._header.sequence + 1; - rPacket._header.flags = 8; - rPacket.setBuffer(pReply.serialize()); - - log.debug(`Logout: ${rPacket.toString()}`); - - return { connectionId, messages: [rPacket] }; -} diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts deleted file mode 100644 index 5558578dc..000000000 --- a/packages/transactions/src/login.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { TLoginMessage } from "./TLoginMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function login({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - // Read the inbound packet - const loginMessage = new TLoginMessage(); - loginMessage.deserialize(packet.serialize()); - log.debug(`Received LoginMessage: ${loginMessage.toString()}`); - - // Create new response packet - const pReply = new GenericReplyMessage(); - pReply.msgNo = 213; - pReply.msgReply = 105; - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - responsePacket.setBuffer(pReply.serialize()); - - log.debug(`Response: ${responsePacket.toString()}`); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/test/login.test.ts b/packages/transactions/test/login.test.ts deleted file mode 100644 index 691d6a934..000000000 --- a/packages/transactions/test/login.test.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { getServerLogger } from "../../shared/log.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { login } from "../src/login.js"; -import { describe, it, expect } from "vitest"; -import { mockPino } from "../../../test/factoryMocks.js"; - -describe("login", () => { - it("returns a message", async () => { - // arrange - const connectionId = "test"; - const incomingMessage = new OldServerMessage(); - const imcommingBuffer = Buffer.from(JSON.stringify(incomingMessage)); - incomingMessage.setBuffer(imcommingBuffer); - mockPino(); - const log = getServerLogger({}); - - // act - const result = await login({ - connectionId, - packet: incomingMessage, - log, - }); - - // assert - expect(result.messages[0]).toBeInstanceOf(OldServerMessage); - }); -}); diff --git a/test/factoryMocks.ts b/test/factoryMocks.ts deleted file mode 100644 index 204aed661..000000000 --- a/test/factoryMocks.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { expect, it, vi } from "vitest"; -import { DatabaseManager } from "../packages/interfaces/index.js"; -import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; - -export function mockDatabaseManager(): DatabaseManager { - return { - updateSessionKey: vi.fn(), - fetchSessionKeyByCustomerId: vi.fn(), - }; -} - -export function mockPino() { - vi.mock("pino", () => { - return { - default: vi.fn().mockImplementation(() => { - return { - debug: vi.fn(), - info: vi.fn(), - warn: vi.fn(), - error: vi.fn(), - }; - }), - pino: vi.fn().mockImplementation(() => { - return { - debug: vi.fn(), - info: vi.fn(), - warn: vi.fn(), - error: vi.fn(), - }; - }), - }; - }); -} - -export function unmockPino() { - vi.unmock("pino"); -} - -it("should have crypto", () => { - expect(() => verifyLegacyCipherSupport()).not.toThrow(); -}); diff --git a/.dockerignore b/thebeast/.dockerignore similarity index 100% rename from .dockerignore rename to thebeast/.dockerignore diff --git a/.editorconfig b/thebeast/.editorconfig similarity index 100% rename from .editorconfig rename to thebeast/.editorconfig diff --git a/.eslintignore b/thebeast/.eslintignore similarity index 100% rename from .eslintignore rename to thebeast/.eslintignore diff --git a/.eslintrc.json b/thebeast/.eslintrc.json similarity index 100% rename from .eslintrc.json rename to thebeast/.eslintrc.json diff --git a/thebeast/.gitignore b/thebeast/.gitignore new file mode 100644 index 000000000..18a1809fe --- /dev/null +++ b/thebeast/.gitignore @@ -0,0 +1,23 @@ +*.env +*.tsbuildinfo +logs +coverage +*.log +.nyc_output + +test-reports +junit +built +*.sqlite +junit.xml +.dccache +*.db +node_modules/ +.DS_Store + +dist +# Sentry Auth Token +.sentryclirc +*.map +out/* +.adminjs/ diff --git a/.nvmrc b/thebeast/.nvmrc similarity index 100% rename from .nvmrc rename to thebeast/.nvmrc diff --git a/Makefile b/thebeast/Makefile similarity index 95% rename from Makefile rename to thebeast/Makefile index 582d731be..80240e36a 100644 --- a/Makefile +++ b/thebeast/Makefile @@ -9,13 +9,14 @@ certs: test: @clear + @npx tsc @npm test build: @npm run build:dev start: - @EXTERNAL_HOST=mcouniverse.com PRIVATE_KEY_FILE=data/private_key.pem CERTIFICATE_FILE=data/mcouniverse.crt PUBLIC_KEY_FILE=data/pub.key LOG_LEVEL=trace npm run start:dev + @EXTERNAL_HOST=mcouniverse.com PRIVATE_KEY_FILE=data/private_key.pem CERTIFICATE_FILE=data/mcouniverse.crt PUBLIC_KEY_FILE=data/pub.key LOG_LEVEL=trace npm run start prod_node: docker-compose --file docker-compose.yml up -d --build diff --git a/thebeast/README.md b/thebeast/README.md new file mode 100644 index 000000000..f096c5679 --- /dev/null +++ b/thebeast/README.md @@ -0,0 +1,33 @@ +# mcos + +This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues. + +[![Node.js CI](https://github.com/drazisil/mcos/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/drazisil/mcos/actions/workflows/node.yml) [![CodeQL](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/drazisil/mcos/branch/main/graph/badge.svg)](https://codecov.io/gh/drazisil/mcos) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/drazisil/mcos.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/drazisil/mcos/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) + +## Help Wanted + +I'm writing this from scratch. While I'm proud of what I've done, I'm hitting the point where I need help. Therefore, I'm open-sourcing this. Any assistance you can provide, either from code help, to suggestions, to even pointing out better ways to do things are greatly appreciated. + +You can [contribute on GitHub](https://github.com/drazisil/mcos/contribute) + +There's a brief explanation of the thought process here [link](https://github.com/drazisil/mcos/issues/164), and the [docs directory](./docs/) also contains some notes. + +## Server Setup + +- See [server docs](./docs/server.md) + +## Client Setup + +- See [client docs](./docs/client.md) + +## Timeline + +- March 6, 2016 - Started + +- October 12, 2023 - Connected to lobby + +![img The first non-hacked image of the MCO lobby since it was shutdown](images/2012-10-12_lobby.png) + +## Current Status + +- [TODO Issues](https://github.com/drazisil/mcos/labels/todo%20%3Aspiral_notepad%3A) diff --git a/data/mcouniverse.cnf b/thebeast/data/mcouniverse.cnf similarity index 100% rename from data/mcouniverse.cnf rename to thebeast/data/mcouniverse.cnf diff --git a/data/mcouniverse.crt b/thebeast/data/mcouniverse.crt similarity index 100% rename from data/mcouniverse.crt rename to thebeast/data/mcouniverse.crt diff --git a/data/private_key.pem b/thebeast/data/private_key.pem similarity index 100% rename from data/private_key.pem rename to thebeast/data/private_key.pem diff --git a/data/pub.key b/thebeast/data/pub.key similarity index 100% rename from data/pub.key rename to thebeast/data/pub.key diff --git a/thebeast/docker-compose.yml b/thebeast/docker-compose.yml new file mode 100644 index 000000000..a788e23a4 --- /dev/null +++ b/thebeast/docker-compose.yml @@ -0,0 +1,32 @@ +version: "3.1" + +services: + nginx: + build: + context: services/sslProxy + ports: + - "443:443" + - "80:80" + extra_hosts: + - "host.docker.internal:host-gateway" + db: + image: postgres:latest + restart: always + environment: + POSTGRES_DB: rm + POSTGRES_USER: user + POSTGRES_PASSWORD: password + ports: + - "5432:5432" + volumes: + - db-data:/var/lib/postgresql/data + + adminer: + image: adminer + restart: always + ports: + - 8080:8080 + +volumes: + db-data: + driver: local diff --git a/docs/client.md b/thebeast/docs/client.md similarity index 100% rename from docs/client.md rename to thebeast/docs/client.md diff --git a/docs/flow.md b/thebeast/docs/flow.md similarity index 100% rename from docs/flow.md rename to thebeast/docs/flow.md diff --git a/docs/reference/export.psql b/thebeast/docs/reference/export.psql similarity index 100% rename from docs/reference/export.psql rename to thebeast/docs/reference/export.psql diff --git a/docs/reference/pkware/Makefile b/thebeast/docs/reference/pkware/Makefile similarity index 100% rename from docs/reference/pkware/Makefile rename to thebeast/docs/reference/pkware/Makefile diff --git a/docs/reference/pkware/PKWare.vcxproj b/thebeast/docs/reference/pkware/PKWare.vcxproj similarity index 100% rename from docs/reference/pkware/PKWare.vcxproj rename to thebeast/docs/reference/pkware/PKWare.vcxproj diff --git a/docs/reference/pkware/PKWare.vcxproj.filters b/thebeast/docs/reference/pkware/PKWare.vcxproj.filters similarity index 100% rename from docs/reference/pkware/PKWare.vcxproj.filters rename to thebeast/docs/reference/pkware/PKWare.vcxproj.filters diff --git a/docs/reference/pkware/Pkware.dsp b/thebeast/docs/reference/pkware/Pkware.dsp similarity index 100% rename from docs/reference/pkware/Pkware.dsp rename to thebeast/docs/reference/pkware/Pkware.dsp diff --git a/docs/reference/pkware/Readme.md b/thebeast/docs/reference/pkware/Readme.md similarity index 100% rename from docs/reference/pkware/Readme.md rename to thebeast/docs/reference/pkware/Readme.md diff --git a/docs/reference/pkware/explode.cpp b/thebeast/docs/reference/pkware/explode.cpp similarity index 100% rename from docs/reference/pkware/explode.cpp rename to thebeast/docs/reference/pkware/explode.cpp diff --git a/docs/reference/pkware/implode.cpp b/thebeast/docs/reference/pkware/implode.cpp similarity index 100% rename from docs/reference/pkware/implode.cpp rename to thebeast/docs/reference/pkware/implode.cpp diff --git a/docs/reference/pkware/pkware.h b/thebeast/docs/reference/pkware/pkware.h similarity index 100% rename from docs/reference/pkware/pkware.h rename to thebeast/docs/reference/pkware/pkware.h diff --git a/docs/server.md b/thebeast/docs/server.md similarity index 100% rename from docs/server.md rename to thebeast/docs/server.md diff --git a/docs/technicial/README.md b/thebeast/docs/technicial/README.md similarity index 100% rename from docs/technicial/README.md rename to thebeast/docs/technicial/README.md diff --git a/docs/technicial/external_notes.md b/thebeast/docs/technicial/external_notes.md similarity index 100% rename from docs/technicial/external_notes.md rename to thebeast/docs/technicial/external_notes.md diff --git a/docs/technicial/internal_notes.md b/thebeast/docs/technicial/internal_notes.md similarity index 100% rename from docs/technicial/internal_notes.md rename to thebeast/docs/technicial/internal_notes.md diff --git a/images/2012-10-12_lobby.png b/thebeast/images/2012-10-12_lobby.png similarity index 100% rename from images/2012-10-12_lobby.png rename to thebeast/images/2012-10-12_lobby.png diff --git a/jsconfig-old.json b/thebeast/jsconfig-old.json similarity index 100% rename from jsconfig-old.json rename to thebeast/jsconfig-old.json diff --git a/lib/index.d.ts b/thebeast/lib/index.d.ts similarity index 100% rename from lib/index.d.ts rename to thebeast/lib/index.d.ts diff --git a/thebeast/lib/nps/index.ts b/thebeast/lib/nps/index.ts new file mode 100644 index 000000000..953cf6c37 --- /dev/null +++ b/thebeast/lib/nps/index.ts @@ -0,0 +1,20 @@ +export { + MessageProcessorError, + gameMessageProcessors, + populateGameMessageProcessors, + getGameMessageProcessor, + PortMapError, + portToMessageTypes, + populatePortToMessageTypes, + getPortMessageType, +} from "./messageProcessors/index.js"; +export { GameMessage } from "./messageStructs/GameMessage.js"; +export { getWord } from "./utils/pureGet.js"; +export { processUserLogin } from "./messageProcessors/processUserLogin.js"; +export { + populateGameUsers, + getUser, + checkPassword, +} from "./services/account.js"; +export { generateToken } from "./services/token.js"; +export { createNewUserSession, setUserSession } from "./services/session.js"; diff --git a/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts b/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts new file mode 100644 index 000000000..5da0a838c --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts @@ -0,0 +1,33 @@ +import { log } from "../../../packages/shared/log.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; +import { getAsHex } from "../utils/pureGet.js"; + +// Command id: 0x30c +export async function getLobMiniRiffList( + commandId: number, + data: Buffer, +): Promise { + log.info(`Processing getLobMiniRiffList command: ${getAsHex(data)}`); + + const riffList = new MiniRiffList(); + + riffList.addRiff(new MiniRiffInfo("CTRL", 0, 1)); + riffList.addRiff(new MiniRiffInfo("MC141", 141, 0)); + riffList.addRiff(new MiniRiffInfo("MCCHAT", 191, 0)); + + log.info(`getLobMiniRiffList: ${riffList.toString()}`); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x404); + responseMessage.setData(riffList); + + log.info( + 'Dumping responseMessage: '); + + log.info( + `responseMessage: ${responseMessage.serialize().length} bytes - ${getAsHex(responseMessage.serialize())}`, + ); + + return responseMessage.serialize(); +} diff --git a/thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts b/thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts new file mode 100644 index 000000000..e907b8e07 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts @@ -0,0 +1,22 @@ +import { log } from "../../../packages/shared/log.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; +import { getAsHex } from "../utils/pureGet.js"; + +// Command id: 0x128 +export async function getLobMiniUserList( + commandId: number, + data: Buffer, +): Promise { + log.info(`Processing getLobMiniUserList command: ${getAsHex(data)}`); + + const miniUserList = new MiniUserList(0); + + miniUserList.addChannelUser(new MiniUserInfo(1000, "Molly")); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x229); + responseMessage.setData(miniUserList); + + return responseMessage.serialize(); +} diff --git a/thebeast/lib/nps/messageProcessors/index.ts b/thebeast/lib/nps/messageProcessors/index.ts new file mode 100644 index 000000000..57e1be4c5 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/index.ts @@ -0,0 +1,84 @@ +import { processUserLogin } from "./processUserLogin.js"; +import { processGetProfileMaps } from "./processGetProfileMaps.js"; +import { processCheckProfileName } from "./processCheckProfileName.js"; +import { processCheckPlateText } from "./processCheckPlateText.js"; +import { processCreateProfile } from "./processCreateProfile.js"; +import { processDeleteProfile } from "./processDeleteProfile.js"; +import { processGetProfileInfo } from "./processGetProfileInfo.js"; +import { processGameLogin } from "./processGameLogin.js"; +import { processLobbyLogin } from "./processLobbyLogin.js"; +import { processFirstBuddy } from "./processGetFirstBuddy.js"; +import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { processPing } from "./processPing.js"; + +export type SocketCallback = (messages: Buffer[]) => void; + +export type MessageProcessor = ( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +) => Promise; + +export class MessageProcessorError extends Error { + constructor(id: number, message: string) { + super(`MessageProcessorError: ${id}: ${message}`); + } +} + +export const gameMessageProcessors = new Map([]); + +export function populateGameMessageProcessors( + processors: Map, +): void { + processors.set(0x100, processLobbyLogin); + processors.set(535, processPing); // 0x217 + processors.set(0x501, processUserLogin); + processors.set(0x503, processGameLogin); + processors.set(0x507, processCreateProfile); + processors.set(0x50b, processFirstBuddy); + processors.set(0x512, processDeleteProfile); + processors.set(0x519, processGetProfileInfo); + processors.set(0x532, processGetProfileMaps); + processors.set(0x533, processCheckProfileName); + processors.set(0x534, processCheckPlateText); + processors.set(4353, processEncryptedGameCommand); // 0x1101 +} + +export function getGameMessageProcessor(messageId: number): MessageProcessor { + if (gameMessageProcessors.has(messageId)) { + // @ts-ignore - we know this will be defined since we checked above + return gameMessageProcessors.get(messageId); + } + throw new MessageProcessorError(messageId, "No message processor found"); +} + +export class PortMapError extends Error { + port: number; + constructor(port: number, message: string) { + super(message); + this.name = "PortMapError"; + this.port = port; + } + + override toString(): string { + return `${this.name}: ${this.message}`; + } +} + +export const portToMessageTypes = new Map([]); + +export function populatePortToMessageTypes(portMap: Map): void { + portMap.set(7003, "Game"); + portMap.set(8226, "Game"); + portMap.set(8228, "Game"); + portMap.set(43300, "Server"); +} + +export function getPortMessageType(port: number): string { + if (portToMessageTypes.has(port)) { + // @ts-ignore - we know this will be defined since we checked above + return portToMessageTypes.get(port); + } + throw new PortMapError(port, "No message type found"); +} diff --git a/thebeast/lib/nps/messageProcessors/lobbyCommands.ts b/thebeast/lib/nps/messageProcessors/lobbyCommands.ts new file mode 100644 index 000000000..821c0a28e --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/lobbyCommands.ts @@ -0,0 +1,15 @@ +// 030c0004cdcdcdcd + +import { getLobMiniRiffList } from "./getLobMiniRiffList.js"; +import { getLobMiniUserList } from "./getLobMiniUserList.js"; + +// 0128000800000000 + +export type lobbyCommandProcessor = ( + commandId: number, + data: Buffer, +) => Promise; + +export const lobbyCommandMap = new Map(); +lobbyCommandMap.set(0x30c, getLobMiniRiffList); +lobbyCommandMap.set(0x128, getLobMiniUserList); diff --git a/thebeast/lib/nps/messageProcessors/processCheckPlateText.ts b/thebeast/lib/nps/messageProcessors/processCheckPlateText.ts new file mode 100644 index 000000000..457944fa2 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processCheckPlateText.ts @@ -0,0 +1,44 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getLenString, getNBytes } from "../utils/pureGet.js"; +import { + getUserSessionByConnectionId, + setUserSession, +} from "../services/session.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processCheckPlateText( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + // This message is only called by debug, so let's sey the clinet version to debug + const session = await getUserSessionByConnectionId(connectionId); + + if (session) { + log.info(`Setting client version to debug for ${session.customerId}`); + + session.clientVersion = "debug"; + setUserSession(session); + } + + const plateType = message.getDataAsBuffer().readUInt32BE(0); + + const requestedPlateText = getLenString( + message.getDataAsBuffer(), + 4, + false, + ); + + log.info( + `Requested plate text: ${requestedPlateText} for plate type ${plateType}`, + ); + + const response = new GameMessage(0); + response.header.setId(0x207); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processCheckProfileName.ts b/thebeast/lib/nps/messageProcessors/processCheckProfileName.ts new file mode 100644 index 000000000..be96d6aa8 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processCheckProfileName.ts @@ -0,0 +1,26 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getLenString, getNBytes } from "../utils/pureGet.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processCheckProfileName( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + const customerId = message.serialize().readUInt32BE(8); + + const requestedPersonaName = getLenString(message.serialize(), 12, false); + + log.info( + `Requested persona name: ${requestedPersonaName} for customer ${customerId}`, + ); + + const response = new GameMessage(0); + response.header.setId(0x601); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processCreateProfile.ts b/thebeast/lib/nps/messageProcessors/processCreateProfile.ts new file mode 100644 index 000000000..ffe24ff65 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processCreateProfile.ts @@ -0,0 +1,38 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getLenString, getNBytes } from "../utils/pureGet.js"; +import { GameProfile } from "../messageStructs/GameProfile.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processCreateProfile( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + // Log the request + log.info(`ProcessCreateProfile request: ${message.toString()}`); + + const createProfileMessage = GameProfile.fromBytes( + message.getDataAsBuffer(), + message.getData().getByteSize(), + ); + + // Log the request + log.info( + `ProcessCreateProfile request: ${createProfileMessage.toString()}`, + ); + + // TODO: Create the profile + + // TODO: Send the response + const response = new GameMessage(257); + response.header.setId(0x601); + + response.setData(message.getData()); + + // Log the response + log.info(`ProcessCreateProfile response: ${response.toString()}`); + + socketCallback([response.serialize()]); +} diff --git a/thebeast/lib/nps/messageProcessors/processDeleteProfile.ts b/thebeast/lib/nps/messageProcessors/processDeleteProfile.ts new file mode 100644 index 000000000..0d65e33b6 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processDeleteProfile.ts @@ -0,0 +1,106 @@ +import fs from "node:fs"; +import crypto from "node:crypto"; +import { getToken } from "../services/token.js"; +import { createNewUserSession, setUserSession } from "../services/session.js"; +import { SocketCallback } from "./index.js"; +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SessionKey } from "../messageStructs/SessionKey.js"; +import { getLenString } from "../utils/pureGet.js"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserAction } from "../messageStructs/UserAction.js"; +import { log } from "../../../packages/shared/log.js"; + +export function loadPrivateKey(path: string): string { + const privateKey = fs.readFileSync(path); + + return privateKey.toString("utf8"); +} + +export function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string { + const sessionKeyStructure = crypto.privateDecrypt( + privateKey, + Buffer.from(encryptedSessionKey, "hex"), + ); + + return sessionKeyStructure.toString("hex"); +} + +export function unpackUserLoginMessage(message: GameMessage): { + sessionKey: string; + gameId: string; + contextToken: string; +} { + // Get the context token + const ticket = getLenString(message.getDataAsBuffer(), 0, false); + + let dataOffset = ticket.length + 2; + + // The next data structure is a container with an empty id, a length, and a data structure + + // Skip the empty id + dataOffset += 2; + + // Get the next data length + const nextDataLength = message.getDataAsBuffer().readUInt16BE(dataOffset); + + // This value is the encrypted session key hex, stored as a string + const encryptedSessionKey = message + .getDataAsBuffer() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) + .toString("utf8"); + + // Load the private key + const privateKey = loadPrivateKey("./data/private_key.pem"); + + // Decrypt the session key + const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); + + // Unpack the session key + const sessionKeyStructure = SessionKey.fromBytes( + Buffer.from(sessionKey, "hex"), + ); + + // Update the data offset + dataOffset += 2 + nextDataLength; + + // Get the next data length + const nextDataLength2 = message.getDataAsBuffer().readUInt16BE(dataOffset); + + // This value is the game id (used by server to identify the game) + const gameId = message + .getDataAsBuffer() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) + .toString("utf8"); + + // Update the data offset + dataOffset += 2 + nextDataLength2; + + // Return the session key, game id, and context token + return { + sessionKey: sessionKeyStructure.getKey(), + gameId, + contextToken: ticket, + }; +} + +export async function processDeleteProfile( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + // Log the message + log.info(`Delete profile request: ${message.toString()}`); + + // TODO: Delete the profile + + // Create a new message - Login ACK + const loginACK = new GameMessage(0); + loginACK.header.setId(0x60c); + + // Send the ack + socketCallback([loginACK.serialize()]); +} diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts new file mode 100644 index 000000000..6ae5ac353 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -0,0 +1,113 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { + GameMessage, + SerializableData, +} from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getAsHex, getLenString } from "../utils/pureGet.js"; +import { + EncryptionSession, + getEncryptionSession, + getUserSessionByConnectionId, + newEncryptionSession, + setEncryptionSession, + setUserSession, +} from "../services/session.js"; +import { log } from "../../../packages/shared/log.js"; +import { lobbyCommandMap } from "./lobbyCommands.js"; + +export async function processEncryptedGameCommand( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + log.info(`Attempting to decrypt message: ${message.toString()}`); + + // Get the session + const session = await getUserSessionByConnectionId(connectionId); + + // If the session doesn't exist, return + if (!session) { + throw new Error(`Session not found for connection ID ${connectionId}`); + } + + // Get the encryption session + let encryptionSession: EncryptionSession | undefined = + await getEncryptionSession(connectionId); + + // If the encryption session doesn't exist, attempt to create it + if (typeof encryptionSession === "undefined") { + try { + // Create the encryption session + const newSession = await newEncryptionSession({ + connectionId, + customerId: session.customerId, + sessionKey: session.sessionKey.substring(0, 16), + }); + setEncryptionSession(newSession); + encryptionSession = newSession; + } catch (error) { + log.info(error as string); + throw new Error("Error creating encryption session"); + } + + // Log the encryption session + log.info(`Created encryption session for ${session.customerId}`); + } + + // Attempt to decrypt the message + const decryptedbytes = encryptionSession.gameDecipher.update( + message.getDataAsBuffer(), + ); + + // Log the decrypted bytes + log.info(`Decrypted bytes: ${getAsHex(decryptedbytes)}`); + + // Set the decrypted bytes as a new message + const decryptedMessage = new GameMessage(0); + decryptedMessage.deserialize(decryptedbytes); + + // Log the decrypted message id + log.info(`Decrypted message ID: ${decryptedMessage.header.getId()}`); + + // Do we have a valid message processor? + const processor = lobbyCommandMap.get(decryptedMessage.header.getId()); + + if (typeof processor === "undefined") { + log.error( + `No processor found for message ID: ${decryptedMessage.header.getId()}`, + ); + throw new Error( + `No processor found for message ID: ${decryptedMessage.header.getId()}`, + ); + } + + // Process the message + let response = await processor( + decryptedMessage.header.getId(), + decryptedMessage.getDataAsBuffer(), + ); + + // Log the response + log.info(`Response: ${response.length} bytes, ${getAsHex(response)}`); + + + // Encrypt the response + const encryptedResponse = encryptionSession.gameCipher.update(response); + setEncryptionSession(encryptionSession); + + // Log the encrypted response + log.info(`Encrypted response: ${encryptedResponse.length} bytes, ${getAsHex(encryptedResponse)}`); + + const responsePacket = new GameMessage(0); + responsePacket.header.setId(0x1101); + + const responseData = new SerializableData(encryptedResponse.length); + responseData.deserialize(encryptedResponse); + + responsePacket.setData(responseData); + log.info(`Response packet: ${responsePacket.header.getLength()} bytes, ${getAsHex(responsePacket.serialize())}`); + const responseBytes = responsePacket.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processGameLogin.ts b/thebeast/lib/nps/messageProcessors/processGameLogin.ts new file mode 100644 index 000000000..aa8064ff4 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processGameLogin.ts @@ -0,0 +1,57 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; +import { + getUserSessionByConnectionId, + getUserSessionByCustomerId, + setUserSession, +} from "../services/session.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processGameLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + const customerId = getDWord(message.getDataAsBuffer(), 0, false); + + const personaId = getDWord(message.getDataAsBuffer(), 4, false); + + const shardId = getDWord(message.getDataAsBuffer(), 8, false); + + // Log the values + log.info(`Customer ID: ${customerId}`); + log.info(`Persona ID: ${personaId}`); + log.info(`Shard ID: ${shardId}`); + + // This message is only called by debug, so let's sey the clinet version to debug + const session = await getUserSessionByCustomerId(customerId); + + if (!session) { + throw new Error(`Session not found for customer ID ${customerId}`); + } + + if (session) { + log.info(`Setting client version to debug for ${session.customerId}`); + + session.clientVersion = "debug"; + + log.info( + `Setting persona ID to ${personaId} for ${session.customerId}`, + ); + + session.activeProfileId = personaId; + + setUserSession(session); + } + + log.info(`GameLogin: ${message.toString()}`); + + const response = new GameMessage(0); + response.header.setId(0x207); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts b/thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts new file mode 100644 index 000000000..4015b59a2 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts @@ -0,0 +1,38 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { + GameMessage, + SerializableData, +} from "../messageStructs/GameMessage.js"; +import { getDWord, getAsHex } from "../utils/pureGet.js"; +import { SocketCallback } from "./index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { NPSList } from "../messageStructs/NPSList.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processFirstBuddy( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + const profileId = getDWord(message.getDataAsBuffer(), 0, false); + + log.info(`GetFirstBuddy profile: ${profileId}`); + + // Look up the profiles for the customer ID + const profiles = getGameProfilesForCustomerId(profileId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + const outMessage = new GameMessage(257); + outMessage.header.setId(0x614); + outMessage.setData(new SerializableData(4)); + + // Log the message + log.info(`GetFirstBuddy: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); +} diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts b/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts new file mode 100644 index 000000000..6f3f635f3 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts @@ -0,0 +1,57 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { getDWord, getAsHex } from "../utils/pureGet.js"; +import { SocketCallback } from "../messageProcessors/index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { NPSList } from "../messageStructs/NPSList.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processGetProfileInfo( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + const customerId = getDWord(message.serialize(), 0, false); + + log.info(`GetProfileInfo: ${customerId}`); + + // Look up the profiles for the customer ID + const profiles = await getGameProfilesForCustomerId(customerId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + const outMessage = new GameMessage(0); + + // Add each profile to the list + if (profiles) { + outMessage.header.setId(0x607); + for (const profile of profiles) { + // Log the profile + log.info(`GetProfileInfo: ${profile.toString()}`); // TODO: Remove this line + + list.addProfile(profile); + } + } else { + outMessage.header.setId(0x602); + } + + // Send the list back to the client + try { + // Log the message data + log.info(`GetProfileInfo: ${getAsHex(list.serialize())}`); + + outMessage.setData(list); + + // Log the message + log.info(`GetProfileInfo: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); + } catch (error) { + log.info(error as string); + throw new Error("Error sending profile info"); + } +} diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts b/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts new file mode 100644 index 000000000..5fbc7c07c --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts @@ -0,0 +1,62 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { getDWord, getAsHex } from "../utils/pureGet.js"; +import { SocketCallback } from "../messageProcessors/index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { NPSList } from "../messageStructs/NPSList.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processGetProfileMaps( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + // This message is a version 257, but it's version is set to 0 + // This is a bug in the client, so we need to generate a new message + // with the correct version + const requestMessage = GameMessage.fromGameMessage(257, message); + + log.info(`GetProfileMaps (257): ${requestMessage.toString()}`); + + const customerId = getDWord(requestMessage.getDataAsBuffer(), 0, false); + + log.info(`GetProfileMaps: ${customerId}`); + + // Look up the profiles for the customer ID + const profiles = await getGameProfilesForCustomerId(customerId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + // Add each profile to the list + if (profiles) { + for (const profile of profiles) { + // Log the profile + log.info(`GetProfileMaps: ${profile.toString()}`); + + list.addProfile(profile); + } + } + + // Send the list back to the client + try { + const outMessage = new GameMessage(257); + outMessage.header.setId(0x607); + + // Log the message data + log.info(`GetProfileMaps: ${getAsHex(outMessage.serialize())}`); + + outMessage.setData(list); + + // Log the message + log.info(`GetProfileMaps: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); + } catch (error) { + log.info(error as string); + throw new Error("Error sending profile info"); + } +} diff --git a/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts b/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts new file mode 100644 index 000000000..a99eab455 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts @@ -0,0 +1,61 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { SocketCallback } from "./index.js"; +import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; +import { + getUserSessionByConnectionId, + getUserSessionByCustomerId, + getUserSessionByProfileId, + setUserSession, + userSessions, +} from "../services/session.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { UserInfo } from "../messageStructs/UserInfo.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processLobbyLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + // This message is a BareMessageV0 + + const profileId = getDWord(message.getDataAsBuffer(), 0, false); + + const profileName = getLenString(message.getDataAsBuffer(), 4, false); + + const session = await getUserSessionByProfileId(profileId); + + // Dump all sessions + console.dir(userSessions); + + // If the session doesn't exist, return + if (!session) { + throw new Error(`Session not found for profile ID ${profileId}`); + } + + // Create the new session + const newSession = { + ...session, + connectionId, + }; + + // Set the new session + setUserSession(newSession); + + log.info(`LobbyLogin: ${message.toString()}`); + + const response = new UserInfo(profileId, profileName); + + log.info(`Sending response: ${response.toString()}`); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x120); + + responseMessage.setData(response); + + log.info(`Response message: ${responseMessage.toString()}`); + + const responseBytes = responseMessage.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processPing.ts b/thebeast/lib/nps/messageProcessors/processPing.ts new file mode 100644 index 000000000..185d53f02 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processPing.ts @@ -0,0 +1,24 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SocketCallback } from "./index.js"; +import { getLenString, getNBytes } from "../utils/pureGet.js"; +import { + getUserSessionByConnectionId, + setUserSession, +} from "../services/session.js"; +import { log } from "../../../packages/shared/log.js"; + +export async function processPing( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + log.info(`Ping: ${message.toString()}`); + + const response = new GameMessage(0); + response.header.setId(0x207); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); +} diff --git a/thebeast/lib/nps/messageProcessors/processUserLogin.ts b/thebeast/lib/nps/messageProcessors/processUserLogin.ts new file mode 100644 index 000000000..5c193c715 --- /dev/null +++ b/thebeast/lib/nps/messageProcessors/processUserLogin.ts @@ -0,0 +1,202 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import fs from "node:fs"; +import crypto from "node:crypto"; +import * as Sentry from "@sentry/node"; +import { getToken } from "../services/token.js"; +import { createNewUserSession, setUserSession } from "../services/session.js"; +import { SocketCallback } from "./index.js"; +import { SessionKey } from "../messageStructs/SessionKey.js"; +import { getAsHex, getLenString } from "../utils/pureGet.js"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserAction } from "../messageStructs/UserAction.js"; +import { log } from "../../../packages/shared/log.js"; + +export function loadPrivateKey(path: string): string { + const privateKey = fs.readFileSync(path); + + return privateKey.toString("utf8"); +} + +export function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string { + const sessionKeyStructure = crypto.privateDecrypt( + privateKey, + Buffer.from(encryptedSessionKey, "hex"), + ); + + return sessionKeyStructure.toString("hex"); +} + +export function unpackUserLoginMessage(message: ISerializable): { + sessionKey: string; + gameId: string; + contextToken: string; +} { + log.info(`Unpacking user login message: ${getAsHex(message.serialize())}`); + + // Get the context token + const ticket = getLenString(message.serialize(), 0, false); + + let dataOffset = ticket.length + 2; + + // The next data structure is a container with an empty id, a length, and a data structure + + // Skip the empty id + dataOffset += 2; + + // Get the next data length + const nextDataLength = message.serialize().readUInt16BE(dataOffset); + + // This value is the encrypted session key hex, stored as a string + const encryptedSessionKey = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) + .toString("utf8"); + + // Load the private key + const privateKey = loadPrivateKey("./data/private_key.pem"); + + // Decrypt the session key + const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); + + // Unpack the session key + const sessionKeyStructure = SessionKey.fromBytes( + Buffer.from(sessionKey, "hex"), + ); + + // Update the data offset + dataOffset += 2 + nextDataLength; + + // Get the next data length + const nextDataLength2 = message.serialize().readUInt16BE(dataOffset); + + // This value is the game id (used by server to identify the game) + const gameId = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) + .toString("utf8"); + + // Update the data offset + dataOffset += 2 + nextDataLength2; + + // Return the session key, game id, and context token + return { + sessionKey: sessionKeyStructure.getKey(), + gameId, + contextToken: ticket, + }; +} + +export async function processUserLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + Sentry.startSpan( + { + name: "processUserLogin", + op: "processUserLogin", + }, + async (span) => { + // Log the message + log.info(`User login request: ${message.toString()}`); + + // Unpack the message + try { + const { sessionKey, gameId, contextToken } = + unpackUserLoginMessage(message.getData()); + + // Log the context token + log.info(`Context token: ${contextToken}`); + + // Look up the customer id + const user = getToken(contextToken); + + // If the user is not found, return an error + if (user === undefined) { + console.error("User not found"); + + // Create a new message - Not found + const response = new GameMessage(0); + response.header.setId(0x602); + + // Send the message - twice + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + (span) => { + socketCallback([response.serialize()]); + }, + ); + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + (span) => { + socketCallback([response.serialize()]); + }, + ); + + return; + } + + // Log the user + log.info(`User: ${user.customerId}`); + + // Create a new user session + const userSession = await createNewUserSession({ + customerId: user.customerId, + token: contextToken, + connectionId, + port: 0, + ipAddress: "", + activeProfileId: 0, + nextSequenceNumber: 0, + sessionKey, + clientVersion: "unknown", + }); + + // Save the user session + setUserSession(userSession); + + // Create a new message - Login ACK + const loginACK = new GameMessage(0); + loginACK.header.setId(0x601); + + // Send the ack + socketCallback([loginACK.serialize()]); + + // Create a new UserStatus message + const userStatus = UserStatus.new(); + userStatus.setCustomerId(user.customerId); + userStatus.setPersonaId(0); + userStatus.setBan(new UserAction("ban")); + userStatus.setGag(new UserAction("gag")); + userStatus.setSessionKey(SessionKey.fromKeyString(sessionKey)); + + // Create a new message - UserStatus + const userStatusMessage = new GameMessage(257); + userStatusMessage.header.setId(0x601); + + userStatusMessage.setData(userStatus); + + // Log the message + log.info(`UserStatus: ${userStatusMessage.toString()}`); + + // Send the message + socketCallback([userStatusMessage.serialize()]); + socketCallback([userStatusMessage.serialize()]); + + return; + } catch (e) { + console.error(e); + } + }, + ); +} diff --git a/thebeast/lib/nps/messageStructs/GameMessage.ts b/thebeast/lib/nps/messageStructs/GameMessage.ts new file mode 100644 index 000000000..59006a72e --- /dev/null +++ b/thebeast/lib/nps/messageStructs/GameMessage.ts @@ -0,0 +1,196 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; + +export class MessageHeader implements IMessageHeader { + private version: 0 | 257; + private id: number; + private length: number; + + constructor(version: 0 | 257, id: number, length: number) { + if (version !== 0 && version !== 257) { + throw new Error(`Invalid version ${version}`); + } + this.version = version; + this.id = id; + this.length = length !== 0 ? length : this.getByteSize(); + } + getDataOffset(): number { + return this.getVersion() === 0 ? 4 : 12; + } + getByteSize(): number { + return this.getVersion() === 0 ? 4 : 12; + } + + getVersion(): number { + return this.version; + } + getId(): number { + return this.id; + } + getLength(): number { + return this.length; + } + setVersion(version: 0 | 257): void { + if (version !== 0 && version !== 257) { + throw new Error("Invalid version"); + } + this.version = version; + } + setId(id: number): void { + this.id = id; + } + setLength(length: number): void { + this.length = length; + } + + private serializeV0(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16BE(this.id, 0); + buffer.writeUInt16BE(this.length, 2); + + return buffer; + } + + private serializeV1(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16BE(this.id, 0); + buffer.writeUInt16BE(this.length, 2); + buffer.writeUInt16BE(this.version, 4); + buffer.writeUInt16BE(0, 6); + buffer.writeUInt32BE(this.length, 8); + + return buffer; + } + + serialize(): Buffer { + return this.version === 0 ? this.serializeV0() : this.serializeV1(); + } + + private deserializeV0(data: Buffer): void { + this.id = data.readUInt16BE(0); + this.length = data.readUInt16BE(2); + } + + private deserializeV1(data: Buffer): void { + this.id = data.readUInt16BE(0); + this.length = data.readUInt16BE(2); + // Skip version + // Skip padding + this.length = data.readUInt32BE(8); + } + + deserialize(data: Buffer): void { + if (data.length < 4) { + throw new Error("Data is too short"); + } + + if (this.version === 0) { + this.deserializeV0(data); + } else { + this.deserializeV1(data); + } + } +} + +export class SerializableData implements ISerializable { + private data: Buffer; + constructor(requestedSize: number) { + this.data = Buffer.alloc(requestedSize); + } + + serialize(): Buffer { + return this.data; + } + + deserialize(data: Buffer): void { + if (data.length > this.data.length) { + throw new Error( + `Data is too long. Expected at most ${this.data.length} bytes, got ${data.length} bytes`, + ); + } + this.data = data; + } + + getByteSize(): number { + return this.data.length; + } + + toString(): string { + return `EmptyData(length=${this.data.length}, data=${this.data.toString( + "hex", + )})`; + } +} + +export class GameMessage implements IMessage { + header: MessageHeader; + data: ISerializable; + + constructor(version: 0 | 257) { + this.header = new MessageHeader(version, 0, 0); + this.data = new SerializableData(0); + } + getDataAsBuffer(): Buffer { + return this.data.serialize(); + } + + /** The message length is the length of the message data, not including the id */ + getByteSize(): number { + return this.header.getLength(); + } + getData(): ISerializable { + return this.data; + } + setData(data: ISerializable): void { + this.data = data; + this.header.setLength(data.getByteSize() + this.header.getByteSize()); + } + serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + const headerData = this.header.serialize(); + headerData.copy(buffer, 0); + const messageData = this.data.serialize(); + messageData.copy(buffer, this.header.getDataOffset()); + return buffer; + } + deserialize(data: Buffer): void { + if (data.length < this.header.getDataOffset()) { + throw new Error( + `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ + data.length + } bytes`, + ); + } + this.header.deserialize(data); + const messageData = data.subarray(this.header.getDataOffset()); + + // Update the message data to the required size + this.data = new SerializableData(this.header.getLength()); + + this.data.deserialize(messageData); + } + + toString(): string { + return `Id: ${this.header.getId()} + Length: ${this.header.getLength()} + Data: ${this.data.toString()}`; + } + + static identifyVersion(data: Buffer): 0 | 257 { + if (data.length < 6) { + return 0; + } + + const version = data.readUInt16BE(4); + if (version !== 257) { + return 0; + } + + return 257; + } + + static fromGameMessage(version: 0 | 257, source: GameMessage): GameMessage { + const message = new GameMessage(version); + message.deserialize(source.serialize()); + return message; + } +} diff --git a/thebeast/lib/nps/messageStructs/GameProfile.ts b/thebeast/lib/nps/messageStructs/GameProfile.ts new file mode 100644 index 000000000..d4842508e --- /dev/null +++ b/thebeast/lib/nps/messageStructs/GameProfile.ts @@ -0,0 +1,198 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { putLenBlob, putLenString, putShortBool } from "../utils/purePut.js"; +import { + getAsHex, + getLenBlob, + getLenString, + getShortBool, +} from "../utils/pureGet.js"; + +export class GameProfile implements ISerializable { + customerId: number; // 4 bytes + profileName: string; // 32 bytes - max length + serverId: number; // 4 bytes + createStamp: number; // 4 bytes + lastLoginStamp: number; // 4 bytes + numberGames: number; // 4 bytes + profileId: number; // 4 bytes + isOnline: boolean; // 2 bytes + gamePurchaseStamp: number; // 4 bytes + gameSerialNumber: string; // 32 bytes - max length + timeOnline: number; // 4 bytes + timeInGame: number; // 4 bytes + gameBlob: Buffer; // 512 bytes - max length + personalBlob: Buffer; // 256 bytes - max length + pictureBlob: Buffer; // 1 byte + dnd: boolean; // 2 bytes + gameStartStamp: number; // 4 bytes + currentKey: string; // 400 bytes - max length + profileLevel: number; // 2 bytes + shardId: number; // 4 bytes + + constructor() { + this.customerId = 0; + this.profileName = ""; + this.serverId = 0; + this.createStamp = 0; + this.lastLoginStamp = 0; + this.numberGames = 0; + this.profileId = 0; + this.isOnline = false; + this.gamePurchaseStamp = 0; + this.gameSerialNumber = ""; + this.timeOnline = 0; + this.timeInGame = 0; + this.gameBlob = Buffer.alloc(0); + this.personalBlob = Buffer.alloc(0); + this.pictureBlob = Buffer.alloc(0); + this.dnd = false; + this.gameStartStamp = 0; + this.currentKey = ""; + this.profileLevel = 0; + this.shardId = 0; + } + serialize(): Buffer { + throw new Error("Method not implemented."); + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + throw new Error("Method not implemented."); + } + + static new(): GameProfile { + return new GameProfile(); + } + + static fromBytes(data: Buffer, size: number): GameProfile { + const message = new GameProfile(); + let offset = 0; + message.customerId = data.readUInt32BE(offset); + offset += 4; + message.profileName = getLenString(data, offset, false); + offset += message.profileName.length + 2; + message.serverId = data.readUInt32BE(offset); + offset += 4; + message.createStamp = data.readUInt32BE(offset); + offset += 4; + message.lastLoginStamp = data.readUInt32BE(offset); + offset += 4; + message.numberGames = data.readUInt32BE(offset); + offset += 4; + message.profileId = data.readUInt32BE(offset); + offset += 4; + message.isOnline = getShortBool(data, offset); + offset += 2; + message.gamePurchaseStamp = data.readUInt32BE(offset); + offset += 4; + message.gameSerialNumber = getLenString(data, offset, false); + offset += message.gameSerialNumber.length + 2; + message.timeOnline = data.readUInt32BE(offset); + offset += 4; + message.timeInGame = data.readUInt32BE(offset); + offset += 4; + message.gameBlob = getLenBlob(data, offset, false); + offset += message.gameBlob.length + 2; + message.personalBlob = getLenBlob(data, offset, false); + offset += message.personalBlob.length + 2; + message.pictureBlob = data.subarray(offset, offset + 1); + offset += message.pictureBlob.length; + message.dnd = getShortBool(data, offset); + offset += 2; + message.gameStartStamp = data.readUInt32BE(offset); + offset += 4; + message.currentKey = getLenString(data, offset, false); + offset += message.currentKey.length + 2; + message.profileLevel = data.readUInt16BE(offset); + offset += 2; + message.shardId = data.readUInt32BE(offset); + + return message; + } + + toBytes(): Buffer { + const buffer = Buffer.alloc(this.getSize()); + let offset = 0; + buffer.writeUInt32BE(this.customerId, offset); + offset += 4; // offset is now 4 + buffer.writeUInt16BE(3341, offset); + offset += 2; // offset is now 6 + buffer.writeUInt32BE(this.profileId, offset); + offset += 4; // offset is now 10 + buffer.writeUInt32BE(this.shardId, offset); + offset += 4; // offset is now 14 + offset += 2; // offset is now 16 + putLenString(buffer, offset, this.profileName, false); + + // buffer.writeUInt32BE(this.serverId, offset); + // offset += this.profileName.length + 2; + // buffer.writeUInt32BE(this.createStamp, offset); + // offset += 4; + // buffer.writeUInt32BE(this.lastLoginStamp, offset); + // offset += 4; + // buffer.writeUInt32BE(this.numberGames, offset); + // offset += 4; + // putShortBool(buffer, offset, this.isOnline); + // offset += 2; + // buffer.writeUInt32BE(this.gamePurchaseStamp, offset); + // offset += 4; + // putLenString(buffer, offset, this.gameSerialNumber, false); + // offset += this.gameSerialNumber.length + 2; + // buffer.writeUInt32BE(this.timeOnline, offset); + // offset += 4; + // buffer.writeUInt32BE(this.timeInGame, offset); + // offset += 4; + // putLenBlob(buffer, offset, this.gameBlob, false); + // offset += this.gameBlob.length + 2; + // putLenBlob(buffer, offset, this.personalBlob, false); + // offset += this.personalBlob.length + 2; + // this.pictureBlob.copy(buffer, offset, 0, 1); + // offset += 1; + // putShortBool(buffer, offset, this.dnd); + // offset += 2; + // buffer.writeUInt32BE(this.gameStartStamp, offset); + // offset += 4; + // putLenString(buffer, offset, this.currentKey, false); + // offset += this.currentKey.length + 2; + // buffer.writeUInt16BE(this.profileLevel, offset); + // offset += 2; + return buffer; + } + toString(): string { + return `GameProfile: + customerID: ${this.customerId} + profileName: ${this.profileName} + serverId: ${this.serverId} + createStamp: ${this.createStamp} + lastLoginStamp: ${this.lastLoginStamp} + numberGames: ${this.numberGames} + profileId: ${this.profileId} + isOnline: ${this.isOnline} + gamePurchaseStamp: ${this.gamePurchaseStamp} + gameSerialNumber: ${this.gameSerialNumber} + timeOnline: ${this.timeOnline} + timeInGame: ${this.timeInGame} + gameBlob: ${this.gameBlob} + personalBlob: ${this.personalBlob} + pictureBlob: ${this.pictureBlob} + dnd: ${this.dnd} + gameStartStamp: ${this.gameStartStamp} + currentKey: ${this.currentKey} + profileLevel: ${this.profileLevel} + shardId: ${this.shardId} + `; + } + toHex(): string { + return getAsHex(this.toBytes()); + } + setData(data: Buffer): void { + throw new Error("Method not implemented."); + } + getData(): Buffer { + throw new Error("Method not implemented."); + } + getSize(): number { + return 52; + } +} diff --git a/thebeast/lib/nps/messageStructs/MiniRiffList.ts b/thebeast/lib/nps/messageStructs/MiniRiffList.ts new file mode 100644 index 000000000..843f37309 --- /dev/null +++ b/thebeast/lib/nps/messageStructs/MiniRiffList.ts @@ -0,0 +1,98 @@ +import { log } from "../../../packages/shared/log.js"; +import { IMessage, IMessageHeader, ISerializable } from "../types.js"; +import { putLenString } from "../utils/purePut.js"; +import { GameMessage } from "./GameMessage.js"; +import { NPSList } from "./NPSList.js"; + +const channelRecordSize = 40 + +export class MiniRiffInfo implements ISerializable { + riffName: string; // 32 bytes - max length + riffId: number; // 4 bytes + population: number; // 2 bytes + + constructor(riffName: string, riffId: number, population: number) { + if (riffName.length > 32) { + throw new Error(`Riff name too long: ${riffName}`); + } + + this.riffName = riffName; + this.riffId = riffId; + this.population = population; + } + + serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + let offset = 0; + putLenString(buffer, offset, this.riffName, false); + offset += 2 + this.riffName.length + 1; + buffer.writeUInt32BE(this.riffId, offset); + offset += 4; + buffer.writeUInt16BE(this.population, offset); + log.debug(`MiniRiffInfo: ${this.toString()} - ${buffer.toString("hex")}`); + return buffer; + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + return 4 + + this.riffName.length + 1 + + 4 + + 2; + } + toString(): string { + return `MiniRiffInfo(riffName=${this.riffName}, riffId=${this.riffId}, population=${this.population})`; + } +} + +export class MiniRiffList extends NPSList implements ISerializable { + override serialize(): Buffer { + return this.toBytes(); + } + override deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + override getByteSize(): number { + return this.getSize(); + } + private riffs: MiniRiffInfo[] = []; + + getMaxRiffs(): number { + return this.riffs.length; + } + + addRiff(riff: MiniRiffInfo): void { + this.riffs.push(riff); + } + + override toBytes(): Buffer { + const buffer = Buffer.alloc(this.getSize()); + let offset = 0; + buffer.writeUInt32BE(this.riffs.length, offset); + offset += 4; + for (const riff of this.riffs) { + const riffBuffer = riff.serialize(); + riffBuffer.copy(buffer, offset); + offset += riff.getByteSize(); + } + + log.debug(`MiniRiffList: ${this.toString()} - ${buffer.toString("hex")}`); + return buffer; + } + override toString(): string { + return `MiniRiffList(riffs=${this.riffs})`; + } + override toHex(): string { + return this.toBytes().toString("hex"); + } + + override getSize(): number { + let size = 4 + for (const riff of this.riffs) { + size += riff.getByteSize(); + } + return size; + + } +} diff --git a/thebeast/lib/nps/messageStructs/MiniUserList.ts b/thebeast/lib/nps/messageStructs/MiniUserList.ts new file mode 100644 index 000000000..3bff98a68 --- /dev/null +++ b/thebeast/lib/nps/messageStructs/MiniUserList.ts @@ -0,0 +1,73 @@ +import { e } from "vitest/dist/reporters-1evA5lom.js"; +import { ISerializable } from "../types.js"; +import { putLenString } from "../utils/purePut.js"; + +export class MiniUserInfo implements ISerializable { + userId: number; // 4 bytes + userName: string; // 32 bytes - max length + + constructor(userId: number, userName: string) { + if (userName.length > 32) { + throw new Error(`User name too long: ${userName}`); + } + + this.userId = userId; + this.userName = userName; + } + + serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + let offset = 0; + buffer.writeUInt32BE(this.userId, offset); + offset += 4; + putLenString(buffer, offset, this.userName, false); + return buffer; + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + return 4 + 4 + this.userName.length + 1; + } + toString(): string { + return `MiniUserInfo(userId=${this.userId}, userName=${this.userName})`; + } +} + +export class MiniUserList implements ISerializable { + private channelId: number; // 4 bytes + private channelUsers: MiniUserInfo[] = []; + + constructor(channelId: number) { + this.channelId = channelId; + } + + addChannelUser(user: MiniUserInfo): void { + this.channelUsers.push(user); + } + + + serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + let offset = 0; + buffer.writeUInt32BE(this.channelId, offset); + offset += 4; + buffer.writeUInt32BE(this.channelUsers.length, offset); + offset += 4; + this.channelUsers.forEach((user) => { + const userBuffer = user.serialize(); + userBuffer.copy(buffer, offset); + offset += userBuffer.length; + }); + return buffer; + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + return 16 + this.channelUsers.reduce((acc, user) => acc + user.getByteSize(), 0); + } + toString(): string { + return `MiniUserList(channelId=${this.channelId}, channelUsers=${this.channelUsers})`; + } +} diff --git a/thebeast/lib/nps/messageStructs/NPSList.ts b/thebeast/lib/nps/messageStructs/NPSList.ts new file mode 100644 index 000000000..759e9a34b --- /dev/null +++ b/thebeast/lib/nps/messageStructs/NPSList.ts @@ -0,0 +1,34 @@ +import { ISerializable, IMessage } from "../types.js"; + +export class NPSList implements ISerializable { + serialize(): Buffer { + throw new Error("Method not implemented."); + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + throw new Error("Method not implemented."); + } + private list: IMessage[] = []; + + toBytes(): Buffer { + throw new Error("Method not implemented."); + } + toString(): string { + throw new Error("Method not implemented."); + } + toHex(): string { + throw new Error("Method not implemented."); + } + setData(data: Buffer): void { + throw new Error("Method not implemented."); + } + getData(): Buffer { + throw new Error("Method not implemented."); + } + + getSize(): number { + return 0; + } +} diff --git a/thebeast/lib/nps/messageStructs/ProfileList.ts b/thebeast/lib/nps/messageStructs/ProfileList.ts new file mode 100644 index 000000000..f2ce88118 --- /dev/null +++ b/thebeast/lib/nps/messageStructs/ProfileList.ts @@ -0,0 +1,59 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { GameProfile } from "./GameProfile.js"; +import { NPSList } from "./NPSList.js"; + +export class ProfileList extends NPSList implements ISerializable { + override serialize(): Buffer { + return this.toBytes(); + } + override deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + override getByteSize(): number { + return this.getSize(); + } + maxProfiles = 0; // 1 byte + private profiles: GameProfile[] = []; + + getMaxProfiles(): number { + return this.maxProfiles; + } + + addProfile(profile: GameProfile): void { + this.profiles.push(profile); + this.maxProfiles = this.profiles.length; + } + + override toBytes(): Buffer { + const buffer = Buffer.alloc(this.getSize()); + let offset = 0; + buffer.writeUInt16BE(this.maxProfiles, offset); + offset += 2; + for (const profile of this.profiles) { + const profileBuffer = profile.toBytes(); + profileBuffer.copy(buffer, offset); + offset += profile.getSize(); + } + return buffer; + } + override toString(): string { + return `ProfileList(maxProfiles=${this.maxProfiles}, profiles=${this.profiles})`; + } + override toHex(): string { + throw new Error("Method not implemented."); + } + override setData(data: Buffer): void { + throw new Error("Method not implemented."); + } + override getData(): Buffer { + throw new Error("Method not implemented."); + } + + override getSize(): number { + let size = 4; + for (const profile of this.profiles) { + size += profile.getSize(); + } + return size; + } +} diff --git a/thebeast/lib/nps/messageStructs/SessionKey.ts b/thebeast/lib/nps/messageStructs/SessionKey.ts new file mode 100644 index 000000000..c1ad031a4 --- /dev/null +++ b/thebeast/lib/nps/messageStructs/SessionKey.ts @@ -0,0 +1,78 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { getAsHex } from "../utils/pureGet.js"; + +export class SessionKey implements ISerializable { + private key: Buffer; + private timestamp: number; + + constructor(key: Buffer, timestamp: number) { + this.key = key; + this.timestamp = timestamp; + } + serialize(): Buffer { + throw new Error("Method not implemented."); + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + throw new Error("Method not implemented."); + } + + static fromBytes(bytes: Buffer): SessionKey { + const keyLength = bytes.readUInt16BE(0); + + // Set the data offset + let dataOffset = 2 + keyLength; + + const key = bytes.subarray(2, dataOffset); + + // Get the timestamp + const timestamp = bytes.readUInt32BE(dataOffset); + + return new SessionKey(key, timestamp); + } + + static fromKeyString(key: string): SessionKey { + const keyBuffer = Buffer.from(key, "hex"); + + return new SessionKey(keyBuffer, 0); + } + + getKey(): string { + return this.key.toString("hex"); + } + + toString(): string { + return `SessionKey(key=${this.getKey()}, timestamp=${this.timestamp})`; + } + + toHex(): string { + return getAsHex(this.toBytes()); + } + + toBytes(): Buffer { + const keyLength = this.key.length; + const timestamp = this.timestamp; + + const buffer = Buffer.alloc(2 + keyLength + 4); + + buffer.writeUInt16BE(keyLength, 0); + this.key.copy(buffer, 2); + buffer.writeUInt32BE(timestamp, 2 + keyLength); + + return buffer; + } + + getSize(): number { + return this.key.length + 6; + } + + getData(): Buffer { + throw new Error("Method not implemented."); + } + + setData(data: Buffer): void { + throw new Error("Method not implemented."); + } +} diff --git a/thebeast/lib/nps/messageStructs/UserAction.ts b/thebeast/lib/nps/messageStructs/UserAction.ts new file mode 100644 index 000000000..a633a2e8d --- /dev/null +++ b/thebeast/lib/nps/messageStructs/UserAction.ts @@ -0,0 +1,49 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { getAsHex } from "../utils/pureGet.js"; + +export class UserAction implements ISerializable { + private name: string; + private data: Buffer = Buffer.alloc(0); + + constructor(name: string, bytes?: Buffer) { + this.name = name; + if (bytes) { + this.data = bytes; + } + } + serialize(): Buffer { + throw new Error("Method not implemented."); + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + throw new Error("Method not implemented."); + } + setData(data: Buffer): void { + throw new Error("Method not implemented."); + } + getData(): Buffer { + throw new Error("Method not implemented."); + } + + static fromBytes(name: string, bytes: Buffer): UserAction { + const dara = bytes.toString("utf8"); + + return new UserAction(name, bytes); + } + + toBytes(): Buffer { + return Buffer.from(this.name, "utf8"); + } + toString(): string { + return this.name; + } + toHex(): string { + return getAsHex(this.toBytes()); + } + + getSize(): number { + return this.name.length; + } +} diff --git a/thebeast/lib/nps/messageStructs/UserInfo.ts b/thebeast/lib/nps/messageStructs/UserInfo.ts new file mode 100644 index 000000000..7df00043c --- /dev/null +++ b/thebeast/lib/nps/messageStructs/UserInfo.ts @@ -0,0 +1,46 @@ +import { ISerializable } from "../types.js"; + +export class UserInfo implements ISerializable { + private profileId: number; // 4 bytes + private profileName: string; // 32 bytes - max length + private userData; // 64 bytes + + constructor(id: number, name: string) { + if (name.length > 31) { + throw new Error( + `Profile name too long: ${name}, max length is 31, got ${name.length}`, + ); + } + this.profileId = id; + this.profileName = name; + this.userData = Buffer.alloc(64); + } + + serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + let offset = 0; + buffer.writeInt32BE(this.profileId, offset); + offset += 4; + buffer.writeUInt16BE(this.profileName.length, offset); + offset += 2; + buffer.write( + `${this.profileName}\0`, + offset, + this.profileName.length + 1, + "utf8", + ); + offset += this.profileName.length + 1; + this.userData.copy(buffer, offset); + return buffer; + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + return 4 + 2 + this.profileName.length + 1 + 64; + } + toString(): string { + return `Profile ID: ${this.profileId}, + Profile Name: ${this.profileName}`; + } +} diff --git a/thebeast/lib/nps/messageStructs/UserStatus.ts b/thebeast/lib/nps/messageStructs/UserStatus.ts new file mode 100644 index 000000000..4a417b13f --- /dev/null +++ b/thebeast/lib/nps/messageStructs/UserStatus.ts @@ -0,0 +1,155 @@ +import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { SessionKey } from "./SessionKey.js"; +import { UserAction } from "./UserAction.js"; + +export class UserStatus implements ISerializable { + private customerId: number; + private personaId: number; + private isCacheHit: boolean; + private ban: UserAction; + private gag: UserAction; + private sessionKey: SessionKey; + + constructor( + customerId: number, + personaId: number, + isCacheHit: boolean, + ban: UserAction, + gag: UserAction, + sessionKey: SessionKey, + ) { + this.customerId = customerId; + this.personaId = personaId; + this.isCacheHit = isCacheHit; + this.ban = ban; + this.gag = gag; + this.sessionKey = sessionKey; + } + serialize(): Buffer { + return this.toBytes(); + } + deserialize(data: Buffer): void { + throw new Error("Method not implemented."); + } + getByteSize(): number { + return this.getSize(); + } + + static new(): UserStatus { + return new UserStatus( + 0, + 0, + false, + new UserAction("ban"), + new UserAction("gag"), + new SessionKey(Buffer.alloc(12), 0), + ); + } + + static fromBytes(bytes: Buffer): UserStatus { + let offset = 0; + const customerId = bytes.readUInt32BE(offset); + offset += 4; + const personaId = bytes.readUInt32BE(offset); + offset += 4; + const isCacheHit = bytes.readUInt8(offset) === 1; + offset += 1; + const ban = UserAction.fromBytes("ban", bytes.subarray(offset)); + offset += ban.getSize(); + const gag = UserAction.fromBytes("gag", bytes.subarray(offset)); + offset += gag.getSize(); + const sessionKey = SessionKey.fromBytes(bytes.subarray(offset)); + + return new UserStatus( + customerId, + personaId, + isCacheHit, + ban, + gag, + sessionKey, + ); + } + + toBytes(): Buffer { + const buffer = Buffer.alloc(this.getSize()); + + let offset = 0; + buffer.writeUInt32BE(this.customerId, offset); + offset += 4; + buffer.writeUInt32BE(this.personaId, offset); + offset += 4; + buffer.writeUInt8(this.isCacheHit ? 1 : 0, offset); + offset += 1; + this.ban.toBytes().copy(buffer, offset); + offset += this.ban.getSize(); + this.gag.toBytes().copy(buffer, offset); + offset += this.gag.getSize(); + this.sessionKey.toBytes().copy(buffer, offset); + offset += this.sessionKey.getSize(); + + return buffer; + } + + getSize(): number { + return ( + 14 + + this.ban.getSize() + + this.gag.getSize() + + this.sessionKey.getSize() + ); + } + + getCustomerId(): number { + return this.customerId; + } + + setCustomerId(customerId: number) { + this.customerId = customerId; + } + + getPersonaId(): number { + return this.personaId; + } + + setPersonaId(personaId: number) { + this.personaId = personaId; + } + + getSessionKey(): SessionKey { + return this.sessionKey; + } + + setSessionKey(sessionKey: SessionKey) { + this.sessionKey = sessionKey; + } + + setBan(ban: UserAction) { + this.ban = ban; + } + + getGag(): UserAction { + return this.gag; + } + + setGag(gag: UserAction) { + this.gag = gag; + } + + toString(): string { + return `UserStatus: + Customer ID: ${this.customerId} + Persona ID: ${this.personaId} + Is Cache Hit: ${this.isCacheHit} + Ban: ${this.ban.toString()} + Gag: ${this.gag.toString()} + Session Key: ${this.sessionKey.toString()}`; + } + + toHex(): string { + return this.toBytes().toString("hex"); + } + + setData(data: Buffer) { + throw new Error("Method not implemented."); + } +} diff --git a/thebeast/lib/nps/services/account.ts b/thebeast/lib/nps/services/account.ts new file mode 100644 index 000000000..5a1a8e22d --- /dev/null +++ b/thebeast/lib/nps/services/account.ts @@ -0,0 +1,65 @@ +export type User = { + username: string; + password: string; + customerId: number; + createdAt: Date; + updatedAt: Date; +}; + +const users: User[] = []; + +export async function populateGameUsers(): Promise { + // Create the default admin user + users.push({ + username: "admin", + password: "admin", + customerId: 1, + createdAt: new Date(), + updatedAt: new Date(), + }); + + // Create the default molly user + users.push({ + username: "molly", + password: "molly", + customerId: 2, + createdAt: new Date(), + updatedAt: new Date(), + }); +} + +export async function getUser(username: string): Promise { + return users.find((user) => user.username === username); +} + +export async function addUser(user: User): Promise { + users.push({ + username: user.username, + password: user.password, + customerId: user.customerId, + createdAt: new Date(), + updatedAt: new Date(), + }); +} + +export async function deleteUser(username: string): Promise { + const index = users.findIndex((user) => user.username === username); + users.splice(index, 1); +} + +export async function getCustomerId( + username: string, +): Promise { + const user = await getUser(username); + if (typeof user === "undefined") { + return undefined; + } + return user ? user.customerId : undefined; +} + +export async function checkPassword( + user: User, + password: string, +): Promise { + return user.password === password; +} diff --git a/thebeast/lib/nps/services/profile.ts b/thebeast/lib/nps/services/profile.ts new file mode 100644 index 000000000..14f60e0c6 --- /dev/null +++ b/thebeast/lib/nps/services/profile.ts @@ -0,0 +1,71 @@ +import { GameProfile } from "../messageStructs/GameProfile.js"; + +export const gameProfiles: GameProfile[] = []; + +export async function populateGameProfiles( + profiles: GameProfile[], +): Promise { + const profile1 = GameProfile.new(); + profile1.customerId = 2; + profile1.profileName = "molly"; + profile1.serverId = 1; + profile1.createStamp = 0; + profile1.lastLoginStamp = 0; + profile1.numberGames = 0; + profile1.profileId = 1000; + profile1.isOnline = false; + profile1.gamePurchaseStamp = 0; + profile1.gameSerialNumber = ""; + profile1.timeOnline = 0; + profile1.timeInGame = 0; + profile1.gameBlob = Buffer.alloc(0); + profile1.personalBlob = Buffer.alloc(0); + profile1.pictureBlob = Buffer.alloc(0); + profile1.dnd = false; + profile1.gameStartStamp = 0; + profile1.currentKey = ""; + profile1.profileLevel = 0; + profile1.shardId = 44; + profiles.push(profile1); +} + +export async function getGameProfilesForCustomerId( + customerId: number, +): Promise { + const profiles: GameProfile[] = []; + for (const profile of gameProfiles.values()) { + if (profile.customerId === customerId) { + profiles.push(profile); + } + } + return profiles; +} + +export async function gameProfileExists(profileName: string): Promise { + for (const profile of gameProfiles.values()) { + if (profile.profileName === profileName) { + return true; + } + } + return false; +} + +export async function addGameProfile(profile: GameProfile): Promise { + gameProfiles.push(profile); +} + +export async function deleteGameProfile(profileId: number): Promise { + for (const [index, profile] of gameProfiles.entries()) { + if (profile.profileId === profileId) { + gameProfiles.splice(index, 1); + return; + } + } +} + +export async function createGameProfile(): Promise { + const profile = GameProfile.new(); + + addGameProfile(profile); + return profile; +} diff --git a/thebeast/lib/nps/services/session.ts b/thebeast/lib/nps/services/session.ts new file mode 100644 index 000000000..6b8ea8acb --- /dev/null +++ b/thebeast/lib/nps/services/session.ts @@ -0,0 +1,173 @@ +import { + Cipher, + Decipher, + createCipheriv, + createDecipheriv, +} from "node:crypto"; + +export type ClientVersion = "debug" | "release" | "unknown"; + +export type EncryptionSession = { + connectionId: string; + customerId: number; + sessionKey: string; + gameCipher: Cipher; + gameDecipher: Decipher; +}; + +export const encryptionSessions = new Map([]); + +export async function setEncryptionSession( + encryptionSession: EncryptionSession, +): Promise { + encryptionSessions.set(encryptionSession.connectionId, encryptionSession); +} + +export async function getEncryptionSession( + connectionId: string, +): Promise { + if (encryptionSessions.has(connectionId)) { + return encryptionSessions.get(connectionId); + } + return undefined; +} + +export async function deleteEncryptionSession( + connectionId: string, +): Promise { + encryptionSessions.delete(connectionId); +} + +export async function newEncryptionSession({ + connectionId, + customerId, + sessionKey, +}: { + connectionId: string; + customerId: number; + sessionKey: string; +}): Promise { + const gameCipher = createCipheriv( + "des-cbc", + Buffer.from(sessionKey, "hex"), + Buffer.alloc(8), + ); + gameCipher.setAutoPadding(false); + const gameDecipher = createDecipheriv( + "des-cbc", + Buffer.from(sessionKey, "hex"), + Buffer.alloc(8), + ); + gameDecipher.setAutoPadding(false); + const encryptionSession = { + connectionId, + customerId, + sessionKey, + gameCipher, + gameDecipher, + }; + setEncryptionSession(encryptionSession); + return encryptionSession; +} + +export type UserSession = { + customerId: number; + token: string; + connectionId: string; + port: number; + ipAddress: string; + activeProfileId: number; + nextSequenceNumber: number; + sessionKey: string; + clientVersion: ClientVersion; +}; + +export const userSessions = new Map([]); + +export async function setUserSession(userSession: UserSession): Promise { + userSessions.set(userSession.token, userSession); +} + +export async function getUserSession( + token: string, +): Promise { + if (userSessions.has(token)) { + return userSessions.get(token); + } + return undefined; +} + +export async function deleteUserSession(token: string): Promise { + userSessions.delete(token); +} + +export async function getUserSessionByConnectionId( + connectionId: string, +): Promise { + for (const userSession of userSessions.values()) { + if (userSession.connectionId === connectionId) { + return userSession; + } + } + return undefined; +} + +export async function getUserSessionByProfileId( + profileId: number, +): Promise { + for (const userSession of userSessions.values()) { + if (userSession.activeProfileId === profileId) { + return userSession; + } + } + return undefined; +} + +export async function getUserSessionByCustomerId( + customerId: number, +): Promise { + for (const userSession of userSessions.values()) { + if (userSession.customerId === customerId) { + return userSession; + } + } + return undefined; +} + +export async function getUserSessionByIPAndPort( + ipAddress: string, + port: number, +): Promise { + for (const userSession of userSessions.values()) { + if (userSession.ipAddress === ipAddress && userSession.port === port) { + return userSession; + } + } + return undefined; +} + +export async function createNewUserSession({ + customerId, + token, + connectionId, + port, + ipAddress, + activeProfileId, + nextSequenceNumber, + sessionKey, + clientVersion, +}: UserSession): Promise { + const userSession = { + customerId, + token, + connectionId, + port, + ipAddress, + activeProfileId, + nextSequenceNumber, + sessionKey, + clientVersion, + }; + setUserSession(userSession); + return userSession; +} diff --git a/thebeast/lib/nps/services/token.ts b/thebeast/lib/nps/services/token.ts new file mode 100644 index 000000000..c00326a4e --- /dev/null +++ b/thebeast/lib/nps/services/token.ts @@ -0,0 +1,65 @@ +import ShortUniqueId from "short-unique-id"; + +const uid = new ShortUniqueId.default(); + +export type TokenRecord = { + customerId: number; + token: string; +}; + +export const activeTokens = new Map([]); + +export function generateTokenRecord(customerId: number): TokenRecord { + const token = uid.stamp(34); + + return { + customerId, + token, + }; +} + +export function generateToken(customerId: number): string { + const tokenRecord = generateTokenRecord(customerId); + activeTokens.set(tokenRecord.token, tokenRecord); + return tokenRecord.token; +} + +export function isTokenExpired(token: string): boolean { + const issuedAt = uid.parseStamp(token).getTime(); + + // 30 minutes + const expirationTime = Date.now() - 1800000; + + if (issuedAt < expirationTime) { + return true; + } + + return false; +} + +export function getToken(token: string): TokenRecord | undefined { + if (activeTokens.has(token)) { + return activeTokens.get(token); + } + return undefined; +} + +export function deleteToken(token: string): void { + activeTokens.delete(token); +} + +export function deleteExpiredTokens(): void { + for (const token of activeTokens.keys()) { + if (isTokenExpired(token)) { + deleteToken(token); + } + } +} + +export function getCustomerId(token: string): number | undefined { + const tokenRecord = getToken(token); + if (typeof tokenRecord !== "undefined" && !isTokenExpired(token)) { + return tokenRecord.customerId; + } + return undefined; +} diff --git a/thebeast/lib/nps/services/types.ts b/thebeast/lib/nps/services/types.ts new file mode 100644 index 000000000..81bfde2b1 --- /dev/null +++ b/thebeast/lib/nps/services/types.ts @@ -0,0 +1,18 @@ +export type Part = { + PartID: number; + ParentPartID: number; + BrandedPartID: number; + RepairPrice: number; + JunkPrice: number; + Wear: number; + AttachmentPoint: number; + Damage: number; +}; + +export type Vehicle = { + VehicleID: number; + SkinID: number; + Flags: number; + Delta: number; + Damage: number; +}; diff --git a/thebeast/lib/nps/types.ts b/thebeast/lib/nps/types.ts new file mode 100644 index 000000000..e01f50a1e --- /dev/null +++ b/thebeast/lib/nps/types.ts @@ -0,0 +1,23 @@ +export interface ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} + +export interface IMessageHeader extends ISerializable { + getVersion(): number; + getId(): number; + getLength(): number; + getDataOffset(): number; + setVersion(version: number): void; + setId(id: number): void; + setLength(length: number): void; +} + +export interface IMessage extends ISerializable { + header: IMessageHeader; + getData(): ISerializable; + getDataAsBuffer(): Buffer; + setData(data: ISerializable): void; +} diff --git a/thebeast/lib/nps/utils/pureCompare.ts b/thebeast/lib/nps/utils/pureCompare.ts new file mode 100644 index 000000000..4bbe84c24 --- /dev/null +++ b/thebeast/lib/nps/utils/pureCompare.ts @@ -0,0 +1,26 @@ +export function isZero(n: number): boolean { + // Return true if n is zero + return n === 0; +} +export function lessThan(a: number, b: number): boolean { + // Return true if a < b + return a < b; +} +export function lessThanOrEqual(a: number, b: number): boolean { + // Return true if a <= b + return a <= b; +} +export function greaterThan(a: number, b: number): boolean { + // Return true if a > b + return a > b; +} + +export function greaterThanOrEqual(a: number, b: number): boolean { + // Return true if a >= b + return a >= b; +} + +export function areBothZero(a: number, b: number): boolean { + // Return true if both a and b are zero + return isZero(a) && isZero(b); +} diff --git a/thebeast/lib/nps/utils/pureGet.ts b/thebeast/lib/nps/utils/pureGet.ts new file mode 100644 index 000000000..ae2d0fe3e --- /dev/null +++ b/thebeast/lib/nps/utils/pureGet.ts @@ -0,0 +1,59 @@ +import { greaterThanOrEqual } from "./pureCompare.js"; + +export function getWord(bytes: Buffer, offset: number, isLE: boolean): number { + // Get the word at the offset + return isLE ? bytes.readUInt16LE(offset) : bytes.readUInt16BE(offset); +} + +export function getDWord(bytes: Buffer, offset: number, isLE: boolean): number { + // Get the dword at the offset + return isLE ? bytes.readUInt32LE(offset) : bytes.readUInt32BE(offset); +} + +/** + * Get the first n bytes of a buffer. + * If the buffer is shorter than n bytes, return the whole buffer + */ +export function getNBytes(bytes: Buffer, n: number): Buffer { + const bufferLength = bytes.length; + + const cutLength = greaterThanOrEqual(bufferLength, n) ? n : bufferLength; + + // Get the first n bytes + return bytes.subarray(0, cutLength); +} + +export function getAsHex(bytes: Buffer): string { + return bytes.length % 2 === 0 + ? bytes.toString("hex") + : bytes.toString("hex") + "0"; +} + +export function getLenString( + bytes: Buffer, + offset: number, + isLE: boolean, +): string { + // Get the length of the string + const strLen = getWord(bytes, offset, isLE); + + // Get the string + return bytes.subarray(offset + 2, offset + 2 + strLen).toString("utf8"); +} + +export function getLenBlob( + bytes: Buffer, + offset: number, + isLE: boolean, +): Buffer { + // Get the length of the blob + const blobLen = getDWord(bytes, offset, isLE); + + // Get the blob + return bytes.subarray(offset + 2, offset + 2 + blobLen); +} + +export function getShortBool(bytes: Buffer, offset: number): boolean { + // Get a 2 byte boolean + return bytes.readUInt16LE(offset) === 1; +} diff --git a/thebeast/lib/nps/utils/purePut.ts b/thebeast/lib/nps/utils/purePut.ts new file mode 100644 index 000000000..460301155 --- /dev/null +++ b/thebeast/lib/nps/utils/purePut.ts @@ -0,0 +1,105 @@ +export function put16( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer { + // Put the word at the offset + if (isLE) { + bytes.writeUInt16LE(word, offset); + } else { + bytes.writeUInt16BE(word, offset); + } + return bytes; +} + +export function put8(bytes: Buffer, offset: number, byte: number): Buffer { + // Put the byte at the offset + bytes.writeUInt8(byte, offset); + return bytes; +} + +export function put16BE(bytes: Buffer, offset: number, word: number): Buffer { + return put16(bytes, offset, word, false); +} + +export function put16LE(bytes: Buffer, offset: number, word: number): Buffer { + return put16(bytes, offset, word, true); +} + +export function put32( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer { + // Put the word at the offset + if (isLE) { + bytes.writeUInt32LE(word, offset); + } else { + bytes.writeUInt32BE(word, offset); + } + return bytes; +} + +export function put32BE(bytes: Buffer, offset: number, word: number): Buffer { + return put32(bytes, offset, word, false); +} + +export function put32LE(bytes: Buffer, offset: number, word: number): Buffer { + return put32(bytes, offset, word, true); +} + +export function putLenString( + bytes: Buffer, + offset: number, + str: string, + isLE: boolean, +): Buffer { + // Get the length of the string + const strLen = str.length + 1; + + // Put the length of the string + if (isLE) { + bytes.writeUInt32LE(strLen, offset); + } else { + bytes.writeUInt32BE(strLen, offset); + } + + // Put the string + bytes.write(str.concat("\0"), offset + 4, strLen, "utf8"); + + return bytes; +} + +export function putLenBlob( + bytes: Buffer, + offset: number, + blob: Buffer, + isLE: boolean, +): Buffer { + // Get the length of the blob + const blobLen = blob.length; + + // Put the length of the blob + if (isLE) { + bytes.writeUInt32LE(blobLen, offset); + } else { + bytes.writeUInt32BE(blobLen, offset); + } + + // Put the blob + blob.copy(bytes, offset + 4); + + return bytes; +} + +export function putShortBool( + bytes: Buffer, + offset: number, + bool: boolean, +): Buffer { + // Put a 2 byte boolean + bytes.writeUInt16LE(bool ? 1 : 0, offset); + return bytes; +} diff --git a/misc/mco-installer.ps1 b/thebeast/misc/mco-installer.ps1 similarity index 97% rename from misc/mco-installer.ps1 rename to thebeast/misc/mco-installer.ps1 index cda03c67e..c88798a7c 100644 --- a/misc/mco-installer.ps1 +++ b/thebeast/misc/mco-installer.ps1 @@ -1,42 +1,42 @@ -# Steps that this installer will perform -$installedRegistry = no -$installedCertificate = no -$installedPublicKey = no - -# Manually add/change registry entries -# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-7.1 -$path = 'HKLM:\SOFTWARE\WOW6432Node\EACom\AuthAuth' - -New-Item -Path $path -Force | Out-Null - -Set-ItemProperty -Path "$path\foo" -Name 'postInstallExecTimeout' -Value 30 -Force -Set-ItemProperty -Path $path -Name 'ConfigApplyAllSettingsForModels' -Value '' -Set-ItemProperty -Path $path -Name 'ConfigApplyAllSettingsForQueueNames' -Value '' -Set-ItemProperty -Path $path -Name 'ConfigApplyPreferencesOnlyForQueueNames' -Value '' -Set-ItemProperty -Path $path -Name 'OURestrictFailureCaption' -Value '' -Set-ItemProperty -Path $path -Name 'OURestrictFailureText' -Value '' - -# Import a certificate -# https://docs.microsoft.com/en-us/powershell/module/pki/import-certificate?view=windowsserver2019-ps -Import-Certificate -FilePath "$env:USERPROFILE\Downloads\mcouniverse.crt" -CertStoreLocation Cert:\CurrentUser\Root - -# Create a dialog box -# https://docs.microsoft.com/en-us/dotnet/api/system.windows.messagebox?view=net-5.0 -# Line break reference: https://social.technet.microsoft.com/Forums/lync/en-US/87f0a802-c7af-4517-85e1-be122c17ddb7/powershell-gui-popup-box-line-break -Add-Type -AssemblyName PresentationFramework -$msgBoxInput = [System.Windows.MessageBox]::Show("Would you like to install the SSL Root Certificate?`n(Choosing `"no`" will exit)",'Game input','YesNo','Information') - -switch ($msgBoxInput) { - - 'Yes' { - - ## Do something - - } - - 'No' { - - ## Do something - - } - +# Steps that this installer will perform +$installedRegistry = no +$installedCertificate = no +$installedPublicKey = no + +# Manually add/change registry entries +# https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_registry_provider?view=powershell-7.1 +$path = 'HKLM:\SOFTWARE\WOW6432Node\EACom\AuthAuth' + +New-Item -Path $path -Force | Out-Null + +Set-ItemProperty -Path "$path\foo" -Name 'postInstallExecTimeout' -Value 30 -Force +Set-ItemProperty -Path $path -Name 'ConfigApplyAllSettingsForModels' -Value '' +Set-ItemProperty -Path $path -Name 'ConfigApplyAllSettingsForQueueNames' -Value '' +Set-ItemProperty -Path $path -Name 'ConfigApplyPreferencesOnlyForQueueNames' -Value '' +Set-ItemProperty -Path $path -Name 'OURestrictFailureCaption' -Value '' +Set-ItemProperty -Path $path -Name 'OURestrictFailureText' -Value '' + +# Import a certificate +# https://docs.microsoft.com/en-us/powershell/module/pki/import-certificate?view=windowsserver2019-ps +Import-Certificate -FilePath "$env:USERPROFILE\Downloads\mcouniverse.crt" -CertStoreLocation Cert:\CurrentUser\Root + +# Create a dialog box +# https://docs.microsoft.com/en-us/dotnet/api/system.windows.messagebox?view=net-5.0 +# Line break reference: https://social.technet.microsoft.com/Forums/lync/en-US/87f0a802-c7af-4517-85e1-be122c17ddb7/powershell-gui-popup-box-line-break +Add-Type -AssemblyName PresentationFramework +$msgBoxInput = [System.Windows.MessageBox]::Show("Would you like to install the SSL Root Certificate?`n(Choosing `"no`" will exit)",'Game input','YesNo','Information') + +switch ($msgBoxInput) { + + 'Yes' { + + ## Do something + + } + + 'No' { + + ## Do something + + } + diff --git a/misc/port-forward.ps1 b/thebeast/misc/port-forward.ps1 similarity index 100% rename from misc/port-forward.ps1 rename to thebeast/misc/port-forward.ps1 diff --git a/thebeast/package.json b/thebeast/package.json new file mode 100644 index 000000000..d74358c5c --- /dev/null +++ b/thebeast/package.json @@ -0,0 +1,87 @@ +{ + "name": "@rusty-motors/thebeast", + "version": "1.0.0", + "description": "a server", + "author": "Drazi Crendraven ", + "license": "AGPL-3.0", + "private": true, + "repository": { + "type": "git", + "url": "git@github.com:drazisil/mcos.git" + }, + "scripts": { + "test": "yarn tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider $(yarn bin vitest) run --coverage packages lib", + "prod": "make prod_node", + "prod:stop": "docker-compose stop", + "release": "standard-version --sign", + "start": "tsx --openssl-legacy-provider --env-file=.env server.ts", + "start:docker": "npm run start:dev 2>&1 | tee -a log/mcos/trace.log" + }, + "files": [ + "README.md", + "CHANGELOG.md", + "AUTHORS" + ], + "type": "module", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "7.92", + "@sentry/profiling-node": "^1.3.2", + "@types/connect": "^3.4.38", + "fastify": "^4.25.2", + "moment": "^2.30.1", + "pino": "^8.18.0", + "pino-pretty": "^10.3.1", + "short-unique-id": "^5.0.3", + "slonik": "^37.2.0", + "sqlite3": "^5.1.7", + "ts-node": "10.9.2", + "tslib": "^2.6.2" + }, + "devDependencies": { + "@sentry/cli": "^2.23.2", + "@tsconfig/node-lts": "^20.1.1", + "@tsconfig/node20": "^20.1.2", + "@types/chai": "4.3.11", + "@types/node": "^20.10.6", + "@types/sinon": "17.0.2", + "@types/sinon-chai": "3.2.12", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", + "@vitest/coverage-v8": "^1.1.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "5.1.2", + "jsdoc": "^4.0.2", + "prettier": "3.1.1", + "prettier-eslint": "16.2.0", + "tsx": "4.7.0", + "typescript": "^5.3.3", + "typescript-eslint-language-service": "^5.0.5", + "vitest": "^1.1.1", + "zod": "^3.22.4" + }, + "c8": { + "all": true, + "reporter": [ + "text", + "cobertura", + "html", + "lcov" + ], + "exclude": [ + "coverage", + "**/*.test.m{j,t}s", + "docs", + "docs2" + ] + }, + "lint-staged": { + "**/*.js": "eslint" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + } +} diff --git a/packages/cli/ConsoleThread.ts b/thebeast/packages/cli/ConsoleThread.ts similarity index 90% rename from packages/cli/ConsoleThread.ts rename to thebeast/packages/cli/ConsoleThread.ts index 7d50f4943..5d931ab81 100644 --- a/packages/cli/ConsoleThread.ts +++ b/thebeast/packages/cli/ConsoleThread.ts @@ -2,7 +2,8 @@ import { emitKeypressEvents } from "node:readline"; import { SubThread } from "../shared/SubThread.js"; // eslint-disable-next-line no-unused-vars import { Gateway } from "../gateway/src/GatewayServer.js"; -import { ServerError } from "../shared/errors/ServerError.js"; + +import { ServerLogger } from "../shared/log.js"; /** * @module ConsoleThread @@ -16,18 +17,18 @@ export class ConsoleThread extends SubThread { /** * @param {object} options * @param {Gateway} options.parentThread The parent thread - * @param {import("pino").Logger} options.log The logger + * @param {ServerLogger} options.log The logger */ constructor({ parentThread, log, }: { parentThread: Gateway; - log: import("pino").Logger; + log: ServerLogger; }) { super("ReadInput", log, 100); if (parentThread === undefined) { - throw new ServerError( + throw new Error( "parentThread is undefined when creating ReadInput", ); } diff --git a/packages/core/src/serializationHelpers.test.ts b/thebeast/packages/core/src/serializationHelpers.test.ts similarity index 100% rename from packages/core/src/serializationHelpers.test.ts rename to thebeast/packages/core/src/serializationHelpers.test.ts diff --git a/packages/core/src/serializationHelpers.ts b/thebeast/packages/core/src/serializationHelpers.ts similarity index 96% rename from packages/core/src/serializationHelpers.ts rename to thebeast/packages/core/src/serializationHelpers.ts index 7d06b8247..92876694c 100644 --- a/packages/core/src/serializationHelpers.ts +++ b/thebeast/packages/core/src/serializationHelpers.ts @@ -1,5 +1,3 @@ -import { ServerError } from "../../shared/errors/ServerError.js"; - /** * Clamp a value between 0 and 255 * @param {number} value @@ -150,7 +148,7 @@ export function deserializeFloat(buff: Buffer): number { export function deserializeString(buf: Buffer): string { const size = buf.readUInt16BE(); if (size > buf.length - 2) { - throw new ServerError("Size is bigger than the buffer length - 2"); + throw new Error("Size is bigger than the buffer length - 2"); } const str = buf.subarray(2, size + 2).toString("utf8"); diff --git a/packages/database/src/DatabaseManager.ts b/thebeast/packages/database/src/DatabaseManager.ts similarity index 78% rename from packages/database/src/DatabaseManager.ts rename to thebeast/packages/database/src/DatabaseManager.ts index e6aabf4e9..8cd3eb0d7 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/thebeast/packages/database/src/DatabaseManager.ts @@ -3,8 +3,7 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import { getServerLogger } from "../../shared/log.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; /** * @module Database @@ -15,11 +14,11 @@ export class Database { try { this._users.set(user.userId, user.userData); } catch (error) { - this._log.error(error); + this._log.error(String(error)); } } static instance: Database | undefined; - private _log: import("pino").Logger; + private _log: ServerLogger; private _sessions: interfaces.ConnectionRecord[]; private _lobbies: interfaces.RaceLobbyRecord[][]; private _users: Map; @@ -27,13 +26,9 @@ export class Database { /** * Creates an instance of Database. * - * @param {interfaces.external.pino.Logger} [log=getServerLogger({ module: "database" })] + * @param {ServerLogger} log */ - constructor( - log: interfaces.external.pino.Logger = getServerLogger({ - module: "database", - }), - ) { + constructor(log: ServerLogger) { this._log = log; this._sessions = []; /** @@ -48,10 +43,10 @@ export class Database { * Return the singleton instance of the DatabaseManager class * * @static - * @param {import("pino").Logger} log + * @param {ServerLogger} log * @returns {Database} */ - static getInstance(log: import("pino").Logger): Database { + static getInstance(log: ServerLogger): Database { if (!Database.instance) { Database.instance = new Database(log); } @@ -73,7 +68,7 @@ export class Database { return session.customerId === customerId; }); if (typeof record === "undefined") { - const err = new ServerError( + const err = new Error( `Session key not found for customer ${customerId}`, ); throw err; @@ -95,7 +90,7 @@ export class Database { return session.connectionId === connectionId; }); if (typeof record === "undefined") { - const err = new ServerError( + const err = new Error( `Session key not found for connection ${connectionId}`, ); throw err; @@ -134,7 +129,7 @@ export class Database { return session.customerId === customerId; }); if (typeof record === "undefined") { - const err = new ServerError( + const err = new Error( "Error updating session key: existing key not found", ); throw err; @@ -146,20 +141,13 @@ export class Database { /** * Return the singleton instance of the DatabaseManager class * - * @param {object} options - * @param {import("pino").Logger} options.log=getServerLogger({ module: "database" }) + * @param {ServerLogger} log * @returns {Database} */ -export function getDatabaseServer( - option = { - log: getServerLogger({ - module: "database", - }), - }, -): Database { +export function getDatabaseServer(log: ServerLogger): Database { if (!Database.instance) { - Database.instance = new Database(option.log); + Database.instance = new Database(log); } - return Database.getInstance(option.log); + return Database.getInstance(log); } diff --git a/thebeast/packages/database/src/cache.ts b/thebeast/packages/database/src/cache.ts new file mode 100644 index 000000000..a321b1ae1 --- /dev/null +++ b/thebeast/packages/database/src/cache.ts @@ -0,0 +1,92 @@ +import { TBrand } from "./models/Brand.js"; +import { VehiclePartTreeType } from "./models/VehiclePartTree.js"; +import { createSqlTag, slonik, z } from "./services/database.js"; + +const brandCache = new Map(); + +const sql = createSqlTag({ + typeAliases: { + id: z.number(), + brandedPart: z.object({ + partid: z.number() || z.null(), + parentpartid: z.number() || z.null(), + brandedpartid: z.number() || z.null(), + attachmentpointid: z.number() || z.null(), + }), + part: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + partname: z.string() || z.null(), + ownerid: z.number(), + }), + abstractPartType: z.object({ + abstractparttypeid: z.number(), + }), + ptSkin: z.object({ + skinid: z.number(), + defaultflag: z.number(), + }), + nextPartId: z.object({ + nextval: z.bigint(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + detailedPart: z.object({ + brandedpartid: z.number(), + parttypeid: z.number(), + abstractparttypeid: z.number(), + parentabstractparttypeid: z.number(), + attachmentpointid: z.number(), + }), + brand: z.object({ + brandId: z.number(), + brand: z.string(), + isStock: z.boolean(), + }), + }, +}); + +export async function getBrand(brandName: string): Promise { + if (brandCache.has(brandName)) { + return brandCache.get(brandName); + } + + const brand = await slonik.one(sql.typeAlias("brand")` + SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} + `); + brandCache.set(brandName, brand); + return brand; +} + +const vehiclePartTreeCache = new Map(); + +export async function getVehiclePartTree( + vehicleId: number, +): Promise { + if (vehiclePartTreeCache.has(vehicleId)) { + return vehiclePartTreeCache.get(vehicleId); + } + + return undefined; +} + +export async function setVehiclePartTree( + vehicleId: number, + vehiclePartTree: VehiclePartTreeType, +): Promise { + vehiclePartTreeCache.set(vehicleId, vehiclePartTree); +} diff --git a/thebeast/packages/database/src/models/AttachmentPoint.ts b/thebeast/packages/database/src/models/AttachmentPoint.ts new file mode 100644 index 000000000..007691200 --- /dev/null +++ b/thebeast/packages/database/src/models/AttachmentPoint.ts @@ -0,0 +1,82 @@ +export type TAttachmentPointRecord = { + attachmentPointId: number; + attachmentPoint: string; +}; + +export type TAttachmentPoint = + | "Default" + | "FrontLeft" + | "FrontRight" + | "RearLeft" + | "RearRight" + | "Left" + | "Right" + | "A" + | "B" + | "C" + | "Front" + | "Rear"; + +export const EAttachmentPoint = { + Default: 0, + FrontLeft: 1, + FrontRight: 2, + RearLeft: 3, + RearRight: 4, + Left: 5, + Right: 6, + A: 7, + B: 8, + C: 9, + Front: 10, + Rear: 11, +}; + +export const attachmentPoints: TAttachmentPointRecord[] = [ + { attachmentPointId: EAttachmentPoint.Default, attachmentPoint: "Default" }, + { + attachmentPointId: EAttachmentPoint.FrontLeft, + attachmentPoint: "FrontLeft", + }, + { + attachmentPointId: EAttachmentPoint.FrontRight, + attachmentPoint: "FrontRight", + }, + { + attachmentPointId: EAttachmentPoint.RearLeft, + attachmentPoint: "RearLeft", + }, + { + attachmentPointId: EAttachmentPoint.RearRight, + attachmentPoint: "RearRight", + }, + { attachmentPointId: EAttachmentPoint.Left, attachmentPoint: "Left" }, + { attachmentPointId: EAttachmentPoint.Right, attachmentPoint: "Right" }, + { attachmentPointId: EAttachmentPoint.A, attachmentPoint: "A" }, + { attachmentPointId: EAttachmentPoint.B, attachmentPoint: "B" }, + { attachmentPointId: EAttachmentPoint.C, attachmentPoint: "C" }, + { attachmentPointId: EAttachmentPoint.Front, attachmentPoint: "Front" }, + { attachmentPointId: EAttachmentPoint.Rear, attachmentPoint: "Rear" }, +]; + +export function isValidAttachmentPoint(attachmentPoint: string): boolean { + return attachmentPoints.some( + (ap) => ap.attachmentPoint === attachmentPoint, + ); +} + +export function getAttachmentPoint(attachmentPoint: TAttachmentPoint): number { + return EAttachmentPoint[attachmentPoint]; +} + +export function getAttachmentPointName( + attachmentPointId: number, +): TAttachmentPoint | undefined { + const attachmentPoint = attachmentPoints.find( + (ap) => ap.attachmentPointId === attachmentPointId, + ); + if (attachmentPoint) { + return attachmentPoint.attachmentPoint as TAttachmentPoint; + } + return undefined; +} diff --git a/thebeast/packages/database/src/models/Brand.ts b/thebeast/packages/database/src/models/Brand.ts new file mode 100644 index 000000000..dfba4ad7b --- /dev/null +++ b/thebeast/packages/database/src/models/Brand.ts @@ -0,0 +1,5 @@ +export type TBrand = { + brandId: number; + brand: string | null; + isStock: boolean; +}; diff --git a/thebeast/packages/database/src/models/BrandedPart.ts b/thebeast/packages/database/src/models/BrandedPart.ts new file mode 100644 index 000000000..6ebf774f6 --- /dev/null +++ b/thebeast/packages/database/src/models/BrandedPart.ts @@ -0,0 +1,10 @@ +export type BrandedPartType = { + brandedPartId: number; + partyTypeId: number; + modelId: number; + mfgDate: Date; + qtyAvailable: number; + retailPrice: number; + maxItemWear: number | null; + engineBlockFamilyId: number; +}; diff --git a/thebeast/packages/database/src/models/Model.ts b/thebeast/packages/database/src/models/Model.ts new file mode 100644 index 000000000..f61604b3f --- /dev/null +++ b/thebeast/packages/database/src/models/Model.ts @@ -0,0 +1,30 @@ +export type TModel = { + modelId: number; + brandId: number; + eModel: string | null; + gModel: string | null; + fModel: string | null; + sModel: string | null; + iModel: string | null; + jModel: string | null; + swModel: string | null; + bModel: string | null; + eExtraInfo: string | null; + gExtraInfo: string | null; + fExtraInfo: string | null; + sExtraInfo: string | null; + iExtraInfo: string | null; + jExtraInfo: string | null; + swExtraInfo: string | null; + bExtraInfo: string | null; + eShortModel: string | null; + gShortModel: string | null; + fShortModel: string | null; + sShortModel: string | null; + iShortModel: string | null; + jShortModel: string | null; + swShortModel: string | null; + bShortModel: string | null; + debug_string: string | null; + debug_sort_string: string | null; +}; diff --git a/thebeast/packages/database/src/models/Part.ts b/thebeast/packages/database/src/models/Part.ts new file mode 100644 index 000000000..ecd646f51 --- /dev/null +++ b/thebeast/packages/database/src/models/Part.ts @@ -0,0 +1,14 @@ +import { TAttachmentPoint } from "./AttachmentPoint.js"; + +export type TPart = { + partId: number; + parentPartId: number | null; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number | null; + ownerID: number | null; + partName: string | null; + repairCost: number; + scrapValue: number; +}; diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts new file mode 100644 index 000000000..75d98dc04 --- /dev/null +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -0,0 +1,504 @@ +import { log } from "../../../shared/log.js"; +import { setVehiclePartTree } from "../cache.js"; +import { DBPart } from "../services/admin.js"; +import { createSqlTag, slonik, z } from "../services/database.js"; +import { TPart } from "./Part.js"; + +const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; + +const partNumbersMap = new Map(); + +export function getPartDepth(partId: number): number { + if (level1PartTypes.includes(partId)) { + return 1; + } + return 2; +} + +export type TVehicle = { + vehicleId: number; + skinId: number; + flags: number; + class: number; + infoSetting: number; + damageInfo: Buffer | null; +}; + +export type VehiclePartTreeType = { + vehicleId: number; + skinId: number; + flags: number; + class: number; + infoSetting: number; + damageInfo: Buffer | null; + isStock: boolean; + // One of the following two properties is required + ownedLotId: number | null; + ownerID: number | null; + partId: number; + parentPartId: null; + brandedPartId: number; + partTree: { + level1: { + partId: number; + parts: TPart[]; + }; + level2: { + partId: number; + parts: TPart[]; + }; + }; +}; + +const sql = createSqlTag({ + typeAliases: { + id: z.number(), + brandedPart: z.object({ + partid: z.number() || z.null(), + parentpartid: z.number() || z.null(), + brandedpartid: z.number() || z.null(), + attachmentpointid: z.number() || z.null(), + }), + part: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + partname: z.string() || z.null(), + ownerid: z.number(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + abstractPartType: z.object({ + abstractparttypeid: z.number(), + }), + ptSkin: z.object({ + skinid: z.number(), + defaultflag: z.number(), + }), + nextPartId: z.object({ + nextval: z.bigint(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + detailedPart: z.object({ + brandedpartid: z.number(), + parttypeid: z.number(), + abstractparttypeid: z.number(), + parentabstractparttypeid: z.number(), + attachmentpointid: z.number(), + }), + vehicle: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + infosetting: z.number(), + damageinfo: z.instanceof(Buffer) || z.null(), + }), + }, +}); + +async function getNextPartId(): Promise { + const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` + SELECT nextval('part_partid_seq') + `); + return Number(nextval); +} + +export async function savePart(part: TPart): Promise { + await slonik.query(sql.typeAlias("dbPart")` + INSERT INTO part ( + partid, + parentpartid, + brandedpartid, + percentdamage, + itemwear, + attachmentpointid, + ownerid, + partname, + repaircost, + scrapvalue + ) VALUES ( + ${part.partId}, + ${part.parentPartId}, + ${part.brandedPartId}, + ${part.percentDamage}, + ${part.itemWear}, + ${part.attachmentPointId}, + ${part.ownerID}, + ${part.partName}, + ${part.repairCost}, + ${part.scrapValue} + ) + `); +} + +export async function saveVehicle( + vehiclePartTree: VehiclePartTreeType, +): Promise { + try { + const vehiclePart: TPart = { + partId: vehiclePartTree.vehicleId, + parentPartId: null, + brandedPartId: vehiclePartTree.brandedPartId, + percentDamage: 0, + itemWear: 0, + attachmentPointId: null, + ownerID: vehiclePartTree.ownerID || null, + partName: null, + repairCost: 0, + scrapValue: 0, + }; + + log.debug(`Saving vehicle part: ${JSON.stringify(vehiclePart)}`); + await savePart(vehiclePart); + + const newVehicle: TVehicle = { + vehicleId: vehiclePartTree.vehicleId, + skinId: vehiclePartTree.skinId, + flags: vehiclePartTree.flags, + class: vehiclePartTree.class, + infoSetting: vehiclePartTree.infoSetting, + damageInfo: vehiclePartTree.damageInfo, + }; + + log.debug(`Saving vehicle: ${JSON.stringify(newVehicle)}`); + + await slonik.query(sql.typeAlias("vehicle")` + INSERT INTO vehicle ( + vehicleid, + skinid, + flags, + class, + infosetting, + damageinfo + ) VALUES ( + ${newVehicle.vehicleId}, + ${newVehicle.skinId}, + ${newVehicle.flags}, + ${newVehicle.class}, + ${newVehicle.infoSetting}, + ${newVehicle.damageInfo} + ) + `); + } catch (error) { + log.error(`Error saving vehicle: ${error}`); + throw error; + } +} + +export async function saveVehiclePartTree( + vehiclePartTree: VehiclePartTreeType, +): Promise { + try { + const partIds = new Set(); + + const partTree = vehiclePartTree.partTree; + + for (const part of partTree.level1.parts) { + partIds.add(part.partId); + } + + for (const part of partTree.level2.parts) { + partIds.add(part.partId); + } + + for (const partId of partIds) { + const part = + partTree.level1.parts.find((p) => p.partId === partId) || + partTree.level2.parts.find((p) => p.partId === partId); + if (!part) { + throw new Error(`Part with partId ${partId} not found`); + } + await savePart(part); + } + + // Save the vehicle part tree in the cache + setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); + } catch (error) { + log.error(`Error saving vehicle part tree: ${error}`); + throw error; + } +} + +export async function buildVehiclePartTreeFromDB( + vehicleId: number, +): Promise { + const vehicle = await slonik.one(sql.typeAlias("vehicle")` + SELECT vehicleid, skinid, flags, class, infosetting, damageinfo + FROM vehicle + WHERE vehicleid = ${vehicleId} + `); + + if (!vehicle) { + throw new Error(`Vehicle with id ${vehicleId} does not exist`); + } + + const vehiclePartTree: VehiclePartTreeType = { + vehicleId: vehicle.vehicleid, + skinId: vehicle.skinid, + flags: vehicle.flags, + class: vehicle.class, + infoSetting: vehicle.infosetting, + damageInfo: vehicle.damageinfo, + isStock: false, + ownedLotId: null, + ownerID: null, + partId: vehicle.vehicleid, + parentPartId: null, + brandedPartId: 0, + partTree: { + level1: { + partId: 0, + parts: [], + }, + level2: { + partId: 0, + parts: [], + }, + }, + }; + + // Get first part + const part = await slonik.one(sql.typeAlias("part")` + SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue + FROM part + WHERE partid = ${vehicleId} + `); + + if (!part) { + throw new Error(`Part with id ${vehicleId} does not exist`); + } + + vehiclePartTree.brandedPartId = part.brandedpartid; + vehiclePartTree.ownerID = part.ownerid; + + const level1Parts = await slonik.many(sql.typeAlias("part")` + SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue + FROM part + WHERE parentpartid = ${vehicleId} + `); + + if (level1Parts.length === 0) { + throw new Error(`Vehicle with id ${vehicleId} has no parts`); + } + + log.debug(`We got parts!`); + log.debug( + `There are ${level1Parts.length} level 1 parts in the vehicle assembly`, + ); + + const level1PartsIds = level1Parts.map((part) => part.partid); + + log.debug(`level1PartsIds: ${level1PartsIds}`); + + for (const part of level1Parts) { + log.debug( + `Adding part: ${JSON.stringify(part)} to vehicle part tree level 1`, + ); + + const newPart: TPart = { + partId: part.partid, + parentPartId: part.parentpartid, + brandedPartId: part.brandedpartid, + percentDamage: part.percentdamage, + itemWear: part.itemwear, + attachmentPointId: part.attachmentpointid, + ownerID: part.ownerid, + partName: part.partname, + repairCost: part.repaircost, + scrapValue: part.scrapvalue, + }; + + vehiclePartTree.partTree.level1.parts.push(newPart); + } + + const level2Parts = await slonik.many(sql.typeAlias("part")` + SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue + FROM part + WHERE parentpartid IN (${sql.join(level1PartsIds, sql.fragment`, `)}) + `); + + if (level2Parts.length === 0) { + throw new Error(`Vehicle with id ${vehicleId} has no level 2 parts`); + } + + log.debug(`We got parts!`); + log.debug( + `There are ${level2Parts.length} level 2 parts in the vehicle assembly`, + ); + + for (const part of level2Parts) { + const newPart: TPart = { + partId: part.partid, + parentPartId: part.parentpartid, + brandedPartId: part.brandedpartid, + percentDamage: part.percentdamage, + itemWear: part.itemwear, + attachmentPointId: part.attachmentpointid, + ownerID: part.ownerid, + partName: part.partname, + repairCost: part.repaircost, + scrapValue: part.scrapvalue, + }; + + vehiclePartTree.partTree.level2.parts.push(newPart); + } + + log.debug(`Vehicle part tree populated`); + log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); + + setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); + + return vehiclePartTree; +} + +export async function buildVehiclePartTree({ + brandedPartId, + skinId, + ownedLotId, + ownerID, + isStock, +}: { + brandedPartId: number; + skinId: number; + ownedLotId?: number; + ownerID?: number; + isStock: boolean; +}): Promise { + if (ownedLotId === undefined && ownerID === undefined) { + throw new Error("ownedLotId or ownerID is required"); + } + + const skinFlags = await slonik.one(sql.typeAlias("ptSkin")` + SELECT defaultflag + FROM ptskin + WHERE skinid = ${skinId} + `); + + if (!skinFlags) { + throw new Error(`Skin with id ${skinId} does not exist`); + } + + let vehicleId = undefined; + + // Get the vehicle assembly from the database + const vehicleAssembly = await slonik.many(sql.typeAlias("detailedPart")` + SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid + FROM stockassembly a + INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid + inner join parttype pt on pt.parttypeid = bp.parttypeid + inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid + WHERE a.parentbrandedpartid = ${brandedPartId} + `); + + if (vehicleAssembly.length === 0) { + throw new Error( + `Vehicle assembly with branded part id ${brandedPartId}`, + ); + } + + // But we did get parts, right? + log.debug(`We got parts!`); + log.debug( + `There are ${vehicleAssembly.length} parts in the vehicle assembly`, + ); + + const topPartId = await getNextPartId(); + + partNumbersMap.set(101, topPartId); + + const vehiclePartTree: VehiclePartTreeType = { + vehicleId: topPartId, + skinId, + isStock, + flags: skinFlags.defaultflag, + class: 0, + infoSetting: 0, + damageInfo: null, + ownedLotId: ownedLotId || null, + ownerID: ownerID || null, + partId: topPartId, + parentPartId: null, + brandedPartId, + partTree: { + level1: { + partId: 0, + parts: [], + }, + level2: { + partId: 0, + parts: [], + }, + }, + }; + + log.debug(`Vehicle part tree created`); + log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); + + // Populate the vehicle part tree + for (const part of vehicleAssembly) { + const parentPartId = partNumbersMap.get(part.parentabstractparttypeid); + + log.debug( + `parentAbstractPartTypeId: ${part.parentabstractparttypeid}, parentPartId: ${parentPartId}`, + ); + + if (parentPartId === undefined) { + log.error( + `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, + ); + console.dir(partNumbersMap); + throw new Error( + `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, + ); + } + + const thisPartId = await getNextPartId(); + + if (!partNumbersMap.has(part.abstractparttypeid)) { + partNumbersMap.set(part.abstractparttypeid, thisPartId); + } + + const newPart: TPart = { + partId: thisPartId, + parentPartId: parentPartId, + brandedPartId: part.brandedpartid, + percentDamage: 0, + itemWear: 0, + attachmentPointId: part.attachmentpointid, + ownerID: ownerID || null, + partName: null, + repairCost: 0, + scrapValue: 0, + }; + + const partDepth = getPartDepth(part.abstractparttypeid); + + if (partDepth === 1) { + vehiclePartTree.partTree.level1.parts.push(newPart); + } else if (partDepth === 2) { + vehiclePartTree.partTree.level2.parts.push(newPart); + } else { + throw new Error(`Part depth ${partDepth} is not supported`); + } + } + + log.debug(`Vehicle part tree populated`); + log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); + + return vehiclePartTree; +} diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts new file mode 100644 index 000000000..39f29a3e8 --- /dev/null +++ b/thebeast/packages/database/src/services/admin.ts @@ -0,0 +1,297 @@ +import { DatabaseTransactionConnection } from "slonik"; +import { slonik, createSqlTag, z } from "./database.js"; + +async function playerExists(playerId: number): Promise { + return await slonik.exists(sql.typeAlias("id")` + SELECT 1 FROM player WHERE playerid = ${playerId} + `); +} + +async function skinExists(skinId: number): Promise { + return await slonik.exists(sql.typeAlias("id")` + SELECT 1 FROM ptskin WHERE skinid = ${skinId} + `); +} + +const sql = createSqlTag({ + typeAliases: { + id: z.number(), + brandedPart: z.object({ + partid: z.number() || z.null(), + parentpartid: z.number() || z.null(), + brandedpartid: z.number() || z.null(), + attachmentpointid: z.number() || z.null(), + }), + part: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + partname: z.string() || z.null(), + ownerid: z.number(), + }), + abstractPartType: z.object({ + abstractparttypeid: z.number(), + }), + ptSkin: z.object({ + skinid: z.number(), + defaultflag: z.number(), + }), + nextPartId: z.object({ + nextval: z.bigint(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + }, +}); + +async function getAbstractPartTypeIDForBrandedPartID( + brandedPartId: number, +): Promise { + const abstractPartTypeId = await slonik.one(sql.typeAlias( + "abstractPartType", + )` + SELECT pt.abstractparttypeid + FROM brandedpart bp + inner join parttype pt on bp.parttypeid = pt.parttypeid + WHERE bp.brandedpartid = ${brandedPartId} + `); + if (!abstractPartTypeId) { + throw new Error(`branded part with id ${brandedPartId} does not exist`); + } + return abstractPartTypeId.abstractparttypeid; +} + +async function isAbstractPartTypeAVehicle( + abstractPartTypeId: number, +): Promise { + return abstractPartTypeId === 101; +} + +type partTableEntry = { + partId: number | null; + parentPartId: number | null; + brandedPartId: number | null; + AttachmentPointId: number | null; +}; + +export async function createNewCar( + brandedPartId: number, + skinId: number, + newCarOwnerId: number, +): Promise { + if (!playerExists(newCarOwnerId)) { + throw new Error("player does not exist"); + } + + if (!skinExists(skinId)) { + throw new Error("skin does not exist"); + } + + const abstractPartTypeId = + await getAbstractPartTypeIDForBrandedPartID(brandedPartId); + + console.log("abstractPartTypeId"); + console.dir(abstractPartTypeId); + + if (!isAbstractPartTypeAVehicle(abstractPartTypeId)) { + throw new Error( + `branded part with id ${brandedPartId} is not a vehicle`, + ); + } + + const tmpParts: partTableEntry[] = []; + + tmpParts.push({ + partId: null, + parentPartId: null, + brandedPartId: brandedPartId, + AttachmentPointId: 0, + }); + + // Get the rest of the parts for the vehicle + const restOfTheParts = await slonik.many(sql.typeAlias("brandedPart")` + SELECT b.brandedpartid, a.attachmentpointid + From StockAssembly a + inner join brandedpart b on a.childbrandedpartid = b.brandedpartid + where a.parentbrandedpartid = ${tmpParts[0].brandedPartId} + `); + + for (const part of restOfTheParts) { + tmpParts.push({ + partId: null, + parentPartId: null, + brandedPartId: part.brandedpartid, + AttachmentPointId: part.attachmentpointid, + }); + } + + try { + let vehicleId = null; + + await slonik.transaction(async (connection) => { + // First insert the new car into the vehicle table + + if (tmpParts.length === 0) { + throw new Error("No parts found for the vehicle"); + } + + let parentPartId = null; + let currentPartId = await getNextSq("part_partid_seq"); + + // Make sure the first part's branded part id is not null + if (tmpParts[0].brandedPartId === null) { + throw new Error("The first part's branded part id is null"); + } + + // Get the first part's abstract part type id + const firstPartAbstractPartTypeId = + await getAbstractPartTypeIDForBrandedPartID( + tmpParts[0].brandedPartId, + ); + + if (firstPartAbstractPartTypeId !== 101) { + throw new Error("The first part is not a vehicle"); + } + + // Get the skin record for the new car + const skinDefaultFlag = ( + await connection.one(sql.typeAlias("ptSkin")` + SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} + `) + ).defaultflag; + + // The first part will have a parentpartid of 0, and a partid of nextval(next_part_id) + await addPart( + connection, + currentPartId, + parentPartId, + tmpParts[0], + newCarOwnerId, + ); + + // Insert the vehicle record + try { + await connection.query(sql.typeAlias("brandedPart")` + INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) + VALUES (${currentPartId}, ${skinId}, ${skinDefaultFlag}, 0, 0, null) + `); + } catch (error) { + console.error("Error adding vehicle: " + error); + throw new Error("Error adding vehicle: " + error); + } + + vehicleId = currentPartId; + + tmpParts[0].partId = currentPartId; + tmpParts[0].parentPartId = parentPartId; + + // Now insert the rest of the parts + for (let i = 1; i < tmpParts.length; i++) { + parentPartId = currentPartId; + currentPartId = await getNextSq("part_partid_seq"); + console.log("currentPartId"); + console.dir(currentPartId); + + await addPart( + connection, + currentPartId, + parentPartId, + tmpParts[i], + newCarOwnerId, + ); + + // Update the partid of the part in the tmpParts array + tmpParts[i].partId = currentPartId; + tmpParts[i].parentPartId = parentPartId; + } + }); + + if (vehicleId === null) { + throw new Error("vehicleId is null"); + } + + return vehicleId; + } catch (error) { + throw new Error("Error creating new car: " + error); + } +} +async function addPart( + connection: DatabaseTransactionConnection, + currentPartId: number, + parentPartId: number | null, + partEntry: partTableEntry, + newCarOwenrId: number, +) { + try { + await connection.query(sql.typeAlias("part")` + INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) + VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) + `); + } catch (error) { + console.error("Error adding part: " + error); + throw new Error("Error adding part: " + error); + } +} + +export type DBPart = { + partId: number; + parentPartId: number; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number; + ownerId: number; + partName: string; + repairCost: number; + scrapValue: number; +}; + +async function getPart( + connection: DatabaseTransactionConnection, + requestedPartId: number, +): Promise { + try { + const part = await connection.one(sql.typeAlias("dbPart")` + SELECT FROM part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) + WHERE partid = ${requestedPartId} + `); + return { + partId: part.partid, + parentPartId: part.parentpartid, + brandedPartId: part.brandedpartid, + percentDamage: part.percentdamage, + itemWear: part.itemwear, + attachmentPointId: part.attachmentpointid, + ownerId: part.ownerid, + partName: part.partname, + repairCost: part.repaircost, + scrapValue: part.scrapvalue, + }; + } catch (error) { + console.error("Error adding part: " + error); + throw new Error("Error adding part: " + error); + } +} + +async function getNextSq(seqName: string) { + return Number( + ( + await slonik.one(sql.typeAlias("nextPartId")` + SELECT nextval(${seqName}) + `) + ).nextval, + ); +} diff --git a/thebeast/packages/database/src/services/database.ts b/thebeast/packages/database/src/services/database.ts new file mode 100644 index 000000000..395ecadc5 --- /dev/null +++ b/thebeast/packages/database/src/services/database.ts @@ -0,0 +1,7 @@ +import { createPool } from "slonik"; + +export const slonik = await createPool( + "postgres://user:password@localhost:5432/rm", +); +export { sql, createSqlTag } from "slonik"; +export { z } from "zod"; diff --git a/packages/database/test/Database.test.ts b/thebeast/packages/database/test/Database.test.ts similarity index 76% rename from packages/database/test/Database.test.ts rename to thebeast/packages/database/test/Database.test.ts index 70bdd0949..6be538247 100644 --- a/packages/database/test/Database.test.ts +++ b/thebeast/packages/database/test/Database.test.ts @@ -1,20 +1,13 @@ -import { P } from "vitest/dist/reporters-5f784f42.js"; import { getServerLogger } from "../../shared/log.js"; import { Database } from "../src/DatabaseManager.js"; import { describe, it, expect, vi } from "vitest"; -import { ServerError } from "../../shared/errors/ServerError.js"; -import { mockPino } from "../../../test/factoryMocks.js"; describe("Database", () => { it("returns the same instance", () => { // arrange - vi.mock("pino", async () => { - const actual = await vi.importActual("pino"); - return { - ...(actual as P), - }; + const log = getServerLogger({ + level: "silent", }); - const log = getServerLogger({}); // act const instance1 = Database.getInstance(log); const instance2 = Database.getInstance(log); @@ -25,8 +18,10 @@ describe("Database", () => { describe("fetchSessionKeyByCustomerId", () => { it("throws when session key is not found", async () => { // arrange - mockPino(); - const log = getServerLogger({}); + + const log = getServerLogger({ + level: "silent", + }); const instance = Database.getInstance(log); const customerId = 1234; // act @@ -35,7 +30,7 @@ describe("Database", () => { } catch (error) { // assert expect(error).toEqual( - new ServerError( + new Error( `Session key not found for customer ${customerId}`, ), ); @@ -46,8 +41,10 @@ describe("Database", () => { describe("fetchSessionKeyByConnectionId", () => { it("throws when session key is not found", async () => { // arrange - mockPino(); - const log = getServerLogger({}); + + const log = getServerLogger({ + level: "silent", + }); const instance = Database.getInstance(log); const connectionId = "1234"; // act @@ -56,7 +53,7 @@ describe("Database", () => { } catch (error) { // assert expect(error).toEqual( - new ServerError( + new Error( `Session key not found for connection ${connectionId}`, ), ); @@ -67,8 +64,10 @@ describe("Database", () => { describe("updateUser", () => { it("returns successfully when passed a valid user record", async () => { // arrange - mockPino(); - const log = getServerLogger({}); + + const log = getServerLogger({ + level: "silent", + }); const instance = Database.getInstance(log); const userRecord = { contextId: "1234", diff --git a/packages/gateway/src/GatewayServer.ts b/thebeast/packages/gateway/src/GatewayServer.ts similarity index 80% rename from packages/gateway/src/GatewayServer.ts rename to thebeast/packages/gateway/src/GatewayServer.ts index db8d36e92..9d4c97ef6 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/thebeast/packages/gateway/src/GatewayServer.ts @@ -4,7 +4,7 @@ import { Configuration, getServerConfiguration, } from "../../shared/Configuration.js"; -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger, log } from "../../shared/log.js"; import fastify from "fastify"; import { addOnDataHandler, @@ -13,21 +13,32 @@ import { } from "../../shared/State.js"; import { ConsoleThread } from "../../cli/ConsoleThread.js"; import { addWebRoutes } from "./web.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; + import { receiveLoginData } from "../../login/src/index.js"; import { receivePersonaData } from "../../persona/src/internal.js"; import { receiveLobbyData } from "../../lobby/src/internal.js"; import { receiveTransactionsData } from "../../transactions/src/internal.js"; import FastifySensible from "@fastify/sensible"; -import { Logger } from "pino"; + +import { + populatePortToMessageTypes, + populateGameMessageProcessors, + portToMessageTypes, + gameMessageProcessors, +} from "../../../lib/nps/messageProcessors/index.js"; +import { populateGameUsers } from "../../../lib/nps/services/account.js"; +import { + gameProfiles, + populateGameProfiles, +} from "../../../lib/nps/services/profile.js"; /** * @module gateway */ type GatewayOptions = { - config?: import("/home/drazisil/mcos/packages/shared/Configuration.js").Configuration; - log?: Logger; + config?: Configuration; + log: ServerLogger; backlogAllowedCount?: number; listeningPortList?: number[]; socketConnectionHandler?: ({ @@ -35,7 +46,7 @@ type GatewayOptions = { log, }: { incomingSocket: Socket; - log?: Logger; + log: ServerLogger; }) => void; }; @@ -45,7 +56,7 @@ type GatewayOptions = { */ export class Gateway { config: Configuration; - log: Logger; + log: ServerLogger; timer: NodeJS.Timeout | null; loopInterval: number; status: string; @@ -58,7 +69,7 @@ export class Gateway { log, }: { incomingSocket: Socket; - log?: Logger; + log: ServerLogger; }) => void; static _instance: Gateway | undefined; webServer: import("fastify").FastifyInstance | undefined; @@ -69,9 +80,7 @@ export class Gateway { */ constructor({ config = getServerConfiguration({}), - log = getServerLogger({ - module: "GatewayServer", - }), + log, backlogAllowedCount = 0, listeningPortList = [], socketConnectionHandler = onSocketConnection, @@ -100,18 +109,18 @@ export class Gateway { */ getWebServer(): import("fastify").FastifyInstance { if (this.webServer === undefined) { - throw new ServerError("webServer is undefined"); + throw new Error("webServer is undefined"); } return this.webServer; } - start() { + async start() { this.log.debug("Starting GatewayServer in start()"); this.log.info("Server starting"); // Check if there are any listening ports specified if (this.listeningPortList.length === 0) { - throw new ServerError("No listening ports specified"); + this.log.error("No listening ports specified. Skipping."); } // Mark the GatewayServer as running @@ -129,20 +138,18 @@ export class Gateway { }); }); - server.listen(port, "0.0.0.0", this.backlogAllowedCount, () => { - this.log.debug(`Listening on port ${port}`); - }); + server.listen(port, "0.0.0.0", this.backlogAllowedCount); // Add the server to the list of servers this.servers.push(server); }); if (this.webServer === undefined) { - throw new ServerError("webServer is undefined"); + throw new Error("webServer is undefined"); } // Start the web server - addWebRoutes(this.webServer); + await addWebRoutes(this.webServer); this.webServer.listen( { @@ -151,7 +158,7 @@ export class Gateway { }, (err, address) => { if (err) { - this.log.error(err); + this.log.error(String(err)); process.exit(1); } this.log.info(`Server listening at ${address}`); @@ -163,10 +170,10 @@ export class Gateway { // Stop the GatewayServer await this.stop(); - console.log("=== Restarting... ==="); + this.log.info("=== Restarting... ==="); // Start the GatewayServer - this.start(); + await this.start(); } async exit() { @@ -193,7 +200,7 @@ export class Gateway { } if (this.webServer === undefined) { - throw new ServerError("webServer is undefined"); + throw new Error("webServer is undefined"); } await this.webServer.close(); @@ -226,7 +233,7 @@ export class Gateway { } } - init() { + async init() { // Create the read thread this.readThread = new ConsoleThread({ parentThread: this, @@ -235,7 +242,7 @@ export class Gateway { // Register the read thread events if (this.readThread === undefined) { - throw new ServerError("readThread is undefined"); + throw new Error("readThread is undefined"); } this.consoleEvents.forEach((event) => { this.readThread?.on(event, () => { @@ -244,7 +251,7 @@ export class Gateway { }); this.webServer = fastify({ - logger: true, + logger: false, }); this.webServer.register(FastifySensible); @@ -255,17 +262,34 @@ export class Gateway { state = addOnDataHandler(state, 7003, receiveLobbyData); state = addOnDataHandler(state, 43300, receiveTransactionsData); + try { + log.debug("Populating game data"); + // await populateParts(); + // await populateStockVehiclesAttribs(); + // await populateStockVehicles(); + // await populateVehicles(); + // await populateVehicleOwners(); + await populateGameUsers(); + await populateGameProfiles(gameProfiles); + } catch (error) { + this.log.error(`Error in populating game data: ${error}`); + throw error; + } + + populatePortToMessageTypes(portToMessageTypes); + populateGameMessageProcessors(gameMessageProcessors); + state.save(); this.log.debug("GatewayServer initialized"); } help() { - console.log("=== Help ==="); - console.log("x: Exit"); - console.log("r: Restart"); - console.log("?: Help"); - console.log("============"); + this.log.info("=== Help ==="); + this.log.info("x: Exit"); + this.log.info("r: Restart"); + this.log.info("?: Help"); + this.log.info("============"); } run() { // Intentionally left blank @@ -279,9 +303,7 @@ export class Gateway { */ static getInstance({ config = undefined, - log = getServerLogger({ - module: "GatewayServer", - }), + log, backlogAllowedCount = 0, listeningPortList = [], socketConnectionHandler = onSocketConnection, @@ -318,15 +340,13 @@ Gateway._instance = undefined; */ export function getGatewayServer({ config, - log = getServerLogger({ - module: "GatewayServer", - }), + log, backlogAllowedCount = 0, listeningPortList: listeningPortList = [], socketConnectionHandler = onSocketConnection, }: { config?: Configuration; - log?: Logger; + log: ServerLogger; backlogAllowedCount?: number; listeningPortList?: number[]; socketConnectionHandler?: ({ @@ -334,7 +354,7 @@ export function getGatewayServer({ log, }: { incomingSocket: Socket; - log?: Logger; + log: ServerLogger; }) => void; }): Gateway { return Gateway.getInstance({ diff --git a/packages/gateway/src/encryption.ts b/thebeast/packages/gateway/src/encryption.ts similarity index 90% rename from packages/gateway/src/encryption.ts rename to thebeast/packages/gateway/src/encryption.ts index 7c9f576a3..6ed7335d4 100644 --- a/packages/gateway/src/encryption.ts +++ b/thebeast/packages/gateway/src/encryption.ts @@ -16,7 +16,6 @@ import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; import { McosEncryptionPair } from "../../shared/State.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; /** * This function creates a new encryption pair for use with the game server @@ -26,7 +25,7 @@ import { ServerError } from "../../shared/errors/ServerError.js"; */ export function createCommandEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - const err = new ServerError("Key too short"); + const err = new Error("Key too short"); throw err; } @@ -57,7 +56,7 @@ export function createCommandEncryptionPair(key: string): McosEncryptionPair { */ export function createDataEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - const err = new ServerError("Key too short"); + const err = new Error("Key too short"); throw err; } @@ -79,11 +78,11 @@ export function createDataEncryptionPair(key: string): McosEncryptionPair { export function verifyLegacyCipherSupport() { const cipherList = getCiphers(); if (!cipherList.includes("des-cbc")) { - const err = new ServerError("DES-CBC cipher not available"); + const err = new Error("DES-CBC cipher not available"); throw err; } if (!cipherList.includes("rc4")) { - const err = new ServerError("RC4 cipher not available"); + const err = new Error("RC4 cipher not available"); throw err; } } diff --git a/thebeast/packages/gateway/src/index.ts b/thebeast/packages/gateway/src/index.ts new file mode 100644 index 000000000..a14d47830 --- /dev/null +++ b/thebeast/packages/gateway/src/index.ts @@ -0,0 +1,330 @@ +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +import { randomUUID } from "node:crypto"; +import * as Sentry from "@sentry/node"; +import { + OnDataHandler, + addSocket, + fetchStateFromDatabase, + getOnDataHandler, + removeSocket, + wrapSocket, +} from "../../shared/State.js"; + +import { ServerLogger, getServerLogger } from "../../shared/log.js"; + +import { Socket } from "node:net"; +import { getGatewayServer } from "./GatewayServer.js"; +import { SerializedBuffer } from "../../shared/messageFactory.js"; + +import { + MessageProcessorError, + PortMapError, + getGameMessageProcessor, + getPortMessageType, + GameMessage, +} from "../../../lib/nps/index.js"; +import { SocketCallback } from "../../../lib/nps/messageProcessors/index.js"; +import { getAsHex } from "../../../lib/nps/utils/pureGet.js"; + +/** + * @typedef {object} OnDataHandlerArgs + * @property {object} args + * @property {string} args.connectionId The connection id of the socket that + * received the data. + * @property {module:packages/shared/RawMessage} args.message The data that was received. + * @property {module:shared/log.ServerLogger} args.log + * response + * to the + * data. + */ + +/** + * @typedef {function} OnDataHandler + * @param {OnDataHandlerArgs} args The arguments for the handler. + * @returns {ServiceResponse} The + * response + * to the + * data. + */ + +/** + * Handle socket errors + */ +export function socketErrorHandler({ + connectionId, + error, + log, +}: { + connectionId: string; + error: NodeJS.ErrnoException; + log: ServerLogger; +}) { + // Handle socket errors + if (error.code == "ECONNRESET") { + log.debug(`Connection ${connectionId} reset`); + return; + } + throw new Error( + `Socket error: ${error.message} on connection ${connectionId}`, + ); +} + +/** + * Handle the end of a socket connection + * + * @param {object} options + * @param {string} options.connectionId The connection ID + * @param {ServerLogger} options.log The logger to use + */ +export function socketEndHandler({ + connectionId, + log, +}: { + connectionId: string; + log: ServerLogger; +}) { + log.debug(`Connection ${connectionId} ended`); + + // Remove the socket from the global state + removeSocket(fetchStateFromDatabase(), connectionId).save(); +} + +/** + * Handle incoming TCP connections + * + * @param {object} options + * @param {module:net.Socket} options.incomingSocket The incoming socket + * @param {ServerLogger} options.log The logger to use + * + */ +export function onSocketConnection({ + incomingSocket, + log, +}: { + incomingSocket: Socket; + log: ServerLogger; +}) { + // Get the local port and remote address + const { localPort, remoteAddress } = incomingSocket; + + if (localPort === undefined || remoteAddress === undefined) { + throw new Error("localPort or remoteAddress is undefined"); + } + + // This is a new connection so generate a new connection ID + const connectionId = randomUUID(); + + // Wrap the socket and add it to the global state + const wrappedSocket = wrapSocket(incomingSocket, connectionId); + + // Add the socket to the global state + addSocket(fetchStateFromDatabase(), wrappedSocket).save(); + + // This is a new TCP socket, so it's probably not using HTTP + // Let's look for a port onData handler + /** @type {OnDataHandler | undefined} */ + const portOnDataHandler: OnDataHandler | undefined = getOnDataHandler( + fetchStateFromDatabase(), + localPort, + ); + + // Throw an error if there is no onData handler + if (!portOnDataHandler) { + log.warn(`No onData handler for port ${localPort}`); + return; + } + + incomingSocket.on("error", (error) => + socketErrorHandler({ connectionId: connectionId, error, log }), + ); + + // Add the data handler to the socket + incomingSocket.on("data", (incomingDataAsBuffer: Buffer) => { + // Get message type from the port + let messageType = "Unknown"; + try { + messageType = getPortMessageType(localPort); + log.debug(`Message type: ${messageType}`); + } catch (error) { + if (error instanceof PortMapError) { + log.error(`Error getting message type: ${error}`); + } else { + throw error; + } + } + + if (messageType !== "Unknown") { + const socketCallback = (messages: Buffer[]) => { + sendToSocket(messages, incomingSocket, log); + }; + + // Call the message handler + if (messageType === "Game") { + handleGameMessage( + connectionId, + incomingDataAsBuffer, + log, + socketCallback, + ); + return; + } + } + + // Normal handlers can handle the server message + + // Deserialize the raw message + const rawMessage = new SerializedBuffer()._doDeserialize( + incomingDataAsBuffer, + ); + + log.debug("Calling onData handler"); + + portOnDataHandler({ + connectionId: connectionId, + message: rawMessage, + log, + }) + .then( + ( + /** @type {import("../../shared/State.js").ServiceResponse} */ response: import("../../shared/State.js").ServiceResponse, + ) => { + log.debug("onData handler returned"); + const { messages } = response; + + // Log the messages + log.trace(`Messages: ${messages.map((m) => m.toString())}`); + + // Serialize the messages + const serializedMessages = messages.map((m) => + m.serialize(), + ); + + sendToSocket(serializedMessages, incomingSocket, log); + }, + ) + .catch((/** @type {Error} */ error: Error) => { + log.error(`Error handling data: ${String(error)}`); + throw error; + + // Call server shutdown + // getGatewayServer({}).shutdown(); + }); + }); + + log.debug(`Client ${remoteAddress} connected to port ${localPort}`); + + if (localPort === 7003) { + log.info("Sending ok to login packet"); + + incomingSocket.write(Buffer.from([0x02, 0x30, 0x00, 0x00])); + } +} + +function sendToSocket( + serializedMessages: Buffer[], + incomingSocket: Socket, + log: ServerLogger, +) { + log.debug(`Sending {${serializedMessages.length}} messages to socket`); + try { + serializedMessages.forEach((m) => { + incomingSocket.write(m); + log.trace(`Sent ${m.length} bytes to socket: ${m.toString("hex")}`); + log.trace("==========================================="); + }); + } catch (error) { + log.error(`Error sending data: ${String(error)}`); + } +} + +export function processGameMessage( + connectionId: string, + message: GameMessage, + log: ServerLogger, + socketCallback: SocketCallback, +) { + log.debug(`Processing game message...`); + + // Get the message ID + const messageId = message.header.getId(); + + try { + // Get the message processor + const messageProcessor = getGameMessageProcessor(messageId); + + // Call the message processor + messageProcessor(connectionId, message, socketCallback); + } catch (error) { + throw new MessageProcessorError( + messageId, + `Error processing message: ${error}`, + ); + } +} + +export function handleGameMessage( + connectionId: string, + bytes: Buffer, + log: ServerLogger, + socketCallback: SocketCallback, +) { + log.debug(`Handling game message...`); + + // Log raw bytes + log.trace(`Raw bytes: ${bytes.toString("hex")}`); + + // Try to identify the message version + const version = GameMessage.identifyVersion(bytes); + + // Log the version + log.debug(`Message version: ${version}`); + + // Try to parse it + try { + // Create a new message + const message = new GameMessage(version); + message.deserialize(bytes); + + // Process the message + const t = Sentry.startTransaction({ + name: `Process message ${message.header.getId()}`, + }); + processGameMessage(connectionId, message, log, socketCallback); + t.finish(); + } catch (error) { + if (error instanceof MessageProcessorError) { + log.error(`Error processing message: ${error}`); + } else { + throw error; + } + } +} + +export function handleServerMessage( + connectionId: string, + bytes: Buffer, + log: ServerLogger, + socketCallback: SocketCallback, +) { + log.debug(`Handling server message...`); + + // If this is a Server message, it will "probably" be a ServerMessage + // Try to parse it as a ServerMessage + + // TODO: Handle message +} diff --git a/packages/gateway/src/web.ts b/thebeast/packages/gateway/src/web.ts similarity index 77% rename from packages/gateway/src/web.ts rename to thebeast/packages/gateway/src/web.ts index 9ae785724..a66b3e011 100644 --- a/packages/gateway/src/web.ts +++ b/thebeast/packages/gateway/src/web.ts @@ -14,7 +14,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerError } from "../../shared/errors/ServerError.js"; import { CastanetResponse } from "../../patch/src/PatchServer.js"; import { generateShardList } from "../../shard/src/ShardServer.js"; import { getServerConfiguration } from "../../shared/Configuration.js"; @@ -23,13 +22,17 @@ import { handleGetKey, handleGetRegistry, } from "../../shard/src/index.js"; +import { checkPassword, getUser } from "../../../lib/nps/services/account.js"; +import { generateToken } from "../../../lib/nps/services/token.js"; /** * Add web routes to the web server * * @param {import("fastify").FastifyInstance} webServer The web server */ -export function addWebRoutes(webServer: import("fastify").FastifyInstance) { +export async function addWebRoutes( + webServer: import("fastify").FastifyInstance, +) { webServer.addContentTypeParser("*", function (request, payload, done) { let data = ""; payload.on("data", (chunk) => { @@ -80,22 +83,33 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { Reply: IReply; }>("/AuthLogin", async (request, reply) => { const username = request.query.username; + const password = request.query.password; - if (username === "new") { + // Check for the username + const user = await getUser(username); + + // If the user doesn't exist, return an error + if (typeof user === "undefined") { return reply.send( - "Valid=TRUE\nTicket=5213dee3a6bcdb133373b2d4f3b9962758", + "reasoncode=INV-200\nreasontext=Opps~\nreasonurl=https://www.winehq.com", ); } - return reply.send( - "Valid=TRUE\nTicket=d316cd2dd6bf870893dfbaaf17f965884e", - ); + // Check the password + if (!checkPassword(user, password)) { + return reply.send("Valid=FALSE\nReason=Invalid password"); + } + + // Generate a token + const token = generateToken(user.customerId); + + return reply.send(`Valid=TRUE\nTicket=${token}`); }); webServer.get("/ShardList/", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - throw new ServerError("No host defined in config"); + throw new Error("No host defined in config"); } return reply.send(generateShardList(config.host)); }); @@ -103,7 +117,7 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { webServer.get("/cert", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - throw new ServerError("No host defined in config"); + throw new Error("No host defined in config"); } return reply.send(handleGetCert(config)); }); @@ -111,7 +125,7 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { webServer.get("/key", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - throw new ServerError("No host defined in config"); + throw new Error("No host defined in config"); } return reply.send(handleGetKey(config)); }); @@ -119,7 +133,7 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { webServer.get("/registry", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - throw new ServerError("No host defined in config"); + throw new Error("No host defined in config"); } return reply.send(handleGetRegistry(config)); }); diff --git a/packages/gateway/test/encryption.test.ts b/thebeast/packages/gateway/test/encryption.test.ts similarity index 96% rename from packages/gateway/test/encryption.test.ts rename to thebeast/packages/gateway/test/encryption.test.ts index 697cac4c1..e24e7fd49 100644 --- a/packages/gateway/test/encryption.test.ts +++ b/thebeast/packages/gateway/test/encryption.test.ts @@ -12,8 +12,6 @@ import { getEncryption, } from "../../shared/State.js"; import { randomUUID } from "node:crypto"; -import { mockPino } from "../../../test/factoryMocks.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; let testSave: (state: State) => void; let testState: State; @@ -22,10 +20,9 @@ let testSocket2: Socket; describe("Encryption", () => { beforeAll(() => { - mockPino(); testSave = (state?: State) => { if (typeof state === "undefined") { - throw new ServerError("State not defined"); + throw new Error("State not defined"); } testState = state; }; diff --git a/packages/interfaces/index.d.ts b/thebeast/packages/interfaces/index.d.ts similarity index 95% rename from packages/interfaces/index.d.ts rename to thebeast/packages/interfaces/index.d.ts index 39298e102..d68b598fc 100644 --- a/packages/interfaces/index.d.ts +++ b/thebeast/packages/interfaces/index.d.ts @@ -4,7 +4,6 @@ import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; import { SerializedBuffer } from "../shared/messageFactory.js"; import { Configuration } from "../shared/Configuration.js"; -import pino from "pino"; /** * @module interfaces @@ -12,12 +11,6 @@ import pino from "pino"; export as namespace interfaces; -export namespace external { - export namespace pino { - export type Logger = pino.Logger; - } -} - export const name = "interfaces"; /** @@ -173,7 +166,7 @@ type WebConnectionHandler = ( req: IncomingMessage, res: ServerResponse, config: Configuration, - log: import("pino").Logger, + log: ServerLogger, ) => void; /** @@ -190,7 +183,7 @@ export interface RaceLobbyRecord { export interface ServiceArgs { connectionId: string; message: SerializedBuffer; - log: import("pino").Logger; + log: ServerLogger; } type Service = ( diff --git a/packages/lobby/src/LoginInfoMessage.ts b/thebeast/packages/lobby/src/LoginInfoMessage.ts similarity index 90% rename from packages/lobby/src/LoginInfoMessage.ts rename to thebeast/packages/lobby/src/LoginInfoMessage.ts index fba950e03..2d6409181 100644 --- a/packages/lobby/src/LoginInfoMessage.ts +++ b/thebeast/packages/lobby/src/LoginInfoMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../../shared/errors/ServerError.js"; import { LegacyMessage, deserializeString, @@ -56,10 +55,7 @@ export class LoginInfoMessage extends LegacyMessage { return this; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error deserializing LoginInfoMessage", - ); + throw Error(`Error deserializing LoginInfoMessage: ${error}`); } } @@ -91,10 +87,7 @@ export class LoginInfoMessage extends LegacyMessage { return buffer; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error serializing LoginInfoMessage", - ); + throw Error(`Error serializing LoginInfoMessage: ${error}`); } } diff --git a/packages/lobby/src/MiniRiffMessage.js b/thebeast/packages/lobby/src/MiniRiffMessage.js similarity index 100% rename from packages/lobby/src/MiniRiffMessage.js rename to thebeast/packages/lobby/src/MiniRiffMessage.js diff --git a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts b/thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts similarity index 100% rename from packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts rename to thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts diff --git a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts b/thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts similarity index 100% rename from packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts rename to thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts diff --git a/packages/lobby/src/NPS_LOBBY_COMMANDS.ts b/thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts similarity index 100% rename from packages/lobby/src/NPS_LOBBY_COMMANDS.ts rename to thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts diff --git a/packages/lobby/src/UserInfoMessage.ts b/thebeast/packages/lobby/src/UserInfoMessage.ts similarity index 91% rename from packages/lobby/src/UserInfoMessage.ts rename to thebeast/packages/lobby/src/UserInfoMessage.ts index 6ef0ea3f8..af07173b9 100644 --- a/packages/lobby/src/UserInfoMessage.ts +++ b/thebeast/packages/lobby/src/UserInfoMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../../shared/errors/ServerError.js"; import { LegacyMessage, deserializeString, @@ -73,9 +72,8 @@ export class UserInfoMessage extends LegacyMessage { return this; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error deserializing LoginInfoMessage", + throw Error( + `Error deserializing LoginInfoMessage: ${String(error)}`, ); } } @@ -96,10 +94,7 @@ export class UserInfoMessage extends LegacyMessage { return buffer; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error serializing LoginInfoMessage", - ); + throw Error(`Error serializing LoginInfoMessage: ${String(error)}`); } } diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/thebeast/packages/lobby/src/handlers/_setMyUserData.ts similarity index 74% rename from packages/lobby/src/handlers/_setMyUserData.ts rename to thebeast/packages/lobby/src/handlers/_setMyUserData.ts index 777e04787..b95c41e9e 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/thebeast/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,5 +1,4 @@ -import { getServerLogger } from "../../../shared/log.js"; -import { ServerError } from "../../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { LegacyMessage } from "../../../shared/messageFactory.js"; import { UserInfo } from "../UserInfoMessage.js"; import { getServerConfiguration } from "../../../shared/Configuration.js"; @@ -8,16 +7,12 @@ import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; export async function _setMyUserData({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }) { - log.level = getServerConfiguration({}).logLevel ?? "info"; - try { log.debug("Handling NPS_SET_MY_USER_DATA"); log.debug(`Received command: ${message.serialize().toString("hex")}`); @@ -28,7 +23,7 @@ export async function _setMyUserData({ log.debug(`User ID: ${incomingMessage._userId}`); // Get the database instance - const db = getDatabaseServer(); + const db = getDatabaseServer(log); // Update the user's data db.updateUser({ @@ -50,9 +45,6 @@ export async function _setMyUserData({ message: packetResult, }; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error handling NPS_SET_MY_USER_DATA", - ); + throw Error(`Error handling NPS_SET_MY_USER_DATA: ${String(error)}`); } } diff --git a/packages/lobby/src/handlers/encryptedCommand.ts b/thebeast/packages/lobby/src/handlers/encryptedCommand.ts similarity index 83% rename from packages/lobby/src/handlers/encryptedCommand.ts rename to thebeast/packages/lobby/src/handlers/encryptedCommand.ts index 10b9fd451..2d985e1d9 100644 --- a/packages/lobby/src/handlers/encryptedCommand.ts +++ b/thebeast/packages/lobby/src/handlers/encryptedCommand.ts @@ -1,10 +1,9 @@ -import { getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { fetchStateFromDatabase, getEncryption, updateEncryption, } from "../../../shared/State.js"; -import { ServerError } from "../../../shared/errors/ServerError.js"; import { LegacyMessage, MessageBuffer, @@ -25,7 +24,7 @@ import { _setMyUserData } from "./_setMyUserData.js"; * handler: (args: { * connectionId: string, * message: SerializedBuffer, - * log: import("pino").Logger, + * log: ServerLogger, * }) => Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -37,7 +36,7 @@ export const messageHandlers: { handler: (args: { connectionId: string; message: SerializedBuffer; - log: import("pino").Logger; + log: ServerLogger; }) => Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -50,7 +49,7 @@ export const messageHandlers: { * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage | MessageBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * message: LegacyMessage | MessageBuffer, @@ -59,13 +58,11 @@ export const messageHandlers: { async function encryptCmd({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage | MessageBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; message: LegacyMessage | MessageBuffer; @@ -75,7 +72,7 @@ async function encryptCmd({ const encryption = getEncryption(state, connectionId); if (typeof encryption === "undefined") { - throw new ServerError( + throw new Error( `Unable to locate encryption session for connection id ${connectionId}`, ); } @@ -100,7 +97,7 @@ async function encryptCmd({ * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * message: LegacyMessage, @@ -109,13 +106,11 @@ async function encryptCmd({ async function decryptCmd({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; message: LegacyMessage; @@ -125,7 +120,7 @@ async function decryptCmd({ const encryption = getEncryption(state, connectionId); if (typeof encryption === "undefined") { - throw new ServerError( + throw new Error( `Unable to locate encryption session for connection id ${connectionId}`, ); } @@ -150,7 +145,7 @@ export type NpsCommandHandler = { handler: (args: { connectionId: string; message: LegacyMessage; - log: import("pino").Logger; + log: ServerLogger; }) => Promise<{ connectionId: string; message: LegacyMessage; @@ -181,7 +176,7 @@ const npsCommandHandlers: NpsCommandHandler[] = [ * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log * @return {Promise<{ * connectionId: string, * message: MessageBuffer | LegacyMessage, @@ -190,18 +185,15 @@ const npsCommandHandlers: NpsCommandHandler[] = [ async function handleCommand({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; message: MessageBuffer | LegacyMessage; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; const incommingRequest = message; log.debug( @@ -216,7 +208,7 @@ async function handleCommand({ const handler = npsCommandHandlers.find((h) => h.opCode === command); if (typeof handler === "undefined") { - throw new ServerError(`Unknown command: ${command}`); + throw new Error(`Unknown command: ${command}`); } return handler.handler({ @@ -232,7 +224,7 @@ async function handleCommand({ * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -242,19 +234,15 @@ async function handleCommand({ export async function handleEncryptedNPSCommand({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; - const inboundMessage = new LegacyMessage(); inboundMessage._doDeserialize(message.data); diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts similarity index 80% rename from packages/lobby/src/handlers/handleGetMiniUserList.ts rename to thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts index e91cfcd94..68fca0e55 100644 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -1,5 +1,4 @@ -import { getServerLogger } from "../../../shared/log.js"; -import { ServerError } from "../../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { GameMessage, LegacyMessage, @@ -16,22 +15,18 @@ user1._userName = "User 1"; * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log */ export async function handleGetMiniUserList({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }) { - log.level = getServerConfiguration({}).logLevel ?? "info"; - log.debug("Handling NPS_GET_MINI_USER_LIST"); log.debug(`Received command: ${message._doSerialize().toString("hex")}`); @@ -76,9 +71,6 @@ export async function handleGetMiniUserList({ message: packetResult, }; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error handling NPS_MINI_USER_LIST", - ); + throw Error(`Error handling NPS_MINI_USER_LIST: ${String(error)}`); } } diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts similarity index 78% rename from packages/lobby/src/handlers/handleSendMiniRiffList.ts rename to thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts index ae03f6d0e..636d9bee6 100644 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -1,5 +1,4 @@ -import { getServerLogger } from "../../../shared/log.js"; -import { ServerError } from "../../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { GameMessage, LegacyMessage, @@ -13,21 +12,17 @@ import { channelRecordSize, channels } from "./encryptedCommand.js"; * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "Lobby" })] + * @param {ServerLogger} args.log */ export async function handleSendMiniRiffList({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }) { - log.level = getServerConfiguration({}).logLevel ?? "info"; - log.debug("Handling NPS_SEND_MINI_RIFF_LIST"); log.debug(`Received command: ${message._doSerialize().toString("hex")}`); @@ -67,9 +62,6 @@ export async function handleSendMiniRiffList({ message: packetResult, }; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error handling NPS_SEND_MINI_RIFF_LIST", - ); + throw Error(`Error handling NPS_SEND_MINI_RIFF_LIST: ${String(error)}`); } } diff --git a/packages/lobby/src/handlers/handleTrackingPing.ts b/thebeast/packages/lobby/src/handlers/handleTrackingPing.ts similarity index 72% rename from packages/lobby/src/handlers/handleTrackingPing.ts rename to thebeast/packages/lobby/src/handlers/handleTrackingPing.ts index 8fd082e68..8ec0f772c 100644 --- a/packages/lobby/src/handlers/handleTrackingPing.ts +++ b/thebeast/packages/lobby/src/handlers/handleTrackingPing.ts @@ -1,23 +1,19 @@ import { getServerConfiguration } from "../../../shared/Configuration.js"; -import { getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { SerializedBuffer } from "../../../shared/messageFactory.js"; export async function handleTrackingPing({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; - log.debug("Handling NPS_TRACKING_PING"); log.debug(`Received command: ${message.toString()}`); diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts similarity index 89% rename from packages/lobby/src/handlers/requestConnectGameServer.ts rename to thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts index e30a2ca99..3450d426b 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -3,7 +3,6 @@ import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPerson import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; import { LoginInfoMessage } from "../LoginInfoMessage.js"; -import { ServerError } from "../../../shared/errors/ServerError.js"; import { UserInfoMessage } from "../UserInfoMessage.js"; import { createCommandEncryptionPair, @@ -46,9 +45,7 @@ export function toHex(data: Buffer): string { export async function _npsRequestGameConnectServer({ connectionId, message, - log = getServerLogger({ - module: "LoginServer", - }), + log, }: import("../../../interfaces/index.js").ServiceArgs): Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -67,7 +64,7 @@ export async function _npsRequestGameConnectServer({ id: inboundMessage._userId, }); if (typeof personas[0] === "undefined") { - const err = new ServerError("No personas found."); + const err = new Error("No personas found."); throw err; } @@ -79,18 +76,18 @@ export async function _npsRequestGameConnectServer({ if (!existingEncryption) { // Set the encryption keys on the lobby connection - const databaseManager = getDatabaseServer({ log }); + const databaseManager = getDatabaseServer(log); const keys = await databaseManager .fetchSessionKeyByCustomerId(customerId) .catch((/** @type {unknown} */ error: unknown) => { - throw new ServerError( + throw new Error( `Unable to fetch session key for customerId ${customerId.toString()}: ${String( error, )}`, ); }); if (keys === undefined) { - throw new ServerError("Error fetching session keys!"); + throw new Error("Error fetching session keys!"); } // We have the session keys, set them on the connection @@ -111,7 +108,7 @@ export async function _npsRequestGameConnectServer({ addEncryption(state, newEncryption).save(); } catch (error) { - throw new ServerError(`Error creating encryption: ${error}`); + throw new Error(`Error creating encryption: ${error}`); } } diff --git a/packages/lobby/src/internal.ts b/thebeast/packages/lobby/src/internal.ts similarity index 86% rename from packages/lobby/src/internal.ts rename to thebeast/packages/lobby/src/internal.ts index bca479286..fbc0f46c9 100644 --- a/packages/lobby/src/internal.ts +++ b/thebeast/packages/lobby/src/internal.ts @@ -16,8 +16,7 @@ import { _npsRequestGameConnectServer } from "./handlers/requestConnectGameServer.js"; import { handleEncryptedNPSCommand } from "./handlers/encryptedCommand.js"; -import { getServerLogger } from "../../shared/log.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { getServerConfiguration } from "../../shared/Configuration.js"; import { LegacyMessage, @@ -35,7 +34,7 @@ import { handleTrackingPing } from "./handlers/handleTrackingPing.js"; * handler: (args: { * connectionId: string, * message: SerializedBuffer, - * log: import("pino").Logger, + * log: ServerLogger, * }) => Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -47,7 +46,7 @@ export const messageHandlers: { handler: (args: { connectionId: string; message: SerializedBuffer; - log: import("pino").Logger; + log: ServerLogger; }) => Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -74,7 +73,7 @@ export const messageHandlers: { * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "PersonaServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -84,19 +83,15 @@ export const messageHandlers: { export async function receiveLobbyData({ connectionId, message, - log = getServerLogger({ - module: "Lobby", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; - /** @type {LegacyMessage | NPSMessage} */ let inboundMessage: LegacyMessage | NPSMessage; @@ -104,7 +99,7 @@ export async function receiveLobbyData({ const dataLength = message.data.length; if (dataLength < 4) { - throw new ServerError( + throw new Error( `Data length ${dataLength} is too short to deserialize`, ); } @@ -131,7 +126,7 @@ export async function receiveLobbyData({ if (typeof supportedHandler === "undefined") { // We do not yet support this message code - throw new ServerError( + throw new Error( `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, ); } @@ -146,6 +141,6 @@ export async function receiveLobbyData({ log.debug("Leaving receiveLobbyData"); return result; } catch (error) { - throw new ServerError(`Error handling lobby data: ${String(error)}`); + throw new Error(`Error handling lobby data: ${String(error)}`); } } diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts similarity index 80% rename from packages/lobby/test/handlers/handleSendMiniRiffList.test.ts rename to thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index 76c2445ee..94c82429c 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,6 +1,7 @@ import { LegacyMessage } from "../../../shared/messageFactory.js"; import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; +import { getServerLogger } from "../../../shared/log.js"; describe("handleSendMiniRiffList", () => { it("should return a buffer", async () => { @@ -10,6 +11,9 @@ describe("handleSendMiniRiffList", () => { const result = await handleSendMiniRiffList({ connectionId: "test", message: incomingMessage, + log: getServerLogger({ + level: "silent", + }), }); expect(result.message).toBeInstanceOf(LegacyMessage); diff --git a/packages/login/src/NPSUserStatus.ts b/thebeast/packages/login/src/NPSUserStatus.ts similarity index 88% rename from packages/login/src/NPSUserStatus.ts rename to thebeast/packages/login/src/NPSUserStatus.ts index 5f31d7975..0078aafc2 100644 --- a/packages/login/src/NPSUserStatus.ts +++ b/thebeast/packages/login/src/NPSUserStatus.ts @@ -1,10 +1,9 @@ import { privateDecrypt } from "node:crypto"; import { readFileSync } from "node:fs"; -import { ServerError } from "../../shared/errors/ServerError.js"; import { LegacyMessage } from "../../shared/messageFactory.js"; import { Configuration } from "../../shared/Configuration.js"; -import { Logger } from "pino"; +import { ServerLogger } from "../../shared/log.js"; /** * @typedef {import("../../shared/Configuration.js").Configuration} Configuration @@ -33,7 +32,7 @@ import { Logger } from "pino"; export class NPSUserStatus extends LegacyMessage { _config: Configuration; - log: Logger; + log: ServerLogger; sessionKey: string; opCode: number; contextId: string; @@ -42,13 +41,9 @@ export class NPSUserStatus extends LegacyMessage { * * @param {Buffer} packet * @param {Configuration} config - * @param {import("pino").Logger} log + * @param {ServerLogger} log */ - constructor( - packet: Buffer, - config: Configuration, - log: import("pino").Logger, - ) { + constructor(packet: Buffer, config: Configuration, log: ServerLogger) { super(); this._config = config; this.log = log; @@ -87,7 +82,7 @@ export class NPSUserStatus extends LegacyMessage { // Decrypt the sessionkey try { if (!this._config.privateKeyFile) { - throw new ServerError("No private key file specified"); + throw new Error("No private key file specified"); } const privatekeyContents = readFileSync( this._config.privateKeyFile, @@ -104,9 +99,7 @@ export class NPSUserStatus extends LegacyMessage { this.log.trace(`Session key: ${sessionkeyString.toString("utf8")}`); // 128 bytes this.log.trace(`decrypted: ${this.sessionKey}`); // 12 bytes this.log.error(`Error decrypting session key: ${String(error)}`); - throw new ServerError( - `Unable to extract session key: ${String(error)}`, - ); + throw new Error(`Unable to extract session key: ${String(error)}`); } } diff --git a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts b/thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts similarity index 100% rename from packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts rename to thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts diff --git a/packages/login/src/NPS_LOGIN_COMMANDS.ts b/thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts similarity index 100% rename from packages/login/src/NPS_LOGIN_COMMANDS.ts rename to thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts diff --git a/packages/login/src/index.ts b/thebeast/packages/login/src/index.ts similarity index 85% rename from packages/login/src/index.ts rename to thebeast/packages/login/src/index.ts index 7ab4c5dd7..8e6f02606 100644 --- a/packages/login/src/index.ts +++ b/thebeast/packages/login/src/index.ts @@ -16,8 +16,7 @@ import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; import { DatabaseManager } from "../../interfaces/index.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { NPSMessage } from "../../shared/messageFactory.js"; import { handleLoginData } from "./internal.js"; @@ -32,17 +31,15 @@ export class LoginServer { * Please use {@see LoginServer.getInstance} instead * @param {object} options * @param {import("../../interfaces/index.js").DatabaseManager} options.database - * @param {import("pino").Logger} [options.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} options.log * @memberof LoginServer */ constructor({ - database = getDatabaseServer(), - log = getServerLogger({ - module: "LoginServer", - }), + log, + database = getDatabaseServer(log), }: { database: import("../../interfaces/index.js").DatabaseManager; - log?: import("pino").Logger; + log: ServerLogger; }) { this.databaseManager = database; this._log = log; @@ -54,12 +51,12 @@ export class LoginServer { * * @static * @param {import("../../interfaces/index.js").DatabaseManager} database - * @param {import("pino").Logger} log + * @param {ServerLogger} log * @return {LoginServer} */ static getInstance( database: import("../../interfaces/index.js").DatabaseManager, - log: import("pino").Logger, + log: ServerLogger, ): LoginServer { if (typeof LoginServer._instance === "undefined") { LoginServer._instance = new LoginServer({ @@ -93,9 +90,7 @@ export class LoginServer { }, ]; if (contextId.toString() === "") { - const err = new ServerError( - `Unknown contextId: ${contextId.toString()}`, - ); + const err = new Error(`Unknown contextId: ${contextId.toString()}`); throw err; } @@ -107,7 +102,7 @@ export class LoginServer { contextId, })}`, ); - const err = new ServerError( + const err = new Error( `Unable to locate user record matching contextId ${contextId}`, ); throw err; @@ -134,20 +129,18 @@ LoginServer._instance = undefined; * @param {object} args * @param {string} args.connectionId * @param {NPSMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * * @return {Promise} */ export async function receiveLoginData({ connectionId, message, - log = getServerLogger({ - module: "LoginServer", - }), + log, }: { connectionId: string; message: NPSMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise { try { log.debug("Entering login module"); @@ -160,7 +153,7 @@ export async function receiveLoginData({ log.debug("Exiting login module"); return response; } catch (error) { - const err = new ServerError( + const err = new Error( `There was an error in the login service: ${String(error)}`, ); throw err; diff --git a/packages/login/src/internal.ts b/thebeast/packages/login/src/internal.ts similarity index 88% rename from packages/login/src/internal.ts rename to thebeast/packages/login/src/internal.ts index 2c14bb16c..c974892f0 100644 --- a/packages/login/src/internal.ts +++ b/thebeast/packages/login/src/internal.ts @@ -16,8 +16,7 @@ import { getServerConfiguration } from "../../shared/Configuration.js"; import { NPSUserStatus } from "./NPSUserStatus.js"; -import { getServerLogger } from "../../shared/log.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; import { NPSMessage, SerializedBuffer } from "../../shared/messageFactory.js"; import { NetworkMessage } from "../../shared/src/NetworkMessage.js"; @@ -42,7 +41,7 @@ const userRecords: import("../../interfaces/index.js").UserRecordMini[] = [ * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -51,13 +50,11 @@ const userRecords: import("../../interfaces/index.js").UserRecordMini[] = [ async function login({ connectionId, message, - log = getServerLogger({ - module: "LoginServer", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -92,7 +89,7 @@ async function login({ if (typeof userRecord === "undefined") { // We were not able to locate the user's record - const err = new ServerError( + const err = new Error( `Unable to locate a user record for the context id: ${contextId}`, ); throw err; @@ -100,7 +97,7 @@ async function login({ // Save sessionkey in database under customerId log.debug("Preparing to update session key in db"); - await getDatabaseServer() + await getDatabaseServer(log) .updateSessionKey( userRecord.customerId, sessionKey ?? "", @@ -108,7 +105,7 @@ async function login({ connectionId, ) .catch((error) => { - const err = new ServerError( + const err = new Error( `Unable to update session key in the database: ${String( error, )}`, @@ -167,7 +164,7 @@ async function login({ * handler: (args: { * connectionId: string, * message: SerializedBuffer, - * log: import("pino").Logger, + * log: ServerLogger, * }) => Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -179,7 +176,7 @@ export const messageHandlers: { handler: (args: { connectionId: string; message: SerializedBuffer; - log: import("pino").Logger; + log: ServerLogger; }) => Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -199,7 +196,7 @@ export const messageHandlers: { * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -208,18 +205,15 @@ export const messageHandlers: { export async function handleLoginData({ connectionId, message, - log = getServerLogger({ - module: "handleLoginData", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; log.debug(`Received Login Server packet: ${connectionId}`); // The packet needs to be an NPSMessage @@ -232,7 +226,7 @@ export async function handleLoginData({ if (typeof supportedHandler === "undefined") { // We do not yet support this message code - throw new ServerError( + throw new Error( `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, ); } @@ -247,6 +241,6 @@ export async function handleLoginData({ log.debug("Leaving handleLoginData"); return result; } catch (error) { - throw new ServerError(`Error handling login data: ${String(error)}`); + throw new Error(`Error handling login data: ${String(error)}`); } } diff --git a/packages/login/src/premadeLogin.ts b/thebeast/packages/login/src/premadeLogin.ts similarity index 100% rename from packages/login/src/premadeLogin.ts rename to thebeast/packages/login/src/premadeLogin.ts diff --git a/packages/login/test/LoginServer.test.ts b/thebeast/packages/login/test/LoginServer.test.ts similarity index 69% rename from packages/login/test/LoginServer.test.ts rename to thebeast/packages/login/test/LoginServer.test.ts index 092187ee1..0c6f38520 100644 --- a/packages/login/test/LoginServer.test.ts +++ b/thebeast/packages/login/test/LoginServer.test.ts @@ -1,22 +1,18 @@ import { describe, it, expect } from "vitest"; import { LoginServer } from "../src/index.js"; -import { - mockDatabaseManager, - mockPino, - unmockPino, -} from "../../../test/factoryMocks.js"; +import { mockDatabaseManager } from "../../../test/factoryMocks.js"; import { getServerLogger } from "../../shared/log.js"; describe("LoginServer", () => { describe("constructor", () => { it("should create a new instance", () => { - mockPino(); const loginServer = new LoginServer({ database: mockDatabaseManager(), - log: getServerLogger({}), + log: getServerLogger({ + level: "silent", + }), }); expect(loginServer).toBeDefined(); - unmockPino(); }); }); }); diff --git a/packages/patch/src/PatchServer.ts b/thebeast/packages/patch/src/PatchServer.ts similarity index 85% rename from packages/patch/src/PatchServer.ts rename to thebeast/packages/patch/src/PatchServer.ts index 87aa0ff68..75978cdbb 100644 --- a/packages/patch/src/PatchServer.ts +++ b/thebeast/packages/patch/src/PatchServer.ts @@ -1,5 +1,5 @@ import { IncomingMessage, ServerResponse } from "node:http"; -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { Buffer } from "node:buffer"; const debug_reseponse = Buffer.from([ @@ -37,17 +37,17 @@ export class PatchServer { * * * @private - * @type {import("pino").Logger} + * @type {ServerLogger} */ - _log: import("pino").Logger; + _log: ServerLogger; /** * Creates an instance of PatchServer. * Please use getInstance() instead - * @param {import("pino").Logger} log + * @param {ServerLogger} log * @memberof PatchServer */ - constructor(log: import("pino").Logger) { + constructor(log: ServerLogger) { this._log = log; } @@ -55,11 +55,11 @@ export class PatchServer { * Return the instance of the PatchServer class * * @static - * @param {import("pino").Logger} log + * @param {ServerLogger} log * @return {PatchServer} * @memberof PatchServer */ - static getInstance(log: import("pino").Logger): PatchServer { + static getInstance(log: ServerLogger): PatchServer { if (!PatchServer._instance) { PatchServer._instance = new PatchServer(log); } @@ -113,6 +113,6 @@ export class PatchServer { * @returns {PatchServer} */ -export function getPatchServer(): PatchServer { - return PatchServer.getInstance(getServerLogger({ module: "PatchServer" })); +export function getPatchServer(log: ServerLogger): PatchServer { + return PatchServer.getInstance(log); } diff --git a/packages/patch/test/PatchServer.test.ts b/thebeast/packages/patch/test/PatchServer.test.ts similarity index 88% rename from packages/patch/test/PatchServer.test.ts rename to thebeast/packages/patch/test/PatchServer.test.ts index 69fe9786b..c36d79cbd 100644 --- a/packages/patch/test/PatchServer.test.ts +++ b/thebeast/packages/patch/test/PatchServer.test.ts @@ -1,4 +1,3 @@ -import { mockPino } from "../../../test/factoryMocks.js"; import { getServerLogger } from "../../shared/log.js"; import { PatchServer, CastanetResponse } from "../src/PatchServer.js"; import { describe, it, expect, vi } from "vitest"; @@ -6,8 +5,9 @@ import { describe, it, expect, vi } from "vitest"; describe("PatchServer", () => { it("should return the hard-coded value that tells the client there are no updates or patches", () => { // Arrange - mockPino(); - const log = getServerLogger({ module: "Patch" }); + const log = getServerLogger({ + level: "silent", + }); const patchServer = PatchServer.getInstance(log); const request = { socket: { diff --git a/packages/persona/src/BuddyInfoMessage.ts b/thebeast/packages/persona/src/BuddyInfoMessage.ts similarity index 100% rename from packages/persona/src/BuddyInfoMessage.ts rename to thebeast/packages/persona/src/BuddyInfoMessage.ts diff --git a/packages/persona/src/PersonaMapsMessage.ts b/thebeast/packages/persona/src/PersonaMapsMessage.ts similarity index 95% rename from packages/persona/src/PersonaMapsMessage.ts rename to thebeast/packages/persona/src/PersonaMapsMessage.ts index aa33fda98..7611cfef2 100644 --- a/packages/persona/src/PersonaMapsMessage.ts +++ b/thebeast/packages/persona/src/PersonaMapsMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../../shared/errors/ServerError.js"; import { serializeString } from "../../core/src/serializationHelpers.js"; import { NPSHeader, NPSMessage } from "../../shared/messageFactory.js"; @@ -156,7 +155,7 @@ export class PersonaRecord { // buffer.writeUInt16BE(this.personaLevel, offset); // 2 // offset += 2; // offset = 1292 } catch (error) { - throw new ServerError( + throw new Error( `Error serializing PersonaRecord buffer: ${String(error)}`, ); } @@ -236,14 +235,14 @@ export class PersonaList { try { let offset = 0; if (!this._personaRecords) { - throw new ServerError("PersonaRecords is undefined"); + throw new Error("PersonaRecords is undefined"); } for (const personaRecord of this._personaRecords) { personaRecord.serialize().copy(buffer, offset); offset += PersonaRecord.size(); } } catch (error) { - throw new ServerError( + throw new Error( `Error serializing PersonaList buffer: ${String(error)}`, ); } @@ -295,9 +294,8 @@ export class PersonaMapsMessage extends NPSMessage { this.raw = buffer; return this; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error deserializing PersonaMapsMessage", + throw Error( + `Error deserializing PersonaMapsMessage: ${String(error)}`, ); } } @@ -308,7 +306,7 @@ export class PersonaMapsMessage extends NPSMessage { override serialize(): Buffer { try { if (!this._personaRecords) { - throw new ServerError("PersonaRecords is undefined"); + throw new Error("PersonaRecords is undefined"); } this._header.length = NPSHeader.size() + 2 + this._personaRecords.size(); @@ -321,9 +319,8 @@ export class PersonaMapsMessage extends NPSMessage { this.data.copy(buffer, NPSHeader.size() + 2); return buffer; } catch (error) { - throw ServerError.fromUnknown( - error, - "Error serializing PersonaMapsMessage", + throw Error( + `Error serializing PersonaMapsMessage: ${String(error)}`, ); } } diff --git a/packages/persona/src/_gameLogout.ts b/thebeast/packages/persona/src/_gameLogout.ts similarity index 83% rename from packages/persona/src/_gameLogout.ts rename to thebeast/packages/persona/src/_gameLogout.ts index d797b38c3..b15d202d6 100644 --- a/packages/persona/src/_gameLogout.ts +++ b/thebeast/packages/persona/src/_gameLogout.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { LegacyMessage, SerializedBuffer, @@ -9,7 +9,7 @@ import { * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -19,13 +19,11 @@ import { export async function _gameLogout({ connectionId, message, - log = getServerLogger({ - module: "PersonaServer", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; diff --git a/packages/persona/src/_getFirstBuddy.ts b/thebeast/packages/persona/src/_getFirstBuddy.ts similarity index 94% rename from packages/persona/src/_getFirstBuddy.ts rename to thebeast/packages/persona/src/_getFirstBuddy.ts index 077a59bfb..d75507de9 100644 --- a/packages/persona/src/_getFirstBuddy.ts +++ b/thebeast/packages/persona/src/_getFirstBuddy.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { LegacyMessage, NPSMessage, @@ -9,13 +9,11 @@ import { BuddyCount, BuddyInfoMessage, BuddyList } from "./BuddyInfoMessage.js"; export async function _getFirstBuddy({ connectionId, message, - log = getServerLogger({ - module: "PersonaServer", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; diff --git a/packages/persona/src/_selectGamePersona.ts b/thebeast/packages/persona/src/_selectGamePersona.ts similarity index 85% rename from packages/persona/src/_selectGamePersona.ts rename to thebeast/packages/persona/src/_selectGamePersona.ts index 20d529204..5df462166 100644 --- a/packages/persona/src/_selectGamePersona.ts +++ b/thebeast/packages/persona/src/_selectGamePersona.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { LegacyMessage, SerializedBuffer, @@ -9,7 +9,7 @@ import { * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -19,13 +19,11 @@ import { export async function _selectGamePersona({ connectionId, message, - log = getServerLogger({ - module: "PersonaServer", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; diff --git a/packages/persona/src/getPersonasByPersonaId.ts b/thebeast/packages/persona/src/getPersonasByPersonaId.ts similarity index 81% rename from packages/persona/src/getPersonasByPersonaId.ts rename to thebeast/packages/persona/src/getPersonasByPersonaId.ts index 3d3fd7c9b..af774594a 100644 --- a/packages/persona/src/getPersonasByPersonaId.ts +++ b/thebeast/packages/persona/src/getPersonasByPersonaId.ts @@ -1,5 +1,4 @@ import { PersonaRecord } from "../../interfaces/index.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; import { personaRecords } from "./internal.js"; /** @@ -20,7 +19,7 @@ export async function getPersonasByPersonaId({ return match; }); if (results.length === 0) { - const err = new ServerError(`Unable to locate a persona for id: ${id}`); + const err = new Error(`Unable to locate a persona for id: ${id}`); throw err; } diff --git a/packages/persona/src/handlers/validatePersonaName.ts b/thebeast/packages/persona/src/handlers/validatePersonaName.ts similarity index 87% rename from packages/persona/src/handlers/validatePersonaName.ts rename to thebeast/packages/persona/src/handlers/validatePersonaName.ts index 9e033d75f..7204acb1b 100644 --- a/packages/persona/src/handlers/validatePersonaName.ts +++ b/thebeast/packages/persona/src/handlers/validatePersonaName.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../../shared/log.js"; import { LegacyMessage, SerializedBuffer, @@ -12,13 +12,11 @@ import { RawMessage } from "../../../shared/src/RawMessage.js"; export async function validatePersonaName({ connectionId, message, - log = getServerLogger({ - module: "PersonaServer", - }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; diff --git a/packages/persona/src/index.js b/thebeast/packages/persona/src/index.js similarity index 97% rename from packages/persona/src/index.js rename to thebeast/packages/persona/src/index.js index 092921910..b11bb1002 100644 --- a/packages/persona/src/index.js +++ b/thebeast/packages/persona/src/index.js @@ -19,7 +19,7 @@ import { NPSMessage } from "../../shared/messageFactory.js"; /** * Selects a game persona and marks it as in use * @param {NPSMessage} requestPacket - * @param {import("pino").Logger} log + * @param {ServerLogger} log * @returns {Promise} */ export async function handleSelectGamePersona(requestPacket, log) { diff --git a/packages/persona/src/internal.ts b/thebeast/packages/persona/src/internal.ts similarity index 90% rename from packages/persona/src/internal.ts rename to thebeast/packages/persona/src/internal.ts index 416ce52db..69a29e941 100644 --- a/packages/persona/src/internal.ts +++ b/thebeast/packages/persona/src/internal.ts @@ -14,8 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getServerLogger } from "../../shared/log.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { PersonaList, @@ -27,7 +26,6 @@ import { LegacyMessage, SerializedBuffer, } from "../../shared/messageFactory.js"; -import { Logger } from "pino"; import { _selectGamePersona } from "./_selectGamePersona.js"; import { _gameLogout } from "./_gameLogout.js"; import { _getFirstBuddy } from "./_getFirstBuddy.js"; @@ -44,7 +42,7 @@ const NAME_BUFFER_SIZE = 30; * handler: (args: { * connectionId: string, * message: LegacyMessage, - * log: import("pino").Logger, + * log: ServerLogger, * }) => Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -56,7 +54,7 @@ export const messageHandlers: { handler: (args: { connectionId: string; message: LegacyMessage; - log: Logger; + log: ServerLogger; }) => Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -161,7 +159,7 @@ async function getPersonaMapsByCustomerId( * @param {object} args * @param {string} args.connectionId * @param {LegacyMessage} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "LoginServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -170,11 +168,11 @@ async function getPersonaMapsByCustomerId( async function getPersonaMaps({ connectionId, message, - log = getServerLogger({ module: "PersonaServer" }), + log, }: { connectionId: string; message: LegacyMessage; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -246,13 +244,13 @@ async function getPersonaMaps({ }; } catch (error) { if (error instanceof Error) { - const err = new ServerError( + const err = new Error( `Error serializing personaMapsMsg: ${error.message}`, ); throw err; } - const err = new ServerError( + const err = new Error( "Error serializing personaMapsMsg, error unknonw", ); throw err; @@ -265,7 +263,7 @@ async function getPersonaMaps({ * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "PersonaServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[], @@ -275,18 +273,15 @@ async function getPersonaMaps({ export async function receivePersonaData({ connectionId, message, - log = getServerLogger({ - module: "PersonaServer", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; const { data } = message; log.debug( `Received Persona packet', @@ -305,7 +300,7 @@ export async function receivePersonaData({ if (typeof supportedHandler === "undefined") { // We do not yet support this message code - throw new ServerError( + throw new Error( `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, ); } @@ -320,9 +315,6 @@ export async function receivePersonaData({ log.debug("Leaving receivePersonaDatadleData"); return result; } catch (error) { - throw ServerError.fromUnknown( - error, - `Error handling persona data: ${String(error)}`, - ); + throw Error(`Error handling persona data: ${String(error)}`); } } diff --git a/packages/persona/test/getPersonasByPersonaId.test.ts b/thebeast/packages/persona/test/getPersonasByPersonaId.test.ts similarity index 100% rename from packages/persona/test/getPersonasByPersonaId.test.ts rename to thebeast/packages/persona/test/getPersonasByPersonaId.test.ts diff --git a/packages/shard/README.md b/thebeast/packages/shard/README.md similarity index 100% rename from packages/shard/README.md rename to thebeast/packages/shard/README.md diff --git a/packages/shard/src/ShardServer.ts b/thebeast/packages/shard/src/ShardServer.ts similarity index 100% rename from packages/shard/src/ShardServer.ts rename to thebeast/packages/shard/src/ShardServer.ts diff --git a/packages/shard/src/index.ts b/thebeast/packages/shard/src/index.ts similarity index 89% rename from packages/shard/src/index.ts rename to thebeast/packages/shard/src/index.ts index 87f0ce81c..e6a67d830 100644 --- a/packages/shard/src/index.ts +++ b/thebeast/packages/shard/src/index.ts @@ -16,7 +16,6 @@ import { readFileSync } from "fs"; import { Configuration } from "../../shared/Configuration.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; // This section of the server can not be encrypted. This is an intentional choice for compatibility // deepcode ignore HttpToHttps: This is intentional. See above note. @@ -28,13 +27,13 @@ import { ServerError } from "../../shared/errors/ServerError.js"; */ export function handleGetCert(config: Configuration): string { if (config.certificateFile === undefined) { - throw new ServerError("Certificate file not defined"); + throw new Error("Certificate file not defined"); } try { const cert = readFileSync(config.certificateFile, "utf8"); return cert; } catch (err) { - throw new ServerError(`Error reading certificate file: ${String(err)}`); + throw new Error(`Error reading certificate file: ${String(err)}`); } } @@ -84,12 +83,12 @@ export function handleGetRegistry(config: Configuration): string { */ export function handleGetKey(config: Configuration): string { if (config.publicKeyFile === undefined) { - throw new ServerError("Public key file not defined"); + throw new Error("Public key file not defined"); } try { const key = readFileSync(config.publicKeyFile, "utf8"); return key; } catch (err) { - throw new ServerError(`Error reading public key file: ${String(err)}`); + throw new Error(`Error reading public key file: ${String(err)}`); } } diff --git a/packages/shard/src/shard-entry.ts b/thebeast/packages/shard/src/shard-entry.ts similarity index 100% rename from packages/shard/src/shard-entry.ts rename to thebeast/packages/shard/src/shard-entry.ts diff --git a/packages/shard/test/fixtures/testCert.txt b/thebeast/packages/shard/test/fixtures/testCert.txt similarity index 100% rename from packages/shard/test/fixtures/testCert.txt rename to thebeast/packages/shard/test/fixtures/testCert.txt diff --git a/packages/shard/test/fixtures/testKey.txt b/thebeast/packages/shard/test/fixtures/testKey.txt similarity index 100% rename from packages/shard/test/fixtures/testKey.txt rename to thebeast/packages/shard/test/fixtures/testKey.txt diff --git a/packages/shard/test/shard-entry.test.ts b/thebeast/packages/shard/test/shard-entry.test.ts similarity index 100% rename from packages/shard/test/shard-entry.test.ts rename to thebeast/packages/shard/test/shard-entry.test.ts diff --git a/thebeast/packages/shared/Configuration.ts b/thebeast/packages/shared/Configuration.ts new file mode 100644 index 000000000..433248c85 --- /dev/null +++ b/thebeast/packages/shared/Configuration.ts @@ -0,0 +1,77 @@ +import { ServerLogger, ServerLoggerLevels, getServerLogger } from "./log.js"; + +/** + * @module shared/Configuration + * @exports Configuration + */ + +type ConfigurationArgs = { + host: string; + certificateFile: string; + privateKeyFile: string; + publicKeyFile: string; +}; + +const DEFAULT_CONFIG: ConfigurationArgs = { + host: "localhost", + certificateFile: "certificates/certificate.pem", + privateKeyFile: "certificates/privatekey.pem", + publicKeyFile: "certificates/publickey.pem", +}; + +export class Configuration { + certificateFile: string; + privateKeyFile: string; + publicKeyFile: string; + host: string; + static instance: Configuration | undefined; + /** + * + * @param {object} args + * @param {string} args.host + * @param {string} args.certificateFile + * @param {string} args.privateKeyFile + * @param {string} args.publicKeyFile + * @param {string} args.logLevel + * @param {ServerLogger} args.logger + */ + constructor(options: ConfigurationArgs) { + try { + this.certificateFile = options.certificateFile; + + this.privateKeyFile = options.privateKeyFile; + + this.publicKeyFile = options.publicKeyFile; + + this.host = options.host; + + Configuration.instance = this; + } catch (error) { + console.error(`Error in Configuration: ${String(error)}`); + process.exit(1); + } + } +} + +/** + * Get a singleton instance of Configuration + * + * @returns {Configuration} + */ +export function getServerConfiguration( + options: Partial, +): Configuration { + if (typeof Configuration.instance === "undefined") { + Configuration.instance = new Configuration({ + host: options.host || DEFAULT_CONFIG.host, + certificateFile: + options.certificateFile || DEFAULT_CONFIG.certificateFile, + privateKeyFile: + options.privateKeyFile || DEFAULT_CONFIG.privateKeyFile, + publicKeyFile: + options.publicKeyFile || DEFAULT_CONFIG.publicKeyFile, + }); + } + + return Configuration.instance; +} diff --git a/packages/shared/MessageNode.ts b/thebeast/packages/shared/MessageNode.ts similarity index 94% rename from packages/shared/MessageNode.ts rename to thebeast/packages/shared/MessageNode.ts index 0be88592d..87c4a676a 100644 --- a/packages/shared/MessageNode.ts +++ b/thebeast/packages/shared/MessageNode.ts @@ -1,4 +1,3 @@ -import { ServerError } from "./errors/ServerError.js"; import { SerializedBuffer } from "./messageFactory.js"; export class MessageNode { @@ -48,7 +47,7 @@ export class MessageNode { deserialize(packet: Buffer) { const length = packet.readInt16LE(0); if (length !== packet.length) { - throw new ServerError( + throw new Error( `[MessageNode] Length of packet ${length.toString()} does not match length of buffer ${packet.length.toString()}`, ); } @@ -82,7 +81,7 @@ export class MessageNode { packet.writeInt8(this.flags, offset); offset += 1; if (typeof this.data === "undefined") { - throw new ServerError("MessageNode data is undefined"); + throw new Error("MessageNode data is undefined"); } this.data.copy(packet, offset); return packet; diff --git a/packages/shared/NPSMessage.js b/thebeast/packages/shared/NPSMessage.js similarity index 100% rename from packages/shared/NPSMessage.js rename to thebeast/packages/shared/NPSMessage.js diff --git a/packages/shared/RawMessageHeader.js b/thebeast/packages/shared/RawMessageHeader.js similarity index 100% rename from packages/shared/RawMessageHeader.js rename to thebeast/packages/shared/RawMessageHeader.js diff --git a/packages/shared/ServerMessage.test.ts b/thebeast/packages/shared/ServerMessage.test.ts similarity index 100% rename from packages/shared/ServerMessage.test.ts rename to thebeast/packages/shared/ServerMessage.test.ts diff --git a/packages/shared/State.ts b/thebeast/packages/shared/State.ts similarity index 99% rename from packages/shared/State.ts rename to thebeast/packages/shared/State.ts index db9797ab6..7096826f8 100644 --- a/packages/shared/State.ts +++ b/thebeast/packages/shared/State.ts @@ -9,7 +9,7 @@ import { Cipher, Decipher } from "crypto"; import { SerializedBuffer } from "./messageFactory.js"; import { Socket } from "node:net"; -import { Logger } from "pino"; +import { ServerLogger } from "./log.js"; /** * @external RawMessage @@ -182,7 +182,7 @@ interface OnDataHandlerArgs { args: { connectionId: string; message: SerializedBuffer; - log?: Logger; + log: ServerLogger; }; } /** diff --git a/packages/shared/SubThread.ts b/thebeast/packages/shared/SubThread.ts similarity index 65% rename from packages/shared/SubThread.ts rename to thebeast/packages/shared/SubThread.ts index 8592bf221..5f090f84f 100644 --- a/packages/shared/SubThread.ts +++ b/thebeast/packages/shared/SubThread.ts @@ -3,24 +3,15 @@ */ import { EventEmitter } from "node:events"; -import { getServerLogger } from "./log.js"; -import { Logger } from "pino"; +import { ServerLogger, getServerLogger } from "./log.js"; export class SubThread extends EventEmitter { name: any; log: any; loopInterval: number; timer: any; - /** - * @param {string} name - * @param {module:shared/log.ServerLogger} log - * @param {number} [loopInterval=100] - */ - constructor( - name: string, - log: Logger = getServerLogger({ module: "SubThread" }), - loopInterval: number = 100, - ) { + + constructor(name: string, log: ServerLogger, loopInterval: number = 100) { super(); this.name = name; this.log = log; diff --git a/packages/shared/TimeStamp.ts b/thebeast/packages/shared/TimeStamp.ts similarity index 100% rename from packages/shared/TimeStamp.ts rename to thebeast/packages/shared/TimeStamp.ts diff --git a/thebeast/packages/shared/log.ts b/thebeast/packages/shared/log.ts new file mode 100644 index 000000000..16e07a75a --- /dev/null +++ b/thebeast/packages/shared/log.ts @@ -0,0 +1,119 @@ +import * as P from "pino"; +import { getServerConfiguration } from "./Configuration.js"; + +const DEFAULT_LOG_LEVEL = "trace"; + +export type ServerLoggerLevels = + | "fatal" + | "error" + | "warn" + | "info" + | "debug" + | "trace" + | "silent"; + +type ServerLoggerOptions = { + level: ServerLoggerLevels; + name?: string; +}; + +/** + * @static + * @property {ServerLogger} instance + */ +export class ServerLogger { + logger: P.Logger; + static instance: ServerLogger; + /** + * Creates an instance of ServerLogger. + * @param {ServerLoggerOptions} options + */ + constructor(options?: ServerLoggerOptions) { + const name = options?.name || "server"; + const level = DEFAULT_LOG_LEVEL; + this.logger = P.pino({ + name, + level, + transport: { + targets: [ + { + target: "pino-pretty", + options: { + colorize: true, + ignore: "pid,hostname", + }, + level: "trace", + }, + { + target: "pino/file", + options: { + destination: "server.log", + append: false, + }, + level: "trace", + }, + ], + }, + }); + ServerLogger.instance = this; + } + + /** + * @param {string} message + */ + fatal(message: string) { + this.logger.error(message); + } + + /** + * @param {string} message + */ + error(message: string) { + this.logger.error(message); + } + + /** + * @param {string} message + */ + warn(message: string) { + this.logger.error(message); + } + + /** + * @param {string} message + */ + info(message: string) { + this.logger.info(message); + } + + /** + * @param {string} message + */ + debug(message: string) { + this.logger.debug(message); + } + + /** + * @param {string} message + */ + trace(message: string) { + this.logger.trace(message); + } +} + +/** + * Get a logger instance + * + * @param {ServerLoggerOptions} options + * @return {ServerLogger} + */ +export function getServerLogger(options?: ServerLoggerOptions): ServerLogger { + if (typeof ServerLogger.instance === "undefined") { + ServerLogger.instance = new ServerLogger(options); + } + + const child = ServerLogger.instance; + return child; +} + +export const log = getServerLogger(); diff --git a/packages/shared/messageFactory.ts b/thebeast/packages/shared/messageFactory.ts similarity index 92% rename from packages/shared/messageFactory.ts rename to thebeast/packages/shared/messageFactory.ts index 4ce71b86a..019f8f24c 100644 --- a/packages/shared/messageFactory.ts +++ b/thebeast/packages/shared/messageFactory.ts @@ -8,8 +8,6 @@ * - RawMessage */ -import { ServerError } from "./errors/ServerError.js"; - /** * @abstract * @property {Buffer} data @@ -28,7 +26,7 @@ class AbstractSerializable { } _doSerialize() { - throw new ServerError("Method '_doSerialize()' must be implemented."); + throw new Error("Method '_doSerialize()' must be implemented."); } /** @@ -37,7 +35,7 @@ class AbstractSerializable { */ // eslint-disable-next-line no-unused-vars _doDeserialize(_buffer: Buffer): AbstractSerializable { - throw new ServerError("Method '_doDeserialize()' must be implemented."); + throw new Error("Method '_doDeserialize()' must be implemented."); } get data() { @@ -56,7 +54,7 @@ class AbstractSerializable { * @returns {number} */ static get Size(): number { - throw new ServerError("Method 'Size' must be implemented."); + throw new Error("Method 'Size' must be implemented."); } } @@ -98,8 +96,7 @@ export function deserializeString(buffer: Buffer): string { const string = stringBuffer.toString("utf8").trim(); return string; } catch (error) { - throw ServerError.fromUnknown( - error, + throw Error( `Error deserializing string from buffer ${buffer.toString("hex")}`, ); } @@ -169,7 +166,7 @@ class legacyHeader extends SerializableMixin(AbstractSerializable) { */ override _doDeserialize(buffer: Buffer) { if (buffer.length < 4) { - throw new ServerError( + throw new Error( `Buffer length ${buffer.length} is too short to deserialize`, ); } @@ -178,9 +175,7 @@ class legacyHeader extends SerializableMixin(AbstractSerializable) { this.id = buffer.readInt16BE(0); this.length = buffer.readInt16BE(2); } catch (error) { - throw new ServerError( - `Error deserializing buffer: ${String(error)}`, - ); + throw new Error(`Error deserializing buffer: ${String(error)}`); } return this; } @@ -229,7 +224,7 @@ export class GameMessageHeader extends legacyHeader { deserialize(buffer: Buffer) { if (buffer.length < 8) { - throw new ServerError( + throw new Error( `Buffer length ${buffer.length} is too short to deserialize`, ); } @@ -240,9 +235,7 @@ export class GameMessageHeader extends legacyHeader { this._gameMessageId = buffer.readInt16BE(4); this._gameMessageLength = buffer.readInt16BE(6); } catch (error) { - throw new ServerError( - `Error deserializing buffer: ${String(error)}`, - ); + throw new Error(`Error deserializing buffer: ${String(error)}`); } return this; } @@ -292,7 +285,7 @@ export class NPSHeader extends SerializableMixin(AbstractSerializable) { */ override _doDeserialize(buffer: Buffer): NPSHeader { if (buffer.length < this._size) { - throw new ServerError( + throw new Error( `Buffer length ${buffer.length} is too short to deserialize`, ); } @@ -301,9 +294,7 @@ export class NPSHeader extends SerializableMixin(AbstractSerializable) { this.id = buffer.readInt16BE(0); this.length = buffer.readInt16BE(2); } catch (error) { - throw new ServerError( - `Error deserializing buffer: ${String(error)}`, - ); + throw new Error(`Error deserializing buffer: ${String(error)}`); } return this; } @@ -371,7 +362,7 @@ export class serverHeader extends SerializableMixin(AbstractSerializable) { */ override _doDeserialize(buffer: Buffer): serverHeader { if (buffer.length < this._size) { - throw new ServerError( + throw new Error( `Buffer length ${buffer.length} is too short to deserialize`, ); } @@ -382,9 +373,7 @@ export class serverHeader extends SerializableMixin(AbstractSerializable) { this.sequence = buffer.readInt32LE(6); this.flags = buffer.readInt8(10); } catch (error) { - throw new ServerError( - `Error deserializing buffer: ${String(error)}`, - ); + throw new Error(`Error deserializing buffer: ${String(error)}`); } return this; } @@ -779,28 +768,10 @@ export class MessageBuffer extends SerializedBuffer { * @param {Buffer} buffer */ set buffer(buffer: Buffer) { - // const log = getServerLogger({ module: "MessageBuffer" }); - // log.level = getServerConfiguration({}).logLevel ?? "info"; - this._buffer = Buffer.alloc(buffer.length); this._buffer = buffer; this._header._messageLength = 4 + buffer.length; - // log.debug(`Message length: ${this._header._messageLength}`); - // log.debug(`Buffer length: ${this._buffer.length}`); - // Pad the buffer to a multiple of 8 bytes - // let extraBytes = 0; - // const x = (this._buffer.length + 4) % 8; - // extraBytes = 8 - x; - // log.debug(`Extra bytes: ${extraBytes}`); - // if (extraBytes !== 0) { - // this._buffer = Buffer.concat([ - // this._buffer, - // Buffer.alloc(extraBytes), - // ]); - // log.debug(`Buffer length: ${this._buffer.length}`); this._header._messageLength = this._buffer.length + 4; - // log.debug(`Message length: ${this._header._messageLength}`); - // } } /** @param {Buffer} buffer */ @@ -823,7 +794,7 @@ export class MessageBuffer extends SerializedBuffer { deserialize(buffer: Buffer): MessageBuffer { this._header.deserialize(buffer.subarray(0, 8)); if (buffer.length < 4 + this._header.messageLength) { - throw new ServerError( + throw new Error( `Buffer length ${buffer.length} is too short to deserialize`, ); } @@ -834,12 +805,12 @@ export class MessageBuffer extends SerializedBuffer { override serialize() { const buffer = Buffer.alloc(4 + this._buffer.length); if (this.buffer.length < 0) { - throw new ServerError( + throw new Error( `Buffer length ${this.buffer.length} is too short to serialize`, ); } if (this.messageId <= 0) { - throw new ServerError( + throw new Error( `Message ID ${this.messageId} is invalid to serialize`, ); } @@ -864,12 +835,26 @@ export class MessageBuffer extends SerializedBuffer { } } +export interface ServerMessageType { + _header: serverHeader; + _msgNo: number; + size(): number; + _doDeserialize(buffer: Buffer): ServerMessageType; + serialize(): Buffer; + setBuffer(buffer: Buffer): void; + updateMsgNo(): void; + toString(): string; +} + /** * A server message is a message that is passed between the server and the client. It has an 11 byte header. @see {@link serverHeader} * * @mixin {SerializableMixin} */ -export class OldServerMessage extends SerializedBuffer { +export class OldServerMessage + extends SerializedBuffer + implements ServerMessageType +{ _header: serverHeader; _msgNo: number; constructor() { diff --git a/packages/shared/src/BaseSerialized.ts b/thebeast/packages/shared/src/BaseSerialized.ts similarity index 84% rename from packages/shared/src/BaseSerialized.ts rename to thebeast/packages/shared/src/BaseSerialized.ts index d0e85cd0c..8bbd40215 100644 --- a/packages/shared/src/BaseSerialized.ts +++ b/thebeast/packages/shared/src/BaseSerialized.ts @@ -1,5 +1,3 @@ -import { ServerError } from "../errors/ServerError.js"; - export interface Serializable { data: Buffer; serialize(): Buffer; @@ -29,11 +27,11 @@ export class BaseSerialized implements Serializable { } serialize(): Buffer { - throw new ServerError("Not implemented"); + throw new Error("Not implemented"); } deserialize(buffer: Buffer): Serializable { - throw new ServerError("Not implemented"); + throw new Error("Not implemented"); } get length(): number { diff --git a/packages/shared/src/NetworkMessage.ts b/thebeast/packages/shared/src/NetworkMessage.ts similarity index 94% rename from packages/shared/src/NetworkMessage.ts rename to thebeast/packages/shared/src/NetworkMessage.ts index 577d15b16..ce2279fb8 100644 --- a/packages/shared/src/NetworkMessage.ts +++ b/thebeast/packages/shared/src/NetworkMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../errors/ServerError.js"; import { SerializedBuffer } from "./SerializedBuffer.js"; /** @@ -31,13 +30,13 @@ export class NetworkMessage extends SerializedBuffer { } override deserialize(buffer: Buffer) { if (buffer.length < 12) { - throw new ServerError( + throw new Error( `Unable to get header from buffer, got ${buffer.length}`, ); } const length = buffer.readUInt16BE(2); if (buffer.length < length) { - throw new ServerError( + throw new Error( `Expected buffer of length ${length}, got ${buffer.length}`, ); } diff --git a/packages/shared/src/RawMessage.ts b/thebeast/packages/shared/src/RawMessage.ts similarity index 91% rename from packages/shared/src/RawMessage.ts rename to thebeast/packages/shared/src/RawMessage.ts index 22e2e5890..f6aabd751 100644 --- a/packages/shared/src/RawMessage.ts +++ b/thebeast/packages/shared/src/RawMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../errors/ServerError.js"; import { SerializedBuffer } from "./SerializedBuffer.js"; /** @@ -19,13 +18,13 @@ export class RawMessage extends SerializedBuffer { } override deserialize(buffer: Buffer) { if (buffer.length < 4) { - throw new ServerError( + throw new Error( `Unable to get header from buffer, got ${buffer.length}`, ); } const length = buffer.readUInt16BE(2); if (buffer.length < length) { - throw new ServerError( + throw new Error( `Expected buffer of length ${length}, got ${buffer.length}`, ); } diff --git a/packages/shared/src/SerializedBuffer.ts b/thebeast/packages/shared/src/SerializedBuffer.ts similarity index 75% rename from packages/shared/src/SerializedBuffer.ts rename to thebeast/packages/shared/src/SerializedBuffer.ts index 7ac437a15..17c4cbb71 100644 --- a/packages/shared/src/SerializedBuffer.ts +++ b/thebeast/packages/shared/src/SerializedBuffer.ts @@ -1,5 +1,4 @@ import { BaseSerialized } from "./BaseSerialized.js"; -import { ServerError } from "../errors/ServerError.js"; /** * A serialized buffer, prefixed with its 2-byte length. @@ -15,14 +14,14 @@ export class SerializedBuffer extends BaseSerialized { this._data.copy(buffer, 2); return buffer; } catch (error) { - throw ServerError.fromUnknown(error, "Unable to serialize buffer"); + throw new Error(`Unable to serialize buffer: ${error}`); } } override deserialize(buffer: Buffer) { try { const length = buffer.readUInt16BE(0); if (buffer.length < 2 + length) { - throw new ServerError( + throw new Error( `Expected buffer of length ${2 + length}, got ${ buffer.length }`, @@ -31,10 +30,7 @@ export class SerializedBuffer extends BaseSerialized { this._data = buffer.subarray(2, 2 + length); return this; } catch (error) { - throw ServerError.fromUnknown( - error, - "Unable to deserialize buffer", - ); + throw Error(`Unable to deserialize buffer: ${error}`); } } } diff --git a/packages/shared/src/ServerMessage.ts b/thebeast/packages/shared/src/ServerMessage.ts similarity index 95% rename from packages/shared/src/ServerMessage.ts rename to thebeast/packages/shared/src/ServerMessage.ts index 852a4191d..4a576e084 100644 --- a/packages/shared/src/ServerMessage.ts +++ b/thebeast/packages/shared/src/ServerMessage.ts @@ -1,4 +1,3 @@ -import { ServerError } from "../errors/ServerError.js"; import { SerializedBuffer } from "./SerializedBuffer.js"; class HeaderShim { @@ -49,13 +48,13 @@ export class ServerMessage extends SerializedBuffer { } override deserialize(buffer: Buffer) { if (buffer.length < 11) { - throw new ServerError( + throw new Error( `Unable to get header from buffer, got ${buffer.length}`, ); } const length = buffer.readUInt16LE(0); if (buffer.length < length) { - throw new ServerError( + throw new Error( `Expected buffer of length ${length}, got ${buffer.length}`, ); } diff --git a/packages/shared/structs.ts b/thebeast/packages/shared/structs.ts similarity index 87% rename from packages/shared/structs.ts rename to thebeast/packages/shared/structs.ts index e4c3519a8..8fb8271b7 100644 --- a/packages/shared/structs.ts +++ b/thebeast/packages/shared/structs.ts @@ -1,5 +1,3 @@ -import { ServerError } from "./errors/ServerError.js"; - export interface Serialized { serialize(): Buffer; deserialize(buf: Buffer): void; @@ -44,7 +42,7 @@ function deserializeDWord(buff: Buffer) { function deserializeString(buf: Buffer) { const size = buf.readUInt16LE(); if (size > buf.length - 2) { - throw new ServerError("Size is bigger than the buffer length - 2"); + throw new Error("Size is bigger than the buffer length - 2"); } const str = buf.toString("utf8", 2); @@ -102,20 +100,14 @@ export class SerializedBase implements Serialized { // eslint-disable-next-line @typescript-eslint/no-unused-vars deserialize(_buff: Buffer): Buffer { - throw new ServerError( - "This method must be implemented by child classes", - ); + throw new Error("This method must be implemented by child classes"); } serialize(): Buffer { - throw new ServerError( - "This method must be implemented by child classes", - ); + throw new Error("This method must be implemented by child classes"); } sizeOf(): number { - throw new ServerError( - "This method must be implemented by child classes", - ); + throw new Error("This method must be implemented by child classes"); } } @@ -130,16 +122,16 @@ export class UserStatus extends SerializedBase implements Serialized { v2P1368 = 0; // Metrics Id (not used) 64 bytes override sizeOf(): number { - throw new ServerError("Not yet implemented"); + throw new Error("Not yet implemented"); } override serialize(): Buffer { - throw new ServerError("Not yet implemented"); + throw new Error("Not yet implemented"); } // eslint-disable-next-line @typescript-eslint/no-unused-vars override deserialize(_buff: Buffer): Buffer { - throw new ServerError("Not yet implemented"); + throw new Error("Not yet implemented"); } } @@ -164,7 +156,7 @@ export class LoginRequestReply extends SerializedBase implements Serialized { _doSerialize() { if (this.header === null) { - throw new ServerError("Header is null"); + throw new Error("Header is null"); } let buf = this.header.serialize(); buf = Buffer.concat([buf, serializeString(this.sessionKey)]); @@ -174,7 +166,7 @@ export class LoginRequestReply extends SerializedBase implements Serialized { _serializeSizeOf() { if (this.header === null) { - throw new ServerError("Header is null"); + throw new Error("Header is null"); } let size = this.header.sizeOf(); size += sizeOfString(this.sessionKey); @@ -203,7 +195,7 @@ export class Login extends LoginRequestReply implements Serialized { override serialize() { if (this.header === null) { - throw new ServerError("Header is null"); + throw new Error("Header is null"); } let buf = this.header.serialize(); buf = Buffer.concat([ @@ -219,7 +211,7 @@ export class Login extends LoginRequestReply implements Serialized { serializeSizeOf() { if (this.header === null) { - throw new ServerError("Header is null"); + throw new Error("Header is null"); } let size = this.header.sizeOf(); diff --git a/packages/shared/test/BaseSerialized.test.ts b/thebeast/packages/shared/test/BaseSerialized.test.ts similarity index 100% rename from packages/shared/test/BaseSerialized.test.ts rename to thebeast/packages/shared/test/BaseSerialized.test.ts diff --git a/packages/shared/test/RawMessage.test.ts b/thebeast/packages/shared/test/RawMessage.test.ts similarity index 100% rename from packages/shared/test/RawMessage.test.ts rename to thebeast/packages/shared/test/RawMessage.test.ts diff --git a/packages/shared/test/SerializedBuffer.test.ts b/thebeast/packages/shared/test/SerializedBuffer.test.ts similarity index 100% rename from packages/shared/test/SerializedBuffer.test.ts rename to thebeast/packages/shared/test/SerializedBuffer.test.ts diff --git a/packages/shared/utils.js b/thebeast/packages/shared/utils.js similarity index 100% rename from packages/shared/utils.js rename to thebeast/packages/shared/utils.js diff --git a/packages/transactions/src/ArcadeCarMessage.ts b/thebeast/packages/transactions/src/ArcadeCarMessage.ts similarity index 100% rename from packages/transactions/src/ArcadeCarMessage.ts rename to thebeast/packages/transactions/src/ArcadeCarMessage.ts diff --git a/packages/transactions/src/EntryFeePurseMessage.ts b/thebeast/packages/transactions/src/EntryFeePurseMessage.ts similarity index 97% rename from packages/transactions/src/EntryFeePurseMessage.ts rename to thebeast/packages/transactions/src/EntryFeePurseMessage.ts index 64ffad93a..9cda04a53 100644 --- a/packages/transactions/src/EntryFeePurseMessage.ts +++ b/thebeast/packages/transactions/src/EntryFeePurseMessage.ts @@ -14,7 +14,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerError } from "../../shared/errors/ServerError.js"; import { SerializedBuffer } from "../../shared/messageFactory.js"; /** @@ -91,7 +90,7 @@ export class PurseEntry extends SerializedBuffer { */ deserialize(data: Buffer) { if (data.length !== this.size()) { - throw new ServerError( + throw new Error( `PurseEntry.deserialize() expected ${this.size()} bytes but got ${ data.length } bytes`, diff --git a/packages/transactions/src/GameUrlsMessage.ts b/thebeast/packages/transactions/src/GameUrlsMessage.ts similarity index 100% rename from packages/transactions/src/GameUrlsMessage.ts rename to thebeast/packages/transactions/src/GameUrlsMessage.ts diff --git a/packages/transactions/src/GenericReplyMessage.ts b/thebeast/packages/transactions/src/GenericReplyMessage.ts similarity index 71% rename from packages/transactions/src/GenericReplyMessage.ts rename to thebeast/packages/transactions/src/GenericReplyMessage.ts index b37b18ec4..0a3963e93 100644 --- a/packages/transactions/src/GenericReplyMessage.ts +++ b/thebeast/packages/transactions/src/GenericReplyMessage.ts @@ -19,14 +19,14 @@ import { SerializedBuffer } from "../../shared/messageFactory.js"; export class GenericReply extends SerializedBuffer { msgNo: number; msgReply: number; - result: Buffer; + result: number; data2: Buffer; rawBuffer!: Buffer; constructor() { super(); this.msgNo = 0; // 2 bytes (ethier MC_SUCCESS (0x101) or MC_FAILURE(0x102)) this.msgReply = 0; // 2 bytes (message # being replied to (ex: MC_PURCHASE_STOCK_CAR)) - this.result = Buffer.alloc(4); // 4 bytes (specific to the message sent, often the reason for a failure) + this.result = 0; // 4 bytes (specific to the message sent, often the reason for a failure) this.setBuffer(Buffer.alloc(4)); // 4 bytes (specific to the message sent (but usually 0)) this.data2 = Buffer.alloc(4); // 4 bytes (specific to the message sent (but usually 0)) } @@ -35,7 +35,7 @@ export class GenericReply extends SerializedBuffer { this.rawBuffer = Buffer.alloc(16); this.rawBuffer.writeInt16LE(this.msgNo, 0); this.rawBuffer.writeInt16LE(this.msgReply, 2); - this.result.copy(this.rawBuffer, 4); + this.rawBuffer.writeInt16LE(this.result, 4); this.data.copy(this.rawBuffer, 8); this.data2.copy(this.rawBuffer, 12); return this.rawBuffer; @@ -45,7 +45,7 @@ export class GenericReply extends SerializedBuffer { return { msgNo: this.msgNo, msgReply: this.msgReply, - result: this.result.toString("hex"), + result: this.result, data: this.data.toString("hex"), data2: this.data2.toString("hex"), }; @@ -58,12 +58,10 @@ export class GenericReply extends SerializedBuffer { export class GenericReplyMessage extends SerializedBuffer { msgNo: number; - toFrom: number; - appId: number; msgReply: number; - result: Buffer; - data2: Buffer; - rawBuffer: Buffer; + result: number; + data1: number; + data2: number; /** * One of * @@ -76,28 +74,21 @@ export class GenericReplyMessage extends SerializedBuffer { constructor() { super(); this.msgNo = 0; // 2 bytes - this.toFrom = 0; // 2 bytes - this.appId = 0; // 2 bytes this.msgReply = 0; // 2 bytes - this.result = Buffer.alloc(4); // 4 bytes - this.setBuffer(Buffer.alloc(4)); // 4 bytes - this.data2 = Buffer.alloc(4); // 4 bytes - this.rawBuffer = Buffer.alloc(0); + this.result = 0; // 4 bytes + this.data1 = 0; // 4 bytes + this.data2 = 0; // 4 bytes } - /** - * Setter data - * @param {Buffer} value - */ - setData(value: Buffer) { - this.setBuffer(value); + setResult(buffer: number) { + this.result = buffer; } - /** - * Setter data2 - * @param {Buffer} value - */ - setData2(value: Buffer) { + setData1(value: number) { + this.data1 = value; + } + + setData2(value: number) { this.data2 = value; } @@ -108,7 +99,7 @@ export class GenericReplyMessage extends SerializedBuffer { */ static deserialize(buffer: Buffer): GenericReplyMessage { const node = new GenericReplyMessage(); - node.rawBuffer = buffer; + try { node.msgNo = buffer.readInt16LE(0); } catch (error) { @@ -125,9 +116,9 @@ export class GenericReplyMessage extends SerializedBuffer { } node.msgReply = buffer.readInt16LE(2); - node.result = buffer.subarray(4, 8); - node.setBuffer(buffer.subarray(8, 12)); - node.data2 = buffer.subarray(12); + node.result = buffer.readInt32LE(4); + node.data1 = buffer.readInt32LE(8); + node.data2 = buffer.readInt32LE(12); return node; } @@ -136,29 +127,21 @@ export class GenericReplyMessage extends SerializedBuffer { * @return {Buffer} */ override serialize(): Buffer { - const packet = Buffer.alloc(114); // 16 bytes + const packet = Buffer.alloc(this.size()); let offset = 0; packet.writeInt16LE(this.msgNo, offset); offset += 2; - // packet.writeInt16LE(this.msgReply, offset); - // offset += 2; - this.result.copy(packet, offset); + packet.writeInt16LE(this.msgReply, offset); + offset += 2; + packet.writeInt16LE(this.result, offset); offset += 4; - this.data.copy(packet, offset); + packet.writeInt16LE(this.data1, offset); offset += 4; - this.data2.copy(packet, offset); + packet.writeInt16LE(this.data2, offset); // offset is now 16 return packet; } - /** - * - * @param {Buffer} buffer - */ - setResult(buffer: Buffer) { - this.result = buffer; - } - /** * DumpPacket * @return {string} @@ -168,9 +151,23 @@ export class GenericReplyMessage extends SerializedBuffer { ${JSON.stringify({ msgNo: this.msgNo, msgReply: this.msgReply, - result: this.result.toString("hex"), - data: this.data.toString("hex"), - tdata2: this.data2.toString("hex"), + result: this.result, + data: this.data1, + tdata2: this.data2, })}`; } + + override toString(): string { + return `GenericReply: + MsgNo: ${this.msgNo} + MsgReply: ${this.msgReply} + Result: ${this.result} + Data: ${this.data1} + Data2: ${this.data2} + `; + } + + override size(): number { + return 16; + } } diff --git a/packages/transactions/src/GenericRequestMessage.ts b/thebeast/packages/transactions/src/GenericRequestMessage.ts similarity index 100% rename from packages/transactions/src/GenericRequestMessage.ts rename to thebeast/packages/transactions/src/GenericRequestMessage.ts diff --git a/packages/transactions/src/LobbyMessage.ts b/thebeast/packages/transactions/src/LobbyMessage.ts similarity index 99% rename from packages/transactions/src/LobbyMessage.ts rename to thebeast/packages/transactions/src/LobbyMessage.ts index 442636945..a40905561 100644 --- a/packages/transactions/src/LobbyMessage.ts +++ b/thebeast/packages/transactions/src/LobbyMessage.ts @@ -14,7 +14,6 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerError } from "../../shared/errors/ServerError.js"; import { SerializedBuffer } from "../../shared/messageFactory.js"; /** @@ -271,7 +270,7 @@ export class LobbyInfo extends SerializedBuffer { */ deserialize(data: Buffer) { if (data.length !== this.size()) { - throw new ServerError( + throw new Error( `LobbyInfo.deserialize() expected ${this.size()} bytes but got ${ data.length } bytes`, diff --git a/packages/transactions/src/OwnedVehiclesMessage.ts b/thebeast/packages/transactions/src/OwnedVehiclesMessage.ts similarity index 100% rename from packages/transactions/src/OwnedVehiclesMessage.ts rename to thebeast/packages/transactions/src/OwnedVehiclesMessage.ts diff --git a/packages/transactions/src/PartsAssemblyMessage.ts b/thebeast/packages/transactions/src/PartsAssemblyMessage.ts similarity index 100% rename from packages/transactions/src/PartsAssemblyMessage.ts rename to thebeast/packages/transactions/src/PartsAssemblyMessage.ts diff --git a/packages/transactions/src/PlayerInfoMessage.ts b/thebeast/packages/transactions/src/PlayerInfoMessage.ts similarity index 100% rename from packages/transactions/src/PlayerInfoMessage.ts rename to thebeast/packages/transactions/src/PlayerInfoMessage.ts diff --git a/packages/transactions/src/PlayerPhysicalMessage.ts b/thebeast/packages/transactions/src/PlayerPhysicalMessage.ts similarity index 57% rename from packages/transactions/src/PlayerPhysicalMessage.ts rename to thebeast/packages/transactions/src/PlayerPhysicalMessage.ts index 641f322cf..4ac349136 100644 --- a/packages/transactions/src/PlayerPhysicalMessage.ts +++ b/thebeast/packages/transactions/src/PlayerPhysicalMessage.ts @@ -27,23 +27,40 @@ export class PlayerPhysicalMessage extends SerializedBuffer { override serialize() { const buffer = Buffer.alloc(this.size()); let offset = 0; - buffer.writeUInt16LE(this._msgNo, offset); + buffer.writeUInt16BE(this._msgNo, offset); offset += 2; - buffer.writeUInt32LE(this._playerId, offset); + buffer.writeUInt32BE(this._playerId, offset); offset += 4; - buffer.writeUInt32LE(this._bodytype, offset); + buffer.writeUInt32BE(this._bodytype, offset); offset += 4; - buffer.writeUInt32LE(this._hairColor, offset); + buffer.writeUInt32BE(this._hairColor, offset); offset += 4; - buffer.writeUInt32LE(this._skinColor, offset); + buffer.writeUInt32BE(this._skinColor, offset); offset += 4; - buffer.writeUInt32LE(this._shirtColor, offset); + buffer.writeUInt32BE(this._shirtColor, offset); offset += 4; - buffer.writeUInt32LE(this._pantsColor, offset); + buffer.writeUInt32BE(this._pantsColor, offset); return buffer; } + deserialize(buffer: Buffer) { + let offset = 0; + this._msgNo = buffer.readUInt16BE(offset); + offset += 2; + this._playerId = buffer.readUInt32BE(offset); + offset += 4; + this._bodytype = buffer.readUInt32BE(offset); + offset += 4; + this._hairColor = buffer.readUInt32BE(offset); + offset += 4; + this._skinColor = buffer.readUInt32BE(offset); + offset += 4; + this._shirtColor = buffer.readUInt32BE(offset); + offset += 4; + this._pantsColor = buffer.readUInt32BE(offset); + } + override toString() { return `PlayerPhysicalMessage: msgNo=${this._msgNo} playerId=${this._playerId} bodytype=${this._bodytype} hairColor=${this._hairColor} skinColor=${this._skinColor} shirtColor=${this._shirtColor} pantsColor=${this._pantsColor}`; } diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.ts b/thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts similarity index 100% rename from packages/transactions/src/PlayerRacingHistoryMessage.ts rename to thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts diff --git a/packages/transactions/src/StockCar.ts b/thebeast/packages/transactions/src/StockCar.ts similarity index 100% rename from packages/transactions/src/StockCar.ts rename to thebeast/packages/transactions/src/StockCar.ts diff --git a/packages/transactions/src/StockCarInfoMessage.ts b/thebeast/packages/transactions/src/StockCarInfoMessage.ts similarity index 100% rename from packages/transactions/src/StockCarInfoMessage.ts rename to thebeast/packages/transactions/src/StockCarInfoMessage.ts diff --git a/packages/transactions/src/TClientConnectMessage.ts b/thebeast/packages/transactions/src/TClientConnectMessage.ts similarity index 100% rename from packages/transactions/src/TClientConnectMessage.ts rename to thebeast/packages/transactions/src/TClientConnectMessage.ts diff --git a/packages/transactions/src/TLoginMessage.ts b/thebeast/packages/transactions/src/TLoginMessage.ts similarity index 68% rename from packages/transactions/src/TLoginMessage.ts rename to thebeast/packages/transactions/src/TLoginMessage.ts index d9ab9fc15..d76f0e303 100644 --- a/packages/transactions/src/TLoginMessage.ts +++ b/thebeast/packages/transactions/src/TLoginMessage.ts @@ -54,6 +54,59 @@ export class LoginCompleteMessage extends SerializedBuffer { this._shardAverageCarsOwned = 0; // 4 bytes this._shardAverageLevel = 0; // 4 bytes } + + override serialize(): Buffer { + const buffer = Buffer.alloc(this.size()); + let offset = 0; + buffer.writeUInt16LE(this._msgNo, offset); + offset += 2; + buffer.writeUInt32LE(this._serverTime, offset); + offset += 4; + buffer.writeUInt8(this._firstTime ? 1 : 0, offset); + offset += 1; + buffer.writeUInt8(this._paycheckWaiting ? 1 : 0, offset); + offset += 1; + buffer.writeUInt8(this._clubInvitesWaiting ? 1 : 0, offset); + offset += 1; + buffer.writeUInt8(this.tallyInProgress ? 1 : 0, offset); + offset += 1; + buffer.writeUInt16LE(this._secondsUntilShutdown, offset); + offset += 2; + + buffer.writeUInt32LE(this._shardGNP, offset); + offset += 4; + buffer.writeUInt32LE(this._shardCarsSold, offset); + offset += 4; + buffer.writeUInt32LE(this._shardAverageSalaries, offset); + offset += 4; + buffer.writeUInt32LE(this._shardAverageCarsOwned, offset); + offset += 4; + buffer.writeUInt32LE(this._shardAverageLevel, offset); + offset += 4; + + return buffer; + } + + override size() { + return 34; + } + + override toString() { + return `LoginCompleteMessage: + MsgNo: ${this._msgNo} + ServerTime: ${this._serverTime} + FirstTime: ${this._firstTime} + PaycheckWaiting: ${this._paycheckWaiting} + ClubInvitesWaiting: ${this._clubInvitesWaiting} + TallyInProgress: ${this.tallyInProgress} + SecondsUntilShutdown: ${this._secondsUntilShutdown} + ShardGNP: ${this._shardGNP} + ShardCarsSold: ${this._shardCarsSold} + ShardAverageSalaries: ${this._shardAverageSalaries} + ShardAverageCarsOwned: ${this._shardAverageCarsOwned} + ShardAverageLevel: ${this._shardAverageLevel} + `; + } } export class TLoginMessage extends OldServerMessage { @@ -141,6 +194,15 @@ export class TLoginMessage extends OldServerMessage { } override toString() { - return `TLoginMessage: msgNo=${this._msgNo} customerId=${this._customerId} personaId=${this._personaId} lotOwnerId=${this._lotOwnerId} brandedPartId=${this._brandedPartId} skinId=${this._skinId} personaName=${this._personaName} mcVersion=${this._mcVersion}`; + return `TLoginMessage: + MsgNo: ${this._msgNo} + CustomerId: ${this._customerId} + PersonaId: ${this._personaId} + LotOwnerId: ${this._lotOwnerId} + BrandedPartId: ${this._brandedPartId} + SkinId: ${this._skinId} + PersonaName: ${this._personaName} + MCVersion: ${this._mcVersion} + `; } } diff --git a/packages/transactions/src/TunablesMessage.ts b/thebeast/packages/transactions/src/TunablesMessage.ts similarity index 100% rename from packages/transactions/src/TunablesMessage.ts rename to thebeast/packages/transactions/src/TunablesMessage.ts diff --git a/packages/transactions/src/_getArcadeCarInfo.ts b/thebeast/packages/transactions/src/_getArcadeCarInfo.ts similarity index 100% rename from packages/transactions/src/_getArcadeCarInfo.ts rename to thebeast/packages/transactions/src/_getArcadeCarInfo.ts diff --git a/packages/transactions/src/_getGameUrls.ts b/thebeast/packages/transactions/src/_getGameUrls.ts similarity index 100% rename from packages/transactions/src/_getGameUrls.ts rename to thebeast/packages/transactions/src/_getGameUrls.ts diff --git a/packages/transactions/src/_getOwnedParts.ts b/thebeast/packages/transactions/src/_getOwnedParts.ts similarity index 91% rename from packages/transactions/src/_getOwnedParts.ts rename to thebeast/packages/transactions/src/_getOwnedParts.ts index be06aee88..c8c1582b4 100644 --- a/packages/transactions/src/_getOwnedParts.ts +++ b/thebeast/packages/transactions/src/_getOwnedParts.ts @@ -5,7 +5,6 @@ import { fetchStateFromDatabase, findSessionByConnectionId, } from "../../shared/State.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; export async function _getOwnedParts({ @@ -23,7 +22,7 @@ export async function _getOwnedParts({ const session = findSessionByConnectionId(state, connectionId); if (!session) { - throw new ServerError("Session not found"); + throw new Error("Session not found"); } const ownedPartsMessage = new PartsAssemblyMessage(session.gameId); diff --git a/packages/transactions/src/_getOwnedVehicles.ts b/thebeast/packages/transactions/src/_getOwnedVehicles.ts similarity index 100% rename from packages/transactions/src/_getOwnedVehicles.ts rename to thebeast/packages/transactions/src/_getOwnedVehicles.ts diff --git a/packages/transactions/src/_getPlayerInfo.ts b/thebeast/packages/transactions/src/_getPlayerInfo.ts similarity index 90% rename from packages/transactions/src/_getPlayerInfo.ts rename to thebeast/packages/transactions/src/_getPlayerInfo.ts index b23cc46d6..bf03be28a 100644 --- a/packages/transactions/src/_getPlayerInfo.ts +++ b/thebeast/packages/transactions/src/_getPlayerInfo.ts @@ -1,7 +1,6 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; -import { ServerError } from "../../shared/errors/ServerError.js"; import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; export async function _getPlayerInfo( @@ -28,6 +27,6 @@ export async function _getPlayerInfo( return { connectionId: args.connectionId, messages: [responsePacket] }; } catch (error) { - throw ServerError.fromUnknown(error, "Error in _getPlayerInfo"); + throw Error(`Error in _getPlayerInfo: ${String(error)}`); } } diff --git a/packages/transactions/src/_getPlayerPhysical.ts b/thebeast/packages/transactions/src/_getPlayerPhysical.ts similarity index 94% rename from packages/transactions/src/_getPlayerPhysical.ts rename to thebeast/packages/transactions/src/_getPlayerPhysical.ts index a90454b75..cf58db19f 100644 --- a/packages/transactions/src/_getPlayerPhysical.ts +++ b/thebeast/packages/transactions/src/_getPlayerPhysical.ts @@ -13,7 +13,7 @@ export async function _getPlayerPhysical({ log.debug(`Received Message: ${getPlayerPhysicalMessage.toString()}`); - const playerId = getPlayerPhysicalMessage.data.readUInt32LE(0); + const playerId = getPlayerPhysicalMessage.data.readUInt32BE(0); const playerPhysicalMessage = new PlayerPhysicalMessage(); playerPhysicalMessage._msgNo = 265; diff --git a/packages/transactions/src/_getPlayerRaceHistory.ts b/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts similarity index 100% rename from packages/transactions/src/_getPlayerRaceHistory.ts rename to thebeast/packages/transactions/src/_getPlayerRaceHistory.ts diff --git a/packages/transactions/src/_getStockCarInfo.ts b/thebeast/packages/transactions/src/_getStockCarInfo.ts similarity index 93% rename from packages/transactions/src/_getStockCarInfo.ts rename to thebeast/packages/transactions/src/_getStockCarInfo.ts index af0e89cdb..a1712581f 100644 --- a/packages/transactions/src/_getStockCarInfo.ts +++ b/thebeast/packages/transactions/src/_getStockCarInfo.ts @@ -25,13 +25,13 @@ export async function _getStockCarInfo({ stockCarInfoMessage.addStockCar(new StockCar(113, 20, false)); // Bel-air stockCarInfoMessage.addStockCar(new StockCar(104, 15, true)); // Fairlane - Deal of the day - stockCarInfoMessage.addStockCar(new StockCar(402, 20, false)); // Century + stockCarInfoMessage.addStockCar(new StockCar(109, 20, false)); // Century log.debug(`Sending Message: ${stockCarInfoMessage.toString()}`); const responsePacket = new OldServerMessage(); responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; + // responsePacket._header.flags = 8; responsePacket.setBuffer(stockCarInfoMessage.serialize()); diff --git a/packages/transactions/src/_getTunables.ts b/thebeast/packages/transactions/src/_getTunables.ts similarity index 100% rename from packages/transactions/src/_getTunables.ts rename to thebeast/packages/transactions/src/_getTunables.ts diff --git a/thebeast/packages/transactions/src/_logout.ts b/thebeast/packages/transactions/src/_logout.ts new file mode 100644 index 000000000..49b4434d6 --- /dev/null +++ b/thebeast/packages/transactions/src/_logout.ts @@ -0,0 +1,24 @@ +import { GenericReplyMessage } from "./GenericReplyMessage.js"; +import { OldServerMessage } from "../../shared/messageFactory.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; + +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export async function _logout( + args: MessageHandlerArgs, +): Promise { + // Create new response packet + const response = new GenericReplyMessage(); + response.msgNo = 101; + response.msgReply = 106; + + const responsePacket = new OldServerMessage(); + responsePacket._header.sequence = args.packet._header.sequence; + responsePacket._header.flags = 8; + + responsePacket.setBuffer(response.serialize()); + + return { connectionId: args.connectionId, messages: [responsePacket] }; +} diff --git a/thebeast/packages/transactions/src/_setOptions.ts b/thebeast/packages/transactions/src/_setOptions.ts new file mode 100644 index 000000000..a187ae554 --- /dev/null +++ b/thebeast/packages/transactions/src/_setOptions.ts @@ -0,0 +1,31 @@ +import { GenericRequestMessage } from "./GenericRequestMessage.js"; +import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; +import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; +import { GenericReplyMessage } from "./GenericReplyMessage.js"; + +export async function _setOptions( + args: MessageHandlerArgs, +): Promise { + const playerOptionsMessage = new PlayerOptionsMessage(); + playerOptionsMessage.deserialize(args.packet.serialize()); + + // Log the message + args.log.debug(`PlayerOptionsMessage: ${playerOptionsMessage.toString()}`); + + // TODO: Save the options + + const response = new GenericReplyMessage(); + response.msgNo = 101; + response.msgReply = 109; + + const responsePacket = new OldServerMessage(); + responsePacket._header.sequence = args.packet._header.sequence; + responsePacket._header.flags = 8; + + responsePacket.setBuffer(response.serialize()); + + return { connectionId: args.connectionId, messages: [responsePacket] }; +} diff --git a/thebeast/packages/transactions/src/_updatePlayerPhysical.ts b/thebeast/packages/transactions/src/_updatePlayerPhysical.ts new file mode 100644 index 000000000..9e325d0d5 --- /dev/null +++ b/thebeast/packages/transactions/src/_updatePlayerPhysical.ts @@ -0,0 +1,34 @@ +import { GenericRequestMessage } from "./GenericRequestMessage.js"; +import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; +import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; +import { GenericReplyMessage } from "./GenericReplyMessage.js"; +import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; + +export async function _updatePlayerPhysical( + args: MessageHandlerArgs, +): Promise { + const updatePlayerPhysicalMessage = new PlayerPhysicalMessage(); + updatePlayerPhysicalMessage.deserialize(args.packet.serialize()); + + // Log the message + args.log.debug( + `UpdatePlayerPhysicalMessage: ${updatePlayerPhysicalMessage.toString()}`, + ); + + // TODO: Save the options + + const response = new GenericReplyMessage(); + response.msgNo = 101; + response.msgReply = 266; + + const responsePacket = new OldServerMessage(); + responsePacket._header.sequence = args.packet._header.sequence; + responsePacket._header.flags = 8; + + responsePacket.setBuffer(response.serialize()); + + return { connectionId: args.connectionId, messages: [responsePacket] }; +} diff --git a/packages/transactions/src/clientConnect.ts b/thebeast/packages/transactions/src/clientConnect.ts similarity index 77% rename from packages/transactions/src/clientConnect.ts rename to thebeast/packages/transactions/src/clientConnect.ts index 5d9a6a3da..8ff20411b 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/thebeast/packages/transactions/src/clientConnect.ts @@ -15,6 +15,7 @@ import { } from "../../gateway/src/encryption.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { getUserSessionByCustomerId } from "../../../lib/nps/services/session.js"; /** * @param {MessageHandlerArgs} args @@ -54,16 +55,29 @@ export async function clientConnect({ log.debug(`Looking up the session key for ${customerId}...`); - result = await getDatabaseServer({ - log, - }).fetchSessionKeyByCustomerId(customerId); - log.debug(`Session key found for ${customerId}`); + const userSession = await getUserSessionByCustomerId(customerId); + + if (typeof userSession === "undefined") { + log.warn(`No user session found for ${customerId}`); + const errMessage = new GenericReply(); + errMessage.msgNo = 136; + errMessage.msgReply = packet._msgNo; + errMessage.result = 309; + + const errPacket = new OldServerMessage(); + errPacket.setBuffer(errMessage.serialize()); + errPacket._header.sequence = packet._header.sequence; + + return { connectionId, messages: [errPacket] }; + } const newCommandEncryptionPair = createCommandEncryptionPair( - result.sessionKey, + userSession.sessionKey, ); - const newDataEncryptionPair = createDataEncryptionPair(result.sessionKey); + const newDataEncryptionPair = createDataEncryptionPair( + userSession.sessionKey, + ); const newEncryption = new McosEncryption({ connectionId, diff --git a/packages/transactions/src/getLobbies.ts b/thebeast/packages/transactions/src/getLobbies.ts similarity index 100% rename from packages/transactions/src/getLobbies.ts rename to thebeast/packages/transactions/src/getLobbies.ts diff --git a/packages/transactions/src/handlers.ts b/thebeast/packages/transactions/src/handlers.ts similarity index 85% rename from packages/transactions/src/handlers.ts rename to thebeast/packages/transactions/src/handlers.ts index dff14f1aa..b3fc53cc2 100644 --- a/packages/transactions/src/handlers.ts +++ b/thebeast/packages/transactions/src/handlers.ts @@ -30,11 +30,15 @@ import { _getArcadeCarInfo } from "./_getArcadeCarInfo.js"; import { _getStockCarInfo } from "./_getStockCarInfo.js"; import { _logout } from "./_logout.js"; import { ServerMessage } from "../../shared/src/ServerMessage.js"; +import { ServerLogger } from "../../shared/log.js"; +import { _setOptions } from "./_setOptions.js"; +import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; +import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; export interface MessageHandlerArgs { connectionId: string; packet: OldServerMessage; - log: import("pino").Logger; + log: ServerLogger; } export interface MessageHandlerResult { @@ -104,4 +108,16 @@ export const messageHandlers: MessageHandler[] = [ name: "MC_GET_PLAYER_RACING_HISTORY", handler: _getPlayerRaceHistory, }, + { + name: "MC_SET_OPTIONS", + handler: _setOptions, + }, + { + name: "MC_UPDATE_PLAYER_PHYSICAL", + handler: _updatePlayerPhysical, + }, + { + name: "MC_GET_COMPLETE_VEHICLE_INFO", + handler: _getCompleteVehicleInfo, + }, ]; diff --git a/packages/transactions/src/internal.ts b/thebeast/packages/transactions/src/internal.ts similarity index 90% rename from packages/transactions/src/internal.ts rename to thebeast/packages/transactions/src/internal.ts index 3a9837868..4d45cde81 100644 --- a/packages/transactions/src/internal.ts +++ b/thebeast/packages/transactions/src/internal.ts @@ -14,9 +14,8 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerError } from "../../shared/errors/ServerError.js"; import { messageHandlers } from "./handlers.js"; -import { getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { fetchStateFromDatabase, getEncryption, @@ -56,6 +55,7 @@ function _MSG_STRING(messageID: number): string { { id: 109, name: "MC_SET_OPTIONS" }, // 0x6d { id: 122, name: "MC_PLAYER_INFO" }, // 0x7a"} { id: 141, name: "MC_STOCK_CAR_INFO" }, // 0x8d + { id: 145, name: "MC_GET_COMPLETE_VEHICLE_INFO" }, // 0x91 { id: 172, name: "MC_GET_OWNED_VEHICLES" }, // 0xac"} { id: 173, name: "MC_OWNED_VEHICLES_LIST" }, // 0xad"} { id: 174, name: "MC_GET_OWNED_PARTS" }, // 0xae"} @@ -91,9 +91,7 @@ function _MSG_STRING(messageID: number): string { async function processInput({ connectionId, packet, - log = getServerLogger({ - module: "transactionServer", - }), + log, }: import("./handlers.js").MessageHandlerArgs): Promise< import("./handlers.js").MessageHandlerResult > { @@ -117,14 +115,12 @@ async function processInput({ }); return responsePackets; } catch (error) { - const err = new ServerError( - `Error handling packet: ${String(error)}`, - ); + const err = new Error(`Error handling packet: ${String(error)}`); throw err; } } - throw new ServerError( + throw new Error( `Message Number Not Handled: ${currentMessageNo} (${currentMessageString}`, ); } @@ -133,7 +129,7 @@ async function processInput({ * @param {object} args * @param {string} args.connectionId * @param {SerializedBuffer} args.message - * @param {import("pino").Logger} [args.log=getServerLogger({ module: "transactionServer" })] + * @param {ServerLogger} args.log * @returns {Promise<{ * connectionId: string, * messages: SerializedBuffer[] @@ -142,19 +138,15 @@ async function processInput({ export async function receiveTransactionsData({ connectionId, message, - log = getServerLogger({ - module: "transactionServer", - }), + log, }: { connectionId: string; message: SerializedBuffer; - log?: import("pino").Logger; + log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; }> { - log.level = getServerConfiguration({}).logLevel ?? "info"; - log.debug(`Received Transaction Server packet: ${connectionId}`); // Going to use ServerMessage in this module @@ -174,7 +166,7 @@ export async function receiveTransactionsData({ const encryptionSettings = getEncryption(state, connectionId); if (typeof encryptionSettings === "undefined") { - throw new ServerError( + throw new Error( `Unable to locate encryption settings for connection ${connectionId}`, ); } @@ -200,9 +192,7 @@ export async function receiveTransactionsData({ log.debug(`Decrypted message: ${inboundMessage.toString()}`); } catch (error) { - throw new ServerError( - `Unable to decrypt message: ${String(error)}`, - ); + throw new Error(`Unable to decrypt message: ${String(error)}`); } } @@ -225,7 +215,7 @@ export async function receiveTransactionsData({ const encryptionSettings = getEncryption(state, connectionId); if (typeof encryptionSettings === "undefined") { - throw new ServerError( + throw new Error( `Unable to locate encryption settings for connection ${connectionId}`, ); } @@ -262,9 +252,7 @@ export async function receiveTransactionsData({ ); outboundMessages.push(outboundRawMessage); } catch (error) { - throw new ServerError( - `Unable to encrypt message: ${String(error)}`, - ); + throw new Error(`Unable to encrypt message: ${String(error)}`); } } else { const outboundRawMessage = new SerializedBuffer(); @@ -286,7 +274,7 @@ export async function receiveTransactionsData({ */ export function verifyLength(buffer: Buffer, buffer2: Buffer) { if (buffer.length !== buffer2.length) { - throw new ServerError( + throw new Error( `Length mismatch: ${buffer.length} !== ${buffer2.length}`, ); } diff --git a/thebeast/packages/transactions/src/login.ts b/thebeast/packages/transactions/src/login.ts new file mode 100644 index 000000000..ec6551570 --- /dev/null +++ b/thebeast/packages/transactions/src/login.ts @@ -0,0 +1,72 @@ +import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; +import { OldServerMessage } from "../../shared/messageFactory.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { createNewCar } from "../../database/src/services/admin.js"; +import { + buildVehiclePartTree, + saveVehicle, + saveVehiclePartTree, +} from "../../database/src/models/VehiclePartTree.js"; + +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export async function login({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise { + // Read the inbound packet + const loginMessage = new TLoginMessage(); + loginMessage.deserialize(packet.serialize()); + log.debug(`Received LoginMessage: ${loginMessage.toString()}`); + + // Is this a new login? + if (loginMessage._brandedPartId !== 0) { + try { + const personaId = loginMessage._personaId; + const lotOwnerId = loginMessage._lotOwnerId; + const brandedPartId = loginMessage._brandedPartId; + const skinId = loginMessage._skinId; + + log.debug( + `Creating new car for persona ${personaId} with brandedPartId ${brandedPartId} and skinId ${skinId} from lotOwnerId ${lotOwnerId}...`, + ); + + // Create new car + const newCarPartTree = await buildVehiclePartTree({ + brandedPartId, + skinId, + ownerID: 1, // personaId, + isStock: true, + }); + await saveVehicle(newCarPartTree); + await saveVehiclePartTree(newCarPartTree); + + const newCarOwnerId = newCarPartTree.vehicleId; + + log.debug( + `Created new car with id ${newCarOwnerId} for persona ${personaId}`, + ); + } catch (error) { + log.error(`Error creating new car: ${error}`); + throw error; + } + } + + // Create new response packet + const pReply = new LoginCompleteMessage(); + pReply._msgNo = 213; + pReply._firstTime = true; + + // Log the message + log.debug(pReply.toString()); + + const responsePacket = new OldServerMessage(); + responsePacket._header.sequence = packet._header.sequence; + responsePacket._header.flags = 8; + responsePacket.setBuffer(pReply.serialize()); + + return { connectionId, messages: [responsePacket] }; +} diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts new file mode 100644 index 000000000..b9b0d00ef --- /dev/null +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -0,0 +1,293 @@ +import { GenericRequestMessage } from "../GenericRequestMessage.js"; + +import { OldServerMessage } from "../../../shared/messageFactory.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../handlers.js"; +import { GenericReplyMessage } from "../GenericReplyMessage.js"; +import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; +import { log } from "../../../shared/log.js"; +import { + createSqlTag, + slonik, + z, +} from "../../../database/src/services/database.js"; +import { getVehiclePartTree } from "../../../database/src/cache.js"; +import { TPart } from "../../../database/src/models/Part.js"; +import { + buildVehiclePartTree, + buildVehiclePartTreeFromDB, +} from "../../../database/src/models/VehiclePartTree.js"; + +const DAMAGE_SIZE = 2000; + +export class VehicleStruct { + VehicleID: number = 0; // 4 bytes + SkinID: number = 0; // 4 bytes + Flags: number = 0; // 4 bytes + Delta: number = 0; // 4 bytes + CarClass: number = 0; // 1 byte + Damage: Buffer = Buffer.alloc(DAMAGE_SIZE); // buffer, max DAMAGE_SIZE + + serialize() { + try { + const buffer = Buffer.alloc(this.size()); + buffer.writeInt32LE(this.VehicleID, 0); // offset 0 + buffer.writeInt32LE(this.SkinID, 4); // offset 4 + buffer.writeInt32LE(this.Flags, 8); // offset 8 + buffer.writeInt32LE(this.Delta, 12); // offset 12 + buffer.writeInt8(this.CarClass, 16); // offset 16 + buffer.writeInt16LE(this.Damage.length, 17); // offset 17 + if (this.Damage.length > 0) { + this.Damage.copy(buffer, 19); // offset 19 + } + return buffer; + } catch (error) { + log.error(`Error in VehicleStruct.serialize: ${error}`); + throw error; + } + } + + size() { + return 19 + this.Damage.length; + } + + toString() { + return ` + VehicleID: ${this.VehicleID} + SkinID: ${this.SkinID} + Flags: ${this.Flags} + Delta: ${this.Delta} + CarClass: ${this.CarClass} + Damage: ${this.Damage.toString("hex")} + `; + } +} + +export class PartStruct { + partId: number = 0; // 4 bytes + parentPartId: number | null = 0; // 4 bytes + brandedPartId: number = 0; // 4 bytes + repairCost: number = 0; // 4 bytes + junkyardValue: number = 0; // 4 bytes + wear: number = 0; // 4 bytes + arttachmentPoint: number = 0; // 1 byte + damage: number = 0; // 1 byte + + serialize() { + try { + const buffer = Buffer.alloc(this.size()); + log.debug(`Writing partId: ${this.partId}`); + buffer.writeInt32LE(this.partId, 0); + log.debug(`Writing parentPartId: ${this.parentPartId}`); + buffer.writeInt32LE(this.parentPartId ?? 0, 4); + log.debug(`Writing brandedPartId: ${this.brandedPartId}`); + buffer.writeInt32LE(this.brandedPartId, 8); + log.debug(`Writing repairCost: ${this.repairCost}`); + buffer.writeInt32LE(this.repairCost, 12); + log.debug(`Writing junkyardValue: ${this.junkyardValue}`); + buffer.writeInt32LE(this.junkyardValue, 16); + log.debug(`Writing wear: ${this.wear}`); + buffer.writeInt32LE(this.wear, 20); + log.debug(`Writing arttachmentPoint: ${this.arttachmentPoint}`); + buffer.writeInt8(this.arttachmentPoint, 24); + log.debug(`Writing damage: ${this.damage}`); + buffer.writeInt8(this.damage, 25); + return buffer; + } catch (error) { + log.error(`Error in PartStruct.serialize: ${error}`); + throw error; + } + } + + size() { + return 26; + } + + toString() { + return `partId: ${this.partId} parentPartId: ${this.parentPartId} brandedPartId: ${this.brandedPartId} repairCost: ${this.repairCost} junkyardValue: ${this.junkyardValue} wear: ${this.wear} arttachmentPoint: ${this.arttachmentPoint} damage: ${this.damage}`; + } +} + +class CarInfoStruct { + msgNo: number = 0; // 2 bytes + playerId: number = 0; // 4 bytes + vehicle: VehicleStruct = new VehicleStruct(); + noOfParts: number = 0; // 2 bytes + parts: PartStruct[] = []; + + serialize() { + try { + const neededSize = 10 + this.vehicle.size() + this.noOfParts * 26; + + log.debug(`Needed size: ${neededSize}`); + + const buffer = Buffer.alloc(neededSize); + log.debug(`Writing msgNo: ${this.msgNo}`); + buffer.writeInt16LE(this.msgNo, 0); + log.debug(`Writing playerId: ${this.playerId}`); + buffer.writeInt32LE(this.playerId, 2); + log.debug(`Serializing vehicle`); + this.vehicle.serialize().copy(buffer, 6); + log.debug(`Writing noOfParts: ${this.noOfParts}`); + buffer.writeInt16LE(this.noOfParts, 6 + this.vehicle.size()); + let offset = 8 + this.vehicle.size(); + for (const part of this.parts) { + log.debug(`Serializing part: ${part}`); + part.serialize().copy(buffer, offset); + offset += part.size(); + } + return buffer; + } catch (error) { + log.error(`Error in CarInfoStruct.serialize: ${error}`); + throw error; + } + } + + size() { + return 10 + this.vehicle.size() + this.noOfParts * this.parts[0].size(); + } + + toString() { + return `msgNo: ${this.msgNo} playerId: ${this.playerId} vehicle: ${this.vehicle} noOfParts: ${this.noOfParts} parts: ${this.parts}`; + } +} + +const sql = createSqlTag({ + typeAliases: { + vehicle: z.object({ + VehicleID: z.number(), + SkinID: z.number(), + Flags: z.number(), + Class: z.number(), + DamageInfo: z.string(), + }), + vehicleWithOwner: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + damageinfo: z.string(), + ownerid: z.number(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + }, +}); + +export type DBPart = { + partId: number; + parentPartId: number | null; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number; + ownerId: number; + partName: string; + repairCost: number; + scrapValue: number; +}; + +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export async function _getCompleteVehicleInfo({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise { + const getCompleteVehicleInfoMessage = new GenericRequestMessage(); + getCompleteVehicleInfoMessage.deserialize(packet.data); + + log.debug(`Received Message: ${getCompleteVehicleInfoMessage.toString()}`); + + const vehicleId = getCompleteVehicleInfoMessage.data.readInt32LE(); + const delta = getCompleteVehicleInfoMessage.data2.readInt32LE(); + + log.debug(`Requesting vehicleId: ${vehicleId} delta: ${delta}`); + + try { + const carInfo = new CarInfoMessage(); + + let vehicleFromCache = await getVehiclePartTree(vehicleId); + + if (typeof vehicleFromCache === "undefined") { + log.debug( + `Vehicle with id ${vehicleId} not found in cache, fetching from DB`, + ); + vehicleFromCache = await buildVehiclePartTreeFromDB(vehicleId); + } + + if (typeof vehicleFromCache === "undefined") { + throw new Error( + `Vehicle with id ${vehicleId} not found and not in DB`, + ); + } + + log.debug( + `Vehicle part tree successfully fetched: ${vehicleFromCache}`, + ); + + carInfo.msgNo = 123; + carInfo.playerId = 1; + + const vehicleStruct = new VehicleStruct(); + vehicleStruct.VehicleID = vehicleId; + vehicleStruct.SkinID = vehicleFromCache.skinId; + vehicleStruct.Flags = vehicleFromCache.flags; + vehicleStruct.Delta = 0; + vehicleStruct.CarClass = vehicleFromCache.class; + const damageInfo = + vehicleFromCache.damageInfo ?? Buffer.alloc(DAMAGE_SIZE); + vehicleStruct.Damage = damageInfo; + + log.debug(`VehicleStruct: ${vehicleStruct}`); + + carInfo.setVehicle(vehicleStruct); + + const parts: PartStruct[] = []; + + const tmpParts: TPart[] = vehicleFromCache.partTree.level1.parts.concat( + vehicleFromCache.partTree.level2.parts, + ); + + carInfo.noOfParts = tmpParts.length; + + for (const part of tmpParts) { + const partStruct = new PartStruct(); + partStruct.partId = part.partId; + partStruct.parentPartId = part.parentPartId; + partStruct.brandedPartId = part.brandedPartId; + partStruct.repairCost = part.repairCost; + partStruct.junkyardValue = part.scrapValue; + partStruct.wear = part.itemWear; + partStruct.arttachmentPoint = part.attachmentPointId ?? 0; + partStruct.damage = part.percentDamage; + + log.debug(`PartStruct: ${partStruct}`); + + parts.push(partStruct); + } + + carInfo.setParts(parts); + + const responsePacket = new OldServerMessage(); + responsePacket._header.sequence = packet._header.sequence; + responsePacket._header.flags = 8; + responsePacket.setBuffer(carInfo.serialize()); + + return { connectionId, messages: [responsePacket] }; + } catch (error) { + log.error(`Error in Fetching car: ${error}`); + throw error; + } +} diff --git a/thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts b/thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts new file mode 100644 index 000000000..c81af9977 --- /dev/null +++ b/thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts @@ -0,0 +1,71 @@ +import { Vehicle } from "../../../../lib/nps/services/types.js"; +import { SerializedBuffer } from "../../../shared/messageFactory.js"; +import { + PartStruct, + VehicleStruct, +} from "../messageHandlers/_getCompleteVehicleInfo.js"; + +export class CarInfoMessage extends SerializedBuffer { + msgNo: number; // 2 bytes + playerId: number; // 4 bytes + private vehicle: VehicleStruct; + noOfParts: number; // 2 + private parts: PartStruct[]; + + constructor() { + super(); + this.msgNo = 0; + this.playerId = 0; + this.vehicle = new VehicleStruct(); + this.noOfParts = 0; + this.parts = []; + } + + override size() { + return ( + 2 + + 4 + + this.vehicle.size() + + 2 + + this.parts.length * (this.parts[0].size() ?? 0) + ); + } + + override serialize(): Buffer { + try { + const buffer = Buffer.alloc(this.size()); + let offset = 0; + buffer.writeUInt16LE(this.msgNo, offset); + offset += 2; + buffer.writeUInt32LE(this.playerId, offset); + offset += 4; + this.vehicle.serialize().copy(buffer, offset); + offset += this.vehicle.size(); + buffer.writeUInt16LE(this.noOfParts, offset); + offset += 2; + for (const part of this.parts) { + part.serialize().copy(buffer, offset); + offset += part.size(); + } + return buffer; + } catch (error) { + throw new Error(`Error in CarInfoMessage.serialize: ${error}`); + } + } + + public override toString(): string { + return `CarInfoMessage: + playerId: ${this.playerId} + vehicle: ${this.vehicle} + noOfParts: ${this.noOfParts} + parts: ${this.parts}`; + } + + setVehicle(vehicle: VehicleStruct) { + this.vehicle = vehicle; + } + + setParts(parts: PartStruct[]) { + this.parts = parts; + } +} diff --git a/thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts b/thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts new file mode 100644 index 000000000..66669e8a7 --- /dev/null +++ b/thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts @@ -0,0 +1,123 @@ +import { + OldServerMessage, + serverHeader, +} from "../../../shared/messageFactory.js"; + +export class CarNumberSet { + private cars: string[] = []; + private carMax = 5; + + constructor(maxCars: number) { + this.carMax = maxCars; + } + + private isUniqueValue(value: string): boolean { + return !this.cars.includes(value); + } + + public getCarNumber(car: number): string { + if (car > this.carMax) { + throw new Error( + `Car number ${car} is greater than max ${this.carMax}`, + ); + } + return this.cars[car] || ""; + } + + public setCarNumber(carNumber: number, car: string) { + if (!this.isUniqueValue(car)) { + throw new Error(`Car number ${car} is not unique`); + } + if (carNumber > this.carMax) { + throw new Error( + `Car number ${car} is greater than max ${this.carMax}`, + ); + } + this.cars[carNumber] = car; + } + + public getCarCount(): number { + return this.cars.length; + } + + public size(): number { + return this.carMax * 3; + } + + public toBytes(): Buffer { + const buffer = Buffer.alloc(this.size()); + let offset = 0; + for (let i = 0; i < this.carMax; i++) { + buffer.write(this.cars[i], offset); + offset = i * 3; + } + return buffer; + } + + public fromBytes(buffer: Buffer) { + let offset = 0; + for (let i = 0; i < this.carMax; i++) { + this.cars[i] = buffer.toString("utf8", offset, offset + 3); + offset = i * 3; + } + } + + public toString(): string { + const carStrings = this.cars.map((car, index) => { + return `Car ${index}: ${car}`; + }); + return `CarNumberSet: + ${carStrings.join(", ")}`; + } +} + +enum PlateType { + PLATE_USA_NEWYORK = 32, +} + +export class PlayerOptionsMessage extends OldServerMessage { + private plateType: number; // 2 bytes + private plateText: string; // 8 bytes + private carInfoSettings: number; // 4 bytes + private carNumbers: CarNumberSet; + + constructor() { + super(); + this._msgNo = 0; + this.plateType = 0; + this.plateText = ""; + this.carInfoSettings = 0; + this.carNumbers = new CarNumberSet(6); + } + + override size() { + return 10; + } + + public deserialize(buffer: Buffer) { + let offset = 0; + this._header._doDeserialize(buffer); + offset += this._header._size; + this._msgNo = buffer.readUInt16LE(offset); + offset += 2; + this.plateType = buffer.readUInt16LE(offset); + offset += 2; + this.plateText = buffer.toString("utf8", offset, offset + 8); + offset += 8; + this.carInfoSettings = buffer.readUInt32LE(offset); + offset += 4; + this.carNumbers.fromBytes( + buffer.subarray(offset, offset + this.carNumbers.size()), + ); + } + + public override toString(): string { + return `PlayerOptionsMessage: + ${this._header.toString()} + MsgNo: ${this._msgNo} + PlateType: ${this.plateType} + PlateText: ${this.plateText} + CarInfoSettings: ${this.carInfoSettings} + CarNumbers: ${this.carNumbers.toString()}`; + } +} diff --git a/thebeast/packages/transactions/src/models/PartModel.ts b/thebeast/packages/transactions/src/models/PartModel.ts new file mode 100644 index 000000000..21d24914f --- /dev/null +++ b/thebeast/packages/transactions/src/models/PartModel.ts @@ -0,0 +1,123 @@ +import { DBModel } from "./index.js"; + +export class PartModel implements DBModel { + private partId = 0; // 4 bytes + private parentPartId = 0; // 4 bytes + private brandedPartId = 0; // 4 bytes + private repairCost = 0; // 4 bytes + private junkPrice = 0; // 4 bytes + private wear = 0; // 4 bytes + private attachmentPoint = 0; // 1 byte + private damage = 0; // 1 byte + + constructor() {} + + save(): Promise { + throw new Error("Method not implemented."); + } + delete(): Promise { + throw new Error("Method not implemented."); + } + + public size() { + return 26; + } + + public toBytes() { + const buffer = Buffer.alloc(this.size()); + let offset = 0; + buffer.writeUInt32LE(this.partId, offset); + offset += 4; + buffer.writeUInt32LE(this.parentPartId, offset); + offset += 4; + buffer.writeUInt32LE(this.brandedPartId, offset); + offset += 4; + buffer.writeUInt32LE(this.repairCost, offset); + offset += 4; + buffer.writeUInt32LE(this.junkPrice, offset); + offset += 4; + buffer.writeUInt32LE(this.wear, offset); + offset += 4; + buffer.writeUInt8(this.attachmentPoint, offset); + offset += 1; + buffer.writeUInt8(this.damage, offset); + + return buffer; + } + + public toString() { + return `Part: + partId: ${this.partId} + parentPartId: ${this.parentPartId} + brandedPartId: ${this.brandedPartId} + repairCost: ${this.repairCost} + junkPrice: ${this.junkPrice} + waer: ${this.wear} + attachmentPoint: ${this.attachmentPoint} + damage: ${this.damage}`; + } + + public getPartId(): number { + return this.partId; + } + + public getParentPartId(): number { + return this.parentPartId; + } + + public getBrandedPartId(): number { + return this.brandedPartId; + } + + public getRepairCost(): number { + return this.repairCost; + } + + public getJunkPrice(): number { + return this.junkPrice; + } + + public getWear(): number { + return this.wear; + } + + public getAttachmentPoint(): number { + return this.attachmentPoint; + } + + public getDamage(): number { + return this.damage; + } + + public setPartId(partId: number) { + this.partId = partId; + } + + public setParentPartId(parentPartId: number) { + this.parentPartId = parentPartId; + } + + public setBrandedPartId(brandedPartId: number) { + this.brandedPartId = brandedPartId; + } + + public setRepairCost(repairCost: number) { + this.repairCost = repairCost; + } + + public setJunkPrice(junkPrice: number) { + this.junkPrice = junkPrice; + } + + public setWear(wear: number) { + this.wear = wear; + } + + public setAttachmentPoint(attachmentPoint: number) { + this.attachmentPoint = attachmentPoint; + } + + public setDamage(damage: number) { + this.damage = damage; + } +} diff --git a/thebeast/packages/transactions/src/models/VehicleModel.ts b/thebeast/packages/transactions/src/models/VehicleModel.ts new file mode 100644 index 000000000..e3479c1d5 --- /dev/null +++ b/thebeast/packages/transactions/src/models/VehicleModel.ts @@ -0,0 +1,71 @@ +import { DBModel } from "./index.js"; + +export class VehicleModel implements DBModel { + private vehicleId = 0; // 4 bytes + private skinId = 0; // 4 bytes + private flags = 0; // 4 bytes + private delta = 0; // 4 bytes + private carClass = 0; // 1 byte + private damageLength = 0; // 2 bytes + private damage = 0; // 1 byte / max 2000 + + constructor(vehicleId: number) { + this.vehicleId = vehicleId; + } + + save(): Promise { + throw new Error("Method not implemented."); + } + + delete(): Promise { + throw new Error("Method not implemented."); + } + + getVehicleId(): number { + return this.vehicleId; + } + + getSkinId(): number { + return this.skinId; + } + + getFlags(): number { + return this.flags; + } + + getDelta(): number { + return this.delta; + } + + getCarClass(): number { + return this.carClass; + } + + getDamageLength(): number { + return this.damageLength; + } + + getDamage(): number { + return this.damage; + } + + setSkinId(skinId: number): void { + this.skinId = skinId; + } + + setFlags(flags: number): void { + this.flags = flags; + } + + setDelta(delta: number): void { + this.delta = delta; + } + + setCarClass(carClass: number): void { + this.carClass = carClass; + } + + setDamageLength(damageLength: number): void { + this.damageLength = damageLength; + } +} diff --git a/thebeast/packages/transactions/src/models/index.ts b/thebeast/packages/transactions/src/models/index.ts new file mode 100644 index 000000000..aff45c12d --- /dev/null +++ b/thebeast/packages/transactions/src/models/index.ts @@ -0,0 +1,4 @@ +export interface DBModel { + save(): Promise; + delete(): Promise; +} diff --git a/thebeast/packages/transactions/src/services/car.ts b/thebeast/packages/transactions/src/services/car.ts new file mode 100644 index 000000000..4cf89aac7 --- /dev/null +++ b/thebeast/packages/transactions/src/services/car.ts @@ -0,0 +1,26 @@ +import { VehicleModel } from "../models/VehicleModel.js"; + +const vehicles = new Map(); +const nextVehicleId = 1; + +export function getVehicle(vehicleId: number): VehicleModel | undefined { + return vehicles.get(vehicleId); +} + +export function createVehicle(): VehicleModel { + const vehicle = new VehicleModel(nextVehicleId); + vehicles.set(nextVehicleId, vehicle); + return vehicle; +} + +export function deleteVehicle(vehicleId: number): void { + vehicles.delete(vehicleId); +} + +export function clearVehicles(): void { + vehicles.clear(); +} + +export function getVehicleCount(): number { + return vehicles.size; +} diff --git a/packages/transactions/src/trackingPing.ts b/thebeast/packages/transactions/src/trackingPing.ts similarity index 100% rename from packages/transactions/src/trackingPing.ts rename to thebeast/packages/transactions/src/trackingPing.ts diff --git a/packages/transactions/test/LobbyMessage.test.ts b/thebeast/packages/transactions/test/LobbyMessage.test.ts similarity index 100% rename from packages/transactions/test/LobbyMessage.test.ts rename to thebeast/packages/transactions/test/LobbyMessage.test.ts diff --git a/packages/transactions/test/OwnedVehiclesMessage.test.ts b/thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts similarity index 100% rename from packages/transactions/test/OwnedVehiclesMessage.test.ts rename to thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts diff --git a/packages/transactions/test/PartsAssemblyMessage.test.ts b/thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts similarity index 100% rename from packages/transactions/test/PartsAssemblyMessage.test.ts rename to thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts diff --git a/packages/transactions/test/PlayerInfoMessage.test.ts b/thebeast/packages/transactions/test/PlayerInfoMessage.test.ts similarity index 100% rename from packages/transactions/test/PlayerInfoMessage.test.ts rename to thebeast/packages/transactions/test/PlayerInfoMessage.test.ts diff --git a/packages/transactions/test/PlayerRacingHistoryMessage.test.ts b/thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts similarity index 100% rename from packages/transactions/test/PlayerRacingHistoryMessage.test.ts rename to thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts diff --git a/packages/transactions/test/TClientConnectMessage.test.ts b/thebeast/packages/transactions/test/TClientConnectMessage.test.ts similarity index 100% rename from packages/transactions/test/TClientConnectMessage.test.ts rename to thebeast/packages/transactions/test/TClientConnectMessage.test.ts diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.ts b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts similarity index 87% rename from packages/transactions/test/_getPlayerRaceHistory.test.ts rename to thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts index e81239a76..36a70b151 100644 --- a/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -1,7 +1,6 @@ import { describe, it, expect } from "vitest"; import { _getPlayerRaceHistory } from "../src/_getPlayerRaceHistory.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { mockPino } from "../../../test/factoryMocks.js"; import { getServerLogger } from "../../shared/log.js"; describe("_getPlayerRaceHistory", () => { @@ -12,11 +11,12 @@ describe("_getPlayerRaceHistory", () => { 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, ]); - mockPino(); const result = await _getPlayerRaceHistory({ connectionId: "0", packet: incomingMessage, - log: getServerLogger({}), + log: getServerLogger({ + level: "silent", + }), }); expect(result).toBeDefined(); diff --git a/packages/transactions/test/clientConnect.test.ts b/thebeast/packages/transactions/test/clientConnect.test.ts similarity index 85% rename from packages/transactions/test/clientConnect.test.ts rename to thebeast/packages/transactions/test/clientConnect.test.ts index 95892adc1..8aa7ab951 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/thebeast/packages/transactions/test/clientConnect.test.ts @@ -2,10 +2,9 @@ import { State } from "../../shared/State.js"; import { getServerLogger } from "../../shared/log.js"; import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; -import { ServerError } from "../../shared/errors/ServerError.js"; + import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; -import { mockPino } from "../../../test/factoryMocks.js"; describe("clientConnect", () => { it("throws when connection is not found", async () => { @@ -18,8 +17,9 @@ describe("clientConnect", () => { const incomingMessage = new TClientConnectMessage(); incomingMessage._customerId = customerId; - mockPino(); - const log = getServerLogger({}); + const log = getServerLogger({ + level: "silent", + }); const state: State = { encryptions: {}, sessions: {}, @@ -29,7 +29,7 @@ describe("clientConnect", () => { onDataHandlers: {}, save() {}, }; - getDatabaseServer().updateSessionKey( + getDatabaseServer(log).updateSessionKey( customerId, sessionKey, contextId, @@ -46,7 +46,7 @@ describe("clientConnect", () => { } catch (error) { // assert expect(error).toEqual( - new ServerError( + new Error( `Encryption not found for connection ${connectionId}`, ), ); diff --git a/packages/transactions/test/getLobbies.test.ts b/thebeast/packages/transactions/test/getLobbies.test.ts similarity index 85% rename from packages/transactions/test/getLobbies.test.ts rename to thebeast/packages/transactions/test/getLobbies.test.ts index a17c625fe..44aad350a 100644 --- a/packages/transactions/test/getLobbies.test.ts +++ b/thebeast/packages/transactions/test/getLobbies.test.ts @@ -1,4 +1,3 @@ -import { mockPino } from "../../../test/factoryMocks.js"; import { getServerLogger } from "../../shared/log.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { getLobbies } from "../src/getLobbies.js"; @@ -9,8 +8,9 @@ describe("getLobbies", () => { // arrange const connectionId = "1"; const packet = new OldServerMessage(); - mockPino(); - const log = getServerLogger({}); + const log = getServerLogger({ + level: "silent", + }); // act const result = await getLobbies({ diff --git a/packages/transactions/test/trackingPing.test.ts b/thebeast/packages/transactions/test/trackingPing.test.ts similarity index 70% rename from packages/transactions/test/trackingPing.test.ts rename to thebeast/packages/transactions/test/trackingPing.test.ts index 5fcb9f5f5..126318258 100644 --- a/packages/transactions/test/trackingPing.test.ts +++ b/thebeast/packages/transactions/test/trackingPing.test.ts @@ -1,4 +1,3 @@ -import { P } from "vitest/dist/reporters-5f784f42.js"; import { getServerLogger } from "../../shared/log.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { trackingPing } from "../src/trackingPing.js"; @@ -8,13 +7,10 @@ describe("trackingPing", () => { test("does not return a message", async () => { // arrange const inboundMessage = new OldServerMessage(); - vi.mock("pino", async () => { - const actual = await vi.importActual("pino"); - return { - ...(actual as P), - }; + + const log = getServerLogger({ + level: "silent", }); - const log = getServerLogger({}); // act const { messages } = await trackingPing({ diff --git a/prettierrc b/thebeast/prettierrc similarity index 100% rename from prettierrc rename to thebeast/prettierrc diff --git a/server.ts b/thebeast/server.ts similarity index 90% rename from server.ts rename to thebeast/server.ts index e9ad48cc5..b8396ceec 100755 --- a/server.ts +++ b/thebeast/server.ts @@ -15,21 +15,21 @@ // along with this program. If not, see . import Sentry from "@sentry/node"; -import { getServerLogger } from "./packages/shared/log.js"; +import { ServerLoggerLevels, getServerLogger } from "./packages/shared/log.js"; import { verifyLegacyCipherSupport } from "./packages/gateway/src/encryption.js"; import { getServerConfiguration } from "./packages/shared/Configuration.js"; import { getGatewayServer } from "./packages/gateway/src/GatewayServer.js"; import { exit } from "node:process"; const coreLogger = getServerLogger({ - module: "core", + level: "info", }); try { verifyLegacyCipherSupport(); } catch (err) { coreLogger.fatal(`Error in core server: ${String(err)}`); - exit(1); + throw err; } Sentry.init({ @@ -63,15 +63,11 @@ try { certificateFile: process.env["CERTIFICATE_FILE"], privateKeyFile: process.env["PRIVATE_KEY_FILE"], publicKeyFile: process.env["PUBLIC_KEY_FILE"], - logLevel: process.env["LOG_LEVEL"], }); - const appLog = getServerLogger({ - level: config.logLevel, - module: "app", - }); + const appLog = getServerLogger(); - const listeningPortList = [ + const listeningPortList: number[] = [ 6660, 7003, 8228, 8226, 8227, 9000, 9001, 9002, 9003, 9004, 9005, 9006, 9007, 9008, 9009, 9010, 9011, 9012, 9013, 9014, 43200, 43300, 43400, 53303, @@ -83,9 +79,9 @@ try { listeningPortList, }); - gatewayServer.start(); + await gatewayServer.start(); } catch (err) { Sentry.captureException(err); coreLogger.fatal(`Error in core server: ${String(err)}`); - process.exit(1); + throw err; } diff --git a/services/sslProxy/Dockerfile b/thebeast/services/sslProxy/Dockerfile similarity index 100% rename from services/sslProxy/Dockerfile rename to thebeast/services/sslProxy/Dockerfile diff --git a/services/sslProxy/cert1.pem b/thebeast/services/sslProxy/cert1.pem similarity index 100% rename from services/sslProxy/cert1.pem rename to thebeast/services/sslProxy/cert1.pem diff --git a/services/sslProxy/chain1.pem b/thebeast/services/sslProxy/chain1.pem similarity index 100% rename from services/sslProxy/chain1.pem rename to thebeast/services/sslProxy/chain1.pem diff --git a/services/sslProxy/fullchain1.pem b/thebeast/services/sslProxy/fullchain1.pem similarity index 100% rename from services/sslProxy/fullchain1.pem rename to thebeast/services/sslProxy/fullchain1.pem diff --git a/services/sslProxy/mcouniverse.pem b/thebeast/services/sslProxy/mcouniverse.pem similarity index 100% rename from services/sslProxy/mcouniverse.pem rename to thebeast/services/sslProxy/mcouniverse.pem diff --git a/services/sslProxy/nginx.conf b/thebeast/services/sslProxy/nginx.conf similarity index 93% rename from services/sslProxy/nginx.conf rename to thebeast/services/sslProxy/nginx.conf index 64a4ad280..1a68d32cf 100644 --- a/services/sslProxy/nginx.conf +++ b/thebeast/services/sslProxy/nginx.conf @@ -32,6 +32,9 @@ http { ssl_certificate mcouniverse.pem; ssl_certificate_key private_key.pem; + # ssl_certificate fullchain1.pem; + # ssl_certificate_key privkey1.pem; + ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; diff --git a/services/sslProxy/private_key.pem b/thebeast/services/sslProxy/private_key.pem similarity index 100% rename from services/sslProxy/private_key.pem rename to thebeast/services/sslProxy/private_key.pem diff --git a/services/sslProxy/privkey1.pem b/thebeast/services/sslProxy/privkey1.pem similarity index 100% rename from services/sslProxy/privkey1.pem rename to thebeast/services/sslProxy/privkey1.pem diff --git a/thebeast/test/factoryMocks.ts b/thebeast/test/factoryMocks.ts new file mode 100644 index 000000000..1bcd5eaf9 --- /dev/null +++ b/thebeast/test/factoryMocks.ts @@ -0,0 +1,14 @@ +import { expect, it, vi } from "vitest"; +import { DatabaseManager } from "../packages/interfaces/index.js"; +import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; + +export function mockDatabaseManager(): DatabaseManager { + return { + updateSessionKey: vi.fn(), + fetchSessionKeyByCustomerId: vi.fn(), + }; +} + +it("should have crypto", () => { + expect(() => verifyLegacyCipherSupport()).not.toThrow(); +}); diff --git a/tsconfig.json b/tsconfig.json index ae87fc09f..079d2e784 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "incremental": true, - "target": "es2016", + "target": "es2022", "module": "NodeNext", "noImplicitOverride": true, "declaration": true, @@ -10,7 +10,8 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - "skipLibCheck": true + "skipLibCheck": true, + "noEmit": true, }, - "include": ["src", "test", "packages", "server.ts"] + "include": ["src", "test", "packages", "thebeast", "lib", "vite.config.ts"] } diff --git a/vite.config.ts b/vite.config.ts index 33d8ac0c2..ea5d2ebff 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -13,5 +13,7 @@ export default defineConfig({ ], reporter: ["lcov", "text", "cobertura"], }, + reporters: ["junit"], + outputFile: "mcos.junit.xml" }, }); diff --git a/yarn.lock b/yarn.lock new file mode 100644 index 000000000..5b4989c5b --- /dev/null +++ b/yarn.lock @@ -0,0 +1,6022 @@ +# This file is generated by running "yarn install" inside your project. +# Manual changes might be lost - proceed with caution! + +__metadata: + version: 8 + cacheKey: 10c0 + +"@aashutoshrathi/word-wrap@npm:^1.2.3": + version: 1.2.6 + resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" + checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f + languageName: node + linkType: hard + +"@ampproject/remapping@npm:^2.2.1": + version: 2.2.1 + resolution: "@ampproject/remapping@npm:2.2.1" + dependencies: + "@jridgewell/gen-mapping": "npm:^0.3.0" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10c0/92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 + languageName: node + linkType: hard + +"@babel/helper-string-parser@npm:^7.23.4": + version: 7.23.4 + resolution: "@babel/helper-string-parser@npm:7.23.4" + checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac + languageName: node + linkType: hard + +"@babel/helper-validator-identifier@npm:^7.22.20": + version: 7.22.20 + resolution: "@babel/helper-validator-identifier@npm:7.22.20" + checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e + languageName: node + linkType: hard + +"@babel/parser@npm:^7.20.15, @babel/parser@npm:^7.23.6": + version: 7.23.9 + resolution: "@babel/parser@npm:7.23.9" + bin: + parser: ./bin/babel-parser.js + checksum: 10c0/7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 + languageName: node + linkType: hard + +"@babel/types@npm:^7.23.6, @babel/types@npm:^7.8.3": + version: 7.23.9 + resolution: "@babel/types@npm:7.23.9" + dependencies: + "@babel/helper-string-parser": "npm:^7.23.4" + "@babel/helper-validator-identifier": "npm:^7.22.20" + to-fast-properties: "npm:^2.0.0" + checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 + languageName: node + linkType: hard + +"@bcoe/v8-coverage@npm:^0.2.3": + version: 0.2.3 + resolution: "@bcoe/v8-coverage@npm:0.2.3" + checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 + languageName: node + linkType: hard + +"@cspotcode/source-map-support@npm:^0.8.0": + version: 0.8.1 + resolution: "@cspotcode/source-map-support@npm:0.8.1" + dependencies: + "@jridgewell/trace-mapping": "npm:0.3.9" + checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 + languageName: node + linkType: hard + +"@esbuild/aix-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/aix-ppc64@npm:0.19.12" + conditions: os=aix & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/android-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm64@npm:0.19.12" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/android-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-arm@npm:0.19.12" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@esbuild/android-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/android-x64@npm:0.19.12" + conditions: os=android & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/darwin-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-arm64@npm:0.19.12" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/darwin-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/darwin-x64@npm:0.19.12" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/freebsd-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-arm64@npm:0.19.12" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/freebsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/freebsd-x64@npm:0.19.12" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/linux-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm64@npm:0.19.12" + conditions: os=linux & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/linux-arm@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-arm@npm:0.19.12" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@esbuild/linux-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ia32@npm:0.19.12" + conditions: os=linux & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/linux-loong64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-loong64@npm:0.19.12" + conditions: os=linux & cpu=loong64 + languageName: node + linkType: hard + +"@esbuild/linux-mips64el@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-mips64el@npm:0.19.12" + conditions: os=linux & cpu=mips64el + languageName: node + linkType: hard + +"@esbuild/linux-ppc64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-ppc64@npm:0.19.12" + conditions: os=linux & cpu=ppc64 + languageName: node + linkType: hard + +"@esbuild/linux-riscv64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-riscv64@npm:0.19.12" + conditions: os=linux & cpu=riscv64 + languageName: node + linkType: hard + +"@esbuild/linux-s390x@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-s390x@npm:0.19.12" + conditions: os=linux & cpu=s390x + languageName: node + linkType: hard + +"@esbuild/linux-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/linux-x64@npm:0.19.12" + conditions: os=linux & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/netbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/netbsd-x64@npm:0.19.12" + conditions: os=netbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/openbsd-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/openbsd-x64@npm:0.19.12" + conditions: os=openbsd & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/sunos-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/sunos-x64@npm:0.19.12" + conditions: os=sunos & cpu=x64 + languageName: node + linkType: hard + +"@esbuild/win32-arm64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-arm64@npm:0.19.12" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@esbuild/win32-ia32@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-ia32@npm:0.19.12" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@esbuild/win32-x64@npm:0.19.12": + version: 0.19.12 + resolution: "@esbuild/win32-x64@npm:0.19.12" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": + version: 4.4.0 + resolution: "@eslint-community/eslint-utils@npm:4.4.0" + dependencies: + eslint-visitor-keys: "npm:^3.3.0" + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + languageName: node + linkType: hard + +"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": + version: 4.10.0 + resolution: "@eslint-community/regexpp@npm:4.10.0" + checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 + languageName: node + linkType: hard + +"@eslint/eslintrc@npm:^2.1.4": + version: 2.1.4 + resolution: "@eslint/eslintrc@npm:2.1.4" + dependencies: + ajv: "npm:^6.12.4" + debug: "npm:^4.3.2" + espree: "npm:^9.6.0" + globals: "npm:^13.19.0" + ignore: "npm:^5.2.0" + import-fresh: "npm:^3.2.1" + js-yaml: "npm:^4.1.0" + minimatch: "npm:^3.1.2" + strip-json-comments: "npm:^3.1.1" + checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 + languageName: node + linkType: hard + +"@eslint/js@npm:8.56.0": + version: 8.56.0 + resolution: "@eslint/js@npm:8.56.0" + checksum: 10c0/60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a + languageName: node + linkType: hard + +"@fastify/ajv-compiler@npm:^3.5.0": + version: 3.5.0 + resolution: "@fastify/ajv-compiler@npm:3.5.0" + dependencies: + ajv: "npm:^8.11.0" + ajv-formats: "npm:^2.1.1" + fast-uri: "npm:^2.0.0" + checksum: 10c0/d10df76b7016984bf70bc6aca99962468ec43e0be5772d4aa3a7735ae78be44fdbcb2c078fe0cfdffec076080dfb7cbdbf4b729e52b168039477126f9d023af0 + languageName: node + linkType: hard + +"@fastify/deepmerge@npm:^1.0.0": + version: 1.3.0 + resolution: "@fastify/deepmerge@npm:1.3.0" + checksum: 10c0/8115ed7b891189ee4ebba554a105cb69111615bdb2961f8c58a80872fac9d7b74b2c6317d545a7d378325d094ce73a91fc9c5d7d6189476779cd5a5493cb1351 + languageName: node + linkType: hard + +"@fastify/error@npm:^3.4.0": + version: 3.4.1 + resolution: "@fastify/error@npm:3.4.1" + checksum: 10c0/1f1a0faa8c86639afb6f4bd47a9cdc1f0f20ce0d6944340fbdec8218aaba91dc9cae9ed78e24e61bceb782a867efda2b9a6320091f00dcbb896d9c8a9bdf5f96 + languageName: node + linkType: hard + +"@fastify/fast-json-stringify-compiler@npm:^4.3.0": + version: 4.3.0 + resolution: "@fastify/fast-json-stringify-compiler@npm:4.3.0" + dependencies: + fast-json-stringify: "npm:^5.7.0" + checksum: 10c0/513ef296f5ed682f7a460cfa6c5fb917a32fc540111b873c9937f944558e021492b18f30f9fd8dd20db252381a4428adbcc9f03a077f16c86d02f081eb490c7b + languageName: node + linkType: hard + +"@fastify/sensible@npm:^5.5.0": + version: 5.5.0 + resolution: "@fastify/sensible@npm:5.5.0" + dependencies: + "@lukeed/ms": "npm:^2.0.1" + fast-deep-equal: "npm:^3.1.1" + fastify-plugin: "npm:^4.0.0" + forwarded: "npm:^0.2.0" + http-errors: "npm:^2.0.0" + type-is: "npm:^1.6.18" + vary: "npm:^1.1.2" + checksum: 10c0/7871d4d09e75f72f8b1564c99a38d28158d1eeb78830dd79160cc0c56c8870ade6bf504c6cc8cca4dcc7726b2b84be80a032f2cbeb0392a60f1466f9b13f9a1d + languageName: node + linkType: hard + +"@gar/promisify@npm:^1.0.1": + version: 1.1.3 + resolution: "@gar/promisify@npm:1.1.3" + checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff + languageName: node + linkType: hard + +"@humanwhocodes/config-array@npm:^0.11.13": + version: 0.11.14 + resolution: "@humanwhocodes/config-array@npm:0.11.14" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.2" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 + languageName: node + linkType: hard + +"@humanwhocodes/module-importer@npm:^1.0.1": + version: 1.0.1 + resolution: "@humanwhocodes/module-importer@npm:1.0.1" + checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 + languageName: node + linkType: hard + +"@humanwhocodes/object-schema@npm:^2.0.2": + version: 2.0.2 + resolution: "@humanwhocodes/object-schema@npm:2.0.2" + checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f + languageName: node + linkType: hard + +"@isaacs/cliui@npm:^8.0.2": + version: 8.0.2 + resolution: "@isaacs/cliui@npm:8.0.2" + dependencies: + string-width: "npm:^5.1.2" + string-width-cjs: "npm:string-width@^4.2.0" + strip-ansi: "npm:^7.0.1" + strip-ansi-cjs: "npm:strip-ansi@^6.0.1" + wrap-ansi: "npm:^8.1.0" + wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" + checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e + languageName: node + linkType: hard + +"@istanbuljs/schema@npm:^0.1.2": + version: 0.1.3 + resolution: "@istanbuljs/schema@npm:0.1.3" + checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a + languageName: node + linkType: hard + +"@jest/schemas@npm:^29.6.3": + version: 29.6.3 + resolution: "@jest/schemas@npm:29.6.3" + dependencies: + "@sinclair/typebox": "npm:^0.27.8" + checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be + languageName: node + linkType: hard + +"@jridgewell/gen-mapping@npm:^0.3.0": + version: 0.3.3 + resolution: "@jridgewell/gen-mapping@npm:0.3.3" + dependencies: + "@jridgewell/set-array": "npm:^1.0.1" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + "@jridgewell/trace-mapping": "npm:^0.3.9" + checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 + languageName: node + linkType: hard + +"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": + version: 3.1.1 + resolution: "@jridgewell/resolve-uri@npm:3.1.1" + checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf + languageName: node + linkType: hard + +"@jridgewell/set-array@npm:^1.0.1": + version: 1.1.2 + resolution: "@jridgewell/set-array@npm:1.1.2" + checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab + languageName: node + linkType: hard + +"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:0.3.9": + version: 0.3.9 + resolution: "@jridgewell/trace-mapping@npm:0.3.9" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.0.3" + "@jridgewell/sourcemap-codec": "npm:^1.4.10" + checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b + languageName: node + linkType: hard + +"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.9": + version: 0.3.22 + resolution: "@jridgewell/trace-mapping@npm:0.3.22" + dependencies: + "@jridgewell/resolve-uri": "npm:^3.1.0" + "@jridgewell/sourcemap-codec": "npm:^1.4.14" + checksum: 10c0/18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 + languageName: node + linkType: hard + +"@jsdoc/salty@npm:^0.2.1": + version: 0.2.7 + resolution: "@jsdoc/salty@npm:0.2.7" + dependencies: + lodash: "npm:^4.17.21" + checksum: 10c0/12af140143ff4b3fdd9451f9d89cb5f4cb254e9ca91ac9dbd7ece1b338c490e602819965059e7fe2d9337d4cb44c9fe4fb27b88e65ac3821fed23ab88219f546 + languageName: node + linkType: hard + +"@lukeed/ms@npm:^2.0.1": + version: 2.0.2 + resolution: "@lukeed/ms@npm:2.0.2" + checksum: 10c0/843b922717313bcde4943f478145d8bc13115b9b91d83bbaed53739b5644122984412310aed574792f4e6b492f2cbda178175f601856d310f67e14834c3f17a0 + languageName: node + linkType: hard + +"@nodelib/fs.scandir@npm:2.1.5": + version: 2.1.5 + resolution: "@nodelib/fs.scandir@npm:2.1.5" + dependencies: + "@nodelib/fs.stat": "npm:2.0.5" + run-parallel: "npm:^1.1.9" + checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb + languageName: node + linkType: hard + +"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": + version: 2.0.5 + resolution: "@nodelib/fs.stat@npm:2.0.5" + checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d + languageName: node + linkType: hard + +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": + version: 1.2.8 + resolution: "@nodelib/fs.walk@npm:1.2.8" + dependencies: + "@nodelib/fs.scandir": "npm:2.1.5" + fastq: "npm:^1.6.0" + checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 + languageName: node + linkType: hard + +"@npmcli/agent@npm:^2.0.0": + version: 2.2.0 + resolution: "@npmcli/agent@npm:2.2.0" + dependencies: + agent-base: "npm:^7.1.0" + http-proxy-agent: "npm:^7.0.0" + https-proxy-agent: "npm:^7.0.1" + lru-cache: "npm:^10.0.1" + socks-proxy-agent: "npm:^8.0.1" + checksum: 10c0/7b89590598476dda88e79c473766b67c682aae6e0ab0213491daa6083dcc0c171f86b3868f5506f22c09aa5ea69ad7dfb78f4bf39a8dca375d89a42f408645b3 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^1.0.0": + version: 1.1.1 + resolution: "@npmcli/fs@npm:1.1.1" + dependencies: + "@gar/promisify": "npm:^1.0.1" + semver: "npm:^7.3.5" + checksum: 10c0/4143c317a7542af9054018b71601e3c3392e6704e884561229695f099a71336cbd580df9a9ffb965d0024bf0ed593189ab58900fd1714baef1c9ee59c738c3e2 + languageName: node + linkType: hard + +"@npmcli/fs@npm:^3.1.0": + version: 3.1.0 + resolution: "@npmcli/fs@npm:3.1.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e + languageName: node + linkType: hard + +"@npmcli/move-file@npm:^1.0.1": + version: 1.1.2 + resolution: "@npmcli/move-file@npm:1.1.2" + dependencies: + mkdirp: "npm:^1.0.4" + rimraf: "npm:^3.0.2" + checksum: 10c0/02e946f3dafcc6743132fe2e0e2b585a96ca7265653a38df5a3e53fcf26c7c7a57fc0f861d7c689a23fdb6d6836c7eea5050c8086abf3c994feb2208d1514ff0 + languageName: node + linkType: hard + +"@pkgjs/parseargs@npm:^0.11.0": + version: 0.11.0 + resolution: "@pkgjs/parseargs@npm:0.11.0" + checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd + languageName: node + linkType: hard + +"@pkgr/core@npm:^0.1.0": + version: 0.1.1 + resolution: "@pkgr/core@npm:0.1.1" + checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 + languageName: node + linkType: hard + +"@rollup/rollup-android-arm-eabi@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.9.6" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-android-arm64@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-android-arm64@npm:4.9.6" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-arm64@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-darwin-arm64@npm:4.9.6" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-darwin-x64@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-darwin-x64@npm:4.9.6" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-gnu@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.9.6" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm64-musl@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.9.6" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-linux-riscv64-gnu@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.9.6" + conditions: os=linux & cpu=riscv64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-gnu@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.6" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-x64-musl@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.9.6" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + +"@rollup/rollup-win32-arm64-msvc@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.9.6" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-win32-ia32-msvc@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.9.6" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + +"@rollup/rollup-win32-x64-msvc@npm:4.9.6": + version: 4.9.6 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.9.6" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@rushstack/ts-command-line@npm:^4.11.0, @rushstack/ts-command-line@npm:^4.12.2": + version: 4.17.1 + resolution: "@rushstack/ts-command-line@npm:4.17.1" + dependencies: + "@types/argparse": "npm:1.0.38" + argparse: "npm:~1.0.9" + colors: "npm:~1.2.1" + string-argv: "npm:~0.3.1" + checksum: 10c0/4fd27d2450a6e71139e67b33d5ecba7abbf3497e7479ab3a96666cf79f207c5a7d4ad4f8de17f43e09bed65a0f28115160a4c5486c8e64f8b472c7145a31c2d2 + languageName: node + linkType: hard + +"@rusty-motors/thebeast@workspace:thebeast": + version: 0.0.0-use.local + resolution: "@rusty-motors/thebeast@workspace:thebeast" + dependencies: + "@fastify/sensible": "npm:^5.5.0" + "@sentry/cli": "npm:^2.23.2" + "@sentry/node": "npm:7.92" + "@sentry/profiling-node": "npm:^1.3.2" + "@tsconfig/node-lts": "npm:^20.1.1" + "@tsconfig/node20": "npm:^20.1.2" + "@types/chai": "npm:4.3.11" + "@types/connect": "npm:^3.4.38" + "@types/node": "npm:^20.10.6" + "@types/sinon": "npm:17.0.2" + "@types/sinon-chai": "npm:3.2.12" + "@typescript-eslint/eslint-plugin": "npm:^6.17.0" + "@typescript-eslint/parser": "npm:^6.17.0" + "@vitest/coverage-v8": "npm:^1.1.1" + eslint: "npm:^8.56.0" + eslint-config-prettier: "npm:^9.1.0" + eslint-plugin-prettier: "npm:5.1.2" + fastify: "npm:^4.25.2" + jsdoc: "npm:^4.0.2" + moment: "npm:^2.30.1" + pino: "npm:^8.18.0" + pino-pretty: "npm:^10.3.1" + prettier: "npm:3.1.1" + prettier-eslint: "npm:16.2.0" + short-unique-id: "npm:^5.0.3" + slonik: "npm:^37.2.0" + sqlite3: "npm:^5.1.7" + ts-node: "npm:10.9.2" + tslib: "npm:^2.6.2" + tsx: "npm:4.7.0" + typescript: "npm:^5.3.3" + typescript-eslint-language-service: "npm:^5.0.5" + vitest: "npm:^1.1.1" + zod: "npm:^3.22.4" + languageName: unknown + linkType: soft + +"@sentry-internal/tracing@npm:7.92.0": + version: 7.92.0 + resolution: "@sentry-internal/tracing@npm:7.92.0" + dependencies: + "@sentry/core": "npm:7.92.0" + "@sentry/types": "npm:7.92.0" + "@sentry/utils": "npm:7.92.0" + checksum: 10c0/bb0548ed351cb16fbe1e37d7ee72494c6923cf5c5c89f47ae6d2c61b4cfbefdb9946bf091407b7ab798e72e3d8116fcbc8c4370645780a60c7d3868196b7e30c + languageName: node + linkType: hard + +"@sentry/cli-darwin@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-darwin@npm:2.27.0" + conditions: os=darwin + languageName: node + linkType: hard + +"@sentry/cli-linux-arm64@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-linux-arm64@npm:2.27.0" + conditions: (os=linux | os=freebsd) & cpu=arm64 + languageName: node + linkType: hard + +"@sentry/cli-linux-arm@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-linux-arm@npm:2.27.0" + conditions: (os=linux | os=freebsd) & cpu=arm + languageName: node + linkType: hard + +"@sentry/cli-linux-i686@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-linux-i686@npm:2.27.0" + conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32) + languageName: node + linkType: hard + +"@sentry/cli-linux-x64@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-linux-x64@npm:2.27.0" + conditions: (os=linux | os=freebsd) & cpu=x64 + languageName: node + linkType: hard + +"@sentry/cli-win32-i686@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-win32-i686@npm:2.27.0" + conditions: os=win32 & (cpu=x86 | cpu=ia32) + languageName: node + linkType: hard + +"@sentry/cli-win32-x64@npm:2.27.0": + version: 2.27.0 + resolution: "@sentry/cli-win32-x64@npm:2.27.0" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + +"@sentry/cli@npm:^2.23.2": + version: 2.27.0 + resolution: "@sentry/cli@npm:2.27.0" + dependencies: + "@sentry/cli-darwin": "npm:2.27.0" + "@sentry/cli-linux-arm": "npm:2.27.0" + "@sentry/cli-linux-arm64": "npm:2.27.0" + "@sentry/cli-linux-i686": "npm:2.27.0" + "@sentry/cli-linux-x64": "npm:2.27.0" + "@sentry/cli-win32-i686": "npm:2.27.0" + "@sentry/cli-win32-x64": "npm:2.27.0" + https-proxy-agent: "npm:^5.0.0" + node-fetch: "npm:^2.6.7" + progress: "npm:^2.0.3" + proxy-from-env: "npm:^1.1.0" + which: "npm:^2.0.2" + dependenciesMeta: + "@sentry/cli-darwin": + optional: true + "@sentry/cli-linux-arm": + optional: true + "@sentry/cli-linux-arm64": + optional: true + "@sentry/cli-linux-i686": + optional: true + "@sentry/cli-linux-x64": + optional: true + "@sentry/cli-win32-i686": + optional: true + "@sentry/cli-win32-x64": + optional: true + bin: + sentry-cli: bin/sentry-cli + checksum: 10c0/46573db9c02c1769c15a1fdcbc76b92947fe0f11c36f75cbcd151a10c4a3c1a4429eb7443a24815e0fc3d74f037079b4f7d9b15e232f5ead4e32e5c5e7c7a345 + languageName: node + linkType: hard + +"@sentry/core@npm:7.92.0": + version: 7.92.0 + resolution: "@sentry/core@npm:7.92.0" + dependencies: + "@sentry/types": "npm:7.92.0" + "@sentry/utils": "npm:7.92.0" + checksum: 10c0/a0c042b479dce2803e9746ad6e58831762a9b9f48a0fc7024377dcc33e170ccac59b76df2946bdf70d420ac07f2b747582f08ece13769140f1fdfcc04ccafa8b + languageName: node + linkType: hard + +"@sentry/node@npm:7.92": + version: 7.92.0 + resolution: "@sentry/node@npm:7.92.0" + dependencies: + "@sentry-internal/tracing": "npm:7.92.0" + "@sentry/core": "npm:7.92.0" + "@sentry/types": "npm:7.92.0" + "@sentry/utils": "npm:7.92.0" + https-proxy-agent: "npm:^5.0.0" + checksum: 10c0/506acdbde681d6af5e1c54c0c65b1b1173e6fd506fdcd28951d54eb7c89fc9676d9be233f8f002a779007570ddff69ce01718759f6f5f0ef7dcdb30d9068a3c6 + languageName: node + linkType: hard + +"@sentry/profiling-node@npm:^1.3.2": + version: 1.3.5 + resolution: "@sentry/profiling-node@npm:1.3.5" + dependencies: + detect-libc: "npm:^2.0.2" + node-abi: "npm:^3.52.0" + node-gyp: "npm:latest" + peerDependencies: + "@sentry/node": ^7.44.1 + bin: + sentry-prune-profiler-binaries: scripts/prune-profiler-binaries.mjs + checksum: 10c0/7d4613ea702a1ed455e63ce063aa91a2f84666311c1d0139479810e84061cf5b7d49f790316efbc4d70f4b0e8424481d0e57bf082de073fb89b3139646cf7057 + languageName: node + linkType: hard + +"@sentry/types@npm:7.92.0": + version: 7.92.0 + resolution: "@sentry/types@npm:7.92.0" + checksum: 10c0/fe8b0b2807b85e110e05d3d18c3da4dc2cbd7e9157e5958d3fe2994710da145604a6e2f7f52ae8f8a4b77a5ea03963787b421dfca38a2a68d510c566b8ee50a6 + languageName: node + linkType: hard + +"@sentry/utils@npm:7.92.0": + version: 7.92.0 + resolution: "@sentry/utils@npm:7.92.0" + dependencies: + "@sentry/types": "npm:7.92.0" + checksum: 10c0/a92c6cf69a5bbd158d54c1ef6865cb81acdfaf37e6336a9e64a3db65769ae3b27f900788c5543f9dfa47d6bb8fa9cc5f2afbe24ff3c257d6a4e56829fc03e2b2 + languageName: node + linkType: hard + +"@sinclair/typebox@npm:^0.27.8": + version: 0.27.8 + resolution: "@sinclair/typebox@npm:0.27.8" + checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e + languageName: node + linkType: hard + +"@slonik/migrator@npm:^0.12.0": + version: 0.12.0 + resolution: "@slonik/migrator@npm:0.12.0" + dependencies: + "@rushstack/ts-command-line": "npm:^4.11.0" + umzug: "npm:^3.1.1" + peerDependencies: + slonik: 27 - 29 + checksum: 10c0/8ceb36ab0b83d78cea7443b2c8fff19dafd79eceae9ab5d0e1da1daa09f459ea68b6484807281036fd8be87b505c88d07141ba64975e6aa422bc1a86df1e2336 + languageName: node + linkType: hard + +"@tootallnate/once@npm:1": + version: 1.1.2 + resolution: "@tootallnate/once@npm:1.1.2" + checksum: 10c0/8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 + languageName: node + linkType: hard + +"@tsconfig/node-lts@npm:^20.1.1": + version: 20.1.1 + resolution: "@tsconfig/node-lts@npm:20.1.1" + checksum: 10c0/cd78a6680be8a4f38e60a3fccc1f940bdc420c1f27563268ebff87e64e425ce59a414272333474ca6b3b85304037b51ade71ae5fd58f6661ceaa3a8daf291838 + languageName: node + linkType: hard + +"@tsconfig/node10@npm:^1.0.7": + version: 1.0.9 + resolution: "@tsconfig/node10@npm:1.0.9" + checksum: 10c0/c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 + languageName: node + linkType: hard + +"@tsconfig/node12@npm:^1.0.7": + version: 1.0.11 + resolution: "@tsconfig/node12@npm:1.0.11" + checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 + languageName: node + linkType: hard + +"@tsconfig/node14@npm:^1.0.0": + version: 1.0.3 + resolution: "@tsconfig/node14@npm:1.0.3" + checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 + languageName: node + linkType: hard + +"@tsconfig/node16@npm:^1.0.2": + version: 1.0.4 + resolution: "@tsconfig/node16@npm:1.0.4" + checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb + languageName: node + linkType: hard + +"@tsconfig/node20@npm:^20.1.2": + version: 20.1.2 + resolution: "@tsconfig/node20@npm:20.1.2" + checksum: 10c0/e438fa9b93f0e6ea667affbbd3217692bf3f92db1b3dcbfba1dd141a7dbcd647c19ed87ce76871c723bed398759ec4a5590685f3e669b600c9371f143a19e0c1 + languageName: node + linkType: hard + +"@types/argparse@npm:1.0.38": + version: 1.0.38 + resolution: "@types/argparse@npm:1.0.38" + checksum: 10c0/4fc892da5df16923f48180da2d1f4562fa8b0507cf636b24780444fa0a1d7321d4dc0c0ecbee6152968823f5a2ae0d321b4f8c705a489bf1ae1245bdeb0868fd + languageName: node + linkType: hard + +"@types/chai@npm:*, @types/chai@npm:4.3.11": + version: 4.3.11 + resolution: "@types/chai@npm:4.3.11" + checksum: 10c0/0c216ac4a19bfbf8318bb104d32e50704ee2ffc4b538b976c4326e6638fee121462402caa570662227a2a218810388aadb14bdbd3d3d474ec300b00695db448a + languageName: node + linkType: hard + +"@types/connect@npm:^3.4.38": + version: 3.4.38 + resolution: "@types/connect@npm:3.4.38" + dependencies: + "@types/node": "npm:*" + checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c + languageName: node + linkType: hard + +"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": + version: 1.0.5 + resolution: "@types/estree@npm:1.0.5" + checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d + languageName: node + linkType: hard + +"@types/istanbul-lib-coverage@npm:^2.0.1": + version: 2.0.6 + resolution: "@types/istanbul-lib-coverage@npm:2.0.6" + checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 + languageName: node + linkType: hard + +"@types/json-schema@npm:^7.0.12": + version: 7.0.15 + resolution: "@types/json-schema@npm:7.0.15" + checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db + languageName: node + linkType: hard + +"@types/linkify-it@npm:*": + version: 3.0.5 + resolution: "@types/linkify-it@npm:3.0.5" + checksum: 10c0/696e09975991c649ba37c5585714929fdebf5c64a8bfb99910613ef838337dbbba6c608fccdfa03d6347432586ef12e139bc0e947ae6fec569096fef5cc1c550 + languageName: node + linkType: hard + +"@types/markdown-it@npm:^12.2.3": + version: 12.2.3 + resolution: "@types/markdown-it@npm:12.2.3" + dependencies: + "@types/linkify-it": "npm:*" + "@types/mdurl": "npm:*" + checksum: 10c0/f72e08f69d76be2e30cd367fd6e5302c6878aa44e5b1a952fe7e41280044502bcb9bac8459ad94f6bb5e4f9c4cb52803950609ad66786f0fddc3a8bd533f777d + languageName: node + linkType: hard + +"@types/mdurl@npm:*": + version: 1.0.5 + resolution: "@types/mdurl@npm:1.0.5" + checksum: 10c0/8991c781eb94fb3621e48e191251a94057908fc14be60f52bdd7c48684af923ffa77559ea979450a0475f85c08f8a472f99ff9c2ca4308961b9b9d35fd7584f7 + languageName: node + linkType: hard + +"@types/node@npm:*, @types/node@npm:^20.10.6": + version: 20.11.13 + resolution: "@types/node@npm:20.11.13" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/8ff8526fa0dbabcf4e9c538c6a7220675f750c39d0794e34998daa0656d7e0dfdf3e47403d2ab8beb756422a517e1f2646b4494afa59ef330495d65fc58fa4d8 + languageName: node + linkType: hard + +"@types/node@npm:^20.11.16": + version: 20.11.16 + resolution: "@types/node@npm:20.11.16" + dependencies: + undici-types: "npm:~5.26.4" + checksum: 10c0/4886b90278e9c877a84efd3edd4667cd990e032d77268d2a798b99ebc1901ea336fa7dfbe9eaf4ad6ad1da9ce2ec31baf300038a3905838692362eb19904ebde + languageName: node + linkType: hard + +"@types/pg@npm:^8.10.7": + version: 8.11.0 + resolution: "@types/pg@npm:8.11.0" + dependencies: + "@types/node": "npm:*" + pg-protocol: "npm:*" + pg-types: "npm:^4.0.1" + checksum: 10c0/df2c2ac11fa5e8863a98aadce9a9168af5cfc38a226a228d8b1be513ef48d33ceb9bfaa64ef685a87e0611a4f8d94f2e0736bb2812fa00ed264f76679b86945d + languageName: node + linkType: hard + +"@types/semver@npm:^7.5.0": + version: 7.5.6 + resolution: "@types/semver@npm:7.5.6" + checksum: 10c0/196dc32db5f68cbcde2e6a42bb4aa5cbb100fa2b7bd9c8c82faaaf3e03fbe063e205dbb4f03c7cdf53da2edb70a0d34c9f2e601b54281b377eb8dc1743226acd + languageName: node + linkType: hard + +"@types/sinon-chai@npm:3.2.12": + version: 3.2.12 + resolution: "@types/sinon-chai@npm:3.2.12" + dependencies: + "@types/chai": "npm:*" + "@types/sinon": "npm:*" + checksum: 10c0/2d4b865f117226c84d4fae861e702fa02598e2f347823dccb5dcdcf4bcc8a5f60fbf2c028feb34001d569b69ccbb401a42830cf85f4f5f2d0bd6283112b848f1 + languageName: node + linkType: hard + +"@types/sinon@npm:*": + version: 17.0.3 + resolution: "@types/sinon@npm:17.0.3" + dependencies: + "@types/sinonjs__fake-timers": "npm:*" + checksum: 10c0/6fc3aa497fd87826375de3dbddc2bf01c281b517c32c05edf95b5ad906382dc221bca01ca9d44fc7d5cb4c768f996f268154e87633a45b3c0b5cddca7ef5e2be + languageName: node + linkType: hard + +"@types/sinon@npm:17.0.2": + version: 17.0.2 + resolution: "@types/sinon@npm:17.0.2" + dependencies: + "@types/sinonjs__fake-timers": "npm:*" + checksum: 10c0/0794a7c2ebdef397f510db0ccbfa242d4ae52db88f0f0e23e087f569e8ff76b6466680d96209b511acc0f3c08bb70dac6e51c0c2a4f62dfd1faf34f6cb308498 + languageName: node + linkType: hard + +"@types/sinonjs__fake-timers@npm:*": + version: 8.1.5 + resolution: "@types/sinonjs__fake-timers@npm:8.1.5" + checksum: 10c0/2b8bdc246365518fc1b08f5720445093cce586183acca19a560be6ef81f824bd9a96c090e462f622af4d206406dadf2033c5daf99a51c1096da6494e5c8dc32e + languageName: node + linkType: hard + +"@typescript-eslint/eslint-plugin@npm:^6.17.0": + version: 6.20.0 + resolution: "@typescript-eslint/eslint-plugin@npm:6.20.0" + dependencies: + "@eslint-community/regexpp": "npm:^4.5.1" + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/type-utils": "npm:6.20.0" + "@typescript-eslint/utils": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" + debug: "npm:^4.3.4" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.4" + natural-compare: "npm:^1.4.0" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/5020faac39be476de056342f58f2bf68bb788f230e2fa4a2e27ceab8a5187dc450beba7333b0aa741a43aeaff45a117558132953f9390b5eca4c2cc004fde716 + languageName: node + linkType: hard + +"@typescript-eslint/parser@npm:^6.17.0, @typescript-eslint/parser@npm:^6.7.5": + version: 6.20.0 + resolution: "@typescript-eslint/parser@npm:6.20.0" + dependencies: + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/typescript-estree": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" + debug: "npm:^4.3.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/d84ad5e2282b1096c80dedb903c83ecc31eaf7be1aafcb14c18d9ec2d4a319f2fd1e5a9038b944d9f42c36c1c57add5e4292d4026ca7d3d5441d41286700d402 + languageName: node + linkType: hard + +"@typescript-eslint/scope-manager@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/scope-manager@npm:6.20.0" + dependencies: + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" + checksum: 10c0/f6768ed2dcd2d1771d55ed567ff392a6569ffd683a26500067509dd41769f8838c43686460fe7337144f324fd063df33f5d5646d44e5df4998ceffb3ad1fb790 + languageName: node + linkType: hard + +"@typescript-eslint/type-utils@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/type-utils@npm:6.20.0" + dependencies: + "@typescript-eslint/typescript-estree": "npm:6.20.0" + "@typescript-eslint/utils": "npm:6.20.0" + debug: "npm:^4.3.4" + ts-api-utils: "npm:^1.0.1" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/8f622fbb14268f1d00b2948f995b570f0ef82be02c12be41d90385290a56ea0dbd34d855d6a5aff100b57f3bdd300ff0c300f16c78f12d6064f7ae6e34fd71bf + languageName: node + linkType: hard + +"@typescript-eslint/types@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/types@npm:6.20.0" + checksum: 10c0/37589003b0e06f83c1945e3748e91af85918cfd997766894642a08e6f355f611cfe11df4e7632dda96e3a9b3441406283fe834ab0906cf81ea97fd43ca2aebe3 + languageName: node + linkType: hard + +"@typescript-eslint/typescript-estree@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/typescript-estree@npm:6.20.0" + dependencies: + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/visitor-keys": "npm:6.20.0" + debug: "npm:^4.3.4" + globby: "npm:^11.1.0" + is-glob: "npm:^4.0.3" + minimatch: "npm:9.0.3" + semver: "npm:^7.5.4" + ts-api-utils: "npm:^1.0.1" + peerDependenciesMeta: + typescript: + optional: true + checksum: 10c0/551f13445a303882d9fc0fbe14ef8507eb8414253fd87a5f13d2e324b5280b626421a238b8ec038e628bc80128dc06c057757f668738e82e64d5b39a9083c27d + languageName: node + linkType: hard + +"@typescript-eslint/utils@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/utils@npm:6.20.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.4.0" + "@types/json-schema": "npm:^7.0.12" + "@types/semver": "npm:^7.5.0" + "@typescript-eslint/scope-manager": "npm:6.20.0" + "@typescript-eslint/types": "npm:6.20.0" + "@typescript-eslint/typescript-estree": "npm:6.20.0" + semver: "npm:^7.5.4" + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + checksum: 10c0/0a8ede3d80a365b52ae96d88e4a9f6e6abf3569c6b60ff9f42ff900cd843ae7c5493cd95f8f2029d90bb0acbf31030980206af98e581d760d6d41e0f80e9fb86 + languageName: node + linkType: hard + +"@typescript-eslint/visitor-keys@npm:6.20.0": + version: 6.20.0 + resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" + dependencies: + "@typescript-eslint/types": "npm:6.20.0" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/852d938f2e5d57200cf62733b42e73a369f797b097d17e8fd3fffd0f7315c3b9e1863eed60bb8d57d6535a3b7f1980f645f96ec6d513950f182bfa8107b33fab + languageName: node + linkType: hard + +"@ungap/structured-clone@npm:^1.2.0": + version: 1.2.0 + resolution: "@ungap/structured-clone@npm:1.2.0" + checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + languageName: node + linkType: hard + +"@vitest/coverage-v8@npm:^1.1.1": + version: 1.2.2 + resolution: "@vitest/coverage-v8@npm:1.2.2" + dependencies: + "@ampproject/remapping": "npm:^2.2.1" + "@bcoe/v8-coverage": "npm:^0.2.3" + debug: "npm:^4.3.4" + istanbul-lib-coverage: "npm:^3.2.2" + istanbul-lib-report: "npm:^3.0.1" + istanbul-lib-source-maps: "npm:^4.0.1" + istanbul-reports: "npm:^3.1.6" + magic-string: "npm:^0.30.5" + magicast: "npm:^0.3.3" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + test-exclude: "npm:^6.0.0" + v8-to-istanbul: "npm:^9.2.0" + peerDependencies: + vitest: ^1.0.0 + checksum: 10c0/90e3cfdc7d36df86f95b4bc372851dbf0a9e78ca9d80177674ebb30cf5dff1e786660016aa7e369bd30ac7d1d3edc18d7ab0f6ccfdc9cdfe04ada0e0b5d5911a + languageName: node + linkType: hard + +"@vitest/expect@npm:1.2.2": + version: 1.2.2 + resolution: "@vitest/expect@npm:1.2.2" + dependencies: + "@vitest/spy": "npm:1.2.2" + "@vitest/utils": "npm:1.2.2" + chai: "npm:^4.3.10" + checksum: 10c0/920e80b956d9d5ef7909cbe2bf883c8556da11c5123ea037396cb672d7038116c9773bd36915a3df7be2ffd76b661d5a6487e7e5ded78f39e2500cb36ae81e59 + languageName: node + linkType: hard + +"@vitest/runner@npm:1.2.2": + version: 1.2.2 + resolution: "@vitest/runner@npm:1.2.2" + dependencies: + "@vitest/utils": "npm:1.2.2" + p-limit: "npm:^5.0.0" + pathe: "npm:^1.1.1" + checksum: 10c0/25a9c03cca5b40738fe606757b14ee9d60d25193115b4674e3cc402c2b2c3844d234902d48bfa7646cb205455ea27891fef96733e033a570b85fe74ed29ff81c + languageName: node + linkType: hard + +"@vitest/snapshot@npm:1.2.2": + version: 1.2.2 + resolution: "@vitest/snapshot@npm:1.2.2" + dependencies: + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + pretty-format: "npm:^29.7.0" + checksum: 10c0/0f8a69a289aa6466c7dd56f8327190d56a0bc7ad10412127de001c94784f6dba5e5bccb757def21f565f4efa3e00c307b92e8b6c302f11fc57889b743ba18a95 + languageName: node + linkType: hard + +"@vitest/spy@npm:1.2.2": + version: 1.2.2 + resolution: "@vitest/spy@npm:1.2.2" + dependencies: + tinyspy: "npm:^2.2.0" + checksum: 10c0/5480048d26c0d82b524317552fbdcc05fed6ea626d887620647826453a344798a360f2a75af477512a1569b1b6c918eae62338e8b35575f875fc2d7ef51419f3 + languageName: node + linkType: hard + +"@vitest/utils@npm:1.2.2": + version: 1.2.2 + resolution: "@vitest/utils@npm:1.2.2" + dependencies: + diff-sequences: "npm:^29.6.3" + estree-walker: "npm:^3.0.3" + loupe: "npm:^2.3.7" + pretty-format: "npm:^29.7.0" + checksum: 10c0/32449cb7eca8ecea56e0fce280c9770f65fa6b60bbba73be06ca2891096818899b4b3220bd3c815df8beb4266034db394fcf235e4de8959cce686b8b360948d1 + languageName: node + linkType: hard + +"abbrev@npm:1": + version: 1.1.1 + resolution: "abbrev@npm:1.1.1" + checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 + languageName: node + linkType: hard + +"abbrev@npm:^2.0.0": + version: 2.0.0 + resolution: "abbrev@npm:2.0.0" + checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 + languageName: node + linkType: hard + +"abort-controller@npm:^3.0.0": + version: 3.0.0 + resolution: "abort-controller@npm:3.0.0" + dependencies: + event-target-shim: "npm:^5.0.0" + checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 + languageName: node + linkType: hard + +"abstract-logging@npm:^2.0.1": + version: 2.0.1 + resolution: "abstract-logging@npm:2.0.1" + checksum: 10c0/304879d9babcf6772260e5ddde632e6428e1f42f7a7a116d4689e97ad813a20e0ec2dd1e0a122f3617557f40091b9ca85735de4b48c17a2041268cb47b3f8ef1 + languageName: node + linkType: hard + +"acorn-jsx@npm:^5.3.2": + version: 5.3.2 + resolution: "acorn-jsx@npm:5.3.2" + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 + languageName: node + linkType: hard + +"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.3.2": + version: 8.3.2 + resolution: "acorn-walk@npm:8.3.2" + checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 + languageName: node + linkType: hard + +"acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.9.0": + version: 8.11.3 + resolution: "acorn@npm:8.11.3" + bin: + acorn: bin/acorn + checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 + languageName: node + linkType: hard + +"agent-base@npm:6, agent-base@npm:^6.0.2": + version: 6.0.2 + resolution: "agent-base@npm:6.0.2" + dependencies: + debug: "npm:4" + checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 + languageName: node + linkType: hard + +"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": + version: 7.1.0 + resolution: "agent-base@npm:7.1.0" + dependencies: + debug: "npm:^4.3.4" + checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce + languageName: node + linkType: hard + +"agentkeepalive@npm:^4.1.3": + version: 4.5.0 + resolution: "agentkeepalive@npm:4.5.0" + dependencies: + humanize-ms: "npm:^1.2.1" + checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 + languageName: node + linkType: hard + +"aggregate-error@npm:^3.0.0": + version: 3.1.0 + resolution: "aggregate-error@npm:3.1.0" + dependencies: + clean-stack: "npm:^2.0.0" + indent-string: "npm:^4.0.0" + checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 + languageName: node + linkType: hard + +"ajv-formats@npm:^2.1.1": + version: 2.1.1 + resolution: "ajv-formats@npm:2.1.1" + dependencies: + ajv: "npm:^8.0.0" + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 + languageName: node + linkType: hard + +"ajv@npm:^6.12.4": + version: 6.12.6 + resolution: "ajv@npm:6.12.6" + dependencies: + fast-deep-equal: "npm:^3.1.1" + fast-json-stable-stringify: "npm:^2.0.0" + json-schema-traverse: "npm:^0.4.1" + uri-js: "npm:^4.2.2" + checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 + languageName: node + linkType: hard + +"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": + version: 8.12.0 + resolution: "ajv@npm:8.12.0" + dependencies: + fast-deep-equal: "npm:^3.1.1" + json-schema-traverse: "npm:^1.0.0" + require-from-string: "npm:^2.0.2" + uri-js: "npm:^4.2.2" + checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e + languageName: node + linkType: hard + +"ansi-regex@npm:^2.0.0": + version: 2.1.1 + resolution: "ansi-regex@npm:2.1.1" + checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b + languageName: node + linkType: hard + +"ansi-regex@npm:^5.0.1": + version: 5.0.1 + resolution: "ansi-regex@npm:5.0.1" + checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 + languageName: node + linkType: hard + +"ansi-regex@npm:^6.0.1": + version: 6.0.1 + resolution: "ansi-regex@npm:6.0.1" + checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 + languageName: node + linkType: hard + +"ansi-styles@npm:^2.2.1": + version: 2.2.1 + resolution: "ansi-styles@npm:2.2.1" + checksum: 10c0/7c68aed4f1857389e7a12f85537ea5b40d832656babbf511cc7ecd9efc52889b9c3e5653a71a6aade783c3c5e0aa223ad4ff8e83c27ac8a666514e6c79068cab + languageName: node + linkType: hard + +"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": + version: 4.3.0 + resolution: "ansi-styles@npm:4.3.0" + dependencies: + color-convert: "npm:^2.0.1" + checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 + languageName: node + linkType: hard + +"ansi-styles@npm:^5.0.0": + version: 5.2.0 + resolution: "ansi-styles@npm:5.2.0" + checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df + languageName: node + linkType: hard + +"ansi-styles@npm:^6.1.0": + version: 6.2.1 + resolution: "ansi-styles@npm:6.2.1" + checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c + languageName: node + linkType: hard + +"aproba@npm:^1.0.3 || ^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 + languageName: node + linkType: hard + +"archy@npm:^1.0.0": + version: 1.0.0 + resolution: "archy@npm:1.0.0" + checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 + languageName: node + linkType: hard + +"are-we-there-yet@npm:^3.0.0": + version: 3.0.1 + resolution: "are-we-there-yet@npm:3.0.1" + dependencies: + delegates: "npm:^1.0.0" + readable-stream: "npm:^3.6.0" + checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 + languageName: node + linkType: hard + +"arg@npm:^4.1.0": + version: 4.1.3 + resolution: "arg@npm:4.1.3" + checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a + languageName: node + linkType: hard + +"argparse@npm:^2.0.1": + version: 2.0.1 + resolution: "argparse@npm:2.0.1" + checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e + languageName: node + linkType: hard + +"argparse@npm:~1.0.9": + version: 1.0.10 + resolution: "argparse@npm:1.0.10" + dependencies: + sprintf-js: "npm:~1.0.2" + checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de + languageName: node + linkType: hard + +"array-union@npm:^2.1.0": + version: 2.1.0 + resolution: "array-union@npm:2.1.0" + checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 + languageName: node + linkType: hard + +"assertion-error@npm:^1.1.0": + version: 1.1.0 + resolution: "assertion-error@npm:1.1.0" + checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b + languageName: node + linkType: hard + +"atomic-sleep@npm:^1.0.0": + version: 1.0.0 + resolution: "atomic-sleep@npm:1.0.0" + checksum: 10c0/e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a + languageName: node + linkType: hard + +"avvio@npm:^8.2.1": + version: 8.2.1 + resolution: "avvio@npm:8.2.1" + dependencies: + archy: "npm:^1.0.0" + debug: "npm:^4.0.0" + fastq: "npm:^1.6.1" + checksum: 10c0/a763b7cb0d9bdd4c111c28b46cb83ee9d4bf79e5f99c5cd8b8f2727cf6d0cd5ec3e6df90dbda74a56cdec72fe928dd2e13e75e67270a88b92401f68ef756b3ce + languageName: node + linkType: hard + +"balanced-match@npm:^1.0.0": + version: 1.0.2 + resolution: "balanced-match@npm:1.0.2" + checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee + languageName: node + linkType: hard + +"base64-js@npm:^1.3.1": + version: 1.5.1 + resolution: "base64-js@npm:1.5.1" + checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf + languageName: node + linkType: hard + +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: "npm:1.0.0" + checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba + languageName: node + linkType: hard + +"bl@npm:^4.0.3": + version: 4.1.0 + resolution: "bl@npm:4.1.0" + dependencies: + buffer: "npm:^5.5.0" + inherits: "npm:^2.0.4" + readable-stream: "npm:^3.4.0" + checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f + languageName: node + linkType: hard + +"bluebird@npm:^3.7.1, bluebird@npm:^3.7.2": + version: 3.7.2 + resolution: "bluebird@npm:3.7.2" + checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 + languageName: node + linkType: hard + +"boolean@npm:^3.1.4": + version: 3.2.0 + resolution: "boolean@npm:3.2.0" + checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf + languageName: node + linkType: hard + +"brace-expansion@npm:^1.1.7": + version: 1.1.11 + resolution: "brace-expansion@npm:1.1.11" + dependencies: + balanced-match: "npm:^1.0.0" + concat-map: "npm:0.0.1" + checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 + languageName: node + linkType: hard + +"brace-expansion@npm:^2.0.1": + version: 2.0.1 + resolution: "brace-expansion@npm:2.0.1" + dependencies: + balanced-match: "npm:^1.0.0" + checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f + languageName: node + linkType: hard + +"braces@npm:^3.0.2": + version: 3.0.2 + resolution: "braces@npm:3.0.2" + dependencies: + fill-range: "npm:^7.0.1" + checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 + languageName: node + linkType: hard + +"buffer-from@npm:^1.0.0": + version: 1.1.2 + resolution: "buffer-from@npm:1.1.2" + checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 + languageName: node + linkType: hard + +"buffer-writer@npm:2.0.0": + version: 2.0.0 + resolution: "buffer-writer@npm:2.0.0" + checksum: 10c0/c91b2ab09a200cf0862237e5a4dbd5077003b42d26d4f0c596ec7149f82ef83e0751d670bcdf379ed988d1a08c0fac7759a8cb928cf1a4710a1988a7618b1190 + languageName: node + linkType: hard + +"buffer@npm:^5.5.0": + version: 5.7.1 + resolution: "buffer@npm:5.7.1" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.1.13" + checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e + languageName: node + linkType: hard + +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" + dependencies: + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"bufferput@npm:^0.1.3": + version: 0.1.3 + resolution: "bufferput@npm:0.1.3" + checksum: 10c0/6b36a682e8969007f42cf6e32fa70ec34157c583151a86ffe0c8c8e37cc8dba7416ea856890de88c9161f3e3d882ede7a04fb991db8ca985352da2b7f8001ea3 + languageName: node + linkType: hard + +"cac@npm:^6.7.14": + version: 6.7.14 + resolution: "cac@npm:6.7.14" + checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 + languageName: node + linkType: hard + +"cacache@npm:^15.2.0": + version: 15.3.0 + resolution: "cacache@npm:15.3.0" + dependencies: + "@npmcli/fs": "npm:^1.0.0" + "@npmcli/move-file": "npm:^1.0.1" + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + glob: "npm:^7.1.4" + infer-owner: "npm:^1.0.4" + lru-cache: "npm:^6.0.0" + minipass: "npm:^3.1.1" + minipass-collect: "npm:^1.0.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.2" + mkdirp: "npm:^1.0.3" + p-map: "npm:^4.0.0" + promise-inflight: "npm:^1.0.1" + rimraf: "npm:^3.0.2" + ssri: "npm:^8.0.1" + tar: "npm:^6.0.2" + unique-filename: "npm:^1.1.1" + checksum: 10c0/886fcc0acc4f6fd5cd142d373d8276267bc6d655d7c4ce60726fbbec10854de3395ee19bbf9e7e73308cdca9fdad0ad55060ff3bd16c6d4165c5b8d21515e1d8 + languageName: node + linkType: hard + +"cacache@npm:^18.0.0": + version: 18.0.2 + resolution: "cacache@npm:18.0.2" + dependencies: + "@npmcli/fs": "npm:^3.1.0" + fs-minipass: "npm:^3.0.0" + glob: "npm:^10.2.2" + lru-cache: "npm:^10.0.1" + minipass: "npm:^7.0.3" + minipass-collect: "npm:^2.0.1" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + p-map: "npm:^4.0.0" + ssri: "npm:^10.0.0" + tar: "npm:^6.1.11" + unique-filename: "npm:^3.0.0" + checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc + languageName: node + linkType: hard + +"callsites@npm:^3.0.0": + version: 3.1.0 + resolution: "callsites@npm:3.1.0" + checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 + languageName: node + linkType: hard + +"catharsis@npm:^0.9.0": + version: 0.9.0 + resolution: "catharsis@npm:0.9.0" + dependencies: + lodash: "npm:^4.17.15" + checksum: 10c0/9ac03ca48154ac63cfdb6c1645481d9d04f3c3e0dea131debf3116a0c12aa47e8864be7dcf770932c46d75bdd844a99f0c116c234e57232ad1f427751498e7ed + languageName: node + linkType: hard + +"chai@npm:^4.3.10": + version: 4.4.1 + resolution: "chai@npm:4.4.1" + dependencies: + assertion-error: "npm:^1.1.0" + check-error: "npm:^1.0.3" + deep-eql: "npm:^4.1.3" + get-func-name: "npm:^2.0.2" + loupe: "npm:^2.3.6" + pathval: "npm:^1.1.1" + type-detect: "npm:^4.0.8" + checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd + languageName: node + linkType: hard + +"chalk@npm:^1.1.3": + version: 1.1.3 + resolution: "chalk@npm:1.1.3" + dependencies: + ansi-styles: "npm:^2.2.1" + escape-string-regexp: "npm:^1.0.2" + has-ansi: "npm:^2.0.0" + strip-ansi: "npm:^3.0.0" + supports-color: "npm:^2.0.0" + checksum: 10c0/28c3e399ec286bb3a7111fd4225ebedb0d7b813aef38a37bca7c498d032459c265ef43404201d5fbb8d888d29090899c95335b4c0cda13e8b126ff15c541cef8 + languageName: node + linkType: hard + +"chalk@npm:^4.0.0": + version: 4.1.2 + resolution: "chalk@npm:4.1.2" + dependencies: + ansi-styles: "npm:^4.1.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 + languageName: node + linkType: hard + +"check-error@npm:^1.0.3": + version: 1.0.3 + resolution: "check-error@npm:1.0.3" + dependencies: + get-func-name: "npm:^2.0.2" + checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 + languageName: node + linkType: hard + +"chownr@npm:^1.1.1": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db + languageName: node + linkType: hard + +"chownr@npm:^2.0.0": + version: 2.0.0 + resolution: "chownr@npm:2.0.0" + checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 + languageName: node + linkType: hard + +"clean-stack@npm:^2.0.0": + version: 2.2.0 + resolution: "clean-stack@npm:2.2.0" + checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 + languageName: node + linkType: hard + +"color-convert@npm:^2.0.1": + version: 2.0.1 + resolution: "color-convert@npm:2.0.1" + dependencies: + color-name: "npm:~1.1.4" + checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 + languageName: node + linkType: hard + +"color-name@npm:~1.1.4": + version: 1.1.4 + resolution: "color-name@npm:1.1.4" + checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 + languageName: node + linkType: hard + +"color-support@npm:^1.1.3": + version: 1.1.3 + resolution: "color-support@npm:1.1.3" + bin: + color-support: bin.js + checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 + languageName: node + linkType: hard + +"colorette@npm:^2.0.7": + version: 2.0.20 + resolution: "colorette@npm:2.0.20" + checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 + languageName: node + linkType: hard + +"colors@npm:~1.2.1": + version: 1.2.5 + resolution: "colors@npm:1.2.5" + checksum: 10c0/f4acebf2d2da9b4f8afb770361d14c01034bcb43add4cae493e7d186dcd7e0c5e2b440520fbfdf636e872606a0eb86b1f69fcf2f087df2876a4e222612539ee0 + languageName: node + linkType: hard + +"common-tags@npm:^1.4.0": + version: 1.8.2 + resolution: "common-tags@npm:1.8.2" + checksum: 10c0/23efe47ff0a1a7c91489271b3a1e1d2a171c12ec7f9b35b29b2fce51270124aff0ec890087e2bc2182c1cb746e232ab7561aaafe05f1e7452aea733d2bfe3f63 + languageName: node + linkType: hard + +"concat-map@npm:0.0.1": + version: 0.0.1 + resolution: "concat-map@npm:0.0.1" + checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f + languageName: node + linkType: hard + +"concat-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "concat-stream@npm:2.0.0" + dependencies: + buffer-from: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.0.2" + typedarray: "npm:^0.0.6" + checksum: 10c0/29565dd9198fe1d8cf57f6cc71527dbc6ad67e12e4ac9401feb389c53042b2dceedf47034cbe702dfc4fd8df3ae7e6bfeeebe732cc4fa2674e484c13f04c219a + languageName: node + linkType: hard + +"console-control-strings@npm:^1.1.0": + version: 1.1.0 + resolution: "console-control-strings@npm:1.1.0" + checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 + languageName: node + linkType: hard + +"convert-source-map@npm:^2.0.0": + version: 2.0.0 + resolution: "convert-source-map@npm:2.0.0" + checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b + languageName: node + linkType: hard + +"cookie@npm:^0.5.0": + version: 0.5.0 + resolution: "cookie@npm:0.5.0" + checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d + languageName: node + linkType: hard + +"create-require@npm:^1.1.0": + version: 1.1.1 + resolution: "create-require@npm:1.1.1" + checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 + languageName: node + linkType: hard + +"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-spawn@npm:7.0.3" + dependencies: + path-key: "npm:^3.1.0" + shebang-command: "npm:^2.0.0" + which: "npm:^2.0.1" + checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + languageName: node + linkType: hard + +"dateformat@npm:^4.6.3": + version: 4.6.3 + resolution: "dateformat@npm:4.6.3" + checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 + languageName: node + linkType: hard + +"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": + version: 4.3.4 + resolution: "debug@npm:4.3.4" + dependencies: + ms: "npm:2.1.2" + peerDependenciesMeta: + supports-color: + optional: true + checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 + languageName: node + linkType: hard + +"decompress-response@npm:^6.0.0": + version: 6.0.0 + resolution: "decompress-response@npm:6.0.0" + dependencies: + mimic-response: "npm:^3.1.0" + checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e + languageName: node + linkType: hard + +"deep-eql@npm:^4.1.3": + version: 4.1.3 + resolution: "deep-eql@npm:4.1.3" + dependencies: + type-detect: "npm:^4.0.0" + checksum: 10c0/ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd + languageName: node + linkType: hard + +"deep-extend@npm:^0.6.0": + version: 0.6.0 + resolution: "deep-extend@npm:0.6.0" + checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 + languageName: node + linkType: hard + +"deep-is@npm:^0.1.3": + version: 0.1.4 + resolution: "deep-is@npm:0.1.4" + checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c + languageName: node + linkType: hard + +"delegates@npm:^1.0.0": + version: 1.0.0 + resolution: "delegates@npm:1.0.0" + checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 + languageName: node + linkType: hard + +"depd@npm:2.0.0": + version: 2.0.0 + resolution: "depd@npm:2.0.0" + checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c + languageName: node + linkType: hard + +"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2": + version: 2.0.2 + resolution: "detect-libc@npm:2.0.2" + checksum: 10c0/a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 + languageName: node + linkType: hard + +"diff-sequences@npm:^29.6.3": + version: 29.6.3 + resolution: "diff-sequences@npm:29.6.3" + checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 + languageName: node + linkType: hard + +"diff@npm:^4.0.1": + version: 4.0.2 + resolution: "diff@npm:4.0.2" + checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 + languageName: node + linkType: hard + +"dir-glob@npm:^3.0.1": + version: 3.0.1 + resolution: "dir-glob@npm:3.0.1" + dependencies: + path-type: "npm:^4.0.0" + checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c + languageName: node + linkType: hard + +"dlv@npm:^1.1.0": + version: 1.1.3 + resolution: "dlv@npm:1.1.3" + checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 + languageName: node + linkType: hard + +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: "npm:^2.0.2" + checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 + languageName: node + linkType: hard + +"eastasianwidth@npm:^0.2.0": + version: 0.2.0 + resolution: "eastasianwidth@npm:0.2.0" + checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 + languageName: node + linkType: hard + +"emittery@npm:^0.13.0": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 + languageName: node + linkType: hard + +"emoji-regex@npm:^8.0.0": + version: 8.0.0 + resolution: "emoji-regex@npm:8.0.0" + checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 + languageName: node + linkType: hard + +"emoji-regex@npm:^9.2.2": + version: 9.2.2 + resolution: "emoji-regex@npm:9.2.2" + checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 + languageName: node + linkType: hard + +"encoding@npm:^0.1.12, encoding@npm:^0.1.13": + version: 0.1.13 + resolution: "encoding@npm:0.1.13" + dependencies: + iconv-lite: "npm:^0.6.2" + checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 + languageName: node + linkType: hard + +"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": + version: 1.4.4 + resolution: "end-of-stream@npm:1.4.4" + dependencies: + once: "npm:^1.4.0" + checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 + languageName: node + linkType: hard + +"entities@npm:~2.1.0": + version: 2.1.0 + resolution: "entities@npm:2.1.0" + checksum: 10c0/dd96ed95f7e017b7fbbcdd39bd6dc3dea6638f747c00610b53f23ea461ac409af87670f313805d85854bfce04f96e17d83575f75b3b2920365d78678ccd2a405 + languageName: node + linkType: hard + +"env-paths@npm:^2.2.0": + version: 2.2.1 + resolution: "env-paths@npm:2.2.1" + checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 + languageName: node + linkType: hard + +"err-code@npm:^2.0.2": + version: 2.0.3 + resolution: "err-code@npm:2.0.3" + checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 + languageName: node + linkType: hard + +"es6-error@npm:^4.1.1": + version: 4.1.1 + resolution: "es6-error@npm:4.1.1" + checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef + languageName: node + linkType: hard + +"esbuild@npm:^0.19.3, esbuild@npm:~0.19.10": + version: 0.19.12 + resolution: "esbuild@npm:0.19.12" + dependencies: + "@esbuild/aix-ppc64": "npm:0.19.12" + "@esbuild/android-arm": "npm:0.19.12" + "@esbuild/android-arm64": "npm:0.19.12" + "@esbuild/android-x64": "npm:0.19.12" + "@esbuild/darwin-arm64": "npm:0.19.12" + "@esbuild/darwin-x64": "npm:0.19.12" + "@esbuild/freebsd-arm64": "npm:0.19.12" + "@esbuild/freebsd-x64": "npm:0.19.12" + "@esbuild/linux-arm": "npm:0.19.12" + "@esbuild/linux-arm64": "npm:0.19.12" + "@esbuild/linux-ia32": "npm:0.19.12" + "@esbuild/linux-loong64": "npm:0.19.12" + "@esbuild/linux-mips64el": "npm:0.19.12" + "@esbuild/linux-ppc64": "npm:0.19.12" + "@esbuild/linux-riscv64": "npm:0.19.12" + "@esbuild/linux-s390x": "npm:0.19.12" + "@esbuild/linux-x64": "npm:0.19.12" + "@esbuild/netbsd-x64": "npm:0.19.12" + "@esbuild/openbsd-x64": "npm:0.19.12" + "@esbuild/sunos-x64": "npm:0.19.12" + "@esbuild/win32-arm64": "npm:0.19.12" + "@esbuild/win32-ia32": "npm:0.19.12" + "@esbuild/win32-x64": "npm:0.19.12" + dependenciesMeta: + "@esbuild/aix-ppc64": + optional: true + "@esbuild/android-arm": + optional: true + "@esbuild/android-arm64": + optional: true + "@esbuild/android-x64": + optional: true + "@esbuild/darwin-arm64": + optional: true + "@esbuild/darwin-x64": + optional: true + "@esbuild/freebsd-arm64": + optional: true + "@esbuild/freebsd-x64": + optional: true + "@esbuild/linux-arm": + optional: true + "@esbuild/linux-arm64": + optional: true + "@esbuild/linux-ia32": + optional: true + "@esbuild/linux-loong64": + optional: true + "@esbuild/linux-mips64el": + optional: true + "@esbuild/linux-ppc64": + optional: true + "@esbuild/linux-riscv64": + optional: true + "@esbuild/linux-s390x": + optional: true + "@esbuild/linux-x64": + optional: true + "@esbuild/netbsd-x64": + optional: true + "@esbuild/openbsd-x64": + optional: true + "@esbuild/sunos-x64": + optional: true + "@esbuild/win32-arm64": + optional: true + "@esbuild/win32-ia32": + optional: true + "@esbuild/win32-x64": + optional: true + bin: + esbuild: bin/esbuild + checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d + languageName: node + linkType: hard + +"escape-string-regexp@npm:^1.0.2": + version: 1.0.5 + resolution: "escape-string-regexp@npm:1.0.5" + checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^2.0.0": + version: 2.0.0 + resolution: "escape-string-regexp@npm:2.0.0" + checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 + languageName: node + linkType: hard + +"escape-string-regexp@npm:^4.0.0": + version: 4.0.0 + resolution: "escape-string-regexp@npm:4.0.0" + checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 + languageName: node + linkType: hard + +"eslint-config-prettier@npm:^9.1.0": + version: 9.1.0 + resolution: "eslint-config-prettier@npm:9.1.0" + peerDependencies: + eslint: ">=7.0.0" + bin: + eslint-config-prettier: bin/cli.js + checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d + languageName: node + linkType: hard + +"eslint-plugin-prettier@npm:5.1.2": + version: 5.1.2 + resolution: "eslint-plugin-prettier@npm:5.1.2" + dependencies: + prettier-linter-helpers: "npm:^1.0.0" + synckit: "npm:^0.8.6" + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + checksum: 10c0/e16c9fbb0e9f8da45bdbb1cf6e4a190266235c3686deede3815196d2604bbe2bac531d1fc9adc3c0b9a03d88b55bd3bfaa4f9d85e34e73dc040d545a1931fab9 + languageName: node + linkType: hard + +"eslint-scope@npm:^7.1.1, eslint-scope@npm:^7.2.2": + version: 7.2.2 + resolution: "eslint-scope@npm:7.2.2" + dependencies: + esrecurse: "npm:^4.3.0" + estraverse: "npm:^5.2.0" + checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 + languageName: node + linkType: hard + +"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": + version: 3.4.3 + resolution: "eslint-visitor-keys@npm:3.4.3" + checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 + languageName: node + linkType: hard + +"eslint@npm:^8.56.0, eslint@npm:^8.7.0": + version: 8.56.0 + resolution: "eslint@npm:8.56.0" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.56.0" + "@humanwhocodes/config-array": "npm:^0.11.13" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb + languageName: node + linkType: hard + +"espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": + version: 9.6.1 + resolution: "espree@npm:9.6.1" + dependencies: + acorn: "npm:^8.9.0" + acorn-jsx: "npm:^5.3.2" + eslint-visitor-keys: "npm:^3.4.1" + checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 + languageName: node + linkType: hard + +"esquery@npm:^1.4.0, esquery@npm:^1.4.2": + version: 1.5.0 + resolution: "esquery@npm:1.5.0" + dependencies: + estraverse: "npm:^5.1.0" + checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 + languageName: node + linkType: hard + +"esrecurse@npm:^4.3.0": + version: 4.3.0 + resolution: "esrecurse@npm:4.3.0" + dependencies: + estraverse: "npm:^5.2.0" + checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 + languageName: node + linkType: hard + +"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": + version: 5.3.0 + resolution: "estraverse@npm:5.3.0" + checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 + languageName: node + linkType: hard + +"estree-walker@npm:^3.0.3": + version: 3.0.3 + resolution: "estree-walker@npm:3.0.3" + dependencies: + "@types/estree": "npm:^1.0.0" + checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d + languageName: node + linkType: hard + +"esutils@npm:^2.0.2": + version: 2.0.3 + resolution: "esutils@npm:2.0.3" + checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 + languageName: node + linkType: hard + +"event-target-shim@npm:^5.0.0": + version: 5.0.1 + resolution: "event-target-shim@npm:5.0.1" + checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b + languageName: node + linkType: hard + +"events@npm:^3.3.0": + version: 3.3.0 + resolution: "events@npm:3.3.0" + checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 + languageName: node + linkType: hard + +"execa@npm:^8.0.1": + version: 8.0.1 + resolution: "execa@npm:8.0.1" + dependencies: + cross-spawn: "npm:^7.0.3" + get-stream: "npm:^8.0.1" + human-signals: "npm:^5.0.0" + is-stream: "npm:^3.0.0" + merge-stream: "npm:^2.0.0" + npm-run-path: "npm:^5.1.0" + onetime: "npm:^6.0.0" + signal-exit: "npm:^4.1.0" + strip-final-newline: "npm:^3.0.0" + checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af + languageName: node + linkType: hard + +"expand-template@npm:^2.0.3": + version: 2.0.3 + resolution: "expand-template@npm:2.0.3" + checksum: 10c0/1c9e7afe9acadf9d373301d27f6a47b34e89b3391b1ef38b7471d381812537ef2457e620ae7f819d2642ce9c43b189b3583813ec395e2938319abe356a9b2f51 + languageName: node + linkType: hard + +"exponential-backoff@npm:^3.1.1": + version: 3.1.1 + resolution: "exponential-backoff@npm:3.1.1" + checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + languageName: node + linkType: hard + +"fast-content-type-parse@npm:^1.1.0": + version: 1.1.0 + resolution: "fast-content-type-parse@npm:1.1.0" + checksum: 10c0/882bf990fa5d64be1825ce183818db43900ece0d7ef184cb9409bae8ed1001acbe536a657b1496382cb3e308e71ab39cc399bbdae70cba1745eecaeca4e55384 + languageName: node + linkType: hard + +"fast-copy@npm:^3.0.0": + version: 3.0.1 + resolution: "fast-copy@npm:3.0.1" + checksum: 10c0/a8310dbcc4c94ed001dc3e0bbc3c3f0491bb04e6c17163abe441a54997ba06cdf1eb532c2f05e54777c6f072c84548c23ef0ecd54665cd611be1d42f37eca258 + languageName: node + linkType: hard + +"fast-decode-uri-component@npm:^1.0.1": + version: 1.0.1 + resolution: "fast-decode-uri-component@npm:1.0.1" + checksum: 10c0/039d50c2e99d64f999c3f2126c23fbf75a04a4117e218a149ca0b1d2aeb8c834b7b19d643b9d35d4eabce357189a6a94085f78cf48869e6e26cc59b036284bc3 + languageName: node + linkType: hard + +"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": + version: 3.1.3 + resolution: "fast-deep-equal@npm:3.1.3" + checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 + languageName: node + linkType: hard + +"fast-diff@npm:^1.1.2": + version: 1.3.0 + resolution: "fast-diff@npm:1.3.0" + checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 + languageName: node + linkType: hard + +"fast-glob@npm:^3.2.9": + version: 3.3.2 + resolution: "fast-glob@npm:3.3.2" + dependencies: + "@nodelib/fs.stat": "npm:^2.0.2" + "@nodelib/fs.walk": "npm:^1.2.3" + glob-parent: "npm:^5.1.2" + merge2: "npm:^1.3.0" + micromatch: "npm:^4.0.4" + checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + languageName: node + linkType: hard + +"fast-json-stable-stringify@npm:^2.0.0": + version: 2.1.0 + resolution: "fast-json-stable-stringify@npm:2.1.0" + checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b + languageName: node + linkType: hard + +"fast-json-stringify@npm:^5.7.0, fast-json-stringify@npm:^5.8.0": + version: 5.10.0 + resolution: "fast-json-stringify@npm:5.10.0" + dependencies: + "@fastify/deepmerge": "npm:^1.0.0" + ajv: "npm:^8.10.0" + ajv-formats: "npm:^2.1.1" + fast-deep-equal: "npm:^3.1.3" + fast-uri: "npm:^2.1.0" + json-schema-ref-resolver: "npm:^1.0.1" + rfdc: "npm:^1.2.0" + checksum: 10c0/90a20ef7a54f962d76ae8039c6987bd1e8d8130415f12c8a958265cfd973a2cd1f6f71bbb2e5bd8ea88fab50e9bf83c8f7b00173be38e79fe17412733c0d2ade + languageName: node + linkType: hard + +"fast-levenshtein@npm:^2.0.6": + version: 2.0.6 + resolution: "fast-levenshtein@npm:2.0.6" + checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 + languageName: node + linkType: hard + +"fast-printf@npm:^1.6.9": + version: 1.6.9 + resolution: "fast-printf@npm:1.6.9" + dependencies: + boolean: "npm:^3.1.4" + checksum: 10c0/0196827f4c125e147e0dab1201355146f04159ea6c6f19c6f8e44476cf1d88e58a3b3aa83ec33e5b2315a53e2cb7b2e518ce28bdb7b0f8d0d01774286e670f4f + languageName: node + linkType: hard + +"fast-querystring@npm:^1.0.0": + version: 1.1.2 + resolution: "fast-querystring@npm:1.1.2" + dependencies: + fast-decode-uri-component: "npm:^1.0.1" + checksum: 10c0/e8223273a9b199722f760f5a047a77ad049a14bd444b821502cb8218f5925e3a5fffb56b64389bca73ab2ac6f1aa7aebbe4e203e5f6e53ff5978de97c0fde4e3 + languageName: node + linkType: hard + +"fast-redact@npm:^3.1.1": + version: 3.3.0 + resolution: "fast-redact@npm:3.3.0" + checksum: 10c0/d81562510681e9ba6404ee5d3838ff5257a44d2f80937f5024c099049ff805437d0fae0124458a7e87535cc9dcf4de305bb075cab8f08d6c720bbc3447861b4e + languageName: node + linkType: hard + +"fast-safe-stringify@npm:^2.1.1": + version: 2.1.1 + resolution: "fast-safe-stringify@npm:2.1.1" + checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d + languageName: node + linkType: hard + +"fast-uri@npm:^2.0.0, fast-uri@npm:^2.1.0": + version: 2.3.0 + resolution: "fast-uri@npm:2.3.0" + checksum: 10c0/72844622c8b9d92dbb783723628d1069c999b31bfaa74af9e9afae0e0c22faf18c988a0ce55e775dce4c404f4cca75fa43e1f0ab07075342cff99796f4920945 + languageName: node + linkType: hard + +"fastify-plugin@npm:^4.0.0": + version: 4.5.1 + resolution: "fastify-plugin@npm:4.5.1" + checksum: 10c0/f58f79cd9d3c88fd7f79a3270276c6339fc57bbe72ef14d20b73779193c404e317ac18e8eae2c5071b3909ebee45d7eb6871da4e65464ac64ed0d9746b4e9b9f + languageName: node + linkType: hard + +"fastify@npm:^4.25.2": + version: 4.26.0 + resolution: "fastify@npm:4.26.0" + dependencies: + "@fastify/ajv-compiler": "npm:^3.5.0" + "@fastify/error": "npm:^3.4.0" + "@fastify/fast-json-stringify-compiler": "npm:^4.3.0" + abstract-logging: "npm:^2.0.1" + avvio: "npm:^8.2.1" + fast-content-type-parse: "npm:^1.1.0" + fast-json-stringify: "npm:^5.8.0" + find-my-way: "npm:^8.0.0" + light-my-request: "npm:^5.11.0" + pino: "npm:^8.17.0" + process-warning: "npm:^3.0.0" + proxy-addr: "npm:^2.0.7" + rfdc: "npm:^1.3.0" + secure-json-parse: "npm:^2.7.0" + semver: "npm:^7.5.4" + toad-cache: "npm:^3.3.0" + checksum: 10c0/6fa63caef229b3773c0702b5832e4df4a69aa54b16afb896794987bcdb68f2f874c7724c438a181a3dace58319ca5229669292e1ad3217a623b4d70a56970ad9 + languageName: node + linkType: hard + +"fastq@npm:^1.6.0, fastq@npm:^1.6.1": + version: 1.17.0 + resolution: "fastq@npm:1.17.0" + dependencies: + reusify: "npm:^1.0.4" + checksum: 10c0/0a90ed46ccd6a858a32e297bd35f4249ba6544899b905d08f33a6ba36459041639161fa15bc85a38afa98dd44fb2fa2969419a879721a1395d3e24668a7732c7 + languageName: node + linkType: hard + +"file-entry-cache@npm:^6.0.1": + version: 6.0.1 + resolution: "file-entry-cache@npm:6.0.1" + dependencies: + flat-cache: "npm:^3.0.4" + checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd + languageName: node + linkType: hard + +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 + languageName: node + linkType: hard + +"fill-range@npm:^7.0.1": + version: 7.0.1 + resolution: "fill-range@npm:7.0.1" + dependencies: + to-regex-range: "npm:^5.0.1" + checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f + languageName: node + linkType: hard + +"find-my-way@npm:^8.0.0": + version: 8.1.0 + resolution: "find-my-way@npm:8.1.0" + dependencies: + fast-deep-equal: "npm:^3.1.3" + fast-querystring: "npm:^1.0.0" + safe-regex2: "npm:^2.0.0" + checksum: 10c0/f0f6a01953e4bc1789fdae1e861b0a0b1cb930f0c9c8c03e21fc27664a0cb50c22a56218e7b3738791aa6a01a452f73ee5a02063837fcab96988c3c63dcb8e43 + languageName: node + linkType: hard + +"find-up@npm:^5.0.0": + version: 5.0.0 + resolution: "find-up@npm:5.0.0" + dependencies: + locate-path: "npm:^6.0.0" + path-exists: "npm:^4.0.0" + checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a + languageName: node + linkType: hard + +"flat-cache@npm:^3.0.4": + version: 3.2.0 + resolution: "flat-cache@npm:3.2.0" + dependencies: + flatted: "npm:^3.2.9" + keyv: "npm:^4.5.3" + rimraf: "npm:^3.0.2" + checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 + languageName: node + linkType: hard + +"flatted@npm:^3.2.9": + version: 3.2.9 + resolution: "flatted@npm:3.2.9" + checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 + languageName: node + linkType: hard + +"foreground-child@npm:^3.1.0": + version: 3.1.1 + resolution: "foreground-child@npm:3.1.1" + dependencies: + cross-spawn: "npm:^7.0.0" + signal-exit: "npm:^4.0.1" + checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 + languageName: node + linkType: hard + +"forwarded@npm:0.2.0, forwarded@npm:^0.2.0": + version: 0.2.0 + resolution: "forwarded@npm:0.2.0" + checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 + languageName: node + linkType: hard + +"fs-constants@npm:^1.0.0": + version: 1.0.0 + resolution: "fs-constants@npm:1.0.0" + checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0": + version: 2.1.0 + resolution: "fs-minipass@npm:2.1.0" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 + languageName: node + linkType: hard + +"fs-minipass@npm:^3.0.0": + version: 3.0.3 + resolution: "fs-minipass@npm:3.0.3" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 + languageName: node + linkType: hard + +"fs.realpath@npm:^1.0.0": + version: 1.0.0 + resolution: "fs.realpath@npm:1.0.0" + checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 + languageName: node + linkType: hard + +"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": + version: 2.3.3 + resolution: "fsevents@npm:2.3.3" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 + conditions: os=darwin + languageName: node + linkType: hard + +"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": + version: 2.3.3 + resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" + dependencies: + node-gyp: "npm:latest" + conditions: os=darwin + languageName: node + linkType: hard + +"gauge@npm:^4.0.3": + version: 4.0.4 + resolution: "gauge@npm:4.0.4" + dependencies: + aproba: "npm:^1.0.3 || ^2.0.0" + color-support: "npm:^1.1.3" + console-control-strings: "npm:^1.1.0" + has-unicode: "npm:^2.0.1" + signal-exit: "npm:^3.0.7" + string-width: "npm:^4.2.3" + strip-ansi: "npm:^6.0.1" + wide-align: "npm:^1.1.5" + checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c + languageName: node + linkType: hard + +"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": + version: 2.0.2 + resolution: "get-func-name@npm:2.0.2" + checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df + languageName: node + linkType: hard + +"get-stack-trace@npm:^2.1.1": + version: 2.1.1 + resolution: "get-stack-trace@npm:2.1.1" + dependencies: + bluebird: "npm:^3.7.1" + source-map: "npm:^0.8.0-beta.0" + checksum: 10c0/09ae86164df00fa29b698210deb1986b712b51e3965e9b0f28476f751bab0bfffe56dfe9765dcb7b37f4c6cdc7bf89e5fa531fe6c74eab51ed032137b57b4a36 + languageName: node + linkType: hard + +"get-stack-trace@npm:^3.1.1": + version: 3.1.1 + resolution: "get-stack-trace@npm:3.1.1" + dependencies: + stacktrace-parser: "npm:^0.1.10" + checksum: 10c0/abec0b3c38e4d47c630ecbd1130fd50d29e42c6d0e57e8ca2578d24b28c89073f50f548c758c69e17faa1bf212644efd5079889fddfb41868d4795dd3714b3e1 + languageName: node + linkType: hard + +"get-stream@npm:^8.0.1": + version: 8.0.1 + resolution: "get-stream@npm:8.0.1" + checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 + languageName: node + linkType: hard + +"get-tsconfig@npm:^4.7.2": + version: 4.7.2 + resolution: "get-tsconfig@npm:4.7.2" + dependencies: + resolve-pkg-maps: "npm:^1.0.0" + checksum: 10c0/169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 + languageName: node + linkType: hard + +"github-from-package@npm:0.0.0": + version: 0.0.0 + resolution: "github-from-package@npm:0.0.0" + checksum: 10c0/737ee3f52d0a27e26332cde85b533c21fcdc0b09fb716c3f8e522cfaa9c600d4a631dec9fcde179ec9d47cca89017b7848ed4d6ae6b6b78f936c06825b1fcc12 + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.2": + version: 5.1.2 + resolution: "glob-parent@npm:5.1.2" + dependencies: + is-glob: "npm:^4.0.1" + checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee + languageName: node + linkType: hard + +"glob-parent@npm:^6.0.2": + version: 6.0.2 + resolution: "glob-parent@npm:6.0.2" + dependencies: + is-glob: "npm:^4.0.3" + checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 + languageName: node + linkType: hard + +"glob@npm:^10.2.2, glob@npm:^10.3.10": + version: 10.3.10 + resolution: "glob@npm:10.3.10" + dependencies: + foreground-child: "npm:^3.1.0" + jackspeak: "npm:^2.3.5" + minimatch: "npm:^9.0.1" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + path-scurry: "npm:^1.10.1" + bin: + glob: dist/esm/bin.mjs + checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d + languageName: node + linkType: hard + +"glob@npm:^7.1.3, glob@npm:^7.1.4": + version: 7.2.3 + resolution: "glob@npm:7.2.3" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^3.1.1" + once: "npm:^1.3.0" + path-is-absolute: "npm:^1.0.0" + checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe + languageName: node + linkType: hard + +"glob@npm:^8.0.3": + version: 8.1.0 + resolution: "glob@npm:8.1.0" + dependencies: + fs.realpath: "npm:^1.0.0" + inflight: "npm:^1.0.4" + inherits: "npm:2" + minimatch: "npm:^5.0.1" + once: "npm:^1.3.0" + checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f + languageName: node + linkType: hard + +"globals@npm:^13.19.0": + version: 13.24.0 + resolution: "globals@npm:13.24.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd + languageName: node + linkType: hard + +"globby@npm:^11.1.0": + version: 11.1.0 + resolution: "globby@npm:11.1.0" + dependencies: + array-union: "npm:^2.1.0" + dir-glob: "npm:^3.0.1" + fast-glob: "npm:^3.2.9" + ignore: "npm:^5.2.0" + merge2: "npm:^1.4.1" + slash: "npm:^3.0.0" + checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 + languageName: node + linkType: hard + +"graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.6": + version: 4.2.11 + resolution: "graceful-fs@npm:4.2.11" + checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 + languageName: node + linkType: hard + +"graphemer@npm:^1.4.0": + version: 1.4.0 + resolution: "graphemer@npm:1.4.0" + checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 + languageName: node + linkType: hard + +"has-ansi@npm:^2.0.0": + version: 2.0.0 + resolution: "has-ansi@npm:2.0.0" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f54e4887b9f8f3c4bfefd649c48825b3c093987c92c27880ee9898539e6f01aed261e82e73153c3f920fde0db5bf6ebd58deb498ed1debabcb4bc40113ccdf05 + languageName: node + linkType: hard + +"has-flag@npm:^4.0.0": + version: 4.0.0 + resolution: "has-flag@npm:4.0.0" + checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 + languageName: node + linkType: hard + +"has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c + languageName: node + linkType: hard + +"help-me@npm:^5.0.0": + version: 5.0.0 + resolution: "help-me@npm:5.0.0" + checksum: 10c0/054c0e2e9ae2231c85ab5e04f75109b9d068ffcc54e58fb22079822a5ace8ff3d02c66fd45379c902ad5ab825e5d2e1451fcc2f7eab1eb49e7d488133ba4cacb + languageName: node + linkType: hard + +"html-escaper@npm:^2.0.0": + version: 2.0.2 + resolution: "html-escaper@npm:2.0.2" + checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 + languageName: node + linkType: hard + +"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": + version: 4.1.1 + resolution: "http-cache-semantics@npm:4.1.1" + checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc + languageName: node + linkType: hard + +"http-errors@npm:^2.0.0": + version: 2.0.0 + resolution: "http-errors@npm:2.0.0" + dependencies: + depd: "npm:2.0.0" + inherits: "npm:2.0.4" + setprototypeof: "npm:1.2.0" + statuses: "npm:2.0.1" + toidentifier: "npm:1.0.1" + checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 + languageName: node + linkType: hard + +"http-proxy-agent@npm:^4.0.1": + version: 4.0.1 + resolution: "http-proxy-agent@npm:4.0.1" + dependencies: + "@tootallnate/once": "npm:1" + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd + languageName: node + linkType: hard + +"http-proxy-agent@npm:^7.0.0": + version: 7.0.0 + resolution: "http-proxy-agent@npm:7.0.0" + dependencies: + agent-base: "npm:^7.1.0" + debug: "npm:^4.3.4" + checksum: 10c0/a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^5.0.0": + version: 5.0.1 + resolution: "https-proxy-agent@npm:5.0.1" + dependencies: + agent-base: "npm:6" + debug: "npm:4" + checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 + languageName: node + linkType: hard + +"https-proxy-agent@npm:^7.0.1": + version: 7.0.2 + resolution: "https-proxy-agent@npm:7.0.2" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:4" + checksum: 10c0/7735eb90073db087e7e79312e3d97c8c04baf7ea7ca7b013382b6a45abbaa61b281041a98f4e13c8c80d88f843785bcc84ba189165b4b4087b1e3496ba656d77 + languageName: node + linkType: hard + +"human-signals@npm:^5.0.0": + version: 5.0.0 + resolution: "human-signals@npm:5.0.0" + checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 + languageName: node + linkType: hard + +"humanize-ms@npm:^1.2.1": + version: 1.2.1 + resolution: "humanize-ms@npm:1.2.1" + dependencies: + ms: "npm:^2.0.0" + checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a + languageName: node + linkType: hard + +"hyperid@npm:^2.3.1": + version: 2.3.1 + resolution: "hyperid@npm:2.3.1" + dependencies: + uuid: "npm:^8.3.2" + uuid-parse: "npm:^1.1.0" + checksum: 10c0/0f3d143a7e1f40bf184e19a12577e2e2b40a5e7838a868cd28f4317fbe58e0bbe25f32f990ca6b15317363fd4d6a7c754aa0825948f28a8d5106c9cda9a31abe + languageName: node + linkType: hard + +"iconv-lite@npm:^0.6.2": + version: 0.6.3 + resolution: "iconv-lite@npm:0.6.3" + dependencies: + safer-buffer: "npm:>= 2.1.2 < 3.0.0" + checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 + languageName: node + linkType: hard + +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": + version: 1.2.1 + resolution: "ieee754@npm:1.2.1" + checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb + languageName: node + linkType: hard + +"ignore@npm:^5.2.0, ignore@npm:^5.2.4": + version: 5.3.0 + resolution: "ignore@npm:5.3.0" + checksum: 10c0/dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 + languageName: node + linkType: hard + +"import-fresh@npm:^3.2.1": + version: 3.3.0 + resolution: "import-fresh@npm:3.3.0" + dependencies: + parent-module: "npm:^1.0.0" + resolve-from: "npm:^4.0.0" + checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + languageName: node + linkType: hard + +"imurmurhash@npm:^0.1.4": + version: 0.1.4 + resolution: "imurmurhash@npm:0.1.4" + checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 + languageName: node + linkType: hard + +"indent-string@npm:^4.0.0": + version: 4.0.0 + resolution: "indent-string@npm:4.0.0" + checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f + languageName: node + linkType: hard + +"infer-owner@npm:^1.0.4": + version: 1.0.4 + resolution: "infer-owner@npm:1.0.4" + checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 + languageName: node + linkType: hard + +"inflight@npm:^1.0.4": + version: 1.0.6 + resolution: "inflight@npm:1.0.6" + dependencies: + once: "npm:^1.3.0" + wrappy: "npm:1" + checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 + languageName: node + linkType: hard + +"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4": + version: 2.0.4 + resolution: "inherits@npm:2.0.4" + checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 + languageName: node + linkType: hard + +"ini@npm:~1.3.0": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a + languageName: node + linkType: hard + +"int64-buffer@npm:^0.99.1007": + version: 0.99.1007 + resolution: "int64-buffer@npm:0.99.1007" + checksum: 10c0/692ac2b56660c75f3d36de1f42f0692c9d1eb91e0c2faadc08d350e2effa023cfa8c029685d8c0724c27501ed6414edf776ce04d7c4c7a49b5e89a37ae007c75 + languageName: node + linkType: hard + +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: 10c0/8d186cc5585f57372847ae29b6eba258c68862055e18a75cc4933327232cb5c107f89800ce29715d542eef2c254fbb68b382e780a7414f9ee7caf60b7a473958 + languageName: node + linkType: hard + +"ipaddr.js@npm:1.9.1": + version: 1.9.1 + resolution: "ipaddr.js@npm:1.9.1" + checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a + languageName: node + linkType: hard + +"is-extglob@npm:^2.1.1": + version: 2.1.1 + resolution: "is-extglob@npm:2.1.1" + checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 + languageName: node + linkType: hard + +"is-fullwidth-code-point@npm:^3.0.0": + version: 3.0.0 + resolution: "is-fullwidth-code-point@npm:3.0.0" + checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc + languageName: node + linkType: hard + +"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": + version: 4.0.3 + resolution: "is-glob@npm:4.0.3" + dependencies: + is-extglob: "npm:^2.1.1" + checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a + languageName: node + linkType: hard + +"is-lambda@npm:^1.0.1": + version: 1.0.1 + resolution: "is-lambda@npm:1.0.1" + checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d + languageName: node + linkType: hard + +"is-number@npm:^7.0.0": + version: 7.0.0 + resolution: "is-number@npm:7.0.0" + checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 + languageName: node + linkType: hard + +"is-path-inside@npm:^3.0.3": + version: 3.0.3 + resolution: "is-path-inside@npm:3.0.3" + checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c + languageName: node + linkType: hard + +"is-stream@npm:^3.0.0": + version: 3.0.0 + resolution: "is-stream@npm:3.0.0" + checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 + languageName: node + linkType: hard + +"isexe@npm:^2.0.0": + version: 2.0.0 + resolution: "isexe@npm:2.0.0" + checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d + languageName: node + linkType: hard + +"isexe@npm:^3.1.1": + version: 3.1.1 + resolution: "isexe@npm:3.1.1" + checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 + languageName: node + linkType: hard + +"iso8601-duration@npm:^1.3.0": + version: 1.3.0 + resolution: "iso8601-duration@npm:1.3.0" + checksum: 10c0/a848f4c3caca38c7a3a7ee6708f0da8ab00499b1ba4b06de95ccccecc4d1c45f60b0725b1bbd6cc36f47b59b1fb18e020b36c06368e1f908a05271076df11e05 + languageName: node + linkType: hard + +"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": + version: 3.2.2 + resolution: "istanbul-lib-coverage@npm:3.2.2" + checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b + languageName: node + linkType: hard + +"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": + version: 3.0.1 + resolution: "istanbul-lib-report@npm:3.0.1" + dependencies: + istanbul-lib-coverage: "npm:^3.0.0" + make-dir: "npm:^4.0.0" + supports-color: "npm:^7.1.0" + checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 + languageName: node + linkType: hard + +"istanbul-lib-source-maps@npm:^4.0.1": + version: 4.0.1 + resolution: "istanbul-lib-source-maps@npm:4.0.1" + dependencies: + debug: "npm:^4.1.1" + istanbul-lib-coverage: "npm:^3.0.0" + source-map: "npm:^0.6.1" + checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 + languageName: node + linkType: hard + +"istanbul-reports@npm:^3.1.6": + version: 3.1.6 + resolution: "istanbul-reports@npm:3.1.6" + dependencies: + html-escaper: "npm:^2.0.0" + istanbul-lib-report: "npm:^3.0.0" + checksum: 10c0/ec3f1bdbc51b3e0b325a5b9f4ad31a247697f31001df4e81075f7980413f14da1b5adfec574fd156efd3b0464023f61320f6718efc66ee72b32d89611cef99dd + languageName: node + linkType: hard + +"jackspeak@npm:^2.3.5": + version: 2.3.6 + resolution: "jackspeak@npm:2.3.6" + dependencies: + "@isaacs/cliui": "npm:^8.0.2" + "@pkgjs/parseargs": "npm:^0.11.0" + dependenciesMeta: + "@pkgjs/parseargs": + optional: true + checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 + languageName: node + linkType: hard + +"joycon@npm:^3.1.1": + version: 3.1.1 + resolution: "joycon@npm:3.1.1" + checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae + languageName: node + linkType: hard + +"js-yaml@npm:^4.1.0": + version: 4.1.0 + resolution: "js-yaml@npm:4.1.0" + dependencies: + argparse: "npm:^2.0.1" + bin: + js-yaml: bin/js-yaml.js + checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f + languageName: node + linkType: hard + +"js2xmlparser@npm:^4.0.2": + version: 4.0.2 + resolution: "js2xmlparser@npm:4.0.2" + dependencies: + xmlcreate: "npm:^2.0.4" + checksum: 10c0/b00de9351649d67d225e21734a08f456a4ecb3c29cafcd3bbecb36a8ab61ec841fad7f425bed50e21936fe387f472e49cfe75ce71d0beaacb0475b077c88ed39 + languageName: node + linkType: hard + +"jsdoc@npm:^4.0.2": + version: 4.0.2 + resolution: "jsdoc@npm:4.0.2" + dependencies: + "@babel/parser": "npm:^7.20.15" + "@jsdoc/salty": "npm:^0.2.1" + "@types/markdown-it": "npm:^12.2.3" + bluebird: "npm:^3.7.2" + catharsis: "npm:^0.9.0" + escape-string-regexp: "npm:^2.0.0" + js2xmlparser: "npm:^4.0.2" + klaw: "npm:^3.0.0" + markdown-it: "npm:^12.3.2" + markdown-it-anchor: "npm:^8.4.1" + marked: "npm:^4.0.10" + mkdirp: "npm:^1.0.4" + requizzle: "npm:^0.2.3" + strip-json-comments: "npm:^3.1.0" + underscore: "npm:~1.13.2" + bin: + jsdoc: jsdoc.js + checksum: 10c0/1320a49ea576e60cfe38e5912e0b6aab22e3861a76c1795afde2e02896b29e343abee4da0de6b82f1edb6ef6b6c4fc8e2ef41d0fe65a3522138b28b74b01e5c2 + languageName: node + linkType: hard + +"json-buffer@npm:3.0.1": + version: 3.0.1 + resolution: "json-buffer@npm:3.0.1" + checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 + languageName: node + linkType: hard + +"json-schema-ref-resolver@npm:^1.0.1": + version: 1.0.1 + resolution: "json-schema-ref-resolver@npm:1.0.1" + dependencies: + fast-deep-equal: "npm:^3.1.3" + checksum: 10c0/aa89d88108c0109ae35b913c89c132fb50c00f3b99fc8a8309b524b9e3a6a77414f19a6a35a1253871462984cbabc74279ebbd9bf103c6629fb7b37c9fb59bcf + languageName: node + linkType: hard + +"json-schema-traverse@npm:^0.4.1": + version: 0.4.1 + resolution: "json-schema-traverse@npm:0.4.1" + checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce + languageName: node + linkType: hard + +"json-schema-traverse@npm:^1.0.0": + version: 1.0.0 + resolution: "json-schema-traverse@npm:1.0.0" + checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 + languageName: node + linkType: hard + +"json-stable-stringify-without-jsonify@npm:^1.0.1": + version: 1.0.1 + resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" + checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 + languageName: node + linkType: hard + +"jsonc-parser@npm:^3.2.0": + version: 3.2.1 + resolution: "jsonc-parser@npm:3.2.1" + checksum: 10c0/ada66dec143d7f9cb0e2d0d29c69e9ce40d20f3a4cb96b0c6efb745025ac7f9ba647d7ac0990d0adfc37a2d2ae084a12009a9c833dbdbeadf648879a99b9df89 + languageName: node + linkType: hard + +"keyv@npm:^4.5.3": + version: 4.5.4 + resolution: "keyv@npm:4.5.4" + dependencies: + json-buffer: "npm:3.0.1" + checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e + languageName: node + linkType: hard + +"klaw@npm:^3.0.0": + version: 3.0.0 + resolution: "klaw@npm:3.0.0" + dependencies: + graceful-fs: "npm:^4.1.9" + checksum: 10c0/8391cf6df6337dce02e44628b620b39412d007eff162d907d37063c23986041d9b5c3558851d473c2fae92c1ccb0fde8864e36f9c55ac339fc469b517a2caa1b + languageName: node + linkType: hard + +"levn@npm:^0.4.1": + version: 0.4.1 + resolution: "levn@npm:0.4.1" + dependencies: + prelude-ls: "npm:^1.2.1" + type-check: "npm:~0.4.0" + checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e + languageName: node + linkType: hard + +"light-my-request@npm:^5.11.0": + version: 5.11.0 + resolution: "light-my-request@npm:5.11.0" + dependencies: + cookie: "npm:^0.5.0" + process-warning: "npm:^2.0.0" + set-cookie-parser: "npm:^2.4.1" + checksum: 10c0/ad5512b5216f2095409b54daf901f714f76004e4c8acdaa1ec3aa2ffde7ddf11ac249f02a87344d766bbad59eb2732acfe3ee5bb7e8ad5fc71057ef0d4d3be25 + languageName: node + linkType: hard + +"linkify-it@npm:^3.0.1": + version: 3.0.3 + resolution: "linkify-it@npm:3.0.3" + dependencies: + uc.micro: "npm:^1.0.1" + checksum: 10c0/468cb4954f85cdfc16e169db89a42d65287e3f121a9448b29c3c00d64c6f5a8f4367bea3978ba9109a0e3a10b19d50632b983639f91b9be9f20d1f63a5ff5bc1 + languageName: node + linkType: hard + +"local-pkg@npm:^0.5.0": + version: 0.5.0 + resolution: "local-pkg@npm:0.5.0" + dependencies: + mlly: "npm:^1.4.2" + pkg-types: "npm:^1.0.3" + checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 + languageName: node + linkType: hard + +"locate-path@npm:^6.0.0": + version: 6.0.0 + resolution: "locate-path@npm:6.0.0" + dependencies: + p-locate: "npm:^5.0.0" + checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 + languageName: node + linkType: hard + +"lodash.merge@npm:^4.6.0, lodash.merge@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.merge@npm:4.6.2" + checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 + languageName: node + linkType: hard + +"lodash.sortby@npm:^4.7.0": + version: 4.7.0 + resolution: "lodash.sortby@npm:4.7.0" + checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 + languageName: node + linkType: hard + +"lodash@npm:^4.17.15, lodash@npm:^4.17.21": + version: 4.17.21 + resolution: "lodash@npm:4.17.21" + checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c + languageName: node + linkType: hard + +"loglevel-colored-level-prefix@npm:^1.0.0": + version: 1.0.0 + resolution: "loglevel-colored-level-prefix@npm:1.0.0" + dependencies: + chalk: "npm:^1.1.3" + loglevel: "npm:^1.4.1" + checksum: 10c0/00fd732866de326001fa2d9b87166a4fbe41c7e0050bef0d612a8852e0ad09ad3f104aa30311e761d9d75f64d5afb6568e839826900baee0a24b7197012774d3 + languageName: node + linkType: hard + +"loglevel@npm:^1.4.1": + version: 1.9.1 + resolution: "loglevel@npm:1.9.1" + checksum: 10c0/152f0501cea367cf998c844a38b19f0b5af555756ad7d8650214a1f8c6a5b045e31b8cf5dae27d28339a061624ce3f618aadb333aed386cac041d6ddc5101a39 + languageName: node + linkType: hard + +"loupe@npm:^2.3.6, loupe@npm:^2.3.7": + version: 2.3.7 + resolution: "loupe@npm:2.3.7" + dependencies: + get-func-name: "npm:^2.0.1" + checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 + languageName: node + linkType: hard + +"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": + version: 10.2.0 + resolution: "lru-cache@npm:10.2.0" + checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee + languageName: node + linkType: hard + +"lru-cache@npm:^6.0.0": + version: 6.0.0 + resolution: "lru-cache@npm:6.0.0" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 + languageName: node + linkType: hard + +"magic-string@npm:^0.30.5": + version: 0.30.5 + resolution: "magic-string@npm:0.30.5" + dependencies: + "@jridgewell/sourcemap-codec": "npm:^1.4.15" + checksum: 10c0/38ac220ca7539e96da7ea2f38d85796bdf5c69b6bcae728c4bc2565084e6dc326b9174ee9770bea345cf6c9b3a24041b767167874fab5beca874d2356a9d1520 + languageName: node + linkType: hard + +"magicast@npm:^0.3.3": + version: 0.3.3 + resolution: "magicast@npm:0.3.3" + dependencies: + "@babel/parser": "npm:^7.23.6" + "@babel/types": "npm:^7.23.6" + source-map-js: "npm:^1.0.2" + checksum: 10c0/2eeba19545ac4328433be817bd81fcfa8a517ec67599260541e13ce5ce18b27ff8830f1b87d54a1392d408d1b96e44938bf026920f0110edbdfecc96980919b3 + languageName: node + linkType: hard + +"make-dir@npm:^4.0.0": + version: 4.0.0 + resolution: "make-dir@npm:4.0.0" + dependencies: + semver: "npm:^7.5.3" + checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 + languageName: node + linkType: hard + +"make-error@npm:^1.1.1": + version: 1.3.6 + resolution: "make-error@npm:1.3.6" + checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f + languageName: node + linkType: hard + +"make-fetch-happen@npm:^13.0.0": + version: 13.0.0 + resolution: "make-fetch-happen@npm:13.0.0" + dependencies: + "@npmcli/agent": "npm:^2.0.0" + cacache: "npm:^18.0.0" + http-cache-semantics: "npm:^4.1.1" + is-lambda: "npm:^1.0.1" + minipass: "npm:^7.0.2" + minipass-fetch: "npm:^3.0.0" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.3" + promise-retry: "npm:^2.0.1" + ssri: "npm:^10.0.0" + checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 + languageName: node + linkType: hard + +"make-fetch-happen@npm:^9.1.0": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: "npm:^4.1.3" + cacache: "npm:^15.2.0" + http-cache-semantics: "npm:^4.1.0" + http-proxy-agent: "npm:^4.0.1" + https-proxy-agent: "npm:^5.0.0" + is-lambda: "npm:^1.0.1" + lru-cache: "npm:^6.0.0" + minipass: "npm:^3.1.3" + minipass-collect: "npm:^1.0.2" + minipass-fetch: "npm:^1.3.2" + minipass-flush: "npm:^1.0.5" + minipass-pipeline: "npm:^1.2.4" + negotiator: "npm:^0.6.2" + promise-retry: "npm:^2.0.1" + socks-proxy-agent: "npm:^6.0.0" + ssri: "npm:^8.0.0" + checksum: 10c0/2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 + languageName: node + linkType: hard + +"markdown-it-anchor@npm:^8.4.1": + version: 8.6.7 + resolution: "markdown-it-anchor@npm:8.6.7" + peerDependencies: + "@types/markdown-it": "*" + markdown-it: "*" + checksum: 10c0/f117866488013b7e4085a6b59d12bf62879181aef65ea2851f01ed1b763b8c052580c2c27fa8bd009421886220c6beeb373a65af9e885ce63a36ee9f8dcd0e89 + languageName: node + linkType: hard + +"markdown-it@npm:^12.3.2": + version: 12.3.2 + resolution: "markdown-it@npm:12.3.2" + dependencies: + argparse: "npm:^2.0.1" + entities: "npm:~2.1.0" + linkify-it: "npm:^3.0.1" + mdurl: "npm:^1.0.1" + uc.micro: "npm:^1.0.5" + bin: + markdown-it: bin/markdown-it.js + checksum: 10c0/7f97b924e6f90e2c5ccdfb486a19bd7885b938f568a86b527bf6f916a16b01a298e6739f86a99e77acb5e7c020f6c8b34bd726364179b3f820e48b2971a6450c + languageName: node + linkType: hard + +"marked@npm:^4.0.10": + version: 4.3.0 + resolution: "marked@npm:4.3.0" + bin: + marked: bin/marked.js + checksum: 10c0/0013463855e31b9c88d8bb2891a611d10ef1dc79f2e3cbff1bf71ba389e04c5971298c886af0be799d7fa9aa4593b086a136062d59f1210b0480b026a8c5dc47 + languageName: node + linkType: hard + +"mdurl@npm:^1.0.1": + version: 1.0.1 + resolution: "mdurl@npm:1.0.1" + checksum: 10c0/ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee + languageName: node + linkType: hard + +"media-typer@npm:0.3.0": + version: 0.3.0 + resolution: "media-typer@npm:0.3.0" + checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 + languageName: node + linkType: hard + +"merge-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "merge-stream@npm:2.0.0" + checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 + languageName: node + linkType: hard + +"merge2@npm:^1.3.0, merge2@npm:^1.4.1": + version: 1.4.1 + resolution: "merge2@npm:1.4.1" + checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb + languageName: node + linkType: hard + +"micromatch@npm:^4.0.4": + version: 4.0.5 + resolution: "micromatch@npm:4.0.5" + dependencies: + braces: "npm:^3.0.2" + picomatch: "npm:^2.3.1" + checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff + languageName: node + linkType: hard + +"mime-db@npm:1.52.0": + version: 1.52.0 + resolution: "mime-db@npm:1.52.0" + checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa + languageName: node + linkType: hard + +"mime-types@npm:~2.1.24": + version: 2.1.35 + resolution: "mime-types@npm:2.1.35" + dependencies: + mime-db: "npm:1.52.0" + checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 + languageName: node + linkType: hard + +"mimic-fn@npm:^4.0.0": + version: 4.0.0 + resolution: "mimic-fn@npm:4.0.0" + checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf + languageName: node + linkType: hard + +"mimic-response@npm:^3.1.0": + version: 3.1.0 + resolution: "mimic-response@npm:3.1.0" + checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 + languageName: node + linkType: hard + +"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": + version: 9.0.3 + resolution: "minimatch@npm:9.0.3" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac + languageName: node + linkType: hard + +"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": + version: 3.1.2 + resolution: "minimatch@npm:3.1.2" + dependencies: + brace-expansion: "npm:^1.1.7" + checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 + languageName: node + linkType: hard + +"minimatch@npm:^5.0.1": + version: 5.1.6 + resolution: "minimatch@npm:5.1.6" + dependencies: + brace-expansion: "npm:^2.0.1" + checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 + languageName: node + linkType: hard + +"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.6": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 + languageName: node + linkType: hard + +"minipass-collect@npm:^1.0.2": + version: 1.0.2 + resolution: "minipass-collect@npm:1.0.2" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 + languageName: node + linkType: hard + +"minipass-collect@npm:^2.0.1": + version: 2.0.1 + resolution: "minipass-collect@npm:2.0.1" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e + languageName: node + linkType: hard + +"minipass-fetch@npm:^1.3.2": + version: 1.4.1 + resolution: "minipass-fetch@npm:1.4.1" + dependencies: + encoding: "npm:^0.1.12" + minipass: "npm:^3.1.0" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.0.0" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a + languageName: node + linkType: hard + +"minipass-fetch@npm:^3.0.0": + version: 3.0.4 + resolution: "minipass-fetch@npm:3.0.4" + dependencies: + encoding: "npm:^0.1.13" + minipass: "npm:^7.0.3" + minipass-sized: "npm:^1.0.3" + minizlib: "npm:^2.1.2" + dependenciesMeta: + encoding: + optional: true + checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 + languageName: node + linkType: hard + +"minipass-flush@npm:^1.0.5": + version: 1.0.5 + resolution: "minipass-flush@npm:1.0.5" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd + languageName: node + linkType: hard + +"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": + version: 1.2.4 + resolution: "minipass-pipeline@npm:1.2.4" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 + languageName: node + linkType: hard + +"minipass-sized@npm:^1.0.3": + version: 1.0.3 + resolution: "minipass-sized@npm:1.0.3" + dependencies: + minipass: "npm:^3.0.0" + checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb + languageName: node + linkType: hard + +"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": + version: 3.3.6 + resolution: "minipass@npm:3.3.6" + dependencies: + yallist: "npm:^4.0.0" + checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c + languageName: node + linkType: hard + +"minipass@npm:^5.0.0": + version: 5.0.0 + resolution: "minipass@npm:5.0.0" + checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 + languageName: node + linkType: hard + +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": + version: 7.0.4 + resolution: "minipass@npm:7.0.4" + checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 + languageName: node + linkType: hard + +"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": + version: 2.1.2 + resolution: "minizlib@npm:2.1.2" + dependencies: + minipass: "npm:^3.0.0" + yallist: "npm:^4.0.0" + checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + languageName: node + linkType: hard + +"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": + version: 0.5.3 + resolution: "mkdirp-classic@npm:0.5.3" + checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 + languageName: node + linkType: hard + +"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": + version: 1.0.4 + resolution: "mkdirp@npm:1.0.4" + bin: + mkdirp: bin/cmd.js + checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + languageName: node + linkType: hard + +"mlly@npm:^1.2.0, mlly@npm:^1.4.2": + version: 1.5.0 + resolution: "mlly@npm:1.5.0" + dependencies: + acorn: "npm:^8.11.3" + pathe: "npm:^1.1.2" + pkg-types: "npm:^1.0.3" + ufo: "npm:^1.3.2" + checksum: 10c0/0861d64f13e8e6f99e4897b652b553ded4d4b9e7b011d6afd7141e013b77ed9b9be0cd76e60c46c60c56cc9b8e27061165e5696179ba9f4161c24d162db7b621 + languageName: node + linkType: hard + +"moment@npm:^2.30.1": + version: 2.30.1 + resolution: "moment@npm:2.30.1" + checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a + languageName: node + linkType: hard + +"ms@npm:2.1.2": + version: 2.1.2 + resolution: "ms@npm:2.1.2" + checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc + languageName: node + linkType: hard + +"ms@npm:^2.0.0": + version: 2.1.3 + resolution: "ms@npm:2.1.3" + checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 + languageName: node + linkType: hard + +"multi-fork@npm:0.0.2": + version: 0.0.2 + resolution: "multi-fork@npm:0.0.2" + checksum: 10c0/f4f38f38be8160ce3ecf58a617a68dc3415a5888f9f5c3f1ab81a5bf4a90921a1fb35de9e81100189051f266be3ee1c734e2b70c053834f12af7a1eddcd60536 + languageName: node + linkType: hard + +"nanoid@npm:^3.3.7": + version: 3.3.7 + resolution: "nanoid@npm:3.3.7" + bin: + nanoid: bin/nanoid.cjs + checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + languageName: node + linkType: hard + +"napi-build-utils@npm:^1.0.1": + version: 1.0.2 + resolution: "napi-build-utils@npm:1.0.2" + checksum: 10c0/37fd2cd0ff2ad20073ce78d83fd718a740d568b225924e753ae51cb69d68f330c80544d487e5e5bd18e28702ed2ca469c2424ad948becd1862c1b0209542b2e9 + languageName: node + linkType: hard + +"natural-compare@npm:^1.4.0": + version: 1.4.0 + resolution: "natural-compare@npm:1.4.0" + checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 + languageName: node + linkType: hard + +"negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": + version: 0.6.3 + resolution: "negotiator@npm:0.6.3" + checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 + languageName: node + linkType: hard + +"node-abi@npm:^3.3.0, node-abi@npm:^3.52.0": + version: 3.54.0 + resolution: "node-abi@npm:3.54.0" + dependencies: + semver: "npm:^7.3.5" + checksum: 10c0/9ebbb21e6951aa51e831549ed62b68dc56bcc10f6b21ffd04195a16a6abf5ddfc48b6ae5e3334720fe4459cafde5ec8103025902efff5599d0539f8656fc694e + languageName: node + linkType: hard + +"node-addon-api@npm:^7.0.0": + version: 7.1.0 + resolution: "node-addon-api@npm:7.1.0" + dependencies: + node-gyp: "npm:latest" + checksum: 10c0/2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66 + languageName: node + linkType: hard + +"node-fetch@npm:^2.6.7": + version: 2.7.0 + resolution: "node-fetch@npm:2.7.0" + dependencies: + whatwg-url: "npm:^5.0.0" + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 + languageName: node + linkType: hard + +"node-gyp@npm:8.x": + version: 8.4.1 + resolution: "node-gyp@npm:8.4.1" + dependencies: + env-paths: "npm:^2.2.0" + glob: "npm:^7.1.4" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^9.1.0" + nopt: "npm:^5.0.0" + npmlog: "npm:^6.0.0" + rimraf: "npm:^3.0.2" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^2.0.2" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 + languageName: node + linkType: hard + +"node-gyp@npm:latest": + version: 10.0.1 + resolution: "node-gyp@npm:10.0.1" + dependencies: + env-paths: "npm:^2.2.0" + exponential-backoff: "npm:^3.1.1" + glob: "npm:^10.3.10" + graceful-fs: "npm:^4.2.6" + make-fetch-happen: "npm:^13.0.0" + nopt: "npm:^7.0.0" + proc-log: "npm:^3.0.0" + semver: "npm:^7.3.5" + tar: "npm:^6.1.2" + which: "npm:^4.0.0" + bin: + node-gyp: bin/node-gyp.js + checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa + languageName: node + linkType: hard + +"nopt@npm:^5.0.0": + version: 5.0.0 + resolution: "nopt@npm:5.0.0" + dependencies: + abbrev: "npm:1" + bin: + nopt: bin/nopt.js + checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 + languageName: node + linkType: hard + +"nopt@npm:^7.0.0": + version: 7.2.0 + resolution: "nopt@npm:7.2.0" + dependencies: + abbrev: "npm:^2.0.0" + bin: + nopt: bin/nopt.js + checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff + languageName: node + linkType: hard + +"npm-run-path@npm:^5.1.0": + version: 5.2.0 + resolution: "npm-run-path@npm:5.2.0" + dependencies: + path-key: "npm:^4.0.0" + checksum: 10c0/7963c1f98e42afebe9524a08b0881477ec145aab34f6018842a315422b25ad40e015bdee709b697571e5efda2ecfa2640ee917d92674e4de1166fa3532a211b1 + languageName: node + linkType: hard + +"npmlog@npm:^6.0.0": + version: 6.0.2 + resolution: "npmlog@npm:6.0.2" + dependencies: + are-we-there-yet: "npm:^3.0.0" + console-control-strings: "npm:^1.1.0" + gauge: "npm:^4.0.3" + set-blocking: "npm:^2.0.0" + checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 + languageName: node + linkType: hard + +"obuf@npm:^1.1.2, obuf@npm:~1.1.2": + version: 1.1.2 + resolution: "obuf@npm:1.1.2" + checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 + languageName: node + linkType: hard + +"on-exit-leak-free@npm:^2.1.0": + version: 2.1.2 + resolution: "on-exit-leak-free@npm:2.1.2" + checksum: 10c0/faea2e1c9d696ecee919026c32be8d6a633a7ac1240b3b87e944a380e8a11dc9c95c4a1f8fb0568de7ab8db3823e790f12bda45296b1d111e341aad3922a0570 + languageName: node + linkType: hard + +"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": + version: 1.4.0 + resolution: "once@npm:1.4.0" + dependencies: + wrappy: "npm:1" + checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 + languageName: node + linkType: hard + +"onetime@npm:^6.0.0": + version: 6.0.0 + resolution: "onetime@npm:6.0.0" + dependencies: + mimic-fn: "npm:^4.0.0" + checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c + languageName: node + linkType: hard + +"optionator@npm:^0.9.3": + version: 0.9.3 + resolution: "optionator@npm:0.9.3" + dependencies: + "@aashutoshrathi/word-wrap": "npm:^1.2.3" + deep-is: "npm:^0.1.3" + fast-levenshtein: "npm:^2.0.6" + levn: "npm:^0.4.1" + prelude-ls: "npm:^1.2.1" + type-check: "npm:^0.4.0" + checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c + languageName: node + linkType: hard + +"p-defer@npm:^3.0.0": + version: 3.0.0 + resolution: "p-defer@npm:3.0.0" + checksum: 10c0/848eb9821785b9a203def23618217ddbfa5cd909574ad0d66aae61a1981c4dcfa084804d6f97abe027bd004643471ddcdc823aa8df60198f791a9bd985e01bee + languageName: node + linkType: hard + +"p-limit@npm:^3.0.2": + version: 3.1.0 + resolution: "p-limit@npm:3.1.0" + dependencies: + yocto-queue: "npm:^0.1.0" + checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a + languageName: node + linkType: hard + +"p-limit@npm:^5.0.0": + version: 5.0.0 + resolution: "p-limit@npm:5.0.0" + dependencies: + yocto-queue: "npm:^1.0.0" + checksum: 10c0/574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 + languageName: node + linkType: hard + +"p-locate@npm:^5.0.0": + version: 5.0.0 + resolution: "p-locate@npm:5.0.0" + dependencies: + p-limit: "npm:^3.0.2" + checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a + languageName: node + linkType: hard + +"p-map@npm:^4.0.0": + version: 4.0.0 + resolution: "p-map@npm:4.0.0" + dependencies: + aggregate-error: "npm:^3.0.0" + checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 + languageName: node + linkType: hard + +"packet-reader@npm:1.0.0": + version: 1.0.0 + resolution: "packet-reader@npm:1.0.0" + checksum: 10c0/c86c3321bb07e0f03cc2db59f7701184e0bbfcb914f1fdc963993b03262486deb402292adcef39b64e3530ea66b3b2e2163d6da7b3792a730bdd1c6df3175aaa + languageName: node + linkType: hard + +"parent-module@npm:^1.0.0": + version: 1.0.1 + resolution: "parent-module@npm:1.0.1" + dependencies: + callsites: "npm:^3.0.0" + checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 + languageName: node + linkType: hard + +"path-exists@npm:^4.0.0": + version: 4.0.0 + resolution: "path-exists@npm:4.0.0" + checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b + languageName: node + linkType: hard + +"path-is-absolute@npm:^1.0.0": + version: 1.0.1 + resolution: "path-is-absolute@npm:1.0.1" + checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 + languageName: node + linkType: hard + +"path-key@npm:^3.1.0": + version: 3.1.1 + resolution: "path-key@npm:3.1.1" + checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c + languageName: node + linkType: hard + +"path-key@npm:^4.0.0": + version: 4.0.0 + resolution: "path-key@npm:4.0.0" + checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 + languageName: node + linkType: hard + +"path-scurry@npm:^1.10.1": + version: 1.10.1 + resolution: "path-scurry@npm:1.10.1" + dependencies: + lru-cache: "npm:^9.1.1 || ^10.0.0" + minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" + checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e + languageName: node + linkType: hard + +"path-type@npm:^4.0.0": + version: 4.0.0 + resolution: "path-type@npm:4.0.0" + checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c + languageName: node + linkType: hard + +"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": + version: 1.1.2 + resolution: "pathe@npm:1.1.2" + checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 + languageName: node + linkType: hard + +"pathval@npm:^1.1.1": + version: 1.1.1 + resolution: "pathval@npm:1.1.1" + checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc + languageName: node + linkType: hard + +"pg-cloudflare@npm:^1.1.1": + version: 1.1.1 + resolution: "pg-cloudflare@npm:1.1.1" + checksum: 10c0/a68b957f755be6af813d68ccaf4c906a000fd2ecb362cd281220052cc9e2f6c26da3b88792742387008c30b3bf0d2fa3a0eff04aeb8af4414023c99ae78e07bd + languageName: node + linkType: hard + +"pg-connection-string@npm:^2.6.2": + version: 2.6.2 + resolution: "pg-connection-string@npm:2.6.2" + checksum: 10c0/e8fdea74fcc8bdc3d7c5c6eadd9425fdba7e67fb7fe836f9c0cecad94c8984e435256657d1d8ce0483d1fedef667e7a57e32449a63cb805cb0289fc34b62da35 + languageName: node + linkType: hard + +"pg-copy-streams-binary@npm:^2.2.0": + version: 2.2.0 + resolution: "pg-copy-streams-binary@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + bufferput: "npm:^0.1.3" + ieee754: "npm:^1.1.13" + int64-buffer: "npm:^0.99.1007" + multi-fork: "npm:0.0.2" + through2: "npm:^3.0.1" + checksum: 10c0/5952094e1486683ea001b961517a068c66862338b7c53334ac4c833a1b37cd5f688d18bb33e844916adac84f4021dbb72b5861f4f67659a8699ce64c5a9e8b4a + languageName: node + linkType: hard + +"pg-copy-streams@npm:^6.0.2": + version: 6.0.6 + resolution: "pg-copy-streams@npm:6.0.6" + dependencies: + obuf: "npm:^1.1.2" + checksum: 10c0/4edefe7395c4adb54a0cd5887cc21441c6e41f731f6c3203c6d6a57b208c5bb1cefded28eaabf0b5dd13fe297ab146ad8270ac8c537b69cd644c51386be231bc + languageName: node + linkType: hard + +"pg-cursor@npm:^2.10.3, pg-cursor@npm:^2.7.3": + version: 2.10.3 + resolution: "pg-cursor@npm:2.10.3" + peerDependencies: + pg: ^8 + checksum: 10c0/cf8d2c8243e4f1525148ad238c5b4ac2f638b7cb69a175dff58d0b0b5b697363a55e1630e1f3c320b38223cb90a32b6469bf324418bef672b0da8b3276093b2f + languageName: node + linkType: hard + +"pg-int8@npm:1.0.1": + version: 1.0.1 + resolution: "pg-int8@npm:1.0.1" + checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 + languageName: node + linkType: hard + +"pg-numeric@npm:1.0.2": + version: 1.0.2 + resolution: "pg-numeric@npm:1.0.2" + checksum: 10c0/43dd9884e7b52c79ddc28d2d282d7475fce8bba13452d33c04ceb2e0a65f561edf6699694e8e1c832ff9093770496363183c950dd29608e1bdd98f344b25bca9 + languageName: node + linkType: hard + +"pg-pool@npm:^3.6.1": + version: 3.6.1 + resolution: "pg-pool@npm:3.6.1" + peerDependencies: + pg: ">=8.0" + checksum: 10c0/47837c4e4c2b9e195cec01bd58b6e276acc915537191707ad4d6ed975fd9bc03c73f63cb7fde4cb0e08ed059e35faf60fbd03744dee3af71d4b4631ab40eeb7f + languageName: node + linkType: hard + +"pg-protocol@npm:*, pg-protocol@npm:^1.5.0, pg-protocol@npm:^1.6.0": + version: 1.6.0 + resolution: "pg-protocol@npm:1.6.0" + checksum: 10c0/318a4d1e9cebd3927b10a8bc412f5017117a1f9a5fafb628d75847da7d1ab81c33250de58596bd0990029e14e92a995a851286d60fc236692299faf509572213 + languageName: node + linkType: hard + +"pg-query-stream@npm:^4.5.3": + version: 4.5.3 + resolution: "pg-query-stream@npm:4.5.3" + dependencies: + pg-cursor: "npm:^2.10.3" + peerDependencies: + pg: ^8 + checksum: 10c0/1b0c1449d251329a9133cf2d52ab1835bcb591b5480e3231b2aedf1be2244dc1a74d8b2077e4e594d43a9de579af55539bfea35da74197ca26d3b80aa596b25a + languageName: node + linkType: hard + +"pg-types@npm:^2.1.0": + version: 2.2.0 + resolution: "pg-types@npm:2.2.0" + dependencies: + pg-int8: "npm:1.0.1" + postgres-array: "npm:~2.0.0" + postgres-bytea: "npm:~1.0.0" + postgres-date: "npm:~1.0.4" + postgres-interval: "npm:^1.1.0" + checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 + languageName: node + linkType: hard + +"pg-types@npm:^4.0.1": + version: 4.0.2 + resolution: "pg-types@npm:4.0.2" + dependencies: + pg-int8: "npm:1.0.1" + pg-numeric: "npm:1.0.2" + postgres-array: "npm:~3.0.1" + postgres-bytea: "npm:~3.0.0" + postgres-date: "npm:~2.1.0" + postgres-interval: "npm:^3.0.0" + postgres-range: "npm:^1.1.1" + checksum: 10c0/780fccda2f3fa2a34e85a72e8e7dadb7d88fbe71ce88f126cb3313f333ad836d02488ec4ff3d94d0c1e5846f735d6e6c6281f8059e6b8919d2180429acaec3e2 + languageName: node + linkType: hard + +"pg@npm:^8.11.3, pg@npm:^8.7.3": + version: 8.11.3 + resolution: "pg@npm:8.11.3" + dependencies: + buffer-writer: "npm:2.0.0" + packet-reader: "npm:1.0.0" + pg-cloudflare: "npm:^1.1.1" + pg-connection-string: "npm:^2.6.2" + pg-pool: "npm:^3.6.1" + pg-protocol: "npm:^1.6.0" + pg-types: "npm:^2.1.0" + pgpass: "npm:1.x" + peerDependencies: + pg-native: ">=3.0.1" + dependenciesMeta: + pg-cloudflare: + optional: true + peerDependenciesMeta: + pg-native: + optional: true + checksum: 10c0/07e6967fc8bd5d72bab9be6620626e8e3ab59128ebf56bf0de83d67f10801a19221d88b3317e90b93339ba48d0498b39967b782ae39686aabda6bc647bceb438 + languageName: node + linkType: hard + +"pgpass@npm:1.x": + version: 1.0.5 + resolution: "pgpass@npm:1.0.5" + dependencies: + split2: "npm:^4.1.0" + checksum: 10c0/5ea6c9b2de04c33abb08d33a2dded303c4a3c7162a9264519cbe85c0a9857d712463140ba42fad0c7cd4b21f644dd870b45bb2e02fcbe505b4de0744fd802c1d + languageName: node + linkType: hard + +"picocolors@npm:^1.0.0": + version: 1.0.0 + resolution: "picocolors@npm:1.0.0" + checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 + languageName: node + linkType: hard + +"picomatch@npm:^2.3.1": + version: 2.3.1 + resolution: "picomatch@npm:2.3.1" + checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be + languageName: node + linkType: hard + +"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:v1.1.0": + version: 1.1.0 + resolution: "pino-abstract-transport@npm:1.1.0" + dependencies: + readable-stream: "npm:^4.0.0" + split2: "npm:^4.0.0" + checksum: 10c0/6e9b9d5a2c0a37f91ecaf224d335daae1ae682b1c79a05b06ef9e0f0a5d289f8e597992217efc857796dae6f1067e9b4882f95c6228ff433ddc153532cae8aca + languageName: node + linkType: hard + +"pino-pretty@npm:^10.3.1": + version: 10.3.1 + resolution: "pino-pretty@npm:10.3.1" + dependencies: + colorette: "npm:^2.0.7" + dateformat: "npm:^4.6.3" + fast-copy: "npm:^3.0.0" + fast-safe-stringify: "npm:^2.1.1" + help-me: "npm:^5.0.0" + joycon: "npm:^3.1.1" + minimist: "npm:^1.2.6" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:^1.0.0" + pump: "npm:^3.0.0" + readable-stream: "npm:^4.0.0" + secure-json-parse: "npm:^2.4.0" + sonic-boom: "npm:^3.0.0" + strip-json-comments: "npm:^3.1.1" + bin: + pino-pretty: bin.js + checksum: 10c0/6964fba5acc7a9f112e4c6738d602e123daf16cb5f6ddc56ab4b6bb05059f28876d51da8f72358cf1172e95fa12496b70465431a0836df693c462986d050686b + languageName: node + linkType: hard + +"pino-std-serializers@npm:^6.0.0": + version: 6.2.2 + resolution: "pino-std-serializers@npm:6.2.2" + checksum: 10c0/8f1c7f0f0d8f91e6c6b5b2a6bfb48f06441abeb85f1c2288319f736f9c6d814fbeebe928d2314efc2ba6018fa7db9357a105eca9fc99fc1f28945a8a8b28d3d5 + languageName: node + linkType: hard + +"pino@npm:^8.17.0": + version: 8.17.2 + resolution: "pino@npm:8.17.2" + dependencies: + atomic-sleep: "npm:^1.0.0" + fast-redact: "npm:^3.1.1" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:v1.1.0" + pino-std-serializers: "npm:^6.0.0" + process-warning: "npm:^3.0.0" + quick-format-unescaped: "npm:^4.0.3" + real-require: "npm:^0.2.0" + safe-stable-stringify: "npm:^2.3.1" + sonic-boom: "npm:^3.7.0" + thread-stream: "npm:^2.0.0" + bin: + pino: bin.js + checksum: 10c0/9e55af6cd9d1833a4dbe64924fc73163295acd3c988a9c7db88926669f2574ab7ec607e8487b6dd71dbdad2d7c1c1aac439f37e59233f37220b1a9d88fa2ce01 + languageName: node + linkType: hard + +"pino@npm:^8.18.0": + version: 8.18.0 + resolution: "pino@npm:8.18.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + fast-redact: "npm:^3.1.1" + on-exit-leak-free: "npm:^2.1.0" + pino-abstract-transport: "npm:v1.1.0" + pino-std-serializers: "npm:^6.0.0" + process-warning: "npm:^3.0.0" + quick-format-unescaped: "npm:^4.0.3" + real-require: "npm:^0.2.0" + safe-stable-stringify: "npm:^2.3.1" + sonic-boom: "npm:^3.7.0" + thread-stream: "npm:^2.0.0" + bin: + pino: bin.js + checksum: 10c0/ca73bb31e4656954413b89f48c486b1680fec0c6bb12d4d796c5ccf8eca40f3ee12c9532a0fa61284ed9a800c14eaa0f496f520057ef70cdee0447114813e8eb + languageName: node + linkType: hard + +"pkg-types@npm:^1.0.3": + version: 1.0.3 + resolution: "pkg-types@npm:1.0.3" + dependencies: + jsonc-parser: "npm:^3.2.0" + mlly: "npm:^1.2.0" + pathe: "npm:^1.1.0" + checksum: 10c0/7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 + languageName: node + linkType: hard + +"pony-cause@npm:^2.1.4": + version: 2.1.10 + resolution: "pony-cause@npm:2.1.10" + checksum: 10c0/55ad0ca52039895f273c69e55fc9fe882deff38689dc5962558bfa16cce0ea7cb5bb7b67d0c43ec9c3e7edeb81f81ee8c1113014930d77b2cbac5adc4ac7fb64 + languageName: node + linkType: hard + +"postcss@npm:^8.4.32": + version: 8.4.33 + resolution: "postcss@npm:8.4.33" + dependencies: + nanoid: "npm:^3.3.7" + picocolors: "npm:^1.0.0" + source-map-js: "npm:^1.0.2" + checksum: 10c0/16eda83458fcd8a91bece287b5920c7f57164c3ea293e6c80d0ea71ce7843007bcd8592260a5160b9a7f02693e6ac93e2495b02d8c7596d3f3f72c1447e3ba79 + languageName: node + linkType: hard + +"postgres-array@npm:^3.0.1, postgres-array@npm:^3.0.2, postgres-array@npm:~3.0.1": + version: 3.0.2 + resolution: "postgres-array@npm:3.0.2" + checksum: 10c0/644aa071f67a66a59f641f8e623887d2b915bc102a32643e2aa8b54c11acd343c5ad97831ea444dd37bd4b921ba35add4aa2cb0c6b76700a8252c2324aeba5b4 + languageName: node + linkType: hard + +"postgres-array@npm:~2.0.0": + version: 2.0.0 + resolution: "postgres-array@npm:2.0.0" + checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 + languageName: node + linkType: hard + +"postgres-bytea@npm:~1.0.0": + version: 1.0.0 + resolution: "postgres-bytea@npm:1.0.0" + checksum: 10c0/febf2364b8a8953695cac159eeb94542ead5886792a9627b97e33f6b5bb6e263bc0706ab47ec221516e79fbd6b2452d668841830fb3b49ec6c0fc29be61892ce + languageName: node + linkType: hard + +"postgres-bytea@npm:~3.0.0": + version: 3.0.0 + resolution: "postgres-bytea@npm:3.0.0" + dependencies: + obuf: "npm:~1.1.2" + checksum: 10c0/41c79cc48aa730c5ba3eda6ab989a940034f07a1f57b8f2777dce56f1b8cca16c5870582932b5b10cc605048aef9b6157e06253c871b4717cafc6d00f55376aa + languageName: node + linkType: hard + +"postgres-date@npm:~1.0.4": + version: 1.0.7 + resolution: "postgres-date@npm:1.0.7" + checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 + languageName: node + linkType: hard + +"postgres-date@npm:~2.1.0": + version: 2.1.0 + resolution: "postgres-date@npm:2.1.0" + checksum: 10c0/00a7472c10788f6b0d08d24108bf1eb80858de1bd6317740198a564918ea4a69b80c98148167b92ae688abd606483020d0de0dd3a36f3ea9a3e26bbeef3464f4 + languageName: node + linkType: hard + +"postgres-interval@npm:^1.1.0": + version: 1.2.0 + resolution: "postgres-interval@npm:1.2.0" + dependencies: + xtend: "npm:^4.0.0" + checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 + languageName: node + linkType: hard + +"postgres-interval@npm:^3.0.0": + version: 3.0.0 + resolution: "postgres-interval@npm:3.0.0" + checksum: 10c0/8b570b30ea37c685e26d136d34460f246f98935a1533defc4b53bb05ee23ae3dc7475b718ec7ea607a57894d8c6b4f1adf67ca9cc83a75bdacffd427d5c68de8 + languageName: node + linkType: hard + +"postgres-interval@npm:^4.0.0, postgres-interval@npm:^4.0.1": + version: 4.0.2 + resolution: "postgres-interval@npm:4.0.2" + checksum: 10c0/46d0766b11ac91ba3e4816c73a04e4e0c13ddf9efb9797982fdc405019a40b85e8b4a36448bd90e1ac1e8f0ca9b2ff22820e65e103368bc6fd9fa6a3b4268fd4 + languageName: node + linkType: hard + +"postgres-range@npm:^1.1.1": + version: 1.1.4 + resolution: "postgres-range@npm:1.1.4" + checksum: 10c0/254494ef81df208e0adeae6b66ce394aba37914ea14c7ece55a45fb6691b7db04bee74c825380a47c887a9f87158fd3d86f758f9cc60b76d3a38ce5aca7912e8 + languageName: node + linkType: hard + +"prebuild-install@npm:^7.1.1": + version: 7.1.1 + resolution: "prebuild-install@npm:7.1.1" + dependencies: + detect-libc: "npm:^2.0.0" + expand-template: "npm:^2.0.3" + github-from-package: "npm:0.0.0" + minimist: "npm:^1.2.3" + mkdirp-classic: "npm:^0.5.3" + napi-build-utils: "npm:^1.0.1" + node-abi: "npm:^3.3.0" + pump: "npm:^3.0.0" + rc: "npm:^1.2.7" + simple-get: "npm:^4.0.0" + tar-fs: "npm:^2.0.0" + tunnel-agent: "npm:^0.6.0" + bin: + prebuild-install: bin.js + checksum: 10c0/6dc70f36b0f4adcb2fe0ed38d874ab28b571fb1a9725d769e8ba3f64a15831e58462de09f3e6e64569bcc4a3e03b9328b56faa0d45fe10ae1574478814536c76 + languageName: node + linkType: hard + +"prelude-ls@npm:^1.2.1": + version: 1.2.1 + resolution: "prelude-ls@npm:1.2.1" + checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd + languageName: node + linkType: hard + +"prettier-eslint@npm:16.2.0": + version: 16.2.0 + resolution: "prettier-eslint@npm:16.2.0" + dependencies: + "@typescript-eslint/parser": "npm:^6.7.5" + common-tags: "npm:^1.4.0" + dlv: "npm:^1.1.0" + eslint: "npm:^8.7.0" + indent-string: "npm:^4.0.0" + lodash.merge: "npm:^4.6.0" + loglevel-colored-level-prefix: "npm:^1.0.0" + prettier: "npm:^3.0.1" + pretty-format: "npm:^29.7.0" + require-relative: "npm:^0.8.7" + typescript: "npm:^5.2.2" + vue-eslint-parser: "npm:^9.1.0" + checksum: 10c0/6240ea94bfc6d3a01376283a045d0869569fdbe9f2e4c0a20bdeb372c14922ccb712e38c36108258b3c70fcb176f4e0a78b7f773e12a346bae990ab256056550 + languageName: node + linkType: hard + +"prettier-linter-helpers@npm:^1.0.0": + version: 1.0.0 + resolution: "prettier-linter-helpers@npm:1.0.0" + dependencies: + fast-diff: "npm:^1.1.2" + checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab + languageName: node + linkType: hard + +"prettier@npm:3.1.1": + version: 3.1.1 + resolution: "prettier@npm:3.1.1" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/facc944ba20e194ff4db765e830ffbcb642803381f0d2033ed397e79904fa4ccc877dc25ad68f42d36985c01d051c990ca1b905fb83d2d7d65fe69e4386fa1a3 + languageName: node + linkType: hard + +"prettier@npm:3.2.4, prettier@npm:^3.0.1": + version: 3.2.4 + resolution: "prettier@npm:3.2.4" + bin: + prettier: bin/prettier.cjs + checksum: 10c0/88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 + languageName: node + linkType: hard + +"pretty-format@npm:^29.7.0": + version: 29.7.0 + resolution: "pretty-format@npm:29.7.0" + dependencies: + "@jest/schemas": "npm:^29.6.3" + ansi-styles: "npm:^5.0.0" + react-is: "npm:^18.0.0" + checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f + languageName: node + linkType: hard + +"proc-log@npm:^3.0.0": + version: 3.0.0 + resolution: "proc-log@npm:3.0.0" + checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc + languageName: node + linkType: hard + +"process-warning@npm:^2.0.0": + version: 2.3.2 + resolution: "process-warning@npm:2.3.2" + checksum: 10c0/6bccf187f604dd63067ae8b5a08f658d1cc5df4948a51525691a564ad9250575802c094dd5d1b69f015934fe5df6d925f2e607d7a589918069129b07a777aa7b + languageName: node + linkType: hard + +"process-warning@npm:^3.0.0": + version: 3.0.0 + resolution: "process-warning@npm:3.0.0" + checksum: 10c0/60f3c8ddee586f0706c1e6cb5aa9c86df05774b9330d792d7c8851cf0031afd759d665404d07037e0b4901b55c44a423f07bdc465c63de07d8d23196bb403622 + languageName: node + linkType: hard + +"process@npm:^0.11.10": + version: 0.11.10 + resolution: "process@npm:0.11.10" + checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 + languageName: node + linkType: hard + +"progress@npm:^2.0.3": + version: 2.0.3 + resolution: "progress@npm:2.0.3" + checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c + languageName: node + linkType: hard + +"promise-inflight@npm:^1.0.1": + version: 1.0.1 + resolution: "promise-inflight@npm:1.0.1" + checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc + languageName: node + linkType: hard + +"promise-retry@npm:^2.0.1": + version: 2.0.1 + resolution: "promise-retry@npm:2.0.1" + dependencies: + err-code: "npm:^2.0.2" + retry: "npm:^0.12.0" + checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 + languageName: node + linkType: hard + +"proxy-addr@npm:^2.0.7": + version: 2.0.7 + resolution: "proxy-addr@npm:2.0.7" + dependencies: + forwarded: "npm:0.2.0" + ipaddr.js: "npm:1.9.1" + checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 + languageName: node + linkType: hard + +"proxy-from-env@npm:^1.1.0": + version: 1.1.0 + resolution: "proxy-from-env@npm:1.1.0" + checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b + languageName: node + linkType: hard + +"pump@npm:^3.0.0": + version: 3.0.0 + resolution: "pump@npm:3.0.0" + dependencies: + end-of-stream: "npm:^1.1.0" + once: "npm:^1.3.1" + checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 + languageName: node + linkType: hard + +"punycode@npm:^2.1.0": + version: 2.3.1 + resolution: "punycode@npm:2.3.1" + checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 + languageName: node + linkType: hard + +"queue-microtask@npm:^1.2.2": + version: 1.2.3 + resolution: "queue-microtask@npm:1.2.3" + checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 + languageName: node + linkType: hard + +"quick-format-unescaped@npm:^4.0.3": + version: 4.0.4 + resolution: "quick-format-unescaped@npm:4.0.4" + checksum: 10c0/fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4 + languageName: node + linkType: hard + +"rc@npm:^1.2.7": + version: 1.2.8 + resolution: "rc@npm:1.2.8" + dependencies: + deep-extend: "npm:^0.6.0" + ini: "npm:~1.3.0" + minimist: "npm:^1.2.0" + strip-json-comments: "npm:~2.0.1" + bin: + rc: ./cli.js + checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 + languageName: node + linkType: hard + +"react-is@npm:^18.0.0": + version: 18.2.0 + resolution: "react-is@npm:18.2.0" + checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 + languageName: node + linkType: hard + +"readable-stream@npm:2 || 3, readable-stream@npm:3, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": + version: 3.6.2 + resolution: "readable-stream@npm:3.6.2" + dependencies: + inherits: "npm:^2.0.3" + string_decoder: "npm:^1.1.1" + util-deprecate: "npm:^1.0.1" + checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 + languageName: node + linkType: hard + +"readable-stream@npm:^4.0.0": + version: 4.5.2 + resolution: "readable-stream@npm:4.5.2" + dependencies: + abort-controller: "npm:^3.0.0" + buffer: "npm:^6.0.3" + events: "npm:^3.3.0" + process: "npm:^0.11.10" + string_decoder: "npm:^1.3.0" + checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d + languageName: node + linkType: hard + +"real-require@npm:^0.2.0": + version: 0.2.0 + resolution: "real-require@npm:0.2.0" + checksum: 10c0/23eea5623642f0477412ef8b91acd3969015a1501ed34992ada0e3af521d3c865bb2fe4cdbfec5fe4b505f6d1ef6a03e5c3652520837a8c3b53decff7e74b6a0 + languageName: node + linkType: hard + +"require-from-string@npm:^2.0.2": + version: 2.0.2 + resolution: "require-from-string@npm:2.0.2" + checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 + languageName: node + linkType: hard + +"require-relative@npm:^0.8.7": + version: 0.8.7 + resolution: "require-relative@npm:0.8.7" + checksum: 10c0/b2d36d20cb849c26fb8134064048162e029ebbf373c915e6d31b2d5caa9e9b599c7b3e70700c019c28c9347369e85ecbcf139956788ece2774d8cb355d24c36f + languageName: node + linkType: hard + +"requizzle@npm:^0.2.3": + version: 0.2.4 + resolution: "requizzle@npm:0.2.4" + dependencies: + lodash: "npm:^4.17.21" + checksum: 10c0/ad138f987943aeda5f96cd1ccba9752c96352a729a7e3c3e2545568703f7fc9b978d9b46715803408ef178b0d61d36a4b1b506b367b7e78fe6d041fa5bfa5e06 + languageName: node + linkType: hard + +"resolve-from@npm:^4.0.0": + version: 4.0.0 + resolution: "resolve-from@npm:4.0.0" + checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 + languageName: node + linkType: hard + +"resolve-pkg-maps@npm:^1.0.0": + version: 1.0.0 + resolution: "resolve-pkg-maps@npm:1.0.0" + checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab + languageName: node + linkType: hard + +"ret@npm:~0.2.0": + version: 0.2.2 + resolution: "ret@npm:0.2.2" + checksum: 10c0/1a41e543913cda851abb1dae4852efa97bb693ce58fde3b51cc1cae94e2599dd70b91ad6268a4a07fc238305be06fed91723ef6d08863c48a0d02e0a74b943cd + languageName: node + linkType: hard + +"retry@npm:^0.12.0": + version: 0.12.0 + resolution: "retry@npm:0.12.0" + checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe + languageName: node + linkType: hard + +"reusify@npm:^1.0.4": + version: 1.0.4 + resolution: "reusify@npm:1.0.4" + checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 + languageName: node + linkType: hard + +"rfdc@npm:^1.2.0, rfdc@npm:^1.3.0": + version: 1.3.1 + resolution: "rfdc@npm:1.3.1" + checksum: 10c0/69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef + languageName: node + linkType: hard + +"rimraf@npm:^3.0.2": + version: 3.0.2 + resolution: "rimraf@npm:3.0.2" + dependencies: + glob: "npm:^7.1.3" + bin: + rimraf: bin.js + checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 + languageName: node + linkType: hard + +"roarr@npm:^7.11.0, roarr@npm:^7.18.3": + version: 7.21.0 + resolution: "roarr@npm:7.21.0" + dependencies: + fast-printf: "npm:^1.6.9" + safe-stable-stringify: "npm:^2.4.3" + semver-compare: "npm:^1.0.0" + checksum: 10c0/c2069545c0267614ed6a8396309fcad34327133167a3eac2fcaa56343e98dd942714bcbf1ca9def6de2979863b3416a24bac99d6e27a12ffefb7b3ef2ced9e06 + languageName: node + linkType: hard + +"rollup@npm:^4.2.0": + version: 4.9.6 + resolution: "rollup@npm:4.9.6" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.9.6" + "@rollup/rollup-android-arm64": "npm:4.9.6" + "@rollup/rollup-darwin-arm64": "npm:4.9.6" + "@rollup/rollup-darwin-x64": "npm:4.9.6" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.9.6" + "@rollup/rollup-linux-arm64-gnu": "npm:4.9.6" + "@rollup/rollup-linux-arm64-musl": "npm:4.9.6" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.9.6" + "@rollup/rollup-linux-x64-gnu": "npm:4.9.6" + "@rollup/rollup-linux-x64-musl": "npm:4.9.6" + "@rollup/rollup-win32-arm64-msvc": "npm:4.9.6" + "@rollup/rollup-win32-ia32-msvc": "npm:4.9.6" + "@rollup/rollup-win32-x64-msvc": "npm:4.9.6" + "@types/estree": "npm:1.0.5" + fsevents: "npm:~2.3.2" + dependenciesMeta: + "@rollup/rollup-android-arm-eabi": + optional: true + "@rollup/rollup-android-arm64": + optional: true + "@rollup/rollup-darwin-arm64": + optional: true + "@rollup/rollup-darwin-x64": + optional: true + "@rollup/rollup-linux-arm-gnueabihf": + optional: true + "@rollup/rollup-linux-arm64-gnu": + optional: true + "@rollup/rollup-linux-arm64-musl": + optional: true + "@rollup/rollup-linux-riscv64-gnu": + optional: true + "@rollup/rollup-linux-x64-gnu": + optional: true + "@rollup/rollup-linux-x64-musl": + optional: true + "@rollup/rollup-win32-arm64-msvc": + optional: true + "@rollup/rollup-win32-ia32-msvc": + optional: true + "@rollup/rollup-win32-x64-msvc": + optional: true + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 10c0/fcd9ab091cd2e604525ab919137f7868f002e27dc12921a3e09be2c85fa6e477c9dbd7ca54730500622db64e1fa53d1e5e2db3567e273a31d96d594932c8ae3b + languageName: node + linkType: hard + +"run-parallel@npm:^1.1.9": + version: 1.2.0 + resolution: "run-parallel@npm:1.2.0" + dependencies: + queue-microtask: "npm:^1.2.2" + checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 + languageName: node + linkType: hard + +"rusty-motors@workspace:.": + version: 0.0.0-use.local + resolution: "rusty-motors@workspace:." + dependencies: + "@slonik/migrator": "npm:^0.12.0" + "@types/node": "npm:^20.11.16" + prettier: "npm:3.2.4" + slonik: "npm:29" + typescript: "npm:^5.3.3" + vitest: "npm:^1.2.2" + languageName: unknown + linkType: soft + +"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": + version: 5.2.1 + resolution: "safe-buffer@npm:5.2.1" + checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 + languageName: node + linkType: hard + +"safe-regex2@npm:^2.0.0": + version: 2.0.0 + resolution: "safe-regex2@npm:2.0.0" + dependencies: + ret: "npm:~0.2.0" + checksum: 10c0/f499e4fc69caafd7dd8023759e69a32991baa66e90bec5e2a7777b907943b27068dbff4e7a32cc8231f1354fcb779142f419e85498ae1e37384dc60619509c27 + languageName: node + linkType: hard + +"safe-stable-stringify@npm:^2.3.1, safe-stable-stringify@npm:^2.4.3": + version: 2.4.3 + resolution: "safe-stable-stringify@npm:2.4.3" + checksum: 10c0/81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 + languageName: node + linkType: hard + +"safer-buffer@npm:>= 2.1.2 < 3.0.0": + version: 2.1.2 + resolution: "safer-buffer@npm:2.1.2" + checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 + languageName: node + linkType: hard + +"secure-json-parse@npm:^2.4.0, secure-json-parse@npm:^2.7.0": + version: 2.7.0 + resolution: "secure-json-parse@npm:2.7.0" + checksum: 10c0/f57eb6a44a38a3eeaf3548228585d769d788f59007454214fab9ed7f01fbf2e0f1929111da6db28cf0bcc1a2e89db5219a59e83eeaec3a54e413a0197ce879e4 + languageName: node + linkType: hard + +"semver-compare@npm:^1.0.0": + version: 1.0.0 + resolution: "semver-compare@npm:1.0.0" + checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 + languageName: node + linkType: hard + +"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.3, semver@npm:^7.5.4": + version: 7.5.4 + resolution: "semver@npm:7.5.4" + dependencies: + lru-cache: "npm:^6.0.0" + bin: + semver: bin/semver.js + checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e + languageName: node + linkType: hard + +"serialize-error@npm:^8.0.0": + version: 8.1.0 + resolution: "serialize-error@npm:8.1.0" + dependencies: + type-fest: "npm:^0.20.2" + checksum: 10c0/8cfd89f43ca93e283c5f1d16178a536bdfac9bc6029f4a9df988610cc399bc4f2478d1f10ce40b9dff66b863a5158a19b438fbec929045c96d92174f6bca1e88 + languageName: node + linkType: hard + +"set-blocking@npm:^2.0.0": + version: 2.0.0 + resolution: "set-blocking@npm:2.0.0" + checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 + languageName: node + linkType: hard + +"set-cookie-parser@npm:^2.4.1": + version: 2.6.0 + resolution: "set-cookie-parser@npm:2.6.0" + checksum: 10c0/739da029f0e56806a103fcd5501d9c475e19e77bd8274192d7ae5c374ae714a82bba9a7ac00b0330a18227c5644b08df9e442240527be578f5a6030f9bb2bb80 + languageName: node + linkType: hard + +"setprototypeof@npm:1.2.0": + version: 1.2.0 + resolution: "setprototypeof@npm:1.2.0" + checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc + languageName: node + linkType: hard + +"shebang-command@npm:^2.0.0": + version: 2.0.0 + resolution: "shebang-command@npm:2.0.0" + dependencies: + shebang-regex: "npm:^3.0.0" + checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e + languageName: node + linkType: hard + +"shebang-regex@npm:^3.0.0": + version: 3.0.0 + resolution: "shebang-regex@npm:3.0.0" + checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 + languageName: node + linkType: hard + +"short-unique-id@npm:^5.0.3": + version: 5.0.3 + resolution: "short-unique-id@npm:5.0.3" + bin: + short-unique-id: bin/short-unique-id + suid: bin/short-unique-id + checksum: 10c0/8b9cdfd79304424ba304cb82e1cc27171be158946139ac344c14313f76ede41dec0106fa2fc98b0f6d7b06460eeac87ce8a9ee19b44070eab3ee49f02f733d09 + languageName: node + linkType: hard + +"siginfo@npm:^2.0.0": + version: 2.0.0 + resolution: "siginfo@npm:2.0.0" + checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 + languageName: node + linkType: hard + +"signal-exit@npm:^3.0.7": + version: 3.0.7 + resolution: "signal-exit@npm:3.0.7" + checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 + languageName: node + linkType: hard + +"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": + version: 4.1.0 + resolution: "signal-exit@npm:4.1.0" + checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 + languageName: node + linkType: hard + +"simple-concat@npm:^1.0.0": + version: 1.0.1 + resolution: "simple-concat@npm:1.0.1" + checksum: 10c0/62f7508e674414008910b5397c1811941d457dfa0db4fd5aa7fa0409eb02c3609608dfcd7508cace75b3a0bf67a2a77990711e32cd213d2c76f4fd12ee86d776 + languageName: node + linkType: hard + +"simple-get@npm:^4.0.0": + version: 4.0.1 + resolution: "simple-get@npm:4.0.1" + dependencies: + decompress-response: "npm:^6.0.0" + once: "npm:^1.3.1" + simple-concat: "npm:^1.0.0" + checksum: 10c0/b0649a581dbca741babb960423248899203165769747142033479a7dc5e77d7b0fced0253c731cd57cf21e31e4d77c9157c3069f4448d558ebc96cf9e1eebcf0 + languageName: node + linkType: hard + +"slash@npm:^3.0.0": + version: 3.0.0 + resolution: "slash@npm:3.0.0" + checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b + languageName: node + linkType: hard + +"slonik@npm:29": + version: 29.2.0 + resolution: "slonik@npm:29.2.0" + dependencies: + concat-stream: "npm:^2.0.0" + es6-error: "npm:^4.1.1" + fast-safe-stringify: "npm:^2.1.1" + get-stack-trace: "npm:^2.1.1" + hyperid: "npm:^2.3.1" + is-plain-object: "npm:^5.0.0" + iso8601-duration: "npm:^1.3.0" + p-defer: "npm:^3.0.0" + pg: "npm:^8.7.3" + pg-copy-streams: "npm:^6.0.2" + pg-copy-streams-binary: "npm:^2.2.0" + pg-cursor: "npm:^2.7.3" + pg-protocol: "npm:^1.5.0" + postgres-array: "npm:^3.0.1" + postgres-interval: "npm:^4.0.0" + roarr: "npm:^7.11.0" + serialize-error: "npm:^8.0.0" + through2: "npm:^4.0.2" + checksum: 10c0/578901771de6fa6a720e7ea5359d4b016d701d1be308912b0adf665616d3edb3d2caab800699f5e9aa964f2a437f81c0a7ce5433e47179bb3192466f7d56a6bf + languageName: node + linkType: hard + +"slonik@npm:^37.2.0": + version: 37.2.0 + resolution: "slonik@npm:37.2.0" + dependencies: + "@types/pg": "npm:^8.10.7" + es6-error: "npm:^4.1.1" + get-stack-trace: "npm:^3.1.1" + iso8601-duration: "npm:^1.3.0" + pg: "npm:^8.11.3" + pg-protocol: "npm:^1.6.0" + pg-query-stream: "npm:^4.5.3" + pg-types: "npm:^4.0.1" + postgres-array: "npm:^3.0.2" + postgres-interval: "npm:^4.0.1" + roarr: "npm:^7.18.3" + safe-stable-stringify: "npm:^2.4.3" + serialize-error: "npm:^8.0.0" + peerDependencies: + zod: ^3 + checksum: 10c0/2bd8e8a5c5e6ae8ce1c5814a3b4f79aeb01a121829996d4102a90c9c23854e90e2b71e1148862f89bca7e3ae2c99629a5e9e996997546649ffb04547d455ad7a + languageName: node + linkType: hard + +"smart-buffer@npm:^4.2.0": + version: 4.2.0 + resolution: "smart-buffer@npm:4.2.0" + checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^6.0.0": + version: 6.2.1 + resolution: "socks-proxy-agent@npm:6.2.1" + dependencies: + agent-base: "npm:^6.0.2" + debug: "npm:^4.3.3" + socks: "npm:^2.6.2" + checksum: 10c0/d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 + languageName: node + linkType: hard + +"socks-proxy-agent@npm:^8.0.1": + version: 8.0.2 + resolution: "socks-proxy-agent@npm:8.0.2" + dependencies: + agent-base: "npm:^7.0.2" + debug: "npm:^4.3.4" + socks: "npm:^2.7.1" + checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 + languageName: node + linkType: hard + +"socks@npm:^2.6.2, socks@npm:^2.7.1": + version: 2.7.1 + resolution: "socks@npm:2.7.1" + dependencies: + ip: "npm:^2.0.0" + smart-buffer: "npm:^4.2.0" + checksum: 10c0/43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 + languageName: node + linkType: hard + +"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": + version: 3.8.0 + resolution: "sonic-boom@npm:3.8.0" + dependencies: + atomic-sleep: "npm:^1.0.0" + checksum: 10c0/f3f61cb3fd5d4aad862dd957f22318ef85bf47d4f12ba27b915112908449f752dbdfc95a4739d2b4a9b2770e1e08d349adae9d1030fdab2a3d86128c6773a7f4 + languageName: node + linkType: hard + +"source-map-js@npm:^1.0.2": + version: 1.0.2 + resolution: "source-map-js@npm:1.0.2" + checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 + languageName: node + linkType: hard + +"source-map@npm:^0.6.1": + version: 0.6.1 + resolution: "source-map@npm:0.6.1" + checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 + languageName: node + linkType: hard + +"source-map@npm:^0.8.0-beta.0": + version: 0.8.0-beta.0 + resolution: "source-map@npm:0.8.0-beta.0" + dependencies: + whatwg-url: "npm:^7.0.0" + checksum: 10c0/fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 + languageName: node + linkType: hard + +"split2@npm:^4.0.0, split2@npm:^4.1.0": + version: 4.2.0 + resolution: "split2@npm:4.2.0" + checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 + languageName: node + linkType: hard + +"sprintf-js@npm:~1.0.2": + version: 1.0.3 + resolution: "sprintf-js@npm:1.0.3" + checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb + languageName: node + linkType: hard + +"sqlite3@npm:^5.1.7": + version: 5.1.7 + resolution: "sqlite3@npm:5.1.7" + dependencies: + bindings: "npm:^1.5.0" + node-addon-api: "npm:^7.0.0" + node-gyp: "npm:8.x" + prebuild-install: "npm:^7.1.1" + tar: "npm:^6.1.11" + peerDependencies: + node-gyp: 8.x + dependenciesMeta: + node-gyp: + optional: true + peerDependenciesMeta: + node-gyp: + optional: true + checksum: 10c0/10daab5d7854bd0ec3c7690c00359cd3444eabc869b68c68dcb61374a8fa5e2f4be06cf0aba78f7a16336d49e83e4631e8af98f8bd33c772fe8d60b45fa60bc1 + languageName: node + linkType: hard + +"ssri@npm:^10.0.0": + version: 10.0.5 + resolution: "ssri@npm:10.0.5" + dependencies: + minipass: "npm:^7.0.3" + checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 + languageName: node + linkType: hard + +"ssri@npm:^8.0.0, ssri@npm:^8.0.1": + version: 8.0.1 + resolution: "ssri@npm:8.0.1" + dependencies: + minipass: "npm:^3.1.1" + checksum: 10c0/5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 + languageName: node + linkType: hard + +"stackback@npm:0.0.2": + version: 0.0.2 + resolution: "stackback@npm:0.0.2" + checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 + languageName: node + linkType: hard + +"stacktrace-parser@npm:^0.1.10": + version: 0.1.10 + resolution: "stacktrace-parser@npm:0.1.10" + dependencies: + type-fest: "npm:^0.7.1" + checksum: 10c0/f9c9cd55b0642a546e5f0516a87124fc496dcc2c082b96b156ed094c51e423314795cd1839cd4c59026349cf392d3414f54fc42165255602728588a58a9f72d3 + languageName: node + linkType: hard + +"statuses@npm:2.0.1": + version: 2.0.1 + resolution: "statuses@npm:2.0.1" + checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 + languageName: node + linkType: hard + +"std-env@npm:^3.5.0": + version: 3.7.0 + resolution: "std-env@npm:3.7.0" + checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e + languageName: node + linkType: hard + +"string-argv@npm:~0.3.1": + version: 0.3.2 + resolution: "string-argv@npm:0.3.2" + checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 + languageName: node + linkType: hard + +"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": + version: 4.2.3 + resolution: "string-width@npm:4.2.3" + dependencies: + emoji-regex: "npm:^8.0.0" + is-fullwidth-code-point: "npm:^3.0.0" + strip-ansi: "npm:^6.0.1" + checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b + languageName: node + linkType: hard + +"string-width@npm:^5.0.1, string-width@npm:^5.1.2": + version: 5.1.2 + resolution: "string-width@npm:5.1.2" + dependencies: + eastasianwidth: "npm:^0.2.0" + emoji-regex: "npm:^9.2.2" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca + languageName: node + linkType: hard + +"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": + version: 1.3.0 + resolution: "string_decoder@npm:1.3.0" + dependencies: + safe-buffer: "npm:~5.2.0" + checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d + languageName: node + linkType: hard + +"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": + version: 6.0.1 + resolution: "strip-ansi@npm:6.0.1" + dependencies: + ansi-regex: "npm:^5.0.1" + checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 + languageName: node + linkType: hard + +"strip-ansi@npm:^3.0.0": + version: 3.0.1 + resolution: "strip-ansi@npm:3.0.1" + dependencies: + ansi-regex: "npm:^2.0.0" + checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f + languageName: node + linkType: hard + +"strip-ansi@npm:^7.0.1": + version: 7.1.0 + resolution: "strip-ansi@npm:7.1.0" + dependencies: + ansi-regex: "npm:^6.0.1" + checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 + languageName: node + linkType: hard + +"strip-final-newline@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-final-newline@npm:3.0.0" + checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce + languageName: node + linkType: hard + +"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": + version: 3.1.1 + resolution: "strip-json-comments@npm:3.1.1" + checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd + languageName: node + linkType: hard + +"strip-json-comments@npm:~2.0.1": + version: 2.0.1 + resolution: "strip-json-comments@npm:2.0.1" + checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 + languageName: node + linkType: hard + +"strip-literal@npm:^1.3.0": + version: 1.3.0 + resolution: "strip-literal@npm:1.3.0" + dependencies: + acorn: "npm:^8.10.0" + checksum: 10c0/3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916 + languageName: node + linkType: hard + +"supports-color@npm:^2.0.0": + version: 2.0.0 + resolution: "supports-color@npm:2.0.0" + checksum: 10c0/570e0b63be36cccdd25186350a6cb2eaad332a95ff162fa06d9499982315f2fe4217e69dd98e862fbcd9c81eaff300a825a1fe7bf5cc752e5b84dfed042b0dda + languageName: node + linkType: hard + +"supports-color@npm:^7.1.0": + version: 7.2.0 + resolution: "supports-color@npm:7.2.0" + dependencies: + has-flag: "npm:^4.0.0" + checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 + languageName: node + linkType: hard + +"synckit@npm:^0.8.6": + version: 0.8.8 + resolution: "synckit@npm:0.8.8" + dependencies: + "@pkgr/core": "npm:^0.1.0" + tslib: "npm:^2.6.2" + checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 + languageName: node + linkType: hard + +"tar-fs@npm:^2.0.0": + version: 2.1.1 + resolution: "tar-fs@npm:2.1.1" + dependencies: + chownr: "npm:^1.1.1" + mkdirp-classic: "npm:^0.5.2" + pump: "npm:^3.0.0" + tar-stream: "npm:^2.1.4" + checksum: 10c0/871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d + languageName: node + linkType: hard + +"tar-stream@npm:^2.1.4": + version: 2.2.0 + resolution: "tar-stream@npm:2.2.0" + dependencies: + bl: "npm:^4.0.3" + end-of-stream: "npm:^1.4.1" + fs-constants: "npm:^1.0.0" + inherits: "npm:^2.0.3" + readable-stream: "npm:^3.1.1" + checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": + version: 6.2.0 + resolution: "tar@npm:6.2.0" + dependencies: + chownr: "npm:^2.0.0" + fs-minipass: "npm:^2.0.0" + minipass: "npm:^5.0.0" + minizlib: "npm:^2.1.1" + mkdirp: "npm:^1.0.3" + yallist: "npm:^4.0.0" + checksum: 10c0/02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 + languageName: node + linkType: hard + +"test-exclude@npm:^6.0.0": + version: 6.0.0 + resolution: "test-exclude@npm:6.0.0" + dependencies: + "@istanbuljs/schema": "npm:^0.1.2" + glob: "npm:^7.1.4" + minimatch: "npm:^3.0.4" + checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 + languageName: node + linkType: hard + +"text-table@npm:^0.2.0": + version: 0.2.0 + resolution: "text-table@npm:0.2.0" + checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c + languageName: node + linkType: hard + +"thread-stream@npm:^2.0.0": + version: 2.4.1 + resolution: "thread-stream@npm:2.4.1" + dependencies: + real-require: "npm:^0.2.0" + checksum: 10c0/ce29265810b9550ce896726301ff006ebfe96b90292728f07cfa4c379740585583046e2a8018afc53aca66b18fed12b33a84f3883e7ebc317185f6682898b8f8 + languageName: node + linkType: hard + +"through2@npm:^3.0.1": + version: 3.0.2 + resolution: "through2@npm:3.0.2" + dependencies: + inherits: "npm:^2.0.4" + readable-stream: "npm:2 || 3" + checksum: 10c0/8ea17efa2ce5b78ef5c52d08e29d0dbdad9c321c2add5192bba3434cae25b2319bf9cdac1c54c3bfbd721438a30565ca6f3f19eb79f62341dafc5a12429d2ccc + languageName: node + linkType: hard + +"through2@npm:^4.0.2": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: "npm:3" + checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c + languageName: node + linkType: hard + +"tinybench@npm:^2.5.1": + version: 2.6.0 + resolution: "tinybench@npm:2.6.0" + checksum: 10c0/60ea35699bf8bac9bc8cf279fa5877ab5b335b4673dcd07bf0fbbab9d7953a02c0ccded374677213eaa13aa147f54eb75d3230139ddbeec3875829ebe73db310 + languageName: node + linkType: hard + +"tinypool@npm:^0.8.2": + version: 0.8.2 + resolution: "tinypool@npm:0.8.2" + checksum: 10c0/8998626614172fc37c394e9a14e701dc437727fc6525488a4d4fd42044a4b2b59d6f076d750cbf5c699f79c58dd4e40599ab09e2f1ae0df4b23516b98c9c3055 + languageName: node + linkType: hard + +"tinyspy@npm:^2.2.0": + version: 2.2.0 + resolution: "tinyspy@npm:2.2.0" + checksum: 10c0/8c7b70748dd8590e85d52741db79243746c15bc03c92d75c23160a762142db577e7f53e360ba7300e321b12bca5c42dd2522a8dbeec6ba3830302573dd8516bc + languageName: node + linkType: hard + +"to-fast-properties@npm:^2.0.0": + version: 2.0.0 + resolution: "to-fast-properties@npm:2.0.0" + checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 + languageName: node + linkType: hard + +"to-regex-range@npm:^5.0.1": + version: 5.0.1 + resolution: "to-regex-range@npm:5.0.1" + dependencies: + is-number: "npm:^7.0.0" + checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 + languageName: node + linkType: hard + +"toad-cache@npm:^3.3.0": + version: 3.7.0 + resolution: "toad-cache@npm:3.7.0" + checksum: 10c0/7dae2782ee20b22c9798bb8b71dec7ec6a0091021d2ea9dd6e8afccab6b65b358fdba49a02209fac574499702e2c000660721516c87c2538d1b2c0ba03e8c0c3 + languageName: node + linkType: hard + +"toidentifier@npm:1.0.1": + version: 1.0.1 + resolution: "toidentifier@npm:1.0.1" + checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 + languageName: node + linkType: hard + +"tr46@npm:^1.0.1": + version: 1.0.1 + resolution: "tr46@npm:1.0.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 + languageName: node + linkType: hard + +"tr46@npm:~0.0.3": + version: 0.0.3 + resolution: "tr46@npm:0.0.3" + checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 + languageName: node + linkType: hard + +"ts-api-utils@npm:^1.0.1": + version: 1.0.3 + resolution: "ts-api-utils@npm:1.0.3" + peerDependencies: + typescript: ">=4.2.0" + checksum: 10c0/9408338819c3aca2a709f0bc54e3f874227901506cacb1163612a6c8a43df224174feb965a5eafdae16f66fc68fd7bfee8d3275d0fa73fbb8699e03ed26520c9 + languageName: node + linkType: hard + +"ts-node@npm:10.9.2": + version: 10.9.2 + resolution: "ts-node@npm:10.9.2" + dependencies: + "@cspotcode/source-map-support": "npm:^0.8.0" + "@tsconfig/node10": "npm:^1.0.7" + "@tsconfig/node12": "npm:^1.0.7" + "@tsconfig/node14": "npm:^1.0.0" + "@tsconfig/node16": "npm:^1.0.2" + acorn: "npm:^8.4.1" + acorn-walk: "npm:^8.1.1" + arg: "npm:^4.1.0" + create-require: "npm:^1.1.0" + diff: "npm:^4.0.1" + make-error: "npm:^1.1.1" + v8-compile-cache-lib: "npm:^3.0.1" + yn: "npm:3.1.1" + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + bin: + ts-node: dist/bin.js + ts-node-cwd: dist/bin-cwd.js + ts-node-esm: dist/bin-esm.js + ts-node-script: dist/bin-script.js + ts-node-transpile-only: dist/bin-transpile.js + ts-script: dist/bin-script-deprecated.js + checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 + languageName: node + linkType: hard + +"tslib@npm:^2.6.2": + version: 2.6.2 + resolution: "tslib@npm:2.6.2" + checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb + languageName: node + linkType: hard + +"tsx@npm:4.7.0": + version: 4.7.0 + resolution: "tsx@npm:4.7.0" + dependencies: + esbuild: "npm:~0.19.10" + fsevents: "npm:~2.3.3" + get-tsconfig: "npm:^4.7.2" + dependenciesMeta: + fsevents: + optional: true + bin: + tsx: dist/cli.mjs + checksum: 10c0/ac522a3017aedea31ff468dc161b6408d16a273bd23556716b550d1c08395d7e2568009c8927131481f0a8980ddda84999ac4bc2c00659b08a19b45bec31ef23 + languageName: node + linkType: hard + +"tunnel-agent@npm:^0.6.0": + version: 0.6.0 + resolution: "tunnel-agent@npm:0.6.0" + dependencies: + safe-buffer: "npm:^5.0.1" + checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a + languageName: node + linkType: hard + +"type-check@npm:^0.4.0, type-check@npm:~0.4.0": + version: 0.4.0 + resolution: "type-check@npm:0.4.0" + dependencies: + prelude-ls: "npm:^1.2.1" + checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 + languageName: node + linkType: hard + +"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": + version: 4.0.8 + resolution: "type-detect@npm:4.0.8" + checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd + languageName: node + linkType: hard + +"type-fest@npm:^0.20.2": + version: 0.20.2 + resolution: "type-fest@npm:0.20.2" + checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 + languageName: node + linkType: hard + +"type-fest@npm:^0.7.1": + version: 0.7.1 + resolution: "type-fest@npm:0.7.1" + checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f + languageName: node + linkType: hard + +"type-fest@npm:^4.0.0": + version: 4.10.2 + resolution: "type-fest@npm:4.10.2" + checksum: 10c0/740f7d30da742ff413e8690ec10a24df054bfd87575cf92691b77f5a6b8185c582da529b84ceb13771482599e085712beec51492feaef2a1adc8661c0a47ecba + languageName: node + linkType: hard + +"type-is@npm:^1.6.18": + version: 1.6.18 + resolution: "type-is@npm:1.6.18" + dependencies: + media-typer: "npm:0.3.0" + mime-types: "npm:~2.1.24" + checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d + languageName: node + linkType: hard + +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 + languageName: node + linkType: hard + +"typescript-eslint-language-service@npm:^5.0.5": + version: 5.0.5 + resolution: "typescript-eslint-language-service@npm:5.0.5" + peerDependencies: + "@typescript-eslint/parser": ">= 5.0.0" + eslint: ">= 8.0.0" + typescript: ">= 4.0.0" + checksum: 10c0/61b3ce5a124ad3b2ea6ac06b19e8192b1f3f5db01ecaf3009302979172b2eeaee78f9051fd4a687230b55acadc5272ecf90297d57b09078c97a271016ccbcf07 + languageName: node + linkType: hard + +"typescript@npm:^5.2.2, typescript@npm:^5.3.3": + version: 5.3.3 + resolution: "typescript@npm:5.3.3" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f + languageName: node + linkType: hard + +"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": + version: 5.3.3 + resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" + bin: + tsc: bin/tsc + tsserver: bin/tsserver + checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 + languageName: node + linkType: hard + +"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": + version: 1.0.6 + resolution: "uc.micro@npm:1.0.6" + checksum: 10c0/9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b + languageName: node + linkType: hard + +"ufo@npm:^1.3.2": + version: 1.3.2 + resolution: "ufo@npm:1.3.2" + checksum: 10c0/180f3dfcdf319b54fe0272780841c93cb08a024fc2ee5f95e63285c2a3c42d8b671cd3641e9a53aafccf100cf8466aa8c040ddfa0efea1fc1968c9bfb250a661 + languageName: node + linkType: hard + +"umzug@npm:^3.1.1": + version: 3.6.1 + resolution: "umzug@npm:3.6.1" + dependencies: + "@rushstack/ts-command-line": "npm:^4.12.2" + emittery: "npm:^0.13.0" + glob: "npm:^8.0.3" + pony-cause: "npm:^2.1.4" + type-fest: "npm:^4.0.0" + checksum: 10c0/0a58d3a5ed3b3b50b42a4ad25d4dc2c9103ae8c8061e9f855f49b40507e6a6affc92bc4e10d3f29e091e4024ae7cc73d63cface2c902a5ad4ddb4b74064fe0d8 + languageName: node + linkType: hard + +"underscore@npm:~1.13.2": + version: 1.13.6 + resolution: "underscore@npm:1.13.6" + checksum: 10c0/5f57047f47273044c045fddeb8b141dafa703aa487afd84b319c2495de2e685cecd0b74abec098292320d518b267c0c4598e45aa47d4c3628d0d4020966ba521 + languageName: node + linkType: hard + +"undici-types@npm:~5.26.4": + version: 5.26.5 + resolution: "undici-types@npm:5.26.5" + checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 + languageName: node + linkType: hard + +"unique-filename@npm:^1.1.1": + version: 1.1.1 + resolution: "unique-filename@npm:1.1.1" + dependencies: + unique-slug: "npm:^2.0.0" + checksum: 10c0/d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 + languageName: node + linkType: hard + +"unique-filename@npm:^3.0.0": + version: 3.0.0 + resolution: "unique-filename@npm:3.0.0" + dependencies: + unique-slug: "npm:^4.0.0" + checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + languageName: node + linkType: hard + +"unique-slug@npm:^2.0.0": + version: 2.0.2 + resolution: "unique-slug@npm:2.0.2" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 + languageName: node + linkType: hard + +"unique-slug@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-slug@npm:4.0.0" + dependencies: + imurmurhash: "npm:^0.1.4" + checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 + languageName: node + linkType: hard + +"uri-js@npm:^4.2.2": + version: 4.4.1 + resolution: "uri-js@npm:4.4.1" + dependencies: + punycode: "npm:^2.1.0" + checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c + languageName: node + linkType: hard + +"util-deprecate@npm:^1.0.1": + version: 1.0.2 + resolution: "util-deprecate@npm:1.0.2" + checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 + languageName: node + linkType: hard + +"uuid-parse@npm:^1.1.0": + version: 1.1.0 + resolution: "uuid-parse@npm:1.1.0" + checksum: 10c0/513d5b0407b8929c54d452e8e286a1f6f00d40a2ebf6607fc7297b9caa40eee35230dcc4ce3f178f84d89704e8147e24d1a33d680a8afb7e12a5700714db7f51 + languageName: node + linkType: hard + +"uuid@npm:^8.3.2": + version: 8.3.2 + resolution: "uuid@npm:8.3.2" + bin: + uuid: dist/bin/uuid + checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 + languageName: node + linkType: hard + +"v8-compile-cache-lib@npm:^3.0.1": + version: 3.0.1 + resolution: "v8-compile-cache-lib@npm:3.0.1" + checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 + languageName: node + linkType: hard + +"v8-to-istanbul@npm:^9.2.0": + version: 9.2.0 + resolution: "v8-to-istanbul@npm:9.2.0" + dependencies: + "@jridgewell/trace-mapping": "npm:^0.3.12" + "@types/istanbul-lib-coverage": "npm:^2.0.1" + convert-source-map: "npm:^2.0.0" + checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 + languageName: node + linkType: hard + +"vary@npm:^1.1.2": + version: 1.1.2 + resolution: "vary@npm:1.1.2" + checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f + languageName: node + linkType: hard + +"vite-node@npm:1.2.2": + version: 1.2.2 + resolution: "vite-node@npm:1.2.2" + dependencies: + cac: "npm:^6.7.14" + debug: "npm:^4.3.4" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + vite: "npm:^5.0.0" + bin: + vite-node: vite-node.mjs + checksum: 10c0/39a5b9d9c806a012aab208eee0f59e4e12446ec19a4cf149a6459e7ff86491c289e189fda4f55a63b7e37d713f5edbda0e9efed95af4f7ebefa6d39eee093c0b + languageName: node + linkType: hard + +"vite@npm:^5.0.0": + version: 5.0.12 + resolution: "vite@npm:5.0.12" + dependencies: + esbuild: "npm:^0.19.3" + fsevents: "npm:~2.3.3" + postcss: "npm:^8.4.32" + rollup: "npm:^4.2.0" + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + dependenciesMeta: + fsevents: + optional: true + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + bin: + vite: bin/vite.js + checksum: 10c0/c51b8e458851943c903fddde6973e720099ef8a5f364fb107cddade59c9e90f6d9ad98b61a7419cdfa0c6374236e10bff965d0c2d9e7b1790c68b874e5e7950c + languageName: node + linkType: hard + +"vitest@npm:^1.1.1, vitest@npm:^1.2.2": + version: 1.2.2 + resolution: "vitest@npm:1.2.2" + dependencies: + "@vitest/expect": "npm:1.2.2" + "@vitest/runner": "npm:1.2.2" + "@vitest/snapshot": "npm:1.2.2" + "@vitest/spy": "npm:1.2.2" + "@vitest/utils": "npm:1.2.2" + acorn-walk: "npm:^8.3.2" + cac: "npm:^6.7.14" + chai: "npm:^4.3.10" + debug: "npm:^4.3.4" + execa: "npm:^8.0.1" + local-pkg: "npm:^0.5.0" + magic-string: "npm:^0.30.5" + pathe: "npm:^1.1.1" + picocolors: "npm:^1.0.0" + std-env: "npm:^3.5.0" + strip-literal: "npm:^1.3.0" + tinybench: "npm:^2.5.1" + tinypool: "npm:^0.8.2" + vite: "npm:^5.0.0" + vite-node: "npm:1.2.2" + why-is-node-running: "npm:^2.2.2" + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": ^1.0.0 + "@vitest/ui": ^1.0.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + bin: + vitest: vitest.mjs + checksum: 10c0/085cb62146191b32dc98fac1a5b0de6d1c63c44cc1e7946a7d38309dd4135539432ec27b4bfad38ce79736688a0ce20d9b93f58de4ce4a41677cb3c5ca6ad980 + languageName: node + linkType: hard + +"vue-eslint-parser@npm:^9.1.0": + version: 9.4.2 + resolution: "vue-eslint-parser@npm:9.4.2" + dependencies: + debug: "npm:^4.3.4" + eslint-scope: "npm:^7.1.1" + eslint-visitor-keys: "npm:^3.3.0" + espree: "npm:^9.3.1" + esquery: "npm:^1.4.0" + lodash: "npm:^4.17.21" + semver: "npm:^7.3.6" + peerDependencies: + eslint: ">=6.0.0" + checksum: 10c0/79593073adbce8971565133c70a203f12f0be0f8c5e3a4063796fd56e5de64f1f3ad7f91be5a787a7a3fe751306ed22086ee8369d52725be95f452827ce670de + languageName: node + linkType: hard + +"webidl-conversions@npm:^3.0.0": + version: 3.0.1 + resolution: "webidl-conversions@npm:3.0.1" + checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db + languageName: node + linkType: hard + +"webidl-conversions@npm:^4.0.2": + version: 4.0.2 + resolution: "webidl-conversions@npm:4.0.2" + checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f + languageName: node + linkType: hard + +"whatwg-url@npm:^5.0.0": + version: 5.0.0 + resolution: "whatwg-url@npm:5.0.0" + dependencies: + tr46: "npm:~0.0.3" + webidl-conversions: "npm:^3.0.0" + checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 + languageName: node + linkType: hard + +"whatwg-url@npm:^7.0.0": + version: 7.1.0 + resolution: "whatwg-url@npm:7.1.0" + dependencies: + lodash.sortby: "npm:^4.7.0" + tr46: "npm:^1.0.1" + webidl-conversions: "npm:^4.0.2" + checksum: 10c0/2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 + languageName: node + linkType: hard + +"which@npm:^2.0.1, which@npm:^2.0.2": + version: 2.0.2 + resolution: "which@npm:2.0.2" + dependencies: + isexe: "npm:^2.0.0" + bin: + node-which: ./bin/node-which + checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f + languageName: node + linkType: hard + +"which@npm:^4.0.0": + version: 4.0.0 + resolution: "which@npm:4.0.0" + dependencies: + isexe: "npm:^3.1.1" + bin: + node-which: bin/which.js + checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + languageName: node + linkType: hard + +"why-is-node-running@npm:^2.2.2": + version: 2.2.2 + resolution: "why-is-node-running@npm:2.2.2" + dependencies: + siginfo: "npm:^2.0.0" + stackback: "npm:0.0.2" + bin: + why-is-node-running: cli.js + checksum: 10c0/805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd + languageName: node + linkType: hard + +"wide-align@npm:^1.1.5": + version: 1.1.5 + resolution: "wide-align@npm:1.1.5" + dependencies: + string-width: "npm:^1.0.2 || 2 || 3 || 4" + checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 + languageName: node + linkType: hard + +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": + version: 7.0.0 + resolution: "wrap-ansi@npm:7.0.0" + dependencies: + ansi-styles: "npm:^4.0.0" + string-width: "npm:^4.1.0" + strip-ansi: "npm:^6.0.0" + checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da + languageName: node + linkType: hard + +"wrap-ansi@npm:^8.1.0": + version: 8.1.0 + resolution: "wrap-ansi@npm:8.1.0" + dependencies: + ansi-styles: "npm:^6.1.0" + string-width: "npm:^5.0.1" + strip-ansi: "npm:^7.0.1" + checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 + languageName: node + linkType: hard + +"wrappy@npm:1": + version: 1.0.2 + resolution: "wrappy@npm:1.0.2" + checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 + languageName: node + linkType: hard + +"xmlcreate@npm:^2.0.4": + version: 2.0.4 + resolution: "xmlcreate@npm:2.0.4" + checksum: 10c0/fc4234e2d1942877d761d4f3d64410b54633d2ec60b13a5d56a6a06545aba39a0df8ed7ded10785a302f632eb4f0a4fedbf4bf10e17892e11d5075244b9e5705 + languageName: node + linkType: hard + +"xtend@npm:^4.0.0": + version: 4.0.2 + resolution: "xtend@npm:4.0.2" + checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e + languageName: node + linkType: hard + +"yallist@npm:^4.0.0": + version: 4.0.0 + resolution: "yallist@npm:4.0.0" + checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a + languageName: node + linkType: hard + +"yn@npm:3.1.1": + version: 3.1.1 + resolution: "yn@npm:3.1.1" + checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 + languageName: node + linkType: hard + +"yocto-queue@npm:^0.1.0": + version: 0.1.0 + resolution: "yocto-queue@npm:0.1.0" + checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f + languageName: node + linkType: hard + +"yocto-queue@npm:^1.0.0": + version: 1.0.0 + resolution: "yocto-queue@npm:1.0.0" + checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 + languageName: node + linkType: hard + +"zod@npm:^3.22.4": + version: 3.22.4 + resolution: "zod@npm:3.22.4" + checksum: 10c0/7578ab283dac0eee66a0ad0fc4a7f28c43e6745aadb3a529f59a4b851aa10872b3890398b3160f257f4b6817b4ce643debdda4fb21a2c040adda7862cab0a587 + languageName: node + linkType: hard From 3fa7b78c72ce5f83269a4cbcc5ea9ae8cce926b6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:27:01 +0000 Subject: [PATCH 079/452] chore(deps): update dependency @types/sinon to v17.0.3 --- thebeast/package.json | 2 +- yarn.lock | 13 ++----------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/thebeast/package.json b/thebeast/package.json index d74358c5c..a58df0c11 100644 --- a/thebeast/package.json +++ b/thebeast/package.json @@ -44,7 +44,7 @@ "@tsconfig/node20": "^20.1.2", "@types/chai": "4.3.11", "@types/node": "^20.10.6", - "@types/sinon": "17.0.2", + "@types/sinon": "17.0.3", "@types/sinon-chai": "3.2.12", "@typescript-eslint/eslint-plugin": "^6.17.0", "@typescript-eslint/parser": "^6.17.0", diff --git a/yarn.lock b/yarn.lock index 5b4989c5b..fc94f731d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -653,7 +653,7 @@ __metadata: "@types/chai": "npm:4.3.11" "@types/connect": "npm:^3.4.38" "@types/node": "npm:^20.10.6" - "@types/sinon": "npm:17.0.2" + "@types/sinon": "npm:17.0.3" "@types/sinon-chai": "npm:3.2.12" "@typescript-eslint/eslint-plugin": "npm:^6.17.0" "@typescript-eslint/parser": "npm:^6.17.0" @@ -1014,7 +1014,7 @@ __metadata: languageName: node linkType: hard -"@types/sinon@npm:*": +"@types/sinon@npm:*, @types/sinon@npm:17.0.3": version: 17.0.3 resolution: "@types/sinon@npm:17.0.3" dependencies: @@ -1023,15 +1023,6 @@ __metadata: languageName: node linkType: hard -"@types/sinon@npm:17.0.2": - version: 17.0.2 - resolution: "@types/sinon@npm:17.0.2" - dependencies: - "@types/sinonjs__fake-timers": "npm:*" - checksum: 10c0/0794a7c2ebdef397f510db0ccbfa242d4ae52db88f0f0e23e087f569e8ff76b6466680d96209b511acc0f3c08bb70dac6e51c0c2a4f62dfd1faf34f6cb308498 - languageName: node - linkType: hard - "@types/sinonjs__fake-timers@npm:*": version: 8.1.5 resolution: "@types/sinonjs__fake-timers@npm:8.1.5" From 105bc891014b213cf13d24c0a258c20f7d584615 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 22 Feb 2024 00:27:12 +0000 Subject: [PATCH 080/452] Bump ip from 2.0.0 to 2.0.1 Bumps [ip](https://github.com/indutny/node-ip) from 2.0.0 to 2.0.1. - [Commits](https://github.com/indutny/node-ip/compare/v2.0.0...v2.0.1) --- updated-dependencies: - dependency-name: ip dependency-type: indirect ... Signed-off-by: dependabot[bot] --- .pnp.cjs | 1222 ++++++++++++++++++++++++++--------------------------- yarn.lock | 6 +- 2 files changed, 614 insertions(+), 614 deletions(-) diff --git a/.pnp.cjs b/.pnp.cjs index 809042f51..54d1e3d09 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -43,7 +43,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@aashutoshrathi/word-wrap", [\ ["npm:1.2.6", {\ - "packageLocation": "../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ + "packageLocation": "../../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ "packageDependencies": [\ ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ ],\ @@ -52,7 +52,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@ampproject/remapping", [\ ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ + "packageLocation": "../../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ "packageDependencies": [\ ["@ampproject/remapping", "npm:2.2.1"],\ ["@jridgewell/gen-mapping", "npm:0.3.3"],\ @@ -63,7 +63,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/helper-string-parser", [\ ["npm:7.23.4", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ + "packageLocation": "../../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ "packageDependencies": [\ ["@babel/helper-string-parser", "npm:7.23.4"]\ ],\ @@ -72,7 +72,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/helper-validator-identifier", [\ ["npm:7.22.20", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageLocation": "../../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ "packageDependencies": [\ ["@babel/helper-validator-identifier", "npm:7.22.20"]\ ],\ @@ -81,7 +81,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/parser", [\ ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ + "packageLocation": "../../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ "packageDependencies": [\ ["@babel/parser", "npm:7.23.9"],\ ["@babel/types", "npm:7.23.9"]\ @@ -91,7 +91,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/types", [\ ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ + "packageLocation": "../../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ "packageDependencies": [\ ["@babel/types", "npm:7.23.9"],\ ["@babel/helper-string-parser", "npm:7.23.4"],\ @@ -103,7 +103,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@bcoe/v8-coverage", [\ ["npm:0.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ + "packageLocation": "../../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ "packageDependencies": [\ ["@bcoe/v8-coverage", "npm:0.2.3"]\ ],\ @@ -112,7 +112,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@cspotcode/source-map-support", [\ ["npm:0.8.1", {\ - "packageLocation": "../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ + "packageLocation": "../../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ "packageDependencies": [\ ["@cspotcode/source-map-support", "npm:0.8.1"],\ ["@jridgewell/trace-mapping", "npm:0.3.9"]\ @@ -329,14 +329,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint-community/eslint-utils", [\ ["npm:4.4.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageLocation": "../../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ ["@eslint-community/eslint-utils", "npm:4.4.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/3/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ ["@types/eslint", null],\ @@ -352,7 +352,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint-community/regexpp", [\ ["npm:4.10.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ + "packageLocation": "../../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ "packageDependencies": [\ ["@eslint-community/regexpp", "npm:4.10.0"]\ ],\ @@ -361,7 +361,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint/eslintrc", [\ ["npm:2.1.4", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ + "packageLocation": "../../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ "packageDependencies": [\ ["@eslint/eslintrc", "npm:2.1.4"],\ ["ajv", "npm:6.12.6"],\ @@ -379,7 +379,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint/js", [\ ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ + "packageLocation": "../../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ ["@eslint/js", "npm:8.56.0"]\ ],\ @@ -388,7 +388,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/ajv-compiler", [\ ["npm:3.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ + "packageLocation": "../../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ "packageDependencies": [\ ["@fastify/ajv-compiler", "npm:3.5.0"],\ ["ajv", "npm:8.12.0"],\ @@ -400,7 +400,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/deepmerge", [\ ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ + "packageLocation": "../../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ "packageDependencies": [\ ["@fastify/deepmerge", "npm:1.3.0"]\ ],\ @@ -409,7 +409,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/error", [\ ["npm:3.4.1", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ + "packageLocation": "../../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ "packageDependencies": [\ ["@fastify/error", "npm:3.4.1"]\ ],\ @@ -418,7 +418,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/fast-json-stringify-compiler", [\ ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ + "packageLocation": "../../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ "packageDependencies": [\ ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ ["fast-json-stringify", "npm:5.10.0"]\ @@ -428,7 +428,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/sensible", [\ ["npm:5.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ + "packageLocation": "../../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ "packageDependencies": [\ ["@fastify/sensible", "npm:5.5.0"],\ ["@lukeed/ms", "npm:2.0.2"],\ @@ -444,7 +444,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@gar/promisify", [\ ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ + "packageLocation": "../../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ "packageDependencies": [\ ["@gar/promisify", "npm:1.1.3"]\ ],\ @@ -453,7 +453,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/config-array", [\ ["npm:0.11.14", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ + "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ "packageDependencies": [\ ["@humanwhocodes/config-array", "npm:0.11.14"],\ ["@humanwhocodes/object-schema", "npm:2.0.2"],\ @@ -465,7 +465,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/module-importer", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ "packageDependencies": [\ ["@humanwhocodes/module-importer", "npm:1.0.1"]\ ],\ @@ -474,7 +474,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/object-schema", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ + "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ "packageDependencies": [\ ["@humanwhocodes/object-schema", "npm:2.0.2"]\ ],\ @@ -483,7 +483,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@isaacs/cliui", [\ ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ + "packageLocation": "../../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ "packageDependencies": [\ ["@isaacs/cliui", "npm:8.0.2"],\ ["string-width", "npm:5.1.2"],\ @@ -507,7 +507,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@istanbuljs/schema", [\ ["npm:0.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ + "packageLocation": "../../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ "packageDependencies": [\ ["@istanbuljs/schema", "npm:0.1.3"]\ ],\ @@ -516,7 +516,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jest/schemas", [\ ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ + "packageLocation": "../../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ "packageDependencies": [\ ["@jest/schemas", "npm:29.6.3"],\ ["@sinclair/typebox", "npm:0.27.8"]\ @@ -526,7 +526,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/gen-mapping", [\ ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ "packageDependencies": [\ ["@jridgewell/gen-mapping", "npm:0.3.3"],\ ["@jridgewell/set-array", "npm:1.1.2"],\ @@ -538,7 +538,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/resolve-uri", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ "packageDependencies": [\ ["@jridgewell/resolve-uri", "npm:3.1.1"]\ ],\ @@ -547,7 +547,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/set-array", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ "packageDependencies": [\ ["@jridgewell/set-array", "npm:1.1.2"]\ ],\ @@ -556,7 +556,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/sourcemap-codec", [\ ["npm:1.4.15", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ "packageDependencies": [\ ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ @@ -565,7 +565,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/trace-mapping", [\ ["npm:0.3.22", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ ["@jridgewell/trace-mapping", "npm:0.3.22"],\ ["@jridgewell/resolve-uri", "npm:3.1.1"],\ @@ -574,7 +574,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:0.3.9", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageLocation": "../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ ["@jridgewell/trace-mapping", "npm:0.3.9"],\ ["@jridgewell/resolve-uri", "npm:3.1.1"],\ @@ -585,7 +585,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jsdoc/salty", [\ ["npm:0.2.7", {\ - "packageLocation": "../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ + "packageLocation": "../../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ "packageDependencies": [\ ["@jsdoc/salty", "npm:0.2.7"],\ ["lodash", "npm:4.17.21"]\ @@ -595,7 +595,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@lukeed/ms", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ + "packageLocation": "../../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ "packageDependencies": [\ ["@lukeed/ms", "npm:2.0.2"]\ ],\ @@ -604,7 +604,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.scandir", [\ ["npm:2.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ + "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ "packageDependencies": [\ ["@nodelib/fs.scandir", "npm:2.1.5"],\ ["@nodelib/fs.stat", "npm:2.0.5"],\ @@ -615,7 +615,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.stat", [\ ["npm:2.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ + "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ "packageDependencies": [\ ["@nodelib/fs.stat", "npm:2.0.5"]\ ],\ @@ -624,7 +624,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.walk", [\ ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ + "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ "packageDependencies": [\ ["@nodelib/fs.walk", "npm:1.2.8"],\ ["@nodelib/fs.scandir", "npm:2.1.5"],\ @@ -635,7 +635,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/agent", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ + "packageLocation": "../../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ "packageDependencies": [\ ["@npmcli/agent", "npm:2.2.0"],\ ["agent-base", "npm:7.1.0"],\ @@ -649,7 +649,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/fs", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ + "packageLocation": "../../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ "packageDependencies": [\ ["@npmcli/fs", "npm:1.1.1"],\ ["@gar/promisify", "npm:1.1.3"],\ @@ -658,7 +658,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ + "packageLocation": "../../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ "packageDependencies": [\ ["@npmcli/fs", "npm:3.1.0"],\ ["semver", "npm:7.5.4"]\ @@ -668,7 +668,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/move-file", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ + "packageLocation": "../../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ "packageDependencies": [\ ["@npmcli/move-file", "npm:1.1.2"],\ ["mkdirp", "npm:1.0.4"],\ @@ -679,7 +679,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@pkgjs/parseargs", [\ ["npm:0.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ + "packageLocation": "../../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ "packageDependencies": [\ ["@pkgjs/parseargs", "npm:0.11.0"]\ ],\ @@ -688,7 +688,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@pkgr/core", [\ ["npm:0.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ + "packageLocation": "../../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ "packageDependencies": [\ ["@pkgr/core", "npm:0.1.1"]\ ],\ @@ -814,7 +814,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@rushstack/ts-command-line", [\ ["npm:4.17.1", {\ - "packageLocation": "../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ + "packageLocation": "../../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ "packageDependencies": [\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ ["@types/argparse", "npm:1.0.38"],\ @@ -870,7 +870,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sentry-internal/tracing", [\ ["npm:7.92.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-internal-tracing-npm-7.92.0-19becf7e92-10c0.zip/node_modules/@sentry-internal/tracing/",\ + "packageLocation": "../../.yarn/berry/cache/@sentry-internal-tracing-npm-7.92.0-19becf7e92-10c0.zip/node_modules/@sentry-internal/tracing/",\ "packageDependencies": [\ ["@sentry-internal/tracing", "npm:7.92.0"],\ ["@sentry/core", "npm:7.92.0"],\ @@ -966,7 +966,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sentry/core", [\ ["npm:7.92.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-core-npm-7.92.0-293306f835-10c0.zip/node_modules/@sentry/core/",\ + "packageLocation": "../../.yarn/berry/cache/@sentry-core-npm-7.92.0-293306f835-10c0.zip/node_modules/@sentry/core/",\ "packageDependencies": [\ ["@sentry/core", "npm:7.92.0"],\ ["@sentry/types", "npm:7.92.0"],\ @@ -977,7 +977,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sentry/node", [\ ["npm:7.92.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-node-npm-7.92.0-bf139e7df3-10c0.zip/node_modules/@sentry/node/",\ + "packageLocation": "../../.yarn/berry/cache/@sentry-node-npm-7.92.0-bf139e7df3-10c0.zip/node_modules/@sentry/node/",\ "packageDependencies": [\ ["@sentry/node", "npm:7.92.0"],\ ["@sentry-internal/tracing", "npm:7.92.0"],\ @@ -1016,7 +1016,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sentry/types", [\ ["npm:7.92.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-types-npm-7.92.0-1491c60908-10c0.zip/node_modules/@sentry/types/",\ + "packageLocation": "../../.yarn/berry/cache/@sentry-types-npm-7.92.0-1491c60908-10c0.zip/node_modules/@sentry/types/",\ "packageDependencies": [\ ["@sentry/types", "npm:7.92.0"]\ ],\ @@ -1025,7 +1025,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sentry/utils", [\ ["npm:7.92.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-utils-npm-7.92.0-5a72129b7e-10c0.zip/node_modules/@sentry/utils/",\ + "packageLocation": "../../.yarn/berry/cache/@sentry-utils-npm-7.92.0-5a72129b7e-10c0.zip/node_modules/@sentry/utils/",\ "packageDependencies": [\ ["@sentry/utils", "npm:7.92.0"],\ ["@sentry/types", "npm:7.92.0"]\ @@ -1035,7 +1035,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@sinclair/typebox", [\ ["npm:0.27.8", {\ - "packageLocation": "../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ + "packageLocation": "../../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ "packageDependencies": [\ ["@sinclair/typebox", "npm:0.27.8"]\ ],\ @@ -1044,14 +1044,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@slonik/migrator", [\ ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageLocation": "../../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ "packageDependencies": [\ ["@slonik/migrator", "npm:0.12.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0", {\ - "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/2/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/3/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ "packageDependencies": [\ ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ @@ -1068,7 +1068,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tootallnate/once", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ + "packageLocation": "../../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ "packageDependencies": [\ ["@tootallnate/once", "npm:1.1.2"]\ ],\ @@ -1077,7 +1077,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node-lts", [\ ["npm:20.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ "packageDependencies": [\ ["@tsconfig/node-lts", "npm:20.1.1"]\ ],\ @@ -1086,7 +1086,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node10", [\ ["npm:1.0.9", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ "packageDependencies": [\ ["@tsconfig/node10", "npm:1.0.9"]\ ],\ @@ -1095,7 +1095,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node12", [\ ["npm:1.0.11", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ "packageDependencies": [\ ["@tsconfig/node12", "npm:1.0.11"]\ ],\ @@ -1104,7 +1104,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node14", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ "packageDependencies": [\ ["@tsconfig/node14", "npm:1.0.3"]\ ],\ @@ -1113,7 +1113,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node16", [\ ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ "packageDependencies": [\ ["@tsconfig/node16", "npm:1.0.4"]\ ],\ @@ -1122,7 +1122,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node20", [\ ["npm:20.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ + "packageLocation": "../../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ "packageDependencies": [\ ["@tsconfig/node20", "npm:20.1.2"]\ ],\ @@ -1131,7 +1131,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/argparse", [\ ["npm:1.0.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ + "packageLocation": "../../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ "packageDependencies": [\ ["@types/argparse", "npm:1.0.38"]\ ],\ @@ -1140,7 +1140,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/chai", [\ ["npm:4.3.11", {\ - "packageLocation": "../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ + "packageLocation": "../../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ "packageDependencies": [\ ["@types/chai", "npm:4.3.11"]\ ],\ @@ -1149,7 +1149,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/connect", [\ ["npm:3.4.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ + "packageLocation": "../../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ "packageDependencies": [\ ["@types/connect", "npm:3.4.38"],\ ["@types/node", "npm:20.11.13"]\ @@ -1159,7 +1159,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/estree", [\ ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ + "packageLocation": "../../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ "packageDependencies": [\ ["@types/estree", "npm:1.0.5"]\ ],\ @@ -1168,7 +1168,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/istanbul-lib-coverage", [\ ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageLocation": "../../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ "packageDependencies": [\ ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ ],\ @@ -1177,7 +1177,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/json-schema", [\ ["npm:7.0.15", {\ - "packageLocation": "../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ + "packageLocation": "../../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ "packageDependencies": [\ ["@types/json-schema", "npm:7.0.15"]\ ],\ @@ -1186,7 +1186,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/linkify-it", [\ ["npm:3.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ + "packageLocation": "../../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ "packageDependencies": [\ ["@types/linkify-it", "npm:3.0.5"]\ ],\ @@ -1195,7 +1195,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/markdown-it", [\ ["npm:12.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ + "packageLocation": "../../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ "packageDependencies": [\ ["@types/markdown-it", "npm:12.2.3"],\ ["@types/linkify-it", "npm:3.0.5"],\ @@ -1206,7 +1206,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/mdurl", [\ ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ + "packageLocation": "../../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ "packageDependencies": [\ ["@types/mdurl", "npm:1.0.5"]\ ],\ @@ -1215,7 +1215,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/node", [\ ["npm:20.11.13", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ + "packageLocation": "../../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ "packageDependencies": [\ ["@types/node", "npm:20.11.13"],\ ["undici-types", "npm:5.26.5"]\ @@ -1223,7 +1223,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:20.11.16", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ + "packageLocation": "../../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ "packageDependencies": [\ ["@types/node", "npm:20.11.16"],\ ["undici-types", "npm:5.26.5"]\ @@ -1233,7 +1233,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/pg", [\ ["npm:8.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ + "packageLocation": "../../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ "packageDependencies": [\ ["@types/pg", "npm:8.11.0"],\ ["@types/node", "npm:20.11.13"],\ @@ -1245,7 +1245,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/semver", [\ ["npm:7.5.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ + "packageLocation": "../../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ "packageDependencies": [\ ["@types/semver", "npm:7.5.6"]\ ],\ @@ -1254,7 +1254,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/sinon", [\ ["npm:17.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.2-b8f972e268-10c0.zip/node_modules/@types/sinon/",\ + "packageLocation": "../../.yarn/berry/cache/@types-sinon-npm-17.0.2-b8f972e268-10c0.zip/node_modules/@types/sinon/",\ "packageDependencies": [\ ["@types/sinon", "npm:17.0.2"],\ ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ @@ -1262,7 +1262,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:17.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ + "packageLocation": "../../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ "packageDependencies": [\ ["@types/sinon", "npm:17.0.3"],\ ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ @@ -1272,7 +1272,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/sinon-chai", [\ ["npm:3.2.12", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ + "packageLocation": "../../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ "packageDependencies": [\ ["@types/sinon-chai", "npm:3.2.12"],\ ["@types/chai", "npm:4.3.11"],\ @@ -1283,7 +1283,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/sinonjs__fake-timers", [\ ["npm:8.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ + "packageLocation": "../../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ "packageDependencies": [\ ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ ],\ @@ -1292,14 +1292,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/eslint-plugin", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ "packageDependencies": [\ ["@typescript-eslint/eslint-plugin", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/2/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/3/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ "packageDependencies": [\ ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ ["@eslint-community/regexpp", "npm:4.10.0"],\ @@ -1333,14 +1333,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/parser", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ "packageDependencies": [\ ["@typescript-eslint/parser", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/2/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/3/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ "packageDependencies": [\ ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ ["@types/eslint", null],\ @@ -1364,7 +1364,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/scope-manager", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ "packageDependencies": [\ ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ ["@typescript-eslint/types", "npm:6.20.0"],\ @@ -1375,14 +1375,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/type-utils", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ "packageDependencies": [\ ["@typescript-eslint/type-utils", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/2/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/3/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ "packageDependencies": [\ ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ ["@types/eslint", null],\ @@ -1405,7 +1405,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/types", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ "packageDependencies": [\ ["@typescript-eslint/types", "npm:6.20.0"]\ ],\ @@ -1414,14 +1414,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/typescript-estree", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/3/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ ["@types/typescript", null],\ @@ -1442,7 +1442,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/3/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ ["@types/typescript", null],\ @@ -1465,14 +1465,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/utils", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ "packageDependencies": [\ ["@typescript-eslint/utils", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/2/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/3/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ "packageDependencies": [\ ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ @@ -1494,7 +1494,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/visitor-keys", [\ ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ "packageDependencies": [\ ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ ["@typescript-eslint/types", "npm:6.20.0"],\ @@ -1505,7 +1505,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@ungap/structured-clone", [\ ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ + "packageLocation": "../../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ "packageDependencies": [\ ["@ungap/structured-clone", "npm:1.2.0"]\ ],\ @@ -1514,14 +1514,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/coverage-v8", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ "packageDependencies": [\ ["@vitest/coverage-v8", "npm:1.2.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/2/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/3/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ "packageDependencies": [\ ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ ["@ampproject/remapping", "npm:2.2.1"],\ @@ -1549,7 +1549,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/expect", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ "packageDependencies": [\ ["@vitest/expect", "npm:1.2.2"],\ ["@vitest/spy", "npm:1.2.2"],\ @@ -1561,7 +1561,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/runner", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ "packageDependencies": [\ ["@vitest/runner", "npm:1.2.2"],\ ["@vitest/utils", "npm:1.2.2"],\ @@ -1573,7 +1573,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/snapshot", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ "packageDependencies": [\ ["@vitest/snapshot", "npm:1.2.2"],\ ["magic-string", "npm:0.30.5"],\ @@ -1585,7 +1585,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/spy", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ "packageDependencies": [\ ["@vitest/spy", "npm:1.2.2"],\ ["tinyspy", "npm:2.2.0"]\ @@ -1595,7 +1595,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/utils", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ + "packageLocation": "../../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ "packageDependencies": [\ ["@vitest/utils", "npm:1.2.2"],\ ["diff-sequences", "npm:29.6.3"],\ @@ -1608,14 +1608,14 @@ const RAW_RUNTIME_STATE = ]],\ ["abbrev", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ + "packageLocation": "../../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ "packageDependencies": [\ ["abbrev", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ + "packageLocation": "../../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ "packageDependencies": [\ ["abbrev", "npm:2.0.0"]\ ],\ @@ -1624,7 +1624,7 @@ const RAW_RUNTIME_STATE = ]],\ ["abort-controller", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ + "packageLocation": "../../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ "packageDependencies": [\ ["abort-controller", "npm:3.0.0"],\ ["event-target-shim", "npm:5.0.1"]\ @@ -1634,7 +1634,7 @@ const RAW_RUNTIME_STATE = ]],\ ["abstract-logging", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ + "packageLocation": "../../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ "packageDependencies": [\ ["abstract-logging", "npm:2.0.1"]\ ],\ @@ -1643,7 +1643,7 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn", [\ ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ + "packageLocation": "../../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ "packageDependencies": [\ ["acorn", "npm:8.11.3"]\ ],\ @@ -1652,14 +1652,14 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn-jsx", [\ ["npm:5.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageLocation": "../../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ "packageDependencies": [\ ["acorn-jsx", "npm:5.3.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ - "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/2/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/3/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ "packageDependencies": [\ ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ ["@types/acorn", null],\ @@ -1674,7 +1674,7 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn-walk", [\ ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ + "packageLocation": "../../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ "packageDependencies": [\ ["acorn-walk", "npm:8.3.2"]\ ],\ @@ -1683,7 +1683,7 @@ const RAW_RUNTIME_STATE = ]],\ ["agent-base", [\ ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ + "packageLocation": "../../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ "packageDependencies": [\ ["agent-base", "npm:6.0.2"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ @@ -1691,7 +1691,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ + "packageLocation": "../../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ "packageDependencies": [\ ["agent-base", "npm:7.1.0"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ @@ -1701,7 +1701,7 @@ const RAW_RUNTIME_STATE = ]],\ ["agentkeepalive", [\ ["npm:4.5.0", {\ - "packageLocation": "../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ + "packageLocation": "../../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ "packageDependencies": [\ ["agentkeepalive", "npm:4.5.0"],\ ["humanize-ms", "npm:1.2.1"]\ @@ -1711,7 +1711,7 @@ const RAW_RUNTIME_STATE = ]],\ ["aggregate-error", [\ ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ + "packageLocation": "../../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ "packageDependencies": [\ ["aggregate-error", "npm:3.1.0"],\ ["clean-stack", "npm:2.2.0"],\ @@ -1722,7 +1722,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ajv", [\ ["npm:6.12.6", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ + "packageLocation": "../../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ "packageDependencies": [\ ["ajv", "npm:6.12.6"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -1733,7 +1733,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.12.0", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ + "packageLocation": "../../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ "packageDependencies": [\ ["ajv", "npm:8.12.0"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -1746,14 +1746,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ajv-formats", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageLocation": "../../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ "packageDependencies": [\ ["ajv-formats", "npm:2.1.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1", {\ - "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/2/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/3/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ "packageDependencies": [\ ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ ["@types/ajv", null],\ @@ -1768,21 +1768,21 @@ const RAW_RUNTIME_STATE = ]],\ ["ansi-regex", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:2.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:5.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:6.0.1"]\ ],\ @@ -1791,14 +1791,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ansi-styles", [\ ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:2.2.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:4.3.0"],\ ["color-convert", "npm:2.0.1"]\ @@ -1806,14 +1806,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:5.2.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:6.2.1"]\ ],\ @@ -1822,7 +1822,7 @@ const RAW_RUNTIME_STATE = ]],\ ["aproba", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ + "packageLocation": "../../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ "packageDependencies": [\ ["aproba", "npm:2.0.0"]\ ],\ @@ -1831,7 +1831,7 @@ const RAW_RUNTIME_STATE = ]],\ ["archy", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ + "packageLocation": "../../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ "packageDependencies": [\ ["archy", "npm:1.0.0"]\ ],\ @@ -1840,7 +1840,7 @@ const RAW_RUNTIME_STATE = ]],\ ["are-we-there-yet", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ + "packageLocation": "../../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ "packageDependencies": [\ ["are-we-there-yet", "npm:3.0.1"],\ ["delegates", "npm:1.0.0"],\ @@ -1851,7 +1851,7 @@ const RAW_RUNTIME_STATE = ]],\ ["arg", [\ ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ + "packageLocation": "../../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ "packageDependencies": [\ ["arg", "npm:4.1.3"]\ ],\ @@ -1860,7 +1860,7 @@ const RAW_RUNTIME_STATE = ]],\ ["argparse", [\ ["npm:1.0.10", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ + "packageLocation": "../../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ "packageDependencies": [\ ["argparse", "npm:1.0.10"],\ ["sprintf-js", "npm:1.0.3"]\ @@ -1868,7 +1868,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ + "packageLocation": "../../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ "packageDependencies": [\ ["argparse", "npm:2.0.1"]\ ],\ @@ -1877,7 +1877,7 @@ const RAW_RUNTIME_STATE = ]],\ ["array-union", [\ ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ + "packageLocation": "../../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ "packageDependencies": [\ ["array-union", "npm:2.1.0"]\ ],\ @@ -1886,7 +1886,7 @@ const RAW_RUNTIME_STATE = ]],\ ["assertion-error", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ + "packageLocation": "../../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ "packageDependencies": [\ ["assertion-error", "npm:1.1.0"]\ ],\ @@ -1895,7 +1895,7 @@ const RAW_RUNTIME_STATE = ]],\ ["atomic-sleep", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ + "packageLocation": "../../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ "packageDependencies": [\ ["atomic-sleep", "npm:1.0.0"]\ ],\ @@ -1904,7 +1904,7 @@ const RAW_RUNTIME_STATE = ]],\ ["avvio", [\ ["npm:8.2.1", {\ - "packageLocation": "../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ + "packageLocation": "../../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ "packageDependencies": [\ ["avvio", "npm:8.2.1"],\ ["archy", "npm:1.0.0"],\ @@ -1916,7 +1916,7 @@ const RAW_RUNTIME_STATE = ]],\ ["balanced-match", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ + "packageLocation": "../../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ "packageDependencies": [\ ["balanced-match", "npm:1.0.2"]\ ],\ @@ -1925,7 +1925,7 @@ const RAW_RUNTIME_STATE = ]],\ ["base64-js", [\ ["npm:1.5.1", {\ - "packageLocation": "../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ + "packageLocation": "../../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ "packageDependencies": [\ ["base64-js", "npm:1.5.1"]\ ],\ @@ -1934,7 +1934,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bindings", [\ ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ + "packageLocation": "../../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ "packageDependencies": [\ ["bindings", "npm:1.5.0"],\ ["file-uri-to-path", "npm:1.0.0"]\ @@ -1944,7 +1944,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bl", [\ ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ + "packageLocation": "../../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ "packageDependencies": [\ ["bl", "npm:4.1.0"],\ ["buffer", "npm:5.7.1"],\ @@ -1956,7 +1956,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bluebird", [\ ["npm:3.7.2", {\ - "packageLocation": "../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ + "packageLocation": "../../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ "packageDependencies": [\ ["bluebird", "npm:3.7.2"]\ ],\ @@ -1965,7 +1965,7 @@ const RAW_RUNTIME_STATE = ]],\ ["boolean", [\ ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ + "packageLocation": "../../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ "packageDependencies": [\ ["boolean", "npm:3.2.0"]\ ],\ @@ -1974,7 +1974,7 @@ const RAW_RUNTIME_STATE = ]],\ ["brace-expansion", [\ ["npm:1.1.11", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ + "packageLocation": "../../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ "packageDependencies": [\ ["brace-expansion", "npm:1.1.11"],\ ["balanced-match", "npm:1.0.2"],\ @@ -1983,7 +1983,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ + "packageLocation": "../../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ "packageDependencies": [\ ["brace-expansion", "npm:2.0.1"],\ ["balanced-match", "npm:1.0.2"]\ @@ -1993,7 +1993,7 @@ const RAW_RUNTIME_STATE = ]],\ ["braces", [\ ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ + "packageLocation": "../../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ "packageDependencies": [\ ["braces", "npm:3.0.2"],\ ["fill-range", "npm:7.0.1"]\ @@ -2003,7 +2003,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer", [\ ["npm:5.7.1", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ + "packageLocation": "../../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ "packageDependencies": [\ ["buffer", "npm:5.7.1"],\ ["base64-js", "npm:1.5.1"],\ @@ -2012,7 +2012,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.3", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ + "packageLocation": "../../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ "packageDependencies": [\ ["buffer", "npm:6.0.3"],\ ["base64-js", "npm:1.5.1"],\ @@ -2023,7 +2023,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer-from", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ + "packageLocation": "../../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ "packageDependencies": [\ ["buffer-from", "npm:1.1.2"]\ ],\ @@ -2032,7 +2032,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer-writer", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ + "packageLocation": "../../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ "packageDependencies": [\ ["buffer-writer", "npm:2.0.0"]\ ],\ @@ -2050,7 +2050,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cac", [\ ["npm:6.7.14", {\ - "packageLocation": "../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ + "packageLocation": "../../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ "packageDependencies": [\ ["cac", "npm:6.7.14"]\ ],\ @@ -2059,7 +2059,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cacache", [\ ["npm:15.3.0", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ + "packageLocation": "../../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ "packageDependencies": [\ ["cacache", "npm:15.3.0"],\ ["@npmcli/fs", "npm:1.1.1"],\ @@ -2084,7 +2084,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:18.0.2", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ + "packageLocation": "../../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ "packageDependencies": [\ ["cacache", "npm:18.0.2"],\ ["@npmcli/fs", "npm:3.1.0"],\ @@ -2105,7 +2105,7 @@ const RAW_RUNTIME_STATE = ]],\ ["callsites", [\ ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ + "packageLocation": "../../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ "packageDependencies": [\ ["callsites", "npm:3.1.0"]\ ],\ @@ -2114,7 +2114,7 @@ const RAW_RUNTIME_STATE = ]],\ ["catharsis", [\ ["npm:0.9.0", {\ - "packageLocation": "../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ + "packageLocation": "../../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ "packageDependencies": [\ ["catharsis", "npm:0.9.0"],\ ["lodash", "npm:4.17.21"]\ @@ -2124,7 +2124,7 @@ const RAW_RUNTIME_STATE = ]],\ ["chai", [\ ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ + "packageLocation": "../../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ "packageDependencies": [\ ["chai", "npm:4.4.1"],\ ["assertion-error", "npm:1.1.0"],\ @@ -2140,7 +2140,7 @@ const RAW_RUNTIME_STATE = ]],\ ["chalk", [\ ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ + "packageLocation": "../../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ "packageDependencies": [\ ["chalk", "npm:1.1.3"],\ ["ansi-styles", "npm:2.2.1"],\ @@ -2152,7 +2152,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.1.2", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ + "packageLocation": "../../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ "packageDependencies": [\ ["chalk", "npm:4.1.2"],\ ["ansi-styles", "npm:4.3.0"],\ @@ -2163,7 +2163,7 @@ const RAW_RUNTIME_STATE = ]],\ ["check-error", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ + "packageLocation": "../../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ "packageDependencies": [\ ["check-error", "npm:1.0.3"],\ ["get-func-name", "npm:2.0.2"]\ @@ -2173,14 +2173,14 @@ const RAW_RUNTIME_STATE = ]],\ ["chownr", [\ ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ + "packageLocation": "../../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ "packageDependencies": [\ ["chownr", "npm:1.1.4"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ + "packageLocation": "../../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ "packageDependencies": [\ ["chownr", "npm:2.0.0"]\ ],\ @@ -2189,7 +2189,7 @@ const RAW_RUNTIME_STATE = ]],\ ["clean-stack", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ + "packageLocation": "../../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ "packageDependencies": [\ ["clean-stack", "npm:2.2.0"]\ ],\ @@ -2198,7 +2198,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-convert", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ + "packageLocation": "../../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ "packageDependencies": [\ ["color-convert", "npm:2.0.1"],\ ["color-name", "npm:1.1.4"]\ @@ -2208,7 +2208,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-name", [\ ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ + "packageLocation": "../../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ "packageDependencies": [\ ["color-name", "npm:1.1.4"]\ ],\ @@ -2217,7 +2217,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-support", [\ ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ + "packageLocation": "../../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ "packageDependencies": [\ ["color-support", "npm:1.1.3"]\ ],\ @@ -2226,7 +2226,7 @@ const RAW_RUNTIME_STATE = ]],\ ["colorette", [\ ["npm:2.0.20", {\ - "packageLocation": "../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ + "packageLocation": "../../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ "packageDependencies": [\ ["colorette", "npm:2.0.20"]\ ],\ @@ -2235,7 +2235,7 @@ const RAW_RUNTIME_STATE = ]],\ ["colors", [\ ["npm:1.2.5", {\ - "packageLocation": "../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ + "packageLocation": "../../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ "packageDependencies": [\ ["colors", "npm:1.2.5"]\ ],\ @@ -2244,7 +2244,7 @@ const RAW_RUNTIME_STATE = ]],\ ["common-tags", [\ ["npm:1.8.2", {\ - "packageLocation": "../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ + "packageLocation": "../../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ "packageDependencies": [\ ["common-tags", "npm:1.8.2"]\ ],\ @@ -2253,7 +2253,7 @@ const RAW_RUNTIME_STATE = ]],\ ["concat-map", [\ ["npm:0.0.1", {\ - "packageLocation": "../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ + "packageLocation": "../../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ "packageDependencies": [\ ["concat-map", "npm:0.0.1"]\ ],\ @@ -2262,7 +2262,7 @@ const RAW_RUNTIME_STATE = ]],\ ["concat-stream", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ + "packageLocation": "../../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ "packageDependencies": [\ ["concat-stream", "npm:2.0.0"],\ ["buffer-from", "npm:1.1.2"],\ @@ -2275,7 +2275,7 @@ const RAW_RUNTIME_STATE = ]],\ ["console-control-strings", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ + "packageLocation": "../../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ "packageDependencies": [\ ["console-control-strings", "npm:1.1.0"]\ ],\ @@ -2284,7 +2284,7 @@ const RAW_RUNTIME_STATE = ]],\ ["convert-source-map", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ + "packageLocation": "../../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ "packageDependencies": [\ ["convert-source-map", "npm:2.0.0"]\ ],\ @@ -2293,7 +2293,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cookie", [\ ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ + "packageLocation": "../../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ "packageDependencies": [\ ["cookie", "npm:0.5.0"]\ ],\ @@ -2302,7 +2302,7 @@ const RAW_RUNTIME_STATE = ]],\ ["create-require", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ + "packageLocation": "../../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ "packageDependencies": [\ ["create-require", "npm:1.1.1"]\ ],\ @@ -2311,7 +2311,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cross-spawn", [\ ["npm:7.0.3", {\ - "packageLocation": "../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ + "packageLocation": "../../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ "packageDependencies": [\ ["cross-spawn", "npm:7.0.3"],\ ["path-key", "npm:3.1.1"],\ @@ -2323,7 +2323,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dateformat", [\ ["npm:4.6.3", {\ - "packageLocation": "../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ + "packageLocation": "../../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ "packageDependencies": [\ ["dateformat", "npm:4.6.3"]\ ],\ @@ -2332,14 +2332,14 @@ const RAW_RUNTIME_STATE = ]],\ ["debug", [\ ["npm:4.3.4", {\ - "packageLocation": "../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageLocation": "../../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ "packageDependencies": [\ ["debug", "npm:4.3.4"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/2/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/3/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ "packageDependencies": [\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ ["@types/supports-color", null],\ @@ -2355,7 +2355,7 @@ const RAW_RUNTIME_STATE = ]],\ ["decompress-response", [\ ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ + "packageLocation": "../../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ "packageDependencies": [\ ["decompress-response", "npm:6.0.0"],\ ["mimic-response", "npm:3.1.0"]\ @@ -2365,7 +2365,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-eql", [\ ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ + "packageLocation": "../../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ "packageDependencies": [\ ["deep-eql", "npm:4.1.3"],\ ["type-detect", "npm:4.0.8"]\ @@ -2375,7 +2375,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-extend", [\ ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ + "packageLocation": "../../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ "packageDependencies": [\ ["deep-extend", "npm:0.6.0"]\ ],\ @@ -2384,7 +2384,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-is", [\ ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ + "packageLocation": "../../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ "packageDependencies": [\ ["deep-is", "npm:0.1.4"]\ ],\ @@ -2393,7 +2393,7 @@ const RAW_RUNTIME_STATE = ]],\ ["delegates", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ + "packageLocation": "../../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ "packageDependencies": [\ ["delegates", "npm:1.0.0"]\ ],\ @@ -2402,7 +2402,7 @@ const RAW_RUNTIME_STATE = ]],\ ["depd", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ + "packageLocation": "../../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ "packageDependencies": [\ ["depd", "npm:2.0.0"]\ ],\ @@ -2411,7 +2411,7 @@ const RAW_RUNTIME_STATE = ]],\ ["detect-libc", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ + "packageLocation": "../../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ "packageDependencies": [\ ["detect-libc", "npm:2.0.2"]\ ],\ @@ -2420,7 +2420,7 @@ const RAW_RUNTIME_STATE = ]],\ ["diff", [\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ + "packageLocation": "../../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ "packageDependencies": [\ ["diff", "npm:4.0.2"]\ ],\ @@ -2429,7 +2429,7 @@ const RAW_RUNTIME_STATE = ]],\ ["diff-sequences", [\ ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ + "packageLocation": "../../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ "packageDependencies": [\ ["diff-sequences", "npm:29.6.3"]\ ],\ @@ -2438,7 +2438,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dir-glob", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ + "packageLocation": "../../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ "packageDependencies": [\ ["dir-glob", "npm:3.0.1"],\ ["path-type", "npm:4.0.0"]\ @@ -2448,7 +2448,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dlv", [\ ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ + "packageLocation": "../../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ "packageDependencies": [\ ["dlv", "npm:1.1.3"]\ ],\ @@ -2457,7 +2457,7 @@ const RAW_RUNTIME_STATE = ]],\ ["doctrine", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ + "packageLocation": "../../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ "packageDependencies": [\ ["doctrine", "npm:3.0.0"],\ ["esutils", "npm:2.0.3"]\ @@ -2467,7 +2467,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eastasianwidth", [\ ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ + "packageLocation": "../../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ "packageDependencies": [\ ["eastasianwidth", "npm:0.2.0"]\ ],\ @@ -2476,7 +2476,7 @@ const RAW_RUNTIME_STATE = ]],\ ["emittery", [\ ["npm:0.13.1", {\ - "packageLocation": "../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ + "packageLocation": "../../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ "packageDependencies": [\ ["emittery", "npm:0.13.1"]\ ],\ @@ -2485,14 +2485,14 @@ const RAW_RUNTIME_STATE = ]],\ ["emoji-regex", [\ ["npm:8.0.0", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ + "packageLocation": "../../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ "packageDependencies": [\ ["emoji-regex", "npm:8.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:9.2.2", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ + "packageLocation": "../../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ "packageDependencies": [\ ["emoji-regex", "npm:9.2.2"]\ ],\ @@ -2501,7 +2501,7 @@ const RAW_RUNTIME_STATE = ]],\ ["encoding", [\ ["npm:0.1.13", {\ - "packageLocation": "../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ + "packageLocation": "../../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ "packageDependencies": [\ ["encoding", "npm:0.1.13"],\ ["iconv-lite", "npm:0.6.3"]\ @@ -2511,7 +2511,7 @@ const RAW_RUNTIME_STATE = ]],\ ["end-of-stream", [\ ["npm:1.4.4", {\ - "packageLocation": "../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ + "packageLocation": "../../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ "packageDependencies": [\ ["end-of-stream", "npm:1.4.4"],\ ["once", "npm:1.4.0"]\ @@ -2521,7 +2521,7 @@ const RAW_RUNTIME_STATE = ]],\ ["entities", [\ ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ + "packageLocation": "../../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ "packageDependencies": [\ ["entities", "npm:2.1.0"]\ ],\ @@ -2530,7 +2530,7 @@ const RAW_RUNTIME_STATE = ]],\ ["env-paths", [\ ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ + "packageLocation": "../../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ "packageDependencies": [\ ["env-paths", "npm:2.2.1"]\ ],\ @@ -2539,7 +2539,7 @@ const RAW_RUNTIME_STATE = ]],\ ["err-code", [\ ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ + "packageLocation": "../../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ "packageDependencies": [\ ["err-code", "npm:2.0.3"]\ ],\ @@ -2548,7 +2548,7 @@ const RAW_RUNTIME_STATE = ]],\ ["es6-error", [\ ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ + "packageLocation": "../../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ "packageDependencies": [\ ["es6-error", "npm:4.1.1"]\ ],\ @@ -2589,21 +2589,21 @@ const RAW_RUNTIME_STATE = ]],\ ["escape-string-regexp", [\ ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:1.0.5"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:4.0.0"]\ ],\ @@ -2612,7 +2612,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint", [\ ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ + "packageLocation": "../../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ "packageDependencies": [\ ["eslint", "npm:8.56.0"],\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ @@ -2659,14 +2659,14 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-config-prettier", [\ ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageLocation": "../../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ "packageDependencies": [\ ["eslint-config-prettier", "npm:9.1.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/2/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/3/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ "packageDependencies": [\ ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ ["@types/eslint", null],\ @@ -2681,14 +2681,14 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-plugin-prettier", [\ ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageLocation": "../../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ "packageDependencies": [\ ["eslint-plugin-prettier", "npm:5.1.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/2/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/3/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ "packageDependencies": [\ ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ ["@types/eslint", null],\ @@ -2713,7 +2713,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-scope", [\ ["npm:7.2.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ + "packageLocation": "../../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ "packageDependencies": [\ ["eslint-scope", "npm:7.2.2"],\ ["esrecurse", "npm:4.3.0"],\ @@ -2724,7 +2724,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-visitor-keys", [\ ["npm:3.4.3", {\ - "packageLocation": "../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ + "packageLocation": "../../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ "packageDependencies": [\ ["eslint-visitor-keys", "npm:3.4.3"]\ ],\ @@ -2733,7 +2733,7 @@ const RAW_RUNTIME_STATE = ]],\ ["espree", [\ ["npm:9.6.1", {\ - "packageLocation": "../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ + "packageLocation": "../../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ "packageDependencies": [\ ["espree", "npm:9.6.1"],\ ["acorn", "npm:8.11.3"],\ @@ -2745,7 +2745,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esquery", [\ ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ + "packageLocation": "../../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ "packageDependencies": [\ ["esquery", "npm:1.5.0"],\ ["estraverse", "npm:5.3.0"]\ @@ -2755,7 +2755,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esrecurse", [\ ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ + "packageLocation": "../../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ "packageDependencies": [\ ["esrecurse", "npm:4.3.0"],\ ["estraverse", "npm:5.3.0"]\ @@ -2765,7 +2765,7 @@ const RAW_RUNTIME_STATE = ]],\ ["estraverse", [\ ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ + "packageLocation": "../../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ "packageDependencies": [\ ["estraverse", "npm:5.3.0"]\ ],\ @@ -2774,7 +2774,7 @@ const RAW_RUNTIME_STATE = ]],\ ["estree-walker", [\ ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ + "packageLocation": "../../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ "packageDependencies": [\ ["estree-walker", "npm:3.0.3"],\ ["@types/estree", "npm:1.0.5"]\ @@ -2784,7 +2784,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esutils", [\ ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ + "packageLocation": "../../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ "packageDependencies": [\ ["esutils", "npm:2.0.3"]\ ],\ @@ -2793,7 +2793,7 @@ const RAW_RUNTIME_STATE = ]],\ ["event-target-shim", [\ ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ + "packageLocation": "../../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ "packageDependencies": [\ ["event-target-shim", "npm:5.0.1"]\ ],\ @@ -2802,7 +2802,7 @@ const RAW_RUNTIME_STATE = ]],\ ["events", [\ ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ + "packageLocation": "../../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ "packageDependencies": [\ ["events", "npm:3.3.0"]\ ],\ @@ -2811,7 +2811,7 @@ const RAW_RUNTIME_STATE = ]],\ ["execa", [\ ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ + "packageLocation": "../../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ "packageDependencies": [\ ["execa", "npm:8.0.1"],\ ["cross-spawn", "npm:7.0.3"],\ @@ -2829,7 +2829,7 @@ const RAW_RUNTIME_STATE = ]],\ ["expand-template", [\ ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ + "packageLocation": "../../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ "packageDependencies": [\ ["expand-template", "npm:2.0.3"]\ ],\ @@ -2838,7 +2838,7 @@ const RAW_RUNTIME_STATE = ]],\ ["exponential-backoff", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ + "packageLocation": "../../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ "packageDependencies": [\ ["exponential-backoff", "npm:3.1.1"]\ ],\ @@ -2847,7 +2847,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-content-type-parse", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ + "packageLocation": "../../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ "packageDependencies": [\ ["fast-content-type-parse", "npm:1.1.0"]\ ],\ @@ -2856,7 +2856,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-copy", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ + "packageLocation": "../../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ "packageDependencies": [\ ["fast-copy", "npm:3.0.1"]\ ],\ @@ -2865,7 +2865,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-decode-uri-component", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ + "packageLocation": "../../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ "packageDependencies": [\ ["fast-decode-uri-component", "npm:1.0.1"]\ ],\ @@ -2874,7 +2874,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-deep-equal", [\ ["npm:3.1.3", {\ - "packageLocation": "../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ + "packageLocation": "../../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ "packageDependencies": [\ ["fast-deep-equal", "npm:3.1.3"]\ ],\ @@ -2883,7 +2883,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-diff", [\ ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ + "packageLocation": "../../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ "packageDependencies": [\ ["fast-diff", "npm:1.3.0"]\ ],\ @@ -2892,7 +2892,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-glob", [\ ["npm:3.3.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ + "packageLocation": "../../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ "packageDependencies": [\ ["fast-glob", "npm:3.3.2"],\ ["@nodelib/fs.stat", "npm:2.0.5"],\ @@ -2906,7 +2906,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-json-stable-stringify", [\ ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ + "packageLocation": "../../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ "packageDependencies": [\ ["fast-json-stable-stringify", "npm:2.1.0"]\ ],\ @@ -2915,7 +2915,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-json-stringify", [\ ["npm:5.10.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ + "packageLocation": "../../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ "packageDependencies": [\ ["fast-json-stringify", "npm:5.10.0"],\ ["@fastify/deepmerge", "npm:1.3.0"],\ @@ -2931,7 +2931,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-levenshtein", [\ ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ + "packageLocation": "../../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ "packageDependencies": [\ ["fast-levenshtein", "npm:2.0.6"]\ ],\ @@ -2940,7 +2940,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-printf", [\ ["npm:1.6.9", {\ - "packageLocation": "../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ + "packageLocation": "../../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ "packageDependencies": [\ ["fast-printf", "npm:1.6.9"],\ ["boolean", "npm:3.2.0"]\ @@ -2950,7 +2950,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-querystring", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ + "packageLocation": "../../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ "packageDependencies": [\ ["fast-querystring", "npm:1.1.2"],\ ["fast-decode-uri-component", "npm:1.0.1"]\ @@ -2960,7 +2960,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-redact", [\ ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ + "packageLocation": "../../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ "packageDependencies": [\ ["fast-redact", "npm:3.3.0"]\ ],\ @@ -2969,7 +2969,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-safe-stringify", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ + "packageLocation": "../../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ "packageDependencies": [\ ["fast-safe-stringify", "npm:2.1.1"]\ ],\ @@ -2978,7 +2978,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-uri", [\ ["npm:2.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ + "packageLocation": "../../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ "packageDependencies": [\ ["fast-uri", "npm:2.3.0"]\ ],\ @@ -2987,7 +2987,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastify", [\ ["npm:4.26.0", {\ - "packageLocation": "../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ + "packageLocation": "../../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ "packageDependencies": [\ ["fastify", "npm:4.26.0"],\ ["@fastify/ajv-compiler", "npm:3.5.0"],\ @@ -3012,7 +3012,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastify-plugin", [\ ["npm:4.5.1", {\ - "packageLocation": "../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ + "packageLocation": "../../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ "packageDependencies": [\ ["fastify-plugin", "npm:4.5.1"]\ ],\ @@ -3021,7 +3021,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastq", [\ ["npm:1.17.0", {\ - "packageLocation": "../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ + "packageLocation": "../../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ "packageDependencies": [\ ["fastq", "npm:1.17.0"],\ ["reusify", "npm:1.0.4"]\ @@ -3031,7 +3031,7 @@ const RAW_RUNTIME_STATE = ]],\ ["file-entry-cache", [\ ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ + "packageLocation": "../../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ "packageDependencies": [\ ["file-entry-cache", "npm:6.0.1"],\ ["flat-cache", "npm:3.2.0"]\ @@ -3041,7 +3041,7 @@ const RAW_RUNTIME_STATE = ]],\ ["file-uri-to-path", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ + "packageLocation": "../../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ "packageDependencies": [\ ["file-uri-to-path", "npm:1.0.0"]\ ],\ @@ -3050,7 +3050,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fill-range", [\ ["npm:7.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ + "packageLocation": "../../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ "packageDependencies": [\ ["fill-range", "npm:7.0.1"],\ ["to-regex-range", "npm:5.0.1"]\ @@ -3060,7 +3060,7 @@ const RAW_RUNTIME_STATE = ]],\ ["find-my-way", [\ ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ + "packageLocation": "../../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ "packageDependencies": [\ ["find-my-way", "npm:8.1.0"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -3072,7 +3072,7 @@ const RAW_RUNTIME_STATE = ]],\ ["find-up", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ + "packageLocation": "../../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ "packageDependencies": [\ ["find-up", "npm:5.0.0"],\ ["locate-path", "npm:6.0.0"],\ @@ -3083,7 +3083,7 @@ const RAW_RUNTIME_STATE = ]],\ ["flat-cache", [\ ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ + "packageLocation": "../../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ "packageDependencies": [\ ["flat-cache", "npm:3.2.0"],\ ["flatted", "npm:3.2.9"],\ @@ -3095,7 +3095,7 @@ const RAW_RUNTIME_STATE = ]],\ ["flatted", [\ ["npm:3.2.9", {\ - "packageLocation": "../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ + "packageLocation": "../../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ "packageDependencies": [\ ["flatted", "npm:3.2.9"]\ ],\ @@ -3104,7 +3104,7 @@ const RAW_RUNTIME_STATE = ]],\ ["foreground-child", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ + "packageLocation": "../../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ "packageDependencies": [\ ["foreground-child", "npm:3.1.1"],\ ["cross-spawn", "npm:7.0.3"],\ @@ -3115,7 +3115,7 @@ const RAW_RUNTIME_STATE = ]],\ ["forwarded", [\ ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ + "packageLocation": "../../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ "packageDependencies": [\ ["forwarded", "npm:0.2.0"]\ ],\ @@ -3124,7 +3124,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs-constants", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ + "packageLocation": "../../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ "packageDependencies": [\ ["fs-constants", "npm:1.0.0"]\ ],\ @@ -3133,7 +3133,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs-minipass", [\ ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ + "packageLocation": "../../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ "packageDependencies": [\ ["fs-minipass", "npm:2.1.0"],\ ["minipass", "npm:3.3.6"]\ @@ -3141,7 +3141,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ + "packageLocation": "../../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ "packageDependencies": [\ ["fs-minipass", "npm:3.0.3"],\ ["minipass", "npm:7.0.4"]\ @@ -3151,7 +3151,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs.realpath", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ + "packageLocation": "../../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ "packageDependencies": [\ ["fs.realpath", "npm:1.0.0"]\ ],\ @@ -3170,7 +3170,7 @@ const RAW_RUNTIME_STATE = ]],\ ["gauge", [\ ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ + "packageLocation": "../../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ "packageDependencies": [\ ["gauge", "npm:4.0.4"],\ ["aproba", "npm:2.0.0"],\ @@ -3187,7 +3187,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-func-name", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ + "packageLocation": "../../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ "packageDependencies": [\ ["get-func-name", "npm:2.0.2"]\ ],\ @@ -3196,7 +3196,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-stack-trace", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ + "packageLocation": "../../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ "packageDependencies": [\ ["get-stack-trace", "npm:2.1.1"],\ ["bluebird", "npm:3.7.2"],\ @@ -3205,7 +3205,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ + "packageLocation": "../../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ "packageDependencies": [\ ["get-stack-trace", "npm:3.1.1"],\ ["stacktrace-parser", "npm:0.1.10"]\ @@ -3215,7 +3215,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-stream", [\ ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ + "packageLocation": "../../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ "packageDependencies": [\ ["get-stream", "npm:8.0.1"]\ ],\ @@ -3224,7 +3224,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-tsconfig", [\ ["npm:4.7.2", {\ - "packageLocation": "../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ + "packageLocation": "../../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ "packageDependencies": [\ ["get-tsconfig", "npm:4.7.2"],\ ["resolve-pkg-maps", "npm:1.0.0"]\ @@ -3234,7 +3234,7 @@ const RAW_RUNTIME_STATE = ]],\ ["github-from-package", [\ ["npm:0.0.0", {\ - "packageLocation": "../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ + "packageLocation": "../../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ "packageDependencies": [\ ["github-from-package", "npm:0.0.0"]\ ],\ @@ -3243,7 +3243,7 @@ const RAW_RUNTIME_STATE = ]],\ ["glob", [\ ["npm:10.3.10", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ + "packageLocation": "../../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:10.3.10"],\ ["foreground-child", "npm:3.1.1"],\ @@ -3255,7 +3255,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.2.3", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ + "packageLocation": "../../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:7.2.3"],\ ["fs.realpath", "npm:1.0.0"],\ @@ -3268,7 +3268,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ + "packageLocation": "../../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:8.1.0"],\ ["fs.realpath", "npm:1.0.0"],\ @@ -3282,7 +3282,7 @@ const RAW_RUNTIME_STATE = ]],\ ["glob-parent", [\ ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ + "packageLocation": "../../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ "packageDependencies": [\ ["glob-parent", "npm:5.1.2"],\ ["is-glob", "npm:4.0.3"]\ @@ -3290,7 +3290,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ + "packageLocation": "../../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ "packageDependencies": [\ ["glob-parent", "npm:6.0.2"],\ ["is-glob", "npm:4.0.3"]\ @@ -3300,7 +3300,7 @@ const RAW_RUNTIME_STATE = ]],\ ["globals", [\ ["npm:13.24.0", {\ - "packageLocation": "../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ + "packageLocation": "../../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ "packageDependencies": [\ ["globals", "npm:13.24.0"],\ ["type-fest", "npm:0.20.2"]\ @@ -3310,7 +3310,7 @@ const RAW_RUNTIME_STATE = ]],\ ["globby", [\ ["npm:11.1.0", {\ - "packageLocation": "../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ + "packageLocation": "../../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ "packageDependencies": [\ ["globby", "npm:11.1.0"],\ ["array-union", "npm:2.1.0"],\ @@ -3325,7 +3325,7 @@ const RAW_RUNTIME_STATE = ]],\ ["graceful-fs", [\ ["npm:4.2.11", {\ - "packageLocation": "../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ + "packageLocation": "../../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ "packageDependencies": [\ ["graceful-fs", "npm:4.2.11"]\ ],\ @@ -3334,7 +3334,7 @@ const RAW_RUNTIME_STATE = ]],\ ["graphemer", [\ ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ + "packageLocation": "../../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ "packageDependencies": [\ ["graphemer", "npm:1.4.0"]\ ],\ @@ -3343,7 +3343,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-ansi", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ "packageDependencies": [\ ["has-ansi", "npm:2.0.0"],\ ["ansi-regex", "npm:2.1.1"]\ @@ -3353,7 +3353,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-flag", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ + "packageLocation": "../../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ "packageDependencies": [\ ["has-flag", "npm:4.0.0"]\ ],\ @@ -3362,7 +3362,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-unicode", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ + "packageLocation": "../../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ "packageDependencies": [\ ["has-unicode", "npm:2.0.1"]\ ],\ @@ -3371,7 +3371,7 @@ const RAW_RUNTIME_STATE = ]],\ ["help-me", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ + "packageLocation": "../../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ "packageDependencies": [\ ["help-me", "npm:5.0.0"]\ ],\ @@ -3380,7 +3380,7 @@ const RAW_RUNTIME_STATE = ]],\ ["html-escaper", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ + "packageLocation": "../../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ "packageDependencies": [\ ["html-escaper", "npm:2.0.2"]\ ],\ @@ -3389,7 +3389,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-cache-semantics", [\ ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ + "packageLocation": "../../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ "packageDependencies": [\ ["http-cache-semantics", "npm:4.1.1"]\ ],\ @@ -3398,7 +3398,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-errors", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ + "packageLocation": "../../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ "packageDependencies": [\ ["http-errors", "npm:2.0.0"],\ ["depd", "npm:2.0.0"],\ @@ -3412,7 +3412,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-proxy-agent", [\ ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ "packageDependencies": [\ ["http-proxy-agent", "npm:4.0.1"],\ ["@tootallnate/once", "npm:1.1.2"],\ @@ -3422,7 +3422,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ "packageDependencies": [\ ["http-proxy-agent", "npm:7.0.0"],\ ["agent-base", "npm:7.1.0"],\ @@ -3433,7 +3433,7 @@ const RAW_RUNTIME_STATE = ]],\ ["https-proxy-agent", [\ ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ "packageDependencies": [\ ["https-proxy-agent", "npm:5.0.1"],\ ["agent-base", "npm:6.0.2"],\ @@ -3442,7 +3442,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.0.2", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ "packageDependencies": [\ ["https-proxy-agent", "npm:7.0.2"],\ ["agent-base", "npm:7.1.0"],\ @@ -3453,7 +3453,7 @@ const RAW_RUNTIME_STATE = ]],\ ["human-signals", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ + "packageLocation": "../../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ "packageDependencies": [\ ["human-signals", "npm:5.0.0"]\ ],\ @@ -3462,7 +3462,7 @@ const RAW_RUNTIME_STATE = ]],\ ["humanize-ms", [\ ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ + "packageLocation": "../../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ "packageDependencies": [\ ["humanize-ms", "npm:1.2.1"],\ ["ms", "npm:2.1.3"]\ @@ -3472,7 +3472,7 @@ const RAW_RUNTIME_STATE = ]],\ ["hyperid", [\ ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ + "packageLocation": "../../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ "packageDependencies": [\ ["hyperid", "npm:2.3.1"],\ ["uuid", "npm:8.3.2"],\ @@ -3483,7 +3483,7 @@ const RAW_RUNTIME_STATE = ]],\ ["iconv-lite", [\ ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ + "packageLocation": "../../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ "packageDependencies": [\ ["iconv-lite", "npm:0.6.3"],\ ["safer-buffer", "npm:2.1.2"]\ @@ -3493,7 +3493,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ieee754", [\ ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ + "packageLocation": "../../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ "packageDependencies": [\ ["ieee754", "npm:1.2.1"]\ ],\ @@ -3502,7 +3502,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ignore", [\ ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ + "packageLocation": "../../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ "packageDependencies": [\ ["ignore", "npm:5.3.0"]\ ],\ @@ -3511,7 +3511,7 @@ const RAW_RUNTIME_STATE = ]],\ ["import-fresh", [\ ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ + "packageLocation": "../../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ "packageDependencies": [\ ["import-fresh", "npm:3.3.0"],\ ["parent-module", "npm:1.0.1"],\ @@ -3522,7 +3522,7 @@ const RAW_RUNTIME_STATE = ]],\ ["imurmurhash", [\ ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ + "packageLocation": "../../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ "packageDependencies": [\ ["imurmurhash", "npm:0.1.4"]\ ],\ @@ -3531,7 +3531,7 @@ const RAW_RUNTIME_STATE = ]],\ ["indent-string", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ + "packageLocation": "../../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ "packageDependencies": [\ ["indent-string", "npm:4.0.0"]\ ],\ @@ -3540,7 +3540,7 @@ const RAW_RUNTIME_STATE = ]],\ ["infer-owner", [\ ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ + "packageLocation": "../../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ "packageDependencies": [\ ["infer-owner", "npm:1.0.4"]\ ],\ @@ -3549,7 +3549,7 @@ const RAW_RUNTIME_STATE = ]],\ ["inflight", [\ ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ + "packageLocation": "../../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ "packageDependencies": [\ ["inflight", "npm:1.0.6"],\ ["once", "npm:1.4.0"],\ @@ -3560,7 +3560,7 @@ const RAW_RUNTIME_STATE = ]],\ ["inherits", [\ ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ + "packageLocation": "../../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ "packageDependencies": [\ ["inherits", "npm:2.0.4"]\ ],\ @@ -3569,7 +3569,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ini", [\ ["npm:1.3.8", {\ - "packageLocation": "../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ + "packageLocation": "../../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ "packageDependencies": [\ ["ini", "npm:1.3.8"]\ ],\ @@ -3578,7 +3578,7 @@ const RAW_RUNTIME_STATE = ]],\ ["int64-buffer", [\ ["npm:0.99.1007", {\ - "packageLocation": "../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ + "packageLocation": "../../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ "packageDependencies": [\ ["int64-buffer", "npm:0.99.1007"]\ ],\ @@ -3586,17 +3586,17 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["ip", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/ip-npm-2.0.0-204facb3cc-10c0.zip/node_modules/ip/",\ + ["npm:2.0.1", {\ + "packageLocation": "../../.yarn/berry/cache/ip-npm-2.0.1-ee48691f03-10c0.zip/node_modules/ip/",\ "packageDependencies": [\ - ["ip", "npm:2.0.0"]\ + ["ip", "npm:2.0.1"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["ipaddr.js", [\ ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ + "packageLocation": "../../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ "packageDependencies": [\ ["ipaddr.js", "npm:1.9.1"]\ ],\ @@ -3605,7 +3605,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-extglob", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ + "packageLocation": "../../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ "packageDependencies": [\ ["is-extglob", "npm:2.1.1"]\ ],\ @@ -3614,7 +3614,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-fullwidth-code-point", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ + "packageLocation": "../../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ "packageDependencies": [\ ["is-fullwidth-code-point", "npm:3.0.0"]\ ],\ @@ -3623,7 +3623,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-glob", [\ ["npm:4.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ + "packageLocation": "../../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ "packageDependencies": [\ ["is-glob", "npm:4.0.3"],\ ["is-extglob", "npm:2.1.1"]\ @@ -3633,7 +3633,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-lambda", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ + "packageLocation": "../../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ "packageDependencies": [\ ["is-lambda", "npm:1.0.1"]\ ],\ @@ -3642,7 +3642,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-number", [\ ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ + "packageLocation": "../../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ "packageDependencies": [\ ["is-number", "npm:7.0.0"]\ ],\ @@ -3651,7 +3651,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-path-inside", [\ ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ + "packageLocation": "../../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ "packageDependencies": [\ ["is-path-inside", "npm:3.0.3"]\ ],\ @@ -3660,7 +3660,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-plain-object", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ + "packageLocation": "../../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ "packageDependencies": [\ ["is-plain-object", "npm:5.0.0"]\ ],\ @@ -3669,7 +3669,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-stream", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ + "packageLocation": "../../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ "packageDependencies": [\ ["is-stream", "npm:3.0.0"]\ ],\ @@ -3678,14 +3678,14 @@ const RAW_RUNTIME_STATE = ]],\ ["isexe", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ + "packageLocation": "../../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ "packageDependencies": [\ ["isexe", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ + "packageLocation": "../../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ "packageDependencies": [\ ["isexe", "npm:3.1.1"]\ ],\ @@ -3694,7 +3694,7 @@ const RAW_RUNTIME_STATE = ]],\ ["iso8601-duration", [\ ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ + "packageLocation": "../../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ "packageDependencies": [\ ["iso8601-duration", "npm:1.3.0"]\ ],\ @@ -3703,7 +3703,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-coverage", [\ ["npm:3.2.2", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ + "packageLocation": "../../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ "packageDependencies": [\ ["istanbul-lib-coverage", "npm:3.2.2"]\ ],\ @@ -3712,7 +3712,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-report", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ + "packageLocation": "../../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ "packageDependencies": [\ ["istanbul-lib-report", "npm:3.0.1"],\ ["istanbul-lib-coverage", "npm:3.2.2"],\ @@ -3724,7 +3724,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-source-maps", [\ ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ + "packageLocation": "../../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ "packageDependencies": [\ ["istanbul-lib-source-maps", "npm:4.0.1"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ @@ -3736,7 +3736,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-reports", [\ ["npm:3.1.6", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ + "packageLocation": "../../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ "packageDependencies": [\ ["istanbul-reports", "npm:3.1.6"],\ ["html-escaper", "npm:2.0.2"],\ @@ -3747,7 +3747,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jackspeak", [\ ["npm:2.3.6", {\ - "packageLocation": "../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ + "packageLocation": "../../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ "packageDependencies": [\ ["jackspeak", "npm:2.3.6"],\ ["@isaacs/cliui", "npm:8.0.2"],\ @@ -3758,7 +3758,7 @@ const RAW_RUNTIME_STATE = ]],\ ["joycon", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ + "packageLocation": "../../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ "packageDependencies": [\ ["joycon", "npm:3.1.1"]\ ],\ @@ -3767,7 +3767,7 @@ const RAW_RUNTIME_STATE = ]],\ ["js-yaml", [\ ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ + "packageLocation": "../../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ "packageDependencies": [\ ["js-yaml", "npm:4.1.0"],\ ["argparse", "npm:2.0.1"]\ @@ -3777,7 +3777,7 @@ const RAW_RUNTIME_STATE = ]],\ ["js2xmlparser", [\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ + "packageLocation": "../../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ "packageDependencies": [\ ["js2xmlparser", "npm:4.0.2"],\ ["xmlcreate", "npm:2.0.4"]\ @@ -3787,7 +3787,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jsdoc", [\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ + "packageLocation": "../../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ "packageDependencies": [\ ["jsdoc", "npm:4.0.2"],\ ["@babel/parser", "npm:7.23.9"],\ @@ -3811,7 +3811,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-buffer", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ + "packageLocation": "../../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ "packageDependencies": [\ ["json-buffer", "npm:3.0.1"]\ ],\ @@ -3820,7 +3820,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-schema-ref-resolver", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ + "packageLocation": "../../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ "packageDependencies": [\ ["json-schema-ref-resolver", "npm:1.0.1"],\ ["fast-deep-equal", "npm:3.1.3"]\ @@ -3830,14 +3830,14 @@ const RAW_RUNTIME_STATE = ]],\ ["json-schema-traverse", [\ ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ + "packageLocation": "../../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ "packageDependencies": [\ ["json-schema-traverse", "npm:0.4.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ + "packageLocation": "../../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ "packageDependencies": [\ ["json-schema-traverse", "npm:1.0.0"]\ ],\ @@ -3846,7 +3846,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-stable-stringify-without-jsonify", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageLocation": "../../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ "packageDependencies": [\ ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ ],\ @@ -3855,7 +3855,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jsonc-parser", [\ ["npm:3.2.1", {\ - "packageLocation": "../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ + "packageLocation": "../../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ "packageDependencies": [\ ["jsonc-parser", "npm:3.2.1"]\ ],\ @@ -3864,7 +3864,7 @@ const RAW_RUNTIME_STATE = ]],\ ["keyv", [\ ["npm:4.5.4", {\ - "packageLocation": "../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ + "packageLocation": "../../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ "packageDependencies": [\ ["keyv", "npm:4.5.4"],\ ["json-buffer", "npm:3.0.1"]\ @@ -3874,7 +3874,7 @@ const RAW_RUNTIME_STATE = ]],\ ["klaw", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ + "packageLocation": "../../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ "packageDependencies": [\ ["klaw", "npm:3.0.0"],\ ["graceful-fs", "npm:4.2.11"]\ @@ -3884,7 +3884,7 @@ const RAW_RUNTIME_STATE = ]],\ ["levn", [\ ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ + "packageLocation": "../../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ "packageDependencies": [\ ["levn", "npm:0.4.1"],\ ["prelude-ls", "npm:1.2.1"],\ @@ -3895,7 +3895,7 @@ const RAW_RUNTIME_STATE = ]],\ ["light-my-request", [\ ["npm:5.11.0", {\ - "packageLocation": "../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ + "packageLocation": "../../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ "packageDependencies": [\ ["light-my-request", "npm:5.11.0"],\ ["cookie", "npm:0.5.0"],\ @@ -3907,7 +3907,7 @@ const RAW_RUNTIME_STATE = ]],\ ["linkify-it", [\ ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ + "packageLocation": "../../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ "packageDependencies": [\ ["linkify-it", "npm:3.0.3"],\ ["uc.micro", "npm:1.0.6"]\ @@ -3917,7 +3917,7 @@ const RAW_RUNTIME_STATE = ]],\ ["local-pkg", [\ ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ + "packageLocation": "../../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ "packageDependencies": [\ ["local-pkg", "npm:0.5.0"],\ ["mlly", "npm:1.5.0"],\ @@ -3928,7 +3928,7 @@ const RAW_RUNTIME_STATE = ]],\ ["locate-path", [\ ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ + "packageLocation": "../../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ "packageDependencies": [\ ["locate-path", "npm:6.0.0"],\ ["p-locate", "npm:5.0.0"]\ @@ -3938,7 +3938,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash", [\ ["npm:4.17.21", {\ - "packageLocation": "../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ + "packageLocation": "../../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ "packageDependencies": [\ ["lodash", "npm:4.17.21"]\ ],\ @@ -3947,7 +3947,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash.merge", [\ ["npm:4.6.2", {\ - "packageLocation": "../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ + "packageLocation": "../../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ "packageDependencies": [\ ["lodash.merge", "npm:4.6.2"]\ ],\ @@ -3956,7 +3956,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash.sortby", [\ ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ + "packageLocation": "../../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ "packageDependencies": [\ ["lodash.sortby", "npm:4.7.0"]\ ],\ @@ -3965,7 +3965,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loglevel", [\ ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ + "packageLocation": "../../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ "packageDependencies": [\ ["loglevel", "npm:1.9.1"]\ ],\ @@ -3974,7 +3974,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loglevel-colored-level-prefix", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ + "packageLocation": "../../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ "packageDependencies": [\ ["loglevel-colored-level-prefix", "npm:1.0.0"],\ ["chalk", "npm:1.1.3"],\ @@ -3985,7 +3985,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loupe", [\ ["npm:2.3.7", {\ - "packageLocation": "../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ + "packageLocation": "../../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ "packageDependencies": [\ ["loupe", "npm:2.3.7"],\ ["get-func-name", "npm:2.0.2"]\ @@ -3995,14 +3995,14 @@ const RAW_RUNTIME_STATE = ]],\ ["lru-cache", [\ ["npm:10.2.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ + "packageLocation": "../../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ "packageDependencies": [\ ["lru-cache", "npm:10.2.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ + "packageLocation": "../../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ "packageDependencies": [\ ["lru-cache", "npm:6.0.0"],\ ["yallist", "npm:4.0.0"]\ @@ -4012,7 +4012,7 @@ const RAW_RUNTIME_STATE = ]],\ ["magic-string", [\ ["npm:0.30.5", {\ - "packageLocation": "../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ + "packageLocation": "../../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ "packageDependencies": [\ ["magic-string", "npm:0.30.5"],\ ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ @@ -4022,7 +4022,7 @@ const RAW_RUNTIME_STATE = ]],\ ["magicast", [\ ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ + "packageLocation": "../../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ "packageDependencies": [\ ["magicast", "npm:0.3.3"],\ ["@babel/parser", "npm:7.23.9"],\ @@ -4034,7 +4034,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-dir", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ + "packageLocation": "../../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ "packageDependencies": [\ ["make-dir", "npm:4.0.0"],\ ["semver", "npm:7.5.4"]\ @@ -4044,7 +4044,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-error", [\ ["npm:1.3.6", {\ - "packageLocation": "../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ + "packageLocation": "../../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ "packageDependencies": [\ ["make-error", "npm:1.3.6"]\ ],\ @@ -4053,7 +4053,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-fetch-happen", [\ ["npm:13.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ + "packageLocation": "../../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ "packageDependencies": [\ ["make-fetch-happen", "npm:13.0.0"],\ ["@npmcli/agent", "npm:2.2.0"],\ @@ -4071,7 +4071,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ + "packageLocation": "../../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ "packageDependencies": [\ ["make-fetch-happen", "npm:9.1.0"],\ ["agentkeepalive", "npm:4.5.0"],\ @@ -4096,7 +4096,7 @@ const RAW_RUNTIME_STATE = ]],\ ["markdown-it", [\ ["npm:12.3.2", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ + "packageLocation": "../../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ "packageDependencies": [\ ["markdown-it", "npm:12.3.2"],\ ["argparse", "npm:2.0.1"],\ @@ -4110,14 +4110,14 @@ const RAW_RUNTIME_STATE = ]],\ ["markdown-it-anchor", [\ ["npm:8.6.7", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageLocation": "../../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ "packageDependencies": [\ ["markdown-it-anchor", "npm:8.6.7"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7", {\ - "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/2/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/3/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ "packageDependencies": [\ ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ ["@types/markdown-it", "npm:12.2.3"],\ @@ -4132,7 +4132,7 @@ const RAW_RUNTIME_STATE = ]],\ ["marked", [\ ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ + "packageLocation": "../../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ "packageDependencies": [\ ["marked", "npm:4.3.0"]\ ],\ @@ -4141,7 +4141,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mdurl", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ + "packageLocation": "../../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ "packageDependencies": [\ ["mdurl", "npm:1.0.1"]\ ],\ @@ -4150,7 +4150,7 @@ const RAW_RUNTIME_STATE = ]],\ ["media-typer", [\ ["npm:0.3.0", {\ - "packageLocation": "../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ + "packageLocation": "../../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ "packageDependencies": [\ ["media-typer", "npm:0.3.0"]\ ],\ @@ -4159,7 +4159,7 @@ const RAW_RUNTIME_STATE = ]],\ ["merge-stream", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ + "packageLocation": "../../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ "packageDependencies": [\ ["merge-stream", "npm:2.0.0"]\ ],\ @@ -4168,7 +4168,7 @@ const RAW_RUNTIME_STATE = ]],\ ["merge2", [\ ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ + "packageLocation": "../../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ "packageDependencies": [\ ["merge2", "npm:1.4.1"]\ ],\ @@ -4177,7 +4177,7 @@ const RAW_RUNTIME_STATE = ]],\ ["micromatch", [\ ["npm:4.0.5", {\ - "packageLocation": "../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ + "packageLocation": "../../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ "packageDependencies": [\ ["micromatch", "npm:4.0.5"],\ ["braces", "npm:3.0.2"],\ @@ -4188,7 +4188,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mime-db", [\ ["npm:1.52.0", {\ - "packageLocation": "../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ + "packageLocation": "../../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ "packageDependencies": [\ ["mime-db", "npm:1.52.0"]\ ],\ @@ -4197,7 +4197,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mime-types", [\ ["npm:2.1.35", {\ - "packageLocation": "../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ + "packageLocation": "../../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ "packageDependencies": [\ ["mime-types", "npm:2.1.35"],\ ["mime-db", "npm:1.52.0"]\ @@ -4207,7 +4207,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mimic-fn", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ + "packageLocation": "../../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ "packageDependencies": [\ ["mimic-fn", "npm:4.0.0"]\ ],\ @@ -4216,7 +4216,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mimic-response", [\ ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ + "packageLocation": "../../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ "packageDependencies": [\ ["mimic-response", "npm:3.1.0"]\ ],\ @@ -4225,7 +4225,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minimatch", [\ ["npm:3.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:3.1.2"],\ ["brace-expansion", "npm:1.1.11"]\ @@ -4233,7 +4233,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.1.6", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:5.1.6"],\ ["brace-expansion", "npm:2.0.1"]\ @@ -4241,7 +4241,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:9.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:9.0.3"],\ ["brace-expansion", "npm:2.0.1"]\ @@ -4251,7 +4251,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minimist", [\ ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ + "packageLocation": "../../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ "packageDependencies": [\ ["minimist", "npm:1.2.8"]\ ],\ @@ -4260,7 +4260,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass", [\ ["npm:3.3.6", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:3.3.6"],\ ["yallist", "npm:4.0.0"]\ @@ -4268,14 +4268,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:7.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:7.0.4"]\ ],\ @@ -4284,7 +4284,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-collect", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ "packageDependencies": [\ ["minipass-collect", "npm:1.0.2"],\ ["minipass", "npm:3.3.6"]\ @@ -4292,7 +4292,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ "packageDependencies": [\ ["minipass-collect", "npm:2.0.1"],\ ["minipass", "npm:7.0.4"]\ @@ -4302,7 +4302,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-fetch", [\ ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ "packageDependencies": [\ ["minipass-fetch", "npm:1.4.1"],\ ["encoding", "npm:0.1.13"],\ @@ -4313,7 +4313,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ "packageDependencies": [\ ["minipass-fetch", "npm:3.0.4"],\ ["encoding", "npm:0.1.13"],\ @@ -4326,7 +4326,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-flush", [\ ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ "packageDependencies": [\ ["minipass-flush", "npm:1.0.5"],\ ["minipass", "npm:3.3.6"]\ @@ -4336,7 +4336,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-pipeline", [\ ["npm:1.2.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ "packageDependencies": [\ ["minipass-pipeline", "npm:1.2.4"],\ ["minipass", "npm:3.3.6"]\ @@ -4346,7 +4346,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-sized", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ + "packageLocation": "../../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ "packageDependencies": [\ ["minipass-sized", "npm:1.0.3"],\ ["minipass", "npm:3.3.6"]\ @@ -4356,7 +4356,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minizlib", [\ ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ + "packageLocation": "../../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ "packageDependencies": [\ ["minizlib", "npm:2.1.2"],\ ["minipass", "npm:3.3.6"],\ @@ -4367,7 +4367,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mkdirp", [\ ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ + "packageLocation": "../../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ "packageDependencies": [\ ["mkdirp", "npm:1.0.4"]\ ],\ @@ -4376,7 +4376,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mkdirp-classic", [\ ["npm:0.5.3", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ + "packageLocation": "../../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ "packageDependencies": [\ ["mkdirp-classic", "npm:0.5.3"]\ ],\ @@ -4385,7 +4385,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mlly", [\ ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ + "packageLocation": "../../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ "packageDependencies": [\ ["mlly", "npm:1.5.0"],\ ["acorn", "npm:8.11.3"],\ @@ -4398,7 +4398,7 @@ const RAW_RUNTIME_STATE = ]],\ ["moment", [\ ["npm:2.30.1", {\ - "packageLocation": "../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ + "packageLocation": "../../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ "packageDependencies": [\ ["moment", "npm:2.30.1"]\ ],\ @@ -4407,14 +4407,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ms", [\ ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ + "packageLocation": "../../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ "packageDependencies": [\ ["ms", "npm:2.1.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.1.3", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ + "packageLocation": "../../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ "packageDependencies": [\ ["ms", "npm:2.1.3"]\ ],\ @@ -4423,7 +4423,7 @@ const RAW_RUNTIME_STATE = ]],\ ["multi-fork", [\ ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ + "packageLocation": "../../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ "packageDependencies": [\ ["multi-fork", "npm:0.0.2"]\ ],\ @@ -4432,7 +4432,7 @@ const RAW_RUNTIME_STATE = ]],\ ["nanoid", [\ ["npm:3.3.7", {\ - "packageLocation": "../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ + "packageLocation": "../../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ "packageDependencies": [\ ["nanoid", "npm:3.3.7"]\ ],\ @@ -4441,7 +4441,7 @@ const RAW_RUNTIME_STATE = ]],\ ["napi-build-utils", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ + "packageLocation": "../../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ "packageDependencies": [\ ["napi-build-utils", "npm:1.0.2"]\ ],\ @@ -4450,7 +4450,7 @@ const RAW_RUNTIME_STATE = ]],\ ["natural-compare", [\ ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ + "packageLocation": "../../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ "packageDependencies": [\ ["natural-compare", "npm:1.4.0"]\ ],\ @@ -4459,7 +4459,7 @@ const RAW_RUNTIME_STATE = ]],\ ["negotiator", [\ ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ + "packageLocation": "../../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ "packageDependencies": [\ ["negotiator", "npm:0.6.3"]\ ],\ @@ -4468,7 +4468,7 @@ const RAW_RUNTIME_STATE = ]],\ ["node-abi", [\ ["npm:3.54.0", {\ - "packageLocation": "../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ + "packageLocation": "../../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ "packageDependencies": [\ ["node-abi", "npm:3.54.0"],\ ["semver", "npm:7.5.4"]\ @@ -4488,14 +4488,14 @@ const RAW_RUNTIME_STATE = ]],\ ["node-fetch", [\ ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageLocation": "../../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ "packageDependencies": [\ ["node-fetch", "npm:2.7.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/2/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/3/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ "packageDependencies": [\ ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ ["@types/encoding", null],\ @@ -4547,7 +4547,7 @@ const RAW_RUNTIME_STATE = ]],\ ["nopt", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ + "packageLocation": "../../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ "packageDependencies": [\ ["nopt", "npm:5.0.0"],\ ["abbrev", "npm:1.1.1"]\ @@ -4555,7 +4555,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ + "packageLocation": "../../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ "packageDependencies": [\ ["nopt", "npm:7.2.0"],\ ["abbrev", "npm:2.0.0"]\ @@ -4565,7 +4565,7 @@ const RAW_RUNTIME_STATE = ]],\ ["npm-run-path", [\ ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ + "packageLocation": "../../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ "packageDependencies": [\ ["npm-run-path", "npm:5.2.0"],\ ["path-key", "npm:4.0.0"]\ @@ -4575,7 +4575,7 @@ const RAW_RUNTIME_STATE = ]],\ ["npmlog", [\ ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ + "packageLocation": "../../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ "packageDependencies": [\ ["npmlog", "npm:6.0.2"],\ ["are-we-there-yet", "npm:3.0.1"],\ @@ -4588,7 +4588,7 @@ const RAW_RUNTIME_STATE = ]],\ ["obuf", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ + "packageLocation": "../../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ "packageDependencies": [\ ["obuf", "npm:1.1.2"]\ ],\ @@ -4597,7 +4597,7 @@ const RAW_RUNTIME_STATE = ]],\ ["on-exit-leak-free", [\ ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ + "packageLocation": "../../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ "packageDependencies": [\ ["on-exit-leak-free", "npm:2.1.2"]\ ],\ @@ -4606,7 +4606,7 @@ const RAW_RUNTIME_STATE = ]],\ ["once", [\ ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ + "packageLocation": "../../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ "packageDependencies": [\ ["once", "npm:1.4.0"],\ ["wrappy", "npm:1.0.2"]\ @@ -4616,7 +4616,7 @@ const RAW_RUNTIME_STATE = ]],\ ["onetime", [\ ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ + "packageLocation": "../../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ "packageDependencies": [\ ["onetime", "npm:6.0.0"],\ ["mimic-fn", "npm:4.0.0"]\ @@ -4626,7 +4626,7 @@ const RAW_RUNTIME_STATE = ]],\ ["optionator", [\ ["npm:0.9.3", {\ - "packageLocation": "../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ + "packageLocation": "../../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ "packageDependencies": [\ ["optionator", "npm:0.9.3"],\ ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ @@ -4641,7 +4641,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-defer", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ + "packageLocation": "../../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ "packageDependencies": [\ ["p-defer", "npm:3.0.0"]\ ],\ @@ -4650,7 +4650,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-limit", [\ ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ + "packageLocation": "../../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ "packageDependencies": [\ ["p-limit", "npm:3.1.0"],\ ["yocto-queue", "npm:0.1.0"]\ @@ -4658,7 +4658,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ + "packageLocation": "../../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ "packageDependencies": [\ ["p-limit", "npm:5.0.0"],\ ["yocto-queue", "npm:1.0.0"]\ @@ -4668,7 +4668,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-locate", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ + "packageLocation": "../../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ "packageDependencies": [\ ["p-locate", "npm:5.0.0"],\ ["p-limit", "npm:3.1.0"]\ @@ -4678,7 +4678,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-map", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ + "packageLocation": "../../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ "packageDependencies": [\ ["p-map", "npm:4.0.0"],\ ["aggregate-error", "npm:3.1.0"]\ @@ -4688,7 +4688,7 @@ const RAW_RUNTIME_STATE = ]],\ ["packet-reader", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ + "packageLocation": "../../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ "packageDependencies": [\ ["packet-reader", "npm:1.0.0"]\ ],\ @@ -4697,7 +4697,7 @@ const RAW_RUNTIME_STATE = ]],\ ["parent-module", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ + "packageLocation": "../../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ "packageDependencies": [\ ["parent-module", "npm:1.0.1"],\ ["callsites", "npm:3.1.0"]\ @@ -4707,7 +4707,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-exists", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ + "packageLocation": "../../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ "packageDependencies": [\ ["path-exists", "npm:4.0.0"]\ ],\ @@ -4716,7 +4716,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-is-absolute", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ + "packageLocation": "../../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ "packageDependencies": [\ ["path-is-absolute", "npm:1.0.1"]\ ],\ @@ -4725,14 +4725,14 @@ const RAW_RUNTIME_STATE = ]],\ ["path-key", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ + "packageLocation": "../../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ "packageDependencies": [\ ["path-key", "npm:3.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ + "packageLocation": "../../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ "packageDependencies": [\ ["path-key", "npm:4.0.0"]\ ],\ @@ -4741,7 +4741,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-scurry", [\ ["npm:1.10.1", {\ - "packageLocation": "../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ + "packageLocation": "../../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ "packageDependencies": [\ ["path-scurry", "npm:1.10.1"],\ ["lru-cache", "npm:10.2.0"],\ @@ -4752,7 +4752,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-type", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ + "packageLocation": "../../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ "packageDependencies": [\ ["path-type", "npm:4.0.0"]\ ],\ @@ -4761,7 +4761,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pathe", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ + "packageLocation": "../../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ "packageDependencies": [\ ["pathe", "npm:1.1.2"]\ ],\ @@ -4770,7 +4770,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pathval", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ + "packageLocation": "../../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ "packageDependencies": [\ ["pathval", "npm:1.1.1"]\ ],\ @@ -4779,14 +4779,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg", [\ ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageLocation": "../../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ "packageDependencies": [\ ["pg", "npm:8.11.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/2/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/3/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ "packageDependencies": [\ ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ ["@types/pg-native", null],\ @@ -4809,7 +4809,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-cloudflare", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ + "packageLocation": "../../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ "packageDependencies": [\ ["pg-cloudflare", "npm:1.1.1"]\ ],\ @@ -4818,7 +4818,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-connection-string", [\ ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ + "packageLocation": "../../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ "packageDependencies": [\ ["pg-connection-string", "npm:2.6.2"]\ ],\ @@ -4827,7 +4827,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-copy-streams", [\ ["npm:6.0.6", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ + "packageLocation": "../../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ "packageDependencies": [\ ["pg-copy-streams", "npm:6.0.6"],\ ["obuf", "npm:1.1.2"]\ @@ -4837,7 +4837,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-copy-streams-binary", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ + "packageLocation": "../../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ "packageDependencies": [\ ["pg-copy-streams-binary", "npm:2.2.0"],\ ["bl", "npm:4.1.0"],\ @@ -4852,14 +4852,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-cursor", [\ ["npm:2.10.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "../../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "npm:2.10.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/3/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ ["@types/pg", null],\ @@ -4872,7 +4872,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/3/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"],\ ["@types/pg", "npm:8.11.0"],\ @@ -4887,7 +4887,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-int8", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ + "packageLocation": "../../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ "packageDependencies": [\ ["pg-int8", "npm:1.0.1"]\ ],\ @@ -4896,7 +4896,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-numeric", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ + "packageLocation": "../../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ "packageDependencies": [\ ["pg-numeric", "npm:1.0.2"]\ ],\ @@ -4905,14 +4905,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-pool", [\ ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageLocation": "../../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ "packageDependencies": [\ ["pg-pool", "npm:3.6.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1", {\ - "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/2/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/3/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ "packageDependencies": [\ ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ ["@types/pg", null],\ @@ -4927,7 +4927,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-protocol", [\ ["npm:1.6.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ + "packageLocation": "../../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ "packageDependencies": [\ ["pg-protocol", "npm:1.6.0"]\ ],\ @@ -4936,14 +4936,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-query-stream", [\ ["npm:4.5.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageLocation": "../../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ "packageDependencies": [\ ["pg-query-stream", "npm:4.5.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/2/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/3/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ "packageDependencies": [\ ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ ["@types/pg", "npm:8.11.0"],\ @@ -4959,7 +4959,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-types", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ + "packageLocation": "../../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ "packageDependencies": [\ ["pg-types", "npm:2.2.0"],\ ["pg-int8", "npm:1.0.1"],\ @@ -4971,7 +4971,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ + "packageLocation": "../../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ "packageDependencies": [\ ["pg-types", "npm:4.0.2"],\ ["pg-int8", "npm:1.0.1"],\ @@ -4987,7 +4987,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pgpass", [\ ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ + "packageLocation": "../../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ "packageDependencies": [\ ["pgpass", "npm:1.0.5"],\ ["split2", "npm:4.2.0"]\ @@ -4997,7 +4997,7 @@ const RAW_RUNTIME_STATE = ]],\ ["picocolors", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ + "packageLocation": "../../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ "packageDependencies": [\ ["picocolors", "npm:1.0.0"]\ ],\ @@ -5006,7 +5006,7 @@ const RAW_RUNTIME_STATE = ]],\ ["picomatch", [\ ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ + "packageLocation": "../../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ "packageDependencies": [\ ["picomatch", "npm:2.3.1"]\ ],\ @@ -5015,7 +5015,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino", [\ ["npm:8.17.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ + "packageLocation": "../../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ "packageDependencies": [\ ["pino", "npm:8.17.2"],\ ["atomic-sleep", "npm:1.0.0"],\ @@ -5033,7 +5033,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.18.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ + "packageLocation": "../../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ "packageDependencies": [\ ["pino", "npm:8.18.0"],\ ["atomic-sleep", "npm:1.0.0"],\ @@ -5053,7 +5053,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-abstract-transport", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ + "packageLocation": "../../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ "packageDependencies": [\ ["pino-abstract-transport", "npm:1.1.0"],\ ["readable-stream", "npm:4.5.2"],\ @@ -5064,7 +5064,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-pretty", [\ ["npm:10.3.1", {\ - "packageLocation": "../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ + "packageLocation": "../../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ "packageDependencies": [\ ["pino-pretty", "npm:10.3.1"],\ ["colorette", "npm:2.0.20"],\ @@ -5087,7 +5087,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-std-serializers", [\ ["npm:6.2.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ + "packageLocation": "../../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ "packageDependencies": [\ ["pino-std-serializers", "npm:6.2.2"]\ ],\ @@ -5096,7 +5096,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pkg-types", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ + "packageLocation": "../../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ "packageDependencies": [\ ["pkg-types", "npm:1.0.3"],\ ["jsonc-parser", "npm:3.2.1"],\ @@ -5108,7 +5108,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pony-cause", [\ ["npm:2.1.10", {\ - "packageLocation": "../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ + "packageLocation": "../../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ "packageDependencies": [\ ["pony-cause", "npm:2.1.10"]\ ],\ @@ -5117,7 +5117,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postcss", [\ ["npm:8.4.33", {\ - "packageLocation": "../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ + "packageLocation": "../../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ "packageDependencies": [\ ["postcss", "npm:8.4.33"],\ ["nanoid", "npm:3.3.7"],\ @@ -5129,14 +5129,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-array", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ "packageDependencies": [\ ["postgres-array", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ "packageDependencies": [\ ["postgres-array", "npm:3.0.2"]\ ],\ @@ -5145,14 +5145,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-bytea", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ "packageDependencies": [\ ["postgres-bytea", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ "packageDependencies": [\ ["postgres-bytea", "npm:3.0.0"],\ ["obuf", "npm:1.1.2"]\ @@ -5162,14 +5162,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-date", [\ ["npm:1.0.7", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ "packageDependencies": [\ ["postgres-date", "npm:1.0.7"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ "packageDependencies": [\ ["postgres-date", "npm:2.1.0"]\ ],\ @@ -5178,7 +5178,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-interval", [\ ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:1.2.0"],\ ["xtend", "npm:4.0.2"]\ @@ -5186,14 +5186,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:3.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:4.0.2"]\ ],\ @@ -5202,7 +5202,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-range", [\ ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ + "packageLocation": "../../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ "packageDependencies": [\ ["postgres-range", "npm:1.1.4"]\ ],\ @@ -5211,7 +5211,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prebuild-install", [\ ["npm:7.1.1", {\ - "packageLocation": "../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ + "packageLocation": "../../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ "packageDependencies": [\ ["prebuild-install", "npm:7.1.1"],\ ["detect-libc", "npm:2.0.2"],\ @@ -5232,7 +5232,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prelude-ls", [\ ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ + "packageLocation": "../../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ "packageDependencies": [\ ["prelude-ls", "npm:1.2.1"]\ ],\ @@ -5257,7 +5257,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prettier-eslint", [\ ["npm:16.2.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ + "packageLocation": "../../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ "packageDependencies": [\ ["prettier-eslint", "npm:16.2.0"],\ ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ @@ -5278,7 +5278,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prettier-linter-helpers", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ + "packageLocation": "../../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ "packageDependencies": [\ ["prettier-linter-helpers", "npm:1.0.0"],\ ["fast-diff", "npm:1.3.0"]\ @@ -5288,7 +5288,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pretty-format", [\ ["npm:29.7.0", {\ - "packageLocation": "../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ + "packageLocation": "../../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ "packageDependencies": [\ ["pretty-format", "npm:29.7.0"],\ ["@jest/schemas", "npm:29.6.3"],\ @@ -5300,7 +5300,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proc-log", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ + "packageLocation": "../../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ "packageDependencies": [\ ["proc-log", "npm:3.0.0"]\ ],\ @@ -5309,7 +5309,7 @@ const RAW_RUNTIME_STATE = ]],\ ["process", [\ ["npm:0.11.10", {\ - "packageLocation": "../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ + "packageLocation": "../../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ "packageDependencies": [\ ["process", "npm:0.11.10"]\ ],\ @@ -5318,14 +5318,14 @@ const RAW_RUNTIME_STATE = ]],\ ["process-warning", [\ ["npm:2.3.2", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ + "packageLocation": "../../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ "packageDependencies": [\ ["process-warning", "npm:2.3.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ + "packageLocation": "../../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ "packageDependencies": [\ ["process-warning", "npm:3.0.0"]\ ],\ @@ -5334,7 +5334,7 @@ const RAW_RUNTIME_STATE = ]],\ ["progress", [\ ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ + "packageLocation": "../../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ "packageDependencies": [\ ["progress", "npm:2.0.3"]\ ],\ @@ -5343,14 +5343,14 @@ const RAW_RUNTIME_STATE = ]],\ ["promise-inflight", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageLocation": "../../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ "packageDependencies": [\ ["promise-inflight", "npm:1.0.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/2/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/3/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ "packageDependencies": [\ ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["@types/bluebird", null],\ @@ -5365,7 +5365,7 @@ const RAW_RUNTIME_STATE = ]],\ ["promise-retry", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ + "packageLocation": "../../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ "packageDependencies": [\ ["promise-retry", "npm:2.0.1"],\ ["err-code", "npm:2.0.3"],\ @@ -5376,7 +5376,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proxy-addr", [\ ["npm:2.0.7", {\ - "packageLocation": "../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ + "packageLocation": "../../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ "packageDependencies": [\ ["proxy-addr", "npm:2.0.7"],\ ["forwarded", "npm:0.2.0"],\ @@ -5387,7 +5387,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proxy-from-env", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ + "packageLocation": "../../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ "packageDependencies": [\ ["proxy-from-env", "npm:1.1.0"]\ ],\ @@ -5396,7 +5396,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pump", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ + "packageLocation": "../../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ "packageDependencies": [\ ["pump", "npm:3.0.0"],\ ["end-of-stream", "npm:1.4.4"],\ @@ -5407,7 +5407,7 @@ const RAW_RUNTIME_STATE = ]],\ ["punycode", [\ ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ + "packageLocation": "../../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ "packageDependencies": [\ ["punycode", "npm:2.3.1"]\ ],\ @@ -5416,7 +5416,7 @@ const RAW_RUNTIME_STATE = ]],\ ["queue-microtask", [\ ["npm:1.2.3", {\ - "packageLocation": "../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ + "packageLocation": "../../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ "packageDependencies": [\ ["queue-microtask", "npm:1.2.3"]\ ],\ @@ -5425,7 +5425,7 @@ const RAW_RUNTIME_STATE = ]],\ ["quick-format-unescaped", [\ ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ + "packageLocation": "../../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ "packageDependencies": [\ ["quick-format-unescaped", "npm:4.0.4"]\ ],\ @@ -5434,7 +5434,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rc", [\ ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ + "packageLocation": "../../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ "packageDependencies": [\ ["rc", "npm:1.2.8"],\ ["deep-extend", "npm:0.6.0"],\ @@ -5447,7 +5447,7 @@ const RAW_RUNTIME_STATE = ]],\ ["react-is", [\ ["npm:18.2.0", {\ - "packageLocation": "../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ + "packageLocation": "../../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ "packageDependencies": [\ ["react-is", "npm:18.2.0"]\ ],\ @@ -5456,7 +5456,7 @@ const RAW_RUNTIME_STATE = ]],\ ["readable-stream", [\ ["npm:3.6.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ + "packageLocation": "../../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ "packageDependencies": [\ ["readable-stream", "npm:3.6.2"],\ ["inherits", "npm:2.0.4"],\ @@ -5466,7 +5466,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.5.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ + "packageLocation": "../../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ "packageDependencies": [\ ["readable-stream", "npm:4.5.2"],\ ["abort-controller", "npm:3.0.0"],\ @@ -5480,7 +5480,7 @@ const RAW_RUNTIME_STATE = ]],\ ["real-require", [\ ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ + "packageLocation": "../../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ "packageDependencies": [\ ["real-require", "npm:0.2.0"]\ ],\ @@ -5489,7 +5489,7 @@ const RAW_RUNTIME_STATE = ]],\ ["require-from-string", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ + "packageLocation": "../../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ "packageDependencies": [\ ["require-from-string", "npm:2.0.2"]\ ],\ @@ -5498,7 +5498,7 @@ const RAW_RUNTIME_STATE = ]],\ ["require-relative", [\ ["npm:0.8.7", {\ - "packageLocation": "../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ + "packageLocation": "../../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ "packageDependencies": [\ ["require-relative", "npm:0.8.7"]\ ],\ @@ -5507,7 +5507,7 @@ const RAW_RUNTIME_STATE = ]],\ ["requizzle", [\ ["npm:0.2.4", {\ - "packageLocation": "../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ + "packageLocation": "../../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ "packageDependencies": [\ ["requizzle", "npm:0.2.4"],\ ["lodash", "npm:4.17.21"]\ @@ -5517,7 +5517,7 @@ const RAW_RUNTIME_STATE = ]],\ ["resolve-from", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ + "packageLocation": "../../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ "packageDependencies": [\ ["resolve-from", "npm:4.0.0"]\ ],\ @@ -5526,7 +5526,7 @@ const RAW_RUNTIME_STATE = ]],\ ["resolve-pkg-maps", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ + "packageLocation": "../../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ "packageDependencies": [\ ["resolve-pkg-maps", "npm:1.0.0"]\ ],\ @@ -5535,7 +5535,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ret", [\ ["npm:0.2.2", {\ - "packageLocation": "../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ + "packageLocation": "../../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ "packageDependencies": [\ ["ret", "npm:0.2.2"]\ ],\ @@ -5544,7 +5544,7 @@ const RAW_RUNTIME_STATE = ]],\ ["retry", [\ ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ + "packageLocation": "../../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ "packageDependencies": [\ ["retry", "npm:0.12.0"]\ ],\ @@ -5553,7 +5553,7 @@ const RAW_RUNTIME_STATE = ]],\ ["reusify", [\ ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ + "packageLocation": "../../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ "packageDependencies": [\ ["reusify", "npm:1.0.4"]\ ],\ @@ -5562,7 +5562,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rfdc", [\ ["npm:1.3.1", {\ - "packageLocation": "../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ + "packageLocation": "../../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ "packageDependencies": [\ ["rfdc", "npm:1.3.1"]\ ],\ @@ -5571,7 +5571,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rimraf", [\ ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ + "packageLocation": "../../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ "packageDependencies": [\ ["rimraf", "npm:3.0.2"],\ ["glob", "npm:7.2.3"]\ @@ -5581,7 +5581,7 @@ const RAW_RUNTIME_STATE = ]],\ ["roarr", [\ ["npm:7.21.0", {\ - "packageLocation": "../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ + "packageLocation": "../../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ "packageDependencies": [\ ["roarr", "npm:7.21.0"],\ ["fast-printf", "npm:1.6.9"],\ @@ -5593,7 +5593,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rollup", [\ ["npm:4.9.6", {\ - "packageLocation": "../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ + "packageLocation": "../../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ "packageDependencies": [\ ["rollup", "npm:4.9.6"],\ ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"],\ @@ -5617,7 +5617,7 @@ const RAW_RUNTIME_STATE = ]],\ ["run-parallel", [\ ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ + "packageLocation": "../../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ "packageDependencies": [\ ["run-parallel", "npm:1.2.0"],\ ["queue-microtask", "npm:1.2.3"]\ @@ -5642,7 +5642,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-buffer", [\ ["npm:5.2.1", {\ - "packageLocation": "../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ + "packageLocation": "../../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ "packageDependencies": [\ ["safe-buffer", "npm:5.2.1"]\ ],\ @@ -5651,7 +5651,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-regex2", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ + "packageLocation": "../../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ "packageDependencies": [\ ["safe-regex2", "npm:2.0.0"],\ ["ret", "npm:0.2.2"]\ @@ -5661,7 +5661,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-stable-stringify", [\ ["npm:2.4.3", {\ - "packageLocation": "../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ + "packageLocation": "../../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ "packageDependencies": [\ ["safe-stable-stringify", "npm:2.4.3"]\ ],\ @@ -5670,7 +5670,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safer-buffer", [\ ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ + "packageLocation": "../../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ "packageDependencies": [\ ["safer-buffer", "npm:2.1.2"]\ ],\ @@ -5679,7 +5679,7 @@ const RAW_RUNTIME_STATE = ]],\ ["secure-json-parse", [\ ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ + "packageLocation": "../../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ "packageDependencies": [\ ["secure-json-parse", "npm:2.7.0"]\ ],\ @@ -5688,7 +5688,7 @@ const RAW_RUNTIME_STATE = ]],\ ["semver", [\ ["npm:7.5.4", {\ - "packageLocation": "../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ + "packageLocation": "../../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ "packageDependencies": [\ ["semver", "npm:7.5.4"],\ ["lru-cache", "npm:6.0.0"]\ @@ -5698,7 +5698,7 @@ const RAW_RUNTIME_STATE = ]],\ ["semver-compare", [\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ + "packageLocation": "../../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ "packageDependencies": [\ ["semver-compare", "npm:1.0.0"]\ ],\ @@ -5707,7 +5707,7 @@ const RAW_RUNTIME_STATE = ]],\ ["serialize-error", [\ ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ + "packageLocation": "../../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ "packageDependencies": [\ ["serialize-error", "npm:8.1.0"],\ ["type-fest", "npm:0.20.2"]\ @@ -5717,7 +5717,7 @@ const RAW_RUNTIME_STATE = ]],\ ["set-blocking", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ + "packageLocation": "../../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ "packageDependencies": [\ ["set-blocking", "npm:2.0.0"]\ ],\ @@ -5726,7 +5726,7 @@ const RAW_RUNTIME_STATE = ]],\ ["set-cookie-parser", [\ ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ + "packageLocation": "../../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ "packageDependencies": [\ ["set-cookie-parser", "npm:2.6.0"]\ ],\ @@ -5735,7 +5735,7 @@ const RAW_RUNTIME_STATE = ]],\ ["setprototypeof", [\ ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ + "packageLocation": "../../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ "packageDependencies": [\ ["setprototypeof", "npm:1.2.0"]\ ],\ @@ -5744,7 +5744,7 @@ const RAW_RUNTIME_STATE = ]],\ ["shebang-command", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ + "packageLocation": "../../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ "packageDependencies": [\ ["shebang-command", "npm:2.0.0"],\ ["shebang-regex", "npm:3.0.0"]\ @@ -5754,7 +5754,7 @@ const RAW_RUNTIME_STATE = ]],\ ["shebang-regex", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ + "packageLocation": "../../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ "packageDependencies": [\ ["shebang-regex", "npm:3.0.0"]\ ],\ @@ -5763,7 +5763,7 @@ const RAW_RUNTIME_STATE = ]],\ ["short-unique-id", [\ ["npm:5.0.3", {\ - "packageLocation": "../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ + "packageLocation": "../../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ "packageDependencies": [\ ["short-unique-id", "npm:5.0.3"]\ ],\ @@ -5772,7 +5772,7 @@ const RAW_RUNTIME_STATE = ]],\ ["siginfo", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ + "packageLocation": "../../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ "packageDependencies": [\ ["siginfo", "npm:2.0.0"]\ ],\ @@ -5781,14 +5781,14 @@ const RAW_RUNTIME_STATE = ]],\ ["signal-exit", [\ ["npm:3.0.7", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ + "packageLocation": "../../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ "packageDependencies": [\ ["signal-exit", "npm:3.0.7"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ + "packageLocation": "../../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ "packageDependencies": [\ ["signal-exit", "npm:4.1.0"]\ ],\ @@ -5797,7 +5797,7 @@ const RAW_RUNTIME_STATE = ]],\ ["simple-concat", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ + "packageLocation": "../../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ "packageDependencies": [\ ["simple-concat", "npm:1.0.1"]\ ],\ @@ -5806,7 +5806,7 @@ const RAW_RUNTIME_STATE = ]],\ ["simple-get", [\ ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ + "packageLocation": "../../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ "packageDependencies": [\ ["simple-get", "npm:4.0.1"],\ ["decompress-response", "npm:6.0.0"],\ @@ -5818,7 +5818,7 @@ const RAW_RUNTIME_STATE = ]],\ ["slash", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ + "packageLocation": "../../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ "packageDependencies": [\ ["slash", "npm:3.0.0"]\ ],\ @@ -5827,7 +5827,7 @@ const RAW_RUNTIME_STATE = ]],\ ["slonik", [\ ["npm:29.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ + "packageLocation": "../../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "npm:29.2.0"],\ ["concat-stream", "npm:2.0.0"],\ @@ -5852,14 +5852,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:37.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageLocation": "../../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "npm:37.2.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0", {\ - "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/2/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/3/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ ["@types/pg", "npm:8.11.0"],\ @@ -5887,7 +5887,7 @@ const RAW_RUNTIME_STATE = ]],\ ["smart-buffer", [\ ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ + "packageLocation": "../../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ "packageDependencies": [\ ["smart-buffer", "npm:4.2.0"]\ ],\ @@ -5896,10 +5896,10 @@ const RAW_RUNTIME_STATE = ]],\ ["socks", [\ ["npm:2.7.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ + "packageLocation": "../../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ "packageDependencies": [\ ["socks", "npm:2.7.1"],\ - ["ip", "npm:2.0.0"],\ + ["ip", "npm:2.0.1"],\ ["smart-buffer", "npm:4.2.0"]\ ],\ "linkType": "HARD"\ @@ -5907,7 +5907,7 @@ const RAW_RUNTIME_STATE = ]],\ ["socks-proxy-agent", [\ ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ "packageDependencies": [\ ["socks-proxy-agent", "npm:6.2.1"],\ ["agent-base", "npm:6.0.2"],\ @@ -5917,7 +5917,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageLocation": "../../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ "packageDependencies": [\ ["socks-proxy-agent", "npm:8.0.2"],\ ["agent-base", "npm:7.1.0"],\ @@ -5929,7 +5929,7 @@ const RAW_RUNTIME_STATE = ]],\ ["sonic-boom", [\ ["npm:3.8.0", {\ - "packageLocation": "../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ + "packageLocation": "../../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ "packageDependencies": [\ ["sonic-boom", "npm:3.8.0"],\ ["atomic-sleep", "npm:1.0.0"]\ @@ -5939,14 +5939,14 @@ const RAW_RUNTIME_STATE = ]],\ ["source-map", [\ ["npm:0.6.1", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ + "packageLocation": "../../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ "packageDependencies": [\ ["source-map", "npm:0.6.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:0.8.0-beta.0", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ + "packageLocation": "../../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ "packageDependencies": [\ ["source-map", "npm:0.8.0-beta.0"],\ ["whatwg-url", "npm:7.1.0"]\ @@ -5956,7 +5956,7 @@ const RAW_RUNTIME_STATE = ]],\ ["source-map-js", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ + "packageLocation": "../../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ "packageDependencies": [\ ["source-map-js", "npm:1.0.2"]\ ],\ @@ -5965,7 +5965,7 @@ const RAW_RUNTIME_STATE = ]],\ ["split2", [\ ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ + "packageLocation": "../../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ "packageDependencies": [\ ["split2", "npm:4.2.0"]\ ],\ @@ -5974,7 +5974,7 @@ const RAW_RUNTIME_STATE = ]],\ ["sprintf-js", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ + "packageLocation": "../../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ "packageDependencies": [\ ["sprintf-js", "npm:1.0.3"]\ ],\ @@ -6008,7 +6008,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ssri", [\ ["npm:10.0.5", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ + "packageLocation": "../../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ "packageDependencies": [\ ["ssri", "npm:10.0.5"],\ ["minipass", "npm:7.0.4"]\ @@ -6016,7 +6016,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ + "packageLocation": "../../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ "packageDependencies": [\ ["ssri", "npm:8.0.1"],\ ["minipass", "npm:3.3.6"]\ @@ -6026,7 +6026,7 @@ const RAW_RUNTIME_STATE = ]],\ ["stackback", [\ ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ + "packageLocation": "../../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ "packageDependencies": [\ ["stackback", "npm:0.0.2"]\ ],\ @@ -6035,7 +6035,7 @@ const RAW_RUNTIME_STATE = ]],\ ["stacktrace-parser", [\ ["npm:0.1.10", {\ - "packageLocation": "../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ + "packageLocation": "../../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ "packageDependencies": [\ ["stacktrace-parser", "npm:0.1.10"],\ ["type-fest", "npm:0.7.1"]\ @@ -6045,7 +6045,7 @@ const RAW_RUNTIME_STATE = ]],\ ["statuses", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ + "packageLocation": "../../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ "packageDependencies": [\ ["statuses", "npm:2.0.1"]\ ],\ @@ -6054,7 +6054,7 @@ const RAW_RUNTIME_STATE = ]],\ ["std-env", [\ ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ + "packageLocation": "../../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ "packageDependencies": [\ ["std-env", "npm:3.7.0"]\ ],\ @@ -6063,7 +6063,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string-argv", [\ ["npm:0.3.2", {\ - "packageLocation": "../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ + "packageLocation": "../../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ "packageDependencies": [\ ["string-argv", "npm:0.3.2"]\ ],\ @@ -6072,7 +6072,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string-width", [\ ["npm:4.2.3", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ + "packageLocation": "../../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ "packageDependencies": [\ ["string-width", "npm:4.2.3"],\ ["emoji-regex", "npm:8.0.0"],\ @@ -6082,7 +6082,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ + "packageLocation": "../../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ "packageDependencies": [\ ["string-width", "npm:5.1.2"],\ ["eastasianwidth", "npm:0.2.0"],\ @@ -6094,7 +6094,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string_decoder", [\ ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ + "packageLocation": "../../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ "packageDependencies": [\ ["string_decoder", "npm:1.3.0"],\ ["safe-buffer", "npm:5.2.1"]\ @@ -6104,7 +6104,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-ansi", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:3.0.1"],\ ["ansi-regex", "npm:2.1.1"]\ @@ -6112,7 +6112,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:6.0.1"],\ ["ansi-regex", "npm:5.0.1"]\ @@ -6120,7 +6120,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:7.1.0"],\ ["ansi-regex", "npm:6.0.1"]\ @@ -6130,7 +6130,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-final-newline", [\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ + "packageLocation": "../../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ "packageDependencies": [\ ["strip-final-newline", "npm:3.0.0"]\ ],\ @@ -6139,14 +6139,14 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-json-comments", [\ ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ + "packageLocation": "../../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ "packageDependencies": [\ ["strip-json-comments", "npm:2.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ + "packageLocation": "../../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ "packageDependencies": [\ ["strip-json-comments", "npm:3.1.1"]\ ],\ @@ -6155,7 +6155,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-literal", [\ ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ + "packageLocation": "../../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ "packageDependencies": [\ ["strip-literal", "npm:1.3.0"],\ ["acorn", "npm:8.11.3"]\ @@ -6165,14 +6165,14 @@ const RAW_RUNTIME_STATE = ]],\ ["supports-color", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ + "packageLocation": "../../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ "packageDependencies": [\ ["supports-color", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ + "packageLocation": "../../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ "packageDependencies": [\ ["supports-color", "npm:7.2.0"],\ ["has-flag", "npm:4.0.0"]\ @@ -6182,7 +6182,7 @@ const RAW_RUNTIME_STATE = ]],\ ["synckit", [\ ["npm:0.8.8", {\ - "packageLocation": "../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ + "packageLocation": "../../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ "packageDependencies": [\ ["synckit", "npm:0.8.8"],\ ["@pkgr/core", "npm:0.1.1"],\ @@ -6193,7 +6193,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar", [\ ["npm:6.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ + "packageLocation": "../../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ "packageDependencies": [\ ["tar", "npm:6.2.0"],\ ["chownr", "npm:2.0.0"],\ @@ -6208,7 +6208,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar-fs", [\ ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ + "packageLocation": "../../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ "packageDependencies": [\ ["tar-fs", "npm:2.1.1"],\ ["chownr", "npm:1.1.4"],\ @@ -6221,7 +6221,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar-stream", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ + "packageLocation": "../../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ "packageDependencies": [\ ["tar-stream", "npm:2.2.0"],\ ["bl", "npm:4.1.0"],\ @@ -6235,7 +6235,7 @@ const RAW_RUNTIME_STATE = ]],\ ["test-exclude", [\ ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ + "packageLocation": "../../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ "packageDependencies": [\ ["test-exclude", "npm:6.0.0"],\ ["@istanbuljs/schema", "npm:0.1.3"],\ @@ -6247,7 +6247,7 @@ const RAW_RUNTIME_STATE = ]],\ ["text-table", [\ ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ + "packageLocation": "../../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ "packageDependencies": [\ ["text-table", "npm:0.2.0"]\ ],\ @@ -6256,7 +6256,7 @@ const RAW_RUNTIME_STATE = ]],\ ["thread-stream", [\ ["npm:2.4.1", {\ - "packageLocation": "../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ + "packageLocation": "../../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ "packageDependencies": [\ ["thread-stream", "npm:2.4.1"],\ ["real-require", "npm:0.2.0"]\ @@ -6266,7 +6266,7 @@ const RAW_RUNTIME_STATE = ]],\ ["through2", [\ ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ + "packageLocation": "../../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ "packageDependencies": [\ ["through2", "npm:3.0.2"],\ ["inherits", "npm:2.0.4"],\ @@ -6275,7 +6275,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ + "packageLocation": "../../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ "packageDependencies": [\ ["through2", "npm:4.0.2"],\ ["readable-stream", "npm:3.6.2"]\ @@ -6285,7 +6285,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinybench", [\ ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ + "packageLocation": "../../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ "packageDependencies": [\ ["tinybench", "npm:2.6.0"]\ ],\ @@ -6294,7 +6294,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinypool", [\ ["npm:0.8.2", {\ - "packageLocation": "../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ + "packageLocation": "../../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ "packageDependencies": [\ ["tinypool", "npm:0.8.2"]\ ],\ @@ -6303,7 +6303,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinyspy", [\ ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ + "packageLocation": "../../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ "packageDependencies": [\ ["tinyspy", "npm:2.2.0"]\ ],\ @@ -6312,7 +6312,7 @@ const RAW_RUNTIME_STATE = ]],\ ["to-fast-properties", [\ ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ + "packageLocation": "../../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ "packageDependencies": [\ ["to-fast-properties", "npm:2.0.0"]\ ],\ @@ -6321,7 +6321,7 @@ const RAW_RUNTIME_STATE = ]],\ ["to-regex-range", [\ ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ + "packageLocation": "../../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ "packageDependencies": [\ ["to-regex-range", "npm:5.0.1"],\ ["is-number", "npm:7.0.0"]\ @@ -6331,7 +6331,7 @@ const RAW_RUNTIME_STATE = ]],\ ["toad-cache", [\ ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ + "packageLocation": "../../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ "packageDependencies": [\ ["toad-cache", "npm:3.7.0"]\ ],\ @@ -6340,7 +6340,7 @@ const RAW_RUNTIME_STATE = ]],\ ["toidentifier", [\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ + "packageLocation": "../../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ "packageDependencies": [\ ["toidentifier", "npm:1.0.1"]\ ],\ @@ -6349,14 +6349,14 @@ const RAW_RUNTIME_STATE = ]],\ ["tr46", [\ ["npm:0.0.3", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ + "packageLocation": "../../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ "packageDependencies": [\ ["tr46", "npm:0.0.3"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ + "packageLocation": "../../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ "packageDependencies": [\ ["tr46", "npm:1.0.1"],\ ["punycode", "npm:2.3.1"]\ @@ -6366,14 +6366,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ts-api-utils", [\ ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "../../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "npm:1.0.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/3/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ ["@types/typescript", null],\ @@ -6386,7 +6386,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/3/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ ["@types/typescript", null],\ @@ -6401,14 +6401,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ts-node", [\ ["npm:10.9.2", {\ - "packageLocation": "../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageLocation": "../../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ "packageDependencies": [\ ["ts-node", "npm:10.9.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2", {\ - "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/2/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/3/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ "packageDependencies": [\ ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ ["@cspotcode/source-map-support", "npm:0.8.1"],\ @@ -6446,7 +6446,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tslib", [\ ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ + "packageLocation": "../../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ "packageDependencies": [\ ["tslib", "npm:2.6.2"]\ ],\ @@ -6455,7 +6455,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tsx", [\ ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ + "packageLocation": "../../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ "packageDependencies": [\ ["tsx", "npm:4.7.0"],\ ["esbuild", "npm:0.19.12"],\ @@ -6467,7 +6467,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tunnel-agent", [\ ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ + "packageLocation": "../../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ "packageDependencies": [\ ["tunnel-agent", "npm:0.6.0"],\ ["safe-buffer", "npm:5.2.1"]\ @@ -6477,7 +6477,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-check", [\ ["npm:0.4.0", {\ - "packageLocation": "../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ + "packageLocation": "../../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ "packageDependencies": [\ ["type-check", "npm:0.4.0"],\ ["prelude-ls", "npm:1.2.1"]\ @@ -6487,7 +6487,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-detect", [\ ["npm:4.0.8", {\ - "packageLocation": "../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ + "packageLocation": "../../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ "packageDependencies": [\ ["type-detect", "npm:4.0.8"]\ ],\ @@ -6496,21 +6496,21 @@ const RAW_RUNTIME_STATE = ]],\ ["type-fest", [\ ["npm:0.20.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:0.20.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:0.7.1", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:0.7.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.10.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:4.10.2"]\ ],\ @@ -6519,7 +6519,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-is", [\ ["npm:1.6.18", {\ - "packageLocation": "../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ + "packageLocation": "../../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ "packageDependencies": [\ ["type-is", "npm:1.6.18"],\ ["media-typer", "npm:0.3.0"],\ @@ -6530,7 +6530,7 @@ const RAW_RUNTIME_STATE = ]],\ ["typedarray", [\ ["npm:0.0.6", {\ - "packageLocation": "../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ + "packageLocation": "../../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ "packageDependencies": [\ ["typedarray", "npm:0.0.6"]\ ],\ @@ -6539,7 +6539,7 @@ const RAW_RUNTIME_STATE = ]],\ ["typescript", [\ ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ - "packageLocation": "../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ + "packageLocation": "../../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ "packageDependencies": [\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ @@ -6548,14 +6548,14 @@ const RAW_RUNTIME_STATE = ]],\ ["typescript-eslint-language-service", [\ ["npm:5.0.5", {\ - "packageLocation": "../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageLocation": "../../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ "packageDependencies": [\ ["typescript-eslint-language-service", "npm:5.0.5"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5", {\ - "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/2/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/3/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ "packageDependencies": [\ ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ ["@types/eslint", null],\ @@ -6578,7 +6578,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uc.micro", [\ ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ + "packageLocation": "../../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ "packageDependencies": [\ ["uc.micro", "npm:1.0.6"]\ ],\ @@ -6587,7 +6587,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ufo", [\ ["npm:1.3.2", {\ - "packageLocation": "../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ + "packageLocation": "../../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ "packageDependencies": [\ ["ufo", "npm:1.3.2"]\ ],\ @@ -6596,7 +6596,7 @@ const RAW_RUNTIME_STATE = ]],\ ["umzug", [\ ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ + "packageLocation": "../../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ "packageDependencies": [\ ["umzug", "npm:3.6.1"],\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ @@ -6610,7 +6610,7 @@ const RAW_RUNTIME_STATE = ]],\ ["underscore", [\ ["npm:1.13.6", {\ - "packageLocation": "../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ + "packageLocation": "../../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ "packageDependencies": [\ ["underscore", "npm:1.13.6"]\ ],\ @@ -6619,7 +6619,7 @@ const RAW_RUNTIME_STATE = ]],\ ["undici-types", [\ ["npm:5.26.5", {\ - "packageLocation": "../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ + "packageLocation": "../../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ "packageDependencies": [\ ["undici-types", "npm:5.26.5"]\ ],\ @@ -6628,7 +6628,7 @@ const RAW_RUNTIME_STATE = ]],\ ["unique-filename", [\ ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ + "packageLocation": "../../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ "packageDependencies": [\ ["unique-filename", "npm:1.1.1"],\ ["unique-slug", "npm:2.0.2"]\ @@ -6636,7 +6636,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ + "packageLocation": "../../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ "packageDependencies": [\ ["unique-filename", "npm:3.0.0"],\ ["unique-slug", "npm:4.0.0"]\ @@ -6646,7 +6646,7 @@ const RAW_RUNTIME_STATE = ]],\ ["unique-slug", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ + "packageLocation": "../../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ "packageDependencies": [\ ["unique-slug", "npm:2.0.2"],\ ["imurmurhash", "npm:0.1.4"]\ @@ -6654,7 +6654,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ + "packageLocation": "../../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ "packageDependencies": [\ ["unique-slug", "npm:4.0.0"],\ ["imurmurhash", "npm:0.1.4"]\ @@ -6664,7 +6664,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uri-js", [\ ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ + "packageLocation": "../../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ "packageDependencies": [\ ["uri-js", "npm:4.4.1"],\ ["punycode", "npm:2.3.1"]\ @@ -6674,7 +6674,7 @@ const RAW_RUNTIME_STATE = ]],\ ["util-deprecate", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ + "packageLocation": "../../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ "packageDependencies": [\ ["util-deprecate", "npm:1.0.2"]\ ],\ @@ -6683,7 +6683,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uuid", [\ ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ + "packageLocation": "../../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ "packageDependencies": [\ ["uuid", "npm:8.3.2"]\ ],\ @@ -6692,7 +6692,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uuid-parse", [\ ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ + "packageLocation": "../../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ "packageDependencies": [\ ["uuid-parse", "npm:1.1.0"]\ ],\ @@ -6701,7 +6701,7 @@ const RAW_RUNTIME_STATE = ]],\ ["v8-compile-cache-lib", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ + "packageLocation": "../../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ "packageDependencies": [\ ["v8-compile-cache-lib", "npm:3.0.1"]\ ],\ @@ -6710,7 +6710,7 @@ const RAW_RUNTIME_STATE = ]],\ ["v8-to-istanbul", [\ ["npm:9.2.0", {\ - "packageLocation": "../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ + "packageLocation": "../../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ "packageDependencies": [\ ["v8-to-istanbul", "npm:9.2.0"],\ ["@jridgewell/trace-mapping", "npm:0.3.22"],\ @@ -6722,7 +6722,7 @@ const RAW_RUNTIME_STATE = ]],\ ["vary", [\ ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ + "packageLocation": "../../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ "packageDependencies": [\ ["vary", "npm:1.1.2"]\ ],\ @@ -6731,14 +6731,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vite", [\ ["npm:5.0.12", {\ - "packageLocation": "../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "../../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "npm:5.0.12"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"],\ ["@types/less", null],\ @@ -6777,7 +6777,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ ["@types/less", null],\ @@ -6816,7 +6816,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ ["@types/less", null],\ @@ -6857,7 +6857,7 @@ const RAW_RUNTIME_STATE = ]],\ ["vite-node", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ + "packageLocation": "../../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ "packageDependencies": [\ ["vite-node", "npm:1.2.2"],\ ["cac", "npm:6.7.14"],\ @@ -6871,14 +6871,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vitest", [\ ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "../../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "npm:1.2.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/3/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ ["@edge-runtime/vm", null],\ @@ -6930,7 +6930,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/3/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"],\ ["@edge-runtime/vm", null],\ @@ -6984,14 +6984,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vue-eslint-parser", [\ ["npm:9.4.2", {\ - "packageLocation": "../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageLocation": "../../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ "packageDependencies": [\ ["vue-eslint-parser", "npm:9.4.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2", {\ - "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/2/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/3/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ "packageDependencies": [\ ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"],\ ["@types/eslint", null],\ @@ -7013,14 +7013,14 @@ const RAW_RUNTIME_STATE = ]],\ ["webidl-conversions", [\ ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ + "packageLocation": "../../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ "packageDependencies": [\ ["webidl-conversions", "npm:3.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ + "packageLocation": "../../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ "packageDependencies": [\ ["webidl-conversions", "npm:4.0.2"]\ ],\ @@ -7029,7 +7029,7 @@ const RAW_RUNTIME_STATE = ]],\ ["whatwg-url", [\ ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ + "packageLocation": "../../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ "packageDependencies": [\ ["whatwg-url", "npm:5.0.0"],\ ["tr46", "npm:0.0.3"],\ @@ -7038,7 +7038,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ + "packageLocation": "../../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ "packageDependencies": [\ ["whatwg-url", "npm:7.1.0"],\ ["lodash.sortby", "npm:4.7.0"],\ @@ -7050,7 +7050,7 @@ const RAW_RUNTIME_STATE = ]],\ ["which", [\ ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ + "packageLocation": "../../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ "packageDependencies": [\ ["which", "npm:2.0.2"],\ ["isexe", "npm:2.0.0"]\ @@ -7058,7 +7058,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ + "packageLocation": "../../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ "packageDependencies": [\ ["which", "npm:4.0.0"],\ ["isexe", "npm:3.1.1"]\ @@ -7068,7 +7068,7 @@ const RAW_RUNTIME_STATE = ]],\ ["why-is-node-running", [\ ["npm:2.2.2", {\ - "packageLocation": "../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ + "packageLocation": "../../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ "packageDependencies": [\ ["why-is-node-running", "npm:2.2.2"],\ ["siginfo", "npm:2.0.0"],\ @@ -7079,7 +7079,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wide-align", [\ ["npm:1.1.5", {\ - "packageLocation": "../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ + "packageLocation": "../../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ "packageDependencies": [\ ["wide-align", "npm:1.1.5"],\ ["string-width", "npm:4.2.3"]\ @@ -7089,7 +7089,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wrap-ansi", [\ ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ "packageDependencies": [\ ["wrap-ansi", "npm:7.0.0"],\ ["ansi-styles", "npm:4.3.0"],\ @@ -7099,7 +7099,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ + "packageLocation": "../../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ "packageDependencies": [\ ["wrap-ansi", "npm:8.1.0"],\ ["ansi-styles", "npm:6.2.1"],\ @@ -7111,7 +7111,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wrappy", [\ ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ + "packageLocation": "../../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ "packageDependencies": [\ ["wrappy", "npm:1.0.2"]\ ],\ @@ -7120,7 +7120,7 @@ const RAW_RUNTIME_STATE = ]],\ ["xmlcreate", [\ ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ + "packageLocation": "../../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ "packageDependencies": [\ ["xmlcreate", "npm:2.0.4"]\ ],\ @@ -7129,7 +7129,7 @@ const RAW_RUNTIME_STATE = ]],\ ["xtend", [\ ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ + "packageLocation": "../../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ "packageDependencies": [\ ["xtend", "npm:4.0.2"]\ ],\ @@ -7138,7 +7138,7 @@ const RAW_RUNTIME_STATE = ]],\ ["yallist", [\ ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ + "packageLocation": "../../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ "packageDependencies": [\ ["yallist", "npm:4.0.0"]\ ],\ @@ -7147,7 +7147,7 @@ const RAW_RUNTIME_STATE = ]],\ ["yn", [\ ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ + "packageLocation": "../../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ "packageDependencies": [\ ["yn", "npm:3.1.1"]\ ],\ @@ -7156,14 +7156,14 @@ const RAW_RUNTIME_STATE = ]],\ ["yocto-queue", [\ ["npm:0.1.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ + "packageLocation": "../../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ "packageDependencies": [\ ["yocto-queue", "npm:0.1.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ + "packageLocation": "../../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ "packageDependencies": [\ ["yocto-queue", "npm:1.0.0"]\ ],\ @@ -7172,7 +7172,7 @@ const RAW_RUNTIME_STATE = ]],\ ["zod", [\ ["npm:3.22.4", {\ - "packageLocation": "../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ + "packageLocation": "../../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ "packageDependencies": [\ ["zod", "npm:3.22.4"]\ ],\ diff --git a/yarn.lock b/yarn.lock index 5b4989c5b..a4c71feb2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3003,9 +3003,9 @@ __metadata: linkType: hard "ip@npm:^2.0.0": - version: 2.0.0 - resolution: "ip@npm:2.0.0" - checksum: 10c0/8d186cc5585f57372847ae29b6eba258c68862055e18a75cc4933327232cb5c107f89800ce29715d542eef2c254fbb68b382e780a7414f9ee7caf60b7a473958 + version: 2.0.1 + resolution: "ip@npm:2.0.1" + checksum: 10c0/cab8eb3e88d0abe23e4724829621ec4c4c5cb41a7f936a2e626c947128c1be16ed543448d42af7cca95379f9892bfcacc1ccd8d09bc7e8bea0e86d492ce33616 languageName: node linkType: hard From adffeb211bc6b14931b2c7777da36fe94f8e619e Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:34:05 -0500 Subject: [PATCH 081/452] Update email address --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d9435a774..125cb9e60 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "start": "clear && yarn workspace @rusty-motors/thebeast start", "test": "clear && yarn workspace @rusty-motors/thebeast test" }, - "author": "Drazi Crendraven ", + "author": "Drazi Crendraven ", "license": "AGPL-3.0", "private": true, "repository": { From 67c23738c5e4699e40cea109d9990ff277e83063 Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:34:56 -0500 Subject: [PATCH 082/452] Update name --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 125cb9e60..c7719dbe3 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,7 @@ "start": "clear && yarn workspace @rusty-motors/thebeast start", "test": "clear && yarn workspace @rusty-motors/thebeast test" }, - "author": "Drazi Crendraven ", + "author": "Molly Crendraven ", "license": "AGPL-3.0", "private": true, "repository": { From 07ded6dce263ba34502fec2db47ccf6bffafb818 Mon Sep 17 00:00:00 2001 From: Molly Crendraven <190986+drazisil@users.noreply.github.com> Date: Wed, 21 Feb 2024 19:44:56 -0500 Subject: [PATCH 083/452] Update links and name --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 96159f7ec..7d3008de2 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,14 @@ 🍉 -# mcos +# Rusty Motors Racing Server This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues. -[![Node.js CI](https://github.com/drazisil/mcos/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/drazisil/mcos/actions/workflows/node.yml) [![CodeQL](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/drazisil/mcos/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/drazisil/mcos/branch/main/graph/badge.svg)](https://codecov.io/gh/drazisil/mcos) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/drazisil/mcos.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/drazisil/mcos/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) +[![Node.js CI](https://github.com/rustymotors/server/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/rustymotors/server/actions/workflows/node.yml) [![CodeQL](https://github.comrustymotors/server/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/rustymotors/server/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/rustymotors/server/branch/main/graph/badge.svg)](https://codecov.io/gh/rustymotors/server) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/rustymotors/server.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/rustymotors/server/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) ## Help Wanted I'm writing this from scratch. While I'm proud of what I've done, I'm hitting the point where I need help. Therefore, I'm open-sourcing this. Any assistance you can provide, either from code help, to suggestions, to even pointing out better ways to do things are greatly appreciated. +Note: Were you looking for mcos? This is still it. Only under a new name. From 5ec4ac1771e50eb4e1c01efcbf45ac4bf76d1937 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Wed, 21 Feb 2024 20:42:09 -0500 Subject: [PATCH 084/452] Update Sentry DSN --- .pnp.cjs | 1288 ++++++++++++++++++++--------------------- thebeast/package.json | 4 +- thebeast/server.ts | 6 +- yarn.lock | 77 ++- 4 files changed, 677 insertions(+), 698 deletions(-) diff --git a/.pnp.cjs b/.pnp.cjs index 54d1e3d09..e32f5ed63 100755 --- a/.pnp.cjs +++ b/.pnp.cjs @@ -43,7 +43,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@aashutoshrathi/word-wrap", [\ ["npm:1.2.6", {\ - "packageLocation": "../../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ + "packageLocation": "../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ "packageDependencies": [\ ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ ],\ @@ -52,7 +52,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@ampproject/remapping", [\ ["npm:2.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ + "packageLocation": "../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ "packageDependencies": [\ ["@ampproject/remapping", "npm:2.2.1"],\ ["@jridgewell/gen-mapping", "npm:0.3.3"],\ @@ -63,7 +63,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/helper-string-parser", [\ ["npm:7.23.4", {\ - "packageLocation": "../../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ + "packageLocation": "../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ "packageDependencies": [\ ["@babel/helper-string-parser", "npm:7.23.4"]\ ],\ @@ -72,7 +72,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/helper-validator-identifier", [\ ["npm:7.22.20", {\ - "packageLocation": "../../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ + "packageLocation": "../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ "packageDependencies": [\ ["@babel/helper-validator-identifier", "npm:7.22.20"]\ ],\ @@ -81,7 +81,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/parser", [\ ["npm:7.23.9", {\ - "packageLocation": "../../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ + "packageLocation": "../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ "packageDependencies": [\ ["@babel/parser", "npm:7.23.9"],\ ["@babel/types", "npm:7.23.9"]\ @@ -91,7 +91,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@babel/types", [\ ["npm:7.23.9", {\ - "packageLocation": "../../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ + "packageLocation": "../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ "packageDependencies": [\ ["@babel/types", "npm:7.23.9"],\ ["@babel/helper-string-parser", "npm:7.23.4"],\ @@ -103,7 +103,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@bcoe/v8-coverage", [\ ["npm:0.2.3", {\ - "packageLocation": "../../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ + "packageLocation": "../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ "packageDependencies": [\ ["@bcoe/v8-coverage", "npm:0.2.3"]\ ],\ @@ -112,7 +112,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@cspotcode/source-map-support", [\ ["npm:0.8.1", {\ - "packageLocation": "../../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ + "packageLocation": "../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ "packageDependencies": [\ ["@cspotcode/source-map-support", "npm:0.8.1"],\ ["@jridgewell/trace-mapping", "npm:0.3.9"]\ @@ -329,14 +329,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint-community/eslint-utils", [\ ["npm:4.4.0", {\ - "packageLocation": "../../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageLocation": "../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ ["@eslint-community/eslint-utils", "npm:4.4.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/3/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ + "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ "packageDependencies": [\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ ["@types/eslint", null],\ @@ -352,7 +352,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint-community/regexpp", [\ ["npm:4.10.0", {\ - "packageLocation": "../../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ + "packageLocation": "../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ "packageDependencies": [\ ["@eslint-community/regexpp", "npm:4.10.0"]\ ],\ @@ -361,7 +361,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint/eslintrc", [\ ["npm:2.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ + "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ "packageDependencies": [\ ["@eslint/eslintrc", "npm:2.1.4"],\ ["ajv", "npm:6.12.6"],\ @@ -379,7 +379,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@eslint/js", [\ ["npm:8.56.0", {\ - "packageLocation": "../../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ + "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ "packageDependencies": [\ ["@eslint/js", "npm:8.56.0"]\ ],\ @@ -388,7 +388,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/ajv-compiler", [\ ["npm:3.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ + "packageLocation": "../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ "packageDependencies": [\ ["@fastify/ajv-compiler", "npm:3.5.0"],\ ["ajv", "npm:8.12.0"],\ @@ -400,7 +400,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/deepmerge", [\ ["npm:1.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ + "packageLocation": "../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ "packageDependencies": [\ ["@fastify/deepmerge", "npm:1.3.0"]\ ],\ @@ -409,7 +409,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/error", [\ ["npm:3.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ + "packageLocation": "../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ "packageDependencies": [\ ["@fastify/error", "npm:3.4.1"]\ ],\ @@ -418,7 +418,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/fast-json-stringify-compiler", [\ ["npm:4.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ + "packageLocation": "../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ "packageDependencies": [\ ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ ["fast-json-stringify", "npm:5.10.0"]\ @@ -428,7 +428,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@fastify/sensible", [\ ["npm:5.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ + "packageLocation": "../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ "packageDependencies": [\ ["@fastify/sensible", "npm:5.5.0"],\ ["@lukeed/ms", "npm:2.0.2"],\ @@ -444,7 +444,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@gar/promisify", [\ ["npm:1.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ + "packageLocation": "../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ "packageDependencies": [\ ["@gar/promisify", "npm:1.1.3"]\ ],\ @@ -453,7 +453,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/config-array", [\ ["npm:0.11.14", {\ - "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ "packageDependencies": [\ ["@humanwhocodes/config-array", "npm:0.11.14"],\ ["@humanwhocodes/object-schema", "npm:2.0.2"],\ @@ -465,7 +465,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/module-importer", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ "packageDependencies": [\ ["@humanwhocodes/module-importer", "npm:1.0.1"]\ ],\ @@ -474,7 +474,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@humanwhocodes/object-schema", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ + "packageLocation": "../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ "packageDependencies": [\ ["@humanwhocodes/object-schema", "npm:2.0.2"]\ ],\ @@ -483,7 +483,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@isaacs/cliui", [\ ["npm:8.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ + "packageLocation": "../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ "packageDependencies": [\ ["@isaacs/cliui", "npm:8.0.2"],\ ["string-width", "npm:5.1.2"],\ @@ -507,7 +507,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@istanbuljs/schema", [\ ["npm:0.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ + "packageLocation": "../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ "packageDependencies": [\ ["@istanbuljs/schema", "npm:0.1.3"]\ ],\ @@ -516,7 +516,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jest/schemas", [\ ["npm:29.6.3", {\ - "packageLocation": "../../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ + "packageLocation": "../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ "packageDependencies": [\ ["@jest/schemas", "npm:29.6.3"],\ ["@sinclair/typebox", "npm:0.27.8"]\ @@ -526,7 +526,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/gen-mapping", [\ ["npm:0.3.3", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ "packageDependencies": [\ ["@jridgewell/gen-mapping", "npm:0.3.3"],\ ["@jridgewell/set-array", "npm:1.1.2"],\ @@ -538,7 +538,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/resolve-uri", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ "packageDependencies": [\ ["@jridgewell/resolve-uri", "npm:3.1.1"]\ ],\ @@ -547,7 +547,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/set-array", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ "packageDependencies": [\ ["@jridgewell/set-array", "npm:1.1.2"]\ ],\ @@ -556,7 +556,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/sourcemap-codec", [\ ["npm:1.4.15", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ "packageDependencies": [\ ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ ],\ @@ -565,7 +565,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jridgewell/trace-mapping", [\ ["npm:0.3.22", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ ["@jridgewell/trace-mapping", "npm:0.3.22"],\ ["@jridgewell/resolve-uri", "npm:3.1.1"],\ @@ -574,7 +574,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:0.3.9", {\ - "packageLocation": "../../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ + "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ "packageDependencies": [\ ["@jridgewell/trace-mapping", "npm:0.3.9"],\ ["@jridgewell/resolve-uri", "npm:3.1.1"],\ @@ -585,7 +585,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@jsdoc/salty", [\ ["npm:0.2.7", {\ - "packageLocation": "../../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ + "packageLocation": "../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ "packageDependencies": [\ ["@jsdoc/salty", "npm:0.2.7"],\ ["lodash", "npm:4.17.21"]\ @@ -595,7 +595,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@lukeed/ms", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ + "packageLocation": "../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ "packageDependencies": [\ ["@lukeed/ms", "npm:2.0.2"]\ ],\ @@ -604,7 +604,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.scandir", [\ ["npm:2.1.5", {\ - "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ "packageDependencies": [\ ["@nodelib/fs.scandir", "npm:2.1.5"],\ ["@nodelib/fs.stat", "npm:2.0.5"],\ @@ -615,7 +615,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.stat", [\ ["npm:2.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ "packageDependencies": [\ ["@nodelib/fs.stat", "npm:2.0.5"]\ ],\ @@ -624,7 +624,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@nodelib/fs.walk", [\ ["npm:1.2.8", {\ - "packageLocation": "../../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ + "packageLocation": "../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ "packageDependencies": [\ ["@nodelib/fs.walk", "npm:1.2.8"],\ ["@nodelib/fs.scandir", "npm:2.1.5"],\ @@ -635,7 +635,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/agent", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ + "packageLocation": "../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ "packageDependencies": [\ ["@npmcli/agent", "npm:2.2.0"],\ ["agent-base", "npm:7.1.0"],\ @@ -649,7 +649,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/fs", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ + "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ "packageDependencies": [\ ["@npmcli/fs", "npm:1.1.1"],\ ["@gar/promisify", "npm:1.1.3"],\ @@ -658,7 +658,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ + "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ "packageDependencies": [\ ["@npmcli/fs", "npm:3.1.0"],\ ["semver", "npm:7.5.4"]\ @@ -668,7 +668,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@npmcli/move-file", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ + "packageLocation": "../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ "packageDependencies": [\ ["@npmcli/move-file", "npm:1.1.2"],\ ["mkdirp", "npm:1.0.4"],\ @@ -679,7 +679,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@pkgjs/parseargs", [\ ["npm:0.11.0", {\ - "packageLocation": "../../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ + "packageLocation": "../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ "packageDependencies": [\ ["@pkgjs/parseargs", "npm:0.11.0"]\ ],\ @@ -688,7 +688,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@pkgr/core", [\ ["npm:0.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ + "packageLocation": "../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ "packageDependencies": [\ ["@pkgr/core", "npm:0.1.1"]\ ],\ @@ -814,7 +814,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@rushstack/ts-command-line", [\ ["npm:4.17.1", {\ - "packageLocation": "../../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ + "packageLocation": "../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ "packageDependencies": [\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ ["@types/argparse", "npm:1.0.38"],\ @@ -832,14 +832,14 @@ const RAW_RUNTIME_STATE = ["@rusty-motors/thebeast", "workspace:thebeast"],\ ["@fastify/sensible", "npm:5.5.0"],\ ["@sentry/cli", "npm:2.27.0"],\ - ["@sentry/node", "npm:7.92.0"],\ - ["@sentry/profiling-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5"],\ + ["@sentry/node", "npm:7.102.0"],\ + ["@sentry/profiling-node", "npm:7.102.0"],\ ["@tsconfig/node-lts", "npm:20.1.1"],\ ["@tsconfig/node20", "npm:20.1.2"],\ ["@types/chai", "npm:4.3.11"],\ ["@types/connect", "npm:3.4.38"],\ ["@types/node", "npm:20.11.13"],\ - ["@types/sinon", "npm:17.0.2"],\ + ["@types/sinon", "npm:17.0.3"],\ ["@types/sinon-chai", "npm:3.2.12"],\ ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ @@ -869,13 +869,13 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@sentry-internal/tracing", [\ - ["npm:7.92.0", {\ - "packageLocation": "../../.yarn/berry/cache/@sentry-internal-tracing-npm-7.92.0-19becf7e92-10c0.zip/node_modules/@sentry-internal/tracing/",\ + ["npm:7.102.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-internal-tracing-npm-7.102.0-1a4cc33deb-10c0.zip/node_modules/@sentry-internal/tracing/",\ "packageDependencies": [\ - ["@sentry-internal/tracing", "npm:7.92.0"],\ - ["@sentry/core", "npm:7.92.0"],\ - ["@sentry/types", "npm:7.92.0"],\ - ["@sentry/utils", "npm:7.92.0"]\ + ["@sentry-internal/tracing", "npm:7.102.0"],\ + ["@sentry/core", "npm:7.102.0"],\ + ["@sentry/types", "npm:7.102.0"],\ + ["@sentry/utils", "npm:7.102.0"]\ ],\ "linkType": "HARD"\ }]\ @@ -965,77 +965,63 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@sentry/core", [\ - ["npm:7.92.0", {\ - "packageLocation": "../../.yarn/berry/cache/@sentry-core-npm-7.92.0-293306f835-10c0.zip/node_modules/@sentry/core/",\ + ["npm:7.102.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-core-npm-7.102.0-2da5fbb273-10c0.zip/node_modules/@sentry/core/",\ "packageDependencies": [\ - ["@sentry/core", "npm:7.92.0"],\ - ["@sentry/types", "npm:7.92.0"],\ - ["@sentry/utils", "npm:7.92.0"]\ + ["@sentry/core", "npm:7.102.0"],\ + ["@sentry/types", "npm:7.102.0"],\ + ["@sentry/utils", "npm:7.102.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@sentry/node", [\ - ["npm:7.92.0", {\ - "packageLocation": "../../.yarn/berry/cache/@sentry-node-npm-7.92.0-bf139e7df3-10c0.zip/node_modules/@sentry/node/",\ + ["npm:7.102.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-node-npm-7.102.0-daf98f42d0-10c0.zip/node_modules/@sentry/node/",\ "packageDependencies": [\ - ["@sentry/node", "npm:7.92.0"],\ - ["@sentry-internal/tracing", "npm:7.92.0"],\ - ["@sentry/core", "npm:7.92.0"],\ - ["@sentry/types", "npm:7.92.0"],\ - ["@sentry/utils", "npm:7.92.0"],\ - ["https-proxy-agent", "npm:5.0.1"]\ + ["@sentry/node", "npm:7.102.0"],\ + ["@sentry-internal/tracing", "npm:7.102.0"],\ + ["@sentry/core", "npm:7.102.0"],\ + ["@sentry/types", "npm:7.102.0"],\ + ["@sentry/utils", "npm:7.102.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@sentry/profiling-node", [\ - ["npm:1.3.5", {\ - "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-virtual-318a7bec6d/node_modules/@sentry/profiling-node/",\ - "packageDependencies": [\ - ["@sentry/profiling-node", "npm:1.3.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5", {\ - "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-virtual-318a7bec6d/node_modules/@sentry/profiling-node/",\ + ["npm:7.102.0", {\ + "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-npm-7.102.0-e435d41736/node_modules/@sentry/profiling-node/",\ "packageDependencies": [\ - ["@sentry/profiling-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.3.5"],\ - ["@sentry/node", "npm:7.92.0"],\ - ["@types/sentry__node", null],\ + ["@sentry/profiling-node", "npm:7.102.0"],\ ["detect-libc", "npm:2.0.2"],\ ["node-abi", "npm:3.54.0"],\ ["node-gyp", "npm:10.0.1"]\ ],\ - "packagePeers": [\ - "@sentry/node",\ - "@types/sentry__node"\ - ],\ "linkType": "HARD"\ }]\ ]],\ ["@sentry/types", [\ - ["npm:7.92.0", {\ - "packageLocation": "../../.yarn/berry/cache/@sentry-types-npm-7.92.0-1491c60908-10c0.zip/node_modules/@sentry/types/",\ + ["npm:7.102.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-types-npm-7.102.0-647d739eb3-10c0.zip/node_modules/@sentry/types/",\ "packageDependencies": [\ - ["@sentry/types", "npm:7.92.0"]\ + ["@sentry/types", "npm:7.102.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@sentry/utils", [\ - ["npm:7.92.0", {\ - "packageLocation": "../../.yarn/berry/cache/@sentry-utils-npm-7.92.0-5a72129b7e-10c0.zip/node_modules/@sentry/utils/",\ + ["npm:7.102.0", {\ + "packageLocation": "../.yarn/berry/cache/@sentry-utils-npm-7.102.0-0c329de503-10c0.zip/node_modules/@sentry/utils/",\ "packageDependencies": [\ - ["@sentry/utils", "npm:7.92.0"],\ - ["@sentry/types", "npm:7.92.0"]\ + ["@sentry/utils", "npm:7.102.0"],\ + ["@sentry/types", "npm:7.102.0"]\ ],\ "linkType": "HARD"\ }]\ ]],\ ["@sinclair/typebox", [\ ["npm:0.27.8", {\ - "packageLocation": "../../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ + "packageLocation": "../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ "packageDependencies": [\ ["@sinclair/typebox", "npm:0.27.8"]\ ],\ @@ -1044,14 +1030,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@slonik/migrator", [\ ["npm:0.12.0", {\ - "packageLocation": "../../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageLocation": "../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ "packageDependencies": [\ ["@slonik/migrator", "npm:0.12.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0", {\ - "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/3/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ + "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/2/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ "packageDependencies": [\ ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ @@ -1068,7 +1054,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tootallnate/once", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ + "packageLocation": "../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ "packageDependencies": [\ ["@tootallnate/once", "npm:1.1.2"]\ ],\ @@ -1077,7 +1063,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node-lts", [\ ["npm:20.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ "packageDependencies": [\ ["@tsconfig/node-lts", "npm:20.1.1"]\ ],\ @@ -1086,7 +1072,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node10", [\ ["npm:1.0.9", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ "packageDependencies": [\ ["@tsconfig/node10", "npm:1.0.9"]\ ],\ @@ -1095,7 +1081,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node12", [\ ["npm:1.0.11", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ "packageDependencies": [\ ["@tsconfig/node12", "npm:1.0.11"]\ ],\ @@ -1104,7 +1090,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node14", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ "packageDependencies": [\ ["@tsconfig/node14", "npm:1.0.3"]\ ],\ @@ -1113,7 +1099,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node16", [\ ["npm:1.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ "packageDependencies": [\ ["@tsconfig/node16", "npm:1.0.4"]\ ],\ @@ -1122,7 +1108,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@tsconfig/node20", [\ ["npm:20.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ + "packageLocation": "../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ "packageDependencies": [\ ["@tsconfig/node20", "npm:20.1.2"]\ ],\ @@ -1131,7 +1117,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/argparse", [\ ["npm:1.0.38", {\ - "packageLocation": "../../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ + "packageLocation": "../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ "packageDependencies": [\ ["@types/argparse", "npm:1.0.38"]\ ],\ @@ -1140,7 +1126,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/chai", [\ ["npm:4.3.11", {\ - "packageLocation": "../../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ + "packageLocation": "../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ "packageDependencies": [\ ["@types/chai", "npm:4.3.11"]\ ],\ @@ -1149,7 +1135,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/connect", [\ ["npm:3.4.38", {\ - "packageLocation": "../../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ + "packageLocation": "../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ "packageDependencies": [\ ["@types/connect", "npm:3.4.38"],\ ["@types/node", "npm:20.11.13"]\ @@ -1159,7 +1145,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/estree", [\ ["npm:1.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ + "packageLocation": "../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ "packageDependencies": [\ ["@types/estree", "npm:1.0.5"]\ ],\ @@ -1168,7 +1154,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/istanbul-lib-coverage", [\ ["npm:2.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ + "packageLocation": "../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ "packageDependencies": [\ ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ ],\ @@ -1177,7 +1163,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/json-schema", [\ ["npm:7.0.15", {\ - "packageLocation": "../../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ + "packageLocation": "../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ "packageDependencies": [\ ["@types/json-schema", "npm:7.0.15"]\ ],\ @@ -1186,7 +1172,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/linkify-it", [\ ["npm:3.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ + "packageLocation": "../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ "packageDependencies": [\ ["@types/linkify-it", "npm:3.0.5"]\ ],\ @@ -1195,7 +1181,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/markdown-it", [\ ["npm:12.2.3", {\ - "packageLocation": "../../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ + "packageLocation": "../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ "packageDependencies": [\ ["@types/markdown-it", "npm:12.2.3"],\ ["@types/linkify-it", "npm:3.0.5"],\ @@ -1206,7 +1192,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/mdurl", [\ ["npm:1.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ + "packageLocation": "../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ "packageDependencies": [\ ["@types/mdurl", "npm:1.0.5"]\ ],\ @@ -1215,7 +1201,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/node", [\ ["npm:20.11.13", {\ - "packageLocation": "../../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ + "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ "packageDependencies": [\ ["@types/node", "npm:20.11.13"],\ ["undici-types", "npm:5.26.5"]\ @@ -1223,7 +1209,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:20.11.16", {\ - "packageLocation": "../../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ + "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ "packageDependencies": [\ ["@types/node", "npm:20.11.16"],\ ["undici-types", "npm:5.26.5"]\ @@ -1233,7 +1219,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/pg", [\ ["npm:8.11.0", {\ - "packageLocation": "../../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ + "packageLocation": "../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ "packageDependencies": [\ ["@types/pg", "npm:8.11.0"],\ ["@types/node", "npm:20.11.13"],\ @@ -1245,7 +1231,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/semver", [\ ["npm:7.5.6", {\ - "packageLocation": "../../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ + "packageLocation": "../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ "packageDependencies": [\ ["@types/semver", "npm:7.5.6"]\ ],\ @@ -1253,16 +1239,8 @@ const RAW_RUNTIME_STATE = }]\ ]],\ ["@types/sinon", [\ - ["npm:17.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/@types-sinon-npm-17.0.2-b8f972e268-10c0.zip/node_modules/@types/sinon/",\ - "packageDependencies": [\ - ["@types/sinon", "npm:17.0.2"],\ - ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ - ],\ - "linkType": "HARD"\ - }],\ ["npm:17.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ + "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ "packageDependencies": [\ ["@types/sinon", "npm:17.0.3"],\ ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ @@ -1272,7 +1250,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/sinon-chai", [\ ["npm:3.2.12", {\ - "packageLocation": "../../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ + "packageLocation": "../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ "packageDependencies": [\ ["@types/sinon-chai", "npm:3.2.12"],\ ["@types/chai", "npm:4.3.11"],\ @@ -1283,7 +1261,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@types/sinonjs__fake-timers", [\ ["npm:8.1.5", {\ - "packageLocation": "../../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ + "packageLocation": "../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ "packageDependencies": [\ ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ ],\ @@ -1292,14 +1270,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/eslint-plugin", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ "packageDependencies": [\ ["@typescript-eslint/eslint-plugin", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/3/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/2/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ "packageDependencies": [\ ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ ["@eslint-community/regexpp", "npm:4.10.0"],\ @@ -1333,14 +1311,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/parser", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ "packageDependencies": [\ ["@typescript-eslint/parser", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/3/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/2/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ "packageDependencies": [\ ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ ["@types/eslint", null],\ @@ -1364,7 +1342,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/scope-manager", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ "packageDependencies": [\ ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ ["@typescript-eslint/types", "npm:6.20.0"],\ @@ -1375,14 +1353,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/type-utils", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ "packageDependencies": [\ ["@typescript-eslint/type-utils", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/3/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/2/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ "packageDependencies": [\ ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ ["@types/eslint", null],\ @@ -1405,7 +1383,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/types", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ "packageDependencies": [\ ["@typescript-eslint/types", "npm:6.20.0"]\ ],\ @@ -1414,14 +1392,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/typescript-estree", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/3/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ ["@types/typescript", null],\ @@ -1442,7 +1420,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/3/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ "packageDependencies": [\ ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ ["@types/typescript", null],\ @@ -1465,14 +1443,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/utils", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ "packageDependencies": [\ ["@typescript-eslint/utils", "npm:6.20.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/3/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ + "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/2/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ "packageDependencies": [\ ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ @@ -1494,7 +1472,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@typescript-eslint/visitor-keys", [\ ["npm:6.20.0", {\ - "packageLocation": "../../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ + "packageLocation": "../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ "packageDependencies": [\ ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ ["@typescript-eslint/types", "npm:6.20.0"],\ @@ -1505,7 +1483,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@ungap/structured-clone", [\ ["npm:1.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ + "packageLocation": "../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ "packageDependencies": [\ ["@ungap/structured-clone", "npm:1.2.0"]\ ],\ @@ -1514,14 +1492,14 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/coverage-v8", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ "packageDependencies": [\ ["@vitest/coverage-v8", "npm:1.2.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/3/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ + "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/2/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ "packageDependencies": [\ ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ ["@ampproject/remapping", "npm:2.2.1"],\ @@ -1549,7 +1527,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/expect", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ "packageDependencies": [\ ["@vitest/expect", "npm:1.2.2"],\ ["@vitest/spy", "npm:1.2.2"],\ @@ -1561,7 +1539,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/runner", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ "packageDependencies": [\ ["@vitest/runner", "npm:1.2.2"],\ ["@vitest/utils", "npm:1.2.2"],\ @@ -1573,7 +1551,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/snapshot", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ "packageDependencies": [\ ["@vitest/snapshot", "npm:1.2.2"],\ ["magic-string", "npm:0.30.5"],\ @@ -1585,7 +1563,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/spy", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ "packageDependencies": [\ ["@vitest/spy", "npm:1.2.2"],\ ["tinyspy", "npm:2.2.0"]\ @@ -1595,7 +1573,7 @@ const RAW_RUNTIME_STATE = ]],\ ["@vitest/utils", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ + "packageLocation": "../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ "packageDependencies": [\ ["@vitest/utils", "npm:1.2.2"],\ ["diff-sequences", "npm:29.6.3"],\ @@ -1608,14 +1586,14 @@ const RAW_RUNTIME_STATE = ]],\ ["abbrev", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ + "packageLocation": "../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ "packageDependencies": [\ ["abbrev", "npm:1.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ + "packageLocation": "../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ "packageDependencies": [\ ["abbrev", "npm:2.0.0"]\ ],\ @@ -1624,7 +1602,7 @@ const RAW_RUNTIME_STATE = ]],\ ["abort-controller", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ + "packageLocation": "../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ "packageDependencies": [\ ["abort-controller", "npm:3.0.0"],\ ["event-target-shim", "npm:5.0.1"]\ @@ -1634,7 +1612,7 @@ const RAW_RUNTIME_STATE = ]],\ ["abstract-logging", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ + "packageLocation": "../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ "packageDependencies": [\ ["abstract-logging", "npm:2.0.1"]\ ],\ @@ -1643,7 +1621,7 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn", [\ ["npm:8.11.3", {\ - "packageLocation": "../../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ + "packageLocation": "../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ "packageDependencies": [\ ["acorn", "npm:8.11.3"]\ ],\ @@ -1652,14 +1630,14 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn-jsx", [\ ["npm:5.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageLocation": "../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ "packageDependencies": [\ ["acorn-jsx", "npm:5.3.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ - "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/3/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ + "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/2/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ "packageDependencies": [\ ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ ["@types/acorn", null],\ @@ -1674,7 +1652,7 @@ const RAW_RUNTIME_STATE = ]],\ ["acorn-walk", [\ ["npm:8.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ + "packageLocation": "../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ "packageDependencies": [\ ["acorn-walk", "npm:8.3.2"]\ ],\ @@ -1683,7 +1661,7 @@ const RAW_RUNTIME_STATE = ]],\ ["agent-base", [\ ["npm:6.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ + "packageLocation": "../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ "packageDependencies": [\ ["agent-base", "npm:6.0.2"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ @@ -1691,7 +1669,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ + "packageLocation": "../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ "packageDependencies": [\ ["agent-base", "npm:7.1.0"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ @@ -1701,7 +1679,7 @@ const RAW_RUNTIME_STATE = ]],\ ["agentkeepalive", [\ ["npm:4.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ + "packageLocation": "../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ "packageDependencies": [\ ["agentkeepalive", "npm:4.5.0"],\ ["humanize-ms", "npm:1.2.1"]\ @@ -1711,7 +1689,7 @@ const RAW_RUNTIME_STATE = ]],\ ["aggregate-error", [\ ["npm:3.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ + "packageLocation": "../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ "packageDependencies": [\ ["aggregate-error", "npm:3.1.0"],\ ["clean-stack", "npm:2.2.0"],\ @@ -1722,7 +1700,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ajv", [\ ["npm:6.12.6", {\ - "packageLocation": "../../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ + "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ "packageDependencies": [\ ["ajv", "npm:6.12.6"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -1733,7 +1711,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.12.0", {\ - "packageLocation": "../../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ + "packageLocation": "../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ "packageDependencies": [\ ["ajv", "npm:8.12.0"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -1746,14 +1724,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ajv-formats", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageLocation": "../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ "packageDependencies": [\ ["ajv-formats", "npm:2.1.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1", {\ - "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/3/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ + "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/2/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ "packageDependencies": [\ ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ ["@types/ajv", null],\ @@ -1768,21 +1746,21 @@ const RAW_RUNTIME_STATE = ]],\ ["ansi-regex", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:2.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:5.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:5.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ + "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ "packageDependencies": [\ ["ansi-regex", "npm:6.0.1"]\ ],\ @@ -1791,14 +1769,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ansi-styles", [\ ["npm:2.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:2.2.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:4.3.0"],\ ["color-convert", "npm:2.0.1"]\ @@ -1806,14 +1784,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:5.2.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ + "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ "packageDependencies": [\ ["ansi-styles", "npm:6.2.1"]\ ],\ @@ -1822,7 +1800,7 @@ const RAW_RUNTIME_STATE = ]],\ ["aproba", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ + "packageLocation": "../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ "packageDependencies": [\ ["aproba", "npm:2.0.0"]\ ],\ @@ -1831,7 +1809,7 @@ const RAW_RUNTIME_STATE = ]],\ ["archy", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ + "packageLocation": "../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ "packageDependencies": [\ ["archy", "npm:1.0.0"]\ ],\ @@ -1840,7 +1818,7 @@ const RAW_RUNTIME_STATE = ]],\ ["are-we-there-yet", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ + "packageLocation": "../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ "packageDependencies": [\ ["are-we-there-yet", "npm:3.0.1"],\ ["delegates", "npm:1.0.0"],\ @@ -1851,7 +1829,7 @@ const RAW_RUNTIME_STATE = ]],\ ["arg", [\ ["npm:4.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ + "packageLocation": "../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ "packageDependencies": [\ ["arg", "npm:4.1.3"]\ ],\ @@ -1860,7 +1838,7 @@ const RAW_RUNTIME_STATE = ]],\ ["argparse", [\ ["npm:1.0.10", {\ - "packageLocation": "../../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ + "packageLocation": "../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ "packageDependencies": [\ ["argparse", "npm:1.0.10"],\ ["sprintf-js", "npm:1.0.3"]\ @@ -1868,7 +1846,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ + "packageLocation": "../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ "packageDependencies": [\ ["argparse", "npm:2.0.1"]\ ],\ @@ -1877,7 +1855,7 @@ const RAW_RUNTIME_STATE = ]],\ ["array-union", [\ ["npm:2.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ + "packageLocation": "../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ "packageDependencies": [\ ["array-union", "npm:2.1.0"]\ ],\ @@ -1886,7 +1864,7 @@ const RAW_RUNTIME_STATE = ]],\ ["assertion-error", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ + "packageLocation": "../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ "packageDependencies": [\ ["assertion-error", "npm:1.1.0"]\ ],\ @@ -1895,7 +1873,7 @@ const RAW_RUNTIME_STATE = ]],\ ["atomic-sleep", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ + "packageLocation": "../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ "packageDependencies": [\ ["atomic-sleep", "npm:1.0.0"]\ ],\ @@ -1904,7 +1882,7 @@ const RAW_RUNTIME_STATE = ]],\ ["avvio", [\ ["npm:8.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ + "packageLocation": "../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ "packageDependencies": [\ ["avvio", "npm:8.2.1"],\ ["archy", "npm:1.0.0"],\ @@ -1916,7 +1894,7 @@ const RAW_RUNTIME_STATE = ]],\ ["balanced-match", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ + "packageLocation": "../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ "packageDependencies": [\ ["balanced-match", "npm:1.0.2"]\ ],\ @@ -1925,7 +1903,7 @@ const RAW_RUNTIME_STATE = ]],\ ["base64-js", [\ ["npm:1.5.1", {\ - "packageLocation": "../../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ + "packageLocation": "../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ "packageDependencies": [\ ["base64-js", "npm:1.5.1"]\ ],\ @@ -1934,7 +1912,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bindings", [\ ["npm:1.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ + "packageLocation": "../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ "packageDependencies": [\ ["bindings", "npm:1.5.0"],\ ["file-uri-to-path", "npm:1.0.0"]\ @@ -1944,7 +1922,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bl", [\ ["npm:4.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ + "packageLocation": "../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ "packageDependencies": [\ ["bl", "npm:4.1.0"],\ ["buffer", "npm:5.7.1"],\ @@ -1956,7 +1934,7 @@ const RAW_RUNTIME_STATE = ]],\ ["bluebird", [\ ["npm:3.7.2", {\ - "packageLocation": "../../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ + "packageLocation": "../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ "packageDependencies": [\ ["bluebird", "npm:3.7.2"]\ ],\ @@ -1965,7 +1943,7 @@ const RAW_RUNTIME_STATE = ]],\ ["boolean", [\ ["npm:3.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ + "packageLocation": "../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ "packageDependencies": [\ ["boolean", "npm:3.2.0"]\ ],\ @@ -1974,7 +1952,7 @@ const RAW_RUNTIME_STATE = ]],\ ["brace-expansion", [\ ["npm:1.1.11", {\ - "packageLocation": "../../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ + "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ "packageDependencies": [\ ["brace-expansion", "npm:1.1.11"],\ ["balanced-match", "npm:1.0.2"],\ @@ -1983,7 +1961,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ + "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ "packageDependencies": [\ ["brace-expansion", "npm:2.0.1"],\ ["balanced-match", "npm:1.0.2"]\ @@ -1993,7 +1971,7 @@ const RAW_RUNTIME_STATE = ]],\ ["braces", [\ ["npm:3.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ + "packageLocation": "../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ "packageDependencies": [\ ["braces", "npm:3.0.2"],\ ["fill-range", "npm:7.0.1"]\ @@ -2003,7 +1981,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer", [\ ["npm:5.7.1", {\ - "packageLocation": "../../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ + "packageLocation": "../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ "packageDependencies": [\ ["buffer", "npm:5.7.1"],\ ["base64-js", "npm:1.5.1"],\ @@ -2012,7 +1990,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ + "packageLocation": "../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ "packageDependencies": [\ ["buffer", "npm:6.0.3"],\ ["base64-js", "npm:1.5.1"],\ @@ -2023,7 +2001,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer-from", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ + "packageLocation": "../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ "packageDependencies": [\ ["buffer-from", "npm:1.1.2"]\ ],\ @@ -2032,7 +2010,7 @@ const RAW_RUNTIME_STATE = ]],\ ["buffer-writer", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ + "packageLocation": "../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ "packageDependencies": [\ ["buffer-writer", "npm:2.0.0"]\ ],\ @@ -2050,7 +2028,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cac", [\ ["npm:6.7.14", {\ - "packageLocation": "../../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ + "packageLocation": "../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ "packageDependencies": [\ ["cac", "npm:6.7.14"]\ ],\ @@ -2059,7 +2037,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cacache", [\ ["npm:15.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ + "packageLocation": "../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ "packageDependencies": [\ ["cacache", "npm:15.3.0"],\ ["@npmcli/fs", "npm:1.1.1"],\ @@ -2084,7 +2062,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:18.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ + "packageLocation": "../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ "packageDependencies": [\ ["cacache", "npm:18.0.2"],\ ["@npmcli/fs", "npm:3.1.0"],\ @@ -2105,7 +2083,7 @@ const RAW_RUNTIME_STATE = ]],\ ["callsites", [\ ["npm:3.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ + "packageLocation": "../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ "packageDependencies": [\ ["callsites", "npm:3.1.0"]\ ],\ @@ -2114,7 +2092,7 @@ const RAW_RUNTIME_STATE = ]],\ ["catharsis", [\ ["npm:0.9.0", {\ - "packageLocation": "../../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ + "packageLocation": "../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ "packageDependencies": [\ ["catharsis", "npm:0.9.0"],\ ["lodash", "npm:4.17.21"]\ @@ -2124,7 +2102,7 @@ const RAW_RUNTIME_STATE = ]],\ ["chai", [\ ["npm:4.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ + "packageLocation": "../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ "packageDependencies": [\ ["chai", "npm:4.4.1"],\ ["assertion-error", "npm:1.1.0"],\ @@ -2140,7 +2118,7 @@ const RAW_RUNTIME_STATE = ]],\ ["chalk", [\ ["npm:1.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ + "packageLocation": "../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ "packageDependencies": [\ ["chalk", "npm:1.1.3"],\ ["ansi-styles", "npm:2.2.1"],\ @@ -2152,7 +2130,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ + "packageLocation": "../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ "packageDependencies": [\ ["chalk", "npm:4.1.2"],\ ["ansi-styles", "npm:4.3.0"],\ @@ -2163,7 +2141,7 @@ const RAW_RUNTIME_STATE = ]],\ ["check-error", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ + "packageLocation": "../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ "packageDependencies": [\ ["check-error", "npm:1.0.3"],\ ["get-func-name", "npm:2.0.2"]\ @@ -2173,14 +2151,14 @@ const RAW_RUNTIME_STATE = ]],\ ["chownr", [\ ["npm:1.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ + "packageLocation": "../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ "packageDependencies": [\ ["chownr", "npm:1.1.4"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ + "packageLocation": "../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ "packageDependencies": [\ ["chownr", "npm:2.0.0"]\ ],\ @@ -2189,7 +2167,7 @@ const RAW_RUNTIME_STATE = ]],\ ["clean-stack", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ + "packageLocation": "../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ "packageDependencies": [\ ["clean-stack", "npm:2.2.0"]\ ],\ @@ -2198,7 +2176,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-convert", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ + "packageLocation": "../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ "packageDependencies": [\ ["color-convert", "npm:2.0.1"],\ ["color-name", "npm:1.1.4"]\ @@ -2208,7 +2186,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-name", [\ ["npm:1.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ + "packageLocation": "../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ "packageDependencies": [\ ["color-name", "npm:1.1.4"]\ ],\ @@ -2217,7 +2195,7 @@ const RAW_RUNTIME_STATE = ]],\ ["color-support", [\ ["npm:1.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ + "packageLocation": "../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ "packageDependencies": [\ ["color-support", "npm:1.1.3"]\ ],\ @@ -2226,7 +2204,7 @@ const RAW_RUNTIME_STATE = ]],\ ["colorette", [\ ["npm:2.0.20", {\ - "packageLocation": "../../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ + "packageLocation": "../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ "packageDependencies": [\ ["colorette", "npm:2.0.20"]\ ],\ @@ -2235,7 +2213,7 @@ const RAW_RUNTIME_STATE = ]],\ ["colors", [\ ["npm:1.2.5", {\ - "packageLocation": "../../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ + "packageLocation": "../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ "packageDependencies": [\ ["colors", "npm:1.2.5"]\ ],\ @@ -2244,7 +2222,7 @@ const RAW_RUNTIME_STATE = ]],\ ["common-tags", [\ ["npm:1.8.2", {\ - "packageLocation": "../../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ + "packageLocation": "../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ "packageDependencies": [\ ["common-tags", "npm:1.8.2"]\ ],\ @@ -2253,7 +2231,7 @@ const RAW_RUNTIME_STATE = ]],\ ["concat-map", [\ ["npm:0.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ + "packageLocation": "../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ "packageDependencies": [\ ["concat-map", "npm:0.0.1"]\ ],\ @@ -2262,7 +2240,7 @@ const RAW_RUNTIME_STATE = ]],\ ["concat-stream", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ + "packageLocation": "../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ "packageDependencies": [\ ["concat-stream", "npm:2.0.0"],\ ["buffer-from", "npm:1.1.2"],\ @@ -2275,7 +2253,7 @@ const RAW_RUNTIME_STATE = ]],\ ["console-control-strings", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ + "packageLocation": "../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ "packageDependencies": [\ ["console-control-strings", "npm:1.1.0"]\ ],\ @@ -2284,7 +2262,7 @@ const RAW_RUNTIME_STATE = ]],\ ["convert-source-map", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ + "packageLocation": "../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ "packageDependencies": [\ ["convert-source-map", "npm:2.0.0"]\ ],\ @@ -2293,7 +2271,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cookie", [\ ["npm:0.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ + "packageLocation": "../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ "packageDependencies": [\ ["cookie", "npm:0.5.0"]\ ],\ @@ -2302,7 +2280,7 @@ const RAW_RUNTIME_STATE = ]],\ ["create-require", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ + "packageLocation": "../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ "packageDependencies": [\ ["create-require", "npm:1.1.1"]\ ],\ @@ -2311,7 +2289,7 @@ const RAW_RUNTIME_STATE = ]],\ ["cross-spawn", [\ ["npm:7.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ + "packageLocation": "../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ "packageDependencies": [\ ["cross-spawn", "npm:7.0.3"],\ ["path-key", "npm:3.1.1"],\ @@ -2323,7 +2301,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dateformat", [\ ["npm:4.6.3", {\ - "packageLocation": "../../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ + "packageLocation": "../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ "packageDependencies": [\ ["dateformat", "npm:4.6.3"]\ ],\ @@ -2332,14 +2310,14 @@ const RAW_RUNTIME_STATE = ]],\ ["debug", [\ ["npm:4.3.4", {\ - "packageLocation": "../../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageLocation": "../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ "packageDependencies": [\ ["debug", "npm:4.3.4"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/3/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ + "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/2/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ "packageDependencies": [\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ ["@types/supports-color", null],\ @@ -2355,7 +2333,7 @@ const RAW_RUNTIME_STATE = ]],\ ["decompress-response", [\ ["npm:6.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ + "packageLocation": "../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ "packageDependencies": [\ ["decompress-response", "npm:6.0.0"],\ ["mimic-response", "npm:3.1.0"]\ @@ -2365,7 +2343,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-eql", [\ ["npm:4.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ + "packageLocation": "../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ "packageDependencies": [\ ["deep-eql", "npm:4.1.3"],\ ["type-detect", "npm:4.0.8"]\ @@ -2375,7 +2353,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-extend", [\ ["npm:0.6.0", {\ - "packageLocation": "../../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ + "packageLocation": "../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ "packageDependencies": [\ ["deep-extend", "npm:0.6.0"]\ ],\ @@ -2384,7 +2362,7 @@ const RAW_RUNTIME_STATE = ]],\ ["deep-is", [\ ["npm:0.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ + "packageLocation": "../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ "packageDependencies": [\ ["deep-is", "npm:0.1.4"]\ ],\ @@ -2393,7 +2371,7 @@ const RAW_RUNTIME_STATE = ]],\ ["delegates", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ + "packageLocation": "../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ "packageDependencies": [\ ["delegates", "npm:1.0.0"]\ ],\ @@ -2402,7 +2380,7 @@ const RAW_RUNTIME_STATE = ]],\ ["depd", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ + "packageLocation": "../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ "packageDependencies": [\ ["depd", "npm:2.0.0"]\ ],\ @@ -2411,7 +2389,7 @@ const RAW_RUNTIME_STATE = ]],\ ["detect-libc", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ + "packageLocation": "../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ "packageDependencies": [\ ["detect-libc", "npm:2.0.2"]\ ],\ @@ -2420,7 +2398,7 @@ const RAW_RUNTIME_STATE = ]],\ ["diff", [\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ + "packageLocation": "../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ "packageDependencies": [\ ["diff", "npm:4.0.2"]\ ],\ @@ -2429,7 +2407,7 @@ const RAW_RUNTIME_STATE = ]],\ ["diff-sequences", [\ ["npm:29.6.3", {\ - "packageLocation": "../../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ + "packageLocation": "../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ "packageDependencies": [\ ["diff-sequences", "npm:29.6.3"]\ ],\ @@ -2438,7 +2416,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dir-glob", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ + "packageLocation": "../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ "packageDependencies": [\ ["dir-glob", "npm:3.0.1"],\ ["path-type", "npm:4.0.0"]\ @@ -2448,7 +2426,7 @@ const RAW_RUNTIME_STATE = ]],\ ["dlv", [\ ["npm:1.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ + "packageLocation": "../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ "packageDependencies": [\ ["dlv", "npm:1.1.3"]\ ],\ @@ -2457,7 +2435,7 @@ const RAW_RUNTIME_STATE = ]],\ ["doctrine", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ + "packageLocation": "../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ "packageDependencies": [\ ["doctrine", "npm:3.0.0"],\ ["esutils", "npm:2.0.3"]\ @@ -2467,7 +2445,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eastasianwidth", [\ ["npm:0.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ + "packageLocation": "../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ "packageDependencies": [\ ["eastasianwidth", "npm:0.2.0"]\ ],\ @@ -2476,7 +2454,7 @@ const RAW_RUNTIME_STATE = ]],\ ["emittery", [\ ["npm:0.13.1", {\ - "packageLocation": "../../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ + "packageLocation": "../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ "packageDependencies": [\ ["emittery", "npm:0.13.1"]\ ],\ @@ -2485,14 +2463,14 @@ const RAW_RUNTIME_STATE = ]],\ ["emoji-regex", [\ ["npm:8.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ + "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ "packageDependencies": [\ ["emoji-regex", "npm:8.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:9.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ + "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ "packageDependencies": [\ ["emoji-regex", "npm:9.2.2"]\ ],\ @@ -2501,7 +2479,7 @@ const RAW_RUNTIME_STATE = ]],\ ["encoding", [\ ["npm:0.1.13", {\ - "packageLocation": "../../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ + "packageLocation": "../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ "packageDependencies": [\ ["encoding", "npm:0.1.13"],\ ["iconv-lite", "npm:0.6.3"]\ @@ -2511,7 +2489,7 @@ const RAW_RUNTIME_STATE = ]],\ ["end-of-stream", [\ ["npm:1.4.4", {\ - "packageLocation": "../../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ + "packageLocation": "../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ "packageDependencies": [\ ["end-of-stream", "npm:1.4.4"],\ ["once", "npm:1.4.0"]\ @@ -2521,7 +2499,7 @@ const RAW_RUNTIME_STATE = ]],\ ["entities", [\ ["npm:2.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ + "packageLocation": "../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ "packageDependencies": [\ ["entities", "npm:2.1.0"]\ ],\ @@ -2530,7 +2508,7 @@ const RAW_RUNTIME_STATE = ]],\ ["env-paths", [\ ["npm:2.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ + "packageLocation": "../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ "packageDependencies": [\ ["env-paths", "npm:2.2.1"]\ ],\ @@ -2539,7 +2517,7 @@ const RAW_RUNTIME_STATE = ]],\ ["err-code", [\ ["npm:2.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ + "packageLocation": "../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ "packageDependencies": [\ ["err-code", "npm:2.0.3"]\ ],\ @@ -2548,7 +2526,7 @@ const RAW_RUNTIME_STATE = ]],\ ["es6-error", [\ ["npm:4.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ + "packageLocation": "../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ "packageDependencies": [\ ["es6-error", "npm:4.1.1"]\ ],\ @@ -2589,21 +2567,21 @@ const RAW_RUNTIME_STATE = ]],\ ["escape-string-regexp", [\ ["npm:1.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:1.0.5"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ + "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ "packageDependencies": [\ ["escape-string-regexp", "npm:4.0.0"]\ ],\ @@ -2612,7 +2590,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint", [\ ["npm:8.56.0", {\ - "packageLocation": "../../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ + "packageLocation": "../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ "packageDependencies": [\ ["eslint", "npm:8.56.0"],\ ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ @@ -2659,14 +2637,14 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-config-prettier", [\ ["npm:9.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageLocation": "../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ "packageDependencies": [\ ["eslint-config-prettier", "npm:9.1.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/3/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ + "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/2/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ "packageDependencies": [\ ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ ["@types/eslint", null],\ @@ -2681,14 +2659,14 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-plugin-prettier", [\ ["npm:5.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageLocation": "../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ "packageDependencies": [\ ["eslint-plugin-prettier", "npm:5.1.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/3/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ + "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/2/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ "packageDependencies": [\ ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ ["@types/eslint", null],\ @@ -2713,7 +2691,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-scope", [\ ["npm:7.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ + "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ "packageDependencies": [\ ["eslint-scope", "npm:7.2.2"],\ ["esrecurse", "npm:4.3.0"],\ @@ -2724,7 +2702,7 @@ const RAW_RUNTIME_STATE = ]],\ ["eslint-visitor-keys", [\ ["npm:3.4.3", {\ - "packageLocation": "../../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ + "packageLocation": "../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ "packageDependencies": [\ ["eslint-visitor-keys", "npm:3.4.3"]\ ],\ @@ -2733,7 +2711,7 @@ const RAW_RUNTIME_STATE = ]],\ ["espree", [\ ["npm:9.6.1", {\ - "packageLocation": "../../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ + "packageLocation": "../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ "packageDependencies": [\ ["espree", "npm:9.6.1"],\ ["acorn", "npm:8.11.3"],\ @@ -2745,7 +2723,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esquery", [\ ["npm:1.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ + "packageLocation": "../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ "packageDependencies": [\ ["esquery", "npm:1.5.0"],\ ["estraverse", "npm:5.3.0"]\ @@ -2755,7 +2733,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esrecurse", [\ ["npm:4.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ + "packageLocation": "../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ "packageDependencies": [\ ["esrecurse", "npm:4.3.0"],\ ["estraverse", "npm:5.3.0"]\ @@ -2765,7 +2743,7 @@ const RAW_RUNTIME_STATE = ]],\ ["estraverse", [\ ["npm:5.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ + "packageLocation": "../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ "packageDependencies": [\ ["estraverse", "npm:5.3.0"]\ ],\ @@ -2774,7 +2752,7 @@ const RAW_RUNTIME_STATE = ]],\ ["estree-walker", [\ ["npm:3.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ + "packageLocation": "../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ "packageDependencies": [\ ["estree-walker", "npm:3.0.3"],\ ["@types/estree", "npm:1.0.5"]\ @@ -2784,7 +2762,7 @@ const RAW_RUNTIME_STATE = ]],\ ["esutils", [\ ["npm:2.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ + "packageLocation": "../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ "packageDependencies": [\ ["esutils", "npm:2.0.3"]\ ],\ @@ -2793,7 +2771,7 @@ const RAW_RUNTIME_STATE = ]],\ ["event-target-shim", [\ ["npm:5.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ + "packageLocation": "../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ "packageDependencies": [\ ["event-target-shim", "npm:5.0.1"]\ ],\ @@ -2802,7 +2780,7 @@ const RAW_RUNTIME_STATE = ]],\ ["events", [\ ["npm:3.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ + "packageLocation": "../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ "packageDependencies": [\ ["events", "npm:3.3.0"]\ ],\ @@ -2811,7 +2789,7 @@ const RAW_RUNTIME_STATE = ]],\ ["execa", [\ ["npm:8.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ + "packageLocation": "../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ "packageDependencies": [\ ["execa", "npm:8.0.1"],\ ["cross-spawn", "npm:7.0.3"],\ @@ -2829,7 +2807,7 @@ const RAW_RUNTIME_STATE = ]],\ ["expand-template", [\ ["npm:2.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ + "packageLocation": "../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ "packageDependencies": [\ ["expand-template", "npm:2.0.3"]\ ],\ @@ -2838,7 +2816,7 @@ const RAW_RUNTIME_STATE = ]],\ ["exponential-backoff", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ + "packageLocation": "../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ "packageDependencies": [\ ["exponential-backoff", "npm:3.1.1"]\ ],\ @@ -2847,7 +2825,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-content-type-parse", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ + "packageLocation": "../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ "packageDependencies": [\ ["fast-content-type-parse", "npm:1.1.0"]\ ],\ @@ -2856,7 +2834,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-copy", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ + "packageLocation": "../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ "packageDependencies": [\ ["fast-copy", "npm:3.0.1"]\ ],\ @@ -2865,7 +2843,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-decode-uri-component", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ + "packageLocation": "../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ "packageDependencies": [\ ["fast-decode-uri-component", "npm:1.0.1"]\ ],\ @@ -2874,7 +2852,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-deep-equal", [\ ["npm:3.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ + "packageLocation": "../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ "packageDependencies": [\ ["fast-deep-equal", "npm:3.1.3"]\ ],\ @@ -2883,7 +2861,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-diff", [\ ["npm:1.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ + "packageLocation": "../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ "packageDependencies": [\ ["fast-diff", "npm:1.3.0"]\ ],\ @@ -2892,7 +2870,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-glob", [\ ["npm:3.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ + "packageLocation": "../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ "packageDependencies": [\ ["fast-glob", "npm:3.3.2"],\ ["@nodelib/fs.stat", "npm:2.0.5"],\ @@ -2906,7 +2884,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-json-stable-stringify", [\ ["npm:2.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ + "packageLocation": "../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ "packageDependencies": [\ ["fast-json-stable-stringify", "npm:2.1.0"]\ ],\ @@ -2915,7 +2893,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-json-stringify", [\ ["npm:5.10.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ + "packageLocation": "../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ "packageDependencies": [\ ["fast-json-stringify", "npm:5.10.0"],\ ["@fastify/deepmerge", "npm:1.3.0"],\ @@ -2931,7 +2909,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-levenshtein", [\ ["npm:2.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ + "packageLocation": "../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ "packageDependencies": [\ ["fast-levenshtein", "npm:2.0.6"]\ ],\ @@ -2940,7 +2918,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-printf", [\ ["npm:1.6.9", {\ - "packageLocation": "../../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ + "packageLocation": "../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ "packageDependencies": [\ ["fast-printf", "npm:1.6.9"],\ ["boolean", "npm:3.2.0"]\ @@ -2950,7 +2928,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-querystring", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ + "packageLocation": "../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ "packageDependencies": [\ ["fast-querystring", "npm:1.1.2"],\ ["fast-decode-uri-component", "npm:1.0.1"]\ @@ -2960,7 +2938,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-redact", [\ ["npm:3.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ + "packageLocation": "../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ "packageDependencies": [\ ["fast-redact", "npm:3.3.0"]\ ],\ @@ -2969,7 +2947,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-safe-stringify", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ + "packageLocation": "../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ "packageDependencies": [\ ["fast-safe-stringify", "npm:2.1.1"]\ ],\ @@ -2978,7 +2956,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fast-uri", [\ ["npm:2.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ + "packageLocation": "../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ "packageDependencies": [\ ["fast-uri", "npm:2.3.0"]\ ],\ @@ -2987,7 +2965,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastify", [\ ["npm:4.26.0", {\ - "packageLocation": "../../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ + "packageLocation": "../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ "packageDependencies": [\ ["fastify", "npm:4.26.0"],\ ["@fastify/ajv-compiler", "npm:3.5.0"],\ @@ -3012,7 +2990,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastify-plugin", [\ ["npm:4.5.1", {\ - "packageLocation": "../../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ + "packageLocation": "../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ "packageDependencies": [\ ["fastify-plugin", "npm:4.5.1"]\ ],\ @@ -3021,7 +2999,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fastq", [\ ["npm:1.17.0", {\ - "packageLocation": "../../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ + "packageLocation": "../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ "packageDependencies": [\ ["fastq", "npm:1.17.0"],\ ["reusify", "npm:1.0.4"]\ @@ -3031,7 +3009,7 @@ const RAW_RUNTIME_STATE = ]],\ ["file-entry-cache", [\ ["npm:6.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ + "packageLocation": "../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ "packageDependencies": [\ ["file-entry-cache", "npm:6.0.1"],\ ["flat-cache", "npm:3.2.0"]\ @@ -3041,7 +3019,7 @@ const RAW_RUNTIME_STATE = ]],\ ["file-uri-to-path", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ + "packageLocation": "../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ "packageDependencies": [\ ["file-uri-to-path", "npm:1.0.0"]\ ],\ @@ -3050,7 +3028,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fill-range", [\ ["npm:7.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ + "packageLocation": "../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ "packageDependencies": [\ ["fill-range", "npm:7.0.1"],\ ["to-regex-range", "npm:5.0.1"]\ @@ -3060,7 +3038,7 @@ const RAW_RUNTIME_STATE = ]],\ ["find-my-way", [\ ["npm:8.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ + "packageLocation": "../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ "packageDependencies": [\ ["find-my-way", "npm:8.1.0"],\ ["fast-deep-equal", "npm:3.1.3"],\ @@ -3072,7 +3050,7 @@ const RAW_RUNTIME_STATE = ]],\ ["find-up", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ + "packageLocation": "../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ "packageDependencies": [\ ["find-up", "npm:5.0.0"],\ ["locate-path", "npm:6.0.0"],\ @@ -3083,7 +3061,7 @@ const RAW_RUNTIME_STATE = ]],\ ["flat-cache", [\ ["npm:3.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ + "packageLocation": "../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ "packageDependencies": [\ ["flat-cache", "npm:3.2.0"],\ ["flatted", "npm:3.2.9"],\ @@ -3095,7 +3073,7 @@ const RAW_RUNTIME_STATE = ]],\ ["flatted", [\ ["npm:3.2.9", {\ - "packageLocation": "../../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ + "packageLocation": "../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ "packageDependencies": [\ ["flatted", "npm:3.2.9"]\ ],\ @@ -3104,7 +3082,7 @@ const RAW_RUNTIME_STATE = ]],\ ["foreground-child", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ + "packageLocation": "../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ "packageDependencies": [\ ["foreground-child", "npm:3.1.1"],\ ["cross-spawn", "npm:7.0.3"],\ @@ -3115,7 +3093,7 @@ const RAW_RUNTIME_STATE = ]],\ ["forwarded", [\ ["npm:0.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ + "packageLocation": "../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ "packageDependencies": [\ ["forwarded", "npm:0.2.0"]\ ],\ @@ -3124,7 +3102,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs-constants", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ + "packageLocation": "../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ "packageDependencies": [\ ["fs-constants", "npm:1.0.0"]\ ],\ @@ -3133,7 +3111,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs-minipass", [\ ["npm:2.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ + "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ "packageDependencies": [\ ["fs-minipass", "npm:2.1.0"],\ ["minipass", "npm:3.3.6"]\ @@ -3141,7 +3119,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ + "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ "packageDependencies": [\ ["fs-minipass", "npm:3.0.3"],\ ["minipass", "npm:7.0.4"]\ @@ -3151,7 +3129,7 @@ const RAW_RUNTIME_STATE = ]],\ ["fs.realpath", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ + "packageLocation": "../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ "packageDependencies": [\ ["fs.realpath", "npm:1.0.0"]\ ],\ @@ -3170,7 +3148,7 @@ const RAW_RUNTIME_STATE = ]],\ ["gauge", [\ ["npm:4.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ + "packageLocation": "../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ "packageDependencies": [\ ["gauge", "npm:4.0.4"],\ ["aproba", "npm:2.0.0"],\ @@ -3187,7 +3165,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-func-name", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ + "packageLocation": "../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ "packageDependencies": [\ ["get-func-name", "npm:2.0.2"]\ ],\ @@ -3196,7 +3174,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-stack-trace", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ + "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ "packageDependencies": [\ ["get-stack-trace", "npm:2.1.1"],\ ["bluebird", "npm:3.7.2"],\ @@ -3205,7 +3183,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ + "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ "packageDependencies": [\ ["get-stack-trace", "npm:3.1.1"],\ ["stacktrace-parser", "npm:0.1.10"]\ @@ -3215,7 +3193,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-stream", [\ ["npm:8.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ + "packageLocation": "../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ "packageDependencies": [\ ["get-stream", "npm:8.0.1"]\ ],\ @@ -3224,7 +3202,7 @@ const RAW_RUNTIME_STATE = ]],\ ["get-tsconfig", [\ ["npm:4.7.2", {\ - "packageLocation": "../../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ + "packageLocation": "../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ "packageDependencies": [\ ["get-tsconfig", "npm:4.7.2"],\ ["resolve-pkg-maps", "npm:1.0.0"]\ @@ -3234,7 +3212,7 @@ const RAW_RUNTIME_STATE = ]],\ ["github-from-package", [\ ["npm:0.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ + "packageLocation": "../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ "packageDependencies": [\ ["github-from-package", "npm:0.0.0"]\ ],\ @@ -3243,7 +3221,7 @@ const RAW_RUNTIME_STATE = ]],\ ["glob", [\ ["npm:10.3.10", {\ - "packageLocation": "../../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ + "packageLocation": "../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:10.3.10"],\ ["foreground-child", "npm:3.1.1"],\ @@ -3255,7 +3233,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.2.3", {\ - "packageLocation": "../../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ + "packageLocation": "../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:7.2.3"],\ ["fs.realpath", "npm:1.0.0"],\ @@ -3268,7 +3246,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ + "packageLocation": "../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ "packageDependencies": [\ ["glob", "npm:8.1.0"],\ ["fs.realpath", "npm:1.0.0"],\ @@ -3282,7 +3260,7 @@ const RAW_RUNTIME_STATE = ]],\ ["glob-parent", [\ ["npm:5.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ + "packageLocation": "../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ "packageDependencies": [\ ["glob-parent", "npm:5.1.2"],\ ["is-glob", "npm:4.0.3"]\ @@ -3290,7 +3268,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ + "packageLocation": "../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ "packageDependencies": [\ ["glob-parent", "npm:6.0.2"],\ ["is-glob", "npm:4.0.3"]\ @@ -3300,7 +3278,7 @@ const RAW_RUNTIME_STATE = ]],\ ["globals", [\ ["npm:13.24.0", {\ - "packageLocation": "../../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ + "packageLocation": "../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ "packageDependencies": [\ ["globals", "npm:13.24.0"],\ ["type-fest", "npm:0.20.2"]\ @@ -3310,7 +3288,7 @@ const RAW_RUNTIME_STATE = ]],\ ["globby", [\ ["npm:11.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ + "packageLocation": "../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ "packageDependencies": [\ ["globby", "npm:11.1.0"],\ ["array-union", "npm:2.1.0"],\ @@ -3325,7 +3303,7 @@ const RAW_RUNTIME_STATE = ]],\ ["graceful-fs", [\ ["npm:4.2.11", {\ - "packageLocation": "../../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ + "packageLocation": "../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ "packageDependencies": [\ ["graceful-fs", "npm:4.2.11"]\ ],\ @@ -3334,7 +3312,7 @@ const RAW_RUNTIME_STATE = ]],\ ["graphemer", [\ ["npm:1.4.0", {\ - "packageLocation": "../../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ + "packageLocation": "../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ "packageDependencies": [\ ["graphemer", "npm:1.4.0"]\ ],\ @@ -3343,7 +3321,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-ansi", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ + "packageLocation": "../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ "packageDependencies": [\ ["has-ansi", "npm:2.0.0"],\ ["ansi-regex", "npm:2.1.1"]\ @@ -3353,7 +3331,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-flag", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ + "packageLocation": "../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ "packageDependencies": [\ ["has-flag", "npm:4.0.0"]\ ],\ @@ -3362,7 +3340,7 @@ const RAW_RUNTIME_STATE = ]],\ ["has-unicode", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ + "packageLocation": "../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ "packageDependencies": [\ ["has-unicode", "npm:2.0.1"]\ ],\ @@ -3371,7 +3349,7 @@ const RAW_RUNTIME_STATE = ]],\ ["help-me", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ + "packageLocation": "../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ "packageDependencies": [\ ["help-me", "npm:5.0.0"]\ ],\ @@ -3380,7 +3358,7 @@ const RAW_RUNTIME_STATE = ]],\ ["html-escaper", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ + "packageLocation": "../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ "packageDependencies": [\ ["html-escaper", "npm:2.0.2"]\ ],\ @@ -3389,7 +3367,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-cache-semantics", [\ ["npm:4.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ + "packageLocation": "../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ "packageDependencies": [\ ["http-cache-semantics", "npm:4.1.1"]\ ],\ @@ -3398,7 +3376,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-errors", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ + "packageLocation": "../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ "packageDependencies": [\ ["http-errors", "npm:2.0.0"],\ ["depd", "npm:2.0.0"],\ @@ -3412,7 +3390,7 @@ const RAW_RUNTIME_STATE = ]],\ ["http-proxy-agent", [\ ["npm:4.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ "packageDependencies": [\ ["http-proxy-agent", "npm:4.0.1"],\ ["@tootallnate/once", "npm:1.1.2"],\ @@ -3422,7 +3400,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ "packageDependencies": [\ ["http-proxy-agent", "npm:7.0.0"],\ ["agent-base", "npm:7.1.0"],\ @@ -3433,7 +3411,7 @@ const RAW_RUNTIME_STATE = ]],\ ["https-proxy-agent", [\ ["npm:5.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ "packageDependencies": [\ ["https-proxy-agent", "npm:5.0.1"],\ ["agent-base", "npm:6.0.2"],\ @@ -3442,7 +3420,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ "packageDependencies": [\ ["https-proxy-agent", "npm:7.0.2"],\ ["agent-base", "npm:7.1.0"],\ @@ -3453,7 +3431,7 @@ const RAW_RUNTIME_STATE = ]],\ ["human-signals", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ + "packageLocation": "../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ "packageDependencies": [\ ["human-signals", "npm:5.0.0"]\ ],\ @@ -3462,7 +3440,7 @@ const RAW_RUNTIME_STATE = ]],\ ["humanize-ms", [\ ["npm:1.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ + "packageLocation": "../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ "packageDependencies": [\ ["humanize-ms", "npm:1.2.1"],\ ["ms", "npm:2.1.3"]\ @@ -3472,7 +3450,7 @@ const RAW_RUNTIME_STATE = ]],\ ["hyperid", [\ ["npm:2.3.1", {\ - "packageLocation": "../../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ + "packageLocation": "../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ "packageDependencies": [\ ["hyperid", "npm:2.3.1"],\ ["uuid", "npm:8.3.2"],\ @@ -3483,7 +3461,7 @@ const RAW_RUNTIME_STATE = ]],\ ["iconv-lite", [\ ["npm:0.6.3", {\ - "packageLocation": "../../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ + "packageLocation": "../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ "packageDependencies": [\ ["iconv-lite", "npm:0.6.3"],\ ["safer-buffer", "npm:2.1.2"]\ @@ -3493,7 +3471,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ieee754", [\ ["npm:1.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ + "packageLocation": "../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ "packageDependencies": [\ ["ieee754", "npm:1.2.1"]\ ],\ @@ -3502,7 +3480,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ignore", [\ ["npm:5.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ + "packageLocation": "../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ "packageDependencies": [\ ["ignore", "npm:5.3.0"]\ ],\ @@ -3511,7 +3489,7 @@ const RAW_RUNTIME_STATE = ]],\ ["import-fresh", [\ ["npm:3.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ + "packageLocation": "../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ "packageDependencies": [\ ["import-fresh", "npm:3.3.0"],\ ["parent-module", "npm:1.0.1"],\ @@ -3522,7 +3500,7 @@ const RAW_RUNTIME_STATE = ]],\ ["imurmurhash", [\ ["npm:0.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ + "packageLocation": "../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ "packageDependencies": [\ ["imurmurhash", "npm:0.1.4"]\ ],\ @@ -3531,7 +3509,7 @@ const RAW_RUNTIME_STATE = ]],\ ["indent-string", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ + "packageLocation": "../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ "packageDependencies": [\ ["indent-string", "npm:4.0.0"]\ ],\ @@ -3540,7 +3518,7 @@ const RAW_RUNTIME_STATE = ]],\ ["infer-owner", [\ ["npm:1.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ + "packageLocation": "../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ "packageDependencies": [\ ["infer-owner", "npm:1.0.4"]\ ],\ @@ -3549,7 +3527,7 @@ const RAW_RUNTIME_STATE = ]],\ ["inflight", [\ ["npm:1.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ + "packageLocation": "../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ "packageDependencies": [\ ["inflight", "npm:1.0.6"],\ ["once", "npm:1.4.0"],\ @@ -3560,7 +3538,7 @@ const RAW_RUNTIME_STATE = ]],\ ["inherits", [\ ["npm:2.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ + "packageLocation": "../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ "packageDependencies": [\ ["inherits", "npm:2.0.4"]\ ],\ @@ -3569,7 +3547,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ini", [\ ["npm:1.3.8", {\ - "packageLocation": "../../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ + "packageLocation": "../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ "packageDependencies": [\ ["ini", "npm:1.3.8"]\ ],\ @@ -3578,7 +3556,7 @@ const RAW_RUNTIME_STATE = ]],\ ["int64-buffer", [\ ["npm:0.99.1007", {\ - "packageLocation": "../../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ + "packageLocation": "../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ "packageDependencies": [\ ["int64-buffer", "npm:0.99.1007"]\ ],\ @@ -3587,7 +3565,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ip", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/ip-npm-2.0.1-ee48691f03-10c0.zip/node_modules/ip/",\ + "packageLocation": "../.yarn/berry/cache/ip-npm-2.0.1-ee48691f03-10c0.zip/node_modules/ip/",\ "packageDependencies": [\ ["ip", "npm:2.0.1"]\ ],\ @@ -3596,7 +3574,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ipaddr.js", [\ ["npm:1.9.1", {\ - "packageLocation": "../../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ + "packageLocation": "../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ "packageDependencies": [\ ["ipaddr.js", "npm:1.9.1"]\ ],\ @@ -3605,7 +3583,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-extglob", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ + "packageLocation": "../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ "packageDependencies": [\ ["is-extglob", "npm:2.1.1"]\ ],\ @@ -3614,7 +3592,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-fullwidth-code-point", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ + "packageLocation": "../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ "packageDependencies": [\ ["is-fullwidth-code-point", "npm:3.0.0"]\ ],\ @@ -3623,7 +3601,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-glob", [\ ["npm:4.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ + "packageLocation": "../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ "packageDependencies": [\ ["is-glob", "npm:4.0.3"],\ ["is-extglob", "npm:2.1.1"]\ @@ -3633,7 +3611,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-lambda", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ + "packageLocation": "../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ "packageDependencies": [\ ["is-lambda", "npm:1.0.1"]\ ],\ @@ -3642,7 +3620,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-number", [\ ["npm:7.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ + "packageLocation": "../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ "packageDependencies": [\ ["is-number", "npm:7.0.0"]\ ],\ @@ -3651,7 +3629,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-path-inside", [\ ["npm:3.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ + "packageLocation": "../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ "packageDependencies": [\ ["is-path-inside", "npm:3.0.3"]\ ],\ @@ -3660,7 +3638,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-plain-object", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ + "packageLocation": "../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ "packageDependencies": [\ ["is-plain-object", "npm:5.0.0"]\ ],\ @@ -3669,7 +3647,7 @@ const RAW_RUNTIME_STATE = ]],\ ["is-stream", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ + "packageLocation": "../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ "packageDependencies": [\ ["is-stream", "npm:3.0.0"]\ ],\ @@ -3678,14 +3656,14 @@ const RAW_RUNTIME_STATE = ]],\ ["isexe", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ + "packageLocation": "../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ "packageDependencies": [\ ["isexe", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ + "packageLocation": "../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ "packageDependencies": [\ ["isexe", "npm:3.1.1"]\ ],\ @@ -3694,7 +3672,7 @@ const RAW_RUNTIME_STATE = ]],\ ["iso8601-duration", [\ ["npm:1.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ + "packageLocation": "../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ "packageDependencies": [\ ["iso8601-duration", "npm:1.3.0"]\ ],\ @@ -3703,7 +3681,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-coverage", [\ ["npm:3.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ "packageDependencies": [\ ["istanbul-lib-coverage", "npm:3.2.2"]\ ],\ @@ -3712,7 +3690,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-report", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ "packageDependencies": [\ ["istanbul-lib-report", "npm:3.0.1"],\ ["istanbul-lib-coverage", "npm:3.2.2"],\ @@ -3724,7 +3702,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-lib-source-maps", [\ ["npm:4.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ + "packageLocation": "../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ "packageDependencies": [\ ["istanbul-lib-source-maps", "npm:4.0.1"],\ ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ @@ -3736,7 +3714,7 @@ const RAW_RUNTIME_STATE = ]],\ ["istanbul-reports", [\ ["npm:3.1.6", {\ - "packageLocation": "../../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ + "packageLocation": "../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ "packageDependencies": [\ ["istanbul-reports", "npm:3.1.6"],\ ["html-escaper", "npm:2.0.2"],\ @@ -3747,7 +3725,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jackspeak", [\ ["npm:2.3.6", {\ - "packageLocation": "../../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ + "packageLocation": "../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ "packageDependencies": [\ ["jackspeak", "npm:2.3.6"],\ ["@isaacs/cliui", "npm:8.0.2"],\ @@ -3758,7 +3736,7 @@ const RAW_RUNTIME_STATE = ]],\ ["joycon", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ + "packageLocation": "../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ "packageDependencies": [\ ["joycon", "npm:3.1.1"]\ ],\ @@ -3767,7 +3745,7 @@ const RAW_RUNTIME_STATE = ]],\ ["js-yaml", [\ ["npm:4.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ + "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ "packageDependencies": [\ ["js-yaml", "npm:4.1.0"],\ ["argparse", "npm:2.0.1"]\ @@ -3777,7 +3755,7 @@ const RAW_RUNTIME_STATE = ]],\ ["js2xmlparser", [\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ + "packageLocation": "../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ "packageDependencies": [\ ["js2xmlparser", "npm:4.0.2"],\ ["xmlcreate", "npm:2.0.4"]\ @@ -3787,7 +3765,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jsdoc", [\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ + "packageLocation": "../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ "packageDependencies": [\ ["jsdoc", "npm:4.0.2"],\ ["@babel/parser", "npm:7.23.9"],\ @@ -3811,7 +3789,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-buffer", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ + "packageLocation": "../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ "packageDependencies": [\ ["json-buffer", "npm:3.0.1"]\ ],\ @@ -3820,7 +3798,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-schema-ref-resolver", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ + "packageLocation": "../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ "packageDependencies": [\ ["json-schema-ref-resolver", "npm:1.0.1"],\ ["fast-deep-equal", "npm:3.1.3"]\ @@ -3830,14 +3808,14 @@ const RAW_RUNTIME_STATE = ]],\ ["json-schema-traverse", [\ ["npm:0.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ + "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ "packageDependencies": [\ ["json-schema-traverse", "npm:0.4.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ + "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ "packageDependencies": [\ ["json-schema-traverse", "npm:1.0.0"]\ ],\ @@ -3846,7 +3824,7 @@ const RAW_RUNTIME_STATE = ]],\ ["json-stable-stringify-without-jsonify", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ + "packageLocation": "../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ "packageDependencies": [\ ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ ],\ @@ -3855,7 +3833,7 @@ const RAW_RUNTIME_STATE = ]],\ ["jsonc-parser", [\ ["npm:3.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ + "packageLocation": "../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ "packageDependencies": [\ ["jsonc-parser", "npm:3.2.1"]\ ],\ @@ -3864,7 +3842,7 @@ const RAW_RUNTIME_STATE = ]],\ ["keyv", [\ ["npm:4.5.4", {\ - "packageLocation": "../../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ + "packageLocation": "../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ "packageDependencies": [\ ["keyv", "npm:4.5.4"],\ ["json-buffer", "npm:3.0.1"]\ @@ -3874,7 +3852,7 @@ const RAW_RUNTIME_STATE = ]],\ ["klaw", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ + "packageLocation": "../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ "packageDependencies": [\ ["klaw", "npm:3.0.0"],\ ["graceful-fs", "npm:4.2.11"]\ @@ -3884,7 +3862,7 @@ const RAW_RUNTIME_STATE = ]],\ ["levn", [\ ["npm:0.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ + "packageLocation": "../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ "packageDependencies": [\ ["levn", "npm:0.4.1"],\ ["prelude-ls", "npm:1.2.1"],\ @@ -3895,7 +3873,7 @@ const RAW_RUNTIME_STATE = ]],\ ["light-my-request", [\ ["npm:5.11.0", {\ - "packageLocation": "../../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ + "packageLocation": "../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ "packageDependencies": [\ ["light-my-request", "npm:5.11.0"],\ ["cookie", "npm:0.5.0"],\ @@ -3907,7 +3885,7 @@ const RAW_RUNTIME_STATE = ]],\ ["linkify-it", [\ ["npm:3.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ + "packageLocation": "../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ "packageDependencies": [\ ["linkify-it", "npm:3.0.3"],\ ["uc.micro", "npm:1.0.6"]\ @@ -3917,7 +3895,7 @@ const RAW_RUNTIME_STATE = ]],\ ["local-pkg", [\ ["npm:0.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ + "packageLocation": "../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ "packageDependencies": [\ ["local-pkg", "npm:0.5.0"],\ ["mlly", "npm:1.5.0"],\ @@ -3928,7 +3906,7 @@ const RAW_RUNTIME_STATE = ]],\ ["locate-path", [\ ["npm:6.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ + "packageLocation": "../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ "packageDependencies": [\ ["locate-path", "npm:6.0.0"],\ ["p-locate", "npm:5.0.0"]\ @@ -3938,7 +3916,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash", [\ ["npm:4.17.21", {\ - "packageLocation": "../../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ + "packageLocation": "../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ "packageDependencies": [\ ["lodash", "npm:4.17.21"]\ ],\ @@ -3947,7 +3925,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash.merge", [\ ["npm:4.6.2", {\ - "packageLocation": "../../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ + "packageLocation": "../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ "packageDependencies": [\ ["lodash.merge", "npm:4.6.2"]\ ],\ @@ -3956,7 +3934,7 @@ const RAW_RUNTIME_STATE = ]],\ ["lodash.sortby", [\ ["npm:4.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ + "packageLocation": "../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ "packageDependencies": [\ ["lodash.sortby", "npm:4.7.0"]\ ],\ @@ -3965,7 +3943,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loglevel", [\ ["npm:1.9.1", {\ - "packageLocation": "../../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ + "packageLocation": "../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ "packageDependencies": [\ ["loglevel", "npm:1.9.1"]\ ],\ @@ -3974,7 +3952,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loglevel-colored-level-prefix", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ + "packageLocation": "../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ "packageDependencies": [\ ["loglevel-colored-level-prefix", "npm:1.0.0"],\ ["chalk", "npm:1.1.3"],\ @@ -3985,7 +3963,7 @@ const RAW_RUNTIME_STATE = ]],\ ["loupe", [\ ["npm:2.3.7", {\ - "packageLocation": "../../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ + "packageLocation": "../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ "packageDependencies": [\ ["loupe", "npm:2.3.7"],\ ["get-func-name", "npm:2.0.2"]\ @@ -3995,14 +3973,14 @@ const RAW_RUNTIME_STATE = ]],\ ["lru-cache", [\ ["npm:10.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ + "packageLocation": "../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ "packageDependencies": [\ ["lru-cache", "npm:10.2.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:6.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ + "packageLocation": "../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ "packageDependencies": [\ ["lru-cache", "npm:6.0.0"],\ ["yallist", "npm:4.0.0"]\ @@ -4012,7 +3990,7 @@ const RAW_RUNTIME_STATE = ]],\ ["magic-string", [\ ["npm:0.30.5", {\ - "packageLocation": "../../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ + "packageLocation": "../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ "packageDependencies": [\ ["magic-string", "npm:0.30.5"],\ ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ @@ -4022,7 +4000,7 @@ const RAW_RUNTIME_STATE = ]],\ ["magicast", [\ ["npm:0.3.3", {\ - "packageLocation": "../../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ + "packageLocation": "../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ "packageDependencies": [\ ["magicast", "npm:0.3.3"],\ ["@babel/parser", "npm:7.23.9"],\ @@ -4034,7 +4012,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-dir", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ + "packageLocation": "../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ "packageDependencies": [\ ["make-dir", "npm:4.0.0"],\ ["semver", "npm:7.5.4"]\ @@ -4044,7 +4022,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-error", [\ ["npm:1.3.6", {\ - "packageLocation": "../../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ + "packageLocation": "../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ "packageDependencies": [\ ["make-error", "npm:1.3.6"]\ ],\ @@ -4053,7 +4031,7 @@ const RAW_RUNTIME_STATE = ]],\ ["make-fetch-happen", [\ ["npm:13.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ + "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ "packageDependencies": [\ ["make-fetch-happen", "npm:13.0.0"],\ ["@npmcli/agent", "npm:2.2.0"],\ @@ -4071,7 +4049,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:9.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ + "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ "packageDependencies": [\ ["make-fetch-happen", "npm:9.1.0"],\ ["agentkeepalive", "npm:4.5.0"],\ @@ -4096,7 +4074,7 @@ const RAW_RUNTIME_STATE = ]],\ ["markdown-it", [\ ["npm:12.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ + "packageLocation": "../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ "packageDependencies": [\ ["markdown-it", "npm:12.3.2"],\ ["argparse", "npm:2.0.1"],\ @@ -4110,14 +4088,14 @@ const RAW_RUNTIME_STATE = ]],\ ["markdown-it-anchor", [\ ["npm:8.6.7", {\ - "packageLocation": "../../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageLocation": "../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ "packageDependencies": [\ ["markdown-it-anchor", "npm:8.6.7"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7", {\ - "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/3/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ + "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/2/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ "packageDependencies": [\ ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ ["@types/markdown-it", "npm:12.2.3"],\ @@ -4132,7 +4110,7 @@ const RAW_RUNTIME_STATE = ]],\ ["marked", [\ ["npm:4.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ + "packageLocation": "../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ "packageDependencies": [\ ["marked", "npm:4.3.0"]\ ],\ @@ -4141,7 +4119,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mdurl", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ + "packageLocation": "../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ "packageDependencies": [\ ["mdurl", "npm:1.0.1"]\ ],\ @@ -4150,7 +4128,7 @@ const RAW_RUNTIME_STATE = ]],\ ["media-typer", [\ ["npm:0.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ + "packageLocation": "../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ "packageDependencies": [\ ["media-typer", "npm:0.3.0"]\ ],\ @@ -4159,7 +4137,7 @@ const RAW_RUNTIME_STATE = ]],\ ["merge-stream", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ + "packageLocation": "../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ "packageDependencies": [\ ["merge-stream", "npm:2.0.0"]\ ],\ @@ -4168,7 +4146,7 @@ const RAW_RUNTIME_STATE = ]],\ ["merge2", [\ ["npm:1.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ + "packageLocation": "../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ "packageDependencies": [\ ["merge2", "npm:1.4.1"]\ ],\ @@ -4177,7 +4155,7 @@ const RAW_RUNTIME_STATE = ]],\ ["micromatch", [\ ["npm:4.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ + "packageLocation": "../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ "packageDependencies": [\ ["micromatch", "npm:4.0.5"],\ ["braces", "npm:3.0.2"],\ @@ -4188,7 +4166,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mime-db", [\ ["npm:1.52.0", {\ - "packageLocation": "../../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ + "packageLocation": "../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ "packageDependencies": [\ ["mime-db", "npm:1.52.0"]\ ],\ @@ -4197,7 +4175,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mime-types", [\ ["npm:2.1.35", {\ - "packageLocation": "../../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ + "packageLocation": "../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ "packageDependencies": [\ ["mime-types", "npm:2.1.35"],\ ["mime-db", "npm:1.52.0"]\ @@ -4207,7 +4185,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mimic-fn", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ + "packageLocation": "../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ "packageDependencies": [\ ["mimic-fn", "npm:4.0.0"]\ ],\ @@ -4216,7 +4194,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mimic-response", [\ ["npm:3.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ + "packageLocation": "../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ "packageDependencies": [\ ["mimic-response", "npm:3.1.0"]\ ],\ @@ -4225,7 +4203,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minimatch", [\ ["npm:3.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:3.1.2"],\ ["brace-expansion", "npm:1.1.11"]\ @@ -4233,7 +4211,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.1.6", {\ - "packageLocation": "../../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:5.1.6"],\ ["brace-expansion", "npm:2.0.1"]\ @@ -4241,7 +4219,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:9.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ + "packageLocation": "../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ "packageDependencies": [\ ["minimatch", "npm:9.0.3"],\ ["brace-expansion", "npm:2.0.1"]\ @@ -4251,7 +4229,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minimist", [\ ["npm:1.2.8", {\ - "packageLocation": "../../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ + "packageLocation": "../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ "packageDependencies": [\ ["minimist", "npm:1.2.8"]\ ],\ @@ -4260,7 +4238,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass", [\ ["npm:3.3.6", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:3.3.6"],\ ["yallist", "npm:4.0.0"]\ @@ -4268,14 +4246,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:5.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:7.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ + "packageLocation": "../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ "packageDependencies": [\ ["minipass", "npm:7.0.4"]\ ],\ @@ -4284,7 +4262,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-collect", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ + "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ "packageDependencies": [\ ["minipass-collect", "npm:1.0.2"],\ ["minipass", "npm:3.3.6"]\ @@ -4292,7 +4270,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ + "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ "packageDependencies": [\ ["minipass-collect", "npm:2.0.1"],\ ["minipass", "npm:7.0.4"]\ @@ -4302,7 +4280,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-fetch", [\ ["npm:1.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ + "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ "packageDependencies": [\ ["minipass-fetch", "npm:1.4.1"],\ ["encoding", "npm:0.1.13"],\ @@ -4313,7 +4291,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ + "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ "packageDependencies": [\ ["minipass-fetch", "npm:3.0.4"],\ ["encoding", "npm:0.1.13"],\ @@ -4326,7 +4304,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-flush", [\ ["npm:1.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ + "packageLocation": "../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ "packageDependencies": [\ ["minipass-flush", "npm:1.0.5"],\ ["minipass", "npm:3.3.6"]\ @@ -4336,7 +4314,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-pipeline", [\ ["npm:1.2.4", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ + "packageLocation": "../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ "packageDependencies": [\ ["minipass-pipeline", "npm:1.2.4"],\ ["minipass", "npm:3.3.6"]\ @@ -4346,7 +4324,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minipass-sized", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ + "packageLocation": "../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ "packageDependencies": [\ ["minipass-sized", "npm:1.0.3"],\ ["minipass", "npm:3.3.6"]\ @@ -4356,7 +4334,7 @@ const RAW_RUNTIME_STATE = ]],\ ["minizlib", [\ ["npm:2.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ + "packageLocation": "../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ "packageDependencies": [\ ["minizlib", "npm:2.1.2"],\ ["minipass", "npm:3.3.6"],\ @@ -4367,7 +4345,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mkdirp", [\ ["npm:1.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ + "packageLocation": "../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ "packageDependencies": [\ ["mkdirp", "npm:1.0.4"]\ ],\ @@ -4376,7 +4354,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mkdirp-classic", [\ ["npm:0.5.3", {\ - "packageLocation": "../../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ + "packageLocation": "../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ "packageDependencies": [\ ["mkdirp-classic", "npm:0.5.3"]\ ],\ @@ -4385,7 +4363,7 @@ const RAW_RUNTIME_STATE = ]],\ ["mlly", [\ ["npm:1.5.0", {\ - "packageLocation": "../../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ + "packageLocation": "../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ "packageDependencies": [\ ["mlly", "npm:1.5.0"],\ ["acorn", "npm:8.11.3"],\ @@ -4398,7 +4376,7 @@ const RAW_RUNTIME_STATE = ]],\ ["moment", [\ ["npm:2.30.1", {\ - "packageLocation": "../../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ + "packageLocation": "../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ "packageDependencies": [\ ["moment", "npm:2.30.1"]\ ],\ @@ -4407,14 +4385,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ms", [\ ["npm:2.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ + "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ "packageDependencies": [\ ["ms", "npm:2.1.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.1.3", {\ - "packageLocation": "../../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ + "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ "packageDependencies": [\ ["ms", "npm:2.1.3"]\ ],\ @@ -4423,7 +4401,7 @@ const RAW_RUNTIME_STATE = ]],\ ["multi-fork", [\ ["npm:0.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ + "packageLocation": "../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ "packageDependencies": [\ ["multi-fork", "npm:0.0.2"]\ ],\ @@ -4432,7 +4410,7 @@ const RAW_RUNTIME_STATE = ]],\ ["nanoid", [\ ["npm:3.3.7", {\ - "packageLocation": "../../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ + "packageLocation": "../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ "packageDependencies": [\ ["nanoid", "npm:3.3.7"]\ ],\ @@ -4441,7 +4419,7 @@ const RAW_RUNTIME_STATE = ]],\ ["napi-build-utils", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ + "packageLocation": "../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ "packageDependencies": [\ ["napi-build-utils", "npm:1.0.2"]\ ],\ @@ -4450,7 +4428,7 @@ const RAW_RUNTIME_STATE = ]],\ ["natural-compare", [\ ["npm:1.4.0", {\ - "packageLocation": "../../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ + "packageLocation": "../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ "packageDependencies": [\ ["natural-compare", "npm:1.4.0"]\ ],\ @@ -4459,7 +4437,7 @@ const RAW_RUNTIME_STATE = ]],\ ["negotiator", [\ ["npm:0.6.3", {\ - "packageLocation": "../../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ + "packageLocation": "../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ "packageDependencies": [\ ["negotiator", "npm:0.6.3"]\ ],\ @@ -4468,7 +4446,7 @@ const RAW_RUNTIME_STATE = ]],\ ["node-abi", [\ ["npm:3.54.0", {\ - "packageLocation": "../../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ + "packageLocation": "../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ "packageDependencies": [\ ["node-abi", "npm:3.54.0"],\ ["semver", "npm:7.5.4"]\ @@ -4488,14 +4466,14 @@ const RAW_RUNTIME_STATE = ]],\ ["node-fetch", [\ ["npm:2.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageLocation": "../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ "packageDependencies": [\ ["node-fetch", "npm:2.7.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/3/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ + "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/2/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ "packageDependencies": [\ ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ ["@types/encoding", null],\ @@ -4547,7 +4525,7 @@ const RAW_RUNTIME_STATE = ]],\ ["nopt", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ + "packageLocation": "../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ "packageDependencies": [\ ["nopt", "npm:5.0.0"],\ ["abbrev", "npm:1.1.1"]\ @@ -4555,7 +4533,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ + "packageLocation": "../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ "packageDependencies": [\ ["nopt", "npm:7.2.0"],\ ["abbrev", "npm:2.0.0"]\ @@ -4565,7 +4543,7 @@ const RAW_RUNTIME_STATE = ]],\ ["npm-run-path", [\ ["npm:5.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ + "packageLocation": "../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ "packageDependencies": [\ ["npm-run-path", "npm:5.2.0"],\ ["path-key", "npm:4.0.0"]\ @@ -4575,7 +4553,7 @@ const RAW_RUNTIME_STATE = ]],\ ["npmlog", [\ ["npm:6.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ + "packageLocation": "../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ "packageDependencies": [\ ["npmlog", "npm:6.0.2"],\ ["are-we-there-yet", "npm:3.0.1"],\ @@ -4588,7 +4566,7 @@ const RAW_RUNTIME_STATE = ]],\ ["obuf", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ + "packageLocation": "../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ "packageDependencies": [\ ["obuf", "npm:1.1.2"]\ ],\ @@ -4597,7 +4575,7 @@ const RAW_RUNTIME_STATE = ]],\ ["on-exit-leak-free", [\ ["npm:2.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ + "packageLocation": "../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ "packageDependencies": [\ ["on-exit-leak-free", "npm:2.1.2"]\ ],\ @@ -4606,7 +4584,7 @@ const RAW_RUNTIME_STATE = ]],\ ["once", [\ ["npm:1.4.0", {\ - "packageLocation": "../../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ + "packageLocation": "../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ "packageDependencies": [\ ["once", "npm:1.4.0"],\ ["wrappy", "npm:1.0.2"]\ @@ -4616,7 +4594,7 @@ const RAW_RUNTIME_STATE = ]],\ ["onetime", [\ ["npm:6.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ + "packageLocation": "../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ "packageDependencies": [\ ["onetime", "npm:6.0.0"],\ ["mimic-fn", "npm:4.0.0"]\ @@ -4626,7 +4604,7 @@ const RAW_RUNTIME_STATE = ]],\ ["optionator", [\ ["npm:0.9.3", {\ - "packageLocation": "../../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ + "packageLocation": "../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ "packageDependencies": [\ ["optionator", "npm:0.9.3"],\ ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ @@ -4641,7 +4619,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-defer", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ + "packageLocation": "../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ "packageDependencies": [\ ["p-defer", "npm:3.0.0"]\ ],\ @@ -4650,7 +4628,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-limit", [\ ["npm:3.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ + "packageLocation": "../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ "packageDependencies": [\ ["p-limit", "npm:3.1.0"],\ ["yocto-queue", "npm:0.1.0"]\ @@ -4658,7 +4636,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ + "packageLocation": "../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ "packageDependencies": [\ ["p-limit", "npm:5.0.0"],\ ["yocto-queue", "npm:1.0.0"]\ @@ -4668,7 +4646,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-locate", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ + "packageLocation": "../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ "packageDependencies": [\ ["p-locate", "npm:5.0.0"],\ ["p-limit", "npm:3.1.0"]\ @@ -4678,7 +4656,7 @@ const RAW_RUNTIME_STATE = ]],\ ["p-map", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ + "packageLocation": "../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ "packageDependencies": [\ ["p-map", "npm:4.0.0"],\ ["aggregate-error", "npm:3.1.0"]\ @@ -4688,7 +4666,7 @@ const RAW_RUNTIME_STATE = ]],\ ["packet-reader", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ + "packageLocation": "../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ "packageDependencies": [\ ["packet-reader", "npm:1.0.0"]\ ],\ @@ -4697,7 +4675,7 @@ const RAW_RUNTIME_STATE = ]],\ ["parent-module", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ + "packageLocation": "../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ "packageDependencies": [\ ["parent-module", "npm:1.0.1"],\ ["callsites", "npm:3.1.0"]\ @@ -4707,7 +4685,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-exists", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ + "packageLocation": "../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ "packageDependencies": [\ ["path-exists", "npm:4.0.0"]\ ],\ @@ -4716,7 +4694,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-is-absolute", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ + "packageLocation": "../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ "packageDependencies": [\ ["path-is-absolute", "npm:1.0.1"]\ ],\ @@ -4725,14 +4703,14 @@ const RAW_RUNTIME_STATE = ]],\ ["path-key", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ + "packageLocation": "../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ "packageDependencies": [\ ["path-key", "npm:3.1.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ + "packageLocation": "../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ "packageDependencies": [\ ["path-key", "npm:4.0.0"]\ ],\ @@ -4741,7 +4719,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-scurry", [\ ["npm:1.10.1", {\ - "packageLocation": "../../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ + "packageLocation": "../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ "packageDependencies": [\ ["path-scurry", "npm:1.10.1"],\ ["lru-cache", "npm:10.2.0"],\ @@ -4752,7 +4730,7 @@ const RAW_RUNTIME_STATE = ]],\ ["path-type", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ + "packageLocation": "../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ "packageDependencies": [\ ["path-type", "npm:4.0.0"]\ ],\ @@ -4761,7 +4739,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pathe", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ + "packageLocation": "../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ "packageDependencies": [\ ["pathe", "npm:1.1.2"]\ ],\ @@ -4770,7 +4748,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pathval", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ + "packageLocation": "../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ "packageDependencies": [\ ["pathval", "npm:1.1.1"]\ ],\ @@ -4779,14 +4757,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg", [\ ["npm:8.11.3", {\ - "packageLocation": "../../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageLocation": "../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ "packageDependencies": [\ ["pg", "npm:8.11.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/3/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ + "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/2/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ "packageDependencies": [\ ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ ["@types/pg-native", null],\ @@ -4809,7 +4787,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-cloudflare", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ + "packageLocation": "../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ "packageDependencies": [\ ["pg-cloudflare", "npm:1.1.1"]\ ],\ @@ -4818,7 +4796,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-connection-string", [\ ["npm:2.6.2", {\ - "packageLocation": "../../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ + "packageLocation": "../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ "packageDependencies": [\ ["pg-connection-string", "npm:2.6.2"]\ ],\ @@ -4827,7 +4805,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-copy-streams", [\ ["npm:6.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ + "packageLocation": "../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ "packageDependencies": [\ ["pg-copy-streams", "npm:6.0.6"],\ ["obuf", "npm:1.1.2"]\ @@ -4837,7 +4815,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-copy-streams-binary", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ + "packageLocation": "../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ "packageDependencies": [\ ["pg-copy-streams-binary", "npm:2.2.0"],\ ["bl", "npm:4.1.0"],\ @@ -4852,14 +4830,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-cursor", [\ ["npm:2.10.3", {\ - "packageLocation": "../../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "npm:2.10.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/3/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ ["@types/pg", null],\ @@ -4872,7 +4850,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/3/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ + "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ "packageDependencies": [\ ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"],\ ["@types/pg", "npm:8.11.0"],\ @@ -4887,7 +4865,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-int8", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ + "packageLocation": "../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ "packageDependencies": [\ ["pg-int8", "npm:1.0.1"]\ ],\ @@ -4896,7 +4874,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-numeric", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ + "packageLocation": "../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ "packageDependencies": [\ ["pg-numeric", "npm:1.0.2"]\ ],\ @@ -4905,14 +4883,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-pool", [\ ["npm:3.6.1", {\ - "packageLocation": "../../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageLocation": "../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ "packageDependencies": [\ ["pg-pool", "npm:3.6.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1", {\ - "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/3/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ + "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/2/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ "packageDependencies": [\ ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ ["@types/pg", null],\ @@ -4927,7 +4905,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-protocol", [\ ["npm:1.6.0", {\ - "packageLocation": "../../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ + "packageLocation": "../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ "packageDependencies": [\ ["pg-protocol", "npm:1.6.0"]\ ],\ @@ -4936,14 +4914,14 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-query-stream", [\ ["npm:4.5.3", {\ - "packageLocation": "../../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageLocation": "../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ "packageDependencies": [\ ["pg-query-stream", "npm:4.5.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/3/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ + "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/2/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ "packageDependencies": [\ ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ ["@types/pg", "npm:8.11.0"],\ @@ -4959,7 +4937,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pg-types", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ + "packageLocation": "../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ "packageDependencies": [\ ["pg-types", "npm:2.2.0"],\ ["pg-int8", "npm:1.0.1"],\ @@ -4971,7 +4949,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ + "packageLocation": "../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ "packageDependencies": [\ ["pg-types", "npm:4.0.2"],\ ["pg-int8", "npm:1.0.1"],\ @@ -4987,7 +4965,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pgpass", [\ ["npm:1.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ + "packageLocation": "../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ "packageDependencies": [\ ["pgpass", "npm:1.0.5"],\ ["split2", "npm:4.2.0"]\ @@ -4997,7 +4975,7 @@ const RAW_RUNTIME_STATE = ]],\ ["picocolors", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ + "packageLocation": "../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ "packageDependencies": [\ ["picocolors", "npm:1.0.0"]\ ],\ @@ -5006,7 +4984,7 @@ const RAW_RUNTIME_STATE = ]],\ ["picomatch", [\ ["npm:2.3.1", {\ - "packageLocation": "../../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ + "packageLocation": "../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ "packageDependencies": [\ ["picomatch", "npm:2.3.1"]\ ],\ @@ -5015,7 +4993,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino", [\ ["npm:8.17.2", {\ - "packageLocation": "../../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ + "packageLocation": "../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ "packageDependencies": [\ ["pino", "npm:8.17.2"],\ ["atomic-sleep", "npm:1.0.0"],\ @@ -5033,7 +5011,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.18.0", {\ - "packageLocation": "../../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ + "packageLocation": "../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ "packageDependencies": [\ ["pino", "npm:8.18.0"],\ ["atomic-sleep", "npm:1.0.0"],\ @@ -5053,7 +5031,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-abstract-transport", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ + "packageLocation": "../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ "packageDependencies": [\ ["pino-abstract-transport", "npm:1.1.0"],\ ["readable-stream", "npm:4.5.2"],\ @@ -5064,7 +5042,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-pretty", [\ ["npm:10.3.1", {\ - "packageLocation": "../../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ + "packageLocation": "../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ "packageDependencies": [\ ["pino-pretty", "npm:10.3.1"],\ ["colorette", "npm:2.0.20"],\ @@ -5087,7 +5065,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pino-std-serializers", [\ ["npm:6.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ + "packageLocation": "../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ "packageDependencies": [\ ["pino-std-serializers", "npm:6.2.2"]\ ],\ @@ -5096,7 +5074,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pkg-types", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ + "packageLocation": "../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ "packageDependencies": [\ ["pkg-types", "npm:1.0.3"],\ ["jsonc-parser", "npm:3.2.1"],\ @@ -5108,7 +5086,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pony-cause", [\ ["npm:2.1.10", {\ - "packageLocation": "../../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ + "packageLocation": "../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ "packageDependencies": [\ ["pony-cause", "npm:2.1.10"]\ ],\ @@ -5117,7 +5095,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postcss", [\ ["npm:8.4.33", {\ - "packageLocation": "../../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ + "packageLocation": "../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ "packageDependencies": [\ ["postcss", "npm:8.4.33"],\ ["nanoid", "npm:3.3.7"],\ @@ -5129,14 +5107,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-array", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ + "packageLocation": "../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ "packageDependencies": [\ ["postgres-array", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ + "packageLocation": "../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ "packageDependencies": [\ ["postgres-array", "npm:3.0.2"]\ ],\ @@ -5145,14 +5123,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-bytea", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ + "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ "packageDependencies": [\ ["postgres-bytea", "npm:1.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ + "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ "packageDependencies": [\ ["postgres-bytea", "npm:3.0.0"],\ ["obuf", "npm:1.1.2"]\ @@ -5162,14 +5140,14 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-date", [\ ["npm:1.0.7", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ + "packageLocation": "../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ "packageDependencies": [\ ["postgres-date", "npm:1.0.7"]\ ],\ "linkType": "HARD"\ }],\ ["npm:2.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ + "packageLocation": "../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ "packageDependencies": [\ ["postgres-date", "npm:2.1.0"]\ ],\ @@ -5178,7 +5156,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-interval", [\ ["npm:1.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:1.2.0"],\ ["xtend", "npm:4.0.2"]\ @@ -5186,14 +5164,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:3.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ + "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ "packageDependencies": [\ ["postgres-interval", "npm:4.0.2"]\ ],\ @@ -5202,7 +5180,7 @@ const RAW_RUNTIME_STATE = ]],\ ["postgres-range", [\ ["npm:1.1.4", {\ - "packageLocation": "../../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ + "packageLocation": "../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ "packageDependencies": [\ ["postgres-range", "npm:1.1.4"]\ ],\ @@ -5211,7 +5189,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prebuild-install", [\ ["npm:7.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ + "packageLocation": "../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ "packageDependencies": [\ ["prebuild-install", "npm:7.1.1"],\ ["detect-libc", "npm:2.0.2"],\ @@ -5232,7 +5210,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prelude-ls", [\ ["npm:1.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ + "packageLocation": "../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ "packageDependencies": [\ ["prelude-ls", "npm:1.2.1"]\ ],\ @@ -5257,7 +5235,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prettier-eslint", [\ ["npm:16.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ + "packageLocation": "../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ "packageDependencies": [\ ["prettier-eslint", "npm:16.2.0"],\ ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ @@ -5278,7 +5256,7 @@ const RAW_RUNTIME_STATE = ]],\ ["prettier-linter-helpers", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ + "packageLocation": "../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ "packageDependencies": [\ ["prettier-linter-helpers", "npm:1.0.0"],\ ["fast-diff", "npm:1.3.0"]\ @@ -5288,7 +5266,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pretty-format", [\ ["npm:29.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ + "packageLocation": "../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ "packageDependencies": [\ ["pretty-format", "npm:29.7.0"],\ ["@jest/schemas", "npm:29.6.3"],\ @@ -5300,7 +5278,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proc-log", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ + "packageLocation": "../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ "packageDependencies": [\ ["proc-log", "npm:3.0.0"]\ ],\ @@ -5309,7 +5287,7 @@ const RAW_RUNTIME_STATE = ]],\ ["process", [\ ["npm:0.11.10", {\ - "packageLocation": "../../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ + "packageLocation": "../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ "packageDependencies": [\ ["process", "npm:0.11.10"]\ ],\ @@ -5318,14 +5296,14 @@ const RAW_RUNTIME_STATE = ]],\ ["process-warning", [\ ["npm:2.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ + "packageLocation": "../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ "packageDependencies": [\ ["process-warning", "npm:2.3.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ + "packageLocation": "../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ "packageDependencies": [\ ["process-warning", "npm:3.0.0"]\ ],\ @@ -5334,7 +5312,7 @@ const RAW_RUNTIME_STATE = ]],\ ["progress", [\ ["npm:2.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ + "packageLocation": "../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ "packageDependencies": [\ ["progress", "npm:2.0.3"]\ ],\ @@ -5343,14 +5321,14 @@ const RAW_RUNTIME_STATE = ]],\ ["promise-inflight", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageLocation": "../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ "packageDependencies": [\ ["promise-inflight", "npm:1.0.1"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/3/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ + "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/2/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ "packageDependencies": [\ ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ ["@types/bluebird", null],\ @@ -5365,7 +5343,7 @@ const RAW_RUNTIME_STATE = ]],\ ["promise-retry", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ + "packageLocation": "../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ "packageDependencies": [\ ["promise-retry", "npm:2.0.1"],\ ["err-code", "npm:2.0.3"],\ @@ -5376,7 +5354,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proxy-addr", [\ ["npm:2.0.7", {\ - "packageLocation": "../../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ + "packageLocation": "../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ "packageDependencies": [\ ["proxy-addr", "npm:2.0.7"],\ ["forwarded", "npm:0.2.0"],\ @@ -5387,7 +5365,7 @@ const RAW_RUNTIME_STATE = ]],\ ["proxy-from-env", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ + "packageLocation": "../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ "packageDependencies": [\ ["proxy-from-env", "npm:1.1.0"]\ ],\ @@ -5396,7 +5374,7 @@ const RAW_RUNTIME_STATE = ]],\ ["pump", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ + "packageLocation": "../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ "packageDependencies": [\ ["pump", "npm:3.0.0"],\ ["end-of-stream", "npm:1.4.4"],\ @@ -5407,7 +5385,7 @@ const RAW_RUNTIME_STATE = ]],\ ["punycode", [\ ["npm:2.3.1", {\ - "packageLocation": "../../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ + "packageLocation": "../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ "packageDependencies": [\ ["punycode", "npm:2.3.1"]\ ],\ @@ -5416,7 +5394,7 @@ const RAW_RUNTIME_STATE = ]],\ ["queue-microtask", [\ ["npm:1.2.3", {\ - "packageLocation": "../../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ + "packageLocation": "../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ "packageDependencies": [\ ["queue-microtask", "npm:1.2.3"]\ ],\ @@ -5425,7 +5403,7 @@ const RAW_RUNTIME_STATE = ]],\ ["quick-format-unescaped", [\ ["npm:4.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ + "packageLocation": "../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ "packageDependencies": [\ ["quick-format-unescaped", "npm:4.0.4"]\ ],\ @@ -5434,7 +5412,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rc", [\ ["npm:1.2.8", {\ - "packageLocation": "../../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ + "packageLocation": "../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ "packageDependencies": [\ ["rc", "npm:1.2.8"],\ ["deep-extend", "npm:0.6.0"],\ @@ -5447,7 +5425,7 @@ const RAW_RUNTIME_STATE = ]],\ ["react-is", [\ ["npm:18.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ + "packageLocation": "../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ "packageDependencies": [\ ["react-is", "npm:18.2.0"]\ ],\ @@ -5456,7 +5434,7 @@ const RAW_RUNTIME_STATE = ]],\ ["readable-stream", [\ ["npm:3.6.2", {\ - "packageLocation": "../../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ + "packageLocation": "../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ "packageDependencies": [\ ["readable-stream", "npm:3.6.2"],\ ["inherits", "npm:2.0.4"],\ @@ -5466,7 +5444,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.5.2", {\ - "packageLocation": "../../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ + "packageLocation": "../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ "packageDependencies": [\ ["readable-stream", "npm:4.5.2"],\ ["abort-controller", "npm:3.0.0"],\ @@ -5480,7 +5458,7 @@ const RAW_RUNTIME_STATE = ]],\ ["real-require", [\ ["npm:0.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ + "packageLocation": "../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ "packageDependencies": [\ ["real-require", "npm:0.2.0"]\ ],\ @@ -5489,7 +5467,7 @@ const RAW_RUNTIME_STATE = ]],\ ["require-from-string", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ + "packageLocation": "../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ "packageDependencies": [\ ["require-from-string", "npm:2.0.2"]\ ],\ @@ -5498,7 +5476,7 @@ const RAW_RUNTIME_STATE = ]],\ ["require-relative", [\ ["npm:0.8.7", {\ - "packageLocation": "../../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ + "packageLocation": "../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ "packageDependencies": [\ ["require-relative", "npm:0.8.7"]\ ],\ @@ -5507,7 +5485,7 @@ const RAW_RUNTIME_STATE = ]],\ ["requizzle", [\ ["npm:0.2.4", {\ - "packageLocation": "../../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ + "packageLocation": "../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ "packageDependencies": [\ ["requizzle", "npm:0.2.4"],\ ["lodash", "npm:4.17.21"]\ @@ -5517,7 +5495,7 @@ const RAW_RUNTIME_STATE = ]],\ ["resolve-from", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ + "packageLocation": "../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ "packageDependencies": [\ ["resolve-from", "npm:4.0.0"]\ ],\ @@ -5526,7 +5504,7 @@ const RAW_RUNTIME_STATE = ]],\ ["resolve-pkg-maps", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ + "packageLocation": "../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ "packageDependencies": [\ ["resolve-pkg-maps", "npm:1.0.0"]\ ],\ @@ -5535,7 +5513,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ret", [\ ["npm:0.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ + "packageLocation": "../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ "packageDependencies": [\ ["ret", "npm:0.2.2"]\ ],\ @@ -5544,7 +5522,7 @@ const RAW_RUNTIME_STATE = ]],\ ["retry", [\ ["npm:0.12.0", {\ - "packageLocation": "../../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ + "packageLocation": "../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ "packageDependencies": [\ ["retry", "npm:0.12.0"]\ ],\ @@ -5553,7 +5531,7 @@ const RAW_RUNTIME_STATE = ]],\ ["reusify", [\ ["npm:1.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ + "packageLocation": "../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ "packageDependencies": [\ ["reusify", "npm:1.0.4"]\ ],\ @@ -5562,7 +5540,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rfdc", [\ ["npm:1.3.1", {\ - "packageLocation": "../../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ + "packageLocation": "../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ "packageDependencies": [\ ["rfdc", "npm:1.3.1"]\ ],\ @@ -5571,7 +5549,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rimraf", [\ ["npm:3.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ + "packageLocation": "../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ "packageDependencies": [\ ["rimraf", "npm:3.0.2"],\ ["glob", "npm:7.2.3"]\ @@ -5581,7 +5559,7 @@ const RAW_RUNTIME_STATE = ]],\ ["roarr", [\ ["npm:7.21.0", {\ - "packageLocation": "../../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ + "packageLocation": "../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ "packageDependencies": [\ ["roarr", "npm:7.21.0"],\ ["fast-printf", "npm:1.6.9"],\ @@ -5593,7 +5571,7 @@ const RAW_RUNTIME_STATE = ]],\ ["rollup", [\ ["npm:4.9.6", {\ - "packageLocation": "../../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ + "packageLocation": "../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ "packageDependencies": [\ ["rollup", "npm:4.9.6"],\ ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"],\ @@ -5617,7 +5595,7 @@ const RAW_RUNTIME_STATE = ]],\ ["run-parallel", [\ ["npm:1.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ + "packageLocation": "../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ "packageDependencies": [\ ["run-parallel", "npm:1.2.0"],\ ["queue-microtask", "npm:1.2.3"]\ @@ -5642,7 +5620,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-buffer", [\ ["npm:5.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ + "packageLocation": "../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ "packageDependencies": [\ ["safe-buffer", "npm:5.2.1"]\ ],\ @@ -5651,7 +5629,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-regex2", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ + "packageLocation": "../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ "packageDependencies": [\ ["safe-regex2", "npm:2.0.0"],\ ["ret", "npm:0.2.2"]\ @@ -5661,7 +5639,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safe-stable-stringify", [\ ["npm:2.4.3", {\ - "packageLocation": "../../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ + "packageLocation": "../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ "packageDependencies": [\ ["safe-stable-stringify", "npm:2.4.3"]\ ],\ @@ -5670,7 +5648,7 @@ const RAW_RUNTIME_STATE = ]],\ ["safer-buffer", [\ ["npm:2.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ + "packageLocation": "../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ "packageDependencies": [\ ["safer-buffer", "npm:2.1.2"]\ ],\ @@ -5679,7 +5657,7 @@ const RAW_RUNTIME_STATE = ]],\ ["secure-json-parse", [\ ["npm:2.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ + "packageLocation": "../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ "packageDependencies": [\ ["secure-json-parse", "npm:2.7.0"]\ ],\ @@ -5688,7 +5666,7 @@ const RAW_RUNTIME_STATE = ]],\ ["semver", [\ ["npm:7.5.4", {\ - "packageLocation": "../../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ + "packageLocation": "../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ "packageDependencies": [\ ["semver", "npm:7.5.4"],\ ["lru-cache", "npm:6.0.0"]\ @@ -5698,7 +5676,7 @@ const RAW_RUNTIME_STATE = ]],\ ["semver-compare", [\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ + "packageLocation": "../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ "packageDependencies": [\ ["semver-compare", "npm:1.0.0"]\ ],\ @@ -5707,7 +5685,7 @@ const RAW_RUNTIME_STATE = ]],\ ["serialize-error", [\ ["npm:8.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ + "packageLocation": "../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ "packageDependencies": [\ ["serialize-error", "npm:8.1.0"],\ ["type-fest", "npm:0.20.2"]\ @@ -5717,7 +5695,7 @@ const RAW_RUNTIME_STATE = ]],\ ["set-blocking", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ + "packageLocation": "../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ "packageDependencies": [\ ["set-blocking", "npm:2.0.0"]\ ],\ @@ -5726,7 +5704,7 @@ const RAW_RUNTIME_STATE = ]],\ ["set-cookie-parser", [\ ["npm:2.6.0", {\ - "packageLocation": "../../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ + "packageLocation": "../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ "packageDependencies": [\ ["set-cookie-parser", "npm:2.6.0"]\ ],\ @@ -5735,7 +5713,7 @@ const RAW_RUNTIME_STATE = ]],\ ["setprototypeof", [\ ["npm:1.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ + "packageLocation": "../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ "packageDependencies": [\ ["setprototypeof", "npm:1.2.0"]\ ],\ @@ -5744,7 +5722,7 @@ const RAW_RUNTIME_STATE = ]],\ ["shebang-command", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ + "packageLocation": "../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ "packageDependencies": [\ ["shebang-command", "npm:2.0.0"],\ ["shebang-regex", "npm:3.0.0"]\ @@ -5754,7 +5732,7 @@ const RAW_RUNTIME_STATE = ]],\ ["shebang-regex", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ + "packageLocation": "../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ "packageDependencies": [\ ["shebang-regex", "npm:3.0.0"]\ ],\ @@ -5763,7 +5741,7 @@ const RAW_RUNTIME_STATE = ]],\ ["short-unique-id", [\ ["npm:5.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ + "packageLocation": "../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ "packageDependencies": [\ ["short-unique-id", "npm:5.0.3"]\ ],\ @@ -5772,7 +5750,7 @@ const RAW_RUNTIME_STATE = ]],\ ["siginfo", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ + "packageLocation": "../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ "packageDependencies": [\ ["siginfo", "npm:2.0.0"]\ ],\ @@ -5781,14 +5759,14 @@ const RAW_RUNTIME_STATE = ]],\ ["signal-exit", [\ ["npm:3.0.7", {\ - "packageLocation": "../../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ + "packageLocation": "../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ "packageDependencies": [\ ["signal-exit", "npm:3.0.7"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ + "packageLocation": "../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ "packageDependencies": [\ ["signal-exit", "npm:4.1.0"]\ ],\ @@ -5797,7 +5775,7 @@ const RAW_RUNTIME_STATE = ]],\ ["simple-concat", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ + "packageLocation": "../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ "packageDependencies": [\ ["simple-concat", "npm:1.0.1"]\ ],\ @@ -5806,7 +5784,7 @@ const RAW_RUNTIME_STATE = ]],\ ["simple-get", [\ ["npm:4.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ + "packageLocation": "../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ "packageDependencies": [\ ["simple-get", "npm:4.0.1"],\ ["decompress-response", "npm:6.0.0"],\ @@ -5818,7 +5796,7 @@ const RAW_RUNTIME_STATE = ]],\ ["slash", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ + "packageLocation": "../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ "packageDependencies": [\ ["slash", "npm:3.0.0"]\ ],\ @@ -5827,7 +5805,7 @@ const RAW_RUNTIME_STATE = ]],\ ["slonik", [\ ["npm:29.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ + "packageLocation": "../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "npm:29.2.0"],\ ["concat-stream", "npm:2.0.0"],\ @@ -5852,14 +5830,14 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:37.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageLocation": "../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "npm:37.2.0"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0", {\ - "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/3/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ + "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/2/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ "packageDependencies": [\ ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ ["@types/pg", "npm:8.11.0"],\ @@ -5887,7 +5865,7 @@ const RAW_RUNTIME_STATE = ]],\ ["smart-buffer", [\ ["npm:4.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ + "packageLocation": "../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ "packageDependencies": [\ ["smart-buffer", "npm:4.2.0"]\ ],\ @@ -5896,7 +5874,7 @@ const RAW_RUNTIME_STATE = ]],\ ["socks", [\ ["npm:2.7.1", {\ - "packageLocation": "../../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ + "packageLocation": "../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ "packageDependencies": [\ ["socks", "npm:2.7.1"],\ ["ip", "npm:2.0.1"],\ @@ -5907,7 +5885,7 @@ const RAW_RUNTIME_STATE = ]],\ ["socks-proxy-agent", [\ ["npm:6.2.1", {\ - "packageLocation": "../../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ "packageDependencies": [\ ["socks-proxy-agent", "npm:6.2.1"],\ ["agent-base", "npm:6.0.2"],\ @@ -5917,7 +5895,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ + "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ "packageDependencies": [\ ["socks-proxy-agent", "npm:8.0.2"],\ ["agent-base", "npm:7.1.0"],\ @@ -5929,7 +5907,7 @@ const RAW_RUNTIME_STATE = ]],\ ["sonic-boom", [\ ["npm:3.8.0", {\ - "packageLocation": "../../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ + "packageLocation": "../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ "packageDependencies": [\ ["sonic-boom", "npm:3.8.0"],\ ["atomic-sleep", "npm:1.0.0"]\ @@ -5939,14 +5917,14 @@ const RAW_RUNTIME_STATE = ]],\ ["source-map", [\ ["npm:0.6.1", {\ - "packageLocation": "../../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ + "packageLocation": "../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ "packageDependencies": [\ ["source-map", "npm:0.6.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:0.8.0-beta.0", {\ - "packageLocation": "../../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ + "packageLocation": "../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ "packageDependencies": [\ ["source-map", "npm:0.8.0-beta.0"],\ ["whatwg-url", "npm:7.1.0"]\ @@ -5956,7 +5934,7 @@ const RAW_RUNTIME_STATE = ]],\ ["source-map-js", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ + "packageLocation": "../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ "packageDependencies": [\ ["source-map-js", "npm:1.0.2"]\ ],\ @@ -5965,7 +5943,7 @@ const RAW_RUNTIME_STATE = ]],\ ["split2", [\ ["npm:4.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ + "packageLocation": "../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ "packageDependencies": [\ ["split2", "npm:4.2.0"]\ ],\ @@ -5974,7 +5952,7 @@ const RAW_RUNTIME_STATE = ]],\ ["sprintf-js", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ + "packageLocation": "../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ "packageDependencies": [\ ["sprintf-js", "npm:1.0.3"]\ ],\ @@ -6008,7 +5986,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ssri", [\ ["npm:10.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ + "packageLocation": "../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ "packageDependencies": [\ ["ssri", "npm:10.0.5"],\ ["minipass", "npm:7.0.4"]\ @@ -6016,7 +5994,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ + "packageLocation": "../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ "packageDependencies": [\ ["ssri", "npm:8.0.1"],\ ["minipass", "npm:3.3.6"]\ @@ -6026,7 +6004,7 @@ const RAW_RUNTIME_STATE = ]],\ ["stackback", [\ ["npm:0.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ + "packageLocation": "../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ "packageDependencies": [\ ["stackback", "npm:0.0.2"]\ ],\ @@ -6035,7 +6013,7 @@ const RAW_RUNTIME_STATE = ]],\ ["stacktrace-parser", [\ ["npm:0.1.10", {\ - "packageLocation": "../../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ + "packageLocation": "../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ "packageDependencies": [\ ["stacktrace-parser", "npm:0.1.10"],\ ["type-fest", "npm:0.7.1"]\ @@ -6045,7 +6023,7 @@ const RAW_RUNTIME_STATE = ]],\ ["statuses", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ + "packageLocation": "../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ "packageDependencies": [\ ["statuses", "npm:2.0.1"]\ ],\ @@ -6054,7 +6032,7 @@ const RAW_RUNTIME_STATE = ]],\ ["std-env", [\ ["npm:3.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ + "packageLocation": "../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ "packageDependencies": [\ ["std-env", "npm:3.7.0"]\ ],\ @@ -6063,7 +6041,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string-argv", [\ ["npm:0.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ + "packageLocation": "../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ "packageDependencies": [\ ["string-argv", "npm:0.3.2"]\ ],\ @@ -6072,7 +6050,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string-width", [\ ["npm:4.2.3", {\ - "packageLocation": "../../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ + "packageLocation": "../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ "packageDependencies": [\ ["string-width", "npm:4.2.3"],\ ["emoji-regex", "npm:8.0.0"],\ @@ -6082,7 +6060,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:5.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ + "packageLocation": "../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ "packageDependencies": [\ ["string-width", "npm:5.1.2"],\ ["eastasianwidth", "npm:0.2.0"],\ @@ -6094,7 +6072,7 @@ const RAW_RUNTIME_STATE = ]],\ ["string_decoder", [\ ["npm:1.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ + "packageLocation": "../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ "packageDependencies": [\ ["string_decoder", "npm:1.3.0"],\ ["safe-buffer", "npm:5.2.1"]\ @@ -6104,7 +6082,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-ansi", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:3.0.1"],\ ["ansi-regex", "npm:2.1.1"]\ @@ -6112,7 +6090,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:6.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:6.0.1"],\ ["ansi-regex", "npm:5.0.1"]\ @@ -6120,7 +6098,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ + "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ "packageDependencies": [\ ["strip-ansi", "npm:7.1.0"],\ ["ansi-regex", "npm:6.0.1"]\ @@ -6130,7 +6108,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-final-newline", [\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ + "packageLocation": "../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ "packageDependencies": [\ ["strip-final-newline", "npm:3.0.0"]\ ],\ @@ -6139,14 +6117,14 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-json-comments", [\ ["npm:2.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ + "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ "packageDependencies": [\ ["strip-json-comments", "npm:2.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ + "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ "packageDependencies": [\ ["strip-json-comments", "npm:3.1.1"]\ ],\ @@ -6155,7 +6133,7 @@ const RAW_RUNTIME_STATE = ]],\ ["strip-literal", [\ ["npm:1.3.0", {\ - "packageLocation": "../../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ + "packageLocation": "../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ "packageDependencies": [\ ["strip-literal", "npm:1.3.0"],\ ["acorn", "npm:8.11.3"]\ @@ -6165,14 +6143,14 @@ const RAW_RUNTIME_STATE = ]],\ ["supports-color", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ + "packageLocation": "../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ "packageDependencies": [\ ["supports-color", "npm:2.0.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:7.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ + "packageLocation": "../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ "packageDependencies": [\ ["supports-color", "npm:7.2.0"],\ ["has-flag", "npm:4.0.0"]\ @@ -6182,7 +6160,7 @@ const RAW_RUNTIME_STATE = ]],\ ["synckit", [\ ["npm:0.8.8", {\ - "packageLocation": "../../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ + "packageLocation": "../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ "packageDependencies": [\ ["synckit", "npm:0.8.8"],\ ["@pkgr/core", "npm:0.1.1"],\ @@ -6193,7 +6171,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar", [\ ["npm:6.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ + "packageLocation": "../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ "packageDependencies": [\ ["tar", "npm:6.2.0"],\ ["chownr", "npm:2.0.0"],\ @@ -6208,7 +6186,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar-fs", [\ ["npm:2.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ + "packageLocation": "../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ "packageDependencies": [\ ["tar-fs", "npm:2.1.1"],\ ["chownr", "npm:1.1.4"],\ @@ -6221,7 +6199,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tar-stream", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ + "packageLocation": "../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ "packageDependencies": [\ ["tar-stream", "npm:2.2.0"],\ ["bl", "npm:4.1.0"],\ @@ -6235,7 +6213,7 @@ const RAW_RUNTIME_STATE = ]],\ ["test-exclude", [\ ["npm:6.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ + "packageLocation": "../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ "packageDependencies": [\ ["test-exclude", "npm:6.0.0"],\ ["@istanbuljs/schema", "npm:0.1.3"],\ @@ -6247,7 +6225,7 @@ const RAW_RUNTIME_STATE = ]],\ ["text-table", [\ ["npm:0.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ + "packageLocation": "../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ "packageDependencies": [\ ["text-table", "npm:0.2.0"]\ ],\ @@ -6256,7 +6234,7 @@ const RAW_RUNTIME_STATE = ]],\ ["thread-stream", [\ ["npm:2.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ + "packageLocation": "../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ "packageDependencies": [\ ["thread-stream", "npm:2.4.1"],\ ["real-require", "npm:0.2.0"]\ @@ -6266,7 +6244,7 @@ const RAW_RUNTIME_STATE = ]],\ ["through2", [\ ["npm:3.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ + "packageLocation": "../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ "packageDependencies": [\ ["through2", "npm:3.0.2"],\ ["inherits", "npm:2.0.4"],\ @@ -6275,7 +6253,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ + "packageLocation": "../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ "packageDependencies": [\ ["through2", "npm:4.0.2"],\ ["readable-stream", "npm:3.6.2"]\ @@ -6285,7 +6263,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinybench", [\ ["npm:2.6.0", {\ - "packageLocation": "../../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ + "packageLocation": "../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ "packageDependencies": [\ ["tinybench", "npm:2.6.0"]\ ],\ @@ -6294,7 +6272,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinypool", [\ ["npm:0.8.2", {\ - "packageLocation": "../../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ + "packageLocation": "../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ "packageDependencies": [\ ["tinypool", "npm:0.8.2"]\ ],\ @@ -6303,7 +6281,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tinyspy", [\ ["npm:2.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ + "packageLocation": "../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ "packageDependencies": [\ ["tinyspy", "npm:2.2.0"]\ ],\ @@ -6312,7 +6290,7 @@ const RAW_RUNTIME_STATE = ]],\ ["to-fast-properties", [\ ["npm:2.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ + "packageLocation": "../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ "packageDependencies": [\ ["to-fast-properties", "npm:2.0.0"]\ ],\ @@ -6321,7 +6299,7 @@ const RAW_RUNTIME_STATE = ]],\ ["to-regex-range", [\ ["npm:5.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ + "packageLocation": "../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ "packageDependencies": [\ ["to-regex-range", "npm:5.0.1"],\ ["is-number", "npm:7.0.0"]\ @@ -6331,7 +6309,7 @@ const RAW_RUNTIME_STATE = ]],\ ["toad-cache", [\ ["npm:3.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ + "packageLocation": "../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ "packageDependencies": [\ ["toad-cache", "npm:3.7.0"]\ ],\ @@ -6340,7 +6318,7 @@ const RAW_RUNTIME_STATE = ]],\ ["toidentifier", [\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ + "packageLocation": "../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ "packageDependencies": [\ ["toidentifier", "npm:1.0.1"]\ ],\ @@ -6349,14 +6327,14 @@ const RAW_RUNTIME_STATE = ]],\ ["tr46", [\ ["npm:0.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ + "packageLocation": "../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ "packageDependencies": [\ ["tr46", "npm:0.0.3"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ + "packageLocation": "../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ "packageDependencies": [\ ["tr46", "npm:1.0.1"],\ ["punycode", "npm:2.3.1"]\ @@ -6366,14 +6344,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ts-api-utils", [\ ["npm:1.0.3", {\ - "packageLocation": "../../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "npm:1.0.3"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/3/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ ["@types/typescript", null],\ @@ -6386,7 +6364,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/3/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ + "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ "packageDependencies": [\ ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ ["@types/typescript", null],\ @@ -6401,14 +6379,14 @@ const RAW_RUNTIME_STATE = ]],\ ["ts-node", [\ ["npm:10.9.2", {\ - "packageLocation": "../../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageLocation": "../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ "packageDependencies": [\ ["ts-node", "npm:10.9.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2", {\ - "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/3/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ + "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/2/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ "packageDependencies": [\ ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ ["@cspotcode/source-map-support", "npm:0.8.1"],\ @@ -6446,7 +6424,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tslib", [\ ["npm:2.6.2", {\ - "packageLocation": "../../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ + "packageLocation": "../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ "packageDependencies": [\ ["tslib", "npm:2.6.2"]\ ],\ @@ -6455,7 +6433,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tsx", [\ ["npm:4.7.0", {\ - "packageLocation": "../../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ + "packageLocation": "../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ "packageDependencies": [\ ["tsx", "npm:4.7.0"],\ ["esbuild", "npm:0.19.12"],\ @@ -6467,7 +6445,7 @@ const RAW_RUNTIME_STATE = ]],\ ["tunnel-agent", [\ ["npm:0.6.0", {\ - "packageLocation": "../../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ + "packageLocation": "../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ "packageDependencies": [\ ["tunnel-agent", "npm:0.6.0"],\ ["safe-buffer", "npm:5.2.1"]\ @@ -6477,7 +6455,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-check", [\ ["npm:0.4.0", {\ - "packageLocation": "../../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ + "packageLocation": "../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ "packageDependencies": [\ ["type-check", "npm:0.4.0"],\ ["prelude-ls", "npm:1.2.1"]\ @@ -6487,7 +6465,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-detect", [\ ["npm:4.0.8", {\ - "packageLocation": "../../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ + "packageLocation": "../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ "packageDependencies": [\ ["type-detect", "npm:4.0.8"]\ ],\ @@ -6496,21 +6474,21 @@ const RAW_RUNTIME_STATE = ]],\ ["type-fest", [\ ["npm:0.20.2", {\ - "packageLocation": "../../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:0.20.2"]\ ],\ "linkType": "HARD"\ }],\ ["npm:0.7.1", {\ - "packageLocation": "../../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:0.7.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.10.2", {\ - "packageLocation": "../../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ + "packageLocation": "../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ "packageDependencies": [\ ["type-fest", "npm:4.10.2"]\ ],\ @@ -6519,7 +6497,7 @@ const RAW_RUNTIME_STATE = ]],\ ["type-is", [\ ["npm:1.6.18", {\ - "packageLocation": "../../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ + "packageLocation": "../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ "packageDependencies": [\ ["type-is", "npm:1.6.18"],\ ["media-typer", "npm:0.3.0"],\ @@ -6530,7 +6508,7 @@ const RAW_RUNTIME_STATE = ]],\ ["typedarray", [\ ["npm:0.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ + "packageLocation": "../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ "packageDependencies": [\ ["typedarray", "npm:0.0.6"]\ ],\ @@ -6539,7 +6517,7 @@ const RAW_RUNTIME_STATE = ]],\ ["typescript", [\ ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ - "packageLocation": "../../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ + "packageLocation": "../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ "packageDependencies": [\ ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ ],\ @@ -6548,14 +6526,14 @@ const RAW_RUNTIME_STATE = ]],\ ["typescript-eslint-language-service", [\ ["npm:5.0.5", {\ - "packageLocation": "../../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageLocation": "../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ "packageDependencies": [\ ["typescript-eslint-language-service", "npm:5.0.5"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5", {\ - "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/3/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ + "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/2/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ "packageDependencies": [\ ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ ["@types/eslint", null],\ @@ -6578,7 +6556,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uc.micro", [\ ["npm:1.0.6", {\ - "packageLocation": "../../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ + "packageLocation": "../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ "packageDependencies": [\ ["uc.micro", "npm:1.0.6"]\ ],\ @@ -6587,7 +6565,7 @@ const RAW_RUNTIME_STATE = ]],\ ["ufo", [\ ["npm:1.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ + "packageLocation": "../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ "packageDependencies": [\ ["ufo", "npm:1.3.2"]\ ],\ @@ -6596,7 +6574,7 @@ const RAW_RUNTIME_STATE = ]],\ ["umzug", [\ ["npm:3.6.1", {\ - "packageLocation": "../../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ + "packageLocation": "../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ "packageDependencies": [\ ["umzug", "npm:3.6.1"],\ ["@rushstack/ts-command-line", "npm:4.17.1"],\ @@ -6610,7 +6588,7 @@ const RAW_RUNTIME_STATE = ]],\ ["underscore", [\ ["npm:1.13.6", {\ - "packageLocation": "../../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ + "packageLocation": "../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ "packageDependencies": [\ ["underscore", "npm:1.13.6"]\ ],\ @@ -6619,7 +6597,7 @@ const RAW_RUNTIME_STATE = ]],\ ["undici-types", [\ ["npm:5.26.5", {\ - "packageLocation": "../../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ + "packageLocation": "../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ "packageDependencies": [\ ["undici-types", "npm:5.26.5"]\ ],\ @@ -6628,7 +6606,7 @@ const RAW_RUNTIME_STATE = ]],\ ["unique-filename", [\ ["npm:1.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ + "packageLocation": "../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ "packageDependencies": [\ ["unique-filename", "npm:1.1.1"],\ ["unique-slug", "npm:2.0.2"]\ @@ -6636,7 +6614,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:3.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ + "packageLocation": "../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ "packageDependencies": [\ ["unique-filename", "npm:3.0.0"],\ ["unique-slug", "npm:4.0.0"]\ @@ -6646,7 +6624,7 @@ const RAW_RUNTIME_STATE = ]],\ ["unique-slug", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ + "packageLocation": "../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ "packageDependencies": [\ ["unique-slug", "npm:2.0.2"],\ ["imurmurhash", "npm:0.1.4"]\ @@ -6654,7 +6632,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ + "packageLocation": "../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ "packageDependencies": [\ ["unique-slug", "npm:4.0.0"],\ ["imurmurhash", "npm:0.1.4"]\ @@ -6664,7 +6642,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uri-js", [\ ["npm:4.4.1", {\ - "packageLocation": "../../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ + "packageLocation": "../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ "packageDependencies": [\ ["uri-js", "npm:4.4.1"],\ ["punycode", "npm:2.3.1"]\ @@ -6674,7 +6652,7 @@ const RAW_RUNTIME_STATE = ]],\ ["util-deprecate", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ + "packageLocation": "../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ "packageDependencies": [\ ["util-deprecate", "npm:1.0.2"]\ ],\ @@ -6683,7 +6661,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uuid", [\ ["npm:8.3.2", {\ - "packageLocation": "../../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ + "packageLocation": "../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ "packageDependencies": [\ ["uuid", "npm:8.3.2"]\ ],\ @@ -6692,7 +6670,7 @@ const RAW_RUNTIME_STATE = ]],\ ["uuid-parse", [\ ["npm:1.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ + "packageLocation": "../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ "packageDependencies": [\ ["uuid-parse", "npm:1.1.0"]\ ],\ @@ -6701,7 +6679,7 @@ const RAW_RUNTIME_STATE = ]],\ ["v8-compile-cache-lib", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ + "packageLocation": "../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ "packageDependencies": [\ ["v8-compile-cache-lib", "npm:3.0.1"]\ ],\ @@ -6710,7 +6688,7 @@ const RAW_RUNTIME_STATE = ]],\ ["v8-to-istanbul", [\ ["npm:9.2.0", {\ - "packageLocation": "../../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ + "packageLocation": "../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ "packageDependencies": [\ ["v8-to-istanbul", "npm:9.2.0"],\ ["@jridgewell/trace-mapping", "npm:0.3.22"],\ @@ -6722,7 +6700,7 @@ const RAW_RUNTIME_STATE = ]],\ ["vary", [\ ["npm:1.1.2", {\ - "packageLocation": "../../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ + "packageLocation": "../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ "packageDependencies": [\ ["vary", "npm:1.1.2"]\ ],\ @@ -6731,14 +6709,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vite", [\ ["npm:5.0.12", {\ - "packageLocation": "../../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "npm:5.0.12"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"],\ ["@types/less", null],\ @@ -6777,7 +6755,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ ["@types/less", null],\ @@ -6816,7 +6794,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/3/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ + "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ "packageDependencies": [\ ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ ["@types/less", null],\ @@ -6857,7 +6835,7 @@ const RAW_RUNTIME_STATE = ]],\ ["vite-node", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ + "packageLocation": "../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ "packageDependencies": [\ ["vite-node", "npm:1.2.2"],\ ["cac", "npm:6.7.14"],\ @@ -6871,14 +6849,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vitest", [\ ["npm:1.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "npm:1.2.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/3/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ ["@edge-runtime/vm", null],\ @@ -6930,7 +6908,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/3/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ + "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ "packageDependencies": [\ ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"],\ ["@edge-runtime/vm", null],\ @@ -6984,14 +6962,14 @@ const RAW_RUNTIME_STATE = ]],\ ["vue-eslint-parser", [\ ["npm:9.4.2", {\ - "packageLocation": "../../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageLocation": "../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ "packageDependencies": [\ ["vue-eslint-parser", "npm:9.4.2"]\ ],\ "linkType": "SOFT"\ }],\ ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2", {\ - "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/3/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ + "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/2/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ "packageDependencies": [\ ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"],\ ["@types/eslint", null],\ @@ -7013,14 +6991,14 @@ const RAW_RUNTIME_STATE = ]],\ ["webidl-conversions", [\ ["npm:3.0.1", {\ - "packageLocation": "../../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ + "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ "packageDependencies": [\ ["webidl-conversions", "npm:3.0.1"]\ ],\ "linkType": "HARD"\ }],\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ + "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ "packageDependencies": [\ ["webidl-conversions", "npm:4.0.2"]\ ],\ @@ -7029,7 +7007,7 @@ const RAW_RUNTIME_STATE = ]],\ ["whatwg-url", [\ ["npm:5.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ + "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ "packageDependencies": [\ ["whatwg-url", "npm:5.0.0"],\ ["tr46", "npm:0.0.3"],\ @@ -7038,7 +7016,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:7.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ + "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ "packageDependencies": [\ ["whatwg-url", "npm:7.1.0"],\ ["lodash.sortby", "npm:4.7.0"],\ @@ -7050,7 +7028,7 @@ const RAW_RUNTIME_STATE = ]],\ ["which", [\ ["npm:2.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ + "packageLocation": "../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ "packageDependencies": [\ ["which", "npm:2.0.2"],\ ["isexe", "npm:2.0.0"]\ @@ -7058,7 +7036,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ + "packageLocation": "../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ "packageDependencies": [\ ["which", "npm:4.0.0"],\ ["isexe", "npm:3.1.1"]\ @@ -7068,7 +7046,7 @@ const RAW_RUNTIME_STATE = ]],\ ["why-is-node-running", [\ ["npm:2.2.2", {\ - "packageLocation": "../../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ + "packageLocation": "../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ "packageDependencies": [\ ["why-is-node-running", "npm:2.2.2"],\ ["siginfo", "npm:2.0.0"],\ @@ -7079,7 +7057,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wide-align", [\ ["npm:1.1.5", {\ - "packageLocation": "../../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ + "packageLocation": "../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ "packageDependencies": [\ ["wide-align", "npm:1.1.5"],\ ["string-width", "npm:4.2.3"]\ @@ -7089,7 +7067,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wrap-ansi", [\ ["npm:7.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ + "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ "packageDependencies": [\ ["wrap-ansi", "npm:7.0.0"],\ ["ansi-styles", "npm:4.3.0"],\ @@ -7099,7 +7077,7 @@ const RAW_RUNTIME_STATE = "linkType": "HARD"\ }],\ ["npm:8.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ + "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ "packageDependencies": [\ ["wrap-ansi", "npm:8.1.0"],\ ["ansi-styles", "npm:6.2.1"],\ @@ -7111,7 +7089,7 @@ const RAW_RUNTIME_STATE = ]],\ ["wrappy", [\ ["npm:1.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ + "packageLocation": "../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ "packageDependencies": [\ ["wrappy", "npm:1.0.2"]\ ],\ @@ -7120,7 +7098,7 @@ const RAW_RUNTIME_STATE = ]],\ ["xmlcreate", [\ ["npm:2.0.4", {\ - "packageLocation": "../../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ + "packageLocation": "../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ "packageDependencies": [\ ["xmlcreate", "npm:2.0.4"]\ ],\ @@ -7129,7 +7107,7 @@ const RAW_RUNTIME_STATE = ]],\ ["xtend", [\ ["npm:4.0.2", {\ - "packageLocation": "../../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ + "packageLocation": "../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ "packageDependencies": [\ ["xtend", "npm:4.0.2"]\ ],\ @@ -7138,7 +7116,7 @@ const RAW_RUNTIME_STATE = ]],\ ["yallist", [\ ["npm:4.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ + "packageLocation": "../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ "packageDependencies": [\ ["yallist", "npm:4.0.0"]\ ],\ @@ -7147,7 +7125,7 @@ const RAW_RUNTIME_STATE = ]],\ ["yn", [\ ["npm:3.1.1", {\ - "packageLocation": "../../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ + "packageLocation": "../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ "packageDependencies": [\ ["yn", "npm:3.1.1"]\ ],\ @@ -7156,14 +7134,14 @@ const RAW_RUNTIME_STATE = ]],\ ["yocto-queue", [\ ["npm:0.1.0", {\ - "packageLocation": "../../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ + "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ "packageDependencies": [\ ["yocto-queue", "npm:0.1.0"]\ ],\ "linkType": "HARD"\ }],\ ["npm:1.0.0", {\ - "packageLocation": "../../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ + "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ "packageDependencies": [\ ["yocto-queue", "npm:1.0.0"]\ ],\ @@ -7172,7 +7150,7 @@ const RAW_RUNTIME_STATE = ]],\ ["zod", [\ ["npm:3.22.4", {\ - "packageLocation": "../../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ + "packageLocation": "../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ "packageDependencies": [\ ["zod", "npm:3.22.4"]\ ],\ diff --git a/thebeast/package.json b/thebeast/package.json index a58df0c11..7effe898b 100644 --- a/thebeast/package.json +++ b/thebeast/package.json @@ -25,8 +25,8 @@ "type": "module", "dependencies": { "@fastify/sensible": "^5.5.0", - "@sentry/node": "7.92", - "@sentry/profiling-node": "^1.3.2", + "@sentry/node": "^7.102.0", + "@sentry/profiling-node": "^7.102.0", "@types/connect": "^3.4.38", "fastify": "^4.25.2", "moment": "^2.30.1", diff --git a/thebeast/server.ts b/thebeast/server.ts index b8396ceec..623906f8e 100755 --- a/thebeast/server.ts +++ b/thebeast/server.ts @@ -15,6 +15,7 @@ // along with this program. If not, see . import Sentry from "@sentry/node"; +import { ProfilingIntegration } from "@sentry/profiling-node"; import { ServerLoggerLevels, getServerLogger } from "./packages/shared/log.js"; import { verifyLegacyCipherSupport } from "./packages/gateway/src/encryption.js"; import { getServerConfiguration } from "./packages/shared/Configuration.js"; @@ -33,12 +34,15 @@ try { } Sentry.init({ - dsn: "https://9cefd6a6a3b940328fcefe45766023f2@o1413557.ingest.sentry.io/4504406901915648", + dsn: "https://f4c0126e2fc35876c860dd72fc056db9@o1413557.ingest.sentry.io/4506787875061760", // We recommend adjusting this value in production, or using tracesSampler // for finer control tracesSampleRate: 1.0, profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate + integrations: [ + new ProfilingIntegration(), + ], }); try { diff --git a/yarn.lock b/yarn.lock index 3d2b96ff0..88b120f3c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -646,8 +646,8 @@ __metadata: dependencies: "@fastify/sensible": "npm:^5.5.0" "@sentry/cli": "npm:^2.23.2" - "@sentry/node": "npm:7.92" - "@sentry/profiling-node": "npm:^1.3.2" + "@sentry/node": "npm:^7.102.0" + "@sentry/profiling-node": "npm:^7.102.0" "@tsconfig/node-lts": "npm:^20.1.1" "@tsconfig/node20": "npm:^20.1.2" "@types/chai": "npm:4.3.11" @@ -681,14 +681,14 @@ __metadata: languageName: unknown linkType: soft -"@sentry-internal/tracing@npm:7.92.0": - version: 7.92.0 - resolution: "@sentry-internal/tracing@npm:7.92.0" +"@sentry-internal/tracing@npm:7.102.0": + version: 7.102.0 + resolution: "@sentry-internal/tracing@npm:7.102.0" dependencies: - "@sentry/core": "npm:7.92.0" - "@sentry/types": "npm:7.92.0" - "@sentry/utils": "npm:7.92.0" - checksum: 10c0/bb0548ed351cb16fbe1e37d7ee72494c6923cf5c5c89f47ae6d2c61b4cfbefdb9946bf091407b7ab798e72e3d8116fcbc8c4370645780a60c7d3868196b7e30c + "@sentry/core": "npm:7.102.0" + "@sentry/types": "npm:7.102.0" + "@sentry/utils": "npm:7.102.0" + checksum: 10c0/d99a67bd239c4615b35c0b3dadde7949a9e640d87518b8e8d062543ca33bf7921154db15d3460ce23c00d8b420744aec9f0a4c9fc63ebb0b9ce8878b13c7db55 languageName: node linkType: hard @@ -778,57 +778,54 @@ __metadata: languageName: node linkType: hard -"@sentry/core@npm:7.92.0": - version: 7.92.0 - resolution: "@sentry/core@npm:7.92.0" +"@sentry/core@npm:7.102.0": + version: 7.102.0 + resolution: "@sentry/core@npm:7.102.0" dependencies: - "@sentry/types": "npm:7.92.0" - "@sentry/utils": "npm:7.92.0" - checksum: 10c0/a0c042b479dce2803e9746ad6e58831762a9b9f48a0fc7024377dcc33e170ccac59b76df2946bdf70d420ac07f2b747582f08ece13769140f1fdfcc04ccafa8b + "@sentry/types": "npm:7.102.0" + "@sentry/utils": "npm:7.102.0" + checksum: 10c0/454333e30a3ad5f30cab4bd1d5975727de7971665f8dbbe84d82a0e62e6825d382ef0030b76a6a80e6ddb6fcbf3b01b6bf209feb878e72ff71c5a7f07256f4d1 languageName: node linkType: hard -"@sentry/node@npm:7.92": - version: 7.92.0 - resolution: "@sentry/node@npm:7.92.0" +"@sentry/node@npm:^7.102.0": + version: 7.102.0 + resolution: "@sentry/node@npm:7.102.0" dependencies: - "@sentry-internal/tracing": "npm:7.92.0" - "@sentry/core": "npm:7.92.0" - "@sentry/types": "npm:7.92.0" - "@sentry/utils": "npm:7.92.0" - https-proxy-agent: "npm:^5.0.0" - checksum: 10c0/506acdbde681d6af5e1c54c0c65b1b1173e6fd506fdcd28951d54eb7c89fc9676d9be233f8f002a779007570ddff69ce01718759f6f5f0ef7dcdb30d9068a3c6 + "@sentry-internal/tracing": "npm:7.102.0" + "@sentry/core": "npm:7.102.0" + "@sentry/types": "npm:7.102.0" + "@sentry/utils": "npm:7.102.0" + checksum: 10c0/b9361fcbf1fa39d5e8286750e0a441c151fc33ad97ff79bdcd594a65eb1bcf235cef8b88992f6c685894b2d10c49ed5bd92f904bf8cc1aa809aa4dee0c8c1f0e languageName: node linkType: hard -"@sentry/profiling-node@npm:^1.3.2": - version: 1.3.5 - resolution: "@sentry/profiling-node@npm:1.3.5" +"@sentry/profiling-node@npm:^7.102.0": + version: 7.102.0 + resolution: "@sentry/profiling-node@npm:7.102.0" dependencies: detect-libc: "npm:^2.0.2" node-abi: "npm:^3.52.0" node-gyp: "npm:latest" - peerDependencies: - "@sentry/node": ^7.44.1 bin: - sentry-prune-profiler-binaries: scripts/prune-profiler-binaries.mjs - checksum: 10c0/7d4613ea702a1ed455e63ce063aa91a2f84666311c1d0139479810e84061cf5b7d49f790316efbc4d70f4b0e8424481d0e57bf082de073fb89b3139646cf7057 + sentry-prune-profiler-binaries: scripts/prune-profiler-binaries.js + checksum: 10c0/94573aca88f277ce1efdd4d4053bda933ce7ce53b9a285f737767cf912073f2ae9929ebe75cd0bb7b9a18e765805d71c92cb56818f4f0d7603e587646b71ba93 languageName: node linkType: hard -"@sentry/types@npm:7.92.0": - version: 7.92.0 - resolution: "@sentry/types@npm:7.92.0" - checksum: 10c0/fe8b0b2807b85e110e05d3d18c3da4dc2cbd7e9157e5958d3fe2994710da145604a6e2f7f52ae8f8a4b77a5ea03963787b421dfca38a2a68d510c566b8ee50a6 +"@sentry/types@npm:7.102.0": + version: 7.102.0 + resolution: "@sentry/types@npm:7.102.0" + checksum: 10c0/9c73ce0882970e3c0882f423b528da8f03946c18581eecb9f478577da38f95efd872f7f551b926f42a2124cad6a97d58cef7fbc012afcd10d11b02ac2b75c21b languageName: node linkType: hard -"@sentry/utils@npm:7.92.0": - version: 7.92.0 - resolution: "@sentry/utils@npm:7.92.0" +"@sentry/utils@npm:7.102.0": + version: 7.102.0 + resolution: "@sentry/utils@npm:7.102.0" dependencies: - "@sentry/types": "npm:7.92.0" - checksum: 10c0/a92c6cf69a5bbd158d54c1ef6865cb81acdfaf37e6336a9e64a3db65769ae3b27f900788c5543f9dfa47d6bb8fa9cc5f2afbe24ff3c257d6a4e56829fc03e2b2 + "@sentry/types": "npm:7.102.0" + checksum: 10c0/2ec1a28e71706633a3eca80dce75e93d6c651cda2a9198e7574823b7643ca21038e035a4b858daf7a28f900c71a3c59c47c8714534eb9818120dc2ae9c893e7e languageName: node linkType: hard From bc3a52bac251014890dc330ae89d91affa140e9a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Wed, 21 Feb 2024 21:27:55 -0500 Subject: [PATCH 085/452] Run prettier --- .../messageProcessors/getLobMiniRiffList.ts | 7 ++++--- .../processEncryptedGameCommand.ts | 13 +++++++++--- .../lib/nps/messageStructs/MiniRiffList.ts | 20 +++++++++---------- .../lib/nps/messageStructs/MiniUserList.ts | 6 ++++-- thebeast/server.ts | 4 +--- 5 files changed, 29 insertions(+), 21 deletions(-) diff --git a/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts b/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts index 5da0a838c..0b0f6d581 100644 --- a/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts +++ b/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts @@ -22,11 +22,12 @@ export async function getLobMiniRiffList( responseMessage.header.setId(0x404); responseMessage.setData(riffList); - log.info( - 'Dumping responseMessage: '); + log.info("Dumping responseMessage: "); log.info( - `responseMessage: ${responseMessage.serialize().length} bytes - ${getAsHex(responseMessage.serialize())}`, + `responseMessage: ${ + responseMessage.serialize().length + } bytes - ${getAsHex(responseMessage.serialize())}`, ); return responseMessage.serialize(); diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts index 6ae5ac353..9684e935b 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -91,13 +91,16 @@ export async function processEncryptedGameCommand( // Log the response log.info(`Response: ${response.length} bytes, ${getAsHex(response)}`); - // Encrypt the response const encryptedResponse = encryptionSession.gameCipher.update(response); setEncryptionSession(encryptionSession); // Log the encrypted response - log.info(`Encrypted response: ${encryptedResponse.length} bytes, ${getAsHex(encryptedResponse)}`); + log.info( + `Encrypted response: ${encryptedResponse.length} bytes, ${getAsHex( + encryptedResponse, + )}`, + ); const responsePacket = new GameMessage(0); responsePacket.header.setId(0x1101); @@ -106,7 +109,11 @@ export async function processEncryptedGameCommand( responseData.deserialize(encryptedResponse); responsePacket.setData(responseData); - log.info(`Response packet: ${responsePacket.header.getLength()} bytes, ${getAsHex(responsePacket.serialize())}`); + log.info( + `Response packet: ${responsePacket.header.getLength()} bytes, ${getAsHex( + responsePacket.serialize(), + )}`, + ); const responseBytes = responsePacket.serialize(); socketCallback([responseBytes]); diff --git a/thebeast/lib/nps/messageStructs/MiniRiffList.ts b/thebeast/lib/nps/messageStructs/MiniRiffList.ts index 843f37309..50e4500d3 100644 --- a/thebeast/lib/nps/messageStructs/MiniRiffList.ts +++ b/thebeast/lib/nps/messageStructs/MiniRiffList.ts @@ -4,7 +4,7 @@ import { putLenString } from "../utils/purePut.js"; import { GameMessage } from "./GameMessage.js"; import { NPSList } from "./NPSList.js"; -const channelRecordSize = 40 +const channelRecordSize = 40; export class MiniRiffInfo implements ISerializable { riffName: string; // 32 bytes - max length @@ -29,17 +29,16 @@ export class MiniRiffInfo implements ISerializable { buffer.writeUInt32BE(this.riffId, offset); offset += 4; buffer.writeUInt16BE(this.population, offset); - log.debug(`MiniRiffInfo: ${this.toString()} - ${buffer.toString("hex")}`); + log.debug( + `MiniRiffInfo: ${this.toString()} - ${buffer.toString("hex")}`, + ); return buffer; } deserialize(data: Buffer): void { throw new Error("Method not implemented."); } getByteSize(): number { - return 4 - + this.riffName.length + 1 - + 4 - + 2; + return 4 + this.riffName.length + 1 + 4 + 2; } toString(): string { return `MiniRiffInfo(riffName=${this.riffName}, riffId=${this.riffId}, population=${this.population})`; @@ -76,8 +75,10 @@ export class MiniRiffList extends NPSList implements ISerializable { riffBuffer.copy(buffer, offset); offset += riff.getByteSize(); } - - log.debug(`MiniRiffList: ${this.toString()} - ${buffer.toString("hex")}`); + + log.debug( + `MiniRiffList: ${this.toString()} - ${buffer.toString("hex")}`, + ); return buffer; } override toString(): string { @@ -88,11 +89,10 @@ export class MiniRiffList extends NPSList implements ISerializable { } override getSize(): number { - let size = 4 + let size = 4; for (const riff of this.riffs) { size += riff.getByteSize(); } return size; - } } diff --git a/thebeast/lib/nps/messageStructs/MiniUserList.ts b/thebeast/lib/nps/messageStructs/MiniUserList.ts index 3bff98a68..a6fa6645a 100644 --- a/thebeast/lib/nps/messageStructs/MiniUserList.ts +++ b/thebeast/lib/nps/messageStructs/MiniUserList.ts @@ -46,7 +46,6 @@ export class MiniUserList implements ISerializable { this.channelUsers.push(user); } - serialize(): Buffer { const buffer = Buffer.alloc(this.getByteSize()); let offset = 0; @@ -65,7 +64,10 @@ export class MiniUserList implements ISerializable { throw new Error("Method not implemented."); } getByteSize(): number { - return 16 + this.channelUsers.reduce((acc, user) => acc + user.getByteSize(), 0); + return ( + 16 + + this.channelUsers.reduce((acc, user) => acc + user.getByteSize(), 0) + ); } toString(): string { return `MiniUserList(channelId=${this.channelId}, channelUsers=${this.channelUsers})`; diff --git a/thebeast/server.ts b/thebeast/server.ts index 623906f8e..4449e748a 100755 --- a/thebeast/server.ts +++ b/thebeast/server.ts @@ -40,9 +40,7 @@ Sentry.init({ // for finer control tracesSampleRate: 1.0, profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate - integrations: [ - new ProfilingIntegration(), - ], + integrations: [new ProfilingIntegration()], }); try { From 30ffe6ecabbd78c44e9a170e556f7979d1b2a96b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 08:06:00 -0500 Subject: [PATCH 086/452] Add logging, switch back to npm, add build step --- thebeast/.editorconfig => .editorconfig | 0 thebeast/.eslintignore => .eslintignore | 0 thebeast/.eslintrc.json => .eslintrc.json | 0 .github/workflows/node.yml | 12 +- .gitignore | 9 +- thebeast/.nvmrc => .nvmrc | 0 .pnp.cjs | 14537 ---------------- .pnp.loader.mjs | 2076 --- .vscode/c_cpp_properties.json | 16 - .vscode/extensions.json | 10 - .vscode/launch.json | 57 - .vscode/settings.json | 24 - .vscode/tasks.json | 25 - .yarn/sdks/integrations.yml | 5 - .yarn/sdks/prettier/bin/prettier.cjs | 20 - .yarn/sdks/prettier/index.cjs | 20 - .yarn/sdks/prettier/package.json | 7 - .yarn/sdks/typescript/bin/tsc | 20 - .yarn/sdks/typescript/bin/tsserver | 20 - .yarn/sdks/typescript/lib/tsc.js | 20 - .yarn/sdks/typescript/lib/tsserver.js | 225 - .yarn/sdks/typescript/lib/tsserverlibrary.js | 225 - .yarn/sdks/typescript/lib/typescript.js | 20 - .yarn/sdks/typescript/package.json | 10 - README.md | 1 - docker | 3544 ++++ .../docker-compose.yml => docker-compose.yml | 3 +- ecosystem.config.js | 8 + migrate.js | 12 + migrate.ts | 18 +- nginx_1.9.8.tar | 3544 ++++ package-lock.json | 7909 +++++++++ package.json | 63 +- thebeast/lib/nps/messageProcessors/index.ts | 3 + .../processEncryptedGameCommand.ts | 3 +- .../nps/messageProcessors/processGameLogin.ts | 1 + .../processGetProfileInfo.ts | 2 +- .../processGetProfileMaps.ts | 2 +- .../messageProcessors/processLobbyLogin.ts | 1 + .../lib/nps/messageStructs/GameMessage.ts | 14 + .../lib/nps/messageStructs/GameProfile.ts | 1 + .../lib/nps/messageStructs/MiniRiffList.ts | 1 + .../lib/nps/messageStructs/MiniUserList.ts | 3 +- thebeast/lib/nps/messageStructs/UserInfo.ts | 2 + thebeast/package.json | 2 +- .../packages/core/src/serializationHelpers.ts | 5 + .../packages/database/src/DatabaseManager.ts | 7 +- .../database/src/models/VehiclePartTree.ts | 12 +- .../packages/database/src/services/admin.ts | 13 +- .../database/src/services/database.js | 27 + .../packages/gateway/src/GatewayServer.ts | 4 + thebeast/packages/gateway/src/encryption.ts | 5 + thebeast/packages/gateway/src/index.ts | 15 +- thebeast/packages/gateway/src/web.ts | 5 + thebeast/packages/interfaces/index.d.ts | 10 +- .../lobby/src/handlers/_setMyUserData.ts | 1 + .../lobby/src/handlers/encryptedCommand.ts | 7 + .../src/handlers/handleGetMiniUserList.ts | 1 + .../src/handlers/handleSendMiniRiffList.ts | 1 + .../src/handlers/requestConnectGameServer.ts | 10 + thebeast/packages/lobby/src/internal.ts | 3 + tsconfig.json | 12 +- vite.config.ts | 4 +- yarn.lock | 10464 +++++------ 64 files changed, 19667 insertions(+), 23434 deletions(-) rename thebeast/.editorconfig => .editorconfig (100%) rename thebeast/.eslintignore => .eslintignore (100%) rename thebeast/.eslintrc.json => .eslintrc.json (100%) rename thebeast/.nvmrc => .nvmrc (100%) delete mode 100755 .pnp.cjs delete mode 100644 .pnp.loader.mjs delete mode 100644 .vscode/c_cpp_properties.json delete mode 100644 .vscode/extensions.json delete mode 100644 .vscode/launch.json delete mode 100644 .vscode/settings.json delete mode 100644 .vscode/tasks.json delete mode 100644 .yarn/sdks/integrations.yml delete mode 100755 .yarn/sdks/prettier/bin/prettier.cjs delete mode 100644 .yarn/sdks/prettier/index.cjs delete mode 100644 .yarn/sdks/prettier/package.json delete mode 100755 .yarn/sdks/typescript/bin/tsc delete mode 100755 .yarn/sdks/typescript/bin/tsserver delete mode 100644 .yarn/sdks/typescript/lib/tsc.js delete mode 100644 .yarn/sdks/typescript/lib/tsserver.js delete mode 100644 .yarn/sdks/typescript/lib/tsserverlibrary.js delete mode 100644 .yarn/sdks/typescript/lib/typescript.js delete mode 100644 .yarn/sdks/typescript/package.json create mode 100644 docker rename thebeast/docker-compose.yml => docker-compose.yml (89%) create mode 100644 ecosystem.config.js create mode 100644 migrate.js create mode 100644 nginx_1.9.8.tar create mode 100644 package-lock.json create mode 100644 thebeast/packages/database/src/services/database.js diff --git a/thebeast/.editorconfig b/.editorconfig similarity index 100% rename from thebeast/.editorconfig rename to .editorconfig diff --git a/thebeast/.eslintignore b/.eslintignore similarity index 100% rename from thebeast/.eslintignore rename to .eslintignore diff --git a/thebeast/.eslintrc.json b/.eslintrc.json similarity index 100% rename from thebeast/.eslintrc.json rename to .eslintrc.json diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 5eb17e8c5..4eb2e1705 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -23,16 +23,12 @@ jobs: uses: actions/setup-node@v3 with: node-version: ${{ matrix.node-version }} - - name: Enable Corepack and set version to stable - run: | - corepack enable - yarn set version stable - - name: Install and test thebeast workspace + + - name: Install and test run: | - yarn workspace @rusty-motors/thebeast install - yarn workspace @rusty-motors/thebeast test + npm install-ci-text - name: Codecov - env: + env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | pip install --user pytest diff --git a/.gitignore b/.gitignore index 7a7b427e5..450b04c6e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,14 +3,7 @@ coverage *.log .env -# yarn -.yarn/* -!.yarn/cache -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/sdks -!.yarn/versions dist *junit.xml rm.session.sql +node_modules diff --git a/thebeast/.nvmrc b/.nvmrc similarity index 100% rename from thebeast/.nvmrc rename to .nvmrc diff --git a/.pnp.cjs b/.pnp.cjs deleted file mode 100755 index e32f5ed63..000000000 --- a/.pnp.cjs +++ /dev/null @@ -1,14537 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -"use strict"; - -const RAW_RUNTIME_STATE = -'{\ - "__info": [\ - "This file is automatically generated. Do not touch it, or risk",\ - "your modifications being lost."\ - ],\ - "dependencyTreeRoots": [\ - {\ - "name": "rusty-motors",\ - "reference": "workspace:."\ - },\ - {\ - "name": "@rusty-motors/thebeast",\ - "reference": "workspace:thebeast"\ - }\ - ],\ - "enableTopLevelFallback": true,\ - "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ - "fallbackExclusionList": [\ - ["@rusty-motors/thebeast", ["workspace:thebeast"]],\ - ["rusty-motors", ["workspace:."]]\ - ],\ - "fallbackPool": [\ - ],\ - "packageRegistryData": [\ - [null, [\ - [null, {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@types/node", "npm:20.11.16"],\ - ["prettier", "npm:3.2.4"],\ - ["slonik", "npm:29.2.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@aashutoshrathi/word-wrap", [\ - ["npm:1.2.6", {\ - "packageLocation": "../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ - "packageDependencies": [\ - ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@ampproject/remapping", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ - "packageDependencies": [\ - ["@ampproject/remapping", "npm:2.2.1"],\ - ["@jridgewell/gen-mapping", "npm:0.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-string-parser", [\ - ["npm:7.23.4", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ - "packageDependencies": [\ - ["@babel/helper-string-parser", "npm:7.23.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-validator-identifier", [\ - ["npm:7.22.20", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ - "packageDependencies": [\ - ["@babel/helper-validator-identifier", "npm:7.22.20"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/parser", [\ - ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ - "packageDependencies": [\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/types", [\ - ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ - "packageDependencies": [\ - ["@babel/types", "npm:7.23.9"],\ - ["@babel/helper-string-parser", "npm:7.23.4"],\ - ["@babel/helper-validator-identifier", "npm:7.22.20"],\ - ["to-fast-properties", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@bcoe/v8-coverage", [\ - ["npm:0.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ - "packageDependencies": [\ - ["@bcoe/v8-coverage", "npm:0.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@cspotcode/source-map-support", [\ - ["npm:0.8.1", {\ - "packageLocation": "../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ - "packageDependencies": [\ - ["@cspotcode/source-map-support", "npm:0.8.1"],\ - ["@jridgewell/trace-mapping", "npm:0.3.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/aix-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ - "packageDependencies": [\ - ["@esbuild/aix-ppc64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ - "packageDependencies": [\ - ["@esbuild/android-arm", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ - "packageDependencies": [\ - ["@esbuild/android-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ - "packageDependencies": [\ - ["@esbuild/android-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/darwin-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ - "packageDependencies": [\ - ["@esbuild/darwin-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/darwin-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ - "packageDependencies": [\ - ["@esbuild/darwin-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/freebsd-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ - "packageDependencies": [\ - ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/freebsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/freebsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ - "packageDependencies": [\ - ["@esbuild/linux-arm", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ - "packageDependencies": [\ - ["@esbuild/linux-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ - "packageDependencies": [\ - ["@esbuild/linux-ia32", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-loong64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ - "packageDependencies": [\ - ["@esbuild/linux-loong64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-mips64el", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ - "packageDependencies": [\ - ["@esbuild/linux-mips64el", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ - "packageDependencies": [\ - ["@esbuild/linux-ppc64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-riscv64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ - "packageDependencies": [\ - ["@esbuild/linux-riscv64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-s390x", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ - "packageDependencies": [\ - ["@esbuild/linux-s390x", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ - "packageDependencies": [\ - ["@esbuild/linux-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/netbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/netbsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/openbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/openbsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/sunos-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ - "packageDependencies": [\ - ["@esbuild/sunos-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ - "packageDependencies": [\ - ["@esbuild/win32-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ - "packageDependencies": [\ - ["@esbuild/win32-ia32", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ - "packageDependencies": [\ - ["@esbuild/win32-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/eslint-utils", [\ - ["npm:4.4.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "npm:4.4.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@types/eslint", null],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/regexpp", [\ - ["npm:4.10.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ - "packageDependencies": [\ - ["@eslint-community/regexpp", "npm:4.10.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/eslintrc", [\ - ["npm:2.1.4", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ - "packageDependencies": [\ - ["@eslint/eslintrc", "npm:2.1.4"],\ - ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["espree", "npm:9.6.1"],\ - ["globals", "npm:13.24.0"],\ - ["ignore", "npm:5.3.0"],\ - ["import-fresh", "npm:3.3.0"],\ - ["js-yaml", "npm:4.1.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/js", [\ - ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ - "packageDependencies": [\ - ["@eslint/js", "npm:8.56.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/ajv-compiler", [\ - ["npm:3.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ - "packageDependencies": [\ - ["@fastify/ajv-compiler", "npm:3.5.0"],\ - ["ajv", "npm:8.12.0"],\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["fast-uri", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/deepmerge", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ - "packageDependencies": [\ - ["@fastify/deepmerge", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/error", [\ - ["npm:3.4.1", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ - "packageDependencies": [\ - ["@fastify/error", "npm:3.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/fast-json-stringify-compiler", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ - "packageDependencies": [\ - ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ - ["fast-json-stringify", "npm:5.10.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/sensible", [\ - ["npm:5.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ - "packageDependencies": [\ - ["@fastify/sensible", "npm:5.5.0"],\ - ["@lukeed/ms", "npm:2.0.2"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fastify-plugin", "npm:4.5.1"],\ - ["forwarded", "npm:0.2.0"],\ - ["http-errors", "npm:2.0.0"],\ - ["type-is", "npm:1.6.18"],\ - ["vary", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@gar/promisify", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ - "packageDependencies": [\ - ["@gar/promisify", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/config-array", [\ - ["npm:0.11.14", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ - "packageDependencies": [\ - ["@humanwhocodes/config-array", "npm:0.11.14"],\ - ["@humanwhocodes/object-schema", "npm:2.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/module-importer", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ - "packageDependencies": [\ - ["@humanwhocodes/module-importer", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/object-schema", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ - "packageDependencies": [\ - ["@humanwhocodes/object-schema", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@isaacs/cliui", [\ - ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ - "packageDependencies": [\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["string-width", "npm:5.1.2"],\ - ["string-width-cjs", [\ - "string-width",\ - "npm:4.2.3"\ - ]],\ - ["strip-ansi", "npm:7.1.0"],\ - ["strip-ansi-cjs", [\ - "strip-ansi",\ - "npm:6.0.1"\ - ]],\ - ["wrap-ansi", "npm:8.1.0"],\ - ["wrap-ansi-cjs", [\ - "wrap-ansi",\ - "npm:7.0.0"\ - ]]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@istanbuljs/schema", [\ - ["npm:0.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ - "packageDependencies": [\ - ["@istanbuljs/schema", "npm:0.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/schemas", [\ - ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ - "packageDependencies": [\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/gen-mapping", [\ - ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/gen-mapping", "npm:0.3.3"],\ - ["@jridgewell/set-array", "npm:1.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/resolve-uri", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ - "packageDependencies": [\ - ["@jridgewell/resolve-uri", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/set-array", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ - "packageDependencies": [\ - ["@jridgewell/set-array", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/sourcemap-codec", [\ - ["npm:1.4.15", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ - "packageDependencies": [\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/trace-mapping", [\ - ["npm:0.3.22", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.22"],\ - ["@jridgewell/resolve-uri", "npm:3.1.1"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.3.9", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.9"],\ - ["@jridgewell/resolve-uri", "npm:3.1.1"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jsdoc/salty", [\ - ["npm:0.2.7", {\ - "packageLocation": "../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ - "packageDependencies": [\ - ["@jsdoc/salty", "npm:0.2.7"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@lukeed/ms", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ - "packageDependencies": [\ - ["@lukeed/ms", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.scandir", [\ - ["npm:2.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ - "packageDependencies": [\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["run-parallel", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.stat", [\ - ["npm:2.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ - "packageDependencies": [\ - ["@nodelib/fs.stat", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.walk", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ - "packageDependencies": [\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["fastq", "npm:1.17.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/agent", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ - "packageDependencies": [\ - ["@npmcli/agent", "npm:2.2.0"],\ - ["agent-base", "npm:7.1.0"],\ - ["http-proxy-agent", "npm:7.0.0"],\ - ["https-proxy-agent", "npm:7.0.2"],\ - ["lru-cache", "npm:10.2.0"],\ - ["socks-proxy-agent", "npm:8.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/fs", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ - "packageDependencies": [\ - ["@npmcli/fs", "npm:1.1.1"],\ - ["@gar/promisify", "npm:1.1.3"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ - "packageDependencies": [\ - ["@npmcli/fs", "npm:3.1.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/move-file", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ - "packageDependencies": [\ - ["@npmcli/move-file", "npm:1.1.2"],\ - ["mkdirp", "npm:1.0.4"],\ - ["rimraf", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgjs/parseargs", [\ - ["npm:0.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ - "packageDependencies": [\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgr/core", [\ - ["npm:0.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ - "packageDependencies": [\ - ["@pkgr/core", "npm:0.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-android-arm-eabi", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.9.6-0422083708/node_modules/@rollup/rollup-android-arm-eabi/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-android-arm64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.9.6-690a649f0d/node_modules/@rollup/rollup-android-arm64/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-darwin-arm64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.9.6-e7e3fa5308/node_modules/@rollup/rollup-darwin-arm64/",\ - "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-darwin-x64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b/node_modules/@rollup/rollup-darwin-x64/",\ - "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm-gnueabihf", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.9.6-51ce6eb9a2/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.9.6-3928bf4340/node_modules/@rollup/rollup-linux-arm64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm64-musl", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.9.6-a4b39ebd14/node_modules/@rollup/rollup-linux-arm64-musl/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-riscv64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.9.6-6f3e8f5d0b/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-x64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.9.6-c67944ac17/node_modules/@rollup/rollup-linux-x64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-x64-musl", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.9.6-41417b2d48/node_modules/@rollup/rollup-linux-x64-musl/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-arm64-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.9.6-4e715ed316/node_modules/@rollup/rollup-win32-arm64-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-ia32-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.9.6-6939c95825/node_modules/@rollup/rollup-win32-ia32-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-x64-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5/node_modules/@rollup/rollup-win32-x64-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rushstack/ts-command-line", [\ - ["npm:4.17.1", {\ - "packageLocation": "../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ - "packageDependencies": [\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["@types/argparse", "npm:1.0.38"],\ - ["argparse", "npm:1.0.10"],\ - ["colors", "npm:1.2.5"],\ - ["string-argv", "npm:0.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rusty-motors/thebeast", [\ - ["workspace:thebeast", {\ - "packageLocation": "./thebeast/",\ - "packageDependencies": [\ - ["@rusty-motors/thebeast", "workspace:thebeast"],\ - ["@fastify/sensible", "npm:5.5.0"],\ - ["@sentry/cli", "npm:2.27.0"],\ - ["@sentry/node", "npm:7.102.0"],\ - ["@sentry/profiling-node", "npm:7.102.0"],\ - ["@tsconfig/node-lts", "npm:20.1.1"],\ - ["@tsconfig/node20", "npm:20.1.2"],\ - ["@types/chai", "npm:4.3.11"],\ - ["@types/connect", "npm:3.4.38"],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/sinon", "npm:17.0.3"],\ - ["@types/sinon-chai", "npm:3.2.12"],\ - ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ - ["fastify", "npm:4.26.0"],\ - ["jsdoc", "npm:4.0.2"],\ - ["moment", "npm:2.30.1"],\ - ["pino", "npm:8.18.0"],\ - ["pino-pretty", "npm:10.3.1"],\ - ["prettier", "npm:3.1.1"],\ - ["prettier-eslint", "npm:16.2.0"],\ - ["short-unique-id", "npm:5.0.3"],\ - ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ - ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ - ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ - ["tslib", "npm:2.6.2"],\ - ["tsx", "npm:4.7.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["zod", "npm:3.22.4"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@sentry-internal/tracing", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-internal-tracing-npm-7.102.0-1a4cc33deb-10c0.zip/node_modules/@sentry-internal/tracing/",\ - "packageDependencies": [\ - ["@sentry-internal/tracing", "npm:7.102.0"],\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-npm-2.27.0-66755dd86c/node_modules/@sentry/cli/",\ - "packageDependencies": [\ - ["@sentry/cli", "npm:2.27.0"],\ - ["@sentry/cli-darwin", "npm:2.27.0"],\ - ["@sentry/cli-linux-arm", "npm:2.27.0"],\ - ["@sentry/cli-linux-arm64", "npm:2.27.0"],\ - ["@sentry/cli-linux-i686", "npm:2.27.0"],\ - ["@sentry/cli-linux-x64", "npm:2.27.0"],\ - ["@sentry/cli-win32-i686", "npm:2.27.0"],\ - ["@sentry/cli-win32-x64", "npm:2.27.0"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ - ["progress", "npm:2.0.3"],\ - ["proxy-from-env", "npm:1.1.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-darwin", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-darwin-npm-2.27.0-5424ab9713/node_modules/@sentry/cli-darwin/",\ - "packageDependencies": [\ - ["@sentry/cli-darwin", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-arm", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm-npm-2.27.0-3b91b31516/node_modules/@sentry/cli-linux-arm/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-arm", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-arm64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm64-npm-2.27.0-9a9f92f022/node_modules/@sentry/cli-linux-arm64/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-arm64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-i686", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-i686-npm-2.27.0-7e15a3698f/node_modules/@sentry/cli-linux-i686/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-i686", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-x64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-x64-npm-2.27.0-4812ccf837/node_modules/@sentry/cli-linux-x64/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-x64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-win32-i686", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-i686-npm-2.27.0-48a6f7ba78/node_modules/@sentry/cli-win32-i686/",\ - "packageDependencies": [\ - ["@sentry/cli-win32-i686", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-win32-x64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-x64-npm-2.27.0-f9a4a4dd7d/node_modules/@sentry/cli-win32-x64/",\ - "packageDependencies": [\ - ["@sentry/cli-win32-x64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/core", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-core-npm-7.102.0-2da5fbb273-10c0.zip/node_modules/@sentry/core/",\ - "packageDependencies": [\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/node", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-node-npm-7.102.0-daf98f42d0-10c0.zip/node_modules/@sentry/node/",\ - "packageDependencies": [\ - ["@sentry/node", "npm:7.102.0"],\ - ["@sentry-internal/tracing", "npm:7.102.0"],\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/profiling-node", [\ - ["npm:7.102.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-npm-7.102.0-e435d41736/node_modules/@sentry/profiling-node/",\ - "packageDependencies": [\ - ["@sentry/profiling-node", "npm:7.102.0"],\ - ["detect-libc", "npm:2.0.2"],\ - ["node-abi", "npm:3.54.0"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/types", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-types-npm-7.102.0-647d739eb3-10c0.zip/node_modules/@sentry/types/",\ - "packageDependencies": [\ - ["@sentry/types", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/utils", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-utils-npm-7.102.0-0c329de503-10c0.zip/node_modules/@sentry/utils/",\ - "packageDependencies": [\ - ["@sentry/utils", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sinclair/typebox", [\ - ["npm:0.27.8", {\ - "packageLocation": "../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ - "packageDependencies": [\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@slonik/migrator", [\ - ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ - "packageDependencies": [\ - ["@slonik/migrator", "npm:0.12.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0", {\ - "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/2/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ - "packageDependencies": [\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["@types/slonik", null],\ - ["slonik", "npm:29.2.0"],\ - ["umzug", "npm:3.6.1"]\ - ],\ - "packagePeers": [\ - "@types/slonik",\ - "slonik"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tootallnate/once", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ - "packageDependencies": [\ - ["@tootallnate/once", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node-lts", [\ - ["npm:20.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ - "packageDependencies": [\ - ["@tsconfig/node-lts", "npm:20.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node10", [\ - ["npm:1.0.9", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ - "packageDependencies": [\ - ["@tsconfig/node10", "npm:1.0.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node12", [\ - ["npm:1.0.11", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ - "packageDependencies": [\ - ["@tsconfig/node12", "npm:1.0.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node14", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ - "packageDependencies": [\ - ["@tsconfig/node14", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node16", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ - "packageDependencies": [\ - ["@tsconfig/node16", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node20", [\ - ["npm:20.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ - "packageDependencies": [\ - ["@tsconfig/node20", "npm:20.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/argparse", [\ - ["npm:1.0.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ - "packageDependencies": [\ - ["@types/argparse", "npm:1.0.38"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/chai", [\ - ["npm:4.3.11", {\ - "packageLocation": "../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ - "packageDependencies": [\ - ["@types/chai", "npm:4.3.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/connect", [\ - ["npm:3.4.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ - "packageDependencies": [\ - ["@types/connect", "npm:3.4.38"],\ - ["@types/node", "npm:20.11.13"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/estree", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ - "packageDependencies": [\ - ["@types/estree", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/istanbul-lib-coverage", [\ - ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/json-schema", [\ - ["npm:7.0.15", {\ - "packageLocation": "../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ - "packageDependencies": [\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/linkify-it", [\ - ["npm:3.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ - "packageDependencies": [\ - ["@types/linkify-it", "npm:3.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/markdown-it", [\ - ["npm:12.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ - "packageDependencies": [\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["@types/linkify-it", "npm:3.0.5"],\ - ["@types/mdurl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/mdurl", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ - "packageDependencies": [\ - ["@types/mdurl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/node", [\ - ["npm:20.11.13", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:20.11.13"],\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:20.11.16", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:20.11.16"],\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/pg", [\ - ["npm:8.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ - "packageDependencies": [\ - ["@types/pg", "npm:8.11.0"],\ - ["@types/node", "npm:20.11.13"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-types", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/semver", [\ - ["npm:7.5.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ - "packageDependencies": [\ - ["@types/semver", "npm:7.5.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinon", [\ - ["npm:17.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ - "packageDependencies": [\ - ["@types/sinon", "npm:17.0.3"],\ - ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinon-chai", [\ - ["npm:3.2.12", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ - "packageDependencies": [\ - ["@types/sinon-chai", "npm:3.2.12"],\ - ["@types/chai", "npm:4.3.11"],\ - ["@types/sinon", "npm:17.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinonjs__fake-timers", [\ - ["npm:8.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ - "packageDependencies": [\ - ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/eslint-plugin", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/2/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ - ["@eslint-community/regexpp", "npm:4.10.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@types/typescript-eslint__parser", null],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["graphemer", "npm:1.4.0"],\ - ["ignore", "npm:5.3.0"],\ - ["natural-compare", "npm:1.4.0"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript-eslint__parser",\ - "@types/typescript",\ - "@typescript-eslint/parser",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/parser", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/2/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/scope-manager", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ - "packageDependencies": [\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/type-utils", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/2/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/types", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ - "packageDependencies": [\ - ["@typescript-eslint/types", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/typescript-estree", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["globby", "npm:11.1.0"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.3"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["globby", "npm:11.1.0"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.3"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/utils", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/2/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@types/eslint", null],\ - ["@types/json-schema", "npm:7.0.15"],\ - ["@types/semver", "npm:7.5.6"],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ - ["eslint", "npm:8.56.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/visitor-keys", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ - "packageDependencies": [\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@ungap/structured-clone", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ - "packageDependencies": [\ - ["@ungap/structured-clone", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/coverage-v8", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ - "packageDependencies": [\ - ["@vitest/coverage-v8", "npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/2/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ - "packageDependencies": [\ - ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["@ampproject/remapping", "npm:2.2.1"],\ - ["@bcoe/v8-coverage", "npm:0.2.3"],\ - ["@types/vitest", null],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["istanbul-reports", "npm:3.1.6"],\ - ["magic-string", "npm:0.30.5"],\ - ["magicast", "npm:0.3.3"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["test-exclude", "npm:6.0.0"],\ - ["v8-to-istanbul", "npm:9.2.0"],\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"]\ - ],\ - "packagePeers": [\ - "@types/vitest",\ - "vitest"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/expect", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ - "packageDependencies": [\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["chai", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/runner", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ - "packageDependencies": [\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["p-limit", "npm:5.0.0"],\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/snapshot", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ - "packageDependencies": [\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/spy", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ - "packageDependencies": [\ - ["@vitest/spy", "npm:1.2.2"],\ - ["tinyspy", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/utils", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ - "packageDependencies": [\ - ["@vitest/utils", "npm:1.2.2"],\ - ["diff-sequences", "npm:29.6.3"],\ - ["estree-walker", "npm:3.0.3"],\ - ["loupe", "npm:2.3.7"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abbrev", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ - "packageDependencies": [\ - ["abbrev", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ - "packageDependencies": [\ - ["abbrev", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abort-controller", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ - "packageDependencies": [\ - ["abort-controller", "npm:3.0.0"],\ - ["event-target-shim", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abstract-logging", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ - "packageDependencies": [\ - ["abstract-logging", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn", [\ - ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ - "packageDependencies": [\ - ["acorn", "npm:8.11.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn-jsx", [\ - ["npm:5.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "npm:5.3.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ - "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/2/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ - ["@types/acorn", null],\ - ["acorn", "npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/acorn",\ - "acorn"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn-walk", [\ - ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ - "packageDependencies": [\ - ["acorn-walk", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["agent-base", [\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ - "packageDependencies": [\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ - "packageDependencies": [\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["agentkeepalive", [\ - ["npm:4.5.0", {\ - "packageLocation": "../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ - "packageDependencies": [\ - ["agentkeepalive", "npm:4.5.0"],\ - ["humanize-ms", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["aggregate-error", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ - "packageDependencies": [\ - ["aggregate-error", "npm:3.1.0"],\ - ["clean-stack", "npm:2.2.0"],\ - ["indent-string", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ajv", [\ - ["npm:6.12.6", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:6.12.6"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["json-schema-traverse", "npm:0.4.1"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.12.0", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:8.12.0"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["json-schema-traverse", "npm:1.0.0"],\ - ["require-from-string", "npm:2.0.2"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ajv-formats", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ - "packageDependencies": [\ - ["ajv-formats", "npm:2.1.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1", {\ - "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/2/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ - "packageDependencies": [\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["@types/ajv", null],\ - ["ajv", "npm:8.12.0"]\ - ],\ - "packagePeers": [\ - "@types/ajv",\ - "ajv"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-regex", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-styles", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:2.2.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:4.3.0"],\ - ["color-convert", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:5.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:6.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["aproba", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ - "packageDependencies": [\ - ["aproba", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["archy", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ - "packageDependencies": [\ - ["archy", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["are-we-there-yet", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ - "packageDependencies": [\ - ["are-we-there-yet", "npm:3.0.1"],\ - ["delegates", "npm:1.0.0"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["arg", [\ - ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ - "packageDependencies": [\ - ["arg", "npm:4.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["argparse", [\ - ["npm:1.0.10", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:1.0.10"],\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["array-union", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ - "packageDependencies": [\ - ["array-union", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["assertion-error", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ - "packageDependencies": [\ - ["assertion-error", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["atomic-sleep", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ - "packageDependencies": [\ - ["atomic-sleep", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["avvio", [\ - ["npm:8.2.1", {\ - "packageLocation": "../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ - "packageDependencies": [\ - ["avvio", "npm:8.2.1"],\ - ["archy", "npm:1.0.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["fastq", "npm:1.17.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["balanced-match", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ - "packageDependencies": [\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["base64-js", [\ - ["npm:1.5.1", {\ - "packageLocation": "../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ - "packageDependencies": [\ - ["base64-js", "npm:1.5.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bindings", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ - "packageDependencies": [\ - ["bindings", "npm:1.5.0"],\ - ["file-uri-to-path", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bl", [\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ - "packageDependencies": [\ - ["bl", "npm:4.1.0"],\ - ["buffer", "npm:5.7.1"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bluebird", [\ - ["npm:3.7.2", {\ - "packageLocation": "../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ - "packageDependencies": [\ - ["bluebird", "npm:3.7.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["boolean", [\ - ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ - "packageDependencies": [\ - ["boolean", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["brace-expansion", [\ - ["npm:1.1.11", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:1.1.11"],\ - ["balanced-match", "npm:1.0.2"],\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:2.0.1"],\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["braces", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ - "packageDependencies": [\ - ["braces", "npm:3.0.2"],\ - ["fill-range", "npm:7.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer", [\ - ["npm:5.7.1", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ - "packageDependencies": [\ - ["buffer", "npm:5.7.1"],\ - ["base64-js", "npm:1.5.1"],\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.3", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ - "packageDependencies": [\ - ["buffer", "npm:6.0.3"],\ - ["base64-js", "npm:1.5.1"],\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer-from", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ - "packageDependencies": [\ - ["buffer-from", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer-writer", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ - "packageDependencies": [\ - ["buffer-writer", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bufferput", [\ - ["npm:0.1.3", {\ - "packageLocation": "./.yarn/unplugged/bufferput-npm-0.1.3-e55e71448c/node_modules/bufferput/",\ - "packageDependencies": [\ - ["bufferput", "npm:0.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cac", [\ - ["npm:6.7.14", {\ - "packageLocation": "../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ - "packageDependencies": [\ - ["cac", "npm:6.7.14"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cacache", [\ - ["npm:15.3.0", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ - "packageDependencies": [\ - ["cacache", "npm:15.3.0"],\ - ["@npmcli/fs", "npm:1.1.1"],\ - ["@npmcli/move-file", "npm:1.1.2"],\ - ["chownr", "npm:2.0.0"],\ - ["fs-minipass", "npm:2.1.0"],\ - ["glob", "npm:7.2.3"],\ - ["infer-owner", "npm:1.0.4"],\ - ["lru-cache", "npm:6.0.0"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["mkdirp", "npm:1.0.4"],\ - ["p-map", "npm:4.0.0"],\ - ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ - ["rimraf", "npm:3.0.2"],\ - ["ssri", "npm:8.0.1"],\ - ["tar", "npm:6.2.0"],\ - ["unique-filename", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:18.0.2", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ - "packageDependencies": [\ - ["cacache", "npm:18.0.2"],\ - ["@npmcli/fs", "npm:3.1.0"],\ - ["fs-minipass", "npm:3.0.3"],\ - ["glob", "npm:10.3.10"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["p-map", "npm:4.0.0"],\ - ["ssri", "npm:10.0.5"],\ - ["tar", "npm:6.2.0"],\ - ["unique-filename", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["callsites", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ - "packageDependencies": [\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["catharsis", [\ - ["npm:0.9.0", {\ - "packageLocation": "../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ - "packageDependencies": [\ - ["catharsis", "npm:0.9.0"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chai", [\ - ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ - "packageDependencies": [\ - ["chai", "npm:4.4.1"],\ - ["assertion-error", "npm:1.1.0"],\ - ["check-error", "npm:1.0.3"],\ - ["deep-eql", "npm:4.1.3"],\ - ["get-func-name", "npm:2.0.2"],\ - ["loupe", "npm:2.3.7"],\ - ["pathval", "npm:1.1.1"],\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chalk", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ - "packageDependencies": [\ - ["chalk", "npm:1.1.3"],\ - ["ansi-styles", "npm:2.2.1"],\ - ["escape-string-regexp", "npm:1.0.5"],\ - ["has-ansi", "npm:2.0.0"],\ - ["strip-ansi", "npm:3.0.1"],\ - ["supports-color", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.2", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ - "packageDependencies": [\ - ["chalk", "npm:4.1.2"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["check-error", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ - "packageDependencies": [\ - ["check-error", "npm:1.0.3"],\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chownr", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ - "packageDependencies": [\ - ["chownr", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ - "packageDependencies": [\ - ["chownr", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["clean-stack", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ - "packageDependencies": [\ - ["clean-stack", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-convert", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ - "packageDependencies": [\ - ["color-convert", "npm:2.0.1"],\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-name", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ - "packageDependencies": [\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-support", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ - "packageDependencies": [\ - ["color-support", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["colorette", [\ - ["npm:2.0.20", {\ - "packageLocation": "../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ - "packageDependencies": [\ - ["colorette", "npm:2.0.20"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["colors", [\ - ["npm:1.2.5", {\ - "packageLocation": "../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ - "packageDependencies": [\ - ["colors", "npm:1.2.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["common-tags", [\ - ["npm:1.8.2", {\ - "packageLocation": "../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ - "packageDependencies": [\ - ["common-tags", "npm:1.8.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["concat-map", [\ - ["npm:0.0.1", {\ - "packageLocation": "../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ - "packageDependencies": [\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["concat-stream", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ - "packageDependencies": [\ - ["concat-stream", "npm:2.0.0"],\ - ["buffer-from", "npm:1.1.2"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"],\ - ["typedarray", "npm:0.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["console-control-strings", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ - "packageDependencies": [\ - ["console-control-strings", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["convert-source-map", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ - "packageDependencies": [\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cookie", [\ - ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ - "packageDependencies": [\ - ["cookie", "npm:0.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["create-require", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ - "packageDependencies": [\ - ["create-require", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cross-spawn", [\ - ["npm:7.0.3", {\ - "packageLocation": "../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ - "packageDependencies": [\ - ["cross-spawn", "npm:7.0.3"],\ - ["path-key", "npm:3.1.1"],\ - ["shebang-command", "npm:2.0.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dateformat", [\ - ["npm:4.6.3", {\ - "packageLocation": "../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ - "packageDependencies": [\ - ["dateformat", "npm:4.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["debug", [\ - ["npm:4.3.4", {\ - "packageLocation": "../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "npm:4.3.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/2/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["@types/supports-color", null],\ - ["ms", "npm:2.1.2"],\ - ["supports-color", null]\ - ],\ - "packagePeers": [\ - "@types/supports-color",\ - "supports-color"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["decompress-response", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ - "packageDependencies": [\ - ["decompress-response", "npm:6.0.0"],\ - ["mimic-response", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-eql", [\ - ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ - "packageDependencies": [\ - ["deep-eql", "npm:4.1.3"],\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-extend", [\ - ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ - "packageDependencies": [\ - ["deep-extend", "npm:0.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-is", [\ - ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ - "packageDependencies": [\ - ["deep-is", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["delegates", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ - "packageDependencies": [\ - ["delegates", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["depd", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ - "packageDependencies": [\ - ["depd", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["detect-libc", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ - "packageDependencies": [\ - ["detect-libc", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["diff", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ - "packageDependencies": [\ - ["diff", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["diff-sequences", [\ - ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ - "packageDependencies": [\ - ["diff-sequences", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dir-glob", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ - "packageDependencies": [\ - ["dir-glob", "npm:3.0.1"],\ - ["path-type", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dlv", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ - "packageDependencies": [\ - ["dlv", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["doctrine", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ - "packageDependencies": [\ - ["doctrine", "npm:3.0.0"],\ - ["esutils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eastasianwidth", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ - "packageDependencies": [\ - ["eastasianwidth", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emittery", [\ - ["npm:0.13.1", {\ - "packageLocation": "../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ - "packageDependencies": [\ - ["emittery", "npm:0.13.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emoji-regex", [\ - ["npm:8.0.0", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:8.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.2.2", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:9.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["encoding", [\ - ["npm:0.1.13", {\ - "packageLocation": "../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ - "packageDependencies": [\ - ["encoding", "npm:0.1.13"],\ - ["iconv-lite", "npm:0.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["end-of-stream", [\ - ["npm:1.4.4", {\ - "packageLocation": "../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ - "packageDependencies": [\ - ["end-of-stream", "npm:1.4.4"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["entities", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ - "packageDependencies": [\ - ["entities", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["env-paths", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ - "packageDependencies": [\ - ["env-paths", "npm:2.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["err-code", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ - "packageDependencies": [\ - ["err-code", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es6-error", [\ - ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ - "packageDependencies": [\ - ["es6-error", "npm:4.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esbuild", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.12-fb5a3a4313/node_modules/esbuild/",\ - "packageDependencies": [\ - ["esbuild", "npm:0.19.12"],\ - ["@esbuild/aix-ppc64", "npm:0.19.12"],\ - ["@esbuild/android-arm", "npm:0.19.12"],\ - ["@esbuild/android-arm64", "npm:0.19.12"],\ - ["@esbuild/android-x64", "npm:0.19.12"],\ - ["@esbuild/darwin-arm64", "npm:0.19.12"],\ - ["@esbuild/darwin-x64", "npm:0.19.12"],\ - ["@esbuild/freebsd-arm64", "npm:0.19.12"],\ - ["@esbuild/freebsd-x64", "npm:0.19.12"],\ - ["@esbuild/linux-arm", "npm:0.19.12"],\ - ["@esbuild/linux-arm64", "npm:0.19.12"],\ - ["@esbuild/linux-ia32", "npm:0.19.12"],\ - ["@esbuild/linux-loong64", "npm:0.19.12"],\ - ["@esbuild/linux-mips64el", "npm:0.19.12"],\ - ["@esbuild/linux-ppc64", "npm:0.19.12"],\ - ["@esbuild/linux-riscv64", "npm:0.19.12"],\ - ["@esbuild/linux-s390x", "npm:0.19.12"],\ - ["@esbuild/linux-x64", "npm:0.19.12"],\ - ["@esbuild/netbsd-x64", "npm:0.19.12"],\ - ["@esbuild/openbsd-x64", "npm:0.19.12"],\ - ["@esbuild/sunos-x64", "npm:0.19.12"],\ - ["@esbuild/win32-arm64", "npm:0.19.12"],\ - ["@esbuild/win32-ia32", "npm:0.19.12"],\ - ["@esbuild/win32-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["escape-string-regexp", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint", [\ - ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["eslint", "npm:8.56.0"],\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@eslint-community/regexpp", "npm:4.10.0"],\ - ["@eslint/eslintrc", "npm:2.1.4"],\ - ["@eslint/js", "npm:8.56.0"],\ - ["@humanwhocodes/config-array", "npm:0.11.14"],\ - ["@humanwhocodes/module-importer", "npm:1.0.1"],\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@ungap/structured-clone", "npm:1.2.0"],\ - ["ajv", "npm:6.12.6"],\ - ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["doctrine", "npm:3.0.0"],\ - ["escape-string-regexp", "npm:4.0.0"],\ - ["eslint-scope", "npm:7.2.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"],\ - ["espree", "npm:9.6.1"],\ - ["esquery", "npm:1.5.0"],\ - ["esutils", "npm:2.0.3"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["file-entry-cache", "npm:6.0.1"],\ - ["find-up", "npm:5.0.0"],\ - ["glob-parent", "npm:6.0.2"],\ - ["globals", "npm:13.24.0"],\ - ["graphemer", "npm:1.4.0"],\ - ["ignore", "npm:5.3.0"],\ - ["imurmurhash", "npm:0.1.4"],\ - ["is-glob", "npm:4.0.3"],\ - ["is-path-inside", "npm:3.0.3"],\ - ["js-yaml", "npm:4.1.0"],\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ - ["levn", "npm:0.4.1"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["minimatch", "npm:3.1.2"],\ - ["natural-compare", "npm:1.4.0"],\ - ["optionator", "npm:0.9.3"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["text-table", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-config-prettier", [\ - ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "npm:9.1.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/2/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["@types/eslint", null],\ - ["eslint", "npm:8.56.0"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-plugin-prettier", [\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ - "packageDependencies": [\ - ["eslint-plugin-prettier", "npm:5.1.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/2/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ - "packageDependencies": [\ - ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ - ["@types/eslint", null],\ - ["@types/eslint-config-prettier", null],\ - ["@types/prettier", null],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["prettier", "npm:3.1.1"],\ - ["prettier-linter-helpers", "npm:1.0.0"],\ - ["synckit", "npm:0.8.8"]\ - ],\ - "packagePeers": [\ - "@types/eslint-config-prettier",\ - "@types/eslint",\ - "@types/prettier",\ - "eslint-config-prettier",\ - "eslint",\ - "prettier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-scope", [\ - ["npm:7.2.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ - "packageDependencies": [\ - ["eslint-scope", "npm:7.2.2"],\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-visitor-keys", [\ - ["npm:3.4.3", {\ - "packageLocation": "../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ - "packageDependencies": [\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["espree", [\ - ["npm:9.6.1", {\ - "packageLocation": "../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ - "packageDependencies": [\ - ["espree", "npm:9.6.1"],\ - ["acorn", "npm:8.11.3"],\ - ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esquery", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ - "packageDependencies": [\ - ["esquery", "npm:1.5.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esrecurse", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ - "packageDependencies": [\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["estraverse", [\ - ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ - "packageDependencies": [\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["estree-walker", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ - "packageDependencies": [\ - ["estree-walker", "npm:3.0.3"],\ - ["@types/estree", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esutils", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ - "packageDependencies": [\ - ["esutils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["event-target-shim", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ - "packageDependencies": [\ - ["event-target-shim", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["events", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ - "packageDependencies": [\ - ["events", "npm:3.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["execa", [\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ - "packageDependencies": [\ - ["execa", "npm:8.0.1"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["get-stream", "npm:8.0.1"],\ - ["human-signals", "npm:5.0.0"],\ - ["is-stream", "npm:3.0.0"],\ - ["merge-stream", "npm:2.0.0"],\ - ["npm-run-path", "npm:5.2.0"],\ - ["onetime", "npm:6.0.0"],\ - ["signal-exit", "npm:4.1.0"],\ - ["strip-final-newline", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["expand-template", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ - "packageDependencies": [\ - ["expand-template", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["exponential-backoff", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ - "packageDependencies": [\ - ["exponential-backoff", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-content-type-parse", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ - "packageDependencies": [\ - ["fast-content-type-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-copy", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ - "packageDependencies": [\ - ["fast-copy", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-decode-uri-component", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ - "packageDependencies": [\ - ["fast-decode-uri-component", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-deep-equal", [\ - ["npm:3.1.3", {\ - "packageLocation": "../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ - "packageDependencies": [\ - ["fast-deep-equal", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-diff", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ - "packageDependencies": [\ - ["fast-diff", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-glob", [\ - ["npm:3.3.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ - "packageDependencies": [\ - ["fast-glob", "npm:3.3.2"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["glob-parent", "npm:5.1.2"],\ - ["merge2", "npm:1.4.1"],\ - ["micromatch", "npm:4.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-json-stable-stringify", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ - "packageDependencies": [\ - ["fast-json-stable-stringify", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-json-stringify", [\ - ["npm:5.10.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ - "packageDependencies": [\ - ["fast-json-stringify", "npm:5.10.0"],\ - ["@fastify/deepmerge", "npm:1.3.0"],\ - ["ajv", "npm:8.12.0"],\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-uri", "npm:2.3.0"],\ - ["json-schema-ref-resolver", "npm:1.0.1"],\ - ["rfdc", "npm:1.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-levenshtein", [\ - ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ - "packageDependencies": [\ - ["fast-levenshtein", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-printf", [\ - ["npm:1.6.9", {\ - "packageLocation": "../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ - "packageDependencies": [\ - ["fast-printf", "npm:1.6.9"],\ - ["boolean", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-querystring", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ - "packageDependencies": [\ - ["fast-querystring", "npm:1.1.2"],\ - ["fast-decode-uri-component", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-redact", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ - "packageDependencies": [\ - ["fast-redact", "npm:3.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-safe-stringify", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ - "packageDependencies": [\ - ["fast-safe-stringify", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-uri", [\ - ["npm:2.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ - "packageDependencies": [\ - ["fast-uri", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastify", [\ - ["npm:4.26.0", {\ - "packageLocation": "../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ - "packageDependencies": [\ - ["fastify", "npm:4.26.0"],\ - ["@fastify/ajv-compiler", "npm:3.5.0"],\ - ["@fastify/error", "npm:3.4.1"],\ - ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ - ["abstract-logging", "npm:2.0.1"],\ - ["avvio", "npm:8.2.1"],\ - ["fast-content-type-parse", "npm:1.1.0"],\ - ["fast-json-stringify", "npm:5.10.0"],\ - ["find-my-way", "npm:8.1.0"],\ - ["light-my-request", "npm:5.11.0"],\ - ["pino", "npm:8.17.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["proxy-addr", "npm:2.0.7"],\ - ["rfdc", "npm:1.3.1"],\ - ["secure-json-parse", "npm:2.7.0"],\ - ["semver", "npm:7.5.4"],\ - ["toad-cache", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastify-plugin", [\ - ["npm:4.5.1", {\ - "packageLocation": "../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ - "packageDependencies": [\ - ["fastify-plugin", "npm:4.5.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastq", [\ - ["npm:1.17.0", {\ - "packageLocation": "../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ - "packageDependencies": [\ - ["fastq", "npm:1.17.0"],\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-entry-cache", [\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ - "packageDependencies": [\ - ["file-entry-cache", "npm:6.0.1"],\ - ["flat-cache", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-uri-to-path", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ - "packageDependencies": [\ - ["file-uri-to-path", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fill-range", [\ - ["npm:7.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ - "packageDependencies": [\ - ["fill-range", "npm:7.0.1"],\ - ["to-regex-range", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-my-way", [\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ - "packageDependencies": [\ - ["find-my-way", "npm:8.1.0"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-querystring", "npm:1.1.2"],\ - ["safe-regex2", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-up", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:5.0.0"],\ - ["locate-path", "npm:6.0.0"],\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flat-cache", [\ - ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ - "packageDependencies": [\ - ["flat-cache", "npm:3.2.0"],\ - ["flatted", "npm:3.2.9"],\ - ["keyv", "npm:4.5.4"],\ - ["rimraf", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flatted", [\ - ["npm:3.2.9", {\ - "packageLocation": "../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ - "packageDependencies": [\ - ["flatted", "npm:3.2.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["foreground-child", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ - "packageDependencies": [\ - ["foreground-child", "npm:3.1.1"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["forwarded", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ - "packageDependencies": [\ - ["forwarded", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs-constants", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ - "packageDependencies": [\ - ["fs-constants", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs-minipass", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ - "packageDependencies": [\ - ["fs-minipass", "npm:2.1.0"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ - "packageDependencies": [\ - ["fs-minipass", "npm:3.0.3"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs.realpath", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ - "packageDependencies": [\ - ["fs.realpath", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fsevents", [\ - ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ - "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ - "packageDependencies": [\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["gauge", [\ - ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ - "packageDependencies": [\ - ["gauge", "npm:4.0.4"],\ - ["aproba", "npm:2.0.0"],\ - ["color-support", "npm:1.1.3"],\ - ["console-control-strings", "npm:1.1.0"],\ - ["has-unicode", "npm:2.0.1"],\ - ["signal-exit", "npm:3.0.7"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["wide-align", "npm:1.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-func-name", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ - "packageDependencies": [\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-stack-trace", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ - "packageDependencies": [\ - ["get-stack-trace", "npm:2.1.1"],\ - ["bluebird", "npm:3.7.2"],\ - ["source-map", "npm:0.8.0-beta.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ - "packageDependencies": [\ - ["get-stack-trace", "npm:3.1.1"],\ - ["stacktrace-parser", "npm:0.1.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-stream", [\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ - "packageDependencies": [\ - ["get-stream", "npm:8.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-tsconfig", [\ - ["npm:4.7.2", {\ - "packageLocation": "../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ - "packageDependencies": [\ - ["get-tsconfig", "npm:4.7.2"],\ - ["resolve-pkg-maps", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["github-from-package", [\ - ["npm:0.0.0", {\ - "packageLocation": "../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ - "packageDependencies": [\ - ["github-from-package", "npm:0.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob", [\ - ["npm:10.3.10", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:10.3.10"],\ - ["foreground-child", "npm:3.1.1"],\ - ["jackspeak", "npm:2.3.6"],\ - ["minimatch", "npm:9.0.3"],\ - ["minipass", "npm:7.0.4"],\ - ["path-scurry", "npm:1.10.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.3", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:7.2.3"],\ - ["fs.realpath", "npm:1.0.0"],\ - ["inflight", "npm:1.0.6"],\ - ["inherits", "npm:2.0.4"],\ - ["minimatch", "npm:3.1.2"],\ - ["once", "npm:1.4.0"],\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:8.1.0"],\ - ["fs.realpath", "npm:1.0.0"],\ - ["inflight", "npm:1.0.6"],\ - ["inherits", "npm:2.0.4"],\ - ["minimatch", "npm:5.1.6"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob-parent", [\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:5.1.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:6.0.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globals", [\ - ["npm:13.24.0", {\ - "packageLocation": "../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ - "packageDependencies": [\ - ["globals", "npm:13.24.0"],\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globby", [\ - ["npm:11.1.0", {\ - "packageLocation": "../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ - "packageDependencies": [\ - ["globby", "npm:11.1.0"],\ - ["array-union", "npm:2.1.0"],\ - ["dir-glob", "npm:3.0.1"],\ - ["fast-glob", "npm:3.3.2"],\ - ["ignore", "npm:5.3.0"],\ - ["merge2", "npm:1.4.1"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graceful-fs", [\ - ["npm:4.2.11", {\ - "packageLocation": "../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ - "packageDependencies": [\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graphemer", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ - "packageDependencies": [\ - ["graphemer", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-ansi", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ - "packageDependencies": [\ - ["has-ansi", "npm:2.0.0"],\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-flag", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ - "packageDependencies": [\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-unicode", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ - "packageDependencies": [\ - ["has-unicode", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["help-me", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ - "packageDependencies": [\ - ["help-me", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["html-escaper", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ - "packageDependencies": [\ - ["html-escaper", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-cache-semantics", [\ - ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ - "packageDependencies": [\ - ["http-cache-semantics", "npm:4.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-errors", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ - "packageDependencies": [\ - ["http-errors", "npm:2.0.0"],\ - ["depd", "npm:2.0.0"],\ - ["inherits", "npm:2.0.4"],\ - ["setprototypeof", "npm:1.2.0"],\ - ["statuses", "npm:2.0.1"],\ - ["toidentifier", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-proxy-agent", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["@tootallnate/once", "npm:1.1.2"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:7.0.0"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["https-proxy-agent", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ - "packageDependencies": [\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.2", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ - "packageDependencies": [\ - ["https-proxy-agent", "npm:7.0.2"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["human-signals", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ - "packageDependencies": [\ - ["human-signals", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["humanize-ms", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ - "packageDependencies": [\ - ["humanize-ms", "npm:1.2.1"],\ - ["ms", "npm:2.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["hyperid", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ - "packageDependencies": [\ - ["hyperid", "npm:2.3.1"],\ - ["uuid", "npm:8.3.2"],\ - ["uuid-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["iconv-lite", [\ - ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ - "packageDependencies": [\ - ["iconv-lite", "npm:0.6.3"],\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ieee754", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ - "packageDependencies": [\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ignore", [\ - ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ - "packageDependencies": [\ - ["ignore", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["import-fresh", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ - "packageDependencies": [\ - ["import-fresh", "npm:3.3.0"],\ - ["parent-module", "npm:1.0.1"],\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["imurmurhash", [\ - ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ - "packageDependencies": [\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["indent-string", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ - "packageDependencies": [\ - ["indent-string", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["infer-owner", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ - "packageDependencies": [\ - ["infer-owner", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inflight", [\ - ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ - "packageDependencies": [\ - ["inflight", "npm:1.0.6"],\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inherits", [\ - ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ - "packageDependencies": [\ - ["inherits", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ini", [\ - ["npm:1.3.8", {\ - "packageLocation": "../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ - "packageDependencies": [\ - ["ini", "npm:1.3.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["int64-buffer", [\ - ["npm:0.99.1007", {\ - "packageLocation": "../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ - "packageDependencies": [\ - ["int64-buffer", "npm:0.99.1007"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ip", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ip-npm-2.0.1-ee48691f03-10c0.zip/node_modules/ip/",\ - "packageDependencies": [\ - ["ip", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ipaddr.js", [\ - ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ - "packageDependencies": [\ - ["ipaddr.js", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-extglob", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ - "packageDependencies": [\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-fullwidth-code-point", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ - "packageDependencies": [\ - ["is-fullwidth-code-point", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-glob", [\ - ["npm:4.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ - "packageDependencies": [\ - ["is-glob", "npm:4.0.3"],\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-lambda", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ - "packageDependencies": [\ - ["is-lambda", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-number", [\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ - "packageDependencies": [\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-path-inside", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ - "packageDependencies": [\ - ["is-path-inside", "npm:3.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-plain-object", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ - "packageDependencies": [\ - ["is-plain-object", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-stream", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ - "packageDependencies": [\ - ["is-stream", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["isexe", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["iso8601-duration", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ - "packageDependencies": [\ - ["iso8601-duration", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-coverage", [\ - ["npm:3.2.2", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["istanbul-lib-coverage", "npm:3.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-report", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ - "packageDependencies": [\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["make-dir", "npm:4.0.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-source-maps", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ - "packageDependencies": [\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-reports", [\ - ["npm:3.1.6", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ - "packageDependencies": [\ - ["istanbul-reports", "npm:3.1.6"],\ - ["html-escaper", "npm:2.0.2"],\ - ["istanbul-lib-report", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jackspeak", [\ - ["npm:2.3.6", {\ - "packageLocation": "../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ - "packageDependencies": [\ - ["jackspeak", "npm:2.3.6"],\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["joycon", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ - "packageDependencies": [\ - ["joycon", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js-yaml", [\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ - "packageDependencies": [\ - ["js-yaml", "npm:4.1.0"],\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js2xmlparser", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ - "packageDependencies": [\ - ["js2xmlparser", "npm:4.0.2"],\ - ["xmlcreate", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsdoc", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ - "packageDependencies": [\ - ["jsdoc", "npm:4.0.2"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@jsdoc/salty", "npm:0.2.7"],\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["bluebird", "npm:3.7.2"],\ - ["catharsis", "npm:0.9.0"],\ - ["escape-string-regexp", "npm:2.0.0"],\ - ["js2xmlparser", "npm:4.0.2"],\ - ["klaw", "npm:3.0.0"],\ - ["markdown-it", "npm:12.3.2"],\ - ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ - ["marked", "npm:4.3.0"],\ - ["mkdirp", "npm:1.0.4"],\ - ["requizzle", "npm:0.2.4"],\ - ["strip-json-comments", "npm:3.1.1"],\ - ["underscore", "npm:1.13.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-buffer", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ - "packageDependencies": [\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-schema-ref-resolver", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ - "packageDependencies": [\ - ["json-schema-ref-resolver", "npm:1.0.1"],\ - ["fast-deep-equal", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-schema-traverse", [\ - ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ - "packageDependencies": [\ - ["json-schema-traverse", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ - "packageDependencies": [\ - ["json-schema-traverse", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-stable-stringify-without-jsonify", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ - "packageDependencies": [\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsonc-parser", [\ - ["npm:3.2.1", {\ - "packageLocation": "../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ - "packageDependencies": [\ - ["jsonc-parser", "npm:3.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["keyv", [\ - ["npm:4.5.4", {\ - "packageLocation": "../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ - "packageDependencies": [\ - ["keyv", "npm:4.5.4"],\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["klaw", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ - "packageDependencies": [\ - ["klaw", "npm:3.0.0"],\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["levn", [\ - ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ - "packageDependencies": [\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["light-my-request", [\ - ["npm:5.11.0", {\ - "packageLocation": "../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ - "packageDependencies": [\ - ["light-my-request", "npm:5.11.0"],\ - ["cookie", "npm:0.5.0"],\ - ["process-warning", "npm:2.3.2"],\ - ["set-cookie-parser", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["linkify-it", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ - "packageDependencies": [\ - ["linkify-it", "npm:3.0.3"],\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["local-pkg", [\ - ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ - "packageDependencies": [\ - ["local-pkg", "npm:0.5.0"],\ - ["mlly", "npm:1.5.0"],\ - ["pkg-types", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["locate-path", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:6.0.0"],\ - ["p-locate", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash", [\ - ["npm:4.17.21", {\ - "packageLocation": "../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ - "packageDependencies": [\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.merge", [\ - ["npm:4.6.2", {\ - "packageLocation": "../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ - "packageDependencies": [\ - ["lodash.merge", "npm:4.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.sortby", [\ - ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ - "packageDependencies": [\ - ["lodash.sortby", "npm:4.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loglevel", [\ - ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ - "packageDependencies": [\ - ["loglevel", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loglevel-colored-level-prefix", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ - "packageDependencies": [\ - ["loglevel-colored-level-prefix", "npm:1.0.0"],\ - ["chalk", "npm:1.1.3"],\ - ["loglevel", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loupe", [\ - ["npm:2.3.7", {\ - "packageLocation": "../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ - "packageDependencies": [\ - ["loupe", "npm:2.3.7"],\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lru-cache", [\ - ["npm:10.2.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:10.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:6.0.0"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["magic-string", [\ - ["npm:0.30.5", {\ - "packageLocation": "../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ - "packageDependencies": [\ - ["magic-string", "npm:0.30.5"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["magicast", [\ - ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ - "packageDependencies": [\ - ["magicast", "npm:0.3.3"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"],\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-dir", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ - "packageDependencies": [\ - ["make-dir", "npm:4.0.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-error", [\ - ["npm:1.3.6", {\ - "packageLocation": "../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ - "packageDependencies": [\ - ["make-error", "npm:1.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-fetch-happen", [\ - ["npm:13.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ - "packageDependencies": [\ - ["make-fetch-happen", "npm:13.0.0"],\ - ["@npmcli/agent", "npm:2.2.0"],\ - ["cacache", "npm:18.0.2"],\ - ["http-cache-semantics", "npm:4.1.1"],\ - ["is-lambda", "npm:1.0.1"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-fetch", "npm:3.0.4"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["negotiator", "npm:0.6.3"],\ - ["promise-retry", "npm:2.0.1"],\ - ["ssri", "npm:10.0.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ - "packageDependencies": [\ - ["make-fetch-happen", "npm:9.1.0"],\ - ["agentkeepalive", "npm:4.5.0"],\ - ["cacache", "npm:15.3.0"],\ - ["http-cache-semantics", "npm:4.1.1"],\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["is-lambda", "npm:1.0.1"],\ - ["lru-cache", "npm:6.0.0"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass-fetch", "npm:1.4.1"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["negotiator", "npm:0.6.3"],\ - ["promise-retry", "npm:2.0.1"],\ - ["socks-proxy-agent", "npm:6.2.1"],\ - ["ssri", "npm:8.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["markdown-it", [\ - ["npm:12.3.2", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ - "packageDependencies": [\ - ["markdown-it", "npm:12.3.2"],\ - ["argparse", "npm:2.0.1"],\ - ["entities", "npm:2.1.0"],\ - ["linkify-it", "npm:3.0.3"],\ - ["mdurl", "npm:1.0.1"],\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["markdown-it-anchor", [\ - ["npm:8.6.7", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ - "packageDependencies": [\ - ["markdown-it-anchor", "npm:8.6.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7", {\ - "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/2/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ - "packageDependencies": [\ - ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["markdown-it", "npm:12.3.2"]\ - ],\ - "packagePeers": [\ - "@types/markdown-it",\ - "markdown-it"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["marked", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ - "packageDependencies": [\ - ["marked", "npm:4.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mdurl", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ - "packageDependencies": [\ - ["mdurl", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["media-typer", [\ - ["npm:0.3.0", {\ - "packageLocation": "../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ - "packageDependencies": [\ - ["media-typer", "npm:0.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge-stream", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ - "packageDependencies": [\ - ["merge-stream", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge2", [\ - ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ - "packageDependencies": [\ - ["merge2", "npm:1.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["micromatch", [\ - ["npm:4.0.5", {\ - "packageLocation": "../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ - "packageDependencies": [\ - ["micromatch", "npm:4.0.5"],\ - ["braces", "npm:3.0.2"],\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mime-db", [\ - ["npm:1.52.0", {\ - "packageLocation": "../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ - "packageDependencies": [\ - ["mime-db", "npm:1.52.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mime-types", [\ - ["npm:2.1.35", {\ - "packageLocation": "../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ - "packageDependencies": [\ - ["mime-types", "npm:2.1.35"],\ - ["mime-db", "npm:1.52.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mimic-fn", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ - "packageDependencies": [\ - ["mimic-fn", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mimic-response", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ - "packageDependencies": [\ - ["mimic-response", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minimatch", [\ - ["npm:3.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:3.1.2"],\ - ["brace-expansion", "npm:1.1.11"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.6", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:5.1.6"],\ - ["brace-expansion", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:9.0.3"],\ - ["brace-expansion", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minimist", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ - "packageDependencies": [\ - ["minimist", "npm:1.2.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass", [\ - ["npm:3.3.6", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:3.3.6"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-collect", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ - "packageDependencies": [\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ - "packageDependencies": [\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-fetch", [\ - ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ - "packageDependencies": [\ - ["minipass-fetch", "npm:1.4.1"],\ - ["encoding", "npm:0.1.13"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-sized", "npm:1.0.3"],\ - ["minizlib", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ - "packageDependencies": [\ - ["minipass-fetch", "npm:3.0.4"],\ - ["encoding", "npm:0.1.13"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-sized", "npm:1.0.3"],\ - ["minizlib", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-flush", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ - "packageDependencies": [\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-pipeline", [\ - ["npm:1.2.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ - "packageDependencies": [\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-sized", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ - "packageDependencies": [\ - ["minipass-sized", "npm:1.0.3"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minizlib", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ - "packageDependencies": [\ - ["minizlib", "npm:2.1.2"],\ - ["minipass", "npm:3.3.6"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mkdirp", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ - "packageDependencies": [\ - ["mkdirp", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mkdirp-classic", [\ - ["npm:0.5.3", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ - "packageDependencies": [\ - ["mkdirp-classic", "npm:0.5.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mlly", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ - "packageDependencies": [\ - ["mlly", "npm:1.5.0"],\ - ["acorn", "npm:8.11.3"],\ - ["pathe", "npm:1.1.2"],\ - ["pkg-types", "npm:1.0.3"],\ - ["ufo", "npm:1.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["moment", [\ - ["npm:2.30.1", {\ - "packageLocation": "../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ - "packageDependencies": [\ - ["moment", "npm:2.30.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ms", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ - "packageDependencies": [\ - ["ms", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.1.3", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ - "packageDependencies": [\ - ["ms", "npm:2.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["multi-fork", [\ - ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ - "packageDependencies": [\ - ["multi-fork", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["nanoid", [\ - ["npm:3.3.7", {\ - "packageLocation": "../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ - "packageDependencies": [\ - ["nanoid", "npm:3.3.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["napi-build-utils", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ - "packageDependencies": [\ - ["napi-build-utils", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["natural-compare", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ - "packageDependencies": [\ - ["natural-compare", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["negotiator", [\ - ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ - "packageDependencies": [\ - ["negotiator", "npm:0.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-abi", [\ - ["npm:3.54.0", {\ - "packageLocation": "../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ - "packageDependencies": [\ - ["node-abi", "npm:3.54.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-addon-api", [\ - ["npm:7.1.0", {\ - "packageLocation": "./.yarn/unplugged/node-addon-api-npm-7.1.0-619a324431/node_modules/node-addon-api/",\ - "packageDependencies": [\ - ["node-addon-api", "npm:7.1.0"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-fetch", [\ - ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ - "packageDependencies": [\ - ["node-fetch", "npm:2.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/2/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ - "packageDependencies": [\ - ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ - ["@types/encoding", null],\ - ["encoding", null],\ - ["whatwg-url", "npm:5.0.0"]\ - ],\ - "packagePeers": [\ - "@types/encoding",\ - "encoding"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-gyp", [\ - ["npm:10.0.1", {\ - "packageLocation": "./.yarn/unplugged/node-gyp-npm-10.0.1-48708ce70b/node_modules/node-gyp/",\ - "packageDependencies": [\ - ["node-gyp", "npm:10.0.1"],\ - ["env-paths", "npm:2.2.1"],\ - ["exponential-backoff", "npm:3.1.1"],\ - ["glob", "npm:10.3.10"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["make-fetch-happen", "npm:13.0.0"],\ - ["nopt", "npm:7.2.0"],\ - ["proc-log", "npm:3.0.0"],\ - ["semver", "npm:7.5.4"],\ - ["tar", "npm:6.2.0"],\ - ["which", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.4.1", {\ - "packageLocation": "./.yarn/unplugged/node-gyp-npm-8.4.1-13c90a9c9b/node_modules/node-gyp/",\ - "packageDependencies": [\ - ["node-gyp", "npm:8.4.1"],\ - ["env-paths", "npm:2.2.1"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["make-fetch-happen", "npm:9.1.0"],\ - ["nopt", "npm:5.0.0"],\ - ["npmlog", "npm:6.0.2"],\ - ["rimraf", "npm:3.0.2"],\ - ["semver", "npm:7.5.4"],\ - ["tar", "npm:6.2.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["nopt", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ - "packageDependencies": [\ - ["nopt", "npm:5.0.0"],\ - ["abbrev", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ - "packageDependencies": [\ - ["nopt", "npm:7.2.0"],\ - ["abbrev", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["npm-run-path", [\ - ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ - "packageDependencies": [\ - ["npm-run-path", "npm:5.2.0"],\ - ["path-key", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["npmlog", [\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ - "packageDependencies": [\ - ["npmlog", "npm:6.0.2"],\ - ["are-we-there-yet", "npm:3.0.1"],\ - ["console-control-strings", "npm:1.1.0"],\ - ["gauge", "npm:4.0.4"],\ - ["set-blocking", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["obuf", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ - "packageDependencies": [\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["on-exit-leak-free", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ - "packageDependencies": [\ - ["on-exit-leak-free", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["once", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ - "packageDependencies": [\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["onetime", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ - "packageDependencies": [\ - ["onetime", "npm:6.0.0"],\ - ["mimic-fn", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["optionator", [\ - ["npm:0.9.3", {\ - "packageLocation": "../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ - "packageDependencies": [\ - ["optionator", "npm:0.9.3"],\ - ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ - ["deep-is", "npm:0.1.4"],\ - ["fast-levenshtein", "npm:2.0.6"],\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-defer", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ - "packageDependencies": [\ - ["p-defer", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-limit", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:3.1.0"],\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:5.0.0"],\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-locate", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:5.0.0"],\ - ["p-limit", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-map", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ - "packageDependencies": [\ - ["p-map", "npm:4.0.0"],\ - ["aggregate-error", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["packet-reader", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ - "packageDependencies": [\ - ["packet-reader", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["parent-module", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ - "packageDependencies": [\ - ["parent-module", "npm:1.0.1"],\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-exists", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-is-absolute", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ - "packageDependencies": [\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-key", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-scurry", [\ - ["npm:1.10.1", {\ - "packageLocation": "../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ - "packageDependencies": [\ - ["path-scurry", "npm:1.10.1"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-type", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ - "packageDependencies": [\ - ["path-type", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pathe", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ - "packageDependencies": [\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pathval", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ - "packageDependencies": [\ - ["pathval", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg", [\ - ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ - "packageDependencies": [\ - ["pg", "npm:8.11.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/2/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ - "packageDependencies": [\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["@types/pg-native", null],\ - ["buffer-writer", "npm:2.0.0"],\ - ["packet-reader", "npm:1.0.0"],\ - ["pg-cloudflare", "npm:1.1.1"],\ - ["pg-connection-string", "npm:2.6.2"],\ - ["pg-native", null],\ - ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-types", "npm:2.2.0"],\ - ["pgpass", "npm:1.0.5"]\ - ],\ - "packagePeers": [\ - "@types/pg-native",\ - "pg-native"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-cloudflare", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ - "packageDependencies": [\ - ["pg-cloudflare", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-connection-string", [\ - ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ - "packageDependencies": [\ - ["pg-connection-string", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-copy-streams", [\ - ["npm:6.0.6", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ - "packageDependencies": [\ - ["pg-copy-streams", "npm:6.0.6"],\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-copy-streams-binary", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ - "packageDependencies": [\ - ["pg-copy-streams-binary", "npm:2.2.0"],\ - ["bl", "npm:4.1.0"],\ - ["bufferput", "npm:0.1.3"],\ - ["ieee754", "npm:1.2.1"],\ - ["int64-buffer", "npm:0.99.1007"],\ - ["multi-fork", "npm:0.0.2"],\ - ["through2", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-cursor", [\ - ["npm:2.10.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "npm:2.10.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ - ["@types/pg", null],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"],\ - ["@types/pg", "npm:8.11.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-int8", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ - "packageDependencies": [\ - ["pg-int8", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-numeric", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ - "packageDependencies": [\ - ["pg-numeric", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-pool", [\ - ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ - "packageDependencies": [\ - ["pg-pool", "npm:3.6.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1", {\ - "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/2/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ - "packageDependencies": [\ - ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ - ["@types/pg", null],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-protocol", [\ - ["npm:1.6.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ - "packageDependencies": [\ - ["pg-protocol", "npm:1.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-query-stream", [\ - ["npm:4.5.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ - "packageDependencies": [\ - ["pg-query-stream", "npm:4.5.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/2/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ - "packageDependencies": [\ - ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ - ["@types/pg", "npm:8.11.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-types", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ - "packageDependencies": [\ - ["pg-types", "npm:2.2.0"],\ - ["pg-int8", "npm:1.0.1"],\ - ["postgres-array", "npm:2.0.0"],\ - ["postgres-bytea", "npm:1.0.0"],\ - ["postgres-date", "npm:1.0.7"],\ - ["postgres-interval", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ - "packageDependencies": [\ - ["pg-types", "npm:4.0.2"],\ - ["pg-int8", "npm:1.0.1"],\ - ["pg-numeric", "npm:1.0.2"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-bytea", "npm:3.0.0"],\ - ["postgres-date", "npm:2.1.0"],\ - ["postgres-interval", "npm:3.0.0"],\ - ["postgres-range", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pgpass", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ - "packageDependencies": [\ - ["pgpass", "npm:1.0.5"],\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picocolors", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ - "packageDependencies": [\ - ["picocolors", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picomatch", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ - "packageDependencies": [\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino", [\ - ["npm:8.17.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ - "packageDependencies": [\ - ["pino", "npm:8.17.2"],\ - ["atomic-sleep", "npm:1.0.0"],\ - ["fast-redact", "npm:3.3.0"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pino-std-serializers", "npm:6.2.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["quick-format-unescaped", "npm:4.0.4"],\ - ["real-require", "npm:0.2.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["thread-stream", "npm:2.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.18.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ - "packageDependencies": [\ - ["pino", "npm:8.18.0"],\ - ["atomic-sleep", "npm:1.0.0"],\ - ["fast-redact", "npm:3.3.0"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pino-std-serializers", "npm:6.2.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["quick-format-unescaped", "npm:4.0.4"],\ - ["real-require", "npm:0.2.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["thread-stream", "npm:2.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-abstract-transport", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ - "packageDependencies": [\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["readable-stream", "npm:4.5.2"],\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-pretty", [\ - ["npm:10.3.1", {\ - "packageLocation": "../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ - "packageDependencies": [\ - ["pino-pretty", "npm:10.3.1"],\ - ["colorette", "npm:2.0.20"],\ - ["dateformat", "npm:4.6.3"],\ - ["fast-copy", "npm:3.0.1"],\ - ["fast-safe-stringify", "npm:2.1.1"],\ - ["help-me", "npm:5.0.0"],\ - ["joycon", "npm:3.1.1"],\ - ["minimist", "npm:1.2.8"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pump", "npm:3.0.0"],\ - ["readable-stream", "npm:4.5.2"],\ - ["secure-json-parse", "npm:2.7.0"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-std-serializers", [\ - ["npm:6.2.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ - "packageDependencies": [\ - ["pino-std-serializers", "npm:6.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pkg-types", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ - "packageDependencies": [\ - ["pkg-types", "npm:1.0.3"],\ - ["jsonc-parser", "npm:3.2.1"],\ - ["mlly", "npm:1.5.0"],\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pony-cause", [\ - ["npm:2.1.10", {\ - "packageLocation": "../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ - "packageDependencies": [\ - ["pony-cause", "npm:2.1.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postcss", [\ - ["npm:8.4.33", {\ - "packageLocation": "../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ - "packageDependencies": [\ - ["postcss", "npm:8.4.33"],\ - ["nanoid", "npm:3.3.7"],\ - ["picocolors", "npm:1.0.0"],\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-array", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ - "packageDependencies": [\ - ["postgres-array", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ - "packageDependencies": [\ - ["postgres-array", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-bytea", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ - "packageDependencies": [\ - ["postgres-bytea", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ - "packageDependencies": [\ - ["postgres-bytea", "npm:3.0.0"],\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-date", [\ - ["npm:1.0.7", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ - "packageDependencies": [\ - ["postgres-date", "npm:1.0.7"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ - "packageDependencies": [\ - ["postgres-date", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-interval", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:1.2.0"],\ - ["xtend", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-range", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ - "packageDependencies": [\ - ["postgres-range", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prebuild-install", [\ - ["npm:7.1.1", {\ - "packageLocation": "../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ - "packageDependencies": [\ - ["prebuild-install", "npm:7.1.1"],\ - ["detect-libc", "npm:2.0.2"],\ - ["expand-template", "npm:2.0.3"],\ - ["github-from-package", "npm:0.0.0"],\ - ["minimist", "npm:1.2.8"],\ - ["mkdirp-classic", "npm:0.5.3"],\ - ["napi-build-utils", "npm:1.0.2"],\ - ["node-abi", "npm:3.54.0"],\ - ["pump", "npm:3.0.0"],\ - ["rc", "npm:1.2.8"],\ - ["simple-get", "npm:4.0.1"],\ - ["tar-fs", "npm:2.1.1"],\ - ["tunnel-agent", "npm:0.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prelude-ls", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ - "packageDependencies": [\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier", [\ - ["npm:3.1.1", {\ - "packageLocation": "./.yarn/unplugged/prettier-npm-3.1.1-072c31ec21/node_modules/prettier/",\ - "packageDependencies": [\ - ["prettier", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.2.4", {\ - "packageLocation": "./.yarn/unplugged/prettier-npm-3.2.4-3ca24592c3/node_modules/prettier/",\ - "packageDependencies": [\ - ["prettier", "npm:3.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier-eslint", [\ - ["npm:16.2.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ - "packageDependencies": [\ - ["prettier-eslint", "npm:16.2.0"],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["common-tags", "npm:1.8.2"],\ - ["dlv", "npm:1.1.3"],\ - ["eslint", "npm:8.56.0"],\ - ["indent-string", "npm:4.0.0"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["loglevel-colored-level-prefix", "npm:1.0.0"],\ - ["prettier", "npm:3.2.4"],\ - ["pretty-format", "npm:29.7.0"],\ - ["require-relative", "npm:0.8.7"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier-linter-helpers", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ - "packageDependencies": [\ - ["prettier-linter-helpers", "npm:1.0.0"],\ - ["fast-diff", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pretty-format", [\ - ["npm:29.7.0", {\ - "packageLocation": "../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ - "packageDependencies": [\ - ["pretty-format", "npm:29.7.0"],\ - ["@jest/schemas", "npm:29.6.3"],\ - ["ansi-styles", "npm:5.2.0"],\ - ["react-is", "npm:18.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proc-log", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ - "packageDependencies": [\ - ["proc-log", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["process", [\ - ["npm:0.11.10", {\ - "packageLocation": "../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ - "packageDependencies": [\ - ["process", "npm:0.11.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["process-warning", [\ - ["npm:2.3.2", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ - "packageDependencies": [\ - ["process-warning", "npm:2.3.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ - "packageDependencies": [\ - ["process-warning", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["progress", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ - "packageDependencies": [\ - ["progress", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["promise-inflight", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ - "packageDependencies": [\ - ["promise-inflight", "npm:1.0.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/2/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ - "packageDependencies": [\ - ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ - ["@types/bluebird", null],\ - ["bluebird", null]\ - ],\ - "packagePeers": [\ - "@types/bluebird",\ - "bluebird"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["promise-retry", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ - "packageDependencies": [\ - ["promise-retry", "npm:2.0.1"],\ - ["err-code", "npm:2.0.3"],\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proxy-addr", [\ - ["npm:2.0.7", {\ - "packageLocation": "../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ - "packageDependencies": [\ - ["proxy-addr", "npm:2.0.7"],\ - ["forwarded", "npm:0.2.0"],\ - ["ipaddr.js", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proxy-from-env", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ - "packageDependencies": [\ - ["proxy-from-env", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pump", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ - "packageDependencies": [\ - ["pump", "npm:3.0.0"],\ - ["end-of-stream", "npm:1.4.4"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["punycode", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ - "packageDependencies": [\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["queue-microtask", [\ - ["npm:1.2.3", {\ - "packageLocation": "../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ - "packageDependencies": [\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["quick-format-unescaped", [\ - ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ - "packageDependencies": [\ - ["quick-format-unescaped", "npm:4.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rc", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ - "packageDependencies": [\ - ["rc", "npm:1.2.8"],\ - ["deep-extend", "npm:0.6.0"],\ - ["ini", "npm:1.3.8"],\ - ["minimist", "npm:1.2.8"],\ - ["strip-json-comments", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["react-is", [\ - ["npm:18.2.0", {\ - "packageLocation": "../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ - "packageDependencies": [\ - ["react-is", "npm:18.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["readable-stream", [\ - ["npm:3.6.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ - "packageDependencies": [\ - ["readable-stream", "npm:3.6.2"],\ - ["inherits", "npm:2.0.4"],\ - ["string_decoder", "npm:1.3.0"],\ - ["util-deprecate", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.5.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ - "packageDependencies": [\ - ["readable-stream", "npm:4.5.2"],\ - ["abort-controller", "npm:3.0.0"],\ - ["buffer", "npm:6.0.3"],\ - ["events", "npm:3.3.0"],\ - ["process", "npm:0.11.10"],\ - ["string_decoder", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["real-require", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ - "packageDependencies": [\ - ["real-require", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["require-from-string", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ - "packageDependencies": [\ - ["require-from-string", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["require-relative", [\ - ["npm:0.8.7", {\ - "packageLocation": "../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ - "packageDependencies": [\ - ["require-relative", "npm:0.8.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["requizzle", [\ - ["npm:0.2.4", {\ - "packageLocation": "../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ - "packageDependencies": [\ - ["requizzle", "npm:0.2.4"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-from", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ - "packageDependencies": [\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-pkg-maps", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ - "packageDependencies": [\ - ["resolve-pkg-maps", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ret", [\ - ["npm:0.2.2", {\ - "packageLocation": "../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ - "packageDependencies": [\ - ["ret", "npm:0.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["retry", [\ - ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ - "packageDependencies": [\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["reusify", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ - "packageDependencies": [\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rfdc", [\ - ["npm:1.3.1", {\ - "packageLocation": "../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ - "packageDependencies": [\ - ["rfdc", "npm:1.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rimraf", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ - "packageDependencies": [\ - ["rimraf", "npm:3.0.2"],\ - ["glob", "npm:7.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["roarr", [\ - ["npm:7.21.0", {\ - "packageLocation": "../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ - "packageDependencies": [\ - ["roarr", "npm:7.21.0"],\ - ["fast-printf", "npm:1.6.9"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["semver-compare", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rollup", [\ - ["npm:4.9.6", {\ - "packageLocation": "../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.9.6"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"],\ - ["@rollup/rollup-android-arm64", "npm:4.9.6"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.9.6"],\ - ["@rollup/rollup-darwin-x64", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["run-parallel", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ - "packageDependencies": [\ - ["run-parallel", "npm:1.2.0"],\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rusty-motors", [\ - ["workspace:.", {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["rusty-motors", "workspace:."],\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@types/node", "npm:20.11.16"],\ - ["prettier", "npm:3.2.4"],\ - ["slonik", "npm:29.2.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["safe-buffer", [\ - ["npm:5.2.1", {\ - "packageLocation": "../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ - "packageDependencies": [\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-regex2", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ - "packageDependencies": [\ - ["safe-regex2", "npm:2.0.0"],\ - ["ret", "npm:0.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-stable-stringify", [\ - ["npm:2.4.3", {\ - "packageLocation": "../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ - "packageDependencies": [\ - ["safe-stable-stringify", "npm:2.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safer-buffer", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ - "packageDependencies": [\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["secure-json-parse", [\ - ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ - "packageDependencies": [\ - ["secure-json-parse", "npm:2.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["semver", [\ - ["npm:7.5.4", {\ - "packageLocation": "../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ - "packageDependencies": [\ - ["semver", "npm:7.5.4"],\ - ["lru-cache", "npm:6.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["semver-compare", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ - "packageDependencies": [\ - ["semver-compare", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["serialize-error", [\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ - "packageDependencies": [\ - ["serialize-error", "npm:8.1.0"],\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-blocking", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ - "packageDependencies": [\ - ["set-blocking", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-cookie-parser", [\ - ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ - "packageDependencies": [\ - ["set-cookie-parser", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["setprototypeof", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ - "packageDependencies": [\ - ["setprototypeof", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-command", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ - "packageDependencies": [\ - ["shebang-command", "npm:2.0.0"],\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-regex", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ - "packageDependencies": [\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["short-unique-id", [\ - ["npm:5.0.3", {\ - "packageLocation": "../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ - "packageDependencies": [\ - ["short-unique-id", "npm:5.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["siginfo", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ - "packageDependencies": [\ - ["siginfo", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["signal-exit", [\ - ["npm:3.0.7", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:3.0.7"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["simple-concat", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ - "packageDependencies": [\ - ["simple-concat", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["simple-get", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ - "packageDependencies": [\ - ["simple-get", "npm:4.0.1"],\ - ["decompress-response", "npm:6.0.0"],\ - ["once", "npm:1.4.0"],\ - ["simple-concat", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["slash", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ - "packageDependencies": [\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["slonik", [\ - ["npm:29.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "npm:29.2.0"],\ - ["concat-stream", "npm:2.0.0"],\ - ["es6-error", "npm:4.1.1"],\ - ["fast-safe-stringify", "npm:2.1.1"],\ - ["get-stack-trace", "npm:2.1.1"],\ - ["hyperid", "npm:2.3.1"],\ - ["is-plain-object", "npm:5.0.0"],\ - ["iso8601-duration", "npm:1.3.0"],\ - ["p-defer", "npm:3.0.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-copy-streams", "npm:6.0.6"],\ - ["pg-copy-streams-binary", "npm:2.2.0"],\ - ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-interval", "npm:4.0.2"],\ - ["roarr", "npm:7.21.0"],\ - ["serialize-error", "npm:8.1.0"],\ - ["through2", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:37.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "npm:37.2.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0", {\ - "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/2/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ - ["@types/pg", "npm:8.11.0"],\ - ["@types/zod", null],\ - ["es6-error", "npm:4.1.1"],\ - ["get-stack-trace", "npm:3.1.1"],\ - ["iso8601-duration", "npm:1.3.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ - ["pg-types", "npm:4.0.2"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-interval", "npm:4.0.2"],\ - ["roarr", "npm:7.21.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["serialize-error", "npm:8.1.0"],\ - ["zod", "npm:3.22.4"]\ - ],\ - "packagePeers": [\ - "@types/zod",\ - "zod"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["smart-buffer", [\ - ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ - "packageDependencies": [\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks", [\ - ["npm:2.7.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ - "packageDependencies": [\ - ["socks", "npm:2.7.1"],\ - ["ip", "npm:2.0.1"],\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks-proxy-agent", [\ - ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ - "packageDependencies": [\ - ["socks-proxy-agent", "npm:6.2.1"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["socks", "npm:2.7.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ - "packageDependencies": [\ - ["socks-proxy-agent", "npm:8.0.2"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["socks", "npm:2.7.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sonic-boom", [\ - ["npm:3.8.0", {\ - "packageLocation": "../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ - "packageDependencies": [\ - ["sonic-boom", "npm:3.8.0"],\ - ["atomic-sleep", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map", [\ - ["npm:0.6.1", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ - "packageDependencies": [\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.8.0-beta.0", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ - "packageDependencies": [\ - ["source-map", "npm:0.8.0-beta.0"],\ - ["whatwg-url", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map-js", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ - "packageDependencies": [\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["split2", [\ - ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ - "packageDependencies": [\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sprintf-js", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ - "packageDependencies": [\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sqlite3", [\ - ["npm:5.1.7", {\ - "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ - "packageDependencies": [\ - ["sqlite3", "npm:5.1.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7", {\ - "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ - "packageDependencies": [\ - ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ - ["@types/node-gyp", null],\ - ["bindings", "npm:1.5.0"],\ - ["node-addon-api", "npm:7.1.0"],\ - ["node-gyp", "npm:8.4.1"],\ - ["prebuild-install", "npm:7.1.1"],\ - ["tar", "npm:6.2.0"]\ - ],\ - "packagePeers": [\ - "@types/node-gyp"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ssri", [\ - ["npm:10.0.5", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ - "packageDependencies": [\ - ["ssri", "npm:10.0.5"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ - "packageDependencies": [\ - ["ssri", "npm:8.0.1"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["stackback", [\ - ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ - "packageDependencies": [\ - ["stackback", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["stacktrace-parser", [\ - ["npm:0.1.10", {\ - "packageLocation": "../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ - "packageDependencies": [\ - ["stacktrace-parser", "npm:0.1.10"],\ - ["type-fest", "npm:0.7.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["statuses", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ - "packageDependencies": [\ - ["statuses", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["std-env", [\ - ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ - "packageDependencies": [\ - ["std-env", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-argv", [\ - ["npm:0.3.2", {\ - "packageLocation": "../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ - "packageDependencies": [\ - ["string-argv", "npm:0.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-width", [\ - ["npm:4.2.3", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:4.2.3"],\ - ["emoji-regex", "npm:8.0.0"],\ - ["is-fullwidth-code-point", "npm:3.0.0"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:5.1.2"],\ - ["eastasianwidth", "npm:0.2.0"],\ - ["emoji-regex", "npm:9.2.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string_decoder", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ - "packageDependencies": [\ - ["string_decoder", "npm:1.3.0"],\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-ansi", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:3.0.1"],\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:6.0.1"],\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:7.1.0"],\ - ["ansi-regex", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-final-newline", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ - "packageDependencies": [\ - ["strip-final-newline", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-json-comments", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ - "packageDependencies": [\ - ["strip-json-comments", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ - "packageDependencies": [\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-literal", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ - "packageDependencies": [\ - ["strip-literal", "npm:1.3.0"],\ - ["acorn", "npm:8.11.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["supports-color", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:7.2.0"],\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["synckit", [\ - ["npm:0.8.8", {\ - "packageLocation": "../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ - "packageDependencies": [\ - ["synckit", "npm:0.8.8"],\ - ["@pkgr/core", "npm:0.1.1"],\ - ["tslib", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar", [\ - ["npm:6.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ - "packageDependencies": [\ - ["tar", "npm:6.2.0"],\ - ["chownr", "npm:2.0.0"],\ - ["fs-minipass", "npm:2.1.0"],\ - ["minipass", "npm:5.0.0"],\ - ["minizlib", "npm:2.1.2"],\ - ["mkdirp", "npm:1.0.4"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar-fs", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ - "packageDependencies": [\ - ["tar-fs", "npm:2.1.1"],\ - ["chownr", "npm:1.1.4"],\ - ["mkdirp-classic", "npm:0.5.3"],\ - ["pump", "npm:3.0.0"],\ - ["tar-stream", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar-stream", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ - "packageDependencies": [\ - ["tar-stream", "npm:2.2.0"],\ - ["bl", "npm:4.1.0"],\ - ["end-of-stream", "npm:1.4.4"],\ - ["fs-constants", "npm:1.0.0"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["test-exclude", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ - "packageDependencies": [\ - ["test-exclude", "npm:6.0.0"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["glob", "npm:7.2.3"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["text-table", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ - "packageDependencies": [\ - ["text-table", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["thread-stream", [\ - ["npm:2.4.1", {\ - "packageLocation": "../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ - "packageDependencies": [\ - ["thread-stream", "npm:2.4.1"],\ - ["real-require", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["through2", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ - "packageDependencies": [\ - ["through2", "npm:3.0.2"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ - "packageDependencies": [\ - ["through2", "npm:4.0.2"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinybench", [\ - ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ - "packageDependencies": [\ - ["tinybench", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinypool", [\ - ["npm:0.8.2", {\ - "packageLocation": "../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ - "packageDependencies": [\ - ["tinypool", "npm:0.8.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinyspy", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ - "packageDependencies": [\ - ["tinyspy", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["to-fast-properties", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ - "packageDependencies": [\ - ["to-fast-properties", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["to-regex-range", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ - "packageDependencies": [\ - ["to-regex-range", "npm:5.0.1"],\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["toad-cache", [\ - ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ - "packageDependencies": [\ - ["toad-cache", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["toidentifier", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ - "packageDependencies": [\ - ["toidentifier", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tr46", [\ - ["npm:0.0.3", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ - "packageDependencies": [\ - ["tr46", "npm:0.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ - "packageDependencies": [\ - ["tr46", "npm:1.0.1"],\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ts-api-utils", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "npm:1.0.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["@types/typescript", null],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ - ["@types/typescript", null],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ts-node", [\ - ["npm:10.9.2", {\ - "packageLocation": "../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ - "packageDependencies": [\ - ["ts-node", "npm:10.9.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2", {\ - "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/2/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ - "packageDependencies": [\ - ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ - ["@cspotcode/source-map-support", "npm:0.8.1"],\ - ["@swc/core", null],\ - ["@swc/wasm", null],\ - ["@tsconfig/node10", "npm:1.0.9"],\ - ["@tsconfig/node12", "npm:1.0.11"],\ - ["@tsconfig/node14", "npm:1.0.3"],\ - ["@tsconfig/node16", "npm:1.0.4"],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/swc__core", null],\ - ["@types/swc__wasm", null],\ - ["@types/typescript", null],\ - ["acorn", "npm:8.11.3"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["arg", "npm:4.1.3"],\ - ["create-require", "npm:1.1.1"],\ - ["diff", "npm:4.0.2"],\ - ["make-error", "npm:1.3.6"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["v8-compile-cache-lib", "npm:3.0.1"],\ - ["yn", "npm:3.1.1"]\ - ],\ - "packagePeers": [\ - "@swc/core",\ - "@swc/wasm",\ - "@types/node",\ - "@types/swc__core",\ - "@types/swc__wasm",\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tslib", [\ - ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ - "packageDependencies": [\ - ["tslib", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tsx", [\ - ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ - "packageDependencies": [\ - ["tsx", "npm:4.7.0"],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["get-tsconfig", "npm:4.7.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tunnel-agent", [\ - ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ - "packageDependencies": [\ - ["tunnel-agent", "npm:0.6.0"],\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-check", [\ - ["npm:0.4.0", {\ - "packageLocation": "../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ - "packageDependencies": [\ - ["type-check", "npm:0.4.0"],\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-detect", [\ - ["npm:4.0.8", {\ - "packageLocation": "../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ - "packageDependencies": [\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-fest", [\ - ["npm:0.20.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.7.1", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:0.7.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.10.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:4.10.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-is", [\ - ["npm:1.6.18", {\ - "packageLocation": "../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ - "packageDependencies": [\ - ["type-is", "npm:1.6.18"],\ - ["media-typer", "npm:0.3.0"],\ - ["mime-types", "npm:2.1.35"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typedarray", [\ - ["npm:0.0.6", {\ - "packageLocation": "../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ - "packageDependencies": [\ - ["typedarray", "npm:0.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript", [\ - ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ - "packageLocation": "../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ - "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript-eslint-language-service", [\ - ["npm:5.0.5", {\ - "packageLocation": "../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ - "packageDependencies": [\ - ["typescript-eslint-language-service", "npm:5.0.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5", {\ - "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/2/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ - "packageDependencies": [\ - ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@types/typescript-eslint__parser", null],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["eslint", "npm:8.56.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript-eslint__parser",\ - "@types/typescript",\ - "@typescript-eslint/parser",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uc.micro", [\ - ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ - "packageDependencies": [\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ufo", [\ - ["npm:1.3.2", {\ - "packageLocation": "../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ - "packageDependencies": [\ - ["ufo", "npm:1.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["umzug", [\ - ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ - "packageDependencies": [\ - ["umzug", "npm:3.6.1"],\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["emittery", "npm:0.13.1"],\ - ["glob", "npm:8.1.0"],\ - ["pony-cause", "npm:2.1.10"],\ - ["type-fest", "npm:4.10.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["underscore", [\ - ["npm:1.13.6", {\ - "packageLocation": "../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ - "packageDependencies": [\ - ["underscore", "npm:1.13.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["undici-types", [\ - ["npm:5.26.5", {\ - "packageLocation": "../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ - "packageDependencies": [\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-filename", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ - "packageDependencies": [\ - ["unique-filename", "npm:1.1.1"],\ - ["unique-slug", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ - "packageDependencies": [\ - ["unique-filename", "npm:3.0.0"],\ - ["unique-slug", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-slug", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ - "packageDependencies": [\ - ["unique-slug", "npm:2.0.2"],\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ - "packageDependencies": [\ - ["unique-slug", "npm:4.0.0"],\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uri-js", [\ - ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ - "packageDependencies": [\ - ["uri-js", "npm:4.4.1"],\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["util-deprecate", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ - "packageDependencies": [\ - ["util-deprecate", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uuid", [\ - ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ - "packageDependencies": [\ - ["uuid", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uuid-parse", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ - "packageDependencies": [\ - ["uuid-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8-compile-cache-lib", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ - "packageDependencies": [\ - ["v8-compile-cache-lib", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8-to-istanbul", [\ - ["npm:9.2.0", {\ - "packageLocation": "../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ - "packageDependencies": [\ - ["v8-to-istanbul", "npm:9.2.0"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vary", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ - "packageDependencies": [\ - ["vary", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vite", [\ - ["npm:5.0.12", {\ - "packageLocation": "../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "npm:5.0.12"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", null],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", "npm:20.11.16"],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vite-node", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ - "packageDependencies": [\ - ["vite-node", "npm:1.2.2"],\ - ["cac", "npm:6.7.14"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vitest", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["@edge-runtime/vm", null],\ - ["@types/edge-runtime__vm", null],\ - ["@types/happy-dom", null],\ - ["@types/jsdom", null],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/vitest__browser", null],\ - ["@types/vitest__ui", null],\ - ["@vitest/browser", null],\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/ui", null],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["cac", "npm:6.7.14"],\ - ["chai", "npm:4.4.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["execa", "npm:8.0.1"],\ - ["happy-dom", null],\ - ["jsdom", null],\ - ["local-pkg", "npm:0.5.0"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["strip-literal", "npm:1.3.0"],\ - ["tinybench", "npm:2.6.0"],\ - ["tinypool", "npm:0.8.2"],\ - ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ - ["vite-node", "npm:1.2.2"],\ - ["why-is-node-running", "npm:2.2.2"]\ - ],\ - "packagePeers": [\ - "@edge-runtime/vm",\ - "@types/edge-runtime__vm",\ - "@types/happy-dom",\ - "@types/jsdom",\ - "@types/node",\ - "@types/vitest__browser",\ - "@types/vitest__ui",\ - "@vitest/browser",\ - "@vitest/ui",\ - "happy-dom",\ - "jsdom"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"],\ - ["@edge-runtime/vm", null],\ - ["@types/edge-runtime__vm", null],\ - ["@types/happy-dom", null],\ - ["@types/jsdom", null],\ - ["@types/node", "npm:20.11.16"],\ - ["@types/vitest__browser", null],\ - ["@types/vitest__ui", null],\ - ["@vitest/browser", null],\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/ui", null],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["cac", "npm:6.7.14"],\ - ["chai", "npm:4.4.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["execa", "npm:8.0.1"],\ - ["happy-dom", null],\ - ["jsdom", null],\ - ["local-pkg", "npm:0.5.0"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["strip-literal", "npm:1.3.0"],\ - ["tinybench", "npm:2.6.0"],\ - ["tinypool", "npm:0.8.2"],\ - ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ - ["vite-node", "npm:1.2.2"],\ - ["why-is-node-running", "npm:2.2.2"]\ - ],\ - "packagePeers": [\ - "@edge-runtime/vm",\ - "@types/edge-runtime__vm",\ - "@types/happy-dom",\ - "@types/jsdom",\ - "@types/node",\ - "@types/vitest__browser",\ - "@types/vitest__ui",\ - "@vitest/browser",\ - "@vitest/ui",\ - "happy-dom",\ - "jsdom"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vue-eslint-parser", [\ - ["npm:9.4.2", {\ - "packageLocation": "../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ - "packageDependencies": [\ - ["vue-eslint-parser", "npm:9.4.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2", {\ - "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/2/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ - "packageDependencies": [\ - ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"],\ - ["@types/eslint", null],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-scope", "npm:7.2.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"],\ - ["espree", "npm:9.6.1"],\ - ["esquery", "npm:1.5.0"],\ - ["lodash", "npm:4.17.21"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["webidl-conversions", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ - "packageDependencies": [\ - ["webidl-conversions", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ - "packageDependencies": [\ - ["webidl-conversions", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["whatwg-url", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ - "packageDependencies": [\ - ["whatwg-url", "npm:5.0.0"],\ - ["tr46", "npm:0.0.3"],\ - ["webidl-conversions", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ - "packageDependencies": [\ - ["whatwg-url", "npm:7.1.0"],\ - ["lodash.sortby", "npm:4.7.0"],\ - ["tr46", "npm:1.0.1"],\ - ["webidl-conversions", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:2.0.2"],\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:4.0.0"],\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["why-is-node-running", [\ - ["npm:2.2.2", {\ - "packageLocation": "../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ - "packageDependencies": [\ - ["why-is-node-running", "npm:2.2.2"],\ - ["siginfo", "npm:2.0.0"],\ - ["stackback", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wide-align", [\ - ["npm:1.1.5", {\ - "packageLocation": "../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ - "packageDependencies": [\ - ["wide-align", "npm:1.1.5"],\ - ["string-width", "npm:4.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrap-ansi", [\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:7.0.0"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:8.1.0"],\ - ["ansi-styles", "npm:6.2.1"],\ - ["string-width", "npm:5.1.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrappy", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ - "packageDependencies": [\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["xmlcreate", [\ - ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ - "packageDependencies": [\ - ["xmlcreate", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["xtend", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ - "packageDependencies": [\ - ["xtend", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yallist", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ - "packageDependencies": [\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yn", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ - "packageDependencies": [\ - ["yn", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yocto-queue", [\ - ["npm:0.1.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["zod", [\ - ["npm:3.22.4", {\ - "packageLocation": "../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ - "packageDependencies": [\ - ["zod", "npm:3.22.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]]\ - ]\ -}'; - -function $$SETUP_STATE(hydrateRuntimeState, basePath) { - return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); -} - -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const os = require('os'); -const events = require('events'); -const nodeUtils = require('util'); -const stream = require('stream'); -const zlib = require('zlib'); -const require$$0 = require('module'); -const StringDecoder = require('string_decoder'); -const url = require('url'); -const buffer = require('buffer'); -const readline = require('readline'); -const assert = require('assert'); - -const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - -function _interopNamespace(e) { - if (e && e.__esModule) return e; - const n = Object.create(null); - if (e) { - for (const k in e) { - if (k !== 'default') { - const d = Object.getOwnPropertyDescriptor(e, k); - Object.defineProperty(n, k, d.get ? d : { - enumerable: true, - get: () => e[k] - }); - } - } - } - n.default = e; - return Object.freeze(n); -} - -const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); -const path__default = /*#__PURE__*/_interopDefaultLegacy(path); -const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); -const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); -const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); -const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); -const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); -const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); - -const S_IFMT = 61440; -const S_IFDIR = 16384; -const S_IFREG = 32768; -const S_IFLNK = 40960; -const SAFE_TIME = 456789e3; - -function makeError$1(code, message) { - return Object.assign(new Error(`${code}: ${message}`), { code }); -} -function EBUSY(message) { - return makeError$1(`EBUSY`, message); -} -function ENOSYS(message, reason) { - return makeError$1(`ENOSYS`, `${message}, ${reason}`); -} -function EINVAL(reason) { - return makeError$1(`EINVAL`, `invalid argument, ${reason}`); -} -function EBADF(reason) { - return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); -} -function ENOENT(reason) { - return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); -} -function ENOTDIR(reason) { - return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); -} -function EISDIR(reason) { - return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); -} -function EEXIST(reason) { - return makeError$1(`EEXIST`, `file already exists, ${reason}`); -} -function EROFS(reason) { - return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); -} -function ENOTEMPTY(reason) { - return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); -} -function EOPNOTSUPP(reason) { - return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); -} -function ERR_DIR_CLOSED() { - return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); -} - -const DEFAULT_MODE = S_IFREG | 420; -class StatEntry { - constructor() { - this.uid = 0; - this.gid = 0; - this.size = 0; - this.blksize = 0; - this.atimeMs = 0; - this.mtimeMs = 0; - this.ctimeMs = 0; - this.birthtimeMs = 0; - this.atime = new Date(0); - this.mtime = new Date(0); - this.ctime = new Date(0); - this.birthtime = new Date(0); - this.dev = 0; - this.ino = 0; - this.mode = DEFAULT_MODE; - this.nlink = 1; - this.rdev = 0; - this.blocks = 1; - } - isBlockDevice() { - return false; - } - isCharacterDevice() { - return false; - } - isDirectory() { - return (this.mode & S_IFMT) === S_IFDIR; - } - isFIFO() { - return false; - } - isFile() { - return (this.mode & S_IFMT) === S_IFREG; - } - isSocket() { - return false; - } - isSymbolicLink() { - return (this.mode & S_IFMT) === S_IFLNK; - } -} -class BigIntStatsEntry { - constructor() { - this.uid = BigInt(0); - this.gid = BigInt(0); - this.size = BigInt(0); - this.blksize = BigInt(0); - this.atimeMs = BigInt(0); - this.mtimeMs = BigInt(0); - this.ctimeMs = BigInt(0); - this.birthtimeMs = BigInt(0); - this.atimeNs = BigInt(0); - this.mtimeNs = BigInt(0); - this.ctimeNs = BigInt(0); - this.birthtimeNs = BigInt(0); - this.atime = new Date(0); - this.mtime = new Date(0); - this.ctime = new Date(0); - this.birthtime = new Date(0); - this.dev = BigInt(0); - this.ino = BigInt(0); - this.mode = BigInt(DEFAULT_MODE); - this.nlink = BigInt(1); - this.rdev = BigInt(0); - this.blocks = BigInt(1); - } - isBlockDevice() { - return false; - } - isCharacterDevice() { - return false; - } - isDirectory() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); - } - isFIFO() { - return false; - } - isFile() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); - } - isSocket() { - return false; - } - isSymbolicLink() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); - } -} -function makeDefaultStats() { - return new StatEntry(); -} -function clearStats(stats) { - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - stats[key] = 0; - } else if (typeof element === `bigint`) { - stats[key] = BigInt(0); - } else if (nodeUtils__namespace.types.isDate(element)) { - stats[key] = new Date(0); - } - } - } - return stats; -} -function convertToBigIntStats(stats) { - const bigintStats = new BigIntStatsEntry(); - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - bigintStats[key] = BigInt(element); - } else if (nodeUtils__namespace.types.isDate(element)) { - bigintStats[key] = new Date(element); - } - } - } - bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); - bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); - bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); - bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); - return bigintStats; -} -function areStatsEqual(a, b) { - if (a.atimeMs !== b.atimeMs) - return false; - if (a.birthtimeMs !== b.birthtimeMs) - return false; - if (a.blksize !== b.blksize) - return false; - if (a.blocks !== b.blocks) - return false; - if (a.ctimeMs !== b.ctimeMs) - return false; - if (a.dev !== b.dev) - return false; - if (a.gid !== b.gid) - return false; - if (a.ino !== b.ino) - return false; - if (a.isBlockDevice() !== b.isBlockDevice()) - return false; - if (a.isCharacterDevice() !== b.isCharacterDevice()) - return false; - if (a.isDirectory() !== b.isDirectory()) - return false; - if (a.isFIFO() !== b.isFIFO()) - return false; - if (a.isFile() !== b.isFile()) - return false; - if (a.isSocket() !== b.isSocket()) - return false; - if (a.isSymbolicLink() !== b.isSymbolicLink()) - return false; - if (a.mode !== b.mode) - return false; - if (a.mtimeMs !== b.mtimeMs) - return false; - if (a.nlink !== b.nlink) - return false; - if (a.rdev !== b.rdev) - return false; - if (a.size !== b.size) - return false; - if (a.uid !== b.uid) - return false; - const aN = a; - const bN = b; - if (aN.atimeNs !== bN.atimeNs) - return false; - if (aN.mtimeNs !== bN.mtimeNs) - return false; - if (aN.ctimeNs !== bN.ctimeNs) - return false; - if (aN.birthtimeNs !== bN.birthtimeNs) - return false; - return true; -} - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const Filename = { - home: `~`, - nodeModules: `node_modules`, - manifest: `package.json`, - lockfile: `yarn.lock`, - virtual: `__virtual__`, - pnpJs: `.pnp.js`, - pnpCjs: `.pnp.cjs`, - pnpData: `.pnp.data.json`, - pnpEsmLoader: `.pnp.loader.mjs`, - rc: `.yarnrc.yml`, - env: `.env` -}; -const npath = Object.create(path__default.default); -const ppath = Object.create(path__default.default.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path__default.default.posix.resolve(...segments); - } else { - return path__default.default.posix.resolve(ppath.cwd(), ...segments); - } - }; -} -const contains = function(pathUtils, from, to) { - from = pathUtils.normalize(from); - to = pathUtils.normalize(to); - if (from === to) - return `.`; - if (!from.endsWith(pathUtils.sep)) - from = from + pathUtils.sep; - if (to.startsWith(from)) { - return to.slice(from.length); - } else { - return null; - } -}; -npath.contains = (from, to) => contains(npath, from, to); -ppath.contains = (from, to) => contains(ppath, from, to); -const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; -const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; -const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; -const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; -function fromPortablePathWin32(p) { - let portablePathMatch, uncPortablePathMatch; - if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) - p = portablePathMatch[1]; - else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) - p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; - else - return p; - return p.replace(/\//g, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - let windowsPathMatch, uncWindowsPathMatch; - if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) - p = `/${windowsPathMatch[1]}`; - else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) - p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; - return p; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -async function copyPromise(destinationFs, destination, sourceFs, source, opts) { - const normalizedDestination = destinationFs.pathUtils.normalize(destination); - const normalizedSource = sourceFs.pathUtils.normalize(source); - const prelayout = []; - const postlayout = []; - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null && !destinationStat.isDirectory()) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - let updated = false; - if (destinationStat === null) { - prelayout.push(async () => { - try { - await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); - } catch (err) { - if (err.code !== `EEXIST`) { - throw err; - } - } - }); - updated = true; - } - const entries = await sourceFs.readdirPromise(source); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); - }); - return true; -} - -class CustomDir { - constructor(path, nextDirent, opts = {}) { - this.path = path; - this.nextDirent = nextDirent; - this.opts = opts; - this.closed = false; - } - throwIfClosed() { - if (this.closed) { - throw ERR_DIR_CLOSED(); - } - } - async *[Symbol.asyncIterator]() { - try { - let dirent; - while ((dirent = await this.read()) !== null) { - yield dirent; - } - } finally { - await this.close(); - } - } - read(cb) { - const dirent = this.readSync(); - if (typeof cb !== `undefined`) - return cb(null, dirent); - return Promise.resolve(dirent); - } - readSync() { - this.throwIfClosed(); - return this.nextDirent(); - } - close(cb) { - this.closeSync(); - if (typeof cb !== `undefined`) - return cb(null); - return Promise.resolve(); - } - closeSync() { - this.throwIfClosed(); - this.opts.onClose?.(); - this.closed = true; - } -} -function opendir(fakeFs, path, entries, opts) { - const nextDirent = () => { - const filename = entries.shift(); - if (typeof filename === `undefined`) - return null; - const entryPath = fakeFs.pathUtils.join(path, filename); - return Object.assign(fakeFs.statSync(entryPath), { - name: filename, - path: void 0 - }); - }; - return new CustomDir(path, nextDirent, opts); -} - -function assertStatus(current, expected) { - if (current !== expected) { - throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); - } -} -class CustomStatWatcher extends events.EventEmitter { - constructor(fakeFs, path, { bigint = false } = {}) { - super(); - this.status = "ready" /* Ready */; - this.changeListeners = /* @__PURE__ */ new Map(); - this.startTimeout = null; - this.fakeFs = fakeFs; - this.path = path; - this.bigint = bigint; - this.lastStats = this.stat(); - } - static create(fakeFs, path, opts) { - const statWatcher = new CustomStatWatcher(fakeFs, path, opts); - statWatcher.start(); - return statWatcher; - } - start() { - assertStatus(this.status, "ready" /* Ready */); - this.status = "running" /* Running */; - this.startTimeout = setTimeout(() => { - this.startTimeout = null; - if (!this.fakeFs.existsSync(this.path)) { - this.emit("change" /* Change */, this.lastStats, this.lastStats); - } - }, 3); - } - stop() { - assertStatus(this.status, "running" /* Running */); - this.status = "stopped" /* Stopped */; - if (this.startTimeout !== null) { - clearTimeout(this.startTimeout); - this.startTimeout = null; - } - this.emit("stop" /* Stop */); - } - stat() { - try { - return this.fakeFs.statSync(this.path, { bigint: this.bigint }); - } catch (error) { - const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); - return clearStats(statInstance); - } - } - makeInterval(opts) { - const interval = setInterval(() => { - const currentStats = this.stat(); - const previousStats = this.lastStats; - if (areStatsEqual(currentStats, previousStats)) - return; - this.lastStats = currentStats; - this.emit("change" /* Change */, currentStats, previousStats); - }, opts.interval); - return opts.persistent ? interval : interval.unref(); - } - registerChangeListener(listener, opts) { - this.addListener("change" /* Change */, listener); - this.changeListeners.set(listener, this.makeInterval(opts)); - } - unregisterChangeListener(listener) { - this.removeListener("change" /* Change */, listener); - const interval = this.changeListeners.get(listener); - if (typeof interval !== `undefined`) - clearInterval(interval); - this.changeListeners.delete(listener); - } - unregisterAllChangeListeners() { - for (const listener of this.changeListeners.keys()) { - this.unregisterChangeListener(listener); - } - } - hasChangeListeners() { - return this.changeListeners.size > 0; - } - ref() { - for (const interval of this.changeListeners.values()) - interval.ref(); - return this; - } - unref() { - for (const interval of this.changeListeners.values()) - interval.unref(); - return this; - } -} - -const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); -function watchFile(fakeFs, path, a, b) { - let bigint; - let persistent; - let interval; - let listener; - switch (typeof a) { - case `function`: - { - bigint = false; - persistent = true; - interval = 5007; - listener = a; - } - break; - default: - { - ({ - bigint = false, - persistent = true, - interval = 5007 - } = a); - listener = b; - } - break; - } - let statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); - let statWatcher = statWatchers.get(path); - if (typeof statWatcher === `undefined`) { - statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); - statWatchers.set(path, statWatcher); - } - statWatcher.registerChangeListener(listener, { persistent, interval }); - return statWatcher; -} -function unwatchFile(fakeFs, path, cb) { - const statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - return; - const statWatcher = statWatchers.get(path); - if (typeof statWatcher === `undefined`) - return; - if (typeof cb === `undefined`) - statWatcher.unregisterAllChangeListeners(); - else - statWatcher.unregisterChangeListener(cb); - if (!statWatcher.hasChangeListeners()) { - statWatcher.stop(); - statWatchers.delete(path); - } -} -function unwatchAllFiles(fakeFs) { - const statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - return; - for (const path of statWatchers.keys()) { - unwatchFile(fakeFs, path); - } -} - -class FakeFS { - constructor(pathUtils) { - this.pathUtils = pathUtils; - } - async *genTraversePromise(init, { stableSort = false } = {}) { - const stack = [init]; - while (stack.length > 0) { - const p = stack.shift(); - const entry = await this.lstatPromise(p); - if (entry.isDirectory()) { - const entries = await this.readdirPromise(p); - if (stableSort) { - for (const entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = crypto.createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { - let stat; - try { - stat = await this.lstatPromise(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) { - const entries = await this.readdirPromise(p); - await Promise.all(entries.map((entry) => { - return this.removePromise(this.pathUtils.resolve(p, entry)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } else { - await this.unlinkPromise(p); - } - } - removeSync(p, { recursive = true } = {}) { - let stat; - try { - stat = this.lstatSync(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) - for (const entry of this.readdirSync(p)) - this.removeSync(this.pathUtils.resolve(p, entry)); - this.rmdirSync(p); - } else { - this.unlinkSync(p); - } - } - async mkdirpPromise(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - await this.mkdirPromise(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - await this.chmodPromise(subPath, chmod); - if (utimes != null) { - await this.utimesPromise(subPath, utimes[0], utimes[1]); - } else { - const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); - await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - this.mkdirSync(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - this.chmodSync(subPath, chmod); - if (utimes != null) { - this.utimesSync(subPath, utimes[0], utimes[1]); - } else { - const parentStat = this.statSync(this.pathUtils.dirname(subPath)); - this.utimesSync(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { - return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); - } - copySync(destination, source, { baseFs = this, overwrite = true } = {}) { - const stat = baseFs.lstatSync(source); - const exists = this.existsSync(destination); - if (stat.isDirectory()) { - this.mkdirpSync(destination); - const directoryListing = baseFs.readdirSync(source); - for (const entry of directoryListing) { - this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); - } - } else if (stat.isFile()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const content = baseFs.readFileSync(source); - this.writeFileSync(destination, content); - } - } else if (stat.isSymbolicLink()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const target = baseFs.readlinkSync(source); - this.symlinkSync(convertPath(this.pathUtils, target), destination); - } - } else { - throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); - } - const mode = stat.mode & 511; - this.chmodSync(destination, mode); - } - async changeFilePromise(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferPromise(p, content, opts); - } else { - return this.changeFileTextPromise(p, content, opts); - } - } - async changeFileBufferPromise(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = await this.readFilePromise(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - await this.writeFilePromise(p, content, { mode }); - } - async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { - let current = ``; - try { - current = await this.readFilePromise(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - await this.writeFilePromise(p, normalizedContent, { mode }); - } - changeFileSync(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferSync(p, content, opts); - } else { - return this.changeFileTextSync(p, content, opts); - } - } - changeFileBufferSync(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = this.readFileSync(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - this.writeFileSync(p, content, { mode }); - } - changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { - let current = ``; - try { - current = this.readFileSync(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - this.writeFileSync(p, normalizedContent, { mode }); - } - async movePromise(fromP, toP) { - try { - await this.renamePromise(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - await this.copyPromise(toP, fromP); - await this.removePromise(fromP); - } else { - throw error; - } - } - } - moveSync(fromP, toP) { - try { - this.renameSync(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - this.copySync(toP, fromP); - this.removeSync(fromP); - } else { - throw error; - } - } - } - async lockPromise(affectedPath, callback) { - const lockPath = `${affectedPath}.flock`; - const interval = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - process.kill(pid, 0); - return true; - } catch (error) { - return false; - } - }; - while (fd === null) { - try { - fd = await this.openPromise(lockPath, `wx`); - } catch (error) { - if (error.code === `EEXIST`) { - if (!await isAlive()) { - try { - await this.unlinkPromise(lockPath); - continue; - } catch (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - await new Promise((resolve) => setTimeout(resolve, interval)); - } else { - throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); - } - } else { - throw error; - } - } - } - await this.writePromise(fd, JSON.stringify([process.pid])); - try { - return await callback(); - } finally { - try { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - async readJsonPromise(p) { - const content = await this.readFilePromise(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - readJsonSync(p) { - const content = this.readFileSync(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - async writeJsonPromise(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(p, stat.atime, stat.mtime); - } -} -class BasePortableFakeFS extends FakeFS { - constructor() { - super(ppath); - } -} -function getEndOfLine(content) { - const matches = content.match(/\r?\n/g); - if (matches === null) - return os.EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -class ProxiedFS extends FakeFS { - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - resolve(path) { - return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); - } - getRealPath() { - return this.mapFromBase(this.baseFs.getRealPath()); - } - async openPromise(p, flags, mode) { - return this.baseFs.openPromise(this.mapToBase(p), flags, mode); - } - openSync(p, flags, mode) { - return this.baseFs.openSync(this.mapToBase(p), flags, mode); - } - async opendirPromise(p, opts) { - return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); - } - opendirSync(p, opts) { - return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); - } - async readPromise(fd, buffer, offset, length, position) { - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - return this.baseFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - return this.baseFs.closePromise(fd); - } - closeSync(fd) { - this.baseFs.closeSync(fd); - } - createReadStream(p, opts) { - return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); - } - createWriteStream(p, opts) { - return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); - } - async realpathPromise(p) { - return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); - } - realpathSync(p) { - return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); - } - async existsPromise(p) { - return this.baseFs.existsPromise(this.mapToBase(p)); - } - existsSync(p) { - return this.baseFs.existsSync(this.mapToBase(p)); - } - accessSync(p, mode) { - return this.baseFs.accessSync(this.mapToBase(p), mode); - } - async accessPromise(p, mode) { - return this.baseFs.accessPromise(this.mapToBase(p), mode); - } - async statPromise(p, opts) { - return this.baseFs.statPromise(this.mapToBase(p), opts); - } - statSync(p, opts) { - return this.baseFs.statSync(this.mapToBase(p), opts); - } - async fstatPromise(fd, opts) { - return this.baseFs.fstatPromise(fd, opts); - } - fstatSync(fd, opts) { - return this.baseFs.fstatSync(fd, opts); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); - } - chownSync(p, uid, gid) { - return this.baseFs.chownSync(this.mapToBase(p), uid, gid); - } - async renamePromise(oldP, newP) { - return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); - } - renameSync(oldP, newP) { - return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - async appendFilePromise(p, content, opts) { - return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); - } - appendFileSync(p, content, opts) { - return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); - } - async writeFilePromise(p, content, opts) { - return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); - } - writeFileSync(p, content, opts) { - return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); - } - async unlinkPromise(p) { - return this.baseFs.unlinkPromise(this.mapToBase(p)); - } - unlinkSync(p) { - return this.baseFs.unlinkSync(this.mapToBase(p)); - } - async utimesPromise(p, atime, mtime) { - return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); - } - utimesSync(p, atime, mtime) { - return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return this.baseFs.mkdirPromise(this.mapToBase(p), opts); - } - mkdirSync(p, opts) { - return this.baseFs.mkdirSync(this.mapToBase(p), opts); - } - async rmdirPromise(p, opts) { - return this.baseFs.rmdirPromise(this.mapToBase(p), opts); - } - rmdirSync(p, opts) { - return this.baseFs.rmdirSync(this.mapToBase(p), opts); - } - async linkPromise(existingP, newP) { - return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); - } - linkSync(existingP, newP) { - return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); - } - async symlinkPromise(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); - } - symlinkSync(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkSync(mappedTarget, mappedP, type); - } - async readFilePromise(p, encoding) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - readdirPromise(p, opts) { - return this.baseFs.readdirPromise(this.mapToBase(p), opts); - } - readdirSync(p, opts) { - return this.baseFs.readdirSync(this.mapToBase(p), opts); - } - async readlinkPromise(p) { - return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); - } - readlinkSync(p) { - return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); - } - async truncatePromise(p, len) { - return this.baseFs.truncatePromise(this.mapToBase(p), len); - } - truncateSync(p, len) { - return this.baseFs.truncateSync(this.mapToBase(p), len); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.baseFs.watch( - this.mapToBase(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.baseFs.watchFile( - this.mapToBase(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.baseFs.unwatchFile(this.mapToBase(p), cb); - } - fsMapToBase(p) { - if (typeof p === `number`) { - return p; - } else { - return this.mapToBase(p); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - constructor(realFs = fs__default.default) { - super(); - this.realFs = realFs; - } - getExtractHint() { - return false; - } - getRealPath() { - return PortablePath.root; - } - resolve(p) { - return ppath.resolve(p); - } - async openPromise(p, flags, mode) { - return await new Promise((resolve, reject) => { - this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); - }); - } - openSync(p, flags, mode) { - return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); - } - async opendirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (typeof opts !== `undefined`) { - this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }).then((dir) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { - return await new Promise((resolve, reject) => { - this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { - if (error) { - reject(error); - } else { - resolve(bytesRead); - } - }); - }); - } - readSync(fd, buffer, offset, length, position) { - return this.realFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - return await new Promise((resolve, reject) => { - if (typeof buffer === `string`) { - return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); - } else { - return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); - } - }); - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.realFs.writeSync(fd, buffer, offset); - } else { - return this.realFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - await new Promise((resolve, reject) => { - this.realFs.close(fd, this.makeCallback(resolve, reject)); - }); - } - closeSync(fd) { - this.realFs.closeSync(fd); - } - createReadStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createReadStream(realPath, opts); - } - createWriteStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createWriteStream(realPath, opts); - } - async realpathPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - realpathSync(p) { - return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); - } - async existsPromise(p) { - return await new Promise((resolve) => { - this.realFs.exists(npath.fromPortablePath(p), resolve); - }); - } - accessSync(p, mode) { - return this.realFs.accessSync(npath.fromPortablePath(p), mode); - } - async accessPromise(p, mode) { - return await new Promise((resolve, reject) => { - this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); - }); - } - existsSync(p) { - return this.realFs.existsSync(npath.fromPortablePath(p)); - } - async statPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - statSync(p, opts) { - if (opts) { - return this.realFs.statSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.statSync(npath.fromPortablePath(p)); - } - } - async fstatPromise(fd, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - lstatSync(p, opts) { - if (opts) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return await new Promise((resolve, reject) => { - this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); - }); - } - chmodSync(p, mask) { - return this.realFs.chmodSync(npath.fromPortablePath(p), mask); - } - async fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); - }); - } - chownSync(p, uid, gid) { - return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); - } - async renamePromise(oldP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - renameSync(oldP, newP) { - return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return await new Promise((resolve, reject) => { - this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); - } - async appendFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - appendFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFileSync(fsNativePath, content, opts); - } else { - this.realFs.appendFileSync(fsNativePath, content); - } - } - async writeFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - writeFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFileSync(fsNativePath, content, opts); - } else { - this.realFs.writeFileSync(fsNativePath, content); - } - } - async unlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - unlinkSync(p) { - return this.realFs.unlinkSync(npath.fromPortablePath(p)); - } - async utimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - utimesSync(p, atime, mtime) { - this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - }); - } - mkdirSync(p, opts) { - return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); - } - async rmdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmdirSync(p, opts) { - return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); - } - async linkPromise(existingP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - linkSync(existingP, newP) { - return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); - } - async symlinkPromise(target, p, type) { - return await new Promise((resolve, reject) => { - this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); - }); - } - symlinkSync(target, p, type) { - return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); - } - async readFilePromise(p, encoding) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); - }); - } - readFileSync(p, encoding) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - return this.realFs.readFileSync(fsNativePath, encoding); - } - async readdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p)); - } - } - async readlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - readlinkSync(p) { - return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); - } - async truncatePromise(p, len) { - return await new Promise((resolve, reject) => { - this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); - }); - } - truncateSync(p, len) { - return this.realFs.truncateSync(npath.fromPortablePath(p), len); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.realFs.watch( - npath.fromPortablePath(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.realFs.watchFile( - npath.fromPortablePath(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); - } - makeCallback(resolve, reject) { - return (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }; - } -} - -const MOUNT_MASK = 4278190080; -class MountFS extends BasePortableFakeFS { - constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { - if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) - throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); - super(); - this.fdMap = /* @__PURE__ */ new Map(); - this.nextFd = 3; - this.isMount = /* @__PURE__ */ new Set(); - this.notMount = /* @__PURE__ */ new Set(); - this.realPaths = /* @__PURE__ */ new Map(); - this.limitOpenFilesTimeout = null; - this.baseFs = baseFs; - this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; - this.factoryPromise = factoryPromise; - this.factorySync = factorySync; - this.filter = filter; - this.getMountPoint = getMountPoint; - this.magic = magicByte << 24; - this.maxAge = maxAge; - this.maxOpenFiles = maxOpenFiles; - this.typeCheck = typeCheck; - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - saveAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - } - } - } - discardAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.discardAndClose?.(); - this.mountInstances.delete(path); - } - } - } - resolve(p) { - return this.baseFs.resolve(p); - } - remapFd(mountFs, fd) { - const remappedFd = this.nextFd++ | this.magic; - this.fdMap.set(remappedFd, [mountFs, fd]); - return remappedFd; - } - async openPromise(p, flags, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.openPromise(p, flags, mode); - }, async (mountFs, { subPath }) => { - return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); - }); - } - openSync(p, flags, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.openSync(p, flags, mode); - }, (mountFs, { subPath }) => { - return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); - }); - } - async opendirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.opendirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.opendirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - opendirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.opendirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.opendirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readPromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - const [mountFs, realFd] = entry; - return await mountFs.readPromise(realFd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.readSync(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`readSync`); - const [mountFs, realFd] = entry; - return mountFs.readSync(realFd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`write`); - const [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return await mountFs.writePromise(realFd, buffer, offset); - } else { - return await mountFs.writePromise(realFd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`writeSync`); - const [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return mountFs.writeSync(realFd, buffer, offset); - } else { - return mountFs.writeSync(realFd, buffer, offset, length, position); - } - } - async closePromise(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.closePromise(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`close`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return await mountFs.closePromise(realFd); - } - closeSync(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.closeSync(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`closeSync`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return mountFs.closeSync(realFd); - } - createReadStream(p, opts) { - if (p === null) - return this.baseFs.createReadStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createReadStream(p, opts); - }, (mountFs, { archivePath, subPath }) => { - const stream = mountFs.createReadStream(subPath, opts); - stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); - return stream; - }); - } - createWriteStream(p, opts) { - if (p === null) - return this.baseFs.createWriteStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createWriteStream(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.createWriteStream(subPath, opts); - }); - } - async realpathPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.realpathPromise(p); - }, async (mountFs, { archivePath, subPath }) => { - let realArchivePath = this.realPaths.get(archivePath); - if (typeof realArchivePath === `undefined`) { - realArchivePath = await this.baseFs.realpathPromise(archivePath); - this.realPaths.set(archivePath, realArchivePath); - } - return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await mountFs.realpathPromise(subPath))); - }); - } - realpathSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.realpathSync(p); - }, (mountFs, { archivePath, subPath }) => { - let realArchivePath = this.realPaths.get(archivePath); - if (typeof realArchivePath === `undefined`) { - realArchivePath = this.baseFs.realpathSync(archivePath); - this.realPaths.set(archivePath, realArchivePath); - } - return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, mountFs.realpathSync(subPath))); - }); - } - async existsPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.existsPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.existsPromise(subPath); - }); - } - existsSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.existsSync(p); - }, (mountFs, { subPath }) => { - return mountFs.existsSync(subPath); - }); - } - async accessPromise(p, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.accessPromise(p, mode); - }, async (mountFs, { subPath }) => { - return await mountFs.accessPromise(subPath, mode); - }); - } - accessSync(p, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.accessSync(p, mode); - }, (mountFs, { subPath }) => { - return mountFs.accessSync(subPath, mode); - }); - } - async statPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.statPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.statPromise(subPath, opts); - }); - } - statSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.statSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.statSync(subPath, opts); - }); - } - async fstatPromise(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatPromise(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstat`); - const [mountFs, realFd] = entry; - return mountFs.fstatPromise(realFd, opts); - } - fstatSync(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatSync(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstatSync`); - const [mountFs, realFd] = entry; - return mountFs.fstatSync(realFd, opts); - } - async lstatPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lstatPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.lstatPromise(subPath, opts); - }); - } - lstatSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.lstatSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.lstatSync(subPath, opts); - }); - } - async fchmodPromise(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodPromise(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmod`); - const [mountFs, realFd] = entry; - return mountFs.fchmodPromise(realFd, mask); - } - fchmodSync(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodSync(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmodSync`); - const [mountFs, realFd] = entry; - return mountFs.fchmodSync(realFd, mask); - } - async chmodPromise(p, mask) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chmodPromise(p, mask); - }, async (mountFs, { subPath }) => { - return await mountFs.chmodPromise(subPath, mask); - }); - } - chmodSync(p, mask) { - return this.makeCallSync(p, () => { - return this.baseFs.chmodSync(p, mask); - }, (mountFs, { subPath }) => { - return mountFs.chmodSync(subPath, mask); - }); - } - async fchownPromise(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownPromise(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchown`); - const [zipFs, realFd] = entry; - return zipFs.fchownPromise(realFd, uid, gid); - } - fchownSync(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownSync(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchownSync`); - const [zipFs, realFd] = entry; - return zipFs.fchownSync(realFd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chownPromise(p, uid, gid); - }, async (mountFs, { subPath }) => { - return await mountFs.chownPromise(subPath, uid, gid); - }); - } - chownSync(p, uid, gid) { - return this.makeCallSync(p, () => { - return this.baseFs.chownSync(p, uid, gid); - }, (mountFs, { subPath }) => { - return mountFs.chownSync(subPath, uid, gid); - }); - } - async renamePromise(oldP, newP) { - return await this.makeCallPromise(oldP, async () => { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.renamePromise(oldP, newP); - }, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }); - }, async (mountFsO, { subPath: subPathO }) => { - return await this.makeCallPromise(newP, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, async (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return await mountFsO.renamePromise(subPathO, subPathN); - } - }); - }); - } - renameSync(oldP, newP) { - return this.makeCallSync(oldP, () => { - return this.makeCallSync(newP, () => { - return this.baseFs.renameSync(oldP, newP); - }, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }); - }, (mountFsO, { subPath: subPathO }) => { - return this.makeCallSync(newP, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return mountFsO.renameSync(subPathO, subPathN); - } - }); - }); - } - async copyFilePromise(sourceP, destP, flags = 0) { - const fallback = async (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = await sourceFs.readFilePromise(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - await destFs.writeFilePromise(destP2, content); - }; - return await this.makeCallPromise(sourceP, async () => { - return await this.makeCallPromise(destP, async () => { - return await this.baseFs.copyFilePromise(sourceP, destP, flags); - }, async (mountFsD, { subPath: subPathD }) => { - return await fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, async (mountFsS, { subPath: subPathS }) => { - return await this.makeCallPromise(destP, async () => { - return await fallback(mountFsS, subPathS, this.baseFs, destP); - }, async (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return await fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return await mountFsS.copyFilePromise(subPathS, subPathD, flags); - } - }); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - const fallback = (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = sourceFs.readFileSync(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - destFs.writeFileSync(destP2, content); - }; - return this.makeCallSync(sourceP, () => { - return this.makeCallSync(destP, () => { - return this.baseFs.copyFileSync(sourceP, destP, flags); - }, (mountFsD, { subPath: subPathD }) => { - return fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, (mountFsS, { subPath: subPathS }) => { - return this.makeCallSync(destP, () => { - return fallback(mountFsS, subPathS, this.baseFs, destP); - }, (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return mountFsS.copyFileSync(subPathS, subPathD, flags); - } - }); - }); - } - async appendFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.appendFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.appendFilePromise(subPath, content, opts); - }); - } - appendFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.appendFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.appendFileSync(subPath, content, opts); - }); - } - async writeFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.writeFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.writeFilePromise(subPath, content, opts); - }); - } - writeFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.writeFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.writeFileSync(subPath, content, opts); - }); - } - async unlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.unlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.unlinkPromise(subPath); - }); - } - unlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.unlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.unlinkSync(subPath); - }); - } - async utimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.utimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.utimesPromise(subPath, atime, mtime); - }); - } - utimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.utimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.utimesSync(subPath, atime, mtime); - }); - } - async lutimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lutimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.lutimesPromise(subPath, atime, mtime); - }); - } - lutimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.lutimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.lutimesSync(subPath, atime, mtime); - }); - } - async mkdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.mkdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.mkdirPromise(subPath, opts); - }); - } - mkdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.mkdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.mkdirSync(subPath, opts); - }); - } - async rmdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.rmdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.rmdirPromise(subPath, opts); - }); - } - rmdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.rmdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.rmdirSync(subPath, opts); - }); - } - async linkPromise(existingP, newP) { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.linkPromise(existingP, newP); - }, async (mountFs, { subPath }) => { - return await mountFs.linkPromise(existingP, subPath); - }); - } - linkSync(existingP, newP) { - return this.makeCallSync(newP, () => { - return this.baseFs.linkSync(existingP, newP); - }, (mountFs, { subPath }) => { - return mountFs.linkSync(existingP, subPath); - }); - } - async symlinkPromise(target, p, type) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.symlinkPromise(target, p, type); - }, async (mountFs, { subPath }) => { - return await mountFs.symlinkPromise(target, subPath); - }); - } - symlinkSync(target, p, type) { - return this.makeCallSync(p, () => { - return this.baseFs.symlinkSync(target, p, type); - }, (mountFs, { subPath }) => { - return mountFs.symlinkSync(target, subPath); - }); - } - async readFilePromise(p, encoding) { - return this.makeCallPromise(p, async () => { - return await this.baseFs.readFilePromise(p, encoding); - }, async (mountFs, { subPath }) => { - return await mountFs.readFilePromise(subPath, encoding); - }); - } - readFileSync(p, encoding) { - return this.makeCallSync(p, () => { - return this.baseFs.readFileSync(p, encoding); - }, (mountFs, { subPath }) => { - return mountFs.readFileSync(subPath, encoding); - }); - } - async readdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.readdirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - readdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.readdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.readdirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.readlinkPromise(subPath); - }); - } - readlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.readlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.readlinkSync(subPath); - }); - } - async truncatePromise(p, len) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.truncatePromise(p, len); - }, async (mountFs, { subPath }) => { - return await mountFs.truncatePromise(subPath, len); - }); - } - truncateSync(p, len) { - return this.makeCallSync(p, () => { - return this.baseFs.truncateSync(p, len); - }, (mountFs, { subPath }) => { - return mountFs.truncateSync(subPath, len); - }); - } - async ftruncatePromise(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncatePromise(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncate`); - const [mountFs, realFd] = entry; - return mountFs.ftruncatePromise(realFd, len); - } - ftruncateSync(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncateSync(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncateSync`); - const [mountFs, realFd] = entry; - return mountFs.ftruncateSync(realFd, len); - } - watch(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watch( - p, - a, - b - ); - }, (mountFs, { subPath }) => { - return mountFs.watch( - subPath, - a, - b - ); - }); - } - watchFile(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watchFile( - p, - a, - b - ); - }, () => { - return watchFile(this, p, a, b); - }); - } - unwatchFile(p, cb) { - return this.makeCallSync(p, () => { - return this.baseFs.unwatchFile(p, cb); - }, () => { - return unwatchFile(this, p, cb); - }); - } - async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { - if (typeof p !== `string`) - return await discard(); - const normalizedP = this.resolve(p); - const mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return await discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return await discard(); - return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); - } - makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { - if (typeof p !== `string`) - return discard(); - const normalizedP = this.resolve(p); - const mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return discard(); - return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); - } - findMount(p) { - if (this.filter && !this.filter.test(p)) - return null; - let filePath = ``; - while (true) { - const pathPartWithArchive = p.substring(filePath.length); - const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); - if (!mountPoint) - return null; - filePath = this.pathUtils.join(filePath, mountPoint); - if (!this.isMount.has(filePath)) { - if (this.notMount.has(filePath)) - continue; - try { - if (this.typeCheck !== null && (this.baseFs.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { - this.notMount.add(filePath); - continue; - } - } catch { - return null; - } - this.isMount.add(filePath); - } - return { - archivePath: filePath, - subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) - }; - } - } - limitOpenFiles(max) { - if (this.mountInstances === null) - return; - const now = Date.now(); - let nextExpiresAt = now + this.maxAge; - let closeCount = max === null ? 0 : this.mountInstances.size - max; - for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { - if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { - continue; - } else if (now >= expiresAt) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - continue; - } else if (max === null || closeCount <= 0) { - nextExpiresAt = expiresAt; - break; - } - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - } - if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { - this.limitOpenFilesTimeout = setTimeout(() => { - this.limitOpenFilesTimeout = null; - this.limitOpenFiles(null); - }, nextExpiresAt - now).unref(); - } - } - async getMountPromise(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - const createFsInstance = await this.factoryPromise(this.baseFs, p); - cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: createFsInstance(), - expiresAt: 0, - refCount: 0 - }; - } - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - cachedMountFs.refCount += 1; - try { - return await accept(cachedMountFs.childFs); - } finally { - cachedMountFs.refCount -= 1; - } - } else { - const mountFs = (await this.factoryPromise(this.baseFs, p))(); - try { - return await accept(mountFs); - } finally { - mountFs.saveAndClose?.(); - } - } - } - getMountSync(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: this.factorySync(this.baseFs, p), - expiresAt: 0, - refCount: 0 - }; - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - return accept(cachedMountFs.childFs); - } else { - const childFs = this.factorySync(this.baseFs, p); - try { - return accept(childFs); - } finally { - childFs.saveAndClose?.(); - } - } - } -} - -class PosixFS extends ProxiedFS { - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return npath.fromPortablePath(path); - } - mapToBase(path) { - return npath.toPortablePath(path); - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - static makeVirtualPath(base, component, to) { - if (ppath.basename(base) !== `__virtual__`) - throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); - if (!ppath.basename(component).match(VALID_COMPONENT)) - throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - let depth = 0; - while (depth < segments.length && segments[depth] === `..`) - depth += 1; - const finalSegments = segments.slice(depth); - const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); - return fullVirtualPath; - } - static resolveVirtual(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match || !match[3] && match[5]) - return p; - const target = ppath.dirname(match[1]); - if (!match[3] || !match[4]) - return target; - const isnum = NUMBER_REGEXP.test(match[4]); - if (!isnum) - return p; - const depth = Number(match[4]); - const backstep = `../`.repeat(depth); - const subpath = match[5] || `.`; - return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - realpathSync(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return this.baseFs.realpathSync(p); - if (!match[5]) - return p; - const realpath = this.baseFs.realpathSync(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - async realpathPromise(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return await this.baseFs.realpathPromise(p); - if (!match[5]) - return p; - const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - mapToBase(p) { - if (p === ``) - return p; - if (this.pathUtils.isAbsolute(p)) - return VirtualFS.resolveVirtual(p); - const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); - const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); - return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; - } - mapFromBase(p) { - return p; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; - -class NodePathFS extends ProxiedFS { - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return path; - } - mapToBase(path) { - if (typeof path === `string`) - return path; - if (path instanceof URL) - return url.fileURLToPath(path); - if (Buffer.isBuffer(path)) { - const str = path.toString(); - if (!isUtf8(path, str)) - throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); - return str; - } - throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); - } -} -function isUtf8(buf, str) { - if (typeof buffer__default.default.isUtf8 !== `undefined`) - return buffer__default.default.isUtf8(buf); - return Buffer.byteLength(str) === buf.byteLength; -} - -var _a, _b, _c, _d; -const kBaseFs = Symbol(`kBaseFs`); -const kFd = Symbol(`kFd`); -const kClosePromise = Symbol(`kClosePromise`); -const kCloseResolve = Symbol(`kCloseResolve`); -const kCloseReject = Symbol(`kCloseReject`); -const kRefs = Symbol(`kRefs`); -const kRef = Symbol(`kRef`); -const kUnref = Symbol(`kUnref`); -class FileHandle { - constructor(fd, baseFs) { - this[_a] = 1; - this[_b] = void 0; - this[_c] = void 0; - this[_d] = void 0; - this[kBaseFs] = baseFs; - this[kFd] = fd; - } - get fd() { - return this[kFd]; - } - async appendFile(data, options) { - try { - this[kRef](this.appendFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); - } finally { - this[kUnref](); - } - } - async chown(uid, gid) { - try { - this[kRef](this.chown); - return await this[kBaseFs].fchownPromise(this.fd, uid, gid); - } finally { - this[kUnref](); - } - } - async chmod(mode) { - try { - this[kRef](this.chmod); - return await this[kBaseFs].fchmodPromise(this.fd, mode); - } finally { - this[kUnref](); - } - } - createReadStream(options) { - return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); - } - createWriteStream(options) { - return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); - } - datasync() { - throw new Error(`Method not implemented.`); - } - sync() { - throw new Error(`Method not implemented.`); - } - async read(bufferOrOptions, offset, length, position) { - try { - this[kRef](this.read); - let buffer; - if (!Buffer.isBuffer(bufferOrOptions)) { - bufferOrOptions ??= {}; - buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); - offset = bufferOrOptions.offset || 0; - length = bufferOrOptions.length ?? buffer.byteLength; - position = bufferOrOptions.position ?? null; - } else { - buffer = bufferOrOptions; - } - offset ??= 0; - length ??= 0; - if (length === 0) { - return { - bytesRead: length, - buffer - }; - } - const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); - return { - bytesRead, - buffer - }; - } finally { - this[kUnref](); - } - } - async readFile(options) { - try { - this[kRef](this.readFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].readFilePromise(this.fd, encoding); - } finally { - this[kUnref](); - } - } - readLines(options) { - return readline.createInterface({ - input: this.createReadStream(options), - crlfDelay: Infinity - }); - } - async stat(opts) { - try { - this[kRef](this.stat); - return await this[kBaseFs].fstatPromise(this.fd, opts); - } finally { - this[kUnref](); - } - } - async truncate(len) { - try { - this[kRef](this.truncate); - return await this[kBaseFs].ftruncatePromise(this.fd, len); - } finally { - this[kUnref](); - } - } - utimes(atime, mtime) { - throw new Error(`Method not implemented.`); - } - async writeFile(data, options) { - try { - this[kRef](this.writeFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - await this[kBaseFs].writeFilePromise(this.fd, data, encoding); - } finally { - this[kUnref](); - } - } - async write(...args) { - try { - this[kRef](this.write); - if (ArrayBuffer.isView(args[0])) { - const [buffer, offset, length, position] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); - return { bytesWritten, buffer }; - } else { - const [data, position, encoding] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); - return { bytesWritten, buffer: data }; - } - } finally { - this[kUnref](); - } - } - async writev(buffers, position) { - try { - this[kRef](this.writev); - let bytesWritten = 0; - if (typeof position !== `undefined`) { - for (const buffer of buffers) { - const writeResult = await this.write(buffer, void 0, void 0, position); - bytesWritten += writeResult.bytesWritten; - position += writeResult.bytesWritten; - } - } else { - for (const buffer of buffers) { - const writeResult = await this.write(buffer); - bytesWritten += writeResult.bytesWritten; - } - } - return { - buffers, - bytesWritten - }; - } finally { - this[kUnref](); - } - } - readv(buffers, position) { - throw new Error(`Method not implemented.`); - } - close() { - if (this[kFd] === -1) - return Promise.resolve(); - if (this[kClosePromise]) - return this[kClosePromise]; - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { - this[kClosePromise] = void 0; - }); - } else { - this[kClosePromise] = new Promise((resolve, reject) => { - this[kCloseResolve] = resolve; - this[kCloseReject] = reject; - }).finally(() => { - this[kClosePromise] = void 0; - this[kCloseReject] = void 0; - this[kCloseResolve] = void 0; - }); - } - return this[kClosePromise]; - } - [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { - if (this[kFd] === -1) { - const err = new Error(`file closed`); - err.code = `EBADF`; - err.syscall = caller.name; - throw err; - } - this[kRefs]++; - } - [kUnref]() { - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); - } - } -} - -const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessSync`, - `appendFileSync`, - `createReadStream`, - `createWriteStream`, - `chmodSync`, - `fchmodSync`, - `chownSync`, - `fchownSync`, - `closeSync`, - `copyFileSync`, - `linkSync`, - `lstatSync`, - `fstatSync`, - `lutimesSync`, - `mkdirSync`, - `openSync`, - `opendirSync`, - `readlinkSync`, - `readFileSync`, - `readdirSync`, - `readlinkSync`, - `realpathSync`, - `renameSync`, - `rmdirSync`, - `statSync`, - `symlinkSync`, - `truncateSync`, - `ftruncateSync`, - `unlinkSync`, - `unwatchFile`, - `utimesSync`, - `watch`, - `watchFile`, - `writeFileSync`, - `writeSync` -]); -const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessPromise`, - `appendFilePromise`, - `fchmodPromise`, - `chmodPromise`, - `fchownPromise`, - `chownPromise`, - `closePromise`, - `copyFilePromise`, - `linkPromise`, - `fstatPromise`, - `lstatPromise`, - `lutimesPromise`, - `mkdirPromise`, - `openPromise`, - `opendirPromise`, - `readdirPromise`, - `realpathPromise`, - `readFilePromise`, - `readdirPromise`, - `readlinkPromise`, - `renamePromise`, - `rmdirPromise`, - `statPromise`, - `symlinkPromise`, - `truncatePromise`, - `ftruncatePromise`, - `unlinkPromise`, - `utimesPromise`, - `writeFilePromise`, - `writeSync` -]); -function patchFs(patchedFs, fakeFs) { - fakeFs = new NodePathFS(fakeFs); - const setupFn = (target, name, replacement) => { - const orig = target[name]; - target[name] = replacement; - if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { - replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; - } - }; - { - setupFn(patchedFs, `exists`, (p, ...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => { - }; - process.nextTick(() => { - fakeFs.existsPromise(p).then((exists) => { - callback(exists); - }, () => { - callback(false); - }); - }); - }); - setupFn(patchedFs, `read`, (...args) => { - let [fd, buffer, offset, length, position, callback] = args; - if (args.length <= 3) { - let options = {}; - if (args.length < 3) { - callback = args[1]; - } else { - options = args[1]; - callback = args[2]; - } - ({ - buffer = Buffer.alloc(16384), - offset = 0, - length = buffer.byteLength, - position - } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) { - process.nextTick(() => { - callback(null, 0, buffer); - }); - return; - } - if (position == null) - position = -1; - process.nextTick(() => { - fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { - callback(null, bytesRead, buffer); - }, (error) => { - callback(error, 0, buffer); - }); - }); - }); - for (const fnName of ASYNC_IMPLEMENTATIONS) { - const origName = fnName.replace(/Promise$/, ``); - if (typeof patchedFs[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - const wrapper = (...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => { - }; - process.nextTick(() => { - fakeImpl.apply(fakeFs, args).then((result) => { - callback(null, result); - }, (error) => { - callback(error); - }); - }); - }; - setupFn(patchedFs, origName, wrapper); - } - patchedFs.realpath.native = patchedFs.realpath; - } - { - setupFn(patchedFs, `existsSync`, (p) => { - try { - return fakeFs.existsSync(p); - } catch (error) { - return false; - } - }); - setupFn(patchedFs, `readSync`, (...args) => { - let [fd, buffer, offset, length, position] = args; - if (args.length <= 3) { - const options = args[2] || {}; - ({ offset = 0, length = buffer.byteLength, position } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) - return 0; - if (position == null) - position = -1; - return fakeFs.readSync(fd, buffer, offset, length, position); - }); - for (const fnName of SYNC_IMPLEMENTATIONS) { - const origName = fnName; - if (typeof patchedFs[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); - } - patchedFs.realpathSync.native = patchedFs.realpathSync; - } - { - const patchedFsPromises = patchedFs.promises; - for (const fnName of ASYNC_IMPLEMENTATIONS) { - const origName = fnName.replace(/Promise$/, ``); - if (typeof patchedFsPromises[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - if (fnName === `open`) - continue; - setupFn(patchedFsPromises, origName, (pathLike, ...args) => { - if (pathLike instanceof FileHandle) { - return pathLike[origName].apply(pathLike, args); - } else { - return fakeImpl.call(fakeFs, pathLike, ...args); - } - }); - } - setupFn(patchedFsPromises, `open`, async (...args) => { - const fd = await fakeFs.openPromise(...args); - return new FileHandle(fd, fakeFs); - }); - } - { - patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.readPromise(fd, buffer, ...args); - return { bytesRead: await res, buffer }; - }; - patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.writePromise(fd, buffer, ...args); - return { bytesWritten: await res, buffer }; - }; - } -} - -let cachedInstance; -let registeredFactory = () => { - throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); -}; -function setFactory(factory) { - registeredFactory = factory; -} -function getInstance() { - if (typeof cachedInstance === `undefined`) - cachedInstance = registeredFactory(); - return cachedInstance; -} - -var libzipSync = {exports: {}}; - -(function (module, exports) { -var frozenFs = Object.assign({}, fs__default.default); -var createModule = function() { - var _scriptDir = void 0; - if (typeof __filename !== "undefined") - _scriptDir = _scriptDir || __filename; - return function(createModule2) { - createModule2 = createModule2 || {}; - var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; - var readyPromiseResolve, readyPromiseReject; - Module["ready"] = new Promise(function(resolve, reject) { - readyPromiseResolve = resolve; - readyPromiseReject = reject; - }); - var moduleOverrides = {}; - var key; - for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } - } - var scriptDirectory = ""; - function locateFile(path) { - if (Module["locateFile"]) { - return Module["locateFile"](path, scriptDirectory); - } - return scriptDirectory + path; - } - var read_, readBinary; - var nodeFS; - var nodePath; - { - { - scriptDirectory = __dirname + "/"; - } - read_ = function shell_read(filename, binary) { - var ret = tryParseAsDataURI(filename); - if (ret) { - return binary ? ret : ret.toString(); - } - if (!nodeFS) - nodeFS = frozenFs; - if (!nodePath) - nodePath = path__default.default; - filename = nodePath["normalize"](filename); - return nodeFS["readFileSync"](filename, binary ? null : "utf8"); - }; - readBinary = function readBinary2(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - if (process["argv"].length > 1) { - process["argv"][1].replace(/\\/g, "/"); - } - process["argv"].slice(2); - Module["inspect"] = function() { - return "[Emscripten Module object]"; - }; - } - Module["print"] || console.log.bind(console); - var err = Module["printErr"] || console.warn.bind(console); - for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } - } - moduleOverrides = null; - if (Module["arguments"]) - ; - if (Module["thisProgram"]) - ; - if (Module["quit"]) - ; - var wasmBinary; - if (Module["wasmBinary"]) - wasmBinary = Module["wasmBinary"]; - Module["noExitRuntime"] || true; - if (typeof WebAssembly !== "object") { - abort("no native wasm support detected"); - } - function getValue(ptr, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") - type = "i32"; - switch (type) { - case "i1": - return HEAP8[ptr >> 0]; - case "i8": - return HEAP8[ptr >> 0]; - case "i16": - return LE_HEAP_LOAD_I16((ptr >> 1) * 2); - case "i32": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "i64": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "float": - return LE_HEAP_LOAD_F32((ptr >> 2) * 4); - case "double": - return LE_HEAP_LOAD_F64((ptr >> 3) * 8); - default: - abort("invalid type for getValue: " + type); - } - return null; - } - var wasmMemory; - var ABORT = false; - function assert(condition, text) { - if (!condition) { - abort("Assertion failed: " + text); - } - } - function getCFunc(ident) { - var func = Module["_" + ident]; - assert( - func, - "Cannot call unknown function " + ident + ", make sure it is exported" - ); - return func; - } - function ccall(ident, returnType, argTypes, args, opts) { - var toC = { - string: function(str) { - var ret2 = 0; - if (str !== null && str !== void 0 && str !== 0) { - var len = (str.length << 2) + 1; - ret2 = stackAlloc(len); - stringToUTF8(str, ret2, len); - } - return ret2; - }, - array: function(arr) { - var ret2 = stackAlloc(arr.length); - writeArrayToMemory(arr, ret2); - return ret2; - } - }; - function convertReturnValue(ret2) { - if (returnType === "string") - return UTF8ToString(ret2); - if (returnType === "boolean") - return Boolean(ret2); - return ret2; - } - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) - stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - ret = convertReturnValue(ret); - if (stack !== 0) - stackRestore(stack); - return ret; - } - function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - var numericArgs = argTypes.every(function(type) { - return type === "number"; - }); - var numericRet = returnType !== "string"; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments); - }; - } - var UTF8Decoder = new TextDecoder("utf8"); - function UTF8ToString(ptr, maxBytesToRead) { - if (!ptr) - return ""; - var maxPtr = ptr + maxBytesToRead; - for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) - ++end; - return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); - } - function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) - return 0; - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) { - var u1 = str.charCodeAt(++i); - u = 65536 + ((u & 1023) << 10) | u1 & 1023; - } - if (u <= 127) { - if (outIdx >= endIdx) - break; - heap[outIdx++] = u; - } else if (u <= 2047) { - if (outIdx + 1 >= endIdx) - break; - heap[outIdx++] = 192 | u >> 6; - heap[outIdx++] = 128 | u & 63; - } else if (u <= 65535) { - if (outIdx + 2 >= endIdx) - break; - heap[outIdx++] = 224 | u >> 12; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63; - } else { - if (outIdx + 3 >= endIdx) - break; - heap[outIdx++] = 240 | u >> 18; - heap[outIdx++] = 128 | u >> 12 & 63; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63; - } - } - heap[outIdx] = 0; - return outIdx - startIdx; - } - function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - } - function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) - u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; - if (u <= 127) - ++len; - else if (u <= 2047) - len += 2; - else if (u <= 65535) - len += 3; - else - len += 4; - } - return len; - } - function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) - stringToUTF8Array(str, HEAP8, ret, size); - return ret; - } - function writeArrayToMemory(array, buffer2) { - HEAP8.set(array, buffer2); - } - function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - x % multiple; - } - return x; - } - var buffer, HEAP8, HEAPU8; - var HEAP_DATA_VIEW; - function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); - Module["HEAP8"] = HEAP8 = new Int8Array(buf); - Module["HEAP16"] = new Int16Array(buf); - Module["HEAP32"] = new Int32Array(buf); - Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); - Module["HEAPU16"] = new Uint16Array(buf); - Module["HEAPU32"] = new Uint32Array(buf); - Module["HEAPF32"] = new Float32Array(buf); - Module["HEAPF64"] = new Float64Array(buf); - } - Module["INITIAL_MEMORY"] || 16777216; - var wasmTable; - var __ATPRERUN__ = []; - var __ATINIT__ = []; - var __ATPOSTRUN__ = []; - function preRun() { - if (Module["preRun"]) { - if (typeof Module["preRun"] == "function") - Module["preRun"] = [Module["preRun"]]; - while (Module["preRun"].length) { - addOnPreRun(Module["preRun"].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); - } - function initRuntime() { - callRuntimeCallbacks(__ATINIT__); - } - function postRun() { - if (Module["postRun"]) { - if (typeof Module["postRun"] == "function") - Module["postRun"] = [Module["postRun"]]; - while (Module["postRun"].length) { - addOnPostRun(Module["postRun"].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); - } - function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); - } - function addOnInit(cb) { - __ATINIT__.unshift(cb); - } - function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); - } - var runDependencies = 0; - var dependenciesFulfilled = null; - function addRunDependency(id) { - runDependencies++; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - } - function removeRunDependency(id) { - runDependencies--; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - if (runDependencies == 0) { - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); - } - } - } - Module["preloadedImages"] = {}; - Module["preloadedAudios"] = {}; - function abort(what) { - if (Module["onAbort"]) { - Module["onAbort"](what); - } - what += ""; - err(what); - ABORT = true; - what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; - var e = new WebAssembly.RuntimeError(what); - readyPromiseReject(e); - throw e; - } - var dataURIPrefix = "data:application/octet-stream;base64,"; - function isDataURI(filename) { - return filename.startsWith(dataURIPrefix); - } - var wasmBinaryFile = "data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ABfwF/YAJ/fwF/YAF/AGAEf39/fwF/YAN/f38AYAV/f39/fwF/YAJ/fwBgBH9/f38AYAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgA39/fgF/YAF/AX5gBn9/f39/fwF/YAN/fn8Bf2AEf39/fwF+YAV/f35/fwF/YAR/f35/AX9gA39/fgF+YAJ/fgBgAn9/AX5gBX9/f39/AGADf35/AX5gBX5+f35/AX5gA39/fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAMBYQFiAAEBYQFjAAABYQFkAAEBYQFlAAIBYQFmAAED5wHlAQMAAwEDAwEHDAgDFgcNEgEDDRcFAQ8DEAUQAwIBAhgECxkEAQMBBQsFAwMDARACBAMAAggLBwEAAwADGgQDGwYGABwBBgMTFBEHBwcVCx4ABAgHBAICAgAfAQICAgIGFSAAIQAiAAIBBgIHAg0LEw0FAQUCACMDAQAUAAAGBQECBQUDCwsSAgEDBQIHAQEICAACCQQEAQABCAEBCQoBAwkBAQEBBgEGBgYABAIEBAQGEQQEAAARAAEDCQEJAQAJCQkBAQECCgoAAAMPAQEBAwACAgICBQIABwAKBgwHAAADAgICBQEEBQFwAT8/BQcBAYACgIACBgkBfwFBgInBAgsH+gEzAWcCAAFoAFQBaQDqAQFqALsBAWsAwQEBbACpAQFtAKgBAW4ApwEBbwClAQFwAKMBAXEAoAEBcgCbAQFzAMABAXQAugEBdQC5AQF2AEsBdwDiAQF4AMgBAXkAxwEBegDCAQFBAMkBAUIAuAEBQwAGAUQACQFFAKYBAUYAtwEBRwC2AQFIALUBAUkAtAEBSgCzAQFLALIBAUwAsQEBTQCwAQFOAK8BAU8AvAEBUACuAQFRAK0BAVIArAEBUwAaAVQACwFVAKQBAVYAMgFXAQABWACrAQFZAKoBAVoAxgEBXwDFAQEkAMQBAmFhAL8BAmJhAL4BAmNhAL0BCXgBAEEBCz6iAeMBjgGQAVpbjwFYnwGdAVeeAV1coQFZVlWcAZoBmQGYAZcBlgGVAZQBkwGSAZEB6QHoAecB5gHlAeQB4QHfAeAB3gHdAdwB2gHbAYUB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygE4wwEK1N8G5QHMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNBxIQBKAIASQ0BIAAgAWohACADQciEASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB3IQBakYaIAIgAygCDCIBRgRAQbSEAUG0hAEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQbyEASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAM2AgBBwIQBQcCEASgCACAAaiIANgIAIAMgAEEBcjYCBCADQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASADNgIAQbyEAUG8hAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QdyEAWpGGiACIAUoAgwiAUYEQEG0hAFBtIQBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcSEASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANByIQBKAIARw0BQbyEASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QdyEAWohAAJ/QbSEASgCACICQQEgAXQiAXFFBEBBtIQBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHkhgFqIQECQAJAAkBBuIQBKAIAIgRBASACdCIHcUUEQEG4hAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdSEAUHUhAEoAgBBAWsiAEF/IAAbNgIACwuDBAEDfyACQYAETwRAIAAgASACEAIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALGgAgAARAIAAtAAEEQCAAKAIEEAYLIAAQBgsLoi4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG0hAEoAgAiBUEQIABBC2pBeHEgAEELSRsiCEEDdiICdiIBQQNxBEAgAUF/c0EBcSACaiIDQQN0IgFB5IQBaigCACIEQQhqIQACQCAEKAIIIgIgAUHchAFqIgFGBEBBtIQBIAVBfiADd3E2AgAMAQsgAiABNgIMIAEgAjYCCAsgBCADQQN0IgFBA3I2AgQgASAEaiIBIAEoAgRBAXI2AgQMDQsgCEG8hAEoAgAiCk0NASABBEACQEECIAJ0IgBBACAAa3IgASACdHEiAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqIgNBA3QiAEHkhAFqKAIAIgQoAggiASAAQdyEAWoiAEYEQEG0hAEgBUF+IAN3cSIFNgIADAELIAEgADYCDCAAIAE2AggLIARBCGohACAEIAhBA3I2AgQgBCAIaiICIANBA3QiASAIayIDQQFyNgIEIAEgBGogAzYCACAKBEAgCkEDdiIBQQN0QdyEAWohB0HIhAEoAgAhBAJ/IAVBASABdCIBcUUEQEG0hAEgASAFcjYCACAHDAELIAcoAggLIQEgByAENgIIIAEgBDYCDCAEIAc2AgwgBCABNgIIC0HIhAEgAjYCAEG8hAEgAzYCAAwNC0G4hAEoAgAiBkUNASAGQQAgBmtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB5IYBaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQcSEASgCAEkaIAAgBDYCDCAEIAA2AggMDAsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0EIAFBEGohAgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAsLQX8hCCAAQb9/Sw0AIABBC2oiAEF4cSEIQbiEASgCACIJRQ0AQQAgCGshAwJAAkACQAJ/QQAgCEGAAkkNABpBHyAIQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAIIABBFWp2QQFxckEcagsiBUECdEHkhgFqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBAiAFdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QeSGAWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBvIQBKAIAIAhrTw0AIAQgCGoiBiAETQ0BIAQoAhghBSAEIAQoAgwiAUcEQCAEKAIIIgBBxIQBKAIASRogACABNgIMIAEgADYCCAwKCyAEQRRqIgIoAgAiAEUEQCAEKAIQIgBFDQQgBEEQaiECCwNAIAIhByAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAHQQA2AgAMCQsgCEG8hAEoAgAiAk0EQEHIhAEoAgAhAwJAIAIgCGsiAUEQTwRAQbyEASABNgIAQciEASADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtByIQBQQA2AgBBvIQBQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCwsgCEHAhAEoAgAiBkkEQEHAhAEgBiAIayIBNgIAQcyEAUHMhAEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0GMiAEoAgAEQEGUiAEoAgAMAQtBmIgBQn83AgBBkIgBQoCggICAgAQ3AgBBjIgBIAxBDGpBcHFB2KrVqgVzNgIAQaCIAUEANgIAQfCHAUEANgIAQYAgCyIBaiIFQQAgAWsiB3EiAiAITQ0KQeyHASgCACIEBEBB5IcBKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtB8IcBLQAAQQRxDQUCQAJAQcyEASgCACIDBEBB9IcBIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABApIgFBf0YNBiACIQVBkIgBKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAITQ0GIAVB/v///wdLDQZB7IcBKAIAIgQEQEHkhwEoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFECkiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFECkiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQZSIASgCACIBIAkgBWtqQQAgAWtxIgFB/v///wdLBEAgACEBDAgLIAEQKUF/RwRAIAEgBWohBSAAIQEMCAtBACAFaxApGgwFCyAAIgFBf0cNBgwECwALQQAhBAwHC0EAIQEMBQsgAUF/Rw0CC0HwhwFB8IcBKAIAQQRyNgIACyACQf7///8HSw0BIAIQKSEBQQAQKSEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0HkhwFB5IcBKAIAIAVqIgA2AgBB6IcBKAIAIABJBEBB6IcBIAA2AgALAkACQAJAQcyEASgCACIHBEBB9IcBIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0HEhAEoAgAiAEEAIAAgAU0bRQRAQcSEASABNgIAC0EAIQBB+IcBIAU2AgBB9IcBIAE2AgBB1IQBQX82AgBB2IQBQYyIASgCADYCAEGAiAFBADYCAANAIABBA3QiA0HkhAFqIANB3IQBaiICNgIAIANB6IQBaiACNgIAIABBAWoiAEEgRw0AC0HAhAEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQcyEASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHQhAFBnIgBKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEHMhAEgB0F4IAdrQQdxQQAgB0EIakEHcRsiAGoiAjYCAEHAhAFBwIQBKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQdCEAUGciAEoAgA2AgAMAQtBxIQBKAIAIAFLBEBBxIQBIAE2AgALIAEgBWohAkH0hwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB9IcBIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBzIQBIAY2AgBBwIQBQcCEASgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQciEASgCAEYEQEHIhAEgBjYCAEG8hAFBvIQBKAIAIAJqIgA2AgAgBiAAQQFyNgIEIAAgBmogADYCAAwDCyAFKAIEIgBBA3FBAUYEQCAAQXhxIQcCQCAAQf8BTQRAIAUoAggiAyAAQQN2IgBBA3RB3IQBakYaIAMgBSgCDCIBRgRAQbSEAUG0hAEoAgBBfiAAd3E2AgAMAgsgAyABNgIMIAEgAzYCCAwBCyAFKAIYIQgCQCAFIAUoAgwiAUcEQCAFKAIIIgAgATYCDCABIAA2AggMAQsCQCAFQRRqIgAoAgAiAw0AIAVBEGoiACgCACIDDQBBACEBDAELA0AgACEEIAMiAUEUaiIAKAIAIgMNACABQRBqIQAgASgCECIDDQALIARBADYCAAsgCEUNAAJAIAUgBSgCHCIDQQJ0QeSGAWoiACgCAEYEQCAAIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiADd3E2AgAMAgsgCEEQQRQgCCgCECAFRhtqIAE2AgAgAUUNAQsgASAINgIYIAUoAhAiAARAIAEgADYCECAAIAE2AhgLIAUoAhQiAEUNACABIAA2AhQgACABNgIYCyAFIAdqIQUgAiAHaiECCyAFIAUoAgRBfnE2AgQgBiACQQFyNgIEIAIgBmogAjYCACACQf8BTQRAIAJBA3YiAEEDdEHchAFqIQICf0G0hAEoAgAiAUEBIAB0IgBxRQRAQbSEASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAwtBHyEAIAJB////B00EQCACQQh2IgAgAEGA/j9qQRB2QQhxIgN0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgA3IgAHJrIgBBAXQgAiAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QeSGAWohBAJAQbiEASgCACIDQQEgAHQiAXFFBEBBuIQBIAEgA3I2AgAgBCAGNgIAIAYgBDYCGAwBCyACQQBBGSAAQQF2ayAAQR9GG3QhACAEKAIAIQEDQCABIgMoAgRBeHEgAkYNAyAAQR12IQEgAEEBdCEAIAMgAUEEcWoiBCgCECIBDQALIAQgBjYCECAGIAM2AhgLIAYgBjYCDCAGIAY2AggMAgtBwIQBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHMhAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRB0IQBQZyIASgCADYCACAHIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgB0EQakkbIgJBGzYCBCACQfyHASkCADcCECACQfSHASkCADcCCEH8hwEgAkEIajYCAEH4hwEgBTYCAEH0hwEgATYCAEGAiAFBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgB0YNAyACIAIoAgRBfnE2AgQgByACIAdrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBzYCCCAAIAc2AgwgByACNgIMIAcgADYCCAwEC0EfIQAgB0IANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgByAANgIcIABBAnRB5IYBaiEDAkBBuIQBKAIAIgJBASAAdCIBcUUEQEG4hAEgASACcjYCACADIAc2AgAgByADNgIYDAELIARBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAERg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQIAcgAjYCGAsgByAHNgIMIAcgBzYCCAwDCyADKAIIIgAgBjYCDCADIAY2AgggBkEANgIYIAYgAzYCDCAGIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLQcCEASgCACIAIAhNDQBBwIQBIAAgCGsiATYCAEHMhAFBzIQBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GEhAFBMDYCAEEAIQAMAgsCQCAFRQ0AAkAgBCgCHCICQQJ0QeSGAWoiACgCACAERgRAIAAgATYCACABDQFBuIQBIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB5IYBaiECAkACQCAJQQEgAHQiAXFFBEBBuIQBIAEgCXI2AgAgAiAGNgIAIAYgAjYCGAwBCyADQQBBGSAAQQF2ayAAQR9GG3QhACACKAIAIQgDQCAIIgEoAgRBeHEgA0YNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIIDQALIAIgBjYCECAGIAE2AhgLIAYgBjYCDCAGIAY2AggMAQsgASgCCCIAIAY2AgwgASAGNgIIIAZBADYCGCAGIAE2AgwgBiAANgIICyAEQQhqIQAMAQsCQCALRQ0AAkAgASgCHCICQQJ0QeSGAWoiACgCACABRgRAIAAgBDYCACAEDQFBuIQBIAZBfiACd3E2AgAMAgsgC0EQQRQgCygCECABRhtqIAQ2AgAgBEUNAQsgBCALNgIYIAEoAhAiAARAIAQgADYCECAAIAQ2AhgLIAEoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCABIAMgCGoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAhBA3I2AgQgCSADQQFyNgIEIAMgCWogAzYCACAKBEAgCkEDdiIAQQN0QdyEAWohBEHIhAEoAgAhAgJ/QQEgAHQiACAFcUUEQEG0hAEgACAFcjYCACAEDAELIAQoAggLIQAgBCACNgIIIAAgAjYCDCACIAQ2AgwgAiAANgIIC0HIhAEgCTYCAEG8hAEgAzYCAAsgAUEIaiEACyAMQRBqJAAgAAuJAQEDfyAAKAIcIgEQMAJAIAAoAhAiAiABKAIQIgMgAiADSRsiAkUNACAAKAIMIAEoAgggAhAHGiAAIAAoAgwgAmo2AgwgASABKAIIIAJqNgIIIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgASABKAIQIAJrIgA2AhAgAA0AIAEgASgCBDYCCAsLzgEBBX8CQCAARQ0AIAAoAjAiAQRAIAAgAUEBayIBNgIwIAENAQsgACgCIARAIABBATYCICAAEBoaCyAAKAIkQQFGBEAgABBDCwJAIAAoAiwiAUUNACAALQAoDQACQCABKAJEIgNFDQAgASgCTCEEA0AgACAEIAJBAnRqIgUoAgBHBEAgAyACQQFqIgJHDQEMAgsLIAUgBCADQQFrIgJBAnRqKAIANgIAIAEgAjYCRAsLIABBAEIAQQUQDhogACgCACIBBEAgARALCyAAEAYLC1oCAn4BfwJ/AkACQCAALQAARQ0AIAApAxAiAUJ9Vg0AIAFCAnwiAiAAKQMIWA0BCyAAQQA6AABBAAwBC0EAIAAoAgQiA0UNABogACACNwMQIAMgAadqLwAACwthAgJ+AX8CQAJAIAAtAABFDQAgACkDECICQn1WDQAgAkICfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBCHY6AAEgACABOgAAC8wCAQJ/IwBBEGsiBCQAAkAgACkDGCADrYinQQFxRQRAIABBDGoiAARAIABBADYCBCAAQRw2AgALQn8hAgwBCwJ+IAAoAgAiBUUEQCAAKAIIIAEgAiADIAAoAgQRDAAMAQsgBSAAKAIIIAEgAiADIAAoAgQRCgALIgJCf1UNAAJAIANBBGsOCwEAAAAAAAAAAAABAAsCQAJAIAAtABhBEHFFBEAgAEEMaiIBBEAgAUEANgIEIAFBHDYCAAsMAQsCfiAAKAIAIgFFBEAgACgCCCAEQQhqQghBBCAAKAIEEQwADAELIAEgACgCCCAEQQhqQghBBCAAKAIEEQoAC0J/VQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEEUNgIACwwBCyAEKAIIIQEgBCgCDCEDIABBDGoiAARAIAAgAzYCBCAAIAE2AgALCyAEQRBqJAAgAguTFQIOfwN+AkACQAJAAkACQAJAAkACQAJAAkACQCAAKALwLQRAIAAoAogBQQFIDQEgACgCACIEKAIsQQJHDQQgAC8B5AENAyAALwHoAQ0DIAAvAewBDQMgAC8B8AENAyAALwH0AQ0DIAAvAfgBDQMgAC8B/AENAyAALwGcAg0DIAAvAaACDQMgAC8BpAINAyAALwGoAg0DIAAvAawCDQMgAC8BsAINAyAALwG0Ag0DIAAvAbgCDQMgAC8BvAINAyAALwHAAg0DIAAvAcQCDQMgAC8ByAINAyAALwHUAg0DIAAvAdgCDQMgAC8B3AINAyAALwHgAg0DIAAvAYgCDQIgAC8BjAINAiAALwGYAg0CQSAhBgNAIAAgBkECdCIFai8B5AENAyAAIAVBBHJqLwHkAQ0DIAAgBUEIcmovAeQBDQMgACAFQQxyai8B5AENAyAGQQRqIgZBgAJHDQALDAMLIABBBzYC/C0gAkF8Rw0FIAFFDQUMBgsgAkEFaiIEIQcMAwtBASEHCyAEIAc2AiwLIAAgAEHoFmoQUSAAIABB9BZqEFEgAC8B5gEhBCAAIABB7BZqKAIAIgxBAnRqQf//AzsB6gEgAEGQFmohECAAQZQWaiERIABBjBZqIQdBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJA0AgBCEIIAAgCyIOQQFqIgtBAnRqLwHmASEEAkACQCAGQQFqIgVB//8DcSIPIA1B//8DcU8NACAEIAhHDQAgBSEGDAELAn8gACAIQQJ0akHMFWogCkH//wNxIA9LDQAaIAgEQEEBIQUgByAIIAlGDQEaIAAgCEECdGpBzBVqIgYgBi8BAEEBajsBACAHDAELQQEhBSAQIBEgBkH//wNxQQpJGwsiBiAGLwEAIAVqOwEAQQAhBgJ/IARFBEBBAyEKQYoBDAELQQNBBCAEIAhGIgUbIQpBBkEHIAUbCyENIAghCQsgDCAORw0ACwsgAEHaE2ovAQAhBCAAIABB+BZqKAIAIgxBAnRqQd4TakH//wM7AQBBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJQQAhCwNAIAQhCCAAIAsiDkEBaiILQQJ0akHaE2ovAQAhBAJAAkAgBkEBaiIFQf//A3EiDyANQf//A3FPDQAgBCAIRw0AIAUhBgwBCwJ/IAAgCEECdGpBzBVqIApB//8DcSAPSw0AGiAIBEBBASEFIAcgCCAJRg0BGiAAIAhBAnRqQcwVaiIGIAYvAQBBAWo7AQAgBwwBC0EBIQUgECARIAZB//8DcUEKSRsLIgYgBi8BACAFajsBAEEAIQYCfyAERQRAQQMhCkGKAQwBC0EDQQQgBCAIRiIFGyEKQQZBByAFGwshDSAIIQkLIAwgDkcNAAsLIAAgAEGAF2oQUSAAIAAoAvgtAn9BEiAAQYoWai8BAA0AGkERIABB0hVqLwEADQAaQRAgAEGGFmovAQANABpBDyAAQdYVai8BAA0AGkEOIABBghZqLwEADQAaQQ0gAEHaFWovAQANABpBDCAAQf4Vai8BAA0AGkELIABB3hVqLwEADQAaQQogAEH6FWovAQANABpBCSAAQeIVai8BAA0AGkEIIABB9hVqLwEADQAaQQcgAEHmFWovAQANABpBBiAAQfIVai8BAA0AGkEFIABB6hVqLwEADQAaQQQgAEHuFWovAQANABpBA0ECIABBzhVqLwEAGwsiBkEDbGoiBEERajYC+C0gACgC/C1BCmpBA3YiByAEQRtqQQN2IgRNBEAgByEEDAELIAAoAowBQQRHDQAgByEECyAEIAJBBGpPQQAgARsNASAEIAdHDQQLIANBAmqtIRIgACkDmC4hFCAAKAKgLiIBQQNqIgdBP0sNASASIAGthiAUhCESDAILIAAgASACIAMQOQwDCyABQcAARgRAIAAoAgQgACgCEGogFDcAACAAIAAoAhBBCGo2AhBBAyEHDAELIAAoAgQgACgCEGogEiABrYYgFIQ3AAAgACAAKAIQQQhqNgIQIAFBPWshByASQcAAIAFrrYghEgsgACASNwOYLiAAIAc2AqAuIABBgMEAQYDKABCHAQwBCyADQQRqrSESIAApA5guIRQCQCAAKAKgLiIBQQNqIgRBP00EQCASIAGthiAUhCESDAELIAFBwABGBEAgACgCBCAAKAIQaiAUNwAAIAAgACgCEEEIajYCEEEDIQQMAQsgACgCBCAAKAIQaiASIAGthiAUhDcAACAAIAAoAhBBCGo2AhAgAUE9ayEEIBJBwAAgAWutiCESCyAAIBI3A5guIAAgBDYCoC4gAEHsFmooAgAiC6xCgAJ9IRMgAEH4FmooAgAhCQJAAkACfwJ+AkACfwJ/IARBOk0EQCATIASthiAShCETIARBBWoMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQIAmsIRJCBSEUQQoMAgsgACgCBCAAKAIQaiATIASthiAShDcAACAAIAAoAhBBCGo2AhAgE0HAACAEa62IIRMgBEE7awshBSAJrCESIAVBOksNASAFrSEUIAVBBWoLIQcgEiAUhiAThAwBCyAFQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgBq1CA30hE0IFIRRBCQwCCyAAKAIEIAAoAhBqIBIgBa2GIBOENwAAIAAgACgCEEEIajYCECAFQTtrIQcgEkHAACAFa62ICyESIAatQgN9IRMgB0E7Sw0BIAetIRQgB0EEagshBCATIBSGIBKEIRMMAQsgB0HAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQQQQhBAwBCyAAKAIEIAAoAhBqIBMgB62GIBKENwAAIAAgACgCEEEIajYCECAHQTxrIQQgE0HAACAHa62IIRMLQQAhBQNAIAAgBSIBQZDWAGotAABBAnRqQc4VajMBACEUAn8gBEE8TQRAIBQgBK2GIBOEIRMgBEEDagwBCyAEQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgFCETQQMMAQsgACgCBCAAKAIQaiAUIASthiAThDcAACAAIAAoAhBBCGo2AhAgFEHAACAEa62IIRMgBEE9awshBCABQQFqIQUgASAGRw0ACyAAIAQ2AqAuIAAgEzcDmC4gACAAQeQBaiICIAsQhgEgACAAQdgTaiIBIAkQhgEgACACIAEQhwELIAAQiAEgAwRAAkAgACgCoC4iBEE5TgRAIAAoAgQgACgCEGogACkDmC43AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgQ2AqAuCyAEQQlOBH8gACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACgCoC5BEGsFIAQLQQFIDQAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQOYLjwAAAsgAEEANgKgLiAAQgA3A5guCwsZACAABEAgACgCABAGIAAoAgwQBiAAEAYLC6wBAQJ+Qn8hAwJAIAAtACgNAAJAAkAgACgCIEUNACACQgBTDQAgAlANASABDQELIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAALQA1DQBCACEDIAAtADQNACACUA0AA0AgACABIAOnaiACIAN9QQEQDiIEQn9XBEAgAEEBOgA1Qn8gAyADUBsPCyAEUEUEQCADIAR8IgMgAloNAgwBCwsgAEEBOgA0CyADC3UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCe1YNACACQgR8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEYdjoAAyAAIAFBEHY6AAIgACABQQh2OgABIAAgAToAAAtUAgF+AX8CQAJAIAAtAABFDQAgASAAKQMQIgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADwsgACgCBCIDRQRAQQAPCyAAIAI3AxAgAyABp2oLdwECfyMAQRBrIgMkAEF/IQQCQCAALQAoDQAgACgCIEEAIAJBA0kbRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALDAELIAMgAjYCCCADIAE3AwAgACADQhBBBhAOQgBTDQBBACEEIABBADoANAsgA0EQaiQAIAQLVwICfgF/AkACQCAALQAARQ0AIAApAxAiAUJ7Vg0AIAFCBHwiAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqKAAAC1UCAX4BfyAABEACQCAAKQMIUA0AQgEhAQNAIAAoAgAgAkEEdGoQPiABIAApAwhaDQEgAachAiABQgF8IQEMAAsACyAAKAIAEAYgACgCKBAQIAAQBgsLZAECfwJAAkACQCAARQRAIAGnEAkiA0UNAkEYEAkiAkUNAQwDCyAAIQNBGBAJIgINAkEADwsgAxAGC0EADwsgAkIANwMQIAIgATcDCCACIAM2AgQgAkEBOgAAIAIgAEU6AAEgAgudAQICfgF/AkACQCAALQAARQ0AIAApAxAiAkJ3Vg0AIAJCCHwiAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2oiACABQjiIPAAHIAAgAUIwiDwABiAAIAFCKIg8AAUgACABQiCIPAAEIAAgAUIYiDwAAyAAIAFCEIg8AAIgACABQgiIPAABIAAgATwAAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLbwEDfyAAQQxqIQICQAJ/IAAoAiAiAUUEQEF/IQFBEgwBCyAAIAFBAWsiAzYCIEEAIQEgAw0BIABBAEIAQQIQDhogACgCACIARQ0BIAAQGkF/Sg0BQRQLIQAgAgRAIAJBADYCBCACIAA2AgALCyABC58BAgF/AX4CfwJAAn4gACgCACIDKAIkQQFGQQAgAkJ/VRtFBEAgA0EMaiIBBEAgAUEANgIEIAFBEjYCAAtCfwwBCyADIAEgAkELEA4LIgRCf1cEQCAAKAIAIQEgAEEIaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQtBACACIARRDQEaIABBCGoEQCAAQRs2AgwgAEEGNgIICwtBfwsLJAEBfyAABEADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLC5gBAgJ+AX8CQAJAIAAtAABFDQAgACkDECIBQndWDQAgAUIIfCICIAApAwhYDQELIABBADoAAEIADwsgACgCBCIDRQRAQgAPCyAAIAI3AxAgAyABp2oiADEABkIwhiAAMQAHQjiGhCAAMQAFQiiGhCAAMQAEQiCGhCAAMQADQhiGhCAAMQACQhCGhCAAMQABQgiGhCAAMQAAfAsjACAAQShGBEAgAhAGDwsgAgRAIAEgAkEEaygCACAAEQcACwsyACAAKAIkQQFHBEAgAEEMaiIABEAgAEEANgIEIABBEjYCAAtCfw8LIABBAEIAQQ0QDgsPACAABEAgABA2IAAQBgsLgAEBAX8gAC0AKAR/QX8FIAFFBEAgAEEMagRAIABBADYCECAAQRI2AgwLQX8PCyABECoCQCAAKAIAIgJFDQAgAiABECFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAtBfw8LIAAgAUI4QQMQDkI/h6cLC38BA38gACEBAkAgAEEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiAAaw8LA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsL3wIBCH8gAEUEQEEBDwsCQCAAKAIIIgINAEEBIQQgAC8BBCIHRQRAQQEhAgwBCyAAKAIAIQgDQAJAIAMgCGoiBS0AACICQSBPBEAgAkEYdEEYdUF/Sg0BCyACQQ1NQQBBASACdEGAzABxGw0AAn8CfyACQeABcUHAAUYEQEEBIQYgA0EBagwBCyACQfABcUHgAUYEQCADQQJqIQNBACEGQQEMAgsgAkH4AXFB8AFHBEBBBCECDAULQQAhBiADQQNqCyEDQQALIQlBBCECIAMgB08NAiAFLQABQcABcUGAAUcNAkEDIQQgBg0AIAUtAAJBwAFxQYABRw0CIAkNACAFLQADQcABcUGAAUcNAgsgBCECIANBAWoiAyAHSQ0ACwsgACACNgIIAn8CQCABRQ0AAkAgAUECRw0AIAJBA0cNAEECIQIgAEECNgIICyABIAJGDQBBBSACQQFHDQEaCyACCwtIAgJ+An8jAEEQayIEIAE2AgxCASAArYYhAgNAIAQgAUEEaiIANgIMIAIiA0IBIAEoAgAiBa2GhCECIAAhASAFQX9KDQALIAMLhwUBB38CQAJAIABFBEBBxRQhAiABRQ0BIAFBADYCAEHFFA8LIAJBwABxDQEgACgCCEUEQCAAQQAQIxoLIAAoAgghBAJAIAJBgAFxBEAgBEEBa0ECTw0BDAMLIARBBEcNAgsCQCAAKAIMIgINACAAAn8gACgCACEIIABBEGohCUEAIQICQAJAAkACQCAALwEEIgUEQEEBIQQgBUEBcSEHIAVBAUcNAQwCCyAJRQ0CIAlBADYCAEEADAQLIAVBfnEhBgNAIARBAUECQQMgAiAIai0AAEEBdEHQFGovAQAiCkGAEEkbIApBgAFJG2pBAUECQQMgCCACQQFyai0AAEEBdEHQFGovAQAiBEGAEEkbIARBgAFJG2ohBCACQQJqIQIgBkECayIGDQALCwJ/IAcEQCAEQQFBAkEDIAIgCGotAABBAXRB0BRqLwEAIgJBgBBJGyACQYABSRtqIQQLIAQLEAkiB0UNASAFQQEgBUEBSxshCkEAIQVBACEGA0AgBSAHaiEDAn8gBiAIai0AAEEBdEHQFGovAQAiAkH/AE0EQCADIAI6AAAgBUEBagwBCyACQf8PTQRAIAMgAkE/cUGAAXI6AAEgAyACQQZ2QcABcjoAACAFQQJqDAELIAMgAkE/cUGAAXI6AAIgAyACQQx2QeABcjoAACADIAJBBnZBP3FBgAFyOgABIAVBA2oLIQUgBkEBaiIGIApHDQALIAcgBEEBayICakEAOgAAIAlFDQAgCSACNgIACyAHDAELIAMEQCADQQA2AgQgA0EONgIAC0EACyICNgIMIAINAEEADwsgAUUNACABIAAoAhA2AgALIAIPCyABBEAgASAALwEENgIACyAAKAIAC4MBAQR/QRIhBQJAAkAgACkDMCABWA0AIAGnIQYgACgCQCEEIAJBCHEiB0UEQCAEIAZBBHRqKAIEIgINAgsgBCAGQQR0aiIEKAIAIgJFDQAgBC0ADEUNAUEXIQUgBw0BC0EAIQIgAyAAQQhqIAMbIgAEQCAAQQA2AgQgACAFNgIACwsgAgtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAZIAFFBEADQCAAIAVBgAIQLiACQYACayICQf8BSw0ACwsgACAFIAIQLgsgBUGAAmokAAuBAQEBfyMAQRBrIgQkACACIANsIQICQCAAQSdGBEAgBEEMaiACEIwBIQBBACAEKAIMIAAbIQAMAQsgAUEBIAJBxABqIAARAAAiAUUEQEEAIQAMAQtBwAAgAUE/cWsiACABakHAAEEAIABBBEkbaiIAQQRrIAE2AAALIARBEGokACAAC1IBAn9BhIEBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtBhIEBIAA2AgAgAQ8LQYSEAUEwNgIAQX8LNwAgAEJ/NwMQIABBADYCCCAAQgA3AwAgAEEANgIwIABC/////w83AyggAEIANwMYIABCADcDIAulAQEBf0HYABAJIgFFBEBBAA8LAkAgAARAIAEgAEHYABAHGgwBCyABQgA3AyAgAUEANgIYIAFC/////w83AxAgAUEAOwEMIAFBv4YoNgIIIAFBAToABiABQQA6AAQgAUIANwNIIAFBgIDYjXg2AkQgAUIANwMoIAFCADcDMCABQgA3AzggAUFAa0EAOwEAIAFCADcDUAsgAUEBOgAFIAFBADYCACABC1gCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgMgAq18IgQgA1QNACAEIAApAwhYDQELIABBADoAAA8LIAAoAgQiBUUEQA8LIAAgBDcDECAFIAOnaiABIAIQBxoLlgEBAn8CQAJAIAJFBEAgAacQCSIFRQ0BQRgQCSIEDQIgBRAGDAELIAIhBUEYEAkiBA0BCyADBEAgA0EANgIEIANBDjYCAAtBAA8LIARCADcDECAEIAE3AwggBCAFNgIEIARBAToAACAEIAJFOgABIAAgBSABIAMQZUEASAR/IAQtAAEEQCAEKAIEEAYLIAQQBkEABSAECwubAgEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFAn8gASABLQBKIgBBAWsgAHI6AEogASgCACIAQQhxBEAgASAAQSByNgIAQX8MAQsgAUIANwIEIAEgASgCLCIANgIcIAEgADYCFCABIAAgASgCMGo2AhBBAAsNASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRAAAaDAILAn8gASwAS0F/SgRAIAIhAANAIAIgACIERQ0CGiADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEAACAESQ0CIAMgBGohAyABKAIUIQUgAiAEawwBCyACCyEAIAUgAyAAEAcaIAEgASgCFCAAajYCFAsLCwvNBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJoIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDmC48AAAgACAAKQOYLkIIiDcDmC4gACgCoC5BCGsLNgKgLgsLEAAgACgCCBAGIABBADYCCAvwAQECf0F/IQECQCAALQAoDQAgACgCJEEDRgRAIABBDGoEQCAAQQA2AhAgAEEXNgIMC0F/DwsCQCAAKAIgBEAgACkDGELAAINCAFINASAAQQxqBEAgAEEANgIQIABBHTYCDAtBfw8LAkAgACgCACICRQ0AIAIQMkF/Sg0AIAAoAgAhASAAQQxqIgAEQCAAIAEoAgw2AgAgACABKAIQNgIEC0F/DwsgAEEAQgBBABAOQn9VDQAgACgCACIARQ0BIAAQGhpBfw8LQQAhASAAQQA7ATQgAEEMagRAIABCADcCDAsgACAAKAIgQQFqNgIgCyABCzsAIAAtACgEfkJ/BSAAKAIgRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAAQQBCAEEHEA4LC5oIAQt/IABFBEAgARAJDwsgAUFATwRAQYSEAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQZSIASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQOwwBCyAHQcyEASgCAEYEQEHAhAEoAgAgBGoiBCAGTQ0CIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgBCAGayICQQFyNgIEQcCEASACNgIAQcyEASADNgIADAELIAdByIQBKAIARgRAQbyEASgCACAEaiIDIAZJDQICQCADIAZrIgJBEE8EQCAFIAlBAXEgBnJBAnI2AgQgBSAGaiIEIAJBAXI2AgQgAyAFaiIDIAI2AgAgAyADKAIEQX5xNgIEDAELIAUgCUEBcSADckECcjYCBCADIAVqIgIgAigCBEEBcjYCBEEAIQJBACEEC0HIhAEgBDYCAEG8hAEgAjYCAAwBCyAHKAIEIgNBAnENASADQXhxIARqIgogBkkNASAKIAZrIQwCQCADQf8BTQRAIAcoAggiBCADQQN2IgJBA3RB3IQBakYaIAQgBygCDCIDRgRAQbSEAUG0hAEoAgBBfiACd3E2AgAMAgsgBCADNgIMIAMgBDYCCAwBCyAHKAIYIQsCQCAHIAcoAgwiCEcEQCAHKAIIIgJBxIQBKAIASRogAiAINgIMIAggAjYCCAwBCwJAIAdBFGoiBCgCACICDQAgB0EQaiIEKAIAIgINAEEAIQgMAQsDQCAEIQMgAiIIQRRqIgQoAgAiAg0AIAhBEGohBCAIKAIQIgINAAsgA0EANgIACyALRQ0AAkAgByAHKAIcIgNBAnRB5IYBaiICKAIARgRAIAIgCDYCACAIDQFBuIQBQbiEASgCAEF+IAN3cTYCAAwCCyALQRBBFCALKAIQIAdGG2ogCDYCACAIRQ0BCyAIIAs2AhggBygCECICBEAgCCACNgIQIAIgCDYCGAsgBygCFCICRQ0AIAggAjYCFCACIAg2AhgLIAxBD00EQCAFIAlBAXEgCnJBAnI2AgQgBSAKaiICIAIoAgRBAXI2AgQMAQsgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAyAMQQNyNgIEIAUgCmoiAiACKAIEQQFyNgIEIAMgDBA7CyAFIQILIAILIgIEQCACQQhqDwsgARAJIgVFBEBBAA8LIAUgAEF8QXggAEEEaygCACICQQNxGyACQXhxaiICIAEgASACSxsQBxogABAGIAUL6QEBA38CQCABRQ0AIAJBgDBxIgIEfwJ/IAJBgCBHBEBBAiACQYAQRg0BGiADBEAgA0EANgIEIANBEjYCAAtBAA8LQQQLIQJBAAVBAQshBkEUEAkiBEUEQCADBEAgA0EANgIEIANBDjYCAAtBAA8LIAQgAUEBahAJIgU2AgAgBUUEQCAEEAZBAA8LIAUgACABEAcgAWpBADoAACAEQQA2AhAgBEIANwMIIAQgATsBBCAGDQAgBCACECNBBUcNACAEKAIAEAYgBCgCDBAGIAQQBkEAIQQgAwRAIANBADYCBCADQRI2AgALCyAEC7UBAQJ/AkACQAJAAkACQAJAAkAgAC0ABQRAIAAtAABBAnFFDQELIAAoAjAQECAAQQA2AjAgAC0ABUUNAQsgAC0AAEEIcUUNAQsgACgCNBAcIABBADYCNCAALQAFRQ0BCyAALQAAQQRxRQ0BCyAAKAI4EBAgAEEANgI4IAAtAAVFDQELIAAtAABBgAFxRQ0BCyAAKAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASELIAMhBQsgBkIuEBciA0UEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyAFEBwMAgsgA0GjEkGoEiACQYACcSIHG0EEECwgB0UEQCADIAkEf0EtBSABLwEIC0H//wNxEA0LIAMgCQR/QS0FIAEvAQoLQf//A3EQDSADIAEvAQwQDSADIAsEf0HjAAUgASgCEAtB//8DcRANIAYgASgCFDYCPAJ/IAZBPGoQjQEiCEUEQEEAIQlBIQwBCwJ/IAgoAhQiBEHQAE4EQCAEQQl0DAELIAhB0AA2AhRBgMACCyEEIAgoAgRBBXQgCCgCCEELdGogCCgCAEEBdmohCSAIKAIMIAQgCCgCEEEFdGpqQaDAAWoLIQQgAyAJQf//A3EQDSADIARB//8DcRANIAMCfyALBEBBACABKQMoQhRUDQEaCyABKAIYCxASIAEpAyAhDCADAn8gAwJ/AkAgBwRAIAxC/v///w9YBEAgASkDKEL/////D1QNAgsgA0F/EBJBfwwDC0F/IAxC/v///w9WDQEaCyAMpwsQEiABKQMoIgxC/////w8gDEL/////D1QbpwsQEiADIAEoAjAiBAR/IAQvAQQFQQALQf//A3EQDSADIAEoAjQgAhBsIAVBgAYQbGpB//8DcRANIAdFBEAgAyABKAI4IgQEfyAELwEEBUEAC0H//wNxEA0gAyABLwE8EA0gAyABLwFAEA0gAyABKAJEEBIgAyABKQNIIgxC/////w8gDEL/////D1QbpxASCyADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAMQCCAFEBwMAgsgACAGIAMtAAAEfiADKQMQBUIACxAbIQQgAxAIIARBf0wNACABKAIwIgMEQCAAIAMQYUF/TA0BCyAFBEAgACAFQYAGEGtBf0wNAQsgBRAcIAEoAjQiBQRAIAAgBSACEGtBAEgNAgsgBw0CIAEoAjgiAUUNAiAAIAEQYUEATg0CDAELIAUQHAtBfyEKCyAGQUBrJAAgCgtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvcAwICfgF/IAOtIQQgACkDmC4hBQJAIAACfyAAAn4gACgCoC4iBkEDaiIDQT9NBEAgBCAGrYYgBYQMAQsgBkHAAEYEQCAAKAIEIAAoAhBqIAU3AAAgACgCEEEIagwCCyAAKAIEIAAoAhBqIAQgBq2GIAWENwAAIAAgACgCEEEIajYCECAGQT1rIQMgBEHAACAGa62ICyIENwOYLiAAIAM2AqAuIANBOU4EQCAAKAIEIAAoAhBqIAQ3AAAgACAAKAIQQQhqNgIQDAILIANBGU4EQCAAKAIEIAAoAhBqIAQ+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiBDcDmC4gACAAKAKgLkEgayIDNgKgLgsgA0EJTgR/IAAoAgQgACgCEGogBD0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghBCAAKAKgLkEQawUgAwtBAUgNASAAKAIQCyIDQQFqNgIQIAAoAgQgA2ogBDwAAAsgAEEANgKgLiAAQgA3A5guIAAoAgQgACgCEGogAjsAACAAIAAoAhBBAmoiAzYCECAAKAIEIANqIAJBf3M7AAAgACAAKAIQQQJqIgM2AhAgAgRAIAAoAgQgA2ogASACEAcaIAAgACgCECACajYCEAsLrAQCAX8BfgJAIAANACABUA0AIAMEQCADQQA2AgQgA0ESNgIAC0EADwsCQAJAIAAgASACIAMQiQEiBEUNAEEYEAkiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAkiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEkNgIEIABCPyACQQBCAEEOQSQRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQciEASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB3IQBakYaIAAoAgwiAyAERw0CQbSEAUG0hAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQiAkEDcUEDRw0BQbyEASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAsCQCAFKAIEIgJBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAA2AgBBwIQBQcCEASgCACABaiIBNgIAIAAgAUEBcjYCBCAAQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASAANgIAQbyEAUG8hAEoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEBAkAgAkH/AU0EQCAFKAIIIgQgAkEDdiICQQN0QdyEAWpGGiAEIAUoAgwiA0YEQEG0hAFBtIQBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAFQRRqIgQoAgAiAg0AIAVBEGoiBCgCACICDQBBACEDDAELA0AgBCEHIAIiA0EUaiIEKAIAIgINACADQRBqIQQgAygCECICDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAgRAIAMgAjYCECACIAM2AhgLIAUoAhQiAkUNACADIAI2AhQgAiADNgIYCyAAIAFBAXI2AgQgACABaiABNgIAIABByIQBKAIARw0BQbyEASABNgIADwsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFB/wFNBEAgAUEDdiICQQN0QdyEAWohAQJ/QbSEASgCACIDQQEgAnQiAnFFBEBBtIQBIAIgA3I2AgAgAQwBCyABKAIICyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCA8LQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBCHYiAiACQYD+P2pBEHZBCHEiBHQiAiACQYDgH2pBEHZBBHEiA3QiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAEciACcmsiAkEBdCABIAJBFWp2QQFxckEcaiECCyAAIAI2AhwgAkECdEHkhgFqIQcCQAJAQbiEASgCACIEQQEgAnQiA3FFBEBBuIQBIAMgBHI2AgAgByAANgIAIAAgBzYCGAwBCyABQQBBGSACQQF2ayACQR9GG3QhAiAHKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWoiB0EQaigCACIDDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC1gCAX8BfgJAAn9BACAARQ0AGiAArUIChiICpyIBIABBBHJBgIAESQ0AGkF/IAEgAkIgiKcbCyIBEAkiAEUNACAAQQRrLQAAQQNxRQ0AIABBACABEBkLIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAQgBWshAwsgAwsUACAAEEAgACgCABAgIAAoAgQQIAutBAIBfgV/IwBBEGsiBCQAIAAgAWshBgJAAkAgAUEBRgRAIAAgBi0AACACEBkMAQsgAUEJTwRAIAAgBikAADcAACAAIAJBAWtBB3FBAWoiBWohACACIAVrIgFFDQIgBSAGaiECA0AgACACKQAANwAAIAJBCGohAiAAQQhqIQAgAUEIayIBDQALDAILAkACQAJAAkAgAUEEaw4FAAICAgECCyAEIAYoAAAiATYCBCAEIAE2AgAMAgsgBCAGKQAANwMADAELQQghByAEQQhqIQgDQCAIIAYgByABIAEgB0sbIgUQByAFaiEIIAcgBWsiBw0ACyAEIAQpAwg3AwALAkAgBQ0AIAJBEEkNACAEKQMAIQMgAkEQayIGQQR2QQFqQQdxIgEEQANAIAAgAzcACCAAIAM3AAAgAkEQayECIABBEGohACABQQFrIgENAAsLIAZB8ABJDQADQCAAIAM3AHggACADNwBwIAAgAzcAaCAAIAM3AGAgACADNwBYIAAgAzcAUCAAIAM3AEggACADNwBAIAAgAzcAOCAAIAM3ADAgACADNwAoIAAgAzcAICAAIAM3ABggACADNwAQIAAgAzcACCAAIAM3AAAgAEGAAWohACACQYABayICQQ9LDQALCyACQQhPBEBBCCAFayEBA0AgACAEKQMANwAAIAAgAWohACACIAFrIgJBB0sNAAsLIAJFDQEgACAEIAIQBxoLIAAgAmohAAsgBEEQaiQAIAALXwECfyAAKAIIIgEEQCABEAsgAEEANgIICwJAIAAoAgQiAUUNACABKAIAIgJBAXFFDQAgASgCEEF+Rw0AIAEgAkF+cSICNgIAIAINACABECAgAEEANgIECyAAQQA6AAwL1wICBH8BfgJAAkAgACgCQCABp0EEdGooAgAiA0UEQCACBEAgAkEANgIEIAJBFDYCAAsMAQsgACgCACADKQNIIgdBABAUIQMgACgCACEAIANBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQtCACEBIwBBEGsiBiQAQX8hAwJAIABCGkEBEBRBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsgAEIEIAZBCmogAhAtIgRFDQBBHiEAQQEhBQNAIAQQDCAAaiEAIAVBAkcEQCAFQQFqIQUMAQsLIAQtAAAEfyAEKQMQIAQpAwhRBUEAC0UEQCACBEAgAkEANgIEIAJBFDYCAAsgBBAIDAELIAQQCCAAIQMLIAZBEGokACADIgBBAEgNASAHIACtfCIBQn9VDQEgAgRAIAJBFjYCBCACQQQ2AgALC0IAIQELIAELYAIBfgF/AkAgAEUNACAAQQhqEF8iAEUNACABIAEoAjBBAWo2AjAgACADNgIIIAAgAjYCBCAAIAE2AgAgAEI/IAEgA0EAQgBBDiACEQoAIgQgBEIAUxs3AxggACEFCyAFCyIAIAAoAiRBAWtBAU0EQCAAQQBCAEEKEA4aIABBADYCJAsLbgACQAJAAkAgA0IQVA0AIAJFDQECfgJAAkACQCACKAIIDgMCAAEECyACKQMAIAB8DAILIAIpAwAgAXwMAQsgAikDAAsiA0IAUw0AIAEgA1oNAgsgBARAIARBADYCBCAEQRI2AgALC0J/IQMLIAMLggICAX8CfgJAQQEgAiADGwRAIAIgA2oQCSIFRQRAIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgAq0hBgJAAkAgAARAIAAgBhATIgBFBEAgBARAIARBADYCBCAEQQ42AgALDAULIAUgACACEAcaIAMNAQwCCyABIAUgBhARIgdCf1cEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMBAsgBiAHVQRAIAQEQCAEQQA2AgQgBEERNgIACwwECyADRQ0BCyACIAVqIgBBADoAACACQQFIDQAgBSECA0AgAi0AAEUEQCACQSA6AAALIAJBAWoiAiAASQ0ACwsLIAUPCyAFEAZBAAuBAQEBfwJAIAAEQCADQYAGcSEFQQAhAwNAAkAgAC8BCCACRw0AIAUgACgCBHFFDQAgA0EATg0DIANBAWohAwsgACgCACIADQALCyAEBEAgBEEANgIEIARBCTYCAAtBAA8LIAEEQCABIAAvAQo7AQALIAAvAQpFBEBBwBQPCyAAKAIMC1cBAX9BEBAJIgNFBEBBAA8LIAMgATsBCiADIAA7AQggA0GABjYCBCADQQA2AgACQCABBEAgAyACIAEQYyIANgIMIAANASADEAZBAA8LIANBADYCDAsgAwvuBQIEfwV+IwBB4ABrIgQkACAEQQhqIgNCADcDICADQQA2AhggA0L/////DzcDECADQQA7AQwgA0G/hig2AgggA0EBOgAGIANBADsBBCADQQA2AgAgA0IANwNIIANBgIDYjXg2AkQgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0EAOwEAIANCADcDUCABKQMIUCIDRQRAIAEoAgAoAgApA0ghBwsCfgJAIAMEQCAHIQkMAQsgByEJA0AgCqdBBHQiBSABKAIAaigCACIDKQNIIgggCSAIIAlUGyIJIAEpAyBWBEAgAgRAIAJBADYCBCACQRM2AgALQn8MAwsgAygCMCIGBH8gBi8BBAVBAAtB//8Dca0gCCADKQMgfHxCHnwiCCAHIAcgCFQbIgcgASkDIFYEQCACBEAgAkEANgIEIAJBEzYCAAtCfwwDCyAAKAIAIAEoAgAgBWooAgApA0hBABAUIQYgACgCACEDIAZBf0wEQCACBEAgAiADKAIMNgIAIAIgAygCEDYCBAtCfwwDCyAEQQhqIANBAEEBIAIQaEJ/UQRAIARBCGoQNkJ/DAMLAkACQCABKAIAIAVqKAIAIgMvAQogBC8BEkkNACADKAIQIAQoAhhHDQAgAygCFCAEKAIcRw0AIAMoAjAgBCgCOBBiRQ0AAkAgBCgCICIGIAMoAhhHBEAgBCkDKCEIDAELIAMpAyAiCyAEKQMoIghSDQAgCyEIIAMpAyggBCkDMFENAgsgBC0AFEEIcUUNACAGDQAgCEIAUg0AIAQpAzBQDQELIAIEQCACQQA2AgQgAkEVNgIACyAEQQhqEDZCfwwDCyABKAIAIAVqKAIAKAI0IAQoAjwQbyEDIAEoAgAgBWooAgAiBUEBOgAEIAUgAzYCNCAEQQA2AjwgBEEIahA2IApCAXwiCiABKQMIVA0ACwsgByAJfSIHQv///////////wAgB0L///////////8AVBsLIQcgBEHgAGokACAHC8YBAQJ/QdgAEAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAECf0EYEAkiAkUEQCAABEAgAEEANgIEIABBDjYCAAtBAAwBCyACQQA2AhAgAkIANwMIIAJBADYCACACCyIANgJQIABFBEAgARAGQQAPCyABQgA3AwAgAUEANgIQIAFCADcCCCABQgA3AhQgAUEANgJUIAFCADcCHCABQgA3ACEgAUIANwMwIAFCADcDOCABQUBrQgA3AwAgAUIANwNIIAELgBMCD38CfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohEyAFQThqIRBBACEBA0ACQCAOQQBIDQBB/////wcgDmsgAUgEQEGEhAFBPTYCAEF/IQ4MAQsgASAOaiEOCyAFKAJMIgchAQJAAkACQAJAAkACQAJAAkAgBQJ/AkAgBy0AACIGBEADQAJAAkAgBkH/AXEiBkUEQCABIQYMAQsgBkElRw0BIAEhBgNAIAEtAAFBJUcNASAFIAFBAmoiCDYCTCAGQQFqIQYgAS0AAiEMIAghASAMQSVGDQALCyAGIAdrIQEgAARAIAAgByABEC4LIAENDSAFKAJMIQEgBSgCTCwAAUEwa0EKTw0DIAEtAAJBJEcNAyABLAABQTBrIQ9BASERIAFBA2oMBAsgBSABQQFqIgg2AkwgAS0AASEGIAghAQwACwALIA4hDSAADQggEUUNAkEBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhB4QQEhDSABQQFqIgFBCkcNAQwKCwtBASENIAFBCk8NCANAIAQgAUECdGooAgANCCABQQFqIgFBCkcNAAsMCAtBfyEPIAFBAWoLIgE2AkxBACEIAkAgASwAACIKQSBrIgZBH0sNAEEBIAZ0IgZBidEEcUUNAANAAkAgBSABQQFqIgg2AkwgASwAASIKQSBrIgFBIE8NAEEBIAF0IgFBidEEcUUNACABIAZyIQYgCCEBDAELCyAIIQEgBiEICwJAIApBKkYEQCAFAn8CQCABLAABQTBrQQpPDQAgBSgCTCIBLQACQSRHDQAgASwAAUECdCAEakHAAWtBCjYCACABLAABQQN0IANqQYADaygCACELQQEhESABQQNqDAELIBENCEEAIRFBACELIAAEQCACIAIoAgAiAUEEajYCACABKAIAIQsLIAUoAkxBAWoLIgE2AkwgC0F/Sg0BQQAgC2shCyAIQYDAAHIhCAwBCyAFQcwAahB3IgtBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQdyEJIAUoAkwhAQtBACEGA0AgBiESQX8hDSABLAAAQcEAa0E5Sw0HIAUgAUEBaiIKNgJMIAEsAAAhBiAKIQEgBiASQTpsakGf7ABqLQAAIgZBAWtBCEkNAAsgBkETRg0CIAZFDQYgD0EATgRAIAQgD0ECdGogBjYCACAFIAMgD0EDdGopAwA3A0AMBAsgAA0BC0EAIQ0MBQsgBUFAayAGIAIQeCAFKAJMIQoMAgsgD0F/Sg0DC0EAIQEgAEUNBAsgCEH//3txIgwgCCAIQYDAAHEbIQZBACENQaQIIQ8gECEIAkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgCkEBaywAACIBQV9xIAEgAUEPcUEDRhsgASASGyIBQdgAaw4hBBISEhISEhISDhIPBg4ODhIGEhISEgIFAxISCRIBEhIEAAsCQCABQcEAaw4HDhILEg4ODgALIAFB0wBGDQkMEQsgBSkDQCEUQaQIDAULQQAhAQJAAkACQAJAAkACQAJAIBJB/wFxDggAAQIDBBcFBhcLIAUoAkAgDjYCAAwWCyAFKAJAIA42AgAMFQsgBSgCQCAOrDcDAAwUCyAFKAJAIA47AQAMEwsgBSgCQCAOOgAADBILIAUoAkAgDjYCAAwRCyAFKAJAIA6sNwMADBALIAlBCCAJQQhLGyEJIAZBCHIhBkH4ACEBCyAQIQcgAUEgcSEMIAUpA0AiFFBFBEADQCAHQQFrIgcgFKdBD3FBsPAAai0AACAMcjoAACAUQg9WIQogFEIEiCEUIAoNAAsLIAUpA0BQDQMgBkEIcUUNAyABQQR2QaQIaiEPQQIhDQwDCyAQIQEgBSkDQCIUUEUEQANAIAFBAWsiASAUp0EHcUEwcjoAACAUQgdWIQcgFEIDiCEUIAcNAAsLIAEhByAGQQhxRQ0CIAkgECAHayIBQQFqIAEgCUgbIQkMAgsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASENQaQIDAELIAZBgBBxBEBBASENQaUIDAELQaYIQaQIIAZBAXEiDRsLIQ8gECEBAkAgFEKAgICAEFQEQCAUIRUMAQsDQCABQQFrIgEgFCAUQgqAIhVCCn59p0EwcjoAACAUQv////+fAVYhByAVIRQgBw0ACwsgFaciBwRAA0AgAUEBayIBIAcgB0EKbiIMQQpsa0EwcjoAACAHQQlLIQogDCEHIAoNAAsLIAEhBwsgBkH//3txIAYgCUF/ShshBgJAIAUpA0AiFEIAUg0AIAkNAEEAIQkgECEHDAoLIAkgFFAgECAHa2oiASABIAlIGyEJDAkLIAUoAkAiAUGKEiABGyIHQQAgCRB6IgEgByAJaiABGyEIIAwhBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIAtBACAGECcMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQeSIHQQBIIgwNACAHIAkgAWtLDQAgCEEEaiEIIAkgASAHaiIBSw0BDAILC0F/IQ0gDA0FCyAAQSAgCyABIAYQJyABRQRAQQAhAQwBC0EAIQggBSgCQCEKA0AgCigCACIHRQ0BIAVBBGogBxB5IgcgCGoiCCABSg0BIAAgBUEEaiAHEC4gCkEEaiEKIAEgCEsNAAsLIABBICALIAEgBkGAwABzECcgCyABIAEgC0gbIQEMBQsgACAFKwNAIAsgCSAGIAFBABEdACEBDAQLIAUgBSkDQDwAN0EBIQkgEyEHIAwhBgwCC0F/IQ0LIAVB0ABqJAAgDQ8LIABBICANIAggB2siDCAJIAkgDEgbIgpqIgggCyAIIAtKGyIBIAggBhAnIAAgDyANEC4gAEEwIAEgCCAGQYCABHMQJyAAQTAgCiAMQQAQJyAAIAcgDBAuIABBICABIAggBkGAwABzECcMAAsAC54DAgR/AX4gAARAIAAoAgAiAQRAIAEQGhogACgCABALCyAAKAIcEAYgACgCIBAQIAAoAiQQECAAKAJQIgMEQCADKAIQIgIEQCADKAIAIgEEfwNAIAIgBEECdGooAgAiAgRAA0AgAigCGCEBIAIQBiABIgINAAsgAygCACEBCyABIARBAWoiBEsEQCADKAIQIQIMAQsLIAMoAhAFIAILEAYLIAMQBgsgACgCQCIBBEAgACkDMFAEfyABBSABED5CAiEFAkAgACkDMEICVA0AQQEhAgNAIAAoAkAgAkEEdGoQPiAFIAApAzBaDQEgBachAiAFQgF8IQUMAAsACyAAKAJACxAGCwJAIAAoAkRFDQBBACECQgEhBQNAIAAoAkwgAkECdGooAgAiAUEBOgAoIAFBDGoiASgCAEUEQCABBEAgAUEANgIEIAFBCDYCAAsLIAUgADUCRFoNASAFpyECIAVCAXwhBQwACwALIAAoAkwQBiAAKAJUIgIEQCACKAIIIgEEQCACKAIMIAERAwALIAIQBgsgAEEIahAxIAAQBgsL6gMCAX4EfwJAIAAEfiABRQRAIAMEQCADQQA2AgQgA0ESNgIAC0J/DwsgAkGDIHEEQAJAIAApAzBQDQBBPEE9IAJBAXEbIQcgAkECcUUEQANAIAAgBCACIAMQUyIFBEAgASAFIAcRAgBFDQYLIARCAXwiBCAAKQMwVA0ADAILAAsDQCAAIAQgAiADEFMiBQRAIAECfyAFECJBAWohBgNAQQAgBkUNARogBSAGQQFrIgZqIggtAABBL0cNAAsgCAsiBkEBaiAFIAYbIAcRAgBFDQULIARCAXwiBCAAKQMwVA0ACwsgAwRAIANBADYCBCADQQk2AgALQn8PC0ESIQYCQAJAIAAoAlAiBUUNACABRQ0AQQkhBiAFKQMIUA0AIAUoAhAgAS0AACIHBH9CpesKIQQgASEAA0AgBCAHrUL/AYN8IQQgAC0AASIHBEAgAEEBaiEAIARC/////w+DQiF+IQQMAQsLIASnBUGFKgsgBSgCAHBBAnRqKAIAIgBFDQADQCABIAAoAgAQOEUEQCACQQhxBEAgACkDCCIEQn9RDQMMBAsgACkDECIEQn9RDQIMAwsgACgCGCIADQALCyADBEAgA0EANgIEIAMgBjYCAAtCfyEECyAEBUJ/Cw8LIAMEQCADQgA3AgALIAQL3AQCB38BfgJAAkAgAEUNACABRQ0AIAJCf1UNAQsgBARAIARBADYCBCAEQRI2AgALQQAPCwJAIAAoAgAiB0UEQEGAAiEHQYACEDwiBkUNASAAKAIQEAYgAEGAAjYCACAAIAY2AhALAkACQCAAKAIQIAEtAAAiBQR/QqXrCiEMIAEhBgNAIAwgBa1C/wGDfCEMIAYtAAEiBQRAIAZBAWohBiAMQv////8Pg0IhfiEMDAELCyAMpwVBhSoLIgYgB3BBAnRqIggoAgAiBQRAA0ACQCAFKAIcIAZHDQAgASAFKAIAEDgNAAJAIANBCHEEQCAFKQMIQn9SDQELIAUpAxBCf1ENBAsgBARAIARBADYCBCAEQQo2AgALQQAPCyAFKAIYIgUNAAsLQSAQCSIFRQ0CIAUgATYCACAFIAgoAgA2AhggCCAFNgIAIAVCfzcDCCAFIAY2AhwgACAAKQMIQgF8Igw3AwggDLogB7hEAAAAAAAA6D+iZEUNACAHQQBIDQAgByAHQQF0IghGDQAgCBA8IgpFDQECQCAMQgAgBxtQBEAgACgCECEJDAELIAAoAhAhCUEAIQQDQCAJIARBAnRqKAIAIgYEQANAIAYoAhghASAGIAogBigCHCAIcEECdGoiCygCADYCGCALIAY2AgAgASIGDQALCyAEQQFqIgQgB0cNAAsLIAkQBiAAIAg2AgAgACAKNgIQCyADQQhxBEAgBSACNwMICyAFIAI3AxBBAQ8LIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgBARAIARBADYCBCAEQQ42AgALQQAL3Q8BF38jAEFAaiIHQgA3AzAgB0IANwM4IAdCADcDICAHQgA3AygCQAJAAkACQAJAIAIEQCACQQNxIQggAkEBa0EDTwRAIAJBfHEhBgNAIAdBIGogASAJQQF0IgxqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBAnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBHJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgCUEEaiEJIAZBBGsiBg0ACwsgCARAA0AgB0EgaiABIAlBAXRqLwEAQQF0aiIGIAYvAQBBAWo7AQAgCUEBaiEJIAhBAWsiCA0ACwsgBCgCACEJQQ8hCyAHLwE+IhENAgwBCyAEKAIAIQkLQQ4hC0EAIREgBy8BPA0AQQ0hCyAHLwE6DQBBDCELIAcvATgNAEELIQsgBy8BNg0AQQohCyAHLwE0DQBBCSELIAcvATINAEEIIQsgBy8BMA0AQQchCyAHLwEuDQBBBiELIAcvASwNAEEFIQsgBy8BKg0AQQQhCyAHLwEoDQBBAyELIAcvASYNAEECIQsgBy8BJA0AIAcvASJFBEAgAyADKAIAIgBBBGo2AgAgAEHAAjYBACADIAMoAgAiAEEEajYCACAAQcACNgEAQQEhDQwDCyAJQQBHIRtBASELQQEhCQwBCyALIAkgCSALSxshG0EBIQ5BASEJA0AgB0EgaiAJQQF0ai8BAA0BIAlBAWoiCSALRw0ACyALIQkLQX8hCCAHLwEiIg9BAksNAUEEIAcvASQiECAPQQF0amsiBkEASA0BIAZBAXQgBy8BJiISayIGQQBIDQEgBkEBdCAHLwEoIhNrIgZBAEgNASAGQQF0IAcvASoiFGsiBkEASA0BIAZBAXQgBy8BLCIVayIGQQBIDQEgBkEBdCAHLwEuIhZrIgZBAEgNASAGQQF0IAcvATAiF2siBkEASA0BIAZBAXQgBy8BMiIZayIGQQBIDQEgBkEBdCAHLwE0IhxrIgZBAEgNASAGQQF0IAcvATYiDWsiBkEASA0BIAZBAXQgBy8BOCIYayIGQQBIDQEgBkEBdCAHLwE6IgxrIgZBAEgNASAGQQF0IAcvATwiCmsiBkEASA0BIAZBAXQgEWsiBkEASA0BIAZBACAARSAOchsNASAJIBtLIRpBACEIIAdBADsBAiAHIA87AQQgByAPIBBqIgY7AQYgByAGIBJqIgY7AQggByAGIBNqIgY7AQogByAGIBRqIgY7AQwgByAGIBVqIgY7AQ4gByAGIBZqIgY7ARAgByAGIBdqIgY7ARIgByAGIBlqIgY7ARQgByAGIBxqIgY7ARYgByAGIA1qIgY7ARggByAGIBhqIgY7ARogByAGIAxqIgY7ARwgByAGIApqOwEeAkAgAkUNACACQQFHBEAgAkF+cSEGA0AgASAIQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAg7AQALIAEgCEEBciIMQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAw7AQALIAhBAmohCCAGQQJrIgYNAAsLIAJBAXFFDQAgASAIQQF0ai8BACICRQ0AIAcgAkEBdGoiAiACLwEAIgJBAWo7AQAgBSACQQF0aiAIOwEACyAJIBsgGhshDUEUIRBBACEWIAUiCiEYQQAhEgJAAkACQCAADgICAAELQQEhCCANQQpLDQNBgQIhEEHw2QAhGEGw2QAhCkEBIRIMAQsgAEECRiEWQQAhEEHw2gAhGEGw2gAhCiAAQQJHBEAMAQtBASEIIA1BCUsNAgtBASANdCITQQFrIRwgAygCACEUQQAhFSANIQZBACEPQQAhDkF/IQIDQEEBIAZ0IRoCQANAIAkgD2shFwJAIAUgFUEBdGovAQAiCCAQTwRAIAogCCAQa0EBdCIAai8BACERIAAgGGotAAAhAAwBC0EAQeAAIAhBAWogEEkiBhshACAIQQAgBhshEQsgDiAPdiEMQX8gF3QhBiAaIQgDQCAUIAYgCGoiCCAMakECdGoiGSAROwECIBkgFzoAASAZIAA6AAAgCA0AC0EBIAlBAWt0IQYDQCAGIgBBAXYhBiAAIA5xDQALIAdBIGogCUEBdGoiBiAGLwEAQQFrIgY7AQAgAEEBayAOcSAAakEAIAAbIQ4gFUEBaiEVIAZB//8DcUUEQCAJIAtGDQIgASAFIBVBAXRqLwEAQQF0ai8BACEJCyAJIA1NDQAgDiAccSIAIAJGDQALQQEgCSAPIA0gDxsiD2siBnQhAiAJIAtJBEAgCyAPayEMIAkhCAJAA0AgAiAHQSBqIAhBAXRqLwEAayICQQFIDQEgAkEBdCECIAZBAWoiBiAPaiIIIAtJDQALIAwhBgtBASAGdCECC0EBIQggEiACIBNqIhNBtApLcQ0DIBYgE0HQBEtxDQMgAygCACICIABBAnRqIgggDToAASAIIAY6AAAgCCAUIBpBAnRqIhQgAmtBAnY7AQIgACECDAELCyAOBEAgFCAOQQJ0aiIAQQA7AQIgACAXOgABIABBwAA6AAALIAMgAygCACATQQJ0ajYCAAsgBCANNgIAQQAhCAsgCAusAQICfgF/IAFBAmqtIQIgACkDmC4hAwJAIAAoAqAuIgFBA2oiBEE/TQRAIAIgAa2GIAOEIQIMAQsgAUHAAEYEQCAAKAIEIAAoAhBqIAM3AAAgACAAKAIQQQhqNgIQQQMhBAwBCyAAKAIEIAAoAhBqIAIgAa2GIAOENwAAIAAgACgCEEEIajYCECABQT1rIQQgAkHAACABa62IIQILIAAgAjcDmC4gACAENgKgLguXAwICfgN/QYDJADMBACECIAApA5guIQMCQCAAKAKgLiIFQYLJAC8BACIGaiIEQT9NBEAgAiAFrYYgA4QhAgwBCyAFQcAARgRAIAAoAgQgACgCEGogAzcAACAAIAAoAhBBCGo2AhAgBiEEDAELIAAoAgQgACgCEGogAiAFrYYgA4Q3AAAgACAAKAIQQQhqNgIQIARBQGohBCACQcAAIAVrrYghAgsgACACNwOYLiAAIAQ2AqAuIAEEQAJAIARBOU4EQCAAKAIEIAAoAhBqIAI3AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAI+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiAjcDmC4gACAAKAKgLkEgayIENgKgLgsgBEEJTgR/IAAoAgQgACgCEGogAj0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghAiAAKAKgLkEQawUgBAtBAUgNACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAI8AAALIABBADYCoC4gAEIANwOYLgsL8hQBEn8gASgCCCICKAIAIQUgAigCDCEHIAEoAgAhCCAAQoCAgIDQxwA3A6ApQQAhAgJAAkAgB0EASgRAQX8hDANAAkAgCCACQQJ0aiIDLwEABEAgACAAKAKgKUEBaiIDNgKgKSAAIANBAnRqQawXaiACNgIAIAAgAmpBqClqQQA6AAAgAiEMDAELIANBADsBAgsgAkEBaiICIAdHDQALIABB/C1qIQ8gAEH4LWohESAAKAKgKSIEQQFKDQIMAQsgAEH8LWohDyAAQfgtaiERQX8hDAsDQCAAIARBAWoiAjYCoCkgACACQQJ0akGsF2ogDEEBaiIDQQAgDEECSCIGGyICNgIAIAggAkECdCIEakEBOwEAIAAgAmpBqClqQQA6AAAgACAAKAL4LUEBazYC+C0gBQRAIA8gDygCACAEIAVqLwECazYCAAsgAyAMIAYbIQwgACgCoCkiBEECSA0ACwsgASAMNgIEIARBAXYhBgNAIAAgBkECdGpBrBdqKAIAIQkCQCAGIgJBAXQiAyAESg0AIAggCUECdGohCiAAIAlqQagpaiENIAYhBQNAAkAgAyAETgRAIAMhAgwBCyAIIABBrBdqIgIgA0EBciIEQQJ0aigCACILQQJ0ai8BACIOIAggAiADQQJ0aigCACIQQQJ0ai8BACICTwRAIAIgDkcEQCADIQIMAgsgAyECIABBqClqIgMgC2otAAAgAyAQai0AAEsNAQsgBCECCyAKLwEAIgQgCCAAIAJBAnRqQawXaigCACIDQQJ0ai8BACILSQRAIAUhAgwCCwJAIAQgC0cNACANLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAAgAkECdGpBrBdqIAk2AgAgBkECTgRAIAZBAWshBiAAKAKgKSEEDAELCyAAKAKgKSEDA0AgByEGIAAgA0EBayIENgKgKSAAKAKwFyEKIAAgACADQQJ0akGsF2ooAgAiCTYCsBdBASECAkAgA0EDSA0AIAggCUECdGohDSAAIAlqQagpaiELQQIhA0EBIQUDQAJAIAMgBE4EQCADIQIMAQsgCCAAQawXaiICIANBAXIiB0ECdGooAgAiBEECdGovAQAiDiAIIAIgA0ECdGooAgAiEEECdGovAQAiAk8EQCACIA5HBEAgAyECDAILIAMhAiAAQagpaiIDIARqLQAAIAMgEGotAABLDQELIAchAgsgDS8BACIHIAggACACQQJ0akGsF2ooAgAiA0ECdGovAQAiBEkEQCAFIQIMAgsCQCAEIAdHDQAgCy0AACAAIANqQagpai0AAEsNACAFIQIMAgsgACAFQQJ0akGsF2ogAzYCACACIQUgAkEBdCIDIAAoAqApIgRMDQALC0ECIQMgAEGsF2oiByACQQJ0aiAJNgIAIAAgACgCpClBAWsiBTYCpCkgACgCsBchAiAHIAVBAnRqIAo2AgAgACAAKAKkKUEBayIFNgKkKSAHIAVBAnRqIAI2AgAgCCAGQQJ0aiINIAggAkECdGoiBS8BACAIIApBAnRqIgQvAQBqOwEAIABBqClqIgkgBmoiCyACIAlqLQAAIgIgCSAKai0AACIKIAIgCksbQQFqOgAAIAUgBjsBAiAEIAY7AQIgACAGNgKwF0EBIQVBASECAkAgACgCoCkiBEECSA0AA0AgDS8BACIKIAggAAJ/IAMgAyAETg0AGiAIIAcgA0EBciICQQJ0aigCACIEQQJ0ai8BACIOIAggByADQQJ0aigCACIQQQJ0ai8BACISTwRAIAMgDiASRw0BGiADIAQgCWotAAAgCSAQai0AAEsNARoLIAILIgJBAnRqQawXaigCACIDQQJ0ai8BACIESQRAIAUhAgwCCwJAIAQgCkcNACALLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAZBAWohByAAIAJBAnRqQawXaiAGNgIAIAAoAqApIgNBAUoNAAsgACAAKAKkKUEBayICNgKkKSAAQawXaiIDIAJBAnRqIAAoArAXNgIAIAEoAgQhCSABKAIIIgIoAhAhBiACKAIIIQogAigCBCEQIAIoAgAhDSABKAIAIQcgAEGkF2pCADcBACAAQZwXakIANwEAIABBlBdqQgA3AQAgAEGMF2oiAUIANwEAQQAhBSAHIAMgACgCpClBAnRqKAIAQQJ0akEAOwECAkAgACgCpCkiAkG7BEoNACACQQFqIQIDQCAHIAAgAkECdGpBrBdqKAIAIgRBAnQiEmoiCyAHIAsvAQJBAnRqLwECIgNBAWogBiADIAZJGyIOOwECIAMgBk8hEwJAIAQgCUoNACAAIA5BAXRqQYwXaiIDIAMvAQBBAWo7AQBBACEDIAQgCk4EQCAQIAQgCmtBAnRqKAIAIQMLIBEgESgCACALLwEAIgQgAyAOamxqNgIAIA1FDQAgDyAPKAIAIAMgDSASai8BAmogBGxqNgIACyAFIBNqIQUgAkEBaiICQb0ERw0ACyAFRQ0AIAAgBkEBdGpBjBdqIQQDQCAGIQIDQCAAIAIiA0EBayICQQF0akGMF2oiDy8BACIKRQ0ACyAPIApBAWs7AQAgACADQQF0akGMF2oiAiACLwEAQQJqOwEAIAQgBC8BAEEBayIDOwEAIAVBAkohAiAFQQJrIQUgAg0ACyAGRQ0AQb0EIQIDQCADQf//A3EiBQRAA0AgACACQQFrIgJBAnRqQawXaigCACIDIAlKDQAgByADQQJ0aiIDLwECIAZHBEAgESARKAIAIAYgAy8BAGxqIgQ2AgAgESAEIAMvAQAgAy8BAmxrNgIAIAMgBjsBAgsgBUEBayIFDQALCyAGQQFrIgZFDQEgACAGQQF0akGMF2ovAQAhAwwACwALIwBBIGsiAiABIgAvAQBBAXQiATsBAiACIAEgAC8BAmpBAXQiATsBBCACIAEgAC8BBGpBAXQiATsBBiACIAEgAC8BBmpBAXQiATsBCCACIAEgAC8BCGpBAXQiATsBCiACIAEgAC8BCmpBAXQiATsBDCACIAEgAC8BDGpBAXQiATsBDiACIAEgAC8BDmpBAXQiATsBECACIAEgAC8BEGpBAXQiATsBEiACIAEgAC8BEmpBAXQiATsBFCACIAEgAC8BFGpBAXQiATsBFiACIAEgAC8BFmpBAXQiATsBGCACIAEgAC8BGGpBAXQiATsBGiACIAEgAC8BGmpBAXQiATsBHCACIAAvARwgAWpBAXQ7AR5BACEAIAxBAE4EQANAIAggAEECdGoiAy8BAiIBBEAgAiABQQF0aiIFIAUvAQAiBUEBajsBACADIAWtQoD+A4NCCIhCgpCAgQh+QpDCiKKIAYNCgYKEiBB+QiCIp0H/AXEgBUH/AXGtQoKQgIEIfkKQwoiiiAGDQoGChIgQfkIYiKdBgP4DcXJBECABa3Y7AQALIAAgDEchASAAQQFqIQAgAQ0ACwsLcgEBfyMAQRBrIgQkAAJ/QQAgAEUNABogAEEIaiEAIAFFBEAgAlBFBEAgAARAIABBADYCBCAAQRI2AgALQQAMAgtBAEIAIAMgABA6DAELIAQgAjcDCCAEIAE2AgAgBEIBIAMgABA6CyEAIARBEGokACAACyIAIAAgASACIAMQJiIARQRAQQAPCyAAKAIwQQAgAiADECULAwABC8gFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEBRgRAIAMgAS0AAGpB8f8DcCIAIARqQfH/A3BBEHQgAHIPCwJAIAEEfyACQRBJDQECQCACQa8rSwRAA0AgAkGwK2shAkG1BSEFIAEhAANAIAMgAC0AAGoiAyAEaiADIAAtAAFqIgNqIAMgAC0AAmoiA2ogAyAALQADaiIDaiADIAAtAARqIgNqIAMgAC0ABWoiA2ogAyAALQAGaiIDaiADIAAtAAdqIgNqIQQgBQRAIABBCGohACAFQQFrIQUMAQsLIARB8f8DcCEEIANB8f8DcCEDIAFBsCtqIQEgAkGvK0sNAAsgAkEISQ0BCwNAIAMgAS0AAGoiACAEaiAAIAEtAAFqIgBqIAAgAS0AAmoiAGogACABLQADaiIAaiAAIAEtAARqIgBqIAAgAS0ABWoiAGogACABLQAGaiIAaiAAIAEtAAdqIgNqIQQgAUEIaiEBIAJBCGsiAkEHSw0ACwsCQCACRQ0AIAJBAWshBiACQQNxIgUEQCABIQADQCACQQFrIQIgAyAALQAAaiIDIARqIQQgAEEBaiIBIQAgBUEBayIFDQALCyAGQQNJDQADQCADIAEtAABqIgAgAS0AAWoiBSABLQACaiIGIAEtAANqIgMgBiAFIAAgBGpqamohBCABQQRqIQEgAkEEayICDQALCyADQfH/A3AgBEHx/wNwQRB0cgVBAQsPCwJAIAJFDQAgAkEBayEGIAJBA3EiBQRAIAEhAANAIAJBAWshAiADIAAtAABqIgMgBGohBCAAQQFqIgEhACAFQQFrIgUNAAsLIAZBA0kNAANAIAMgAS0AAGoiACABLQABaiIFIAEtAAJqIgYgAS0AA2oiAyAGIAUgACAEampqaiEEIAFBBGohASACQQRrIgINAAsLIANB8f8DcCAEQfH/A3BBEHRyCx8AIAAgAiADQcCAASgCABEAACEAIAEgAiADEAcaIAALIwAgACAAKAJAIAIgA0HUgAEoAgARAAA2AkAgASACIAMQBxoLzSoCGH8HfiAAKAIMIgIgACgCECIDaiEQIAMgAWshASAAKAIAIgUgACgCBGohA0F/IAAoAhwiBygCpAF0IQRBfyAHKAKgAXQhCyAHKAI4IQwCf0EAIAcoAiwiEUUNABpBACACIAxJDQAaIAJBhAJqIAwgEWpNCyEWIBBBgwJrIRMgASACaiEXIANBDmshFCAEQX9zIRggC0F/cyESIAcoApwBIRUgBygCmAEhDSAHKAKIASEIIAc1AoQBIR0gBygCNCEOIAcoAjAhGSAQQQFqIQ8DQCAIQThyIQYgBSAIQQN2QQdxayELAn8gAiANIAUpAAAgCK2GIB2EIh2nIBJxQQJ0IgFqIgMtAAAiBA0AGiACIAEgDWoiAS0AAjoAACAGIAEtAAEiAWshBiACQQFqIA0gHSABrYgiHacgEnFBAnQiAWoiAy0AACIEDQAaIAIgASANaiIDLQACOgABIAYgAy0AASIDayEGIA0gHSADrYgiHacgEnFBAnRqIgMtAAAhBCACQQJqCyEBIAtBB2ohBSAGIAMtAAEiAmshCCAdIAKtiCEdAkACQAJAIARB/wFxRQ0AAkACQAJAAkACQANAIARBEHEEQCAVIB0gBK1CD4OIIhqnIBhxQQJ0aiECAn8gCCAEQQ9xIgZrIgRBG0sEQCAEIQggBQwBCyAEQThyIQggBSkAACAErYYgGoQhGiAFIARBA3ZrQQdqCyELIAMzAQIhGyAIIAItAAEiA2shCCAaIAOtiCEaIAItAAAiBEEQcQ0CA0AgBEHAAHFFBEAgCCAVIAIvAQJBAnRqIBqnQX8gBHRBf3NxQQJ0aiICLQABIgNrIQggGiADrYghGiACLQAAIgRBEHFFDQEMBAsLIAdB0f4ANgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsiAw0ACwsgAUEHSQ0BA0AgACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAQQhqIQAgAkEIaiECIARBCGsiBA0ACwwBCyAERQ0AIAAgASAEED8hAAsgAAvyCAEXfyAAKAJoIgwgACgCMEGGAmsiBWtBACAFIAxJGyENIAAoAnQhAiAAKAKQASEPIAAoAkgiDiAMaiIJIAAoAnAiBUECIAUbIgVBAWsiBmoiAy0AASESIAMtAAAhEyAGIA5qIQZBAyEDIAAoApQBIRYgACgCPCEUIAAoAkwhECAAKAI4IRECQAJ/IAVBA0kEQCANIQggDgwBCyAAIABBACAJLQABIAAoAnwRAAAgCS0AAiAAKAJ8EQAAIQoDQCAAIAogAyAJai0AACAAKAJ8EQAAIQogACgCUCAKQQF0ai8BACIIIAEgCCABQf//A3FJIggbIQEgA0ECayAHIAgbIQcgA0EBaiIDIAVNDQALIAFB//8DcSAHIA1qIghB//8DcU0NASAGIAdB//8DcSIDayEGIA4gA2sLIQMCQAJAIAwgAUH//wNxTQ0AIAIgAkECdiAFIA9JGyEKIA1B//8DcSEVIAlBAmohDyAJQQRrIRcDQAJAAkAgBiABQf//A3EiC2otAAAgE0cNACAGIAtBAWoiAWotAAAgEkcNACADIAtqIgItAAAgCS0AAEcNACABIANqLQAAIAktAAFGDQELIApBAWsiCkUNAiAQIAsgEXFBAXRqLwEAIgEgCEH//wNxSw0BDAILIAJBAmohAUEAIQQgDyECAkADQCACLQAAIAEtAABHDQEgAi0AASABLQABRwRAIARBAXIhBAwCCyACLQACIAEtAAJHBEAgBEECciEEDAILIAItAAMgAS0AA0cEQCAEQQNyIQQMAgsgAi0ABCABLQAERwRAIARBBHIhBAwCCyACLQAFIAEtAAVHBEAgBEEFciEEDAILIAItAAYgAS0ABkcEQCAEQQZyIQQMAgsgAi0AByABLQAHRwRAIARBB3IhBAwCCyABQQhqIQEgAkEIaiECIARB+AFJIRggBEEIaiEEIBgNAAtBgAIhBAsCQAJAIAUgBEECaiICSQRAIAAgCyAHQf//A3FrIgY2AmwgAiAUSwRAIBQPCyACIBZPBEAgAg8LIAkgBEEBaiIFaiIBLQABIRIgAS0AACETAkAgAkEESQ0AIAIgBmogDE8NACAGQf//A3EhCCAEQQFrIQtBACEDQQAhBwNAIBAgAyAIaiARcUEBdGovAQAiASAGQf//A3FJBEAgAyAVaiABTw0IIAMhByABIQYLIANBAWoiAyALTQ0ACyAAIAAgAEEAIAIgF2oiAS0AACAAKAJ8EQAAIAEtAAEgACgCfBEAACABLQACIAAoAnwRAAAhASAAKAJQIAFBAXRqLwEAIgEgBkH//wNxTwRAIAdB//8DcSEDIAYhAQwDCyAEQQJrIgdB//8DcSIDIBVqIAFPDQYMAgsgAyAFaiEGIAIhBQsgCkEBayIKRQ0DIBAgCyARcUEBdGovAQAiASAIQf//A3FNDQMMAQsgByANaiEIIA4gA2siAyAFaiEGIAIhBQsgDCABQf//A3FLDQALCyAFDwsgAiEFCyAFIAAoAjwiACAAIAVLGwuGBQETfyAAKAJ0IgMgA0ECdiAAKAJwIgNBAiADGyIDIAAoApABSRshByAAKAJoIgogACgCMEGGAmsiBWtB//8DcUEAIAUgCkkbIQwgACgCSCIIIApqIgkgA0EBayICaiIFLQABIQ0gBS0AACEOIAlBAmohBSACIAhqIQsgACgClAEhEiAAKAI8IQ8gACgCTCEQIAAoAjghESAAKAKIAUEFSCETA0ACQCAKIAFB//8DcU0NAANAAkACQCALIAFB//8DcSIGai0AACAORw0AIAsgBkEBaiIBai0AACANRw0AIAYgCGoiAi0AACAJLQAARw0AIAEgCGotAAAgCS0AAUYNAQsgB0EBayIHRQ0CIAwgECAGIBFxQQF0ai8BACIBSQ0BDAILCyACQQJqIQRBACECIAUhAQJAA0AgAS0AACAELQAARw0BIAEtAAEgBC0AAUcEQCACQQFyIQIMAgsgAS0AAiAELQACRwRAIAJBAnIhAgwCCyABLQADIAQtAANHBEAgAkEDciECDAILIAEtAAQgBC0ABEcEQCACQQRyIQIMAgsgAS0ABSAELQAFRwRAIAJBBXIhAgwCCyABLQAGIAQtAAZHBEAgAkEGciECDAILIAEtAAcgBC0AB0cEQCACQQdyIQIMAgsgBEEIaiEEIAFBCGohASACQfgBSSEUIAJBCGohAiAUDQALQYACIQILAkAgAyACQQJqIgFJBEAgACAGNgJsIAEgD0sEQCAPDwsgASASTwRAIAEPCyAIIAJBAWoiA2ohCyADIAlqIgMtAAEhDSADLQAAIQ4gASEDDAELIBMNAQsgB0EBayIHRQ0AIAwgECAGIBFxQQF0ai8BACIBSQ0BCwsgAwvLAQECfwJAA0AgAC0AACABLQAARw0BIAAtAAEgAS0AAUcEQCACQQFyDwsgAC0AAiABLQACRwRAIAJBAnIPCyAALQADIAEtAANHBEAgAkEDcg8LIAAtAAQgAS0ABEcEQCACQQRyDwsgAC0ABSABLQAFRwRAIAJBBXIPCyAALQAGIAEtAAZHBEAgAkEGcg8LIAAtAAcgAS0AB0cEQCACQQdyDwsgAUEIaiEBIABBCGohACACQfgBSSEDIAJBCGohAiADDQALQYACIQILIAIL5wwBB38gAEF/cyEAIAJBF08EQAJAIAFBA3FFDQAgAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAkEBayIEQQAgAUEBaiIDQQNxG0UEQCAEIQIgAyEBDAELIAEtAAEgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohAwJAIAJBAmsiBEUNACADQQNxRQ0AIAEtAAIgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBA2ohAwJAIAJBA2siBEUNACADQQNxRQ0AIAEtAAMgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBBGohASACQQRrIQIMAgsgBCECIAMhAQwBCyAEIQIgAyEBCyACQRRuIgNBbGwhCQJAIANBAWsiCEUEQEEAIQQMAQsgA0EUbCABakEUayEDQQAhBANAIAEoAhAgB3MiB0EWdkH8B3FB0DhqKAIAIAdBDnZB/AdxQdAwaigCACAHQQZ2QfwHcUHQKGooAgAgB0H/AXFBAnRB0CBqKAIAc3NzIQcgASgCDCAGcyIGQRZ2QfwHcUHQOGooAgAgBkEOdkH8B3FB0DBqKAIAIAZBBnZB/AdxQdAoaigCACAGQf8BcUECdEHQIGooAgBzc3MhBiABKAIIIAVzIgVBFnZB/AdxQdA4aigCACAFQQ52QfwHcUHQMGooAgAgBUEGdkH8B3FB0ChqKAIAIAVB/wFxQQJ0QdAgaigCAHNzcyEFIAEoAgQgBHMiBEEWdkH8B3FB0DhqKAIAIARBDnZB/AdxQdAwaigCACAEQQZ2QfwHcUHQKGooAgAgBEH/AXFBAnRB0CBqKAIAc3NzIQQgASgCACAAcyIAQRZ2QfwHcUHQOGooAgAgAEEOdkH8B3FB0DBqKAIAIABBBnZB/AdxQdAoaigCACAAQf8BcUECdEHQIGooAgBzc3MhACABQRRqIQEgCEEBayIIDQALIAMhAQsgAiAJaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACAAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgBHNzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBB/wFxQQJ0QdAYaigCACAFc3MgAEEIdnMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEH/AXFBAnRB0BhqKAIAIAZzcyAAQQh2cyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgB3NzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyEAIAFBFGohAQsgAkEHSwRAA0AgAS0AByABLQAGIAEtAAUgAS0ABCABLQADIAEtAAIgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBCGohASACQQhrIgJBB0sNAAsLAkAgAkUNACACQQFxBH8gAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAUEBaiEBIAJBAWsFIAILIQMgAkEBRg0AA0AgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohASADQQJrIgMNAAsLIABBf3MLwgIBA38jAEEQayIIJAACfwJAIAAEQCAEDQEgBVANAQsgBgRAIAZBADYCBCAGQRI2AgALQQAMAQtBgAEQCSIHRQRAIAYEQCAGQQA2AgQgBkEONgIAC0EADAELIAcgATcDCCAHQgA3AwAgB0EoaiIJECogByAFNwMYIAcgBDYCECAHIAM6AGAgB0EANgJsIAdCADcCZCAAKQMYIQEgCEF/NgIIIAhCjoCAgPAANwMAIAdBECAIECQgAUL/gQGDhCIBNwNwIAcgAadBBnZBAXE6AHgCQCACRQ0AIAkgAhBgQX9KDQAgBxAGQQAMAQsgBhBfIgIEQCAAIAAoAjBBAWo2AjAgAiAHNgIIIAJBATYCBCACIAA2AgAgAkI/IAAgB0EAQgBBDkEBEQoAIgEgAUIAUxs3AxgLIAILIQAgCEEQaiQAIAALYgEBf0E4EAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAFBADYCCCABQgA3AwAgAUIANwMgIAFCgICAgBA3AiwgAUEAOgAoIAFBADYCFCABQgA3AgwgAUEAOwE0IAELuwEBAX4gASkDACICQgKDUEUEQCAAIAEpAxA3AxALIAJCBINQRQRAIAAgASkDGDcDGAsgAkIIg1BFBEAgACABKQMgNwMgCyACQhCDUEUEQCAAIAEoAig2AigLIAJCIINQRQRAIAAgASgCLDYCLAsgAkLAAINQRQRAIAAgAS8BMDsBMAsgAkKAAYNQRQRAIAAgAS8BMjsBMgsgAkKAAoNQRQRAIAAgASgCNDYCNAsgACAAKQMAIAKENwMAQQALGQAgAUUEQEEADwsgACABKAIAIAEzAQQQGws3AQJ/IABBACABG0UEQCAAIAFGDwsgAC8BBCIDIAEvAQRGBH8gACgCACABKAIAIAMQPQVBAQtFCyIBAX8gAUUEQEEADwsgARAJIgJFBEBBAA8LIAIgACABEAcLKQAgACABIAIgAyAEEEUiAEUEQEEADwsgACACQQAgBBA1IQEgABAGIAELcQEBfgJ/AkAgAkJ/VwRAIAMEQCADQQA2AgQgA0EUNgIACwwBCyAAIAEgAhARIgRCf1cEQCADBEAgAyAAKAIMNgIAIAMgACgCEDYCBAsMAQtBACACIARXDQEaIAMEQCADQQA2AgQgA0ERNgIACwtBfwsLNQAgACABIAJBABAmIgBFBEBBfw8LIAMEQCADIAAtAAk6AAALIAQEQCAEIAAoAkQ2AgALQQAL/AECAn8BfiMAQRBrIgMkAAJAIAAgA0EOaiABQYAGQQAQRiIARQRAIAIhAAwBCyADLwEOIgFBBUkEQCACIQAMAQsgAC0AAEEBRwRAIAIhAAwBCyAAIAGtQv//A4MQFyIBRQRAIAIhAAwBCyABEH0aAkAgARAVIAIEfwJ/IAIvAQQhAEEAIAIoAgAiBEUNABpBACAEIABB1IABKAIAEQAACwVBAAtHBEAgAiEADAELIAEgAS0AAAR+IAEpAwggASkDEH0FQgALIgVC//8DgxATIAWnQf//A3FBgBBBABA1IgBFBEAgAiEADAELIAIQEAsgARAICyADQRBqJAAgAAvmDwIIfwJ+IwBB4ABrIgckAEEeQS4gAxshCwJAAkAgAgRAIAIiBSIGLQAABH4gBikDCCAGKQMQfQVCAAsgC61aDQEgBARAIARBADYCBCAEQRM2AgALQn8hDQwCCyABIAutIAcgBBAtIgUNAEJ/IQ0MAQsgBUIEEBMoAABBoxJBqBIgAxsoAABHBEAgBARAIARBADYCBCAEQRM2AgALQn8hDSACDQEgBRAIDAELIABCADcDICAAQQA2AhggAEL/////DzcDECAAQQA7AQwgAEG/hig2AgggAEEBOgAGIABBADsBBCAAQQA2AgAgAEIANwNIIABBgIDYjXg2AkQgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0EAOwEAIABCADcDUCAAIAMEf0EABSAFEAwLOwEIIAAgBRAMOwEKIAAgBRAMOwEMIAAgBRAMNgIQIAUQDCEGIAUQDCEJIAdBADYCWCAHQgA3A1AgB0IANwNIIAcgCUEfcTYCPCAHIAZBC3Y2AjggByAGQQV2QT9xNgI0IAcgBkEBdEE+cTYCMCAHIAlBCXZB0ABqNgJEIAcgCUEFdkEPcUEBazYCQCAAIAdBMGoQBTYCFCAAIAUQFTYCGCAAIAUQFa03AyAgACAFEBWtNwMoIAUQDCEIIAUQDCEGIAACfiADBEBBACEJIABBADYCRCAAQQA7AUAgAEEANgI8QgAMAQsgBRAMIQkgACAFEAw2AjwgACAFEAw7AUAgACAFEBU2AkQgBRAVrQs3A0ggBS0AAEUEQCAEBEAgBEEANgIEIARBFDYCAAtCfyENIAINASAFEAgMAQsCQCAALwEMIgpBAXEEQCAKQcAAcQRAIABB//8DOwFSDAILIABBATsBUgwBCyAAQQA7AVILIABBADYCOCAAQgA3AzAgBiAIaiAJaiEKAkAgAgRAIAUtAAAEfiAFKQMIIAUpAxB9BUIACyAKrVoNASAEBEAgBEEANgIEIARBFTYCAAtCfyENDAILIAUQCCABIAqtQQAgBBAtIgUNAEJ/IQ0MAQsCQCAIRQ0AIAAgBSABIAhBASAEEGQiCDYCMCAIRQRAIAQoAgBBEUYEQCAEBEAgBEEANgIEIARBFTYCAAsLQn8hDSACDQIgBRAIDAILIAAtAA1BCHFFDQAgCEECECNBBUcNACAEBEAgBEEANgIEIARBFTYCAAtCfyENIAINASAFEAgMAQsgAEE0aiEIAkAgBkUNACAFIAEgBkEAIAQQRSIMRQRAQn8hDSACDQIgBRAIDAILIAwgBkGAAkGABCADGyAIIAQQbiEGIAwQBiAGRQRAQn8hDSACDQIgBRAIDAILIANFDQAgAEEBOgAECwJAIAlFDQAgACAFIAEgCUEAIAQQZCIBNgI4IAFFBEBCfyENIAINAiAFEAgMAgsgAC0ADUEIcUUNACABQQIQI0EFRw0AIAQEQCAEQQA2AgQgBEEVNgIAC0J/IQ0gAg0BIAUQCAwBCyAAIAAoAjRB9eABIAAoAjAQZzYCMCAAIAAoAjRB9cYBIAAoAjgQZzYCOAJAAkAgACkDKEL/////D1ENACAAKQMgQv////8PUQ0AIAApA0hC/////w9SDQELAkACQAJAIAgoAgAgB0EwakEBQYACQYAEIAMbIAQQRiIBRQRAIAJFDQEMAgsgASAHMwEwEBciAUUEQCAEBEAgBEEANgIEIARBDjYCAAsgAkUNAQwCCwJAIAApAyhC/////w9RBEAgACABEB03AygMAQsgA0UNAEEAIQYCQCABKQMQIg5CCHwiDSAOVA0AIAEpAwggDVQNACABIA03AxBBASEGCyABIAY6AAALIAApAyBC/////w9RBEAgACABEB03AyALAkAgAw0AIAApA0hC/////w9RBEAgACABEB03A0gLIAAoAjxB//8DRw0AIAAgARAVNgI8CyABLQAABH8gASkDECABKQMIUQVBAAsNAiAEBEAgBEEANgIEIARBFTYCAAsgARAIIAINAQsgBRAIC0J/IQ0MAgsgARAICyAFLQAARQRAIAQEQCAEQQA2AgQgBEEUNgIAC0J/IQ0gAg0BIAUQCAwBCyACRQRAIAUQCAtCfyENIAApA0hCf1cEQCAEBEAgBEEWNgIEIARBBDYCAAsMAQsjAEEQayIDJABBASEBAkAgACgCEEHjAEcNAEEAIQECQCAAKAI0IANBDmpBgbICQYAGQQAQRiICBEAgAy8BDiIFQQZLDQELIAQEQCAEQQA2AgQgBEEVNgIACwwBCyACIAWtQv//A4MQFyICRQRAIAQEQCAEQQA2AgQgBEEUNgIACwwBC0EBIQECQAJAAkAgAhAMQQFrDgICAQALQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAILIAApAyhCE1YhAQsgAkICEBMvAABBwYoBRwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAIQfUEBayIFQf8BcUEDTwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAMvAQ5BB0cEQEEAIQEgBARAIARBADYCBCAEQRU2AgALIAIQCAwBCyAAIAE6AAYgACAFQf8BcUGBAmo7AVIgACACEAw2AhAgAhAIQQEhAQsgA0EQaiQAIAFFDQAgCCAIKAIAEG02AgAgCiALaq0hDQsgB0HgAGokACANC4ECAQR/IwBBEGsiBCQAAkAgASAEQQxqQcAAQQAQJSIGRQ0AIAQoAgxBBWoiA0GAgARPBEAgAgRAIAJBADYCBCACQRI2AgALDAELQQAgA60QFyIDRQRAIAIEQCACQQA2AgQgAkEONgIACwwBCyADQQEQcCADIAEEfwJ/IAEvAQQhBUEAIAEoAgAiAUUNABpBACABIAVB1IABKAIAEQAACwVBAAsQEiADIAYgBCgCDBAsAn8gAy0AAEUEQCACBEAgAkEANgIEIAJBFDYCAAtBAAwBCyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwDCwJAAkBBEBAJIgUEQCAFIAY7AQogBSAHOwEIIAUgAjYCBCAFQQA2AgAgBkUNASAFIAggBhBjIgY2AgwgBg0CIAUQBgtBACECIAQEQCAEQQA2AgQgBEEONgIACyABEAggAEUNBANAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwECyAFQQA2AgwLAkAgAEUEQCAFIQAMAQsgCSAFNgIACyAFIQkgAS0AAA0ACwsCQCABLQAABH8gASkDECABKQMIUQVBAAsNACABIAEtAAAEfiABKQMIIAEpAxB9BUIACyIKQv////8PgxATIQICQCAKpyIFQQNLDQAgAkUNACACQcEUIAUQPUUNAQtBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAQNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwBCyABEAggAwRAIAMgADYCAEEBDwtBASECIABFDQADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLIAILvgEBBX8gAAR/IAAhAgNAIAIiBCgCACICDQALIAEEQANAIAEiAy8BCCEGIAMoAgAhASAAIQICQAJAA0ACQCACLwEIIAZHDQAgAi8BCiIFIAMvAQpHDQAgBUUNAiACKAIMIAMoAgwgBRA9RQ0CCyACKAIAIgINAAsgA0EANgIAIAQgAzYCACADIQQMAQsgAiACKAIEIAMoAgRBgAZxcjYCBCADQQA2AgAgAygCDBAGIAMQBgsgAQ0ACwsgAAUgAQsLVQICfgF/AkACQCAALQAARQ0AIAApAxAiAkIBfCIDIAJUDQAgAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2ogAToAAAt9AQN/IwBBEGsiAiQAIAIgATYCDEF/IQMCQCAALQAoDQACQCAAKAIAIgRFDQAgBCABEHFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQsgACACQQxqQgRBExAOQj+HpyEDCyACQRBqJAAgAwvdAQEDfyABIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8PCyAAQQhqIQIgAC0AGEECcQRAIAIEQCACQQA2AgQgAkEZNgIAC0F/DwtBfyEDAkAgACABQQAgAhBTIgRFDQAgACgCUCAEIAIQfkUNAAJ/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfwwBCyABp0EEdCICIAAoAkBqKAIEECAgACgCQCACaiICQQA2AgQgAhBAQQALDQAgACgCQCABp0EEdGpBAToADEEAIQMLIAMLpgIBBX9BfyEFAkAgACABQQBBABAmRQ0AIAAtABhBAnEEQCAAQQhqIgAEQCAAQQA2AgQgAEEZNgIAC0F/DwsCfyAAKAJAIgQgAaciBkEEdGooAgAiBUUEQCADQYCA2I14RyEHQQMMAQsgBSgCRCADRyEHIAUtAAkLIQggBCAGQQR0aiIEIQYgBCgCBCEEQQAgAiAIRiAHG0UEQAJAIAQNACAGIAUQKyIENgIEIAQNACAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0F/DwsgBCADNgJEIAQgAjoACSAEIAQoAgBBEHI2AgBBAA8LQQAhBSAERQ0AIAQgBCgCAEFvcSIANgIAIABFBEAgBBAgIAZBADYCBEEADwsgBCADNgJEIAQgCDoACQsgBQvjCAIFfwR+IAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtCfw8LIAApAzAhCwJAIANBgMAAcQRAIAAgASADQQAQTCIJQn9SDQELAn4CQAJAIAApAzAiCUIBfCIMIAApAzgiClQEQCAAKAJAIQQMAQsgCkIBhiIJQoAIIAlCgAhUGyIJQhAgCUIQVhsgCnwiCadBBHQiBK0gCkIEhkLw////D4NUDQEgACgCQCAEEDQiBEUNASAAIAk3AzggACAENgJAIAApAzAiCUIBfCEMCyAAIAw3AzAgBCAJp0EEdGoiBEIANwIAIARCADcABSAJDAELIABBCGoEQCAAQQA2AgwgAEEONgIIC0J/CyIJQgBZDQBCfw8LAkAgAUUNAAJ/QQAhBCAJIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8MAQsgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAELAkAgAUUNACABLQAARQ0AQX8gASABECJB//8DcSADIABBCGoQNSIERQ0BGiADQYAwcQ0AIARBABAjQQNHDQAgBEECNgIICwJAIAAgAUEAQQAQTCIKQgBTIgENACAJIApRDQAgBBAQIABBCGoEQCAAQQA2AgwgAEEKNgIIC0F/DAELAkAgAUEBIAkgClEbRQ0AAkACfwJAIAAoAkAiASAJpyIFQQR0aiIGKAIAIgMEQCADKAIwIAQQYg0BCyAEIAYoAgQNARogBiAGKAIAECsiAzYCBCAEIAMNARogAEEIagRAIABBADYCDCAAQQ42AggLDAILQQEhByAGKAIAKAIwC0EAQQAgAEEIaiIDECUiCEUNAAJAAkAgASAFQQR0aiIFKAIEIgENACAGKAIAIgENAEEAIQEMAQsgASgCMCIBRQRAQQAhAQwBCyABQQBBACADECUiAUUNAQsgACgCUCAIIAlBACADEE1FDQAgAQRAIAAoAlAgAUEAEH4aCyAFKAIEIQMgBwRAIANFDQIgAy0AAEECcUUNAiADKAIwEBAgBSgCBCIBIAEoAgBBfXEiAzYCACADRQRAIAEQICAFQQA2AgQgBBAQQQAMBAsgASAGKAIAKAIwNgIwIAQQEEEADAMLIAMoAgAiAUECcQRAIAMoAjAQECAFKAIEIgMoAgAhAQsgAyAENgIwIAMgAUECcjYCAEEADAILIAQQEEF/DAELIAQQEEEAC0UNACALIAApAzBRBEBCfw8LIAAoAkAgCadBBHRqED4gACALNwMwQn8PCyAJpyIGQQR0IgEgACgCQGoQQAJAAkAgACgCQCIEIAFqIgMoAgAiBUUNAAJAIAMoAgQiAwRAIAMoAgAiAEEBcUUNAQwCCyAFECshAyAAKAJAIgQgBkEEdGogAzYCBCADRQ0CIAMoAgAhAAsgA0F+NgIQIAMgAEEBcjYCAAsgASAEaiACNgIIIAkPCyAAQQhqBEAgAEEANgIMIABBDjYCCAtCfwteAQF/IwBBEGsiAiQAAn8gACgCJEEBRwRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQX8MAQsgAkEANgIIIAIgATcDACAAIAJCEEEMEA5CP4enCyEAIAJBEGokACAAC9oDAQZ/IwBBEGsiBSQAIAUgAjYCDCMAQaABayIEJAAgBEEIakHA8ABBkAEQBxogBCAANgI0IAQgADYCHCAEQX4gAGsiA0H/////ByADQf////8HSRsiBjYCOCAEIAAgBmoiADYCJCAEIAA2AhggBEEIaiEAIwBB0AFrIgMkACADIAI2AswBIANBoAFqQQBBKBAZIAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEEpBAEgNACAAKAJMQQBOIQcgACgCACECIAAsAEpBAEwEQCAAIAJBX3E2AgALIAJBIHEhCAJ/IAAoAjAEQCAAIAEgA0HIAWogA0HQAGogA0GgAWoQSgwBCyAAQdAANgIwIAAgA0HQAGo2AhAgACADNgIcIAAgAzYCFCAAKAIsIQIgACADNgIsIAAgASADQcgBaiADQdAAaiADQaABahBKIAJFDQAaIABBAEEAIAAoAiQRAAAaIABBADYCMCAAIAI2AiwgAEEANgIcIABBADYCECAAKAIUGiAAQQA2AhRBAAsaIAAgACgCACAIcjYCACAHRQ0ACyADQdABaiQAIAYEQCAEKAIcIgAgACAEKAIYRmtBADoAAAsgBEGgAWokACAFQRBqJAALUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEAEQcACwubAgAgAEUEQEEADwsCfwJAIAAEfyABQf8ATQ0BAkBB9IIBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDAQLIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMBAsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMBAsLQYSEAUEZNgIAQX8FQQELDAELIAAgAToAAEEBCwvjAQECfyACQQBHIQMCQAJAAkAgAEEDcUUNACACRQ0AIAFB/wFxIQQDQCAALQAAIARGDQIgAkEBayICQQBHIQMgAEEBaiIAQQNxRQ0BIAINAAsLIANFDQELAkAgAC0AACABQf8BcUYNACACQQRJDQAgAUH/AXFBgYKECGwhAwNAIAAoAgAgA3MiBEF/cyAEQYGChAhrcUGAgYKEeHENASAAQQRqIQAgAkEEayICQQNLDQALCyACRQ0AIAFB/wFxIQEDQCABIAAtAABGBEAgAA8LIABBAWohACACQQFrIgINAAsLQQALeQEBfAJAIABFDQAgACsDECAAKwMgIgIgAUQAAAAAAAAAACABRAAAAAAAAAAAZBsiAUQAAAAAAADwPyABRAAAAAAAAPA/YxsgACsDKCACoaKgIgEgACsDGKFjRQ0AIAAoAgAgASAAKAIMIAAoAgQRDgAgACABOQMYCwtIAQF8AkAgAEUNACAAKwMQIAArAyAiASAAKwMoIAGhoCIBIAArAxihY0UNACAAKAIAIAEgACgCDCAAKAIEEQ4AIAAgATkDGAsLWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC4IEAgZ/AX4gAEEAIAEbRQRAIAIEQCACQQA2AgQgAkESNgIAC0EADwsCQAJAIAApAwhQDQAgACgCECABLQAAIgQEf0Kl6wohCSABIQMDQCAJIAStQv8Bg3whCSADLQABIgQEQCADQQFqIQMgCUL/////D4NCIX4hCQwBCwsgCacFQYUqCyIEIAAoAgBwQQJ0aiIGKAIAIgNFDQADQAJAIAMoAhwgBEcNACABIAMoAgAQOA0AAkAgAykDCEJ/UQRAIAMoAhghAQJAIAUEQCAFIAE2AhgMAQsgBiABNgIACyADEAYgACAAKQMIQgF9Igk3AwggCbogACgCACIBuER7FK5H4XqEP6JjRQ0BIAFBgQJJDQECf0EAIQMgACgCACIGIAFBAXYiBUcEQCAFEDwiB0UEQCACBEAgAkEANgIEIAJBDjYCAAtBAAwCCwJAIAApAwhCACAGG1AEQCAAKAIQIQQMAQsgACgCECEEA0AgBCADQQJ0aigCACIBBEADQCABKAIYIQIgASAHIAEoAhwgBXBBAnRqIggoAgA2AhggCCABNgIAIAIiAQ0ACwsgA0EBaiIDIAZHDQALCyAEEAYgACAFNgIAIAAgBzYCEAtBAQsNAQwFCyADQn83AxALQQEPCyADIgUoAhgiAw0ACwsgAgRAIAJBADYCBCACQQk2AgALC0EAC6UGAgl/AX4jAEHwAGsiBSQAAkACQCAARQ0AAkAgAQRAIAEpAzAgAlYNAQtBACEDIABBCGoEQCAAQQA2AgwgAEESNgIICwwCCwJAIANBCHENACABKAJAIAKnQQR0aiIGKAIIRQRAIAYtAAxFDQELQQAhAyAAQQhqBEAgAEEANgIMIABBDzYCCAsMAgsgASACIANBCHIgBUE4ahCKAUF/TARAQQAhAyAAQQhqBEAgAEEANgIMIABBFDYCCAsMAgsgA0EDdkEEcSADciIGQQRxIQcgBSkDUCEOIAUvAWghCQJAIANBIHFFIAUvAWpBAEdxIgtFDQAgBA0AIAAoAhwiBA0AQQAhAyAAQQhqBEAgAEEANgIMIABBGjYCCAsMAgsgBSkDWFAEQCAAQQBCAEEAEFIhAwwCCwJAIAdFIgwgCUEAR3EiDUEBckUEQEEAIQMgBUEAOwEwIAUgDjcDICAFIA43AxggBSAFKAJgNgIoIAVC3AA3AwAgASgCACAOIAVBACABIAIgAEEIahBeIgYNAQwDC0EAIQMgASACIAYgAEEIaiIGECYiB0UNAiABKAIAIAUpA1ggBUE4aiAHLwEMQQF2QQNxIAEgAiAGEF4iBkUNAgsCfyAGIAE2AiwCQCABKAJEIghBAWoiCiABKAJIIgdJBEAgASgCTCEHDAELIAEoAkwgB0EKaiIIQQJ0EDQiB0UEQCABQQhqBEAgAUEANgIMIAFBDjYCCAtBfwwCCyABIAc2AkwgASAINgJIIAEoAkQiCEEBaiEKCyABIAo2AkQgByAIQQJ0aiAGNgIAQQALQX9MBEAgBhALDAELAkAgC0UEQCAGIQEMAQtBJkEAIAUvAWpBAUYbIgFFBEAgAEEIagRAIABBADYCDCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsCfwJ/An8gASgCBCICBEAgBCAAKAIoIAIQHiAAKAIcIQELIAEoAlAiAgsEQCAAKAIkIAAoAiggAhAeIAAoAhwhAQsgASgCTCICCwRAIAAoAiQgACgCKCACEB4gACgCHCEBCyABKAJIIgILBEAgACgCJCAAKAIoIAIQHiAAKAIcIQELIAAoAiQgACgCKCABEB4gAEEANgIcQX1BACADQfEARhshAgsgAgvrCQEIfyAAKAIwIgMgACgCDEEFayICIAIgA0sbIQggACgCACIEKAIEIQkgAUEERiEHAkADQCAEKAIQIgMgACgCoC5BKmpBA3UiAkkEQEEBIQYMAgsgCCADIAJrIgMgACgCaCAAKAJYayICIAQoAgRqIgVB//8DIAVB//8DSRsiBiADIAZJGyIDSwRAQQEhBiADQQBHIAdyRQ0CIAFFDQIgAyAFRw0CCyAAQQBBACAHIAMgBUZxIgUQOSAAIAAoAhBBBGsiBDYCECAAKAIEIARqIAM7AAAgACAAKAIQQQJqIgQ2AhAgACgCBCAEaiADQX9zOwAAIAAgACgCEEECajYCECAAKAIAEAoCfyACBEAgACgCACgCDCAAKAJIIAAoAlhqIAMgAiACIANLGyICEAcaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJYIAJqNgJYIAMgAmshAwsgAwsEQCAAKAIAIgIgAigCDCADEIMBIAAoAgAiAiACKAIMIANqNgIMIAIgAigCECADazYCECACIAIoAhQgA2o2AhQLIAAoAgAhBCAFRQ0AC0EAIQYLAkAgCSAEKAIEayICRQRAIAAoAmghAwwBCwJAIAAoAjAiAyACTQRAIABBAjYCgC4gACgCSCAEKAIAIANrIAMQBxogACAAKAIwIgM2AoQuIAAgAzYCaAwBCyACIAAoAkQgACgCaCIFa08EQCAAIAUgA2siBDYCaCAAKAJIIgUgAyAFaiAEEAcaIAAoAoAuIgNBAU0EQCAAIANBAWo2AoAuCyAAIAAoAmgiBSAAKAKELiIDIAMgBUsbNgKELiAAKAIAIQQLIAAoAkggBWogBCgCACACayACEAcaIAAgACgCaCACaiIDNgJoIAAgACgCMCAAKAKELiIEayIFIAIgAiAFSxsgBGo2AoQuCyAAIAM2AlgLIAAgAyAAKAJAIgIgAiADSRs2AkBBAyECAkAgBkUNACAAKAIAIgUoAgQhAgJAAkAgAUF7cUUNACACDQBBASECIAMgACgCWEYNAiAAKAJEIANrIQRBACECDAELIAIgACgCRCADayIETQ0AIAAoAlgiByAAKAIwIgZIDQAgACADIAZrIgM2AmggACAHIAZrNgJYIAAoAkgiAiACIAZqIAMQBxogACgCgC4iA0EBTQRAIAAgA0EBajYCgC4LIAAgACgCaCIDIAAoAoQuIgIgAiADSxs2AoQuIAAoAjAgBGohBCAAKAIAIgUoAgQhAgsCQCACIAQgAiAESRsiAkUEQCAAKAIwIQUMAQsgBSAAKAJIIANqIAIQgwEgACAAKAJoIAJqIgM2AmggACAAKAIwIgUgACgChC4iBGsiBiACIAIgBksbIARqNgKELgsgACADIAAoAkAiAiACIANJGzYCQCADIAAoAlgiBmsiAyAFIAAoAgwgACgCoC5BKmpBA3VrIgJB//8DIAJB//8DSRsiBCAEIAVLG0kEQEEAIQIgAUEERiADQQBHckUNASABRQ0BIAAoAgAoAgQNASADIARLDQELQQAhAiABQQRGBEAgACgCACgCBEUgAyAETXEhAgsgACAAKAJIIAZqIAQgAyADIARLGyIBIAIQOSAAIAAoAlggAWo2AlggACgCABAKQQJBACACGw8LIAIL/woCCn8DfiAAKQOYLiENIAAoAqAuIQQgAkEATgRAQQRBAyABLwECIggbIQlBB0GKASAIGyEFQX8hCgNAIAghByABIAsiDEEBaiILQQJ0ai8BAiEIAkACQCAGQQFqIgMgBU4NACAHIAhHDQAgAyEGDAELAkAgAyAJSARAIAAgB0ECdGoiBkHOFWohCSAGQcwVaiEKA0AgCjMBACEPAn8gBCAJLwEAIgZqIgVBP00EQCAPIASthiANhCENIAUMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIA8hDSAGDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIA9BwAAgBGutiCENIAVBQGoLIQQgA0EBayIDDQALDAELIAcEQAJAIAcgCkYEQCANIQ8gBCEFIAMhBgwBCyAAIAdBAnRqIgNBzBVqMwEAIQ8gBCADQc4Vai8BACIDaiIFQT9NBEAgDyAErYYgDYQhDwwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgAyEFDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIAVBQGohBSAPQcAAIARrrYghDwsgADMBjBYhDgJAIAUgAC8BjhYiBGoiA0E/TQRAIA4gBa2GIA+EIQ4MAQsgBUHAAEYEQCAAKAIEIAAoAhBqIA83AAAgACAAKAIQQQhqNgIQIAQhAwwBCyAAKAIEIAAoAhBqIA4gBa2GIA+ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAFa62IIQ4LIAasQgN9IQ0gA0E9TQRAIANBAmohBCANIAOthiAOhCENDAILIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEECIQQMAgsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E+ayEEIA1BwAAgA2utiCENDAELIAZBCUwEQCAAMwGQFiEOAkAgBCAALwGSFiIFaiIDQT9NBEAgDiAErYYgDYQhDgwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgBSEDDAELIAAoAgQgACgCEGogDiAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyAOQcAAIARrrYghDgsgBqxCAn0hDSADQTxNBEAgA0EDaiEEIA0gA62GIA6EIQ0MAgsgA0HAAEYEQCAAKAIEIAAoAhBqIA43AAAgACAAKAIQQQhqNgIQQQMhBAwCCyAAKAIEIAAoAhBqIA0gA62GIA6ENwAAIAAgACgCEEEIajYCECADQT1rIQQgDUHAACADa62IIQ0MAQsgADMBlBYhDgJAIAQgAC8BlhYiBWoiA0E/TQRAIA4gBK2GIA2EIQ4MAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIAUhAwwBCyAAKAIEIAAoAhBqIA4gBK2GIA2ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAEa62IIQ4LIAatQgp9IQ0gA0E4TQRAIANBB2ohBCANIAOthiAOhCENDAELIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEEHIQQMAQsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E5ayEEIA1BwAAgA2utiCENC0EAIQYCfyAIRQRAQYoBIQVBAwwBC0EGQQcgByAIRiIDGyEFQQNBBCADGwshCSAHIQoLIAIgDEcNAAsLIAAgBDYCoC4gACANNwOYLgv5BQIIfwJ+AkAgACgC8C1FBEAgACkDmC4hCyAAKAKgLiEDDAELA0AgCSIDQQNqIQkgAyAAKALsLWoiAy0AAiEFIAApA5guIQwgACgCoC4hBAJAIAMvAAAiB0UEQCABIAVBAnRqIgMzAQAhCyAEIAMvAQIiBWoiA0E/TQRAIAsgBK2GIAyEIQsMAgsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAUhAwwCCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsMAQsgBUGAzwBqLQAAIghBAnQiBiABaiIDQYQIajMBACELIANBhghqLwEAIQMgCEEIa0ETTQRAIAUgBkGA0QBqKAIAa60gA62GIAuEIQsgBkHA0wBqKAIAIANqIQMLIAMgAiAHQQFrIgcgB0EHdkGAAmogB0GAAkkbQYDLAGotAAAiBUECdCIIaiIKLwECaiEGIAozAQAgA62GIAuEIQsgBCAFQQRJBH8gBgUgByAIQYDSAGooAgBrrSAGrYYgC4QhCyAIQcDUAGooAgAgBmoLIgVqIgNBP00EQCALIASthiAMhCELDAELIARBwABGBEAgACgCBCAAKAIQaiAMNwAAIAAgACgCEEEIajYCECAFIQMMAQsgACgCBCAAKAIQaiALIASthiAMhDcAACAAIAAoAhBBCGo2AhAgA0FAaiEDIAtBwAAgBGutiCELCyAAIAs3A5guIAAgAzYCoC4gCSAAKALwLUkNAAsLIAFBgAhqMwEAIQwCQCADIAFBgghqLwEAIgJqIgFBP00EQCAMIAOthiALhCEMDAELIANBwABGBEAgACgCBCAAKAIQaiALNwAAIAAgACgCEEEIajYCECACIQEMAQsgACgCBCAAKAIQaiAMIAOthiALhDcAACAAIAAoAhBBCGo2AhAgAUFAaiEBIAxBwAAgA2utiCEMCyAAIAw3A5guIAAgATYCoC4L8AQBA38gAEHkAWohAgNAIAIgAUECdCIDakEAOwEAIAIgA0EEcmpBADsBACABQQJqIgFBngJHDQALIABBADsBzBUgAEEAOwHYEyAAQZQWakEAOwEAIABBkBZqQQA7AQAgAEGMFmpBADsBACAAQYgWakEAOwEAIABBhBZqQQA7AQAgAEGAFmpBADsBACAAQfwVakEAOwEAIABB+BVqQQA7AQAgAEH0FWpBADsBACAAQfAVakEAOwEAIABB7BVqQQA7AQAgAEHoFWpBADsBACAAQeQVakEAOwEAIABB4BVqQQA7AQAgAEHcFWpBADsBACAAQdgVakEAOwEAIABB1BVqQQA7AQAgAEHQFWpBADsBACAAQcwUakEAOwEAIABByBRqQQA7AQAgAEHEFGpBADsBACAAQcAUakEAOwEAIABBvBRqQQA7AQAgAEG4FGpBADsBACAAQbQUakEAOwEAIABBsBRqQQA7AQAgAEGsFGpBADsBACAAQagUakEAOwEAIABBpBRqQQA7AQAgAEGgFGpBADsBACAAQZwUakEAOwEAIABBmBRqQQA7AQAgAEGUFGpBADsBACAAQZAUakEAOwEAIABBjBRqQQA7AQAgAEGIFGpBADsBACAAQYQUakEAOwEAIABBgBRqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEIANwL8LSAAQeQJakEBOwEAIABBADYC+C0gAEEANgLwLQuKAwIGfwR+QcgAEAkiBEUEQEEADwsgBEIANwMAIARCADcDMCAEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDOCABUARAIARBCBAJIgA2AgQgAEUEQCAEEAYgAwRAIANBADYCBCADQQ42AgALQQAPCyAAQgA3AwAgBA8LAkAgAaciBUEEdBAJIgZFDQAgBCAGNgIAIAVBA3RBCGoQCSIFRQ0AIAQgATcDECAEIAU2AgQDQCAAIAynIghBBHRqIgcpAwgiDVBFBEAgBygCACIHRQRAIAMEQCADQQA2AgQgA0ESNgIACyAGEAYgBRAGIAQQBkEADwsgBiAKp0EEdGoiCSANNwMIIAkgBzYCACAFIAhBA3RqIAs3AwAgCyANfCELIApCAXwhCgsgDEIBfCIMIAFSDQALIAQgCjcDCCAEQgAgCiACGzcDGCAFIAqnQQN0aiALNwMAIAQgCzcDMCAEDwsgAwRAIANBADYCBCADQQ42AgALIAYQBiAEEAZBAAvlAQIDfwF+QX8hBQJAIAAgASACQQAQJiIERQ0AIAAgASACEIsBIgZFDQACfgJAIAJBCHENACAAKAJAIAGnQQR0aigCCCICRQ0AIAIgAxAhQQBOBEAgAykDAAwCCyAAQQhqIgAEQCAAQQA2AgQgAEEPNgIAC0F/DwsgAxAqIAMgBCgCGDYCLCADIAQpAyg3AxggAyAEKAIUNgIoIAMgBCkDIDcDICADIAQoAhA7ATAgAyAELwFSOwEyQvwBQtwBIAQtAAYbCyEHIAMgBjYCCCADIAE3AxAgAyAHQgOENwMAQQAhBQsgBQspAQF/IAAgASACIABBCGoiABAmIgNFBEBBAA8LIAMoAjBBACACIAAQJQuAAwEGfwJ/An9BMCABQYB/Sw0BGgJ/IAFBgH9PBEBBhIQBQTA2AgBBAAwBC0EAQRAgAUELakF4cSABQQtJGyIFQcwAahAJIgFFDQAaIAFBCGshAgJAIAFBP3FFBEAgAiEBDAELIAFBBGsiBigCACIHQXhxIAFBP2pBQHFBCGsiASABQUBrIAEgAmtBD0sbIgEgAmsiA2shBCAHQQNxRQRAIAIoAgAhAiABIAQ2AgQgASACIANqNgIADAELIAEgBCABKAIEQQFxckECcjYCBCABIARqIgQgBCgCBEEBcjYCBCAGIAMgBigCAEEBcXJBAnI2AgAgAiADaiIEIAQoAgRBAXI2AgQgAiADEDsLAkAgASgCBCICQQNxRQ0AIAJBeHEiAyAFQRBqTQ0AIAEgBSACQQFxckECcjYCBCABIAVqIgIgAyAFayIFQQNyNgIEIAEgA2oiAyADKAIEQQFyNgIEIAIgBRA7CyABQQhqCyIBRQsEQEEwDwsgACABNgIAQQALCwoAIABBiIQBEAQL6AIBBX8gACgCUCEBIAAvATAhBEEEIQUDQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgBUGAgARGRQRAIAFBCGohASAFQQRqIQUMAQsLAkAgBEUNACAEQQNxIQUgACgCTCEBIARBAWtBA08EQCAEIAVrIQADQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgAUEIaiEBIABBBGsiAA0ACwsgBUUNAANAIAFBACABLwEAIgAgBGsiAiAAIAJJGzsBACABQQJqIQEgBUEBayIFDQALCwuDAQEEfyACQQFOBEAgAiAAKAJIIAFqIgJqIQMgACgCUCEEA0AgBCACKAAAQbHz3fF5bEEPdkH+/wdxaiIFLwEAIgYgAUH//wNxRwRAIAAoAkwgASAAKAI4cUH//wNxQQF0aiAGOwEAIAUgATsBAAsgAUEBaiEBIAJBAWoiAiADSQ0ACwsLUAECfyABIAAoAlAgACgCSCABaigAAEGx893xeWxBD3ZB/v8HcWoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILugEBAX8jAEEQayICJAAgAkEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgARBYIAJBEGokAAu9AQEBfyMAQRBrIgEkACABQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEANgJAIAFBEGokAEEAC70BAQF/IwBBEGsiASQAIAFBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAKAJAIQAgAUEQaiQAIAALvgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQVyAEQRBqJAALygEAIwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAAoAkAgASACQdSAASgCABEAADYCQCADQRBqJAALwAEBAX8jAEEQayIDJAAgA0EAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACEF0hACADQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFwhACACQRBqJAAgAAu2AQEBfyMAQRBrIgAkACAAQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEQaiQAQQgLwgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQWSEAIARBEGokACAAC8IBAQF/IwBBEGsiBCQAIARBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAiADEFYhACAEQRBqJAAgAAsHACAALwEwC8ABAQF/IwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAhBVIQAgA0EQaiQAIAALBwAgACgCQAsaACAAIAAoAkAgASACQdSAASgCABEAADYCQAsLACAAQQA2AkBBAAsHACAAKAIgCwQAQQgLzgUCA34BfyMAQYBAaiIIJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDhECAwwFAAEECAkJCQkJCQcJBgkLIANCCFoEfiACIAEoAmQ2AgAgAiABKAJoNgIEQggFQn8LIQYMCwsgARAGDAoLIAEoAhAiAgRAIAIgASkDGCABQeQAaiICEEEiA1ANCCABKQMIIgVCf4UgA1QEQCACBEAgAkEANgIEIAJBFTYCAAsMCQsgAUEANgIQIAEgAyAFfDcDCCABIAEpAwAgA3w3AwALIAEtAHgEQCABKQMAIQUMCQtCACEDIAEpAwAiBVAEQCABQgA3AyAMCgsDQCAAIAggBSADfSIFQoDAACAFQoDAAFQbEBEiB0J/VwRAIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwJCyAHUEUEQCABKQMAIgUgAyAHfCIDWA0KDAELCyABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEpAwggASkDICIFfSIHIAMgAyAHVhsiA1ANCAJAIAEtAHhFDQAgACAFQQAQFEF/Sg0AIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwHCyAAIAIgAxARIgZCf1cEQCABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEgASkDICAGfCIDNwMgIAZCAFINCEIAIQYgAyABKQMIWg0IIAFB5ABqBEAgAUEANgJoIAFBETYCZAsMBgsgASkDICABKQMAIgV9IAEpAwggBX0gAiADIAFB5ABqEEQiA0IAUw0FIAEgASkDACADfDcDIAwHCyACIAFBKGoQYEEfdawhBgwGCyABMABgIQYMBQsgASkDcCEGDAQLIAEpAyAgASkDAH0hBgwDCyABQeQAagRAIAFBADYCaCABQRw2AmQLC0J/IQYMAQsgASAFNwMgCyAIQYBAayQAIAYLBwAgACgCAAsPACAAIAAoAjBBAWo2AjALGABB+IMBQgA3AgBBgIQBQQA2AgBB+IMBCwcAIABBDGoLBwAgACgCLAsHACAAKAIoCwcAIAAoAhgLFQAgACABrSACrUIghoQgAyAEEIoBCxMBAX4gABAzIgFCIIinEAAgAacLbwEBfiABrSACrUIghoQhBSMAQRBrIgEkAAJ/IABFBEAgBVBFBEAgBARAIARBADYCBCAEQRI2AgALQQAMAgtBAEIAIAMgBBA6DAELIAEgBTcDCCABIAA2AgAgAUIBIAMgBBA6CyEAIAFBEGokACAACxQAIAAgASACrSADrUIghoQgBBBSC9oCAgJ/AX4CfyABrSACrUIghoQiByAAKQMwVEEAIARBCkkbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/DAELIAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtBfwwBCyADBH8gA0H//wNxQQhGIANBfUtyBUEBC0UEQCAAQQhqBEAgAEEANgIMIABBEDYCCAtBfwwBCyAAKAJAIgEgB6ciBUEEdGooAgAiAgR/IAIoAhAgA0YFIANBf0YLIQYgASAFQQR0aiIBIQUgASgCBCEBAkAgBgRAIAFFDQEgAUEAOwFQIAEgASgCAEF+cSIANgIAIAANASABECAgBUEANgIEQQAMAgsCQCABDQAgBSACECsiATYCBCABDQAgAEEIagRAIABBADYCDCAAQQ42AggLQX8MAgsgASAEOwFQIAEgAzYCECABIAEoAgBBAXI2AgALQQALCxwBAX4gACABIAIgAEEIahBMIgNCIIinEAAgA6cLHwEBfiAAIAEgAq0gA61CIIaEEBEiBEIgiKcQACAEpwteAQF+An5CfyAARQ0AGiAAKQMwIgIgAUEIcUUNABpCACACUA0AGiAAKAJAIQADQCACIAKnQQR0IABqQRBrKAIADQEaIAJCAX0iAkIAUg0AC0IACyICQiCIpxAAIAKnCxMAIAAgAa0gAq1CIIaEIAMQiwELnwEBAn4CfiACrSADrUIghoQhBUJ/IQQCQCAARQ0AIAAoAgQNACAAQQRqIQIgBUJ/VwRAIAIEQCACQQA2AgQgAkESNgIAC0J/DAILQgAhBCAALQAQDQAgBVANACAAKAIUIAEgBRARIgRCf1UNACAAKAIUIQAgAgRAIAIgACgCDDYCACACIAAoAhA2AgQLQn8hBAsgBAsiBEIgiKcQACAEpwueAQEBfwJ/IAAgACABrSACrUIghoQgAyAAKAIcEH8iAQRAIAEQMkF/TARAIABBCGoEQCAAIAEoAgw2AgggACABKAIQNgIMCyABEAtBAAwCC0EYEAkiBEUEQCAAQQhqBEAgAEEANgIMIABBDjYCCAsgARALQQAMAgsgBCAANgIAIARBADYCDCAEQgA3AgQgBCABNgIUIARBADoAEAsgBAsLsQICAX8BfgJ/QX8hBAJAIAAgAa0gAq1CIIaEIgZBAEEAECZFDQAgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAILIAAoAkAiASAGpyICQQR0aiIEKAIIIgUEQEEAIQQgBSADEHFBf0oNASAAQQhqBEAgAEEANgIMIABBDzYCCAtBfwwCCwJAIAQoAgAiBQRAIAUoAhQgA0YNAQsCQCABIAJBBHRqIgEoAgQiBA0AIAEgBRArIgQ2AgQgBA0AIABBCGoEQCAAQQA2AgwgAEEONgIIC0F/DAMLIAQgAzYCFCAEIAQoAgBBIHI2AgBBAAwCC0EAIQQgASACQQR0aiIBKAIEIgBFDQAgACAAKAIAQV9xIgI2AgAgAg0AIAAQICABQQA2AgQLIAQLCxQAIAAgAa0gAq1CIIaEIAQgBRBzCxIAIAAgAa0gAq1CIIaEIAMQFAtBAQF+An4gAUEAIAIbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0J/DAELIAAgASACIAMQdAsiBEIgiKcQACAEpwvGAwIFfwF+An4CQAJAIAAiBC0AGEECcQRAIARBCGoEQCAEQQA2AgwgBEEZNgIICwwBCyABRQRAIARBCGoEQCAEQQA2AgwgBEESNgIICwwBCyABECIiByABakEBay0AAEEvRwRAIAdBAmoQCSIARQRAIARBCGoEQCAEQQA2AgwgBEEONgIICwwCCwJAAkAgACIGIAEiBXNBA3ENACAFQQNxBEADQCAGIAUtAAAiAzoAACADRQ0DIAZBAWohBiAFQQFqIgVBA3ENAAsLIAUoAgAiA0F/cyADQYGChAhrcUGAgYKEeHENAANAIAYgAzYCACAFKAIEIQMgBkEEaiEGIAVBBGohBSADQYGChAhrIANBf3NxQYCBgoR4cUUNAAsLIAYgBS0AACIDOgAAIANFDQADQCAGIAUtAAEiAzoAASAGQQFqIQYgBUEBaiEFIAMNAAsLIAcgACIDakEvOwAACyAEQQBCAEEAEFIiAEUEQCADEAYMAQsgBCADIAEgAxsgACACEHQhCCADEAYgCEJ/VwRAIAAQCyAIDAMLIAQgCEEDQYCA/I8EEHNBf0oNASAEIAgQchoLQn8hCAsgCAsiCEIgiKcQACAIpwsQACAAIAGtIAKtQiCGhBByCxYAIAAgAa0gAq1CIIaEIAMgBCAFEGYL3iMDD38IfgF8IwBB8ABrIgkkAAJAIAFBAE5BACAAG0UEQCACBEAgAkEANgIEIAJBEjYCAAsMAQsgACkDGCISAn5BsIMBKQMAIhNCf1EEQCAJQoOAgIBwNwMwIAlChoCAgPAANwMoIAlCgYCAgCA3AyBBsIMBQQAgCUEgahAkNwMAIAlCj4CAgHA3AxAgCUKJgICAoAE3AwAgCUKMgICA0AE3AwhBuIMBQQggCRAkNwMAQbCDASkDACETCyATC4MgE1IEQCACBEAgAkEANgIEIAJBHDYCAAsMAQsgASABQRByQbiDASkDACITIBKDIBNRGyIKQRhxQRhGBEAgAgRAIAJBADYCBCACQRk2AgALDAELIAlBOGoQKgJAIAAgCUE4ahAhBEACQCAAKAIMQQVGBEAgACgCEEEsRg0BCyACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAgsgCkEBcUUEQCACBEAgAkEANgIEIAJBCTYCAAsMAwsgAhBJIgVFDQEgBSAKNgIEIAUgADYCACAKQRBxRQ0CIAUgBSgCFEECcjYCFCAFIAUoAhhBAnI2AhgMAgsgCkECcQRAIAIEQCACQQA2AgQgAkEKNgIACwwCCyAAEDJBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsCfyAKQQhxBEACQCACEEkiAUUNACABIAo2AgQgASAANgIAIApBEHFFDQAgASABKAIUQQJyNgIUIAEgASgCGEECcjYCGAsgAQwBCyMAQUBqIg4kACAOQQhqECoCQCAAIA5BCGoQIUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAOLQAIQQRxRQRAIAIEQCACQYoBNgIEIAJBBDYCAAsMAQsgDikDICETIAIQSSIFRQRAQQAhBQwBCyAFIAo2AgQgBSAANgIAIApBEHEEQCAFIAUoAhRBAnI2AhQgBSAFKAIYQQJyNgIYCwJAAkACQCATUARAAn8gACEBAkADQCABKQMYQoCAEINCAFINASABKAIAIgENAAtBAQwBCyABQQBCAEESEA6nCw0EIAVBCGoEQCAFQQA2AgwgBUETNgIICwwBCyMAQdAAayIBJAACQCATQhVYBEAgBUEIagRAIAVBADYCDCAFQRM2AggLDAELAkACQCAFKAIAQgAgE0KqgAQgE0KqgARUGyISfUECEBRBf0oNACAFKAIAIgMoAgxBBEYEQCADKAIQQRZGDQELIAVBCGoEQCAFIAMoAgw2AgggBSADKAIQNgIMCwwBCyAFKAIAEDMiE0J/VwRAIAUoAgAhAyAFQQhqIggEQCAIIAMoAgw2AgAgCCADKAIQNgIECwwBCyAFKAIAIBJBACAFQQhqIg8QLSIERQ0BIBJCqoAEWgRAAkAgBCkDCEIUVARAIARBADoAAAwBCyAEQhQ3AxAgBEEBOgAACwsgAQRAIAFBADYCBCABQRM2AgALIARCABATIQwCQCAELQAABH4gBCkDCCAEKQMQfQVCAAunIgdBEmtBA0sEQEJ/IRcDQCAMQQFrIQMgByAMakEVayEGAkADQCADQQFqIgNB0AAgBiADaxB6IgNFDQEgA0EBaiIMQZ8SQQMQPQ0ACwJAIAMgBCgCBGusIhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBC0AAAR+IAQpAxAFQgALIRICQCAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsgBEIEEBMoAABB0JaVMEcEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsCQAJAAkAgEkIUVA0AIAQoAgQgEqdqQRRrKAAAQdCWmThHDQACQCASQhR9IhQgBCIDKQMIVgRAIANBADoAAAwBCyADIBQ3AxAgA0EBOgAACyAFKAIUIRAgBSgCACEGIAMtAAAEfiAEKQMQBUIACyEWIARCBBATGiAEEAwhCyAEEAwhDSAEEB0iFEJ/VwRAIAEEQCABQRY2AgQgAUEENgIACwwECyAUQjh8IhUgEyAWfCIWVgRAIAEEQCABQQA2AgQgAUEVNgIACwwECwJAAkAgEyAUVg0AIBUgEyAEKQMIfFYNAAJAIBQgE30iFSAEKQMIVgRAIANBADoAAAwBCyADIBU3AxAgA0EBOgAAC0EAIQcMAQsgBiAUQQAQFEF/TARAIAEEQCABIAYoAgw2AgAgASAGKAIQNgIECwwFC0EBIQcgBkI4IAFBEGogARAtIgNFDQQLIANCBBATKAAAQdCWmTBHBEAgAQRAIAFBADYCBCABQRU2AgALIAdFDQQgAxAIDAQLIAMQHSEVAkAgEEEEcSIGRQ0AIBQgFXxCDHwgFlENACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgA0IEEBMaIAMQFSIQIAsgC0H//wNGGyELIAMQFSIRIA0gDUH//wNGGyENAkAgBkUNACANIBFGQQAgCyAQRhsNACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgCyANcgRAIAEEQCABQQA2AgQgAUEBNgIACyAHRQ0EIAMQCAwECyADEB0iGCADEB1SBEAgAQRAIAFBADYCBCABQQE2AgALIAdFDQQgAxAIDAQLIAMQHSEVIAMQHSEWIAMtAABFBEAgAQRAIAFBADYCBCABQRQ2AgALIAdFDQQgAxAIDAQLIAcEQCADEAgLAkAgFkIAWQRAIBUgFnwiGSAWWg0BCyABBEAgAUEWNgIEIAFBBDYCAAsMBAsgEyAUfCIUIBlUBEAgAQRAIAFBADYCBCABQRU2AgALDAQLAkAgBkUNACAUIBlRDQAgAQRAIAFBADYCBCABQRU2AgALDAQLIBggFUIugFgNASABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCASIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAUoAhQhAyAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsgBC0AAAR+IAQpAxAFQgALIRQgBEIEEBMaIAQQFQRAIAEEQCABQQA2AgQgAUEBNgIACwwDCyAEEAwgBBAMIgZHBEAgAQRAIAFBADYCBCABQRM2AgALDAMLIAQQFSEHIAQQFa0iFiAHrSIVfCIYIBMgFHwiFFYEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCADQQRxRQ0AIBQgGFENACABBEAgAUEANgIEIAFBFTYCAAsMAwsgBq0gARBqIgNFDQIgAyAWNwMgIAMgFTcDGCADQQA6ACwMAQsgGCABEGoiA0UNASADIBY3AyAgAyAVNwMYIANBAToALAsCQCASQhR8IhQgBCkDCFYEQCAEQQA6AAAMAQsgBCAUNwMQIARBAToAAAsgBBAMIQYCQCADKQMYIAMpAyB8IBIgE3xWDQACQCAGRQRAIAUtAARBBHFFDQELAkAgEkIWfCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIACyIUIAatIhJUDQEgBS0ABEEEcUEAIBIgFFIbDQEgBkUNACADIAQgEhATIAZBACABEDUiBjYCKCAGDQAgAxAWDAILAkAgEyADKQMgIhJYBEACQCASIBN9IhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBCADKQMYEBMiBkUNAiAGIAMpAxgQFyIHDQEgAQRAIAFBADYCBCABQQ42AgALIAMQFgwDCyAFKAIAIBJBABAUIQcgBSgCACEGIAdBf0wEQCABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAMLQQAhByAGEDMgAykDIFENACABBEAgAUEANgIEIAFBEzYCAAsgAxAWDAILQgAhFAJAAkAgAykDGCIWUEUEQANAIBQgAykDCFIiC0UEQCADLQAsDQMgFkIuVA0DAn8CQCADKQMQIhVCgIAEfCISIBVaQQAgEkKAgICAAVQbRQ0AIAMoAgAgEqdBBHQQNCIGRQ0AIAMgBjYCAAJAIAMpAwgiFSASWg0AIAYgFadBBHRqIgZCADcCACAGQgA3AAUgFUIBfCIVIBJRDQADQCADKAIAIBWnQQR0aiIGQgA3AgAgBkIANwAFIBVCAXwiFSASUg0ACwsgAyASNwMIIAMgEjcDEEEBDAELIAEEQCABQQA2AgQgAUEONgIAC0EAC0UNBAtB2AAQCSIGBH8gBkIANwMgIAZBADYCGCAGQv////8PNwMQIAZBADsBDCAGQb+GKDYCCCAGQQE6AAYgBkEAOwEEIAZBADYCACAGQgA3A0ggBkGAgNiNeDYCRCAGQgA3AyggBkIANwMwIAZCADcDOCAGQUBrQQA7AQAgBkIANwNQIAYFQQALIQYgAygCACAUp0EEdGogBjYCAAJAIAYEQCAGIAUoAgAgB0EAIAEQaCISQn9VDQELIAsNBCABKAIAQRNHDQQgAQRAIAFBADYCBCABQRU2AgALDAQLIBRCAXwhFCAWIBJ9IhZCAFINAAsLIBQgAykDCFINAAJAIAUtAARBBHFFDQAgBwRAIActAAAEfyAHKQMQIAcpAwhRBUEAC0UNAgwBCyAFKAIAEDMiEkJ/VwRAIAUoAgAhBiABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAULIBIgAykDGCADKQMgfFINAQsgBxAIAn4gCARAAn8gF0IAVwRAIAUgCCABEEghFwsgBSADIAEQSCISIBdVCwRAIAgQFiASDAILIAMQFgwFC0IAIAUtAARBBHFFDQAaIAUgAyABEEgLIRcgAyEIDAMLIAEEQCABQQA2AgQgAUEVNgIACyAHEAggAxAWDAILIAMQFiAHEAgMAQsgAQRAIAFBADYCBCABQRU2AgALIAMQFgsCQCAMIAQoAgRrrCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIAC6ciB0ESa0EDSw0BCwsgBBAIIBdCf1UNAwwBCyAEEAgLIA8iAwRAIAMgASgCADYCACADIAEoAgQ2AgQLIAgQFgtBACEICyABQdAAaiQAIAgNAQsgAgRAIAIgBSgCCDYCACACIAUoAgw2AgQLDAELIAUgCCgCADYCQCAFIAgpAwg3AzAgBSAIKQMQNwM4IAUgCCgCKDYCICAIEAYgBSgCUCEIIAVBCGoiBCEBQQAhBwJAIAUpAzAiE1ANAEGAgICAeCEGAn8gE7pEAAAAAAAA6D+jRAAA4P///+9BpCIaRAAAAAAAAPBBYyAaRAAAAAAAAAAAZnEEQCAaqwwBC0EACyIDQYCAgIB4TQRAIANBAWsiA0EBdiADciIDQQJ2IANyIgNBBHYgA3IiA0EIdiADciIDQRB2IANyQQFqIQYLIAYgCCgCACIMTQ0AIAYQPCILRQRAIAEEQCABQQA2AgQgAUEONgIACwwBCwJAIAgpAwhCACAMG1AEQCAIKAIQIQ8MAQsgCCgCECEPA0AgDyAHQQJ0aigCACIBBEADQCABKAIYIQMgASALIAEoAhwgBnBBAnRqIg0oAgA2AhggDSABNgIAIAMiAQ0ACwsgB0EBaiIHIAxHDQALCyAPEAYgCCAGNgIAIAggCzYCEAsCQCAFKQMwUA0AQgAhEwJAIApBBHFFBEADQCAFKAJAIBOnQQR0aigCACgCMEEAQQAgAhAlIgFFDQQgBSgCUCABIBNBCCAEEE1FBEAgBCgCAEEKRw0DCyATQgF8IhMgBSkDMFQNAAwDCwALA0AgBSgCQCATp0EEdGooAgAoAjBBAEEAIAIQJSIBRQ0DIAUoAlAgASATQQggBBBNRQ0BIBNCAXwiEyAFKQMwVA0ACwwBCyACBEAgAiAEKAIANgIAIAIgBCgCBDYCBAsMAQsgBSAFKAIUNgIYDAELIAAgACgCMEEBajYCMCAFEEtBACEFCyAOQUBrJAAgBQsiBQ0BIAAQGhoLQQAhBQsgCUHwAGokACAFCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL4CoDEX8IfgN8IwBBwMAAayIHJABBfyECAkAgAEUNAAJ/IAAtAChFBEBBACAAKAIYIAAoAhRGDQEaC0EBCyEBAkACQCAAKQMwIhRQRQRAIAAoAkAhCgNAIAogEqdBBHRqIgMtAAwhCwJAAkAgAygCCA0AIAsNACADKAIEIgNFDQEgAygCAEUNAQtBASEBCyAXIAtBAXOtQv8Bg3whFyASQgF8IhIgFFINAAsgF0IAUg0BCyAAKAIEQQhxIAFyRQ0BAn8gACgCACIDKAIkIgFBA0cEQCADKAIgBH9BfyADEBpBAEgNAhogAygCJAUgAQsEQCADEEMLQX8gA0EAQgBBDxAOQgBTDQEaIANBAzYCJAtBAAtBf0oNASAAKAIAKAIMQRZGBEAgACgCACgCEEEsRg0CCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLDAILIAFFDQAgFCAXVARAIABBCGoEQCAAQQA2AgwgAEEUNgIICwwCCyAXp0EDdBAJIgtFDQFCfyEWQgAhEgNAAkAgCiASp0EEdGoiBigCACIDRQ0AAkAgBigCCA0AIAYtAAwNACAGKAIEIgFFDQEgASgCAEUNAQsgFiADKQNIIhMgEyAWVhshFgsgBi0ADEUEQCAXIBlYBEAgCxAGIABBCGoEQCAAQQA2AgwgAEEUNgIICwwECyALIBmnQQN0aiASNwMAIBlCAXwhGQsgEkIBfCISIBRSDQALIBcgGVYEQCALEAYgAEEIagRAIABBADYCDCAAQRQ2AggLDAILAkACQCAAKAIAKQMYQoCACINQDQACQAJAIBZCf1INACAAKQMwIhNQDQIgE0IBgyEVIAAoAkAhAwJAIBNCAVEEQEJ/IRRCACESQgAhFgwBCyATQn6DIRlCfyEUQgAhEkIAIRYDQCADIBKnQQR0aigCACIBBEAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyADIBJCAYQiGKdBBHRqKAIAIgEEQCAWIAEpA0giEyATIBZUIgEbIRYgFCAYIAEbIRQLIBJCAnwhEiAZQgJ9IhlQRQ0ACwsCQCAVUA0AIAMgEqdBBHRqKAIAIgFFDQAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyAUQn9RDQBCACETIwBBEGsiBiQAAkAgACAUIABBCGoiCBBBIhVQDQAgFSAAKAJAIBSnQQR0aigCACIKKQMgIhh8IhQgGFpBACAUQn9VG0UEQCAIBEAgCEEWNgIEIAhBBDYCAAsMAQsgCi0ADEEIcUUEQCAUIRMMAQsgACgCACAUQQAQFCEBIAAoAgAhAyABQX9MBEAgCARAIAggAygCDDYCACAIIAMoAhA2AgQLDAELIAMgBkEMakIEEBFCBFIEQCAAKAIAIQEgCARAIAggASgCDDYCACAIIAEoAhA2AgQLDAELIBRCBHwgFCAGKAAMQdCWncAARhtCFEIMAn9BASEBAkAgCikDKEL+////D1YNACAKKQMgQv7///8PVg0AQQAhAQsgAQsbfCIUQn9XBEAgCARAIAhBFjYCBCAIQQQ2AgALDAELIBQhEwsgBkEQaiQAIBMiFkIAUg0BIAsQBgwFCyAWUA0BCwJ/IAAoAgAiASgCJEEBRgRAIAFBDGoEQCABQQA2AhAgAUESNgIMC0F/DAELQX8gAUEAIBZBERAOQgBTDQAaIAFBATYCJEEAC0F/Sg0BC0IAIRYCfyAAKAIAIgEoAiRBAUYEQCABQQxqBEAgAUEANgIQIAFBEjYCDAtBfwwBC0F/IAFBAEIAQQgQDkIAUw0AGiABQQE2AiRBAAtBf0oNACAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLIAsQBgwCCyAAKAJUIgIEQCACQgA3AxggAigCAEQAAAAAAAAAACACKAIMIAIoAgQRDgALIABBCGohBCAXuiEcQgAhFAJAAkACQANAIBcgFCITUgRAIBO6IByjIRsgE0IBfCIUuiAcoyEaAkAgACgCVCICRQ0AIAIgGjkDKCACIBs5AyAgAisDECAaIBuhRAAAAAAAAAAAoiAboCIaIAIrAxihY0UNACACKAIAIBogAigCDCACKAIEEQ4AIAIgGjkDGAsCfwJAIAAoAkAgCyATp0EDdGopAwAiE6dBBHRqIg0oAgAiAQRAIAEpA0ggFlQNAQsgDSgCBCEFAkACfwJAIA0oAggiAkUEQCAFRQ0BQQEgBSgCACICQQFxDQIaIAJBwABxQQZ2DAILQQEgBQ0BGgsgDSABECsiBTYCBCAFRQ0BIAJBAEcLIQZBACEJIwBBEGsiDCQAAkAgEyAAKQMwWgRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/IQkMAQsgACgCQCIKIBOnIgNBBHRqIg8oAgAiAkUNACACLQAEDQACQCACKQNIQhp8IhhCf1cEQCAAQQhqBEAgAEEWNgIMIABBBDYCCAsMAQtBfyEJIAAoAgAgGEEAEBRBf0wEQCAAKAIAIQIgAEEIagRAIAAgAigCDDYCCCAAIAIoAhA2AgwLDAILIAAoAgBCBCAMQQxqIABBCGoiDhAtIhBFDQEgEBAMIQEgEBAMIQggEC0AAAR/IBApAxAgECkDCFEFQQALIQIgEBAIIAJFBEAgDgRAIA5BADYCBCAOQRQ2AgALDAILAkAgCEUNACAAKAIAIAGtQQEQFEF/TARAQYSEASgCACECIA4EQCAOIAI2AgQgDkEENgIACwwDC0EAIAAoAgAgCEEAIA4QRSIBRQ0BIAEgCEGAAiAMQQhqIA4QbiECIAEQBiACRQ0BIAwoAggiAkUNACAMIAIQbSICNgIIIA8oAgAoAjQgAhBvIQIgDygCACACNgI0CyAPKAIAIgJBAToABEEAIQkgCiADQQR0aigCBCIBRQ0BIAEtAAQNASACKAI0IQIgAUEBOgAEIAEgAjYCNAwBC0F/IQkLIAxBEGokACAJQQBIDQUgACgCABAfIhhCAFMNBSAFIBg3A0ggBgRAQQAhDCANKAIIIg0hASANRQRAIAAgACATQQhBABB/IgwhASAMRQ0HCwJAAkAgASAHQQhqECFBf0wEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMAQsgBykDCCISQsAAg1AEQCAHQQA7ATggByASQsAAhCISNwMICwJAAkAgBSgCECICQX5PBEAgBy8BOCIDRQ0BIAUgAzYCECADIQIMAgsgAg0AIBJCBINQDQAgByAHKQMgNwMoIAcgEkIIhCISNwMIQQAhAgwBCyAHIBJC9////w+DIhI3AwgLIBJCgAGDUARAIAdBADsBOiAHIBJCgAGEIhI3AwgLAn8gEkIEg1AEQEJ/IRVBgAoMAQsgBSAHKQMgIhU3AyggEkIIg1AEQAJAAkACQAJAQQggAiACQX1LG0H//wNxDg0CAwMDAwMDAwEDAwMAAwtBgApBgAIgFUKUwuTzD1YbDAQLQYAKQYACIBVCg4Ow/w9WGwwDC0GACkGAAiAVQv////8PVhsMAgtBgApBgAIgFUIAUhsMAQsgBSAHKQMoNwMgQYACCyEPIAAoAgAQHyITQn9XBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyAFIAUvAQxB9/8DcTsBDCAAIAUgDxA3IgpBAEgNACAHLwE4IghBCCAFKAIQIgMgA0F9SxtB//8DcSICRyEGAkACQAJAAkACQAJAAkAgAiAIRwRAIANBAEchAwwBC0EAIQMgBS0AAEGAAXFFDQELIAUvAVIhCSAHLwE6IQIMAQsgBS8BUiIJIAcvAToiAkYNAQsgASABKAIwQQFqNgIwIAJB//8DcQ0BIAEhAgwCCyABIAEoAjBBAWo2AjBBACEJDAILQSZBACAHLwE6QQFGGyICRQRAIAQEQCAEQQA2AgQgBEEYNgIACyABEAsMAwsgACABIAcvATpBACAAKAIcIAIRBgAhAiABEAsgAkUNAgsgCUEARyEJIAhBAEcgBnFFBEAgAiEBDAELIAAgAiAHLwE4EIEBIQEgAhALIAFFDQELAkAgCEUgBnJFBEAgASECDAELIAAgAUEAEIABIQIgARALIAJFDQELAkAgA0UEQCACIQMMAQsgACACIAUoAhBBASAFLwFQEIIBIQMgAhALIANFDQELAkAgCUUEQCADIQEMAQsgBSgCVCIBRQRAIAAoAhwhAQsCfyAFLwFSGkEBCwRAIAQEQCAEQQA2AgQgBEEYNgIACyADEAsMAgsgACADIAUvAVJBASABQQARBgAhASADEAsgAUUNAQsgACgCABAfIhhCf1cEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELAkAgARAyQQBOBEACfwJAAkAgASAHQUBrQoDAABARIhJCAVMNAEIAIRkgFUIAVQRAIBW5IRoDQCAAIAdBQGsgEhAbQQBIDQMCQCASQoDAAFINACAAKAJUIgJFDQAgAiAZQoBAfSIZuSAaoxB7CyABIAdBQGtCgMAAEBEiEkIAVQ0ACwwBCwNAIAAgB0FAayASEBtBAEgNAiABIAdBQGtCgMAAEBEiEkIAVQ0ACwtBACASQn9VDQEaIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwtBfwshAiABEBoaDAELIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIEC0F/IQILIAEgB0EIahAhQX9MBEAgBARAIAQgASgCDDYCACAEIAEoAhA2AgQLQX8hAgsCf0EAIQkCQCABIgNFDQADQCADLQAaQQFxBEBB/wEhCSADQQBCAEEQEA4iFUIAUw0CIBVCBFkEQCADQQxqBEAgA0EANgIQIANBFDYCDAsMAwsgFachCQwCCyADKAIAIgMNAAsLIAlBGHRBGHUiA0F/TAsEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsgARALDAELIAEQCyACQQBIDQAgACgCABAfIRUgACgCACECIBVCf1cEQCAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsMAQsgAiATEHVBf0wEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELIAcpAwgiE0LkAINC5ABSBEAgBARAIARBADYCBCAEQRQ2AgALDAELAkAgBS0AAEEgcQ0AIBNCEINQRQRAIAUgBygCMDYCFAwBCyAFQRRqEAEaCyAFIAcvATg2AhAgBSAHKAI0NgIYIAcpAyAhEyAFIBUgGH03AyAgBSATNwMoIAUgBS8BDEH5/wNxIANB/wFxQQF0cjsBDCAPQQp2IQNBPyEBAkACQAJAAkAgBSgCECICQQxrDgMAAQIBCyAFQS47AQoMAgtBLSEBIAMNACAFKQMoQv7///8PVg0AIAUpAyBC/v///w9WDQBBFCEBIAJBCEYNACAFLwFSQQFGDQAgBSgCMCICBH8gAi8BBAVBAAtB//8DcSICBEAgAiAFKAIwKAIAakEBay0AAEEvRg0BC0EKIQELIAUgATsBCgsgACAFIA8QNyICQQBIDQAgAiAKRwRAIAQEQCAEQQA2AgQgBEEUNgIACwwBCyAAKAIAIBUQdUF/Sg0BIAAoAgAhAiAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsLIA0NByAMEAsMBwsgDQ0CIAwQCwwCCyAFIAUvAQxB9/8DcTsBDCAAIAVBgAIQN0EASA0FIAAgEyAEEEEiE1ANBSAAKAIAIBNBABAUQX9MBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwGCyAFKQMgIRIjAEGAQGoiAyQAAkAgElBFBEAgAEEIaiECIBK6IRoDQEF/IQEgACgCACADIBJCgMAAIBJCgMAAVBsiEyACEGVBAEgNAiAAIAMgExAbQQBIDQIgACgCVCAaIBIgE30iErqhIBqjEHsgEkIAUg0ACwtBACEBCyADQYBAayQAIAFBf0oNAUEBIREgAUEcdkEIcUEIRgwCCyAEBEAgBEEANgIEIARBDjYCAAsMBAtBAAtFDQELCyARDQBBfyECAkAgACgCABAfQgBTDQAgFyEUQQAhCkIAIRcjAEHwAGsiESQAAkAgACgCABAfIhVCAFkEQCAUUEUEQANAIAAgACgCQCALIBenQQN0aigCAEEEdGoiAygCBCIBBH8gAQUgAygCAAtBgAQQNyIBQQBIBEBCfyEXDAQLIAFBAEcgCnIhCiAXQgF8IhcgFFINAAsLQn8hFyAAKAIAEB8iGEJ/VwRAIAAoAgAhASAAQQhqBEAgACABKAIMNgIIIAAgASgCEDYCDAsMAgsgEULiABAXIgZFBEAgAEEIagRAIABBADYCDCAAQQ42AggLDAILIBggFX0hEyAVQv////8PViAUQv//A1ZyIApyQQFxBEAgBkGZEkEEECwgBkIsEBggBkEtEA0gBkEtEA0gBkEAEBIgBkEAEBIgBiAUEBggBiAUEBggBiATEBggBiAVEBggBkGUEkEEECwgBkEAEBIgBiAYEBggBkEBEBILIAZBnhJBBBAsIAZBABASIAYgFEL//wMgFEL//wNUG6dB//8DcSIBEA0gBiABEA0gBkF/IBOnIBNC/v///w9WGxASIAZBfyAVpyAVQv7///8PVhsQEiAGIABBJEEgIAAtACgbaigCACIDBH8gAy8BBAVBAAtB//8DcRANIAYtAABFBEAgAEEIagRAIABBADYCDCAAQRQ2AggLIAYQCAwCCyAAIAYoAgQgBi0AAAR+IAYpAxAFQgALEBshASAGEAggAUEASA0BIAMEQCAAIAMoAgAgAzMBBBAbQQBIDQILIBMhFwwBCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLQn8hFwsgEUHwAGokACAXQgBTDQAgACgCABAfQj+HpyECCyALEAYgAkEASA0BAn8gACgCACIBKAIkQQFHBEAgAUEMagRAIAFBADYCECABQRI2AgwLQX8MAQsgASgCICICQQJPBEAgAUEMagRAIAFBADYCECABQR02AgwLQX8MAQsCQCACQQFHDQAgARAaQQBODQBBfwwBCyABQQBCAEEJEA5Cf1cEQCABQQI2AiRBfwwBCyABQQA2AiRBAAtFDQIgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyALEAYLIAAoAlQQfCAAKAIAEENBfyECDAILIAAoAlQQfAsgABBLQQAhAgsgB0HAwABqJAAgAgtFAEHwgwFCADcDAEHogwFCADcDAEHggwFCADcDAEHYgwFCADcDAEHQgwFCADcDAEHIgwFCADcDAEHAgwFCADcDAEHAgwELoQMBCH8jAEGgAWsiAiQAIAAQMQJAAn8CQCAAKAIAIgFBAE4EQCABQbATKAIASA0BCyACIAE2AhAgAkEgakH2ESACQRBqEHZBASEGIAJBIGohBCACQSBqECIhA0EADAELIAFBAnQiAUGwEmooAgAhBQJ/AkACQCABQcATaigCAEEBaw4CAAEECyAAKAIEIQNB9IIBKAIAIQdBACEBAkACQANAIAMgAUHQ8QBqLQAARwRAQdcAIQQgAUEBaiIBQdcARw0BDAILCyABIgQNAEGw8gAhAwwBC0Gw8gAhAQNAIAEtAAAhCCABQQFqIgMhASAIDQAgAyEBIARBAWsiBA0ACwsgBygCFBogAwwBC0EAIAAoAgRrQQJ0QdjAAGooAgALIgRFDQEgBBAiIQMgBUUEQEEAIQVBASEGQQAMAQsgBRAiQQJqCyEBIAEgA2pBAWoQCSIBRQRAQegSKAIAIQUMAQsgAiAENgIIIAJBrBJBkRIgBhs2AgQgAkGsEiAFIAYbNgIAIAFBqwogAhB2IAAgATYCCCABIQULIAJBoAFqJAAgBQszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQBxogACAAKAIUIAFqNgIUIAILBgBBsIgBCwYAQayIAQsGAEGkiAELBwAgAEEEagsHACAAQQhqCyYBAX8gACgCFCIBBEAgARALCyAAKAIEIQEgAEEEahAxIAAQBiABC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkHBAGtBGkkbIAEtAAAiAkEgciACIAJBwQBrQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBwQBrQRpJGyABLQAAIgBBIHIgACAAQcEAa0EaSRtrC8sGAgJ+An8jAEHgAGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDg8AAQoCAwQGBwgICAgICAUICyABQgA3AyAMCQsgACACIAMQESIFQn9XBEAgAUEIaiIBBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMCAsCQCAFUARAIAEpAygiAyABKQMgUg0BIAEgAzcDGCABQQE2AgQgASgCAEUNASAAIAdBKGoQIUF/TARAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAoLAkAgBykDKCIDQiCDUA0AIAcoAlQgASgCMEYNACABQQhqBEAgAUEANgIMIAFBBzYCCAsMCgsgA0IEg1ANASAHKQNAIAEpAxhRDQEgAUEIagRAIAFBADYCDCABQRU2AggLDAkLIAEoAgQNACABKQMoIgMgASkDICIGVA0AIAUgAyAGfSIDWA0AIAEoAjAhBANAIAECfyAFIAN9IgZC/////w8gBkL/////D1QbIganIQBBACACIAOnaiIIRQ0AGiAEIAggAEHUgAEoAgARAAALIgQ2AjAgASABKQMoIAZ8NwMoIAUgAyAGfCIDVg0ACwsgASABKQMgIAV8NwMgDAgLIAEoAgRFDQcgAiABKQMYIgM3AxggASgCMCEAIAJBADYCMCACIAM3AyAgAiAANgIsIAIgAikDAELsAYQ3AwAMBwsgA0IIWgR+IAIgASgCCDYCACACIAEoAgw2AgRCCAVCfwshBQwGCyABEAYMBQtCfyEFIAApAxgiA0J/VwRAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAULIAdBfzYCGCAHQo+AgICAAjcDECAHQoyAgIDQATcDCCAHQomAgICgATcDACADQQggBxAkQn+FgyEFDAQLIANCD1gEQCABQQhqBEAgAUEANgIMIAFBEjYCCAsMAwsgAkUNAgJAIAAgAikDACACKAIIEBRBAE4EQCAAEDMiA0J/VQ0BCyABQQhqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwDCyABIAM3AyAMAwsgASkDICEFDAILIAFBCGoEQCABQQA2AgwgAUEcNgIICwtCfyEFCyAHQeAAaiQAIAULjAcCAn4CfyMAQRBrIgckAAJAAkACQAJAAkACQAJAAkACQAJAIAQOEQABAgMFBggICAgICAgIBwgECAsgAUJ/NwMgIAFBADoADyABQQA7AQwgAUIANwMYIAEoAqxAIAEoAqhAKAIMEQEArUIBfSEFDAgLQn8hBSABKAIADQdCACEFIANQDQcgAS0ADQ0HIAFBKGohBAJAA0ACQCAHIAMgBX03AwggASgCrEAgAiAFp2ogB0EIaiABKAKoQCgCHBEAACEIQgAgBykDCCAIQQJGGyAFfCEFAkACQAJAIAhBAWsOAwADAQILIAFBAToADSABKQMgIgNCf1cEQCABBEAgAUEANgIEIAFBFDYCAAsMBQsgAS0ADkUNBCADIAVWDQQgASADNwMYIAFBAToADyACIAQgA6cQBxogASkDGCEFDAwLIAEtAAwNAyAAIARCgMAAEBEiBkJ/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwECyAGUARAIAFBAToADCABKAKsQCABKAKoQCgCGBEDACABKQMgQn9VDQEgAUIANwMgDAELAkAgASkDIEIAWQRAIAFBADoADgwBCyABIAY3AyALIAEoAqxAIAQgBiABKAKoQCgCFBEPABoLIAMgBVYNAQwCCwsgASgCAA0AIAEEQCABQQA2AgQgAUEUNgIACwsgBVBFBEAgAUEAOgAOIAEgASkDGCAFfDcDGAwIC0J/QgAgASgCABshBQwHCyABKAKsQCABKAKoQCgCEBEBAK1CAX0hBQwGCyABLQAQBEAgAS0ADQRAIAIgAS0ADwR/QQAFQQggASgCFCIAIABBfUsbCzsBMCACIAEpAxg3AyAgAiACKQMAQsgAhDcDAAwHCyACIAIpAwBCt////w+DNwMADAYLIAJBADsBMCACKQMAIQMgAS0ADQRAIAEpAxghBSACIANCxACENwMAIAIgBTcDGEIAIQUMBgsgAiADQrv///8Pg0LAAIQ3AwAMBQsgAS0ADw0EIAEoAqxAIAEoAqhAKAIIEQEArCEFDAQLIANCCFoEfiACIAEoAgA2AgAgAiABKAIENgIEQggFQn8LIQUMAwsgAUUNAiABKAKsQCABKAKoQCgCBBEDACABEDEgARAGDAILIAdBfzYCAEEQIAcQJEI/hCEFDAELIAEEQCABQQA2AgQgAUEUNgIAC0J/IQULIAdBEGokACAFC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQA6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAu3fAIefwZ+IAIpAwAhIiAAIAE2AhwgACAiQv////8PICJC/////w9UGz4CICAAQRBqIQECfyAALQAEBEACfyAALQAMQQJ0IQpBfiEEAkACQAJAIAEiBUUNACAFKAIgRQ0AIAUoAiRFDQAgBSgCHCIDRQ0AIAMoAgAgBUcNAAJAAkAgAygCICIGQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyAGQZoFRg0AIAZBKkcNAQsgCkEFSw0AAkACQCAFKAIMRQ0AIAUoAgQiAQRAIAUoAgBFDQELIAZBmgVHDQEgCkEERg0BCyAFQeDAACgCADYCGEF+DAQLIAUoAhBFDQEgAygCJCEEIAMgCjYCJAJAIAMoAhAEQCADEDACQCAFKAIQIgYgAygCECIIIAYgCEkbIgFFDQAgBSgCDCADKAIIIAEQBxogBSAFKAIMIAFqNgIMIAMgAygCCCABajYCCCAFIAUoAhQgAWo2AhQgBSAFKAIQIAFrIgY2AhAgAyADKAIQIAFrIgg2AhAgCA0AIAMgAygCBDYCCEEAIQgLIAYEQCADKAIgIQYMAgsMBAsgAQ0AIApBAXRBd0EAIApBBEsbaiAEQQF0QXdBACAEQQRKG2pKDQAgCkEERg0ADAILAkACQAJAAkACQCAGQSpHBEAgBkGaBUcNASAFKAIERQ0DDAcLIAMoAhRFBEAgA0HxADYCIAwCCyADKAI0QQx0QYDwAWshBAJAIAMoAowBQQJODQAgAygCiAEiAUEBTA0AIAFBBUwEQCAEQcAAciEEDAELQYABQcABIAFBBkYbIARyIQQLIAMoAgQgCGogBEEgciAEIAMoAmgbIgFBH3AgAXJBH3NBCHQgAUGA/gNxQQh2cjsAACADIAMoAhBBAmoiATYCECADKAJoBEAgAygCBCABaiAFKAIwIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYAACADIAMoAhBBBGo2AhALIAVBATYCMCADQfEANgIgIAUQCiADKAIQDQcgAygCICEGCwJAAkACQAJAIAZBOUYEfyADQaABakHkgAEoAgARAQAaIAMgAygCECIBQQFqNgIQIAEgAygCBGpBHzoAACADIAMoAhAiAUEBajYCECABIAMoAgRqQYsBOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBCDoAAAJAIAMoAhwiAUUEQCADKAIEIAMoAhBqQQA2AAAgAyADKAIQIgFBBWo2AhAgASADKAIEakEAOgAEQQIhBCADKAKIASIBQQlHBEBBBCABQQJIQQJ0IAMoAowBQQFKGyEECyADIAMoAhAiAUEBajYCECABIAMoAgRqIAQ6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEDOgAAIANB8QA2AiAgBRAKIAMoAhBFDQEMDQsgASgCJCELIAEoAhwhCSABKAIQIQggASgCLCENIAEoAgAhBiADIAMoAhAiAUEBajYCEEECIQQgASADKAIEaiANQQBHQQF0IAZBAEdyIAhBAEdBAnRyIAlBAEdBA3RyIAtBAEdBBHRyOgAAIAMoAgQgAygCEGogAygCHCgCBDYAACADIAMoAhAiDUEEaiIGNgIQIAMoAogBIgFBCUcEQEEEIAFBAkhBAnQgAygCjAFBAUobIQQLIAMgDUEFajYCECADKAIEIAZqIAQ6AAAgAygCHCgCDCEEIAMgAygCECIBQQFqNgIQIAEgAygCBGogBDoAACADKAIcIgEoAhAEfyADKAIEIAMoAhBqIAEoAhQ7AAAgAyADKAIQQQJqNgIQIAMoAhwFIAELKAIsBEAgBQJ/IAUoAjAhBiADKAIQIQRBACADKAIEIgFFDQAaIAYgASAEQdSAASgCABEAAAs2AjALIANBxQA2AiAgA0EANgIYDAILIAMoAiAFIAYLQcUAaw4jAAQEBAEEBAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAMECyADKAIcIgEoAhAiBgRAIAMoAgwiCCADKAIQIgQgAS8BFCADKAIYIg1rIglqSQRAA0AgAygCBCAEaiAGIA1qIAggBGsiCBAHGiADIAMoAgwiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIAMgAygCGCAIajYCGCAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAsgAygCEA0MIAMoAhghDSADKAIcKAIQIQZBACEEIAkgCGsiCSADKAIMIghLDQALCyADKAIEIARqIAYgDWogCRAHGiADIAMoAhAgCWoiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiBCEJA0ACQCAEIAMoAgxHDQACQCADKAIcKAIsRQ0AIAQgCU0NACAFAn8gBSgCMCEGQQAgAygCBCAJaiIBRQ0AGiAGIAEgBCAJa0HUgAEoAgARAAALNgIwCyAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAtBACEEQQAhCSADKAIQRQ0ADAsLIAMoAhwoAhwhBiADIAMoAhgiAUEBajYCGCABIAZqLQAAIQEgAyAEQQFqNgIQIAMoAgQgBGogAToAACABBEAgAygCECEEDAELCwJAIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0EANgIYCyADQdsANgIgCwJAIAMoAhwoAiRFDQAgAygCECIEIQkDQAJAIAQgAygCDEcNAAJAIAMoAhwoAixFDQAgBCAJTQ0AIAUCfyAFKAIwIQZBACADKAIEIAlqIgFFDQAaIAYgASAEIAlrQdSAASgCABEAAAs2AjALIAUoAhwiBhAwAkAgBSgCECIEIAYoAhAiASABIARLGyIBRQ0AIAUoAgwgBigCCCABEAcaIAUgBSgCDCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQLDAILAn8CQANAAkACQAJAAkACQCADKAI8Ig1BggJLDQAgAxAvAkAgAygCPCINQYICSw0AIAoNAEEADAgLIA1FDQQgDUECSw0AIAMoAmghCAwBCyADKAJoIghFBEBBACEIDAELIAMoAkggCGoiAUEBayIELQAAIgYgAS0AAEcNACAGIAQtAAJHDQAgBEEDaiEEQQAhCQJAA0AgBiAELQAARw0BIAQtAAEgBkcEQCAJQQFyIQkMAgsgBC0AAiAGRwRAIAlBAnIhCQwCCyAELQADIAZHBEAgCUEDciEJDAILIAQtAAQgBkcEQCAJQQRyIQkMAgsgBC0ABSAGRwRAIAlBBXIhCQwCCyAELQAGIAZHBEAgCUEGciEJDAILIAQtAAcgBkcEQCAJQQdyIQkMAgsgBEEIaiEEIAlB+AFJIQEgCUEIaiEJIAENAAtBgAIhCQtBggIhBCANIAlBAmoiASABIA1LGyIBQYECSw0BIAEiBEECSw0BCyADKAJIIAhqLQAAIQQgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEAOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIAQ6AAAgAyAEQQJ0aiIBIAEvAeQBQQFqOwHkASADIAMoAjxBAWs2AjwgAyADKAJoQQFqIgQ2AmgMAQsgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEBOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIARBA2s6AAAgAyADKAKALkEBajYCgC4gBEH9zgBqLQAAQQJ0IANqQegJaiIBIAEvAQBBAWo7AQAgA0GAywAtAABBAnRqQdgTaiIBIAEvAQBBAWo7AQAgAyADKAI8IARrNgI8IAMgAygCaCAEaiIENgJoCyADKALwLSADKAL0LUcNAUEAIQggAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyAEIAFrQQAQDyADIAMoAmg2AlggAygCABAKIAMoAgAoAhANAQwCCwsgA0EANgKELiAKQQRGBEAgAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyADKAJoIAFrQQEQDyADIAMoAmg2AlggAygCABAKQQNBAiADKAIAKAIQGwwCCyADKALwLQRAQQAhCCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEEUNAQtBASEICyAICwwBCyADIAogAUEMbEG42ABqKAIAEQIACyIBQX5xQQJGBEAgA0GaBTYCIAsgAUF9cUUEQEEAIQQgBSgCEA0CDAQLIAFBAUcNAAJAAkACQCAKQQFrDgUAAQEBAgELIAMpA5guISICfwJ+IAMoAqAuIgFBA2oiCUE/TQRAQgIgAa2GICKEDAELIAFBwABGBEAgAygCBCADKAIQaiAiNwAAIAMgAygCEEEIajYCEEICISJBCgwCCyADKAIEIAMoAhBqQgIgAa2GICKENwAAIAMgAygCEEEIajYCECABQT1rIQlCAkHAACABa62ICyEiIAlBB2ogCUE5SQ0AGiADKAIEIAMoAhBqICI3AAAgAyADKAIQQQhqNgIQQgAhIiAJQTlrCyEBIAMgIjcDmC4gAyABNgKgLiADEDAMAQsgA0EAQQBBABA5IApBA0cNACADKAJQQQBBgIAIEBkgAygCPA0AIANBADYChC4gA0EANgJYIANBADYCaAsgBRAKIAUoAhANAAwDC0EAIQQgCkEERw0AAkACfwJAAkAgAygCFEEBaw4CAQADCyAFIANBoAFqQeCAASgCABEBACIBNgIwIAMoAgQgAygCEGogATYAACADIAMoAhBBBGoiATYCECADKAIEIAFqIQQgBSgCCAwBCyADKAIEIAMoAhBqIQQgBSgCMCIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnILIQEgBCABNgAAIAMgAygCEEEEajYCEAsgBRAKIAMoAhQiAUEBTgRAIANBACABazYCFAsgAygCEEUhBAsgBAwCCyAFQezAACgCADYCGEF7DAELIANBfzYCJEEACwwBCyMAQRBrIhQkAEF+IRcCQCABIgxFDQAgDCgCIEUNACAMKAIkRQ0AIAwoAhwiB0UNACAHKAIAIAxHDQAgBygCBCIIQbT+AGtBH0sNACAMKAIMIhBFDQAgDCgCACIBRQRAIAwoAgQNAQsgCEG//gBGBEAgB0HA/gA2AgRBwP4AIQgLIAdBpAFqIR8gB0G8BmohGSAHQbwBaiEcIAdBoAFqIR0gB0G4AWohGiAHQfwKaiEYIAdBQGshHiAHKAKIASEFIAwoAgQiICEGIAcoAoQBIQogDCgCECIPIRYCfwJAAkACQANAAkBBfSEEQQEhCQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAhBtP4Aaw4fBwYICQolJicoBSwtLQsZGgQMAjIzATUANw0OAzlISUwLIAcoApQBIQMgASEEIAYhCAw1CyAHKAKUASEDIAEhBCAGIQgMMgsgBygCtAEhCAwuCyAHKAIMIQgMQQsgBUEOTw0pIAZFDUEgBUEIaiEIIAFBAWohBCAGQQFrIQkgAS0AACAFdCAKaiEKIAVBBkkNDCAEIQEgCSEGIAghBQwpCyAFQSBPDSUgBkUNQCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhJDQ0gBCEBIAghBgwlCyAFQRBPDRUgBkUNPyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDBULIAcoAgwiC0UNByAFQRBPDSIgBkUNPiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDCILIAVBH0sNFQwUCyAFQQ9LDRYMFQsgBygCFCIEQYAIcUUEQCAFIQgMFwsgCiEIIAVBD0sNGAwXCyAKIAVBB3F2IQogBUF4cSIFQR9LDQwgBkUNOiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0GIAQhASAJIQYgCCEFDAwLIAcoArQBIgggBygCqAEiC08NIwwiCyAPRQ0qIBAgBygCjAE6AAAgB0HI/gA2AgQgD0EBayEPIBBBAWohECAHKAIEIQgMOQsgBygCDCIDRQRAQQAhCAwJCyAFQR9LDQcgBkUNNyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0BIAQhASAJIQYgCCEFDAcLIAdBwP4ANgIEDCoLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDgLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMOAsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw4CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgCUUEQCAEIQFBACEGIAghBSANIQQMNwsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBDBwLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDYLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMNgsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAUEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw2CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgBUEIaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDDULIAFBAmohBCAGQQJrIQggAS0AASAJdCAKaiEKIAVBD0sEQCAEIQEgCCEGDBgLIAVBEGohCSAIRQRAIAQhAUEAIQYgCSEFIA0hBAw1CyABQQNqIQQgBkEDayEIIAEtAAIgCXQgCmohCiAFQQdLBEAgBCEBIAghBgwYCyAFQRhqIQUgCEUEQCAEIQFBACEGIA0hBAw1CyAGQQRrIQYgAS0AAyAFdCAKaiEKIAFBBGohAQwXCyAJDQYgBCEBQQAhBiAIIQUgDSEEDDMLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDMLIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQwUCyAMIBYgD2siCSAMKAIUajYCFCAHIAcoAiAgCWo2AiACQCADQQRxRQ0AIAkEQAJAIBAgCWshBCAMKAIcIggoAhQEQCAIQUBrIAQgCUEAQdiAASgCABEIAAwBCyAIIAgoAhwgBCAJQcCAASgCABEAACIENgIcIAwgBDYCMAsLIAcoAhRFDQAgByAeQeCAASgCABEBACIENgIcIAwgBDYCMAsCQCAHKAIMIghBBHFFDQAgBygCHCAKIApBCHRBgID8B3EgCkEYdHIgCkEIdkGA/gNxIApBGHZyciAHKAIUG0YNACAHQdH+ADYCBCAMQaQMNgIYIA8hFiAHKAIEIQgMMQtBACEKQQAhBSAPIRYLIAdBz/4ANgIEDC0LIApB//8DcSIEIApBf3NBEHZHBEAgB0HR/gA2AgQgDEGOCjYCGCAHKAIEIQgMLwsgB0HC/gA2AgQgByAENgKMAUEAIQpBACEFCyAHQcP+ADYCBAsgBygCjAEiBARAIA8gBiAEIAQgBksbIgQgBCAPSxsiCEUNHiAQIAEgCBAHIQQgByAHKAKMASAIazYCjAEgBCAIaiEQIA8gCGshDyABIAhqIQEgBiAIayEGIAcoAgQhCAwtCyAHQb/+ADYCBCAHKAIEIQgMLAsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBCyAHIAo2AhQgCkH/AXFBCEcEQCAHQdH+ADYCBCAMQYIPNgIYIAcoAgQhCAwrCyAKQYDAA3EEQCAHQdH+ADYCBCAMQY0JNgIYIAcoAgQhCAwrCyAHKAIkIgQEQCAEIApBCHZBAXE2AgALAkAgCkGABHFFDQAgBy0ADEEEcUUNACAUIAo7AAwgBwJ/IAcoAhwhBUEAIBRBDGoiBEUNABogBSAEQQJB1IABKAIAEQAACzYCHAsgB0G2/gA2AgRBACEFQQAhCgsgBkUNKCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhPBEAgBCEBIAghBgwBCyAFQQhqIQkgCEUEQCAEIQFBACEGIAkhBSANIQQMKwsgAUECaiEEIAZBAmshCCABLQABIAl0IApqIQogBUEPSwRAIAQhASAIIQYMAQsgBUEQaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDCsLIAFBA2ohBCAGQQNrIQggAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCCEGDAELIAVBGGohBSAIRQRAIAQhAUEAIQYgDSEEDCsLIAZBBGshBiABLQADIAV0IApqIQogAUEEaiEBCyAHKAIkIgQEQCAEIAo2AgQLAkAgBy0AFUECcUUNACAHLQAMQQRxRQ0AIBQgCjYADCAHAn8gBygCHCEFQQAgFEEMaiIERQ0AGiAFIARBBEHUgAEoAgARAAALNgIcCyAHQbf+ADYCBEEAIQVBACEKCyAGRQ0mIAFBAWohBCAGQQFrIQggAS0AACAFdCAKaiEKIAVBCE8EQCAEIQEgCCEGDAELIAVBCGohBSAIRQRAIAQhAUEAIQYgDSEEDCkLIAZBAmshBiABLQABIAV0IApqIQogAUECaiEBCyAHKAIkIgQEQCAEIApBCHY2AgwgBCAKQf8BcTYCCAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgFCAKOwAMIAcCfyAHKAIcIQVBACAUQQxqIgRFDQAaIAUgBEECQdSAASgCABEAAAs2AhwLIAdBuP4ANgIEQQAhCEEAIQVBACEKIAcoAhQiBEGACHENAQsgBygCJCIEBEAgBEEANgIQCyAIIQUMAgsgBkUEQEEAIQYgCCEKIA0hBAwmCyABQQFqIQkgBkEBayELIAEtAAAgBXQgCGohCiAFQQhPBEAgCSEBIAshBgwBCyAFQQhqIQUgC0UEQCAJIQFBACEGIA0hBAwmCyAGQQJrIQYgAS0AASAFdCAKaiEKIAFBAmohAQsgByAKQf//A3EiCDYCjAEgBygCJCIFBEAgBSAINgIUC0EAIQUCQCAEQYAEcUUNACAHLQAMQQRxRQ0AIBQgCjsADCAHAn8gBygCHCEIQQAgFEEMaiIERQ0AGiAIIARBAkHUgAEoAgARAAALNgIcC0EAIQoLIAdBuf4ANgIECyAHKAIUIglBgAhxBEAgBiAHKAKMASIIIAYgCEkbIg4EQAJAIAcoAiQiA0UNACADKAIQIgRFDQAgAygCGCILIAMoAhQgCGsiCE0NACAEIAhqIAEgCyAIayAOIAggDmogC0sbEAcaIAcoAhQhCQsCQCAJQYAEcUUNACAHLQAMQQRxRQ0AIAcCfyAHKAIcIQRBACABRQ0AGiAEIAEgDkHUgAEoAgARAAALNgIcCyAHIAcoAowBIA5rIgg2AowBIAYgDmshBiABIA5qIQELIAgNEwsgB0G6/gA2AgQgB0EANgKMAQsCQCAHLQAVQQhxBEBBACEIIAZFDQQDQCABIAhqLQAAIQMCQCAHKAIkIgtFDQAgCygCHCIERQ0AIAcoAowBIgkgCygCIE8NACAHIAlBAWo2AowBIAQgCWogAzoAAAsgA0EAIAYgCEEBaiIISxsNAAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgBwJ/IAcoAhwhBEEAIAFFDQAaIAQgASAIQdSAASgCABEAAAs2AhwLIAEgCGohASAGIAhrIQYgA0UNAQwTCyAHKAIkIgRFDQAgBEEANgIcCyAHQbv+ADYCBCAHQQA2AowBCwJAIActABVBEHEEQEEAIQggBkUNAwNAIAEgCGotAAAhAwJAIAcoAiQiC0UNACALKAIkIgRFDQAgBygCjAEiCSALKAIoTw0AIAcgCUEBajYCjAEgBCAJaiADOgAACyADQQAgBiAIQQFqIghLGw0ACwJAIActABVBAnFFDQAgBy0ADEEEcUUNACAHAn8gBygCHCEEQQAgAUUNABogBCABIAhB1IABKAIAEQAACzYCHAsgASAIaiEBIAYgCGshBiADRQ0BDBILIAcoAiQiBEUNACAEQQA2AiQLIAdBvP4ANgIECyAHKAIUIgtBgARxBEACQCAFQQ9LDQAgBkUNHyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEITwRAIAQhASAJIQYgCCEFDAELIAlFBEAgBCEBQQAhBiAIIQUgDSEEDCILIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQsCQCAHLQAMQQRxRQ0AIAogBy8BHEYNACAHQdH+ADYCBCAMQdcMNgIYIAcoAgQhCAwgC0EAIQpBACEFCyAHKAIkIgQEQCAEQQE2AjAgBCALQQl2QQFxNgIsCwJAIActAAxBBHFFDQAgC0UNACAHIB5B5IABKAIAEQEAIgQ2AhwgDCAENgIwCyAHQb/+ADYCBCAHKAIEIQgMHgtBACEGDA4LAkAgC0ECcUUNACAKQZ+WAkcNACAHKAIoRQRAIAdBDzYCKAtBACEKIAdBADYCHCAUQZ+WAjsADCAHIBRBDGoiBAR/QQAgBEECQdSAASgCABEAAAVBAAs2AhwgB0G1/gA2AgRBACEFIAcoAgQhCAwdCyAHKAIkIgQEQCAEQX82AjALAkAgC0EBcQRAIApBCHRBgP4DcSAKQQh2akEfcEUNAQsgB0HR/gA2AgQgDEH2CzYCGCAHKAIEIQgMHQsgCkEPcUEIRwRAIAdB0f4ANgIEIAxBgg82AhggBygCBCEIDB0LIApBBHYiBEEPcSIJQQhqIQsgCUEHTUEAIAcoAigiCAR/IAgFIAcgCzYCKCALCyALTxtFBEAgBUEEayEFIAdB0f4ANgIEIAxB+gw2AhggBCEKIAcoAgQhCAwdCyAHQQE2AhxBACEFIAdBADYCFCAHQYACIAl0NgIYIAxBATYCMCAHQb3+AEG//gAgCkGAwABxGzYCBEEAIQogBygCBCEIDBwLIAcgCkEIdEGAgPwHcSAKQRh0ciAKQQh2QYD+A3EgCkEYdnJyIgQ2AhwgDCAENgIwIAdBvv4ANgIEQQAhCkEAIQULIAcoAhBFBEAgDCAPNgIQIAwgEDYCDCAMIAY2AgQgDCABNgIAIAcgBTYCiAEgByAKNgKEAUECIRcMIAsgB0EBNgIcIAxBATYCMCAHQb/+ADYCBAsCfwJAIAcoAghFBEAgBUEDSQ0BIAUMAgsgB0HO/gA2AgQgCiAFQQdxdiEKIAVBeHEhBSAHKAIEIQgMGwsgBkUNGSAGQQFrIQYgAS0AACAFdCAKaiEKIAFBAWohASAFQQhqCyEEIAcgCkEBcTYCCAJAAkACQAJAAkAgCkEBdkEDcUEBaw4DAQIDAAsgB0HB/gA2AgQMAwsgB0Gw2wA2ApgBIAdCiYCAgNAANwOgASAHQbDrADYCnAEgB0HH/gA2AgQMAgsgB0HE/gA2AgQMAQsgB0HR/gA2AgQgDEHXDTYCGAsgBEEDayEFIApBA3YhCiAHKAIEIQgMGQsgByAKQR9xIghBgQJqNgKsASAHIApBBXZBH3EiBEEBajYCsAEgByAKQQp2QQ9xQQRqIgs2AqgBIAVBDmshBSAKQQ52IQogCEEdTUEAIARBHkkbRQRAIAdB0f4ANgIEIAxB6gk2AhggBygCBCEIDBkLIAdBxf4ANgIEQQAhCCAHQQA2ArQBCyAIIQQDQCAFQQJNBEAgBkUNGCAGQQFrIQYgAS0AACAFdCAKaiEKIAVBCGohBSABQQFqIQELIAcgBEEBaiIINgK0ASAHIARBAXRBsOwAai8BAEEBdGogCkEHcTsBvAEgBUEDayEFIApBA3YhCiALIAgiBEsNAAsLIAhBEk0EQEESIAhrIQ1BAyAIa0EDcSIEBEADQCAHIAhBAXRBsOwAai8BAEEBdGpBADsBvAEgCEEBaiEIIARBAWsiBA0ACwsgDUEDTwRAA0AgB0G8AWoiDSAIQQF0IgRBsOwAai8BAEEBdGpBADsBACANIARBsuwAai8BAEEBdGpBADsBACANIARBtOwAai8BAEEBdGpBADsBACANIARBtuwAai8BAEEBdGpBADsBACAIQQRqIghBE0cNAAsLIAdBEzYCtAELIAdBBzYCoAEgByAYNgKYASAHIBg2ArgBQQAhCEEAIBxBEyAaIB0gGRBOIg0EQCAHQdH+ADYCBCAMQfQINgIYIAcoAgQhCAwXCyAHQcb+ADYCBCAHQQA2ArQBQQAhDQsgBygCrAEiFSAHKAKwAWoiESAISwRAQX8gBygCoAF0QX9zIRIgBygCmAEhGwNAIAYhCSABIQsCQCAFIgMgGyAKIBJxIhNBAnRqLQABIg5PBEAgBSEEDAELA0AgCUUNDSALLQAAIAN0IQ4gC0EBaiELIAlBAWshCSADQQhqIgQhAyAEIBsgCiAOaiIKIBJxIhNBAnRqLQABIg5JDQALIAshASAJIQYLAkAgGyATQQJ0ai8BAiIFQQ9NBEAgByAIQQFqIgk2ArQBIAcgCEEBdGogBTsBvAEgBCAOayEFIAogDnYhCiAJIQgMAQsCfwJ/AkACQAJAIAVBEGsOAgABAgsgDkECaiIFIARLBEADQCAGRQ0bIAZBAWshBiABLQAAIAR0IApqIQogAUEBaiEBIARBCGoiBCAFSQ0ACwsgBCAOayEFIAogDnYhBCAIRQRAIAdB0f4ANgIEIAxBvAk2AhggBCEKIAcoAgQhCAwdCyAFQQJrIQUgBEECdiEKIARBA3FBA2ohCSAIQQF0IAdqLwG6AQwDCyAOQQNqIgUgBEsEQANAIAZFDRogBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQNrIQUgCiAOdiIEQQN2IQogBEEHcUEDagwBCyAOQQdqIgUgBEsEQANAIAZFDRkgBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQdrIQUgCiAOdiIEQQd2IQogBEH/AHFBC2oLIQlBAAshAyAIIAlqIBFLDRMgCUEBayEEIAlBA3EiCwRAA0AgByAIQQF0aiADOwG8ASAIQQFqIQggCUEBayEJIAtBAWsiCw0ACwsgBEEDTwRAA0AgByAIQQF0aiIEIAM7Ab4BIAQgAzsBvAEgBCADOwHAASAEIAM7AcIBIAhBBGohCCAJQQRrIgkNAAsLIAcgCDYCtAELIAggEUkNAAsLIAcvAbwFRQRAIAdB0f4ANgIEIAxB0Qs2AhggBygCBCEIDBYLIAdBCjYCoAEgByAYNgKYASAHIBg2ArgBQQEgHCAVIBogHSAZEE4iDQRAIAdB0f4ANgIEIAxB2Ag2AhggBygCBCEIDBYLIAdBCTYCpAEgByAHKAK4ATYCnAFBAiAHIAcoAqwBQQF0akG8AWogBygCsAEgGiAfIBkQTiINBEAgB0HR/gA2AgQgDEGmCTYCGCAHKAIEIQgMFgsgB0HH/gA2AgRBACENCyAHQcj+ADYCBAsCQCAGQQ9JDQAgD0GEAkkNACAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBIAwgFkHogAEoAgARBwAgBygCiAEhBSAHKAKEASEKIAwoAgQhBiAMKAIAIQEgDCgCECEPIAwoAgwhECAHKAIEQb/+AEcNByAHQX82ApBHIAcoAgQhCAwUCyAHQQA2ApBHIAUhCSAGIQggASEEAkAgBygCmAEiEiAKQX8gBygCoAF0QX9zIhVxIg5BAnRqLQABIgsgBU0EQCAFIQMMAQsDQCAIRQ0PIAQtAAAgCXQhCyAEQQFqIQQgCEEBayEIIAlBCGoiAyEJIAMgEiAKIAtqIgogFXEiDkECdGotAAEiC0kNAAsLIBIgDkECdGoiAS8BAiETAkBBACABLQAAIhEgEUHwAXEbRQRAIAshBgwBCyAIIQYgBCEBAkAgAyIFIAsgEiAKQX8gCyARanRBf3MiFXEgC3YgE2oiEUECdGotAAEiDmpPBEAgAyEJDAELA0AgBkUNDyABLQAAIAV0IQ4gAUEBaiEBIAZBAWshBiAFQQhqIgkhBSALIBIgCiAOaiIKIBVxIAt2IBNqIhFBAnRqLQABIg5qIAlLDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAs2ApBHIAsgDmohBiAJIAtrIQMgCiALdiEKIA4hCwsgByAGNgKQRyAHIBNB//8DcTYCjAEgAyALayEFIAogC3YhCiARRQRAIAdBzf4ANgIEDBALIBFBIHEEQCAHQb/+ADYCBCAHQX82ApBHDBALIBFBwABxBEAgB0HR/gA2AgQgDEHQDjYCGAwQCyAHQcn+ADYCBCAHIBFBD3EiAzYClAELAkAgA0UEQCAHKAKMASELIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNDSAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKMASAKQX8gA3RBf3NxaiILNgKMASAJIANrIQUgCiADdiEKCyAHQcr+ADYCBCAHIAs2ApRHCyAFIQkgBiEIIAEhBAJAIAcoApwBIhIgCkF/IAcoAqQBdEF/cyIVcSIOQQJ0ai0AASIDIAVNBEAgBSELDAELA0AgCEUNCiAELQAAIAl0IQMgBEEBaiEEIAhBAWshCCAJQQhqIgshCSALIBIgAyAKaiIKIBVxIg5BAnRqLQABIgNJDQALCyASIA5BAnRqIgEvAQIhEwJAIAEtAAAiEUHwAXEEQCAHKAKQRyEGIAMhCQwBCyAIIQYgBCEBAkAgCyIFIAMgEiAKQX8gAyARanRBf3MiFXEgA3YgE2oiEUECdGotAAEiCWpPBEAgCyEODAELA0AgBkUNCiABLQAAIAV0IQkgAUEBaiEBIAZBAWshBiAFQQhqIg4hBSADIBIgCSAKaiIKIBVxIAN2IBNqIhFBAnRqLQABIglqIA5LDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAcoApBHIANqIgY2ApBHIA4gA2shCyAKIAN2IQoLIAcgBiAJajYCkEcgCyAJayEFIAogCXYhCiARQcAAcQRAIAdB0f4ANgIEIAxB7A42AhggBCEBIAghBiAHKAIEIQgMEgsgB0HL/gA2AgQgByARQQ9xIgM2ApQBIAcgE0H//wNxNgKQAQsCQCADRQRAIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNCCAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKQASAKQX8gA3RBf3NxajYCkAEgCSADayEFIAogA3YhCgsgB0HM/gA2AgQLIA9FDQACfyAHKAKQASIIIBYgD2siBEsEQAJAIAggBGsiCCAHKAIwTQ0AIAcoAoxHRQ0AIAdB0f4ANgIEIAxBuQw2AhggBygCBCEIDBILAn8CQAJ/IAcoAjQiBCAISQRAIAcoAjggBygCLCAIIARrIghragwBCyAHKAI4IAQgCGtqCyILIBAgDyAQaiAQa0EBaqwiISAPIAcoAowBIgQgCCAEIAhJGyIEIAQgD0sbIgitIiIgISAiVBsiIqciCWoiBEkgCyAQT3ENACALIBBNIAkgC2ogEEtxDQAgECALIAkQBxogBAwBCyAQIAsgCyAQayIEIARBH3UiBGogBHMiCRAHIAlqIQQgIiAJrSIkfSIjUEUEQCAJIAtqIQkDQAJAICMgJCAjICRUGyIiQiBUBEAgIiEhDAELICIiIUIgfSImQgWIQgF8QgODIiVQRQRAA0AgBCAJKQAANwAAIAQgCSkAGDcAGCAEIAkpABA3ABAgBCAJKQAINwAIICFCIH0hISAJQSBqIQkgBEEgaiEEICVCAX0iJUIAUg0ACwsgJkLgAFQNAANAIAQgCSkAADcAACAEIAkpABg3ABggBCAJKQAQNwAQIAQgCSkACDcACCAEIAkpADg3ADggBCAJKQAwNwAwIAQgCSkAKDcAKCAEIAkpACA3ACAgBCAJKQBYNwBYIAQgCSkAUDcAUCAEIAkpAEg3AEggBCAJKQBANwBAIAQgCSkAYDcAYCAEIAkpAGg3AGggBCAJKQBwNwBwIAQgCSkAeDcAeCAJQYABaiEJIARBgAFqIQQgIUKAAX0iIUIfVg0ACwsgIUIQWgRAIAQgCSkAADcAACAEIAkpAAg3AAggIUIQfSEhIAlBEGohCSAEQRBqIQQLICFCCFoEQCAEIAkpAAA3AAAgIUIIfSEhIAlBCGohCSAEQQhqIQQLICFCBFoEQCAEIAkoAAA2AAAgIUIEfSEhIAlBBGohCSAEQQRqIQQLICFCAloEQCAEIAkvAAA7AAAgIUICfSEhIAlBAmohCSAEQQJqIQQLICMgIn0hIyAhUEUEQCAEIAktAAA6AAAgCUEBaiEJIARBAWohBAsgI0IAUg0ACwsgBAsMAQsgECAIIA8gBygCjAEiBCAEIA9LGyIIIA9ByIABKAIAEQQACyEQIAcgBygCjAEgCGsiBDYCjAEgDyAIayEPIAQNAiAHQcj+ADYCBCAHKAIEIQgMDwsgDSEJCyAJIQQMDgsgBygCBCEIDAwLIAEgBmohASAFIAZBA3RqIQUMCgsgBCAIaiEBIAUgCEEDdGohBQwJCyAEIAhqIQEgCyAIQQN0aiEFDAgLIAEgBmohASAFIAZBA3RqIQUMBwsgBCAIaiEBIAUgCEEDdGohBQwGCyAEIAhqIQEgAyAIQQN0aiEFDAULIAEgBmohASAFIAZBA3RqIQUMBAsgB0HR/gA2AgQgDEG8CTYCGCAHKAIEIQgMBAsgBCEBIAghBiAHKAIEIQgMAwtBACEGIAQhBSANIQQMAwsCQAJAIAhFBEAgCiEJDAELIAcoAhRFBEAgCiEJDAELAkAgBUEfSw0AIAZFDQMgBUEIaiEJIAFBAWohBCAGQQFrIQsgAS0AACAFdCAKaiEKIAVBGE8EQCAEIQEgCyEGIAkhBQwBCyALRQRAIAQhAUEAIQYgCSEFIA0hBAwGCyAFQRBqIQsgAUECaiEEIAZBAmshAyABLQABIAl0IApqIQogBUEPSwRAIAQhASADIQYgCyEFDAELIANFBEAgBCEBQQAhBiALIQUgDSEEDAYLIAVBGGohCSABQQNqIQQgBkEDayEDIAEtAAIgC3QgCmohCiAFQQdLBEAgBCEBIAMhBiAJIQUMAQsgA0UEQCAEIQFBACEGIAkhBSANIQQMBgsgBUEgaiEFIAZBBGshBiABLQADIAl0IApqIQogAUEEaiEBC0EAIQkgCEEEcQRAIAogBygCIEcNAgtBACEFCyAHQdD+ADYCBEEBIQQgCSEKDAMLIAdB0f4ANgIEIAxBjQw2AhggBygCBCEIDAELC0EAIQYgDSEECyAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBAkAgBygCLA0AIA8gFkYNAiAHKAIEIgFB0P4ASw0CIAFBzv4ASQ0ACwJ/IBYgD2shCiAHKAIMQQRxIQkCQAJAAkAgDCgCHCIDKAI4Ig1FBEBBASEIIAMgAygCACIBKAIgIAEoAiggAygCmEdBASADKAIodGpBARAoIg02AjggDUUNAQsgAygCLCIGRQRAIANCADcDMCADQQEgAygCKHQiBjYCLAsgBiAKTQRAAkAgCQRAAkAgBiAKTw0AIAogBmshBSAQIAprIQEgDCgCHCIGKAIUBEAgBkFAayABIAVBAEHYgAEoAgARCAAMAQsgBiAGKAIcIAEgBUHAgAEoAgARAAAiATYCHCAMIAE2AjALIAMoAiwiDUUNASAQIA1rIQUgAygCOCEBIAwoAhwiBigCFARAIAZBQGsgASAFIA1B3IABKAIAEQgADAILIAYgBigCHCABIAUgDUHEgAEoAgARBAAiATYCHCAMIAE2AjAMAQsgDSAQIAZrIAYQBxoLIANBADYCNCADIAMoAiw2AjBBAAwECyAKIAYgAygCNCIFayIBIAEgCksbIQsgECAKayEGIAUgDWohBQJAIAkEQAJAIAtFDQAgDCgCHCIBKAIUBEAgAUFAayAFIAYgC0HcgAEoAgARCAAMAQsgASABKAIcIAUgBiALQcSAASgCABEEACIBNgIcIAwgATYCMAsgCiALayIFRQ0BIBAgBWshBiADKAI4IQEgDCgCHCINKAIUBEAgDUFAayABIAYgBUHcgAEoAgARCAAMBQsgDSANKAIcIAEgBiAFQcSAASgCABEEACIBNgIcIAwgATYCMAwECyAFIAYgCxAHGiAKIAtrIgUNAgtBACEIIANBACADKAI0IAtqIgUgBSADKAIsIgFGGzYCNCABIAMoAjAiAU0NACADIAEgC2o2AjALIAgMAgsgAygCOCAQIAVrIAUQBxoLIAMgBTYCNCADIAMoAiw2AjBBAAtFBEAgDCgCECEPIAwoAgQhFyAHKAKIAQwDCyAHQdL+ADYCBAtBfCEXDAILIAYhFyAFCyEFIAwgICAXayIBIAwoAghqNgIIIAwgFiAPayIGIAwoAhRqNgIUIAcgBygCICAGajYCICAMIAcoAghBAEdBBnQgBWogBygCBCIFQb/+AEZBB3RqQYACIAVBwv4ARkEIdCAFQcf+AEYbajYCLCAEIARBeyAEGyABIAZyGyEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu5AQEEfyAAQRBqIQECfyAALQAEBEAgARCEAQwBC0F+IQMCQCABRQ0AIAEoAiBFDQAgASgCJCIERQ0AIAEoAhwiAkUNACACKAIAIAFHDQAgAigCBEG0/gBrQR9LDQAgAigCOCIDBEAgBCABKAIoIAMQHiABKAIkIQQgASgCHCECCyAEIAEoAiggAhAeQQAhAyABQQA2AhwLIAMLIgEEQCAAKAIAIgAEQCAAIAE2AgQgAEENNgIACwsgAUUL0gwBBn8gAEIANwIQIABCADcCHCAAQRBqIQICfyAALQAEBEAgACgCCCEBQesMLQAAQTFGBH8Cf0F+IQMCQCACRQ0AIAJBADYCGCACKAIgIgRFBEAgAkEANgIoIAJBJzYCIEEnIQQLIAIoAiRFBEAgAkEoNgIkC0EGIAEgAUF/RhsiBUEASA0AIAVBCUoNAEF8IQMgBCACKAIoQQFB0C4QKCIBRQ0AIAIgATYCHCABIAI2AgAgAUEPNgI0IAFCgICAgKAFNwIcIAFBADYCFCABQYCAAjYCMCABQf//ATYCOCABIAIoAiAgAigCKEGAgAJBAhAoNgJIIAEgAigCICACKAIoIAEoAjBBAhAoIgM2AkwgA0EAIAEoAjBBAXQQGSACKAIgIAIoAihBgIAEQQIQKCEDIAFBgIACNgLoLSABQQA2AkAgASADNgJQIAEgAigCICACKAIoQYCAAkEEECgiAzYCBCABIAEoAugtIgRBAnQ2AgwCQAJAIAEoAkhFDQAgASgCTEUNACABKAJQRQ0AIAMNAQsgAUGaBTYCICACQejAACgCADYCGCACEIQBGkF8DAILIAFBADYCjAEgASAFNgKIASABQgA3AyggASADIARqNgLsLSABIARBA2xBA2s2AvQtQX4hAwJAIAJFDQAgAigCIEUNACACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQACQAJAIAEoAiAiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAJBAjYCLCACQQA2AgggAkIANwIUIAFBADYCECABIAEoAgQ2AgggASgCFCIDQX9MBEAgAUEAIANrIgM2AhQLIAFBOUEqIANBAkYbNgIgIAIgA0ECRgR/IAFBoAFqQeSAASgCABEBAAVBAQs2AjAgAUF+NgIkIAFBADYCoC4gAUIANwOYLiABQYgXakGg0wA2AgAgASABQcwVajYCgBcgAUH8FmpBjNMANgIAIAEgAUHYE2o2AvQWIAFB8BZqQfjSADYCACABIAFB5AFqNgLoFiABEIgBQQAhAwsgAw0AIAIoAhwiAiACKAIwQQF0NgJEQQAhAyACKAJQQQBBgIAIEBkgAiACKAKIASIEQQxsIgFBtNgAai8BADYClAEgAiABQbDYAGovAQA2ApABIAIgAUGy2ABqLwEANgJ4IAIgAUG22ABqLwEANgJ0QfiAASgCACEFQeyAASgCACEGQYCBASgCACEBIAJCADcCbCACQgA3AmQgAkEANgI8IAJBADYChC4gAkIANwJUIAJBKSABIARBCUYiARs2AnwgAkEqIAYgARs2AoABIAJBKyAFIAEbNgKEAQsgAwsFQXoLDAELAn9BekHrDC0AAEExRw0AGkF+IAJFDQAaIAJBADYCGCACKAIgIgNFBEAgAkEANgIoIAJBJzYCIEEnIQMLIAIoAiRFBEAgAkEoNgIkC0F8IAMgAigCKEEBQaDHABAoIgRFDQAaIAIgBDYCHCAEQQA2AjggBCACNgIAIARBtP4ANgIEIARBzIABKAIAEQkANgKYR0F+IQMCQCACRQ0AIAIoAiBFDQAgAigCJCIFRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQACQAJAIAEoAjgiBgRAIAEoAihBD0cNAQsgAUEPNgIoIAFBADYCDAwBCyAFIAIoAiggBhAeIAFBADYCOCACKAIgIQUgAUEPNgIoIAFBADYCDCAFRQ0BCyACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQBBACEDIAFBADYCNCABQgA3AiwgAUEANgIgIAJBADYCCCACQgA3AhQgASgCDCIFBEAgAiAFQQFxNgIwCyABQrT+ADcCBCABQgA3AoQBIAFBADYCJCABQoCAgoAQNwMYIAFCgICAgHA3AxAgAUKBgICAcDcCjEcgASABQfwKaiIFNgK4ASABIAU2ApwBIAEgBTYCmAELQQAgA0UNABogAigCJCACKAIoIAQQHiACQQA2AhwgAwsLIgIEQCAAKAIAIgAEQCAAIAI2AgQgAEENNgIACwsgAkULKQEBfyAALQAERQRAQQAPC0ECIQEgACgCCCIAQQNOBH8gAEEHSgVBAgsLBgAgABAGC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQE6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAukCgIIfwF+QfCAAUH0gAEgACgCdEGBCEkbIQYCQANAAkACfwJAIAAoAjxBhQJLDQAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNAiACQQRPDQBBAAwBCyAAIAAoAmggACgChAERAgALIQMgACAAKAJsOwFgQQIhAgJAIAA1AmggA619IgpCAVMNACAKIAAoAjBBhgJrrVUNACAAKAJwIAAoAnhPDQAgA0UNACAAIAMgBigCABECACICQQVLDQBBAiACIAAoAowBQQFGGyECCwJAIAAoAnAiA0EDSQ0AIAIgA0sNACAAIAAoAvAtIgJBAWo2AvAtIAAoAjwhBCACIAAoAuwtaiAAKAJoIgcgAC8BYEF/c2oiAjoAACAAIAAoAvAtIgVBAWo2AvAtIAUgACgC7C1qIAJBCHY6AAAgACAAKALwLSIFQQFqNgLwLSAFIAAoAuwtaiADQQNrOgAAIAAgACgCgC5BAWo2AoAuIANB/c4Aai0AAEECdCAAakHoCWoiAyADLwEAQQFqOwEAIAAgAkEBayICIAJBB3ZBgAJqIAJBgAJJG0GAywBqLQAAQQJ0akHYE2oiAiACLwEAQQFqOwEAIAAgACgCcCIFQQFrIgM2AnAgACAAKAI8IANrNgI8IAAoAvQtIQggACgC8C0hCSAEIAdqQQNrIgQgACgCaCICSwRAIAAgAkEBaiAEIAJrIgIgBUECayIEIAIgBEkbIAAoAoABEQUAIAAoAmghAgsgAEEANgJkIABBADYCcCAAIAIgA2oiBDYCaCAIIAlHDQJBACECIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgBCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQIMAwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAyAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qQQA6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtakEAOgAAIAAgACgC8C0iBEEBajYC8C0gBCAAKALsLWogAzoAACAAIANBAnRqIgMgAy8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRgRAIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgACgCaCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCgsgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwgACgCACgCEA0CQQAPBSAAQQE2AmQgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwMAgsACwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAiAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtakEAOgAAIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWogAjoAACAAIAJBAnRqIgIgAi8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRhogAEEANgJkCyAAIAAoAmgiA0ECIANBAkkbNgKELiABQQRGBEAgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyADIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACECIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgAyABa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0BC0EBIQILIAIL2BACEH8BfiAAKAKIAUEFSCEOA0ACQAJ/AkACQAJAAn8CQAJAIAAoAjxBhQJNBEAgABAvIAAoAjwiA0GFAksNASABDQFBAA8LIA4NASAIIQMgBSEHIAohDSAGQf//A3FFDQEMAwsgA0UNA0EAIANBBEkNARoLIAAgACgCaEH4gAEoAgARAgALIQZBASECQQAhDSAAKAJoIgOtIAatfSISQgFTDQIgEiAAKAIwQYYCa61VDQIgBkUNAiAAIAZB8IABKAIAEQIAIgZBASAGQfz/A3EbQQEgACgCbCINQf//A3EgA0H//wNxSRshBiADIQcLAkAgACgCPCIEIAZB//8DcSICQQRqTQ0AIAZB//8DcUEDTQRAQQEgBkEBa0H//wNxIglFDQQaIANB//8DcSIEIAdBAWpB//8DcSIDSw0BIAAgAyAJIAQgA2tBAWogAyAJaiAESxtB7IABKAIAEQUADAELAkAgACgCeEEEdCACSQ0AIARBBEkNACAGQQFrQf//A3EiDCAHQQFqQf//A3EiBGohCSAEIANB//8DcSIDTwRAQeyAASgCACELIAMgCUkEQCAAIAQgDCALEQUADAMLIAAgBCADIARrQQFqIAsRBQAMAgsgAyAJTw0BIAAgAyAJIANrQeyAASgCABEFAAwBCyAGIAdqQf//A3EiA0UNACAAIANBAWtB+IABKAIAEQIAGgsgBgwCCyAAIAAoAmgiBUECIAVBAkkbNgKELiABQQRGBEBBACEDIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgBSABa0EBEA8gACAAKAJoNgJYIAAoAgAQCkEDQQIgACgCACgCEBsPCyAAKALwLQRAQQAhAkEAIQMgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAFIAFrQQAQDyAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQMLQQEhAgwCCyADIQdBAQshBEEAIQYCQCAODQAgACgCPEGHAkkNACACIAdB//8DcSIQaiIDIAAoAkRBhgJrTw0AIAAgAzYCaEEAIQogACADQfiAASgCABECACEFAn8CQCAAKAJoIgitIAWtfSISQgFTDQAgEiAAKAIwQYYCa61VDQAgBUUNACAAIAVB8IABKAIAEQIAIQYgAC8BbCIKIAhB//8DcSIFTw0AIAZB//8DcSIDQQRJDQAgCCAEQf//A3FBAkkNARogCCACIApBAWpLDQEaIAggAiAFQQFqSw0BGiAIIAAoAkgiCSACa0EBaiICIApqLQAAIAIgBWotAABHDQEaIAggCUEBayICIApqIgwtAAAgAiAFaiIPLQAARw0BGiAIIAUgCCAAKAIwQYYCayICa0H//wNxQQAgAiAFSRsiEU0NARogCCADQf8BSw0BGiAGIQUgCCECIAQhAyAIIAoiCUECSQ0BGgNAAkAgA0EBayEDIAVBAWohCyAJQQFrIQkgAkEBayECIAxBAWsiDC0AACAPQQFrIg8tAABHDQAgA0H//wNxRQ0AIBEgAkH//wNxTw0AIAVB//8DcUH+AUsNACALIQUgCUH//wNxQQFLDQELCyAIIANB//8DcUEBSw0BGiAIIAtB//8DcUECRg0BGiAIQQFqIQggAyEEIAshBiAJIQogAgwBC0EBIQYgCAshBSAAIBA2AmgLAn8gBEH//wNxIgNBA00EQCAEQf//A3EiA0UNAyAAKAJIIAdB//8DcWotAAAhBCAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBDoAACAAIARBAnRqIgRB5AFqIAQvAeQBQQFqOwEAIAAgACgCPEEBazYCPCAAKALwLSICIAAoAvQtRiIEIANBAUYNARogACgCSCAHQQFqQf//A3FqLQAAIQkgACACQQFqNgLwLSAAKALsLSACakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAk6AAAgACAJQQJ0aiICQeQBaiACLwHkAUEBajsBACAAIAAoAjxBAWs2AjwgBCAAKALwLSICIAAoAvQtRmoiBCADQQJGDQEaIAAoAkggB0ECakH//wNxai0AACEHIAAgAkEBajYC8C0gACgC7C0gAmpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHOgAAIAAgB0ECdGoiB0HkAWogBy8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAQgACgC8C0gACgC9C1GagwBCyAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAdB//8DcSANQf//A3FrIgc6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHQQh2OgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBEEDazoAACAAIAAoAoAuQQFqNgKALiADQf3OAGotAABBAnQgAGpB6AlqIgQgBC8BAEEBajsBACAAIAdBAWsiBCAEQQd2QYACaiAEQYACSRtBgMsAai0AAEECdGpB2BNqIgQgBC8BAEEBajsBACAAIAAoAjwgA2s2AjwgACgC8C0gACgC9C1GCyEEIAAgACgCaCADaiIHNgJoIARFDQFBACECQQAhBCAAIAAoAlgiA0EATgR/IAAoAkggA2oFQQALIAcgA2tBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEA0BCwsgAgu0BwIEfwF+AkADQAJAAkACQAJAIAAoAjxBhQJNBEAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNBCACQQRJDQELIAAgACgCaEH4gAEoAgARAgAhAiAANQJoIAKtfSIGQgFTDQAgBiAAKAIwQYYCa61VDQAgAkUNACAAIAJB8IABKAIAEQIAIgJBBEkNACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qIAAoAmggACgCbGsiAzoAACAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qIANBCHY6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtaiACQQNrOgAAIAAgACgCgC5BAWo2AoAuIAJB/c4Aai0AAEECdCAAakHoCWoiBCAELwEAQQFqOwEAIAAgA0EBayIDIANBB3ZBgAJqIANBgAJJG0GAywBqLQAAQQJ0akHYE2oiAyADLwEAQQFqOwEAIAAgACgCPCACayIFNgI8IAAoAvQtIQMgACgC8C0hBCAAKAJ4IAJPQQAgBUEDSxsNASAAIAAoAmggAmoiAjYCaCAAIAJBAWtB+IABKAIAEQIAGiADIARHDQQMAgsgACgCSCAAKAJoai0AACECIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWpBADoAACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtaiACOgAAIAAgAkECdGoiAkHkAWogAi8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAAgACgCaEEBajYCaCAAKALwLSAAKAL0LUcNAwwBCyAAIAAoAmhBAWoiBTYCaCAAIAUgAkEBayICQeyAASgCABEFACAAIAAoAmggAmo2AmggAyAERw0CC0EAIQNBACECIAAgACgCWCIEQQBOBH8gACgCSCAEagVBAAsgACgCaCAEa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQEMAgsLIAAgACgCaCIEQQIgBEECSRs2AoQuIAFBBEYEQEEAIQIgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAEIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACEDQQAhAiAAIAAoAlgiAUEATgR/IAAoAkggAWoFQQALIAQgAWtBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEEUNAQtBASEDCyADC80JAgl/An4gAUEERiEGIAAoAiwhAgJAAkACQCABQQRGBEAgAkECRg0CIAIEQCAAQQAQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0ECyAAIAYQTyAAQQI2AiwMAQsgAg0BIAAoAjxFDQEgACAGEE8gAEEBNgIsCyAAIAAoAmg2AlgLQQJBASABQQRGGyEKA0ACQCAAKAIMIAAoAhBBCGpLDQAgACgCABAKIAAoAgAiAigCEA0AQQAhAyABQQRHDQIgAigCBA0CIAAoAqAuDQIgACgCLEVBAXQPCwJAAkAgACgCPEGFAk0EQCAAEC8CQCAAKAI8IgNBhQJLDQAgAQ0AQQAPCyADRQ0CIAAoAiwEfyADBSAAIAYQTyAAIAo2AiwgACAAKAJoNgJYIAAoAjwLQQRJDQELIAAgACgCaEH4gAEoAgARAgAhBCAAKAJoIgKtIAStfSILQgFTDQAgCyAAKAIwQYYCa61VDQAgAiAAKAJIIgJqIgMvAAAgAiAEaiICLwAARw0AIANBAmogAkECakHQgAEoAgARAgBBAmoiA0EESQ0AIAAoAjwiAiADIAIgA0kbIgJBggIgAkGCAkkbIgdB/c4Aai0AACICQQJ0IgRBhMkAajMBACEMIARBhskAai8BACEDIAJBCGtBE00EQCAHQQNrIARBgNEAaigCAGutIAOthiAMhCEMIARBsNYAaigCACADaiEDCyAAKAKgLiEFIAMgC6dBAWsiCCAIQQd2QYACaiAIQYACSRtBgMsAai0AACICQQJ0IglBgsoAai8BAGohBCAJQYDKAGozAQAgA62GIAyEIQsgACkDmC4hDAJAIAUgAkEESQR/IAQFIAggCUGA0gBqKAIAa60gBK2GIAuEIQsgCUGw1wBqKAIAIARqCyICaiIDQT9NBEAgCyAFrYYgDIQhCwwBCyAFQcAARgRAIAAoAgQgACgCEGogDDcAACAAIAAoAhBBCGo2AhAgAiEDDAELIAAoAgQgACgCEGogCyAFrYYgDIQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyALQcAAIAVrrYghCwsgACALNwOYLiAAIAM2AqAuIAAgACgCPCAHazYCPCAAIAAoAmggB2o2AmgMAgsgACgCSCAAKAJoai0AAEECdCICQYDBAGozAQAhCyAAKQOYLiEMAkAgACgCoC4iBCACQYLBAGovAQAiAmoiA0E/TQRAIAsgBK2GIAyEIQsMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAIhAwwBCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsLIAAgCzcDmC4gACADNgKgLiAAIAAoAmhBAWo2AmggACAAKAI8QQFrNgI8DAELCyAAIAAoAmgiAkECIAJBAkkbNgKELiAAKAIsIQIgAUEERgRAAkAgAkUNACAAQQEQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQBBAg8LQQMPCyACBEBBACEDIABBABBQIABBADYCLCAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQELQQEhAwsgAwucAQEFfyACQQFOBEAgAiAAKAJIIAFqIgNqQQJqIQQgA0ECaiECIAAoAlQhAyAAKAJQIQUDQCAAIAItAAAgA0EFdEHg/wFxcyIDNgJUIAUgA0EBdGoiBi8BACIHIAFB//8DcUcEQCAAKAJMIAEgACgCOHFB//8DcUEBdGogBzsBACAGIAE7AQALIAFBAWohASACQQFqIgIgBEkNAAsLC1sBAn8gACAAKAJIIAFqLQACIAAoAlRBBXRB4P8BcXMiAjYCVCABIAAoAlAgAkEBdGoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILEwAgAUEFdEHg/wFxIAJB/wFxcwsGACABEAYLLwAjAEEQayIAJAAgAEEMaiABIAJsEIwBIQEgACgCDCECIABBEGokAEEAIAIgARsLjAoCAX4CfyMAQfAAayIGJAACQAJAAkACQAJAAkACQAJAIAQODwABBwIEBQYGBgYGBgYGAwYLQn8hBQJAIAAgBkHkAGpCDBARIgNCf1cEQCABBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMAQsCQCADQgxSBEAgAQRAIAFBADYCBCABQRE2AgALDAELIAEoAhQhBEEAIQJCASEFA0AgBkHkAGogAmoiAiACLQAAIARB/f8DcSICQQJyIAJBA3NsQQh2cyICOgAAIAYgAjoAKCABAn8gASgCDEF/cyECQQAgBkEoaiIERQ0AGiACIARBAUHUgAEoAgARAAALQX9zIgI2AgwgASABKAIQIAJB/wFxakGFiKLAAGxBAWoiAjYCECAGIAJBGHY6ACggAQJ/IAEoAhRBf3MhAkEAIAZBKGoiBEUNABogAiAEQQFB1IABKAIAEQAAC0F/cyIENgIUIAVCDFIEQCAFpyECIAVCAXwhBQwBCwtCACEFIAAgBkEoahAhQQBIDQEgBigCUCEAIwBBEGsiAiQAIAIgADYCDCAGAn8gAkEMahCNASIARQRAIAZBITsBJEEADAELAn8gACgCFCIEQdAATgRAIARBCXQMAQsgAEHQADYCFEGAwAILIQQgBiAAKAIMIAQgACgCEEEFdGpqQaDAAWo7ASQgACgCBEEFdCAAKAIIQQt0aiAAKAIAQQF2ags7ASYgAkEQaiQAIAYtAG8iACAGLQBXRg0BIAYtACcgAEYNASABBEAgAUEANgIEIAFBGzYCAAsLQn8hBQsgBkHwAGokACAFDwtCfyEFIAAgAiADEBEiA0J/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwGCyMAQRBrIgAkAAJAIANQDQAgASgCFCEEIAJFBEBCASEFA0AgACACIAdqLQAAIARB/f8DcSIEQQJyIARBA3NsQQh2czoADyABAn8gASgCDEF/cyEEQQAgAEEPaiIHRQ0AGiAEIAdBAUHUgAEoAgARAAALQX9zIgQ2AgwgASABKAIQIARB/wFxakGFiKLAAGxBAWoiBDYCECAAIARBGHY6AA8gAQJ/IAEoAhRBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIUIAMgBVENAiAFpyEHIAVCAXwhBQwACwALQgEhBQNAIAAgAiAHai0AACAEQf3/A3EiBEECciAEQQNzbEEIdnMiBDoADyACIAdqIAQ6AAAgAQJ/IAEoAgxBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIMIAEgASgCECAEQf8BcWpBhYiiwABsQQFqIgQ2AhAgACAEQRh2OgAPIAECfyABKAIUQX9zIQRBACAAQQ9qIgdFDQAaIAQgB0EBQdSAASgCABEAAAtBf3MiBDYCFCADIAVRDQEgBachByAFQgF8IQUMAAsACyAAQRBqJAAgAyEFDAULIAJBADsBMiACIAIpAwAiA0KAAYQ3AwAgA0IIg1ANBCACIAIpAyBCDH03AyAMBAsgBkKFgICAcDcDECAGQoOAgIDAADcDCCAGQoGAgIAgNwMAQQAgBhAkIQUMAwsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwCCyABEAYMAQsgAQRAIAFBADYCBCABQRI2AgALQn8hBQsgBkHwAGokACAFC60DAgJ/An4jAEEQayIGJAACQAJAAkAgBEUNACABRQ0AIAJBAUYNAQtBACEDIABBCGoiAARAIABBADYCBCAAQRI2AgALDAELIANBAXEEQEEAIQMgAEEIaiIABEAgAEEANgIEIABBGDYCAAsMAQtBGBAJIgVFBEBBACEDIABBCGoiAARAIABBADYCBCAAQQ42AgALDAELIAVBADYCCCAFQgA3AgAgBUGQ8dmiAzYCFCAFQvis0ZGR8dmiIzcCDAJAIAQQIiICRQ0AIAKtIQhBACEDQYfTru5+IQJCASEHA0AgBiADIARqLQAAOgAPIAUgBkEPaiIDBH8gAiADQQFB1IABKAIAEQAABUEAC0F/cyICNgIMIAUgBSgCECACQf8BcWpBhYiiwABsQQFqIgI2AhAgBiACQRh2OgAPIAUCfyAFKAIUQX9zIQJBACAGQQ9qIgNFDQAaIAIgA0EBQdSAASgCABEAAAtBf3M2AhQgByAIUQ0BIAUoAgxBf3MhAiAHpyEDIAdCAXwhBwwACwALIAAgAUElIAUQQiIDDQAgBRAGQQAhAwsgBkEQaiQAIAMLnRoCBn4FfyMAQdAAayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDhQFBhULAwQJDgACCBAKDw0HEQERDBELAkBByAAQCSIBBEAgAUIANwMAIAFCADcDMCABQQA2AiggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDOCABQQgQCSIDNgIEIAMNASABEAYgAARAIABBADYCBCAAQQ42AgALCyAAQQA2AhQMFAsgA0IANwMAIAAgATYCFCABQUBrQgA3AwAgAUIANwM4DBQLAkACQCACUARAQcgAEAkiA0UNFCADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAJIgE2AgQgAQ0BIAMQBiAABEAgAEEANgIEIABBDjYCAAsMFAsgAiAAKAIQIgEpAzBWBEAgAARAIABBADYCBCAAQRI2AgALDBQLIAEoAigEQCAABEAgAEEANgIEIABBHTYCAAsMFAsgASgCBCEDAkAgASkDCCIGQgF9IgdQDQADQAJAIAIgAyAHIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQcMAQsgBSAGUQRAIAYhBQwDCyADIAVCAXwiBKdBA3RqKQMAIAJWDQILIAQhBSAEIAdUDQALCwJAIAIgAyAFpyIKQQN0aikDAH0iBFBFBEAgASgCACIDIApBBHRqKQMIIQcMAQsgASgCACIDIAVCAX0iBadBBHRqKQMIIgchBAsgAiAHIAR9VARAIAAEQCAAQQA2AgQgAEEcNgIACwwUCyADIAVCAXwiBUEAIAAQiQEiA0UNEyADKAIAIAMoAggiCkEEdGpBCGsgBDcDACADKAIEIApBA3RqIAI3AwAgAyACNwMwIAMgASkDGCIGIAMpAwgiBEIBfSIHIAYgB1QbNwMYIAEgAzYCKCADIAE2AiggASAENwMgIAMgBTcDIAwBCyABQgA3AwALIAAgAzYCFCADIAQ3A0AgAyACNwM4QgAhBAwTCyAAKAIQIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAKAIUIQEgAEEANgIUIAAgATYCEAwSCyACQghaBH4gASAAKAIANgIAIAEgACgCBDYCBEIIBUJ/CyEEDBELIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAQBgwQCyAAKAIQIgBCADcDOCAAQUBrQgA3AwAMDwsgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwOCyACIAAoAhAiAykDMCADKQM4IgZ9IgUgAiAFVBsiBVANDiABIAMpA0AiB6ciAEEEdCIBIAMoAgBqIgooAgAgBiADKAIEIABBA3RqKQMAfSICp2ogBSAKKQMIIAJ9IgYgBSAGVBsiBKcQByEKIAcgBCADKAIAIgAgAWopAwggAn1RrXwhAiAFIAZWBEADQCAKIASnaiAAIAKnQQR0IgFqIgAoAgAgBSAEfSIGIAApAwgiByAGIAdUGyIGpxAHGiACIAYgAygCACIAIAFqKQMIUa18IQIgBSAEIAZ8IgRWDQALCyADIAI3A0AgAyADKQM4IAR8NwM4DA4LQn8hBEHIABAJIgNFDQ0gA0IANwMAIANCADcDMCADQQA2AiggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDOCADQQgQCSIBNgIEIAFFBEAgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwOCyABQgA3AwAgACgCECIBBEACQCABKAIoIgpFBEAgASkDGCEEDAELIApBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgQ3AxgLIAEpAwggBFYEQANAIAEoAgAgBKdBBHRqKAIAEAYgBEIBfCIEIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACADNgIQQgAhBAwNCyAAKAIUIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAQQA2AhQMDAsgACgCECIDKQM4IAMpAzAgASACIAAQRCIHQgBTDQogAyAHNwM4AkAgAykDCCIGQgF9IgJQDQAgAygCBCEAA0ACQCAHIAAgAiAEfUIBiCAEfCIFp0EDdGopAwBUBEAgBUIBfSECDAELIAUgBlEEQCAGIQUMAwsgACAFQgF8IgSnQQN0aikDACAHVg0CCyAEIQUgAiAEVg0ACwsgAyAFNwNAQgAhBAwLCyAAKAIUIgMpAzggAykDMCABIAIgABBEIgdCAFMNCSADIAc3AzgCQCADKQMIIgZCAX0iAlANACADKAIEIQADQAJAIAcgACACIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQIMAQsgBSAGUQRAIAYhBQwDCyAAIAVCAXwiBKdBA3RqKQMAIAdWDQILIAQhBSACIARWDQALCyADIAU3A0BCACEEDAoLIAJCN1gEQCAABEAgAEEANgIEIABBEjYCAAsMCQsgARAqIAEgACgCDDYCKCAAKAIQKQMwIQIgAUEANgIwIAEgAjcDICABIAI3AxggAULcATcDAEI4IQQMCQsgACABKAIANgIMDAgLIAtBQGtBfzYCACALQouAgICwAjcDOCALQoyAgIDQATcDMCALQo+AgICgATcDKCALQpGAgICQATcDICALQoeAgICAATcDGCALQoWAgIDgADcDECALQoOAgIDAADcDCCALQoGAgIAgNwMAQQAgCxAkIQQMBwsgACgCECkDOCIEQn9VDQYgAARAIABBPTYCBCAAQR42AgALDAULIAAoAhQpAzgiBEJ/VQ0FIAAEQCAAQT02AgQgAEEeNgIACwwEC0J/IQQgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwFCyACIAAoAhQiAykDOCACfCIFQv//A3wiBFYEQCAABEAgAEEANgIEIABBEjYCAAsMBAsCQCAFIAMoAgQiCiADKQMIIganQQN0aikDACIHWA0AAkAgBCAHfUIQiCAGfCIIIAMpAxAiCVgNAEIQIAkgCVAbIQUDQCAFIgRCAYYhBSAEIAhUDQALIAQgCVQNACADKAIAIASnIgpBBHQQNCIMRQ0DIAMgDDYCACADKAIEIApBA3RBCGoQNCIKRQ0DIAMgBDcDECADIAo2AgQgAykDCCEGCyAGIAhaDQAgAygCACEMA0AgDCAGp0EEdGoiDUGAgAQQCSIONgIAIA5FBEAgAARAIABBADYCBCAAQQ42AgALDAYLIA1CgIAENwMIIAMgBkIBfCIFNwMIIAogBadBA3RqIAdCgIAEfCIHNwMAIAMpAwgiBiAIVA0ACwsgAykDQCEFIAMpAzghBwJAIAJQBEBCACEEDAELIAWnIgBBBHQiDCADKAIAaiINKAIAIAcgCiAAQQN0aikDAH0iBqdqIAEgAiANKQMIIAZ9IgcgAiAHVBsiBKcQBxogBSAEIAMoAgAiACAMaikDCCAGfVGtfCEFIAIgB1YEQANAIAAgBadBBHQiCmoiACgCACABIASnaiACIAR9IgYgACkDCCIHIAYgB1QbIganEAcaIAUgBiADKAIAIgAgCmopAwhRrXwhBSAEIAZ8IgQgAlQNAAsLIAMpAzghBwsgAyAFNwNAIAMgBCAHfCICNwM4IAIgAykDMFgNBCADIAI3AzAMBAsgAARAIABBADYCBCAAQRw2AgALDAILIAAEQCAAQQA2AgQgAEEONgIACyAABEAgAEEANgIEIABBDjYCAAsMAQsgAEEANgIUC0J/IQQLIAtB0ABqJAAgBAtIAQF/IABCADcCBCAAIAE2AgACQCABQQBIDQBBsBMoAgAgAUwNACABQQJ0QcATaigCAEEBRw0AQYSEASgCACECCyAAIAI2AgQLDgAgAkGx893xeWxBEHYLvgEAIwBBEGsiACQAIABBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAQRBqJAAgAkGx893xeWxBEHYLuQEBAX8jAEEQayIBJAAgAUEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAQjgEgAUEQaiQAC78BAQF/IwBBEGsiAiQAIAJBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEQkAEhACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFohACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFshACACQRBqJAAgAAu9AQEBfyMAQRBrIgMkACADQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABIAIQjwEgA0EQaiQAC4UBAgR/AX4jAEEQayIBJAACQCAAKQMwUARADAELA0ACQCAAIAVBACABQQ9qIAFBCGoQZiIEQX9GDQAgAS0AD0EDRw0AIAIgASgCCEGAgICAf3FBgICAgHpGaiECC0F/IQMgBEF/Rg0BIAIhAyAFQgF8IgUgACkDMFQNAAsLIAFBEGokACADCwuMdSUAQYAIC7ELaW5zdWZmaWNpZW50IG1lbW9yeQBuZWVkIGRpY3Rpb25hcnkALSsgICAwWDB4AFppcCBhcmNoaXZlIGluY29uc2lzdGVudABJbnZhbGlkIGFyZ3VtZW50AGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAQUUAKG51bGwpADogAFBLBgcAUEsGBgBQSwUGAFBLAwQAUEsBAgAAAAA/BQAAwAcAAJMIAAB4CAAAbwUAAJEFAAB6BQAAsgUAAFYIAAAbBwAA1gQAAAsHAADqBgAAnAUAAMgGAACyCAAAHggAACgHAABHBAAAoAYAAGAFAAAuBAAAPgcAAD8IAAD+BwAAjgYAAMkIAADeCAAA5gcAALIGAABVBQAAqAcAACAAQcgTCxEBAAAAAQAAAAEAAAABAAAAAQBB7BMLCQEAAAABAAAAAgBBmBQLAQEAQbgUCwEBAEHSFAukLDomOyZlJmYmYyZgJiIg2CXLJdklQiZAJmomayY8JrolxCWVITwgtgCnAKwlqCGRIZMhkiGQIR8ilCGyJbwlIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AAIjxwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwAogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAAAAAACWMAd3LGEO7rpRCZkZxG0Hj/RqcDWlY+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By2455Edv5BkELcd8iCwakhxufPeQb6EfdTaGuvk3W1RtdT0x4XTg1aYbBPAqGtkevli/ezJZYpPXAEU2WwGY2M9D/r1DQiNyCBuO14QaUzkQWDVcnFnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtbJu9tA+bys42zYMnVc30XPDdbcWT3Rq6ww2SY6AN5RgFHXyBZh0L+19LQhI8SzVpmVus8Ppb24nrgCKAiIBV+y2QzGJOkLsYd8by8RTGhYqx1hwT0tZraQQdx2BnHbAbwg0pgqENXviYWxcR+1tgal5L+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJdsZJEBXGPm9FFra2JhbBzYMGWFTgBi8u2VBmx7pQEbwfQIglfED/XG2bBlUOm3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU+1hhsk3OUbU6dAC8o+Iwu9RBpd9K15XYPW3E0aT79NbTaulpQ/zZbjRGiGet0Lhg2nMtBETlHQMzX0wKqsl8Dd08cQVQqkECJxAQC76GIAzJJbVoV7OFbyAJ1Ga5n+Rhzg753l6YydkpIpjQsLSo18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmtKxdDlH1eqvd9KdFSbbBIMW3HMSC2PjhDtklD5qbQ2oWmp6C88O5J3/CZMnrgAKsZ4HfUSTD/DSowiHaPIBHv7CBmldV2L3y2dlgHE2bBnnBmtudhvU/uAr04laetoQzErdZ2/fufn5776OQ763F9WOsGDoo9bWfpPRocTC2DhS8t9P8We70WdXvKbdBrU/SzaySNorDdhMGwqv9koDNmB6BEHD72DfVd9nqO+ObjF5vmlGjLNhyxqDZryg0m8lNuJoUpV3DMwDRwu7uRYCIi8mBVW+O7rFKAu9spJatCsEarNcp//XwjHP0LWLntksHa7eW7DCZJsm8mPsnKNqdQqTbQKpBgmcPzYO64VnB3ITVwAFgkq/lRR6uOKuK7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz3Whug9ofzRa+gVsmufbhd7Bvd0e3GOZaCIhwag//yjsGZlwLARH/nmWPaa5i+NP/a2FFz2wWeOIKoO7SDddUgwROwrMDOWEmZ6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3U668qcWeu95/z7JH6f+1MBzyvb2KwrrKMJOzU6ajtCQFNtC6kwbXzSlX3lS/Z9kjLnpms7hKYcQCG2hdlCtvKje+C7ShjgzDG98FWo3vAi0AAAAARjtnZYx2zsrKTamvWevtTh/QiivVnSOEk6ZE4bLW25307bz4PqAVV3ibcjLrPTbTrQZRtmdL+BkhcJ98JavG4GOQoYWp3Qgq7+ZvT3xAK646e0zL8DblZLYNggGXfR190UZ6GBsL07ddMLTSzpbwM4itl1ZC4D75BNtZnAtQ/BpNa5t/hyYy0MEdVbVSuxFUFIB2Md7N356Y9rj7uYYnh/+9QOI18OlNc8uOKOBtysmmVq2sbBsEAyogY2Yu+zr6aMBdn6KN9DDktpNVdxDXtDErsNH7Zhl+vV1+G5wt4WfaFoYCEFsvrVZgSMjFxgwpg/1rTEmwwuMPi6WGFqD4NVCbn1Ca1jb/3O1Rmk9LFXsJcHIewz3bsYUGvNSkdiOo4k1EzSgA7WJuO4oH/Z3O5rumqYNx6wAsN9BnSTMLPtV1MFmwv33wH/lGl3pq4NObLNu0/uaWHVGgrXo0gd3lSMfmgi0NqyuCS5BM59g2CAaeDW9jVEDGzBJ7oakd8AQvW8tjSpGGyuXXva2ARBvpYQIgjgTIbSerjlZAzq8m37LpHbjXI1AReGVrdh32zTL8sPZVmXq7/DY8gJtTOFvCz35gpaq0LQwF8hZrYGGwL4Eni0jk7cbhS6v9hi6KjRlSzLZ+Nwb715hAwLD902b0HJVdk3lfEDrWGStdsyxA8Wtqe5YOoDY/oeYNWMR1qxwlM5B7QPnd0u+/5rWKnpYq9titTZMS4OQ8VNuDWcd9x7iBRqDdSwsJcg0wbhcJ6zeLT9BQ7oWd+UHDpp4kUADaxRY7vaDcdhQPmk1zars97Bb9BotzN0si3HFwRbni1gFYpO1mPW6gz5Iom6j3JxANcWErahSrZsO77V2k3n774D84wIda8o0u9bS2SZCVxtbs0/2xiRmwGCZfi39DzC07oooWXMdAW/VoBmCSDQK7y5FEgKz0js0FW8j2Yj5bUCbfHWtButcm6BWRHY9wsG0QDPZWd2k8G97GeiC5o+mG/UKvvZonZfAziCPLVO064AlefNtuO7aWx5TwraDxYwvkECUwg3XvfSraqUZNv4g20sPODbWmBEAcCUJ7e2zR3T+Nl+ZY6F2r8UcbkJYiH0vPvllwqNuTPQF01QZmEUagIvAAm0WVytbsOozti1+tnRQj66ZzRiHr2uln0L2M9Hb5bbJNngh4ADenPjtQwjGw9UR3i5IhvcY7jvv9XOtoWxgKLmB/b+Qt1sCiFrGlg2Yu2cVdSbwPEOATSSuHdtqNw5ectqTyVvsNXRDAajgUGzOkUiBUwZht/W7eVpoLTfDe6gvLuY/BhhAgh713RabN6Dng9o9cKrsm82yAQZb/JgV3uR1iEnNQy701a6zYAAAAAFiA4tfxBrR0qYZWo+INaOm6jYo+EwvcnUuLPkqFHaEJ3Z1D3nQbFX0sm/eqZxDJ4D+QKzeWFn2UzpafQwo7QhNSu6DE+z32Z6O9FLDoNir6sLbILRkwno5BsHxZjybjGtemAc1+IFduJqC1uW0ri/M1q2kknC0/h8St3VAUdoQmTPZm8eVwMFK98NKF9nvsz677DhgHfVi7X/26bJFrJS/J68f4YG2RWzjtc4xzZk3GK+avEYJg+bLa4BtlHk3GNUbNJOLvS3JBt8uQlvxArtykwEwLDUYaqFXG+H+bUGc8w9CF62pW00gy1jGfeV0P1SHd7QKIW7uh0NtZdijsCE1wbOqa2eq8OYFqXu7K4WCkkmGCczvn1NBjZzYHrfGpRPVxS5Nc9x0wBHf/50/8wa0XfCN6vvp12eZ6lw4i10peeleoidPR/iqLURz9wNoit5hawGAx3JbDaVx0FKfK61f/SgmAVsxfIw5MvfRFx4O+HUdhabTBN8rsQdUdPJqMa2QabrzNnDgflRzayN6X5IKGFwZVL5FQ9ncRsiG5hy1i4QfPtUiBmRYQAXvBW4pFiwMKp1yqjPH/8gwTKDahznhuISyvx6d6DJ8nmNvUrKaRjCxERiWqEuV9KvAys7xvces8jaZCutsFGjo50lGxB5gJMeVPoLez7Pg3UTtQ2BGaCFjzTaHepe75Xkc5stV5c+pVm6RD080HG1Mv0NXFsJONRVJEJMME53xD5jA3yNh6b0g6rcbObA6eTo7ZWuNTiQJjsV6r5ef982UFKrjuO2Dgbtm3SeiPFBFobcPf/vKAh34QVy74RvR2eKQjPfOaaWVzeL7M9S4dlHXMykSulbwcLndrtaghyO0owx+mo/1V/iMfglelSSEPJav2wbM0tZkz1mIwtYDBaDViFiO+XFx7Pr6L0rjoKIo4Cv9OldevFhU1eL+TY9vnE4EMrJi/RvQYXZFdngsyBR7p5cuIdqaTCJRxOo7C0mIOIAUphR5PcQX8mNiDqjuAA0jseDQZ1yC0+wCJMq2j0bJPdJo5cT7CuZPpaz/FSjO/J539KbjepalaCQwvDKpUr+59HyTQN0ekMuDuImRDtqKGlHIPW8Qqj7kTgwnvsNuJDWeQAjMtyILR+mEEh1k5hGWO9xL6za+SGBoGFE65XpSsbhUfkiRNn3Dz5BkmULyZxIdsQp3xNMJ/Jp1EKYXFxMtSjk/1GNbPF89/SUFsJ8mju+lfPPix394vGFmIjEDZalsLUlQRU9K2xvpU4GWi1AKyZnnf4j75PTWXf2uWz/+JQYR0twvc9FXcdXIDfy3y4ajjZH7ru+ScPBJiyp9K4ihIAWkWAlnp9NXwb6J2qO9AoQAAAADhtlLvg2vUBWLdhuoG16gL52H65IW8fA5kCi7hDK5RF+0YA/iPxYUSbnPX/Qp5+Rzrz6vziRItGWikf/YYXKMu+erxwZs3dyt6gSXEHosLJf89Wcqd4N8gfFaNzxTy8jn1RKDWl5kmPHYvdNMSJVoy85MI3ZFOjjdw+NzYMLhGXdEOFLKz05JYUmXAtzZv7lbX2by5tQQ6U1SyaLw8FhdK3aBFpb99w09ey5GgOsG/Qdt37a65qmtEWBw5qyjk5XPJUrecq48xdko5Y5kuM014z4Ufl61YmX1M7suSJEq0ZMX85ounIWBhRpcyjiKdHG/DK06AofbIakBAmoVgcI26gcbfVeMbWb8CrQtQZqclsYcRd17lzPG0BHqjW2ze3K2NaI5C77UIqA4DWkdqCXSmi78mSelioKMI1PJMeCwulJmafHv7R/qRGvGofn77hp+fTdRw/ZBSmhwmAHV0gn+DlTQtbPfpq4YWX/lpclXXiJPjhWfxPgONEIhRYlDIy+exfpkI06Mf4jIVTQ1WH2Pst6kxA9V0t+k0wuUGXGaa8L3QyB/fDU71PrscGlqxMvu7B2AU2drm/jhstBFIlGjJqSI6Jsv/vMwqSe4jTkPAwq/1ki3NKBTHLJ5GKEQ6Od6ljGsxx1Ht2ybnvzRC7ZHVo1vDOsGGRdAgMBc/geZrrmBQOUECjb+r4zvtRIcxw6Vmh5FKBFoXoOXsRU+NSDq5bP5oVg4j7rzvlbxTi5+SsmopwF0I9Ea36UIUWJm6yIB4DJpvGtEchftnTmqfbWCLftsyZBwGtI79sOZhlRSZl3Siy3gWf02S98kffZPDMZxydWNzEKjlmfEet3axXi3zUOh/HDI1+fbTg6sZt4mF+FY/1xc04lH91VQDEr3wfORcRi4LPpuo4d8t+g67J9TvWpGGADhMAOrZ+lIFqQKO3Ui03DIqaVrYy98IN6/VJtZOY3Q5LL7y080IoDylrN/KRBqNJSbHC8/HcVkgo3t3wULNJS4gEKPEwabxK+GW5hQAILT7Yv0yEYNLYP7nQU4fBvcc8GQqmhqFnMj17Ti3AwyO5exuU2MGj+Ux6evvHwgKWU3naITLDYkymeL5ykU6GHwX1XqhkT+bF8PQ/x3tMR6rv958djk0ncBr2/VkFC0U0kbCdg/AKJe5ksfzs7wmEgXuyXDYaCORbjrM0S6gSTCY8qZSRXRMs/Mmo9f5CEI2T1qtVJLcR7UkjqjdgPFePDajsV7rJVu/XXe021dZVTrhC7pYPI1QuYrfv8lyA2coxFGIShnXYquvhY3PpatsLhP5g0zOf2mteC2GxdxScCRqAJ9Gt4Z1pwHUmsML+nsivaiUQGAufqHWfJEAAAAAQ8umh8eQPNSEW5pTzycIc4zsrvQItzSnS3ySIJ5PEObdhLZhWd8sMhoUirVRaBiVEqO+Epb4JEHVM4LGfZlRFz5S95C6CW3D+cLLRLK+WWTxdf/jdS5lsDblwzfj1kHxoB3ndiRGfSVnjduiLPFJgm867wXrYXVWqKrT0foyoy65+QWpPaKf+n5pOX01Fatddt4N2vKFl4mxTjEOZH2zyCe2FU+j7Y8c4CYpm6tau7vokR08bMqHby8BIeiHq/I5xGBUvkA7zu0D8GhqSIz6SgtHXM2PHMaezNdgGRnk4t9aL0RY3nTeC52/eIzWw+qslQhMKxFT1nhSmHD/9GVGXbeu4Noz9XqJcD7cDjtCTi54ieip/NJy+r8Z1H1qKla7KeHwPK26am/ucczopQ1eyObG+E9inWIcIVbEm4n8F0rKN7HNTmwrng2njRlG2x85BRC5voFLI+3CgIVqF7MHrFR4oSvQIzt4k+id/9iUD9+bX6lYHwQzC1zPlYwOV+VzTZxD9MnH2aeKDH8gwXDtAIK7S4cG4NHURSt3U5AY9ZXT01MSV4jJQRRDb8ZfP/3mHPRbYZivwTLbZGe1c860ZDAFEuO0Xoiw95UuN7zpvBf/IhqQe3mAwziyJkTtgaSCrkoCBSoRmFZp2j7RIqas8WFtCnblNpAlpv02oujLjLqrACo9L1uwbmyQFukn7ITJZCciTuB8uB2jtx6adoScXDVPOtuxFKCI8t8GD7mjlC/6aDKofjOo+z34DnyVUt2t1pl7KlLC4XkRCUf+WnXV3hm+c1md5ekK3i5PjQsdzUtI1mvMzI3xn49GVxjEOsU4h/FjvwOq+exAYV9rEvkvlFEyiRPVaRNAlqK1x93eJ+eeFYFgGk4bM1mFvbSMtj9yz32Z9UsmA6YI7aUhQ5E3AQBakYaEAQvVx8qtUm9gfoMsq9gEqPBCV+s75NCgR3bw44zQd2fXSiQkHOyj8S9uZbLkyOI2v1KxdXT0Nj4IZhZ9w8CR+ZhawrpT/EUcrsrnX2VsYNs+9jOY9VC004nClJBCZBMUGf5AV9JYx4Lh2gHBKnyGRXHm1Qa6QFJNxtJyDg109YpW7qbJnUghYTeb8CL8PXemp6ck5WwBo64Qk4Pt2zUEaYCvVypLCdD/eIsWvLMtkTjot8J7IxFFMF+DZXOUJeL3z7+xtAQZNuacacmlV89OIQxVHWLH85opu2G6anDHPe4rXW6t4PvpeNN5LzsY36i/Q0X7/IjjfLf0cVz0P9fbcGRNiDOv6w+bBTje2M6eWVyVBAofXqKNVCIwrRfpliqTsgx50Hmq/gVKKDhGgY6/wtoU7IERsmvKbSBLiaaGzA39HJ9ONroYFAQAAJ0HAAAsCQAAhgUAAEgFAACnBQAAAAQAADIFAAC8BQAALAkAQYDBAAv3CQwACACMAAgATAAIAMwACAAsAAgArAAIAGwACADsAAgAHAAIAJwACABcAAgA3AAIADwACAC8AAgAfAAIAPwACAACAAgAggAIAEIACADCAAgAIgAIAKIACABiAAgA4gAIABIACACSAAgAUgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgABwBIAAcAKAAHAGgABwAYAAcAWAAHADgABwB4AAcABAAHAEQABwAkAAcAZAAHABQABwBUAAcANAAHAHQABwADAAgAgwAIAEMACADDAAgAIwAIAKMACABjAAgA4wAIAAAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUAAgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUABQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAEGBywAL7AYBAgMEBAUFBgYGBgcHBwcICAgICAgICAkJCQkJCQkJCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8AABAREhITExQUFBQVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAAECAwQFBgcICAkJCgoLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBQUFBQUFBQVFRUVFRUVFRUVFRUVFRUVFhYWFhYWFhYWFhYWFhYWFhcXFxcXFxcXFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQYTSAAutAQEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAgCAAAMApAAABAQAAHgEAAA8AAAAAJQAAQCoAAAAAAAAeAAAADwAAAAAAAADAKgAAAAAAABMAAAAHAEHg0wALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHQ1AALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEGA1gALIwIAAAADAAAABwAAAAAAAAAQERIACAcJBgoFCwQMAw0CDgEPAEHQ1gALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHA1wALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEG42AALASwAQcTYAAthLQAAAAQABAAIAAQALgAAAAQABgAQAAYALwAAAAQADAAgABgALwAAAAgAEAAgACAALwAAAAgAEACAAIAALwAAAAgAIACAAAABMAAAACAAgAACAQAEMAAAACAAAgECAQAQMABBsNkAC6UTAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAEwATABMAEwAUABQAFAAUABUAFQAVABUAEABNAMoAAAABAAIAAwAEAAUABwAJAA0AEQAZACEAMQBBAGEAgQDBAAEBgQEBAgEDAQQBBgEIAQwBEAEYASABMAFAAWAAAAAAEAAQABAAEAARABEAEgASABMAEwAUABQAFQAVABYAFgAXABcAGAAYABkAGQAaABoAGwAbABwAHAAdAB0AQABAAGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwAYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIAAAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIAEQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoAEAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboAAAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYAEQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYAFAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4AAAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4AEgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEAEAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEAAAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckAEQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkAFAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUAAAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUAEgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0AEAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0AAAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMAEAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMAEwc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasAAAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsAEgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecAEAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcAAAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8AEQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEHg7AALQREACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABAAkLCwAACQYLAAALAAYRAAAAERERAEGx7QALIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBB6+0ACwEMAEH37QALFQwAAAAADAAAAAAJDAAAAAAADAAADABBpe4ACwEOAEGx7gALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBB3+4ACwEQAEHr7gALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBou8ACw4SAAAAEhISAAAAAAAACQBB0+8ACwELAEHf7wALFQoAAAAACgAAAAAJCwAAAAAACwAACwBBjfAACwEMAEGZ8AALJwwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgBB5PAACwE+AEGL8QALBf//////AEHQ8QALVxkSRDsCPyxHFD0zMAobBkZLRTcPSQ6OFwNAHTxpKzYfSi0cASAlKSEIDBUWIi4QOD4LNDEYZHR1di9BCX85ESNDMkKJiosFBCYoJw0qHjWMBxpIkxOUlQBBsPIAC4oOSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; - if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); - } - function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - var binary = tryParseAsDataURI(file); - if (binary) { - return binary; - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } catch (err2) { - abort(err2); - } - } - function instantiateSync(file, info) { - var instance; - var module2; - var binary; - try { - binary = getBinary(file); - module2 = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module2, info); - } catch (e) { - var str = e.toString(); - err("failed to compile wasm module: " + str); - if (str.includes("imported Memory") || str.includes("memory import")) { - err( - "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." - ); - } - throw e; - } - return [instance, module2]; - } - function createWasm() { - var info = { a: asmLibraryArg }; - function receiveInstance(instance, module2) { - var exports3 = instance.exports; - Module["asm"] = exports3; - wasmMemory = Module["asm"]["g"]; - updateGlobalBufferAndViews(wasmMemory.buffer); - wasmTable = Module["asm"]["W"]; - addOnInit(Module["asm"]["h"]); - removeRunDependency(); - } - addRunDependency(); - if (Module["instantiateWasm"]) { - try { - var exports2 = Module["instantiateWasm"](info, receiveInstance); - return exports2; - } catch (e) { - err("Module.instantiateWasm callback failed with error: " + e); - return false; - } - } - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0]); - return Module["asm"]; - } - function LE_HEAP_LOAD_F32(byteOffset) { - return HEAP_DATA_VIEW.getFloat32(byteOffset, true); - } - function LE_HEAP_LOAD_F64(byteOffset) { - return HEAP_DATA_VIEW.getFloat64(byteOffset, true); - } - function LE_HEAP_LOAD_I16(byteOffset) { - return HEAP_DATA_VIEW.getInt16(byteOffset, true); - } - function LE_HEAP_LOAD_I32(byteOffset) { - return HEAP_DATA_VIEW.getInt32(byteOffset, true); - } - function LE_HEAP_STORE_I32(byteOffset, value) { - HEAP_DATA_VIEW.setInt32(byteOffset, value, true); - } - function callRuntimeCallbacks(callbacks) { - while (callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == "function") { - callback(Module); - continue; - } - var func = callback.func; - if (typeof func === "number") { - if (callback.arg === void 0) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === void 0 ? null : callback.arg); - } - } - } - function _gmtime_r(time, tmPtr) { - var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); - LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); - LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); - LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); - LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); - LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); - LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); - LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - if (!_gmtime_r.GMTString) - _gmtime_r.GMTString = allocateUTF8("GMT"); - LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); - return tmPtr; - } - function ___gmtime_r(a0, a1) { - return _gmtime_r(a0, a1); - } - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - function emscripten_realloc_buffer(size) { - try { - wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); - updateGlobalBufferAndViews(wasmMemory.buffer); - return 1; - } catch (e) { - } - } - function _emscripten_resize_heap(requestedSize) { - var oldSize = HEAPU8.length; - requestedSize = requestedSize >>> 0; - var maxHeapSize = 2147483648; - if (requestedSize > maxHeapSize) { - return false; - } - for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { - var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); - overGrownHeapSize = Math.min( - overGrownHeapSize, - requestedSize + 100663296 - ); - var newSize = Math.min( - maxHeapSize, - alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) - ); - var replacement = emscripten_realloc_buffer(newSize); - if (replacement) { - return true; - } - } - return false; - } - function _setTempRet0(val) { - } - function _time(ptr) { - var ret = Date.now() / 1e3 | 0; - if (ptr) { - LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); - } - return ret; - } - function _tzset() { - if (_tzset.called) - return; - _tzset.called = true; - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); - LE_HEAP_STORE_I32( - (__get_daylight() >> 2) * 4, - Number(winterOffset != summerOffset) - ); - function extractZone(date) { - var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); - return match ? match[1] : "GMT"; - } - var winterName = extractZone(winter); - var summerName = extractZone(summer); - var winterNamePtr = allocateUTF8(winterName); - var summerNamePtr = allocateUTF8(summerName); - if (summerOffset < winterOffset) { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); - } else { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); - } - } - function _timegm(tmPtr) { - _tzset(); - var time = Date.UTC( - LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, - LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), - 0 - ); - var date = new Date(time); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - return date.getTime() / 1e3 | 0; - } - function intArrayFromBase64(s) { - { - var buf; - try { - buf = Buffer.from(s, "base64"); - } catch (_) { - buf = new Buffer(s, "base64"); - } - return new Uint8Array( - buf["buffer"], - buf["byteOffset"], - buf["byteLength"] - ); - } - } - function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); - } - var asmLibraryArg = { - e: ___gmtime_r, - c: _emscripten_memcpy_big, - d: _emscripten_resize_heap, - a: _setTempRet0, - b: _time, - f: _timegm - }; - var asm = createWasm(); - Module["___wasm_call_ctors"] = asm["h"]; - Module["_zip_ext_count_symlinks"] = asm["i"]; - Module["_zip_file_get_external_attributes"] = asm["j"]; - Module["_zipstruct_statS"] = asm["k"]; - Module["_zipstruct_stat_size"] = asm["l"]; - Module["_zipstruct_stat_mtime"] = asm["m"]; - Module["_zipstruct_stat_crc"] = asm["n"]; - Module["_zipstruct_errorS"] = asm["o"]; - Module["_zipstruct_error_code_zip"] = asm["p"]; - Module["_zipstruct_stat_comp_size"] = asm["q"]; - Module["_zipstruct_stat_comp_method"] = asm["r"]; - Module["_zip_close"] = asm["s"]; - Module["_zip_delete"] = asm["t"]; - Module["_zip_dir_add"] = asm["u"]; - Module["_zip_discard"] = asm["v"]; - Module["_zip_error_init_with_code"] = asm["w"]; - Module["_zip_get_error"] = asm["x"]; - Module["_zip_file_get_error"] = asm["y"]; - Module["_zip_error_strerror"] = asm["z"]; - Module["_zip_fclose"] = asm["A"]; - Module["_zip_file_add"] = asm["B"]; - Module["_free"] = asm["C"]; - var _malloc = Module["_malloc"] = asm["D"]; - Module["_zip_source_error"] = asm["E"]; - Module["_zip_source_seek"] = asm["F"]; - Module["_zip_file_set_external_attributes"] = asm["G"]; - Module["_zip_file_set_mtime"] = asm["H"]; - Module["_zip_fopen_index"] = asm["I"]; - Module["_zip_fread"] = asm["J"]; - Module["_zip_get_name"] = asm["K"]; - Module["_zip_get_num_entries"] = asm["L"]; - Module["_zip_source_read"] = asm["M"]; - Module["_zip_name_locate"] = asm["N"]; - Module["_zip_open_from_source"] = asm["O"]; - Module["_zip_set_file_compression"] = asm["P"]; - Module["_zip_source_buffer"] = asm["Q"]; - Module["_zip_source_buffer_create"] = asm["R"]; - Module["_zip_source_close"] = asm["S"]; - Module["_zip_source_free"] = asm["T"]; - Module["_zip_source_keep"] = asm["U"]; - Module["_zip_source_open"] = asm["V"]; - Module["_zip_source_tell"] = asm["X"]; - Module["_zip_stat_index"] = asm["Y"]; - var __get_tzname = Module["__get_tzname"] = asm["Z"]; - var __get_daylight = Module["__get_daylight"] = asm["_"]; - var __get_timezone = Module["__get_timezone"] = asm["$"]; - var stackSave = Module["stackSave"] = asm["aa"]; - var stackRestore = Module["stackRestore"] = asm["ba"]; - var stackAlloc = Module["stackAlloc"] = asm["ca"]; - Module["cwrap"] = cwrap; - Module["getValue"] = getValue; - var calledRun; - dependenciesFulfilled = function runCaller() { - if (!calledRun) - run(); - if (!calledRun) - dependenciesFulfilled = runCaller; - }; - function run(args) { - if (runDependencies > 0) { - return; - } - preRun(); - if (runDependencies > 0) { - return; - } - function doRun() { - if (calledRun) - return; - calledRun = true; - Module["calledRun"] = true; - if (ABORT) - return; - initRuntime(); - readyPromiseResolve(Module); - if (Module["onRuntimeInitialized"]) - Module["onRuntimeInitialized"](); - postRun(); - } - if (Module["setStatus"]) { - Module["setStatus"]("Running..."); - setTimeout(function() { - setTimeout(function() { - Module["setStatus"](""); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } - } - Module["run"] = run; - if (Module["preInit"]) { - if (typeof Module["preInit"] == "function") - Module["preInit"] = [Module["preInit"]]; - while (Module["preInit"].length > 0) { - Module["preInit"].pop()(); - } - } - run(); - return createModule2; - }; -}(); -module.exports = createModule; -}(libzipSync)); - -const createModule = libzipSync.exports; - -const number64 = [ - `number`, - `number` -]; -var Errors = /* @__PURE__ */ ((Errors2) => { - Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; - Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; - Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; - Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; - Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; - Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; - Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; - Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; - Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; - Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; - Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; - Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; - Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; - Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; - Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; - Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; - Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; - Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; - Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; - Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; - Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; - Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; - Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; - Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; - Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; - Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; - Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; - Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; - Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; - Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; - Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; - Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; - return Errors2; -})(Errors || {}); -const makeInterface = (emZip) => ({ - get HEAPU8() { - return emZip.HEAPU8; - }, - errors: Errors, - SEEK_SET: 0, - SEEK_CUR: 1, - SEEK_END: 2, - ZIP_CHECKCONS: 4, - ZIP_EXCL: 2, - ZIP_RDONLY: 16, - ZIP_FL_OVERWRITE: 8192, - ZIP_FL_COMPRESSED: 4, - ZIP_OPSYS_DOS: 0, - ZIP_OPSYS_AMIGA: 1, - ZIP_OPSYS_OPENVMS: 2, - ZIP_OPSYS_UNIX: 3, - ZIP_OPSYS_VM_CMS: 4, - ZIP_OPSYS_ATARI_ST: 5, - ZIP_OPSYS_OS_2: 6, - ZIP_OPSYS_MACINTOSH: 7, - ZIP_OPSYS_Z_SYSTEM: 8, - ZIP_OPSYS_CPM: 9, - ZIP_OPSYS_WINDOWS_NTFS: 10, - ZIP_OPSYS_MVS: 11, - ZIP_OPSYS_VSE: 12, - ZIP_OPSYS_ACORN_RISC: 13, - ZIP_OPSYS_VFAT: 14, - ZIP_OPSYS_ALTERNATE_MVS: 15, - ZIP_OPSYS_BEOS: 16, - ZIP_OPSYS_TANDEM: 17, - ZIP_OPSYS_OS_400: 18, - ZIP_OPSYS_OS_X: 19, - ZIP_CM_DEFAULT: -1, - ZIP_CM_STORE: 0, - ZIP_CM_DEFLATE: 8, - uint08S: emZip._malloc(1), - uint32S: emZip._malloc(4), - malloc: emZip._malloc, - free: emZip._free, - getValue: emZip.getValue, - openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), - close: emZip.cwrap(`zip_close`, `number`, [`number`]), - discard: emZip.cwrap(`zip_discard`, null, [`number`]), - getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), - getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), - getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), - delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), - statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), - fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), - fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), - fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), - dir: { - add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) - }, - file: { - add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), - getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), - getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), - setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) - }, - ext: { - countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) - }, - error: { - initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), - strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) - }, - name: { - locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) - }, - source: { - fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), - fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), - free: emZip.cwrap(`zip_source_free`, null, [`number`]), - keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), - open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), - close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), - seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), - tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), - read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), - error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) - }, - struct: { - statS: emZip.cwrap(`zipstruct_statS`, `number`, []), - statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), - statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), - statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), - statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), - statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), - errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), - errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) - } -}); - -function getArchivePart(path, extension) { - let idx = path.indexOf(extension); - if (idx <= 0) - return null; - let nextCharIdx = idx; - while (idx >= 0) { - nextCharIdx = idx + extension.length; - if (path[nextCharIdx] === ppath.sep) - break; - if (path[idx - 1] === ppath.sep) - return null; - idx = path.indexOf(extension, nextCharIdx); - } - if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) - return null; - return path.slice(0, nextCharIdx); -} -class ZipOpenFS extends MountFS { - static async openPromise(fn, opts) { - const zipOpenFs = new ZipOpenFS(opts); - try { - return await fn(zipOpenFs); - } finally { - zipOpenFs.saveAndClose(); - } - } - constructor(opts = {}) { - const fileExtensions = opts.fileExtensions; - const readOnlyArchives = opts.readOnlyArchives; - const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { - for (const extension of fileExtensions) { - const result = getArchivePart(path, extension); - if (result) { - return result; - } - } - return null; - }; - const factorySync = (baseFs, p) => { - return new ZipFS(p, { - baseFs, - readOnly: readOnlyArchives, - stats: baseFs.statSync(p) - }); - }; - const factoryPromise = async (baseFs, p) => { - const zipOptions = { - baseFs, - readOnly: readOnlyArchives, - stats: await baseFs.statPromise(p) - }; - return () => { - return new ZipFS(p, zipOptions); - }; - }; - super({ - ...opts, - factorySync, - factoryPromise, - getMountPoint - }); - } -} - -const DEFAULT_COMPRESSION_LEVEL = `mixed`; -function toUnixTimestamp(time) { - if (typeof time === `string` && String(+time) === time) - return +time; - if (typeof time === `number` && Number.isFinite(time)) { - if (time < 0) { - return Date.now() / 1e3; - } else { - return time; - } - } - if (nodeUtils.types.isDate(time)) - return time.getTime() / 1e3; - throw new Error(`Invalid time`); -} -function makeEmptyArchive() { - return Buffer.from([ - 80, - 75, - 5, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]); -} -class LibzipError extends Error { - constructor(message, code) { - super(message); - this.name = `Libzip Error`; - this.code = code; - } -} -class ZipFS extends BasePortableFakeFS { - constructor(source, opts = {}) { - super(); - this.listings = /* @__PURE__ */ new Map(); - this.entries = /* @__PURE__ */ new Map(); - this.fileSources = /* @__PURE__ */ new Map(); - this.fds = /* @__PURE__ */ new Map(); - this.nextFd = 0; - this.ready = false; - this.readOnly = false; - const pathOptions = opts; - this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; - source ??= makeEmptyArchive(); - if (typeof source === `string`) { - const { baseFs = new NodeFS() } = pathOptions; - this.baseFs = baseFs; - this.path = source; - } else { - this.path = null; - this.baseFs = null; - } - if (opts.stats) { - this.stats = opts.stats; - } else { - if (typeof source === `string`) { - try { - this.stats = this.baseFs.statSync(source); - } catch (error) { - if (error.code === `ENOENT` && pathOptions.create) { - this.stats = makeDefaultStats(); - } else { - throw error; - } - } - } else { - this.stats = makeDefaultStats(); - } - } - this.libzip = getInstance(); - const errPtr = this.libzip.malloc(4); - try { - let flags = 0; - if (opts.readOnly) { - flags |= this.libzip.ZIP_RDONLY; - this.readOnly = true; - } - if (typeof source === `string`) - source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); - const lzSource = this.allocateUnattachedSource(source); - try { - this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); - this.lzSource = lzSource; - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - if (this.zip === 0) { - const error = this.libzip.struct.errorS(); - this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); - throw this.makeLibzipError(error); - } - } finally { - this.libzip.free(errPtr); - } - this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); - const entryCount = this.libzip.getNumEntries(this.zip, 0); - for (let t = 0; t < entryCount; ++t) { - const raw = this.libzip.getName(this.zip, t, 0); - if (ppath.isAbsolute(raw)) - continue; - const p = ppath.resolve(PortablePath.root, raw); - this.registerEntry(p, t); - if (raw.endsWith(`/`)) { - this.registerListing(p); - } - } - this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); - if (this.symlinkCount === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.ready = true; - } - makeLibzipError(error) { - const errorCode = this.libzip.struct.errorCodeZip(error); - const strerror = this.libzip.error.strerror(error); - const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); - if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) - throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); - return libzipError; - } - getExtractHint(hints) { - for (const fileName of this.entries.keys()) { - const ext = this.pathUtils.extname(fileName); - if (hints.relevantExtensions.has(ext)) { - return true; - } - } - return false; - } - getAllFiles() { - return Array.from(this.entries.keys()); - } - getRealPath() { - if (!this.path) - throw new Error(`ZipFS don't have real paths when loaded from a buffer`); - return this.path; - } - prepareClose() { - if (!this.ready) - throw EBUSY(`archive closed, close`); - unwatchAllFiles(this); - } - getBufferAndClose() { - this.prepareClose(); - if (this.entries.size === 0) { - this.discardAndClose(); - return makeEmptyArchive(); - } - try { - this.libzip.source.keep(this.lzSource); - if (this.libzip.close(this.zip) === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - if (this.libzip.source.open(this.lzSource) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - const size = this.libzip.source.tell(this.lzSource); - if (size === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - const buffer = this.libzip.malloc(size); - if (!buffer) - throw new Error(`Couldn't allocate enough memory`); - try { - const rc = this.libzip.source.read(this.lzSource, buffer, size); - if (rc === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - else if (rc < size) - throw new Error(`Incomplete read`); - else if (rc > size) - throw new Error(`Overread`); - let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); - if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) - result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); - return result; - } finally { - this.libzip.free(buffer); - } - } finally { - this.libzip.source.close(this.lzSource); - this.libzip.source.free(this.lzSource); - this.ready = false; - } - } - discardAndClose() { - this.prepareClose(); - this.libzip.discard(this.zip); - this.ready = false; - } - saveAndClose() { - if (!this.path || !this.baseFs) - throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); - if (this.readOnly) { - this.discardAndClose(); - return; - } - const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; - this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); - this.ready = false; - } - resolve(p) { - return ppath.resolve(PortablePath.root, p); - } - async openPromise(p, flags, mode) { - return this.openSync(p, flags, mode); - } - openSync(p, flags, mode) { - const fd = this.nextFd++; - this.fds.set(fd, { cursor: 0, p }); - return fd; - } - hasOpenFileHandles() { - return !!this.fds.size; - } - async opendirPromise(p, opts) { - return this.opendirSync(p, opts); - } - opendirSync(p, opts = {}) { - const resolvedP = this.resolveFilename(`opendir '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`opendir '${p}'`); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`opendir '${p}'`); - const entries = [...directoryListing]; - const fd = this.openSync(resolvedP, `r`); - const onClose = () => { - this.closeSync(fd); - }; - return opendir(this, resolvedP, entries, { onClose }); - } - async readPromise(fd, buffer, offset, length, position) { - return this.readSync(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - const realPosition = position === -1 || position === null ? entry.cursor : position; - const source = this.readFileSync(entry.p); - source.copy(buffer, offset, realPosition, realPosition + length); - const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); - if (position === -1 || position === null) - entry.cursor += bytesRead; - return bytesRead; - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.writeSync(fd, buffer, position); - } else { - return this.writeSync(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - throw new Error(`Unimplemented`); - } - async closePromise(fd) { - return this.closeSync(fd); - } - closeSync(fd) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - this.fds.delete(fd); - } - createReadStream(p, { encoding } = {}) { - if (p === null) - throw new Error(`Unimplemented`); - const fd = this.openSync(p, `r`); - const stream$1 = Object.assign( - new stream.PassThrough({ - emitClose: true, - autoDestroy: true, - destroy: (error, callback) => { - clearImmediate(immediate); - this.closeSync(fd); - callback(error); - } - }), - { - close() { - stream$1.destroy(); - }, - bytesRead: 0, - path: p, - pending: false - } - ); - const immediate = setImmediate(async () => { - try { - const data = await this.readFilePromise(p, encoding); - stream$1.bytesRead = data.length; - stream$1.end(data); - } catch (error) { - stream$1.destroy(error); - } - }); - return stream$1; - } - createWriteStream(p, { encoding } = {}) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (p === null) - throw new Error(`Unimplemented`); - const chunks = []; - const fd = this.openSync(p, `w`); - const stream$1 = Object.assign( - new stream.PassThrough({ - autoDestroy: true, - emitClose: true, - destroy: (error, callback) => { - try { - if (error) { - callback(error); - } else { - this.writeFileSync(p, Buffer.concat(chunks), encoding); - callback(null); - } - } catch (err) { - callback(err); - } finally { - this.closeSync(fd); - } - } - }), - { - close() { - stream$1.destroy(); - }, - bytesWritten: 0, - path: p, - pending: false - } - ); - stream$1.on(`data`, (chunk) => { - const chunkBuffer = Buffer.from(chunk); - stream$1.bytesWritten += chunkBuffer.length; - chunks.push(chunkBuffer); - }); - return stream$1; - } - async realpathPromise(p) { - return this.realpathSync(p); - } - realpathSync(p) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`lstat '${p}'`); - return resolvedP; - } - async existsPromise(p) { - return this.existsSync(p); - } - existsSync(p) { - if (!this.ready) - throw EBUSY(`archive closed, existsSync '${p}'`); - if (this.symlinkCount === 0) { - const resolvedP2 = ppath.resolve(PortablePath.root, p); - return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); - } - let resolvedP; - try { - resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); - } catch (error) { - return false; - } - if (resolvedP === void 0) - return false; - return this.entries.has(resolvedP) || this.listings.has(resolvedP); - } - async accessPromise(p, mode) { - return this.accessSync(p, mode); - } - accessSync(p, mode = fs.constants.F_OK) { - const resolvedP = this.resolveFilename(`access '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`access '${p}'`); - if (this.readOnly && mode & fs.constants.W_OK) { - throw EROFS(`access '${p}'`); - } - } - async statPromise(p, opts = { bigint: false }) { - if (opts.bigint) - return this.statSync(p, { bigint: true }); - return this.statSync(p); - } - statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - throw ENOENT(`stat '${p}'`); - } - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`stat '${p}'`); - return this.statImpl(`stat '${p}'`, resolvedP, opts); - } - async fstatPromise(fd, opts) { - return this.fstatSync(fd, opts); - } - fstatSync(fd, opts) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstatSync`); - const { p } = entry; - const resolvedP = this.resolveFilename(`stat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`stat '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`stat '${p}'`); - return this.statImpl(`fstat '${p}'`, resolvedP, opts); - } - async lstatPromise(p, opts = { bigint: false }) { - if (opts.bigint) - return this.lstatSync(p, { bigint: true }); - return this.lstatSync(p); - } - lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - throw ENOENT(`lstat '${p}'`); - } - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`lstat '${p}'`); - return this.statImpl(`lstat '${p}'`, resolvedP, opts); - } - statImpl(reason, p, opts = {}) { - const entry = this.entries.get(p); - if (typeof entry !== `undefined`) { - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = this.libzip.struct.statSize(stat) >>> 0; - const blksize = 512; - const blocks = Math.ceil(size / blksize); - const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; - const atimeMs = mtimeMs; - const birthtimeMs = mtimeMs; - const ctimeMs = mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const type = this.listings.has(p) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; - const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; - const mode = type | this.getUnixMode(entry, defaultMode) & 511; - const crc = this.libzip.struct.statCrc(stat); - const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); - return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; - } - if (this.listings.has(p)) { - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = 0; - const blksize = 512; - const blocks = 0; - const atimeMs = this.stats.mtimeMs; - const birthtimeMs = this.stats.mtimeMs; - const ctimeMs = this.stats.mtimeMs; - const mtimeMs = this.stats.mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const mode = fs.constants.S_IFDIR | 493; - const crc = 0; - const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); - return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; - } - throw new Error(`Unreachable`); - } - getUnixMode(index, defaultMode) { - const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) - return defaultMode; - return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - } - registerListing(p) { - const existingListing = this.listings.get(p); - if (existingListing) - return existingListing; - const parentListing = this.registerListing(ppath.dirname(p)); - parentListing.add(ppath.basename(p)); - const newListing = /* @__PURE__ */ new Set(); - this.listings.set(p, newListing); - return newListing; - } - registerEntry(p, index) { - const parentListing = this.registerListing(ppath.dirname(p)); - parentListing.add(ppath.basename(p)); - this.entries.set(p, index); - } - unregisterListing(p) { - this.listings.delete(p); - const parentListing = this.listings.get(ppath.dirname(p)); - parentListing?.delete(ppath.basename(p)); - } - unregisterEntry(p) { - this.unregisterListing(p); - const entry = this.entries.get(p); - this.entries.delete(p); - if (typeof entry === `undefined`) - return; - this.fileSources.delete(entry); - if (this.isSymbolicLink(entry)) { - this.symlinkCount--; - } - } - deleteEntry(p, index) { - this.unregisterEntry(p); - const rc = this.libzip.delete(this.zip, index); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { - if (!this.ready) - throw EBUSY(`archive closed, ${reason}`); - let resolvedP = ppath.resolve(PortablePath.root, p); - if (resolvedP === `/`) - return PortablePath.root; - const fileIndex = this.entries.get(resolvedP); - if (resolveLastComponent && fileIndex !== void 0) { - if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { - const target = this.getFileSource(fileIndex).toString(); - return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); - } else { - return resolvedP; - } - } - while (true) { - const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); - if (parentP === void 0) - return parentP; - const isDir = this.listings.has(parentP); - const doesExist = this.entries.has(parentP); - if (!isDir && !doesExist) { - if (throwIfNoEntry === false) - return void 0; - throw ENOENT(reason); - } - if (!isDir) - throw ENOTDIR(reason); - resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); - if (!resolveLastComponent || this.symlinkCount === 0) - break; - const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); - if (index === -1) - break; - if (this.isSymbolicLink(index)) { - const target = this.getFileSource(index).toString(); - resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); - } else { - break; - } - } - return resolvedP; - } - allocateBuffer(content) { - if (!Buffer.isBuffer(content)) - content = Buffer.from(content); - const buffer = this.libzip.malloc(content.byteLength); - if (!buffer) - throw new Error(`Couldn't allocate enough memory`); - const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); - heap.set(content); - return { buffer, byteLength: content.byteLength }; - } - allocateUnattachedSource(content) { - const error = this.libzip.struct.errorS(); - const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); - if (source === 0) { - this.libzip.free(error); - throw this.makeLibzipError(error); - } - return source; - } - allocateSource(content) { - const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); - if (source === 0) { - this.libzip.free(buffer); - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - return source; - } - setFileSource(p, content) { - const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); - const target = ppath.relative(PortablePath.root, p); - const lzSource = this.allocateSource(content); - try { - const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); - if (newIndex === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - if (this.level !== `mixed`) { - const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; - const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - this.fileSources.set(newIndex, buffer); - return newIndex; - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - } - isSymbolicLink(index) { - if (this.symlinkCount === 0) - return false; - const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (attrs === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) - return false; - const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - return (attributes & fs.constants.S_IFMT) === fs.constants.S_IFLNK; - } - getFileSource(index, opts = { asyncDecompress: false }) { - const cachedFileSource = this.fileSources.get(index); - if (typeof cachedFileSource !== `undefined`) - return cachedFileSource; - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const size = this.libzip.struct.statCompSize(stat); - const compressionMethod = this.libzip.struct.statCompMethod(stat); - const buffer = this.libzip.malloc(size); - try { - const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); - if (file === 0) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - try { - const rc2 = this.libzip.fread(file, buffer, size, 0); - if (rc2 === -1) - throw this.makeLibzipError(this.libzip.file.getError(file)); - else if (rc2 < size) - throw new Error(`Incomplete read`); - else if (rc2 > size) - throw new Error(`Overread`); - const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); - const data = Buffer.from(memory); - if (compressionMethod === 0) { - this.fileSources.set(index, data); - return data; - } else if (opts.asyncDecompress) { - return new Promise((resolve, reject) => { - zlib__default.default.inflateRaw(data, (error, result) => { - if (error) { - reject(error); - } else { - this.fileSources.set(index, result); - resolve(result); - } - }); - }); - } else { - const decompressedData = zlib__default.default.inflateRawSync(data); - this.fileSources.set(index, decompressedData); - return decompressedData; - } - } finally { - this.libzip.fclose(file); - } - } finally { - this.libzip.free(buffer); - } - } - async fchmodPromise(fd, mask) { - return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); - } - fchmodSync(fd, mask) { - return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); - } - async chmodPromise(p, mask) { - return this.chmodSync(p, mask); - } - chmodSync(p, mask) { - if (this.readOnly) - throw EROFS(`chmod '${p}'`); - mask &= 493; - const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); - const entry = this.entries.get(resolvedP); - if (typeof entry === `undefined`) - throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); - const oldMod = this.getUnixMode(entry, fs.constants.S_IFREG | 0); - const newMod = oldMod & ~511 | mask; - const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - async fchownPromise(fd, uid, gid) { - return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); - } - fchownSync(fd, uid, gid) { - return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); - } - async chownPromise(p, uid, gid) { - return this.chownSync(p, uid, gid); - } - chownSync(p, uid, gid) { - throw new Error(`Unimplemented`); - } - async renamePromise(oldP, newP) { - return this.renameSync(oldP, newP); - } - renameSync(oldP, newP) { - throw new Error(`Unimplemented`); - } - async copyFilePromise(sourceP, destP, flags) { - const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); - const source = await this.getFileSource(indexSource, { asyncDecompress: true }); - const newIndex = this.setFileSource(resolvedDestP, source); - if (newIndex !== indexDest) { - this.registerEntry(resolvedDestP, newIndex); - } - } - copyFileSync(sourceP, destP, flags = 0) { - const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); - const source = this.getFileSource(indexSource); - const newIndex = this.setFileSource(resolvedDestP, source); - if (newIndex !== indexDest) { - this.registerEntry(resolvedDestP, newIndex); - } - } - prepareCopyFile(sourceP, destP, flags = 0) { - if (this.readOnly) - throw EROFS(`copyfile '${sourceP} -> '${destP}'`); - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); - const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); - const indexSource = this.entries.get(resolvedSourceP); - if (typeof indexSource === `undefined`) - throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); - const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); - const indexDest = this.entries.get(resolvedDestP); - if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) - throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); - return { - indexSource, - resolvedDestP, - indexDest - }; - } - async appendFilePromise(p, content, opts) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (typeof opts === `undefined`) - opts = { flag: `a` }; - else if (typeof opts === `string`) - opts = { flag: `a`, encoding: opts }; - else if (typeof opts.flag === `undefined`) - opts = { flag: `a`, ...opts }; - return this.writeFilePromise(p, content, opts); - } - appendFileSync(p, content, opts = {}) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (typeof opts === `undefined`) - opts = { flag: `a` }; - else if (typeof opts === `string`) - opts = { flag: `a`, encoding: opts }; - else if (typeof opts.flag === `undefined`) - opts = { flag: `a`, ...opts }; - return this.writeFileSync(p, content, opts); - } - fdToPath(fd, reason) { - const path = this.fds.get(fd)?.p; - if (typeof path === `undefined`) - throw EBADF(reason); - return path; - } - async writeFilePromise(p, content, opts) { - const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); - if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) - content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); - if (encoding !== null) - content = content.toString(encoding); - const newIndex = this.setFileSource(resolvedP, content); - if (newIndex !== index) - this.registerEntry(resolvedP, newIndex); - if (mode !== null) { - await this.chmodPromise(resolvedP, mode); - } - } - writeFileSync(p, content, opts) { - const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); - if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) - content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); - if (encoding !== null) - content = content.toString(encoding); - const newIndex = this.setFileSource(resolvedP, content); - if (newIndex !== index) - this.registerEntry(resolvedP, newIndex); - if (mode !== null) { - this.chmodSync(resolvedP, mode); - } - } - prepareWriteFile(p, opts) { - if (typeof p === `number`) - p = this.fdToPath(p, `read`); - if (this.readOnly) - throw EROFS(`open '${p}'`); - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`open '${p}'`); - let encoding = null, mode = null; - if (typeof opts === `string`) { - encoding = opts; - } else if (typeof opts === `object`) { - ({ - encoding = null, - mode = null - } = opts); - } - const index = this.entries.get(resolvedP); - return { - encoding, - mode, - resolvedP, - index - }; - } - async unlinkPromise(p) { - return this.unlinkSync(p); - } - unlinkSync(p) { - if (this.readOnly) - throw EROFS(`unlink '${p}'`); - const resolvedP = this.resolveFilename(`unlink '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`unlink '${p}'`); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`unlink '${p}'`); - this.deleteEntry(resolvedP, index); - } - async utimesPromise(p, atime, mtime) { - return this.utimesSync(p, atime, mtime); - } - utimesSync(p, atime, mtime) { - if (this.readOnly) - throw EROFS(`utimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p); - this.utimesImpl(resolvedP, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.lutimesSync(p, atime, mtime); - } - lutimesSync(p, atime, mtime) { - if (this.readOnly) - throw EROFS(`lutimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); - this.utimesImpl(resolvedP, mtime); - } - utimesImpl(resolvedP, mtime) { - if (this.listings.has(resolvedP)) { - if (!this.entries.has(resolvedP)) - this.hydrateDirectory(resolvedP); - } - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - async mkdirPromise(p, opts) { - return this.mkdirSync(p, opts); - } - mkdirSync(p, { mode = 493, recursive = false } = {}) { - if (recursive) - return this.mkdirpSync(p, { chmod: mode }); - if (this.readOnly) - throw EROFS(`mkdir '${p}'`); - const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); - if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) - throw EEXIST(`mkdir '${p}'`); - this.hydrateDirectory(resolvedP); - this.chmodSync(resolvedP, mode); - return void 0; - } - async rmdirPromise(p, opts) { - return this.rmdirSync(p, opts); - } - rmdirSync(p, { recursive = false } = {}) { - if (this.readOnly) - throw EROFS(`rmdir '${p}'`); - if (recursive) { - this.removeSync(p); - return; - } - const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`rmdir '${p}'`); - if (directoryListing.size > 0) - throw ENOTEMPTY(`rmdir '${p}'`); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`rmdir '${p}'`); - this.deleteEntry(p, index); - } - hydrateDirectory(resolvedP) { - const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); - if (index === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.registerListing(resolvedP); - this.registerEntry(resolvedP, index); - return index; - } - async linkPromise(existingP, newP) { - return this.linkSync(existingP, newP); - } - linkSync(existingP, newP) { - throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); - } - async symlinkPromise(target, p) { - return this.symlinkSync(target, p); - } - symlinkSync(target, p) { - if (this.readOnly) - throw EROFS(`symlink '${target}' -> '${p}'`); - const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`symlink '${target}' -> '${p}'`); - if (this.entries.has(resolvedP)) - throw EEXIST(`symlink '${target}' -> '${p}'`); - const index = this.setFileSource(resolvedP, target); - this.registerEntry(resolvedP, index); - const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (fs.constants.S_IFLNK | 511) << 16); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.symlinkCount += 1; - } - async readFilePromise(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - const data = await this.readFileBuffer(p, { asyncDecompress: true }); - return encoding ? data.toString(encoding) : data; - } - readFileSync(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - const data = this.readFileBuffer(p); - return encoding ? data.toString(encoding) : data; - } - readFileBuffer(p, opts = { asyncDecompress: false }) { - if (typeof p === `number`) - p = this.fdToPath(p, `read`); - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`open '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) - throw EISDIR(`read`); - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - return this.getFileSource(entry, opts); - } - async readdirPromise(p, opts) { - return this.readdirSync(p, opts); - } - readdirSync(p, opts) { - const resolvedP = this.resolveFilename(`scandir '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`scandir '${p}'`); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`scandir '${p}'`); - if (opts?.recursive) { - if (opts?.withFileTypes) { - const entries = Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: PortablePath.dot - }); - }); - for (const entry of entries) { - if (!entry.isDirectory()) - continue; - const subPath = ppath.join(entry.path, entry.name); - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - for (const child of subListing) { - entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { - name: child, - path: subPath - })); - } - } - return entries; - } else { - const entries = [...directoryListing]; - for (const subPath of entries) { - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - if (typeof subListing === `undefined`) - continue; - for (const child of subListing) { - entries.push(ppath.join(subPath, child)); - } - } - return entries; - } - } else if (opts?.withFileTypes) { - return Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: void 0 - }); - }); - } else { - return [...directoryListing]; - } - } - async readlinkPromise(p) { - const entry = this.prepareReadlink(p); - return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); - } - readlinkSync(p) { - const entry = this.prepareReadlink(p); - return this.getFileSource(entry).toString(); - } - prepareReadlink(p) { - const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`readlink '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) - throw EINVAL(`readlink '${p}'`); - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - if (!this.isSymbolicLink(entry)) - throw EINVAL(`readlink '${p}'`); - return entry; - } - async truncatePromise(p, len = 0) { - const resolvedP = this.resolveFilename(`open '${p}'`, p); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`open '${p}'`); - const source = await this.getFileSource(index, { asyncDecompress: true }); - const truncated = Buffer.alloc(len, 0); - source.copy(truncated); - return await this.writeFilePromise(p, truncated); - } - truncateSync(p, len = 0) { - const resolvedP = this.resolveFilename(`open '${p}'`, p); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`open '${p}'`); - const source = this.getFileSource(index); - const truncated = Buffer.alloc(len, 0); - source.copy(truncated); - return this.writeFileSync(p, truncated); - } - async ftruncatePromise(fd, len) { - return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); - } - ftruncateSync(fd, len) { - return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); - } - watch(p, a, b) { - let persistent; - switch (typeof a) { - case `function`: - case `string`: - case `undefined`: - { - persistent = true; - } - break; - default: - { - ({ persistent = true } = a); - } - break; - } - if (!persistent) - return { on: () => { - }, close: () => { - } }; - const interval = setInterval(() => { - }, 24 * 60 * 60 * 1e3); - return { on: () => { - }, close: () => { - clearInterval(interval); - } }; - } - watchFile(p, a, b) { - const resolvedP = ppath.resolve(PortablePath.root, p); - return watchFile(this, resolvedP, a, b); - } - unwatchFile(p, cb) { - const resolvedP = ppath.resolve(PortablePath.root, p); - return unwatchFile(this, resolvedP, cb); - } -} - -setFactory(() => { - const emZip = createModule(); - return makeInterface(emZip); -}); - -var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { - ErrorCode2["API_ERROR"] = `API_ERROR`; - ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; - ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; - ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; - ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; - ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; - ErrorCode2["INTERNAL"] = `INTERNAL`; - ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; - ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; - return ErrorCode2; -})(ErrorCode || {}); -const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ - "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, - "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, - "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, - "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, - "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ -]); -function makeError(pnpCode, message, data = {}, code) { - code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; - const propertySpec = { - configurable: true, - writable: true, - enumerable: false - }; - return Object.defineProperties(new Error(message), { - code: { - ...propertySpec, - value: code - }, - pnpCode: { - ...propertySpec, - value: pnpCode - }, - data: { - ...propertySpec, - value: data - } - }); -} -function getIssuerModule(parent) { - let issuer = parent; - while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) - issuer = issuer.parent; - return issuer || null; -} -function getPathForDisplay(p) { - return npath.normalize(npath.fromPortablePath(p)); -} - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; - -function readPackageScope(checkPath) { - const rootSeparatorIndex = checkPath.indexOf(npath.sep); - let separatorIndex; - do { - separatorIndex = checkPath.lastIndexOf(npath.sep); - checkPath = checkPath.slice(0, separatorIndex); - if (checkPath.endsWith(`${npath.sep}node_modules`)) - return false; - const pjson = readPackage(checkPath + npath.sep); - if (pjson) { - return { - data: pjson, - path: checkPath - }; - } - } while (separatorIndex > rootSeparatorIndex); - return false; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs__default.default.existsSync(jsonPath)) - return null; - return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); -} -function ERR_REQUIRE_ESM(filename, parentPath = null) { - const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); - const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. -Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; - const err = new Error(msg); - err.code = `ERR_REQUIRE_ESM`; - return err; -} -function reportRequiredFilesToWatchMode(files) { - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); - if (WATCH_MODE_MESSAGE_USES_ARRAYS) { - process.send({ "watch:require": files }); - } else { - for (const filename of files) { - process.send({ "watch:require": filename }); - } - } - } -} - -function applyPatch(pnpapi, opts) { - let enableNativeHooks = true; - process.versions.pnp = String(pnpapi.VERSIONS.std); - const moduleExports = require$$0__default.default; - moduleExports.findPnpApi = (lookupSource) => { - const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; - const apiPath = opts.manager.findApiPathFor(lookupPath); - if (apiPath === null) - return null; - const apiEntry = opts.manager.getApiEntry(apiPath, true); - return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; - }; - function getRequireStack(parent) { - const requireStack = []; - for (let cursor = parent; cursor; cursor = cursor.parent) - requireStack.push(cursor.filename || cursor.id); - return requireStack; - } - const originalModuleLoad = require$$0.Module._load; - require$$0.Module._load = function(request, parent, isMain) { - if (request === `pnpapi`) { - const parentApiPath = opts.manager.getApiPathFromParent(parent); - if (parentApiPath) { - return opts.manager.getApiEntry(parentApiPath, true).instance; - } - } - return originalModuleLoad.call(require$$0.Module, request, parent, isMain); - }; - function getIssuerSpecsFromPaths(paths) { - return paths.map((path) => ({ - apiPath: opts.manager.findApiPathFor(path), - path, - module: null - })); - } - function getIssuerSpecsFromModule(module) { - if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { - return [{ - apiPath: opts.manager.findApiPathFor(module.paths[0]), - path: module.paths[0], - module - }]; - } - const issuer = getIssuerModule(module); - if (issuer !== null) { - const path = npath.dirname(issuer.filename); - const apiPath = opts.manager.getApiPathFromParent(issuer); - return [{ apiPath, path, module }]; - } else { - const path = process.cwd(); - const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); - return [{ apiPath, path, module }]; - } - } - function makeFakeParent(path) { - const fakeParent = new require$$0.Module(``); - const fakeFilePath = npath.join(path, `[file]`); - fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); - return fakeParent; - } - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const originalModuleResolveFilename = require$$0.Module._resolveFilename; - require$$0.Module._resolveFilename = function(request, parent, isMain, options) { - if (require$$0.isBuiltin(request)) - return request; - if (!enableNativeHooks) - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); - if (options && options.plugnplay === false) { - const { plugnplay, ...forwardedOptions } = options; - try { - enableNativeHooks = false; - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); - } finally { - enableNativeHooks = true; - } - } - if (options) { - const optionNames = new Set(Object.keys(options)); - optionNames.delete(`paths`); - optionNames.delete(`plugnplay`); - if (optionNames.size > 0) { - throw makeError( - ErrorCode.UNSUPPORTED, - `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` - ); - } - } - const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); - if (request.match(pathRegExp) === null) { - const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; - const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; - if (absoluteRequest !== null) { - const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); - if (apiPath !== null) { - issuerSpecs.unshift({ - apiPath, - path: parentDirectory, - module: null - }); - } - } - } - let firstError; - for (const { apiPath, path, module } of issuerSpecs) { - let resolution; - const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; - try { - if (issuerApi !== null) { - resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); - } else { - if (path === null) - throw new Error(`Assertion failed: Expected the path to be set`); - resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); - } - } catch (error) { - firstError = firstError || error; - continue; - } - if (resolution !== null) { - return resolution; - } - } - const requireStack = getRequireStack(parent); - Object.defineProperty(firstError, `requireStack`, { - configurable: true, - writable: true, - enumerable: false, - value: requireStack - }); - if (requireStack.length > 0) - firstError.message += ` -Require stack: -- ${requireStack.join(` -- `)}`; - if (typeof firstError.pnpCode === `string`) - Error.captureStackTrace(firstError); - throw firstError; - }; - const originalFindPath = require$$0.Module._findPath; - require$$0.Module._findPath = function(request, paths, isMain) { - if (request === `pnpapi`) - return false; - if (!enableNativeHooks) - return originalFindPath.call(require$$0.Module, request, paths, isMain); - const isAbsolute = npath.isAbsolute(request); - if (isAbsolute) - paths = [``]; - else if (!paths || paths.length === 0) - return false; - for (const path of paths) { - let resolution; - try { - const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); - if (pnpApiPath !== null) { - const api = opts.manager.getApiEntry(pnpApiPath, true).instance; - resolution = api.resolveRequest(request, path) || false; - } else { - resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); - } - } catch (error) { - continue; - } - if (resolution) { - return resolution; - } - } - return false; - }; - const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; - require$$0.Module._extensions[`.js`] = function(module, filename) { - if (filename.endsWith(`.js`)) { - const pkg = readPackageScope(filename); - if (pkg && pkg.data?.type === `module`) { - const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); - Error.captureStackTrace(err); - throw err; - } - } - originalExtensionJSFunction.call(this, module, filename); - }; - const originalDlopen = process.dlopen; - process.dlopen = function(...args) { - const [module, filename, ...rest] = args; - return originalDlopen.call( - this, - module, - npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), - ...rest - ); - }; - const originalEmit = process.emit; - process.emit = function(name, data, ...args) { - if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) - return false; - return originalEmit.apply(process, arguments); - }; - patchFs(fs__default.default, new PosixFS(opts.fakeFs)); -} - -function hydrateRuntimeState(data, { basePath }) { - const portablePath = npath.toPortablePath(basePath); - const absolutePortablePath = ppath.resolve(portablePath); - const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; - const packageLocatorsByLocations = /* @__PURE__ */ new Map(); - const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { - return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { - if (packageName === null !== (packageReference === null)) - throw new Error(`Assertion failed: The name and reference should be null, or neither should`); - const discardFromLookup = packageInformationData.discardFromLookup ?? false; - const packageLocator = { name: packageName, reference: packageReference }; - const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); - if (!entry) { - packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); - } else { - entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; - if (!discardFromLookup) { - entry.locator = packageLocator; - } - } - let resolvedPackageLocation = null; - return [packageReference, { - packageDependencies: new Map(packageInformationData.packageDependencies), - packagePeers: new Set(packageInformationData.packagePeers), - linkType: packageInformationData.linkType, - discardFromLookup, - get packageLocation() { - return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); - } - }]; - }))]; - })); - const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { - return [packageName, new Set(packageReferences)]; - })); - const fallbackPool = new Map(data.fallbackPool); - const dependencyTreeRoots = data.dependencyTreeRoots; - const enableTopLevelFallback = data.enableTopLevelFallback; - return { - basePath: portablePath, - dependencyTreeRoots, - enableTopLevelFallback, - fallbackExclusionList, - fallbackPool, - ignorePattern, - packageLocatorsByLocations, - packageRegistry - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert__default.default(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); -const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( - "ERR_PACKAGE_PATH_NOT_EXPORTED", - (pkgPath, subpath, base = void 0) => { - if (subpath === ".") - return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - url.fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = url.fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), - url.fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && url.fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && url.fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") - return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) - return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) - continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) - return -1; - if (baseLenB > baseLenA) - return 1; - if (aPatternIndex === -1) - return 1; - if (bPatternIndex === -1) - return -1; - if (a.length > b.length) - return -1; - if (b.length > a.length) - return 1; - return 0; -} -function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { - if (typeof exports === "string" || ArrayIsArray(exports)) - return true; - if (typeof exports !== "object" || exports === null) - return false; - const keys = ObjectGetOwnPropertyNames(exports); - let isConditionalSugar = false; - let i = 0; - for (let j = 0; j < keys.length; j++) { - const key = keys[j]; - const curIsConditionalSugar = key === "" || key[0] !== "."; - if (i++ === 0) { - isConditionalSugar = curIsConditionalSugar; - } else if (isConditionalSugar !== curIsConditionalSugar) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` - ); - } - } - return isConditionalSugar; -} -function throwExportsNotFound(subpath, packageJSONUrl, base) { - throw new ERR_PACKAGE_PATH_NOT_EXPORTED( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - base && url.fileURLToPath(base) - ); -} -const emittedPackageWarnings = /* @__PURE__ */ new Set(); -function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { - const pjsonPath = url.fileURLToPath(pjsonUrl); - if (emittedPackageWarnings.has(pjsonPath + "|" + match)) - return; - emittedPackageWarnings.add(pjsonPath + "|" + match); - process.emitWarning( - `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, - "DeprecationWarning", - "DEP0155" - ); -} -function packageExportsResolve({ - packageJSONUrl, - packageSubpath, - exports, - base, - conditions -}) { - if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) - exports = { ".": exports }; - if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { - const target = exports[packageSubpath]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - "", - packageSubpath, - base, - false, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(exports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - packageSubpath, - StringPrototypeSlice(key, 0, patternIndex) - )) { - if (StringPrototypeEndsWith(packageSubpath, "/")) - emitTrailingSlashPatternDeprecation( - packageSubpath, - packageJSONUrl, - base - ); - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - packageSubpath, - patternIndex, - packageSubpath.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = exports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - throwExportsNotFound(packageSubpath, packageJSONUrl, base); -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -const flagSymbol = Symbol('arg flag'); - -class ArgError extends Error { - constructor(msg, code) { - super(msg); - this.name = 'ArgError'; - this.code = code; - - Object.setPrototypeOf(this, ArgError.prototype); - } -} - -function arg( - opts, - { - argv = process.argv.slice(2), - permissive = false, - stopAtPositional = false - } = {} -) { - if (!opts) { - throw new ArgError( - 'argument specification object is required', - 'ARG_CONFIG_NO_SPEC' - ); - } - - const result = { _: [] }; - - const aliases = {}; - const handlers = {}; - - for (const key of Object.keys(opts)) { - if (!key) { - throw new ArgError( - 'argument key cannot be an empty string', - 'ARG_CONFIG_EMPTY_KEY' - ); - } - - if (key[0] !== '-') { - throw new ArgError( - `argument key must start with '-' but found: '${key}'`, - 'ARG_CONFIG_NONOPT_KEY' - ); - } - - if (key.length === 1) { - throw new ArgError( - `argument key must have a name; singular '-' keys are not allowed: ${key}`, - 'ARG_CONFIG_NONAME_KEY' - ); - } - - if (typeof opts[key] === 'string') { - aliases[key] = opts[key]; - continue; - } - - let type = opts[key]; - let isFlag = false; - - if ( - Array.isArray(type) && - type.length === 1 && - typeof type[0] === 'function' - ) { - const [fn] = type; - type = (value, name, prev = []) => { - prev.push(fn(value, name, prev[prev.length - 1])); - return prev; - }; - isFlag = fn === Boolean || fn[flagSymbol] === true; - } else if (typeof type === 'function') { - isFlag = type === Boolean || type[flagSymbol] === true; - } else { - throw new ArgError( - `type missing or not a function or valid array type: ${key}`, - 'ARG_CONFIG_VAD_TYPE' - ); - } - - if (key[1] !== '-' && key.length > 2) { - throw new ArgError( - `short argument keys (with a single hyphen) must have only one character: ${key}`, - 'ARG_CONFIG_SHORTOPT_TOOLONG' - ); - } - - handlers[key] = [type, isFlag]; - } - - for (let i = 0, len = argv.length; i < len; i++) { - const wholeArg = argv[i]; - - if (stopAtPositional && result._.length > 0) { - result._ = result._.concat(argv.slice(i)); - break; - } - - if (wholeArg === '--') { - result._ = result._.concat(argv.slice(i + 1)); - break; - } - - if (wholeArg.length > 1 && wholeArg[0] === '-') { - /* eslint-disable operator-linebreak */ - const separatedArguments = - wholeArg[1] === '-' || wholeArg.length === 2 - ? [wholeArg] - : wholeArg - .slice(1) - .split('') - .map((a) => `-${a}`); - /* eslint-enable operator-linebreak */ - - for (let j = 0; j < separatedArguments.length; j++) { - const arg = separatedArguments[j]; - const [originalArgName, argStr] = - arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; - - let argName = originalArgName; - while (argName in aliases) { - argName = aliases[argName]; - } - - if (!(argName in handlers)) { - if (permissive) { - result._.push(arg); - continue; - } else { - throw new ArgError( - `unknown or unexpected option: ${originalArgName}`, - 'ARG_UNKNOWN_OPTION' - ); - } - } - - const [type, isFlag] = handlers[argName]; - - if (!isFlag && j + 1 < separatedArguments.length) { - throw new ArgError( - `option requires argument (but was followed by another short argument): ${originalArgName}`, - 'ARG_MISSING_REQUIRED_SHORTARG' - ); - } - - if (isFlag) { - result[argName] = type(true, argName, result[argName]); - } else if (argStr === undefined) { - if ( - argv.length < i + 2 || - (argv[i + 1].length > 1 && - argv[i + 1][0] === '-' && - !( - argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && - (type === Number || - // eslint-disable-next-line no-undef - (typeof BigInt !== 'undefined' && type === BigInt)) - )) - ) { - const extended = - originalArgName === argName ? '' : ` (alias for ${argName})`; - throw new ArgError( - `option requires argument: ${originalArgName}${extended}`, - 'ARG_MISSING_REQUIRED_LONGARG' - ); - } - - result[argName] = type(argv[i + 1], argName, result[argName]); - ++i; - } else { - result[argName] = type(argStr, argName, result[argName]); - } - } - } else { - result._.push(wholeArg); - } - } - - return result; -} - -arg.flag = (fn) => { - fn[flagSymbol] = true; - return fn; -}; - -// Utility types -arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); - -// Expose error class -arg.ArgError = ArgError; - -var arg_1 = arg; - -/** - @license - The MIT License (MIT) - - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ -function getOptionValue(opt) { - parseOptions(); - return options[opt]; -} -let options; -function parseOptions() { - if (!options) { - options = { - "--conditions": [], - ...parseArgv(getNodeOptionsEnvArgv()), - ...parseArgv(process.execArgv) - }; - } -} -function parseArgv(argv) { - return arg_1( - { - "--conditions": [String], - "-C": "--conditions" - }, - { - argv, - permissive: true - } - ); -} -function getNodeOptionsEnvArgv() { - const errors = []; - const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); - if (errors.length !== 0) ; - return envArgv; -} -function ParseNodeOptionsEnvVar(node_options, errors) { - const env_argv = []; - let is_in_string = false; - let will_start_new_arg = true; - for (let index = 0; index < node_options.length; ++index) { - let c = node_options[index]; - if (c === "\\" && is_in_string) { - if (index + 1 === node_options.length) { - errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); - return env_argv; - } else { - c = node_options[++index]; - } - } else if (c === " " && !is_in_string) { - will_start_new_arg = true; - continue; - } else if (c === '"') { - is_in_string = !is_in_string; - continue; - } - if (will_start_new_arg) { - env_argv.push(c); - will_start_new_arg = false; - } else { - env_argv[env_argv.length - 1] += c; - } - } - if (is_in_string) { - errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); - } - return env_argv; -} - -function makeApi(runtimeState, opts) { - const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; - const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; - const isDirRegExp = /\/$/; - const isRelativeRegexp = /^\.{0,2}\//; - const topLevelLocator = { name: null, reference: null }; - const fallbackLocators = []; - const emittedWarnings = /* @__PURE__ */ new Set(); - if (runtimeState.enableTopLevelFallback === true) - fallbackLocators.push(topLevelLocator); - if (opts.compatibilityMode !== false) { - for (const name of [`react-scripts`, `gatsby`]) { - const packageStore = runtimeState.packageRegistry.get(name); - if (packageStore) { - for (const reference of packageStore.keys()) { - if (reference === null) { - throw new Error(`Assertion failed: This reference shouldn't be null`); - } else { - fallbackLocators.push({ name, reference }); - } - } - } - } - } - const { - ignorePattern, - packageRegistry, - packageLocatorsByLocations - } = runtimeState; - function makeLogEntry(name, args) { - return { - fn: name, - args, - error: null, - result: null - }; - } - function trace(entry) { - const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; - const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; - const error = entry.error; - if (error) - console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); - else - console.error(c(`33;1`, `\u203C Resolution`)); - if (entry.args.length > 0) - console.error(); - for (const arg of entry.args) - console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); - if (entry.result) { - console.error(); - console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); - } - const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; - if (stack.length > 0) { - console.error(); - for (const line of stack) { - console.error(` ${c(`38;5;244`, line)}`); - } - } - console.error(); - } - function maybeLog(name, fn) { - if (opts.allowDebug === false) - return fn; - if (Number.isFinite(debugLevel)) { - if (debugLevel >= 2) { - return (...args) => { - const logEntry = makeLogEntry(name, args); - try { - return logEntry.result = fn(...args); - } catch (error) { - throw logEntry.error = error; - } finally { - trace(logEntry); - } - }; - } else if (debugLevel >= 1) { - return (...args) => { - try { - return fn(...args); - } catch (error) { - const logEntry = makeLogEntry(name, args); - logEntry.error = error; - trace(logEntry); - throw error; - } - }; - } - } - return fn; - } - function getPackageInformationSafe(packageLocator) { - const packageInformation = getPackageInformation(packageLocator); - if (!packageInformation) { - throw makeError( - ErrorCode.INTERNAL, - `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` - ); - } - return packageInformation; - } - function isDependencyTreeRoot(packageLocator) { - if (packageLocator.name === null) - return true; - for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) - if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) - return true; - return false; - } - const defaultExportsConditions = /* @__PURE__ */ new Set([ - `node`, - `require`, - ...getOptionValue(`--conditions`) - ]); - function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { - const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { - resolveIgnored: true, - includeDiscardFromLookup: true - }); - if (locator === null) { - throw makeError( - ErrorCode.INTERNAL, - `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` - ); - } - const { packageLocation } = getPackageInformationSafe(locator); - const manifestPath = ppath.join(packageLocation, Filename.manifest); - if (!opts.fakeFs.existsSync(manifestPath)) - return null; - const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); - if (pkgJson.exports == null) - return null; - let subpath = ppath.contains(packageLocation, unqualifiedPath); - if (subpath === null) { - throw makeError( - ErrorCode.INTERNAL, - `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` - ); - } - if (subpath !== `.` && !isRelativeRegexp.test(subpath)) - subpath = `./${subpath}`; - try { - const resolvedExport = packageExportsResolve({ - packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), - packageSubpath: subpath, - exports: pkgJson.exports, - base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, - conditions - }); - return npath.toPortablePath(url.fileURLToPath(resolvedExport)); - } catch (error) { - throw makeError( - ErrorCode.EXPORTS_RESOLUTION_FAILED, - error.message, - { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, - error.code - ); - } - } - function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { - let stat; - try { - candidates.push(unqualifiedPath); - stat = opts.fakeFs.statSync(unqualifiedPath); - } catch (error) { - } - if (stat && !stat.isDirectory()) - return opts.fakeFs.realpathSync(unqualifiedPath); - if (stat && stat.isDirectory()) { - let pkgJson; - try { - pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); - } catch (error) { - } - let nextUnqualifiedPath; - if (pkgJson && pkgJson.main) - nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); - if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { - const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); - if (resolution !== null) { - return resolution; - } - } - } - for (let i = 0, length = extensions.length; i < length; i++) { - const candidateFile = `${unqualifiedPath}${extensions[i]}`; - candidates.push(candidateFile); - if (opts.fakeFs.existsSync(candidateFile)) { - return candidateFile; - } - } - if (stat && stat.isDirectory()) { - for (let i = 0, length = extensions.length; i < length; i++) { - const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); - candidates.push(candidateFile); - if (opts.fakeFs.existsSync(candidateFile)) { - return candidateFile; - } - } - } - return null; - } - function makeFakeModule(path) { - const fakeModule = new require$$0.Module(path, null); - fakeModule.filename = path; - fakeModule.paths = require$$0.Module._nodeModulePaths(path); - return fakeModule; - } - function callNativeResolution(request, issuer) { - if (issuer.endsWith(`/`)) - issuer = ppath.join(issuer, `internal.js`); - return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); - } - function isPathIgnored(path) { - if (ignorePattern === null) - return false; - const subPath = ppath.contains(runtimeState.basePath, path); - if (subPath === null) - return false; - if (ignorePattern.test(subPath.replace(/\/$/, ``))) { - return true; - } else { - return false; - } - } - const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; - const topLevel = topLevelLocator; - function getPackageInformation({ name, reference }) { - const packageInformationStore = packageRegistry.get(name); - if (!packageInformationStore) - return null; - const packageInformation = packageInformationStore.get(reference); - if (!packageInformation) - return null; - return packageInformation; - } - function findPackageDependents({ name, reference }) { - const dependents = []; - for (const [dependentName, packageInformationStore] of packageRegistry) { - if (dependentName === null) - continue; - for (const [dependentReference, packageInformation] of packageInformationStore) { - if (dependentReference === null) - continue; - const dependencyReference = packageInformation.packageDependencies.get(name); - if (dependencyReference !== reference) - continue; - if (dependentName === name && dependentReference === reference) - continue; - dependents.push({ - name: dependentName, - reference: dependentReference - }); - } - } - return dependents; - } - function findBrokenPeerDependencies(dependency, initialPackage) { - const brokenPackages = /* @__PURE__ */ new Map(); - const alreadyVisited = /* @__PURE__ */ new Set(); - const traversal = (currentPackage) => { - const identifier = JSON.stringify(currentPackage.name); - if (alreadyVisited.has(identifier)) - return; - alreadyVisited.add(identifier); - const dependents = findPackageDependents(currentPackage); - for (const dependent of dependents) { - const dependentInformation = getPackageInformationSafe(dependent); - if (dependentInformation.packagePeers.has(dependency)) { - traversal(dependent); - } else { - let brokenSet = brokenPackages.get(dependent.name); - if (typeof brokenSet === `undefined`) - brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); - brokenSet.add(dependent.reference); - } - } - }; - traversal(initialPackage); - const brokenList = []; - for (const name of [...brokenPackages.keys()].sort()) - for (const reference of [...brokenPackages.get(name)].sort()) - brokenList.push({ name, reference }); - return brokenList; - } - function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { - if (isPathIgnored(location) && !resolveIgnored) - return null; - let relativeLocation = ppath.relative(runtimeState.basePath, location); - if (!relativeLocation.match(isStrictRegExp)) - relativeLocation = `./${relativeLocation}`; - if (!relativeLocation.endsWith(`/`)) - relativeLocation = `${relativeLocation}/`; - do { - const entry = packageLocatorsByLocations.get(relativeLocation); - if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { - relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); - continue; - } - return entry.locator; - } while (relativeLocation !== ``); - return null; - } - function tryReadFile(filePath) { - try { - return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } - } - function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { - if (request.startsWith(`#`)) - throw new Error(`resolveToUnqualified can not handle private import mappings`); - if (request === `pnpapi`) - return npath.toPortablePath(opts.pnpapiResolution); - if (considerBuiltins && require$$0.isBuiltin(request)) - return null; - const requestForDisplay = getPathForDisplay(request); - const issuerForDisplay = issuer && getPathForDisplay(issuer); - if (issuer && isPathIgnored(issuer)) { - if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw makeError( - ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, - `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - } - let unqualifiedPath; - const dependencyNameMatch = request.match(pathRegExp); - if (!dependencyNameMatch) { - if (ppath.isAbsolute(request)) { - unqualifiedPath = ppath.normalize(request); - } else { - if (!issuer) { - throw makeError( - ErrorCode.API_ERROR, - `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - const absoluteIssuer = ppath.resolve(issuer); - if (issuer.match(isDirRegExp)) { - unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); - } else { - unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); - } - } - } else { - if (!issuer) { - throw makeError( - ErrorCode.API_ERROR, - `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - const [, dependencyName, subPath] = dependencyNameMatch; - const issuerLocator = findPackageLocator(issuer); - if (!issuerLocator) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw makeError( - ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, - `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - const issuerInformation = getPackageInformationSafe(issuerLocator); - let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); - let fallbackReference = null; - if (dependencyReference == null) { - if (issuerLocator.name !== null) { - const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); - const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); - if (canUseFallbacks) { - for (let t = 0, T = fallbackLocators.length; t < T; ++t) { - const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); - const reference = fallbackInformation.packageDependencies.get(dependencyName); - if (reference == null) - continue; - if (alwaysWarnOnFallback) - fallbackReference = reference; - else - dependencyReference = reference; - break; - } - if (runtimeState.enableTopLevelFallback) { - if (dependencyReference == null && fallbackReference === null) { - const reference = runtimeState.fallbackPool.get(dependencyName); - if (reference != null) { - fallbackReference = reference; - } - } - } - } - } - } - let error = null; - if (dependencyReference === null) { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); - if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } else { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) - -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } - } - } else if (dependencyReference === void 0) { - if (!considerBuiltins && require$$0.isBuiltin(request)) { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } - ); - } - } else { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } - ); - } - } - } - if (dependencyReference == null) { - if (fallbackReference === null || error === null) - throw error || new Error(`Assertion failed: Expected an error to have been set`); - dependencyReference = fallbackReference; - const message = error.message.replace(/\n.*/g, ``); - error.message = message; - if (!emittedWarnings.has(message) && debugLevel !== 0) { - emittedWarnings.add(message); - process.emitWarning(error); - } - } - const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; - const dependencyInformation = getPackageInformationSafe(dependencyLocator); - if (!dependencyInformation.packageLocation) { - throw makeError( - ErrorCode.MISSING_DEPENDENCY, - `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } - ); - } - const dependencyLocation = dependencyInformation.packageLocation; - if (subPath) { - unqualifiedPath = ppath.join(dependencyLocation, subPath); - } else { - unqualifiedPath = dependencyLocation; - } - } - return ppath.normalize(unqualifiedPath); - } - function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { - if (isStrictRegExp.test(request)) - return unqualifiedPath; - const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); - if (unqualifiedExportPath) { - return ppath.normalize(unqualifiedExportPath); - } else { - return unqualifiedPath; - } - } - function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { - const candidates = []; - const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); - if (qualifiedPath) { - return ppath.normalize(qualifiedPath); - } else { - reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); - const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); - const containingPackage = findPackageLocator(unqualifiedPath); - if (containingPackage) { - const { packageLocation } = getPackageInformationSafe(containingPackage); - let exists = true; - try { - opts.fakeFs.accessSync(packageLocation); - } catch (err) { - if (err?.code === `ENOENT`) { - exists = false; - } else { - const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); - throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); - } - } - if (!exists) { - const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; - throw makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `${errorMessage} - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - throw makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `Qualified path resolution failed: we looked for the following paths, but none could be accessed. - -Source path: ${unqualifiedPathForDisplay} -${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} -`).join(``)}`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - function resolvePrivateRequest(request, issuer, opts2) { - if (!issuer) - throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); - const resolved = packageImportsResolve({ - name: request, - base: url.pathToFileURL(npath.fromPortablePath(issuer)), - conditions: opts2.conditions ?? defaultExportsConditions, - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolveRequest(resolved, issuer, opts2); - } - } - function resolveRequest(request, issuer, opts2 = {}) { - try { - if (request.startsWith(`#`)) - return resolvePrivateRequest(request, issuer, opts2); - const { considerBuiltins, extensions, conditions } = opts2; - const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); - if (request === `pnpapi`) - return unqualifiedPath; - if (unqualifiedPath === null) - return null; - const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; - const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; - return resolveUnqualified(remappedPath, { extensions }); - } catch (error) { - if (Object.hasOwn(error, `pnpCode`)) - Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); - throw error; - } - } - function resolveVirtual(request) { - const normalized = ppath.normalize(request); - const resolved = VirtualFS.resolveVirtual(normalized); - return resolved !== normalized ? resolved : null; - } - return { - VERSIONS, - topLevel, - getLocator: (name, referencish) => { - if (Array.isArray(referencish)) { - return { name: referencish[0], reference: referencish[1] }; - } else { - return { name, reference: referencish }; - } - }, - getDependencyTreeRoots: () => { - return [...runtimeState.dependencyTreeRoots]; - }, - getAllLocators() { - const locators = []; - for (const [name, entry] of packageRegistry) - for (const reference of entry.keys()) - if (name !== null && reference !== null) - locators.push({ name, reference }); - return locators; - }, - getPackageInformation: (locator) => { - const info = getPackageInformation(locator); - if (info === null) - return null; - const packageLocation = npath.fromPortablePath(info.packageLocation); - const nativeInfo = { ...info, packageLocation }; - return nativeInfo; - }, - findPackageLocator: (path) => { - return findPackageLocator(npath.toPortablePath(path)); - }, - resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); - if (resolution === null) - return null; - return npath.fromPortablePath(resolution); - }), - resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { - return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); - }), - resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); - if (resolution === null) - return null; - return npath.fromPortablePath(resolution); - }), - resolveVirtual: maybeLog(`resolveVirtual`, (path) => { - const result = resolveVirtual(npath.toPortablePath(path)); - if (result !== null) { - return npath.fromPortablePath(result); - } else { - return null; - } - }) - }; -} - -function makeManager(pnpapi, opts) { - const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); - const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); - const apiMetadata = /* @__PURE__ */ new Map([ - [initialApiPath, { - instance: pnpapi, - stats: initialApiStats, - lastRefreshCheck: Date.now() - }] - ]); - function loadApiInstance(pnpApiPath) { - const nativePath = npath.fromPortablePath(pnpApiPath); - const module = new require$$0.Module(nativePath, null); - module.load(nativePath); - return module.exports; - } - function refreshApiEntry(pnpApiPath, apiEntry) { - const timeNow = Date.now(); - if (timeNow - apiEntry.lastRefreshCheck < 500) - return; - apiEntry.lastRefreshCheck = timeNow; - const stats = opts.fakeFs.statSync(pnpApiPath); - if (stats.mtime > apiEntry.stats.mtime) { - process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); - apiEntry.stats = stats; - apiEntry.instance = loadApiInstance(pnpApiPath); - } - } - function getApiEntry(pnpApiPath, refresh = false) { - let apiEntry = apiMetadata.get(pnpApiPath); - if (typeof apiEntry !== `undefined`) { - if (refresh) { - refreshApiEntry(pnpApiPath, apiEntry); - } - } else { - apiMetadata.set(pnpApiPath, apiEntry = { - instance: loadApiInstance(pnpApiPath), - stats: opts.fakeFs.statSync(pnpApiPath), - lastRefreshCheck: Date.now() - }); - } - return apiEntry; - } - const findApiPathCache = /* @__PURE__ */ new Map(); - function addToCacheAndReturn(start, end, target) { - if (target !== null) { - target = VirtualFS.resolveVirtual(target); - target = opts.fakeFs.realpathSync(target); - } - let curr; - let next = start; - do { - curr = next; - findApiPathCache.set(curr, target); - next = ppath.dirname(curr); - } while (curr !== end); - return target; - } - function findApiPathFor(modulePath) { - let bestCandidate = null; - for (const [apiPath, apiEntry] of apiMetadata) { - const locator = apiEntry.instance.findPackageLocator(modulePath); - if (!locator) - continue; - if (apiMetadata.size === 1) - return apiPath; - const packageInformation = apiEntry.instance.getPackageInformation(locator); - if (!packageInformation) - throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); - if (!bestCandidate) - bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; - if (packageInformation.packageLocation === bestCandidate.packageLocation) { - bestCandidate.apiPaths.push(apiPath); - } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { - bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; - } - } - if (bestCandidate) { - if (bestCandidate.apiPaths.length === 1) - return bestCandidate.apiPaths[0]; - const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` -`); - throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. -This is usually caused by using the global cache (enableGlobalCache: true) - -Controlled by: -${controlSegment} -`); - } - const start = ppath.resolve(npath.toPortablePath(modulePath)); - let curr; - let next = start; - do { - curr = next; - const cached = findApiPathCache.get(curr); - if (cached !== void 0) - return addToCacheAndReturn(start, curr, cached); - const cjsCandidate = ppath.join(curr, Filename.pnpCjs); - if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) - return addToCacheAndReturn(start, curr, cjsCandidate); - const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); - if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) - return addToCacheAndReturn(start, curr, legacyCjsCandidate); - next = ppath.dirname(curr); - } while (curr !== PortablePath.root); - return addToCacheAndReturn(start, curr, null); - } - const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); - function getApiPathFromParent(parent) { - if (parent == null) - return initialApiPath; - let apiPath = moduleToApiPathCache.get(parent); - if (typeof apiPath !== `undefined`) - return apiPath; - apiPath = parent.filename ? findApiPathFor(parent.filename) : null; - moduleToApiPathCache.set(parent, apiPath); - return apiPath; - } - return { - getApiPathFromParent, - findApiPathFor, - getApiEntry - }; -} - -const localFs = { ...fs__default.default }; -const nodeFs = new NodeFS(localFs); -const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); -const defaultPnpapiResolution = __filename; -const defaultFsLayer = new VirtualFS({ - baseFs: new ZipOpenFS({ - baseFs: nodeFs, - maxOpenFiles: 80, - readOnlyArchives: true - }) -}); -class DynamicFS extends ProxiedFS { - constructor() { - super(ppath); - this.baseFs = defaultFsLayer; - } - mapToBase(p) { - return p; - } - mapFromBase(p) { - return p; - } -} -const dynamicFsLayer = new DynamicFS(); -let manager; -const defaultApi = Object.assign(makeApi(defaultRuntimeState, { - fakeFs: dynamicFsLayer, - pnpapiResolution: defaultPnpapiResolution -}), { - makeApi: ({ - basePath = void 0, - fakeFs = dynamicFsLayer, - pnpapiResolution = defaultPnpapiResolution, - ...rest - }) => { - const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; - return makeApi(apiRuntimeState, { - fakeFs, - pnpapiResolution, - ...rest - }); - }, - setup: (api) => { - applyPatch(api || defaultApi, { - fakeFs: defaultFsLayer, - manager - }); - dynamicFsLayer.baseFs = new NodeFS(fs__default.default); - } -}); -manager = makeManager(defaultApi, { - fakeFs: dynamicFsLayer -}); -if (module.parent && module.parent.id === `internal/preload`) { - defaultApi.setup(); - if (module.filename) { - delete require$$0__default.default._cache[module.filename]; - } -} -if (process.mainModule === module) { - const reportError = (code, message, data) => { - process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} -`); - }; - const reportSuccess = (resolution) => { - process.stdout.write(`${JSON.stringify([null, resolution])} -`); - }; - const processResolution = (request, issuer) => { - try { - reportSuccess(defaultApi.resolveRequest(request, issuer)); - } catch (error) { - reportError(error.code, error.message, error.data); - } - }; - const processRequest = (data) => { - try { - const [request, issuer] = JSON.parse(data); - processResolution(request, issuer); - } catch (error) { - reportError(`INVALID_JSON`, error.message, error.data); - } - }; - if (process.argv.length > 2) { - if (process.argv.length !== 4) { - process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} -`); - process.exitCode = 64; - } else { - processResolution(process.argv[2], process.argv[3]); - } - } else { - let buffer = ``; - const decoder = new StringDecoder__default.default.StringDecoder(); - process.stdin.on(`data`, (chunk) => { - buffer += decoder.write(chunk); - do { - const index = buffer.indexOf(` -`); - if (index === -1) - break; - const line = buffer.slice(0, index); - buffer = buffer.slice(index + 1); - processRequest(line); - } while (true); - }); - } -} - -module.exports = defaultApi; diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs deleted file mode 100644 index 81ae9a6b2..000000000 --- a/.pnp.loader.mjs +++ /dev/null @@ -1,2076 +0,0 @@ -import fs from 'fs'; -import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; -import path from 'path'; -import { createHash } from 'crypto'; -import { EOL } from 'os'; -import moduleExports, { isBuiltin } from 'module'; -import assert from 'assert'; - -const SAFE_TIME = 456789e3; - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const npath = Object.create(path); -const ppath = Object.create(path.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path.posix.resolve(...segments); - } else { - return path.posix.resolve(ppath.cwd(), ...segments); - } - }; -} -const contains = function(pathUtils, from, to) { - from = pathUtils.normalize(from); - to = pathUtils.normalize(to); - if (from === to) - return `.`; - if (!from.endsWith(pathUtils.sep)) - from = from + pathUtils.sep; - if (to.startsWith(from)) { - return to.slice(from.length); - } else { - return null; - } -}; -npath.contains = (from, to) => contains(npath, from, to); -ppath.contains = (from, to) => contains(ppath, from, to); -const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; -const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; -const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; -const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; -function fromPortablePathWin32(p) { - let portablePathMatch, uncPortablePathMatch; - if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) - p = portablePathMatch[1]; - else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) - p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; - else - return p; - return p.replace(/\//g, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - let windowsPathMatch, uncWindowsPathMatch; - if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) - p = `/${windowsPathMatch[1]}`; - else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) - p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; - return p; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -async function copyPromise(destinationFs, destination, sourceFs, source, opts) { - const normalizedDestination = destinationFs.pathUtils.normalize(destination); - const normalizedSource = sourceFs.pathUtils.normalize(source); - const prelayout = []; - const postlayout = []; - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null && !destinationStat.isDirectory()) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - let updated = false; - if (destinationStat === null) { - prelayout.push(async () => { - try { - await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); - } catch (err) { - if (err.code !== `EEXIST`) { - throw err; - } - } - }); - updated = true; - } - const entries = await sourceFs.readdirPromise(source); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); - }); - return true; -} - -class FakeFS { - constructor(pathUtils) { - this.pathUtils = pathUtils; - } - async *genTraversePromise(init, { stableSort = false } = {}) { - const stack = [init]; - while (stack.length > 0) { - const p = stack.shift(); - const entry = await this.lstatPromise(p); - if (entry.isDirectory()) { - const entries = await this.readdirPromise(p); - if (stableSort) { - for (const entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { - let stat; - try { - stat = await this.lstatPromise(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) { - const entries = await this.readdirPromise(p); - await Promise.all(entries.map((entry) => { - return this.removePromise(this.pathUtils.resolve(p, entry)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } else { - await this.unlinkPromise(p); - } - } - removeSync(p, { recursive = true } = {}) { - let stat; - try { - stat = this.lstatSync(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) - for (const entry of this.readdirSync(p)) - this.removeSync(this.pathUtils.resolve(p, entry)); - this.rmdirSync(p); - } else { - this.unlinkSync(p); - } - } - async mkdirpPromise(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - await this.mkdirPromise(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - await this.chmodPromise(subPath, chmod); - if (utimes != null) { - await this.utimesPromise(subPath, utimes[0], utimes[1]); - } else { - const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); - await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - this.mkdirSync(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - this.chmodSync(subPath, chmod); - if (utimes != null) { - this.utimesSync(subPath, utimes[0], utimes[1]); - } else { - const parentStat = this.statSync(this.pathUtils.dirname(subPath)); - this.utimesSync(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { - return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); - } - copySync(destination, source, { baseFs = this, overwrite = true } = {}) { - const stat = baseFs.lstatSync(source); - const exists = this.existsSync(destination); - if (stat.isDirectory()) { - this.mkdirpSync(destination); - const directoryListing = baseFs.readdirSync(source); - for (const entry of directoryListing) { - this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); - } - } else if (stat.isFile()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const content = baseFs.readFileSync(source); - this.writeFileSync(destination, content); - } - } else if (stat.isSymbolicLink()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const target = baseFs.readlinkSync(source); - this.symlinkSync(convertPath(this.pathUtils, target), destination); - } - } else { - throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); - } - const mode = stat.mode & 511; - this.chmodSync(destination, mode); - } - async changeFilePromise(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferPromise(p, content, opts); - } else { - return this.changeFileTextPromise(p, content, opts); - } - } - async changeFileBufferPromise(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = await this.readFilePromise(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - await this.writeFilePromise(p, content, { mode }); - } - async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { - let current = ``; - try { - current = await this.readFilePromise(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - await this.writeFilePromise(p, normalizedContent, { mode }); - } - changeFileSync(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferSync(p, content, opts); - } else { - return this.changeFileTextSync(p, content, opts); - } - } - changeFileBufferSync(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = this.readFileSync(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - this.writeFileSync(p, content, { mode }); - } - changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { - let current = ``; - try { - current = this.readFileSync(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - this.writeFileSync(p, normalizedContent, { mode }); - } - async movePromise(fromP, toP) { - try { - await this.renamePromise(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - await this.copyPromise(toP, fromP); - await this.removePromise(fromP); - } else { - throw error; - } - } - } - moveSync(fromP, toP) { - try { - this.renameSync(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - this.copySync(toP, fromP); - this.removeSync(fromP); - } else { - throw error; - } - } - } - async lockPromise(affectedPath, callback) { - const lockPath = `${affectedPath}.flock`; - const interval = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - process.kill(pid, 0); - return true; - } catch (error) { - return false; - } - }; - while (fd === null) { - try { - fd = await this.openPromise(lockPath, `wx`); - } catch (error) { - if (error.code === `EEXIST`) { - if (!await isAlive()) { - try { - await this.unlinkPromise(lockPath); - continue; - } catch (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - await new Promise((resolve) => setTimeout(resolve, interval)); - } else { - throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); - } - } else { - throw error; - } - } - } - await this.writePromise(fd, JSON.stringify([process.pid])); - try { - return await callback(); - } finally { - try { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - async readJsonPromise(p) { - const content = await this.readFilePromise(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - readJsonSync(p) { - const content = this.readFileSync(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - async writeJsonPromise(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(p, stat.atime, stat.mtime); - } -} -class BasePortableFakeFS extends FakeFS { - constructor() { - super(ppath); - } -} -function getEndOfLine(content) { - const matches = content.match(/\r?\n/g); - if (matches === null) - return EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -class ProxiedFS extends FakeFS { - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - resolve(path) { - return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); - } - getRealPath() { - return this.mapFromBase(this.baseFs.getRealPath()); - } - async openPromise(p, flags, mode) { - return this.baseFs.openPromise(this.mapToBase(p), flags, mode); - } - openSync(p, flags, mode) { - return this.baseFs.openSync(this.mapToBase(p), flags, mode); - } - async opendirPromise(p, opts) { - return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); - } - opendirSync(p, opts) { - return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); - } - async readPromise(fd, buffer, offset, length, position) { - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - return this.baseFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - return this.baseFs.closePromise(fd); - } - closeSync(fd) { - this.baseFs.closeSync(fd); - } - createReadStream(p, opts) { - return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); - } - createWriteStream(p, opts) { - return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); - } - async realpathPromise(p) { - return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); - } - realpathSync(p) { - return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); - } - async existsPromise(p) { - return this.baseFs.existsPromise(this.mapToBase(p)); - } - existsSync(p) { - return this.baseFs.existsSync(this.mapToBase(p)); - } - accessSync(p, mode) { - return this.baseFs.accessSync(this.mapToBase(p), mode); - } - async accessPromise(p, mode) { - return this.baseFs.accessPromise(this.mapToBase(p), mode); - } - async statPromise(p, opts) { - return this.baseFs.statPromise(this.mapToBase(p), opts); - } - statSync(p, opts) { - return this.baseFs.statSync(this.mapToBase(p), opts); - } - async fstatPromise(fd, opts) { - return this.baseFs.fstatPromise(fd, opts); - } - fstatSync(fd, opts) { - return this.baseFs.fstatSync(fd, opts); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); - } - chownSync(p, uid, gid) { - return this.baseFs.chownSync(this.mapToBase(p), uid, gid); - } - async renamePromise(oldP, newP) { - return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); - } - renameSync(oldP, newP) { - return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - async appendFilePromise(p, content, opts) { - return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); - } - appendFileSync(p, content, opts) { - return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); - } - async writeFilePromise(p, content, opts) { - return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); - } - writeFileSync(p, content, opts) { - return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); - } - async unlinkPromise(p) { - return this.baseFs.unlinkPromise(this.mapToBase(p)); - } - unlinkSync(p) { - return this.baseFs.unlinkSync(this.mapToBase(p)); - } - async utimesPromise(p, atime, mtime) { - return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); - } - utimesSync(p, atime, mtime) { - return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return this.baseFs.mkdirPromise(this.mapToBase(p), opts); - } - mkdirSync(p, opts) { - return this.baseFs.mkdirSync(this.mapToBase(p), opts); - } - async rmdirPromise(p, opts) { - return this.baseFs.rmdirPromise(this.mapToBase(p), opts); - } - rmdirSync(p, opts) { - return this.baseFs.rmdirSync(this.mapToBase(p), opts); - } - async linkPromise(existingP, newP) { - return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); - } - linkSync(existingP, newP) { - return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); - } - async symlinkPromise(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); - } - symlinkSync(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkSync(mappedTarget, mappedP, type); - } - async readFilePromise(p, encoding) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - readdirPromise(p, opts) { - return this.baseFs.readdirPromise(this.mapToBase(p), opts); - } - readdirSync(p, opts) { - return this.baseFs.readdirSync(this.mapToBase(p), opts); - } - async readlinkPromise(p) { - return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); - } - readlinkSync(p) { - return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); - } - async truncatePromise(p, len) { - return this.baseFs.truncatePromise(this.mapToBase(p), len); - } - truncateSync(p, len) { - return this.baseFs.truncateSync(this.mapToBase(p), len); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.baseFs.watch( - this.mapToBase(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.baseFs.watchFile( - this.mapToBase(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.baseFs.unwatchFile(this.mapToBase(p), cb); - } - fsMapToBase(p) { - if (typeof p === `number`) { - return p; - } else { - return this.mapToBase(p); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - constructor(realFs = fs) { - super(); - this.realFs = realFs; - } - getExtractHint() { - return false; - } - getRealPath() { - return PortablePath.root; - } - resolve(p) { - return ppath.resolve(p); - } - async openPromise(p, flags, mode) { - return await new Promise((resolve, reject) => { - this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); - }); - } - openSync(p, flags, mode) { - return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); - } - async opendirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (typeof opts !== `undefined`) { - this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }).then((dir) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { - return await new Promise((resolve, reject) => { - this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { - if (error) { - reject(error); - } else { - resolve(bytesRead); - } - }); - }); - } - readSync(fd, buffer, offset, length, position) { - return this.realFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - return await new Promise((resolve, reject) => { - if (typeof buffer === `string`) { - return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); - } else { - return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); - } - }); - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.realFs.writeSync(fd, buffer, offset); - } else { - return this.realFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - await new Promise((resolve, reject) => { - this.realFs.close(fd, this.makeCallback(resolve, reject)); - }); - } - closeSync(fd) { - this.realFs.closeSync(fd); - } - createReadStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createReadStream(realPath, opts); - } - createWriteStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createWriteStream(realPath, opts); - } - async realpathPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - realpathSync(p) { - return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); - } - async existsPromise(p) { - return await new Promise((resolve) => { - this.realFs.exists(npath.fromPortablePath(p), resolve); - }); - } - accessSync(p, mode) { - return this.realFs.accessSync(npath.fromPortablePath(p), mode); - } - async accessPromise(p, mode) { - return await new Promise((resolve, reject) => { - this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); - }); - } - existsSync(p) { - return this.realFs.existsSync(npath.fromPortablePath(p)); - } - async statPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - statSync(p, opts) { - if (opts) { - return this.realFs.statSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.statSync(npath.fromPortablePath(p)); - } - } - async fstatPromise(fd, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - lstatSync(p, opts) { - if (opts) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return await new Promise((resolve, reject) => { - this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); - }); - } - chmodSync(p, mask) { - return this.realFs.chmodSync(npath.fromPortablePath(p), mask); - } - async fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); - }); - } - chownSync(p, uid, gid) { - return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); - } - async renamePromise(oldP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - renameSync(oldP, newP) { - return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return await new Promise((resolve, reject) => { - this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); - } - async appendFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - appendFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFileSync(fsNativePath, content, opts); - } else { - this.realFs.appendFileSync(fsNativePath, content); - } - } - async writeFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - writeFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFileSync(fsNativePath, content, opts); - } else { - this.realFs.writeFileSync(fsNativePath, content); - } - } - async unlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - unlinkSync(p) { - return this.realFs.unlinkSync(npath.fromPortablePath(p)); - } - async utimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - utimesSync(p, atime, mtime) { - this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - }); - } - mkdirSync(p, opts) { - return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); - } - async rmdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmdirSync(p, opts) { - return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); - } - async linkPromise(existingP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - linkSync(existingP, newP) { - return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); - } - async symlinkPromise(target, p, type) { - return await new Promise((resolve, reject) => { - this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); - }); - } - symlinkSync(target, p, type) { - return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); - } - async readFilePromise(p, encoding) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); - }); - } - readFileSync(p, encoding) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - return this.realFs.readFileSync(fsNativePath, encoding); - } - async readdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p)); - } - } - async readlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - readlinkSync(p) { - return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); - } - async truncatePromise(p, len) { - return await new Promise((resolve, reject) => { - this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); - }); - } - truncateSync(p, len) { - return this.realFs.truncateSync(npath.fromPortablePath(p), len); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.realFs.watch( - npath.fromPortablePath(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.realFs.watchFile( - npath.fromPortablePath(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); - } - makeCallback(resolve, reject) { - return (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }; - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - static makeVirtualPath(base, component, to) { - if (ppath.basename(base) !== `__virtual__`) - throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); - if (!ppath.basename(component).match(VALID_COMPONENT)) - throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - let depth = 0; - while (depth < segments.length && segments[depth] === `..`) - depth += 1; - const finalSegments = segments.slice(depth); - const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); - return fullVirtualPath; - } - static resolveVirtual(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match || !match[3] && match[5]) - return p; - const target = ppath.dirname(match[1]); - if (!match[3] || !match[4]) - return target; - const isnum = NUMBER_REGEXP.test(match[4]); - if (!isnum) - return p; - const depth = Number(match[4]); - const backstep = `../`.repeat(depth); - const subpath = match[5] || `.`; - return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - realpathSync(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return this.baseFs.realpathSync(p); - if (!match[5]) - return p; - const realpath = this.baseFs.realpathSync(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - async realpathPromise(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return await this.baseFs.realpathPromise(p); - if (!match[5]) - return p; - const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - mapToBase(p) { - if (p === ``) - return p; - if (this.pathUtils.isAbsolute(p)) - return VirtualFS.resolveVirtual(p); - const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); - const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); - return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; - } - mapFromBase(p) { - return p; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; -const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; - -function readPackageScope(checkPath) { - const rootSeparatorIndex = checkPath.indexOf(npath.sep); - let separatorIndex; - do { - separatorIndex = checkPath.lastIndexOf(npath.sep); - checkPath = checkPath.slice(0, separatorIndex); - if (checkPath.endsWith(`${npath.sep}node_modules`)) - return false; - const pjson = readPackage(checkPath + npath.sep); - if (pjson) { - return { - data: pjson, - path: checkPath - }; - } - } while (separatorIndex > rootSeparatorIndex); - return false; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs.existsSync(jsonPath)) - return null; - return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); -} - -async function tryReadFile$1(path2) { - try { - return await fs.promises.readFile(path2, `utf8`); - } catch (error) { - if (error.code === `ENOENT`) - return null; - throw error; - } -} -function tryParseURL(str, base) { - try { - return new URL(str, base); - } catch { - return null; - } -} -let entrypointPath = null; -function setEntrypointPath(file) { - entrypointPath = file; -} -function getFileFormat(filepath) { - const ext = path.extname(filepath); - switch (ext) { - case `.mjs`: { - return `module`; - } - case `.cjs`: { - return `commonjs`; - } - case `.wasm`: { - throw new Error( - `Unknown file extension ".wasm" for ${filepath}` - ); - } - case `.json`: { - return `json`; - } - case `.js`: { - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - return pkg.data.type ?? `commonjs`; - } - default: { - if (entrypointPath !== filepath) - return null; - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - if (pkg.data.type === `module`) - return null; - return pkg.data.type ?? `commonjs`; - } - } -} - -async function load$1(urlString, context, nextLoad) { - const url = tryParseURL(urlString); - if (url?.protocol !== `file:`) - return nextLoad(urlString, context, nextLoad); - const filePath = fileURLToPath(url); - const format = getFileFormat(filePath); - if (!format) - return nextLoad(urlString, context, nextLoad); - if (format === `json` && context.importAssertions?.type !== `json`) { - const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`); - err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; - throw err; - } - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - const pathToSend = pathToFileURL( - npath.fromPortablePath( - VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) - ) - ).href; - process.send({ - "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend - }); - } - return { - format, - source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), - shortCircuit: true - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), - fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") - return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) - return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) - continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) - return -1; - if (baseLenB > baseLenA) - return 1; - if (aPatternIndex === -1) - return 1; - if (bPatternIndex === -1) - return -1; - if (a.length > b.length) - return -1; - if (b.length > a.length) - return 1; - return 0; -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; -const isRelativeRegexp = /^\.{0,2}\//; -function tryReadFile(filePath) { - try { - return fs.readFileSync(filePath, `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } -} -async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { - const resolved = packageImportsResolve({ - name: specifier, - base: pathToFileURL(issuer), - conditions: new Set(context.conditions), - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return { url: resolved.href, shortCircuit: true }; - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolve$1(resolved, context, nextResolve); - } -} -async function resolve$1(originalSpecifier, context, nextResolve) { - const { findPnpApi } = moduleExports; - if (!findPnpApi || isBuiltin(originalSpecifier)) - return nextResolve(originalSpecifier, context, nextResolve); - let specifier = originalSpecifier; - const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); - if (url) { - if (url.protocol !== `file:`) - return nextResolve(originalSpecifier, context, nextResolve); - specifier = fileURLToPath(url); - } - const { parentURL, conditions = [] } = context; - const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); - const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); - if (!pnpapi) - return nextResolve(originalSpecifier, context, nextResolve); - if (specifier.startsWith(`#`)) - return resolvePrivateRequest(specifier, issuer, context, nextResolve); - const dependencyNameMatch = specifier.match(pathRegExp); - let allowLegacyResolve = false; - if (dependencyNameMatch) { - const [, dependencyName, subPath] = dependencyNameMatch; - if (subPath === `` && dependencyName !== `pnpapi`) { - const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); - if (resolved) { - const content = await tryReadFile$1(resolved); - if (content) { - const pkg = JSON.parse(content); - allowLegacyResolve = pkg.exports == null; - } - } - } - } - let result; - try { - result = pnpapi.resolveRequest(specifier, issuer, { - conditions: new Set(conditions), - extensions: allowLegacyResolve ? void 0 : [] - }); - } catch (err) { - if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) - err.code = `ERR_MODULE_NOT_FOUND`; - throw err; - } - if (!result) - throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); - const resultURL = pathToFileURL(result); - if (url) { - resultURL.search = url.search; - resultURL.hash = url.hash; - } - if (!parentURL) - setEntrypointPath(fileURLToPath(resultURL)); - return { - url: resultURL.href, - shortCircuit: true - }; -} - -if (!HAS_LAZY_LOADED_TRANSLATORS) { - const binding = process.binding(`fs`); - const originalReadFile = binding.readFileUtf8 || binding.readFileSync; - if (originalReadFile) { - binding[originalReadFile.name] = function(...args) { - try { - return fs.readFileSync(args[0], { - encoding: `utf8`, - flag: args[1] - }); - } catch { - } - return originalReadFile.apply(this, args); - }; - } else { - const binding2 = process.binding(`fs`); - const originalfstat = binding2.fstat; - const ZIP_MASK = 4278190080; - const ZIP_MAGIC = 704643072; - binding2.fstat = function(...args) { - const [fd, useBigint, req] = args; - if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { - try { - const stats = fs.fstatSync(fd); - return new Float64Array([ - stats.dev, - stats.mode, - stats.nlink, - stats.uid, - stats.gid, - stats.rdev, - stats.blksize, - stats.ino, - stats.size, - stats.blocks - ]); - } catch { - } - } - return originalfstat.apply(this, args); - }; - } -} - -const resolve = resolve$1; -const load = load$1; - -export { load, resolve }; diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json deleted file mode 100644 index 4039befa7..000000000 --- a/.vscode/c_cpp_properties.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "configurations": [ - { - "name": "Linux", - "includePath": [ - "${workspaceFolder}/**" - ], - "defines": [], - "compilerPath": "/usr/bin/gcc", - "cStandard": "c17", - "cppStandard": "gnu++17", - "intelliSenseMode": "linux-gcc-x64" - } - ], - "version": 4 -} \ No newline at end of file diff --git a/.vscode/extensions.json b/.vscode/extensions.json deleted file mode 100644 index e00b3eca1..000000000 --- a/.vscode/extensions.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "recommendations": [ - "ms-azuretools.vscode-docker", - "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "ms-vscode.makefile-tools", - "usernamehw.errorlens", - "arcanis.vscode-zipfs" - ] -} diff --git a/.vscode/launch.json b/.vscode/launch.json deleted file mode 100644 index 8396af440..000000000 --- a/.vscode/launch.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "version": "0.2.0", - "configurations": [ - { - "name": "Stop Prod", - "request": "launch", - "runtimeArgs": [ - "run-script", - "prod:stop" - ], - "runtimeExecutable": "npm", - "skipFiles": [ - "/**" - ], - "type": "node" - }, - { - "name": "Start Prod", - "request": "launch", - "runtimeArgs": [ - "run-script", - "prod" - ], - "runtimeExecutable": "npm", - "skipFiles": [ - "/**" - ], - "type": "node" - }, - { - "name": "C/C++: gcc build and debug active file", - "type": "cppdbg", - "request": "launch", - "program": "${fileDirname}/${fileBasenameNoExtension}", - "args": [], - "stopAtEntry": false, - "cwd": "${fileDirname}", - "environment": [], - "externalConsole": false, - "MIMode": "gdb", - "setupCommands": [ - { - "description": "Enable pretty-printing for gdb", - "text": "-enable-pretty-printing", - "ignoreFailures": true - }, - { - "description": "Set Disassembly Flavor to Intel", - "text": "-gdb-set disassembly-flavor intel", - "ignoreFailures": true - } - ], - "preLaunchTask": "C/C++: gcc build active file", - "miDebuggerPath": "/usr/bin/gdb" - } - ] -} \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json deleted file mode 100644 index 9c434d3b2..000000000 --- a/.vscode/settings.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "git.enableCommitSigning": true, - "js/ts.implicitProjectConfig.checkJs": true, - "search.exclude": { - "**/.yarn": true, - "**/.pnp.*": true - }, - "typescript.tsdk": ".yarn/sdks/typescript/lib", - "typescript.enablePromptUseWorkspaceTsdk": true, - "prettier.prettierPath": ".yarn/sdks/prettier/index.cjs", - "C_Cpp.errorSquiggles": "enabled", - "sqltools.connections": [ - { - "previewLimit": 50, - "server": "localhost", - "port": 5432, - "driver": "PostgreSQL", - "name": "rm", - "database": "rm", - "username": "user", - "password": "password" - } - ] -} diff --git a/.vscode/tasks.json b/.vscode/tasks.json deleted file mode 100644 index 37f31b3ea..000000000 --- a/.vscode/tasks.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "tasks": [ - { - "type": "cppbuild", - "label": "C/C++: gcc build active file", - "command": "/usr/bin/gcc", - "args": [ - "-fdiagnostics-color=always", - "-g", - "${file}", - "-o", - "${fileDirname}/${fileBasenameNoExtension}" - ], - "options": { - "cwd": "${fileDirname}" - }, - "problemMatcher": [ - "$gcc" - ], - "group": "build", - "detail": "Task generated by Debugger." - } - ], - "version": "2.0.0" -} \ No newline at end of file diff --git a/.yarn/sdks/integrations.yml b/.yarn/sdks/integrations.yml deleted file mode 100644 index aa9d0d0ad..000000000 --- a/.yarn/sdks/integrations.yml +++ /dev/null @@ -1,5 +0,0 @@ -# This file is automatically generated by @yarnpkg/sdks. -# Manual changes might be lost! - -integrations: - - vscode diff --git a/.yarn/sdks/prettier/bin/prettier.cjs b/.yarn/sdks/prettier/bin/prettier.cjs deleted file mode 100755 index 5efad688e..000000000 --- a/.yarn/sdks/prettier/bin/prettier.cjs +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require prettier/bin/prettier.cjs - require(absPnpApiPath).setup(); - } -} - -// Defer to the real prettier/bin/prettier.cjs your application uses -module.exports = absRequire(`prettier/bin/prettier.cjs`); diff --git a/.yarn/sdks/prettier/index.cjs b/.yarn/sdks/prettier/index.cjs deleted file mode 100644 index 8758e367a..000000000 --- a/.yarn/sdks/prettier/index.cjs +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require prettier - require(absPnpApiPath).setup(); - } -} - -// Defer to the real prettier your application uses -module.exports = absRequire(`prettier`); diff --git a/.yarn/sdks/prettier/package.json b/.yarn/sdks/prettier/package.json deleted file mode 100644 index e6c621dbb..000000000 --- a/.yarn/sdks/prettier/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "prettier", - "version": "3.2.4-sdk", - "main": "./index.cjs", - "type": "commonjs", - "bin": "./bin/prettier.cjs" -} diff --git a/.yarn/sdks/typescript/bin/tsc b/.yarn/sdks/typescript/bin/tsc deleted file mode 100755 index 454b950b7..000000000 --- a/.yarn/sdks/typescript/bin/tsc +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/bin/tsc - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/bin/tsc your application uses -module.exports = absRequire(`typescript/bin/tsc`); diff --git a/.yarn/sdks/typescript/bin/tsserver b/.yarn/sdks/typescript/bin/tsserver deleted file mode 100755 index d7a605684..000000000 --- a/.yarn/sdks/typescript/bin/tsserver +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/bin/tsserver - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/bin/tsserver your application uses -module.exports = absRequire(`typescript/bin/tsserver`); diff --git a/.yarn/sdks/typescript/lib/tsc.js b/.yarn/sdks/typescript/lib/tsc.js deleted file mode 100644 index 2f62fc96c..000000000 --- a/.yarn/sdks/typescript/lib/tsc.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsc.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsc.js your application uses -module.exports = absRequire(`typescript/lib/tsc.js`); diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js deleted file mode 100644 index bbb1e4650..000000000 --- a/.yarn/sdks/typescript/lib/tsserver.js +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -const moduleWrapper = tsserver => { - if (!process.versions.pnp) { - return tsserver; - } - - const {isAbsolute} = require(`path`); - const pnpApi = require(`pnpapi`); - - const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); - const isPortal = str => str.startsWith("portal:/"); - const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); - - const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { - return `${locator.name}@${locator.reference}`; - })); - - // VSCode sends the zip paths to TS using the "zip://" prefix, that TS - // doesn't understand. This layer makes sure to remove the protocol - // before forwarding it to TS, and to add it back on all returned paths. - - function toEditorPath(str) { - // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { - // We also take the opportunity to turn virtual paths into physical ones; - // this makes it much easier to work with workspaces that list peer - // dependencies, since otherwise Ctrl+Click would bring us to the virtual - // file instances instead of the real ones. - // - // We only do this to modules owned by the the dependency tree roots. - // This avoids breaking the resolution when jumping inside a vendor - // with peer dep (otherwise jumping into react-dom would show resolution - // errors on react). - // - const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; - if (resolved) { - const locator = pnpApi.findPackageLocator(resolved); - if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { - str = resolved; - } - } - - str = normalize(str); - - if (str.match(/\.zip\//)) { - switch (hostInfo) { - // Absolute VSCode `Uri.fsPath`s need to start with a slash. - // VSCode only adds it automatically for supported schemes, - // so we have to do it manually for the `zip` scheme. - // The path needs to start with a caret otherwise VSCode doesn't handle the protocol - // - // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 - // - // 2021-10-08: VSCode changed the format in 1.61. - // Before | ^zip:/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - // 2022-04-06: VSCode changed the format in 1.66. - // Before | ^/zip//c:/foo/bar.zip/package.json - // After | ^/zip/c:/foo/bar.zip/package.json - // - // 2022-05-06: VSCode changed the format in 1.68 - // Before | ^/zip/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - case `vscode <1.61`: { - str = `^zip:${str}`; - } break; - - case `vscode <1.66`: { - str = `^/zip/${str}`; - } break; - - case `vscode <1.68`: { - str = `^/zip${str}`; - } break; - - case `vscode`: { - str = `^/zip/${str}`; - } break; - - // To make "go to definition" work, - // We have to resolve the actual file system path from virtual path - // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) - case `coc-nvim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = resolve(`zipfile:${str}`); - } break; - - // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) - // We have to resolve the actual file system path from virtual path, - // everything else is up to neovim - case `neovim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = `zipfile://${str}`; - } break; - - default: { - str = `zip:${str}`; - } break; - } - } else { - str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); - } - } - - return str; - } - - function fromEditorPath(str) { - switch (hostInfo) { - case `coc-nvim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for coc-nvim is in format of //zipfile://.yarn/... - // So in order to convert it back, we use .* to match all the thing - // before `zipfile:` - return process.platform === `win32` - ? str.replace(/^.*zipfile:\//, ``) - : str.replace(/^.*zipfile:/, ``); - } break; - - case `neovim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for neovim is in format of zipfile:////.yarn/... - return str.replace(/^zipfile:\/\//, ``); - } break; - - case `vscode`: - default: { - return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) - } break; - } - } - - // Force enable 'allowLocalPluginLoads' - // TypeScript tries to resolve plugins using a path relative to itself - // which doesn't work when using the global cache - // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 - // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but - // TypeScript already does local loads and if this code is running the user trusts the workspace - // https://github.com/microsoft/vscode/issues/45856 - const ConfiguredProject = tsserver.server.ConfiguredProject; - const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; - ConfiguredProject.prototype.enablePluginsWithOptions = function() { - this.projectService.allowLocalPluginLoads = true; - return originalEnablePluginsWithOptions.apply(this, arguments); - }; - - // And here is the point where we hijack the VSCode <-> TS communications - // by adding ourselves in the middle. We locate everything that looks - // like an absolute path of ours and normalize it. - - const Session = tsserver.server.Session; - const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; - let hostInfo = `unknown`; - - Object.assign(Session.prototype, { - onMessage(/** @type {string | object} */ message) { - const isStringMessage = typeof message === 'string'; - const parsedMessage = isStringMessage ? JSON.parse(message) : message; - - if ( - parsedMessage != null && - typeof parsedMessage === `object` && - parsedMessage.arguments && - typeof parsedMessage.arguments.hostInfo === `string` - ) { - hostInfo = parsedMessage.arguments.hostInfo; - if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { - const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( - // The RegExp from https://semver.org/ but without the caret at the start - /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ - ) ?? []).map(Number) - - if (major === 1) { - if (minor < 61) { - hostInfo += ` <1.61`; - } else if (minor < 66) { - hostInfo += ` <1.66`; - } else if (minor < 68) { - hostInfo += ` <1.68`; - } - } - } - } - - const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { - return typeof value === 'string' ? fromEditorPath(value) : value; - }); - - return originalOnMessage.call( - this, - isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) - ); - }, - - send(/** @type {any} */ msg) { - return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { - return typeof value === `string` ? toEditorPath(value) : value; - }))); - } - }); - - return tsserver; -}; - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsserver.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsserver.js your application uses -module.exports = moduleWrapper(absRequire(`typescript/lib/tsserver.js`)); diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js deleted file mode 100644 index a68f028fe..000000000 --- a/.yarn/sdks/typescript/lib/tsserverlibrary.js +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -const moduleWrapper = tsserver => { - if (!process.versions.pnp) { - return tsserver; - } - - const {isAbsolute} = require(`path`); - const pnpApi = require(`pnpapi`); - - const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); - const isPortal = str => str.startsWith("portal:/"); - const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); - - const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { - return `${locator.name}@${locator.reference}`; - })); - - // VSCode sends the zip paths to TS using the "zip://" prefix, that TS - // doesn't understand. This layer makes sure to remove the protocol - // before forwarding it to TS, and to add it back on all returned paths. - - function toEditorPath(str) { - // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { - // We also take the opportunity to turn virtual paths into physical ones; - // this makes it much easier to work with workspaces that list peer - // dependencies, since otherwise Ctrl+Click would bring us to the virtual - // file instances instead of the real ones. - // - // We only do this to modules owned by the the dependency tree roots. - // This avoids breaking the resolution when jumping inside a vendor - // with peer dep (otherwise jumping into react-dom would show resolution - // errors on react). - // - const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; - if (resolved) { - const locator = pnpApi.findPackageLocator(resolved); - if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { - str = resolved; - } - } - - str = normalize(str); - - if (str.match(/\.zip\//)) { - switch (hostInfo) { - // Absolute VSCode `Uri.fsPath`s need to start with a slash. - // VSCode only adds it automatically for supported schemes, - // so we have to do it manually for the `zip` scheme. - // The path needs to start with a caret otherwise VSCode doesn't handle the protocol - // - // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 - // - // 2021-10-08: VSCode changed the format in 1.61. - // Before | ^zip:/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - // 2022-04-06: VSCode changed the format in 1.66. - // Before | ^/zip//c:/foo/bar.zip/package.json - // After | ^/zip/c:/foo/bar.zip/package.json - // - // 2022-05-06: VSCode changed the format in 1.68 - // Before | ^/zip/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - case `vscode <1.61`: { - str = `^zip:${str}`; - } break; - - case `vscode <1.66`: { - str = `^/zip/${str}`; - } break; - - case `vscode <1.68`: { - str = `^/zip${str}`; - } break; - - case `vscode`: { - str = `^/zip/${str}`; - } break; - - // To make "go to definition" work, - // We have to resolve the actual file system path from virtual path - // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) - case `coc-nvim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = resolve(`zipfile:${str}`); - } break; - - // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) - // We have to resolve the actual file system path from virtual path, - // everything else is up to neovim - case `neovim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = `zipfile://${str}`; - } break; - - default: { - str = `zip:${str}`; - } break; - } - } else { - str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); - } - } - - return str; - } - - function fromEditorPath(str) { - switch (hostInfo) { - case `coc-nvim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for coc-nvim is in format of //zipfile://.yarn/... - // So in order to convert it back, we use .* to match all the thing - // before `zipfile:` - return process.platform === `win32` - ? str.replace(/^.*zipfile:\//, ``) - : str.replace(/^.*zipfile:/, ``); - } break; - - case `neovim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for neovim is in format of zipfile:////.yarn/... - return str.replace(/^zipfile:\/\//, ``); - } break; - - case `vscode`: - default: { - return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) - } break; - } - } - - // Force enable 'allowLocalPluginLoads' - // TypeScript tries to resolve plugins using a path relative to itself - // which doesn't work when using the global cache - // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 - // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but - // TypeScript already does local loads and if this code is running the user trusts the workspace - // https://github.com/microsoft/vscode/issues/45856 - const ConfiguredProject = tsserver.server.ConfiguredProject; - const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; - ConfiguredProject.prototype.enablePluginsWithOptions = function() { - this.projectService.allowLocalPluginLoads = true; - return originalEnablePluginsWithOptions.apply(this, arguments); - }; - - // And here is the point where we hijack the VSCode <-> TS communications - // by adding ourselves in the middle. We locate everything that looks - // like an absolute path of ours and normalize it. - - const Session = tsserver.server.Session; - const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; - let hostInfo = `unknown`; - - Object.assign(Session.prototype, { - onMessage(/** @type {string | object} */ message) { - const isStringMessage = typeof message === 'string'; - const parsedMessage = isStringMessage ? JSON.parse(message) : message; - - if ( - parsedMessage != null && - typeof parsedMessage === `object` && - parsedMessage.arguments && - typeof parsedMessage.arguments.hostInfo === `string` - ) { - hostInfo = parsedMessage.arguments.hostInfo; - if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { - const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( - // The RegExp from https://semver.org/ but without the caret at the start - /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ - ) ?? []).map(Number) - - if (major === 1) { - if (minor < 61) { - hostInfo += ` <1.61`; - } else if (minor < 66) { - hostInfo += ` <1.66`; - } else if (minor < 68) { - hostInfo += ` <1.68`; - } - } - } - } - - const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { - return typeof value === 'string' ? fromEditorPath(value) : value; - }); - - return originalOnMessage.call( - this, - isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) - ); - }, - - send(/** @type {any} */ msg) { - return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { - return typeof value === `string` ? toEditorPath(value) : value; - }))); - } - }); - - return tsserver; -}; - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsserverlibrary.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsserverlibrary.js your application uses -module.exports = moduleWrapper(absRequire(`typescript/lib/tsserverlibrary.js`)); diff --git a/.yarn/sdks/typescript/lib/typescript.js b/.yarn/sdks/typescript/lib/typescript.js deleted file mode 100644 index b5f4db25b..000000000 --- a/.yarn/sdks/typescript/lib/typescript.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript your application uses -module.exports = absRequire(`typescript`); diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json deleted file mode 100644 index eb7dd745b..000000000 --- a/.yarn/sdks/typescript/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "typescript", - "version": "5.3.3-sdk", - "main": "./lib/typescript.js", - "type": "commonjs", - "bin": { - "tsc": "./bin/tsc", - "tsserver": "./bin/tsserver" - } -} diff --git a/README.md b/README.md index 7d3008de2..c6f8084e4 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,6 @@ This is a game server, being written from scratch, for a very old and long dead [![Node.js CI](https://github.com/rustymotors/server/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/rustymotors/server/actions/workflows/node.yml) [![CodeQL](https://github.comrustymotors/server/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/rustymotors/server/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/rustymotors/server/branch/main/graph/badge.svg)](https://codecov.io/gh/rustymotors/server) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/rustymotors/server.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/rustymotors/server/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) - ## Help Wanted I'm writing this from scratch. While I'm proud of what I've done, I'm hitting the point where I need help. Therefore, I'm open-sourcing this. Any assistance you can provide, either from code help, to suggestions, to even pointing out better ways to do things are greatly appreciated. diff --git a/docker b/docker new file mode 100644 index 000000000..ed6a5026b --- /dev/null +++ b/docker @@ -0,0 +1,3544 @@ + + + + + nginx_1.9.8.tar : Free Download, Borrow, and Streaming : Internet Archive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content + + +
+
+ +
+
+ + + + + + + + + + + +
+ + + + +
+
+
+
+ + + + + + + +
+
+
+
+
+
+ + + + + + + + + + + +
+
+ + + +
+ + + +
+
+ + + +
+
+ + + + + + +

+ nginx_1.9.8.tar

+

+ Item Preview +

+ +
+ +
+
+
+ +
+ + + +
+
+

+ There Is No Preview Available For This Item +

+

+ + This item does not appear to have any files that can be experienced on Archive.org. +

+ Show all files +

+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+

+ + + 1 + + View

+ +

+ 1 + Favorite +

+ +
+ +
+

+ DOWNLOAD OPTIONS +

+ + + + + + +
+ +
+
+

IN COLLECTIONS

+ + Community Software + +
+
+ +
+

+ Uploaded by + + Drazi Crendraven + + on +

+
+
+
+
+
+
+
+
+

SIMILAR ITEMS (based on metadata)

+ +
+
+
+ +
+
+ +
+
+ + + + + + + + + + \ No newline at end of file diff --git a/thebeast/docker-compose.yml b/docker-compose.yml similarity index 89% rename from thebeast/docker-compose.yml rename to docker-compose.yml index a788e23a4..2158e335e 100644 --- a/thebeast/docker-compose.yml +++ b/docker-compose.yml @@ -3,10 +3,11 @@ version: "3.1" services: nginx: build: - context: services/sslProxy + context: thebeast/services/sslProxy ports: - "443:443" - "80:80" + restart: always extra_hosts: - "host.docker.internal:host-gateway" db: diff --git a/ecosystem.config.js b/ecosystem.config.js new file mode 100644 index 000000000..9ca86d197 --- /dev/null +++ b/ecosystem.config.js @@ -0,0 +1,8 @@ +module.exports = { + apps: [ + { + name: "app1", + script: "./app.js", + }, + ], +}; diff --git a/migrate.js b/migrate.js new file mode 100644 index 000000000..e5492f2cc --- /dev/null +++ b/migrate.js @@ -0,0 +1,12 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var migrator_1 = require("@slonik/migrator"); +var database_js_1 = require("./thebeast/packages/database/src/services/database.js"); +var migrator = new migrator_1.SlonikMigrator({ + migrationsPath: "migrations", + migrationTableName: "migration", + // @ts-ignore We know this works + slonik: database_js_1.slonik, + logger: migrator_1.SlonikMigrator.prettyLogger, +}); +migrator.runAsCLI(); diff --git a/migrate.ts b/migrate.ts index 8013c48e2..36d3214fc 100644 --- a/migrate.ts +++ b/migrate.ts @@ -1,12 +1,12 @@ -import { SlonikMigrator } from '@slonik/migrator'; -import { slonik } from './thebeast/packages/database/src/services/database.js'; +import { SlonikMigrator } from "@slonik/migrator"; +import { slonik } from "./thebeast/packages/database/src/services/database.js"; const migrator = new SlonikMigrator({ - migrationsPath: 'migrations', - migrationTableName: 'migration', - // @ts-ignore We know this works - slonik, - logger: SlonikMigrator.prettyLogger, -}) + migrationsPath: "migrations", + migrationTableName: "migration", + // @ts-ignore We know this works + slonik, + logger: SlonikMigrator.prettyLogger, +}); -migrator.runAsCLI() \ No newline at end of file +migrator.runAsCLI(); diff --git a/nginx_1.9.8.tar b/nginx_1.9.8.tar new file mode 100644 index 000000000..ed6a5026b --- /dev/null +++ b/nginx_1.9.8.tar @@ -0,0 +1,3544 @@ + + + + + nginx_1.9.8.tar : Free Download, Borrow, and Streaming : Internet Archive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content + + +
+
+ +
+
+ + + + + + + + + + + +
+ + + + +
+
+
+
+ + + + + + + +
+
+
+
+
+
+ + + + + + + + + + + +
+
+ + + +
+ + + +
+
+ + + +
+
+ + + + + + +

+ nginx_1.9.8.tar

+

+ Item Preview +

+ +
+ +
+
+
+ +
+ + + +
+
+

+ There Is No Preview Available For This Item +

+

+ + This item does not appear to have any files that can be experienced on Archive.org. +

+ Show all files +

+
+
+
+
+ + +
+
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ +
+
+
+
+ +
+
+ +
+
+

+ + + 1 + + View

+ +

+ 1 + Favorite +

+ +
+ +
+

+ DOWNLOAD OPTIONS +

+ + + + + + +
+ +
+
+

IN COLLECTIONS

+ + Community Software + +
+
+ +
+

+ Uploaded by + + Drazi Crendraven + + on +

+
+
+
+
+
+
+
+
+

SIMILAR ITEMS (based on metadata)

+ +
+
+
+ +
+
+ +
+
+ + + + + + + + + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..bbbd48ed5 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,7909 @@ +{ + "name": "rusty-motors", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rusty-motors", + "version": "1.0.0", + "license": "AGPL-3.0", + "workspaces": [ + "thebeast" + ], + "dependencies": { + "slonik": "29" + }, + "devDependencies": { + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "prettier": "3.2.4", + "ts-loader": "^9.5.1", + "typescript": "^5.3.3", + "vitest": "^1.2.2" + } + }, + "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/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "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 + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "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, + "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/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", + "dev": true, + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz", + "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/ajv-compiler": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", + "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", + "dependencies": { + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "fast-uri": "^2.0.0" + } + }, + "node_modules/@fastify/ajv-compiler/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/@fastify/error": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" + }, + "node_modules/@fastify/fast-json-stringify-compiler": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", + "dependencies": { + "fast-json-stringify": "^5.7.0" + } + }, + "node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/@fastify/sensible": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz", + "integrity": "sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==", + "dependencies": { + "@lukeed/ms": "^2.0.1", + "fast-deep-equal": "^3.1.1", + "fastify-plugin": "^4.0.0", + "forwarded": "^0.2.0", + "http-errors": "^2.0.0", + "type-is": "^1.6.18", + "vary": "^1.1.2" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "optional": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "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==", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", + "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdoc/salty": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz", + "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@lukeed/ms": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz", + "integrity": "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==", + "engines": { + "node": ">=8" + } + }, + "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, + "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" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rushstack/node-core-library": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", + "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", + "dev": true, + "dependencies": { + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/terminal": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.9.0.tgz", + "integrity": "sha512-49RnIDooriXyqcd7mGyjh9CmjOjf/Vn8PkOQXHa1CS0/RrrynCJLFhRDkswf7gGXZW+6UhROOE8wTmbOrfUTSA==", + "dev": true, + "dependencies": { + "@rushstack/node-core-library": "4.0.2", + "colors": "~1.2.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/ts-command-line": { + "version": "4.17.3", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.17.3.tgz", + "integrity": "sha512-/PtTYW38A8iUviuCmQSccHfmx3uBh4Jm5YRPU2aTgYEgwT2jtg60vAbwnkMYkyaT1AbWpjZM3xq5uHYPURvStw==", + "dev": true, + "dependencies": { + "@rushstack/terminal": "0.9.0", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" + } + }, + "node_modules/@rusty-motors/thebeast": { + "resolved": "thebeast", + "link": true + }, + "node_modules/@sentry-internal/tracing": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz", + "integrity": "sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==", + "dependencies": { + "@sentry/core": "7.102.1", + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/cli": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz", + "integrity": "sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@sentry/cli-darwin": "2.28.6", + "@sentry/cli-linux-arm": "2.28.6", + "@sentry/cli-linux-arm64": "2.28.6", + "@sentry/cli-linux-i686": "2.28.6", + "@sentry/cli-linux-x64": "2.28.6", + "@sentry/cli-win32-i686": "2.28.6", + "@sentry/cli-win32-x64": "2.28.6" + } + }, + "node_modules/@sentry/cli-darwin": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.6.tgz", + "integrity": "sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.6.tgz", + "integrity": "sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm64": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.6.tgz", + "integrity": "sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-i686": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.6.tgz", + "integrity": "sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==", + "cpu": [ + "x86", + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-x64": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz", + "integrity": "sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-i686": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.6.tgz", + "integrity": "sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==", + "cpu": [ + "x86", + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-x64": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.6.tgz", + "integrity": "sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/core": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz", + "integrity": "sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==", + "dependencies": { + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/node": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.102.1.tgz", + "integrity": "sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw==", + "dependencies": { + "@sentry-internal/tracing": "7.102.1", + "@sentry/core": "7.102.1", + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/profiling-node": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.1.tgz", + "integrity": "sha512-eqOUdu04eI4ODqeh/nHvC/mdwm3tWkqm02anR2ITEjKVJxHliHH6+jr+3M2X56e1hIxOibtL+JrR89Du9HEl9w==", + "hasInstallScript": true, + "dependencies": { + "detect-libc": "^2.0.2", + "node-abi": "^3.52.0" + }, + "bin": { + "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@sentry/types": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz", + "integrity": "sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/utils": { + "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz", + "integrity": "sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==", + "dependencies": { + "@sentry/types": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "node_modules/@slonik/migrator": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@slonik/migrator/-/migrator-0.12.0.tgz", + "integrity": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==", + "dev": true, + "dependencies": { + "@rushstack/ts-command-line": "^4.11.0", + "umzug": "^3.1.1" + }, + "peerDependencies": { + "slonik": "27 - 29" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tsconfig/node-lts": { + "version": "20.1.1", + "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz", + "integrity": "sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==", + "dev": true + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", + "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", + "dev": true + }, + "node_modules/@types/argparse": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true + }, + "node_modules/@types/chai": { + "version": "4.3.11", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", + "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", + "dev": true + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.3", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz", + "integrity": "sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.7", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", + "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "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 + }, + "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 + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "dev": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.20", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pg": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.0.tgz", + "integrity": "sha512-sDAlRiBNthGjNFfvt0k6mtotoVYVQ63pA8R4EMWka7crawSR60waVYR0HAgmPRs/e2YaeJTD/43OoZ3PFw80pw==", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^4.0.1" + } + }, + "node_modules/@types/pg/node_modules/pg-types": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", + "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.1.0", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/pg/node_modules/postgres-bytea": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", + "dependencies": { + "obuf": "~1.1.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/pg/node_modules/postgres-date": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", + "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/pg/node_modules/postgres-interval": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/semver": { + "version": "7.5.7", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz", + "integrity": "sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg==", + "dev": true + }, + "node_modules/@types/sinon": { + "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", + "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", + "dev": true, + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinon-chai": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", + "dev": true, + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.5", + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", + "dev": true, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, + "node_modules/@vitest/coverage-v8": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.1.tgz", + "integrity": "sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.3.1" + } + }, + "node_modules/@vitest/expect": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", + "dev": true, + "dependencies": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", + "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", + "dev": true, + "dependencies": { + "@vitest/utils": "1.3.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", + "dev": true, + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", + "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", + "dev": true, + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", + "dev": true, + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", + "dev": true, + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "dev": true, + "peer": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true, + "peer": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "peer": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true, + "peer": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true, + "peer": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-logging": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" + }, + "node_modules/acorn": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", + "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", + "dev": true, + "peer": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "devOptional": true, + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peer": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "optional": true + }, + "node_modules/archy": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" + }, + "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, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/avvio": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", + "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", + "dependencies": { + "@fastify/error": "^3.3.0", + "archy": "^1.0.0", + "debug": "^4.0.0", + "fastq": "^1.17.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "devOptional": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "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/bindings": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "node_modules/boolean": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", + "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "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" + } + ], + "peer": true, + "dependencies": { + "caniuse-lite": "^1.0.30001587", + "electron-to-chromium": "^1.4.668", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", + "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": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "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==" + }, + "node_modules/buffer-writer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/bufferput": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/bufferput/-/bufferput-0.1.3.tgz", + "integrity": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001589", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz", + "integrity": "sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==", + "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" + } + ], + "peer": true + }, + "node_modules/catharsis": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", + "dev": true, + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "dev": true, + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "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, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "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, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "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 + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" + }, + "node_modules/colors": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz", + "integrity": "sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true, + "peer": true + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "engines": [ + "node >= 6.0" + ], + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "optional": true + }, + "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 + }, + "node_modules/cookie": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "dev": true, + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "engines": { + "node": ">=4.0.0" + } + }, + "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/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", + "optional": true + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "engines": { + "node": ">=0.3.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, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.4.680", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.680.tgz", + "integrity": "sha512-4nToZ5jlPO14W82NkF32wyjhYqQByVaDmLy4J2/tYcAbJfgO2TKJC780Az1V13gzq4l73CJ0yuyalpXvxXXD9A==", + "dev": true, + "peer": true + }, + "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, + "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", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "optional": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.15.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz", + "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "optional": true + }, + "node_modules/es-module-lexer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", + "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", + "dev": true, + "peer": true + }, + "node_modules/es6-error": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + }, + "node_modules/esbuild": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escalade": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", + "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz", + "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "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.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "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" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", + "dev": true, + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", + "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "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, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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==", + "dev": true, + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.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==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-content-type-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" + }, + "node_modules/fast-copy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" + }, + "node_modules/fast-deep-equal": { + "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==" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/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 + }, + "node_modules/fast-json-stringify": { + "version": "5.12.0", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.12.0.tgz", + "integrity": "sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==", + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.0", + "ajv": "^8.10.0", + "ajv-formats": "^2.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.1.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" + } + }, + "node_modules/fast-json-stringify/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" + }, + "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 + }, + "node_modules/fast-printf": { + "version": "1.6.9", + "resolved": "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz", + "integrity": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==", + "dependencies": { + "boolean": "^3.1.4" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-redact": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", + "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", + "engines": { + "node": ">=6" + } + }, + "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==" + }, + "node_modules/fast-uri": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz", + "integrity": "sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==" + }, + "node_modules/fastify": { + "version": "4.26.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz", + "integrity": "sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "dependencies": { + "@fastify/ajv-compiler": "^3.5.0", + "@fastify/error": "^3.4.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", + "abstract-logging": "^2.0.1", + "avvio": "^8.3.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^8.0.0", + "light-my-request": "^5.11.0", + "pino": "^8.17.0", + "process-warning": "^3.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.0", + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" + } + }, + "node_modules/fastify-plugin": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", + "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==" + }, + "node_modules/fastq": { + "version": "1.17.1", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "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==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-my-way": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz", + "integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", + "dev": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "devOptional": true + }, + "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, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "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==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/get-stack-trace": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-2.1.1.tgz", + "integrity": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==", + "dependencies": { + "bluebird": "^3.7.1", + "source-map": "^0.8.0-beta.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/get-stack-trace/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/get-stack-trace/node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/get-stack-trace/node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + }, + "node_modules/get-stack-trace/node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", + "dev": true, + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "devOptional": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "peer": true + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "devOptional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "devOptional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "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==", + "devOptional": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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==", + "optional": true + }, + "node_modules/hasown": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/help-me": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==" + }, + "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 + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", + "optional": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "devOptional": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", + "dev": true, + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/hyperid": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-2.3.1.tgz", + "integrity": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==", + "dependencies": { + "uuid": "^8.3.2", + "uuid-parse": "^1.1.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "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/ignore": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "devOptional": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "devOptional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "devOptional": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ini": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" + }, + "node_modules/int64-buffer": { + "version": "0.99.1007", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz", + "integrity": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==", + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", + "optional": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", + "optional": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", + "optional": true + }, + "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, + "engines": { + "node": ">=0.12.0" + } + }, + "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-plain-object": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "devOptional": true + }, + "node_modules/iso8601-duration": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz", + "integrity": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" + }, + "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, + "engines": { + "node": ">=8" + } + }, + "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, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.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, + "peer": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jju": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true + }, + "node_modules/joycon": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true + }, + "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, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "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/js2xmlparser": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", + "dev": true, + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", + "optional": true + }, + "node_modules/jsdoc": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/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, + "engines": { + "node": ">=8" + } + }, + "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 + }, + "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, + "peer": true + }, + "node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "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 + }, + "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 + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "dev": true, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "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, + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "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, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/light-my-request": { + "version": "5.11.1", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.1.tgz", + "integrity": "sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==", + "dependencies": { + "cookie": "^0.6.0", + "process-warning": "^2.0.0", + "set-cookie-parser": "^2.4.1" + } + }, + "node_modules/light-my-request/node_modules/process-warning": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz", + "integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==" + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", + "dev": true, + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", + "dev": true, + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true + }, + "node_modules/lodash.merge": { + "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 + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + }, + "node_modules/loglevel": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-colored-level-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz", + "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "loglevel": "^1.4.1" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/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, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "dev": true, + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/magicast": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" + } + }, + "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, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", + "dev": true, + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "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/marked": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", + "dev": true, + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" + }, + "node_modules/mlly": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.0.tgz", + "integrity": "sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ==", + "dev": true, + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", + "engines": { + "node": "*" + } + }, + "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==" + }, + "node_modules/multi-fork": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/multi-fork/-/multi-fork-0.0.2.tgz", + "integrity": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "peer": true + }, + "node_modules/node-abi": { + "version": "3.55.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.55.0.tgz", + "integrity": "sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ==", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", + "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", + "engines": { + "node": "^16 || ^18 || >= 20" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", + "dev": true, + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/node-releases": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", + "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "dev": true, + "peer": true + }, + "node_modules/nopt": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", + "dev": true, + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", + "dev": true, + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/packet-reader": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + }, + "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, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "devOptional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "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 + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true + }, + "node_modules/pathval": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/pg": { + "version": "8.11.3", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + }, + "node_modules/pg-copy-streams": { + "version": "6.0.6", + "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-6.0.6.tgz", + "integrity": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==", + "dependencies": { + "obuf": "^1.1.2" + } + }, + "node_modules/pg-copy-streams-binary": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-copy-streams-binary/-/pg-copy-streams-binary-2.2.0.tgz", + "integrity": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==", + "dependencies": { + "bl": "^4.0.3", + "bufferput": "^0.1.3", + "ieee754": "^1.1.13", + "int64-buffer": "^0.99.1007", + "multi-fork": "0.0.2", + "through2": "^3.0.1" + } + }, + "node_modules/pg-copy-streams-binary/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pg-copy-streams-binary/node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/pg-cursor": { + "version": "2.10.3", + "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.10.3.tgz", + "integrity": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==", + "peerDependencies": { + "pg": "^8" + } + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-numeric": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz", + "integrity": "sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-pool": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", + "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + }, + "node_modules/pg-query-stream": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.5.3.tgz", + "integrity": "sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==", + "dependencies": { + "pg-cursor": "^2.10.3" + }, + "peerDependencies": { + "pg": "^8" + } + }, + "node_modules/pg-types": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-types/node_modules/postgres-array": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-types/node_modules/postgres-interval": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pino": { + "version": "8.19.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz", + "integrity": "sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "v1.1.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^3.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.7.0", + "thread-stream": "^2.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", + "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-pretty": { + "version": "10.3.1", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz", + "integrity": "sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==", + "dependencies": { + "colorette": "^2.0.7", + "dateformat": "^4.6.3", + "fast-copy": "^3.0.0", + "fast-safe-stringify": "^2.1.1", + "help-me": "^5.0.0", + "joycon": "^3.1.1", + "minimist": "^1.2.6", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.0.0", + "pump": "^3.0.0", + "readable-stream": "^4.0.0", + "secure-json-parse": "^2.4.0", + "sonic-boom": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "pino-pretty": "bin.js" + } + }, + "node_modules/pino-std-serializers": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", + "dev": true, + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/pony-cause": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz", + "integrity": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==", + "dev": true, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postgres-array": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", + "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", + "engines": { + "node": ">=12" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz", + "integrity": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==", + "engines": { + "node": ">=12" + } + }, + "node_modules/postgres-range": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.4.tgz", + "integrity": "sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==" + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "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, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-eslint": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz", + "integrity": "sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==", + "dev": true, + "dependencies": { + "@typescript-eslint/parser": "^6.7.5", + "common-tags": "^1.4.0", + "dlv": "^1.1.0", + "eslint": "^8.7.0", + "indent-string": "^4.0.0", + "lodash.merge": "^4.6.0", + "loglevel-colored-level-prefix": "^1.0.0", + "prettier": "^3.0.1", + "pretty-format": "^29.7.0", + "require-relative": "^0.8.7", + "typescript": "^5.2.2", + "vue-eslint-parser": "^9.1.0" + }, + "engines": { + "node": ">=16.10.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.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, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-warning": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" + }, + "node_modules/progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, + "node_modules/pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "engines": { + "node": ">=6" + } + }, + "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/quick-format-unescaped": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "peer": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true + }, + "node_modules/readable-stream": { + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==", + "dev": true + }, + "node_modules/requizzle": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", + "dev": true, + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "dev": true, + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/ret": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", + "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "devOptional": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.21.0.tgz", + "integrity": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==", + "dependencies": { + "fast-printf": "^1.6.9", + "safe-stable-stringify": "^2.4.3", + "semver-compare": "^1.0.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "fsevents": "~2.3.2" + } + }, + "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/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safe-regex2": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", + "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", + "dependencies": { + "ret": "~0.2.0" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "optional": true + }, + "node_modules/schema-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", + "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", + "dev": true, + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + }, + "node_modules/serialize-error": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", + "dev": true, + "peer": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", + "optional": true + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/short-unique-id": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "optional": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", + "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/simple-get": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", + "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": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/slonik": { + "version": "29.2.0", + "resolved": "https://registry.npmjs.org/slonik/-/slonik-29.2.0.tgz", + "integrity": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==", + "dependencies": { + "concat-stream": "^2.0.0", + "es6-error": "^4.1.1", + "fast-safe-stringify": "^2.1.1", + "get-stack-trace": "^2.1.1", + "hyperid": "^2.3.1", + "is-plain-object": "^5.0.0", + "iso8601-duration": "^1.3.0", + "p-defer": "^3.0.0", + "pg": "^8.7.3", + "pg-copy-streams": "^6.0.2", + "pg-copy-streams-binary": "^2.2.0", + "pg-cursor": "^2.7.3", + "pg-protocol": "^1.5.0", + "postgres-array": "^3.0.1", + "postgres-interval": "^4.0.0", + "roarr": "^7.11.0", + "serialize-error": "^8.0.0", + "through2": "^4.0.2" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", + "optional": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sonic-boom": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", + "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "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, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", + "engines": { + "node": ">= 10.x" + } + }, + "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 + }, + "node_modules/sqlite3": { + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", + "hasInstallScript": true, + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", + "dev": true, + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "devOptional": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", + "dev": true, + "dependencies": { + "js-tokens": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", + "dev": true, + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "5.28.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.28.0.tgz", + "integrity": "sha512-UK1n2JZN6gqfwmjzcikRp+uF/7jdwPXO7M0k/Hnqxzj3T5POL4YBVrv5Y4MKixTzBq4OmH7FfEYRxcy/Eh7YhA==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.10", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", + "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", + "dev": true, + "peer": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.20", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.26.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "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, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "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 + }, + "node_modules/thread-stream": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", + "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/through2": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tinybench": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true + }, + "node_modules/tinypool": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "dev": true, + "engines": { + "node": ">=14.0.0" + } + }, + "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, + "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, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toad-cache": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-loader": { + "version": "9.5.1", + "resolved": "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz", + "integrity": "sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "enhanced-resolve": "^5.0.0", + "micromatch": "^4.0.0", + "semver": "^7.3.4", + "source-map": "^0.7.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "typescript": "*", + "webpack": "^5.0.0" + } + }, + "node_modules/ts-loader/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + }, + "node_modules/tsx": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", + "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", + "dev": true, + "dependencies": { + "esbuild": "~0.19.10", + "get-tsconfig": "^4.7.2" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "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, + "engines": { + "node": ">=4" + } + }, + "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==", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint-language-service": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz", + "integrity": "sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==", + "dev": true, + "peerDependencies": { + "@typescript-eslint/parser": ">= 5.0.0", + "eslint": ">= 8.0.0", + "typescript": ">= 4.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true + }, + "node_modules/ufo": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true + }, + "node_modules/umzug": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.7.0.tgz", + "integrity": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==", + "dev": true, + "dependencies": { + "@rushstack/ts-command-line": "^4.12.2", + "emittery": "^0.13.0", + "glob": "^8.0.3", + "pony-cause": "^2.1.4", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/umzug/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/umzug/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/umzug/node_modules/type-fest": { + "version": "4.10.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz", + "integrity": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/underscore": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", + "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", + "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" + } + ], + "peer": true, + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.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==", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uuid-parse": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", + "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", + "dev": true, + "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/validator": { + "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", + "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", + "dev": true, + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", + "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.3.1", + "@vitest/runner": "1.3.1", + "@vitest/snapshot": "1.3.1", + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.3.1", + "@vitest/ui": "1.3.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", + "dev": true, + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "peer": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.90.3", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz", + "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==", + "dev": true, + "peer": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.5", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.9.0", + "browserslist": "^4.21.10", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.15.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.2.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.10", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "peer": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack/node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "peer": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/webpack/node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", + "dev": true, + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "devOptional": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "dev": true, + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "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/xmlcreate": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "engines": { + "node": ">=0.4" + } + }, + "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/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "engines": { + "node": ">=6" + } + }, + "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, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/z-schema": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", + "dev": true, + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/z-schema/node_modules/commander": { + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", + "dev": true, + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "thebeast": { + "name": "@rusty-motors/thebeast", + "version": "1.0.0", + "license": "AGPL-3.0", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "^7.102.0", + "@sentry/profiling-node": "^7.102.0", + "@types/connect": "^3.4.38", + "fastify": "^4.25.2", + "moment": "^2.30.1", + "pino": "^8.18.0", + "pino-pretty": "^10.3.1", + "short-unique-id": "^5.0.3", + "slonik": "^37.2.0", + "sqlite3": "^5.1.7", + "ts-node": "10.9.2", + "tslib": "^2.6.2" + }, + "devDependencies": { + "@sentry/cli": "^2.23.2", + "@tsconfig/node-lts": "^20.1.1", + "@tsconfig/node20": "^20.1.2", + "@types/chai": "4.3.11", + "@types/node": "^20.10.6", + "@types/sinon": "17.0.3", + "@types/sinon-chai": "3.2.12", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", + "@vitest/coverage-v8": "^1.1.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "5.1.2", + "jsdoc": "^4.0.2", + "prettier": "3.1.1", + "prettier-eslint": "16.2.0", + "tsx": "4.7.0", + "typescript": "^5.3.3", + "typescript-eslint-language-service": "^5.0.5", + "vitest": "^1.1.1", + "zod": "^3.22.4" + } + }, + "thebeast/node_modules/get-stack-trace": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-3.1.1.tgz", + "integrity": "sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==", + "dependencies": { + "stacktrace-parser": "^0.1.10" + }, + "engines": { + "node": ">=18.0" + } + }, + "thebeast/node_modules/pg-types": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", + "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.1.0", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "thebeast/node_modules/pg-types/node_modules/postgres-interval": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", + "engines": { + "node": ">=12" + } + }, + "thebeast/node_modules/postgres-bytea": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", + "dependencies": { + "obuf": "~1.1.2" + }, + "engines": { + "node": ">= 6" + } + }, + "thebeast/node_modules/postgres-date": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", + "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", + "engines": { + "node": ">=12" + } + }, + "thebeast/node_modules/prettier": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "thebeast/node_modules/slonik": { + "version": "37.2.0", + "resolved": "https://registry.npmjs.org/slonik/-/slonik-37.2.0.tgz", + "integrity": "sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==", + "dependencies": { + "@types/pg": "^8.10.7", + "es6-error": "^4.1.1", + "get-stack-trace": "^3.1.1", + "iso8601-duration": "^1.3.0", + "pg": "^8.11.3", + "pg-protocol": "^1.6.0", + "pg-query-stream": "^4.5.3", + "pg-types": "^4.0.1", + "postgres-array": "^3.0.2", + "postgres-interval": "^4.0.1", + "roarr": "^7.18.3", + "safe-stable-stringify": "^2.4.3", + "serialize-error": "^8.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3" + } + } + } +} diff --git a/package.json b/package.json index c7719dbe3..19fb9ad65 100644 --- a/package.json +++ b/package.json @@ -1,32 +1,35 @@ { - "name": "rusty-motors", - "version": "1.0.0", - "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", - "main": "index.js", - "type": "module", - "scripts": { - "start": "clear && yarn workspace @rusty-motors/thebeast start", - "test": "clear && yarn workspace @rusty-motors/thebeast test" - }, - "author": "Molly Crendraven ", - "license": "AGPL-3.0", - "private": true, - "repository": { - "type": "git", - "url": "git@github.com:drazisil/mcos.git" - }, - "workspaces": [ - "thebeast" - ], - "packageManager": "yarn@4.1.0", - "devDependencies": { - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.2.2" - }, - "dependencies": { - "slonik": "29" - } + "name": "rusty-motors", + "version": "1.0.0", + "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", + "main": "index.js", + "type": "module", + "scripts": { + "lint": "eslint --fix . && prettier --write .", + "build": "tsc", + "postinstall": "npm run build", + "test": "node --openssl-legacy-provider node_modules/.bin/vitest run", + "start": "node --openssl-legacy-provider --env-file=.env dist/thebeast/server.js" + }, + "author": "Molly Crendraven ", + "license": "AGPL-3.0", + "private": true, + "repository": { + "type": "git", + "url": "git@github.com:drazisil/mcos.git" + }, + "workspaces": [ + "thebeast" + ], + "devDependencies": { + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "prettier": "3.2.4", + "ts-loader": "^9.5.1", + "typescript": "^5.3.3", + "vitest": "^1.2.2" + }, + "dependencies": { + "slonik": "29" + } } diff --git a/thebeast/lib/nps/messageProcessors/index.ts b/thebeast/lib/nps/messageProcessors/index.ts index 57e1be4c5..f249e1f3e 100644 --- a/thebeast/lib/nps/messageProcessors/index.ts +++ b/thebeast/lib/nps/messageProcessors/index.ts @@ -11,6 +11,7 @@ import { processFirstBuddy } from "./processGetFirstBuddy.js"; import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { processPing } from "./processPing.js"; +import { log } from "../../../packages/shared/log.js"; export type SocketCallback = (messages: Buffer[]) => void; @@ -50,6 +51,7 @@ export function getGameMessageProcessor(messageId: number): MessageProcessor { // @ts-ignore - we know this will be defined since we checked above return gameMessageProcessors.get(messageId); } + log.error(`No message processor found for message id ${messageId}`); throw new MessageProcessorError(messageId, "No message processor found"); } @@ -80,5 +82,6 @@ export function getPortMessageType(port: number): string { // @ts-ignore - we know this will be defined since we checked above return portToMessageTypes.get(port); } + log.error(`No message type found for port ${port}`); throw new PortMapError(port, "No message type found"); } diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts index 9684e935b..e65a750dd 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -28,6 +28,7 @@ export async function processEncryptedGameCommand( // If the session doesn't exist, return if (!session) { + log.error(`Session not found for connection ID ${connectionId}`); throw new Error(`Session not found for connection ID ${connectionId}`); } @@ -47,7 +48,7 @@ export async function processEncryptedGameCommand( setEncryptionSession(newSession); encryptionSession = newSession; } catch (error) { - log.info(error as string); + log.error(`Error creating encryption session: ${error}`); throw new Error("Error creating encryption session"); } diff --git a/thebeast/lib/nps/messageProcessors/processGameLogin.ts b/thebeast/lib/nps/messageProcessors/processGameLogin.ts index aa8064ff4..d37239641 100644 --- a/thebeast/lib/nps/messageProcessors/processGameLogin.ts +++ b/thebeast/lib/nps/messageProcessors/processGameLogin.ts @@ -29,6 +29,7 @@ export async function processGameLogin( const session = await getUserSessionByCustomerId(customerId); if (!session) { + log.error(`Session not found for customer ID ${customerId}`); throw new Error(`Session not found for customer ID ${customerId}`); } diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts b/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts index 6f3f635f3..c59fa6efd 100644 --- a/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts +++ b/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts @@ -51,7 +51,7 @@ export async function processGetProfileInfo( socketCallback([outMessage.serialize()]); } catch (error) { - log.info(error as string); + log.error(`Error sending profile info: ${error}`); throw new Error("Error sending profile info"); } } diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts b/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts index 5fbc7c07c..b36e48516 100644 --- a/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts +++ b/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts @@ -56,7 +56,7 @@ export async function processGetProfileMaps( socketCallback([outMessage.serialize()]); } catch (error) { - log.info(error as string); + log.error(`Error sending profile info: ${error}`); throw new Error("Error sending profile info"); } } diff --git a/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts b/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts index a99eab455..afb4220cb 100644 --- a/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts +++ b/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts @@ -30,6 +30,7 @@ export async function processLobbyLogin( // If the session doesn't exist, return if (!session) { + log.error(`Session not found for profile ID ${profileId}`); throw new Error(`Session not found for profile ID ${profileId}`); } diff --git a/thebeast/lib/nps/messageStructs/GameMessage.ts b/thebeast/lib/nps/messageStructs/GameMessage.ts index 59006a72e..b541e3f48 100644 --- a/thebeast/lib/nps/messageStructs/GameMessage.ts +++ b/thebeast/lib/nps/messageStructs/GameMessage.ts @@ -1,3 +1,4 @@ +import { log } from "../../../packages/shared/log.js"; import { ISerializable, IMessageHeader, IMessage } from "../types.js"; export class MessageHeader implements IMessageHeader { @@ -7,6 +8,7 @@ export class MessageHeader implements IMessageHeader { constructor(version: 0 | 257, id: number, length: number) { if (version !== 0 && version !== 257) { + log.error(`Invalid version ${version}`); throw new Error(`Invalid version ${version}`); } this.version = version; @@ -31,6 +33,7 @@ export class MessageHeader implements IMessageHeader { } setVersion(version: 0 | 257): void { if (version !== 0 && version !== 257) { + log.error(`Invalid version ${version}`); throw new Error("Invalid version"); } this.version = version; @@ -80,6 +83,9 @@ export class MessageHeader implements IMessageHeader { deserialize(data: Buffer): void { if (data.length < 4) { + log.error( + `Data is too short. Expected at least 4 bytes, got ${data.length} bytes`, + ); throw new Error("Data is too short"); } @@ -103,6 +109,9 @@ export class SerializableData implements ISerializable { deserialize(data: Buffer): void { if (data.length > this.data.length) { + log.error( + `Data is too long. Expected at most ${this.data.length} bytes, got ${data.length} bytes`, + ); throw new Error( `Data is too long. Expected at most ${this.data.length} bytes, got ${data.length} bytes`, ); @@ -154,6 +163,11 @@ export class GameMessage implements IMessage { } deserialize(data: Buffer): void { if (data.length < this.header.getDataOffset()) { + log.error( + `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ + data.length + } bytes`, + ); throw new Error( `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ data.length diff --git a/thebeast/lib/nps/messageStructs/GameProfile.ts b/thebeast/lib/nps/messageStructs/GameProfile.ts index d4842508e..7560a769b 100644 --- a/thebeast/lib/nps/messageStructs/GameProfile.ts +++ b/thebeast/lib/nps/messageStructs/GameProfile.ts @@ -6,6 +6,7 @@ import { getLenString, getShortBool, } from "../utils/pureGet.js"; +import { log } from "../../../packages/shared/log.js"; export class GameProfile implements ISerializable { customerId: number; // 4 bytes diff --git a/thebeast/lib/nps/messageStructs/MiniRiffList.ts b/thebeast/lib/nps/messageStructs/MiniRiffList.ts index 50e4500d3..258549328 100644 --- a/thebeast/lib/nps/messageStructs/MiniRiffList.ts +++ b/thebeast/lib/nps/messageStructs/MiniRiffList.ts @@ -13,6 +13,7 @@ export class MiniRiffInfo implements ISerializable { constructor(riffName: string, riffId: number, population: number) { if (riffName.length > 32) { + log.error(`Riff name too long: ${riffName}`); throw new Error(`Riff name too long: ${riffName}`); } diff --git a/thebeast/lib/nps/messageStructs/MiniUserList.ts b/thebeast/lib/nps/messageStructs/MiniUserList.ts index a6fa6645a..54aaf866f 100644 --- a/thebeast/lib/nps/messageStructs/MiniUserList.ts +++ b/thebeast/lib/nps/messageStructs/MiniUserList.ts @@ -1,6 +1,6 @@ -import { e } from "vitest/dist/reporters-1evA5lom.js"; import { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; +import { log } from "../../../packages/shared/log.js"; export class MiniUserInfo implements ISerializable { userId: number; // 4 bytes @@ -8,6 +8,7 @@ export class MiniUserInfo implements ISerializable { constructor(userId: number, userName: string) { if (userName.length > 32) { + log.error(`User name too long: ${userName}`); throw new Error(`User name too long: ${userName}`); } diff --git a/thebeast/lib/nps/messageStructs/UserInfo.ts b/thebeast/lib/nps/messageStructs/UserInfo.ts index 7df00043c..2958e10d6 100644 --- a/thebeast/lib/nps/messageStructs/UserInfo.ts +++ b/thebeast/lib/nps/messageStructs/UserInfo.ts @@ -1,3 +1,4 @@ +import { log } from "../../../packages/shared/log.js"; import { ISerializable } from "../types.js"; export class UserInfo implements ISerializable { @@ -7,6 +8,7 @@ export class UserInfo implements ISerializable { constructor(id: number, name: string) { if (name.length > 31) { + log.error(`Profile name too long: ${name}`); throw new Error( `Profile name too long: ${name}, max length is 31, got ${name.length}`, ); diff --git a/thebeast/package.json b/thebeast/package.json index 7effe898b..b3d8c16f4 100644 --- a/thebeast/package.json +++ b/thebeast/package.json @@ -10,7 +10,7 @@ "url": "git@github.com:drazisil/mcos.git" }, "scripts": { - "test": "yarn tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider $(yarn bin vitest) run --coverage packages lib", + "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/.bin/vitest run", "prod": "make prod_node", "prod:stop": "docker-compose stop", "release": "standard-version --sign", diff --git a/thebeast/packages/core/src/serializationHelpers.ts b/thebeast/packages/core/src/serializationHelpers.ts index 92876694c..4a8bee6c1 100644 --- a/thebeast/packages/core/src/serializationHelpers.ts +++ b/thebeast/packages/core/src/serializationHelpers.ts @@ -1,3 +1,5 @@ +import { log } from "../../shared/log.js"; + /** * Clamp a value between 0 and 255 * @param {number} value @@ -148,6 +150,9 @@ export function deserializeFloat(buff: Buffer): number { export function deserializeString(buf: Buffer): string { const size = buf.readUInt16BE(); if (size > buf.length - 2) { + log.error( + `Size is bigger than the buffer length - 2. Size: ${size}, Buffer length: ${buf.length}`, + ); throw new Error("Size is bigger than the buffer length - 2"); } const str = buf.subarray(2, size + 2).toString("utf8"); diff --git a/thebeast/packages/database/src/DatabaseManager.ts b/thebeast/packages/database/src/DatabaseManager.ts index 8cd3eb0d7..024d72d29 100644 --- a/thebeast/packages/database/src/DatabaseManager.ts +++ b/thebeast/packages/database/src/DatabaseManager.ts @@ -3,7 +3,7 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger, log } from "../../shared/log.js"; /** * @module Database @@ -71,6 +71,7 @@ export class Database { const err = new Error( `Session key not found for customer ${customerId}`, ); + log.error(`Session key not found for customer ${customerId}`); throw err; } return record; @@ -93,6 +94,7 @@ export class Database { const err = new Error( `Session key not found for connection ${connectionId}`, ); + log.error(`Session key not found for connection ${connectionId}`); throw err; } return record; @@ -132,6 +134,9 @@ export class Database { const err = new Error( "Error updating session key: existing key not found", ); + log.error( + `Error updating session key: existing key not found for ${customerId}`, + ); throw err; } this._sessions.splice(record, 1, updatedSession); diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts index 75d98dc04..639da6d4e 100644 --- a/thebeast/packages/database/src/models/VehiclePartTree.ts +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -221,6 +221,7 @@ export async function saveVehiclePartTree( partTree.level1.parts.find((p) => p.partId === partId) || partTree.level2.parts.find((p) => p.partId === partId); if (!part) { + log.error(`Part with partId ${partId} not found`); throw new Error(`Part with partId ${partId} not found`); } await savePart(part); @@ -244,6 +245,7 @@ export async function buildVehiclePartTreeFromDB( `); if (!vehicle) { + log.error(`Vehicle with id ${vehicleId} does not exist`); throw new Error(`Vehicle with id ${vehicleId} does not exist`); } @@ -280,6 +282,7 @@ export async function buildVehiclePartTreeFromDB( `); if (!part) { + log.error(`Part with id ${vehicleId} does not exist`); throw new Error(`Part with id ${vehicleId} does not exist`); } @@ -293,6 +296,7 @@ export async function buildVehiclePartTreeFromDB( `); if (level1Parts.length === 0) { + log.error(`Vehicle with id ${vehicleId} has no parts`); throw new Error(`Vehicle with id ${vehicleId} has no parts`); } @@ -333,6 +337,7 @@ export async function buildVehiclePartTreeFromDB( `); if (level2Parts.length === 0) { + log.error(`Vehicle with id ${vehicleId} has no level 2 parts`); throw new Error(`Vehicle with id ${vehicleId} has no level 2 parts`); } @@ -380,6 +385,7 @@ export async function buildVehiclePartTree({ isStock: boolean; }): Promise { if (ownedLotId === undefined && ownerID === undefined) { + log.error(`ownedLotId or ownerID is required`); throw new Error("ownedLotId or ownerID is required"); } @@ -390,6 +396,7 @@ export async function buildVehiclePartTree({ `); if (!skinFlags) { + log.error(`Skin with id ${skinId} does not exist`); throw new Error(`Skin with id ${skinId} does not exist`); } @@ -406,6 +413,9 @@ export async function buildVehiclePartTree({ `); if (vehicleAssembly.length === 0) { + log.error( + `Vehicle assembly with branded part id ${brandedPartId} does not exist`, + ); throw new Error( `Vehicle assembly with branded part id ${brandedPartId}`, ); @@ -461,7 +471,6 @@ export async function buildVehiclePartTree({ log.error( `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, ); - console.dir(partNumbersMap); throw new Error( `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, ); @@ -493,6 +502,7 @@ export async function buildVehiclePartTree({ } else if (partDepth === 2) { vehiclePartTree.partTree.level2.parts.push(newPart); } else { + log.error(`Part depth ${partDepth} is not supported`); throw new Error(`Part depth ${partDepth} is not supported`); } } diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts index 39f29a3e8..e79dd1771 100644 --- a/thebeast/packages/database/src/services/admin.ts +++ b/thebeast/packages/database/src/services/admin.ts @@ -1,5 +1,6 @@ import { DatabaseTransactionConnection } from "slonik"; import { slonik, createSqlTag, z } from "./database.js"; +import { log } from "../../../shared/log.js"; async function playerExists(playerId: number): Promise { return await slonik.exists(sql.typeAlias("id")` @@ -69,6 +70,7 @@ async function getAbstractPartTypeIDForBrandedPartID( WHERE bp.brandedpartid = ${brandedPartId} `); if (!abstractPartTypeId) { + log.error(`branded part with id ${brandedPartId} does not exist`); throw new Error(`branded part with id ${brandedPartId} does not exist`); } return abstractPartTypeId.abstractparttypeid; @@ -93,10 +95,12 @@ export async function createNewCar( newCarOwnerId: number, ): Promise { if (!playerExists(newCarOwnerId)) { + log.error("player does not exist"); throw new Error("player does not exist"); } if (!skinExists(skinId)) { + log.error("skin does not exist"); throw new Error("skin does not exist"); } @@ -107,6 +111,7 @@ export async function createNewCar( console.dir(abstractPartTypeId); if (!isAbstractPartTypeAVehicle(abstractPartTypeId)) { + log.error(`branded part with id ${brandedPartId} is not a vehicle`); throw new Error( `branded part with id ${brandedPartId} is not a vehicle`, ); @@ -145,6 +150,7 @@ export async function createNewCar( // First insert the new car into the vehicle table if (tmpParts.length === 0) { + log.error(`No parts found for the vehicle ${brandedPartId}`); throw new Error("No parts found for the vehicle"); } @@ -153,6 +159,7 @@ export async function createNewCar( // Make sure the first part's branded part id is not null if (tmpParts[0].brandedPartId === null) { + log.error("The first part's branded part id is null"); throw new Error("The first part's branded part id is null"); } @@ -220,11 +227,13 @@ export async function createNewCar( }); if (vehicleId === null) { + log.error("vehicleId is null"); throw new Error("vehicleId is null"); } return vehicleId; } catch (error) { + log.error("Error creating new car: " + error); throw new Error("Error creating new car: " + error); } } @@ -241,7 +250,7 @@ async function addPart( VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) `); } catch (error) { - console.error("Error adding part: " + error); + log.error("Error adding part: " + error); throw new Error("Error adding part: " + error); } } @@ -281,7 +290,7 @@ async function getPart( scrapValue: part.scrapvalue, }; } catch (error) { - console.error("Error adding part: " + error); + log.error("Error getting part: " + error); throw new Error("Error adding part: " + error); } } diff --git a/thebeast/packages/database/src/services/database.js b/thebeast/packages/database/src/services/database.js new file mode 100644 index 000000000..62755f3ec --- /dev/null +++ b/thebeast/packages/database/src/services/database.js @@ -0,0 +1,27 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.z = exports.createSqlTag = exports.sql = exports.slonik = void 0; +var slonik_1 = require("slonik"); +exports.slonik = await (0, slonik_1.createPool)( + "postgres://user:password@localhost:5432/rm", +); +var slonik_2 = require("slonik"); +Object.defineProperty(exports, "sql", { + enumerable: true, + get: function () { + return slonik_2.sql; + }, +}); +Object.defineProperty(exports, "createSqlTag", { + enumerable: true, + get: function () { + return slonik_2.createSqlTag; + }, +}); +var zod_1 = require("zod"); +Object.defineProperty(exports, "z", { + enumerable: true, + get: function () { + return zod_1.z; + }, +}); diff --git a/thebeast/packages/gateway/src/GatewayServer.ts b/thebeast/packages/gateway/src/GatewayServer.ts index 9d4c97ef6..bacd2dc7b 100644 --- a/thebeast/packages/gateway/src/GatewayServer.ts +++ b/thebeast/packages/gateway/src/GatewayServer.ts @@ -109,6 +109,7 @@ export class Gateway { */ getWebServer(): import("fastify").FastifyInstance { if (this.webServer === undefined) { + log.error("webServer is undefined"); throw new Error("webServer is undefined"); } return this.webServer; @@ -145,6 +146,7 @@ export class Gateway { }); if (this.webServer === undefined) { + log.error("webServer is undefined"); throw new Error("webServer is undefined"); } @@ -200,6 +202,7 @@ export class Gateway { } if (this.webServer === undefined) { + log.error("webServer is undefined"); throw new Error("webServer is undefined"); } await this.webServer.close(); @@ -242,6 +245,7 @@ export class Gateway { // Register the read thread events if (this.readThread === undefined) { + log.error("readThread is undefined"); throw new Error("readThread is undefined"); } this.consoleEvents.forEach((event) => { diff --git a/thebeast/packages/gateway/src/encryption.ts b/thebeast/packages/gateway/src/encryption.ts index 6ed7335d4..45aa75200 100644 --- a/thebeast/packages/gateway/src/encryption.ts +++ b/thebeast/packages/gateway/src/encryption.ts @@ -16,6 +16,7 @@ import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; import { McosEncryptionPair } from "../../shared/State.js"; +import { log } from "../../shared/log.js"; /** * This function creates a new encryption pair for use with the game server @@ -26,6 +27,7 @@ import { McosEncryptionPair } from "../../shared/State.js"; export function createCommandEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { const err = new Error("Key too short"); + log.error(`Key too short: ${key}`); throw err; } @@ -57,6 +59,7 @@ export function createCommandEncryptionPair(key: string): McosEncryptionPair { export function createDataEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { const err = new Error("Key too short"); + log.error(`Key too short: ${key}`); throw err; } @@ -79,10 +82,12 @@ export function verifyLegacyCipherSupport() { const cipherList = getCiphers(); if (!cipherList.includes("des-cbc")) { const err = new Error("DES-CBC cipher not available"); + log.error("DES-CBC cipher not available"); throw err; } if (!cipherList.includes("rc4")) { const err = new Error("RC4 cipher not available"); + log.error("RC4 cipher not available"); throw err; } } diff --git a/thebeast/packages/gateway/src/index.ts b/thebeast/packages/gateway/src/index.ts index a14d47830..d0bbaf86b 100644 --- a/thebeast/packages/gateway/src/index.ts +++ b/thebeast/packages/gateway/src/index.ts @@ -79,6 +79,7 @@ export function socketErrorHandler({ log.debug(`Connection ${connectionId} reset`); return; } + log.error(`Socket error: ${error.message} on connection ${connectionId}`); throw new Error( `Socket error: ${error.message} on connection ${connectionId}`, ); @@ -123,6 +124,7 @@ export function onSocketConnection({ const { localPort, remoteAddress } = incomingSocket; if (localPort === undefined || remoteAddress === undefined) { + log.error("localPort or remoteAddress is undefined"); throw new Error("localPort or remoteAddress is undefined"); } @@ -161,11 +163,8 @@ export function onSocketConnection({ messageType = getPortMessageType(localPort); log.debug(`Message type: ${messageType}`); } catch (error) { - if (error instanceof PortMapError) { - log.error(`Error getting message type: ${error}`); - } else { - throw error; - } + log.error(`Error getting message type: ${error}`); + throw error; } if (messageType !== "Unknown") { @@ -270,6 +269,7 @@ export function processGameMessage( // Call the message processor messageProcessor(connectionId, message, socketCallback); } catch (error) { + log.error(`Error processing message: ${error}`); throw new MessageProcessorError( messageId, `Error processing message: ${error}`, @@ -307,9 +307,8 @@ export function handleGameMessage( processGameMessage(connectionId, message, log, socketCallback); t.finish(); } catch (error) { - if (error instanceof MessageProcessorError) { - log.error(`Error processing message: ${error}`); - } else { + log.error(`Error processing message: ${error}`); + if (error! instanceof MessageProcessorError) { throw error; } } diff --git a/thebeast/packages/gateway/src/web.ts b/thebeast/packages/gateway/src/web.ts index a66b3e011..1e3903ece 100644 --- a/thebeast/packages/gateway/src/web.ts +++ b/thebeast/packages/gateway/src/web.ts @@ -24,6 +24,7 @@ import { } from "../../shard/src/index.js"; import { checkPassword, getUser } from "../../../lib/nps/services/account.js"; import { generateToken } from "../../../lib/nps/services/token.js"; +import { log } from "../../shared/log.js"; /** * Add web routes to the web server @@ -109,6 +110,7 @@ export async function addWebRoutes( webServer.get("/ShardList/", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { + log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(generateShardList(config.host)); @@ -117,6 +119,7 @@ export async function addWebRoutes( webServer.get("/cert", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { + log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetCert(config)); @@ -125,6 +128,7 @@ export async function addWebRoutes( webServer.get("/key", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { + log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetKey(config)); @@ -133,6 +137,7 @@ export async function addWebRoutes( webServer.get("/registry", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { + log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetRegistry(config)); diff --git a/thebeast/packages/interfaces/index.d.ts b/thebeast/packages/interfaces/index.d.ts index d68b598fc..bbfe7ce5f 100644 --- a/thebeast/packages/interfaces/index.d.ts +++ b/thebeast/packages/interfaces/index.d.ts @@ -17,18 +17,10 @@ export const name = "interfaces"; * @exports * @interface */ -interface SerializedObject { +export interface SerializedObject { serialize: () => Buffer; serializeSize: () => number; } -export const SerializedObject = { - serialize() { - throw new ServerError("Not implemented"); - }, - serializeSize() { - throw new ServerError("Not implemented"); - }, -}; interface EncryptionSession { connectionId: string; diff --git a/thebeast/packages/lobby/src/handlers/_setMyUserData.ts b/thebeast/packages/lobby/src/handlers/_setMyUserData.ts index b95c41e9e..317dc2a96 100644 --- a/thebeast/packages/lobby/src/handlers/_setMyUserData.ts +++ b/thebeast/packages/lobby/src/handlers/_setMyUserData.ts @@ -45,6 +45,7 @@ export async function _setMyUserData({ message: packetResult, }; } catch (error) { + log.error(`Error handling NPS_SET_MY_USER_DATA: ${String(error)}`); throw Error(`Error handling NPS_SET_MY_USER_DATA: ${String(error)}`); } } diff --git a/thebeast/packages/lobby/src/handlers/encryptedCommand.ts b/thebeast/packages/lobby/src/handlers/encryptedCommand.ts index 2d985e1d9..c3f7034d0 100644 --- a/thebeast/packages/lobby/src/handlers/encryptedCommand.ts +++ b/thebeast/packages/lobby/src/handlers/encryptedCommand.ts @@ -72,6 +72,9 @@ async function encryptCmd({ const encryption = getEncryption(state, connectionId); if (typeof encryption === "undefined") { + log.error( + `Unable to locate encryption session for connection id ${connectionId}`, + ); throw new Error( `Unable to locate encryption session for connection id ${connectionId}`, ); @@ -120,6 +123,9 @@ async function decryptCmd({ const encryption = getEncryption(state, connectionId); if (typeof encryption === "undefined") { + log.error( + `Unable to locate encryption session for connection id ${connectionId}`, + ); throw new Error( `Unable to locate encryption session for connection id ${connectionId}`, ); @@ -208,6 +214,7 @@ async function handleCommand({ const handler = npsCommandHandlers.find((h) => h.opCode === command); if (typeof handler === "undefined") { + log.error(`Unknown command: ${command}`); throw new Error(`Unknown command: ${command}`); } diff --git a/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts b/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts index 68fca0e55..87145f0c7 100644 --- a/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -71,6 +71,7 @@ export async function handleGetMiniUserList({ message: packetResult, }; } catch (error) { + log.error(`Error handling NPS_MINI_USER_LIST: ${String(error)}`); throw Error(`Error handling NPS_MINI_USER_LIST: ${String(error)}`); } } diff --git a/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts index 636d9bee6..43eef2e5e 100644 --- a/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -62,6 +62,7 @@ export async function handleSendMiniRiffList({ message: packetResult, }; } catch (error) { + log.error(`Error handling NPS_SEND_MINI_RIFF_LIST: ${String(error)}`); throw Error(`Error handling NPS_SEND_MINI_RIFF_LIST: ${String(error)}`); } } diff --git a/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts b/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts index 3450d426b..a6a0ccc7e 100644 --- a/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -64,6 +64,7 @@ export async function _npsRequestGameConnectServer({ id: inboundMessage._userId, }); if (typeof personas[0] === "undefined") { + log.error(`No personas found for userId ${inboundMessage._userId}`); const err = new Error("No personas found."); throw err; } @@ -80,6 +81,11 @@ export async function _npsRequestGameConnectServer({ const keys = await databaseManager .fetchSessionKeyByCustomerId(customerId) .catch((/** @type {unknown} */ error: unknown) => { + log.error( + `Unable to fetch session key for customerId ${customerId.toString()}: ${String( + error, + )}`, + ); throw new Error( `Unable to fetch session key for customerId ${customerId.toString()}: ${String( error, @@ -87,6 +93,9 @@ export async function _npsRequestGameConnectServer({ ); }); if (keys === undefined) { + log.error( + `Error fetching session keys for customerId ${customerId}`, + ); throw new Error("Error fetching session keys!"); } @@ -108,6 +117,7 @@ export async function _npsRequestGameConnectServer({ addEncryption(state, newEncryption).save(); } catch (error) { + log.error(`Error creating encryption: ${error}`); throw new Error(`Error creating encryption: ${error}`); } } diff --git a/thebeast/packages/lobby/src/internal.ts b/thebeast/packages/lobby/src/internal.ts index fbc0f46c9..fa27a28d4 100644 --- a/thebeast/packages/lobby/src/internal.ts +++ b/thebeast/packages/lobby/src/internal.ts @@ -99,6 +99,7 @@ export async function receiveLobbyData({ const dataLength = message.data.length; if (dataLength < 4) { + log.error(`Data length ${dataLength} is too short to deserialize`); throw new Error( `Data length ${dataLength} is too short to deserialize`, ); @@ -126,6 +127,7 @@ export async function receiveLobbyData({ if (typeof supportedHandler === "undefined") { // We do not yet support this message code + log.error(`UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`); throw new Error( `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, ); @@ -141,6 +143,7 @@ export async function receiveLobbyData({ log.debug("Leaving receiveLobbyData"); return result; } catch (error) { + log.error(`Error handling lobby data: ${String(error)}`); throw new Error(`Error handling lobby data: ${String(error)}`); } } diff --git a/tsconfig.json b/tsconfig.json index 079d2e784..12def2bc4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -11,7 +11,15 @@ "forceConsistentCasingInFileNames": true, "strict": true, "skipLibCheck": true, - "noEmit": true, }, - "include": ["src", "test", "packages", "thebeast", "lib", "vite.config.ts"] + "include": [ + "src", + "test", + "packages", + "thebeast", + "lib", + "vite.config.ts", + "server.ts", + "migrate.ts", + ], } diff --git a/vite.config.ts b/vite.config.ts index ea5d2ebff..4414534e6 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -13,7 +13,7 @@ export default defineConfig({ ], reporter: ["lcov", "text", "cobertura"], }, - reporters: ["junit"], - outputFile: "mcos.junit.xml" + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", }, }); diff --git a/yarn.lock b/yarn.lock index 88b120f3c..66759b33f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1,6010 +1,4454 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.1": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/parser@npm:^7.20.15, @babel/parser@npm:^7.23.6": - version: 7.23.9 - resolution: "@babel/parser@npm:7.23.9" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 - languageName: node - linkType: hard - -"@babel/types@npm:^7.23.6, @babel/types@npm:^7.8.3": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 - languageName: node - linkType: hard - -"@eslint/js@npm:8.56.0": - version: 8.56.0 - resolution: "@eslint/js@npm:8.56.0" - checksum: 10c0/60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a - languageName: node - linkType: hard - -"@fastify/ajv-compiler@npm:^3.5.0": - version: 3.5.0 - resolution: "@fastify/ajv-compiler@npm:3.5.0" - dependencies: - ajv: "npm:^8.11.0" - ajv-formats: "npm:^2.1.1" - fast-uri: "npm:^2.0.0" - checksum: 10c0/d10df76b7016984bf70bc6aca99962468ec43e0be5772d4aa3a7735ae78be44fdbcb2c078fe0cfdffec076080dfb7cbdbf4b729e52b168039477126f9d023af0 - languageName: node - linkType: hard - -"@fastify/deepmerge@npm:^1.0.0": - version: 1.3.0 - resolution: "@fastify/deepmerge@npm:1.3.0" - checksum: 10c0/8115ed7b891189ee4ebba554a105cb69111615bdb2961f8c58a80872fac9d7b74b2c6317d545a7d378325d094ce73a91fc9c5d7d6189476779cd5a5493cb1351 - languageName: node - linkType: hard - -"@fastify/error@npm:^3.4.0": - version: 3.4.1 - resolution: "@fastify/error@npm:3.4.1" - checksum: 10c0/1f1a0faa8c86639afb6f4bd47a9cdc1f0f20ce0d6944340fbdec8218aaba91dc9cae9ed78e24e61bceb782a867efda2b9a6320091f00dcbb896d9c8a9bdf5f96 - languageName: node - linkType: hard - -"@fastify/fast-json-stringify-compiler@npm:^4.3.0": - version: 4.3.0 - resolution: "@fastify/fast-json-stringify-compiler@npm:4.3.0" - dependencies: - fast-json-stringify: "npm:^5.7.0" - checksum: 10c0/513ef296f5ed682f7a460cfa6c5fb917a32fc540111b873c9937f944558e021492b18f30f9fd8dd20db252381a4428adbcc9f03a077f16c86d02f081eb490c7b - languageName: node - linkType: hard - -"@fastify/sensible@npm:^5.5.0": - version: 5.5.0 - resolution: "@fastify/sensible@npm:5.5.0" - dependencies: - "@lukeed/ms": "npm:^2.0.1" - fast-deep-equal: "npm:^3.1.1" - fastify-plugin: "npm:^4.0.0" - forwarded: "npm:^0.2.0" - http-errors: "npm:^2.0.0" - type-is: "npm:^1.6.18" - vary: "npm:^1.1.2" - checksum: 10c0/7871d4d09e75f72f8b1564c99a38d28158d1eeb78830dd79160cc0c56c8870ade6bf504c6cc8cca4dcc7726b2b84be80a032f2cbeb0392a60f1466f9b13f9a1d - languageName: node - linkType: hard - -"@gar/promisify@npm:^1.0.1": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.13": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.0": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.22 - resolution: "@jridgewell/trace-mapping@npm:0.3.22" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 - languageName: node - linkType: hard - -"@jsdoc/salty@npm:^0.2.1": - version: 0.2.7 - resolution: "@jsdoc/salty@npm:0.2.7" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/12af140143ff4b3fdd9451f9d89cb5f4cb254e9ca91ac9dbd7ece1b338c490e602819965059e7fe2d9337d4cb44c9fe4fb27b88e65ac3821fed23ab88219f546 - languageName: node - linkType: hard - -"@lukeed/ms@npm:^2.0.1": - version: 2.0.2 - resolution: "@lukeed/ms@npm:2.0.2" - checksum: 10c0/843b922717313bcde4943f478145d8bc13115b9b91d83bbaed53739b5644122984412310aed574792f4e6b492f2cbda178175f601856d310f67e14834c3f17a0 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^2.0.0": - version: 2.2.0 - resolution: "@npmcli/agent@npm:2.2.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.1" - checksum: 10c0/7b89590598476dda88e79c473766b67c682aae6e0ab0213491daa6083dcc0c171f86b3868f5506f22c09aa5ea69ad7dfb78f4bf39a8dca375d89a42f408645b3 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^1.0.0": - version: 1.1.1 - resolution: "@npmcli/fs@npm:1.1.1" - dependencies: - "@gar/promisify": "npm:^1.0.1" - semver: "npm:^7.3.5" - checksum: 10c0/4143c317a7542af9054018b71601e3c3392e6704e884561229695f099a71336cbd580df9a9ffb965d0024bf0ed593189ab58900fd1714baef1c9ee59c738c3e2 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e - languageName: node - linkType: hard - -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" - dependencies: - mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 10c0/02e946f3dafcc6743132fe2e0e2b585a96ca7265653a38df5a3e53fcf26c7c7a57fc0f861d7c689a23fdb6d6836c7eea5050c8086abf3c994feb2208d1514ff0 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.9.6" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-android-arm64@npm:4.9.6" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-darwin-arm64@npm:4.9.6" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-darwin-x64@npm:4.9.6" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.9.6" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.9.6" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.9.6" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.6" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.9.6" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.9.6" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.9.6" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.9.6" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rushstack/ts-command-line@npm:^4.11.0, @rushstack/ts-command-line@npm:^4.12.2": - version: 4.17.1 - resolution: "@rushstack/ts-command-line@npm:4.17.1" - dependencies: - "@types/argparse": "npm:1.0.38" - argparse: "npm:~1.0.9" - colors: "npm:~1.2.1" - string-argv: "npm:~0.3.1" - checksum: 10c0/4fd27d2450a6e71139e67b33d5ecba7abbf3497e7479ab3a96666cf79f207c5a7d4ad4f8de17f43e09bed65a0f28115160a4c5486c8e64f8b472c7145a31c2d2 - languageName: node - linkType: hard - -"@rusty-motors/thebeast@workspace:thebeast": - version: 0.0.0-use.local - resolution: "@rusty-motors/thebeast@workspace:thebeast" - dependencies: - "@fastify/sensible": "npm:^5.5.0" - "@sentry/cli": "npm:^2.23.2" - "@sentry/node": "npm:^7.102.0" - "@sentry/profiling-node": "npm:^7.102.0" - "@tsconfig/node-lts": "npm:^20.1.1" - "@tsconfig/node20": "npm:^20.1.2" - "@types/chai": "npm:4.3.11" - "@types/connect": "npm:^3.4.38" - "@types/node": "npm:^20.10.6" - "@types/sinon": "npm:17.0.3" - "@types/sinon-chai": "npm:3.2.12" - "@typescript-eslint/eslint-plugin": "npm:^6.17.0" - "@typescript-eslint/parser": "npm:^6.17.0" - "@vitest/coverage-v8": "npm:^1.1.1" - eslint: "npm:^8.56.0" - eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-prettier: "npm:5.1.2" - fastify: "npm:^4.25.2" - jsdoc: "npm:^4.0.2" - moment: "npm:^2.30.1" - pino: "npm:^8.18.0" - pino-pretty: "npm:^10.3.1" - prettier: "npm:3.1.1" - prettier-eslint: "npm:16.2.0" - short-unique-id: "npm:^5.0.3" - slonik: "npm:^37.2.0" - sqlite3: "npm:^5.1.7" - ts-node: "npm:10.9.2" - tslib: "npm:^2.6.2" - tsx: "npm:4.7.0" - typescript: "npm:^5.3.3" - typescript-eslint-language-service: "npm:^5.0.5" - vitest: "npm:^1.1.1" - zod: "npm:^3.22.4" - languageName: unknown - linkType: soft - -"@sentry-internal/tracing@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry-internal/tracing@npm:7.102.0" - dependencies: - "@sentry/core": "npm:7.102.0" - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/d99a67bd239c4615b35c0b3dadde7949a9e640d87518b8e8d062543ca33bf7921154db15d3460ce23c00d8b420744aec9f0a4c9fc63ebb0b9ce8878b13c7db55 - languageName: node - linkType: hard - -"@sentry/cli-darwin@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-darwin@npm:2.27.0" - conditions: os=darwin - languageName: node - linkType: hard - -"@sentry/cli-linux-arm64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-arm64@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=arm64 - languageName: node - linkType: hard - -"@sentry/cli-linux-arm@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-arm@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=arm - languageName: node - linkType: hard - -"@sentry/cli-linux-i686@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-i686@npm:2.27.0" - conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32) - languageName: node - linkType: hard - -"@sentry/cli-linux-x64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-x64@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=x64 - languageName: node - linkType: hard - -"@sentry/cli-win32-i686@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-win32-i686@npm:2.27.0" - conditions: os=win32 & (cpu=x86 | cpu=ia32) - languageName: node - linkType: hard - -"@sentry/cli-win32-x64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-win32-x64@npm:2.27.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@sentry/cli@npm:^2.23.2": - version: 2.27.0 - resolution: "@sentry/cli@npm:2.27.0" - dependencies: - "@sentry/cli-darwin": "npm:2.27.0" - "@sentry/cli-linux-arm": "npm:2.27.0" - "@sentry/cli-linux-arm64": "npm:2.27.0" - "@sentry/cli-linux-i686": "npm:2.27.0" - "@sentry/cli-linux-x64": "npm:2.27.0" - "@sentry/cli-win32-i686": "npm:2.27.0" - "@sentry/cli-win32-x64": "npm:2.27.0" - https-proxy-agent: "npm:^5.0.0" - node-fetch: "npm:^2.6.7" - progress: "npm:^2.0.3" - proxy-from-env: "npm:^1.1.0" - which: "npm:^2.0.2" - dependenciesMeta: - "@sentry/cli-darwin": - optional: true - "@sentry/cli-linux-arm": - optional: true - "@sentry/cli-linux-arm64": - optional: true - "@sentry/cli-linux-i686": - optional: true - "@sentry/cli-linux-x64": - optional: true - "@sentry/cli-win32-i686": - optional: true - "@sentry/cli-win32-x64": - optional: true - bin: - sentry-cli: bin/sentry-cli - checksum: 10c0/46573db9c02c1769c15a1fdcbc76b92947fe0f11c36f75cbcd151a10c4a3c1a4429eb7443a24815e0fc3d74f037079b4f7d9b15e232f5ead4e32e5c5e7c7a345 - languageName: node - linkType: hard - -"@sentry/core@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/core@npm:7.102.0" - dependencies: - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/454333e30a3ad5f30cab4bd1d5975727de7971665f8dbbe84d82a0e62e6825d382ef0030b76a6a80e6ddb6fcbf3b01b6bf209feb878e72ff71c5a7f07256f4d1 - languageName: node - linkType: hard - -"@sentry/node@npm:^7.102.0": - version: 7.102.0 - resolution: "@sentry/node@npm:7.102.0" - dependencies: - "@sentry-internal/tracing": "npm:7.102.0" - "@sentry/core": "npm:7.102.0" - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/b9361fcbf1fa39d5e8286750e0a441c151fc33ad97ff79bdcd594a65eb1bcf235cef8b88992f6c685894b2d10c49ed5bd92f904bf8cc1aa809aa4dee0c8c1f0e - languageName: node - linkType: hard - -"@sentry/profiling-node@npm:^7.102.0": - version: 7.102.0 - resolution: "@sentry/profiling-node@npm:7.102.0" - dependencies: - detect-libc: "npm:^2.0.2" - node-abi: "npm:^3.52.0" - node-gyp: "npm:latest" - bin: - sentry-prune-profiler-binaries: scripts/prune-profiler-binaries.js - checksum: 10c0/94573aca88f277ce1efdd4d4053bda933ce7ce53b9a285f737767cf912073f2ae9929ebe75cd0bb7b9a18e765805d71c92cb56818f4f0d7603e587646b71ba93 - languageName: node - linkType: hard - -"@sentry/types@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/types@npm:7.102.0" - checksum: 10c0/9c73ce0882970e3c0882f423b528da8f03946c18581eecb9f478577da38f95efd872f7f551b926f42a2124cad6a97d58cef7fbc012afcd10d11b02ac2b75c21b - languageName: node - linkType: hard - -"@sentry/utils@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/utils@npm:7.102.0" - dependencies: - "@sentry/types": "npm:7.102.0" - checksum: 10c0/2ec1a28e71706633a3eca80dce75e93d6c651cda2a9198e7574823b7643ca21038e035a4b858daf7a28f900c71a3c59c47c8714534eb9818120dc2ae9c893e7e - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@slonik/migrator@npm:^0.12.0": - version: 0.12.0 - resolution: "@slonik/migrator@npm:0.12.0" - dependencies: - "@rushstack/ts-command-line": "npm:^4.11.0" - umzug: "npm:^3.1.1" - peerDependencies: - slonik: 27 - 29 - checksum: 10c0/8ceb36ab0b83d78cea7443b2c8fff19dafd79eceae9ab5d0e1da1daa09f459ea68b6484807281036fd8be87b505c88d07141ba64975e6aa422bc1a86df1e2336 - languageName: node - linkType: hard - -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: 10c0/8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 - languageName: node - linkType: hard - -"@tsconfig/node-lts@npm:^20.1.1": - version: 20.1.1 - resolution: "@tsconfig/node-lts@npm:20.1.1" - checksum: 10c0/cd78a6680be8a4f38e60a3fccc1f940bdc420c1f27563268ebff87e64e425ce59a414272333474ca6b3b85304037b51ade71ae5fd58f6661ceaa3a8daf291838 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: 10c0/c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@tsconfig/node20@npm:^20.1.2": - version: 20.1.2 - resolution: "@tsconfig/node20@npm:20.1.2" - checksum: 10c0/e438fa9b93f0e6ea667affbbd3217692bf3f92db1b3dcbfba1dd141a7dbcd647c19ed87ce76871c723bed398759ec4a5590685f3e669b600c9371f143a19e0c1 - languageName: node - linkType: hard - -"@types/argparse@npm:1.0.38": - version: 1.0.38 - resolution: "@types/argparse@npm:1.0.38" - checksum: 10c0/4fc892da5df16923f48180da2d1f4562fa8b0507cf636b24780444fa0a1d7321d4dc0c0ecbee6152968823f5a2ae0d321b4f8c705a489bf1ae1245bdeb0868fd - languageName: node - linkType: hard - -"@types/chai@npm:*, @types/chai@npm:4.3.11": - version: 4.3.11 - resolution: "@types/chai@npm:4.3.11" - checksum: 10c0/0c216ac4a19bfbf8318bb104d32e50704ee2ffc4b538b976c4326e6638fee121462402caa570662227a2a218810388aadb14bdbd3d3d474ec300b00695db448a - languageName: node - linkType: hard - -"@types/connect@npm:^3.4.38": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - -"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/json-schema@npm:^7.0.12": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - -"@types/linkify-it@npm:*": - version: 3.0.5 - resolution: "@types/linkify-it@npm:3.0.5" - checksum: 10c0/696e09975991c649ba37c5585714929fdebf5c64a8bfb99910613ef838337dbbba6c608fccdfa03d6347432586ef12e139bc0e947ae6fec569096fef5cc1c550 - languageName: node - linkType: hard - -"@types/markdown-it@npm:^12.2.3": - version: 12.2.3 - resolution: "@types/markdown-it@npm:12.2.3" - dependencies: - "@types/linkify-it": "npm:*" - "@types/mdurl": "npm:*" - checksum: 10c0/f72e08f69d76be2e30cd367fd6e5302c6878aa44e5b1a952fe7e41280044502bcb9bac8459ad94f6bb5e4f9c4cb52803950609ad66786f0fddc3a8bd533f777d - languageName: node - linkType: hard - -"@types/mdurl@npm:*": - version: 1.0.5 - resolution: "@types/mdurl@npm:1.0.5" - checksum: 10c0/8991c781eb94fb3621e48e191251a94057908fc14be60f52bdd7c48684af923ffa77559ea979450a0475f85c08f8a472f99ff9c2ca4308961b9b9d35fd7584f7 - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:^20.10.6": - version: 20.11.13 - resolution: "@types/node@npm:20.11.13" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/8ff8526fa0dbabcf4e9c538c6a7220675f750c39d0794e34998daa0656d7e0dfdf3e47403d2ab8beb756422a517e1f2646b4494afa59ef330495d65fc58fa4d8 - languageName: node - linkType: hard - -"@types/node@npm:^20.11.16": - version: 20.11.16 - resolution: "@types/node@npm:20.11.16" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/4886b90278e9c877a84efd3edd4667cd990e032d77268d2a798b99ebc1901ea336fa7dfbe9eaf4ad6ad1da9ce2ec31baf300038a3905838692362eb19904ebde - languageName: node - linkType: hard - -"@types/pg@npm:^8.10.7": - version: 8.11.0 - resolution: "@types/pg@npm:8.11.0" - dependencies: - "@types/node": "npm:*" - pg-protocol: "npm:*" - pg-types: "npm:^4.0.1" - checksum: 10c0/df2c2ac11fa5e8863a98aadce9a9168af5cfc38a226a228d8b1be513ef48d33ceb9bfaa64ef685a87e0611a4f8d94f2e0736bb2812fa00ed264f76679b86945d - languageName: node - linkType: hard - -"@types/semver@npm:^7.5.0": - version: 7.5.6 - resolution: "@types/semver@npm:7.5.6" - checksum: 10c0/196dc32db5f68cbcde2e6a42bb4aa5cbb100fa2b7bd9c8c82faaaf3e03fbe063e205dbb4f03c7cdf53da2edb70a0d34c9f2e601b54281b377eb8dc1743226acd - languageName: node - linkType: hard - -"@types/sinon-chai@npm:3.2.12": - version: 3.2.12 - resolution: "@types/sinon-chai@npm:3.2.12" - dependencies: - "@types/chai": "npm:*" - "@types/sinon": "npm:*" - checksum: 10c0/2d4b865f117226c84d4fae861e702fa02598e2f347823dccb5dcdcf4bcc8a5f60fbf2c028feb34001d569b69ccbb401a42830cf85f4f5f2d0bd6283112b848f1 - languageName: node - linkType: hard - -"@types/sinon@npm:*, @types/sinon@npm:17.0.3": - version: 17.0.3 - resolution: "@types/sinon@npm:17.0.3" - dependencies: - "@types/sinonjs__fake-timers": "npm:*" - checksum: 10c0/6fc3aa497fd87826375de3dbddc2bf01c281b517c32c05edf95b5ad906382dc221bca01ca9d44fc7d5cb4c768f996f268154e87633a45b3c0b5cddca7ef5e2be - languageName: node - linkType: hard - -"@types/sinonjs__fake-timers@npm:*": - version: 8.1.5 - resolution: "@types/sinonjs__fake-timers@npm:8.1.5" - checksum: 10c0/2b8bdc246365518fc1b08f5720445093cce586183acca19a560be6ef81f824bd9a96c090e462f622af4d206406dadf2033c5daf99a51c1096da6494e5c8dc32e - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^6.17.0": - version: 6.20.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.20.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/type-utils": "npm:6.20.0" - "@typescript-eslint/utils": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.4" - natural-compare: "npm:^1.4.0" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/5020faac39be476de056342f58f2bf68bb788f230e2fa4a2e27ceab8a5187dc450beba7333b0aa741a43aeaff45a117558132953f9390b5eca4c2cc004fde716 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^6.17.0, @typescript-eslint/parser@npm:^6.7.5": - version: 6.20.0 - resolution: "@typescript-eslint/parser@npm:6.20.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/typescript-estree": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d84ad5e2282b1096c80dedb903c83ecc31eaf7be1aafcb14c18d9ec2d4a319f2fd1e5a9038b944d9f42c36c1c57add5e4292d4026ca7d3d5441d41286700d402 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/scope-manager@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - checksum: 10c0/f6768ed2dcd2d1771d55ed567ff392a6569ffd683a26500067509dd41769f8838c43686460fe7337144f324fd063df33f5d5646d44e5df4998ceffb3ad1fb790 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/type-utils@npm:6.20.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:6.20.0" - "@typescript-eslint/utils": "npm:6.20.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/8f622fbb14268f1d00b2948f995b570f0ef82be02c12be41d90385290a56ea0dbd34d855d6a5aff100b57f3bdd300ff0c300f16c78f12d6064f7ae6e34fd71bf - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/types@npm:6.20.0" - checksum: 10c0/37589003b0e06f83c1945e3748e91af85918cfd997766894642a08e6f355f611cfe11df4e7632dda96e3a9b3441406283fe834ab0906cf81ea97fd43ca2aebe3 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/551f13445a303882d9fc0fbe14ef8507eb8414253fd87a5f13d2e324b5280b626421a238b8ec038e628bc80128dc06c057757f668738e82e64d5b39a9083c27d - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/utils@npm:6.20.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/typescript-estree": "npm:6.20.0" - semver: "npm:^7.5.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10c0/0a8ede3d80a365b52ae96d88e4a9f6e6abf3569c6b60ff9f42ff900cd843ae7c5493cd95f8f2029d90bb0acbf31030980206af98e581d760d6d41e0f80e9fb86 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/852d938f2e5d57200cf62733b42e73a369f797b097d17e8fd3fffd0f7315c3b9e1863eed60bb8d57d6535a3b7f1980f645f96ec6d513950f182bfa8107b33fab - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d - languageName: node - linkType: hard - -"@vitest/coverage-v8@npm:^1.1.1": - version: 1.2.2 - resolution: "@vitest/coverage-v8@npm:1.2.2" - dependencies: - "@ampproject/remapping": "npm:^2.2.1" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.4" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^4.0.1" - istanbul-reports: "npm:^3.1.6" - magic-string: "npm:^0.30.5" - magicast: "npm:^0.3.3" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - test-exclude: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.2.0" - peerDependencies: - vitest: ^1.0.0 - checksum: 10c0/90e3cfdc7d36df86f95b4bc372851dbf0a9e78ca9d80177674ebb30cf5dff1e786660016aa7e369bd30ac7d1d3edc18d7ab0f6ccfdc9cdfe04ada0e0b5d5911a - languageName: node - linkType: hard - -"@vitest/expect@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/expect@npm:1.2.2" - dependencies: - "@vitest/spy": "npm:1.2.2" - "@vitest/utils": "npm:1.2.2" - chai: "npm:^4.3.10" - checksum: 10c0/920e80b956d9d5ef7909cbe2bf883c8556da11c5123ea037396cb672d7038116c9773bd36915a3df7be2ffd76b661d5a6487e7e5ded78f39e2500cb36ae81e59 - languageName: node - linkType: hard - -"@vitest/runner@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/runner@npm:1.2.2" - dependencies: - "@vitest/utils": "npm:1.2.2" - p-limit: "npm:^5.0.0" - pathe: "npm:^1.1.1" - checksum: 10c0/25a9c03cca5b40738fe606757b14ee9d60d25193115b4674e3cc402c2b2c3844d234902d48bfa7646cb205455ea27891fef96733e033a570b85fe74ed29ff81c - languageName: node - linkType: hard - -"@vitest/snapshot@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/snapshot@npm:1.2.2" - dependencies: - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0f8a69a289aa6466c7dd56f8327190d56a0bc7ad10412127de001c94784f6dba5e5bccb757def21f565f4efa3e00c307b92e8b6c302f11fc57889b743ba18a95 - languageName: node - linkType: hard - -"@vitest/spy@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/spy@npm:1.2.2" - dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/5480048d26c0d82b524317552fbdcc05fed6ea626d887620647826453a344798a360f2a75af477512a1569b1b6c918eae62338e8b35575f875fc2d7ef51419f3 - languageName: node - linkType: hard - -"@vitest/utils@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/utils@npm:1.2.2" - dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/32449cb7eca8ecea56e0fce280c9770f65fa6b60bbba73be06ca2891096818899b4b3220bd3c815df8beb4266034db394fcf235e4de8959cce686b8b360948d1 - languageName: node - linkType: hard - -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 - languageName: node - linkType: hard - -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 - languageName: node - linkType: hard - -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: "npm:^5.0.0" - checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 - languageName: node - linkType: hard - -"abstract-logging@npm:^2.0.1": - version: 2.0.1 - resolution: "abstract-logging@npm:2.0.1" - checksum: 10c0/304879d9babcf6772260e5ddde632e6428e1f42f7a7a116d4689e97ad813a20e0ec2dd1e0a122f3617557f40091b9ca85735de4b48c17a2041268cb47b3f8ef1 - languageName: node - linkType: hard - -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.3.2": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 - languageName: node - linkType: hard - -"acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.9.0": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 - languageName: node - linkType: hard - -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.0 - resolution: "agent-base@npm:7.1.0" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce - languageName: node - linkType: hard - -"agentkeepalive@npm:^4.1.3": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" - dependencies: - humanize-ms: "npm:^1.2.1" - checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 - languageName: node - linkType: hard - -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 - languageName: node - linkType: hard - -"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: "npm:^3.1.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e - languageName: node - linkType: hard - -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^2.2.1": - version: 2.2.1 - resolution: "ansi-styles@npm:2.2.1" - checksum: 10c0/7c68aed4f1857389e7a12f85537ea5b40d832656babbf511cc7ecd9efc52889b9c3e5653a71a6aade783c3c5e0aa223ad4ff8e83c27ac8a666514e6c79068cab - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 - languageName: node - linkType: hard - -"archy@npm:^1.0.0": - version: 1.0.0 - resolution: "archy@npm:1.0.0" - checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 - languageName: node - linkType: hard - -"are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" - dependencies: - delegates: "npm:^1.0.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"argparse@npm:~1.0.9": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"atomic-sleep@npm:^1.0.0": - version: 1.0.0 - resolution: "atomic-sleep@npm:1.0.0" - checksum: 10c0/e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a - languageName: node - linkType: hard - -"avvio@npm:^8.2.1": - version: 8.2.1 - resolution: "avvio@npm:8.2.1" - dependencies: - archy: "npm:^1.0.0" - debug: "npm:^4.0.0" - fastq: "npm:^1.6.1" - checksum: 10c0/a763b7cb0d9bdd4c111c28b46cb83ee9d4bf79e5f99c5cd8b8f2727cf6d0cd5ec3e6df90dbda74a56cdec72fe928dd2e13e75e67270a88b92401f68ef756b3ce - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bindings@npm:^1.5.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: "npm:1.0.0" - checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba - languageName: node - linkType: hard - -"bl@npm:^4.0.3": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - -"bluebird@npm:^3.7.1, bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"boolean@npm:^3.1.4": - version: 3.2.0 - resolution: "boolean@npm:3.2.0" - checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 10c0/c91b2ab09a200cf0862237e5a4dbd5077003b42d26d4f0c596ec7149f82ef83e0751d670bcdf379ed988d1a08c0fac7759a8cb928cf1a4710a1988a7618b1190 - languageName: node - linkType: hard - -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bufferput@npm:^0.1.3": - version: 0.1.3 - resolution: "bufferput@npm:0.1.3" - checksum: 10c0/6b36a682e8969007f42cf6e32fa70ec34157c583151a86ffe0c8c8e37cc8dba7416ea856890de88c9161f3e3d882ede7a04fb991db8ca985352da2b7f8001ea3 - languageName: node - linkType: hard - -"cac@npm:^6.7.14": - version: 6.7.14 - resolution: "cac@npm:6.7.14" - checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 - languageName: node - linkType: hard - -"cacache@npm:^15.2.0": - version: 15.3.0 - resolution: "cacache@npm:15.3.0" - dependencies: - "@npmcli/fs": "npm:^1.0.0" - "@npmcli/move-file": "npm:^1.0.1" - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - glob: "npm:^7.1.4" - infer-owner: "npm:^1.0.4" - lru-cache: "npm:^6.0.0" - minipass: "npm:^3.1.1" - minipass-collect: "npm:^1.0.2" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.2" - mkdirp: "npm:^1.0.3" - p-map: "npm:^4.0.0" - promise-inflight: "npm:^1.0.1" - rimraf: "npm:^3.0.2" - ssri: "npm:^8.0.1" - tar: "npm:^6.0.2" - unique-filename: "npm:^1.1.1" - checksum: 10c0/886fcc0acc4f6fd5cd142d373d8276267bc6d655d7c4ce60726fbbec10854de3395ee19bbf9e7e73308cdca9fdad0ad55060ff3bd16c6d4165c5b8d21515e1d8 - languageName: node - linkType: hard - -"cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" - dependencies: - "@npmcli/fs": "npm:^3.1.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"catharsis@npm:^0.9.0": - version: 0.9.0 - resolution: "catharsis@npm:0.9.0" - dependencies: - lodash: "npm:^4.17.15" - checksum: 10c0/9ac03ca48154ac63cfdb6c1645481d9d04f3c3e0dea131debf3116a0c12aa47e8864be7dcf770932c46d75bdd844a99f0c116c234e57232ad1f427751498e7ed - languageName: node - linkType: hard - -"chai@npm:^4.3.10": - version: 4.4.1 - resolution: "chai@npm:4.4.1" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.0.8" - checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd - languageName: node - linkType: hard - -"chalk@npm:^1.1.3": - version: 1.1.3 - resolution: "chalk@npm:1.1.3" - dependencies: - ansi-styles: "npm:^2.2.1" - escape-string-regexp: "npm:^1.0.2" - has-ansi: "npm:^2.0.0" - strip-ansi: "npm:^3.0.0" - supports-color: "npm:^2.0.0" - checksum: 10c0/28c3e399ec286bb3a7111fd4225ebedb0d7b813aef38a37bca7c498d032459c265ef43404201d5fbb8d888d29090899c95335b4c0cda13e8b126ff15c541cef8 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"chownr@npm:^1.1.1": - version: 1.1.4 - resolution: "chownr@npm:1.1.4" - checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 - languageName: node - linkType: hard - -"colorette@npm:^2.0.7": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 - languageName: node - linkType: hard - -"colors@npm:~1.2.1": - version: 1.2.5 - resolution: "colors@npm:1.2.5" - checksum: 10c0/f4acebf2d2da9b4f8afb770361d14c01034bcb43add4cae493e7d186dcd7e0c5e2b440520fbfdf636e872606a0eb86b1f69fcf2f087df2876a4e222612539ee0 - languageName: node - linkType: hard - -"common-tags@npm:^1.4.0": - version: 1.8.2 - resolution: "common-tags@npm:1.8.2" - checksum: 10c0/23efe47ff0a1a7c91489271b3a1e1d2a171c12ec7f9b35b29b2fce51270124aff0ec890087e2bc2182c1cb746e232ab7561aaafe05f1e7452aea733d2bfe3f63 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"concat-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.0.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/29565dd9198fe1d8cf57f6cc71527dbc6ad67e12e4ac9401feb389c53042b2dceedf47034cbe702dfc4fd8df3ae7e6bfeeebe732cc4fa2674e484c13f04c219a - languageName: node - linkType: hard - -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 - languageName: node - linkType: hard - -"dateformat@npm:^4.6.3": - version: 4.6.3 - resolution: "dateformat@npm:4.6.3" - checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - -"deep-eql@npm:^4.1.3": - version: 4.1.3 - resolution: "deep-eql@npm:4.1.3" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd - languageName: node - linkType: hard - -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: 10c0/a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dlv@npm:^1.1.0": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"emittery@npm:^0.13.0": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.12, encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"entities@npm:~2.1.0": - version: 2.1.0 - resolution: "entities@npm:2.1.0" - checksum: 10c0/dd96ed95f7e017b7fbbcdd39bd6dc3dea6638f747c00610b53f23ea461ac409af87670f313805d85854bfce04f96e17d83575f75b3b2920365d78678ccd2a405 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es6-error@npm:^4.1.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef - languageName: node - linkType: hard - -"esbuild@npm:^0.19.3, esbuild@npm:~0.19.10": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.2": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"eslint-config-prettier@npm:^9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d - languageName: node - linkType: hard - -"eslint-plugin-prettier@npm:5.1.2": - version: 5.1.2 - resolution: "eslint-plugin-prettier@npm:5.1.2" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/e16c9fbb0e9f8da45bdbb1cf6e4a190266235c3686deede3815196d2604bbe2bac531d1fc9adc3c0b9a03d88b55bd3bfaa4f9d85e34e73dc040d545a1931fab9 - languageName: node - linkType: hard - -"eslint-scope@npm:^7.1.1, eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint@npm:^8.56.0, eslint@npm:^8.7.0": - version: 8.56.0 - resolution: "eslint@npm:8.56.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.56.0" - "@humanwhocodes/config-array": "npm:^0.11.13" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 10c0/2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb - languageName: node - linkType: hard - -"espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"estree-walker@npm:^3.0.3": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b - languageName: node - linkType: hard - -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - -"expand-template@npm:^2.0.3": - version: 2.0.3 - resolution: "expand-template@npm:2.0.3" - checksum: 10c0/1c9e7afe9acadf9d373301d27f6a47b34e89b3391b1ef38b7471d381812537ef2457e620ae7f819d2642ce9c43b189b3583813ec395e2938319abe356a9b2f51 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 - languageName: node - linkType: hard - -"fast-content-type-parse@npm:^1.1.0": - version: 1.1.0 - resolution: "fast-content-type-parse@npm:1.1.0" - checksum: 10c0/882bf990fa5d64be1825ce183818db43900ece0d7ef184cb9409bae8ed1001acbe536a657b1496382cb3e308e71ab39cc399bbdae70cba1745eecaeca4e55384 - languageName: node - linkType: hard - -"fast-copy@npm:^3.0.0": - version: 3.0.1 - resolution: "fast-copy@npm:3.0.1" - checksum: 10c0/a8310dbcc4c94ed001dc3e0bbc3c3f0491bb04e6c17163abe441a54997ba06cdf1eb532c2f05e54777c6f072c84548c23ef0ecd54665cd611be1d42f37eca258 - languageName: node - linkType: hard - -"fast-decode-uri-component@npm:^1.0.1": - version: 1.0.1 - resolution: "fast-decode-uri-component@npm:1.0.1" - checksum: 10c0/039d50c2e99d64f999c3f2126c23fbf75a04a4117e218a149ca0b1d2aeb8c834b7b19d643b9d35d4eabce357189a6a94085f78cf48869e6e26cc59b036284bc3 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.9": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:^2.0.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fast-json-stringify@npm:^5.7.0, fast-json-stringify@npm:^5.8.0": - version: 5.10.0 - resolution: "fast-json-stringify@npm:5.10.0" - dependencies: - "@fastify/deepmerge": "npm:^1.0.0" - ajv: "npm:^8.10.0" - ajv-formats: "npm:^2.1.1" - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^2.1.0" - json-schema-ref-resolver: "npm:^1.0.1" - rfdc: "npm:^1.2.0" - checksum: 10c0/90a20ef7a54f962d76ae8039c6987bd1e8d8130415f12c8a958265cfd973a2cd1f6f71bbb2e5bd8ea88fab50e9bf83c8f7b00173be38e79fe17412733c0d2ade - languageName: node - linkType: hard - -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fast-printf@npm:^1.6.9": - version: 1.6.9 - resolution: "fast-printf@npm:1.6.9" - dependencies: - boolean: "npm:^3.1.4" - checksum: 10c0/0196827f4c125e147e0dab1201355146f04159ea6c6f19c6f8e44476cf1d88e58a3b3aa83ec33e5b2315a53e2cb7b2e518ce28bdb7b0f8d0d01774286e670f4f - languageName: node - linkType: hard - -"fast-querystring@npm:^1.0.0": - version: 1.1.2 - resolution: "fast-querystring@npm:1.1.2" - dependencies: - fast-decode-uri-component: "npm:^1.0.1" - checksum: 10c0/e8223273a9b199722f760f5a047a77ad049a14bd444b821502cb8218f5925e3a5fffb56b64389bca73ab2ac6f1aa7aebbe4e203e5f6e53ff5978de97c0fde4e3 - languageName: node - linkType: hard - -"fast-redact@npm:^3.1.1": - version: 3.3.0 - resolution: "fast-redact@npm:3.3.0" - checksum: 10c0/d81562510681e9ba6404ee5d3838ff5257a44d2f80937f5024c099049ff805437d0fae0124458a7e87535cc9dcf4de305bb075cab8f08d6c720bbc3447861b4e - languageName: node - linkType: hard - -"fast-safe-stringify@npm:^2.1.1": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d - languageName: node - linkType: hard - -"fast-uri@npm:^2.0.0, fast-uri@npm:^2.1.0": - version: 2.3.0 - resolution: "fast-uri@npm:2.3.0" - checksum: 10c0/72844622c8b9d92dbb783723628d1069c999b31bfaa74af9e9afae0e0c22faf18c988a0ce55e775dce4c404f4cca75fa43e1f0ab07075342cff99796f4920945 - languageName: node - linkType: hard - -"fastify-plugin@npm:^4.0.0": - version: 4.5.1 - resolution: "fastify-plugin@npm:4.5.1" - checksum: 10c0/f58f79cd9d3c88fd7f79a3270276c6339fc57bbe72ef14d20b73779193c404e317ac18e8eae2c5071b3909ebee45d7eb6871da4e65464ac64ed0d9746b4e9b9f - languageName: node - linkType: hard - -"fastify@npm:^4.25.2": - version: 4.26.0 - resolution: "fastify@npm:4.26.0" - dependencies: - "@fastify/ajv-compiler": "npm:^3.5.0" - "@fastify/error": "npm:^3.4.0" - "@fastify/fast-json-stringify-compiler": "npm:^4.3.0" - abstract-logging: "npm:^2.0.1" - avvio: "npm:^8.2.1" - fast-content-type-parse: "npm:^1.1.0" - fast-json-stringify: "npm:^5.8.0" - find-my-way: "npm:^8.0.0" - light-my-request: "npm:^5.11.0" - pino: "npm:^8.17.0" - process-warning: "npm:^3.0.0" - proxy-addr: "npm:^2.0.7" - rfdc: "npm:^1.3.0" - secure-json-parse: "npm:^2.7.0" - semver: "npm:^7.5.4" - toad-cache: "npm:^3.3.0" - checksum: 10c0/6fa63caef229b3773c0702b5832e4df4a69aa54b16afb896794987bcdb68f2f874c7724c438a181a3dace58319ca5229669292e1ad3217a623b4d70a56970ad9 - languageName: node - linkType: hard - -"fastq@npm:^1.6.0, fastq@npm:^1.6.1": - version: 1.17.0 - resolution: "fastq@npm:1.17.0" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/0a90ed46ccd6a858a32e297bd35f4249ba6544899b905d08f33a6ba36459041639161fa15bc85a38afa98dd44fb2fa2969419a879721a1395d3e24668a7732c7 - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 - languageName: node - linkType: hard - -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f - languageName: node - linkType: hard - -"find-my-way@npm:^8.0.0": - version: 8.1.0 - resolution: "find-my-way@npm:8.1.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-querystring: "npm:^1.0.0" - safe-regex2: "npm:^2.0.0" - checksum: 10c0/f0f6a01953e4bc1789fdae1e861b0a0b1cb930f0c9c8c03e21fc27664a0cb50c22a56218e7b3738791aa6a01a452f73ee5a02063837fcab96988c3c63dcb8e43 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - -"flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - -"forwarded@npm:0.2.0, forwarded@npm:^0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 - languageName: node - linkType: hard - -"fs-constants@npm:^1.0.0": - version: 1.0.0 - resolution: "fs-constants@npm:1.0.0" - checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: "npm:^1.0.3 || ^2.0.0" - color-support: "npm:^1.1.3" - console-control-strings: "npm:^1.1.0" - has-unicode: "npm:^2.0.1" - signal-exit: "npm:^3.0.7" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - wide-align: "npm:^1.1.5" - checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-stack-trace@npm:^2.1.1": - version: 2.1.1 - resolution: "get-stack-trace@npm:2.1.1" - dependencies: - bluebird: "npm:^3.7.1" - source-map: "npm:^0.8.0-beta.0" - checksum: 10c0/09ae86164df00fa29b698210deb1986b712b51e3965e9b0f28476f751bab0bfffe56dfe9765dcb7b37f4c6cdc7bf89e5fa531fe6c74eab51ed032137b57b4a36 - languageName: node - linkType: hard - -"get-stack-trace@npm:^3.1.1": - version: 3.1.1 - resolution: "get-stack-trace@npm:3.1.1" - dependencies: - stacktrace-parser: "npm:^0.1.10" - checksum: 10c0/abec0b3c38e4d47c630ecbd1130fd50d29e42c6d0e57e8ca2578d24b28c89073f50f548c758c69e17faa1bf212644efd5079889fddfb41868d4795dd3714b3e1 - languageName: node - linkType: hard - -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.7.2": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 - languageName: node - linkType: hard - -"github-from-package@npm:0.0.0": - version: 0.0.0 - resolution: "github-from-package@npm:0.0.0" - checksum: 10c0/737ee3f52d0a27e26332cde85b533c21fcdc0b09fb716c3f8e522cfaa9c600d4a631dec9fcde179ec9d47cca89017b7848ed4d6ae6b6b78f936c06825b1fcc12 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"glob@npm:^8.0.3": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"has-ansi@npm:^2.0.0": - version: 2.0.0 - resolution: "has-ansi@npm:2.0.0" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10c0/f54e4887b9f8f3c4bfefd649c48825b3c093987c92c27880ee9898539e6f01aed261e82e73153c3f920fde0db5bf6ebd58deb498ed1debabcb4bc40113ccdf05 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c - languageName: node - linkType: hard - -"help-me@npm:^5.0.0": - version: 5.0.0 - resolution: "help-me@npm:5.0.0" - checksum: 10c0/054c0e2e9ae2231c85ab5e04f75109b9d068ffcc54e58fb22079822a5ace8ff3d02c66fd45379c902ad5ab825e5d2e1451fcc2f7eab1eb49e7d488133ba4cacb - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-errors@npm:^2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": "npm:1" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "http-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.2 - resolution: "https-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/7735eb90073db087e7e79312e3d97c8c04baf7ea7ca7b013382b6a45abbaa61b281041a98f4e13c8c80d88f843785bcc84ba189165b4b4087b1e3496ba656d77 - languageName: node - linkType: hard - -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: "npm:^2.0.0" - checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a - languageName: node - linkType: hard - -"hyperid@npm:^2.3.1": - version: 2.3.1 - resolution: "hyperid@npm:2.3.1" - dependencies: - uuid: "npm:^8.3.2" - uuid-parse: "npm:^1.1.0" - checksum: 10c0/0f3d143a7e1f40bf184e19a12577e2e2b40a5e7838a868cd28f4317fbe58e0bbe25f32f990ca6b15317363fd4d6a7c754aa0825948f28a8d5106c9cda9a31abe - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.0 - resolution: "ignore@npm:5.3.0" - checksum: 10c0/dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 - languageName: node - linkType: hard - -"import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"infer-owner@npm:^1.0.4": - version: 1.0.4 - resolution: "infer-owner@npm:1.0.4" - checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ini@npm:~1.3.0": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a - languageName: node - linkType: hard - -"int64-buffer@npm:^0.99.1007": - version: 0.99.1007 - resolution: "int64-buffer@npm:0.99.1007" - checksum: 10c0/692ac2b56660c75f3d36de1f42f0692c9d1eb91e0c2faadc08d350e2effa023cfa8c029685d8c0724c27501ed6414edf776ce04d7c4c7a49b5e89a37ae007c75 - languageName: node - linkType: hard - -"ip@npm:^2.0.0": - version: 2.0.1 - resolution: "ip@npm:2.0.1" - checksum: 10c0/cab8eb3e88d0abe23e4724829621ec4c4c5cb41a7f936a2e626c947128c1be16ed543448d42af7cca95379f9892bfcacc1ccd8d09bc7e8bea0e86d492ce33616 - languageName: node - linkType: hard - -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"iso8601-duration@npm:^1.3.0": - version: 1.3.0 - resolution: "iso8601-duration@npm:1.3.0" - checksum: 10c0/a848f4c3caca38c7a3a7ee6708f0da8ab00499b1ba4b06de95ccccecc4d1c45f60b0725b1bbd6cc36f47b59b1fb18e020b36c06368e1f908a05271076df11e05 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.1": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.6": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/ec3f1bdbc51b3e0b325a5b9f4ad31a247697f31001df4e81075f7980413f14da1b5adfec574fd156efd3b0464023f61320f6718efc66ee72b32d89611cef99dd - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - -"joycon@npm:^3.1.1": - version: 3.1.1 - resolution: "joycon@npm:3.1.1" - checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"js2xmlparser@npm:^4.0.2": - version: 4.0.2 - resolution: "js2xmlparser@npm:4.0.2" - dependencies: - xmlcreate: "npm:^2.0.4" - checksum: 10c0/b00de9351649d67d225e21734a08f456a4ecb3c29cafcd3bbecb36a8ab61ec841fad7f425bed50e21936fe387f472e49cfe75ce71d0beaacb0475b077c88ed39 - languageName: node - linkType: hard - -"jsdoc@npm:^4.0.2": - version: 4.0.2 - resolution: "jsdoc@npm:4.0.2" - dependencies: - "@babel/parser": "npm:^7.20.15" - "@jsdoc/salty": "npm:^0.2.1" - "@types/markdown-it": "npm:^12.2.3" - bluebird: "npm:^3.7.2" - catharsis: "npm:^0.9.0" - escape-string-regexp: "npm:^2.0.0" - js2xmlparser: "npm:^4.0.2" - klaw: "npm:^3.0.0" - markdown-it: "npm:^12.3.2" - markdown-it-anchor: "npm:^8.4.1" - marked: "npm:^4.0.10" - mkdirp: "npm:^1.0.4" - requizzle: "npm:^0.2.3" - strip-json-comments: "npm:^3.1.0" - underscore: "npm:~1.13.2" - bin: - jsdoc: jsdoc.js - checksum: 10c0/1320a49ea576e60cfe38e5912e0b6aab22e3861a76c1795afde2e02896b29e343abee4da0de6b82f1edb6ef6b6c4fc8e2ef41d0fe65a3522138b28b74b01e5c2 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json-schema-ref-resolver@npm:^1.0.1": - version: 1.0.1 - resolution: "json-schema-ref-resolver@npm:1.0.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - checksum: 10c0/aa89d88108c0109ae35b913c89c132fb50c00f3b99fc8a8309b524b9e3a6a77414f19a6a35a1253871462984cbabc74279ebbd9bf103c6629fb7b37c9fb59bcf - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"jsonc-parser@npm:^3.2.0": - version: 3.2.1 - resolution: "jsonc-parser@npm:3.2.1" - checksum: 10c0/ada66dec143d7f9cb0e2d0d29c69e9ce40d20f3a4cb96b0c6efb745025ac7f9ba647d7ac0990d0adfc37a2d2ae084a12009a9c833dbdbeadf648879a99b9df89 - languageName: node - linkType: hard - -"keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"klaw@npm:^3.0.0": - version: 3.0.0 - resolution: "klaw@npm:3.0.0" - dependencies: - graceful-fs: "npm:^4.1.9" - checksum: 10c0/8391cf6df6337dce02e44628b620b39412d007eff162d907d37063c23986041d9b5c3558851d473c2fae92c1ccb0fde8864e36f9c55ac339fc469b517a2caa1b - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - -"light-my-request@npm:^5.11.0": - version: 5.11.0 - resolution: "light-my-request@npm:5.11.0" - dependencies: - cookie: "npm:^0.5.0" - process-warning: "npm:^2.0.0" - set-cookie-parser: "npm:^2.4.1" - checksum: 10c0/ad5512b5216f2095409b54daf901f714f76004e4c8acdaa1ec3aa2ffde7ddf11ac249f02a87344d766bbad59eb2732acfe3ee5bb7e8ad5fc71057ef0d4d3be25 - languageName: node - linkType: hard - -"linkify-it@npm:^3.0.1": - version: 3.0.3 - resolution: "linkify-it@npm:3.0.3" - dependencies: - uc.micro: "npm:^1.0.1" - checksum: 10c0/468cb4954f85cdfc16e169db89a42d65287e3f121a9448b29c3c00d64c6f5a8f4367bea3978ba9109a0e3a10b19d50632b983639f91b9be9f20d1f63a5ff5bc1 - languageName: node - linkType: hard - -"local-pkg@npm:^0.5.0": - version: 0.5.0 - resolution: "local-pkg@npm:0.5.0" - dependencies: - mlly: "npm:^1.4.2" - pkg-types: "npm:^1.0.3" - checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.merge@npm:^4.6.0, lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 - languageName: node - linkType: hard - -"lodash@npm:^4.17.15, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"loglevel-colored-level-prefix@npm:^1.0.0": - version: 1.0.0 - resolution: "loglevel-colored-level-prefix@npm:1.0.0" - dependencies: - chalk: "npm:^1.1.3" - loglevel: "npm:^1.4.1" - checksum: 10c0/00fd732866de326001fa2d9b87166a4fbe41c7e0050bef0d612a8852e0ad09ad3f104aa30311e761d9d75f64d5afb6568e839826900baee0a24b7197012774d3 - languageName: node - linkType: hard - -"loglevel@npm:^1.4.1": - version: 1.9.1 - resolution: "loglevel@npm:1.9.1" - checksum: 10c0/152f0501cea367cf998c844a38b19f0b5af555756ad7d8650214a1f8c6a5b045e31b8cf5dae27d28339a061624ce3f618aadb333aed386cac041d6ddc5101a39 - languageName: node - linkType: hard - -"loupe@npm:^2.3.6, loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee - languageName: node - linkType: hard - -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"magic-string@npm:^0.30.5": - version: 0.30.5 - resolution: "magic-string@npm:0.30.5" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10c0/38ac220ca7539e96da7ea2f38d85796bdf5c69b6bcae728c4bc2565084e6dc326b9174ee9770bea345cf6c9b3a24041b767167874fab5beca874d2356a9d1520 - languageName: node - linkType: hard - -"magicast@npm:^0.3.3": - version: 0.3.3 - resolution: "magicast@npm:0.3.3" - dependencies: - "@babel/parser": "npm:^7.23.6" - "@babel/types": "npm:^7.23.6" - source-map-js: "npm:^1.0.2" - checksum: 10c0/2eeba19545ac4328433be817bd81fcfa8a517ec67599260541e13ce5ce18b27ff8830f1b87d54a1392d408d1b96e44938bf026920f0110edbdfecc96980919b3 - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" - dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" - http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^9.1.0": - version: 9.1.0 - resolution: "make-fetch-happen@npm:9.1.0" - dependencies: - agentkeepalive: "npm:^4.1.3" - cacache: "npm:^15.2.0" - http-cache-semantics: "npm:^4.1.0" - http-proxy-agent: "npm:^4.0.1" - https-proxy-agent: "npm:^5.0.0" - is-lambda: "npm:^1.0.1" - lru-cache: "npm:^6.0.0" - minipass: "npm:^3.1.3" - minipass-collect: "npm:^1.0.2" - minipass-fetch: "npm:^1.3.2" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.2" - promise-retry: "npm:^2.0.1" - socks-proxy-agent: "npm:^6.0.0" - ssri: "npm:^8.0.0" - checksum: 10c0/2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 - languageName: node - linkType: hard - -"markdown-it-anchor@npm:^8.4.1": - version: 8.6.7 - resolution: "markdown-it-anchor@npm:8.6.7" - peerDependencies: - "@types/markdown-it": "*" - markdown-it: "*" - checksum: 10c0/f117866488013b7e4085a6b59d12bf62879181aef65ea2851f01ed1b763b8c052580c2c27fa8bd009421886220c6beeb373a65af9e885ce63a36ee9f8dcd0e89 - languageName: node - linkType: hard - -"markdown-it@npm:^12.3.2": - version: 12.3.2 - resolution: "markdown-it@npm:12.3.2" - dependencies: - argparse: "npm:^2.0.1" - entities: "npm:~2.1.0" - linkify-it: "npm:^3.0.1" - mdurl: "npm:^1.0.1" - uc.micro: "npm:^1.0.5" - bin: - markdown-it: bin/markdown-it.js - checksum: 10c0/7f97b924e6f90e2c5ccdfb486a19bd7885b938f568a86b527bf6f916a16b01a298e6739f86a99e77acb5e7c020f6c8b34bd726364179b3f820e48b2971a6450c - languageName: node - linkType: hard - -"marked@npm:^4.0.10": - version: 4.3.0 - resolution: "marked@npm:4.3.0" - bin: - marked: bin/marked.js - checksum: 10c0/0013463855e31b9c88d8bb2891a611d10ef1dc79f2e3cbff1bf71ba389e04c5971298c886af0be799d7fa9aa4593b086a136062d59f1210b0480b026a8c5dc47 - languageName: node - linkType: hard - -"mdurl@npm:^1.0.1": - version: 1.0.1 - resolution: "mdurl@npm:1.0.1" - checksum: 10c0/ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:~2.1.24": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - -"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^1.3.2": - version: 1.4.1 - resolution: "minipass-fetch@npm:1.4.1" - dependencies: - encoding: "npm:^0.1.12" - minipass: "npm:^3.1.0" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.0.0" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 - languageName: node - linkType: hard - -"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": - version: 0.5.3 - resolution: "mkdirp-classic@npm:0.5.3" - checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mlly@npm:^1.2.0, mlly@npm:^1.4.2": - version: 1.5.0 - resolution: "mlly@npm:1.5.0" - dependencies: - acorn: "npm:^8.11.3" - pathe: "npm:^1.1.2" - pkg-types: "npm:^1.0.3" - ufo: "npm:^1.3.2" - checksum: 10c0/0861d64f13e8e6f99e4897b652b553ded4d4b9e7b011d6afd7141e013b77ed9b9be0cd76e60c46c60c56cc9b8e27061165e5696179ba9f4161c24d162db7b621 - languageName: node - linkType: hard - -"moment@npm:^2.30.1": - version: 2.30.1 - resolution: "moment@npm:2.30.1" - checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:^2.0.0": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"multi-fork@npm:0.0.2": - version: 0.0.2 - resolution: "multi-fork@npm:0.0.2" - checksum: 10c0/f4f38f38be8160ce3ecf58a617a68dc3415a5888f9f5c3f1ab81a5bf4a90921a1fb35de9e81100189051f266be3ee1c734e2b70c053834f12af7a1eddcd60536 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" - bin: - nanoid: bin/nanoid.cjs - checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 - languageName: node - linkType: hard - -"napi-build-utils@npm:^1.0.1": - version: 1.0.2 - resolution: "napi-build-utils@npm:1.0.2" - checksum: 10c0/37fd2cd0ff2ad20073ce78d83fd718a740d568b225924e753ae51cb69d68f330c80544d487e5e5bd18e28702ed2ca469c2424ad948becd1862c1b0209542b2e9 - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"node-abi@npm:^3.3.0, node-abi@npm:^3.52.0": - version: 3.54.0 - resolution: "node-abi@npm:3.54.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/9ebbb21e6951aa51e831549ed62b68dc56bcc10f6b21ffd04195a16a6abf5ddfc48b6ae5e3334720fe4459cafde5ec8103025902efff5599d0539f8656fc694e - languageName: node - linkType: hard - -"node-addon-api@npm:^7.0.0": - version: 7.1.0 - resolution: "node-addon-api@npm:7.1.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.7": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-gyp@npm:8.x": - version: 8.4.1 - resolution: "node-gyp@npm:8.4.1" - dependencies: - env-paths: "npm:^2.2.0" - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^9.1.0" - nopt: "npm:^5.0.0" - npmlog: "npm:^6.0.0" - rimraf: "npm:^3.0.2" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^2.0.2" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa - languageName: node - linkType: hard - -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" - dependencies: - abbrev: "npm:1" - bin: - nopt: bin/nopt.js - checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 - languageName: node - linkType: hard - -"nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" - dependencies: - abbrev: "npm:^2.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff - languageName: node - linkType: hard - -"npm-run-path@npm:^5.1.0": - version: 5.2.0 - resolution: "npm-run-path@npm:5.2.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10c0/7963c1f98e42afebe9524a08b0881477ec145aab34f6018842a315422b25ad40e015bdee709b697571e5efda2ecfa2640ee917d92674e4de1166fa3532a211b1 - languageName: node - linkType: hard - -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: "npm:^3.0.0" - console-control-strings: "npm:^1.1.0" - gauge: "npm:^4.0.3" - set-blocking: "npm:^2.0.0" - checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 - languageName: node - linkType: hard - -"obuf@npm:^1.1.2, obuf@npm:~1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 - languageName: node - linkType: hard - -"on-exit-leak-free@npm:^2.1.0": - version: 2.1.2 - resolution: "on-exit-leak-free@npm:2.1.2" - checksum: 10c0/faea2e1c9d696ecee919026c32be8d6a633a7ac1240b3b87e944a380e8a11dc9c95c4a1f8fb0568de7ab8db3823e790f12bda45296b1d111e341aad3922a0570 - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" - dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c - languageName: node - linkType: hard - -"p-defer@npm:^3.0.0": - version: 3.0.0 - resolution: "p-defer@npm:3.0.0" - checksum: 10c0/848eb9821785b9a203def23618217ddbfa5cd909574ad0d66aae61a1981c4dcfa084804d6f97abe027bd004643471ddcdc823aa8df60198f791a9bd985e01bee - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-limit@npm:^5.0.0": - version: 5.0.0 - resolution: "p-limit@npm:5.0.0" - dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 10c0/574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 10c0/c86c3321bb07e0f03cc2db59f7701184e0bbfcb914f1fdc963993b03262486deb402292adcef39b64e3530ea66b3b2e2163d6da7b3792a730bdd1c6df3175aaa - languageName: node - linkType: hard - -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"pg-cloudflare@npm:^1.1.1": - version: 1.1.1 - resolution: "pg-cloudflare@npm:1.1.1" - checksum: 10c0/a68b957f755be6af813d68ccaf4c906a000fd2ecb362cd281220052cc9e2f6c26da3b88792742387008c30b3bf0d2fa3a0eff04aeb8af4414023c99ae78e07bd - languageName: node - linkType: hard - -"pg-connection-string@npm:^2.6.2": - version: 2.6.2 - resolution: "pg-connection-string@npm:2.6.2" - checksum: 10c0/e8fdea74fcc8bdc3d7c5c6eadd9425fdba7e67fb7fe836f9c0cecad94c8984e435256657d1d8ce0483d1fedef667e7a57e32449a63cb805cb0289fc34b62da35 - languageName: node - linkType: hard - -"pg-copy-streams-binary@npm:^2.2.0": - version: 2.2.0 - resolution: "pg-copy-streams-binary@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - bufferput: "npm:^0.1.3" - ieee754: "npm:^1.1.13" - int64-buffer: "npm:^0.99.1007" - multi-fork: "npm:0.0.2" - through2: "npm:^3.0.1" - checksum: 10c0/5952094e1486683ea001b961517a068c66862338b7c53334ac4c833a1b37cd5f688d18bb33e844916adac84f4021dbb72b5861f4f67659a8699ce64c5a9e8b4a - languageName: node - linkType: hard - -"pg-copy-streams@npm:^6.0.2": - version: 6.0.6 - resolution: "pg-copy-streams@npm:6.0.6" - dependencies: - obuf: "npm:^1.1.2" - checksum: 10c0/4edefe7395c4adb54a0cd5887cc21441c6e41f731f6c3203c6d6a57b208c5bb1cefded28eaabf0b5dd13fe297ab146ad8270ac8c537b69cd644c51386be231bc - languageName: node - linkType: hard - -"pg-cursor@npm:^2.10.3, pg-cursor@npm:^2.7.3": - version: 2.10.3 - resolution: "pg-cursor@npm:2.10.3" - peerDependencies: - pg: ^8 - checksum: 10c0/cf8d2c8243e4f1525148ad238c5b4ac2f638b7cb69a175dff58d0b0b5b697363a55e1630e1f3c320b38223cb90a32b6469bf324418bef672b0da8b3276093b2f - languageName: node - linkType: hard - -"pg-int8@npm:1.0.1": - version: 1.0.1 - resolution: "pg-int8@npm:1.0.1" - checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 - languageName: node - linkType: hard - -"pg-numeric@npm:1.0.2": - version: 1.0.2 - resolution: "pg-numeric@npm:1.0.2" - checksum: 10c0/43dd9884e7b52c79ddc28d2d282d7475fce8bba13452d33c04ceb2e0a65f561edf6699694e8e1c832ff9093770496363183c950dd29608e1bdd98f344b25bca9 - languageName: node - linkType: hard - -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" - peerDependencies: - pg: ">=8.0" - checksum: 10c0/47837c4e4c2b9e195cec01bd58b6e276acc915537191707ad4d6ed975fd9bc03c73f63cb7fde4cb0e08ed059e35faf60fbd03744dee3af71d4b4631ab40eeb7f - languageName: node - linkType: hard - -"pg-protocol@npm:*, pg-protocol@npm:^1.5.0, pg-protocol@npm:^1.6.0": - version: 1.6.0 - resolution: "pg-protocol@npm:1.6.0" - checksum: 10c0/318a4d1e9cebd3927b10a8bc412f5017117a1f9a5fafb628d75847da7d1ab81c33250de58596bd0990029e14e92a995a851286d60fc236692299faf509572213 - languageName: node - linkType: hard - -"pg-query-stream@npm:^4.5.3": - version: 4.5.3 - resolution: "pg-query-stream@npm:4.5.3" - dependencies: - pg-cursor: "npm:^2.10.3" - peerDependencies: - pg: ^8 - checksum: 10c0/1b0c1449d251329a9133cf2d52ab1835bcb591b5480e3231b2aedf1be2244dc1a74d8b2077e4e594d43a9de579af55539bfea35da74197ca26d3b80aa596b25a - languageName: node - linkType: hard - -"pg-types@npm:^2.1.0": - version: 2.2.0 - resolution: "pg-types@npm:2.2.0" - dependencies: - pg-int8: "npm:1.0.1" - postgres-array: "npm:~2.0.0" - postgres-bytea: "npm:~1.0.0" - postgres-date: "npm:~1.0.4" - postgres-interval: "npm:^1.1.0" - checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 - languageName: node - linkType: hard - -"pg-types@npm:^4.0.1": - version: 4.0.2 - resolution: "pg-types@npm:4.0.2" - dependencies: - pg-int8: "npm:1.0.1" - pg-numeric: "npm:1.0.2" - postgres-array: "npm:~3.0.1" - postgres-bytea: "npm:~3.0.0" - postgres-date: "npm:~2.1.0" - postgres-interval: "npm:^3.0.0" - postgres-range: "npm:^1.1.1" - checksum: 10c0/780fccda2f3fa2a34e85a72e8e7dadb7d88fbe71ce88f126cb3313f333ad836d02488ec4ff3d94d0c1e5846f735d6e6c6281f8059e6b8919d2180429acaec3e2 - languageName: node - linkType: hard - -"pg@npm:^8.11.3, pg@npm:^8.7.3": - version: 8.11.3 - resolution: "pg@npm:8.11.3" - dependencies: - buffer-writer: "npm:2.0.0" - packet-reader: "npm:1.0.0" - pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.2" - pg-pool: "npm:^3.6.1" - pg-protocol: "npm:^1.6.0" - pg-types: "npm:^2.1.0" - pgpass: "npm:1.x" - peerDependencies: - pg-native: ">=3.0.1" - dependenciesMeta: - pg-cloudflare: - optional: true - peerDependenciesMeta: - pg-native: - optional: true - checksum: 10c0/07e6967fc8bd5d72bab9be6620626e8e3ab59128ebf56bf0de83d67f10801a19221d88b3317e90b93339ba48d0498b39967b782ae39686aabda6bc647bceb438 - languageName: node - linkType: hard - -"pgpass@npm:1.x": - version: 1.0.5 - resolution: "pgpass@npm:1.0.5" - dependencies: - split2: "npm:^4.1.0" - checksum: 10c0/5ea6c9b2de04c33abb08d33a2dded303c4a3c7162a9264519cbe85c0a9857d712463140ba42fad0c7cd4b21f644dd870b45bb2e02fcbe505b4de0744fd802c1d - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 - languageName: node - linkType: hard - -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:v1.1.0": - version: 1.1.0 - resolution: "pino-abstract-transport@npm:1.1.0" - dependencies: - readable-stream: "npm:^4.0.0" - split2: "npm:^4.0.0" - checksum: 10c0/6e9b9d5a2c0a37f91ecaf224d335daae1ae682b1c79a05b06ef9e0f0a5d289f8e597992217efc857796dae6f1067e9b4882f95c6228ff433ddc153532cae8aca - languageName: node - linkType: hard - -"pino-pretty@npm:^10.3.1": - version: 10.3.1 - resolution: "pino-pretty@npm:10.3.1" - dependencies: - colorette: "npm:^2.0.7" - dateformat: "npm:^4.6.3" - fast-copy: "npm:^3.0.0" - fast-safe-stringify: "npm:^2.1.1" - help-me: "npm:^5.0.0" - joycon: "npm:^3.1.1" - minimist: "npm:^1.2.6" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:^1.0.0" - pump: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - secure-json-parse: "npm:^2.4.0" - sonic-boom: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - bin: - pino-pretty: bin.js - checksum: 10c0/6964fba5acc7a9f112e4c6738d602e123daf16cb5f6ddc56ab4b6bb05059f28876d51da8f72358cf1172e95fa12496b70465431a0836df693c462986d050686b - languageName: node - linkType: hard - -"pino-std-serializers@npm:^6.0.0": - version: 6.2.2 - resolution: "pino-std-serializers@npm:6.2.2" - checksum: 10c0/8f1c7f0f0d8f91e6c6b5b2a6bfb48f06441abeb85f1c2288319f736f9c6d814fbeebe928d2314efc2ba6018fa7db9357a105eca9fc99fc1f28945a8a8b28d3d5 - languageName: node - linkType: hard - -"pino@npm:^8.17.0": - version: 8.17.2 - resolution: "pino@npm:8.17.2" - dependencies: - atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.1.1" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:v1.1.0" - pino-std-serializers: "npm:^6.0.0" - process-warning: "npm:^3.0.0" - quick-format-unescaped: "npm:^4.0.3" - real-require: "npm:^0.2.0" - safe-stable-stringify: "npm:^2.3.1" - sonic-boom: "npm:^3.7.0" - thread-stream: "npm:^2.0.0" - bin: - pino: bin.js - checksum: 10c0/9e55af6cd9d1833a4dbe64924fc73163295acd3c988a9c7db88926669f2574ab7ec607e8487b6dd71dbdad2d7c1c1aac439f37e59233f37220b1a9d88fa2ce01 - languageName: node - linkType: hard - -"pino@npm:^8.18.0": - version: 8.18.0 - resolution: "pino@npm:8.18.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.1.1" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:v1.1.0" - pino-std-serializers: "npm:^6.0.0" - process-warning: "npm:^3.0.0" - quick-format-unescaped: "npm:^4.0.3" - real-require: "npm:^0.2.0" - safe-stable-stringify: "npm:^2.3.1" - sonic-boom: "npm:^3.7.0" - thread-stream: "npm:^2.0.0" - bin: - pino: bin.js - checksum: 10c0/ca73bb31e4656954413b89f48c486b1680fec0c6bb12d4d796c5ccf8eca40f3ee12c9532a0fa61284ed9a800c14eaa0f496f520057ef70cdee0447114813e8eb - languageName: node - linkType: hard - -"pkg-types@npm:^1.0.3": - version: 1.0.3 - resolution: "pkg-types@npm:1.0.3" - dependencies: - jsonc-parser: "npm:^3.2.0" - mlly: "npm:^1.2.0" - pathe: "npm:^1.1.0" - checksum: 10c0/7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 - languageName: node - linkType: hard - -"pony-cause@npm:^2.1.4": - version: 2.1.10 - resolution: "pony-cause@npm:2.1.10" - checksum: 10c0/55ad0ca52039895f273c69e55fc9fe882deff38689dc5962558bfa16cce0ea7cb5bb7b67d0c43ec9c3e7edeb81f81ee8c1113014930d77b2cbac5adc4ac7fb64 - languageName: node - linkType: hard - -"postcss@npm:^8.4.32": - version: 8.4.33 - resolution: "postcss@npm:8.4.33" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 10c0/16eda83458fcd8a91bece287b5920c7f57164c3ea293e6c80d0ea71ce7843007bcd8592260a5160b9a7f02693e6ac93e2495b02d8c7596d3f3f72c1447e3ba79 - languageName: node - linkType: hard - -"postgres-array@npm:^3.0.1, postgres-array@npm:^3.0.2, postgres-array@npm:~3.0.1": - version: 3.0.2 - resolution: "postgres-array@npm:3.0.2" - checksum: 10c0/644aa071f67a66a59f641f8e623887d2b915bc102a32643e2aa8b54c11acd343c5ad97831ea444dd37bd4b921ba35add4aa2cb0c6b76700a8252c2324aeba5b4 - languageName: node - linkType: hard - -"postgres-array@npm:~2.0.0": - version: 2.0.0 - resolution: "postgres-array@npm:2.0.0" - checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 - languageName: node - linkType: hard - -"postgres-bytea@npm:~1.0.0": - version: 1.0.0 - resolution: "postgres-bytea@npm:1.0.0" - checksum: 10c0/febf2364b8a8953695cac159eeb94542ead5886792a9627b97e33f6b5bb6e263bc0706ab47ec221516e79fbd6b2452d668841830fb3b49ec6c0fc29be61892ce - languageName: node - linkType: hard - -"postgres-bytea@npm:~3.0.0": - version: 3.0.0 - resolution: "postgres-bytea@npm:3.0.0" - dependencies: - obuf: "npm:~1.1.2" - checksum: 10c0/41c79cc48aa730c5ba3eda6ab989a940034f07a1f57b8f2777dce56f1b8cca16c5870582932b5b10cc605048aef9b6157e06253c871b4717cafc6d00f55376aa - languageName: node - linkType: hard - -"postgres-date@npm:~1.0.4": - version: 1.0.7 - resolution: "postgres-date@npm:1.0.7" - checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 - languageName: node - linkType: hard - -"postgres-date@npm:~2.1.0": - version: 2.1.0 - resolution: "postgres-date@npm:2.1.0" - checksum: 10c0/00a7472c10788f6b0d08d24108bf1eb80858de1bd6317740198a564918ea4a69b80c98148167b92ae688abd606483020d0de0dd3a36f3ea9a3e26bbeef3464f4 - languageName: node - linkType: hard - -"postgres-interval@npm:^1.1.0": - version: 1.2.0 - resolution: "postgres-interval@npm:1.2.0" - dependencies: - xtend: "npm:^4.0.0" - checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 - languageName: node - linkType: hard - -"postgres-interval@npm:^3.0.0": - version: 3.0.0 - resolution: "postgres-interval@npm:3.0.0" - checksum: 10c0/8b570b30ea37c685e26d136d34460f246f98935a1533defc4b53bb05ee23ae3dc7475b718ec7ea607a57894d8c6b4f1adf67ca9cc83a75bdacffd427d5c68de8 - languageName: node - linkType: hard - -"postgres-interval@npm:^4.0.0, postgres-interval@npm:^4.0.1": - version: 4.0.2 - resolution: "postgres-interval@npm:4.0.2" - checksum: 10c0/46d0766b11ac91ba3e4816c73a04e4e0c13ddf9efb9797982fdc405019a40b85e8b4a36448bd90e1ac1e8f0ca9b2ff22820e65e103368bc6fd9fa6a3b4268fd4 - languageName: node - linkType: hard - -"postgres-range@npm:^1.1.1": - version: 1.1.4 - resolution: "postgres-range@npm:1.1.4" - checksum: 10c0/254494ef81df208e0adeae6b66ce394aba37914ea14c7ece55a45fb6691b7db04bee74c825380a47c887a9f87158fd3d86f758f9cc60b76d3a38ce5aca7912e8 - languageName: node - linkType: hard - -"prebuild-install@npm:^7.1.1": - version: 7.1.1 - resolution: "prebuild-install@npm:7.1.1" - dependencies: - detect-libc: "npm:^2.0.0" - expand-template: "npm:^2.0.3" - github-from-package: "npm:0.0.0" - minimist: "npm:^1.2.3" - mkdirp-classic: "npm:^0.5.3" - napi-build-utils: "npm:^1.0.1" - node-abi: "npm:^3.3.0" - pump: "npm:^3.0.0" - rc: "npm:^1.2.7" - simple-get: "npm:^4.0.0" - tar-fs: "npm:^2.0.0" - tunnel-agent: "npm:^0.6.0" - bin: - prebuild-install: bin.js - checksum: 10c0/6dc70f36b0f4adcb2fe0ed38d874ab28b571fb1a9725d769e8ba3f64a15831e58462de09f3e6e64569bcc4a3e03b9328b56faa0d45fe10ae1574478814536c76 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"prettier-eslint@npm:16.2.0": - version: 16.2.0 - resolution: "prettier-eslint@npm:16.2.0" - dependencies: - "@typescript-eslint/parser": "npm:^6.7.5" - common-tags: "npm:^1.4.0" - dlv: "npm:^1.1.0" - eslint: "npm:^8.7.0" - indent-string: "npm:^4.0.0" - lodash.merge: "npm:^4.6.0" - loglevel-colored-level-prefix: "npm:^1.0.0" - prettier: "npm:^3.0.1" - pretty-format: "npm:^29.7.0" - require-relative: "npm:^0.8.7" - typescript: "npm:^5.2.2" - vue-eslint-parser: "npm:^9.1.0" - checksum: 10c0/6240ea94bfc6d3a01376283a045d0869569fdbe9f2e4c0a20bdeb372c14922ccb712e38c36108258b3c70fcb176f4e0a78b7f773e12a346bae990ab256056550 - languageName: node - linkType: hard - -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" - dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab - languageName: node - linkType: hard - -"prettier@npm:3.1.1": - version: 3.1.1 - resolution: "prettier@npm:3.1.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/facc944ba20e194ff4db765e830ffbcb642803381f0d2033ed397e79904fa4ccc877dc25ad68f42d36985c01d051c990ca1b905fb83d2d7d65fe69e4386fa1a3 - languageName: node - linkType: hard - -"prettier@npm:3.2.4, prettier@npm:^3.0.1": - version: 3.2.4 - resolution: "prettier@npm:3.2.4" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 - languageName: node - linkType: hard - -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc - languageName: node - linkType: hard - -"process-warning@npm:^2.0.0": - version: 2.3.2 - resolution: "process-warning@npm:2.3.2" - checksum: 10c0/6bccf187f604dd63067ae8b5a08f658d1cc5df4948a51525691a564ad9250575802c094dd5d1b69f015934fe5df6d925f2e607d7a589918069129b07a777aa7b - languageName: node - linkType: hard - -"process-warning@npm:^3.0.0": - version: 3.0.0 - resolution: "process-warning@npm:3.0.0" - checksum: 10c0/60f3c8ddee586f0706c1e6cb5aa9c86df05774b9330d792d7c8851cf0031afd759d665404d07037e0b4901b55c44a423f07bdc465c63de07d8d23196bb403622 - languageName: node - linkType: hard - -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c - languageName: node - linkType: hard - -"promise-inflight@npm:^1.0.1": - version: 1.0.1 - resolution: "promise-inflight@npm:1.0.1" - checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"proxy-addr@npm:^2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"quick-format-unescaped@npm:^4.0.3": - version: 4.0.4 - resolution: "quick-format-unescaped@npm:4.0.4" - checksum: 10c0/fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4 - languageName: node - linkType: hard - -"rc@npm:^1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: "npm:^0.6.0" - ini: "npm:~1.3.0" - minimist: "npm:^1.2.0" - strip-json-comments: "npm:~2.0.1" - bin: - rc: ./cli.js - checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 - languageName: node - linkType: hard - -"readable-stream@npm:2 || 3, readable-stream@npm:3, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readable-stream@npm:^4.0.0": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d - languageName: node - linkType: hard - -"real-require@npm:^0.2.0": - version: 0.2.0 - resolution: "real-require@npm:0.2.0" - checksum: 10c0/23eea5623642f0477412ef8b91acd3969015a1501ed34992ada0e3af521d3c865bb2fe4cdbfec5fe4b505f6d1ef6a03e5c3652520837a8c3b53decff7e74b6a0 - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 - languageName: node - linkType: hard - -"require-relative@npm:^0.8.7": - version: 0.8.7 - resolution: "require-relative@npm:0.8.7" - checksum: 10c0/b2d36d20cb849c26fb8134064048162e029ebbf373c915e6d31b2d5caa9e9b599c7b3e70700c019c28c9347369e85ecbcf139956788ece2774d8cb355d24c36f - languageName: node - linkType: hard - -"requizzle@npm:^0.2.3": - version: 0.2.4 - resolution: "requizzle@npm:0.2.4" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/ad138f987943aeda5f96cd1ccba9752c96352a729a7e3c3e2545568703f7fc9b978d9b46715803408ef178b0d61d36a4b1b506b367b7e78fe6d041fa5bfa5e06 - languageName: node - linkType: hard - -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - -"ret@npm:~0.2.0": - version: 0.2.2 - resolution: "ret@npm:0.2.2" - checksum: 10c0/1a41e543913cda851abb1dae4852efa97bb693ce58fde3b51cc1cae94e2599dd70b91ad6268a4a07fc238305be06fed91723ef6d08863c48a0d02e0a74b943cd - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - -"rfdc@npm:^1.2.0, rfdc@npm:^1.3.0": - version: 1.3.1 - resolution: "rfdc@npm:1.3.1" - checksum: 10c0/69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef - languageName: node - linkType: hard - -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"roarr@npm:^7.11.0, roarr@npm:^7.18.3": - version: 7.21.0 - resolution: "roarr@npm:7.21.0" - dependencies: - fast-printf: "npm:^1.6.9" - safe-stable-stringify: "npm:^2.4.3" - semver-compare: "npm:^1.0.0" - checksum: 10c0/c2069545c0267614ed6a8396309fcad34327133167a3eac2fcaa56343e98dd942714bcbf1ca9def6de2979863b3416a24bac99d6e27a12ffefb7b3ef2ced9e06 - languageName: node - linkType: hard - -"rollup@npm:^4.2.0": - version: 4.9.6 - resolution: "rollup@npm:4.9.6" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.9.6" - "@rollup/rollup-android-arm64": "npm:4.9.6" - "@rollup/rollup-darwin-arm64": "npm:4.9.6" - "@rollup/rollup-darwin-x64": "npm:4.9.6" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.9.6" - "@rollup/rollup-linux-arm64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-arm64-musl": "npm:4.9.6" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-x64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-x64-musl": "npm:4.9.6" - "@rollup/rollup-win32-arm64-msvc": "npm:4.9.6" - "@rollup/rollup-win32-ia32-msvc": "npm:4.9.6" - "@rollup/rollup-win32-x64-msvc": "npm:4.9.6" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/fcd9ab091cd2e604525ab919137f7868f002e27dc12921a3e09be2c85fa6e477c9dbd7ca54730500622db64e1fa53d1e5e2db3567e273a31d96d594932c8ae3b - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"rusty-motors@workspace:.": - version: 0.0.0-use.local - resolution: "rusty-motors@workspace:." - dependencies: - "@slonik/migrator": "npm:^0.12.0" - "@types/node": "npm:^20.11.16" - prettier: "npm:3.2.4" - slonik: "npm:29" - typescript: "npm:^5.3.3" - vitest: "npm:^1.2.2" - languageName: unknown - linkType: soft - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-regex2@npm:^2.0.0": - version: 2.0.0 - resolution: "safe-regex2@npm:2.0.0" - dependencies: - ret: "npm:~0.2.0" - checksum: 10c0/f499e4fc69caafd7dd8023759e69a32991baa66e90bec5e2a7777b907943b27068dbff4e7a32cc8231f1354fcb779142f419e85498ae1e37384dc60619509c27 - languageName: node - linkType: hard - -"safe-stable-stringify@npm:^2.3.1, safe-stable-stringify@npm:^2.4.3": - version: 2.4.3 - resolution: "safe-stable-stringify@npm:2.4.3" - checksum: 10c0/81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"secure-json-parse@npm:^2.4.0, secure-json-parse@npm:^2.7.0": - version: 2.7.0 - resolution: "secure-json-parse@npm:2.7.0" - checksum: 10c0/f57eb6a44a38a3eeaf3548228585d769d788f59007454214fab9ed7f01fbf2e0f1929111da6db28cf0bcc1a2e89db5219a59e83eeaec3a54e413a0197ce879e4 - languageName: node - linkType: hard - -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e - languageName: node - linkType: hard - -"serialize-error@npm:^8.0.0": - version: 8.1.0 - resolution: "serialize-error@npm:8.1.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/8cfd89f43ca93e283c5f1d16178a536bdfac9bc6029f4a9df988610cc399bc4f2478d1f10ce40b9dff66b863a5158a19b438fbec929045c96d92174f6bca1e88 - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - -"set-cookie-parser@npm:^2.4.1": - version: 2.6.0 - resolution: "set-cookie-parser@npm:2.6.0" - checksum: 10c0/739da029f0e56806a103fcd5501d9c475e19e77bd8274192d7ae5c374ae714a82bba9a7ac00b0330a18227c5644b08df9e442240527be578f5a6030f9bb2bb80 - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"short-unique-id@npm:^5.0.3": - version: 5.0.3 - resolution: "short-unique-id@npm:5.0.3" - bin: - short-unique-id: bin/short-unique-id - suid: bin/short-unique-id - checksum: 10c0/8b9cdfd79304424ba304cb82e1cc27171be158946139ac344c14313f76ede41dec0106fa2fc98b0f6d7b06460eeac87ce8a9ee19b44070eab3ee49f02f733d09 - languageName: node - linkType: hard - -"siginfo@npm:^2.0.0": - version: 2.0.0 - resolution: "siginfo@npm:2.0.0" - checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 10c0/62f7508e674414008910b5397c1811941d457dfa0db4fd5aa7fa0409eb02c3609608dfcd7508cace75b3a0bf67a2a77990711e32cd213d2c76f4fd12ee86d776 - languageName: node - linkType: hard - -"simple-get@npm:^4.0.0": - version: 4.0.1 - resolution: "simple-get@npm:4.0.1" - dependencies: - decompress-response: "npm:^6.0.0" - once: "npm:^1.3.1" - simple-concat: "npm:^1.0.0" - checksum: 10c0/b0649a581dbca741babb960423248899203165769747142033479a7dc5e77d7b0fced0253c731cd57cf21e31e4d77c9157c3069f4448d558ebc96cf9e1eebcf0 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slonik@npm:29": - version: 29.2.0 - resolution: "slonik@npm:29.2.0" - dependencies: - concat-stream: "npm:^2.0.0" - es6-error: "npm:^4.1.1" - fast-safe-stringify: "npm:^2.1.1" - get-stack-trace: "npm:^2.1.1" - hyperid: "npm:^2.3.1" - is-plain-object: "npm:^5.0.0" - iso8601-duration: "npm:^1.3.0" - p-defer: "npm:^3.0.0" - pg: "npm:^8.7.3" - pg-copy-streams: "npm:^6.0.2" - pg-copy-streams-binary: "npm:^2.2.0" - pg-cursor: "npm:^2.7.3" - pg-protocol: "npm:^1.5.0" - postgres-array: "npm:^3.0.1" - postgres-interval: "npm:^4.0.0" - roarr: "npm:^7.11.0" - serialize-error: "npm:^8.0.0" - through2: "npm:^4.0.2" - checksum: 10c0/578901771de6fa6a720e7ea5359d4b016d701d1be308912b0adf665616d3edb3d2caab800699f5e9aa964f2a437f81c0a7ce5433e47179bb3192466f7d56a6bf - languageName: node - linkType: hard - -"slonik@npm:^37.2.0": - version: 37.2.0 - resolution: "slonik@npm:37.2.0" - dependencies: - "@types/pg": "npm:^8.10.7" - es6-error: "npm:^4.1.1" - get-stack-trace: "npm:^3.1.1" - iso8601-duration: "npm:^1.3.0" - pg: "npm:^8.11.3" - pg-protocol: "npm:^1.6.0" - pg-query-stream: "npm:^4.5.3" - pg-types: "npm:^4.0.1" - postgres-array: "npm:^3.0.2" - postgres-interval: "npm:^4.0.1" - roarr: "npm:^7.18.3" - safe-stable-stringify: "npm:^2.4.3" - serialize-error: "npm:^8.0.0" - peerDependencies: - zod: ^3 - checksum: 10c0/2bd8e8a5c5e6ae8ce1c5814a3b4f79aeb01a121829996d4102a90c9c23854e90e2b71e1148862f89bca7e3ae2c99629a5e9e996997546649ffb04547d455ad7a - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^6.0.0": - version: 6.2.1 - resolution: "socks-proxy-agent@npm:6.2.1" - dependencies: - agent-base: "npm:^6.0.2" - debug: "npm:^4.3.3" - socks: "npm:^2.6.2" - checksum: 10c0/d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.1": - version: 8.0.2 - resolution: "socks-proxy-agent@npm:8.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 - languageName: node - linkType: hard - -"socks@npm:^2.6.2, socks@npm:^2.7.1": - version: 2.7.1 - resolution: "socks@npm:2.7.1" - dependencies: - ip: "npm:^2.0.0" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 - languageName: node - linkType: hard - -"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": - version: 3.8.0 - resolution: "sonic-boom@npm:3.8.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - checksum: 10c0/f3f61cb3fd5d4aad862dd957f22318ef85bf47d4f12ba27b915112908449f752dbdfc95a4739d2b4a9b2770e1e08d349adae9d1030fdab2a3d86128c6773a7f4 - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 - languageName: node - linkType: hard - -"source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.8.0-beta.0": - version: 0.8.0-beta.0 - resolution: "source-map@npm:0.8.0-beta.0" - dependencies: - whatwg-url: "npm:^7.0.0" - checksum: 10c0/fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 - languageName: node - linkType: hard - -"split2@npm:^4.0.0, split2@npm:^4.1.0": - version: 4.2.0 - resolution: "split2@npm:4.2.0" - checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"sqlite3@npm:^5.1.7": - version: 5.1.7 - resolution: "sqlite3@npm:5.1.7" - dependencies: - bindings: "npm:^1.5.0" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:8.x" - prebuild-install: "npm:^7.1.1" - tar: "npm:^6.1.11" - peerDependencies: - node-gyp: 8.x - dependenciesMeta: - node-gyp: - optional: true - peerDependenciesMeta: - node-gyp: - optional: true - checksum: 10c0/10daab5d7854bd0ec3c7690c00359cd3444eabc869b68c68dcb61374a8fa5e2f4be06cf0aba78f7a16336d49e83e4631e8af98f8bd33c772fe8d60b45fa60bc1 - languageName: node - linkType: hard - -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 - languageName: node - linkType: hard - -"ssri@npm:^8.0.0, ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" - dependencies: - minipass: "npm:^3.1.1" - checksum: 10c0/5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 - languageName: node - linkType: hard - -"stackback@npm:0.0.2": - version: 0.0.2 - resolution: "stackback@npm:0.0.2" - checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 - languageName: node - linkType: hard - -"stacktrace-parser@npm:^0.1.10": - version: 0.1.10 - resolution: "stacktrace-parser@npm:0.1.10" - dependencies: - type-fest: "npm:^0.7.1" - checksum: 10c0/f9c9cd55b0642a546e5f0516a87124fc496dcc2c082b96b156ed094c51e423314795cd1839cd4c59026349cf392d3414f54fc42165255602728588a58a9f72d3 - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"std-env@npm:^3.5.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e - languageName: node - linkType: hard - -"string-argv@npm:~0.3.1": - version: 0.3.2 - resolution: "string-argv@npm:0.3.2" - checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^3.0.0": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 - languageName: node - linkType: hard - -"strip-literal@npm:^1.3.0": - version: 1.3.0 - resolution: "strip-literal@npm:1.3.0" - dependencies: - acorn: "npm:^8.10.0" - checksum: 10c0/3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916 - languageName: node - linkType: hard - -"supports-color@npm:^2.0.0": - version: 2.0.0 - resolution: "supports-color@npm:2.0.0" - checksum: 10c0/570e0b63be36cccdd25186350a6cb2eaad332a95ff162fa06d9499982315f2fe4217e69dd98e862fbcd9c81eaff300a825a1fe7bf5cc752e5b84dfed042b0dda - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 - languageName: node - linkType: hard - -"tar-fs@npm:^2.0.0": - version: 2.1.1 - resolution: "tar-fs@npm:2.1.1" - dependencies: - chownr: "npm:^1.1.1" - mkdirp-classic: "npm:^0.5.2" - pump: "npm:^3.0.0" - tar-stream: "npm:^2.1.4" - checksum: 10c0/871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d - languageName: node - linkType: hard - -"tar-stream@npm:^2.1.4": - version: 2.2.0 - resolution: "tar-stream@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - end-of-stream: "npm:^1.4.1" - fs-constants: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 - languageName: node - linkType: hard - -"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.0 - resolution: "tar@npm:6.2.0" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 - languageName: node - linkType: hard - -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thread-stream@npm:^2.0.0": - version: 2.4.1 - resolution: "thread-stream@npm:2.4.1" - dependencies: - real-require: "npm:^0.2.0" - checksum: 10c0/ce29265810b9550ce896726301ff006ebfe96b90292728f07cfa4c379740585583046e2a8018afc53aca66b18fed12b33a84f3883e7ebc317185f6682898b8f8 - languageName: node - linkType: hard - -"through2@npm:^3.0.1": - version: 3.0.2 - resolution: "through2@npm:3.0.2" - dependencies: - inherits: "npm:^2.0.4" - readable-stream: "npm:2 || 3" - checksum: 10c0/8ea17efa2ce5b78ef5c52d08e29d0dbdad9c321c2add5192bba3434cae25b2319bf9cdac1c54c3bfbd721438a30565ca6f3f19eb79f62341dafc5a12429d2ccc - languageName: node - linkType: hard - -"through2@npm:^4.0.2": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c - languageName: node - linkType: hard - -"tinybench@npm:^2.5.1": - version: 2.6.0 - resolution: "tinybench@npm:2.6.0" - checksum: 10c0/60ea35699bf8bac9bc8cf279fa5877ab5b335b4673dcd07bf0fbbab9d7953a02c0ccded374677213eaa13aa147f54eb75d3230139ddbeec3875829ebe73db310 - languageName: node - linkType: hard - -"tinypool@npm:^0.8.2": - version: 0.8.2 - resolution: "tinypool@npm:0.8.2" - checksum: 10c0/8998626614172fc37c394e9a14e701dc437727fc6525488a4d4fd42044a4b2b59d6f076d750cbf5c699f79c58dd4e40599ab09e2f1ae0df4b23516b98c9c3055 - languageName: node - linkType: hard - -"tinyspy@npm:^2.2.0": - version: 2.2.0 - resolution: "tinyspy@npm:2.2.0" - checksum: 10c0/8c7b70748dd8590e85d52741db79243746c15bc03c92d75c23160a762142db577e7f53e360ba7300e321b12bca5c42dd2522a8dbeec6ba3830302573dd8516bc - languageName: node - linkType: hard - -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toad-cache@npm:^3.3.0": - version: 3.7.0 - resolution: "toad-cache@npm:3.7.0" - checksum: 10c0/7dae2782ee20b22c9798bb8b71dec7ec6a0091021d2ea9dd6e8afccab6b65b358fdba49a02209fac574499702e2c000660721516c87c2538d1b2c0ba03e8c0c3 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"ts-api-utils@npm:^1.0.1": - version: 1.0.3 - resolution: "ts-api-utils@npm:1.0.3" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/9408338819c3aca2a709f0bc54e3f874227901506cacb1163612a6c8a43df224174feb965a5eafdae16f66fc68fd7bfee8d3275d0fa73fbb8699e03ed26520c9 - languageName: node - linkType: hard - -"ts-node@npm:10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tslib@npm:^2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - -"tsx@npm:4.7.0": - version: 4.7.0 - resolution: "tsx@npm:4.7.0" - dependencies: - esbuild: "npm:~0.19.10" - fsevents: "npm:~2.3.3" - get-tsconfig: "npm:^4.7.2" - dependenciesMeta: - fsevents: - optional: true - bin: - tsx: dist/cli.mjs - checksum: 10c0/ac522a3017aedea31ff468dc161b6408d16a273bd23556716b550d1c08395d7e2568009c8927131481f0a8980ddda84999ac4bc2c00659b08a19b45bec31ef23 - languageName: node - linkType: hard - -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.7.1": - version: 0.7.1 - resolution: "type-fest@npm:0.7.1" - checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f - languageName: node - linkType: hard - -"type-fest@npm:^4.0.0": - version: 4.10.2 - resolution: "type-fest@npm:4.10.2" - checksum: 10c0/740f7d30da742ff413e8690ec10a24df054bfd87575cf92691b77f5a6b8185c582da529b84ceb13771482599e085712beec51492feaef2a1adc8661c0a47ecba - languageName: node - linkType: hard - -"type-is@npm:^1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 - languageName: node - linkType: hard - -"typescript-eslint-language-service@npm:^5.0.5": - version: 5.0.5 - resolution: "typescript-eslint-language-service@npm:5.0.5" - peerDependencies: - "@typescript-eslint/parser": ">= 5.0.0" - eslint: ">= 8.0.0" - typescript: ">= 4.0.0" - checksum: 10c0/61b3ce5a124ad3b2ea6ac06b19e8192b1f3f5db01ecaf3009302979172b2eeaee78f9051fd4a687230b55acadc5272ecf90297d57b09078c97a271016ccbcf07 - languageName: node - linkType: hard - -"typescript@npm:^5.2.2, typescript@npm:^5.3.3": - version: 5.3.3 - resolution: "typescript@npm:5.3.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": - version: 5.3.3 - resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 - languageName: node - linkType: hard - -"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": - version: 1.0.6 - resolution: "uc.micro@npm:1.0.6" - checksum: 10c0/9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b - languageName: node - linkType: hard - -"ufo@npm:^1.3.2": - version: 1.3.2 - resolution: "ufo@npm:1.3.2" - checksum: 10c0/180f3dfcdf319b54fe0272780841c93cb08a024fc2ee5f95e63285c2a3c42d8b671cd3641e9a53aafccf100cf8466aa8c040ddfa0efea1fc1968c9bfb250a661 - languageName: node - linkType: hard - -"umzug@npm:^3.1.1": - version: 3.6.1 - resolution: "umzug@npm:3.6.1" - dependencies: - "@rushstack/ts-command-line": "npm:^4.12.2" - emittery: "npm:^0.13.0" - glob: "npm:^8.0.3" - pony-cause: "npm:^2.1.4" - type-fest: "npm:^4.0.0" - checksum: 10c0/0a58d3a5ed3b3b50b42a4ad25d4dc2c9103ae8c8061e9f855f49b40507e6a6affc92bc4e10d3f29e091e4024ae7cc73d63cface2c902a5ad4ddb4b74064fe0d8 - languageName: node - linkType: hard - -"underscore@npm:~1.13.2": - version: 1.13.6 - resolution: "underscore@npm:1.13.6" - checksum: 10c0/5f57047f47273044c045fddeb8b141dafa703aa487afd84b319c2495de2e685cecd0b74abec098292320d518b267c0c4598e45aa47d4c3628d0d4020966ba521 - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" - dependencies: - unique-slug: "npm:^2.0.0" - checksum: 10c0/d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 - languageName: node - linkType: hard - -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f - languageName: node - linkType: hard - -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 - languageName: node - linkType: hard - -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - languageName: node - linkType: hard - -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"uuid-parse@npm:^1.1.0": - version: 1.1.0 - resolution: "uuid-parse@npm:1.1.0" - checksum: 10c0/513d5b0407b8929c54d452e8e286a1f6f00d40a2ebf6607fc7297b9caa40eee35230dcc4ce3f178f84d89704e8147e24d1a33d680a8afb7e12a5700714db7f51 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.2.0": - version: 9.2.0 - resolution: "v8-to-istanbul@npm:9.2.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 - languageName: node - linkType: hard - -"vary@npm:^1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vite-node@npm:1.2.2": - version: 1.2.2 - resolution: "vite-node@npm:1.2.2" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.4" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - vite: "npm:^5.0.0" - bin: - vite-node: vite-node.mjs - checksum: 10c0/39a5b9d9c806a012aab208eee0f59e4e12446ec19a4cf149a6459e7ff86491c289e189fda4f55a63b7e37d713f5edbda0e9efed95af4f7ebefa6d39eee093c0b - languageName: node - linkType: hard - -"vite@npm:^5.0.0": - version: 5.0.12 - resolution: "vite@npm:5.0.12" - dependencies: - esbuild: "npm:^0.19.3" - fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.32" - rollup: "npm:^4.2.0" - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: 10c0/c51b8e458851943c903fddde6973e720099ef8a5f364fb107cddade59c9e90f6d9ad98b61a7419cdfa0c6374236e10bff965d0c2d9e7b1790c68b874e5e7950c - languageName: node - linkType: hard - -"vitest@npm:^1.1.1, vitest@npm:^1.2.2": - version: 1.2.2 - resolution: "vitest@npm:1.2.2" - dependencies: - "@vitest/expect": "npm:1.2.2" - "@vitest/runner": "npm:1.2.2" - "@vitest/snapshot": "npm:1.2.2" - "@vitest/spy": "npm:1.2.2" - "@vitest/utils": "npm:1.2.2" - acorn-walk: "npm:^8.3.2" - cac: "npm:^6.7.14" - chai: "npm:^4.3.10" - debug: "npm:^4.3.4" - execa: "npm:^8.0.1" - local-pkg: "npm:^0.5.0" - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - strip-literal: "npm:^1.3.0" - tinybench: "npm:^2.5.1" - tinypool: "npm:^0.8.2" - vite: "npm:^5.0.0" - vite-node: "npm:1.2.2" - why-is-node-running: "npm:^2.2.2" - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": ^1.0.0 - "@vitest/ui": ^1.0.0 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - bin: - vitest: vitest.mjs - checksum: 10c0/085cb62146191b32dc98fac1a5b0de6d1c63c44cc1e7946a7d38309dd4135539432ec27b4bfad38ce79736688a0ce20d9b93f58de4ce4a41677cb3c5ca6ad980 - languageName: node - linkType: hard - -"vue-eslint-parser@npm:^9.1.0": - version: 9.4.2 - resolution: "vue-eslint-parser@npm:9.4.2" - dependencies: - debug: "npm:^4.3.4" - eslint-scope: "npm:^7.1.1" - eslint-visitor-keys: "npm:^3.3.0" - espree: "npm:^9.3.1" - esquery: "npm:^1.4.0" - lodash: "npm:^4.17.21" - semver: "npm:^7.3.6" - peerDependencies: - eslint: ">=6.0.0" - checksum: 10c0/79593073adbce8971565133c70a203f12f0be0f8c5e3a4063796fd56e5de64f1f3ad7f91be5a787a7a3fe751306ed22086ee8369d52725be95f452827ce670de - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: "npm:^4.7.0" - tr46: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - checksum: 10c0/2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 - languageName: node - linkType: hard - -"which@npm:^2.0.1, which@npm:^2.0.2": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - -"why-is-node-running@npm:^2.2.2": - version: 2.2.2 - resolution: "why-is-node-running@npm:2.2.2" - dependencies: - siginfo: "npm:^2.0.0" - stackback: "npm:0.0.2" - bin: - why-is-node-running: cli.js - checksum: 10c0/805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd - languageName: node - linkType: hard - -"wide-align@npm:^1.1.5": - version: 1.1.5 - resolution: "wide-align@npm:1.1.5" - dependencies: - string-width: "npm:^1.0.2 || 2 || 3 || 4" - checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"xmlcreate@npm:^2.0.4": - version: 2.0.4 - resolution: "xmlcreate@npm:2.0.4" - checksum: 10c0/fc4234e2d1942877d761d4f3d64410b54633d2ec60b13a5d56a6a06545aba39a0df8ed7ded10785a302f632eb4f0a4fedbf4bf10e17892e11d5075244b9e5705 - languageName: node - linkType: hard - -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - -"yocto-queue@npm:^1.0.0": - version: 1.0.0 - resolution: "yocto-queue@npm:1.0.0" - checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 - languageName: node - linkType: hard - -"zod@npm:^3.22.4": - version: 3.22.4 - resolution: "zod@npm:3.22.4" - checksum: 10c0/7578ab283dac0eee66a0ad0fc4a7f28c43e6745aadb3a529f59a4b851aa10872b3890398b3160f257f4b6817b4ce643debdda4fb21a2c040adda7862cab0a587 - languageName: node - linkType: hard +# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. +# yarn lockfile v1 + + +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + +"@ampproject/remapping@^2.2.1": + version "2.2.1" + resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" + integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + +"@babel/helper-validator-identifier@^7.22.20": + version "7.22.20" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" + integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== + +"@babel/parser@^7.20.15", "@babel/parser@^7.23.6": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz" + integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== + +"@babel/types@^7.23.6": + version "7.23.9" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz" + integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + +"@bcoe/v8-coverage@^0.2.3": + version "0.2.3" + resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" + integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== + +"@cspotcode/source-map-support@^0.8.0": + version "0.8.1" + resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" + integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== + dependencies: + "@jridgewell/trace-mapping" "0.3.9" + +"@esbuild/linux-x64@0.19.12": + version "0.19.12" + resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz" + integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== + +"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": + version "4.4.0" + resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + 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" + +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + +"@fastify/ajv-compiler@^3.5.0": + version "3.5.0" + resolved "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz" + integrity sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA== + dependencies: + ajv "^8.11.0" + ajv-formats "^2.1.1" + fast-uri "^2.0.0" + +"@fastify/error@^3.3.0", "@fastify/error@^3.4.0": + version "3.4.1" + resolved "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz" + integrity sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ== + +"@fastify/fast-json-stringify-compiler@^4.3.0": + version "4.3.0" + resolved "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz" + integrity sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA== + dependencies: + fast-json-stringify "^5.7.0" + +"@fastify/merge-json-schemas@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz" + integrity sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA== + dependencies: + fast-deep-equal "^3.1.3" + +"@fastify/sensible@^5.5.0": + version "5.5.0" + resolved "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz" + integrity sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg== + dependencies: + "@lukeed/ms" "^2.0.1" + fast-deep-equal "^3.1.1" + fastify-plugin "^4.0.0" + forwarded "^0.2.0" + http-errors "^2.0.0" + type-is "^1.6.18" + vary "^1.1.2" + +"@gar/promisify@^1.0.1": + version "1.1.3" + resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" + integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== + +"@humanwhocodes/config-array@^0.11.13": + version "0.11.14" + resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" + integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== + dependencies: + "@humanwhocodes/object-schema" "^2.0.2" + debug "^4.3.1" + minimatch "^3.0.5" + +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + +"@humanwhocodes/object-schema@^2.0.2": + version "2.0.2" + resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" + integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== + +"@istanbuljs/schema@^0.1.2": + version "0.1.3" + resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" + integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" + +"@jridgewell/gen-mapping@^0.3.0": + version "0.3.3" + resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" + integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== + dependencies: + "@jridgewell/set-array" "^1.0.1" + "@jridgewell/sourcemap-codec" "^1.4.10" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": + version "3.1.2" + resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" + integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== + +"@jridgewell/set-array@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" + integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== + +"@jridgewell/source-map@^0.3.3": + version "0.3.5" + resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" + integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== + dependencies: + "@jridgewell/gen-mapping" "^0.3.0" + "@jridgewell/trace-mapping" "^0.3.9" + +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": + version "1.4.15" + resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": + version "0.3.22" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" + integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + +"@jridgewell/trace-mapping@0.3.9": + version "0.3.9" + resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" + integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== + dependencies: + "@jridgewell/resolve-uri" "^3.0.3" + "@jridgewell/sourcemap-codec" "^1.4.10" + +"@jsdoc/salty@^0.2.1": + version "0.2.7" + resolved "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz" + integrity sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg== + dependencies: + lodash "^4.17.21" + +"@lukeed/ms@^2.0.1": + version "2.0.2" + resolved "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz" + integrity sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA== + +"@nodelib/fs.scandir@2.1.5": + version "2.1.5" + resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" + integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== + dependencies: + "@nodelib/fs.stat" "2.0.5" + run-parallel "^1.1.9" + +"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": + version "2.0.5" + resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" + integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== + +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": + version "1.2.8" + resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" + integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== + dependencies: + "@nodelib/fs.scandir" "2.1.5" + fastq "^1.6.0" + +"@npmcli/fs@^1.0.0": + version "1.1.1" + resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" + integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== + dependencies: + "@gar/promisify" "^1.0.1" + semver "^7.3.5" + +"@npmcli/move-file@^1.0.1": + version "1.1.2" + resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" + integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== + dependencies: + mkdirp "^1.0.4" + rimraf "^3.0.2" + +"@pkgr/core@^0.1.0": + version "0.1.1" + resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz" + integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== + +"@rollup/rollup-linux-x64-gnu@4.12.0": + version "4.12.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz" + integrity sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA== + +"@rollup/rollup-linux-x64-musl@4.12.0": + version "4.12.0" + resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz" + integrity sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw== + +"@rushstack/node-core-library@4.0.2": + version "4.0.2" + resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz" + integrity sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg== + dependencies: + fs-extra "~7.0.1" + import-lazy "~4.0.0" + jju "~1.4.0" + resolve "~1.22.1" + semver "~7.5.4" + z-schema "~5.0.2" + +"@rushstack/terminal@0.9.0": + version "0.9.0" + resolved "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.9.0.tgz" + integrity sha512-49RnIDooriXyqcd7mGyjh9CmjOjf/Vn8PkOQXHa1CS0/RrrynCJLFhRDkswf7gGXZW+6UhROOE8wTmbOrfUTSA== + dependencies: + "@rushstack/node-core-library" "4.0.2" + colors "~1.2.1" + +"@rushstack/ts-command-line@^4.11.0", "@rushstack/ts-command-line@^4.12.2": + version "4.17.3" + resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.17.3.tgz" + integrity sha512-/PtTYW38A8iUviuCmQSccHfmx3uBh4Jm5YRPU2aTgYEgwT2jtg60vAbwnkMYkyaT1AbWpjZM3xq5uHYPURvStw== + dependencies: + "@rushstack/terminal" "0.9.0" + "@types/argparse" "1.0.38" + argparse "~1.0.9" + string-argv "~0.3.1" + +"@rusty-motors/thebeast@file:/home/drazisil/mcos/thebeast": + version "1.0.0" + resolved "file:thebeast" + dependencies: + "@fastify/sensible" "^5.5.0" + "@sentry/node" "^7.102.0" + "@sentry/profiling-node" "^7.102.0" + "@types/connect" "^3.4.38" + fastify "^4.25.2" + moment "^2.30.1" + pino "^8.18.0" + pino-pretty "^10.3.1" + short-unique-id "^5.0.3" + slonik "^37.2.0" + sqlite3 "^5.1.7" + ts-node "10.9.2" + tslib "^2.6.2" + +"@sentry-internal/tracing@7.102.1": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz" + integrity sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg== + dependencies: + "@sentry/core" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/cli-linux-x64@2.28.6": + version "2.28.6" + resolved "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz" + integrity sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg== + +"@sentry/cli@^2.23.2": + version "2.28.6" + resolved "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz" + integrity sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g== + dependencies: + https-proxy-agent "^5.0.0" + node-fetch "^2.6.7" + progress "^2.0.3" + proxy-from-env "^1.1.0" + which "^2.0.2" + optionalDependencies: + "@sentry/cli-darwin" "2.28.6" + "@sentry/cli-linux-arm" "2.28.6" + "@sentry/cli-linux-arm64" "2.28.6" + "@sentry/cli-linux-i686" "2.28.6" + "@sentry/cli-linux-x64" "2.28.6" + "@sentry/cli-win32-i686" "2.28.6" + "@sentry/cli-win32-x64" "2.28.6" + +"@sentry/core@7.102.1": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz" + integrity sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg== + dependencies: + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/node@^7.102.0": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry/node/-/node-7.102.1.tgz" + integrity sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw== + dependencies: + "@sentry-internal/tracing" "7.102.1" + "@sentry/core" "7.102.1" + "@sentry/types" "7.102.1" + "@sentry/utils" "7.102.1" + +"@sentry/profiling-node@^7.102.0": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.1.tgz" + integrity sha512-eqOUdu04eI4ODqeh/nHvC/mdwm3tWkqm02anR2ITEjKVJxHliHH6+jr+3M2X56e1hIxOibtL+JrR89Du9HEl9w== + dependencies: + detect-libc "^2.0.2" + node-abi "^3.52.0" + +"@sentry/types@7.102.1": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz" + integrity sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA== + +"@sentry/utils@7.102.1": + version "7.102.1" + resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz" + integrity sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg== + dependencies: + "@sentry/types" "7.102.1" + +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + +"@slonik/migrator@^0.12.0": + version "0.12.0" + resolved "https://registry.npmjs.org/@slonik/migrator/-/migrator-0.12.0.tgz" + integrity sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ== + dependencies: + "@rushstack/ts-command-line" "^4.11.0" + umzug "^3.1.1" + +"@tootallnate/once@1": + version "1.1.2" + resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" + integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== + +"@tsconfig/node-lts@^20.1.1": + version "20.1.1" + resolved "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz" + integrity sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ== + +"@tsconfig/node10@^1.0.7": + version "1.0.9" + resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" + integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== + +"@tsconfig/node12@^1.0.7": + version "1.0.11" + resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" + integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== + +"@tsconfig/node14@^1.0.0": + version "1.0.3" + resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" + integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== + +"@tsconfig/node16@^1.0.2": + version "1.0.4" + resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" + integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== + +"@tsconfig/node20@^20.1.2": + version "20.1.2" + resolved "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz" + integrity sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ== + +"@types/argparse@1.0.38": + version "1.0.38" + resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz" + integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== + +"@types/chai@*", "@types/chai@4.3.11": + version "4.3.11" + resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz" + integrity sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== + +"@types/connect@^3.4.38": + version "3.4.38" + resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" + integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== + dependencies: + "@types/node" "*" + +"@types/eslint-scope@^3.7.3": + version "3.7.7" + resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" + integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== + dependencies: + "@types/eslint" "*" + "@types/estree" "*" + +"@types/eslint@*", "@types/eslint@>=8.0.0": + version "8.56.3" + resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz" + integrity sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg== + dependencies: + "@types/estree" "*" + "@types/json-schema" "*" + +"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5", "@types/estree@1.0.5": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" + integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + +"@types/istanbul-lib-coverage@^2.0.1": + 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== + +"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8": + version "7.0.15" + resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" + integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== + +"@types/linkify-it@*": + version "3.0.5" + resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz" + integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== + +"@types/markdown-it@*", "@types/markdown-it@^12.2.3": + version "12.2.3" + resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" + integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== + dependencies: + "@types/linkify-it" "*" + "@types/mdurl" "*" + +"@types/mdurl@*": + version "1.0.5" + resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz" + integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== + +"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.10.6", "@types/node@^20.11.16": + version "20.11.20" + resolved "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz" + integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== + dependencies: + undici-types "~5.26.4" + +"@types/pg@^8.10.7": + version "8.11.0" + resolved "https://registry.npmjs.org/@types/pg/-/pg-8.11.0.tgz" + integrity sha512-sDAlRiBNthGjNFfvt0k6mtotoVYVQ63pA8R4EMWka7crawSR60waVYR0HAgmPRs/e2YaeJTD/43OoZ3PFw80pw== + dependencies: + "@types/node" "*" + pg-protocol "*" + pg-types "^4.0.1" + +"@types/semver@^7.5.0": + version "7.5.7" + resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz" + integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== + +"@types/sinon-chai@3.2.12": + version "3.2.12" + resolved "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz" + integrity sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ== + dependencies: + "@types/chai" "*" + "@types/sinon" "*" + +"@types/sinon@*", "@types/sinon@17.0.3": + version "17.0.3" + resolved "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz" + integrity sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw== + dependencies: + "@types/sinonjs__fake-timers" "*" + +"@types/sinonjs__fake-timers@*": + version "8.1.5" + resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz" + integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== + +"@typescript-eslint/eslint-plugin@^6.17.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz" + integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/type-utils" "6.21.0" + "@typescript-eslint/utils" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha", "@typescript-eslint/parser@^6.17.0", "@typescript-eslint/parser@^6.7.5", "@typescript-eslint/parser@>= 5.0.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz" + integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== + dependencies: + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" + +"@typescript-eslint/scope-manager@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz" + integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== + dependencies: + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + +"@typescript-eslint/type-utils@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz" + integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== + dependencies: + "@typescript-eslint/typescript-estree" "6.21.0" + "@typescript-eslint/utils" "6.21.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/types@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz" + integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== + +"@typescript-eslint/typescript-estree@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz" + integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== + dependencies: + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/visitor-keys" "6.21.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/utils@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz" + integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "6.21.0" + "@typescript-eslint/types" "6.21.0" + "@typescript-eslint/typescript-estree" "6.21.0" + semver "^7.5.4" + +"@typescript-eslint/visitor-keys@6.21.0": + version "6.21.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz" + integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== + dependencies: + "@typescript-eslint/types" "6.21.0" + eslint-visitor-keys "^3.4.1" + +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + +"@vitest/coverage-v8@^1.1.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.1.tgz" + integrity sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg== + dependencies: + "@ampproject/remapping" "^2.2.1" + "@bcoe/v8-coverage" "^0.2.3" + debug "^4.3.4" + istanbul-lib-coverage "^3.2.2" + istanbul-lib-report "^3.0.1" + istanbul-lib-source-maps "^4.0.1" + istanbul-reports "^3.1.6" + magic-string "^0.30.5" + magicast "^0.3.3" + picocolors "^1.0.0" + std-env "^3.5.0" + test-exclude "^6.0.0" + v8-to-istanbul "^9.2.0" + +"@vitest/expect@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz" + integrity sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw== + dependencies: + "@vitest/spy" "1.3.1" + "@vitest/utils" "1.3.1" + chai "^4.3.10" + +"@vitest/runner@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz" + integrity sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg== + dependencies: + "@vitest/utils" "1.3.1" + p-limit "^5.0.0" + pathe "^1.1.1" + +"@vitest/snapshot@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz" + integrity sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ== + dependencies: + magic-string "^0.30.5" + pathe "^1.1.1" + pretty-format "^29.7.0" + +"@vitest/spy@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz" + integrity sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig== + dependencies: + tinyspy "^2.2.0" + +"@vitest/utils@1.3.1": + version "1.3.1" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz" + integrity sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ== + dependencies: + diff-sequences "^29.6.3" + estree-walker "^3.0.3" + loupe "^2.3.7" + pretty-format "^29.7.0" + +"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" + integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== + dependencies: + "@webassemblyjs/helper-numbers" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + +"@webassemblyjs/floating-point-hex-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" + integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== + +"@webassemblyjs/helper-api-error@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" + integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== + +"@webassemblyjs/helper-buffer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" + integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== + +"@webassemblyjs/helper-numbers@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" + integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== + dependencies: + "@webassemblyjs/floating-point-hex-parser" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@xtuc/long" "4.2.2" + +"@webassemblyjs/helper-wasm-bytecode@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" + integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== + +"@webassemblyjs/helper-wasm-section@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" + integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + +"@webassemblyjs/ieee754@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" + integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== + dependencies: + "@xtuc/ieee754" "^1.2.0" + +"@webassemblyjs/leb128@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" + integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== + dependencies: + "@xtuc/long" "4.2.2" + +"@webassemblyjs/utf8@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" + integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== + +"@webassemblyjs/wasm-edit@^1.11.5": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" + integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/helper-wasm-section" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-opt" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + "@webassemblyjs/wast-printer" "1.11.6" + +"@webassemblyjs/wasm-gen@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" + integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wasm-opt@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" + integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-buffer" "1.11.6" + "@webassemblyjs/wasm-gen" "1.11.6" + "@webassemblyjs/wasm-parser" "1.11.6" + +"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" + integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@webassemblyjs/helper-api-error" "1.11.6" + "@webassemblyjs/helper-wasm-bytecode" "1.11.6" + "@webassemblyjs/ieee754" "1.11.6" + "@webassemblyjs/leb128" "1.11.6" + "@webassemblyjs/utf8" "1.11.6" + +"@webassemblyjs/wast-printer@1.11.6": + version "1.11.6" + resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" + integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== + dependencies: + "@webassemblyjs/ast" "1.11.6" + "@xtuc/long" "4.2.2" + +"@xtuc/ieee754@^1.2.0": + version "1.2.0" + resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" + integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== + +"@xtuc/long@4.2.2": + version "4.2.2" + resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" + integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== + +abbrev@1: + version "1.1.1" + resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" + integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== + +abort-controller@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" + integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== + dependencies: + event-target-shim "^5.0.0" + +abstract-logging@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz" + integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== + +acorn-import-assertions@^1.9.0: + version "1.9.0" + resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" + integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== + +acorn-jsx@^5.3.2: + version "5.3.2" + resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" + integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== + +acorn-walk@^8.1.1, acorn-walk@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" + integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== + +"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + +agent-base@^6.0.2, agent-base@6: + version "6.0.2" + resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" + integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== + dependencies: + debug "4" + +agentkeepalive@^4.1.3: + version "4.5.0" + resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + +aggregate-error@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" + integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== + dependencies: + clean-stack "^2.0.0" + indent-string "^4.0.0" + +ajv-formats@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" + integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== + dependencies: + ajv "^8.0.0" + +ajv-keywords@^3.5.2: + version "3.5.2" + resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" + integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== + +ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: + version "6.12.6" + resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" + integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== + dependencies: + fast-deep-equal "^3.1.1" + fast-json-stable-stringify "^2.0.0" + json-schema-traverse "^0.4.1" + uri-js "^4.2.2" + +ajv@^8.0.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.10.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ajv@^8.11.0: + version "8.12.0" + resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" + integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== + dependencies: + fast-deep-equal "^3.1.1" + json-schema-traverse "^1.0.0" + require-from-string "^2.0.2" + uri-js "^4.2.2" + +ansi-regex@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" + integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== + +ansi-regex@^5.0.1: + version "5.0.1" + resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" + integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== + +ansi-styles@^2.2.1: + version "2.2.1" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" + integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== + +ansi-styles@^4.1.0: + version "4.3.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" + integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== + dependencies: + color-convert "^2.0.1" + +ansi-styles@^5.0.0: + version "5.2.0" + resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" + integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== + +"aproba@^1.0.3 || ^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" + integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== + +archy@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" + integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== + +are-we-there-yet@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" + integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== + dependencies: + delegates "^1.0.0" + readable-stream "^3.6.0" + +arg@^4.1.0: + version "4.1.3" + resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" + integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== + +argparse@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" + integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== + +argparse@~1.0.9: + version "1.0.10" + resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" + integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== + dependencies: + sprintf-js "~1.0.2" + +array-union@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" + integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== + +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + +atomic-sleep@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" + integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== + +avvio@^8.3.0: + version "8.3.0" + resolved "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz" + integrity sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q== + dependencies: + "@fastify/error" "^3.3.0" + archy "^1.0.0" + debug "^4.0.0" + fastq "^1.17.1" + +balanced-match@^1.0.0: + version "1.0.2" + resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" + integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== + +base64-js@^1.3.1: + version "1.5.1" + resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" + integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== + +bindings@^1.5.0: + version "1.5.0" + resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" + integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== + dependencies: + file-uri-to-path "1.0.0" + +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + +bluebird@^3.7.1, bluebird@^3.7.2: + version "3.7.2" + resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" + integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== + +boolean@^3.1.4: + version "3.2.0" + resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" + integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== + +brace-expansion@^1.1.7: + version "1.1.11" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" + integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== + dependencies: + balanced-match "^1.0.0" + concat-map "0.0.1" + +brace-expansion@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" + integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== + dependencies: + balanced-match "^1.0.0" + +braces@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" + integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + dependencies: + fill-range "^7.0.1" + +browserslist@^4.21.10, "browserslist@>= 4.21.0": + version "4.23.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" + integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== + dependencies: + caniuse-lite "^1.0.30001587" + electron-to-chromium "^1.4.668" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + +buffer-from@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" + integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== + +buffer-writer@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz" + integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== + +buffer@^5.5.0: + version "5.7.1" + resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" + integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.1.13" + +buffer@^6.0.3: + version "6.0.3" + resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + +bufferput@^0.1.3: + version "0.1.3" + resolved "https://registry.npmjs.org/bufferput/-/bufferput-0.1.3.tgz" + integrity sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw== + +cac@^6.7.14: + version "6.7.14" + resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" + integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== + +cacache@^15.2.0: + version "15.3.0" + resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" + integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== + dependencies: + "@npmcli/fs" "^1.0.0" + "@npmcli/move-file" "^1.0.1" + chownr "^2.0.0" + fs-minipass "^2.0.0" + glob "^7.1.4" + infer-owner "^1.0.4" + lru-cache "^6.0.0" + minipass "^3.1.1" + minipass-collect "^1.0.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.2" + mkdirp "^1.0.3" + p-map "^4.0.0" + promise-inflight "^1.0.1" + rimraf "^3.0.2" + ssri "^8.0.1" + tar "^6.0.2" + unique-filename "^1.1.1" + +callsites@^3.0.0: + version "3.1.0" + resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" + integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== + +caniuse-lite@^1.0.30001587: + version "1.0.30001589" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz" + integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg== + +catharsis@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz" + integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== + dependencies: + lodash "^4.17.15" + +chai@^4.3.10: + version "4.4.1" + resolved "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz" + integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== + dependencies: + assertion-error "^1.1.0" + check-error "^1.0.3" + deep-eql "^4.1.3" + get-func-name "^2.0.2" + loupe "^2.3.6" + pathval "^1.1.1" + type-detect "^4.0.8" + +chalk@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" + integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== + dependencies: + ansi-styles "^2.2.1" + escape-string-regexp "^1.0.2" + has-ansi "^2.0.0" + strip-ansi "^3.0.0" + supports-color "^2.0.0" + +chalk@^4.0.0, chalk@^4.1.0: + version "4.1.2" + resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" + integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== + dependencies: + ansi-styles "^4.1.0" + supports-color "^7.1.0" + +check-error@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz" + integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== + dependencies: + get-func-name "^2.0.2" + +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + +chownr@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" + integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== + +chrome-trace-event@^1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" + integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== + +clean-stack@^2.0.0: + version "2.2.0" + resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" + integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== + +color-convert@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" + integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== + dependencies: + color-name "~1.1.4" + +color-name@~1.1.4: + version "1.1.4" + resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" + integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== + +color-support@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" + integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== + +colorette@^2.0.7: + version "2.0.20" + resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" + integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== + +colors@~1.2.1: + version "1.2.5" + resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz" + integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== + +commander@^2.20.0: + version "2.20.3" + resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" + integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== + +commander@^9.4.1: + version "9.5.0" + resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" + integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== + +common-tags@^1.4.0: + version "1.8.2" + resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" + integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== + +concat-map@0.0.1: + version "0.0.1" + resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" + integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== + +concat-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" + integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== + dependencies: + buffer-from "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.0.2" + typedarray "^0.0.6" + +console-control-strings@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" + integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== + +convert-source-map@^2.0.0: + 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== + +cookie@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" + integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== + +create-require@^1.1.0: + version "1.1.1" + resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" + integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== + +cross-spawn@^7.0.2, cross-spawn@^7.0.3: + version "7.0.3" + resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" + integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== + dependencies: + path-key "^3.1.0" + shebang-command "^2.0.0" + which "^2.0.1" + +dateformat@^4.6.3: + version "4.6.3" + resolved "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz" + integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== + +debug@^4.0.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@4: + version "4.3.4" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" + integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== + dependencies: + ms "2.1.2" + +decompress-response@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" + integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== + dependencies: + mimic-response "^3.1.0" + +deep-eql@^4.1.3: + version "4.1.3" + resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" + integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== + dependencies: + type-detect "^4.0.0" + +deep-extend@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" + integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== + +deep-is@^0.1.3: + 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== + +delegates@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" + integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== + +depd@2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" + integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== + +detect-libc@^2.0.0, detect-libc@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" + integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== + +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== + +diff@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" + integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== + +dir-glob@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" + integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== + dependencies: + path-type "^4.0.0" + +dlv@^1.1.0: + version "1.1.3" + resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" + integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== + +doctrine@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" + integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== + dependencies: + esutils "^2.0.2" + +electron-to-chromium@^1.4.668: + version "1.4.680" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.680.tgz" + integrity sha512-4nToZ5jlPO14W82NkF32wyjhYqQByVaDmLy4J2/tYcAbJfgO2TKJC780Az1V13gzq4l73CJ0yuyalpXvxXXD9A== + +emittery@^0.13.0: + version "0.13.1" + resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + +emoji-regex@^8.0.0: + version "8.0.0" + resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" + integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== + +encoding@^0.1.0, encoding@^0.1.12: + version "0.1.13" + resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" + integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== + dependencies: + iconv-lite "^0.6.2" + +end-of-stream@^1.1.0, end-of-stream@^1.4.1: + version "1.4.4" + resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" + integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== + dependencies: + once "^1.4.0" + +enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0: + version "5.15.0" + resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" + integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== + dependencies: + graceful-fs "^4.2.4" + tapable "^2.2.0" + +entities@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz" + integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== + +env-paths@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" + integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== + +err-code@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" + integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== + +es-module-lexer@^1.2.1: + version "1.4.1" + resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" + integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== + +es6-error@^4.1.1: + version "4.1.1" + resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" + integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== + +esbuild@^0.19.3, esbuild@~0.19.10: + version "0.19.12" + resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" + integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== + optionalDependencies: + "@esbuild/aix-ppc64" "0.19.12" + "@esbuild/android-arm" "0.19.12" + "@esbuild/android-arm64" "0.19.12" + "@esbuild/android-x64" "0.19.12" + "@esbuild/darwin-arm64" "0.19.12" + "@esbuild/darwin-x64" "0.19.12" + "@esbuild/freebsd-arm64" "0.19.12" + "@esbuild/freebsd-x64" "0.19.12" + "@esbuild/linux-arm" "0.19.12" + "@esbuild/linux-arm64" "0.19.12" + "@esbuild/linux-ia32" "0.19.12" + "@esbuild/linux-loong64" "0.19.12" + "@esbuild/linux-mips64el" "0.19.12" + "@esbuild/linux-ppc64" "0.19.12" + "@esbuild/linux-riscv64" "0.19.12" + "@esbuild/linux-s390x" "0.19.12" + "@esbuild/linux-x64" "0.19.12" + "@esbuild/netbsd-x64" "0.19.12" + "@esbuild/openbsd-x64" "0.19.12" + "@esbuild/sunos-x64" "0.19.12" + "@esbuild/win32-arm64" "0.19.12" + "@esbuild/win32-ia32" "0.19.12" + "@esbuild/win32-x64" "0.19.12" + +escalade@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" + integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== + +escape-string-regexp@^1.0.2: + version "1.0.5" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" + integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== + +escape-string-regexp@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" + integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== + +escape-string-regexp@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" + integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== + +eslint-config-prettier@*, eslint-config-prettier@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" + integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== + +eslint-plugin-prettier@5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz" + integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg== + dependencies: + prettier-linter-helpers "^1.0.0" + synckit "^0.8.6" + +eslint-scope@^7.1.1, eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-scope@5.1.1: + version "5.1.1" + resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" + integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== + dependencies: + esrecurse "^4.3.0" + estraverse "^4.1.1" + +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + 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== + +"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.56.0, eslint@^8.7.0, "eslint@>= 8.0.0", eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=8.0.0: + version "8.56.0" + resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + 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.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + 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" + +espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.1" + +esquery@^1.4.0, esquery@^1.4.2: + version "1.5.0" + resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" + integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== + dependencies: + estraverse "^5.1.0" + +esrecurse@^4.3.0: + version "4.3.0" + resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" + integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== + dependencies: + estraverse "^5.2.0" + +estraverse@^4.1.1: + version "4.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" + integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== + +estraverse@^5.1.0, estraverse@^5.2.0: + version "5.3.0" + resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" + integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== + +estree-walker@^3.0.3: + version "3.0.3" + resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" + integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== + dependencies: + "@types/estree" "^1.0.0" + +esutils@^2.0.2: + version "2.0.3" + resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" + integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== + +event-target-shim@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" + integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== + +events@^3.2.0, events@^3.3.0: + version "3.3.0" + resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" + integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== + +execa@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" + integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== + dependencies: + cross-spawn "^7.0.3" + get-stream "^8.0.1" + human-signals "^5.0.0" + is-stream "^3.0.0" + merge-stream "^2.0.0" + npm-run-path "^5.1.0" + onetime "^6.0.0" + signal-exit "^4.1.0" + strip-final-newline "^3.0.0" + +expand-template@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" + integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== + +fast-content-type-parse@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz" + integrity sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ== + +fast-copy@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz" + integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA== + +fast-decode-uri-component@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" + integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== + +fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + 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== + +fast-diff@^1.1.2: + version "1.3.0" + resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" + integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== + +fast-glob@^3.2.9: + version "3.3.2" + resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" + integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== + dependencies: + "@nodelib/fs.stat" "^2.0.2" + "@nodelib/fs.walk" "^1.2.3" + glob-parent "^5.1.2" + merge2 "^1.3.0" + micromatch "^4.0.4" + +fast-json-stable-stringify@^2.0.0: + 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== + +fast-json-stringify@^5.7.0, fast-json-stringify@^5.8.0: + version "5.12.0" + resolved "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.12.0.tgz" + integrity sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA== + dependencies: + "@fastify/merge-json-schemas" "^0.1.0" + ajv "^8.10.0" + ajv-formats "^2.1.1" + fast-deep-equal "^3.1.3" + fast-uri "^2.1.0" + json-schema-ref-resolver "^1.0.1" + rfdc "^1.2.0" + +fast-levenshtein@^2.0.6: + version "2.0.6" + resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" + integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== + +fast-printf@^1.6.9: + version "1.6.9" + resolved "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz" + integrity sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg== + dependencies: + boolean "^3.1.4" + +fast-querystring@^1.0.0: + version "1.1.2" + resolved "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz" + integrity sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg== + dependencies: + fast-decode-uri-component "^1.0.1" + +fast-redact@^3.1.1: + version "3.3.0" + resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz" + integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== + +fast-safe-stringify@^2.1.1: + 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== + +fast-uri@^2.0.0, fast-uri@^2.1.0: + version "2.3.0" + resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz" + integrity sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw== + +fastify-plugin@^4.0.0: + version "4.5.1" + resolved "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz" + integrity sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ== + +fastify@^4.25.2: + version "4.26.1" + resolved "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz" + integrity sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng== + dependencies: + "@fastify/ajv-compiler" "^3.5.0" + "@fastify/error" "^3.4.0" + "@fastify/fast-json-stringify-compiler" "^4.3.0" + abstract-logging "^2.0.1" + avvio "^8.3.0" + fast-content-type-parse "^1.1.0" + fast-json-stringify "^5.8.0" + find-my-way "^8.0.0" + light-my-request "^5.11.0" + pino "^8.17.0" + process-warning "^3.0.0" + proxy-addr "^2.0.7" + rfdc "^1.3.0" + secure-json-parse "^2.7.0" + semver "^7.5.4" + toad-cache "^3.3.0" + +fastq@^1.17.1, fastq@^1.6.0: + version "1.17.1" + resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" + integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== + dependencies: + reusify "^1.0.4" + +file-entry-cache@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" + integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== + dependencies: + flat-cache "^3.0.4" + +file-uri-to-path@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" + integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== + +fill-range@^7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" + integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== + dependencies: + to-regex-range "^5.0.1" + +find-my-way@^8.0.0: + version "8.1.0" + resolved "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz" + integrity sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA== + dependencies: + fast-deep-equal "^3.1.3" + fast-querystring "^1.0.0" + safe-regex2 "^2.0.0" + +find-up@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" + integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== + dependencies: + locate-path "^6.0.0" + path-exists "^4.0.0" + +flat-cache@^3.0.4: + version "3.2.0" + resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" + integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== + dependencies: + flatted "^3.2.9" + keyv "^4.5.3" + rimraf "^3.0.2" + +flatted@^3.2.9: + version "3.3.1" + resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" + integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== + +forwarded@^0.2.0, forwarded@0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" + integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== + +fs-constants@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" + integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== + +fs-extra@~7.0.1: + version "7.0.1" + resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" + integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== + dependencies: + graceful-fs "^4.1.2" + jsonfile "^4.0.0" + universalify "^0.1.0" + +fs-minipass@^2.0.0: + version "2.1.0" + resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" + integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== + dependencies: + minipass "^3.0.0" + +fs.realpath@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" + integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== + +function-bind@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" + integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== + +gauge@^4.0.3: + version "4.0.4" + resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" + integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== + dependencies: + aproba "^1.0.3 || ^2.0.0" + color-support "^1.1.3" + console-control-strings "^1.1.0" + has-unicode "^2.0.1" + signal-exit "^3.0.7" + string-width "^4.2.3" + strip-ansi "^6.0.1" + wide-align "^1.1.5" + +get-func-name@^2.0.1, get-func-name@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" + integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== + +get-stack-trace@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-2.1.1.tgz" + integrity sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ== + dependencies: + bluebird "^3.7.1" + source-map "^0.8.0-beta.0" + +get-stack-trace@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-3.1.1.tgz" + integrity sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA== + dependencies: + stacktrace-parser "^0.1.10" + +get-stream@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" + integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== + +get-tsconfig@^4.7.2: + version "4.7.2" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" + integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== + dependencies: + resolve-pkg-maps "^1.0.0" + +github-from-package@0.0.0: + version "0.0.0" + resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" + integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== + +glob-parent@^5.1.2: + version "5.1.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" + integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== + dependencies: + is-glob "^4.0.1" + +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob-to-regexp@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" + integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== + +glob@^7.1.3, glob@^7.1.4: + version "7.2.3" + resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" + integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^3.1.1" + once "^1.3.0" + path-is-absolute "^1.0.0" + +glob@^8.0.3: + version "8.1.0" + resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" + integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== + dependencies: + fs.realpath "^1.0.0" + inflight "^1.0.4" + inherits "2" + minimatch "^5.0.1" + once "^1.3.0" + +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + +globby@^11.1.0: + version "11.1.0" + resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" + integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== + dependencies: + array-union "^2.1.0" + dir-glob "^3.0.1" + fast-glob "^3.2.9" + ignore "^5.2.0" + merge2 "^1.4.1" + slash "^3.0.0" + +graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: + 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== + +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +has-ansi@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" + integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== + dependencies: + ansi-regex "^2.0.0" + +has-flag@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" + integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== + +has-unicode@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" + integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== + +hasown@^2.0.0: + version "2.0.1" + resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" + integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== + dependencies: + function-bind "^1.1.2" + +help-me@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz" + integrity sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg== + +html-escaper@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" + integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== + +http-cache-semantics@^4.1.0: + version "4.1.1" + resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" + integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== + +http-errors@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" + integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== + dependencies: + depd "2.0.0" + inherits "2.0.4" + setprototypeof "1.2.0" + statuses "2.0.1" + toidentifier "1.0.1" + +http-proxy-agent@^4.0.1: + version "4.0.1" + resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" + integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== + dependencies: + "@tootallnate/once" "1" + agent-base "6" + debug "4" + +https-proxy-agent@^5.0.0: + version "5.0.1" + resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" + integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== + dependencies: + agent-base "6" + debug "4" + +human-signals@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" + integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== + +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + +hyperid@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/hyperid/-/hyperid-2.3.1.tgz" + integrity sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ== + dependencies: + uuid "^8.3.2" + uuid-parse "^1.1.0" + +iconv-lite@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" + integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== + dependencies: + safer-buffer ">= 2.1.2 < 3.0.0" + +ieee754@^1.1.13, ieee754@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" + integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== + +ignore@^5.2.0, ignore@^5.2.4: + version "5.3.1" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" + integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + +import-fresh@^3.2.1: + version "3.3.0" + resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" + integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== + dependencies: + parent-module "^1.0.0" + resolve-from "^4.0.0" + +import-lazy@~4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" + integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== + +imurmurhash@^0.1.4: + version "0.1.4" + resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" + integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== + +indent-string@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" + integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== + +infer-owner@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" + integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== + +inflight@^1.0.4: + version "1.0.6" + resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" + integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== + dependencies: + once "^1.3.0" + wrappy "1" + +inherits@^2.0.3, inherits@^2.0.4, inherits@2, inherits@2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" + integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== + +ini@~1.3.0: + version "1.3.8" + resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" + integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== + +int64-buffer@^0.99.1007: + version "0.99.1007" + resolved "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz" + integrity sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ== + +ip-address@^9.0.5: + version "9.0.5" + resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" + integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== + dependencies: + jsbn "1.1.0" + sprintf-js "^1.1.3" + +ipaddr.js@1.9.1: + version "1.9.1" + resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" + integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== + +is-core-module@^2.13.0: + version "2.13.1" + resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" + integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== + dependencies: + hasown "^2.0.0" + +is-extglob@^2.1.1: + version "2.1.1" + resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" + integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== + +is-fullwidth-code-point@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" + integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== + +is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: + version "4.0.3" + resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" + integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== + dependencies: + is-extglob "^2.1.1" + +is-lambda@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" + integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== + +is-number@^7.0.0: + version "7.0.0" + resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" + integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== + +is-path-inside@^3.0.3: + 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== + +is-plain-object@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" + integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== + +is-stream@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" + integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== + +isexe@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" + integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== + +iso8601-duration@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz" + integrity sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ== + +istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2: + 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== + +istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" + integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== + dependencies: + istanbul-lib-coverage "^3.0.0" + make-dir "^4.0.0" + supports-color "^7.1.0" + +istanbul-lib-source-maps@^4.0.1: + 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== + dependencies: + debug "^4.1.1" + istanbul-lib-coverage "^3.0.0" + source-map "^0.6.1" + +istanbul-reports@^3.1.6: + version "3.1.7" + resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" + integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== + dependencies: + html-escaper "^2.0.0" + istanbul-lib-report "^3.0.0" + +jest-worker@^27.4.5: + version "27.5.1" + resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" + integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== + dependencies: + "@types/node" "*" + merge-stream "^2.0.0" + supports-color "^8.0.0" + +jju@~1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" + integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== + +joycon@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz" + integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== + +js-tokens@^8.0.2: + version "8.0.3" + resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz" + integrity sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== + +js-yaml@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" + integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== + dependencies: + argparse "^2.0.1" + +js2xmlparser@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz" + integrity sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA== + dependencies: + xmlcreate "^2.0.4" + +jsbn@1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" + integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== + +jsdoc@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz" + integrity sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg== + dependencies: + "@babel/parser" "^7.20.15" + "@jsdoc/salty" "^0.2.1" + "@types/markdown-it" "^12.2.3" + bluebird "^3.7.2" + catharsis "^0.9.0" + escape-string-regexp "^2.0.0" + js2xmlparser "^4.0.2" + klaw "^3.0.0" + markdown-it "^12.3.2" + markdown-it-anchor "^8.4.1" + marked "^4.0.10" + mkdirp "^1.0.4" + requizzle "^0.2.3" + strip-json-comments "^3.1.0" + underscore "~1.13.2" + +json-buffer@3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" + integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== + +json-parse-even-better-errors@^2.3.1: + 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== + +json-schema-ref-resolver@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz" + integrity sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw== + dependencies: + fast-deep-equal "^3.1.3" + +json-schema-traverse@^0.4.1: + 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== + +json-schema-traverse@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" + integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== + +json-stable-stringify-without-jsonify@^1.0.1: + 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== + +jsonc-parser@^3.2.0: + version "3.2.1" + resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" + integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== + +jsonfile@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" + integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== + optionalDependencies: + graceful-fs "^4.1.6" + +keyv@^4.5.3: + version "4.5.4" + resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" + integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== + dependencies: + json-buffer "3.0.1" + +klaw@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz" + integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g== + dependencies: + graceful-fs "^4.1.9" + +levn@^0.4.1: + version "0.4.1" + resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" + integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== + dependencies: + prelude-ls "^1.2.1" + type-check "~0.4.0" + +light-my-request@^5.11.0: + version "5.11.1" + resolved "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.1.tgz" + integrity sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA== + dependencies: + cookie "^0.6.0" + process-warning "^2.0.0" + set-cookie-parser "^2.4.1" + +linkify-it@^3.0.1: + version "3.0.3" + resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz" + integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== + dependencies: + uc.micro "^1.0.1" + +loader-runner@^4.2.0: + version "4.3.0" + resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" + integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== + +local-pkg@^0.5.0: + version "0.5.0" + resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz" + integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== + dependencies: + mlly "^1.4.2" + pkg-types "^1.0.3" + +locate-path@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" + integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== + dependencies: + p-locate "^5.0.0" + +lodash.get@^4.4.2: + version "4.4.2" + resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" + integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== + +lodash.isequal@^4.5.0: + version "4.5.0" + resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" + integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== + +lodash.merge@^4.6.0, lodash.merge@^4.6.2: + version "4.6.2" + resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" + integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== + +lodash.sortby@^4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" + integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== + +lodash@^4.17.15, lodash@^4.17.21: + version "4.17.21" + resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" + integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== + +loglevel-colored-level-prefix@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz" + integrity sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA== + dependencies: + chalk "^1.1.3" + loglevel "^1.4.1" + +loglevel@^1.4.1: + version "1.9.1" + resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" + integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== + +loupe@^2.3.6, loupe@^2.3.7: + version "2.3.7" + resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" + integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== + dependencies: + get-func-name "^2.0.1" + +lru-cache@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" + integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== + dependencies: + yallist "^4.0.0" + +magic-string@^0.30.5: + version "0.30.7" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz" + integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== + dependencies: + "@jridgewell/sourcemap-codec" "^1.4.15" + +magicast@^0.3.3: + version "0.3.3" + resolved "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz" + integrity sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw== + dependencies: + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + source-map-js "^1.0.2" + +make-dir@^4.0.0: + 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== + dependencies: + semver "^7.5.3" + +make-error@^1.1.1: + version "1.3.6" + resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" + integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== + +make-fetch-happen@^9.1.0: + version "9.1.0" + resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" + integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== + dependencies: + agentkeepalive "^4.1.3" + cacache "^15.2.0" + http-cache-semantics "^4.1.0" + http-proxy-agent "^4.0.1" + https-proxy-agent "^5.0.0" + is-lambda "^1.0.1" + lru-cache "^6.0.0" + minipass "^3.1.3" + minipass-collect "^1.0.2" + minipass-fetch "^1.3.2" + minipass-flush "^1.0.5" + minipass-pipeline "^1.2.4" + negotiator "^0.6.2" + promise-retry "^2.0.1" + socks-proxy-agent "^6.0.0" + ssri "^8.0.0" + +markdown-it-anchor@^8.4.1: + version "8.6.7" + resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz" + integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== + +markdown-it@*, markdown-it@^12.3.2: + version "12.3.2" + resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz" + integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== + dependencies: + argparse "^2.0.1" + entities "~2.1.0" + linkify-it "^3.0.1" + mdurl "^1.0.1" + uc.micro "^1.0.5" + +marked@^4.0.10: + version "4.3.0" + resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + +mdurl@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" + integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== + +media-typer@0.3.0: + version "0.3.0" + resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" + integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== + +merge-stream@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" + integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== + +merge2@^1.3.0, merge2@^1.4.1: + version "1.4.1" + resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" + integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== + +micromatch@^4.0.0, micromatch@^4.0.4: + version "4.0.5" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" + integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== + dependencies: + braces "^3.0.2" + picomatch "^2.3.1" + +mime-db@1.52.0: + version "1.52.0" + resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" + integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== + +mime-types@^2.1.27, mime-types@~2.1.24: + version "2.1.35" + resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" + integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== + dependencies: + mime-db "1.52.0" + +mimic-fn@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" + integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== + +mimic-response@^3.1.0: + version "3.1.0" + resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" + integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== + +minimatch@^3.0.4: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.0.5: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.1: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^3.1.2: + version "3.1.2" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" + integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== + dependencies: + brace-expansion "^1.1.7" + +minimatch@^5.0.1: + version "5.1.6" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" + integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== + dependencies: + brace-expansion "^2.0.1" + +minimatch@9.0.3: + version "9.0.3" + resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" + integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== + dependencies: + brace-expansion "^2.0.1" + +minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: + version "1.2.8" + resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" + integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== + +minipass-collect@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" + integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== + dependencies: + minipass "^3.0.0" + +minipass-fetch@^1.3.2: + version "1.4.1" + resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" + integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== + dependencies: + minipass "^3.1.0" + minipass-sized "^1.0.3" + minizlib "^2.0.0" + optionalDependencies: + encoding "^0.1.12" + +minipass-flush@^1.0.5: + version "1.0.5" + resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" + integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== + dependencies: + minipass "^3.0.0" + +minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: + version "1.2.4" + resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" + integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== + dependencies: + minipass "^3.0.0" + +minipass-sized@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" + integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== + dependencies: + minipass "^3.0.0" + +minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: + version "3.3.6" + resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" + integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== + dependencies: + yallist "^4.0.0" + +minipass@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" + integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== + +minizlib@^2.0.0, minizlib@^2.1.1: + version "2.1.2" + resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" + integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== + dependencies: + minipass "^3.0.0" + yallist "^4.0.0" + +mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: + version "0.5.3" + resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + +mkdirp@^1.0.3, mkdirp@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" + integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== + +mlly@^1.2.0, mlly@^1.4.2: + version "1.6.0" + resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.0.tgz" + integrity sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ== + dependencies: + acorn "^8.11.3" + pathe "^1.1.2" + pkg-types "^1.0.3" + ufo "^1.3.2" + +moment@^2.30.1: + version "2.30.1" + resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" + integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== + +ms@^2.0.0, ms@2.1.2: + version "2.1.2" + resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" + integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== + +multi-fork@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/multi-fork/-/multi-fork-0.0.2.tgz" + integrity sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A== + +nanoid@^3.3.7: + version "3.3.7" + resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" + integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== + +napi-build-utils@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" + integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== + +natural-compare@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" + integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== + +negotiator@^0.6.2: + version "0.6.3" + resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" + integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== + +neo-async@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" + integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== + +node-abi@^3.3.0, node-abi@^3.52.0: + version "3.55.0" + resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.55.0.tgz" + integrity sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ== + dependencies: + semver "^7.3.5" + +node-addon-api@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" + integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== + +node-fetch@^2.6.7: + version "2.7.0" + resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + +node-gyp@8.x: + version "8.4.1" + resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" + integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== + dependencies: + env-paths "^2.2.0" + glob "^7.1.4" + graceful-fs "^4.2.6" + make-fetch-happen "^9.1.0" + nopt "^5.0.0" + npmlog "^6.0.0" + rimraf "^3.0.2" + semver "^7.3.5" + tar "^6.1.2" + which "^2.0.2" + +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + +nopt@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" + integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== + dependencies: + abbrev "1" + +npm-run-path@^5.1.0: + version "5.3.0" + resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz" + integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== + dependencies: + path-key "^4.0.0" + +npmlog@^6.0.0: + version "6.0.2" + resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" + integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== + dependencies: + are-we-there-yet "^3.0.0" + console-control-strings "^1.1.0" + gauge "^4.0.3" + set-blocking "^2.0.0" + +obuf@^1.1.2, obuf@~1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" + integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== + +on-exit-leak-free@^2.1.0: + version "2.1.2" + resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz" + integrity sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA== + +once@^1.3.0, once@^1.3.1, once@^1.4.0: + version "1.4.0" + resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" + integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== + dependencies: + wrappy "1" + +onetime@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" + integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== + dependencies: + mimic-fn "^4.0.0" + +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + 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" + +p-defer@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz" + integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== + +p-limit@^3.0.2: + version "3.1.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" + integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== + dependencies: + yocto-queue "^0.1.0" + +p-limit@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz" + integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== + dependencies: + yocto-queue "^1.0.0" + +p-locate@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" + integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== + dependencies: + p-limit "^3.0.2" + +p-map@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" + integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== + dependencies: + aggregate-error "^3.0.0" + +packet-reader@1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz" + integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== + +parent-module@^1.0.0: + 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== + dependencies: + callsites "^3.0.0" + +path-exists@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" + integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== + +path-is-absolute@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" + integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== + +path-key@^3.1.0: + version "3.1.1" + resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" + integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== + +path-key@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" + integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== + +path-parse@^1.0.7: + version "1.0.7" + resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" + integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== + +path-type@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" + integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== + +pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" + integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== + +pathval@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" + integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== + +pg-cloudflare@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz" + integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== + +pg-connection-string@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz" + integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== + +pg-copy-streams-binary@^2.2.0: + version "2.2.0" + resolved "https://registry.npmjs.org/pg-copy-streams-binary/-/pg-copy-streams-binary-2.2.0.tgz" + integrity sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ== + dependencies: + bl "^4.0.3" + bufferput "^0.1.3" + ieee754 "^1.1.13" + int64-buffer "^0.99.1007" + multi-fork "0.0.2" + through2 "^3.0.1" + +pg-copy-streams@^6.0.2: + version "6.0.6" + resolved "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-6.0.6.tgz" + integrity sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ== + dependencies: + obuf "^1.1.2" + +pg-cursor@^2.10.3, pg-cursor@^2.7.3: + version "2.10.3" + resolved "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.10.3.tgz" + integrity sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ== + +pg-int8@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz" + integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== + +pg-numeric@1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz" + integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== + +pg-pool@^3.6.1: + version "3.6.1" + resolved "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz" + integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== + +pg-protocol@*, pg-protocol@^1.5.0, pg-protocol@^1.6.0: + version "1.6.0" + resolved "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz" + integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== + +pg-query-stream@^4.5.3: + version "4.5.3" + resolved "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.5.3.tgz" + integrity sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA== + dependencies: + pg-cursor "^2.10.3" + +pg-types@^2.1.0: + version "2.2.0" + resolved "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz" + integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== + dependencies: + pg-int8 "1.0.1" + postgres-array "~2.0.0" + postgres-bytea "~1.0.0" + postgres-date "~1.0.4" + postgres-interval "^1.1.0" + +pg-types@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz" + integrity sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== + dependencies: + pg-int8 "1.0.1" + pg-numeric "1.0.2" + postgres-array "~3.0.1" + postgres-bytea "~3.0.0" + postgres-date "~2.1.0" + postgres-interval "^3.0.0" + postgres-range "^1.1.1" + +pg@^8, pg@^8.11.3, pg@^8.7.3, pg@>=8.0: + version "8.11.3" + resolved "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz" + integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== + dependencies: + buffer-writer "2.0.0" + packet-reader "1.0.0" + pg-connection-string "^2.6.2" + pg-pool "^3.6.1" + pg-protocol "^1.6.0" + pg-types "^2.1.0" + pgpass "1.x" + optionalDependencies: + pg-cloudflare "^1.1.1" + +pgpass@1.x: + version "1.0.5" + resolved "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz" + integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== + dependencies: + split2 "^4.1.0" + +picocolors@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" + integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== + +picomatch@^2.3.1: + version "2.3.1" + resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + +pino-abstract-transport@^1.0.0, pino-abstract-transport@v1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz" + integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA== + dependencies: + readable-stream "^4.0.0" + split2 "^4.0.0" + +pino-pretty@^10.3.1: + version "10.3.1" + resolved "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz" + integrity sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g== + dependencies: + colorette "^2.0.7" + dateformat "^4.6.3" + fast-copy "^3.0.0" + fast-safe-stringify "^2.1.1" + help-me "^5.0.0" + joycon "^3.1.1" + minimist "^1.2.6" + on-exit-leak-free "^2.1.0" + pino-abstract-transport "^1.0.0" + pump "^3.0.0" + readable-stream "^4.0.0" + secure-json-parse "^2.4.0" + sonic-boom "^3.0.0" + strip-json-comments "^3.1.1" + +pino-std-serializers@^6.0.0: + version "6.2.2" + resolved "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz" + integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== + +pino@^8.17.0, pino@^8.18.0: + version "8.19.0" + resolved "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz" + integrity sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA== + dependencies: + atomic-sleep "^1.0.0" + fast-redact "^3.1.1" + on-exit-leak-free "^2.1.0" + pino-abstract-transport v1.1.0 + pino-std-serializers "^6.0.0" + process-warning "^3.0.0" + quick-format-unescaped "^4.0.3" + real-require "^0.2.0" + safe-stable-stringify "^2.3.1" + sonic-boom "^3.7.0" + thread-stream "^2.0.0" + +pkg-types@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz" + integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== + dependencies: + jsonc-parser "^3.2.0" + mlly "^1.2.0" + pathe "^1.1.0" + +pony-cause@^2.1.4: + version "2.1.10" + resolved "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz" + integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== + +postcss@^8.4.35: + version "8.4.35" + resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" + integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== + dependencies: + nanoid "^3.3.7" + picocolors "^1.0.0" + source-map-js "^1.0.2" + +postgres-array@^3.0.1, postgres-array@^3.0.2, postgres-array@~3.0.1: + version "3.0.2" + resolved "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz" + integrity sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== + +postgres-array@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz" + integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== + +postgres-bytea@~1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz" + integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== + +postgres-bytea@~3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz" + integrity sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== + dependencies: + obuf "~1.1.2" + +postgres-date@~1.0.4: + version "1.0.7" + resolved "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz" + integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== + +postgres-date@~2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz" + integrity sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== + +postgres-interval@^1.1.0: + version "1.2.0" + resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz" + integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== + dependencies: + xtend "^4.0.0" + +postgres-interval@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz" + integrity sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== + +postgres-interval@^4.0.0, postgres-interval@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz" + integrity sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A== + +postgres-range@^1.1.1: + version "1.1.4" + resolved "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.4.tgz" + integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== + +prebuild-install@^7.1.1: + version "7.1.1" + resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" + integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== + dependencies: + detect-libc "^2.0.0" + expand-template "^2.0.3" + github-from-package "0.0.0" + minimist "^1.2.3" + mkdirp-classic "^0.5.3" + napi-build-utils "^1.0.1" + node-abi "^3.3.0" + pump "^3.0.0" + rc "^1.2.7" + simple-get "^4.0.0" + tar-fs "^2.0.0" + tunnel-agent "^0.6.0" + +prelude-ls@^1.2.1: + version "1.2.1" + resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" + integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== + +prettier-eslint@16.2.0: + version "16.2.0" + resolved "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz" + integrity sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA== + dependencies: + "@typescript-eslint/parser" "^6.7.5" + common-tags "^1.4.0" + dlv "^1.1.0" + eslint "^8.7.0" + indent-string "^4.0.0" + lodash.merge "^4.6.0" + loglevel-colored-level-prefix "^1.0.0" + prettier "^3.0.1" + pretty-format "^29.7.0" + require-relative "^0.8.7" + typescript "^5.2.2" + vue-eslint-parser "^9.1.0" + +prettier-linter-helpers@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" + integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== + dependencies: + fast-diff "^1.1.2" + +prettier@^3.0.1, prettier@>=3.0.0, prettier@3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz" + integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== + +prettier@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz" + integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== + +pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== + dependencies: + "@jest/schemas" "^29.6.3" + ansi-styles "^5.0.0" + react-is "^18.0.0" + +process-warning@^2.0.0: + version "2.3.2" + resolved "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz" + integrity sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA== + +process-warning@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz" + integrity sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ== + +process@^0.11.10: + version "0.11.10" + resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" + integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== + +progress@^2.0.3: + version "2.0.3" + resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" + integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== + +promise-inflight@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" + integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== + +promise-retry@^2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" + integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== + dependencies: + err-code "^2.0.2" + retry "^0.12.0" + +proxy-addr@^2.0.7: + version "2.0.7" + resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" + integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== + dependencies: + forwarded "0.2.0" + ipaddr.js "1.9.1" + +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + +pump@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" + integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== + dependencies: + end-of-stream "^1.1.0" + once "^1.3.1" + +punycode@^2.1.0: + version "2.3.1" + resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" + integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== + +queue-microtask@^1.2.2: + version "1.2.3" + resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" + integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== + +quick-format-unescaped@^4.0.3: + version "4.0.4" + resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" + integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== + +randombytes@^2.1.0: + version "2.1.0" + resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" + integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== + dependencies: + safe-buffer "^5.1.0" + +rc@^1.2.7: + version "1.2.8" + resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" + integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== + dependencies: + deep-extend "^0.6.0" + ini "~1.3.0" + minimist "^1.2.0" + strip-json-comments "~2.0.1" + +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== + +readable-stream@^3.0.2: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.1.1: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.4.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^3.6.0: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@^4.0.0: + version "4.5.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz" + integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== + dependencies: + abort-controller "^3.0.0" + buffer "^6.0.3" + events "^3.3.0" + process "^0.11.10" + string_decoder "^1.3.0" + +"readable-stream@2 || 3": + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +readable-stream@3: + version "3.6.2" + resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" + integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== + dependencies: + inherits "^2.0.3" + string_decoder "^1.1.1" + util-deprecate "^1.0.1" + +real-require@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz" + integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== + +require-from-string@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" + integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== + +require-relative@^0.8.7: + version "0.8.7" + resolved "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz" + integrity sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg== + +requizzle@^0.2.3: + version "0.2.4" + resolved "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz" + integrity sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw== + dependencies: + lodash "^4.17.21" + +resolve-from@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" + integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== + +resolve-pkg-maps@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" + integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== + +resolve@~1.22.1: + version "1.22.8" + resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" + integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== + dependencies: + is-core-module "^2.13.0" + path-parse "^1.0.7" + supports-preserve-symlinks-flag "^1.0.0" + +ret@~0.2.0: + version "0.2.2" + resolved "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz" + integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== + +retry@^0.12.0: + version "0.12.0" + resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" + integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== + +reusify@^1.0.4: + version "1.0.4" + resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" + integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== + +rfdc@^1.2.0, rfdc@^1.3.0: + version "1.3.1" + resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" + integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== + +rimraf@^3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" + integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== + dependencies: + glob "^7.1.3" + +roarr@^7.11.0, roarr@^7.18.3: + version "7.21.0" + resolved "https://registry.npmjs.org/roarr/-/roarr-7.21.0.tgz" + integrity sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg== + dependencies: + fast-printf "^1.6.9" + safe-stable-stringify "^2.4.3" + semver-compare "^1.0.0" + +rollup@^4.2.0: + version "4.12.0" + resolved "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz" + integrity sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q== + dependencies: + "@types/estree" "1.0.5" + optionalDependencies: + "@rollup/rollup-android-arm-eabi" "4.12.0" + "@rollup/rollup-android-arm64" "4.12.0" + "@rollup/rollup-darwin-arm64" "4.12.0" + "@rollup/rollup-darwin-x64" "4.12.0" + "@rollup/rollup-linux-arm-gnueabihf" "4.12.0" + "@rollup/rollup-linux-arm64-gnu" "4.12.0" + "@rollup/rollup-linux-arm64-musl" "4.12.0" + "@rollup/rollup-linux-riscv64-gnu" "4.12.0" + "@rollup/rollup-linux-x64-gnu" "4.12.0" + "@rollup/rollup-linux-x64-musl" "4.12.0" + "@rollup/rollup-win32-arm64-msvc" "4.12.0" + "@rollup/rollup-win32-ia32-msvc" "4.12.0" + "@rollup/rollup-win32-x64-msvc" "4.12.0" + fsevents "~2.3.2" + +run-parallel@^1.1.9: + version "1.2.0" + resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" + integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== + dependencies: + queue-microtask "^1.2.2" + +safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: + version "5.2.1" + resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" + integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== + +safe-regex2@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz" + integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== + dependencies: + ret "~0.2.0" + +safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3: + version "2.4.3" + resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" + integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== + +"safer-buffer@>= 2.1.2 < 3.0.0": + version "2.1.2" + resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" + integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== + +schema-utils@^3.1.1, schema-utils@^3.2.0: + version "3.3.0" + resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" + integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== + dependencies: + "@types/json-schema" "^7.0.8" + ajv "^6.12.5" + ajv-keywords "^3.5.2" + +secure-json-parse@^2.4.0, secure-json-parse@^2.7.0: + version "2.7.0" + resolved "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz" + integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== + +semver-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" + integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== + +semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: + version "7.5.4" + resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + +serialize-error@^8.0.0: + version "8.1.0" + resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz" + integrity sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ== + dependencies: + type-fest "^0.20.2" + +serialize-javascript@^6.0.1: + version "6.0.2" + resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" + integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== + dependencies: + randombytes "^2.1.0" + +set-blocking@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" + integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== + +set-cookie-parser@^2.4.1: + version "2.6.0" + resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz" + integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== + +setprototypeof@1.2.0: + version "1.2.0" + resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" + integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== + +shebang-command@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" + integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== + dependencies: + shebang-regex "^3.0.0" + +shebang-regex@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" + integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== + +short-unique-id@^5.0.3: + version "5.0.3" + resolved "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz" + integrity sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug== + +siginfo@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" + integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== + +signal-exit@^3.0.7: + version "3.0.7" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" + integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== + +signal-exit@^4.1.0: + version "4.1.0" + resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" + integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== + +simple-concat@^1.0.0: + version "1.0.1" + resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" + integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== + +simple-get@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" + integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== + dependencies: + decompress-response "^6.0.0" + once "^1.3.1" + simple-concat "^1.0.0" + +slash@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" + integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== + +slonik@^37.2.0: + version "37.2.0" + resolved "https://registry.npmjs.org/slonik/-/slonik-37.2.0.tgz" + integrity sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w== + dependencies: + "@types/pg" "^8.10.7" + es6-error "^4.1.1" + get-stack-trace "^3.1.1" + iso8601-duration "^1.3.0" + pg "^8.11.3" + pg-protocol "^1.6.0" + pg-query-stream "^4.5.3" + pg-types "^4.0.1" + postgres-array "^3.0.2" + postgres-interval "^4.0.1" + roarr "^7.18.3" + safe-stable-stringify "^2.4.3" + serialize-error "^8.0.0" + +"slonik@27 - 29", slonik@29: + version "29.2.0" + resolved "https://registry.npmjs.org/slonik/-/slonik-29.2.0.tgz" + integrity sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A== + dependencies: + concat-stream "^2.0.0" + es6-error "^4.1.1" + fast-safe-stringify "^2.1.1" + get-stack-trace "^2.1.1" + hyperid "^2.3.1" + is-plain-object "^5.0.0" + iso8601-duration "^1.3.0" + p-defer "^3.0.0" + pg "^8.7.3" + pg-copy-streams "^6.0.2" + pg-copy-streams-binary "^2.2.0" + pg-cursor "^2.7.3" + pg-protocol "^1.5.0" + postgres-array "^3.0.1" + postgres-interval "^4.0.0" + roarr "^7.11.0" + serialize-error "^8.0.0" + through2 "^4.0.2" + +smart-buffer@^4.2.0: + version "4.2.0" + resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" + integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== + +socks-proxy-agent@^6.0.0: + version "6.2.1" + resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz" + integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== + dependencies: + agent-base "^6.0.2" + debug "^4.3.3" + socks "^2.6.2" + +socks@^2.6.2: + version "2.8.1" + resolved "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz" + integrity sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ== + dependencies: + ip-address "^9.0.5" + smart-buffer "^4.2.0" + +sonic-boom@^3.0.0, sonic-boom@^3.7.0: + version "3.8.0" + resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz" + integrity sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA== + dependencies: + atomic-sleep "^1.0.0" + +source-map-js@^1.0.2: + version "1.0.2" + resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" + integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== + +source-map-support@~0.5.20: + version "0.5.21" + resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" + integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map@^0.6.0, source-map@^0.6.1: + version "0.6.1" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" + integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== + +source-map@^0.7.4: + version "0.7.4" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" + integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== + +source-map@^0.8.0-beta.0: + version "0.8.0-beta.0" + resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" + integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== + dependencies: + whatwg-url "^7.0.0" + +split2@^4.0.0, split2@^4.1.0: + version "4.2.0" + resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" + integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== + +sprintf-js@^1.1.3: + version "1.1.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" + integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== + +sprintf-js@~1.0.2: + version "1.0.3" + resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" + integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== + +sqlite3@^5.1.7: + version "5.1.7" + resolved "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz" + integrity sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog== + dependencies: + bindings "^1.5.0" + node-addon-api "^7.0.0" + prebuild-install "^7.1.1" + tar "^6.1.11" + optionalDependencies: + node-gyp "8.x" + +ssri@^8.0.0, ssri@^8.0.1: + version "8.0.1" + resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" + integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== + dependencies: + minipass "^3.1.1" + +stackback@0.0.2: + version "0.0.2" + resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" + integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== + +stacktrace-parser@^0.1.10: + version "0.1.10" + resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" + integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== + dependencies: + type-fest "^0.7.1" + +statuses@2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" + integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== + +std-env@^3.5.0: + version "3.7.0" + resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" + integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== + +string_decoder@^1.1.1, string_decoder@^1.3.0: + version "1.3.0" + resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" + integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== + dependencies: + safe-buffer "~5.2.0" + +string-argv@~0.3.1: + version "0.3.2" + resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" + integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== + +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + +strip-ansi@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" + integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== + dependencies: + ansi-regex "^2.0.0" + +strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + +strip-final-newline@^3.0.0: + version "3.0.0" + resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" + integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== + +strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" + integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== + +strip-json-comments@~2.0.1: + version "2.0.1" + resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" + integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== + +strip-literal@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz" + integrity sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== + dependencies: + js-tokens "^8.0.2" + +supports-color@^2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" + integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== + +supports-color@^7.1.0: + version "7.2.0" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" + integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== + dependencies: + has-flag "^4.0.0" + +supports-color@^8.0.0: + version "8.1.1" + resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" + integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== + dependencies: + has-flag "^4.0.0" + +supports-preserve-symlinks-flag@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" + integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== + +synckit@^0.8.6: + version "0.8.8" + resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" + integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== + dependencies: + "@pkgr/core" "^0.1.0" + tslib "^2.6.2" + +tapable@^2.1.1, tapable@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" + integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== + +tar-fs@^2.0.0: + version "2.1.1" + resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + +tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: + version "6.2.0" + resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" + integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== + dependencies: + chownr "^2.0.0" + fs-minipass "^2.0.0" + minipass "^5.0.0" + minizlib "^2.1.1" + mkdirp "^1.0.3" + yallist "^4.0.0" + +terser-webpack-plugin@^5.3.10: + version "5.3.10" + resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" + integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== + dependencies: + "@jridgewell/trace-mapping" "^0.3.20" + jest-worker "^27.4.5" + schema-utils "^3.1.1" + serialize-javascript "^6.0.1" + terser "^5.26.0" + +terser@^5.26.0, terser@^5.4.0: + version "5.28.0" + resolved "https://registry.npmjs.org/terser/-/terser-5.28.0.tgz" + integrity sha512-UK1n2JZN6gqfwmjzcikRp+uF/7jdwPXO7M0k/Hnqxzj3T5POL4YBVrv5Y4MKixTzBq4OmH7FfEYRxcy/Eh7YhA== + dependencies: + "@jridgewell/source-map" "^0.3.3" + acorn "^8.8.2" + commander "^2.20.0" + source-map-support "~0.5.20" + +test-exclude@^6.0.0: + 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== + dependencies: + "@istanbuljs/schema" "^0.1.2" + glob "^7.1.4" + minimatch "^3.0.4" + +text-table@^0.2.0: + version "0.2.0" + resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" + integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== + +thread-stream@^2.0.0: + version "2.4.1" + resolved "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz" + integrity sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg== + dependencies: + real-require "^0.2.0" + +through2@^3.0.1: + version "3.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" + integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== + dependencies: + inherits "^2.0.4" + readable-stream "2 || 3" + +through2@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" + integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== + dependencies: + readable-stream "3" + +tinybench@^2.5.1: + version "2.6.0" + resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz" + integrity sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA== + +tinypool@^0.8.2: + version "0.8.2" + resolved "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz" + integrity sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== + +tinyspy@^2.2.0: + version "2.2.1" + resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz" + integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== + +to-fast-properties@^2.0.0: + 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== + +to-regex-range@^5.0.1: + 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== + dependencies: + is-number "^7.0.0" + +toad-cache@^3.3.0: + version "3.7.0" + resolved "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz" + integrity sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw== + +toidentifier@1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" + integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== + +tr46@^1.0.1: + version "1.0.1" + resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" + integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== + dependencies: + punycode "^2.1.0" + +tr46@~0.0.3: + version "0.0.3" + resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" + integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== + +ts-api-utils@^1.0.1: + version "1.2.1" + resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz" + integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== + +ts-loader@^9.5.1: + version "9.5.1" + resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz" + integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== + dependencies: + chalk "^4.1.0" + enhanced-resolve "^5.0.0" + micromatch "^4.0.0" + semver "^7.3.4" + source-map "^0.7.4" + +ts-node@10.9.2: + version "10.9.2" + resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + dependencies: + "@cspotcode/source-map-support" "^0.8.0" + "@tsconfig/node10" "^1.0.7" + "@tsconfig/node12" "^1.0.7" + "@tsconfig/node14" "^1.0.0" + "@tsconfig/node16" "^1.0.2" + acorn "^8.4.1" + acorn-walk "^8.1.1" + arg "^4.1.0" + create-require "^1.1.0" + diff "^4.0.1" + make-error "^1.1.1" + v8-compile-cache-lib "^3.0.1" + yn "3.1.1" + +tslib@^2.6.2: + version "2.6.2" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" + integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== + +tsx@4.7.0: + version "4.7.0" + resolved "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz" + integrity sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg== + dependencies: + esbuild "~0.19.10" + get-tsconfig "^4.7.2" + optionalDependencies: + fsevents "~2.3.3" + +tunnel-agent@^0.6.0: + version "0.6.0" + resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" + integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== + dependencies: + safe-buffer "^5.0.1" + +type-check@^0.4.0, type-check@~0.4.0: + version "0.4.0" + resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" + integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== + dependencies: + prelude-ls "^1.2.1" + +type-detect@^4.0.0, type-detect@^4.0.8: + 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== + +type-fest@^0.20.2: + 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== + +type-fest@^0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" + integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== + +type-fest@^4.0.0: + version "4.10.3" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz" + integrity sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA== + +type-is@^1.6.18: + version "1.6.18" + resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" + integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== + dependencies: + media-typer "0.3.0" + mime-types "~2.1.24" + +typedarray@^0.0.6: + version "0.0.6" + resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" + integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== + +typescript-eslint-language-service@^5.0.5: + version "5.0.5" + resolved "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz" + integrity sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw== + +typescript@*, typescript@^5.2.2, typescript@^5.3.3, "typescript@>= 4.0.0", typescript@>=2.7, typescript@>=4.2.0: + version "5.3.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" + integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== + +uc.micro@^1.0.1, uc.micro@^1.0.5: + version "1.0.6" + resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" + integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== + +ufo@^1.3.2: + version "1.4.0" + resolved "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz" + integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== + +umzug@^3.1.1: + version "3.7.0" + resolved "https://registry.npmjs.org/umzug/-/umzug-3.7.0.tgz" + integrity sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q== + dependencies: + "@rushstack/ts-command-line" "^4.12.2" + emittery "^0.13.0" + glob "^8.0.3" + pony-cause "^2.1.4" + type-fest "^4.0.0" + +underscore@~1.13.2: + version "1.13.6" + resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz" + integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== + +undici-types@~5.26.4: + version "5.26.5" + resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" + integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== + +unique-filename@^1.1.1: + version "1.1.1" + resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" + integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== + dependencies: + unique-slug "^2.0.0" + +unique-slug@^2.0.0: + version "2.0.2" + resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" + integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== + dependencies: + imurmurhash "^0.1.4" + +universalify@^0.1.0: + version "0.1.2" + resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" + integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== + +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + +uri-js@^4.2.2: + version "4.4.1" + resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" + integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== + dependencies: + punycode "^2.1.0" + +util-deprecate@^1.0.1: + version "1.0.2" + resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" + integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== + +uuid-parse@^1.1.0: + version "1.1.0" + resolved "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz" + integrity sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A== + +uuid@^8.3.2: + version "8.3.2" + resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" + integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== + +v8-compile-cache-lib@^3.0.1: + version "3.0.1" + resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" + integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== + +v8-to-istanbul@^9.2.0: + version "9.2.0" + resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== + dependencies: + "@jridgewell/trace-mapping" "^0.3.12" + "@types/istanbul-lib-coverage" "^2.0.1" + convert-source-map "^2.0.0" + +validator@^13.7.0: + version "13.11.0" + resolved "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz" + integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== + +vary@^1.1.2: + version "1.1.2" + resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" + integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== + +vite-node@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz" + integrity sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng== + dependencies: + cac "^6.7.14" + debug "^4.3.4" + pathe "^1.1.1" + picocolors "^1.0.0" + vite "^5.0.0" + +vite@^5.0.0: + version "5.1.4" + resolved "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz" + integrity sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg== + dependencies: + esbuild "^0.19.3" + postcss "^8.4.35" + rollup "^4.2.0" + optionalDependencies: + fsevents "~2.3.3" + +vitest@^1.1.1, vitest@^1.2.2, vitest@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz" + integrity sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ== + dependencies: + "@vitest/expect" "1.3.1" + "@vitest/runner" "1.3.1" + "@vitest/snapshot" "1.3.1" + "@vitest/spy" "1.3.1" + "@vitest/utils" "1.3.1" + acorn-walk "^8.3.2" + chai "^4.3.10" + debug "^4.3.4" + execa "^8.0.1" + local-pkg "^0.5.0" + magic-string "^0.30.5" + pathe "^1.1.1" + picocolors "^1.0.0" + std-env "^3.5.0" + strip-literal "^2.0.0" + tinybench "^2.5.1" + tinypool "^0.8.2" + vite "^5.0.0" + vite-node "1.3.1" + why-is-node-running "^2.2.2" + +vue-eslint-parser@^9.1.0: + version "9.4.2" + resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz" + integrity sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ== + dependencies: + debug "^4.3.4" + eslint-scope "^7.1.1" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" + esquery "^1.4.0" + lodash "^4.17.21" + semver "^7.3.6" + +watchpack@^2.4.0: + version "2.4.0" + resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" + integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== + dependencies: + glob-to-regexp "^0.4.1" + graceful-fs "^4.1.2" + +webidl-conversions@^3.0.0: + version "3.0.1" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" + integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== + +webidl-conversions@^4.0.2: + version "4.0.2" + resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" + integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== + +webpack-sources@^3.2.3: + version "3.2.3" + resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" + integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== + +webpack@^5.0.0, webpack@^5.1.0: + version "5.90.3" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" + integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== + dependencies: + "@types/eslint-scope" "^3.7.3" + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.11.5" + "@webassemblyjs/wasm-edit" "^1.11.5" + "@webassemblyjs/wasm-parser" "^1.11.5" + acorn "^8.7.1" + acorn-import-assertions "^1.9.0" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.15.0" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.9" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.0" + webpack-sources "^3.2.3" + +whatwg-url@^5.0.0: + version "5.0.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" + integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== + dependencies: + tr46 "~0.0.3" + webidl-conversions "^3.0.0" + +whatwg-url@^7.0.0: + version "7.1.0" + resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" + integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== + dependencies: + lodash.sortby "^4.7.0" + tr46 "^1.0.1" + webidl-conversions "^4.0.2" + +which@^2.0.1, which@^2.0.2: + version "2.0.2" + resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" + integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== + dependencies: + isexe "^2.0.0" + +why-is-node-running@^2.2.2: + version "2.2.2" + resolved "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz" + integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== + dependencies: + siginfo "^2.0.0" + stackback "0.0.2" + +wide-align@^1.1.5: + version "1.1.5" + resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" + integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== + dependencies: + string-width "^1.0.2 || 2 || 3 || 4" + +wrappy@1: + version "1.0.2" + resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" + integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== + +xmlcreate@^2.0.4: + version "2.0.4" + resolved "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz" + integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== + +xtend@^4.0.0: + version "4.0.2" + resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" + integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== + +yallist@^4.0.0: + version "4.0.0" + resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" + integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== + +yn@3.1.1: + version "3.1.1" + resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" + integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== + +yocto-queue@^0.1.0: + version "0.1.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" + integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== + +yocto-queue@^1.0.0: + version "1.0.0" + resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" + integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== + +z-schema@~5.0.2: + version "5.0.5" + resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz" + integrity sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q== + dependencies: + lodash.get "^4.4.2" + lodash.isequal "^4.5.0" + validator "^13.7.0" + optionalDependencies: + commander "^9.4.1" + +zod@^3, zod@^3.22.4: + version "3.22.4" + resolved "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== From 1f3d4df511700885eacfc5c8f308b108703fb4aa Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 08:08:20 -0500 Subject: [PATCH 087/452] Fix typo --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 4eb2e1705..0f599267b 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -26,7 +26,7 @@ jobs: - name: Install and test run: | - npm install-ci-text + npm install-ci-test - name: Codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} From 1a9861bfda2109f2e5883b6295e71ef3e94373ce Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 08:09:52 -0500 Subject: [PATCH 088/452] Always run Codecov --- .github/workflows/node.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 0f599267b..b444c2ed2 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -28,6 +28,7 @@ jobs: run: | npm install-ci-test - name: Codecov + if: ${{ always() }} env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | From c3ccf57b556a863cad09f194b4d960fc53801b34 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Wed, 21 Feb 2024 22:19:49 -0500 Subject: [PATCH 089/452] Test getCompleteVehicleInfo handler --- thebeast/packages/shared/messageFactory.ts | 13 +---- thebeast/packages/shared/types.ts | 22 ++++++++ .../transactions/src/GenericRequestMessage.ts | 8 +++ .../packages/transactions/src/handlers.ts | 5 +- .../_getCompleteVehicleInfo.spec.ts | 50 +++++++++++++++++++ thebeast/test/factoryMocks.ts | 39 +++++++++++++++ 6 files changed, 124 insertions(+), 13 deletions(-) create mode 100644 thebeast/packages/shared/types.ts create mode 100644 thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts diff --git a/thebeast/packages/shared/messageFactory.ts b/thebeast/packages/shared/messageFactory.ts index 019f8f24c..6e631ab60 100644 --- a/thebeast/packages/shared/messageFactory.ts +++ b/thebeast/packages/shared/messageFactory.ts @@ -8,6 +8,8 @@ * - RawMessage */ +import { ServerMessageType } from "./types.js"; + /** * @abstract * @property {Buffer} data @@ -835,17 +837,6 @@ export class MessageBuffer extends SerializedBuffer { } } -export interface ServerMessageType { - _header: serverHeader; - _msgNo: number; - size(): number; - _doDeserialize(buffer: Buffer): ServerMessageType; - serialize(): Buffer; - setBuffer(buffer: Buffer): void; - updateMsgNo(): void; - toString(): string; -} - /** * A server message is a message that is passed between the server and the client. It has an 11 byte header. @see {@link serverHeader} * diff --git a/thebeast/packages/shared/types.ts b/thebeast/packages/shared/types.ts new file mode 100644 index 000000000..f51e87bc2 --- /dev/null +++ b/thebeast/packages/shared/types.ts @@ -0,0 +1,22 @@ +import { serverHeader } from "./messageFactory.js"; + +export interface ServerMessageType { + _header: serverHeader; + _msgNo: number; + size(): number; + _doDeserialize(buffer: Buffer): ServerMessageType; + serialize(): Buffer; + setBuffer(buffer: Buffer): void; + updateMsgNo(): void; + toString(): string; + data: Buffer; +} + +export type TServerLogger = { + info: (message: string) => void; + error: (message: string) => void; + fatal: (message: string) => void; + warn: (message: string) => void; + debug: (message: string) => void; + trace: (message: string) => void; +}; diff --git a/thebeast/packages/transactions/src/GenericRequestMessage.ts b/thebeast/packages/transactions/src/GenericRequestMessage.ts index cf15107fa..da9ef4c5c 100644 --- a/thebeast/packages/transactions/src/GenericRequestMessage.ts +++ b/thebeast/packages/transactions/src/GenericRequestMessage.ts @@ -30,6 +30,14 @@ export class GenericRequestMessage extends MessageNode { * @param {Buffer} buffer */ override deserialize(buffer: Buffer) { + if (buffer.length < 10) { + throw new Error( + `[GenericRequestMsg] Unable to deserialize buffer: ${buffer.toString( + "hex", + )}`, + ); + } + try { this.msgNo = buffer.readInt16LE(0); } catch (error) { diff --git a/thebeast/packages/transactions/src/handlers.ts b/thebeast/packages/transactions/src/handlers.ts index b3fc53cc2..d1fb0416d 100644 --- a/thebeast/packages/transactions/src/handlers.ts +++ b/thebeast/packages/transactions/src/handlers.ts @@ -34,11 +34,12 @@ import { ServerLogger } from "../../shared/log.js"; import { _setOptions } from "./_setOptions.js"; import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; +import { ServerMessageType, TServerLogger } from "../../shared/types.js"; export interface MessageHandlerArgs { connectionId: string; - packet: OldServerMessage; - log: ServerLogger; + packet: ServerMessageType; + log: TServerLogger; } export interface MessageHandlerResult { diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts new file mode 100644 index 000000000..c0f1f1710 --- /dev/null +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts @@ -0,0 +1,50 @@ +import { describe, it, expect, vi } from "vitest"; +import { _getCompleteVehicleInfo } from "./_getCompleteVehicleInfo.js"; +import { + mockLogger, + mockServerMessageType, +} from "../../../../test/factoryMocks.js"; + +describe("_getCompleteVehicleInfo", () => { + it("shou;d throw when passed message is too small", async () => { + // Setup + const connectionId = "testConnectionId"; + const packet = mockServerMessageType(); + const log = mockLogger(); + const expected = { + vehicleId: 1, + skinId: 1, + flags: 1, + class: 1, + damageInfo: "damage", + ownerId: 1, + parts: [ + { + partId: 1, + parentPartId: 1, + brandedPartId: 1, + percentDamage: 1, + itemWear: 1, + attachmentPointId: 1, + ownerId: 1, + partName: "part", + repairCost: 1, + scrapValue: 1, + }, + ], + }; + + // Exercise + _getCompleteVehicleInfo({ + connectionId, + packet, + log, + }).catch((error) => { + // Verify + expect(error).toBeInstanceOf(Error); + expect(error.message).toBe( + `[GenericRequestMsg] Unable to deserialize buffer: `, + ); + }); + }); +}); diff --git a/thebeast/test/factoryMocks.ts b/thebeast/test/factoryMocks.ts index 1bcd5eaf9..845ce277f 100644 --- a/thebeast/test/factoryMocks.ts +++ b/thebeast/test/factoryMocks.ts @@ -9,6 +9,45 @@ export function mockDatabaseManager(): DatabaseManager { }; } +/** @type TServerLogger */ +export function mockLogger() { + return { + info: vi.fn(), + error: vi.fn(), + fatal: vi.fn(), + warn: vi.fn(), + debug: vi.fn(), + trace: vi.fn(), + }; +} + +/** @type ServerMessageType */ +export function mockServerMessageType() { + return { + _header: { + _size: 0, + length: 0, + mcoSig: "", + sequence: 0, + flags: 0, + size: vi.fn(), + _doDeserialize: vi.fn(), + _doSerialize: vi.fn(), + internalBuffer: Buffer.from([]), + data: Buffer.from([]), + setBuffer: vi.fn(), + }, + _msgNo: 0, + size: vi.fn(), + _doDeserialize: vi.fn(), + serialize: vi.fn(), + setBuffer: vi.fn(), + updateMsgNo: vi.fn(), + toString: vi.fn(), + data: Buffer.from([]), + }; +} + it("should have crypto", () => { expect(() => verifyLegacyCipherSupport()).not.toThrow(); }); From e917d7fd88d94236002dda85d75c65b6a206e936 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 12:17:53 -0500 Subject: [PATCH 090/452] Clean lock --- package-lock.json | 1 + yarn.lock | 4454 --------------------------------------------- 2 files changed, 1 insertion(+), 4454 deletions(-) delete mode 100644 yarn.lock diff --git a/package-lock.json b/package-lock.json index bbbd48ed5..ba8816ac7 100644 --- a/package-lock.json +++ b/package-lock.json @@ -7,6 +7,7 @@ "": { "name": "rusty-motors", "version": "1.0.0", + "hasInstallScript": true, "license": "AGPL-3.0", "workspaces": [ "thebeast" diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 66759b33f..000000000 --- a/yarn.lock +++ /dev/null @@ -1,4454 +0,0 @@ -# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. -# yarn lockfile v1 - - -"@aashutoshrathi/word-wrap@^1.2.3": - version "1.2.6" - resolved "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz" - integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== - -"@ampproject/remapping@^2.2.1": - version "2.2.1" - resolved "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz" - integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@babel/helper-string-parser@^7.23.4": - version "7.23.4" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz" - integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== - -"@babel/helper-validator-identifier@^7.22.20": - version "7.22.20" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz" - integrity sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A== - -"@babel/parser@^7.20.15", "@babel/parser@^7.23.6": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz" - integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA== - -"@babel/types@^7.23.6": - version "7.23.9" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz" - integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q== - dependencies: - "@babel/helper-string-parser" "^7.23.4" - "@babel/helper-validator-identifier" "^7.22.20" - to-fast-properties "^2.0.0" - -"@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - -"@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - -"@esbuild/linux-x64@0.19.12": - version "0.19.12" - resolved "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz" - integrity sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg== - -"@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": - version "4.4.0" - resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" - integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== - dependencies: - eslint-visitor-keys "^3.3.0" - -"@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.10.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz" - integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== - -"@eslint/eslintrc@^2.1.4": - version "2.1.4" - resolved "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz" - integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== - 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" - -"@eslint/js@8.56.0": - version "8.56.0" - resolved "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz" - integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== - -"@fastify/ajv-compiler@^3.5.0": - version "3.5.0" - resolved "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz" - integrity sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA== - dependencies: - ajv "^8.11.0" - ajv-formats "^2.1.1" - fast-uri "^2.0.0" - -"@fastify/error@^3.3.0", "@fastify/error@^3.4.0": - version "3.4.1" - resolved "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz" - integrity sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ== - -"@fastify/fast-json-stringify-compiler@^4.3.0": - version "4.3.0" - resolved "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz" - integrity sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA== - dependencies: - fast-json-stringify "^5.7.0" - -"@fastify/merge-json-schemas@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz" - integrity sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA== - dependencies: - fast-deep-equal "^3.1.3" - -"@fastify/sensible@^5.5.0": - version "5.5.0" - resolved "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz" - integrity sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg== - dependencies: - "@lukeed/ms" "^2.0.1" - fast-deep-equal "^3.1.1" - fastify-plugin "^4.0.0" - forwarded "^0.2.0" - http-errors "^2.0.0" - type-is "^1.6.18" - vary "^1.1.2" - -"@gar/promisify@^1.0.1": - version "1.1.3" - resolved "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz" - integrity sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw== - -"@humanwhocodes/config-array@^0.11.13": - version "0.11.14" - resolved "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/module-importer@^1.0.1": - version "1.0.1" - resolved "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz" - integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== - -"@humanwhocodes/object-schema@^2.0.2": - version "2.0.2" - resolved "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz" - integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== - -"@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - -"@jest/schemas@^29.6.3": - version "29.6.3" - resolved "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz" - integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== - dependencies: - "@sinclair/typebox" "^0.27.8" - -"@jridgewell/gen-mapping@^0.3.0": - version "0.3.3" - resolved "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz" - integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/resolve-uri@^3.0.3", "@jridgewell/resolve-uri@^3.1.0": - version "3.1.2" - resolved "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz" - integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw== - -"@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - -"@jridgewell/source-map@^0.3.3": - version "0.3.5" - resolved "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz" - integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ== - dependencies: - "@jridgewell/gen-mapping" "^0.3.0" - "@jridgewell/trace-mapping" "^0.3.9" - -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": - version "1.4.15" - resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz" - integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== - -"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.20", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.22" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz" - integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw== - dependencies: - "@jridgewell/resolve-uri" "^3.1.0" - "@jridgewell/sourcemap-codec" "^1.4.14" - -"@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - -"@jsdoc/salty@^0.2.1": - version "0.2.7" - resolved "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz" - integrity sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg== - dependencies: - lodash "^4.17.21" - -"@lukeed/ms@^2.0.1": - version "2.0.2" - resolved "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz" - integrity sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA== - -"@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - -"@nodelib/fs.stat@^2.0.2", "@nodelib/fs.stat@2.0.5": - version "2.0.5" - resolved "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - -"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": - version "1.2.8" - resolved "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - -"@npmcli/fs@^1.0.0": - version "1.1.1" - resolved "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz" - integrity sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ== - dependencies: - "@gar/promisify" "^1.0.1" - semver "^7.3.5" - -"@npmcli/move-file@^1.0.1": - version "1.1.2" - resolved "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz" - integrity sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg== - dependencies: - mkdirp "^1.0.4" - rimraf "^3.0.2" - -"@pkgr/core@^0.1.0": - version "0.1.1" - resolved "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz" - integrity sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA== - -"@rollup/rollup-linux-x64-gnu@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz" - integrity sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA== - -"@rollup/rollup-linux-x64-musl@4.12.0": - version "4.12.0" - resolved "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz" - integrity sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw== - -"@rushstack/node-core-library@4.0.2": - version "4.0.2" - resolved "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz" - integrity sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg== - dependencies: - fs-extra "~7.0.1" - import-lazy "~4.0.0" - jju "~1.4.0" - resolve "~1.22.1" - semver "~7.5.4" - z-schema "~5.0.2" - -"@rushstack/terminal@0.9.0": - version "0.9.0" - resolved "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.9.0.tgz" - integrity sha512-49RnIDooriXyqcd7mGyjh9CmjOjf/Vn8PkOQXHa1CS0/RrrynCJLFhRDkswf7gGXZW+6UhROOE8wTmbOrfUTSA== - dependencies: - "@rushstack/node-core-library" "4.0.2" - colors "~1.2.1" - -"@rushstack/ts-command-line@^4.11.0", "@rushstack/ts-command-line@^4.12.2": - version "4.17.3" - resolved "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.17.3.tgz" - integrity sha512-/PtTYW38A8iUviuCmQSccHfmx3uBh4Jm5YRPU2aTgYEgwT2jtg60vAbwnkMYkyaT1AbWpjZM3xq5uHYPURvStw== - dependencies: - "@rushstack/terminal" "0.9.0" - "@types/argparse" "1.0.38" - argparse "~1.0.9" - string-argv "~0.3.1" - -"@rusty-motors/thebeast@file:/home/drazisil/mcos/thebeast": - version "1.0.0" - resolved "file:thebeast" - dependencies: - "@fastify/sensible" "^5.5.0" - "@sentry/node" "^7.102.0" - "@sentry/profiling-node" "^7.102.0" - "@types/connect" "^3.4.38" - fastify "^4.25.2" - moment "^2.30.1" - pino "^8.18.0" - pino-pretty "^10.3.1" - short-unique-id "^5.0.3" - slonik "^37.2.0" - sqlite3 "^5.1.7" - ts-node "10.9.2" - tslib "^2.6.2" - -"@sentry-internal/tracing@7.102.1": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz" - integrity sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg== - dependencies: - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/cli-linux-x64@2.28.6": - version "2.28.6" - resolved "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz" - integrity sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg== - -"@sentry/cli@^2.23.2": - version "2.28.6" - resolved "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz" - integrity sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g== - dependencies: - https-proxy-agent "^5.0.0" - node-fetch "^2.6.7" - progress "^2.0.3" - proxy-from-env "^1.1.0" - which "^2.0.2" - optionalDependencies: - "@sentry/cli-darwin" "2.28.6" - "@sentry/cli-linux-arm" "2.28.6" - "@sentry/cli-linux-arm64" "2.28.6" - "@sentry/cli-linux-i686" "2.28.6" - "@sentry/cli-linux-x64" "2.28.6" - "@sentry/cli-win32-i686" "2.28.6" - "@sentry/cli-win32-x64" "2.28.6" - -"@sentry/core@7.102.1": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz" - integrity sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg== - dependencies: - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/node@^7.102.0": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry/node/-/node-7.102.1.tgz" - integrity sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw== - dependencies: - "@sentry-internal/tracing" "7.102.1" - "@sentry/core" "7.102.1" - "@sentry/types" "7.102.1" - "@sentry/utils" "7.102.1" - -"@sentry/profiling-node@^7.102.0": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.1.tgz" - integrity sha512-eqOUdu04eI4ODqeh/nHvC/mdwm3tWkqm02anR2ITEjKVJxHliHH6+jr+3M2X56e1hIxOibtL+JrR89Du9HEl9w== - dependencies: - detect-libc "^2.0.2" - node-abi "^3.52.0" - -"@sentry/types@7.102.1": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz" - integrity sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA== - -"@sentry/utils@7.102.1": - version "7.102.1" - resolved "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz" - integrity sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg== - dependencies: - "@sentry/types" "7.102.1" - -"@sinclair/typebox@^0.27.8": - version "0.27.8" - resolved "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz" - integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== - -"@slonik/migrator@^0.12.0": - version "0.12.0" - resolved "https://registry.npmjs.org/@slonik/migrator/-/migrator-0.12.0.tgz" - integrity sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ== - dependencies: - "@rushstack/ts-command-line" "^4.11.0" - umzug "^3.1.1" - -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - -"@tsconfig/node-lts@^20.1.1": - version "20.1.1" - resolved "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz" - integrity sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ== - -"@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - -"@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - -"@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - -"@tsconfig/node16@^1.0.2": - version "1.0.4" - resolved "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz" - integrity sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA== - -"@tsconfig/node20@^20.1.2": - version "20.1.2" - resolved "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz" - integrity sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ== - -"@types/argparse@1.0.38": - version "1.0.38" - resolved "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz" - integrity sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA== - -"@types/chai@*", "@types/chai@4.3.11": - version "4.3.11" - resolved "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz" - integrity sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ== - -"@types/connect@^3.4.38": - version "3.4.38" - resolved "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz" - integrity sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug== - dependencies: - "@types/node" "*" - -"@types/eslint-scope@^3.7.3": - version "3.7.7" - resolved "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz" - integrity sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg== - dependencies: - "@types/eslint" "*" - "@types/estree" "*" - -"@types/eslint@*", "@types/eslint@>=8.0.0": - version "8.56.3" - resolved "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.3.tgz" - integrity sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg== - dependencies: - "@types/estree" "*" - "@types/json-schema" "*" - -"@types/estree@*", "@types/estree@^1.0.0", "@types/estree@^1.0.5", "@types/estree@1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== - -"@types/istanbul-lib-coverage@^2.0.1": - 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== - -"@types/json-schema@*", "@types/json-schema@^7.0.12", "@types/json-schema@^7.0.8": - version "7.0.15" - resolved "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz" - integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA== - -"@types/linkify-it@*": - version "3.0.5" - resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz" - integrity sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw== - -"@types/markdown-it@*", "@types/markdown-it@^12.2.3": - version "12.2.3" - resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz" - integrity sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ== - dependencies: - "@types/linkify-it" "*" - "@types/mdurl" "*" - -"@types/mdurl@*": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz" - integrity sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA== - -"@types/node@*", "@types/node@^18.0.0 || >=20.0.0", "@types/node@^20.10.6", "@types/node@^20.11.16": - version "20.11.20" - resolved "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz" - integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== - dependencies: - undici-types "~5.26.4" - -"@types/pg@^8.10.7": - version "8.11.0" - resolved "https://registry.npmjs.org/@types/pg/-/pg-8.11.0.tgz" - integrity sha512-sDAlRiBNthGjNFfvt0k6mtotoVYVQ63pA8R4EMWka7crawSR60waVYR0HAgmPRs/e2YaeJTD/43OoZ3PFw80pw== - dependencies: - "@types/node" "*" - pg-protocol "*" - pg-types "^4.0.1" - -"@types/semver@^7.5.0": - version "7.5.7" - resolved "https://registry.npmjs.org/@types/semver/-/semver-7.5.7.tgz" - integrity sha512-/wdoPq1QqkSj9/QOeKkFquEuPzQbHTWAMPH/PaUMB+JuR31lXhlWXRZ52IpfDYVlDOUBvX09uBrPwxGT1hjNBg== - -"@types/sinon-chai@3.2.12": - version "3.2.12" - resolved "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz" - integrity sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ== - dependencies: - "@types/chai" "*" - "@types/sinon" "*" - -"@types/sinon@*", "@types/sinon@17.0.3": - version "17.0.3" - resolved "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz" - integrity sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw== - dependencies: - "@types/sinonjs__fake-timers" "*" - -"@types/sinonjs__fake-timers@*": - version "8.1.5" - resolved "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz" - integrity sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ== - -"@typescript-eslint/eslint-plugin@^6.17.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz" - integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== - dependencies: - "@eslint-community/regexpp" "^4.5.1" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/type-utils" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - graphemer "^1.4.0" - ignore "^5.2.4" - natural-compare "^1.4.0" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/parser@^6.0.0 || ^6.0.0-alpha", "@typescript-eslint/parser@^6.17.0", "@typescript-eslint/parser@^6.7.5", "@typescript-eslint/parser@>= 5.0.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz" - integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== - dependencies: - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - -"@typescript-eslint/scope-manager@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz" - integrity sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - -"@typescript-eslint/type-utils@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz" - integrity sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag== - dependencies: - "@typescript-eslint/typescript-estree" "6.21.0" - "@typescript-eslint/utils" "6.21.0" - debug "^4.3.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/types@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz" - integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== - -"@typescript-eslint/typescript-estree@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz" - integrity sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ== - dependencies: - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/visitor-keys" "6.21.0" - debug "^4.3.4" - globby "^11.1.0" - is-glob "^4.0.3" - minimatch "9.0.3" - semver "^7.5.4" - ts-api-utils "^1.0.1" - -"@typescript-eslint/utils@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz" - integrity sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ== - dependencies: - "@eslint-community/eslint-utils" "^4.4.0" - "@types/json-schema" "^7.0.12" - "@types/semver" "^7.5.0" - "@typescript-eslint/scope-manager" "6.21.0" - "@typescript-eslint/types" "6.21.0" - "@typescript-eslint/typescript-estree" "6.21.0" - semver "^7.5.4" - -"@typescript-eslint/visitor-keys@6.21.0": - version "6.21.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz" - integrity sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A== - dependencies: - "@typescript-eslint/types" "6.21.0" - eslint-visitor-keys "^3.4.1" - -"@ungap/structured-clone@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz" - integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== - -"@vitest/coverage-v8@^1.1.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.1.tgz" - integrity sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg== - dependencies: - "@ampproject/remapping" "^2.2.1" - "@bcoe/v8-coverage" "^0.2.3" - debug "^4.3.4" - istanbul-lib-coverage "^3.2.2" - istanbul-lib-report "^3.0.1" - istanbul-lib-source-maps "^4.0.1" - istanbul-reports "^3.1.6" - magic-string "^0.30.5" - magicast "^0.3.3" - picocolors "^1.0.0" - std-env "^3.5.0" - test-exclude "^6.0.0" - v8-to-istanbul "^9.2.0" - -"@vitest/expect@1.3.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz" - integrity sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw== - dependencies: - "@vitest/spy" "1.3.1" - "@vitest/utils" "1.3.1" - chai "^4.3.10" - -"@vitest/runner@1.3.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz" - integrity sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg== - dependencies: - "@vitest/utils" "1.3.1" - p-limit "^5.0.0" - pathe "^1.1.1" - -"@vitest/snapshot@1.3.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz" - integrity sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ== - dependencies: - magic-string "^0.30.5" - pathe "^1.1.1" - pretty-format "^29.7.0" - -"@vitest/spy@1.3.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz" - integrity sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig== - dependencies: - tinyspy "^2.2.0" - -"@vitest/utils@1.3.1": - version "1.3.1" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz" - integrity sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ== - dependencies: - diff-sequences "^29.6.3" - estree-walker "^3.0.3" - loupe "^2.3.7" - pretty-format "^29.7.0" - -"@webassemblyjs/ast@^1.11.5", "@webassemblyjs/ast@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz" - integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q== - dependencies: - "@webassemblyjs/helper-numbers" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - -"@webassemblyjs/floating-point-hex-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz" - integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw== - -"@webassemblyjs/helper-api-error@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz" - integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q== - -"@webassemblyjs/helper-buffer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz" - integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA== - -"@webassemblyjs/helper-numbers@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz" - integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g== - dependencies: - "@webassemblyjs/floating-point-hex-parser" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@xtuc/long" "4.2.2" - -"@webassemblyjs/helper-wasm-bytecode@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz" - integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA== - -"@webassemblyjs/helper-wasm-section@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz" - integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - -"@webassemblyjs/ieee754@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz" - integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg== - dependencies: - "@xtuc/ieee754" "^1.2.0" - -"@webassemblyjs/leb128@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz" - integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ== - dependencies: - "@xtuc/long" "4.2.2" - -"@webassemblyjs/utf8@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz" - integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA== - -"@webassemblyjs/wasm-edit@^1.11.5": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz" - integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/helper-wasm-section" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-opt" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - "@webassemblyjs/wast-printer" "1.11.6" - -"@webassemblyjs/wasm-gen@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz" - integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wasm-opt@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz" - integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-buffer" "1.11.6" - "@webassemblyjs/wasm-gen" "1.11.6" - "@webassemblyjs/wasm-parser" "1.11.6" - -"@webassemblyjs/wasm-parser@^1.11.5", "@webassemblyjs/wasm-parser@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz" - integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@webassemblyjs/helper-api-error" "1.11.6" - "@webassemblyjs/helper-wasm-bytecode" "1.11.6" - "@webassemblyjs/ieee754" "1.11.6" - "@webassemblyjs/leb128" "1.11.6" - "@webassemblyjs/utf8" "1.11.6" - -"@webassemblyjs/wast-printer@1.11.6": - version "1.11.6" - resolved "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz" - integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A== - dependencies: - "@webassemblyjs/ast" "1.11.6" - "@xtuc/long" "4.2.2" - -"@xtuc/ieee754@^1.2.0": - version "1.2.0" - resolved "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz" - integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA== - -"@xtuc/long@4.2.2": - version "4.2.2" - resolved "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz" - integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ== - -abbrev@1: - version "1.1.1" - resolved "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - -abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - -abstract-logging@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz" - integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA== - -acorn-import-assertions@^1.9.0: - version "1.9.0" - resolved "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz" - integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA== - -acorn-jsx@^5.3.2: - version "5.3.2" - resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - -acorn-walk@^8.1.1, acorn-walk@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz" - integrity sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A== - -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8, acorn@^8.11.3, acorn@^8.4.1, acorn@^8.7.1, acorn@^8.8.2, acorn@^8.9.0: - version "8.11.3" - resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" - integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== - -agent-base@^6.0.2, agent-base@6: - version "6.0.2" - resolved "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - -agentkeepalive@^4.1.3: - version "4.5.0" - resolved "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz" - integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== - dependencies: - humanize-ms "^1.2.1" - -aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - -ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - -ajv-keywords@^3.5.2: - version "3.5.2" - resolved "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz" - integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ== - -ajv@^6.12.4, ajv@^6.12.5, ajv@^6.9.1: - version "6.12.6" - resolved "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - -ajv@^8.0.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.10.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ajv@^8.11.0: - version "8.12.0" - resolved "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - -ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - -ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - -ansi-styles@^2.2.1: - version "2.2.1" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz" - integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA== - -ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - -ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - -"aproba@^1.0.3 || ^2.0.0": - version "2.0.0" - resolved "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz" - integrity sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ== - -archy@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz" - integrity sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw== - -are-we-there-yet@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz" - integrity sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg== - dependencies: - delegates "^1.0.0" - readable-stream "^3.6.0" - -arg@^4.1.0: - version "4.1.3" - resolved "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - -argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - -argparse@~1.0.9: - version "1.0.10" - resolved "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - -array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - -atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - -avvio@^8.3.0: - version "8.3.0" - resolved "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz" - integrity sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q== - dependencies: - "@fastify/error" "^3.3.0" - archy "^1.0.0" - debug "^4.0.0" - fastq "^1.17.1" - -balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - -base64-js@^1.3.1: - version "1.5.1" - resolved "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - -bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - -bluebird@^3.7.1, bluebird@^3.7.2: - version "3.7.2" - resolved "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - -boolean@^3.1.4: - version "3.2.0" - resolved "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz" - integrity sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw== - -brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - -brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - -braces@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - -browserslist@^4.21.10, "browserslist@>= 4.21.0": - version "4.23.0" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" - integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== - dependencies: - caniuse-lite "^1.0.30001587" - electron-to-chromium "^1.4.668" - node-releases "^2.0.14" - update-browserslist-db "^1.0.13" - -buffer-from@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - -buffer-writer@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz" - integrity sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw== - -buffer@^5.5.0: - version "5.7.1" - resolved "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - -buffer@^6.0.3: - version "6.0.3" - resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - -bufferput@^0.1.3: - version "0.1.3" - resolved "https://registry.npmjs.org/bufferput/-/bufferput-0.1.3.tgz" - integrity sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw== - -cac@^6.7.14: - version "6.7.14" - resolved "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz" - integrity sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ== - -cacache@^15.2.0: - version "15.3.0" - resolved "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz" - integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== - dependencies: - "@npmcli/fs" "^1.0.0" - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - -caniuse-lite@^1.0.30001587: - version "1.0.30001589" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz" - integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg== - -catharsis@^0.9.0: - version "0.9.0" - resolved "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz" - integrity sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A== - dependencies: - lodash "^4.17.15" - -chai@^4.3.10: - version "4.4.1" - resolved "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz" - integrity sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.3" - deep-eql "^4.1.3" - get-func-name "^2.0.2" - loupe "^2.3.6" - pathval "^1.1.1" - type-detect "^4.0.8" - -chalk@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz" - integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A== - dependencies: - ansi-styles "^2.2.1" - escape-string-regexp "^1.0.2" - has-ansi "^2.0.0" - strip-ansi "^3.0.0" - supports-color "^2.0.0" - -chalk@^4.0.0, chalk@^4.1.0: - version "4.1.2" - resolved "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - -check-error@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz" - integrity sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg== - dependencies: - get-func-name "^2.0.2" - -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - -chownr@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz" - integrity sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ== - -chrome-trace-event@^1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz" - integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg== - -clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - -color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - -color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - -color-support@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz" - integrity sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg== - -colorette@^2.0.7: - version "2.0.20" - resolved "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz" - integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w== - -colors@~1.2.1: - version "1.2.5" - resolved "https://registry.npmjs.org/colors/-/colors-1.2.5.tgz" - integrity sha512-erNRLao/Y3Fv54qUa0LBB+//Uf3YwMUmdJinN20yMXm9zdKKqH9wt7R9IIVZ+K7ShzfpLV/Zg8+VyrBJYB4lpg== - -commander@^2.20.0: - version "2.20.3" - resolved "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - -commander@^9.4.1: - version "9.5.0" - resolved "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz" - integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ== - -common-tags@^1.4.0: - version "1.8.2" - resolved "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz" - integrity sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA== - -concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - -concat-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz" - integrity sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A== - dependencies: - buffer-from "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.0.2" - typedarray "^0.0.6" - -console-control-strings@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz" - integrity sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ== - -convert-source-map@^2.0.0: - 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== - -cookie@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== - -create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - -cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - -dateformat@^4.6.3: - version "4.6.3" - resolved "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz" - integrity sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA== - -debug@^4.0.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4, debug@4: - version "4.3.4" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - -decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - -deep-eql@^4.1.3: - version "4.1.3" - resolved "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - -deep-extend@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz" - integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA== - -deep-is@^0.1.3: - 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== - -delegates@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz" - integrity sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ== - -depd@2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - -detect-libc@^2.0.0, detect-libc@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz" - integrity sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw== - -diff-sequences@^29.6.3: - version "29.6.3" - resolved "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz" - integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== - -diff@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - -dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - -dlv@^1.1.0: - version "1.1.3" - resolved "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz" - integrity sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA== - -doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - -electron-to-chromium@^1.4.668: - version "1.4.680" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.680.tgz" - integrity sha512-4nToZ5jlPO14W82NkF32wyjhYqQByVaDmLy4J2/tYcAbJfgO2TKJC780Az1V13gzq4l73CJ0yuyalpXvxXXD9A== - -emittery@^0.13.0: - version "0.13.1" - resolved "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz" - integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== - -emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - -encoding@^0.1.0, encoding@^0.1.12: - version "0.1.13" - resolved "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - -end-of-stream@^1.1.0, end-of-stream@^1.4.1: - version "1.4.4" - resolved "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - -enhanced-resolve@^5.0.0, enhanced-resolve@^5.15.0: - version "5.15.0" - resolved "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz" - integrity sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg== - dependencies: - graceful-fs "^4.2.4" - tapable "^2.2.0" - -entities@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz" - integrity sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w== - -env-paths@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - -err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - -es-module-lexer@^1.2.1: - version "1.4.1" - resolved "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz" - integrity sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w== - -es6-error@^4.1.1: - version "4.1.1" - resolved "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz" - integrity sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg== - -esbuild@^0.19.3, esbuild@~0.19.10: - version "0.19.12" - resolved "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz" - integrity sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg== - optionalDependencies: - "@esbuild/aix-ppc64" "0.19.12" - "@esbuild/android-arm" "0.19.12" - "@esbuild/android-arm64" "0.19.12" - "@esbuild/android-x64" "0.19.12" - "@esbuild/darwin-arm64" "0.19.12" - "@esbuild/darwin-x64" "0.19.12" - "@esbuild/freebsd-arm64" "0.19.12" - "@esbuild/freebsd-x64" "0.19.12" - "@esbuild/linux-arm" "0.19.12" - "@esbuild/linux-arm64" "0.19.12" - "@esbuild/linux-ia32" "0.19.12" - "@esbuild/linux-loong64" "0.19.12" - "@esbuild/linux-mips64el" "0.19.12" - "@esbuild/linux-ppc64" "0.19.12" - "@esbuild/linux-riscv64" "0.19.12" - "@esbuild/linux-s390x" "0.19.12" - "@esbuild/linux-x64" "0.19.12" - "@esbuild/netbsd-x64" "0.19.12" - "@esbuild/openbsd-x64" "0.19.12" - "@esbuild/sunos-x64" "0.19.12" - "@esbuild/win32-arm64" "0.19.12" - "@esbuild/win32-ia32" "0.19.12" - "@esbuild/win32-x64" "0.19.12" - -escalade@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== - -escape-string-regexp@^1.0.2: - version "1.0.5" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - -escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - -escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - -eslint-config-prettier@*, eslint-config-prettier@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz" - integrity sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw== - -eslint-plugin-prettier@5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz" - integrity sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg== - dependencies: - prettier-linter-helpers "^1.0.0" - synckit "^0.8.6" - -eslint-scope@^7.1.1, eslint-scope@^7.2.2: - version "7.2.2" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz" - integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== - dependencies: - esrecurse "^4.3.0" - estraverse "^5.2.0" - -eslint-scope@5.1.1: - version "5.1.1" - resolved "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: - 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== - -"eslint@^6.0.0 || ^7.0.0 || >=8.0.0", "eslint@^7.0.0 || ^8.0.0", eslint@^8.56.0, eslint@^8.7.0, "eslint@>= 8.0.0", eslint@>=6.0.0, eslint@>=7.0.0, eslint@>=8.0.0: - version "8.56.0" - resolved "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz" - integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== - dependencies: - "@eslint-community/eslint-utils" "^4.2.0" - "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.4" - "@eslint/js" "8.56.0" - "@humanwhocodes/config-array" "^0.11.13" - "@humanwhocodes/module-importer" "^1.0.1" - "@nodelib/fs.walk" "^1.2.8" - "@ungap/structured-clone" "^1.2.0" - 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.3" - espree "^9.6.1" - esquery "^1.4.2" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - 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" - -espree@^9.3.1, espree@^9.6.0, espree@^9.6.1: - version "9.6.1" - resolved "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz" - integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== - dependencies: - acorn "^8.9.0" - acorn-jsx "^5.3.2" - eslint-visitor-keys "^3.4.1" - -esquery@^1.4.0, esquery@^1.4.2: - version "1.5.0" - resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - -esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - -estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - -estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - -estree-walker@^3.0.3: - version "3.0.3" - resolved "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz" - integrity sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g== - dependencies: - "@types/estree" "^1.0.0" - -esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - -event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - -events@^3.2.0, events@^3.3.0: - version "3.3.0" - resolved "https://registry.npmjs.org/events/-/events-3.3.0.tgz" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - -execa@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz" - integrity sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^8.0.1" - human-signals "^5.0.0" - is-stream "^3.0.0" - merge-stream "^2.0.0" - npm-run-path "^5.1.0" - onetime "^6.0.0" - signal-exit "^4.1.0" - strip-final-newline "^3.0.0" - -expand-template@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz" - integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg== - -fast-content-type-parse@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz" - integrity sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ== - -fast-copy@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz" - integrity sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA== - -fast-decode-uri-component@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz" - integrity sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg== - -fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - 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== - -fast-diff@^1.1.2: - version "1.3.0" - resolved "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz" - integrity sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw== - -fast-glob@^3.2.9: - version "3.3.2" - resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz" - integrity sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - -fast-json-stable-stringify@^2.0.0: - 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== - -fast-json-stringify@^5.7.0, fast-json-stringify@^5.8.0: - version "5.12.0" - resolved "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.12.0.tgz" - integrity sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA== - dependencies: - "@fastify/merge-json-schemas" "^0.1.0" - ajv "^8.10.0" - ajv-formats "^2.1.1" - fast-deep-equal "^3.1.3" - fast-uri "^2.1.0" - json-schema-ref-resolver "^1.0.1" - rfdc "^1.2.0" - -fast-levenshtein@^2.0.6: - version "2.0.6" - resolved "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - -fast-printf@^1.6.9: - version "1.6.9" - resolved "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz" - integrity sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg== - dependencies: - boolean "^3.1.4" - -fast-querystring@^1.0.0: - version "1.1.2" - resolved "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz" - integrity sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg== - dependencies: - fast-decode-uri-component "^1.0.1" - -fast-redact@^3.1.1: - version "3.3.0" - resolved "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz" - integrity sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ== - -fast-safe-stringify@^2.1.1: - 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== - -fast-uri@^2.0.0, fast-uri@^2.1.0: - version "2.3.0" - resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz" - integrity sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw== - -fastify-plugin@^4.0.0: - version "4.5.1" - resolved "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz" - integrity sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ== - -fastify@^4.25.2: - version "4.26.1" - resolved "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz" - integrity sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng== - dependencies: - "@fastify/ajv-compiler" "^3.5.0" - "@fastify/error" "^3.4.0" - "@fastify/fast-json-stringify-compiler" "^4.3.0" - abstract-logging "^2.0.1" - avvio "^8.3.0" - fast-content-type-parse "^1.1.0" - fast-json-stringify "^5.8.0" - find-my-way "^8.0.0" - light-my-request "^5.11.0" - pino "^8.17.0" - process-warning "^3.0.0" - proxy-addr "^2.0.7" - rfdc "^1.3.0" - secure-json-parse "^2.7.0" - semver "^7.5.4" - toad-cache "^3.3.0" - -fastq@^1.17.1, fastq@^1.6.0: - version "1.17.1" - resolved "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz" - integrity sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w== - dependencies: - reusify "^1.0.4" - -file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - -file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - -find-my-way@^8.0.0: - version "8.1.0" - resolved "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz" - integrity sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA== - dependencies: - fast-deep-equal "^3.1.3" - fast-querystring "^1.0.0" - safe-regex2 "^2.0.0" - -find-up@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - -flat-cache@^3.0.4: - version "3.2.0" - resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz" - integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw== - dependencies: - flatted "^3.2.9" - keyv "^4.5.3" - rimraf "^3.0.2" - -flatted@^3.2.9: - version "3.3.1" - resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz" - integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== - -forwarded@^0.2.0, forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - -fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - -fs-extra@~7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - -fs-minipass@^2.0.0: - version "2.1.0" - resolved "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz" - integrity sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg== - dependencies: - minipass "^3.0.0" - -fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - -function-bind@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" - integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== - -gauge@^4.0.3: - version "4.0.4" - resolved "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz" - integrity sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg== - dependencies: - aproba "^1.0.3 || ^2.0.0" - color-support "^1.1.3" - console-control-strings "^1.1.0" - has-unicode "^2.0.1" - signal-exit "^3.0.7" - string-width "^4.2.3" - strip-ansi "^6.0.1" - wide-align "^1.1.5" - -get-func-name@^2.0.1, get-func-name@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - -get-stack-trace@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-2.1.1.tgz" - integrity sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ== - dependencies: - bluebird "^3.7.1" - source-map "^0.8.0-beta.0" - -get-stack-trace@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-3.1.1.tgz" - integrity sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA== - dependencies: - stacktrace-parser "^0.1.10" - -get-stream@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz" - integrity sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA== - -get-tsconfig@^4.7.2: - version "4.7.2" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz" - integrity sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A== - dependencies: - resolve-pkg-maps "^1.0.0" - -github-from-package@0.0.0: - version "0.0.0" - resolved "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz" - integrity sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw== - -glob-parent@^5.1.2: - version "5.1.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - -glob-parent@^6.0.2: - version "6.0.2" - resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz" - integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== - dependencies: - is-glob "^4.0.3" - -glob-to-regexp@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz" - integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== - -glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - -glob@^8.0.3: - version "8.1.0" - resolved "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz" - integrity sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^5.0.1" - once "^1.3.0" - -globals@^13.19.0: - version "13.24.0" - resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz" - integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== - dependencies: - type-fest "^0.20.2" - -globby@^11.1.0: - version "11.1.0" - resolved "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - -graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: - 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== - -graphemer@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz" - integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== - -has-ansi@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz" - integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg== - dependencies: - ansi-regex "^2.0.0" - -has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - -has-unicode@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz" - integrity sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ== - -hasown@^2.0.0: - version "2.0.1" - resolved "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz" - integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA== - dependencies: - function-bind "^1.1.2" - -help-me@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz" - integrity sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg== - -html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - -http-cache-semantics@^4.1.0: - version "4.1.1" - resolved "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - -http-errors@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - -https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - -human-signals@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz" - integrity sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ== - -humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - -hyperid@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/hyperid/-/hyperid-2.3.1.tgz" - integrity sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ== - dependencies: - uuid "^8.3.2" - uuid-parse "^1.1.0" - -iconv-lite@^0.6.2: - version "0.6.3" - resolved "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz" - integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== - dependencies: - safer-buffer ">= 2.1.2 < 3.0.0" - -ieee754@^1.1.13, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - -ignore@^5.2.0, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== - -import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - -import-lazy@~4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz" - integrity sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw== - -imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - -infer-owner@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz" - integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A== - -inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - -inherits@^2.0.3, inherits@^2.0.4, inherits@2, inherits@2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - -ini@~1.3.0: - version "1.3.8" - resolved "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - -int64-buffer@^0.99.1007: - version "0.99.1007" - resolved "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz" - integrity sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ== - -ip-address@^9.0.5: - version "9.0.5" - resolved "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz" - integrity sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g== - dependencies: - jsbn "1.1.0" - sprintf-js "^1.1.3" - -ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - -is-core-module@^2.13.0: - version "2.13.1" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz" - integrity sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw== - dependencies: - hasown "^2.0.0" - -is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - -is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - -is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3: - version "4.0.3" - resolved "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - -is-lambda@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz" - integrity sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ== - -is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - -is-path-inside@^3.0.3: - 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== - -is-plain-object@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz" - integrity sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q== - -is-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz" - integrity sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA== - -isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - -iso8601-duration@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz" - integrity sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ== - -istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.2: - 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== - -istanbul-lib-report@^3.0.0, istanbul-lib-report@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz" - integrity sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^4.0.0" - supports-color "^7.1.0" - -istanbul-lib-source-maps@^4.0.1: - 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== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - -istanbul-reports@^3.1.6: - version "3.1.7" - resolved "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz" - integrity sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - -jest-worker@^27.4.5: - version "27.5.1" - resolved "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - -jju@~1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz" - integrity sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA== - -joycon@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz" - integrity sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw== - -js-tokens@^8.0.2: - version "8.0.3" - resolved "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz" - integrity sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw== - -js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - -js2xmlparser@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz" - integrity sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA== - dependencies: - xmlcreate "^2.0.4" - -jsbn@1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz" - integrity sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A== - -jsdoc@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz" - integrity sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg== - dependencies: - "@babel/parser" "^7.20.15" - "@jsdoc/salty" "^0.2.1" - "@types/markdown-it" "^12.2.3" - bluebird "^3.7.2" - catharsis "^0.9.0" - escape-string-regexp "^2.0.0" - js2xmlparser "^4.0.2" - klaw "^3.0.0" - markdown-it "^12.3.2" - markdown-it-anchor "^8.4.1" - marked "^4.0.10" - mkdirp "^1.0.4" - requizzle "^0.2.3" - strip-json-comments "^3.1.0" - underscore "~1.13.2" - -json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - -json-parse-even-better-errors@^2.3.1: - 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== - -json-schema-ref-resolver@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz" - integrity sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw== - dependencies: - fast-deep-equal "^3.1.3" - -json-schema-traverse@^0.4.1: - 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== - -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - -json-stable-stringify-without-jsonify@^1.0.1: - 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== - -jsonc-parser@^3.2.0: - version "3.2.1" - resolved "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz" - integrity sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA== - -jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - -keyv@^4.5.3: - version "4.5.4" - resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz" - integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw== - dependencies: - json-buffer "3.0.1" - -klaw@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz" - integrity sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g== - dependencies: - graceful-fs "^4.1.9" - -levn@^0.4.1: - version "0.4.1" - resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - -light-my-request@^5.11.0: - version "5.11.1" - resolved "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.1.tgz" - integrity sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA== - dependencies: - cookie "^0.6.0" - process-warning "^2.0.0" - set-cookie-parser "^2.4.1" - -linkify-it@^3.0.1: - version "3.0.3" - resolved "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz" - integrity sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ== - dependencies: - uc.micro "^1.0.1" - -loader-runner@^4.2.0: - version "4.3.0" - resolved "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz" - integrity sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg== - -local-pkg@^0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz" - integrity sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg== - dependencies: - mlly "^1.4.2" - pkg-types "^1.0.3" - -locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - -lodash.get@^4.4.2: - version "4.4.2" - resolved "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz" - integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ== - -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - -lodash.merge@^4.6.0, lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - -lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - -lodash@^4.17.15, lodash@^4.17.21: - version "4.17.21" - resolved "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - -loglevel-colored-level-prefix@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz" - integrity sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA== - dependencies: - chalk "^1.1.3" - loglevel "^1.4.1" - -loglevel@^1.4.1: - version "1.9.1" - resolved "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz" - integrity sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg== - -loupe@^2.3.6, loupe@^2.3.7: - version "2.3.7" - resolved "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz" - integrity sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA== - dependencies: - get-func-name "^2.0.1" - -lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - -magic-string@^0.30.5: - version "0.30.7" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz" - integrity sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA== - dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" - -magicast@^0.3.3: - version "0.3.3" - resolved "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz" - integrity sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw== - dependencies: - "@babel/parser" "^7.23.6" - "@babel/types" "^7.23.6" - source-map-js "^1.0.2" - -make-dir@^4.0.0: - 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== - dependencies: - semver "^7.5.3" - -make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - -make-fetch-happen@^9.1.0: - version "9.1.0" - resolved "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz" - integrity sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg== - dependencies: - agentkeepalive "^4.1.3" - cacache "^15.2.0" - http-cache-semantics "^4.1.0" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-lambda "^1.0.1" - lru-cache "^6.0.0" - minipass "^3.1.3" - minipass-collect "^1.0.2" - minipass-fetch "^1.3.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.4" - negotiator "^0.6.2" - promise-retry "^2.0.1" - socks-proxy-agent "^6.0.0" - ssri "^8.0.0" - -markdown-it-anchor@^8.4.1: - version "8.6.7" - resolved "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz" - integrity sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA== - -markdown-it@*, markdown-it@^12.3.2: - version "12.3.2" - resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz" - integrity sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg== - dependencies: - argparse "^2.0.1" - entities "~2.1.0" - linkify-it "^3.0.1" - mdurl "^1.0.1" - uc.micro "^1.0.5" - -marked@^4.0.10: - version "4.3.0" - resolved "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz" - integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== - -mdurl@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz" - integrity sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g== - -media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - -merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - -merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - -micromatch@^4.0.0, micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - -mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - -mime-types@^2.1.27, mime-types@~2.1.24: - version "2.1.35" - resolved "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - -mimic-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz" - integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== - -mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - -minimatch@^3.0.4: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.0.5: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.1: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - -minimatch@^5.0.1: - version "5.1.6" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz" - integrity sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g== - dependencies: - brace-expansion "^2.0.1" - -minimatch@9.0.3: - version "9.0.3" - resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz" - integrity sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg== - dependencies: - brace-expansion "^2.0.1" - -minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - -minipass-collect@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz" - integrity sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA== - dependencies: - minipass "^3.0.0" - -minipass-fetch@^1.3.2: - version "1.4.1" - resolved "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz" - integrity sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw== - dependencies: - minipass "^3.1.0" - minipass-sized "^1.0.3" - minizlib "^2.0.0" - optionalDependencies: - encoding "^0.1.12" - -minipass-flush@^1.0.5: - version "1.0.5" - resolved "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz" - integrity sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw== - dependencies: - minipass "^3.0.0" - -minipass-pipeline@^1.2.2, minipass-pipeline@^1.2.4: - version "1.2.4" - resolved "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz" - integrity sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A== - dependencies: - minipass "^3.0.0" - -minipass-sized@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz" - integrity sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g== - dependencies: - minipass "^3.0.0" - -minipass@^3.0.0, minipass@^3.1.0, minipass@^3.1.1, minipass@^3.1.3: - version "3.3.6" - resolved "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz" - integrity sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw== - dependencies: - yallist "^4.0.0" - -minipass@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz" - integrity sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ== - -minizlib@^2.0.0, minizlib@^2.1.1: - version "2.1.2" - resolved "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz" - integrity sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg== - dependencies: - minipass "^3.0.0" - yallist "^4.0.0" - -mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3: - version "0.5.3" - resolved "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - -mkdirp@^1.0.3, mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - -mlly@^1.2.0, mlly@^1.4.2: - version "1.6.0" - resolved "https://registry.npmjs.org/mlly/-/mlly-1.6.0.tgz" - integrity sha512-YOvg9hfYQmnaB56Yb+KrJE2u0Yzz5zR+sLejEvF4fzwzV1Al6hkf2vyHTwqCRyv0hCi9rVCqVoXpyYevQIRwLQ== - dependencies: - acorn "^8.11.3" - pathe "^1.1.2" - pkg-types "^1.0.3" - ufo "^1.3.2" - -moment@^2.30.1: - version "2.30.1" - resolved "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz" - integrity sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how== - -ms@^2.0.0, ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - -multi-fork@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/multi-fork/-/multi-fork-0.0.2.tgz" - integrity sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A== - -nanoid@^3.3.7: - version "3.3.7" - resolved "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz" - integrity sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g== - -napi-build-utils@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz" - integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg== - -natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - -negotiator@^0.6.2: - version "0.6.3" - resolved "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - -neo-async@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz" - integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== - -node-abi@^3.3.0, node-abi@^3.52.0: - version "3.55.0" - resolved "https://registry.npmjs.org/node-abi/-/node-abi-3.55.0.tgz" - integrity sha512-uPEjtyh2tFEvWYt4Jw7McOD5FPcHkcxm/tHZc5PWaDB3JYq0rGFUbgaAK+CT5pYpQddBfsZVWI08OwoRfdfbcQ== - dependencies: - semver "^7.3.5" - -node-addon-api@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz" - integrity sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g== - -node-fetch@^2.6.7: - version "2.7.0" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz" - integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== - dependencies: - whatwg-url "^5.0.0" - -node-gyp@8.x: - version "8.4.1" - resolved "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz" - integrity sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w== - dependencies: - env-paths "^2.2.0" - glob "^7.1.4" - graceful-fs "^4.2.6" - make-fetch-happen "^9.1.0" - nopt "^5.0.0" - npmlog "^6.0.0" - rimraf "^3.0.2" - semver "^7.3.5" - tar "^6.1.2" - which "^2.0.2" - -node-releases@^2.0.14: - version "2.0.14" - resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz" - integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== - -nopt@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz" - integrity sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ== - dependencies: - abbrev "1" - -npm-run-path@^5.1.0: - version "5.3.0" - resolved "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz" - integrity sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ== - dependencies: - path-key "^4.0.0" - -npmlog@^6.0.0: - version "6.0.2" - resolved "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz" - integrity sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg== - dependencies: - are-we-there-yet "^3.0.0" - console-control-strings "^1.1.0" - gauge "^4.0.3" - set-blocking "^2.0.0" - -obuf@^1.1.2, obuf@~1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz" - integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg== - -on-exit-leak-free@^2.1.0: - version "2.1.2" - resolved "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz" - integrity sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA== - -once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.npmjs.org/once/-/once-1.4.0.tgz" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - -onetime@^6.0.0: - version "6.0.0" - resolved "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz" - integrity sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ== - dependencies: - mimic-fn "^4.0.0" - -optionator@^0.9.3: - version "0.9.3" - resolved "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz" - integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== - 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" - -p-defer@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz" - integrity sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw== - -p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - -p-limit@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz" - integrity sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ== - dependencies: - yocto-queue "^1.0.0" - -p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - -p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - -packet-reader@1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz" - integrity sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ== - -parent-module@^1.0.0: - 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== - dependencies: - callsites "^3.0.0" - -path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - -path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - -path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - -path-key@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz" - integrity sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== - -path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - -path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - -pathe@^1.1.0, pathe@^1.1.1, pathe@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz" - integrity sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ== - -pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - -pg-cloudflare@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz" - integrity sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q== - -pg-connection-string@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz" - integrity sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA== - -pg-copy-streams-binary@^2.2.0: - version "2.2.0" - resolved "https://registry.npmjs.org/pg-copy-streams-binary/-/pg-copy-streams-binary-2.2.0.tgz" - integrity sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ== - dependencies: - bl "^4.0.3" - bufferput "^0.1.3" - ieee754 "^1.1.13" - int64-buffer "^0.99.1007" - multi-fork "0.0.2" - through2 "^3.0.1" - -pg-copy-streams@^6.0.2: - version "6.0.6" - resolved "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-6.0.6.tgz" - integrity sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ== - dependencies: - obuf "^1.1.2" - -pg-cursor@^2.10.3, pg-cursor@^2.7.3: - version "2.10.3" - resolved "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.10.3.tgz" - integrity sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ== - -pg-int8@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz" - integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw== - -pg-numeric@1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz" - integrity sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw== - -pg-pool@^3.6.1: - version "3.6.1" - resolved "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz" - integrity sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og== - -pg-protocol@*, pg-protocol@^1.5.0, pg-protocol@^1.6.0: - version "1.6.0" - resolved "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz" - integrity sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q== - -pg-query-stream@^4.5.3: - version "4.5.3" - resolved "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.5.3.tgz" - integrity sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA== - dependencies: - pg-cursor "^2.10.3" - -pg-types@^2.1.0: - version "2.2.0" - resolved "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz" - integrity sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA== - dependencies: - pg-int8 "1.0.1" - postgres-array "~2.0.0" - postgres-bytea "~1.0.0" - postgres-date "~1.0.4" - postgres-interval "^1.1.0" - -pg-types@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz" - integrity sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng== - dependencies: - pg-int8 "1.0.1" - pg-numeric "1.0.2" - postgres-array "~3.0.1" - postgres-bytea "~3.0.0" - postgres-date "~2.1.0" - postgres-interval "^3.0.0" - postgres-range "^1.1.1" - -pg@^8, pg@^8.11.3, pg@^8.7.3, pg@>=8.0: - version "8.11.3" - resolved "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz" - integrity sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g== - dependencies: - buffer-writer "2.0.0" - packet-reader "1.0.0" - pg-connection-string "^2.6.2" - pg-pool "^3.6.1" - pg-protocol "^1.6.0" - pg-types "^2.1.0" - pgpass "1.x" - optionalDependencies: - pg-cloudflare "^1.1.1" - -pgpass@1.x: - version "1.0.5" - resolved "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz" - integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug== - dependencies: - split2 "^4.1.0" - -picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - -picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - -pino-abstract-transport@^1.0.0, pino-abstract-transport@v1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz" - integrity sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA== - dependencies: - readable-stream "^4.0.0" - split2 "^4.0.0" - -pino-pretty@^10.3.1: - version "10.3.1" - resolved "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz" - integrity sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g== - dependencies: - colorette "^2.0.7" - dateformat "^4.6.3" - fast-copy "^3.0.0" - fast-safe-stringify "^2.1.1" - help-me "^5.0.0" - joycon "^3.1.1" - minimist "^1.2.6" - on-exit-leak-free "^2.1.0" - pino-abstract-transport "^1.0.0" - pump "^3.0.0" - readable-stream "^4.0.0" - secure-json-parse "^2.4.0" - sonic-boom "^3.0.0" - strip-json-comments "^3.1.1" - -pino-std-serializers@^6.0.0: - version "6.2.2" - resolved "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz" - integrity sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA== - -pino@^8.17.0, pino@^8.18.0: - version "8.19.0" - resolved "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz" - integrity sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.1.1" - on-exit-leak-free "^2.1.0" - pino-abstract-transport v1.1.0 - pino-std-serializers "^6.0.0" - process-warning "^3.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.2.0" - safe-stable-stringify "^2.3.1" - sonic-boom "^3.7.0" - thread-stream "^2.0.0" - -pkg-types@^1.0.3: - version "1.0.3" - resolved "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz" - integrity sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A== - dependencies: - jsonc-parser "^3.2.0" - mlly "^1.2.0" - pathe "^1.1.0" - -pony-cause@^2.1.4: - version "2.1.10" - resolved "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz" - integrity sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw== - -postcss@^8.4.35: - version "8.4.35" - resolved "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz" - integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA== - dependencies: - nanoid "^3.3.7" - picocolors "^1.0.0" - source-map-js "^1.0.2" - -postgres-array@^3.0.1, postgres-array@^3.0.2, postgres-array@~3.0.1: - version "3.0.2" - resolved "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz" - integrity sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog== - -postgres-array@~2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz" - integrity sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA== - -postgres-bytea@~1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz" - integrity sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w== - -postgres-bytea@~3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz" - integrity sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw== - dependencies: - obuf "~1.1.2" - -postgres-date@~1.0.4: - version "1.0.7" - resolved "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz" - integrity sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q== - -postgres-date@~2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz" - integrity sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA== - -postgres-interval@^1.1.0: - version "1.2.0" - resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz" - integrity sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ== - dependencies: - xtend "^4.0.0" - -postgres-interval@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz" - integrity sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw== - -postgres-interval@^4.0.0, postgres-interval@^4.0.1: - version "4.0.2" - resolved "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz" - integrity sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A== - -postgres-range@^1.1.1: - version "1.1.4" - resolved "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.4.tgz" - integrity sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w== - -prebuild-install@^7.1.1: - version "7.1.1" - resolved "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz" - integrity sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw== - dependencies: - detect-libc "^2.0.0" - expand-template "^2.0.3" - github-from-package "0.0.0" - minimist "^1.2.3" - mkdirp-classic "^0.5.3" - napi-build-utils "^1.0.1" - node-abi "^3.3.0" - pump "^3.0.0" - rc "^1.2.7" - simple-get "^4.0.0" - tar-fs "^2.0.0" - tunnel-agent "^0.6.0" - -prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - -prettier-eslint@16.2.0: - version "16.2.0" - resolved "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz" - integrity sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA== - dependencies: - "@typescript-eslint/parser" "^6.7.5" - common-tags "^1.4.0" - dlv "^1.1.0" - eslint "^8.7.0" - indent-string "^4.0.0" - lodash.merge "^4.6.0" - loglevel-colored-level-prefix "^1.0.0" - prettier "^3.0.1" - pretty-format "^29.7.0" - require-relative "^0.8.7" - typescript "^5.2.2" - vue-eslint-parser "^9.1.0" - -prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - -prettier@^3.0.1, prettier@>=3.0.0, prettier@3.2.4: - version "3.2.4" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz" - integrity sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ== - -prettier@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz" - integrity sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw== - -pretty-format@^29.7.0: - version "29.7.0" - resolved "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz" - integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== - dependencies: - "@jest/schemas" "^29.6.3" - ansi-styles "^5.0.0" - react-is "^18.0.0" - -process-warning@^2.0.0: - version "2.3.2" - resolved "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz" - integrity sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA== - -process-warning@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz" - integrity sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ== - -process@^0.11.10: - version "0.11.10" - resolved "https://registry.npmjs.org/process/-/process-0.11.10.tgz" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - -progress@^2.0.3: - version "2.0.3" - resolved "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -promise-inflight@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz" - integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g== - -promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - -proxy-addr@^2.0.7: - version "2.0.7" - resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - -proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - -pump@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - -punycode@^2.1.0: - version "2.3.1" - resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz" - integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg== - -queue-microtask@^1.2.2: - version "1.2.3" - resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - -quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - -randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - -rc@^1.2.7: - version "1.2.8" - resolved "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz" - integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== - dependencies: - deep-extend "^0.6.0" - ini "~1.3.0" - minimist "^1.2.0" - strip-json-comments "~2.0.1" - -react-is@^18.0.0: - version "18.2.0" - resolved "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz" - integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== - -readable-stream@^3.0.2: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.1.1: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.4.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^3.6.0: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@^4.0.0: - version "4.5.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz" - integrity sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g== - dependencies: - abort-controller "^3.0.0" - buffer "^6.0.3" - events "^3.3.0" - process "^0.11.10" - string_decoder "^1.3.0" - -"readable-stream@2 || 3": - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -readable-stream@3: - version "3.6.2" - resolved "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - -real-require@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz" - integrity sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg== - -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - -require-relative@^0.8.7: - version "0.8.7" - resolved "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz" - integrity sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg== - -requizzle@^0.2.3: - version "0.2.4" - resolved "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz" - integrity sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw== - dependencies: - lodash "^4.17.21" - -resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - -resolve-pkg-maps@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz" - integrity sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw== - -resolve@~1.22.1: - version "1.22.8" - resolved "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz" - integrity sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw== - dependencies: - is-core-module "^2.13.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - -ret@~0.2.0: - version "0.2.2" - resolved "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz" - integrity sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ== - -retry@^0.12.0: - version "0.12.0" - resolved "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - -reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - -rfdc@^1.2.0, rfdc@^1.3.0: - version "1.3.1" - resolved "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz" - integrity sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg== - -rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - -roarr@^7.11.0, roarr@^7.18.3: - version "7.21.0" - resolved "https://registry.npmjs.org/roarr/-/roarr-7.21.0.tgz" - integrity sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg== - dependencies: - fast-printf "^1.6.9" - safe-stable-stringify "^2.4.3" - semver-compare "^1.0.0" - -rollup@^4.2.0: - version "4.12.0" - resolved "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz" - integrity sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q== - dependencies: - "@types/estree" "1.0.5" - optionalDependencies: - "@rollup/rollup-android-arm-eabi" "4.12.0" - "@rollup/rollup-android-arm64" "4.12.0" - "@rollup/rollup-darwin-arm64" "4.12.0" - "@rollup/rollup-darwin-x64" "4.12.0" - "@rollup/rollup-linux-arm-gnueabihf" "4.12.0" - "@rollup/rollup-linux-arm64-gnu" "4.12.0" - "@rollup/rollup-linux-arm64-musl" "4.12.0" - "@rollup/rollup-linux-riscv64-gnu" "4.12.0" - "@rollup/rollup-linux-x64-gnu" "4.12.0" - "@rollup/rollup-linux-x64-musl" "4.12.0" - "@rollup/rollup-win32-arm64-msvc" "4.12.0" - "@rollup/rollup-win32-ia32-msvc" "4.12.0" - "@rollup/rollup-win32-x64-msvc" "4.12.0" - fsevents "~2.3.2" - -run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - -safe-regex2@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz" - integrity sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ== - dependencies: - ret "~0.2.0" - -safe-stable-stringify@^2.3.1, safe-stable-stringify@^2.4.3: - version "2.4.3" - resolved "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - -"safer-buffer@>= 2.1.2 < 3.0.0": - version "2.1.2" - resolved "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - -schema-utils@^3.1.1, schema-utils@^3.2.0: - version "3.3.0" - resolved "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz" - integrity sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg== - dependencies: - "@types/json-schema" "^7.0.8" - ajv "^6.12.5" - ajv-keywords "^3.5.2" - -secure-json-parse@^2.4.0, secure-json-parse@^2.7.0: - version "2.7.0" - resolved "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz" - integrity sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw== - -semver-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz" - integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow== - -semver@^7.3.4, semver@^7.3.5, semver@^7.3.6, semver@^7.5.3, semver@^7.5.4, semver@~7.5.4: - version "7.5.4" - resolved "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz" - integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== - dependencies: - lru-cache "^6.0.0" - -serialize-error@^8.0.0: - version "8.1.0" - resolved "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz" - integrity sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ== - dependencies: - type-fest "^0.20.2" - -serialize-javascript@^6.0.1: - version "6.0.2" - resolved "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz" - integrity sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g== - dependencies: - randombytes "^2.1.0" - -set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - -set-cookie-parser@^2.4.1: - version "2.6.0" - resolved "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz" - integrity sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ== - -setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - -shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - -shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - -short-unique-id@^5.0.3: - version "5.0.3" - resolved "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz" - integrity sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug== - -siginfo@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz" - integrity sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g== - -signal-exit@^3.0.7: - version "3.0.7" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - -signal-exit@^4.1.0: - version "4.1.0" - resolved "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz" - integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw== - -simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - -simple-get@^4.0.0: - version "4.0.1" - resolved "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz" - integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA== - dependencies: - decompress-response "^6.0.0" - once "^1.3.1" - simple-concat "^1.0.0" - -slash@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - -slonik@^37.2.0: - version "37.2.0" - resolved "https://registry.npmjs.org/slonik/-/slonik-37.2.0.tgz" - integrity sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w== - dependencies: - "@types/pg" "^8.10.7" - es6-error "^4.1.1" - get-stack-trace "^3.1.1" - iso8601-duration "^1.3.0" - pg "^8.11.3" - pg-protocol "^1.6.0" - pg-query-stream "^4.5.3" - pg-types "^4.0.1" - postgres-array "^3.0.2" - postgres-interval "^4.0.1" - roarr "^7.18.3" - safe-stable-stringify "^2.4.3" - serialize-error "^8.0.0" - -"slonik@27 - 29", slonik@29: - version "29.2.0" - resolved "https://registry.npmjs.org/slonik/-/slonik-29.2.0.tgz" - integrity sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A== - dependencies: - concat-stream "^2.0.0" - es6-error "^4.1.1" - fast-safe-stringify "^2.1.1" - get-stack-trace "^2.1.1" - hyperid "^2.3.1" - is-plain-object "^5.0.0" - iso8601-duration "^1.3.0" - p-defer "^3.0.0" - pg "^8.7.3" - pg-copy-streams "^6.0.2" - pg-copy-streams-binary "^2.2.0" - pg-cursor "^2.7.3" - pg-protocol "^1.5.0" - postgres-array "^3.0.1" - postgres-interval "^4.0.0" - roarr "^7.11.0" - serialize-error "^8.0.0" - through2 "^4.0.2" - -smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - -socks-proxy-agent@^6.0.0: - version "6.2.1" - resolved "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz" - integrity sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ== - dependencies: - agent-base "^6.0.2" - debug "^4.3.3" - socks "^2.6.2" - -socks@^2.6.2: - version "2.8.1" - resolved "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz" - integrity sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ== - dependencies: - ip-address "^9.0.5" - smart-buffer "^4.2.0" - -sonic-boom@^3.0.0, sonic-boom@^3.7.0: - version "3.8.0" - resolved "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz" - integrity sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA== - dependencies: - atomic-sleep "^1.0.0" - -source-map-js@^1.0.2: - version "1.0.2" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz" - integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== - -source-map-support@~0.5.20: - version "0.5.21" - resolved "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - -source-map@^0.6.0, source-map@^0.6.1: - version "0.6.1" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - -source-map@^0.7.4: - version "0.7.4" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - -source-map@^0.8.0-beta.0: - version "0.8.0-beta.0" - resolved "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz" - integrity sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA== - dependencies: - whatwg-url "^7.0.0" - -split2@^4.0.0, split2@^4.1.0: - version "4.2.0" - resolved "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz" - integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg== - -sprintf-js@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz" - integrity sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA== - -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - -sqlite3@^5.1.7: - version "5.1.7" - resolved "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz" - integrity sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog== - dependencies: - bindings "^1.5.0" - node-addon-api "^7.0.0" - prebuild-install "^7.1.1" - tar "^6.1.11" - optionalDependencies: - node-gyp "8.x" - -ssri@^8.0.0, ssri@^8.0.1: - version "8.0.1" - resolved "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz" - integrity sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ== - dependencies: - minipass "^3.1.1" - -stackback@0.0.2: - version "0.0.2" - resolved "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz" - integrity sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw== - -stacktrace-parser@^0.1.10: - version "0.1.10" - resolved "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - -statuses@2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - -std-env@^3.5.0: - version "3.7.0" - resolved "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz" - integrity sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg== - -string_decoder@^1.1.1, string_decoder@^1.3.0: - version "1.3.0" - resolved "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string-argv@~0.3.1: - version "0.3.2" - resolved "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz" - integrity sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q== - -"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -strip-ansi@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - -strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-final-newline@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz" - integrity sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw== - -strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - -strip-json-comments@~2.0.1: - version "2.0.1" - resolved "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz" - integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== - -strip-literal@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz" - integrity sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA== - dependencies: - js-tokens "^8.0.2" - -supports-color@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz" - integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g== - -supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - -supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - -supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - -synckit@^0.8.6: - version "0.8.8" - resolved "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz" - integrity sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ== - dependencies: - "@pkgr/core" "^0.1.0" - tslib "^2.6.2" - -tapable@^2.1.1, tapable@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz" - integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== - -tar-fs@^2.0.0: - version "2.1.1" - resolved "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - -tar@^6.0.2, tar@^6.1.11, tar@^6.1.2: - version "6.2.0" - resolved "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz" - integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^5.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -terser-webpack-plugin@^5.3.10: - version "5.3.10" - resolved "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz" - integrity sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w== - dependencies: - "@jridgewell/trace-mapping" "^0.3.20" - jest-worker "^27.4.5" - schema-utils "^3.1.1" - serialize-javascript "^6.0.1" - terser "^5.26.0" - -terser@^5.26.0, terser@^5.4.0: - version "5.28.0" - resolved "https://registry.npmjs.org/terser/-/terser-5.28.0.tgz" - integrity sha512-UK1n2JZN6gqfwmjzcikRp+uF/7jdwPXO7M0k/Hnqxzj3T5POL4YBVrv5Y4MKixTzBq4OmH7FfEYRxcy/Eh7YhA== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -test-exclude@^6.0.0: - 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== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - -text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - -thread-stream@^2.0.0: - version "2.4.1" - resolved "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz" - integrity sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg== - dependencies: - real-require "^0.2.0" - -through2@^3.0.1: - version "3.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - -through2@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz" - integrity sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw== - dependencies: - readable-stream "3" - -tinybench@^2.5.1: - version "2.6.0" - resolved "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz" - integrity sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA== - -tinypool@^0.8.2: - version "0.8.2" - resolved "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz" - integrity sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ== - -tinyspy@^2.2.0: - version "2.2.1" - resolved "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz" - integrity sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A== - -to-fast-properties@^2.0.0: - 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== - -to-regex-range@^5.0.1: - 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== - dependencies: - is-number "^7.0.0" - -toad-cache@^3.3.0: - version "3.7.0" - resolved "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz" - integrity sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw== - -toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - -tr46@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz" - integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA== - dependencies: - punycode "^2.1.0" - -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - -ts-api-utils@^1.0.1: - version "1.2.1" - resolved "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz" - integrity sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA== - -ts-loader@^9.5.1: - version "9.5.1" - resolved "https://registry.npmjs.org/ts-loader/-/ts-loader-9.5.1.tgz" - integrity sha512-rNH3sK9kGZcH9dYzC7CewQm4NtxJTjSEVRJ2DyBZR7f8/wcta+iV44UPCXc5+nzDzivKtlzV6c9P4e+oFhDLYg== - dependencies: - chalk "^4.1.0" - enhanced-resolve "^5.0.0" - micromatch "^4.0.0" - semver "^7.3.4" - source-map "^0.7.4" - -ts-node@10.9.2: - version "10.9.2" - resolved "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz" - integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - -tslib@^2.6.2: - version "2.6.2" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz" - integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q== - -tsx@4.7.0: - version "4.7.0" - resolved "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz" - integrity sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg== - dependencies: - esbuild "~0.19.10" - get-tsconfig "^4.7.2" - optionalDependencies: - fsevents "~2.3.3" - -tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - -type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - -type-detect@^4.0.0, type-detect@^4.0.8: - 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== - -type-fest@^0.20.2: - 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== - -type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - -type-fest@^4.0.0: - version "4.10.3" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz" - integrity sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA== - -type-is@^1.6.18: - version "1.6.18" - resolved "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - -typedarray@^0.0.6: - version "0.0.6" - resolved "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" - integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA== - -typescript-eslint-language-service@^5.0.5: - version "5.0.5" - resolved "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz" - integrity sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw== - -typescript@*, typescript@^5.2.2, typescript@^5.3.3, "typescript@>= 4.0.0", typescript@>=2.7, typescript@>=4.2.0: - version "5.3.3" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz" - integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw== - -uc.micro@^1.0.1, uc.micro@^1.0.5: - version "1.0.6" - resolved "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz" - integrity sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA== - -ufo@^1.3.2: - version "1.4.0" - resolved "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz" - integrity sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ== - -umzug@^3.1.1: - version "3.7.0" - resolved "https://registry.npmjs.org/umzug/-/umzug-3.7.0.tgz" - integrity sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q== - dependencies: - "@rushstack/ts-command-line" "^4.12.2" - emittery "^0.13.0" - glob "^8.0.3" - pony-cause "^2.1.4" - type-fest "^4.0.0" - -underscore@~1.13.2: - version "1.13.6" - resolved "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz" - integrity sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A== - -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - -unique-filename@^1.1.1: - version "1.1.1" - resolved "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz" - integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ== - dependencies: - unique-slug "^2.0.0" - -unique-slug@^2.0.0: - version "2.0.2" - resolved "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz" - integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w== - dependencies: - imurmurhash "^0.1.4" - -universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - -update-browserslist-db@^1.0.13: - version "1.0.13" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz" - integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - -uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - -util-deprecate@^1.0.1: - version "1.0.2" - resolved "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - -uuid-parse@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz" - integrity sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A== - -uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - -v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - -v8-to-istanbul@^9.2.0: - version "9.2.0" - resolved "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz" - integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== - dependencies: - "@jridgewell/trace-mapping" "^0.3.12" - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^2.0.0" - -validator@^13.7.0: - version "13.11.0" - resolved "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz" - integrity sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ== - -vary@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - -vite-node@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz" - integrity sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng== - dependencies: - cac "^6.7.14" - debug "^4.3.4" - pathe "^1.1.1" - picocolors "^1.0.0" - vite "^5.0.0" - -vite@^5.0.0: - version "5.1.4" - resolved "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz" - integrity sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg== - dependencies: - esbuild "^0.19.3" - postcss "^8.4.35" - rollup "^4.2.0" - optionalDependencies: - fsevents "~2.3.3" - -vitest@^1.1.1, vitest@^1.2.2, vitest@1.3.1: - version "1.3.1" - resolved "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz" - integrity sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ== - dependencies: - "@vitest/expect" "1.3.1" - "@vitest/runner" "1.3.1" - "@vitest/snapshot" "1.3.1" - "@vitest/spy" "1.3.1" - "@vitest/utils" "1.3.1" - acorn-walk "^8.3.2" - chai "^4.3.10" - debug "^4.3.4" - execa "^8.0.1" - local-pkg "^0.5.0" - magic-string "^0.30.5" - pathe "^1.1.1" - picocolors "^1.0.0" - std-env "^3.5.0" - strip-literal "^2.0.0" - tinybench "^2.5.1" - tinypool "^0.8.2" - vite "^5.0.0" - vite-node "1.3.1" - why-is-node-running "^2.2.2" - -vue-eslint-parser@^9.1.0: - version "9.4.2" - resolved "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz" - integrity sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ== - dependencies: - debug "^4.3.4" - eslint-scope "^7.1.1" - eslint-visitor-keys "^3.3.0" - espree "^9.3.1" - esquery "^1.4.0" - lodash "^4.17.21" - semver "^7.3.6" - -watchpack@^2.4.0: - version "2.4.0" - resolved "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz" - integrity sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg== - dependencies: - glob-to-regexp "^0.4.1" - graceful-fs "^4.1.2" - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - -webidl-conversions@^4.0.2: - version "4.0.2" - resolved "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz" - integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg== - -webpack-sources@^3.2.3: - version "3.2.3" - resolved "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz" - integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w== - -webpack@^5.0.0, webpack@^5.1.0: - version "5.90.3" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz" - integrity sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA== - dependencies: - "@types/eslint-scope" "^3.7.3" - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.11.5" - "@webassemblyjs/wasm-edit" "^1.11.5" - "@webassemblyjs/wasm-parser" "^1.11.5" - acorn "^8.7.1" - acorn-import-assertions "^1.9.0" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.15.0" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.9" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.0" - webpack-sources "^3.2.3" - -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - -whatwg-url@^7.0.0: - version "7.1.0" - resolved "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz" - integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg== - dependencies: - lodash.sortby "^4.7.0" - tr46 "^1.0.1" - webidl-conversions "^4.0.2" - -which@^2.0.1, which@^2.0.2: - version "2.0.2" - resolved "https://registry.npmjs.org/which/-/which-2.0.2.tgz" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - -why-is-node-running@^2.2.2: - version "2.2.2" - resolved "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz" - integrity sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA== - dependencies: - siginfo "^2.0.0" - stackback "0.0.2" - -wide-align@^1.1.5: - version "1.1.5" - resolved "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz" - integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg== - dependencies: - string-width "^1.0.2 || 2 || 3 || 4" - -wrappy@1: - version "1.0.2" - resolved "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - -xmlcreate@^2.0.4: - version "2.0.4" - resolved "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz" - integrity sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg== - -xtend@^4.0.0: - version "4.0.2" - resolved "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - -yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - -yn@3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - -yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - -yocto-queue@^1.0.0: - version "1.0.0" - resolved "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz" - integrity sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g== - -z-schema@~5.0.2: - version "5.0.5" - resolved "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz" - integrity sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q== - dependencies: - lodash.get "^4.4.2" - lodash.isequal "^4.5.0" - validator "^13.7.0" - optionalDependencies: - commander "^9.4.1" - -zod@^3, zod@^3.22.4: - version "3.22.4" - resolved "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz" - integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== From 1c57be2b630d2b7c14952b7727f52aaa15eea96a Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 13:15:49 -0500 Subject: [PATCH 091/452] Remove unused imports --- .../src/messageHandlers/_getCompleteVehicleInfo.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index b9b0d00ef..ef33759fd 100644 --- a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -2,18 +2,15 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; import { OldServerMessage } from "../../../shared/messageFactory.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../handlers.js"; -import { GenericReplyMessage } from "../GenericReplyMessage.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; import { log } from "../../../shared/log.js"; import { createSqlTag, - slonik, z, } from "../../../database/src/services/database.js"; import { getVehiclePartTree } from "../../../database/src/cache.js"; import { TPart } from "../../../database/src/models/Part.js"; import { - buildVehiclePartTree, buildVehiclePartTreeFromDB, } from "../../../database/src/models/VehiclePartTree.js"; From 28d575ab842a762012270d1b8c7e11b68e95924b Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 13:16:01 -0500 Subject: [PATCH 092/452] File was added in error --- docker | 3544 -------------------------------------------------------- 1 file changed, 3544 deletions(-) delete mode 100644 docker diff --git a/docker b/docker deleted file mode 100644 index ed6a5026b..000000000 --- a/docker +++ /dev/null @@ -1,3544 +0,0 @@ - - - - - nginx_1.9.8.tar : Free Download, Borrow, and Streaming : Internet Archive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to main content - - -
-
- -
-
- - - - - - - - - - - -
- - - - -
-
-
-
- - - - - - - -
-
-
-
-
-
- - - - - - - - - - - -
-
- - - -
- - - -
-
- - - -
-
- - - - - - -

- nginx_1.9.8.tar

-

- Item Preview -

- -
- -
-
-
- -
- - - -
-
-

- There Is No Preview Available For This Item -

-

- - This item does not appear to have any files that can be experienced on Archive.org. -

- Show all files -

-
-
-
-
- - -
-
-
-
-
-
-
-
-
-
-
-
- -
- -
-
- -
-
-
-
- -
-
- -
-
-

- - - 1 - - View

- -

- 1 - Favorite -

- -
- -
-

- DOWNLOAD OPTIONS -

- - - - - - -
- -
-
-

IN COLLECTIONS

- - Community Software - -
-
- -
-

- Uploaded by - - Drazi Crendraven - - on -

-
-
-
-
-
-
-
-
-

SIMILAR ITEMS (based on metadata)

- -
-
-
- -
-
- -
-
- - - - - - - - - - \ No newline at end of file From e6dd5395f15b857bc6bc946c06ffa820326d0661 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 13:18:02 -0500 Subject: [PATCH 093/452] Remove file chcked into repo in error --- .gitignore | 1 + migrate.js | 12 ------------ 2 files changed, 1 insertion(+), 12 deletions(-) delete mode 100644 migrate.js diff --git a/.gitignore b/.gitignore index 450b04c6e..3031ef4d1 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,4 @@ dist *junit.xml rm.session.sql node_modules +migrate.js diff --git a/migrate.js b/migrate.js deleted file mode 100644 index e5492f2cc..000000000 --- a/migrate.js +++ /dev/null @@ -1,12 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -var migrator_1 = require("@slonik/migrator"); -var database_js_1 = require("./thebeast/packages/database/src/services/database.js"); -var migrator = new migrator_1.SlonikMigrator({ - migrationsPath: "migrations", - migrationTableName: "migration", - // @ts-ignore We know this works - slonik: database_js_1.slonik, - logger: migrator_1.SlonikMigrator.prettyLogger, -}); -migrator.runAsCLI(); From 46f34f8d49d0723f0b96b048e3a838f779322c74 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 13:19:02 -0500 Subject: [PATCH 094/452] Remove file chcked into repo in error --- .gitignore | 1 + nginx_1.9.8.tar | 3544 ----------------------------------------------- 2 files changed, 1 insertion(+), 3544 deletions(-) delete mode 100644 nginx_1.9.8.tar diff --git a/.gitignore b/.gitignore index 3031ef4d1..e7ad07188 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,4 @@ dist rm.session.sql node_modules migrate.js +*.tar diff --git a/nginx_1.9.8.tar b/nginx_1.9.8.tar deleted file mode 100644 index ed6a5026b..000000000 --- a/nginx_1.9.8.tar +++ /dev/null @@ -1,3544 +0,0 @@ - - - - - nginx_1.9.8.tar : Free Download, Borrow, and Streaming : Internet Archive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Skip to main content - - -
-
- -
-
- - - - - - - - - - - -
- - - - -
-
-
-
- - - - - - - -
-
-
-
-
-
- - - - - - - - - - - -
-
- - - -
- - - -
-
- - - -
-
- - - - - - -

- nginx_1.9.8.tar

-

- Item Preview -

- -
- -
-
-
- -
- - - -
-
-

- There Is No Preview Available For This Item -

-

- - This item does not appear to have any files that can be experienced on Archive.org. -

- Show all files -

-
-
-
-
- - -
-
-
-
-
-
-
-
-
-
-
-
- -
- -
-
- -
-
-
-
- -
-
- -
-
-

- - - 1 - - View

- -

- 1 - Favorite -

- -
- -
-

- DOWNLOAD OPTIONS -

- - - - - - -
- -
-
-

IN COLLECTIONS

- - Community Software - -
-
- -
-

- Uploaded by - - Drazi Crendraven - - on -

-
-
-
-
-
-
-
-
-

SIMILAR ITEMS (based on metadata)

- -
-
-
- -
-
- -
-
- - - - - - - - - - \ No newline at end of file From 8bc646d065e9fd923a510b733b4b721e7efe0974 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 23 Feb 2024 13:23:31 -0500 Subject: [PATCH 095/452] Remove files checked into repo in error --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index e7ad07188..2b9587b5d 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ rm.session.sql node_modules migrate.js *.tar +packages/**/*.js From bf41dfe2b58c7b6f8e10889ed22e2683689fd920 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 18:58:38 -0500 Subject: [PATCH 096/452] Use configuation to load key Fixes RUSTY-MOTORS-SERVER-2 --- thebeast/lib/nps/messageProcessors/processUserLogin.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/thebeast/lib/nps/messageProcessors/processUserLogin.ts b/thebeast/lib/nps/messageProcessors/processUserLogin.ts index 5c193c715..61731b5ee 100644 --- a/thebeast/lib/nps/messageProcessors/processUserLogin.ts +++ b/thebeast/lib/nps/messageProcessors/processUserLogin.ts @@ -11,6 +11,7 @@ import { getAsHex, getLenString } from "../utils/pureGet.js"; import { UserStatus } from "../messageStructs/UserStatus.js"; import { UserAction } from "../messageStructs/UserAction.js"; import { log } from "../../../packages/shared/log.js"; +import { getServerConfiguration } from "../../../packages/shared/Configuration.js"; export function loadPrivateKey(path: string): string { const privateKey = fs.readFileSync(path); @@ -57,7 +58,7 @@ export function unpackUserLoginMessage(message: ISerializable): { .toString("utf8"); // Load the private key - const privateKey = loadPrivateKey("./data/private_key.pem"); + const privateKey = loadPrivateKey(getServerConfiguration({}).privateKeyFile); // Decrypt the session key const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); From 9415f2737d4bc3514d04159a945a08525bfca40f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:07:18 -0500 Subject: [PATCH 097/452] Add postgres service container --- .github/workflows/node.yml | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index b444c2ed2..dcd021e7a 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -6,10 +6,28 @@ on: env: MCO_LOG_LEVEL: warn + EXTERNAL_HOST: mcouniverse.com + PRIVATE_KEY_FILE: thebeast/data/private_key.pem + CERTIFICATE_FILE: thebeast/data/mcouniverse.crt + PUBLIC_KEY_FILE: thebeast/data/pub.key + NODE_ENV: production jobs: - build: + container-job: runs-on: ubuntu-latest + container: + image: node:21 + + services: + postgres: + image: postgres:latest + env: + POSTGRES_USER: user + POSTGRES_PASSWORD: password + POSTGRES_DB: rm + ports: + - 5432:5432 + options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 strategy: matrix: @@ -24,6 +42,16 @@ jobs: with: node-version: ${{ matrix.node-version }} + - name: Connect to PostgreSQL + # Runs a script that creates a PostgreSQL table, populates + # the table with data, and then retrieves the data. + run: npm tsc migrate.ts up + # Environment variables used by the `client.js` script to create a new PostgreSQL table. + env: + # The hostname used to communicate with the PostgreSQL service container + POSTGRES_HOST: postgres + # The default PostgreSQL port + POSTGRES_PORT: 5432 - name: Install and test run: | npm install-ci-test From 3d50aba5ffd574d7af15e0c69a693891a90c51f2 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:11:39 -0500 Subject: [PATCH 098/452] Drop stategy --- .github/workflows/node.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index dcd021e7a..91d5e04e9 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -29,10 +29,6 @@ jobs: - 5432:5432 options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - strategy: - matrix: - node-version: [18.x, 20.x, 21.x] - steps: - uses: actions/checkout@v4 with: From 77e00ece95334a4a76cb41b97960c2614de6f1dd Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:14:06 -0500 Subject: [PATCH 099/452] Revert "Drop stategy" This reverts commit 3d50aba5ffd574d7af15e0c69a693891a90c51f2. --- .github/workflows/node.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 91d5e04e9..dcd021e7a 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -29,6 +29,10 @@ jobs: - 5432:5432 options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 + strategy: + matrix: + node-version: [18.x, 20.x, 21.x] + steps: - uses: actions/checkout@v4 with: From e8b7db91b39bb68afe306f225b79f6bc92d9e8c7 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:16:02 -0500 Subject: [PATCH 100/452] Don't use node container --- .github/workflows/node.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index dcd021e7a..21451e809 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -15,8 +15,6 @@ env: jobs: container-job: runs-on: ubuntu-latest - container: - image: node:21 services: postgres: From b023f0d29a48c9edfe0f790fb74f879315c8d547 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:17:51 -0500 Subject: [PATCH 101/452] Fix indenting --- .github/workflows/node.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 21451e809..569723f9b 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -43,9 +43,9 @@ jobs: - name: Connect to PostgreSQL # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. - run: npm tsc migrate.ts up + run: npm tsc migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. - env: + env: # The hostname used to communicate with the PostgreSQL service container POSTGRES_HOST: postgres # The default PostgreSQL port From 275ab6e8595e62368b0ab861c344f381b93e2de0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:19:04 -0500 Subject: [PATCH 102/452] Change npm to npx --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 569723f9b..518fa01d3 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -43,7 +43,7 @@ jobs: - name: Connect to PostgreSQL # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. - run: npm tsc migrate.ts up + run: npx tsc migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: # The hostname used to communicate with the PostgreSQL service container From 9d336d50302fcc7b514c3c2fcd5d0a2b3ea9a06a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:21:22 -0500 Subject: [PATCH 103/452] Need to install typescript before we can use tsc --- .github/workflows/node.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 518fa01d3..aeb8612a0 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -43,7 +43,9 @@ jobs: - name: Connect to PostgreSQL # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. - run: npx tsc migrate.ts up + run: | + npm install + npx tsc migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: # The hostname used to communicate with the PostgreSQL service container From f110ce16ce18444661ee239ce6a109d9046b9bc9 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:25:18 -0500 Subject: [PATCH 104/452] Try not to run post install script --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index aeb8612a0..f543c1ec0 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -44,7 +44,7 @@ jobs: # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. run: | - npm install + npm install --ignore-scripts=true npx tsc migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: From ed500cbbbe7790f3dc9e9622383f770c3b114328 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:31:41 -0500 Subject: [PATCH 105/452] Correct type from tsc to tsx --- .github/workflows/node.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index f543c1ec0..2c2ecdab2 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -43,9 +43,7 @@ jobs: - name: Connect to PostgreSQL # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. - run: | - npm install --ignore-scripts=true - npx tsc migrate.ts up + run: npx tsx migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: # The hostname used to communicate with the PostgreSQL service container From 01a9e638b971d134c0a96658188eea9ebb088de8 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:33:33 -0500 Subject: [PATCH 106/452] Install first --- .github/workflows/node.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 2c2ecdab2..6cd083dba 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -43,7 +43,9 @@ jobs: - name: Connect to PostgreSQL # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. - run: npx tsx migrate.ts up + run: | + npm install --ignore-scripts=true && \ + npx tsx migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: # The hostname used to communicate with the PostgreSQL service container From 8d695060451dbfb754eb111a2d5e5acdb7f0efc2 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:42:00 -0500 Subject: [PATCH 107/452] Let's try moving the scripts then --- .github/workflows/node.yml | 2 +- package.json | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 6cd083dba..31f583f7c 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -44,7 +44,7 @@ jobs: # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. run: | - npm install --ignore-scripts=true && \ + npm install npx tsx migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: diff --git a/package.json b/package.json index 19fb9ad65..2afc57e31 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "scripts": { "lint": "eslint --fix . && prettier --write .", "build": "tsc", - "postinstall": "npm run build", + "pretest": "npm run build", + "prestart": "npm run build", "test": "node --openssl-legacy-provider node_modules/.bin/vitest run", "start": "node --openssl-legacy-provider --env-file=.env dist/thebeast/server.js" }, From f43f1716a210b053fed958e26b3458be9d98e401 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:44:17 -0500 Subject: [PATCH 108/452] Maybe all workspaces? --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 31f583f7c..10913b528 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -44,7 +44,7 @@ jobs: # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. run: | - npm install + npm install --workspaces npx tsx migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: From 57003d0ecad0cb07fd415c9af12df9af167bd7b6 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:47:50 -0500 Subject: [PATCH 109/452] Installing dev dependencies would help --- .github/workflows/node.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 10913b528..e522976a5 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -44,7 +44,7 @@ jobs: # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. run: | - npm install --workspaces + npm install npx tsx migrate.ts up # Environment variables used by the `client.js` script to create a new PostgreSQL table. env: @@ -52,6 +52,7 @@ jobs: POSTGRES_HOST: postgres # The default PostgreSQL port POSTGRES_PORT: 5432 + NODE_ENV: development - name: Install and test run: | npm install-ci-test From be56f5ebc5381146e00e94f30abec35b5b04f846 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 19:50:28 -0500 Subject: [PATCH 110/452] more dev dependencies needed --- .github/workflows/node.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index e522976a5..67fbeffd7 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -10,7 +10,6 @@ env: PRIVATE_KEY_FILE: thebeast/data/private_key.pem CERTIFICATE_FILE: thebeast/data/mcouniverse.crt PUBLIC_KEY_FILE: thebeast/data/pub.key - NODE_ENV: production jobs: container-job: @@ -40,7 +39,7 @@ jobs: with: node-version: ${{ matrix.node-version }} - - name: Connect to PostgreSQL + - name: Run PostgreSQL migrations # Runs a script that creates a PostgreSQL table, populates # the table with data, and then retrieves the data. run: | @@ -52,7 +51,6 @@ jobs: POSTGRES_HOST: postgres # The default PostgreSQL port POSTGRES_PORT: 5432 - NODE_ENV: development - name: Install and test run: | npm install-ci-test From bb21e935f58fea918749b06234cdb96d574e4c93 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 23 Feb 2024 20:22:16 -0500 Subject: [PATCH 111/452] Create Sentry realease workflow --- .github/workflows/main.yml | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 .github/workflows/main.yml diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 000000000..1a002fbf8 --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,31 @@ +name: Sentry Release + +on: + push: + branches: + - main + +jobs: + release-sentry: + runs-on: ubuntu:latest + steps: + + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + + - name: Install and Build + run: | + npm install + npm run build + + - name: Create Sentry release + uses: getsentry/action-release@v1 + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + # SENTRY_URL: https://sentry.io/ + with: + environment: production + sourcemaps: dist From 7715de4249bd02e617cb41c8d6db4f6920d4447c Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 23 Feb 2024 20:27:52 -0500 Subject: [PATCH 112/452] Fix runs-on --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 1a002fbf8..656b76986 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -7,7 +7,7 @@ on: jobs: release-sentry: - runs-on: ubuntu:latest + runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 From d223611696e26d7d683dec562454e8ce49ec2607 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 23 Feb 2024 21:29:02 -0500 Subject: [PATCH 113/452] Added Sentry logging for sql --- thebeast/packages/database/src/cache.ts | 13 + .../database/src/models/VehiclePartTree.ts | 132 ++++++++- .../packages/database/src/services/admin.ts | 251 ++++++++++++------ 3 files changed, 300 insertions(+), 96 deletions(-) diff --git a/thebeast/packages/database/src/cache.ts b/thebeast/packages/database/src/cache.ts index a321b1ae1..147621d5f 100644 --- a/thebeast/packages/database/src/cache.ts +++ b/thebeast/packages/database/src/cache.ts @@ -1,6 +1,7 @@ import { TBrand } from "./models/Brand.js"; import { VehiclePartTreeType } from "./models/VehiclePartTree.js"; import { createSqlTag, slonik, z } from "./services/database.js"; +import * as Sentry from "@sentry/node"; const brandCache = new Map(); @@ -65,11 +66,23 @@ export async function getBrand(brandName: string): Promise { return brandCache.get(brandName); } + return await Sentry.startSpan({ + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, + + + }, async (span) => { const brand = await slonik.one(sql.typeAlias("brand")` SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} `); brandCache.set(brandName, brand); return brand; + }); } const vehiclePartTreeCache = new Map(); diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts index 639da6d4e..219a132a5 100644 --- a/thebeast/packages/database/src/models/VehiclePartTree.ts +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -1,4 +1,5 @@ import { log } from "../../../shared/log.js"; +import * as Sentry from "@sentry/node"; import { setVehiclePartTree } from "../cache.js"; import { DBPart } from "../services/admin.js"; import { createSqlTag, slonik, z } from "../services/database.js"; @@ -112,14 +113,38 @@ const sql = createSqlTag({ }); async function getNextPartId(): Promise { - const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` - SELECT nextval('part_partid_seq') - `); - return Number(nextval); + const result = await Sentry.startSpan({ + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, + + + }, async (span) => { + const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` + SELECT nextval('part_partid_seq') + `); + return Number(nextval); + }); + return result; } export async function savePart(part: TPart): Promise { - await slonik.query(sql.typeAlias("dbPart")` + await Sentry.startSpan({ + name: "Save part", + op: "db.query", + description: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + attributes: { + sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + db: "postgres", + }, + + + }, async (span) => { + return slonik.query(sql.typeAlias("dbPart")` INSERT INTO part ( partid, parentpartid, @@ -144,6 +169,7 @@ export async function savePart(part: TPart): Promise { ${part.scrapValue} ) `); + }); } export async function saveVehicle( @@ -177,7 +203,18 @@ export async function saveVehicle( log.debug(`Saving vehicle: ${JSON.stringify(newVehicle)}`); - await slonik.query(sql.typeAlias("vehicle")` + await Sentry.startSpan({ + name: "Save vehicle", + op: "db.query", + description: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + attributes: { + sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + db: "postgres", + }, + + + }, async (span) => { + return slonik.query(sql.typeAlias("vehicle")` INSERT INTO vehicle ( vehicleid, skinid, @@ -194,6 +231,7 @@ export async function saveVehicle( ${newVehicle.damageInfo} ) `); + }); } catch (error) { log.error(`Error saving vehicle: ${error}`); throw error; @@ -238,11 +276,21 @@ export async function saveVehiclePartTree( export async function buildVehiclePartTreeFromDB( vehicleId: number, ): Promise { - const vehicle = await slonik.one(sql.typeAlias("vehicle")` + const vehicle = await Sentry.startSpan({ + name: "Get vehicle", + op: "db.query", + description: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + attributes: { + sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + db: "postgres", + }, + }, async (span) => { + return slonik.one(sql.typeAlias("vehicle")` SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = ${vehicleId} `); + }); if (!vehicle) { log.error(`Vehicle with id ${vehicleId} does not exist`); @@ -275,11 +323,23 @@ export async function buildVehiclePartTreeFromDB( }; // Get first part - const part = await slonik.one(sql.typeAlias("part")` + const part = await Sentry.startSpan({ + name: "Get part", + op: "db.query", + description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + db: "postgres", + }, + + + }, async (span) => { + return slonik.one(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = ${vehicleId} `); + }); if (!part) { log.error(`Part with id ${vehicleId} does not exist`); @@ -289,11 +349,23 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.brandedPartId = part.brandedpartid; vehiclePartTree.ownerID = part.ownerid; - const level1Parts = await slonik.many(sql.typeAlias("part")` + const level1Parts = await Sentry.startSpan({ + name: "Get level 1 parts", + op: "db.query", + description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + db: "postgres", + }, + + + }, async (span) => { + return slonik.many(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = ${vehicleId} `); + }); if (level1Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no parts`); @@ -330,11 +402,23 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.partTree.level1.parts.push(newPart); } - const level2Parts = await slonik.many(sql.typeAlias("part")` + const level2Parts = await Sentry.startSpan({ + name: "Get level 2 parts", + op: "db.query", + description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + db: "postgres", + }, + + + }, async (span) => { + return slonik.many(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN (${sql.join(level1PartsIds, sql.fragment`, `)}) `); + }); if (level2Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no level 2 parts`); @@ -389,11 +473,23 @@ export async function buildVehiclePartTree({ throw new Error("ownedLotId or ownerID is required"); } - const skinFlags = await slonik.one(sql.typeAlias("ptSkin")` + const skinFlags = await Sentry.startSpan({ + name: "Get skin flags", + op: "db.query", + description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + attributes: { + sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + db: "postgres", + }, + + + }, async (span) => { + return slonik.one(sql.typeAlias("ptSkin")` SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} `); + }); if (!skinFlags) { log.error(`Skin with id ${skinId} does not exist`); @@ -403,7 +499,18 @@ export async function buildVehiclePartTree({ let vehicleId = undefined; // Get the vehicle assembly from the database - const vehicleAssembly = await slonik.many(sql.typeAlias("detailedPart")` + const vehicleAssembly = await Sentry.startSpan({ + name: "Get vehicle assembly", + op: "db.query", + description: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + attributes: { + sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + db: "postgres", + }, + + + }, async (span) => { + return slonik.many(sql.typeAlias("detailedPart")` SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid @@ -411,6 +518,7 @@ export async function buildVehiclePartTree({ inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = ${brandedPartId} `); + }); if (vehicleAssembly.length === 0) { log.error( diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts index e79dd1771..bf90feab8 100644 --- a/thebeast/packages/database/src/services/admin.ts +++ b/thebeast/packages/database/src/services/admin.ts @@ -1,17 +1,44 @@ import { DatabaseTransactionConnection } from "slonik"; import { slonik, createSqlTag, z } from "./database.js"; import { log } from "../../../shared/log.js"; +import * as Sentry from "@sentry/node"; async function playerExists(playerId: number): Promise { - return await slonik.exists(sql.typeAlias("id")` + return Sentry.startSpan( + { + name: "Get player", + op: "db.query", + description: "SELECT 1 FROM player WHERE playerid = ${playerId}", + attributes: { + sql: "SELECT 1 FROM player WHERE playerid = ${playerId}", + db: "postgres", + }, + }, + async (span) => { + return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM player WHERE playerid = ${playerId} `); + }, + ); } async function skinExists(skinId: number): Promise { - return await slonik.exists(sql.typeAlias("id")` + return Sentry.startSpan( + { + name: "skinExists", + op: "db.query", + description: "SELECT 1 FROM ptskin WHERE skinid = ${skinId}", + attributes: { + sql: "SELECT 1 FROM ptskin WHERE skinid = ${skinId}", + db: "postgres", + }, + }, + async (span) => { + return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM ptskin WHERE skinid = ${skinId} `); + }, + ); } const sql = createSqlTag({ @@ -61,14 +88,27 @@ const sql = createSqlTag({ async function getAbstractPartTypeIDForBrandedPartID( brandedPartId: number, ): Promise { - const abstractPartTypeId = await slonik.one(sql.typeAlias( - "abstractPartType", - )` + const abstractPartTypeId = await Sentry.startSpan( + { + name: "GetAbstractPartTypeIDForBrandedPartID", + op: "db.query", + description: + "SELECT pt.abstractparttypeid FROM brandedpart bp inner join parttype pt on bp.parttypeid = pt.parttypeid WHERE bp.brandedpartid = ${brandedPartId}", + attributes: { + sql: "SELECT pt.abstractparttypeid FROM brandedpart bp inner join parttype pt on bp.parttypeid = pt.parttypeid WHERE bp.brandedpartid = ${brandedPartId}", + db: "postgres", + }, + }, + async (span) => { + return slonik.one(sql.typeAlias("abstractPartType")` SELECT pt.abstractparttypeid FROM brandedpart bp inner join parttype pt on bp.parttypeid = pt.parttypeid WHERE bp.brandedpartid = ${brandedPartId} `); + }, + ); + if (!abstractPartTypeId) { log.error(`branded part with id ${brandedPartId} does not exist`); throw new Error(`branded part with id ${brandedPartId} does not exist`); @@ -127,12 +167,26 @@ export async function createNewCar( }); // Get the rest of the parts for the vehicle - const restOfTheParts = await slonik.many(sql.typeAlias("brandedPart")` + const restOfTheParts = await Sentry.startSpan( + { + name: "Get rest of the parts", + op: "db.query", + description: + "SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid where a.parentbrandedpartid = ${tmpParts[0].brandedPartId}", + attributes: { + sql: "SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid where a.parentbrandedpartid = ${tmpParts[0].brandedPartId}", + db: "postgres", + }, + }, + async (span) => { + return slonik.many(sql.typeAlias("brandedPart")` SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid where a.parentbrandedpartid = ${tmpParts[0].brandedPartId} `); + }, + ); for (const part of restOfTheParts) { tmpParts.push({ @@ -146,85 +200,101 @@ export async function createNewCar( try { let vehicleId = null; - await slonik.transaction(async (connection) => { - // First insert the new car into the vehicle table - - if (tmpParts.length === 0) { - log.error(`No parts found for the vehicle ${brandedPartId}`); - throw new Error("No parts found for the vehicle"); - } - - let parentPartId = null; - let currentPartId = await getNextSq("part_partid_seq"); - - // Make sure the first part's branded part id is not null - if (tmpParts[0].brandedPartId === null) { - log.error("The first part's branded part id is null"); - throw new Error("The first part's branded part id is null"); - } - - // Get the first part's abstract part type id - const firstPartAbstractPartTypeId = - await getAbstractPartTypeIDForBrandedPartID( - tmpParts[0].brandedPartId, - ); - - if (firstPartAbstractPartTypeId !== 101) { - throw new Error("The first part is not a vehicle"); - } - - // Get the skin record for the new car - const skinDefaultFlag = ( - await connection.one(sql.typeAlias("ptSkin")` + await Sentry.startSpan( + { + name: "Create new car", + op: "db.transaction", + description: "Create new car", + attributes: { + db: "postgres", + }, + }, + async (span) => { + slonik.transaction(async (connection) => { + // First insert the new car into the vehicle table + + if (tmpParts.length === 0) { + log.error( + `No parts found for the vehicle ${brandedPartId}`, + ); + throw new Error("No parts found for the vehicle"); + } + + let parentPartId = null; + let currentPartId = await getNextSq("part_partid_seq"); + + // Make sure the first part's branded part id is not null + if (tmpParts[0].brandedPartId === null) { + log.error("The first part's branded part id is null"); + throw new Error( + "The first part's branded part id is null", + ); + } + + // Get the first part's abstract part type id + const firstPartAbstractPartTypeId = + await getAbstractPartTypeIDForBrandedPartID( + tmpParts[0].brandedPartId, + ); + + if (firstPartAbstractPartTypeId !== 101) { + throw new Error("The first part is not a vehicle"); + } + + // Get the skin record for the new car + const skinDefaultFlag = ( + await connection.one(sql.typeAlias("ptSkin")` SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} `) - ).defaultflag; - - // The first part will have a parentpartid of 0, and a partid of nextval(next_part_id) - await addPart( - connection, - currentPartId, - parentPartId, - tmpParts[0], - newCarOwnerId, - ); - - // Insert the vehicle record - try { - await connection.query(sql.typeAlias("brandedPart")` + ).defaultflag; + + // The first part will have a parentpartid of 0, and a partid of nextval(next_part_id) + await addPart( + connection, + currentPartId, + parentPartId, + tmpParts[0], + newCarOwnerId, + ); + + // Insert the vehicle record + try { + await connection.query(sql.typeAlias("brandedPart")` INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES (${currentPartId}, ${skinId}, ${skinDefaultFlag}, 0, 0, null) `); - } catch (error) { - console.error("Error adding vehicle: " + error); - throw new Error("Error adding vehicle: " + error); - } - - vehicleId = currentPartId; - - tmpParts[0].partId = currentPartId; - tmpParts[0].parentPartId = parentPartId; - - // Now insert the rest of the parts - for (let i = 1; i < tmpParts.length; i++) { - parentPartId = currentPartId; - currentPartId = await getNextSq("part_partid_seq"); - console.log("currentPartId"); - console.dir(currentPartId); - - await addPart( - connection, - currentPartId, - parentPartId, - tmpParts[i], - newCarOwnerId, - ); - - // Update the partid of the part in the tmpParts array - tmpParts[i].partId = currentPartId; - tmpParts[i].parentPartId = parentPartId; - } - }); + } catch (error) { + console.error("Error adding vehicle: " + error); + throw new Error("Error adding vehicle: " + error); + } + + vehicleId = currentPartId; + + tmpParts[0].partId = currentPartId; + tmpParts[0].parentPartId = parentPartId; + + // Now insert the rest of the parts + for (let i = 1; i < tmpParts.length; i++) { + parentPartId = currentPartId; + currentPartId = await getNextSq("part_partid_seq"); + console.log("currentPartId"); + console.dir(currentPartId); + + await addPart( + connection, + currentPartId, + parentPartId, + tmpParts[i], + newCarOwnerId, + ); + + // Update the partid of the part in the tmpParts array + tmpParts[i].partId = currentPartId; + tmpParts[i].parentPartId = parentPartId; + } + }); + }, + ); if (vehicleId === null) { log.error("vehicleId is null"); @@ -296,11 +366,24 @@ async function getPart( } async function getNextSq(seqName: string) { - return Number( - ( - await slonik.one(sql.typeAlias("nextPartId")` + return await Sentry.startSpan( + { + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, + }, + async (span) => { + return Number( + ( + await slonik.one(sql.typeAlias("nextPartId")` SELECT nextval(${seqName}) `) - ).nextval, + ).nextval, + ); + }, ); } From 9bec20b701e892ec285e6473f6ec8ddf447ec147 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 24 Feb 2024 12:14:43 -0500 Subject: [PATCH 114/452] Fix SQL --- .github/workflows/node.yml | 10 +- .gitignore | 1 + .pnp.cjs | 14537 ---------------- .pnp.loader.mjs | 2076 --- .yarn/sdks/integrations.yml | 5 - .yarn/sdks/prettier/bin/prettier.cjs | 20 - .yarn/sdks/prettier/index.cjs | 20 - .yarn/sdks/prettier/package.json | 7 - .yarn/sdks/typescript/bin/tsc | 20 - .yarn/sdks/typescript/bin/tsserver | 20 - .yarn/sdks/typescript/lib/tsc.js | 20 - .yarn/sdks/typescript/lib/tsserver.js | 225 - .yarn/sdks/typescript/lib/tsserverlibrary.js | 225 - .yarn/sdks/typescript/lib/typescript.js | 20 - .yarn/sdks/typescript/package.json | 10 - .yarnrc.yml | 1 + data/mcouniverse.cnf | 21 + data/mcouniverse.crt | 17 + data/private_key.pem | 16 + data/pub.key | 1 + package-lock.json | 6092 +++++++ package.json | 6 +- .../lib/nps/messageStructs/MiniUserList.ts | 1 - thebeast/package.json | 4 +- yarn.lock | 6010 ------- 25 files changed, 6157 insertions(+), 23228 deletions(-) delete mode 100755 .pnp.cjs delete mode 100644 .pnp.loader.mjs delete mode 100644 .yarn/sdks/integrations.yml delete mode 100755 .yarn/sdks/prettier/bin/prettier.cjs delete mode 100644 .yarn/sdks/prettier/index.cjs delete mode 100644 .yarn/sdks/prettier/package.json delete mode 100755 .yarn/sdks/typescript/bin/tsc delete mode 100755 .yarn/sdks/typescript/bin/tsserver delete mode 100644 .yarn/sdks/typescript/lib/tsc.js delete mode 100644 .yarn/sdks/typescript/lib/tsserver.js delete mode 100644 .yarn/sdks/typescript/lib/tsserverlibrary.js delete mode 100644 .yarn/sdks/typescript/lib/typescript.js delete mode 100644 .yarn/sdks/typescript/package.json create mode 100644 .yarnrc.yml create mode 100644 data/mcouniverse.cnf create mode 100644 data/mcouniverse.crt create mode 100644 data/private_key.pem create mode 100644 data/pub.key create mode 100644 package-lock.json delete mode 100644 yarn.lock diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 5eb17e8c5..8ca1dfe03 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -20,17 +20,13 @@ jobs: with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v3 + uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - name: Enable Corepack and set version to stable - run: | - corepack enable - yarn set version stable - name: Install and test thebeast workspace run: | - yarn workspace @rusty-motors/thebeast install - yarn workspace @rusty-motors/thebeast test + npm install + npm test - name: Codecov env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} diff --git a/.gitignore b/.gitignore index 7a7b427e5..42a8d1919 100644 --- a/.gitignore +++ b/.gitignore @@ -14,3 +14,4 @@ coverage dist *junit.xml rm.session.sql +node_modules diff --git a/.pnp.cjs b/.pnp.cjs deleted file mode 100755 index e32f5ed63..000000000 --- a/.pnp.cjs +++ /dev/null @@ -1,14537 +0,0 @@ -#!/usr/bin/env node -/* eslint-disable */ -"use strict"; - -const RAW_RUNTIME_STATE = -'{\ - "__info": [\ - "This file is automatically generated. Do not touch it, or risk",\ - "your modifications being lost."\ - ],\ - "dependencyTreeRoots": [\ - {\ - "name": "rusty-motors",\ - "reference": "workspace:."\ - },\ - {\ - "name": "@rusty-motors/thebeast",\ - "reference": "workspace:thebeast"\ - }\ - ],\ - "enableTopLevelFallback": true,\ - "ignorePatternData": "(^(?:\\\\.yarn\\\\/sdks(?:\\\\/(?!\\\\.{1,2}(?:\\\\/|$))(?:(?:(?!(?:^|\\\\/)\\\\.{1,2}(?:\\\\/|$)).)*?)|$))$)",\ - "fallbackExclusionList": [\ - ["@rusty-motors/thebeast", ["workspace:thebeast"]],\ - ["rusty-motors", ["workspace:."]]\ - ],\ - "fallbackPool": [\ - ],\ - "packageRegistryData": [\ - [null, [\ - [null, {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@types/node", "npm:20.11.16"],\ - ["prettier", "npm:3.2.4"],\ - ["slonik", "npm:29.2.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@aashutoshrathi/word-wrap", [\ - ["npm:1.2.6", {\ - "packageLocation": "../.yarn/berry/cache/@aashutoshrathi-word-wrap-npm-1.2.6-5b1d95e487-10c0.zip/node_modules/@aashutoshrathi/word-wrap/",\ - "packageDependencies": [\ - ["@aashutoshrathi/word-wrap", "npm:1.2.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@ampproject/remapping", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/@ampproject-remapping-npm-2.2.1-3da3d624be-10c0.zip/node_modules/@ampproject/remapping/",\ - "packageDependencies": [\ - ["@ampproject/remapping", "npm:2.2.1"],\ - ["@jridgewell/gen-mapping", "npm:0.3.3"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-string-parser", [\ - ["npm:7.23.4", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-string-parser-npm-7.23.4-b1f0d030c3-10c0.zip/node_modules/@babel/helper-string-parser/",\ - "packageDependencies": [\ - ["@babel/helper-string-parser", "npm:7.23.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/helper-validator-identifier", [\ - ["npm:7.22.20", {\ - "packageLocation": "../.yarn/berry/cache/@babel-helper-validator-identifier-npm-7.22.20-18305bb306-10c0.zip/node_modules/@babel/helper-validator-identifier/",\ - "packageDependencies": [\ - ["@babel/helper-validator-identifier", "npm:7.22.20"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/parser", [\ - ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-parser-npm-7.23.9-720a0b56cb-10c0.zip/node_modules/@babel/parser/",\ - "packageDependencies": [\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@babel/types", [\ - ["npm:7.23.9", {\ - "packageLocation": "../.yarn/berry/cache/@babel-types-npm-7.23.9-c32aeb5f36-10c0.zip/node_modules/@babel/types/",\ - "packageDependencies": [\ - ["@babel/types", "npm:7.23.9"],\ - ["@babel/helper-string-parser", "npm:7.23.4"],\ - ["@babel/helper-validator-identifier", "npm:7.22.20"],\ - ["to-fast-properties", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@bcoe/v8-coverage", [\ - ["npm:0.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@bcoe-v8-coverage-npm-0.2.3-9e27b3c57e-10c0.zip/node_modules/@bcoe/v8-coverage/",\ - "packageDependencies": [\ - ["@bcoe/v8-coverage", "npm:0.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@cspotcode/source-map-support", [\ - ["npm:0.8.1", {\ - "packageLocation": "../.yarn/berry/cache/@cspotcode-source-map-support-npm-0.8.1-964f2de99d-10c0.zip/node_modules/@cspotcode/source-map-support/",\ - "packageDependencies": [\ - ["@cspotcode/source-map-support", "npm:0.8.1"],\ - ["@jridgewell/trace-mapping", "npm:0.3.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/aix-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-aix-ppc64-npm-0.19.12-20acbc4c27/node_modules/@esbuild/aix-ppc64/",\ - "packageDependencies": [\ - ["@esbuild/aix-ppc64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm-npm-0.19.12-007d87d00d/node_modules/@esbuild/android-arm/",\ - "packageDependencies": [\ - ["@esbuild/android-arm", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-arm64-npm-0.19.12-639e34c5cb/node_modules/@esbuild/android-arm64/",\ - "packageDependencies": [\ - ["@esbuild/android-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/android-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-android-x64-npm-0.19.12-eb12dd0e96/node_modules/@esbuild/android-x64/",\ - "packageDependencies": [\ - ["@esbuild/android-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/darwin-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-arm64-npm-0.19.12-09699ac6cb/node_modules/@esbuild/darwin-arm64/",\ - "packageDependencies": [\ - ["@esbuild/darwin-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/darwin-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-darwin-x64-npm-0.19.12-b0a4fc6ed4/node_modules/@esbuild/darwin-x64/",\ - "packageDependencies": [\ - ["@esbuild/darwin-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/freebsd-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-arm64-npm-0.19.12-72d17754c1/node_modules/@esbuild/freebsd-arm64/",\ - "packageDependencies": [\ - ["@esbuild/freebsd-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/freebsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-freebsd-x64-npm-0.19.12-205ae522fa/node_modules/@esbuild/freebsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/freebsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-arm", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm-npm-0.19.12-7ca68cf68c/node_modules/@esbuild/linux-arm/",\ - "packageDependencies": [\ - ["@esbuild/linux-arm", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-arm64-npm-0.19.12-8892c62251/node_modules/@esbuild/linux-arm64/",\ - "packageDependencies": [\ - ["@esbuild/linux-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ia32-npm-0.19.12-268f0311c2/node_modules/@esbuild/linux-ia32/",\ - "packageDependencies": [\ - ["@esbuild/linux-ia32", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-loong64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-loong64-npm-0.19.12-45095084a9/node_modules/@esbuild/linux-loong64/",\ - "packageDependencies": [\ - ["@esbuild/linux-loong64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-mips64el", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-mips64el-npm-0.19.12-c44a0dd39c/node_modules/@esbuild/linux-mips64el/",\ - "packageDependencies": [\ - ["@esbuild/linux-mips64el", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-ppc64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-ppc64-npm-0.19.12-cd007087a2/node_modules/@esbuild/linux-ppc64/",\ - "packageDependencies": [\ - ["@esbuild/linux-ppc64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-riscv64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-riscv64-npm-0.19.12-0f130d0d2f/node_modules/@esbuild/linux-riscv64/",\ - "packageDependencies": [\ - ["@esbuild/linux-riscv64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-s390x", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-s390x-npm-0.19.12-037101307a/node_modules/@esbuild/linux-s390x/",\ - "packageDependencies": [\ - ["@esbuild/linux-s390x", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/linux-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-linux-x64-npm-0.19.12-59062fdb38/node_modules/@esbuild/linux-x64/",\ - "packageDependencies": [\ - ["@esbuild/linux-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/netbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-netbsd-x64-npm-0.19.12-1fdaf59d1d/node_modules/@esbuild/netbsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/netbsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/openbsd-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-openbsd-x64-npm-0.19.12-4624aab034/node_modules/@esbuild/openbsd-x64/",\ - "packageDependencies": [\ - ["@esbuild/openbsd-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/sunos-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-sunos-x64-npm-0.19.12-66171c0024/node_modules/@esbuild/sunos-x64/",\ - "packageDependencies": [\ - ["@esbuild/sunos-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-arm64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-arm64-npm-0.19.12-aecceea4ec/node_modules/@esbuild/win32-arm64/",\ - "packageDependencies": [\ - ["@esbuild/win32-arm64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-ia32", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-ia32-npm-0.19.12-0d6b37e2da/node_modules/@esbuild/win32-ia32/",\ - "packageDependencies": [\ - ["@esbuild/win32-ia32", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@esbuild/win32-x64", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/@esbuild-win32-x64-npm-0.19.12-1bf4cb5f20/node_modules/@esbuild/win32-x64/",\ - "packageDependencies": [\ - ["@esbuild/win32-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/eslint-utils", [\ - ["npm:4.4.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "npm:4.4.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0", {\ - "packageLocation": "./.yarn/__virtual__/@eslint-community-eslint-utils-virtual-719be7711d/2/.yarn/berry/cache/@eslint-community-eslint-utils-npm-4.4.0-d1791bd5a3-10c0.zip/node_modules/@eslint-community/eslint-utils/",\ - "packageDependencies": [\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@types/eslint", null],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint-community/regexpp", [\ - ["npm:4.10.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-community-regexpp-npm-4.10.0-6bfb984c81-10c0.zip/node_modules/@eslint-community/regexpp/",\ - "packageDependencies": [\ - ["@eslint-community/regexpp", "npm:4.10.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/eslintrc", [\ - ["npm:2.1.4", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-eslintrc-npm-2.1.4-1ff4b5f908-10c0.zip/node_modules/@eslint/eslintrc/",\ - "packageDependencies": [\ - ["@eslint/eslintrc", "npm:2.1.4"],\ - ["ajv", "npm:6.12.6"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["espree", "npm:9.6.1"],\ - ["globals", "npm:13.24.0"],\ - ["ignore", "npm:5.3.0"],\ - ["import-fresh", "npm:3.3.0"],\ - ["js-yaml", "npm:4.1.0"],\ - ["minimatch", "npm:3.1.2"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@eslint/js", [\ - ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/@eslint-js-npm-8.56.0-b1de08cbff-10c0.zip/node_modules/@eslint/js/",\ - "packageDependencies": [\ - ["@eslint/js", "npm:8.56.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/ajv-compiler", [\ - ["npm:3.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-ajv-compiler-npm-3.5.0-d1a90dc51f-10c0.zip/node_modules/@fastify/ajv-compiler/",\ - "packageDependencies": [\ - ["@fastify/ajv-compiler", "npm:3.5.0"],\ - ["ajv", "npm:8.12.0"],\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["fast-uri", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/deepmerge", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-deepmerge-npm-1.3.0-72eb1f634c-10c0.zip/node_modules/@fastify/deepmerge/",\ - "packageDependencies": [\ - ["@fastify/deepmerge", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/error", [\ - ["npm:3.4.1", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-error-npm-3.4.1-eaa74ed572-10c0.zip/node_modules/@fastify/error/",\ - "packageDependencies": [\ - ["@fastify/error", "npm:3.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/fast-json-stringify-compiler", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-fast-json-stringify-compiler-npm-4.3.0-920872cc57-10c0.zip/node_modules/@fastify/fast-json-stringify-compiler/",\ - "packageDependencies": [\ - ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ - ["fast-json-stringify", "npm:5.10.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@fastify/sensible", [\ - ["npm:5.5.0", {\ - "packageLocation": "../.yarn/berry/cache/@fastify-sensible-npm-5.5.0-d66d9547e5-10c0.zip/node_modules/@fastify/sensible/",\ - "packageDependencies": [\ - ["@fastify/sensible", "npm:5.5.0"],\ - ["@lukeed/ms", "npm:2.0.2"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fastify-plugin", "npm:4.5.1"],\ - ["forwarded", "npm:0.2.0"],\ - ["http-errors", "npm:2.0.0"],\ - ["type-is", "npm:1.6.18"],\ - ["vary", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@gar/promisify", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@gar-promisify-npm-1.1.3-ac1a325862-10c0.zip/node_modules/@gar/promisify/",\ - "packageDependencies": [\ - ["@gar/promisify", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/config-array", [\ - ["npm:0.11.14", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-config-array-npm-0.11.14-94a02fcc87-10c0.zip/node_modules/@humanwhocodes/config-array/",\ - "packageDependencies": [\ - ["@humanwhocodes/config-array", "npm:0.11.14"],\ - ["@humanwhocodes/object-schema", "npm:2.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/module-importer", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-10c0.zip/node_modules/@humanwhocodes/module-importer/",\ - "packageDependencies": [\ - ["@humanwhocodes/module-importer", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@humanwhocodes/object-schema", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@humanwhocodes-object-schema-npm-2.0.2-77b42018f9-10c0.zip/node_modules/@humanwhocodes/object-schema/",\ - "packageDependencies": [\ - ["@humanwhocodes/object-schema", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@isaacs/cliui", [\ - ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-10c0.zip/node_modules/@isaacs/cliui/",\ - "packageDependencies": [\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["string-width", "npm:5.1.2"],\ - ["string-width-cjs", [\ - "string-width",\ - "npm:4.2.3"\ - ]],\ - ["strip-ansi", "npm:7.1.0"],\ - ["strip-ansi-cjs", [\ - "strip-ansi",\ - "npm:6.0.1"\ - ]],\ - ["wrap-ansi", "npm:8.1.0"],\ - ["wrap-ansi-cjs", [\ - "wrap-ansi",\ - "npm:7.0.0"\ - ]]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@istanbuljs/schema", [\ - ["npm:0.1.3", {\ - "packageLocation": "../.yarn/berry/cache/@istanbuljs-schema-npm-0.1.3-466bd3eaaa-10c0.zip/node_modules/@istanbuljs/schema/",\ - "packageDependencies": [\ - ["@istanbuljs/schema", "npm:0.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jest/schemas", [\ - ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/@jest-schemas-npm-29.6.3-292730e442-10c0.zip/node_modules/@jest/schemas/",\ - "packageDependencies": [\ - ["@jest/schemas", "npm:29.6.3"],\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/gen-mapping", [\ - ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-gen-mapping-npm-0.3.3-1815eba94c-10c0.zip/node_modules/@jridgewell/gen-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/gen-mapping", "npm:0.3.3"],\ - ["@jridgewell/set-array", "npm:1.1.2"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/resolve-uri", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-resolve-uri-npm-3.1.1-aa2de3f210-10c0.zip/node_modules/@jridgewell/resolve-uri/",\ - "packageDependencies": [\ - ["@jridgewell/resolve-uri", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/set-array", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-set-array-npm-1.1.2-45b82d7fb6-10c0.zip/node_modules/@jridgewell/set-array/",\ - "packageDependencies": [\ - ["@jridgewell/set-array", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/sourcemap-codec", [\ - ["npm:1.4.15", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-sourcemap-codec-npm-1.4.15-a055fb62cf-10c0.zip/node_modules/@jridgewell/sourcemap-codec/",\ - "packageDependencies": [\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jridgewell/trace-mapping", [\ - ["npm:0.3.22", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.22-0baba2f798-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.22"],\ - ["@jridgewell/resolve-uri", "npm:3.1.1"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.3.9", {\ - "packageLocation": "../.yarn/berry/cache/@jridgewell-trace-mapping-npm-0.3.9-91625cd7fb-10c0.zip/node_modules/@jridgewell/trace-mapping/",\ - "packageDependencies": [\ - ["@jridgewell/trace-mapping", "npm:0.3.9"],\ - ["@jridgewell/resolve-uri", "npm:3.1.1"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@jsdoc/salty", [\ - ["npm:0.2.7", {\ - "packageLocation": "../.yarn/berry/cache/@jsdoc-salty-npm-0.2.7-e225cff537-10c0.zip/node_modules/@jsdoc/salty/",\ - "packageDependencies": [\ - ["@jsdoc/salty", "npm:0.2.7"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@lukeed/ms", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/@lukeed-ms-npm-2.0.2-5e69b6e173-10c0.zip/node_modules/@lukeed/ms/",\ - "packageDependencies": [\ - ["@lukeed/ms", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.scandir", [\ - ["npm:2.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-10c0.zip/node_modules/@nodelib/fs.scandir/",\ - "packageDependencies": [\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["run-parallel", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.stat", [\ - ["npm:2.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-10c0.zip/node_modules/@nodelib/fs.stat/",\ - "packageDependencies": [\ - ["@nodelib/fs.stat", "npm:2.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@nodelib/fs.walk", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-10c0.zip/node_modules/@nodelib/fs.walk/",\ - "packageDependencies": [\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@nodelib/fs.scandir", "npm:2.1.5"],\ - ["fastq", "npm:1.17.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/agent", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-agent-npm-2.2.0-cf04e8a830-10c0.zip/node_modules/@npmcli/agent/",\ - "packageDependencies": [\ - ["@npmcli/agent", "npm:2.2.0"],\ - ["agent-base", "npm:7.1.0"],\ - ["http-proxy-agent", "npm:7.0.0"],\ - ["https-proxy-agent", "npm:7.0.2"],\ - ["lru-cache", "npm:10.2.0"],\ - ["socks-proxy-agent", "npm:8.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/fs", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-1.1.1-17f582e0b6-10c0.zip/node_modules/@npmcli/fs/",\ - "packageDependencies": [\ - ["@npmcli/fs", "npm:1.1.1"],\ - ["@gar/promisify", "npm:1.1.3"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-fs-npm-3.1.0-0844a57978-10c0.zip/node_modules/@npmcli/fs/",\ - "packageDependencies": [\ - ["@npmcli/fs", "npm:3.1.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@npmcli/move-file", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@npmcli-move-file-npm-1.1.2-4f6c7b3354-10c0.zip/node_modules/@npmcli/move-file/",\ - "packageDependencies": [\ - ["@npmcli/move-file", "npm:1.1.2"],\ - ["mkdirp", "npm:1.0.4"],\ - ["rimraf", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgjs/parseargs", [\ - ["npm:0.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-10c0.zip/node_modules/@pkgjs/parseargs/",\ - "packageDependencies": [\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@pkgr/core", [\ - ["npm:0.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@pkgr-core-npm-0.1.1-844d1f59d1-10c0.zip/node_modules/@pkgr/core/",\ - "packageDependencies": [\ - ["@pkgr/core", "npm:0.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-android-arm-eabi", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm-eabi-npm-4.9.6-0422083708/node_modules/@rollup/rollup-android-arm-eabi/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-android-arm64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-android-arm64-npm-4.9.6-690a649f0d/node_modules/@rollup/rollup-android-arm64/",\ - "packageDependencies": [\ - ["@rollup/rollup-android-arm64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-darwin-arm64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-arm64-npm-4.9.6-e7e3fa5308/node_modules/@rollup/rollup-darwin-arm64/",\ - "packageDependencies": [\ - ["@rollup/rollup-darwin-arm64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-darwin-x64", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-darwin-x64-npm-4.9.6-0a99a5487b/node_modules/@rollup/rollup-darwin-x64/",\ - "packageDependencies": [\ - ["@rollup/rollup-darwin-x64", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm-gnueabihf", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm-gnueabihf-npm-4.9.6-51ce6eb9a2/node_modules/@rollup/rollup-linux-arm-gnueabihf/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-gnu-npm-4.9.6-3928bf4340/node_modules/@rollup/rollup-linux-arm64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-arm64-musl", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-arm64-musl-npm-4.9.6-a4b39ebd14/node_modules/@rollup/rollup-linux-arm64-musl/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-riscv64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-riscv64-gnu-npm-4.9.6-6f3e8f5d0b/node_modules/@rollup/rollup-linux-riscv64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-x64-gnu", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-gnu-npm-4.9.6-c67944ac17/node_modules/@rollup/rollup-linux-x64-gnu/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-linux-x64-musl", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-linux-x64-musl-npm-4.9.6-41417b2d48/node_modules/@rollup/rollup-linux-x64-musl/",\ - "packageDependencies": [\ - ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-arm64-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-arm64-msvc-npm-4.9.6-4e715ed316/node_modules/@rollup/rollup-win32-arm64-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-ia32-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-ia32-msvc-npm-4.9.6-6939c95825/node_modules/@rollup/rollup-win32-ia32-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rollup/rollup-win32-x64-msvc", [\ - ["npm:4.9.6", {\ - "packageLocation": "./.yarn/unplugged/@rollup-rollup-win32-x64-msvc-npm-4.9.6-416b5a71e5/node_modules/@rollup/rollup-win32-x64-msvc/",\ - "packageDependencies": [\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rushstack/ts-command-line", [\ - ["npm:4.17.1", {\ - "packageLocation": "../.yarn/berry/cache/@rushstack-ts-command-line-npm-4.17.1-479335d0b4-10c0.zip/node_modules/@rushstack/ts-command-line/",\ - "packageDependencies": [\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["@types/argparse", "npm:1.0.38"],\ - ["argparse", "npm:1.0.10"],\ - ["colors", "npm:1.2.5"],\ - ["string-argv", "npm:0.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@rusty-motors/thebeast", [\ - ["workspace:thebeast", {\ - "packageLocation": "./thebeast/",\ - "packageDependencies": [\ - ["@rusty-motors/thebeast", "workspace:thebeast"],\ - ["@fastify/sensible", "npm:5.5.0"],\ - ["@sentry/cli", "npm:2.27.0"],\ - ["@sentry/node", "npm:7.102.0"],\ - ["@sentry/profiling-node", "npm:7.102.0"],\ - ["@tsconfig/node-lts", "npm:20.1.1"],\ - ["@tsconfig/node20", "npm:20.1.2"],\ - ["@types/chai", "npm:4.3.11"],\ - ["@types/connect", "npm:3.4.38"],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/sinon", "npm:17.0.3"],\ - ["@types/sinon-chai", "npm:3.2.12"],\ - ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ - ["fastify", "npm:4.26.0"],\ - ["jsdoc", "npm:4.0.2"],\ - ["moment", "npm:2.30.1"],\ - ["pino", "npm:8.18.0"],\ - ["pino-pretty", "npm:10.3.1"],\ - ["prettier", "npm:3.1.1"],\ - ["prettier-eslint", "npm:16.2.0"],\ - ["short-unique-id", "npm:5.0.3"],\ - ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ - ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ - ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ - ["tslib", "npm:2.6.2"],\ - ["tsx", "npm:4.7.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["zod", "npm:3.22.4"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["@sentry-internal/tracing", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-internal-tracing-npm-7.102.0-1a4cc33deb-10c0.zip/node_modules/@sentry-internal/tracing/",\ - "packageDependencies": [\ - ["@sentry-internal/tracing", "npm:7.102.0"],\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-npm-2.27.0-66755dd86c/node_modules/@sentry/cli/",\ - "packageDependencies": [\ - ["@sentry/cli", "npm:2.27.0"],\ - ["@sentry/cli-darwin", "npm:2.27.0"],\ - ["@sentry/cli-linux-arm", "npm:2.27.0"],\ - ["@sentry/cli-linux-arm64", "npm:2.27.0"],\ - ["@sentry/cli-linux-i686", "npm:2.27.0"],\ - ["@sentry/cli-linux-x64", "npm:2.27.0"],\ - ["@sentry/cli-win32-i686", "npm:2.27.0"],\ - ["@sentry/cli-win32-x64", "npm:2.27.0"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ - ["progress", "npm:2.0.3"],\ - ["proxy-from-env", "npm:1.1.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-darwin", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-darwin-npm-2.27.0-5424ab9713/node_modules/@sentry/cli-darwin/",\ - "packageDependencies": [\ - ["@sentry/cli-darwin", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-arm", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm-npm-2.27.0-3b91b31516/node_modules/@sentry/cli-linux-arm/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-arm", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-arm64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-arm64-npm-2.27.0-9a9f92f022/node_modules/@sentry/cli-linux-arm64/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-arm64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-i686", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-i686-npm-2.27.0-7e15a3698f/node_modules/@sentry/cli-linux-i686/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-i686", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-linux-x64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-linux-x64-npm-2.27.0-4812ccf837/node_modules/@sentry/cli-linux-x64/",\ - "packageDependencies": [\ - ["@sentry/cli-linux-x64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-win32-i686", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-i686-npm-2.27.0-48a6f7ba78/node_modules/@sentry/cli-win32-i686/",\ - "packageDependencies": [\ - ["@sentry/cli-win32-i686", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/cli-win32-x64", [\ - ["npm:2.27.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-cli-win32-x64-npm-2.27.0-f9a4a4dd7d/node_modules/@sentry/cli-win32-x64/",\ - "packageDependencies": [\ - ["@sentry/cli-win32-x64", "npm:2.27.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/core", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-core-npm-7.102.0-2da5fbb273-10c0.zip/node_modules/@sentry/core/",\ - "packageDependencies": [\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/node", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-node-npm-7.102.0-daf98f42d0-10c0.zip/node_modules/@sentry/node/",\ - "packageDependencies": [\ - ["@sentry/node", "npm:7.102.0"],\ - ["@sentry-internal/tracing", "npm:7.102.0"],\ - ["@sentry/core", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"],\ - ["@sentry/utils", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/profiling-node", [\ - ["npm:7.102.0", {\ - "packageLocation": "./.yarn/unplugged/@sentry-profiling-node-npm-7.102.0-e435d41736/node_modules/@sentry/profiling-node/",\ - "packageDependencies": [\ - ["@sentry/profiling-node", "npm:7.102.0"],\ - ["detect-libc", "npm:2.0.2"],\ - ["node-abi", "npm:3.54.0"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/types", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-types-npm-7.102.0-647d739eb3-10c0.zip/node_modules/@sentry/types/",\ - "packageDependencies": [\ - ["@sentry/types", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sentry/utils", [\ - ["npm:7.102.0", {\ - "packageLocation": "../.yarn/berry/cache/@sentry-utils-npm-7.102.0-0c329de503-10c0.zip/node_modules/@sentry/utils/",\ - "packageDependencies": [\ - ["@sentry/utils", "npm:7.102.0"],\ - ["@sentry/types", "npm:7.102.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@sinclair/typebox", [\ - ["npm:0.27.8", {\ - "packageLocation": "../.yarn/berry/cache/@sinclair-typebox-npm-0.27.8-23e206d653-10c0.zip/node_modules/@sinclair/typebox/",\ - "packageDependencies": [\ - ["@sinclair/typebox", "npm:0.27.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@slonik/migrator", [\ - ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ - "packageDependencies": [\ - ["@slonik/migrator", "npm:0.12.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0", {\ - "packageLocation": "./.yarn/__virtual__/@slonik-migrator-virtual-c7a6f46a8e/2/.yarn/berry/cache/@slonik-migrator-npm-0.12.0-63cd4f169b-10c0.zip/node_modules/@slonik/migrator/",\ - "packageDependencies": [\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["@types/slonik", null],\ - ["slonik", "npm:29.2.0"],\ - ["umzug", "npm:3.6.1"]\ - ],\ - "packagePeers": [\ - "@types/slonik",\ - "slonik"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tootallnate/once", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tootallnate-once-npm-1.1.2-0517220057-10c0.zip/node_modules/@tootallnate/once/",\ - "packageDependencies": [\ - ["@tootallnate/once", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node-lts", [\ - ["npm:20.1.1", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node-lts-npm-20.1.1-3dbbbe948e-10c0.zip/node_modules/@tsconfig/node-lts/",\ - "packageDependencies": [\ - ["@tsconfig/node-lts", "npm:20.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node10", [\ - ["npm:1.0.9", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node10-npm-1.0.9-f2e2d20feb-10c0.zip/node_modules/@tsconfig/node10/",\ - "packageDependencies": [\ - ["@tsconfig/node10", "npm:1.0.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node12", [\ - ["npm:1.0.11", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node12-npm-1.0.11-9710d1c61b-10c0.zip/node_modules/@tsconfig/node12/",\ - "packageDependencies": [\ - ["@tsconfig/node12", "npm:1.0.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node14", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node14-npm-1.0.3-15321421d2-10c0.zip/node_modules/@tsconfig/node14/",\ - "packageDependencies": [\ - ["@tsconfig/node14", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node16", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node16-npm-1.0.4-b7cb87d859-10c0.zip/node_modules/@tsconfig/node16/",\ - "packageDependencies": [\ - ["@tsconfig/node16", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@tsconfig/node20", [\ - ["npm:20.1.2", {\ - "packageLocation": "../.yarn/berry/cache/@tsconfig-node20-npm-20.1.2-f53f26df5a-10c0.zip/node_modules/@tsconfig/node20/",\ - "packageDependencies": [\ - ["@tsconfig/node20", "npm:20.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/argparse", [\ - ["npm:1.0.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-argparse-npm-1.0.38-657c15204c-10c0.zip/node_modules/@types/argparse/",\ - "packageDependencies": [\ - ["@types/argparse", "npm:1.0.38"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/chai", [\ - ["npm:4.3.11", {\ - "packageLocation": "../.yarn/berry/cache/@types-chai-npm-4.3.11-db685c5f0e-10c0.zip/node_modules/@types/chai/",\ - "packageDependencies": [\ - ["@types/chai", "npm:4.3.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/connect", [\ - ["npm:3.4.38", {\ - "packageLocation": "../.yarn/berry/cache/@types-connect-npm-3.4.38-a8a4c38337-10c0.zip/node_modules/@types/connect/",\ - "packageDependencies": [\ - ["@types/connect", "npm:3.4.38"],\ - ["@types/node", "npm:20.11.13"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/estree", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-estree-npm-1.0.5-5b7faed3b4-10c0.zip/node_modules/@types/estree/",\ - "packageDependencies": [\ - ["@types/estree", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/istanbul-lib-coverage", [\ - ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-istanbul-lib-coverage-npm-2.0.6-2ea31fda9c-10c0.zip/node_modules/@types/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/json-schema", [\ - ["npm:7.0.15", {\ - "packageLocation": "../.yarn/berry/cache/@types-json-schema-npm-7.0.15-fd16381786-10c0.zip/node_modules/@types/json-schema/",\ - "packageDependencies": [\ - ["@types/json-schema", "npm:7.0.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/linkify-it", [\ - ["npm:3.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-linkify-it-npm-3.0.5-ff4a6ef3bd-10c0.zip/node_modules/@types/linkify-it/",\ - "packageDependencies": [\ - ["@types/linkify-it", "npm:3.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/markdown-it", [\ - ["npm:12.2.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-markdown-it-npm-12.2.3-ef47108ac6-10c0.zip/node_modules/@types/markdown-it/",\ - "packageDependencies": [\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["@types/linkify-it", "npm:3.0.5"],\ - ["@types/mdurl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/mdurl", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-mdurl-npm-1.0.5-924b60d7d4-10c0.zip/node_modules/@types/mdurl/",\ - "packageDependencies": [\ - ["@types/mdurl", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/node", [\ - ["npm:20.11.13", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.13-8a5bd5c659-10c0.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:20.11.13"],\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:20.11.16", {\ - "packageLocation": "../.yarn/berry/cache/@types-node-npm-20.11.16-d9bc65d4bc-10c0.zip/node_modules/@types/node/",\ - "packageDependencies": [\ - ["@types/node", "npm:20.11.16"],\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/pg", [\ - ["npm:8.11.0", {\ - "packageLocation": "../.yarn/berry/cache/@types-pg-npm-8.11.0-bf104da0ba-10c0.zip/node_modules/@types/pg/",\ - "packageDependencies": [\ - ["@types/pg", "npm:8.11.0"],\ - ["@types/node", "npm:20.11.13"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-types", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/semver", [\ - ["npm:7.5.6", {\ - "packageLocation": "../.yarn/berry/cache/@types-semver-npm-7.5.6-9d2637fc95-10c0.zip/node_modules/@types/semver/",\ - "packageDependencies": [\ - ["@types/semver", "npm:7.5.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinon", [\ - ["npm:17.0.3", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-npm-17.0.3-20425e7552-10c0.zip/node_modules/@types/sinon/",\ - "packageDependencies": [\ - ["@types/sinon", "npm:17.0.3"],\ - ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinon-chai", [\ - ["npm:3.2.12", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinon-chai-npm-3.2.12-e5e54ca97b-10c0.zip/node_modules/@types/sinon-chai/",\ - "packageDependencies": [\ - ["@types/sinon-chai", "npm:3.2.12"],\ - ["@types/chai", "npm:4.3.11"],\ - ["@types/sinon", "npm:17.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@types/sinonjs__fake-timers", [\ - ["npm:8.1.5", {\ - "packageLocation": "../.yarn/berry/cache/@types-sinonjs__fake-timers-npm-8.1.5-c35b400174-10c0.zip/node_modules/@types/sinonjs__fake-timers/",\ - "packageDependencies": [\ - ["@types/sinonjs__fake-timers", "npm:8.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/eslint-plugin", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-eslint-plugin-virtual-574cfc7d4e/2/.yarn/berry/cache/@typescript-eslint-eslint-plugin-npm-6.20.0-65f32791ce-10c0.zip/node_modules/@typescript-eslint/eslint-plugin/",\ - "packageDependencies": [\ - ["@typescript-eslint/eslint-plugin", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:6.20.0"],\ - ["@eslint-community/regexpp", "npm:4.10.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@types/typescript-eslint__parser", null],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["graphemer", "npm:1.4.0"],\ - ["ignore", "npm:5.3.0"],\ - ["natural-compare", "npm:1.4.0"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript-eslint__parser",\ - "@types/typescript",\ - "@typescript-eslint/parser",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/parser", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-parser-virtual-33ae4b4153/2/.yarn/berry/cache/@typescript-eslint-parser-npm-6.20.0-078b119c0b-10c0.zip/node_modules/@typescript-eslint/parser/",\ - "packageDependencies": [\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/scope-manager", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-scope-manager-npm-6.20.0-16b5e4a270-10c0.zip/node_modules/@typescript-eslint/scope-manager/",\ - "packageDependencies": [\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/type-utils", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-type-utils-virtual-bb866f9a3f/2/.yarn/berry/cache/@typescript-eslint-type-utils-npm-6.20.0-d80ffa92bf-10c0.zip/node_modules/@typescript-eslint/type-utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/type-utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/types", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-types-npm-6.20.0-099f974f57-10c0.zip/node_modules/@typescript-eslint/types/",\ - "packageDependencies": [\ - ["@typescript-eslint/types", "npm:6.20.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/typescript-estree", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-a9756fe5cf/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:33ae4b4153d14127f8ecc8fb3e26b62b073ac694a8df6704823affe96dc42af7b54a44cb6418c18ec1cda7e4918d3666bda8290e372e4c818fd9121274b6610b#npm:6.20.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["globby", "npm:11.1.0"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.3"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-typescript-estree-virtual-e71ea3b86c/2/.yarn/berry/cache/@typescript-eslint-typescript-estree-npm-6.20.0-f90f58095c-10c0.zip/node_modules/@typescript-eslint/typescript-estree/",\ - "packageDependencies": [\ - ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ - ["@types/typescript", null],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["globby", "npm:11.1.0"],\ - ["is-glob", "npm:4.0.3"],\ - ["minimatch", "npm:9.0.3"],\ - ["semver", "npm:7.5.4"],\ - ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/utils", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "npm:6.20.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0", {\ - "packageLocation": "./.yarn/__virtual__/@typescript-eslint-utils-virtual-df6748fef8/2/.yarn/berry/cache/@typescript-eslint-utils-npm-6.20.0-dcbfa6a3be-10c0.zip/node_modules/@typescript-eslint/utils/",\ - "packageDependencies": [\ - ["@typescript-eslint/utils", "virtual:574cfc7d4e9cf2334b212f2acfbe2cdc6fd78e0670a5316c025a20f7f8a8fc69d22e1419ee30f558ac42790b61ce6445d481bd8a646a512ab7a785f77e210da7#npm:6.20.0"],\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@types/eslint", null],\ - ["@types/json-schema", "npm:7.0.15"],\ - ["@types/semver", "npm:7.5.6"],\ - ["@typescript-eslint/scope-manager", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["@typescript-eslint/typescript-estree", "virtual:df6748fef8c09dcc27ab77896561a2e483989a37e1857ccbd3ae2ec64c256a1b2250d58e7cdccd15144664edecff4645fff600e4b81c7e7ff526d9d5c6d6a892#npm:6.20.0"],\ - ["eslint", "npm:8.56.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@typescript-eslint/visitor-keys", [\ - ["npm:6.20.0", {\ - "packageLocation": "../.yarn/berry/cache/@typescript-eslint-visitor-keys-npm-6.20.0-76714df01a-10c0.zip/node_modules/@typescript-eslint/visitor-keys/",\ - "packageDependencies": [\ - ["@typescript-eslint/visitor-keys", "npm:6.20.0"],\ - ["@typescript-eslint/types", "npm:6.20.0"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@ungap/structured-clone", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/@ungap-structured-clone-npm-1.2.0-648f0b82e0-10c0.zip/node_modules/@ungap/structured-clone/",\ - "packageDependencies": [\ - ["@ungap/structured-clone", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/coverage-v8", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ - "packageDependencies": [\ - ["@vitest/coverage-v8", "npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/@vitest-coverage-v8-virtual-3e06bd02aa/2/.yarn/berry/cache/@vitest-coverage-v8-npm-1.2.2-38d2f25b60-10c0.zip/node_modules/@vitest/coverage-v8/",\ - "packageDependencies": [\ - ["@vitest/coverage-v8", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["@ampproject/remapping", "npm:2.2.1"],\ - ["@bcoe/v8-coverage", "npm:0.2.3"],\ - ["@types/vitest", null],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["istanbul-reports", "npm:3.1.6"],\ - ["magic-string", "npm:0.30.5"],\ - ["magicast", "npm:0.3.3"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["test-exclude", "npm:6.0.0"],\ - ["v8-to-istanbul", "npm:9.2.0"],\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"]\ - ],\ - "packagePeers": [\ - "@types/vitest",\ - "vitest"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/expect", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-expect-npm-1.2.2-a3d8605d13-10c0.zip/node_modules/@vitest/expect/",\ - "packageDependencies": [\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["chai", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/runner", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-runner-npm-1.2.2-637b91023f-10c0.zip/node_modules/@vitest/runner/",\ - "packageDependencies": [\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["p-limit", "npm:5.0.0"],\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/snapshot", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-snapshot-npm-1.2.2-669480d085-10c0.zip/node_modules/@vitest/snapshot/",\ - "packageDependencies": [\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/spy", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-spy-npm-1.2.2-7221ab995a-10c0.zip/node_modules/@vitest/spy/",\ - "packageDependencies": [\ - ["@vitest/spy", "npm:1.2.2"],\ - ["tinyspy", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["@vitest/utils", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/@vitest-utils-npm-1.2.2-bf65ebd753-10c0.zip/node_modules/@vitest/utils/",\ - "packageDependencies": [\ - ["@vitest/utils", "npm:1.2.2"],\ - ["diff-sequences", "npm:29.6.3"],\ - ["estree-walker", "npm:3.0.3"],\ - ["loupe", "npm:2.3.7"],\ - ["pretty-format", "npm:29.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abbrev", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-1.1.1-3659247eab-10c0.zip/node_modules/abbrev/",\ - "packageDependencies": [\ - ["abbrev", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abbrev-npm-2.0.0-0eb38a17e5-10c0.zip/node_modules/abbrev/",\ - "packageDependencies": [\ - ["abbrev", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abort-controller", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/abort-controller-npm-3.0.0-2f3a9a2bcb-10c0.zip/node_modules/abort-controller/",\ - "packageDependencies": [\ - ["abort-controller", "npm:3.0.0"],\ - ["event-target-shim", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["abstract-logging", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/abstract-logging-npm-2.0.1-b805b8edfa-10c0.zip/node_modules/abstract-logging/",\ - "packageDependencies": [\ - ["abstract-logging", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn", [\ - ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/acorn-npm-8.11.3-0d7ab48b38-10c0.zip/node_modules/acorn/",\ - "packageDependencies": [\ - ["acorn", "npm:8.11.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn-jsx", [\ - ["npm:5.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "npm:5.3.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2", {\ - "packageLocation": "./.yarn/__virtual__/acorn-jsx-virtual-834321b202/2/.yarn/berry/cache/acorn-jsx-npm-5.3.2-d7594599ea-10c0.zip/node_modules/acorn-jsx/",\ - "packageDependencies": [\ - ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ - ["@types/acorn", null],\ - ["acorn", "npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/acorn",\ - "acorn"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["acorn-walk", [\ - ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/acorn-walk-npm-8.3.2-df039a42bf-10c0.zip/node_modules/acorn-walk/",\ - "packageDependencies": [\ - ["acorn-walk", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["agent-base", [\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-6.0.2-428f325a93-10c0.zip/node_modules/agent-base/",\ - "packageDependencies": [\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/agent-base-npm-7.1.0-4b12ba5111-10c0.zip/node_modules/agent-base/",\ - "packageDependencies": [\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["agentkeepalive", [\ - ["npm:4.5.0", {\ - "packageLocation": "../.yarn/berry/cache/agentkeepalive-npm-4.5.0-f237b580b2-10c0.zip/node_modules/agentkeepalive/",\ - "packageDependencies": [\ - ["agentkeepalive", "npm:4.5.0"],\ - ["humanize-ms", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["aggregate-error", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/aggregate-error-npm-3.1.0-415a406f4e-10c0.zip/node_modules/aggregate-error/",\ - "packageDependencies": [\ - ["aggregate-error", "npm:3.1.0"],\ - ["clean-stack", "npm:2.2.0"],\ - ["indent-string", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ajv", [\ - ["npm:6.12.6", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-6.12.6-4b5105e2b2-10c0.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:6.12.6"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-json-stable-stringify", "npm:2.1.0"],\ - ["json-schema-traverse", "npm:0.4.1"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.12.0", {\ - "packageLocation": "../.yarn/berry/cache/ajv-npm-8.12.0-3bf6e30741-10c0.zip/node_modules/ajv/",\ - "packageDependencies": [\ - ["ajv", "npm:8.12.0"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["json-schema-traverse", "npm:1.0.0"],\ - ["require-from-string", "npm:2.0.2"],\ - ["uri-js", "npm:4.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ajv-formats", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ - "packageDependencies": [\ - ["ajv-formats", "npm:2.1.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1", {\ - "packageLocation": "./.yarn/__virtual__/ajv-formats-virtual-2ebf2e0c5a/2/.yarn/berry/cache/ajv-formats-npm-2.1.1-3cec02eae9-10c0.zip/node_modules/ajv-formats/",\ - "packageDependencies": [\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["@types/ajv", null],\ - ["ajv", "npm:8.12.0"]\ - ],\ - "packagePeers": [\ - "@types/ajv",\ - "ajv"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-regex", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-2.1.1-ddd24d102b-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-5.0.1-c963a48615-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-regex-npm-6.0.1-8d663a607d-10c0.zip/node_modules/ansi-regex/",\ - "packageDependencies": [\ - ["ansi-regex", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ansi-styles", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-2.2.1-f3297e782c-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:2.2.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-4.3.0-245c7d42c7-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:4.3.0"],\ - ["color-convert", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-5.2.0-72fc7003e3-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:5.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ansi-styles-npm-6.2.1-d43647018c-10c0.zip/node_modules/ansi-styles/",\ - "packageDependencies": [\ - ["ansi-styles", "npm:6.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["aproba", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/aproba-npm-2.0.0-8716bcfde6-10c0.zip/node_modules/aproba/",\ - "packageDependencies": [\ - ["aproba", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["archy", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/archy-npm-1.0.0-7db8bfdc3b-10c0.zip/node_modules/archy/",\ - "packageDependencies": [\ - ["archy", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["are-we-there-yet", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/are-we-there-yet-npm-3.0.1-3395b1512f-10c0.zip/node_modules/are-we-there-yet/",\ - "packageDependencies": [\ - ["are-we-there-yet", "npm:3.0.1"],\ - ["delegates", "npm:1.0.0"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["arg", [\ - ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/arg-npm-4.1.3-1748b966a8-10c0.zip/node_modules/arg/",\ - "packageDependencies": [\ - ["arg", "npm:4.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["argparse", [\ - ["npm:1.0.10", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-1.0.10-528934e59d-10c0.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:1.0.10"],\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/argparse-npm-2.0.1-faff7999e6-10c0.zip/node_modules/argparse/",\ - "packageDependencies": [\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["array-union", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/array-union-npm-2.1.0-4e4852b221-10c0.zip/node_modules/array-union/",\ - "packageDependencies": [\ - ["array-union", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["assertion-error", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/assertion-error-npm-1.1.0-66b893015e-10c0.zip/node_modules/assertion-error/",\ - "packageDependencies": [\ - ["assertion-error", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["atomic-sleep", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/atomic-sleep-npm-1.0.0-17d8a762a3-10c0.zip/node_modules/atomic-sleep/",\ - "packageDependencies": [\ - ["atomic-sleep", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["avvio", [\ - ["npm:8.2.1", {\ - "packageLocation": "../.yarn/berry/cache/avvio-npm-8.2.1-e7ae905a95-10c0.zip/node_modules/avvio/",\ - "packageDependencies": [\ - ["avvio", "npm:8.2.1"],\ - ["archy", "npm:1.0.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["fastq", "npm:1.17.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["balanced-match", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/balanced-match-npm-1.0.2-a53c126459-10c0.zip/node_modules/balanced-match/",\ - "packageDependencies": [\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["base64-js", [\ - ["npm:1.5.1", {\ - "packageLocation": "../.yarn/berry/cache/base64-js-npm-1.5.1-b2f7275641-10c0.zip/node_modules/base64-js/",\ - "packageDependencies": [\ - ["base64-js", "npm:1.5.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bindings", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/bindings-npm-1.5.0-77ce1d213c-10c0.zip/node_modules/bindings/",\ - "packageDependencies": [\ - ["bindings", "npm:1.5.0"],\ - ["file-uri-to-path", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bl", [\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/bl-npm-4.1.0-7f94cdcf3f-10c0.zip/node_modules/bl/",\ - "packageDependencies": [\ - ["bl", "npm:4.1.0"],\ - ["buffer", "npm:5.7.1"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bluebird", [\ - ["npm:3.7.2", {\ - "packageLocation": "../.yarn/berry/cache/bluebird-npm-3.7.2-6a54136ee3-10c0.zip/node_modules/bluebird/",\ - "packageDependencies": [\ - ["bluebird", "npm:3.7.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["boolean", [\ - ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/boolean-npm-3.2.0-168c1e42cc-10c0.zip/node_modules/boolean/",\ - "packageDependencies": [\ - ["boolean", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["brace-expansion", [\ - ["npm:1.1.11", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-1.1.11-fb95eb05ad-10c0.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:1.1.11"],\ - ["balanced-match", "npm:1.0.2"],\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/brace-expansion-npm-2.0.1-17aa2616f9-10c0.zip/node_modules/brace-expansion/",\ - "packageDependencies": [\ - ["brace-expansion", "npm:2.0.1"],\ - ["balanced-match", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["braces", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/braces-npm-3.0.2-782240b28a-10c0.zip/node_modules/braces/",\ - "packageDependencies": [\ - ["braces", "npm:3.0.2"],\ - ["fill-range", "npm:7.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer", [\ - ["npm:5.7.1", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-5.7.1-513ef8259e-10c0.zip/node_modules/buffer/",\ - "packageDependencies": [\ - ["buffer", "npm:5.7.1"],\ - ["base64-js", "npm:1.5.1"],\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.3", {\ - "packageLocation": "../.yarn/berry/cache/buffer-npm-6.0.3-cd90dfedfe-10c0.zip/node_modules/buffer/",\ - "packageDependencies": [\ - ["buffer", "npm:6.0.3"],\ - ["base64-js", "npm:1.5.1"],\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer-from", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/buffer-from-npm-1.1.2-03d2f20d7e-10c0.zip/node_modules/buffer-from/",\ - "packageDependencies": [\ - ["buffer-from", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["buffer-writer", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/buffer-writer-npm-2.0.0-5cd2ef55bc-10c0.zip/node_modules/buffer-writer/",\ - "packageDependencies": [\ - ["buffer-writer", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["bufferput", [\ - ["npm:0.1.3", {\ - "packageLocation": "./.yarn/unplugged/bufferput-npm-0.1.3-e55e71448c/node_modules/bufferput/",\ - "packageDependencies": [\ - ["bufferput", "npm:0.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cac", [\ - ["npm:6.7.14", {\ - "packageLocation": "../.yarn/berry/cache/cac-npm-6.7.14-c46284e425-10c0.zip/node_modules/cac/",\ - "packageDependencies": [\ - ["cac", "npm:6.7.14"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cacache", [\ - ["npm:15.3.0", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-15.3.0-a7e5239c6a-10c0.zip/node_modules/cacache/",\ - "packageDependencies": [\ - ["cacache", "npm:15.3.0"],\ - ["@npmcli/fs", "npm:1.1.1"],\ - ["@npmcli/move-file", "npm:1.1.2"],\ - ["chownr", "npm:2.0.0"],\ - ["fs-minipass", "npm:2.1.0"],\ - ["glob", "npm:7.2.3"],\ - ["infer-owner", "npm:1.0.4"],\ - ["lru-cache", "npm:6.0.0"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["mkdirp", "npm:1.0.4"],\ - ["p-map", "npm:4.0.0"],\ - ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ - ["rimraf", "npm:3.0.2"],\ - ["ssri", "npm:8.0.1"],\ - ["tar", "npm:6.2.0"],\ - ["unique-filename", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:18.0.2", {\ - "packageLocation": "../.yarn/berry/cache/cacache-npm-18.0.2-d6329a1b9d-10c0.zip/node_modules/cacache/",\ - "packageDependencies": [\ - ["cacache", "npm:18.0.2"],\ - ["@npmcli/fs", "npm:3.1.0"],\ - ["fs-minipass", "npm:3.0.3"],\ - ["glob", "npm:10.3.10"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["p-map", "npm:4.0.0"],\ - ["ssri", "npm:10.0.5"],\ - ["tar", "npm:6.2.0"],\ - ["unique-filename", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["callsites", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/callsites-npm-3.1.0-268f989910-10c0.zip/node_modules/callsites/",\ - "packageDependencies": [\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["catharsis", [\ - ["npm:0.9.0", {\ - "packageLocation": "../.yarn/berry/cache/catharsis-npm-0.9.0-208a98dbe1-10c0.zip/node_modules/catharsis/",\ - "packageDependencies": [\ - ["catharsis", "npm:0.9.0"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chai", [\ - ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/chai-npm-4.4.1-ffd006b4b1-10c0.zip/node_modules/chai/",\ - "packageDependencies": [\ - ["chai", "npm:4.4.1"],\ - ["assertion-error", "npm:1.1.0"],\ - ["check-error", "npm:1.0.3"],\ - ["deep-eql", "npm:4.1.3"],\ - ["get-func-name", "npm:2.0.2"],\ - ["loupe", "npm:2.3.7"],\ - ["pathval", "npm:1.1.1"],\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chalk", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-1.1.3-59144c3a87-10c0.zip/node_modules/chalk/",\ - "packageDependencies": [\ - ["chalk", "npm:1.1.3"],\ - ["ansi-styles", "npm:2.2.1"],\ - ["escape-string-regexp", "npm:1.0.5"],\ - ["has-ansi", "npm:2.0.0"],\ - ["strip-ansi", "npm:3.0.1"],\ - ["supports-color", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.2", {\ - "packageLocation": "../.yarn/berry/cache/chalk-npm-4.1.2-ba8b67ab80-10c0.zip/node_modules/chalk/",\ - "packageDependencies": [\ - ["chalk", "npm:4.1.2"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["check-error", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/check-error-npm-1.0.3-137994eabc-10c0.zip/node_modules/check-error/",\ - "packageDependencies": [\ - ["check-error", "npm:1.0.3"],\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["chownr", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-1.1.4-5bd400ab08-10c0.zip/node_modules/chownr/",\ - "packageDependencies": [\ - ["chownr", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/chownr-npm-2.0.0-638f1c9c61-10c0.zip/node_modules/chownr/",\ - "packageDependencies": [\ - ["chownr", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["clean-stack", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/clean-stack-npm-2.2.0-a8ce435a5c-10c0.zip/node_modules/clean-stack/",\ - "packageDependencies": [\ - ["clean-stack", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-convert", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/color-convert-npm-2.0.1-79730e935b-10c0.zip/node_modules/color-convert/",\ - "packageDependencies": [\ - ["color-convert", "npm:2.0.1"],\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-name", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/color-name-npm-1.1.4-025792b0ea-10c0.zip/node_modules/color-name/",\ - "packageDependencies": [\ - ["color-name", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["color-support", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/color-support-npm-1.1.3-3be5c53455-10c0.zip/node_modules/color-support/",\ - "packageDependencies": [\ - ["color-support", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["colorette", [\ - ["npm:2.0.20", {\ - "packageLocation": "../.yarn/berry/cache/colorette-npm-2.0.20-692d428726-10c0.zip/node_modules/colorette/",\ - "packageDependencies": [\ - ["colorette", "npm:2.0.20"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["colors", [\ - ["npm:1.2.5", {\ - "packageLocation": "../.yarn/berry/cache/colors-npm-1.2.5-891bb7682f-10c0.zip/node_modules/colors/",\ - "packageDependencies": [\ - ["colors", "npm:1.2.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["common-tags", [\ - ["npm:1.8.2", {\ - "packageLocation": "../.yarn/berry/cache/common-tags-npm-1.8.2-2c30ba69b3-10c0.zip/node_modules/common-tags/",\ - "packageDependencies": [\ - ["common-tags", "npm:1.8.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["concat-map", [\ - ["npm:0.0.1", {\ - "packageLocation": "../.yarn/berry/cache/concat-map-npm-0.0.1-85a921b7ee-10c0.zip/node_modules/concat-map/",\ - "packageDependencies": [\ - ["concat-map", "npm:0.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["concat-stream", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/concat-stream-npm-2.0.0-8bb2ad5aa0-10c0.zip/node_modules/concat-stream/",\ - "packageDependencies": [\ - ["concat-stream", "npm:2.0.0"],\ - ["buffer-from", "npm:1.1.2"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"],\ - ["typedarray", "npm:0.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["console-control-strings", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/console-control-strings-npm-1.1.0-e3160e5275-10c0.zip/node_modules/console-control-strings/",\ - "packageDependencies": [\ - ["console-control-strings", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["convert-source-map", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/convert-source-map-npm-2.0.0-7ab664dc4e-10c0.zip/node_modules/convert-source-map/",\ - "packageDependencies": [\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cookie", [\ - ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/cookie-npm-0.5.0-e2d58a161a-10c0.zip/node_modules/cookie/",\ - "packageDependencies": [\ - ["cookie", "npm:0.5.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["create-require", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/create-require-npm-1.1.1-839884ca2e-10c0.zip/node_modules/create-require/",\ - "packageDependencies": [\ - ["create-require", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["cross-spawn", [\ - ["npm:7.0.3", {\ - "packageLocation": "../.yarn/berry/cache/cross-spawn-npm-7.0.3-e4ff3e65b3-10c0.zip/node_modules/cross-spawn/",\ - "packageDependencies": [\ - ["cross-spawn", "npm:7.0.3"],\ - ["path-key", "npm:3.1.1"],\ - ["shebang-command", "npm:2.0.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dateformat", [\ - ["npm:4.6.3", {\ - "packageLocation": "../.yarn/berry/cache/dateformat-npm-4.6.3-aa1a4cb7f9-10c0.zip/node_modules/dateformat/",\ - "packageDependencies": [\ - ["dateformat", "npm:4.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["debug", [\ - ["npm:4.3.4", {\ - "packageLocation": "../.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "npm:4.3.4"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4", {\ - "packageLocation": "./.yarn/__virtual__/debug-virtual-da1addad6c/2/.yarn/berry/cache/debug-npm-4.3.4-4513954577-10c0.zip/node_modules/debug/",\ - "packageDependencies": [\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["@types/supports-color", null],\ - ["ms", "npm:2.1.2"],\ - ["supports-color", null]\ - ],\ - "packagePeers": [\ - "@types/supports-color",\ - "supports-color"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["decompress-response", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/decompress-response-npm-6.0.0-359de2878c-10c0.zip/node_modules/decompress-response/",\ - "packageDependencies": [\ - ["decompress-response", "npm:6.0.0"],\ - ["mimic-response", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-eql", [\ - ["npm:4.1.3", {\ - "packageLocation": "../.yarn/berry/cache/deep-eql-npm-4.1.3-020a64f862-10c0.zip/node_modules/deep-eql/",\ - "packageDependencies": [\ - ["deep-eql", "npm:4.1.3"],\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-extend", [\ - ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/deep-extend-npm-0.6.0-e182924219-10c0.zip/node_modules/deep-extend/",\ - "packageDependencies": [\ - ["deep-extend", "npm:0.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["deep-is", [\ - ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/deep-is-npm-0.1.4-88938b5a67-10c0.zip/node_modules/deep-is/",\ - "packageDependencies": [\ - ["deep-is", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["delegates", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/delegates-npm-1.0.0-9b1942d75f-10c0.zip/node_modules/delegates/",\ - "packageDependencies": [\ - ["delegates", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["depd", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/depd-npm-2.0.0-b6c51a4b43-10c0.zip/node_modules/depd/",\ - "packageDependencies": [\ - ["depd", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["detect-libc", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/detect-libc-npm-2.0.2-03afa59137-10c0.zip/node_modules/detect-libc/",\ - "packageDependencies": [\ - ["detect-libc", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["diff", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/diff-npm-4.0.2-73133c7102-10c0.zip/node_modules/diff/",\ - "packageDependencies": [\ - ["diff", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["diff-sequences", [\ - ["npm:29.6.3", {\ - "packageLocation": "../.yarn/berry/cache/diff-sequences-npm-29.6.3-18ab2c9949-10c0.zip/node_modules/diff-sequences/",\ - "packageDependencies": [\ - ["diff-sequences", "npm:29.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dir-glob", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/dir-glob-npm-3.0.1-1aea628b1b-10c0.zip/node_modules/dir-glob/",\ - "packageDependencies": [\ - ["dir-glob", "npm:3.0.1"],\ - ["path-type", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["dlv", [\ - ["npm:1.1.3", {\ - "packageLocation": "../.yarn/berry/cache/dlv-npm-1.1.3-187c903a21-10c0.zip/node_modules/dlv/",\ - "packageDependencies": [\ - ["dlv", "npm:1.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["doctrine", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/doctrine-npm-3.0.0-c6f1615f04-10c0.zip/node_modules/doctrine/",\ - "packageDependencies": [\ - ["doctrine", "npm:3.0.0"],\ - ["esutils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eastasianwidth", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-10c0.zip/node_modules/eastasianwidth/",\ - "packageDependencies": [\ - ["eastasianwidth", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emittery", [\ - ["npm:0.13.1", {\ - "packageLocation": "../.yarn/berry/cache/emittery-npm-0.13.1-cb6cd1bb03-10c0.zip/node_modules/emittery/",\ - "packageDependencies": [\ - ["emittery", "npm:0.13.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["emoji-regex", [\ - ["npm:8.0.0", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-8.0.0-213764015c-10c0.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:8.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.2.2", {\ - "packageLocation": "../.yarn/berry/cache/emoji-regex-npm-9.2.2-e6fac8d058-10c0.zip/node_modules/emoji-regex/",\ - "packageDependencies": [\ - ["emoji-regex", "npm:9.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["encoding", [\ - ["npm:0.1.13", {\ - "packageLocation": "../.yarn/berry/cache/encoding-npm-0.1.13-82a1837d30-10c0.zip/node_modules/encoding/",\ - "packageDependencies": [\ - ["encoding", "npm:0.1.13"],\ - ["iconv-lite", "npm:0.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["end-of-stream", [\ - ["npm:1.4.4", {\ - "packageLocation": "../.yarn/berry/cache/end-of-stream-npm-1.4.4-497fc6dee1-10c0.zip/node_modules/end-of-stream/",\ - "packageDependencies": [\ - ["end-of-stream", "npm:1.4.4"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["entities", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/entities-npm-2.1.0-b27b8aebc6-10c0.zip/node_modules/entities/",\ - "packageDependencies": [\ - ["entities", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["env-paths", [\ - ["npm:2.2.1", {\ - "packageLocation": "../.yarn/berry/cache/env-paths-npm-2.2.1-7c7577428c-10c0.zip/node_modules/env-paths/",\ - "packageDependencies": [\ - ["env-paths", "npm:2.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["err-code", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/err-code-npm-2.0.3-082e0ff9a7-10c0.zip/node_modules/err-code/",\ - "packageDependencies": [\ - ["err-code", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["es6-error", [\ - ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/es6-error-npm-4.1.1-5e8c22b20f-10c0.zip/node_modules/es6-error/",\ - "packageDependencies": [\ - ["es6-error", "npm:4.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esbuild", [\ - ["npm:0.19.12", {\ - "packageLocation": "./.yarn/unplugged/esbuild-npm-0.19.12-fb5a3a4313/node_modules/esbuild/",\ - "packageDependencies": [\ - ["esbuild", "npm:0.19.12"],\ - ["@esbuild/aix-ppc64", "npm:0.19.12"],\ - ["@esbuild/android-arm", "npm:0.19.12"],\ - ["@esbuild/android-arm64", "npm:0.19.12"],\ - ["@esbuild/android-x64", "npm:0.19.12"],\ - ["@esbuild/darwin-arm64", "npm:0.19.12"],\ - ["@esbuild/darwin-x64", "npm:0.19.12"],\ - ["@esbuild/freebsd-arm64", "npm:0.19.12"],\ - ["@esbuild/freebsd-x64", "npm:0.19.12"],\ - ["@esbuild/linux-arm", "npm:0.19.12"],\ - ["@esbuild/linux-arm64", "npm:0.19.12"],\ - ["@esbuild/linux-ia32", "npm:0.19.12"],\ - ["@esbuild/linux-loong64", "npm:0.19.12"],\ - ["@esbuild/linux-mips64el", "npm:0.19.12"],\ - ["@esbuild/linux-ppc64", "npm:0.19.12"],\ - ["@esbuild/linux-riscv64", "npm:0.19.12"],\ - ["@esbuild/linux-s390x", "npm:0.19.12"],\ - ["@esbuild/linux-x64", "npm:0.19.12"],\ - ["@esbuild/netbsd-x64", "npm:0.19.12"],\ - ["@esbuild/openbsd-x64", "npm:0.19.12"],\ - ["@esbuild/sunos-x64", "npm:0.19.12"],\ - ["@esbuild/win32-arm64", "npm:0.19.12"],\ - ["@esbuild/win32-ia32", "npm:0.19.12"],\ - ["@esbuild/win32-x64", "npm:0.19.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["escape-string-regexp", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-1.0.5-3284de402f-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-2.0.0-aef69d2a25-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-10c0.zip/node_modules/escape-string-regexp/",\ - "packageDependencies": [\ - ["escape-string-regexp", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint", [\ - ["npm:8.56.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-npm-8.56.0-6eec398a41-10c0.zip/node_modules/eslint/",\ - "packageDependencies": [\ - ["eslint", "npm:8.56.0"],\ - ["@eslint-community/eslint-utils", "virtual:6eec398a4132b5372ea5ffc0bc36d4c81602b7e444a89685d0d958016d8fd53df5c0c97c6a8bf99951469e2c6c06135dd192e9309f6e39b1a4c85e0faabe1f6b#npm:4.4.0"],\ - ["@eslint-community/regexpp", "npm:4.10.0"],\ - ["@eslint/eslintrc", "npm:2.1.4"],\ - ["@eslint/js", "npm:8.56.0"],\ - ["@humanwhocodes/config-array", "npm:0.11.14"],\ - ["@humanwhocodes/module-importer", "npm:1.0.1"],\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["@ungap/structured-clone", "npm:1.2.0"],\ - ["ajv", "npm:6.12.6"],\ - ["chalk", "npm:4.1.2"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["doctrine", "npm:3.0.0"],\ - ["escape-string-regexp", "npm:4.0.0"],\ - ["eslint-scope", "npm:7.2.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"],\ - ["espree", "npm:9.6.1"],\ - ["esquery", "npm:1.5.0"],\ - ["esutils", "npm:2.0.3"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["file-entry-cache", "npm:6.0.1"],\ - ["find-up", "npm:5.0.0"],\ - ["glob-parent", "npm:6.0.2"],\ - ["globals", "npm:13.24.0"],\ - ["graphemer", "npm:1.4.0"],\ - ["ignore", "npm:5.3.0"],\ - ["imurmurhash", "npm:0.1.4"],\ - ["is-glob", "npm:4.0.3"],\ - ["is-path-inside", "npm:3.0.3"],\ - ["js-yaml", "npm:4.1.0"],\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"],\ - ["levn", "npm:0.4.1"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["minimatch", "npm:3.1.2"],\ - ["natural-compare", "npm:1.4.0"],\ - ["optionator", "npm:0.9.3"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["text-table", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-config-prettier", [\ - ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "npm:9.1.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0", {\ - "packageLocation": "./.yarn/__virtual__/eslint-config-prettier-virtual-41cfe73c0a/2/.yarn/berry/cache/eslint-config-prettier-npm-9.1.0-0e1fd42d7d-10c0.zip/node_modules/eslint-config-prettier/",\ - "packageDependencies": [\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["@types/eslint", null],\ - ["eslint", "npm:8.56.0"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-plugin-prettier", [\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ - "packageDependencies": [\ - ["eslint-plugin-prettier", "npm:5.1.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2", {\ - "packageLocation": "./.yarn/__virtual__/eslint-plugin-prettier-virtual-1f5a1288d0/2/.yarn/berry/cache/eslint-plugin-prettier-npm-5.1.2-d18bb6313f-10c0.zip/node_modules/eslint-plugin-prettier/",\ - "packageDependencies": [\ - ["eslint-plugin-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.2"],\ - ["@types/eslint", null],\ - ["@types/eslint-config-prettier", null],\ - ["@types/prettier", null],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-config-prettier", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:9.1.0"],\ - ["prettier", "npm:3.1.1"],\ - ["prettier-linter-helpers", "npm:1.0.0"],\ - ["synckit", "npm:0.8.8"]\ - ],\ - "packagePeers": [\ - "@types/eslint-config-prettier",\ - "@types/eslint",\ - "@types/prettier",\ - "eslint-config-prettier",\ - "eslint",\ - "prettier"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-scope", [\ - ["npm:7.2.2", {\ - "packageLocation": "../.yarn/berry/cache/eslint-scope-npm-7.2.2-53cb0df8e8-10c0.zip/node_modules/eslint-scope/",\ - "packageDependencies": [\ - ["eslint-scope", "npm:7.2.2"],\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["eslint-visitor-keys", [\ - ["npm:3.4.3", {\ - "packageLocation": "../.yarn/berry/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-10c0.zip/node_modules/eslint-visitor-keys/",\ - "packageDependencies": [\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["espree", [\ - ["npm:9.6.1", {\ - "packageLocation": "../.yarn/berry/cache/espree-npm-9.6.1-a50722a5a9-10c0.zip/node_modules/espree/",\ - "packageDependencies": [\ - ["espree", "npm:9.6.1"],\ - ["acorn", "npm:8.11.3"],\ - ["acorn-jsx", "virtual:a50722a5a9326b6a5f12350c494c4db3aa0f4caeac45e3e9e5fe071da20014ecfe738fe2ebe2c9c98abae81a4ea86b42f56d776b3bd5ec37f9ad3670c242b242#npm:5.3.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esquery", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/esquery-npm-1.5.0-d8f8a06879-10c0.zip/node_modules/esquery/",\ - "packageDependencies": [\ - ["esquery", "npm:1.5.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esrecurse", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/esrecurse-npm-4.3.0-10b86a887a-10c0.zip/node_modules/esrecurse/",\ - "packageDependencies": [\ - ["esrecurse", "npm:4.3.0"],\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["estraverse", [\ - ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/estraverse-npm-5.3.0-03284f8f63-10c0.zip/node_modules/estraverse/",\ - "packageDependencies": [\ - ["estraverse", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["estree-walker", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/estree-walker-npm-3.0.3-0372979673-10c0.zip/node_modules/estree-walker/",\ - "packageDependencies": [\ - ["estree-walker", "npm:3.0.3"],\ - ["@types/estree", "npm:1.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["esutils", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/esutils-npm-2.0.3-f865beafd5-10c0.zip/node_modules/esutils/",\ - "packageDependencies": [\ - ["esutils", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["event-target-shim", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/event-target-shim-npm-5.0.1-cb48709025-10c0.zip/node_modules/event-target-shim/",\ - "packageDependencies": [\ - ["event-target-shim", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["events", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/events-npm-3.3.0-c280bc7e48-10c0.zip/node_modules/events/",\ - "packageDependencies": [\ - ["events", "npm:3.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["execa", [\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/execa-npm-8.0.1-0211bd404c-10c0.zip/node_modules/execa/",\ - "packageDependencies": [\ - ["execa", "npm:8.0.1"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["get-stream", "npm:8.0.1"],\ - ["human-signals", "npm:5.0.0"],\ - ["is-stream", "npm:3.0.0"],\ - ["merge-stream", "npm:2.0.0"],\ - ["npm-run-path", "npm:5.2.0"],\ - ["onetime", "npm:6.0.0"],\ - ["signal-exit", "npm:4.1.0"],\ - ["strip-final-newline", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["expand-template", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/expand-template-npm-2.0.3-80de959306-10c0.zip/node_modules/expand-template/",\ - "packageDependencies": [\ - ["expand-template", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["exponential-backoff", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/exponential-backoff-npm-3.1.1-04df458b30-10c0.zip/node_modules/exponential-backoff/",\ - "packageDependencies": [\ - ["exponential-backoff", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-content-type-parse", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-content-type-parse-npm-1.1.0-035173e566-10c0.zip/node_modules/fast-content-type-parse/",\ - "packageDependencies": [\ - ["fast-content-type-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-copy", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-copy-npm-3.0.1-b6d4f87c79-10c0.zip/node_modules/fast-copy/",\ - "packageDependencies": [\ - ["fast-copy", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-decode-uri-component", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-decode-uri-component-npm-1.0.1-578ba9fecf-10c0.zip/node_modules/fast-decode-uri-component/",\ - "packageDependencies": [\ - ["fast-decode-uri-component", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-deep-equal", [\ - ["npm:3.1.3", {\ - "packageLocation": "../.yarn/berry/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-10c0.zip/node_modules/fast-deep-equal/",\ - "packageDependencies": [\ - ["fast-deep-equal", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-diff", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-diff-npm-1.3.0-9f19e3b743-10c0.zip/node_modules/fast-diff/",\ - "packageDependencies": [\ - ["fast-diff", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-glob", [\ - ["npm:3.3.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-glob-npm-3.3.2-0a8cb4f2ca-10c0.zip/node_modules/fast-glob/",\ - "packageDependencies": [\ - ["fast-glob", "npm:3.3.2"],\ - ["@nodelib/fs.stat", "npm:2.0.5"],\ - ["@nodelib/fs.walk", "npm:1.2.8"],\ - ["glob-parent", "npm:5.1.2"],\ - ["merge2", "npm:1.4.1"],\ - ["micromatch", "npm:4.0.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-json-stable-stringify", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-10c0.zip/node_modules/fast-json-stable-stringify/",\ - "packageDependencies": [\ - ["fast-json-stable-stringify", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-json-stringify", [\ - ["npm:5.10.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-json-stringify-npm-5.10.0-894a5b8403-10c0.zip/node_modules/fast-json-stringify/",\ - "packageDependencies": [\ - ["fast-json-stringify", "npm:5.10.0"],\ - ["@fastify/deepmerge", "npm:1.3.0"],\ - ["ajv", "npm:8.12.0"],\ - ["ajv-formats", "virtual:d1a90dc51fd4f27c180a2a806ba9ab5e42abb6f7420ba1e8ab979625b7462658b5a2ecaaf9566f9537491e28e0df48947655c2ecc4489537931b03e5f7e9da96#npm:2.1.1"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-uri", "npm:2.3.0"],\ - ["json-schema-ref-resolver", "npm:1.0.1"],\ - ["rfdc", "npm:1.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-levenshtein", [\ - ["npm:2.0.6", {\ - "packageLocation": "../.yarn/berry/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-10c0.zip/node_modules/fast-levenshtein/",\ - "packageDependencies": [\ - ["fast-levenshtein", "npm:2.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-printf", [\ - ["npm:1.6.9", {\ - "packageLocation": "../.yarn/berry/cache/fast-printf-npm-1.6.9-ff63684ff1-10c0.zip/node_modules/fast-printf/",\ - "packageDependencies": [\ - ["fast-printf", "npm:1.6.9"],\ - ["boolean", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-querystring", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/fast-querystring-npm-1.1.2-81dfb4019b-10c0.zip/node_modules/fast-querystring/",\ - "packageDependencies": [\ - ["fast-querystring", "npm:1.1.2"],\ - ["fast-decode-uri-component", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-redact", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-redact-npm-3.3.0-2f2f249914-10c0.zip/node_modules/fast-redact/",\ - "packageDependencies": [\ - ["fast-redact", "npm:3.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-safe-stringify", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/fast-safe-stringify-npm-2.1.1-7ce89033ca-10c0.zip/node_modules/fast-safe-stringify/",\ - "packageDependencies": [\ - ["fast-safe-stringify", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fast-uri", [\ - ["npm:2.3.0", {\ - "packageLocation": "../.yarn/berry/cache/fast-uri-npm-2.3.0-09fd2d434d-10c0.zip/node_modules/fast-uri/",\ - "packageDependencies": [\ - ["fast-uri", "npm:2.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastify", [\ - ["npm:4.26.0", {\ - "packageLocation": "../.yarn/berry/cache/fastify-npm-4.26.0-5de5ebd874-10c0.zip/node_modules/fastify/",\ - "packageDependencies": [\ - ["fastify", "npm:4.26.0"],\ - ["@fastify/ajv-compiler", "npm:3.5.0"],\ - ["@fastify/error", "npm:3.4.1"],\ - ["@fastify/fast-json-stringify-compiler", "npm:4.3.0"],\ - ["abstract-logging", "npm:2.0.1"],\ - ["avvio", "npm:8.2.1"],\ - ["fast-content-type-parse", "npm:1.1.0"],\ - ["fast-json-stringify", "npm:5.10.0"],\ - ["find-my-way", "npm:8.1.0"],\ - ["light-my-request", "npm:5.11.0"],\ - ["pino", "npm:8.17.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["proxy-addr", "npm:2.0.7"],\ - ["rfdc", "npm:1.3.1"],\ - ["secure-json-parse", "npm:2.7.0"],\ - ["semver", "npm:7.5.4"],\ - ["toad-cache", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastify-plugin", [\ - ["npm:4.5.1", {\ - "packageLocation": "../.yarn/berry/cache/fastify-plugin-npm-4.5.1-902caad25f-10c0.zip/node_modules/fastify-plugin/",\ - "packageDependencies": [\ - ["fastify-plugin", "npm:4.5.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fastq", [\ - ["npm:1.17.0", {\ - "packageLocation": "../.yarn/berry/cache/fastq-npm-1.17.0-9e3ff48cec-10c0.zip/node_modules/fastq/",\ - "packageDependencies": [\ - ["fastq", "npm:1.17.0"],\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-entry-cache", [\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/file-entry-cache-npm-6.0.1-31965cf0af-10c0.zip/node_modules/file-entry-cache/",\ - "packageDependencies": [\ - ["file-entry-cache", "npm:6.0.1"],\ - ["flat-cache", "npm:3.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["file-uri-to-path", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/file-uri-to-path-npm-1.0.0-1043ac6206-10c0.zip/node_modules/file-uri-to-path/",\ - "packageDependencies": [\ - ["file-uri-to-path", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fill-range", [\ - ["npm:7.0.1", {\ - "packageLocation": "../.yarn/berry/cache/fill-range-npm-7.0.1-b8b1817caa-10c0.zip/node_modules/fill-range/",\ - "packageDependencies": [\ - ["fill-range", "npm:7.0.1"],\ - ["to-regex-range", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-my-way", [\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/find-my-way-npm-8.1.0-f4a9564376-10c0.zip/node_modules/find-my-way/",\ - "packageDependencies": [\ - ["find-my-way", "npm:8.1.0"],\ - ["fast-deep-equal", "npm:3.1.3"],\ - ["fast-querystring", "npm:1.1.2"],\ - ["safe-regex2", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["find-up", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/find-up-npm-5.0.0-e03e9b796d-10c0.zip/node_modules/find-up/",\ - "packageDependencies": [\ - ["find-up", "npm:5.0.0"],\ - ["locate-path", "npm:6.0.0"],\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flat-cache", [\ - ["npm:3.2.0", {\ - "packageLocation": "../.yarn/berry/cache/flat-cache-npm-3.2.0-9a887f084e-10c0.zip/node_modules/flat-cache/",\ - "packageDependencies": [\ - ["flat-cache", "npm:3.2.0"],\ - ["flatted", "npm:3.2.9"],\ - ["keyv", "npm:4.5.4"],\ - ["rimraf", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["flatted", [\ - ["npm:3.2.9", {\ - "packageLocation": "../.yarn/berry/cache/flatted-npm-3.2.9-0462256d3c-10c0.zip/node_modules/flatted/",\ - "packageDependencies": [\ - ["flatted", "npm:3.2.9"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["foreground-child", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/foreground-child-npm-3.1.1-77e78ed774-10c0.zip/node_modules/foreground-child/",\ - "packageDependencies": [\ - ["foreground-child", "npm:3.1.1"],\ - ["cross-spawn", "npm:7.0.3"],\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["forwarded", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/forwarded-npm-0.2.0-6473dabe35-10c0.zip/node_modules/forwarded/",\ - "packageDependencies": [\ - ["forwarded", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs-constants", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-constants-npm-1.0.0-59576b2177-10c0.zip/node_modules/fs-constants/",\ - "packageDependencies": [\ - ["fs-constants", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs-minipass", [\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-2.1.0-501ef87306-10c0.zip/node_modules/fs-minipass/",\ - "packageDependencies": [\ - ["fs-minipass", "npm:2.1.0"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/fs-minipass-npm-3.0.3-d148d6ac19-10c0.zip/node_modules/fs-minipass/",\ - "packageDependencies": [\ - ["fs-minipass", "npm:3.0.3"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fs.realpath", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/fs.realpath-npm-1.0.0-c8f05d8126-10c0.zip/node_modules/fs.realpath/",\ - "packageDependencies": [\ - ["fs.realpath", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["fsevents", [\ - ["patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1", {\ - "packageLocation": "./.yarn/unplugged/fsevents-patch-6b67494872/node_modules/fsevents/",\ - "packageDependencies": [\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["gauge", [\ - ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/gauge-npm-4.0.4-8f878385e9-10c0.zip/node_modules/gauge/",\ - "packageDependencies": [\ - ["gauge", "npm:4.0.4"],\ - ["aproba", "npm:2.0.0"],\ - ["color-support", "npm:1.1.3"],\ - ["console-control-strings", "npm:1.1.0"],\ - ["has-unicode", "npm:2.0.1"],\ - ["signal-exit", "npm:3.0.7"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"],\ - ["wide-align", "npm:1.1.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-func-name", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/get-func-name-npm-2.0.2-409dbe3703-10c0.zip/node_modules/get-func-name/",\ - "packageDependencies": [\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-stack-trace", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-2.1.1-aad488fc10-10c0.zip/node_modules/get-stack-trace/",\ - "packageDependencies": [\ - ["get-stack-trace", "npm:2.1.1"],\ - ["bluebird", "npm:3.7.2"],\ - ["source-map", "npm:0.8.0-beta.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stack-trace-npm-3.1.1-f0a1ea0bba-10c0.zip/node_modules/get-stack-trace/",\ - "packageDependencies": [\ - ["get-stack-trace", "npm:3.1.1"],\ - ["stacktrace-parser", "npm:0.1.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-stream", [\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/get-stream-npm-8.0.1-c921b4840e-10c0.zip/node_modules/get-stream/",\ - "packageDependencies": [\ - ["get-stream", "npm:8.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["get-tsconfig", [\ - ["npm:4.7.2", {\ - "packageLocation": "../.yarn/berry/cache/get-tsconfig-npm-4.7.2-8fbccd9fcf-10c0.zip/node_modules/get-tsconfig/",\ - "packageDependencies": [\ - ["get-tsconfig", "npm:4.7.2"],\ - ["resolve-pkg-maps", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["github-from-package", [\ - ["npm:0.0.0", {\ - "packageLocation": "../.yarn/berry/cache/github-from-package-npm-0.0.0-519f80c9a1-10c0.zip/node_modules/github-from-package/",\ - "packageDependencies": [\ - ["github-from-package", "npm:0.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob", [\ - ["npm:10.3.10", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-10.3.10-da1ef8b112-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:10.3.10"],\ - ["foreground-child", "npm:3.1.1"],\ - ["jackspeak", "npm:2.3.6"],\ - ["minimatch", "npm:9.0.3"],\ - ["minipass", "npm:7.0.4"],\ - ["path-scurry", "npm:1.10.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.3", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-7.2.3-2d866d17a5-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:7.2.3"],\ - ["fs.realpath", "npm:1.0.0"],\ - ["inflight", "npm:1.0.6"],\ - ["inherits", "npm:2.0.4"],\ - ["minimatch", "npm:3.1.2"],\ - ["once", "npm:1.4.0"],\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/glob-npm-8.1.0-65f64af8b1-10c0.zip/node_modules/glob/",\ - "packageDependencies": [\ - ["glob", "npm:8.1.0"],\ - ["fs.realpath", "npm:1.0.0"],\ - ["inflight", "npm:1.0.6"],\ - ["inherits", "npm:2.0.4"],\ - ["minimatch", "npm:5.1.6"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["glob-parent", [\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-5.1.2-021ab32634-10c0.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:5.1.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/glob-parent-npm-6.0.2-2cbef12738-10c0.zip/node_modules/glob-parent/",\ - "packageDependencies": [\ - ["glob-parent", "npm:6.0.2"],\ - ["is-glob", "npm:4.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globals", [\ - ["npm:13.24.0", {\ - "packageLocation": "../.yarn/berry/cache/globals-npm-13.24.0-cc7713139c-10c0.zip/node_modules/globals/",\ - "packageDependencies": [\ - ["globals", "npm:13.24.0"],\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["globby", [\ - ["npm:11.1.0", {\ - "packageLocation": "../.yarn/berry/cache/globby-npm-11.1.0-bdcdf20c71-10c0.zip/node_modules/globby/",\ - "packageDependencies": [\ - ["globby", "npm:11.1.0"],\ - ["array-union", "npm:2.1.0"],\ - ["dir-glob", "npm:3.0.1"],\ - ["fast-glob", "npm:3.3.2"],\ - ["ignore", "npm:5.3.0"],\ - ["merge2", "npm:1.4.1"],\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graceful-fs", [\ - ["npm:4.2.11", {\ - "packageLocation": "../.yarn/berry/cache/graceful-fs-npm-4.2.11-24bb648a68-10c0.zip/node_modules/graceful-fs/",\ - "packageDependencies": [\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["graphemer", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/graphemer-npm-1.4.0-0627732d35-10c0.zip/node_modules/graphemer/",\ - "packageDependencies": [\ - ["graphemer", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-ansi", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-ansi-npm-2.0.0-9bf0cff2af-10c0.zip/node_modules/has-ansi/",\ - "packageDependencies": [\ - ["has-ansi", "npm:2.0.0"],\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-flag", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/has-flag-npm-4.0.0-32af9f0536-10c0.zip/node_modules/has-flag/",\ - "packageDependencies": [\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["has-unicode", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/has-unicode-npm-2.0.1-893adb4747-10c0.zip/node_modules/has-unicode/",\ - "packageDependencies": [\ - ["has-unicode", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["help-me", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/help-me-npm-5.0.0-6239bd310f-10c0.zip/node_modules/help-me/",\ - "packageDependencies": [\ - ["help-me", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["html-escaper", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/html-escaper-npm-2.0.2-38e51ef294-10c0.zip/node_modules/html-escaper/",\ - "packageDependencies": [\ - ["html-escaper", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-cache-semantics", [\ - ["npm:4.1.1", {\ - "packageLocation": "../.yarn/berry/cache/http-cache-semantics-npm-4.1.1-1120131375-10c0.zip/node_modules/http-cache-semantics/",\ - "packageDependencies": [\ - ["http-cache-semantics", "npm:4.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-errors", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-errors-npm-2.0.0-3f1c503428-10c0.zip/node_modules/http-errors/",\ - "packageDependencies": [\ - ["http-errors", "npm:2.0.0"],\ - ["depd", "npm:2.0.0"],\ - ["inherits", "npm:2.0.4"],\ - ["setprototypeof", "npm:1.2.0"],\ - ["statuses", "npm:2.0.1"],\ - ["toidentifier", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["http-proxy-agent", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-4.0.1-ce9ef61788-10c0.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["@tootallnate/once", "npm:1.1.2"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/http-proxy-agent-npm-7.0.0-106a57cc8c-10c0.zip/node_modules/http-proxy-agent/",\ - "packageDependencies": [\ - ["http-proxy-agent", "npm:7.0.0"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["https-proxy-agent", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-5.0.1-42d65f358e-10c0.zip/node_modules/https-proxy-agent/",\ - "packageDependencies": [\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.2", {\ - "packageLocation": "../.yarn/berry/cache/https-proxy-agent-npm-7.0.2-83ea6a5d42-10c0.zip/node_modules/https-proxy-agent/",\ - "packageDependencies": [\ - ["https-proxy-agent", "npm:7.0.2"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["human-signals", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/human-signals-npm-5.0.0-ed25a9f58c-10c0.zip/node_modules/human-signals/",\ - "packageDependencies": [\ - ["human-signals", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["humanize-ms", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/humanize-ms-npm-1.2.1-e942bd7329-10c0.zip/node_modules/humanize-ms/",\ - "packageDependencies": [\ - ["humanize-ms", "npm:1.2.1"],\ - ["ms", "npm:2.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["hyperid", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/hyperid-npm-2.3.1-57f5993977-10c0.zip/node_modules/hyperid/",\ - "packageDependencies": [\ - ["hyperid", "npm:2.3.1"],\ - ["uuid", "npm:8.3.2"],\ - ["uuid-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["iconv-lite", [\ - ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/iconv-lite-npm-0.6.3-24b8aae27e-10c0.zip/node_modules/iconv-lite/",\ - "packageDependencies": [\ - ["iconv-lite", "npm:0.6.3"],\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ieee754", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/ieee754-npm-1.2.1-fb63b3caeb-10c0.zip/node_modules/ieee754/",\ - "packageDependencies": [\ - ["ieee754", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ignore", [\ - ["npm:5.3.0", {\ - "packageLocation": "../.yarn/berry/cache/ignore-npm-5.3.0-fb0f5fa062-10c0.zip/node_modules/ignore/",\ - "packageDependencies": [\ - ["ignore", "npm:5.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["import-fresh", [\ - ["npm:3.3.0", {\ - "packageLocation": "../.yarn/berry/cache/import-fresh-npm-3.3.0-3e34265ca9-10c0.zip/node_modules/import-fresh/",\ - "packageDependencies": [\ - ["import-fresh", "npm:3.3.0"],\ - ["parent-module", "npm:1.0.1"],\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["imurmurhash", [\ - ["npm:0.1.4", {\ - "packageLocation": "../.yarn/berry/cache/imurmurhash-npm-0.1.4-610c5068a0-10c0.zip/node_modules/imurmurhash/",\ - "packageDependencies": [\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["indent-string", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/indent-string-npm-4.0.0-7b717435b2-10c0.zip/node_modules/indent-string/",\ - "packageDependencies": [\ - ["indent-string", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["infer-owner", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/infer-owner-npm-1.0.4-685ac3d2af-10c0.zip/node_modules/infer-owner/",\ - "packageDependencies": [\ - ["infer-owner", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inflight", [\ - ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/inflight-npm-1.0.6-ccedb4b908-10c0.zip/node_modules/inflight/",\ - "packageDependencies": [\ - ["inflight", "npm:1.0.6"],\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["inherits", [\ - ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/inherits-npm-2.0.4-c66b3957a0-10c0.zip/node_modules/inherits/",\ - "packageDependencies": [\ - ["inherits", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ini", [\ - ["npm:1.3.8", {\ - "packageLocation": "../.yarn/berry/cache/ini-npm-1.3.8-fb5040b4c0-10c0.zip/node_modules/ini/",\ - "packageDependencies": [\ - ["ini", "npm:1.3.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["int64-buffer", [\ - ["npm:0.99.1007", {\ - "packageLocation": "../.yarn/berry/cache/int64-buffer-npm-0.99.1007-de5656c03a-10c0.zip/node_modules/int64-buffer/",\ - "packageDependencies": [\ - ["int64-buffer", "npm:0.99.1007"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ip", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ip-npm-2.0.1-ee48691f03-10c0.zip/node_modules/ip/",\ - "packageDependencies": [\ - ["ip", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ipaddr.js", [\ - ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/ipaddr.js-npm-1.9.1-19ae7878b4-10c0.zip/node_modules/ipaddr.js/",\ - "packageDependencies": [\ - ["ipaddr.js", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-extglob", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/is-extglob-npm-2.1.1-0870ea68b5-10c0.zip/node_modules/is-extglob/",\ - "packageDependencies": [\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-fullwidth-code-point", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-10c0.zip/node_modules/is-fullwidth-code-point/",\ - "packageDependencies": [\ - ["is-fullwidth-code-point", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-glob", [\ - ["npm:4.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-glob-npm-4.0.3-cb87bf1bdb-10c0.zip/node_modules/is-glob/",\ - "packageDependencies": [\ - ["is-glob", "npm:4.0.3"],\ - ["is-extglob", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-lambda", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/is-lambda-npm-1.0.1-7ab55bc8a8-10c0.zip/node_modules/is-lambda/",\ - "packageDependencies": [\ - ["is-lambda", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-number", [\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-number-npm-7.0.0-060086935c-10c0.zip/node_modules/is-number/",\ - "packageDependencies": [\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-path-inside", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/is-path-inside-npm-3.0.3-2ea0ef44fd-10c0.zip/node_modules/is-path-inside/",\ - "packageDependencies": [\ - ["is-path-inside", "npm:3.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-plain-object", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-plain-object-npm-5.0.0-285b70faa3-10c0.zip/node_modules/is-plain-object/",\ - "packageDependencies": [\ - ["is-plain-object", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["is-stream", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/is-stream-npm-3.0.0-a77ac9a62e-10c0.zip/node_modules/is-stream/",\ - "packageDependencies": [\ - ["is-stream", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["isexe", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-2.0.0-b58870bd2e-10c0.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/isexe-npm-3.1.1-9c0061eead-10c0.zip/node_modules/isexe/",\ - "packageDependencies": [\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["iso8601-duration", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/iso8601-duration-npm-1.3.0-d04d4298de-10c0.zip/node_modules/iso8601-duration/",\ - "packageDependencies": [\ - ["iso8601-duration", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-coverage", [\ - ["npm:3.2.2", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-coverage-npm-3.2.2-5c0526e059-10c0.zip/node_modules/istanbul-lib-coverage/",\ - "packageDependencies": [\ - ["istanbul-lib-coverage", "npm:3.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-report", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-report-npm-3.0.1-b17446ab24-10c0.zip/node_modules/istanbul-lib-report/",\ - "packageDependencies": [\ - ["istanbul-lib-report", "npm:3.0.1"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["make-dir", "npm:4.0.0"],\ - ["supports-color", "npm:7.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-lib-source-maps", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-lib-source-maps-npm-4.0.1-af0f859df7-10c0.zip/node_modules/istanbul-lib-source-maps/",\ - "packageDependencies": [\ - ["istanbul-lib-source-maps", "npm:4.0.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["istanbul-lib-coverage", "npm:3.2.2"],\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["istanbul-reports", [\ - ["npm:3.1.6", {\ - "packageLocation": "../.yarn/berry/cache/istanbul-reports-npm-3.1.6-66918eb97f-10c0.zip/node_modules/istanbul-reports/",\ - "packageDependencies": [\ - ["istanbul-reports", "npm:3.1.6"],\ - ["html-escaper", "npm:2.0.2"],\ - ["istanbul-lib-report", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jackspeak", [\ - ["npm:2.3.6", {\ - "packageLocation": "../.yarn/berry/cache/jackspeak-npm-2.3.6-42e1233172-10c0.zip/node_modules/jackspeak/",\ - "packageDependencies": [\ - ["jackspeak", "npm:2.3.6"],\ - ["@isaacs/cliui", "npm:8.0.2"],\ - ["@pkgjs/parseargs", "npm:0.11.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["joycon", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/joycon-npm-3.1.1-3033e0e5f4-10c0.zip/node_modules/joycon/",\ - "packageDependencies": [\ - ["joycon", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js-yaml", [\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/js-yaml-npm-4.1.0-3606f32312-10c0.zip/node_modules/js-yaml/",\ - "packageDependencies": [\ - ["js-yaml", "npm:4.1.0"],\ - ["argparse", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["js2xmlparser", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/js2xmlparser-npm-4.0.2-8dc434a23c-10c0.zip/node_modules/js2xmlparser/",\ - "packageDependencies": [\ - ["js2xmlparser", "npm:4.0.2"],\ - ["xmlcreate", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsdoc", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/jsdoc-npm-4.0.2-9d339d556b-10c0.zip/node_modules/jsdoc/",\ - "packageDependencies": [\ - ["jsdoc", "npm:4.0.2"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@jsdoc/salty", "npm:0.2.7"],\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["bluebird", "npm:3.7.2"],\ - ["catharsis", "npm:0.9.0"],\ - ["escape-string-regexp", "npm:2.0.0"],\ - ["js2xmlparser", "npm:4.0.2"],\ - ["klaw", "npm:3.0.0"],\ - ["markdown-it", "npm:12.3.2"],\ - ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ - ["marked", "npm:4.3.0"],\ - ["mkdirp", "npm:1.0.4"],\ - ["requizzle", "npm:0.2.4"],\ - ["strip-json-comments", "npm:3.1.1"],\ - ["underscore", "npm:1.13.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-buffer", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-buffer-npm-3.0.1-f8f6d20603-10c0.zip/node_modules/json-buffer/",\ - "packageDependencies": [\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-schema-ref-resolver", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-ref-resolver-npm-1.0.1-b4bc8e91c0-10c0.zip/node_modules/json-schema-ref-resolver/",\ - "packageDependencies": [\ - ["json-schema-ref-resolver", "npm:1.0.1"],\ - ["fast-deep-equal", "npm:3.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-schema-traverse", [\ - ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-0.4.1-4759091693-10c0.zip/node_modules/json-schema-traverse/",\ - "packageDependencies": [\ - ["json-schema-traverse", "npm:0.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/json-schema-traverse-npm-1.0.0-fb3684f4f0-10c0.zip/node_modules/json-schema-traverse/",\ - "packageDependencies": [\ - ["json-schema-traverse", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["json-stable-stringify-without-jsonify", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-10c0.zip/node_modules/json-stable-stringify-without-jsonify/",\ - "packageDependencies": [\ - ["json-stable-stringify-without-jsonify", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["jsonc-parser", [\ - ["npm:3.2.1", {\ - "packageLocation": "../.yarn/berry/cache/jsonc-parser-npm-3.2.1-776f636a18-10c0.zip/node_modules/jsonc-parser/",\ - "packageDependencies": [\ - ["jsonc-parser", "npm:3.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["keyv", [\ - ["npm:4.5.4", {\ - "packageLocation": "../.yarn/berry/cache/keyv-npm-4.5.4-4c8e2cf7f7-10c0.zip/node_modules/keyv/",\ - "packageDependencies": [\ - ["keyv", "npm:4.5.4"],\ - ["json-buffer", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["klaw", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/klaw-npm-3.0.0-74149fbd53-10c0.zip/node_modules/klaw/",\ - "packageDependencies": [\ - ["klaw", "npm:3.0.0"],\ - ["graceful-fs", "npm:4.2.11"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["levn", [\ - ["npm:0.4.1", {\ - "packageLocation": "../.yarn/berry/cache/levn-npm-0.4.1-d183b2d7bb-10c0.zip/node_modules/levn/",\ - "packageDependencies": [\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["light-my-request", [\ - ["npm:5.11.0", {\ - "packageLocation": "../.yarn/berry/cache/light-my-request-npm-5.11.0-d6f35c2a2c-10c0.zip/node_modules/light-my-request/",\ - "packageDependencies": [\ - ["light-my-request", "npm:5.11.0"],\ - ["cookie", "npm:0.5.0"],\ - ["process-warning", "npm:2.3.2"],\ - ["set-cookie-parser", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["linkify-it", [\ - ["npm:3.0.3", {\ - "packageLocation": "../.yarn/berry/cache/linkify-it-npm-3.0.3-6880fe29c1-10c0.zip/node_modules/linkify-it/",\ - "packageDependencies": [\ - ["linkify-it", "npm:3.0.3"],\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["local-pkg", [\ - ["npm:0.5.0", {\ - "packageLocation": "../.yarn/berry/cache/local-pkg-npm-0.5.0-c126c7ec8b-10c0.zip/node_modules/local-pkg/",\ - "packageDependencies": [\ - ["local-pkg", "npm:0.5.0"],\ - ["mlly", "npm:1.5.0"],\ - ["pkg-types", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["locate-path", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/locate-path-npm-6.0.0-06a1e4c528-10c0.zip/node_modules/locate-path/",\ - "packageDependencies": [\ - ["locate-path", "npm:6.0.0"],\ - ["p-locate", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash", [\ - ["npm:4.17.21", {\ - "packageLocation": "../.yarn/berry/cache/lodash-npm-4.17.21-6382451519-10c0.zip/node_modules/lodash/",\ - "packageDependencies": [\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.merge", [\ - ["npm:4.6.2", {\ - "packageLocation": "../.yarn/berry/cache/lodash.merge-npm-4.6.2-77cb4416bf-10c0.zip/node_modules/lodash.merge/",\ - "packageDependencies": [\ - ["lodash.merge", "npm:4.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lodash.sortby", [\ - ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/lodash.sortby-npm-4.7.0-fda8ab950d-10c0.zip/node_modules/lodash.sortby/",\ - "packageDependencies": [\ - ["lodash.sortby", "npm:4.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loglevel", [\ - ["npm:1.9.1", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-npm-1.9.1-73cb1bc891-10c0.zip/node_modules/loglevel/",\ - "packageDependencies": [\ - ["loglevel", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loglevel-colored-level-prefix", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/loglevel-colored-level-prefix-npm-1.0.0-6b3b28f871-10c0.zip/node_modules/loglevel-colored-level-prefix/",\ - "packageDependencies": [\ - ["loglevel-colored-level-prefix", "npm:1.0.0"],\ - ["chalk", "npm:1.1.3"],\ - ["loglevel", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["loupe", [\ - ["npm:2.3.7", {\ - "packageLocation": "../.yarn/berry/cache/loupe-npm-2.3.7-f294c2ef33-10c0.zip/node_modules/loupe/",\ - "packageDependencies": [\ - ["loupe", "npm:2.3.7"],\ - ["get-func-name", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["lru-cache", [\ - ["npm:10.2.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-10.2.0-b9f6b44740-10c0.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:10.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/lru-cache-npm-6.0.0-b4c8668fe1-10c0.zip/node_modules/lru-cache/",\ - "packageDependencies": [\ - ["lru-cache", "npm:6.0.0"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["magic-string", [\ - ["npm:0.30.5", {\ - "packageLocation": "../.yarn/berry/cache/magic-string-npm-0.30.5-dffb7e6a73-10c0.zip/node_modules/magic-string/",\ - "packageDependencies": [\ - ["magic-string", "npm:0.30.5"],\ - ["@jridgewell/sourcemap-codec", "npm:1.4.15"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["magicast", [\ - ["npm:0.3.3", {\ - "packageLocation": "../.yarn/berry/cache/magicast-npm-0.3.3-f641a80583-10c0.zip/node_modules/magicast/",\ - "packageDependencies": [\ - ["magicast", "npm:0.3.3"],\ - ["@babel/parser", "npm:7.23.9"],\ - ["@babel/types", "npm:7.23.9"],\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-dir", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-dir-npm-4.0.0-ec3cd921cc-10c0.zip/node_modules/make-dir/",\ - "packageDependencies": [\ - ["make-dir", "npm:4.0.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-error", [\ - ["npm:1.3.6", {\ - "packageLocation": "../.yarn/berry/cache/make-error-npm-1.3.6-ccb85d9458-10c0.zip/node_modules/make-error/",\ - "packageDependencies": [\ - ["make-error", "npm:1.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["make-fetch-happen", [\ - ["npm:13.0.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-13.0.0-f87a92bb87-10c0.zip/node_modules/make-fetch-happen/",\ - "packageDependencies": [\ - ["make-fetch-happen", "npm:13.0.0"],\ - ["@npmcli/agent", "npm:2.2.0"],\ - ["cacache", "npm:18.0.2"],\ - ["http-cache-semantics", "npm:4.1.1"],\ - ["is-lambda", "npm:1.0.1"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-fetch", "npm:3.0.4"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["negotiator", "npm:0.6.3"],\ - ["promise-retry", "npm:2.0.1"],\ - ["ssri", "npm:10.0.5"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.1.0", {\ - "packageLocation": "../.yarn/berry/cache/make-fetch-happen-npm-9.1.0-23184ad7f6-10c0.zip/node_modules/make-fetch-happen/",\ - "packageDependencies": [\ - ["make-fetch-happen", "npm:9.1.0"],\ - ["agentkeepalive", "npm:4.5.0"],\ - ["cacache", "npm:15.3.0"],\ - ["http-cache-semantics", "npm:4.1.1"],\ - ["http-proxy-agent", "npm:4.0.1"],\ - ["https-proxy-agent", "npm:5.0.1"],\ - ["is-lambda", "npm:1.0.1"],\ - ["lru-cache", "npm:6.0.0"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass-fetch", "npm:1.4.1"],\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["negotiator", "npm:0.6.3"],\ - ["promise-retry", "npm:2.0.1"],\ - ["socks-proxy-agent", "npm:6.2.1"],\ - ["ssri", "npm:8.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["markdown-it", [\ - ["npm:12.3.2", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-npm-12.3.2-6c66b716e8-10c0.zip/node_modules/markdown-it/",\ - "packageDependencies": [\ - ["markdown-it", "npm:12.3.2"],\ - ["argparse", "npm:2.0.1"],\ - ["entities", "npm:2.1.0"],\ - ["linkify-it", "npm:3.0.3"],\ - ["mdurl", "npm:1.0.1"],\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["markdown-it-anchor", [\ - ["npm:8.6.7", {\ - "packageLocation": "../.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ - "packageDependencies": [\ - ["markdown-it-anchor", "npm:8.6.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7", {\ - "packageLocation": "./.yarn/__virtual__/markdown-it-anchor-virtual-f684582c93/2/.yarn/berry/cache/markdown-it-anchor-npm-8.6.7-698cb24368-10c0.zip/node_modules/markdown-it-anchor/",\ - "packageDependencies": [\ - ["markdown-it-anchor", "virtual:9d339d556bd8fae7e6f5c5f78771f4390f9586256a10470eecc242799b047c0f9ba33fc6944d0576d22363303c08a3bcb41c9d58673dfd9a48016a956f2795e2#npm:8.6.7"],\ - ["@types/markdown-it", "npm:12.2.3"],\ - ["markdown-it", "npm:12.3.2"]\ - ],\ - "packagePeers": [\ - "@types/markdown-it",\ - "markdown-it"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["marked", [\ - ["npm:4.3.0", {\ - "packageLocation": "../.yarn/berry/cache/marked-npm-4.3.0-e7ef9e874f-10c0.zip/node_modules/marked/",\ - "packageDependencies": [\ - ["marked", "npm:4.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mdurl", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/mdurl-npm-1.0.1-054d974269-10c0.zip/node_modules/mdurl/",\ - "packageDependencies": [\ - ["mdurl", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["media-typer", [\ - ["npm:0.3.0", {\ - "packageLocation": "../.yarn/berry/cache/media-typer-npm-0.3.0-8674f8f0f5-10c0.zip/node_modules/media-typer/",\ - "packageDependencies": [\ - ["media-typer", "npm:0.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge-stream", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/merge-stream-npm-2.0.0-2ac83efea5-10c0.zip/node_modules/merge-stream/",\ - "packageDependencies": [\ - ["merge-stream", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["merge2", [\ - ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/merge2-npm-1.4.1-a2507bd06c-10c0.zip/node_modules/merge2/",\ - "packageDependencies": [\ - ["merge2", "npm:1.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["micromatch", [\ - ["npm:4.0.5", {\ - "packageLocation": "../.yarn/berry/cache/micromatch-npm-4.0.5-cfab5d7669-10c0.zip/node_modules/micromatch/",\ - "packageDependencies": [\ - ["micromatch", "npm:4.0.5"],\ - ["braces", "npm:3.0.2"],\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mime-db", [\ - ["npm:1.52.0", {\ - "packageLocation": "../.yarn/berry/cache/mime-db-npm-1.52.0-b5371d6fd2-10c0.zip/node_modules/mime-db/",\ - "packageDependencies": [\ - ["mime-db", "npm:1.52.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mime-types", [\ - ["npm:2.1.35", {\ - "packageLocation": "../.yarn/berry/cache/mime-types-npm-2.1.35-dd9ea9f3e2-10c0.zip/node_modules/mime-types/",\ - "packageDependencies": [\ - ["mime-types", "npm:2.1.35"],\ - ["mime-db", "npm:1.52.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mimic-fn", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-fn-npm-4.0.0-feaeda79f7-10c0.zip/node_modules/mimic-fn/",\ - "packageDependencies": [\ - ["mimic-fn", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mimic-response", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/mimic-response-npm-3.1.0-a4a24b4e96-10c0.zip/node_modules/mimic-response/",\ - "packageDependencies": [\ - ["mimic-response", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minimatch", [\ - ["npm:3.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-3.1.2-9405269906-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:3.1.2"],\ - ["brace-expansion", "npm:1.1.11"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.6", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-5.1.6-1e71429f4c-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:5.1.6"],\ - ["brace-expansion", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:9.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minimatch-npm-9.0.3-69d7d6fad5-10c0.zip/node_modules/minimatch/",\ - "packageDependencies": [\ - ["minimatch", "npm:9.0.3"],\ - ["brace-expansion", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minimist", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/minimist-npm-1.2.8-d7af7b1dce-10c0.zip/node_modules/minimist/",\ - "packageDependencies": [\ - ["minimist", "npm:1.2.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass", [\ - ["npm:3.3.6", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-3.3.6-b8d93a945b-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:3.3.6"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-5.0.0-c64fb63c92-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:5.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-npm-7.0.4-eacb4e042e-10c0.zip/node_modules/minipass/",\ - "packageDependencies": [\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-collect", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-1.0.2-3b4676eab5-10c0.zip/node_modules/minipass-collect/",\ - "packageDependencies": [\ - ["minipass-collect", "npm:1.0.2"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-collect-npm-2.0.1-73d3907e40-10c0.zip/node_modules/minipass-collect/",\ - "packageDependencies": [\ - ["minipass-collect", "npm:2.0.1"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-fetch", [\ - ["npm:1.4.1", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-1.4.1-2d67357feb-10c0.zip/node_modules/minipass-fetch/",\ - "packageDependencies": [\ - ["minipass-fetch", "npm:1.4.1"],\ - ["encoding", "npm:0.1.13"],\ - ["minipass", "npm:3.3.6"],\ - ["minipass-sized", "npm:1.0.3"],\ - ["minizlib", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-fetch-npm-3.0.4-200ac7c66d-10c0.zip/node_modules/minipass-fetch/",\ - "packageDependencies": [\ - ["minipass-fetch", "npm:3.0.4"],\ - ["encoding", "npm:0.1.13"],\ - ["minipass", "npm:7.0.4"],\ - ["minipass-sized", "npm:1.0.3"],\ - ["minizlib", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-flush", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/minipass-flush-npm-1.0.5-efe79d9826-10c0.zip/node_modules/minipass-flush/",\ - "packageDependencies": [\ - ["minipass-flush", "npm:1.0.5"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-pipeline", [\ - ["npm:1.2.4", {\ - "packageLocation": "../.yarn/berry/cache/minipass-pipeline-npm-1.2.4-5924cb077f-10c0.zip/node_modules/minipass-pipeline/",\ - "packageDependencies": [\ - ["minipass-pipeline", "npm:1.2.4"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minipass-sized", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/minipass-sized-npm-1.0.3-306d86f432-10c0.zip/node_modules/minipass-sized/",\ - "packageDependencies": [\ - ["minipass-sized", "npm:1.0.3"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["minizlib", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/minizlib-npm-2.1.2-ea89cd0cfb-10c0.zip/node_modules/minizlib/",\ - "packageDependencies": [\ - ["minizlib", "npm:2.1.2"],\ - ["minipass", "npm:3.3.6"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mkdirp", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-npm-1.0.4-37f6ef56b9-10c0.zip/node_modules/mkdirp/",\ - "packageDependencies": [\ - ["mkdirp", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mkdirp-classic", [\ - ["npm:0.5.3", {\ - "packageLocation": "../.yarn/berry/cache/mkdirp-classic-npm-0.5.3-3b5c991910-10c0.zip/node_modules/mkdirp-classic/",\ - "packageDependencies": [\ - ["mkdirp-classic", "npm:0.5.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["mlly", [\ - ["npm:1.5.0", {\ - "packageLocation": "../.yarn/berry/cache/mlly-npm-1.5.0-dc7923db5f-10c0.zip/node_modules/mlly/",\ - "packageDependencies": [\ - ["mlly", "npm:1.5.0"],\ - ["acorn", "npm:8.11.3"],\ - ["pathe", "npm:1.1.2"],\ - ["pkg-types", "npm:1.0.3"],\ - ["ufo", "npm:1.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["moment", [\ - ["npm:2.30.1", {\ - "packageLocation": "../.yarn/berry/cache/moment-npm-2.30.1-1c51a5c631-10c0.zip/node_modules/moment/",\ - "packageDependencies": [\ - ["moment", "npm:2.30.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ms", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.2-ec0c1512ff-10c0.zip/node_modules/ms/",\ - "packageDependencies": [\ - ["ms", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.1.3", {\ - "packageLocation": "../.yarn/berry/cache/ms-npm-2.1.3-81ff3cfac1-10c0.zip/node_modules/ms/",\ - "packageDependencies": [\ - ["ms", "npm:2.1.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["multi-fork", [\ - ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/multi-fork-npm-0.0.2-01909543ba-10c0.zip/node_modules/multi-fork/",\ - "packageDependencies": [\ - ["multi-fork", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["nanoid", [\ - ["npm:3.3.7", {\ - "packageLocation": "../.yarn/berry/cache/nanoid-npm-3.3.7-98824ba130-10c0.zip/node_modules/nanoid/",\ - "packageDependencies": [\ - ["nanoid", "npm:3.3.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["napi-build-utils", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/napi-build-utils-npm-1.0.2-892e4bba56-10c0.zip/node_modules/napi-build-utils/",\ - "packageDependencies": [\ - ["napi-build-utils", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["natural-compare", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/natural-compare-npm-1.4.0-97b75b362d-10c0.zip/node_modules/natural-compare/",\ - "packageDependencies": [\ - ["natural-compare", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["negotiator", [\ - ["npm:0.6.3", {\ - "packageLocation": "../.yarn/berry/cache/negotiator-npm-0.6.3-9d50e36171-10c0.zip/node_modules/negotiator/",\ - "packageDependencies": [\ - ["negotiator", "npm:0.6.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-abi", [\ - ["npm:3.54.0", {\ - "packageLocation": "../.yarn/berry/cache/node-abi-npm-3.54.0-b13bba5e2d-10c0.zip/node_modules/node-abi/",\ - "packageDependencies": [\ - ["node-abi", "npm:3.54.0"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-addon-api", [\ - ["npm:7.1.0", {\ - "packageLocation": "./.yarn/unplugged/node-addon-api-npm-7.1.0-619a324431/node_modules/node-addon-api/",\ - "packageDependencies": [\ - ["node-addon-api", "npm:7.1.0"],\ - ["node-gyp", "npm:10.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-fetch", [\ - ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ - "packageDependencies": [\ - ["node-fetch", "npm:2.7.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0", {\ - "packageLocation": "./.yarn/__virtual__/node-fetch-virtual-4662a48060/2/.yarn/berry/cache/node-fetch-npm-2.7.0-587d57004e-10c0.zip/node_modules/node-fetch/",\ - "packageDependencies": [\ - ["node-fetch", "virtual:66755dd86c9cccee48ba1c6a25826caa62885f0a308c1a3e8a670160a3b6ce78c262c9abf77954dfc2d6969019972365c0b068ff181ee1dfdabbbb35ae075cd2#npm:2.7.0"],\ - ["@types/encoding", null],\ - ["encoding", null],\ - ["whatwg-url", "npm:5.0.0"]\ - ],\ - "packagePeers": [\ - "@types/encoding",\ - "encoding"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["node-gyp", [\ - ["npm:10.0.1", {\ - "packageLocation": "./.yarn/unplugged/node-gyp-npm-10.0.1-48708ce70b/node_modules/node-gyp/",\ - "packageDependencies": [\ - ["node-gyp", "npm:10.0.1"],\ - ["env-paths", "npm:2.2.1"],\ - ["exponential-backoff", "npm:3.1.1"],\ - ["glob", "npm:10.3.10"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["make-fetch-happen", "npm:13.0.0"],\ - ["nopt", "npm:7.2.0"],\ - ["proc-log", "npm:3.0.0"],\ - ["semver", "npm:7.5.4"],\ - ["tar", "npm:6.2.0"],\ - ["which", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.4.1", {\ - "packageLocation": "./.yarn/unplugged/node-gyp-npm-8.4.1-13c90a9c9b/node_modules/node-gyp/",\ - "packageDependencies": [\ - ["node-gyp", "npm:8.4.1"],\ - ["env-paths", "npm:2.2.1"],\ - ["glob", "npm:7.2.3"],\ - ["graceful-fs", "npm:4.2.11"],\ - ["make-fetch-happen", "npm:9.1.0"],\ - ["nopt", "npm:5.0.0"],\ - ["npmlog", "npm:6.0.2"],\ - ["rimraf", "npm:3.0.2"],\ - ["semver", "npm:7.5.4"],\ - ["tar", "npm:6.2.0"],\ - ["which", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["nopt", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-5.0.0-304b40fbfe-10c0.zip/node_modules/nopt/",\ - "packageDependencies": [\ - ["nopt", "npm:5.0.0"],\ - ["abbrev", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/nopt-npm-7.2.0-dd734b678d-10c0.zip/node_modules/nopt/",\ - "packageDependencies": [\ - ["nopt", "npm:7.2.0"],\ - ["abbrev", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["npm-run-path", [\ - ["npm:5.2.0", {\ - "packageLocation": "../.yarn/berry/cache/npm-run-path-npm-5.2.0-f449a9c258-10c0.zip/node_modules/npm-run-path/",\ - "packageDependencies": [\ - ["npm-run-path", "npm:5.2.0"],\ - ["path-key", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["npmlog", [\ - ["npm:6.0.2", {\ - "packageLocation": "../.yarn/berry/cache/npmlog-npm-6.0.2-e0e69455c7-10c0.zip/node_modules/npmlog/",\ - "packageDependencies": [\ - ["npmlog", "npm:6.0.2"],\ - ["are-we-there-yet", "npm:3.0.1"],\ - ["console-control-strings", "npm:1.1.0"],\ - ["gauge", "npm:4.0.4"],\ - ["set-blocking", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["obuf", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/obuf-npm-1.1.2-8db5fae8dd-10c0.zip/node_modules/obuf/",\ - "packageDependencies": [\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["on-exit-leak-free", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/on-exit-leak-free-npm-2.1.2-0d0c5ad67d-10c0.zip/node_modules/on-exit-leak-free/",\ - "packageDependencies": [\ - ["on-exit-leak-free", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["once", [\ - ["npm:1.4.0", {\ - "packageLocation": "../.yarn/berry/cache/once-npm-1.4.0-ccf03ef07a-10c0.zip/node_modules/once/",\ - "packageDependencies": [\ - ["once", "npm:1.4.0"],\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["onetime", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/onetime-npm-6.0.0-4f3684e29a-10c0.zip/node_modules/onetime/",\ - "packageDependencies": [\ - ["onetime", "npm:6.0.0"],\ - ["mimic-fn", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["optionator", [\ - ["npm:0.9.3", {\ - "packageLocation": "../.yarn/berry/cache/optionator-npm-0.9.3-56c3a4bf80-10c0.zip/node_modules/optionator/",\ - "packageDependencies": [\ - ["optionator", "npm:0.9.3"],\ - ["@aashutoshrathi/word-wrap", "npm:1.2.6"],\ - ["deep-is", "npm:0.1.4"],\ - ["fast-levenshtein", "npm:2.0.6"],\ - ["levn", "npm:0.4.1"],\ - ["prelude-ls", "npm:1.2.1"],\ - ["type-check", "npm:0.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-defer", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-defer-npm-3.0.0-5c4fecb489-10c0.zip/node_modules/p-defer/",\ - "packageDependencies": [\ - ["p-defer", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-limit", [\ - ["npm:3.1.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-3.1.0-05d2ede37f-10c0.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:3.1.0"],\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-limit-npm-5.0.0-cc102b17d7-10c0.zip/node_modules/p-limit/",\ - "packageDependencies": [\ - ["p-limit", "npm:5.0.0"],\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-locate", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-locate-npm-5.0.0-92cc7c7a3e-10c0.zip/node_modules/p-locate/",\ - "packageDependencies": [\ - ["p-locate", "npm:5.0.0"],\ - ["p-limit", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["p-map", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/p-map-npm-4.0.0-4677ae07c7-10c0.zip/node_modules/p-map/",\ - "packageDependencies": [\ - ["p-map", "npm:4.0.0"],\ - ["aggregate-error", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["packet-reader", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/packet-reader-npm-1.0.0-e93c92246b-10c0.zip/node_modules/packet-reader/",\ - "packageDependencies": [\ - ["packet-reader", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["parent-module", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/parent-module-npm-1.0.1-1fae11b095-10c0.zip/node_modules/parent-module/",\ - "packageDependencies": [\ - ["parent-module", "npm:1.0.1"],\ - ["callsites", "npm:3.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-exists", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-exists-npm-4.0.0-e9e4f63eb0-10c0.zip/node_modules/path-exists/",\ - "packageDependencies": [\ - ["path-exists", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-is-absolute", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/path-is-absolute-npm-1.0.1-31bc695ffd-10c0.zip/node_modules/path-is-absolute/",\ - "packageDependencies": [\ - ["path-is-absolute", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-key", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-3.1.1-0e66ea8321-10c0.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-key-npm-4.0.0-2bce99f089-10c0.zip/node_modules/path-key/",\ - "packageDependencies": [\ - ["path-key", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-scurry", [\ - ["npm:1.10.1", {\ - "packageLocation": "../.yarn/berry/cache/path-scurry-npm-1.10.1-52bd946f2e-10c0.zip/node_modules/path-scurry/",\ - "packageDependencies": [\ - ["path-scurry", "npm:1.10.1"],\ - ["lru-cache", "npm:10.2.0"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["path-type", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/path-type-npm-4.0.0-10d47fc86a-10c0.zip/node_modules/path-type/",\ - "packageDependencies": [\ - ["path-type", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pathe", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/pathe-npm-1.1.2-b80d94db55-10c0.zip/node_modules/pathe/",\ - "packageDependencies": [\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pathval", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pathval-npm-1.1.1-ce0311d7e0-10c0.zip/node_modules/pathval/",\ - "packageDependencies": [\ - ["pathval", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg", [\ - ["npm:8.11.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ - "packageDependencies": [\ - ["pg", "npm:8.11.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-virtual-4ca815f0d0/2/.yarn/berry/cache/pg-npm-8.11.3-94865204fd-10c0.zip/node_modules/pg/",\ - "packageDependencies": [\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["@types/pg-native", null],\ - ["buffer-writer", "npm:2.0.0"],\ - ["packet-reader", "npm:1.0.0"],\ - ["pg-cloudflare", "npm:1.1.1"],\ - ["pg-connection-string", "npm:2.6.2"],\ - ["pg-native", null],\ - ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-types", "npm:2.2.0"],\ - ["pgpass", "npm:1.0.5"]\ - ],\ - "packagePeers": [\ - "@types/pg-native",\ - "pg-native"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-cloudflare", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-cloudflare-npm-1.1.1-fe242426f0-10c0.zip/node_modules/pg-cloudflare/",\ - "packageDependencies": [\ - ["pg-cloudflare", "npm:1.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-connection-string", [\ - ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-connection-string-npm-2.6.2-43a4a40be5-10c0.zip/node_modules/pg-connection-string/",\ - "packageDependencies": [\ - ["pg-connection-string", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-copy-streams", [\ - ["npm:6.0.6", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-npm-6.0.6-b6b913560b-10c0.zip/node_modules/pg-copy-streams/",\ - "packageDependencies": [\ - ["pg-copy-streams", "npm:6.0.6"],\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-copy-streams-binary", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-copy-streams-binary-npm-2.2.0-d28f35fe30-10c0.zip/node_modules/pg-copy-streams-binary/",\ - "packageDependencies": [\ - ["pg-copy-streams-binary", "npm:2.2.0"],\ - ["bl", "npm:4.1.0"],\ - ["bufferput", "npm:0.1.3"],\ - ["ieee754", "npm:1.2.1"],\ - ["int64-buffer", "npm:0.99.1007"],\ - ["multi-fork", "npm:0.0.2"],\ - ["through2", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-cursor", [\ - ["npm:2.10.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "npm:2.10.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-185aed3271/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ - ["@types/pg", null],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-cursor-virtual-d618e9ba50/2/.yarn/berry/cache/pg-cursor-npm-2.10.3-e5cf483ddf-10c0.zip/node_modules/pg-cursor/",\ - "packageDependencies": [\ - ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"],\ - ["@types/pg", "npm:8.11.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-int8", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-int8-npm-1.0.1-5cd67f3e22-10c0.zip/node_modules/pg-int8/",\ - "packageDependencies": [\ - ["pg-int8", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-numeric", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-numeric-npm-1.0.2-9026ec3427-10c0.zip/node_modules/pg-numeric/",\ - "packageDependencies": [\ - ["pg-numeric", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-pool", [\ - ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ - "packageDependencies": [\ - ["pg-pool", "npm:3.6.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1", {\ - "packageLocation": "./.yarn/__virtual__/pg-pool-virtual-45129aad51/2/.yarn/berry/cache/pg-pool-npm-3.6.1-477c9660b9-10c0.zip/node_modules/pg-pool/",\ - "packageDependencies": [\ - ["pg-pool", "virtual:4ca815f0d086774cd5a9036d28699119e790b3516dfccde7b65c71122bf2bfa476722afd615f467a02b515ebc18265613c8147a92b47b2f98485d55a47954d08#npm:3.6.1"],\ - ["@types/pg", null],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-protocol", [\ - ["npm:1.6.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-protocol-npm-1.6.0-089a4b1d3c-10c0.zip/node_modules/pg-protocol/",\ - "packageDependencies": [\ - ["pg-protocol", "npm:1.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-query-stream", [\ - ["npm:4.5.3", {\ - "packageLocation": "../.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ - "packageDependencies": [\ - ["pg-query-stream", "npm:4.5.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3", {\ - "packageLocation": "./.yarn/__virtual__/pg-query-stream-virtual-81ca689cae/2/.yarn/berry/cache/pg-query-stream-npm-4.5.3-ad495d831a-10c0.zip/node_modules/pg-query-stream/",\ - "packageDependencies": [\ - ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ - ["@types/pg", "npm:8.11.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-cursor", "virtual:81ca689cae618fddcc154ed334755852b55193a746c362f87987bfbc627ccb1f17f3ab7e0f966b9b6bcbf6e0c4a92e008f6708674d8f0d2e124bd3514ffb6b4e#npm:2.10.3"]\ - ],\ - "packagePeers": [\ - "@types/pg",\ - "pg"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pg-types", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-2.2.0-a3360226c4-10c0.zip/node_modules/pg-types/",\ - "packageDependencies": [\ - ["pg-types", "npm:2.2.0"],\ - ["pg-int8", "npm:1.0.1"],\ - ["postgres-array", "npm:2.0.0"],\ - ["postgres-bytea", "npm:1.0.0"],\ - ["postgres-date", "npm:1.0.7"],\ - ["postgres-interval", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/pg-types-npm-4.0.2-771d83bf15-10c0.zip/node_modules/pg-types/",\ - "packageDependencies": [\ - ["pg-types", "npm:4.0.2"],\ - ["pg-int8", "npm:1.0.1"],\ - ["pg-numeric", "npm:1.0.2"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-bytea", "npm:3.0.0"],\ - ["postgres-date", "npm:2.1.0"],\ - ["postgres-interval", "npm:3.0.0"],\ - ["postgres-range", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pgpass", [\ - ["npm:1.0.5", {\ - "packageLocation": "../.yarn/berry/cache/pgpass-npm-1.0.5-653e71ddd8-10c0.zip/node_modules/pgpass/",\ - "packageDependencies": [\ - ["pgpass", "npm:1.0.5"],\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picocolors", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/picocolors-npm-1.0.0-d81e0b1927-10c0.zip/node_modules/picocolors/",\ - "packageDependencies": [\ - ["picocolors", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["picomatch", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/picomatch-npm-2.3.1-c782cfd986-10c0.zip/node_modules/picomatch/",\ - "packageDependencies": [\ - ["picomatch", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino", [\ - ["npm:8.17.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.17.2-64a1bee46e-10c0.zip/node_modules/pino/",\ - "packageDependencies": [\ - ["pino", "npm:8.17.2"],\ - ["atomic-sleep", "npm:1.0.0"],\ - ["fast-redact", "npm:3.3.0"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pino-std-serializers", "npm:6.2.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["quick-format-unescaped", "npm:4.0.4"],\ - ["real-require", "npm:0.2.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["thread-stream", "npm:2.4.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.18.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-npm-8.18.0-01b0f4a056-10c0.zip/node_modules/pino/",\ - "packageDependencies": [\ - ["pino", "npm:8.18.0"],\ - ["atomic-sleep", "npm:1.0.0"],\ - ["fast-redact", "npm:3.3.0"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pino-std-serializers", "npm:6.2.2"],\ - ["process-warning", "npm:3.0.0"],\ - ["quick-format-unescaped", "npm:4.0.4"],\ - ["real-require", "npm:0.2.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["thread-stream", "npm:2.4.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-abstract-transport", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/pino-abstract-transport-npm-1.1.0-178ca571bf-10c0.zip/node_modules/pino-abstract-transport/",\ - "packageDependencies": [\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["readable-stream", "npm:4.5.2"],\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-pretty", [\ - ["npm:10.3.1", {\ - "packageLocation": "../.yarn/berry/cache/pino-pretty-npm-10.3.1-cc187e81d4-10c0.zip/node_modules/pino-pretty/",\ - "packageDependencies": [\ - ["pino-pretty", "npm:10.3.1"],\ - ["colorette", "npm:2.0.20"],\ - ["dateformat", "npm:4.6.3"],\ - ["fast-copy", "npm:3.0.1"],\ - ["fast-safe-stringify", "npm:2.1.1"],\ - ["help-me", "npm:5.0.0"],\ - ["joycon", "npm:3.1.1"],\ - ["minimist", "npm:1.2.8"],\ - ["on-exit-leak-free", "npm:2.1.2"],\ - ["pino-abstract-transport", "npm:1.1.0"],\ - ["pump", "npm:3.0.0"],\ - ["readable-stream", "npm:4.5.2"],\ - ["secure-json-parse", "npm:2.7.0"],\ - ["sonic-boom", "npm:3.8.0"],\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pino-std-serializers", [\ - ["npm:6.2.2", {\ - "packageLocation": "../.yarn/berry/cache/pino-std-serializers-npm-6.2.2-0e907a1130-10c0.zip/node_modules/pino-std-serializers/",\ - "packageDependencies": [\ - ["pino-std-serializers", "npm:6.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pkg-types", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/pkg-types-npm-1.0.3-dce22a705c-10c0.zip/node_modules/pkg-types/",\ - "packageDependencies": [\ - ["pkg-types", "npm:1.0.3"],\ - ["jsonc-parser", "npm:3.2.1"],\ - ["mlly", "npm:1.5.0"],\ - ["pathe", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pony-cause", [\ - ["npm:2.1.10", {\ - "packageLocation": "../.yarn/berry/cache/pony-cause-npm-2.1.10-222e66a27c-10c0.zip/node_modules/pony-cause/",\ - "packageDependencies": [\ - ["pony-cause", "npm:2.1.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postcss", [\ - ["npm:8.4.33", {\ - "packageLocation": "../.yarn/berry/cache/postcss-npm-8.4.33-6ba8157009-10c0.zip/node_modules/postcss/",\ - "packageDependencies": [\ - ["postcss", "npm:8.4.33"],\ - ["nanoid", "npm:3.3.7"],\ - ["picocolors", "npm:1.0.0"],\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-array", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-2.0.0-4f49dc1389-10c0.zip/node_modules/postgres-array/",\ - "packageDependencies": [\ - ["postgres-array", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-array-npm-3.0.2-da6a3f1fed-10c0.zip/node_modules/postgres-array/",\ - "packageDependencies": [\ - ["postgres-array", "npm:3.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-bytea", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-1.0.0-8c2b81fa73-10c0.zip/node_modules/postgres-bytea/",\ - "packageDependencies": [\ - ["postgres-bytea", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-bytea-npm-3.0.0-5de4c664f6-10c0.zip/node_modules/postgres-bytea/",\ - "packageDependencies": [\ - ["postgres-bytea", "npm:3.0.0"],\ - ["obuf", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-date", [\ - ["npm:1.0.7", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-1.0.7-aadfe5531e-10c0.zip/node_modules/postgres-date/",\ - "packageDependencies": [\ - ["postgres-date", "npm:1.0.7"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:2.1.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-date-npm-2.1.0-710ac64466-10c0.zip/node_modules/postgres-date/",\ - "packageDependencies": [\ - ["postgres-date", "npm:2.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-interval", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-1.2.0-ca6414744d-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:1.2.0"],\ - ["xtend", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-3.0.0-936c769b98-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/postgres-interval-npm-4.0.2-b24a7f5c7f-10c0.zip/node_modules/postgres-interval/",\ - "packageDependencies": [\ - ["postgres-interval", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["postgres-range", [\ - ["npm:1.1.4", {\ - "packageLocation": "../.yarn/berry/cache/postgres-range-npm-1.1.4-018d46d348-10c0.zip/node_modules/postgres-range/",\ - "packageDependencies": [\ - ["postgres-range", "npm:1.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prebuild-install", [\ - ["npm:7.1.1", {\ - "packageLocation": "../.yarn/berry/cache/prebuild-install-npm-7.1.1-cb9fc9d341-10c0.zip/node_modules/prebuild-install/",\ - "packageDependencies": [\ - ["prebuild-install", "npm:7.1.1"],\ - ["detect-libc", "npm:2.0.2"],\ - ["expand-template", "npm:2.0.3"],\ - ["github-from-package", "npm:0.0.0"],\ - ["minimist", "npm:1.2.8"],\ - ["mkdirp-classic", "npm:0.5.3"],\ - ["napi-build-utils", "npm:1.0.2"],\ - ["node-abi", "npm:3.54.0"],\ - ["pump", "npm:3.0.0"],\ - ["rc", "npm:1.2.8"],\ - ["simple-get", "npm:4.0.1"],\ - ["tar-fs", "npm:2.1.1"],\ - ["tunnel-agent", "npm:0.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prelude-ls", [\ - ["npm:1.2.1", {\ - "packageLocation": "../.yarn/berry/cache/prelude-ls-npm-1.2.1-3e4d272a55-10c0.zip/node_modules/prelude-ls/",\ - "packageDependencies": [\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier", [\ - ["npm:3.1.1", {\ - "packageLocation": "./.yarn/unplugged/prettier-npm-3.1.1-072c31ec21/node_modules/prettier/",\ - "packageDependencies": [\ - ["prettier", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.2.4", {\ - "packageLocation": "./.yarn/unplugged/prettier-npm-3.2.4-3ca24592c3/node_modules/prettier/",\ - "packageDependencies": [\ - ["prettier", "npm:3.2.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier-eslint", [\ - ["npm:16.2.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-eslint-npm-16.2.0-28dad550ce-10c0.zip/node_modules/prettier-eslint/",\ - "packageDependencies": [\ - ["prettier-eslint", "npm:16.2.0"],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["common-tags", "npm:1.8.2"],\ - ["dlv", "npm:1.1.3"],\ - ["eslint", "npm:8.56.0"],\ - ["indent-string", "npm:4.0.0"],\ - ["lodash.merge", "npm:4.6.2"],\ - ["loglevel-colored-level-prefix", "npm:1.0.0"],\ - ["prettier", "npm:3.2.4"],\ - ["pretty-format", "npm:29.7.0"],\ - ["require-relative", "npm:0.8.7"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["prettier-linter-helpers", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/prettier-linter-helpers-npm-1.0.0-6925131a7e-10c0.zip/node_modules/prettier-linter-helpers/",\ - "packageDependencies": [\ - ["prettier-linter-helpers", "npm:1.0.0"],\ - ["fast-diff", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pretty-format", [\ - ["npm:29.7.0", {\ - "packageLocation": "../.yarn/berry/cache/pretty-format-npm-29.7.0-7d330b2ea2-10c0.zip/node_modules/pretty-format/",\ - "packageDependencies": [\ - ["pretty-format", "npm:29.7.0"],\ - ["@jest/schemas", "npm:29.6.3"],\ - ["ansi-styles", "npm:5.2.0"],\ - ["react-is", "npm:18.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proc-log", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/proc-log-npm-3.0.0-a8c21c2f0f-10c0.zip/node_modules/proc-log/",\ - "packageDependencies": [\ - ["proc-log", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["process", [\ - ["npm:0.11.10", {\ - "packageLocation": "../.yarn/berry/cache/process-npm-0.11.10-aeb3b641ae-10c0.zip/node_modules/process/",\ - "packageDependencies": [\ - ["process", "npm:0.11.10"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["process-warning", [\ - ["npm:2.3.2", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-2.3.2-3da45c38b9-10c0.zip/node_modules/process-warning/",\ - "packageDependencies": [\ - ["process-warning", "npm:2.3.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/process-warning-npm-3.0.0-e1380c08e2-10c0.zip/node_modules/process-warning/",\ - "packageDependencies": [\ - ["process-warning", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["progress", [\ - ["npm:2.0.3", {\ - "packageLocation": "../.yarn/berry/cache/progress-npm-2.0.3-d1f87e2ac6-10c0.zip/node_modules/progress/",\ - "packageDependencies": [\ - ["progress", "npm:2.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["promise-inflight", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ - "packageDependencies": [\ - ["promise-inflight", "npm:1.0.1"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1", {\ - "packageLocation": "./.yarn/__virtual__/promise-inflight-virtual-b427a57c8f/2/.yarn/berry/cache/promise-inflight-npm-1.0.1-5bb925afac-10c0.zip/node_modules/promise-inflight/",\ - "packageDependencies": [\ - ["promise-inflight", "virtual:a7e5239c6ae68bf6359adfd3598326db000e94dbb349bc00a3852ed53a31712a0e2e787228c6e859d3e5cf2fbb872aba1ea4abe4995cef8086a77ef619ae1be6#npm:1.0.1"],\ - ["@types/bluebird", null],\ - ["bluebird", null]\ - ],\ - "packagePeers": [\ - "@types/bluebird",\ - "bluebird"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["promise-retry", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/promise-retry-npm-2.0.1-871f0b01b7-10c0.zip/node_modules/promise-retry/",\ - "packageDependencies": [\ - ["promise-retry", "npm:2.0.1"],\ - ["err-code", "npm:2.0.3"],\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proxy-addr", [\ - ["npm:2.0.7", {\ - "packageLocation": "../.yarn/berry/cache/proxy-addr-npm-2.0.7-dae6552872-10c0.zip/node_modules/proxy-addr/",\ - "packageDependencies": [\ - ["proxy-addr", "npm:2.0.7"],\ - ["forwarded", "npm:0.2.0"],\ - ["ipaddr.js", "npm:1.9.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["proxy-from-env", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/proxy-from-env-npm-1.1.0-c13d07f26b-10c0.zip/node_modules/proxy-from-env/",\ - "packageDependencies": [\ - ["proxy-from-env", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["pump", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/pump-npm-3.0.0-0080bf6a7a-10c0.zip/node_modules/pump/",\ - "packageDependencies": [\ - ["pump", "npm:3.0.0"],\ - ["end-of-stream", "npm:1.4.4"],\ - ["once", "npm:1.4.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["punycode", [\ - ["npm:2.3.1", {\ - "packageLocation": "../.yarn/berry/cache/punycode-npm-2.3.1-97543c420d-10c0.zip/node_modules/punycode/",\ - "packageDependencies": [\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["queue-microtask", [\ - ["npm:1.2.3", {\ - "packageLocation": "../.yarn/berry/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-10c0.zip/node_modules/queue-microtask/",\ - "packageDependencies": [\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["quick-format-unescaped", [\ - ["npm:4.0.4", {\ - "packageLocation": "../.yarn/berry/cache/quick-format-unescaped-npm-4.0.4-7e22c9b7dc-10c0.zip/node_modules/quick-format-unescaped/",\ - "packageDependencies": [\ - ["quick-format-unescaped", "npm:4.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rc", [\ - ["npm:1.2.8", {\ - "packageLocation": "../.yarn/berry/cache/rc-npm-1.2.8-d6768ac936-10c0.zip/node_modules/rc/",\ - "packageDependencies": [\ - ["rc", "npm:1.2.8"],\ - ["deep-extend", "npm:0.6.0"],\ - ["ini", "npm:1.3.8"],\ - ["minimist", "npm:1.2.8"],\ - ["strip-json-comments", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["react-is", [\ - ["npm:18.2.0", {\ - "packageLocation": "../.yarn/berry/cache/react-is-npm-18.2.0-0cc5edb910-10c0.zip/node_modules/react-is/",\ - "packageDependencies": [\ - ["react-is", "npm:18.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["readable-stream", [\ - ["npm:3.6.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-3.6.2-d2a6069158-10c0.zip/node_modules/readable-stream/",\ - "packageDependencies": [\ - ["readable-stream", "npm:3.6.2"],\ - ["inherits", "npm:2.0.4"],\ - ["string_decoder", "npm:1.3.0"],\ - ["util-deprecate", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.5.2", {\ - "packageLocation": "../.yarn/berry/cache/readable-stream-npm-4.5.2-4a1062e2a4-10c0.zip/node_modules/readable-stream/",\ - "packageDependencies": [\ - ["readable-stream", "npm:4.5.2"],\ - ["abort-controller", "npm:3.0.0"],\ - ["buffer", "npm:6.0.3"],\ - ["events", "npm:3.3.0"],\ - ["process", "npm:0.11.10"],\ - ["string_decoder", "npm:1.3.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["real-require", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/real-require-npm-0.2.0-7f69dbc7b6-10c0.zip/node_modules/real-require/",\ - "packageDependencies": [\ - ["real-require", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["require-from-string", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/require-from-string-npm-2.0.2-8557e0db12-10c0.zip/node_modules/require-from-string/",\ - "packageDependencies": [\ - ["require-from-string", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["require-relative", [\ - ["npm:0.8.7", {\ - "packageLocation": "../.yarn/berry/cache/require-relative-npm-0.8.7-d3d93176e4-10c0.zip/node_modules/require-relative/",\ - "packageDependencies": [\ - ["require-relative", "npm:0.8.7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["requizzle", [\ - ["npm:0.2.4", {\ - "packageLocation": "../.yarn/berry/cache/requizzle-npm-0.2.4-a970961c26-10c0.zip/node_modules/requizzle/",\ - "packageDependencies": [\ - ["requizzle", "npm:0.2.4"],\ - ["lodash", "npm:4.17.21"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-from", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-from-npm-4.0.0-f758ec21bf-10c0.zip/node_modules/resolve-from/",\ - "packageDependencies": [\ - ["resolve-from", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["resolve-pkg-maps", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/resolve-pkg-maps-npm-1.0.0-135b70c854-10c0.zip/node_modules/resolve-pkg-maps/",\ - "packageDependencies": [\ - ["resolve-pkg-maps", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ret", [\ - ["npm:0.2.2", {\ - "packageLocation": "../.yarn/berry/cache/ret-npm-0.2.2-f5d3022812-10c0.zip/node_modules/ret/",\ - "packageDependencies": [\ - ["ret", "npm:0.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["retry", [\ - ["npm:0.12.0", {\ - "packageLocation": "../.yarn/berry/cache/retry-npm-0.12.0-72ac7fb4cc-10c0.zip/node_modules/retry/",\ - "packageDependencies": [\ - ["retry", "npm:0.12.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["reusify", [\ - ["npm:1.0.4", {\ - "packageLocation": "../.yarn/berry/cache/reusify-npm-1.0.4-95ac4aec11-10c0.zip/node_modules/reusify/",\ - "packageDependencies": [\ - ["reusify", "npm:1.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rfdc", [\ - ["npm:1.3.1", {\ - "packageLocation": "../.yarn/berry/cache/rfdc-npm-1.3.1-80aaa71f8d-10c0.zip/node_modules/rfdc/",\ - "packageDependencies": [\ - ["rfdc", "npm:1.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rimraf", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/rimraf-npm-3.0.2-2cb7dac69a-10c0.zip/node_modules/rimraf/",\ - "packageDependencies": [\ - ["rimraf", "npm:3.0.2"],\ - ["glob", "npm:7.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["roarr", [\ - ["npm:7.21.0", {\ - "packageLocation": "../.yarn/berry/cache/roarr-npm-7.21.0-cb1669661a-10c0.zip/node_modules/roarr/",\ - "packageDependencies": [\ - ["roarr", "npm:7.21.0"],\ - ["fast-printf", "npm:1.6.9"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["semver-compare", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rollup", [\ - ["npm:4.9.6", {\ - "packageLocation": "../.yarn/berry/cache/rollup-npm-4.9.6-c51b1f3c8f-10c0.zip/node_modules/rollup/",\ - "packageDependencies": [\ - ["rollup", "npm:4.9.6"],\ - ["@rollup/rollup-android-arm-eabi", "npm:4.9.6"],\ - ["@rollup/rollup-android-arm64", "npm:4.9.6"],\ - ["@rollup/rollup-darwin-arm64", "npm:4.9.6"],\ - ["@rollup/rollup-darwin-x64", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm-gnueabihf", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-arm64-musl", "npm:4.9.6"],\ - ["@rollup/rollup-linux-riscv64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-x64-gnu", "npm:4.9.6"],\ - ["@rollup/rollup-linux-x64-musl", "npm:4.9.6"],\ - ["@rollup/rollup-win32-arm64-msvc", "npm:4.9.6"],\ - ["@rollup/rollup-win32-ia32-msvc", "npm:4.9.6"],\ - ["@rollup/rollup-win32-x64-msvc", "npm:4.9.6"],\ - ["@types/estree", "npm:1.0.5"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["run-parallel", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/run-parallel-npm-1.2.0-3f47ff2034-10c0.zip/node_modules/run-parallel/",\ - "packageDependencies": [\ - ["run-parallel", "npm:1.2.0"],\ - ["queue-microtask", "npm:1.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["rusty-motors", [\ - ["workspace:.", {\ - "packageLocation": "./",\ - "packageDependencies": [\ - ["rusty-motors", "workspace:."],\ - ["@slonik/migrator", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:0.12.0"],\ - ["@types/node", "npm:20.11.16"],\ - ["prettier", "npm:3.2.4"],\ - ["slonik", "npm:29.2.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }]\ - ]],\ - ["safe-buffer", [\ - ["npm:5.2.1", {\ - "packageLocation": "../.yarn/berry/cache/safe-buffer-npm-5.2.1-3481c8aa9b-10c0.zip/node_modules/safe-buffer/",\ - "packageDependencies": [\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-regex2", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/safe-regex2-npm-2.0.0-eadecc9909-10c0.zip/node_modules/safe-regex2/",\ - "packageDependencies": [\ - ["safe-regex2", "npm:2.0.0"],\ - ["ret", "npm:0.2.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safe-stable-stringify", [\ - ["npm:2.4.3", {\ - "packageLocation": "../.yarn/berry/cache/safe-stable-stringify-npm-2.4.3-d895741b40-10c0.zip/node_modules/safe-stable-stringify/",\ - "packageDependencies": [\ - ["safe-stable-stringify", "npm:2.4.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["safer-buffer", [\ - ["npm:2.1.2", {\ - "packageLocation": "../.yarn/berry/cache/safer-buffer-npm-2.1.2-8d5c0b705e-10c0.zip/node_modules/safer-buffer/",\ - "packageDependencies": [\ - ["safer-buffer", "npm:2.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["secure-json-parse", [\ - ["npm:2.7.0", {\ - "packageLocation": "../.yarn/berry/cache/secure-json-parse-npm-2.7.0-d5b89b0a3e-10c0.zip/node_modules/secure-json-parse/",\ - "packageDependencies": [\ - ["secure-json-parse", "npm:2.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["semver", [\ - ["npm:7.5.4", {\ - "packageLocation": "../.yarn/berry/cache/semver-npm-7.5.4-c4ad957fcd-10c0.zip/node_modules/semver/",\ - "packageDependencies": [\ - ["semver", "npm:7.5.4"],\ - ["lru-cache", "npm:6.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["semver-compare", [\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/semver-compare-npm-1.0.0-33f7033df0-10c0.zip/node_modules/semver-compare/",\ - "packageDependencies": [\ - ["semver-compare", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["serialize-error", [\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/serialize-error-npm-8.1.0-a3c5bcc96c-10c0.zip/node_modules/serialize-error/",\ - "packageDependencies": [\ - ["serialize-error", "npm:8.1.0"],\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-blocking", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/set-blocking-npm-2.0.0-49e2cffa24-10c0.zip/node_modules/set-blocking/",\ - "packageDependencies": [\ - ["set-blocking", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["set-cookie-parser", [\ - ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/set-cookie-parser-npm-2.6.0-a7dd154236-10c0.zip/node_modules/set-cookie-parser/",\ - "packageDependencies": [\ - ["set-cookie-parser", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["setprototypeof", [\ - ["npm:1.2.0", {\ - "packageLocation": "../.yarn/berry/cache/setprototypeof-npm-1.2.0-0fedbdcd3a-10c0.zip/node_modules/setprototypeof/",\ - "packageDependencies": [\ - ["setprototypeof", "npm:1.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-command", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-command-npm-2.0.0-eb2b01921d-10c0.zip/node_modules/shebang-command/",\ - "packageDependencies": [\ - ["shebang-command", "npm:2.0.0"],\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["shebang-regex", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/shebang-regex-npm-3.0.0-899a0cd65e-10c0.zip/node_modules/shebang-regex/",\ - "packageDependencies": [\ - ["shebang-regex", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["short-unique-id", [\ - ["npm:5.0.3", {\ - "packageLocation": "../.yarn/berry/cache/short-unique-id-npm-5.0.3-c4315b5cfa-10c0.zip/node_modules/short-unique-id/",\ - "packageDependencies": [\ - ["short-unique-id", "npm:5.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["siginfo", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/siginfo-npm-2.0.0-9bbac931f8-10c0.zip/node_modules/siginfo/",\ - "packageDependencies": [\ - ["siginfo", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["signal-exit", [\ - ["npm:3.0.7", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-3.0.7-bd270458a3-10c0.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:3.0.7"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.1.0", {\ - "packageLocation": "../.yarn/berry/cache/signal-exit-npm-4.1.0-61fb957687-10c0.zip/node_modules/signal-exit/",\ - "packageDependencies": [\ - ["signal-exit", "npm:4.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["simple-concat", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-concat-npm-1.0.1-48df70de29-10c0.zip/node_modules/simple-concat/",\ - "packageDependencies": [\ - ["simple-concat", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["simple-get", [\ - ["npm:4.0.1", {\ - "packageLocation": "../.yarn/berry/cache/simple-get-npm-4.0.1-fa2a97645d-10c0.zip/node_modules/simple-get/",\ - "packageDependencies": [\ - ["simple-get", "npm:4.0.1"],\ - ["decompress-response", "npm:6.0.0"],\ - ["once", "npm:1.4.0"],\ - ["simple-concat", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["slash", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/slash-npm-3.0.0-b87de2279a-10c0.zip/node_modules/slash/",\ - "packageDependencies": [\ - ["slash", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["slonik", [\ - ["npm:29.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-29.2.0-117ffeb912-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "npm:29.2.0"],\ - ["concat-stream", "npm:2.0.0"],\ - ["es6-error", "npm:4.1.1"],\ - ["fast-safe-stringify", "npm:2.1.1"],\ - ["get-stack-trace", "npm:2.1.1"],\ - ["hyperid", "npm:2.3.1"],\ - ["is-plain-object", "npm:5.0.0"],\ - ["iso8601-duration", "npm:1.3.0"],\ - ["p-defer", "npm:3.0.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-copy-streams", "npm:6.0.6"],\ - ["pg-copy-streams-binary", "npm:2.2.0"],\ - ["pg-cursor", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:2.10.3"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-interval", "npm:4.0.2"],\ - ["roarr", "npm:7.21.0"],\ - ["serialize-error", "npm:8.1.0"],\ - ["through2", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:37.2.0", {\ - "packageLocation": "../.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "npm:37.2.0"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0", {\ - "packageLocation": "./.yarn/__virtual__/slonik-virtual-e46a8f55a3/2/.yarn/berry/cache/slonik-npm-37.2.0-656ab09a4b-10c0.zip/node_modules/slonik/",\ - "packageDependencies": [\ - ["slonik", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:37.2.0"],\ - ["@types/pg", "npm:8.11.0"],\ - ["@types/zod", null],\ - ["es6-error", "npm:4.1.1"],\ - ["get-stack-trace", "npm:3.1.1"],\ - ["iso8601-duration", "npm:1.3.0"],\ - ["pg", "virtual:117ffeb912f526c4f8097026775ca4319aed753d2625b12b5a8869c8b905c3faec9efcded7a07274d19503629cf410b7fe73ad1fa59c292441f431046bb0f794#npm:8.11.3"],\ - ["pg-protocol", "npm:1.6.0"],\ - ["pg-query-stream", "virtual:e46a8f55a3d2ee6a77c2101f9da1eebef5bcb4ba0f416ea4dc1d4e3a7c9b4e89f6f2fd39838905183f355fc6dad8ad4045e85d9cf78a9ab189f1f6a5513bf2cb#npm:4.5.3"],\ - ["pg-types", "npm:4.0.2"],\ - ["postgres-array", "npm:3.0.2"],\ - ["postgres-interval", "npm:4.0.2"],\ - ["roarr", "npm:7.21.0"],\ - ["safe-stable-stringify", "npm:2.4.3"],\ - ["serialize-error", "npm:8.1.0"],\ - ["zod", "npm:3.22.4"]\ - ],\ - "packagePeers": [\ - "@types/zod",\ - "zod"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["smart-buffer", [\ - ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/smart-buffer-npm-4.2.0-5ac3f668bb-10c0.zip/node_modules/smart-buffer/",\ - "packageDependencies": [\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks", [\ - ["npm:2.7.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-npm-2.7.1-17f2b53052-10c0.zip/node_modules/socks/",\ - "packageDependencies": [\ - ["socks", "npm:2.7.1"],\ - ["ip", "npm:2.0.1"],\ - ["smart-buffer", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["socks-proxy-agent", [\ - ["npm:6.2.1", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-6.2.1-42b7f43b1d-10c0.zip/node_modules/socks-proxy-agent/",\ - "packageDependencies": [\ - ["socks-proxy-agent", "npm:6.2.1"],\ - ["agent-base", "npm:6.0.2"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["socks", "npm:2.7.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.0.2", {\ - "packageLocation": "../.yarn/berry/cache/socks-proxy-agent-npm-8.0.2-df165543cf-10c0.zip/node_modules/socks-proxy-agent/",\ - "packageDependencies": [\ - ["socks-proxy-agent", "npm:8.0.2"],\ - ["agent-base", "npm:7.1.0"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["socks", "npm:2.7.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sonic-boom", [\ - ["npm:3.8.0", {\ - "packageLocation": "../.yarn/berry/cache/sonic-boom-npm-3.8.0-df4849cf66-10c0.zip/node_modules/sonic-boom/",\ - "packageDependencies": [\ - ["sonic-boom", "npm:3.8.0"],\ - ["atomic-sleep", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map", [\ - ["npm:0.6.1", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.6.1-1a3621db16-10c0.zip/node_modules/source-map/",\ - "packageDependencies": [\ - ["source-map", "npm:0.6.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.8.0-beta.0", {\ - "packageLocation": "../.yarn/berry/cache/source-map-npm-0.8.0-beta.0-688a309e94-10c0.zip/node_modules/source-map/",\ - "packageDependencies": [\ - ["source-map", "npm:0.8.0-beta.0"],\ - ["whatwg-url", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["source-map-js", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/source-map-js-npm-1.0.2-ee4f9f9b30-10c0.zip/node_modules/source-map-js/",\ - "packageDependencies": [\ - ["source-map-js", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["split2", [\ - ["npm:4.2.0", {\ - "packageLocation": "../.yarn/berry/cache/split2-npm-4.2.0-16aa3883ba-10c0.zip/node_modules/split2/",\ - "packageDependencies": [\ - ["split2", "npm:4.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sprintf-js", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/sprintf-js-npm-1.0.3-73f0a322fa-10c0.zip/node_modules/sprintf-js/",\ - "packageDependencies": [\ - ["sprintf-js", "npm:1.0.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["sqlite3", [\ - ["npm:5.1.7", {\ - "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ - "packageDependencies": [\ - ["sqlite3", "npm:5.1.7"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7", {\ - "packageLocation": "./.yarn/unplugged/sqlite3-virtual-c22f9581b8/node_modules/sqlite3/",\ - "packageDependencies": [\ - ["sqlite3", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.1.7"],\ - ["@types/node-gyp", null],\ - ["bindings", "npm:1.5.0"],\ - ["node-addon-api", "npm:7.1.0"],\ - ["node-gyp", "npm:8.4.1"],\ - ["prebuild-install", "npm:7.1.1"],\ - ["tar", "npm:6.2.0"]\ - ],\ - "packagePeers": [\ - "@types/node-gyp"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ssri", [\ - ["npm:10.0.5", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-10.0.5-1a7557d04d-10c0.zip/node_modules/ssri/",\ - "packageDependencies": [\ - ["ssri", "npm:10.0.5"],\ - ["minipass", "npm:7.0.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.0.1", {\ - "packageLocation": "../.yarn/berry/cache/ssri-npm-8.0.1-a369e72ce2-10c0.zip/node_modules/ssri/",\ - "packageDependencies": [\ - ["ssri", "npm:8.0.1"],\ - ["minipass", "npm:3.3.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["stackback", [\ - ["npm:0.0.2", {\ - "packageLocation": "../.yarn/berry/cache/stackback-npm-0.0.2-73273dc92e-10c0.zip/node_modules/stackback/",\ - "packageDependencies": [\ - ["stackback", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["stacktrace-parser", [\ - ["npm:0.1.10", {\ - "packageLocation": "../.yarn/berry/cache/stacktrace-parser-npm-0.1.10-36f3e571bd-10c0.zip/node_modules/stacktrace-parser/",\ - "packageDependencies": [\ - ["stacktrace-parser", "npm:0.1.10"],\ - ["type-fest", "npm:0.7.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["statuses", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/statuses-npm-2.0.1-81d2b97fee-10c0.zip/node_modules/statuses/",\ - "packageDependencies": [\ - ["statuses", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["std-env", [\ - ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/std-env-npm-3.7.0-5261c3c3c3-10c0.zip/node_modules/std-env/",\ - "packageDependencies": [\ - ["std-env", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-argv", [\ - ["npm:0.3.2", {\ - "packageLocation": "../.yarn/berry/cache/string-argv-npm-0.3.2-6e057a88f1-10c0.zip/node_modules/string-argv/",\ - "packageDependencies": [\ - ["string-argv", "npm:0.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string-width", [\ - ["npm:4.2.3", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-4.2.3-2c27177bae-10c0.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:4.2.3"],\ - ["emoji-regex", "npm:8.0.0"],\ - ["is-fullwidth-code-point", "npm:3.0.0"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:5.1.2", {\ - "packageLocation": "../.yarn/berry/cache/string-width-npm-5.1.2-bf60531341-10c0.zip/node_modules/string-width/",\ - "packageDependencies": [\ - ["string-width", "npm:5.1.2"],\ - ["eastasianwidth", "npm:0.2.0"],\ - ["emoji-regex", "npm:9.2.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["string_decoder", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/string_decoder-npm-1.3.0-2422117fd0-10c0.zip/node_modules/string_decoder/",\ - "packageDependencies": [\ - ["string_decoder", "npm:1.3.0"],\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-ansi", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-3.0.1-6aec1365b9-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:3.0.1"],\ - ["ansi-regex", "npm:2.1.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:6.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-6.0.1-caddc7cb40-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:6.0.1"],\ - ["ansi-regex", "npm:5.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-ansi-npm-7.1.0-7453b80b79-10c0.zip/node_modules/strip-ansi/",\ - "packageDependencies": [\ - ["strip-ansi", "npm:7.1.0"],\ - ["ansi-regex", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-final-newline", [\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-final-newline-npm-3.0.0-7972cbec8b-10c0.zip/node_modules/strip-final-newline/",\ - "packageDependencies": [\ - ["strip-final-newline", "npm:3.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-json-comments", [\ - ["npm:2.0.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-2.0.1-e7883b2d04-10c0.zip/node_modules/strip-json-comments/",\ - "packageDependencies": [\ - ["strip-json-comments", "npm:2.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/strip-json-comments-npm-3.1.1-dcb2324823-10c0.zip/node_modules/strip-json-comments/",\ - "packageDependencies": [\ - ["strip-json-comments", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["strip-literal", [\ - ["npm:1.3.0", {\ - "packageLocation": "../.yarn/berry/cache/strip-literal-npm-1.3.0-217e69590c-10c0.zip/node_modules/strip-literal/",\ - "packageDependencies": [\ - ["strip-literal", "npm:1.3.0"],\ - ["acorn", "npm:8.11.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["supports-color", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-2.0.0-22c0f0adbc-10c0.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.2.0", {\ - "packageLocation": "../.yarn/berry/cache/supports-color-npm-7.2.0-606bfcf7da-10c0.zip/node_modules/supports-color/",\ - "packageDependencies": [\ - ["supports-color", "npm:7.2.0"],\ - ["has-flag", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["synckit", [\ - ["npm:0.8.8", {\ - "packageLocation": "../.yarn/berry/cache/synckit-npm-0.8.8-f5ee4a6dac-10c0.zip/node_modules/synckit/",\ - "packageDependencies": [\ - ["synckit", "npm:0.8.8"],\ - ["@pkgr/core", "npm:0.1.1"],\ - ["tslib", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar", [\ - ["npm:6.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-npm-6.2.0-3eb25205a7-10c0.zip/node_modules/tar/",\ - "packageDependencies": [\ - ["tar", "npm:6.2.0"],\ - ["chownr", "npm:2.0.0"],\ - ["fs-minipass", "npm:2.1.0"],\ - ["minipass", "npm:5.0.0"],\ - ["minizlib", "npm:2.1.2"],\ - ["mkdirp", "npm:1.0.4"],\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar-fs", [\ - ["npm:2.1.1", {\ - "packageLocation": "../.yarn/berry/cache/tar-fs-npm-2.1.1-e374d3b7a2-10c0.zip/node_modules/tar-fs/",\ - "packageDependencies": [\ - ["tar-fs", "npm:2.1.1"],\ - ["chownr", "npm:1.1.4"],\ - ["mkdirp-classic", "npm:0.5.3"],\ - ["pump", "npm:3.0.0"],\ - ["tar-stream", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tar-stream", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tar-stream-npm-2.2.0-884c79b510-10c0.zip/node_modules/tar-stream/",\ - "packageDependencies": [\ - ["tar-stream", "npm:2.2.0"],\ - ["bl", "npm:4.1.0"],\ - ["end-of-stream", "npm:1.4.4"],\ - ["fs-constants", "npm:1.0.0"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["test-exclude", [\ - ["npm:6.0.0", {\ - "packageLocation": "../.yarn/berry/cache/test-exclude-npm-6.0.0-3fb03d69df-10c0.zip/node_modules/test-exclude/",\ - "packageDependencies": [\ - ["test-exclude", "npm:6.0.0"],\ - ["@istanbuljs/schema", "npm:0.1.3"],\ - ["glob", "npm:7.2.3"],\ - ["minimatch", "npm:3.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["text-table", [\ - ["npm:0.2.0", {\ - "packageLocation": "../.yarn/berry/cache/text-table-npm-0.2.0-d92a778b59-10c0.zip/node_modules/text-table/",\ - "packageDependencies": [\ - ["text-table", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["thread-stream", [\ - ["npm:2.4.1", {\ - "packageLocation": "../.yarn/berry/cache/thread-stream-npm-2.4.1-3f89bca0b7-10c0.zip/node_modules/thread-stream/",\ - "packageDependencies": [\ - ["thread-stream", "npm:2.4.1"],\ - ["real-require", "npm:0.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["through2", [\ - ["npm:3.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-3.0.2-403f837012-10c0.zip/node_modules/through2/",\ - "packageDependencies": [\ - ["through2", "npm:3.0.2"],\ - ["inherits", "npm:2.0.4"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/through2-npm-4.0.2-da7b2da443-10c0.zip/node_modules/through2/",\ - "packageDependencies": [\ - ["through2", "npm:4.0.2"],\ - ["readable-stream", "npm:3.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinybench", [\ - ["npm:2.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tinybench-npm-2.6.0-293d20bf58-10c0.zip/node_modules/tinybench/",\ - "packageDependencies": [\ - ["tinybench", "npm:2.6.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinypool", [\ - ["npm:0.8.2", {\ - "packageLocation": "../.yarn/berry/cache/tinypool-npm-0.8.2-f1447938a8-10c0.zip/node_modules/tinypool/",\ - "packageDependencies": [\ - ["tinypool", "npm:0.8.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tinyspy", [\ - ["npm:2.2.0", {\ - "packageLocation": "../.yarn/berry/cache/tinyspy-npm-2.2.0-226debb582-10c0.zip/node_modules/tinyspy/",\ - "packageDependencies": [\ - ["tinyspy", "npm:2.2.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["to-fast-properties", [\ - ["npm:2.0.0", {\ - "packageLocation": "../.yarn/berry/cache/to-fast-properties-npm-2.0.0-0dc60cc481-10c0.zip/node_modules/to-fast-properties/",\ - "packageDependencies": [\ - ["to-fast-properties", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["to-regex-range", [\ - ["npm:5.0.1", {\ - "packageLocation": "../.yarn/berry/cache/to-regex-range-npm-5.0.1-f1e8263b00-10c0.zip/node_modules/to-regex-range/",\ - "packageDependencies": [\ - ["to-regex-range", "npm:5.0.1"],\ - ["is-number", "npm:7.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["toad-cache", [\ - ["npm:3.7.0", {\ - "packageLocation": "../.yarn/berry/cache/toad-cache-npm-3.7.0-ece522d0b8-10c0.zip/node_modules/toad-cache/",\ - "packageDependencies": [\ - ["toad-cache", "npm:3.7.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["toidentifier", [\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/toidentifier-npm-1.0.1-f759712599-10c0.zip/node_modules/toidentifier/",\ - "packageDependencies": [\ - ["toidentifier", "npm:1.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tr46", [\ - ["npm:0.0.3", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-0.0.3-de53018915-10c0.zip/node_modules/tr46/",\ - "packageDependencies": [\ - ["tr46", "npm:0.0.3"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.1", {\ - "packageLocation": "../.yarn/berry/cache/tr46-npm-1.0.1-9547f343a4-10c0.zip/node_modules/tr46/",\ - "packageDependencies": [\ - ["tr46", "npm:1.0.1"],\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ts-api-utils", [\ - ["npm:1.0.3", {\ - "packageLocation": "../.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "npm:1.0.3"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-f4bf8815fc/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:a9756fe5cf93fc84e5556b94fae3e63feb46f9c1d25c815e49dc16f8749944bd9a54a4552d5374849c5f3938511b6b06f26d641f6b89a2db4f4b19b96bd56970#npm:1.0.3"],\ - ["@types/typescript", null],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3", {\ - "packageLocation": "./.yarn/__virtual__/ts-api-utils-virtual-823de9e185/2/.yarn/berry/cache/ts-api-utils-npm-1.0.3-992f360d9b-10c0.zip/node_modules/ts-api-utils/",\ - "packageDependencies": [\ - ["ts-api-utils", "virtual:e71ea3b86c12ef31b39c9181122feaa0f57864ed08b015a69f693e6e2088a2f0998fafc08d40c67ab3795dee910380466a852237abd8212fb13db76f8769b6ed#npm:1.0.3"],\ - ["@types/typescript", null],\ - ["typescript", null]\ - ],\ - "packagePeers": [\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ts-node", [\ - ["npm:10.9.2", {\ - "packageLocation": "../.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ - "packageDependencies": [\ - ["ts-node", "npm:10.9.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2", {\ - "packageLocation": "./.yarn/__virtual__/ts-node-virtual-515c83594f/2/.yarn/berry/cache/ts-node-npm-10.9.2-3f3890b9ac-10c0.zip/node_modules/ts-node/",\ - "packageDependencies": [\ - ["ts-node", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:10.9.2"],\ - ["@cspotcode/source-map-support", "npm:0.8.1"],\ - ["@swc/core", null],\ - ["@swc/wasm", null],\ - ["@tsconfig/node10", "npm:1.0.9"],\ - ["@tsconfig/node12", "npm:1.0.11"],\ - ["@tsconfig/node14", "npm:1.0.3"],\ - ["@tsconfig/node16", "npm:1.0.4"],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/swc__core", null],\ - ["@types/swc__wasm", null],\ - ["@types/typescript", null],\ - ["acorn", "npm:8.11.3"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["arg", "npm:4.1.3"],\ - ["create-require", "npm:1.1.1"],\ - ["diff", "npm:4.0.2"],\ - ["make-error", "npm:1.3.6"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"],\ - ["v8-compile-cache-lib", "npm:3.0.1"],\ - ["yn", "npm:3.1.1"]\ - ],\ - "packagePeers": [\ - "@swc/core",\ - "@swc/wasm",\ - "@types/node",\ - "@types/swc__core",\ - "@types/swc__wasm",\ - "@types/typescript",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tslib", [\ - ["npm:2.6.2", {\ - "packageLocation": "../.yarn/berry/cache/tslib-npm-2.6.2-4fc8c068d9-10c0.zip/node_modules/tslib/",\ - "packageDependencies": [\ - ["tslib", "npm:2.6.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tsx", [\ - ["npm:4.7.0", {\ - "packageLocation": "../.yarn/berry/cache/tsx-npm-4.7.0-86d7b66640-10c0.zip/node_modules/tsx/",\ - "packageDependencies": [\ - ["tsx", "npm:4.7.0"],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["get-tsconfig", "npm:4.7.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["tunnel-agent", [\ - ["npm:0.6.0", {\ - "packageLocation": "../.yarn/berry/cache/tunnel-agent-npm-0.6.0-64345ab7eb-10c0.zip/node_modules/tunnel-agent/",\ - "packageDependencies": [\ - ["tunnel-agent", "npm:0.6.0"],\ - ["safe-buffer", "npm:5.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-check", [\ - ["npm:0.4.0", {\ - "packageLocation": "../.yarn/berry/cache/type-check-npm-0.4.0-60565800ce-10c0.zip/node_modules/type-check/",\ - "packageDependencies": [\ - ["type-check", "npm:0.4.0"],\ - ["prelude-ls", "npm:1.2.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-detect", [\ - ["npm:4.0.8", {\ - "packageLocation": "../.yarn/berry/cache/type-detect-npm-4.0.8-8d8127b901-10c0.zip/node_modules/type-detect/",\ - "packageDependencies": [\ - ["type-detect", "npm:4.0.8"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-fest", [\ - ["npm:0.20.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.20.2-b36432617f-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:0.20.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:0.7.1", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-0.7.1-7b37912923-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:0.7.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.10.2", {\ - "packageLocation": "../.yarn/berry/cache/type-fest-npm-4.10.2-71667dd36f-10c0.zip/node_modules/type-fest/",\ - "packageDependencies": [\ - ["type-fest", "npm:4.10.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["type-is", [\ - ["npm:1.6.18", {\ - "packageLocation": "../.yarn/berry/cache/type-is-npm-1.6.18-6dee4d4961-10c0.zip/node_modules/type-is/",\ - "packageDependencies": [\ - ["type-is", "npm:1.6.18"],\ - ["media-typer", "npm:0.3.0"],\ - ["mime-types", "npm:2.1.35"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typedarray", [\ - ["npm:0.0.6", {\ - "packageLocation": "../.yarn/berry/cache/typedarray-npm-0.0.6-37638b2241-10c0.zip/node_modules/typedarray/",\ - "packageDependencies": [\ - ["typedarray", "npm:0.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript", [\ - ["patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7", {\ - "packageLocation": "../.yarn/berry/cache/typescript-patch-4778c7998b-10c0.zip/node_modules/typescript/",\ - "packageDependencies": [\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["typescript-eslint-language-service", [\ - ["npm:5.0.5", {\ - "packageLocation": "../.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ - "packageDependencies": [\ - ["typescript-eslint-language-service", "npm:5.0.5"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5", {\ - "packageLocation": "./.yarn/__virtual__/typescript-eslint-language-service-virtual-94fcf8d7dd/2/.yarn/berry/cache/typescript-eslint-language-service-npm-5.0.5-a29483ac73-10c0.zip/node_modules/typescript-eslint-language-service/",\ - "packageDependencies": [\ - ["typescript-eslint-language-service", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:5.0.5"],\ - ["@types/eslint", null],\ - ["@types/typescript", null],\ - ["@types/typescript-eslint__parser", null],\ - ["@typescript-eslint/parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:6.20.0"],\ - ["eslint", "npm:8.56.0"],\ - ["typescript", "patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "@types/typescript-eslint__parser",\ - "@types/typescript",\ - "@typescript-eslint/parser",\ - "eslint",\ - "typescript"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uc.micro", [\ - ["npm:1.0.6", {\ - "packageLocation": "../.yarn/berry/cache/uc.micro-npm-1.0.6-36f3dc2fc4-10c0.zip/node_modules/uc.micro/",\ - "packageDependencies": [\ - ["uc.micro", "npm:1.0.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["ufo", [\ - ["npm:1.3.2", {\ - "packageLocation": "../.yarn/berry/cache/ufo-npm-1.3.2-dcaf8105d0-10c0.zip/node_modules/ufo/",\ - "packageDependencies": [\ - ["ufo", "npm:1.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["umzug", [\ - ["npm:3.6.1", {\ - "packageLocation": "../.yarn/berry/cache/umzug-npm-3.6.1-beeca775e4-10c0.zip/node_modules/umzug/",\ - "packageDependencies": [\ - ["umzug", "npm:3.6.1"],\ - ["@rushstack/ts-command-line", "npm:4.17.1"],\ - ["emittery", "npm:0.13.1"],\ - ["glob", "npm:8.1.0"],\ - ["pony-cause", "npm:2.1.10"],\ - ["type-fest", "npm:4.10.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["underscore", [\ - ["npm:1.13.6", {\ - "packageLocation": "../.yarn/berry/cache/underscore-npm-1.13.6-3ebe9d92fb-10c0.zip/node_modules/underscore/",\ - "packageDependencies": [\ - ["underscore", "npm:1.13.6"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["undici-types", [\ - ["npm:5.26.5", {\ - "packageLocation": "../.yarn/berry/cache/undici-types-npm-5.26.5-de4f7c7bb9-10c0.zip/node_modules/undici-types/",\ - "packageDependencies": [\ - ["undici-types", "npm:5.26.5"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-filename", [\ - ["npm:1.1.1", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-1.1.1-c885c5095b-10c0.zip/node_modules/unique-filename/",\ - "packageDependencies": [\ - ["unique-filename", "npm:1.1.1"],\ - ["unique-slug", "npm:2.0.2"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:3.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-filename-npm-3.0.0-77d68e0a45-10c0.zip/node_modules/unique-filename/",\ - "packageDependencies": [\ - ["unique-filename", "npm:3.0.0"],\ - ["unique-slug", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["unique-slug", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-2.0.2-f6ba1ddeb7-10c0.zip/node_modules/unique-slug/",\ - "packageDependencies": [\ - ["unique-slug", "npm:2.0.2"],\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/unique-slug-npm-4.0.0-e6b08f28aa-10c0.zip/node_modules/unique-slug/",\ - "packageDependencies": [\ - ["unique-slug", "npm:4.0.0"],\ - ["imurmurhash", "npm:0.1.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uri-js", [\ - ["npm:4.4.1", {\ - "packageLocation": "../.yarn/berry/cache/uri-js-npm-4.4.1-66d11cbcaf-10c0.zip/node_modules/uri-js/",\ - "packageDependencies": [\ - ["uri-js", "npm:4.4.1"],\ - ["punycode", "npm:2.3.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["util-deprecate", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/util-deprecate-npm-1.0.2-e3fe1a219c-10c0.zip/node_modules/util-deprecate/",\ - "packageDependencies": [\ - ["util-deprecate", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uuid", [\ - ["npm:8.3.2", {\ - "packageLocation": "../.yarn/berry/cache/uuid-npm-8.3.2-eca0baba53-10c0.zip/node_modules/uuid/",\ - "packageDependencies": [\ - ["uuid", "npm:8.3.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["uuid-parse", [\ - ["npm:1.1.0", {\ - "packageLocation": "../.yarn/berry/cache/uuid-parse-npm-1.1.0-a1ee42c578-10c0.zip/node_modules/uuid-parse/",\ - "packageDependencies": [\ - ["uuid-parse", "npm:1.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8-compile-cache-lib", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/v8-compile-cache-lib-npm-3.0.1-4886071ece-10c0.zip/node_modules/v8-compile-cache-lib/",\ - "packageDependencies": [\ - ["v8-compile-cache-lib", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["v8-to-istanbul", [\ - ["npm:9.2.0", {\ - "packageLocation": "../.yarn/berry/cache/v8-to-istanbul-npm-9.2.0-fb333cc45f-10c0.zip/node_modules/v8-to-istanbul/",\ - "packageDependencies": [\ - ["v8-to-istanbul", "npm:9.2.0"],\ - ["@jridgewell/trace-mapping", "npm:0.3.22"],\ - ["@types/istanbul-lib-coverage", "npm:2.0.6"],\ - ["convert-source-map", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vary", [\ - ["npm:1.1.2", {\ - "packageLocation": "../.yarn/berry/cache/vary-npm-1.1.2-b49f70ae63-10c0.zip/node_modules/vary/",\ - "packageDependencies": [\ - ["vary", "npm:1.1.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vite", [\ - ["npm:5.0.12", {\ - "packageLocation": "../.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "npm:5.0.12"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-9f4f99dffc/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", null],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-3c634cbec3/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12", {\ - "packageLocation": "./.yarn/__virtual__/vite-virtual-d06de64a9b/2/.yarn/berry/cache/vite-npm-5.0.12-37f95c18d1-10c0.zip/node_modules/vite/",\ - "packageDependencies": [\ - ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ - ["@types/less", null],\ - ["@types/lightningcss", null],\ - ["@types/node", "npm:20.11.16"],\ - ["@types/sass", null],\ - ["@types/stylus", null],\ - ["@types/sugarss", null],\ - ["@types/terser", null],\ - ["esbuild", "npm:0.19.12"],\ - ["fsevents", "patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"],\ - ["less", null],\ - ["lightningcss", null],\ - ["postcss", "npm:8.4.33"],\ - ["rollup", "npm:4.9.6"],\ - ["sass", null],\ - ["stylus", null],\ - ["sugarss", null],\ - ["terser", null]\ - ],\ - "packagePeers": [\ - "@types/less",\ - "@types/lightningcss",\ - "@types/node",\ - "@types/sass",\ - "@types/stylus",\ - "@types/sugarss",\ - "@types/terser",\ - "less",\ - "lightningcss",\ - "sass",\ - "stylus",\ - "sugarss",\ - "terser"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vite-node", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vite-node-npm-1.2.2-1646860261-10c0.zip/node_modules/vite-node/",\ - "packageDependencies": [\ - ["vite-node", "npm:1.2.2"],\ - ["cac", "npm:6.7.14"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["vite", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:5.0.12"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vitest", [\ - ["npm:1.2.2", {\ - "packageLocation": "../.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "npm:1.2.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-3a16e6f0de/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "virtual:f284d7c3346744304edee9c8dd88fb2fb7fc8ae78270db3c5a24b02bfac103fc9292a348be98d7d45f3cc77db209d3c878b9a42303fc5a29db765b5eff76c6d5#npm:1.2.2"],\ - ["@edge-runtime/vm", null],\ - ["@types/edge-runtime__vm", null],\ - ["@types/happy-dom", null],\ - ["@types/jsdom", null],\ - ["@types/node", "npm:20.11.13"],\ - ["@types/vitest__browser", null],\ - ["@types/vitest__ui", null],\ - ["@vitest/browser", null],\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/ui", null],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["cac", "npm:6.7.14"],\ - ["chai", "npm:4.4.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["execa", "npm:8.0.1"],\ - ["happy-dom", null],\ - ["jsdom", null],\ - ["local-pkg", "npm:0.5.0"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["strip-literal", "npm:1.3.0"],\ - ["tinybench", "npm:2.6.0"],\ - ["tinypool", "npm:0.8.2"],\ - ["vite", "virtual:3a16e6f0dec34e1c85206b3a16cc16fb52d0cba4761339187835aa192c539772872cad0ead1f6779608c8f433b8c4c791e357f1d8c3565cb9395d3b62b856bc3#npm:5.0.12"],\ - ["vite-node", "npm:1.2.2"],\ - ["why-is-node-running", "npm:2.2.2"]\ - ],\ - "packagePeers": [\ - "@edge-runtime/vm",\ - "@types/edge-runtime__vm",\ - "@types/happy-dom",\ - "@types/jsdom",\ - "@types/node",\ - "@types/vitest__browser",\ - "@types/vitest__ui",\ - "@vitest/browser",\ - "@vitest/ui",\ - "happy-dom",\ - "jsdom"\ - ],\ - "linkType": "HARD"\ - }],\ - ["virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2", {\ - "packageLocation": "./.yarn/__virtual__/vitest-virtual-5b649a1cfd/2/.yarn/berry/cache/vitest-npm-1.2.2-fe6dae0383-10c0.zip/node_modules/vitest/",\ - "packageDependencies": [\ - ["vitest", "virtual:fcc408b1a1dd1b4527deaa4227d7232f7668d8389e56967c0fe9ee5307fa2d922ec154f1b68215d2d3efac2494399cd65b16ce9f44fc09d4b10c55530b498998#npm:1.2.2"],\ - ["@edge-runtime/vm", null],\ - ["@types/edge-runtime__vm", null],\ - ["@types/happy-dom", null],\ - ["@types/jsdom", null],\ - ["@types/node", "npm:20.11.16"],\ - ["@types/vitest__browser", null],\ - ["@types/vitest__ui", null],\ - ["@vitest/browser", null],\ - ["@vitest/expect", "npm:1.2.2"],\ - ["@vitest/runner", "npm:1.2.2"],\ - ["@vitest/snapshot", "npm:1.2.2"],\ - ["@vitest/spy", "npm:1.2.2"],\ - ["@vitest/ui", null],\ - ["@vitest/utils", "npm:1.2.2"],\ - ["acorn-walk", "npm:8.3.2"],\ - ["cac", "npm:6.7.14"],\ - ["chai", "npm:4.4.1"],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["execa", "npm:8.0.1"],\ - ["happy-dom", null],\ - ["jsdom", null],\ - ["local-pkg", "npm:0.5.0"],\ - ["magic-string", "npm:0.30.5"],\ - ["pathe", "npm:1.1.2"],\ - ["picocolors", "npm:1.0.0"],\ - ["std-env", "npm:3.7.0"],\ - ["strip-literal", "npm:1.3.0"],\ - ["tinybench", "npm:2.6.0"],\ - ["tinypool", "npm:0.8.2"],\ - ["vite", "virtual:5b649a1cfda20570f37b281625920499a6affb7fa7f8f3f378aab5a30dd7a7f90352d272f7c7cd48d006d42ffafb129b67071160c577a67e374d3668a694c5ef#npm:5.0.12"],\ - ["vite-node", "npm:1.2.2"],\ - ["why-is-node-running", "npm:2.2.2"]\ - ],\ - "packagePeers": [\ - "@edge-runtime/vm",\ - "@types/edge-runtime__vm",\ - "@types/happy-dom",\ - "@types/jsdom",\ - "@types/node",\ - "@types/vitest__browser",\ - "@types/vitest__ui",\ - "@vitest/browser",\ - "@vitest/ui",\ - "happy-dom",\ - "jsdom"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["vue-eslint-parser", [\ - ["npm:9.4.2", {\ - "packageLocation": "../.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ - "packageDependencies": [\ - ["vue-eslint-parser", "npm:9.4.2"]\ - ],\ - "linkType": "SOFT"\ - }],\ - ["virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2", {\ - "packageLocation": "./.yarn/__virtual__/vue-eslint-parser-virtual-c19c0e04a0/2/.yarn/berry/cache/vue-eslint-parser-npm-9.4.2-3e4e696025-10c0.zip/node_modules/vue-eslint-parser/",\ - "packageDependencies": [\ - ["vue-eslint-parser", "virtual:28dad550ceb34e5b6ec77620bb22375a40d5546dc5d1c794fda5ac58360a620fb4622773e8c6bdf1b120cdb404c7a0e0157bec1cf8a4a60f85e3c26bd312e214#npm:9.4.2"],\ - ["@types/eslint", null],\ - ["debug", "virtual:16468602616af1ff4c869ee9a1cd8c9042ddd5311d7c1fd10a172c4825cbc5cf2da5fbb3f0767f9e8dd65710c1b1a189120bef058e13ada7f56134b137af35c6#npm:4.3.4"],\ - ["eslint", "npm:8.56.0"],\ - ["eslint-scope", "npm:7.2.2"],\ - ["eslint-visitor-keys", "npm:3.4.3"],\ - ["espree", "npm:9.6.1"],\ - ["esquery", "npm:1.5.0"],\ - ["lodash", "npm:4.17.21"],\ - ["semver", "npm:7.5.4"]\ - ],\ - "packagePeers": [\ - "@types/eslint",\ - "eslint"\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["webidl-conversions", [\ - ["npm:3.0.1", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-3.0.1-60310f6a2b-10c0.zip/node_modules/webidl-conversions/",\ - "packageDependencies": [\ - ["webidl-conversions", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/webidl-conversions-npm-4.0.2-1d159e6409-10c0.zip/node_modules/webidl-conversions/",\ - "packageDependencies": [\ - ["webidl-conversions", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["whatwg-url", [\ - ["npm:5.0.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-5.0.0-374fb45e60-10c0.zip/node_modules/whatwg-url/",\ - "packageDependencies": [\ - ["whatwg-url", "npm:5.0.0"],\ - ["tr46", "npm:0.0.3"],\ - ["webidl-conversions", "npm:3.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:7.1.0", {\ - "packageLocation": "../.yarn/berry/cache/whatwg-url-npm-7.1.0-d6cae01571-10c0.zip/node_modules/whatwg-url/",\ - "packageDependencies": [\ - ["whatwg-url", "npm:7.1.0"],\ - ["lodash.sortby", "npm:4.7.0"],\ - ["tr46", "npm:1.0.1"],\ - ["webidl-conversions", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["which", [\ - ["npm:2.0.2", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-2.0.2-320ddf72f7-10c0.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:2.0.2"],\ - ["isexe", "npm:2.0.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/which-npm-4.0.0-dd31cd4928-10c0.zip/node_modules/which/",\ - "packageDependencies": [\ - ["which", "npm:4.0.0"],\ - ["isexe", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["why-is-node-running", [\ - ["npm:2.2.2", {\ - "packageLocation": "../.yarn/berry/cache/why-is-node-running-npm-2.2.2-881f898bf3-10c0.zip/node_modules/why-is-node-running/",\ - "packageDependencies": [\ - ["why-is-node-running", "npm:2.2.2"],\ - ["siginfo", "npm:2.0.0"],\ - ["stackback", "npm:0.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wide-align", [\ - ["npm:1.1.5", {\ - "packageLocation": "../.yarn/berry/cache/wide-align-npm-1.1.5-889d77e592-10c0.zip/node_modules/wide-align/",\ - "packageDependencies": [\ - ["wide-align", "npm:1.1.5"],\ - ["string-width", "npm:4.2.3"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrap-ansi", [\ - ["npm:7.0.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-10c0.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:7.0.0"],\ - ["ansi-styles", "npm:4.3.0"],\ - ["string-width", "npm:4.2.3"],\ - ["strip-ansi", "npm:6.0.1"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:8.1.0", {\ - "packageLocation": "../.yarn/berry/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-10c0.zip/node_modules/wrap-ansi/",\ - "packageDependencies": [\ - ["wrap-ansi", "npm:8.1.0"],\ - ["ansi-styles", "npm:6.2.1"],\ - ["string-width", "npm:5.1.2"],\ - ["strip-ansi", "npm:7.1.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["wrappy", [\ - ["npm:1.0.2", {\ - "packageLocation": "../.yarn/berry/cache/wrappy-npm-1.0.2-916de4d4b3-10c0.zip/node_modules/wrappy/",\ - "packageDependencies": [\ - ["wrappy", "npm:1.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["xmlcreate", [\ - ["npm:2.0.4", {\ - "packageLocation": "../.yarn/berry/cache/xmlcreate-npm-2.0.4-340367eeae-10c0.zip/node_modules/xmlcreate/",\ - "packageDependencies": [\ - ["xmlcreate", "npm:2.0.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["xtend", [\ - ["npm:4.0.2", {\ - "packageLocation": "../.yarn/berry/cache/xtend-npm-4.0.2-7f2375736e-10c0.zip/node_modules/xtend/",\ - "packageDependencies": [\ - ["xtend", "npm:4.0.2"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yallist", [\ - ["npm:4.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yallist-npm-4.0.0-b493d9e907-10c0.zip/node_modules/yallist/",\ - "packageDependencies": [\ - ["yallist", "npm:4.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yn", [\ - ["npm:3.1.1", {\ - "packageLocation": "../.yarn/berry/cache/yn-npm-3.1.1-8ad4259784-10c0.zip/node_modules/yn/",\ - "packageDependencies": [\ - ["yn", "npm:3.1.1"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["yocto-queue", [\ - ["npm:0.1.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-0.1.0-c6c9a7db29-10c0.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:0.1.0"]\ - ],\ - "linkType": "HARD"\ - }],\ - ["npm:1.0.0", {\ - "packageLocation": "../.yarn/berry/cache/yocto-queue-npm-1.0.0-7b502f1987-10c0.zip/node_modules/yocto-queue/",\ - "packageDependencies": [\ - ["yocto-queue", "npm:1.0.0"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]],\ - ["zod", [\ - ["npm:3.22.4", {\ - "packageLocation": "../.yarn/berry/cache/zod-npm-3.22.4-2bccbc41b4-10c0.zip/node_modules/zod/",\ - "packageDependencies": [\ - ["zod", "npm:3.22.4"]\ - ],\ - "linkType": "HARD"\ - }]\ - ]]\ - ]\ -}'; - -function $$SETUP_STATE(hydrateRuntimeState, basePath) { - return hydrateRuntimeState(JSON.parse(RAW_RUNTIME_STATE), {basePath: basePath || __dirname}); -} - -const fs = require('fs'); -const path = require('path'); -const crypto = require('crypto'); -const os = require('os'); -const events = require('events'); -const nodeUtils = require('util'); -const stream = require('stream'); -const zlib = require('zlib'); -const require$$0 = require('module'); -const StringDecoder = require('string_decoder'); -const url = require('url'); -const buffer = require('buffer'); -const readline = require('readline'); -const assert = require('assert'); - -const _interopDefaultLegacy = e => e && typeof e === 'object' && 'default' in e ? e : { default: e }; - -function _interopNamespace(e) { - if (e && e.__esModule) return e; - const n = Object.create(null); - if (e) { - for (const k in e) { - if (k !== 'default') { - const d = Object.getOwnPropertyDescriptor(e, k); - Object.defineProperty(n, k, d.get ? d : { - enumerable: true, - get: () => e[k] - }); - } - } - } - n.default = e; - return Object.freeze(n); -} - -const fs__default = /*#__PURE__*/_interopDefaultLegacy(fs); -const path__default = /*#__PURE__*/_interopDefaultLegacy(path); -const nodeUtils__namespace = /*#__PURE__*/_interopNamespace(nodeUtils); -const zlib__default = /*#__PURE__*/_interopDefaultLegacy(zlib); -const require$$0__default = /*#__PURE__*/_interopDefaultLegacy(require$$0); -const StringDecoder__default = /*#__PURE__*/_interopDefaultLegacy(StringDecoder); -const buffer__default = /*#__PURE__*/_interopDefaultLegacy(buffer); -const assert__default = /*#__PURE__*/_interopDefaultLegacy(assert); - -const S_IFMT = 61440; -const S_IFDIR = 16384; -const S_IFREG = 32768; -const S_IFLNK = 40960; -const SAFE_TIME = 456789e3; - -function makeError$1(code, message) { - return Object.assign(new Error(`${code}: ${message}`), { code }); -} -function EBUSY(message) { - return makeError$1(`EBUSY`, message); -} -function ENOSYS(message, reason) { - return makeError$1(`ENOSYS`, `${message}, ${reason}`); -} -function EINVAL(reason) { - return makeError$1(`EINVAL`, `invalid argument, ${reason}`); -} -function EBADF(reason) { - return makeError$1(`EBADF`, `bad file descriptor, ${reason}`); -} -function ENOENT(reason) { - return makeError$1(`ENOENT`, `no such file or directory, ${reason}`); -} -function ENOTDIR(reason) { - return makeError$1(`ENOTDIR`, `not a directory, ${reason}`); -} -function EISDIR(reason) { - return makeError$1(`EISDIR`, `illegal operation on a directory, ${reason}`); -} -function EEXIST(reason) { - return makeError$1(`EEXIST`, `file already exists, ${reason}`); -} -function EROFS(reason) { - return makeError$1(`EROFS`, `read-only filesystem, ${reason}`); -} -function ENOTEMPTY(reason) { - return makeError$1(`ENOTEMPTY`, `directory not empty, ${reason}`); -} -function EOPNOTSUPP(reason) { - return makeError$1(`EOPNOTSUPP`, `operation not supported, ${reason}`); -} -function ERR_DIR_CLOSED() { - return makeError$1(`ERR_DIR_CLOSED`, `Directory handle was closed`); -} - -const DEFAULT_MODE = S_IFREG | 420; -class StatEntry { - constructor() { - this.uid = 0; - this.gid = 0; - this.size = 0; - this.blksize = 0; - this.atimeMs = 0; - this.mtimeMs = 0; - this.ctimeMs = 0; - this.birthtimeMs = 0; - this.atime = new Date(0); - this.mtime = new Date(0); - this.ctime = new Date(0); - this.birthtime = new Date(0); - this.dev = 0; - this.ino = 0; - this.mode = DEFAULT_MODE; - this.nlink = 1; - this.rdev = 0; - this.blocks = 1; - } - isBlockDevice() { - return false; - } - isCharacterDevice() { - return false; - } - isDirectory() { - return (this.mode & S_IFMT) === S_IFDIR; - } - isFIFO() { - return false; - } - isFile() { - return (this.mode & S_IFMT) === S_IFREG; - } - isSocket() { - return false; - } - isSymbolicLink() { - return (this.mode & S_IFMT) === S_IFLNK; - } -} -class BigIntStatsEntry { - constructor() { - this.uid = BigInt(0); - this.gid = BigInt(0); - this.size = BigInt(0); - this.blksize = BigInt(0); - this.atimeMs = BigInt(0); - this.mtimeMs = BigInt(0); - this.ctimeMs = BigInt(0); - this.birthtimeMs = BigInt(0); - this.atimeNs = BigInt(0); - this.mtimeNs = BigInt(0); - this.ctimeNs = BigInt(0); - this.birthtimeNs = BigInt(0); - this.atime = new Date(0); - this.mtime = new Date(0); - this.ctime = new Date(0); - this.birthtime = new Date(0); - this.dev = BigInt(0); - this.ino = BigInt(0); - this.mode = BigInt(DEFAULT_MODE); - this.nlink = BigInt(1); - this.rdev = BigInt(0); - this.blocks = BigInt(1); - } - isBlockDevice() { - return false; - } - isCharacterDevice() { - return false; - } - isDirectory() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFDIR); - } - isFIFO() { - return false; - } - isFile() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFREG); - } - isSocket() { - return false; - } - isSymbolicLink() { - return (this.mode & BigInt(S_IFMT)) === BigInt(S_IFLNK); - } -} -function makeDefaultStats() { - return new StatEntry(); -} -function clearStats(stats) { - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - stats[key] = 0; - } else if (typeof element === `bigint`) { - stats[key] = BigInt(0); - } else if (nodeUtils__namespace.types.isDate(element)) { - stats[key] = new Date(0); - } - } - } - return stats; -} -function convertToBigIntStats(stats) { - const bigintStats = new BigIntStatsEntry(); - for (const key in stats) { - if (Object.hasOwn(stats, key)) { - const element = stats[key]; - if (typeof element === `number`) { - bigintStats[key] = BigInt(element); - } else if (nodeUtils__namespace.types.isDate(element)) { - bigintStats[key] = new Date(element); - } - } - } - bigintStats.atimeNs = bigintStats.atimeMs * BigInt(1e6); - bigintStats.mtimeNs = bigintStats.mtimeMs * BigInt(1e6); - bigintStats.ctimeNs = bigintStats.ctimeMs * BigInt(1e6); - bigintStats.birthtimeNs = bigintStats.birthtimeMs * BigInt(1e6); - return bigintStats; -} -function areStatsEqual(a, b) { - if (a.atimeMs !== b.atimeMs) - return false; - if (a.birthtimeMs !== b.birthtimeMs) - return false; - if (a.blksize !== b.blksize) - return false; - if (a.blocks !== b.blocks) - return false; - if (a.ctimeMs !== b.ctimeMs) - return false; - if (a.dev !== b.dev) - return false; - if (a.gid !== b.gid) - return false; - if (a.ino !== b.ino) - return false; - if (a.isBlockDevice() !== b.isBlockDevice()) - return false; - if (a.isCharacterDevice() !== b.isCharacterDevice()) - return false; - if (a.isDirectory() !== b.isDirectory()) - return false; - if (a.isFIFO() !== b.isFIFO()) - return false; - if (a.isFile() !== b.isFile()) - return false; - if (a.isSocket() !== b.isSocket()) - return false; - if (a.isSymbolicLink() !== b.isSymbolicLink()) - return false; - if (a.mode !== b.mode) - return false; - if (a.mtimeMs !== b.mtimeMs) - return false; - if (a.nlink !== b.nlink) - return false; - if (a.rdev !== b.rdev) - return false; - if (a.size !== b.size) - return false; - if (a.uid !== b.uid) - return false; - const aN = a; - const bN = b; - if (aN.atimeNs !== bN.atimeNs) - return false; - if (aN.mtimeNs !== bN.mtimeNs) - return false; - if (aN.ctimeNs !== bN.ctimeNs) - return false; - if (aN.birthtimeNs !== bN.birthtimeNs) - return false; - return true; -} - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const Filename = { - home: `~`, - nodeModules: `node_modules`, - manifest: `package.json`, - lockfile: `yarn.lock`, - virtual: `__virtual__`, - pnpJs: `.pnp.js`, - pnpCjs: `.pnp.cjs`, - pnpData: `.pnp.data.json`, - pnpEsmLoader: `.pnp.loader.mjs`, - rc: `.yarnrc.yml`, - env: `.env` -}; -const npath = Object.create(path__default.default); -const ppath = Object.create(path__default.default.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path__default.default.posix.resolve(...segments); - } else { - return path__default.default.posix.resolve(ppath.cwd(), ...segments); - } - }; -} -const contains = function(pathUtils, from, to) { - from = pathUtils.normalize(from); - to = pathUtils.normalize(to); - if (from === to) - return `.`; - if (!from.endsWith(pathUtils.sep)) - from = from + pathUtils.sep; - if (to.startsWith(from)) { - return to.slice(from.length); - } else { - return null; - } -}; -npath.contains = (from, to) => contains(npath, from, to); -ppath.contains = (from, to) => contains(ppath, from, to); -const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; -const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; -const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; -const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; -function fromPortablePathWin32(p) { - let portablePathMatch, uncPortablePathMatch; - if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) - p = portablePathMatch[1]; - else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) - p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; - else - return p; - return p.replace(/\//g, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - let windowsPathMatch, uncWindowsPathMatch; - if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) - p = `/${windowsPathMatch[1]}`; - else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) - p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; - return p; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -async function copyPromise(destinationFs, destination, sourceFs, source, opts) { - const normalizedDestination = destinationFs.pathUtils.normalize(destination); - const normalizedSource = sourceFs.pathUtils.normalize(source); - const prelayout = []; - const postlayout = []; - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null && !destinationStat.isDirectory()) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - let updated = false; - if (destinationStat === null) { - prelayout.push(async () => { - try { - await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); - } catch (err) { - if (err.code !== `EEXIST`) { - throw err; - } - } - }); - updated = true; - } - const entries = await sourceFs.readdirPromise(source); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); - }); - return true; -} - -class CustomDir { - constructor(path, nextDirent, opts = {}) { - this.path = path; - this.nextDirent = nextDirent; - this.opts = opts; - this.closed = false; - } - throwIfClosed() { - if (this.closed) { - throw ERR_DIR_CLOSED(); - } - } - async *[Symbol.asyncIterator]() { - try { - let dirent; - while ((dirent = await this.read()) !== null) { - yield dirent; - } - } finally { - await this.close(); - } - } - read(cb) { - const dirent = this.readSync(); - if (typeof cb !== `undefined`) - return cb(null, dirent); - return Promise.resolve(dirent); - } - readSync() { - this.throwIfClosed(); - return this.nextDirent(); - } - close(cb) { - this.closeSync(); - if (typeof cb !== `undefined`) - return cb(null); - return Promise.resolve(); - } - closeSync() { - this.throwIfClosed(); - this.opts.onClose?.(); - this.closed = true; - } -} -function opendir(fakeFs, path, entries, opts) { - const nextDirent = () => { - const filename = entries.shift(); - if (typeof filename === `undefined`) - return null; - const entryPath = fakeFs.pathUtils.join(path, filename); - return Object.assign(fakeFs.statSync(entryPath), { - name: filename, - path: void 0 - }); - }; - return new CustomDir(path, nextDirent, opts); -} - -function assertStatus(current, expected) { - if (current !== expected) { - throw new Error(`Invalid StatWatcher status: expected '${expected}', got '${current}'`); - } -} -class CustomStatWatcher extends events.EventEmitter { - constructor(fakeFs, path, { bigint = false } = {}) { - super(); - this.status = "ready" /* Ready */; - this.changeListeners = /* @__PURE__ */ new Map(); - this.startTimeout = null; - this.fakeFs = fakeFs; - this.path = path; - this.bigint = bigint; - this.lastStats = this.stat(); - } - static create(fakeFs, path, opts) { - const statWatcher = new CustomStatWatcher(fakeFs, path, opts); - statWatcher.start(); - return statWatcher; - } - start() { - assertStatus(this.status, "ready" /* Ready */); - this.status = "running" /* Running */; - this.startTimeout = setTimeout(() => { - this.startTimeout = null; - if (!this.fakeFs.existsSync(this.path)) { - this.emit("change" /* Change */, this.lastStats, this.lastStats); - } - }, 3); - } - stop() { - assertStatus(this.status, "running" /* Running */); - this.status = "stopped" /* Stopped */; - if (this.startTimeout !== null) { - clearTimeout(this.startTimeout); - this.startTimeout = null; - } - this.emit("stop" /* Stop */); - } - stat() { - try { - return this.fakeFs.statSync(this.path, { bigint: this.bigint }); - } catch (error) { - const statInstance = this.bigint ? new BigIntStatsEntry() : new StatEntry(); - return clearStats(statInstance); - } - } - makeInterval(opts) { - const interval = setInterval(() => { - const currentStats = this.stat(); - const previousStats = this.lastStats; - if (areStatsEqual(currentStats, previousStats)) - return; - this.lastStats = currentStats; - this.emit("change" /* Change */, currentStats, previousStats); - }, opts.interval); - return opts.persistent ? interval : interval.unref(); - } - registerChangeListener(listener, opts) { - this.addListener("change" /* Change */, listener); - this.changeListeners.set(listener, this.makeInterval(opts)); - } - unregisterChangeListener(listener) { - this.removeListener("change" /* Change */, listener); - const interval = this.changeListeners.get(listener); - if (typeof interval !== `undefined`) - clearInterval(interval); - this.changeListeners.delete(listener); - } - unregisterAllChangeListeners() { - for (const listener of this.changeListeners.keys()) { - this.unregisterChangeListener(listener); - } - } - hasChangeListeners() { - return this.changeListeners.size > 0; - } - ref() { - for (const interval of this.changeListeners.values()) - interval.ref(); - return this; - } - unref() { - for (const interval of this.changeListeners.values()) - interval.unref(); - return this; - } -} - -const statWatchersByFakeFS = /* @__PURE__ */ new WeakMap(); -function watchFile(fakeFs, path, a, b) { - let bigint; - let persistent; - let interval; - let listener; - switch (typeof a) { - case `function`: - { - bigint = false; - persistent = true; - interval = 5007; - listener = a; - } - break; - default: - { - ({ - bigint = false, - persistent = true, - interval = 5007 - } = a); - listener = b; - } - break; - } - let statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - statWatchersByFakeFS.set(fakeFs, statWatchers = /* @__PURE__ */ new Map()); - let statWatcher = statWatchers.get(path); - if (typeof statWatcher === `undefined`) { - statWatcher = CustomStatWatcher.create(fakeFs, path, { bigint }); - statWatchers.set(path, statWatcher); - } - statWatcher.registerChangeListener(listener, { persistent, interval }); - return statWatcher; -} -function unwatchFile(fakeFs, path, cb) { - const statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - return; - const statWatcher = statWatchers.get(path); - if (typeof statWatcher === `undefined`) - return; - if (typeof cb === `undefined`) - statWatcher.unregisterAllChangeListeners(); - else - statWatcher.unregisterChangeListener(cb); - if (!statWatcher.hasChangeListeners()) { - statWatcher.stop(); - statWatchers.delete(path); - } -} -function unwatchAllFiles(fakeFs) { - const statWatchers = statWatchersByFakeFS.get(fakeFs); - if (typeof statWatchers === `undefined`) - return; - for (const path of statWatchers.keys()) { - unwatchFile(fakeFs, path); - } -} - -class FakeFS { - constructor(pathUtils) { - this.pathUtils = pathUtils; - } - async *genTraversePromise(init, { stableSort = false } = {}) { - const stack = [init]; - while (stack.length > 0) { - const p = stack.shift(); - const entry = await this.lstatPromise(p); - if (entry.isDirectory()) { - const entries = await this.readdirPromise(p); - if (stableSort) { - for (const entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = crypto.createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { - let stat; - try { - stat = await this.lstatPromise(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) { - const entries = await this.readdirPromise(p); - await Promise.all(entries.map((entry) => { - return this.removePromise(this.pathUtils.resolve(p, entry)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } else { - await this.unlinkPromise(p); - } - } - removeSync(p, { recursive = true } = {}) { - let stat; - try { - stat = this.lstatSync(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) - for (const entry of this.readdirSync(p)) - this.removeSync(this.pathUtils.resolve(p, entry)); - this.rmdirSync(p); - } else { - this.unlinkSync(p); - } - } - async mkdirpPromise(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - await this.mkdirPromise(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - await this.chmodPromise(subPath, chmod); - if (utimes != null) { - await this.utimesPromise(subPath, utimes[0], utimes[1]); - } else { - const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); - await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - this.mkdirSync(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - this.chmodSync(subPath, chmod); - if (utimes != null) { - this.utimesSync(subPath, utimes[0], utimes[1]); - } else { - const parentStat = this.statSync(this.pathUtils.dirname(subPath)); - this.utimesSync(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { - return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); - } - copySync(destination, source, { baseFs = this, overwrite = true } = {}) { - const stat = baseFs.lstatSync(source); - const exists = this.existsSync(destination); - if (stat.isDirectory()) { - this.mkdirpSync(destination); - const directoryListing = baseFs.readdirSync(source); - for (const entry of directoryListing) { - this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); - } - } else if (stat.isFile()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const content = baseFs.readFileSync(source); - this.writeFileSync(destination, content); - } - } else if (stat.isSymbolicLink()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const target = baseFs.readlinkSync(source); - this.symlinkSync(convertPath(this.pathUtils, target), destination); - } - } else { - throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); - } - const mode = stat.mode & 511; - this.chmodSync(destination, mode); - } - async changeFilePromise(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferPromise(p, content, opts); - } else { - return this.changeFileTextPromise(p, content, opts); - } - } - async changeFileBufferPromise(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = await this.readFilePromise(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - await this.writeFilePromise(p, content, { mode }); - } - async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { - let current = ``; - try { - current = await this.readFilePromise(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - await this.writeFilePromise(p, normalizedContent, { mode }); - } - changeFileSync(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferSync(p, content, opts); - } else { - return this.changeFileTextSync(p, content, opts); - } - } - changeFileBufferSync(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = this.readFileSync(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - this.writeFileSync(p, content, { mode }); - } - changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { - let current = ``; - try { - current = this.readFileSync(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - this.writeFileSync(p, normalizedContent, { mode }); - } - async movePromise(fromP, toP) { - try { - await this.renamePromise(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - await this.copyPromise(toP, fromP); - await this.removePromise(fromP); - } else { - throw error; - } - } - } - moveSync(fromP, toP) { - try { - this.renameSync(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - this.copySync(toP, fromP); - this.removeSync(fromP); - } else { - throw error; - } - } - } - async lockPromise(affectedPath, callback) { - const lockPath = `${affectedPath}.flock`; - const interval = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - process.kill(pid, 0); - return true; - } catch (error) { - return false; - } - }; - while (fd === null) { - try { - fd = await this.openPromise(lockPath, `wx`); - } catch (error) { - if (error.code === `EEXIST`) { - if (!await isAlive()) { - try { - await this.unlinkPromise(lockPath); - continue; - } catch (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - await new Promise((resolve) => setTimeout(resolve, interval)); - } else { - throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); - } - } else { - throw error; - } - } - } - await this.writePromise(fd, JSON.stringify([process.pid])); - try { - return await callback(); - } finally { - try { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - async readJsonPromise(p) { - const content = await this.readFilePromise(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - readJsonSync(p) { - const content = this.readFileSync(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - async writeJsonPromise(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(p, stat.atime, stat.mtime); - } -} -class BasePortableFakeFS extends FakeFS { - constructor() { - super(ppath); - } -} -function getEndOfLine(content) { - const matches = content.match(/\r?\n/g); - if (matches === null) - return os.EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -class ProxiedFS extends FakeFS { - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - resolve(path) { - return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); - } - getRealPath() { - return this.mapFromBase(this.baseFs.getRealPath()); - } - async openPromise(p, flags, mode) { - return this.baseFs.openPromise(this.mapToBase(p), flags, mode); - } - openSync(p, flags, mode) { - return this.baseFs.openSync(this.mapToBase(p), flags, mode); - } - async opendirPromise(p, opts) { - return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); - } - opendirSync(p, opts) { - return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); - } - async readPromise(fd, buffer, offset, length, position) { - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - return this.baseFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - return this.baseFs.closePromise(fd); - } - closeSync(fd) { - this.baseFs.closeSync(fd); - } - createReadStream(p, opts) { - return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); - } - createWriteStream(p, opts) { - return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); - } - async realpathPromise(p) { - return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); - } - realpathSync(p) { - return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); - } - async existsPromise(p) { - return this.baseFs.existsPromise(this.mapToBase(p)); - } - existsSync(p) { - return this.baseFs.existsSync(this.mapToBase(p)); - } - accessSync(p, mode) { - return this.baseFs.accessSync(this.mapToBase(p), mode); - } - async accessPromise(p, mode) { - return this.baseFs.accessPromise(this.mapToBase(p), mode); - } - async statPromise(p, opts) { - return this.baseFs.statPromise(this.mapToBase(p), opts); - } - statSync(p, opts) { - return this.baseFs.statSync(this.mapToBase(p), opts); - } - async fstatPromise(fd, opts) { - return this.baseFs.fstatPromise(fd, opts); - } - fstatSync(fd, opts) { - return this.baseFs.fstatSync(fd, opts); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); - } - chownSync(p, uid, gid) { - return this.baseFs.chownSync(this.mapToBase(p), uid, gid); - } - async renamePromise(oldP, newP) { - return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); - } - renameSync(oldP, newP) { - return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - async appendFilePromise(p, content, opts) { - return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); - } - appendFileSync(p, content, opts) { - return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); - } - async writeFilePromise(p, content, opts) { - return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); - } - writeFileSync(p, content, opts) { - return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); - } - async unlinkPromise(p) { - return this.baseFs.unlinkPromise(this.mapToBase(p)); - } - unlinkSync(p) { - return this.baseFs.unlinkSync(this.mapToBase(p)); - } - async utimesPromise(p, atime, mtime) { - return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); - } - utimesSync(p, atime, mtime) { - return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return this.baseFs.mkdirPromise(this.mapToBase(p), opts); - } - mkdirSync(p, opts) { - return this.baseFs.mkdirSync(this.mapToBase(p), opts); - } - async rmdirPromise(p, opts) { - return this.baseFs.rmdirPromise(this.mapToBase(p), opts); - } - rmdirSync(p, opts) { - return this.baseFs.rmdirSync(this.mapToBase(p), opts); - } - async linkPromise(existingP, newP) { - return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); - } - linkSync(existingP, newP) { - return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); - } - async symlinkPromise(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); - } - symlinkSync(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkSync(mappedTarget, mappedP, type); - } - async readFilePromise(p, encoding) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - readdirPromise(p, opts) { - return this.baseFs.readdirPromise(this.mapToBase(p), opts); - } - readdirSync(p, opts) { - return this.baseFs.readdirSync(this.mapToBase(p), opts); - } - async readlinkPromise(p) { - return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); - } - readlinkSync(p) { - return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); - } - async truncatePromise(p, len) { - return this.baseFs.truncatePromise(this.mapToBase(p), len); - } - truncateSync(p, len) { - return this.baseFs.truncateSync(this.mapToBase(p), len); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.baseFs.watch( - this.mapToBase(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.baseFs.watchFile( - this.mapToBase(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.baseFs.unwatchFile(this.mapToBase(p), cb); - } - fsMapToBase(p) { - if (typeof p === `number`) { - return p; - } else { - return this.mapToBase(p); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - constructor(realFs = fs__default.default) { - super(); - this.realFs = realFs; - } - getExtractHint() { - return false; - } - getRealPath() { - return PortablePath.root; - } - resolve(p) { - return ppath.resolve(p); - } - async openPromise(p, flags, mode) { - return await new Promise((resolve, reject) => { - this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); - }); - } - openSync(p, flags, mode) { - return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); - } - async opendirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (typeof opts !== `undefined`) { - this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }).then((dir) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { - return await new Promise((resolve, reject) => { - this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { - if (error) { - reject(error); - } else { - resolve(bytesRead); - } - }); - }); - } - readSync(fd, buffer, offset, length, position) { - return this.realFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - return await new Promise((resolve, reject) => { - if (typeof buffer === `string`) { - return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); - } else { - return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); - } - }); - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.realFs.writeSync(fd, buffer, offset); - } else { - return this.realFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - await new Promise((resolve, reject) => { - this.realFs.close(fd, this.makeCallback(resolve, reject)); - }); - } - closeSync(fd) { - this.realFs.closeSync(fd); - } - createReadStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createReadStream(realPath, opts); - } - createWriteStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createWriteStream(realPath, opts); - } - async realpathPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - realpathSync(p) { - return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); - } - async existsPromise(p) { - return await new Promise((resolve) => { - this.realFs.exists(npath.fromPortablePath(p), resolve); - }); - } - accessSync(p, mode) { - return this.realFs.accessSync(npath.fromPortablePath(p), mode); - } - async accessPromise(p, mode) { - return await new Promise((resolve, reject) => { - this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); - }); - } - existsSync(p) { - return this.realFs.existsSync(npath.fromPortablePath(p)); - } - async statPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - statSync(p, opts) { - if (opts) { - return this.realFs.statSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.statSync(npath.fromPortablePath(p)); - } - } - async fstatPromise(fd, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - lstatSync(p, opts) { - if (opts) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return await new Promise((resolve, reject) => { - this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); - }); - } - chmodSync(p, mask) { - return this.realFs.chmodSync(npath.fromPortablePath(p), mask); - } - async fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); - }); - } - chownSync(p, uid, gid) { - return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); - } - async renamePromise(oldP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - renameSync(oldP, newP) { - return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return await new Promise((resolve, reject) => { - this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); - } - async appendFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - appendFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFileSync(fsNativePath, content, opts); - } else { - this.realFs.appendFileSync(fsNativePath, content); - } - } - async writeFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - writeFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFileSync(fsNativePath, content, opts); - } else { - this.realFs.writeFileSync(fsNativePath, content); - } - } - async unlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - unlinkSync(p) { - return this.realFs.unlinkSync(npath.fromPortablePath(p)); - } - async utimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - utimesSync(p, atime, mtime) { - this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - }); - } - mkdirSync(p, opts) { - return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); - } - async rmdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmdirSync(p, opts) { - return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); - } - async linkPromise(existingP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - linkSync(existingP, newP) { - return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); - } - async symlinkPromise(target, p, type) { - return await new Promise((resolve, reject) => { - this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); - }); - } - symlinkSync(target, p, type) { - return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); - } - async readFilePromise(p, encoding) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); - }); - } - readFileSync(p, encoding) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - return this.realFs.readFileSync(fsNativePath, encoding); - } - async readdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p)); - } - } - async readlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - readlinkSync(p) { - return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); - } - async truncatePromise(p, len) { - return await new Promise((resolve, reject) => { - this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); - }); - } - truncateSync(p, len) { - return this.realFs.truncateSync(npath.fromPortablePath(p), len); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.realFs.watch( - npath.fromPortablePath(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.realFs.watchFile( - npath.fromPortablePath(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); - } - makeCallback(resolve, reject) { - return (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }; - } -} - -const MOUNT_MASK = 4278190080; -class MountFS extends BasePortableFakeFS { - constructor({ baseFs = new NodeFS(), filter = null, magicByte = 42, maxOpenFiles = Infinity, useCache = true, maxAge = 5e3, typeCheck = fs.constants.S_IFREG, getMountPoint, factoryPromise, factorySync }) { - if (Math.floor(magicByte) !== magicByte || !(magicByte > 1 && magicByte <= 127)) - throw new Error(`The magic byte must be set to a round value between 1 and 127 included`); - super(); - this.fdMap = /* @__PURE__ */ new Map(); - this.nextFd = 3; - this.isMount = /* @__PURE__ */ new Set(); - this.notMount = /* @__PURE__ */ new Set(); - this.realPaths = /* @__PURE__ */ new Map(); - this.limitOpenFilesTimeout = null; - this.baseFs = baseFs; - this.mountInstances = useCache ? /* @__PURE__ */ new Map() : null; - this.factoryPromise = factoryPromise; - this.factorySync = factorySync; - this.filter = filter; - this.getMountPoint = getMountPoint; - this.magic = magicByte << 24; - this.maxAge = maxAge; - this.maxOpenFiles = maxOpenFiles; - this.typeCheck = typeCheck; - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - saveAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - } - } - } - discardAndClose() { - unwatchAllFiles(this); - if (this.mountInstances) { - for (const [path, { childFs }] of this.mountInstances.entries()) { - childFs.discardAndClose?.(); - this.mountInstances.delete(path); - } - } - } - resolve(p) { - return this.baseFs.resolve(p); - } - remapFd(mountFs, fd) { - const remappedFd = this.nextFd++ | this.magic; - this.fdMap.set(remappedFd, [mountFs, fd]); - return remappedFd; - } - async openPromise(p, flags, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.openPromise(p, flags, mode); - }, async (mountFs, { subPath }) => { - return this.remapFd(mountFs, await mountFs.openPromise(subPath, flags, mode)); - }); - } - openSync(p, flags, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.openSync(p, flags, mode); - }, (mountFs, { subPath }) => { - return this.remapFd(mountFs, mountFs.openSync(subPath, flags, mode)); - }); - } - async opendirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.opendirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.opendirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - opendirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.opendirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.opendirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readPromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - const [mountFs, realFd] = entry; - return await mountFs.readPromise(realFd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.readSync(fd, buffer, offset, length, position); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`readSync`); - const [mountFs, realFd] = entry; - return mountFs.readSync(realFd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`write`); - const [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return await mountFs.writePromise(realFd, buffer, offset); - } else { - return await mountFs.writePromise(realFd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if ((fd & MOUNT_MASK) !== this.magic) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`writeSync`); - const [mountFs, realFd] = entry; - if (typeof buffer === `string`) { - return mountFs.writeSync(realFd, buffer, offset); - } else { - return mountFs.writeSync(realFd, buffer, offset, length, position); - } - } - async closePromise(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return await this.baseFs.closePromise(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`close`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return await mountFs.closePromise(realFd); - } - closeSync(fd) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.closeSync(fd); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`closeSync`); - this.fdMap.delete(fd); - const [mountFs, realFd] = entry; - return mountFs.closeSync(realFd); - } - createReadStream(p, opts) { - if (p === null) - return this.baseFs.createReadStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createReadStream(p, opts); - }, (mountFs, { archivePath, subPath }) => { - const stream = mountFs.createReadStream(subPath, opts); - stream.path = npath.fromPortablePath(this.pathUtils.join(archivePath, subPath)); - return stream; - }); - } - createWriteStream(p, opts) { - if (p === null) - return this.baseFs.createWriteStream(p, opts); - return this.makeCallSync(p, () => { - return this.baseFs.createWriteStream(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.createWriteStream(subPath, opts); - }); - } - async realpathPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.realpathPromise(p); - }, async (mountFs, { archivePath, subPath }) => { - let realArchivePath = this.realPaths.get(archivePath); - if (typeof realArchivePath === `undefined`) { - realArchivePath = await this.baseFs.realpathPromise(archivePath); - this.realPaths.set(archivePath, realArchivePath); - } - return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, await mountFs.realpathPromise(subPath))); - }); - } - realpathSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.realpathSync(p); - }, (mountFs, { archivePath, subPath }) => { - let realArchivePath = this.realPaths.get(archivePath); - if (typeof realArchivePath === `undefined`) { - realArchivePath = this.baseFs.realpathSync(archivePath); - this.realPaths.set(archivePath, realArchivePath); - } - return this.pathUtils.join(realArchivePath, this.pathUtils.relative(PortablePath.root, mountFs.realpathSync(subPath))); - }); - } - async existsPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.existsPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.existsPromise(subPath); - }); - } - existsSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.existsSync(p); - }, (mountFs, { subPath }) => { - return mountFs.existsSync(subPath); - }); - } - async accessPromise(p, mode) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.accessPromise(p, mode); - }, async (mountFs, { subPath }) => { - return await mountFs.accessPromise(subPath, mode); - }); - } - accessSync(p, mode) { - return this.makeCallSync(p, () => { - return this.baseFs.accessSync(p, mode); - }, (mountFs, { subPath }) => { - return mountFs.accessSync(subPath, mode); - }); - } - async statPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.statPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.statPromise(subPath, opts); - }); - } - statSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.statSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.statSync(subPath, opts); - }); - } - async fstatPromise(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatPromise(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstat`); - const [mountFs, realFd] = entry; - return mountFs.fstatPromise(realFd, opts); - } - fstatSync(fd, opts) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fstatSync(fd, opts); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstatSync`); - const [mountFs, realFd] = entry; - return mountFs.fstatSync(realFd, opts); - } - async lstatPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lstatPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.lstatPromise(subPath, opts); - }); - } - lstatSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.lstatSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.lstatSync(subPath, opts); - }); - } - async fchmodPromise(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodPromise(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmod`); - const [mountFs, realFd] = entry; - return mountFs.fchmodPromise(realFd, mask); - } - fchmodSync(fd, mask) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchmodSync(fd, mask); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchmodSync`); - const [mountFs, realFd] = entry; - return mountFs.fchmodSync(realFd, mask); - } - async chmodPromise(p, mask) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chmodPromise(p, mask); - }, async (mountFs, { subPath }) => { - return await mountFs.chmodPromise(subPath, mask); - }); - } - chmodSync(p, mask) { - return this.makeCallSync(p, () => { - return this.baseFs.chmodSync(p, mask); - }, (mountFs, { subPath }) => { - return mountFs.chmodSync(subPath, mask); - }); - } - async fchownPromise(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownPromise(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchown`); - const [zipFs, realFd] = entry; - return zipFs.fchownPromise(realFd, uid, gid); - } - fchownSync(fd, uid, gid) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.fchownSync(fd, uid, gid); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fchownSync`); - const [zipFs, realFd] = entry; - return zipFs.fchownSync(realFd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.chownPromise(p, uid, gid); - }, async (mountFs, { subPath }) => { - return await mountFs.chownPromise(subPath, uid, gid); - }); - } - chownSync(p, uid, gid) { - return this.makeCallSync(p, () => { - return this.baseFs.chownSync(p, uid, gid); - }, (mountFs, { subPath }) => { - return mountFs.chownSync(subPath, uid, gid); - }); - } - async renamePromise(oldP, newP) { - return await this.makeCallPromise(oldP, async () => { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.renamePromise(oldP, newP); - }, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }); - }, async (mountFsO, { subPath: subPathO }) => { - return await this.makeCallPromise(newP, async () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, async (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return await mountFsO.renamePromise(subPathO, subPathN); - } - }); - }); - } - renameSync(oldP, newP) { - return this.makeCallSync(oldP, () => { - return this.makeCallSync(newP, () => { - return this.baseFs.renameSync(oldP, newP); - }, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }); - }, (mountFsO, { subPath: subPathO }) => { - return this.makeCallSync(newP, () => { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - }, (mountFsN, { subPath: subPathN }) => { - if (mountFsO !== mountFsN) { - throw Object.assign(new Error(`EEXDEV: cross-device link not permitted`), { code: `EEXDEV` }); - } else { - return mountFsO.renameSync(subPathO, subPathN); - } - }); - }); - } - async copyFilePromise(sourceP, destP, flags = 0) { - const fallback = async (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && await this.existsPromise(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = await sourceFs.readFilePromise(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - await destFs.writeFilePromise(destP2, content); - }; - return await this.makeCallPromise(sourceP, async () => { - return await this.makeCallPromise(destP, async () => { - return await this.baseFs.copyFilePromise(sourceP, destP, flags); - }, async (mountFsD, { subPath: subPathD }) => { - return await fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, async (mountFsS, { subPath: subPathS }) => { - return await this.makeCallPromise(destP, async () => { - return await fallback(mountFsS, subPathS, this.baseFs, destP); - }, async (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return await fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return await mountFsS.copyFilePromise(subPathS, subPathD, flags); - } - }); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - const fallback = (sourceFs, sourceP2, destFs, destP2) => { - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${sourceP2}' -> ${destP2}'`), { code: `EXDEV` }); - if (flags & fs.constants.COPYFILE_EXCL && this.existsSync(sourceP2)) - throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EEXIST` }); - let content; - try { - content = sourceFs.readFileSync(sourceP2); - } catch (error) { - throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${sourceP2}' -> '${destP2}'`), { code: `EINVAL` }); - } - destFs.writeFileSync(destP2, content); - }; - return this.makeCallSync(sourceP, () => { - return this.makeCallSync(destP, () => { - return this.baseFs.copyFileSync(sourceP, destP, flags); - }, (mountFsD, { subPath: subPathD }) => { - return fallback(this.baseFs, sourceP, mountFsD, subPathD); - }); - }, (mountFsS, { subPath: subPathS }) => { - return this.makeCallSync(destP, () => { - return fallback(mountFsS, subPathS, this.baseFs, destP); - }, (mountFsD, { subPath: subPathD }) => { - if (mountFsS !== mountFsD) { - return fallback(mountFsS, subPathS, mountFsD, subPathD); - } else { - return mountFsS.copyFileSync(subPathS, subPathD, flags); - } - }); - }); - } - async appendFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.appendFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.appendFilePromise(subPath, content, opts); - }); - } - appendFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.appendFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.appendFileSync(subPath, content, opts); - }); - } - async writeFilePromise(p, content, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.writeFilePromise(p, content, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.writeFilePromise(subPath, content, opts); - }); - } - writeFileSync(p, content, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.writeFileSync(p, content, opts); - }, (mountFs, { subPath }) => { - return mountFs.writeFileSync(subPath, content, opts); - }); - } - async unlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.unlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.unlinkPromise(subPath); - }); - } - unlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.unlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.unlinkSync(subPath); - }); - } - async utimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.utimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.utimesPromise(subPath, atime, mtime); - }); - } - utimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.utimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.utimesSync(subPath, atime, mtime); - }); - } - async lutimesPromise(p, atime, mtime) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.lutimesPromise(p, atime, mtime); - }, async (mountFs, { subPath }) => { - return await mountFs.lutimesPromise(subPath, atime, mtime); - }); - } - lutimesSync(p, atime, mtime) { - return this.makeCallSync(p, () => { - return this.baseFs.lutimesSync(p, atime, mtime); - }, (mountFs, { subPath }) => { - return mountFs.lutimesSync(subPath, atime, mtime); - }); - } - async mkdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.mkdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.mkdirPromise(subPath, opts); - }); - } - mkdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.mkdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.mkdirSync(subPath, opts); - }); - } - async rmdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.rmdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.rmdirPromise(subPath, opts); - }); - } - rmdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.rmdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.rmdirSync(subPath, opts); - }); - } - async linkPromise(existingP, newP) { - return await this.makeCallPromise(newP, async () => { - return await this.baseFs.linkPromise(existingP, newP); - }, async (mountFs, { subPath }) => { - return await mountFs.linkPromise(existingP, subPath); - }); - } - linkSync(existingP, newP) { - return this.makeCallSync(newP, () => { - return this.baseFs.linkSync(existingP, newP); - }, (mountFs, { subPath }) => { - return mountFs.linkSync(existingP, subPath); - }); - } - async symlinkPromise(target, p, type) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.symlinkPromise(target, p, type); - }, async (mountFs, { subPath }) => { - return await mountFs.symlinkPromise(target, subPath); - }); - } - symlinkSync(target, p, type) { - return this.makeCallSync(p, () => { - return this.baseFs.symlinkSync(target, p, type); - }, (mountFs, { subPath }) => { - return mountFs.symlinkSync(target, subPath); - }); - } - async readFilePromise(p, encoding) { - return this.makeCallPromise(p, async () => { - return await this.baseFs.readFilePromise(p, encoding); - }, async (mountFs, { subPath }) => { - return await mountFs.readFilePromise(subPath, encoding); - }); - } - readFileSync(p, encoding) { - return this.makeCallSync(p, () => { - return this.baseFs.readFileSync(p, encoding); - }, (mountFs, { subPath }) => { - return mountFs.readFileSync(subPath, encoding); - }); - } - async readdirPromise(p, opts) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readdirPromise(p, opts); - }, async (mountFs, { subPath }) => { - return await mountFs.readdirPromise(subPath, opts); - }, { - requireSubpath: false - }); - } - readdirSync(p, opts) { - return this.makeCallSync(p, () => { - return this.baseFs.readdirSync(p, opts); - }, (mountFs, { subPath }) => { - return mountFs.readdirSync(subPath, opts); - }, { - requireSubpath: false - }); - } - async readlinkPromise(p) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.readlinkPromise(p); - }, async (mountFs, { subPath }) => { - return await mountFs.readlinkPromise(subPath); - }); - } - readlinkSync(p) { - return this.makeCallSync(p, () => { - return this.baseFs.readlinkSync(p); - }, (mountFs, { subPath }) => { - return mountFs.readlinkSync(subPath); - }); - } - async truncatePromise(p, len) { - return await this.makeCallPromise(p, async () => { - return await this.baseFs.truncatePromise(p, len); - }, async (mountFs, { subPath }) => { - return await mountFs.truncatePromise(subPath, len); - }); - } - truncateSync(p, len) { - return this.makeCallSync(p, () => { - return this.baseFs.truncateSync(p, len); - }, (mountFs, { subPath }) => { - return mountFs.truncateSync(subPath, len); - }); - } - async ftruncatePromise(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncatePromise(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncate`); - const [mountFs, realFd] = entry; - return mountFs.ftruncatePromise(realFd, len); - } - ftruncateSync(fd, len) { - if ((fd & MOUNT_MASK) !== this.magic) - return this.baseFs.ftruncateSync(fd, len); - const entry = this.fdMap.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`ftruncateSync`); - const [mountFs, realFd] = entry; - return mountFs.ftruncateSync(realFd, len); - } - watch(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watch( - p, - a, - b - ); - }, (mountFs, { subPath }) => { - return mountFs.watch( - subPath, - a, - b - ); - }); - } - watchFile(p, a, b) { - return this.makeCallSync(p, () => { - return this.baseFs.watchFile( - p, - a, - b - ); - }, () => { - return watchFile(this, p, a, b); - }); - } - unwatchFile(p, cb) { - return this.makeCallSync(p, () => { - return this.baseFs.unwatchFile(p, cb); - }, () => { - return unwatchFile(this, p, cb); - }); - } - async makeCallPromise(p, discard, accept, { requireSubpath = true } = {}) { - if (typeof p !== `string`) - return await discard(); - const normalizedP = this.resolve(p); - const mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return await discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return await discard(); - return await this.getMountPromise(mountInfo.archivePath, async (mountFs) => await accept(mountFs, mountInfo)); - } - makeCallSync(p, discard, accept, { requireSubpath = true } = {}) { - if (typeof p !== `string`) - return discard(); - const normalizedP = this.resolve(p); - const mountInfo = this.findMount(normalizedP); - if (!mountInfo) - return discard(); - if (requireSubpath && mountInfo.subPath === `/`) - return discard(); - return this.getMountSync(mountInfo.archivePath, (mountFs) => accept(mountFs, mountInfo)); - } - findMount(p) { - if (this.filter && !this.filter.test(p)) - return null; - let filePath = ``; - while (true) { - const pathPartWithArchive = p.substring(filePath.length); - const mountPoint = this.getMountPoint(pathPartWithArchive, filePath); - if (!mountPoint) - return null; - filePath = this.pathUtils.join(filePath, mountPoint); - if (!this.isMount.has(filePath)) { - if (this.notMount.has(filePath)) - continue; - try { - if (this.typeCheck !== null && (this.baseFs.lstatSync(filePath).mode & fs.constants.S_IFMT) !== this.typeCheck) { - this.notMount.add(filePath); - continue; - } - } catch { - return null; - } - this.isMount.add(filePath); - } - return { - archivePath: filePath, - subPath: this.pathUtils.join(PortablePath.root, p.substring(filePath.length)) - }; - } - } - limitOpenFiles(max) { - if (this.mountInstances === null) - return; - const now = Date.now(); - let nextExpiresAt = now + this.maxAge; - let closeCount = max === null ? 0 : this.mountInstances.size - max; - for (const [path, { childFs, expiresAt, refCount }] of this.mountInstances.entries()) { - if (refCount !== 0 || childFs.hasOpenFileHandles?.()) { - continue; - } else if (now >= expiresAt) { - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - continue; - } else if (max === null || closeCount <= 0) { - nextExpiresAt = expiresAt; - break; - } - childFs.saveAndClose?.(); - this.mountInstances.delete(path); - closeCount -= 1; - } - if (this.limitOpenFilesTimeout === null && (max === null && this.mountInstances.size > 0 || max !== null) && isFinite(nextExpiresAt)) { - this.limitOpenFilesTimeout = setTimeout(() => { - this.limitOpenFilesTimeout = null; - this.limitOpenFiles(null); - }, nextExpiresAt - now).unref(); - } - } - async getMountPromise(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - const createFsInstance = await this.factoryPromise(this.baseFs, p); - cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: createFsInstance(), - expiresAt: 0, - refCount: 0 - }; - } - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - cachedMountFs.refCount += 1; - try { - return await accept(cachedMountFs.childFs); - } finally { - cachedMountFs.refCount -= 1; - } - } else { - const mountFs = (await this.factoryPromise(this.baseFs, p))(); - try { - return await accept(mountFs); - } finally { - mountFs.saveAndClose?.(); - } - } - } - getMountSync(p, accept) { - if (this.mountInstances) { - let cachedMountFs = this.mountInstances.get(p); - if (!cachedMountFs) { - cachedMountFs = { - childFs: this.factorySync(this.baseFs, p), - expiresAt: 0, - refCount: 0 - }; - } - this.mountInstances.delete(p); - this.limitOpenFiles(this.maxOpenFiles - 1); - this.mountInstances.set(p, cachedMountFs); - cachedMountFs.expiresAt = Date.now() + this.maxAge; - return accept(cachedMountFs.childFs); - } else { - const childFs = this.factorySync(this.baseFs, p); - try { - return accept(childFs); - } finally { - childFs.saveAndClose?.(); - } - } - } -} - -class PosixFS extends ProxiedFS { - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return npath.fromPortablePath(path); - } - mapToBase(path) { - return npath.toPortablePath(path); - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - static makeVirtualPath(base, component, to) { - if (ppath.basename(base) !== `__virtual__`) - throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); - if (!ppath.basename(component).match(VALID_COMPONENT)) - throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - let depth = 0; - while (depth < segments.length && segments[depth] === `..`) - depth += 1; - const finalSegments = segments.slice(depth); - const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); - return fullVirtualPath; - } - static resolveVirtual(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match || !match[3] && match[5]) - return p; - const target = ppath.dirname(match[1]); - if (!match[3] || !match[4]) - return target; - const isnum = NUMBER_REGEXP.test(match[4]); - if (!isnum) - return p; - const depth = Number(match[4]); - const backstep = `../`.repeat(depth); - const subpath = match[5] || `.`; - return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - realpathSync(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return this.baseFs.realpathSync(p); - if (!match[5]) - return p; - const realpath = this.baseFs.realpathSync(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - async realpathPromise(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return await this.baseFs.realpathPromise(p); - if (!match[5]) - return p; - const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - mapToBase(p) { - if (p === ``) - return p; - if (this.pathUtils.isAbsolute(p)) - return VirtualFS.resolveVirtual(p); - const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); - const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); - return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; - } - mapFromBase(p) { - return p; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? url.URL : globalThis.URL; - -class NodePathFS extends ProxiedFS { - constructor(baseFs) { - super(npath); - this.baseFs = baseFs; - } - mapFromBase(path) { - return path; - } - mapToBase(path) { - if (typeof path === `string`) - return path; - if (path instanceof URL) - return url.fileURLToPath(path); - if (Buffer.isBuffer(path)) { - const str = path.toString(); - if (!isUtf8(path, str)) - throw new Error(`Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942`); - return str; - } - throw new Error(`Unsupported path type: ${nodeUtils.inspect(path)}`); - } -} -function isUtf8(buf, str) { - if (typeof buffer__default.default.isUtf8 !== `undefined`) - return buffer__default.default.isUtf8(buf); - return Buffer.byteLength(str) === buf.byteLength; -} - -var _a, _b, _c, _d; -const kBaseFs = Symbol(`kBaseFs`); -const kFd = Symbol(`kFd`); -const kClosePromise = Symbol(`kClosePromise`); -const kCloseResolve = Symbol(`kCloseResolve`); -const kCloseReject = Symbol(`kCloseReject`); -const kRefs = Symbol(`kRefs`); -const kRef = Symbol(`kRef`); -const kUnref = Symbol(`kUnref`); -class FileHandle { - constructor(fd, baseFs) { - this[_a] = 1; - this[_b] = void 0; - this[_c] = void 0; - this[_d] = void 0; - this[kBaseFs] = baseFs; - this[kFd] = fd; - } - get fd() { - return this[kFd]; - } - async appendFile(data, options) { - try { - this[kRef](this.appendFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].appendFilePromise(this.fd, data, encoding ? { encoding } : void 0); - } finally { - this[kUnref](); - } - } - async chown(uid, gid) { - try { - this[kRef](this.chown); - return await this[kBaseFs].fchownPromise(this.fd, uid, gid); - } finally { - this[kUnref](); - } - } - async chmod(mode) { - try { - this[kRef](this.chmod); - return await this[kBaseFs].fchmodPromise(this.fd, mode); - } finally { - this[kUnref](); - } - } - createReadStream(options) { - return this[kBaseFs].createReadStream(null, { ...options, fd: this.fd }); - } - createWriteStream(options) { - return this[kBaseFs].createWriteStream(null, { ...options, fd: this.fd }); - } - datasync() { - throw new Error(`Method not implemented.`); - } - sync() { - throw new Error(`Method not implemented.`); - } - async read(bufferOrOptions, offset, length, position) { - try { - this[kRef](this.read); - let buffer; - if (!Buffer.isBuffer(bufferOrOptions)) { - bufferOrOptions ??= {}; - buffer = bufferOrOptions.buffer ?? Buffer.alloc(16384); - offset = bufferOrOptions.offset || 0; - length = bufferOrOptions.length ?? buffer.byteLength; - position = bufferOrOptions.position ?? null; - } else { - buffer = bufferOrOptions; - } - offset ??= 0; - length ??= 0; - if (length === 0) { - return { - bytesRead: length, - buffer - }; - } - const bytesRead = await this[kBaseFs].readPromise(this.fd, buffer, offset, length, position); - return { - bytesRead, - buffer - }; - } finally { - this[kUnref](); - } - } - async readFile(options) { - try { - this[kRef](this.readFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - return await this[kBaseFs].readFilePromise(this.fd, encoding); - } finally { - this[kUnref](); - } - } - readLines(options) { - return readline.createInterface({ - input: this.createReadStream(options), - crlfDelay: Infinity - }); - } - async stat(opts) { - try { - this[kRef](this.stat); - return await this[kBaseFs].fstatPromise(this.fd, opts); - } finally { - this[kUnref](); - } - } - async truncate(len) { - try { - this[kRef](this.truncate); - return await this[kBaseFs].ftruncatePromise(this.fd, len); - } finally { - this[kUnref](); - } - } - utimes(atime, mtime) { - throw new Error(`Method not implemented.`); - } - async writeFile(data, options) { - try { - this[kRef](this.writeFile); - const encoding = (typeof options === `string` ? options : options?.encoding) ?? void 0; - await this[kBaseFs].writeFilePromise(this.fd, data, encoding); - } finally { - this[kUnref](); - } - } - async write(...args) { - try { - this[kRef](this.write); - if (ArrayBuffer.isView(args[0])) { - const [buffer, offset, length, position] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, buffer, offset ?? void 0, length ?? void 0, position ?? void 0); - return { bytesWritten, buffer }; - } else { - const [data, position, encoding] = args; - const bytesWritten = await this[kBaseFs].writePromise(this.fd, data, position, encoding); - return { bytesWritten, buffer: data }; - } - } finally { - this[kUnref](); - } - } - async writev(buffers, position) { - try { - this[kRef](this.writev); - let bytesWritten = 0; - if (typeof position !== `undefined`) { - for (const buffer of buffers) { - const writeResult = await this.write(buffer, void 0, void 0, position); - bytesWritten += writeResult.bytesWritten; - position += writeResult.bytesWritten; - } - } else { - for (const buffer of buffers) { - const writeResult = await this.write(buffer); - bytesWritten += writeResult.bytesWritten; - } - } - return { - buffers, - bytesWritten - }; - } finally { - this[kUnref](); - } - } - readv(buffers, position) { - throw new Error(`Method not implemented.`); - } - close() { - if (this[kFd] === -1) - return Promise.resolve(); - if (this[kClosePromise]) - return this[kClosePromise]; - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kClosePromise] = this[kBaseFs].closePromise(fd).finally(() => { - this[kClosePromise] = void 0; - }); - } else { - this[kClosePromise] = new Promise((resolve, reject) => { - this[kCloseResolve] = resolve; - this[kCloseReject] = reject; - }).finally(() => { - this[kClosePromise] = void 0; - this[kCloseReject] = void 0; - this[kCloseResolve] = void 0; - }); - } - return this[kClosePromise]; - } - [(_a = kRefs, _b = kClosePromise, _c = kCloseResolve, _d = kCloseReject, kRef)](caller) { - if (this[kFd] === -1) { - const err = new Error(`file closed`); - err.code = `EBADF`; - err.syscall = caller.name; - throw err; - } - this[kRefs]++; - } - [kUnref]() { - this[kRefs]--; - if (this[kRefs] === 0) { - const fd = this[kFd]; - this[kFd] = -1; - this[kBaseFs].closePromise(fd).then(this[kCloseResolve], this[kCloseReject]); - } - } -} - -const SYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessSync`, - `appendFileSync`, - `createReadStream`, - `createWriteStream`, - `chmodSync`, - `fchmodSync`, - `chownSync`, - `fchownSync`, - `closeSync`, - `copyFileSync`, - `linkSync`, - `lstatSync`, - `fstatSync`, - `lutimesSync`, - `mkdirSync`, - `openSync`, - `opendirSync`, - `readlinkSync`, - `readFileSync`, - `readdirSync`, - `readlinkSync`, - `realpathSync`, - `renameSync`, - `rmdirSync`, - `statSync`, - `symlinkSync`, - `truncateSync`, - `ftruncateSync`, - `unlinkSync`, - `unwatchFile`, - `utimesSync`, - `watch`, - `watchFile`, - `writeFileSync`, - `writeSync` -]); -const ASYNC_IMPLEMENTATIONS = /* @__PURE__ */ new Set([ - `accessPromise`, - `appendFilePromise`, - `fchmodPromise`, - `chmodPromise`, - `fchownPromise`, - `chownPromise`, - `closePromise`, - `copyFilePromise`, - `linkPromise`, - `fstatPromise`, - `lstatPromise`, - `lutimesPromise`, - `mkdirPromise`, - `openPromise`, - `opendirPromise`, - `readdirPromise`, - `realpathPromise`, - `readFilePromise`, - `readdirPromise`, - `readlinkPromise`, - `renamePromise`, - `rmdirPromise`, - `statPromise`, - `symlinkPromise`, - `truncatePromise`, - `ftruncatePromise`, - `unlinkPromise`, - `utimesPromise`, - `writeFilePromise`, - `writeSync` -]); -function patchFs(patchedFs, fakeFs) { - fakeFs = new NodePathFS(fakeFs); - const setupFn = (target, name, replacement) => { - const orig = target[name]; - target[name] = replacement; - if (typeof orig?.[nodeUtils.promisify.custom] !== `undefined`) { - replacement[nodeUtils.promisify.custom] = orig[nodeUtils.promisify.custom]; - } - }; - { - setupFn(patchedFs, `exists`, (p, ...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => { - }; - process.nextTick(() => { - fakeFs.existsPromise(p).then((exists) => { - callback(exists); - }, () => { - callback(false); - }); - }); - }); - setupFn(patchedFs, `read`, (...args) => { - let [fd, buffer, offset, length, position, callback] = args; - if (args.length <= 3) { - let options = {}; - if (args.length < 3) { - callback = args[1]; - } else { - options = args[1]; - callback = args[2]; - } - ({ - buffer = Buffer.alloc(16384), - offset = 0, - length = buffer.byteLength, - position - } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) { - process.nextTick(() => { - callback(null, 0, buffer); - }); - return; - } - if (position == null) - position = -1; - process.nextTick(() => { - fakeFs.readPromise(fd, buffer, offset, length, position).then((bytesRead) => { - callback(null, bytesRead, buffer); - }, (error) => { - callback(error, 0, buffer); - }); - }); - }); - for (const fnName of ASYNC_IMPLEMENTATIONS) { - const origName = fnName.replace(/Promise$/, ``); - if (typeof patchedFs[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - const wrapper = (...args) => { - const hasCallback = typeof args[args.length - 1] === `function`; - const callback = hasCallback ? args.pop() : () => { - }; - process.nextTick(() => { - fakeImpl.apply(fakeFs, args).then((result) => { - callback(null, result); - }, (error) => { - callback(error); - }); - }); - }; - setupFn(patchedFs, origName, wrapper); - } - patchedFs.realpath.native = patchedFs.realpath; - } - { - setupFn(patchedFs, `existsSync`, (p) => { - try { - return fakeFs.existsSync(p); - } catch (error) { - return false; - } - }); - setupFn(patchedFs, `readSync`, (...args) => { - let [fd, buffer, offset, length, position] = args; - if (args.length <= 3) { - const options = args[2] || {}; - ({ offset = 0, length = buffer.byteLength, position } = options); - } - if (offset == null) - offset = 0; - length |= 0; - if (length === 0) - return 0; - if (position == null) - position = -1; - return fakeFs.readSync(fd, buffer, offset, length, position); - }); - for (const fnName of SYNC_IMPLEMENTATIONS) { - const origName = fnName; - if (typeof patchedFs[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - setupFn(patchedFs, origName, fakeImpl.bind(fakeFs)); - } - patchedFs.realpathSync.native = patchedFs.realpathSync; - } - { - const patchedFsPromises = patchedFs.promises; - for (const fnName of ASYNC_IMPLEMENTATIONS) { - const origName = fnName.replace(/Promise$/, ``); - if (typeof patchedFsPromises[origName] === `undefined`) - continue; - const fakeImpl = fakeFs[fnName]; - if (typeof fakeImpl === `undefined`) - continue; - if (fnName === `open`) - continue; - setupFn(patchedFsPromises, origName, (pathLike, ...args) => { - if (pathLike instanceof FileHandle) { - return pathLike[origName].apply(pathLike, args); - } else { - return fakeImpl.call(fakeFs, pathLike, ...args); - } - }); - } - setupFn(patchedFsPromises, `open`, async (...args) => { - const fd = await fakeFs.openPromise(...args); - return new FileHandle(fd, fakeFs); - }); - } - { - patchedFs.read[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.readPromise(fd, buffer, ...args); - return { bytesRead: await res, buffer }; - }; - patchedFs.write[nodeUtils.promisify.custom] = async (fd, buffer, ...args) => { - const res = fakeFs.writePromise(fd, buffer, ...args); - return { bytesWritten: await res, buffer }; - }; - } -} - -let cachedInstance; -let registeredFactory = () => { - throw new Error(`Assertion failed: No libzip instance is available, and no factory was configured`); -}; -function setFactory(factory) { - registeredFactory = factory; -} -function getInstance() { - if (typeof cachedInstance === `undefined`) - cachedInstance = registeredFactory(); - return cachedInstance; -} - -var libzipSync = {exports: {}}; - -(function (module, exports) { -var frozenFs = Object.assign({}, fs__default.default); -var createModule = function() { - var _scriptDir = void 0; - if (typeof __filename !== "undefined") - _scriptDir = _scriptDir || __filename; - return function(createModule2) { - createModule2 = createModule2 || {}; - var Module = typeof createModule2 !== "undefined" ? createModule2 : {}; - var readyPromiseResolve, readyPromiseReject; - Module["ready"] = new Promise(function(resolve, reject) { - readyPromiseResolve = resolve; - readyPromiseReject = reject; - }); - var moduleOverrides = {}; - var key; - for (key in Module) { - if (Module.hasOwnProperty(key)) { - moduleOverrides[key] = Module[key]; - } - } - var scriptDirectory = ""; - function locateFile(path) { - if (Module["locateFile"]) { - return Module["locateFile"](path, scriptDirectory); - } - return scriptDirectory + path; - } - var read_, readBinary; - var nodeFS; - var nodePath; - { - { - scriptDirectory = __dirname + "/"; - } - read_ = function shell_read(filename, binary) { - var ret = tryParseAsDataURI(filename); - if (ret) { - return binary ? ret : ret.toString(); - } - if (!nodeFS) - nodeFS = frozenFs; - if (!nodePath) - nodePath = path__default.default; - filename = nodePath["normalize"](filename); - return nodeFS["readFileSync"](filename, binary ? null : "utf8"); - }; - readBinary = function readBinary2(filename) { - var ret = read_(filename, true); - if (!ret.buffer) { - ret = new Uint8Array(ret); - } - assert(ret.buffer); - return ret; - }; - if (process["argv"].length > 1) { - process["argv"][1].replace(/\\/g, "/"); - } - process["argv"].slice(2); - Module["inspect"] = function() { - return "[Emscripten Module object]"; - }; - } - Module["print"] || console.log.bind(console); - var err = Module["printErr"] || console.warn.bind(console); - for (key in moduleOverrides) { - if (moduleOverrides.hasOwnProperty(key)) { - Module[key] = moduleOverrides[key]; - } - } - moduleOverrides = null; - if (Module["arguments"]) - ; - if (Module["thisProgram"]) - ; - if (Module["quit"]) - ; - var wasmBinary; - if (Module["wasmBinary"]) - wasmBinary = Module["wasmBinary"]; - Module["noExitRuntime"] || true; - if (typeof WebAssembly !== "object") { - abort("no native wasm support detected"); - } - function getValue(ptr, type, noSafe) { - type = type || "i8"; - if (type.charAt(type.length - 1) === "*") - type = "i32"; - switch (type) { - case "i1": - return HEAP8[ptr >> 0]; - case "i8": - return HEAP8[ptr >> 0]; - case "i16": - return LE_HEAP_LOAD_I16((ptr >> 1) * 2); - case "i32": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "i64": - return LE_HEAP_LOAD_I32((ptr >> 2) * 4); - case "float": - return LE_HEAP_LOAD_F32((ptr >> 2) * 4); - case "double": - return LE_HEAP_LOAD_F64((ptr >> 3) * 8); - default: - abort("invalid type for getValue: " + type); - } - return null; - } - var wasmMemory; - var ABORT = false; - function assert(condition, text) { - if (!condition) { - abort("Assertion failed: " + text); - } - } - function getCFunc(ident) { - var func = Module["_" + ident]; - assert( - func, - "Cannot call unknown function " + ident + ", make sure it is exported" - ); - return func; - } - function ccall(ident, returnType, argTypes, args, opts) { - var toC = { - string: function(str) { - var ret2 = 0; - if (str !== null && str !== void 0 && str !== 0) { - var len = (str.length << 2) + 1; - ret2 = stackAlloc(len); - stringToUTF8(str, ret2, len); - } - return ret2; - }, - array: function(arr) { - var ret2 = stackAlloc(arr.length); - writeArrayToMemory(arr, ret2); - return ret2; - } - }; - function convertReturnValue(ret2) { - if (returnType === "string") - return UTF8ToString(ret2); - if (returnType === "boolean") - return Boolean(ret2); - return ret2; - } - var func = getCFunc(ident); - var cArgs = []; - var stack = 0; - if (args) { - for (var i = 0; i < args.length; i++) { - var converter = toC[argTypes[i]]; - if (converter) { - if (stack === 0) - stack = stackSave(); - cArgs[i] = converter(args[i]); - } else { - cArgs[i] = args[i]; - } - } - } - var ret = func.apply(null, cArgs); - ret = convertReturnValue(ret); - if (stack !== 0) - stackRestore(stack); - return ret; - } - function cwrap(ident, returnType, argTypes, opts) { - argTypes = argTypes || []; - var numericArgs = argTypes.every(function(type) { - return type === "number"; - }); - var numericRet = returnType !== "string"; - if (numericRet && numericArgs && !opts) { - return getCFunc(ident); - } - return function() { - return ccall(ident, returnType, argTypes, arguments); - }; - } - var UTF8Decoder = new TextDecoder("utf8"); - function UTF8ToString(ptr, maxBytesToRead) { - if (!ptr) - return ""; - var maxPtr = ptr + maxBytesToRead; - for (var end = ptr; !(end >= maxPtr) && HEAPU8[end]; ) - ++end; - return UTF8Decoder.decode(HEAPU8.subarray(ptr, end)); - } - function stringToUTF8Array(str, heap, outIdx, maxBytesToWrite) { - if (!(maxBytesToWrite > 0)) - return 0; - var startIdx = outIdx; - var endIdx = outIdx + maxBytesToWrite - 1; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) { - var u1 = str.charCodeAt(++i); - u = 65536 + ((u & 1023) << 10) | u1 & 1023; - } - if (u <= 127) { - if (outIdx >= endIdx) - break; - heap[outIdx++] = u; - } else if (u <= 2047) { - if (outIdx + 1 >= endIdx) - break; - heap[outIdx++] = 192 | u >> 6; - heap[outIdx++] = 128 | u & 63; - } else if (u <= 65535) { - if (outIdx + 2 >= endIdx) - break; - heap[outIdx++] = 224 | u >> 12; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63; - } else { - if (outIdx + 3 >= endIdx) - break; - heap[outIdx++] = 240 | u >> 18; - heap[outIdx++] = 128 | u >> 12 & 63; - heap[outIdx++] = 128 | u >> 6 & 63; - heap[outIdx++] = 128 | u & 63; - } - } - heap[outIdx] = 0; - return outIdx - startIdx; - } - function stringToUTF8(str, outPtr, maxBytesToWrite) { - return stringToUTF8Array(str, HEAPU8, outPtr, maxBytesToWrite); - } - function lengthBytesUTF8(str) { - var len = 0; - for (var i = 0; i < str.length; ++i) { - var u = str.charCodeAt(i); - if (u >= 55296 && u <= 57343) - u = 65536 + ((u & 1023) << 10) | str.charCodeAt(++i) & 1023; - if (u <= 127) - ++len; - else if (u <= 2047) - len += 2; - else if (u <= 65535) - len += 3; - else - len += 4; - } - return len; - } - function allocateUTF8(str) { - var size = lengthBytesUTF8(str) + 1; - var ret = _malloc(size); - if (ret) - stringToUTF8Array(str, HEAP8, ret, size); - return ret; - } - function writeArrayToMemory(array, buffer2) { - HEAP8.set(array, buffer2); - } - function alignUp(x, multiple) { - if (x % multiple > 0) { - x += multiple - x % multiple; - } - return x; - } - var buffer, HEAP8, HEAPU8; - var HEAP_DATA_VIEW; - function updateGlobalBufferAndViews(buf) { - buffer = buf; - Module["HEAP_DATA_VIEW"] = HEAP_DATA_VIEW = new DataView(buf); - Module["HEAP8"] = HEAP8 = new Int8Array(buf); - Module["HEAP16"] = new Int16Array(buf); - Module["HEAP32"] = new Int32Array(buf); - Module["HEAPU8"] = HEAPU8 = new Uint8Array(buf); - Module["HEAPU16"] = new Uint16Array(buf); - Module["HEAPU32"] = new Uint32Array(buf); - Module["HEAPF32"] = new Float32Array(buf); - Module["HEAPF64"] = new Float64Array(buf); - } - Module["INITIAL_MEMORY"] || 16777216; - var wasmTable; - var __ATPRERUN__ = []; - var __ATINIT__ = []; - var __ATPOSTRUN__ = []; - function preRun() { - if (Module["preRun"]) { - if (typeof Module["preRun"] == "function") - Module["preRun"] = [Module["preRun"]]; - while (Module["preRun"].length) { - addOnPreRun(Module["preRun"].shift()); - } - } - callRuntimeCallbacks(__ATPRERUN__); - } - function initRuntime() { - callRuntimeCallbacks(__ATINIT__); - } - function postRun() { - if (Module["postRun"]) { - if (typeof Module["postRun"] == "function") - Module["postRun"] = [Module["postRun"]]; - while (Module["postRun"].length) { - addOnPostRun(Module["postRun"].shift()); - } - } - callRuntimeCallbacks(__ATPOSTRUN__); - } - function addOnPreRun(cb) { - __ATPRERUN__.unshift(cb); - } - function addOnInit(cb) { - __ATINIT__.unshift(cb); - } - function addOnPostRun(cb) { - __ATPOSTRUN__.unshift(cb); - } - var runDependencies = 0; - var dependenciesFulfilled = null; - function addRunDependency(id) { - runDependencies++; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - } - function removeRunDependency(id) { - runDependencies--; - if (Module["monitorRunDependencies"]) { - Module["monitorRunDependencies"](runDependencies); - } - if (runDependencies == 0) { - if (dependenciesFulfilled) { - var callback = dependenciesFulfilled; - dependenciesFulfilled = null; - callback(); - } - } - } - Module["preloadedImages"] = {}; - Module["preloadedAudios"] = {}; - function abort(what) { - if (Module["onAbort"]) { - Module["onAbort"](what); - } - what += ""; - err(what); - ABORT = true; - what = "abort(" + what + "). Build with -s ASSERTIONS=1 for more info."; - var e = new WebAssembly.RuntimeError(what); - readyPromiseReject(e); - throw e; - } - var dataURIPrefix = "data:application/octet-stream;base64,"; - function isDataURI(filename) { - return filename.startsWith(dataURIPrefix); - } - var wasmBinaryFile = "data:application/octet-stream;base64,AGFzbQEAAAAB/wEkYAN/f38Bf2ABfwF/YAJ/fwF/YAF/AGAEf39/fwF/YAN/f38AYAV/f39/fwF/YAJ/fwBgBH9/f38AYAABf2AFf39/fn8BfmAEf35/fwF/YAR/f35/AX5gAn9+AX9gA398fwBgA39/fgF/YAF/AX5gBn9/f39/fwF/YAN/fn8Bf2AEf39/fwF+YAV/f35/fwF/YAR/f35/AX9gA39/fgF+YAJ/fgBgAn9/AX5gBX9/f39/AGADf35/AX5gBX5+f35/AX5gA39/fwF+YAZ/fH9/f38Bf2AAAGAHf35/f39+fwF/YAV/fn9/fwF/YAV/f39/fwF+YAJ+fwF/YAJ/fAACJQYBYQFhAAMBYQFiAAEBYQFjAAABYQFkAAEBYQFlAAIBYQFmAAED5wHlAQMAAwEDAwEHDAgDFgcNEgEDDRcFAQ8DEAUQAwIBAhgECxkEAQMBBQsFAwMDARACBAMAAggLBwEAAwADGgQDGwYGABwBBgMTFBEHBwcVCx4ABAgHBAICAgAfAQICAgIGFSAAIQAiAAIBBgIHAg0LEw0FAQUCACMDAQAUAAAGBQECBQUDCwsSAgEDBQIHAQEICAACCQQEAQABCAEBCQoBAwkBAQEBBgEGBgYABAIEBAQGEQQEAAARAAEDCQEJAQAJCQkBAQECCgoAAAMPAQEBAwACAgICBQIABwAKBgwHAAADAgICBQEEBQFwAT8/BQcBAYACgIACBgkBfwFBgInBAgsH+gEzAWcCAAFoAFQBaQDqAQFqALsBAWsAwQEBbACpAQFtAKgBAW4ApwEBbwClAQFwAKMBAXEAoAEBcgCbAQFzAMABAXQAugEBdQC5AQF2AEsBdwDiAQF4AMgBAXkAxwEBegDCAQFBAMkBAUIAuAEBQwAGAUQACQFFAKYBAUYAtwEBRwC2AQFIALUBAUkAtAEBSgCzAQFLALIBAUwAsQEBTQCwAQFOAK8BAU8AvAEBUACuAQFRAK0BAVIArAEBUwAaAVQACwFVAKQBAVYAMgFXAQABWACrAQFZAKoBAVoAxgEBXwDFAQEkAMQBAmFhAL8BAmJhAL4BAmNhAL0BCXgBAEEBCz6iAeMBjgGQAVpbjwFYnwGdAVeeAV1coQFZVlWcAZoBmQGYAZcBlgGVAZQBkwGSAZEB6QHoAecB5gHlAeQB4QHfAeAB3gHdAdwB2gHbAYUB2QHYAdcB1gHVAdQB0wHSAdEB0AHPAc4BzQHMAcsBygE4wwEK1N8G5QHMDAEHfwJAIABFDQAgAEEIayIDIABBBGsoAgAiAUF4cSIAaiEFAkAgAUEBcQ0AIAFBA3FFDQEgAyADKAIAIgFrIgNBxIQBKAIASQ0BIAAgAWohACADQciEASgCAEcEQCABQf8BTQRAIAMoAggiAiABQQN2IgRBA3RB3IQBakYaIAIgAygCDCIBRgRAQbSEAUG0hAEoAgBBfiAEd3E2AgAMAwsgAiABNgIMIAEgAjYCCAwCCyADKAIYIQYCQCADIAMoAgwiAUcEQCADKAIIIgIgATYCDCABIAI2AggMAQsCQCADQRRqIgIoAgAiBA0AIANBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAQJAIAMgAygCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAwsgBkEQQRQgBigCECADRhtqIAE2AgAgAUUNAgsgASAGNgIYIAMoAhAiAgRAIAEgAjYCECACIAE2AhgLIAMoAhQiAkUNASABIAI2AhQgAiABNgIYDAELIAUoAgQiAUEDcUEDRw0AQbyEASAANgIAIAUgAUF+cTYCBCADIABBAXI2AgQgACADaiAANgIADwsgAyAFTw0AIAUoAgQiAUEBcUUNAAJAIAFBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAM2AgBBwIQBQcCEASgCACAAaiIANgIAIAMgAEEBcjYCBCADQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASADNgIAQbyEAUG8hAEoAgAgAGoiADYCACADIABBAXI2AgQgACADaiAANgIADwsgAUF4cSAAaiEAAkAgAUH/AU0EQCAFKAIIIgIgAUEDdiIEQQN0QdyEAWpGGiACIAUoAgwiAUYEQEG0hAFBtIQBKAIAQX4gBHdxNgIADAILIAIgATYCDCABIAI2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgFHBEAgBSgCCCICQcSEASgCAEkaIAIgATYCDCABIAI2AggMAQsCQCAFQRRqIgIoAgAiBA0AIAVBEGoiAigCACIEDQBBACEBDAELA0AgAiEHIAQiAUEUaiICKAIAIgQNACABQRBqIQIgASgCECIEDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCICQQJ0QeSGAWoiBCgCAEYEQCAEIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiACd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAE2AgAgAUUNAQsgASAGNgIYIAUoAhAiAgRAIAEgAjYCECACIAE2AhgLIAUoAhQiAkUNACABIAI2AhQgAiABNgIYCyADIABBAXI2AgQgACADaiAANgIAIANByIQBKAIARw0BQbyEASAANgIADwsgBSABQX5xNgIEIAMgAEEBcjYCBCAAIANqIAA2AgALIABB/wFNBEAgAEEDdiIBQQN0QdyEAWohAAJ/QbSEASgCACICQQEgAXQiAXFFBEBBtIQBIAEgAnI2AgAgAAwBCyAAKAIICyECIAAgAzYCCCACIAM2AgwgAyAANgIMIAMgAjYCCA8LQR8hAiADQgA3AhAgAEH///8HTQRAIABBCHYiASABQYD+P2pBEHZBCHEiAXQiAiACQYDgH2pBEHZBBHEiAnQiBCAEQYCAD2pBEHZBAnEiBHRBD3YgASACciAEcmsiAUEBdCAAIAFBFWp2QQFxckEcaiECCyADIAI2AhwgAkECdEHkhgFqIQECQAJAAkBBuIQBKAIAIgRBASACdCIHcUUEQEG4hAEgBCAHcjYCACABIAM2AgAgAyABNgIYDAELIABBAEEZIAJBAXZrIAJBH0YbdCECIAEoAgAhAQNAIAEiBCgCBEF4cSAARg0CIAJBHXYhASACQQF0IQIgBCABQQRxaiIHQRBqKAIAIgENAAsgByADNgIQIAMgBDYCGAsgAyADNgIMIAMgAzYCCAwBCyAEKAIIIgAgAzYCDCAEIAM2AgggA0EANgIYIAMgBDYCDCADIAA2AggLQdSEAUHUhAEoAgBBAWsiAEF/IAAbNgIACwuDBAEDfyACQYAETwRAIAAgASACEAIaIAAPCyAAIAJqIQMCQCAAIAFzQQNxRQRAAkAgAEEDcUUEQCAAIQIMAQsgAkEBSARAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAUEBaiEBIAJBAWoiAkEDcUUNASACIANJDQALCwJAIANBfHEiBEHAAEkNACACIARBQGoiBUsNAANAIAIgASgCADYCACACIAEoAgQ2AgQgAiABKAIINgIIIAIgASgCDDYCDCACIAEoAhA2AhAgAiABKAIUNgIUIAIgASgCGDYCGCACIAEoAhw2AhwgAiABKAIgNgIgIAIgASgCJDYCJCACIAEoAig2AiggAiABKAIsNgIsIAIgASgCMDYCMCACIAEoAjQ2AjQgAiABKAI4NgI4IAIgASgCPDYCPCABQUBrIQEgAkFAayICIAVNDQALCyACIARPDQEDQCACIAEoAgA2AgAgAUEEaiEBIAJBBGoiAiAESQ0ACwwBCyADQQRJBEAgACECDAELIAAgA0EEayIESwRAIAAhAgwBCyAAIQIDQCACIAEtAAA6AAAgAiABLQABOgABIAIgAS0AAjoAAiACIAEtAAM6AAMgAUEEaiEBIAJBBGoiAiAETQ0ACwsgAiADSQRAA0AgAiABLQAAOgAAIAFBAWohASACQQFqIgIgA0cNAAsLIAALGgAgAARAIAAtAAEEQCAAKAIEEAYLIAAQBgsLoi4BDH8jAEEQayIMJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkAgAEH0AU0EQEG0hAEoAgAiBUEQIABBC2pBeHEgAEELSRsiCEEDdiICdiIBQQNxBEAgAUF/c0EBcSACaiIDQQN0IgFB5IQBaigCACIEQQhqIQACQCAEKAIIIgIgAUHchAFqIgFGBEBBtIQBIAVBfiADd3E2AgAMAQsgAiABNgIMIAEgAjYCCAsgBCADQQN0IgFBA3I2AgQgASAEaiIBIAEoAgRBAXI2AgQMDQsgCEG8hAEoAgAiCk0NASABBEACQEECIAJ0IgBBACAAa3IgASACdHEiAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqIgNBA3QiAEHkhAFqKAIAIgQoAggiASAAQdyEAWoiAEYEQEG0hAEgBUF+IAN3cSIFNgIADAELIAEgADYCDCAAIAE2AggLIARBCGohACAEIAhBA3I2AgQgBCAIaiICIANBA3QiASAIayIDQQFyNgIEIAEgBGogAzYCACAKBEAgCkEDdiIBQQN0QdyEAWohB0HIhAEoAgAhBAJ/IAVBASABdCIBcUUEQEG0hAEgASAFcjYCACAHDAELIAcoAggLIQEgByAENgIIIAEgBDYCDCAEIAc2AgwgBCABNgIIC0HIhAEgAjYCAEG8hAEgAzYCAAwNC0G4hAEoAgAiBkUNASAGQQAgBmtxQQFrIgAgAEEMdkEQcSICdiIBQQV2QQhxIgAgAnIgASAAdiIBQQJ2QQRxIgByIAEgAHYiAUEBdkECcSIAciABIAB2IgFBAXZBAXEiAHIgASAAdmpBAnRB5IYBaigCACIBKAIEQXhxIAhrIQMgASECA0ACQCACKAIQIgBFBEAgAigCFCIARQ0BCyAAKAIEQXhxIAhrIgIgAyACIANJIgIbIQMgACABIAIbIQEgACECDAELCyABIAhqIgkgAU0NAiABKAIYIQsgASABKAIMIgRHBEAgASgCCCIAQcSEASgCAEkaIAAgBDYCDCAEIAA2AggMDAsgAUEUaiICKAIAIgBFBEAgASgCECIARQ0EIAFBEGohAgsDQCACIQcgACIEQRRqIgIoAgAiAA0AIARBEGohAiAEKAIQIgANAAsgB0EANgIADAsLQX8hCCAAQb9/Sw0AIABBC2oiAEF4cSEIQbiEASgCACIJRQ0AQQAgCGshAwJAAkACQAJ/QQAgCEGAAkkNABpBHyAIQf///wdLDQAaIABBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCAIIABBFWp2QQFxckEcagsiBUECdEHkhgFqKAIAIgJFBEBBACEADAELQQAhACAIQQBBGSAFQQF2ayAFQR9GG3QhAQNAAkAgAigCBEF4cSAIayIHIANPDQAgAiEEIAciAw0AQQAhAyACIQAMAwsgACACKAIUIgcgByACIAFBHXZBBHFqKAIQIgJGGyAAIAcbIQAgAUEBdCEBIAINAAsLIAAgBHJFBEBBAiAFdCIAQQAgAGtyIAlxIgBFDQMgAEEAIABrcUEBayIAIABBDHZBEHEiAnYiAUEFdkEIcSIAIAJyIAEgAHYiAUECdkEEcSIAciABIAB2IgFBAXZBAnEiAHIgASAAdiIBQQF2QQFxIgByIAEgAHZqQQJ0QeSGAWooAgAhAAsgAEUNAQsDQCAAKAIEQXhxIAhrIgEgA0khAiABIAMgAhshAyAAIAQgAhshBCAAKAIQIgEEfyABBSAAKAIUCyIADQALCyAERQ0AIANBvIQBKAIAIAhrTw0AIAQgCGoiBiAETQ0BIAQoAhghBSAEIAQoAgwiAUcEQCAEKAIIIgBBxIQBKAIASRogACABNgIMIAEgADYCCAwKCyAEQRRqIgIoAgAiAEUEQCAEKAIQIgBFDQQgBEEQaiECCwNAIAIhByAAIgFBFGoiAigCACIADQAgAUEQaiECIAEoAhAiAA0ACyAHQQA2AgAMCQsgCEG8hAEoAgAiAk0EQEHIhAEoAgAhAwJAIAIgCGsiAUEQTwRAQbyEASABNgIAQciEASADIAhqIgA2AgAgACABQQFyNgIEIAIgA2ogATYCACADIAhBA3I2AgQMAQtByIQBQQA2AgBBvIQBQQA2AgAgAyACQQNyNgIEIAIgA2oiACAAKAIEQQFyNgIECyADQQhqIQAMCwsgCEHAhAEoAgAiBkkEQEHAhAEgBiAIayIBNgIAQcyEAUHMhAEoAgAiAiAIaiIANgIAIAAgAUEBcjYCBCACIAhBA3I2AgQgAkEIaiEADAsLQQAhACAIQS9qIgkCf0GMiAEoAgAEQEGUiAEoAgAMAQtBmIgBQn83AgBBkIgBQoCggICAgAQ3AgBBjIgBIAxBDGpBcHFB2KrVqgVzNgIAQaCIAUEANgIAQfCHAUEANgIAQYAgCyIBaiIFQQAgAWsiB3EiAiAITQ0KQeyHASgCACIEBEBB5IcBKAIAIgMgAmoiASADTQ0LIAEgBEsNCwtB8IcBLQAAQQRxDQUCQAJAQcyEASgCACIDBEBB9IcBIQADQCADIAAoAgAiAU8EQCABIAAoAgRqIANLDQMLIAAoAggiAA0ACwtBABApIgFBf0YNBiACIQVBkIgBKAIAIgNBAWsiACABcQRAIAIgAWsgACABakEAIANrcWohBQsgBSAITQ0GIAVB/v///wdLDQZB7IcBKAIAIgQEQEHkhwEoAgAiAyAFaiIAIANNDQcgACAESw0HCyAFECkiACABRw0BDAgLIAUgBmsgB3EiBUH+////B0sNBSAFECkiASAAKAIAIAAoAgRqRg0EIAEhAAsCQCAAQX9GDQAgCEEwaiAFTQ0AQZSIASgCACIBIAkgBWtqQQAgAWtxIgFB/v///wdLBEAgACEBDAgLIAEQKUF/RwRAIAEgBWohBSAAIQEMCAtBACAFaxApGgwFCyAAIgFBf0cNBgwECwALQQAhBAwHC0EAIQEMBQsgAUF/Rw0CC0HwhwFB8IcBKAIAQQRyNgIACyACQf7///8HSw0BIAIQKSEBQQAQKSEAIAFBf0YNASAAQX9GDQEgACABTQ0BIAAgAWsiBSAIQShqTQ0BC0HkhwFB5IcBKAIAIAVqIgA2AgBB6IcBKAIAIABJBEBB6IcBIAA2AgALAkACQAJAQcyEASgCACIHBEBB9IcBIQADQCABIAAoAgAiAyAAKAIEIgJqRg0CIAAoAggiAA0ACwwCC0HEhAEoAgAiAEEAIAAgAU0bRQRAQcSEASABNgIAC0EAIQBB+IcBIAU2AgBB9IcBIAE2AgBB1IQBQX82AgBB2IQBQYyIASgCADYCAEGAiAFBADYCAANAIABBA3QiA0HkhAFqIANB3IQBaiICNgIAIANB6IQBaiACNgIAIABBAWoiAEEgRw0AC0HAhAEgBUEoayIDQXggAWtBB3FBACABQQhqQQdxGyIAayICNgIAQcyEASAAIAFqIgA2AgAgACACQQFyNgIEIAEgA2pBKDYCBEHQhAFBnIgBKAIANgIADAILIAAtAAxBCHENACADIAdLDQAgASAHTQ0AIAAgAiAFajYCBEHMhAEgB0F4IAdrQQdxQQAgB0EIakEHcRsiAGoiAjYCAEHAhAFBwIQBKAIAIAVqIgEgAGsiADYCACACIABBAXI2AgQgASAHakEoNgIEQdCEAUGciAEoAgA2AgAMAQtBxIQBKAIAIAFLBEBBxIQBIAE2AgALIAEgBWohAkH0hwEhAAJAAkACQAJAAkACQANAIAIgACgCAEcEQCAAKAIIIgANAQwCCwsgAC0ADEEIcUUNAQtB9IcBIQADQCAHIAAoAgAiAk8EQCACIAAoAgRqIgQgB0sNAwsgACgCCCEADAALAAsgACABNgIAIAAgACgCBCAFajYCBCABQXggAWtBB3FBACABQQhqQQdxG2oiCSAIQQNyNgIEIAJBeCACa0EHcUEAIAJBCGpBB3EbaiIFIAggCWoiBmshAiAFIAdGBEBBzIQBIAY2AgBBwIQBQcCEASgCACACaiIANgIAIAYgAEEBcjYCBAwDCyAFQciEASgCAEYEQEHIhAEgBjYCAEG8hAFBvIQBKAIAIAJqIgA2AgAgBiAAQQFyNgIEIAAgBmogADYCAAwDCyAFKAIEIgBBA3FBAUYEQCAAQXhxIQcCQCAAQf8BTQRAIAUoAggiAyAAQQN2IgBBA3RB3IQBakYaIAMgBSgCDCIBRgRAQbSEAUG0hAEoAgBBfiAAd3E2AgAMAgsgAyABNgIMIAEgAzYCCAwBCyAFKAIYIQgCQCAFIAUoAgwiAUcEQCAFKAIIIgAgATYCDCABIAA2AggMAQsCQCAFQRRqIgAoAgAiAw0AIAVBEGoiACgCACIDDQBBACEBDAELA0AgACEEIAMiAUEUaiIAKAIAIgMNACABQRBqIQAgASgCECIDDQALIARBADYCAAsgCEUNAAJAIAUgBSgCHCIDQQJ0QeSGAWoiACgCAEYEQCAAIAE2AgAgAQ0BQbiEAUG4hAEoAgBBfiADd3E2AgAMAgsgCEEQQRQgCCgCECAFRhtqIAE2AgAgAUUNAQsgASAINgIYIAUoAhAiAARAIAEgADYCECAAIAE2AhgLIAUoAhQiAEUNACABIAA2AhQgACABNgIYCyAFIAdqIQUgAiAHaiECCyAFIAUoAgRBfnE2AgQgBiACQQFyNgIEIAIgBmogAjYCACACQf8BTQRAIAJBA3YiAEEDdEHchAFqIQICf0G0hAEoAgAiAUEBIAB0IgBxRQRAQbSEASAAIAFyNgIAIAIMAQsgAigCCAshACACIAY2AgggACAGNgIMIAYgAjYCDCAGIAA2AggMAwtBHyEAIAJB////B00EQCACQQh2IgAgAEGA/j9qQRB2QQhxIgN0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgA3IgAHJrIgBBAXQgAiAAQRVqdkEBcXJBHGohAAsgBiAANgIcIAZCADcCECAAQQJ0QeSGAWohBAJAQbiEASgCACIDQQEgAHQiAXFFBEBBuIQBIAEgA3I2AgAgBCAGNgIAIAYgBDYCGAwBCyACQQBBGSAAQQF2ayAAQR9GG3QhACAEKAIAIQEDQCABIgMoAgRBeHEgAkYNAyAAQR12IQEgAEEBdCEAIAMgAUEEcWoiBCgCECIBDQALIAQgBjYCECAGIAM2AhgLIAYgBjYCDCAGIAY2AggMAgtBwIQBIAVBKGsiA0F4IAFrQQdxQQAgAUEIakEHcRsiAGsiAjYCAEHMhAEgACABaiIANgIAIAAgAkEBcjYCBCABIANqQSg2AgRB0IQBQZyIASgCADYCACAHIARBJyAEa0EHcUEAIARBJ2tBB3EbakEvayIAIAAgB0EQakkbIgJBGzYCBCACQfyHASkCADcCECACQfSHASkCADcCCEH8hwEgAkEIajYCAEH4hwEgBTYCAEH0hwEgATYCAEGAiAFBADYCACACQRhqIQADQCAAQQc2AgQgAEEIaiEBIABBBGohACABIARJDQALIAIgB0YNAyACIAIoAgRBfnE2AgQgByACIAdrIgRBAXI2AgQgAiAENgIAIARB/wFNBEAgBEEDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBzYCCCAAIAc2AgwgByACNgIMIAcgADYCCAwEC0EfIQAgB0IANwIQIARB////B00EQCAEQQh2IgAgAEGA/j9qQRB2QQhxIgJ0IgAgAEGA4B9qQRB2QQRxIgF0IgAgAEGAgA9qQRB2QQJxIgB0QQ92IAEgAnIgAHJrIgBBAXQgBCAAQRVqdkEBcXJBHGohAAsgByAANgIcIABBAnRB5IYBaiEDAkBBuIQBKAIAIgJBASAAdCIBcUUEQEG4hAEgASACcjYCACADIAc2AgAgByADNgIYDAELIARBAEEZIABBAXZrIABBH0YbdCEAIAMoAgAhAQNAIAEiAigCBEF4cSAERg0EIABBHXYhASAAQQF0IQAgAiABQQRxaiIDKAIQIgENAAsgAyAHNgIQIAcgAjYCGAsgByAHNgIMIAcgBzYCCAwDCyADKAIIIgAgBjYCDCADIAY2AgggBkEANgIYIAYgAzYCDCAGIAA2AggLIAlBCGohAAwFCyACKAIIIgAgBzYCDCACIAc2AgggB0EANgIYIAcgAjYCDCAHIAA2AggLQcCEASgCACIAIAhNDQBBwIQBIAAgCGsiATYCAEHMhAFBzIQBKAIAIgIgCGoiADYCACAAIAFBAXI2AgQgAiAIQQNyNgIEIAJBCGohAAwDC0GEhAFBMDYCAEEAIQAMAgsCQCAFRQ0AAkAgBCgCHCICQQJ0QeSGAWoiACgCACAERgRAIAAgATYCACABDQFBuIQBIAlBfiACd3EiCTYCAAwCCyAFQRBBFCAFKAIQIARGG2ogATYCACABRQ0BCyABIAU2AhggBCgCECIABEAgASAANgIQIAAgATYCGAsgBCgCFCIARQ0AIAEgADYCFCAAIAE2AhgLAkAgA0EPTQRAIAQgAyAIaiIAQQNyNgIEIAAgBGoiACAAKAIEQQFyNgIEDAELIAQgCEEDcjYCBCAGIANBAXI2AgQgAyAGaiADNgIAIANB/wFNBEAgA0EDdiIAQQN0QdyEAWohAgJ/QbSEASgCACIBQQEgAHQiAHFFBEBBtIQBIAAgAXI2AgAgAgwBCyACKAIICyEAIAIgBjYCCCAAIAY2AgwgBiACNgIMIAYgADYCCAwBC0EfIQAgA0H///8HTQRAIANBCHYiACAAQYD+P2pBEHZBCHEiAnQiACAAQYDgH2pBEHZBBHEiAXQiACAAQYCAD2pBEHZBAnEiAHRBD3YgASACciAAcmsiAEEBdCADIABBFWp2QQFxckEcaiEACyAGIAA2AhwgBkIANwIQIABBAnRB5IYBaiECAkACQCAJQQEgAHQiAXFFBEBBuIQBIAEgCXI2AgAgAiAGNgIAIAYgAjYCGAwBCyADQQBBGSAAQQF2ayAAQR9GG3QhACACKAIAIQgDQCAIIgEoAgRBeHEgA0YNAiAAQR12IQIgAEEBdCEAIAEgAkEEcWoiAigCECIIDQALIAIgBjYCECAGIAE2AhgLIAYgBjYCDCAGIAY2AggMAQsgASgCCCIAIAY2AgwgASAGNgIIIAZBADYCGCAGIAE2AgwgBiAANgIICyAEQQhqIQAMAQsCQCALRQ0AAkAgASgCHCICQQJ0QeSGAWoiACgCACABRgRAIAAgBDYCACAEDQFBuIQBIAZBfiACd3E2AgAMAgsgC0EQQRQgCygCECABRhtqIAQ2AgAgBEUNAQsgBCALNgIYIAEoAhAiAARAIAQgADYCECAAIAQ2AhgLIAEoAhQiAEUNACAEIAA2AhQgACAENgIYCwJAIANBD00EQCABIAMgCGoiAEEDcjYCBCAAIAFqIgAgACgCBEEBcjYCBAwBCyABIAhBA3I2AgQgCSADQQFyNgIEIAMgCWogAzYCACAKBEAgCkEDdiIAQQN0QdyEAWohBEHIhAEoAgAhAgJ/QQEgAHQiACAFcUUEQEG0hAEgACAFcjYCACAEDAELIAQoAggLIQAgBCACNgIIIAAgAjYCDCACIAQ2AgwgAiAANgIIC0HIhAEgCTYCAEG8hAEgAzYCAAsgAUEIaiEACyAMQRBqJAAgAAuJAQEDfyAAKAIcIgEQMAJAIAAoAhAiAiABKAIQIgMgAiADSRsiAkUNACAAKAIMIAEoAgggAhAHGiAAIAAoAgwgAmo2AgwgASABKAIIIAJqNgIIIAAgACgCFCACajYCFCAAIAAoAhAgAms2AhAgASABKAIQIAJrIgA2AhAgAA0AIAEgASgCBDYCCAsLzgEBBX8CQCAARQ0AIAAoAjAiAQRAIAAgAUEBayIBNgIwIAENAQsgACgCIARAIABBATYCICAAEBoaCyAAKAIkQQFGBEAgABBDCwJAIAAoAiwiAUUNACAALQAoDQACQCABKAJEIgNFDQAgASgCTCEEA0AgACAEIAJBAnRqIgUoAgBHBEAgAyACQQFqIgJHDQEMAgsLIAUgBCADQQFrIgJBAnRqKAIANgIAIAEgAjYCRAsLIABBAEIAQQUQDhogACgCACIBBEAgARALCyAAEAYLC1oCAn4BfwJ/AkACQCAALQAARQ0AIAApAxAiAUJ9Vg0AIAFCAnwiAiAAKQMIWA0BCyAAQQA6AABBAAwBC0EAIAAoAgQiA0UNABogACACNwMQIAMgAadqLwAACwthAgJ+AX8CQAJAIAAtAABFDQAgACkDECICQn1WDQAgAkICfCIDIAApAwhYDQELIABBADoAAA8LIAAoAgQiBEUEQA8LIAAgAzcDECAEIAKnaiIAIAFBCHY6AAEgACABOgAAC8wCAQJ/IwBBEGsiBCQAAkAgACkDGCADrYinQQFxRQRAIABBDGoiAARAIABBADYCBCAAQRw2AgALQn8hAgwBCwJ+IAAoAgAiBUUEQCAAKAIIIAEgAiADIAAoAgQRDAAMAQsgBSAAKAIIIAEgAiADIAAoAgQRCgALIgJCf1UNAAJAIANBBGsOCwEAAAAAAAAAAAABAAsCQAJAIAAtABhBEHFFBEAgAEEMaiIBBEAgAUEANgIEIAFBHDYCAAsMAQsCfiAAKAIAIgFFBEAgACgCCCAEQQhqQghBBCAAKAIEEQwADAELIAEgACgCCCAEQQhqQghBBCAAKAIEEQoAC0J/VQ0BCyAAQQxqIgAEQCAAQQA2AgQgAEEUNgIACwwBCyAEKAIIIQEgBCgCDCEDIABBDGoiAARAIAAgAzYCBCAAIAE2AgALCyAEQRBqJAAgAguTFQIOfwN+AkACQAJAAkACQAJAAkACQAJAAkACQCAAKALwLQRAIAAoAogBQQFIDQEgACgCACIEKAIsQQJHDQQgAC8B5AENAyAALwHoAQ0DIAAvAewBDQMgAC8B8AENAyAALwH0AQ0DIAAvAfgBDQMgAC8B/AENAyAALwGcAg0DIAAvAaACDQMgAC8BpAINAyAALwGoAg0DIAAvAawCDQMgAC8BsAINAyAALwG0Ag0DIAAvAbgCDQMgAC8BvAINAyAALwHAAg0DIAAvAcQCDQMgAC8ByAINAyAALwHUAg0DIAAvAdgCDQMgAC8B3AINAyAALwHgAg0DIAAvAYgCDQIgAC8BjAINAiAALwGYAg0CQSAhBgNAIAAgBkECdCIFai8B5AENAyAAIAVBBHJqLwHkAQ0DIAAgBUEIcmovAeQBDQMgACAFQQxyai8B5AENAyAGQQRqIgZBgAJHDQALDAMLIABBBzYC/C0gAkF8Rw0FIAFFDQUMBgsgAkEFaiIEIQcMAwtBASEHCyAEIAc2AiwLIAAgAEHoFmoQUSAAIABB9BZqEFEgAC8B5gEhBCAAIABB7BZqKAIAIgxBAnRqQf//AzsB6gEgAEGQFmohECAAQZQWaiERIABBjBZqIQdBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJA0AgBCEIIAAgCyIOQQFqIgtBAnRqLwHmASEEAkACQCAGQQFqIgVB//8DcSIPIA1B//8DcU8NACAEIAhHDQAgBSEGDAELAn8gACAIQQJ0akHMFWogCkH//wNxIA9LDQAaIAgEQEEBIQUgByAIIAlGDQEaIAAgCEECdGpBzBVqIgYgBi8BAEEBajsBACAHDAELQQEhBSAQIBEgBkH//wNxQQpJGwsiBiAGLwEAIAVqOwEAQQAhBgJ/IARFBEBBAyEKQYoBDAELQQNBBCAEIAhGIgUbIQpBBkEHIAUbCyENIAghCQsgDCAORw0ACwsgAEHaE2ovAQAhBCAAIABB+BZqKAIAIgxBAnRqQd4TakH//wM7AQBBACEGIAxBAE4EQEEHQYoBIAQbIQ1BBEEDIAQbIQpBfyEJQQAhCwNAIAQhCCAAIAsiDkEBaiILQQJ0akHaE2ovAQAhBAJAAkAgBkEBaiIFQf//A3EiDyANQf//A3FPDQAgBCAIRw0AIAUhBgwBCwJ/IAAgCEECdGpBzBVqIApB//8DcSAPSw0AGiAIBEBBASEFIAcgCCAJRg0BGiAAIAhBAnRqQcwVaiIGIAYvAQBBAWo7AQAgBwwBC0EBIQUgECARIAZB//8DcUEKSRsLIgYgBi8BACAFajsBAEEAIQYCfyAERQRAQQMhCkGKAQwBC0EDQQQgBCAIRiIFGyEKQQZBByAFGwshDSAIIQkLIAwgDkcNAAsLIAAgAEGAF2oQUSAAIAAoAvgtAn9BEiAAQYoWai8BAA0AGkERIABB0hVqLwEADQAaQRAgAEGGFmovAQANABpBDyAAQdYVai8BAA0AGkEOIABBghZqLwEADQAaQQ0gAEHaFWovAQANABpBDCAAQf4Vai8BAA0AGkELIABB3hVqLwEADQAaQQogAEH6FWovAQANABpBCSAAQeIVai8BAA0AGkEIIABB9hVqLwEADQAaQQcgAEHmFWovAQANABpBBiAAQfIVai8BAA0AGkEFIABB6hVqLwEADQAaQQQgAEHuFWovAQANABpBA0ECIABBzhVqLwEAGwsiBkEDbGoiBEERajYC+C0gACgC/C1BCmpBA3YiByAEQRtqQQN2IgRNBEAgByEEDAELIAAoAowBQQRHDQAgByEECyAEIAJBBGpPQQAgARsNASAEIAdHDQQLIANBAmqtIRIgACkDmC4hFCAAKAKgLiIBQQNqIgdBP0sNASASIAGthiAUhCESDAILIAAgASACIAMQOQwDCyABQcAARgRAIAAoAgQgACgCEGogFDcAACAAIAAoAhBBCGo2AhBBAyEHDAELIAAoAgQgACgCEGogEiABrYYgFIQ3AAAgACAAKAIQQQhqNgIQIAFBPWshByASQcAAIAFrrYghEgsgACASNwOYLiAAIAc2AqAuIABBgMEAQYDKABCHAQwBCyADQQRqrSESIAApA5guIRQCQCAAKAKgLiIBQQNqIgRBP00EQCASIAGthiAUhCESDAELIAFBwABGBEAgACgCBCAAKAIQaiAUNwAAIAAgACgCEEEIajYCEEEDIQQMAQsgACgCBCAAKAIQaiASIAGthiAUhDcAACAAIAAoAhBBCGo2AhAgAUE9ayEEIBJBwAAgAWutiCESCyAAIBI3A5guIAAgBDYCoC4gAEHsFmooAgAiC6xCgAJ9IRMgAEH4FmooAgAhCQJAAkACfwJ+AkACfwJ/IARBOk0EQCATIASthiAShCETIARBBWoMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQIAmsIRJCBSEUQQoMAgsgACgCBCAAKAIQaiATIASthiAShDcAACAAIAAoAhBBCGo2AhAgE0HAACAEa62IIRMgBEE7awshBSAJrCESIAVBOksNASAFrSEUIAVBBWoLIQcgEiAUhiAThAwBCyAFQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgBq1CA30hE0IFIRRBCQwCCyAAKAIEIAAoAhBqIBIgBa2GIBOENwAAIAAgACgCEEEIajYCECAFQTtrIQcgEkHAACAFa62ICyESIAatQgN9IRMgB0E7Sw0BIAetIRQgB0EEagshBCATIBSGIBKEIRMMAQsgB0HAAEYEQCAAKAIEIAAoAhBqIBI3AAAgACAAKAIQQQhqNgIQQQQhBAwBCyAAKAIEIAAoAhBqIBMgB62GIBKENwAAIAAgACgCEEEIajYCECAHQTxrIQQgE0HAACAHa62IIRMLQQAhBQNAIAAgBSIBQZDWAGotAABBAnRqQc4VajMBACEUAn8gBEE8TQRAIBQgBK2GIBOEIRMgBEEDagwBCyAEQcAARgRAIAAoAgQgACgCEGogEzcAACAAIAAoAhBBCGo2AhAgFCETQQMMAQsgACgCBCAAKAIQaiAUIASthiAThDcAACAAIAAoAhBBCGo2AhAgFEHAACAEa62IIRMgBEE9awshBCABQQFqIQUgASAGRw0ACyAAIAQ2AqAuIAAgEzcDmC4gACAAQeQBaiICIAsQhgEgACAAQdgTaiIBIAkQhgEgACACIAEQhwELIAAQiAEgAwRAAkAgACgCoC4iBEE5TgRAIAAoAgQgACgCEGogACkDmC43AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgQ2AqAuCyAEQQlOBH8gACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACgCoC5BEGsFIAQLQQFIDQAgACAAKAIQIgFBAWo2AhAgASAAKAIEaiAAKQOYLjwAAAsgAEEANgKgLiAAQgA3A5guCwsZACAABEAgACgCABAGIAAoAgwQBiAAEAYLC6wBAQJ+Qn8hAwJAIAAtACgNAAJAAkAgACgCIEUNACACQgBTDQAgAlANASABDQELIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAALQA1DQBCACEDIAAtADQNACACUA0AA0AgACABIAOnaiACIAN9QQEQDiIEQn9XBEAgAEEBOgA1Qn8gAyADUBsPCyAEUEUEQCADIAR8IgMgAloNAgwBCwsgAEEBOgA0CyADC3UCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgJCe1YNACACQgR8IgMgACkDCFgNAQsgAEEAOgAADwsgACgCBCIERQRADwsgACADNwMQIAQgAqdqIgAgAUEYdjoAAyAAIAFBEHY6AAIgACABQQh2OgABIAAgAToAAAtUAgF+AX8CQAJAIAAtAABFDQAgASAAKQMQIgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADwsgACgCBCIDRQRAQQAPCyAAIAI3AxAgAyABp2oLdwECfyMAQRBrIgMkAEF/IQQCQCAALQAoDQAgACgCIEEAIAJBA0kbRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALDAELIAMgAjYCCCADIAE3AwAgACADQhBBBhAOQgBTDQBBACEEIABBADoANAsgA0EQaiQAIAQLVwICfgF/AkACQCAALQAARQ0AIAApAxAiAUJ7Vg0AIAFCBHwiAiAAKQMIWA0BCyAAQQA6AABBAA8LIAAoAgQiA0UEQEEADwsgACACNwMQIAMgAadqKAAAC1UCAX4BfyAABEACQCAAKQMIUA0AQgEhAQNAIAAoAgAgAkEEdGoQPiABIAApAwhaDQEgAachAiABQgF8IQEMAAsACyAAKAIAEAYgACgCKBAQIAAQBgsLZAECfwJAAkACQCAARQRAIAGnEAkiA0UNAkEYEAkiAkUNAQwDCyAAIQNBGBAJIgINAkEADwsgAxAGC0EADwsgAkIANwMQIAIgATcDCCACIAM2AgQgAkEBOgAAIAIgAEU6AAEgAgudAQICfgF/AkACQCAALQAARQ0AIAApAxAiAkJ3Vg0AIAJCCHwiAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2oiACABQjiIPAAHIAAgAUIwiDwABiAAIAFCKIg8AAUgACABQiCIPAAEIAAgAUIYiDwAAyAAIAFCEIg8AAIgACABQgiIPAABIAAgATwAAAvwAgICfwF+AkAgAkUNACAAIAJqIgNBAWsgAToAACAAIAE6AAAgAkEDSQ0AIANBAmsgAToAACAAIAE6AAEgA0EDayABOgAAIAAgAToAAiACQQdJDQAgA0EEayABOgAAIAAgAToAAyACQQlJDQAgAEEAIABrQQNxIgRqIgMgAUH/AXFBgYKECGwiADYCACADIAIgBGtBfHEiAmoiAUEEayAANgIAIAJBCUkNACADIAA2AgggAyAANgIEIAFBCGsgADYCACABQQxrIAA2AgAgAkEZSQ0AIAMgADYCGCADIAA2AhQgAyAANgIQIAMgADYCDCABQRBrIAA2AgAgAUEUayAANgIAIAFBGGsgADYCACABQRxrIAA2AgAgAiADQQRxQRhyIgFrIgJBIEkNACAArUKBgICAEH4hBSABIANqIQEDQCABIAU3AxggASAFNwMQIAEgBTcDCCABIAU3AwAgAUEgaiEBIAJBIGsiAkEfSw0ACwsLbwEDfyAAQQxqIQICQAJ/IAAoAiAiAUUEQEF/IQFBEgwBCyAAIAFBAWsiAzYCIEEAIQEgAw0BIABBAEIAQQIQDhogACgCACIARQ0BIAAQGkF/Sg0BQRQLIQAgAgRAIAJBADYCBCACIAA2AgALCyABC58BAgF/AX4CfwJAAn4gACgCACIDKAIkQQFGQQAgAkJ/VRtFBEAgA0EMaiIBBEAgAUEANgIEIAFBEjYCAAtCfwwBCyADIAEgAkELEA4LIgRCf1cEQCAAKAIAIQEgAEEIaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQtBACACIARRDQEaIABBCGoEQCAAQRs2AgwgAEEGNgIICwtBfwsLJAEBfyAABEADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLC5gBAgJ+AX8CQAJAIAAtAABFDQAgACkDECIBQndWDQAgAUIIfCICIAApAwhYDQELIABBADoAAEIADwsgACgCBCIDRQRAQgAPCyAAIAI3AxAgAyABp2oiADEABkIwhiAAMQAHQjiGhCAAMQAFQiiGhCAAMQAEQiCGhCAAMQADQhiGhCAAMQACQhCGhCAAMQABQgiGhCAAMQAAfAsjACAAQShGBEAgAhAGDwsgAgRAIAEgAkEEaygCACAAEQcACwsyACAAKAIkQQFHBEAgAEEMaiIABEAgAEEANgIEIABBEjYCAAtCfw8LIABBAEIAQQ0QDgsPACAABEAgABA2IAAQBgsLgAEBAX8gAC0AKAR/QX8FIAFFBEAgAEEMagRAIABBADYCECAAQRI2AgwLQX8PCyABECoCQCAAKAIAIgJFDQAgAiABECFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAtBfw8LIAAgAUI4QQMQDkI/h6cLC38BA38gACEBAkAgAEEDcQRAA0AgAS0AAEUNAiABQQFqIgFBA3ENAAsLA0AgASICQQRqIQEgAigCACIDQX9zIANBgYKECGtxQYCBgoR4cUUNAAsgA0H/AXFFBEAgAiAAaw8LA0AgAi0AASEDIAJBAWoiASECIAMNAAsLIAEgAGsL3wIBCH8gAEUEQEEBDwsCQCAAKAIIIgINAEEBIQQgAC8BBCIHRQRAQQEhAgwBCyAAKAIAIQgDQAJAIAMgCGoiBS0AACICQSBPBEAgAkEYdEEYdUF/Sg0BCyACQQ1NQQBBASACdEGAzABxGw0AAn8CfyACQeABcUHAAUYEQEEBIQYgA0EBagwBCyACQfABcUHgAUYEQCADQQJqIQNBACEGQQEMAgsgAkH4AXFB8AFHBEBBBCECDAULQQAhBiADQQNqCyEDQQALIQlBBCECIAMgB08NAiAFLQABQcABcUGAAUcNAkEDIQQgBg0AIAUtAAJBwAFxQYABRw0CIAkNACAFLQADQcABcUGAAUcNAgsgBCECIANBAWoiAyAHSQ0ACwsgACACNgIIAn8CQCABRQ0AAkAgAUECRw0AIAJBA0cNAEECIQIgAEECNgIICyABIAJGDQBBBSACQQFHDQEaCyACCwtIAgJ+An8jAEEQayIEIAE2AgxCASAArYYhAgNAIAQgAUEEaiIANgIMIAIiA0IBIAEoAgAiBa2GhCECIAAhASAFQX9KDQALIAMLhwUBB38CQAJAIABFBEBBxRQhAiABRQ0BIAFBADYCAEHFFA8LIAJBwABxDQEgACgCCEUEQCAAQQAQIxoLIAAoAgghBAJAIAJBgAFxBEAgBEEBa0ECTw0BDAMLIARBBEcNAgsCQCAAKAIMIgINACAAAn8gACgCACEIIABBEGohCUEAIQICQAJAAkACQCAALwEEIgUEQEEBIQQgBUEBcSEHIAVBAUcNAQwCCyAJRQ0CIAlBADYCAEEADAQLIAVBfnEhBgNAIARBAUECQQMgAiAIai0AAEEBdEHQFGovAQAiCkGAEEkbIApBgAFJG2pBAUECQQMgCCACQQFyai0AAEEBdEHQFGovAQAiBEGAEEkbIARBgAFJG2ohBCACQQJqIQIgBkECayIGDQALCwJ/IAcEQCAEQQFBAkEDIAIgCGotAABBAXRB0BRqLwEAIgJBgBBJGyACQYABSRtqIQQLIAQLEAkiB0UNASAFQQEgBUEBSxshCkEAIQVBACEGA0AgBSAHaiEDAn8gBiAIai0AAEEBdEHQFGovAQAiAkH/AE0EQCADIAI6AAAgBUEBagwBCyACQf8PTQRAIAMgAkE/cUGAAXI6AAEgAyACQQZ2QcABcjoAACAFQQJqDAELIAMgAkE/cUGAAXI6AAIgAyACQQx2QeABcjoAACADIAJBBnZBP3FBgAFyOgABIAVBA2oLIQUgBkEBaiIGIApHDQALIAcgBEEBayICakEAOgAAIAlFDQAgCSACNgIACyAHDAELIAMEQCADQQA2AgQgA0EONgIAC0EACyICNgIMIAINAEEADwsgAUUNACABIAAoAhA2AgALIAIPCyABBEAgASAALwEENgIACyAAKAIAC4MBAQR/QRIhBQJAAkAgACkDMCABWA0AIAGnIQYgACgCQCEEIAJBCHEiB0UEQCAEIAZBBHRqKAIEIgINAgsgBCAGQQR0aiIEKAIAIgJFDQAgBC0ADEUNAUEXIQUgBw0BC0EAIQIgAyAAQQhqIAMbIgAEQCAAQQA2AgQgACAFNgIACwsgAgtuAQF/IwBBgAJrIgUkAAJAIARBgMAEcQ0AIAIgA0wNACAFIAFB/wFxIAIgA2siAkGAAiACQYACSSIBGxAZIAFFBEADQCAAIAVBgAIQLiACQYACayICQf8BSw0ACwsgACAFIAIQLgsgBUGAAmokAAuBAQEBfyMAQRBrIgQkACACIANsIQICQCAAQSdGBEAgBEEMaiACEIwBIQBBACAEKAIMIAAbIQAMAQsgAUEBIAJBxABqIAARAAAiAUUEQEEAIQAMAQtBwAAgAUE/cWsiACABakHAAEEAIABBBEkbaiIAQQRrIAE2AAALIARBEGokACAAC1IBAn9BhIEBKAIAIgEgAEEDakF8cSICaiEAAkAgAkEAIAAgAU0bDQAgAD8AQRB0SwRAIAAQA0UNAQtBhIEBIAA2AgAgAQ8LQYSEAUEwNgIAQX8LNwAgAEJ/NwMQIABBADYCCCAAQgA3AwAgAEEANgIwIABC/////w83AyggAEIANwMYIABCADcDIAulAQEBf0HYABAJIgFFBEBBAA8LAkAgAARAIAEgAEHYABAHGgwBCyABQgA3AyAgAUEANgIYIAFC/////w83AxAgAUEAOwEMIAFBv4YoNgIIIAFBAToABiABQQA6AAQgAUIANwNIIAFBgIDYjXg2AkQgAUIANwMoIAFCADcDMCABQgA3AzggAUFAa0EAOwEAIAFCADcDUAsgAUEBOgAFIAFBADYCACABC1gCAn4BfwJAAkAgAC0AAEUNACAAKQMQIgMgAq18IgQgA1QNACAEIAApAwhYDQELIABBADoAAA8LIAAoAgQiBUUEQA8LIAAgBDcDECAFIAOnaiABIAIQBxoLlgEBAn8CQAJAIAJFBEAgAacQCSIFRQ0BQRgQCSIEDQIgBRAGDAELIAIhBUEYEAkiBA0BCyADBEAgA0EANgIEIANBDjYCAAtBAA8LIARCADcDECAEIAE3AwggBCAFNgIEIARBAToAACAEIAJFOgABIAAgBSABIAMQZUEASAR/IAQtAAEEQCAEKAIEEAYLIAQQBkEABSAECwubAgEDfyAALQAAQSBxRQRAAkAgASEDAkAgAiAAIgEoAhAiAAR/IAAFAn8gASABLQBKIgBBAWsgAHI6AEogASgCACIAQQhxBEAgASAAQSByNgIAQX8MAQsgAUIANwIEIAEgASgCLCIANgIcIAEgADYCFCABIAAgASgCMGo2AhBBAAsNASABKAIQCyABKAIUIgVrSwRAIAEgAyACIAEoAiQRAAAaDAILAn8gASwAS0F/SgRAIAIhAANAIAIgACIERQ0CGiADIARBAWsiAGotAABBCkcNAAsgASADIAQgASgCJBEAACAESQ0CIAMgBGohAyABKAIUIQUgAiAEawwBCyACCyEAIAUgAyAAEAcaIAEgASgCFCAAajYCFAsLCwvNBQEGfyAAKAIwIgNBhgJrIQYgACgCPCECIAMhAQNAIAAoAkQgAiAAKAJoIgRqayECIAEgBmogBE0EQCAAKAJIIgEgASADaiADEAcaAkAgAyAAKAJsIgFNBEAgACABIANrNgJsDAELIABCADcCbAsgACAAKAJoIANrIgE2AmggACAAKAJYIANrNgJYIAEgACgChC5JBEAgACABNgKELgsgAEH8gAEoAgARAwAgAiADaiECCwJAIAAoAgAiASgCBCIERQ0AIAAoAjwhBSAAIAIgBCACIARJGyICBH8gACgCSCAAKAJoaiAFaiEFIAEgBCACazYCBAJAAkACQAJAIAEoAhwiBCgCFEEBaw4CAQACCyAEQaABaiAFIAEoAgAgAkHcgAEoAgARCAAMAgsgASABKAIwIAUgASgCACACQcSAASgCABEEADYCMAwBCyAFIAEoAgAgAhAHGgsgASABKAIAIAJqNgIAIAEgASgCCCACajYCCCAAKAI8BSAFCyACaiICNgI8AkAgACgChC4iASACakEDSQ0AIAAoAmggAWshAQJAIAAoAnRBgQhPBEAgACAAIAAoAkggAWoiAi0AACACLQABIAAoAnwRAAA2AlQMAQsgAUUNACAAIAFBAWsgACgChAERAgAaCyAAKAKELiAAKAI8IgJBAUZrIgRFDQAgACABIAQgACgCgAERBQAgACAAKAKELiAEazYChC4gACgCPCECCyACQYUCSw0AIAAoAgAoAgRFDQAgACgCMCEBDAELCwJAIAAoAkQiAiAAKAJAIgNNDQAgAAJ/IAAoAjwgACgCaGoiASADSwRAIAAoAkggAWpBACACIAFrIgNBggIgA0GCAkkbIgMQGSABIANqDAELIAFBggJqIgEgA00NASAAKAJIIANqQQAgAiADayICIAEgA2siAyACIANJGyIDEBkgACgCQCADags2AkALC50CAQF/AkAgAAJ/IAAoAqAuIgFBwABGBEAgACgCBCAAKAIQaiAAKQOYLjcAACAAQgA3A5guIAAgACgCEEEIajYCEEEADAELIAFBIE4EQCAAKAIEIAAoAhBqIAApA5guPgAAIAAgAEGcLmo1AgA3A5guIAAgACgCEEEEajYCECAAIAAoAqAuQSBrIgE2AqAuCyABQRBOBEAgACgCBCAAKAIQaiAAKQOYLj0AACAAIAAoAhBBAmo2AhAgACAAKQOYLkIQiDcDmC4gACAAKAKgLkEQayIBNgKgLgsgAUEISA0BIAAgACgCECIBQQFqNgIQIAEgACgCBGogACkDmC48AAAgACAAKQOYLkIIiDcDmC4gACgCoC5BCGsLNgKgLgsLEAAgACgCCBAGIABBADYCCAvwAQECf0F/IQECQCAALQAoDQAgACgCJEEDRgRAIABBDGoEQCAAQQA2AhAgAEEXNgIMC0F/DwsCQCAAKAIgBEAgACkDGELAAINCAFINASAAQQxqBEAgAEEANgIQIABBHTYCDAtBfw8LAkAgACgCACICRQ0AIAIQMkF/Sg0AIAAoAgAhASAAQQxqIgAEQCAAIAEoAgw2AgAgACABKAIQNgIEC0F/DwsgAEEAQgBBABAOQn9VDQAgACgCACIARQ0BIAAQGhpBfw8LQQAhASAAQQA7ATQgAEEMagRAIABCADcCDAsgACAAKAIgQQFqNgIgCyABCzsAIAAtACgEfkJ/BSAAKAIgRQRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQn8PCyAAQQBCAEEHEA4LC5oIAQt/IABFBEAgARAJDwsgAUFATwRAQYSEAUEwNgIAQQAPCwJ/QRAgAUELakF4cSABQQtJGyEGIABBCGsiBSgCBCIJQXhxIQQCQCAJQQNxRQRAQQAgBkGAAkkNAhogBkEEaiAETQRAIAUhAiAEIAZrQZSIASgCAEEBdE0NAgtBAAwCCyAEIAVqIQcCQCAEIAZPBEAgBCAGayIDQRBJDQEgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAiADQQNyNgIEIAcgBygCBEEBcjYCBCACIAMQOwwBCyAHQcyEASgCAEYEQEHAhAEoAgAgBGoiBCAGTQ0CIAUgCUEBcSAGckECcjYCBCAFIAZqIgMgBCAGayICQQFyNgIEQcCEASACNgIAQcyEASADNgIADAELIAdByIQBKAIARgRAQbyEASgCACAEaiIDIAZJDQICQCADIAZrIgJBEE8EQCAFIAlBAXEgBnJBAnI2AgQgBSAGaiIEIAJBAXI2AgQgAyAFaiIDIAI2AgAgAyADKAIEQX5xNgIEDAELIAUgCUEBcSADckECcjYCBCADIAVqIgIgAigCBEEBcjYCBEEAIQJBACEEC0HIhAEgBDYCAEG8hAEgAjYCAAwBCyAHKAIEIgNBAnENASADQXhxIARqIgogBkkNASAKIAZrIQwCQCADQf8BTQRAIAcoAggiBCADQQN2IgJBA3RB3IQBakYaIAQgBygCDCIDRgRAQbSEAUG0hAEoAgBBfiACd3E2AgAMAgsgBCADNgIMIAMgBDYCCAwBCyAHKAIYIQsCQCAHIAcoAgwiCEcEQCAHKAIIIgJBxIQBKAIASRogAiAINgIMIAggAjYCCAwBCwJAIAdBFGoiBCgCACICDQAgB0EQaiIEKAIAIgINAEEAIQgMAQsDQCAEIQMgAiIIQRRqIgQoAgAiAg0AIAhBEGohBCAIKAIQIgINAAsgA0EANgIACyALRQ0AAkAgByAHKAIcIgNBAnRB5IYBaiICKAIARgRAIAIgCDYCACAIDQFBuIQBQbiEASgCAEF+IAN3cTYCAAwCCyALQRBBFCALKAIQIAdGG2ogCDYCACAIRQ0BCyAIIAs2AhggBygCECICBEAgCCACNgIQIAIgCDYCGAsgBygCFCICRQ0AIAggAjYCFCACIAg2AhgLIAxBD00EQCAFIAlBAXEgCnJBAnI2AgQgBSAKaiICIAIoAgRBAXI2AgQMAQsgBSAJQQFxIAZyQQJyNgIEIAUgBmoiAyAMQQNyNgIEIAUgCmoiAiACKAIEQQFyNgIEIAMgDBA7CyAFIQILIAILIgIEQCACQQhqDwsgARAJIgVFBEBBAA8LIAUgAEF8QXggAEEEaygCACICQQNxGyACQXhxaiICIAEgASACSxsQBxogABAGIAUL6QEBA38CQCABRQ0AIAJBgDBxIgIEfwJ/IAJBgCBHBEBBAiACQYAQRg0BGiADBEAgA0EANgIEIANBEjYCAAtBAA8LQQQLIQJBAAVBAQshBkEUEAkiBEUEQCADBEAgA0EANgIEIANBDjYCAAtBAA8LIAQgAUEBahAJIgU2AgAgBUUEQCAEEAZBAA8LIAUgACABEAcgAWpBADoAACAEQQA2AhAgBEIANwMIIAQgATsBBCAGDQAgBCACECNBBUcNACAEKAIAEAYgBCgCDBAGIAQQBkEAIQQgAwRAIANBADYCBCADQRI2AgALCyAEC7UBAQJ/AkACQAJAAkACQAJAAkAgAC0ABQRAIAAtAABBAnFFDQELIAAoAjAQECAAQQA2AjAgAC0ABUUNAQsgAC0AAEEIcUUNAQsgACgCNBAcIABBADYCNCAALQAFRQ0BCyAALQAAQQRxRQ0BCyAAKAI4EBAgAEEANgI4IAAtAAVFDQELIAAtAABBgAFxRQ0BCyAAKAJUIgEEfyABQQAgARAiEBkgACgCVAVBAAsQBiAAQQA2AlQLC9wMAgl/AX4jAEFAaiIGJAACQAJAAkACQAJAIAEoAjBBABAjIgVBAkZBACABKAI4QQAQIyIEQQFGGw0AIAVBAUZBACAEQQJGGw0AIAVBAkciAw0BIARBAkcNAQsgASABLwEMQYAQcjsBDEEAIQMMAQsgASABLwEMQf/vA3E7AQxBACEFIANFBEBB9eABIAEoAjAgAEEIahBpIgVFDQILIAJBgAJxBEAgBSEDDAELIARBAkcEQCAFIQMMAQtB9cYBIAEoAjggAEEIahBpIgNFBEAgBRAcDAILIAMgBTYCAAsgASABLwEMQf7/A3EgAS8BUiIFQQBHcjsBDAJAAkACQAJAAn8CQAJAIAEpAyhC/v///w9WDQAgASkDIEL+////D1YNACACQYAEcUUNASABKQNIQv////8PVA0BCyAFQYECa0H//wNxQQNJIQdBAQwBCyAFQYECa0H//wNxIQQgAkGACnFBgApHDQEgBEEDSSEHQQALIQkgBkIcEBciBEUEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyADEBwMBQsgAkGACHEhBQJAAkAgAkGAAnEEQAJAIAUNACABKQMgQv////8PVg0AIAEpAyhCgICAgBBUDQMLIAQgASkDKBAYIAEpAyAhDAwBCwJAAkACQCAFDQAgASkDIEL/////D1YNACABKQMoIgxC/////w9WDQEgASkDSEKAgICAEFQNBAsgASkDKCIMQv////8PVA0BCyAEIAwQGAsgASkDICIMQv////8PWgRAIAQgDBAYCyABKQNIIgxC/////w9UDQELIAQgDBAYCyAELQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAQQCCADEBwMBQtBASEKQQEgBC0AAAR+IAQpAxAFQgALp0H//wNxIAYQRyEFIAQQCCAFIAM2AgAgBw0BDAILIAMhBSAEQQJLDQELIAZCBxAXIgRFBEAgAEEIaiIABEAgAEEANgIEIABBDjYCAAsgBRAcDAMLIARBAhANIARBhxJBAhAsIAQgAS0AUhBwIAQgAS8BEBANIAQtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAsgBBAIDAILQYGyAkEHIAYQRyEDIAQQCCADIAU2AgBBASELIAMhBQsgBkIuEBciA0UEQCAAQQhqIgAEQCAAQQA2AgQgAEEONgIACyAFEBwMAgsgA0GjEkGoEiACQYACcSIHG0EEECwgB0UEQCADIAkEf0EtBSABLwEIC0H//wNxEA0LIAMgCQR/QS0FIAEvAQoLQf//A3EQDSADIAEvAQwQDSADIAsEf0HjAAUgASgCEAtB//8DcRANIAYgASgCFDYCPAJ/IAZBPGoQjQEiCEUEQEEAIQlBIQwBCwJ/IAgoAhQiBEHQAE4EQCAEQQl0DAELIAhB0AA2AhRBgMACCyEEIAgoAgRBBXQgCCgCCEELdGogCCgCAEEBdmohCSAIKAIMIAQgCCgCEEEFdGpqQaDAAWoLIQQgAyAJQf//A3EQDSADIARB//8DcRANIAMCfyALBEBBACABKQMoQhRUDQEaCyABKAIYCxASIAEpAyAhDCADAn8gAwJ/AkAgBwRAIAxC/v///w9YBEAgASkDKEL/////D1QNAgsgA0F/EBJBfwwDC0F/IAxC/v///w9WDQEaCyAMpwsQEiABKQMoIgxC/////w8gDEL/////D1QbpwsQEiADIAEoAjAiBAR/IAQvAQQFQQALQf//A3EQDSADIAEoAjQgAhBsIAVBgAYQbGpB//8DcRANIAdFBEAgAyABKAI4IgQEfyAELwEEBUEAC0H//wNxEA0gAyABLwE8EA0gAyABLwFAEA0gAyABKAJEEBIgAyABKQNIIgxC/////w8gDEL/////D1QbpxASCyADLQAARQRAIABBCGoiAARAIABBADYCBCAAQRQ2AgALIAMQCCAFEBwMAgsgACAGIAMtAAAEfiADKQMQBUIACxAbIQQgAxAIIARBf0wNACABKAIwIgMEQCAAIAMQYUF/TA0BCyAFBEAgACAFQYAGEGtBf0wNAQsgBRAcIAEoAjQiBQRAIAAgBSACEGtBAEgNAgsgBw0CIAEoAjgiAUUNAiAAIAEQYUEATg0CDAELIAUQHAtBfyEKCyAGQUBrJAAgCgtNAQJ/IAEtAAAhAgJAIAAtAAAiA0UNACACIANHDQADQCABLQABIQIgAC0AASIDRQ0BIAFBAWohASAAQQFqIQAgAiADRg0ACwsgAyACawvcAwICfgF/IAOtIQQgACkDmC4hBQJAIAACfyAAAn4gACgCoC4iBkEDaiIDQT9NBEAgBCAGrYYgBYQMAQsgBkHAAEYEQCAAKAIEIAAoAhBqIAU3AAAgACgCEEEIagwCCyAAKAIEIAAoAhBqIAQgBq2GIAWENwAAIAAgACgCEEEIajYCECAGQT1rIQMgBEHAACAGa62ICyIENwOYLiAAIAM2AqAuIANBOU4EQCAAKAIEIAAoAhBqIAQ3AAAgACAAKAIQQQhqNgIQDAILIANBGU4EQCAAKAIEIAAoAhBqIAQ+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiBDcDmC4gACAAKAKgLkEgayIDNgKgLgsgA0EJTgR/IAAoAgQgACgCEGogBD0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghBCAAKAKgLkEQawUgAwtBAUgNASAAKAIQCyIDQQFqNgIQIAAoAgQgA2ogBDwAAAsgAEEANgKgLiAAQgA3A5guIAAoAgQgACgCEGogAjsAACAAIAAoAhBBAmoiAzYCECAAKAIEIANqIAJBf3M7AAAgACAAKAIQQQJqIgM2AhAgAgRAIAAoAgQgA2ogASACEAcaIAAgACgCECACajYCEAsLrAQCAX8BfgJAIAANACABUA0AIAMEQCADQQA2AgQgA0ESNgIAC0EADwsCQAJAIAAgASACIAMQiQEiBEUNAEEYEAkiAkUEQCADBEAgA0EANgIEIANBDjYCAAsCQCAEKAIoIgBFBEAgBCkDGCEBDAELIABBADYCKCAEKAIoQgA3AyAgBCAEKQMYIgUgBCkDICIBIAEgBVQbIgE3AxgLIAQpAwggAVYEQANAIAQoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAQpAwhUDQALCyAEKAIAEAYgBCgCBBAGIAQQBgwBCyACQQA2AhQgAiAENgIQIAJBABABNgIMIAJBADYCCCACQgA3AgACf0E4EAkiAEUEQCADBEAgA0EANgIEIANBDjYCAAtBAAwBCyAAQQA2AgggAEIANwMAIABCADcDICAAQoCAgIAQNwIsIABBADoAKCAAQQA2AhQgAEIANwIMIABBADsBNCAAIAI2AgggAEEkNgIEIABCPyACQQBCAEEOQSQRDAAiASABQgBTGzcDGCAACyIADQEgAigCECIDBEACQCADKAIoIgBFBEAgAykDGCEBDAELIABBADYCKCADKAIoQgA3AyAgAyADKQMYIgUgAykDICIBIAEgBVQbIgE3AxgLIAMpAwggAVYEQANAIAMoAgAgAadBBHRqKAIAEAYgAUIBfCIBIAMpAwhUDQALCyADKAIAEAYgAygCBBAGIAMQBgsgAhAGC0EAIQALIAALiwwBBn8gACABaiEFAkACQCAAKAIEIgJBAXENACACQQNxRQ0BIAAoAgAiAiABaiEBAkAgACACayIAQciEASgCAEcEQCACQf8BTQRAIAAoAggiBCACQQN2IgJBA3RB3IQBakYaIAAoAgwiAyAERw0CQbSEAUG0hAEoAgBBfiACd3E2AgAMAwsgACgCGCEGAkAgACAAKAIMIgNHBEAgACgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAAQRRqIgIoAgAiBA0AIABBEGoiAigCACIEDQBBACEDDAELA0AgAiEHIAQiA0EUaiICKAIAIgQNACADQRBqIQIgAygCECIEDQALIAdBADYCAAsgBkUNAgJAIAAgACgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMBAsgBkEQQRQgBigCECAARhtqIAM2AgAgA0UNAwsgAyAGNgIYIAAoAhAiAgRAIAMgAjYCECACIAM2AhgLIAAoAhQiAkUNAiADIAI2AhQgAiADNgIYDAILIAUoAgQiAkEDcUEDRw0BQbyEASABNgIAIAUgAkF+cTYCBCAAIAFBAXI2AgQgBSABNgIADwsgBCADNgIMIAMgBDYCCAsCQCAFKAIEIgJBAnFFBEAgBUHMhAEoAgBGBEBBzIQBIAA2AgBBwIQBQcCEASgCACABaiIBNgIAIAAgAUEBcjYCBCAAQciEASgCAEcNA0G8hAFBADYCAEHIhAFBADYCAA8LIAVByIQBKAIARgRAQciEASAANgIAQbyEAUG8hAEoAgAgAWoiATYCACAAIAFBAXI2AgQgACABaiABNgIADwsgAkF4cSABaiEBAkAgAkH/AU0EQCAFKAIIIgQgAkEDdiICQQN0QdyEAWpGGiAEIAUoAgwiA0YEQEG0hAFBtIQBKAIAQX4gAndxNgIADAILIAQgAzYCDCADIAQ2AggMAQsgBSgCGCEGAkAgBSAFKAIMIgNHBEAgBSgCCCICQcSEASgCAEkaIAIgAzYCDCADIAI2AggMAQsCQCAFQRRqIgQoAgAiAg0AIAVBEGoiBCgCACICDQBBACEDDAELA0AgBCEHIAIiA0EUaiIEKAIAIgINACADQRBqIQQgAygCECICDQALIAdBADYCAAsgBkUNAAJAIAUgBSgCHCIEQQJ0QeSGAWoiAigCAEYEQCACIAM2AgAgAw0BQbiEAUG4hAEoAgBBfiAEd3E2AgAMAgsgBkEQQRQgBigCECAFRhtqIAM2AgAgA0UNAQsgAyAGNgIYIAUoAhAiAgRAIAMgAjYCECACIAM2AhgLIAUoAhQiAkUNACADIAI2AhQgAiADNgIYCyAAIAFBAXI2AgQgACABaiABNgIAIABByIQBKAIARw0BQbyEASABNgIADwsgBSACQX5xNgIEIAAgAUEBcjYCBCAAIAFqIAE2AgALIAFB/wFNBEAgAUEDdiICQQN0QdyEAWohAQJ/QbSEASgCACIDQQEgAnQiAnFFBEBBtIQBIAIgA3I2AgAgAQwBCyABKAIICyECIAEgADYCCCACIAA2AgwgACABNgIMIAAgAjYCCA8LQR8hAiAAQgA3AhAgAUH///8HTQRAIAFBCHYiAiACQYD+P2pBEHZBCHEiBHQiAiACQYDgH2pBEHZBBHEiA3QiAiACQYCAD2pBEHZBAnEiAnRBD3YgAyAEciACcmsiAkEBdCABIAJBFWp2QQFxckEcaiECCyAAIAI2AhwgAkECdEHkhgFqIQcCQAJAQbiEASgCACIEQQEgAnQiA3FFBEBBuIQBIAMgBHI2AgAgByAANgIAIAAgBzYCGAwBCyABQQBBGSACQQF2ayACQR9GG3QhAiAHKAIAIQMDQCADIgQoAgRBeHEgAUYNAiACQR12IQMgAkEBdCECIAQgA0EEcWoiB0EQaigCACIDDQALIAcgADYCECAAIAQ2AhgLIAAgADYCDCAAIAA2AggPCyAEKAIIIgEgADYCDCAEIAA2AgggAEEANgIYIAAgBDYCDCAAIAE2AggLC1gCAX8BfgJAAn9BACAARQ0AGiAArUIChiICpyIBIABBBHJBgIAESQ0AGkF/IAEgAkIgiKcbCyIBEAkiAEUNACAAQQRrLQAAQQNxRQ0AIABBACABEBkLIAALQwEDfwJAIAJFDQADQCAALQAAIgQgAS0AACIFRgRAIAFBAWohASAAQQFqIQAgAkEBayICDQEMAgsLIAQgBWshAwsgAwsUACAAEEAgACgCABAgIAAoAgQQIAutBAIBfgV/IwBBEGsiBCQAIAAgAWshBgJAAkAgAUEBRgRAIAAgBi0AACACEBkMAQsgAUEJTwRAIAAgBikAADcAACAAIAJBAWtBB3FBAWoiBWohACACIAVrIgFFDQIgBSAGaiECA0AgACACKQAANwAAIAJBCGohAiAAQQhqIQAgAUEIayIBDQALDAILAkACQAJAAkAgAUEEaw4FAAICAgECCyAEIAYoAAAiATYCBCAEIAE2AgAMAgsgBCAGKQAANwMADAELQQghByAEQQhqIQgDQCAIIAYgByABIAEgB0sbIgUQByAFaiEIIAcgBWsiBw0ACyAEIAQpAwg3AwALAkAgBQ0AIAJBEEkNACAEKQMAIQMgAkEQayIGQQR2QQFqQQdxIgEEQANAIAAgAzcACCAAIAM3AAAgAkEQayECIABBEGohACABQQFrIgENAAsLIAZB8ABJDQADQCAAIAM3AHggACADNwBwIAAgAzcAaCAAIAM3AGAgACADNwBYIAAgAzcAUCAAIAM3AEggACADNwBAIAAgAzcAOCAAIAM3ADAgACADNwAoIAAgAzcAICAAIAM3ABggACADNwAQIAAgAzcACCAAIAM3AAAgAEGAAWohACACQYABayICQQ9LDQALCyACQQhPBEBBCCAFayEBA0AgACAEKQMANwAAIAAgAWohACACIAFrIgJBB0sNAAsLIAJFDQEgACAEIAIQBxoLIAAgAmohAAsgBEEQaiQAIAALXwECfyAAKAIIIgEEQCABEAsgAEEANgIICwJAIAAoAgQiAUUNACABKAIAIgJBAXFFDQAgASgCEEF+Rw0AIAEgAkF+cSICNgIAIAINACABECAgAEEANgIECyAAQQA6AAwL1wICBH8BfgJAAkAgACgCQCABp0EEdGooAgAiA0UEQCACBEAgAkEANgIEIAJBFDYCAAsMAQsgACgCACADKQNIIgdBABAUIQMgACgCACEAIANBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQtCACEBIwBBEGsiBiQAQX8hAwJAIABCGkEBEBRBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsgAEIEIAZBCmogAhAtIgRFDQBBHiEAQQEhBQNAIAQQDCAAaiEAIAVBAkcEQCAFQQFqIQUMAQsLIAQtAAAEfyAEKQMQIAQpAwhRBUEAC0UEQCACBEAgAkEANgIEIAJBFDYCAAsgBBAIDAELIAQQCCAAIQMLIAZBEGokACADIgBBAEgNASAHIACtfCIBQn9VDQEgAgRAIAJBFjYCBCACQQQ2AgALC0IAIQELIAELYAIBfgF/AkAgAEUNACAAQQhqEF8iAEUNACABIAEoAjBBAWo2AjAgACADNgIIIAAgAjYCBCAAIAE2AgAgAEI/IAEgA0EAQgBBDiACEQoAIgQgBEIAUxs3AxggACEFCyAFCyIAIAAoAiRBAWtBAU0EQCAAQQBCAEEKEA4aIABBADYCJAsLbgACQAJAAkAgA0IQVA0AIAJFDQECfgJAAkACQCACKAIIDgMCAAEECyACKQMAIAB8DAILIAIpAwAgAXwMAQsgAikDAAsiA0IAUw0AIAEgA1oNAgsgBARAIARBADYCBCAEQRI2AgALC0J/IQMLIAMLggICAX8CfgJAQQEgAiADGwRAIAIgA2oQCSIFRQRAIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgAq0hBgJAAkAgAARAIAAgBhATIgBFBEAgBARAIARBADYCBCAEQQ42AgALDAULIAUgACACEAcaIAMNAQwCCyABIAUgBhARIgdCf1cEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMBAsgBiAHVQRAIAQEQCAEQQA2AgQgBEERNgIACwwECyADRQ0BCyACIAVqIgBBADoAACACQQFIDQAgBSECA0AgAi0AAEUEQCACQSA6AAALIAJBAWoiAiAASQ0ACwsLIAUPCyAFEAZBAAuBAQEBfwJAIAAEQCADQYAGcSEFQQAhAwNAAkAgAC8BCCACRw0AIAUgACgCBHFFDQAgA0EATg0DIANBAWohAwsgACgCACIADQALCyAEBEAgBEEANgIEIARBCTYCAAtBAA8LIAEEQCABIAAvAQo7AQALIAAvAQpFBEBBwBQPCyAAKAIMC1cBAX9BEBAJIgNFBEBBAA8LIAMgATsBCiADIAA7AQggA0GABjYCBCADQQA2AgACQCABBEAgAyACIAEQYyIANgIMIAANASADEAZBAA8LIANBADYCDAsgAwvuBQIEfwV+IwBB4ABrIgQkACAEQQhqIgNCADcDICADQQA2AhggA0L/////DzcDECADQQA7AQwgA0G/hig2AgggA0EBOgAGIANBADsBBCADQQA2AgAgA0IANwNIIANBgIDYjXg2AkQgA0IANwMoIANCADcDMCADQgA3AzggA0FAa0EAOwEAIANCADcDUCABKQMIUCIDRQRAIAEoAgAoAgApA0ghBwsCfgJAIAMEQCAHIQkMAQsgByEJA0AgCqdBBHQiBSABKAIAaigCACIDKQNIIgggCSAIIAlUGyIJIAEpAyBWBEAgAgRAIAJBADYCBCACQRM2AgALQn8MAwsgAygCMCIGBH8gBi8BBAVBAAtB//8Dca0gCCADKQMgfHxCHnwiCCAHIAcgCFQbIgcgASkDIFYEQCACBEAgAkEANgIEIAJBEzYCAAtCfwwDCyAAKAIAIAEoAgAgBWooAgApA0hBABAUIQYgACgCACEDIAZBf0wEQCACBEAgAiADKAIMNgIAIAIgAygCEDYCBAtCfwwDCyAEQQhqIANBAEEBIAIQaEJ/UQRAIARBCGoQNkJ/DAMLAkACQCABKAIAIAVqKAIAIgMvAQogBC8BEkkNACADKAIQIAQoAhhHDQAgAygCFCAEKAIcRw0AIAMoAjAgBCgCOBBiRQ0AAkAgBCgCICIGIAMoAhhHBEAgBCkDKCEIDAELIAMpAyAiCyAEKQMoIghSDQAgCyEIIAMpAyggBCkDMFENAgsgBC0AFEEIcUUNACAGDQAgCEIAUg0AIAQpAzBQDQELIAIEQCACQQA2AgQgAkEVNgIACyAEQQhqEDZCfwwDCyABKAIAIAVqKAIAKAI0IAQoAjwQbyEDIAEoAgAgBWooAgAiBUEBOgAEIAUgAzYCNCAEQQA2AjwgBEEIahA2IApCAXwiCiABKQMIVA0ACwsgByAJfSIHQv///////////wAgB0L///////////8AVBsLIQcgBEHgAGokACAHC8YBAQJ/QdgAEAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAECf0EYEAkiAkUEQCAABEAgAEEANgIEIABBDjYCAAtBAAwBCyACQQA2AhAgAkIANwMIIAJBADYCACACCyIANgJQIABFBEAgARAGQQAPCyABQgA3AwAgAUEANgIQIAFCADcCCCABQgA3AhQgAUEANgJUIAFCADcCHCABQgA3ACEgAUIANwMwIAFCADcDOCABQUBrQgA3AwAgAUIANwNIIAELgBMCD38CfiMAQdAAayIFJAAgBSABNgJMIAVBN2ohEyAFQThqIRBBACEBA0ACQCAOQQBIDQBB/////wcgDmsgAUgEQEGEhAFBPTYCAEF/IQ4MAQsgASAOaiEOCyAFKAJMIgchAQJAAkACQAJAAkACQAJAAkAgBQJ/AkAgBy0AACIGBEADQAJAAkAgBkH/AXEiBkUEQCABIQYMAQsgBkElRw0BIAEhBgNAIAEtAAFBJUcNASAFIAFBAmoiCDYCTCAGQQFqIQYgAS0AAiEMIAghASAMQSVGDQALCyAGIAdrIQEgAARAIAAgByABEC4LIAENDSAFKAJMIQEgBSgCTCwAAUEwa0EKTw0DIAEtAAJBJEcNAyABLAABQTBrIQ9BASERIAFBA2oMBAsgBSABQQFqIgg2AkwgAS0AASEGIAghAQwACwALIA4hDSAADQggEUUNAkEBIQEDQCAEIAFBAnRqKAIAIgAEQCADIAFBA3RqIAAgAhB4QQEhDSABQQFqIgFBCkcNAQwKCwtBASENIAFBCk8NCANAIAQgAUECdGooAgANCCABQQFqIgFBCkcNAAsMCAtBfyEPIAFBAWoLIgE2AkxBACEIAkAgASwAACIKQSBrIgZBH0sNAEEBIAZ0IgZBidEEcUUNAANAAkAgBSABQQFqIgg2AkwgASwAASIKQSBrIgFBIE8NAEEBIAF0IgFBidEEcUUNACABIAZyIQYgCCEBDAELCyAIIQEgBiEICwJAIApBKkYEQCAFAn8CQCABLAABQTBrQQpPDQAgBSgCTCIBLQACQSRHDQAgASwAAUECdCAEakHAAWtBCjYCACABLAABQQN0IANqQYADaygCACELQQEhESABQQNqDAELIBENCEEAIRFBACELIAAEQCACIAIoAgAiAUEEajYCACABKAIAIQsLIAUoAkxBAWoLIgE2AkwgC0F/Sg0BQQAgC2shCyAIQYDAAHIhCAwBCyAFQcwAahB3IgtBAEgNBiAFKAJMIQELQX8hCQJAIAEtAABBLkcNACABLQABQSpGBEACQCABLAACQTBrQQpPDQAgBSgCTCIBLQADQSRHDQAgASwAAkECdCAEakHAAWtBCjYCACABLAACQQN0IANqQYADaygCACEJIAUgAUEEaiIBNgJMDAILIBENByAABH8gAiACKAIAIgFBBGo2AgAgASgCAAVBAAshCSAFIAUoAkxBAmoiATYCTAwBCyAFIAFBAWo2AkwgBUHMAGoQdyEJIAUoAkwhAQtBACEGA0AgBiESQX8hDSABLAAAQcEAa0E5Sw0HIAUgAUEBaiIKNgJMIAEsAAAhBiAKIQEgBiASQTpsakGf7ABqLQAAIgZBAWtBCEkNAAsgBkETRg0CIAZFDQYgD0EATgRAIAQgD0ECdGogBjYCACAFIAMgD0EDdGopAwA3A0AMBAsgAA0BC0EAIQ0MBQsgBUFAayAGIAIQeCAFKAJMIQoMAgsgD0F/Sg0DC0EAIQEgAEUNBAsgCEH//3txIgwgCCAIQYDAAHEbIQZBACENQaQIIQ8gECEIAkACQAJAAn8CQAJAAkACQAJ/AkACQAJAAkACQAJAAkAgCkEBaywAACIBQV9xIAEgAUEPcUEDRhsgASASGyIBQdgAaw4hBBISEhISEhISDhIPBg4ODhIGEhISEgIFAxISCRIBEhIEAAsCQCABQcEAaw4HDhILEg4ODgALIAFB0wBGDQkMEQsgBSkDQCEUQaQIDAULQQAhAQJAAkACQAJAAkACQAJAIBJB/wFxDggAAQIDBBcFBhcLIAUoAkAgDjYCAAwWCyAFKAJAIA42AgAMFQsgBSgCQCAOrDcDAAwUCyAFKAJAIA47AQAMEwsgBSgCQCAOOgAADBILIAUoAkAgDjYCAAwRCyAFKAJAIA6sNwMADBALIAlBCCAJQQhLGyEJIAZBCHIhBkH4ACEBCyAQIQcgAUEgcSEMIAUpA0AiFFBFBEADQCAHQQFrIgcgFKdBD3FBsPAAai0AACAMcjoAACAUQg9WIQogFEIEiCEUIAoNAAsLIAUpA0BQDQMgBkEIcUUNAyABQQR2QaQIaiEPQQIhDQwDCyAQIQEgBSkDQCIUUEUEQANAIAFBAWsiASAUp0EHcUEwcjoAACAUQgdWIQcgFEIDiCEUIAcNAAsLIAEhByAGQQhxRQ0CIAkgECAHayIBQQFqIAEgCUgbIQkMAgsgBSkDQCIUQn9XBEAgBUIAIBR9IhQ3A0BBASENQaQIDAELIAZBgBBxBEBBASENQaUIDAELQaYIQaQIIAZBAXEiDRsLIQ8gECEBAkAgFEKAgICAEFQEQCAUIRUMAQsDQCABQQFrIgEgFCAUQgqAIhVCCn59p0EwcjoAACAUQv////+fAVYhByAVIRQgBw0ACwsgFaciBwRAA0AgAUEBayIBIAcgB0EKbiIMQQpsa0EwcjoAACAHQQlLIQogDCEHIAoNAAsLIAEhBwsgBkH//3txIAYgCUF/ShshBgJAIAUpA0AiFEIAUg0AIAkNAEEAIQkgECEHDAoLIAkgFFAgECAHa2oiASABIAlIGyEJDAkLIAUoAkAiAUGKEiABGyIHQQAgCRB6IgEgByAJaiABGyEIIAwhBiABIAdrIAkgARshCQwICyAJBEAgBSgCQAwCC0EAIQEgAEEgIAtBACAGECcMAgsgBUEANgIMIAUgBSkDQD4CCCAFIAVBCGo2AkBBfyEJIAVBCGoLIQhBACEBAkADQCAIKAIAIgdFDQECQCAFQQRqIAcQeSIHQQBIIgwNACAHIAkgAWtLDQAgCEEEaiEIIAkgASAHaiIBSw0BDAILC0F/IQ0gDA0FCyAAQSAgCyABIAYQJyABRQRAQQAhAQwBC0EAIQggBSgCQCEKA0AgCigCACIHRQ0BIAVBBGogBxB5IgcgCGoiCCABSg0BIAAgBUEEaiAHEC4gCkEEaiEKIAEgCEsNAAsLIABBICALIAEgBkGAwABzECcgCyABIAEgC0gbIQEMBQsgACAFKwNAIAsgCSAGIAFBABEdACEBDAQLIAUgBSkDQDwAN0EBIQkgEyEHIAwhBgwCC0F/IQ0LIAVB0ABqJAAgDQ8LIABBICANIAggB2siDCAJIAkgDEgbIgpqIgggCyAIIAtKGyIBIAggBhAnIAAgDyANEC4gAEEwIAEgCCAGQYCABHMQJyAAQTAgCiAMQQAQJyAAIAcgDBAuIABBICABIAggBkGAwABzECcMAAsAC54DAgR/AX4gAARAIAAoAgAiAQRAIAEQGhogACgCABALCyAAKAIcEAYgACgCIBAQIAAoAiQQECAAKAJQIgMEQCADKAIQIgIEQCADKAIAIgEEfwNAIAIgBEECdGooAgAiAgRAA0AgAigCGCEBIAIQBiABIgINAAsgAygCACEBCyABIARBAWoiBEsEQCADKAIQIQIMAQsLIAMoAhAFIAILEAYLIAMQBgsgACgCQCIBBEAgACkDMFAEfyABBSABED5CAiEFAkAgACkDMEICVA0AQQEhAgNAIAAoAkAgAkEEdGoQPiAFIAApAzBaDQEgBachAiAFQgF8IQUMAAsACyAAKAJACxAGCwJAIAAoAkRFDQBBACECQgEhBQNAIAAoAkwgAkECdGooAgAiAUEBOgAoIAFBDGoiASgCAEUEQCABBEAgAUEANgIEIAFBCDYCAAsLIAUgADUCRFoNASAFpyECIAVCAXwhBQwACwALIAAoAkwQBiAAKAJUIgIEQCACKAIIIgEEQCACKAIMIAERAwALIAIQBgsgAEEIahAxIAAQBgsL6gMCAX4EfwJAIAAEfiABRQRAIAMEQCADQQA2AgQgA0ESNgIAC0J/DwsgAkGDIHEEQAJAIAApAzBQDQBBPEE9IAJBAXEbIQcgAkECcUUEQANAIAAgBCACIAMQUyIFBEAgASAFIAcRAgBFDQYLIARCAXwiBCAAKQMwVA0ADAILAAsDQCAAIAQgAiADEFMiBQRAIAECfyAFECJBAWohBgNAQQAgBkUNARogBSAGQQFrIgZqIggtAABBL0cNAAsgCAsiBkEBaiAFIAYbIAcRAgBFDQULIARCAXwiBCAAKQMwVA0ACwsgAwRAIANBADYCBCADQQk2AgALQn8PC0ESIQYCQAJAIAAoAlAiBUUNACABRQ0AQQkhBiAFKQMIUA0AIAUoAhAgAS0AACIHBH9CpesKIQQgASEAA0AgBCAHrUL/AYN8IQQgAC0AASIHBEAgAEEBaiEAIARC/////w+DQiF+IQQMAQsLIASnBUGFKgsgBSgCAHBBAnRqKAIAIgBFDQADQCABIAAoAgAQOEUEQCACQQhxBEAgACkDCCIEQn9RDQMMBAsgACkDECIEQn9RDQIMAwsgACgCGCIADQALCyADBEAgA0EANgIEIAMgBjYCAAtCfyEECyAEBUJ/Cw8LIAMEQCADQgA3AgALIAQL3AQCB38BfgJAAkAgAEUNACABRQ0AIAJCf1UNAQsgBARAIARBADYCBCAEQRI2AgALQQAPCwJAIAAoAgAiB0UEQEGAAiEHQYACEDwiBkUNASAAKAIQEAYgAEGAAjYCACAAIAY2AhALAkACQCAAKAIQIAEtAAAiBQR/QqXrCiEMIAEhBgNAIAwgBa1C/wGDfCEMIAYtAAEiBQRAIAZBAWohBiAMQv////8Pg0IhfiEMDAELCyAMpwVBhSoLIgYgB3BBAnRqIggoAgAiBQRAA0ACQCAFKAIcIAZHDQAgASAFKAIAEDgNAAJAIANBCHEEQCAFKQMIQn9SDQELIAUpAxBCf1ENBAsgBARAIARBADYCBCAEQQo2AgALQQAPCyAFKAIYIgUNAAsLQSAQCSIFRQ0CIAUgATYCACAFIAgoAgA2AhggCCAFNgIAIAVCfzcDCCAFIAY2AhwgACAAKQMIQgF8Igw3AwggDLogB7hEAAAAAAAA6D+iZEUNACAHQQBIDQAgByAHQQF0IghGDQAgCBA8IgpFDQECQCAMQgAgBxtQBEAgACgCECEJDAELIAAoAhAhCUEAIQQDQCAJIARBAnRqKAIAIgYEQANAIAYoAhghASAGIAogBigCHCAIcEECdGoiCygCADYCGCALIAY2AgAgASIGDQALCyAEQQFqIgQgB0cNAAsLIAkQBiAAIAg2AgAgACAKNgIQCyADQQhxBEAgBSACNwMICyAFIAI3AxBBAQ8LIAQEQCAEQQA2AgQgBEEONgIAC0EADwsgBARAIARBADYCBCAEQQ42AgALQQAL3Q8BF38jAEFAaiIHQgA3AzAgB0IANwM4IAdCADcDICAHQgA3AygCQAJAAkACQAJAIAIEQCACQQNxIQggAkEBa0EDTwRAIAJBfHEhBgNAIAdBIGogASAJQQF0IgxqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBAnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBHJqLwEAQQF0aiIKIAovAQBBAWo7AQAgB0EgaiABIAxBBnJqLwEAQQF0aiIKIAovAQBBAWo7AQAgCUEEaiEJIAZBBGsiBg0ACwsgCARAA0AgB0EgaiABIAlBAXRqLwEAQQF0aiIGIAYvAQBBAWo7AQAgCUEBaiEJIAhBAWsiCA0ACwsgBCgCACEJQQ8hCyAHLwE+IhENAgwBCyAEKAIAIQkLQQ4hC0EAIREgBy8BPA0AQQ0hCyAHLwE6DQBBDCELIAcvATgNAEELIQsgBy8BNg0AQQohCyAHLwE0DQBBCSELIAcvATINAEEIIQsgBy8BMA0AQQchCyAHLwEuDQBBBiELIAcvASwNAEEFIQsgBy8BKg0AQQQhCyAHLwEoDQBBAyELIAcvASYNAEECIQsgBy8BJA0AIAcvASJFBEAgAyADKAIAIgBBBGo2AgAgAEHAAjYBACADIAMoAgAiAEEEajYCACAAQcACNgEAQQEhDQwDCyAJQQBHIRtBASELQQEhCQwBCyALIAkgCSALSxshG0EBIQ5BASEJA0AgB0EgaiAJQQF0ai8BAA0BIAlBAWoiCSALRw0ACyALIQkLQX8hCCAHLwEiIg9BAksNAUEEIAcvASQiECAPQQF0amsiBkEASA0BIAZBAXQgBy8BJiISayIGQQBIDQEgBkEBdCAHLwEoIhNrIgZBAEgNASAGQQF0IAcvASoiFGsiBkEASA0BIAZBAXQgBy8BLCIVayIGQQBIDQEgBkEBdCAHLwEuIhZrIgZBAEgNASAGQQF0IAcvATAiF2siBkEASA0BIAZBAXQgBy8BMiIZayIGQQBIDQEgBkEBdCAHLwE0IhxrIgZBAEgNASAGQQF0IAcvATYiDWsiBkEASA0BIAZBAXQgBy8BOCIYayIGQQBIDQEgBkEBdCAHLwE6IgxrIgZBAEgNASAGQQF0IAcvATwiCmsiBkEASA0BIAZBAXQgEWsiBkEASA0BIAZBACAARSAOchsNASAJIBtLIRpBACEIIAdBADsBAiAHIA87AQQgByAPIBBqIgY7AQYgByAGIBJqIgY7AQggByAGIBNqIgY7AQogByAGIBRqIgY7AQwgByAGIBVqIgY7AQ4gByAGIBZqIgY7ARAgByAGIBdqIgY7ARIgByAGIBlqIgY7ARQgByAGIBxqIgY7ARYgByAGIA1qIgY7ARggByAGIBhqIgY7ARogByAGIAxqIgY7ARwgByAGIApqOwEeAkAgAkUNACACQQFHBEAgAkF+cSEGA0AgASAIQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAg7AQALIAEgCEEBciIMQQF0ai8BACIKBEAgByAKQQF0aiIKIAovAQAiCkEBajsBACAFIApBAXRqIAw7AQALIAhBAmohCCAGQQJrIgYNAAsLIAJBAXFFDQAgASAIQQF0ai8BACICRQ0AIAcgAkEBdGoiAiACLwEAIgJBAWo7AQAgBSACQQF0aiAIOwEACyAJIBsgGhshDUEUIRBBACEWIAUiCiEYQQAhEgJAAkACQCAADgICAAELQQEhCCANQQpLDQNBgQIhEEHw2QAhGEGw2QAhCkEBIRIMAQsgAEECRiEWQQAhEEHw2gAhGEGw2gAhCiAAQQJHBEAMAQtBASEIIA1BCUsNAgtBASANdCITQQFrIRwgAygCACEUQQAhFSANIQZBACEPQQAhDkF/IQIDQEEBIAZ0IRoCQANAIAkgD2shFwJAIAUgFUEBdGovAQAiCCAQTwRAIAogCCAQa0EBdCIAai8BACERIAAgGGotAAAhAAwBC0EAQeAAIAhBAWogEEkiBhshACAIQQAgBhshEQsgDiAPdiEMQX8gF3QhBiAaIQgDQCAUIAYgCGoiCCAMakECdGoiGSAROwECIBkgFzoAASAZIAA6AAAgCA0AC0EBIAlBAWt0IQYDQCAGIgBBAXYhBiAAIA5xDQALIAdBIGogCUEBdGoiBiAGLwEAQQFrIgY7AQAgAEEBayAOcSAAakEAIAAbIQ4gFUEBaiEVIAZB//8DcUUEQCAJIAtGDQIgASAFIBVBAXRqLwEAQQF0ai8BACEJCyAJIA1NDQAgDiAccSIAIAJGDQALQQEgCSAPIA0gDxsiD2siBnQhAiAJIAtJBEAgCyAPayEMIAkhCAJAA0AgAiAHQSBqIAhBAXRqLwEAayICQQFIDQEgAkEBdCECIAZBAWoiBiAPaiIIIAtJDQALIAwhBgtBASAGdCECC0EBIQggEiACIBNqIhNBtApLcQ0DIBYgE0HQBEtxDQMgAygCACICIABBAnRqIgggDToAASAIIAY6AAAgCCAUIBpBAnRqIhQgAmtBAnY7AQIgACECDAELCyAOBEAgFCAOQQJ0aiIAQQA7AQIgACAXOgABIABBwAA6AAALIAMgAygCACATQQJ0ajYCAAsgBCANNgIAQQAhCAsgCAusAQICfgF/IAFBAmqtIQIgACkDmC4hAwJAIAAoAqAuIgFBA2oiBEE/TQRAIAIgAa2GIAOEIQIMAQsgAUHAAEYEQCAAKAIEIAAoAhBqIAM3AAAgACAAKAIQQQhqNgIQQQMhBAwBCyAAKAIEIAAoAhBqIAIgAa2GIAOENwAAIAAgACgCEEEIajYCECABQT1rIQQgAkHAACABa62IIQILIAAgAjcDmC4gACAENgKgLguXAwICfgN/QYDJADMBACECIAApA5guIQMCQCAAKAKgLiIFQYLJAC8BACIGaiIEQT9NBEAgAiAFrYYgA4QhAgwBCyAFQcAARgRAIAAoAgQgACgCEGogAzcAACAAIAAoAhBBCGo2AhAgBiEEDAELIAAoAgQgACgCEGogAiAFrYYgA4Q3AAAgACAAKAIQQQhqNgIQIARBQGohBCACQcAAIAVrrYghAgsgACACNwOYLiAAIAQ2AqAuIAEEQAJAIARBOU4EQCAAKAIEIAAoAhBqIAI3AAAgACAAKAIQQQhqNgIQDAELIARBGU4EQCAAKAIEIAAoAhBqIAI+AAAgACAAKAIQQQRqNgIQIAAgACkDmC5CIIgiAjcDmC4gACAAKAKgLkEgayIENgKgLgsgBEEJTgR/IAAoAgQgACgCEGogAj0AACAAIAAoAhBBAmo2AhAgACkDmC5CEIghAiAAKAKgLkEQawUgBAtBAUgNACAAIAAoAhAiAUEBajYCECABIAAoAgRqIAI8AAALIABBADYCoC4gAEIANwOYLgsL8hQBEn8gASgCCCICKAIAIQUgAigCDCEHIAEoAgAhCCAAQoCAgIDQxwA3A6ApQQAhAgJAAkAgB0EASgRAQX8hDANAAkAgCCACQQJ0aiIDLwEABEAgACAAKAKgKUEBaiIDNgKgKSAAIANBAnRqQawXaiACNgIAIAAgAmpBqClqQQA6AAAgAiEMDAELIANBADsBAgsgAkEBaiICIAdHDQALIABB/C1qIQ8gAEH4LWohESAAKAKgKSIEQQFKDQIMAQsgAEH8LWohDyAAQfgtaiERQX8hDAsDQCAAIARBAWoiAjYCoCkgACACQQJ0akGsF2ogDEEBaiIDQQAgDEECSCIGGyICNgIAIAggAkECdCIEakEBOwEAIAAgAmpBqClqQQA6AAAgACAAKAL4LUEBazYC+C0gBQRAIA8gDygCACAEIAVqLwECazYCAAsgAyAMIAYbIQwgACgCoCkiBEECSA0ACwsgASAMNgIEIARBAXYhBgNAIAAgBkECdGpBrBdqKAIAIQkCQCAGIgJBAXQiAyAESg0AIAggCUECdGohCiAAIAlqQagpaiENIAYhBQNAAkAgAyAETgRAIAMhAgwBCyAIIABBrBdqIgIgA0EBciIEQQJ0aigCACILQQJ0ai8BACIOIAggAiADQQJ0aigCACIQQQJ0ai8BACICTwRAIAIgDkcEQCADIQIMAgsgAyECIABBqClqIgMgC2otAAAgAyAQai0AAEsNAQsgBCECCyAKLwEAIgQgCCAAIAJBAnRqQawXaigCACIDQQJ0ai8BACILSQRAIAUhAgwCCwJAIAQgC0cNACANLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAAgAkECdGpBrBdqIAk2AgAgBkECTgRAIAZBAWshBiAAKAKgKSEEDAELCyAAKAKgKSEDA0AgByEGIAAgA0EBayIENgKgKSAAKAKwFyEKIAAgACADQQJ0akGsF2ooAgAiCTYCsBdBASECAkAgA0EDSA0AIAggCUECdGohDSAAIAlqQagpaiELQQIhA0EBIQUDQAJAIAMgBE4EQCADIQIMAQsgCCAAQawXaiICIANBAXIiB0ECdGooAgAiBEECdGovAQAiDiAIIAIgA0ECdGooAgAiEEECdGovAQAiAk8EQCACIA5HBEAgAyECDAILIAMhAiAAQagpaiIDIARqLQAAIAMgEGotAABLDQELIAchAgsgDS8BACIHIAggACACQQJ0akGsF2ooAgAiA0ECdGovAQAiBEkEQCAFIQIMAgsCQCAEIAdHDQAgCy0AACAAIANqQagpai0AAEsNACAFIQIMAgsgACAFQQJ0akGsF2ogAzYCACACIQUgAkEBdCIDIAAoAqApIgRMDQALC0ECIQMgAEGsF2oiByACQQJ0aiAJNgIAIAAgACgCpClBAWsiBTYCpCkgACgCsBchAiAHIAVBAnRqIAo2AgAgACAAKAKkKUEBayIFNgKkKSAHIAVBAnRqIAI2AgAgCCAGQQJ0aiINIAggAkECdGoiBS8BACAIIApBAnRqIgQvAQBqOwEAIABBqClqIgkgBmoiCyACIAlqLQAAIgIgCSAKai0AACIKIAIgCksbQQFqOgAAIAUgBjsBAiAEIAY7AQIgACAGNgKwF0EBIQVBASECAkAgACgCoCkiBEECSA0AA0AgDS8BACIKIAggAAJ/IAMgAyAETg0AGiAIIAcgA0EBciICQQJ0aigCACIEQQJ0ai8BACIOIAggByADQQJ0aigCACIQQQJ0ai8BACISTwRAIAMgDiASRw0BGiADIAQgCWotAAAgCSAQai0AAEsNARoLIAILIgJBAnRqQawXaigCACIDQQJ0ai8BACIESQRAIAUhAgwCCwJAIAQgCkcNACALLQAAIAAgA2pBqClqLQAASw0AIAUhAgwCCyAAIAVBAnRqQawXaiADNgIAIAIhBSACQQF0IgMgACgCoCkiBEwNAAsLIAZBAWohByAAIAJBAnRqQawXaiAGNgIAIAAoAqApIgNBAUoNAAsgACAAKAKkKUEBayICNgKkKSAAQawXaiIDIAJBAnRqIAAoArAXNgIAIAEoAgQhCSABKAIIIgIoAhAhBiACKAIIIQogAigCBCEQIAIoAgAhDSABKAIAIQcgAEGkF2pCADcBACAAQZwXakIANwEAIABBlBdqQgA3AQAgAEGMF2oiAUIANwEAQQAhBSAHIAMgACgCpClBAnRqKAIAQQJ0akEAOwECAkAgACgCpCkiAkG7BEoNACACQQFqIQIDQCAHIAAgAkECdGpBrBdqKAIAIgRBAnQiEmoiCyAHIAsvAQJBAnRqLwECIgNBAWogBiADIAZJGyIOOwECIAMgBk8hEwJAIAQgCUoNACAAIA5BAXRqQYwXaiIDIAMvAQBBAWo7AQBBACEDIAQgCk4EQCAQIAQgCmtBAnRqKAIAIQMLIBEgESgCACALLwEAIgQgAyAOamxqNgIAIA1FDQAgDyAPKAIAIAMgDSASai8BAmogBGxqNgIACyAFIBNqIQUgAkEBaiICQb0ERw0ACyAFRQ0AIAAgBkEBdGpBjBdqIQQDQCAGIQIDQCAAIAIiA0EBayICQQF0akGMF2oiDy8BACIKRQ0ACyAPIApBAWs7AQAgACADQQF0akGMF2oiAiACLwEAQQJqOwEAIAQgBC8BAEEBayIDOwEAIAVBAkohAiAFQQJrIQUgAg0ACyAGRQ0AQb0EIQIDQCADQf//A3EiBQRAA0AgACACQQFrIgJBAnRqQawXaigCACIDIAlKDQAgByADQQJ0aiIDLwECIAZHBEAgESARKAIAIAYgAy8BAGxqIgQ2AgAgESAEIAMvAQAgAy8BAmxrNgIAIAMgBjsBAgsgBUEBayIFDQALCyAGQQFrIgZFDQEgACAGQQF0akGMF2ovAQAhAwwACwALIwBBIGsiAiABIgAvAQBBAXQiATsBAiACIAEgAC8BAmpBAXQiATsBBCACIAEgAC8BBGpBAXQiATsBBiACIAEgAC8BBmpBAXQiATsBCCACIAEgAC8BCGpBAXQiATsBCiACIAEgAC8BCmpBAXQiATsBDCACIAEgAC8BDGpBAXQiATsBDiACIAEgAC8BDmpBAXQiATsBECACIAEgAC8BEGpBAXQiATsBEiACIAEgAC8BEmpBAXQiATsBFCACIAEgAC8BFGpBAXQiATsBFiACIAEgAC8BFmpBAXQiATsBGCACIAEgAC8BGGpBAXQiATsBGiACIAEgAC8BGmpBAXQiATsBHCACIAAvARwgAWpBAXQ7AR5BACEAIAxBAE4EQANAIAggAEECdGoiAy8BAiIBBEAgAiABQQF0aiIFIAUvAQAiBUEBajsBACADIAWtQoD+A4NCCIhCgpCAgQh+QpDCiKKIAYNCgYKEiBB+QiCIp0H/AXEgBUH/AXGtQoKQgIEIfkKQwoiiiAGDQoGChIgQfkIYiKdBgP4DcXJBECABa3Y7AQALIAAgDEchASAAQQFqIQAgAQ0ACwsLcgEBfyMAQRBrIgQkAAJ/QQAgAEUNABogAEEIaiEAIAFFBEAgAlBFBEAgAARAIABBADYCBCAAQRI2AgALQQAMAgtBAEIAIAMgABA6DAELIAQgAjcDCCAEIAE2AgAgBEIBIAMgABA6CyEAIARBEGokACAACyIAIAAgASACIAMQJiIARQRAQQAPCyAAKAIwQQAgAiADECULAwABC8gFAQR/IABB//8DcSEDIABBEHYhBEEBIQAgAkEBRgRAIAMgAS0AAGpB8f8DcCIAIARqQfH/A3BBEHQgAHIPCwJAIAEEfyACQRBJDQECQCACQa8rSwRAA0AgAkGwK2shAkG1BSEFIAEhAANAIAMgAC0AAGoiAyAEaiADIAAtAAFqIgNqIAMgAC0AAmoiA2ogAyAALQADaiIDaiADIAAtAARqIgNqIAMgAC0ABWoiA2ogAyAALQAGaiIDaiADIAAtAAdqIgNqIQQgBQRAIABBCGohACAFQQFrIQUMAQsLIARB8f8DcCEEIANB8f8DcCEDIAFBsCtqIQEgAkGvK0sNAAsgAkEISQ0BCwNAIAMgAS0AAGoiACAEaiAAIAEtAAFqIgBqIAAgAS0AAmoiAGogACABLQADaiIAaiAAIAEtAARqIgBqIAAgAS0ABWoiAGogACABLQAGaiIAaiAAIAEtAAdqIgNqIQQgAUEIaiEBIAJBCGsiAkEHSw0ACwsCQCACRQ0AIAJBAWshBiACQQNxIgUEQCABIQADQCACQQFrIQIgAyAALQAAaiIDIARqIQQgAEEBaiIBIQAgBUEBayIFDQALCyAGQQNJDQADQCADIAEtAABqIgAgAS0AAWoiBSABLQACaiIGIAEtAANqIgMgBiAFIAAgBGpqamohBCABQQRqIQEgAkEEayICDQALCyADQfH/A3AgBEHx/wNwQRB0cgVBAQsPCwJAIAJFDQAgAkEBayEGIAJBA3EiBQRAIAEhAANAIAJBAWshAiADIAAtAABqIgMgBGohBCAAQQFqIgEhACAFQQFrIgUNAAsLIAZBA0kNAANAIAMgAS0AAGoiACABLQABaiIFIAEtAAJqIgYgAS0AA2oiAyAGIAUgACAEampqaiEEIAFBBGohASACQQRrIgINAAsLIANB8f8DcCAEQfH/A3BBEHRyCx8AIAAgAiADQcCAASgCABEAACEAIAEgAiADEAcaIAALIwAgACAAKAJAIAIgA0HUgAEoAgARAAA2AkAgASACIAMQBxoLzSoCGH8HfiAAKAIMIgIgACgCECIDaiEQIAMgAWshASAAKAIAIgUgACgCBGohA0F/IAAoAhwiBygCpAF0IQRBfyAHKAKgAXQhCyAHKAI4IQwCf0EAIAcoAiwiEUUNABpBACACIAxJDQAaIAJBhAJqIAwgEWpNCyEWIBBBgwJrIRMgASACaiEXIANBDmshFCAEQX9zIRggC0F/cyESIAcoApwBIRUgBygCmAEhDSAHKAKIASEIIAc1AoQBIR0gBygCNCEOIAcoAjAhGSAQQQFqIQ8DQCAIQThyIQYgBSAIQQN2QQdxayELAn8gAiANIAUpAAAgCK2GIB2EIh2nIBJxQQJ0IgFqIgMtAAAiBA0AGiACIAEgDWoiAS0AAjoAACAGIAEtAAEiAWshBiACQQFqIA0gHSABrYgiHacgEnFBAnQiAWoiAy0AACIEDQAaIAIgASANaiIDLQACOgABIAYgAy0AASIDayEGIA0gHSADrYgiHacgEnFBAnRqIgMtAAAhBCACQQJqCyEBIAtBB2ohBSAGIAMtAAEiAmshCCAdIAKtiCEdAkACQAJAIARB/wFxRQ0AAkACQAJAAkACQANAIARBEHEEQCAVIB0gBK1CD4OIIhqnIBhxQQJ0aiECAn8gCCAEQQ9xIgZrIgRBG0sEQCAEIQggBQwBCyAEQThyIQggBSkAACAErYYgGoQhGiAFIARBA3ZrQQdqCyELIAMzAQIhGyAIIAItAAEiA2shCCAaIAOtiCEaIAItAAAiBEEQcQ0CA0AgBEHAAHFFBEAgCCAVIAIvAQJBAnRqIBqnQX8gBHRBf3NxQQJ0aiICLQABIgNrIQggGiADrYghGiACLQAAIgRBEHFFDQEMBAsLIAdB0f4ANgIEIABB7A42AhggGiEdDAMLIARB/wFxIgJBwABxRQRAIAggDSADLwECQQJ0aiAdp0F/IAJ0QX9zcUECdGoiAy0AASICayEIIB0gAq2IIR0gAy0AACIERQ0HDAELCyAEQSBxBEAgB0G//gA2AgQgASECDAgLIAdB0f4ANgIEIABB0A42AhggASECDAcLIB1BfyAGdEF/c62DIBt8IhunIQUgCCAEQQ9xIgNrIQggGiAErUIPg4ghHSABIBdrIgYgAjMBAiAaQX8gA3RBf3Otg3ynIgRPDQIgBCAGayIGIBlNDQEgBygCjEdFDQEgB0HR/gA2AgQgAEG5DDYCGAsgASECIAshBQwFCwJAIA5FBEAgDCARIAZraiEDDAELIAYgDk0EQCAMIA4gBmtqIQMMAQsgDCARIAYgDmsiBmtqIQMgBSAGTQ0AIAUgBmshBQJAAkAgASADTSABIA8gAWusIhogBq0iGyAaIBtUGyIapyIGaiICIANLcQ0AIAMgBmogAUsgASADT3ENACABIAMgBhAHGiACIQEMAQsgASADIAMgAWsiASABQR91IgFqIAFzIgIQByACaiEBIBogAq0iHn0iHFANACACIANqIQIDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgASACKQAANwAAIAEgAikAGDcAGCABIAIpABA3ABAgASACKQAINwAIIBpCIH0hGiACQSBqIQIgAUEgaiEBIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAEgAikAADcAACABIAIpABg3ABggASACKQAQNwAQIAEgAikACDcACCABIAIpADg3ADggASACKQAwNwAwIAEgAikAKDcAKCABIAIpACA3ACAgASACKQBYNwBYIAEgAikAUDcAUCABIAIpAEg3AEggASACKQBANwBAIAEgAikAYDcAYCABIAIpAGg3AGggASACKQBwNwBwIAEgAikAeDcAeCACQYABaiECIAFBgAFqIQEgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAEgAikAADcAACABIAIpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCABIAIpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCABIAIoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCABIAIvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCABIAItAAA6AAAgAkEBaiECIAFBAWohAQsgHEIAUg0ACwsgDiEGIAwhAwsgBSAGSwRAAkACQCABIANNIAEgDyABa6wiGiAGrSIbIBogG1QbIhqnIglqIgIgA0txDQAgAyAJaiABSyABIANPcQ0AIAEgAyAJEAcaDAELIAEgAyADIAFrIgEgAUEfdSIBaiABcyIBEAcgAWohAiAaIAGtIh59IhxQDQAgASADaiEBA0ACQCAcIB4gHCAeVBsiG0IgVARAIBshGgwBCyAbIhpCIH0iIEIFiEIBfEIDgyIfUEUEQANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCAaQiB9IRogAUEgaiEBIAJBIGohAiAfQgF9Ih9CAFINAAsLICBC4ABUDQADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggAiABKQA4NwA4IAIgASkAMDcAMCACIAEpACg3ACggAiABKQAgNwAgIAIgASkAWDcAWCACIAEpAFA3AFAgAiABKQBINwBIIAIgASkAQDcAQCACIAEpAGA3AGAgAiABKQBoNwBoIAIgASkAcDcAcCACIAEpAHg3AHggAUGAAWohASACQYABaiECIBpCgAF9IhpCH1YNAAsLIBpCEFoEQCACIAEpAAA3AAAgAiABKQAINwAIIBpCEH0hGiACQRBqIQIgAUEQaiEBCyAaQghaBEAgAiABKQAANwAAIBpCCH0hGiACQQhqIQIgAUEIaiEBCyAaQgRaBEAgAiABKAAANgAAIBpCBH0hGiACQQRqIQIgAUEEaiEBCyAaQgJaBEAgAiABLwAAOwAAIBpCAn0hGiACQQJqIQIgAUECaiEBCyAcIBt9IRwgGlBFBEAgAiABLQAAOgAAIAJBAWohAiABQQFqIQELIBxCAFINAAsLIAUgBmshAUEAIARrIQUCQCAEQQdLBEAgBCEDDAELIAEgBE0EQCAEIQMMAQsgAiAEayEFA0ACQCACIAUpAAA3AAAgBEEBdCEDIAEgBGshASACIARqIQIgBEEDSw0AIAMhBCABIANLDQELC0EAIANrIQULIAIgBWohBAJAIAUgDyACa6wiGiABrSIbIBogG1QbIhqnIgFIIAVBf0pxDQAgBUEBSCABIARqIAJLcQ0AIAIgBCABEAcgAWohAgwDCyACIAQgAyADQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANAiABIARqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAILAkAgASADTSABIA8gAWusIhogBa0iGyAaIBtUGyIapyIEaiICIANLcQ0AIAMgBGogAUsgASADT3ENACABIAMgBBAHGgwCCyABIAMgAyABayIBIAFBH3UiAWogAXMiARAHIAFqIQIgGiABrSIefSIcUA0BIAEgA2ohAQNAAkAgHCAeIBwgHlQbIhtCIFQEQCAbIRoMAQsgGyIaQiB9IiBCBYhCAXxCA4MiH1BFBEADQCACIAEpAAA3AAAgAiABKQAYNwAYIAIgASkAEDcAECACIAEpAAg3AAggGkIgfSEaIAFBIGohASACQSBqIQIgH0IBfSIfQgBSDQALCyAgQuAAVA0AA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIAIgASkAODcAOCACIAEpADA3ADAgAiABKQAoNwAoIAIgASkAIDcAICACIAEpAFg3AFggAiABKQBQNwBQIAIgASkASDcASCACIAEpAEA3AEAgAiABKQBgNwBgIAIgASkAaDcAaCACIAEpAHA3AHAgAiABKQB4NwB4IAFBgAFqIQEgAkGAAWohAiAaQoABfSIaQh9WDQALCyAaQhBaBEAgAiABKQAANwAAIAIgASkACDcACCAaQhB9IRogAkEQaiECIAFBEGohAQsgGkIIWgRAIAIgASkAADcAACAaQgh9IRogAkEIaiECIAFBCGohAQsgGkIEWgRAIAIgASgAADYAACAaQgR9IRogAkEEaiECIAFBBGohAQsgGkICWgRAIAIgAS8AADsAACAaQgJ9IRogAkECaiECIAFBAmohAQsgHCAbfSEcIBpQRQRAIAIgAS0AADoAACACQQFqIQIgAUEBaiEBCyAcUEUNAAsMAQsCQAJAIBYEQAJAIAQgBUkEQCAHKAKYRyAESw0BCyABIARrIQMCQEEAIARrIgVBf0ogDyABa6wiGiAbIBogG1QbIhqnIgIgBUpxDQAgBUEBSCACIANqIAFLcQ0AIAEgAyACEAcgAmohAgwFCyABIAMgBCAEQR91IgFqIAFzIgEQByABaiECIBogAa0iHn0iHFANBCABIANqIQEDQAJAIBwgHiAcIB5UGyIbQiBUBEAgGyEaDAELIBsiGkIgfSIgQgWIQgF8QgODIh9QRQRAA0AgAiABKQAANwAAIAIgASkAGDcAGCACIAEpABA3ABAgAiABKQAINwAIIBpCIH0hGiABQSBqIQEgAkEgaiECIB9CAX0iH0IAUg0ACwsgIELgAFQNAANAIAIgASkAADcAACACIAEpABg3ABggAiABKQAQNwAQIAIgASkACDcACCACIAEpADg3ADggAiABKQAwNwAwIAIgASkAKDcAKCACIAEpACA3ACAgAiABKQBYNwBYIAIgASkAUDcAUCACIAEpAEg3AEggAiABKQBANwBAIAIgASkAYDcAYCACIAEpAGg3AGggAiABKQBwNwBwIAIgASkAeDcAeCABQYABaiEBIAJBgAFqIQIgGkKAAX0iGkIfVg0ACwsgGkIQWgRAIAIgASkAADcAACACIAEpAAg3AAggGkIQfSEaIAJBEGohAiABQRBqIQELIBpCCFoEQCACIAEpAAA3AAAgGkIIfSEaIAJBCGohAiABQQhqIQELIBpCBFoEQCACIAEoAAA2AAAgGkIEfSEaIAJBBGohAiABQQRqIQELIBpCAloEQCACIAEvAAA7AAAgGkICfSEaIAJBAmohAiABQQJqIQELIBwgG30hHCAaUEUEQCACIAEtAAA6AAAgAkEBaiECIAFBAWohAQsgHFBFDQALDAQLIBAgAWsiCUEBaiIGIAUgBSAGSxshAyABIARrIQIgAUEHcUUNAiADRQ0CIAEgAi0AADoAACACQQFqIQIgAUEBaiIGQQdxQQAgA0EBayIFGw0BIAYhASAFIQMgCSEGDAILAkAgBCAFSQRAIAcoAphHIARLDQELIAEgASAEayIGKQAANwAAIAEgBUEBa0EHcUEBaiIDaiECIAUgA2siBEUNAyADIAZqIQEDQCACIAEpAAA3AAAgAUEIaiEBIAJBCGohAiAEQQhrIgQNAAsMAwsgASAEIAUQPyECDAILIAEgAi0AADoAASAJQQFrIQYgA0ECayEFIAJBAWohAgJAIAFBAmoiCkEHcUUNACAFRQ0AIAEgAi0AADoAAiAJQQJrIQYgA0EDayEFIAJBAWohAgJAIAFBA2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAAyAJQQNrIQYgA0EEayEFIAJBAWohAgJAIAFBBGoiCkEHcUUNACAFRQ0AIAEgAi0AADoABCAJQQRrIQYgA0EFayEFIAJBAWohAgJAIAFBBWoiCkEHcUUNACAFRQ0AIAEgAi0AADoABSAJQQVrIQYgA0EGayEFIAJBAWohAgJAIAFBBmoiCkEHcUUNACAFRQ0AIAEgAi0AADoABiAJQQZrIQYgA0EHayEFIAJBAWohAgJAIAFBB2oiCkEHcUUNACAFRQ0AIAEgAi0AADoAByAJQQdrIQYgA0EIayEDIAFBCGohASACQQFqIQIMBgsgCiEBIAUhAwwFCyAKIQEgBSEDDAQLIAohASAFIQMMAwsgCiEBIAUhAwwCCyAKIQEgBSEDDAELIAohASAFIQMLAkACQCAGQRdNBEAgA0UNASADQQFrIQUgA0EHcSIEBEADQCABIAItAAA6AAAgA0EBayEDIAFBAWohASACQQFqIQIgBEEBayIEDQALCyAFQQdJDQEDQCABIAItAAA6AAAgASACLQABOgABIAEgAi0AAjoAAiABIAItAAM6AAMgASACLQAEOgAEIAEgAi0ABToABSABIAItAAY6AAYgASACLQAHOgAHIAFBCGohASACQQhqIQIgA0EIayIDDQALDAELIAMNAQsgASECDAELIAEgBCADED8hAgsgCyEFDAELIAEgAy0AAjoAACABQQFqIQILIAUgFE8NACACIBNJDQELCyAAIAI2AgwgACAFIAhBA3ZrIgE2AgAgACATIAJrQYMCajYCECAAIBQgAWtBDmo2AgQgByAIQQdxIgA2AogBIAcgHUJ/IACthkJ/hYM+AoQBC+cFAQR/IAMgAiACIANLGyEEIAAgAWshAgJAIABBB3FFDQAgBEUNACAAIAItAAA6AAAgA0EBayEGIAJBAWohAiAAQQFqIgdBB3FBACAEQQFrIgUbRQRAIAchACAFIQQgBiEDDAELIAAgAi0AADoAASADQQJrIQYgBEECayEFIAJBAWohAgJAIABBAmoiB0EHcUUNACAFRQ0AIAAgAi0AADoAAiADQQNrIQYgBEEDayEFIAJBAWohAgJAIABBA2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAAyADQQRrIQYgBEEEayEFIAJBAWohAgJAIABBBGoiB0EHcUUNACAFRQ0AIAAgAi0AADoABCADQQVrIQYgBEEFayEFIAJBAWohAgJAIABBBWoiB0EHcUUNACAFRQ0AIAAgAi0AADoABSADQQZrIQYgBEEGayEFIAJBAWohAgJAIABBBmoiB0EHcUUNACAFRQ0AIAAgAi0AADoABiADQQdrIQYgBEEHayEFIAJBAWohAgJAIABBB2oiB0EHcUUNACAFRQ0AIAAgAi0AADoAByADQQhrIQMgBEEIayEEIABBCGohACACQQFqIQIMBgsgByEAIAUhBCAGIQMMBQsgByEAIAUhBCAGIQMMBAsgByEAIAUhBCAGIQMMAwsgByEAIAUhBCAGIQMMAgsgByEAIAUhBCAGIQMMAQsgByEAIAUhBCAGIQMLAkAgA0EXTQRAIARFDQEgBEEBayEBIARBB3EiAwRAA0AgACACLQAAOgAAIARBAWshBCAAQQFqIQAgAkEBaiECIANBAWsiAw0ACwsgAUEHSQ0BA0AgACACLQAAOgAAIAAgAi0AAToAASAAIAItAAI6AAIgACACLQADOgADIAAgAi0ABDoABCAAIAItAAU6AAUgACACLQAGOgAGIAAgAi0ABzoAByAAQQhqIQAgAkEIaiECIARBCGsiBA0ACwwBCyAERQ0AIAAgASAEED8hAAsgAAvyCAEXfyAAKAJoIgwgACgCMEGGAmsiBWtBACAFIAxJGyENIAAoAnQhAiAAKAKQASEPIAAoAkgiDiAMaiIJIAAoAnAiBUECIAUbIgVBAWsiBmoiAy0AASESIAMtAAAhEyAGIA5qIQZBAyEDIAAoApQBIRYgACgCPCEUIAAoAkwhECAAKAI4IRECQAJ/IAVBA0kEQCANIQggDgwBCyAAIABBACAJLQABIAAoAnwRAAAgCS0AAiAAKAJ8EQAAIQoDQCAAIAogAyAJai0AACAAKAJ8EQAAIQogACgCUCAKQQF0ai8BACIIIAEgCCABQf//A3FJIggbIQEgA0ECayAHIAgbIQcgA0EBaiIDIAVNDQALIAFB//8DcSAHIA1qIghB//8DcU0NASAGIAdB//8DcSIDayEGIA4gA2sLIQMCQAJAIAwgAUH//wNxTQ0AIAIgAkECdiAFIA9JGyEKIA1B//8DcSEVIAlBAmohDyAJQQRrIRcDQAJAAkAgBiABQf//A3EiC2otAAAgE0cNACAGIAtBAWoiAWotAAAgEkcNACADIAtqIgItAAAgCS0AAEcNACABIANqLQAAIAktAAFGDQELIApBAWsiCkUNAiAQIAsgEXFBAXRqLwEAIgEgCEH//wNxSw0BDAILIAJBAmohAUEAIQQgDyECAkADQCACLQAAIAEtAABHDQEgAi0AASABLQABRwRAIARBAXIhBAwCCyACLQACIAEtAAJHBEAgBEECciEEDAILIAItAAMgAS0AA0cEQCAEQQNyIQQMAgsgAi0ABCABLQAERwRAIARBBHIhBAwCCyACLQAFIAEtAAVHBEAgBEEFciEEDAILIAItAAYgAS0ABkcEQCAEQQZyIQQMAgsgAi0AByABLQAHRwRAIARBB3IhBAwCCyABQQhqIQEgAkEIaiECIARB+AFJIRggBEEIaiEEIBgNAAtBgAIhBAsCQAJAIAUgBEECaiICSQRAIAAgCyAHQf//A3FrIgY2AmwgAiAUSwRAIBQPCyACIBZPBEAgAg8LIAkgBEEBaiIFaiIBLQABIRIgAS0AACETAkAgAkEESQ0AIAIgBmogDE8NACAGQf//A3EhCCAEQQFrIQtBACEDQQAhBwNAIBAgAyAIaiARcUEBdGovAQAiASAGQf//A3FJBEAgAyAVaiABTw0IIAMhByABIQYLIANBAWoiAyALTQ0ACyAAIAAgAEEAIAIgF2oiAS0AACAAKAJ8EQAAIAEtAAEgACgCfBEAACABLQACIAAoAnwRAAAhASAAKAJQIAFBAXRqLwEAIgEgBkH//wNxTwRAIAdB//8DcSEDIAYhAQwDCyAEQQJrIgdB//8DcSIDIBVqIAFPDQYMAgsgAyAFaiEGIAIhBQsgCkEBayIKRQ0DIBAgCyARcUEBdGovAQAiASAIQf//A3FNDQMMAQsgByANaiEIIA4gA2siAyAFaiEGIAIhBQsgDCABQf//A3FLDQALCyAFDwsgAiEFCyAFIAAoAjwiACAAIAVLGwuGBQETfyAAKAJ0IgMgA0ECdiAAKAJwIgNBAiADGyIDIAAoApABSRshByAAKAJoIgogACgCMEGGAmsiBWtB//8DcUEAIAUgCkkbIQwgACgCSCIIIApqIgkgA0EBayICaiIFLQABIQ0gBS0AACEOIAlBAmohBSACIAhqIQsgACgClAEhEiAAKAI8IQ8gACgCTCEQIAAoAjghESAAKAKIAUEFSCETA0ACQCAKIAFB//8DcU0NAANAAkACQCALIAFB//8DcSIGai0AACAORw0AIAsgBkEBaiIBai0AACANRw0AIAYgCGoiAi0AACAJLQAARw0AIAEgCGotAAAgCS0AAUYNAQsgB0EBayIHRQ0CIAwgECAGIBFxQQF0ai8BACIBSQ0BDAILCyACQQJqIQRBACECIAUhAQJAA0AgAS0AACAELQAARw0BIAEtAAEgBC0AAUcEQCACQQFyIQIMAgsgAS0AAiAELQACRwRAIAJBAnIhAgwCCyABLQADIAQtAANHBEAgAkEDciECDAILIAEtAAQgBC0ABEcEQCACQQRyIQIMAgsgAS0ABSAELQAFRwRAIAJBBXIhAgwCCyABLQAGIAQtAAZHBEAgAkEGciECDAILIAEtAAcgBC0AB0cEQCACQQdyIQIMAgsgBEEIaiEEIAFBCGohASACQfgBSSEUIAJBCGohAiAUDQALQYACIQILAkAgAyACQQJqIgFJBEAgACAGNgJsIAEgD0sEQCAPDwsgASASTwRAIAEPCyAIIAJBAWoiA2ohCyADIAlqIgMtAAEhDSADLQAAIQ4gASEDDAELIBMNAQsgB0EBayIHRQ0AIAwgECAGIBFxQQF0ai8BACIBSQ0BCwsgAwvLAQECfwJAA0AgAC0AACABLQAARw0BIAAtAAEgAS0AAUcEQCACQQFyDwsgAC0AAiABLQACRwRAIAJBAnIPCyAALQADIAEtAANHBEAgAkEDcg8LIAAtAAQgAS0ABEcEQCACQQRyDwsgAC0ABSABLQAFRwRAIAJBBXIPCyAALQAGIAEtAAZHBEAgAkEGcg8LIAAtAAcgAS0AB0cEQCACQQdyDwsgAUEIaiEBIABBCGohACACQfgBSSEDIAJBCGohAiADDQALQYACIQILIAIL5wwBB38gAEF/cyEAIAJBF08EQAJAIAFBA3FFDQAgAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAkEBayIEQQAgAUEBaiIDQQNxG0UEQCAEIQIgAyEBDAELIAEtAAEgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohAwJAIAJBAmsiBEUNACADQQNxRQ0AIAEtAAIgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBA2ohAwJAIAJBA2siBEUNACADQQNxRQ0AIAEtAAMgAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBBGohASACQQRrIQIMAgsgBCECIAMhAQwBCyAEIQIgAyEBCyACQRRuIgNBbGwhCQJAIANBAWsiCEUEQEEAIQQMAQsgA0EUbCABakEUayEDQQAhBANAIAEoAhAgB3MiB0EWdkH8B3FB0DhqKAIAIAdBDnZB/AdxQdAwaigCACAHQQZ2QfwHcUHQKGooAgAgB0H/AXFBAnRB0CBqKAIAc3NzIQcgASgCDCAGcyIGQRZ2QfwHcUHQOGooAgAgBkEOdkH8B3FB0DBqKAIAIAZBBnZB/AdxQdAoaigCACAGQf8BcUECdEHQIGooAgBzc3MhBiABKAIIIAVzIgVBFnZB/AdxQdA4aigCACAFQQ52QfwHcUHQMGooAgAgBUEGdkH8B3FB0ChqKAIAIAVB/wFxQQJ0QdAgaigCAHNzcyEFIAEoAgQgBHMiBEEWdkH8B3FB0DhqKAIAIARBDnZB/AdxQdAwaigCACAEQQZ2QfwHcUHQKGooAgAgBEH/AXFBAnRB0CBqKAIAc3NzIQQgASgCACAAcyIAQRZ2QfwHcUHQOGooAgAgAEEOdkH8B3FB0DBqKAIAIABBBnZB/AdxQdAoaigCACAAQf8BcUECdEHQIGooAgBzc3MhACABQRRqIQEgCEEBayIIDQALIAMhAQsgAiAJaiECIAEoAhAgASgCDCABKAIIIAEoAgQgASgCACAAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgBHNzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBB/wFxQQJ0QdAYaigCACAFc3MgAEEIdnMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEH/AXFBAnRB0BhqKAIAIAZzcyAAQQh2cyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQf8BcUECdEHQGGooAgAgB3NzIABBCHZzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyIAQQh2IABB/wFxQQJ0QdAYaigCAHMiAEEIdiAAQf8BcUECdEHQGGooAgBzIgBBCHYgAEH/AXFBAnRB0BhqKAIAcyEAIAFBFGohAQsgAkEHSwRAA0AgAS0AByABLQAGIAEtAAUgAS0ABCABLQADIAEtAAIgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyIAQf8BcXNBAnRB0BhqKAIAIABBCHZzIgBB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBCGohASACQQhrIgJBB0sNAAsLAkAgAkUNACACQQFxBH8gAS0AACAAQf8BcXNBAnRB0BhqKAIAIABBCHZzIQAgAUEBaiEBIAJBAWsFIAILIQMgAkEBRg0AA0AgAS0AASABLQAAIABB/wFxc0ECdEHQGGooAgAgAEEIdnMiAEH/AXFzQQJ0QdAYaigCACAAQQh2cyEAIAFBAmohASADQQJrIgMNAAsLIABBf3MLwgIBA38jAEEQayIIJAACfwJAIAAEQCAEDQEgBVANAQsgBgRAIAZBADYCBCAGQRI2AgALQQAMAQtBgAEQCSIHRQRAIAYEQCAGQQA2AgQgBkEONgIAC0EADAELIAcgATcDCCAHQgA3AwAgB0EoaiIJECogByAFNwMYIAcgBDYCECAHIAM6AGAgB0EANgJsIAdCADcCZCAAKQMYIQEgCEF/NgIIIAhCjoCAgPAANwMAIAdBECAIECQgAUL/gQGDhCIBNwNwIAcgAadBBnZBAXE6AHgCQCACRQ0AIAkgAhBgQX9KDQAgBxAGQQAMAQsgBhBfIgIEQCAAIAAoAjBBAWo2AjAgAiAHNgIIIAJBATYCBCACIAA2AgAgAkI/IAAgB0EAQgBBDkEBEQoAIgEgAUIAUxs3AxgLIAILIQAgCEEQaiQAIAALYgEBf0E4EAkiAUUEQCAABEAgAEEANgIEIABBDjYCAAtBAA8LIAFBADYCCCABQgA3AwAgAUIANwMgIAFCgICAgBA3AiwgAUEAOgAoIAFBADYCFCABQgA3AgwgAUEAOwE0IAELuwEBAX4gASkDACICQgKDUEUEQCAAIAEpAxA3AxALIAJCBINQRQRAIAAgASkDGDcDGAsgAkIIg1BFBEAgACABKQMgNwMgCyACQhCDUEUEQCAAIAEoAig2AigLIAJCIINQRQRAIAAgASgCLDYCLAsgAkLAAINQRQRAIAAgAS8BMDsBMAsgAkKAAYNQRQRAIAAgAS8BMjsBMgsgAkKAAoNQRQRAIAAgASgCNDYCNAsgACAAKQMAIAKENwMAQQALGQAgAUUEQEEADwsgACABKAIAIAEzAQQQGws3AQJ/IABBACABG0UEQCAAIAFGDwsgAC8BBCIDIAEvAQRGBH8gACgCACABKAIAIAMQPQVBAQtFCyIBAX8gAUUEQEEADwsgARAJIgJFBEBBAA8LIAIgACABEAcLKQAgACABIAIgAyAEEEUiAEUEQEEADwsgACACQQAgBBA1IQEgABAGIAELcQEBfgJ/AkAgAkJ/VwRAIAMEQCADQQA2AgQgA0EUNgIACwwBCyAAIAEgAhARIgRCf1cEQCADBEAgAyAAKAIMNgIAIAMgACgCEDYCBAsMAQtBACACIARXDQEaIAMEQCADQQA2AgQgA0ERNgIACwtBfwsLNQAgACABIAJBABAmIgBFBEBBfw8LIAMEQCADIAAtAAk6AAALIAQEQCAEIAAoAkQ2AgALQQAL/AECAn8BfiMAQRBrIgMkAAJAIAAgA0EOaiABQYAGQQAQRiIARQRAIAIhAAwBCyADLwEOIgFBBUkEQCACIQAMAQsgAC0AAEEBRwRAIAIhAAwBCyAAIAGtQv//A4MQFyIBRQRAIAIhAAwBCyABEH0aAkAgARAVIAIEfwJ/IAIvAQQhAEEAIAIoAgAiBEUNABpBACAEIABB1IABKAIAEQAACwVBAAtHBEAgAiEADAELIAEgAS0AAAR+IAEpAwggASkDEH0FQgALIgVC//8DgxATIAWnQf//A3FBgBBBABA1IgBFBEAgAiEADAELIAIQEAsgARAICyADQRBqJAAgAAvmDwIIfwJ+IwBB4ABrIgckAEEeQS4gAxshCwJAAkAgAgRAIAIiBSIGLQAABH4gBikDCCAGKQMQfQVCAAsgC61aDQEgBARAIARBADYCBCAEQRM2AgALQn8hDQwCCyABIAutIAcgBBAtIgUNAEJ/IQ0MAQsgBUIEEBMoAABBoxJBqBIgAxsoAABHBEAgBARAIARBADYCBCAEQRM2AgALQn8hDSACDQEgBRAIDAELIABCADcDICAAQQA2AhggAEL/////DzcDECAAQQA7AQwgAEG/hig2AgggAEEBOgAGIABBADsBBCAAQQA2AgAgAEIANwNIIABBgIDYjXg2AkQgAEIANwMoIABCADcDMCAAQgA3AzggAEFAa0EAOwEAIABCADcDUCAAIAMEf0EABSAFEAwLOwEIIAAgBRAMOwEKIAAgBRAMOwEMIAAgBRAMNgIQIAUQDCEGIAUQDCEJIAdBADYCWCAHQgA3A1AgB0IANwNIIAcgCUEfcTYCPCAHIAZBC3Y2AjggByAGQQV2QT9xNgI0IAcgBkEBdEE+cTYCMCAHIAlBCXZB0ABqNgJEIAcgCUEFdkEPcUEBazYCQCAAIAdBMGoQBTYCFCAAIAUQFTYCGCAAIAUQFa03AyAgACAFEBWtNwMoIAUQDCEIIAUQDCEGIAACfiADBEBBACEJIABBADYCRCAAQQA7AUAgAEEANgI8QgAMAQsgBRAMIQkgACAFEAw2AjwgACAFEAw7AUAgACAFEBU2AkQgBRAVrQs3A0ggBS0AAEUEQCAEBEAgBEEANgIEIARBFDYCAAtCfyENIAINASAFEAgMAQsCQCAALwEMIgpBAXEEQCAKQcAAcQRAIABB//8DOwFSDAILIABBATsBUgwBCyAAQQA7AVILIABBADYCOCAAQgA3AzAgBiAIaiAJaiEKAkAgAgRAIAUtAAAEfiAFKQMIIAUpAxB9BUIACyAKrVoNASAEBEAgBEEANgIEIARBFTYCAAtCfyENDAILIAUQCCABIAqtQQAgBBAtIgUNAEJ/IQ0MAQsCQCAIRQ0AIAAgBSABIAhBASAEEGQiCDYCMCAIRQRAIAQoAgBBEUYEQCAEBEAgBEEANgIEIARBFTYCAAsLQn8hDSACDQIgBRAIDAILIAAtAA1BCHFFDQAgCEECECNBBUcNACAEBEAgBEEANgIEIARBFTYCAAtCfyENIAINASAFEAgMAQsgAEE0aiEIAkAgBkUNACAFIAEgBkEAIAQQRSIMRQRAQn8hDSACDQIgBRAIDAILIAwgBkGAAkGABCADGyAIIAQQbiEGIAwQBiAGRQRAQn8hDSACDQIgBRAIDAILIANFDQAgAEEBOgAECwJAIAlFDQAgACAFIAEgCUEAIAQQZCIBNgI4IAFFBEBCfyENIAINAiAFEAgMAgsgAC0ADUEIcUUNACABQQIQI0EFRw0AIAQEQCAEQQA2AgQgBEEVNgIAC0J/IQ0gAg0BIAUQCAwBCyAAIAAoAjRB9eABIAAoAjAQZzYCMCAAIAAoAjRB9cYBIAAoAjgQZzYCOAJAAkAgACkDKEL/////D1ENACAAKQMgQv////8PUQ0AIAApA0hC/////w9SDQELAkACQAJAIAgoAgAgB0EwakEBQYACQYAEIAMbIAQQRiIBRQRAIAJFDQEMAgsgASAHMwEwEBciAUUEQCAEBEAgBEEANgIEIARBDjYCAAsgAkUNAQwCCwJAIAApAyhC/////w9RBEAgACABEB03AygMAQsgA0UNAEEAIQYCQCABKQMQIg5CCHwiDSAOVA0AIAEpAwggDVQNACABIA03AxBBASEGCyABIAY6AAALIAApAyBC/////w9RBEAgACABEB03AyALAkAgAw0AIAApA0hC/////w9RBEAgACABEB03A0gLIAAoAjxB//8DRw0AIAAgARAVNgI8CyABLQAABH8gASkDECABKQMIUQVBAAsNAiAEBEAgBEEANgIEIARBFTYCAAsgARAIIAINAQsgBRAIC0J/IQ0MAgsgARAICyAFLQAARQRAIAQEQCAEQQA2AgQgBEEUNgIAC0J/IQ0gAg0BIAUQCAwBCyACRQRAIAUQCAtCfyENIAApA0hCf1cEQCAEBEAgBEEWNgIEIARBBDYCAAsMAQsjAEEQayIDJABBASEBAkAgACgCEEHjAEcNAEEAIQECQCAAKAI0IANBDmpBgbICQYAGQQAQRiICBEAgAy8BDiIFQQZLDQELIAQEQCAEQQA2AgQgBEEVNgIACwwBCyACIAWtQv//A4MQFyICRQRAIAQEQCAEQQA2AgQgBEEUNgIACwwBC0EBIQECQAJAAkAgAhAMQQFrDgICAQALQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAILIAApAyhCE1YhAQsgAkICEBMvAABBwYoBRwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAIQfUEBayIFQf8BcUEDTwRAQQAhASAEBEAgBEEANgIEIARBGDYCAAsgAhAIDAELIAMvAQ5BB0cEQEEAIQEgBARAIARBADYCBCAEQRU2AgALIAIQCAwBCyAAIAE6AAYgACAFQf8BcUGBAmo7AVIgACACEAw2AhAgAhAIQQEhAQsgA0EQaiQAIAFFDQAgCCAIKAIAEG02AgAgCiALaq0hDQsgB0HgAGokACANC4ECAQR/IwBBEGsiBCQAAkAgASAEQQxqQcAAQQAQJSIGRQ0AIAQoAgxBBWoiA0GAgARPBEAgAgRAIAJBADYCBCACQRI2AgALDAELQQAgA60QFyIDRQRAIAIEQCACQQA2AgQgAkEONgIACwwBCyADQQEQcCADIAEEfwJ/IAEvAQQhBUEAIAEoAgAiAUUNABpBACABIAVB1IABKAIAEQAACwVBAAsQEiADIAYgBCgCDBAsAn8gAy0AAEUEQCACBEAgAkEANgIEIAJBFDYCAAtBAAwBCyAAIAMtAAAEfiADKQMQBUIAC6dB//8DcSADKAIEEEcLIQUgAxAICyAEQRBqJAAgBQvgAQICfwF+QTAQCSICRQRAIAEEQCABQQA2AgQgAUEONgIAC0EADwsgAkIANwMIIAJBADYCACACQgA3AxAgAkIANwMYIAJCADcDICACQgA3ACUgAFAEQCACDwsCQCAAQv////8AVg0AIACnQQR0EAkiA0UNACACIAM2AgBBACEBQgEhBANAIAMgAUEEdGoiAUIANwIAIAFCADcABSAAIARSBEAgBKchASAEQgF8IQQMAQsLIAIgADcDCCACIAA3AxAgAg8LIAEEQCABQQA2AgQgAUEONgIAC0EAEBAgAhAGQQAL7gECA38BfiMAQRBrIgQkAAJAIARBDGpCBBAXIgNFBEBBfyECDAELAkAgAQRAIAJBgAZxIQUDQAJAIAUgASgCBHFFDQACQCADKQMIQgBUBEAgA0EAOgAADAELIANCADcDECADQQE6AAALIAMgAS8BCBANIAMgAS8BChANIAMtAABFBEAgAEEIaiIABEAgAEEANgIEIABBFDYCAAtBfyECDAQLQX8hAiAAIARBDGpCBBAbQQBIDQMgATMBCiIGUA0AIAAgASgCDCAGEBtBAEgNAwsgASgCACIBDQALC0EAIQILIAMQCAsgBEEQaiQAIAILPAEBfyAABEAgAUGABnEhAQNAIAEgACgCBHEEQCACIAAvAQpqQQRqIQILIAAoAgAiAA0ACwsgAkH//wNxC5wBAQN/IABFBEBBAA8LIAAhAwNAAn8CQAJAIAAvAQgiAUH04AFNBEAgAUEBRg0BIAFB9cYBRg0BDAILIAFBgbICRg0AIAFB9eABRw0BCyAAKAIAIQEgAEEANgIAIAAoAgwQBiAAEAYgASADIAAgA0YbIQMCQCACRQRAQQAhAgwBCyACIAE2AgALIAEMAQsgACICKAIACyIADQALIAMLsgQCBX8BfgJAAkACQCAAIAGtEBciAQRAIAEtAAANAUEAIQAMAgsgBARAIARBADYCBCAEQQ42AgALQQAPC0EAIQADQCABLQAABH4gASkDCCABKQMQfQVCAAtCBFQNASABEAwhByABIAEQDCIGrRATIghFBEBBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAwNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwDCwJAAkBBEBAJIgUEQCAFIAY7AQogBSAHOwEIIAUgAjYCBCAFQQA2AgAgBkUNASAFIAggBhBjIgY2AgwgBg0CIAUQBgtBACECIAQEQCAEQQA2AgQgBEEONgIACyABEAggAEUNBANAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwECyAFQQA2AgwLAkAgAEUEQCAFIQAMAQsgCSAFNgIACyAFIQkgAS0AAA0ACwsCQCABLQAABH8gASkDECABKQMIUQVBAAsNACABIAEtAAAEfiABKQMIIAEpAxB9BUIACyIKQv////8PgxATIQICQCAKpyIFQQNLDQAgAkUNACACQcEUIAUQPUUNAQtBACECIAQEQCAEQQA2AgQgBEEVNgIACyABEAggAEUNAQNAIAAoAgAhASAAKAIMEAYgABAGIAEiAA0ACwwBCyABEAggAwRAIAMgADYCAEEBDwtBASECIABFDQADQCAAKAIAIQEgACgCDBAGIAAQBiABIgANAAsLIAILvgEBBX8gAAR/IAAhAgNAIAIiBCgCACICDQALIAEEQANAIAEiAy8BCCEGIAMoAgAhASAAIQICQAJAA0ACQCACLwEIIAZHDQAgAi8BCiIFIAMvAQpHDQAgBUUNAiACKAIMIAMoAgwgBRA9RQ0CCyACKAIAIgINAAsgA0EANgIAIAQgAzYCACADIQQMAQsgAiACKAIEIAMoAgRBgAZxcjYCBCADQQA2AgAgAygCDBAGIAMQBgsgAQ0ACwsgAAUgAQsLVQICfgF/AkACQCAALQAARQ0AIAApAxAiAkIBfCIDIAJUDQAgAyAAKQMIWA0BCyAAQQA6AAAPCyAAKAIEIgRFBEAPCyAAIAM3AxAgBCACp2ogAToAAAt9AQN/IwBBEGsiAiQAIAIgATYCDEF/IQMCQCAALQAoDQACQCAAKAIAIgRFDQAgBCABEHFBf0oNACAAKAIAIQEgAEEMaiIABEAgACABKAIMNgIAIAAgASgCEDYCBAsMAQsgACACQQxqQgRBExAOQj+HpyEDCyACQRBqJAAgAwvdAQEDfyABIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8PCyAAQQhqIQIgAC0AGEECcQRAIAIEQCACQQA2AgQgAkEZNgIAC0F/DwtBfyEDAkAgACABQQAgAhBTIgRFDQAgACgCUCAEIAIQfkUNAAJ/IAEgACkDMFoEQCAAQQhqBEAgAEEANgIMIABBEjYCCAtBfwwBCyABp0EEdCICIAAoAkBqKAIEECAgACgCQCACaiICQQA2AgQgAhBAQQALDQAgACgCQCABp0EEdGpBAToADEEAIQMLIAMLpgIBBX9BfyEFAkAgACABQQBBABAmRQ0AIAAtABhBAnEEQCAAQQhqIgAEQCAAQQA2AgQgAEEZNgIAC0F/DwsCfyAAKAJAIgQgAaciBkEEdGooAgAiBUUEQCADQYCA2I14RyEHQQMMAQsgBSgCRCADRyEHIAUtAAkLIQggBCAGQQR0aiIEIQYgBCgCBCEEQQAgAiAIRiAHG0UEQAJAIAQNACAGIAUQKyIENgIEIAQNACAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0F/DwsgBCADNgJEIAQgAjoACSAEIAQoAgBBEHI2AgBBAA8LQQAhBSAERQ0AIAQgBCgCAEFvcSIANgIAIABFBEAgBBAgIAZBADYCBEEADwsgBCADNgJEIAQgCDoACQsgBQvjCAIFfwR+IAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtCfw8LIAApAzAhCwJAIANBgMAAcQRAIAAgASADQQAQTCIJQn9SDQELAn4CQAJAIAApAzAiCUIBfCIMIAApAzgiClQEQCAAKAJAIQQMAQsgCkIBhiIJQoAIIAlCgAhUGyIJQhAgCUIQVhsgCnwiCadBBHQiBK0gCkIEhkLw////D4NUDQEgACgCQCAEEDQiBEUNASAAIAk3AzggACAENgJAIAApAzAiCUIBfCEMCyAAIAw3AzAgBCAJp0EEdGoiBEIANwIAIARCADcABSAJDAELIABBCGoEQCAAQQA2AgwgAEEONgIIC0J/CyIJQgBZDQBCfw8LAkAgAUUNAAJ/QQAhBCAJIAApAzBaBEAgAEEIagRAIABBADYCDCAAQRI2AggLQX8MAQsgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAELAkAgAUUNACABLQAARQ0AQX8gASABECJB//8DcSADIABBCGoQNSIERQ0BGiADQYAwcQ0AIARBABAjQQNHDQAgBEECNgIICwJAIAAgAUEAQQAQTCIKQgBTIgENACAJIApRDQAgBBAQIABBCGoEQCAAQQA2AgwgAEEKNgIIC0F/DAELAkAgAUEBIAkgClEbRQ0AAkACfwJAIAAoAkAiASAJpyIFQQR0aiIGKAIAIgMEQCADKAIwIAQQYg0BCyAEIAYoAgQNARogBiAGKAIAECsiAzYCBCAEIAMNARogAEEIagRAIABBADYCDCAAQQ42AggLDAILQQEhByAGKAIAKAIwC0EAQQAgAEEIaiIDECUiCEUNAAJAAkAgASAFQQR0aiIFKAIEIgENACAGKAIAIgENAEEAIQEMAQsgASgCMCIBRQRAQQAhAQwBCyABQQBBACADECUiAUUNAQsgACgCUCAIIAlBACADEE1FDQAgAQRAIAAoAlAgAUEAEH4aCyAFKAIEIQMgBwRAIANFDQIgAy0AAEECcUUNAiADKAIwEBAgBSgCBCIBIAEoAgBBfXEiAzYCACADRQRAIAEQICAFQQA2AgQgBBAQQQAMBAsgASAGKAIAKAIwNgIwIAQQEEEADAMLIAMoAgAiAUECcQRAIAMoAjAQECAFKAIEIgMoAgAhAQsgAyAENgIwIAMgAUECcjYCAEEADAILIAQQEEF/DAELIAQQEEEAC0UNACALIAApAzBRBEBCfw8LIAAoAkAgCadBBHRqED4gACALNwMwQn8PCyAJpyIGQQR0IgEgACgCQGoQQAJAAkAgACgCQCIEIAFqIgMoAgAiBUUNAAJAIAMoAgQiAwRAIAMoAgAiAEEBcUUNAQwCCyAFECshAyAAKAJAIgQgBkEEdGogAzYCBCADRQ0CIAMoAgAhAAsgA0F+NgIQIAMgAEEBcjYCAAsgASAEaiACNgIIIAkPCyAAQQhqBEAgAEEANgIMIABBDjYCCAtCfwteAQF/IwBBEGsiAiQAAn8gACgCJEEBRwRAIABBDGoiAARAIABBADYCBCAAQRI2AgALQX8MAQsgAkEANgIIIAIgATcDACAAIAJCEEEMEA5CP4enCyEAIAJBEGokACAAC9oDAQZ/IwBBEGsiBSQAIAUgAjYCDCMAQaABayIEJAAgBEEIakHA8ABBkAEQBxogBCAANgI0IAQgADYCHCAEQX4gAGsiA0H/////ByADQf////8HSRsiBjYCOCAEIAAgBmoiADYCJCAEIAA2AhggBEEIaiEAIwBB0AFrIgMkACADIAI2AswBIANBoAFqQQBBKBAZIAMgAygCzAE2AsgBAkBBACABIANByAFqIANB0ABqIANBoAFqEEpBAEgNACAAKAJMQQBOIQcgACgCACECIAAsAEpBAEwEQCAAIAJBX3E2AgALIAJBIHEhCAJ/IAAoAjAEQCAAIAEgA0HIAWogA0HQAGogA0GgAWoQSgwBCyAAQdAANgIwIAAgA0HQAGo2AhAgACADNgIcIAAgAzYCFCAAKAIsIQIgACADNgIsIAAgASADQcgBaiADQdAAaiADQaABahBKIAJFDQAaIABBAEEAIAAoAiQRAAAaIABBADYCMCAAIAI2AiwgAEEANgIcIABBADYCECAAKAIUGiAAQQA2AhRBAAsaIAAgACgCACAIcjYCACAHRQ0ACyADQdABaiQAIAYEQCAEKAIcIgAgACAEKAIYRmtBADoAAAsgBEGgAWokACAFQRBqJAALUwEDfwJAIAAoAgAsAABBMGtBCk8NAANAIAAoAgAiAiwAACEDIAAgAkEBajYCACABIANqQTBrIQEgAiwAAUEwa0EKTw0BIAFBCmwhAQwACwALIAELuwIAAkAgAUEUSw0AAkACQAJAAkACQAJAAkACQAJAAkAgAUEJaw4KAAECAwQFBgcICQoLIAIgAigCACIBQQRqNgIAIAAgASgCADYCAA8LIAIgAigCACIBQQRqNgIAIAAgATQCADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATUCADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASkDADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATIBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATMBADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATAAADcDAA8LIAIgAigCACIBQQRqNgIAIAAgATEAADcDAA8LIAIgAigCAEEHakF4cSIBQQhqNgIAIAAgASsDADkDAA8LIAAgAkEAEQcACwubAgAgAEUEQEEADwsCfwJAIAAEfyABQf8ATQ0BAkBB9IIBKAIAKAIARQRAIAFBgH9xQYC/A0YNAwwBCyABQf8PTQRAIAAgAUE/cUGAAXI6AAEgACABQQZ2QcABcjoAAEECDAQLIAFBgLADT0EAIAFBgEBxQYDAA0cbRQRAIAAgAUE/cUGAAXI6AAIgACABQQx2QeABcjoAACAAIAFBBnZBP3FBgAFyOgABQQMMBAsgAUGAgARrQf//P00EQCAAIAFBP3FBgAFyOgADIAAgAUESdkHwAXI6AAAgACABQQZ2QT9xQYABcjoAAiAAIAFBDHZBP3FBgAFyOgABQQQMBAsLQYSEAUEZNgIAQX8FQQELDAELIAAgAToAAEEBCwvjAQECfyACQQBHIQMCQAJAAkAgAEEDcUUNACACRQ0AIAFB/wFxIQQDQCAALQAAIARGDQIgAkEBayICQQBHIQMgAEEBaiIAQQNxRQ0BIAINAAsLIANFDQELAkAgAC0AACABQf8BcUYNACACQQRJDQAgAUH/AXFBgYKECGwhAwNAIAAoAgAgA3MiBEF/cyAEQYGChAhrcUGAgYKEeHENASAAQQRqIQAgAkEEayICQQNLDQALCyACRQ0AIAFB/wFxIQEDQCABIAAtAABGBEAgAA8LIABBAWohACACQQFrIgINAAsLQQALeQEBfAJAIABFDQAgACsDECAAKwMgIgIgAUQAAAAAAAAAACABRAAAAAAAAAAAZBsiAUQAAAAAAADwPyABRAAAAAAAAPA/YxsgACsDKCACoaKgIgEgACsDGKFjRQ0AIAAoAgAgASAAKAIMIAAoAgQRDgAgACABOQMYCwtIAQF8AkAgAEUNACAAKwMQIAArAyAiASAAKwMoIAGhoCIBIAArAxihY0UNACAAKAIAIAEgACgCDCAAKAIEEQ4AIAAgATkDGAsLWgICfgF/An8CQAJAIAAtAABFDQAgACkDECIBQgF8IgIgAVQNACACIAApAwhYDQELIABBADoAAEEADAELQQAgACgCBCIDRQ0AGiAAIAI3AxAgAyABp2otAAALC4IEAgZ/AX4gAEEAIAEbRQRAIAIEQCACQQA2AgQgAkESNgIAC0EADwsCQAJAIAApAwhQDQAgACgCECABLQAAIgQEf0Kl6wohCSABIQMDQCAJIAStQv8Bg3whCSADLQABIgQEQCADQQFqIQMgCUL/////D4NCIX4hCQwBCwsgCacFQYUqCyIEIAAoAgBwQQJ0aiIGKAIAIgNFDQADQAJAIAMoAhwgBEcNACABIAMoAgAQOA0AAkAgAykDCEJ/UQRAIAMoAhghAQJAIAUEQCAFIAE2AhgMAQsgBiABNgIACyADEAYgACAAKQMIQgF9Igk3AwggCbogACgCACIBuER7FK5H4XqEP6JjRQ0BIAFBgQJJDQECf0EAIQMgACgCACIGIAFBAXYiBUcEQCAFEDwiB0UEQCACBEAgAkEANgIEIAJBDjYCAAtBAAwCCwJAIAApAwhCACAGG1AEQCAAKAIQIQQMAQsgACgCECEEA0AgBCADQQJ0aigCACIBBEADQCABKAIYIQIgASAHIAEoAhwgBXBBAnRqIggoAgA2AhggCCABNgIAIAIiAQ0ACwsgA0EBaiIDIAZHDQALCyAEEAYgACAFNgIAIAAgBzYCEAtBAQsNAQwFCyADQn83AxALQQEPCyADIgUoAhgiAw0ACwsgAgRAIAJBADYCBCACQQk2AgALC0EAC6UGAgl/AX4jAEHwAGsiBSQAAkACQCAARQ0AAkAgAQRAIAEpAzAgAlYNAQtBACEDIABBCGoEQCAAQQA2AgwgAEESNgIICwwCCwJAIANBCHENACABKAJAIAKnQQR0aiIGKAIIRQRAIAYtAAxFDQELQQAhAyAAQQhqBEAgAEEANgIMIABBDzYCCAsMAgsgASACIANBCHIgBUE4ahCKAUF/TARAQQAhAyAAQQhqBEAgAEEANgIMIABBFDYCCAsMAgsgA0EDdkEEcSADciIGQQRxIQcgBSkDUCEOIAUvAWghCQJAIANBIHFFIAUvAWpBAEdxIgtFDQAgBA0AIAAoAhwiBA0AQQAhAyAAQQhqBEAgAEEANgIMIABBGjYCCAsMAgsgBSkDWFAEQCAAQQBCAEEAEFIhAwwCCwJAIAdFIgwgCUEAR3EiDUEBckUEQEEAIQMgBUEAOwEwIAUgDjcDICAFIA43AxggBSAFKAJgNgIoIAVC3AA3AwAgASgCACAOIAVBACABIAIgAEEIahBeIgYNAQwDC0EAIQMgASACIAYgAEEIaiIGECYiB0UNAiABKAIAIAUpA1ggBUE4aiAHLwEMQQF2QQNxIAEgAiAGEF4iBkUNAgsCfyAGIAE2AiwCQCABKAJEIghBAWoiCiABKAJIIgdJBEAgASgCTCEHDAELIAEoAkwgB0EKaiIIQQJ0EDQiB0UEQCABQQhqBEAgAUEANgIMIAFBDjYCCAtBfwwCCyABIAc2AkwgASAINgJIIAEoAkQiCEEBaiEKCyABIAo2AkQgByAIQQJ0aiAGNgIAQQALQX9MBEAgBhALDAELAkAgC0UEQCAGIQEMAQtBJkEAIAUvAWpBAUYbIgFFBEAgAEEIagRAIABBADYCDCAAQRg2AggLDAMLIAAgBiAFLwFqQQAgBCABEQYAIQEgBhALIAFFDQILAkAgDUUEQCABIQMMAQsgACABIAUvAWgQgQEhAyABEAsgA0UNAQsCQCAJRSAMckUEQCADIQEMAQsgACADQQEQgAEhASADEAsgAUUNAQsgASEDDAELQQAhAwsgBUHwAGokACADC4UBAQF/IAFFBEAgAEEIaiIABEAgAEEANgIEIABBEjYCAAtBAA8LQTgQCSIDRQRAIABBCGoiAARAIABBADYCBCAAQQ42AgALQQAPCyADQQA2AhAgA0IANwIIIANCADcDKCADQQA2AgQgAyACNgIAIANCADcDGCADQQA2AjAgACABQTsgAxBCCw8AIAAgASACQQBBABCCAQusAgECfyABRQRAIABBCGoiAARAIABBADYCBCAAQRI2AgALQQAPCwJAIAJBfUsNACACQf//A3FBCEYNACAAQQhqIgAEQCAAQQA2AgQgAEEQNgIAC0EADwsCQEGwwAAQCSIFBEAgBUEANgIIIAVCADcCACAFQYiBAUGogQEgAxs2AqhAIAUgAjYCFCAFIAM6ABAgBUEAOgAPIAVBADsBDCAFIAMgAkF9SyIGcToADiAFQQggAiAGG0H//wNxIAQgBUGIgQFBqIEBIAMbKAIAEQAAIgI2AqxAIAINASAFEDEgBRAGCyAAQQhqIgAEQCAAQQA2AgQgAEEONgIAC0EADwsgACABQTogBRBCIgAEfyAABSAFKAKsQCAFKAKoQCgCBBEDACAFEDEgBRAGQQALC6ABAQF/IAIgACgCBCIDIAIgA0kbIgIEQCAAIAMgAms2AgQCQAJAAkACQCAAKAIcIgMoAhRBAWsOAgEAAgsgA0GgAWogASAAKAIAIAJB3IABKAIAEQgADAILIAAgACgCMCABIAAoAgAgAkHEgAEoAgARBAA2AjAMAQsgASAAKAIAIAIQBxoLIAAgACgCACACajYCACAAIAAoAgggAmo2AggLC7cCAQR/QX4hAgJAIABFDQAgACgCIEUNACAAKAIkIgRFDQAgACgCHCIBRQ0AIAEoAgAgAEcNAAJAAkAgASgCICIDQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyADQZoFRg0AIANBKkcNAQsCfwJ/An8gASgCBCICBEAgBCAAKAIoIAIQHiAAKAIcIQELIAEoAlAiAgsEQCAAKAIkIAAoAiggAhAeIAAoAhwhAQsgASgCTCICCwRAIAAoAiQgACgCKCACEB4gACgCHCEBCyABKAJIIgILBEAgACgCJCAAKAIoIAIQHiAAKAIcIQELIAAoAiQgACgCKCABEB4gAEEANgIcQX1BACADQfEARhshAgsgAgvrCQEIfyAAKAIwIgMgACgCDEEFayICIAIgA0sbIQggACgCACIEKAIEIQkgAUEERiEHAkADQCAEKAIQIgMgACgCoC5BKmpBA3UiAkkEQEEBIQYMAgsgCCADIAJrIgMgACgCaCAAKAJYayICIAQoAgRqIgVB//8DIAVB//8DSRsiBiADIAZJGyIDSwRAQQEhBiADQQBHIAdyRQ0CIAFFDQIgAyAFRw0CCyAAQQBBACAHIAMgBUZxIgUQOSAAIAAoAhBBBGsiBDYCECAAKAIEIARqIAM7AAAgACAAKAIQQQJqIgQ2AhAgACgCBCAEaiADQX9zOwAAIAAgACgCEEECajYCECAAKAIAEAoCfyACBEAgACgCACgCDCAAKAJIIAAoAlhqIAMgAiACIANLGyICEAcaIAAoAgAiBCAEKAIMIAJqNgIMIAQgBCgCECACazYCECAEIAQoAhQgAmo2AhQgACAAKAJYIAJqNgJYIAMgAmshAwsgAwsEQCAAKAIAIgIgAigCDCADEIMBIAAoAgAiAiACKAIMIANqNgIMIAIgAigCECADazYCECACIAIoAhQgA2o2AhQLIAAoAgAhBCAFRQ0AC0EAIQYLAkAgCSAEKAIEayICRQRAIAAoAmghAwwBCwJAIAAoAjAiAyACTQRAIABBAjYCgC4gACgCSCAEKAIAIANrIAMQBxogACAAKAIwIgM2AoQuIAAgAzYCaAwBCyACIAAoAkQgACgCaCIFa08EQCAAIAUgA2siBDYCaCAAKAJIIgUgAyAFaiAEEAcaIAAoAoAuIgNBAU0EQCAAIANBAWo2AoAuCyAAIAAoAmgiBSAAKAKELiIDIAMgBUsbNgKELiAAKAIAIQQLIAAoAkggBWogBCgCACACayACEAcaIAAgACgCaCACaiIDNgJoIAAgACgCMCAAKAKELiIEayIFIAIgAiAFSxsgBGo2AoQuCyAAIAM2AlgLIAAgAyAAKAJAIgIgAiADSRs2AkBBAyECAkAgBkUNACAAKAIAIgUoAgQhAgJAAkAgAUF7cUUNACACDQBBASECIAMgACgCWEYNAiAAKAJEIANrIQRBACECDAELIAIgACgCRCADayIETQ0AIAAoAlgiByAAKAIwIgZIDQAgACADIAZrIgM2AmggACAHIAZrNgJYIAAoAkgiAiACIAZqIAMQBxogACgCgC4iA0EBTQRAIAAgA0EBajYCgC4LIAAgACgCaCIDIAAoAoQuIgIgAiADSxs2AoQuIAAoAjAgBGohBCAAKAIAIgUoAgQhAgsCQCACIAQgAiAESRsiAkUEQCAAKAIwIQUMAQsgBSAAKAJIIANqIAIQgwEgACAAKAJoIAJqIgM2AmggACAAKAIwIgUgACgChC4iBGsiBiACIAIgBksbIARqNgKELgsgACADIAAoAkAiAiACIANJGzYCQCADIAAoAlgiBmsiAyAFIAAoAgwgACgCoC5BKmpBA3VrIgJB//8DIAJB//8DSRsiBCAEIAVLG0kEQEEAIQIgAUEERiADQQBHckUNASABRQ0BIAAoAgAoAgQNASADIARLDQELQQAhAiABQQRGBEAgACgCACgCBEUgAyAETXEhAgsgACAAKAJIIAZqIAQgAyADIARLGyIBIAIQOSAAIAAoAlggAWo2AlggACgCABAKQQJBACACGw8LIAIL/woCCn8DfiAAKQOYLiENIAAoAqAuIQQgAkEATgRAQQRBAyABLwECIggbIQlBB0GKASAIGyEFQX8hCgNAIAghByABIAsiDEEBaiILQQJ0ai8BAiEIAkACQCAGQQFqIgMgBU4NACAHIAhHDQAgAyEGDAELAkAgAyAJSARAIAAgB0ECdGoiBkHOFWohCSAGQcwVaiEKA0AgCjMBACEPAn8gBCAJLwEAIgZqIgVBP00EQCAPIASthiANhCENIAUMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIA8hDSAGDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIA9BwAAgBGutiCENIAVBQGoLIQQgA0EBayIDDQALDAELIAcEQAJAIAcgCkYEQCANIQ8gBCEFIAMhBgwBCyAAIAdBAnRqIgNBzBVqMwEAIQ8gBCADQc4Vai8BACIDaiIFQT9NBEAgDyAErYYgDYQhDwwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgAyEFDAELIAAoAgQgACgCEGogDyAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIAVBQGohBSAPQcAAIARrrYghDwsgADMBjBYhDgJAIAUgAC8BjhYiBGoiA0E/TQRAIA4gBa2GIA+EIQ4MAQsgBUHAAEYEQCAAKAIEIAAoAhBqIA83AAAgACAAKAIQQQhqNgIQIAQhAwwBCyAAKAIEIAAoAhBqIA4gBa2GIA+ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAFa62IIQ4LIAasQgN9IQ0gA0E9TQRAIANBAmohBCANIAOthiAOhCENDAILIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEECIQQMAgsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E+ayEEIA1BwAAgA2utiCENDAELIAZBCUwEQCAAMwGQFiEOAkAgBCAALwGSFiIFaiIDQT9NBEAgDiAErYYgDYQhDgwBCyAEQcAARgRAIAAoAgQgACgCEGogDTcAACAAIAAoAhBBCGo2AhAgBSEDDAELIAAoAgQgACgCEGogDiAErYYgDYQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyAOQcAAIARrrYghDgsgBqxCAn0hDSADQTxNBEAgA0EDaiEEIA0gA62GIA6EIQ0MAgsgA0HAAEYEQCAAKAIEIAAoAhBqIA43AAAgACAAKAIQQQhqNgIQQQMhBAwCCyAAKAIEIAAoAhBqIA0gA62GIA6ENwAAIAAgACgCEEEIajYCECADQT1rIQQgDUHAACADa62IIQ0MAQsgADMBlBYhDgJAIAQgAC8BlhYiBWoiA0E/TQRAIA4gBK2GIA2EIQ4MAQsgBEHAAEYEQCAAKAIEIAAoAhBqIA03AAAgACAAKAIQQQhqNgIQIAUhAwwBCyAAKAIEIAAoAhBqIA4gBK2GIA2ENwAAIAAgACgCEEEIajYCECADQUBqIQMgDkHAACAEa62IIQ4LIAatQgp9IQ0gA0E4TQRAIANBB2ohBCANIAOthiAOhCENDAELIANBwABGBEAgACgCBCAAKAIQaiAONwAAIAAgACgCEEEIajYCEEEHIQQMAQsgACgCBCAAKAIQaiANIAOthiAOhDcAACAAIAAoAhBBCGo2AhAgA0E5ayEEIA1BwAAgA2utiCENC0EAIQYCfyAIRQRAQYoBIQVBAwwBC0EGQQcgByAIRiIDGyEFQQNBBCADGwshCSAHIQoLIAIgDEcNAAsLIAAgBDYCoC4gACANNwOYLgv5BQIIfwJ+AkAgACgC8C1FBEAgACkDmC4hCyAAKAKgLiEDDAELA0AgCSIDQQNqIQkgAyAAKALsLWoiAy0AAiEFIAApA5guIQwgACgCoC4hBAJAIAMvAAAiB0UEQCABIAVBAnRqIgMzAQAhCyAEIAMvAQIiBWoiA0E/TQRAIAsgBK2GIAyEIQsMAgsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAUhAwwCCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsMAQsgBUGAzwBqLQAAIghBAnQiBiABaiIDQYQIajMBACELIANBhghqLwEAIQMgCEEIa0ETTQRAIAUgBkGA0QBqKAIAa60gA62GIAuEIQsgBkHA0wBqKAIAIANqIQMLIAMgAiAHQQFrIgcgB0EHdkGAAmogB0GAAkkbQYDLAGotAAAiBUECdCIIaiIKLwECaiEGIAozAQAgA62GIAuEIQsgBCAFQQRJBH8gBgUgByAIQYDSAGooAgBrrSAGrYYgC4QhCyAIQcDUAGooAgAgBmoLIgVqIgNBP00EQCALIASthiAMhCELDAELIARBwABGBEAgACgCBCAAKAIQaiAMNwAAIAAgACgCEEEIajYCECAFIQMMAQsgACgCBCAAKAIQaiALIASthiAMhDcAACAAIAAoAhBBCGo2AhAgA0FAaiEDIAtBwAAgBGutiCELCyAAIAs3A5guIAAgAzYCoC4gCSAAKALwLUkNAAsLIAFBgAhqMwEAIQwCQCADIAFBgghqLwEAIgJqIgFBP00EQCAMIAOthiALhCEMDAELIANBwABGBEAgACgCBCAAKAIQaiALNwAAIAAgACgCEEEIajYCECACIQEMAQsgACgCBCAAKAIQaiAMIAOthiALhDcAACAAIAAoAhBBCGo2AhAgAUFAaiEBIAxBwAAgA2utiCEMCyAAIAw3A5guIAAgATYCoC4L8AQBA38gAEHkAWohAgNAIAIgAUECdCIDakEAOwEAIAIgA0EEcmpBADsBACABQQJqIgFBngJHDQALIABBADsBzBUgAEEAOwHYEyAAQZQWakEAOwEAIABBkBZqQQA7AQAgAEGMFmpBADsBACAAQYgWakEAOwEAIABBhBZqQQA7AQAgAEGAFmpBADsBACAAQfwVakEAOwEAIABB+BVqQQA7AQAgAEH0FWpBADsBACAAQfAVakEAOwEAIABB7BVqQQA7AQAgAEHoFWpBADsBACAAQeQVakEAOwEAIABB4BVqQQA7AQAgAEHcFWpBADsBACAAQdgVakEAOwEAIABB1BVqQQA7AQAgAEHQFWpBADsBACAAQcwUakEAOwEAIABByBRqQQA7AQAgAEHEFGpBADsBACAAQcAUakEAOwEAIABBvBRqQQA7AQAgAEG4FGpBADsBACAAQbQUakEAOwEAIABBsBRqQQA7AQAgAEGsFGpBADsBACAAQagUakEAOwEAIABBpBRqQQA7AQAgAEGgFGpBADsBACAAQZwUakEAOwEAIABBmBRqQQA7AQAgAEGUFGpBADsBACAAQZAUakEAOwEAIABBjBRqQQA7AQAgAEGIFGpBADsBACAAQYQUakEAOwEAIABBgBRqQQA7AQAgAEH8E2pBADsBACAAQfgTakEAOwEAIABB9BNqQQA7AQAgAEHwE2pBADsBACAAQewTakEAOwEAIABB6BNqQQA7AQAgAEHkE2pBADsBACAAQeATakEAOwEAIABB3BNqQQA7AQAgAEIANwL8LSAAQeQJakEBOwEAIABBADYC+C0gAEEANgLwLQuKAwIGfwR+QcgAEAkiBEUEQEEADwsgBEIANwMAIARCADcDMCAEQQA2AiggBEIANwMgIARCADcDGCAEQgA3AxAgBEIANwMIIARCADcDOCABUARAIARBCBAJIgA2AgQgAEUEQCAEEAYgAwRAIANBADYCBCADQQ42AgALQQAPCyAAQgA3AwAgBA8LAkAgAaciBUEEdBAJIgZFDQAgBCAGNgIAIAVBA3RBCGoQCSIFRQ0AIAQgATcDECAEIAU2AgQDQCAAIAynIghBBHRqIgcpAwgiDVBFBEAgBygCACIHRQRAIAMEQCADQQA2AgQgA0ESNgIACyAGEAYgBRAGIAQQBkEADwsgBiAKp0EEdGoiCSANNwMIIAkgBzYCACAFIAhBA3RqIAs3AwAgCyANfCELIApCAXwhCgsgDEIBfCIMIAFSDQALIAQgCjcDCCAEQgAgCiACGzcDGCAFIAqnQQN0aiALNwMAIAQgCzcDMCAEDwsgAwRAIANBADYCBCADQQ42AgALIAYQBiAEEAZBAAvlAQIDfwF+QX8hBQJAIAAgASACQQAQJiIERQ0AIAAgASACEIsBIgZFDQACfgJAIAJBCHENACAAKAJAIAGnQQR0aigCCCICRQ0AIAIgAxAhQQBOBEAgAykDAAwCCyAAQQhqIgAEQCAAQQA2AgQgAEEPNgIAC0F/DwsgAxAqIAMgBCgCGDYCLCADIAQpAyg3AxggAyAEKAIUNgIoIAMgBCkDIDcDICADIAQoAhA7ATAgAyAELwFSOwEyQvwBQtwBIAQtAAYbCyEHIAMgBjYCCCADIAE3AxAgAyAHQgOENwMAQQAhBQsgBQspAQF/IAAgASACIABBCGoiABAmIgNFBEBBAA8LIAMoAjBBACACIAAQJQuAAwEGfwJ/An9BMCABQYB/Sw0BGgJ/IAFBgH9PBEBBhIQBQTA2AgBBAAwBC0EAQRAgAUELakF4cSABQQtJGyIFQcwAahAJIgFFDQAaIAFBCGshAgJAIAFBP3FFBEAgAiEBDAELIAFBBGsiBigCACIHQXhxIAFBP2pBQHFBCGsiASABQUBrIAEgAmtBD0sbIgEgAmsiA2shBCAHQQNxRQRAIAIoAgAhAiABIAQ2AgQgASACIANqNgIADAELIAEgBCABKAIEQQFxckECcjYCBCABIARqIgQgBCgCBEEBcjYCBCAGIAMgBigCAEEBcXJBAnI2AgAgAiADaiIEIAQoAgRBAXI2AgQgAiADEDsLAkAgASgCBCICQQNxRQ0AIAJBeHEiAyAFQRBqTQ0AIAEgBSACQQFxckECcjYCBCABIAVqIgIgAyAFayIFQQNyNgIEIAEgA2oiAyADKAIEQQFyNgIEIAIgBRA7CyABQQhqCyIBRQsEQEEwDwsgACABNgIAQQALCwoAIABBiIQBEAQL6AIBBX8gACgCUCEBIAAvATAhBEEEIQUDQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgBUGAgARGRQRAIAFBCGohASAFQQRqIQUMAQsLAkAgBEUNACAEQQNxIQUgACgCTCEBIARBAWtBA08EQCAEIAVrIQADQCABQQAgAS8BACICIARrIgMgAiADSRs7AQAgAUEAIAEvAQIiAiAEayIDIAIgA0kbOwECIAFBACABLwEEIgIgBGsiAyACIANJGzsBBCABQQAgAS8BBiICIARrIgMgAiADSRs7AQYgAUEIaiEBIABBBGsiAA0ACwsgBUUNAANAIAFBACABLwEAIgAgBGsiAiAAIAJJGzsBACABQQJqIQEgBUEBayIFDQALCwuDAQEEfyACQQFOBEAgAiAAKAJIIAFqIgJqIQMgACgCUCEEA0AgBCACKAAAQbHz3fF5bEEPdkH+/wdxaiIFLwEAIgYgAUH//wNxRwRAIAAoAkwgASAAKAI4cUH//wNxQQF0aiAGOwEAIAUgATsBAAsgAUEBaiEBIAJBAWoiAiADSQ0ACwsLUAECfyABIAAoAlAgACgCSCABaigAAEGx893xeWxBD3ZB/v8HcWoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILugEBAX8jAEEQayICJAAgAkEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgARBYIAJBEGokAAu9AQEBfyMAQRBrIgEkACABQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEANgJAIAFBEGokAEEAC70BAQF/IwBBEGsiASQAIAFBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAKAJAIQAgAUEQaiQAIAALvgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQVyAEQRBqJAALygEAIwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAAoAkAgASACQdSAASgCABEAADYCQCADQRBqJAALwAEBAX8jAEEQayIDJAAgA0EAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACEF0hACADQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFwhACACQRBqJAAgAAu2AQEBfyMAQRBrIgAkACAAQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgAEEQaiQAQQgLwgEBAX8jAEEQayIEJAAgBEEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAgASACIAMQWSEAIARBEGokACAAC8IBAQF/IwBBEGsiBCQAIARBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAiADEFYhACAEQRBqJAAgAAsHACAALwEwC8ABAQF/IwBBEGsiAyQAIANBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEgAhBVIQAgA0EQaiQAIAALBwAgACgCQAsaACAAIAAoAkAgASACQdSAASgCABEAADYCQAsLACAAQQA2AkBBAAsHACAAKAIgCwQAQQgLzgUCA34BfyMAQYBAaiIIJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDhECAwwFAAEECAkJCQkJCQcJBgkLIANCCFoEfiACIAEoAmQ2AgAgAiABKAJoNgIEQggFQn8LIQYMCwsgARAGDAoLIAEoAhAiAgRAIAIgASkDGCABQeQAaiICEEEiA1ANCCABKQMIIgVCf4UgA1QEQCACBEAgAkEANgIEIAJBFTYCAAsMCQsgAUEANgIQIAEgAyAFfDcDCCABIAEpAwAgA3w3AwALIAEtAHgEQCABKQMAIQUMCQtCACEDIAEpAwAiBVAEQCABQgA3AyAMCgsDQCAAIAggBSADfSIFQoDAACAFQoDAAFQbEBEiB0J/VwRAIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwJCyAHUEUEQCABKQMAIgUgAyAHfCIDWA0KDAELCyABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEpAwggASkDICIFfSIHIAMgAyAHVhsiA1ANCAJAIAEtAHhFDQAgACAFQQAQFEF/Sg0AIAFB5ABqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwHCyAAIAIgAxARIgZCf1cEQCABQeQAagRAIAFBADYCaCABQRE2AmQLDAcLIAEgASkDICAGfCIDNwMgIAZCAFINCEIAIQYgAyABKQMIWg0IIAFB5ABqBEAgAUEANgJoIAFBETYCZAsMBgsgASkDICABKQMAIgV9IAEpAwggBX0gAiADIAFB5ABqEEQiA0IAUw0FIAEgASkDACADfDcDIAwHCyACIAFBKGoQYEEfdawhBgwGCyABMABgIQYMBQsgASkDcCEGDAQLIAEpAyAgASkDAH0hBgwDCyABQeQAagRAIAFBADYCaCABQRw2AmQLC0J/IQYMAQsgASAFNwMgCyAIQYBAayQAIAYLBwAgACgCAAsPACAAIAAoAjBBAWo2AjALGABB+IMBQgA3AgBBgIQBQQA2AgBB+IMBCwcAIABBDGoLBwAgACgCLAsHACAAKAIoCwcAIAAoAhgLFQAgACABrSACrUIghoQgAyAEEIoBCxMBAX4gABAzIgFCIIinEAAgAacLbwEBfiABrSACrUIghoQhBSMAQRBrIgEkAAJ/IABFBEAgBVBFBEAgBARAIARBADYCBCAEQRI2AgALQQAMAgtBAEIAIAMgBBA6DAELIAEgBTcDCCABIAA2AgAgAUIBIAMgBBA6CyEAIAFBEGokACAACxQAIAAgASACrSADrUIghoQgBBBSC9oCAgJ/AX4CfyABrSACrUIghoQiByAAKQMwVEEAIARBCkkbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/DAELIAAtABhBAnEEQCAAQQhqBEAgAEEANgIMIABBGTYCCAtBfwwBCyADBH8gA0H//wNxQQhGIANBfUtyBUEBC0UEQCAAQQhqBEAgAEEANgIMIABBEDYCCAtBfwwBCyAAKAJAIgEgB6ciBUEEdGooAgAiAgR/IAIoAhAgA0YFIANBf0YLIQYgASAFQQR0aiIBIQUgASgCBCEBAkAgBgRAIAFFDQEgAUEAOwFQIAEgASgCAEF+cSIANgIAIAANASABECAgBUEANgIEQQAMAgsCQCABDQAgBSACECsiATYCBCABDQAgAEEIagRAIABBADYCDCAAQQ42AggLQX8MAgsgASAEOwFQIAEgAzYCECABIAEoAgBBAXI2AgALQQALCxwBAX4gACABIAIgAEEIahBMIgNCIIinEAAgA6cLHwEBfiAAIAEgAq0gA61CIIaEEBEiBEIgiKcQACAEpwteAQF+An5CfyAARQ0AGiAAKQMwIgIgAUEIcUUNABpCACACUA0AGiAAKAJAIQADQCACIAKnQQR0IABqQRBrKAIADQEaIAJCAX0iAkIAUg0AC0IACyICQiCIpxAAIAKnCxMAIAAgAa0gAq1CIIaEIAMQiwELnwEBAn4CfiACrSADrUIghoQhBUJ/IQQCQCAARQ0AIAAoAgQNACAAQQRqIQIgBUJ/VwRAIAIEQCACQQA2AgQgAkESNgIAC0J/DAILQgAhBCAALQAQDQAgBVANACAAKAIUIAEgBRARIgRCf1UNACAAKAIUIQAgAgRAIAIgACgCDDYCACACIAAoAhA2AgQLQn8hBAsgBAsiBEIgiKcQACAEpwueAQEBfwJ/IAAgACABrSACrUIghoQgAyAAKAIcEH8iAQRAIAEQMkF/TARAIABBCGoEQCAAIAEoAgw2AgggACABKAIQNgIMCyABEAtBAAwCC0EYEAkiBEUEQCAAQQhqBEAgAEEANgIMIABBDjYCCAsgARALQQAMAgsgBCAANgIAIARBADYCDCAEQgA3AgQgBCABNgIUIARBADoAEAsgBAsLsQICAX8BfgJ/QX8hBAJAIAAgAa0gAq1CIIaEIgZBAEEAECZFDQAgAC0AGEECcQRAIABBCGoEQCAAQQA2AgwgAEEZNgIIC0F/DAILIAAoAkAiASAGpyICQQR0aiIEKAIIIgUEQEEAIQQgBSADEHFBf0oNASAAQQhqBEAgAEEANgIMIABBDzYCCAtBfwwCCwJAIAQoAgAiBQRAIAUoAhQgA0YNAQsCQCABIAJBBHRqIgEoAgQiBA0AIAEgBRArIgQ2AgQgBA0AIABBCGoEQCAAQQA2AgwgAEEONgIIC0F/DAMLIAQgAzYCFCAEIAQoAgBBIHI2AgBBAAwCC0EAIQQgASACQQR0aiIBKAIEIgBFDQAgACAAKAIAQV9xIgI2AgAgAg0AIAAQICABQQA2AgQLIAQLCxQAIAAgAa0gAq1CIIaEIAQgBRBzCxIAIAAgAa0gAq1CIIaEIAMQFAtBAQF+An4gAUEAIAIbRQRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0J/DAELIAAgASACIAMQdAsiBEIgiKcQACAEpwvGAwIFfwF+An4CQAJAIAAiBC0AGEECcQRAIARBCGoEQCAEQQA2AgwgBEEZNgIICwwBCyABRQRAIARBCGoEQCAEQQA2AgwgBEESNgIICwwBCyABECIiByABakEBay0AAEEvRwRAIAdBAmoQCSIARQRAIARBCGoEQCAEQQA2AgwgBEEONgIICwwCCwJAAkAgACIGIAEiBXNBA3ENACAFQQNxBEADQCAGIAUtAAAiAzoAACADRQ0DIAZBAWohBiAFQQFqIgVBA3ENAAsLIAUoAgAiA0F/cyADQYGChAhrcUGAgYKEeHENAANAIAYgAzYCACAFKAIEIQMgBkEEaiEGIAVBBGohBSADQYGChAhrIANBf3NxQYCBgoR4cUUNAAsLIAYgBS0AACIDOgAAIANFDQADQCAGIAUtAAEiAzoAASAGQQFqIQYgBUEBaiEFIAMNAAsLIAcgACIDakEvOwAACyAEQQBCAEEAEFIiAEUEQCADEAYMAQsgBCADIAEgAxsgACACEHQhCCADEAYgCEJ/VwRAIAAQCyAIDAMLIAQgCEEDQYCA/I8EEHNBf0oNASAEIAgQchoLQn8hCAsgCAsiCEIgiKcQACAIpwsQACAAIAGtIAKtQiCGhBByCxYAIAAgAa0gAq1CIIaEIAMgBCAFEGYL3iMDD38IfgF8IwBB8ABrIgkkAAJAIAFBAE5BACAAG0UEQCACBEAgAkEANgIEIAJBEjYCAAsMAQsgACkDGCISAn5BsIMBKQMAIhNCf1EEQCAJQoOAgIBwNwMwIAlChoCAgPAANwMoIAlCgYCAgCA3AyBBsIMBQQAgCUEgahAkNwMAIAlCj4CAgHA3AxAgCUKJgICAoAE3AwAgCUKMgICA0AE3AwhBuIMBQQggCRAkNwMAQbCDASkDACETCyATC4MgE1IEQCACBEAgAkEANgIEIAJBHDYCAAsMAQsgASABQRByQbiDASkDACITIBKDIBNRGyIKQRhxQRhGBEAgAgRAIAJBADYCBCACQRk2AgALDAELIAlBOGoQKgJAIAAgCUE4ahAhBEACQCAAKAIMQQVGBEAgACgCEEEsRg0BCyACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAgsgCkEBcUUEQCACBEAgAkEANgIEIAJBCTYCAAsMAwsgAhBJIgVFDQEgBSAKNgIEIAUgADYCACAKQRBxRQ0CIAUgBSgCFEECcjYCFCAFIAUoAhhBAnI2AhgMAgsgCkECcQRAIAIEQCACQQA2AgQgAkEKNgIACwwCCyAAEDJBf0wEQCACBEAgAiAAKAIMNgIAIAIgACgCEDYCBAsMAQsCfyAKQQhxBEACQCACEEkiAUUNACABIAo2AgQgASAANgIAIApBEHFFDQAgASABKAIUQQJyNgIUIAEgASgCGEECcjYCGAsgAQwBCyMAQUBqIg4kACAOQQhqECoCQCAAIA5BCGoQIUF/TARAIAIEQCACIAAoAgw2AgAgAiAAKAIQNgIECwwBCyAOLQAIQQRxRQRAIAIEQCACQYoBNgIEIAJBBDYCAAsMAQsgDikDICETIAIQSSIFRQRAQQAhBQwBCyAFIAo2AgQgBSAANgIAIApBEHEEQCAFIAUoAhRBAnI2AhQgBSAFKAIYQQJyNgIYCwJAAkACQCATUARAAn8gACEBAkADQCABKQMYQoCAEINCAFINASABKAIAIgENAAtBAQwBCyABQQBCAEESEA6nCw0EIAVBCGoEQCAFQQA2AgwgBUETNgIICwwBCyMAQdAAayIBJAACQCATQhVYBEAgBUEIagRAIAVBADYCDCAFQRM2AggLDAELAkACQCAFKAIAQgAgE0KqgAQgE0KqgARUGyISfUECEBRBf0oNACAFKAIAIgMoAgxBBEYEQCADKAIQQRZGDQELIAVBCGoEQCAFIAMoAgw2AgggBSADKAIQNgIMCwwBCyAFKAIAEDMiE0J/VwRAIAUoAgAhAyAFQQhqIggEQCAIIAMoAgw2AgAgCCADKAIQNgIECwwBCyAFKAIAIBJBACAFQQhqIg8QLSIERQ0BIBJCqoAEWgRAAkAgBCkDCEIUVARAIARBADoAAAwBCyAEQhQ3AxAgBEEBOgAACwsgAQRAIAFBADYCBCABQRM2AgALIARCABATIQwCQCAELQAABH4gBCkDCCAEKQMQfQVCAAunIgdBEmtBA0sEQEJ/IRcDQCAMQQFrIQMgByAMakEVayEGAkADQCADQQFqIgNB0AAgBiADaxB6IgNFDQEgA0EBaiIMQZ8SQQMQPQ0ACwJAIAMgBCgCBGusIhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBC0AAAR+IAQpAxAFQgALIRICQCAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsgBEIEEBMoAABB0JaVMEcEQCABBEAgAUEANgIEIAFBEzYCAAsMAQsCQAJAAkAgEkIUVA0AIAQoAgQgEqdqQRRrKAAAQdCWmThHDQACQCASQhR9IhQgBCIDKQMIVgRAIANBADoAAAwBCyADIBQ3AxAgA0EBOgAACyAFKAIUIRAgBSgCACEGIAMtAAAEfiAEKQMQBUIACyEWIARCBBATGiAEEAwhCyAEEAwhDSAEEB0iFEJ/VwRAIAEEQCABQRY2AgQgAUEENgIACwwECyAUQjh8IhUgEyAWfCIWVgRAIAEEQCABQQA2AgQgAUEVNgIACwwECwJAAkAgEyAUVg0AIBUgEyAEKQMIfFYNAAJAIBQgE30iFSAEKQMIVgRAIANBADoAAAwBCyADIBU3AxAgA0EBOgAAC0EAIQcMAQsgBiAUQQAQFEF/TARAIAEEQCABIAYoAgw2AgAgASAGKAIQNgIECwwFC0EBIQcgBkI4IAFBEGogARAtIgNFDQQLIANCBBATKAAAQdCWmTBHBEAgAQRAIAFBADYCBCABQRU2AgALIAdFDQQgAxAIDAQLIAMQHSEVAkAgEEEEcSIGRQ0AIBQgFXxCDHwgFlENACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgA0IEEBMaIAMQFSIQIAsgC0H//wNGGyELIAMQFSIRIA0gDUH//wNGGyENAkAgBkUNACANIBFGQQAgCyAQRhsNACABBEAgAUEANgIEIAFBFTYCAAsgB0UNBCADEAgMBAsgCyANcgRAIAEEQCABQQA2AgQgAUEBNgIACyAHRQ0EIAMQCAwECyADEB0iGCADEB1SBEAgAQRAIAFBADYCBCABQQE2AgALIAdFDQQgAxAIDAQLIAMQHSEVIAMQHSEWIAMtAABFBEAgAQRAIAFBADYCBCABQRQ2AgALIAdFDQQgAxAIDAQLIAcEQCADEAgLAkAgFkIAWQRAIBUgFnwiGSAWWg0BCyABBEAgAUEWNgIEIAFBBDYCAAsMBAsgEyAUfCIUIBlUBEAgAQRAIAFBADYCBCABQRU2AgALDAQLAkAgBkUNACAUIBlRDQAgAQRAIAFBADYCBCABQRU2AgALDAQLIBggFUIugFgNASABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCASIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAUoAhQhAyAELQAABH4gBCkDCCAEKQMQfQVCAAtCFVgEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsgBC0AAAR+IAQpAxAFQgALIRQgBEIEEBMaIAQQFQRAIAEEQCABQQA2AgQgAUEBNgIACwwDCyAEEAwgBBAMIgZHBEAgAQRAIAFBADYCBCABQRM2AgALDAMLIAQQFSEHIAQQFa0iFiAHrSIVfCIYIBMgFHwiFFYEQCABBEAgAUEANgIEIAFBFTYCAAsMAwsCQCADQQRxRQ0AIBQgGFENACABBEAgAUEANgIEIAFBFTYCAAsMAwsgBq0gARBqIgNFDQIgAyAWNwMgIAMgFTcDGCADQQA6ACwMAQsgGCABEGoiA0UNASADIBY3AyAgAyAVNwMYIANBAToALAsCQCASQhR8IhQgBCkDCFYEQCAEQQA6AAAMAQsgBCAUNwMQIARBAToAAAsgBBAMIQYCQCADKQMYIAMpAyB8IBIgE3xWDQACQCAGRQRAIAUtAARBBHFFDQELAkAgEkIWfCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIACyIUIAatIhJUDQEgBS0ABEEEcUEAIBIgFFIbDQEgBkUNACADIAQgEhATIAZBACABEDUiBjYCKCAGDQAgAxAWDAILAkAgEyADKQMgIhJYBEACQCASIBN9IhIgBCkDCFYEQCAEQQA6AAAMAQsgBCASNwMQIARBAToAAAsgBCADKQMYEBMiBkUNAiAGIAMpAxgQFyIHDQEgAQRAIAFBADYCBCABQQ42AgALIAMQFgwDCyAFKAIAIBJBABAUIQcgBSgCACEGIAdBf0wEQCABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAMLQQAhByAGEDMgAykDIFENACABBEAgAUEANgIEIAFBEzYCAAsgAxAWDAILQgAhFAJAAkAgAykDGCIWUEUEQANAIBQgAykDCFIiC0UEQCADLQAsDQMgFkIuVA0DAn8CQCADKQMQIhVCgIAEfCISIBVaQQAgEkKAgICAAVQbRQ0AIAMoAgAgEqdBBHQQNCIGRQ0AIAMgBjYCAAJAIAMpAwgiFSASWg0AIAYgFadBBHRqIgZCADcCACAGQgA3AAUgFUIBfCIVIBJRDQADQCADKAIAIBWnQQR0aiIGQgA3AgAgBkIANwAFIBVCAXwiFSASUg0ACwsgAyASNwMIIAMgEjcDEEEBDAELIAEEQCABQQA2AgQgAUEONgIAC0EAC0UNBAtB2AAQCSIGBH8gBkIANwMgIAZBADYCGCAGQv////8PNwMQIAZBADsBDCAGQb+GKDYCCCAGQQE6AAYgBkEAOwEEIAZBADYCACAGQgA3A0ggBkGAgNiNeDYCRCAGQgA3AyggBkIANwMwIAZCADcDOCAGQUBrQQA7AQAgBkIANwNQIAYFQQALIQYgAygCACAUp0EEdGogBjYCAAJAIAYEQCAGIAUoAgAgB0EAIAEQaCISQn9VDQELIAsNBCABKAIAQRNHDQQgAQRAIAFBADYCBCABQRU2AgALDAQLIBRCAXwhFCAWIBJ9IhZCAFINAAsLIBQgAykDCFINAAJAIAUtAARBBHFFDQAgBwRAIActAAAEfyAHKQMQIAcpAwhRBUEAC0UNAgwBCyAFKAIAEDMiEkJ/VwRAIAUoAgAhBiABBEAgASAGKAIMNgIAIAEgBigCEDYCBAsgAxAWDAULIBIgAykDGCADKQMgfFINAQsgBxAIAn4gCARAAn8gF0IAVwRAIAUgCCABEEghFwsgBSADIAEQSCISIBdVCwRAIAgQFiASDAILIAMQFgwFC0IAIAUtAARBBHFFDQAaIAUgAyABEEgLIRcgAyEIDAMLIAEEQCABQQA2AgQgAUEVNgIACyAHEAggAxAWDAILIAMQFiAHEAgMAQsgAQRAIAFBADYCBCABQRU2AgALIAMQFgsCQCAMIAQoAgRrrCISIAQpAwhWBEAgBEEAOgAADAELIAQgEjcDECAEQQE6AAALIAQtAAAEfiAEKQMIIAQpAxB9BUIAC6ciB0ESa0EDSw0BCwsgBBAIIBdCf1UNAwwBCyAEEAgLIA8iAwRAIAMgASgCADYCACADIAEoAgQ2AgQLIAgQFgtBACEICyABQdAAaiQAIAgNAQsgAgRAIAIgBSgCCDYCACACIAUoAgw2AgQLDAELIAUgCCgCADYCQCAFIAgpAwg3AzAgBSAIKQMQNwM4IAUgCCgCKDYCICAIEAYgBSgCUCEIIAVBCGoiBCEBQQAhBwJAIAUpAzAiE1ANAEGAgICAeCEGAn8gE7pEAAAAAAAA6D+jRAAA4P///+9BpCIaRAAAAAAAAPBBYyAaRAAAAAAAAAAAZnEEQCAaqwwBC0EACyIDQYCAgIB4TQRAIANBAWsiA0EBdiADciIDQQJ2IANyIgNBBHYgA3IiA0EIdiADciIDQRB2IANyQQFqIQYLIAYgCCgCACIMTQ0AIAYQPCILRQRAIAEEQCABQQA2AgQgAUEONgIACwwBCwJAIAgpAwhCACAMG1AEQCAIKAIQIQ8MAQsgCCgCECEPA0AgDyAHQQJ0aigCACIBBEADQCABKAIYIQMgASALIAEoAhwgBnBBAnRqIg0oAgA2AhggDSABNgIAIAMiAQ0ACwsgB0EBaiIHIAxHDQALCyAPEAYgCCAGNgIAIAggCzYCEAsCQCAFKQMwUA0AQgAhEwJAIApBBHFFBEADQCAFKAJAIBOnQQR0aigCACgCMEEAQQAgAhAlIgFFDQQgBSgCUCABIBNBCCAEEE1FBEAgBCgCAEEKRw0DCyATQgF8IhMgBSkDMFQNAAwDCwALA0AgBSgCQCATp0EEdGooAgAoAjBBAEEAIAIQJSIBRQ0DIAUoAlAgASATQQggBBBNRQ0BIBNCAXwiEyAFKQMwVA0ACwwBCyACBEAgAiAEKAIANgIAIAIgBCgCBDYCBAsMAQsgBSAFKAIUNgIYDAELIAAgACgCMEEBajYCMCAFEEtBACEFCyAOQUBrJAAgBQsiBQ0BIAAQGhoLQQAhBQsgCUHwAGokACAFCxAAIwAgAGtBcHEiACQAIAALBgAgACQACwQAIwAL4CoDEX8IfgN8IwBBwMAAayIHJABBfyECAkAgAEUNAAJ/IAAtAChFBEBBACAAKAIYIAAoAhRGDQEaC0EBCyEBAkACQCAAKQMwIhRQRQRAIAAoAkAhCgNAIAogEqdBBHRqIgMtAAwhCwJAAkAgAygCCA0AIAsNACADKAIEIgNFDQEgAygCAEUNAQtBASEBCyAXIAtBAXOtQv8Bg3whFyASQgF8IhIgFFINAAsgF0IAUg0BCyAAKAIEQQhxIAFyRQ0BAn8gACgCACIDKAIkIgFBA0cEQCADKAIgBH9BfyADEBpBAEgNAhogAygCJAUgAQsEQCADEEMLQX8gA0EAQgBBDxAOQgBTDQEaIANBAzYCJAtBAAtBf0oNASAAKAIAKAIMQRZGBEAgACgCACgCEEEsRg0CCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLDAILIAFFDQAgFCAXVARAIABBCGoEQCAAQQA2AgwgAEEUNgIICwwCCyAXp0EDdBAJIgtFDQFCfyEWQgAhEgNAAkAgCiASp0EEdGoiBigCACIDRQ0AAkAgBigCCA0AIAYtAAwNACAGKAIEIgFFDQEgASgCAEUNAQsgFiADKQNIIhMgEyAWVhshFgsgBi0ADEUEQCAXIBlYBEAgCxAGIABBCGoEQCAAQQA2AgwgAEEUNgIICwwECyALIBmnQQN0aiASNwMAIBlCAXwhGQsgEkIBfCISIBRSDQALIBcgGVYEQCALEAYgAEEIagRAIABBADYCDCAAQRQ2AggLDAILAkACQCAAKAIAKQMYQoCACINQDQACQAJAIBZCf1INACAAKQMwIhNQDQIgE0IBgyEVIAAoAkAhAwJAIBNCAVEEQEJ/IRRCACESQgAhFgwBCyATQn6DIRlCfyEUQgAhEkIAIRYDQCADIBKnQQR0aigCACIBBEAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyADIBJCAYQiGKdBBHRqKAIAIgEEQCAWIAEpA0giEyATIBZUIgEbIRYgFCAYIAEbIRQLIBJCAnwhEiAZQgJ9IhlQRQ0ACwsCQCAVUA0AIAMgEqdBBHRqKAIAIgFFDQAgFiABKQNIIhMgEyAWVCIBGyEWIBQgEiABGyEUCyAUQn9RDQBCACETIwBBEGsiBiQAAkAgACAUIABBCGoiCBBBIhVQDQAgFSAAKAJAIBSnQQR0aigCACIKKQMgIhh8IhQgGFpBACAUQn9VG0UEQCAIBEAgCEEWNgIEIAhBBDYCAAsMAQsgCi0ADEEIcUUEQCAUIRMMAQsgACgCACAUQQAQFCEBIAAoAgAhAyABQX9MBEAgCARAIAggAygCDDYCACAIIAMoAhA2AgQLDAELIAMgBkEMakIEEBFCBFIEQCAAKAIAIQEgCARAIAggASgCDDYCACAIIAEoAhA2AgQLDAELIBRCBHwgFCAGKAAMQdCWncAARhtCFEIMAn9BASEBAkAgCikDKEL+////D1YNACAKKQMgQv7///8PVg0AQQAhAQsgAQsbfCIUQn9XBEAgCARAIAhBFjYCBCAIQQQ2AgALDAELIBQhEwsgBkEQaiQAIBMiFkIAUg0BIAsQBgwFCyAWUA0BCwJ/IAAoAgAiASgCJEEBRgRAIAFBDGoEQCABQQA2AhAgAUESNgIMC0F/DAELQX8gAUEAIBZBERAOQgBTDQAaIAFBATYCJEEAC0F/Sg0BC0IAIRYCfyAAKAIAIgEoAiRBAUYEQCABQQxqBEAgAUEANgIQIAFBEjYCDAtBfwwBC0F/IAFBAEIAQQgQDkIAUw0AGiABQQE2AiRBAAtBf0oNACAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLIAsQBgwCCyAAKAJUIgIEQCACQgA3AxggAigCAEQAAAAAAAAAACACKAIMIAIoAgQRDgALIABBCGohBCAXuiEcQgAhFAJAAkACQANAIBcgFCITUgRAIBO6IByjIRsgE0IBfCIUuiAcoyEaAkAgACgCVCICRQ0AIAIgGjkDKCACIBs5AyAgAisDECAaIBuhRAAAAAAAAAAAoiAboCIaIAIrAxihY0UNACACKAIAIBogAigCDCACKAIEEQ4AIAIgGjkDGAsCfwJAIAAoAkAgCyATp0EDdGopAwAiE6dBBHRqIg0oAgAiAQRAIAEpA0ggFlQNAQsgDSgCBCEFAkACfwJAIA0oAggiAkUEQCAFRQ0BQQEgBSgCACICQQFxDQIaIAJBwABxQQZ2DAILQQEgBQ0BGgsgDSABECsiBTYCBCAFRQ0BIAJBAEcLIQZBACEJIwBBEGsiDCQAAkAgEyAAKQMwWgRAIABBCGoEQCAAQQA2AgwgAEESNgIIC0F/IQkMAQsgACgCQCIKIBOnIgNBBHRqIg8oAgAiAkUNACACLQAEDQACQCACKQNIQhp8IhhCf1cEQCAAQQhqBEAgAEEWNgIMIABBBDYCCAsMAQtBfyEJIAAoAgAgGEEAEBRBf0wEQCAAKAIAIQIgAEEIagRAIAAgAigCDDYCCCAAIAIoAhA2AgwLDAILIAAoAgBCBCAMQQxqIABBCGoiDhAtIhBFDQEgEBAMIQEgEBAMIQggEC0AAAR/IBApAxAgECkDCFEFQQALIQIgEBAIIAJFBEAgDgRAIA5BADYCBCAOQRQ2AgALDAILAkAgCEUNACAAKAIAIAGtQQEQFEF/TARAQYSEASgCACECIA4EQCAOIAI2AgQgDkEENgIACwwDC0EAIAAoAgAgCEEAIA4QRSIBRQ0BIAEgCEGAAiAMQQhqIA4QbiECIAEQBiACRQ0BIAwoAggiAkUNACAMIAIQbSICNgIIIA8oAgAoAjQgAhBvIQIgDygCACACNgI0CyAPKAIAIgJBAToABEEAIQkgCiADQQR0aigCBCIBRQ0BIAEtAAQNASACKAI0IQIgAUEBOgAEIAEgAjYCNAwBC0F/IQkLIAxBEGokACAJQQBIDQUgACgCABAfIhhCAFMNBSAFIBg3A0ggBgRAQQAhDCANKAIIIg0hASANRQRAIAAgACATQQhBABB/IgwhASAMRQ0HCwJAAkAgASAHQQhqECFBf0wEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsMAQsgBykDCCISQsAAg1AEQCAHQQA7ATggByASQsAAhCISNwMICwJAAkAgBSgCECICQX5PBEAgBy8BOCIDRQ0BIAUgAzYCECADIQIMAgsgAg0AIBJCBINQDQAgByAHKQMgNwMoIAcgEkIIhCISNwMIQQAhAgwBCyAHIBJC9////w+DIhI3AwgLIBJCgAGDUARAIAdBADsBOiAHIBJCgAGEIhI3AwgLAn8gEkIEg1AEQEJ/IRVBgAoMAQsgBSAHKQMgIhU3AyggEkIIg1AEQAJAAkACQAJAQQggAiACQX1LG0H//wNxDg0CAwMDAwMDAwEDAwMAAwtBgApBgAIgFUKUwuTzD1YbDAQLQYAKQYACIBVCg4Ow/w9WGwwDC0GACkGAAiAVQv////8PVhsMAgtBgApBgAIgFUIAUhsMAQsgBSAHKQMoNwMgQYACCyEPIAAoAgAQHyITQn9XBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyAFIAUvAQxB9/8DcTsBDCAAIAUgDxA3IgpBAEgNACAHLwE4IghBCCAFKAIQIgMgA0F9SxtB//8DcSICRyEGAkACQAJAAkACQAJAAkAgAiAIRwRAIANBAEchAwwBC0EAIQMgBS0AAEGAAXFFDQELIAUvAVIhCSAHLwE6IQIMAQsgBS8BUiIJIAcvAToiAkYNAQsgASABKAIwQQFqNgIwIAJB//8DcQ0BIAEhAgwCCyABIAEoAjBBAWo2AjBBACEJDAILQSZBACAHLwE6QQFGGyICRQRAIAQEQCAEQQA2AgQgBEEYNgIACyABEAsMAwsgACABIAcvATpBACAAKAIcIAIRBgAhAiABEAsgAkUNAgsgCUEARyEJIAhBAEcgBnFFBEAgAiEBDAELIAAgAiAHLwE4EIEBIQEgAhALIAFFDQELAkAgCEUgBnJFBEAgASECDAELIAAgAUEAEIABIQIgARALIAJFDQELAkAgA0UEQCACIQMMAQsgACACIAUoAhBBASAFLwFQEIIBIQMgAhALIANFDQELAkAgCUUEQCADIQEMAQsgBSgCVCIBRQRAIAAoAhwhAQsCfyAFLwFSGkEBCwRAIAQEQCAEQQA2AgQgBEEYNgIACyADEAsMAgsgACADIAUvAVJBASABQQARBgAhASADEAsgAUUNAQsgACgCABAfIhhCf1cEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELAkAgARAyQQBOBEACfwJAAkAgASAHQUBrQoDAABARIhJCAVMNAEIAIRkgFUIAVQRAIBW5IRoDQCAAIAdBQGsgEhAbQQBIDQMCQCASQoDAAFINACAAKAJUIgJFDQAgAiAZQoBAfSIZuSAaoxB7CyABIAdBQGtCgMAAEBEiEkIAVQ0ACwwBCwNAIAAgB0FAayASEBtBAEgNAiABIAdBQGtCgMAAEBEiEkIAVQ0ACwtBACASQn9VDQEaIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIECwtBfwshAiABEBoaDAELIAQEQCAEIAEoAgw2AgAgBCABKAIQNgIEC0F/IQILIAEgB0EIahAhQX9MBEAgBARAIAQgASgCDDYCACAEIAEoAhA2AgQLQX8hAgsCf0EAIQkCQCABIgNFDQADQCADLQAaQQFxBEBB/wEhCSADQQBCAEEQEA4iFUIAUw0CIBVCBFkEQCADQQxqBEAgA0EANgIQIANBFDYCDAsMAwsgFachCQwCCyADKAIAIgMNAAsLIAlBGHRBGHUiA0F/TAsEQCAEBEAgBCABKAIMNgIAIAQgASgCEDYCBAsgARALDAELIAEQCyACQQBIDQAgACgCABAfIRUgACgCACECIBVCf1cEQCAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsMAQsgAiATEHVBf0wEQCAAKAIAIQIgBARAIAQgAigCDDYCACAEIAIoAhA2AgQLDAELIAcpAwgiE0LkAINC5ABSBEAgBARAIARBADYCBCAEQRQ2AgALDAELAkAgBS0AAEEgcQ0AIBNCEINQRQRAIAUgBygCMDYCFAwBCyAFQRRqEAEaCyAFIAcvATg2AhAgBSAHKAI0NgIYIAcpAyAhEyAFIBUgGH03AyAgBSATNwMoIAUgBS8BDEH5/wNxIANB/wFxQQF0cjsBDCAPQQp2IQNBPyEBAkACQAJAAkAgBSgCECICQQxrDgMAAQIBCyAFQS47AQoMAgtBLSEBIAMNACAFKQMoQv7///8PVg0AIAUpAyBC/v///w9WDQBBFCEBIAJBCEYNACAFLwFSQQFGDQAgBSgCMCICBH8gAi8BBAVBAAtB//8DcSICBEAgAiAFKAIwKAIAakEBay0AAEEvRg0BC0EKIQELIAUgATsBCgsgACAFIA8QNyICQQBIDQAgAiAKRwRAIAQEQCAEQQA2AgQgBEEUNgIACwwBCyAAKAIAIBUQdUF/Sg0BIAAoAgAhAiAEBEAgBCACKAIMNgIAIAQgAigCEDYCBAsLIA0NByAMEAsMBwsgDQ0CIAwQCwwCCyAFIAUvAQxB9/8DcTsBDCAAIAVBgAIQN0EASA0FIAAgEyAEEEEiE1ANBSAAKAIAIBNBABAUQX9MBEAgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwGCyAFKQMgIRIjAEGAQGoiAyQAAkAgElBFBEAgAEEIaiECIBK6IRoDQEF/IQEgACgCACADIBJCgMAAIBJCgMAAVBsiEyACEGVBAEgNAiAAIAMgExAbQQBIDQIgACgCVCAaIBIgE30iErqhIBqjEHsgEkIAUg0ACwtBACEBCyADQYBAayQAIAFBf0oNAUEBIREgAUEcdkEIcUEIRgwCCyAEBEAgBEEANgIEIARBDjYCAAsMBAtBAAtFDQELCyARDQBBfyECAkAgACgCABAfQgBTDQAgFyEUQQAhCkIAIRcjAEHwAGsiESQAAkAgACgCABAfIhVCAFkEQCAUUEUEQANAIAAgACgCQCALIBenQQN0aigCAEEEdGoiAygCBCIBBH8gAQUgAygCAAtBgAQQNyIBQQBIBEBCfyEXDAQLIAFBAEcgCnIhCiAXQgF8IhcgFFINAAsLQn8hFyAAKAIAEB8iGEJ/VwRAIAAoAgAhASAAQQhqBEAgACABKAIMNgIIIAAgASgCEDYCDAsMAgsgEULiABAXIgZFBEAgAEEIagRAIABBADYCDCAAQQ42AggLDAILIBggFX0hEyAVQv////8PViAUQv//A1ZyIApyQQFxBEAgBkGZEkEEECwgBkIsEBggBkEtEA0gBkEtEA0gBkEAEBIgBkEAEBIgBiAUEBggBiAUEBggBiATEBggBiAVEBggBkGUEkEEECwgBkEAEBIgBiAYEBggBkEBEBILIAZBnhJBBBAsIAZBABASIAYgFEL//wMgFEL//wNUG6dB//8DcSIBEA0gBiABEA0gBkF/IBOnIBNC/v///w9WGxASIAZBfyAVpyAVQv7///8PVhsQEiAGIABBJEEgIAAtACgbaigCACIDBH8gAy8BBAVBAAtB//8DcRANIAYtAABFBEAgAEEIagRAIABBADYCDCAAQRQ2AggLIAYQCAwCCyAAIAYoAgQgBi0AAAR+IAYpAxAFQgALEBshASAGEAggAUEASA0BIAMEQCAAIAMoAgAgAzMBBBAbQQBIDQILIBMhFwwBCyAAKAIAIQEgAEEIagRAIAAgASgCDDYCCCAAIAEoAhA2AgwLQn8hFwsgEUHwAGokACAXQgBTDQAgACgCABAfQj+HpyECCyALEAYgAkEASA0BAn8gACgCACIBKAIkQQFHBEAgAUEMagRAIAFBADYCECABQRI2AgwLQX8MAQsgASgCICICQQJPBEAgAUEMagRAIAFBADYCECABQR02AgwLQX8MAQsCQCACQQFHDQAgARAaQQBODQBBfwwBCyABQQBCAEEJEA5Cf1cEQCABQQI2AiRBfwwBCyABQQA2AiRBAAtFDQIgACgCACECIAQEQCAEIAIoAgw2AgAgBCACKAIQNgIECwwBCyALEAYLIAAoAlQQfCAAKAIAEENBfyECDAILIAAoAlQQfAsgABBLQQAhAgsgB0HAwABqJAAgAgtFAEHwgwFCADcDAEHogwFCADcDAEHggwFCADcDAEHYgwFCADcDAEHQgwFCADcDAEHIgwFCADcDAEHAgwFCADcDAEHAgwELoQMBCH8jAEGgAWsiAiQAIAAQMQJAAn8CQCAAKAIAIgFBAE4EQCABQbATKAIASA0BCyACIAE2AhAgAkEgakH2ESACQRBqEHZBASEGIAJBIGohBCACQSBqECIhA0EADAELIAFBAnQiAUGwEmooAgAhBQJ/AkACQCABQcATaigCAEEBaw4CAAEECyAAKAIEIQNB9IIBKAIAIQdBACEBAkACQANAIAMgAUHQ8QBqLQAARwRAQdcAIQQgAUEBaiIBQdcARw0BDAILCyABIgQNAEGw8gAhAwwBC0Gw8gAhAQNAIAEtAAAhCCABQQFqIgMhASAIDQAgAyEBIARBAWsiBA0ACwsgBygCFBogAwwBC0EAIAAoAgRrQQJ0QdjAAGooAgALIgRFDQEgBBAiIQMgBUUEQEEAIQVBASEGQQAMAQsgBRAiQQJqCyEBIAEgA2pBAWoQCSIBRQRAQegSKAIAIQUMAQsgAiAENgIIIAJBrBJBkRIgBhs2AgQgAkGsEiAFIAYbNgIAIAFBqwogAhB2IAAgATYCCCABIQULIAJBoAFqJAAgBQszAQF/IAAoAhQiAyABIAIgACgCECADayIBIAEgAksbIgEQBxogACAAKAIUIAFqNgIUIAILBgBBsIgBCwYAQayIAQsGAEGkiAELBwAgAEEEagsHACAAQQhqCyYBAX8gACgCFCIBBEAgARALCyAAKAIEIQEgAEEEahAxIAAQBiABC6kBAQN/AkAgAC0AACICRQ0AA0AgAS0AACIERQRAIAIhAwwCCwJAIAIgBEYNACACQSByIAIgAkHBAGtBGkkbIAEtAAAiAkEgciACIAJBwQBrQRpJG0YNACAALQAAIQMMAgsgAUEBaiEBIAAtAAEhAiAAQQFqIQAgAg0ACwsgA0H/AXEiAEEgciAAIABBwQBrQRpJGyABLQAAIgBBIHIgACAAQcEAa0EaSRtrC8sGAgJ+An8jAEHgAGsiByQAAkACQAJAAkACQAJAAkACQAJAAkACQCAEDg8AAQoCAwQGBwgICAgICAUICyABQgA3AyAMCQsgACACIAMQESIFQn9XBEAgAUEIaiIBBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMCAsCQCAFUARAIAEpAygiAyABKQMgUg0BIAEgAzcDGCABQQE2AgQgASgCAEUNASAAIAdBKGoQIUF/TARAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAoLAkAgBykDKCIDQiCDUA0AIAcoAlQgASgCMEYNACABQQhqBEAgAUEANgIMIAFBBzYCCAsMCgsgA0IEg1ANASAHKQNAIAEpAxhRDQEgAUEIagRAIAFBADYCDCABQRU2AggLDAkLIAEoAgQNACABKQMoIgMgASkDICIGVA0AIAUgAyAGfSIDWA0AIAEoAjAhBANAIAECfyAFIAN9IgZC/////w8gBkL/////D1QbIganIQBBACACIAOnaiIIRQ0AGiAEIAggAEHUgAEoAgARAAALIgQ2AjAgASABKQMoIAZ8NwMoIAUgAyAGfCIDVg0ACwsgASABKQMgIAV8NwMgDAgLIAEoAgRFDQcgAiABKQMYIgM3AxggASgCMCEAIAJBADYCMCACIAM3AyAgAiAANgIsIAIgAikDAELsAYQ3AwAMBwsgA0IIWgR+IAIgASgCCDYCACACIAEoAgw2AgRCCAVCfwshBQwGCyABEAYMBQtCfyEFIAApAxgiA0J/VwRAIAFBCGoiAQRAIAEgACgCDDYCACABIAAoAhA2AgQLDAULIAdBfzYCGCAHQo+AgICAAjcDECAHQoyAgIDQATcDCCAHQomAgICgATcDACADQQggBxAkQn+FgyEFDAQLIANCD1gEQCABQQhqBEAgAUEANgIMIAFBEjYCCAsMAwsgAkUNAgJAIAAgAikDACACKAIIEBRBAE4EQCAAEDMiA0J/VQ0BCyABQQhqIgEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwDCyABIAM3AyAMAwsgASkDICEFDAILIAFBCGoEQCABQQA2AgwgAUEcNgIICwtCfyEFCyAHQeAAaiQAIAULjAcCAn4CfyMAQRBrIgckAAJAAkACQAJAAkACQAJAAkACQAJAIAQOEQABAgMFBggICAgICAgIBwgECAsgAUJ/NwMgIAFBADoADyABQQA7AQwgAUIANwMYIAEoAqxAIAEoAqhAKAIMEQEArUIBfSEFDAgLQn8hBSABKAIADQdCACEFIANQDQcgAS0ADQ0HIAFBKGohBAJAA0ACQCAHIAMgBX03AwggASgCrEAgAiAFp2ogB0EIaiABKAKoQCgCHBEAACEIQgAgBykDCCAIQQJGGyAFfCEFAkACQAJAIAhBAWsOAwADAQILIAFBAToADSABKQMgIgNCf1cEQCABBEAgAUEANgIEIAFBFDYCAAsMBQsgAS0ADkUNBCADIAVWDQQgASADNwMYIAFBAToADyACIAQgA6cQBxogASkDGCEFDAwLIAEtAAwNAyAAIARCgMAAEBEiBkJ/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwECyAGUARAIAFBAToADCABKAKsQCABKAKoQCgCGBEDACABKQMgQn9VDQEgAUIANwMgDAELAkAgASkDIEIAWQRAIAFBADoADgwBCyABIAY3AyALIAEoAqxAIAQgBiABKAKoQCgCFBEPABoLIAMgBVYNAQwCCwsgASgCAA0AIAEEQCABQQA2AgQgAUEUNgIACwsgBVBFBEAgAUEAOgAOIAEgASkDGCAFfDcDGAwIC0J/QgAgASgCABshBQwHCyABKAKsQCABKAKoQCgCEBEBAK1CAX0hBQwGCyABLQAQBEAgAS0ADQRAIAIgAS0ADwR/QQAFQQggASgCFCIAIABBfUsbCzsBMCACIAEpAxg3AyAgAiACKQMAQsgAhDcDAAwHCyACIAIpAwBCt////w+DNwMADAYLIAJBADsBMCACKQMAIQMgAS0ADQRAIAEpAxghBSACIANCxACENwMAIAIgBTcDGEIAIQUMBgsgAiADQrv///8Pg0LAAIQ3AwAMBQsgAS0ADw0EIAEoAqxAIAEoAqhAKAIIEQEArCEFDAQLIANCCFoEfiACIAEoAgA2AgAgAiABKAIENgIEQggFQn8LIQUMAwsgAUUNAiABKAKsQCABKAKoQCgCBBEDACABEDEgARAGDAILIAdBfzYCAEEQIAcQJEI/hCEFDAELIAEEQCABQQA2AgQgAUEUNgIAC0J/IQULIAdBEGokACAFC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQA6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAu3fAIefwZ+IAIpAwAhIiAAIAE2AhwgACAiQv////8PICJC/////w9UGz4CICAAQRBqIQECfyAALQAEBEACfyAALQAMQQJ0IQpBfiEEAkACQAJAIAEiBUUNACAFKAIgRQ0AIAUoAiRFDQAgBSgCHCIDRQ0AIAMoAgAgBUcNAAJAAkAgAygCICIGQTlrDjkBAgICAgICAgICAgIBAgICAQICAgICAgICAgICAgICAgICAQICAgICAgICAgICAQICAgICAgICAgEACyAGQZoFRg0AIAZBKkcNAQsgCkEFSw0AAkACQCAFKAIMRQ0AIAUoAgQiAQRAIAUoAgBFDQELIAZBmgVHDQEgCkEERg0BCyAFQeDAACgCADYCGEF+DAQLIAUoAhBFDQEgAygCJCEEIAMgCjYCJAJAIAMoAhAEQCADEDACQCAFKAIQIgYgAygCECIIIAYgCEkbIgFFDQAgBSgCDCADKAIIIAEQBxogBSAFKAIMIAFqNgIMIAMgAygCCCABajYCCCAFIAUoAhQgAWo2AhQgBSAFKAIQIAFrIgY2AhAgAyADKAIQIAFrIgg2AhAgCA0AIAMgAygCBDYCCEEAIQgLIAYEQCADKAIgIQYMAgsMBAsgAQ0AIApBAXRBd0EAIApBBEsbaiAEQQF0QXdBACAEQQRKG2pKDQAgCkEERg0ADAILAkACQAJAAkACQCAGQSpHBEAgBkGaBUcNASAFKAIERQ0DDAcLIAMoAhRFBEAgA0HxADYCIAwCCyADKAI0QQx0QYDwAWshBAJAIAMoAowBQQJODQAgAygCiAEiAUEBTA0AIAFBBUwEQCAEQcAAciEEDAELQYABQcABIAFBBkYbIARyIQQLIAMoAgQgCGogBEEgciAEIAMoAmgbIgFBH3AgAXJBH3NBCHQgAUGA/gNxQQh2cjsAACADIAMoAhBBAmoiATYCECADKAJoBEAgAygCBCABaiAFKAIwIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYAACADIAMoAhBBBGo2AhALIAVBATYCMCADQfEANgIgIAUQCiADKAIQDQcgAygCICEGCwJAAkACQAJAIAZBOUYEfyADQaABakHkgAEoAgARAQAaIAMgAygCECIBQQFqNgIQIAEgAygCBGpBHzoAACADIAMoAhAiAUEBajYCECABIAMoAgRqQYsBOgAAIAMgAygCECIBQQFqNgIQIAEgAygCBGpBCDoAAAJAIAMoAhwiAUUEQCADKAIEIAMoAhBqQQA2AAAgAyADKAIQIgFBBWo2AhAgASADKAIEakEAOgAEQQIhBCADKAKIASIBQQlHBEBBBCABQQJIQQJ0IAMoAowBQQFKGyEECyADIAMoAhAiAUEBajYCECABIAMoAgRqIAQ6AAAgAyADKAIQIgFBAWo2AhAgASADKAIEakEDOgAAIANB8QA2AiAgBRAKIAMoAhBFDQEMDQsgASgCJCELIAEoAhwhCSABKAIQIQggASgCLCENIAEoAgAhBiADIAMoAhAiAUEBajYCEEECIQQgASADKAIEaiANQQBHQQF0IAZBAEdyIAhBAEdBAnRyIAlBAEdBA3RyIAtBAEdBBHRyOgAAIAMoAgQgAygCEGogAygCHCgCBDYAACADIAMoAhAiDUEEaiIGNgIQIAMoAogBIgFBCUcEQEEEIAFBAkhBAnQgAygCjAFBAUobIQQLIAMgDUEFajYCECADKAIEIAZqIAQ6AAAgAygCHCgCDCEEIAMgAygCECIBQQFqNgIQIAEgAygCBGogBDoAACADKAIcIgEoAhAEfyADKAIEIAMoAhBqIAEoAhQ7AAAgAyADKAIQQQJqNgIQIAMoAhwFIAELKAIsBEAgBQJ/IAUoAjAhBiADKAIQIQRBACADKAIEIgFFDQAaIAYgASAEQdSAASgCABEAAAs2AjALIANBxQA2AiAgA0EANgIYDAILIAMoAiAFIAYLQcUAaw4jAAQEBAEEBAQEBAQEBAQEBAQEBAQEBAIEBAQEBAQEBAQEBAMECyADKAIcIgEoAhAiBgRAIAMoAgwiCCADKAIQIgQgAS8BFCADKAIYIg1rIglqSQRAA0AgAygCBCAEaiAGIA1qIAggBGsiCBAHGiADIAMoAgwiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIAMgAygCGCAIajYCGCAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAsgAygCEA0MIAMoAhghDSADKAIcKAIQIQZBACEEIAkgCGsiCSADKAIMIghLDQALCyADKAIEIARqIAYgDWogCRAHGiADIAMoAhAgCWoiDTYCEAJAIAMoAhwoAixFDQAgBCANTw0AIAUCfyAFKAIwIQZBACADKAIEIARqIgFFDQAaIAYgASANIARrQdSAASgCABEAAAs2AjALIANBADYCGAsgA0HJADYCIAsgAygCHCgCHARAIAMoAhAiBCEJA0ACQCAEIAMoAgxHDQACQCADKAIcKAIsRQ0AIAQgCU0NACAFAn8gBSgCMCEGQQAgAygCBCAJaiIBRQ0AGiAGIAEgBCAJa0HUgAEoAgARAAALNgIwCyAFKAIcIgYQMAJAIAUoAhAiBCAGKAIQIgEgASAESxsiAUUNACAFKAIMIAYoAgggARAHGiAFIAUoAgwgAWo2AgwgBiAGKAIIIAFqNgIIIAUgBSgCFCABajYCFCAFIAUoAhAgAWs2AhAgBiAGKAIQIAFrIgE2AhAgAQ0AIAYgBigCBDYCCAtBACEEQQAhCSADKAIQRQ0ADAsLIAMoAhwoAhwhBiADIAMoAhgiAUEBajYCGCABIAZqLQAAIQEgAyAEQQFqNgIQIAMoAgQgBGogAToAACABBEAgAygCECEEDAELCwJAIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0EANgIYCyADQdsANgIgCwJAIAMoAhwoAiRFDQAgAygCECIEIQkDQAJAIAQgAygCDEcNAAJAIAMoAhwoAixFDQAgBCAJTQ0AIAUCfyAFKAIwIQZBACADKAIEIAlqIgFFDQAaIAYgASAEIAlrQdSAASgCABEAAAs2AjALIAUoAhwiBhAwAkAgBSgCECIEIAYoAhAiASABIARLGyIBRQ0AIAUoAgwgBigCCCABEAcaIAUgBSgCDCABajYCDCAGIAYoAgggAWo2AgggBSAFKAIUIAFqNgIUIAUgBSgCECABazYCECAGIAYoAhAgAWsiATYCECABDQAgBiAGKAIENgIIC0EAIQRBACEJIAMoAhBFDQAMCgsgAygCHCgCJCEGIAMgAygCGCIBQQFqNgIYIAEgBmotAAAhASADIARBAWo2AhAgAygCBCAEaiABOgAAIAEEQCADKAIQIQQMAQsLIAMoAhwoAixFDQAgAygCECIGIAlNDQAgBQJ/IAUoAjAhBEEAIAMoAgQgCWoiAUUNABogBCABIAYgCWtB1IABKAIAEQAACzYCMAsgA0HnADYCIAsCQCADKAIcKAIsBEAgAygCDCADKAIQIgFBAmpJBH8gBRAKIAMoAhANAkEABSABCyADKAIEaiAFKAIwOwAAIAMgAygCEEECajYCECADQaABakHkgAEoAgARAQAaCyADQfEANgIgIAUQCiADKAIQRQ0BDAcLDAYLIAUoAgQNAQsgAygCPA0AIApFDQEgAygCIEGaBUYNAQsCfyADKAKIASIBRQRAIAMgChCFAQwBCwJAAkACQCADKAKMAUECaw4CAAECCwJ/AkADQAJAAkAgAygCPA0AIAMQLyADKAI8DQAgCg0BQQAMBAsgAygCSCADKAJoai0AACEEIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qQQA6AAAgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtaiAEOgAAIAMgBEECdGoiASABLwHkAUEBajsB5AEgAyADKAI8QQFrNgI8IAMgAygCaEEBaiIBNgJoIAMoAvAtIAMoAvQtRw0BQQAhBCADIAMoAlgiBkEATgR/IAMoAkggBmoFQQALIAEgBmtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEA0BDAILCyADQQA2AoQuIApBBEYEQCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBARAPIAMgAygCaDYCWCADKAIAEApBA0ECIAMoAgAoAhAbDAILIAMoAvAtBEBBACEEIAMgAygCWCIBQQBOBH8gAygCSCABagVBAAsgAygCaCABa0EAEA8gAyADKAJoNgJYIAMoAgAQCiADKAIAKAIQRQ0BC0EBIQQLIAQLDAILAn8CQANAAkACQAJAAkACQCADKAI8Ig1BggJLDQAgAxAvAkAgAygCPCINQYICSw0AIAoNAEEADAgLIA1FDQQgDUECSw0AIAMoAmghCAwBCyADKAJoIghFBEBBACEIDAELIAMoAkggCGoiAUEBayIELQAAIgYgAS0AAEcNACAGIAQtAAJHDQAgBEEDaiEEQQAhCQJAA0AgBiAELQAARw0BIAQtAAEgBkcEQCAJQQFyIQkMAgsgBC0AAiAGRwRAIAlBAnIhCQwCCyAELQADIAZHBEAgCUEDciEJDAILIAQtAAQgBkcEQCAJQQRyIQkMAgsgBC0ABSAGRwRAIAlBBXIhCQwCCyAELQAGIAZHBEAgCUEGciEJDAILIAQtAAcgBkcEQCAJQQdyIQkMAgsgBEEIaiEEIAlB+AFJIQEgCUEIaiEJIAENAAtBgAIhCQtBggIhBCANIAlBAmoiASABIA1LGyIBQYECSw0BIAEiBEECSw0BCyADKAJIIAhqLQAAIQQgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEAOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIAQ6AAAgAyAEQQJ0aiIBIAEvAeQBQQFqOwHkASADIAMoAjxBAWs2AjwgAyADKAJoQQFqIgQ2AmgMAQsgAyADKALwLSIBQQFqNgLwLSABIAMoAuwtakEBOgAAIAMgAygC8C0iAUEBajYC8C0gASADKALsLWpBADoAACADIAMoAvAtIgFBAWo2AvAtIAEgAygC7C1qIARBA2s6AAAgAyADKAKALkEBajYCgC4gBEH9zgBqLQAAQQJ0IANqQegJaiIBIAEvAQBBAWo7AQAgA0GAywAtAABBAnRqQdgTaiIBIAEvAQBBAWo7AQAgAyADKAI8IARrNgI8IAMgAygCaCAEaiIENgJoCyADKALwLSADKAL0LUcNAUEAIQggAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyAEIAFrQQAQDyADIAMoAmg2AlggAygCABAKIAMoAgAoAhANAQwCCwsgA0EANgKELiAKQQRGBEAgAyADKAJYIgFBAE4EfyADKAJIIAFqBUEACyADKAJoIAFrQQEQDyADIAMoAmg2AlggAygCABAKQQNBAiADKAIAKAIQGwwCCyADKALwLQRAQQAhCCADIAMoAlgiAUEATgR/IAMoAkggAWoFQQALIAMoAmggAWtBABAPIAMgAygCaDYCWCADKAIAEAogAygCACgCEEUNAQtBASEICyAICwwBCyADIAogAUEMbEG42ABqKAIAEQIACyIBQX5xQQJGBEAgA0GaBTYCIAsgAUF9cUUEQEEAIQQgBSgCEA0CDAQLIAFBAUcNAAJAAkACQCAKQQFrDgUAAQEBAgELIAMpA5guISICfwJ+IAMoAqAuIgFBA2oiCUE/TQRAQgIgAa2GICKEDAELIAFBwABGBEAgAygCBCADKAIQaiAiNwAAIAMgAygCEEEIajYCEEICISJBCgwCCyADKAIEIAMoAhBqQgIgAa2GICKENwAAIAMgAygCEEEIajYCECABQT1rIQlCAkHAACABa62ICyEiIAlBB2ogCUE5SQ0AGiADKAIEIAMoAhBqICI3AAAgAyADKAIQQQhqNgIQQgAhIiAJQTlrCyEBIAMgIjcDmC4gAyABNgKgLiADEDAMAQsgA0EAQQBBABA5IApBA0cNACADKAJQQQBBgIAIEBkgAygCPA0AIANBADYChC4gA0EANgJYIANBADYCaAsgBRAKIAUoAhANAAwDC0EAIQQgCkEERw0AAkACfwJAAkAgAygCFEEBaw4CAQADCyAFIANBoAFqQeCAASgCABEBACIBNgIwIAMoAgQgAygCEGogATYAACADIAMoAhBBBGoiATYCECADKAIEIAFqIQQgBSgCCAwBCyADKAIEIAMoAhBqIQQgBSgCMCIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnILIQEgBCABNgAAIAMgAygCEEEEajYCEAsgBRAKIAMoAhQiAUEBTgRAIANBACABazYCFAsgAygCEEUhBAsgBAwCCyAFQezAACgCADYCGEF7DAELIANBfzYCJEEACwwBCyMAQRBrIhQkAEF+IRcCQCABIgxFDQAgDCgCIEUNACAMKAIkRQ0AIAwoAhwiB0UNACAHKAIAIAxHDQAgBygCBCIIQbT+AGtBH0sNACAMKAIMIhBFDQAgDCgCACIBRQRAIAwoAgQNAQsgCEG//gBGBEAgB0HA/gA2AgRBwP4AIQgLIAdBpAFqIR8gB0G8BmohGSAHQbwBaiEcIAdBoAFqIR0gB0G4AWohGiAHQfwKaiEYIAdBQGshHiAHKAKIASEFIAwoAgQiICEGIAcoAoQBIQogDCgCECIPIRYCfwJAAkACQANAAkBBfSEEQQEhCQJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAIAhBtP4Aaw4fBwYICQolJicoBSwtLQsZGgQMAjIzATUANw0OAzlISUwLIAcoApQBIQMgASEEIAYhCAw1CyAHKAKUASEDIAEhBCAGIQgMMgsgBygCtAEhCAwuCyAHKAIMIQgMQQsgBUEOTw0pIAZFDUEgBUEIaiEIIAFBAWohBCAGQQFrIQkgAS0AACAFdCAKaiEKIAVBBkkNDCAEIQEgCSEGIAghBQwpCyAFQSBPDSUgBkUNQCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhJDQ0gBCEBIAghBgwlCyAFQRBPDRUgBkUNPyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDBULIAcoAgwiC0UNByAFQRBPDSIgBkUNPiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEISQ0NIAQhASAJIQYgCCEFDCILIAVBH0sNFQwUCyAFQQ9LDRYMFQsgBygCFCIEQYAIcUUEQCAFIQgMFwsgCiEIIAVBD0sNGAwXCyAKIAVBB3F2IQogBUF4cSIFQR9LDQwgBkUNOiAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0GIAQhASAJIQYgCCEFDAwLIAcoArQBIgggBygCqAEiC08NIwwiCyAPRQ0qIBAgBygCjAE6AAAgB0HI/gA2AgQgD0EBayEPIBBBAWohECAHKAIEIQgMOQsgBygCDCIDRQRAQQAhCAwJCyAFQR9LDQcgBkUNNyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEYSQ0BIAQhASAJIQYgCCEFDAcLIAdBwP4ANgIEDCoLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDgLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMOAsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw4CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgCUUEQCAEIQFBACEGIAghBSANIQQMNwsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBDBwLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDYLIAVBEGohCSABQQJqIQQgBkECayELIAEtAAEgCHQgCmohCiAFQQ9LBEAgBCEBIAshBiAJIQUMBgsgC0UEQCAEIQFBACEGIAkhBSANIQQMNgsgBUEYaiEIIAFBA2ohBCAGQQNrIQsgAS0AAiAJdCAKaiEKIAUEQCAEIQEgCyEGIAghBQwGCyALRQRAIAQhAUEAIQYgCCEFIA0hBAw2CyAFQSBqIQUgBkEEayEGIAEtAAMgCHQgCmohCiABQQRqIQEMBQsgBUEIaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDDULIAFBAmohBCAGQQJrIQggAS0AASAJdCAKaiEKIAVBD0sEQCAEIQEgCCEGDBgLIAVBEGohCSAIRQRAIAQhAUEAIQYgCSEFIA0hBAw1CyABQQNqIQQgBkEDayEIIAEtAAIgCXQgCmohCiAFQQdLBEAgBCEBIAghBgwYCyAFQRhqIQUgCEUEQCAEIQFBACEGIA0hBAw1CyAGQQRrIQYgAS0AAyAFdCAKaiEKIAFBBGohAQwXCyAJDQYgBCEBQQAhBiAIIQUgDSEEDDMLIAlFBEAgBCEBQQAhBiAIIQUgDSEEDDMLIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQwUCyAMIBYgD2siCSAMKAIUajYCFCAHIAcoAiAgCWo2AiACQCADQQRxRQ0AIAkEQAJAIBAgCWshBCAMKAIcIggoAhQEQCAIQUBrIAQgCUEAQdiAASgCABEIAAwBCyAIIAgoAhwgBCAJQcCAASgCABEAACIENgIcIAwgBDYCMAsLIAcoAhRFDQAgByAeQeCAASgCABEBACIENgIcIAwgBDYCMAsCQCAHKAIMIghBBHFFDQAgBygCHCAKIApBCHRBgID8B3EgCkEYdHIgCkEIdkGA/gNxIApBGHZyciAHKAIUG0YNACAHQdH+ADYCBCAMQaQMNgIYIA8hFiAHKAIEIQgMMQtBACEKQQAhBSAPIRYLIAdBz/4ANgIEDC0LIApB//8DcSIEIApBf3NBEHZHBEAgB0HR/gA2AgQgDEGOCjYCGCAHKAIEIQgMLwsgB0HC/gA2AgQgByAENgKMAUEAIQpBACEFCyAHQcP+ADYCBAsgBygCjAEiBARAIA8gBiAEIAQgBksbIgQgBCAPSxsiCEUNHiAQIAEgCBAHIQQgByAHKAKMASAIazYCjAEgBCAIaiEQIA8gCGshDyABIAhqIQEgBiAIayEGIAcoAgQhCAwtCyAHQb/+ADYCBCAHKAIEIQgMLAsgBUEQaiEFIAZBAmshBiABLQABIAh0IApqIQogAUECaiEBCyAHIAo2AhQgCkH/AXFBCEcEQCAHQdH+ADYCBCAMQYIPNgIYIAcoAgQhCAwrCyAKQYDAA3EEQCAHQdH+ADYCBCAMQY0JNgIYIAcoAgQhCAwrCyAHKAIkIgQEQCAEIApBCHZBAXE2AgALAkAgCkGABHFFDQAgBy0ADEEEcUUNACAUIAo7AAwgBwJ/IAcoAhwhBUEAIBRBDGoiBEUNABogBSAEQQJB1IABKAIAEQAACzYCHAsgB0G2/gA2AgRBACEFQQAhCgsgBkUNKCABQQFqIQQgBkEBayEIIAEtAAAgBXQgCmohCiAFQRhPBEAgBCEBIAghBgwBCyAFQQhqIQkgCEUEQCAEIQFBACEGIAkhBSANIQQMKwsgAUECaiEEIAZBAmshCCABLQABIAl0IApqIQogBUEPSwRAIAQhASAIIQYMAQsgBUEQaiEJIAhFBEAgBCEBQQAhBiAJIQUgDSEEDCsLIAFBA2ohBCAGQQNrIQggAS0AAiAJdCAKaiEKIAVBB0sEQCAEIQEgCCEGDAELIAVBGGohBSAIRQRAIAQhAUEAIQYgDSEEDCsLIAZBBGshBiABLQADIAV0IApqIQogAUEEaiEBCyAHKAIkIgQEQCAEIAo2AgQLAkAgBy0AFUECcUUNACAHLQAMQQRxRQ0AIBQgCjYADCAHAn8gBygCHCEFQQAgFEEMaiIERQ0AGiAFIARBBEHUgAEoAgARAAALNgIcCyAHQbf+ADYCBEEAIQVBACEKCyAGRQ0mIAFBAWohBCAGQQFrIQggAS0AACAFdCAKaiEKIAVBCE8EQCAEIQEgCCEGDAELIAVBCGohBSAIRQRAIAQhAUEAIQYgDSEEDCkLIAZBAmshBiABLQABIAV0IApqIQogAUECaiEBCyAHKAIkIgQEQCAEIApBCHY2AgwgBCAKQf8BcTYCCAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgFCAKOwAMIAcCfyAHKAIcIQVBACAUQQxqIgRFDQAaIAUgBEECQdSAASgCABEAAAs2AhwLIAdBuP4ANgIEQQAhCEEAIQVBACEKIAcoAhQiBEGACHENAQsgBygCJCIEBEAgBEEANgIQCyAIIQUMAgsgBkUEQEEAIQYgCCEKIA0hBAwmCyABQQFqIQkgBkEBayELIAEtAAAgBXQgCGohCiAFQQhPBEAgCSEBIAshBgwBCyAFQQhqIQUgC0UEQCAJIQFBACEGIA0hBAwmCyAGQQJrIQYgAS0AASAFdCAKaiEKIAFBAmohAQsgByAKQf//A3EiCDYCjAEgBygCJCIFBEAgBSAINgIUC0EAIQUCQCAEQYAEcUUNACAHLQAMQQRxRQ0AIBQgCjsADCAHAn8gBygCHCEIQQAgFEEMaiIERQ0AGiAIIARBAkHUgAEoAgARAAALNgIcC0EAIQoLIAdBuf4ANgIECyAHKAIUIglBgAhxBEAgBiAHKAKMASIIIAYgCEkbIg4EQAJAIAcoAiQiA0UNACADKAIQIgRFDQAgAygCGCILIAMoAhQgCGsiCE0NACAEIAhqIAEgCyAIayAOIAggDmogC0sbEAcaIAcoAhQhCQsCQCAJQYAEcUUNACAHLQAMQQRxRQ0AIAcCfyAHKAIcIQRBACABRQ0AGiAEIAEgDkHUgAEoAgARAAALNgIcCyAHIAcoAowBIA5rIgg2AowBIAYgDmshBiABIA5qIQELIAgNEwsgB0G6/gA2AgQgB0EANgKMAQsCQCAHLQAVQQhxBEBBACEIIAZFDQQDQCABIAhqLQAAIQMCQCAHKAIkIgtFDQAgCygCHCIERQ0AIAcoAowBIgkgCygCIE8NACAHIAlBAWo2AowBIAQgCWogAzoAAAsgA0EAIAYgCEEBaiIISxsNAAsCQCAHLQAVQQJxRQ0AIActAAxBBHFFDQAgBwJ/IAcoAhwhBEEAIAFFDQAaIAQgASAIQdSAASgCABEAAAs2AhwLIAEgCGohASAGIAhrIQYgA0UNAQwTCyAHKAIkIgRFDQAgBEEANgIcCyAHQbv+ADYCBCAHQQA2AowBCwJAIActABVBEHEEQEEAIQggBkUNAwNAIAEgCGotAAAhAwJAIAcoAiQiC0UNACALKAIkIgRFDQAgBygCjAEiCSALKAIoTw0AIAcgCUEBajYCjAEgBCAJaiADOgAACyADQQAgBiAIQQFqIghLGw0ACwJAIActABVBAnFFDQAgBy0ADEEEcUUNACAHAn8gBygCHCEEQQAgAUUNABogBCABIAhB1IABKAIAEQAACzYCHAsgASAIaiEBIAYgCGshBiADRQ0BDBILIAcoAiQiBEUNACAEQQA2AiQLIAdBvP4ANgIECyAHKAIUIgtBgARxBEACQCAFQQ9LDQAgBkUNHyAFQQhqIQggAUEBaiEEIAZBAWshCSABLQAAIAV0IApqIQogBUEITwRAIAQhASAJIQYgCCEFDAELIAlFBEAgBCEBQQAhBiAIIQUgDSEEDCILIAVBEGohBSAGQQJrIQYgAS0AASAIdCAKaiEKIAFBAmohAQsCQCAHLQAMQQRxRQ0AIAogBy8BHEYNACAHQdH+ADYCBCAMQdcMNgIYIAcoAgQhCAwgC0EAIQpBACEFCyAHKAIkIgQEQCAEQQE2AjAgBCALQQl2QQFxNgIsCwJAIActAAxBBHFFDQAgC0UNACAHIB5B5IABKAIAEQEAIgQ2AhwgDCAENgIwCyAHQb/+ADYCBCAHKAIEIQgMHgtBACEGDA4LAkAgC0ECcUUNACAKQZ+WAkcNACAHKAIoRQRAIAdBDzYCKAtBACEKIAdBADYCHCAUQZ+WAjsADCAHIBRBDGoiBAR/QQAgBEECQdSAASgCABEAAAVBAAs2AhwgB0G1/gA2AgRBACEFIAcoAgQhCAwdCyAHKAIkIgQEQCAEQX82AjALAkAgC0EBcQRAIApBCHRBgP4DcSAKQQh2akEfcEUNAQsgB0HR/gA2AgQgDEH2CzYCGCAHKAIEIQgMHQsgCkEPcUEIRwRAIAdB0f4ANgIEIAxBgg82AhggBygCBCEIDB0LIApBBHYiBEEPcSIJQQhqIQsgCUEHTUEAIAcoAigiCAR/IAgFIAcgCzYCKCALCyALTxtFBEAgBUEEayEFIAdB0f4ANgIEIAxB+gw2AhggBCEKIAcoAgQhCAwdCyAHQQE2AhxBACEFIAdBADYCFCAHQYACIAl0NgIYIAxBATYCMCAHQb3+AEG//gAgCkGAwABxGzYCBEEAIQogBygCBCEIDBwLIAcgCkEIdEGAgPwHcSAKQRh0ciAKQQh2QYD+A3EgCkEYdnJyIgQ2AhwgDCAENgIwIAdBvv4ANgIEQQAhCkEAIQULIAcoAhBFBEAgDCAPNgIQIAwgEDYCDCAMIAY2AgQgDCABNgIAIAcgBTYCiAEgByAKNgKEAUECIRcMIAsgB0EBNgIcIAxBATYCMCAHQb/+ADYCBAsCfwJAIAcoAghFBEAgBUEDSQ0BIAUMAgsgB0HO/gA2AgQgCiAFQQdxdiEKIAVBeHEhBSAHKAIEIQgMGwsgBkUNGSAGQQFrIQYgAS0AACAFdCAKaiEKIAFBAWohASAFQQhqCyEEIAcgCkEBcTYCCAJAAkACQAJAAkAgCkEBdkEDcUEBaw4DAQIDAAsgB0HB/gA2AgQMAwsgB0Gw2wA2ApgBIAdCiYCAgNAANwOgASAHQbDrADYCnAEgB0HH/gA2AgQMAgsgB0HE/gA2AgQMAQsgB0HR/gA2AgQgDEHXDTYCGAsgBEEDayEFIApBA3YhCiAHKAIEIQgMGQsgByAKQR9xIghBgQJqNgKsASAHIApBBXZBH3EiBEEBajYCsAEgByAKQQp2QQ9xQQRqIgs2AqgBIAVBDmshBSAKQQ52IQogCEEdTUEAIARBHkkbRQRAIAdB0f4ANgIEIAxB6gk2AhggBygCBCEIDBkLIAdBxf4ANgIEQQAhCCAHQQA2ArQBCyAIIQQDQCAFQQJNBEAgBkUNGCAGQQFrIQYgAS0AACAFdCAKaiEKIAVBCGohBSABQQFqIQELIAcgBEEBaiIINgK0ASAHIARBAXRBsOwAai8BAEEBdGogCkEHcTsBvAEgBUEDayEFIApBA3YhCiALIAgiBEsNAAsLIAhBEk0EQEESIAhrIQ1BAyAIa0EDcSIEBEADQCAHIAhBAXRBsOwAai8BAEEBdGpBADsBvAEgCEEBaiEIIARBAWsiBA0ACwsgDUEDTwRAA0AgB0G8AWoiDSAIQQF0IgRBsOwAai8BAEEBdGpBADsBACANIARBsuwAai8BAEEBdGpBADsBACANIARBtOwAai8BAEEBdGpBADsBACANIARBtuwAai8BAEEBdGpBADsBACAIQQRqIghBE0cNAAsLIAdBEzYCtAELIAdBBzYCoAEgByAYNgKYASAHIBg2ArgBQQAhCEEAIBxBEyAaIB0gGRBOIg0EQCAHQdH+ADYCBCAMQfQINgIYIAcoAgQhCAwXCyAHQcb+ADYCBCAHQQA2ArQBQQAhDQsgBygCrAEiFSAHKAKwAWoiESAISwRAQX8gBygCoAF0QX9zIRIgBygCmAEhGwNAIAYhCSABIQsCQCAFIgMgGyAKIBJxIhNBAnRqLQABIg5PBEAgBSEEDAELA0AgCUUNDSALLQAAIAN0IQ4gC0EBaiELIAlBAWshCSADQQhqIgQhAyAEIBsgCiAOaiIKIBJxIhNBAnRqLQABIg5JDQALIAshASAJIQYLAkAgGyATQQJ0ai8BAiIFQQ9NBEAgByAIQQFqIgk2ArQBIAcgCEEBdGogBTsBvAEgBCAOayEFIAogDnYhCiAJIQgMAQsCfwJ/AkACQAJAIAVBEGsOAgABAgsgDkECaiIFIARLBEADQCAGRQ0bIAZBAWshBiABLQAAIAR0IApqIQogAUEBaiEBIARBCGoiBCAFSQ0ACwsgBCAOayEFIAogDnYhBCAIRQRAIAdB0f4ANgIEIAxBvAk2AhggBCEKIAcoAgQhCAwdCyAFQQJrIQUgBEECdiEKIARBA3FBA2ohCSAIQQF0IAdqLwG6AQwDCyAOQQNqIgUgBEsEQANAIAZFDRogBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQNrIQUgCiAOdiIEQQN2IQogBEEHcUEDagwBCyAOQQdqIgUgBEsEQANAIAZFDRkgBkEBayEGIAEtAAAgBHQgCmohCiABQQFqIQEgBEEIaiIEIAVJDQALCyAEIA5rQQdrIQUgCiAOdiIEQQd2IQogBEH/AHFBC2oLIQlBAAshAyAIIAlqIBFLDRMgCUEBayEEIAlBA3EiCwRAA0AgByAIQQF0aiADOwG8ASAIQQFqIQggCUEBayEJIAtBAWsiCw0ACwsgBEEDTwRAA0AgByAIQQF0aiIEIAM7Ab4BIAQgAzsBvAEgBCADOwHAASAEIAM7AcIBIAhBBGohCCAJQQRrIgkNAAsLIAcgCDYCtAELIAggEUkNAAsLIAcvAbwFRQRAIAdB0f4ANgIEIAxB0Qs2AhggBygCBCEIDBYLIAdBCjYCoAEgByAYNgKYASAHIBg2ArgBQQEgHCAVIBogHSAZEE4iDQRAIAdB0f4ANgIEIAxB2Ag2AhggBygCBCEIDBYLIAdBCTYCpAEgByAHKAK4ATYCnAFBAiAHIAcoAqwBQQF0akG8AWogBygCsAEgGiAfIBkQTiINBEAgB0HR/gA2AgQgDEGmCTYCGCAHKAIEIQgMFgsgB0HH/gA2AgRBACENCyAHQcj+ADYCBAsCQCAGQQ9JDQAgD0GEAkkNACAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBIAwgFkHogAEoAgARBwAgBygCiAEhBSAHKAKEASEKIAwoAgQhBiAMKAIAIQEgDCgCECEPIAwoAgwhECAHKAIEQb/+AEcNByAHQX82ApBHIAcoAgQhCAwUCyAHQQA2ApBHIAUhCSAGIQggASEEAkAgBygCmAEiEiAKQX8gBygCoAF0QX9zIhVxIg5BAnRqLQABIgsgBU0EQCAFIQMMAQsDQCAIRQ0PIAQtAAAgCXQhCyAEQQFqIQQgCEEBayEIIAlBCGoiAyEJIAMgEiAKIAtqIgogFXEiDkECdGotAAEiC0kNAAsLIBIgDkECdGoiAS8BAiETAkBBACABLQAAIhEgEUHwAXEbRQRAIAshBgwBCyAIIQYgBCEBAkAgAyIFIAsgEiAKQX8gCyARanRBf3MiFXEgC3YgE2oiEUECdGotAAEiDmpPBEAgAyEJDAELA0AgBkUNDyABLQAAIAV0IQ4gAUEBaiEBIAZBAWshBiAFQQhqIgkhBSALIBIgCiAOaiIKIBVxIAt2IBNqIhFBAnRqLQABIg5qIAlLDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAs2ApBHIAsgDmohBiAJIAtrIQMgCiALdiEKIA4hCwsgByAGNgKQRyAHIBNB//8DcTYCjAEgAyALayEFIAogC3YhCiARRQRAIAdBzf4ANgIEDBALIBFBIHEEQCAHQb/+ADYCBCAHQX82ApBHDBALIBFBwABxBEAgB0HR/gA2AgQgDEHQDjYCGAwQCyAHQcn+ADYCBCAHIBFBD3EiAzYClAELAkAgA0UEQCAHKAKMASELIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNDSAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKMASAKQX8gA3RBf3NxaiILNgKMASAJIANrIQUgCiADdiEKCyAHQcr+ADYCBCAHIAs2ApRHCyAFIQkgBiEIIAEhBAJAIAcoApwBIhIgCkF/IAcoAqQBdEF/cyIVcSIOQQJ0ai0AASIDIAVNBEAgBSELDAELA0AgCEUNCiAELQAAIAl0IQMgBEEBaiEEIAhBAWshCCAJQQhqIgshCSALIBIgAyAKaiIKIBVxIg5BAnRqLQABIgNJDQALCyASIA5BAnRqIgEvAQIhEwJAIAEtAAAiEUHwAXEEQCAHKAKQRyEGIAMhCQwBCyAIIQYgBCEBAkAgCyIFIAMgEiAKQX8gAyARanRBf3MiFXEgA3YgE2oiEUECdGotAAEiCWpPBEAgCyEODAELA0AgBkUNCiABLQAAIAV0IQkgAUEBaiEBIAZBAWshBiAFQQhqIg4hBSADIBIgCSAKaiIKIBVxIAN2IBNqIhFBAnRqLQABIglqIA5LDQALIAEhBCAGIQgLIBIgEUECdGoiAS0AACERIAEvAQIhEyAHIAcoApBHIANqIgY2ApBHIA4gA2shCyAKIAN2IQoLIAcgBiAJajYCkEcgCyAJayEFIAogCXYhCiARQcAAcQRAIAdB0f4ANgIEIAxB7A42AhggBCEBIAghBiAHKAIEIQgMEgsgB0HL/gA2AgQgByARQQ9xIgM2ApQBIAcgE0H//wNxNgKQAQsCQCADRQRAIAQhASAIIQYMAQsgBSEJIAghBiAEIQsCQCADIAVNBEAgBCEBDAELA0AgBkUNCCAGQQFrIQYgCy0AACAJdCAKaiEKIAtBAWoiASELIAlBCGoiCSADSQ0ACwsgByAHKAKQRyADajYCkEcgByAHKAKQASAKQX8gA3RBf3NxajYCkAEgCSADayEFIAogA3YhCgsgB0HM/gA2AgQLIA9FDQACfyAHKAKQASIIIBYgD2siBEsEQAJAIAggBGsiCCAHKAIwTQ0AIAcoAoxHRQ0AIAdB0f4ANgIEIAxBuQw2AhggBygCBCEIDBILAn8CQAJ/IAcoAjQiBCAISQRAIAcoAjggBygCLCAIIARrIghragwBCyAHKAI4IAQgCGtqCyILIBAgDyAQaiAQa0EBaqwiISAPIAcoAowBIgQgCCAEIAhJGyIEIAQgD0sbIgitIiIgISAiVBsiIqciCWoiBEkgCyAQT3ENACALIBBNIAkgC2ogEEtxDQAgECALIAkQBxogBAwBCyAQIAsgCyAQayIEIARBH3UiBGogBHMiCRAHIAlqIQQgIiAJrSIkfSIjUEUEQCAJIAtqIQkDQAJAICMgJCAjICRUGyIiQiBUBEAgIiEhDAELICIiIUIgfSImQgWIQgF8QgODIiVQRQRAA0AgBCAJKQAANwAAIAQgCSkAGDcAGCAEIAkpABA3ABAgBCAJKQAINwAIICFCIH0hISAJQSBqIQkgBEEgaiEEICVCAX0iJUIAUg0ACwsgJkLgAFQNAANAIAQgCSkAADcAACAEIAkpABg3ABggBCAJKQAQNwAQIAQgCSkACDcACCAEIAkpADg3ADggBCAJKQAwNwAwIAQgCSkAKDcAKCAEIAkpACA3ACAgBCAJKQBYNwBYIAQgCSkAUDcAUCAEIAkpAEg3AEggBCAJKQBANwBAIAQgCSkAYDcAYCAEIAkpAGg3AGggBCAJKQBwNwBwIAQgCSkAeDcAeCAJQYABaiEJIARBgAFqIQQgIUKAAX0iIUIfVg0ACwsgIUIQWgRAIAQgCSkAADcAACAEIAkpAAg3AAggIUIQfSEhIAlBEGohCSAEQRBqIQQLICFCCFoEQCAEIAkpAAA3AAAgIUIIfSEhIAlBCGohCSAEQQhqIQQLICFCBFoEQCAEIAkoAAA2AAAgIUIEfSEhIAlBBGohCSAEQQRqIQQLICFCAloEQCAEIAkvAAA7AAAgIUICfSEhIAlBAmohCSAEQQJqIQQLICMgIn0hIyAhUEUEQCAEIAktAAA6AAAgCUEBaiEJIARBAWohBAsgI0IAUg0ACwsgBAsMAQsgECAIIA8gBygCjAEiBCAEIA9LGyIIIA9ByIABKAIAEQQACyEQIAcgBygCjAEgCGsiBDYCjAEgDyAIayEPIAQNAiAHQcj+ADYCBCAHKAIEIQgMDwsgDSEJCyAJIQQMDgsgBygCBCEIDAwLIAEgBmohASAFIAZBA3RqIQUMCgsgBCAIaiEBIAUgCEEDdGohBQwJCyAEIAhqIQEgCyAIQQN0aiEFDAgLIAEgBmohASAFIAZBA3RqIQUMBwsgBCAIaiEBIAUgCEEDdGohBQwGCyAEIAhqIQEgAyAIQQN0aiEFDAULIAEgBmohASAFIAZBA3RqIQUMBAsgB0HR/gA2AgQgDEG8CTYCGCAHKAIEIQgMBAsgBCEBIAghBiAHKAIEIQgMAwtBACEGIAQhBSANIQQMAwsCQAJAIAhFBEAgCiEJDAELIAcoAhRFBEAgCiEJDAELAkAgBUEfSw0AIAZFDQMgBUEIaiEJIAFBAWohBCAGQQFrIQsgAS0AACAFdCAKaiEKIAVBGE8EQCAEIQEgCyEGIAkhBQwBCyALRQRAIAQhAUEAIQYgCSEFIA0hBAwGCyAFQRBqIQsgAUECaiEEIAZBAmshAyABLQABIAl0IApqIQogBUEPSwRAIAQhASADIQYgCyEFDAELIANFBEAgBCEBQQAhBiALIQUgDSEEDAYLIAVBGGohCSABQQNqIQQgBkEDayEDIAEtAAIgC3QgCmohCiAFQQdLBEAgBCEBIAMhBiAJIQUMAQsgA0UEQCAEIQFBACEGIAkhBSANIQQMBgsgBUEgaiEFIAZBBGshBiABLQADIAl0IApqIQogAUEEaiEBC0EAIQkgCEEEcQRAIAogBygCIEcNAgtBACEFCyAHQdD+ADYCBEEBIQQgCSEKDAMLIAdB0f4ANgIEIAxBjQw2AhggBygCBCEIDAELC0EAIQYgDSEECyAMIA82AhAgDCAQNgIMIAwgBjYCBCAMIAE2AgAgByAFNgKIASAHIAo2AoQBAkAgBygCLA0AIA8gFkYNAiAHKAIEIgFB0P4ASw0CIAFBzv4ASQ0ACwJ/IBYgD2shCiAHKAIMQQRxIQkCQAJAAkAgDCgCHCIDKAI4Ig1FBEBBASEIIAMgAygCACIBKAIgIAEoAiggAygCmEdBASADKAIodGpBARAoIg02AjggDUUNAQsgAygCLCIGRQRAIANCADcDMCADQQEgAygCKHQiBjYCLAsgBiAKTQRAAkAgCQRAAkAgBiAKTw0AIAogBmshBSAQIAprIQEgDCgCHCIGKAIUBEAgBkFAayABIAVBAEHYgAEoAgARCAAMAQsgBiAGKAIcIAEgBUHAgAEoAgARAAAiATYCHCAMIAE2AjALIAMoAiwiDUUNASAQIA1rIQUgAygCOCEBIAwoAhwiBigCFARAIAZBQGsgASAFIA1B3IABKAIAEQgADAILIAYgBigCHCABIAUgDUHEgAEoAgARBAAiATYCHCAMIAE2AjAMAQsgDSAQIAZrIAYQBxoLIANBADYCNCADIAMoAiw2AjBBAAwECyAKIAYgAygCNCIFayIBIAEgCksbIQsgECAKayEGIAUgDWohBQJAIAkEQAJAIAtFDQAgDCgCHCIBKAIUBEAgAUFAayAFIAYgC0HcgAEoAgARCAAMAQsgASABKAIcIAUgBiALQcSAASgCABEEACIBNgIcIAwgATYCMAsgCiALayIFRQ0BIBAgBWshBiADKAI4IQEgDCgCHCINKAIUBEAgDUFAayABIAYgBUHcgAEoAgARCAAMBQsgDSANKAIcIAEgBiAFQcSAASgCABEEACIBNgIcIAwgATYCMAwECyAFIAYgCxAHGiAKIAtrIgUNAgtBACEIIANBACADKAI0IAtqIgUgBSADKAIsIgFGGzYCNCABIAMoAjAiAU0NACADIAEgC2o2AjALIAgMAgsgAygCOCAQIAVrIAUQBxoLIAMgBTYCNCADIAMoAiw2AjBBAAtFBEAgDCgCECEPIAwoAgQhFyAHKAKIAQwDCyAHQdL+ADYCBAtBfCEXDAILIAYhFyAFCyEFIAwgICAXayIBIAwoAghqNgIIIAwgFiAPayIGIAwoAhRqNgIUIAcgBygCICAGajYCICAMIAcoAghBAEdBBnQgBWogBygCBCIFQb/+AEZBB3RqQYACIAVBwv4ARkEIdCAFQcf+AEYbajYCLCAEIARBeyAEGyABIAZyGyEXCyAUQRBqJAAgFwshASACIAIpAwAgADUCIH03AwACQAJAAkACQCABQQVqDgcBAgICAgMAAgtBAQ8LIAAoAhQNAEEDDwsgACgCACIABEAgACABNgIEIABBDTYCAAtBAiEBCyABCwkAIABBAToADAtEAAJAIAJC/////w9YBEAgACgCFEUNAQsgACgCACIABEAgAEEANgIEIABBEjYCAAtBAA8LIAAgATYCECAAIAI+AhRBAQu5AQEEfyAAQRBqIQECfyAALQAEBEAgARCEAQwBC0F+IQMCQCABRQ0AIAEoAiBFDQAgASgCJCIERQ0AIAEoAhwiAkUNACACKAIAIAFHDQAgAigCBEG0/gBrQR9LDQAgAigCOCIDBEAgBCABKAIoIAMQHiABKAIkIQQgASgCHCECCyAEIAEoAiggAhAeQQAhAyABQQA2AhwLIAMLIgEEQCAAKAIAIgAEQCAAIAE2AgQgAEENNgIACwsgAUUL0gwBBn8gAEIANwIQIABCADcCHCAAQRBqIQICfyAALQAEBEAgACgCCCEBQesMLQAAQTFGBH8Cf0F+IQMCQCACRQ0AIAJBADYCGCACKAIgIgRFBEAgAkEANgIoIAJBJzYCIEEnIQQLIAIoAiRFBEAgAkEoNgIkC0EGIAEgAUF/RhsiBUEASA0AIAVBCUoNAEF8IQMgBCACKAIoQQFB0C4QKCIBRQ0AIAIgATYCHCABIAI2AgAgAUEPNgI0IAFCgICAgKAFNwIcIAFBADYCFCABQYCAAjYCMCABQf//ATYCOCABIAIoAiAgAigCKEGAgAJBAhAoNgJIIAEgAigCICACKAIoIAEoAjBBAhAoIgM2AkwgA0EAIAEoAjBBAXQQGSACKAIgIAIoAihBgIAEQQIQKCEDIAFBgIACNgLoLSABQQA2AkAgASADNgJQIAEgAigCICACKAIoQYCAAkEEECgiAzYCBCABIAEoAugtIgRBAnQ2AgwCQAJAIAEoAkhFDQAgASgCTEUNACABKAJQRQ0AIAMNAQsgAUGaBTYCICACQejAACgCADYCGCACEIQBGkF8DAILIAFBADYCjAEgASAFNgKIASABQgA3AyggASADIARqNgLsLSABIARBA2xBA2s2AvQtQX4hAwJAIAJFDQAgAigCIEUNACACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQACQAJAIAEoAiAiBEE5aw45AQICAgICAgICAgICAQICAgECAgICAgICAgICAgICAgICAgECAgICAgICAgICAgECAgICAgICAgIBAAsgBEGaBUYNACAEQSpHDQELIAJBAjYCLCACQQA2AgggAkIANwIUIAFBADYCECABIAEoAgQ2AgggASgCFCIDQX9MBEAgAUEAIANrIgM2AhQLIAFBOUEqIANBAkYbNgIgIAIgA0ECRgR/IAFBoAFqQeSAASgCABEBAAVBAQs2AjAgAUF+NgIkIAFBADYCoC4gAUIANwOYLiABQYgXakGg0wA2AgAgASABQcwVajYCgBcgAUH8FmpBjNMANgIAIAEgAUHYE2o2AvQWIAFB8BZqQfjSADYCACABIAFB5AFqNgLoFiABEIgBQQAhAwsgAw0AIAIoAhwiAiACKAIwQQF0NgJEQQAhAyACKAJQQQBBgIAIEBkgAiACKAKIASIEQQxsIgFBtNgAai8BADYClAEgAiABQbDYAGovAQA2ApABIAIgAUGy2ABqLwEANgJ4IAIgAUG22ABqLwEANgJ0QfiAASgCACEFQeyAASgCACEGQYCBASgCACEBIAJCADcCbCACQgA3AmQgAkEANgI8IAJBADYChC4gAkIANwJUIAJBKSABIARBCUYiARs2AnwgAkEqIAYgARs2AoABIAJBKyAFIAEbNgKEAQsgAwsFQXoLDAELAn9BekHrDC0AAEExRw0AGkF+IAJFDQAaIAJBADYCGCACKAIgIgNFBEAgAkEANgIoIAJBJzYCIEEnIQMLIAIoAiRFBEAgAkEoNgIkC0F8IAMgAigCKEEBQaDHABAoIgRFDQAaIAIgBDYCHCAEQQA2AjggBCACNgIAIARBtP4ANgIEIARBzIABKAIAEQkANgKYR0F+IQMCQCACRQ0AIAIoAiBFDQAgAigCJCIFRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQACQAJAIAEoAjgiBgRAIAEoAihBD0cNAQsgAUEPNgIoIAFBADYCDAwBCyAFIAIoAiggBhAeIAFBADYCOCACKAIgIQUgAUEPNgIoIAFBADYCDCAFRQ0BCyACKAIkRQ0AIAIoAhwiAUUNACABKAIAIAJHDQAgASgCBEG0/gBrQR9LDQBBACEDIAFBADYCNCABQgA3AiwgAUEANgIgIAJBADYCCCACQgA3AhQgASgCDCIFBEAgAiAFQQFxNgIwCyABQrT+ADcCBCABQgA3AoQBIAFBADYCJCABQoCAgoAQNwMYIAFCgICAgHA3AxAgAUKBgICAcDcCjEcgASABQfwKaiIFNgK4ASABIAU2ApwBIAEgBTYCmAELQQAgA0UNABogAigCJCACKAIoIAQQHiACQQA2AhwgAwsLIgIEQCAAKAIAIgAEQCAAIAI2AgQgAEENNgIACwsgAkULKQEBfyAALQAERQRAQQAPC0ECIQEgACgCCCIAQQNOBH8gAEEHSgVBAgsLBgAgABAGC2MAQcgAEAkiAEUEQEGEhAEoAgAhASACBEAgAiABNgIEIAJBATYCAAsgAA8LIABBADoADCAAQQE6AAQgACACNgIAIABBADYCOCAAQgA3AzAgACABQQkgAUEBa0EJSRs2AgggAAukCgIIfwF+QfCAAUH0gAEgACgCdEGBCEkbIQYCQANAAkACfwJAIAAoAjxBhQJLDQAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNAiACQQRPDQBBAAwBCyAAIAAoAmggACgChAERAgALIQMgACAAKAJsOwFgQQIhAgJAIAA1AmggA619IgpCAVMNACAKIAAoAjBBhgJrrVUNACAAKAJwIAAoAnhPDQAgA0UNACAAIAMgBigCABECACICQQVLDQBBAiACIAAoAowBQQFGGyECCwJAIAAoAnAiA0EDSQ0AIAIgA0sNACAAIAAoAvAtIgJBAWo2AvAtIAAoAjwhBCACIAAoAuwtaiAAKAJoIgcgAC8BYEF/c2oiAjoAACAAIAAoAvAtIgVBAWo2AvAtIAUgACgC7C1qIAJBCHY6AAAgACAAKALwLSIFQQFqNgLwLSAFIAAoAuwtaiADQQNrOgAAIAAgACgCgC5BAWo2AoAuIANB/c4Aai0AAEECdCAAakHoCWoiAyADLwEAQQFqOwEAIAAgAkEBayICIAJBB3ZBgAJqIAJBgAJJG0GAywBqLQAAQQJ0akHYE2oiAiACLwEAQQFqOwEAIAAgACgCcCIFQQFrIgM2AnAgACAAKAI8IANrNgI8IAAoAvQtIQggACgC8C0hCSAEIAdqQQNrIgQgACgCaCICSwRAIAAgAkEBaiAEIAJrIgIgBUECayIEIAIgBEkbIAAoAoABEQUAIAAoAmghAgsgAEEANgJkIABBADYCcCAAIAIgA2oiBDYCaCAIIAlHDQJBACECIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgBCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQIMAwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAyAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qQQA6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtakEAOgAAIAAgACgC8C0iBEEBajYC8C0gBCAAKALsLWogAzoAACAAIANBAnRqIgMgAy8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRgRAIAAgACgCWCIDQQBOBH8gACgCSCADagVBAAsgACgCaCADa0EAEA8gACAAKAJoNgJYIAAoAgAQCgsgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwgACgCACgCEA0CQQAPBSAAQQE2AmQgACACNgJwIAAgACgCaEEBajYCaCAAIAAoAjxBAWs2AjwMAgsACwsgACgCZARAIAAoAmggACgCSGpBAWstAAAhAiAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtakEAOgAAIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWogAjoAACAAIAJBAnRqIgIgAi8B5AFBAWo7AeQBIAAoAvAtIAAoAvQtRhogAEEANgJkCyAAIAAoAmgiA0ECIANBAkkbNgKELiABQQRGBEAgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyADIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACECIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgAyABa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0BC0EBIQILIAIL2BACEH8BfiAAKAKIAUEFSCEOA0ACQAJ/AkACQAJAAn8CQAJAIAAoAjxBhQJNBEAgABAvIAAoAjwiA0GFAksNASABDQFBAA8LIA4NASAIIQMgBSEHIAohDSAGQf//A3FFDQEMAwsgA0UNA0EAIANBBEkNARoLIAAgACgCaEH4gAEoAgARAgALIQZBASECQQAhDSAAKAJoIgOtIAatfSISQgFTDQIgEiAAKAIwQYYCa61VDQIgBkUNAiAAIAZB8IABKAIAEQIAIgZBASAGQfz/A3EbQQEgACgCbCINQf//A3EgA0H//wNxSRshBiADIQcLAkAgACgCPCIEIAZB//8DcSICQQRqTQ0AIAZB//8DcUEDTQRAQQEgBkEBa0H//wNxIglFDQQaIANB//8DcSIEIAdBAWpB//8DcSIDSw0BIAAgAyAJIAQgA2tBAWogAyAJaiAESxtB7IABKAIAEQUADAELAkAgACgCeEEEdCACSQ0AIARBBEkNACAGQQFrQf//A3EiDCAHQQFqQf//A3EiBGohCSAEIANB//8DcSIDTwRAQeyAASgCACELIAMgCUkEQCAAIAQgDCALEQUADAMLIAAgBCADIARrQQFqIAsRBQAMAgsgAyAJTw0BIAAgAyAJIANrQeyAASgCABEFAAwBCyAGIAdqQf//A3EiA0UNACAAIANBAWtB+IABKAIAEQIAGgsgBgwCCyAAIAAoAmgiBUECIAVBAkkbNgKELiABQQRGBEBBACEDIAAgACgCWCIBQQBOBH8gACgCSCABagVBAAsgBSABa0EBEA8gACAAKAJoNgJYIAAoAgAQCkEDQQIgACgCACgCEBsPCyAAKALwLQRAQQAhAkEAIQMgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAFIAFrQQAQDyAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQMLQQEhAgwCCyADIQdBAQshBEEAIQYCQCAODQAgACgCPEGHAkkNACACIAdB//8DcSIQaiIDIAAoAkRBhgJrTw0AIAAgAzYCaEEAIQogACADQfiAASgCABECACEFAn8CQCAAKAJoIgitIAWtfSISQgFTDQAgEiAAKAIwQYYCa61VDQAgBUUNACAAIAVB8IABKAIAEQIAIQYgAC8BbCIKIAhB//8DcSIFTw0AIAZB//8DcSIDQQRJDQAgCCAEQf//A3FBAkkNARogCCACIApBAWpLDQEaIAggAiAFQQFqSw0BGiAIIAAoAkgiCSACa0EBaiICIApqLQAAIAIgBWotAABHDQEaIAggCUEBayICIApqIgwtAAAgAiAFaiIPLQAARw0BGiAIIAUgCCAAKAIwQYYCayICa0H//wNxQQAgAiAFSRsiEU0NARogCCADQf8BSw0BGiAGIQUgCCECIAQhAyAIIAoiCUECSQ0BGgNAAkAgA0EBayEDIAVBAWohCyAJQQFrIQkgAkEBayECIAxBAWsiDC0AACAPQQFrIg8tAABHDQAgA0H//wNxRQ0AIBEgAkH//wNxTw0AIAVB//8DcUH+AUsNACALIQUgCUH//wNxQQFLDQELCyAIIANB//8DcUEBSw0BGiAIIAtB//8DcUECRg0BGiAIQQFqIQggAyEEIAshBiAJIQogAgwBC0EBIQYgCAshBSAAIBA2AmgLAn8gBEH//wNxIgNBA00EQCAEQf//A3EiA0UNAyAAKAJIIAdB//8DcWotAAAhBCAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBDoAACAAIARBAnRqIgRB5AFqIAQvAeQBQQFqOwEAIAAgACgCPEEBazYCPCAAKALwLSICIAAoAvQtRiIEIANBAUYNARogACgCSCAHQQFqQf//A3FqLQAAIQkgACACQQFqNgLwLSAAKALsLSACakEAOgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAk6AAAgACAJQQJ0aiICQeQBaiACLwHkAUEBajsBACAAIAAoAjxBAWs2AjwgBCAAKALwLSICIAAoAvQtRmoiBCADQQJGDQEaIAAoAkggB0ECakH//wNxai0AACEHIAAgAkEBajYC8C0gACgC7C0gAmpBADoAACAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qQQA6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHOgAAIAAgB0ECdGoiB0HkAWogBy8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAQgACgC8C0gACgC9C1GagwBCyAAIAAoAvAtIgJBAWo2AvAtIAIgACgC7C1qIAdB//8DcSANQf//A3FrIgc6AAAgACAAKALwLSICQQFqNgLwLSACIAAoAuwtaiAHQQh2OgAAIAAgACgC8C0iAkEBajYC8C0gAiAAKALsLWogBEEDazoAACAAIAAoAoAuQQFqNgKALiADQf3OAGotAABBAnQgAGpB6AlqIgQgBC8BAEEBajsBACAAIAdBAWsiBCAEQQd2QYACaiAEQYACSRtBgMsAai0AAEECdGpB2BNqIgQgBC8BAEEBajsBACAAIAAoAjwgA2s2AjwgACgC8C0gACgC9C1GCyEEIAAgACgCaCADaiIHNgJoIARFDQFBACECQQAhBCAAIAAoAlgiA0EATgR/IAAoAkggA2oFQQALIAcgA2tBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEA0BCwsgAgu0BwIEfwF+AkADQAJAAkACQAJAIAAoAjxBhQJNBEAgABAvAkAgACgCPCICQYUCSw0AIAENAEEADwsgAkUNBCACQQRJDQELIAAgACgCaEH4gAEoAgARAgAhAiAANQJoIAKtfSIGQgFTDQAgBiAAKAIwQYYCa61VDQAgAkUNACAAIAJB8IABKAIAEQIAIgJBBEkNACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qIAAoAmggACgCbGsiAzoAACAAIAAoAvAtIgRBAWo2AvAtIAQgACgC7C1qIANBCHY6AAAgACAAKALwLSIEQQFqNgLwLSAEIAAoAuwtaiACQQNrOgAAIAAgACgCgC5BAWo2AoAuIAJB/c4Aai0AAEECdCAAakHoCWoiBCAELwEAQQFqOwEAIAAgA0EBayIDIANBB3ZBgAJqIANBgAJJG0GAywBqLQAAQQJ0akHYE2oiAyADLwEAQQFqOwEAIAAgACgCPCACayIFNgI8IAAoAvQtIQMgACgC8C0hBCAAKAJ4IAJPQQAgBUEDSxsNASAAIAAoAmggAmoiAjYCaCAAIAJBAWtB+IABKAIAEQIAGiADIARHDQQMAgsgACgCSCAAKAJoai0AACECIAAgACgC8C0iA0EBajYC8C0gAyAAKALsLWpBADoAACAAIAAoAvAtIgNBAWo2AvAtIAMgACgC7C1qQQA6AAAgACAAKALwLSIDQQFqNgLwLSADIAAoAuwtaiACOgAAIAAgAkECdGoiAkHkAWogAi8B5AFBAWo7AQAgACAAKAI8QQFrNgI8IAAgACgCaEEBajYCaCAAKALwLSAAKAL0LUcNAwwBCyAAIAAoAmhBAWoiBTYCaCAAIAUgAkEBayICQeyAASgCABEFACAAIAAoAmggAmo2AmggAyAERw0CC0EAIQNBACECIAAgACgCWCIEQQBOBH8gACgCSCAEagVBAAsgACgCaCAEa0EAEA8gACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQEMAgsLIAAgACgCaCIEQQIgBEECSRs2AoQuIAFBBEYEQEEAIQIgACAAKAJYIgFBAE4EfyAAKAJIIAFqBUEACyAEIAFrQQEQDyAAIAAoAmg2AlggACgCABAKQQNBAiAAKAIAKAIQGw8LIAAoAvAtBEBBACEDQQAhAiAAIAAoAlgiAUEATgR/IAAoAkggAWoFQQALIAQgAWtBABAPIAAgACgCaDYCWCAAKAIAEAogACgCACgCEEUNAQtBASEDCyADC80JAgl/An4gAUEERiEGIAAoAiwhAgJAAkACQCABQQRGBEAgAkECRg0CIAIEQCAAQQAQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQRQ0ECyAAIAYQTyAAQQI2AiwMAQsgAg0BIAAoAjxFDQEgACAGEE8gAEEBNgIsCyAAIAAoAmg2AlgLQQJBASABQQRGGyEKA0ACQCAAKAIMIAAoAhBBCGpLDQAgACgCABAKIAAoAgAiAigCEA0AQQAhAyABQQRHDQIgAigCBA0CIAAoAqAuDQIgACgCLEVBAXQPCwJAAkAgACgCPEGFAk0EQCAAEC8CQCAAKAI8IgNBhQJLDQAgAQ0AQQAPCyADRQ0CIAAoAiwEfyADBSAAIAYQTyAAIAo2AiwgACAAKAJoNgJYIAAoAjwLQQRJDQELIAAgACgCaEH4gAEoAgARAgAhBCAAKAJoIgKtIAStfSILQgFTDQAgCyAAKAIwQYYCa61VDQAgAiAAKAJIIgJqIgMvAAAgAiAEaiICLwAARw0AIANBAmogAkECakHQgAEoAgARAgBBAmoiA0EESQ0AIAAoAjwiAiADIAIgA0kbIgJBggIgAkGCAkkbIgdB/c4Aai0AACICQQJ0IgRBhMkAajMBACEMIARBhskAai8BACEDIAJBCGtBE00EQCAHQQNrIARBgNEAaigCAGutIAOthiAMhCEMIARBsNYAaigCACADaiEDCyAAKAKgLiEFIAMgC6dBAWsiCCAIQQd2QYACaiAIQYACSRtBgMsAai0AACICQQJ0IglBgsoAai8BAGohBCAJQYDKAGozAQAgA62GIAyEIQsgACkDmC4hDAJAIAUgAkEESQR/IAQFIAggCUGA0gBqKAIAa60gBK2GIAuEIQsgCUGw1wBqKAIAIARqCyICaiIDQT9NBEAgCyAFrYYgDIQhCwwBCyAFQcAARgRAIAAoAgQgACgCEGogDDcAACAAIAAoAhBBCGo2AhAgAiEDDAELIAAoAgQgACgCEGogCyAFrYYgDIQ3AAAgACAAKAIQQQhqNgIQIANBQGohAyALQcAAIAVrrYghCwsgACALNwOYLiAAIAM2AqAuIAAgACgCPCAHazYCPCAAIAAoAmggB2o2AmgMAgsgACgCSCAAKAJoai0AAEECdCICQYDBAGozAQAhCyAAKQOYLiEMAkAgACgCoC4iBCACQYLBAGovAQAiAmoiA0E/TQRAIAsgBK2GIAyEIQsMAQsgBEHAAEYEQCAAKAIEIAAoAhBqIAw3AAAgACAAKAIQQQhqNgIQIAIhAwwBCyAAKAIEIAAoAhBqIAsgBK2GIAyENwAAIAAgACgCEEEIajYCECADQUBqIQMgC0HAACAEa62IIQsLIAAgCzcDmC4gACADNgKgLiAAIAAoAmhBAWo2AmggACAAKAI8QQFrNgI8DAELCyAAIAAoAmgiAkECIAJBAkkbNgKELiAAKAIsIQIgAUEERgRAAkAgAkUNACAAQQEQUCAAQQA2AiwgACAAKAJoNgJYIAAoAgAQCiAAKAIAKAIQDQBBAg8LQQMPCyACBEBBACEDIABBABBQIABBADYCLCAAIAAoAmg2AlggACgCABAKIAAoAgAoAhBFDQELQQEhAwsgAwucAQEFfyACQQFOBEAgAiAAKAJIIAFqIgNqQQJqIQQgA0ECaiECIAAoAlQhAyAAKAJQIQUDQCAAIAItAAAgA0EFdEHg/wFxcyIDNgJUIAUgA0EBdGoiBi8BACIHIAFB//8DcUcEQCAAKAJMIAEgACgCOHFB//8DcUEBdGogBzsBACAGIAE7AQALIAFBAWohASACQQFqIgIgBEkNAAsLC1sBAn8gACAAKAJIIAFqLQACIAAoAlRBBXRB4P8BcXMiAjYCVCABIAAoAlAgAkEBdGoiAy8BACICRwRAIAAoAkwgACgCOCABcUEBdGogAjsBACADIAE7AQALIAILEwAgAUEFdEHg/wFxIAJB/wFxcwsGACABEAYLLwAjAEEQayIAJAAgAEEMaiABIAJsEIwBIQEgACgCDCECIABBEGokAEEAIAIgARsLjAoCAX4CfyMAQfAAayIGJAACQAJAAkACQAJAAkACQAJAIAQODwABBwIEBQYGBgYGBgYGAwYLQn8hBQJAIAAgBkHkAGpCDBARIgNCf1cEQCABBEAgASAAKAIMNgIAIAEgACgCEDYCBAsMAQsCQCADQgxSBEAgAQRAIAFBADYCBCABQRE2AgALDAELIAEoAhQhBEEAIQJCASEFA0AgBkHkAGogAmoiAiACLQAAIARB/f8DcSICQQJyIAJBA3NsQQh2cyICOgAAIAYgAjoAKCABAn8gASgCDEF/cyECQQAgBkEoaiIERQ0AGiACIARBAUHUgAEoAgARAAALQX9zIgI2AgwgASABKAIQIAJB/wFxakGFiKLAAGxBAWoiAjYCECAGIAJBGHY6ACggAQJ/IAEoAhRBf3MhAkEAIAZBKGoiBEUNABogAiAEQQFB1IABKAIAEQAAC0F/cyIENgIUIAVCDFIEQCAFpyECIAVCAXwhBQwBCwtCACEFIAAgBkEoahAhQQBIDQEgBigCUCEAIwBBEGsiAiQAIAIgADYCDCAGAn8gAkEMahCNASIARQRAIAZBITsBJEEADAELAn8gACgCFCIEQdAATgRAIARBCXQMAQsgAEHQADYCFEGAwAILIQQgBiAAKAIMIAQgACgCEEEFdGpqQaDAAWo7ASQgACgCBEEFdCAAKAIIQQt0aiAAKAIAQQF2ags7ASYgAkEQaiQAIAYtAG8iACAGLQBXRg0BIAYtACcgAEYNASABBEAgAUEANgIEIAFBGzYCAAsLQn8hBQsgBkHwAGokACAFDwtCfyEFIAAgAiADEBEiA0J/VwRAIAEEQCABIAAoAgw2AgAgASAAKAIQNgIECwwGCyMAQRBrIgAkAAJAIANQDQAgASgCFCEEIAJFBEBCASEFA0AgACACIAdqLQAAIARB/f8DcSIEQQJyIARBA3NsQQh2czoADyABAn8gASgCDEF/cyEEQQAgAEEPaiIHRQ0AGiAEIAdBAUHUgAEoAgARAAALQX9zIgQ2AgwgASABKAIQIARB/wFxakGFiKLAAGxBAWoiBDYCECAAIARBGHY6AA8gAQJ/IAEoAhRBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIUIAMgBVENAiAFpyEHIAVCAXwhBQwACwALQgEhBQNAIAAgAiAHai0AACAEQf3/A3EiBEECciAEQQNzbEEIdnMiBDoADyACIAdqIAQ6AAAgAQJ/IAEoAgxBf3MhBEEAIABBD2oiB0UNABogBCAHQQFB1IABKAIAEQAAC0F/cyIENgIMIAEgASgCECAEQf8BcWpBhYiiwABsQQFqIgQ2AhAgACAEQRh2OgAPIAECfyABKAIUQX9zIQRBACAAQQ9qIgdFDQAaIAQgB0EBQdSAASgCABEAAAtBf3MiBDYCFCADIAVRDQEgBachByAFQgF8IQUMAAsACyAAQRBqJAAgAyEFDAULIAJBADsBMiACIAIpAwAiA0KAAYQ3AwAgA0IIg1ANBCACIAIpAyBCDH03AyAMBAsgBkKFgICAcDcDECAGQoOAgIDAADcDCCAGQoGAgIAgNwMAQQAgBhAkIQUMAwsgA0IIWgR+IAIgASgCADYCACACIAEoAgQ2AgRCCAVCfwshBQwCCyABEAYMAQsgAQRAIAFBADYCBCABQRI2AgALQn8hBQsgBkHwAGokACAFC60DAgJ/An4jAEEQayIGJAACQAJAAkAgBEUNACABRQ0AIAJBAUYNAQtBACEDIABBCGoiAARAIABBADYCBCAAQRI2AgALDAELIANBAXEEQEEAIQMgAEEIaiIABEAgAEEANgIEIABBGDYCAAsMAQtBGBAJIgVFBEBBACEDIABBCGoiAARAIABBADYCBCAAQQ42AgALDAELIAVBADYCCCAFQgA3AgAgBUGQ8dmiAzYCFCAFQvis0ZGR8dmiIzcCDAJAIAQQIiICRQ0AIAKtIQhBACEDQYfTru5+IQJCASEHA0AgBiADIARqLQAAOgAPIAUgBkEPaiIDBH8gAiADQQFB1IABKAIAEQAABUEAC0F/cyICNgIMIAUgBSgCECACQf8BcWpBhYiiwABsQQFqIgI2AhAgBiACQRh2OgAPIAUCfyAFKAIUQX9zIQJBACAGQQ9qIgNFDQAaIAIgA0EBQdSAASgCABEAAAtBf3M2AhQgByAIUQ0BIAUoAgxBf3MhAiAHpyEDIAdCAXwhBwwACwALIAAgAUElIAUQQiIDDQAgBRAGQQAhAwsgBkEQaiQAIAMLnRoCBn4FfyMAQdAAayILJAACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQAJAAkACQCADDhQFBhULAwQJDgACCBAKDw0HEQERDBELAkBByAAQCSIBBEAgAUIANwMAIAFCADcDMCABQQA2AiggAUIANwMgIAFCADcDGCABQgA3AxAgAUIANwMIIAFCADcDOCABQQgQCSIDNgIEIAMNASABEAYgAARAIABBADYCBCAAQQ42AgALCyAAQQA2AhQMFAsgA0IANwMAIAAgATYCFCABQUBrQgA3AwAgAUIANwM4DBQLAkACQCACUARAQcgAEAkiA0UNFCADQgA3AwAgA0IANwMwIANBADYCKCADQgA3AyAgA0IANwMYIANCADcDECADQgA3AwggA0IANwM4IANBCBAJIgE2AgQgAQ0BIAMQBiAABEAgAEEANgIEIABBDjYCAAsMFAsgAiAAKAIQIgEpAzBWBEAgAARAIABBADYCBCAAQRI2AgALDBQLIAEoAigEQCAABEAgAEEANgIEIABBHTYCAAsMFAsgASgCBCEDAkAgASkDCCIGQgF9IgdQDQADQAJAIAIgAyAHIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQcMAQsgBSAGUQRAIAYhBQwDCyADIAVCAXwiBKdBA3RqKQMAIAJWDQILIAQhBSAEIAdUDQALCwJAIAIgAyAFpyIKQQN0aikDAH0iBFBFBEAgASgCACIDIApBBHRqKQMIIQcMAQsgASgCACIDIAVCAX0iBadBBHRqKQMIIgchBAsgAiAHIAR9VARAIAAEQCAAQQA2AgQgAEEcNgIACwwUCyADIAVCAXwiBUEAIAAQiQEiA0UNEyADKAIAIAMoAggiCkEEdGpBCGsgBDcDACADKAIEIApBA3RqIAI3AwAgAyACNwMwIAMgASkDGCIGIAMpAwgiBEIBfSIHIAYgB1QbNwMYIAEgAzYCKCADIAE2AiggASAENwMgIAMgBTcDIAwBCyABQgA3AwALIAAgAzYCFCADIAQ3A0AgAyACNwM4QgAhBAwTCyAAKAIQIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAKAIUIQEgAEEANgIUIAAgATYCEAwSCyACQghaBH4gASAAKAIANgIAIAEgACgCBDYCBEIIBUJ/CyEEDBELIAAoAhAiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAoAhQiAQRAAkAgASgCKCIDRQRAIAEpAxghAgwBCyADQQA2AiggASgCKEIANwMgIAEgASkDGCICIAEpAyAiBSACIAVWGyICNwMYCyABKQMIIAJWBEADQCABKAIAIAKnQQR0aigCABAGIAJCAXwiAiABKQMIVA0ACwsgASgCABAGIAEoAgQQBiABEAYLIAAQBgwQCyAAKAIQIgBCADcDOCAAQUBrQgA3AwAMDwsgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwOCyACIAAoAhAiAykDMCADKQM4IgZ9IgUgAiAFVBsiBVANDiABIAMpA0AiB6ciAEEEdCIBIAMoAgBqIgooAgAgBiADKAIEIABBA3RqKQMAfSICp2ogBSAKKQMIIAJ9IgYgBSAGVBsiBKcQByEKIAcgBCADKAIAIgAgAWopAwggAn1RrXwhAiAFIAZWBEADQCAKIASnaiAAIAKnQQR0IgFqIgAoAgAgBSAEfSIGIAApAwgiByAGIAdUGyIGpxAHGiACIAYgAygCACIAIAFqKQMIUa18IQIgBSAEIAZ8IgRWDQALCyADIAI3A0AgAyADKQM4IAR8NwM4DA4LQn8hBEHIABAJIgNFDQ0gA0IANwMAIANCADcDMCADQQA2AiggA0IANwMgIANCADcDGCADQgA3AxAgA0IANwMIIANCADcDOCADQQgQCSIBNgIEIAFFBEAgAxAGIAAEQCAAQQA2AgQgAEEONgIACwwOCyABQgA3AwAgACgCECIBBEACQCABKAIoIgpFBEAgASkDGCEEDAELIApBADYCKCABKAIoQgA3AyAgASABKQMYIgIgASkDICIFIAIgBVYbIgQ3AxgLIAEpAwggBFYEQANAIAEoAgAgBKdBBHRqKAIAEAYgBEIBfCIEIAEpAwhUDQALCyABKAIAEAYgASgCBBAGIAEQBgsgACADNgIQQgAhBAwNCyAAKAIUIgEEQAJAIAEoAigiA0UEQCABKQMYIQIMAQsgA0EANgIoIAEoAihCADcDICABIAEpAxgiAiABKQMgIgUgAiAFVhsiAjcDGAsgASkDCCACVgRAA0AgASgCACACp0EEdGooAgAQBiACQgF8IgIgASkDCFQNAAsLIAEoAgAQBiABKAIEEAYgARAGCyAAQQA2AhQMDAsgACgCECIDKQM4IAMpAzAgASACIAAQRCIHQgBTDQogAyAHNwM4AkAgAykDCCIGQgF9IgJQDQAgAygCBCEAA0ACQCAHIAAgAiAEfUIBiCAEfCIFp0EDdGopAwBUBEAgBUIBfSECDAELIAUgBlEEQCAGIQUMAwsgACAFQgF8IgSnQQN0aikDACAHVg0CCyAEIQUgAiAEVg0ACwsgAyAFNwNAQgAhBAwLCyAAKAIUIgMpAzggAykDMCABIAIgABBEIgdCAFMNCSADIAc3AzgCQCADKQMIIgZCAX0iAlANACADKAIEIQADQAJAIAcgACACIAR9QgGIIAR8IgWnQQN0aikDAFQEQCAFQgF9IQIMAQsgBSAGUQRAIAYhBQwDCyAAIAVCAXwiBKdBA3RqKQMAIAdWDQILIAQhBSACIARWDQALCyADIAU3A0BCACEEDAoLIAJCN1gEQCAABEAgAEEANgIEIABBEjYCAAsMCQsgARAqIAEgACgCDDYCKCAAKAIQKQMwIQIgAUEANgIwIAEgAjcDICABIAI3AxggAULcATcDAEI4IQQMCQsgACABKAIANgIMDAgLIAtBQGtBfzYCACALQouAgICwAjcDOCALQoyAgIDQATcDMCALQo+AgICgATcDKCALQpGAgICQATcDICALQoeAgICAATcDGCALQoWAgIDgADcDECALQoOAgIDAADcDCCALQoGAgIAgNwMAQQAgCxAkIQQMBwsgACgCECkDOCIEQn9VDQYgAARAIABBPTYCBCAAQR42AgALDAULIAAoAhQpAzgiBEJ/VQ0FIAAEQCAAQT02AgQgAEEeNgIACwwEC0J/IQQgAkJ/VwRAIAAEQCAAQQA2AgQgAEESNgIACwwFCyACIAAoAhQiAykDOCACfCIFQv//A3wiBFYEQCAABEAgAEEANgIEIABBEjYCAAsMBAsCQCAFIAMoAgQiCiADKQMIIganQQN0aikDACIHWA0AAkAgBCAHfUIQiCAGfCIIIAMpAxAiCVgNAEIQIAkgCVAbIQUDQCAFIgRCAYYhBSAEIAhUDQALIAQgCVQNACADKAIAIASnIgpBBHQQNCIMRQ0DIAMgDDYCACADKAIEIApBA3RBCGoQNCIKRQ0DIAMgBDcDECADIAo2AgQgAykDCCEGCyAGIAhaDQAgAygCACEMA0AgDCAGp0EEdGoiDUGAgAQQCSIONgIAIA5FBEAgAARAIABBADYCBCAAQQ42AgALDAYLIA1CgIAENwMIIAMgBkIBfCIFNwMIIAogBadBA3RqIAdCgIAEfCIHNwMAIAMpAwgiBiAIVA0ACwsgAykDQCEFIAMpAzghBwJAIAJQBEBCACEEDAELIAWnIgBBBHQiDCADKAIAaiINKAIAIAcgCiAAQQN0aikDAH0iBqdqIAEgAiANKQMIIAZ9IgcgAiAHVBsiBKcQBxogBSAEIAMoAgAiACAMaikDCCAGfVGtfCEFIAIgB1YEQANAIAAgBadBBHQiCmoiACgCACABIASnaiACIAR9IgYgACkDCCIHIAYgB1QbIganEAcaIAUgBiADKAIAIgAgCmopAwhRrXwhBSAEIAZ8IgQgAlQNAAsLIAMpAzghBwsgAyAFNwNAIAMgBCAHfCICNwM4IAIgAykDMFgNBCADIAI3AzAMBAsgAARAIABBADYCBCAAQRw2AgALDAILIAAEQCAAQQA2AgQgAEEONgIACyAABEAgAEEANgIEIABBDjYCAAsMAQsgAEEANgIUC0J/IQQLIAtB0ABqJAAgBAtIAQF/IABCADcCBCAAIAE2AgACQCABQQBIDQBBsBMoAgAgAUwNACABQQJ0QcATaigCAEEBRw0AQYSEASgCACECCyAAIAI2AgQLDgAgAkGx893xeWxBEHYLvgEAIwBBEGsiACQAIABBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAQRBqJAAgAkGx893xeWxBEHYLuQEBAX8jAEEQayIBJAAgAUEAOgAIQYCBAUECNgIAQfyAAUEDNgIAQfiAAUEENgIAQfSAAUEFNgIAQfCAAUEGNgIAQeyAAUEHNgIAQeiAAUEINgIAQeSAAUEJNgIAQeCAAUEKNgIAQdyAAUELNgIAQdiAAUEMNgIAQdSAAUENNgIAQdCAAUEONgIAQcyAAUEPNgIAQciAAUEQNgIAQcSAAUERNgIAQcCAAUESNgIAIAAQjgEgAUEQaiQAC78BAQF/IwBBEGsiAiQAIAJBADoACEGAgQFBAjYCAEH8gAFBAzYCAEH4gAFBBDYCAEH0gAFBBTYCAEHwgAFBBjYCAEHsgAFBBzYCAEHogAFBCDYCAEHkgAFBCTYCAEHggAFBCjYCAEHcgAFBCzYCAEHYgAFBDDYCAEHUgAFBDTYCAEHQgAFBDjYCAEHMgAFBDzYCAEHIgAFBEDYCAEHEgAFBETYCAEHAgAFBEjYCACAAIAEQkAEhACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFohACACQRBqJAAgAAu+AQEBfyMAQRBrIgIkACACQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABEFshACACQRBqJAAgAAu9AQEBfyMAQRBrIgMkACADQQA6AAhBgIEBQQI2AgBB/IABQQM2AgBB+IABQQQ2AgBB9IABQQU2AgBB8IABQQY2AgBB7IABQQc2AgBB6IABQQg2AgBB5IABQQk2AgBB4IABQQo2AgBB3IABQQs2AgBB2IABQQw2AgBB1IABQQ02AgBB0IABQQ42AgBBzIABQQ82AgBByIABQRA2AgBBxIABQRE2AgBBwIABQRI2AgAgACABIAIQjwEgA0EQaiQAC4UBAgR/AX4jAEEQayIBJAACQCAAKQMwUARADAELA0ACQCAAIAVBACABQQ9qIAFBCGoQZiIEQX9GDQAgAS0AD0EDRw0AIAIgASgCCEGAgICAf3FBgICAgHpGaiECC0F/IQMgBEF/Rg0BIAIhAyAFQgF8IgUgACkDMFQNAAsLIAFBEGokACADCwuMdSUAQYAIC7ELaW5zdWZmaWNpZW50IG1lbW9yeQBuZWVkIGRpY3Rpb25hcnkALSsgICAwWDB4AFppcCBhcmNoaXZlIGluY29uc2lzdGVudABJbnZhbGlkIGFyZ3VtZW50AGludmFsaWQgbGl0ZXJhbC9sZW5ndGhzIHNldABpbnZhbGlkIGNvZGUgbGVuZ3RocyBzZXQAdW5rbm93biBoZWFkZXIgZmxhZ3Mgc2V0AGludmFsaWQgZGlzdGFuY2VzIHNldABpbnZhbGlkIGJpdCBsZW5ndGggcmVwZWF0AEZpbGUgYWxyZWFkeSBleGlzdHMAdG9vIG1hbnkgbGVuZ3RoIG9yIGRpc3RhbmNlIHN5bWJvbHMAaW52YWxpZCBzdG9yZWQgYmxvY2sgbGVuZ3RocwAlcyVzJXMAYnVmZmVyIGVycm9yAE5vIGVycm9yAHN0cmVhbSBlcnJvcgBUZWxsIGVycm9yAEludGVybmFsIGVycm9yAFNlZWsgZXJyb3IAV3JpdGUgZXJyb3IAZmlsZSBlcnJvcgBSZWFkIGVycm9yAFpsaWIgZXJyb3IAZGF0YSBlcnJvcgBDUkMgZXJyb3IAaW5jb21wYXRpYmxlIHZlcnNpb24AaW52YWxpZCBjb2RlIC0tIG1pc3NpbmcgZW5kLW9mLWJsb2NrAGluY29ycmVjdCBoZWFkZXIgY2hlY2sAaW5jb3JyZWN0IGxlbmd0aCBjaGVjawBpbmNvcnJlY3QgZGF0YSBjaGVjawBpbnZhbGlkIGRpc3RhbmNlIHRvbyBmYXIgYmFjawBoZWFkZXIgY3JjIG1pc21hdGNoADEuMi4xMy56bGliLW5nAGludmFsaWQgd2luZG93IHNpemUAUmVhZC1vbmx5IGFyY2hpdmUATm90IGEgemlwIGFyY2hpdmUAUmVzb3VyY2Ugc3RpbGwgaW4gdXNlAE1hbGxvYyBmYWlsdXJlAGludmFsaWQgYmxvY2sgdHlwZQBGYWlsdXJlIHRvIGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZQBDYW4ndCBvcGVuIGZpbGUATm8gc3VjaCBmaWxlAFByZW1hdHVyZSBlbmQgb2YgZmlsZQBDYW4ndCByZW1vdmUgZmlsZQBpbnZhbGlkIGxpdGVyYWwvbGVuZ3RoIGNvZGUAaW52YWxpZCBkaXN0YW5jZSBjb2RlAHVua25vd24gY29tcHJlc3Npb24gbWV0aG9kAHN0cmVhbSBlbmQAQ29tcHJlc3NlZCBkYXRhIGludmFsaWQATXVsdGktZGlzayB6aXAgYXJjaGl2ZXMgbm90IHN1cHBvcnRlZABPcGVyYXRpb24gbm90IHN1cHBvcnRlZABFbmNyeXB0aW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAENvbXByZXNzaW9uIG1ldGhvZCBub3Qgc3VwcG9ydGVkAEVudHJ5IGhhcyBiZWVuIGRlbGV0ZWQAQ29udGFpbmluZyB6aXAgYXJjaGl2ZSB3YXMgY2xvc2VkAENsb3NpbmcgemlwIGFyY2hpdmUgZmFpbGVkAFJlbmFtaW5nIHRlbXBvcmFyeSBmaWxlIGZhaWxlZABFbnRyeSBoYXMgYmVlbiBjaGFuZ2VkAE5vIHBhc3N3b3JkIHByb3ZpZGVkAFdyb25nIHBhc3N3b3JkIHByb3ZpZGVkAFVua25vd24gZXJyb3IgJWQAQUUAKG51bGwpADogAFBLBgcAUEsGBgBQSwUGAFBLAwQAUEsBAgAAAAA/BQAAwAcAAJMIAAB4CAAAbwUAAJEFAAB6BQAAsgUAAFYIAAAbBwAA1gQAAAsHAADqBgAAnAUAAMgGAACyCAAAHggAACgHAABHBAAAoAYAAGAFAAAuBAAAPgcAAD8IAAD+BwAAjgYAAMkIAADeCAAA5gcAALIGAABVBQAAqAcAACAAQcgTCxEBAAAAAQAAAAEAAAABAAAAAQBB7BMLCQEAAAABAAAAAgBBmBQLAQEAQbgUCwEBAEHSFAukLDomOyZlJmYmYyZgJiIg2CXLJdklQiZAJmomayY8JrolxCWVITwgtgCnAKwlqCGRIZMhkiGQIR8ilCGyJbwlIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgA/AEAAQQBCAEMARABFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AXwBgAGEAYgBjAGQAZQBmAGcAaABpAGoAawBsAG0AbgBvAHAAcQByAHMAdAB1AHYAdwB4AHkAegB7AHwAfQB+AAIjxwD8AOkA4gDkAOAA5QDnAOoA6wDoAO8A7gDsAMQAxQDJAOYAxgD0APYA8gD7APkA/wDWANwAogCjAKUApyCSAeEA7QDzAPoA8QDRAKoAugC/ABAjrAC9ALwAoQCrALsAkSWSJZMlAiUkJWElYiVWJVUlYyVRJVclXSVcJVslECUUJTQlLCUcJQAlPCVeJV8lWiVUJWklZiVgJVAlbCVnJWglZCVlJVklWCVSJVMlayVqJRglDCWIJYQljCWQJYAlsQPfAJMDwAOjA8MDtQDEA6YDmAOpA7QDHiLGA7UDKSJhIrEAZSJkIiAjISP3AEgisAAZIrcAGiJ/ILIAoCWgAAAAAACWMAd3LGEO7rpRCZkZxG0Hj/RqcDWlY+mjlWSeMojbDqS43Hke6dXgiNnSlytMtgm9fLF+By2455Edv5BkELcd8iCwakhxufPeQb6EfdTaGuvk3W1RtdT0x4XTg1aYbBPAqGtkevli/ezJZYpPXAEU2WwGY2M9D/r1DQiNyCBuO14QaUzkQWDVcnFnotHkAzxH1ARL/YUN0mu1CqX6qLU1bJiyQtbJu9tA+bys42zYMnVc30XPDdbcWT3Rq6ww2SY6AN5RgFHXyBZh0L+19LQhI8SzVpmVus8Ppb24nrgCKAiIBV+y2QzGJOkLsYd8by8RTGhYqx1hwT0tZraQQdx2BnHbAbwg0pgqENXviYWxcR+1tgal5L+fM9S46KLJB3g0+QAPjqgJlhiYDuG7DWp/LT1tCJdsZJEBXGPm9FFra2JhbBzYMGWFTgBi8u2VBmx7pQEbwfQIglfED/XG2bBlUOm3Euq4vot8iLn83x3dYkkt2hXzfNOMZUzU+1hhsk3OUbU6dAC8o+Iwu9RBpd9K15XYPW3E0aT79NbTaulpQ/zZbjRGiGet0Lhg2nMtBETlHQMzX0wKqsl8Dd08cQVQqkECJxAQC76GIAzJJbVoV7OFbyAJ1Ga5n+Rhzg753l6YydkpIpjQsLSo18cXPbNZgQ20LjtcvbetbLrAIIO47bazv5oM4rYDmtKxdDlH1eqvd9KdFSbbBIMW3HMSC2PjhDtklD5qbQ2oWmp6C88O5J3/CZMnrgAKsZ4HfUSTD/DSowiHaPIBHv7CBmldV2L3y2dlgHE2bBnnBmtudhvU/uAr04laetoQzErdZ2/fufn5776OQ763F9WOsGDoo9bWfpPRocTC2DhS8t9P8We70WdXvKbdBrU/SzaySNorDdhMGwqv9koDNmB6BEHD72DfVd9nqO+ObjF5vmlGjLNhyxqDZryg0m8lNuJoUpV3DMwDRwu7uRYCIi8mBVW+O7rFKAu9spJatCsEarNcp//XwjHP0LWLntksHa7eW7DCZJsm8mPsnKNqdQqTbQKpBgmcPzYO64VnB3ITVwAFgkq/lRR6uOKuK7F7OBu2DJuO0pINvtXlt+/cfCHf2wvU0tOGQuLU8fiz3Whug9ofzRa+gVsmufbhd7Bvd0e3GOZaCIhwag//yjsGZlwLARH/nmWPaa5i+NP/a2FFz2wWeOIKoO7SDddUgwROwrMDOWEmZ6f3FmDQTUdpSdt3bj5KatGu3FrW2WYL30DwO9g3U668qcWeu95/z7JH6f+1MBzyvb2KwrrKMJOzU6ajtCQFNtC6kwbXzSlX3lS/Z9kjLnpms7hKYcQCG2hdlCtvKje+C7ShjgzDG98FWo3vAi0AAAAARjtnZYx2zsrKTamvWevtTh/QiivVnSOEk6ZE4bLW25307bz4PqAVV3ibcjLrPTbTrQZRtmdL+BkhcJ98JavG4GOQoYWp3Qgq7+ZvT3xAK646e0zL8DblZLYNggGXfR190UZ6GBsL07ddMLTSzpbwM4itl1ZC4D75BNtZnAtQ/BpNa5t/hyYy0MEdVbVSuxFUFIB2Md7N356Y9rj7uYYnh/+9QOI18OlNc8uOKOBtysmmVq2sbBsEAyogY2Yu+zr6aMBdn6KN9DDktpNVdxDXtDErsNH7Zhl+vV1+G5wt4WfaFoYCEFsvrVZgSMjFxgwpg/1rTEmwwuMPi6WGFqD4NVCbn1Ca1jb/3O1Rmk9LFXsJcHIewz3bsYUGvNSkdiOo4k1EzSgA7WJuO4oH/Z3O5rumqYNx6wAsN9BnSTMLPtV1MFmwv33wH/lGl3pq4NObLNu0/uaWHVGgrXo0gd3lSMfmgi0NqyuCS5BM59g2CAaeDW9jVEDGzBJ7oakd8AQvW8tjSpGGyuXXva2ARBvpYQIgjgTIbSerjlZAzq8m37LpHbjXI1AReGVrdh32zTL8sPZVmXq7/DY8gJtTOFvCz35gpaq0LQwF8hZrYGGwL4Eni0jk7cbhS6v9hi6KjRlSzLZ+Nwb715hAwLD902b0HJVdk3lfEDrWGStdsyxA8Wtqe5YOoDY/oeYNWMR1qxwlM5B7QPnd0u+/5rWKnpYq9titTZMS4OQ8VNuDWcd9x7iBRqDdSwsJcg0wbhcJ6zeLT9BQ7oWd+UHDpp4kUADaxRY7vaDcdhQPmk1zars97Bb9BotzN0si3HFwRbni1gFYpO1mPW6gz5Iom6j3JxANcWErahSrZsO77V2k3n774D84wIda8o0u9bS2SZCVxtbs0/2xiRmwGCZfi39DzC07oooWXMdAW/VoBmCSDQK7y5FEgKz0js0FW8j2Yj5bUCbfHWtButcm6BWRHY9wsG0QDPZWd2k8G97GeiC5o+mG/UKvvZonZfAziCPLVO064AlefNtuO7aWx5TwraDxYwvkECUwg3XvfSraqUZNv4g20sPODbWmBEAcCUJ7e2zR3T+Nl+ZY6F2r8UcbkJYiH0vPvllwqNuTPQF01QZmEUagIvAAm0WVytbsOozti1+tnRQj66ZzRiHr2uln0L2M9Hb5bbJNngh4ADenPjtQwjGw9UR3i5IhvcY7jvv9XOtoWxgKLmB/b+Qt1sCiFrGlg2Yu2cVdSbwPEOATSSuHdtqNw5ectqTyVvsNXRDAajgUGzOkUiBUwZht/W7eVpoLTfDe6gvLuY/BhhAgh713RabN6Dng9o9cKrsm82yAQZb/JgV3uR1iEnNQy701a6zYAAAAAFiA4tfxBrR0qYZWo+INaOm6jYo+EwvcnUuLPkqFHaEJ3Z1D3nQbFX0sm/eqZxDJ4D+QKzeWFn2UzpafQwo7QhNSu6DE+z32Z6O9FLDoNir6sLbILRkwno5BsHxZjybjGtemAc1+IFduJqC1uW0ri/M1q2kknC0/h8St3VAUdoQmTPZm8eVwMFK98NKF9nvsz677DhgHfVi7X/26bJFrJS/J68f4YG2RWzjtc4xzZk3GK+avEYJg+bLa4BtlHk3GNUbNJOLvS3JBt8uQlvxArtykwEwLDUYaqFXG+H+bUGc8w9CF62pW00gy1jGfeV0P1SHd7QKIW7uh0NtZdijsCE1wbOqa2eq8OYFqXu7K4WCkkmGCczvn1NBjZzYHrfGpRPVxS5Nc9x0wBHf/50/8wa0XfCN6vvp12eZ6lw4i10peeleoidPR/iqLURz9wNoit5hawGAx3JbDaVx0FKfK61f/SgmAVsxfIw5MvfRFx4O+HUdhabTBN8rsQdUdPJqMa2QabrzNnDgflRzayN6X5IKGFwZVL5FQ9ncRsiG5hy1i4QfPtUiBmRYQAXvBW4pFiwMKp1yqjPH/8gwTKDahznhuISyvx6d6DJ8nmNvUrKaRjCxERiWqEuV9KvAys7xvces8jaZCutsFGjo50lGxB5gJMeVPoLez7Pg3UTtQ2BGaCFjzTaHepe75Xkc5stV5c+pVm6RD080HG1Mv0NXFsJONRVJEJMME53xD5jA3yNh6b0g6rcbObA6eTo7ZWuNTiQJjsV6r5ef982UFKrjuO2Dgbtm3SeiPFBFobcPf/vKAh34QVy74RvR2eKQjPfOaaWVzeL7M9S4dlHXMykSulbwcLndrtaghyO0owx+mo/1V/iMfglelSSEPJav2wbM0tZkz1mIwtYDBaDViFiO+XFx7Pr6L0rjoKIo4Cv9OldevFhU1eL+TY9vnE4EMrJi/RvQYXZFdngsyBR7p5cuIdqaTCJRxOo7C0mIOIAUphR5PcQX8mNiDqjuAA0jseDQZ1yC0+wCJMq2j0bJPdJo5cT7CuZPpaz/FSjO/J539KbjepalaCQwvDKpUr+59HyTQN0ekMuDuImRDtqKGlHIPW8Qqj7kTgwnvsNuJDWeQAjMtyILR+mEEh1k5hGWO9xL6za+SGBoGFE65XpSsbhUfkiRNn3Dz5BkmULyZxIdsQp3xNMJ/Jp1EKYXFxMtSjk/1GNbPF89/SUFsJ8mju+lfPPix394vGFmIjEDZalsLUlQRU9K2xvpU4GWi1AKyZnnf4j75PTWXf2uWz/+JQYR0twvc9FXcdXIDfy3y4ajjZH7ru+ScPBJiyp9K4ihIAWkWAlnp9NXwb6J2qO9AoQAAAADhtlLvg2vUBWLdhuoG16gL52H65IW8fA5kCi7hDK5RF+0YA/iPxYUSbnPX/Qp5+Rzrz6vziRItGWikf/YYXKMu+erxwZs3dyt6gSXEHosLJf89Wcqd4N8gfFaNzxTy8jn1RKDWl5kmPHYvdNMSJVoy85MI3ZFOjjdw+NzYMLhGXdEOFLKz05JYUmXAtzZv7lbX2by5tQQ6U1SyaLw8FhdK3aBFpb99w09ey5GgOsG/Qdt37a65qmtEWBw5qyjk5XPJUrecq48xdko5Y5kuM014z4Ufl61YmX1M7suSJEq0ZMX85ounIWBhRpcyjiKdHG/DK06AofbIakBAmoVgcI26gcbfVeMbWb8CrQtQZqclsYcRd17lzPG0BHqjW2ze3K2NaI5C77UIqA4DWkdqCXSmi78mSelioKMI1PJMeCwulJmafHv7R/qRGvGofn77hp+fTdRw/ZBSmhwmAHV0gn+DlTQtbPfpq4YWX/lpclXXiJPjhWfxPgONEIhRYlDIy+exfpkI06Mf4jIVTQ1WH2Pst6kxA9V0t+k0wuUGXGaa8L3QyB/fDU71PrscGlqxMvu7B2AU2drm/jhstBFIlGjJqSI6Jsv/vMwqSe4jTkPAwq/1ki3NKBTHLJ5GKEQ6Od6ljGsxx1Ht2ybnvzRC7ZHVo1vDOsGGRdAgMBc/geZrrmBQOUECjb+r4zvtRIcxw6Vmh5FKBFoXoOXsRU+NSDq5bP5oVg4j7rzvlbxTi5+SsmopwF0I9Ea36UIUWJm6yIB4DJpvGtEchftnTmqfbWCLftsyZBwGtI79sOZhlRSZl3Siy3gWf02S98kffZPDMZxydWNzEKjlmfEet3axXi3zUOh/HDI1+fbTg6sZt4mF+FY/1xc04lH91VQDEr3wfORcRi4LPpuo4d8t+g67J9TvWpGGADhMAOrZ+lIFqQKO3Ui03DIqaVrYy98IN6/VJtZOY3Q5LL7y080IoDylrN/KRBqNJSbHC8/HcVkgo3t3wULNJS4gEKPEwabxK+GW5hQAILT7Yv0yEYNLYP7nQU4fBvcc8GQqmhqFnMj17Ti3AwyO5exuU2MGj+Ux6evvHwgKWU3naITLDYkymeL5ykU6GHwX1XqhkT+bF8PQ/x3tMR6rv958djk0ncBr2/VkFC0U0kbCdg/AKJe5ksfzs7wmEgXuyXDYaCORbjrM0S6gSTCY8qZSRXRMs/Mmo9f5CEI2T1qtVJLcR7UkjqjdgPFePDajsV7rJVu/XXe021dZVTrhC7pYPI1QuYrfv8lyA2coxFGIShnXYquvhY3PpatsLhP5g0zOf2mteC2GxdxScCRqAJ9Gt4Z1pwHUmsML+nsivaiUQGAufqHWfJEAAAAAQ8umh8eQPNSEW5pTzycIc4zsrvQItzSnS3ySIJ5PEObdhLZhWd8sMhoUirVRaBiVEqO+Epb4JEHVM4LGfZlRFz5S95C6CW3D+cLLRLK+WWTxdf/jdS5lsDblwzfj1kHxoB3ndiRGfSVnjduiLPFJgm867wXrYXVWqKrT0foyoy65+QWpPaKf+n5pOX01Fatddt4N2vKFl4mxTjEOZH2zyCe2FU+j7Y8c4CYpm6tau7vokR08bMqHby8BIeiHq/I5xGBUvkA7zu0D8GhqSIz6SgtHXM2PHMaezNdgGRnk4t9aL0RY3nTeC52/eIzWw+qslQhMKxFT1nhSmHD/9GVGXbeu4Noz9XqJcD7cDjtCTi54ieip/NJy+r8Z1H1qKla7KeHwPK26am/ucczopQ1eyObG+E9inWIcIVbEm4n8F0rKN7HNTmwrng2njRlG2x85BRC5voFLI+3CgIVqF7MHrFR4oSvQIzt4k+id/9iUD9+bX6lYHwQzC1zPlYwOV+VzTZxD9MnH2aeKDH8gwXDtAIK7S4cG4NHURSt3U5AY9ZXT01MSV4jJQRRDb8ZfP/3mHPRbYZivwTLbZGe1c860ZDAFEuO0Xoiw95UuN7zpvBf/IhqQe3mAwziyJkTtgaSCrkoCBSoRmFZp2j7RIqas8WFtCnblNpAlpv02oujLjLqrACo9L1uwbmyQFukn7ITJZCciTuB8uB2jtx6adoScXDVPOtuxFKCI8t8GD7mjlC/6aDKofjOo+z34DnyVUt2t1pl7KlLC4XkRCUf+WnXV3hm+c1md5ekK3i5PjQsdzUtI1mvMzI3xn49GVxjEOsU4h/FjvwOq+exAYV9rEvkvlFEyiRPVaRNAlqK1x93eJ+eeFYFgGk4bM1mFvbSMtj9yz32Z9UsmA6YI7aUhQ5E3AQBakYaEAQvVx8qtUm9gfoMsq9gEqPBCV+s75NCgR3bw44zQd2fXSiQkHOyj8S9uZbLkyOI2v1KxdXT0Nj4IZhZ9w8CR+ZhawrpT/EUcrsrnX2VsYNs+9jOY9VC004nClJBCZBMUGf5AV9JYx4Lh2gHBKnyGRXHm1Qa6QFJNxtJyDg109YpW7qbJnUghYTeb8CL8PXemp6ck5WwBo64Qk4Pt2zUEaYCvVypLCdD/eIsWvLMtkTjot8J7IxFFMF+DZXOUJeL3z7+xtAQZNuacacmlV89OIQxVHWLH85opu2G6anDHPe4rXW6t4PvpeNN5LzsY36i/Q0X7/IjjfLf0cVz0P9fbcGRNiDOv6w+bBTje2M6eWVyVBAofXqKNVCIwrRfpliqTsgx50Hmq/gVKKDhGgY6/wtoU7IERsmvKbSBLiaaGzA39HJ9ONroYFAQAAJ0HAAAsCQAAhgUAAEgFAACnBQAAAAQAADIFAAC8BQAALAkAQYDBAAv3CQwACACMAAgATAAIAMwACAAsAAgArAAIAGwACADsAAgAHAAIAJwACABcAAgA3AAIADwACAC8AAgAfAAIAPwACAACAAgAggAIAEIACADCAAgAIgAIAKIACABiAAgA4gAIABIACACSAAgAUgAIANIACAAyAAgAsgAIAHIACADyAAgACgAIAIoACABKAAgAygAIACoACACqAAgAagAIAOoACAAaAAgAmgAIAFoACADaAAgAOgAIALoACAB6AAgA+gAIAAYACACGAAgARgAIAMYACAAmAAgApgAIAGYACADmAAgAFgAIAJYACABWAAgA1gAIADYACAC2AAgAdgAIAPYACAAOAAgAjgAIAE4ACADOAAgALgAIAK4ACABuAAgA7gAIAB4ACACeAAgAXgAIAN4ACAA+AAgAvgAIAH4ACAD+AAgAAQAIAIEACABBAAgAwQAIACEACAChAAgAYQAIAOEACAARAAgAkQAIAFEACADRAAgAMQAIALEACABxAAgA8QAIAAkACACJAAgASQAIAMkACAApAAgAqQAIAGkACADpAAgAGQAIAJkACABZAAgA2QAIADkACAC5AAgAeQAIAPkACAAFAAgAhQAIAEUACADFAAgAJQAIAKUACABlAAgA5QAIABUACACVAAgAVQAIANUACAA1AAgAtQAIAHUACAD1AAgADQAIAI0ACABNAAgAzQAIAC0ACACtAAgAbQAIAO0ACAAdAAgAnQAIAF0ACADdAAgAPQAIAL0ACAB9AAgA/QAIABMACQATAQkAkwAJAJMBCQBTAAkAUwEJANMACQDTAQkAMwAJADMBCQCzAAkAswEJAHMACQBzAQkA8wAJAPMBCQALAAkACwEJAIsACQCLAQkASwAJAEsBCQDLAAkAywEJACsACQArAQkAqwAJAKsBCQBrAAkAawEJAOsACQDrAQkAGwAJABsBCQCbAAkAmwEJAFsACQBbAQkA2wAJANsBCQA7AAkAOwEJALsACQC7AQkAewAJAHsBCQD7AAkA+wEJAAcACQAHAQkAhwAJAIcBCQBHAAkARwEJAMcACQDHAQkAJwAJACcBCQCnAAkApwEJAGcACQBnAQkA5wAJAOcBCQAXAAkAFwEJAJcACQCXAQkAVwAJAFcBCQDXAAkA1wEJADcACQA3AQkAtwAJALcBCQB3AAkAdwEJAPcACQD3AQkADwAJAA8BCQCPAAkAjwEJAE8ACQBPAQkAzwAJAM8BCQAvAAkALwEJAK8ACQCvAQkAbwAJAG8BCQDvAAkA7wEJAB8ACQAfAQkAnwAJAJ8BCQBfAAkAXwEJAN8ACQDfAQkAPwAJAD8BCQC/AAkAvwEJAH8ACQB/AQkA/wAJAP8BCQAAAAcAQAAHACAABwBgAAcAEAAHAFAABwAwAAcAcAAHAAgABwBIAAcAKAAHAGgABwAYAAcAWAAHADgABwB4AAcABAAHAEQABwAkAAcAZAAHABQABwBUAAcANAAHAHQABwADAAgAgwAIAEMACADDAAgAIwAIAKMACABjAAgA4wAIAAAABQAQAAUACAAFABgABQAEAAUAFAAFAAwABQAcAAUAAgAFABIABQAKAAUAGgAFAAYABQAWAAUADgAFAB4ABQABAAUAEQAFAAkABQAZAAUABQAFABUABQANAAUAHQAFAAMABQATAAUACwAFABsABQAHAAUAFwAFAEGBywAL7AYBAgMEBAUFBgYGBgcHBwcICAgICAgICAkJCQkJCQkJCgoKCgoKCgoKCgoKCgoKCgsLCwsLCwsLCwsLCwsLCwsMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDA0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8AABAREhITExQUFBQVFRUVFhYWFhYWFhYXFxcXFxcXFxgYGBgYGBgYGBgYGBgYGBgZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dAAECAwQFBgcICAkJCgoLCwwMDAwNDQ0NDg4ODg8PDw8QEBAQEBAQEBEREREREREREhISEhISEhITExMTExMTExQUFBQUFBQUFBQUFBQUFBQVFRUVFRUVFRUVFRUVFRUVFhYWFhYWFhYWFhYWFhYWFhcXFxcXFxcXFxcXFxcXFxcYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhobGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbHAAAAAABAAAAAgAAAAMAAAAEAAAABQAAAAYAAAAHAAAACAAAAAoAAAAMAAAADgAAABAAAAAUAAAAGAAAABwAAAAgAAAAKAAAADAAAAA4AAAAQAAAAFAAAABgAAAAcAAAAIAAAACgAAAAwAAAAOAAQYTSAAutAQEAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAQAAAAGAAAACAAAAAwAAAAAABAACAAQAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAAIAAAADAAAABAAAAAYAAAgCAAAMApAAABAQAAHgEAAA8AAAAAJQAAQCoAAAAAAAAeAAAADwAAAAAAAADAKgAAAAAAABMAAAAHAEHg0wALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHQ1AALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEGA1gALIwIAAAADAAAABwAAAAAAAAAQERIACAcJBgoFCwQMAw0CDgEPAEHQ1gALTQEAAAABAAAAAQAAAAEAAAACAAAAAgAAAAIAAAACAAAAAwAAAAMAAAADAAAAAwAAAAQAAAAEAAAABAAAAAQAAAAFAAAABQAAAAUAAAAFAEHA1wALZQEAAAABAAAAAgAAAAIAAAADAAAAAwAAAAQAAAAEAAAABQAAAAUAAAAGAAAABgAAAAcAAAAHAAAACAAAAAgAAAAJAAAACQAAAAoAAAAKAAAACwAAAAsAAAAMAAAADAAAAA0AAAANAEG42AALASwAQcTYAAthLQAAAAQABAAIAAQALgAAAAQABgAQAAYALwAAAAQADAAgABgALwAAAAgAEAAgACAALwAAAAgAEACAAIAALwAAAAgAIACAAAABMAAAACAAgAACAQAEMAAAACAAAgECAQAQMABBsNkAC6UTAwAEAAUABgAHAAgACQAKAAsADQAPABEAEwAXABsAHwAjACsAMwA7AEMAUwBjAHMAgwCjAMMA4wACAQAAAAAAABAAEAAQABAAEAAQABAAEAARABEAEQARABIAEgASABIAEwATABMAEwAUABQAFAAUABUAFQAVABUAEABNAMoAAAABAAIAAwAEAAUABwAJAA0AEQAZACEAMQBBAGEAgQDBAAEBgQEBAgEDAQQBBgEIAQwBEAEYASABMAFAAWAAAAAAEAAQABAAEAARABEAEgASABMAEwAUABQAFQAVABYAFgAXABcAGAAYABkAGQAaABoAGwAbABwAHAAdAB0AQABAAGAHAAAACFAAAAgQABQIcwASBx8AAAhwAAAIMAAACcAAEAcKAAAIYAAACCAAAAmgAAAIAAAACIAAAAhAAAAJ4AAQBwYAAAhYAAAIGAAACZAAEwc7AAAIeAAACDgAAAnQABEHEQAACGgAAAgoAAAJsAAACAgAAAiIAAAISAAACfAAEAcEAAAIVAAACBQAFQjjABMHKwAACHQAAAg0AAAJyAARBw0AAAhkAAAIJAAACagAAAgEAAAIhAAACEQAAAnoABAHCAAACFwAAAgcAAAJmAAUB1MAAAh8AAAIPAAACdgAEgcXAAAIbAAACCwAAAm4AAAIDAAACIwAAAhMAAAJ+AAQBwMAAAhSAAAIEgAVCKMAEwcjAAAIcgAACDIAAAnEABEHCwAACGIAAAgiAAAJpAAACAIAAAiCAAAIQgAACeQAEAcHAAAIWgAACBoAAAmUABQHQwAACHoAAAg6AAAJ1AASBxMAAAhqAAAIKgAACbQAAAgKAAAIigAACEoAAAn0ABAHBQAACFYAAAgWAEAIAAATBzMAAAh2AAAINgAACcwAEQcPAAAIZgAACCYAAAmsAAAIBgAACIYAAAhGAAAJ7AAQBwkAAAheAAAIHgAACZwAFAdjAAAIfgAACD4AAAncABIHGwAACG4AAAguAAAJvAAACA4AAAiOAAAITgAACfwAYAcAAAAIUQAACBEAFQiDABIHHwAACHEAAAgxAAAJwgAQBwoAAAhhAAAIIQAACaIAAAgBAAAIgQAACEEAAAniABAHBgAACFkAAAgZAAAJkgATBzsAAAh5AAAIOQAACdIAEQcRAAAIaQAACCkAAAmyAAAICQAACIkAAAhJAAAJ8gAQBwQAAAhVAAAIFQAQCAIBEwcrAAAIdQAACDUAAAnKABEHDQAACGUAAAglAAAJqgAACAUAAAiFAAAIRQAACeoAEAcIAAAIXQAACB0AAAmaABQHUwAACH0AAAg9AAAJ2gASBxcAAAhtAAAILQAACboAAAgNAAAIjQAACE0AAAn6ABAHAwAACFMAAAgTABUIwwATByMAAAhzAAAIMwAACcYAEQcLAAAIYwAACCMAAAmmAAAIAwAACIMAAAhDAAAJ5gAQBwcAAAhbAAAIGwAACZYAFAdDAAAIewAACDsAAAnWABIHEwAACGsAAAgrAAAJtgAACAsAAAiLAAAISwAACfYAEAcFAAAIVwAACBcAQAgAABMHMwAACHcAAAg3AAAJzgARBw8AAAhnAAAIJwAACa4AAAgHAAAIhwAACEcAAAnuABAHCQAACF8AAAgfAAAJngAUB2MAAAh/AAAIPwAACd4AEgcbAAAIbwAACC8AAAm+AAAIDwAACI8AAAhPAAAJ/gBgBwAAAAhQAAAIEAAUCHMAEgcfAAAIcAAACDAAAAnBABAHCgAACGAAAAggAAAJoQAACAAAAAiAAAAIQAAACeEAEAcGAAAIWAAACBgAAAmRABMHOwAACHgAAAg4AAAJ0QARBxEAAAhoAAAIKAAACbEAAAgIAAAIiAAACEgAAAnxABAHBAAACFQAAAgUABUI4wATBysAAAh0AAAINAAACckAEQcNAAAIZAAACCQAAAmpAAAIBAAACIQAAAhEAAAJ6QAQBwgAAAhcAAAIHAAACZkAFAdTAAAIfAAACDwAAAnZABIHFwAACGwAAAgsAAAJuQAACAwAAAiMAAAITAAACfkAEAcDAAAIUgAACBIAFQijABMHIwAACHIAAAgyAAAJxQARBwsAAAhiAAAIIgAACaUAAAgCAAAIggAACEIAAAnlABAHBwAACFoAAAgaAAAJlQAUB0MAAAh6AAAIOgAACdUAEgcTAAAIagAACCoAAAm1AAAICgAACIoAAAhKAAAJ9QAQBwUAAAhWAAAIFgBACAAAEwczAAAIdgAACDYAAAnNABEHDwAACGYAAAgmAAAJrQAACAYAAAiGAAAIRgAACe0AEAcJAAAIXgAACB4AAAmdABQHYwAACH4AAAg+AAAJ3QASBxsAAAhuAAAILgAACb0AAAgOAAAIjgAACE4AAAn9AGAHAAAACFEAAAgRABUIgwASBx8AAAhxAAAIMQAACcMAEAcKAAAIYQAACCEAAAmjAAAIAQAACIEAAAhBAAAJ4wAQBwYAAAhZAAAIGQAACZMAEwc7AAAIeQAACDkAAAnTABEHEQAACGkAAAgpAAAJswAACAkAAAiJAAAISQAACfMAEAcEAAAIVQAACBUAEAgCARMHKwAACHUAAAg1AAAJywARBw0AAAhlAAAIJQAACasAAAgFAAAIhQAACEUAAAnrABAHCAAACF0AAAgdAAAJmwAUB1MAAAh9AAAIPQAACdsAEgcXAAAIbQAACC0AAAm7AAAIDQAACI0AAAhNAAAJ+wAQBwMAAAhTAAAIEwAVCMMAEwcjAAAIcwAACDMAAAnHABEHCwAACGMAAAgjAAAJpwAACAMAAAiDAAAIQwAACecAEAcHAAAIWwAACBsAAAmXABQHQwAACHsAAAg7AAAJ1wASBxMAAAhrAAAIKwAACbcAAAgLAAAIiwAACEsAAAn3ABAHBQAACFcAAAgXAEAIAAATBzMAAAh3AAAINwAACc8AEQcPAAAIZwAACCcAAAmvAAAIBwAACIcAAAhHAAAJ7wAQBwkAAAhfAAAIHwAACZ8AFAdjAAAIfwAACD8AAAnfABIHGwAACG8AAAgvAAAJvwAACA8AAAiPAAAITwAACf8AEAUBABcFAQETBREAGwUBEBEFBQAZBQEEFQVBAB0FAUAQBQMAGAUBAhQFIQAcBQEgEgUJABoFAQgWBYEAQAUAABAFAgAXBYEBEwUZABsFARgRBQcAGQUBBhUFYQAdBQFgEAUEABgFAQMUBTEAHAUBMBIFDQAaBQEMFgXBAEAFAAAQABEAEgAAAAgABwAJAAYACgAFAAsABAAMAAMADQACAA4AAQAPAEHg7AALQREACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABAAkLCwAACQYLAAALAAYRAAAAERERAEGx7QALIQsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwBB6+0ACwEMAEH37QALFQwAAAAADAAAAAAJDAAAAAAADAAADABBpe4ACwEOAEGx7gALFQ0AAAAEDQAAAAAJDgAAAAAADgAADgBB3+4ACwEQAEHr7gALHg8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgBBou8ACw4SAAAAEhISAAAAAAAACQBB0+8ACwELAEHf7wALFQoAAAAACgAAAAAJCwAAAAAACwAACwBBjfAACwEMAEGZ8AALJwwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRgBB5PAACwE+AEGL8QALBf//////AEHQ8QALVxkSRDsCPyxHFD0zMAobBkZLRTcPSQ6OFwNAHTxpKzYfSi0cASAlKSEIDBUWIi4QOD4LNDEYZHR1di9BCX85ESNDMkKJiosFBCYoJw0qHjWMBxpIkxOUlQBBsPIAC4oOSWxsZWdhbCBieXRlIHNlcXVlbmNlAERvbWFpbiBlcnJvcgBSZXN1bHQgbm90IHJlcHJlc2VudGFibGUATm90IGEgdHR5AFBlcm1pc3Npb24gZGVuaWVkAE9wZXJhdGlvbiBub3QgcGVybWl0dGVkAE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkATm8gc3VjaCBwcm9jZXNzAEZpbGUgZXhpc3RzAFZhbHVlIHRvbyBsYXJnZSBmb3IgZGF0YSB0eXBlAE5vIHNwYWNlIGxlZnQgb24gZGV2aWNlAE91dCBvZiBtZW1vcnkAUmVzb3VyY2UgYnVzeQBJbnRlcnJ1cHRlZCBzeXN0ZW0gY2FsbABSZXNvdXJjZSB0ZW1wb3JhcmlseSB1bmF2YWlsYWJsZQBJbnZhbGlkIHNlZWsAQ3Jvc3MtZGV2aWNlIGxpbmsAUmVhZC1vbmx5IGZpbGUgc3lzdGVtAERpcmVjdG9yeSBub3QgZW1wdHkAQ29ubmVjdGlvbiByZXNldCBieSBwZWVyAE9wZXJhdGlvbiB0aW1lZCBvdXQAQ29ubmVjdGlvbiByZWZ1c2VkAEhvc3QgaXMgZG93bgBIb3N0IGlzIHVucmVhY2hhYmxlAEFkZHJlc3MgaW4gdXNlAEJyb2tlbiBwaXBlAEkvTyBlcnJvcgBObyBzdWNoIGRldmljZSBvciBhZGRyZXNzAEJsb2NrIGRldmljZSByZXF1aXJlZABObyBzdWNoIGRldmljZQBOb3QgYSBkaXJlY3RvcnkASXMgYSBkaXJlY3RvcnkAVGV4dCBmaWxlIGJ1c3kARXhlYyBmb3JtYXQgZXJyb3IASW52YWxpZCBhcmd1bWVudABBcmd1bWVudCBsaXN0IHRvbyBsb25nAFN5bWJvbGljIGxpbmsgbG9vcABGaWxlbmFtZSB0b28gbG9uZwBUb28gbWFueSBvcGVuIGZpbGVzIGluIHN5c3RlbQBObyBmaWxlIGRlc2NyaXB0b3JzIGF2YWlsYWJsZQBCYWQgZmlsZSBkZXNjcmlwdG9yAE5vIGNoaWxkIHByb2Nlc3MAQmFkIGFkZHJlc3MARmlsZSB0b28gbGFyZ2UAVG9vIG1hbnkgbGlua3MATm8gbG9ja3MgYXZhaWxhYmxlAFJlc291cmNlIGRlYWRsb2NrIHdvdWxkIG9jY3VyAFN0YXRlIG5vdCByZWNvdmVyYWJsZQBQcmV2aW91cyBvd25lciBkaWVkAE9wZXJhdGlvbiBjYW5jZWxlZABGdW5jdGlvbiBub3QgaW1wbGVtZW50ZWQATm8gbWVzc2FnZSBvZiBkZXNpcmVkIHR5cGUASWRlbnRpZmllciByZW1vdmVkAERldmljZSBub3QgYSBzdHJlYW0ATm8gZGF0YSBhdmFpbGFibGUARGV2aWNlIHRpbWVvdXQAT3V0IG9mIHN0cmVhbXMgcmVzb3VyY2VzAExpbmsgaGFzIGJlZW4gc2V2ZXJlZABQcm90b2NvbCBlcnJvcgBCYWQgbWVzc2FnZQBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlAE5vdCBhIHNvY2tldABEZXN0aW5hdGlvbiBhZGRyZXNzIHJlcXVpcmVkAE1lc3NhZ2UgdG9vIGxhcmdlAFByb3RvY29sIHdyb25nIHR5cGUgZm9yIHNvY2tldABQcm90b2NvbCBub3QgYXZhaWxhYmxlAFByb3RvY29sIG5vdCBzdXBwb3J0ZWQAU29ja2V0IHR5cGUgbm90IHN1cHBvcnRlZABOb3Qgc3VwcG9ydGVkAFByb3RvY29sIGZhbWlseSBub3Qgc3VwcG9ydGVkAEFkZHJlc3MgZmFtaWx5IG5vdCBzdXBwb3J0ZWQgYnkgcHJvdG9jb2wAQWRkcmVzcyBub3QgYXZhaWxhYmxlAE5ldHdvcmsgaXMgZG93bgBOZXR3b3JrIHVucmVhY2hhYmxlAENvbm5lY3Rpb24gcmVzZXQgYnkgbmV0d29yawBDb25uZWN0aW9uIGFib3J0ZWQATm8gYnVmZmVyIHNwYWNlIGF2YWlsYWJsZQBTb2NrZXQgaXMgY29ubmVjdGVkAFNvY2tldCBub3QgY29ubmVjdGVkAENhbm5vdCBzZW5kIGFmdGVyIHNvY2tldCBzaHV0ZG93bgBPcGVyYXRpb24gYWxyZWFkeSBpbiBwcm9ncmVzcwBPcGVyYXRpb24gaW4gcHJvZ3Jlc3MAU3RhbGUgZmlsZSBoYW5kbGUAUmVtb3RlIEkvTyBlcnJvcgBRdW90YSBleGNlZWRlZABObyBtZWRpdW0gZm91bmQAV3JvbmcgbWVkaXVtIHR5cGUATm8gZXJyb3IgaW5mb3JtYXRpb24AQcCAAQuFARMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAgERQADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADIAAAAzAAAANAAAADUAAAA2AAAANwAAADgAQfSCAQsCXEQAQbCDAQsQ/////////////////////w=="; - if (!isDataURI(wasmBinaryFile)) { - wasmBinaryFile = locateFile(wasmBinaryFile); - } - function getBinary(file) { - try { - if (file == wasmBinaryFile && wasmBinary) { - return new Uint8Array(wasmBinary); - } - var binary = tryParseAsDataURI(file); - if (binary) { - return binary; - } - if (readBinary) { - return readBinary(file); - } else { - throw "sync fetching of the wasm failed: you can preload it to Module['wasmBinary'] manually, or emcc.py will do that for you when generating HTML (but not JS)"; - } - } catch (err2) { - abort(err2); - } - } - function instantiateSync(file, info) { - var instance; - var module2; - var binary; - try { - binary = getBinary(file); - module2 = new WebAssembly.Module(binary); - instance = new WebAssembly.Instance(module2, info); - } catch (e) { - var str = e.toString(); - err("failed to compile wasm module: " + str); - if (str.includes("imported Memory") || str.includes("memory import")) { - err( - "Memory size incompatibility issues may be due to changing INITIAL_MEMORY at runtime to something too large. Use ALLOW_MEMORY_GROWTH to allow any size memory (and also make sure not to set INITIAL_MEMORY at runtime to something smaller than it was at compile time)." - ); - } - throw e; - } - return [instance, module2]; - } - function createWasm() { - var info = { a: asmLibraryArg }; - function receiveInstance(instance, module2) { - var exports3 = instance.exports; - Module["asm"] = exports3; - wasmMemory = Module["asm"]["g"]; - updateGlobalBufferAndViews(wasmMemory.buffer); - wasmTable = Module["asm"]["W"]; - addOnInit(Module["asm"]["h"]); - removeRunDependency(); - } - addRunDependency(); - if (Module["instantiateWasm"]) { - try { - var exports2 = Module["instantiateWasm"](info, receiveInstance); - return exports2; - } catch (e) { - err("Module.instantiateWasm callback failed with error: " + e); - return false; - } - } - var result = instantiateSync(wasmBinaryFile, info); - receiveInstance(result[0]); - return Module["asm"]; - } - function LE_HEAP_LOAD_F32(byteOffset) { - return HEAP_DATA_VIEW.getFloat32(byteOffset, true); - } - function LE_HEAP_LOAD_F64(byteOffset) { - return HEAP_DATA_VIEW.getFloat64(byteOffset, true); - } - function LE_HEAP_LOAD_I16(byteOffset) { - return HEAP_DATA_VIEW.getInt16(byteOffset, true); - } - function LE_HEAP_LOAD_I32(byteOffset) { - return HEAP_DATA_VIEW.getInt32(byteOffset, true); - } - function LE_HEAP_STORE_I32(byteOffset, value) { - HEAP_DATA_VIEW.setInt32(byteOffset, value, true); - } - function callRuntimeCallbacks(callbacks) { - while (callbacks.length > 0) { - var callback = callbacks.shift(); - if (typeof callback == "function") { - callback(Module); - continue; - } - var func = callback.func; - if (typeof func === "number") { - if (callback.arg === void 0) { - wasmTable.get(func)(); - } else { - wasmTable.get(func)(callback.arg); - } - } else { - func(callback.arg === void 0 ? null : callback.arg); - } - } - } - function _gmtime_r(time, tmPtr) { - var date = new Date(LE_HEAP_LOAD_I32((time >> 2) * 4) * 1e3); - LE_HEAP_STORE_I32((tmPtr >> 2) * 4, date.getUTCSeconds()); - LE_HEAP_STORE_I32((tmPtr + 4 >> 2) * 4, date.getUTCMinutes()); - LE_HEAP_STORE_I32((tmPtr + 8 >> 2) * 4, date.getUTCHours()); - LE_HEAP_STORE_I32((tmPtr + 12 >> 2) * 4, date.getUTCDate()); - LE_HEAP_STORE_I32((tmPtr + 16 >> 2) * 4, date.getUTCMonth()); - LE_HEAP_STORE_I32((tmPtr + 20 >> 2) * 4, date.getUTCFullYear() - 1900); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - LE_HEAP_STORE_I32((tmPtr + 36 >> 2) * 4, 0); - LE_HEAP_STORE_I32((tmPtr + 32 >> 2) * 4, 0); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - if (!_gmtime_r.GMTString) - _gmtime_r.GMTString = allocateUTF8("GMT"); - LE_HEAP_STORE_I32((tmPtr + 40 >> 2) * 4, _gmtime_r.GMTString); - return tmPtr; - } - function ___gmtime_r(a0, a1) { - return _gmtime_r(a0, a1); - } - function _emscripten_memcpy_big(dest, src, num) { - HEAPU8.copyWithin(dest, src, src + num); - } - function emscripten_realloc_buffer(size) { - try { - wasmMemory.grow(size - buffer.byteLength + 65535 >>> 16); - updateGlobalBufferAndViews(wasmMemory.buffer); - return 1; - } catch (e) { - } - } - function _emscripten_resize_heap(requestedSize) { - var oldSize = HEAPU8.length; - requestedSize = requestedSize >>> 0; - var maxHeapSize = 2147483648; - if (requestedSize > maxHeapSize) { - return false; - } - for (var cutDown = 1; cutDown <= 4; cutDown *= 2) { - var overGrownHeapSize = oldSize * (1 + 0.2 / cutDown); - overGrownHeapSize = Math.min( - overGrownHeapSize, - requestedSize + 100663296 - ); - var newSize = Math.min( - maxHeapSize, - alignUp(Math.max(requestedSize, overGrownHeapSize), 65536) - ); - var replacement = emscripten_realloc_buffer(newSize); - if (replacement) { - return true; - } - } - return false; - } - function _setTempRet0(val) { - } - function _time(ptr) { - var ret = Date.now() / 1e3 | 0; - if (ptr) { - LE_HEAP_STORE_I32((ptr >> 2) * 4, ret); - } - return ret; - } - function _tzset() { - if (_tzset.called) - return; - _tzset.called = true; - var currentYear = new Date().getFullYear(); - var winter = new Date(currentYear, 0, 1); - var summer = new Date(currentYear, 6, 1); - var winterOffset = winter.getTimezoneOffset(); - var summerOffset = summer.getTimezoneOffset(); - var stdTimezoneOffset = Math.max(winterOffset, summerOffset); - LE_HEAP_STORE_I32((__get_timezone() >> 2) * 4, stdTimezoneOffset * 60); - LE_HEAP_STORE_I32( - (__get_daylight() >> 2) * 4, - Number(winterOffset != summerOffset) - ); - function extractZone(date) { - var match = date.toTimeString().match(/\(([A-Za-z ]+)\)$/); - return match ? match[1] : "GMT"; - } - var winterName = extractZone(winter); - var summerName = extractZone(summer); - var winterNamePtr = allocateUTF8(winterName); - var summerNamePtr = allocateUTF8(summerName); - if (summerOffset < winterOffset) { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, winterNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, summerNamePtr); - } else { - LE_HEAP_STORE_I32((__get_tzname() >> 2) * 4, summerNamePtr); - LE_HEAP_STORE_I32((__get_tzname() + 4 >> 2) * 4, winterNamePtr); - } - } - function _timegm(tmPtr) { - _tzset(); - var time = Date.UTC( - LE_HEAP_LOAD_I32((tmPtr + 20 >> 2) * 4) + 1900, - LE_HEAP_LOAD_I32((tmPtr + 16 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 12 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 8 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr + 4 >> 2) * 4), - LE_HEAP_LOAD_I32((tmPtr >> 2) * 4), - 0 - ); - var date = new Date(time); - LE_HEAP_STORE_I32((tmPtr + 24 >> 2) * 4, date.getUTCDay()); - var start = Date.UTC(date.getUTCFullYear(), 0, 1, 0, 0, 0, 0); - var yday = (date.getTime() - start) / (1e3 * 60 * 60 * 24) | 0; - LE_HEAP_STORE_I32((tmPtr + 28 >> 2) * 4, yday); - return date.getTime() / 1e3 | 0; - } - function intArrayFromBase64(s) { - { - var buf; - try { - buf = Buffer.from(s, "base64"); - } catch (_) { - buf = new Buffer(s, "base64"); - } - return new Uint8Array( - buf["buffer"], - buf["byteOffset"], - buf["byteLength"] - ); - } - } - function tryParseAsDataURI(filename) { - if (!isDataURI(filename)) { - return; - } - return intArrayFromBase64(filename.slice(dataURIPrefix.length)); - } - var asmLibraryArg = { - e: ___gmtime_r, - c: _emscripten_memcpy_big, - d: _emscripten_resize_heap, - a: _setTempRet0, - b: _time, - f: _timegm - }; - var asm = createWasm(); - Module["___wasm_call_ctors"] = asm["h"]; - Module["_zip_ext_count_symlinks"] = asm["i"]; - Module["_zip_file_get_external_attributes"] = asm["j"]; - Module["_zipstruct_statS"] = asm["k"]; - Module["_zipstruct_stat_size"] = asm["l"]; - Module["_zipstruct_stat_mtime"] = asm["m"]; - Module["_zipstruct_stat_crc"] = asm["n"]; - Module["_zipstruct_errorS"] = asm["o"]; - Module["_zipstruct_error_code_zip"] = asm["p"]; - Module["_zipstruct_stat_comp_size"] = asm["q"]; - Module["_zipstruct_stat_comp_method"] = asm["r"]; - Module["_zip_close"] = asm["s"]; - Module["_zip_delete"] = asm["t"]; - Module["_zip_dir_add"] = asm["u"]; - Module["_zip_discard"] = asm["v"]; - Module["_zip_error_init_with_code"] = asm["w"]; - Module["_zip_get_error"] = asm["x"]; - Module["_zip_file_get_error"] = asm["y"]; - Module["_zip_error_strerror"] = asm["z"]; - Module["_zip_fclose"] = asm["A"]; - Module["_zip_file_add"] = asm["B"]; - Module["_free"] = asm["C"]; - var _malloc = Module["_malloc"] = asm["D"]; - Module["_zip_source_error"] = asm["E"]; - Module["_zip_source_seek"] = asm["F"]; - Module["_zip_file_set_external_attributes"] = asm["G"]; - Module["_zip_file_set_mtime"] = asm["H"]; - Module["_zip_fopen_index"] = asm["I"]; - Module["_zip_fread"] = asm["J"]; - Module["_zip_get_name"] = asm["K"]; - Module["_zip_get_num_entries"] = asm["L"]; - Module["_zip_source_read"] = asm["M"]; - Module["_zip_name_locate"] = asm["N"]; - Module["_zip_open_from_source"] = asm["O"]; - Module["_zip_set_file_compression"] = asm["P"]; - Module["_zip_source_buffer"] = asm["Q"]; - Module["_zip_source_buffer_create"] = asm["R"]; - Module["_zip_source_close"] = asm["S"]; - Module["_zip_source_free"] = asm["T"]; - Module["_zip_source_keep"] = asm["U"]; - Module["_zip_source_open"] = asm["V"]; - Module["_zip_source_tell"] = asm["X"]; - Module["_zip_stat_index"] = asm["Y"]; - var __get_tzname = Module["__get_tzname"] = asm["Z"]; - var __get_daylight = Module["__get_daylight"] = asm["_"]; - var __get_timezone = Module["__get_timezone"] = asm["$"]; - var stackSave = Module["stackSave"] = asm["aa"]; - var stackRestore = Module["stackRestore"] = asm["ba"]; - var stackAlloc = Module["stackAlloc"] = asm["ca"]; - Module["cwrap"] = cwrap; - Module["getValue"] = getValue; - var calledRun; - dependenciesFulfilled = function runCaller() { - if (!calledRun) - run(); - if (!calledRun) - dependenciesFulfilled = runCaller; - }; - function run(args) { - if (runDependencies > 0) { - return; - } - preRun(); - if (runDependencies > 0) { - return; - } - function doRun() { - if (calledRun) - return; - calledRun = true; - Module["calledRun"] = true; - if (ABORT) - return; - initRuntime(); - readyPromiseResolve(Module); - if (Module["onRuntimeInitialized"]) - Module["onRuntimeInitialized"](); - postRun(); - } - if (Module["setStatus"]) { - Module["setStatus"]("Running..."); - setTimeout(function() { - setTimeout(function() { - Module["setStatus"](""); - }, 1); - doRun(); - }, 1); - } else { - doRun(); - } - } - Module["run"] = run; - if (Module["preInit"]) { - if (typeof Module["preInit"] == "function") - Module["preInit"] = [Module["preInit"]]; - while (Module["preInit"].length > 0) { - Module["preInit"].pop()(); - } - } - run(); - return createModule2; - }; -}(); -module.exports = createModule; -}(libzipSync)); - -const createModule = libzipSync.exports; - -const number64 = [ - `number`, - `number` -]; -var Errors = /* @__PURE__ */ ((Errors2) => { - Errors2[Errors2["ZIP_ER_OK"] = 0] = "ZIP_ER_OK"; - Errors2[Errors2["ZIP_ER_MULTIDISK"] = 1] = "ZIP_ER_MULTIDISK"; - Errors2[Errors2["ZIP_ER_RENAME"] = 2] = "ZIP_ER_RENAME"; - Errors2[Errors2["ZIP_ER_CLOSE"] = 3] = "ZIP_ER_CLOSE"; - Errors2[Errors2["ZIP_ER_SEEK"] = 4] = "ZIP_ER_SEEK"; - Errors2[Errors2["ZIP_ER_READ"] = 5] = "ZIP_ER_READ"; - Errors2[Errors2["ZIP_ER_WRITE"] = 6] = "ZIP_ER_WRITE"; - Errors2[Errors2["ZIP_ER_CRC"] = 7] = "ZIP_ER_CRC"; - Errors2[Errors2["ZIP_ER_ZIPCLOSED"] = 8] = "ZIP_ER_ZIPCLOSED"; - Errors2[Errors2["ZIP_ER_NOENT"] = 9] = "ZIP_ER_NOENT"; - Errors2[Errors2["ZIP_ER_EXISTS"] = 10] = "ZIP_ER_EXISTS"; - Errors2[Errors2["ZIP_ER_OPEN"] = 11] = "ZIP_ER_OPEN"; - Errors2[Errors2["ZIP_ER_TMPOPEN"] = 12] = "ZIP_ER_TMPOPEN"; - Errors2[Errors2["ZIP_ER_ZLIB"] = 13] = "ZIP_ER_ZLIB"; - Errors2[Errors2["ZIP_ER_MEMORY"] = 14] = "ZIP_ER_MEMORY"; - Errors2[Errors2["ZIP_ER_CHANGED"] = 15] = "ZIP_ER_CHANGED"; - Errors2[Errors2["ZIP_ER_COMPNOTSUPP"] = 16] = "ZIP_ER_COMPNOTSUPP"; - Errors2[Errors2["ZIP_ER_EOF"] = 17] = "ZIP_ER_EOF"; - Errors2[Errors2["ZIP_ER_INVAL"] = 18] = "ZIP_ER_INVAL"; - Errors2[Errors2["ZIP_ER_NOZIP"] = 19] = "ZIP_ER_NOZIP"; - Errors2[Errors2["ZIP_ER_INTERNAL"] = 20] = "ZIP_ER_INTERNAL"; - Errors2[Errors2["ZIP_ER_INCONS"] = 21] = "ZIP_ER_INCONS"; - Errors2[Errors2["ZIP_ER_REMOVE"] = 22] = "ZIP_ER_REMOVE"; - Errors2[Errors2["ZIP_ER_DELETED"] = 23] = "ZIP_ER_DELETED"; - Errors2[Errors2["ZIP_ER_ENCRNOTSUPP"] = 24] = "ZIP_ER_ENCRNOTSUPP"; - Errors2[Errors2["ZIP_ER_RDONLY"] = 25] = "ZIP_ER_RDONLY"; - Errors2[Errors2["ZIP_ER_NOPASSWD"] = 26] = "ZIP_ER_NOPASSWD"; - Errors2[Errors2["ZIP_ER_WRONGPASSWD"] = 27] = "ZIP_ER_WRONGPASSWD"; - Errors2[Errors2["ZIP_ER_OPNOTSUPP"] = 28] = "ZIP_ER_OPNOTSUPP"; - Errors2[Errors2["ZIP_ER_INUSE"] = 29] = "ZIP_ER_INUSE"; - Errors2[Errors2["ZIP_ER_TELL"] = 30] = "ZIP_ER_TELL"; - Errors2[Errors2["ZIP_ER_COMPRESSED_DATA"] = 31] = "ZIP_ER_COMPRESSED_DATA"; - return Errors2; -})(Errors || {}); -const makeInterface = (emZip) => ({ - get HEAPU8() { - return emZip.HEAPU8; - }, - errors: Errors, - SEEK_SET: 0, - SEEK_CUR: 1, - SEEK_END: 2, - ZIP_CHECKCONS: 4, - ZIP_EXCL: 2, - ZIP_RDONLY: 16, - ZIP_FL_OVERWRITE: 8192, - ZIP_FL_COMPRESSED: 4, - ZIP_OPSYS_DOS: 0, - ZIP_OPSYS_AMIGA: 1, - ZIP_OPSYS_OPENVMS: 2, - ZIP_OPSYS_UNIX: 3, - ZIP_OPSYS_VM_CMS: 4, - ZIP_OPSYS_ATARI_ST: 5, - ZIP_OPSYS_OS_2: 6, - ZIP_OPSYS_MACINTOSH: 7, - ZIP_OPSYS_Z_SYSTEM: 8, - ZIP_OPSYS_CPM: 9, - ZIP_OPSYS_WINDOWS_NTFS: 10, - ZIP_OPSYS_MVS: 11, - ZIP_OPSYS_VSE: 12, - ZIP_OPSYS_ACORN_RISC: 13, - ZIP_OPSYS_VFAT: 14, - ZIP_OPSYS_ALTERNATE_MVS: 15, - ZIP_OPSYS_BEOS: 16, - ZIP_OPSYS_TANDEM: 17, - ZIP_OPSYS_OS_400: 18, - ZIP_OPSYS_OS_X: 19, - ZIP_CM_DEFAULT: -1, - ZIP_CM_STORE: 0, - ZIP_CM_DEFLATE: 8, - uint08S: emZip._malloc(1), - uint32S: emZip._malloc(4), - malloc: emZip._malloc, - free: emZip._free, - getValue: emZip.getValue, - openFromSource: emZip.cwrap(`zip_open_from_source`, `number`, [`number`, `number`, `number`]), - close: emZip.cwrap(`zip_close`, `number`, [`number`]), - discard: emZip.cwrap(`zip_discard`, null, [`number`]), - getError: emZip.cwrap(`zip_get_error`, `number`, [`number`]), - getName: emZip.cwrap(`zip_get_name`, `string`, [`number`, `number`, `number`]), - getNumEntries: emZip.cwrap(`zip_get_num_entries`, `number`, [`number`, `number`]), - delete: emZip.cwrap(`zip_delete`, `number`, [`number`, `number`]), - statIndex: emZip.cwrap(`zip_stat_index`, `number`, [`number`, ...number64, `number`, `number`]), - fopenIndex: emZip.cwrap(`zip_fopen_index`, `number`, [`number`, ...number64, `number`]), - fread: emZip.cwrap(`zip_fread`, `number`, [`number`, `number`, `number`, `number`]), - fclose: emZip.cwrap(`zip_fclose`, `number`, [`number`]), - dir: { - add: emZip.cwrap(`zip_dir_add`, `number`, [`number`, `string`]) - }, - file: { - add: emZip.cwrap(`zip_file_add`, `number`, [`number`, `string`, `number`, `number`]), - getError: emZip.cwrap(`zip_file_get_error`, `number`, [`number`]), - getExternalAttributes: emZip.cwrap(`zip_file_get_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setExternalAttributes: emZip.cwrap(`zip_file_set_external_attributes`, `number`, [`number`, ...number64, `number`, `number`, `number`]), - setMtime: emZip.cwrap(`zip_file_set_mtime`, `number`, [`number`, ...number64, `number`, `number`]), - setCompression: emZip.cwrap(`zip_set_file_compression`, `number`, [`number`, ...number64, `number`, `number`]) - }, - ext: { - countSymlinks: emZip.cwrap(`zip_ext_count_symlinks`, `number`, [`number`]) - }, - error: { - initWithCode: emZip.cwrap(`zip_error_init_with_code`, null, [`number`, `number`]), - strerror: emZip.cwrap(`zip_error_strerror`, `string`, [`number`]) - }, - name: { - locate: emZip.cwrap(`zip_name_locate`, `number`, [`number`, `string`, `number`]) - }, - source: { - fromUnattachedBuffer: emZip.cwrap(`zip_source_buffer_create`, `number`, [`number`, ...number64, `number`, `number`]), - fromBuffer: emZip.cwrap(`zip_source_buffer`, `number`, [`number`, `number`, ...number64, `number`]), - free: emZip.cwrap(`zip_source_free`, null, [`number`]), - keep: emZip.cwrap(`zip_source_keep`, null, [`number`]), - open: emZip.cwrap(`zip_source_open`, `number`, [`number`]), - close: emZip.cwrap(`zip_source_close`, `number`, [`number`]), - seek: emZip.cwrap(`zip_source_seek`, `number`, [`number`, ...number64, `number`]), - tell: emZip.cwrap(`zip_source_tell`, `number`, [`number`]), - read: emZip.cwrap(`zip_source_read`, `number`, [`number`, `number`, `number`]), - error: emZip.cwrap(`zip_source_error`, `number`, [`number`]) - }, - struct: { - statS: emZip.cwrap(`zipstruct_statS`, `number`, []), - statSize: emZip.cwrap(`zipstruct_stat_size`, `number`, [`number`]), - statCompSize: emZip.cwrap(`zipstruct_stat_comp_size`, `number`, [`number`]), - statCompMethod: emZip.cwrap(`zipstruct_stat_comp_method`, `number`, [`number`]), - statMtime: emZip.cwrap(`zipstruct_stat_mtime`, `number`, [`number`]), - statCrc: emZip.cwrap(`zipstruct_stat_crc`, `number`, [`number`]), - errorS: emZip.cwrap(`zipstruct_errorS`, `number`, []), - errorCodeZip: emZip.cwrap(`zipstruct_error_code_zip`, `number`, [`number`]) - } -}); - -function getArchivePart(path, extension) { - let idx = path.indexOf(extension); - if (idx <= 0) - return null; - let nextCharIdx = idx; - while (idx >= 0) { - nextCharIdx = idx + extension.length; - if (path[nextCharIdx] === ppath.sep) - break; - if (path[idx - 1] === ppath.sep) - return null; - idx = path.indexOf(extension, nextCharIdx); - } - if (path.length > nextCharIdx && path[nextCharIdx] !== ppath.sep) - return null; - return path.slice(0, nextCharIdx); -} -class ZipOpenFS extends MountFS { - static async openPromise(fn, opts) { - const zipOpenFs = new ZipOpenFS(opts); - try { - return await fn(zipOpenFs); - } finally { - zipOpenFs.saveAndClose(); - } - } - constructor(opts = {}) { - const fileExtensions = opts.fileExtensions; - const readOnlyArchives = opts.readOnlyArchives; - const getMountPoint = typeof fileExtensions === `undefined` ? (path) => getArchivePart(path, `.zip`) : (path) => { - for (const extension of fileExtensions) { - const result = getArchivePart(path, extension); - if (result) { - return result; - } - } - return null; - }; - const factorySync = (baseFs, p) => { - return new ZipFS(p, { - baseFs, - readOnly: readOnlyArchives, - stats: baseFs.statSync(p) - }); - }; - const factoryPromise = async (baseFs, p) => { - const zipOptions = { - baseFs, - readOnly: readOnlyArchives, - stats: await baseFs.statPromise(p) - }; - return () => { - return new ZipFS(p, zipOptions); - }; - }; - super({ - ...opts, - factorySync, - factoryPromise, - getMountPoint - }); - } -} - -const DEFAULT_COMPRESSION_LEVEL = `mixed`; -function toUnixTimestamp(time) { - if (typeof time === `string` && String(+time) === time) - return +time; - if (typeof time === `number` && Number.isFinite(time)) { - if (time < 0) { - return Date.now() / 1e3; - } else { - return time; - } - } - if (nodeUtils.types.isDate(time)) - return time.getTime() / 1e3; - throw new Error(`Invalid time`); -} -function makeEmptyArchive() { - return Buffer.from([ - 80, - 75, - 5, - 6, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0, - 0 - ]); -} -class LibzipError extends Error { - constructor(message, code) { - super(message); - this.name = `Libzip Error`; - this.code = code; - } -} -class ZipFS extends BasePortableFakeFS { - constructor(source, opts = {}) { - super(); - this.listings = /* @__PURE__ */ new Map(); - this.entries = /* @__PURE__ */ new Map(); - this.fileSources = /* @__PURE__ */ new Map(); - this.fds = /* @__PURE__ */ new Map(); - this.nextFd = 0; - this.ready = false; - this.readOnly = false; - const pathOptions = opts; - this.level = typeof pathOptions.level !== `undefined` ? pathOptions.level : DEFAULT_COMPRESSION_LEVEL; - source ??= makeEmptyArchive(); - if (typeof source === `string`) { - const { baseFs = new NodeFS() } = pathOptions; - this.baseFs = baseFs; - this.path = source; - } else { - this.path = null; - this.baseFs = null; - } - if (opts.stats) { - this.stats = opts.stats; - } else { - if (typeof source === `string`) { - try { - this.stats = this.baseFs.statSync(source); - } catch (error) { - if (error.code === `ENOENT` && pathOptions.create) { - this.stats = makeDefaultStats(); - } else { - throw error; - } - } - } else { - this.stats = makeDefaultStats(); - } - } - this.libzip = getInstance(); - const errPtr = this.libzip.malloc(4); - try { - let flags = 0; - if (opts.readOnly) { - flags |= this.libzip.ZIP_RDONLY; - this.readOnly = true; - } - if (typeof source === `string`) - source = pathOptions.create ? makeEmptyArchive() : this.baseFs.readFileSync(source); - const lzSource = this.allocateUnattachedSource(source); - try { - this.zip = this.libzip.openFromSource(lzSource, flags, errPtr); - this.lzSource = lzSource; - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - if (this.zip === 0) { - const error = this.libzip.struct.errorS(); - this.libzip.error.initWithCode(error, this.libzip.getValue(errPtr, `i32`)); - throw this.makeLibzipError(error); - } - } finally { - this.libzip.free(errPtr); - } - this.listings.set(PortablePath.root, /* @__PURE__ */ new Set()); - const entryCount = this.libzip.getNumEntries(this.zip, 0); - for (let t = 0; t < entryCount; ++t) { - const raw = this.libzip.getName(this.zip, t, 0); - if (ppath.isAbsolute(raw)) - continue; - const p = ppath.resolve(PortablePath.root, raw); - this.registerEntry(p, t); - if (raw.endsWith(`/`)) { - this.registerListing(p); - } - } - this.symlinkCount = this.libzip.ext.countSymlinks(this.zip); - if (this.symlinkCount === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.ready = true; - } - makeLibzipError(error) { - const errorCode = this.libzip.struct.errorCodeZip(error); - const strerror = this.libzip.error.strerror(error); - const libzipError = new LibzipError(strerror, this.libzip.errors[errorCode]); - if (errorCode === this.libzip.errors.ZIP_ER_CHANGED) - throw new Error(`Assertion failed: Unexpected libzip error: ${libzipError.message}`); - return libzipError; - } - getExtractHint(hints) { - for (const fileName of this.entries.keys()) { - const ext = this.pathUtils.extname(fileName); - if (hints.relevantExtensions.has(ext)) { - return true; - } - } - return false; - } - getAllFiles() { - return Array.from(this.entries.keys()); - } - getRealPath() { - if (!this.path) - throw new Error(`ZipFS don't have real paths when loaded from a buffer`); - return this.path; - } - prepareClose() { - if (!this.ready) - throw EBUSY(`archive closed, close`); - unwatchAllFiles(this); - } - getBufferAndClose() { - this.prepareClose(); - if (this.entries.size === 0) { - this.discardAndClose(); - return makeEmptyArchive(); - } - try { - this.libzip.source.keep(this.lzSource); - if (this.libzip.close(this.zip) === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - if (this.libzip.source.open(this.lzSource) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_END) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - const size = this.libzip.source.tell(this.lzSource); - if (size === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - if (this.libzip.source.seek(this.lzSource, 0, 0, this.libzip.SEEK_SET) === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - const buffer = this.libzip.malloc(size); - if (!buffer) - throw new Error(`Couldn't allocate enough memory`); - try { - const rc = this.libzip.source.read(this.lzSource, buffer, size); - if (rc === -1) - throw this.makeLibzipError(this.libzip.source.error(this.lzSource)); - else if (rc < size) - throw new Error(`Incomplete read`); - else if (rc > size) - throw new Error(`Overread`); - let result = Buffer.from(this.libzip.HEAPU8.subarray(buffer, buffer + size)); - if (process.env.YARN_IS_TEST_ENV && process.env.YARN_ZIP_DATA_EPILOGUE) - result = Buffer.concat([result, Buffer.from(process.env.YARN_ZIP_DATA_EPILOGUE)]); - return result; - } finally { - this.libzip.free(buffer); - } - } finally { - this.libzip.source.close(this.lzSource); - this.libzip.source.free(this.lzSource); - this.ready = false; - } - } - discardAndClose() { - this.prepareClose(); - this.libzip.discard(this.zip); - this.ready = false; - } - saveAndClose() { - if (!this.path || !this.baseFs) - throw new Error(`ZipFS cannot be saved and must be discarded when loaded from a buffer`); - if (this.readOnly) { - this.discardAndClose(); - return; - } - const newMode = this.baseFs.existsSync(this.path) || this.stats.mode === DEFAULT_MODE ? void 0 : this.stats.mode; - this.baseFs.writeFileSync(this.path, this.getBufferAndClose(), { mode: newMode }); - this.ready = false; - } - resolve(p) { - return ppath.resolve(PortablePath.root, p); - } - async openPromise(p, flags, mode) { - return this.openSync(p, flags, mode); - } - openSync(p, flags, mode) { - const fd = this.nextFd++; - this.fds.set(fd, { cursor: 0, p }); - return fd; - } - hasOpenFileHandles() { - return !!this.fds.size; - } - async opendirPromise(p, opts) { - return this.opendirSync(p, opts); - } - opendirSync(p, opts = {}) { - const resolvedP = this.resolveFilename(`opendir '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`opendir '${p}'`); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`opendir '${p}'`); - const entries = [...directoryListing]; - const fd = this.openSync(resolvedP, `r`); - const onClose = () => { - this.closeSync(fd); - }; - return opendir(this, resolvedP, entries, { onClose }); - } - async readPromise(fd, buffer, offset, length, position) { - return this.readSync(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset = 0, length = buffer.byteLength, position = -1) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - const realPosition = position === -1 || position === null ? entry.cursor : position; - const source = this.readFileSync(entry.p); - source.copy(buffer, offset, realPosition, realPosition + length); - const bytesRead = Math.max(0, Math.min(source.length - realPosition, length)); - if (position === -1 || position === null) - entry.cursor += bytesRead; - return bytesRead; - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.writeSync(fd, buffer, position); - } else { - return this.writeSync(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - throw new Error(`Unimplemented`); - } - async closePromise(fd) { - return this.closeSync(fd); - } - closeSync(fd) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`read`); - this.fds.delete(fd); - } - createReadStream(p, { encoding } = {}) { - if (p === null) - throw new Error(`Unimplemented`); - const fd = this.openSync(p, `r`); - const stream$1 = Object.assign( - new stream.PassThrough({ - emitClose: true, - autoDestroy: true, - destroy: (error, callback) => { - clearImmediate(immediate); - this.closeSync(fd); - callback(error); - } - }), - { - close() { - stream$1.destroy(); - }, - bytesRead: 0, - path: p, - pending: false - } - ); - const immediate = setImmediate(async () => { - try { - const data = await this.readFilePromise(p, encoding); - stream$1.bytesRead = data.length; - stream$1.end(data); - } catch (error) { - stream$1.destroy(error); - } - }); - return stream$1; - } - createWriteStream(p, { encoding } = {}) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (p === null) - throw new Error(`Unimplemented`); - const chunks = []; - const fd = this.openSync(p, `w`); - const stream$1 = Object.assign( - new stream.PassThrough({ - autoDestroy: true, - emitClose: true, - destroy: (error, callback) => { - try { - if (error) { - callback(error); - } else { - this.writeFileSync(p, Buffer.concat(chunks), encoding); - callback(null); - } - } catch (err) { - callback(err); - } finally { - this.closeSync(fd); - } - } - }), - { - close() { - stream$1.destroy(); - }, - bytesWritten: 0, - path: p, - pending: false - } - ); - stream$1.on(`data`, (chunk) => { - const chunkBuffer = Buffer.from(chunk); - stream$1.bytesWritten += chunkBuffer.length; - chunks.push(chunkBuffer); - }); - return stream$1; - } - async realpathPromise(p) { - return this.realpathSync(p); - } - realpathSync(p) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`lstat '${p}'`); - return resolvedP; - } - async existsPromise(p) { - return this.existsSync(p); - } - existsSync(p) { - if (!this.ready) - throw EBUSY(`archive closed, existsSync '${p}'`); - if (this.symlinkCount === 0) { - const resolvedP2 = ppath.resolve(PortablePath.root, p); - return this.entries.has(resolvedP2) || this.listings.has(resolvedP2); - } - let resolvedP; - try { - resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, false); - } catch (error) { - return false; - } - if (resolvedP === void 0) - return false; - return this.entries.has(resolvedP) || this.listings.has(resolvedP); - } - async accessPromise(p, mode) { - return this.accessSync(p, mode); - } - accessSync(p, mode = fs.constants.F_OK) { - const resolvedP = this.resolveFilename(`access '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`access '${p}'`); - if (this.readOnly && mode & fs.constants.W_OK) { - throw EROFS(`access '${p}'`); - } - } - async statPromise(p, opts = { bigint: false }) { - if (opts.bigint) - return this.statSync(p, { bigint: true }); - return this.statSync(p); - } - statSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`stat '${p}'`, p, void 0, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - throw ENOENT(`stat '${p}'`); - } - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`stat '${p}'`); - return this.statImpl(`stat '${p}'`, resolvedP, opts); - } - async fstatPromise(fd, opts) { - return this.fstatSync(fd, opts); - } - fstatSync(fd, opts) { - const entry = this.fds.get(fd); - if (typeof entry === `undefined`) - throw EBADF(`fstatSync`); - const { p } = entry; - const resolvedP = this.resolveFilename(`stat '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`stat '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`stat '${p}'`); - return this.statImpl(`fstat '${p}'`, resolvedP, opts); - } - async lstatPromise(p, opts = { bigint: false }) { - if (opts.bigint) - return this.lstatSync(p, { bigint: true }); - return this.lstatSync(p); - } - lstatSync(p, opts = { bigint: false, throwIfNoEntry: true }) { - const resolvedP = this.resolveFilename(`lstat '${p}'`, p, false, opts.throwIfNoEntry); - if (resolvedP === void 0) - return void 0; - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) { - if (opts.throwIfNoEntry === false) - return void 0; - throw ENOENT(`lstat '${p}'`); - } - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`lstat '${p}'`); - return this.statImpl(`lstat '${p}'`, resolvedP, opts); - } - statImpl(reason, p, opts = {}) { - const entry = this.entries.get(p); - if (typeof entry !== `undefined`) { - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, entry, 0, 0, stat); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = this.libzip.struct.statSize(stat) >>> 0; - const blksize = 512; - const blocks = Math.ceil(size / blksize); - const mtimeMs = (this.libzip.struct.statMtime(stat) >>> 0) * 1e3; - const atimeMs = mtimeMs; - const birthtimeMs = mtimeMs; - const ctimeMs = mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const type = this.listings.has(p) ? fs.constants.S_IFDIR : this.isSymbolicLink(entry) ? fs.constants.S_IFLNK : fs.constants.S_IFREG; - const defaultMode = type === fs.constants.S_IFDIR ? 493 : 420; - const mode = type | this.getUnixMode(entry, defaultMode) & 511; - const crc = this.libzip.struct.statCrc(stat); - const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); - return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; - } - if (this.listings.has(p)) { - const uid = this.stats.uid; - const gid = this.stats.gid; - const size = 0; - const blksize = 512; - const blocks = 0; - const atimeMs = this.stats.mtimeMs; - const birthtimeMs = this.stats.mtimeMs; - const ctimeMs = this.stats.mtimeMs; - const mtimeMs = this.stats.mtimeMs; - const atime = new Date(atimeMs); - const birthtime = new Date(birthtimeMs); - const ctime = new Date(ctimeMs); - const mtime = new Date(mtimeMs); - const mode = fs.constants.S_IFDIR | 493; - const crc = 0; - const statInstance = Object.assign(new StatEntry(), { uid, gid, size, blksize, blocks, atime, birthtime, ctime, mtime, atimeMs, birthtimeMs, ctimeMs, mtimeMs, mode, crc }); - return opts.bigint === true ? convertToBigIntStats(statInstance) : statInstance; - } - throw new Error(`Unreachable`); - } - getUnixMode(index, defaultMode) { - const rc = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) - return defaultMode; - return this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - } - registerListing(p) { - const existingListing = this.listings.get(p); - if (existingListing) - return existingListing; - const parentListing = this.registerListing(ppath.dirname(p)); - parentListing.add(ppath.basename(p)); - const newListing = /* @__PURE__ */ new Set(); - this.listings.set(p, newListing); - return newListing; - } - registerEntry(p, index) { - const parentListing = this.registerListing(ppath.dirname(p)); - parentListing.add(ppath.basename(p)); - this.entries.set(p, index); - } - unregisterListing(p) { - this.listings.delete(p); - const parentListing = this.listings.get(ppath.dirname(p)); - parentListing?.delete(ppath.basename(p)); - } - unregisterEntry(p) { - this.unregisterListing(p); - const entry = this.entries.get(p); - this.entries.delete(p); - if (typeof entry === `undefined`) - return; - this.fileSources.delete(entry); - if (this.isSymbolicLink(entry)) { - this.symlinkCount--; - } - } - deleteEntry(p, index) { - this.unregisterEntry(p); - const rc = this.libzip.delete(this.zip, index); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - resolveFilename(reason, p, resolveLastComponent = true, throwIfNoEntry = true) { - if (!this.ready) - throw EBUSY(`archive closed, ${reason}`); - let resolvedP = ppath.resolve(PortablePath.root, p); - if (resolvedP === `/`) - return PortablePath.root; - const fileIndex = this.entries.get(resolvedP); - if (resolveLastComponent && fileIndex !== void 0) { - if (this.symlinkCount !== 0 && this.isSymbolicLink(fileIndex)) { - const target = this.getFileSource(fileIndex).toString(); - return this.resolveFilename(reason, ppath.resolve(ppath.dirname(resolvedP), target), true, throwIfNoEntry); - } else { - return resolvedP; - } - } - while (true) { - const parentP = this.resolveFilename(reason, ppath.dirname(resolvedP), true, throwIfNoEntry); - if (parentP === void 0) - return parentP; - const isDir = this.listings.has(parentP); - const doesExist = this.entries.has(parentP); - if (!isDir && !doesExist) { - if (throwIfNoEntry === false) - return void 0; - throw ENOENT(reason); - } - if (!isDir) - throw ENOTDIR(reason); - resolvedP = ppath.resolve(parentP, ppath.basename(resolvedP)); - if (!resolveLastComponent || this.symlinkCount === 0) - break; - const index = this.libzip.name.locate(this.zip, resolvedP.slice(1), 0); - if (index === -1) - break; - if (this.isSymbolicLink(index)) { - const target = this.getFileSource(index).toString(); - resolvedP = ppath.resolve(ppath.dirname(resolvedP), target); - } else { - break; - } - } - return resolvedP; - } - allocateBuffer(content) { - if (!Buffer.isBuffer(content)) - content = Buffer.from(content); - const buffer = this.libzip.malloc(content.byteLength); - if (!buffer) - throw new Error(`Couldn't allocate enough memory`); - const heap = new Uint8Array(this.libzip.HEAPU8.buffer, buffer, content.byteLength); - heap.set(content); - return { buffer, byteLength: content.byteLength }; - } - allocateUnattachedSource(content) { - const error = this.libzip.struct.errorS(); - const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromUnattachedBuffer(buffer, byteLength, 0, 1, error); - if (source === 0) { - this.libzip.free(error); - throw this.makeLibzipError(error); - } - return source; - } - allocateSource(content) { - const { buffer, byteLength } = this.allocateBuffer(content); - const source = this.libzip.source.fromBuffer(this.zip, buffer, byteLength, 0, 1); - if (source === 0) { - this.libzip.free(buffer); - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - return source; - } - setFileSource(p, content) { - const buffer = Buffer.isBuffer(content) ? content : Buffer.from(content); - const target = ppath.relative(PortablePath.root, p); - const lzSource = this.allocateSource(content); - try { - const newIndex = this.libzip.file.add(this.zip, target, lzSource, this.libzip.ZIP_FL_OVERWRITE); - if (newIndex === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - if (this.level !== `mixed`) { - const method = this.level === 0 ? this.libzip.ZIP_CM_STORE : this.libzip.ZIP_CM_DEFLATE; - const rc = this.libzip.file.setCompression(this.zip, newIndex, 0, method, this.level); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - this.fileSources.set(newIndex, buffer); - return newIndex; - } catch (error) { - this.libzip.source.free(lzSource); - throw error; - } - } - isSymbolicLink(index) { - if (this.symlinkCount === 0) - return false; - const attrs = this.libzip.file.getExternalAttributes(this.zip, index, 0, 0, this.libzip.uint08S, this.libzip.uint32S); - if (attrs === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const opsys = this.libzip.getValue(this.libzip.uint08S, `i8`) >>> 0; - if (opsys !== this.libzip.ZIP_OPSYS_UNIX) - return false; - const attributes = this.libzip.getValue(this.libzip.uint32S, `i32`) >>> 16; - return (attributes & fs.constants.S_IFMT) === fs.constants.S_IFLNK; - } - getFileSource(index, opts = { asyncDecompress: false }) { - const cachedFileSource = this.fileSources.get(index); - if (typeof cachedFileSource !== `undefined`) - return cachedFileSource; - const stat = this.libzip.struct.statS(); - const rc = this.libzip.statIndex(this.zip, index, 0, 0, stat); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - const size = this.libzip.struct.statCompSize(stat); - const compressionMethod = this.libzip.struct.statCompMethod(stat); - const buffer = this.libzip.malloc(size); - try { - const file = this.libzip.fopenIndex(this.zip, index, 0, this.libzip.ZIP_FL_COMPRESSED); - if (file === 0) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - try { - const rc2 = this.libzip.fread(file, buffer, size, 0); - if (rc2 === -1) - throw this.makeLibzipError(this.libzip.file.getError(file)); - else if (rc2 < size) - throw new Error(`Incomplete read`); - else if (rc2 > size) - throw new Error(`Overread`); - const memory = this.libzip.HEAPU8.subarray(buffer, buffer + size); - const data = Buffer.from(memory); - if (compressionMethod === 0) { - this.fileSources.set(index, data); - return data; - } else if (opts.asyncDecompress) { - return new Promise((resolve, reject) => { - zlib__default.default.inflateRaw(data, (error, result) => { - if (error) { - reject(error); - } else { - this.fileSources.set(index, result); - resolve(result); - } - }); - }); - } else { - const decompressedData = zlib__default.default.inflateRawSync(data); - this.fileSources.set(index, decompressedData); - return decompressedData; - } - } finally { - this.libzip.fclose(file); - } - } finally { - this.libzip.free(buffer); - } - } - async fchmodPromise(fd, mask) { - return this.chmodPromise(this.fdToPath(fd, `fchmod`), mask); - } - fchmodSync(fd, mask) { - return this.chmodSync(this.fdToPath(fd, `fchmodSync`), mask); - } - async chmodPromise(p, mask) { - return this.chmodSync(p, mask); - } - chmodSync(p, mask) { - if (this.readOnly) - throw EROFS(`chmod '${p}'`); - mask &= 493; - const resolvedP = this.resolveFilename(`chmod '${p}'`, p, false); - const entry = this.entries.get(resolvedP); - if (typeof entry === `undefined`) - throw new Error(`Assertion failed: The entry should have been registered (${resolvedP})`); - const oldMod = this.getUnixMode(entry, fs.constants.S_IFREG | 0); - const newMod = oldMod & ~511 | mask; - const rc = this.libzip.file.setExternalAttributes(this.zip, entry, 0, 0, this.libzip.ZIP_OPSYS_UNIX, newMod << 16); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - async fchownPromise(fd, uid, gid) { - return this.chownPromise(this.fdToPath(fd, `fchown`), uid, gid); - } - fchownSync(fd, uid, gid) { - return this.chownSync(this.fdToPath(fd, `fchownSync`), uid, gid); - } - async chownPromise(p, uid, gid) { - return this.chownSync(p, uid, gid); - } - chownSync(p, uid, gid) { - throw new Error(`Unimplemented`); - } - async renamePromise(oldP, newP) { - return this.renameSync(oldP, newP); - } - renameSync(oldP, newP) { - throw new Error(`Unimplemented`); - } - async copyFilePromise(sourceP, destP, flags) { - const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); - const source = await this.getFileSource(indexSource, { asyncDecompress: true }); - const newIndex = this.setFileSource(resolvedDestP, source); - if (newIndex !== indexDest) { - this.registerEntry(resolvedDestP, newIndex); - } - } - copyFileSync(sourceP, destP, flags = 0) { - const { indexSource, indexDest, resolvedDestP } = this.prepareCopyFile(sourceP, destP, flags); - const source = this.getFileSource(indexSource); - const newIndex = this.setFileSource(resolvedDestP, source); - if (newIndex !== indexDest) { - this.registerEntry(resolvedDestP, newIndex); - } - } - prepareCopyFile(sourceP, destP, flags = 0) { - if (this.readOnly) - throw EROFS(`copyfile '${sourceP} -> '${destP}'`); - if ((flags & fs.constants.COPYFILE_FICLONE_FORCE) !== 0) - throw ENOSYS(`unsupported clone operation`, `copyfile '${sourceP}' -> ${destP}'`); - const resolvedSourceP = this.resolveFilename(`copyfile '${sourceP} -> ${destP}'`, sourceP); - const indexSource = this.entries.get(resolvedSourceP); - if (typeof indexSource === `undefined`) - throw EINVAL(`copyfile '${sourceP}' -> '${destP}'`); - const resolvedDestP = this.resolveFilename(`copyfile '${sourceP}' -> ${destP}'`, destP); - const indexDest = this.entries.get(resolvedDestP); - if ((flags & (fs.constants.COPYFILE_EXCL | fs.constants.COPYFILE_FICLONE_FORCE)) !== 0 && typeof indexDest !== `undefined`) - throw EEXIST(`copyfile '${sourceP}' -> '${destP}'`); - return { - indexSource, - resolvedDestP, - indexDest - }; - } - async appendFilePromise(p, content, opts) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (typeof opts === `undefined`) - opts = { flag: `a` }; - else if (typeof opts === `string`) - opts = { flag: `a`, encoding: opts }; - else if (typeof opts.flag === `undefined`) - opts = { flag: `a`, ...opts }; - return this.writeFilePromise(p, content, opts); - } - appendFileSync(p, content, opts = {}) { - if (this.readOnly) - throw EROFS(`open '${p}'`); - if (typeof opts === `undefined`) - opts = { flag: `a` }; - else if (typeof opts === `string`) - opts = { flag: `a`, encoding: opts }; - else if (typeof opts.flag === `undefined`) - opts = { flag: `a`, ...opts }; - return this.writeFileSync(p, content, opts); - } - fdToPath(fd, reason) { - const path = this.fds.get(fd)?.p; - if (typeof path === `undefined`) - throw EBADF(reason); - return path; - } - async writeFilePromise(p, content, opts) { - const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); - if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) - content = Buffer.concat([await this.getFileSource(index, { asyncDecompress: true }), Buffer.from(content)]); - if (encoding !== null) - content = content.toString(encoding); - const newIndex = this.setFileSource(resolvedP, content); - if (newIndex !== index) - this.registerEntry(resolvedP, newIndex); - if (mode !== null) { - await this.chmodPromise(resolvedP, mode); - } - } - writeFileSync(p, content, opts) { - const { encoding, mode, index, resolvedP } = this.prepareWriteFile(p, opts); - if (index !== void 0 && typeof opts === `object` && opts.flag && opts.flag.includes(`a`)) - content = Buffer.concat([this.getFileSource(index), Buffer.from(content)]); - if (encoding !== null) - content = content.toString(encoding); - const newIndex = this.setFileSource(resolvedP, content); - if (newIndex !== index) - this.registerEntry(resolvedP, newIndex); - if (mode !== null) { - this.chmodSync(resolvedP, mode); - } - } - prepareWriteFile(p, opts) { - if (typeof p === `number`) - p = this.fdToPath(p, `read`); - if (this.readOnly) - throw EROFS(`open '${p}'`); - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`open '${p}'`); - let encoding = null, mode = null; - if (typeof opts === `string`) { - encoding = opts; - } else if (typeof opts === `object`) { - ({ - encoding = null, - mode = null - } = opts); - } - const index = this.entries.get(resolvedP); - return { - encoding, - mode, - resolvedP, - index - }; - } - async unlinkPromise(p) { - return this.unlinkSync(p); - } - unlinkSync(p) { - if (this.readOnly) - throw EROFS(`unlink '${p}'`); - const resolvedP = this.resolveFilename(`unlink '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`unlink '${p}'`); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`unlink '${p}'`); - this.deleteEntry(resolvedP, index); - } - async utimesPromise(p, atime, mtime) { - return this.utimesSync(p, atime, mtime); - } - utimesSync(p, atime, mtime) { - if (this.readOnly) - throw EROFS(`utimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p); - this.utimesImpl(resolvedP, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.lutimesSync(p, atime, mtime); - } - lutimesSync(p, atime, mtime) { - if (this.readOnly) - throw EROFS(`lutimes '${p}'`); - const resolvedP = this.resolveFilename(`utimes '${p}'`, p, false); - this.utimesImpl(resolvedP, mtime); - } - utimesImpl(resolvedP, mtime) { - if (this.listings.has(resolvedP)) { - if (!this.entries.has(resolvedP)) - this.hydrateDirectory(resolvedP); - } - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - const rc = this.libzip.file.setMtime(this.zip, entry, 0, toUnixTimestamp(mtime), 0); - if (rc === -1) { - throw this.makeLibzipError(this.libzip.getError(this.zip)); - } - } - async mkdirPromise(p, opts) { - return this.mkdirSync(p, opts); - } - mkdirSync(p, { mode = 493, recursive = false } = {}) { - if (recursive) - return this.mkdirpSync(p, { chmod: mode }); - if (this.readOnly) - throw EROFS(`mkdir '${p}'`); - const resolvedP = this.resolveFilename(`mkdir '${p}'`, p); - if (this.entries.has(resolvedP) || this.listings.has(resolvedP)) - throw EEXIST(`mkdir '${p}'`); - this.hydrateDirectory(resolvedP); - this.chmodSync(resolvedP, mode); - return void 0; - } - async rmdirPromise(p, opts) { - return this.rmdirSync(p, opts); - } - rmdirSync(p, { recursive = false } = {}) { - if (this.readOnly) - throw EROFS(`rmdir '${p}'`); - if (recursive) { - this.removeSync(p); - return; - } - const resolvedP = this.resolveFilename(`rmdir '${p}'`, p); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`rmdir '${p}'`); - if (directoryListing.size > 0) - throw ENOTEMPTY(`rmdir '${p}'`); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`rmdir '${p}'`); - this.deleteEntry(p, index); - } - hydrateDirectory(resolvedP) { - const index = this.libzip.dir.add(this.zip, ppath.relative(PortablePath.root, resolvedP)); - if (index === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.registerListing(resolvedP); - this.registerEntry(resolvedP, index); - return index; - } - async linkPromise(existingP, newP) { - return this.linkSync(existingP, newP); - } - linkSync(existingP, newP) { - throw EOPNOTSUPP(`link '${existingP}' -> '${newP}'`); - } - async symlinkPromise(target, p) { - return this.symlinkSync(target, p); - } - symlinkSync(target, p) { - if (this.readOnly) - throw EROFS(`symlink '${target}' -> '${p}'`); - const resolvedP = this.resolveFilename(`symlink '${target}' -> '${p}'`, p); - if (this.listings.has(resolvedP)) - throw EISDIR(`symlink '${target}' -> '${p}'`); - if (this.entries.has(resolvedP)) - throw EEXIST(`symlink '${target}' -> '${p}'`); - const index = this.setFileSource(resolvedP, target); - this.registerEntry(resolvedP, index); - const rc = this.libzip.file.setExternalAttributes(this.zip, index, 0, 0, this.libzip.ZIP_OPSYS_UNIX, (fs.constants.S_IFLNK | 511) << 16); - if (rc === -1) - throw this.makeLibzipError(this.libzip.getError(this.zip)); - this.symlinkCount += 1; - } - async readFilePromise(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - const data = await this.readFileBuffer(p, { asyncDecompress: true }); - return encoding ? data.toString(encoding) : data; - } - readFileSync(p, encoding) { - if (typeof encoding === `object`) - encoding = encoding ? encoding.encoding : void 0; - const data = this.readFileBuffer(p); - return encoding ? data.toString(encoding) : data; - } - readFileBuffer(p, opts = { asyncDecompress: false }) { - if (typeof p === `number`) - p = this.fdToPath(p, `read`); - const resolvedP = this.resolveFilename(`open '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`open '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) - throw EISDIR(`read`); - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - return this.getFileSource(entry, opts); - } - async readdirPromise(p, opts) { - return this.readdirSync(p, opts); - } - readdirSync(p, opts) { - const resolvedP = this.resolveFilename(`scandir '${p}'`, p); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`scandir '${p}'`); - const directoryListing = this.listings.get(resolvedP); - if (!directoryListing) - throw ENOTDIR(`scandir '${p}'`); - if (opts?.recursive) { - if (opts?.withFileTypes) { - const entries = Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: PortablePath.dot - }); - }); - for (const entry of entries) { - if (!entry.isDirectory()) - continue; - const subPath = ppath.join(entry.path, entry.name); - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - for (const child of subListing) { - entries.push(Object.assign(this.statImpl(`lstat`, ppath.join(p, subPath, child)), { - name: child, - path: subPath - })); - } - } - return entries; - } else { - const entries = [...directoryListing]; - for (const subPath of entries) { - const subListing = this.listings.get(ppath.join(resolvedP, subPath)); - if (typeof subListing === `undefined`) - continue; - for (const child of subListing) { - entries.push(ppath.join(subPath, child)); - } - } - return entries; - } - } else if (opts?.withFileTypes) { - return Array.from(directoryListing, (name) => { - return Object.assign(this.statImpl(`lstat`, ppath.join(p, name)), { - name, - path: void 0 - }); - }); - } else { - return [...directoryListing]; - } - } - async readlinkPromise(p) { - const entry = this.prepareReadlink(p); - return (await this.getFileSource(entry, { asyncDecompress: true })).toString(); - } - readlinkSync(p) { - const entry = this.prepareReadlink(p); - return this.getFileSource(entry).toString(); - } - prepareReadlink(p) { - const resolvedP = this.resolveFilename(`readlink '${p}'`, p, false); - if (!this.entries.has(resolvedP) && !this.listings.has(resolvedP)) - throw ENOENT(`readlink '${p}'`); - if (p[p.length - 1] === `/` && !this.listings.has(resolvedP)) - throw ENOTDIR(`open '${p}'`); - if (this.listings.has(resolvedP)) - throw EINVAL(`readlink '${p}'`); - const entry = this.entries.get(resolvedP); - if (entry === void 0) - throw new Error(`Unreachable`); - if (!this.isSymbolicLink(entry)) - throw EINVAL(`readlink '${p}'`); - return entry; - } - async truncatePromise(p, len = 0) { - const resolvedP = this.resolveFilename(`open '${p}'`, p); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`open '${p}'`); - const source = await this.getFileSource(index, { asyncDecompress: true }); - const truncated = Buffer.alloc(len, 0); - source.copy(truncated); - return await this.writeFilePromise(p, truncated); - } - truncateSync(p, len = 0) { - const resolvedP = this.resolveFilename(`open '${p}'`, p); - const index = this.entries.get(resolvedP); - if (typeof index === `undefined`) - throw EINVAL(`open '${p}'`); - const source = this.getFileSource(index); - const truncated = Buffer.alloc(len, 0); - source.copy(truncated); - return this.writeFileSync(p, truncated); - } - async ftruncatePromise(fd, len) { - return this.truncatePromise(this.fdToPath(fd, `ftruncate`), len); - } - ftruncateSync(fd, len) { - return this.truncateSync(this.fdToPath(fd, `ftruncateSync`), len); - } - watch(p, a, b) { - let persistent; - switch (typeof a) { - case `function`: - case `string`: - case `undefined`: - { - persistent = true; - } - break; - default: - { - ({ persistent = true } = a); - } - break; - } - if (!persistent) - return { on: () => { - }, close: () => { - } }; - const interval = setInterval(() => { - }, 24 * 60 * 60 * 1e3); - return { on: () => { - }, close: () => { - clearInterval(interval); - } }; - } - watchFile(p, a, b) { - const resolvedP = ppath.resolve(PortablePath.root, p); - return watchFile(this, resolvedP, a, b); - } - unwatchFile(p, cb) { - const resolvedP = ppath.resolve(PortablePath.root, p); - return unwatchFile(this, resolvedP, cb); - } -} - -setFactory(() => { - const emZip = createModule(); - return makeInterface(emZip); -}); - -var ErrorCode = /* @__PURE__ */ ((ErrorCode2) => { - ErrorCode2["API_ERROR"] = `API_ERROR`; - ErrorCode2["BUILTIN_NODE_RESOLUTION_FAILED"] = `BUILTIN_NODE_RESOLUTION_FAILED`; - ErrorCode2["EXPORTS_RESOLUTION_FAILED"] = `EXPORTS_RESOLUTION_FAILED`; - ErrorCode2["MISSING_DEPENDENCY"] = `MISSING_DEPENDENCY`; - ErrorCode2["MISSING_PEER_DEPENDENCY"] = `MISSING_PEER_DEPENDENCY`; - ErrorCode2["QUALIFIED_PATH_RESOLUTION_FAILED"] = `QUALIFIED_PATH_RESOLUTION_FAILED`; - ErrorCode2["INTERNAL"] = `INTERNAL`; - ErrorCode2["UNDECLARED_DEPENDENCY"] = `UNDECLARED_DEPENDENCY`; - ErrorCode2["UNSUPPORTED"] = `UNSUPPORTED`; - return ErrorCode2; -})(ErrorCode || {}); -const MODULE_NOT_FOUND_ERRORS = /* @__PURE__ */ new Set([ - "BUILTIN_NODE_RESOLUTION_FAILED" /* BUILTIN_NODE_RESOLUTION_FAILED */, - "MISSING_DEPENDENCY" /* MISSING_DEPENDENCY */, - "MISSING_PEER_DEPENDENCY" /* MISSING_PEER_DEPENDENCY */, - "QUALIFIED_PATH_RESOLUTION_FAILED" /* QUALIFIED_PATH_RESOLUTION_FAILED */, - "UNDECLARED_DEPENDENCY" /* UNDECLARED_DEPENDENCY */ -]); -function makeError(pnpCode, message, data = {}, code) { - code ??= MODULE_NOT_FOUND_ERRORS.has(pnpCode) ? `MODULE_NOT_FOUND` : pnpCode; - const propertySpec = { - configurable: true, - writable: true, - enumerable: false - }; - return Object.defineProperties(new Error(message), { - code: { - ...propertySpec, - value: code - }, - pnpCode: { - ...propertySpec, - value: pnpCode - }, - data: { - ...propertySpec, - value: data - } - }); -} -function getIssuerModule(parent) { - let issuer = parent; - while (issuer && (issuer.id === `[eval]` || issuer.id === `` || !issuer.filename)) - issuer = issuer.parent; - return issuer || null; -} -function getPathForDisplay(p) { - return npath.normalize(npath.fromPortablePath(p)); -} - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; - -function readPackageScope(checkPath) { - const rootSeparatorIndex = checkPath.indexOf(npath.sep); - let separatorIndex; - do { - separatorIndex = checkPath.lastIndexOf(npath.sep); - checkPath = checkPath.slice(0, separatorIndex); - if (checkPath.endsWith(`${npath.sep}node_modules`)) - return false; - const pjson = readPackage(checkPath + npath.sep); - if (pjson) { - return { - data: pjson, - path: checkPath - }; - } - } while (separatorIndex > rootSeparatorIndex); - return false; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs__default.default.existsSync(jsonPath)) - return null; - return JSON.parse(fs__default.default.readFileSync(jsonPath, `utf8`)); -} -function ERR_REQUIRE_ESM(filename, parentPath = null) { - const basename = parentPath && path__default.default.basename(filename) === path__default.default.basename(parentPath) ? filename : path__default.default.basename(filename); - const msg = `require() of ES Module ${filename}${parentPath ? ` from ${parentPath}` : ``} not supported. -Instead change the require of ${basename} in ${parentPath} to a dynamic import() which is available in all CommonJS modules.`; - const err = new Error(msg); - err.code = `ERR_REQUIRE_ESM`; - return err; -} -function reportRequiredFilesToWatchMode(files) { - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - files = files.map((filename) => npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename)))); - if (WATCH_MODE_MESSAGE_USES_ARRAYS) { - process.send({ "watch:require": files }); - } else { - for (const filename of files) { - process.send({ "watch:require": filename }); - } - } - } -} - -function applyPatch(pnpapi, opts) { - let enableNativeHooks = true; - process.versions.pnp = String(pnpapi.VERSIONS.std); - const moduleExports = require$$0__default.default; - moduleExports.findPnpApi = (lookupSource) => { - const lookupPath = lookupSource instanceof URL ? url.fileURLToPath(lookupSource) : lookupSource; - const apiPath = opts.manager.findApiPathFor(lookupPath); - if (apiPath === null) - return null; - const apiEntry = opts.manager.getApiEntry(apiPath, true); - return apiEntry.instance.findPackageLocator(lookupPath) ? apiEntry.instance : null; - }; - function getRequireStack(parent) { - const requireStack = []; - for (let cursor = parent; cursor; cursor = cursor.parent) - requireStack.push(cursor.filename || cursor.id); - return requireStack; - } - const originalModuleLoad = require$$0.Module._load; - require$$0.Module._load = function(request, parent, isMain) { - if (request === `pnpapi`) { - const parentApiPath = opts.manager.getApiPathFromParent(parent); - if (parentApiPath) { - return opts.manager.getApiEntry(parentApiPath, true).instance; - } - } - return originalModuleLoad.call(require$$0.Module, request, parent, isMain); - }; - function getIssuerSpecsFromPaths(paths) { - return paths.map((path) => ({ - apiPath: opts.manager.findApiPathFor(path), - path, - module: null - })); - } - function getIssuerSpecsFromModule(module) { - if (module && module.id !== `` && module.id !== `internal/preload` && !module.parent && !module.filename && module.paths.length > 0) { - return [{ - apiPath: opts.manager.findApiPathFor(module.paths[0]), - path: module.paths[0], - module - }]; - } - const issuer = getIssuerModule(module); - if (issuer !== null) { - const path = npath.dirname(issuer.filename); - const apiPath = opts.manager.getApiPathFromParent(issuer); - return [{ apiPath, path, module }]; - } else { - const path = process.cwd(); - const apiPath = opts.manager.findApiPathFor(npath.join(path, `[file]`)) ?? opts.manager.getApiPathFromParent(null); - return [{ apiPath, path, module }]; - } - } - function makeFakeParent(path) { - const fakeParent = new require$$0.Module(``); - const fakeFilePath = npath.join(path, `[file]`); - fakeParent.paths = require$$0.Module._nodeModulePaths(fakeFilePath); - return fakeParent; - } - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const originalModuleResolveFilename = require$$0.Module._resolveFilename; - require$$0.Module._resolveFilename = function(request, parent, isMain, options) { - if (require$$0.isBuiltin(request)) - return request; - if (!enableNativeHooks) - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, options); - if (options && options.plugnplay === false) { - const { plugnplay, ...forwardedOptions } = options; - try { - enableNativeHooks = false; - return originalModuleResolveFilename.call(require$$0.Module, request, parent, isMain, forwardedOptions); - } finally { - enableNativeHooks = true; - } - } - if (options) { - const optionNames = new Set(Object.keys(options)); - optionNames.delete(`paths`); - optionNames.delete(`plugnplay`); - if (optionNames.size > 0) { - throw makeError( - ErrorCode.UNSUPPORTED, - `Some options passed to require() aren't supported by PnP yet (${Array.from(optionNames).join(`, `)})` - ); - } - } - const issuerSpecs = options && options.paths ? getIssuerSpecsFromPaths(options.paths) : getIssuerSpecsFromModule(parent); - if (request.match(pathRegExp) === null) { - const parentDirectory = parent?.filename != null ? npath.dirname(parent.filename) : null; - const absoluteRequest = npath.isAbsolute(request) ? request : parentDirectory !== null ? npath.resolve(parentDirectory, request) : null; - if (absoluteRequest !== null) { - const apiPath = parent && parentDirectory === npath.dirname(absoluteRequest) ? opts.manager.getApiPathFromParent(parent) : opts.manager.findApiPathFor(absoluteRequest); - if (apiPath !== null) { - issuerSpecs.unshift({ - apiPath, - path: parentDirectory, - module: null - }); - } - } - } - let firstError; - for (const { apiPath, path, module } of issuerSpecs) { - let resolution; - const issuerApi = apiPath !== null ? opts.manager.getApiEntry(apiPath, true).instance : null; - try { - if (issuerApi !== null) { - resolution = issuerApi.resolveRequest(request, path !== null ? `${path}/` : null); - } else { - if (path === null) - throw new Error(`Assertion failed: Expected the path to be set`); - resolution = originalModuleResolveFilename.call(require$$0.Module, request, module || makeFakeParent(path), isMain); - } - } catch (error) { - firstError = firstError || error; - continue; - } - if (resolution !== null) { - return resolution; - } - } - const requireStack = getRequireStack(parent); - Object.defineProperty(firstError, `requireStack`, { - configurable: true, - writable: true, - enumerable: false, - value: requireStack - }); - if (requireStack.length > 0) - firstError.message += ` -Require stack: -- ${requireStack.join(` -- `)}`; - if (typeof firstError.pnpCode === `string`) - Error.captureStackTrace(firstError); - throw firstError; - }; - const originalFindPath = require$$0.Module._findPath; - require$$0.Module._findPath = function(request, paths, isMain) { - if (request === `pnpapi`) - return false; - if (!enableNativeHooks) - return originalFindPath.call(require$$0.Module, request, paths, isMain); - const isAbsolute = npath.isAbsolute(request); - if (isAbsolute) - paths = [``]; - else if (!paths || paths.length === 0) - return false; - for (const path of paths) { - let resolution; - try { - const pnpApiPath = opts.manager.findApiPathFor(isAbsolute ? request : path); - if (pnpApiPath !== null) { - const api = opts.manager.getApiEntry(pnpApiPath, true).instance; - resolution = api.resolveRequest(request, path) || false; - } else { - resolution = originalFindPath.call(require$$0.Module, request, [path], isMain); - } - } catch (error) { - continue; - } - if (resolution) { - return resolution; - } - } - return false; - }; - const originalExtensionJSFunction = require$$0.Module._extensions[`.js`]; - require$$0.Module._extensions[`.js`] = function(module, filename) { - if (filename.endsWith(`.js`)) { - const pkg = readPackageScope(filename); - if (pkg && pkg.data?.type === `module`) { - const err = ERR_REQUIRE_ESM(filename, module.parent?.filename); - Error.captureStackTrace(err); - throw err; - } - } - originalExtensionJSFunction.call(this, module, filename); - }; - const originalDlopen = process.dlopen; - process.dlopen = function(...args) { - const [module, filename, ...rest] = args; - return originalDlopen.call( - this, - module, - npath.fromPortablePath(VirtualFS.resolveVirtual(npath.toPortablePath(filename))), - ...rest - ); - }; - const originalEmit = process.emit; - process.emit = function(name, data, ...args) { - if (name === `warning` && typeof data === `object` && data.name === `ExperimentalWarning` && (data.message.includes(`--experimental-loader`) || data.message.includes(`Custom ESM Loaders is an experimental feature`))) - return false; - return originalEmit.apply(process, arguments); - }; - patchFs(fs__default.default, new PosixFS(opts.fakeFs)); -} - -function hydrateRuntimeState(data, { basePath }) { - const portablePath = npath.toPortablePath(basePath); - const absolutePortablePath = ppath.resolve(portablePath); - const ignorePattern = data.ignorePatternData !== null ? new RegExp(data.ignorePatternData) : null; - const packageLocatorsByLocations = /* @__PURE__ */ new Map(); - const packageRegistry = new Map(data.packageRegistryData.map(([packageName, packageStoreData]) => { - return [packageName, new Map(packageStoreData.map(([packageReference, packageInformationData]) => { - if (packageName === null !== (packageReference === null)) - throw new Error(`Assertion failed: The name and reference should be null, or neither should`); - const discardFromLookup = packageInformationData.discardFromLookup ?? false; - const packageLocator = { name: packageName, reference: packageReference }; - const entry = packageLocatorsByLocations.get(packageInformationData.packageLocation); - if (!entry) { - packageLocatorsByLocations.set(packageInformationData.packageLocation, { locator: packageLocator, discardFromLookup }); - } else { - entry.discardFromLookup = entry.discardFromLookup && discardFromLookup; - if (!discardFromLookup) { - entry.locator = packageLocator; - } - } - let resolvedPackageLocation = null; - return [packageReference, { - packageDependencies: new Map(packageInformationData.packageDependencies), - packagePeers: new Set(packageInformationData.packagePeers), - linkType: packageInformationData.linkType, - discardFromLookup, - get packageLocation() { - return resolvedPackageLocation || (resolvedPackageLocation = ppath.join(absolutePortablePath, packageInformationData.packageLocation)); - } - }]; - }))]; - })); - const fallbackExclusionList = new Map(data.fallbackExclusionList.map(([packageName, packageReferences]) => { - return [packageName, new Set(packageReferences)]; - })); - const fallbackPool = new Map(data.fallbackPool); - const dependencyTreeRoots = data.dependencyTreeRoots; - const enableTopLevelFallback = data.enableTopLevelFallback; - return { - basePath: portablePath, - dependencyTreeRoots, - enableTopLevelFallback, - fallbackExclusionList, - fallbackPool, - ignorePattern, - packageLocatorsByLocations, - packageRegistry - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert__default.default(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); -const ERR_PACKAGE_PATH_NOT_EXPORTED = createErrorType( - "ERR_PACKAGE_PATH_NOT_EXPORTED", - (pkgPath, subpath, base = void 0) => { - if (subpath === ".") - return `No "exports" main defined in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - return `Package subpath '${subpath}' is not defined by "exports" in ${pkgPath}package.json${base ? ` imported from ${base}` : ""}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + url.fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - url.fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = url.fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && url.fileURLToPath(new URL(".", packageJSONUrl)), - url.fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${url.fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && url.fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && url.fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") - return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) - return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) - continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) - return -1; - if (baseLenB > baseLenA) - return 1; - if (aPatternIndex === -1) - return 1; - if (bPatternIndex === -1) - return -1; - if (a.length > b.length) - return -1; - if (b.length > a.length) - return 1; - return 0; -} -function isConditionalExportsMainSugar(exports, packageJSONUrl, base) { - if (typeof exports === "string" || ArrayIsArray(exports)) - return true; - if (typeof exports !== "object" || exports === null) - return false; - const keys = ObjectGetOwnPropertyNames(exports); - let isConditionalSugar = false; - let i = 0; - for (let j = 0; j < keys.length; j++) { - const key = keys[j]; - const curIsConditionalSugar = key === "" || key[0] !== "."; - if (i++ === 0) { - isConditionalSugar = curIsConditionalSugar; - } else if (isConditionalSugar !== curIsConditionalSugar) { - throw new ERR_INVALID_PACKAGE_CONFIG( - url.fileURLToPath(packageJSONUrl), - base, - `"exports" cannot contain some keys starting with '.' and some not. The exports object must either be an object of package subpath keys or an object of main entry condition name keys only.` - ); - } - } - return isConditionalSugar; -} -function throwExportsNotFound(subpath, packageJSONUrl, base) { - throw new ERR_PACKAGE_PATH_NOT_EXPORTED( - url.fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - base && url.fileURLToPath(base) - ); -} -const emittedPackageWarnings = /* @__PURE__ */ new Set(); -function emitTrailingSlashPatternDeprecation(match, pjsonUrl, base) { - const pjsonPath = url.fileURLToPath(pjsonUrl); - if (emittedPackageWarnings.has(pjsonPath + "|" + match)) - return; - emittedPackageWarnings.add(pjsonPath + "|" + match); - process.emitWarning( - `Use of deprecated trailing slash pattern mapping "${match}" in the "exports" field module resolution of the package at ${pjsonPath}${base ? ` imported from ${url.fileURLToPath(base)}` : ""}. Mapping specifiers ending in "/" is no longer supported.`, - "DeprecationWarning", - "DEP0155" - ); -} -function packageExportsResolve({ - packageJSONUrl, - packageSubpath, - exports, - base, - conditions -}) { - if (isConditionalExportsMainSugar(exports, packageJSONUrl, base)) - exports = { ".": exports }; - if (ObjectPrototypeHasOwnProperty(exports, packageSubpath) && !StringPrototypeIncludes(packageSubpath, "*") && !StringPrototypeEndsWith(packageSubpath, "/")) { - const target = exports[packageSubpath]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - "", - packageSubpath, - base, - false, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(exports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - packageSubpath, - StringPrototypeSlice(key, 0, patternIndex) - )) { - if (StringPrototypeEndsWith(packageSubpath, "/")) - emitTrailingSlashPatternDeprecation( - packageSubpath, - packageJSONUrl, - base - ); - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (packageSubpath.length >= key.length && StringPrototypeEndsWith(packageSubpath, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - packageSubpath, - patternIndex, - packageSubpath.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = exports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - false, - conditions - ); - if (resolveResult == null) { - throwExportsNotFound(packageSubpath, packageJSONUrl, base); - } - return resolveResult; - } - throwExportsNotFound(packageSubpath, packageJSONUrl, base); -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, url.fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = url.pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -const flagSymbol = Symbol('arg flag'); - -class ArgError extends Error { - constructor(msg, code) { - super(msg); - this.name = 'ArgError'; - this.code = code; - - Object.setPrototypeOf(this, ArgError.prototype); - } -} - -function arg( - opts, - { - argv = process.argv.slice(2), - permissive = false, - stopAtPositional = false - } = {} -) { - if (!opts) { - throw new ArgError( - 'argument specification object is required', - 'ARG_CONFIG_NO_SPEC' - ); - } - - const result = { _: [] }; - - const aliases = {}; - const handlers = {}; - - for (const key of Object.keys(opts)) { - if (!key) { - throw new ArgError( - 'argument key cannot be an empty string', - 'ARG_CONFIG_EMPTY_KEY' - ); - } - - if (key[0] !== '-') { - throw new ArgError( - `argument key must start with '-' but found: '${key}'`, - 'ARG_CONFIG_NONOPT_KEY' - ); - } - - if (key.length === 1) { - throw new ArgError( - `argument key must have a name; singular '-' keys are not allowed: ${key}`, - 'ARG_CONFIG_NONAME_KEY' - ); - } - - if (typeof opts[key] === 'string') { - aliases[key] = opts[key]; - continue; - } - - let type = opts[key]; - let isFlag = false; - - if ( - Array.isArray(type) && - type.length === 1 && - typeof type[0] === 'function' - ) { - const [fn] = type; - type = (value, name, prev = []) => { - prev.push(fn(value, name, prev[prev.length - 1])); - return prev; - }; - isFlag = fn === Boolean || fn[flagSymbol] === true; - } else if (typeof type === 'function') { - isFlag = type === Boolean || type[flagSymbol] === true; - } else { - throw new ArgError( - `type missing or not a function or valid array type: ${key}`, - 'ARG_CONFIG_VAD_TYPE' - ); - } - - if (key[1] !== '-' && key.length > 2) { - throw new ArgError( - `short argument keys (with a single hyphen) must have only one character: ${key}`, - 'ARG_CONFIG_SHORTOPT_TOOLONG' - ); - } - - handlers[key] = [type, isFlag]; - } - - for (let i = 0, len = argv.length; i < len; i++) { - const wholeArg = argv[i]; - - if (stopAtPositional && result._.length > 0) { - result._ = result._.concat(argv.slice(i)); - break; - } - - if (wholeArg === '--') { - result._ = result._.concat(argv.slice(i + 1)); - break; - } - - if (wholeArg.length > 1 && wholeArg[0] === '-') { - /* eslint-disable operator-linebreak */ - const separatedArguments = - wholeArg[1] === '-' || wholeArg.length === 2 - ? [wholeArg] - : wholeArg - .slice(1) - .split('') - .map((a) => `-${a}`); - /* eslint-enable operator-linebreak */ - - for (let j = 0; j < separatedArguments.length; j++) { - const arg = separatedArguments[j]; - const [originalArgName, argStr] = - arg[1] === '-' ? arg.split(/=(.*)/, 2) : [arg, undefined]; - - let argName = originalArgName; - while (argName in aliases) { - argName = aliases[argName]; - } - - if (!(argName in handlers)) { - if (permissive) { - result._.push(arg); - continue; - } else { - throw new ArgError( - `unknown or unexpected option: ${originalArgName}`, - 'ARG_UNKNOWN_OPTION' - ); - } - } - - const [type, isFlag] = handlers[argName]; - - if (!isFlag && j + 1 < separatedArguments.length) { - throw new ArgError( - `option requires argument (but was followed by another short argument): ${originalArgName}`, - 'ARG_MISSING_REQUIRED_SHORTARG' - ); - } - - if (isFlag) { - result[argName] = type(true, argName, result[argName]); - } else if (argStr === undefined) { - if ( - argv.length < i + 2 || - (argv[i + 1].length > 1 && - argv[i + 1][0] === '-' && - !( - argv[i + 1].match(/^-?\d*(\.(?=\d))?\d*$/) && - (type === Number || - // eslint-disable-next-line no-undef - (typeof BigInt !== 'undefined' && type === BigInt)) - )) - ) { - const extended = - originalArgName === argName ? '' : ` (alias for ${argName})`; - throw new ArgError( - `option requires argument: ${originalArgName}${extended}`, - 'ARG_MISSING_REQUIRED_LONGARG' - ); - } - - result[argName] = type(argv[i + 1], argName, result[argName]); - ++i; - } else { - result[argName] = type(argStr, argName, result[argName]); - } - } - } else { - result._.push(wholeArg); - } - } - - return result; -} - -arg.flag = (fn) => { - fn[flagSymbol] = true; - return fn; -}; - -// Utility types -arg.COUNT = arg.flag((v, name, existingCount) => (existingCount || 0) + 1); - -// Expose error class -arg.ArgError = ArgError; - -var arg_1 = arg; - -/** - @license - The MIT License (MIT) - - Copyright (c) 2014 Blake Embrey (hello@blakeembrey.com) - - Permission is hereby granted, free of charge, to any person obtaining a copy - of this software and associated documentation files (the "Software"), to deal - in the Software without restriction, including without limitation the rights - to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - copies of the Software, and to permit persons to whom the Software is - furnished to do so, subject to the following conditions: - - The above copyright notice and this permission notice shall be included in - all copies or substantial portions of the Software. - - THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN - THE SOFTWARE. -*/ -function getOptionValue(opt) { - parseOptions(); - return options[opt]; -} -let options; -function parseOptions() { - if (!options) { - options = { - "--conditions": [], - ...parseArgv(getNodeOptionsEnvArgv()), - ...parseArgv(process.execArgv) - }; - } -} -function parseArgv(argv) { - return arg_1( - { - "--conditions": [String], - "-C": "--conditions" - }, - { - argv, - permissive: true - } - ); -} -function getNodeOptionsEnvArgv() { - const errors = []; - const envArgv = ParseNodeOptionsEnvVar(process.env.NODE_OPTIONS || "", errors); - if (errors.length !== 0) ; - return envArgv; -} -function ParseNodeOptionsEnvVar(node_options, errors) { - const env_argv = []; - let is_in_string = false; - let will_start_new_arg = true; - for (let index = 0; index < node_options.length; ++index) { - let c = node_options[index]; - if (c === "\\" && is_in_string) { - if (index + 1 === node_options.length) { - errors.push("invalid value for NODE_OPTIONS (invalid escape)\n"); - return env_argv; - } else { - c = node_options[++index]; - } - } else if (c === " " && !is_in_string) { - will_start_new_arg = true; - continue; - } else if (c === '"') { - is_in_string = !is_in_string; - continue; - } - if (will_start_new_arg) { - env_argv.push(c); - will_start_new_arg = false; - } else { - env_argv[env_argv.length - 1] += c; - } - } - if (is_in_string) { - errors.push("invalid value for NODE_OPTIONS (unterminated string)\n"); - } - return env_argv; -} - -function makeApi(runtimeState, opts) { - const alwaysWarnOnFallback = Number(process.env.PNP_ALWAYS_WARN_ON_FALLBACK) > 0; - const debugLevel = Number(process.env.PNP_DEBUG_LEVEL); - const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; - const isStrictRegExp = /^(\/|\.{1,2}(\/|$))/; - const isDirRegExp = /\/$/; - const isRelativeRegexp = /^\.{0,2}\//; - const topLevelLocator = { name: null, reference: null }; - const fallbackLocators = []; - const emittedWarnings = /* @__PURE__ */ new Set(); - if (runtimeState.enableTopLevelFallback === true) - fallbackLocators.push(topLevelLocator); - if (opts.compatibilityMode !== false) { - for (const name of [`react-scripts`, `gatsby`]) { - const packageStore = runtimeState.packageRegistry.get(name); - if (packageStore) { - for (const reference of packageStore.keys()) { - if (reference === null) { - throw new Error(`Assertion failed: This reference shouldn't be null`); - } else { - fallbackLocators.push({ name, reference }); - } - } - } - } - } - const { - ignorePattern, - packageRegistry, - packageLocatorsByLocations - } = runtimeState; - function makeLogEntry(name, args) { - return { - fn: name, - args, - error: null, - result: null - }; - } - function trace(entry) { - const colors = process.stderr?.hasColors?.() ?? process.stdout.isTTY; - const c = (n, str) => `\x1B[${n}m${str}\x1B[0m`; - const error = entry.error; - if (error) - console.error(c(`31;1`, `\u2716 ${entry.error?.message.replace(/\n.*/s, ``)}`)); - else - console.error(c(`33;1`, `\u203C Resolution`)); - if (entry.args.length > 0) - console.error(); - for (const arg of entry.args) - console.error(` ${c(`37;1`, `In \u2190`)} ${nodeUtils.inspect(arg, { colors, compact: true })}`); - if (entry.result) { - console.error(); - console.error(` ${c(`37;1`, `Out \u2192`)} ${nodeUtils.inspect(entry.result, { colors, compact: true })}`); - } - const stack = new Error().stack.match(/(?<=^ +)at.*/gm)?.slice(2) ?? []; - if (stack.length > 0) { - console.error(); - for (const line of stack) { - console.error(` ${c(`38;5;244`, line)}`); - } - } - console.error(); - } - function maybeLog(name, fn) { - if (opts.allowDebug === false) - return fn; - if (Number.isFinite(debugLevel)) { - if (debugLevel >= 2) { - return (...args) => { - const logEntry = makeLogEntry(name, args); - try { - return logEntry.result = fn(...args); - } catch (error) { - throw logEntry.error = error; - } finally { - trace(logEntry); - } - }; - } else if (debugLevel >= 1) { - return (...args) => { - try { - return fn(...args); - } catch (error) { - const logEntry = makeLogEntry(name, args); - logEntry.error = error; - trace(logEntry); - throw error; - } - }; - } - } - return fn; - } - function getPackageInformationSafe(packageLocator) { - const packageInformation = getPackageInformation(packageLocator); - if (!packageInformation) { - throw makeError( - ErrorCode.INTERNAL, - `Couldn't find a matching entry in the dependency tree for the specified parent (this is probably an internal error)` - ); - } - return packageInformation; - } - function isDependencyTreeRoot(packageLocator) { - if (packageLocator.name === null) - return true; - for (const dependencyTreeRoot of runtimeState.dependencyTreeRoots) - if (dependencyTreeRoot.name === packageLocator.name && dependencyTreeRoot.reference === packageLocator.reference) - return true; - return false; - } - const defaultExportsConditions = /* @__PURE__ */ new Set([ - `node`, - `require`, - ...getOptionValue(`--conditions`) - ]); - function applyNodeExportsResolution(unqualifiedPath, conditions = defaultExportsConditions, issuer) { - const locator = findPackageLocator(ppath.join(unqualifiedPath, `internal.js`), { - resolveIgnored: true, - includeDiscardFromLookup: true - }); - if (locator === null) { - throw makeError( - ErrorCode.INTERNAL, - `The locator that owns the "${unqualifiedPath}" path can't be found inside the dependency tree (this is probably an internal error)` - ); - } - const { packageLocation } = getPackageInformationSafe(locator); - const manifestPath = ppath.join(packageLocation, Filename.manifest); - if (!opts.fakeFs.existsSync(manifestPath)) - return null; - const pkgJson = JSON.parse(opts.fakeFs.readFileSync(manifestPath, `utf8`)); - if (pkgJson.exports == null) - return null; - let subpath = ppath.contains(packageLocation, unqualifiedPath); - if (subpath === null) { - throw makeError( - ErrorCode.INTERNAL, - `unqualifiedPath doesn't contain the packageLocation (this is probably an internal error)` - ); - } - if (subpath !== `.` && !isRelativeRegexp.test(subpath)) - subpath = `./${subpath}`; - try { - const resolvedExport = packageExportsResolve({ - packageJSONUrl: url.pathToFileURL(npath.fromPortablePath(manifestPath)), - packageSubpath: subpath, - exports: pkgJson.exports, - base: issuer ? url.pathToFileURL(npath.fromPortablePath(issuer)) : null, - conditions - }); - return npath.toPortablePath(url.fileURLToPath(resolvedExport)); - } catch (error) { - throw makeError( - ErrorCode.EXPORTS_RESOLUTION_FAILED, - error.message, - { unqualifiedPath: getPathForDisplay(unqualifiedPath), locator, pkgJson, subpath: getPathForDisplay(subpath), conditions }, - error.code - ); - } - } - function applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }) { - let stat; - try { - candidates.push(unqualifiedPath); - stat = opts.fakeFs.statSync(unqualifiedPath); - } catch (error) { - } - if (stat && !stat.isDirectory()) - return opts.fakeFs.realpathSync(unqualifiedPath); - if (stat && stat.isDirectory()) { - let pkgJson; - try { - pkgJson = JSON.parse(opts.fakeFs.readFileSync(ppath.join(unqualifiedPath, Filename.manifest), `utf8`)); - } catch (error) { - } - let nextUnqualifiedPath; - if (pkgJson && pkgJson.main) - nextUnqualifiedPath = ppath.resolve(unqualifiedPath, pkgJson.main); - if (nextUnqualifiedPath && nextUnqualifiedPath !== unqualifiedPath) { - const resolution = applyNodeExtensionResolution(nextUnqualifiedPath, candidates, { extensions }); - if (resolution !== null) { - return resolution; - } - } - } - for (let i = 0, length = extensions.length; i < length; i++) { - const candidateFile = `${unqualifiedPath}${extensions[i]}`; - candidates.push(candidateFile); - if (opts.fakeFs.existsSync(candidateFile)) { - return candidateFile; - } - } - if (stat && stat.isDirectory()) { - for (let i = 0, length = extensions.length; i < length; i++) { - const candidateFile = ppath.format({ dir: unqualifiedPath, name: `index`, ext: extensions[i] }); - candidates.push(candidateFile); - if (opts.fakeFs.existsSync(candidateFile)) { - return candidateFile; - } - } - } - return null; - } - function makeFakeModule(path) { - const fakeModule = new require$$0.Module(path, null); - fakeModule.filename = path; - fakeModule.paths = require$$0.Module._nodeModulePaths(path); - return fakeModule; - } - function callNativeResolution(request, issuer) { - if (issuer.endsWith(`/`)) - issuer = ppath.join(issuer, `internal.js`); - return require$$0.Module._resolveFilename(npath.fromPortablePath(request), makeFakeModule(npath.fromPortablePath(issuer)), false, { plugnplay: false }); - } - function isPathIgnored(path) { - if (ignorePattern === null) - return false; - const subPath = ppath.contains(runtimeState.basePath, path); - if (subPath === null) - return false; - if (ignorePattern.test(subPath.replace(/\/$/, ``))) { - return true; - } else { - return false; - } - } - const VERSIONS = { std: 3, resolveVirtual: 1, getAllLocators: 1 }; - const topLevel = topLevelLocator; - function getPackageInformation({ name, reference }) { - const packageInformationStore = packageRegistry.get(name); - if (!packageInformationStore) - return null; - const packageInformation = packageInformationStore.get(reference); - if (!packageInformation) - return null; - return packageInformation; - } - function findPackageDependents({ name, reference }) { - const dependents = []; - for (const [dependentName, packageInformationStore] of packageRegistry) { - if (dependentName === null) - continue; - for (const [dependentReference, packageInformation] of packageInformationStore) { - if (dependentReference === null) - continue; - const dependencyReference = packageInformation.packageDependencies.get(name); - if (dependencyReference !== reference) - continue; - if (dependentName === name && dependentReference === reference) - continue; - dependents.push({ - name: dependentName, - reference: dependentReference - }); - } - } - return dependents; - } - function findBrokenPeerDependencies(dependency, initialPackage) { - const brokenPackages = /* @__PURE__ */ new Map(); - const alreadyVisited = /* @__PURE__ */ new Set(); - const traversal = (currentPackage) => { - const identifier = JSON.stringify(currentPackage.name); - if (alreadyVisited.has(identifier)) - return; - alreadyVisited.add(identifier); - const dependents = findPackageDependents(currentPackage); - for (const dependent of dependents) { - const dependentInformation = getPackageInformationSafe(dependent); - if (dependentInformation.packagePeers.has(dependency)) { - traversal(dependent); - } else { - let brokenSet = brokenPackages.get(dependent.name); - if (typeof brokenSet === `undefined`) - brokenPackages.set(dependent.name, brokenSet = /* @__PURE__ */ new Set()); - brokenSet.add(dependent.reference); - } - } - }; - traversal(initialPackage); - const brokenList = []; - for (const name of [...brokenPackages.keys()].sort()) - for (const reference of [...brokenPackages.get(name)].sort()) - brokenList.push({ name, reference }); - return brokenList; - } - function findPackageLocator(location, { resolveIgnored = false, includeDiscardFromLookup = false } = {}) { - if (isPathIgnored(location) && !resolveIgnored) - return null; - let relativeLocation = ppath.relative(runtimeState.basePath, location); - if (!relativeLocation.match(isStrictRegExp)) - relativeLocation = `./${relativeLocation}`; - if (!relativeLocation.endsWith(`/`)) - relativeLocation = `${relativeLocation}/`; - do { - const entry = packageLocatorsByLocations.get(relativeLocation); - if (typeof entry === `undefined` || entry.discardFromLookup && !includeDiscardFromLookup) { - relativeLocation = relativeLocation.substring(0, relativeLocation.lastIndexOf(`/`, relativeLocation.length - 2) + 1); - continue; - } - return entry.locator; - } while (relativeLocation !== ``); - return null; - } - function tryReadFile(filePath) { - try { - return opts.fakeFs.readFileSync(npath.toPortablePath(filePath), `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } - } - function resolveToUnqualified(request, issuer, { considerBuiltins = true } = {}) { - if (request.startsWith(`#`)) - throw new Error(`resolveToUnqualified can not handle private import mappings`); - if (request === `pnpapi`) - return npath.toPortablePath(opts.pnpapiResolution); - if (considerBuiltins && require$$0.isBuiltin(request)) - return null; - const requestForDisplay = getPathForDisplay(request); - const issuerForDisplay = issuer && getPathForDisplay(issuer); - if (issuer && isPathIgnored(issuer)) { - if (!ppath.isAbsolute(request) || findPackageLocator(request) === null) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw makeError( - ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, - `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer was explicitely ignored by the regexp) - -Require request: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - } - let unqualifiedPath; - const dependencyNameMatch = request.match(pathRegExp); - if (!dependencyNameMatch) { - if (ppath.isAbsolute(request)) { - unqualifiedPath = ppath.normalize(request); - } else { - if (!issuer) { - throw makeError( - ErrorCode.API_ERROR, - `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - const absoluteIssuer = ppath.resolve(issuer); - if (issuer.match(isDirRegExp)) { - unqualifiedPath = ppath.normalize(ppath.join(absoluteIssuer, request)); - } else { - unqualifiedPath = ppath.normalize(ppath.join(ppath.dirname(absoluteIssuer), request)); - } - } - } else { - if (!issuer) { - throw makeError( - ErrorCode.API_ERROR, - `The resolveToUnqualified function must be called with a valid issuer when the path isn't a builtin nor absolute`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - const [, dependencyName, subPath] = dependencyNameMatch; - const issuerLocator = findPackageLocator(issuer); - if (!issuerLocator) { - const result = callNativeResolution(request, issuer); - if (result === false) { - throw makeError( - ErrorCode.BUILTIN_NODE_RESOLUTION_FAILED, - `The builtin node resolution algorithm was unable to resolve the requested module (it didn't go through the pnp resolver because the issuer doesn't seem to be part of the Yarn-managed dependency tree). - -Require path: "${requestForDisplay}" -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay } - ); - } - return npath.toPortablePath(result); - } - const issuerInformation = getPackageInformationSafe(issuerLocator); - let dependencyReference = issuerInformation.packageDependencies.get(dependencyName); - let fallbackReference = null; - if (dependencyReference == null) { - if (issuerLocator.name !== null) { - const exclusionEntry = runtimeState.fallbackExclusionList.get(issuerLocator.name); - const canUseFallbacks = !exclusionEntry || !exclusionEntry.has(issuerLocator.reference); - if (canUseFallbacks) { - for (let t = 0, T = fallbackLocators.length; t < T; ++t) { - const fallbackInformation = getPackageInformationSafe(fallbackLocators[t]); - const reference = fallbackInformation.packageDependencies.get(dependencyName); - if (reference == null) - continue; - if (alwaysWarnOnFallback) - fallbackReference = reference; - else - dependencyReference = reference; - break; - } - if (runtimeState.enableTopLevelFallback) { - if (dependencyReference == null && fallbackReference === null) { - const reference = runtimeState.fallbackPool.get(dependencyName); - if (reference != null) { - fallbackReference = reference; - } - } - } - } - } - } - let error = null; - if (dependencyReference === null) { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `Your application tried to access ${dependencyName} (a peer dependency); this isn't allowed as there is no ancestor to satisfy the requirement. Use a devDependency if needed. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - const brokenAncestors = findBrokenPeerDependencies(dependencyName, issuerLocator); - if (brokenAncestors.every((ancestor) => isDependencyTreeRoot(ancestor))) { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by your application; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } else { - error = makeError( - ErrorCode.MISSING_PEER_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName} (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) - -${brokenAncestors.map((ancestorLocator) => `Ancestor breaking the chain: ${ancestorLocator.name}@${ancestorLocator.reference} -`).join(``)} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName, brokenAncestors } - ); - } - } - } else if (dependencyReference === void 0) { - if (!considerBuiltins && require$$0.isBuiltin(request)) { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `Your application tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in your dependencies, this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName}. While this module is usually interpreted as a Node builtin, your resolver is running inside a non-Node resolution context where such builtins are ignored. Since ${dependencyName} isn't otherwise declared in ${issuerLocator.name}'s dependencies, this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } - ); - } - } else { - if (isDependencyTreeRoot(issuerLocator)) { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `Your application tried to access ${dependencyName}, but it isn't declared in your dependencies; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerForDisplay} -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyName } - ); - } else { - error = makeError( - ErrorCode.UNDECLARED_DEPENDENCY, - `${issuerLocator.name} tried to access ${dependencyName}, but it isn't declared in its dependencies; this makes the require call ambiguous and unsound. - -Required package: ${dependencyName}${dependencyName !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { request: requestForDisplay, issuer: issuerForDisplay, issuerLocator: Object.assign({}, issuerLocator), dependencyName } - ); - } - } - } - if (dependencyReference == null) { - if (fallbackReference === null || error === null) - throw error || new Error(`Assertion failed: Expected an error to have been set`); - dependencyReference = fallbackReference; - const message = error.message.replace(/\n.*/g, ``); - error.message = message; - if (!emittedWarnings.has(message) && debugLevel !== 0) { - emittedWarnings.add(message); - process.emitWarning(error); - } - } - const dependencyLocator = Array.isArray(dependencyReference) ? { name: dependencyReference[0], reference: dependencyReference[1] } : { name: dependencyName, reference: dependencyReference }; - const dependencyInformation = getPackageInformationSafe(dependencyLocator); - if (!dependencyInformation.packageLocation) { - throw makeError( - ErrorCode.MISSING_DEPENDENCY, - `A dependency seems valid but didn't get installed for some reason. This might be caused by a partial install, such as dev vs prod. - -Required package: ${dependencyLocator.name}@${dependencyLocator.reference}${dependencyLocator.name !== requestForDisplay ? ` (via "${requestForDisplay}")` : ``} -Required by: ${issuerLocator.name}@${issuerLocator.reference} (via ${issuerForDisplay}) -`, - { request: requestForDisplay, issuer: issuerForDisplay, dependencyLocator: Object.assign({}, dependencyLocator) } - ); - } - const dependencyLocation = dependencyInformation.packageLocation; - if (subPath) { - unqualifiedPath = ppath.join(dependencyLocation, subPath); - } else { - unqualifiedPath = dependencyLocation; - } - } - return ppath.normalize(unqualifiedPath); - } - function resolveUnqualifiedExport(request, unqualifiedPath, conditions = defaultExportsConditions, issuer) { - if (isStrictRegExp.test(request)) - return unqualifiedPath; - const unqualifiedExportPath = applyNodeExportsResolution(unqualifiedPath, conditions, issuer); - if (unqualifiedExportPath) { - return ppath.normalize(unqualifiedExportPath); - } else { - return unqualifiedPath; - } - } - function resolveUnqualified(unqualifiedPath, { extensions = Object.keys(require$$0.Module._extensions) } = {}) { - const candidates = []; - const qualifiedPath = applyNodeExtensionResolution(unqualifiedPath, candidates, { extensions }); - if (qualifiedPath) { - return ppath.normalize(qualifiedPath); - } else { - reportRequiredFilesToWatchMode(candidates.map((candidate) => npath.fromPortablePath(candidate))); - const unqualifiedPathForDisplay = getPathForDisplay(unqualifiedPath); - const containingPackage = findPackageLocator(unqualifiedPath); - if (containingPackage) { - const { packageLocation } = getPackageInformationSafe(containingPackage); - let exists = true; - try { - opts.fakeFs.accessSync(packageLocation); - } catch (err) { - if (err?.code === `ENOENT`) { - exists = false; - } else { - const readableError = (err?.message ?? err ?? `empty exception thrown`).replace(/^[A-Z]/, ($0) => $0.toLowerCase()); - throw makeError(ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, `Required package exists but could not be accessed (${readableError}). - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, { unqualifiedPath: unqualifiedPathForDisplay, extensions }); - } - } - if (!exists) { - const errorMessage = packageLocation.includes(`/unplugged/`) ? `Required unplugged package missing from disk. This may happen when switching branches without running installs (unplugged packages must be fully materialized on disk to work).` : `Required package missing from disk. If you keep your packages inside your repository then restarting the Node process may be enough. Otherwise, try to run an install first.`; - throw makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `${errorMessage} - -Missing package: ${containingPackage.name}@${containingPackage.reference} -Expected package location: ${getPathForDisplay(packageLocation)} -`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - throw makeError( - ErrorCode.QUALIFIED_PATH_RESOLUTION_FAILED, - `Qualified path resolution failed: we looked for the following paths, but none could be accessed. - -Source path: ${unqualifiedPathForDisplay} -${candidates.map((candidate) => `Not found: ${getPathForDisplay(candidate)} -`).join(``)}`, - { unqualifiedPath: unqualifiedPathForDisplay, extensions } - ); - } - } - function resolvePrivateRequest(request, issuer, opts2) { - if (!issuer) - throw new Error(`Assertion failed: An issuer is required to resolve private import mappings`); - const resolved = packageImportsResolve({ - name: request, - base: url.pathToFileURL(npath.fromPortablePath(issuer)), - conditions: opts2.conditions ?? defaultExportsConditions, - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return resolveUnqualified(npath.toPortablePath(url.fileURLToPath(resolved)), { extensions: opts2.extensions }); - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolveRequest(resolved, issuer, opts2); - } - } - function resolveRequest(request, issuer, opts2 = {}) { - try { - if (request.startsWith(`#`)) - return resolvePrivateRequest(request, issuer, opts2); - const { considerBuiltins, extensions, conditions } = opts2; - const unqualifiedPath = resolveToUnqualified(request, issuer, { considerBuiltins }); - if (request === `pnpapi`) - return unqualifiedPath; - if (unqualifiedPath === null) - return null; - const isIssuerIgnored = () => issuer !== null ? isPathIgnored(issuer) : false; - const remappedPath = (!considerBuiltins || !require$$0.isBuiltin(request)) && !isIssuerIgnored() ? resolveUnqualifiedExport(request, unqualifiedPath, conditions, issuer) : unqualifiedPath; - return resolveUnqualified(remappedPath, { extensions }); - } catch (error) { - if (Object.hasOwn(error, `pnpCode`)) - Object.assign(error.data, { request: getPathForDisplay(request), issuer: issuer && getPathForDisplay(issuer) }); - throw error; - } - } - function resolveVirtual(request) { - const normalized = ppath.normalize(request); - const resolved = VirtualFS.resolveVirtual(normalized); - return resolved !== normalized ? resolved : null; - } - return { - VERSIONS, - topLevel, - getLocator: (name, referencish) => { - if (Array.isArray(referencish)) { - return { name: referencish[0], reference: referencish[1] }; - } else { - return { name, reference: referencish }; - } - }, - getDependencyTreeRoots: () => { - return [...runtimeState.dependencyTreeRoots]; - }, - getAllLocators() { - const locators = []; - for (const [name, entry] of packageRegistry) - for (const reference of entry.keys()) - if (name !== null && reference !== null) - locators.push({ name, reference }); - return locators; - }, - getPackageInformation: (locator) => { - const info = getPackageInformation(locator); - if (info === null) - return null; - const packageLocation = npath.fromPortablePath(info.packageLocation); - const nativeInfo = { ...info, packageLocation }; - return nativeInfo; - }, - findPackageLocator: (path) => { - return findPackageLocator(npath.toPortablePath(path)); - }, - resolveToUnqualified: maybeLog(`resolveToUnqualified`, (request, issuer, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveToUnqualified(npath.toPortablePath(request), portableIssuer, opts2); - if (resolution === null) - return null; - return npath.fromPortablePath(resolution); - }), - resolveUnqualified: maybeLog(`resolveUnqualified`, (unqualifiedPath, opts2) => { - return npath.fromPortablePath(resolveUnqualified(npath.toPortablePath(unqualifiedPath), opts2)); - }), - resolveRequest: maybeLog(`resolveRequest`, (request, issuer, opts2) => { - const portableIssuer = issuer !== null ? npath.toPortablePath(issuer) : null; - const resolution = resolveRequest(npath.toPortablePath(request), portableIssuer, opts2); - if (resolution === null) - return null; - return npath.fromPortablePath(resolution); - }), - resolveVirtual: maybeLog(`resolveVirtual`, (path) => { - const result = resolveVirtual(npath.toPortablePath(path)); - if (result !== null) { - return npath.fromPortablePath(result); - } else { - return null; - } - }) - }; -} - -function makeManager(pnpapi, opts) { - const initialApiPath = npath.toPortablePath(pnpapi.resolveToUnqualified(`pnpapi`, null)); - const initialApiStats = opts.fakeFs.statSync(npath.toPortablePath(initialApiPath)); - const apiMetadata = /* @__PURE__ */ new Map([ - [initialApiPath, { - instance: pnpapi, - stats: initialApiStats, - lastRefreshCheck: Date.now() - }] - ]); - function loadApiInstance(pnpApiPath) { - const nativePath = npath.fromPortablePath(pnpApiPath); - const module = new require$$0.Module(nativePath, null); - module.load(nativePath); - return module.exports; - } - function refreshApiEntry(pnpApiPath, apiEntry) { - const timeNow = Date.now(); - if (timeNow - apiEntry.lastRefreshCheck < 500) - return; - apiEntry.lastRefreshCheck = timeNow; - const stats = opts.fakeFs.statSync(pnpApiPath); - if (stats.mtime > apiEntry.stats.mtime) { - process.emitWarning(`[Warning] The runtime detected new information in a PnP file; reloading the API instance (${npath.fromPortablePath(pnpApiPath)})`); - apiEntry.stats = stats; - apiEntry.instance = loadApiInstance(pnpApiPath); - } - } - function getApiEntry(pnpApiPath, refresh = false) { - let apiEntry = apiMetadata.get(pnpApiPath); - if (typeof apiEntry !== `undefined`) { - if (refresh) { - refreshApiEntry(pnpApiPath, apiEntry); - } - } else { - apiMetadata.set(pnpApiPath, apiEntry = { - instance: loadApiInstance(pnpApiPath), - stats: opts.fakeFs.statSync(pnpApiPath), - lastRefreshCheck: Date.now() - }); - } - return apiEntry; - } - const findApiPathCache = /* @__PURE__ */ new Map(); - function addToCacheAndReturn(start, end, target) { - if (target !== null) { - target = VirtualFS.resolveVirtual(target); - target = opts.fakeFs.realpathSync(target); - } - let curr; - let next = start; - do { - curr = next; - findApiPathCache.set(curr, target); - next = ppath.dirname(curr); - } while (curr !== end); - return target; - } - function findApiPathFor(modulePath) { - let bestCandidate = null; - for (const [apiPath, apiEntry] of apiMetadata) { - const locator = apiEntry.instance.findPackageLocator(modulePath); - if (!locator) - continue; - if (apiMetadata.size === 1) - return apiPath; - const packageInformation = apiEntry.instance.getPackageInformation(locator); - if (!packageInformation) - throw new Error(`Assertion failed: Couldn't get package information for '${modulePath}'`); - if (!bestCandidate) - bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [] }; - if (packageInformation.packageLocation === bestCandidate.packageLocation) { - bestCandidate.apiPaths.push(apiPath); - } else if (packageInformation.packageLocation.length > bestCandidate.packageLocation.length) { - bestCandidate = { packageLocation: packageInformation.packageLocation, apiPaths: [apiPath] }; - } - } - if (bestCandidate) { - if (bestCandidate.apiPaths.length === 1) - return bestCandidate.apiPaths[0]; - const controlSegment = bestCandidate.apiPaths.map((apiPath) => ` ${npath.fromPortablePath(apiPath)}`).join(` -`); - throw new Error(`Unable to locate pnpapi, the module '${modulePath}' is controlled by multiple pnpapi instances. -This is usually caused by using the global cache (enableGlobalCache: true) - -Controlled by: -${controlSegment} -`); - } - const start = ppath.resolve(npath.toPortablePath(modulePath)); - let curr; - let next = start; - do { - curr = next; - const cached = findApiPathCache.get(curr); - if (cached !== void 0) - return addToCacheAndReturn(start, curr, cached); - const cjsCandidate = ppath.join(curr, Filename.pnpCjs); - if (opts.fakeFs.existsSync(cjsCandidate) && opts.fakeFs.statSync(cjsCandidate).isFile()) - return addToCacheAndReturn(start, curr, cjsCandidate); - const legacyCjsCandidate = ppath.join(curr, Filename.pnpJs); - if (opts.fakeFs.existsSync(legacyCjsCandidate) && opts.fakeFs.statSync(legacyCjsCandidate).isFile()) - return addToCacheAndReturn(start, curr, legacyCjsCandidate); - next = ppath.dirname(curr); - } while (curr !== PortablePath.root); - return addToCacheAndReturn(start, curr, null); - } - const moduleToApiPathCache = /* @__PURE__ */ new WeakMap(); - function getApiPathFromParent(parent) { - if (parent == null) - return initialApiPath; - let apiPath = moduleToApiPathCache.get(parent); - if (typeof apiPath !== `undefined`) - return apiPath; - apiPath = parent.filename ? findApiPathFor(parent.filename) : null; - moduleToApiPathCache.set(parent, apiPath); - return apiPath; - } - return { - getApiPathFromParent, - findApiPathFor, - getApiEntry - }; -} - -const localFs = { ...fs__default.default }; -const nodeFs = new NodeFS(localFs); -const defaultRuntimeState = $$SETUP_STATE(hydrateRuntimeState); -const defaultPnpapiResolution = __filename; -const defaultFsLayer = new VirtualFS({ - baseFs: new ZipOpenFS({ - baseFs: nodeFs, - maxOpenFiles: 80, - readOnlyArchives: true - }) -}); -class DynamicFS extends ProxiedFS { - constructor() { - super(ppath); - this.baseFs = defaultFsLayer; - } - mapToBase(p) { - return p; - } - mapFromBase(p) { - return p; - } -} -const dynamicFsLayer = new DynamicFS(); -let manager; -const defaultApi = Object.assign(makeApi(defaultRuntimeState, { - fakeFs: dynamicFsLayer, - pnpapiResolution: defaultPnpapiResolution -}), { - makeApi: ({ - basePath = void 0, - fakeFs = dynamicFsLayer, - pnpapiResolution = defaultPnpapiResolution, - ...rest - }) => { - const apiRuntimeState = typeof basePath !== `undefined` ? $$SETUP_STATE(hydrateRuntimeState, basePath) : defaultRuntimeState; - return makeApi(apiRuntimeState, { - fakeFs, - pnpapiResolution, - ...rest - }); - }, - setup: (api) => { - applyPatch(api || defaultApi, { - fakeFs: defaultFsLayer, - manager - }); - dynamicFsLayer.baseFs = new NodeFS(fs__default.default); - } -}); -manager = makeManager(defaultApi, { - fakeFs: dynamicFsLayer -}); -if (module.parent && module.parent.id === `internal/preload`) { - defaultApi.setup(); - if (module.filename) { - delete require$$0__default.default._cache[module.filename]; - } -} -if (process.mainModule === module) { - const reportError = (code, message, data) => { - process.stdout.write(`${JSON.stringify([{ code, message, data }, null])} -`); - }; - const reportSuccess = (resolution) => { - process.stdout.write(`${JSON.stringify([null, resolution])} -`); - }; - const processResolution = (request, issuer) => { - try { - reportSuccess(defaultApi.resolveRequest(request, issuer)); - } catch (error) { - reportError(error.code, error.message, error.data); - } - }; - const processRequest = (data) => { - try { - const [request, issuer] = JSON.parse(data); - processResolution(request, issuer); - } catch (error) { - reportError(`INVALID_JSON`, error.message, error.data); - } - }; - if (process.argv.length > 2) { - if (process.argv.length !== 4) { - process.stderr.write(`Usage: ${process.argv[0]} ${process.argv[1]} -`); - process.exitCode = 64; - } else { - processResolution(process.argv[2], process.argv[3]); - } - } else { - let buffer = ``; - const decoder = new StringDecoder__default.default.StringDecoder(); - process.stdin.on(`data`, (chunk) => { - buffer += decoder.write(chunk); - do { - const index = buffer.indexOf(` -`); - if (index === -1) - break; - const line = buffer.slice(0, index); - buffer = buffer.slice(index + 1); - processRequest(line); - } while (true); - }); - } -} - -module.exports = defaultApi; diff --git a/.pnp.loader.mjs b/.pnp.loader.mjs deleted file mode 100644 index 81ae9a6b2..000000000 --- a/.pnp.loader.mjs +++ /dev/null @@ -1,2076 +0,0 @@ -import fs from 'fs'; -import { URL as URL$1, fileURLToPath, pathToFileURL } from 'url'; -import path from 'path'; -import { createHash } from 'crypto'; -import { EOL } from 'os'; -import moduleExports, { isBuiltin } from 'module'; -import assert from 'assert'; - -const SAFE_TIME = 456789e3; - -const PortablePath = { - root: `/`, - dot: `.`, - parent: `..` -}; -const npath = Object.create(path); -const ppath = Object.create(path.posix); -npath.cwd = () => process.cwd(); -ppath.cwd = process.platform === `win32` ? () => toPortablePath(process.cwd()) : process.cwd; -if (process.platform === `win32`) { - ppath.resolve = (...segments) => { - if (segments.length > 0 && ppath.isAbsolute(segments[0])) { - return path.posix.resolve(...segments); - } else { - return path.posix.resolve(ppath.cwd(), ...segments); - } - }; -} -const contains = function(pathUtils, from, to) { - from = pathUtils.normalize(from); - to = pathUtils.normalize(to); - if (from === to) - return `.`; - if (!from.endsWith(pathUtils.sep)) - from = from + pathUtils.sep; - if (to.startsWith(from)) { - return to.slice(from.length); - } else { - return null; - } -}; -npath.contains = (from, to) => contains(npath, from, to); -ppath.contains = (from, to) => contains(ppath, from, to); -const WINDOWS_PATH_REGEXP = /^([a-zA-Z]:.*)$/; -const UNC_WINDOWS_PATH_REGEXP = /^\/\/(\.\/)?(.*)$/; -const PORTABLE_PATH_REGEXP = /^\/([a-zA-Z]:.*)$/; -const UNC_PORTABLE_PATH_REGEXP = /^\/unc\/(\.dot\/)?(.*)$/; -function fromPortablePathWin32(p) { - let portablePathMatch, uncPortablePathMatch; - if (portablePathMatch = p.match(PORTABLE_PATH_REGEXP)) - p = portablePathMatch[1]; - else if (uncPortablePathMatch = p.match(UNC_PORTABLE_PATH_REGEXP)) - p = `\\\\${uncPortablePathMatch[1] ? `.\\` : ``}${uncPortablePathMatch[2]}`; - else - return p; - return p.replace(/\//g, `\\`); -} -function toPortablePathWin32(p) { - p = p.replace(/\\/g, `/`); - let windowsPathMatch, uncWindowsPathMatch; - if (windowsPathMatch = p.match(WINDOWS_PATH_REGEXP)) - p = `/${windowsPathMatch[1]}`; - else if (uncWindowsPathMatch = p.match(UNC_WINDOWS_PATH_REGEXP)) - p = `/unc/${uncWindowsPathMatch[1] ? `.dot/` : ``}${uncWindowsPathMatch[2]}`; - return p; -} -const toPortablePath = process.platform === `win32` ? toPortablePathWin32 : (p) => p; -const fromPortablePath = process.platform === `win32` ? fromPortablePathWin32 : (p) => p; -npath.fromPortablePath = fromPortablePath; -npath.toPortablePath = toPortablePath; -function convertPath(targetPathUtils, sourcePath) { - return targetPathUtils === npath ? fromPortablePath(sourcePath) : toPortablePath(sourcePath); -} - -const defaultTime = new Date(SAFE_TIME * 1e3); -const defaultTimeMs = defaultTime.getTime(); -async function copyPromise(destinationFs, destination, sourceFs, source, opts) { - const normalizedDestination = destinationFs.pathUtils.normalize(destination); - const normalizedSource = sourceFs.pathUtils.normalize(source); - const prelayout = []; - const postlayout = []; - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : await sourceFs.lstatPromise(normalizedSource); - await destinationFs.mkdirpPromise(destinationFs.pathUtils.dirname(destination), { utimes: [atime, mtime] }); - await copyImpl(prelayout, postlayout, destinationFs, normalizedDestination, sourceFs, normalizedSource, { ...opts, didParentExist: true }); - for (const operation of prelayout) - await operation(); - await Promise.all(postlayout.map((operation) => { - return operation(); - })); -} -async function copyImpl(prelayout, postlayout, destinationFs, destination, sourceFs, source, opts) { - const destinationStat = opts.didParentExist ? await maybeLStat(destinationFs, destination) : null; - const sourceStat = await sourceFs.lstatPromise(source); - const { atime, mtime } = opts.stableTime ? { atime: defaultTime, mtime: defaultTime } : sourceStat; - let updated; - switch (true) { - case sourceStat.isDirectory(): - { - updated = await copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isFile(): - { - updated = await copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - case sourceStat.isSymbolicLink(): - { - updated = await copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } - break; - default: { - throw new Error(`Unsupported file type (${sourceStat.mode})`); - } - } - if (opts.linkStrategy?.type !== `HardlinkFromIndex` || !sourceStat.isFile()) { - if (updated || destinationStat?.mtime?.getTime() !== mtime.getTime() || destinationStat?.atime?.getTime() !== atime.getTime()) { - postlayout.push(() => destinationFs.lutimesPromise(destination, atime, mtime)); - updated = true; - } - if (destinationStat === null || (destinationStat.mode & 511) !== (sourceStat.mode & 511)) { - postlayout.push(() => destinationFs.chmodPromise(destination, sourceStat.mode & 511)); - updated = true; - } - } - return updated; -} -async function maybeLStat(baseFs, p) { - try { - return await baseFs.lstatPromise(p); - } catch (e) { - return null; - } -} -async function copyFolder(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null && !destinationStat.isDirectory()) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - let updated = false; - if (destinationStat === null) { - prelayout.push(async () => { - try { - await destinationFs.mkdirPromise(destination, { mode: sourceStat.mode }); - } catch (err) { - if (err.code !== `EEXIST`) { - throw err; - } - } - }); - updated = true; - } - const entries = await sourceFs.readdirPromise(source); - const nextOpts = opts.didParentExist && !destinationStat ? { ...opts, didParentExist: false } : opts; - if (opts.stableSort) { - for (const entry of entries.sort()) { - if (await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts)) { - updated = true; - } - } - } else { - const entriesUpdateStatus = await Promise.all(entries.map(async (entry) => { - await copyImpl(prelayout, postlayout, destinationFs, destinationFs.pathUtils.join(destination, entry), sourceFs, sourceFs.pathUtils.join(source, entry), nextOpts); - })); - if (entriesUpdateStatus.some((status) => status)) { - updated = true; - } - } - return updated; -} -async function copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, linkStrategy) { - const sourceHash = await sourceFs.checksumFilePromise(source, { algorithm: `sha1` }); - const defaultMode = 420; - const sourceMode = sourceStat.mode & 511; - const indexFileName = `${sourceHash}${sourceMode !== defaultMode ? sourceMode.toString(8) : ``}`; - const indexPath = destinationFs.pathUtils.join(linkStrategy.indexPath, sourceHash.slice(0, 2), `${indexFileName}.dat`); - let AtomicBehavior; - ((AtomicBehavior2) => { - AtomicBehavior2[AtomicBehavior2["Lock"] = 0] = "Lock"; - AtomicBehavior2[AtomicBehavior2["Rename"] = 1] = "Rename"; - })(AtomicBehavior || (AtomicBehavior = {})); - let atomicBehavior = 1 /* Rename */; - let indexStat = await maybeLStat(destinationFs, indexPath); - if (destinationStat) { - const isDestinationHardlinkedFromIndex = indexStat && destinationStat.dev === indexStat.dev && destinationStat.ino === indexStat.ino; - const isIndexModified = indexStat?.mtimeMs !== defaultTimeMs; - if (isDestinationHardlinkedFromIndex) { - if (isIndexModified && linkStrategy.autoRepair) { - atomicBehavior = 0 /* Lock */; - indexStat = null; - } - } - if (!isDestinationHardlinkedFromIndex) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - } - const tempPath = !indexStat && atomicBehavior === 1 /* Rename */ ? `${indexPath}.${Math.floor(Math.random() * 4294967296).toString(16).padStart(8, `0`)}` : null; - let tempPathCleaned = false; - prelayout.push(async () => { - if (!indexStat) { - if (atomicBehavior === 0 /* Lock */) { - await destinationFs.lockPromise(indexPath, async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(indexPath, content); - }); - } - if (atomicBehavior === 1 /* Rename */ && tempPath) { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(tempPath, content); - try { - await destinationFs.linkPromise(tempPath, indexPath); - } catch (err) { - if (err.code === `EEXIST`) { - tempPathCleaned = true; - await destinationFs.unlinkPromise(tempPath); - } else { - throw err; - } - } - } - } - if (!destinationStat) { - await destinationFs.linkPromise(indexPath, destination); - } - }); - postlayout.push(async () => { - if (!indexStat) { - await destinationFs.lutimesPromise(indexPath, defaultTime, defaultTime); - if (sourceMode !== defaultMode) { - await destinationFs.chmodPromise(indexPath, sourceMode); - } - } - if (tempPath && !tempPathCleaned) { - await destinationFs.unlinkPromise(tempPath); - } - }); - return false; -} -async function copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - const content = await sourceFs.readFilePromise(source); - await destinationFs.writeFilePromise(destination, content); - }); - return true; -} -async function copyFile(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (opts.linkStrategy?.type === `HardlinkFromIndex`) { - return copyFileViaIndex(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts, opts.linkStrategy); - } else { - return copyFileDirect(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts); - } -} -async function copySymlink(prelayout, postlayout, destinationFs, destination, destinationStat, sourceFs, source, sourceStat, opts) { - if (destinationStat !== null) { - if (opts.overwrite) { - prelayout.push(async () => destinationFs.removePromise(destination)); - destinationStat = null; - } else { - return false; - } - } - prelayout.push(async () => { - await destinationFs.symlinkPromise(convertPath(destinationFs.pathUtils, await sourceFs.readlinkPromise(source)), destination); - }); - return true; -} - -class FakeFS { - constructor(pathUtils) { - this.pathUtils = pathUtils; - } - async *genTraversePromise(init, { stableSort = false } = {}) { - const stack = [init]; - while (stack.length > 0) { - const p = stack.shift(); - const entry = await this.lstatPromise(p); - if (entry.isDirectory()) { - const entries = await this.readdirPromise(p); - if (stableSort) { - for (const entry2 of entries.sort()) { - stack.push(this.pathUtils.join(p, entry2)); - } - } else { - throw new Error(`Not supported`); - } - } else { - yield p; - } - } - } - async checksumFilePromise(path, { algorithm = `sha512` } = {}) { - const fd = await this.openPromise(path, `r`); - try { - const CHUNK_SIZE = 65536; - const chunk = Buffer.allocUnsafeSlow(CHUNK_SIZE); - const hash = createHash(algorithm); - let bytesRead = 0; - while ((bytesRead = await this.readPromise(fd, chunk, 0, CHUNK_SIZE)) !== 0) - hash.update(bytesRead === CHUNK_SIZE ? chunk : chunk.slice(0, bytesRead)); - return hash.digest(`hex`); - } finally { - await this.closePromise(fd); - } - } - async removePromise(p, { recursive = true, maxRetries = 5 } = {}) { - let stat; - try { - stat = await this.lstatPromise(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) { - const entries = await this.readdirPromise(p); - await Promise.all(entries.map((entry) => { - return this.removePromise(this.pathUtils.resolve(p, entry)); - })); - } - for (let t = 0; t <= maxRetries; t++) { - try { - await this.rmdirPromise(p); - break; - } catch (error) { - if (error.code !== `EBUSY` && error.code !== `ENOTEMPTY`) { - throw error; - } else if (t < maxRetries) { - await new Promise((resolve) => setTimeout(resolve, t * 100)); - } - } - } - } else { - await this.unlinkPromise(p); - } - } - removeSync(p, { recursive = true } = {}) { - let stat; - try { - stat = this.lstatSync(p); - } catch (error) { - if (error.code === `ENOENT`) { - return; - } else { - throw error; - } - } - if (stat.isDirectory()) { - if (recursive) - for (const entry of this.readdirSync(p)) - this.removeSync(this.pathUtils.resolve(p, entry)); - this.rmdirSync(p); - } else { - this.unlinkSync(p); - } - } - async mkdirpPromise(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - await this.mkdirPromise(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - await this.chmodPromise(subPath, chmod); - if (utimes != null) { - await this.utimesPromise(subPath, utimes[0], utimes[1]); - } else { - const parentStat = await this.statPromise(this.pathUtils.dirname(subPath)); - await this.utimesPromise(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - mkdirpSync(p, { chmod, utimes } = {}) { - p = this.resolve(p); - if (p === this.pathUtils.dirname(p)) - return void 0; - const parts = p.split(this.pathUtils.sep); - let createdDirectory; - for (let u = 2; u <= parts.length; ++u) { - const subPath = parts.slice(0, u).join(this.pathUtils.sep); - if (!this.existsSync(subPath)) { - try { - this.mkdirSync(subPath); - } catch (error) { - if (error.code === `EEXIST`) { - continue; - } else { - throw error; - } - } - createdDirectory ??= subPath; - if (chmod != null) - this.chmodSync(subPath, chmod); - if (utimes != null) { - this.utimesSync(subPath, utimes[0], utimes[1]); - } else { - const parentStat = this.statSync(this.pathUtils.dirname(subPath)); - this.utimesSync(subPath, parentStat.atime, parentStat.mtime); - } - } - } - return createdDirectory; - } - async copyPromise(destination, source, { baseFs = this, overwrite = true, stableSort = false, stableTime = false, linkStrategy = null } = {}) { - return await copyPromise(this, destination, baseFs, source, { overwrite, stableSort, stableTime, linkStrategy }); - } - copySync(destination, source, { baseFs = this, overwrite = true } = {}) { - const stat = baseFs.lstatSync(source); - const exists = this.existsSync(destination); - if (stat.isDirectory()) { - this.mkdirpSync(destination); - const directoryListing = baseFs.readdirSync(source); - for (const entry of directoryListing) { - this.copySync(this.pathUtils.join(destination, entry), baseFs.pathUtils.join(source, entry), { baseFs, overwrite }); - } - } else if (stat.isFile()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const content = baseFs.readFileSync(source); - this.writeFileSync(destination, content); - } - } else if (stat.isSymbolicLink()) { - if (!exists || overwrite) { - if (exists) - this.removeSync(destination); - const target = baseFs.readlinkSync(source); - this.symlinkSync(convertPath(this.pathUtils, target), destination); - } - } else { - throw new Error(`Unsupported file type (file: ${source}, mode: 0o${stat.mode.toString(8).padStart(6, `0`)})`); - } - const mode = stat.mode & 511; - this.chmodSync(destination, mode); - } - async changeFilePromise(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferPromise(p, content, opts); - } else { - return this.changeFileTextPromise(p, content, opts); - } - } - async changeFileBufferPromise(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = await this.readFilePromise(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - await this.writeFilePromise(p, content, { mode }); - } - async changeFileTextPromise(p, content, { automaticNewlines, mode } = {}) { - let current = ``; - try { - current = await this.readFilePromise(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - await this.writeFilePromise(p, normalizedContent, { mode }); - } - changeFileSync(p, content, opts = {}) { - if (Buffer.isBuffer(content)) { - return this.changeFileBufferSync(p, content, opts); - } else { - return this.changeFileTextSync(p, content, opts); - } - } - changeFileBufferSync(p, content, { mode } = {}) { - let current = Buffer.alloc(0); - try { - current = this.readFileSync(p); - } catch (error) { - } - if (Buffer.compare(current, content) === 0) - return; - this.writeFileSync(p, content, { mode }); - } - changeFileTextSync(p, content, { automaticNewlines = false, mode } = {}) { - let current = ``; - try { - current = this.readFileSync(p, `utf8`); - } catch (error) { - } - const normalizedContent = automaticNewlines ? normalizeLineEndings(current, content) : content; - if (current === normalizedContent) - return; - this.writeFileSync(p, normalizedContent, { mode }); - } - async movePromise(fromP, toP) { - try { - await this.renamePromise(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - await this.copyPromise(toP, fromP); - await this.removePromise(fromP); - } else { - throw error; - } - } - } - moveSync(fromP, toP) { - try { - this.renameSync(fromP, toP); - } catch (error) { - if (error.code === `EXDEV`) { - this.copySync(toP, fromP); - this.removeSync(fromP); - } else { - throw error; - } - } - } - async lockPromise(affectedPath, callback) { - const lockPath = `${affectedPath}.flock`; - const interval = 1e3 / 60; - const startTime = Date.now(); - let fd = null; - const isAlive = async () => { - let pid; - try { - [pid] = await this.readJsonPromise(lockPath); - } catch (error) { - return Date.now() - startTime < 500; - } - try { - process.kill(pid, 0); - return true; - } catch (error) { - return false; - } - }; - while (fd === null) { - try { - fd = await this.openPromise(lockPath, `wx`); - } catch (error) { - if (error.code === `EEXIST`) { - if (!await isAlive()) { - try { - await this.unlinkPromise(lockPath); - continue; - } catch (error2) { - } - } - if (Date.now() - startTime < 60 * 1e3) { - await new Promise((resolve) => setTimeout(resolve, interval)); - } else { - throw new Error(`Couldn't acquire a lock in a reasonable time (via ${lockPath})`); - } - } else { - throw error; - } - } - } - await this.writePromise(fd, JSON.stringify([process.pid])); - try { - return await callback(); - } finally { - try { - await this.closePromise(fd); - await this.unlinkPromise(lockPath); - } catch (error) { - } - } - } - async readJsonPromise(p) { - const content = await this.readFilePromise(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - readJsonSync(p) { - const content = this.readFileSync(p, `utf8`); - try { - return JSON.parse(content); - } catch (error) { - error.message += ` (in ${p})`; - throw error; - } - } - async writeJsonPromise(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return await this.writeFilePromise(p, `${JSON.stringify(data, null, space)} -`); - } - writeJsonSync(p, data, { compact = false } = {}) { - const space = compact ? 0 : 2; - return this.writeFileSync(p, `${JSON.stringify(data, null, space)} -`); - } - async preserveTimePromise(p, cb) { - const stat = await this.lstatPromise(p); - const result = await cb(); - if (typeof result !== `undefined`) - p = result; - await this.lutimesPromise(p, stat.atime, stat.mtime); - } - async preserveTimeSync(p, cb) { - const stat = this.lstatSync(p); - const result = cb(); - if (typeof result !== `undefined`) - p = result; - this.lutimesSync(p, stat.atime, stat.mtime); - } -} -class BasePortableFakeFS extends FakeFS { - constructor() { - super(ppath); - } -} -function getEndOfLine(content) { - const matches = content.match(/\r?\n/g); - if (matches === null) - return EOL; - const crlf = matches.filter((nl) => nl === `\r -`).length; - const lf = matches.length - crlf; - return crlf > lf ? `\r -` : ` -`; -} -function normalizeLineEndings(originalContent, newContent) { - return newContent.replace(/\r?\n/g, getEndOfLine(originalContent)); -} - -class ProxiedFS extends FakeFS { - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - resolve(path) { - return this.mapFromBase(this.baseFs.resolve(this.mapToBase(path))); - } - getRealPath() { - return this.mapFromBase(this.baseFs.getRealPath()); - } - async openPromise(p, flags, mode) { - return this.baseFs.openPromise(this.mapToBase(p), flags, mode); - } - openSync(p, flags, mode) { - return this.baseFs.openSync(this.mapToBase(p), flags, mode); - } - async opendirPromise(p, opts) { - return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(p), opts), { path: p }); - } - opendirSync(p, opts) { - return Object.assign(this.baseFs.opendirSync(this.mapToBase(p), opts), { path: p }); - } - async readPromise(fd, buffer, offset, length, position) { - return await this.baseFs.readPromise(fd, buffer, offset, length, position); - } - readSync(fd, buffer, offset, length, position) { - return this.baseFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return await this.baseFs.writePromise(fd, buffer, offset); - } else { - return await this.baseFs.writePromise(fd, buffer, offset, length, position); - } - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.baseFs.writeSync(fd, buffer, offset); - } else { - return this.baseFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - return this.baseFs.closePromise(fd); - } - closeSync(fd) { - this.baseFs.closeSync(fd); - } - createReadStream(p, opts) { - return this.baseFs.createReadStream(p !== null ? this.mapToBase(p) : p, opts); - } - createWriteStream(p, opts) { - return this.baseFs.createWriteStream(p !== null ? this.mapToBase(p) : p, opts); - } - async realpathPromise(p) { - return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(p))); - } - realpathSync(p) { - return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(p))); - } - async existsPromise(p) { - return this.baseFs.existsPromise(this.mapToBase(p)); - } - existsSync(p) { - return this.baseFs.existsSync(this.mapToBase(p)); - } - accessSync(p, mode) { - return this.baseFs.accessSync(this.mapToBase(p), mode); - } - async accessPromise(p, mode) { - return this.baseFs.accessPromise(this.mapToBase(p), mode); - } - async statPromise(p, opts) { - return this.baseFs.statPromise(this.mapToBase(p), opts); - } - statSync(p, opts) { - return this.baseFs.statSync(this.mapToBase(p), opts); - } - async fstatPromise(fd, opts) { - return this.baseFs.fstatPromise(fd, opts); - } - fstatSync(fd, opts) { - return this.baseFs.fstatSync(fd, opts); - } - lstatPromise(p, opts) { - return this.baseFs.lstatPromise(this.mapToBase(p), opts); - } - lstatSync(p, opts) { - return this.baseFs.lstatSync(this.mapToBase(p), opts); - } - async fchmodPromise(fd, mask) { - return this.baseFs.fchmodPromise(fd, mask); - } - fchmodSync(fd, mask) { - return this.baseFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return this.baseFs.chmodPromise(this.mapToBase(p), mask); - } - chmodSync(p, mask) { - return this.baseFs.chmodSync(this.mapToBase(p), mask); - } - async fchownPromise(fd, uid, gid) { - return this.baseFs.fchownPromise(fd, uid, gid); - } - fchownSync(fd, uid, gid) { - return this.baseFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return this.baseFs.chownPromise(this.mapToBase(p), uid, gid); - } - chownSync(p, uid, gid) { - return this.baseFs.chownSync(this.mapToBase(p), uid, gid); - } - async renamePromise(oldP, newP) { - return this.baseFs.renamePromise(this.mapToBase(oldP), this.mapToBase(newP)); - } - renameSync(oldP, newP) { - return this.baseFs.renameSync(this.mapToBase(oldP), this.mapToBase(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return this.baseFs.copyFilePromise(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.baseFs.copyFileSync(this.mapToBase(sourceP), this.mapToBase(destP), flags); - } - async appendFilePromise(p, content, opts) { - return this.baseFs.appendFilePromise(this.fsMapToBase(p), content, opts); - } - appendFileSync(p, content, opts) { - return this.baseFs.appendFileSync(this.fsMapToBase(p), content, opts); - } - async writeFilePromise(p, content, opts) { - return this.baseFs.writeFilePromise(this.fsMapToBase(p), content, opts); - } - writeFileSync(p, content, opts) { - return this.baseFs.writeFileSync(this.fsMapToBase(p), content, opts); - } - async unlinkPromise(p) { - return this.baseFs.unlinkPromise(this.mapToBase(p)); - } - unlinkSync(p) { - return this.baseFs.unlinkSync(this.mapToBase(p)); - } - async utimesPromise(p, atime, mtime) { - return this.baseFs.utimesPromise(this.mapToBase(p), atime, mtime); - } - utimesSync(p, atime, mtime) { - return this.baseFs.utimesSync(this.mapToBase(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return this.baseFs.lutimesPromise(this.mapToBase(p), atime, mtime); - } - lutimesSync(p, atime, mtime) { - return this.baseFs.lutimesSync(this.mapToBase(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return this.baseFs.mkdirPromise(this.mapToBase(p), opts); - } - mkdirSync(p, opts) { - return this.baseFs.mkdirSync(this.mapToBase(p), opts); - } - async rmdirPromise(p, opts) { - return this.baseFs.rmdirPromise(this.mapToBase(p), opts); - } - rmdirSync(p, opts) { - return this.baseFs.rmdirSync(this.mapToBase(p), opts); - } - async linkPromise(existingP, newP) { - return this.baseFs.linkPromise(this.mapToBase(existingP), this.mapToBase(newP)); - } - linkSync(existingP, newP) { - return this.baseFs.linkSync(this.mapToBase(existingP), this.mapToBase(newP)); - } - async symlinkPromise(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkPromise(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkPromise(mappedTarget, mappedP, type); - } - symlinkSync(target, p, type) { - const mappedP = this.mapToBase(p); - if (this.pathUtils.isAbsolute(target)) - return this.baseFs.symlinkSync(this.mapToBase(target), mappedP, type); - const mappedAbsoluteTarget = this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(p), target)); - const mappedTarget = this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(mappedP), mappedAbsoluteTarget); - return this.baseFs.symlinkSync(mappedTarget, mappedP, type); - } - async readFilePromise(p, encoding) { - return this.baseFs.readFilePromise(this.fsMapToBase(p), encoding); - } - readFileSync(p, encoding) { - return this.baseFs.readFileSync(this.fsMapToBase(p), encoding); - } - readdirPromise(p, opts) { - return this.baseFs.readdirPromise(this.mapToBase(p), opts); - } - readdirSync(p, opts) { - return this.baseFs.readdirSync(this.mapToBase(p), opts); - } - async readlinkPromise(p) { - return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(p))); - } - readlinkSync(p) { - return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(p))); - } - async truncatePromise(p, len) { - return this.baseFs.truncatePromise(this.mapToBase(p), len); - } - truncateSync(p, len) { - return this.baseFs.truncateSync(this.mapToBase(p), len); - } - async ftruncatePromise(fd, len) { - return this.baseFs.ftruncatePromise(fd, len); - } - ftruncateSync(fd, len) { - return this.baseFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.baseFs.watch( - this.mapToBase(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.baseFs.watchFile( - this.mapToBase(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.baseFs.unwatchFile(this.mapToBase(p), cb); - } - fsMapToBase(p) { - if (typeof p === `number`) { - return p; - } else { - return this.mapToBase(p); - } - } -} - -function direntToPortable(dirent) { - const portableDirent = dirent; - if (typeof dirent.path === `string`) - portableDirent.path = npath.toPortablePath(dirent.path); - return portableDirent; -} -class NodeFS extends BasePortableFakeFS { - constructor(realFs = fs) { - super(); - this.realFs = realFs; - } - getExtractHint() { - return false; - } - getRealPath() { - return PortablePath.root; - } - resolve(p) { - return ppath.resolve(p); - } - async openPromise(p, flags, mode) { - return await new Promise((resolve, reject) => { - this.realFs.open(npath.fromPortablePath(p), flags, mode, this.makeCallback(resolve, reject)); - }); - } - openSync(p, flags, mode) { - return this.realFs.openSync(npath.fromPortablePath(p), flags, mode); - } - async opendirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (typeof opts !== `undefined`) { - this.realFs.opendir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.opendir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }).then((dir) => { - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - }); - } - opendirSync(p, opts) { - const dir = typeof opts !== `undefined` ? this.realFs.opendirSync(npath.fromPortablePath(p), opts) : this.realFs.opendirSync(npath.fromPortablePath(p)); - const dirWithFixedPath = dir; - Object.defineProperty(dirWithFixedPath, `path`, { - value: p, - configurable: true, - writable: true - }); - return dirWithFixedPath; - } - async readPromise(fd, buffer, offset = 0, length = 0, position = -1) { - return await new Promise((resolve, reject) => { - this.realFs.read(fd, buffer, offset, length, position, (error, bytesRead) => { - if (error) { - reject(error); - } else { - resolve(bytesRead); - } - }); - }); - } - readSync(fd, buffer, offset, length, position) { - return this.realFs.readSync(fd, buffer, offset, length, position); - } - async writePromise(fd, buffer, offset, length, position) { - return await new Promise((resolve, reject) => { - if (typeof buffer === `string`) { - return this.realFs.write(fd, buffer, offset, this.makeCallback(resolve, reject)); - } else { - return this.realFs.write(fd, buffer, offset, length, position, this.makeCallback(resolve, reject)); - } - }); - } - writeSync(fd, buffer, offset, length, position) { - if (typeof buffer === `string`) { - return this.realFs.writeSync(fd, buffer, offset); - } else { - return this.realFs.writeSync(fd, buffer, offset, length, position); - } - } - async closePromise(fd) { - await new Promise((resolve, reject) => { - this.realFs.close(fd, this.makeCallback(resolve, reject)); - }); - } - closeSync(fd) { - this.realFs.closeSync(fd); - } - createReadStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createReadStream(realPath, opts); - } - createWriteStream(p, opts) { - const realPath = p !== null ? npath.fromPortablePath(p) : p; - return this.realFs.createWriteStream(realPath, opts); - } - async realpathPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.realpath(npath.fromPortablePath(p), {}, this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - realpathSync(p) { - return npath.toPortablePath(this.realFs.realpathSync(npath.fromPortablePath(p), {})); - } - async existsPromise(p) { - return await new Promise((resolve) => { - this.realFs.exists(npath.fromPortablePath(p), resolve); - }); - } - accessSync(p, mode) { - return this.realFs.accessSync(npath.fromPortablePath(p), mode); - } - async accessPromise(p, mode) { - return await new Promise((resolve, reject) => { - this.realFs.access(npath.fromPortablePath(p), mode, this.makeCallback(resolve, reject)); - }); - } - existsSync(p) { - return this.realFs.existsSync(npath.fromPortablePath(p)); - } - async statPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.stat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.stat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - statSync(p, opts) { - if (opts) { - return this.realFs.statSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.statSync(npath.fromPortablePath(p)); - } - } - async fstatPromise(fd, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.fstat(fd, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.fstat(fd, this.makeCallback(resolve, reject)); - } - }); - } - fstatSync(fd, opts) { - if (opts) { - return this.realFs.fstatSync(fd, opts); - } else { - return this.realFs.fstatSync(fd); - } - } - async lstatPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.lstat(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.lstat(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - lstatSync(p, opts) { - if (opts) { - return this.realFs.lstatSync(npath.fromPortablePath(p), opts); - } else { - return this.realFs.lstatSync(npath.fromPortablePath(p)); - } - } - async fchmodPromise(fd, mask) { - return await new Promise((resolve, reject) => { - this.realFs.fchmod(fd, mask, this.makeCallback(resolve, reject)); - }); - } - fchmodSync(fd, mask) { - return this.realFs.fchmodSync(fd, mask); - } - async chmodPromise(p, mask) { - return await new Promise((resolve, reject) => { - this.realFs.chmod(npath.fromPortablePath(p), mask, this.makeCallback(resolve, reject)); - }); - } - chmodSync(p, mask) { - return this.realFs.chmodSync(npath.fromPortablePath(p), mask); - } - async fchownPromise(fd, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.fchown(fd, uid, gid, this.makeCallback(resolve, reject)); - }); - } - fchownSync(fd, uid, gid) { - return this.realFs.fchownSync(fd, uid, gid); - } - async chownPromise(p, uid, gid) { - return await new Promise((resolve, reject) => { - this.realFs.chown(npath.fromPortablePath(p), uid, gid, this.makeCallback(resolve, reject)); - }); - } - chownSync(p, uid, gid) { - return this.realFs.chownSync(npath.fromPortablePath(p), uid, gid); - } - async renamePromise(oldP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.rename(npath.fromPortablePath(oldP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - renameSync(oldP, newP) { - return this.realFs.renameSync(npath.fromPortablePath(oldP), npath.fromPortablePath(newP)); - } - async copyFilePromise(sourceP, destP, flags = 0) { - return await new Promise((resolve, reject) => { - this.realFs.copyFile(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags, this.makeCallback(resolve, reject)); - }); - } - copyFileSync(sourceP, destP, flags = 0) { - return this.realFs.copyFileSync(npath.fromPortablePath(sourceP), npath.fromPortablePath(destP), flags); - } - async appendFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.appendFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - appendFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.appendFileSync(fsNativePath, content, opts); - } else { - this.realFs.appendFileSync(fsNativePath, content); - } - } - async writeFilePromise(p, content, opts) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFile(fsNativePath, content, opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.writeFile(fsNativePath, content, this.makeCallback(resolve, reject)); - } - }); - } - writeFileSync(p, content, opts) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - if (opts) { - this.realFs.writeFileSync(fsNativePath, content, opts); - } else { - this.realFs.writeFileSync(fsNativePath, content); - } - } - async unlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.unlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }); - } - unlinkSync(p) { - return this.realFs.unlinkSync(npath.fromPortablePath(p)); - } - async utimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.utimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - utimesSync(p, atime, mtime) { - this.realFs.utimesSync(npath.fromPortablePath(p), atime, mtime); - } - async lutimesPromise(p, atime, mtime) { - return await new Promise((resolve, reject) => { - this.realFs.lutimes(npath.fromPortablePath(p), atime, mtime, this.makeCallback(resolve, reject)); - }); - } - lutimesSync(p, atime, mtime) { - this.realFs.lutimesSync(npath.fromPortablePath(p), atime, mtime); - } - async mkdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - this.realFs.mkdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - }); - } - mkdirSync(p, opts) { - return this.realFs.mkdirSync(npath.fromPortablePath(p), opts); - } - async rmdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - this.realFs.rmdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } else { - this.realFs.rmdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - rmdirSync(p, opts) { - return this.realFs.rmdirSync(npath.fromPortablePath(p), opts); - } - async linkPromise(existingP, newP) { - return await new Promise((resolve, reject) => { - this.realFs.link(npath.fromPortablePath(existingP), npath.fromPortablePath(newP), this.makeCallback(resolve, reject)); - }); - } - linkSync(existingP, newP) { - return this.realFs.linkSync(npath.fromPortablePath(existingP), npath.fromPortablePath(newP)); - } - async symlinkPromise(target, p, type) { - return await new Promise((resolve, reject) => { - this.realFs.symlink(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type, this.makeCallback(resolve, reject)); - }); - } - symlinkSync(target, p, type) { - return this.realFs.symlinkSync(npath.fromPortablePath(target.replace(/\/+$/, ``)), npath.fromPortablePath(p), type); - } - async readFilePromise(p, encoding) { - return await new Promise((resolve, reject) => { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - this.realFs.readFile(fsNativePath, encoding, this.makeCallback(resolve, reject)); - }); - } - readFileSync(p, encoding) { - const fsNativePath = typeof p === `string` ? npath.fromPortablePath(p) : p; - return this.realFs.readFileSync(fsNativePath, encoding); - } - async readdirPromise(p, opts) { - return await new Promise((resolve, reject) => { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(direntToPortable)), reject)); - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback((results) => resolve(results.map(npath.toPortablePath)), reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), opts, this.makeCallback(resolve, reject)); - } - } else { - this.realFs.readdir(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - } - }); - } - readdirSync(p, opts) { - if (opts) { - if (opts.recursive && process.platform === `win32`) { - if (opts.withFileTypes) { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(direntToPortable); - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts).map(npath.toPortablePath); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p), opts); - } - } else { - return this.realFs.readdirSync(npath.fromPortablePath(p)); - } - } - async readlinkPromise(p) { - return await new Promise((resolve, reject) => { - this.realFs.readlink(npath.fromPortablePath(p), this.makeCallback(resolve, reject)); - }).then((path) => { - return npath.toPortablePath(path); - }); - } - readlinkSync(p) { - return npath.toPortablePath(this.realFs.readlinkSync(npath.fromPortablePath(p))); - } - async truncatePromise(p, len) { - return await new Promise((resolve, reject) => { - this.realFs.truncate(npath.fromPortablePath(p), len, this.makeCallback(resolve, reject)); - }); - } - truncateSync(p, len) { - return this.realFs.truncateSync(npath.fromPortablePath(p), len); - } - async ftruncatePromise(fd, len) { - return await new Promise((resolve, reject) => { - this.realFs.ftruncate(fd, len, this.makeCallback(resolve, reject)); - }); - } - ftruncateSync(fd, len) { - return this.realFs.ftruncateSync(fd, len); - } - watch(p, a, b) { - return this.realFs.watch( - npath.fromPortablePath(p), - a, - b - ); - } - watchFile(p, a, b) { - return this.realFs.watchFile( - npath.fromPortablePath(p), - a, - b - ); - } - unwatchFile(p, cb) { - return this.realFs.unwatchFile(npath.fromPortablePath(p), cb); - } - makeCallback(resolve, reject) { - return (err, result) => { - if (err) { - reject(err); - } else { - resolve(result); - } - }; - } -} - -const NUMBER_REGEXP = /^[0-9]+$/; -const VIRTUAL_REGEXP = /^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/; -const VALID_COMPONENT = /^([^/]+-)?[a-f0-9]+$/; -class VirtualFS extends ProxiedFS { - constructor({ baseFs = new NodeFS() } = {}) { - super(ppath); - this.baseFs = baseFs; - } - static makeVirtualPath(base, component, to) { - if (ppath.basename(base) !== `__virtual__`) - throw new Error(`Assertion failed: Virtual folders must be named "__virtual__"`); - if (!ppath.basename(component).match(VALID_COMPONENT)) - throw new Error(`Assertion failed: Virtual components must be ended by an hexadecimal hash`); - const target = ppath.relative(ppath.dirname(base), to); - const segments = target.split(`/`); - let depth = 0; - while (depth < segments.length && segments[depth] === `..`) - depth += 1; - const finalSegments = segments.slice(depth); - const fullVirtualPath = ppath.join(base, component, String(depth), ...finalSegments); - return fullVirtualPath; - } - static resolveVirtual(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match || !match[3] && match[5]) - return p; - const target = ppath.dirname(match[1]); - if (!match[3] || !match[4]) - return target; - const isnum = NUMBER_REGEXP.test(match[4]); - if (!isnum) - return p; - const depth = Number(match[4]); - const backstep = `../`.repeat(depth); - const subpath = match[5] || `.`; - return VirtualFS.resolveVirtual(ppath.join(target, backstep, subpath)); - } - getExtractHint(hints) { - return this.baseFs.getExtractHint(hints); - } - getRealPath() { - return this.baseFs.getRealPath(); - } - realpathSync(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return this.baseFs.realpathSync(p); - if (!match[5]) - return p; - const realpath = this.baseFs.realpathSync(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - async realpathPromise(p) { - const match = p.match(VIRTUAL_REGEXP); - if (!match) - return await this.baseFs.realpathPromise(p); - if (!match[5]) - return p; - const realpath = await this.baseFs.realpathPromise(this.mapToBase(p)); - return VirtualFS.makeVirtualPath(match[1], match[3], realpath); - } - mapToBase(p) { - if (p === ``) - return p; - if (this.pathUtils.isAbsolute(p)) - return VirtualFS.resolveVirtual(p); - const resolvedRoot = VirtualFS.resolveVirtual(this.baseFs.resolve(PortablePath.dot)); - const resolvedP = VirtualFS.resolveVirtual(this.baseFs.resolve(p)); - return ppath.relative(resolvedRoot, resolvedP) || PortablePath.dot; - } - mapFromBase(p) { - return p; - } -} - -const URL = Number(process.versions.node.split('.', 1)[0]) < 20 ? URL$1 : globalThis.URL; - -const [major, minor] = process.versions.node.split(`.`).map((value) => parseInt(value, 10)); -const WATCH_MODE_MESSAGE_USES_ARRAYS = major > 19 || major === 19 && minor >= 2 || major === 18 && minor >= 13; -const HAS_LAZY_LOADED_TRANSLATORS = major === 20 && minor < 6 || major === 19 && minor >= 3; - -function readPackageScope(checkPath) { - const rootSeparatorIndex = checkPath.indexOf(npath.sep); - let separatorIndex; - do { - separatorIndex = checkPath.lastIndexOf(npath.sep); - checkPath = checkPath.slice(0, separatorIndex); - if (checkPath.endsWith(`${npath.sep}node_modules`)) - return false; - const pjson = readPackage(checkPath + npath.sep); - if (pjson) { - return { - data: pjson, - path: checkPath - }; - } - } while (separatorIndex > rootSeparatorIndex); - return false; -} -function readPackage(requestPath) { - const jsonPath = npath.resolve(requestPath, `package.json`); - if (!fs.existsSync(jsonPath)) - return null; - return JSON.parse(fs.readFileSync(jsonPath, `utf8`)); -} - -async function tryReadFile$1(path2) { - try { - return await fs.promises.readFile(path2, `utf8`); - } catch (error) { - if (error.code === `ENOENT`) - return null; - throw error; - } -} -function tryParseURL(str, base) { - try { - return new URL(str, base); - } catch { - return null; - } -} -let entrypointPath = null; -function setEntrypointPath(file) { - entrypointPath = file; -} -function getFileFormat(filepath) { - const ext = path.extname(filepath); - switch (ext) { - case `.mjs`: { - return `module`; - } - case `.cjs`: { - return `commonjs`; - } - case `.wasm`: { - throw new Error( - `Unknown file extension ".wasm" for ${filepath}` - ); - } - case `.json`: { - return `json`; - } - case `.js`: { - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - return pkg.data.type ?? `commonjs`; - } - default: { - if (entrypointPath !== filepath) - return null; - const pkg = readPackageScope(filepath); - if (!pkg) - return `commonjs`; - if (pkg.data.type === `module`) - return null; - return pkg.data.type ?? `commonjs`; - } - } -} - -async function load$1(urlString, context, nextLoad) { - const url = tryParseURL(urlString); - if (url?.protocol !== `file:`) - return nextLoad(urlString, context, nextLoad); - const filePath = fileURLToPath(url); - const format = getFileFormat(filePath); - if (!format) - return nextLoad(urlString, context, nextLoad); - if (format === `json` && context.importAssertions?.type !== `json`) { - const err = new TypeError(`[ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "${urlString}" needs an import assertion of type "json"`); - err.code = `ERR_IMPORT_ASSERTION_TYPE_MISSING`; - throw err; - } - if (process.env.WATCH_REPORT_DEPENDENCIES && process.send) { - const pathToSend = pathToFileURL( - npath.fromPortablePath( - VirtualFS.resolveVirtual(npath.toPortablePath(filePath)) - ) - ).href; - process.send({ - "watch:import": WATCH_MODE_MESSAGE_USES_ARRAYS ? [pathToSend] : pathToSend - }); - } - return { - format, - source: format === `commonjs` ? void 0 : await fs.promises.readFile(filePath, `utf8`), - shortCircuit: true - }; -} - -const ArrayIsArray = Array.isArray; -const JSONStringify = JSON.stringify; -const ObjectGetOwnPropertyNames = Object.getOwnPropertyNames; -const ObjectPrototypeHasOwnProperty = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -const RegExpPrototypeExec = (obj, string) => RegExp.prototype.exec.call(obj, string); -const RegExpPrototypeSymbolReplace = (obj, ...rest) => RegExp.prototype[Symbol.replace].apply(obj, rest); -const StringPrototypeEndsWith = (str, ...rest) => String.prototype.endsWith.apply(str, rest); -const StringPrototypeIncludes = (str, ...rest) => String.prototype.includes.apply(str, rest); -const StringPrototypeLastIndexOf = (str, ...rest) => String.prototype.lastIndexOf.apply(str, rest); -const StringPrototypeIndexOf = (str, ...rest) => String.prototype.indexOf.apply(str, rest); -const StringPrototypeReplace = (str, ...rest) => String.prototype.replace.apply(str, rest); -const StringPrototypeSlice = (str, ...rest) => String.prototype.slice.apply(str, rest); -const StringPrototypeStartsWith = (str, ...rest) => String.prototype.startsWith.apply(str, rest); -const SafeMap = Map; -const JSONParse = JSON.parse; - -function createErrorType(code, messageCreator, errorType) { - return class extends errorType { - constructor(...args) { - super(messageCreator(...args)); - this.code = code; - this.name = `${errorType.name} [${code}]`; - } - }; -} -const ERR_PACKAGE_IMPORT_NOT_DEFINED = createErrorType( - `ERR_PACKAGE_IMPORT_NOT_DEFINED`, - (specifier, packagePath, base) => { - return `Package import specifier "${specifier}" is not defined${packagePath ? ` in package ${packagePath}package.json` : ``} imported from ${base}`; - }, - TypeError -); -const ERR_INVALID_MODULE_SPECIFIER = createErrorType( - `ERR_INVALID_MODULE_SPECIFIER`, - (request, reason, base = void 0) => { - return `Invalid module "${request}" ${reason}${base ? ` imported from ${base}` : ``}`; - }, - TypeError -); -const ERR_INVALID_PACKAGE_TARGET = createErrorType( - `ERR_INVALID_PACKAGE_TARGET`, - (pkgPath, key, target, isImport = false, base = void 0) => { - const relError = typeof target === `string` && !isImport && target.length && !StringPrototypeStartsWith(target, `./`); - if (key === `.`) { - assert(isImport === false); - return `Invalid "exports" main target ${JSONStringify(target)} defined in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - } - return `Invalid "${isImport ? `imports` : `exports`}" target ${JSONStringify( - target - )} defined for '${key}' in the package config ${pkgPath}package.json${base ? ` imported from ${base}` : ``}${relError ? `; targets must start with "./"` : ``}`; - }, - Error -); -const ERR_INVALID_PACKAGE_CONFIG = createErrorType( - `ERR_INVALID_PACKAGE_CONFIG`, - (path, base, message) => { - return `Invalid package config ${path}${base ? ` while importing ${base}` : ``}${message ? `. ${message}` : ``}`; - }, - Error -); - -function filterOwnProperties(source, keys) { - const filtered = /* @__PURE__ */ Object.create(null); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (ObjectPrototypeHasOwnProperty(source, key)) { - filtered[key] = source[key]; - } - } - return filtered; -} - -const packageJSONCache = new SafeMap(); -function getPackageConfig(path, specifier, base, readFileSyncFn) { - const existing = packageJSONCache.get(path); - if (existing !== void 0) { - return existing; - } - const source = readFileSyncFn(path); - if (source === void 0) { - const packageConfig2 = { - pjsonPath: path, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(path, packageConfig2); - return packageConfig2; - } - let packageJSON; - try { - packageJSON = JSONParse(source); - } catch (error) { - throw new ERR_INVALID_PACKAGE_CONFIG( - path, - (base ? `"${specifier}" from ` : "") + fileURLToPath(base || specifier), - error.message - ); - } - let { imports, main, name, type } = filterOwnProperties(packageJSON, [ - "imports", - "main", - "name", - "type" - ]); - const exports = ObjectPrototypeHasOwnProperty(packageJSON, "exports") ? packageJSON.exports : void 0; - if (typeof imports !== "object" || imports === null) { - imports = void 0; - } - if (typeof main !== "string") { - main = void 0; - } - if (typeof name !== "string") { - name = void 0; - } - if (type !== "module" && type !== "commonjs") { - type = "none"; - } - const packageConfig = { - pjsonPath: path, - exists: true, - main, - name, - type, - exports, - imports - }; - packageJSONCache.set(path, packageConfig); - return packageConfig; -} -function getPackageScopeConfig(resolved, readFileSyncFn) { - let packageJSONUrl = new URL("./package.json", resolved); - while (true) { - const packageJSONPath2 = packageJSONUrl.pathname; - if (StringPrototypeEndsWith(packageJSONPath2, "node_modules/package.json")) { - break; - } - const packageConfig2 = getPackageConfig( - fileURLToPath(packageJSONUrl), - resolved, - void 0, - readFileSyncFn - ); - if (packageConfig2.exists) { - return packageConfig2; - } - const lastPackageJSONUrl = packageJSONUrl; - packageJSONUrl = new URL("../package.json", packageJSONUrl); - if (packageJSONUrl.pathname === lastPackageJSONUrl.pathname) { - break; - } - } - const packageJSONPath = fileURLToPath(packageJSONUrl); - const packageConfig = { - pjsonPath: packageJSONPath, - exists: false, - main: void 0, - name: void 0, - type: "none", - exports: void 0, - imports: void 0 - }; - packageJSONCache.set(packageJSONPath, packageConfig); - return packageConfig; -} - -function throwImportNotDefined(specifier, packageJSONUrl, base) { - throw new ERR_PACKAGE_IMPORT_NOT_DEFINED( - specifier, - packageJSONUrl && fileURLToPath(new URL(".", packageJSONUrl)), - fileURLToPath(base) - ); -} -function throwInvalidSubpath(subpath, packageJSONUrl, internal, base) { - const reason = `request is not a valid subpath for the "${internal ? "imports" : "exports"}" resolution of ${fileURLToPath(packageJSONUrl)}`; - throw new ERR_INVALID_MODULE_SPECIFIER( - subpath, - reason, - base && fileURLToPath(base) - ); -} -function throwInvalidPackageTarget(subpath, target, packageJSONUrl, internal, base) { - if (typeof target === "object" && target !== null) { - target = JSONStringify(target, null, ""); - } else { - target = `${target}`; - } - throw new ERR_INVALID_PACKAGE_TARGET( - fileURLToPath(new URL(".", packageJSONUrl)), - subpath, - target, - internal, - base && fileURLToPath(base) - ); -} -const invalidSegmentRegEx = /(^|\\|\/)((\.|%2e)(\.|%2e)?|(n|%6e|%4e)(o|%6f|%4f)(d|%64|%44)(e|%65|%45)(_|%5f)(m|%6d|%4d)(o|%6f|%4f)(d|%64|%44)(u|%75|%55)(l|%6c|%4c)(e|%65|%45)(s|%73|%53))(\\|\/|$)/i; -const patternRegEx = /\*/g; -function resolvePackageTargetString(target, subpath, match, packageJSONUrl, base, pattern, internal, conditions) { - if (subpath !== "" && !pattern && target[target.length - 1] !== "/") - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (!StringPrototypeStartsWith(target, "./")) { - if (internal && !StringPrototypeStartsWith(target, "../") && !StringPrototypeStartsWith(target, "/")) { - let isURL = false; - try { - new URL(target); - isURL = true; - } catch { - } - if (!isURL) { - const exportTarget = pattern ? RegExpPrototypeSymbolReplace(patternRegEx, target, () => subpath) : target + subpath; - return exportTarget; - } - } - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - } - if (RegExpPrototypeExec( - invalidSegmentRegEx, - StringPrototypeSlice(target, 2) - ) !== null) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - const resolved = new URL(target, packageJSONUrl); - const resolvedPath = resolved.pathname; - const packagePath = new URL(".", packageJSONUrl).pathname; - if (!StringPrototypeStartsWith(resolvedPath, packagePath)) - throwInvalidPackageTarget(match, target, packageJSONUrl, internal, base); - if (subpath === "") - return resolved; - if (RegExpPrototypeExec(invalidSegmentRegEx, subpath) !== null) { - const request = pattern ? StringPrototypeReplace(match, "*", () => subpath) : match + subpath; - throwInvalidSubpath(request, packageJSONUrl, internal, base); - } - if (pattern) { - return new URL( - RegExpPrototypeSymbolReplace(patternRegEx, resolved.href, () => subpath) - ); - } - return new URL(subpath, resolved); -} -function isArrayIndex(key) { - const keyNum = +key; - if (`${keyNum}` !== key) - return false; - return keyNum >= 0 && keyNum < 4294967295; -} -function resolvePackageTarget(packageJSONUrl, target, subpath, packageSubpath, base, pattern, internal, conditions) { - if (typeof target === "string") { - return resolvePackageTargetString( - target, - subpath, - packageSubpath, - packageJSONUrl, - base, - pattern, - internal); - } else if (ArrayIsArray(target)) { - if (target.length === 0) { - return null; - } - let lastException; - for (let i = 0; i < target.length; i++) { - const targetItem = target[i]; - let resolveResult; - try { - resolveResult = resolvePackageTarget( - packageJSONUrl, - targetItem, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - } catch (e) { - lastException = e; - if (e.code === "ERR_INVALID_PACKAGE_TARGET") { - continue; - } - throw e; - } - if (resolveResult === void 0) { - continue; - } - if (resolveResult === null) { - lastException = null; - continue; - } - return resolveResult; - } - if (lastException === void 0 || lastException === null) - return lastException; - throw lastException; - } else if (typeof target === "object" && target !== null) { - const keys = ObjectGetOwnPropertyNames(target); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (isArrayIndex(key)) { - throw new ERR_INVALID_PACKAGE_CONFIG( - fileURLToPath(packageJSONUrl), - base, - '"exports" cannot contain numeric property keys.' - ); - } - } - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - if (key === "default" || conditions.has(key)) { - const conditionalTarget = target[key]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - conditionalTarget, - subpath, - packageSubpath, - base, - pattern, - internal, - conditions - ); - if (resolveResult === void 0) - continue; - return resolveResult; - } - } - return void 0; - } else if (target === null) { - return null; - } - throwInvalidPackageTarget( - packageSubpath, - target, - packageJSONUrl, - internal, - base - ); -} -function patternKeyCompare(a, b) { - const aPatternIndex = StringPrototypeIndexOf(a, "*"); - const bPatternIndex = StringPrototypeIndexOf(b, "*"); - const baseLenA = aPatternIndex === -1 ? a.length : aPatternIndex + 1; - const baseLenB = bPatternIndex === -1 ? b.length : bPatternIndex + 1; - if (baseLenA > baseLenB) - return -1; - if (baseLenB > baseLenA) - return 1; - if (aPatternIndex === -1) - return 1; - if (bPatternIndex === -1) - return -1; - if (a.length > b.length) - return -1; - if (b.length > a.length) - return 1; - return 0; -} -function packageImportsResolve({ name, base, conditions, readFileSyncFn }) { - if (name === "#" || StringPrototypeStartsWith(name, "#/") || StringPrototypeEndsWith(name, "/")) { - const reason = "is not a valid internal imports specifier name"; - throw new ERR_INVALID_MODULE_SPECIFIER(name, reason, fileURLToPath(base)); - } - let packageJSONUrl; - const packageConfig = getPackageScopeConfig(base, readFileSyncFn); - if (packageConfig.exists) { - packageJSONUrl = pathToFileURL(packageConfig.pjsonPath); - const imports = packageConfig.imports; - if (imports) { - if (ObjectPrototypeHasOwnProperty(imports, name) && !StringPrototypeIncludes(name, "*")) { - const resolveResult = resolvePackageTarget( - packageJSONUrl, - imports[name], - "", - name, - base, - false, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } else { - let bestMatch = ""; - let bestMatchSubpath; - const keys = ObjectGetOwnPropertyNames(imports); - for (let i = 0; i < keys.length; i++) { - const key = keys[i]; - const patternIndex = StringPrototypeIndexOf(key, "*"); - if (patternIndex !== -1 && StringPrototypeStartsWith( - name, - StringPrototypeSlice(key, 0, patternIndex) - )) { - const patternTrailer = StringPrototypeSlice(key, patternIndex + 1); - if (name.length >= key.length && StringPrototypeEndsWith(name, patternTrailer) && patternKeyCompare(bestMatch, key) === 1 && StringPrototypeLastIndexOf(key, "*") === patternIndex) { - bestMatch = key; - bestMatchSubpath = StringPrototypeSlice( - name, - patternIndex, - name.length - patternTrailer.length - ); - } - } - } - if (bestMatch) { - const target = imports[bestMatch]; - const resolveResult = resolvePackageTarget( - packageJSONUrl, - target, - bestMatchSubpath, - bestMatch, - base, - true, - true, - conditions - ); - if (resolveResult != null) { - return resolveResult; - } - } - } - } - } - throwImportNotDefined(name, packageJSONUrl, base); -} - -const pathRegExp = /^(?![a-zA-Z]:[\\/]|\\\\|\.{0,2}(?:\/|$))((?:node:)?(?:@[^/]+\/)?[^/]+)\/*(.*|)$/; -const isRelativeRegexp = /^\.{0,2}\//; -function tryReadFile(filePath) { - try { - return fs.readFileSync(filePath, `utf8`); - } catch (err) { - if (err.code === `ENOENT`) - return void 0; - throw err; - } -} -async function resolvePrivateRequest(specifier, issuer, context, nextResolve) { - const resolved = packageImportsResolve({ - name: specifier, - base: pathToFileURL(issuer), - conditions: new Set(context.conditions), - readFileSyncFn: tryReadFile - }); - if (resolved instanceof URL) { - return { url: resolved.href, shortCircuit: true }; - } else { - if (resolved.startsWith(`#`)) - throw new Error(`Mapping from one private import to another isn't allowed`); - return resolve$1(resolved, context, nextResolve); - } -} -async function resolve$1(originalSpecifier, context, nextResolve) { - const { findPnpApi } = moduleExports; - if (!findPnpApi || isBuiltin(originalSpecifier)) - return nextResolve(originalSpecifier, context, nextResolve); - let specifier = originalSpecifier; - const url = tryParseURL(specifier, isRelativeRegexp.test(specifier) ? context.parentURL : void 0); - if (url) { - if (url.protocol !== `file:`) - return nextResolve(originalSpecifier, context, nextResolve); - specifier = fileURLToPath(url); - } - const { parentURL, conditions = [] } = context; - const issuer = parentURL && tryParseURL(parentURL)?.protocol === `file:` ? fileURLToPath(parentURL) : process.cwd(); - const pnpapi = findPnpApi(issuer) ?? (url ? findPnpApi(specifier) : null); - if (!pnpapi) - return nextResolve(originalSpecifier, context, nextResolve); - if (specifier.startsWith(`#`)) - return resolvePrivateRequest(specifier, issuer, context, nextResolve); - const dependencyNameMatch = specifier.match(pathRegExp); - let allowLegacyResolve = false; - if (dependencyNameMatch) { - const [, dependencyName, subPath] = dependencyNameMatch; - if (subPath === `` && dependencyName !== `pnpapi`) { - const resolved = pnpapi.resolveToUnqualified(`${dependencyName}/package.json`, issuer); - if (resolved) { - const content = await tryReadFile$1(resolved); - if (content) { - const pkg = JSON.parse(content); - allowLegacyResolve = pkg.exports == null; - } - } - } - } - let result; - try { - result = pnpapi.resolveRequest(specifier, issuer, { - conditions: new Set(conditions), - extensions: allowLegacyResolve ? void 0 : [] - }); - } catch (err) { - if (err instanceof Error && `code` in err && err.code === `MODULE_NOT_FOUND`) - err.code = `ERR_MODULE_NOT_FOUND`; - throw err; - } - if (!result) - throw new Error(`Resolving '${specifier}' from '${issuer}' failed`); - const resultURL = pathToFileURL(result); - if (url) { - resultURL.search = url.search; - resultURL.hash = url.hash; - } - if (!parentURL) - setEntrypointPath(fileURLToPath(resultURL)); - return { - url: resultURL.href, - shortCircuit: true - }; -} - -if (!HAS_LAZY_LOADED_TRANSLATORS) { - const binding = process.binding(`fs`); - const originalReadFile = binding.readFileUtf8 || binding.readFileSync; - if (originalReadFile) { - binding[originalReadFile.name] = function(...args) { - try { - return fs.readFileSync(args[0], { - encoding: `utf8`, - flag: args[1] - }); - } catch { - } - return originalReadFile.apply(this, args); - }; - } else { - const binding2 = process.binding(`fs`); - const originalfstat = binding2.fstat; - const ZIP_MASK = 4278190080; - const ZIP_MAGIC = 704643072; - binding2.fstat = function(...args) { - const [fd, useBigint, req] = args; - if ((fd & ZIP_MASK) === ZIP_MAGIC && useBigint === false && req === void 0) { - try { - const stats = fs.fstatSync(fd); - return new Float64Array([ - stats.dev, - stats.mode, - stats.nlink, - stats.uid, - stats.gid, - stats.rdev, - stats.blksize, - stats.ino, - stats.size, - stats.blocks - ]); - } catch { - } - } - return originalfstat.apply(this, args); - }; - } -} - -const resolve = resolve$1; -const load = load$1; - -export { load, resolve }; diff --git a/.yarn/sdks/integrations.yml b/.yarn/sdks/integrations.yml deleted file mode 100644 index aa9d0d0ad..000000000 --- a/.yarn/sdks/integrations.yml +++ /dev/null @@ -1,5 +0,0 @@ -# This file is automatically generated by @yarnpkg/sdks. -# Manual changes might be lost! - -integrations: - - vscode diff --git a/.yarn/sdks/prettier/bin/prettier.cjs b/.yarn/sdks/prettier/bin/prettier.cjs deleted file mode 100755 index 5efad688e..000000000 --- a/.yarn/sdks/prettier/bin/prettier.cjs +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require prettier/bin/prettier.cjs - require(absPnpApiPath).setup(); - } -} - -// Defer to the real prettier/bin/prettier.cjs your application uses -module.exports = absRequire(`prettier/bin/prettier.cjs`); diff --git a/.yarn/sdks/prettier/index.cjs b/.yarn/sdks/prettier/index.cjs deleted file mode 100644 index 8758e367a..000000000 --- a/.yarn/sdks/prettier/index.cjs +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require prettier - require(absPnpApiPath).setup(); - } -} - -// Defer to the real prettier your application uses -module.exports = absRequire(`prettier`); diff --git a/.yarn/sdks/prettier/package.json b/.yarn/sdks/prettier/package.json deleted file mode 100644 index e6c621dbb..000000000 --- a/.yarn/sdks/prettier/package.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "name": "prettier", - "version": "3.2.4-sdk", - "main": "./index.cjs", - "type": "commonjs", - "bin": "./bin/prettier.cjs" -} diff --git a/.yarn/sdks/typescript/bin/tsc b/.yarn/sdks/typescript/bin/tsc deleted file mode 100755 index 454b950b7..000000000 --- a/.yarn/sdks/typescript/bin/tsc +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/bin/tsc - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/bin/tsc your application uses -module.exports = absRequire(`typescript/bin/tsc`); diff --git a/.yarn/sdks/typescript/bin/tsserver b/.yarn/sdks/typescript/bin/tsserver deleted file mode 100755 index d7a605684..000000000 --- a/.yarn/sdks/typescript/bin/tsserver +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/bin/tsserver - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/bin/tsserver your application uses -module.exports = absRequire(`typescript/bin/tsserver`); diff --git a/.yarn/sdks/typescript/lib/tsc.js b/.yarn/sdks/typescript/lib/tsc.js deleted file mode 100644 index 2f62fc96c..000000000 --- a/.yarn/sdks/typescript/lib/tsc.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsc.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsc.js your application uses -module.exports = absRequire(`typescript/lib/tsc.js`); diff --git a/.yarn/sdks/typescript/lib/tsserver.js b/.yarn/sdks/typescript/lib/tsserver.js deleted file mode 100644 index bbb1e4650..000000000 --- a/.yarn/sdks/typescript/lib/tsserver.js +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -const moduleWrapper = tsserver => { - if (!process.versions.pnp) { - return tsserver; - } - - const {isAbsolute} = require(`path`); - const pnpApi = require(`pnpapi`); - - const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); - const isPortal = str => str.startsWith("portal:/"); - const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); - - const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { - return `${locator.name}@${locator.reference}`; - })); - - // VSCode sends the zip paths to TS using the "zip://" prefix, that TS - // doesn't understand. This layer makes sure to remove the protocol - // before forwarding it to TS, and to add it back on all returned paths. - - function toEditorPath(str) { - // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { - // We also take the opportunity to turn virtual paths into physical ones; - // this makes it much easier to work with workspaces that list peer - // dependencies, since otherwise Ctrl+Click would bring us to the virtual - // file instances instead of the real ones. - // - // We only do this to modules owned by the the dependency tree roots. - // This avoids breaking the resolution when jumping inside a vendor - // with peer dep (otherwise jumping into react-dom would show resolution - // errors on react). - // - const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; - if (resolved) { - const locator = pnpApi.findPackageLocator(resolved); - if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { - str = resolved; - } - } - - str = normalize(str); - - if (str.match(/\.zip\//)) { - switch (hostInfo) { - // Absolute VSCode `Uri.fsPath`s need to start with a slash. - // VSCode only adds it automatically for supported schemes, - // so we have to do it manually for the `zip` scheme. - // The path needs to start with a caret otherwise VSCode doesn't handle the protocol - // - // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 - // - // 2021-10-08: VSCode changed the format in 1.61. - // Before | ^zip:/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - // 2022-04-06: VSCode changed the format in 1.66. - // Before | ^/zip//c:/foo/bar.zip/package.json - // After | ^/zip/c:/foo/bar.zip/package.json - // - // 2022-05-06: VSCode changed the format in 1.68 - // Before | ^/zip/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - case `vscode <1.61`: { - str = `^zip:${str}`; - } break; - - case `vscode <1.66`: { - str = `^/zip/${str}`; - } break; - - case `vscode <1.68`: { - str = `^/zip${str}`; - } break; - - case `vscode`: { - str = `^/zip/${str}`; - } break; - - // To make "go to definition" work, - // We have to resolve the actual file system path from virtual path - // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) - case `coc-nvim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = resolve(`zipfile:${str}`); - } break; - - // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) - // We have to resolve the actual file system path from virtual path, - // everything else is up to neovim - case `neovim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = `zipfile://${str}`; - } break; - - default: { - str = `zip:${str}`; - } break; - } - } else { - str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); - } - } - - return str; - } - - function fromEditorPath(str) { - switch (hostInfo) { - case `coc-nvim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for coc-nvim is in format of //zipfile://.yarn/... - // So in order to convert it back, we use .* to match all the thing - // before `zipfile:` - return process.platform === `win32` - ? str.replace(/^.*zipfile:\//, ``) - : str.replace(/^.*zipfile:/, ``); - } break; - - case `neovim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for neovim is in format of zipfile:////.yarn/... - return str.replace(/^zipfile:\/\//, ``); - } break; - - case `vscode`: - default: { - return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) - } break; - } - } - - // Force enable 'allowLocalPluginLoads' - // TypeScript tries to resolve plugins using a path relative to itself - // which doesn't work when using the global cache - // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 - // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but - // TypeScript already does local loads and if this code is running the user trusts the workspace - // https://github.com/microsoft/vscode/issues/45856 - const ConfiguredProject = tsserver.server.ConfiguredProject; - const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; - ConfiguredProject.prototype.enablePluginsWithOptions = function() { - this.projectService.allowLocalPluginLoads = true; - return originalEnablePluginsWithOptions.apply(this, arguments); - }; - - // And here is the point where we hijack the VSCode <-> TS communications - // by adding ourselves in the middle. We locate everything that looks - // like an absolute path of ours and normalize it. - - const Session = tsserver.server.Session; - const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; - let hostInfo = `unknown`; - - Object.assign(Session.prototype, { - onMessage(/** @type {string | object} */ message) { - const isStringMessage = typeof message === 'string'; - const parsedMessage = isStringMessage ? JSON.parse(message) : message; - - if ( - parsedMessage != null && - typeof parsedMessage === `object` && - parsedMessage.arguments && - typeof parsedMessage.arguments.hostInfo === `string` - ) { - hostInfo = parsedMessage.arguments.hostInfo; - if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { - const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( - // The RegExp from https://semver.org/ but without the caret at the start - /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ - ) ?? []).map(Number) - - if (major === 1) { - if (minor < 61) { - hostInfo += ` <1.61`; - } else if (minor < 66) { - hostInfo += ` <1.66`; - } else if (minor < 68) { - hostInfo += ` <1.68`; - } - } - } - } - - const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { - return typeof value === 'string' ? fromEditorPath(value) : value; - }); - - return originalOnMessage.call( - this, - isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) - ); - }, - - send(/** @type {any} */ msg) { - return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { - return typeof value === `string` ? toEditorPath(value) : value; - }))); - } - }); - - return tsserver; -}; - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsserver.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsserver.js your application uses -module.exports = moduleWrapper(absRequire(`typescript/lib/tsserver.js`)); diff --git a/.yarn/sdks/typescript/lib/tsserverlibrary.js b/.yarn/sdks/typescript/lib/tsserverlibrary.js deleted file mode 100644 index a68f028fe..000000000 --- a/.yarn/sdks/typescript/lib/tsserverlibrary.js +++ /dev/null @@ -1,225 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -const moduleWrapper = tsserver => { - if (!process.versions.pnp) { - return tsserver; - } - - const {isAbsolute} = require(`path`); - const pnpApi = require(`pnpapi`); - - const isVirtual = str => str.match(/\/(\$\$virtual|__virtual__)\//); - const isPortal = str => str.startsWith("portal:/"); - const normalize = str => str.replace(/\\/g, `/`).replace(/^\/?/, `/`); - - const dependencyTreeRoots = new Set(pnpApi.getDependencyTreeRoots().map(locator => { - return `${locator.name}@${locator.reference}`; - })); - - // VSCode sends the zip paths to TS using the "zip://" prefix, that TS - // doesn't understand. This layer makes sure to remove the protocol - // before forwarding it to TS, and to add it back on all returned paths. - - function toEditorPath(str) { - // We add the `zip:` prefix to both `.zip/` paths and virtual paths - if (isAbsolute(str) && !str.match(/^\^?(zip:|\/zip\/)/) && (str.match(/\.zip\//) || isVirtual(str))) { - // We also take the opportunity to turn virtual paths into physical ones; - // this makes it much easier to work with workspaces that list peer - // dependencies, since otherwise Ctrl+Click would bring us to the virtual - // file instances instead of the real ones. - // - // We only do this to modules owned by the the dependency tree roots. - // This avoids breaking the resolution when jumping inside a vendor - // with peer dep (otherwise jumping into react-dom would show resolution - // errors on react). - // - const resolved = isVirtual(str) ? pnpApi.resolveVirtual(str) : str; - if (resolved) { - const locator = pnpApi.findPackageLocator(resolved); - if (locator && (dependencyTreeRoots.has(`${locator.name}@${locator.reference}`) || isPortal(locator.reference))) { - str = resolved; - } - } - - str = normalize(str); - - if (str.match(/\.zip\//)) { - switch (hostInfo) { - // Absolute VSCode `Uri.fsPath`s need to start with a slash. - // VSCode only adds it automatically for supported schemes, - // so we have to do it manually for the `zip` scheme. - // The path needs to start with a caret otherwise VSCode doesn't handle the protocol - // - // Ref: https://github.com/microsoft/vscode/issues/105014#issuecomment-686760910 - // - // 2021-10-08: VSCode changed the format in 1.61. - // Before | ^zip:/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - // 2022-04-06: VSCode changed the format in 1.66. - // Before | ^/zip//c:/foo/bar.zip/package.json - // After | ^/zip/c:/foo/bar.zip/package.json - // - // 2022-05-06: VSCode changed the format in 1.68 - // Before | ^/zip/c:/foo/bar.zip/package.json - // After | ^/zip//c:/foo/bar.zip/package.json - // - case `vscode <1.61`: { - str = `^zip:${str}`; - } break; - - case `vscode <1.66`: { - str = `^/zip/${str}`; - } break; - - case `vscode <1.68`: { - str = `^/zip${str}`; - } break; - - case `vscode`: { - str = `^/zip/${str}`; - } break; - - // To make "go to definition" work, - // We have to resolve the actual file system path from virtual path - // and convert scheme to supported by [vim-rzip](https://github.com/lbrayner/vim-rzip) - case `coc-nvim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = resolve(`zipfile:${str}`); - } break; - - // Support neovim native LSP and [typescript-language-server](https://github.com/theia-ide/typescript-language-server) - // We have to resolve the actual file system path from virtual path, - // everything else is up to neovim - case `neovim`: { - str = normalize(resolved).replace(/\.zip\//, `.zip::`); - str = `zipfile://${str}`; - } break; - - default: { - str = `zip:${str}`; - } break; - } - } else { - str = str.replace(/^\/?/, process.platform === `win32` ? `` : `/`); - } - } - - return str; - } - - function fromEditorPath(str) { - switch (hostInfo) { - case `coc-nvim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for coc-nvim is in format of //zipfile://.yarn/... - // So in order to convert it back, we use .* to match all the thing - // before `zipfile:` - return process.platform === `win32` - ? str.replace(/^.*zipfile:\//, ``) - : str.replace(/^.*zipfile:/, ``); - } break; - - case `neovim`: { - str = str.replace(/\.zip::/, `.zip/`); - // The path for neovim is in format of zipfile:////.yarn/... - return str.replace(/^zipfile:\/\//, ``); - } break; - - case `vscode`: - default: { - return str.replace(/^\^?(zip:|\/zip(\/ts-nul-authority)?)\/+/, process.platform === `win32` ? `` : `/`) - } break; - } - } - - // Force enable 'allowLocalPluginLoads' - // TypeScript tries to resolve plugins using a path relative to itself - // which doesn't work when using the global cache - // https://github.com/microsoft/TypeScript/blob/1b57a0395e0bff191581c9606aab92832001de62/src/server/project.ts#L2238 - // VSCode doesn't want to enable 'allowLocalPluginLoads' due to security concerns but - // TypeScript already does local loads and if this code is running the user trusts the workspace - // https://github.com/microsoft/vscode/issues/45856 - const ConfiguredProject = tsserver.server.ConfiguredProject; - const {enablePluginsWithOptions: originalEnablePluginsWithOptions} = ConfiguredProject.prototype; - ConfiguredProject.prototype.enablePluginsWithOptions = function() { - this.projectService.allowLocalPluginLoads = true; - return originalEnablePluginsWithOptions.apply(this, arguments); - }; - - // And here is the point where we hijack the VSCode <-> TS communications - // by adding ourselves in the middle. We locate everything that looks - // like an absolute path of ours and normalize it. - - const Session = tsserver.server.Session; - const {onMessage: originalOnMessage, send: originalSend} = Session.prototype; - let hostInfo = `unknown`; - - Object.assign(Session.prototype, { - onMessage(/** @type {string | object} */ message) { - const isStringMessage = typeof message === 'string'; - const parsedMessage = isStringMessage ? JSON.parse(message) : message; - - if ( - parsedMessage != null && - typeof parsedMessage === `object` && - parsedMessage.arguments && - typeof parsedMessage.arguments.hostInfo === `string` - ) { - hostInfo = parsedMessage.arguments.hostInfo; - if (hostInfo === `vscode` && process.env.VSCODE_IPC_HOOK) { - const [, major, minor] = (process.env.VSCODE_IPC_HOOK.match( - // The RegExp from https://semver.org/ but without the caret at the start - /(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/ - ) ?? []).map(Number) - - if (major === 1) { - if (minor < 61) { - hostInfo += ` <1.61`; - } else if (minor < 66) { - hostInfo += ` <1.66`; - } else if (minor < 68) { - hostInfo += ` <1.68`; - } - } - } - } - - const processedMessageJSON = JSON.stringify(parsedMessage, (key, value) => { - return typeof value === 'string' ? fromEditorPath(value) : value; - }); - - return originalOnMessage.call( - this, - isStringMessage ? processedMessageJSON : JSON.parse(processedMessageJSON) - ); - }, - - send(/** @type {any} */ msg) { - return originalSend.call(this, JSON.parse(JSON.stringify(msg, (key, value) => { - return typeof value === `string` ? toEditorPath(value) : value; - }))); - } - }); - - return tsserver; -}; - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript/lib/tsserverlibrary.js - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript/lib/tsserverlibrary.js your application uses -module.exports = moduleWrapper(absRequire(`typescript/lib/tsserverlibrary.js`)); diff --git a/.yarn/sdks/typescript/lib/typescript.js b/.yarn/sdks/typescript/lib/typescript.js deleted file mode 100644 index b5f4db25b..000000000 --- a/.yarn/sdks/typescript/lib/typescript.js +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env node - -const {existsSync} = require(`fs`); -const {createRequire} = require(`module`); -const {resolve} = require(`path`); - -const relPnpApiPath = "../../../../.pnp.cjs"; - -const absPnpApiPath = resolve(__dirname, relPnpApiPath); -const absRequire = createRequire(absPnpApiPath); - -if (existsSync(absPnpApiPath)) { - if (!process.versions.pnp) { - // Setup the environment to be able to require typescript - require(absPnpApiPath).setup(); - } -} - -// Defer to the real typescript your application uses -module.exports = absRequire(`typescript`); diff --git a/.yarn/sdks/typescript/package.json b/.yarn/sdks/typescript/package.json deleted file mode 100644 index eb7dd745b..000000000 --- a/.yarn/sdks/typescript/package.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "name": "typescript", - "version": "5.3.3-sdk", - "main": "./lib/typescript.js", - "type": "commonjs", - "bin": { - "tsc": "./bin/tsc", - "tsserver": "./bin/tsserver" - } -} diff --git a/.yarnrc.yml b/.yarnrc.yml new file mode 100644 index 000000000..3186f3f07 --- /dev/null +++ b/.yarnrc.yml @@ -0,0 +1 @@ +nodeLinker: node-modules diff --git a/data/mcouniverse.cnf b/data/mcouniverse.cnf new file mode 100644 index 000000000..69f6ce70c --- /dev/null +++ b/data/mcouniverse.cnf @@ -0,0 +1,21 @@ +[req] +req_extensions = v3_req +prompt = no +distinguished_name = dn + +[dn] +CN = mcouniverse.com +emailAddress = admin@mcouniverse.com +O = MCOUniverse +L = New York +C = US + +[ v3_req ] +basicConstraints=CA:TRUE +subjectAltName = critical, @alt_names +extendedKeyUsage=serverAuth,clientAuth + +# List of all the other DNS names that the certificate should work for. +# alt_names is a name of my own invention +[ alt_names ] +DNS.1 = localhost \ No newline at end of file diff --git a/data/mcouniverse.crt b/data/mcouniverse.crt new file mode 100644 index 000000000..1d72b187c --- /dev/null +++ b/data/mcouniverse.crt @@ -0,0 +1,17 @@ +-----BEGIN CERTIFICATE----- +MIICvTCCAiagAwIBAgIUR8C7hExU+43EnLwJlyAdlZv1GqIwDQYJKoZIhvcNAQEL +BQAwdjEYMBYGA1UEAwwPbWNvdW5pdmVyc2UuY29tMSQwIgYJKoZIhvcNAQkBFhVh +ZG1pbkBtY291bml2ZXJzZS5jb20xFDASBgNVBAoMC01DT1VuaXZlcnNlMREwDwYD +VQQHDAhOZXcgWW9yazELMAkGA1UEBhMCVVMwHhcNMjEwNjI0MTQzNjIwWhcNMjIw +NjI0MTQzNjIwWjB2MRgwFgYDVQQDDA9tY291bml2ZXJzZS5jb20xJDAiBgkqhkiG +9w0BCQEWFWFkbWluQG1jb3VuaXZlcnNlLmNvbTEUMBIGA1UECgwLTUNPVW5pdmVy +c2UxETAPBgNVBAcMCE5ldyBZb3JrMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0B +AQEFAAOBjQAwgYkCgYEAxNvfXeZ6BlE6mM+MLy6N3ger4hzrjtg+d5bAWcSCUHKa +A354rRyGWGXmeUN6e7IVrKqtnF45DOZyxU2rVTVmUMcYUPYzbEuLk2OASSaJKm+O +Jf+SbxdVC4HTYcorzpvMRSg8eAVS6lbXbThXQv6e+50tR73YDyPFnZ7kyAabzrkC +AwEAAaNIMEYwDAYDVR0TBAUwAwEB/zAXBgNVHREBAf8EDTALgglsb2NhbGhvc3Qw +HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4GB +ALk8ZaOFZBZbDBxlXTynf5vzt30mpDIlJ8RLUQ/F2GzRU9O7bVAQb5utwUDegQst +c08JsrN5XHcEQf87AdM4e/Q/MlQjNu1TClUNXjdPYQfmWMzz1QXwTt3GjJA0n3I7 +ZdYLWVNyu9cZfoDJCqZm2VYPHMmCMgIZpHjvetFaXb3G +-----END CERTIFICATE----- diff --git a/data/private_key.pem b/data/private_key.pem new file mode 100644 index 000000000..5347b79cd --- /dev/null +++ b/data/private_key.pem @@ -0,0 +1,16 @@ +-----BEGIN PRIVATE KEY----- +MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMTb313megZROpjP +jC8ujd4Hq+Ic647YPneWwFnEglBymgN+eK0chlhl5nlDenuyFayqrZxeOQzmcsVN +q1U1ZlDHGFD2M2xLi5NjgEkmiSpvjiX/km8XVQuB02HKK86bzEUoPHgFUupW1204 +V0L+nvudLUe92A8jxZ2e5MgGm865AgMBAAECgYEAn/wEqp5dOvcWxQufZNTTzMa1 +RLy2H0/UbIIibpHKSjDow8AruJw+/mZKCPDzAMX44WuQTk0w1jAOxBRcEpKkQ8JF +Tt/XAppo5b2BOpNQNDad+mQwhwXEHPwLaM+INo5BJkwzN+rw5FwARqyd2gKyweHk +4btT8pTNfCWh/VZiQoECQQDr3IMPvqB1/HLhCpDCPSM5682cWu+FnUxz55Ob2wR8 +ESbLeYk+Oj0FHHx8RLI/GIjSGHzAHxaK/JxdLfs8CGZpAkEA1arWyC43FblFE18p +s+61AmBj4kq7pPyHXr7iZb1L2YJU7Jz/xdaHPNt2fHXk2FyRAQG2fYPXGy+K6PdB +ajY70QJAN8s3Ga9fZ+mrBz8nlTs/LQFx5w2/4VyfbD+YtGKwAeVQxwteAuFl8+KU +NBVQEQrtur1eLVhtTb2KA6TP7JiUGQJARrEuPK7ltL9GdmFO1+RLaQzhHzagnLac +RyGaoBSgKsevN1W+XgNbXSwzKHyNCXSe2Rlq+l4LZkg1ilx7/RsScQJBAMAQhb94 +CUPD1a2t9Xp6FqFEqgCLgnQb/xqCR4Cjnms/EGEjBG7GRbeV7tO18/SGHotCPdMh +l2448aVdXShjbJ8= +-----END PRIVATE KEY----- diff --git a/data/pub.key b/data/pub.key new file mode 100644 index 000000000..36919d198 --- /dev/null +++ b/data/pub.key @@ -0,0 +1 @@ +30819f300d06092a864886f70d010101050003818d0030818902818100c4dbdf5de67a06513a98cf8c2f2e8dde07abe21ceb8ed83e7796c059c48250729a037e78ad1c865865e679437a7bb215acaaad9c5e390ce672c54dab55356650c71850f6336c4b8b9363804926892a6f8e25ff926f17550b81d361ca2bce9bcc45283c780552ea56d76d385742fe9efb9d2d47bdd80f23c59d9ee4c8069bceb90203010001 \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 000000000..e5dbda879 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6092 @@ +{ + "name": "rusty-motors", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "rusty-motors", + "version": "1.0.0", + "license": "AGPL-3.0", + "workspaces": [ + "thebeast" + ], + "dependencies": { + "slonik": "29" + }, + "devDependencies": { + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "prettier": "3.2.4", + "typescript": "^5.3.3", + "vitest": "^1.3.1" + } + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.23.4", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.9", + "dev": true, + "license": "MIT", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.9", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "dev": true, + "license": "MIT" + }, + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "license": "MIT", + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.12", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "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/regexpp": { + "version": "4.10.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.4", + "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" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/js": { + "version": "8.56.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@fastify/ajv-compiler": { + "version": "3.5.0", + "license": "MIT", + "dependencies": { + "ajv": "^8.11.0", + "ajv-formats": "^2.1.1", + "fast-uri": "^2.0.0" + } + }, + "node_modules/@fastify/ajv-compiler/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/@fastify/error": { + "version": "3.4.1", + "license": "MIT" + }, + "node_modules/@fastify/fast-json-stringify-compiler": { + "version": "4.3.0", + "license": "MIT", + "dependencies": { + "fast-json-stringify": "^5.7.0" + } + }, + "node_modules/@fastify/merge-json-schemas": { + "version": "0.1.1", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/@fastify/sensible": { + "version": "5.5.0", + "license": "MIT", + "dependencies": { + "@lukeed/ms": "^2.0.1", + "fast-deep-equal": "^3.1.1", + "fastify-plugin": "^4.0.0", + "forwarded": "^0.2.0", + "http-errors": "^2.0.0", + "type-is": "^1.6.18", + "vary": "^1.1.2" + } + }, + "node_modules/@gar/promisify": { + "version": "1.1.3", + "license": "MIT", + "optional": true + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.14", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@humanwhocodes/object-schema": "^2.0.2", + "debug": "^4.3.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "2.0.2", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jest/schemas": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/source-map": { + "version": "0.3.5", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@jsdoc/salty": { + "version": "0.2.7", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "lodash": "^4.17.21" + }, + "engines": { + "node": ">=v12.0.0" + } + }, + "node_modules/@lukeed/ms": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "dev": true, + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@npmcli/fs": { + "version": "1.1.1", + "license": "ISC", + "optional": true, + "dependencies": { + "@gar/promisify": "^1.0.1", + "semver": "^7.3.5" + } + }, + "node_modules/@npmcli/move-file": { + "version": "1.1.2", + "license": "MIT", + "optional": true, + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@pkgr/core": { + "version": "0.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.12.0", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.12.0", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rushstack/node-core-library": { + "version": "4.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fs-extra": "~7.0.1", + "import-lazy": "~4.0.0", + "jju": "~1.4.0", + "resolve": "~1.22.1", + "semver": "~7.5.4", + "z-schema": "~5.0.2" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/terminal": { + "version": "0.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/node-core-library": "4.0.2", + "colors": "~1.2.1" + }, + "peerDependencies": { + "@types/node": "*" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@rushstack/ts-command-line": { + "version": "4.17.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/terminal": "0.9.0", + "@types/argparse": "1.0.38", + "argparse": "~1.0.9", + "string-argv": "~0.3.1" + } + }, + "node_modules/@rusty-motors/thebeast": { + "resolved": "thebeast", + "link": true + }, + "node_modules/@sentry-internal/tracing": { + "version": "7.102.1", + "license": "MIT", + "dependencies": { + "@sentry/core": "7.102.1", + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/cli": { + "version": "2.28.6", + "dev": true, + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "https-proxy-agent": "^5.0.0", + "node-fetch": "^2.6.7", + "progress": "^2.0.3", + "proxy-from-env": "^1.1.0", + "which": "^2.0.2" + }, + "bin": { + "sentry-cli": "bin/sentry-cli" + }, + "engines": { + "node": ">= 10" + }, + "optionalDependencies": { + "@sentry/cli-darwin": "2.28.6", + "@sentry/cli-linux-arm": "2.28.6", + "@sentry/cli-linux-arm64": "2.28.6", + "@sentry/cli-linux-i686": "2.28.6", + "@sentry/cli-linux-x64": "2.28.6", + "@sentry/cli-win32-i686": "2.28.6", + "@sentry/cli-win32-x64": "2.28.6" + } + }, + "node_modules/@sentry/cli-linux-x64": { + "version": "2.28.6", + "cpu": [ + "x64" + ], + "dev": true, + "license": "BSD-3-Clause", + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/core": { + "version": "7.102.1", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/node": { + "version": "7.102.1", + "license": "MIT", + "dependencies": { + "@sentry-internal/tracing": "7.102.1", + "@sentry/core": "7.102.1", + "@sentry/types": "7.102.1", + "@sentry/utils": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/profiling-node": { + "version": "7.102.1", + "hasInstallScript": true, + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.2", + "node-abi": "^3.52.0" + }, + "bin": { + "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/@sentry/types": { + "version": "7.102.1", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@sentry/utils": { + "version": "7.102.1", + "license": "MIT", + "dependencies": { + "@sentry/types": "7.102.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/@sinclair/typebox": { + "version": "0.27.8", + "dev": true, + "license": "MIT" + }, + "node_modules/@slonik/migrator": { + "version": "0.12.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@rushstack/ts-command-line": "^4.11.0", + "umzug": "^3.1.1" + }, + "peerDependencies": { + "slonik": "27 - 29" + } + }, + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@tsconfig/node-lts": { + "version": "20.1.1", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "license": "MIT" + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "license": "MIT" + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "license": "MIT" + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.4", + "license": "MIT" + }, + "node_modules/@tsconfig/node20": { + "version": "20.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/argparse": { + "version": "1.0.38", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/chai": { + "version": "4.3.11", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/connect": { + "version": "3.4.38", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.56.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "1.0.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "20.11.20", + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/pg": { + "version": "8.11.0", + "license": "MIT", + "dependencies": { + "@types/node": "*", + "pg-protocol": "*", + "pg-types": "^4.0.1" + } + }, + "node_modules/@types/pg/node_modules/pg-types": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.1.0", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@types/pg/node_modules/postgres-bytea": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "obuf": "~1.1.2" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/@types/pg/node_modules/postgres-date": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/pg/node_modules/postgres-interval": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/@types/semver": { + "version": "7.5.7", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/sinon": { + "version": "17.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/sinonjs__fake-timers": "*" + } + }, + "node_modules/@types/sinon-chai": { + "version": "3.2.12", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/chai": "*", + "@types/sinon": "*" + } + }, + "node_modules/@types/sinonjs__fake-timers": { + "version": "8.1.5", + "dev": true, + "license": "MIT" + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/type-utils": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", + "natural-compare": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/parser": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/scope-manager": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/type-utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/typescript-estree": "6.21.0", + "@typescript-eslint/utils": "6.21.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/types": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@typescript-eslint/typescript-estree": { + "version": "6.21.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/visitor-keys": "6.21.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "minimatch": "9.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@typescript-eslint/utils": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.21.0", + "@typescript-eslint/types": "6.21.0", + "@typescript-eslint/typescript-estree": "6.21.0", + "semver": "^7.5.4" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^7.0.0 || ^8.0.0" + } + }, + "node_modules/@typescript-eslint/visitor-keys": { + "version": "6.21.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/types": "6.21.0", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^16.0.0 || >=18.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "dev": true, + "license": "ISC" + }, + "node_modules/@vitest/coverage-v8": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@bcoe/v8-coverage": "^0.2.3", + "debug": "^4.3.4", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.1.6", + "magic-string": "^0.30.5", + "magicast": "^0.3.3", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "test-exclude": "^6.0.0", + "v8-to-istanbul": "^9.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "vitest": "1.3.1" + } + }, + "node_modules/@vitest/expect": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "chai": "^4.3.10" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "@vitest/utils": "1.3.1", + "p-limit": "^5.0.0", + "pathe": "^1.1.1" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/runner/node_modules/p-limit": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/runner/node_modules/yocto-queue": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@vitest/snapshot": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/spy": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "tinyspy": "^2.2.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/@vitest/utils": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "diff-sequences": "^29.6.3", + "estree-walker": "^3.0.3", + "loupe": "^2.3.7", + "pretty-format": "^29.7.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/abbrev": { + "version": "1.1.1", + "license": "ISC", + "optional": true + }, + "node_modules/abort-controller": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "event-target-shim": "^5.0.0" + }, + "engines": { + "node": ">=6.5" + } + }, + "node_modules/abstract-logging": { + "version": "2.0.1", + "license": "MIT" + }, + "node_modules/acorn": { + "version": "8.11.3", + "license": "MIT", + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "dev": true, + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.2", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/agent-base": { + "version": "6.0.2", + "devOptional": true, + "license": "MIT", + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/agentkeepalive": { + "version": "4.5.0", + "license": "MIT", + "optional": true, + "dependencies": { + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "license": "MIT", + "optional": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "license": "ISC", + "optional": true + }, + "node_modules/archy": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "license": "ISC", + "optional": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "optional": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "4.1.3", + "license": "MIT" + }, + "node_modules/argparse": { + "version": "1.0.10", + "dev": true, + "license": "MIT", + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/array-union": { + "version": "2.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/assertion-error": { + "version": "1.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/atomic-sleep": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/avvio": { + "version": "8.3.0", + "license": "MIT", + "dependencies": { + "@fastify/error": "^3.3.0", + "archy": "^1.0.0", + "debug": "^4.0.0", + "fastq": "^1.17.1" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "devOptional": true, + "license": "MIT" + }, + "node_modules/base64-js": { + "version": "1.5.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/bindings": { + "version": "1.5.0", + "license": "MIT", + "dependencies": { + "file-uri-to-path": "1.0.0" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "license": "MIT", + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/buffer": { + "version": "5.7.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "license": "MIT" + }, + "node_modules/boolean": { + "version": "3.2.0", + "license": "MIT" + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "6.0.3", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.2.1" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/buffer-writer": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/bufferput": { + "version": "0.1.3", + "license": "MIT/X11", + "engines": { + "node": ">=0.3.0" + } + }, + "node_modules/cac": { + "version": "6.7.14", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cacache": { + "version": "15.3.0", + "license": "ISC", + "optional": true, + "dependencies": { + "@npmcli/fs": "^1.0.0", + "@npmcli/move-file": "^1.0.1", + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "infer-owner": "^1.0.4", + "lru-cache": "^6.0.0", + "minipass": "^3.1.1", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^1.0.3", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^8.0.1", + "tar": "^6.0.2", + "unique-filename": "^1.1.1" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/catharsis": { + "version": "0.9.0", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.15" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/chai": { + "version": "4.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "assertion-error": "^1.1.0", + "check-error": "^1.0.3", + "deep-eql": "^4.1.3", + "get-func-name": "^2.0.2", + "loupe": "^2.3.6", + "pathval": "^1.1.1", + "type-detect": "^4.0.8" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk": { + "version": "4.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/check-error": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.2" + }, + "engines": { + "node": "*" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/color-support": { + "version": "1.1.3", + "license": "ISC", + "optional": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "license": "MIT" + }, + "node_modules/colors": { + "version": "1.2.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true + }, + "node_modules/common-tags": { + "version": "1.8.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "devOptional": true, + "license": "MIT" + }, + "node_modules/concat-stream": { + "version": "2.0.0", + "engines": [ + "node >= 6.0" + ], + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "node_modules/concat-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/console-control-strings": { + "version": "1.1.0", + "license": "ISC", + "optional": true + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "license": "MIT" + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/dateformat": { + "version": "4.6.3", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.3.4", + "license": "MIT", + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decompress-response": { + "version": "6.0.0", + "license": "MIT", + "dependencies": { + "mimic-response": "^3.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/deep-eql": { + "version": "4.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "type-detect": "^4.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/deep-extend": { + "version": "0.6.0", + "license": "MIT", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "dev": true, + "license": "MIT" + }, + "node_modules/delegates": { + "version": "1.0.0", + "license": "MIT", + "optional": true + }, + "node_modules/depd": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/detect-libc": { + "version": "2.0.2", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/diff": { + "version": "4.0.2", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "dev": true, + "license": "MIT", + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "dev": true, + "license": "MIT" + }, + "node_modules/doctrine": { + "version": "3.0.0", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/emittery": { + "version": "0.13.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "license": "MIT", + "optional": true + }, + "node_modules/encoding": { + "version": "0.1.13", + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/end-of-stream": { + "version": "1.4.4", + "license": "MIT", + "dependencies": { + "once": "^1.4.0" + } + }, + "node_modules/entities": { + "version": "2.1.0", + "dev": true, + "license": "BSD-2-Clause", + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "license": "MIT", + "optional": true + }, + "node_modules/es6-error": { + "version": "4.1.1", + "license": "MIT" + }, + "node_modules/esbuild": { + "version": "0.19.12", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.12", + "@esbuild/android-arm": "0.19.12", + "@esbuild/android-arm64": "0.19.12", + "@esbuild/android-x64": "0.19.12", + "@esbuild/darwin-arm64": "0.19.12", + "@esbuild/darwin-x64": "0.19.12", + "@esbuild/freebsd-arm64": "0.19.12", + "@esbuild/freebsd-x64": "0.19.12", + "@esbuild/linux-arm": "0.19.12", + "@esbuild/linux-arm64": "0.19.12", + "@esbuild/linux-ia32": "0.19.12", + "@esbuild/linux-loong64": "0.19.12", + "@esbuild/linux-mips64el": "0.19.12", + "@esbuild/linux-ppc64": "0.19.12", + "@esbuild/linux-riscv64": "0.19.12", + "@esbuild/linux-s390x": "0.19.12", + "@esbuild/linux-x64": "0.19.12", + "@esbuild/netbsd-x64": "0.19.12", + "@esbuild/openbsd-x64": "0.19.12", + "@esbuild/sunos-x64": "0.19.12", + "@esbuild/win32-arm64": "0.19.12", + "@esbuild/win32-ia32": "0.19.12", + "@esbuild/win32-x64": "0.19.12" + } + }, + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/eslint": { + "version": "8.56.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.56.0", + "@humanwhocodes/config-array": "^0.11.13", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "@ungap/structured-clone": "^1.2.0", + "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.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "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" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-config-prettier": { + "version": "9.1.0", + "dev": true, + "license": "MIT", + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } + }, + "node_modules/eslint-plugin-prettier": { + "version": "5.1.2", + "dev": true, + "license": "MIT", + "dependencies": { + "prettier-linter-helpers": "^1.0.0", + "synckit": "^0.8.6" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint-plugin-prettier" + }, + "peerDependencies": { + "@types/eslint": ">=8.0.0", + "eslint": ">=8.0.0", + "eslint-config-prettier": "*", + "prettier": ">=3.0.0" + }, + "peerDependenciesMeta": { + "@types/eslint": { + "optional": true + }, + "eslint-config-prettier": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "7.2.2", + "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" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "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/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/espree": { + "version": "9.6.1", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/esquery": { + "version": "1.5.0", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "5.3.0", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/event-target-shim": { + "version": "5.0.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/events": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/execa": { + "version": "8.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^8.0.1", + "human-signals": "^5.0.0", + "is-stream": "^3.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^5.1.0", + "onetime": "^6.0.0", + "signal-exit": "^4.1.0", + "strip-final-newline": "^3.0.0" + }, + "engines": { + "node": ">=16.17" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/execa/node_modules/signal-exit": { + "version": "4.1.0", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/expand-template": { + "version": "2.0.3", + "license": "(MIT OR WTFPL)", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-content-type-parse": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/fast-copy": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/fast-decode-uri-component": { + "version": "1.0.1", + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "license": "MIT" + }, + "node_modules/fast-diff": { + "version": "1.3.0", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/fast-glob": { + "version": "3.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-json-stringify": { + "version": "5.12.0", + "license": "MIT", + "dependencies": { + "@fastify/merge-json-schemas": "^0.1.0", + "ajv": "^8.10.0", + "ajv-formats": "^2.1.1", + "fast-deep-equal": "^3.1.3", + "fast-uri": "^2.1.0", + "json-schema-ref-resolver": "^1.0.1", + "rfdc": "^1.2.0" + } + }, + "node_modules/fast-json-stringify/node_modules/ajv": { + "version": "8.12.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-printf": { + "version": "1.6.9", + "license": "BSD-3-Clause", + "dependencies": { + "boolean": "^3.1.4" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/fast-querystring": { + "version": "1.1.2", + "license": "MIT", + "dependencies": { + "fast-decode-uri-component": "^1.0.1" + } + }, + "node_modules/fast-redact": { + "version": "3.3.0", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fast-safe-stringify": { + "version": "2.1.1", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "2.3.0", + "license": "MIT" + }, + "node_modules/fastify": { + "version": "4.26.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "MIT", + "dependencies": { + "@fastify/ajv-compiler": "^3.5.0", + "@fastify/error": "^3.4.0", + "@fastify/fast-json-stringify-compiler": "^4.3.0", + "abstract-logging": "^2.0.1", + "avvio": "^8.3.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^8.0.0", + "light-my-request": "^5.11.0", + "pino": "^8.17.0", + "process-warning": "^3.0.0", + "proxy-addr": "^2.0.7", + "rfdc": "^1.3.0", + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" + } + }, + "node_modules/fastify-plugin": { + "version": "4.5.1", + "license": "MIT" + }, + "node_modules/fastq": { + "version": "1.17.1", + "license": "ISC", + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/file-uri-to-path": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fill-range": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-my-way": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-querystring": "^1.0.0", + "safe-regex2": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "3.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flatted": { + "version": "3.3.1", + "dev": true, + "license": "ISC" + }, + "node_modules/forwarded": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-constants": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/fs-extra": { + "version": "7.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "2.1.0", + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "devOptional": true, + "license": "ISC" + }, + "node_modules/function-bind": { + "version": "1.1.2", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gauge": { + "version": "4.0.4", + "license": "ISC", + "optional": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/get-func-name": { + "version": "2.0.2", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/get-stack-trace": { + "version": "2.1.1", + "dependencies": { + "bluebird": "^3.7.1", + "source-map": "^0.8.0-beta.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/get-stack-trace/node_modules/source-map": { + "version": "0.8.0-beta.0", + "license": "BSD-3-Clause", + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/get-stack-trace/node_modules/tr46": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/get-stack-trace/node_modules/webidl-conversions": { + "version": "4.0.2", + "license": "BSD-2-Clause" + }, + "node_modules/get-stack-trace/node_modules/whatwg-url": { + "version": "7.1.0", + "license": "MIT", + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/get-stream": { + "version": "8.0.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-tsconfig": { + "version": "4.7.2", + "dev": true, + "license": "MIT", + "dependencies": { + "resolve-pkg-maps": "^1.0.0" + }, + "funding": { + "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" + } + }, + "node_modules/github-from-package": { + "version": "0.0.0", + "license": "MIT" + }, + "node_modules/glob": { + "version": "7.2.3", + "devOptional": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "6.0.2", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "1.1.11", + "devOptional": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "devOptional": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/globals": { + "version": "13.24.0", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "devOptional": true, + "license": "ISC" + }, + "node_modules/graphemer": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-unicode": { + "version": "2.0.1", + "license": "ISC", + "optional": true + }, + "node_modules/hasown": { + "version": "2.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/help-me": { + "version": "5.0.0", + "license": "MIT" + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "license": "BSD-2-Clause", + "optional": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy-agent": { + "version": "4.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "@tootallnate/once": "1", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/https-proxy-agent": { + "version": "5.0.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/human-signals": { + "version": "5.0.0", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": ">=16.17.0" + } + }, + "node_modules/humanize-ms": { + "version": "1.2.1", + "license": "MIT", + "optional": true, + "dependencies": { + "ms": "^2.0.0" + } + }, + "node_modules/hyperid": { + "version": "2.3.1", + "license": "MIT", + "dependencies": { + "uuid": "^8.3.2", + "uuid-parse": "^1.1.0" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "license": "MIT", + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/ignore": { + "version": "5.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-lazy": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/indent-string": { + "version": "4.0.0", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/infer-owner": { + "version": "1.0.4", + "license": "ISC", + "optional": true + }, + "node_modules/inflight": { + "version": "1.0.6", + "devOptional": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "license": "ISC" + }, + "node_modules/ini": { + "version": "1.3.8", + "license": "ISC" + }, + "node_modules/int64-buffer": { + "version": "0.99.1007", + "license": "MIT", + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/ip-address": { + "version": "9.0.5", + "license": "MIT", + "optional": true, + "dependencies": { + "jsbn": "1.1.0", + "sprintf-js": "^1.1.3" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/ip-address/node_modules/sprintf-js": { + "version": "1.1.3", + "license": "BSD-3-Clause", + "optional": true + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "license": "MIT", + "optional": true + }, + "node_modules/is-number": { + "version": "7.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-plain-object": { + "version": "5.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-stream": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "devOptional": true, + "license": "ISC" + }, + "node_modules/iso8601-duration": { + "version": "1.3.0", + "license": "MIT" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "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-source-maps": { + "version": "4.0.1", + "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-reports": { + "version": "3.1.7", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jju": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/joycon": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/js-tokens": { + "version": "8.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/js-yaml": { + "version": "4.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/js2xmlparser": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "xmlcreate": "^2.0.4" + } + }, + "node_modules/jsbn": { + "version": "1.1.0", + "license": "MIT", + "optional": true + }, + "node_modules/jsdoc": { + "version": "4.0.2", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@babel/parser": "^7.20.15", + "@jsdoc/salty": "^0.2.1", + "@types/markdown-it": "^12.2.3", + "bluebird": "^3.7.2", + "catharsis": "^0.9.0", + "escape-string-regexp": "^2.0.0", + "js2xmlparser": "^4.0.2", + "klaw": "^3.0.0", + "markdown-it": "^12.3.2", + "markdown-it-anchor": "^8.4.1", + "marked": "^4.0.10", + "mkdirp": "^1.0.4", + "requizzle": "^0.2.3", + "strip-json-comments": "^3.1.0", + "underscore": "~1.13.2" + }, + "bin": { + "jsdoc": "jsdoc.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/jsdoc/node_modules/escape-string-regexp": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/json-buffer": { + "version": "3.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-schema-ref-resolver": { + "version": "1.0.1", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3" + } + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "dev": true, + "license": "MIT" + }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonc-parser": { + "version": "3.2.1", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/keyv": { + "version": "4.5.4", + "dev": true, + "license": "MIT", + "dependencies": { + "json-buffer": "3.0.1" + } + }, + "node_modules/klaw": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.1.9" + } + }, + "node_modules/levn": { + "version": "0.4.1", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/light-my-request": { + "version": "5.11.1", + "license": "BSD-3-Clause", + "dependencies": { + "cookie": "^0.6.0", + "process-warning": "^2.0.0", + "set-cookie-parser": "^2.4.1" + } + }, + "node_modules/light-my-request/node_modules/process-warning": { + "version": "2.3.2", + "license": "MIT" + }, + "node_modules/linkify-it": { + "version": "3.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "uc.micro": "^1.0.1" + } + }, + "node_modules/local-pkg": { + "version": "0.5.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mlly": "^1.4.2", + "pkg-types": "^1.0.3" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/locate-path": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.get": { + "version": "4.4.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.isequal": { + "version": "4.5.0", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "license": "MIT" + }, + "node_modules/loglevel": { + "version": "1.9.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-colored-level-prefix": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^1.1.3", + "loglevel": "^1.4.1" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { + "version": "2.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { + "version": "1.1.3", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/escape-string-regexp": { + "version": "1.0.5", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": { + "version": "3.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/loupe": { + "version": "2.3.7", + "dev": true, + "license": "MIT", + "dependencies": { + "get-func-name": "^2.0.1" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/magic-string": { + "version": "0.30.7", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/magicast": { + "version": "0.3.3", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.23.6", + "@babel/types": "^7.23.6", + "source-map-js": "^1.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-error": { + "version": "1.3.6", + "license": "ISC" + }, + "node_modules/make-fetch-happen": { + "version": "9.1.0", + "license": "ISC", + "optional": true, + "dependencies": { + "agentkeepalive": "^4.1.3", + "cacache": "^15.2.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^6.0.0", + "minipass": "^3.1.3", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^1.3.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.2", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^6.0.0", + "ssri": "^8.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/markdown-it": { + "version": "12.3.2", + "dev": true, + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1", + "entities": "~2.1.0", + "linkify-it": "^3.0.1", + "mdurl": "^1.0.1", + "uc.micro": "^1.0.5" + }, + "bin": { + "markdown-it": "bin/markdown-it.js" + } + }, + "node_modules/markdown-it-anchor": { + "version": "8.6.7", + "dev": true, + "license": "Unlicense", + "peerDependencies": { + "@types/markdown-it": "*", + "markdown-it": "*" + } + }, + "node_modules/markdown-it/node_modules/argparse": { + "version": "2.0.1", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/marked": { + "version": "4.3.0", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 12" + } + }, + "node_modules/mdurl": { + "version": "1.0.1", + "dev": true, + "license": "MIT" + }, + "node_modules/media-typer": { + "version": "0.3.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "dev": true, + "license": "MIT" + }, + "node_modules/merge2": { + "version": "1.4.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/mimic-response": { + "version": "3.1.0", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "3.3.6", + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect": { + "version": "1.0.2", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-fetch": { + "version": "1.4.1", + "license": "MIT", + "optional": true, + "dependencies": { + "minipass": "^3.1.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.0.0" + }, + "engines": { + "node": ">=8" + }, + "optionalDependencies": { + "encoding": "^0.1.12" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minizlib": { + "version": "2.1.2", + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/mkdirp": { + "version": "1.0.4", + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/mkdirp-classic": { + "version": "0.5.3", + "license": "MIT" + }, + "node_modules/mlly": { + "version": "1.6.0", + "dev": true, + "license": "MIT", + "dependencies": { + "acorn": "^8.11.3", + "pathe": "^1.1.2", + "pkg-types": "^1.0.3", + "ufo": "^1.3.2" + } + }, + "node_modules/moment": { + "version": "2.30.1", + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "license": "MIT" + }, + "node_modules/multi-fork": { + "version": "0.0.2", + "license": "BSD" + }, + "node_modules/nanoid": { + "version": "3.3.7", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/napi-build-utils": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-abi": { + "version": "3.55.0", + "license": "MIT", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-addon-api": { + "version": "7.1.0", + "license": "MIT", + "engines": { + "node": "^16 || ^18 || >= 20" + } + }, + "node_modules/node-fetch": { + "version": "2.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, + "node_modules/node-gyp": { + "version": "8.4.1", + "license": "MIT", + "optional": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^9.1.0", + "nopt": "^5.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": ">= 10.12.0" + } + }, + "node_modules/nopt": { + "version": "5.0.0", + "license": "ISC", + "optional": true, + "dependencies": { + "abbrev": "1" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/npm-run-path": { + "version": "5.3.0", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path/node_modules/path-key": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "license": "ISC", + "optional": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "license": "MIT" + }, + "node_modules/on-exit-leak-free": { + "version": "2.1.2", + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/once": { + "version": "1.4.0", + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "6.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-fn": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "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" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-defer": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "dev": true, + "license": "MIT", + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-map": { + "version": "4.0.0", + "license": "MIT", + "optional": true, + "dependencies": { + "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/packet-reader": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/parent-module": { + "version": "1.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "dev": true, + "license": "MIT" + }, + "node_modules/path-type": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/pathe": { + "version": "1.1.2", + "dev": true, + "license": "MIT" + }, + "node_modules/pathval": { + "version": "1.1.1", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/pg": { + "version": "8.11.3", + "license": "MIT", + "dependencies": { + "buffer-writer": "2.0.0", + "packet-reader": "1.0.0", + "pg-connection-string": "^2.6.2", + "pg-pool": "^3.6.1", + "pg-protocol": "^1.6.0", + "pg-types": "^2.1.0", + "pgpass": "1.x" + }, + "engines": { + "node": ">= 8.0.0" + }, + "optionalDependencies": { + "pg-cloudflare": "^1.1.1" + }, + "peerDependencies": { + "pg-native": ">=3.0.1" + }, + "peerDependenciesMeta": { + "pg-native": { + "optional": true + } + } + }, + "node_modules/pg-cloudflare": { + "version": "1.1.1", + "license": "MIT", + "optional": true + }, + "node_modules/pg-connection-string": { + "version": "2.6.2", + "license": "MIT" + }, + "node_modules/pg-copy-streams": { + "version": "6.0.6", + "license": "MIT", + "dependencies": { + "obuf": "^1.1.2" + } + }, + "node_modules/pg-copy-streams-binary": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "bufferput": "^0.1.3", + "ieee754": "^1.1.13", + "int64-buffer": "^0.99.1007", + "multi-fork": "0.0.2", + "through2": "^3.0.1" + } + }, + "node_modules/pg-copy-streams-binary/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pg-copy-streams-binary/node_modules/through2": { + "version": "3.0.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/pg-cursor": { + "version": "2.10.3", + "license": "MIT", + "peerDependencies": { + "pg": "^8" + } + }, + "node_modules/pg-int8": { + "version": "1.0.1", + "license": "ISC", + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/pg-numeric": { + "version": "1.0.2", + "license": "ISC", + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-pool": { + "version": "3.6.1", + "license": "MIT", + "peerDependencies": { + "pg": ">=8.0" + } + }, + "node_modules/pg-protocol": { + "version": "1.6.0", + "license": "MIT" + }, + "node_modules/pg-query-stream": { + "version": "4.5.3", + "license": "MIT", + "dependencies": { + "pg-cursor": "^2.10.3" + }, + "peerDependencies": { + "pg": "^8" + } + }, + "node_modules/pg-types": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "postgres-array": "~2.0.0", + "postgres-bytea": "~1.0.0", + "postgres-date": "~1.0.4", + "postgres-interval": "^1.1.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-types/node_modules/postgres-array": { + "version": "2.0.0", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/pg-types/node_modules/postgres-interval": { + "version": "1.2.0", + "license": "MIT", + "dependencies": { + "xtend": "^4.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/pgpass": { + "version": "1.0.5", + "license": "MIT", + "dependencies": { + "split2": "^4.1.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "2.3.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pino": { + "version": "8.19.0", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0", + "fast-redact": "^3.1.1", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "v1.1.0", + "pino-std-serializers": "^6.0.0", + "process-warning": "^3.0.0", + "quick-format-unescaped": "^4.0.3", + "real-require": "^0.2.0", + "safe-stable-stringify": "^2.3.1", + "sonic-boom": "^3.7.0", + "thread-stream": "^2.0.0" + }, + "bin": { + "pino": "bin.js" + } + }, + "node_modules/pino-abstract-transport": { + "version": "1.1.0", + "license": "MIT", + "dependencies": { + "readable-stream": "^4.0.0", + "split2": "^4.0.0" + } + }, + "node_modules/pino-pretty": { + "version": "10.3.1", + "license": "MIT", + "dependencies": { + "colorette": "^2.0.7", + "dateformat": "^4.6.3", + "fast-copy": "^3.0.0", + "fast-safe-stringify": "^2.1.1", + "help-me": "^5.0.0", + "joycon": "^3.1.1", + "minimist": "^1.2.6", + "on-exit-leak-free": "^2.1.0", + "pino-abstract-transport": "^1.0.0", + "pump": "^3.0.0", + "readable-stream": "^4.0.0", + "secure-json-parse": "^2.4.0", + "sonic-boom": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "bin": { + "pino-pretty": "bin.js" + } + }, + "node_modules/pino-std-serializers": { + "version": "6.2.2", + "license": "MIT" + }, + "node_modules/pkg-types": { + "version": "1.0.3", + "dev": true, + "license": "MIT", + "dependencies": { + "jsonc-parser": "^3.2.0", + "mlly": "^1.2.0", + "pathe": "^1.1.0" + } + }, + "node_modules/pony-cause": { + "version": "2.1.10", + "dev": true, + "license": "0BSD", + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/postcss": { + "version": "8.4.35", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postgres-array": { + "version": "3.0.2", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/postgres-bytea": { + "version": "1.0.0", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-date": { + "version": "1.0.7", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/postgres-interval": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/postgres-range": { + "version": "1.1.4", + "license": "MIT" + }, + "node_modules/prebuild-install": { + "version": "7.1.1", + "license": "MIT", + "dependencies": { + "detect-libc": "^2.0.0", + "expand-template": "^2.0.3", + "github-from-package": "0.0.0", + "minimist": "^1.2.3", + "mkdirp-classic": "^0.5.3", + "napi-build-utils": "^1.0.1", + "node-abi": "^3.3.0", + "pump": "^3.0.0", + "rc": "^1.2.7", + "simple-get": "^4.0.0", + "tar-fs": "^2.0.0", + "tunnel-agent": "^0.6.0" + }, + "bin": { + "prebuild-install": "bin.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "3.2.4", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-eslint": { + "version": "16.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@typescript-eslint/parser": "^6.7.5", + "common-tags": "^1.4.0", + "dlv": "^1.1.0", + "eslint": "^8.7.0", + "indent-string": "^4.0.0", + "lodash.merge": "^4.6.0", + "loglevel-colored-level-prefix": "^1.0.0", + "prettier": "^3.0.1", + "pretty-format": "^29.7.0", + "require-relative": "^0.8.7", + "typescript": "^5.2.2", + "vue-eslint-parser": "^9.1.0" + }, + "engines": { + "node": ">=16.10.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/pretty-format": { + "version": "29.7.0", + "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", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/process": { + "version": "0.11.10", + "license": "MIT", + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-warning": { + "version": "3.0.0", + "license": "MIT" + }, + "node_modules/progress": { + "version": "2.0.3", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "license": "ISC", + "optional": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "license": "MIT", + "optional": true, + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "dev": true, + "license": "MIT" + }, + "node_modules/pump": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "node_modules/punycode": { + "version": "2.3.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "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" + } + ], + "license": "MIT" + }, + "node_modules/quick-format-unescaped": { + "version": "4.0.4", + "license": "MIT" + }, + "node_modules/rc": { + "version": "1.2.8", + "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "dependencies": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "bin": { + "rc": "cli.js" + } + }, + "node_modules/rc/node_modules/strip-json-comments": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-is": { + "version": "18.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/readable-stream": { + "version": "4.5.2", + "license": "MIT", + "dependencies": { + "abort-controller": "^3.0.0", + "buffer": "^6.0.3", + "events": "^3.3.0", + "process": "^0.11.10", + "string_decoder": "^1.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/real-require": { + "version": "0.2.0", + "license": "MIT", + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-relative": { + "version": "0.8.7", + "dev": true, + "license": "MIT" + }, + "node_modules/requizzle": { + "version": "0.2.4", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash": "^4.17.21" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-pkg-maps": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" + } + }, + "node_modules/ret": { + "version": "0.2.2", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "license": "MIT", + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rfdc": { + "version": "1.3.1", + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "devOptional": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/roarr": { + "version": "7.21.0", + "license": "BSD-3-Clause", + "dependencies": { + "fast-printf": "^1.6.9", + "safe-stable-stringify": "^2.4.3", + "semver-compare": "^1.0.0" + }, + "engines": { + "node": ">=18.0" + } + }, + "node_modules/rollup": { + "version": "4.12.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.12.0", + "@rollup/rollup-android-arm64": "4.12.0", + "@rollup/rollup-darwin-arm64": "4.12.0", + "@rollup/rollup-darwin-x64": "4.12.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", + "@rollup/rollup-linux-arm64-gnu": "4.12.0", + "@rollup/rollup-linux-arm64-musl": "4.12.0", + "@rollup/rollup-linux-riscv64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-gnu": "4.12.0", + "@rollup/rollup-linux-x64-musl": "4.12.0", + "@rollup/rollup-win32-arm64-msvc": "4.12.0", + "@rollup/rollup-win32-ia32-msvc": "4.12.0", + "@rollup/rollup-win32-x64-msvc": "4.12.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "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" + } + ], + "license": "MIT", + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex2": { + "version": "2.0.0", + "license": "MIT", + "dependencies": { + "ret": "~0.2.0" + } + }, + "node_modules/safe-stable-stringify": { + "version": "2.4.3", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "license": "MIT", + "optional": true + }, + "node_modules/secure-json-parse": { + "version": "2.7.0", + "license": "BSD-3-Clause" + }, + "node_modules/semver": { + "version": "7.5.4", + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver-compare": { + "version": "1.0.0", + "license": "MIT" + }, + "node_modules/serialize-error": { + "version": "8.1.0", + "license": "MIT", + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/set-blocking": { + "version": "2.0.0", + "license": "ISC", + "optional": true + }, + "node_modules/set-cookie-parser": { + "version": "2.6.0", + "license": "MIT" + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/short-unique-id": { + "version": "5.0.3", + "license": "Apache-2.0", + "bin": { + "short-unique-id": "bin/short-unique-id", + "suid": "bin/short-unique-id" + } + }, + "node_modules/siginfo": { + "version": "2.0.0", + "dev": true, + "license": "ISC" + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "license": "ISC", + "optional": true + }, + "node_modules/simple-concat": { + "version": "1.0.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/simple-get": { + "version": "4.0.1", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT", + "dependencies": { + "decompress-response": "^6.0.0", + "once": "^1.3.1", + "simple-concat": "^1.0.0" + } + }, + "node_modules/slash": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/slonik": { + "version": "29.2.0", + "license": "BSD-3-Clause", + "dependencies": { + "concat-stream": "^2.0.0", + "es6-error": "^4.1.1", + "fast-safe-stringify": "^2.1.1", + "get-stack-trace": "^2.1.1", + "hyperid": "^2.3.1", + "is-plain-object": "^5.0.0", + "iso8601-duration": "^1.3.0", + "p-defer": "^3.0.0", + "pg": "^8.7.3", + "pg-copy-streams": "^6.0.2", + "pg-copy-streams-binary": "^2.2.0", + "pg-cursor": "^2.7.3", + "pg-protocol": "^1.5.0", + "postgres-array": "^3.0.1", + "postgres-interval": "^4.0.0", + "roarr": "^7.11.0", + "serialize-error": "^8.0.0", + "through2": "^4.0.2" + }, + "engines": { + "node": ">=10.0" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks": { + "version": "2.8.1", + "license": "MIT", + "optional": true, + "dependencies": { + "ip-address": "^9.0.5", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "6.2.1", + "license": "MIT", + "optional": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/sonic-boom": { + "version": "3.8.0", + "license": "MIT", + "dependencies": { + "atomic-sleep": "^1.0.0" + } + }, + "node_modules/source-map": { + "version": "0.6.1", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "dev": true, + "license": "MIT", + "optional": true, + "peer": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/split2": { + "version": "4.2.0", + "license": "ISC", + "engines": { + "node": ">= 10.x" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/sqlite3": { + "version": "5.1.7", + "hasInstallScript": true, + "license": "BSD-3-Clause", + "dependencies": { + "bindings": "^1.5.0", + "node-addon-api": "^7.0.0", + "prebuild-install": "^7.1.1", + "tar": "^6.1.11" + }, + "optionalDependencies": { + "node-gyp": "8.x" + }, + "peerDependencies": { + "node-gyp": "8.x" + }, + "peerDependenciesMeta": { + "node-gyp": { + "optional": true + } + } + }, + "node_modules/ssri": { + "version": "8.0.1", + "license": "ISC", + "optional": true, + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/stackback": { + "version": "0.0.2", + "dev": true, + "license": "MIT" + }, + "node_modules/stacktrace-parser": { + "version": "0.1.10", + "license": "MIT", + "dependencies": { + "type-fest": "^0.7.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/stacktrace-parser/node_modules/type-fest": { + "version": "0.7.1", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/statuses": { + "version": "2.0.1", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.7.0", + "dev": true, + "license": "MIT" + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "license": "MIT", + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string-argv": { + "version": "0.3.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.19" + } + }, + "node_modules/string-width": { + "version": "4.2.3", + "license": "MIT", + "optional": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "3.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strip-literal": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "js-tokens": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/synckit": { + "version": "0.8.8", + "dev": true, + "license": "MIT", + "dependencies": { + "@pkgr/core": "^0.1.0", + "tslib": "^2.6.2" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/tar": { + "version": "6.2.0", + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar-fs": { + "version": "2.1.1", + "license": "MIT", + "dependencies": { + "chownr": "^1.1.1", + "mkdirp-classic": "^0.5.2", + "pump": "^3.0.0", + "tar-stream": "^2.1.4" + } + }, + "node_modules/tar-fs/node_modules/chownr": { + "version": "1.1.4", + "license": "ISC" + }, + "node_modules/tar-stream": { + "version": "2.2.0", + "license": "MIT", + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/terser": { + "version": "5.28.0", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "peer": true, + "dependencies": { + "@jridgewell/source-map": "^0.3.3", + "acorn": "^8.8.2", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "dev": true, + "license": "ISC", + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "1.1.11", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "3.1.2", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/text-table": { + "version": "0.2.0", + "dev": true, + "license": "MIT" + }, + "node_modules/thread-stream": { + "version": "2.4.1", + "license": "MIT", + "dependencies": { + "real-require": "^0.2.0" + } + }, + "node_modules/through2": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "readable-stream": "3" + } + }, + "node_modules/through2/node_modules/readable-stream": { + "version": "3.6.2", + "license": "MIT", + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tinybench": { + "version": "2.6.0", + "dev": true, + "license": "MIT" + }, + "node_modules/tinypool": { + "version": "0.8.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tinyspy": { + "version": "2.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toad-cache": { + "version": "3.7.0", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "0.0.3", + "dev": true, + "license": "MIT" + }, + "node_modules/ts-api-utils": { + "version": "1.2.1", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + }, + "peerDependencies": { + "typescript": ">=4.2.0" + } + }, + "node_modules/ts-node": { + "version": "10.9.2", + "license": "MIT", + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", + "arg": "^4.1.0", + "create-require": "^1.1.0", + "diff": "^4.0.1", + "make-error": "^1.1.1", + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.6.2", + "license": "0BSD" + }, + "node_modules/tsx": { + "version": "4.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.19.10", + "get-tsconfig": "^4.7.2" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tunnel-agent": { + "version": "0.6.0", + "license": "Apache-2.0", + "dependencies": { + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "dev": true, + "license": "MIT", + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-detect": { + "version": "4.0.8", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "1.6.18", + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typedarray": { + "version": "0.0.6", + "license": "MIT" + }, + "node_modules/typescript": { + "version": "5.3.3", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/typescript-eslint-language-service": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@typescript-eslint/parser": ">= 5.0.0", + "eslint": ">= 8.0.0", + "typescript": ">= 4.0.0" + } + }, + "node_modules/uc.micro": { + "version": "1.0.6", + "dev": true, + "license": "MIT" + }, + "node_modules/ufo": { + "version": "1.4.0", + "dev": true, + "license": "MIT" + }, + "node_modules/umzug": { + "version": "3.7.0", + "dev": true, + "license": "MIT", + "dependencies": { + "@rushstack/ts-command-line": "^4.12.2", + "emittery": "^0.13.0", + "glob": "^8.0.3", + "pony-cause": "^2.1.4", + "type-fest": "^4.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/umzug/node_modules/glob": { + "version": "8.1.0", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/umzug/node_modules/minimatch": { + "version": "5.1.6", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/umzug/node_modules/type-fest": { + "version": "4.10.3", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/underscore": { + "version": "1.13.6", + "dev": true, + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "5.26.5", + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "1.1.1", + "license": "ISC", + "optional": true, + "dependencies": { + "unique-slug": "^2.0.0" + } + }, + "node_modules/unique-slug": { + "version": "2.0.2", + "license": "ISC", + "optional": true, + "dependencies": { + "imurmurhash": "^0.1.4" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "license": "MIT" + }, + "node_modules/uuid": { + "version": "8.3.2", + "license": "MIT", + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/uuid-parse": { + "version": "1.1.0", + "license": "MIT" + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "license": "MIT" + }, + "node_modules/v8-to-istanbul": { + "version": "9.2.0", + "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/validator": { + "version": "13.11.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "5.1.4", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.35", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-node": { + "version": "1.3.1", + "dev": true, + "license": "MIT", + "dependencies": { + "cac": "^6.7.14", + "debug": "^4.3.4", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", + "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", + "dev": true, + "dependencies": { + "@vitest/expect": "1.3.1", + "@vitest/runner": "1.3.1", + "@vitest/snapshot": "1.3.1", + "@vitest/spy": "1.3.1", + "@vitest/utils": "1.3.1", + "acorn-walk": "^8.3.2", + "chai": "^4.3.10", + "debug": "^4.3.4", + "execa": "^8.0.1", + "local-pkg": "^0.5.0", + "magic-string": "^0.30.5", + "pathe": "^1.1.1", + "picocolors": "^1.0.0", + "std-env": "^3.5.0", + "strip-literal": "^2.0.0", + "tinybench": "^2.5.1", + "tinypool": "^0.8.2", + "vite": "^5.0.0", + "vite-node": "1.3.1", + "why-is-node-running": "^2.2.2" + }, + "bin": { + "vitest": "vitest.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + }, + "peerDependencies": { + "@edge-runtime/vm": "*", + "@types/node": "^18.0.0 || >=20.0.0", + "@vitest/browser": "1.3.1", + "@vitest/ui": "1.3.1", + "happy-dom": "*", + "jsdom": "*" + }, + "peerDependenciesMeta": { + "@edge-runtime/vm": { + "optional": true + }, + "@types/node": { + "optional": true + }, + "@vitest/browser": { + "optional": true + }, + "@vitest/ui": { + "optional": true + }, + "happy-dom": { + "optional": true + }, + "jsdom": { + "optional": true + } + } + }, + "node_modules/vue-eslint-parser": { + "version": "9.4.2", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.4", + "eslint-scope": "^7.1.1", + "eslint-visitor-keys": "^3.3.0", + "espree": "^9.3.1", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.6" + }, + "engines": { + "node": "^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "3.0.1", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/whatwg-url": { + "version": "5.0.0", + "dev": true, + "license": "MIT", + "dependencies": { + "tr46": "~0.0.3", + "webidl-conversions": "^3.0.0" + } + }, + "node_modules/which": { + "version": "2.0.2", + "devOptional": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/why-is-node-running": { + "version": "2.2.2", + "dev": true, + "license": "MIT", + "dependencies": { + "siginfo": "^2.0.0", + "stackback": "0.0.2" + }, + "bin": { + "why-is-node-running": "cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wide-align": { + "version": "1.1.5", + "license": "ISC", + "optional": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "license": "ISC" + }, + "node_modules/xmlcreate": { + "version": "2.0.4", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/xtend": { + "version": "4.0.2", + "license": "MIT", + "engines": { + "node": ">=0.4" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "license": "ISC" + }, + "node_modules/yn": { + "version": "3.1.1", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/z-schema": { + "version": "5.0.5", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.get": "^4.4.2", + "lodash.isequal": "^4.5.0", + "validator": "^13.7.0" + }, + "bin": { + "z-schema": "bin/z-schema" + }, + "engines": { + "node": ">=8.0.0" + }, + "optionalDependencies": { + "commander": "^9.4.1" + } + }, + "node_modules/z-schema/node_modules/commander": { + "version": "9.5.0", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": "^12.20.0 || >=14" + } + }, + "node_modules/zod": { + "version": "3.22.4", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "thebeast": { + "name": "@rusty-motors/thebeast", + "version": "1.0.0", + "license": "AGPL-3.0", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "^7.102.0", + "@sentry/profiling-node": "^7.102.0", + "@types/connect": "^3.4.38", + "fastify": "^4.25.2", + "moment": "^2.30.1", + "pino": "^8.18.0", + "pino-pretty": "^10.3.1", + "short-unique-id": "^5.0.3", + "slonik": "^37.2.0", + "sqlite3": "^5.1.7", + "ts-node": "10.9.2", + "tslib": "^2.6.2" + }, + "devDependencies": { + "@sentry/cli": "^2.23.2", + "@tsconfig/node-lts": "^20.1.1", + "@tsconfig/node20": "^20.1.2", + "@types/chai": "4.3.11", + "@types/node": "^20.10.6", + "@types/sinon": "17.0.3", + "@types/sinon-chai": "3.2.12", + "@typescript-eslint/eslint-plugin": "^6.17.0", + "@typescript-eslint/parser": "^6.17.0", + "@vitest/coverage-v8": "^1.1.1", + "eslint": "^8.56.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "5.1.2", + "jsdoc": "^4.0.2", + "prettier": "3.1.1", + "prettier-eslint": "16.2.0", + "tsx": "4.7.0", + "typescript": "^5.3.3", + "typescript-eslint-language-service": "^5.0.5", + "vitest": "^1.3.1", + "zod": "^3.22.4" + } + }, + "thebeast/node_modules/get-stack-trace": { + "version": "3.1.1", + "dependencies": { + "stacktrace-parser": "^0.1.10" + }, + "engines": { + "node": ">=18.0" + } + }, + "thebeast/node_modules/pg-types": { + "version": "4.0.2", + "license": "MIT", + "dependencies": { + "pg-int8": "1.0.1", + "pg-numeric": "1.0.2", + "postgres-array": "~3.0.1", + "postgres-bytea": "~3.0.0", + "postgres-date": "~2.1.0", + "postgres-interval": "^3.0.0", + "postgres-range": "^1.1.1" + }, + "engines": { + "node": ">=10" + } + }, + "thebeast/node_modules/pg-types/node_modules/postgres-interval": { + "version": "3.0.0", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "thebeast/node_modules/postgres-bytea": { + "version": "3.0.0", + "license": "MIT", + "dependencies": { + "obuf": "~1.1.2" + }, + "engines": { + "node": ">= 6" + } + }, + "thebeast/node_modules/postgres-date": { + "version": "2.1.0", + "license": "MIT", + "engines": { + "node": ">=12" + } + }, + "thebeast/node_modules/prettier": { + "version": "3.1.1", + "dev": true, + "license": "MIT", + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "thebeast/node_modules/slonik": { + "version": "37.2.0", + "license": "BSD-3-Clause", + "dependencies": { + "@types/pg": "^8.10.7", + "es6-error": "^4.1.1", + "get-stack-trace": "^3.1.1", + "iso8601-duration": "^1.3.0", + "pg": "^8.11.3", + "pg-protocol": "^1.6.0", + "pg-query-stream": "^4.5.3", + "pg-types": "^4.0.1", + "postgres-array": "^3.0.2", + "postgres-interval": "^4.0.1", + "roarr": "^7.18.3", + "safe-stable-stringify": "^2.4.3", + "serialize-error": "^8.0.0" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "zod": "^3" + } + } + } +} diff --git a/package.json b/package.json index c7719dbe3..cddac6d04 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "index.js", "type": "module", "scripts": { - "start": "clear && yarn workspace @rusty-motors/thebeast start", - "test": "clear && yarn workspace @rusty-motors/thebeast test" + "start": "clear && npm --workspace thebeast start", + "test": "clear && npm --workspace thebeast test" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -24,7 +24,7 @@ "@types/node": "^20.11.16", "prettier": "3.2.4", "typescript": "^5.3.3", - "vitest": "^1.2.2" + "vitest": "^1.3.1" }, "dependencies": { "slonik": "29" diff --git a/thebeast/lib/nps/messageStructs/MiniUserList.ts b/thebeast/lib/nps/messageStructs/MiniUserList.ts index a6fa6645a..1b40434a1 100644 --- a/thebeast/lib/nps/messageStructs/MiniUserList.ts +++ b/thebeast/lib/nps/messageStructs/MiniUserList.ts @@ -1,4 +1,3 @@ -import { e } from "vitest/dist/reporters-1evA5lom.js"; import { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; diff --git a/thebeast/package.json b/thebeast/package.json index 7effe898b..acbe4a6e4 100644 --- a/thebeast/package.json +++ b/thebeast/package.json @@ -10,7 +10,7 @@ "url": "git@github.com:drazisil/mcos.git" }, "scripts": { - "test": "yarn tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider $(yarn bin vitest) run --coverage packages lib", + "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider ../node_modules/.bin/vitest run --coverage packages lib", "prod": "make prod_node", "prod:stop": "docker-compose stop", "release": "standard-version --sign", @@ -58,7 +58,7 @@ "tsx": "4.7.0", "typescript": "^5.3.3", "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.1.1", + "vitest": "^1.3.1", "zod": "^3.22.4" }, "c8": { diff --git a/yarn.lock b/yarn.lock deleted file mode 100644 index 88b120f3c..000000000 --- a/yarn.lock +++ /dev/null @@ -1,6010 +0,0 @@ -# This file is generated by running "yarn install" inside your project. -# Manual changes might be lost - proceed with caution! - -__metadata: - version: 8 - cacheKey: 10c0 - -"@aashutoshrathi/word-wrap@npm:^1.2.3": - version: 1.2.6 - resolution: "@aashutoshrathi/word-wrap@npm:1.2.6" - checksum: 10c0/53c2b231a61a46792b39a0d43bc4f4f776bb4542aa57ee04930676802e5501282c2fc8aac14e4cd1f1120ff8b52616b6ff5ab539ad30aa2277d726444b71619f - languageName: node - linkType: hard - -"@ampproject/remapping@npm:^2.2.1": - version: 2.2.1 - resolution: "@ampproject/remapping@npm:2.2.1" - dependencies: - "@jridgewell/gen-mapping": "npm:^0.3.0" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/92ce5915f8901d8c7cd4f4e6e2fe7b9fd335a29955b400caa52e0e5b12ca3796ada7c2f10e78c9c5b0f9c2539dff0ffea7b19850a56e1487aa083531e1e46d43 - languageName: node - linkType: hard - -"@babel/helper-string-parser@npm:^7.23.4": - version: 7.23.4 - resolution: "@babel/helper-string-parser@npm:7.23.4" - checksum: 10c0/f348d5637ad70b6b54b026d6544bd9040f78d24e7ec245a0fc42293968181f6ae9879c22d89744730d246ce8ec53588f716f102addd4df8bbc79b73ea10004ac - languageName: node - linkType: hard - -"@babel/helper-validator-identifier@npm:^7.22.20": - version: 7.22.20 - resolution: "@babel/helper-validator-identifier@npm:7.22.20" - checksum: 10c0/dcad63db345fb110e032de46c3688384b0008a42a4845180ce7cd62b1a9c0507a1bed727c4d1060ed1a03ae57b4d918570259f81724aaac1a5b776056f37504e - languageName: node - linkType: hard - -"@babel/parser@npm:^7.20.15, @babel/parser@npm:^7.23.6": - version: 7.23.9 - resolution: "@babel/parser@npm:7.23.9" - bin: - parser: ./bin/babel-parser.js - checksum: 10c0/7df97386431366d4810538db4b9ec538f4377096f720c0591c7587a16f6810e62747e9fbbfa1ff99257fd4330035e4fb1b5b77c7bd3b97ce0d2e3780a6618975 - languageName: node - linkType: hard - -"@babel/types@npm:^7.23.6, @babel/types@npm:^7.8.3": - version: 7.23.9 - resolution: "@babel/types@npm:7.23.9" - dependencies: - "@babel/helper-string-parser": "npm:^7.23.4" - "@babel/helper-validator-identifier": "npm:^7.22.20" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/edc7bb180ce7e4d2aea10c6972fb10474341ac39ba8fdc4a27ffb328368dfdfbf40fca18e441bbe7c483774500d5c05e222cec276c242e952853dcaf4eb884f7 - languageName: node - linkType: hard - -"@bcoe/v8-coverage@npm:^0.2.3": - version: 0.2.3 - resolution: "@bcoe/v8-coverage@npm:0.2.3" - checksum: 10c0/6b80ae4cb3db53f486da2dc63b6e190a74c8c3cca16bb2733f234a0b6a9382b09b146488ae08e2b22cf00f6c83e20f3e040a2f7894f05c045c946d6a090b1d52 - languageName: node - linkType: hard - -"@cspotcode/source-map-support@npm:^0.8.0": - version: 0.8.1 - resolution: "@cspotcode/source-map-support@npm:0.8.1" - dependencies: - "@jridgewell/trace-mapping": "npm:0.3.9" - checksum: 10c0/05c5368c13b662ee4c122c7bfbe5dc0b613416672a829f3e78bc49a357a197e0218d6e74e7c66cfcd04e15a179acab080bd3c69658c9fbefd0e1ccd950a07fc6 - languageName: node - linkType: hard - -"@esbuild/aix-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/aix-ppc64@npm:0.19.12" - conditions: os=aix & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/android-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm64@npm:0.19.12" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/android-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-arm@npm:0.19.12" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@esbuild/android-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/android-x64@npm:0.19.12" - conditions: os=android & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/darwin-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-arm64@npm:0.19.12" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/darwin-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/darwin-x64@npm:0.19.12" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/freebsd-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-arm64@npm:0.19.12" - conditions: os=freebsd & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/freebsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/freebsd-x64@npm:0.19.12" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/linux-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm64@npm:0.19.12" - conditions: os=linux & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/linux-arm@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-arm@npm:0.19.12" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@esbuild/linux-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ia32@npm:0.19.12" - conditions: os=linux & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/linux-loong64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-loong64@npm:0.19.12" - conditions: os=linux & cpu=loong64 - languageName: node - linkType: hard - -"@esbuild/linux-mips64el@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-mips64el@npm:0.19.12" - conditions: os=linux & cpu=mips64el - languageName: node - linkType: hard - -"@esbuild/linux-ppc64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-ppc64@npm:0.19.12" - conditions: os=linux & cpu=ppc64 - languageName: node - linkType: hard - -"@esbuild/linux-riscv64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-riscv64@npm:0.19.12" - conditions: os=linux & cpu=riscv64 - languageName: node - linkType: hard - -"@esbuild/linux-s390x@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-s390x@npm:0.19.12" - conditions: os=linux & cpu=s390x - languageName: node - linkType: hard - -"@esbuild/linux-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/linux-x64@npm:0.19.12" - conditions: os=linux & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/netbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/netbsd-x64@npm:0.19.12" - conditions: os=netbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/openbsd-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/openbsd-x64@npm:0.19.12" - conditions: os=openbsd & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/sunos-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/sunos-x64@npm:0.19.12" - conditions: os=sunos & cpu=x64 - languageName: node - linkType: hard - -"@esbuild/win32-arm64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-arm64@npm:0.19.12" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@esbuild/win32-ia32@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-ia32@npm:0.19.12" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@esbuild/win32-x64@npm:0.19.12": - version: 0.19.12 - resolution: "@esbuild/win32-x64@npm:0.19.12" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" - dependencies: - eslint-visitor-keys: "npm:^3.3.0" - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e - languageName: node - linkType: hard - -"@eslint-community/regexpp@npm:^4.5.1, @eslint-community/regexpp@npm:^4.6.1": - version: 4.10.0 - resolution: "@eslint-community/regexpp@npm:4.10.0" - checksum: 10c0/c5f60ef1f1ea7649fa7af0e80a5a79f64b55a8a8fa5086de4727eb4c86c652aedee407a9c143b8995d2c0b2d75c1222bec9ba5d73dbfc1f314550554f0979ef4 - languageName: node - linkType: hard - -"@eslint/eslintrc@npm:^2.1.4": - version: 2.1.4 - resolution: "@eslint/eslintrc@npm:2.1.4" - dependencies: - ajv: "npm:^6.12.4" - debug: "npm:^4.3.2" - espree: "npm:^9.6.0" - globals: "npm:^13.19.0" - ignore: "npm:^5.2.0" - import-fresh: "npm:^3.2.1" - js-yaml: "npm:^4.1.0" - minimatch: "npm:^3.1.2" - strip-json-comments: "npm:^3.1.1" - checksum: 10c0/32f67052b81768ae876c84569ffd562491ec5a5091b0c1e1ca1e0f3c24fb42f804952fdd0a137873bc64303ba368a71ba079a6f691cee25beee9722d94cc8573 - languageName: node - linkType: hard - -"@eslint/js@npm:8.56.0": - version: 8.56.0 - resolution: "@eslint/js@npm:8.56.0" - checksum: 10c0/60b3a1cf240e2479cec9742424224465dc50e46d781da1b7f5ef240501b2d1202c225bd456207faac4b34a64f4765833345bc4ddffd00395e1db40fa8c426f5a - languageName: node - linkType: hard - -"@fastify/ajv-compiler@npm:^3.5.0": - version: 3.5.0 - resolution: "@fastify/ajv-compiler@npm:3.5.0" - dependencies: - ajv: "npm:^8.11.0" - ajv-formats: "npm:^2.1.1" - fast-uri: "npm:^2.0.0" - checksum: 10c0/d10df76b7016984bf70bc6aca99962468ec43e0be5772d4aa3a7735ae78be44fdbcb2c078fe0cfdffec076080dfb7cbdbf4b729e52b168039477126f9d023af0 - languageName: node - linkType: hard - -"@fastify/deepmerge@npm:^1.0.0": - version: 1.3.0 - resolution: "@fastify/deepmerge@npm:1.3.0" - checksum: 10c0/8115ed7b891189ee4ebba554a105cb69111615bdb2961f8c58a80872fac9d7b74b2c6317d545a7d378325d094ce73a91fc9c5d7d6189476779cd5a5493cb1351 - languageName: node - linkType: hard - -"@fastify/error@npm:^3.4.0": - version: 3.4.1 - resolution: "@fastify/error@npm:3.4.1" - checksum: 10c0/1f1a0faa8c86639afb6f4bd47a9cdc1f0f20ce0d6944340fbdec8218aaba91dc9cae9ed78e24e61bceb782a867efda2b9a6320091f00dcbb896d9c8a9bdf5f96 - languageName: node - linkType: hard - -"@fastify/fast-json-stringify-compiler@npm:^4.3.0": - version: 4.3.0 - resolution: "@fastify/fast-json-stringify-compiler@npm:4.3.0" - dependencies: - fast-json-stringify: "npm:^5.7.0" - checksum: 10c0/513ef296f5ed682f7a460cfa6c5fb917a32fc540111b873c9937f944558e021492b18f30f9fd8dd20db252381a4428adbcc9f03a077f16c86d02f081eb490c7b - languageName: node - linkType: hard - -"@fastify/sensible@npm:^5.5.0": - version: 5.5.0 - resolution: "@fastify/sensible@npm:5.5.0" - dependencies: - "@lukeed/ms": "npm:^2.0.1" - fast-deep-equal: "npm:^3.1.1" - fastify-plugin: "npm:^4.0.0" - forwarded: "npm:^0.2.0" - http-errors: "npm:^2.0.0" - type-is: "npm:^1.6.18" - vary: "npm:^1.1.2" - checksum: 10c0/7871d4d09e75f72f8b1564c99a38d28158d1eeb78830dd79160cc0c56c8870ade6bf504c6cc8cca4dcc7726b2b84be80a032f2cbeb0392a60f1466f9b13f9a1d - languageName: node - linkType: hard - -"@gar/promisify@npm:^1.0.1": - version: 1.1.3 - resolution: "@gar/promisify@npm:1.1.3" - checksum: 10c0/0b3c9958d3cd17f4add3574975e3115ae05dc7f1298a60810414b16f6f558c137b5fb3cd3905df380bacfd955ec13f67c1e6710cbb5c246a7e8d65a8289b2bff - languageName: node - linkType: hard - -"@humanwhocodes/config-array@npm:^0.11.13": - version: 0.11.14 - resolution: "@humanwhocodes/config-array@npm:0.11.14" - dependencies: - "@humanwhocodes/object-schema": "npm:^2.0.2" - debug: "npm:^4.3.1" - minimatch: "npm:^3.0.5" - checksum: 10c0/66f725b4ee5fdd8322c737cb5013e19fac72d4d69c8bf4b7feb192fcb83442b035b92186f8e9497c220e58b2d51a080f28a73f7899bc1ab288c3be172c467541 - languageName: node - linkType: hard - -"@humanwhocodes/module-importer@npm:^1.0.1": - version: 1.0.1 - resolution: "@humanwhocodes/module-importer@npm:1.0.1" - checksum: 10c0/909b69c3b86d482c26b3359db16e46a32e0fb30bd306a3c176b8313b9e7313dba0f37f519de6aa8b0a1921349e505f259d19475e123182416a506d7f87e7f529 - languageName: node - linkType: hard - -"@humanwhocodes/object-schema@npm:^2.0.2": - version: 2.0.2 - resolution: "@humanwhocodes/object-schema@npm:2.0.2" - checksum: 10c0/6fd83dc320231d71c4541d0244051df61f301817e9f9da9fd4cb7e44ec8aacbde5958c1665b0c419401ab935114fdf532a6ad5d4e7294b1af2f347dd91a6983f - languageName: node - linkType: hard - -"@isaacs/cliui@npm:^8.0.2": - version: 8.0.2 - resolution: "@isaacs/cliui@npm:8.0.2" - dependencies: - string-width: "npm:^5.1.2" - string-width-cjs: "npm:string-width@^4.2.0" - strip-ansi: "npm:^7.0.1" - strip-ansi-cjs: "npm:strip-ansi@^6.0.1" - wrap-ansi: "npm:^8.1.0" - wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0" - checksum: 10c0/b1bf42535d49f11dc137f18d5e4e63a28c5569de438a221c369483731e9dac9fb797af554e8bf02b6192d1e5eba6e6402cf93900c3d0ac86391d00d04876789e - languageName: node - linkType: hard - -"@istanbuljs/schema@npm:^0.1.2": - version: 0.1.3 - resolution: "@istanbuljs/schema@npm:0.1.3" - checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a - languageName: node - linkType: hard - -"@jest/schemas@npm:^29.6.3": - version: 29.6.3 - resolution: "@jest/schemas@npm:29.6.3" - dependencies: - "@sinclair/typebox": "npm:^0.27.8" - checksum: 10c0/b329e89cd5f20b9278ae1233df74016ebf7b385e0d14b9f4c1ad18d096c4c19d1e687aa113a9c976b16ec07f021ae53dea811fb8c1248a50ac34fbe009fdf6be - languageName: node - linkType: hard - -"@jridgewell/gen-mapping@npm:^0.3.0": - version: 0.3.3 - resolution: "@jridgewell/gen-mapping@npm:0.3.3" - dependencies: - "@jridgewell/set-array": "npm:^1.0.1" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - "@jridgewell/trace-mapping": "npm:^0.3.9" - checksum: 10c0/376fc11cf5a967318ba3ddd9d8e91be528eab6af66810a713c49b0c3f8dc67e9949452c51c38ab1b19aa618fb5e8594da5a249977e26b1e7fea1ee5a1fcacc74 - languageName: node - linkType: hard - -"@jridgewell/resolve-uri@npm:^3.0.3, @jridgewell/resolve-uri@npm:^3.1.0": - version: 3.1.1 - resolution: "@jridgewell/resolve-uri@npm:3.1.1" - checksum: 10c0/0dbc9e29bc640bbbdc5b9876d2859c69042bfcf1423c1e6421bcca53e826660bff4e41c7d4bcb8dbea696404231a6f902f76ba41835d049e20f2dd6cffb713bf - languageName: node - linkType: hard - -"@jridgewell/set-array@npm:^1.0.1": - version: 1.1.2 - resolution: "@jridgewell/set-array@npm:1.1.2" - checksum: 10c0/bc7ab4c4c00470de4e7562ecac3c0c84f53e7ee8a711e546d67c47da7febe7c45cd67d4d84ee3c9b2c05ae8e872656cdded8a707a283d30bd54fbc65aef821ab - languageName: node - linkType: hard - -"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14, @jridgewell/sourcemap-codec@npm:^1.4.15": - version: 1.4.15 - resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" - checksum: 10c0/0c6b5ae663087558039052a626d2d7ed5208da36cfd707dcc5cea4a07cfc918248403dcb5989a8f7afaf245ce0573b7cc6fd94c4a30453bd10e44d9363940ba5 - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:0.3.9": - version: 0.3.9 - resolution: "@jridgewell/trace-mapping@npm:0.3.9" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.0.3" - "@jridgewell/sourcemap-codec": "npm:^1.4.10" - checksum: 10c0/fa425b606d7c7ee5bfa6a31a7b050dd5814b4082f318e0e4190f991902181b4330f43f4805db1dd4f2433fd0ed9cc7a7b9c2683f1deeab1df1b0a98b1e24055b - languageName: node - linkType: hard - -"@jridgewell/trace-mapping@npm:^0.3.12, @jridgewell/trace-mapping@npm:^0.3.9": - version: 0.3.22 - resolution: "@jridgewell/trace-mapping@npm:0.3.22" - dependencies: - "@jridgewell/resolve-uri": "npm:^3.1.0" - "@jridgewell/sourcemap-codec": "npm:^1.4.14" - checksum: 10c0/18cf19f88e2792c1c91515f2b629aae05f3cdbb2e60c3886e16e80725234ce26dd10144c4981c05d9366e7094498c0b4fe5c1a89f4a730d7376a4ba4af448149 - languageName: node - linkType: hard - -"@jsdoc/salty@npm:^0.2.1": - version: 0.2.7 - resolution: "@jsdoc/salty@npm:0.2.7" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/12af140143ff4b3fdd9451f9d89cb5f4cb254e9ca91ac9dbd7ece1b338c490e602819965059e7fe2d9337d4cb44c9fe4fb27b88e65ac3821fed23ab88219f546 - languageName: node - linkType: hard - -"@lukeed/ms@npm:^2.0.1": - version: 2.0.2 - resolution: "@lukeed/ms@npm:2.0.2" - checksum: 10c0/843b922717313bcde4943f478145d8bc13115b9b91d83bbaed53739b5644122984412310aed574792f4e6b492f2cbda178175f601856d310f67e14834c3f17a0 - languageName: node - linkType: hard - -"@nodelib/fs.scandir@npm:2.1.5": - version: 2.1.5 - resolution: "@nodelib/fs.scandir@npm:2.1.5" - dependencies: - "@nodelib/fs.stat": "npm:2.0.5" - run-parallel: "npm:^1.1.9" - checksum: 10c0/732c3b6d1b1e967440e65f284bd06e5821fedf10a1bea9ed2bb75956ea1f30e08c44d3def9d6a230666574edbaf136f8cfd319c14fd1f87c66e6a44449afb2eb - languageName: node - linkType: hard - -"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2": - version: 2.0.5 - resolution: "@nodelib/fs.stat@npm:2.0.5" - checksum: 10c0/88dafe5e3e29a388b07264680dc996c17f4bda48d163a9d4f5c1112979f0ce8ec72aa7116122c350b4e7976bc5566dc3ddb579be1ceaacc727872eb4ed93926d - languageName: node - linkType: hard - -"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": - version: 1.2.8 - resolution: "@nodelib/fs.walk@npm:1.2.8" - dependencies: - "@nodelib/fs.scandir": "npm:2.1.5" - fastq: "npm:^1.6.0" - checksum: 10c0/db9de047c3bb9b51f9335a7bb46f4fcfb6829fb628318c12115fbaf7d369bfce71c15b103d1fc3b464812d936220ee9bc1c8f762d032c9f6be9acc99249095b1 - languageName: node - linkType: hard - -"@npmcli/agent@npm:^2.0.0": - version: 2.2.0 - resolution: "@npmcli/agent@npm:2.2.0" - dependencies: - agent-base: "npm:^7.1.0" - http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.1" - lru-cache: "npm:^10.0.1" - socks-proxy-agent: "npm:^8.0.1" - checksum: 10c0/7b89590598476dda88e79c473766b67c682aae6e0ab0213491daa6083dcc0c171f86b3868f5506f22c09aa5ea69ad7dfb78f4bf39a8dca375d89a42f408645b3 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^1.0.0": - version: 1.1.1 - resolution: "@npmcli/fs@npm:1.1.1" - dependencies: - "@gar/promisify": "npm:^1.0.1" - semver: "npm:^7.3.5" - checksum: 10c0/4143c317a7542af9054018b71601e3c3392e6704e884561229695f099a71336cbd580df9a9ffb965d0024bf0ed593189ab58900fd1714baef1c9ee59c738c3e2 - languageName: node - linkType: hard - -"@npmcli/fs@npm:^3.1.0": - version: 3.1.0 - resolution: "@npmcli/fs@npm:3.1.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/162b4a0b8705cd6f5c2470b851d1dc6cd228c86d2170e1769d738c1fbb69a87160901411c3c035331e9e99db72f1f1099a8b734bf1637cc32b9a5be1660e4e1e - languageName: node - linkType: hard - -"@npmcli/move-file@npm:^1.0.1": - version: 1.1.2 - resolution: "@npmcli/move-file@npm:1.1.2" - dependencies: - mkdirp: "npm:^1.0.4" - rimraf: "npm:^3.0.2" - checksum: 10c0/02e946f3dafcc6743132fe2e0e2b585a96ca7265653a38df5a3e53fcf26c7c7a57fc0f861d7c689a23fdb6d6836c7eea5050c8086abf3c994feb2208d1514ff0 - languageName: node - linkType: hard - -"@pkgjs/parseargs@npm:^0.11.0": - version: 0.11.0 - resolution: "@pkgjs/parseargs@npm:0.11.0" - checksum: 10c0/5bd7576bb1b38a47a7fc7b51ac9f38748e772beebc56200450c4a817d712232b8f1d3ef70532c80840243c657d491cf6a6be1e3a214cff907645819fdc34aadd - languageName: node - linkType: hard - -"@pkgr/core@npm:^0.1.0": - version: 0.1.1 - resolution: "@pkgr/core@npm:0.1.1" - checksum: 10c0/3f7536bc7f57320ab2cf96f8973664bef624710c403357429fbf680a5c3b4843c1dbd389bb43daa6b1f6f1f007bb082f5abcb76bb2b5dc9f421647743b71d3d8 - languageName: node - linkType: hard - -"@rollup/rollup-android-arm-eabi@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.9.6" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-android-arm64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-android-arm64@npm:4.9.6" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-arm64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-darwin-arm64@npm:4.9.6" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-darwin-x64@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-darwin-x64@npm:4.9.6" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.9.6" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.9.6" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-arm64-musl@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.9.6" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-linux-riscv64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.9.6" - conditions: os=linux & cpu=riscv64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-gnu@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.9.6" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - -"@rollup/rollup-linux-x64-musl@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.9.6" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - -"@rollup/rollup-win32-arm64-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.9.6" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - -"@rollup/rollup-win32-ia32-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.9.6" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - -"@rollup/rollup-win32-x64-msvc@npm:4.9.6": - version: 4.9.6 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.9.6" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@rushstack/ts-command-line@npm:^4.11.0, @rushstack/ts-command-line@npm:^4.12.2": - version: 4.17.1 - resolution: "@rushstack/ts-command-line@npm:4.17.1" - dependencies: - "@types/argparse": "npm:1.0.38" - argparse: "npm:~1.0.9" - colors: "npm:~1.2.1" - string-argv: "npm:~0.3.1" - checksum: 10c0/4fd27d2450a6e71139e67b33d5ecba7abbf3497e7479ab3a96666cf79f207c5a7d4ad4f8de17f43e09bed65a0f28115160a4c5486c8e64f8b472c7145a31c2d2 - languageName: node - linkType: hard - -"@rusty-motors/thebeast@workspace:thebeast": - version: 0.0.0-use.local - resolution: "@rusty-motors/thebeast@workspace:thebeast" - dependencies: - "@fastify/sensible": "npm:^5.5.0" - "@sentry/cli": "npm:^2.23.2" - "@sentry/node": "npm:^7.102.0" - "@sentry/profiling-node": "npm:^7.102.0" - "@tsconfig/node-lts": "npm:^20.1.1" - "@tsconfig/node20": "npm:^20.1.2" - "@types/chai": "npm:4.3.11" - "@types/connect": "npm:^3.4.38" - "@types/node": "npm:^20.10.6" - "@types/sinon": "npm:17.0.3" - "@types/sinon-chai": "npm:3.2.12" - "@typescript-eslint/eslint-plugin": "npm:^6.17.0" - "@typescript-eslint/parser": "npm:^6.17.0" - "@vitest/coverage-v8": "npm:^1.1.1" - eslint: "npm:^8.56.0" - eslint-config-prettier: "npm:^9.1.0" - eslint-plugin-prettier: "npm:5.1.2" - fastify: "npm:^4.25.2" - jsdoc: "npm:^4.0.2" - moment: "npm:^2.30.1" - pino: "npm:^8.18.0" - pino-pretty: "npm:^10.3.1" - prettier: "npm:3.1.1" - prettier-eslint: "npm:16.2.0" - short-unique-id: "npm:^5.0.3" - slonik: "npm:^37.2.0" - sqlite3: "npm:^5.1.7" - ts-node: "npm:10.9.2" - tslib: "npm:^2.6.2" - tsx: "npm:4.7.0" - typescript: "npm:^5.3.3" - typescript-eslint-language-service: "npm:^5.0.5" - vitest: "npm:^1.1.1" - zod: "npm:^3.22.4" - languageName: unknown - linkType: soft - -"@sentry-internal/tracing@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry-internal/tracing@npm:7.102.0" - dependencies: - "@sentry/core": "npm:7.102.0" - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/d99a67bd239c4615b35c0b3dadde7949a9e640d87518b8e8d062543ca33bf7921154db15d3460ce23c00d8b420744aec9f0a4c9fc63ebb0b9ce8878b13c7db55 - languageName: node - linkType: hard - -"@sentry/cli-darwin@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-darwin@npm:2.27.0" - conditions: os=darwin - languageName: node - linkType: hard - -"@sentry/cli-linux-arm64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-arm64@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=arm64 - languageName: node - linkType: hard - -"@sentry/cli-linux-arm@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-arm@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=arm - languageName: node - linkType: hard - -"@sentry/cli-linux-i686@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-i686@npm:2.27.0" - conditions: (os=linux | os=freebsd) & (cpu=x86 | cpu=ia32) - languageName: node - linkType: hard - -"@sentry/cli-linux-x64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-linux-x64@npm:2.27.0" - conditions: (os=linux | os=freebsd) & cpu=x64 - languageName: node - linkType: hard - -"@sentry/cli-win32-i686@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-win32-i686@npm:2.27.0" - conditions: os=win32 & (cpu=x86 | cpu=ia32) - languageName: node - linkType: hard - -"@sentry/cli-win32-x64@npm:2.27.0": - version: 2.27.0 - resolution: "@sentry/cli-win32-x64@npm:2.27.0" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - -"@sentry/cli@npm:^2.23.2": - version: 2.27.0 - resolution: "@sentry/cli@npm:2.27.0" - dependencies: - "@sentry/cli-darwin": "npm:2.27.0" - "@sentry/cli-linux-arm": "npm:2.27.0" - "@sentry/cli-linux-arm64": "npm:2.27.0" - "@sentry/cli-linux-i686": "npm:2.27.0" - "@sentry/cli-linux-x64": "npm:2.27.0" - "@sentry/cli-win32-i686": "npm:2.27.0" - "@sentry/cli-win32-x64": "npm:2.27.0" - https-proxy-agent: "npm:^5.0.0" - node-fetch: "npm:^2.6.7" - progress: "npm:^2.0.3" - proxy-from-env: "npm:^1.1.0" - which: "npm:^2.0.2" - dependenciesMeta: - "@sentry/cli-darwin": - optional: true - "@sentry/cli-linux-arm": - optional: true - "@sentry/cli-linux-arm64": - optional: true - "@sentry/cli-linux-i686": - optional: true - "@sentry/cli-linux-x64": - optional: true - "@sentry/cli-win32-i686": - optional: true - "@sentry/cli-win32-x64": - optional: true - bin: - sentry-cli: bin/sentry-cli - checksum: 10c0/46573db9c02c1769c15a1fdcbc76b92947fe0f11c36f75cbcd151a10c4a3c1a4429eb7443a24815e0fc3d74f037079b4f7d9b15e232f5ead4e32e5c5e7c7a345 - languageName: node - linkType: hard - -"@sentry/core@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/core@npm:7.102.0" - dependencies: - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/454333e30a3ad5f30cab4bd1d5975727de7971665f8dbbe84d82a0e62e6825d382ef0030b76a6a80e6ddb6fcbf3b01b6bf209feb878e72ff71c5a7f07256f4d1 - languageName: node - linkType: hard - -"@sentry/node@npm:^7.102.0": - version: 7.102.0 - resolution: "@sentry/node@npm:7.102.0" - dependencies: - "@sentry-internal/tracing": "npm:7.102.0" - "@sentry/core": "npm:7.102.0" - "@sentry/types": "npm:7.102.0" - "@sentry/utils": "npm:7.102.0" - checksum: 10c0/b9361fcbf1fa39d5e8286750e0a441c151fc33ad97ff79bdcd594a65eb1bcf235cef8b88992f6c685894b2d10c49ed5bd92f904bf8cc1aa809aa4dee0c8c1f0e - languageName: node - linkType: hard - -"@sentry/profiling-node@npm:^7.102.0": - version: 7.102.0 - resolution: "@sentry/profiling-node@npm:7.102.0" - dependencies: - detect-libc: "npm:^2.0.2" - node-abi: "npm:^3.52.0" - node-gyp: "npm:latest" - bin: - sentry-prune-profiler-binaries: scripts/prune-profiler-binaries.js - checksum: 10c0/94573aca88f277ce1efdd4d4053bda933ce7ce53b9a285f737767cf912073f2ae9929ebe75cd0bb7b9a18e765805d71c92cb56818f4f0d7603e587646b71ba93 - languageName: node - linkType: hard - -"@sentry/types@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/types@npm:7.102.0" - checksum: 10c0/9c73ce0882970e3c0882f423b528da8f03946c18581eecb9f478577da38f95efd872f7f551b926f42a2124cad6a97d58cef7fbc012afcd10d11b02ac2b75c21b - languageName: node - linkType: hard - -"@sentry/utils@npm:7.102.0": - version: 7.102.0 - resolution: "@sentry/utils@npm:7.102.0" - dependencies: - "@sentry/types": "npm:7.102.0" - checksum: 10c0/2ec1a28e71706633a3eca80dce75e93d6c651cda2a9198e7574823b7643ca21038e035a4b858daf7a28f900c71a3c59c47c8714534eb9818120dc2ae9c893e7e - languageName: node - linkType: hard - -"@sinclair/typebox@npm:^0.27.8": - version: 0.27.8 - resolution: "@sinclair/typebox@npm:0.27.8" - checksum: 10c0/ef6351ae073c45c2ac89494dbb3e1f87cc60a93ce4cde797b782812b6f97da0d620ae81973f104b43c9b7eaa789ad20ba4f6a1359f1cc62f63729a55a7d22d4e - languageName: node - linkType: hard - -"@slonik/migrator@npm:^0.12.0": - version: 0.12.0 - resolution: "@slonik/migrator@npm:0.12.0" - dependencies: - "@rushstack/ts-command-line": "npm:^4.11.0" - umzug: "npm:^3.1.1" - peerDependencies: - slonik: 27 - 29 - checksum: 10c0/8ceb36ab0b83d78cea7443b2c8fff19dafd79eceae9ab5d0e1da1daa09f459ea68b6484807281036fd8be87b505c88d07141ba64975e6aa422bc1a86df1e2336 - languageName: node - linkType: hard - -"@tootallnate/once@npm:1": - version: 1.1.2 - resolution: "@tootallnate/once@npm:1.1.2" - checksum: 10c0/8fe4d006e90422883a4fa9339dd05a83ff626806262e1710cee5758d493e8cbddf2db81c0e4690636dc840b02c9fda62877866ea774ebd07c1777ed5fafbdec6 - languageName: node - linkType: hard - -"@tsconfig/node-lts@npm:^20.1.1": - version: 20.1.1 - resolution: "@tsconfig/node-lts@npm:20.1.1" - checksum: 10c0/cd78a6680be8a4f38e60a3fccc1f940bdc420c1f27563268ebff87e64e425ce59a414272333474ca6b3b85304037b51ade71ae5fd58f6661ceaa3a8daf291838 - languageName: node - linkType: hard - -"@tsconfig/node10@npm:^1.0.7": - version: 1.0.9 - resolution: "@tsconfig/node10@npm:1.0.9" - checksum: 10c0/c176a2c1e1b16be120c328300ea910df15fb9a5277010116d26818272341a11483c5a80059389d04edacf6fd2d03d4687ad3660870fdd1cc0b7109e160adb220 - languageName: node - linkType: hard - -"@tsconfig/node12@npm:^1.0.7": - version: 1.0.11 - resolution: "@tsconfig/node12@npm:1.0.11" - checksum: 10c0/dddca2b553e2bee1308a056705103fc8304e42bb2d2cbd797b84403a223b25c78f2c683ec3e24a095e82cd435387c877239bffcb15a590ba817cd3f6b9a99fd9 - languageName: node - linkType: hard - -"@tsconfig/node14@npm:^1.0.0": - version: 1.0.3 - resolution: "@tsconfig/node14@npm:1.0.3" - checksum: 10c0/67c1316d065fdaa32525bc9449ff82c197c4c19092b9663b23213c8cbbf8d88b6ed6a17898e0cbc2711950fbfaf40388938c1c748a2ee89f7234fc9e7fe2bf44 - languageName: node - linkType: hard - -"@tsconfig/node16@npm:^1.0.2": - version: 1.0.4 - resolution: "@tsconfig/node16@npm:1.0.4" - checksum: 10c0/05f8f2734e266fb1839eb1d57290df1664fe2aa3b0fdd685a9035806daa635f7519bf6d5d9b33f6e69dd545b8c46bd6e2b5c79acb2b1f146e885f7f11a42a5bb - languageName: node - linkType: hard - -"@tsconfig/node20@npm:^20.1.2": - version: 20.1.2 - resolution: "@tsconfig/node20@npm:20.1.2" - checksum: 10c0/e438fa9b93f0e6ea667affbbd3217692bf3f92db1b3dcbfba1dd141a7dbcd647c19ed87ce76871c723bed398759ec4a5590685f3e669b600c9371f143a19e0c1 - languageName: node - linkType: hard - -"@types/argparse@npm:1.0.38": - version: 1.0.38 - resolution: "@types/argparse@npm:1.0.38" - checksum: 10c0/4fc892da5df16923f48180da2d1f4562fa8b0507cf636b24780444fa0a1d7321d4dc0c0ecbee6152968823f5a2ae0d321b4f8c705a489bf1ae1245bdeb0868fd - languageName: node - linkType: hard - -"@types/chai@npm:*, @types/chai@npm:4.3.11": - version: 4.3.11 - resolution: "@types/chai@npm:4.3.11" - checksum: 10c0/0c216ac4a19bfbf8318bb104d32e50704ee2ffc4b538b976c4326e6638fee121462402caa570662227a2a218810388aadb14bdbd3d3d474ec300b00695db448a - languageName: node - linkType: hard - -"@types/connect@npm:^3.4.38": - version: 3.4.38 - resolution: "@types/connect@npm:3.4.38" - dependencies: - "@types/node": "npm:*" - checksum: 10c0/2e1cdba2c410f25649e77856505cd60223250fa12dff7a503e492208dbfdd25f62859918f28aba95315251fd1f5e1ffbfca1e25e73037189ab85dd3f8d0a148c - languageName: node - linkType: hard - -"@types/estree@npm:1.0.5, @types/estree@npm:^1.0.0": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d - languageName: node - linkType: hard - -"@types/istanbul-lib-coverage@npm:^2.0.1": - version: 2.0.6 - resolution: "@types/istanbul-lib-coverage@npm:2.0.6" - checksum: 10c0/3948088654f3eeb45363f1db158354fb013b362dba2a5c2c18c559484d5eb9f6fd85b23d66c0a7c2fcfab7308d0a585b14dadaca6cc8bf89ebfdc7f8f5102fb7 - languageName: node - linkType: hard - -"@types/json-schema@npm:^7.0.12": - version: 7.0.15 - resolution: "@types/json-schema@npm:7.0.15" - checksum: 10c0/a996a745e6c5d60292f36731dd41341339d4eeed8180bb09226e5c8d23759067692b1d88e5d91d72ee83dfc00d3aca8e7bd43ea120516c17922cbcb7c3e252db - languageName: node - linkType: hard - -"@types/linkify-it@npm:*": - version: 3.0.5 - resolution: "@types/linkify-it@npm:3.0.5" - checksum: 10c0/696e09975991c649ba37c5585714929fdebf5c64a8bfb99910613ef838337dbbba6c608fccdfa03d6347432586ef12e139bc0e947ae6fec569096fef5cc1c550 - languageName: node - linkType: hard - -"@types/markdown-it@npm:^12.2.3": - version: 12.2.3 - resolution: "@types/markdown-it@npm:12.2.3" - dependencies: - "@types/linkify-it": "npm:*" - "@types/mdurl": "npm:*" - checksum: 10c0/f72e08f69d76be2e30cd367fd6e5302c6878aa44e5b1a952fe7e41280044502bcb9bac8459ad94f6bb5e4f9c4cb52803950609ad66786f0fddc3a8bd533f777d - languageName: node - linkType: hard - -"@types/mdurl@npm:*": - version: 1.0.5 - resolution: "@types/mdurl@npm:1.0.5" - checksum: 10c0/8991c781eb94fb3621e48e191251a94057908fc14be60f52bdd7c48684af923ffa77559ea979450a0475f85c08f8a472f99ff9c2ca4308961b9b9d35fd7584f7 - languageName: node - linkType: hard - -"@types/node@npm:*, @types/node@npm:^20.10.6": - version: 20.11.13 - resolution: "@types/node@npm:20.11.13" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/8ff8526fa0dbabcf4e9c538c6a7220675f750c39d0794e34998daa0656d7e0dfdf3e47403d2ab8beb756422a517e1f2646b4494afa59ef330495d65fc58fa4d8 - languageName: node - linkType: hard - -"@types/node@npm:^20.11.16": - version: 20.11.16 - resolution: "@types/node@npm:20.11.16" - dependencies: - undici-types: "npm:~5.26.4" - checksum: 10c0/4886b90278e9c877a84efd3edd4667cd990e032d77268d2a798b99ebc1901ea336fa7dfbe9eaf4ad6ad1da9ce2ec31baf300038a3905838692362eb19904ebde - languageName: node - linkType: hard - -"@types/pg@npm:^8.10.7": - version: 8.11.0 - resolution: "@types/pg@npm:8.11.0" - dependencies: - "@types/node": "npm:*" - pg-protocol: "npm:*" - pg-types: "npm:^4.0.1" - checksum: 10c0/df2c2ac11fa5e8863a98aadce9a9168af5cfc38a226a228d8b1be513ef48d33ceb9bfaa64ef685a87e0611a4f8d94f2e0736bb2812fa00ed264f76679b86945d - languageName: node - linkType: hard - -"@types/semver@npm:^7.5.0": - version: 7.5.6 - resolution: "@types/semver@npm:7.5.6" - checksum: 10c0/196dc32db5f68cbcde2e6a42bb4aa5cbb100fa2b7bd9c8c82faaaf3e03fbe063e205dbb4f03c7cdf53da2edb70a0d34c9f2e601b54281b377eb8dc1743226acd - languageName: node - linkType: hard - -"@types/sinon-chai@npm:3.2.12": - version: 3.2.12 - resolution: "@types/sinon-chai@npm:3.2.12" - dependencies: - "@types/chai": "npm:*" - "@types/sinon": "npm:*" - checksum: 10c0/2d4b865f117226c84d4fae861e702fa02598e2f347823dccb5dcdcf4bcc8a5f60fbf2c028feb34001d569b69ccbb401a42830cf85f4f5f2d0bd6283112b848f1 - languageName: node - linkType: hard - -"@types/sinon@npm:*, @types/sinon@npm:17.0.3": - version: 17.0.3 - resolution: "@types/sinon@npm:17.0.3" - dependencies: - "@types/sinonjs__fake-timers": "npm:*" - checksum: 10c0/6fc3aa497fd87826375de3dbddc2bf01c281b517c32c05edf95b5ad906382dc221bca01ca9d44fc7d5cb4c768f996f268154e87633a45b3c0b5cddca7ef5e2be - languageName: node - linkType: hard - -"@types/sinonjs__fake-timers@npm:*": - version: 8.1.5 - resolution: "@types/sinonjs__fake-timers@npm:8.1.5" - checksum: 10c0/2b8bdc246365518fc1b08f5720445093cce586183acca19a560be6ef81f824bd9a96c090e462f622af4d206406dadf2033c5daf99a51c1096da6494e5c8dc32e - languageName: node - linkType: hard - -"@typescript-eslint/eslint-plugin@npm:^6.17.0": - version: 6.20.0 - resolution: "@typescript-eslint/eslint-plugin@npm:6.20.0" - dependencies: - "@eslint-community/regexpp": "npm:^4.5.1" - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/type-utils": "npm:6.20.0" - "@typescript-eslint/utils": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.4" - natural-compare: "npm:^1.4.0" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/5020faac39be476de056342f58f2bf68bb788f230e2fa4a2e27ceab8a5187dc450beba7333b0aa741a43aeaff45a117558132953f9390b5eca4c2cc004fde716 - languageName: node - linkType: hard - -"@typescript-eslint/parser@npm:^6.17.0, @typescript-eslint/parser@npm:^6.7.5": - version: 6.20.0 - resolution: "@typescript-eslint/parser@npm:6.20.0" - dependencies: - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/typescript-estree": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d84ad5e2282b1096c80dedb903c83ecc31eaf7be1aafcb14c18d9ec2d4a319f2fd1e5a9038b944d9f42c36c1c57add5e4292d4026ca7d3d5441d41286700d402 - languageName: node - linkType: hard - -"@typescript-eslint/scope-manager@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/scope-manager@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - checksum: 10c0/f6768ed2dcd2d1771d55ed567ff392a6569ffd683a26500067509dd41769f8838c43686460fe7337144f324fd063df33f5d5646d44e5df4998ceffb3ad1fb790 - languageName: node - linkType: hard - -"@typescript-eslint/type-utils@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/type-utils@npm:6.20.0" - dependencies: - "@typescript-eslint/typescript-estree": "npm:6.20.0" - "@typescript-eslint/utils": "npm:6.20.0" - debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.0.1" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/8f622fbb14268f1d00b2948f995b570f0ef82be02c12be41d90385290a56ea0dbd34d855d6a5aff100b57f3bdd300ff0c300f16c78f12d6064f7ae6e34fd71bf - languageName: node - linkType: hard - -"@typescript-eslint/types@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/types@npm:6.20.0" - checksum: 10c0/37589003b0e06f83c1945e3748e91af85918cfd997766894642a08e6f355f611cfe11df4e7632dda96e3a9b3441406283fe834ab0906cf81ea97fd43ca2aebe3 - languageName: node - linkType: hard - -"@typescript-eslint/typescript-estree@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/typescript-estree@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/visitor-keys": "npm:6.20.0" - debug: "npm:^4.3.4" - globby: "npm:^11.1.0" - is-glob: "npm:^4.0.3" - minimatch: "npm:9.0.3" - semver: "npm:^7.5.4" - ts-api-utils: "npm:^1.0.1" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/551f13445a303882d9fc0fbe14ef8507eb8414253fd87a5f13d2e324b5280b626421a238b8ec038e628bc80128dc06c057757f668738e82e64d5b39a9083c27d - languageName: node - linkType: hard - -"@typescript-eslint/utils@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/utils@npm:6.20.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.4.0" - "@types/json-schema": "npm:^7.0.12" - "@types/semver": "npm:^7.5.0" - "@typescript-eslint/scope-manager": "npm:6.20.0" - "@typescript-eslint/types": "npm:6.20.0" - "@typescript-eslint/typescript-estree": "npm:6.20.0" - semver: "npm:^7.5.4" - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - checksum: 10c0/0a8ede3d80a365b52ae96d88e4a9f6e6abf3569c6b60ff9f42ff900cd843ae7c5493cd95f8f2029d90bb0acbf31030980206af98e581d760d6d41e0f80e9fb86 - languageName: node - linkType: hard - -"@typescript-eslint/visitor-keys@npm:6.20.0": - version: 6.20.0 - resolution: "@typescript-eslint/visitor-keys@npm:6.20.0" - dependencies: - "@typescript-eslint/types": "npm:6.20.0" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/852d938f2e5d57200cf62733b42e73a369f797b097d17e8fd3fffd0f7315c3b9e1863eed60bb8d57d6535a3b7f1980f645f96ec6d513950f182bfa8107b33fab - languageName: node - linkType: hard - -"@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d - languageName: node - linkType: hard - -"@vitest/coverage-v8@npm:^1.1.1": - version: 1.2.2 - resolution: "@vitest/coverage-v8@npm:1.2.2" - dependencies: - "@ampproject/remapping": "npm:^2.2.1" - "@bcoe/v8-coverage": "npm:^0.2.3" - debug: "npm:^4.3.4" - istanbul-lib-coverage: "npm:^3.2.2" - istanbul-lib-report: "npm:^3.0.1" - istanbul-lib-source-maps: "npm:^4.0.1" - istanbul-reports: "npm:^3.1.6" - magic-string: "npm:^0.30.5" - magicast: "npm:^0.3.3" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - test-exclude: "npm:^6.0.0" - v8-to-istanbul: "npm:^9.2.0" - peerDependencies: - vitest: ^1.0.0 - checksum: 10c0/90e3cfdc7d36df86f95b4bc372851dbf0a9e78ca9d80177674ebb30cf5dff1e786660016aa7e369bd30ac7d1d3edc18d7ab0f6ccfdc9cdfe04ada0e0b5d5911a - languageName: node - linkType: hard - -"@vitest/expect@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/expect@npm:1.2.2" - dependencies: - "@vitest/spy": "npm:1.2.2" - "@vitest/utils": "npm:1.2.2" - chai: "npm:^4.3.10" - checksum: 10c0/920e80b956d9d5ef7909cbe2bf883c8556da11c5123ea037396cb672d7038116c9773bd36915a3df7be2ffd76b661d5a6487e7e5ded78f39e2500cb36ae81e59 - languageName: node - linkType: hard - -"@vitest/runner@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/runner@npm:1.2.2" - dependencies: - "@vitest/utils": "npm:1.2.2" - p-limit: "npm:^5.0.0" - pathe: "npm:^1.1.1" - checksum: 10c0/25a9c03cca5b40738fe606757b14ee9d60d25193115b4674e3cc402c2b2c3844d234902d48bfa7646cb205455ea27891fef96733e033a570b85fe74ed29ff81c - languageName: node - linkType: hard - -"@vitest/snapshot@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/snapshot@npm:1.2.2" - dependencies: - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - pretty-format: "npm:^29.7.0" - checksum: 10c0/0f8a69a289aa6466c7dd56f8327190d56a0bc7ad10412127de001c94784f6dba5e5bccb757def21f565f4efa3e00c307b92e8b6c302f11fc57889b743ba18a95 - languageName: node - linkType: hard - -"@vitest/spy@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/spy@npm:1.2.2" - dependencies: - tinyspy: "npm:^2.2.0" - checksum: 10c0/5480048d26c0d82b524317552fbdcc05fed6ea626d887620647826453a344798a360f2a75af477512a1569b1b6c918eae62338e8b35575f875fc2d7ef51419f3 - languageName: node - linkType: hard - -"@vitest/utils@npm:1.2.2": - version: 1.2.2 - resolution: "@vitest/utils@npm:1.2.2" - dependencies: - diff-sequences: "npm:^29.6.3" - estree-walker: "npm:^3.0.3" - loupe: "npm:^2.3.7" - pretty-format: "npm:^29.7.0" - checksum: 10c0/32449cb7eca8ecea56e0fce280c9770f65fa6b60bbba73be06ca2891096818899b4b3220bd3c815df8beb4266034db394fcf235e4de8959cce686b8b360948d1 - languageName: node - linkType: hard - -"abbrev@npm:1": - version: 1.1.1 - resolution: "abbrev@npm:1.1.1" - checksum: 10c0/3f762677702acb24f65e813070e306c61fafe25d4b2583f9dfc935131f774863f3addd5741572ed576bd69cabe473c5af18e1e108b829cb7b6b4747884f726e6 - languageName: node - linkType: hard - -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 - languageName: node - linkType: hard - -"abort-controller@npm:^3.0.0": - version: 3.0.0 - resolution: "abort-controller@npm:3.0.0" - dependencies: - event-target-shim: "npm:^5.0.0" - checksum: 10c0/90ccc50f010250152509a344eb2e71977fbf8db0ab8f1061197e3275ddf6c61a41a6edfd7b9409c664513131dd96e962065415325ef23efa5db931b382d24ca5 - languageName: node - linkType: hard - -"abstract-logging@npm:^2.0.1": - version: 2.0.1 - resolution: "abstract-logging@npm:2.0.1" - checksum: 10c0/304879d9babcf6772260e5ddde632e6428e1f42f7a7a116d4689e97ad813a20e0ec2dd1e0a122f3617557f40091b9ca85735de4b48c17a2041268cb47b3f8ef1 - languageName: node - linkType: hard - -"acorn-jsx@npm:^5.3.2": - version: 5.3.2 - resolution: "acorn-jsx@npm:5.3.2" - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - checksum: 10c0/4c54868fbef3b8d58927d5e33f0a4de35f59012fe7b12cf9dfbb345fb8f46607709e1c4431be869a23fb63c151033d84c4198fa9f79385cec34fcb1dd53974c1 - languageName: node - linkType: hard - -"acorn-walk@npm:^8.1.1, acorn-walk@npm:^8.3.2": - version: 8.3.2 - resolution: "acorn-walk@npm:8.3.2" - checksum: 10c0/7e2a8dad5480df7f872569b9dccff2f3da7e65f5353686b1d6032ab9f4ddf6e3a2cb83a9b52cf50b1497fd522154dda92f0abf7153290cc79cd14721ff121e52 - languageName: node - linkType: hard - -"acorn@npm:^8.10.0, acorn@npm:^8.11.3, acorn@npm:^8.4.1, acorn@npm:^8.9.0": - version: 8.11.3 - resolution: "acorn@npm:8.11.3" - bin: - acorn: bin/acorn - checksum: 10c0/3ff155f8812e4a746fee8ecff1f227d527c4c45655bb1fad6347c3cb58e46190598217551b1500f18542d2bbe5c87120cb6927f5a074a59166fbdd9468f0a299 - languageName: node - linkType: hard - -"agent-base@npm:6, agent-base@npm:^6.0.2": - version: 6.0.2 - resolution: "agent-base@npm:6.0.2" - dependencies: - debug: "npm:4" - checksum: 10c0/dc4f757e40b5f3e3d674bc9beb4f1048f4ee83af189bae39be99f57bf1f48dde166a8b0a5342a84b5944ee8e6ed1e5a9d801858f4ad44764e84957122fe46261 - languageName: node - linkType: hard - -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0": - version: 7.1.0 - resolution: "agent-base@npm:7.1.0" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/fc974ab57ffdd8421a2bc339644d312a9cca320c20c3393c9d8b1fd91731b9bbabdb985df5fc860f5b79d81c3e350daa3fcb31c5c07c0bb385aafc817df004ce - languageName: node - linkType: hard - -"agentkeepalive@npm:^4.1.3": - version: 4.5.0 - resolution: "agentkeepalive@npm:4.5.0" - dependencies: - humanize-ms: "npm:^1.2.1" - checksum: 10c0/394ea19f9710f230722996e156607f48fdf3a345133b0b1823244b7989426c16019a428b56c82d3eabef616e938812981d9009f4792ecc66bd6a59e991c62612 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 - languageName: node - linkType: hard - -"ajv-formats@npm:^2.1.1": - version: 2.1.1 - resolution: "ajv-formats@npm:2.1.1" - dependencies: - ajv: "npm:^8.0.0" - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - checksum: 10c0/e43ba22e91b6a48d96224b83d260d3a3a561b42d391f8d3c6d2c1559f9aa5b253bfb306bc94bbeca1d967c014e15a6efe9a207309e95b3eaae07fcbcdc2af662 - languageName: node - linkType: hard - -"ajv@npm:^6.12.4": - version: 6.12.6 - resolution: "ajv@npm:6.12.6" - dependencies: - fast-deep-equal: "npm:^3.1.1" - fast-json-stable-stringify: "npm:^2.0.0" - json-schema-traverse: "npm:^0.4.1" - uri-js: "npm:^4.2.2" - checksum: 10c0/41e23642cbe545889245b9d2a45854ebba51cda6c778ebced9649420d9205f2efb39cb43dbc41e358409223b1ea43303ae4839db682c848b891e4811da1a5a71 - languageName: node - linkType: hard - -"ajv@npm:^8.0.0, ajv@npm:^8.10.0, ajv@npm:^8.11.0": - version: 8.12.0 - resolution: "ajv@npm:8.12.0" - dependencies: - fast-deep-equal: "npm:^3.1.1" - json-schema-traverse: "npm:^1.0.0" - require-from-string: "npm:^2.0.2" - uri-js: "npm:^4.2.2" - checksum: 10c0/ac4f72adf727ee425e049bc9d8b31d4a57e1c90da8d28bcd23d60781b12fcd6fc3d68db5df16994c57b78b94eed7988f5a6b482fd376dc5b084125e20a0a622e - languageName: node - linkType: hard - -"ansi-regex@npm:^2.0.0": - version: 2.1.1 - resolution: "ansi-regex@npm:2.1.1" - checksum: 10c0/78cebaf50bce2cb96341a7230adf28d804611da3ce6bf338efa7b72f06cc6ff648e29f80cd95e582617ba58d5fdbec38abfeed3500a98bce8381a9daec7c548b - languageName: node - linkType: hard - -"ansi-regex@npm:^5.0.1": - version: 5.0.1 - resolution: "ansi-regex@npm:5.0.1" - checksum: 10c0/9a64bb8627b434ba9327b60c027742e5d17ac69277960d041898596271d992d4d52ba7267a63ca10232e29f6107fc8a835f6ce8d719b88c5f8493f8254813737 - languageName: node - linkType: hard - -"ansi-regex@npm:^6.0.1": - version: 6.0.1 - resolution: "ansi-regex@npm:6.0.1" - checksum: 10c0/cbe16dbd2c6b2735d1df7976a7070dd277326434f0212f43abf6d87674095d247968209babdaad31bb00882fa68807256ba9be340eec2f1004de14ca75f52a08 - languageName: node - linkType: hard - -"ansi-styles@npm:^2.2.1": - version: 2.2.1 - resolution: "ansi-styles@npm:2.2.1" - checksum: 10c0/7c68aed4f1857389e7a12f85537ea5b40d832656babbf511cc7ecd9efc52889b9c3e5653a71a6aade783c3c5e0aa223ad4ff8e83c27ac8a666514e6c79068cab - languageName: node - linkType: hard - -"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0": - version: 4.3.0 - resolution: "ansi-styles@npm:4.3.0" - dependencies: - color-convert: "npm:^2.0.1" - checksum: 10c0/895a23929da416f2bd3de7e9cb4eabd340949328ab85ddd6e484a637d8f6820d485f53933446f5291c3b760cbc488beb8e88573dd0f9c7daf83dccc8fe81b041 - languageName: node - linkType: hard - -"ansi-styles@npm:^5.0.0": - version: 5.2.0 - resolution: "ansi-styles@npm:5.2.0" - checksum: 10c0/9c4ca80eb3c2fb7b33841c210d2f20807f40865d27008d7c3f707b7f95cab7d67462a565e2388ac3285b71cb3d9bb2173de8da37c57692a362885ec34d6e27df - languageName: node - linkType: hard - -"ansi-styles@npm:^6.1.0": - version: 6.2.1 - resolution: "ansi-styles@npm:6.2.1" - checksum: 10c0/5d1ec38c123984bcedd996eac680d548f31828bd679a66db2bdf11844634dde55fec3efa9c6bb1d89056a5e79c1ac540c4c784d592ea1d25028a92227d2f2d5c - languageName: node - linkType: hard - -"aproba@npm:^1.0.3 || ^2.0.0": - version: 2.0.0 - resolution: "aproba@npm:2.0.0" - checksum: 10c0/d06e26384a8f6245d8c8896e138c0388824e259a329e0c9f196b4fa533c82502a6fd449586e3604950a0c42921832a458bb3aa0aa9f0ba449cfd4f50fd0d09b5 - languageName: node - linkType: hard - -"archy@npm:^1.0.0": - version: 1.0.0 - resolution: "archy@npm:1.0.0" - checksum: 10c0/200c849dd1c304ea9914827b0555e7e1e90982302d574153e28637db1a663c53de62bad96df42d50e8ce7fc18d05e3437d9aa8c4b383803763755f0956c7d308 - languageName: node - linkType: hard - -"are-we-there-yet@npm:^3.0.0": - version: 3.0.1 - resolution: "are-we-there-yet@npm:3.0.1" - dependencies: - delegates: "npm:^1.0.0" - readable-stream: "npm:^3.6.0" - checksum: 10c0/8373f289ba42e4b5ec713bb585acdac14b5702c75f2a458dc985b9e4fa5762bc5b46b40a21b72418a3ed0cfb5e35bdc317ef1ae132f3035f633d581dd03168c3 - languageName: node - linkType: hard - -"arg@npm:^4.1.0": - version: 4.1.3 - resolution: "arg@npm:4.1.3" - checksum: 10c0/070ff801a9d236a6caa647507bdcc7034530604844d64408149a26b9e87c2f97650055c0f049abd1efc024b334635c01f29e0b632b371ac3f26130f4cf65997a - languageName: node - linkType: hard - -"argparse@npm:^2.0.1": - version: 2.0.1 - resolution: "argparse@npm:2.0.1" - checksum: 10c0/c5640c2d89045371c7cedd6a70212a04e360fd34d6edeae32f6952c63949e3525ea77dbec0289d8213a99bbaeab5abfa860b5c12cf88a2e6cf8106e90dd27a7e - languageName: node - linkType: hard - -"argparse@npm:~1.0.9": - version: 1.0.10 - resolution: "argparse@npm:1.0.10" - dependencies: - sprintf-js: "npm:~1.0.2" - checksum: 10c0/b2972c5c23c63df66bca144dbc65d180efa74f25f8fd9b7d9a0a6c88ae839db32df3d54770dcb6460cf840d232b60695d1a6b1053f599d84e73f7437087712de - languageName: node - linkType: hard - -"array-union@npm:^2.1.0": - version: 2.1.0 - resolution: "array-union@npm:2.1.0" - checksum: 10c0/429897e68110374f39b771ec47a7161fc6a8fc33e196857c0a396dc75df0b5f65e4d046674db764330b6bb66b39ef48dd7c53b6a2ee75cfb0681e0c1a7033962 - languageName: node - linkType: hard - -"assertion-error@npm:^1.1.0": - version: 1.1.0 - resolution: "assertion-error@npm:1.1.0" - checksum: 10c0/25456b2aa333250f01143968e02e4884a34588a8538fbbf65c91a637f1dbfb8069249133cd2f4e530f10f624d206a664e7df30207830b659e9f5298b00a4099b - languageName: node - linkType: hard - -"atomic-sleep@npm:^1.0.0": - version: 1.0.0 - resolution: "atomic-sleep@npm:1.0.0" - checksum: 10c0/e329a6665512736a9bbb073e1761b4ec102f7926cce35037753146a9db9c8104f5044c1662e4a863576ce544fb8be27cd2be6bc8c1a40147d03f31eb1cfb6e8a - languageName: node - linkType: hard - -"avvio@npm:^8.2.1": - version: 8.2.1 - resolution: "avvio@npm:8.2.1" - dependencies: - archy: "npm:^1.0.0" - debug: "npm:^4.0.0" - fastq: "npm:^1.6.1" - checksum: 10c0/a763b7cb0d9bdd4c111c28b46cb83ee9d4bf79e5f99c5cd8b8f2727cf6d0cd5ec3e6df90dbda74a56cdec72fe928dd2e13e75e67270a88b92401f68ef756b3ce - languageName: node - linkType: hard - -"balanced-match@npm:^1.0.0": - version: 1.0.2 - resolution: "balanced-match@npm:1.0.2" - checksum: 10c0/9308baf0a7e4838a82bbfd11e01b1cb0f0cf2893bc1676c27c2a8c0e70cbae1c59120c3268517a8ae7fb6376b4639ef81ca22582611dbee4ed28df945134aaee - languageName: node - linkType: hard - -"base64-js@npm:^1.3.1": - version: 1.5.1 - resolution: "base64-js@npm:1.5.1" - checksum: 10c0/f23823513b63173a001030fae4f2dabe283b99a9d324ade3ad3d148e218134676f1ee8568c877cd79ec1c53158dcf2d2ba527a97c606618928ba99dd930102bf - languageName: node - linkType: hard - -"bindings@npm:^1.5.0": - version: 1.5.0 - resolution: "bindings@npm:1.5.0" - dependencies: - file-uri-to-path: "npm:1.0.0" - checksum: 10c0/3dab2491b4bb24124252a91e656803eac24292473e56554e35bbfe3cc1875332cfa77600c3bac7564049dc95075bf6fcc63a4609920ff2d64d0fe405fcf0d4ba - languageName: node - linkType: hard - -"bl@npm:^4.0.3": - version: 4.1.0 - resolution: "bl@npm:4.1.0" - dependencies: - buffer: "npm:^5.5.0" - inherits: "npm:^2.0.4" - readable-stream: "npm:^3.4.0" - checksum: 10c0/02847e1d2cb089c9dc6958add42e3cdeaf07d13f575973963335ac0fdece563a50ac770ac4c8fa06492d2dd276f6cc3b7f08c7cd9c7a7ad0f8d388b2a28def5f - languageName: node - linkType: hard - -"bluebird@npm:^3.7.1, bluebird@npm:^3.7.2": - version: 3.7.2 - resolution: "bluebird@npm:3.7.2" - checksum: 10c0/680de03adc54ff925eaa6c7bb9a47a0690e8b5de60f4792604aae8ed618c65e6b63a7893b57ca924beaf53eee69c5af4f8314148c08124c550fe1df1add897d2 - languageName: node - linkType: hard - -"boolean@npm:^3.1.4": - version: 3.2.0 - resolution: "boolean@npm:3.2.0" - checksum: 10c0/6a0dc9668f6f3dda42a53c181fcbdad223169c8d87b6c4011b87a8b14a21770efb2934a778f063d7ece17280f8c06d313c87f7b834bb1dd526a867ffcd00febf - languageName: node - linkType: hard - -"brace-expansion@npm:^1.1.7": - version: 1.1.11 - resolution: "brace-expansion@npm:1.1.11" - dependencies: - balanced-match: "npm:^1.0.0" - concat-map: "npm:0.0.1" - checksum: 10c0/695a56cd058096a7cb71fb09d9d6a7070113c7be516699ed361317aca2ec169f618e28b8af352e02ab4233fb54eb0168460a40dc320bab0034b36ab59aaad668 - languageName: node - linkType: hard - -"brace-expansion@npm:^2.0.1": - version: 2.0.1 - resolution: "brace-expansion@npm:2.0.1" - dependencies: - balanced-match: "npm:^1.0.0" - checksum: 10c0/b358f2fe060e2d7a87aa015979ecea07f3c37d4018f8d6deb5bd4c229ad3a0384fe6029bb76cd8be63c81e516ee52d1a0673edbe2023d53a5191732ae3c3e49f - languageName: node - linkType: hard - -"braces@npm:^3.0.2": - version: 3.0.2 - resolution: "braces@npm:3.0.2" - dependencies: - fill-range: "npm:^7.0.1" - checksum: 10c0/321b4d675791479293264019156ca322163f02dc06e3c4cab33bb15cd43d80b51efef69b0930cfde3acd63d126ebca24cd0544fa6f261e093a0fb41ab9dda381 - languageName: node - linkType: hard - -"buffer-from@npm:^1.0.0": - version: 1.1.2 - resolution: "buffer-from@npm:1.1.2" - checksum: 10c0/124fff9d66d691a86d3b062eff4663fe437a9d9ee4b47b1b9e97f5a5d14f6d5399345db80f796827be7c95e70a8e765dd404b7c3ff3b3324f98e9b0c8826cc34 - languageName: node - linkType: hard - -"buffer-writer@npm:2.0.0": - version: 2.0.0 - resolution: "buffer-writer@npm:2.0.0" - checksum: 10c0/c91b2ab09a200cf0862237e5a4dbd5077003b42d26d4f0c596ec7149f82ef83e0751d670bcdf379ed988d1a08c0fac7759a8cb928cf1a4710a1988a7618b1190 - languageName: node - linkType: hard - -"buffer@npm:^5.5.0": - version: 5.7.1 - resolution: "buffer@npm:5.7.1" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.1.13" - checksum: 10c0/27cac81cff434ed2876058d72e7c4789d11ff1120ef32c9de48f59eab58179b66710c488987d295ae89a228f835fc66d088652dffeb8e3ba8659f80eb091d55e - languageName: node - linkType: hard - -"buffer@npm:^6.0.3": - version: 6.0.3 - resolution: "buffer@npm:6.0.3" - dependencies: - base64-js: "npm:^1.3.1" - ieee754: "npm:^1.2.1" - checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 - languageName: node - linkType: hard - -"bufferput@npm:^0.1.3": - version: 0.1.3 - resolution: "bufferput@npm:0.1.3" - checksum: 10c0/6b36a682e8969007f42cf6e32fa70ec34157c583151a86ffe0c8c8e37cc8dba7416ea856890de88c9161f3e3d882ede7a04fb991db8ca985352da2b7f8001ea3 - languageName: node - linkType: hard - -"cac@npm:^6.7.14": - version: 6.7.14 - resolution: "cac@npm:6.7.14" - checksum: 10c0/4ee06aaa7bab8981f0d54e5f5f9d4adcd64058e9697563ce336d8a3878ed018ee18ebe5359b2430eceae87e0758e62ea2019c3f52ae6e211b1bd2e133856cd10 - languageName: node - linkType: hard - -"cacache@npm:^15.2.0": - version: 15.3.0 - resolution: "cacache@npm:15.3.0" - dependencies: - "@npmcli/fs": "npm:^1.0.0" - "@npmcli/move-file": "npm:^1.0.1" - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - glob: "npm:^7.1.4" - infer-owner: "npm:^1.0.4" - lru-cache: "npm:^6.0.0" - minipass: "npm:^3.1.1" - minipass-collect: "npm:^1.0.2" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.2" - mkdirp: "npm:^1.0.3" - p-map: "npm:^4.0.0" - promise-inflight: "npm:^1.0.1" - rimraf: "npm:^3.0.2" - ssri: "npm:^8.0.1" - tar: "npm:^6.0.2" - unique-filename: "npm:^1.1.1" - checksum: 10c0/886fcc0acc4f6fd5cd142d373d8276267bc6d655d7c4ce60726fbbec10854de3395ee19bbf9e7e73308cdca9fdad0ad55060ff3bd16c6d4165c5b8d21515e1d8 - languageName: node - linkType: hard - -"cacache@npm:^18.0.0": - version: 18.0.2 - resolution: "cacache@npm:18.0.2" - dependencies: - "@npmcli/fs": "npm:^3.1.0" - fs-minipass: "npm:^3.0.0" - glob: "npm:^10.2.2" - lru-cache: "npm:^10.0.1" - minipass: "npm:^7.0.3" - minipass-collect: "npm:^2.0.1" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/7992665305cc251a984f4fdbab1449d50e88c635bc43bf2785530c61d239c61b349e5734461baa461caaee65f040ab14e2d58e694f479c0810cffd181ba5eabc - languageName: node - linkType: hard - -"callsites@npm:^3.0.0": - version: 3.1.0 - resolution: "callsites@npm:3.1.0" - checksum: 10c0/fff92277400eb06c3079f9e74f3af120db9f8ea03bad0e84d9aede54bbe2d44a56cccb5f6cf12211f93f52306df87077ecec5b712794c5a9b5dac6d615a3f301 - languageName: node - linkType: hard - -"catharsis@npm:^0.9.0": - version: 0.9.0 - resolution: "catharsis@npm:0.9.0" - dependencies: - lodash: "npm:^4.17.15" - checksum: 10c0/9ac03ca48154ac63cfdb6c1645481d9d04f3c3e0dea131debf3116a0c12aa47e8864be7dcf770932c46d75bdd844a99f0c116c234e57232ad1f427751498e7ed - languageName: node - linkType: hard - -"chai@npm:^4.3.10": - version: 4.4.1 - resolution: "chai@npm:4.4.1" - dependencies: - assertion-error: "npm:^1.1.0" - check-error: "npm:^1.0.3" - deep-eql: "npm:^4.1.3" - get-func-name: "npm:^2.0.2" - loupe: "npm:^2.3.6" - pathval: "npm:^1.1.1" - type-detect: "npm:^4.0.8" - checksum: 10c0/91590a8fe18bd6235dece04ccb2d5b4ecec49984b50924499bdcd7a95c02cb1fd2a689407c19bb854497bde534ef57525cfad6c7fdd2507100fd802fbc2aefbd - languageName: node - linkType: hard - -"chalk@npm:^1.1.3": - version: 1.1.3 - resolution: "chalk@npm:1.1.3" - dependencies: - ansi-styles: "npm:^2.2.1" - escape-string-regexp: "npm:^1.0.2" - has-ansi: "npm:^2.0.0" - strip-ansi: "npm:^3.0.0" - supports-color: "npm:^2.0.0" - checksum: 10c0/28c3e399ec286bb3a7111fd4225ebedb0d7b813aef38a37bca7c498d032459c265ef43404201d5fbb8d888d29090899c95335b4c0cda13e8b126ff15c541cef8 - languageName: node - linkType: hard - -"chalk@npm:^4.0.0": - version: 4.1.2 - resolution: "chalk@npm:4.1.2" - dependencies: - ansi-styles: "npm:^4.1.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/4a3fef5cc34975c898ffe77141450f679721df9dde00f6c304353fa9c8b571929123b26a0e4617bde5018977eb655b31970c297b91b63ee83bb82aeb04666880 - languageName: node - linkType: hard - -"check-error@npm:^1.0.3": - version: 1.0.3 - resolution: "check-error@npm:1.0.3" - dependencies: - get-func-name: "npm:^2.0.2" - checksum: 10c0/94aa37a7315c0e8a83d0112b5bfb5a8624f7f0f81057c73e4707729cdd8077166c6aefb3d8e2b92c63ee130d4a2ff94bad46d547e12f3238cc1d78342a973841 - languageName: node - linkType: hard - -"chownr@npm:^1.1.1": - version: 1.1.4 - resolution: "chownr@npm:1.1.4" - checksum: 10c0/ed57952a84cc0c802af900cf7136de643d3aba2eecb59d29344bc2f3f9bf703a301b9d84cdc71f82c3ffc9ccde831b0d92f5b45f91727d6c9da62f23aef9d9db - languageName: node - linkType: hard - -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 - languageName: node - linkType: hard - -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - -"color-convert@npm:^2.0.1": - version: 2.0.1 - resolution: "color-convert@npm:2.0.1" - dependencies: - color-name: "npm:~1.1.4" - checksum: 10c0/37e1150172f2e311fe1b2df62c6293a342ee7380da7b9cfdba67ea539909afbd74da27033208d01d6d5cfc65ee7868a22e18d7e7648e004425441c0f8a15a7d7 - languageName: node - linkType: hard - -"color-name@npm:~1.1.4": - version: 1.1.4 - resolution: "color-name@npm:1.1.4" - checksum: 10c0/a1a3f914156960902f46f7f56bc62effc6c94e84b2cae157a526b1c1f74b677a47ec602bf68a61abfa2b42d15b7c5651c6dbe72a43af720bc588dff885b10f95 - languageName: node - linkType: hard - -"color-support@npm:^1.1.3": - version: 1.1.3 - resolution: "color-support@npm:1.1.3" - bin: - color-support: bin.js - checksum: 10c0/8ffeaa270a784dc382f62d9be0a98581db43e11eee301af14734a6d089bd456478b1a8b3e7db7ca7dc5b18a75f828f775c44074020b51c05fc00e6d0992b1cc6 - languageName: node - linkType: hard - -"colorette@npm:^2.0.7": - version: 2.0.20 - resolution: "colorette@npm:2.0.20" - checksum: 10c0/e94116ff33b0ff56f3b83b9ace895e5bf87c2a7a47b3401b8c3f3226e050d5ef76cf4072fb3325f9dc24d1698f9b730baf4e05eeaf861d74a1883073f4c98a40 - languageName: node - linkType: hard - -"colors@npm:~1.2.1": - version: 1.2.5 - resolution: "colors@npm:1.2.5" - checksum: 10c0/f4acebf2d2da9b4f8afb770361d14c01034bcb43add4cae493e7d186dcd7e0c5e2b440520fbfdf636e872606a0eb86b1f69fcf2f087df2876a4e222612539ee0 - languageName: node - linkType: hard - -"common-tags@npm:^1.4.0": - version: 1.8.2 - resolution: "common-tags@npm:1.8.2" - checksum: 10c0/23efe47ff0a1a7c91489271b3a1e1d2a171c12ec7f9b35b29b2fce51270124aff0ec890087e2bc2182c1cb746e232ab7561aaafe05f1e7452aea733d2bfe3f63 - languageName: node - linkType: hard - -"concat-map@npm:0.0.1": - version: 0.0.1 - resolution: "concat-map@npm:0.0.1" - checksum: 10c0/c996b1cfdf95b6c90fee4dae37e332c8b6eb7d106430c17d538034c0ad9a1630cb194d2ab37293b1bdd4d779494beee7786d586a50bd9376fd6f7bcc2bd4c98f - languageName: node - linkType: hard - -"concat-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "concat-stream@npm:2.0.0" - dependencies: - buffer-from: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.0.2" - typedarray: "npm:^0.0.6" - checksum: 10c0/29565dd9198fe1d8cf57f6cc71527dbc6ad67e12e4ac9401feb389c53042b2dceedf47034cbe702dfc4fd8df3ae7e6bfeeebe732cc4fa2674e484c13f04c219a - languageName: node - linkType: hard - -"console-control-strings@npm:^1.1.0": - version: 1.1.0 - resolution: "console-control-strings@npm:1.1.0" - checksum: 10c0/7ab51d30b52d461412cd467721bb82afe695da78fff8f29fe6f6b9cbaac9a2328e27a22a966014df9532100f6dd85370460be8130b9c677891ba36d96a343f50 - languageName: node - linkType: hard - -"convert-source-map@npm:^2.0.0": - version: 2.0.0 - resolution: "convert-source-map@npm:2.0.0" - checksum: 10c0/8f2f7a27a1a011cc6cc88cc4da2d7d0cfa5ee0369508baae3d98c260bb3ac520691464e5bbe4ae7cdf09860c1d69ecc6f70c63c6e7c7f7e3f18ec08484dc7d9b - languageName: node - linkType: hard - -"cookie@npm:^0.5.0": - version: 0.5.0 - resolution: "cookie@npm:0.5.0" - checksum: 10c0/c01ca3ef8d7b8187bae434434582288681273b5a9ed27521d4d7f9f7928fe0c920df0decd9f9d3bbd2d14ac432b8c8cf42b98b3bdd5bfe0e6edddeebebe8b61d - languageName: node - linkType: hard - -"create-require@npm:^1.1.0": - version: 1.1.1 - resolution: "create-require@npm:1.1.1" - checksum: 10c0/157cbc59b2430ae9a90034a5f3a1b398b6738bf510f713edc4d4e45e169bc514d3d99dd34d8d01ca7ae7830b5b8b537e46ae8f3c8f932371b0875c0151d7ec91 - languageName: node - linkType: hard - -"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" - dependencies: - path-key: "npm:^3.1.0" - shebang-command: "npm:^2.0.0" - which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 - languageName: node - linkType: hard - -"dateformat@npm:^4.6.3": - version: 4.6.3 - resolution: "dateformat@npm:4.6.3" - checksum: 10c0/e2023b905e8cfe2eb8444fb558562b524807a51cdfe712570f360f873271600b5c94aebffaf11efb285e2c072264a7cf243eadb68f3eba0f8cc85fb86cd25df6 - languageName: node - linkType: hard - -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": - version: 4.3.4 - resolution: "debug@npm:4.3.4" - dependencies: - ms: "npm:2.1.2" - peerDependenciesMeta: - supports-color: - optional: true - checksum: 10c0/cedbec45298dd5c501d01b92b119cd3faebe5438c3917ff11ae1bff86a6c722930ac9c8659792824013168ba6db7c4668225d845c633fbdafbbf902a6389f736 - languageName: node - linkType: hard - -"decompress-response@npm:^6.0.0": - version: 6.0.0 - resolution: "decompress-response@npm:6.0.0" - dependencies: - mimic-response: "npm:^3.1.0" - checksum: 10c0/bd89d23141b96d80577e70c54fb226b2f40e74a6817652b80a116d7befb8758261ad073a8895648a29cc0a5947021ab66705cb542fa9c143c82022b27c5b175e - languageName: node - linkType: hard - -"deep-eql@npm:^4.1.3": - version: 4.1.3 - resolution: "deep-eql@npm:4.1.3" - dependencies: - type-detect: "npm:^4.0.0" - checksum: 10c0/ff34e8605d8253e1bf9fe48056e02c6f347b81d9b5df1c6650a1b0f6f847b4a86453b16dc226b34f853ef14b626e85d04e081b022e20b00cd7d54f079ce9bbdd - languageName: node - linkType: hard - -"deep-extend@npm:^0.6.0": - version: 0.6.0 - resolution: "deep-extend@npm:0.6.0" - checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566 - languageName: node - linkType: hard - -"deep-is@npm:^0.1.3": - version: 0.1.4 - resolution: "deep-is@npm:0.1.4" - checksum: 10c0/7f0ee496e0dff14a573dc6127f14c95061b448b87b995fc96c017ce0a1e66af1675e73f1d6064407975bc4ea6ab679497a29fff7b5b9c4e99cb10797c1ad0b4c - languageName: node - linkType: hard - -"delegates@npm:^1.0.0": - version: 1.0.0 - resolution: "delegates@npm:1.0.0" - checksum: 10c0/ba05874b91148e1db4bf254750c042bf2215febd23a6d3cda2e64896aef79745fbd4b9996488bd3cafb39ce19dbce0fd6e3b6665275638befffe1c9b312b91b5 - languageName: node - linkType: hard - -"depd@npm:2.0.0": - version: 2.0.0 - resolution: "depd@npm:2.0.0" - checksum: 10c0/58bd06ec20e19529b06f7ad07ddab60e504d9e0faca4bd23079fac2d279c3594334d736508dc350e06e510aba5e22e4594483b3a6562ce7c17dd797f4cc4ad2c - languageName: node - linkType: hard - -"detect-libc@npm:^2.0.0, detect-libc@npm:^2.0.2": - version: 2.0.2 - resolution: "detect-libc@npm:2.0.2" - checksum: 10c0/a9f4ffcd2701525c589617d98afe5a5d0676c8ea82bcc4ed6f3747241b79f781d36437c59a5e855254c864d36a3e9f8276568b6b531c28d6e53b093a15703f11 - languageName: node - linkType: hard - -"diff-sequences@npm:^29.6.3": - version: 29.6.3 - resolution: "diff-sequences@npm:29.6.3" - checksum: 10c0/32e27ac7dbffdf2fb0eb5a84efd98a9ad084fbabd5ac9abb8757c6770d5320d2acd172830b28c4add29bb873d59420601dfc805ac4064330ce59b1adfd0593b2 - languageName: node - linkType: hard - -"diff@npm:^4.0.1": - version: 4.0.2 - resolution: "diff@npm:4.0.2" - checksum: 10c0/81b91f9d39c4eaca068eb0c1eb0e4afbdc5bb2941d197f513dd596b820b956fef43485876226d65d497bebc15666aa2aa82c679e84f65d5f2bfbf14ee46e32c1 - languageName: node - linkType: hard - -"dir-glob@npm:^3.0.1": - version: 3.0.1 - resolution: "dir-glob@npm:3.0.1" - dependencies: - path-type: "npm:^4.0.0" - checksum: 10c0/dcac00920a4d503e38bb64001acb19df4efc14536ada475725e12f52c16777afdee4db827f55f13a908ee7efc0cb282e2e3dbaeeb98c0993dd93d1802d3bf00c - languageName: node - linkType: hard - -"dlv@npm:^1.1.0": - version: 1.1.3 - resolution: "dlv@npm:1.1.3" - checksum: 10c0/03eb4e769f19a027fd5b43b59e8a05e3fd2100ac239ebb0bf9a745de35d449e2f25cfaf3aa3934664551d72856f4ae8b7822016ce5c42c2d27c18ae79429ec42 - languageName: node - linkType: hard - -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: "npm:^2.0.2" - checksum: 10c0/c96bdccabe9d62ab6fea9399fdff04a66e6563c1d6fb3a3a063e8d53c3bb136ba63e84250bbf63d00086a769ad53aef92d2bd483f03f837fc97b71cbee6b2520 - languageName: node - linkType: hard - -"eastasianwidth@npm:^0.2.0": - version: 0.2.0 - resolution: "eastasianwidth@npm:0.2.0" - checksum: 10c0/26f364ebcdb6395f95124fda411f63137a4bfb5d3a06453f7f23dfe52502905bd84e0488172e0f9ec295fdc45f05c23d5d91baf16bd26f0fe9acd777a188dc39 - languageName: node - linkType: hard - -"emittery@npm:^0.13.0": - version: 0.13.1 - resolution: "emittery@npm:0.13.1" - checksum: 10c0/1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 - languageName: node - linkType: hard - -"emoji-regex@npm:^8.0.0": - version: 8.0.0 - resolution: "emoji-regex@npm:8.0.0" - checksum: 10c0/b6053ad39951c4cf338f9092d7bfba448cdfd46fe6a2a034700b149ac9ffbc137e361cbd3c442297f86bed2e5f7576c1b54cc0a6bf8ef5106cc62f496af35010 - languageName: node - linkType: hard - -"emoji-regex@npm:^9.2.2": - version: 9.2.2 - resolution: "emoji-regex@npm:9.2.2" - checksum: 10c0/af014e759a72064cf66e6e694a7fc6b0ed3d8db680427b021a89727689671cefe9d04151b2cad51dbaf85d5ba790d061cd167f1cf32eb7b281f6368b3c181639 - languageName: node - linkType: hard - -"encoding@npm:^0.1.12, encoding@npm:^0.1.13": - version: 0.1.13 - resolution: "encoding@npm:0.1.13" - dependencies: - iconv-lite: "npm:^0.6.2" - checksum: 10c0/36d938712ff00fe1f4bac88b43bcffb5930c1efa57bbcdca9d67e1d9d6c57cfb1200fb01efe0f3109b2ce99b231f90779532814a81370a1bd3274a0f58585039 - languageName: node - linkType: hard - -"end-of-stream@npm:^1.1.0, end-of-stream@npm:^1.4.1": - version: 1.4.4 - resolution: "end-of-stream@npm:1.4.4" - dependencies: - once: "npm:^1.4.0" - checksum: 10c0/870b423afb2d54bb8d243c63e07c170409d41e20b47eeef0727547aea5740bd6717aca45597a9f2745525667a6b804c1e7bede41f856818faee5806dd9ff3975 - languageName: node - linkType: hard - -"entities@npm:~2.1.0": - version: 2.1.0 - resolution: "entities@npm:2.1.0" - checksum: 10c0/dd96ed95f7e017b7fbbcdd39bd6dc3dea6638f747c00610b53f23ea461ac409af87670f313805d85854bfce04f96e17d83575f75b3b2920365d78678ccd2a405 - languageName: node - linkType: hard - -"env-paths@npm:^2.2.0": - version: 2.2.1 - resolution: "env-paths@npm:2.2.1" - checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4 - languageName: node - linkType: hard - -"err-code@npm:^2.0.2": - version: 2.0.3 - resolution: "err-code@npm:2.0.3" - checksum: 10c0/b642f7b4dd4a376e954947550a3065a9ece6733ab8e51ad80db727aaae0817c2e99b02a97a3d6cecc648a97848305e728289cf312d09af395403a90c9d4d8a66 - languageName: node - linkType: hard - -"es6-error@npm:^4.1.1": - version: 4.1.1 - resolution: "es6-error@npm:4.1.1" - checksum: 10c0/357663fb1e845c047d548c3d30f86e005db71e122678f4184ced0693f634688c3f3ef2d7de7d4af732f734de01f528b05954e270f06aa7d133679fb9fe6600ef - languageName: node - linkType: hard - -"esbuild@npm:^0.19.3, esbuild@npm:~0.19.10": - version: 0.19.12 - resolution: "esbuild@npm:0.19.12" - dependencies: - "@esbuild/aix-ppc64": "npm:0.19.12" - "@esbuild/android-arm": "npm:0.19.12" - "@esbuild/android-arm64": "npm:0.19.12" - "@esbuild/android-x64": "npm:0.19.12" - "@esbuild/darwin-arm64": "npm:0.19.12" - "@esbuild/darwin-x64": "npm:0.19.12" - "@esbuild/freebsd-arm64": "npm:0.19.12" - "@esbuild/freebsd-x64": "npm:0.19.12" - "@esbuild/linux-arm": "npm:0.19.12" - "@esbuild/linux-arm64": "npm:0.19.12" - "@esbuild/linux-ia32": "npm:0.19.12" - "@esbuild/linux-loong64": "npm:0.19.12" - "@esbuild/linux-mips64el": "npm:0.19.12" - "@esbuild/linux-ppc64": "npm:0.19.12" - "@esbuild/linux-riscv64": "npm:0.19.12" - "@esbuild/linux-s390x": "npm:0.19.12" - "@esbuild/linux-x64": "npm:0.19.12" - "@esbuild/netbsd-x64": "npm:0.19.12" - "@esbuild/openbsd-x64": "npm:0.19.12" - "@esbuild/sunos-x64": "npm:0.19.12" - "@esbuild/win32-arm64": "npm:0.19.12" - "@esbuild/win32-ia32": "npm:0.19.12" - "@esbuild/win32-x64": "npm:0.19.12" - dependenciesMeta: - "@esbuild/aix-ppc64": - optional: true - "@esbuild/android-arm": - optional: true - "@esbuild/android-arm64": - optional: true - "@esbuild/android-x64": - optional: true - "@esbuild/darwin-arm64": - optional: true - "@esbuild/darwin-x64": - optional: true - "@esbuild/freebsd-arm64": - optional: true - "@esbuild/freebsd-x64": - optional: true - "@esbuild/linux-arm": - optional: true - "@esbuild/linux-arm64": - optional: true - "@esbuild/linux-ia32": - optional: true - "@esbuild/linux-loong64": - optional: true - "@esbuild/linux-mips64el": - optional: true - "@esbuild/linux-ppc64": - optional: true - "@esbuild/linux-riscv64": - optional: true - "@esbuild/linux-s390x": - optional: true - "@esbuild/linux-x64": - optional: true - "@esbuild/netbsd-x64": - optional: true - "@esbuild/openbsd-x64": - optional: true - "@esbuild/sunos-x64": - optional: true - "@esbuild/win32-arm64": - optional: true - "@esbuild/win32-ia32": - optional: true - "@esbuild/win32-x64": - optional: true - bin: - esbuild: bin/esbuild - checksum: 10c0/0f2d21ffe24ebead64843f87c3aebe2e703a5ed9feb086a0728b24907fac2eb9923e4a79857d3df9059c915739bd7a870dd667972eae325c67f478b592b8582d - languageName: node - linkType: hard - -"escape-string-regexp@npm:^1.0.2": - version: 1.0.5 - resolution: "escape-string-regexp@npm:1.0.5" - checksum: 10c0/a968ad453dd0c2724e14a4f20e177aaf32bb384ab41b674a8454afe9a41c5e6fe8903323e0a1052f56289d04bd600f81278edf140b0fcc02f5cac98d0f5b5371 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^2.0.0": - version: 2.0.0 - resolution: "escape-string-regexp@npm:2.0.0" - checksum: 10c0/2530479fe8db57eace5e8646c9c2a9c80fa279614986d16dcc6bcaceb63ae77f05a851ba6c43756d816c61d7f4534baf56e3c705e3e0d884818a46808811c507 - languageName: node - linkType: hard - -"escape-string-regexp@npm:^4.0.0": - version: 4.0.0 - resolution: "escape-string-regexp@npm:4.0.0" - checksum: 10c0/9497d4dd307d845bd7f75180d8188bb17ea8c151c1edbf6b6717c100e104d629dc2dfb687686181b0f4b7d732c7dfdc4d5e7a8ff72de1b0ca283a75bbb3a9cd9 - languageName: node - linkType: hard - -"eslint-config-prettier@npm:^9.1.0": - version: 9.1.0 - resolution: "eslint-config-prettier@npm:9.1.0" - peerDependencies: - eslint: ">=7.0.0" - bin: - eslint-config-prettier: bin/cli.js - checksum: 10c0/6d332694b36bc9ac6fdb18d3ca2f6ac42afa2ad61f0493e89226950a7091e38981b66bac2b47ba39d15b73fff2cd32c78b850a9cf9eed9ca9a96bfb2f3a2f10d - languageName: node - linkType: hard - -"eslint-plugin-prettier@npm:5.1.2": - version: 5.1.2 - resolution: "eslint-plugin-prettier@npm:5.1.2" - dependencies: - prettier-linter-helpers: "npm:^1.0.0" - synckit: "npm:^0.8.6" - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - checksum: 10c0/e16c9fbb0e9f8da45bdbb1cf6e4a190266235c3686deede3815196d2604bbe2bac531d1fc9adc3c0b9a03d88b55bd3bfaa4f9d85e34e73dc040d545a1931fab9 - languageName: node - linkType: hard - -"eslint-scope@npm:^7.1.1, eslint-scope@npm:^7.2.2": - version: 7.2.2 - resolution: "eslint-scope@npm:7.2.2" - dependencies: - esrecurse: "npm:^4.3.0" - estraverse: "npm:^5.2.0" - checksum: 10c0/613c267aea34b5a6d6c00514e8545ef1f1433108097e857225fed40d397dd6b1809dffd11c2fde23b37ca53d7bf935fe04d2a18e6fc932b31837b6ad67e1c116 - languageName: node - linkType: hard - -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": - version: 3.4.3 - resolution: "eslint-visitor-keys@npm:3.4.3" - checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 - languageName: node - linkType: hard - -"eslint@npm:^8.56.0, eslint@npm:^8.7.0": - version: 8.56.0 - resolution: "eslint@npm:8.56.0" - dependencies: - "@eslint-community/eslint-utils": "npm:^4.2.0" - "@eslint-community/regexpp": "npm:^4.6.1" - "@eslint/eslintrc": "npm:^2.1.4" - "@eslint/js": "npm:8.56.0" - "@humanwhocodes/config-array": "npm:^0.11.13" - "@humanwhocodes/module-importer": "npm:^1.0.1" - "@nodelib/fs.walk": "npm:^1.2.8" - "@ungap/structured-clone": "npm:^1.2.0" - ajv: "npm:^6.12.4" - chalk: "npm:^4.0.0" - cross-spawn: "npm:^7.0.2" - debug: "npm:^4.3.2" - doctrine: "npm:^3.0.0" - escape-string-regexp: "npm:^4.0.0" - eslint-scope: "npm:^7.2.2" - eslint-visitor-keys: "npm:^3.4.3" - espree: "npm:^9.6.1" - esquery: "npm:^1.4.2" - esutils: "npm:^2.0.2" - fast-deep-equal: "npm:^3.1.3" - file-entry-cache: "npm:^6.0.1" - find-up: "npm:^5.0.0" - glob-parent: "npm:^6.0.2" - globals: "npm:^13.19.0" - graphemer: "npm:^1.4.0" - ignore: "npm:^5.2.0" - imurmurhash: "npm:^0.1.4" - is-glob: "npm:^4.0.0" - is-path-inside: "npm:^3.0.3" - js-yaml: "npm:^4.1.0" - json-stable-stringify-without-jsonify: "npm:^1.0.1" - levn: "npm:^0.4.1" - lodash.merge: "npm:^4.6.2" - minimatch: "npm:^3.1.2" - natural-compare: "npm:^1.4.0" - optionator: "npm:^0.9.3" - strip-ansi: "npm:^6.0.1" - text-table: "npm:^0.2.0" - bin: - eslint: bin/eslint.js - checksum: 10c0/2be598f7da1339d045ad933ffd3d4742bee610515cd2b0d9a2b8b729395a01d4e913552fff555b559fccaefd89d7b37632825789d1b06470608737ae69ab43fb - languageName: node - linkType: hard - -"espree@npm:^9.3.1, espree@npm:^9.6.0, espree@npm:^9.6.1": - version: 9.6.1 - resolution: "espree@npm:9.6.1" - dependencies: - acorn: "npm:^8.9.0" - acorn-jsx: "npm:^5.3.2" - eslint-visitor-keys: "npm:^3.4.1" - checksum: 10c0/1a2e9b4699b715347f62330bcc76aee224390c28bb02b31a3752e9d07549c473f5f986720483c6469cf3cfb3c9d05df612ffc69eb1ee94b54b739e67de9bb460 - languageName: node - linkType: hard - -"esquery@npm:^1.4.0, esquery@npm:^1.4.2": - version: 1.5.0 - resolution: "esquery@npm:1.5.0" - dependencies: - estraverse: "npm:^5.1.0" - checksum: 10c0/a084bd049d954cc88ac69df30534043fb2aee5555b56246493f42f27d1e168f00d9e5d4192e46f10290d312dc30dc7d58994d61a609c579c1219d636996f9213 - languageName: node - linkType: hard - -"esrecurse@npm:^4.3.0": - version: 4.3.0 - resolution: "esrecurse@npm:4.3.0" - dependencies: - estraverse: "npm:^5.2.0" - checksum: 10c0/81a37116d1408ded88ada45b9fb16dbd26fba3aadc369ce50fcaf82a0bac12772ebd7b24cd7b91fc66786bf2c1ac7b5f196bc990a473efff972f5cb338877cf5 - languageName: node - linkType: hard - -"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0": - version: 5.3.0 - resolution: "estraverse@npm:5.3.0" - checksum: 10c0/1ff9447b96263dec95d6d67431c5e0771eb9776427421260a3e2f0fdd5d6bd4f8e37a7338f5ad2880c9f143450c9b1e4fc2069060724570a49cf9cf0312bd107 - languageName: node - linkType: hard - -"estree-walker@npm:^3.0.3": - version: 3.0.3 - resolution: "estree-walker@npm:3.0.3" - dependencies: - "@types/estree": "npm:^1.0.0" - checksum: 10c0/c12e3c2b2642d2bcae7d5aa495c60fa2f299160946535763969a1c83fc74518ffa9c2cd3a8b69ac56aea547df6a8aac25f729a342992ef0bbac5f1c73e78995d - languageName: node - linkType: hard - -"esutils@npm:^2.0.2": - version: 2.0.3 - resolution: "esutils@npm:2.0.3" - checksum: 10c0/9a2fe69a41bfdade834ba7c42de4723c97ec776e40656919c62cbd13607c45e127a003f05f724a1ea55e5029a4cf2de444b13009f2af71271e42d93a637137c7 - languageName: node - linkType: hard - -"event-target-shim@npm:^5.0.0": - version: 5.0.1 - resolution: "event-target-shim@npm:5.0.1" - checksum: 10c0/0255d9f936215fd206156fd4caa9e8d35e62075d720dc7d847e89b417e5e62cf1ce6c9b4e0a1633a9256de0efefaf9f8d26924b1f3c8620cffb9db78e7d3076b - languageName: node - linkType: hard - -"events@npm:^3.3.0": - version: 3.3.0 - resolution: "events@npm:3.3.0" - checksum: 10c0/d6b6f2adbccbcda74ddbab52ed07db727ef52e31a61ed26db9feb7dc62af7fc8e060defa65e5f8af9449b86b52cc1a1f6a79f2eafcf4e62add2b7a1fa4a432f6 - languageName: node - linkType: hard - -"execa@npm:^8.0.1": - version: 8.0.1 - resolution: "execa@npm:8.0.1" - dependencies: - cross-spawn: "npm:^7.0.3" - get-stream: "npm:^8.0.1" - human-signals: "npm:^5.0.0" - is-stream: "npm:^3.0.0" - merge-stream: "npm:^2.0.0" - npm-run-path: "npm:^5.1.0" - onetime: "npm:^6.0.0" - signal-exit: "npm:^4.1.0" - strip-final-newline: "npm:^3.0.0" - checksum: 10c0/2c52d8775f5bf103ce8eec9c7ab3059909ba350a5164744e9947ed14a53f51687c040a250bda833f906d1283aa8803975b84e6c8f7a7c42f99dc8ef80250d1af - languageName: node - linkType: hard - -"expand-template@npm:^2.0.3": - version: 2.0.3 - resolution: "expand-template@npm:2.0.3" - checksum: 10c0/1c9e7afe9acadf9d373301d27f6a47b34e89b3391b1ef38b7471d381812537ef2457e620ae7f819d2642ce9c43b189b3583813ec395e2938319abe356a9b2f51 - languageName: node - linkType: hard - -"exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 - languageName: node - linkType: hard - -"fast-content-type-parse@npm:^1.1.0": - version: 1.1.0 - resolution: "fast-content-type-parse@npm:1.1.0" - checksum: 10c0/882bf990fa5d64be1825ce183818db43900ece0d7ef184cb9409bae8ed1001acbe536a657b1496382cb3e308e71ab39cc399bbdae70cba1745eecaeca4e55384 - languageName: node - linkType: hard - -"fast-copy@npm:^3.0.0": - version: 3.0.1 - resolution: "fast-copy@npm:3.0.1" - checksum: 10c0/a8310dbcc4c94ed001dc3e0bbc3c3f0491bb04e6c17163abe441a54997ba06cdf1eb532c2f05e54777c6f072c84548c23ef0ecd54665cd611be1d42f37eca258 - languageName: node - linkType: hard - -"fast-decode-uri-component@npm:^1.0.1": - version: 1.0.1 - resolution: "fast-decode-uri-component@npm:1.0.1" - checksum: 10c0/039d50c2e99d64f999c3f2126c23fbf75a04a4117e218a149ca0b1d2aeb8c834b7b19d643b9d35d4eabce357189a6a94085f78cf48869e6e26cc59b036284bc3 - languageName: node - linkType: hard - -"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": - version: 3.1.3 - resolution: "fast-deep-equal@npm:3.1.3" - checksum: 10c0/40dedc862eb8992c54579c66d914635afbec43350afbbe991235fdcb4e3a8d5af1b23ae7e79bef7d4882d0ecee06c3197488026998fb19f72dc95acff1d1b1d0 - languageName: node - linkType: hard - -"fast-diff@npm:^1.1.2": - version: 1.3.0 - resolution: "fast-diff@npm:1.3.0" - checksum: 10c0/5c19af237edb5d5effda008c891a18a585f74bf12953be57923f17a3a4d0979565fc64dbc73b9e20926b9d895f5b690c618cbb969af0cf022e3222471220ad29 - languageName: node - linkType: hard - -"fast-glob@npm:^3.2.9": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" - dependencies: - "@nodelib/fs.stat": "npm:^2.0.2" - "@nodelib/fs.walk": "npm:^1.2.3" - glob-parent: "npm:^5.1.2" - merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 - languageName: node - linkType: hard - -"fast-json-stable-stringify@npm:^2.0.0": - version: 2.1.0 - resolution: "fast-json-stable-stringify@npm:2.1.0" - checksum: 10c0/7f081eb0b8a64e0057b3bb03f974b3ef00135fbf36c1c710895cd9300f13c94ba809bb3a81cf4e1b03f6e5285610a61abbd7602d0652de423144dfee5a389c9b - languageName: node - linkType: hard - -"fast-json-stringify@npm:^5.7.0, fast-json-stringify@npm:^5.8.0": - version: 5.10.0 - resolution: "fast-json-stringify@npm:5.10.0" - dependencies: - "@fastify/deepmerge": "npm:^1.0.0" - ajv: "npm:^8.10.0" - ajv-formats: "npm:^2.1.1" - fast-deep-equal: "npm:^3.1.3" - fast-uri: "npm:^2.1.0" - json-schema-ref-resolver: "npm:^1.0.1" - rfdc: "npm:^1.2.0" - checksum: 10c0/90a20ef7a54f962d76ae8039c6987bd1e8d8130415f12c8a958265cfd973a2cd1f6f71bbb2e5bd8ea88fab50e9bf83c8f7b00173be38e79fe17412733c0d2ade - languageName: node - linkType: hard - -"fast-levenshtein@npm:^2.0.6": - version: 2.0.6 - resolution: "fast-levenshtein@npm:2.0.6" - checksum: 10c0/111972b37338bcb88f7d9e2c5907862c280ebf4234433b95bc611e518d192ccb2d38119c4ac86e26b668d75f7f3894f4ff5c4982899afced7ca78633b08287c4 - languageName: node - linkType: hard - -"fast-printf@npm:^1.6.9": - version: 1.6.9 - resolution: "fast-printf@npm:1.6.9" - dependencies: - boolean: "npm:^3.1.4" - checksum: 10c0/0196827f4c125e147e0dab1201355146f04159ea6c6f19c6f8e44476cf1d88e58a3b3aa83ec33e5b2315a53e2cb7b2e518ce28bdb7b0f8d0d01774286e670f4f - languageName: node - linkType: hard - -"fast-querystring@npm:^1.0.0": - version: 1.1.2 - resolution: "fast-querystring@npm:1.1.2" - dependencies: - fast-decode-uri-component: "npm:^1.0.1" - checksum: 10c0/e8223273a9b199722f760f5a047a77ad049a14bd444b821502cb8218f5925e3a5fffb56b64389bca73ab2ac6f1aa7aebbe4e203e5f6e53ff5978de97c0fde4e3 - languageName: node - linkType: hard - -"fast-redact@npm:^3.1.1": - version: 3.3.0 - resolution: "fast-redact@npm:3.3.0" - checksum: 10c0/d81562510681e9ba6404ee5d3838ff5257a44d2f80937f5024c099049ff805437d0fae0124458a7e87535cc9dcf4de305bb075cab8f08d6c720bbc3447861b4e - languageName: node - linkType: hard - -"fast-safe-stringify@npm:^2.1.1": - version: 2.1.1 - resolution: "fast-safe-stringify@npm:2.1.1" - checksum: 10c0/d90ec1c963394919828872f21edaa3ad6f1dddd288d2bd4e977027afff09f5db40f94e39536d4646f7e01761d704d72d51dce5af1b93717f3489ef808f5f4e4d - languageName: node - linkType: hard - -"fast-uri@npm:^2.0.0, fast-uri@npm:^2.1.0": - version: 2.3.0 - resolution: "fast-uri@npm:2.3.0" - checksum: 10c0/72844622c8b9d92dbb783723628d1069c999b31bfaa74af9e9afae0e0c22faf18c988a0ce55e775dce4c404f4cca75fa43e1f0ab07075342cff99796f4920945 - languageName: node - linkType: hard - -"fastify-plugin@npm:^4.0.0": - version: 4.5.1 - resolution: "fastify-plugin@npm:4.5.1" - checksum: 10c0/f58f79cd9d3c88fd7f79a3270276c6339fc57bbe72ef14d20b73779193c404e317ac18e8eae2c5071b3909ebee45d7eb6871da4e65464ac64ed0d9746b4e9b9f - languageName: node - linkType: hard - -"fastify@npm:^4.25.2": - version: 4.26.0 - resolution: "fastify@npm:4.26.0" - dependencies: - "@fastify/ajv-compiler": "npm:^3.5.0" - "@fastify/error": "npm:^3.4.0" - "@fastify/fast-json-stringify-compiler": "npm:^4.3.0" - abstract-logging: "npm:^2.0.1" - avvio: "npm:^8.2.1" - fast-content-type-parse: "npm:^1.1.0" - fast-json-stringify: "npm:^5.8.0" - find-my-way: "npm:^8.0.0" - light-my-request: "npm:^5.11.0" - pino: "npm:^8.17.0" - process-warning: "npm:^3.0.0" - proxy-addr: "npm:^2.0.7" - rfdc: "npm:^1.3.0" - secure-json-parse: "npm:^2.7.0" - semver: "npm:^7.5.4" - toad-cache: "npm:^3.3.0" - checksum: 10c0/6fa63caef229b3773c0702b5832e4df4a69aa54b16afb896794987bcdb68f2f874c7724c438a181a3dace58319ca5229669292e1ad3217a623b4d70a56970ad9 - languageName: node - linkType: hard - -"fastq@npm:^1.6.0, fastq@npm:^1.6.1": - version: 1.17.0 - resolution: "fastq@npm:1.17.0" - dependencies: - reusify: "npm:^1.0.4" - checksum: 10c0/0a90ed46ccd6a858a32e297bd35f4249ba6544899b905d08f33a6ba36459041639161fa15bc85a38afa98dd44fb2fa2969419a879721a1395d3e24668a7732c7 - languageName: node - linkType: hard - -"file-entry-cache@npm:^6.0.1": - version: 6.0.1 - resolution: "file-entry-cache@npm:6.0.1" - dependencies: - flat-cache: "npm:^3.0.4" - checksum: 10c0/58473e8a82794d01b38e5e435f6feaf648e3f36fdb3a56e98f417f4efae71ad1c0d4ebd8a9a7c50c3ad085820a93fc7494ad721e0e4ebc1da3573f4e1c3c7cdd - languageName: node - linkType: hard - -"file-uri-to-path@npm:1.0.0": - version: 1.0.0 - resolution: "file-uri-to-path@npm:1.0.0" - checksum: 10c0/3b545e3a341d322d368e880e1c204ef55f1d45cdea65f7efc6c6ce9e0c4d22d802d5629320eb779d006fe59624ac17b0e848d83cc5af7cd101f206cb704f5519 - languageName: node - linkType: hard - -"fill-range@npm:^7.0.1": - version: 7.0.1 - resolution: "fill-range@npm:7.0.1" - dependencies: - to-regex-range: "npm:^5.0.1" - checksum: 10c0/7cdad7d426ffbaadf45aeb5d15ec675bbd77f7597ad5399e3d2766987ed20bda24d5fac64b3ee79d93276f5865608bb22344a26b9b1ae6c4d00bd94bf611623f - languageName: node - linkType: hard - -"find-my-way@npm:^8.0.0": - version: 8.1.0 - resolution: "find-my-way@npm:8.1.0" - dependencies: - fast-deep-equal: "npm:^3.1.3" - fast-querystring: "npm:^1.0.0" - safe-regex2: "npm:^2.0.0" - checksum: 10c0/f0f6a01953e4bc1789fdae1e861b0a0b1cb930f0c9c8c03e21fc27664a0cb50c22a56218e7b3738791aa6a01a452f73ee5a02063837fcab96988c3c63dcb8e43 - languageName: node - linkType: hard - -"find-up@npm:^5.0.0": - version: 5.0.0 - resolution: "find-up@npm:5.0.0" - dependencies: - locate-path: "npm:^6.0.0" - path-exists: "npm:^4.0.0" - checksum: 10c0/062c5a83a9c02f53cdd6d175a37ecf8f87ea5bbff1fdfb828f04bfa021441bc7583e8ebc0872a4c1baab96221fb8a8a275a19809fb93fbc40bd69ec35634069a - languageName: node - linkType: hard - -"flat-cache@npm:^3.0.4": - version: 3.2.0 - resolution: "flat-cache@npm:3.2.0" - dependencies: - flatted: "npm:^3.2.9" - keyv: "npm:^4.5.3" - rimraf: "npm:^3.0.2" - checksum: 10c0/b76f611bd5f5d68f7ae632e3ae503e678d205cf97a17c6ab5b12f6ca61188b5f1f7464503efae6dc18683ed8f0b41460beb48ac4b9ac63fe6201296a91ba2f75 - languageName: node - linkType: hard - -"flatted@npm:^3.2.9": - version: 3.2.9 - resolution: "flatted@npm:3.2.9" - checksum: 10c0/5c91c5a0a21bbc0b07b272231e5b4efe6b822bcb4ad317caf6bb06984be4042a9e9045026307da0fdb4583f1f545e317a67ef1231a59e71f7fced3cc429cfc53 - languageName: node - linkType: hard - -"foreground-child@npm:^3.1.0": - version: 3.1.1 - resolution: "foreground-child@npm:3.1.1" - dependencies: - cross-spawn: "npm:^7.0.0" - signal-exit: "npm:^4.0.1" - checksum: 10c0/9700a0285628abaeb37007c9a4d92bd49f67210f09067638774338e146c8e9c825c5c877f072b2f75f41dc6a2d0be8664f79ffc03f6576649f54a84fb9b47de0 - languageName: node - linkType: hard - -"forwarded@npm:0.2.0, forwarded@npm:^0.2.0": - version: 0.2.0 - resolution: "forwarded@npm:0.2.0" - checksum: 10c0/9b67c3fac86acdbc9ae47ba1ddd5f2f81526fa4c8226863ede5600a3f7c7416ef451f6f1e240a3cc32d0fd79fcfe6beb08fd0da454f360032bde70bf80afbb33 - languageName: node - linkType: hard - -"fs-constants@npm:^1.0.0": - version: 1.0.0 - resolution: "fs-constants@npm:1.0.0" - checksum: 10c0/a0cde99085f0872f4d244e83e03a46aa387b74f5a5af750896c6b05e9077fac00e9932fdf5aef84f2f16634cd473c63037d7a512576da7d5c2b9163d1909f3a8 - languageName: node - linkType: hard - -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 - languageName: node - linkType: hard - -"fs-minipass@npm:^3.0.0": - version: 3.0.3 - resolution: "fs-minipass@npm:3.0.3" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/63e80da2ff9b621e2cb1596abcb9207f1cf82b968b116ccd7b959e3323144cce7fb141462200971c38bbf2ecca51695069db45265705bed09a7cd93ae5b89f94 - languageName: node - linkType: hard - -"fs.realpath@npm:^1.0.0": - version: 1.0.0 - resolution: "fs.realpath@npm:1.0.0" - checksum: 10c0/444cf1291d997165dfd4c0d58b69f0e4782bfd9149fd72faa4fe299e68e0e93d6db941660b37dd29153bf7186672ececa3b50b7e7249477b03fdf850f287c948 - languageName: node - linkType: hard - -"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3": - version: 2.3.3 - resolution: "fsevents@npm:2.3.3" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/a1f0c44595123ed717febbc478aa952e47adfc28e2092be66b8ab1635147254ca6cfe1df792a8997f22716d4cbafc73309899ff7bfac2ac3ad8cf2e4ecc3ec60 - conditions: os=darwin - languageName: node - linkType: hard - -"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin": - version: 2.3.3 - resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1" - dependencies: - node-gyp: "npm:latest" - conditions: os=darwin - languageName: node - linkType: hard - -"gauge@npm:^4.0.3": - version: 4.0.4 - resolution: "gauge@npm:4.0.4" - dependencies: - aproba: "npm:^1.0.3 || ^2.0.0" - color-support: "npm:^1.1.3" - console-control-strings: "npm:^1.1.0" - has-unicode: "npm:^2.0.1" - signal-exit: "npm:^3.0.7" - string-width: "npm:^4.2.3" - strip-ansi: "npm:^6.0.1" - wide-align: "npm:^1.1.5" - checksum: 10c0/ef10d7981113d69225135f994c9f8c4369d945e64a8fc721d655a3a38421b738c9fe899951721d1b47b73c41fdb5404ac87cc8903b2ecbed95d2800363e7e58c - languageName: node - linkType: hard - -"get-func-name@npm:^2.0.1, get-func-name@npm:^2.0.2": - version: 2.0.2 - resolution: "get-func-name@npm:2.0.2" - checksum: 10c0/89830fd07623fa73429a711b9daecdb304386d237c71268007f788f113505ef1d4cc2d0b9680e072c5082490aec9df5d7758bf5ac6f1c37062855e8e3dc0b9df - languageName: node - linkType: hard - -"get-stack-trace@npm:^2.1.1": - version: 2.1.1 - resolution: "get-stack-trace@npm:2.1.1" - dependencies: - bluebird: "npm:^3.7.1" - source-map: "npm:^0.8.0-beta.0" - checksum: 10c0/09ae86164df00fa29b698210deb1986b712b51e3965e9b0f28476f751bab0bfffe56dfe9765dcb7b37f4c6cdc7bf89e5fa531fe6c74eab51ed032137b57b4a36 - languageName: node - linkType: hard - -"get-stack-trace@npm:^3.1.1": - version: 3.1.1 - resolution: "get-stack-trace@npm:3.1.1" - dependencies: - stacktrace-parser: "npm:^0.1.10" - checksum: 10c0/abec0b3c38e4d47c630ecbd1130fd50d29e42c6d0e57e8ca2578d24b28c89073f50f548c758c69e17faa1bf212644efd5079889fddfb41868d4795dd3714b3e1 - languageName: node - linkType: hard - -"get-stream@npm:^8.0.1": - version: 8.0.1 - resolution: "get-stream@npm:8.0.1" - checksum: 10c0/5c2181e98202b9dae0bb4a849979291043e5892eb40312b47f0c22b9414fc9b28a3b6063d2375705eb24abc41ecf97894d9a51f64ff021511b504477b27b4290 - languageName: node - linkType: hard - -"get-tsconfig@npm:^4.7.2": - version: 4.7.2 - resolution: "get-tsconfig@npm:4.7.2" - dependencies: - resolve-pkg-maps: "npm:^1.0.0" - checksum: 10c0/169b2beababfbb16e8a0ae813ee59d3e14d4960231c816615161ab5be68ec07a394dce59695742ac84295e2efab8d9e89bcf3abaf5e253dfbec3496e01bb9a65 - languageName: node - linkType: hard - -"github-from-package@npm:0.0.0": - version: 0.0.0 - resolution: "github-from-package@npm:0.0.0" - checksum: 10c0/737ee3f52d0a27e26332cde85b533c21fcdc0b09fb716c3f8e522cfaa9c600d4a631dec9fcde179ec9d47cca89017b7848ed4d6ae6b6b78f936c06825b1fcc12 - languageName: node - linkType: hard - -"glob-parent@npm:^5.1.2": - version: 5.1.2 - resolution: "glob-parent@npm:5.1.2" - dependencies: - is-glob: "npm:^4.0.1" - checksum: 10c0/cab87638e2112bee3f839ef5f6e0765057163d39c66be8ec1602f3823da4692297ad4e972de876ea17c44d652978638d2fd583c6713d0eb6591706825020c9ee - languageName: node - linkType: hard - -"glob-parent@npm:^6.0.2": - version: 6.0.2 - resolution: "glob-parent@npm:6.0.2" - dependencies: - is-glob: "npm:^4.0.3" - checksum: 10c0/317034d88654730230b3f43bb7ad4f7c90257a426e872ea0bf157473ac61c99bf5d205fad8f0185f989be8d2fa6d3c7dce1645d99d545b6ea9089c39f838e7f8 - languageName: node - linkType: hard - -"glob@npm:^10.2.2, glob@npm:^10.3.10": - version: 10.3.10 - resolution: "glob@npm:10.3.10" - dependencies: - foreground-child: "npm:^3.1.0" - jackspeak: "npm:^2.3.5" - minimatch: "npm:^9.0.1" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - path-scurry: "npm:^1.10.1" - bin: - glob: dist/esm/bin.mjs - checksum: 10c0/13d8a1feb7eac7945f8c8480e11cd4a44b24d26503d99a8d8ac8d5aefbf3e9802a2b6087318a829fad04cb4e829f25c5f4f1110c68966c498720dd261c7e344d - languageName: node - linkType: hard - -"glob@npm:^7.1.3, glob@npm:^7.1.4": - version: 7.2.3 - resolution: "glob@npm:7.2.3" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^3.1.1" - once: "npm:^1.3.0" - path-is-absolute: "npm:^1.0.0" - checksum: 10c0/65676153e2b0c9095100fe7f25a778bf45608eeb32c6048cf307f579649bcc30353277b3b898a3792602c65764e5baa4f643714dfbdfd64ea271d210c7a425fe - languageName: node - linkType: hard - -"glob@npm:^8.0.3": - version: 8.1.0 - resolution: "glob@npm:8.1.0" - dependencies: - fs.realpath: "npm:^1.0.0" - inflight: "npm:^1.0.4" - inherits: "npm:2" - minimatch: "npm:^5.0.1" - once: "npm:^1.3.0" - checksum: 10c0/cb0b5cab17a59c57299376abe5646c7070f8acb89df5595b492dba3bfb43d301a46c01e5695f01154e6553168207cb60d4eaf07d3be4bc3eb9b0457c5c561d0f - languageName: node - linkType: hard - -"globals@npm:^13.19.0": - version: 13.24.0 - resolution: "globals@npm:13.24.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/d3c11aeea898eb83d5ec7a99508600fbe8f83d2cf00cbb77f873dbf2bcb39428eff1b538e4915c993d8a3b3473fa71eeebfe22c9bb3a3003d1e26b1f2c8a42cd - languageName: node - linkType: hard - -"globby@npm:^11.1.0": - version: 11.1.0 - resolution: "globby@npm:11.1.0" - dependencies: - array-union: "npm:^2.1.0" - dir-glob: "npm:^3.0.1" - fast-glob: "npm:^3.2.9" - ignore: "npm:^5.2.0" - merge2: "npm:^1.4.1" - slash: "npm:^3.0.0" - checksum: 10c0/b39511b4afe4bd8a7aead3a27c4ade2b9968649abab0a6c28b1a90141b96ca68ca5db1302f7c7bd29eab66bf51e13916b8e0a3d0ac08f75e1e84a39b35691189 - languageName: node - linkType: hard - -"graceful-fs@npm:^4.1.9, graceful-fs@npm:^4.2.6": - version: 4.2.11 - resolution: "graceful-fs@npm:4.2.11" - checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 - languageName: node - linkType: hard - -"graphemer@npm:^1.4.0": - version: 1.4.0 - resolution: "graphemer@npm:1.4.0" - checksum: 10c0/e951259d8cd2e0d196c72ec711add7115d42eb9a8146c8eeda5b8d3ac91e5dd816b9cd68920726d9fd4490368e7ed86e9c423f40db87e2d8dfafa00fa17c3a31 - languageName: node - linkType: hard - -"has-ansi@npm:^2.0.0": - version: 2.0.0 - resolution: "has-ansi@npm:2.0.0" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10c0/f54e4887b9f8f3c4bfefd649c48825b3c093987c92c27880ee9898539e6f01aed261e82e73153c3f920fde0db5bf6ebd58deb498ed1debabcb4bc40113ccdf05 - languageName: node - linkType: hard - -"has-flag@npm:^4.0.0": - version: 4.0.0 - resolution: "has-flag@npm:4.0.0" - checksum: 10c0/2e789c61b7888d66993e14e8331449e525ef42aac53c627cc53d1c3334e768bcb6abdc4f5f0de1478a25beec6f0bd62c7549058b7ac53e924040d4f301f02fd1 - languageName: node - linkType: hard - -"has-unicode@npm:^2.0.1": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 10c0/ebdb2f4895c26bb08a8a100b62d362e49b2190bcfd84b76bc4be1a3bd4d254ec52d0dd9f2fbcc093fc5eb878b20c52146f9dfd33e2686ed28982187be593b47c - languageName: node - linkType: hard - -"help-me@npm:^5.0.0": - version: 5.0.0 - resolution: "help-me@npm:5.0.0" - checksum: 10c0/054c0e2e9ae2231c85ab5e04f75109b9d068ffcc54e58fb22079822a5ace8ff3d02c66fd45379c902ad5ab825e5d2e1451fcc2f7eab1eb49e7d488133ba4cacb - languageName: node - linkType: hard - -"html-escaper@npm:^2.0.0": - version: 2.0.2 - resolution: "html-escaper@npm:2.0.2" - checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0 - languageName: node - linkType: hard - -"http-cache-semantics@npm:^4.1.0, http-cache-semantics@npm:^4.1.1": - version: 4.1.1 - resolution: "http-cache-semantics@npm:4.1.1" - checksum: 10c0/ce1319b8a382eb3cbb4a37c19f6bfe14e5bb5be3d09079e885e8c513ab2d3cd9214902f8a31c9dc4e37022633ceabfc2d697405deeaf1b8f3552bb4ed996fdfc - languageName: node - linkType: hard - -"http-errors@npm:^2.0.0": - version: 2.0.0 - resolution: "http-errors@npm:2.0.0" - dependencies: - depd: "npm:2.0.0" - inherits: "npm:2.0.4" - setprototypeof: "npm:1.2.0" - statuses: "npm:2.0.1" - toidentifier: "npm:1.0.1" - checksum: 10c0/fc6f2715fe188d091274b5ffc8b3657bd85c63e969daa68ccb77afb05b071a4b62841acb7a21e417b5539014dff2ebf9550f0b14a9ff126f2734a7c1387f8e19 - languageName: node - linkType: hard - -"http-proxy-agent@npm:^4.0.1": - version: 4.0.1 - resolution: "http-proxy-agent@npm:4.0.1" - dependencies: - "@tootallnate/once": "npm:1" - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/4fa4774d65b5331814b74ac05cefea56854fc0d5989c80b13432c1b0d42a14c9f4342ca3ad9f0359a52e78da12b1744c9f8a28e50042136ea9171675d972a5fd - languageName: node - linkType: hard - -"http-proxy-agent@npm:^7.0.0": - version: 7.0.0 - resolution: "http-proxy-agent@npm:7.0.0" - dependencies: - agent-base: "npm:^7.1.0" - debug: "npm:^4.3.4" - checksum: 10c0/a11574ff39436cee3c7bc67f259444097b09474605846ddd8edf0bf4ad8644be8533db1aa463426e376865047d05dc22755e638632819317c0c2f1b2196657c8 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^5.0.0": - version: 5.0.1 - resolution: "https-proxy-agent@npm:5.0.1" - dependencies: - agent-base: "npm:6" - debug: "npm:4" - checksum: 10c0/6dd639f03434003577c62b27cafdb864784ef19b2de430d8ae2a1d45e31c4fd60719e5637b44db1a88a046934307da7089e03d6089ec3ddacc1189d8de8897d1 - languageName: node - linkType: hard - -"https-proxy-agent@npm:^7.0.1": - version: 7.0.2 - resolution: "https-proxy-agent@npm:7.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:4" - checksum: 10c0/7735eb90073db087e7e79312e3d97c8c04baf7ea7ca7b013382b6a45abbaa61b281041a98f4e13c8c80d88f843785bcc84ba189165b4b4087b1e3496ba656d77 - languageName: node - linkType: hard - -"human-signals@npm:^5.0.0": - version: 5.0.0 - resolution: "human-signals@npm:5.0.0" - checksum: 10c0/5a9359073fe17a8b58e5a085e9a39a950366d9f00217c4ff5878bd312e09d80f460536ea6a3f260b5943a01fe55c158d1cea3fc7bee3d0520aeef04f6d915c82 - languageName: node - linkType: hard - -"humanize-ms@npm:^1.2.1": - version: 1.2.1 - resolution: "humanize-ms@npm:1.2.1" - dependencies: - ms: "npm:^2.0.0" - checksum: 10c0/f34a2c20161d02303c2807badec2f3b49cbfbbb409abd4f95a07377ae01cfe6b59e3d15ac609cffcd8f2521f0eb37b7e1091acf65da99aa2a4f1ad63c21e7e7a - languageName: node - linkType: hard - -"hyperid@npm:^2.3.1": - version: 2.3.1 - resolution: "hyperid@npm:2.3.1" - dependencies: - uuid: "npm:^8.3.2" - uuid-parse: "npm:^1.1.0" - checksum: 10c0/0f3d143a7e1f40bf184e19a12577e2e2b40a5e7838a868cd28f4317fbe58e0bbe25f32f990ca6b15317363fd4d6a7c754aa0825948f28a8d5106c9cda9a31abe - languageName: node - linkType: hard - -"iconv-lite@npm:^0.6.2": - version: 0.6.3 - resolution: "iconv-lite@npm:0.6.3" - dependencies: - safer-buffer: "npm:>= 2.1.2 < 3.0.0" - checksum: 10c0/98102bc66b33fcf5ac044099d1257ba0b7ad5e3ccd3221f34dd508ab4070edff183276221684e1e0555b145fce0850c9f7d2b60a9fcac50fbb4ea0d6e845a3b1 - languageName: node - linkType: hard - -"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": - version: 1.2.1 - resolution: "ieee754@npm:1.2.1" - checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb - languageName: node - linkType: hard - -"ignore@npm:^5.2.0, ignore@npm:^5.2.4": - version: 5.3.0 - resolution: "ignore@npm:5.3.0" - checksum: 10c0/dc06bea5c23aae65d0725a957a0638b57e235ae4568dda51ca142053ed2c352de7e3bc93a69b2b32ac31966a1952e9a93c5ef2e2ab7c6b06aef9808f6b55b571 - languageName: node - linkType: hard - -"import-fresh@npm:^3.2.1": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" - dependencies: - parent-module: "npm:^1.0.0" - resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 - languageName: node - linkType: hard - -"imurmurhash@npm:^0.1.4": - version: 0.1.4 - resolution: "imurmurhash@npm:0.1.4" - checksum: 10c0/8b51313850dd33605c6c9d3fd9638b714f4c4c40250cff658209f30d40da60f78992fb2df5dabee4acf589a6a82bbc79ad5486550754bd9ec4e3fc0d4a57d6a6 - languageName: node - linkType: hard - -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - -"infer-owner@npm:^1.0.4": - version: 1.0.4 - resolution: "infer-owner@npm:1.0.4" - checksum: 10c0/a7b241e3149c26e37474e3435779487f42f36883711f198c45794703c7556bc38af224088bd4d1a221a45b8208ae2c2bcf86200383621434d0c099304481c5b9 - languageName: node - linkType: hard - -"inflight@npm:^1.0.4": - version: 1.0.6 - resolution: "inflight@npm:1.0.6" - dependencies: - once: "npm:^1.3.0" - wrappy: "npm:1" - checksum: 10c0/7faca22584600a9dc5b9fca2cd5feb7135ac8c935449837b315676b4c90aa4f391ec4f42240178244b5a34e8bede1948627fda392ca3191522fc46b34e985ab2 - languageName: node - linkType: hard - -"inherits@npm:2, inherits@npm:2.0.4, inherits@npm:^2.0.3, inherits@npm:^2.0.4": - version: 2.0.4 - resolution: "inherits@npm:2.0.4" - checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2 - languageName: node - linkType: hard - -"ini@npm:~1.3.0": - version: 1.3.8 - resolution: "ini@npm:1.3.8" - checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a - languageName: node - linkType: hard - -"int64-buffer@npm:^0.99.1007": - version: 0.99.1007 - resolution: "int64-buffer@npm:0.99.1007" - checksum: 10c0/692ac2b56660c75f3d36de1f42f0692c9d1eb91e0c2faadc08d350e2effa023cfa8c029685d8c0724c27501ed6414edf776ce04d7c4c7a49b5e89a37ae007c75 - languageName: node - linkType: hard - -"ip@npm:^2.0.0": - version: 2.0.1 - resolution: "ip@npm:2.0.1" - checksum: 10c0/cab8eb3e88d0abe23e4724829621ec4c4c5cb41a7f936a2e626c947128c1be16ed543448d42af7cca95379f9892bfcacc1ccd8d09bc7e8bea0e86d492ce33616 - languageName: node - linkType: hard - -"ipaddr.js@npm:1.9.1": - version: 1.9.1 - resolution: "ipaddr.js@npm:1.9.1" - checksum: 10c0/0486e775047971d3fdb5fb4f063829bac45af299ae0b82dcf3afa2145338e08290563a2a70f34b732d795ecc8311902e541a8530eeb30d75860a78ff4e94ce2a - languageName: node - linkType: hard - -"is-extglob@npm:^2.1.1": - version: 2.1.1 - resolution: "is-extglob@npm:2.1.1" - checksum: 10c0/5487da35691fbc339700bbb2730430b07777a3c21b9ebaecb3072512dfd7b4ba78ac2381a87e8d78d20ea08affb3f1971b4af629173a6bf435ff8a4c47747912 - languageName: node - linkType: hard - -"is-fullwidth-code-point@npm:^3.0.0": - version: 3.0.0 - resolution: "is-fullwidth-code-point@npm:3.0.0" - checksum: 10c0/bb11d825e049f38e04c06373a8d72782eee0205bda9d908cc550ccb3c59b99d750ff9537982e01733c1c94a58e35400661f57042158ff5e8f3e90cf936daf0fc - languageName: node - linkType: hard - -"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3": - version: 4.0.3 - resolution: "is-glob@npm:4.0.3" - dependencies: - is-extglob: "npm:^2.1.1" - checksum: 10c0/17fb4014e22be3bbecea9b2e3a76e9e34ff645466be702f1693e8f1ee1adac84710d0be0bd9f967d6354036fd51ab7c2741d954d6e91dae6bb69714de92c197a - languageName: node - linkType: hard - -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d - languageName: node - linkType: hard - -"is-number@npm:^7.0.0": - version: 7.0.0 - resolution: "is-number@npm:7.0.0" - checksum: 10c0/b4686d0d3053146095ccd45346461bc8e53b80aeb7671cc52a4de02dbbf7dc0d1d2a986e2fe4ae206984b4d34ef37e8b795ebc4f4295c978373e6575e295d811 - languageName: node - linkType: hard - -"is-path-inside@npm:^3.0.3": - version: 3.0.3 - resolution: "is-path-inside@npm:3.0.3" - checksum: 10c0/cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 - languageName: node - linkType: hard - -"is-plain-object@npm:^5.0.0": - version: 5.0.0 - resolution: "is-plain-object@npm:5.0.0" - checksum: 10c0/893e42bad832aae3511c71fd61c0bf61aa3a6d853061c62a307261842727d0d25f761ce9379f7ba7226d6179db2a3157efa918e7fe26360f3bf0842d9f28942c - languageName: node - linkType: hard - -"is-stream@npm:^3.0.0": - version: 3.0.0 - resolution: "is-stream@npm:3.0.0" - checksum: 10c0/eb2f7127af02ee9aa2a0237b730e47ac2de0d4e76a4a905a50a11557f2339df5765eaea4ceb8029f1efa978586abe776908720bfcb1900c20c6ec5145f6f29d8 - languageName: node - linkType: hard - -"isexe@npm:^2.0.0": - version: 2.0.0 - resolution: "isexe@npm:2.0.0" - checksum: 10c0/228cfa503fadc2c31596ab06ed6aa82c9976eec2bfd83397e7eaf06d0ccf42cd1dfd6743bf9aeb01aebd4156d009994c5f76ea898d2832c1fe342da923ca457d - languageName: node - linkType: hard - -"isexe@npm:^3.1.1": - version: 3.1.1 - resolution: "isexe@npm:3.1.1" - checksum: 10c0/9ec257654093443eb0a528a9c8cbba9c0ca7616ccb40abd6dde7202734d96bb86e4ac0d764f0f8cd965856aacbff2f4ce23e730dc19dfb41e3b0d865ca6fdcc7 - languageName: node - linkType: hard - -"iso8601-duration@npm:^1.3.0": - version: 1.3.0 - resolution: "iso8601-duration@npm:1.3.0" - checksum: 10c0/a848f4c3caca38c7a3a7ee6708f0da8ab00499b1ba4b06de95ccccecc4d1c45f60b0725b1bbd6cc36f47b59b1fb18e020b36c06368e1f908a05271076df11e05 - languageName: node - linkType: hard - -"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2": - version: 3.2.2 - resolution: "istanbul-lib-coverage@npm:3.2.2" - checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b - languageName: node - linkType: hard - -"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1": - version: 3.0.1 - resolution: "istanbul-lib-report@npm:3.0.1" - dependencies: - istanbul-lib-coverage: "npm:^3.0.0" - make-dir: "npm:^4.0.0" - supports-color: "npm:^7.1.0" - checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7 - languageName: node - linkType: hard - -"istanbul-lib-source-maps@npm:^4.0.1": - version: 4.0.1 - resolution: "istanbul-lib-source-maps@npm:4.0.1" - dependencies: - debug: "npm:^4.1.1" - istanbul-lib-coverage: "npm:^3.0.0" - source-map: "npm:^0.6.1" - checksum: 10c0/19e4cc405016f2c906dff271a76715b3e881fa9faeb3f09a86cb99b8512b3a5ed19cadfe0b54c17ca0e54c1142c9c6de9330d65506e35873994e06634eebeb66 - languageName: node - linkType: hard - -"istanbul-reports@npm:^3.1.6": - version: 3.1.6 - resolution: "istanbul-reports@npm:3.1.6" - dependencies: - html-escaper: "npm:^2.0.0" - istanbul-lib-report: "npm:^3.0.0" - checksum: 10c0/ec3f1bdbc51b3e0b325a5b9f4ad31a247697f31001df4e81075f7980413f14da1b5adfec574fd156efd3b0464023f61320f6718efc66ee72b32d89611cef99dd - languageName: node - linkType: hard - -"jackspeak@npm:^2.3.5": - version: 2.3.6 - resolution: "jackspeak@npm:2.3.6" - dependencies: - "@isaacs/cliui": "npm:^8.0.2" - "@pkgjs/parseargs": "npm:^0.11.0" - dependenciesMeta: - "@pkgjs/parseargs": - optional: true - checksum: 10c0/f01d8f972d894cd7638bc338e9ef5ddb86f7b208ce177a36d718eac96ec86638a6efa17d0221b10073e64b45edc2ce15340db9380b1f5d5c5d000cbc517dc111 - languageName: node - linkType: hard - -"joycon@npm:^3.1.1": - version: 3.1.1 - resolution: "joycon@npm:3.1.1" - checksum: 10c0/131fb1e98c9065d067fd49b6e685487ac4ad4d254191d7aa2c9e3b90f4e9ca70430c43cad001602bdbdabcf58717d3b5c5b7461c1bd8e39478c8de706b3fe6ae - languageName: node - linkType: hard - -"js-yaml@npm:^4.1.0": - version: 4.1.0 - resolution: "js-yaml@npm:4.1.0" - dependencies: - argparse: "npm:^2.0.1" - bin: - js-yaml: bin/js-yaml.js - checksum: 10c0/184a24b4eaacfce40ad9074c64fd42ac83cf74d8c8cd137718d456ced75051229e5061b8633c3366b8aada17945a7a356b337828c19da92b51ae62126575018f - languageName: node - linkType: hard - -"js2xmlparser@npm:^4.0.2": - version: 4.0.2 - resolution: "js2xmlparser@npm:4.0.2" - dependencies: - xmlcreate: "npm:^2.0.4" - checksum: 10c0/b00de9351649d67d225e21734a08f456a4ecb3c29cafcd3bbecb36a8ab61ec841fad7f425bed50e21936fe387f472e49cfe75ce71d0beaacb0475b077c88ed39 - languageName: node - linkType: hard - -"jsdoc@npm:^4.0.2": - version: 4.0.2 - resolution: "jsdoc@npm:4.0.2" - dependencies: - "@babel/parser": "npm:^7.20.15" - "@jsdoc/salty": "npm:^0.2.1" - "@types/markdown-it": "npm:^12.2.3" - bluebird: "npm:^3.7.2" - catharsis: "npm:^0.9.0" - escape-string-regexp: "npm:^2.0.0" - js2xmlparser: "npm:^4.0.2" - klaw: "npm:^3.0.0" - markdown-it: "npm:^12.3.2" - markdown-it-anchor: "npm:^8.4.1" - marked: "npm:^4.0.10" - mkdirp: "npm:^1.0.4" - requizzle: "npm:^0.2.3" - strip-json-comments: "npm:^3.1.0" - underscore: "npm:~1.13.2" - bin: - jsdoc: jsdoc.js - checksum: 10c0/1320a49ea576e60cfe38e5912e0b6aab22e3861a76c1795afde2e02896b29e343abee4da0de6b82f1edb6ef6b6c4fc8e2ef41d0fe65a3522138b28b74b01e5c2 - languageName: node - linkType: hard - -"json-buffer@npm:3.0.1": - version: 3.0.1 - resolution: "json-buffer@npm:3.0.1" - checksum: 10c0/0d1c91569d9588e7eef2b49b59851f297f3ab93c7b35c7c221e288099322be6b562767d11e4821da500f3219542b9afd2e54c5dc573107c1126ed1080f8e96d7 - languageName: node - linkType: hard - -"json-schema-ref-resolver@npm:^1.0.1": - version: 1.0.1 - resolution: "json-schema-ref-resolver@npm:1.0.1" - dependencies: - fast-deep-equal: "npm:^3.1.3" - checksum: 10c0/aa89d88108c0109ae35b913c89c132fb50c00f3b99fc8a8309b524b9e3a6a77414f19a6a35a1253871462984cbabc74279ebbd9bf103c6629fb7b37c9fb59bcf - languageName: node - linkType: hard - -"json-schema-traverse@npm:^0.4.1": - version: 0.4.1 - resolution: "json-schema-traverse@npm:0.4.1" - checksum: 10c0/108fa90d4cc6f08243aedc6da16c408daf81793bf903e9fd5ab21983cda433d5d2da49e40711da016289465ec2e62e0324dcdfbc06275a607fe3233fde4942ce - languageName: node - linkType: hard - -"json-schema-traverse@npm:^1.0.0": - version: 1.0.0 - resolution: "json-schema-traverse@npm:1.0.0" - checksum: 10c0/71e30015d7f3d6dc1c316d6298047c8ef98a06d31ad064919976583eb61e1018a60a0067338f0f79cabc00d84af3fcc489bd48ce8a46ea165d9541ba17fb30c6 - languageName: node - linkType: hard - -"json-stable-stringify-without-jsonify@npm:^1.0.1": - version: 1.0.1 - resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" - checksum: 10c0/cb168b61fd4de83e58d09aaa6425ef71001bae30d260e2c57e7d09a5fd82223e2f22a042dedaab8db23b7d9ae46854b08bb1f91675a8be11c5cffebef5fb66a5 - languageName: node - linkType: hard - -"jsonc-parser@npm:^3.2.0": - version: 3.2.1 - resolution: "jsonc-parser@npm:3.2.1" - checksum: 10c0/ada66dec143d7f9cb0e2d0d29c69e9ce40d20f3a4cb96b0c6efb745025ac7f9ba647d7ac0990d0adfc37a2d2ae084a12009a9c833dbdbeadf648879a99b9df89 - languageName: node - linkType: hard - -"keyv@npm:^4.5.3": - version: 4.5.4 - resolution: "keyv@npm:4.5.4" - dependencies: - json-buffer: "npm:3.0.1" - checksum: 10c0/aa52f3c5e18e16bb6324876bb8b59dd02acf782a4b789c7b2ae21107fab95fab3890ed448d4f8dba80ce05391eeac4bfabb4f02a20221342982f806fa2cf271e - languageName: node - linkType: hard - -"klaw@npm:^3.0.0": - version: 3.0.0 - resolution: "klaw@npm:3.0.0" - dependencies: - graceful-fs: "npm:^4.1.9" - checksum: 10c0/8391cf6df6337dce02e44628b620b39412d007eff162d907d37063c23986041d9b5c3558851d473c2fae92c1ccb0fde8864e36f9c55ac339fc469b517a2caa1b - languageName: node - linkType: hard - -"levn@npm:^0.4.1": - version: 0.4.1 - resolution: "levn@npm:0.4.1" - dependencies: - prelude-ls: "npm:^1.2.1" - type-check: "npm:~0.4.0" - checksum: 10c0/effb03cad7c89dfa5bd4f6989364bfc79994c2042ec5966cb9b95990e2edee5cd8969ddf42616a0373ac49fac1403437deaf6e9050fbbaa3546093a59b9ac94e - languageName: node - linkType: hard - -"light-my-request@npm:^5.11.0": - version: 5.11.0 - resolution: "light-my-request@npm:5.11.0" - dependencies: - cookie: "npm:^0.5.0" - process-warning: "npm:^2.0.0" - set-cookie-parser: "npm:^2.4.1" - checksum: 10c0/ad5512b5216f2095409b54daf901f714f76004e4c8acdaa1ec3aa2ffde7ddf11ac249f02a87344d766bbad59eb2732acfe3ee5bb7e8ad5fc71057ef0d4d3be25 - languageName: node - linkType: hard - -"linkify-it@npm:^3.0.1": - version: 3.0.3 - resolution: "linkify-it@npm:3.0.3" - dependencies: - uc.micro: "npm:^1.0.1" - checksum: 10c0/468cb4954f85cdfc16e169db89a42d65287e3f121a9448b29c3c00d64c6f5a8f4367bea3978ba9109a0e3a10b19d50632b983639f91b9be9f20d1f63a5ff5bc1 - languageName: node - linkType: hard - -"local-pkg@npm:^0.5.0": - version: 0.5.0 - resolution: "local-pkg@npm:0.5.0" - dependencies: - mlly: "npm:^1.4.2" - pkg-types: "npm:^1.0.3" - checksum: 10c0/f61cbd00d7689f275558b1a45c7ff2a3ddf8472654123ed880215677b9adfa729f1081e50c27ffb415cdb9fa706fb755fec5e23cdd965be375c8059e87ff1cc9 - languageName: node - linkType: hard - -"locate-path@npm:^6.0.0": - version: 6.0.0 - resolution: "locate-path@npm:6.0.0" - dependencies: - p-locate: "npm:^5.0.0" - checksum: 10c0/d3972ab70dfe58ce620e64265f90162d247e87159b6126b01314dd67be43d50e96a50b517bce2d9452a79409c7614054c277b5232377de50416564a77ac7aad3 - languageName: node - linkType: hard - -"lodash.merge@npm:^4.6.0, lodash.merge@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.merge@npm:4.6.2" - checksum: 10c0/402fa16a1edd7538de5b5903a90228aa48eb5533986ba7fa26606a49db2572bf414ff73a2c9f5d5fd36b31c46a5d5c7e1527749c07cbcf965ccff5fbdf32c506 - languageName: node - linkType: hard - -"lodash.sortby@npm:^4.7.0": - version: 4.7.0 - resolution: "lodash.sortby@npm:4.7.0" - checksum: 10c0/fc48fb54ff7669f33bb32997cab9460757ee99fafaf72400b261c3e10fde21538e47d8cfcbe6a25a31bcb5b7b727c27d52626386fc2de24eb059a6d64a89cdf5 - languageName: node - linkType: hard - -"lodash@npm:^4.17.15, lodash@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash@npm:4.17.21" - checksum: 10c0/d8cbea072bb08655bb4c989da418994b073a608dffa608b09ac04b43a791b12aeae7cd7ad919aa4c925f33b48490b5cfe6c1f71d827956071dae2e7bb3a6b74c - languageName: node - linkType: hard - -"loglevel-colored-level-prefix@npm:^1.0.0": - version: 1.0.0 - resolution: "loglevel-colored-level-prefix@npm:1.0.0" - dependencies: - chalk: "npm:^1.1.3" - loglevel: "npm:^1.4.1" - checksum: 10c0/00fd732866de326001fa2d9b87166a4fbe41c7e0050bef0d612a8852e0ad09ad3f104aa30311e761d9d75f64d5afb6568e839826900baee0a24b7197012774d3 - languageName: node - linkType: hard - -"loglevel@npm:^1.4.1": - version: 1.9.1 - resolution: "loglevel@npm:1.9.1" - checksum: 10c0/152f0501cea367cf998c844a38b19f0b5af555756ad7d8650214a1f8c6a5b045e31b8cf5dae27d28339a061624ce3f618aadb333aed386cac041d6ddc5101a39 - languageName: node - linkType: hard - -"loupe@npm:^2.3.6, loupe@npm:^2.3.7": - version: 2.3.7 - resolution: "loupe@npm:2.3.7" - dependencies: - get-func-name: "npm:^2.0.1" - checksum: 10c0/71a781c8fc21527b99ed1062043f1f2bb30bdaf54fa4cf92463427e1718bc6567af2988300bc243c1f276e4f0876f29e3cbf7b58106fdc186915687456ce5bf4 - languageName: node - linkType: hard - -"lru-cache@npm:^10.0.1, lru-cache@npm:^9.1.1 || ^10.0.0": - version: 10.2.0 - resolution: "lru-cache@npm:10.2.0" - checksum: 10c0/c9847612aa2daaef102d30542a8d6d9b2c2bb36581c1bf0dc3ebf5e5f3352c772a749e604afae2e46873b930a9e9523743faac4e5b937c576ab29196774712ee - languageName: node - linkType: hard - -"lru-cache@npm:^6.0.0": - version: 6.0.0 - resolution: "lru-cache@npm:6.0.0" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/cb53e582785c48187d7a188d3379c181b5ca2a9c78d2bce3e7dee36f32761d1c42983da3fe12b55cb74e1779fa94cdc2e5367c028a9b35317184ede0c07a30a9 - languageName: node - linkType: hard - -"magic-string@npm:^0.30.5": - version: 0.30.5 - resolution: "magic-string@npm:0.30.5" - dependencies: - "@jridgewell/sourcemap-codec": "npm:^1.4.15" - checksum: 10c0/38ac220ca7539e96da7ea2f38d85796bdf5c69b6bcae728c4bc2565084e6dc326b9174ee9770bea345cf6c9b3a24041b767167874fab5beca874d2356a9d1520 - languageName: node - linkType: hard - -"magicast@npm:^0.3.3": - version: 0.3.3 - resolution: "magicast@npm:0.3.3" - dependencies: - "@babel/parser": "npm:^7.23.6" - "@babel/types": "npm:^7.23.6" - source-map-js: "npm:^1.0.2" - checksum: 10c0/2eeba19545ac4328433be817bd81fcfa8a517ec67599260541e13ce5ce18b27ff8830f1b87d54a1392d408d1b96e44938bf026920f0110edbdfecc96980919b3 - languageName: node - linkType: hard - -"make-dir@npm:^4.0.0": - version: 4.0.0 - resolution: "make-dir@npm:4.0.0" - dependencies: - semver: "npm:^7.5.3" - checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68 - languageName: node - linkType: hard - -"make-error@npm:^1.1.1": - version: 1.3.6 - resolution: "make-error@npm:1.3.6" - checksum: 10c0/171e458d86854c6b3fc46610cfacf0b45149ba043782558c6875d9f42f222124384ad0b468c92e996d815a8a2003817a710c0a160e49c1c394626f76fa45396f - languageName: node - linkType: hard - -"make-fetch-happen@npm:^13.0.0": - version: 13.0.0 - resolution: "make-fetch-happen@npm:13.0.0" - dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" - http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" - minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/43b9f6dcbc6fe8b8604cb6396957c3698857a15ba4dbc38284f7f0e61f248300585ef1eb8cc62df54e9c724af977e45b5cdfd88320ef7f53e45070ed3488da55 - languageName: node - linkType: hard - -"make-fetch-happen@npm:^9.1.0": - version: 9.1.0 - resolution: "make-fetch-happen@npm:9.1.0" - dependencies: - agentkeepalive: "npm:^4.1.3" - cacache: "npm:^15.2.0" - http-cache-semantics: "npm:^4.1.0" - http-proxy-agent: "npm:^4.0.1" - https-proxy-agent: "npm:^5.0.0" - is-lambda: "npm:^1.0.1" - lru-cache: "npm:^6.0.0" - minipass: "npm:^3.1.3" - minipass-collect: "npm:^1.0.2" - minipass-fetch: "npm:^1.3.2" - minipass-flush: "npm:^1.0.5" - minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.2" - promise-retry: "npm:^2.0.1" - socks-proxy-agent: "npm:^6.0.0" - ssri: "npm:^8.0.0" - checksum: 10c0/2c737faf6a7f67077679da548b5bfeeef890595bf8c4323a1f76eae355d27ebb33dcf9cf1a673f944cf2f2a7cbf4e2b09f0a0a62931737728f210d902c6be966 - languageName: node - linkType: hard - -"markdown-it-anchor@npm:^8.4.1": - version: 8.6.7 - resolution: "markdown-it-anchor@npm:8.6.7" - peerDependencies: - "@types/markdown-it": "*" - markdown-it: "*" - checksum: 10c0/f117866488013b7e4085a6b59d12bf62879181aef65ea2851f01ed1b763b8c052580c2c27fa8bd009421886220c6beeb373a65af9e885ce63a36ee9f8dcd0e89 - languageName: node - linkType: hard - -"markdown-it@npm:^12.3.2": - version: 12.3.2 - resolution: "markdown-it@npm:12.3.2" - dependencies: - argparse: "npm:^2.0.1" - entities: "npm:~2.1.0" - linkify-it: "npm:^3.0.1" - mdurl: "npm:^1.0.1" - uc.micro: "npm:^1.0.5" - bin: - markdown-it: bin/markdown-it.js - checksum: 10c0/7f97b924e6f90e2c5ccdfb486a19bd7885b938f568a86b527bf6f916a16b01a298e6739f86a99e77acb5e7c020f6c8b34bd726364179b3f820e48b2971a6450c - languageName: node - linkType: hard - -"marked@npm:^4.0.10": - version: 4.3.0 - resolution: "marked@npm:4.3.0" - bin: - marked: bin/marked.js - checksum: 10c0/0013463855e31b9c88d8bb2891a611d10ef1dc79f2e3cbff1bf71ba389e04c5971298c886af0be799d7fa9aa4593b086a136062d59f1210b0480b026a8c5dc47 - languageName: node - linkType: hard - -"mdurl@npm:^1.0.1": - version: 1.0.1 - resolution: "mdurl@npm:1.0.1" - checksum: 10c0/ea8534341eb002aaa532a722daef6074cd8ca66202e10a2b4cda46722c1ebdb1da92197ac300bc953d3ef1bf41cd6561ef2cc69d82d5d0237dae00d4a61a4eee - languageName: node - linkType: hard - -"media-typer@npm:0.3.0": - version: 0.3.0 - resolution: "media-typer@npm:0.3.0" - checksum: 10c0/d160f31246907e79fed398470285f21bafb45a62869dc469b1c8877f3f064f5eabc4bcc122f9479b8b605bc5c76187d7871cf84c4ee3ecd3e487da1993279928 - languageName: node - linkType: hard - -"merge-stream@npm:^2.0.0": - version: 2.0.0 - resolution: "merge-stream@npm:2.0.0" - checksum: 10c0/867fdbb30a6d58b011449b8885601ec1690c3e41c759ecd5a9d609094f7aed0096c37823ff4a7190ef0b8f22cc86beb7049196ff68c016e3b3c671d0dac91ce5 - languageName: node - linkType: hard - -"merge2@npm:^1.3.0, merge2@npm:^1.4.1": - version: 1.4.1 - resolution: "merge2@npm:1.4.1" - checksum: 10c0/254a8a4605b58f450308fc474c82ac9a094848081bf4c06778200207820e5193726dc563a0d2c16468810516a5c97d9d3ea0ca6585d23c58ccfff2403e8dbbeb - languageName: node - linkType: hard - -"micromatch@npm:^4.0.4": - version: 4.0.5 - resolution: "micromatch@npm:4.0.5" - dependencies: - braces: "npm:^3.0.2" - picomatch: "npm:^2.3.1" - checksum: 10c0/3d6505b20f9fa804af5d8c596cb1c5e475b9b0cd05f652c5b56141cf941bd72adaeb7a436fda344235cef93a7f29b7472efc779fcdb83b478eab0867b95cdeff - languageName: node - linkType: hard - -"mime-db@npm:1.52.0": - version: 1.52.0 - resolution: "mime-db@npm:1.52.0" - checksum: 10c0/0557a01deebf45ac5f5777fe7740b2a5c309c6d62d40ceab4e23da9f821899ce7a900b7ac8157d4548ddbb7beffe9abc621250e6d182b0397ec7f10c7b91a5aa - languageName: node - linkType: hard - -"mime-types@npm:~2.1.24": - version: 2.1.35 - resolution: "mime-types@npm:2.1.35" - dependencies: - mime-db: "npm:1.52.0" - checksum: 10c0/82fb07ec56d8ff1fc999a84f2f217aa46cb6ed1033fefaabd5785b9a974ed225c90dc72fff460259e66b95b73648596dbcc50d51ed69cdf464af2d237d3149b2 - languageName: node - linkType: hard - -"mimic-fn@npm:^4.0.0": - version: 4.0.0 - resolution: "mimic-fn@npm:4.0.0" - checksum: 10c0/de9cc32be9996fd941e512248338e43407f63f6d497abe8441fa33447d922e927de54d4cc3c1a3c6d652857acd770389d5a3823f311a744132760ce2be15ccbf - languageName: node - linkType: hard - -"mimic-response@npm:^3.1.0": - version: 3.1.0 - resolution: "mimic-response@npm:3.1.0" - checksum: 10c0/0d6f07ce6e03e9e4445bee655202153bdb8a98d67ee8dc965ac140900d7a2688343e6b4c9a72cfc9ef2f7944dfd76eef4ab2482eb7b293a68b84916bac735362 - languageName: node - linkType: hard - -"minimatch@npm:9.0.3, minimatch@npm:^9.0.1": - version: 9.0.3 - resolution: "minimatch@npm:9.0.3" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/85f407dcd38ac3e180f425e86553911d101455ca3ad5544d6a7cec16286657e4f8a9aa6695803025c55e31e35a91a2252b5dc8e7d527211278b8b65b4dbd5eac - languageName: node - linkType: hard - -"minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": - version: 3.1.2 - resolution: "minimatch@npm:3.1.2" - dependencies: - brace-expansion: "npm:^1.1.7" - checksum: 10c0/0262810a8fc2e72cca45d6fd86bd349eee435eb95ac6aa45c9ea2180e7ee875ef44c32b55b5973ceabe95ea12682f6e3725cbb63d7a2d1da3ae1163c8b210311 - languageName: node - linkType: hard - -"minimatch@npm:^5.0.1": - version: 5.1.6 - resolution: "minimatch@npm:5.1.6" - dependencies: - brace-expansion: "npm:^2.0.1" - checksum: 10c0/3defdfd230914f22a8da203747c42ee3c405c39d4d37ffda284dac5e45b7e1f6c49aa8be606509002898e73091ff2a3bbfc59c2c6c71d4660609f63aa92f98e3 - languageName: node - linkType: hard - -"minimist@npm:^1.2.0, minimist@npm:^1.2.3, minimist@npm:^1.2.6": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 10c0/19d3fcdca050087b84c2029841a093691a91259a47def2f18222f41e7645a0b7c44ef4b40e88a1e58a40c84d2ef0ee6047c55594d298146d0eb3f6b737c20ce6 - languageName: node - linkType: hard - -"minipass-collect@npm:^1.0.2": - version: 1.0.2 - resolution: "minipass-collect@npm:1.0.2" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/8f82bd1f3095b24f53a991b04b67f4c710c894e518b813f0864a31de5570441a509be1ca17e0bb92b047591a8fdbeb886f502764fefb00d2f144f4011791e898 - languageName: node - linkType: hard - -"minipass-collect@npm:^2.0.1": - version: 2.0.1 - resolution: "minipass-collect@npm:2.0.1" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/5167e73f62bb74cc5019594709c77e6a742051a647fe9499abf03c71dca75515b7959d67a764bdc4f8b361cf897fbf25e2d9869ee039203ed45240f48b9aa06e - languageName: node - linkType: hard - -"minipass-fetch@npm:^1.3.2": - version: 1.4.1 - resolution: "minipass-fetch@npm:1.4.1" - dependencies: - encoding: "npm:^0.1.12" - minipass: "npm:^3.1.0" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.0.0" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/a43da7401cd7c4f24b993887d41bd37d097356083b0bb836fd655916467463a1e6e9e553b2da4fcbe8745bf23d40c8b884eab20745562199663b3e9060cd8e7a - languageName: node - linkType: hard - -"minipass-fetch@npm:^3.0.0": - version: 3.0.4 - resolution: "minipass-fetch@npm:3.0.4" - dependencies: - encoding: "npm:^0.1.13" - minipass: "npm:^7.0.3" - minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" - dependenciesMeta: - encoding: - optional: true - checksum: 10c0/1b63c1f3313e88eeac4689f1b71c9f086598db9a189400e3ee960c32ed89e06737fa23976c9305c2d57464fb3fcdc12749d3378805c9d6176f5569b0d0ee8a75 - languageName: node - linkType: hard - -"minipass-flush@npm:^1.0.5": - version: 1.0.5 - resolution: "minipass-flush@npm:1.0.5" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/2a51b63feb799d2bb34669205eee7c0eaf9dce01883261a5b77410c9408aa447e478efd191b4de6fc1101e796ff5892f8443ef20d9544385819093dbb32d36bd - languageName: node - linkType: hard - -"minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": - version: 1.2.4 - resolution: "minipass-pipeline@npm:1.2.4" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/cbda57cea20b140b797505dc2cac71581a70b3247b84480c1fed5ca5ba46c25ecc25f68bfc9e6dcb1a6e9017dab5c7ada5eab73ad4f0a49d84e35093e0c643f2 - languageName: node - linkType: hard - -"minipass-sized@npm:^1.0.3": - version: 1.0.3 - resolution: "minipass-sized@npm:1.0.3" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/298f124753efdc745cfe0f2bdfdd81ba25b9f4e753ca4a2066eb17c821f25d48acea607dfc997633ee5bf7b6dfffb4eee4f2051eb168663f0b99fad2fa4829cb - languageName: node - linkType: hard - -"minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": - version: 3.3.6 - resolution: "minipass@npm:3.3.6" - dependencies: - yallist: "npm:^4.0.0" - checksum: 10c0/a114746943afa1dbbca8249e706d1d38b85ed1298b530f5808ce51f8e9e941962e2a5ad2e00eae7dd21d8a4aae6586a66d4216d1a259385e9d0358f0c1eba16c - languageName: node - linkType: hard - -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3": - version: 7.0.4 - resolution: "minipass@npm:7.0.4" - checksum: 10c0/6c7370a6dfd257bf18222da581ba89a5eaedca10e158781232a8b5542a90547540b4b9b7e7f490e4cda43acfbd12e086f0453728ecf8c19e0ef6921bc5958ac5 - languageName: node - linkType: hard - -"minizlib@npm:^2.0.0, minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" - dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 - languageName: node - linkType: hard - -"mkdirp-classic@npm:^0.5.2, mkdirp-classic@npm:^0.5.3": - version: 0.5.3 - resolution: "mkdirp-classic@npm:0.5.3" - checksum: 10c0/95371d831d196960ddc3833cc6907e6b8f67ac5501a6582f47dfae5eb0f092e9f8ce88e0d83afcae95d6e2b61a01741ba03714eeafb6f7a6e9dcc158ac85b168 - languageName: node - linkType: hard - -"mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" - bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf - languageName: node - linkType: hard - -"mlly@npm:^1.2.0, mlly@npm:^1.4.2": - version: 1.5.0 - resolution: "mlly@npm:1.5.0" - dependencies: - acorn: "npm:^8.11.3" - pathe: "npm:^1.1.2" - pkg-types: "npm:^1.0.3" - ufo: "npm:^1.3.2" - checksum: 10c0/0861d64f13e8e6f99e4897b652b553ded4d4b9e7b011d6afd7141e013b77ed9b9be0cd76e60c46c60c56cc9b8e27061165e5696179ba9f4161c24d162db7b621 - languageName: node - linkType: hard - -"moment@npm:^2.30.1": - version: 2.30.1 - resolution: "moment@npm:2.30.1" - checksum: 10c0/865e4279418c6de666fca7786607705fd0189d8a7b7624e2e56be99290ac846f90878a6f602e34b4e0455c549b85385b1baf9966845962b313699e7cb847543a - languageName: node - linkType: hard - -"ms@npm:2.1.2": - version: 2.1.2 - resolution: "ms@npm:2.1.2" - checksum: 10c0/a437714e2f90dbf881b5191d35a6db792efbca5badf112f87b9e1c712aace4b4b9b742dd6537f3edf90fd6f684de897cec230abde57e87883766712ddda297cc - languageName: node - linkType: hard - -"ms@npm:^2.0.0": - version: 2.1.3 - resolution: "ms@npm:2.1.3" - checksum: 10c0/d924b57e7312b3b63ad21fc5b3dc0af5e78d61a1fc7cfb5457edaf26326bf62be5307cc87ffb6862ef1c2b33b0233cdb5d4f01c4c958cc0d660948b65a287a48 - languageName: node - linkType: hard - -"multi-fork@npm:0.0.2": - version: 0.0.2 - resolution: "multi-fork@npm:0.0.2" - checksum: 10c0/f4f38f38be8160ce3ecf58a617a68dc3415a5888f9f5c3f1ab81a5bf4a90921a1fb35de9e81100189051f266be3ee1c734e2b70c053834f12af7a1eddcd60536 - languageName: node - linkType: hard - -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" - bin: - nanoid: bin/nanoid.cjs - checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 - languageName: node - linkType: hard - -"napi-build-utils@npm:^1.0.1": - version: 1.0.2 - resolution: "napi-build-utils@npm:1.0.2" - checksum: 10c0/37fd2cd0ff2ad20073ce78d83fd718a740d568b225924e753ae51cb69d68f330c80544d487e5e5bd18e28702ed2ca469c2424ad948becd1862c1b0209542b2e9 - languageName: node - linkType: hard - -"natural-compare@npm:^1.4.0": - version: 1.4.0 - resolution: "natural-compare@npm:1.4.0" - checksum: 10c0/f5f9a7974bfb28a91afafa254b197f0f22c684d4a1731763dda960d2c8e375b36c7d690e0d9dc8fba774c537af14a7e979129bca23d88d052fbeb9466955e447 - languageName: node - linkType: hard - -"negotiator@npm:^0.6.2, negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 - languageName: node - linkType: hard - -"node-abi@npm:^3.3.0, node-abi@npm:^3.52.0": - version: 3.54.0 - resolution: "node-abi@npm:3.54.0" - dependencies: - semver: "npm:^7.3.5" - checksum: 10c0/9ebbb21e6951aa51e831549ed62b68dc56bcc10f6b21ffd04195a16a6abf5ddfc48b6ae5e3334720fe4459cafde5ec8103025902efff5599d0539f8656fc694e - languageName: node - linkType: hard - -"node-addon-api@npm:^7.0.0": - version: 7.1.0 - resolution: "node-addon-api@npm:7.1.0" - dependencies: - node-gyp: "npm:latest" - checksum: 10c0/2e096ab079e3c46d33b0e252386e9c239c352f7cc6d75363d9a3c00bdff34c1a5da170da861917512843f213c32d024ced9dc9552b968029786480d18727ec66 - languageName: node - linkType: hard - -"node-fetch@npm:^2.6.7": - version: 2.7.0 - resolution: "node-fetch@npm:2.7.0" - dependencies: - whatwg-url: "npm:^5.0.0" - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - checksum: 10c0/b55786b6028208e6fbe594ccccc213cab67a72899c9234eb59dba51062a299ea853210fcf526998eaa2867b0963ad72338824450905679ff0fa304b8c5093ae8 - languageName: node - linkType: hard - -"node-gyp@npm:8.x": - version: 8.4.1 - resolution: "node-gyp@npm:8.4.1" - dependencies: - env-paths: "npm:^2.2.0" - glob: "npm:^7.1.4" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^9.1.0" - nopt: "npm:^5.0.0" - npmlog: "npm:^6.0.0" - rimraf: "npm:^3.0.2" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^2.0.2" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/80ef333b3a882eb6a2695a8e08f31d618f4533eff192864e4a3a16b67ff0abc9d8c1d5fac0395550ec699326b9248c5e2b3be178492f7f4d1ccf97d2cf948021 - languageName: node - linkType: hard - -"node-gyp@npm:latest": - version: 10.0.1 - resolution: "node-gyp@npm:10.0.1" - dependencies: - env-paths: "npm:^2.2.0" - exponential-backoff: "npm:^3.1.1" - glob: "npm:^10.3.10" - graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^3.0.0" - semver: "npm:^7.3.5" - tar: "npm:^6.1.2" - which: "npm:^4.0.0" - bin: - node-gyp: bin/node-gyp.js - checksum: 10c0/abddfff7d873312e4ed4a5fb75ce893a5c4fb69e7fcb1dfa71c28a6b92a7f1ef6b62790dffb39181b5a82728ba8f2f32d229cf8cbe66769fe02cea7db4a555aa - languageName: node - linkType: hard - -"nopt@npm:^5.0.0": - version: 5.0.0 - resolution: "nopt@npm:5.0.0" - dependencies: - abbrev: "npm:1" - bin: - nopt: bin/nopt.js - checksum: 10c0/fc5c4f07155cb455bf5fc3dd149fac421c1a40fd83c6bfe83aa82b52f02c17c5e88301321318adaa27611c8a6811423d51d29deaceab5fa158b585a61a551061 - languageName: node - linkType: hard - -"nopt@npm:^7.0.0": - version: 7.2.0 - resolution: "nopt@npm:7.2.0" - dependencies: - abbrev: "npm:^2.0.0" - bin: - nopt: bin/nopt.js - checksum: 10c0/9bd7198df6f16eb29ff16892c77bcf7f0cc41f9fb5c26280ac0def2cf8cf319f3b821b3af83eba0e74c85807cc430a16efe0db58fe6ae1f41e69519f585b6aff - languageName: node - linkType: hard - -"npm-run-path@npm:^5.1.0": - version: 5.2.0 - resolution: "npm-run-path@npm:5.2.0" - dependencies: - path-key: "npm:^4.0.0" - checksum: 10c0/7963c1f98e42afebe9524a08b0881477ec145aab34f6018842a315422b25ad40e015bdee709b697571e5efda2ecfa2640ee917d92674e4de1166fa3532a211b1 - languageName: node - linkType: hard - -"npmlog@npm:^6.0.0": - version: 6.0.2 - resolution: "npmlog@npm:6.0.2" - dependencies: - are-we-there-yet: "npm:^3.0.0" - console-control-strings: "npm:^1.1.0" - gauge: "npm:^4.0.3" - set-blocking: "npm:^2.0.0" - checksum: 10c0/0cacedfbc2f6139c746d9cd4a85f62718435ad0ca4a2d6459cd331dd33ae58206e91a0742c1558634efcde3f33f8e8e7fd3adf1bfe7978310cf00bd55cccf890 - languageName: node - linkType: hard - -"obuf@npm:^1.1.2, obuf@npm:~1.1.2": - version: 1.1.2 - resolution: "obuf@npm:1.1.2" - checksum: 10c0/520aaac7ea701618eacf000fc96ae458e20e13b0569845800fc582f81b386731ab22d55354b4915d58171db00e79cfcd09c1638c02f89577ef092b38c65b7d81 - languageName: node - linkType: hard - -"on-exit-leak-free@npm:^2.1.0": - version: 2.1.2 - resolution: "on-exit-leak-free@npm:2.1.2" - checksum: 10c0/faea2e1c9d696ecee919026c32be8d6a633a7ac1240b3b87e944a380e8a11dc9c95c4a1f8fb0568de7ab8db3823e790f12bda45296b1d111e341aad3922a0570 - languageName: node - linkType: hard - -"once@npm:^1.3.0, once@npm:^1.3.1, once@npm:^1.4.0": - version: 1.4.0 - resolution: "once@npm:1.4.0" - dependencies: - wrappy: "npm:1" - checksum: 10c0/5d48aca287dfefabd756621c5dfce5c91a549a93e9fdb7b8246bc4c4790aa2ec17b34a260530474635147aeb631a2dcc8b32c613df0675f96041cbb8244517d0 - languageName: node - linkType: hard - -"onetime@npm:^6.0.0": - version: 6.0.0 - resolution: "onetime@npm:6.0.0" - dependencies: - mimic-fn: "npm:^4.0.0" - checksum: 10c0/4eef7c6abfef697dd4479345a4100c382d73c149d2d56170a54a07418c50816937ad09500e1ed1e79d235989d073a9bade8557122aee24f0576ecde0f392bb6c - languageName: node - linkType: hard - -"optionator@npm:^0.9.3": - version: 0.9.3 - resolution: "optionator@npm:0.9.3" - dependencies: - "@aashutoshrathi/word-wrap": "npm:^1.2.3" - deep-is: "npm:^0.1.3" - fast-levenshtein: "npm:^2.0.6" - levn: "npm:^0.4.1" - prelude-ls: "npm:^1.2.1" - type-check: "npm:^0.4.0" - checksum: 10c0/66fba794d425b5be51353035cf3167ce6cfa049059cbb93229b819167687e0f48d2bc4603fcb21b091c99acb516aae1083624675b15c4765b2e4693a085e959c - languageName: node - linkType: hard - -"p-defer@npm:^3.0.0": - version: 3.0.0 - resolution: "p-defer@npm:3.0.0" - checksum: 10c0/848eb9821785b9a203def23618217ddbfa5cd909574ad0d66aae61a1981c4dcfa084804d6f97abe027bd004643471ddcdc823aa8df60198f791a9bd985e01bee - languageName: node - linkType: hard - -"p-limit@npm:^3.0.2": - version: 3.1.0 - resolution: "p-limit@npm:3.1.0" - dependencies: - yocto-queue: "npm:^0.1.0" - checksum: 10c0/9db675949dbdc9c3763c89e748d0ef8bdad0afbb24d49ceaf4c46c02c77d30db4e0652ed36d0a0a7a95154335fab810d95c86153105bb73b3a90448e2bb14e1a - languageName: node - linkType: hard - -"p-limit@npm:^5.0.0": - version: 5.0.0 - resolution: "p-limit@npm:5.0.0" - dependencies: - yocto-queue: "npm:^1.0.0" - checksum: 10c0/574e93b8895a26e8485eb1df7c4b58a1a6e8d8ae41b1750cc2cc440922b3d306044fc6e9a7f74578a883d46802d9db72b30f2e612690fcef838c173261b1ed83 - languageName: node - linkType: hard - -"p-locate@npm:^5.0.0": - version: 5.0.0 - resolution: "p-locate@npm:5.0.0" - dependencies: - p-limit: "npm:^3.0.2" - checksum: 10c0/2290d627ab7903b8b70d11d384fee714b797f6040d9278932754a6860845c4d3190603a0772a663c8cb5a7b21d1b16acb3a6487ebcafa9773094edc3dfe6009a - languageName: node - linkType: hard - -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 - languageName: node - linkType: hard - -"packet-reader@npm:1.0.0": - version: 1.0.0 - resolution: "packet-reader@npm:1.0.0" - checksum: 10c0/c86c3321bb07e0f03cc2db59f7701184e0bbfcb914f1fdc963993b03262486deb402292adcef39b64e3530ea66b3b2e2163d6da7b3792a730bdd1c6df3175aaa - languageName: node - linkType: hard - -"parent-module@npm:^1.0.0": - version: 1.0.1 - resolution: "parent-module@npm:1.0.1" - dependencies: - callsites: "npm:^3.0.0" - checksum: 10c0/c63d6e80000d4babd11978e0d3fee386ca7752a02b035fd2435960ffaa7219dc42146f07069fb65e6e8bf1caef89daf9af7535a39bddf354d78bf50d8294f556 - languageName: node - linkType: hard - -"path-exists@npm:^4.0.0": - version: 4.0.0 - resolution: "path-exists@npm:4.0.0" - checksum: 10c0/8c0bd3f5238188197dc78dced15207a4716c51cc4e3624c44fc97acf69558f5ebb9a2afff486fe1b4ee148e0c133e96c5e11a9aa5c48a3006e3467da070e5e1b - languageName: node - linkType: hard - -"path-is-absolute@npm:^1.0.0": - version: 1.0.1 - resolution: "path-is-absolute@npm:1.0.1" - checksum: 10c0/127da03c82172a2a50099cddbf02510c1791fc2cc5f7713ddb613a56838db1e8168b121a920079d052e0936c23005562059756d653b7c544c53185efe53be078 - languageName: node - linkType: hard - -"path-key@npm:^3.1.0": - version: 3.1.1 - resolution: "path-key@npm:3.1.1" - checksum: 10c0/748c43efd5a569c039d7a00a03b58eecd1d75f3999f5a28303d75f521288df4823bc057d8784eb72358b2895a05f29a070bc9f1f17d28226cc4e62494cc58c4c - languageName: node - linkType: hard - -"path-key@npm:^4.0.0": - version: 4.0.0 - resolution: "path-key@npm:4.0.0" - checksum: 10c0/794efeef32863a65ac312f3c0b0a99f921f3e827ff63afa5cb09a377e202c262b671f7b3832a4e64731003fa94af0263713962d317b9887bd1e0c48a342efba3 - languageName: node - linkType: hard - -"path-scurry@npm:^1.10.1": - version: 1.10.1 - resolution: "path-scurry@npm:1.10.1" - dependencies: - lru-cache: "npm:^9.1.1 || ^10.0.0" - minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0" - checksum: 10c0/e5dc78a7348d25eec61ab166317e9e9c7b46818aa2c2b9006c507a6ff48c672d011292d9662527213e558f5652ce0afcc788663a061d8b59ab495681840c0c1e - languageName: node - linkType: hard - -"path-type@npm:^4.0.0": - version: 4.0.0 - resolution: "path-type@npm:4.0.0" - checksum: 10c0/666f6973f332f27581371efaf303fd6c272cc43c2057b37aa99e3643158c7e4b2626549555d88626e99ea9e046f82f32e41bbde5f1508547e9a11b149b52387c - languageName: node - linkType: hard - -"pathe@npm:^1.1.0, pathe@npm:^1.1.1, pathe@npm:^1.1.2": - version: 1.1.2 - resolution: "pathe@npm:1.1.2" - checksum: 10c0/64ee0a4e587fb0f208d9777a6c56e4f9050039268faaaaecd50e959ef01bf847b7872785c36483fa5cdcdbdfdb31fef2ff222684d4fc21c330ab60395c681897 - languageName: node - linkType: hard - -"pathval@npm:^1.1.1": - version: 1.1.1 - resolution: "pathval@npm:1.1.1" - checksum: 10c0/f63e1bc1b33593cdf094ed6ff5c49c1c0dc5dc20a646ca9725cc7fe7cd9995002d51d5685b9b2ec6814342935748b711bafa840f84c0bb04e38ff40a335c94dc - languageName: node - linkType: hard - -"pg-cloudflare@npm:^1.1.1": - version: 1.1.1 - resolution: "pg-cloudflare@npm:1.1.1" - checksum: 10c0/a68b957f755be6af813d68ccaf4c906a000fd2ecb362cd281220052cc9e2f6c26da3b88792742387008c30b3bf0d2fa3a0eff04aeb8af4414023c99ae78e07bd - languageName: node - linkType: hard - -"pg-connection-string@npm:^2.6.2": - version: 2.6.2 - resolution: "pg-connection-string@npm:2.6.2" - checksum: 10c0/e8fdea74fcc8bdc3d7c5c6eadd9425fdba7e67fb7fe836f9c0cecad94c8984e435256657d1d8ce0483d1fedef667e7a57e32449a63cb805cb0289fc34b62da35 - languageName: node - linkType: hard - -"pg-copy-streams-binary@npm:^2.2.0": - version: 2.2.0 - resolution: "pg-copy-streams-binary@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - bufferput: "npm:^0.1.3" - ieee754: "npm:^1.1.13" - int64-buffer: "npm:^0.99.1007" - multi-fork: "npm:0.0.2" - through2: "npm:^3.0.1" - checksum: 10c0/5952094e1486683ea001b961517a068c66862338b7c53334ac4c833a1b37cd5f688d18bb33e844916adac84f4021dbb72b5861f4f67659a8699ce64c5a9e8b4a - languageName: node - linkType: hard - -"pg-copy-streams@npm:^6.0.2": - version: 6.0.6 - resolution: "pg-copy-streams@npm:6.0.6" - dependencies: - obuf: "npm:^1.1.2" - checksum: 10c0/4edefe7395c4adb54a0cd5887cc21441c6e41f731f6c3203c6d6a57b208c5bb1cefded28eaabf0b5dd13fe297ab146ad8270ac8c537b69cd644c51386be231bc - languageName: node - linkType: hard - -"pg-cursor@npm:^2.10.3, pg-cursor@npm:^2.7.3": - version: 2.10.3 - resolution: "pg-cursor@npm:2.10.3" - peerDependencies: - pg: ^8 - checksum: 10c0/cf8d2c8243e4f1525148ad238c5b4ac2f638b7cb69a175dff58d0b0b5b697363a55e1630e1f3c320b38223cb90a32b6469bf324418bef672b0da8b3276093b2f - languageName: node - linkType: hard - -"pg-int8@npm:1.0.1": - version: 1.0.1 - resolution: "pg-int8@npm:1.0.1" - checksum: 10c0/be6a02d851fc2a4ae3e9de81710d861de3ba35ac927268973eb3cb618873a05b9424656df464dd43bd7dc3fc5295c3f5b3c8349494f87c7af50ec59ef14e0b98 - languageName: node - linkType: hard - -"pg-numeric@npm:1.0.2": - version: 1.0.2 - resolution: "pg-numeric@npm:1.0.2" - checksum: 10c0/43dd9884e7b52c79ddc28d2d282d7475fce8bba13452d33c04ceb2e0a65f561edf6699694e8e1c832ff9093770496363183c950dd29608e1bdd98f344b25bca9 - languageName: node - linkType: hard - -"pg-pool@npm:^3.6.1": - version: 3.6.1 - resolution: "pg-pool@npm:3.6.1" - peerDependencies: - pg: ">=8.0" - checksum: 10c0/47837c4e4c2b9e195cec01bd58b6e276acc915537191707ad4d6ed975fd9bc03c73f63cb7fde4cb0e08ed059e35faf60fbd03744dee3af71d4b4631ab40eeb7f - languageName: node - linkType: hard - -"pg-protocol@npm:*, pg-protocol@npm:^1.5.0, pg-protocol@npm:^1.6.0": - version: 1.6.0 - resolution: "pg-protocol@npm:1.6.0" - checksum: 10c0/318a4d1e9cebd3927b10a8bc412f5017117a1f9a5fafb628d75847da7d1ab81c33250de58596bd0990029e14e92a995a851286d60fc236692299faf509572213 - languageName: node - linkType: hard - -"pg-query-stream@npm:^4.5.3": - version: 4.5.3 - resolution: "pg-query-stream@npm:4.5.3" - dependencies: - pg-cursor: "npm:^2.10.3" - peerDependencies: - pg: ^8 - checksum: 10c0/1b0c1449d251329a9133cf2d52ab1835bcb591b5480e3231b2aedf1be2244dc1a74d8b2077e4e594d43a9de579af55539bfea35da74197ca26d3b80aa596b25a - languageName: node - linkType: hard - -"pg-types@npm:^2.1.0": - version: 2.2.0 - resolution: "pg-types@npm:2.2.0" - dependencies: - pg-int8: "npm:1.0.1" - postgres-array: "npm:~2.0.0" - postgres-bytea: "npm:~1.0.0" - postgres-date: "npm:~1.0.4" - postgres-interval: "npm:^1.1.0" - checksum: 10c0/ab3f8069a323f601cd2d2279ca8c425447dab3f9b61d933b0601d7ffc00d6200df25e26a4290b2b0783b59278198f7dd2ed03e94c4875797919605116a577c65 - languageName: node - linkType: hard - -"pg-types@npm:^4.0.1": - version: 4.0.2 - resolution: "pg-types@npm:4.0.2" - dependencies: - pg-int8: "npm:1.0.1" - pg-numeric: "npm:1.0.2" - postgres-array: "npm:~3.0.1" - postgres-bytea: "npm:~3.0.0" - postgres-date: "npm:~2.1.0" - postgres-interval: "npm:^3.0.0" - postgres-range: "npm:^1.1.1" - checksum: 10c0/780fccda2f3fa2a34e85a72e8e7dadb7d88fbe71ce88f126cb3313f333ad836d02488ec4ff3d94d0c1e5846f735d6e6c6281f8059e6b8919d2180429acaec3e2 - languageName: node - linkType: hard - -"pg@npm:^8.11.3, pg@npm:^8.7.3": - version: 8.11.3 - resolution: "pg@npm:8.11.3" - dependencies: - buffer-writer: "npm:2.0.0" - packet-reader: "npm:1.0.0" - pg-cloudflare: "npm:^1.1.1" - pg-connection-string: "npm:^2.6.2" - pg-pool: "npm:^3.6.1" - pg-protocol: "npm:^1.6.0" - pg-types: "npm:^2.1.0" - pgpass: "npm:1.x" - peerDependencies: - pg-native: ">=3.0.1" - dependenciesMeta: - pg-cloudflare: - optional: true - peerDependenciesMeta: - pg-native: - optional: true - checksum: 10c0/07e6967fc8bd5d72bab9be6620626e8e3ab59128ebf56bf0de83d67f10801a19221d88b3317e90b93339ba48d0498b39967b782ae39686aabda6bc647bceb438 - languageName: node - linkType: hard - -"pgpass@npm:1.x": - version: 1.0.5 - resolution: "pgpass@npm:1.0.5" - dependencies: - split2: "npm:^4.1.0" - checksum: 10c0/5ea6c9b2de04c33abb08d33a2dded303c4a3c7162a9264519cbe85c0a9857d712463140ba42fad0c7cd4b21f644dd870b45bb2e02fcbe505b4de0744fd802c1d - languageName: node - linkType: hard - -"picocolors@npm:^1.0.0": - version: 1.0.0 - resolution: "picocolors@npm:1.0.0" - checksum: 10c0/20a5b249e331c14479d94ec6817a182fd7a5680debae82705747b2db7ec50009a5f6648d0621c561b0572703f84dbef0858abcbd5856d3c5511426afcb1961f7 - languageName: node - linkType: hard - -"picomatch@npm:^2.3.1": - version: 2.3.1 - resolution: "picomatch@npm:2.3.1" - checksum: 10c0/26c02b8d06f03206fc2ab8d16f19960f2ff9e81a658f831ecb656d8f17d9edc799e8364b1f4a7873e89d9702dff96204be0fa26fe4181f6843f040f819dac4be - languageName: node - linkType: hard - -"pino-abstract-transport@npm:^1.0.0, pino-abstract-transport@npm:v1.1.0": - version: 1.1.0 - resolution: "pino-abstract-transport@npm:1.1.0" - dependencies: - readable-stream: "npm:^4.0.0" - split2: "npm:^4.0.0" - checksum: 10c0/6e9b9d5a2c0a37f91ecaf224d335daae1ae682b1c79a05b06ef9e0f0a5d289f8e597992217efc857796dae6f1067e9b4882f95c6228ff433ddc153532cae8aca - languageName: node - linkType: hard - -"pino-pretty@npm:^10.3.1": - version: 10.3.1 - resolution: "pino-pretty@npm:10.3.1" - dependencies: - colorette: "npm:^2.0.7" - dateformat: "npm:^4.6.3" - fast-copy: "npm:^3.0.0" - fast-safe-stringify: "npm:^2.1.1" - help-me: "npm:^5.0.0" - joycon: "npm:^3.1.1" - minimist: "npm:^1.2.6" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:^1.0.0" - pump: "npm:^3.0.0" - readable-stream: "npm:^4.0.0" - secure-json-parse: "npm:^2.4.0" - sonic-boom: "npm:^3.0.0" - strip-json-comments: "npm:^3.1.1" - bin: - pino-pretty: bin.js - checksum: 10c0/6964fba5acc7a9f112e4c6738d602e123daf16cb5f6ddc56ab4b6bb05059f28876d51da8f72358cf1172e95fa12496b70465431a0836df693c462986d050686b - languageName: node - linkType: hard - -"pino-std-serializers@npm:^6.0.0": - version: 6.2.2 - resolution: "pino-std-serializers@npm:6.2.2" - checksum: 10c0/8f1c7f0f0d8f91e6c6b5b2a6bfb48f06441abeb85f1c2288319f736f9c6d814fbeebe928d2314efc2ba6018fa7db9357a105eca9fc99fc1f28945a8a8b28d3d5 - languageName: node - linkType: hard - -"pino@npm:^8.17.0": - version: 8.17.2 - resolution: "pino@npm:8.17.2" - dependencies: - atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.1.1" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:v1.1.0" - pino-std-serializers: "npm:^6.0.0" - process-warning: "npm:^3.0.0" - quick-format-unescaped: "npm:^4.0.3" - real-require: "npm:^0.2.0" - safe-stable-stringify: "npm:^2.3.1" - sonic-boom: "npm:^3.7.0" - thread-stream: "npm:^2.0.0" - bin: - pino: bin.js - checksum: 10c0/9e55af6cd9d1833a4dbe64924fc73163295acd3c988a9c7db88926669f2574ab7ec607e8487b6dd71dbdad2d7c1c1aac439f37e59233f37220b1a9d88fa2ce01 - languageName: node - linkType: hard - -"pino@npm:^8.18.0": - version: 8.18.0 - resolution: "pino@npm:8.18.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - fast-redact: "npm:^3.1.1" - on-exit-leak-free: "npm:^2.1.0" - pino-abstract-transport: "npm:v1.1.0" - pino-std-serializers: "npm:^6.0.0" - process-warning: "npm:^3.0.0" - quick-format-unescaped: "npm:^4.0.3" - real-require: "npm:^0.2.0" - safe-stable-stringify: "npm:^2.3.1" - sonic-boom: "npm:^3.7.0" - thread-stream: "npm:^2.0.0" - bin: - pino: bin.js - checksum: 10c0/ca73bb31e4656954413b89f48c486b1680fec0c6bb12d4d796c5ccf8eca40f3ee12c9532a0fa61284ed9a800c14eaa0f496f520057ef70cdee0447114813e8eb - languageName: node - linkType: hard - -"pkg-types@npm:^1.0.3": - version: 1.0.3 - resolution: "pkg-types@npm:1.0.3" - dependencies: - jsonc-parser: "npm:^3.2.0" - mlly: "npm:^1.2.0" - pathe: "npm:^1.1.0" - checksum: 10c0/7f692ff2005f51b8721381caf9bdbc7f5461506ba19c34f8631660a215c8de5e6dca268f23a319dd180b8f7c47a0dc6efea14b376c485ff99e98d810b8f786c4 - languageName: node - linkType: hard - -"pony-cause@npm:^2.1.4": - version: 2.1.10 - resolution: "pony-cause@npm:2.1.10" - checksum: 10c0/55ad0ca52039895f273c69e55fc9fe882deff38689dc5962558bfa16cce0ea7cb5bb7b67d0c43ec9c3e7edeb81f81ee8c1113014930d77b2cbac5adc4ac7fb64 - languageName: node - linkType: hard - -"postcss@npm:^8.4.32": - version: 8.4.33 - resolution: "postcss@npm:8.4.33" - dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.0.2" - checksum: 10c0/16eda83458fcd8a91bece287b5920c7f57164c3ea293e6c80d0ea71ce7843007bcd8592260a5160b9a7f02693e6ac93e2495b02d8c7596d3f3f72c1447e3ba79 - languageName: node - linkType: hard - -"postgres-array@npm:^3.0.1, postgres-array@npm:^3.0.2, postgres-array@npm:~3.0.1": - version: 3.0.2 - resolution: "postgres-array@npm:3.0.2" - checksum: 10c0/644aa071f67a66a59f641f8e623887d2b915bc102a32643e2aa8b54c11acd343c5ad97831ea444dd37bd4b921ba35add4aa2cb0c6b76700a8252c2324aeba5b4 - languageName: node - linkType: hard - -"postgres-array@npm:~2.0.0": - version: 2.0.0 - resolution: "postgres-array@npm:2.0.0" - checksum: 10c0/cbd56207e4141d7fbf08c86f2aebf21fa7064943d3f808ec85f442ff94b48d891e7a144cc02665fb2de5dbcb9b8e3183a2ac749959e794b4a4cfd379d7a21d08 - languageName: node - linkType: hard - -"postgres-bytea@npm:~1.0.0": - version: 1.0.0 - resolution: "postgres-bytea@npm:1.0.0" - checksum: 10c0/febf2364b8a8953695cac159eeb94542ead5886792a9627b97e33f6b5bb6e263bc0706ab47ec221516e79fbd6b2452d668841830fb3b49ec6c0fc29be61892ce - languageName: node - linkType: hard - -"postgres-bytea@npm:~3.0.0": - version: 3.0.0 - resolution: "postgres-bytea@npm:3.0.0" - dependencies: - obuf: "npm:~1.1.2" - checksum: 10c0/41c79cc48aa730c5ba3eda6ab989a940034f07a1f57b8f2777dce56f1b8cca16c5870582932b5b10cc605048aef9b6157e06253c871b4717cafc6d00f55376aa - languageName: node - linkType: hard - -"postgres-date@npm:~1.0.4": - version: 1.0.7 - resolution: "postgres-date@npm:1.0.7" - checksum: 10c0/0ff91fccc64003e10b767fcfeefb5eaffbc522c93aa65d5051c49b3c4ce6cb93ab091a7d22877a90ad60b8874202c6f1d0f935f38a7235ed3b258efd54b97ca9 - languageName: node - linkType: hard - -"postgres-date@npm:~2.1.0": - version: 2.1.0 - resolution: "postgres-date@npm:2.1.0" - checksum: 10c0/00a7472c10788f6b0d08d24108bf1eb80858de1bd6317740198a564918ea4a69b80c98148167b92ae688abd606483020d0de0dd3a36f3ea9a3e26bbeef3464f4 - languageName: node - linkType: hard - -"postgres-interval@npm:^1.1.0": - version: 1.2.0 - resolution: "postgres-interval@npm:1.2.0" - dependencies: - xtend: "npm:^4.0.0" - checksum: 10c0/c1734c3cb79e7f22579af0b268a463b1fa1d084e742a02a7a290c4f041e349456f3bee3b4ee0bb3f226828597f7b76deb615c1b857db9a742c45520100456272 - languageName: node - linkType: hard - -"postgres-interval@npm:^3.0.0": - version: 3.0.0 - resolution: "postgres-interval@npm:3.0.0" - checksum: 10c0/8b570b30ea37c685e26d136d34460f246f98935a1533defc4b53bb05ee23ae3dc7475b718ec7ea607a57894d8c6b4f1adf67ca9cc83a75bdacffd427d5c68de8 - languageName: node - linkType: hard - -"postgres-interval@npm:^4.0.0, postgres-interval@npm:^4.0.1": - version: 4.0.2 - resolution: "postgres-interval@npm:4.0.2" - checksum: 10c0/46d0766b11ac91ba3e4816c73a04e4e0c13ddf9efb9797982fdc405019a40b85e8b4a36448bd90e1ac1e8f0ca9b2ff22820e65e103368bc6fd9fa6a3b4268fd4 - languageName: node - linkType: hard - -"postgres-range@npm:^1.1.1": - version: 1.1.4 - resolution: "postgres-range@npm:1.1.4" - checksum: 10c0/254494ef81df208e0adeae6b66ce394aba37914ea14c7ece55a45fb6691b7db04bee74c825380a47c887a9f87158fd3d86f758f9cc60b76d3a38ce5aca7912e8 - languageName: node - linkType: hard - -"prebuild-install@npm:^7.1.1": - version: 7.1.1 - resolution: "prebuild-install@npm:7.1.1" - dependencies: - detect-libc: "npm:^2.0.0" - expand-template: "npm:^2.0.3" - github-from-package: "npm:0.0.0" - minimist: "npm:^1.2.3" - mkdirp-classic: "npm:^0.5.3" - napi-build-utils: "npm:^1.0.1" - node-abi: "npm:^3.3.0" - pump: "npm:^3.0.0" - rc: "npm:^1.2.7" - simple-get: "npm:^4.0.0" - tar-fs: "npm:^2.0.0" - tunnel-agent: "npm:^0.6.0" - bin: - prebuild-install: bin.js - checksum: 10c0/6dc70f36b0f4adcb2fe0ed38d874ab28b571fb1a9725d769e8ba3f64a15831e58462de09f3e6e64569bcc4a3e03b9328b56faa0d45fe10ae1574478814536c76 - languageName: node - linkType: hard - -"prelude-ls@npm:^1.2.1": - version: 1.2.1 - resolution: "prelude-ls@npm:1.2.1" - checksum: 10c0/b00d617431e7886c520a6f498a2e14c75ec58f6d93ba48c3b639cf241b54232d90daa05d83a9e9b9fef6baa63cb7e1e4602c2372fea5bc169668401eb127d0cd - languageName: node - linkType: hard - -"prettier-eslint@npm:16.2.0": - version: 16.2.0 - resolution: "prettier-eslint@npm:16.2.0" - dependencies: - "@typescript-eslint/parser": "npm:^6.7.5" - common-tags: "npm:^1.4.0" - dlv: "npm:^1.1.0" - eslint: "npm:^8.7.0" - indent-string: "npm:^4.0.0" - lodash.merge: "npm:^4.6.0" - loglevel-colored-level-prefix: "npm:^1.0.0" - prettier: "npm:^3.0.1" - pretty-format: "npm:^29.7.0" - require-relative: "npm:^0.8.7" - typescript: "npm:^5.2.2" - vue-eslint-parser: "npm:^9.1.0" - checksum: 10c0/6240ea94bfc6d3a01376283a045d0869569fdbe9f2e4c0a20bdeb372c14922ccb712e38c36108258b3c70fcb176f4e0a78b7f773e12a346bae990ab256056550 - languageName: node - linkType: hard - -"prettier-linter-helpers@npm:^1.0.0": - version: 1.0.0 - resolution: "prettier-linter-helpers@npm:1.0.0" - dependencies: - fast-diff: "npm:^1.1.2" - checksum: 10c0/81e0027d731b7b3697ccd2129470ed9913ecb111e4ec175a12f0fcfab0096516373bf0af2fef132af50cafb0a905b74ff57996d615f59512bb9ac7378fcc64ab - languageName: node - linkType: hard - -"prettier@npm:3.1.1": - version: 3.1.1 - resolution: "prettier@npm:3.1.1" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/facc944ba20e194ff4db765e830ffbcb642803381f0d2033ed397e79904fa4ccc877dc25ad68f42d36985c01d051c990ca1b905fb83d2d7d65fe69e4386fa1a3 - languageName: node - linkType: hard - -"prettier@npm:3.2.4, prettier@npm:^3.0.1": - version: 3.2.4 - resolution: "prettier@npm:3.2.4" - bin: - prettier: bin/prettier.cjs - checksum: 10c0/88dfeb78ac6096522c9a5b81f1413d875f568420d9bb6a5e5103527912519b993f2bcdcac311fcff5718d5869671d44e4f85827d3626f3a6ce32b9abc65d88e0 - languageName: node - linkType: hard - -"pretty-format@npm:^29.7.0": - version: 29.7.0 - resolution: "pretty-format@npm:29.7.0" - dependencies: - "@jest/schemas": "npm:^29.6.3" - ansi-styles: "npm:^5.0.0" - react-is: "npm:^18.0.0" - checksum: 10c0/edc5ff89f51916f036c62ed433506b55446ff739358de77207e63e88a28ca2894caac6e73dcb68166a606e51c8087d32d400473e6a9fdd2dbe743f46c9c0276f - languageName: node - linkType: hard - -"proc-log@npm:^3.0.0": - version: 3.0.0 - resolution: "proc-log@npm:3.0.0" - checksum: 10c0/f66430e4ff947dbb996058f6fd22de2c66612ae1a89b097744e17fb18a4e8e7a86db99eda52ccf15e53f00b63f4ec0b0911581ff2aac0355b625c8eac509b0dc - languageName: node - linkType: hard - -"process-warning@npm:^2.0.0": - version: 2.3.2 - resolution: "process-warning@npm:2.3.2" - checksum: 10c0/6bccf187f604dd63067ae8b5a08f658d1cc5df4948a51525691a564ad9250575802c094dd5d1b69f015934fe5df6d925f2e607d7a589918069129b07a777aa7b - languageName: node - linkType: hard - -"process-warning@npm:^3.0.0": - version: 3.0.0 - resolution: "process-warning@npm:3.0.0" - checksum: 10c0/60f3c8ddee586f0706c1e6cb5aa9c86df05774b9330d792d7c8851cf0031afd759d665404d07037e0b4901b55c44a423f07bdc465c63de07d8d23196bb403622 - languageName: node - linkType: hard - -"process@npm:^0.11.10": - version: 0.11.10 - resolution: "process@npm:0.11.10" - checksum: 10c0/40c3ce4b7e6d4b8c3355479df77aeed46f81b279818ccdc500124e6a5ab882c0cc81ff7ea16384873a95a74c4570b01b120f287abbdd4c877931460eca6084b3 - languageName: node - linkType: hard - -"progress@npm:^2.0.3": - version: 2.0.3 - resolution: "progress@npm:2.0.3" - checksum: 10c0/1697e07cb1068055dbe9fe858d242368ff5d2073639e652b75a7eb1f2a1a8d4afd404d719de23c7b48481a6aa0040686310e2dac2f53d776daa2176d3f96369c - languageName: node - linkType: hard - -"promise-inflight@npm:^1.0.1": - version: 1.0.1 - resolution: "promise-inflight@npm:1.0.1" - checksum: 10c0/d179d148d98fbff3d815752fa9a08a87d3190551d1420f17c4467f628214db12235ae068d98cd001f024453676d8985af8f28f002345646c4ece4600a79620bc - languageName: node - linkType: hard - -"promise-retry@npm:^2.0.1": - version: 2.0.1 - resolution: "promise-retry@npm:2.0.1" - dependencies: - err-code: "npm:^2.0.2" - retry: "npm:^0.12.0" - checksum: 10c0/9c7045a1a2928094b5b9b15336dcd2a7b1c052f674550df63cc3f36cd44028e5080448175b6f6ca32b642de81150f5e7b1a98b728f15cb069f2dd60ac2616b96 - languageName: node - linkType: hard - -"proxy-addr@npm:^2.0.7": - version: 2.0.7 - resolution: "proxy-addr@npm:2.0.7" - dependencies: - forwarded: "npm:0.2.0" - ipaddr.js: "npm:1.9.1" - checksum: 10c0/c3eed999781a35f7fd935f398b6d8920b6fb00bbc14287bc6de78128ccc1a02c89b95b56742bf7cf0362cc333c61d138532049c7dedc7a328ef13343eff81210 - languageName: node - linkType: hard - -"proxy-from-env@npm:^1.1.0": - version: 1.1.0 - resolution: "proxy-from-env@npm:1.1.0" - checksum: 10c0/fe7dd8b1bdbbbea18d1459107729c3e4a2243ca870d26d34c2c1bcd3e4425b7bcc5112362df2d93cc7fb9746f6142b5e272fd1cc5c86ddf8580175186f6ad42b - languageName: node - linkType: hard - -"pump@npm:^3.0.0": - version: 3.0.0 - resolution: "pump@npm:3.0.0" - dependencies: - end-of-stream: "npm:^1.1.0" - once: "npm:^1.3.1" - checksum: 10c0/bbdeda4f747cdf47db97428f3a135728669e56a0ae5f354a9ac5b74556556f5446a46f720a8f14ca2ece5be9b4d5d23c346db02b555f46739934cc6c093a5478 - languageName: node - linkType: hard - -"punycode@npm:^2.1.0": - version: 2.3.1 - resolution: "punycode@npm:2.3.1" - checksum: 10c0/14f76a8206bc3464f794fb2e3d3cc665ae416c01893ad7a02b23766eb07159144ee612ad67af5e84fa4479ccfe67678c4feb126b0485651b302babf66f04f9e9 - languageName: node - linkType: hard - -"queue-microtask@npm:^1.2.2": - version: 1.2.3 - resolution: "queue-microtask@npm:1.2.3" - checksum: 10c0/900a93d3cdae3acd7d16f642c29a642aea32c2026446151f0778c62ac089d4b8e6c986811076e1ae180a694cedf077d453a11b58ff0a865629a4f82ab558e102 - languageName: node - linkType: hard - -"quick-format-unescaped@npm:^4.0.3": - version: 4.0.4 - resolution: "quick-format-unescaped@npm:4.0.4" - checksum: 10c0/fe5acc6f775b172ca5b4373df26f7e4fd347975578199e7d74b2ae4077f0af05baa27d231de1e80e8f72d88275ccc6028568a7a8c9ee5e7368ace0e18eff93a4 - languageName: node - linkType: hard - -"rc@npm:^1.2.7": - version: 1.2.8 - resolution: "rc@npm:1.2.8" - dependencies: - deep-extend: "npm:^0.6.0" - ini: "npm:~1.3.0" - minimist: "npm:^1.2.0" - strip-json-comments: "npm:~2.0.1" - bin: - rc: ./cli.js - checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15 - languageName: node - linkType: hard - -"react-is@npm:^18.0.0": - version: 18.2.0 - resolution: "react-is@npm:18.2.0" - checksum: 10c0/6eb5e4b28028c23e2bfcf73371e72cd4162e4ac7ab445ddae2afe24e347a37d6dc22fae6e1748632cd43c6d4f9b8f86dcf26bf9275e1874f436d129952528ae0 - languageName: node - linkType: hard - -"readable-stream@npm:2 || 3, readable-stream@npm:3, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.4.0, readable-stream@npm:^3.6.0": - version: 3.6.2 - resolution: "readable-stream@npm:3.6.2" - dependencies: - inherits: "npm:^2.0.3" - string_decoder: "npm:^1.1.1" - util-deprecate: "npm:^1.0.1" - checksum: 10c0/e37be5c79c376fdd088a45fa31ea2e423e5d48854be7a22a58869b4e84d25047b193f6acb54f1012331e1bcd667ffb569c01b99d36b0bd59658fb33f513511b7 - languageName: node - linkType: hard - -"readable-stream@npm:^4.0.0": - version: 4.5.2 - resolution: "readable-stream@npm:4.5.2" - dependencies: - abort-controller: "npm:^3.0.0" - buffer: "npm:^6.0.3" - events: "npm:^3.3.0" - process: "npm:^0.11.10" - string_decoder: "npm:^1.3.0" - checksum: 10c0/a2c80e0e53aabd91d7df0330929e32d0a73219f9477dbbb18472f6fdd6a11a699fc5d172a1beff98d50eae4f1496c950ffa85b7cc2c4c196963f289a5f39275d - languageName: node - linkType: hard - -"real-require@npm:^0.2.0": - version: 0.2.0 - resolution: "real-require@npm:0.2.0" - checksum: 10c0/23eea5623642f0477412ef8b91acd3969015a1501ed34992ada0e3af521d3c865bb2fe4cdbfec5fe4b505f6d1ef6a03e5c3652520837a8c3b53decff7e74b6a0 - languageName: node - linkType: hard - -"require-from-string@npm:^2.0.2": - version: 2.0.2 - resolution: "require-from-string@npm:2.0.2" - checksum: 10c0/aaa267e0c5b022fc5fd4eef49d8285086b15f2a1c54b28240fdf03599cbd9c26049fee3eab894f2e1f6ca65e513b030a7c264201e3f005601e80c49fb2937ce2 - languageName: node - linkType: hard - -"require-relative@npm:^0.8.7": - version: 0.8.7 - resolution: "require-relative@npm:0.8.7" - checksum: 10c0/b2d36d20cb849c26fb8134064048162e029ebbf373c915e6d31b2d5caa9e9b599c7b3e70700c019c28c9347369e85ecbcf139956788ece2774d8cb355d24c36f - languageName: node - linkType: hard - -"requizzle@npm:^0.2.3": - version: 0.2.4 - resolution: "requizzle@npm:0.2.4" - dependencies: - lodash: "npm:^4.17.21" - checksum: 10c0/ad138f987943aeda5f96cd1ccba9752c96352a729a7e3c3e2545568703f7fc9b978d9b46715803408ef178b0d61d36a4b1b506b367b7e78fe6d041fa5bfa5e06 - languageName: node - linkType: hard - -"resolve-from@npm:^4.0.0": - version: 4.0.0 - resolution: "resolve-from@npm:4.0.0" - checksum: 10c0/8408eec31a3112ef96e3746c37be7d64020cda07c03a920f5024e77290a218ea758b26ca9529fd7b1ad283947f34b2291c1c0f6aa0ed34acfdda9c6014c8d190 - languageName: node - linkType: hard - -"resolve-pkg-maps@npm:^1.0.0": - version: 1.0.0 - resolution: "resolve-pkg-maps@npm:1.0.0" - checksum: 10c0/fb8f7bbe2ca281a73b7ef423a1cbc786fb244bd7a95cbe5c3fba25b27d327150beca8ba02f622baea65919a57e061eb5005204daa5f93ed590d9b77463a567ab - languageName: node - linkType: hard - -"ret@npm:~0.2.0": - version: 0.2.2 - resolution: "ret@npm:0.2.2" - checksum: 10c0/1a41e543913cda851abb1dae4852efa97bb693ce58fde3b51cc1cae94e2599dd70b91ad6268a4a07fc238305be06fed91723ef6d08863c48a0d02e0a74b943cd - languageName: node - linkType: hard - -"retry@npm:^0.12.0": - version: 0.12.0 - resolution: "retry@npm:0.12.0" - checksum: 10c0/59933e8501727ba13ad73ef4a04d5280b3717fd650408460c987392efe9d7be2040778ed8ebe933c5cbd63da3dcc37919c141ef8af0a54a6e4fca5a2af177bfe - languageName: node - linkType: hard - -"reusify@npm:^1.0.4": - version: 1.0.4 - resolution: "reusify@npm:1.0.4" - checksum: 10c0/c19ef26e4e188f408922c46f7ff480d38e8dfc55d448310dfb518736b23ed2c4f547fb64a6ed5bdba92cd7e7ddc889d36ff78f794816d5e71498d645ef476107 - languageName: node - linkType: hard - -"rfdc@npm:^1.2.0, rfdc@npm:^1.3.0": - version: 1.3.1 - resolution: "rfdc@npm:1.3.1" - checksum: 10c0/69f65e3ed30970f8055fac9fbbef9ce578800ca19554eab1dcbffe73a4b8aef536bc4248313889cf25e3b4e38b212c721eabe30856575bf2b2bc3d90f8ba93ef - languageName: node - linkType: hard - -"rimraf@npm:^3.0.2": - version: 3.0.2 - resolution: "rimraf@npm:3.0.2" - dependencies: - glob: "npm:^7.1.3" - bin: - rimraf: bin.js - checksum: 10c0/9cb7757acb489bd83757ba1a274ab545eafd75598a9d817e0c3f8b164238dd90eba50d6b848bd4dcc5f3040912e882dc7ba71653e35af660d77b25c381d402e8 - languageName: node - linkType: hard - -"roarr@npm:^7.11.0, roarr@npm:^7.18.3": - version: 7.21.0 - resolution: "roarr@npm:7.21.0" - dependencies: - fast-printf: "npm:^1.6.9" - safe-stable-stringify: "npm:^2.4.3" - semver-compare: "npm:^1.0.0" - checksum: 10c0/c2069545c0267614ed6a8396309fcad34327133167a3eac2fcaa56343e98dd942714bcbf1ca9def6de2979863b3416a24bac99d6e27a12ffefb7b3ef2ced9e06 - languageName: node - linkType: hard - -"rollup@npm:^4.2.0": - version: 4.9.6 - resolution: "rollup@npm:4.9.6" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.9.6" - "@rollup/rollup-android-arm64": "npm:4.9.6" - "@rollup/rollup-darwin-arm64": "npm:4.9.6" - "@rollup/rollup-darwin-x64": "npm:4.9.6" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.9.6" - "@rollup/rollup-linux-arm64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-arm64-musl": "npm:4.9.6" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-x64-gnu": "npm:4.9.6" - "@rollup/rollup-linux-x64-musl": "npm:4.9.6" - "@rollup/rollup-win32-arm64-msvc": "npm:4.9.6" - "@rollup/rollup-win32-ia32-msvc": "npm:4.9.6" - "@rollup/rollup-win32-x64-msvc": "npm:4.9.6" - "@types/estree": "npm:1.0.5" - fsevents: "npm:~2.3.2" - dependenciesMeta: - "@rollup/rollup-android-arm-eabi": - optional: true - "@rollup/rollup-android-arm64": - optional: true - "@rollup/rollup-darwin-arm64": - optional: true - "@rollup/rollup-darwin-x64": - optional: true - "@rollup/rollup-linux-arm-gnueabihf": - optional: true - "@rollup/rollup-linux-arm64-gnu": - optional: true - "@rollup/rollup-linux-arm64-musl": - optional: true - "@rollup/rollup-linux-riscv64-gnu": - optional: true - "@rollup/rollup-linux-x64-gnu": - optional: true - "@rollup/rollup-linux-x64-musl": - optional: true - "@rollup/rollup-win32-arm64-msvc": - optional: true - "@rollup/rollup-win32-ia32-msvc": - optional: true - "@rollup/rollup-win32-x64-msvc": - optional: true - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 10c0/fcd9ab091cd2e604525ab919137f7868f002e27dc12921a3e09be2c85fa6e477c9dbd7ca54730500622db64e1fa53d1e5e2db3567e273a31d96d594932c8ae3b - languageName: node - linkType: hard - -"run-parallel@npm:^1.1.9": - version: 1.2.0 - resolution: "run-parallel@npm:1.2.0" - dependencies: - queue-microtask: "npm:^1.2.2" - checksum: 10c0/200b5ab25b5b8b7113f9901bfe3afc347e19bb7475b267d55ad0eb86a62a46d77510cb0f232507c9e5d497ebda569a08a9867d0d14f57a82ad5564d991588b39 - languageName: node - linkType: hard - -"rusty-motors@workspace:.": - version: 0.0.0-use.local - resolution: "rusty-motors@workspace:." - dependencies: - "@slonik/migrator": "npm:^0.12.0" - "@types/node": "npm:^20.11.16" - prettier: "npm:3.2.4" - slonik: "npm:29" - typescript: "npm:^5.3.3" - vitest: "npm:^1.2.2" - languageName: unknown - linkType: soft - -"safe-buffer@npm:^5.0.1, safe-buffer@npm:~5.2.0": - version: 5.2.1 - resolution: "safe-buffer@npm:5.2.1" - checksum: 10c0/6501914237c0a86e9675d4e51d89ca3c21ffd6a31642efeba25ad65720bce6921c9e7e974e5be91a786b25aa058b5303285d3c15dbabf983a919f5f630d349f3 - languageName: node - linkType: hard - -"safe-regex2@npm:^2.0.0": - version: 2.0.0 - resolution: "safe-regex2@npm:2.0.0" - dependencies: - ret: "npm:~0.2.0" - checksum: 10c0/f499e4fc69caafd7dd8023759e69a32991baa66e90bec5e2a7777b907943b27068dbff4e7a32cc8231f1354fcb779142f419e85498ae1e37384dc60619509c27 - languageName: node - linkType: hard - -"safe-stable-stringify@npm:^2.3.1, safe-stable-stringify@npm:^2.4.3": - version: 2.4.3 - resolution: "safe-stable-stringify@npm:2.4.3" - checksum: 10c0/81dede06b8f2ae794efd868b1e281e3c9000e57b39801c6c162267eb9efda17bd7a9eafa7379e1f1cacd528d4ced7c80d7460ad26f62ada7c9e01dec61b2e768 - languageName: node - linkType: hard - -"safer-buffer@npm:>= 2.1.2 < 3.0.0": - version: 2.1.2 - resolution: "safer-buffer@npm:2.1.2" - checksum: 10c0/7e3c8b2e88a1841c9671094bbaeebd94448111dd90a81a1f606f3f67708a6ec57763b3b47f06da09fc6054193e0e6709e77325415dc8422b04497a8070fa02d4 - languageName: node - linkType: hard - -"secure-json-parse@npm:^2.4.0, secure-json-parse@npm:^2.7.0": - version: 2.7.0 - resolution: "secure-json-parse@npm:2.7.0" - checksum: 10c0/f57eb6a44a38a3eeaf3548228585d769d788f59007454214fab9ed7f01fbf2e0f1929111da6db28cf0bcc1a2e89db5219a59e83eeaec3a54e413a0197ce879e4 - languageName: node - linkType: hard - -"semver-compare@npm:^1.0.0": - version: 1.0.0 - resolution: "semver-compare@npm:1.0.0" - checksum: 10c0/9ef4d8b81847556f0865f46ddc4d276bace118c7cb46811867af82e837b7fc473911981d5a0abc561fa2db487065572217e5b06e18701c4281bcdd2a1affaff1 - languageName: node - linkType: hard - -"semver@npm:^7.3.5, semver@npm:^7.3.6, semver@npm:^7.5.3, semver@npm:^7.5.4": - version: 7.5.4 - resolution: "semver@npm:7.5.4" - dependencies: - lru-cache: "npm:^6.0.0" - bin: - semver: bin/semver.js - checksum: 10c0/5160b06975a38b11c1ab55950cb5b8a23db78df88275d3d8a42ccf1f29e55112ac995b3a26a522c36e3b5f76b0445f1eef70d696b8c7862a2b4303d7b0e7609e - languageName: node - linkType: hard - -"serialize-error@npm:^8.0.0": - version: 8.1.0 - resolution: "serialize-error@npm:8.1.0" - dependencies: - type-fest: "npm:^0.20.2" - checksum: 10c0/8cfd89f43ca93e283c5f1d16178a536bdfac9bc6029f4a9df988610cc399bc4f2478d1f10ce40b9dff66b863a5158a19b438fbec929045c96d92174f6bca1e88 - languageName: node - linkType: hard - -"set-blocking@npm:^2.0.0": - version: 2.0.0 - resolution: "set-blocking@npm:2.0.0" - checksum: 10c0/9f8c1b2d800800d0b589de1477c753492de5c1548d4ade52f57f1d1f5e04af5481554d75ce5e5c43d4004b80a3eb714398d6907027dc0534177b7539119f4454 - languageName: node - linkType: hard - -"set-cookie-parser@npm:^2.4.1": - version: 2.6.0 - resolution: "set-cookie-parser@npm:2.6.0" - checksum: 10c0/739da029f0e56806a103fcd5501d9c475e19e77bd8274192d7ae5c374ae714a82bba9a7ac00b0330a18227c5644b08df9e442240527be578f5a6030f9bb2bb80 - languageName: node - linkType: hard - -"setprototypeof@npm:1.2.0": - version: 1.2.0 - resolution: "setprototypeof@npm:1.2.0" - checksum: 10c0/68733173026766fa0d9ecaeb07f0483f4c2dc70ca376b3b7c40b7cda909f94b0918f6c5ad5ce27a9160bdfb475efaa9d5e705a11d8eaae18f9835d20976028bc - languageName: node - linkType: hard - -"shebang-command@npm:^2.0.0": - version: 2.0.0 - resolution: "shebang-command@npm:2.0.0" - dependencies: - shebang-regex: "npm:^3.0.0" - checksum: 10c0/a41692e7d89a553ef21d324a5cceb5f686d1f3c040759c50aab69688634688c5c327f26f3ecf7001ebfd78c01f3c7c0a11a7c8bfd0a8bc9f6240d4f40b224e4e - languageName: node - linkType: hard - -"shebang-regex@npm:^3.0.0": - version: 3.0.0 - resolution: "shebang-regex@npm:3.0.0" - checksum: 10c0/1dbed0726dd0e1152a92696c76c7f06084eb32a90f0528d11acd764043aacf76994b2fb30aa1291a21bd019d6699164d048286309a278855ee7bec06cf6fb690 - languageName: node - linkType: hard - -"short-unique-id@npm:^5.0.3": - version: 5.0.3 - resolution: "short-unique-id@npm:5.0.3" - bin: - short-unique-id: bin/short-unique-id - suid: bin/short-unique-id - checksum: 10c0/8b9cdfd79304424ba304cb82e1cc27171be158946139ac344c14313f76ede41dec0106fa2fc98b0f6d7b06460eeac87ce8a9ee19b44070eab3ee49f02f733d09 - languageName: node - linkType: hard - -"siginfo@npm:^2.0.0": - version: 2.0.0 - resolution: "siginfo@npm:2.0.0" - checksum: 10c0/3def8f8e516fbb34cb6ae415b07ccc5d9c018d85b4b8611e3dc6f8be6d1899f693a4382913c9ed51a06babb5201639d76453ab297d1c54a456544acf5c892e34 - languageName: node - linkType: hard - -"signal-exit@npm:^3.0.7": - version: 3.0.7 - resolution: "signal-exit@npm:3.0.7" - checksum: 10c0/25d272fa73e146048565e08f3309d5b942c1979a6f4a58a8c59d5fa299728e9c2fcd1a759ec870863b1fd38653670240cd420dad2ad9330c71f36608a6a1c912 - languageName: node - linkType: hard - -"signal-exit@npm:^4.0.1, signal-exit@npm:^4.1.0": - version: 4.1.0 - resolution: "signal-exit@npm:4.1.0" - checksum: 10c0/41602dce540e46d599edba9d9860193398d135f7ff72cab629db5171516cfae628d21e7bfccde1bbfdf11c48726bc2a6d1a8fb8701125852fbfda7cf19c6aa83 - languageName: node - linkType: hard - -"simple-concat@npm:^1.0.0": - version: 1.0.1 - resolution: "simple-concat@npm:1.0.1" - checksum: 10c0/62f7508e674414008910b5397c1811941d457dfa0db4fd5aa7fa0409eb02c3609608dfcd7508cace75b3a0bf67a2a77990711e32cd213d2c76f4fd12ee86d776 - languageName: node - linkType: hard - -"simple-get@npm:^4.0.0": - version: 4.0.1 - resolution: "simple-get@npm:4.0.1" - dependencies: - decompress-response: "npm:^6.0.0" - once: "npm:^1.3.1" - simple-concat: "npm:^1.0.0" - checksum: 10c0/b0649a581dbca741babb960423248899203165769747142033479a7dc5e77d7b0fced0253c731cd57cf21e31e4d77c9157c3069f4448d558ebc96cf9e1eebcf0 - languageName: node - linkType: hard - -"slash@npm:^3.0.0": - version: 3.0.0 - resolution: "slash@npm:3.0.0" - checksum: 10c0/e18488c6a42bdfd4ac5be85b2ced3ccd0224773baae6ad42cfbb9ec74fc07f9fa8396bd35ee638084ead7a2a0818eb5e7151111544d4731ce843019dab4be47b - languageName: node - linkType: hard - -"slonik@npm:29": - version: 29.2.0 - resolution: "slonik@npm:29.2.0" - dependencies: - concat-stream: "npm:^2.0.0" - es6-error: "npm:^4.1.1" - fast-safe-stringify: "npm:^2.1.1" - get-stack-trace: "npm:^2.1.1" - hyperid: "npm:^2.3.1" - is-plain-object: "npm:^5.0.0" - iso8601-duration: "npm:^1.3.0" - p-defer: "npm:^3.0.0" - pg: "npm:^8.7.3" - pg-copy-streams: "npm:^6.0.2" - pg-copy-streams-binary: "npm:^2.2.0" - pg-cursor: "npm:^2.7.3" - pg-protocol: "npm:^1.5.0" - postgres-array: "npm:^3.0.1" - postgres-interval: "npm:^4.0.0" - roarr: "npm:^7.11.0" - serialize-error: "npm:^8.0.0" - through2: "npm:^4.0.2" - checksum: 10c0/578901771de6fa6a720e7ea5359d4b016d701d1be308912b0adf665616d3edb3d2caab800699f5e9aa964f2a437f81c0a7ce5433e47179bb3192466f7d56a6bf - languageName: node - linkType: hard - -"slonik@npm:^37.2.0": - version: 37.2.0 - resolution: "slonik@npm:37.2.0" - dependencies: - "@types/pg": "npm:^8.10.7" - es6-error: "npm:^4.1.1" - get-stack-trace: "npm:^3.1.1" - iso8601-duration: "npm:^1.3.0" - pg: "npm:^8.11.3" - pg-protocol: "npm:^1.6.0" - pg-query-stream: "npm:^4.5.3" - pg-types: "npm:^4.0.1" - postgres-array: "npm:^3.0.2" - postgres-interval: "npm:^4.0.1" - roarr: "npm:^7.18.3" - safe-stable-stringify: "npm:^2.4.3" - serialize-error: "npm:^8.0.0" - peerDependencies: - zod: ^3 - checksum: 10c0/2bd8e8a5c5e6ae8ce1c5814a3b4f79aeb01a121829996d4102a90c9c23854e90e2b71e1148862f89bca7e3ae2c99629a5e9e996997546649ffb04547d455ad7a - languageName: node - linkType: hard - -"smart-buffer@npm:^4.2.0": - version: 4.2.0 - resolution: "smart-buffer@npm:4.2.0" - checksum: 10c0/a16775323e1404dd43fabafe7460be13a471e021637bc7889468eb45ce6a6b207261f454e4e530a19500cc962c4cc5348583520843b363f4193cee5c00e1e539 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^6.0.0": - version: 6.2.1 - resolution: "socks-proxy-agent@npm:6.2.1" - dependencies: - agent-base: "npm:^6.0.2" - debug: "npm:^4.3.3" - socks: "npm:^2.6.2" - checksum: 10c0/d75c1cf1fdd7f8309a43a77f84409b793fc0f540742ef915154e70ac09a08b0490576fe85d4f8d68bbf80e604a62957a17ab5ef50d312fe1442b0ab6f8f6e6f6 - languageName: node - linkType: hard - -"socks-proxy-agent@npm:^8.0.1": - version: 8.0.2 - resolution: "socks-proxy-agent@npm:8.0.2" - dependencies: - agent-base: "npm:^7.0.2" - debug: "npm:^4.3.4" - socks: "npm:^2.7.1" - checksum: 10c0/a842402fc9b8848a31367f2811ca3cd14c4106588b39a0901cd7a69029998adfc6456b0203617c18ed090542ad0c24ee4e9d4c75a0c4b75071e214227c177eb7 - languageName: node - linkType: hard - -"socks@npm:^2.6.2, socks@npm:^2.7.1": - version: 2.7.1 - resolution: "socks@npm:2.7.1" - dependencies: - ip: "npm:^2.0.0" - smart-buffer: "npm:^4.2.0" - checksum: 10c0/43f69dbc9f34fc8220bc51c6eea1c39715ab3cfdb115d6e3285f6c7d1a603c5c75655668a5bbc11e3c7e2c99d60321fb8d7ab6f38cda6a215fadd0d6d0b52130 - languageName: node - linkType: hard - -"sonic-boom@npm:^3.0.0, sonic-boom@npm:^3.7.0": - version: 3.8.0 - resolution: "sonic-boom@npm:3.8.0" - dependencies: - atomic-sleep: "npm:^1.0.0" - checksum: 10c0/f3f61cb3fd5d4aad862dd957f22318ef85bf47d4f12ba27b915112908449f752dbdfc95a4739d2b4a9b2770e1e08d349adae9d1030fdab2a3d86128c6773a7f4 - languageName: node - linkType: hard - -"source-map-js@npm:^1.0.2": - version: 1.0.2 - resolution: "source-map-js@npm:1.0.2" - checksum: 10c0/32f2dfd1e9b7168f9a9715eb1b4e21905850f3b50cf02cf476e47e4eebe8e6b762b63a64357896aa29b37e24922b4282df0f492e0d2ace572b43d15525976ff8 - languageName: node - linkType: hard - -"source-map@npm:^0.6.1": - version: 0.6.1 - resolution: "source-map@npm:0.6.1" - checksum: 10c0/ab55398007c5e5532957cb0beee2368529618ac0ab372d789806f5718123cc4367d57de3904b4e6a4170eb5a0b0f41373066d02ca0735a0c4d75c7d328d3e011 - languageName: node - linkType: hard - -"source-map@npm:^0.8.0-beta.0": - version: 0.8.0-beta.0 - resolution: "source-map@npm:0.8.0-beta.0" - dependencies: - whatwg-url: "npm:^7.0.0" - checksum: 10c0/fb4d9bde9a9fdb2c29b10e5eae6c71d10e09ef467e1afb75fdec2eb7e11fa5b343a2af553f74f18b695dbc0b81f9da2e9fa3d7a317d5985e9939499ec6087835 - languageName: node - linkType: hard - -"split2@npm:^4.0.0, split2@npm:^4.1.0": - version: 4.2.0 - resolution: "split2@npm:4.2.0" - checksum: 10c0/b292beb8ce9215f8c642bb68be6249c5a4c7f332fc8ecadae7be5cbdf1ea95addc95f0459ef2e7ad9d45fd1064698a097e4eb211c83e772b49bc0ee423e91534 - languageName: node - linkType: hard - -"sprintf-js@npm:~1.0.2": - version: 1.0.3 - resolution: "sprintf-js@npm:1.0.3" - checksum: 10c0/ecadcfe4c771890140da5023d43e190b7566d9cf8b2d238600f31bec0fc653f328da4450eb04bd59a431771a8e9cc0e118f0aa3974b683a4981b4e07abc2a5bb - languageName: node - linkType: hard - -"sqlite3@npm:^5.1.7": - version: 5.1.7 - resolution: "sqlite3@npm:5.1.7" - dependencies: - bindings: "npm:^1.5.0" - node-addon-api: "npm:^7.0.0" - node-gyp: "npm:8.x" - prebuild-install: "npm:^7.1.1" - tar: "npm:^6.1.11" - peerDependencies: - node-gyp: 8.x - dependenciesMeta: - node-gyp: - optional: true - peerDependenciesMeta: - node-gyp: - optional: true - checksum: 10c0/10daab5d7854bd0ec3c7690c00359cd3444eabc869b68c68dcb61374a8fa5e2f4be06cf0aba78f7a16336d49e83e4631e8af98f8bd33c772fe8d60b45fa60bc1 - languageName: node - linkType: hard - -"ssri@npm:^10.0.0": - version: 10.0.5 - resolution: "ssri@npm:10.0.5" - dependencies: - minipass: "npm:^7.0.3" - checksum: 10c0/b091f2ae92474183c7ac5ed3f9811457e1df23df7a7e70c9476eaa9a0c4a0c8fc190fb45acefbf023ca9ee864dd6754237a697dc52a0fb182afe65d8e77443d8 - languageName: node - linkType: hard - -"ssri@npm:^8.0.0, ssri@npm:^8.0.1": - version: 8.0.1 - resolution: "ssri@npm:8.0.1" - dependencies: - minipass: "npm:^3.1.1" - checksum: 10c0/5cfae216ae02dcd154d1bbed2d0a60038a4b3a2fcaac3c7e47401ff4e058e551ee74cfdba618871bf168cd583db7b8324f94af6747d4303b73cd4c3f6dc5c9c2 - languageName: node - linkType: hard - -"stackback@npm:0.0.2": - version: 0.0.2 - resolution: "stackback@npm:0.0.2" - checksum: 10c0/89a1416668f950236dd5ac9f9a6b2588e1b9b62b1b6ad8dff1bfc5d1a15dbf0aafc9b52d2226d00c28dffff212da464eaeebfc6b7578b9d180cef3e3782c5983 - languageName: node - linkType: hard - -"stacktrace-parser@npm:^0.1.10": - version: 0.1.10 - resolution: "stacktrace-parser@npm:0.1.10" - dependencies: - type-fest: "npm:^0.7.1" - checksum: 10c0/f9c9cd55b0642a546e5f0516a87124fc496dcc2c082b96b156ed094c51e423314795cd1839cd4c59026349cf392d3414f54fc42165255602728588a58a9f72d3 - languageName: node - linkType: hard - -"statuses@npm:2.0.1": - version: 2.0.1 - resolution: "statuses@npm:2.0.1" - checksum: 10c0/34378b207a1620a24804ce8b5d230fea0c279f00b18a7209646d5d47e419d1cc23e7cbf33a25a1e51ac38973dc2ac2e1e9c647a8e481ef365f77668d72becfd0 - languageName: node - linkType: hard - -"std-env@npm:^3.5.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e - languageName: node - linkType: hard - -"string-argv@npm:~0.3.1": - version: 0.3.2 - resolution: "string-argv@npm:0.3.2" - checksum: 10c0/75c02a83759ad1722e040b86823909d9a2fc75d15dd71ec4b537c3560746e33b5f5a07f7332d1e3f88319909f82190843aa2f0a0d8c8d591ec08e93d5b8dec82 - languageName: node - linkType: hard - -"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.1.0, string-width@npm:^4.2.3": - version: 4.2.3 - resolution: "string-width@npm:4.2.3" - dependencies: - emoji-regex: "npm:^8.0.0" - is-fullwidth-code-point: "npm:^3.0.0" - strip-ansi: "npm:^6.0.1" - checksum: 10c0/1e525e92e5eae0afd7454086eed9c818ee84374bb80328fc41217ae72ff5f065ef1c9d7f72da41de40c75fa8bb3dee63d92373fd492c84260a552c636392a47b - languageName: node - linkType: hard - -"string-width@npm:^5.0.1, string-width@npm:^5.1.2": - version: 5.1.2 - resolution: "string-width@npm:5.1.2" - dependencies: - eastasianwidth: "npm:^0.2.0" - emoji-regex: "npm:^9.2.2" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/ab9c4264443d35b8b923cbdd513a089a60de339216d3b0ed3be3ba57d6880e1a192b70ae17225f764d7adbf5994e9bb8df253a944736c15a0240eff553c678ca - languageName: node - linkType: hard - -"string_decoder@npm:^1.1.1, string_decoder@npm:^1.3.0": - version: 1.3.0 - resolution: "string_decoder@npm:1.3.0" - dependencies: - safe-buffer: "npm:~5.2.0" - checksum: 10c0/810614ddb030e271cd591935dcd5956b2410dd079d64ff92a1844d6b7588bf992b3e1b69b0f4d34a3e06e0bd73046ac646b5264c1987b20d0601f81ef35d731d - languageName: node - linkType: hard - -"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1": - version: 6.0.1 - resolution: "strip-ansi@npm:6.0.1" - dependencies: - ansi-regex: "npm:^5.0.1" - checksum: 10c0/1ae5f212a126fe5b167707f716942490e3933085a5ff6c008ab97ab2f272c8025d3aa218b7bd6ab25729ca20cc81cddb252102f8751e13482a5199e873680952 - languageName: node - linkType: hard - -"strip-ansi@npm:^3.0.0": - version: 3.0.1 - resolution: "strip-ansi@npm:3.0.1" - dependencies: - ansi-regex: "npm:^2.0.0" - checksum: 10c0/f6e7fbe8e700105dccf7102eae20e4f03477537c74b286fd22cfc970f139002ed6f0d9c10d0e21aa9ed9245e0fa3c9275930e8795c5b947da136e4ecb644a70f - languageName: node - linkType: hard - -"strip-ansi@npm:^7.0.1": - version: 7.1.0 - resolution: "strip-ansi@npm:7.1.0" - dependencies: - ansi-regex: "npm:^6.0.1" - checksum: 10c0/a198c3762e8832505328cbf9e8c8381de14a4fa50a4f9b2160138158ea88c0f5549fb50cb13c651c3088f47e63a108b34622ec18c0499b6c8c3a5ddf6b305ac4 - languageName: node - linkType: hard - -"strip-final-newline@npm:^3.0.0": - version: 3.0.0 - resolution: "strip-final-newline@npm:3.0.0" - checksum: 10c0/a771a17901427bac6293fd416db7577e2bc1c34a19d38351e9d5478c3c415f523f391003b42ed475f27e33a78233035df183525395f731d3bfb8cdcbd4da08ce - languageName: node - linkType: hard - -"strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": - version: 3.1.1 - resolution: "strip-json-comments@npm:3.1.1" - checksum: 10c0/9681a6257b925a7fa0f285851c0e613cc934a50661fa7bb41ca9cbbff89686bb4a0ee366e6ecedc4daafd01e83eee0720111ab294366fe7c185e935475ebcecd - languageName: node - linkType: hard - -"strip-json-comments@npm:~2.0.1": - version: 2.0.1 - resolution: "strip-json-comments@npm:2.0.1" - checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43 - languageName: node - linkType: hard - -"strip-literal@npm:^1.3.0": - version: 1.3.0 - resolution: "strip-literal@npm:1.3.0" - dependencies: - acorn: "npm:^8.10.0" - checksum: 10c0/3c0c9ee41eb346e827eede61ef288457f53df30e3e6ff8b94fa81b636933b0c13ca4ea5c97d00a10d72d04be326da99ac819f8769f0c6407ba8177c98344a916 - languageName: node - linkType: hard - -"supports-color@npm:^2.0.0": - version: 2.0.0 - resolution: "supports-color@npm:2.0.0" - checksum: 10c0/570e0b63be36cccdd25186350a6cb2eaad332a95ff162fa06d9499982315f2fe4217e69dd98e862fbcd9c81eaff300a825a1fe7bf5cc752e5b84dfed042b0dda - languageName: node - linkType: hard - -"supports-color@npm:^7.1.0": - version: 7.2.0 - resolution: "supports-color@npm:7.2.0" - dependencies: - has-flag: "npm:^4.0.0" - checksum: 10c0/afb4c88521b8b136b5f5f95160c98dee7243dc79d5432db7efc27efb219385bbc7d9427398e43dd6cc730a0f87d5085ce1652af7efbe391327bc0a7d0f7fc124 - languageName: node - linkType: hard - -"synckit@npm:^0.8.6": - version: 0.8.8 - resolution: "synckit@npm:0.8.8" - dependencies: - "@pkgr/core": "npm:^0.1.0" - tslib: "npm:^2.6.2" - checksum: 10c0/c3d3aa8e284f3f84f2f868b960c9f49239b364e35f6d20825a448449a3e9c8f49fe36cdd5196b30615682f007830d46f2ea354003954c7336723cb821e4b6519 - languageName: node - linkType: hard - -"tar-fs@npm:^2.0.0": - version: 2.1.1 - resolution: "tar-fs@npm:2.1.1" - dependencies: - chownr: "npm:^1.1.1" - mkdirp-classic: "npm:^0.5.2" - pump: "npm:^3.0.0" - tar-stream: "npm:^2.1.4" - checksum: 10c0/871d26a934bfb7beeae4c4d8a09689f530b565f79bd0cf489823ff0efa3705da01278160da10bb006d1a793fa0425cf316cec029b32a9159eacbeaff4965fb6d - languageName: node - linkType: hard - -"tar-stream@npm:^2.1.4": - version: 2.2.0 - resolution: "tar-stream@npm:2.2.0" - dependencies: - bl: "npm:^4.0.3" - end-of-stream: "npm:^1.4.1" - fs-constants: "npm:^1.0.0" - inherits: "npm:^2.0.3" - readable-stream: "npm:^3.1.1" - checksum: 10c0/2f4c910b3ee7196502e1ff015a7ba321ec6ea837667220d7bcb8d0852d51cb04b87f7ae471008a6fb8f5b1a1b5078f62f3a82d30c706f20ada1238ac797e7692 - languageName: node - linkType: hard - -"tar@npm:^6.0.2, tar@npm:^6.1.11, tar@npm:^6.1.2": - version: 6.2.0 - resolution: "tar@npm:6.2.0" - dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/02ca064a1a6b4521fef88c07d389ac0936730091f8c02d30ea60d472e0378768e870769ab9e986d87807bfee5654359cf29ff4372746cc65e30cbddc352660d8 - languageName: node - linkType: hard - -"test-exclude@npm:^6.0.0": - version: 6.0.0 - resolution: "test-exclude@npm:6.0.0" - dependencies: - "@istanbuljs/schema": "npm:^0.1.2" - glob: "npm:^7.1.4" - minimatch: "npm:^3.0.4" - checksum: 10c0/019d33d81adff3f9f1bfcff18125fb2d3c65564f437d9be539270ee74b994986abb8260c7c2ce90e8f30162178b09dbbce33c6389273afac4f36069c48521f57 - languageName: node - linkType: hard - -"text-table@npm:^0.2.0": - version: 0.2.0 - resolution: "text-table@npm:0.2.0" - checksum: 10c0/02805740c12851ea5982686810702e2f14369a5f4c5c40a836821e3eefc65ffeec3131ba324692a37608294b0fd8c1e55a2dd571ffed4909822787668ddbee5c - languageName: node - linkType: hard - -"thread-stream@npm:^2.0.0": - version: 2.4.1 - resolution: "thread-stream@npm:2.4.1" - dependencies: - real-require: "npm:^0.2.0" - checksum: 10c0/ce29265810b9550ce896726301ff006ebfe96b90292728f07cfa4c379740585583046e2a8018afc53aca66b18fed12b33a84f3883e7ebc317185f6682898b8f8 - languageName: node - linkType: hard - -"through2@npm:^3.0.1": - version: 3.0.2 - resolution: "through2@npm:3.0.2" - dependencies: - inherits: "npm:^2.0.4" - readable-stream: "npm:2 || 3" - checksum: 10c0/8ea17efa2ce5b78ef5c52d08e29d0dbdad9c321c2add5192bba3434cae25b2319bf9cdac1c54c3bfbd721438a30565ca6f3f19eb79f62341dafc5a12429d2ccc - languageName: node - linkType: hard - -"through2@npm:^4.0.2": - version: 4.0.2 - resolution: "through2@npm:4.0.2" - dependencies: - readable-stream: "npm:3" - checksum: 10c0/3741564ae99990a4a79097fe7a4152c22348adc4faf2df9199a07a66c81ed2011da39f631e479fdc56483996a9d34a037ad64e76d79f18c782ab178ea9b6778c - languageName: node - linkType: hard - -"tinybench@npm:^2.5.1": - version: 2.6.0 - resolution: "tinybench@npm:2.6.0" - checksum: 10c0/60ea35699bf8bac9bc8cf279fa5877ab5b335b4673dcd07bf0fbbab9d7953a02c0ccded374677213eaa13aa147f54eb75d3230139ddbeec3875829ebe73db310 - languageName: node - linkType: hard - -"tinypool@npm:^0.8.2": - version: 0.8.2 - resolution: "tinypool@npm:0.8.2" - checksum: 10c0/8998626614172fc37c394e9a14e701dc437727fc6525488a4d4fd42044a4b2b59d6f076d750cbf5c699f79c58dd4e40599ab09e2f1ae0df4b23516b98c9c3055 - languageName: node - linkType: hard - -"tinyspy@npm:^2.2.0": - version: 2.2.0 - resolution: "tinyspy@npm:2.2.0" - checksum: 10c0/8c7b70748dd8590e85d52741db79243746c15bc03c92d75c23160a762142db577e7f53e360ba7300e321b12bca5c42dd2522a8dbeec6ba3830302573dd8516bc - languageName: node - linkType: hard - -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - -"to-regex-range@npm:^5.0.1": - version: 5.0.1 - resolution: "to-regex-range@npm:5.0.1" - dependencies: - is-number: "npm:^7.0.0" - checksum: 10c0/487988b0a19c654ff3e1961b87f471702e708fa8a8dd02a298ef16da7206692e8552a0250e8b3e8759270f62e9d8314616f6da274734d3b558b1fc7b7724e892 - languageName: node - linkType: hard - -"toad-cache@npm:^3.3.0": - version: 3.7.0 - resolution: "toad-cache@npm:3.7.0" - checksum: 10c0/7dae2782ee20b22c9798bb8b71dec7ec6a0091021d2ea9dd6e8afccab6b65b358fdba49a02209fac574499702e2c000660721516c87c2538d1b2c0ba03e8c0c3 - languageName: node - linkType: hard - -"toidentifier@npm:1.0.1": - version: 1.0.1 - resolution: "toidentifier@npm:1.0.1" - checksum: 10c0/93937279934bd66cc3270016dd8d0afec14fb7c94a05c72dc57321f8bd1fa97e5bea6d1f7c89e728d077ca31ea125b78320a616a6c6cd0e6b9cb94cb864381c1 - languageName: node - linkType: hard - -"tr46@npm:^1.0.1": - version: 1.0.1 - resolution: "tr46@npm:1.0.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/41525c2ccce86e3ef30af6fa5e1464e6d8bb4286a58ea8db09228f598889581ef62347153f6636cd41553dc41685bdfad0a9d032ef58df9fbb0792b3447d0f04 - languageName: node - linkType: hard - -"tr46@npm:~0.0.3": - version: 0.0.3 - resolution: "tr46@npm:0.0.3" - checksum: 10c0/047cb209a6b60c742f05c9d3ace8fa510bff609995c129a37ace03476a9b12db4dbf975e74600830ef0796e18882b2381fb5fb1f6b4f96b832c374de3ab91a11 - languageName: node - linkType: hard - -"ts-api-utils@npm:^1.0.1": - version: 1.0.3 - resolution: "ts-api-utils@npm:1.0.3" - peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/9408338819c3aca2a709f0bc54e3f874227901506cacb1163612a6c8a43df224174feb965a5eafdae16f66fc68fd7bfee8d3275d0fa73fbb8699e03ed26520c9 - languageName: node - linkType: hard - -"ts-node@npm:10.9.2": - version: 10.9.2 - resolution: "ts-node@npm:10.9.2" - dependencies: - "@cspotcode/source-map-support": "npm:^0.8.0" - "@tsconfig/node10": "npm:^1.0.7" - "@tsconfig/node12": "npm:^1.0.7" - "@tsconfig/node14": "npm:^1.0.0" - "@tsconfig/node16": "npm:^1.0.2" - acorn: "npm:^8.4.1" - acorn-walk: "npm:^8.1.1" - arg: "npm:^4.1.0" - create-require: "npm:^1.1.0" - diff: "npm:^4.0.1" - make-error: "npm:^1.1.1" - v8-compile-cache-lib: "npm:^3.0.1" - yn: "npm:3.1.1" - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - bin: - ts-node: dist/bin.js - ts-node-cwd: dist/bin-cwd.js - ts-node-esm: dist/bin-esm.js - ts-node-script: dist/bin-script.js - ts-node-transpile-only: dist/bin-transpile.js - ts-script: dist/bin-script-deprecated.js - checksum: 10c0/5f29938489f96982a25ba650b64218e83a3357d76f7bede80195c65ab44ad279c8357264639b7abdd5d7e75fc269a83daa0e9c62fd8637a3def67254ecc9ddc2 - languageName: node - linkType: hard - -"tslib@npm:^2.6.2": - version: 2.6.2 - resolution: "tslib@npm:2.6.2" - checksum: 10c0/e03a8a4271152c8b26604ed45535954c0a45296e32445b4b87f8a5abdb2421f40b59b4ca437c4346af0f28179780d604094eb64546bee2019d903d01c6c19bdb - languageName: node - linkType: hard - -"tsx@npm:4.7.0": - version: 4.7.0 - resolution: "tsx@npm:4.7.0" - dependencies: - esbuild: "npm:~0.19.10" - fsevents: "npm:~2.3.3" - get-tsconfig: "npm:^4.7.2" - dependenciesMeta: - fsevents: - optional: true - bin: - tsx: dist/cli.mjs - checksum: 10c0/ac522a3017aedea31ff468dc161b6408d16a273bd23556716b550d1c08395d7e2568009c8927131481f0a8980ddda84999ac4bc2c00659b08a19b45bec31ef23 - languageName: node - linkType: hard - -"tunnel-agent@npm:^0.6.0": - version: 0.6.0 - resolution: "tunnel-agent@npm:0.6.0" - dependencies: - safe-buffer: "npm:^5.0.1" - checksum: 10c0/4c7a1b813e7beae66fdbf567a65ec6d46313643753d0beefb3c7973d66fcec3a1e7f39759f0a0b4465883499c6dc8b0750ab8b287399af2e583823e40410a17a - languageName: node - linkType: hard - -"type-check@npm:^0.4.0, type-check@npm:~0.4.0": - version: 0.4.0 - resolution: "type-check@npm:0.4.0" - dependencies: - prelude-ls: "npm:^1.2.1" - checksum: 10c0/7b3fd0ed43891e2080bf0c5c504b418fbb3e5c7b9708d3d015037ba2e6323a28152ec163bcb65212741fa5d2022e3075ac3c76440dbd344c9035f818e8ecee58 - languageName: node - linkType: hard - -"type-detect@npm:^4.0.0, type-detect@npm:^4.0.8": - version: 4.0.8 - resolution: "type-detect@npm:4.0.8" - checksum: 10c0/8fb9a51d3f365a7de84ab7f73b653534b61b622aa6800aecdb0f1095a4a646d3f5eb295322127b6573db7982afcd40ab492d038cf825a42093a58b1e1353e0bd - languageName: node - linkType: hard - -"type-fest@npm:^0.20.2": - version: 0.20.2 - resolution: "type-fest@npm:0.20.2" - checksum: 10c0/dea9df45ea1f0aaa4e2d3bed3f9a0bfe9e5b2592bddb92eb1bf06e50bcf98dbb78189668cd8bc31a0511d3fc25539b4cd5c704497e53e93e2d40ca764b10bfc3 - languageName: node - linkType: hard - -"type-fest@npm:^0.7.1": - version: 0.7.1 - resolution: "type-fest@npm:0.7.1" - checksum: 10c0/ce6b5ef806a76bf08d0daa78d65e61f24d9a0380bd1f1df36ffb61f84d14a0985c3a921923cf4b97831278cb6fa9bf1b89c751df09407e0510b14e8c081e4e0f - languageName: node - linkType: hard - -"type-fest@npm:^4.0.0": - version: 4.10.2 - resolution: "type-fest@npm:4.10.2" - checksum: 10c0/740f7d30da742ff413e8690ec10a24df054bfd87575cf92691b77f5a6b8185c582da529b84ceb13771482599e085712beec51492feaef2a1adc8661c0a47ecba - languageName: node - linkType: hard - -"type-is@npm:^1.6.18": - version: 1.6.18 - resolution: "type-is@npm:1.6.18" - dependencies: - media-typer: "npm:0.3.0" - mime-types: "npm:~2.1.24" - checksum: 10c0/a23daeb538591b7efbd61ecf06b6feb2501b683ffdc9a19c74ef5baba362b4347e42f1b4ed81f5882a8c96a3bfff7f93ce3ffaf0cbbc879b532b04c97a55db9d - languageName: node - linkType: hard - -"typedarray@npm:^0.0.6": - version: 0.0.6 - resolution: "typedarray@npm:0.0.6" - checksum: 10c0/6005cb31df50eef8b1f3c780eb71a17925f3038a100d82f9406ac2ad1de5eb59f8e6decbdc145b3a1f8e5836e17b0c0002fb698b9fe2516b8f9f9ff602d36412 - languageName: node - linkType: hard - -"typescript-eslint-language-service@npm:^5.0.5": - version: 5.0.5 - resolution: "typescript-eslint-language-service@npm:5.0.5" - peerDependencies: - "@typescript-eslint/parser": ">= 5.0.0" - eslint: ">= 8.0.0" - typescript: ">= 4.0.0" - checksum: 10c0/61b3ce5a124ad3b2ea6ac06b19e8192b1f3f5db01ecaf3009302979172b2eeaee78f9051fd4a687230b55acadc5272ecf90297d57b09078c97a271016ccbcf07 - languageName: node - linkType: hard - -"typescript@npm:^5.2.2, typescript@npm:^5.3.3": - version: 5.3.3 - resolution: "typescript@npm:5.3.3" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/e33cef99d82573624fc0f854a2980322714986bc35b9cb4d1ce736ed182aeab78e2cb32b385efa493b2a976ef52c53e20d6c6918312353a91850e2b76f1ea44f - languageName: node - linkType: hard - -"typescript@patch:typescript@npm%3A^5.2.2#optional!builtin, typescript@patch:typescript@npm%3A^5.3.3#optional!builtin": - version: 5.3.3 - resolution: "typescript@patch:typescript@npm%3A5.3.3#optional!builtin::version=5.3.3&hash=e012d7" - bin: - tsc: bin/tsc - tsserver: bin/tsserver - checksum: 10c0/1d0a5f4ce496c42caa9a30e659c467c5686eae15d54b027ee7866744952547f1be1262f2d40de911618c242b510029d51d43ff605dba8fb740ec85ca2d3f9500 - languageName: node - linkType: hard - -"uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": - version: 1.0.6 - resolution: "uc.micro@npm:1.0.6" - checksum: 10c0/9bde2afc6f2e24b899db6caea47dae778b88862ca76688d844ef6e6121dec0679c152893a74a6cfbd2e6fde34654e6bd8424fee8e0166cdfa6c9ae5d42b8a17b - languageName: node - linkType: hard - -"ufo@npm:^1.3.2": - version: 1.3.2 - resolution: "ufo@npm:1.3.2" - checksum: 10c0/180f3dfcdf319b54fe0272780841c93cb08a024fc2ee5f95e63285c2a3c42d8b671cd3641e9a53aafccf100cf8466aa8c040ddfa0efea1fc1968c9bfb250a661 - languageName: node - linkType: hard - -"umzug@npm:^3.1.1": - version: 3.6.1 - resolution: "umzug@npm:3.6.1" - dependencies: - "@rushstack/ts-command-line": "npm:^4.12.2" - emittery: "npm:^0.13.0" - glob: "npm:^8.0.3" - pony-cause: "npm:^2.1.4" - type-fest: "npm:^4.0.0" - checksum: 10c0/0a58d3a5ed3b3b50b42a4ad25d4dc2c9103ae8c8061e9f855f49b40507e6a6affc92bc4e10d3f29e091e4024ae7cc73d63cface2c902a5ad4ddb4b74064fe0d8 - languageName: node - linkType: hard - -"underscore@npm:~1.13.2": - version: 1.13.6 - resolution: "underscore@npm:1.13.6" - checksum: 10c0/5f57047f47273044c045fddeb8b141dafa703aa487afd84b319c2495de2e685cecd0b74abec098292320d518b267c0c4598e45aa47d4c3628d0d4020966ba521 - languageName: node - linkType: hard - -"undici-types@npm:~5.26.4": - version: 5.26.5 - resolution: "undici-types@npm:5.26.5" - checksum: 10c0/bb673d7876c2d411b6eb6c560e0c571eef4a01c1c19925175d16e3a30c4c428181fb8d7ae802a261f283e4166a0ac435e2f505743aa9e45d893f9a3df017b501 - languageName: node - linkType: hard - -"unique-filename@npm:^1.1.1": - version: 1.1.1 - resolution: "unique-filename@npm:1.1.1" - dependencies: - unique-slug: "npm:^2.0.0" - checksum: 10c0/d005bdfaae6894da8407c4de2b52f38b3c58ec86e79fc2ee19939da3085374413b073478ec54e721dc8e32b102cf9e50d0481b8331abdc62202e774b789ea874 - languageName: node - linkType: hard - -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" - dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f - languageName: node - linkType: hard - -"unique-slug@npm:^2.0.0": - version: 2.0.2 - resolution: "unique-slug@npm:2.0.2" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/9eabc51680cf0b8b197811a48857e41f1364b25362300c1ff636c0eca5ec543a92a38786f59cf0697e62c6f814b11ecbe64e8093db71246468a1f03b80c83970 - languageName: node - linkType: hard - -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" - dependencies: - imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - languageName: node - linkType: hard - -"uri-js@npm:^4.2.2": - version: 4.4.1 - resolution: "uri-js@npm:4.4.1" - dependencies: - punycode: "npm:^2.1.0" - checksum: 10c0/4ef57b45aa820d7ac6496e9208559986c665e49447cb072744c13b66925a362d96dd5a46c4530a6b8e203e5db5fe849369444440cb22ecfc26c679359e5dfa3c - languageName: node - linkType: hard - -"util-deprecate@npm:^1.0.1": - version: 1.0.2 - resolution: "util-deprecate@npm:1.0.2" - checksum: 10c0/41a5bdd214df2f6c3ecf8622745e4a366c4adced864bc3c833739791aeeeb1838119af7daed4ba36428114b5c67dcda034a79c882e97e43c03e66a4dd7389942 - languageName: node - linkType: hard - -"uuid-parse@npm:^1.1.0": - version: 1.1.0 - resolution: "uuid-parse@npm:1.1.0" - checksum: 10c0/513d5b0407b8929c54d452e8e286a1f6f00d40a2ebf6607fc7297b9caa40eee35230dcc4ce3f178f84d89704e8147e24d1a33d680a8afb7e12a5700714db7f51 - languageName: node - linkType: hard - -"uuid@npm:^8.3.2": - version: 8.3.2 - resolution: "uuid@npm:8.3.2" - bin: - uuid: dist/bin/uuid - checksum: 10c0/bcbb807a917d374a49f475fae2e87fdca7da5e5530820ef53f65ba1d12131bd81a92ecf259cc7ce317cbe0f289e7d79fdfebcef9bfa3087c8c8a2fa304c9be54 - languageName: node - linkType: hard - -"v8-compile-cache-lib@npm:^3.0.1": - version: 3.0.1 - resolution: "v8-compile-cache-lib@npm:3.0.1" - checksum: 10c0/bdc36fb8095d3b41df197f5fb6f11e3a26adf4059df3213e3baa93810d8f0cc76f9a74aaefc18b73e91fe7e19154ed6f134eda6fded2e0f1c8d2272ed2d2d391 - languageName: node - linkType: hard - -"v8-to-istanbul@npm:^9.2.0": - version: 9.2.0 - resolution: "v8-to-istanbul@npm:9.2.0" - dependencies: - "@jridgewell/trace-mapping": "npm:^0.3.12" - "@types/istanbul-lib-coverage": "npm:^2.0.1" - convert-source-map: "npm:^2.0.0" - checksum: 10c0/e691ba4dd0dea4a884e52c37dbda30cce6f9eeafe9b26721e449429c6bb0f4b6d1e33fabe7711d0f67f7a34c3bfd56c873f7375bba0b1534e6a2843ce99550e5 - languageName: node - linkType: hard - -"vary@npm:^1.1.2": - version: 1.1.2 - resolution: "vary@npm:1.1.2" - checksum: 10c0/f15d588d79f3675135ba783c91a4083dcd290a2a5be9fcb6514220a1634e23df116847b1cc51f66bfb0644cf9353b2abb7815ae499bab06e46dd33c1a6bf1f4f - languageName: node - linkType: hard - -"vite-node@npm:1.2.2": - version: 1.2.2 - resolution: "vite-node@npm:1.2.2" - dependencies: - cac: "npm:^6.7.14" - debug: "npm:^4.3.4" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - vite: "npm:^5.0.0" - bin: - vite-node: vite-node.mjs - checksum: 10c0/39a5b9d9c806a012aab208eee0f59e4e12446ec19a4cf149a6459e7ff86491c289e189fda4f55a63b7e37d713f5edbda0e9efed95af4f7ebefa6d39eee093c0b - languageName: node - linkType: hard - -"vite@npm:^5.0.0": - version: 5.0.12 - resolution: "vite@npm:5.0.12" - dependencies: - esbuild: "npm:^0.19.3" - fsevents: "npm:~2.3.3" - postcss: "npm:^8.4.32" - rollup: "npm:^4.2.0" - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - dependenciesMeta: - fsevents: - optional: true - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - bin: - vite: bin/vite.js - checksum: 10c0/c51b8e458851943c903fddde6973e720099ef8a5f364fb107cddade59c9e90f6d9ad98b61a7419cdfa0c6374236e10bff965d0c2d9e7b1790c68b874e5e7950c - languageName: node - linkType: hard - -"vitest@npm:^1.1.1, vitest@npm:^1.2.2": - version: 1.2.2 - resolution: "vitest@npm:1.2.2" - dependencies: - "@vitest/expect": "npm:1.2.2" - "@vitest/runner": "npm:1.2.2" - "@vitest/snapshot": "npm:1.2.2" - "@vitest/spy": "npm:1.2.2" - "@vitest/utils": "npm:1.2.2" - acorn-walk: "npm:^8.3.2" - cac: "npm:^6.7.14" - chai: "npm:^4.3.10" - debug: "npm:^4.3.4" - execa: "npm:^8.0.1" - local-pkg: "npm:^0.5.0" - magic-string: "npm:^0.30.5" - pathe: "npm:^1.1.1" - picocolors: "npm:^1.0.0" - std-env: "npm:^3.5.0" - strip-literal: "npm:^1.3.0" - tinybench: "npm:^2.5.1" - tinypool: "npm:^0.8.2" - vite: "npm:^5.0.0" - vite-node: "npm:1.2.2" - why-is-node-running: "npm:^2.2.2" - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": ^1.0.0 - "@vitest/ui": ^1.0.0 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - bin: - vitest: vitest.mjs - checksum: 10c0/085cb62146191b32dc98fac1a5b0de6d1c63c44cc1e7946a7d38309dd4135539432ec27b4bfad38ce79736688a0ce20d9b93f58de4ce4a41677cb3c5ca6ad980 - languageName: node - linkType: hard - -"vue-eslint-parser@npm:^9.1.0": - version: 9.4.2 - resolution: "vue-eslint-parser@npm:9.4.2" - dependencies: - debug: "npm:^4.3.4" - eslint-scope: "npm:^7.1.1" - eslint-visitor-keys: "npm:^3.3.0" - espree: "npm:^9.3.1" - esquery: "npm:^1.4.0" - lodash: "npm:^4.17.21" - semver: "npm:^7.3.6" - peerDependencies: - eslint: ">=6.0.0" - checksum: 10c0/79593073adbce8971565133c70a203f12f0be0f8c5e3a4063796fd56e5de64f1f3ad7f91be5a787a7a3fe751306ed22086ee8369d52725be95f452827ce670de - languageName: node - linkType: hard - -"webidl-conversions@npm:^3.0.0": - version: 3.0.1 - resolution: "webidl-conversions@npm:3.0.1" - checksum: 10c0/5612d5f3e54760a797052eb4927f0ddc01383550f542ccd33d5238cfd65aeed392a45ad38364970d0a0f4fea32e1f4d231b3d8dac4a3bdd385e5cf802ae097db - languageName: node - linkType: hard - -"webidl-conversions@npm:^4.0.2": - version: 4.0.2 - resolution: "webidl-conversions@npm:4.0.2" - checksum: 10c0/def5c5ac3479286dffcb604547628b2e6b46c5c5b8a8cfaa8c71dc3bafc85859bde5fbe89467ff861f571ab38987cf6ab3d6e7c80b39b999e50e803c12f3164f - languageName: node - linkType: hard - -"whatwg-url@npm:^5.0.0": - version: 5.0.0 - resolution: "whatwg-url@npm:5.0.0" - dependencies: - tr46: "npm:~0.0.3" - webidl-conversions: "npm:^3.0.0" - checksum: 10c0/1588bed84d10b72d5eec1d0faa0722ba1962f1821e7539c535558fb5398d223b0c50d8acab950b8c488b4ba69043fd833cc2697056b167d8ad46fac3995a55d5 - languageName: node - linkType: hard - -"whatwg-url@npm:^7.0.0": - version: 7.1.0 - resolution: "whatwg-url@npm:7.1.0" - dependencies: - lodash.sortby: "npm:^4.7.0" - tr46: "npm:^1.0.1" - webidl-conversions: "npm:^4.0.2" - checksum: 10c0/2785fe4647690e5a0225a79509ba5e21fdf4a71f9de3eabdba1192483fe006fc79961198e0b99f82751557309f17fc5a07d4d83c251aa5b2f85ba71e674cbee9 - languageName: node - linkType: hard - -"which@npm:^2.0.1, which@npm:^2.0.2": - version: 2.0.2 - resolution: "which@npm:2.0.2" - dependencies: - isexe: "npm:^2.0.0" - bin: - node-which: ./bin/node-which - checksum: 10c0/66522872a768b60c2a65a57e8ad184e5372f5b6a9ca6d5f033d4b0dc98aff63995655a7503b9c0a2598936f532120e81dd8cc155e2e92ed662a2b9377cc4374f - languageName: node - linkType: hard - -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" - dependencies: - isexe: "npm:^3.1.1" - bin: - node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a - languageName: node - linkType: hard - -"why-is-node-running@npm:^2.2.2": - version: 2.2.2 - resolution: "why-is-node-running@npm:2.2.2" - dependencies: - siginfo: "npm:^2.0.0" - stackback: "npm:0.0.2" - bin: - why-is-node-running: cli.js - checksum: 10c0/805d57eb5d33f0fb4e36bae5dceda7fd8c6932c2aeb705e30003970488f1a2bc70029ee64be1a0e1531e2268b11e65606e88e5b71d667ea745e6dc48fc9014bd - languageName: node - linkType: hard - -"wide-align@npm:^1.1.5": - version: 1.1.5 - resolution: "wide-align@npm:1.1.5" - dependencies: - string-width: "npm:^1.0.2 || 2 || 3 || 4" - checksum: 10c0/1d9c2a3e36dfb09832f38e2e699c367ef190f96b82c71f809bc0822c306f5379df87bab47bed27ea99106d86447e50eb972d3c516c2f95782807a9d082fbea95 - languageName: node - linkType: hard - -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version: 7.0.0 - resolution: "wrap-ansi@npm:7.0.0" - dependencies: - ansi-styles: "npm:^4.0.0" - string-width: "npm:^4.1.0" - strip-ansi: "npm:^6.0.0" - checksum: 10c0/d15fc12c11e4cbc4044a552129ebc75ee3f57aa9c1958373a4db0292d72282f54373b536103987a4a7594db1ef6a4f10acf92978f79b98c49306a4b58c77d4da - languageName: node - linkType: hard - -"wrap-ansi@npm:^8.1.0": - version: 8.1.0 - resolution: "wrap-ansi@npm:8.1.0" - dependencies: - ansi-styles: "npm:^6.1.0" - string-width: "npm:^5.0.1" - strip-ansi: "npm:^7.0.1" - checksum: 10c0/138ff58a41d2f877eae87e3282c0630fc2789012fc1af4d6bd626eeb9a2f9a65ca92005e6e69a75c7b85a68479fe7443c7dbe1eb8fbaa681a4491364b7c55c60 - languageName: node - linkType: hard - -"wrappy@npm:1": - version: 1.0.2 - resolution: "wrappy@npm:1.0.2" - checksum: 10c0/56fece1a4018c6a6c8e28fbc88c87e0fbf4ea8fd64fc6c63b18f4acc4bd13e0ad2515189786dd2c30d3eec9663d70f4ecf699330002f8ccb547e4a18231fc9f0 - languageName: node - linkType: hard - -"xmlcreate@npm:^2.0.4": - version: 2.0.4 - resolution: "xmlcreate@npm:2.0.4" - checksum: 10c0/fc4234e2d1942877d761d4f3d64410b54633d2ec60b13a5d56a6a06545aba39a0df8ed7ded10785a302f632eb4f0a4fedbf4bf10e17892e11d5075244b9e5705 - languageName: node - linkType: hard - -"xtend@npm:^4.0.0": - version: 4.0.2 - resolution: "xtend@npm:4.0.2" - checksum: 10c0/366ae4783eec6100f8a02dff02ac907bf29f9a00b82ac0264b4d8b832ead18306797e283cf19de776538babfdcb2101375ec5646b59f08c52128ac4ab812ed0e - languageName: node - linkType: hard - -"yallist@npm:^4.0.0": - version: 4.0.0 - resolution: "yallist@npm:4.0.0" - checksum: 10c0/2286b5e8dbfe22204ab66e2ef5cc9bbb1e55dfc873bbe0d568aa943eb255d131890dfd5bf243637273d31119b870f49c18fcde2c6ffbb7a7a092b870dc90625a - languageName: node - linkType: hard - -"yn@npm:3.1.1": - version: 3.1.1 - resolution: "yn@npm:3.1.1" - checksum: 10c0/0732468dd7622ed8a274f640f191f3eaf1f39d5349a1b72836df484998d7d9807fbea094e2f5486d6b0cd2414aad5775972df0e68f8604db89a239f0f4bf7443 - languageName: node - linkType: hard - -"yocto-queue@npm:^0.1.0": - version: 0.1.0 - resolution: "yocto-queue@npm:0.1.0" - checksum: 10c0/dceb44c28578b31641e13695d200d34ec4ab3966a5729814d5445b194933c096b7ced71494ce53a0e8820685d1d010df8b2422e5bf2cdea7e469d97ffbea306f - languageName: node - linkType: hard - -"yocto-queue@npm:^1.0.0": - version: 1.0.0 - resolution: "yocto-queue@npm:1.0.0" - checksum: 10c0/856117aa15cf5103d2a2fb173f0ab4acb12b4b4d0ed3ab249fdbbf612e55d1cadfd27a6110940e24746fb0a78cf640b522cc8bca76f30a3b00b66e90cf82abe0 - languageName: node - linkType: hard - -"zod@npm:^3.22.4": - version: 3.22.4 - resolution: "zod@npm:3.22.4" - checksum: 10c0/7578ab283dac0eee66a0ad0fc4a7f28c43e6745aadb3a529f59a4b851aa10872b3890398b3160f257f4b6817b4ce643debdda4fb21a2c040adda7862cab0a587 - languageName: node - linkType: hard From 05c499625316cc4652eeaa25e91f39118b894a27 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 24 Feb 2024 12:58:59 -0500 Subject: [PATCH 115/452] GitHub Actions does not support clear --- package.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index cddac6d04..f3661e19c 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,8 @@ "main": "index.js", "type": "module", "scripts": { - "start": "clear && npm --workspace thebeast start", - "test": "clear && npm --workspace thebeast test" + "start": "npm --workspace thebeast start", + "test": "npm --workspace thebeast test" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", From 2ba1b811a33f826caca0a387b1c7653e53e50787 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 26 Feb 2024 08:10:50 -0500 Subject: [PATCH 116/452] Clean types, cleanly shutdown server on error --- .../processEncryptedGameCommand.ts | 7 +- .../nps/messageProcessors/processUserLogin.ts | 4 +- .../lib/nps/messageStructs/GameMessage.ts | 2 +- thebeast/packages/database/src/cache.ts | 29 +-- .../database/src/models/VehiclePartTree.ts | 232 ++++++++++-------- thebeast/packages/gateway/src/index.ts | 13 +- .../transactions/src/_getArcadeCarInfo.ts | 2 +- .../packages/transactions/src/_getGameUrls.ts | 2 +- .../transactions/src/_getOwnedParts.ts | 2 +- .../transactions/src/_getOwnedVehicles.ts | 6 +- .../transactions/src/_getPlayerInfo.ts | 2 +- .../transactions/src/_getPlayerPhysical.ts | 2 +- .../transactions/src/_getPlayerRaceHistory.ts | 2 +- .../transactions/src/_getStockCarInfo.ts | 2 +- .../packages/transactions/src/_getTunables.ts | 2 +- thebeast/packages/transactions/src/_logout.ts | 2 +- .../packages/transactions/src/_setOptions.ts | 2 +- .../transactions/src/_updatePlayerPhysical.ts | 2 +- .../transactions/src/clientConnect.ts | 2 +- .../packages/transactions/src/getLobbies.ts | 2 +- .../packages/transactions/src/handlers.ts | 124 ---------- .../packages/transactions/src/internal.ts | 48 +--- thebeast/packages/transactions/src/login.ts | 72 +++--- .../transactions/src/messageHandlers.ts | 149 +++++++++++ .../_getCompleteVehicleInfo.ts | 11 +- .../messageHandlers/_updateCachedVehicle.ts | 15 ++ .../packages/transactions/src/trackingPing.ts | 2 +- thebeast/packages/transactions/types.ts | 36 +++ 28 files changed, 428 insertions(+), 348 deletions(-) delete mode 100644 thebeast/packages/transactions/src/handlers.ts create mode 100644 thebeast/packages/transactions/src/messageHandlers.ts create mode 100644 thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts create mode 100644 thebeast/packages/transactions/types.ts diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts index e65a750dd..c0844f4b9 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -15,6 +15,7 @@ import { } from "../services/session.js"; import { log } from "../../../packages/shared/log.js"; import { lobbyCommandMap } from "./lobbyCommands.js"; +import { getGatewayServer } from "../../../packages/gateway/src/GatewayServer.js"; export async function processEncryptedGameCommand( connectionId: string, @@ -75,12 +76,10 @@ export async function processEncryptedGameCommand( const processor = lobbyCommandMap.get(decryptedMessage.header.getId()); if (typeof processor === "undefined") { - log.error( - `No processor found for message ID: ${decryptedMessage.header.getId()}`, - ); - throw new Error( + log.fatal( `No processor found for message ID: ${decryptedMessage.header.getId()}`, ); + return getGatewayServer({log}).stop(); } // Process the message diff --git a/thebeast/lib/nps/messageProcessors/processUserLogin.ts b/thebeast/lib/nps/messageProcessors/processUserLogin.ts index 61731b5ee..a091c7ea5 100644 --- a/thebeast/lib/nps/messageProcessors/processUserLogin.ts +++ b/thebeast/lib/nps/messageProcessors/processUserLogin.ts @@ -58,7 +58,9 @@ export function unpackUserLoginMessage(message: ISerializable): { .toString("utf8"); // Load the private key - const privateKey = loadPrivateKey(getServerConfiguration({}).privateKeyFile); + const privateKey = loadPrivateKey( + getServerConfiguration({}).privateKeyFile, + ); // Decrypt the session key const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); diff --git a/thebeast/lib/nps/messageStructs/GameMessage.ts b/thebeast/lib/nps/messageStructs/GameMessage.ts index b541e3f48..348973baf 100644 --- a/thebeast/lib/nps/messageStructs/GameMessage.ts +++ b/thebeast/lib/nps/messageStructs/GameMessage.ts @@ -180,7 +180,7 @@ export class GameMessage implements IMessage { // Update the message data to the required size this.data = new SerializableData(this.header.getLength()); - this.data.deserialize(messageData); + this.data.deserialize(messageData.subarray(0, this.header.getLength())); } toString(): string { diff --git a/thebeast/packages/database/src/cache.ts b/thebeast/packages/database/src/cache.ts index 147621d5f..a202a0867 100644 --- a/thebeast/packages/database/src/cache.ts +++ b/thebeast/packages/database/src/cache.ts @@ -66,23 +66,24 @@ export async function getBrand(brandName: string): Promise { return brandCache.get(brandName); } - return await Sentry.startSpan({ - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", + return await Sentry.startSpan( + { + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, }, - - - }, async (span) => { - const brand = await slonik.one(sql.typeAlias("brand")` + async (span) => { + const brand = await slonik.one(sql.typeAlias("brand")` SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} `); - brandCache.set(brandName, brand); - return brand; - }); + brandCache.set(brandName, brand); + return brand; + }, + ); } const vehiclePartTreeCache = new Map(); diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts index 219a132a5..d14710ea4 100644 --- a/thebeast/packages/database/src/models/VehiclePartTree.ts +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -113,38 +113,40 @@ const sql = createSqlTag({ }); async function getNextPartId(): Promise { - const result = await Sentry.startSpan({ - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", + const result = await Sentry.startSpan( + { + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, }, - - - }, async (span) => { - const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` + async (span) => { + const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` SELECT nextval('part_partid_seq') `); - return Number(nextval); - }); + return Number(nextval); + }, + ); return result; } export async function savePart(part: TPart): Promise { - await Sentry.startSpan({ - name: "Save part", - op: "db.query", - description: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - attributes: { - sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - db: "postgres", + await Sentry.startSpan( + { + name: "Save part", + op: "db.query", + description: + "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + attributes: { + sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.query(sql.typeAlias("dbPart")` + async (span) => { + return slonik.query(sql.typeAlias("dbPart")` INSERT INTO part ( partid, parentpartid, @@ -169,7 +171,8 @@ export async function savePart(part: TPart): Promise { ${part.scrapValue} ) `); - }); + }, + ); } export async function saveVehicle( @@ -203,18 +206,19 @@ export async function saveVehicle( log.debug(`Saving vehicle: ${JSON.stringify(newVehicle)}`); - await Sentry.startSpan({ - name: "Save vehicle", - op: "db.query", - description: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - attributes: { - sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - db: "postgres", + await Sentry.startSpan( + { + name: "Save vehicle", + op: "db.query", + description: + "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + attributes: { + sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.query(sql.typeAlias("vehicle")` + async (span) => { + return slonik.query(sql.typeAlias("vehicle")` INSERT INTO vehicle ( vehicleid, skinid, @@ -231,7 +235,8 @@ export async function saveVehicle( ${newVehicle.damageInfo} ) `); - }); + }, + ); } catch (error) { log.error(`Error saving vehicle: ${error}`); throw error; @@ -276,21 +281,25 @@ export async function saveVehiclePartTree( export async function buildVehiclePartTreeFromDB( vehicleId: number, ): Promise { - const vehicle = await Sentry.startSpan({ - name: "Get vehicle", - op: "db.query", - description: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - attributes: { - sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - db: "postgres", + const vehicle = await Sentry.startSpan( + { + name: "Get vehicle", + op: "db.query", + description: + "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + attributes: { + sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + db: "postgres", + }, }, - }, async (span) => { - return slonik.one(sql.typeAlias("vehicle")` + async (span) => { + return slonik.one(sql.typeAlias("vehicle")` SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = ${vehicleId} `); - }); + }, + ); if (!vehicle) { log.error(`Vehicle with id ${vehicleId} does not exist`); @@ -323,23 +332,25 @@ export async function buildVehiclePartTreeFromDB( }; // Get first part - const part = await Sentry.startSpan({ - name: "Get part", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - db: "postgres", + const part = await Sentry.startSpan( + { + name: "Get part", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.one(sql.typeAlias("part")` + async (span) => { + return slonik.one(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = ${vehicleId} `); - }); + }, + ); if (!part) { log.error(`Part with id ${vehicleId} does not exist`); @@ -349,23 +360,25 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.brandedPartId = part.brandedpartid; vehiclePartTree.ownerID = part.ownerid; - const level1Parts = await Sentry.startSpan({ - name: "Get level 1 parts", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - db: "postgres", + const level1Parts = await Sentry.startSpan( + { + name: "Get level 1 parts", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("part")` + async (span) => { + return slonik.many(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = ${vehicleId} `); - }); + }, + ); if (level1Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no parts`); @@ -402,23 +415,25 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.partTree.level1.parts.push(newPart); } - const level2Parts = await Sentry.startSpan({ - name: "Get level 2 parts", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - db: "postgres", + const level2Parts = await Sentry.startSpan( + { + name: "Get level 2 parts", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("part")` + async (span) => { + return slonik.many(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN (${sql.join(level1PartsIds, sql.fragment`, `)}) `); - }); + }, + ); if (level2Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no level 2 parts`); @@ -473,23 +488,24 @@ export async function buildVehiclePartTree({ throw new Error("ownedLotId or ownerID is required"); } - const skinFlags = await Sentry.startSpan({ - name: "Get skin flags", - op: "db.query", - description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - attributes: { - sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - db: "postgres", + const skinFlags = await Sentry.startSpan( + { + name: "Get skin flags", + op: "db.query", + description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + attributes: { + sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.one(sql.typeAlias("ptSkin")` + async (span) => { + return slonik.one(sql.typeAlias("ptSkin")` SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} `); - }); + }, + ); if (!skinFlags) { log.error(`Skin with id ${skinId} does not exist`); @@ -499,18 +515,19 @@ export async function buildVehiclePartTree({ let vehicleId = undefined; // Get the vehicle assembly from the database - const vehicleAssembly = await Sentry.startSpan({ - name: "Get vehicle assembly", - op: "db.query", - description: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - attributes: { - sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - db: "postgres", + const vehicleAssembly = await Sentry.startSpan( + { + name: "Get vehicle assembly", + op: "db.query", + description: + "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + attributes: { + sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("detailedPart")` + async (span) => { + return slonik.many(sql.typeAlias("detailedPart")` SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid @@ -518,7 +535,8 @@ export async function buildVehiclePartTree({ inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = ${brandedPartId} `); - }); + }, + ); if (vehicleAssembly.length === 0) { log.error( diff --git a/thebeast/packages/gateway/src/index.ts b/thebeast/packages/gateway/src/index.ts index d0bbaf86b..c5b2b9021 100644 --- a/thebeast/packages/gateway/src/index.ts +++ b/thebeast/packages/gateway/src/index.ts @@ -193,6 +193,8 @@ export function onSocketConnection({ log.debug("Calling onData handler"); + log.trace(`Raw message: ${getAsHex(incomingDataAsBuffer)}`); + portOnDataHandler({ connectionId: connectionId, message: rawMessage, @@ -219,9 +221,6 @@ export function onSocketConnection({ .catch((/** @type {Error} */ error: Error) => { log.error(`Error handling data: ${String(error)}`); throw error; - - // Call server shutdown - // getGatewayServer({}).shutdown(); }); }); @@ -301,13 +300,11 @@ export function handleGameMessage( message.deserialize(bytes); // Process the message - const t = Sentry.startTransaction({ - name: `Process message ${message.header.getId()}`, - }); processGameMessage(connectionId, message, log, socketCallback); - t.finish(); } catch (error) { - log.error(`Error processing message: ${error}`); + log.fatal(`Error processing message: ${error}`); + getGatewayServer({log}).stop(); + if (error! instanceof MessageProcessorError) { throw error; } diff --git a/thebeast/packages/transactions/src/_getArcadeCarInfo.ts b/thebeast/packages/transactions/src/_getArcadeCarInfo.ts index 7b0359b18..42c4a024c 100644 --- a/thebeast/packages/transactions/src/_getArcadeCarInfo.ts +++ b/thebeast/packages/transactions/src/_getArcadeCarInfo.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { ArcadeCarInfo, ArcadeCarMessage } from "./ArcadeCarMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/_getGameUrls.ts b/thebeast/packages/transactions/src/_getGameUrls.ts index 323676684..d5af5c7fa 100644 --- a/thebeast/packages/transactions/src/_getGameUrls.ts +++ b/thebeast/packages/transactions/src/_getGameUrls.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { GameUrl, GameUrlsMessage } from "./GameUrlsMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/_getOwnedParts.ts b/thebeast/packages/transactions/src/_getOwnedParts.ts index c8c1582b4..e0ba69e13 100644 --- a/thebeast/packages/transactions/src/_getOwnedParts.ts +++ b/thebeast/packages/transactions/src/_getOwnedParts.ts @@ -5,7 +5,7 @@ import { fetchStateFromDatabase, findSessionByConnectionId, } from "../../shared/State.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getOwnedParts({ connectionId, diff --git a/thebeast/packages/transactions/src/_getOwnedVehicles.ts b/thebeast/packages/transactions/src/_getOwnedVehicles.ts index 0b3edc3dc..7f0615b72 100644 --- a/thebeast/packages/transactions/src/_getOwnedVehicles.ts +++ b/thebeast/packages/transactions/src/_getOwnedVehicles.ts @@ -1,12 +1,12 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; const vehicleList = [ { - personId: 1, - vehicleId: 1, + personId: 1000, + vehicleId: 2, brandedPartId: 113, }, ]; diff --git a/thebeast/packages/transactions/src/_getPlayerInfo.ts b/thebeast/packages/transactions/src/_getPlayerInfo.ts index bf03be28a..c6f43c490 100644 --- a/thebeast/packages/transactions/src/_getPlayerInfo.ts +++ b/thebeast/packages/transactions/src/_getPlayerInfo.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getPlayerInfo( args: MessageHandlerArgs, diff --git a/thebeast/packages/transactions/src/_getPlayerPhysical.ts b/thebeast/packages/transactions/src/_getPlayerPhysical.ts index cf58db19f..1379a809c 100644 --- a/thebeast/packages/transactions/src/_getPlayerPhysical.ts +++ b/thebeast/packages/transactions/src/_getPlayerPhysical.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getPlayerPhysical({ connectionId, diff --git a/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts b/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts index 265d73e14..56f9ab06a 100644 --- a/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts +++ b/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts @@ -4,7 +4,7 @@ import { PlayerRacingHistoryMessage, RacingHistoryRecordEntry, } from "./PlayerRacingHistoryMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export enum RaceType { RACES_TESTDRIVE = 14, diff --git a/thebeast/packages/transactions/src/_getStockCarInfo.ts b/thebeast/packages/transactions/src/_getStockCarInfo.ts index a1712581f..0c87f0dde 100644 --- a/thebeast/packages/transactions/src/_getStockCarInfo.ts +++ b/thebeast/packages/transactions/src/_getStockCarInfo.ts @@ -2,7 +2,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { StockCarInfoMessage } from "./StockCarInfoMessage.js"; import { StockCar } from "./StockCar.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/_getTunables.ts b/thebeast/packages/transactions/src/_getTunables.ts index b6973b739..b3e32ac60 100644 --- a/thebeast/packages/transactions/src/_getTunables.ts +++ b/thebeast/packages/transactions/src/_getTunables.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { TunablesMessage } from "./TunablesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/_logout.ts b/thebeast/packages/transactions/src/_logout.ts index 49b4434d6..1fc635d26 100644 --- a/thebeast/packages/transactions/src/_logout.ts +++ b/thebeast/packages/transactions/src/_logout.ts @@ -1,6 +1,6 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/_setOptions.ts b/thebeast/packages/transactions/src/_setOptions.ts index a187ae554..f94a228f8 100644 --- a/thebeast/packages/transactions/src/_setOptions.ts +++ b/thebeast/packages/transactions/src/_setOptions.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; diff --git a/thebeast/packages/transactions/src/_updatePlayerPhysical.ts b/thebeast/packages/transactions/src/_updatePlayerPhysical.ts index 9e325d0d5..1111731b6 100644 --- a/thebeast/packages/transactions/src/_updatePlayerPhysical.ts +++ b/thebeast/packages/transactions/src/_updatePlayerPhysical.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; diff --git a/thebeast/packages/transactions/src/clientConnect.ts b/thebeast/packages/transactions/src/clientConnect.ts index 8ff20411b..d09d226ad 100644 --- a/thebeast/packages/transactions/src/clientConnect.ts +++ b/thebeast/packages/transactions/src/clientConnect.ts @@ -14,7 +14,7 @@ import { createDataEncryptionPair, } from "../../gateway/src/encryption.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { getUserSessionByCustomerId } from "../../../lib/nps/services/session.js"; /** diff --git a/thebeast/packages/transactions/src/getLobbies.ts b/thebeast/packages/transactions/src/getLobbies.ts index a629071d5..6b3e5b620 100644 --- a/thebeast/packages/transactions/src/getLobbies.ts +++ b/thebeast/packages/transactions/src/getLobbies.ts @@ -1,6 +1,6 @@ import { LobbyInfo, LobbyMessage } from "./LobbyMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { EntryFeePurseMessage, PurseEntry } from "./EntryFeePurseMessage.js"; /** diff --git a/thebeast/packages/transactions/src/handlers.ts b/thebeast/packages/transactions/src/handlers.ts deleted file mode 100644 index d1fb0416d..000000000 --- a/thebeast/packages/transactions/src/handlers.ts +++ /dev/null @@ -1,124 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { login } from "./login.js"; -import { trackingPing } from "./trackingPing.js"; -import { clientConnect } from "./clientConnect.js"; -import { getLobbies } from "./getLobbies.js"; -import { _getOwnedVehicles } from "./_getOwnedVehicles.js"; -import { _getPlayerInfo } from "./_getPlayerInfo.js"; -import { _getPlayerPhysical } from "./_getPlayerPhysical.js"; -import { _getOwnedParts } from "./_getOwnedParts.js"; -import { _getPlayerRaceHistory } from "./_getPlayerRaceHistory.js"; -import { _getTunables } from "./_getTunables.js"; -import { _getGameUrls } from "./_getGameUrls.js"; -import { _getArcadeCarInfo } from "./_getArcadeCarInfo.js"; -import { _getStockCarInfo } from "./_getStockCarInfo.js"; -import { _logout } from "./_logout.js"; -import { ServerMessage } from "../../shared/src/ServerMessage.js"; -import { ServerLogger } from "../../shared/log.js"; -import { _setOptions } from "./_setOptions.js"; -import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; -import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; -import { ServerMessageType, TServerLogger } from "../../shared/types.js"; - -export interface MessageHandlerArgs { - connectionId: string; - packet: ServerMessageType; - log: TServerLogger; -} - -export interface MessageHandlerResult { - connectionId: string; - messages: OldServerMessage[] | ServerMessage[]; -} - -export interface MessageHandler { - name: string; - handler: (args: MessageHandlerArgs) => Promise; -} - -export const messageHandlers: MessageHandler[] = [ - { - name: "MC_TRACKING_MSG", - handler: trackingPing, - }, - { - name: "MC_CLIENT_CONNECT_MSG", - handler: clientConnect, - }, - { - name: "MC_LOGIN", - handler: login, - }, - { - name: "MC_LOGOUT", - handler: _logout, - }, - { - name: "MC_GET_LOBBIES", - handler: getLobbies, - }, - { - name: "MC_STOCK_CAR_INFO", - handler: _getStockCarInfo, - }, - { - name: "MC_GET_ARCADE_CARS", - handler: _getArcadeCarInfo, - }, - { - name: "MC_GET_GAME_URLS", - handler: _getGameUrls, - }, - { - name: "MC_GET_MCO_TUNABLES", - handler: _getTunables, - }, - { - name: "MC_GET_OWNED_VEHICLES", - handler: _getOwnedVehicles, - }, - { - name: "MC_GET_PLAYER_INFO", - handler: _getPlayerInfo, - }, - { - name: "MC_GET_PLAYER_PHYSICAL", - handler: _getPlayerPhysical, - }, - { - name: "MC_GET_OWNED_PARTS", - handler: _getOwnedParts, - }, - { - name: "MC_GET_PLAYER_RACING_HISTORY", - handler: _getPlayerRaceHistory, - }, - { - name: "MC_SET_OPTIONS", - handler: _setOptions, - }, - { - name: "MC_UPDATE_PLAYER_PHYSICAL", - handler: _updatePlayerPhysical, - }, - { - name: "MC_GET_COMPLETE_VEHICLE_INFO", - handler: _getCompleteVehicleInfo, - }, -]; diff --git a/thebeast/packages/transactions/src/internal.ts b/thebeast/packages/transactions/src/internal.ts index 4d45cde81..f09bf1790 100644 --- a/thebeast/packages/transactions/src/internal.ts +++ b/thebeast/packages/transactions/src/internal.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { messageHandlers } from "./handlers.js"; +import { messageHandlers } from "./messageHandlers.js"; import { ServerLogger, getServerLogger } from "../../shared/log.js"; import { fetchStateFromDatabase, @@ -47,36 +47,14 @@ function isMessageEncrypted( * @param {number} messageID * @return {string} */ -function _MSG_STRING(messageID: number): string { - const messageIds = [ - { id: 105, name: "MC_LOGIN" }, // 0x69 - { id: 106, name: "MC_LOGOUT" }, // 0x6a - { id: 108, name: "MC_GET_PLAYER_INFO" }, // 0x6c - { id: 109, name: "MC_SET_OPTIONS" }, // 0x6d - { id: 122, name: "MC_PLAYER_INFO" }, // 0x7a"} - { id: 141, name: "MC_STOCK_CAR_INFO" }, // 0x8d - { id: 145, name: "MC_GET_COMPLETE_VEHICLE_INFO" }, // 0x91 - { id: 172, name: "MC_GET_OWNED_VEHICLES" }, // 0xac"} - { id: 173, name: "MC_OWNED_VEHICLES_LIST" }, // 0xad"} - { id: 174, name: "MC_GET_OWNED_PARTS" }, // 0xae"} - { id: 213, name: "MC_LOGIN_COMPLETE" }, // 0xd5 - { id: 264, name: "MC_GET_PLAYER_PHYSICAL" }, // 0x108 - { id: 265, name: "MC_PLAYER_PHYSICAL_INFO" }, // 0x109 - { id: 363, name: "MC_GET_GAME_URLS" }, // 0x16b"} - { id: 266, name: "MC_UPDATE_PLAYER_PHYSICAL" }, // 0x10a - { id: 322, name: "MC_GET_ARCADE_CARS" }, // 0x142"} - { id: 324, name: "MC_GET_LOBBIES" }, // 0x144 - { id: 325, name: "MC_LOBBIES" }, // 0x145 - { id: 361, name: "MC_GET_PLAYER_RACING_HISTORY" }, // 0x169"} - { id: 362, name: "MC_PLAYER_RACING_HISTORY" }, // 0x16a"} - { id: 389, name: "MC_GET_MCO_TUNABLES" }, // 0x185"} - { id: 391, name: "MC_CLUB_GET_INVITATIONS" }, // 0x187 - { id: 438, name: "MC_CLIENT_CONNECT_MSG" }, // 0x1b6 - { id: 440, name: "MC_TRACKING_MSG" }, - ]; - const result = messageIds.find((id) => id.id === messageID); - if (typeof result !== "undefined") { +function _MSG_STRING( + messageID: number, + direction: "in" | "out" | "both", +): string { + const result = messageHandlers.get(messageID); + + if (typeof result !== "undefined" && result.direction === direction) { return result.name; } @@ -92,19 +70,17 @@ async function processInput({ connectionId, packet, log, -}: import("./handlers.js").MessageHandlerArgs): Promise< - import("./handlers.js").MessageHandlerResult +}: import("../types.js").MessageHandlerArgs): Promise< + import("../types.js").MessageHandlerResult > { const currentMessageNo = packet._msgNo; - const currentMessageString = _MSG_STRING(currentMessageNo); + const currentMessageString = _MSG_STRING(currentMessageNo, "in"); log.debug( `We are attempting to process a message with id ${currentMessageNo}(${currentMessageString})`, ); - const result = messageHandlers.find( - (msg) => msg.name === currentMessageString, - ); + const result = messageHandlers.get(currentMessageNo); if (typeof result !== "undefined") { try { diff --git a/thebeast/packages/transactions/src/login.ts b/thebeast/packages/transactions/src/login.ts index ec6551570..d3a4a3ce2 100644 --- a/thebeast/packages/transactions/src/login.ts +++ b/thebeast/packages/transactions/src/login.ts @@ -1,12 +1,13 @@ import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { createNewCar } from "../../database/src/services/admin.js"; import { buildVehiclePartTree, saveVehicle, saveVehiclePartTree, } from "../../database/src/models/VehiclePartTree.js"; +import { TServerLogger, ServerMessageType } from "../../shared/types.js"; /** * @param {MessageHandlerArgs} args @@ -24,38 +25,54 @@ export async function login({ // Is this a new login? if (loginMessage._brandedPartId !== 0) { - try { - const personaId = loginMessage._personaId; - const lotOwnerId = loginMessage._lotOwnerId; - const brandedPartId = loginMessage._brandedPartId; - const skinId = loginMessage._skinId; + await createNewCarForPlayer(loginMessage, log); + } + + // Create new response packet + const responsePacket = await loginComplete({ connectionId, packet, log }); - log.debug( - `Creating new car for persona ${personaId} with brandedPartId ${brandedPartId} and skinId ${skinId} from lotOwnerId ${lotOwnerId}...`, - ); + return { connectionId, messages: responsePacket.messages }; +} +async function createNewCarForPlayer( + loginMessage: TLoginMessage, + log: TServerLogger, +) { + try { + const personaId = loginMessage._personaId; + const lotOwnerId = loginMessage._lotOwnerId; + const brandedPartId = loginMessage._brandedPartId; + const skinId = loginMessage._skinId; + + log.debug( + `Creating new car for persona ${personaId} with brandedPartId ${brandedPartId} and skinId ${skinId} from lotOwnerId ${lotOwnerId}...`, + ); - // Create new car - const newCarPartTree = await buildVehiclePartTree({ - brandedPartId, - skinId, - ownerID: 1, // personaId, - isStock: true, - }); - await saveVehicle(newCarPartTree); - await saveVehiclePartTree(newCarPartTree); + // Create new car + const newCarPartTree = await buildVehiclePartTree({ + brandedPartId, + skinId, + ownerID: 1, // personaId, + isStock: true, + }); + await saveVehicle(newCarPartTree); + await saveVehiclePartTree(newCarPartTree); - const newCarOwnerId = newCarPartTree.vehicleId; + const newCarOwnerId = newCarPartTree.vehicleId; - log.debug( - `Created new car with id ${newCarOwnerId} for persona ${personaId}`, - ); - } catch (error) { - log.error(`Error creating new car: ${error}`); - throw error; - } + log.debug( + `Created new car with id ${newCarOwnerId} for persona ${personaId}`, + ); + } catch (error) { + log.error(`Error creating new car: ${error}`); + throw error; } +} - // Create new response packet +export async function loginComplete({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise { const pReply = new LoginCompleteMessage(); pReply._msgNo = 213; pReply._firstTime = true; @@ -67,6 +84,5 @@ export async function login({ responsePacket._header.sequence = packet._header.sequence; responsePacket._header.flags = 8; responsePacket.setBuffer(pReply.serialize()); - return { connectionId, messages: [responsePacket] }; } diff --git a/thebeast/packages/transactions/src/messageHandlers.ts b/thebeast/packages/transactions/src/messageHandlers.ts new file mode 100644 index 000000000..25d97b7b2 --- /dev/null +++ b/thebeast/packages/transactions/src/messageHandlers.ts @@ -0,0 +1,149 @@ +import { login, loginComplete } from "./login.js"; +import { trackingPing } from "./trackingPing.js"; +import { clientConnect } from "./clientConnect.js"; +import { getLobbies } from "./getLobbies.js"; +import { _getOwnedVehicles } from "./_getOwnedVehicles.js"; +import { _getPlayerInfo } from "./_getPlayerInfo.js"; +import { _getPlayerPhysical } from "./_getPlayerPhysical.js"; +import { _getOwnedParts } from "./_getOwnedParts.js"; +import { _getPlayerRaceHistory } from "./_getPlayerRaceHistory.js"; +import { _getTunables } from "./_getTunables.js"; +import { _getGameUrls } from "./_getGameUrls.js"; +import { _getArcadeCarInfo } from "./_getArcadeCarInfo.js"; +import { _getStockCarInfo } from "./_getStockCarInfo.js"; +import { _logout } from "./_logout.js"; +import { _setOptions } from "./_setOptions.js"; +import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; +import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; +import { _updateCachedVehicle } from "./messageHandlers/_updateCachedVehicle.js"; +import { MessageHandler } from "../types.js"; + +export const messageHandlers: Map = new Map([ + [105, { name: "MC_LOGIN", handler: login, direction: "in" }], + [106, { name: "MC_LOGOUT", handler: _logout, direction: "in" }], + [ + 108, + { + name: "MC_GET_PLAYER_INFO", + handler: _getPlayerInfo, + direction: "in", + }, + ], + [109, { name: "MC_SET_OPTIONS", handler: _setOptions, direction: "in" }], + [122, { name: "MC_PLAYER_INFO", handler: _getPlayerInfo, direction: "in" }], + [ + 141, + { + name: "MC_STOCK_CAR_INFO", + handler: _getStockCarInfo, + direction: "in", + }, + ], + [ + 145, + { + name: "MC_GET_COMPLETE_VEHICLE_INFO", + handler: _getCompleteVehicleInfo, + direction: "in", + }, + ], + [ + 163, + { + name: "MC_UPDATE_CACHED_VEHICLE", + handler: _updateCachedVehicle, + direction: "in", + }, + ], + [ + 172, + { + name: "MC_GET_OWNED_VEHICLES", + handler: _getOwnedVehicles, + direction: "in", + }, + ], + [ + 173, + { + name: "MC_OWNED_VEHICLES_LIST", + handler: _getOwnedVehicles, + direction: "in", + }, + ], + [ + 174, + { + name: "MC_GET_OWNED_PARTS", + handler: _getOwnedParts, + direction: "in", + }, + ], + [ + 213, + { name: "MC_LOGIN_COMPLETE", handler: loginComplete, direction: "out" }, + ], + [ + 264, + { + name: "MC_GET_PLAYER_PHYSICAL", + handler: _getPlayerPhysical, + direction: "in", + }, + ], + [ + 265, + { + name: "MC_PLAYER_PHYSICAL_INFO", + handler: _getPlayerPhysical, + direction: "in", + }, + ], + [363, { name: "MC_GET_GAME_URLS", handler: _getGameUrls, direction: "in" }], + [ + 266, + { + name: "MC_UPDATE_PLAYER_PHYSICAL", + handler: _updatePlayerPhysical, + direction: "in", + }, + ], + [ + 322, + { + name: "MC_GET_ARCADE_CARS", + handler: _getArcadeCarInfo, + direction: "in", + }, + ], + [324, { name: "MC_GET_LOBBIES", handler: getLobbies, direction: "in" }], + [ + 361, + { + name: "MC_GET_PLAYER_RACING_HISTORY", + handler: _getPlayerRaceHistory, + direction: "in", + }, + ], + [ + 362, + { + name: "MC_PLAYER_RACING_HISTORY", + handler: _getPlayerRaceHistory, + direction: "in", + }, + ], + [ + 389, + { name: "MC_GET_MCO_TUNABLES", handler: _getTunables, direction: "in" }, + ], + [ + 438, + { + name: "MC_CLIENT_CONNECT_MSG", + handler: clientConnect, + direction: "in", + }, + ], + [440, { name: "MC_TRACKING_MSG", handler: trackingPing, direction: "in" }], +]); diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index ef33759fd..e022acd2d 100644 --- a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -1,18 +1,13 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; import { OldServerMessage } from "../../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; import { log } from "../../../shared/log.js"; -import { - createSqlTag, - z, -} from "../../../database/src/services/database.js"; +import { createSqlTag, z } from "../../../database/src/services/database.js"; import { getVehiclePartTree } from "../../../database/src/cache.js"; import { TPart } from "../../../database/src/models/Part.js"; -import { - buildVehiclePartTreeFromDB, -} from "../../../database/src/models/VehiclePartTree.js"; +import { buildVehiclePartTreeFromDB } from "../../../database/src/models/VehiclePartTree.js"; const DAMAGE_SIZE = 2000; diff --git a/thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts b/thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts new file mode 100644 index 000000000..dd6315a95 --- /dev/null +++ b/thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts @@ -0,0 +1,15 @@ +import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; + +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export async function _updateCachedVehicle({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise { + log.debug(`Received Update Cached Vehicle packet: ${connectionId}, NOOP`); + + return { connectionId, messages: [] }; +} diff --git a/thebeast/packages/transactions/src/trackingPing.ts b/thebeast/packages/transactions/src/trackingPing.ts index 8aa28c2dc..e6f2cd586 100644 --- a/thebeast/packages/transactions/src/trackingPing.ts +++ b/thebeast/packages/transactions/src/trackingPing.ts @@ -1,6 +1,6 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "./handlers.js"; +import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/types.ts b/thebeast/packages/transactions/types.ts new file mode 100644 index 000000000..38c53d43a --- /dev/null +++ b/thebeast/packages/transactions/types.ts @@ -0,0 +1,36 @@ +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +import { OldServerMessage } from "../shared/messageFactory.js"; +import { ServerMessage } from "../shared/src/ServerMessage.js"; +import { ServerMessageType, TServerLogger } from "../shared/types.js"; + +export interface MessageHandlerArgs { + connectionId: string; + packet: ServerMessageType; + log: TServerLogger; +} + +export interface MessageHandlerResult { + connectionId: string; + messages: OldServerMessage[] | ServerMessage[]; +} + +export interface MessageHandler { + name: string; + direction: "in" | "out" | "both"; + handler: (args: MessageHandlerArgs) => Promise; +} From fade8a1e1c2d59e7f4aef75b0c45b196d3ea1fe3 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Mon, 26 Feb 2024 12:07:21 -0500 Subject: [PATCH 117/452] Fix test for db mock --- .github/workflows/node.yml | 13 +- package-lock.json | 2662 ++++++++++++----- .../nps/messageProcessors/processUserLogin.ts | 4 +- thebeast/packages/database/src/cache.ts | 87 +- .../database/src/models/VehiclePartTree.ts | 296 +- .../packages/database/src/services/admin.ts | 46 +- .../database/src/services/database.js | 27 - .../database/src/services/database.ts | 76 +- .../_getCompleteVehicleInfo.spec.ts | 8 + .../_getCompleteVehicleInfo.ts | 40 +- 10 files changed, 2141 insertions(+), 1118 deletions(-) delete mode 100644 thebeast/packages/database/src/services/database.js diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index eb6e9fdfd..be4fafc1a 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -12,20 +12,9 @@ env: PUBLIC_KEY_FILE: thebeast/data/pub.key jobs: - container-job: + build-test: runs-on: ubuntu-latest - services: - postgres: - image: postgres:latest - env: - POSTGRES_USER: user - POSTGRES_PASSWORD: password - POSTGRES_DB: rm - ports: - - 5432:5432 - options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 - strategy: matrix: node-version: [18.x, 20.x, 21.x] diff --git a/package-lock.json b/package-lock.json index e5dbda879..9437887e8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,16 +24,18 @@ }, "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, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/@ampproject/remapping": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@jridgewell/gen-mapping": "^0.3.0", "@jridgewell/trace-mapping": "^0.3.9" @@ -44,24 +46,27 @@ }, "node_modules/@babel/helper-string-parser": { "version": "7.23.4", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", + "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", "dev": true, - "license": "MIT", "bin": { "parser": "bin/babel-parser.js" }, @@ -71,8 +76,9 @@ }, "node_modules/@babel/types": { "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", "dev": true, - "license": "MIT", "dependencies": { "@babel/helper-string-parser": "^7.23.4", "@babel/helper-validator-identifier": "^7.22.20", @@ -84,12 +90,14 @@ }, "node_modules/@bcoe/v8-coverage": { "version": "0.2.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true }, "node_modules/@cspotcode/source-map-support": { "version": "0.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dependencies": { "@jridgewell/trace-mapping": "0.3.9" }, @@ -99,19 +107,277 @@ }, "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { "version": "0.3.9", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", "@jridgewell/sourcemap-codec": "^1.4.10" } }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", + "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", + "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", + "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", + "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", + "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", + "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", + "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", + "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", + "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", + "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", + "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", + "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", + "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", + "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", + "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", + "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, "node_modules/@esbuild/linux-x64": { "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", + "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -120,10 +386,107 @@ "node": ">=12" } }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", + "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", + "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", + "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", + "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", + "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", + "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, "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" }, @@ -136,16 +499,18 @@ }, "node_modules/@eslint-community/regexpp": { "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, - "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", @@ -166,8 +531,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -175,8 +541,9 @@ }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -185,16 +552,18 @@ } }, "node_modules/@eslint/js": { - "version": "8.56.0", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", + "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", "dev": true, - "license": "MIT", "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, "node_modules/@fastify/ajv-compiler": { "version": "3.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", + "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", "dependencies": { "ajv": "^8.11.0", "ajv-formats": "^2.1.1", @@ -203,7 +572,8 @@ }, "node_modules/@fastify/ajv-compiler/node_modules/ajv": { "version": "8.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -217,29 +587,34 @@ }, "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/@fastify/error": { "version": "3.4.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", + "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" }, "node_modules/@fastify/fast-json-stringify-compiler": { "version": "4.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", + "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", "dependencies": { "fast-json-stringify": "^5.7.0" } }, "node_modules/@fastify/merge-json-schemas": { "version": "0.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", + "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", "dependencies": { "fast-deep-equal": "^3.1.3" } }, "node_modules/@fastify/sensible": { "version": "5.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz", + "integrity": "sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==", "dependencies": { "@lukeed/ms": "^2.0.1", "fast-deep-equal": "^3.1.1", @@ -252,13 +627,15 @@ }, "node_modules/@gar/promisify": { "version": "1.1.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "optional": true }, "node_modules/@humanwhocodes/config-array": { "version": "0.11.14", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", + "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@humanwhocodes/object-schema": "^2.0.2", "debug": "^4.3.1", @@ -270,8 +647,9 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -279,8 +657,9 @@ }, "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -290,8 +669,9 @@ }, "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" }, @@ -302,21 +682,24 @@ }, "node_modules/@humanwhocodes/object-schema": { "version": "2.0.2", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", + "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", + "dev": true }, "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/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" }, @@ -325,9 +708,10 @@ } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", + "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -339,38 +723,31 @@ }, "node_modules/@jridgewell/resolve-uri": { "version": "3.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/set-array": { "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "license": "MIT", "engines": { "node": ">=6.0.0" } }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.15", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.22", + "version": "0.3.23", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", + "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" @@ -378,8 +755,9 @@ }, "node_modules/@jsdoc/salty": { "version": "0.2.7", + "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz", + "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "lodash": "^4.17.21" }, @@ -389,15 +767,17 @@ }, "node_modules/@lukeed/ms": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz", + "integrity": "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==", "engines": { "node": ">=8" } }, "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, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -408,16 +788,18 @@ }, "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, - "license": "MIT", "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, - "license": "MIT", "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -428,7 +810,8 @@ }, "node_modules/@npmcli/fs": { "version": "1.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", + "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", "optional": true, "dependencies": { "@gar/promisify": "^1.0.1", @@ -437,7 +820,9 @@ }, "node_modules/@npmcli/move-file": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", + "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", + "deprecated": "This functionality has been moved to @npmcli/fs", "optional": true, "dependencies": { "mkdirp": "^1.0.4", @@ -447,24 +832,130 @@ "node": ">=10" } }, - "node_modules/@pkgr/core": { - "version": "0.1.1", + "node_modules/@pkgr/core": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", + "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.18.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/unts" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", + "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", + "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", + "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", + "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", + "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", + "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", + "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", + "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", + "cpu": [ + "riscv64" + ], "dev": true, - "license": "MIT", - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } + "optional": true, + "os": [ + "linux" + ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", + "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" @@ -472,20 +963,61 @@ }, "node_modules/@rollup/rollup-linux-x64-musl": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", + "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", "cpu": [ "x64" ], "dev": true, - "license": "MIT", "optional": true, "os": [ "linux" ] }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", + "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", + "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", + "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@rushstack/node-core-library": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", + "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", "dev": true, - "license": "MIT", "dependencies": { "fs-extra": "~7.0.1", "import-lazy": "~4.0.0", @@ -504,12 +1036,13 @@ } }, "node_modules/@rushstack/terminal": { - "version": "0.9.0", + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.10.0.tgz", + "integrity": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==", "dev": true, - "license": "MIT", "dependencies": { "@rushstack/node-core-library": "4.0.2", - "colors": "~1.2.1" + "supports-color": "~8.1.1" }, "peerDependencies": { "@types/node": "*" @@ -521,11 +1054,12 @@ } }, "node_modules/@rushstack/ts-command-line": { - "version": "4.17.3", + "version": "4.17.4", + "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.17.4.tgz", + "integrity": "sha512-XPQQDaxgFqRHFRgt7jjCKnr0vrC75s/+ISU6kGhWpDlGzWl4vig6ZfZTs3HgM6Kh1Bb3wUKSyKQOV+G36cyZfg==", "dev": true, - "license": "MIT", "dependencies": { - "@rushstack/terminal": "0.9.0", + "@rushstack/terminal": "0.10.0", "@types/argparse": "1.0.38", "argparse": "~1.0.9", "string-argv": "~0.3.1" @@ -537,7 +1071,8 @@ }, "node_modules/@sentry-internal/tracing": { "version": "7.102.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz", + "integrity": "sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==", "dependencies": { "@sentry/core": "7.102.1", "@sentry/types": "7.102.1", @@ -549,9 +1084,10 @@ }, "node_modules/@sentry/cli": { "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz", + "integrity": "sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==", "dev": true, "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "https-proxy-agent": "^5.0.0", "node-fetch": "^2.6.7", @@ -575,13 +1111,79 @@ "@sentry/cli-win32-x64": "2.28.6" } }, + "node_modules/@sentry/cli-darwin": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.6.tgz", + "integrity": "sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==", + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.6.tgz", + "integrity": "sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-arm64": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.6.tgz", + "integrity": "sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-linux-i686": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.6.tgz", + "integrity": "sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==", + "cpu": [ + "x86", + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux", + "freebsd" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@sentry/cli-linux-x64": { "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz", + "integrity": "sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==", "cpu": [ "x64" ], "dev": true, - "license": "BSD-3-Clause", "optional": true, "os": [ "linux", @@ -591,9 +1193,43 @@ "node": ">=10" } }, + "node_modules/@sentry/cli-win32-i686": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.6.tgz", + "integrity": "sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==", + "cpu": [ + "x86", + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, + "node_modules/@sentry/cli-win32-x64": { + "version": "2.28.6", + "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.6.tgz", + "integrity": "sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=10" + } + }, "node_modules/@sentry/core": { "version": "7.102.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz", + "integrity": "sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==", "dependencies": { "@sentry/types": "7.102.1", "@sentry/utils": "7.102.1" @@ -604,7 +1240,8 @@ }, "node_modules/@sentry/node": { "version": "7.102.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.102.1.tgz", + "integrity": "sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw==", "dependencies": { "@sentry-internal/tracing": "7.102.1", "@sentry/core": "7.102.1", @@ -617,8 +1254,9 @@ }, "node_modules/@sentry/profiling-node": { "version": "7.102.1", + "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.1.tgz", + "integrity": "sha512-eqOUdu04eI4ODqeh/nHvC/mdwm3tWkqm02anR2ITEjKVJxHliHH6+jr+3M2X56e1hIxOibtL+JrR89Du9HEl9w==", "hasInstallScript": true, - "license": "MIT", "dependencies": { "detect-libc": "^2.0.2", "node-abi": "^3.52.0" @@ -632,14 +1270,16 @@ }, "node_modules/@sentry/types": { "version": "7.102.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz", + "integrity": "sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==", "engines": { "node": ">=8" } }, "node_modules/@sentry/utils": { "version": "7.102.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz", + "integrity": "sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==", "dependencies": { "@sentry/types": "7.102.1" }, @@ -649,13 +1289,15 @@ }, "node_modules/@sinclair/typebox": { "version": "0.27.8", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", + "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", + "dev": true }, "node_modules/@slonik/migrator": { "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@slonik/migrator/-/migrator-0.12.0.tgz", + "integrity": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==", "dev": true, - "license": "ISC", "dependencies": { "@rushstack/ts-command-line": "^4.11.0", "umzug": "^3.1.1" @@ -666,7 +1308,8 @@ }, "node_modules/@tootallnate/once": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "optional": true, "engines": { "node": ">= 6" @@ -674,82 +1317,85 @@ }, "node_modules/@tsconfig/node-lts": { "version": "20.1.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz", + "integrity": "sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==", + "dev": true }, "node_modules/@tsconfig/node10": { "version": "1.0.9", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" }, "node_modules/@tsconfig/node12": { "version": "1.0.11", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" }, "node_modules/@tsconfig/node14": { "version": "1.0.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" }, "node_modules/@tsconfig/node16": { "version": "1.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", + "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" }, "node_modules/@tsconfig/node20": { "version": "20.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", + "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", + "dev": true }, "node_modules/@types/argparse": { "version": "1.0.38", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", + "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", + "dev": true }, "node_modules/@types/chai": { "version": "4.3.11", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", + "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", + "dev": true }, "node_modules/@types/connect": { "version": "3.4.38", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", + "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", "dependencies": { "@types/node": "*" } }, - "node_modules/@types/eslint": { - "version": "8.56.3", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, "node_modules/@types/estree": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true }, "node_modules/@types/istanbul-lib-coverage": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "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 }, "node_modules/@types/json-schema": { "version": "7.0.15", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true }, "node_modules/@types/linkify-it": { "version": "3.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "dev": true }, "node_modules/@types/markdown-it": { "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/linkify-it": "*", "@types/mdurl": "*" @@ -757,19 +1403,22 @@ }, "node_modules/@types/mdurl": { "version": "1.0.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", + "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", + "dev": true }, "node_modules/@types/node": { "version": "20.11.20", - "license": "MIT", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", + "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", "dependencies": { "undici-types": "~5.26.4" } }, "node_modules/@types/pg": { - "version": "8.11.0", - "license": "MIT", + "version": "8.11.1", + "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.1.tgz", + "integrity": "sha512-tUMU6HRvsosqH0qov7YH0Kj6EnziKoqmHUcREBPlDEQLWT+TxDUBT1MmQ53byHXs171xn3YFPIPwVTkVb16mVg==", "dependencies": { "@types/node": "*", "pg-protocol": "*", @@ -778,7 +1427,8 @@ }, "node_modules/@types/pg/node_modules/pg-types": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", + "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", "dependencies": { "pg-int8": "1.0.1", "pg-numeric": "1.0.2", @@ -794,7 +1444,8 @@ }, "node_modules/@types/pg/node_modules/postgres-bytea": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", "dependencies": { "obuf": "~1.1.2" }, @@ -804,35 +1455,40 @@ }, "node_modules/@types/pg/node_modules/postgres-date": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", + "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", "engines": { "node": ">=12" } }, "node_modules/@types/pg/node_modules/postgres-interval": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", "engines": { "node": ">=12" } }, "node_modules/@types/semver": { - "version": "7.5.7", - "dev": true, - "license": "MIT" + "version": "7.5.8", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", + "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", + "dev": true }, "node_modules/@types/sinon": { "version": "17.0.3", + "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", + "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", "dev": true, - "license": "MIT", "dependencies": { "@types/sinonjs__fake-timers": "*" } }, "node_modules/@types/sinon-chai": { "version": "3.2.12", + "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", + "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", "dev": true, - "license": "MIT", "dependencies": { "@types/chai": "*", "@types/sinon": "*" @@ -840,13 +1496,15 @@ }, "node_modules/@types/sinonjs__fake-timers": { "version": "8.1.5", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", + "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", + "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", + "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/regexpp": "^4.5.1", "@typescript-eslint/scope-manager": "6.21.0", @@ -879,8 +1537,9 @@ }, "node_modules/@typescript-eslint/parser": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", + "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/scope-manager": "6.21.0", "@typescript-eslint/types": "6.21.0", @@ -906,8 +1565,9 @@ }, "node_modules/@typescript-eslint/scope-manager": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", + "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0" @@ -922,8 +1582,9 @@ }, "node_modules/@typescript-eslint/type-utils": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", + "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/typescript-estree": "6.21.0", "@typescript-eslint/utils": "6.21.0", @@ -948,8 +1609,9 @@ }, "node_modules/@typescript-eslint/types": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", + "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", "dev": true, - "license": "MIT", "engines": { "node": "^16.0.0 || >=18.0.0" }, @@ -960,8 +1622,9 @@ }, "node_modules/@typescript-eslint/typescript-estree": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", + "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "@typescript-eslint/types": "6.21.0", "@typescript-eslint/visitor-keys": "6.21.0", @@ -987,8 +1650,9 @@ }, "node_modules/@typescript-eslint/utils": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", + "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", "@types/json-schema": "^7.0.12", @@ -1011,8 +1675,9 @@ }, "node_modules/@typescript-eslint/visitor-keys": { "version": "6.21.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", + "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/types": "6.21.0", "eslint-visitor-keys": "^3.4.1" @@ -1027,13 +1692,15 @@ }, "node_modules/@ungap/structured-clone": { "version": "1.2.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true }, "node_modules/@vitest/coverage-v8": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.1.tgz", + "integrity": "sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==", "dev": true, - "license": "MIT", "dependencies": { "@ampproject/remapping": "^2.2.1", "@bcoe/v8-coverage": "^0.2.3", @@ -1058,8 +1725,9 @@ }, "node_modules/@vitest/expect": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", + "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", "dev": true, - "license": "MIT", "dependencies": { "@vitest/spy": "1.3.1", "@vitest/utils": "1.3.1", @@ -1071,8 +1739,9 @@ }, "node_modules/@vitest/runner": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", + "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", "dev": true, - "license": "MIT", "dependencies": { "@vitest/utils": "1.3.1", "p-limit": "^5.0.0", @@ -1084,8 +1753,9 @@ }, "node_modules/@vitest/runner/node_modules/p-limit": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", + "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", "dev": true, - "license": "MIT", "dependencies": { "yocto-queue": "^1.0.0" }, @@ -1098,8 +1768,9 @@ }, "node_modules/@vitest/runner/node_modules/yocto-queue": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", + "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", "dev": true, - "license": "MIT", "engines": { "node": ">=12.20" }, @@ -1109,8 +1780,9 @@ }, "node_modules/@vitest/snapshot": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", + "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", "dev": true, - "license": "MIT", "dependencies": { "magic-string": "^0.30.5", "pathe": "^1.1.1", @@ -1122,8 +1794,9 @@ }, "node_modules/@vitest/spy": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", + "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", "dev": true, - "license": "MIT", "dependencies": { "tinyspy": "^2.2.0" }, @@ -1133,8 +1806,9 @@ }, "node_modules/@vitest/utils": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", + "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", "dev": true, - "license": "MIT", "dependencies": { "diff-sequences": "^29.6.3", "estree-walker": "^3.0.3", @@ -1147,12 +1821,14 @@ }, "node_modules/abbrev": { "version": "1.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "optional": true }, "node_modules/abort-controller": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", "dependencies": { "event-target-shim": "^5.0.0" }, @@ -1162,11 +1838,13 @@ }, "node_modules/abstract-logging": { "version": "2.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", + "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" }, "node_modules/acorn": { "version": "8.11.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", + "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", "bin": { "acorn": "bin/acorn" }, @@ -1176,23 +1854,26 @@ }, "node_modules/acorn-jsx": { "version": "5.3.2", + "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" } }, "node_modules/acorn-walk": { "version": "8.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", + "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", "engines": { "node": ">=0.4.0" } }, "node_modules/agent-base": { "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "devOptional": true, - "license": "MIT", "dependencies": { "debug": "4" }, @@ -1202,7 +1883,8 @@ }, "node_modules/agentkeepalive": { "version": "4.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", + "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", "optional": true, "dependencies": { "humanize-ms": "^1.2.1" @@ -1213,7 +1895,8 @@ }, "node_modules/aggregate-error": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "optional": true, "dependencies": { "clean-stack": "^2.0.0", @@ -1225,8 +1908,9 @@ }, "node_modules/ajv": { "version": "6.12.6", + "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", @@ -1240,7 +1924,8 @@ }, "node_modules/ajv-formats": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", "dependencies": { "ajv": "^8.0.0" }, @@ -1255,7 +1940,8 @@ }, "node_modules/ajv-formats/node_modules/ajv": { "version": "8.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -1269,20 +1955,23 @@ }, "node_modules/ajv-formats/node_modules/json-schema-traverse": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/ansi-regex": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/ansi-styles": { "version": "4.3.0", + "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" }, @@ -1295,16 +1984,19 @@ }, "node_modules/aproba": { "version": "2.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "optional": true }, "node_modules/archy": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", + "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" }, "node_modules/are-we-there-yet": { "version": "3.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", "optional": true, "dependencies": { "delegates": "^1.0.0", @@ -1316,7 +2008,8 @@ }, "node_modules/are-we-there-yet/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "optional": true, "dependencies": { "inherits": "^2.0.3", @@ -1329,42 +2022,48 @@ }, "node_modules/arg": { "version": "4.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", + "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" }, "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/array-union": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/assertion-error": { "version": "1.1.0", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", + "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/atomic-sleep": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", + "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", "engines": { "node": ">=8.0.0" } }, "node_modules/avvio": { "version": "8.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", + "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", "dependencies": { "@fastify/error": "^3.3.0", "archy": "^1.0.0", @@ -1374,11 +2073,14 @@ }, "node_modules/balanced-match": { "version": "1.0.2", - "devOptional": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "devOptional": true }, "node_modules/base64-js": { "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", "funding": [ { "type": "github", @@ -1392,19 +2094,20 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/bindings": { "version": "1.5.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", + "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", "dependencies": { "file-uri-to-path": "1.0.0" } }, "node_modules/bl": { "version": "4.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dependencies": { "buffer": "^5.5.0", "inherits": "^2.0.4", @@ -1413,6 +2116,8 @@ }, "node_modules/bl/node_modules/buffer": { "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "funding": [ { "type": "github", @@ -1427,7 +2132,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.1.13" @@ -1435,7 +2139,8 @@ }, "node_modules/bl/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1447,24 +2152,28 @@ }, "node_modules/bluebird": { "version": "3.7.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" }, "node_modules/boolean": { "version": "3.2.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", + "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" }, "node_modules/brace-expansion": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0" } }, "node_modules/braces": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "license": "MIT", "dependencies": { "fill-range": "^7.0.1" }, @@ -1474,6 +2183,8 @@ }, "node_modules/buffer": { "version": "6.0.3", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", + "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", "funding": [ { "type": "github", @@ -1488,7 +2199,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "base64-js": "^1.3.1", "ieee754": "^1.2.1" @@ -1496,33 +2206,38 @@ }, "node_modules/buffer-from": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" }, "node_modules/buffer-writer": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", + "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", "engines": { "node": ">=4" } }, "node_modules/bufferput": { "version": "0.1.3", - "license": "MIT/X11", + "resolved": "https://registry.npmjs.org/bufferput/-/bufferput-0.1.3.tgz", + "integrity": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==", "engines": { "node": ">=0.3.0" } }, "node_modules/cac": { "version": "6.7.14", + "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", + "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cacache": { "version": "15.3.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", + "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", "optional": true, "dependencies": { "@npmcli/fs": "^1.0.0", @@ -1550,16 +2265,18 @@ }, "node_modules/callsites": { "version": "3.1.0", + "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/catharsis": { "version": "0.9.0", + "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", + "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.17.15" }, @@ -1569,8 +2286,9 @@ }, "node_modules/chai": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", + "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", "dev": true, - "license": "MIT", "dependencies": { "assertion-error": "^1.1.0", "check-error": "^1.0.3", @@ -1586,8 +2304,9 @@ }, "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" @@ -1599,10 +2318,23 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, + "node_modules/chalk/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/check-error": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", + "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", "dev": true, - "license": "MIT", "dependencies": { "get-func-name": "^2.0.2" }, @@ -1612,14 +2344,16 @@ }, "node_modules/chownr": { "version": "2.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "engines": { "node": ">=10" } }, "node_modules/clean-stack": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", "optional": true, "engines": { "node": ">=6" @@ -1627,8 +2361,9 @@ }, "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" }, @@ -1638,12 +2373,14 @@ }, "node_modules/color-name": { "version": "1.1.4", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true }, "node_modules/color-support": { "version": "1.1.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "optional": true, "bin": { "color-support": "bin.js" @@ -1651,42 +2388,41 @@ }, "node_modules/colorette": { "version": "2.0.20", - "license": "MIT" - }, - "node_modules/colors": { - "version": "1.2.5", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.1.90" - } + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" }, "node_modules/commander": { - "version": "2.20.3", + "version": "9.5.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", + "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", "dev": true, - "license": "MIT", "optional": true, - "peer": true + "engines": { + "node": "^12.20.0 || >=14" + } }, "node_modules/common-tags": { "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", "dev": true, - "license": "MIT", "engines": { "node": ">=4.0.0" } }, "node_modules/concat-map": { "version": "0.0.1", - "devOptional": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "devOptional": true }, "node_modules/concat-stream": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", "engines": [ "node >= 6.0" ], - "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "inherits": "^2.0.3", @@ -1696,7 +2432,8 @@ }, "node_modules/concat-stream/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -1708,29 +2445,34 @@ }, "node_modules/console-control-strings": { "version": "1.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "optional": true }, "node_modules/convert-source-map": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true }, "node_modules/cookie": { "version": "0.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", + "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", "engines": { "node": ">= 0.6" } }, "node_modules/create-require": { "version": "1.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" }, "node_modules/cross-spawn": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -1742,14 +2484,16 @@ }, "node_modules/dateformat": { "version": "4.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", + "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", "engines": { "node": "*" } }, "node_modules/debug": { "version": "4.3.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dependencies": { "ms": "2.1.2" }, @@ -1764,7 +2508,8 @@ }, "node_modules/decompress-response": { "version": "6.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", + "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", "dependencies": { "mimic-response": "^3.1.0" }, @@ -1777,8 +2522,9 @@ }, "node_modules/deep-eql": { "version": "4.1.3", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", + "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", "dev": true, - "license": "MIT", "dependencies": { "type-detect": "^4.0.0" }, @@ -1788,54 +2534,62 @@ }, "node_modules/deep-extend": { "version": "0.6.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", "engines": { "node": ">=4.0.0" } }, "node_modules/deep-is": { "version": "0.1.4", - "dev": true, - "license": "MIT" + "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/delegates": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "optional": true }, "node_modules/depd": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "engines": { "node": ">= 0.8" } }, "node_modules/detect-libc": { "version": "2.0.2", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", + "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", "engines": { "node": ">=8" } }, "node_modules/diff": { "version": "4.0.2", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "engines": { "node": ">=0.3.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/dir-glob": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "license": "MIT", "dependencies": { "path-type": "^4.0.0" }, @@ -1845,13 +2599,15 @@ }, "node_modules/dlv": { "version": "1.1.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true }, "node_modules/doctrine": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "license": "Apache-2.0", "dependencies": { "esutils": "^2.0.2" }, @@ -1861,8 +2617,9 @@ }, "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" }, @@ -1872,12 +2629,14 @@ }, "node_modules/emoji-regex": { "version": "8.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "optional": true }, "node_modules/encoding": { "version": "0.1.13", - "license": "MIT", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "optional": true, "dependencies": { "iconv-lite": "^0.6.2" @@ -1885,22 +2644,25 @@ }, "node_modules/end-of-stream": { "version": "1.4.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dependencies": { "once": "^1.4.0" } }, "node_modules/entities": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", "dev": true, - "license": "BSD-2-Clause", "funding": { "url": "https://github.com/fb55/entities?sponsor=1" } }, "node_modules/env-paths": { "version": "2.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "optional": true, "engines": { "node": ">=6" @@ -1908,18 +2670,21 @@ }, "node_modules/err-code": { "version": "2.0.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "optional": true }, "node_modules/es6-error": { "version": "4.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", + "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" }, "node_modules/esbuild": { "version": "0.19.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", + "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", "dev": true, "hasInstallScript": true, - "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, @@ -1954,8 +2719,9 @@ }, "node_modules/escape-string-regexp": { "version": "4.0.0", + "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" }, @@ -1964,15 +2730,16 @@ } }, "node_modules/eslint": { - "version": "8.56.0", + "version": "8.57.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", + "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", "dev": true, - "license": "MIT", "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.56.0", - "@humanwhocodes/config-array": "^0.11.13", + "@eslint/js": "8.57.0", + "@humanwhocodes/config-array": "^0.11.14", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", "@ungap/structured-clone": "^1.2.0", @@ -2019,8 +2786,9 @@ }, "node_modules/eslint-config-prettier": { "version": "9.1.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", + "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", "dev": true, - "license": "MIT", "bin": { "eslint-config-prettier": "bin/cli.js" }, @@ -2030,8 +2798,9 @@ }, "node_modules/eslint-plugin-prettier": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", + "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", "dev": true, - "license": "MIT", "dependencies": { "prettier-linter-helpers": "^1.0.0", "synckit": "^0.8.6" @@ -2059,8 +2828,9 @@ }, "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==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "esrecurse": "^4.3.0", "estraverse": "^5.2.0" @@ -2074,8 +2844,9 @@ }, "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" }, @@ -2085,8 +2856,9 @@ }, "node_modules/eslint/node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2094,8 +2866,9 @@ }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2105,8 +2878,9 @@ }, "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==", "dev": true, - "license": "BSD-2-Clause", "dependencies": { "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", @@ -2121,8 +2895,9 @@ }, "node_modules/esquery": { "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "license": "BSD-3-Clause", "dependencies": { "estraverse": "^5.1.0" }, @@ -2132,8 +2907,9 @@ }, "node_modules/esrecurse": { "version": "4.3.0", + "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" }, @@ -2143,46 +2919,52 @@ }, "node_modules/estraverse": { "version": "5.3.0", + "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" } }, "node_modules/estree-walker": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "^1.0.0" } }, "node_modules/esutils": { "version": "2.0.3", + "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" } }, "node_modules/event-target-shim": { "version": "5.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", "engines": { "node": ">=6" } }, "node_modules/events": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "engines": { "node": ">=0.8.x" } }, "node_modules/execa": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", + "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", "dev": true, - "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^8.0.1", @@ -2203,8 +2985,9 @@ }, "node_modules/execa/node_modules/signal-exit": { "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "license": "ISC", "engines": { "node": ">=14" }, @@ -2214,36 +2997,43 @@ }, "node_modules/expand-template": { "version": "2.0.3", - "license": "(MIT OR WTFPL)", + "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", + "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", "engines": { "node": ">=6" } }, "node_modules/fast-content-type-parse": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" }, "node_modules/fast-copy": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", + "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" }, "node_modules/fast-decode-uri-component": { "version": "1.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", + "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" }, "node_modules/fast-deep-equal": { "version": "3.1.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, "node_modules/fast-diff": { "version": "1.3.0", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", + "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", + "dev": true }, "node_modules/fast-glob": { "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, - "license": "MIT", "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", @@ -2257,8 +3047,9 @@ }, "node_modules/fast-glob/node_modules/glob-parent": { "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "license": "ISC", "dependencies": { "is-glob": "^4.0.1" }, @@ -2268,12 +3059,14 @@ }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, "node_modules/fast-json-stringify": { "version": "5.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.12.0.tgz", + "integrity": "sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==", "dependencies": { "@fastify/merge-json-schemas": "^0.1.0", "ajv": "^8.10.0", @@ -2286,7 +3079,8 @@ }, "node_modules/fast-json-stringify/node_modules/ajv": { "version": "8.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", "dependencies": { "fast-deep-equal": "^3.1.1", "json-schema-traverse": "^1.0.0", @@ -2300,16 +3094,19 @@ }, "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, "node_modules/fast-levenshtein": { "version": "2.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true }, "node_modules/fast-printf": { "version": "1.6.9", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz", + "integrity": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==", "dependencies": { "boolean": "^3.1.4" }, @@ -2319,28 +3116,34 @@ }, "node_modules/fast-querystring": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", + "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", "dependencies": { "fast-decode-uri-component": "^1.0.1" } }, "node_modules/fast-redact": { "version": "3.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", + "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", "engines": { "node": ">=6" } }, "node_modules/fast-safe-stringify": { "version": "2.1.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", + "integrity": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" }, "node_modules/fast-uri": { "version": "2.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz", + "integrity": "sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==" }, "node_modules/fastify": { "version": "4.26.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz", + "integrity": "sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==", "funding": [ { "type": "github", @@ -2351,7 +3154,6 @@ "url": "https://opencollective.com/fastify" } ], - "license": "MIT", "dependencies": { "@fastify/ajv-compiler": "^3.5.0", "@fastify/error": "^3.4.0", @@ -2373,19 +3175,22 @@ }, "node_modules/fastify-plugin": { "version": "4.5.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", + "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==" }, "node_modules/fastq": { "version": "1.17.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", + "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", "dependencies": { "reusify": "^1.0.4" } }, "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==", "dev": true, - "license": "MIT", "dependencies": { "flat-cache": "^3.0.4" }, @@ -2395,12 +3200,14 @@ }, "node_modules/file-uri-to-path": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", + "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" }, "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==", "dev": true, - "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -2410,7 +3217,8 @@ }, "node_modules/find-my-way": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz", + "integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-querystring": "^1.0.0", @@ -2422,8 +3230,9 @@ }, "node_modules/find-up": { "version": "5.0.0", + "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" @@ -2437,8 +3246,9 @@ }, "node_modules/flat-cache": { "version": "3.2.0", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", + "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", "dev": true, - "license": "MIT", "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.3", @@ -2450,24 +3260,28 @@ }, "node_modules/flatted": { "version": "3.3.1", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", + "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", + "dev": true }, "node_modules/forwarded": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "engines": { "node": ">= 0.6" } }, "node_modules/fs-constants": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" }, "node_modules/fs-extra": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.2", "jsonfile": "^4.0.0", @@ -2479,7 +3293,8 @@ }, "node_modules/fs-minipass": { "version": "2.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dependencies": { "minipass": "^3.0.0" }, @@ -2489,20 +3304,37 @@ }, "node_modules/fs.realpath": { "version": "1.0.0", - "devOptional": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "devOptional": true + }, + "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, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, "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==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/gauge": { "version": "4.0.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", "optional": true, "dependencies": { "aproba": "^1.0.3 || ^2.0.0", @@ -2520,14 +3352,17 @@ }, "node_modules/get-func-name": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", + "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/get-stack-trace": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-2.1.1.tgz", + "integrity": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==", "dependencies": { "bluebird": "^3.7.1", "source-map": "^0.8.0-beta.0" @@ -2538,7 +3373,8 @@ }, "node_modules/get-stack-trace/node_modules/source-map": { "version": "0.8.0-beta.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", "dependencies": { "whatwg-url": "^7.0.0" }, @@ -2548,18 +3384,21 @@ }, "node_modules/get-stack-trace/node_modules/tr46": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/get-stack-trace/node_modules/webidl-conversions": { "version": "4.0.2", - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" }, "node_modules/get-stack-trace/node_modules/whatwg-url": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", "dependencies": { "lodash.sortby": "^4.7.0", "tr46": "^1.0.1", @@ -2568,8 +3407,9 @@ }, "node_modules/get-stream": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", + "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" }, @@ -2579,8 +3419,9 @@ }, "node_modules/get-tsconfig": { "version": "4.7.2", + "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", + "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", "dev": true, - "license": "MIT", "dependencies": { "resolve-pkg-maps": "^1.0.0" }, @@ -2590,12 +3431,14 @@ }, "node_modules/github-from-package": { "version": "0.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", + "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" }, "node_modules/glob": { "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "devOptional": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -2613,8 +3456,9 @@ }, "node_modules/glob-parent": { "version": "6.0.2", + "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" }, @@ -2624,8 +3468,9 @@ }, "node_modules/glob/node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "devOptional": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -2633,8 +3478,9 @@ }, "node_modules/glob/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "devOptional": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -2644,8 +3490,9 @@ }, "node_modules/globals": { "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, - "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -2658,8 +3505,9 @@ }, "node_modules/globby": { "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, - "license": "MIT", "dependencies": { "array-union": "^2.1.0", "dir-glob": "^3.0.1", @@ -2677,18 +3525,21 @@ }, "node_modules/graceful-fs": { "version": "4.2.11", - "devOptional": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true }, "node_modules/graphemer": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true }, "node_modules/has-ansi": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -2698,29 +3549,33 @@ }, "node_modules/has-ansi/node_modules/ansi-regex": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "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-unicode": { "version": "2.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", "optional": true }, "node_modules/hasown": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", + "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", "dev": true, - "license": "MIT", "dependencies": { "function-bind": "^1.1.2" }, @@ -2730,21 +3585,25 @@ }, "node_modules/help-me": { "version": "5.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", + "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==" }, "node_modules/html-escaper": { "version": "2.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true }, "node_modules/http-cache-semantics": { "version": "4.1.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "optional": true }, "node_modules/http-errors": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dependencies": { "depd": "2.0.0", "inherits": "2.0.4", @@ -2758,7 +3617,8 @@ }, "node_modules/http-proxy-agent": { "version": "4.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", + "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", "optional": true, "dependencies": { "@tootallnate/once": "1", @@ -2771,8 +3631,9 @@ }, "node_modules/https-proxy-agent": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", "devOptional": true, - "license": "MIT", "dependencies": { "agent-base": "6", "debug": "4" @@ -2783,15 +3644,17 @@ }, "node_modules/human-signals": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", + "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", "dev": true, - "license": "Apache-2.0", "engines": { "node": ">=16.17.0" } }, "node_modules/humanize-ms": { "version": "1.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "optional": true, "dependencies": { "ms": "^2.0.0" @@ -2799,7 +3662,8 @@ }, "node_modules/hyperid": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-2.3.1.tgz", + "integrity": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==", "dependencies": { "uuid": "^8.3.2", "uuid-parse": "^1.1.0" @@ -2807,7 +3671,8 @@ }, "node_modules/iconv-lite": { "version": "0.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "optional": true, "dependencies": { "safer-buffer": ">= 2.1.2 < 3.0.0" @@ -2818,6 +3683,8 @@ }, "node_modules/ieee754": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", "funding": [ { "type": "github", @@ -2831,21 +3698,22 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "BSD-3-Clause" + ] }, "node_modules/ignore": { "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { "version": "3.3.0", + "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" @@ -2859,37 +3727,42 @@ }, "node_modules/import-lazy": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", + "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/imurmurhash": { "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=0.8.19" } }, "node_modules/indent-string": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/infer-owner": { "version": "1.0.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "optional": true }, "node_modules/inflight": { "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "devOptional": true, - "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -2897,22 +3770,26 @@ }, "node_modules/inherits": { "version": "2.0.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, "node_modules/ini": { "version": "1.3.8", - "license": "ISC" + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", + "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" }, "node_modules/int64-buffer": { "version": "0.99.1007", - "license": "MIT", + "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz", + "integrity": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==", "engines": { "node": ">= 4.5.0" } }, "node_modules/ip-address": { "version": "9.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", + "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", "optional": true, "dependencies": { "jsbn": "1.1.0", @@ -2924,20 +3801,23 @@ }, "node_modules/ip-address/node_modules/sprintf-js": { "version": "1.1.3", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", + "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", "optional": true }, "node_modules/ipaddr.js": { "version": "1.9.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "engines": { "node": ">= 0.10" } }, "node_modules/is-core-module": { "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", "dev": true, - "license": "MIT", "dependencies": { "hasown": "^2.0.0" }, @@ -2947,15 +3827,17 @@ }, "node_modules/is-extglob": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/is-fullwidth-code-point": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "optional": true, "engines": { "node": ">=8" @@ -2963,8 +3845,9 @@ }, "node_modules/is-glob": { "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "license": "MIT", "dependencies": { "is-extglob": "^2.1.1" }, @@ -2974,36 +3857,41 @@ }, "node_modules/is-lambda": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "optional": true }, "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-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, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/is-plain-object": { "version": "5.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", + "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", "engines": { "node": ">=0.10.0" } }, "node_modules/is-stream": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", + "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", "dev": true, - "license": "MIT", "engines": { "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, @@ -3013,25 +3901,29 @@ }, "node_modules/isexe": { "version": "2.0.0", - "devOptional": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "devOptional": true }, "node_modules/iso8601-duration": { "version": "1.3.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz", + "integrity": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" }, "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-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", @@ -3041,10 +3933,23 @@ "node": ">=10" } }, + "node_modules/istanbul-lib-report/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, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "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", @@ -3056,8 +3961,9 @@ }, "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" @@ -3068,25 +3974,29 @@ }, "node_modules/jju": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", + "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", + "dev": true }, "node_modules/joycon": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", + "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", "engines": { "node": ">=10" } }, "node_modules/js-tokens": { "version": "8.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", + "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", + "dev": true }, "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" }, @@ -3096,26 +4006,30 @@ }, "node_modules/js-yaml/node_modules/argparse": { "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/js2xmlparser": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", + "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", "dev": true, - "license": "Apache-2.0", "dependencies": { "xmlcreate": "^2.0.4" } }, "node_modules/jsbn": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", + "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", "optional": true }, "node_modules/jsdoc": { "version": "4.0.2", + "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", + "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", "dev": true, - "license": "Apache-2.0", "dependencies": { "@babel/parser": "^7.20.15", "@jsdoc/salty": "^0.2.1", @@ -3142,67 +4056,77 @@ }, "node_modules/jsdoc/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/json-buffer": { "version": "3.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, "node_modules/json-schema-ref-resolver": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", + "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", "dependencies": { "fast-deep-equal": "^3.1.3" } }, "node_modules/json-schema-traverse": { "version": "0.4.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "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 }, "node_modules/jsonc-parser": { "version": "3.2.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", + "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", + "dev": true }, "node_modules/jsonfile": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "license": "MIT", "optionalDependencies": { "graceful-fs": "^4.1.6" } }, "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/klaw": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", + "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", "dev": true, - "license": "MIT", "dependencies": { "graceful-fs": "^4.1.9" } }, "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" @@ -3213,7 +4137,8 @@ }, "node_modules/light-my-request": { "version": "5.11.1", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.1.tgz", + "integrity": "sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==", "dependencies": { "cookie": "^0.6.0", "process-warning": "^2.0.0", @@ -3222,20 +4147,23 @@ }, "node_modules/light-my-request/node_modules/process-warning": { "version": "2.3.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz", + "integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==" }, "node_modules/linkify-it": { "version": "3.0.3", + "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", + "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", "dev": true, - "license": "MIT", "dependencies": { "uc.micro": "^1.0.1" } }, "node_modules/local-pkg": { "version": "0.5.0", + "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", + "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", "dev": true, - "license": "MIT", "dependencies": { "mlly": "^1.4.2", "pkg-types": "^1.0.3" @@ -3249,8 +4177,9 @@ }, "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" }, @@ -3263,32 +4192,38 @@ }, "node_modules/lodash": { "version": "4.17.21", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true }, "node_modules/lodash.get": { "version": "4.4.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", + "dev": true }, "node_modules/lodash.isequal": { "version": "4.5.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", + "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", + "dev": true }, "node_modules/lodash.merge": { "version": "4.6.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true }, "node_modules/lodash.sortby": { "version": "4.7.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, "node_modules/loglevel": { "version": "1.9.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", + "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.6.0" }, @@ -3299,8 +4234,9 @@ }, "node_modules/loglevel-colored-level-prefix": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz", + "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==", "dev": true, - "license": "MIT", "dependencies": { "chalk": "^1.1.3", "loglevel": "^1.4.1" @@ -3308,24 +4244,27 @@ }, "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", "dev": true, - "license": "MIT", "dependencies": { "ansi-styles": "^2.2.1", "escape-string-regexp": "^1.0.2", @@ -3339,16 +4278,18 @@ }, "node_modules/loglevel-colored-level-prefix/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/loglevel-colored-level-prefix/node_modules/strip-ansi": { "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", "dev": true, - "license": "MIT", "dependencies": { "ansi-regex": "^2.0.0" }, @@ -3358,23 +4299,26 @@ }, "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.8.0" } }, "node_modules/loupe": { "version": "2.3.7", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", + "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", "dev": true, - "license": "MIT", "dependencies": { "get-func-name": "^2.0.1" } }, "node_modules/lru-cache": { "version": "6.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dependencies": { "yallist": "^4.0.0" }, @@ -3384,8 +4328,9 @@ }, "node_modules/magic-string": { "version": "0.30.7", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", + "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", "dev": true, - "license": "MIT", "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" }, @@ -3395,8 +4340,9 @@ }, "node_modules/magicast": { "version": "0.3.3", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", + "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", "dev": true, - "license": "MIT", "dependencies": { "@babel/parser": "^7.23.6", "@babel/types": "^7.23.6", @@ -3405,8 +4351,9 @@ }, "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" }, @@ -3419,11 +4366,13 @@ }, "node_modules/make-error": { "version": "1.3.6", - "license": "ISC" + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", + "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" }, "node_modules/make-fetch-happen": { "version": "9.1.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", + "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", "optional": true, "dependencies": { "agentkeepalive": "^4.1.3", @@ -3449,8 +4398,9 @@ }, "node_modules/markdown-it": { "version": "12.3.2", + "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", + "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", "dev": true, - "license": "MIT", "dependencies": { "argparse": "^2.0.1", "entities": "~2.1.0", @@ -3464,8 +4414,9 @@ }, "node_modules/markdown-it-anchor": { "version": "8.6.7", + "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", + "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", "dev": true, - "license": "Unlicense", "peerDependencies": { "@types/markdown-it": "*", "markdown-it": "*" @@ -3473,13 +4424,15 @@ }, "node_modules/markdown-it/node_modules/argparse": { "version": "2.0.1", - "dev": true, - "license": "Python-2.0" + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, "node_modules/marked": { "version": "4.3.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", + "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", "dev": true, - "license": "MIT", "bin": { "marked": "bin/marked.js" }, @@ -3489,33 +4442,38 @@ }, "node_modules/mdurl": { "version": "1.0.1", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", + "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", + "dev": true }, "node_modules/media-typer": { "version": "0.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", "engines": { "node": ">= 0.6" } }, "node_modules/merge-stream": { "version": "2.0.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true }, "node_modules/merge2": { "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 8" } }, "node_modules/micromatch": { "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "license": "MIT", "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -3526,14 +4484,16 @@ }, "node_modules/mime-db": { "version": "1.52.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "engines": { "node": ">= 0.6" } }, "node_modules/mime-types": { "version": "2.1.35", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dependencies": { "mime-db": "1.52.0" }, @@ -3543,8 +4503,9 @@ }, "node_modules/mimic-fn": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", + "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -3554,7 +4515,8 @@ }, "node_modules/mimic-response": { "version": "3.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", + "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", "engines": { "node": ">=10" }, @@ -3564,8 +4526,9 @@ }, "node_modules/minimatch": { "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -3578,14 +4541,16 @@ }, "node_modules/minimist": { "version": "1.2.8", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "funding": { "url": "https://github.com/sponsors/ljharb" } }, "node_modules/minipass": { "version": "3.3.6", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dependencies": { "yallist": "^4.0.0" }, @@ -3595,7 +4560,8 @@ }, "node_modules/minipass-collect": { "version": "1.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "optional": true, "dependencies": { "minipass": "^3.0.0" @@ -3606,7 +4572,8 @@ }, "node_modules/minipass-fetch": { "version": "1.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", + "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", "optional": true, "dependencies": { "minipass": "^3.1.0", @@ -3622,7 +4589,8 @@ }, "node_modules/minipass-flush": { "version": "1.0.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "optional": true, "dependencies": { "minipass": "^3.0.0" @@ -3633,7 +4601,8 @@ }, "node_modules/minipass-pipeline": { "version": "1.2.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "optional": true, "dependencies": { "minipass": "^3.0.0" @@ -3644,7 +4613,8 @@ }, "node_modules/minipass-sized": { "version": "1.0.3", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", "optional": true, "dependencies": { "minipass": "^3.0.0" @@ -3655,7 +4625,8 @@ }, "node_modules/minizlib": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" @@ -3666,7 +4637,8 @@ }, "node_modules/mkdirp": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "bin": { "mkdirp": "bin/cmd.js" }, @@ -3676,12 +4648,14 @@ }, "node_modules/mkdirp-classic": { "version": "0.5.3", - "license": "MIT" + "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", + "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" }, "node_modules/mlly": { - "version": "1.6.0", + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", + "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", "dev": true, - "license": "MIT", "dependencies": { "acorn": "^8.11.3", "pathe": "^1.1.2", @@ -3691,21 +4665,26 @@ }, "node_modules/moment": { "version": "2.30.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", + "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", "engines": { "node": "*" } }, "node_modules/ms": { "version": "2.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, "node_modules/multi-fork": { "version": "0.0.2", - "license": "BSD" + "resolved": "https://registry.npmjs.org/multi-fork/-/multi-fork-0.0.2.tgz", + "integrity": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" }, "node_modules/nanoid": { "version": "3.3.7", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", "dev": true, "funding": [ { @@ -3713,7 +4692,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "bin": { "nanoid": "bin/nanoid.cjs" }, @@ -3723,24 +4701,28 @@ }, "node_modules/napi-build-utils": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", + "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" }, "node_modules/natural-compare": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, "node_modules/negotiator": { "version": "0.6.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "optional": true, "engines": { "node": ">= 0.6" } }, "node_modules/node-abi": { - "version": "3.55.0", - "license": "MIT", + "version": "3.56.0", + "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", + "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", "dependencies": { "semver": "^7.3.5" }, @@ -3750,15 +4732,17 @@ }, "node_modules/node-addon-api": { "version": "7.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", + "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", "engines": { "node": "^16 || ^18 || >= 20" } }, "node_modules/node-fetch": { "version": "2.7.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", + "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", "dev": true, - "license": "MIT", "dependencies": { "whatwg-url": "^5.0.0" }, @@ -3776,7 +4760,8 @@ }, "node_modules/node-gyp": { "version": "8.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", + "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", "optional": true, "dependencies": { "env-paths": "^2.2.0", @@ -3799,7 +4784,8 @@ }, "node_modules/nopt": { "version": "5.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", + "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", "optional": true, "dependencies": { "abbrev": "1" @@ -3813,8 +4799,9 @@ }, "node_modules/npm-run-path": { "version": "5.3.0", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", + "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", "dev": true, - "license": "MIT", "dependencies": { "path-key": "^4.0.0" }, @@ -3827,8 +4814,9 @@ }, "node_modules/npm-run-path/node_modules/path-key": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", + "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -3838,7 +4826,8 @@ }, "node_modules/npmlog": { "version": "6.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", "optional": true, "dependencies": { "are-we-there-yet": "^3.0.0", @@ -3852,26 +4841,30 @@ }, "node_modules/obuf": { "version": "1.1.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" }, "node_modules/on-exit-leak-free": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", + "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", "engines": { "node": ">=14.0.0" } }, "node_modules/once": { "version": "1.4.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dependencies": { "wrappy": "1" } }, "node_modules/onetime": { "version": "6.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", + "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", "dev": true, - "license": "MIT", "dependencies": { "mimic-fn": "^4.0.0" }, @@ -3884,8 +4877,9 @@ }, "node_modules/optionator": { "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, - "license": "MIT", "dependencies": { "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", @@ -3900,15 +4894,17 @@ }, "node_modules/p-defer": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", + "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", "engines": { "node": ">=8" } }, "node_modules/p-limit": { "version": "3.1.0", + "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" }, @@ -3921,8 +4917,9 @@ }, "node_modules/p-locate": { "version": "5.0.0", + "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" }, @@ -3935,7 +4932,8 @@ }, "node_modules/p-map": { "version": "4.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", + "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "optional": true, "dependencies": { "aggregate-error": "^3.0.0" @@ -3949,12 +4947,14 @@ }, "node_modules/packet-reader": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", + "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" }, "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" }, @@ -3964,57 +4964,65 @@ }, "node_modules/path-exists": { "version": "4.0.0", + "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" } }, "node_modules/path-is-absolute": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "devOptional": true, - "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/path-key": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/path-parse": { "version": "1.0.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true }, "node_modules/path-type": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/pathe": { "version": "1.1.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", + "dev": true }, "node_modules/pathval": { "version": "1.1.1", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", + "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", "dev": true, - "license": "MIT", "engines": { "node": "*" } }, "node_modules/pg": { "version": "8.11.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", + "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", "dependencies": { "buffer-writer": "2.0.0", "packet-reader": "1.0.0", @@ -4041,23 +5049,27 @@ }, "node_modules/pg-cloudflare": { "version": "1.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", + "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", "optional": true }, "node_modules/pg-connection-string": { "version": "2.6.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", + "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" }, "node_modules/pg-copy-streams": { "version": "6.0.6", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-6.0.6.tgz", + "integrity": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==", "dependencies": { "obuf": "^1.1.2" } }, "node_modules/pg-copy-streams-binary": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-copy-streams-binary/-/pg-copy-streams-binary-2.2.0.tgz", + "integrity": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==", "dependencies": { "bl": "^4.0.3", "bufferput": "^0.1.3", @@ -4069,7 +5081,8 @@ }, "node_modules/pg-copy-streams-binary/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4081,7 +5094,8 @@ }, "node_modules/pg-copy-streams-binary/node_modules/through2": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", "dependencies": { "inherits": "^2.0.4", "readable-stream": "2 || 3" @@ -4089,39 +5103,45 @@ }, "node_modules/pg-cursor": { "version": "2.10.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.10.3.tgz", + "integrity": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==", "peerDependencies": { "pg": "^8" } }, "node_modules/pg-int8": { "version": "1.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", + "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", "engines": { "node": ">=4.0.0" } }, "node_modules/pg-numeric": { "version": "1.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz", + "integrity": "sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==", "engines": { "node": ">=4" } }, "node_modules/pg-pool": { "version": "3.6.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", + "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", "peerDependencies": { "pg": ">=8.0" } }, "node_modules/pg-protocol": { "version": "1.6.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", + "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" }, "node_modules/pg-query-stream": { "version": "4.5.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.5.3.tgz", + "integrity": "sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==", "dependencies": { "pg-cursor": "^2.10.3" }, @@ -4131,7 +5151,8 @@ }, "node_modules/pg-types": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", + "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", "dependencies": { "pg-int8": "1.0.1", "postgres-array": "~2.0.0", @@ -4145,14 +5166,16 @@ }, "node_modules/pg-types/node_modules/postgres-array": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", + "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", "engines": { "node": ">=4" } }, "node_modules/pg-types/node_modules/postgres-interval": { "version": "1.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", + "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", "dependencies": { "xtend": "^4.0.0" }, @@ -4162,20 +5185,23 @@ }, "node_modules/pgpass": { "version": "1.0.5", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", + "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", "dependencies": { "split2": "^4.1.0" } }, "node_modules/picocolors": { "version": "1.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true }, "node_modules/picomatch": { "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "license": "MIT", "engines": { "node": ">=8.6" }, @@ -4185,7 +5211,8 @@ }, "node_modules/pino": { "version": "8.19.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz", + "integrity": "sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -4205,7 +5232,8 @@ }, "node_modules/pino-abstract-transport": { "version": "1.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", + "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", "dependencies": { "readable-stream": "^4.0.0", "split2": "^4.0.0" @@ -4213,7 +5241,8 @@ }, "node_modules/pino-pretty": { "version": "10.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz", + "integrity": "sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==", "dependencies": { "colorette": "^2.0.7", "dateformat": "^4.6.3", @@ -4236,12 +5265,14 @@ }, "node_modules/pino-std-serializers": { "version": "6.2.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", + "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" }, "node_modules/pkg-types": { "version": "1.0.3", + "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", + "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", "dev": true, - "license": "MIT", "dependencies": { "jsonc-parser": "^3.2.0", "mlly": "^1.2.0", @@ -4250,14 +5281,17 @@ }, "node_modules/pony-cause": { "version": "2.1.10", + "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz", + "integrity": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==", "dev": true, - "license": "0BSD", "engines": { "node": ">=12.0.0" } }, "node_modules/postcss": { "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "dev": true, "funding": [ { @@ -4273,7 +5307,6 @@ "url": "https://github.com/sponsors/ai" } ], - "license": "MIT", "dependencies": { "nanoid": "^3.3.7", "picocolors": "^1.0.0", @@ -4285,39 +5318,45 @@ }, "node_modules/postgres-array": { "version": "3.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", + "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", "engines": { "node": ">=12" } }, "node_modules/postgres-bytea": { "version": "1.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", + "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", "engines": { "node": ">=0.10.0" } }, "node_modules/postgres-date": { "version": "1.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", + "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", "engines": { "node": ">=0.10.0" } }, "node_modules/postgres-interval": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz", + "integrity": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==", "engines": { "node": ">=12" } }, "node_modules/postgres-range": { "version": "1.1.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.4.tgz", + "integrity": "sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==" }, "node_modules/prebuild-install": { "version": "7.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", + "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", "dependencies": { "detect-libc": "^2.0.0", "expand-template": "^2.0.3", @@ -4341,16 +5380,18 @@ }, "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/prettier": { "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -4363,8 +5404,9 @@ }, "node_modules/prettier-eslint": { "version": "16.2.0", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz", + "integrity": "sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==", "dev": true, - "license": "MIT", "dependencies": { "@typescript-eslint/parser": "^6.7.5", "common-tags": "^1.4.0", @@ -4385,8 +5427,9 @@ }, "node_modules/prettier-linter-helpers": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", "dev": true, - "license": "MIT", "dependencies": { "fast-diff": "^1.1.2" }, @@ -4396,8 +5439,9 @@ }, "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", @@ -4409,8 +5453,9 @@ }, "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" }, @@ -4420,31 +5465,36 @@ }, "node_modules/process": { "version": "0.11.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", "engines": { "node": ">= 0.6.0" } }, "node_modules/process-warning": { "version": "3.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", + "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" }, "node_modules/progress": { "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.4.0" } }, "node_modules/promise-inflight": { "version": "1.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", "optional": true }, "node_modules/promise-retry": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "optional": true, "dependencies": { "err-code": "^2.0.2", @@ -4456,7 +5506,8 @@ }, "node_modules/proxy-addr": { "version": "2.0.7", - "license": "MIT", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dependencies": { "forwarded": "0.2.0", "ipaddr.js": "1.9.1" @@ -4467,12 +5518,14 @@ }, "node_modules/proxy-from-env": { "version": "1.1.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true }, "node_modules/pump": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", "dependencies": { "end-of-stream": "^1.1.0", "once": "^1.3.1" @@ -4480,13 +5533,16 @@ }, "node_modules/punycode": { "version": "2.3.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "engines": { "node": ">=6" } }, "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": [ { @@ -4501,16 +5557,17 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/quick-format-unescaped": { "version": "4.0.4", - "license": "MIT" + "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", + "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" }, "node_modules/rc": { "version": "1.2.8", - "license": "(BSD-2-Clause OR MIT OR Apache-2.0)", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", "dependencies": { "deep-extend": "^0.6.0", "ini": "~1.3.0", @@ -4523,19 +5580,22 @@ }, "node_modules/rc/node_modules/strip-json-comments": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", "engines": { "node": ">=0.10.0" } }, "node_modules/react-is": { "version": "18.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", + "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", + "dev": true }, "node_modules/readable-stream": { "version": "4.5.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", + "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", "dependencies": { "abort-controller": "^3.0.0", "buffer": "^6.0.3", @@ -4549,35 +5609,40 @@ }, "node_modules/real-require": { "version": "0.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", + "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", "engines": { "node": ">= 12.13.0" } }, "node_modules/require-from-string": { "version": "2.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "engines": { "node": ">=0.10.0" } }, "node_modules/require-relative": { "version": "0.8.7", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==", + "dev": true }, "node_modules/requizzle": { "version": "0.2.4", + "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", + "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", "dev": true, - "license": "MIT", "dependencies": { "lodash": "^4.17.21" } }, "node_modules/resolve": { "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.13.0", "path-parse": "^1.0.7", @@ -4592,30 +5657,34 @@ }, "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-pkg-maps": { "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", + "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", "dev": true, - "license": "MIT", "funding": { "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" } }, "node_modules/ret": { "version": "0.2.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", + "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", "engines": { "node": ">=4" } }, "node_modules/retry": { "version": "0.12.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", "optional": true, "engines": { "node": ">= 4" @@ -4623,7 +5692,8 @@ }, "node_modules/reusify": { "version": "1.0.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", "engines": { "iojs": ">=1.0.0", "node": ">=0.10.0" @@ -4631,12 +5701,14 @@ }, "node_modules/rfdc": { "version": "1.3.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", + "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" }, "node_modules/rimraf": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "devOptional": true, - "license": "ISC", "dependencies": { "glob": "^7.1.3" }, @@ -4649,7 +5721,8 @@ }, "node_modules/roarr": { "version": "7.21.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.21.0.tgz", + "integrity": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==", "dependencies": { "fast-printf": "^1.6.9", "safe-stable-stringify": "^2.4.3", @@ -4661,8 +5734,9 @@ }, "node_modules/rollup": { "version": "4.12.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", + "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", "dev": true, - "license": "MIT", "dependencies": { "@types/estree": "1.0.5" }, @@ -4692,6 +5766,8 @@ }, "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": [ { @@ -4707,13 +5783,14 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "queue-microtask": "^1.2.2" } }, "node_modules/safe-buffer": { "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "funding": [ { "type": "github", @@ -4727,35 +5804,39 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/safe-regex2": { "version": "2.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", + "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", "dependencies": { "ret": "~0.2.0" } }, "node_modules/safe-stable-stringify": { "version": "2.4.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", + "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", "engines": { "node": ">=10" } }, "node_modules/safer-buffer": { "version": "2.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "optional": true }, "node_modules/secure-json-parse": { "version": "2.7.0", - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", + "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" }, "node_modules/semver": { "version": "7.5.4", - "license": "ISC", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dependencies": { "lru-cache": "^6.0.0" }, @@ -4768,11 +5849,13 @@ }, "node_modules/semver-compare": { "version": "1.0.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", + "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" }, "node_modules/serialize-error": { "version": "8.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", + "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", "dependencies": { "type-fest": "^0.20.2" }, @@ -4785,21 +5868,25 @@ }, "node_modules/set-blocking": { "version": "2.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", "optional": true }, "node_modules/set-cookie-parser": { "version": "2.6.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", + "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" }, "node_modules/setprototypeof": { "version": "1.2.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" }, "node_modules/shebang-command": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -4809,15 +5896,17 @@ }, "node_modules/shebang-regex": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/short-unique-id": { "version": "5.0.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", + "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", "bin": { "short-unique-id": "bin/short-unique-id", "suid": "bin/short-unique-id" @@ -4825,16 +5914,20 @@ }, "node_modules/siginfo": { "version": "2.0.0", - "dev": true, - "license": "ISC" + "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", + "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", + "dev": true }, "node_modules/signal-exit": { "version": "3.0.7", - "license": "ISC", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "optional": true }, "node_modules/simple-concat": { "version": "1.0.1", + "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", + "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", "funding": [ { "type": "github", @@ -4848,11 +5941,12 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "license": "MIT" + ] }, "node_modules/simple-get": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", + "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", "funding": [ { "type": "github", @@ -4867,7 +5961,6 @@ "url": "https://feross.org/support" } ], - "license": "MIT", "dependencies": { "decompress-response": "^6.0.0", "once": "^1.3.1", @@ -4876,15 +5969,17 @@ }, "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/slonik": { "version": "29.2.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/slonik/-/slonik-29.2.0.tgz", + "integrity": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==", "dependencies": { "concat-stream": "^2.0.0", "es6-error": "^4.1.1", @@ -4911,7 +6006,8 @@ }, "node_modules/smart-buffer": { "version": "4.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "optional": true, "engines": { "node": ">= 6.0.0", @@ -4920,7 +6016,8 @@ }, "node_modules/socks": { "version": "2.8.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", + "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", "optional": true, "dependencies": { "ip-address": "^9.0.5", @@ -4933,7 +6030,8 @@ }, "node_modules/socks-proxy-agent": { "version": "6.2.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", + "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", "optional": true, "dependencies": { "agent-base": "^6.0.2", @@ -4946,54 +6044,49 @@ }, "node_modules/sonic-boom": { "version": "3.8.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", + "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==", "dependencies": { "atomic-sleep": "^1.0.0" } }, "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-js": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, - "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, - "node_modules/source-map-support": { - "version": "0.5.21", - "dev": true, - "license": "MIT", - "optional": true, - "peer": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, "node_modules/split2": { "version": "4.2.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", + "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", "engines": { "node": ">= 10.x" } }, "node_modules/sprintf-js": { "version": "1.0.3", - "dev": true, - "license": "BSD-3-Clause" + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true }, "node_modules/sqlite3": { "version": "5.1.7", + "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", + "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", "hasInstallScript": true, - "license": "BSD-3-Clause", "dependencies": { "bindings": "^1.5.0", "node-addon-api": "^7.0.0", @@ -5014,7 +6107,8 @@ }, "node_modules/ssri": { "version": "8.0.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", + "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", "optional": true, "dependencies": { "minipass": "^3.1.1" @@ -5025,12 +6119,14 @@ }, "node_modules/stackback": { "version": "0.0.2", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", + "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", + "dev": true }, "node_modules/stacktrace-parser": { "version": "0.1.10", - "license": "MIT", + "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", + "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", "dependencies": { "type-fest": "^0.7.1" }, @@ -5040,41 +6136,47 @@ }, "node_modules/stacktrace-parser/node_modules/type-fest": { "version": "0.7.1", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", + "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", "engines": { "node": ">=8" } }, "node_modules/statuses": { "version": "2.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "engines": { "node": ">= 0.8" } }, "node_modules/std-env": { "version": "3.7.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", + "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", + "dev": true }, "node_modules/string_decoder": { "version": "1.3.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", "dependencies": { "safe-buffer": "~5.2.0" } }, "node_modules/string-argv": { "version": "0.3.2", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", + "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", "dev": true, - "license": "MIT", "engines": { "node": ">=0.6.19" } }, "node_modules/string-width": { "version": "4.2.3", - "license": "MIT", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "optional": true, "dependencies": { "emoji-regex": "^8.0.0", @@ -5087,8 +6189,9 @@ }, "node_modules/strip-ansi": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "devOptional": true, - "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -5098,8 +6201,9 @@ }, "node_modules/strip-final-newline": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", + "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", "dev": true, - "license": "MIT", "engines": { "node": ">=12" }, @@ -5109,7 +6213,8 @@ }, "node_modules/strip-json-comments": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "engines": { "node": ">=8" }, @@ -5119,8 +6224,9 @@ }, "node_modules/strip-literal": { "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", + "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", "dev": true, - "license": "MIT", "dependencies": { "js-tokens": "^8.0.2" }, @@ -5129,20 +6235,25 @@ } }, "node_modules/supports-color": { - "version": "7.2.0", + "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": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", + "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" }, @@ -5152,8 +6263,9 @@ }, "node_modules/synckit": { "version": "0.8.8", + "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", + "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", "dev": true, - "license": "MIT", "dependencies": { "@pkgr/core": "^0.1.0", "tslib": "^2.6.2" @@ -5167,7 +6279,8 @@ }, "node_modules/tar": { "version": "6.2.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", + "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", "dependencies": { "chownr": "^2.0.0", "fs-minipass": "^2.0.0", @@ -5182,7 +6295,8 @@ }, "node_modules/tar-fs": { "version": "2.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", + "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", "dependencies": { "chownr": "^1.1.1", "mkdirp-classic": "^0.5.2", @@ -5192,11 +6306,13 @@ }, "node_modules/tar-fs/node_modules/chownr": { "version": "1.1.4", - "license": "ISC" + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" }, "node_modules/tar-stream": { "version": "2.2.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", "dependencies": { "bl": "^4.0.3", "end-of-stream": "^1.4.1", @@ -5210,7 +6326,8 @@ }, "node_modules/tar-stream/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5222,34 +6339,17 @@ }, "node_modules/tar/node_modules/minipass": { "version": "5.0.0", - "license": "ISC", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "engines": { "node": ">=8" } }, - "node_modules/terser": { - "version": "5.28.0", - "dev": true, - "license": "BSD-2-Clause", - "optional": true, - "peer": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "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", @@ -5261,8 +6361,9 @@ }, "node_modules/test-exclude/node_modules/brace-expansion": { "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "license": "MIT", "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -5270,8 +6371,9 @@ }, "node_modules/test-exclude/node_modules/minimatch": { "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -5281,26 +6383,30 @@ }, "node_modules/text-table": { "version": "0.2.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/thread-stream": { "version": "2.4.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", + "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", "dependencies": { "real-require": "^0.2.0" } }, "node_modules/through2": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", + "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", "dependencies": { "readable-stream": "3" } }, "node_modules/through2/node_modules/readable-stream": { "version": "3.6.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -5312,37 +6418,42 @@ }, "node_modules/tinybench": { "version": "2.6.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", + "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", + "dev": true }, "node_modules/tinypool": { "version": "0.8.2", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", + "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", + "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", "dev": true, - "license": "MIT", "engines": { "node": ">=14.0.0" } }, "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" }, @@ -5352,27 +6463,31 @@ }, "node_modules/toad-cache": { "version": "3.7.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", + "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", "engines": { "node": ">=12" } }, "node_modules/toidentifier": { "version": "1.0.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "engines": { "node": ">=0.6" } }, "node_modules/tr46": { "version": "0.0.3", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", + "dev": true }, "node_modules/ts-api-utils": { "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", + "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", "dev": true, - "license": "MIT", "engines": { "node": ">=16" }, @@ -5382,7 +6497,8 @@ }, "node_modules/ts-node": { "version": "10.9.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", + "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", "dependencies": { "@cspotcode/source-map-support": "^0.8.0", "@tsconfig/node10": "^1.0.7", @@ -5423,12 +6539,14 @@ }, "node_modules/tslib": { "version": "2.6.2", - "license": "0BSD" + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", + "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" }, "node_modules/tsx": { "version": "4.7.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", + "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "~0.19.10", "get-tsconfig": "^4.7.2" @@ -5445,7 +6563,8 @@ }, "node_modules/tunnel-agent": { "version": "0.6.0", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", "dependencies": { "safe-buffer": "^5.0.1" }, @@ -5455,8 +6574,9 @@ }, "node_modules/type-check": { "version": "0.4.0", + "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" }, @@ -5466,15 +6586,17 @@ }, "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.20.2", - "license": "(MIT OR CC0-1.0)", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "engines": { "node": ">=10" }, @@ -5484,7 +6606,8 @@ }, "node_modules/type-is": { "version": "1.6.18", - "license": "MIT", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" @@ -5495,11 +6618,13 @@ }, "node_modules/typedarray": { "version": "0.0.6", - "license": "MIT" + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" }, "node_modules/typescript": { "version": "5.3.3", - "license": "Apache-2.0", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -5510,8 +6635,9 @@ }, "node_modules/typescript-eslint-language-service": { "version": "5.0.5", + "resolved": "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz", + "integrity": "sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==", "dev": true, - "license": "MIT", "peerDependencies": { "@typescript-eslint/parser": ">= 5.0.0", "eslint": ">= 8.0.0", @@ -5520,18 +6646,21 @@ }, "node_modules/uc.micro": { "version": "1.0.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", + "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", + "dev": true }, "node_modules/ufo": { "version": "1.4.0", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", + "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", + "dev": true }, "node_modules/umzug": { "version": "3.7.0", + "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.7.0.tgz", + "integrity": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==", "dev": true, - "license": "MIT", "dependencies": { "@rushstack/ts-command-line": "^4.12.2", "emittery": "^0.13.0", @@ -5545,8 +6674,9 @@ }, "node_modules/umzug/node_modules/glob": { "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -5563,8 +6693,9 @@ }, "node_modules/umzug/node_modules/minimatch": { "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "license": "ISC", "dependencies": { "brace-expansion": "^2.0.1" }, @@ -5574,8 +6705,9 @@ }, "node_modules/umzug/node_modules/type-fest": { "version": "4.10.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz", + "integrity": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==", "dev": true, - "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=16" }, @@ -5585,16 +6717,19 @@ }, "node_modules/underscore": { "version": "1.13.6", - "dev": true, - "license": "MIT" + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", + "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "dev": true }, "node_modules/undici-types": { "version": "5.26.5", - "license": "MIT" + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" }, "node_modules/unique-filename": { "version": "1.1.1", - "license": "ISC", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", "optional": true, "dependencies": { "unique-slug": "^2.0.0" @@ -5602,7 +6737,8 @@ }, "node_modules/unique-slug": { "version": "2.0.2", - "license": "ISC", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", "optional": true, "dependencies": { "imurmurhash": "^0.1.4" @@ -5610,42 +6746,49 @@ }, "node_modules/universalify": { "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", "dev": true, - "license": "MIT", "engines": { "node": ">= 4.0.0" } }, "node_modules/uri-js": { "version": "4.4.1", - "license": "BSD-2-Clause", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dependencies": { "punycode": "^2.1.0" } }, "node_modules/util-deprecate": { "version": "1.0.2", - "license": "MIT" + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/uuid": { "version": "8.3.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "bin": { "uuid": "dist/bin/uuid" } }, "node_modules/uuid-parse": { "version": "1.1.0", - "license": "MIT" + "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", + "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", - "license": "MIT" + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" }, "node_modules/v8-to-istanbul": { "version": "9.2.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", + "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", "dev": true, - "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -5657,23 +6800,26 @@ }, "node_modules/validator": { "version": "13.11.0", + "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", + "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", "dev": true, - "license": "MIT", "engines": { "node": ">= 0.10" } }, "node_modules/vary": { "version": "1.1.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", "engines": { "node": ">= 0.8" } }, "node_modules/vite": { "version": "5.1.4", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", + "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", "dev": true, - "license": "MIT", "dependencies": { "esbuild": "^0.19.3", "postcss": "^8.4.35", @@ -5726,8 +6872,9 @@ }, "node_modules/vite-node": { "version": "1.3.1", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", + "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", "dev": true, - "license": "MIT", "dependencies": { "cac": "^6.7.14", "debug": "^4.3.4", @@ -5812,8 +6959,9 @@ }, "node_modules/vue-eslint-parser": { "version": "9.4.2", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", + "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", "dev": true, - "license": "MIT", "dependencies": { "debug": "^4.3.4", "eslint-scope": "^7.1.1", @@ -5835,13 +6983,15 @@ }, "node_modules/webidl-conversions": { "version": "3.0.1", - "dev": true, - "license": "BSD-2-Clause" + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", + "dev": true }, "node_modules/whatwg-url": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dev": true, - "license": "MIT", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -5849,8 +6999,9 @@ }, "node_modules/which": { "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "devOptional": true, - "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -5863,8 +7014,9 @@ }, "node_modules/why-is-node-running": { "version": "2.2.2", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", + "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", "dev": true, - "license": "MIT", "dependencies": { "siginfo": "^2.0.0", "stackback": "0.0.2" @@ -5878,7 +7030,8 @@ }, "node_modules/wide-align": { "version": "1.1.5", - "license": "ISC", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", "optional": true, "dependencies": { "string-width": "^1.0.2 || 2 || 3 || 4" @@ -5886,35 +7039,41 @@ }, "node_modules/wrappy": { "version": "1.0.2", - "license": "ISC" + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" }, "node_modules/xmlcreate": { "version": "2.0.4", - "dev": true, - "license": "Apache-2.0" + "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", + "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", + "dev": true }, "node_modules/xtend": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", "engines": { "node": ">=0.4" } }, "node_modules/yallist": { "version": "4.0.0", - "license": "ISC" + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, "node_modules/yn": { "version": "3.1.1", - "license": "MIT", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", "engines": { "node": ">=6" } }, "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" }, @@ -5924,8 +7083,9 @@ }, "node_modules/z-schema": { "version": "5.0.5", + "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", + "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", "dev": true, - "license": "MIT", "dependencies": { "lodash.get": "^4.4.2", "lodash.isequal": "^4.5.0", @@ -5941,18 +7101,10 @@ "commander": "^9.4.1" } }, - "node_modules/z-schema/node_modules/commander": { - "version": "9.5.0", - "dev": true, - "license": "MIT", - "optional": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, "node_modules/zod": { "version": "3.22.4", - "license": "MIT", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", + "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", "funding": { "url": "https://github.com/sponsors/colinhacks" } @@ -6002,6 +7154,8 @@ }, "thebeast/node_modules/get-stack-trace": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-3.1.1.tgz", + "integrity": "sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==", "dependencies": { "stacktrace-parser": "^0.1.10" }, @@ -6011,7 +7165,8 @@ }, "thebeast/node_modules/pg-types": { "version": "4.0.2", - "license": "MIT", + "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", + "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", "dependencies": { "pg-int8": "1.0.1", "pg-numeric": "1.0.2", @@ -6027,14 +7182,16 @@ }, "thebeast/node_modules/pg-types/node_modules/postgres-interval": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", + "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", "engines": { "node": ">=12" } }, "thebeast/node_modules/postgres-bytea": { "version": "3.0.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", + "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", "dependencies": { "obuf": "~1.1.2" }, @@ -6044,15 +7201,17 @@ }, "thebeast/node_modules/postgres-date": { "version": "2.1.0", - "license": "MIT", + "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", + "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", "engines": { "node": ">=12" } }, "thebeast/node_modules/prettier": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", + "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", "dev": true, - "license": "MIT", "bin": { "prettier": "bin/prettier.cjs" }, @@ -6065,7 +7224,8 @@ }, "thebeast/node_modules/slonik": { "version": "37.2.0", - "license": "BSD-3-Clause", + "resolved": "https://registry.npmjs.org/slonik/-/slonik-37.2.0.tgz", + "integrity": "sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==", "dependencies": { "@types/pg": "^8.10.7", "es6-error": "^4.1.1", diff --git a/thebeast/lib/nps/messageProcessors/processUserLogin.ts b/thebeast/lib/nps/messageProcessors/processUserLogin.ts index 61731b5ee..a091c7ea5 100644 --- a/thebeast/lib/nps/messageProcessors/processUserLogin.ts +++ b/thebeast/lib/nps/messageProcessors/processUserLogin.ts @@ -58,7 +58,9 @@ export function unpackUserLoginMessage(message: ISerializable): { .toString("utf8"); // Load the private key - const privateKey = loadPrivateKey(getServerConfiguration({}).privateKeyFile); + const privateKey = loadPrivateKey( + getServerConfiguration({}).privateKeyFile, + ); // Decrypt the session key const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); diff --git a/thebeast/packages/database/src/cache.ts b/thebeast/packages/database/src/cache.ts index 147621d5f..fccbb93c6 100644 --- a/thebeast/packages/database/src/cache.ts +++ b/thebeast/packages/database/src/cache.ts @@ -1,88 +1,33 @@ import { TBrand } from "./models/Brand.js"; import { VehiclePartTreeType } from "./models/VehiclePartTree.js"; -import { createSqlTag, slonik, z } from "./services/database.js"; +import { slonik, sql } from "./services/database.js"; import * as Sentry from "@sentry/node"; const brandCache = new Map(); -const sql = createSqlTag({ - typeAliases: { - id: z.number(), - brandedPart: z.object({ - partid: z.number() || z.null(), - parentpartid: z.number() || z.null(), - brandedpartid: z.number() || z.null(), - attachmentpointid: z.number() || z.null(), - }), - part: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - partname: z.string() || z.null(), - ownerid: z.number(), - }), - abstractPartType: z.object({ - abstractparttypeid: z.number(), - }), - ptSkin: z.object({ - skinid: z.number(), - defaultflag: z.number(), - }), - nextPartId: z.object({ - nextval: z.bigint(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - detailedPart: z.object({ - brandedpartid: z.number(), - parttypeid: z.number(), - abstractparttypeid: z.number(), - parentabstractparttypeid: z.number(), - attachmentpointid: z.number(), - }), - brand: z.object({ - brandId: z.number(), - brand: z.string(), - isStock: z.boolean(), - }), - }, -}); - export async function getBrand(brandName: string): Promise { if (brandCache.has(brandName)) { return brandCache.get(brandName); } - return await Sentry.startSpan({ - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", + return await Sentry.startSpan( + { + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, }, - - - }, async (span) => { - const brand = await slonik.one(sql.typeAlias("brand")` + async (span) => { + const brand = await slonik.one(sql.typeAlias("brand")` SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} `); - brandCache.set(brandName, brand); - return brand; - }); + brandCache.set(brandName, brand); + return brand; + }, + ); } const vehiclePartTreeCache = new Map(); diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts index 219a132a5..07dc3000e 100644 --- a/thebeast/packages/database/src/models/VehiclePartTree.ts +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -1,8 +1,7 @@ import { log } from "../../../shared/log.js"; import * as Sentry from "@sentry/node"; import { setVehiclePartTree } from "../cache.js"; -import { DBPart } from "../services/admin.js"; -import { createSqlTag, slonik, z } from "../services/database.js"; +import { sql, slonik } from "../services/database.js"; import { TPart } from "./Part.js"; const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; @@ -51,100 +50,41 @@ export type VehiclePartTreeType = { }; }; -const sql = createSqlTag({ - typeAliases: { - id: z.number(), - brandedPart: z.object({ - partid: z.number() || z.null(), - parentpartid: z.number() || z.null(), - brandedpartid: z.number() || z.null(), - attachmentpointid: z.number() || z.null(), - }), - part: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - partname: z.string() || z.null(), - ownerid: z.number(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - abstractPartType: z.object({ - abstractparttypeid: z.number(), - }), - ptSkin: z.object({ - skinid: z.number(), - defaultflag: z.number(), - }), - nextPartId: z.object({ - nextval: z.bigint(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - detailedPart: z.object({ - brandedpartid: z.number(), - parttypeid: z.number(), - abstractparttypeid: z.number(), - parentabstractparttypeid: z.number(), - attachmentpointid: z.number(), - }), - vehicle: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - infosetting: z.number(), - damageinfo: z.instanceof(Buffer) || z.null(), - }), - }, -}); - async function getNextPartId(): Promise { - const result = await Sentry.startSpan({ - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", + const result = await Sentry.startSpan( + { + name: "Get next part id", + op: "db.query", + description: "SELECT nextval('part_partid_seq')", + attributes: { + sql: "SELECT nextval('part_partid_seq')", + db: "postgres", + }, }, - - - }, async (span) => { - const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` + async (span) => { + const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` SELECT nextval('part_partid_seq') `); - return Number(nextval); - }); + return Number(nextval); + }, + ); return result; } export async function savePart(part: TPart): Promise { - await Sentry.startSpan({ - name: "Save part", - op: "db.query", - description: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - attributes: { - sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - db: "postgres", + await Sentry.startSpan( + { + name: "Save part", + op: "db.query", + description: + "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + attributes: { + sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.query(sql.typeAlias("dbPart")` + async (span) => { + return slonik.query(sql.typeAlias("dbPart")` INSERT INTO part ( partid, parentpartid, @@ -169,7 +109,8 @@ export async function savePart(part: TPart): Promise { ${part.scrapValue} ) `); - }); + }, + ); } export async function saveVehicle( @@ -203,18 +144,19 @@ export async function saveVehicle( log.debug(`Saving vehicle: ${JSON.stringify(newVehicle)}`); - await Sentry.startSpan({ - name: "Save vehicle", - op: "db.query", - description: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - attributes: { - sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - db: "postgres", + await Sentry.startSpan( + { + name: "Save vehicle", + op: "db.query", + description: + "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + attributes: { + sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.query(sql.typeAlias("vehicle")` + async (span) => { + return slonik.query(sql.typeAlias("vehicle")` INSERT INTO vehicle ( vehicleid, skinid, @@ -231,7 +173,8 @@ export async function saveVehicle( ${newVehicle.damageInfo} ) `); - }); + }, + ); } catch (error) { log.error(`Error saving vehicle: ${error}`); throw error; @@ -276,21 +219,25 @@ export async function saveVehiclePartTree( export async function buildVehiclePartTreeFromDB( vehicleId: number, ): Promise { - const vehicle = await Sentry.startSpan({ - name: "Get vehicle", - op: "db.query", - description: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - attributes: { - sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - db: "postgres", + const vehicle = await Sentry.startSpan( + { + name: "Get vehicle", + op: "db.query", + description: + "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + attributes: { + sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", + db: "postgres", + }, }, - }, async (span) => { - return slonik.one(sql.typeAlias("vehicle")` + async (span) => { + return slonik.one(sql.typeAlias("vehicle")` SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = ${vehicleId} `); - }); + }, + ); if (!vehicle) { log.error(`Vehicle with id ${vehicleId} does not exist`); @@ -323,23 +270,25 @@ export async function buildVehiclePartTreeFromDB( }; // Get first part - const part = await Sentry.startSpan({ - name: "Get part", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - db: "postgres", + const part = await Sentry.startSpan( + { + name: "Get part", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.one(sql.typeAlias("part")` + async (span) => { + return slonik.one(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = ${vehicleId} `); - }); + }, + ); if (!part) { log.error(`Part with id ${vehicleId} does not exist`); @@ -349,23 +298,25 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.brandedPartId = part.brandedpartid; vehiclePartTree.ownerID = part.ownerid; - const level1Parts = await Sentry.startSpan({ - name: "Get level 1 parts", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - db: "postgres", + const level1Parts = await Sentry.startSpan( + { + name: "Get level 1 parts", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("part")` + async (span) => { + return slonik.many(sql.typeAlias("dbPart")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = ${vehicleId} `); - }); + }, + ); if (level1Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no parts`); @@ -402,23 +353,25 @@ export async function buildVehiclePartTreeFromDB( vehiclePartTree.partTree.level1.parts.push(newPart); } - const level2Parts = await Sentry.startSpan({ - name: "Get level 2 parts", - op: "db.query", - description: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - db: "postgres", + const level2Parts = await Sentry.startSpan( + { + name: "Get level 2 parts", + op: "db.query", + description: + "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + attributes: { + sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("part")` + async (span) => { + return slonik.many(sql.typeAlias("dbPart")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN (${sql.join(level1PartsIds, sql.fragment`, `)}) `); - }); + }, + ); if (level2Parts.length === 0) { log.error(`Vehicle with id ${vehicleId} has no level 2 parts`); @@ -473,23 +426,24 @@ export async function buildVehiclePartTree({ throw new Error("ownedLotId or ownerID is required"); } - const skinFlags = await Sentry.startSpan({ - name: "Get skin flags", - op: "db.query", - description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - attributes: { - sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - db: "postgres", + const skinFlags = await Sentry.startSpan( + { + name: "Get skin flags", + op: "db.query", + description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + attributes: { + sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.one(sql.typeAlias("ptSkin")` + async (span) => { + return slonik.one(sql.typeAlias("ptSkin")` SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} `); - }); + }, + ); if (!skinFlags) { log.error(`Skin with id ${skinId} does not exist`); @@ -499,18 +453,19 @@ export async function buildVehiclePartTree({ let vehicleId = undefined; // Get the vehicle assembly from the database - const vehicleAssembly = await Sentry.startSpan({ - name: "Get vehicle assembly", - op: "db.query", - description: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - attributes: { - sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - db: "postgres", + const vehicleAssembly = await Sentry.startSpan( + { + name: "Get vehicle assembly", + op: "db.query", + description: + "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + attributes: { + sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", + db: "postgres", + }, }, - - - }, async (span) => { - return slonik.many(sql.typeAlias("detailedPart")` + async (span) => { + return slonik.many(sql.typeAlias("detailedPart")` SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid @@ -518,7 +473,8 @@ export async function buildVehiclePartTree({ inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = ${brandedPartId} `); - }); + }, + ); if (vehicleAssembly.length === 0) { log.error( diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts index bf90feab8..5e3756fbe 100644 --- a/thebeast/packages/database/src/services/admin.ts +++ b/thebeast/packages/database/src/services/admin.ts @@ -1,5 +1,5 @@ import { DatabaseTransactionConnection } from "slonik"; -import { slonik, createSqlTag, z } from "./database.js"; +import { slonik, sql } from "./database.js"; import { log } from "../../../shared/log.js"; import * as Sentry from "@sentry/node"; @@ -41,50 +41,6 @@ async function skinExists(skinId: number): Promise { ); } -const sql = createSqlTag({ - typeAliases: { - id: z.number(), - brandedPart: z.object({ - partid: z.number() || z.null(), - parentpartid: z.number() || z.null(), - brandedpartid: z.number() || z.null(), - attachmentpointid: z.number() || z.null(), - }), - part: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - partname: z.string() || z.null(), - ownerid: z.number(), - }), - abstractPartType: z.object({ - abstractparttypeid: z.number(), - }), - ptSkin: z.object({ - skinid: z.number(), - defaultflag: z.number(), - }), - nextPartId: z.object({ - nextval: z.bigint(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - }, -}); - async function getAbstractPartTypeIDForBrandedPartID( brandedPartId: number, ): Promise { diff --git a/thebeast/packages/database/src/services/database.js b/thebeast/packages/database/src/services/database.js deleted file mode 100644 index 62755f3ec..000000000 --- a/thebeast/packages/database/src/services/database.js +++ /dev/null @@ -1,27 +0,0 @@ -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.z = exports.createSqlTag = exports.sql = exports.slonik = void 0; -var slonik_1 = require("slonik"); -exports.slonik = await (0, slonik_1.createPool)( - "postgres://user:password@localhost:5432/rm", -); -var slonik_2 = require("slonik"); -Object.defineProperty(exports, "sql", { - enumerable: true, - get: function () { - return slonik_2.sql; - }, -}); -Object.defineProperty(exports, "createSqlTag", { - enumerable: true, - get: function () { - return slonik_2.createSqlTag; - }, -}); -var zod_1 = require("zod"); -Object.defineProperty(exports, "z", { - enumerable: true, - get: function () { - return zod_1.z; - }, -}); diff --git a/thebeast/packages/database/src/services/database.ts b/thebeast/packages/database/src/services/database.ts index 395ecadc5..366750c19 100644 --- a/thebeast/packages/database/src/services/database.ts +++ b/thebeast/packages/database/src/services/database.ts @@ -3,5 +3,77 @@ import { createPool } from "slonik"; export const slonik = await createPool( "postgres://user:password@localhost:5432/rm", ); -export { sql, createSqlTag } from "slonik"; -export { z } from "zod"; +import { createSqlTag } from "slonik"; +import { z } from "zod"; + +export const sql = createSqlTag({ + typeAliases: { + vehicleWithOwner: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + damageinfo: z.instanceof(Buffer) || z.null(), + ownerid: z.number(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + id: z.number(), + brandedPart: z.object({ + partid: z.number() || z.null(), + parentpartid: z.number() || z.null(), + brandedpartid: z.number() || z.null(), + attachmentpointid: z.number() || z.null(), + }), + part: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + partname: z.string() || z.null(), + ownerid: z.number(), + }), + abstractPartType: z.object({ + abstractparttypeid: z.number(), + }), + ptSkin: z.object({ + skinid: z.number(), + defaultflag: z.number(), + }), + nextPartId: z.object({ + nextval: z.bigint(), + }), + detailedPart: z.object({ + brandedpartid: z.number(), + parttypeid: z.number(), + abstractparttypeid: z.number(), + parentabstractparttypeid: z.number(), + attachmentpointid: z.number(), + }), + vehicle: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + infosetting: z.number(), + damageinfo: z.instanceof(Buffer) || z.null(), + }), + brand: z.object({ + brandId: z.number(), + brand: z.string(), + isStock: z.boolean(), + }), + }, +}); diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts index c0f1f1710..7bdc25a38 100644 --- a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts @@ -11,6 +11,14 @@ describe("_getCompleteVehicleInfo", () => { const connectionId = "testConnectionId"; const packet = mockServerMessageType(); const log = mockLogger(); + vi.mock("slonik", async (importOriginal) => { + const mod = await importOriginal(); + return { + ...mod, + // replace some exports + createPool: vi.fn(), + }; + }); const expected = { vehicleId: 1, skinId: 1, diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index ef33759fd..212c88216 100644 --- a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -4,15 +4,9 @@ import { OldServerMessage } from "../../../shared/messageFactory.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../handlers.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; import { log } from "../../../shared/log.js"; -import { - createSqlTag, - z, -} from "../../../database/src/services/database.js"; import { getVehiclePartTree } from "../../../database/src/cache.js"; import { TPart } from "../../../database/src/models/Part.js"; -import { - buildVehiclePartTreeFromDB, -} from "../../../database/src/models/VehiclePartTree.js"; +import { buildVehiclePartTreeFromDB } from "../../../database/src/models/VehiclePartTree.js"; const DAMAGE_SIZE = 2000; @@ -148,38 +142,6 @@ class CarInfoStruct { } } -const sql = createSqlTag({ - typeAliases: { - vehicle: z.object({ - VehicleID: z.number(), - SkinID: z.number(), - Flags: z.number(), - Class: z.number(), - DamageInfo: z.string(), - }), - vehicleWithOwner: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - damageinfo: z.string(), - ownerid: z.number(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - }, -}); - export type DBPart = { partId: number; parentPartId: number | null; From 39b2ccb3c070d51f6f06e5cdffd9545bb07946f3 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Mon, 26 Feb 2024 12:21:10 -0500 Subject: [PATCH 118/452] Remove migration step in CI --- .github/workflows/node.yml | 13 ------------- 1 file changed, 13 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index be4fafc1a..4acba60e7 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -27,19 +27,6 @@ jobs: uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} - - - name: Run PostgreSQL migrations - # Runs a script that creates a PostgreSQL table, populates - # the table with data, and then retrieves the data. - run: | - npm install - npx tsx migrate.ts up - # Environment variables used by the `client.js` script to create a new PostgreSQL table. - env: - # The hostname used to communicate with the PostgreSQL service container - POSTGRES_HOST: postgres - # The default PostgreSQL port - POSTGRES_PORT: 5432 - name: Install and test run: | npm install-ci-test From 714c3cc0928681427deb47557f9dd02fea95723a Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Mon, 26 Feb 2024 12:31:20 -0500 Subject: [PATCH 119/452] Not using build --- .github/workflows/main.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 656b76986..b25a0466f 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,6 @@ jobs: - name: Install and Build run: | npm install - npm run build - name: Create Sentry release uses: getsentry/action-release@v1 @@ -28,4 +27,3 @@ jobs: # SENTRY_URL: https://sentry.io/ with: environment: production - sourcemaps: dist From 133f2271d86c5eb8841f2298d570944b6891b85a Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Tue, 27 Feb 2024 19:20:56 -0500 Subject: [PATCH 120/452] Deleted extra line --- thebeast/packages/database/src/models/VehiclePartTree.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/thebeast/packages/database/src/models/VehiclePartTree.ts index cc85363fd..07dc3000e 100644 --- a/thebeast/packages/database/src/models/VehiclePartTree.ts +++ b/thebeast/packages/database/src/models/VehiclePartTree.ts @@ -310,7 +310,6 @@ export async function buildVehiclePartTreeFromDB( }, }, async (span) => { - return slonik.many(sql.typeAlias("part")` return slonik.many(sql.typeAlias("dbPart")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part From c708451160fe391161210466b790203844951e57 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:35:17 -0500 Subject: [PATCH 121/452] Add no-new-privileges:true --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 2158e335e..e142a08e7 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,8 @@ services: - "5432:5432" volumes: - db-data:/var/lib/postgresql/data + security_opt: + - no-new-privileges:true adminer: image: adminer From 5020aa61dd7d848e7ab0e77f718a1233129912ef Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:35:56 -0500 Subject: [PATCH 122/452] Add no-new-privileges:true --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index e142a08e7..4c69f0771 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -29,6 +29,8 @@ services: restart: always ports: - 8080:8080 + security_opt: + - no-new-privileges:true volumes: db-data: From 26f693be7f96b38d590ab2b74c2c6fbc8183a2cf Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:38:23 -0500 Subject: [PATCH 123/452] Add read_only: true --- docker-compose.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docker-compose.yml b/docker-compose.yml index 4c69f0771..8dc6d2451 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,6 +12,7 @@ services: - "host.docker.internal:host-gateway" db: image: postgres:latest + read_only: true restart: always environment: POSTGRES_DB: rm @@ -26,6 +27,7 @@ services: adminer: image: adminer + read_only: true restart: always ports: - 8080:8080 From 4249e62993045982ac2ec882aabb6029ea3a97fe Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:46:19 -0500 Subject: [PATCH 124/452] Correctly handle await checks --- thebeast/packages/database/src/services/admin.ts | 6 +++--- thebeast/packages/gateway/src/web.ts | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts index 5e3756fbe..2502a7c8b 100644 --- a/thebeast/packages/database/src/services/admin.ts +++ b/thebeast/packages/database/src/services/admin.ts @@ -90,12 +90,12 @@ export async function createNewCar( skinId: number, newCarOwnerId: number, ): Promise { - if (!playerExists(newCarOwnerId)) { + if (await playerExists(newCarOwnerId) === false) { log.error("player does not exist"); throw new Error("player does not exist"); } - if (!skinExists(skinId)) { + if (await skinExists(skinId) === false) { log.error("skin does not exist"); throw new Error("skin does not exist"); } @@ -106,7 +106,7 @@ export async function createNewCar( console.log("abstractPartTypeId"); console.dir(abstractPartTypeId); - if (!isAbstractPartTypeAVehicle(abstractPartTypeId)) { + if (await isAbstractPartTypeAVehicle(abstractPartTypeId) === false) { log.error(`branded part with id ${brandedPartId} is not a vehicle`); throw new Error( `branded part with id ${brandedPartId} is not a vehicle`, diff --git a/thebeast/packages/gateway/src/web.ts b/thebeast/packages/gateway/src/web.ts index 1e3903ece..7e1c03b3e 100644 --- a/thebeast/packages/gateway/src/web.ts +++ b/thebeast/packages/gateway/src/web.ts @@ -97,7 +97,7 @@ export async function addWebRoutes( } // Check the password - if (!checkPassword(user, password)) { + if (await checkPassword(user, password) === false) { return reply.send("Valid=FALSE\nReason=Invalid password"); } From 5798e591341f3fd1e477c7daec7ea480abf5509a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:51:42 -0500 Subject: [PATCH 125/452] Formatting --- .../lib/nps/messageProcessors/processEncryptedGameCommand.ts | 2 +- thebeast/packages/gateway/src/index.ts | 2 +- thebeast/packages/gateway/src/web.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts index c0844f4b9..4c6dc1e77 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -79,7 +79,7 @@ export async function processEncryptedGameCommand( log.fatal( `No processor found for message ID: ${decryptedMessage.header.getId()}`, ); - return getGatewayServer({log}).stop(); + return getGatewayServer({ log }).stop(); } // Process the message diff --git a/thebeast/packages/gateway/src/index.ts b/thebeast/packages/gateway/src/index.ts index c5b2b9021..56f2cb1f4 100644 --- a/thebeast/packages/gateway/src/index.ts +++ b/thebeast/packages/gateway/src/index.ts @@ -303,7 +303,7 @@ export function handleGameMessage( processGameMessage(connectionId, message, log, socketCallback); } catch (error) { log.fatal(`Error processing message: ${error}`); - getGatewayServer({log}).stop(); + getGatewayServer({ log }).stop(); if (error! instanceof MessageProcessorError) { throw error; diff --git a/thebeast/packages/gateway/src/web.ts b/thebeast/packages/gateway/src/web.ts index 7e1c03b3e..467694dd3 100644 --- a/thebeast/packages/gateway/src/web.ts +++ b/thebeast/packages/gateway/src/web.ts @@ -97,7 +97,7 @@ export async function addWebRoutes( } // Check the password - if (await checkPassword(user, password) === false) { + if ((await checkPassword(user, password)) === false) { return reply.send("Valid=FALSE\nReason=Invalid password"); } From 9e278b88abbd96d4a5ce70d9ef5d8c6a50d24295 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 19:51:57 -0500 Subject: [PATCH 126/452] Formatting --- thebeast/packages/database/src/services/admin.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/thebeast/packages/database/src/services/admin.ts b/thebeast/packages/database/src/services/admin.ts index 2502a7c8b..988d511dd 100644 --- a/thebeast/packages/database/src/services/admin.ts +++ b/thebeast/packages/database/src/services/admin.ts @@ -90,12 +90,12 @@ export async function createNewCar( skinId: number, newCarOwnerId: number, ): Promise { - if (await playerExists(newCarOwnerId) === false) { + if ((await playerExists(newCarOwnerId)) === false) { log.error("player does not exist"); throw new Error("player does not exist"); } - if (await skinExists(skinId) === false) { + if ((await skinExists(skinId)) === false) { log.error("skin does not exist"); throw new Error("skin does not exist"); } @@ -106,7 +106,7 @@ export async function createNewCar( console.log("abstractPartTypeId"); console.dir(abstractPartTypeId); - if (await isAbstractPartTypeAVehicle(abstractPartTypeId) === false) { + if ((await isAbstractPartTypeAVehicle(abstractPartTypeId)) === false) { log.error(`branded part with id ${brandedPartId} is not a vehicle`); throw new Error( `branded part with id ${brandedPartId} is not a vehicle`, From ed5d1625048bb6ab422918bdaa829a0d732af40f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 20:05:25 -0500 Subject: [PATCH 127/452] Enable AI pr review --- .github/codecov.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 7e7a936af..1a2fe8a0e 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -1,6 +1,9 @@ codecov: require_ci_to_pass: false +ai_pr_review: + enabled: true + comment: show_carryforward_flags: true @@ -58,9 +61,3 @@ component_management: - thebeast/packages/core/** - thebeast/packages/gateway/** - thebeast/packages/shared/** - -coverage: - status: - project: - default: - removed_code_behavior: adjust_base From 0b7a2ba1f275f991ef2e47f8c3e5fcd55b3d4a1d Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 27 Feb 2024 20:09:17 -0500 Subject: [PATCH 128/452] Revert "Add read_only: true" This reverts commit 26f693be7f96b38d590ab2b74c2c6fbc8183a2cf. --- docker-compose.yml | 2 -- 1 file changed, 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 8dc6d2451..4c69f0771 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,7 +12,6 @@ services: - "host.docker.internal:host-gateway" db: image: postgres:latest - read_only: true restart: always environment: POSTGRES_DB: rm @@ -27,7 +26,6 @@ services: adminer: image: adminer - read_only: true restart: always ports: - 8080:8080 From ef00878477300919551896c3bfc557f6b96df0b1 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Thu, 29 Feb 2024 09:48:40 -0500 Subject: [PATCH 129/452] Fix CodeQL badge --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c6f8084e4..6f8269693 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues. -[![Node.js CI](https://github.com/rustymotors/server/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/rustymotors/server/actions/workflows/node.yml) [![CodeQL](https://github.comrustymotors/server/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/rustymotors/server/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/rustymotors/server/branch/main/graph/badge.svg)](https://codecov.io/gh/rustymotors/server) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/rustymotors/server.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/rustymotors/server/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) +[![Node.js CI](https://github.com/rustymotors/server/actions/workflows/node.yml/badge.svg?branch=main)](https://github.com/rustymotors/server/actions/workflows/node.yml) [![CodeQL](https://github.com/rustymotors/server/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/rustymotors/server/actions/workflows/codeql-analysis.yml?branch=main) [![codecov](https://codecov.io/gh/rustymotors/server/branch/main/graph/badge.svg)](https://codecov.io/gh/rustymotors/server) [![DeepScan grade](https://deepscan.io/api/teams/16083/projects/20483/branches/558507/badge/grade.svg)](https://deepscan.io/dashboard#view=project&tid=16083&pid=20483&bid=558507) [![DeepSource](https://deepsource.io/gh/rustymotors/server.svg/?label=active+issues&token=7m7JTV9V4v4VZTQ-6wxr1kzg)](https://deepsource.io/gh/rustymotors/server/?ref=repository-badge) [![code style: prettier](https://img.shields.io/badge/code_style-prettier-ff69b4.svg?style=flat-square)](https://github.com/prettier/prettier) ## Help Wanted From 0b03e34c6583cf9b20a69dfdf6f22e8c4a550425 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 29 Feb 2024 10:16:17 -0500 Subject: [PATCH 130/452] This is a bad test. Don't commit this one! --- .../test/_getPlayerRaceHistory.test.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts index 36a70b151..94d35b695 100644 --- a/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -21,4 +21,22 @@ describe("_getPlayerRaceHistory", () => { expect(result).toBeDefined(); }); + + it("should return a PlayerRacingHistoryMessage with a length of 3", async () => { + const incomingMessage = new OldServerMessage(); + incomingMessage.internalBuffer = Buffer.from([ + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, + 0x00, 0x01, + ]); + const result = await _getPlayerRaceHistory({ + connectionId: "0", + packet: incomingMessage, + log: getServerLogger({ + level: "silent", + }), + }); + + expect(result.messages.length).toBe(3); + }); }); From 2b0bacd441a4819f28dd0d39f0cb370be9035699 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 29 Feb 2024 19:16:46 -0500 Subject: [PATCH 131/452] Revert "This is a bad test. Don't commit this one!" This reverts commit 0b03e34c6583cf9b20a69dfdf6f22e8c4a550425. --- .../test/_getPlayerRaceHistory.test.ts | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts index 94d35b695..36a70b151 100644 --- a/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -21,22 +21,4 @@ describe("_getPlayerRaceHistory", () => { expect(result).toBeDefined(); }); - - it("should return a PlayerRacingHistoryMessage with a length of 3", async () => { - const incomingMessage = new OldServerMessage(); - incomingMessage.internalBuffer = Buffer.from([ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x01, - ]); - const result = await _getPlayerRaceHistory({ - connectionId: "0", - packet: incomingMessage, - log: getServerLogger({ - level: "silent", - }), - }); - - expect(result.messages.length).toBe(3); - }); }); From 502bb939009886e67c38d23cebd46c31b527fd21 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 29 Feb 2024 21:51:55 -0500 Subject: [PATCH 132/452] Using pnpm. Hopefully still works. --- .github/workflows/node.yml | 3 +- .gitignore | 4 +- .nx/cache/file-map.json | 1357 +++++ .nx/cache/lockfile.hash | 1 + .nx/cache/nx_files.nxt | Bin 0 -> 30332 bytes .nx/cache/parsed-lock-file.json | 4715 +++++++++++++++ .nx/cache/project-graph.json | 5069 +++++++++++++++++ .nx/cache/run.json | 21 + package.json | 5 +- packages/shared-packets/.gitignore | 3 + packages/shared-packets/index.ts | 1 + packages/shared-packets/nx | 5 + packages/shared-packets/nx.bat | 6 + packages/shared-packets/nx.json | 22 + packages/shared-packets/package.json | 14 + packages/shared-packets/src/BasePacket.ts | 53 + packages/shared-packets/src/GameMessage.ts | 171 + packages/shared-packets/src/ServerMessage.ts | 142 + packages/shared-packets/src/interfaces.ts | 14 + packages/shared-packets/tsconfig.json | 109 + pnpm-lock.yaml | 5058 ++++++++++++++++ pnpm-workspace.yaml | 4 + prettierrc | 6 + .../processEncryptedGameCommand.ts | 7 +- thebeast/package.json | 4 +- thebeast/packages/gateway/src/index.ts | 9 +- thebeast/test/factoryMocks.ts | 4 +- 27 files changed, 16787 insertions(+), 20 deletions(-) create mode 100644 .nx/cache/file-map.json create mode 100644 .nx/cache/lockfile.hash create mode 100644 .nx/cache/nx_files.nxt create mode 100644 .nx/cache/parsed-lock-file.json create mode 100644 .nx/cache/project-graph.json create mode 100644 .nx/cache/run.json create mode 100644 packages/shared-packets/.gitignore create mode 100644 packages/shared-packets/index.ts create mode 100755 packages/shared-packets/nx create mode 100644 packages/shared-packets/nx.bat create mode 100644 packages/shared-packets/nx.json create mode 100644 packages/shared-packets/package.json create mode 100644 packages/shared-packets/src/BasePacket.ts create mode 100644 packages/shared-packets/src/GameMessage.ts create mode 100644 packages/shared-packets/src/ServerMessage.ts create mode 100644 packages/shared-packets/src/interfaces.ts create mode 100644 packages/shared-packets/tsconfig.json create mode 100644 pnpm-lock.yaml create mode 100644 pnpm-workspace.yaml create mode 100644 prettierrc diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 4acba60e7..d3060d2cf 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -29,7 +29,8 @@ jobs: node-version: ${{ matrix.node-version }} - name: Install and test run: | - npm install-ci-test + corepack enable pnpm + pnpm test --filter thebeast - name: Codecov if: ${{ always() }} env: diff --git a/.gitignore b/.gitignore index cbc187117..d2615ea79 100644 --- a/.gitignore +++ b/.gitignore @@ -7,7 +7,7 @@ dist *junit.xml rm.session.sql node_modules -node_modules -migrate.js +dist +build *.tar packages/**/*.js diff --git a/.nx/cache/file-map.json b/.nx/cache/file-map.json new file mode 100644 index 000000000..70f2b8c7b --- /dev/null +++ b/.nx/cache/file-map.json @@ -0,0 +1,1357 @@ +{ + "version": "6.0", + "nxVersion": "18.0.6", + "deps": { + "slonik": "29", + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "nx": "^18.0.6", + "prettier": "3.2.4", + "typescript": "^5.3.3", + "vitest": "^1.3.1" + }, + "pathMappings": {}, + "nxJsonPlugins": [], + "fileMap": { + "projectFileMap": { + "@rusty-motors/thebeast": [ + { + "file": "thebeast/.dockerignore", + "hash": "5025141916944003883" + }, + { + "file": "thebeast/.gitignore", + "hash": "9266369700550161410" + }, + { + "file": "thebeast/Makefile", + "hash": "10938361408484256462" + }, + { + "file": "thebeast/README.md", + "hash": "9375829152669321394" + }, + { + "file": "thebeast/data/mcouniverse.cnf", + "hash": "123910987430207258" + }, + { + "file": "thebeast/data/mcouniverse.crt", + "hash": "1191634416628667447" + }, + { + "file": "thebeast/data/private_key.pem", + "hash": "9606433185746498366" + }, + { + "file": "thebeast/data/pub.key", + "hash": "17902127655719005979" + }, + { + "file": "thebeast/docs/client.md", + "hash": "15727718581905962847" + }, + { + "file": "thebeast/docs/flow.md", + "hash": "7787831704472350830" + }, + { + "file": "thebeast/docs/reference/export.psql", + "hash": "17578199974330833246" + }, + { + "file": "thebeast/docs/reference/pkware/Makefile", + "hash": "15053509190642345172" + }, + { + "file": "thebeast/docs/reference/pkware/PKWare.vcxproj", + "hash": "9435899160320819569" + }, + { + "file": "thebeast/docs/reference/pkware/PKWare.vcxproj.filters", + "hash": "13468170418349436350" + }, + { + "file": "thebeast/docs/reference/pkware/Pkware.dsp", + "hash": "1391784609212882792" + }, + { + "file": "thebeast/docs/reference/pkware/Readme.md", + "hash": "4425732291975278011" + }, + { + "file": "thebeast/docs/reference/pkware/explode.cpp", + "hash": "18395085193875004087" + }, + { + "file": "thebeast/docs/reference/pkware/implode.cpp", + "hash": "7393854153648314614" + }, + { + "file": "thebeast/docs/reference/pkware/pkware.h", + "hash": "13921447420677982317" + }, + { + "file": "thebeast/docs/server.md", + "hash": "9579366762840847861" + }, + { + "file": "thebeast/docs/technicial/README.md", + "hash": "6957920249184620849" + }, + { + "file": "thebeast/docs/technicial/external_notes.md", + "hash": "10610467416209624836" + }, + { + "file": "thebeast/docs/technicial/internal_notes.md", + "hash": "5300025178613305298" + }, + { + "file": "thebeast/images/2012-10-12_lobby.png", + "hash": "1802333483553751171" + }, + { + "file": "thebeast/jsconfig-old.json", + "hash": "5852609677706475110" + }, + { + "file": "thebeast/lib/index.d.ts", + "hash": "3244421341483603138" + }, + { + "file": "thebeast/lib/nps/index.ts", + "hash": "7090739820004070559" + }, + { + "file": "thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts", + "hash": "1310426978404068664" + }, + { + "file": "thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts", + "hash": "6532897472486871971" + }, + { + "file": "thebeast/lib/nps/messageProcessors/index.ts", + "hash": "3428272607749081350" + }, + { + "file": "thebeast/lib/nps/messageProcessors/lobbyCommands.ts", + "hash": "3067400189448550173" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCheckPlateText.ts", + "hash": "7116424182069654272" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCheckProfileName.ts", + "hash": "15692350762709805299" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCreateProfile.ts", + "hash": "17296605385109366503" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processDeleteProfile.ts", + "hash": "8037003224882727444" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts", + "hash": "9864198487345188731" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGameLogin.ts", + "hash": "6848078763900836763" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts", + "hash": "4317773952728428954" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts", + "hash": "234931470321227098" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts", + "hash": "10958544461981205728" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processLobbyLogin.ts", + "hash": "17296351929681794078" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processPing.ts", + "hash": "16270620732051920981" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processUserLogin.ts", + "hash": "15428579812719676698" + }, + { + "file": "thebeast/lib/nps/messageStructs/GameMessage.ts", + "hash": "8854967129983057049" + }, + { + "file": "thebeast/lib/nps/messageStructs/GameProfile.ts", + "hash": "4848812249109328340" + }, + { + "file": "thebeast/lib/nps/messageStructs/MiniRiffList.ts", + "hash": "7155327144186990565" + }, + { + "file": "thebeast/lib/nps/messageStructs/MiniUserList.ts", + "hash": "17462825181538069545" + }, + { + "file": "thebeast/lib/nps/messageStructs/NPSList.ts", + "hash": "10119158781387584114" + }, + { + "file": "thebeast/lib/nps/messageStructs/ProfileList.ts", + "hash": "2527086496158874335" + }, + { + "file": "thebeast/lib/nps/messageStructs/SessionKey.ts", + "hash": "12762795724411796498" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserAction.ts", + "hash": "579526865209158192" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserInfo.ts", + "hash": "15823399554624038370" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserStatus.ts", + "hash": "8429116003312465571" + }, + { + "file": "thebeast/lib/nps/services/account.ts", + "hash": "15589634688779153194" + }, + { + "file": "thebeast/lib/nps/services/profile.ts", + "hash": "8641993167559947549" + }, + { + "file": "thebeast/lib/nps/services/session.ts", + "hash": "2818149994021605356" + }, + { + "file": "thebeast/lib/nps/services/token.ts", + "hash": "7368387690796821995" + }, + { + "file": "thebeast/lib/nps/services/types.ts", + "hash": "9731723030948033474" + }, + { + "file": "thebeast/lib/nps/types.ts", + "hash": "14870268956472440757" + }, + { + "file": "thebeast/lib/nps/utils/pureCompare.ts", + "hash": "4258843400502292304" + }, + { + "file": "thebeast/lib/nps/utils/pureGet.ts", + "hash": "265682811551639654" + }, + { + "file": "thebeast/lib/nps/utils/purePut.ts", + "hash": "9440717771529078848" + }, + { + "file": "thebeast/misc/mco-installer.ps1", + "hash": "13519895526939924726" + }, + { + "file": "thebeast/misc/port-forward.ps1", + "hash": "2665506854599928164" + }, + { + "file": "thebeast/package.json", + "hash": "14226416099307832357", + "deps": [ + "npm:slonik", + "npm:tslib", + "npm:@types/node", + "npm:prettier", + "npm:typescript", + "npm:vitest" + ] + }, + { + "file": "thebeast/packages/cli/ConsoleThread.ts", + "hash": "1311000703834661758" + }, + { + "file": "thebeast/packages/core/src/serializationHelpers.test.ts", + "hash": "7375367383862286700" + }, + { + "file": "thebeast/packages/core/src/serializationHelpers.ts", + "hash": "17013848800848265656" + }, + { + "file": "thebeast/packages/database/src/DatabaseManager.ts", + "hash": "18219385929952374378" + }, + { + "file": "thebeast/packages/database/src/cache.ts", + "hash": "7882225308057049204" + }, + { + "file": "thebeast/packages/database/src/models/AttachmentPoint.ts", + "hash": "1243933141818742110" + }, + { + "file": "thebeast/packages/database/src/models/Brand.ts", + "hash": "16061208263295757044" + }, + { + "file": "thebeast/packages/database/src/models/BrandedPart.ts", + "hash": "5031921834567439497" + }, + { + "file": "thebeast/packages/database/src/models/Model.ts", + "hash": "9581311691702946170" + }, + { + "file": "thebeast/packages/database/src/models/Part.ts", + "hash": "3565147951075335222" + }, + { + "file": "thebeast/packages/database/src/models/VehiclePartTree.ts", + "hash": "3694860194416975564" + }, + { + "file": "thebeast/packages/database/src/services/admin.ts", + "hash": "12837464768298197841" + }, + { + "file": "thebeast/packages/database/src/services/database.ts", + "hash": "1491364016199264618" + }, + { + "file": "thebeast/packages/database/test/Database.test.ts", + "hash": "9913456368706932491" + }, + { + "file": "thebeast/packages/gateway/src/GatewayServer.ts", + "hash": "7460506973012740089" + }, + { + "file": "thebeast/packages/gateway/src/encryption.ts", + "hash": "17732081301264374343" + }, + { + "file": "thebeast/packages/gateway/src/index.ts", + "hash": "7316187040594714944" + }, + { + "file": "thebeast/packages/gateway/src/web.ts", + "hash": "10732081061832552206" + }, + { + "file": "thebeast/packages/gateway/test/encryption.test.ts", + "hash": "16713107242591571234" + }, + { + "file": "thebeast/packages/interfaces/index.d.ts", + "hash": "7048195495022320009" + }, + { + "file": "thebeast/packages/lobby/src/LoginInfoMessage.ts", + "hash": "1491492989245281008" + }, + { + "file": "thebeast/packages/lobby/src/MiniRiffMessage.js", + "hash": "11241013786033480948" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts", + "hash": "6432882401389896262" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts", + "hash": "13604791001102711879" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts", + "hash": "2585815956597800195" + }, + { + "file": "thebeast/packages/lobby/src/UserInfoMessage.ts", + "hash": "1972085798168679604" + }, + { + "file": "thebeast/packages/lobby/src/handlers/_setMyUserData.ts", + "hash": "6051840652316367579" + }, + { + "file": "thebeast/packages/lobby/src/handlers/encryptedCommand.ts", + "hash": "6814520795311795350" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts", + "hash": "13618102840919040981" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts", + "hash": "6445464099010382093" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleTrackingPing.ts", + "hash": "13045732364422345782" + }, + { + "file": "thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts", + "hash": "10345121769205254033" + }, + { + "file": "thebeast/packages/lobby/src/internal.ts", + "hash": "924094160136413689" + }, + { + "file": "thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts", + "hash": "7238017438243772608" + }, + { + "file": "thebeast/packages/login/src/NPSUserStatus.ts", + "hash": "16875952085468026799" + }, + { + "file": "thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts", + "hash": "11705039232477007955" + }, + { + "file": "thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts", + "hash": "8159177475144579801" + }, + { + "file": "thebeast/packages/login/src/index.ts", + "hash": "3352871230665761711" + }, + { + "file": "thebeast/packages/login/src/internal.ts", + "hash": "17051275314422802076" + }, + { + "file": "thebeast/packages/login/src/premadeLogin.ts", + "hash": "12751300569295352555" + }, + { + "file": "thebeast/packages/login/test/LoginServer.test.ts", + "hash": "10565123972491562420" + }, + { + "file": "thebeast/packages/patch/src/PatchServer.ts", + "hash": "5601406865432369959" + }, + { + "file": "thebeast/packages/patch/test/PatchServer.test.ts", + "hash": "9472484405971191658" + }, + { + "file": "thebeast/packages/persona/src/BuddyInfoMessage.ts", + "hash": "957965795279503517" + }, + { + "file": "thebeast/packages/persona/src/PersonaMapsMessage.ts", + "hash": "341757047635540261" + }, + { + "file": "thebeast/packages/persona/src/_gameLogout.ts", + "hash": "4413858239163244230" + }, + { + "file": "thebeast/packages/persona/src/_getFirstBuddy.ts", + "hash": "1089323837474634693" + }, + { + "file": "thebeast/packages/persona/src/_selectGamePersona.ts", + "hash": "12129028808475062084" + }, + { + "file": "thebeast/packages/persona/src/getPersonasByPersonaId.ts", + "hash": "2932645466827174550" + }, + { + "file": "thebeast/packages/persona/src/handlers/validatePersonaName.ts", + "hash": "9671635701221334083" + }, + { + "file": "thebeast/packages/persona/src/index.js", + "hash": "6701314932231100316" + }, + { + "file": "thebeast/packages/persona/src/internal.ts", + "hash": "829028668449652946" + }, + { + "file": "thebeast/packages/persona/test/getPersonasByPersonaId.test.ts", + "hash": "9820907297118538269" + }, + { + "file": "thebeast/packages/shard/README.md", + "hash": "1531493455043303254" + }, + { + "file": "thebeast/packages/shard/src/ShardServer.ts", + "hash": "15261759438768374095" + }, + { + "file": "thebeast/packages/shard/src/index.ts", + "hash": "13010640451471941546" + }, + { + "file": "thebeast/packages/shard/src/shard-entry.ts", + "hash": "9955457668046224603" + }, + { + "file": "thebeast/packages/shard/test/fixtures/testCert.txt", + "hash": "3488382365066730147" + }, + { + "file": "thebeast/packages/shard/test/fixtures/testKey.txt", + "hash": "5139740649930613032" + }, + { + "file": "thebeast/packages/shard/test/shard-entry.test.ts", + "hash": "15349928708796752740" + }, + { + "file": "thebeast/packages/shared/Configuration.ts", + "hash": "8829321556485713934" + }, + { + "file": "thebeast/packages/shared/MessageNode.ts", + "hash": "17276693369473084998" + }, + { + "file": "thebeast/packages/shared/NPSMessage.js", + "hash": "13501682524628691279" + }, + { + "file": "thebeast/packages/shared/RawMessageHeader.js", + "hash": "10963865330507911628" + }, + { + "file": "thebeast/packages/shared/ServerMessage.test.ts", + "hash": "16102656974041962895" + }, + { + "file": "thebeast/packages/shared/State.ts", + "hash": "16413030918793381960" + }, + { + "file": "thebeast/packages/shared/SubThread.ts", + "hash": "9558083630241453712" + }, + { + "file": "thebeast/packages/shared/TimeStamp.ts", + "hash": "9737425688522386934" + }, + { + "file": "thebeast/packages/shared/log.ts", + "hash": "12230422625076241246" + }, + { + "file": "thebeast/packages/shared/messageFactory.ts", + "hash": "12362226477158476067" + }, + { + "file": "thebeast/packages/shared/src/BaseSerialized.ts", + "hash": "3200216018340432971" + }, + { + "file": "thebeast/packages/shared/src/NetworkMessage.ts", + "hash": "7839562508523166106" + }, + { + "file": "thebeast/packages/shared/src/RawMessage.ts", + "hash": "16255637630635910786" + }, + { + "file": "thebeast/packages/shared/src/SerializedBuffer.ts", + "hash": "15948472476286257355" + }, + { + "file": "thebeast/packages/shared/src/ServerMessage.ts", + "hash": "6574435112867849842" + }, + { + "file": "thebeast/packages/shared/structs.ts", + "hash": "6770231010390025052" + }, + { + "file": "thebeast/packages/shared/test/BaseSerialized.test.ts", + "hash": "15299131819114596119" + }, + { + "file": "thebeast/packages/shared/test/RawMessage.test.ts", + "hash": "8286693699258480867" + }, + { + "file": "thebeast/packages/shared/test/SerializedBuffer.test.ts", + "hash": "3081602657626059918" + }, + { + "file": "thebeast/packages/shared/types.ts", + "hash": "535928383286824709" + }, + { + "file": "thebeast/packages/shared/utils.js", + "hash": "8783924261469526704" + }, + { + "file": "thebeast/packages/transactions/src/ArcadeCarMessage.ts", + "hash": "1773582845790193606" + }, + { + "file": "thebeast/packages/transactions/src/EntryFeePurseMessage.ts", + "hash": "12865710013307806250" + }, + { + "file": "thebeast/packages/transactions/src/GameUrlsMessage.ts", + "hash": "999393481421749419" + }, + { + "file": "thebeast/packages/transactions/src/GenericReplyMessage.ts", + "hash": "17393665821760014902" + }, + { + "file": "thebeast/packages/transactions/src/GenericRequestMessage.ts", + "hash": "1476539291742873525" + }, + { + "file": "thebeast/packages/transactions/src/LobbyMessage.ts", + "hash": "9275279296147412981" + }, + { + "file": "thebeast/packages/transactions/src/OwnedVehiclesMessage.ts", + "hash": "12611322433130965831" + }, + { + "file": "thebeast/packages/transactions/src/PartsAssemblyMessage.ts", + "hash": "9337882765741192461" + }, + { + "file": "thebeast/packages/transactions/src/PlayerInfoMessage.ts", + "hash": "17457203427256605541" + }, + { + "file": "thebeast/packages/transactions/src/PlayerPhysicalMessage.ts", + "hash": "17233708314723268553" + }, + { + "file": "thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts", + "hash": "3411298515975253648" + }, + { + "file": "thebeast/packages/transactions/src/StockCar.ts", + "hash": "9033181026794782742" + }, + { + "file": "thebeast/packages/transactions/src/StockCarInfoMessage.ts", + "hash": "12716928424449940315" + }, + { + "file": "thebeast/packages/transactions/src/TClientConnectMessage.ts", + "hash": "1029994440417875391" + }, + { + "file": "thebeast/packages/transactions/src/TLoginMessage.ts", + "hash": "1547853334393280436" + }, + { + "file": "thebeast/packages/transactions/src/TunablesMessage.ts", + "hash": "7572081379958230220" + }, + { + "file": "thebeast/packages/transactions/src/_getArcadeCarInfo.ts", + "hash": "9147233676983020197" + }, + { + "file": "thebeast/packages/transactions/src/_getGameUrls.ts", + "hash": "13806199189865848133" + }, + { + "file": "thebeast/packages/transactions/src/_getOwnedParts.ts", + "hash": "6120034434128383360" + }, + { + "file": "thebeast/packages/transactions/src/_getOwnedVehicles.ts", + "hash": "8014122057707114339" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerInfo.ts", + "hash": "2049330447129420507" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerPhysical.ts", + "hash": "4665813287151303980" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerRaceHistory.ts", + "hash": "15468679873388136350" + }, + { + "file": "thebeast/packages/transactions/src/_getStockCarInfo.ts", + "hash": "7330412046291037513" + }, + { + "file": "thebeast/packages/transactions/src/_getTunables.ts", + "hash": "14577701050798876356" + }, + { + "file": "thebeast/packages/transactions/src/_logout.ts", + "hash": "9326370515488996681" + }, + { + "file": "thebeast/packages/transactions/src/_setOptions.ts", + "hash": "17891130601292919415" + }, + { + "file": "thebeast/packages/transactions/src/_updatePlayerPhysical.ts", + "hash": "3621658960673827879" + }, + { + "file": "thebeast/packages/transactions/src/clientConnect.ts", + "hash": "4753781919323379200" + }, + { + "file": "thebeast/packages/transactions/src/getLobbies.ts", + "hash": "1635802012173364044" + }, + { + "file": "thebeast/packages/transactions/src/internal.ts", + "hash": "18056856701207797701" + }, + { + "file": "thebeast/packages/transactions/src/login.ts", + "hash": "13916657415816829357" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers.ts", + "hash": "17675335383936088077" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts", + "hash": "11719113978455546525" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts", + "hash": "1110763732248536929" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts", + "hash": "7008175338125684800" + }, + { + "file": "thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts", + "hash": "11588892827801367784" + }, + { + "file": "thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts", + "hash": "6042678730710153460" + }, + { + "file": "thebeast/packages/transactions/src/models/PartModel.ts", + "hash": "279048933881245059" + }, + { + "file": "thebeast/packages/transactions/src/models/VehicleModel.ts", + "hash": "10410711501338596885" + }, + { + "file": "thebeast/packages/transactions/src/models/index.ts", + "hash": "6744656081485672062" + }, + { + "file": "thebeast/packages/transactions/src/services/car.ts", + "hash": "5354739902865390909" + }, + { + "file": "thebeast/packages/transactions/src/trackingPing.ts", + "hash": "5801261250436147890" + }, + { + "file": "thebeast/packages/transactions/test/LobbyMessage.test.ts", + "hash": "17151793148726225817" + }, + { + "file": "thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts", + "hash": "9910063872974964539" + }, + { + "file": "thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts", + "hash": "5589125118605356726" + }, + { + "file": "thebeast/packages/transactions/test/PlayerInfoMessage.test.ts", + "hash": "13084190344885027414" + }, + { + "file": "thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts", + "hash": "17745193897863435478" + }, + { + "file": "thebeast/packages/transactions/test/TClientConnectMessage.test.ts", + "hash": "17512883184623947196" + }, + { + "file": "thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts", + "hash": "10264681368827451529" + }, + { + "file": "thebeast/packages/transactions/test/clientConnect.test.ts", + "hash": "11146258957640552144" + }, + { + "file": "thebeast/packages/transactions/test/getLobbies.test.ts", + "hash": "7414349835896295947" + }, + { + "file": "thebeast/packages/transactions/test/trackingPing.test.ts", + "hash": "4783477714246278233" + }, + { + "file": "thebeast/packages/transactions/types.ts", + "hash": "1206433166808545647" + }, + { + "file": "thebeast/prettierrc", + "hash": "10593956658062165815" + }, + { + "file": "thebeast/server.ts", + "hash": "3370460044543449901" + }, + { + "file": "thebeast/services/sslProxy/Dockerfile", + "hash": "10918860478215206535" + }, + { + "file": "thebeast/services/sslProxy/cert1.pem", + "hash": "6627038978586248096" + }, + { + "file": "thebeast/services/sslProxy/chain1.pem", + "hash": "12404381617006411899" + }, + { + "file": "thebeast/services/sslProxy/fullchain1.pem", + "hash": "2141058919244833389" + }, + { + "file": "thebeast/services/sslProxy/mcouniverse.pem", + "hash": "17468020595415841035" + }, + { + "file": "thebeast/services/sslProxy/nginx.conf", + "hash": "10189008900899018902" + }, + { + "file": "thebeast/services/sslProxy/private_key.pem", + "hash": "14828305855260596309" + }, + { + "file": "thebeast/services/sslProxy/privkey1.pem", + "hash": "896251991278574722" + }, + { + "file": "thebeast/test/factoryMocks.ts", + "hash": "14506167869364755911" + } + ], + "shared-packets": [ + { + "file": "packages/shared-packets/.gitignore", + "hash": "2110945332964774953" + }, + { + "file": "packages/shared-packets/index.ts", + "hash": "14112979670253156991" + }, + { + "file": "packages/shared-packets/nx", + "hash": "17165975525224888679" + }, + { + "file": "packages/shared-packets/nx.bat", + "hash": "16828809655253213278" + }, + { + "file": "packages/shared-packets/nx.json", + "hash": "1702674655394002529" + }, + { + "file": "packages/shared-packets/package.json", + "hash": "5616656973328790161" + }, + { + "file": "packages/shared-packets/src/BasePacket.ts", + "hash": "3372102292134029617" + }, + { + "file": "packages/shared-packets/src/GameMessage.ts", + "hash": "5403072432092632987" + }, + { + "file": "packages/shared-packets/src/ServerMessage.ts", + "hash": "10109509774501235701" + }, + { + "file": "packages/shared-packets/src/interfaces.ts", + "hash": "14223115322489433218" + }, + { + "file": "packages/shared-packets/tsconfig.json", + "hash": "12244550166806554632" + } + ] + }, + "nonProjectFiles": [ + { + "file": ".editorconfig", + "hash": "3513138753717310681" + }, + { + "file": ".eslintignore", + "hash": "12850352444786700516" + }, + { + "file": ".eslintrc.json", + "hash": "7384546438645336841" + }, + { + "file": ".gitattributes", + "hash": "831515780835031949" + }, + { + "file": ".github/CODEOWNERS", + "hash": "4055606894390288348" + }, + { + "file": ".github/ISSUE_TEMPLATE/bug_report.md", + "hash": "115617464785463818" + }, + { + "file": ".github/ISSUE_TEMPLATE/custom.md", + "hash": "5858363058901041211" + }, + { + "file": ".github/ISSUE_TEMPLATE/feature_request.md", + "hash": "8357138721755086969" + }, + { + "file": ".github/codecov.yml", + "hash": "11950616182529543795" + }, + { + "file": ".github/stale.yml", + "hash": "4152159448353798214" + }, + { + "file": ".github/workflows/codeql-analysis.yml", + "hash": "1830329638506090042" + }, + { + "file": ".github/workflows/main.yml", + "hash": "9445417414588131479" + }, + { + "file": ".github/workflows/node.yml", + "hash": "10434255733421760826" + }, + { + "file": ".github/workflows/semgrep.yml", + "hash": "5733547883025944860" + }, + { + "file": ".gitignore", + "hash": "6056045085944084065" + }, + { + "file": ".nvmrc", + "hash": "3150325407466604411" + }, + { + "file": ".renovaterc.json", + "hash": "1033688734383078772" + }, + { + "file": ".yarnrc.yml", + "hash": "9773565372686775399" + }, + { + "file": "AUTHORS", + "hash": "9088802071802449084" + }, + { + "file": "CHANGELOG.md", + "hash": "8150256992360586195" + }, + { + "file": "CODE_OF_CONDUCT.md", + "hash": "4459666008725275939" + }, + { + "file": "LICENSE", + "hash": "3436599895438545929" + }, + { + "file": "README.md", + "hash": "16855486448012672152" + }, + { + "file": "data/mcouniverse.cnf", + "hash": "123910987430207258" + }, + { + "file": "data/mcouniverse.crt", + "hash": "1191634416628667447" + }, + { + "file": "data/private_key.pem", + "hash": "9606433185746498366" + }, + { + "file": "data/pub.key", + "hash": "17902127655719005979" + }, + { + "file": "docker-compose.yml", + "hash": "15381317242857966620" + }, + { + "file": "ecosystem.config.js", + "hash": "16070110576719583910" + }, + { + "file": "migrate.ts", + "hash": "8808382917902489449" + }, + { + "file": "migrations/2024.02.11T13.01.48.attachmentPoint.sql", + "hash": "10542879087385480155" + }, + { + "file": "migrations/2024.02.11T13.19.25.brand.sql", + "hash": "7166282554027007473" + }, + { + "file": "migrations/2024.02.11T13.23.01.model.sql", + "hash": "16284802501309331487" + }, + { + "file": "migrations/2024.02.11T13.33.31.abstractPartType.sql", + "hash": "2058007122663114655" + }, + { + "file": "migrations/2024.02.11T13.38.39.partGrade.sql", + "hash": "5013091838467829893" + }, + { + "file": "migrations/2024.02.11T13.39.20.partType.sql", + "hash": "8379931834343123851" + }, + { + "file": "migrations/2024.02.11T13.40.36.brandedPart.sql", + "hash": "2022566303004781061" + }, + { + "file": "migrations/2024.02.11T13.41.55.part.sql", + "hash": "3845495707411982302" + }, + { + "file": "migrations/2024.02.11T13.45.10.driverClass.sql", + "hash": "13682220716441275837" + }, + { + "file": "migrations/2024.02.11T13.46.16.playerType.sql", + "hash": "12353712311522592461" + }, + { + "file": "migrations/2024.02.11T14.07.43.player.sql", + "hash": "875886506133949981" + }, + { + "file": "migrations/2024.02.11T14.22.15.skinType.sql", + "hash": "2682348850531002443" + }, + { + "file": "migrations/2024.02.11T14.23.13.ptSkin.sql", + "hash": "11237916534585402054" + }, + { + "file": "migrations/2024.02.11T14.24.06.vehicle.sql", + "hash": "10104535563766569225" + }, + { + "file": "migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql", + "hash": "12410409890279792396" + }, + { + "file": "migrations/2024.02.11T23.20.55.initialBrand.sql", + "hash": "11960951545379619417" + }, + { + "file": "migrations/2024.02.11T23.26.25.initialModel.sql", + "hash": "5783613339187009087" + }, + { + "file": "migrations/2024.02.11T23.27.19.initialAbstractPartType.sql", + "hash": "18053132905130228586" + }, + { + "file": "migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql", + "hash": "13015642188112396064" + }, + { + "file": "migrations/2024.02.11T23.28.36.initialAbstractPartType.sql", + "hash": "7268695905091225267" + }, + { + "file": "migrations/2024.02.11T23.29.19.initialBrandedPart.sql", + "hash": "9267672829227694399" + }, + { + "file": "migrations/2024.02.11T23.30.06.initialPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/2024.02.11T23.30.44.initialDriverClass.sql", + "hash": "10095515633216763662" + }, + { + "file": "migrations/2024.02.11T23.32.01.initialPlayerType.sql", + "hash": "15552921051283242617" + }, + { + "file": "migrations/2024.02.11T23.32.44.initialPlayer.sql", + "hash": "9392877988850498534" + }, + { + "file": "migrations/2024.02.13T03.00.46.createSVACarClass.sql", + "hash": "17768528275421623634" + }, + { + "file": "migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql", + "hash": "11575593377309025851" + }, + { + "file": "migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", + "hash": "16018889396571730258" + }, + { + "file": "migrations/2024.02.13T03.18.24.initialSVACarClass.sql", + "hash": "1119126884295576370" + }, + { + "file": "migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql", + "hash": "12497613429321718440" + }, + { + "file": "migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", + "hash": "11055287955635829612" + }, + { + "file": "migrations/2024.02.13T23.56.02.createStockAssembly.sql", + "hash": "15535898055453969128" + }, + { + "file": "migrations/2024.02.13T23.58.02.initialStockAssembly.sql", + "hash": "17939624101867247628" + }, + { + "file": "migrations/2024.02.15T00.21.44.initialSkinType.sql", + "hash": "5583146586029229843" + }, + { + "file": "migrations/2024.02.15T00.22.20.initialPTSkin.sql", + "hash": "4794038191543769023" + }, + { + "file": "migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql", + "hash": "1032763780903964996" + }, + { + "file": "migrations/down/2024.02.11T13.01.48.attachmentPoint.sql", + "hash": "873667697973178439" + }, + { + "file": "migrations/down/2024.02.11T13.19.25.brand.sql", + "hash": "10593386839204003560" + }, + { + "file": "migrations/down/2024.02.11T13.23.01.model.sql", + "hash": "5028242859244426798" + }, + { + "file": "migrations/down/2024.02.11T13.33.31.abstractPartType.sql", + "hash": "16959658196206863462" + }, + { + "file": "migrations/down/2024.02.11T13.38.39.partGrade.sql", + "hash": "577024430197782665" + }, + { + "file": "migrations/down/2024.02.11T13.39.20.partType.sql", + "hash": "13393313781605263691" + }, + { + "file": "migrations/down/2024.02.11T13.40.36.brandedPart.sql", + "hash": "15678787078187872458" + }, + { + "file": "migrations/down/2024.02.11T13.41.55.part.sql", + "hash": "10118447456617452799" + }, + { + "file": "migrations/down/2024.02.11T13.45.10.driverClass.sql", + "hash": "9782802780447855367" + }, + { + "file": "migrations/down/2024.02.11T13.46.16.playerType.sql", + "hash": "13483038754554998827" + }, + { + "file": "migrations/down/2024.02.11T14.07.43.player.sql", + "hash": "594397948219204133" + }, + { + "file": "migrations/down/2024.02.11T14.22.15.skinType.sql", + "hash": "11909935763772094128" + }, + { + "file": "migrations/down/2024.02.11T14.23.13.ptSkin.sql", + "hash": "2914371168788705190" + }, + { + "file": "migrations/down/2024.02.11T14.24.06.vehicle.sql", + "hash": "7270406692193771051" + }, + { + "file": "migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.20.55.initialBrand.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.26.25.initialModel.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.30.06.initialPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.30.44.initialDriverClass.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.32.01.initialPlayerType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.32.44.initialPlayer.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.00.46.createSVACarClass.sql", + "hash": "3141029809313864148" + }, + { + "file": "migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql", + "hash": "10189741708410336130" + }, + { + "file": "migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql", + "hash": "1345895125854916203" + }, + { + "file": "migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", + "hash": "11194051327329992476" + }, + { + "file": "migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T23.56.02.createStockAssembly.sql", + "hash": "12531526038098023791" + }, + { + "file": "migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.15T00.21.44.initialSkinType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.15T00.22.20.initialPTSkin.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql", + "hash": "13328527806503765938" + }, + { + "file": "package-lock.json", + "hash": "14705700139180693936" + }, + { + "file": "package.json", + "hash": "745516997042910599" + }, + { + "file": "pnpm-lock.yaml", + "hash": "9424596112271544027" + }, + { + "file": "pnpm-workspace.yaml", + "hash": "7577147420081313510" + }, + { + "file": "tsconfig.json", + "hash": "4450702441445365045" + }, + { + "file": "vite.config.ts", + "hash": "45197661840963346" + } + ] + } +} diff --git a/.nx/cache/lockfile.hash b/.nx/cache/lockfile.hash new file mode 100644 index 000000000..ee62141c5 --- /dev/null +++ b/.nx/cache/lockfile.hash @@ -0,0 +1 @@ +6274434708536815590 \ No newline at end of file diff --git a/.nx/cache/nx_files.nxt b/.nx/cache/nx_files.nxt new file mode 100644 index 0000000000000000000000000000000000000000..8257b42ff081677d046c640f8efdf01d4682467d GIT binary patch literal 30332 zcmbWA3!G$Cedh-wA^{8$#Q=#<5Jji@KB{h2;cI$kdS;M$w9`GH#$>FnzB5xycXd-$ zJu|Ja86g|gNP;AaNeugm@v%YNjY&{YQ88j7@(_bTMCB3CM9d1SF1j1-{r>Jf=iXCQ zw|Zu`hw5|Bzt27Qod5Yhe*gbDw>W0an!{`Otnl*`E=-x!kEQ<0eE3P~`r8Rqp26o7 zKF{VOntr%Ed>X%0rj(VHUozLCx!1P6$`|lQ+uki1%VFJjHosnK+Nl0=bG?>QZPf1= z*8v}X4(lV@Q~89VP*(U=<)i*peus*Nnm!9zkN`4N%kze-jzs2=$^V!WO=EF~NzxuJ)YO81Mg<$V% znd^%v)i=dqwb9?_sHkq~^Hkb=F6N`Z>!)L`yOc|O4)W3X)4!%;*R}dw=5MxdE)QSI zFWa};yp8(r@zM1al>8+9yq$~RPpWGUzl-t@`KZlRhW1C4@8$F7rmnx~N8?ccAAp`x z(%&C8^^chHzf#(9aG5;Qw!a?2$N1d9$I?`Og8CN>O>?@H>o1x5S4?@ADb=^+=d0A8 zN%>EdS{L=B@;>U8FZXl(Z9Zy$qG|I0b+xrW4^l^u4*v@!KiPO6p`teG>rr$4Jxa9| z{rg<=lUzT>g=nhlSwH0BaYOqtQ(bhkwSeUs#$gosNEq z8=uPOX?&i}=XgFR^3m8&qU7iBGbnY-uTVal4>lrsHkV0xDi_b;W4k?#>oZLKg_LLV zIoY&*G1r>s+2-%M)_pIfemvLb7<$Q+`r8=Sfm0W)V(Jm))4A^?K6OKT73H|OR@=d! zP5f<(^Y>rl-rl}=CT?_lV{@&UvG!tjY(DOG8++r)&O(!`g-&;DF}<8@wfB~KT|Ww{ zUKDuMFz_mVJ@D!^zqGg2Ywc|>bmGXXL|(b#)hhLJ*{hYks50N$+iCP#3+?XM?83qJ zSl|Wak{6VGe>wol6Z$wsHQxzm`9M|7ESV6oBM&&(NSqt}>ebmOsZr#ZIKRJJwR z{IMer)B?XAGQ*(Gpu%c7tk#A*nOm5dSx$P`)r~vnwf8J+OF63^>eT=iRbgFJi>h^4 zCKm2nni)H9YHHWS?&*nblUv89C&p%$_U`V)iwm7zX@1uCE0JFHyMj{4cE5kd`Lc+$H4e_)RR?5|oE`nNA z3F{vJvgPRRYjon-wW`Ox?pXVfU-hF(y;`XRl^|d$Vqx~k(Q>>u?rmL|85q4E`d&GR z5UsL@wAP}i?8sOqtI@O{mb|D`_Dju9+~~#I<3ovLZC{$7i91vA#gZ=OA5SmRvE*RgoFdOfTF(s`;dXr`LD+pgb4695Bk)_YX1U7oKnpx__ z-CF2ZXjJoRVZ{qs!@4us>~V19y;AooUfmB6`KUUwGps2> zYOJXY-~a!zPH&iN#qHjPg?2k`_VR`FJwU+w4NKJJySv``WE0Hfs#kiaYJb-0t=Qyp-YdBD6HB zmT^8_JwoTh$l<||^n|5yrR001*?xb5k_QZfWhu*qR>G*7jbXrSSZN-x7F84s75B?! zpEY4gqFgtVS#;t(aVKs!q-5Y>63b^pxFNJSDMZ zs<+VGzo9Yco>}3jt`Q*S$T}K48pTwmJ+Bl5B}}T-yJ>5)3INRTpyn3#w%Uoy-aa`c ztT5GU^p+A|jjgM|3}mJpA-K4?+|Ol`%7I4as}aD?@?tNZ-LNn}FXN7vuK8tp0!D@C z9=|JI(NHXA$-3&q7ca5W#tcY|rtsV;4)QRke&AQ(m4`2ePvM3g8z*+}*tC1Yj_n(F zZJ0)PK?n6HihvtcY!~wh^En7;jm|7nDQ%eO=-J z?4rLQ@50Jhh9`Op`{Onfu7*(!Jp(&}uY}m@?ixBa7=PhaOJ#gb;<;ooVLPCrg4GE_ zY&S41=W4Q9w{ruNQ&szCd9fGY=?B)`0tQ4SpF#^F4fI z2vBvWJm|5QH?d2;o^I@7almTE#A-o~3n!N}3k6|S*;JqC$pbi*3ql4(1`F**VuD)j z+4vCB94Soj%k?n8lKLJN@CXjq^GoGg2?W$=?wbcUOfIzA3Hku?p~YwgdI4ZS7M-Op z;6oTV0bvRzj~c`n(Zg6F=1XbR2^VT8LKxt>qcTAkt|D~NU%?oTh{;x4i=7kW8@Ekh z`Rd>to($`wNYBTV42Yl;)0Ac!J+N&+UGY8m~I?K3saG|q52Q>f@08t=>h0J2y zyrT)e67P$QusX8dKun+%>rf9X`SY!M^?>AwV=fbc0Lyt^85o6*IgPWy_5moN4PzlL zi1)RcbFl)8IXxL5jgtD<)lgZ5s8(}5RsYhZAw#64H%pgxQ=Bcy7&wTq(anB@T?svp zKn4Ys&%>M73zo2NLW%XB9=(Q%VRtu`Q9D2=0lyNDQ zizFo=30aHnP#0bNH8vh61zL}AJQ3&u9)-dgh$PlU zI6|BU>r5}0cUG@pJbjbYur$Z%rFLUx&a8a}drGRK0ykdrHgma}{s|NfESyg~5>5R*#tRAjGbIDG@SR%nG@b z01ypa0>%nF=1ZE$gPw?)suIN!uT~Wl1;9d{m(3?bRo(6!@cqy-$-veDIoi@Ou+gUG?CgJ2ix(i(ZX(KKvJP)Hl9ar ztxC4BObQ2-k#QsIvd`~lJhD{jbh(b$mjwYC99rOyGUOyW$Tw6>lX>9H(<%wfd? ztfQ9YavoFVsaE=pNR49b6G-M`MTSS(H+f035d5yrTt00S4M@)8h~P*rBABj&?)Nz% z`C7l!a1yK8kYPVw2ZYF=e7}qf%LZeu=X{#~EDQr7D*D~lSWN7zS67~<4Bx=s1Q%f0 zth)i3A;4C4bPnx*kLh`_Irn8QO#53*Tg!x>s3YisghF)i6EQdqDhz#IhmN@voSY3QD% zxw+=PMys9ZC{Zz{ij<1@e4^q;aYlRp1O66S5OE>@f`T@=;{7NrTZu%d!x1 zROZ-p8-z6v!Nd2H-y_-OGEkbSTpbq5)>*Z>tT)^c~2xOpLL~|S@T#zyHw&(<# zCvbz%CR^T&A8tHEZhnsRr>y2=8YW5Ta7NmxAf{!hwHa0$iR|q%@knkW6#;O>s>^AO z$PQpzd^Q>~fHyb`89Ksf(uZV30Q+<*QJZg}#Te2vo0wJy3Vdo>5JZwW(A)5XbEc3)-o16l`t@(vu=Tu&?bBppw{08WzHy44 zfZ+nsz)~bl;5~BT&0wIZeKb;|QRzS$ugVr9OxPXtO*`Ot6t>|UyED`SaB(DJB*RXu zOR&v2wC_q1vS41B`H)x2^rta9pK5G?zt?`a0(N==v#mBBp|(}BrUglzBTSAIj8|G@ zo6W*t<%?M@c7O>o$@^fI3JhB6#1ng#*q&4etxbffqz*CZSP_y(SOW*{Ws)`|F~va* zzA9oj8B?HPDYXQ)iJJ@EJ54NtgtM=TU)>xU<^57yN;!EF?)?9!s7G+^dZeP(9Euo62armRJb0 zAEX!yyohxNS}C=l2(p?Z-Au}Iv*I{@28^9YVie*kyOU$xfyZ0GZd{W&FrsZB+%(ZO z=v_I((9L&cf|91Xj+7M_3PG~LW8h~%s{Cihjcgu83!5g+u&>x4mI6%$n$=m0q6otA z`ohL&tnvKfB%qotSXc=>#>CdE#t0>mfi^yr1=h|)Soa3zpW#Vt7&^BV9Mw{K%*1rS|4^wO0?#PG z&KKo!hdUZ^9J0PM2P#KRy1B5Kxdc#dYZ zvD4f^P6H%CVuRE&sE&=f@(8evzGEHT931Brgh{zm##e#I5qH`(Xr&wzdoHUZWyS6R z=*Ug*bi^qn-8DSwp}BMV!k7#hKd==kSkg+IN&??z_h();L!}!D#o~@Rjes1GY6W*- ztl0Dm^Sn;6NZ9e)M3Xp3gs(&xwuW6*7=o9`9zVJlgW9*)6KLWJ!n!E1Ypk-4)#(9v zE}gqdATLP@cY}Cz|GSqKu?um3E`Z*`^gxC3HDo);Z5Hhz4l#Q=aphTXLL>mw0K;rv z!+nz2VJ@x%DJ*kTq{Y+jvVY>p< zlPmfW&AL=BkwVrklHEacBMwvIf!Kk~M`Sy)xrr)Z4T&SN(V-;FM8)+{jzh-4g&bF_ zCzv-oQ=1w$MvP^~P7qn-kIEJmfgNLCw!1JFXU78Mc6p=%U*?VDt&GZ&Cswt1e;J6# zCI{XXcZJFjUOEwX_V^*0k}`iJ)&#-946kis@)kH7Lvjs!Agn@QfKro7 zB5RO~$6&_rouCNfMOI2e-{po8;)M(_J?2zXfPfzXky66jQ1peU6qxSggflXpJ@pjFH1BrqW z`vO()QfP{fn{iXo)DwZh4i1F>WFxc-fHmVE0Ul>PvoQ|CEN!Ja`=nq)^q;*NLSCIX z;8zD1$j-*Aqm5jyDh|;#a}@1x9Nx%W$xtJUUJ12|sg@30r0q(>4!k4$4Xmp=9ZLjth;Y%giq&F5_&PRnv0mz8BZ1~tHc=#1{jY}sl)L|gDUhEXK?yEs1CNHYDv;bEiAwTe_CR zm_%6#?SPaP=b5yfoGsWekZj{*4kddzxB~nnqt^%5&qaYA46#))-m=3^Rt4;)?G^$c zETxmB8KDSDJ(w)N*h2CF$R~Lt>xnZd0{nJ^BN1~M>Y{y{)J7>aL5f0|buwM#MeZ#PkZO7h!G<;3 zpt4ez1cz0fMj;gphuO#FyHEOCb+qw1~;&L4p3T5cL~yc@AN3ab{183 znS%g27)tV+tOPh3k+dE{@B8eyaQnp0DdZKW#%2)tPMwVb{w16^^6Ndeuly8jTlq)j zJBamAF`b0PN>n)-*2jxMzY8o`1>O{-`H-DXn-D|imU!%A)ufB=-)97M!94L4K16$!?@Bn5KP7R5 zKSnu8KPX6M*+vfMC=6VIu4KzUU_vYunj-f?%$yu%M37}HKpo22vGu8Q-&qH%2w|GP zv4Bw;!FdECUu?e2H4z~3+sKKf0nSmr0-cQ_MPykliYHCH1xtexfa2I|)T z@6X<>cFH|_R2~jG+v$q_;Fr>sh+Y!m=FUF5bx2`1$89#Dn>*vhImdOAnT1c}5EFCB zOElQxk^HiVgkU8DY0BLUzU~g5#vze9~l3BZZFHO^I*R!S1zt7CO90JuBBJ4MBO8;S?z1j7^Rii{pcx zBvJ5TdJ9!&@qlQk8rX(tDffvPk6n9a(1;GC=fH>r6$fc?sw8ssqLt%Vvrb%?>86qp zWd@+kgYuYU7L_A(mc|Lwb#A0D8J%Rm&?a7d!MrC&z%xz_sN=9l-wd=${khraAU?uM zfQHDbfR}LTS!W3s1u(%Pyue1(ki5LdrXuE+pu;c4vn}G0^rcXcimZ)x)R8-IhJzC` zez;6^q@H~ueb)z>JkEijTzz}${f_P^zk7ou5fKGT%l-h_HUe(f1Ul>$OjzYxXNYa^ z+<+csowRSpE=$IsY+6J5IHC8JHpTJe5-&36B7^tUv1P$dDF%M@h>0h;)A@c&IA->$ zHz=!VUtPgG0%zGS#6W_!Ibz7}SFS>%hnj6yIl~nEA^*&#Dq(|6ZEl0Cgyn%pYU+7D zItW5Q8BqpYCNX$^TM1!e|0>;uCOqQ3C!i5q$;y9#4~Kc0N1*m=7wiDZf+lC4b+S$` zf-zCfU^&{;FENQ>!>S!=XJR!sm$A}!(@o=m@620xBKv9$`w0fX`FDHze*b`P`04H|fbj14$_{{cxfory?*U!EDt z7HSp#*f%{8SvHz=;ERM8U(tg90W+<_n}RO~&>jnC?%Ay&(?D)LERba5>bkw;J8^g_ zAq5+0%G7E<9vk2sf6gY5!-F(GMYh<@y(l-Otx~oZ*#>2Ki%v%uGNJEmD5K#{!UDZl zg-ap3&za3(ZCq^hn){O1DJFF_Wp|p03ix&s?WA$mjiVtP?;5^&q%4>)mHjxjc}O-B zClX)4QT7OjyK$YV4NdSgq+t;t#DP36$0Tw|%2?UQhBT9}qf|DCw{}H;fgkL=611^v zi*b<+BM2NGi)#mxFD&WX72p^lFqe-qCpvKB=hLwU)EITgMW_4g1E*w&LOF1+_bEAM zikOo17#>aE1m!U@JeYi6M>fGOj-C!l=Ac9fJtu*3)fqi7n+-_5>&n0f7?r#tAs(@_ zNvMG;dAalt^kxGCrH1n1uvvn`SNdH?BV-4%T*AOtpY7pmws=dNuRlv>1Rf#z%tjoq zX5#XAPnBc%Zj9dV0!F7t@a%fy70K5-K=cN>9p-PYi+t(MJX>*F?e-{89lOCHZFq{X zke@r7$lGhh(I@hhiZOP z@%WQf893i+)|M3oXcDwlIi^D@5r>hDV3p4L^T4Jr`AOmcG76YQgbl!%d_CrxHP52_ z$;Vb!?z{VeSR|j%-%&q>^8Zl&+VdYu=zLe_nuiSC`)?~NZ~x#wC-ifnf7j6WJM?wX z&!DdUuc3S_{ASkw1=Q95EtK}TCF++`=eteUJV+TYd?0CmCiUy7tDh79d)|+}SNAsP z>Sq&l+s~`1|J2aC(Cs+Y-lwj9-cI?{v(kB;PW`v3tDnzM+HuyX_YD0BO52a-`w{Bu z=QsX(W#z4Z`d~J%Z$a1i&xLNs^8)I}Q&<1{C~ZGw>Sr4I^-g{#-*{ z&;6N0e<}6P8@l)Ly#H4~e-wH$9*55NpRW0J>Kaemp=(}e8u~R3UC(`kq2J-q)&FIN z{sV`u^}3O|#`&v%laJ>d>i3%V>l}Ir{pW^$5p>HpeRuN9sH>kpblR(*U55UChyJV3 z-)iU|b?BPs+o`L(oASBkblug@HHQAwzs;Ykb^nZ^*P+|>6@PvRUE}#p=yn~?rhX=M z(XVpob?Td`>$$f$bbaUZC8qtqQrh{x9QyU9{jdLBPS<$uG3_seZsl_w^y8?j|CrM1 zi`ILCp>p)m%JUOuJ-p*-t*#= zpIZ07q%Jgwn9lpi(ypGEye)b-qDN;@yn zH=6d>IrIqntfBu6rR|^ZLtgV<>gwka%5!U}-BbH(4gJJV|$ zdfr;<;^#g}YxkZ@{aorA=ewNtFQGnd=(jj@$^Sv>>hC^>F1fniv_JO7e4GLFzc=&} zbSvkQhsU97Jk!vve!YzPY1Bn;IrP)0uQT*(DebyTzjjgA`0sS+W$N!V^dC8N>HAI8 z)&JN{D=Y2irgA$@{X3@pF6g#@wLgQp`k$n<@>6ObnC~>#JWcdNPJ7A8E2yjg4^i5A zi4RRfztw3keR(%^_46G{tH0vs#|`~ypUTIh{=aPKr#kd!Lw^Fg)}`jqWtWbjuKqVs z+VN|AFEsRvoc59{-_S3nwBwP!>@xK0o%ZXXzsblvEU-RjF{94~z z4gDDoUE_NUy2k%%hc5a5nQ6b@p{xIwP}e;Eg3`*B{Lux5{&}bUi=bagUC;S9r@i=j zy=niv&*bA&KlhmSlMY?uIf1(R={a=q?G=XpVTUfg-fifQI`oau-%VZPKjG$l{Nm47 z4ShXyD~B4-lct{;hc5XkQP+6>z@ZDjZ8P+bIdrvOHuO(Ze$n7M-TyvAe}HmJnCgY* z^vZaBe-))&uaNpSL%*K#(zDa&J|Fre zhW-$x<%9J7ebm+eNuSH<9`!p+`w05}`%`-^JM&Z1erBNk3#qH0D+lP?sB4^`qqO7H zIvz6g#|GMel)Cyk;q&=;#OHereI0b$kL>6FGX1n1y2kl3>gwkTN^76xe|J&Wcz&Pq zN`o_xr`|E`|Af-&we;tpX@4iB<(r=SyQclIx8&oITz$&W&w_5-%bz}O=-VB-#(6Sz zjq|WW7k}!8ew{-Xe%nu7q}F^*{a(`8c;xf5gxa zI&|sX%c-mVhbV3Tn%9h>-{#PTL$0E(@qEjnKZp7ahW;p}U6+%f|D&Nl{U38aOHS@K z^l^v&D(F8p^d59Oobj|mh(4}9m zf^NqtJbxl}^?x4a%~z!MO6|@z^!-kIji*9g#iwo1ZU54*lc}r!H&R}BdCE`SU!|_{ zZIqTj!bO`*`wu&G>BXF(-#$RU+R%SNX`icgzmdAeFZ%bP>$&65ZF}k0>C{Dk zEv413XHb8+q0doTJ1@RfsB2#DqijBOZ(^5($1XJV&r;g{HU8f<^zTyI`Dz`nqps&Z z<<1<3KcD*7O#8E;yZ!vTq3?oj`w{<7p|0_~h4P7)=D2R0y81srX>tDeuIVj1c1|UE zfcHbUax4BfsH>lQC~g0;8&??mad+i(>Cxv6eGGc#-1NDc*N+T+x6{51{S4~r|D6t9 z{`Y+9TCb}qzy6}MpA)Gcpsw-%Eu~!-@&6J-f0)vaU;ST8UHu>P)f{gKr`=)b=Rmjf zl6?NVp|>3R2I!|!S3mD@=+f(5)HR+DP+EQ}ukkk1{)d!SPIf}S($JrIcm7nl64q z;j5Y`6l+Hp$1eucWmdAUOuf6g`ZPdRk?yEb+8_b{a$ zzx44#hJMPuD=R&d4-wz)gs%SAL$}WjsjnFNo1ojcPja%By4v@g_R`x?%%PtOeTllp`9+5=yYYLb{W16F{f|Tc zYeTO)blH<1n10^i(4|LbQdj?1QChhbpC_nmoVPjcwZC?WY5yaKuJPPp=%;-vACK(A z1JKpaHt5zbC@wyhy4K}@(_a15sH^=SIdtXm-fZZfbLi6F|77S-P}=@wpRY6YQ@`Cm zo^KiYghMaW{ut_d?jB0pkMO)_=zrm~UkCkl)HVJ)D6L#+Jnu5?SDf~m?Ke}?e^N(TO-m$Xs HIM@Fd*feL% literal 0 HcmV?d00001 diff --git a/.nx/cache/parsed-lock-file.json b/.nx/cache/parsed-lock-file.json new file mode 100644 index 000000000..11b1230d1 --- /dev/null +++ b/.nx/cache/parsed-lock-file.json @@ -0,0 +1,4715 @@ +{ + "externalNodes": { + "npm:@esbuild/aix-ppc64": { + "type": "npm", + "name": "npm:@esbuild/aix-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/aix-ppc64", + "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" + } + }, + "npm:@esbuild/android-arm64": { + "type": "npm", + "name": "npm:@esbuild/android-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm64", + "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" + } + }, + "npm:@esbuild/android-arm": { + "type": "npm", + "name": "npm:@esbuild/android-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm", + "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" + } + }, + "npm:@esbuild/android-x64": { + "type": "npm", + "name": "npm:@esbuild/android-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-x64", + "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" + } + }, + "npm:@esbuild/darwin-arm64": { + "type": "npm", + "name": "npm:@esbuild/darwin-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-arm64", + "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" + } + }, + "npm:@esbuild/darwin-x64": { + "type": "npm", + "name": "npm:@esbuild/darwin-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-x64", + "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" + } + }, + "npm:@esbuild/freebsd-arm64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-arm64", + "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" + } + }, + "npm:@esbuild/freebsd-x64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-x64", + "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" + } + }, + "npm:@esbuild/linux-arm64": { + "type": "npm", + "name": "npm:@esbuild/linux-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm64", + "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" + } + }, + "npm:@esbuild/linux-arm": { + "type": "npm", + "name": "npm:@esbuild/linux-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm", + "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" + } + }, + "npm:@esbuild/linux-ia32": { + "type": "npm", + "name": "npm:@esbuild/linux-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ia32", + "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" + } + }, + "npm:@esbuild/linux-loong64": { + "type": "npm", + "name": "npm:@esbuild/linux-loong64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-loong64", + "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" + } + }, + "npm:@esbuild/linux-mips64el": { + "type": "npm", + "name": "npm:@esbuild/linux-mips64el", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-mips64el", + "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" + } + }, + "npm:@esbuild/linux-ppc64": { + "type": "npm", + "name": "npm:@esbuild/linux-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ppc64", + "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" + } + }, + "npm:@esbuild/linux-riscv64": { + "type": "npm", + "name": "npm:@esbuild/linux-riscv64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-riscv64", + "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" + } + }, + "npm:@esbuild/linux-s390x": { + "type": "npm", + "name": "npm:@esbuild/linux-s390x", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-s390x", + "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" + } + }, + "npm:@esbuild/linux-x64": { + "type": "npm", + "name": "npm:@esbuild/linux-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-x64", + "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" + } + }, + "npm:@esbuild/netbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/netbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/netbsd-x64", + "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" + } + }, + "npm:@esbuild/openbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/openbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/openbsd-x64", + "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" + } + }, + "npm:@esbuild/sunos-x64": { + "type": "npm", + "name": "npm:@esbuild/sunos-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/sunos-x64", + "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" + } + }, + "npm:@esbuild/win32-arm64": { + "type": "npm", + "name": "npm:@esbuild/win32-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-arm64", + "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" + } + }, + "npm:@esbuild/win32-ia32": { + "type": "npm", + "name": "npm:@esbuild/win32-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-ia32", + "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" + } + }, + "npm:@esbuild/win32-x64": { + "type": "npm", + "name": "npm:@esbuild/win32-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-x64", + "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" + } + }, + "npm:@jest/schemas": { + "type": "npm", + "name": "npm:@jest/schemas", + "data": { + "version": "29.6.3", + "packageName": "@jest/schemas", + "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" + } + }, + "npm:@jridgewell/sourcemap-codec": { + "type": "npm", + "name": "npm:@jridgewell/sourcemap-codec", + "data": { + "version": "1.4.15", + "packageName": "@jridgewell/sourcemap-codec", + "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + } + }, + "npm:@nrwl/tao": { + "type": "npm", + "name": "npm:@nrwl/tao", + "data": { + "version": "18.0.6", + "packageName": "@nrwl/tao", + "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" + } + }, + "npm:@nx/nx-darwin-arm64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-arm64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-arm64", + "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" + } + }, + "npm:@nx/nx-darwin-x64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-x64", + "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" + } + }, + "npm:@nx/nx-freebsd-x64": { + "type": "npm", + "name": "npm:@nx/nx-freebsd-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-freebsd-x64", + "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" + } + }, + "npm:@nx/nx-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm-gnueabihf", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm-gnueabihf", + "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" + } + }, + "npm:@nx/nx-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-gnu", + "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" + } + }, + "npm:@nx/nx-linux-arm64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-musl", + "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" + } + }, + "npm:@nx/nx-linux-x64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-gnu", + "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" + } + }, + "npm:@nx/nx-linux-x64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-musl", + "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" + } + }, + "npm:@nx/nx-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-arm64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-arm64-msvc", + "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" + } + }, + "npm:@nx/nx-win32-x64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-x64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-x64-msvc", + "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" + } + }, + "npm:@rollup/rollup-android-arm-eabi": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm-eabi", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm-eabi", + "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" + } + }, + "npm:@rollup/rollup-android-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm64", + "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" + } + }, + "npm:@rollup/rollup-darwin-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-arm64", + "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" + } + }, + "npm:@rollup/rollup-darwin-x64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-x64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-x64", + "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" + } + }, + "npm:@rollup/rollup-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm-gnueabihf", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm-gnueabihf", + "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" + } + }, + "npm:@rollup/rollup-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-gnu", + "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" + } + }, + "npm:@rollup/rollup-linux-arm64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-musl", + "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" + } + }, + "npm:@rollup/rollup-linux-riscv64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-riscv64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-riscv64-gnu", + "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" + } + }, + "npm:@rollup/rollup-linux-x64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-gnu", + "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" + } + }, + "npm:@rollup/rollup-linux-x64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-musl", + "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" + } + }, + "npm:@rollup/rollup-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-arm64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-arm64-msvc", + "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" + } + }, + "npm:@rollup/rollup-win32-ia32-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-ia32-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-ia32-msvc", + "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" + } + }, + "npm:@rollup/rollup-win32-x64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-x64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-x64-msvc", + "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" + } + }, + "npm:@rushstack/node-core-library": { + "type": "npm", + "name": "npm:@rushstack/node-core-library", + "data": { + "version": "4.0.2", + "packageName": "@rushstack/node-core-library", + "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" + } + }, + "npm:@rushstack/terminal": { + "type": "npm", + "name": "npm:@rushstack/terminal", + "data": { + "version": "0.10.0", + "packageName": "@rushstack/terminal", + "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" + } + }, + "npm:@rushstack/ts-command-line": { + "type": "npm", + "name": "npm:@rushstack/ts-command-line", + "data": { + "version": "4.18.0", + "packageName": "@rushstack/ts-command-line", + "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" + } + }, + "npm:@sinclair/typebox": { + "type": "npm", + "name": "npm:@sinclair/typebox", + "data": { + "version": "0.27.8", + "packageName": "@sinclair/typebox", + "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + } + }, + "npm:@slonik/migrator": { + "type": "npm", + "name": "npm:@slonik/migrator", + "data": { + "version": "0.12.0", + "packageName": "@slonik/migrator", + "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" + } + }, + "npm:@types/argparse": { + "type": "npm", + "name": "npm:@types/argparse", + "data": { + "version": "1.0.38", + "packageName": "@types/argparse", + "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" + } + }, + "npm:@types/estree": { + "type": "npm", + "name": "npm:@types/estree", + "data": { + "version": "1.0.5", + "packageName": "@types/estree", + "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + } + }, + "npm:@types/node": { + "type": "npm", + "name": "npm:@types/node", + "data": { + "version": "20.11.24", + "packageName": "@types/node", + "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" + } + }, + "npm:@vitest/expect": { + "type": "npm", + "name": "npm:@vitest/expect", + "data": { + "version": "1.3.1", + "packageName": "@vitest/expect", + "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" + } + }, + "npm:@vitest/runner": { + "type": "npm", + "name": "npm:@vitest/runner", + "data": { + "version": "1.3.1", + "packageName": "@vitest/runner", + "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" + } + }, + "npm:@vitest/snapshot": { + "type": "npm", + "name": "npm:@vitest/snapshot", + "data": { + "version": "1.3.1", + "packageName": "@vitest/snapshot", + "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" + } + }, + "npm:@vitest/spy": { + "type": "npm", + "name": "npm:@vitest/spy", + "data": { + "version": "1.3.1", + "packageName": "@vitest/spy", + "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" + } + }, + "npm:@vitest/utils": { + "type": "npm", + "name": "npm:@vitest/utils", + "data": { + "version": "1.3.1", + "packageName": "@vitest/utils", + "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" + } + }, + "npm:@yarnpkg/lockfile": { + "type": "npm", + "name": "npm:@yarnpkg/lockfile", + "data": { + "version": "1.1.0", + "packageName": "@yarnpkg/lockfile", + "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + } + }, + "npm:@yarnpkg/parsers": { + "type": "npm", + "name": "npm:@yarnpkg/parsers", + "data": { + "version": "3.0.0-rc.46", + "packageName": "@yarnpkg/parsers", + "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" + } + }, + "npm:@zkochan/js-yaml": { + "type": "npm", + "name": "npm:@zkochan/js-yaml", + "data": { + "version": "0.0.6", + "packageName": "@zkochan/js-yaml", + "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" + } + }, + "npm:acorn-walk": { + "type": "npm", + "name": "npm:acorn-walk", + "data": { + "version": "8.3.2", + "packageName": "acorn-walk", + "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" + } + }, + "npm:acorn": { + "type": "npm", + "name": "npm:acorn", + "data": { + "version": "8.11.3", + "packageName": "acorn", + "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + } + }, + "npm:ansi-colors": { + "type": "npm", + "name": "npm:ansi-colors", + "data": { + "version": "4.1.3", + "packageName": "ansi-colors", + "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + } + }, + "npm:ansi-regex": { + "type": "npm", + "name": "npm:ansi-regex", + "data": { + "version": "5.0.1", + "packageName": "ansi-regex", + "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + }, + "npm:ansi-styles": { + "type": "npm", + "name": "npm:ansi-styles", + "data": { + "version": "4.3.0", + "packageName": "ansi-styles", + "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + } + }, + "npm:ansi-styles@5.2.0": { + "type": "npm", + "name": "npm:ansi-styles@5.2.0", + "data": { + "version": "5.2.0", + "packageName": "ansi-styles", + "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + }, + "npm:argparse": { + "type": "npm", + "name": "npm:argparse", + "data": { + "version": "1.0.10", + "packageName": "argparse", + "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + } + }, + "npm:argparse@2.0.1": { + "type": "npm", + "name": "npm:argparse@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "argparse", + "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } + }, + "npm:assertion-error": { + "type": "npm", + "name": "npm:assertion-error", + "data": { + "version": "1.1.0", + "packageName": "assertion-error", + "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + } + }, + "npm:asynckit": { + "type": "npm", + "name": "npm:asynckit", + "data": { + "version": "0.4.0", + "packageName": "asynckit", + "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + } + }, + "npm:axios": { + "type": "npm", + "name": "npm:axios", + "data": { + "version": "1.6.7", + "packageName": "axios", + "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" + } + }, + "npm:balanced-match": { + "type": "npm", + "name": "npm:balanced-match", + "data": { + "version": "1.0.2", + "packageName": "balanced-match", + "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + } + }, + "npm:base64-js": { + "type": "npm", + "name": "npm:base64-js", + "data": { + "version": "1.5.1", + "packageName": "base64-js", + "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + } + }, + "npm:bl": { + "type": "npm", + "name": "npm:bl", + "data": { + "version": "4.1.0", + "packageName": "bl", + "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + } + }, + "npm:bluebird": { + "type": "npm", + "name": "npm:bluebird", + "data": { + "version": "3.7.2", + "packageName": "bluebird", + "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + } + }, + "npm:boolean": { + "type": "npm", + "name": "npm:boolean", + "data": { + "version": "3.2.0", + "packageName": "boolean", + "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + } + }, + "npm:brace-expansion": { + "type": "npm", + "name": "npm:brace-expansion", + "data": { + "version": "2.0.1", + "packageName": "brace-expansion", + "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + } + }, + "npm:buffer-from": { + "type": "npm", + "name": "npm:buffer-from", + "data": { + "version": "1.1.2", + "packageName": "buffer-from", + "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + } + }, + "npm:buffer-writer": { + "type": "npm", + "name": "npm:buffer-writer", + "data": { + "version": "2.0.0", + "packageName": "buffer-writer", + "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + } + }, + "npm:buffer": { + "type": "npm", + "name": "npm:buffer", + "data": { + "version": "5.7.1", + "packageName": "buffer", + "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + } + }, + "npm:bufferput": { + "type": "npm", + "name": "npm:bufferput", + "data": { + "version": "0.1.3", + "packageName": "bufferput", + "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" + } + }, + "npm:cac": { + "type": "npm", + "name": "npm:cac", + "data": { + "version": "6.7.14", + "packageName": "cac", + "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" + } + }, + "npm:chai": { + "type": "npm", + "name": "npm:chai", + "data": { + "version": "4.4.1", + "packageName": "chai", + "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" + } + }, + "npm:chalk": { + "type": "npm", + "name": "npm:chalk", + "data": { + "version": "4.1.2", + "packageName": "chalk", + "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + } + }, + "npm:check-error": { + "type": "npm", + "name": "npm:check-error", + "data": { + "version": "1.0.3", + "packageName": "check-error", + "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" + } + }, + "npm:cli-cursor": { + "type": "npm", + "name": "npm:cli-cursor", + "data": { + "version": "3.1.0", + "packageName": "cli-cursor", + "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + } + }, + "npm:cli-spinners": { + "type": "npm", + "name": "npm:cli-spinners", + "data": { + "version": "2.6.1", + "packageName": "cli-spinners", + "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + } + }, + "npm:cliui": { + "type": "npm", + "name": "npm:cliui", + "data": { + "version": "8.0.1", + "packageName": "cliui", + "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + } + }, + "npm:clone": { + "type": "npm", + "name": "npm:clone", + "data": { + "version": "1.0.4", + "packageName": "clone", + "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + } + }, + "npm:color-convert": { + "type": "npm", + "name": "npm:color-convert", + "data": { + "version": "2.0.1", + "packageName": "color-convert", + "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + } + }, + "npm:color-name": { + "type": "npm", + "name": "npm:color-name", + "data": { + "version": "1.1.4", + "packageName": "color-name", + "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + }, + "npm:combined-stream": { + "type": "npm", + "name": "npm:combined-stream", + "data": { + "version": "1.0.8", + "packageName": "combined-stream", + "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + } + }, + "npm:commander": { + "type": "npm", + "name": "npm:commander", + "data": { + "version": "9.5.0", + "packageName": "commander", + "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + } + }, + "npm:concat-stream": { + "type": "npm", + "name": "npm:concat-stream", + "data": { + "version": "2.0.0", + "packageName": "concat-stream", + "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + } + }, + "npm:cross-spawn": { + "type": "npm", + "name": "npm:cross-spawn", + "data": { + "version": "7.0.3", + "packageName": "cross-spawn", + "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + } + }, + "npm:debug": { + "type": "npm", + "name": "npm:debug", + "data": { + "version": "4.3.4", + "packageName": "debug", + "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + } + }, + "npm:deep-eql": { + "type": "npm", + "name": "npm:deep-eql", + "data": { + "version": "4.1.3", + "packageName": "deep-eql", + "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" + } + }, + "npm:defaults": { + "type": "npm", + "name": "npm:defaults", + "data": { + "version": "1.0.4", + "packageName": "defaults", + "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" + } + }, + "npm:define-lazy-prop": { + "type": "npm", + "name": "npm:define-lazy-prop", + "data": { + "version": "2.0.0", + "packageName": "define-lazy-prop", + "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + } + }, + "npm:delayed-stream": { + "type": "npm", + "name": "npm:delayed-stream", + "data": { + "version": "1.0.0", + "packageName": "delayed-stream", + "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + } + }, + "npm:diff-sequences": { + "type": "npm", + "name": "npm:diff-sequences", + "data": { + "version": "29.6.3", + "packageName": "diff-sequences", + "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + } + }, + "npm:dotenv-expand": { + "type": "npm", + "name": "npm:dotenv-expand", + "data": { + "version": "10.0.0", + "packageName": "dotenv-expand", + "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" + } + }, + "npm:dotenv": { + "type": "npm", + "name": "npm:dotenv", + "data": { + "version": "16.3.2", + "packageName": "dotenv", + "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" + } + }, + "npm:duplexer": { + "type": "npm", + "name": "npm:duplexer", + "data": { + "version": "0.1.2", + "packageName": "duplexer", + "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + } + }, + "npm:emittery": { + "type": "npm", + "name": "npm:emittery", + "data": { + "version": "0.13.1", + "packageName": "emittery", + "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" + } + }, + "npm:emoji-regex": { + "type": "npm", + "name": "npm:emoji-regex", + "data": { + "version": "8.0.0", + "packageName": "emoji-regex", + "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + }, + "npm:end-of-stream": { + "type": "npm", + "name": "npm:end-of-stream", + "data": { + "version": "1.4.4", + "packageName": "end-of-stream", + "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + } + }, + "npm:enquirer": { + "type": "npm", + "name": "npm:enquirer", + "data": { + "version": "2.3.6", + "packageName": "enquirer", + "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + } + }, + "npm:es6-error": { + "type": "npm", + "name": "npm:es6-error", + "data": { + "version": "4.1.1", + "packageName": "es6-error", + "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + } + }, + "npm:esbuild": { + "type": "npm", + "name": "npm:esbuild", + "data": { + "version": "0.19.12", + "packageName": "esbuild", + "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" + } + }, + "npm:escalade": { + "type": "npm", + "name": "npm:escalade", + "data": { + "version": "3.1.2", + "packageName": "escalade", + "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + } + }, + "npm:escape-string-regexp": { + "type": "npm", + "name": "npm:escape-string-regexp", + "data": { + "version": "1.0.5", + "packageName": "escape-string-regexp", + "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + }, + "npm:esprima": { + "type": "npm", + "name": "npm:esprima", + "data": { + "version": "4.0.1", + "packageName": "esprima", + "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + }, + "npm:estree-walker": { + "type": "npm", + "name": "npm:estree-walker", + "data": { + "version": "3.0.3", + "packageName": "estree-walker", + "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" + } + }, + "npm:execa": { + "type": "npm", + "name": "npm:execa", + "data": { + "version": "8.0.1", + "packageName": "execa", + "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" + } + }, + "npm:fast-printf": { + "type": "npm", + "name": "npm:fast-printf", + "data": { + "version": "1.6.9", + "packageName": "fast-printf", + "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" + } + }, + "npm:fast-safe-stringify": { + "type": "npm", + "name": "npm:fast-safe-stringify", + "data": { + "version": "2.1.1", + "packageName": "fast-safe-stringify", + "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + } + }, + "npm:figures": { + "type": "npm", + "name": "npm:figures", + "data": { + "version": "3.2.0", + "packageName": "figures", + "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + } + }, + "npm:flat": { + "type": "npm", + "name": "npm:flat", + "data": { + "version": "5.0.2", + "packageName": "flat", + "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + } + }, + "npm:follow-redirects": { + "type": "npm", + "name": "npm:follow-redirects", + "data": { + "version": "1.15.5", + "packageName": "follow-redirects", + "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + } + }, + "npm:form-data": { + "type": "npm", + "name": "npm:form-data", + "data": { + "version": "4.0.0", + "packageName": "form-data", + "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + } + }, + "npm:fs-constants": { + "type": "npm", + "name": "npm:fs-constants", + "data": { + "version": "1.0.0", + "packageName": "fs-constants", + "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + } + }, + "npm:fs-extra@11.2.0": { + "type": "npm", + "name": "npm:fs-extra@11.2.0", + "data": { + "version": "11.2.0", + "packageName": "fs-extra", + "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" + } + }, + "npm:fs-extra": { + "type": "npm", + "name": "npm:fs-extra", + "data": { + "version": "7.0.1", + "packageName": "fs-extra", + "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + } + }, + "npm:fs.realpath": { + "type": "npm", + "name": "npm:fs.realpath", + "data": { + "version": "1.0.0", + "packageName": "fs.realpath", + "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + } + }, + "npm:fsevents": { + "type": "npm", + "name": "npm:fsevents", + "data": { + "version": "2.3.3", + "packageName": "fsevents", + "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" + } + }, + "npm:function-bind": { + "type": "npm", + "name": "npm:function-bind", + "data": { + "version": "1.1.2", + "packageName": "function-bind", + "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + } + }, + "npm:get-caller-file": { + "type": "npm", + "name": "npm:get-caller-file", + "data": { + "version": "2.0.5", + "packageName": "get-caller-file", + "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + } + }, + "npm:get-func-name": { + "type": "npm", + "name": "npm:get-func-name", + "data": { + "version": "2.0.2", + "packageName": "get-func-name", + "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" + } + }, + "npm:get-stack-trace": { + "type": "npm", + "name": "npm:get-stack-trace", + "data": { + "version": "2.1.1", + "packageName": "get-stack-trace", + "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" + } + }, + "npm:get-stream": { + "type": "npm", + "name": "npm:get-stream", + "data": { + "version": "8.0.1", + "packageName": "get-stream", + "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + } + }, + "npm:glob": { + "type": "npm", + "name": "npm:glob", + "data": { + "version": "8.1.0", + "packageName": "glob", + "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" + } + }, + "npm:graceful-fs": { + "type": "npm", + "name": "npm:graceful-fs", + "data": { + "version": "4.2.11", + "packageName": "graceful-fs", + "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + } + }, + "npm:has-flag": { + "type": "npm", + "name": "npm:has-flag", + "data": { + "version": "4.0.0", + "packageName": "has-flag", + "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + } + }, + "npm:hasown": { + "type": "npm", + "name": "npm:hasown", + "data": { + "version": "2.0.1", + "packageName": "hasown", + "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" + } + }, + "npm:human-signals": { + "type": "npm", + "name": "npm:human-signals", + "data": { + "version": "5.0.0", + "packageName": "human-signals", + "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + } + }, + "npm:hyperid": { + "type": "npm", + "name": "npm:hyperid", + "data": { + "version": "2.3.1", + "packageName": "hyperid", + "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" + } + }, + "npm:ieee754": { + "type": "npm", + "name": "npm:ieee754", + "data": { + "version": "1.2.1", + "packageName": "ieee754", + "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } + }, + "npm:ignore": { + "type": "npm", + "name": "npm:ignore", + "data": { + "version": "5.3.1", + "packageName": "ignore", + "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + } + }, + "npm:import-lazy": { + "type": "npm", + "name": "npm:import-lazy", + "data": { + "version": "4.0.0", + "packageName": "import-lazy", + "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + } + }, + "npm:inflight": { + "type": "npm", + "name": "npm:inflight", + "data": { + "version": "1.0.6", + "packageName": "inflight", + "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + } + }, + "npm:inherits": { + "type": "npm", + "name": "npm:inherits", + "data": { + "version": "2.0.4", + "packageName": "inherits", + "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + }, + "npm:int64-buffer": { + "type": "npm", + "name": "npm:int64-buffer", + "data": { + "version": "0.99.1007", + "packageName": "int64-buffer", + "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" + } + }, + "npm:is-core-module": { + "type": "npm", + "name": "npm:is-core-module", + "data": { + "version": "2.13.1", + "packageName": "is-core-module", + "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" + } + }, + "npm:is-docker": { + "type": "npm", + "name": "npm:is-docker", + "data": { + "version": "2.2.1", + "packageName": "is-docker", + "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + } + }, + "npm:is-fullwidth-code-point": { + "type": "npm", + "name": "npm:is-fullwidth-code-point", + "data": { + "version": "3.0.0", + "packageName": "is-fullwidth-code-point", + "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + }, + "npm:is-interactive": { + "type": "npm", + "name": "npm:is-interactive", + "data": { + "version": "1.0.0", + "packageName": "is-interactive", + "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + } + }, + "npm:is-plain-object": { + "type": "npm", + "name": "npm:is-plain-object", + "data": { + "version": "5.0.0", + "packageName": "is-plain-object", + "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + } + }, + "npm:is-stream": { + "type": "npm", + "name": "npm:is-stream", + "data": { + "version": "3.0.0", + "packageName": "is-stream", + "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + } + }, + "npm:is-unicode-supported": { + "type": "npm", + "name": "npm:is-unicode-supported", + "data": { + "version": "0.1.0", + "packageName": "is-unicode-supported", + "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + } + }, + "npm:is-wsl": { + "type": "npm", + "name": "npm:is-wsl", + "data": { + "version": "2.2.0", + "packageName": "is-wsl", + "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + } + }, + "npm:isexe": { + "type": "npm", + "name": "npm:isexe", + "data": { + "version": "2.0.0", + "packageName": "isexe", + "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + } + }, + "npm:iso8601-duration": { + "type": "npm", + "name": "npm:iso8601-duration", + "data": { + "version": "1.3.0", + "packageName": "iso8601-duration", + "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" + } + }, + "npm:jest-diff": { + "type": "npm", + "name": "npm:jest-diff", + "data": { + "version": "29.7.0", + "packageName": "jest-diff", + "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" + } + }, + "npm:jest-get-type": { + "type": "npm", + "name": "npm:jest-get-type", + "data": { + "version": "29.6.3", + "packageName": "jest-get-type", + "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + } + }, + "npm:jju": { + "type": "npm", + "name": "npm:jju", + "data": { + "version": "1.4.0", + "packageName": "jju", + "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" + } + }, + "npm:js-tokens": { + "type": "npm", + "name": "npm:js-tokens", + "data": { + "version": "8.0.3", + "packageName": "js-tokens", + "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" + } + }, + "npm:js-yaml@3.14.1": { + "type": "npm", + "name": "npm:js-yaml@3.14.1", + "data": { + "version": "3.14.1", + "packageName": "js-yaml", + "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + } + }, + "npm:js-yaml": { + "type": "npm", + "name": "npm:js-yaml", + "data": { + "version": "4.1.0", + "packageName": "js-yaml", + "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + } + }, + "npm:json5": { + "type": "npm", + "name": "npm:json5", + "data": { + "version": "2.2.3", + "packageName": "json5", + "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + }, + "npm:jsonc-parser@3.2.0": { + "type": "npm", + "name": "npm:jsonc-parser@3.2.0", + "data": { + "version": "3.2.0", + "packageName": "jsonc-parser", + "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + } + }, + "npm:jsonc-parser": { + "type": "npm", + "name": "npm:jsonc-parser", + "data": { + "version": "3.2.1", + "packageName": "jsonc-parser", + "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + } + }, + "npm:jsonfile": { + "type": "npm", + "name": "npm:jsonfile", + "data": { + "version": "4.0.0", + "packageName": "jsonfile", + "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" + } + }, + "npm:jsonfile@6.1.0": { + "type": "npm", + "name": "npm:jsonfile@6.1.0", + "data": { + "version": "6.1.0", + "packageName": "jsonfile", + "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + } + }, + "npm:lines-and-columns": { + "type": "npm", + "name": "npm:lines-and-columns", + "data": { + "version": "2.0.4", + "packageName": "lines-and-columns", + "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" + } + }, + "npm:local-pkg": { + "type": "npm", + "name": "npm:local-pkg", + "data": { + "version": "0.5.0", + "packageName": "local-pkg", + "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" + } + }, + "npm:lodash.get": { + "type": "npm", + "name": "npm:lodash.get", + "data": { + "version": "4.4.2", + "packageName": "lodash.get", + "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + } + }, + "npm:lodash.isequal": { + "type": "npm", + "name": "npm:lodash.isequal", + "data": { + "version": "4.5.0", + "packageName": "lodash.isequal", + "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + } + }, + "npm:lodash.sortby": { + "type": "npm", + "name": "npm:lodash.sortby", + "data": { + "version": "4.7.0", + "packageName": "lodash.sortby", + "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + } + }, + "npm:log-symbols": { + "type": "npm", + "name": "npm:log-symbols", + "data": { + "version": "4.1.0", + "packageName": "log-symbols", + "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + } + }, + "npm:loupe": { + "type": "npm", + "name": "npm:loupe", + "data": { + "version": "2.3.7", + "packageName": "loupe", + "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" + } + }, + "npm:lru-cache": { + "type": "npm", + "name": "npm:lru-cache", + "data": { + "version": "6.0.0", + "packageName": "lru-cache", + "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + } + }, + "npm:magic-string": { + "type": "npm", + "name": "npm:magic-string", + "data": { + "version": "0.30.7", + "packageName": "magic-string", + "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" + } + }, + "npm:merge-stream": { + "type": "npm", + "name": "npm:merge-stream", + "data": { + "version": "2.0.0", + "packageName": "merge-stream", + "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + } + }, + "npm:mime-db": { + "type": "npm", + "name": "npm:mime-db", + "data": { + "version": "1.52.0", + "packageName": "mime-db", + "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + }, + "npm:mime-types": { + "type": "npm", + "name": "npm:mime-types", + "data": { + "version": "2.1.35", + "packageName": "mime-types", + "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + } + }, + "npm:mimic-fn@2.1.0": { + "type": "npm", + "name": "npm:mimic-fn@2.1.0", + "data": { + "version": "2.1.0", + "packageName": "mimic-fn", + "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + }, + "npm:mimic-fn": { + "type": "npm", + "name": "npm:mimic-fn", + "data": { + "version": "4.0.0", + "packageName": "mimic-fn", + "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + } + }, + "npm:minimatch@5.1.6": { + "type": "npm", + "name": "npm:minimatch@5.1.6", + "data": { + "version": "5.1.6", + "packageName": "minimatch", + "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" + } + }, + "npm:minimatch": { + "type": "npm", + "name": "npm:minimatch", + "data": { + "version": "9.0.3", + "packageName": "minimatch", + "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" + } + }, + "npm:minimist": { + "type": "npm", + "name": "npm:minimist", + "data": { + "version": "1.2.8", + "packageName": "minimist", + "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + } + }, + "npm:mlly": { + "type": "npm", + "name": "npm:mlly", + "data": { + "version": "1.6.1", + "packageName": "mlly", + "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" + } + }, + "npm:ms": { + "type": "npm", + "name": "npm:ms", + "data": { + "version": "2.1.2", + "packageName": "ms", + "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + }, + "npm:multi-fork": { + "type": "npm", + "name": "npm:multi-fork", + "data": { + "version": "0.0.2", + "packageName": "multi-fork", + "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" + } + }, + "npm:nanoid": { + "type": "npm", + "name": "npm:nanoid", + "data": { + "version": "3.3.7", + "packageName": "nanoid", + "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + } + }, + "npm:node-machine-id": { + "type": "npm", + "name": "npm:node-machine-id", + "data": { + "version": "1.1.12", + "packageName": "node-machine-id", + "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + } + }, + "npm:npm-run-path@4.0.1": { + "type": "npm", + "name": "npm:npm-run-path@4.0.1", + "data": { + "version": "4.0.1", + "packageName": "npm-run-path", + "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + } + }, + "npm:npm-run-path": { + "type": "npm", + "name": "npm:npm-run-path", + "data": { + "version": "5.3.0", + "packageName": "npm-run-path", + "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" + } + }, + "npm:nx": { + "type": "npm", + "name": "npm:nx", + "data": { + "version": "18.0.6", + "packageName": "nx", + "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" + } + }, + "npm:obuf": { + "type": "npm", + "name": "npm:obuf", + "data": { + "version": "1.1.2", + "packageName": "obuf", + "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + } + }, + "npm:once": { + "type": "npm", + "name": "npm:once", + "data": { + "version": "1.4.0", + "packageName": "once", + "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + } + }, + "npm:onetime@5.1.2": { + "type": "npm", + "name": "npm:onetime@5.1.2", + "data": { + "version": "5.1.2", + "packageName": "onetime", + "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + } + }, + "npm:onetime": { + "type": "npm", + "name": "npm:onetime", + "data": { + "version": "6.0.0", + "packageName": "onetime", + "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" + } + }, + "npm:open": { + "type": "npm", + "name": "npm:open", + "data": { + "version": "8.4.2", + "packageName": "open", + "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" + } + }, + "npm:ora": { + "type": "npm", + "name": "npm:ora", + "data": { + "version": "5.3.0", + "packageName": "ora", + "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" + } + }, + "npm:p-defer": { + "type": "npm", + "name": "npm:p-defer", + "data": { + "version": "3.0.0", + "packageName": "p-defer", + "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + } + }, + "npm:p-limit": { + "type": "npm", + "name": "npm:p-limit", + "data": { + "version": "5.0.0", + "packageName": "p-limit", + "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" + } + }, + "npm:packet-reader": { + "type": "npm", + "name": "npm:packet-reader", + "data": { + "version": "1.0.0", + "packageName": "packet-reader", + "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + } + }, + "npm:path-key": { + "type": "npm", + "name": "npm:path-key", + "data": { + "version": "3.1.1", + "packageName": "path-key", + "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + }, + "npm:path-key@4.0.0": { + "type": "npm", + "name": "npm:path-key@4.0.0", + "data": { + "version": "4.0.0", + "packageName": "path-key", + "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + }, + "npm:path-parse": { + "type": "npm", + "name": "npm:path-parse", + "data": { + "version": "1.0.7", + "packageName": "path-parse", + "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + } + }, + "npm:pathe": { + "type": "npm", + "name": "npm:pathe", + "data": { + "version": "1.1.2", + "packageName": "pathe", + "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + } + }, + "npm:pathval": { + "type": "npm", + "name": "npm:pathval", + "data": { + "version": "1.1.1", + "packageName": "pathval", + "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + } + }, + "npm:pg-cloudflare": { + "type": "npm", + "name": "npm:pg-cloudflare", + "data": { + "version": "1.1.1", + "packageName": "pg-cloudflare", + "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" + } + }, + "npm:pg-connection-string": { + "type": "npm", + "name": "npm:pg-connection-string", + "data": { + "version": "2.6.2", + "packageName": "pg-connection-string", + "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + } + }, + "npm:pg-copy-streams-binary": { + "type": "npm", + "name": "npm:pg-copy-streams-binary", + "data": { + "version": "2.2.0", + "packageName": "pg-copy-streams-binary", + "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" + } + }, + "npm:pg-copy-streams": { + "type": "npm", + "name": "npm:pg-copy-streams", + "data": { + "version": "6.0.6", + "packageName": "pg-copy-streams", + "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" + } + }, + "npm:pg-cursor": { + "type": "npm", + "name": "npm:pg-cursor", + "data": { + "version": "2.10.3", + "packageName": "pg-cursor", + "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" + } + }, + "npm:pg-int8": { + "type": "npm", + "name": "npm:pg-int8", + "data": { + "version": "1.0.1", + "packageName": "pg-int8", + "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + } + }, + "npm:pg-pool": { + "type": "npm", + "name": "npm:pg-pool", + "data": { + "version": "3.6.1", + "packageName": "pg-pool", + "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" + } + }, + "npm:pg-protocol": { + "type": "npm", + "name": "npm:pg-protocol", + "data": { + "version": "1.6.0", + "packageName": "pg-protocol", + "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + } + }, + "npm:pg-types": { + "type": "npm", + "name": "npm:pg-types", + "data": { + "version": "2.2.0", + "packageName": "pg-types", + "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" + } + }, + "npm:pg": { + "type": "npm", + "name": "npm:pg", + "data": { + "version": "8.11.3", + "packageName": "pg", + "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" + } + }, + "npm:pgpass": { + "type": "npm", + "name": "npm:pgpass", + "data": { + "version": "1.0.5", + "packageName": "pgpass", + "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" + } + }, + "npm:picocolors": { + "type": "npm", + "name": "npm:picocolors", + "data": { + "version": "1.0.0", + "packageName": "picocolors", + "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + }, + "npm:pkg-types": { + "type": "npm", + "name": "npm:pkg-types", + "data": { + "version": "1.0.3", + "packageName": "pkg-types", + "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" + } + }, + "npm:pony-cause": { + "type": "npm", + "name": "npm:pony-cause", + "data": { + "version": "2.1.10", + "packageName": "pony-cause", + "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" + } + }, + "npm:postcss": { + "type": "npm", + "name": "npm:postcss", + "data": { + "version": "8.4.35", + "packageName": "postcss", + "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" + } + }, + "npm:postgres-array@2.0.0": { + "type": "npm", + "name": "npm:postgres-array@2.0.0", + "data": { + "version": "2.0.0", + "packageName": "postgres-array", + "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + }, + "npm:postgres-array": { + "type": "npm", + "name": "npm:postgres-array", + "data": { + "version": "3.0.2", + "packageName": "postgres-array", + "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" + } + }, + "npm:postgres-bytea": { + "type": "npm", + "name": "npm:postgres-bytea", + "data": { + "version": "1.0.0", + "packageName": "postgres-bytea", + "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" + } + }, + "npm:postgres-date": { + "type": "npm", + "name": "npm:postgres-date", + "data": { + "version": "1.0.7", + "packageName": "postgres-date", + "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + } + }, + "npm:postgres-interval@1.2.0": { + "type": "npm", + "name": "npm:postgres-interval@1.2.0", + "data": { + "version": "1.2.0", + "packageName": "postgres-interval", + "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" + } + }, + "npm:postgres-interval": { + "type": "npm", + "name": "npm:postgres-interval", + "data": { + "version": "4.0.2", + "packageName": "postgres-interval", + "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" + } + }, + "npm:prettier": { + "type": "npm", + "name": "npm:prettier", + "data": { + "version": "3.2.4", + "packageName": "prettier", + "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" + } + }, + "npm:pretty-format": { + "type": "npm", + "name": "npm:pretty-format", + "data": { + "version": "29.7.0", + "packageName": "pretty-format", + "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" + } + }, + "npm:proxy-from-env": { + "type": "npm", + "name": "npm:proxy-from-env", + "data": { + "version": "1.1.0", + "packageName": "proxy-from-env", + "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + }, + "npm:punycode": { + "type": "npm", + "name": "npm:punycode", + "data": { + "version": "2.3.1", + "packageName": "punycode", + "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + } + }, + "npm:react-is": { + "type": "npm", + "name": "npm:react-is", + "data": { + "version": "18.2.0", + "packageName": "react-is", + "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + }, + "npm:readable-stream": { + "type": "npm", + "name": "npm:readable-stream", + "data": { + "version": "3.6.2", + "packageName": "readable-stream", + "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + } + }, + "npm:require-directory": { + "type": "npm", + "name": "npm:require-directory", + "data": { + "version": "2.1.1", + "packageName": "require-directory", + "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + } + }, + "npm:resolve": { + "type": "npm", + "name": "npm:resolve", + "data": { + "version": "1.22.8", + "packageName": "resolve", + "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" + } + }, + "npm:restore-cursor": { + "type": "npm", + "name": "npm:restore-cursor", + "data": { + "version": "3.1.0", + "packageName": "restore-cursor", + "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + } + }, + "npm:roarr": { + "type": "npm", + "name": "npm:roarr", + "data": { + "version": "7.21.0", + "packageName": "roarr", + "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" + } + }, + "npm:rollup": { + "type": "npm", + "name": "npm:rollup", + "data": { + "version": "4.12.0", + "packageName": "rollup", + "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" + } + }, + "npm:safe-buffer": { + "type": "npm", + "name": "npm:safe-buffer", + "data": { + "version": "5.2.1", + "packageName": "safe-buffer", + "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + }, + "npm:safe-stable-stringify": { + "type": "npm", + "name": "npm:safe-stable-stringify", + "data": { + "version": "2.4.3", + "packageName": "safe-stable-stringify", + "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + } + }, + "npm:semver-compare": { + "type": "npm", + "name": "npm:semver-compare", + "data": { + "version": "1.0.0", + "packageName": "semver-compare", + "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + } + }, + "npm:semver": { + "type": "npm", + "name": "npm:semver", + "data": { + "version": "7.5.4", + "packageName": "semver", + "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + } + }, + "npm:semver@7.6.0": { + "type": "npm", + "name": "npm:semver@7.6.0", + "data": { + "version": "7.6.0", + "packageName": "semver", + "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" + } + }, + "npm:serialize-error": { + "type": "npm", + "name": "npm:serialize-error", + "data": { + "version": "8.1.0", + "packageName": "serialize-error", + "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" + } + }, + "npm:shebang-command": { + "type": "npm", + "name": "npm:shebang-command", + "data": { + "version": "2.0.0", + "packageName": "shebang-command", + "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + } + }, + "npm:shebang-regex": { + "type": "npm", + "name": "npm:shebang-regex", + "data": { + "version": "3.0.0", + "packageName": "shebang-regex", + "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + } + }, + "npm:siginfo": { + "type": "npm", + "name": "npm:siginfo", + "data": { + "version": "2.0.0", + "packageName": "siginfo", + "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" + } + }, + "npm:signal-exit": { + "type": "npm", + "name": "npm:signal-exit", + "data": { + "version": "3.0.7", + "packageName": "signal-exit", + "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + } + }, + "npm:signal-exit@4.1.0": { + "type": "npm", + "name": "npm:signal-exit@4.1.0", + "data": { + "version": "4.1.0", + "packageName": "signal-exit", + "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + }, + "npm:slonik": { + "type": "npm", + "name": "npm:slonik", + "data": { + "version": "29.2.0", + "packageName": "slonik", + "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" + } + }, + "npm:source-map-js": { + "type": "npm", + "name": "npm:source-map-js", + "data": { + "version": "1.0.2", + "packageName": "source-map-js", + "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + } + }, + "npm:source-map": { + "type": "npm", + "name": "npm:source-map", + "data": { + "version": "0.8.0-beta.0", + "packageName": "source-map", + "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" + } + }, + "npm:split2": { + "type": "npm", + "name": "npm:split2", + "data": { + "version": "4.2.0", + "packageName": "split2", + "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + } + }, + "npm:sprintf-js": { + "type": "npm", + "name": "npm:sprintf-js", + "data": { + "version": "1.0.3", + "packageName": "sprintf-js", + "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + }, + "npm:stackback": { + "type": "npm", + "name": "npm:stackback", + "data": { + "version": "0.0.2", + "packageName": "stackback", + "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" + } + }, + "npm:std-env": { + "type": "npm", + "name": "npm:std-env", + "data": { + "version": "3.7.0", + "packageName": "std-env", + "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + } + }, + "npm:string-argv": { + "type": "npm", + "name": "npm:string-argv", + "data": { + "version": "0.3.2", + "packageName": "string-argv", + "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" + } + }, + "npm:string-width": { + "type": "npm", + "name": "npm:string-width", + "data": { + "version": "4.2.3", + "packageName": "string-width", + "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + } + }, + "npm:string_decoder": { + "type": "npm", + "name": "npm:string_decoder", + "data": { + "version": "1.3.0", + "packageName": "string_decoder", + "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + } + }, + "npm:strip-ansi": { + "type": "npm", + "name": "npm:strip-ansi", + "data": { + "version": "6.0.1", + "packageName": "strip-ansi", + "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + } + }, + "npm:strip-bom": { + "type": "npm", + "name": "npm:strip-bom", + "data": { + "version": "3.0.0", + "packageName": "strip-bom", + "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + }, + "npm:strip-final-newline": { + "type": "npm", + "name": "npm:strip-final-newline", + "data": { + "version": "3.0.0", + "packageName": "strip-final-newline", + "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + } + }, + "npm:strip-literal": { + "type": "npm", + "name": "npm:strip-literal", + "data": { + "version": "2.0.0", + "packageName": "strip-literal", + "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" + } + }, + "npm:strong-log-transformer": { + "type": "npm", + "name": "npm:strong-log-transformer", + "data": { + "version": "2.1.0", + "packageName": "strong-log-transformer", + "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" + } + }, + "npm:supports-color@7.2.0": { + "type": "npm", + "name": "npm:supports-color@7.2.0", + "data": { + "version": "7.2.0", + "packageName": "supports-color", + "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + } + }, + "npm:supports-color": { + "type": "npm", + "name": "npm:supports-color", + "data": { + "version": "8.1.1", + "packageName": "supports-color", + "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + } + }, + "npm:supports-preserve-symlinks-flag": { + "type": "npm", + "name": "npm:supports-preserve-symlinks-flag", + "data": { + "version": "1.0.0", + "packageName": "supports-preserve-symlinks-flag", + "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + } + }, + "npm:tar-stream": { + "type": "npm", + "name": "npm:tar-stream", + "data": { + "version": "2.2.0", + "packageName": "tar-stream", + "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + } + }, + "npm:through2@3.0.2": { + "type": "npm", + "name": "npm:through2@3.0.2", + "data": { + "version": "3.0.2", + "packageName": "through2", + "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + } + }, + "npm:through2": { + "type": "npm", + "name": "npm:through2", + "data": { + "version": "4.0.2", + "packageName": "through2", + "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + } + }, + "npm:through": { + "type": "npm", + "name": "npm:through", + "data": { + "version": "2.3.8", + "packageName": "through", + "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + } + }, + "npm:tinybench": { + "type": "npm", + "name": "npm:tinybench", + "data": { + "version": "2.6.0", + "packageName": "tinybench", + "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" + } + }, + "npm:tinypool": { + "type": "npm", + "name": "npm:tinypool", + "data": { + "version": "0.8.2", + "packageName": "tinypool", + "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" + } + }, + "npm:tinyspy": { + "type": "npm", + "name": "npm:tinyspy", + "data": { + "version": "2.2.1", + "packageName": "tinyspy", + "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" + } + }, + "npm:tmp": { + "type": "npm", + "name": "npm:tmp", + "data": { + "version": "0.2.3", + "packageName": "tmp", + "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" + } + }, + "npm:tr46": { + "type": "npm", + "name": "npm:tr46", + "data": { + "version": "1.0.1", + "packageName": "tr46", + "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" + } + }, + "npm:tsconfig-paths": { + "type": "npm", + "name": "npm:tsconfig-paths", + "data": { + "version": "4.2.0", + "packageName": "tsconfig-paths", + "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" + } + }, + "npm:tslib": { + "type": "npm", + "name": "npm:tslib", + "data": { + "version": "2.6.2", + "packageName": "tslib", + "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + }, + "npm:type-detect": { + "type": "npm", + "name": "npm:type-detect", + "data": { + "version": "4.0.8", + "packageName": "type-detect", + "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + } + }, + "npm:type-fest": { + "type": "npm", + "name": "npm:type-fest", + "data": { + "version": "0.20.2", + "packageName": "type-fest", + "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + }, + "npm:type-fest@4.10.3": { + "type": "npm", + "name": "npm:type-fest@4.10.3", + "data": { + "version": "4.10.3", + "packageName": "type-fest", + "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" + } + }, + "npm:typedarray": { + "type": "npm", + "name": "npm:typedarray", + "data": { + "version": "0.0.6", + "packageName": "typedarray", + "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + } + }, + "npm:typescript": { + "type": "npm", + "name": "npm:typescript", + "data": { + "version": "5.3.3", + "packageName": "typescript", + "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" + } + }, + "npm:ufo": { + "type": "npm", + "name": "npm:ufo", + "data": { + "version": "1.4.0", + "packageName": "ufo", + "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + } + }, + "npm:umzug": { + "type": "npm", + "name": "npm:umzug", + "data": { + "version": "3.7.0", + "packageName": "umzug", + "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" + } + }, + "npm:undici-types": { + "type": "npm", + "name": "npm:undici-types", + "data": { + "version": "5.26.5", + "packageName": "undici-types", + "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + } + }, + "npm:universalify": { + "type": "npm", + "name": "npm:universalify", + "data": { + "version": "0.1.2", + "packageName": "universalify", + "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + }, + "npm:universalify@2.0.1": { + "type": "npm", + "name": "npm:universalify@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "universalify", + "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + }, + "npm:util-deprecate": { + "type": "npm", + "name": "npm:util-deprecate", + "data": { + "version": "1.0.2", + "packageName": "util-deprecate", + "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + } + }, + "npm:uuid-parse": { + "type": "npm", + "name": "npm:uuid-parse", + "data": { + "version": "1.1.0", + "packageName": "uuid-parse", + "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" + } + }, + "npm:uuid": { + "type": "npm", + "name": "npm:uuid", + "data": { + "version": "8.3.2", + "packageName": "uuid", + "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + }, + "npm:validator": { + "type": "npm", + "name": "npm:validator", + "data": { + "version": "13.11.0", + "packageName": "validator", + "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" + } + }, + "npm:vite-node": { + "type": "npm", + "name": "npm:vite-node", + "data": { + "version": "1.3.1", + "packageName": "vite-node", + "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" + } + }, + "npm:vite": { + "type": "npm", + "name": "npm:vite", + "data": { + "version": "5.1.4", + "packageName": "vite", + "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" + } + }, + "npm:vitest": { + "type": "npm", + "name": "npm:vitest", + "data": { + "version": "1.3.1", + "packageName": "vitest", + "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" + } + }, + "npm:wcwidth": { + "type": "npm", + "name": "npm:wcwidth", + "data": { + "version": "1.0.1", + "packageName": "wcwidth", + "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" + } + }, + "npm:webidl-conversions": { + "type": "npm", + "name": "npm:webidl-conversions", + "data": { + "version": "4.0.2", + "packageName": "webidl-conversions", + "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + } + }, + "npm:whatwg-url": { + "type": "npm", + "name": "npm:whatwg-url", + "data": { + "version": "7.1.0", + "packageName": "whatwg-url", + "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + } + }, + "npm:which": { + "type": "npm", + "name": "npm:which", + "data": { + "version": "2.0.2", + "packageName": "which", + "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + } + }, + "npm:why-is-node-running": { + "type": "npm", + "name": "npm:why-is-node-running", + "data": { + "version": "2.2.2", + "packageName": "why-is-node-running", + "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" + } + }, + "npm:wrap-ansi": { + "type": "npm", + "name": "npm:wrap-ansi", + "data": { + "version": "7.0.0", + "packageName": "wrap-ansi", + "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + } + }, + "npm:wrappy": { + "type": "npm", + "name": "npm:wrappy", + "data": { + "version": "1.0.2", + "packageName": "wrappy", + "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "npm:xtend": { + "type": "npm", + "name": "npm:xtend", + "data": { + "version": "4.0.2", + "packageName": "xtend", + "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + }, + "npm:y18n": { + "type": "npm", + "name": "npm:y18n", + "data": { + "version": "5.0.8", + "packageName": "y18n", + "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + } + }, + "npm:yallist": { + "type": "npm", + "name": "npm:yallist", + "data": { + "version": "4.0.0", + "packageName": "yallist", + "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, + "npm:yargs-parser": { + "type": "npm", + "name": "npm:yargs-parser", + "data": { + "version": "21.1.1", + "packageName": "yargs-parser", + "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + }, + "npm:yargs": { + "type": "npm", + "name": "npm:yargs", + "data": { + "version": "17.7.2", + "packageName": "yargs", + "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" + } + }, + "npm:yocto-queue": { + "type": "npm", + "name": "npm:yocto-queue", + "data": { + "version": "1.0.0", + "packageName": "yocto-queue", + "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" + } + }, + "npm:z-schema": { + "type": "npm", + "name": "npm:z-schema", + "data": { + "version": "5.0.5", + "packageName": "z-schema", + "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" + } + } + }, + "dependencies": [ + { + "source": "npm:@jest/schemas", + "target": "npm:@sinclair/typebox", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:nx", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:fs-extra", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:import-lazy", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:jju", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:resolve", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:semver", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:z-schema", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@rushstack/node-core-library", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:supports-color", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@rushstack/terminal", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@types/argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:string-argv", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:umzug", + "type": "static" + }, + { + "source": "npm:@types/node", + "target": "npm:undici-types", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:p-limit", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:@vitest/spy", + "target": "npm:tinyspy", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:estree-walker", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:js-yaml@3.14.1", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:@zkochan/js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + }, + { + "source": "npm:ansi-styles", + "target": "npm:color-convert", + "type": "static" + }, + { + "source": "npm:argparse", + "target": "npm:sprintf-js", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:follow-redirects", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:form-data", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:proxy-from-env", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:buffer", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:brace-expansion", + "target": "npm:balanced-match", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:base64-js", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:assertion-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:check-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:deep-eql", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:pathval", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:type-detect", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:supports-color@7.2.0", + "type": "static" + }, + { + "source": "npm:check-error", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:cli-cursor", + "target": "npm:restore-cursor", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:wrap-ansi", + "type": "static" + }, + { + "source": "npm:color-convert", + "target": "npm:color-name", + "type": "static" + }, + { + "source": "npm:combined-stream", + "target": "npm:delayed-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:buffer-from", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:typedarray", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:shebang-command", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:which", + "type": "static" + }, + { + "source": "npm:debug", + "target": "npm:ms", + "type": "static" + }, + { + "source": "npm:deep-eql", + "target": "npm:type-detect", + "type": "static" + }, + { + "source": "npm:defaults", + "target": "npm:clone", + "type": "static" + }, + { + "source": "npm:end-of-stream", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:enquirer", + "target": "npm:ansi-colors", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/aix-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-loong64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-mips64el", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-riscv64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-s390x", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/netbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/openbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/sunos-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-x64", + "type": "static" + }, + { + "source": "npm:estree-walker", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:cross-spawn", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:get-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:human-signals", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:is-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:merge-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:npm-run-path", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:onetime", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:signal-exit@4.1.0", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:strip-final-newline", + "type": "static" + }, + { + "source": "npm:fast-printf", + "target": "npm:boolean", + "type": "static" + }, + { + "source": "npm:figures", + "target": "npm:escape-string-regexp", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:asynckit", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:combined-stream", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:mime-types", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:jsonfile@6.1.0", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:jsonfile", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:universalify", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:bluebird", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:source-map", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:fs.realpath", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inflight", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:minimatch@5.1.6", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:hasown", + "target": "npm:function-bind", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid-parse", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:wrappy", + "type": "static" + }, + { + "source": "npm:is-core-module", + "target": "npm:hasown", + "type": "static" + }, + { + "source": "npm:is-wsl", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:jest-get-type", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:esprima", + "type": "static" + }, + { + "source": "npm:js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:is-unicode-supported", + "type": "static" + }, + { + "source": "npm:loupe", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:lru-cache", + "target": "npm:yallist", + "type": "static" + }, + { + "source": "npm:magic-string", + "target": "npm:@jridgewell/sourcemap-codec", + "type": "static" + }, + { + "source": "npm:mime-types", + "target": "npm:mime-db", + "type": "static" + }, + { + "source": "npm:minimatch@5.1.6", + "target": "npm:brace-expansion", + "type": "static" + }, + { + "source": "npm:minimatch", + "target": "npm:brace-expansion", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:acorn", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:ufo", + "type": "static" + }, + { + "source": "npm:npm-run-path@4.0.1", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:npm-run-path", + "target": "npm:path-key@4.0.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nrwl/tao", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/lockfile", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/parsers", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@zkochan/js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:axios", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv-expand", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:enquirer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:figures", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:flat", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:fs-extra@11.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ignore", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jest-diff", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jsonc-parser@3.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:lines-and-columns", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:minimatch", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:node-machine-id", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:npm-run-path@4.0.1", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:open", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ora", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:semver@7.6.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:strong-log-transformer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tar-stream", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tmp", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tsconfig-paths", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-arm64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-freebsd-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:once", + "target": "npm:wrappy", + "type": "static" + }, + { + "source": "npm:onetime@5.1.2", + "target": "npm:mimic-fn@2.1.0", + "type": "static" + }, + { + "source": "npm:onetime", + "target": "npm:mimic-fn", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:define-lazy-prop", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-wsl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:is-interactive", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:log-symbols", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:wcwidth", + "type": "static" + }, + { + "source": "npm:p-limit", + "target": "npm:yocto-queue", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bufferput", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:int64-buffer", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:multi-fork", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:through2@3.0.2", + "type": "static" + }, + { + "source": "npm:pg-copy-streams", + "target": "npm:obuf", + "type": "static" + }, + { + "source": "npm:pg-cursor", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:pg-pool", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:pg-int8", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-array@2.0.0", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-bytea", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-date", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-interval@1.2.0", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:buffer-writer", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:packet-reader", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-connection-string", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-pool", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-types", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pgpass", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-cloudflare", + "type": "static" + }, + { + "source": "npm:pgpass", + "target": "npm:split2", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:jsonc-parser", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:nanoid", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:source-map-js", + "type": "static" + }, + { + "source": "npm:postgres-interval@1.2.0", + "target": "npm:xtend", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:@jest/schemas", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:ansi-styles@5.2.0", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:react-is", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:string_decoder", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:util-deprecate", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:is-core-module", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:path-parse", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:supports-preserve-symlinks-flag", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:onetime@5.1.2", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:signal-exit", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:fast-printf", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:safe-stable-stringify", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:semver-compare", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm-eabi", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-x64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-riscv64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-ia32-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:fsevents", + "type": "static" + }, + { + "source": "npm:semver", + "target": "npm:lru-cache", + "type": "static" + }, + { + "source": "npm:semver@7.6.0", + "target": "npm:lru-cache", + "type": "static" + }, + { + "source": "npm:serialize-error", + "target": "npm:type-fest", + "type": "static" + }, + { + "source": "npm:shebang-command", + "target": "npm:shebang-regex", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:concat-stream", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:es6-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:fast-safe-stringify", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:get-stack-trace", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:hyperid", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:is-plain-object", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:iso8601-duration", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:p-defer", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams-binary", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-cursor", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-array", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-interval", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:roarr", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:serialize-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:through2", + "type": "static" + }, + { + "source": "npm:source-map", + "target": "npm:whatwg-url", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:emoji-regex", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:is-fullwidth-code-point", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:string_decoder", + "target": "npm:safe-buffer", + "type": "static" + }, + { + "source": "npm:strip-ansi", + "target": "npm:ansi-regex", + "type": "static" + }, + { + "source": "npm:strip-literal", + "target": "npm:js-tokens", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:duplexer", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:through", + "type": "static" + }, + { + "source": "npm:supports-color@7.2.0", + "target": "npm:has-flag", + "type": "static" + }, + { + "source": "npm:supports-color", + "target": "npm:has-flag", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:end-of-stream", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:fs-constants", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:through2", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:tr46", + "target": "npm:punycode", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:json5", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:strip-bom", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:emittery", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:glob", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:pony-cause", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:type-fest@4.10.3", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:cac", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:esbuild", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:postcss", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:rollup", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:fsevents", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/expect", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/runner", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/snapshot", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:acorn-walk", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:execa", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:local-pkg", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:std-env", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:strip-literal", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinybench", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinypool", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite-node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:why-is-node-running", + "type": "static" + }, + { + "source": "npm:wcwidth", + "target": "npm:defaults", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:lodash.sortby", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:tr46", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:webidl-conversions", + "type": "static" + }, + { + "source": "npm:which", + "target": "npm:isexe", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:siginfo", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:stackback", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:escalade", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:get-caller-file", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:require-directory", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:y18n", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.get", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.isequal", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:validator", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:commander", + "type": "static" + } + ] +} \ No newline at end of file diff --git a/.nx/cache/project-graph.json b/.nx/cache/project-graph.json new file mode 100644 index 000000000..f1074235e --- /dev/null +++ b/.nx/cache/project-graph.json @@ -0,0 +1,5069 @@ +{ + "nodes": { + "shared-packets": { + "name": "shared-packets", + "type": "lib", + "data": { + "root": "packages/shared-packets", + "sourceRoot": "packages/shared-packets", + "name": "shared-packets", + "projectType": "library", + "targets": { + "build": { + "executor": "nx:run-script", + "options": { + "script": "build" + }, + "configurations": {} + }, + "test": { + "executor": "nx:run-script", + "options": { + "script": "test" + }, + "configurations": {} + } + }, + "implicitDependencies": [], + "tags": [] + } + }, + "@rusty-motors/thebeast": { + "name": "@rusty-motors/thebeast", + "type": "lib", + "data": { + "root": "thebeast", + "sourceRoot": "thebeast", + "name": "@rusty-motors/thebeast", + "projectType": "library", + "targets": { + "test": { + "executor": "nx:run-script", + "options": { + "script": "test" + }, + "configurations": {} + }, + "prod": { + "executor": "nx:run-script", + "options": { + "script": "prod" + }, + "configurations": {} + }, + "prod:stop": { + "executor": "nx:run-script", + "options": { + "script": "prod:stop" + }, + "configurations": {} + }, + "release": { + "executor": "nx:run-script", + "options": { + "script": "release" + }, + "configurations": {} + }, + "start": { + "executor": "nx:run-script", + "options": { + "script": "start" + }, + "configurations": {} + }, + "start:docker": { + "executor": "nx:run-script", + "options": { + "script": "start:docker" + }, + "configurations": {} + } + }, + "implicitDependencies": [], + "tags": [] + } + } + }, + "externalNodes": { + "npm:@esbuild/aix-ppc64": { + "type": "npm", + "name": "npm:@esbuild/aix-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/aix-ppc64", + "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" + } + }, + "npm:@esbuild/android-arm64": { + "type": "npm", + "name": "npm:@esbuild/android-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm64", + "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" + } + }, + "npm:@esbuild/android-arm": { + "type": "npm", + "name": "npm:@esbuild/android-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm", + "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" + } + }, + "npm:@esbuild/android-x64": { + "type": "npm", + "name": "npm:@esbuild/android-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-x64", + "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" + } + }, + "npm:@esbuild/darwin-arm64": { + "type": "npm", + "name": "npm:@esbuild/darwin-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-arm64", + "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" + } + }, + "npm:@esbuild/darwin-x64": { + "type": "npm", + "name": "npm:@esbuild/darwin-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-x64", + "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" + } + }, + "npm:@esbuild/freebsd-arm64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-arm64", + "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" + } + }, + "npm:@esbuild/freebsd-x64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-x64", + "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" + } + }, + "npm:@esbuild/linux-arm64": { + "type": "npm", + "name": "npm:@esbuild/linux-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm64", + "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" + } + }, + "npm:@esbuild/linux-arm": { + "type": "npm", + "name": "npm:@esbuild/linux-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm", + "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" + } + }, + "npm:@esbuild/linux-ia32": { + "type": "npm", + "name": "npm:@esbuild/linux-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ia32", + "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" + } + }, + "npm:@esbuild/linux-loong64": { + "type": "npm", + "name": "npm:@esbuild/linux-loong64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-loong64", + "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" + } + }, + "npm:@esbuild/linux-mips64el": { + "type": "npm", + "name": "npm:@esbuild/linux-mips64el", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-mips64el", + "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" + } + }, + "npm:@esbuild/linux-ppc64": { + "type": "npm", + "name": "npm:@esbuild/linux-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ppc64", + "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" + } + }, + "npm:@esbuild/linux-riscv64": { + "type": "npm", + "name": "npm:@esbuild/linux-riscv64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-riscv64", + "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" + } + }, + "npm:@esbuild/linux-s390x": { + "type": "npm", + "name": "npm:@esbuild/linux-s390x", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-s390x", + "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" + } + }, + "npm:@esbuild/linux-x64": { + "type": "npm", + "name": "npm:@esbuild/linux-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-x64", + "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" + } + }, + "npm:@esbuild/netbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/netbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/netbsd-x64", + "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" + } + }, + "npm:@esbuild/openbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/openbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/openbsd-x64", + "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" + } + }, + "npm:@esbuild/sunos-x64": { + "type": "npm", + "name": "npm:@esbuild/sunos-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/sunos-x64", + "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" + } + }, + "npm:@esbuild/win32-arm64": { + "type": "npm", + "name": "npm:@esbuild/win32-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-arm64", + "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" + } + }, + "npm:@esbuild/win32-ia32": { + "type": "npm", + "name": "npm:@esbuild/win32-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-ia32", + "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" + } + }, + "npm:@esbuild/win32-x64": { + "type": "npm", + "name": "npm:@esbuild/win32-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-x64", + "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" + } + }, + "npm:@jest/schemas": { + "type": "npm", + "name": "npm:@jest/schemas", + "data": { + "version": "29.6.3", + "packageName": "@jest/schemas", + "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" + } + }, + "npm:@jridgewell/sourcemap-codec": { + "type": "npm", + "name": "npm:@jridgewell/sourcemap-codec", + "data": { + "version": "1.4.15", + "packageName": "@jridgewell/sourcemap-codec", + "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + } + }, + "npm:@nrwl/tao": { + "type": "npm", + "name": "npm:@nrwl/tao", + "data": { + "version": "18.0.6", + "packageName": "@nrwl/tao", + "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" + } + }, + "npm:@nx/nx-darwin-arm64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-arm64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-arm64", + "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" + } + }, + "npm:@nx/nx-darwin-x64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-x64", + "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" + } + }, + "npm:@nx/nx-freebsd-x64": { + "type": "npm", + "name": "npm:@nx/nx-freebsd-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-freebsd-x64", + "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" + } + }, + "npm:@nx/nx-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm-gnueabihf", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm-gnueabihf", + "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" + } + }, + "npm:@nx/nx-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-gnu", + "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" + } + }, + "npm:@nx/nx-linux-arm64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-musl", + "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" + } + }, + "npm:@nx/nx-linux-x64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-gnu", + "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" + } + }, + "npm:@nx/nx-linux-x64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-musl", + "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" + } + }, + "npm:@nx/nx-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-arm64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-arm64-msvc", + "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" + } + }, + "npm:@nx/nx-win32-x64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-x64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-x64-msvc", + "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" + } + }, + "npm:@rollup/rollup-android-arm-eabi": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm-eabi", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm-eabi", + "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" + } + }, + "npm:@rollup/rollup-android-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm64", + "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" + } + }, + "npm:@rollup/rollup-darwin-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-arm64", + "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" + } + }, + "npm:@rollup/rollup-darwin-x64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-x64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-x64", + "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" + } + }, + "npm:@rollup/rollup-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm-gnueabihf", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm-gnueabihf", + "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" + } + }, + "npm:@rollup/rollup-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-gnu", + "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" + } + }, + "npm:@rollup/rollup-linux-arm64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-musl", + "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" + } + }, + "npm:@rollup/rollup-linux-riscv64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-riscv64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-riscv64-gnu", + "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" + } + }, + "npm:@rollup/rollup-linux-x64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-gnu", + "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" + } + }, + "npm:@rollup/rollup-linux-x64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-musl", + "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" + } + }, + "npm:@rollup/rollup-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-arm64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-arm64-msvc", + "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" + } + }, + "npm:@rollup/rollup-win32-ia32-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-ia32-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-ia32-msvc", + "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" + } + }, + "npm:@rollup/rollup-win32-x64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-x64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-x64-msvc", + "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" + } + }, + "npm:@rushstack/node-core-library": { + "type": "npm", + "name": "npm:@rushstack/node-core-library", + "data": { + "version": "4.0.2", + "packageName": "@rushstack/node-core-library", + "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" + } + }, + "npm:@rushstack/terminal": { + "type": "npm", + "name": "npm:@rushstack/terminal", + "data": { + "version": "0.10.0", + "packageName": "@rushstack/terminal", + "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" + } + }, + "npm:@rushstack/ts-command-line": { + "type": "npm", + "name": "npm:@rushstack/ts-command-line", + "data": { + "version": "4.18.0", + "packageName": "@rushstack/ts-command-line", + "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" + } + }, + "npm:@sinclair/typebox": { + "type": "npm", + "name": "npm:@sinclair/typebox", + "data": { + "version": "0.27.8", + "packageName": "@sinclair/typebox", + "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + } + }, + "npm:@slonik/migrator": { + "type": "npm", + "name": "npm:@slonik/migrator", + "data": { + "version": "0.12.0", + "packageName": "@slonik/migrator", + "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" + } + }, + "npm:@types/argparse": { + "type": "npm", + "name": "npm:@types/argparse", + "data": { + "version": "1.0.38", + "packageName": "@types/argparse", + "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" + } + }, + "npm:@types/estree": { + "type": "npm", + "name": "npm:@types/estree", + "data": { + "version": "1.0.5", + "packageName": "@types/estree", + "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + } + }, + "npm:@types/node": { + "type": "npm", + "name": "npm:@types/node", + "data": { + "version": "20.11.24", + "packageName": "@types/node", + "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" + } + }, + "npm:@vitest/expect": { + "type": "npm", + "name": "npm:@vitest/expect", + "data": { + "version": "1.3.1", + "packageName": "@vitest/expect", + "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" + } + }, + "npm:@vitest/runner": { + "type": "npm", + "name": "npm:@vitest/runner", + "data": { + "version": "1.3.1", + "packageName": "@vitest/runner", + "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" + } + }, + "npm:@vitest/snapshot": { + "type": "npm", + "name": "npm:@vitest/snapshot", + "data": { + "version": "1.3.1", + "packageName": "@vitest/snapshot", + "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" + } + }, + "npm:@vitest/spy": { + "type": "npm", + "name": "npm:@vitest/spy", + "data": { + "version": "1.3.1", + "packageName": "@vitest/spy", + "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" + } + }, + "npm:@vitest/utils": { + "type": "npm", + "name": "npm:@vitest/utils", + "data": { + "version": "1.3.1", + "packageName": "@vitest/utils", + "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" + } + }, + "npm:@yarnpkg/lockfile": { + "type": "npm", + "name": "npm:@yarnpkg/lockfile", + "data": { + "version": "1.1.0", + "packageName": "@yarnpkg/lockfile", + "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + } + }, + "npm:@yarnpkg/parsers": { + "type": "npm", + "name": "npm:@yarnpkg/parsers", + "data": { + "version": "3.0.0-rc.46", + "packageName": "@yarnpkg/parsers", + "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" + } + }, + "npm:@zkochan/js-yaml": { + "type": "npm", + "name": "npm:@zkochan/js-yaml", + "data": { + "version": "0.0.6", + "packageName": "@zkochan/js-yaml", + "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" + } + }, + "npm:acorn-walk": { + "type": "npm", + "name": "npm:acorn-walk", + "data": { + "version": "8.3.2", + "packageName": "acorn-walk", + "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" + } + }, + "npm:acorn": { + "type": "npm", + "name": "npm:acorn", + "data": { + "version": "8.11.3", + "packageName": "acorn", + "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + } + }, + "npm:ansi-colors": { + "type": "npm", + "name": "npm:ansi-colors", + "data": { + "version": "4.1.3", + "packageName": "ansi-colors", + "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + } + }, + "npm:ansi-regex": { + "type": "npm", + "name": "npm:ansi-regex", + "data": { + "version": "5.0.1", + "packageName": "ansi-regex", + "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + }, + "npm:ansi-styles": { + "type": "npm", + "name": "npm:ansi-styles", + "data": { + "version": "4.3.0", + "packageName": "ansi-styles", + "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + } + }, + "npm:ansi-styles@5.2.0": { + "type": "npm", + "name": "npm:ansi-styles@5.2.0", + "data": { + "version": "5.2.0", + "packageName": "ansi-styles", + "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + }, + "npm:argparse": { + "type": "npm", + "name": "npm:argparse", + "data": { + "version": "1.0.10", + "packageName": "argparse", + "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + } + }, + "npm:argparse@2.0.1": { + "type": "npm", + "name": "npm:argparse@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "argparse", + "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } + }, + "npm:assertion-error": { + "type": "npm", + "name": "npm:assertion-error", + "data": { + "version": "1.1.0", + "packageName": "assertion-error", + "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + } + }, + "npm:asynckit": { + "type": "npm", + "name": "npm:asynckit", + "data": { + "version": "0.4.0", + "packageName": "asynckit", + "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + } + }, + "npm:axios": { + "type": "npm", + "name": "npm:axios", + "data": { + "version": "1.6.7", + "packageName": "axios", + "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" + } + }, + "npm:balanced-match": { + "type": "npm", + "name": "npm:balanced-match", + "data": { + "version": "1.0.2", + "packageName": "balanced-match", + "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + } + }, + "npm:base64-js": { + "type": "npm", + "name": "npm:base64-js", + "data": { + "version": "1.5.1", + "packageName": "base64-js", + "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + } + }, + "npm:bl": { + "type": "npm", + "name": "npm:bl", + "data": { + "version": "4.1.0", + "packageName": "bl", + "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + } + }, + "npm:bluebird": { + "type": "npm", + "name": "npm:bluebird", + "data": { + "version": "3.7.2", + "packageName": "bluebird", + "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + } + }, + "npm:boolean": { + "type": "npm", + "name": "npm:boolean", + "data": { + "version": "3.2.0", + "packageName": "boolean", + "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + } + }, + "npm:brace-expansion": { + "type": "npm", + "name": "npm:brace-expansion", + "data": { + "version": "2.0.1", + "packageName": "brace-expansion", + "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + } + }, + "npm:buffer-from": { + "type": "npm", + "name": "npm:buffer-from", + "data": { + "version": "1.1.2", + "packageName": "buffer-from", + "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + } + }, + "npm:buffer-writer": { + "type": "npm", + "name": "npm:buffer-writer", + "data": { + "version": "2.0.0", + "packageName": "buffer-writer", + "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + } + }, + "npm:buffer": { + "type": "npm", + "name": "npm:buffer", + "data": { + "version": "5.7.1", + "packageName": "buffer", + "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + } + }, + "npm:bufferput": { + "type": "npm", + "name": "npm:bufferput", + "data": { + "version": "0.1.3", + "packageName": "bufferput", + "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" + } + }, + "npm:cac": { + "type": "npm", + "name": "npm:cac", + "data": { + "version": "6.7.14", + "packageName": "cac", + "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" + } + }, + "npm:chai": { + "type": "npm", + "name": "npm:chai", + "data": { + "version": "4.4.1", + "packageName": "chai", + "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" + } + }, + "npm:chalk": { + "type": "npm", + "name": "npm:chalk", + "data": { + "version": "4.1.2", + "packageName": "chalk", + "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + } + }, + "npm:check-error": { + "type": "npm", + "name": "npm:check-error", + "data": { + "version": "1.0.3", + "packageName": "check-error", + "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" + } + }, + "npm:cli-cursor": { + "type": "npm", + "name": "npm:cli-cursor", + "data": { + "version": "3.1.0", + "packageName": "cli-cursor", + "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + } + }, + "npm:cli-spinners": { + "type": "npm", + "name": "npm:cli-spinners", + "data": { + "version": "2.6.1", + "packageName": "cli-spinners", + "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + } + }, + "npm:cliui": { + "type": "npm", + "name": "npm:cliui", + "data": { + "version": "8.0.1", + "packageName": "cliui", + "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + } + }, + "npm:clone": { + "type": "npm", + "name": "npm:clone", + "data": { + "version": "1.0.4", + "packageName": "clone", + "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + } + }, + "npm:color-convert": { + "type": "npm", + "name": "npm:color-convert", + "data": { + "version": "2.0.1", + "packageName": "color-convert", + "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + } + }, + "npm:color-name": { + "type": "npm", + "name": "npm:color-name", + "data": { + "version": "1.1.4", + "packageName": "color-name", + "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + }, + "npm:combined-stream": { + "type": "npm", + "name": "npm:combined-stream", + "data": { + "version": "1.0.8", + "packageName": "combined-stream", + "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + } + }, + "npm:commander": { + "type": "npm", + "name": "npm:commander", + "data": { + "version": "9.5.0", + "packageName": "commander", + "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + } + }, + "npm:concat-stream": { + "type": "npm", + "name": "npm:concat-stream", + "data": { + "version": "2.0.0", + "packageName": "concat-stream", + "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + } + }, + "npm:cross-spawn": { + "type": "npm", + "name": "npm:cross-spawn", + "data": { + "version": "7.0.3", + "packageName": "cross-spawn", + "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + } + }, + "npm:debug": { + "type": "npm", + "name": "npm:debug", + "data": { + "version": "4.3.4", + "packageName": "debug", + "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + } + }, + "npm:deep-eql": { + "type": "npm", + "name": "npm:deep-eql", + "data": { + "version": "4.1.3", + "packageName": "deep-eql", + "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" + } + }, + "npm:defaults": { + "type": "npm", + "name": "npm:defaults", + "data": { + "version": "1.0.4", + "packageName": "defaults", + "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" + } + }, + "npm:define-lazy-prop": { + "type": "npm", + "name": "npm:define-lazy-prop", + "data": { + "version": "2.0.0", + "packageName": "define-lazy-prop", + "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + } + }, + "npm:delayed-stream": { + "type": "npm", + "name": "npm:delayed-stream", + "data": { + "version": "1.0.0", + "packageName": "delayed-stream", + "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + } + }, + "npm:diff-sequences": { + "type": "npm", + "name": "npm:diff-sequences", + "data": { + "version": "29.6.3", + "packageName": "diff-sequences", + "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + } + }, + "npm:dotenv-expand": { + "type": "npm", + "name": "npm:dotenv-expand", + "data": { + "version": "10.0.0", + "packageName": "dotenv-expand", + "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" + } + }, + "npm:dotenv": { + "type": "npm", + "name": "npm:dotenv", + "data": { + "version": "16.3.2", + "packageName": "dotenv", + "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" + } + }, + "npm:duplexer": { + "type": "npm", + "name": "npm:duplexer", + "data": { + "version": "0.1.2", + "packageName": "duplexer", + "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + } + }, + "npm:emittery": { + "type": "npm", + "name": "npm:emittery", + "data": { + "version": "0.13.1", + "packageName": "emittery", + "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" + } + }, + "npm:emoji-regex": { + "type": "npm", + "name": "npm:emoji-regex", + "data": { + "version": "8.0.0", + "packageName": "emoji-regex", + "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + }, + "npm:end-of-stream": { + "type": "npm", + "name": "npm:end-of-stream", + "data": { + "version": "1.4.4", + "packageName": "end-of-stream", + "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + } + }, + "npm:enquirer": { + "type": "npm", + "name": "npm:enquirer", + "data": { + "version": "2.3.6", + "packageName": "enquirer", + "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + } + }, + "npm:es6-error": { + "type": "npm", + "name": "npm:es6-error", + "data": { + "version": "4.1.1", + "packageName": "es6-error", + "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + } + }, + "npm:esbuild": { + "type": "npm", + "name": "npm:esbuild", + "data": { + "version": "0.19.12", + "packageName": "esbuild", + "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" + } + }, + "npm:escalade": { + "type": "npm", + "name": "npm:escalade", + "data": { + "version": "3.1.2", + "packageName": "escalade", + "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + } + }, + "npm:escape-string-regexp": { + "type": "npm", + "name": "npm:escape-string-regexp", + "data": { + "version": "1.0.5", + "packageName": "escape-string-regexp", + "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + }, + "npm:esprima": { + "type": "npm", + "name": "npm:esprima", + "data": { + "version": "4.0.1", + "packageName": "esprima", + "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + }, + "npm:estree-walker": { + "type": "npm", + "name": "npm:estree-walker", + "data": { + "version": "3.0.3", + "packageName": "estree-walker", + "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" + } + }, + "npm:execa": { + "type": "npm", + "name": "npm:execa", + "data": { + "version": "8.0.1", + "packageName": "execa", + "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" + } + }, + "npm:fast-printf": { + "type": "npm", + "name": "npm:fast-printf", + "data": { + "version": "1.6.9", + "packageName": "fast-printf", + "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" + } + }, + "npm:fast-safe-stringify": { + "type": "npm", + "name": "npm:fast-safe-stringify", + "data": { + "version": "2.1.1", + "packageName": "fast-safe-stringify", + "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + } + }, + "npm:figures": { + "type": "npm", + "name": "npm:figures", + "data": { + "version": "3.2.0", + "packageName": "figures", + "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + } + }, + "npm:flat": { + "type": "npm", + "name": "npm:flat", + "data": { + "version": "5.0.2", + "packageName": "flat", + "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + } + }, + "npm:follow-redirects": { + "type": "npm", + "name": "npm:follow-redirects", + "data": { + "version": "1.15.5", + "packageName": "follow-redirects", + "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + } + }, + "npm:form-data": { + "type": "npm", + "name": "npm:form-data", + "data": { + "version": "4.0.0", + "packageName": "form-data", + "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + } + }, + "npm:fs-constants": { + "type": "npm", + "name": "npm:fs-constants", + "data": { + "version": "1.0.0", + "packageName": "fs-constants", + "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + } + }, + "npm:fs-extra@11.2.0": { + "type": "npm", + "name": "npm:fs-extra@11.2.0", + "data": { + "version": "11.2.0", + "packageName": "fs-extra", + "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" + } + }, + "npm:fs-extra": { + "type": "npm", + "name": "npm:fs-extra", + "data": { + "version": "7.0.1", + "packageName": "fs-extra", + "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + } + }, + "npm:fs.realpath": { + "type": "npm", + "name": "npm:fs.realpath", + "data": { + "version": "1.0.0", + "packageName": "fs.realpath", + "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + } + }, + "npm:fsevents": { + "type": "npm", + "name": "npm:fsevents", + "data": { + "version": "2.3.3", + "packageName": "fsevents", + "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" + } + }, + "npm:function-bind": { + "type": "npm", + "name": "npm:function-bind", + "data": { + "version": "1.1.2", + "packageName": "function-bind", + "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + } + }, + "npm:get-caller-file": { + "type": "npm", + "name": "npm:get-caller-file", + "data": { + "version": "2.0.5", + "packageName": "get-caller-file", + "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + } + }, + "npm:get-func-name": { + "type": "npm", + "name": "npm:get-func-name", + "data": { + "version": "2.0.2", + "packageName": "get-func-name", + "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" + } + }, + "npm:get-stack-trace": { + "type": "npm", + "name": "npm:get-stack-trace", + "data": { + "version": "2.1.1", + "packageName": "get-stack-trace", + "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" + } + }, + "npm:get-stream": { + "type": "npm", + "name": "npm:get-stream", + "data": { + "version": "8.0.1", + "packageName": "get-stream", + "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + } + }, + "npm:glob": { + "type": "npm", + "name": "npm:glob", + "data": { + "version": "8.1.0", + "packageName": "glob", + "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" + } + }, + "npm:graceful-fs": { + "type": "npm", + "name": "npm:graceful-fs", + "data": { + "version": "4.2.11", + "packageName": "graceful-fs", + "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + } + }, + "npm:has-flag": { + "type": "npm", + "name": "npm:has-flag", + "data": { + "version": "4.0.0", + "packageName": "has-flag", + "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + } + }, + "npm:hasown": { + "type": "npm", + "name": "npm:hasown", + "data": { + "version": "2.0.1", + "packageName": "hasown", + "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" + } + }, + "npm:human-signals": { + "type": "npm", + "name": "npm:human-signals", + "data": { + "version": "5.0.0", + "packageName": "human-signals", + "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + } + }, + "npm:hyperid": { + "type": "npm", + "name": "npm:hyperid", + "data": { + "version": "2.3.1", + "packageName": "hyperid", + "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" + } + }, + "npm:ieee754": { + "type": "npm", + "name": "npm:ieee754", + "data": { + "version": "1.2.1", + "packageName": "ieee754", + "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } + }, + "npm:ignore": { + "type": "npm", + "name": "npm:ignore", + "data": { + "version": "5.3.1", + "packageName": "ignore", + "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + } + }, + "npm:import-lazy": { + "type": "npm", + "name": "npm:import-lazy", + "data": { + "version": "4.0.0", + "packageName": "import-lazy", + "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + } + }, + "npm:inflight": { + "type": "npm", + "name": "npm:inflight", + "data": { + "version": "1.0.6", + "packageName": "inflight", + "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + } + }, + "npm:inherits": { + "type": "npm", + "name": "npm:inherits", + "data": { + "version": "2.0.4", + "packageName": "inherits", + "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + }, + "npm:int64-buffer": { + "type": "npm", + "name": "npm:int64-buffer", + "data": { + "version": "0.99.1007", + "packageName": "int64-buffer", + "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" + } + }, + "npm:is-core-module": { + "type": "npm", + "name": "npm:is-core-module", + "data": { + "version": "2.13.1", + "packageName": "is-core-module", + "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" + } + }, + "npm:is-docker": { + "type": "npm", + "name": "npm:is-docker", + "data": { + "version": "2.2.1", + "packageName": "is-docker", + "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + } + }, + "npm:is-fullwidth-code-point": { + "type": "npm", + "name": "npm:is-fullwidth-code-point", + "data": { + "version": "3.0.0", + "packageName": "is-fullwidth-code-point", + "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + }, + "npm:is-interactive": { + "type": "npm", + "name": "npm:is-interactive", + "data": { + "version": "1.0.0", + "packageName": "is-interactive", + "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + } + }, + "npm:is-plain-object": { + "type": "npm", + "name": "npm:is-plain-object", + "data": { + "version": "5.0.0", + "packageName": "is-plain-object", + "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + } + }, + "npm:is-stream": { + "type": "npm", + "name": "npm:is-stream", + "data": { + "version": "3.0.0", + "packageName": "is-stream", + "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + } + }, + "npm:is-unicode-supported": { + "type": "npm", + "name": "npm:is-unicode-supported", + "data": { + "version": "0.1.0", + "packageName": "is-unicode-supported", + "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + } + }, + "npm:is-wsl": { + "type": "npm", + "name": "npm:is-wsl", + "data": { + "version": "2.2.0", + "packageName": "is-wsl", + "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + } + }, + "npm:isexe": { + "type": "npm", + "name": "npm:isexe", + "data": { + "version": "2.0.0", + "packageName": "isexe", + "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + } + }, + "npm:iso8601-duration": { + "type": "npm", + "name": "npm:iso8601-duration", + "data": { + "version": "1.3.0", + "packageName": "iso8601-duration", + "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" + } + }, + "npm:jest-diff": { + "type": "npm", + "name": "npm:jest-diff", + "data": { + "version": "29.7.0", + "packageName": "jest-diff", + "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" + } + }, + "npm:jest-get-type": { + "type": "npm", + "name": "npm:jest-get-type", + "data": { + "version": "29.6.3", + "packageName": "jest-get-type", + "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + } + }, + "npm:jju": { + "type": "npm", + "name": "npm:jju", + "data": { + "version": "1.4.0", + "packageName": "jju", + "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" + } + }, + "npm:js-tokens": { + "type": "npm", + "name": "npm:js-tokens", + "data": { + "version": "8.0.3", + "packageName": "js-tokens", + "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" + } + }, + "npm:js-yaml@3.14.1": { + "type": "npm", + "name": "npm:js-yaml@3.14.1", + "data": { + "version": "3.14.1", + "packageName": "js-yaml", + "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + } + }, + "npm:js-yaml": { + "type": "npm", + "name": "npm:js-yaml", + "data": { + "version": "4.1.0", + "packageName": "js-yaml", + "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + } + }, + "npm:json5": { + "type": "npm", + "name": "npm:json5", + "data": { + "version": "2.2.3", + "packageName": "json5", + "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + }, + "npm:jsonc-parser@3.2.0": { + "type": "npm", + "name": "npm:jsonc-parser@3.2.0", + "data": { + "version": "3.2.0", + "packageName": "jsonc-parser", + "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + } + }, + "npm:jsonc-parser": { + "type": "npm", + "name": "npm:jsonc-parser", + "data": { + "version": "3.2.1", + "packageName": "jsonc-parser", + "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + } + }, + "npm:jsonfile": { + "type": "npm", + "name": "npm:jsonfile", + "data": { + "version": "4.0.0", + "packageName": "jsonfile", + "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" + } + }, + "npm:jsonfile@6.1.0": { + "type": "npm", + "name": "npm:jsonfile@6.1.0", + "data": { + "version": "6.1.0", + "packageName": "jsonfile", + "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + } + }, + "npm:lines-and-columns": { + "type": "npm", + "name": "npm:lines-and-columns", + "data": { + "version": "2.0.4", + "packageName": "lines-and-columns", + "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" + } + }, + "npm:local-pkg": { + "type": "npm", + "name": "npm:local-pkg", + "data": { + "version": "0.5.0", + "packageName": "local-pkg", + "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" + } + }, + "npm:lodash.get": { + "type": "npm", + "name": "npm:lodash.get", + "data": { + "version": "4.4.2", + "packageName": "lodash.get", + "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + } + }, + "npm:lodash.isequal": { + "type": "npm", + "name": "npm:lodash.isequal", + "data": { + "version": "4.5.0", + "packageName": "lodash.isequal", + "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + } + }, + "npm:lodash.sortby": { + "type": "npm", + "name": "npm:lodash.sortby", + "data": { + "version": "4.7.0", + "packageName": "lodash.sortby", + "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + } + }, + "npm:log-symbols": { + "type": "npm", + "name": "npm:log-symbols", + "data": { + "version": "4.1.0", + "packageName": "log-symbols", + "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + } + }, + "npm:loupe": { + "type": "npm", + "name": "npm:loupe", + "data": { + "version": "2.3.7", + "packageName": "loupe", + "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" + } + }, + "npm:lru-cache": { + "type": "npm", + "name": "npm:lru-cache", + "data": { + "version": "6.0.0", + "packageName": "lru-cache", + "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + } + }, + "npm:magic-string": { + "type": "npm", + "name": "npm:magic-string", + "data": { + "version": "0.30.7", + "packageName": "magic-string", + "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" + } + }, + "npm:merge-stream": { + "type": "npm", + "name": "npm:merge-stream", + "data": { + "version": "2.0.0", + "packageName": "merge-stream", + "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + } + }, + "npm:mime-db": { + "type": "npm", + "name": "npm:mime-db", + "data": { + "version": "1.52.0", + "packageName": "mime-db", + "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + }, + "npm:mime-types": { + "type": "npm", + "name": "npm:mime-types", + "data": { + "version": "2.1.35", + "packageName": "mime-types", + "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + } + }, + "npm:mimic-fn@2.1.0": { + "type": "npm", + "name": "npm:mimic-fn@2.1.0", + "data": { + "version": "2.1.0", + "packageName": "mimic-fn", + "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + }, + "npm:mimic-fn": { + "type": "npm", + "name": "npm:mimic-fn", + "data": { + "version": "4.0.0", + "packageName": "mimic-fn", + "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + } + }, + "npm:minimatch@5.1.6": { + "type": "npm", + "name": "npm:minimatch@5.1.6", + "data": { + "version": "5.1.6", + "packageName": "minimatch", + "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" + } + }, + "npm:minimatch": { + "type": "npm", + "name": "npm:minimatch", + "data": { + "version": "9.0.3", + "packageName": "minimatch", + "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" + } + }, + "npm:minimist": { + "type": "npm", + "name": "npm:minimist", + "data": { + "version": "1.2.8", + "packageName": "minimist", + "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + } + }, + "npm:mlly": { + "type": "npm", + "name": "npm:mlly", + "data": { + "version": "1.6.1", + "packageName": "mlly", + "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" + } + }, + "npm:ms": { + "type": "npm", + "name": "npm:ms", + "data": { + "version": "2.1.2", + "packageName": "ms", + "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + }, + "npm:multi-fork": { + "type": "npm", + "name": "npm:multi-fork", + "data": { + "version": "0.0.2", + "packageName": "multi-fork", + "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" + } + }, + "npm:nanoid": { + "type": "npm", + "name": "npm:nanoid", + "data": { + "version": "3.3.7", + "packageName": "nanoid", + "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + } + }, + "npm:node-machine-id": { + "type": "npm", + "name": "npm:node-machine-id", + "data": { + "version": "1.1.12", + "packageName": "node-machine-id", + "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + } + }, + "npm:npm-run-path@4.0.1": { + "type": "npm", + "name": "npm:npm-run-path@4.0.1", + "data": { + "version": "4.0.1", + "packageName": "npm-run-path", + "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + } + }, + "npm:npm-run-path": { + "type": "npm", + "name": "npm:npm-run-path", + "data": { + "version": "5.3.0", + "packageName": "npm-run-path", + "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" + } + }, + "npm:nx": { + "type": "npm", + "name": "npm:nx", + "data": { + "version": "18.0.6", + "packageName": "nx", + "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" + } + }, + "npm:obuf": { + "type": "npm", + "name": "npm:obuf", + "data": { + "version": "1.1.2", + "packageName": "obuf", + "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + } + }, + "npm:once": { + "type": "npm", + "name": "npm:once", + "data": { + "version": "1.4.0", + "packageName": "once", + "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + } + }, + "npm:onetime@5.1.2": { + "type": "npm", + "name": "npm:onetime@5.1.2", + "data": { + "version": "5.1.2", + "packageName": "onetime", + "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + } + }, + "npm:onetime": { + "type": "npm", + "name": "npm:onetime", + "data": { + "version": "6.0.0", + "packageName": "onetime", + "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" + } + }, + "npm:open": { + "type": "npm", + "name": "npm:open", + "data": { + "version": "8.4.2", + "packageName": "open", + "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" + } + }, + "npm:ora": { + "type": "npm", + "name": "npm:ora", + "data": { + "version": "5.3.0", + "packageName": "ora", + "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" + } + }, + "npm:p-defer": { + "type": "npm", + "name": "npm:p-defer", + "data": { + "version": "3.0.0", + "packageName": "p-defer", + "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + } + }, + "npm:p-limit": { + "type": "npm", + "name": "npm:p-limit", + "data": { + "version": "5.0.0", + "packageName": "p-limit", + "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" + } + }, + "npm:packet-reader": { + "type": "npm", + "name": "npm:packet-reader", + "data": { + "version": "1.0.0", + "packageName": "packet-reader", + "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + } + }, + "npm:path-key": { + "type": "npm", + "name": "npm:path-key", + "data": { + "version": "3.1.1", + "packageName": "path-key", + "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + }, + "npm:path-key@4.0.0": { + "type": "npm", + "name": "npm:path-key@4.0.0", + "data": { + "version": "4.0.0", + "packageName": "path-key", + "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + }, + "npm:path-parse": { + "type": "npm", + "name": "npm:path-parse", + "data": { + "version": "1.0.7", + "packageName": "path-parse", + "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + } + }, + "npm:pathe": { + "type": "npm", + "name": "npm:pathe", + "data": { + "version": "1.1.2", + "packageName": "pathe", + "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + } + }, + "npm:pathval": { + "type": "npm", + "name": "npm:pathval", + "data": { + "version": "1.1.1", + "packageName": "pathval", + "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + } + }, + "npm:pg-cloudflare": { + "type": "npm", + "name": "npm:pg-cloudflare", + "data": { + "version": "1.1.1", + "packageName": "pg-cloudflare", + "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" + } + }, + "npm:pg-connection-string": { + "type": "npm", + "name": "npm:pg-connection-string", + "data": { + "version": "2.6.2", + "packageName": "pg-connection-string", + "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + } + }, + "npm:pg-copy-streams-binary": { + "type": "npm", + "name": "npm:pg-copy-streams-binary", + "data": { + "version": "2.2.0", + "packageName": "pg-copy-streams-binary", + "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" + } + }, + "npm:pg-copy-streams": { + "type": "npm", + "name": "npm:pg-copy-streams", + "data": { + "version": "6.0.6", + "packageName": "pg-copy-streams", + "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" + } + }, + "npm:pg-cursor": { + "type": "npm", + "name": "npm:pg-cursor", + "data": { + "version": "2.10.3", + "packageName": "pg-cursor", + "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" + } + }, + "npm:pg-int8": { + "type": "npm", + "name": "npm:pg-int8", + "data": { + "version": "1.0.1", + "packageName": "pg-int8", + "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + } + }, + "npm:pg-pool": { + "type": "npm", + "name": "npm:pg-pool", + "data": { + "version": "3.6.1", + "packageName": "pg-pool", + "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" + } + }, + "npm:pg-protocol": { + "type": "npm", + "name": "npm:pg-protocol", + "data": { + "version": "1.6.0", + "packageName": "pg-protocol", + "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + } + }, + "npm:pg-types": { + "type": "npm", + "name": "npm:pg-types", + "data": { + "version": "2.2.0", + "packageName": "pg-types", + "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" + } + }, + "npm:pg": { + "type": "npm", + "name": "npm:pg", + "data": { + "version": "8.11.3", + "packageName": "pg", + "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" + } + }, + "npm:pgpass": { + "type": "npm", + "name": "npm:pgpass", + "data": { + "version": "1.0.5", + "packageName": "pgpass", + "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" + } + }, + "npm:picocolors": { + "type": "npm", + "name": "npm:picocolors", + "data": { + "version": "1.0.0", + "packageName": "picocolors", + "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + }, + "npm:pkg-types": { + "type": "npm", + "name": "npm:pkg-types", + "data": { + "version": "1.0.3", + "packageName": "pkg-types", + "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" + } + }, + "npm:pony-cause": { + "type": "npm", + "name": "npm:pony-cause", + "data": { + "version": "2.1.10", + "packageName": "pony-cause", + "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" + } + }, + "npm:postcss": { + "type": "npm", + "name": "npm:postcss", + "data": { + "version": "8.4.35", + "packageName": "postcss", + "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" + } + }, + "npm:postgres-array@2.0.0": { + "type": "npm", + "name": "npm:postgres-array@2.0.0", + "data": { + "version": "2.0.0", + "packageName": "postgres-array", + "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + }, + "npm:postgres-array": { + "type": "npm", + "name": "npm:postgres-array", + "data": { + "version": "3.0.2", + "packageName": "postgres-array", + "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" + } + }, + "npm:postgres-bytea": { + "type": "npm", + "name": "npm:postgres-bytea", + "data": { + "version": "1.0.0", + "packageName": "postgres-bytea", + "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" + } + }, + "npm:postgres-date": { + "type": "npm", + "name": "npm:postgres-date", + "data": { + "version": "1.0.7", + "packageName": "postgres-date", + "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + } + }, + "npm:postgres-interval@1.2.0": { + "type": "npm", + "name": "npm:postgres-interval@1.2.0", + "data": { + "version": "1.2.0", + "packageName": "postgres-interval", + "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" + } + }, + "npm:postgres-interval": { + "type": "npm", + "name": "npm:postgres-interval", + "data": { + "version": "4.0.2", + "packageName": "postgres-interval", + "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" + } + }, + "npm:prettier": { + "type": "npm", + "name": "npm:prettier", + "data": { + "version": "3.2.4", + "packageName": "prettier", + "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" + } + }, + "npm:pretty-format": { + "type": "npm", + "name": "npm:pretty-format", + "data": { + "version": "29.7.0", + "packageName": "pretty-format", + "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" + } + }, + "npm:proxy-from-env": { + "type": "npm", + "name": "npm:proxy-from-env", + "data": { + "version": "1.1.0", + "packageName": "proxy-from-env", + "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + }, + "npm:punycode": { + "type": "npm", + "name": "npm:punycode", + "data": { + "version": "2.3.1", + "packageName": "punycode", + "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + } + }, + "npm:react-is": { + "type": "npm", + "name": "npm:react-is", + "data": { + "version": "18.2.0", + "packageName": "react-is", + "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + }, + "npm:readable-stream": { + "type": "npm", + "name": "npm:readable-stream", + "data": { + "version": "3.6.2", + "packageName": "readable-stream", + "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + } + }, + "npm:require-directory": { + "type": "npm", + "name": "npm:require-directory", + "data": { + "version": "2.1.1", + "packageName": "require-directory", + "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + } + }, + "npm:resolve": { + "type": "npm", + "name": "npm:resolve", + "data": { + "version": "1.22.8", + "packageName": "resolve", + "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" + } + }, + "npm:restore-cursor": { + "type": "npm", + "name": "npm:restore-cursor", + "data": { + "version": "3.1.0", + "packageName": "restore-cursor", + "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + } + }, + "npm:roarr": { + "type": "npm", + "name": "npm:roarr", + "data": { + "version": "7.21.0", + "packageName": "roarr", + "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" + } + }, + "npm:rollup": { + "type": "npm", + "name": "npm:rollup", + "data": { + "version": "4.12.0", + "packageName": "rollup", + "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" + } + }, + "npm:safe-buffer": { + "type": "npm", + "name": "npm:safe-buffer", + "data": { + "version": "5.2.1", + "packageName": "safe-buffer", + "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + }, + "npm:safe-stable-stringify": { + "type": "npm", + "name": "npm:safe-stable-stringify", + "data": { + "version": "2.4.3", + "packageName": "safe-stable-stringify", + "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + } + }, + "npm:semver-compare": { + "type": "npm", + "name": "npm:semver-compare", + "data": { + "version": "1.0.0", + "packageName": "semver-compare", + "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + } + }, + "npm:semver": { + "type": "npm", + "name": "npm:semver", + "data": { + "version": "7.5.4", + "packageName": "semver", + "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + } + }, + "npm:semver@7.6.0": { + "type": "npm", + "name": "npm:semver@7.6.0", + "data": { + "version": "7.6.0", + "packageName": "semver", + "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" + } + }, + "npm:serialize-error": { + "type": "npm", + "name": "npm:serialize-error", + "data": { + "version": "8.1.0", + "packageName": "serialize-error", + "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" + } + }, + "npm:shebang-command": { + "type": "npm", + "name": "npm:shebang-command", + "data": { + "version": "2.0.0", + "packageName": "shebang-command", + "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + } + }, + "npm:shebang-regex": { + "type": "npm", + "name": "npm:shebang-regex", + "data": { + "version": "3.0.0", + "packageName": "shebang-regex", + "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + } + }, + "npm:siginfo": { + "type": "npm", + "name": "npm:siginfo", + "data": { + "version": "2.0.0", + "packageName": "siginfo", + "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" + } + }, + "npm:signal-exit": { + "type": "npm", + "name": "npm:signal-exit", + "data": { + "version": "3.0.7", + "packageName": "signal-exit", + "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + } + }, + "npm:signal-exit@4.1.0": { + "type": "npm", + "name": "npm:signal-exit@4.1.0", + "data": { + "version": "4.1.0", + "packageName": "signal-exit", + "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + }, + "npm:slonik": { + "type": "npm", + "name": "npm:slonik", + "data": { + "version": "29.2.0", + "packageName": "slonik", + "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" + } + }, + "npm:source-map-js": { + "type": "npm", + "name": "npm:source-map-js", + "data": { + "version": "1.0.2", + "packageName": "source-map-js", + "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + } + }, + "npm:source-map": { + "type": "npm", + "name": "npm:source-map", + "data": { + "version": "0.8.0-beta.0", + "packageName": "source-map", + "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" + } + }, + "npm:split2": { + "type": "npm", + "name": "npm:split2", + "data": { + "version": "4.2.0", + "packageName": "split2", + "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + } + }, + "npm:sprintf-js": { + "type": "npm", + "name": "npm:sprintf-js", + "data": { + "version": "1.0.3", + "packageName": "sprintf-js", + "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + }, + "npm:stackback": { + "type": "npm", + "name": "npm:stackback", + "data": { + "version": "0.0.2", + "packageName": "stackback", + "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" + } + }, + "npm:std-env": { + "type": "npm", + "name": "npm:std-env", + "data": { + "version": "3.7.0", + "packageName": "std-env", + "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + } + }, + "npm:string-argv": { + "type": "npm", + "name": "npm:string-argv", + "data": { + "version": "0.3.2", + "packageName": "string-argv", + "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" + } + }, + "npm:string-width": { + "type": "npm", + "name": "npm:string-width", + "data": { + "version": "4.2.3", + "packageName": "string-width", + "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + } + }, + "npm:string_decoder": { + "type": "npm", + "name": "npm:string_decoder", + "data": { + "version": "1.3.0", + "packageName": "string_decoder", + "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + } + }, + "npm:strip-ansi": { + "type": "npm", + "name": "npm:strip-ansi", + "data": { + "version": "6.0.1", + "packageName": "strip-ansi", + "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + } + }, + "npm:strip-bom": { + "type": "npm", + "name": "npm:strip-bom", + "data": { + "version": "3.0.0", + "packageName": "strip-bom", + "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + }, + "npm:strip-final-newline": { + "type": "npm", + "name": "npm:strip-final-newline", + "data": { + "version": "3.0.0", + "packageName": "strip-final-newline", + "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + } + }, + "npm:strip-literal": { + "type": "npm", + "name": "npm:strip-literal", + "data": { + "version": "2.0.0", + "packageName": "strip-literal", + "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" + } + }, + "npm:strong-log-transformer": { + "type": "npm", + "name": "npm:strong-log-transformer", + "data": { + "version": "2.1.0", + "packageName": "strong-log-transformer", + "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" + } + }, + "npm:supports-color@7.2.0": { + "type": "npm", + "name": "npm:supports-color@7.2.0", + "data": { + "version": "7.2.0", + "packageName": "supports-color", + "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + } + }, + "npm:supports-color": { + "type": "npm", + "name": "npm:supports-color", + "data": { + "version": "8.1.1", + "packageName": "supports-color", + "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + } + }, + "npm:supports-preserve-symlinks-flag": { + "type": "npm", + "name": "npm:supports-preserve-symlinks-flag", + "data": { + "version": "1.0.0", + "packageName": "supports-preserve-symlinks-flag", + "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + } + }, + "npm:tar-stream": { + "type": "npm", + "name": "npm:tar-stream", + "data": { + "version": "2.2.0", + "packageName": "tar-stream", + "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + } + }, + "npm:through2@3.0.2": { + "type": "npm", + "name": "npm:through2@3.0.2", + "data": { + "version": "3.0.2", + "packageName": "through2", + "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + } + }, + "npm:through2": { + "type": "npm", + "name": "npm:through2", + "data": { + "version": "4.0.2", + "packageName": "through2", + "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + } + }, + "npm:through": { + "type": "npm", + "name": "npm:through", + "data": { + "version": "2.3.8", + "packageName": "through", + "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + } + }, + "npm:tinybench": { + "type": "npm", + "name": "npm:tinybench", + "data": { + "version": "2.6.0", + "packageName": "tinybench", + "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" + } + }, + "npm:tinypool": { + "type": "npm", + "name": "npm:tinypool", + "data": { + "version": "0.8.2", + "packageName": "tinypool", + "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" + } + }, + "npm:tinyspy": { + "type": "npm", + "name": "npm:tinyspy", + "data": { + "version": "2.2.1", + "packageName": "tinyspy", + "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" + } + }, + "npm:tmp": { + "type": "npm", + "name": "npm:tmp", + "data": { + "version": "0.2.3", + "packageName": "tmp", + "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" + } + }, + "npm:tr46": { + "type": "npm", + "name": "npm:tr46", + "data": { + "version": "1.0.1", + "packageName": "tr46", + "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" + } + }, + "npm:tsconfig-paths": { + "type": "npm", + "name": "npm:tsconfig-paths", + "data": { + "version": "4.2.0", + "packageName": "tsconfig-paths", + "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" + } + }, + "npm:tslib": { + "type": "npm", + "name": "npm:tslib", + "data": { + "version": "2.6.2", + "packageName": "tslib", + "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + }, + "npm:type-detect": { + "type": "npm", + "name": "npm:type-detect", + "data": { + "version": "4.0.8", + "packageName": "type-detect", + "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + } + }, + "npm:type-fest": { + "type": "npm", + "name": "npm:type-fest", + "data": { + "version": "0.20.2", + "packageName": "type-fest", + "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + }, + "npm:type-fest@4.10.3": { + "type": "npm", + "name": "npm:type-fest@4.10.3", + "data": { + "version": "4.10.3", + "packageName": "type-fest", + "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" + } + }, + "npm:typedarray": { + "type": "npm", + "name": "npm:typedarray", + "data": { + "version": "0.0.6", + "packageName": "typedarray", + "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + } + }, + "npm:typescript": { + "type": "npm", + "name": "npm:typescript", + "data": { + "version": "5.3.3", + "packageName": "typescript", + "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" + } + }, + "npm:ufo": { + "type": "npm", + "name": "npm:ufo", + "data": { + "version": "1.4.0", + "packageName": "ufo", + "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + } + }, + "npm:umzug": { + "type": "npm", + "name": "npm:umzug", + "data": { + "version": "3.7.0", + "packageName": "umzug", + "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" + } + }, + "npm:undici-types": { + "type": "npm", + "name": "npm:undici-types", + "data": { + "version": "5.26.5", + "packageName": "undici-types", + "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + } + }, + "npm:universalify": { + "type": "npm", + "name": "npm:universalify", + "data": { + "version": "0.1.2", + "packageName": "universalify", + "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + }, + "npm:universalify@2.0.1": { + "type": "npm", + "name": "npm:universalify@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "universalify", + "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + }, + "npm:util-deprecate": { + "type": "npm", + "name": "npm:util-deprecate", + "data": { + "version": "1.0.2", + "packageName": "util-deprecate", + "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + } + }, + "npm:uuid-parse": { + "type": "npm", + "name": "npm:uuid-parse", + "data": { + "version": "1.1.0", + "packageName": "uuid-parse", + "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" + } + }, + "npm:uuid": { + "type": "npm", + "name": "npm:uuid", + "data": { + "version": "8.3.2", + "packageName": "uuid", + "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + }, + "npm:validator": { + "type": "npm", + "name": "npm:validator", + "data": { + "version": "13.11.0", + "packageName": "validator", + "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" + } + }, + "npm:vite-node": { + "type": "npm", + "name": "npm:vite-node", + "data": { + "version": "1.3.1", + "packageName": "vite-node", + "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" + } + }, + "npm:vite": { + "type": "npm", + "name": "npm:vite", + "data": { + "version": "5.1.4", + "packageName": "vite", + "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" + } + }, + "npm:vitest": { + "type": "npm", + "name": "npm:vitest", + "data": { + "version": "1.3.1", + "packageName": "vitest", + "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" + } + }, + "npm:wcwidth": { + "type": "npm", + "name": "npm:wcwidth", + "data": { + "version": "1.0.1", + "packageName": "wcwidth", + "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" + } + }, + "npm:webidl-conversions": { + "type": "npm", + "name": "npm:webidl-conversions", + "data": { + "version": "4.0.2", + "packageName": "webidl-conversions", + "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + } + }, + "npm:whatwg-url": { + "type": "npm", + "name": "npm:whatwg-url", + "data": { + "version": "7.1.0", + "packageName": "whatwg-url", + "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + } + }, + "npm:which": { + "type": "npm", + "name": "npm:which", + "data": { + "version": "2.0.2", + "packageName": "which", + "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + } + }, + "npm:why-is-node-running": { + "type": "npm", + "name": "npm:why-is-node-running", + "data": { + "version": "2.2.2", + "packageName": "why-is-node-running", + "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" + } + }, + "npm:wrap-ansi": { + "type": "npm", + "name": "npm:wrap-ansi", + "data": { + "version": "7.0.0", + "packageName": "wrap-ansi", + "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + } + }, + "npm:wrappy": { + "type": "npm", + "name": "npm:wrappy", + "data": { + "version": "1.0.2", + "packageName": "wrappy", + "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "npm:xtend": { + "type": "npm", + "name": "npm:xtend", + "data": { + "version": "4.0.2", + "packageName": "xtend", + "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + }, + "npm:y18n": { + "type": "npm", + "name": "npm:y18n", + "data": { + "version": "5.0.8", + "packageName": "y18n", + "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + } + }, + "npm:yallist": { + "type": "npm", + "name": "npm:yallist", + "data": { + "version": "4.0.0", + "packageName": "yallist", + "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, + "npm:yargs-parser": { + "type": "npm", + "name": "npm:yargs-parser", + "data": { + "version": "21.1.1", + "packageName": "yargs-parser", + "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + }, + "npm:yargs": { + "type": "npm", + "name": "npm:yargs", + "data": { + "version": "17.7.2", + "packageName": "yargs", + "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" + } + }, + "npm:yocto-queue": { + "type": "npm", + "name": "npm:yocto-queue", + "data": { + "version": "1.0.0", + "packageName": "yocto-queue", + "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" + } + }, + "npm:z-schema": { + "type": "npm", + "name": "npm:z-schema", + "data": { + "version": "5.0.5", + "packageName": "z-schema", + "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" + } + } + }, + "dependencies": { + "shared-packets": [], + "@rusty-motors/thebeast": [ + { + "source": "@rusty-motors/thebeast", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:prettier", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:typescript", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:vitest", + "type": "static" + } + ], + "npm:@jest/schemas": [ + { + "source": "npm:@jest/schemas", + "target": "npm:@sinclair/typebox", + "type": "static" + } + ], + "npm:@nrwl/tao": [ + { + "source": "npm:@nrwl/tao", + "target": "npm:nx", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:tslib", + "type": "static" + } + ], + "npm:@rushstack/node-core-library": [ + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:fs-extra", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:import-lazy", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:jju", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:resolve", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:semver", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:z-schema", + "type": "static" + } + ], + "npm:@rushstack/terminal": [ + { + "source": "npm:@rushstack/terminal", + "target": "npm:@rushstack/node-core-library", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:supports-color", + "type": "static" + } + ], + "npm:@rushstack/ts-command-line": [ + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@rushstack/terminal", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@types/argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:string-argv", + "type": "static" + } + ], + "npm:@slonik/migrator": [ + { + "source": "npm:@slonik/migrator", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:umzug", + "type": "static" + } + ], + "npm:@types/node": [ + { + "source": "npm:@types/node", + "target": "npm:undici-types", + "type": "static" + } + ], + "npm:@vitest/expect": [ + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:chai", + "type": "static" + } + ], + "npm:@vitest/runner": [ + { + "source": "npm:@vitest/runner", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:p-limit", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:pathe", + "type": "static" + } + ], + "npm:@vitest/snapshot": [ + { + "source": "npm:@vitest/snapshot", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:@vitest/spy": [ + { + "source": "npm:@vitest/spy", + "target": "npm:tinyspy", + "type": "static" + } + ], + "npm:@vitest/utils": [ + { + "source": "npm:@vitest/utils", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:estree-walker", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:@yarnpkg/parsers": [ + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:js-yaml@3.14.1", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:tslib", + "type": "static" + } + ], + "npm:@zkochan/js-yaml": [ + { + "source": "npm:@zkochan/js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + } + ], + "npm:ansi-styles": [ + { + "source": "npm:ansi-styles", + "target": "npm:color-convert", + "type": "static" + } + ], + "npm:argparse": [ + { + "source": "npm:argparse", + "target": "npm:sprintf-js", + "type": "static" + } + ], + "npm:axios": [ + { + "source": "npm:axios", + "target": "npm:follow-redirects", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:form-data", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:proxy-from-env", + "type": "static" + } + ], + "npm:bl": [ + { + "source": "npm:bl", + "target": "npm:buffer", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:brace-expansion": [ + { + "source": "npm:brace-expansion", + "target": "npm:balanced-match", + "type": "static" + } + ], + "npm:buffer": [ + { + "source": "npm:buffer", + "target": "npm:base64-js", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:ieee754", + "type": "static" + } + ], + "npm:chai": [ + { + "source": "npm:chai", + "target": "npm:assertion-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:check-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:deep-eql", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:pathval", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:type-detect", + "type": "static" + } + ], + "npm:chalk": [ + { + "source": "npm:chalk", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:supports-color@7.2.0", + "type": "static" + } + ], + "npm:check-error": [ + { + "source": "npm:check-error", + "target": "npm:get-func-name", + "type": "static" + } + ], + "npm:cli-cursor": [ + { + "source": "npm:cli-cursor", + "target": "npm:restore-cursor", + "type": "static" + } + ], + "npm:cliui": [ + { + "source": "npm:cliui", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:wrap-ansi", + "type": "static" + } + ], + "npm:color-convert": [ + { + "source": "npm:color-convert", + "target": "npm:color-name", + "type": "static" + } + ], + "npm:combined-stream": [ + { + "source": "npm:combined-stream", + "target": "npm:delayed-stream", + "type": "static" + } + ], + "npm:concat-stream": [ + { + "source": "npm:concat-stream", + "target": "npm:buffer-from", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:typedarray", + "type": "static" + } + ], + "npm:cross-spawn": [ + { + "source": "npm:cross-spawn", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:shebang-command", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:which", + "type": "static" + } + ], + "npm:debug": [ + { + "source": "npm:debug", + "target": "npm:ms", + "type": "static" + } + ], + "npm:deep-eql": [ + { + "source": "npm:deep-eql", + "target": "npm:type-detect", + "type": "static" + } + ], + "npm:defaults": [ + { + "source": "npm:defaults", + "target": "npm:clone", + "type": "static" + } + ], + "npm:end-of-stream": [ + { + "source": "npm:end-of-stream", + "target": "npm:once", + "type": "static" + } + ], + "npm:enquirer": [ + { + "source": "npm:enquirer", + "target": "npm:ansi-colors", + "type": "static" + } + ], + "npm:esbuild": [ + { + "source": "npm:esbuild", + "target": "npm:@esbuild/aix-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-loong64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-mips64el", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-riscv64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-s390x", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/netbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/openbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/sunos-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-x64", + "type": "static" + } + ], + "npm:estree-walker": [ + { + "source": "npm:estree-walker", + "target": "npm:@types/estree", + "type": "static" + } + ], + "npm:execa": [ + { + "source": "npm:execa", + "target": "npm:cross-spawn", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:get-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:human-signals", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:is-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:merge-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:npm-run-path", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:onetime", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:signal-exit@4.1.0", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:strip-final-newline", + "type": "static" + } + ], + "npm:fast-printf": [ + { + "source": "npm:fast-printf", + "target": "npm:boolean", + "type": "static" + } + ], + "npm:figures": [ + { + "source": "npm:figures", + "target": "npm:escape-string-regexp", + "type": "static" + } + ], + "npm:form-data": [ + { + "source": "npm:form-data", + "target": "npm:asynckit", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:combined-stream", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:mime-types", + "type": "static" + } + ], + "npm:fs-extra@11.2.0": [ + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:jsonfile@6.1.0", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:universalify@2.0.1", + "type": "static" + } + ], + "npm:fs-extra": [ + { + "source": "npm:fs-extra", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:jsonfile", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:universalify", + "type": "static" + } + ], + "npm:get-stack-trace": [ + { + "source": "npm:get-stack-trace", + "target": "npm:bluebird", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:source-map", + "type": "static" + } + ], + "npm:glob": [ + { + "source": "npm:glob", + "target": "npm:fs.realpath", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inflight", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:minimatch@5.1.6", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:once", + "type": "static" + } + ], + "npm:hasown": [ + { + "source": "npm:hasown", + "target": "npm:function-bind", + "type": "static" + } + ], + "npm:hyperid": [ + { + "source": "npm:hyperid", + "target": "npm:uuid", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid-parse", + "type": "static" + } + ], + "npm:inflight": [ + { + "source": "npm:inflight", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:wrappy", + "type": "static" + } + ], + "npm:is-core-module": [ + { + "source": "npm:is-core-module", + "target": "npm:hasown", + "type": "static" + } + ], + "npm:is-wsl": [ + { + "source": "npm:is-wsl", + "target": "npm:is-docker", + "type": "static" + } + ], + "npm:jest-diff": [ + { + "source": "npm:jest-diff", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:jest-get-type", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:js-yaml@3.14.1": [ + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:esprima", + "type": "static" + } + ], + "npm:js-yaml": [ + { + "source": "npm:js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + } + ], + "npm:jsonfile": [ + { + "source": "npm:jsonfile", + "target": "npm:graceful-fs", + "type": "static" + } + ], + "npm:jsonfile@6.1.0": [ + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:graceful-fs", + "type": "static" + } + ], + "npm:local-pkg": [ + { + "source": "npm:local-pkg", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:pkg-types", + "type": "static" + } + ], + "npm:log-symbols": [ + { + "source": "npm:log-symbols", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:is-unicode-supported", + "type": "static" + } + ], + "npm:loupe": [ + { + "source": "npm:loupe", + "target": "npm:get-func-name", + "type": "static" + } + ], + "npm:lru-cache": [ + { + "source": "npm:lru-cache", + "target": "npm:yallist", + "type": "static" + } + ], + "npm:magic-string": [ + { + "source": "npm:magic-string", + "target": "npm:@jridgewell/sourcemap-codec", + "type": "static" + } + ], + "npm:mime-types": [ + { + "source": "npm:mime-types", + "target": "npm:mime-db", + "type": "static" + } + ], + "npm:minimatch@5.1.6": [ + { + "source": "npm:minimatch@5.1.6", + "target": "npm:brace-expansion", + "type": "static" + } + ], + "npm:minimatch": [ + { + "source": "npm:minimatch", + "target": "npm:brace-expansion", + "type": "static" + } + ], + "npm:mlly": [ + { + "source": "npm:mlly", + "target": "npm:acorn", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:ufo", + "type": "static" + } + ], + "npm:npm-run-path@4.0.1": [ + { + "source": "npm:npm-run-path@4.0.1", + "target": "npm:path-key", + "type": "static" + } + ], + "npm:npm-run-path": [ + { + "source": "npm:npm-run-path", + "target": "npm:path-key@4.0.0", + "type": "static" + } + ], + "npm:nx": [ + { + "source": "npm:nx", + "target": "npm:@nrwl/tao", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/lockfile", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/parsers", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@zkochan/js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:axios", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv-expand", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:enquirer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:figures", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:flat", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:fs-extra@11.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ignore", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jest-diff", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jsonc-parser@3.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:lines-and-columns", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:minimatch", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:node-machine-id", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:npm-run-path@4.0.1", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:open", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ora", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:semver@7.6.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:strong-log-transformer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tar-stream", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tmp", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tsconfig-paths", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-arm64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-freebsd-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-x64-msvc", + "type": "static" + } + ], + "npm:once": [ + { + "source": "npm:once", + "target": "npm:wrappy", + "type": "static" + } + ], + "npm:onetime@5.1.2": [ + { + "source": "npm:onetime@5.1.2", + "target": "npm:mimic-fn@2.1.0", + "type": "static" + } + ], + "npm:onetime": [ + { + "source": "npm:onetime", + "target": "npm:mimic-fn", + "type": "static" + } + ], + "npm:open": [ + { + "source": "npm:open", + "target": "npm:define-lazy-prop", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-wsl", + "type": "static" + } + ], + "npm:ora": [ + { + "source": "npm:ora", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:is-interactive", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:log-symbols", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:wcwidth", + "type": "static" + } + ], + "npm:p-limit": [ + { + "source": "npm:p-limit", + "target": "npm:yocto-queue", + "type": "static" + } + ], + "npm:pg-copy-streams-binary": [ + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bufferput", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:int64-buffer", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:multi-fork", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:through2@3.0.2", + "type": "static" + } + ], + "npm:pg-copy-streams": [ + { + "source": "npm:pg-copy-streams", + "target": "npm:obuf", + "type": "static" + } + ], + "npm:pg-cursor": [ + { + "source": "npm:pg-cursor", + "target": "npm:pg", + "type": "static" + } + ], + "npm:pg-pool": [ + { + "source": "npm:pg-pool", + "target": "npm:pg", + "type": "static" + } + ], + "npm:pg-types": [ + { + "source": "npm:pg-types", + "target": "npm:pg-int8", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-array@2.0.0", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-bytea", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-date", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-interval@1.2.0", + "type": "static" + } + ], + "npm:pg": [ + { + "source": "npm:pg", + "target": "npm:buffer-writer", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:packet-reader", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-connection-string", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-pool", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-types", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pgpass", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-cloudflare", + "type": "static" + } + ], + "npm:pgpass": [ + { + "source": "npm:pgpass", + "target": "npm:split2", + "type": "static" + } + ], + "npm:pkg-types": [ + { + "source": "npm:pkg-types", + "target": "npm:jsonc-parser", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:pathe", + "type": "static" + } + ], + "npm:postcss": [ + { + "source": "npm:postcss", + "target": "npm:nanoid", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:source-map-js", + "type": "static" + } + ], + "npm:postgres-interval@1.2.0": [ + { + "source": "npm:postgres-interval@1.2.0", + "target": "npm:xtend", + "type": "static" + } + ], + "npm:pretty-format": [ + { + "source": "npm:pretty-format", + "target": "npm:@jest/schemas", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:ansi-styles@5.2.0", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:react-is", + "type": "static" + } + ], + "npm:readable-stream": [ + { + "source": "npm:readable-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:string_decoder", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:util-deprecate", + "type": "static" + } + ], + "npm:resolve": [ + { + "source": "npm:resolve", + "target": "npm:is-core-module", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:path-parse", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:supports-preserve-symlinks-flag", + "type": "static" + } + ], + "npm:restore-cursor": [ + { + "source": "npm:restore-cursor", + "target": "npm:onetime@5.1.2", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:signal-exit", + "type": "static" + } + ], + "npm:roarr": [ + { + "source": "npm:roarr", + "target": "npm:fast-printf", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:safe-stable-stringify", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:semver-compare", + "type": "static" + } + ], + "npm:rollup": [ + { + "source": "npm:rollup", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm-eabi", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-x64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-riscv64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-ia32-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:fsevents", + "type": "static" + } + ], + "npm:semver": [ + { + "source": "npm:semver", + "target": "npm:lru-cache", + "type": "static" + } + ], + "npm:semver@7.6.0": [ + { + "source": "npm:semver@7.6.0", + "target": "npm:lru-cache", + "type": "static" + } + ], + "npm:serialize-error": [ + { + "source": "npm:serialize-error", + "target": "npm:type-fest", + "type": "static" + } + ], + "npm:shebang-command": [ + { + "source": "npm:shebang-command", + "target": "npm:shebang-regex", + "type": "static" + } + ], + "npm:slonik": [ + { + "source": "npm:slonik", + "target": "npm:concat-stream", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:es6-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:fast-safe-stringify", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:get-stack-trace", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:hyperid", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:is-plain-object", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:iso8601-duration", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:p-defer", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams-binary", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-cursor", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-array", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-interval", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:roarr", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:serialize-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:through2", + "type": "static" + } + ], + "npm:source-map": [ + { + "source": "npm:source-map", + "target": "npm:whatwg-url", + "type": "static" + } + ], + "npm:string-width": [ + { + "source": "npm:string-width", + "target": "npm:emoji-regex", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:is-fullwidth-code-point", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:strip-ansi", + "type": "static" + } + ], + "npm:string_decoder": [ + { + "source": "npm:string_decoder", + "target": "npm:safe-buffer", + "type": "static" + } + ], + "npm:strip-ansi": [ + { + "source": "npm:strip-ansi", + "target": "npm:ansi-regex", + "type": "static" + } + ], + "npm:strip-literal": [ + { + "source": "npm:strip-literal", + "target": "npm:js-tokens", + "type": "static" + } + ], + "npm:strong-log-transformer": [ + { + "source": "npm:strong-log-transformer", + "target": "npm:duplexer", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:through", + "type": "static" + } + ], + "npm:supports-color@7.2.0": [ + { + "source": "npm:supports-color@7.2.0", + "target": "npm:has-flag", + "type": "static" + } + ], + "npm:supports-color": [ + { + "source": "npm:supports-color", + "target": "npm:has-flag", + "type": "static" + } + ], + "npm:tar-stream": [ + { + "source": "npm:tar-stream", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:end-of-stream", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:fs-constants", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:through2@3.0.2": [ + { + "source": "npm:through2@3.0.2", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:through2": [ + { + "source": "npm:through2", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:tr46": [ + { + "source": "npm:tr46", + "target": "npm:punycode", + "type": "static" + } + ], + "npm:tsconfig-paths": [ + { + "source": "npm:tsconfig-paths", + "target": "npm:json5", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:strip-bom", + "type": "static" + } + ], + "npm:umzug": [ + { + "source": "npm:umzug", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:emittery", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:glob", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:pony-cause", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:type-fest@4.10.3", + "type": "static" + } + ], + "npm:vite-node": [ + { + "source": "npm:vite-node", + "target": "npm:cac", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:vite", + "type": "static" + } + ], + "npm:vite": [ + { + "source": "npm:vite", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:esbuild", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:postcss", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:rollup", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:fsevents", + "type": "static" + } + ], + "npm:vitest": [ + { + "source": "npm:vitest", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/expect", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/runner", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/snapshot", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:acorn-walk", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:execa", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:local-pkg", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:std-env", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:strip-literal", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinybench", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinypool", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite-node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:why-is-node-running", + "type": "static" + } + ], + "npm:wcwidth": [ + { + "source": "npm:wcwidth", + "target": "npm:defaults", + "type": "static" + } + ], + "npm:whatwg-url": [ + { + "source": "npm:whatwg-url", + "target": "npm:lodash.sortby", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:tr46", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:webidl-conversions", + "type": "static" + } + ], + "npm:which": [ + { + "source": "npm:which", + "target": "npm:isexe", + "type": "static" + } + ], + "npm:why-is-node-running": [ + { + "source": "npm:why-is-node-running", + "target": "npm:siginfo", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:stackback", + "type": "static" + } + ], + "npm:wrap-ansi": [ + { + "source": "npm:wrap-ansi", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:strip-ansi", + "type": "static" + } + ], + "npm:yargs": [ + { + "source": "npm:yargs", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:escalade", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:get-caller-file", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:require-directory", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:y18n", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:yargs-parser", + "type": "static" + } + ], + "npm:z-schema": [ + { + "source": "npm:z-schema", + "target": "npm:lodash.get", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.isequal", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:validator", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:commander", + "type": "static" + } + ] + }, + "version": "6.0" +} diff --git a/.nx/cache/run.json b/.nx/cache/run.json new file mode 100644 index 000000000..81f6d09de --- /dev/null +++ b/.nx/cache/run.json @@ -0,0 +1,21 @@ +{ + "run": { + "command": "nx build shared-packets", + "startTime": "2024-03-01T02:15:27.341Z", + "endTime": "2024-03-01T02:15:28.753Z", + "inner": false + }, + "tasks": [ + { + "taskId": "shared-packets:build", + "target": "build", + "projectName": "shared-packets", + "hash": "6406529228893083755", + "startTime": "2024-03-01T02:15:27.344Z", + "endTime": "2024-03-01T02:15:28.752Z", + "params": "", + "cacheStatus": "cache-miss", + "status": 0 + } + ] +} \ No newline at end of file diff --git a/package.json b/package.json index f3661e19c..69b1bedf5 100644 --- a/package.json +++ b/package.json @@ -5,8 +5,7 @@ "main": "index.js", "type": "module", "scripts": { - "start": "npm --workspace thebeast start", - "test": "npm --workspace thebeast test" + "test": "pnpm test --filter thebeast" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -18,10 +17,10 @@ "workspaces": [ "thebeast" ], - "packageManager": "yarn@4.1.0", "devDependencies": { "@slonik/migrator": "^0.12.0", "@types/node": "^20.11.16", + "nx": "^18.0.6", "prettier": "3.2.4", "typescript": "^5.3.3", "vitest": "^1.3.1" diff --git a/packages/shared-packets/.gitignore b/packages/shared-packets/.gitignore new file mode 100644 index 000000000..5d701ac48 --- /dev/null +++ b/packages/shared-packets/.gitignore @@ -0,0 +1,3 @@ + +.nx/installation +.nx/cache \ No newline at end of file diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts new file mode 100644 index 000000000..2761ea540 --- /dev/null +++ b/packages/shared-packets/index.ts @@ -0,0 +1 @@ +export * from './src/interfaces.js'; \ No newline at end of file diff --git a/packages/shared-packets/nx b/packages/shared-packets/nx new file mode 100755 index 000000000..e94326e36 --- /dev/null +++ b/packages/shared-packets/nx @@ -0,0 +1,5 @@ +#!/bin/bash +command -v node >/dev/null 2>&1 || { echo >&2 "Nx requires NodeJS to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ ."; exit 1; } +command -v npm >/dev/null 2>&1 || { echo >&2 "Nx requires npm to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ ."; exit 1; } +path_to_root=$(dirname $BASH_SOURCE) +node $path_to_root/.nx/nxw.js $@ \ No newline at end of file diff --git a/packages/shared-packets/nx.bat b/packages/shared-packets/nx.bat new file mode 100644 index 000000000..2535514d5 --- /dev/null +++ b/packages/shared-packets/nx.bat @@ -0,0 +1,6 @@ +set path_to_root=%~dp0 +WHERE node >nul 2>nul +IF %ERRORLEVEL% NEQ 0 (ECHO Nx requires NodeJS to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ .; EXIT 1) +WHERE npm >nul 2>nul +IF %ERRORLEVEL% NEQ 0 (ECHO Nx requires npm to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ .; EXIT 1) +node %path_to_root%\.nx\nxw.js %* \ No newline at end of file diff --git a/packages/shared-packets/nx.json b/packages/shared-packets/nx.json new file mode 100644 index 000000000..bb1bdac29 --- /dev/null +++ b/packages/shared-packets/nx.json @@ -0,0 +1,22 @@ +{ + "targetDefaults": { + "build": { + "cache": true, + "dependsOn": [ + "^build" + ] + }, + "lint": { + "cache": true + }, + "test": { + "cache": true + }, + "e2e": { + "cache": true + } + }, + "installation": { + "version": "18.0.6" + } +} diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json new file mode 100644 index 000000000..d7e195475 --- /dev/null +++ b/packages/shared-packets/package.json @@ -0,0 +1,14 @@ +{ + "name": "shared-packets", + "private": true, + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build": "rm -rf dist && tsc", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/packages/shared-packets/src/BasePacket.ts b/packages/shared-packets/src/BasePacket.ts new file mode 100644 index 000000000..19f4e8404 --- /dev/null +++ b/packages/shared-packets/src/BasePacket.ts @@ -0,0 +1,53 @@ +import { ISerializable } from "./interfaces.js"; + +export class Serializable implements ISerializable { + protected _data: Buffer = Buffer.alloc(0); + + protected _asHex(bytes: Buffer): string { + return bytes.length % 2 === 0 + ? bytes.toString("hex") + : bytes.toString("hex") + "0"; + } + + protected _assertEnoughData(data: Buffer, expected: number) { + if (data.length < expected) { + throw new Error( + `Data is too short. Expected at least ${expected} bytes, got ${ + data.length + } bytes`, + ); + } + } + + + serialize(): Buffer { + return this._data; + } + deserialize(data: Buffer): void { + this._data = data; + } + getByteSize(): number { + return this._data.length; + } + asHexString(): string { + return this._asHex(this._data); + } +} + +export class BasePacket extends Serializable implements ISerializable { + private header: ISerializable = new Serializable(); + + override serialize(): Buffer { + return Buffer.concat([this.header.serialize(), this._data]); + } + override deserialize(data: Buffer): void { + this.header.deserialize(data); + this._data = data.subarray(this.header.getByteSize()); + } + override getByteSize(): number { + return this.header.getByteSize() + this._data.length; + } + override asHexString(): string { + return this.serialize().toString("hex"); + } +} diff --git a/packages/shared-packets/src/GameMessage.ts b/packages/shared-packets/src/GameMessage.ts new file mode 100644 index 000000000..2d56e1618 --- /dev/null +++ b/packages/shared-packets/src/GameMessage.ts @@ -0,0 +1,171 @@ +import { Serializable } from "./BasePacket.js"; +import { ISerializable, IMessage } from "./interfaces.js"; + +/** + * + */ +export class GameMessageHeader extends Serializable implements ISerializable { + // Version 0: 4 bytes + private id: number = 0; // 2 bytes + private length: number = 0; // 2 bytes + + // Version 1: v0 + 8 bytes + private version: 0 | 257 = 0; // 2 bytes + // Padding: 2 bytes (always 0) + // Length: 4 bytes (same as v0 length) + + constructor(version: 0 | 1) { + super(); + this.version = version === 0 ? 0 : 257; + } + + getDataOffset(): number { + return this.getVersion() === 0 ? 4 : 12; + } + override getByteSize(): number { + return this.getVersion() === 0 ? 4 : 12; + } + + getVersion(): number { + return this.version; + } + getId(): number { + return this.id; + } + getLength(): number { + return this.length; + } + setVersion(version: 0 | 257): void { + if (version !== 0 && version !== 257) { + throw new Error(`Invalid version: ${version}`); + } + this.version = version; + } + setId(id: number): void { + this.id = id; + } + setLength(length: number): void { + this.length = length; + } + + private serializeV0(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16BE(this.id, 0); + buffer.writeUInt16BE(this.length, 2); + + return buffer; + } + + private serializeV1(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16BE(this.id, 0); + buffer.writeUInt16BE(this.length, 2); + buffer.writeUInt16BE(this.version, 4); + buffer.writeUInt16BE(0, 6); + buffer.writeUInt32BE(this.length, 8); + + return buffer; + } + + override serialize(): Buffer { + return this.version === 0 ? this.serializeV0() : this.serializeV1(); + } + + private deserializeV0(data: Buffer): GameMessageHeader { + try { + this.id = data.readUInt16BE(0); + this.length = data.readUInt16BE(2); + return this; + } catch (error) { + throw Error( + `Error deserializing v0 header: ${(error as Error).message}`, + ); + } + } + + private deserializeV1(data: Buffer): GameMessageHeader { + try { + this.id = data.readUInt16BE(0); + this.length = data.readUInt16BE(2); + // Skip version + // Skip padding + this.length = data.readUInt32BE(8); + return this; + } catch (error) { + throw Error( + `Error deserializing v1 header: ${(error as Error).message}`, + ); + } + } + + override deserialize(data: Buffer): GameMessageHeader { + this._assertEnoughData(data, this.getByteSize()); + + return this.version === 0 + ? this.deserializeV0(data) + : this.deserializeV1(data); + } +} + +export class GameMessage extends Serializable implements IMessage { + header: GameMessageHeader; + data: ISerializable; + + constructor(version: 0 | 1) { + super(); + this.header = new GameMessageHeader(version); + this.data = new Serializable(); + } + getDataBuffer(): Buffer { + return this.data.serialize(); + } + setDataBuffer(data: Buffer): void { + this.data.deserialize(data); + } + /** The message length is the length of the message data, not including the id */ + override getByteSize(): number { + return this.header.getByteSize() + this.data.getByteSize(); + } + getData(): ISerializable { + return this.data; + } + setData(data: ISerializable): void { + this.data = data; + } + override serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + const headerBuffer = this.header.serialize(); + const dataBuffer = this.getDataBuffer(); + + headerBuffer.copy(buffer); + dataBuffer.copy(buffer, this.header.getDataOffset()); + return buffer; + } + override deserialize(data: Buffer): GameMessage { + this._assertEnoughData(data, this.header.getByteSize()); + + this.header.deserialize(data); + this.setDataBuffer(data.subarray(this.header.getDataOffset())); + + return this; + } + + override toString(): string { + return `Id: ${this.header.getId()} + Length: ${this.header.getLength()} + Data: ${this.data.toString()}`; + } + + static identifyVersion(data: Buffer): 0 | 257 { + if (data.length < 6) { + return 0; + } + + const version = data.readUInt16BE(4); + if (version !== 257) { + return 0; + } + + return 257; + } +} diff --git a/packages/shared-packets/src/ServerMessage.ts b/packages/shared-packets/src/ServerMessage.ts new file mode 100644 index 000000000..c7c8a8642 --- /dev/null +++ b/packages/shared-packets/src/ServerMessage.ts @@ -0,0 +1,142 @@ +import { Serializable } from "./BasePacket.js"; +import { ISerializable, IMessage } from "./interfaces.js"; + +/** + * + */ +export class ServerMessageHeader extends Serializable implements ISerializable { + // All fields are little-endian + private length: number = 0; // 2 bytes + private signature: string = ''; // 4 bytes + private sequence: number = 0; // 4 bytes + private flags: number = 0; // 1 + + getDataOffset(): number { + return 11; + } + override getByteSize(): number { + return 11; + } + + getLength(): number { + return this.length; + } + + override serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16LE(this.length, 0); + buffer.write(this.signature, 2, 4, "ascii"); + buffer.writeUInt32LE(this.sequence, 6); + buffer.writeUInt8(this.flags, 10); + + return buffer; + } + + override deserialize(data: Buffer): ServerMessageHeader { + this._assertEnoughData(data, this.getByteSize()); + + this.length = data.readUInt16LE(0); + this.signature = data.toString("utf8", 2, 6); + this.sequence = data.readUInt32LE(6); + this.flags = data.readUInt8(10); + + return this; + } + + isValidSignature(): boolean { + return this.signature === "TOMC"; + } + + isPayloadEncrypted(): boolean { + // Does the flags bitmask contain have 0x08 set? + return (this.flags >= 0x08); + } + + togglePayloadEncryption(): ServerMessageHeader { + this.flags ^= 0x08; + return this; + } +} + +export class ServerMessagePayload extends Serializable implements ISerializable { + private messageId: number = 0; // 2 bytes + + override getByteSize(): number { + return 2 + this._data.length; + } + + override serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16LE(this.messageId, 0); + this._data.copy(buffer, 2); + + return buffer; + } + + override deserialize(data: Buffer): ServerMessagePayload { + this._assertEnoughData(data, 2); + + this.messageId = data.readUInt16LE(0); + this._data = data.subarray(2); + + return this; + } + + getMessageId(): number { + return this.messageId; + } + + setMessageId(messageId: number): ServerMessagePayload { + this.messageId = messageId; + return this; + } + +} + + +export class ServerMessage extends Serializable implements IMessage { + header: ServerMessageHeader; + data: ServerMessagePayload + + constructor(messageId: number) { + super(); + this.header = new ServerMessageHeader(); + this.data = new ServerMessagePayload().setMessageId(messageId); + } + getDataBuffer(): Buffer { + return this.data.serialize(); + } + setDataBuffer(data: Buffer): ServerMessage { + this.data.deserialize(data); + return this; + } + /** The message length is the length of the message data, not including the id */ + override getByteSize(): number { + return this.header.getByteSize() + this.data.getByteSize(); + } + getData(): ISerializable { + return this.data; + } + setData(data: ServerMessagePayload): ServerMessage { + this.data = data; + return this; + } + override serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + const headerBuffer = this.header.serialize(); + const dataBuffer = this.getDataBuffer(); + + headerBuffer.copy(buffer); + dataBuffer.copy(buffer, this.header.getDataOffset()); + + return buffer; + } + override deserialize(data: Buffer): ServerMessage { + this._assertEnoughData(data, this.header.getByteSize()); + + this.header.deserialize(data); + this.setDataBuffer(data.subarray(this.header.getDataOffset())); + + return this; + } +} diff --git a/packages/shared-packets/src/interfaces.ts b/packages/shared-packets/src/interfaces.ts new file mode 100644 index 000000000..6d760c67c --- /dev/null +++ b/packages/shared-packets/src/interfaces.ts @@ -0,0 +1,14 @@ +export interface ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + asHexString(): string; +} + +export interface IMessage extends ISerializable { + header: ISerializable; + getData(): ISerializable; + getDataBuffer(): Buffer; + setData(data: ISerializable): void; + setDataBuffer(data: Buffer): void; +} diff --git a/packages/shared-packets/tsconfig.json b/packages/shared-packets/tsconfig.json new file mode 100644 index 000000000..6bc9e2084 --- /dev/null +++ b/packages/shared-packets/tsconfig.json @@ -0,0 +1,109 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ + + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + + /* Language and Environment */ + "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + + /* Modules */ + "module": "commonjs", /* Specify what module code is generated. */ + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./dist", /* Specify an output folder for all emitted files. */ + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + + /* Type Checking */ + "strict": true, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml new file mode 100644 index 000000000..cf914299a --- /dev/null +++ b/pnpm-lock.yaml @@ -0,0 +1,5058 @@ +lockfileVersion: '6.0' + +settings: + autoInstallPeers: true + excludeLinksFromLockfile: false + +importers: + + .: + dependencies: + slonik: + specifier: '29' + version: 29.2.0 + devDependencies: + '@slonik/migrator': + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + '@types/node': + specifier: ^20.11.16 + version: 20.11.24 + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + packages/shared-packets: {} + + thebeast: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + '@sentry/profiling-node': + specifier: ^7.102.0 + version: 7.104.0 + '@types/connect': + specifier: ^3.4.38 + version: 3.4.38 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + moment: + specifier: ^2.30.1 + version: 2.30.1 + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + sqlite3: + specifier: ^5.1.7 + version: 5.1.7 + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) + tslib: + specifier: ^2.6.2 + version: 2.6.2 + devDependencies: + '@sentry/cli': + specifier: ^2.23.2 + version: 2.28.6 + '@tsconfig/node-lts': + specifier: ^20.1.1 + version: 20.1.1 + '@tsconfig/node20': + specifier: ^20.1.2 + version: 20.1.2 + '@types/chai': + specifier: 4.3.11 + version: 4.3.11 + '@types/node': + specifier: ^20.10.6 + version: 20.11.24 + '@types/sinon': + specifier: 17.0.3 + version: 17.0.3 + '@types/sinon-chai': + specifier: 3.2.12 + version: 3.2.12 + '@typescript-eslint/eslint-plugin': + specifier: ^6.17.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/parser': + specifier: ^6.17.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@vitest/coverage-v8': + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.56.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.2 + version: 5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1) + jsdoc: + specifier: ^4.0.2 + version: 4.0.2 + prettier: + specifier: 3.1.1 + version: 3.1.1 + prettier-eslint: + specifier: 16.2.0 + version: 16.2.0 + tsx: + specifier: 4.7.0 + version: 4.7.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + typescript-eslint-language-service: + specifier: ^5.0.5 + version: 5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + zod: + specifier: ^3.22.4 + version: 3.22.4 + +packages: + + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.2.1: + resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.4 + '@jridgewell/trace-mapping': 0.3.23 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: false + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@gar/promisify@1.1.3: + resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} + requiresBuild: true + dev: false + optional: true + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.4: + resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.23 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.23: + resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /@jsdoc/salty@0.2.7: + resolution: {integrity: sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==} + engines: {node: '>=v12.0.0'} + dependencies: + lodash: 4.17.21 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@npmcli/fs@1.1.1: + resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} + requiresBuild: true + dependencies: + '@gar/promisify': 1.1.3 + semver: 7.6.0 + dev: false + optional: true + + /@npmcli/move-file@1.1.2: + resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} + engines: {node: '>=10'} + deprecated: This functionality has been moved to @npmcli/fs + requiresBuild: true + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: false + optional: true + + /@nrwl/tao@18.0.6: + resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@18.0.6: + resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@18.0.6: + resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@types/node': 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.18.0(@types/node@20.11.24): + resolution: {integrity: sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/cli-darwin@2.28.6: + resolution: {integrity: sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==} + engines: {node: '>=10'} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-arm64@2.28.6: + resolution: {integrity: sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-arm@2.28.6: + resolution: {integrity: sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-i686@2.28.6: + resolution: {integrity: sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-x64@2.28.6: + resolution: {integrity: sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-win32-i686@2.28.6: + resolution: {integrity: sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-win32-x64@2.28.6: + resolution: {integrity: sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli@2.28.6: + resolution: {integrity: sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==} + engines: {node: '>= 10'} + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 2.28.6 + '@sentry/cli-linux-arm': 2.28.6 + '@sentry/cli-linux-arm64': 2.28.6 + '@sentry/cli-linux-i686': 2.28.6 + '@sentry/cli-linux-x64': 2.28.6 + '@sentry/cli-win32-i686': 2.28.6 + '@sentry/cli-win32-x64': 2.28.6 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /@sentry/core@7.104.0: + resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.104.0 + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.104.0: + resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.18.0(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@tootallnate/once@1.1.2: + resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} + engines: {node: '>= 6'} + requiresBuild: true + dev: false + optional: true + + /@tsconfig/node-lts@20.1.1: + resolution: {integrity: sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==} + dev: true + + /@tsconfig/node10@1.0.9: + resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} + dev: false + + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: false + + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: false + + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: false + + /@tsconfig/node20@20.1.2: + resolution: {integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==} + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/chai@4.3.11: + resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} + dev: true + + /@types/connect@3.4.38: + resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} + dependencies: + '@types/node': 20.11.24 + dev: false + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + + /@types/linkify-it@3.0.5: + resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} + dev: true + + /@types/markdown-it@12.2.3: + resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} + dependencies: + '@types/linkify-it': 3.0.5 + '@types/mdurl': 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@types/sinon-chai@3.2.12: + resolution: {integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==} + dependencies: + '@types/chai': 4.3.11 + '@types/sinon': 17.0.3 + dev: true + + /@types/sinon@17.0.3: + resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} + dependencies: + '@types/sinonjs__fake-timers': 8.1.5 + dev: true + + /@types/sinonjs__fake-timers@8.1.5: + resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} + dev: true + + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + dev: true + + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/visitor-keys': 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 6.21.0 + '@typescript-eslint/types': 6.21.0 + '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + dependencies: + '@typescript-eslint/types': 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + peerDependencies: + vitest: 1.3.1 + dependencies: + '@ampproject/remapping': 2.2.1 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abbrev@1.1.1: + resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} + requiresBuild: true + dev: false + optional: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /agentkeepalive@4.5.0: + resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} + engines: {node: '>= 8.0.0'} + requiresBuild: true + dependencies: + humanize-ms: 1.2.1 + dev: false + optional: true + + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: false + optional: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@2.1.1: + resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + /ansi-styles@2.2.1: + resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} + engines: {node: '>=0.10.0'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /aproba@2.0.0: + resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} + requiresBuild: true + dev: false + optional: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /are-we-there-yet@3.0.1: + resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + requiresBuild: true + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + optional: true + + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /bindings@1.5.0: + resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} + dependencies: + file-uri-to-path: 1.0.0 + dev: false + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} + engines: {node: '>=0.3.0'} + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /cacache@15.3.0: + resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} + engines: {node: '>= 10'} + requiresBuild: true + dependencies: + '@npmcli/fs': 1.1.1 + '@npmcli/move-file': 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.0 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + dev: false + optional: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /catharsis@0.9.0: + resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} + engines: {node: '>= 10'} + dependencies: + lodash: 4.17.21 + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@1.1.3: + resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + dev: false + + /chownr@2.0.0: + resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} + engines: {node: '>=10'} + dev: false + + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + requiresBuild: true + dev: false + optional: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /color-support@1.1.3: + resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} + hasBin: true + requiresBuild: true + dev: false + optional: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /console-control-strings@1.1.0: + resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} + requiresBuild: true + dev: false + optional: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decompress-response@6.0.0: + resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} + engines: {node: '>=10'} + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: false + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /delegates@1.0.0: + resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} + requiresBuild: true + dev: false + optional: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: false + + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + engines: {node: '>=12'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + /encoding@0.1.13: + resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: false + optional: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /entities@2.1.0: + resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} + dev: true + + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + requiresBuild: true + dev: false + optional: true + + /err-code@2.0.3: + resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} + requiresBuild: true + dev: false + optional: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1): + resolution: {integrity: sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.1.1 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /expand-template@2.0.3: + resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} + engines: {node: '>=6'} + dev: false + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.1: + resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /file-uri-to-path@1.0.0: + resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} + dev: false + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-minipass@2.1.0: + resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + dev: false + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /gauge@4.0.4: + resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + requiresBuild: true + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + optional: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@2.1.1: + resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} + engines: {node: '>=8.0'} + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /github-from-package@0.0.0: + resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-ansi@2.0.0: + resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-unicode@2.0.1: + resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} + requiresBuild: true + dev: false + optional: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-cache-semantics@4.1.1: + resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} + requiresBuild: true + dev: false + optional: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /http-proxy-agent@4.0.1: + resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} + engines: {node: '>= 6'} + requiresBuild: true + dependencies: + '@tootallnate/once': 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /humanize-ms@1.2.1: + resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} + requiresBuild: true + dependencies: + ms: 2.1.2 + dev: false + optional: true + + /hyperid@2.3.1: + resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /iconv-lite@0.6.3: + resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} + engines: {node: '>=0.10.0'} + requiresBuild: true + dependencies: + safer-buffer: 2.1.2 + dev: false + optional: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + /infer-owner@1.0.4: + resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} + requiresBuild: true + dev: false + optional: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: false + + /int64-buffer@0.99.1007: + resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} + engines: {node: '>= 4.5.0'} + + /ip-address@9.0.5: + resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} + engines: {node: '>= 12'} + requiresBuild: true + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + dev: false + optional: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-lambda@1.0.1: + resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} + requiresBuild: true + dev: false + optional: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /js2xmlparser@4.0.2: + resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==} + dependencies: + xmlcreate: 2.0.4 + dev: true + + /jsbn@1.1.0: + resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} + requiresBuild: true + dev: false + optional: true + + /jsdoc@4.0.2: + resolution: {integrity: sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==} + engines: {node: '>=12.0.0'} + hasBin: true + dependencies: + '@babel/parser': 7.24.0 + '@jsdoc/salty': 0.2.7 + '@types/markdown-it': 12.2.3 + bluebird: 3.7.2 + catharsis: 0.9.0 + escape-string-regexp: 2.0.0 + js2xmlparser: 4.0.2 + klaw: 3.0.0 + markdown-it: 12.3.2 + markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) + marked: 4.3.0 + mkdirp: 1.0.4 + requizzle: 0.2.4 + strip-json-comments: 3.1.1 + underscore: 1.13.6 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /klaw@3.0.0: + resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==} + dependencies: + graceful-fs: 4.2.11 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /linkify-it@3.0.3: + resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} + dependencies: + uc.micro: 1.0.6 + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loglevel-colored-level-prefix@1.0.0: + resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} + dependencies: + chalk: 1.1.3 + loglevel: 1.9.1 + dev: true + + /loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: false + + /make-fetch-happen@9.1.0: + resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} + engines: {node: '>= 10'} + requiresBuild: true + dependencies: + agentkeepalive: 4.5.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + + /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): + resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} + peerDependencies: + '@types/markdown-it': '*' + markdown-it: '*' + dependencies: + '@types/markdown-it': 12.2.3 + markdown-it: 12.3.2 + dev: true + + /markdown-it@12.3.2: + resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /marked@4.3.0: + resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} + engines: {node: '>= 12'} + hasBin: true + dev: true + + /mdurl@1.0.1: + resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /mimic-response@3.1.0: + resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} + engines: {node: '>=10'} + dev: false + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /minipass-collect@1.0.2: + resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} + engines: {node: '>= 8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-fetch@1.4.1: + resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: false + optional: true + + /minipass-flush@1.0.5: + resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} + engines: {node: '>= 8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-pipeline@1.2.4: + resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-sized@1.0.3: + resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} + engines: {node: '>=8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass@3.3.6: + resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} + engines: {node: '>=8'} + dependencies: + yallist: 4.0.0 + dev: false + + /minipass@5.0.0: + resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} + engines: {node: '>=8'} + dev: false + + /minizlib@2.1.2: + resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} + engines: {node: '>= 8'} + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: false + + /mkdirp-classic@0.5.3: + resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} + dev: false + + /mkdirp@1.0.4: + resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} + engines: {node: '>=10'} + hasBin: true + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + dev: false + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /multi-fork@0.0.2: + resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /napi-build-utils@1.0.2: + resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} + dev: false + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + requiresBuild: true + dev: false + optional: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /node-addon-api@7.1.0: + resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} + engines: {node: ^16 || ^18 || >= 20} + dev: false + + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + + /node-gyp@8.4.1: + resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} + engines: {node: '>= 10.12.0'} + hasBin: true + requiresBuild: true + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.0 + tar: 6.2.0 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + + /node-machine-id@1.1.12: + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + dev: true + + /nopt@5.0.0: + resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} + engines: {node: '>=6'} + hasBin: true + requiresBuild: true + dependencies: + abbrev: 1.1.1 + dev: false + optional: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /npmlog@6.0.2: + resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + requiresBuild: true + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: false + optional: true + + /nx@18.0.6: + resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} + hasBin: true + requiresBuild: true + peerDependencies: + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 + peerDependenciesMeta: + '@swc-node/register': + optional: true + '@swc/core': + optional: true + dependencies: + '@nrwl/tao': 18.0.6 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.0-rc.46 + '@zkochan/js-yaml': 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 18.0.6 + '@nx/nx-darwin-x64': 18.0.6 + '@nx/nx-freebsd-x64': 18.0.6 + '@nx/nx-linux-arm-gnueabihf': 18.0.6 + '@nx/nx-linux-arm64-gnu': 18.0.6 + '@nx/nx-linux-arm64-musl': 18.0.6 + '@nx/nx-linux-x64-gnu': 18.0.6 + '@nx/nx-linux-x64-musl': 18.0.6 + '@nx/nx-win32-arm64-msvc': 18.0.6 + '@nx/nx-win32-x64-msvc': 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + aggregate-error: 3.1.0 + dev: false + optional: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-copy-streams-binary@2.2.0: + resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false + + /prebuild-install@7.1.2: + resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} + engines: {node: '>=10'} + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.56.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-eslint@16.2.0: + resolution: {integrity: sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==} + engines: {node: '>=16.10.0'} + dependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + common-tags: 1.8.2 + dlv: 1.1.3 + eslint: 8.57.0 + indent-string: 4.0.0 + lodash.merge: 4.6.2 + loglevel-colored-level-prefix: 1.0.0 + prettier: 3.2.4 + pretty-format: 29.7.0 + require-relative: 0.8.7 + typescript: 5.3.3 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.1.1: + resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: true + + /promise-inflight@1.0.1: + resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} + requiresBuild: true + peerDependencies: + bluebird: '*' + peerDependenciesMeta: + bluebird: + optional: true + dev: false + optional: true + + /promise-retry@2.0.1: + resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} + engines: {node: '>=10'} + requiresBuild: true + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: false + optional: true + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /require-relative@0.8.7: + resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} + dev: true + + /requizzle@0.2.4: + resolution: {integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==} + dependencies: + lodash: 4.17.21 + dev: true + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /retry@0.12.0: + resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} + engines: {node: '>= 4'} + requiresBuild: true + dev: false + optional: true + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + + /roarr@7.21.0: + resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + requiresBuild: true + dev: false + optional: true + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + requiresBuild: true + dev: false + optional: true + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /simple-concat@1.0.1: + resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} + dev: false + + /simple-get@4.0.1: + resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + + /slonik@29.2.0: + resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} + engines: {node: '>=10.0'} + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /smart-buffer@4.2.0: + resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} + engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} + requiresBuild: true + dev: false + optional: true + + /socks-proxy-agent@6.2.1: + resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} + engines: {node: '>= 10'} + requiresBuild: true + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.8.1 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /socks@2.8.1: + resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} + engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + requiresBuild: true + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + dev: false + optional: true + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /sprintf-js@1.1.3: + resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} + requiresBuild: true + dev: false + optional: true + + /sqlite3@5.1.7: + resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} + requiresBuild: true + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.0 + prebuild-install: 7.1.2 + tar: 6.2.0 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + + /ssri@8.0.1: + resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} + engines: {node: '>= 8'} + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@3.0.1: + resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} + engines: {node: '>=0.10.0'} + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: false + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@2.0.0: + resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} + engines: {node: '>=0.8.0'} + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-fs@2.1.1: + resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /tar@6.2.0: + resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} + engines: {node: '>=10'} + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: true + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.3.3 + dev: true + + /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.9 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.11.24 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: false + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + /tsx@4.7.0: + resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /tunnel-agent@0.6.0: + resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + /typescript-eslint-language-service@5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: {integrity: sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==} + peerDependencies: + '@typescript-eslint/parser': '>= 5.0.0' + eslint: '>= 8.0.0' + typescript: '>= 4.0.0' + dependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + typescript: 5.3.3 + dev: true + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + + /uc.micro@1.0.6: + resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.18.0(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /unique-filename@1.1.1: + resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} + requiresBuild: true + dependencies: + unique-slug: 2.0.2 + dev: false + optional: true + + /unique-slug@2.0.2: + resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} + requiresBuild: true + dependencies: + imurmurhash: 0.1.4 + dev: false + optional: true + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: false + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.23 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.24 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vue-eslint-parser@9.4.2(eslint@8.57.0): + resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} + engines: {node: ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: '>=6.0.0' + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wide-align@1.1.5: + resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} + requiresBuild: true + dependencies: + string-width: 4.2.3 + dev: false + optional: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xmlcreate@2.0.4: + resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} + dev: true + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: false + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 000000000..576c7326a --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +packages: + - 'apps/*' + - 'packages/*' + - 'thebeast' \ No newline at end of file diff --git a/prettierrc b/prettierrc new file mode 100644 index 000000000..d1039fbcf --- /dev/null +++ b/prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "tabWidth": 4, + "semi": false, + "singleQuote": true +} \ No newline at end of file diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts index 4c6dc1e77..306578a0c 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts @@ -76,10 +76,9 @@ export async function processEncryptedGameCommand( const processor = lobbyCommandMap.get(decryptedMessage.header.getId()); if (typeof processor === "undefined") { - log.fatal( - `No processor found for message ID: ${decryptedMessage.header.getId()}`, - ); - return getGatewayServer({ log }).stop(); + const err = `No processor found for message ID: ${decryptedMessage.header.getId()}`; + log.fatal(err); + throw Error(err); } // Process the message diff --git a/thebeast/package.json b/thebeast/package.json index acbe4a6e4..6e253a57f 100644 --- a/thebeast/package.json +++ b/thebeast/package.json @@ -1,5 +1,5 @@ { - "name": "@rusty-motors/thebeast", + "name": "thebeast", "version": "1.0.0", "description": "a server", "author": "Drazi Crendraven ", @@ -10,7 +10,7 @@ "url": "git@github.com:drazisil/mcos.git" }, "scripts": { - "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider ../node_modules/.bin/vitest run --coverage packages lib", + "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages lib", "prod": "make prod_node", "prod:stop": "docker-compose stop", "release": "standard-version --sign", diff --git a/thebeast/packages/gateway/src/index.ts b/thebeast/packages/gateway/src/index.ts index 56f2cb1f4..659d282dd 100644 --- a/thebeast/packages/gateway/src/index.ts +++ b/thebeast/packages/gateway/src/index.ts @@ -302,12 +302,9 @@ export function handleGameMessage( // Process the message processGameMessage(connectionId, message, log, socketCallback); } catch (error) { - log.fatal(`Error processing message: ${error}`); - getGatewayServer({ log }).stop(); - - if (error! instanceof MessageProcessorError) { - throw error; - } + const err = `Error processing game message: ${error}`; + log.fatal(err); + throw Error(err); } } diff --git a/thebeast/test/factoryMocks.ts b/thebeast/test/factoryMocks.ts index 845ce277f..43650a363 100644 --- a/thebeast/test/factoryMocks.ts +++ b/thebeast/test/factoryMocks.ts @@ -10,7 +10,7 @@ export function mockDatabaseManager(): DatabaseManager { } /** @type TServerLogger */ -export function mockLogger() { +export function mockLogger(): any { return { info: vi.fn(), error: vi.fn(), @@ -22,7 +22,7 @@ export function mockLogger() { } /** @type ServerMessageType */ -export function mockServerMessageType() { +export function mockServerMessageType(): any { return { _header: { _size: 0, From c697365a175b420c75968a7b3988199aaaf71b40 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 29 Feb 2024 21:53:36 -0500 Subject: [PATCH 133/452] Install would help --- .github/workflows/node.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index d3060d2cf..c9bb752eb 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -30,6 +30,7 @@ jobs: - name: Install and test run: | corepack enable pnpm + pnpm install pnpm test --filter thebeast - name: Codecov if: ${{ always() }} From 5a26654f70dd72f6bdec1f452b9e9513bcc703d9 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 1 Mar 2024 07:40:44 -0500 Subject: [PATCH 134/452] Bump checkout action to v4 --- .github/workflows/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b25a0466f..853f002a1 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: fetch-depth: 0 From 23c5e5c05cc8c1fabe84a31ccbd4bfa0033e30a5 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 1 Mar 2024 09:52:36 -0500 Subject: [PATCH 135/452] Starting with a clean base --- .gitignore | 1 + package-lock.json | 7252 --------------------------------------------- package.json | 3 +- pnpm-lock.yaml | 38 +- 4 files changed, 25 insertions(+), 7269 deletions(-) delete mode 100644 package-lock.json diff --git a/.gitignore b/.gitignore index d2615ea79..f4862d4d2 100644 --- a/.gitignore +++ b/.gitignore @@ -11,3 +11,4 @@ dist build *.tar packages/**/*.js +package-lock.json diff --git a/package-lock.json b/package-lock.json deleted file mode 100644 index 9437887e8..000000000 --- a/package-lock.json +++ /dev/null @@ -1,7252 +0,0 @@ -{ - "name": "rusty-motors", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "rusty-motors", - "version": "1.0.0", - "license": "AGPL-3.0", - "workspaces": [ - "thebeast" - ], - "dependencies": { - "slonik": "29" - }, - "devDependencies": { - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.3.1" - } - }, - "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/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", - "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/types": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", - "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "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 - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "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, - "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/regexpp": { - "version": "4.10.0", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", - "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", - "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", - "dev": true, - "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" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz", - "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/@fastify/ajv-compiler": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz", - "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==", - "dependencies": { - "ajv": "^8.11.0", - "ajv-formats": "^2.1.1", - "fast-uri": "^2.0.0" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/@fastify/ajv-compiler/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/@fastify/error": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.1.tgz", - "integrity": "sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==" - }, - "node_modules/@fastify/fast-json-stringify-compiler": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.3.0.tgz", - "integrity": "sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==", - "dependencies": { - "fast-json-stringify": "^5.7.0" - } - }, - "node_modules/@fastify/merge-json-schemas": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@fastify/merge-json-schemas/-/merge-json-schemas-0.1.1.tgz", - "integrity": "sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "node_modules/@fastify/sensible": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/@fastify/sensible/-/sensible-5.5.0.tgz", - "integrity": "sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==", - "dependencies": { - "@lukeed/ms": "^2.0.1", - "fast-deep-equal": "^3.1.1", - "fastify-plugin": "^4.0.0", - "forwarded": "^0.2.0", - "http-errors": "^2.0.0", - "type-is": "^1.6.18", - "vary": "^1.1.2" - } - }, - "node_modules/@gar/promisify": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", - "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", - "optional": true - }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.14", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.14.tgz", - "integrity": "sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==", - "dev": true, - "dependencies": { - "@humanwhocodes/object-schema": "^2.0.2", - "debug": "^4.3.1", - "minimatch": "^3.0.5" - }, - "engines": { - "node": ">=10.10.0" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@humanwhocodes/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "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, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/object-schema": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz", - "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", - "dev": true - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "@sinclair/typebox": "^0.27.8" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.4.tgz", - "integrity": "sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "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==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.23.tgz", - "integrity": "sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@jsdoc/salty": { - "version": "0.2.7", - "resolved": "https://registry.npmjs.org/@jsdoc/salty/-/salty-0.2.7.tgz", - "integrity": "sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - }, - "engines": { - "node": ">=v12.0.0" - } - }, - "node_modules/@lukeed/ms": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@lukeed/ms/-/ms-2.0.2.tgz", - "integrity": "sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==", - "engines": { - "node": ">=8" - } - }, - "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, - "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" - } - }, - "node_modules/@npmcli/fs": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", - "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", - "optional": true, - "dependencies": { - "@gar/promisify": "^1.0.1", - "semver": "^7.3.5" - } - }, - "node_modules/@npmcli/move-file": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", - "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", - "deprecated": "This functionality has been moved to @npmcli/fs", - "optional": true, - "dependencies": { - "mkdirp": "^1.0.4", - "rimraf": "^3.0.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@pkgr/core": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@pkgr/core/-/core-0.1.1.tgz", - "integrity": "sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", - "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", - "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", - "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", - "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", - "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", - "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", - "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", - "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", - "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", - "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", - "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", - "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rushstack/node-core-library": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@rushstack/node-core-library/-/node-core-library-4.0.2.tgz", - "integrity": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==", - "dev": true, - "dependencies": { - "fs-extra": "~7.0.1", - "import-lazy": "~4.0.0", - "jju": "~1.4.0", - "resolve": "~1.22.1", - "semver": "~7.5.4", - "z-schema": "~5.0.2" - }, - "peerDependencies": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@rushstack/terminal": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/@rushstack/terminal/-/terminal-0.10.0.tgz", - "integrity": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==", - "dev": true, - "dependencies": { - "@rushstack/node-core-library": "4.0.2", - "supports-color": "~8.1.1" - }, - "peerDependencies": { - "@types/node": "*" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - } - } - }, - "node_modules/@rushstack/ts-command-line": { - "version": "4.17.4", - "resolved": "https://registry.npmjs.org/@rushstack/ts-command-line/-/ts-command-line-4.17.4.tgz", - "integrity": "sha512-XPQQDaxgFqRHFRgt7jjCKnr0vrC75s/+ISU6kGhWpDlGzWl4vig6ZfZTs3HgM6Kh1Bb3wUKSyKQOV+G36cyZfg==", - "dev": true, - "dependencies": { - "@rushstack/terminal": "0.10.0", - "@types/argparse": "1.0.38", - "argparse": "~1.0.9", - "string-argv": "~0.3.1" - } - }, - "node_modules/@rusty-motors/thebeast": { - "resolved": "thebeast", - "link": true - }, - "node_modules/@sentry-internal/tracing": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry-internal/tracing/-/tracing-7.102.1.tgz", - "integrity": "sha512-RkFlFyAC0fQOvBbBqnq0CLmFW5m3JJz9pKbZd5vXPraWAlniKSb1bC/4DF9SlNx0FN1LWG+IU3ISdpzwwTeAGg==", - "dependencies": { - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/cli": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli/-/cli-2.28.6.tgz", - "integrity": "sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "https-proxy-agent": "^5.0.0", - "node-fetch": "^2.6.7", - "progress": "^2.0.3", - "proxy-from-env": "^1.1.0", - "which": "^2.0.2" - }, - "bin": { - "sentry-cli": "bin/sentry-cli" - }, - "engines": { - "node": ">= 10" - }, - "optionalDependencies": { - "@sentry/cli-darwin": "2.28.6", - "@sentry/cli-linux-arm": "2.28.6", - "@sentry/cli-linux-arm64": "2.28.6", - "@sentry/cli-linux-i686": "2.28.6", - "@sentry/cli-linux-x64": "2.28.6", - "@sentry/cli-win32-i686": "2.28.6", - "@sentry/cli-win32-x64": "2.28.6" - } - }, - "node_modules/@sentry/cli-darwin": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-darwin/-/cli-darwin-2.28.6.tgz", - "integrity": "sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==", - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm/-/cli-linux-arm-2.28.6.tgz", - "integrity": "sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-arm64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-arm64/-/cli-linux-arm64-2.28.6.tgz", - "integrity": "sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-i686": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-i686/-/cli-linux-i686-2.28.6.tgz", - "integrity": "sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==", - "cpu": [ - "x86", - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-linux-x64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-linux-x64/-/cli-linux-x64-2.28.6.tgz", - "integrity": "sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux", - "freebsd" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-win32-i686": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-i686/-/cli-win32-i686-2.28.6.tgz", - "integrity": "sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==", - "cpu": [ - "x86", - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/cli-win32-x64": { - "version": "2.28.6", - "resolved": "https://registry.npmjs.org/@sentry/cli-win32-x64/-/cli-win32-x64-2.28.6.tgz", - "integrity": "sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=10" - } - }, - "node_modules/@sentry/core": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/core/-/core-7.102.1.tgz", - "integrity": "sha512-QjY+LSP3du3J/C8x/FfEbRxgZgsWd0jfTJ4P7s9f219I1csK4OeBMC3UA1HwEa0pY/9OF6H/egW2CjOcMM5Pdg==", - "dependencies": { - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/node": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/node/-/node-7.102.1.tgz", - "integrity": "sha512-mb3vmM3SGuCruckPiv/Vafeh89UQavTfpPFoU6Jwe6dSpQ39BO8fO8k8Zev+/nP6r/FKLtX17mJobErHECXsYw==", - "dependencies": { - "@sentry-internal/tracing": "7.102.1", - "@sentry/core": "7.102.1", - "@sentry/types": "7.102.1", - "@sentry/utils": "7.102.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/profiling-node": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/profiling-node/-/profiling-node-7.102.1.tgz", - "integrity": "sha512-eqOUdu04eI4ODqeh/nHvC/mdwm3tWkqm02anR2ITEjKVJxHliHH6+jr+3M2X56e1hIxOibtL+JrR89Du9HEl9w==", - "hasInstallScript": true, - "dependencies": { - "detect-libc": "^2.0.2", - "node-abi": "^3.52.0" - }, - "bin": { - "sentry-prune-profiler-binaries": "scripts/prune-profiler-binaries.js" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@sentry/types": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/types/-/types-7.102.1.tgz", - "integrity": "sha512-htKorf3t/D0XYtM7foTcmG+rM47rDP6XdbvCcX5gBCuCYlzpM1vqCt2rl3FLktZC6TaIpFRJw1TLfx6m+x5jdA==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@sentry/utils": { - "version": "7.102.1", - "resolved": "https://registry.npmjs.org/@sentry/utils/-/utils-7.102.1.tgz", - "integrity": "sha512-+8WcFjHVV/HROXSAwMuUzveElBFC43EiTG7SNEBNgOUeQzQVTmbUZXyTVgLrUmtoWqvnIxCacoLxtZo1o67kdg==", - "dependencies": { - "@sentry/types": "7.102.1" - }, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/@slonik/migrator": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@slonik/migrator/-/migrator-0.12.0.tgz", - "integrity": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==", - "dev": true, - "dependencies": { - "@rushstack/ts-command-line": "^4.11.0", - "umzug": "^3.1.1" - }, - "peerDependencies": { - "slonik": "27 - 29" - } - }, - "node_modules/@tootallnate/once": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", - "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", - "optional": true, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@tsconfig/node-lts": { - "version": "20.1.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node-lts/-/node-lts-20.1.1.tgz", - "integrity": "sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==", - "dev": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==" - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==" - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==" - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==" - }, - "node_modules/@tsconfig/node20": { - "version": "20.1.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node20/-/node20-20.1.2.tgz", - "integrity": "sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==", - "dev": true - }, - "node_modules/@types/argparse": { - "version": "1.0.38", - "resolved": "https://registry.npmjs.org/@types/argparse/-/argparse-1.0.38.tgz", - "integrity": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==", - "dev": true - }, - "node_modules/@types/chai": { - "version": "4.3.11", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.11.tgz", - "integrity": "sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==", - "dev": true - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "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 - }, - "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 - }, - "node_modules/@types/linkify-it": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", - "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", - "dev": true - }, - "node_modules/@types/markdown-it": { - "version": "12.2.3", - "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", - "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", - "dev": true, - "dependencies": { - "@types/linkify-it": "*", - "@types/mdurl": "*" - } - }, - "node_modules/@types/mdurl": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.5.tgz", - "integrity": "sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.11.20", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.20.tgz", - "integrity": "sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==", - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/pg": { - "version": "8.11.1", - "resolved": "https://registry.npmjs.org/@types/pg/-/pg-8.11.1.tgz", - "integrity": "sha512-tUMU6HRvsosqH0qov7YH0Kj6EnziKoqmHUcREBPlDEQLWT+TxDUBT1MmQ53byHXs171xn3YFPIPwVTkVb16mVg==", - "dependencies": { - "@types/node": "*", - "pg-protocol": "*", - "pg-types": "^4.0.1" - } - }, - "node_modules/@types/pg/node_modules/pg-types": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", - "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", - "dependencies": { - "pg-int8": "1.0.1", - "pg-numeric": "1.0.2", - "postgres-array": "~3.0.1", - "postgres-bytea": "~3.0.0", - "postgres-date": "~2.1.0", - "postgres-interval": "^3.0.0", - "postgres-range": "^1.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@types/pg/node_modules/postgres-bytea": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", - "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", - "dependencies": { - "obuf": "~1.1.2" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/@types/pg/node_modules/postgres-date": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", - "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/@types/pg/node_modules/postgres-interval": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", - "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/@types/semver": { - "version": "7.5.8", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.8.tgz", - "integrity": "sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==", - "dev": true - }, - "node_modules/@types/sinon": { - "version": "17.0.3", - "resolved": "https://registry.npmjs.org/@types/sinon/-/sinon-17.0.3.tgz", - "integrity": "sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==", - "dev": true, - "dependencies": { - "@types/sinonjs__fake-timers": "*" - } - }, - "node_modules/@types/sinon-chai": { - "version": "3.2.12", - "resolved": "https://registry.npmjs.org/@types/sinon-chai/-/sinon-chai-3.2.12.tgz", - "integrity": "sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==", - "dev": true, - "dependencies": { - "@types/chai": "*", - "@types/sinon": "*" - } - }, - "node_modules/@types/sinonjs__fake-timers": { - "version": "8.1.5", - "resolved": "https://registry.npmjs.org/@types/sinonjs__fake-timers/-/sinonjs__fake-timers-8.1.5.tgz", - "integrity": "sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==", - "dev": true - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz", - "integrity": "sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/type-utils": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", - "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.21.0.tgz", - "integrity": "sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.21.0.tgz", - "integrity": "sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz", - "integrity": "sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "6.21.0", - "@typescript-eslint/utils": "6.21.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz", - "integrity": "sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==", - "dev": true, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.21.0.tgz", - "integrity": "sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/visitor-keys": "6.21.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.21.0.tgz", - "integrity": "sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.21.0", - "@typescript-eslint/types": "6.21.0", - "@typescript-eslint/typescript-estree": "6.21.0", - "semver": "^7.5.4" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.21.0.tgz", - "integrity": "sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "6.21.0", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^16.0.0 || >=18.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@ungap/structured-clone": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", - "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", - "dev": true - }, - "node_modules/@vitest/coverage-v8": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.3.1.tgz", - "integrity": "sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.1", - "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", - "istanbul-lib-coverage": "^3.2.2", - "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "vitest": "1.3.1" - } - }, - "node_modules/@vitest/expect": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.3.1.tgz", - "integrity": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==", - "dev": true, - "dependencies": { - "@vitest/spy": "1.3.1", - "@vitest/utils": "1.3.1", - "chai": "^4.3.10" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.3.1.tgz", - "integrity": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==", - "dev": true, - "dependencies": { - "@vitest/utils": "1.3.1", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/runner/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/snapshot": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.3.1.tgz", - "integrity": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==", - "dev": true, - "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/spy": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.3.1.tgz", - "integrity": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==", - "dev": true, - "dependencies": { - "tinyspy": "^2.2.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/@vitest/utils": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.3.1.tgz", - "integrity": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==", - "dev": true, - "dependencies": { - "diff-sequences": "^29.6.3", - "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "optional": true - }, - "node_modules/abort-controller": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", - "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", - "dependencies": { - "event-target-shim": "^5.0.0" - }, - "engines": { - "node": ">=6.5" - } - }, - "node_modules/abstract-logging": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz", - "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==" - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", - "devOptional": true, - "dependencies": { - "debug": "4" - }, - "engines": { - "node": ">= 6.0.0" - } - }, - "node_modules/agentkeepalive": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", - "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", - "optional": true, - "dependencies": { - "humanize-ms": "^1.2.1" - }, - "engines": { - "node": ">= 8.0.0" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "optional": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", - "optional": true - }, - "node_modules/archy": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==" - }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", - "optional": true, - "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "optional": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==" - }, - "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, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/atomic-sleep": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", - "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==", - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/avvio": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.3.0.tgz", - "integrity": "sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==", - "dependencies": { - "@fastify/error": "^3.3.0", - "archy": "^1.0.0", - "debug": "^4.0.0", - "fastq": "^1.17.1" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "devOptional": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "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/bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", - "dependencies": { - "file-uri-to-path": "1.0.0" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/bl/node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - }, - "node_modules/boolean": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz", - "integrity": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/buffer": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", - "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", - "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": { - "base64-js": "^1.3.1", - "ieee754": "^1.2.1" - } - }, - "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==" - }, - "node_modules/buffer-writer": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/buffer-writer/-/buffer-writer-2.0.0.tgz", - "integrity": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/bufferput": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/bufferput/-/bufferput-0.1.3.tgz", - "integrity": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==", - "engines": { - "node": ">=0.3.0" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/cacache": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", - "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", - "optional": true, - "dependencies": { - "@npmcli/fs": "^1.0.0", - "@npmcli/move-file": "^1.0.1", - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^6.0.0", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.1", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/catharsis": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/catharsis/-/catharsis-0.9.0.tgz", - "integrity": "sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==", - "dev": true, - "dependencies": { - "lodash": "^4.17.15" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", - "dev": true, - "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" - }, - "engines": { - "node": ">=4" - } - }, - "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, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/chalk/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, - "engines": { - "node": "*" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "engines": { - "node": ">=10" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "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, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "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 - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "optional": true, - "bin": { - "color-support": "bin.js" - } - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==" - }, - "node_modules/commander": { - "version": "9.5.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.5.0.tgz", - "integrity": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==", - "dev": true, - "optional": true, - "engines": { - "node": "^12.20.0 || >=14" - } - }, - "node_modules/common-tags": { - "version": "1.8.2", - "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", - "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", - "dev": true, - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "devOptional": true - }, - "node_modules/concat-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", - "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", - "engines": [ - "node >= 6.0" - ], - "dependencies": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.0.2", - "typedarray": "^0.0.6" - } - }, - "node_modules/concat-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", - "optional": true - }, - "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 - }, - "node_modules/cookie": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz", - "integrity": "sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==" - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/dateformat": { - "version": "4.6.3", - "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-4.6.3.tgz", - "integrity": "sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==", - "engines": { - "node": "*" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/decompress-response": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", - "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", - "dependencies": { - "mimic-response": "^3.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", - "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/deep-extend": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", - "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", - "engines": { - "node": ">=4.0.0" - } - }, - "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/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "optional": true - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/detect-libc": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.2.tgz", - "integrity": "sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "engines": { - "node": ">=0.3.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, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "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, - "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", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "optional": true - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", - "dependencies": { - "once": "^1.4.0" - } - }, - "node_modules/entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "optional": true - }, - "node_modules/es6-error": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - }, - "node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "8.57.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz", - "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.6.1", - "@eslint/eslintrc": "^2.1.4", - "@eslint/js": "8.57.0", - "@humanwhocodes/config-array": "^0.11.14", - "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "@ungap/structured-clone": "^1.2.0", - "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.3", - "espree": "^9.6.1", - "esquery": "^1.4.2", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", - "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" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-config-prettier": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-9.1.0.tgz", - "integrity": "sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==", - "dev": true, - "bin": { - "eslint-config-prettier": "bin/cli.js" - }, - "peerDependencies": { - "eslint": ">=7.0.0" - } - }, - "node_modules/eslint-plugin-prettier": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-5.1.2.tgz", - "integrity": "sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==", - "dev": true, - "dependencies": { - "prettier-linter-helpers": "^1.0.0", - "synckit": "^0.8.6" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-plugin-prettier" - }, - "peerDependencies": { - "@types/eslint": ">=8.0.0", - "eslint": ">=8.0.0", - "eslint-config-prettier": "*", - "prettier": ">=3.0.0" - }, - "peerDependenciesMeta": { - "@types/eslint": { - "optional": true - }, - "eslint-config-prettier": { - "optional": true - } - } - }, - "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==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "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, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "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==", - "dev": true, - "dependencies": { - "acorn": "^8.9.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.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==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", - "dev": true, - "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/event-target-shim": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", - "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==", - "engines": { - "node": ">=6" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", - "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^8.0.1", - "human-signals": "^5.0.0", - "is-stream": "^3.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^5.1.0", - "onetime": "^6.0.0", - "signal-exit": "^4.1.0", - "strip-final-newline": "^3.0.0" - }, - "engines": { - "node": ">=16.17" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/execa/node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/expand-template": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", - "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fast-content-type-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", - "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" - }, - "node_modules/fast-copy": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/fast-copy/-/fast-copy-3.0.1.tgz", - "integrity": "sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==" - }, - "node_modules/fast-decode-uri-component": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz", - "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==" - }, - "node_modules/fast-deep-equal": { - "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==" - }, - "node_modules/fast-diff": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.3.0.tgz", - "integrity": "sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/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 - }, - "node_modules/fast-json-stringify": { - "version": "5.12.0", - "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.12.0.tgz", - "integrity": "sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==", - "dependencies": { - "@fastify/merge-json-schemas": "^0.1.0", - "ajv": "^8.10.0", - "ajv-formats": "^2.1.1", - "fast-deep-equal": "^3.1.3", - "fast-uri": "^2.1.0", - "json-schema-ref-resolver": "^1.0.1", - "rfdc": "^1.2.0" - } - }, - "node_modules/fast-json-stringify/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/fast-json-stringify/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" - }, - "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 - }, - "node_modules/fast-printf": { - "version": "1.6.9", - "resolved": "https://registry.npmjs.org/fast-printf/-/fast-printf-1.6.9.tgz", - "integrity": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==", - "dependencies": { - "boolean": "^3.1.4" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/fast-querystring": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.2.tgz", - "integrity": "sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==", - "dependencies": { - "fast-decode-uri-component": "^1.0.1" - } - }, - "node_modules/fast-redact": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.3.0.tgz", - "integrity": "sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==", - "engines": { - "node": ">=6" - } - }, - "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==" - }, - "node_modules/fast-uri": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.3.0.tgz", - "integrity": "sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==" - }, - "node_modules/fastify": { - "version": "4.26.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.26.1.tgz", - "integrity": "sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ], - "dependencies": { - "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.4.0", - "@fastify/fast-json-stringify-compiler": "^4.3.0", - "abstract-logging": "^2.0.1", - "avvio": "^8.3.0", - "fast-content-type-parse": "^1.1.0", - "fast-json-stringify": "^5.8.0", - "find-my-way": "^8.0.0", - "light-my-request": "^5.11.0", - "pino": "^8.17.0", - "process-warning": "^3.0.0", - "proxy-addr": "^2.0.7", - "rfdc": "^1.3.0", - "secure-json-parse": "^2.7.0", - "semver": "^7.5.4", - "toad-cache": "^3.3.0" - } - }, - "node_modules/fastify-plugin": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/fastify-plugin/-/fastify-plugin-4.5.1.tgz", - "integrity": "sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==" - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dependencies": { - "reusify": "^1.0.4" - } - }, - "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==", - "dev": true, - "dependencies": { - "flat-cache": "^3.0.4" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==" - }, - "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==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-my-way": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-8.1.0.tgz", - "integrity": "sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-querystring": "^1.0.0", - "safe-regex2": "^2.0.0" - }, - "engines": { - "node": ">=14" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz", - "integrity": "sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.3", - "rimraf": "^3.0.2" - }, - "engines": { - "node": "^10.12.0 || >=12.0.0" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-constants": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", - "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - }, - "node_modules/fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "devOptional": true - }, - "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, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "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==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/gauge": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", - "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", - "optional": true, - "dependencies": { - "aproba": "^1.0.3 || ^2.0.0", - "color-support": "^1.1.3", - "console-control-strings": "^1.1.0", - "has-unicode": "^2.0.1", - "signal-exit": "^3.0.7", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wide-align": "^1.1.5" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/get-func-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", - "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/get-stack-trace": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-2.1.1.tgz", - "integrity": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==", - "dependencies": { - "bluebird": "^3.7.1", - "source-map": "^0.8.0-beta.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/get-stack-trace/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", - "dependencies": { - "whatwg-url": "^7.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/get-stack-trace/node_modules/tr46": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", - "integrity": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/get-stack-trace/node_modules/webidl-conversions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", - "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - }, - "node_modules/get-stack-trace/node_modules/whatwg-url": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", - "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", - "dependencies": { - "lodash.sortby": "^4.7.0", - "tr46": "^1.0.1", - "webidl-conversions": "^4.0.2" - } - }, - "node_modules/get-stream": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", - "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/get-tsconfig": { - "version": "4.7.2", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.7.2.tgz", - "integrity": "sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/github-from-package": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", - "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==" - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "devOptional": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "devOptional": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/glob/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "devOptional": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "devOptional": true - }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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==", - "optional": true - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/help-me": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/help-me/-/help-me-5.0.0.tgz", - "integrity": "sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==" - }, - "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 - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "optional": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-proxy-agent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", - "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", - "optional": true, - "dependencies": { - "@tootallnate/once": "1", - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", - "devOptional": true, - "dependencies": { - "agent-base": "6", - "debug": "4" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/human-signals": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", - "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", - "dev": true, - "engines": { - "node": ">=16.17.0" - } - }, - "node_modules/humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", - "optional": true, - "dependencies": { - "ms": "^2.0.0" - } - }, - "node_modules/hyperid": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/hyperid/-/hyperid-2.3.1.tgz", - "integrity": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==", - "dependencies": { - "uuid": "^8.3.2", - "uuid-parse": "^1.1.0" - } - }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "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/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-lazy": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/import-lazy/-/import-lazy-4.0.0.tgz", - "integrity": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "devOptional": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "devOptional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "optional": true - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "devOptional": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "node_modules/ini": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", - "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==" - }, - "node_modules/int64-buffer": { - "version": "0.99.1007", - "resolved": "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.99.1007.tgz", - "integrity": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==", - "engines": { - "node": ">= 4.5.0" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "optional": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "optional": true - }, - "node_modules/ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "optional": true - }, - "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, - "engines": { - "node": ">=0.12.0" - } - }, - "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-plain-object": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz", - "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", - "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "devOptional": true - }, - "node_modules/iso8601-duration": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/iso8601-duration/-/iso8601-duration-1.3.0.tgz", - "integrity": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" - }, - "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, - "engines": { - "node": ">=8" - } - }, - "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, - "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/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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jju": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/jju/-/jju-1.4.0.tgz", - "integrity": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==", - "dev": true - }, - "node_modules/joycon": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", - "integrity": "sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==", - "engines": { - "node": ">=10" - } - }, - "node_modules/js-tokens": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", - "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", - "dev": true - }, - "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, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/js-yaml/node_modules/argparse": { - "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/js2xmlparser": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/js2xmlparser/-/js2xmlparser-4.0.2.tgz", - "integrity": "sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==", - "dev": true, - "dependencies": { - "xmlcreate": "^2.0.4" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "optional": true - }, - "node_modules/jsdoc": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/jsdoc/-/jsdoc-4.0.2.tgz", - "integrity": "sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.15", - "@jsdoc/salty": "^0.2.1", - "@types/markdown-it": "^12.2.3", - "bluebird": "^3.7.2", - "catharsis": "^0.9.0", - "escape-string-regexp": "^2.0.0", - "js2xmlparser": "^4.0.2", - "klaw": "^3.0.0", - "markdown-it": "^12.3.2", - "markdown-it-anchor": "^8.4.1", - "marked": "^4.0.10", - "mkdirp": "^1.0.4", - "requizzle": "^0.2.3", - "strip-json-comments": "^3.1.0", - "underscore": "~1.13.2" - }, - "bin": { - "jsdoc": "jsdoc.js" - }, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/jsdoc/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, - "engines": { - "node": ">=8" - } - }, - "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 - }, - "node_modules/json-schema-ref-resolver": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-schema-ref-resolver/-/json-schema-ref-resolver-1.0.1.tgz", - "integrity": "sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==", - "dependencies": { - "fast-deep-equal": "^3.1.3" - } - }, - "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 - }, - "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 - }, - "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "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, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/klaw": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/klaw/-/klaw-3.0.0.tgz", - "integrity": "sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.1.9" - } - }, - "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, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/light-my-request": { - "version": "5.11.1", - "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.11.1.tgz", - "integrity": "sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==", - "dependencies": { - "cookie": "^0.6.0", - "process-warning": "^2.0.0", - "set-cookie-parser": "^2.4.1" - } - }, - "node_modules/light-my-request/node_modules/process-warning": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.3.2.tgz", - "integrity": "sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==" - }, - "node_modules/linkify-it": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz", - "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==", - "dev": true, - "dependencies": { - "uc.micro": "^1.0.1" - } - }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "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, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.get": { - "version": "4.4.2", - "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", - "integrity": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==", - "dev": true - }, - "node_modules/lodash.isequal": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.5.0.tgz", - "integrity": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==", - "dev": true - }, - "node_modules/lodash.merge": { - "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 - }, - "node_modules/lodash.sortby": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", - "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - }, - "node_modules/loglevel": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.9.1.tgz", - "integrity": "sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==", - "dev": true, - "engines": { - "node": ">= 0.6.0" - }, - "funding": { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/loglevel" - } - }, - "node_modules/loglevel-colored-level-prefix": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz", - "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==", - "dev": true, - "dependencies": { - "chalk": "^1.1.3", - "loglevel": "^1.4.1" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dev": true, - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/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, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dev": true, - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", - "dev": true, - "dependencies": { - "get-func-name": "^2.0.1" - } - }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/magic-string": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", - "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" - } - }, - "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, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==" - }, - "node_modules/make-fetch-happen": { - "version": "9.1.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", - "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", - "optional": true, - "dependencies": { - "agentkeepalive": "^4.1.3", - "cacache": "^15.2.0", - "http-cache-semantics": "^4.1.0", - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^6.0.0", - "minipass": "^3.1.3", - "minipass-collect": "^1.0.2", - "minipass-fetch": "^1.3.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.2", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^6.0.0", - "ssri": "^8.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/markdown-it": { - "version": "12.3.2", - "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz", - "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1", - "entities": "~2.1.0", - "linkify-it": "^3.0.1", - "mdurl": "^1.0.1", - "uc.micro": "^1.0.5" - }, - "bin": { - "markdown-it": "bin/markdown-it.js" - } - }, - "node_modules/markdown-it-anchor": { - "version": "8.6.7", - "resolved": "https://registry.npmjs.org/markdown-it-anchor/-/markdown-it-anchor-8.6.7.tgz", - "integrity": "sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==", - "dev": true, - "peerDependencies": { - "@types/markdown-it": "*", - "markdown-it": "*" - } - }, - "node_modules/markdown-it/node_modules/argparse": { - "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/marked": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/marked/-/marked-4.3.0.tgz", - "integrity": "sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==", - "dev": true, - "bin": { - "marked": "bin/marked.js" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/mdurl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz", - "integrity": "sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==", - "dev": true - }, - "node_modules/media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.52.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", - "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "2.1.35", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", - "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", - "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/mimic-response": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", - "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-fetch": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", - "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", - "optional": true, - "dependencies": { - "minipass": "^3.1.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.0.0" - }, - "engines": { - "node": ">=8" - }, - "optionalDependencies": { - "encoding": "^0.1.12" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "optional": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/mkdirp-classic": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", - "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==" - }, - "node_modules/mlly": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.6.1.tgz", - "integrity": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==", - "dev": true, - "dependencies": { - "acorn": "^8.11.3", - "pathe": "^1.1.2", - "pkg-types": "^1.0.3", - "ufo": "^1.3.2" - } - }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, - "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==" - }, - "node_modules/multi-fork": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/multi-fork/-/multi-fork-0.0.2.tgz", - "integrity": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-build-utils": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", - "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", - "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", - "optional": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-abi": { - "version": "3.56.0", - "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.56.0.tgz", - "integrity": "sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==", - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/node-addon-api": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.0.tgz", - "integrity": "sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==", - "engines": { - "node": "^16 || ^18 || >= 20" - } - }, - "node_modules/node-fetch": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz", - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dev": true, - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, - "node_modules/node-gyp": { - "version": "8.4.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", - "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", - "optional": true, - "dependencies": { - "env-paths": "^2.2.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^9.1.0", - "nopt": "^5.0.0", - "npmlog": "^6.0.0", - "rimraf": "^3.0.2", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^2.0.2" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": ">= 10.12.0" - } - }, - "node_modules/nopt": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", - "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", - "optional": true, - "dependencies": { - "abbrev": "1" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/npm-run-path": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", - "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", - "dev": true, - "dependencies": { - "path-key": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npm-run-path/node_modules/path-key": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", - "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", - "optional": true, - "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" - }, - "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - }, - "node_modules/on-exit-leak-free": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.2.tgz", - "integrity": "sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==", - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", - "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", - "dev": true, - "dependencies": { - "mimic-fn": "^4.0.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "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" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-defer": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-3.0.0.tgz", - "integrity": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==", - "engines": { - "node": ">=8" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "optional": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/packet-reader": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/packet-reader/-/packet-reader-1.0.0.tgz", - "integrity": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - }, - "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, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "devOptional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "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 - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/pathe": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", - "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", - "dev": true - }, - "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/pg": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/pg/-/pg-8.11.3.tgz", - "integrity": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==", - "dependencies": { - "buffer-writer": "2.0.0", - "packet-reader": "1.0.0", - "pg-connection-string": "^2.6.2", - "pg-pool": "^3.6.1", - "pg-protocol": "^1.6.0", - "pg-types": "^2.1.0", - "pgpass": "1.x" - }, - "engines": { - "node": ">= 8.0.0" - }, - "optionalDependencies": { - "pg-cloudflare": "^1.1.1" - }, - "peerDependencies": { - "pg-native": ">=3.0.1" - }, - "peerDependenciesMeta": { - "pg-native": { - "optional": true - } - } - }, - "node_modules/pg-cloudflare": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pg-cloudflare/-/pg-cloudflare-1.1.1.tgz", - "integrity": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==", - "optional": true - }, - "node_modules/pg-connection-string": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/pg-connection-string/-/pg-connection-string-2.6.2.tgz", - "integrity": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - }, - "node_modules/pg-copy-streams": { - "version": "6.0.6", - "resolved": "https://registry.npmjs.org/pg-copy-streams/-/pg-copy-streams-6.0.6.tgz", - "integrity": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==", - "dependencies": { - "obuf": "^1.1.2" - } - }, - "node_modules/pg-copy-streams-binary": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-copy-streams-binary/-/pg-copy-streams-binary-2.2.0.tgz", - "integrity": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==", - "dependencies": { - "bl": "^4.0.3", - "bufferput": "^0.1.3", - "ieee754": "^1.1.13", - "int64-buffer": "^0.99.1007", - "multi-fork": "0.0.2", - "through2": "^3.0.1" - } - }, - "node_modules/pg-copy-streams-binary/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/pg-copy-streams-binary/node_modules/through2": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", - "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", - "dependencies": { - "inherits": "^2.0.4", - "readable-stream": "2 || 3" - } - }, - "node_modules/pg-cursor": { - "version": "2.10.3", - "resolved": "https://registry.npmjs.org/pg-cursor/-/pg-cursor-2.10.3.tgz", - "integrity": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==", - "peerDependencies": { - "pg": "^8" - } - }, - "node_modules/pg-int8": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/pg-int8/-/pg-int8-1.0.1.tgz", - "integrity": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==", - "engines": { - "node": ">=4.0.0" - } - }, - "node_modules/pg-numeric": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pg-numeric/-/pg-numeric-1.0.2.tgz", - "integrity": "sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pg-pool": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/pg-pool/-/pg-pool-3.6.1.tgz", - "integrity": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==", - "peerDependencies": { - "pg": ">=8.0" - } - }, - "node_modules/pg-protocol": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/pg-protocol/-/pg-protocol-1.6.0.tgz", - "integrity": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" - }, - "node_modules/pg-query-stream": { - "version": "4.5.3", - "resolved": "https://registry.npmjs.org/pg-query-stream/-/pg-query-stream-4.5.3.tgz", - "integrity": "sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==", - "dependencies": { - "pg-cursor": "^2.10.3" - }, - "peerDependencies": { - "pg": "^8" - } - }, - "node_modules/pg-types": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-2.2.0.tgz", - "integrity": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==", - "dependencies": { - "pg-int8": "1.0.1", - "postgres-array": "~2.0.0", - "postgres-bytea": "~1.0.0", - "postgres-date": "~1.0.4", - "postgres-interval": "^1.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/pg-types/node_modules/postgres-array": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-2.0.0.tgz", - "integrity": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==", - "engines": { - "node": ">=4" - } - }, - "node_modules/pg-types/node_modules/postgres-interval": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-1.2.0.tgz", - "integrity": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==", - "dependencies": { - "xtend": "^4.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/pgpass": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/pgpass/-/pgpass-1.0.5.tgz", - "integrity": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==", - "dependencies": { - "split2": "^4.1.0" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pino": { - "version": "8.19.0", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.19.0.tgz", - "integrity": "sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==", - "dependencies": { - "atomic-sleep": "^1.0.0", - "fast-redact": "^3.1.1", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "v1.1.0", - "pino-std-serializers": "^6.0.0", - "process-warning": "^3.0.0", - "quick-format-unescaped": "^4.0.3", - "real-require": "^0.2.0", - "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.7.0", - "thread-stream": "^2.0.0" - }, - "bin": { - "pino": "bin.js" - } - }, - "node_modules/pino-abstract-transport": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.1.0.tgz", - "integrity": "sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==", - "dependencies": { - "readable-stream": "^4.0.0", - "split2": "^4.0.0" - } - }, - "node_modules/pino-pretty": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/pino-pretty/-/pino-pretty-10.3.1.tgz", - "integrity": "sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==", - "dependencies": { - "colorette": "^2.0.7", - "dateformat": "^4.6.3", - "fast-copy": "^3.0.0", - "fast-safe-stringify": "^2.1.1", - "help-me": "^5.0.0", - "joycon": "^3.1.1", - "minimist": "^1.2.6", - "on-exit-leak-free": "^2.1.0", - "pino-abstract-transport": "^1.0.0", - "pump": "^3.0.0", - "readable-stream": "^4.0.0", - "secure-json-parse": "^2.4.0", - "sonic-boom": "^3.0.0", - "strip-json-comments": "^3.1.1" - }, - "bin": { - "pino-pretty": "bin.js" - } - }, - "node_modules/pino-std-serializers": { - "version": "6.2.2", - "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.2.2.tgz", - "integrity": "sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==" - }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, - "node_modules/pony-cause": { - "version": "2.1.10", - "resolved": "https://registry.npmjs.org/pony-cause/-/pony-cause-2.1.10.tgz", - "integrity": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==", - "dev": true, - "engines": { - "node": ">=12.0.0" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postgres-array": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postgres-array/-/postgres-array-3.0.2.tgz", - "integrity": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==", - "engines": { - "node": ">=12" - } - }, - "node_modules/postgres-bytea": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-1.0.0.tgz", - "integrity": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-date": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-1.0.7.tgz", - "integrity": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/postgres-interval": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-4.0.2.tgz", - "integrity": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==", - "engines": { - "node": ">=12" - } - }, - "node_modules/postgres-range": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/postgres-range/-/postgres-range-1.1.4.tgz", - "integrity": "sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==" - }, - "node_modules/prebuild-install": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.1.tgz", - "integrity": "sha512-jAXscXWMcCK8GgCoHOfIr0ODh5ai8mj63L2nWrjuAgXE6tDyYGnx4/8o/rCgU+B4JSyZBKbeZqzhtwtC3ovxjw==", - "dependencies": { - "detect-libc": "^2.0.0", - "expand-template": "^2.0.3", - "github-from-package": "0.0.0", - "minimist": "^1.2.3", - "mkdirp-classic": "^0.5.3", - "napi-build-utils": "^1.0.1", - "node-abi": "^3.3.0", - "pump": "^3.0.0", - "rc": "^1.2.7", - "simple-get": "^4.0.0", - "tar-fs": "^2.0.0", - "tunnel-agent": "^0.6.0" - }, - "bin": { - "prebuild-install": "bin.js" - }, - "engines": { - "node": ">=10" - } - }, - "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, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", - "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/prettier-eslint": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-16.2.0.tgz", - "integrity": "sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==", - "dev": true, - "dependencies": { - "@typescript-eslint/parser": "^6.7.5", - "common-tags": "^1.4.0", - "dlv": "^1.1.0", - "eslint": "^8.7.0", - "indent-string": "^4.0.0", - "lodash.merge": "^4.6.0", - "loglevel-colored-level-prefix": "^1.0.0", - "prettier": "^3.0.1", - "pretty-format": "^29.7.0", - "require-relative": "^0.8.7", - "typescript": "^5.2.2", - "vue-eslint-parser": "^9.1.0" - }, - "engines": { - "node": ">=16.10.0" - } - }, - "node_modules/prettier-linter-helpers": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", - "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", - "dev": true, - "dependencies": { - "fast-diff": "^1.1.2" - }, - "engines": { - "node": ">=6.0.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, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==", - "engines": { - "node": ">= 0.6.0" - } - }, - "node_modules/process-warning": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-3.0.0.tgz", - "integrity": "sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==" - }, - "node_modules/progress": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", - "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "optional": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "optional": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/proxy-addr": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", - "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", - "dev": true - }, - "node_modules/pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dependencies": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "engines": { - "node": ">=6" - } - }, - "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/quick-format-unescaped": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz", - "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==" - }, - "node_modules/rc": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", - "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", - "dependencies": { - "deep-extend": "^0.6.0", - "ini": "~1.3.0", - "minimist": "^1.2.0", - "strip-json-comments": "~2.0.1" - }, - "bin": { - "rc": "cli.js" - } - }, - "node_modules/rc/node_modules/strip-json-comments": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", - "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, - "node_modules/readable-stream": { - "version": "4.5.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.5.2.tgz", - "integrity": "sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==", - "dependencies": { - "abort-controller": "^3.0.0", - "buffer": "^6.0.3", - "events": "^3.3.0", - "process": "^0.11.10", - "string_decoder": "^1.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - } - }, - "node_modules/real-require": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz", - "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==", - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-relative": { - "version": "0.8.7", - "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", - "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==", - "dev": true - }, - "node_modules/requizzle": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/requizzle/-/requizzle-0.2.4.tgz", - "integrity": "sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==", - "dev": true, - "dependencies": { - "lodash": "^4.17.21" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/ret": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz", - "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==", - "engines": { - "node": ">=4" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "optional": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==" - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "devOptional": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/roarr": { - "version": "7.21.0", - "resolved": "https://registry.npmjs.org/roarr/-/roarr-7.21.0.tgz", - "integrity": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==", - "dependencies": { - "fast-printf": "^1.6.9", - "safe-stable-stringify": "^2.4.3", - "semver-compare": "^1.0.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/rollup": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", - "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.0", - "@rollup/rollup-android-arm64": "4.12.0", - "@rollup/rollup-darwin-arm64": "4.12.0", - "@rollup/rollup-darwin-x64": "4.12.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", - "@rollup/rollup-linux-arm64-gnu": "4.12.0", - "@rollup/rollup-linux-arm64-musl": "4.12.0", - "@rollup/rollup-linux-riscv64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-musl": "4.12.0", - "@rollup/rollup-win32-arm64-msvc": "4.12.0", - "@rollup/rollup-win32-ia32-msvc": "4.12.0", - "@rollup/rollup-win32-x64-msvc": "4.12.0", - "fsevents": "~2.3.2" - } - }, - "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/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "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/safe-regex2": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz", - "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==", - "dependencies": { - "ret": "~0.2.0" - } - }, - "node_modules/safe-stable-stringify": { - "version": "2.4.3", - "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz", - "integrity": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==", - "engines": { - "node": ">=10" - } - }, - "node_modules/safer-buffer": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "optional": true - }, - "node_modules/secure-json-parse": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz", - "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==" - }, - "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver-compare": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz", - "integrity": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - }, - "node_modules/serialize-error": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-8.1.0.tgz", - "integrity": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==", - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/set-blocking": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", - "optional": true - }, - "node_modules/set-cookie-parser": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.6.0.tgz", - "integrity": "sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==" - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/short-unique-id": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/short-unique-id/-/short-unique-id-5.0.3.tgz", - "integrity": "sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==", - "bin": { - "short-unique-id": "bin/short-unique-id", - "suid": "bin/short-unique-id" - } - }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "optional": true - }, - "node_modules/simple-concat": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", - "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", - "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/simple-get": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", - "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", - "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": { - "decompress-response": "^6.0.0", - "once": "^1.3.1", - "simple-concat": "^1.0.0" - } - }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/slonik": { - "version": "29.2.0", - "resolved": "https://registry.npmjs.org/slonik/-/slonik-29.2.0.tgz", - "integrity": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==", - "dependencies": { - "concat-stream": "^2.0.0", - "es6-error": "^4.1.1", - "fast-safe-stringify": "^2.1.1", - "get-stack-trace": "^2.1.1", - "hyperid": "^2.3.1", - "is-plain-object": "^5.0.0", - "iso8601-duration": "^1.3.0", - "p-defer": "^3.0.0", - "pg": "^8.7.3", - "pg-copy-streams": "^6.0.2", - "pg-copy-streams-binary": "^2.2.0", - "pg-cursor": "^2.7.3", - "pg-protocol": "^1.5.0", - "postgres-array": "^3.0.1", - "postgres-interval": "^4.0.0", - "roarr": "^7.11.0", - "serialize-error": "^8.0.0", - "through2": "^4.0.2" - }, - "engines": { - "node": ">=10.0" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "optional": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", - "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", - "optional": true, - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", - "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", - "optional": true, - "dependencies": { - "agent-base": "^6.0.2", - "debug": "^4.3.3", - "socks": "^2.6.2" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/sonic-boom": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.8.0.tgz", - "integrity": "sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==", - "dependencies": { - "atomic-sleep": "^1.0.0" - } - }, - "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, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/split2": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", - "integrity": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==", - "engines": { - "node": ">= 10.x" - } - }, - "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 - }, - "node_modules/sqlite3": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", - "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", - "hasInstallScript": true, - "dependencies": { - "bindings": "^1.5.0", - "node-addon-api": "^7.0.0", - "prebuild-install": "^7.1.1", - "tar": "^6.1.11" - }, - "optionalDependencies": { - "node-gyp": "8.x" - }, - "peerDependencies": { - "node-gyp": "8.x" - }, - "peerDependenciesMeta": { - "node-gyp": { - "optional": true - } - } - }, - "node_modules/ssri": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", - "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", - "optional": true, - "dependencies": { - "minipass": "^3.1.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true - }, - "node_modules/stacktrace-parser": { - "version": "0.1.10", - "resolved": "https://registry.npmjs.org/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz", - "integrity": "sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==", - "dependencies": { - "type-fest": "^0.7.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/stacktrace-parser/node_modules/type-fest": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.7.1.tgz", - "integrity": "sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/std-env": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", - "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", - "dev": true - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "node_modules/string-argv": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.2.tgz", - "integrity": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==", - "dev": true, - "engines": { - "node": ">=0.6.19" - } - }, - "node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "optional": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "devOptional": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-final-newline": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", - "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/strip-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", - "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", - "dev": true, - "dependencies": { - "js-tokens": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "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, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/synckit": { - "version": "0.8.8", - "resolved": "https://registry.npmjs.org/synckit/-/synckit-0.8.8.tgz", - "integrity": "sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==", - "dev": true, - "dependencies": { - "@pkgr/core": "^0.1.0", - "tslib": "^2.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/unts" - } - }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar-fs": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", - "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", - "dependencies": { - "chownr": "^1.1.1", - "mkdirp-classic": "^0.5.2", - "pump": "^3.0.0", - "tar-stream": "^2.1.4" - } - }, - "node_modules/tar-fs/node_modules/chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==" - }, - "node_modules/tar-stream": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", - "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", - "dependencies": { - "bl": "^4.0.3", - "end-of-stream": "^1.4.1", - "fs-constants": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^3.1.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar-stream/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "engines": { - "node": ">=8" - } - }, - "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, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/test-exclude/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/test-exclude/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "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 - }, - "node_modules/thread-stream": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.4.1.tgz", - "integrity": "sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==", - "dependencies": { - "real-require": "^0.2.0" - } - }, - "node_modules/through2": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz", - "integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==", - "dependencies": { - "readable-stream": "3" - } - }, - "node_modules/through2/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/tinybench": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.6.0.tgz", - "integrity": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==", - "dev": true - }, - "node_modules/tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", - "dev": true, - "engines": { - "node": ">=14.0.0" - } - }, - "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, - "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, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/toad-cache": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.7.0.tgz", - "integrity": "sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/toidentifier": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", - "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tr46": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==", - "dev": true - }, - "node_modules/ts-api-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", - "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "peerDependencies": { - "typescript": ">=4.2.0" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/tsx": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.7.0.tgz", - "integrity": "sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==", - "dev": true, - "dependencies": { - "esbuild": "~0.19.10", - "get-tsconfig": "^4.7.2" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", - "dependencies": { - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": "*" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "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, - "engines": { - "node": ">=4" - } - }, - "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==", - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint-language-service": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/typescript-eslint-language-service/-/typescript-eslint-language-service-5.0.5.tgz", - "integrity": "sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==", - "dev": true, - "peerDependencies": { - "@typescript-eslint/parser": ">= 5.0.0", - "eslint": ">= 8.0.0", - "typescript": ">= 4.0.0" - } - }, - "node_modules/uc.micro": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz", - "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==", - "dev": true - }, - "node_modules/ufo": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.4.0.tgz", - "integrity": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==", - "dev": true - }, - "node_modules/umzug": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/umzug/-/umzug-3.7.0.tgz", - "integrity": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==", - "dev": true, - "dependencies": { - "@rushstack/ts-command-line": "^4.12.2", - "emittery": "^0.13.0", - "glob": "^8.0.3", - "pony-cause": "^2.1.4", - "type-fest": "^4.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/umzug/node_modules/glob": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", - "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^5.0.1", - "once": "^1.3.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/umzug/node_modules/minimatch": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", - "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/umzug/node_modules/type-fest": { - "version": "4.10.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.10.3.tgz", - "integrity": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", - "dev": true - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - }, - "node_modules/unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", - "optional": true, - "dependencies": { - "unique-slug": "^2.0.0" - } - }, - "node_modules/unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", - "optional": true, - "dependencies": { - "imurmurhash": "^0.1.4" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.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==", - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/uuid-parse": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/uuid-parse/-/uuid-parse-1.1.0.tgz", - "integrity": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==" - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "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/validator": { - "version": "13.11.0", - "resolved": "https://registry.npmjs.org/validator/-/validator-13.11.0.tgz", - "integrity": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.4.tgz", - "integrity": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==", - "dev": true, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.35", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite-node": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.3.1.tgz", - "integrity": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==", - "dev": true, - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - } - }, - "node_modules/vitest": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.3.1.tgz", - "integrity": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==", - "dev": true, - "dependencies": { - "@vitest/expect": "1.3.1", - "@vitest/runner": "1.3.1", - "@vitest/snapshot": "1.3.1", - "@vitest/spy": "1.3.1", - "@vitest/utils": "1.3.1", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", - "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.2", - "vite": "^5.0.0", - "vite-node": "1.3.1", - "why-is-node-running": "^2.2.2" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.3.1", - "@vitest/ui": "1.3.1", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } - } - }, - "node_modules/vue-eslint-parser": { - "version": "9.4.2", - "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-9.4.2.tgz", - "integrity": "sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==", - "dev": true, - "dependencies": { - "debug": "^4.3.4", - "eslint-scope": "^7.1.1", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.3.1", - "esquery": "^1.4.0", - "lodash": "^4.17.21", - "semver": "^7.3.6" - }, - "engines": { - "node": "^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=6.0.0" - } - }, - "node_modules/webidl-conversions": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==", - "dev": true - }, - "node_modules/whatwg-url": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dev": true, - "dependencies": { - "tr46": "~0.0.3", - "webidl-conversions": "^3.0.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "devOptional": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", - "dev": true, - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wide-align": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", - "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", - "optional": true, - "dependencies": { - "string-width": "^1.0.2 || 2 || 3 || 4" - } - }, - "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/xmlcreate": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/xmlcreate/-/xmlcreate-2.0.4.tgz", - "integrity": "sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==", - "dev": true - }, - "node_modules/xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "engines": { - "node": ">=0.4" - } - }, - "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/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "engines": { - "node": ">=6" - } - }, - "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, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/z-schema": { - "version": "5.0.5", - "resolved": "https://registry.npmjs.org/z-schema/-/z-schema-5.0.5.tgz", - "integrity": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==", - "dev": true, - "dependencies": { - "lodash.get": "^4.4.2", - "lodash.isequal": "^4.5.0", - "validator": "^13.7.0" - }, - "bin": { - "z-schema": "bin/z-schema" - }, - "engines": { - "node": ">=8.0.0" - }, - "optionalDependencies": { - "commander": "^9.4.1" - } - }, - "node_modules/zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "thebeast": { - "name": "@rusty-motors/thebeast", - "version": "1.0.0", - "license": "AGPL-3.0", - "dependencies": { - "@fastify/sensible": "^5.5.0", - "@sentry/node": "^7.102.0", - "@sentry/profiling-node": "^7.102.0", - "@types/connect": "^3.4.38", - "fastify": "^4.25.2", - "moment": "^2.30.1", - "pino": "^8.18.0", - "pino-pretty": "^10.3.1", - "short-unique-id": "^5.0.3", - "slonik": "^37.2.0", - "sqlite3": "^5.1.7", - "ts-node": "10.9.2", - "tslib": "^2.6.2" - }, - "devDependencies": { - "@sentry/cli": "^2.23.2", - "@tsconfig/node-lts": "^20.1.1", - "@tsconfig/node20": "^20.1.2", - "@types/chai": "4.3.11", - "@types/node": "^20.10.6", - "@types/sinon": "17.0.3", - "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", - "@vitest/coverage-v8": "^1.1.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.2", - "jsdoc": "^4.0.2", - "prettier": "3.1.1", - "prettier-eslint": "16.2.0", - "tsx": "4.7.0", - "typescript": "^5.3.3", - "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.3.1", - "zod": "^3.22.4" - } - }, - "thebeast/node_modules/get-stack-trace": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/get-stack-trace/-/get-stack-trace-3.1.1.tgz", - "integrity": "sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==", - "dependencies": { - "stacktrace-parser": "^0.1.10" - }, - "engines": { - "node": ">=18.0" - } - }, - "thebeast/node_modules/pg-types": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/pg-types/-/pg-types-4.0.2.tgz", - "integrity": "sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==", - "dependencies": { - "pg-int8": "1.0.1", - "pg-numeric": "1.0.2", - "postgres-array": "~3.0.1", - "postgres-bytea": "~3.0.0", - "postgres-date": "~2.1.0", - "postgres-interval": "^3.0.0", - "postgres-range": "^1.1.1" - }, - "engines": { - "node": ">=10" - } - }, - "thebeast/node_modules/pg-types/node_modules/postgres-interval": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-interval/-/postgres-interval-3.0.0.tgz", - "integrity": "sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==", - "engines": { - "node": ">=12" - } - }, - "thebeast/node_modules/postgres-bytea": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postgres-bytea/-/postgres-bytea-3.0.0.tgz", - "integrity": "sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==", - "dependencies": { - "obuf": "~1.1.2" - }, - "engines": { - "node": ">= 6" - } - }, - "thebeast/node_modules/postgres-date": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postgres-date/-/postgres-date-2.1.0.tgz", - "integrity": "sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==", - "engines": { - "node": ">=12" - } - }, - "thebeast/node_modules/prettier": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.1.1.tgz", - "integrity": "sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==", - "dev": true, - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "thebeast/node_modules/slonik": { - "version": "37.2.0", - "resolved": "https://registry.npmjs.org/slonik/-/slonik-37.2.0.tgz", - "integrity": "sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==", - "dependencies": { - "@types/pg": "^8.10.7", - "es6-error": "^4.1.1", - "get-stack-trace": "^3.1.1", - "iso8601-duration": "^1.3.0", - "pg": "^8.11.3", - "pg-protocol": "^1.6.0", - "pg-query-stream": "^4.5.3", - "pg-types": "^4.0.1", - "postgres-array": "^3.0.2", - "postgres-interval": "^4.0.1", - "roarr": "^7.18.3", - "safe-stable-stringify": "^2.4.3", - "serialize-error": "^8.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "zod": "^3" - } - } - } -} diff --git a/package.json b/package.json index 69b1bedf5..80bed93b8 100644 --- a/package.json +++ b/package.json @@ -27,5 +27,6 @@ }, "dependencies": { "slonik": "29" - } + }, + "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cf914299a..9b3a2e0cf 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,12 +146,12 @@ packages: engines: {node: '>=0.10.0'} dev: true - /@ampproject/remapping@2.2.1: - resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.4 - '@jridgewell/trace-mapping': 0.3.23 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.24 dev: true /@babel/helper-string-parser@7.23.4: @@ -510,13 +510,13 @@ packages: '@sinclair/typebox': 0.27.8 dev: true - /@jridgewell/gen-mapping@0.3.4: - resolution: {integrity: sha512-Oud2QPM5dHviZNn4y/WhhYKSXksv+1xLEIsNrAbGcFzUN3ubqWRFT5gwPchNc5NuzILOU4tPBDTZ4VwhL8Y7cw==} + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.23 + '@jridgewell/trace-mapping': 0.3.24 dev: true /@jridgewell/resolve-uri@3.1.2: @@ -531,8 +531,8 @@ packages: /@jridgewell/sourcemap-codec@1.4.15: resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.23: - resolution: {integrity: sha512-9/4foRoUKp8s96tSkh8DlAAc5A0Ty8vLXld+l9gjKKY6ckwI8G15f0hskGmuLZu78ZlGa1vtsfOa+lnB4vG6Jg==} + /@jridgewell/trace-mapping@0.3.24: + resolution: {integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 @@ -839,8 +839,8 @@ packages: supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.18.0(@types/node@20.11.24): - resolution: {integrity: sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==} + /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): + resolution: {integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==} dependencies: '@rushstack/terminal': 0.10.0(@types/node@20.11.24) '@types/argparse': 1.0.38 @@ -994,7 +994,7 @@ packages: peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.18.0(@types/node@20.11.24) + '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) slonik: 29.2.0 umzug: 3.7.0(@types/node@20.11.24) transitivePeerDependencies: @@ -1248,7 +1248,7 @@ packages: peerDependencies: vitest: 1.3.1 dependencies: - '@ampproject/remapping': 2.2.1 + '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 @@ -2597,7 +2597,7 @@ packages: resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} requiresBuild: true dependencies: - ms: 2.1.2 + ms: 2.1.3 dev: false optional: true @@ -3271,6 +3271,12 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + requiresBuild: true + dev: false + optional: true + /multi-fork@0.0.2: resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} @@ -4719,7 +4725,7 @@ packages: resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.18.0(@types/node@20.11.24) + '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -4784,7 +4790,7 @@ packages: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} engines: {node: '>=10.12.0'} dependencies: - '@jridgewell/trace-mapping': 0.3.23 + '@jridgewell/trace-mapping': 0.3.24 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 dev: true From 9f76fe867acc7ab68278447657a0c761e0f51ce6 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 1 Mar 2024 10:18:08 -0500 Subject: [PATCH 136/452] No longer needed since we aren't using yarn --- .gitattributes | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index e55d8e1ee..000000000 --- a/.gitattributes +++ /dev/null @@ -1,6 +0,0 @@ -/.yarn/releases/** binary -/.yarn/plugins/** binary - -# GitHub Linguist Override -.yarn/* linguist-vendored -.pnp.js linguist-vendored \ No newline at end of file From 600df318a8f84364db6519ef7dd6ad261a4f4a21 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 1 Mar 2024 10:20:05 -0500 Subject: [PATCH 137/452] Move data and services to top level --- docker-compose.yml | 4 ++-- .../services => services}/sslProxy/Dockerfile | 0 .../services => services}/sslProxy/cert1.pem | 0 .../services => services}/sslProxy/chain1.pem | 0 .../sslProxy/fullchain1.pem | 0 .../sslProxy/mcouniverse.pem | 0 .../services => services}/sslProxy/nginx.conf | 0 .../sslProxy/private_key.pem | 0 .../sslProxy/privkey1.pem | 0 thebeast/data/mcouniverse.cnf | 21 ------------------- thebeast/data/mcouniverse.crt | 17 --------------- thebeast/data/private_key.pem | 16 -------------- thebeast/data/pub.key | 1 - 13 files changed, 2 insertions(+), 57 deletions(-) rename {thebeast/services => services}/sslProxy/Dockerfile (100%) rename {thebeast/services => services}/sslProxy/cert1.pem (100%) rename {thebeast/services => services}/sslProxy/chain1.pem (100%) rename {thebeast/services => services}/sslProxy/fullchain1.pem (100%) rename {thebeast/services => services}/sslProxy/mcouniverse.pem (100%) rename {thebeast/services => services}/sslProxy/nginx.conf (100%) rename {thebeast/services => services}/sslProxy/private_key.pem (100%) rename {thebeast/services => services}/sslProxy/privkey1.pem (100%) delete mode 100644 thebeast/data/mcouniverse.cnf delete mode 100644 thebeast/data/mcouniverse.crt delete mode 100644 thebeast/data/private_key.pem delete mode 100644 thebeast/data/pub.key diff --git a/docker-compose.yml b/docker-compose.yml index 4c69f0771..ac8e661d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,7 +3,7 @@ version: "3.1" services: nginx: build: - context: thebeast/services/sslProxy + context: services/sslProxy ports: - "443:443" - "80:80" @@ -30,7 +30,7 @@ services: ports: - 8080:8080 security_opt: - - no-new-privileges:true + - no-new-privileges:true volumes: db-data: diff --git a/thebeast/services/sslProxy/Dockerfile b/services/sslProxy/Dockerfile similarity index 100% rename from thebeast/services/sslProxy/Dockerfile rename to services/sslProxy/Dockerfile diff --git a/thebeast/services/sslProxy/cert1.pem b/services/sslProxy/cert1.pem similarity index 100% rename from thebeast/services/sslProxy/cert1.pem rename to services/sslProxy/cert1.pem diff --git a/thebeast/services/sslProxy/chain1.pem b/services/sslProxy/chain1.pem similarity index 100% rename from thebeast/services/sslProxy/chain1.pem rename to services/sslProxy/chain1.pem diff --git a/thebeast/services/sslProxy/fullchain1.pem b/services/sslProxy/fullchain1.pem similarity index 100% rename from thebeast/services/sslProxy/fullchain1.pem rename to services/sslProxy/fullchain1.pem diff --git a/thebeast/services/sslProxy/mcouniverse.pem b/services/sslProxy/mcouniverse.pem similarity index 100% rename from thebeast/services/sslProxy/mcouniverse.pem rename to services/sslProxy/mcouniverse.pem diff --git a/thebeast/services/sslProxy/nginx.conf b/services/sslProxy/nginx.conf similarity index 100% rename from thebeast/services/sslProxy/nginx.conf rename to services/sslProxy/nginx.conf diff --git a/thebeast/services/sslProxy/private_key.pem b/services/sslProxy/private_key.pem similarity index 100% rename from thebeast/services/sslProxy/private_key.pem rename to services/sslProxy/private_key.pem diff --git a/thebeast/services/sslProxy/privkey1.pem b/services/sslProxy/privkey1.pem similarity index 100% rename from thebeast/services/sslProxy/privkey1.pem rename to services/sslProxy/privkey1.pem diff --git a/thebeast/data/mcouniverse.cnf b/thebeast/data/mcouniverse.cnf deleted file mode 100644 index 69f6ce70c..000000000 --- a/thebeast/data/mcouniverse.cnf +++ /dev/null @@ -1,21 +0,0 @@ -[req] -req_extensions = v3_req -prompt = no -distinguished_name = dn - -[dn] -CN = mcouniverse.com -emailAddress = admin@mcouniverse.com -O = MCOUniverse -L = New York -C = US - -[ v3_req ] -basicConstraints=CA:TRUE -subjectAltName = critical, @alt_names -extendedKeyUsage=serverAuth,clientAuth - -# List of all the other DNS names that the certificate should work for. -# alt_names is a name of my own invention -[ alt_names ] -DNS.1 = localhost \ No newline at end of file diff --git a/thebeast/data/mcouniverse.crt b/thebeast/data/mcouniverse.crt deleted file mode 100644 index 1d72b187c..000000000 --- a/thebeast/data/mcouniverse.crt +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE----- -MIICvTCCAiagAwIBAgIUR8C7hExU+43EnLwJlyAdlZv1GqIwDQYJKoZIhvcNAQEL -BQAwdjEYMBYGA1UEAwwPbWNvdW5pdmVyc2UuY29tMSQwIgYJKoZIhvcNAQkBFhVh -ZG1pbkBtY291bml2ZXJzZS5jb20xFDASBgNVBAoMC01DT1VuaXZlcnNlMREwDwYD -VQQHDAhOZXcgWW9yazELMAkGA1UEBhMCVVMwHhcNMjEwNjI0MTQzNjIwWhcNMjIw -NjI0MTQzNjIwWjB2MRgwFgYDVQQDDA9tY291bml2ZXJzZS5jb20xJDAiBgkqhkiG -9w0BCQEWFWFkbWluQG1jb3VuaXZlcnNlLmNvbTEUMBIGA1UECgwLTUNPVW5pdmVy -c2UxETAPBgNVBAcMCE5ldyBZb3JrMQswCQYDVQQGEwJVUzCBnzANBgkqhkiG9w0B -AQEFAAOBjQAwgYkCgYEAxNvfXeZ6BlE6mM+MLy6N3ger4hzrjtg+d5bAWcSCUHKa -A354rRyGWGXmeUN6e7IVrKqtnF45DOZyxU2rVTVmUMcYUPYzbEuLk2OASSaJKm+O -Jf+SbxdVC4HTYcorzpvMRSg8eAVS6lbXbThXQv6e+50tR73YDyPFnZ7kyAabzrkC -AwEAAaNIMEYwDAYDVR0TBAUwAwEB/zAXBgNVHREBAf8EDTALgglsb2NhbGhvc3Qw -HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4GB -ALk8ZaOFZBZbDBxlXTynf5vzt30mpDIlJ8RLUQ/F2GzRU9O7bVAQb5utwUDegQst -c08JsrN5XHcEQf87AdM4e/Q/MlQjNu1TClUNXjdPYQfmWMzz1QXwTt3GjJA0n3I7 -ZdYLWVNyu9cZfoDJCqZm2VYPHMmCMgIZpHjvetFaXb3G ------END CERTIFICATE----- diff --git a/thebeast/data/private_key.pem b/thebeast/data/private_key.pem deleted file mode 100644 index 5347b79cd..000000000 --- a/thebeast/data/private_key.pem +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIICdwIBADANBgkqhkiG9w0BAQEFAASCAmEwggJdAgEAAoGBAMTb313megZROpjP -jC8ujd4Hq+Ic647YPneWwFnEglBymgN+eK0chlhl5nlDenuyFayqrZxeOQzmcsVN -q1U1ZlDHGFD2M2xLi5NjgEkmiSpvjiX/km8XVQuB02HKK86bzEUoPHgFUupW1204 -V0L+nvudLUe92A8jxZ2e5MgGm865AgMBAAECgYEAn/wEqp5dOvcWxQufZNTTzMa1 -RLy2H0/UbIIibpHKSjDow8AruJw+/mZKCPDzAMX44WuQTk0w1jAOxBRcEpKkQ8JF -Tt/XAppo5b2BOpNQNDad+mQwhwXEHPwLaM+INo5BJkwzN+rw5FwARqyd2gKyweHk -4btT8pTNfCWh/VZiQoECQQDr3IMPvqB1/HLhCpDCPSM5682cWu+FnUxz55Ob2wR8 -ESbLeYk+Oj0FHHx8RLI/GIjSGHzAHxaK/JxdLfs8CGZpAkEA1arWyC43FblFE18p -s+61AmBj4kq7pPyHXr7iZb1L2YJU7Jz/xdaHPNt2fHXk2FyRAQG2fYPXGy+K6PdB -ajY70QJAN8s3Ga9fZ+mrBz8nlTs/LQFx5w2/4VyfbD+YtGKwAeVQxwteAuFl8+KU -NBVQEQrtur1eLVhtTb2KA6TP7JiUGQJARrEuPK7ltL9GdmFO1+RLaQzhHzagnLac -RyGaoBSgKsevN1W+XgNbXSwzKHyNCXSe2Rlq+l4LZkg1ilx7/RsScQJBAMAQhb94 -CUPD1a2t9Xp6FqFEqgCLgnQb/xqCR4Cjnms/EGEjBG7GRbeV7tO18/SGHotCPdMh -l2448aVdXShjbJ8= ------END PRIVATE KEY----- diff --git a/thebeast/data/pub.key b/thebeast/data/pub.key deleted file mode 100644 index 36919d198..000000000 --- a/thebeast/data/pub.key +++ /dev/null @@ -1 +0,0 @@ -30819f300d06092a864886f70d010101050003818d0030818902818100c4dbdf5de67a06513a98cf8c2f2e8dde07abe21ceb8ed83e7796c059c48250729a037e78ad1c865865e679437a7bb215acaaad9c5e390ce672c54dab55356650c71850f6336c4b8b9363804926892a6f8e25ff926f17550b81d361ca2bce9bcc45283c780552ea56d76d385742fe9efb9d2d47bdd80f23c59d9ee4c8069bceb90203010001 \ No newline at end of file From b437b29a90931da25216316a8e9315eb21747a53 Mon Sep 17 00:00:00 2001 From: Joe Becher Date: Fri, 1 Mar 2024 10:23:36 -0500 Subject: [PATCH 138/452] Formatting, mostly --- .github/codecov.yml | 2 +- .github/workflows/main.yml | 43 +- .github/workflows/node.yml | 10 +- .nx/cache/file-map.json | 2708 ++-- .nx/cache/parsed-lock-file.json | 9428 ++++++------- .nx/cache/project-graph.json | 10134 +++++++------- .nx/cache/run.json | 40 +- package.json | 62 +- packages/shared-packets/index.ts | 2 +- packages/shared-packets/nx.json | 34 +- packages/shared-packets/package.json | 24 +- packages/shared-packets/src/BasePacket.ts | 7 +- packages/shared-packets/src/ServerMessage.ts | 17 +- packages/shared-packets/tsconfig.json | 198 +- pnpm-lock.yaml | 12093 ++++++++++------- pnpm-workspace.yaml | 6 +- vite.config.ts | 3 +- 17 files changed, 18425 insertions(+), 16386 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 1a2fe8a0e..5468b6e7d 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -2,7 +2,7 @@ codecov: require_ci_to_pass: false ai_pr_review: - enabled: true + enabled: true comment: show_carryforward_flags: true diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 853f002a1..a683064f3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,29 +1,28 @@ name: Sentry Release on: - push: - branches: - - main + push: + branches: + - main jobs: - release-sentry: - runs-on: ubuntu-latest - steps: + release-sentry: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + with: + fetch-depth: 0 - - uses: actions/checkout@v4 - with: - fetch-depth: 0 + - name: Install and Build + run: | + npm install - - name: Install and Build - run: | - npm install - - - name: Create Sentry release - uses: getsentry/action-release@v1 - env: - SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} - SENTRY_ORG: ${{ secrets.SENTRY_ORG }} - SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} - # SENTRY_URL: https://sentry.io/ - with: - environment: production + - name: Create Sentry release + uses: getsentry/action-release@v1 + env: + SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} + SENTRY_ORG: ${{ secrets.SENTRY_ORG }} + SENTRY_PROJECT: ${{ secrets.SENTRY_PROJECT }} + # SENTRY_URL: https://sentry.io/ + with: + environment: production diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index c9bb752eb..680d6034c 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -6,13 +6,13 @@ on: env: MCO_LOG_LEVEL: warn - EXTERNAL_HOST: mcouniverse.com - PRIVATE_KEY_FILE: thebeast/data/private_key.pem - CERTIFICATE_FILE: thebeast/data/mcouniverse.crt - PUBLIC_KEY_FILE: thebeast/data/pub.key + EXTERNAL_HOST: mcouniverse.com + PRIVATE_KEY_FILE: thebeast/data/private_key.pem + CERTIFICATE_FILE: thebeast/data/mcouniverse.crt + PUBLIC_KEY_FILE: thebeast/data/pub.key jobs: - build-test: + build-test: runs-on: ubuntu-latest strategy: diff --git a/.nx/cache/file-map.json b/.nx/cache/file-map.json index 70f2b8c7b..a895d787c 100644 --- a/.nx/cache/file-map.json +++ b/.nx/cache/file-map.json @@ -1,1357 +1,1357 @@ { - "version": "6.0", - "nxVersion": "18.0.6", - "deps": { - "slonik": "29", - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "nx": "^18.0.6", - "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.3.1" - }, - "pathMappings": {}, - "nxJsonPlugins": [], - "fileMap": { - "projectFileMap": { - "@rusty-motors/thebeast": [ - { - "file": "thebeast/.dockerignore", - "hash": "5025141916944003883" - }, - { - "file": "thebeast/.gitignore", - "hash": "9266369700550161410" - }, - { - "file": "thebeast/Makefile", - "hash": "10938361408484256462" - }, - { - "file": "thebeast/README.md", - "hash": "9375829152669321394" - }, - { - "file": "thebeast/data/mcouniverse.cnf", - "hash": "123910987430207258" - }, - { - "file": "thebeast/data/mcouniverse.crt", - "hash": "1191634416628667447" - }, - { - "file": "thebeast/data/private_key.pem", - "hash": "9606433185746498366" - }, - { - "file": "thebeast/data/pub.key", - "hash": "17902127655719005979" - }, - { - "file": "thebeast/docs/client.md", - "hash": "15727718581905962847" - }, - { - "file": "thebeast/docs/flow.md", - "hash": "7787831704472350830" - }, - { - "file": "thebeast/docs/reference/export.psql", - "hash": "17578199974330833246" - }, - { - "file": "thebeast/docs/reference/pkware/Makefile", - "hash": "15053509190642345172" - }, - { - "file": "thebeast/docs/reference/pkware/PKWare.vcxproj", - "hash": "9435899160320819569" - }, - { - "file": "thebeast/docs/reference/pkware/PKWare.vcxproj.filters", - "hash": "13468170418349436350" - }, - { - "file": "thebeast/docs/reference/pkware/Pkware.dsp", - "hash": "1391784609212882792" - }, - { - "file": "thebeast/docs/reference/pkware/Readme.md", - "hash": "4425732291975278011" - }, - { - "file": "thebeast/docs/reference/pkware/explode.cpp", - "hash": "18395085193875004087" - }, - { - "file": "thebeast/docs/reference/pkware/implode.cpp", - "hash": "7393854153648314614" - }, - { - "file": "thebeast/docs/reference/pkware/pkware.h", - "hash": "13921447420677982317" - }, - { - "file": "thebeast/docs/server.md", - "hash": "9579366762840847861" - }, - { - "file": "thebeast/docs/technicial/README.md", - "hash": "6957920249184620849" - }, - { - "file": "thebeast/docs/technicial/external_notes.md", - "hash": "10610467416209624836" - }, - { - "file": "thebeast/docs/technicial/internal_notes.md", - "hash": "5300025178613305298" - }, - { - "file": "thebeast/images/2012-10-12_lobby.png", - "hash": "1802333483553751171" - }, - { - "file": "thebeast/jsconfig-old.json", - "hash": "5852609677706475110" - }, - { - "file": "thebeast/lib/index.d.ts", - "hash": "3244421341483603138" - }, - { - "file": "thebeast/lib/nps/index.ts", - "hash": "7090739820004070559" - }, - { - "file": "thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts", - "hash": "1310426978404068664" - }, - { - "file": "thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts", - "hash": "6532897472486871971" - }, - { - "file": "thebeast/lib/nps/messageProcessors/index.ts", - "hash": "3428272607749081350" - }, - { - "file": "thebeast/lib/nps/messageProcessors/lobbyCommands.ts", - "hash": "3067400189448550173" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processCheckPlateText.ts", - "hash": "7116424182069654272" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processCheckProfileName.ts", - "hash": "15692350762709805299" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processCreateProfile.ts", - "hash": "17296605385109366503" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processDeleteProfile.ts", - "hash": "8037003224882727444" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts", - "hash": "9864198487345188731" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processGameLogin.ts", - "hash": "6848078763900836763" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts", - "hash": "4317773952728428954" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts", - "hash": "234931470321227098" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts", - "hash": "10958544461981205728" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processLobbyLogin.ts", - "hash": "17296351929681794078" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processPing.ts", - "hash": "16270620732051920981" - }, - { - "file": "thebeast/lib/nps/messageProcessors/processUserLogin.ts", - "hash": "15428579812719676698" - }, - { - "file": "thebeast/lib/nps/messageStructs/GameMessage.ts", - "hash": "8854967129983057049" - }, - { - "file": "thebeast/lib/nps/messageStructs/GameProfile.ts", - "hash": "4848812249109328340" - }, - { - "file": "thebeast/lib/nps/messageStructs/MiniRiffList.ts", - "hash": "7155327144186990565" - }, - { - "file": "thebeast/lib/nps/messageStructs/MiniUserList.ts", - "hash": "17462825181538069545" - }, - { - "file": "thebeast/lib/nps/messageStructs/NPSList.ts", - "hash": "10119158781387584114" - }, - { - "file": "thebeast/lib/nps/messageStructs/ProfileList.ts", - "hash": "2527086496158874335" - }, - { - "file": "thebeast/lib/nps/messageStructs/SessionKey.ts", - "hash": "12762795724411796498" - }, - { - "file": "thebeast/lib/nps/messageStructs/UserAction.ts", - "hash": "579526865209158192" - }, - { - "file": "thebeast/lib/nps/messageStructs/UserInfo.ts", - "hash": "15823399554624038370" - }, - { - "file": "thebeast/lib/nps/messageStructs/UserStatus.ts", - "hash": "8429116003312465571" - }, - { - "file": "thebeast/lib/nps/services/account.ts", - "hash": "15589634688779153194" - }, - { - "file": "thebeast/lib/nps/services/profile.ts", - "hash": "8641993167559947549" - }, - { - "file": "thebeast/lib/nps/services/session.ts", - "hash": "2818149994021605356" - }, - { - "file": "thebeast/lib/nps/services/token.ts", - "hash": "7368387690796821995" - }, - { - "file": "thebeast/lib/nps/services/types.ts", - "hash": "9731723030948033474" - }, - { - "file": "thebeast/lib/nps/types.ts", - "hash": "14870268956472440757" - }, - { - "file": "thebeast/lib/nps/utils/pureCompare.ts", - "hash": "4258843400502292304" - }, - { - "file": "thebeast/lib/nps/utils/pureGet.ts", - "hash": "265682811551639654" - }, - { - "file": "thebeast/lib/nps/utils/purePut.ts", - "hash": "9440717771529078848" - }, - { - "file": "thebeast/misc/mco-installer.ps1", - "hash": "13519895526939924726" - }, - { - "file": "thebeast/misc/port-forward.ps1", - "hash": "2665506854599928164" - }, - { - "file": "thebeast/package.json", - "hash": "14226416099307832357", - "deps": [ - "npm:slonik", - "npm:tslib", - "npm:@types/node", - "npm:prettier", - "npm:typescript", - "npm:vitest" - ] - }, - { - "file": "thebeast/packages/cli/ConsoleThread.ts", - "hash": "1311000703834661758" - }, - { - "file": "thebeast/packages/core/src/serializationHelpers.test.ts", - "hash": "7375367383862286700" - }, - { - "file": "thebeast/packages/core/src/serializationHelpers.ts", - "hash": "17013848800848265656" - }, - { - "file": "thebeast/packages/database/src/DatabaseManager.ts", - "hash": "18219385929952374378" - }, - { - "file": "thebeast/packages/database/src/cache.ts", - "hash": "7882225308057049204" - }, - { - "file": "thebeast/packages/database/src/models/AttachmentPoint.ts", - "hash": "1243933141818742110" - }, - { - "file": "thebeast/packages/database/src/models/Brand.ts", - "hash": "16061208263295757044" - }, - { - "file": "thebeast/packages/database/src/models/BrandedPart.ts", - "hash": "5031921834567439497" - }, - { - "file": "thebeast/packages/database/src/models/Model.ts", - "hash": "9581311691702946170" - }, - { - "file": "thebeast/packages/database/src/models/Part.ts", - "hash": "3565147951075335222" - }, - { - "file": "thebeast/packages/database/src/models/VehiclePartTree.ts", - "hash": "3694860194416975564" - }, - { - "file": "thebeast/packages/database/src/services/admin.ts", - "hash": "12837464768298197841" - }, - { - "file": "thebeast/packages/database/src/services/database.ts", - "hash": "1491364016199264618" - }, - { - "file": "thebeast/packages/database/test/Database.test.ts", - "hash": "9913456368706932491" - }, - { - "file": "thebeast/packages/gateway/src/GatewayServer.ts", - "hash": "7460506973012740089" - }, - { - "file": "thebeast/packages/gateway/src/encryption.ts", - "hash": "17732081301264374343" - }, - { - "file": "thebeast/packages/gateway/src/index.ts", - "hash": "7316187040594714944" - }, - { - "file": "thebeast/packages/gateway/src/web.ts", - "hash": "10732081061832552206" - }, - { - "file": "thebeast/packages/gateway/test/encryption.test.ts", - "hash": "16713107242591571234" - }, - { - "file": "thebeast/packages/interfaces/index.d.ts", - "hash": "7048195495022320009" - }, - { - "file": "thebeast/packages/lobby/src/LoginInfoMessage.ts", - "hash": "1491492989245281008" - }, - { - "file": "thebeast/packages/lobby/src/MiniRiffMessage.js", - "hash": "11241013786033480948" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts", - "hash": "6432882401389896262" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts", - "hash": "13604791001102711879" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts", - "hash": "2585815956597800195" - }, - { - "file": "thebeast/packages/lobby/src/UserInfoMessage.ts", - "hash": "1972085798168679604" - }, - { - "file": "thebeast/packages/lobby/src/handlers/_setMyUserData.ts", - "hash": "6051840652316367579" - }, - { - "file": "thebeast/packages/lobby/src/handlers/encryptedCommand.ts", - "hash": "6814520795311795350" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts", - "hash": "13618102840919040981" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts", - "hash": "6445464099010382093" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleTrackingPing.ts", - "hash": "13045732364422345782" - }, - { - "file": "thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts", - "hash": "10345121769205254033" - }, - { - "file": "thebeast/packages/lobby/src/internal.ts", - "hash": "924094160136413689" - }, - { - "file": "thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts", - "hash": "7238017438243772608" - }, - { - "file": "thebeast/packages/login/src/NPSUserStatus.ts", - "hash": "16875952085468026799" - }, - { - "file": "thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts", - "hash": "11705039232477007955" - }, - { - "file": "thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts", - "hash": "8159177475144579801" - }, - { - "file": "thebeast/packages/login/src/index.ts", - "hash": "3352871230665761711" - }, - { - "file": "thebeast/packages/login/src/internal.ts", - "hash": "17051275314422802076" - }, - { - "file": "thebeast/packages/login/src/premadeLogin.ts", - "hash": "12751300569295352555" - }, - { - "file": "thebeast/packages/login/test/LoginServer.test.ts", - "hash": "10565123972491562420" - }, - { - "file": "thebeast/packages/patch/src/PatchServer.ts", - "hash": "5601406865432369959" - }, - { - "file": "thebeast/packages/patch/test/PatchServer.test.ts", - "hash": "9472484405971191658" - }, - { - "file": "thebeast/packages/persona/src/BuddyInfoMessage.ts", - "hash": "957965795279503517" - }, - { - "file": "thebeast/packages/persona/src/PersonaMapsMessage.ts", - "hash": "341757047635540261" - }, - { - "file": "thebeast/packages/persona/src/_gameLogout.ts", - "hash": "4413858239163244230" - }, - { - "file": "thebeast/packages/persona/src/_getFirstBuddy.ts", - "hash": "1089323837474634693" - }, - { - "file": "thebeast/packages/persona/src/_selectGamePersona.ts", - "hash": "12129028808475062084" - }, - { - "file": "thebeast/packages/persona/src/getPersonasByPersonaId.ts", - "hash": "2932645466827174550" - }, - { - "file": "thebeast/packages/persona/src/handlers/validatePersonaName.ts", - "hash": "9671635701221334083" - }, - { - "file": "thebeast/packages/persona/src/index.js", - "hash": "6701314932231100316" - }, - { - "file": "thebeast/packages/persona/src/internal.ts", - "hash": "829028668449652946" - }, - { - "file": "thebeast/packages/persona/test/getPersonasByPersonaId.test.ts", - "hash": "9820907297118538269" - }, - { - "file": "thebeast/packages/shard/README.md", - "hash": "1531493455043303254" - }, - { - "file": "thebeast/packages/shard/src/ShardServer.ts", - "hash": "15261759438768374095" - }, - { - "file": "thebeast/packages/shard/src/index.ts", - "hash": "13010640451471941546" - }, - { - "file": "thebeast/packages/shard/src/shard-entry.ts", - "hash": "9955457668046224603" - }, - { - "file": "thebeast/packages/shard/test/fixtures/testCert.txt", - "hash": "3488382365066730147" - }, - { - "file": "thebeast/packages/shard/test/fixtures/testKey.txt", - "hash": "5139740649930613032" - }, - { - "file": "thebeast/packages/shard/test/shard-entry.test.ts", - "hash": "15349928708796752740" - }, - { - "file": "thebeast/packages/shared/Configuration.ts", - "hash": "8829321556485713934" - }, - { - "file": "thebeast/packages/shared/MessageNode.ts", - "hash": "17276693369473084998" - }, - { - "file": "thebeast/packages/shared/NPSMessage.js", - "hash": "13501682524628691279" - }, - { - "file": "thebeast/packages/shared/RawMessageHeader.js", - "hash": "10963865330507911628" - }, - { - "file": "thebeast/packages/shared/ServerMessage.test.ts", - "hash": "16102656974041962895" - }, - { - "file": "thebeast/packages/shared/State.ts", - "hash": "16413030918793381960" - }, - { - "file": "thebeast/packages/shared/SubThread.ts", - "hash": "9558083630241453712" - }, - { - "file": "thebeast/packages/shared/TimeStamp.ts", - "hash": "9737425688522386934" - }, - { - "file": "thebeast/packages/shared/log.ts", - "hash": "12230422625076241246" - }, - { - "file": "thebeast/packages/shared/messageFactory.ts", - "hash": "12362226477158476067" - }, - { - "file": "thebeast/packages/shared/src/BaseSerialized.ts", - "hash": "3200216018340432971" - }, - { - "file": "thebeast/packages/shared/src/NetworkMessage.ts", - "hash": "7839562508523166106" - }, - { - "file": "thebeast/packages/shared/src/RawMessage.ts", - "hash": "16255637630635910786" - }, - { - "file": "thebeast/packages/shared/src/SerializedBuffer.ts", - "hash": "15948472476286257355" - }, - { - "file": "thebeast/packages/shared/src/ServerMessage.ts", - "hash": "6574435112867849842" - }, - { - "file": "thebeast/packages/shared/structs.ts", - "hash": "6770231010390025052" - }, - { - "file": "thebeast/packages/shared/test/BaseSerialized.test.ts", - "hash": "15299131819114596119" - }, - { - "file": "thebeast/packages/shared/test/RawMessage.test.ts", - "hash": "8286693699258480867" - }, - { - "file": "thebeast/packages/shared/test/SerializedBuffer.test.ts", - "hash": "3081602657626059918" - }, - { - "file": "thebeast/packages/shared/types.ts", - "hash": "535928383286824709" - }, - { - "file": "thebeast/packages/shared/utils.js", - "hash": "8783924261469526704" - }, - { - "file": "thebeast/packages/transactions/src/ArcadeCarMessage.ts", - "hash": "1773582845790193606" - }, - { - "file": "thebeast/packages/transactions/src/EntryFeePurseMessage.ts", - "hash": "12865710013307806250" - }, - { - "file": "thebeast/packages/transactions/src/GameUrlsMessage.ts", - "hash": "999393481421749419" - }, - { - "file": "thebeast/packages/transactions/src/GenericReplyMessage.ts", - "hash": "17393665821760014902" - }, - { - "file": "thebeast/packages/transactions/src/GenericRequestMessage.ts", - "hash": "1476539291742873525" - }, - { - "file": "thebeast/packages/transactions/src/LobbyMessage.ts", - "hash": "9275279296147412981" - }, - { - "file": "thebeast/packages/transactions/src/OwnedVehiclesMessage.ts", - "hash": "12611322433130965831" - }, - { - "file": "thebeast/packages/transactions/src/PartsAssemblyMessage.ts", - "hash": "9337882765741192461" - }, - { - "file": "thebeast/packages/transactions/src/PlayerInfoMessage.ts", - "hash": "17457203427256605541" - }, - { - "file": "thebeast/packages/transactions/src/PlayerPhysicalMessage.ts", - "hash": "17233708314723268553" - }, - { - "file": "thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts", - "hash": "3411298515975253648" - }, - { - "file": "thebeast/packages/transactions/src/StockCar.ts", - "hash": "9033181026794782742" - }, - { - "file": "thebeast/packages/transactions/src/StockCarInfoMessage.ts", - "hash": "12716928424449940315" - }, - { - "file": "thebeast/packages/transactions/src/TClientConnectMessage.ts", - "hash": "1029994440417875391" - }, - { - "file": "thebeast/packages/transactions/src/TLoginMessage.ts", - "hash": "1547853334393280436" - }, - { - "file": "thebeast/packages/transactions/src/TunablesMessage.ts", - "hash": "7572081379958230220" - }, - { - "file": "thebeast/packages/transactions/src/_getArcadeCarInfo.ts", - "hash": "9147233676983020197" - }, - { - "file": "thebeast/packages/transactions/src/_getGameUrls.ts", - "hash": "13806199189865848133" - }, - { - "file": "thebeast/packages/transactions/src/_getOwnedParts.ts", - "hash": "6120034434128383360" - }, - { - "file": "thebeast/packages/transactions/src/_getOwnedVehicles.ts", - "hash": "8014122057707114339" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerInfo.ts", - "hash": "2049330447129420507" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerPhysical.ts", - "hash": "4665813287151303980" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerRaceHistory.ts", - "hash": "15468679873388136350" - }, - { - "file": "thebeast/packages/transactions/src/_getStockCarInfo.ts", - "hash": "7330412046291037513" - }, - { - "file": "thebeast/packages/transactions/src/_getTunables.ts", - "hash": "14577701050798876356" - }, - { - "file": "thebeast/packages/transactions/src/_logout.ts", - "hash": "9326370515488996681" - }, - { - "file": "thebeast/packages/transactions/src/_setOptions.ts", - "hash": "17891130601292919415" - }, - { - "file": "thebeast/packages/transactions/src/_updatePlayerPhysical.ts", - "hash": "3621658960673827879" - }, - { - "file": "thebeast/packages/transactions/src/clientConnect.ts", - "hash": "4753781919323379200" - }, - { - "file": "thebeast/packages/transactions/src/getLobbies.ts", - "hash": "1635802012173364044" - }, - { - "file": "thebeast/packages/transactions/src/internal.ts", - "hash": "18056856701207797701" - }, - { - "file": "thebeast/packages/transactions/src/login.ts", - "hash": "13916657415816829357" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers.ts", - "hash": "17675335383936088077" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts", - "hash": "11719113978455546525" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts", - "hash": "1110763732248536929" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts", - "hash": "7008175338125684800" - }, - { - "file": "thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts", - "hash": "11588892827801367784" - }, - { - "file": "thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts", - "hash": "6042678730710153460" - }, - { - "file": "thebeast/packages/transactions/src/models/PartModel.ts", - "hash": "279048933881245059" - }, - { - "file": "thebeast/packages/transactions/src/models/VehicleModel.ts", - "hash": "10410711501338596885" - }, - { - "file": "thebeast/packages/transactions/src/models/index.ts", - "hash": "6744656081485672062" - }, - { - "file": "thebeast/packages/transactions/src/services/car.ts", - "hash": "5354739902865390909" - }, - { - "file": "thebeast/packages/transactions/src/trackingPing.ts", - "hash": "5801261250436147890" - }, - { - "file": "thebeast/packages/transactions/test/LobbyMessage.test.ts", - "hash": "17151793148726225817" - }, - { - "file": "thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts", - "hash": "9910063872974964539" - }, - { - "file": "thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts", - "hash": "5589125118605356726" - }, - { - "file": "thebeast/packages/transactions/test/PlayerInfoMessage.test.ts", - "hash": "13084190344885027414" - }, - { - "file": "thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts", - "hash": "17745193897863435478" - }, - { - "file": "thebeast/packages/transactions/test/TClientConnectMessage.test.ts", - "hash": "17512883184623947196" - }, - { - "file": "thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts", - "hash": "10264681368827451529" - }, - { - "file": "thebeast/packages/transactions/test/clientConnect.test.ts", - "hash": "11146258957640552144" - }, - { - "file": "thebeast/packages/transactions/test/getLobbies.test.ts", - "hash": "7414349835896295947" - }, - { - "file": "thebeast/packages/transactions/test/trackingPing.test.ts", - "hash": "4783477714246278233" - }, - { - "file": "thebeast/packages/transactions/types.ts", - "hash": "1206433166808545647" - }, - { - "file": "thebeast/prettierrc", - "hash": "10593956658062165815" - }, - { - "file": "thebeast/server.ts", - "hash": "3370460044543449901" - }, - { - "file": "thebeast/services/sslProxy/Dockerfile", - "hash": "10918860478215206535" - }, - { - "file": "thebeast/services/sslProxy/cert1.pem", - "hash": "6627038978586248096" - }, - { - "file": "thebeast/services/sslProxy/chain1.pem", - "hash": "12404381617006411899" - }, - { - "file": "thebeast/services/sslProxy/fullchain1.pem", - "hash": "2141058919244833389" - }, - { - "file": "thebeast/services/sslProxy/mcouniverse.pem", - "hash": "17468020595415841035" - }, - { - "file": "thebeast/services/sslProxy/nginx.conf", - "hash": "10189008900899018902" - }, - { - "file": "thebeast/services/sslProxy/private_key.pem", - "hash": "14828305855260596309" - }, - { - "file": "thebeast/services/sslProxy/privkey1.pem", - "hash": "896251991278574722" - }, - { - "file": "thebeast/test/factoryMocks.ts", - "hash": "14506167869364755911" - } - ], - "shared-packets": [ - { - "file": "packages/shared-packets/.gitignore", - "hash": "2110945332964774953" - }, - { - "file": "packages/shared-packets/index.ts", - "hash": "14112979670253156991" - }, - { - "file": "packages/shared-packets/nx", - "hash": "17165975525224888679" - }, - { - "file": "packages/shared-packets/nx.bat", - "hash": "16828809655253213278" - }, - { - "file": "packages/shared-packets/nx.json", - "hash": "1702674655394002529" - }, - { - "file": "packages/shared-packets/package.json", - "hash": "5616656973328790161" - }, - { - "file": "packages/shared-packets/src/BasePacket.ts", - "hash": "3372102292134029617" - }, - { - "file": "packages/shared-packets/src/GameMessage.ts", - "hash": "5403072432092632987" - }, - { - "file": "packages/shared-packets/src/ServerMessage.ts", - "hash": "10109509774501235701" - }, - { - "file": "packages/shared-packets/src/interfaces.ts", - "hash": "14223115322489433218" - }, - { - "file": "packages/shared-packets/tsconfig.json", - "hash": "12244550166806554632" - } - ] + "version": "6.0", + "nxVersion": "18.0.6", + "deps": { + "slonik": "29", + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "nx": "^18.0.6", + "prettier": "3.2.4", + "typescript": "^5.3.3", + "vitest": "^1.3.1" }, - "nonProjectFiles": [ - { - "file": ".editorconfig", - "hash": "3513138753717310681" - }, - { - "file": ".eslintignore", - "hash": "12850352444786700516" - }, - { - "file": ".eslintrc.json", - "hash": "7384546438645336841" - }, - { - "file": ".gitattributes", - "hash": "831515780835031949" - }, - { - "file": ".github/CODEOWNERS", - "hash": "4055606894390288348" - }, - { - "file": ".github/ISSUE_TEMPLATE/bug_report.md", - "hash": "115617464785463818" - }, - { - "file": ".github/ISSUE_TEMPLATE/custom.md", - "hash": "5858363058901041211" - }, - { - "file": ".github/ISSUE_TEMPLATE/feature_request.md", - "hash": "8357138721755086969" - }, - { - "file": ".github/codecov.yml", - "hash": "11950616182529543795" - }, - { - "file": ".github/stale.yml", - "hash": "4152159448353798214" - }, - { - "file": ".github/workflows/codeql-analysis.yml", - "hash": "1830329638506090042" - }, - { - "file": ".github/workflows/main.yml", - "hash": "9445417414588131479" - }, - { - "file": ".github/workflows/node.yml", - "hash": "10434255733421760826" - }, - { - "file": ".github/workflows/semgrep.yml", - "hash": "5733547883025944860" - }, - { - "file": ".gitignore", - "hash": "6056045085944084065" - }, - { - "file": ".nvmrc", - "hash": "3150325407466604411" - }, - { - "file": ".renovaterc.json", - "hash": "1033688734383078772" - }, - { - "file": ".yarnrc.yml", - "hash": "9773565372686775399" - }, - { - "file": "AUTHORS", - "hash": "9088802071802449084" - }, - { - "file": "CHANGELOG.md", - "hash": "8150256992360586195" - }, - { - "file": "CODE_OF_CONDUCT.md", - "hash": "4459666008725275939" - }, - { - "file": "LICENSE", - "hash": "3436599895438545929" - }, - { - "file": "README.md", - "hash": "16855486448012672152" - }, - { - "file": "data/mcouniverse.cnf", - "hash": "123910987430207258" - }, - { - "file": "data/mcouniverse.crt", - "hash": "1191634416628667447" - }, - { - "file": "data/private_key.pem", - "hash": "9606433185746498366" - }, - { - "file": "data/pub.key", - "hash": "17902127655719005979" - }, - { - "file": "docker-compose.yml", - "hash": "15381317242857966620" - }, - { - "file": "ecosystem.config.js", - "hash": "16070110576719583910" - }, - { - "file": "migrate.ts", - "hash": "8808382917902489449" - }, - { - "file": "migrations/2024.02.11T13.01.48.attachmentPoint.sql", - "hash": "10542879087385480155" - }, - { - "file": "migrations/2024.02.11T13.19.25.brand.sql", - "hash": "7166282554027007473" - }, - { - "file": "migrations/2024.02.11T13.23.01.model.sql", - "hash": "16284802501309331487" - }, - { - "file": "migrations/2024.02.11T13.33.31.abstractPartType.sql", - "hash": "2058007122663114655" - }, - { - "file": "migrations/2024.02.11T13.38.39.partGrade.sql", - "hash": "5013091838467829893" - }, - { - "file": "migrations/2024.02.11T13.39.20.partType.sql", - "hash": "8379931834343123851" - }, - { - "file": "migrations/2024.02.11T13.40.36.brandedPart.sql", - "hash": "2022566303004781061" - }, - { - "file": "migrations/2024.02.11T13.41.55.part.sql", - "hash": "3845495707411982302" - }, - { - "file": "migrations/2024.02.11T13.45.10.driverClass.sql", - "hash": "13682220716441275837" - }, - { - "file": "migrations/2024.02.11T13.46.16.playerType.sql", - "hash": "12353712311522592461" - }, - { - "file": "migrations/2024.02.11T14.07.43.player.sql", - "hash": "875886506133949981" - }, - { - "file": "migrations/2024.02.11T14.22.15.skinType.sql", - "hash": "2682348850531002443" - }, - { - "file": "migrations/2024.02.11T14.23.13.ptSkin.sql", - "hash": "11237916534585402054" - }, - { - "file": "migrations/2024.02.11T14.24.06.vehicle.sql", - "hash": "10104535563766569225" - }, - { - "file": "migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql", - "hash": "12410409890279792396" - }, - { - "file": "migrations/2024.02.11T23.20.55.initialBrand.sql", - "hash": "11960951545379619417" - }, - { - "file": "migrations/2024.02.11T23.26.25.initialModel.sql", - "hash": "5783613339187009087" - }, - { - "file": "migrations/2024.02.11T23.27.19.initialAbstractPartType.sql", - "hash": "18053132905130228586" - }, - { - "file": "migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql", - "hash": "13015642188112396064" - }, - { - "file": "migrations/2024.02.11T23.28.36.initialAbstractPartType.sql", - "hash": "7268695905091225267" - }, - { - "file": "migrations/2024.02.11T23.29.19.initialBrandedPart.sql", - "hash": "9267672829227694399" - }, - { - "file": "migrations/2024.02.11T23.30.06.initialPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/2024.02.11T23.30.44.initialDriverClass.sql", - "hash": "10095515633216763662" - }, - { - "file": "migrations/2024.02.11T23.32.01.initialPlayerType.sql", - "hash": "15552921051283242617" - }, - { - "file": "migrations/2024.02.11T23.32.44.initialPlayer.sql", - "hash": "9392877988850498534" - }, - { - "file": "migrations/2024.02.13T03.00.46.createSVACarClass.sql", - "hash": "17768528275421623634" - }, - { - "file": "migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql", - "hash": "11575593377309025851" - }, - { - "file": "migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", - "hash": "16018889396571730258" - }, - { - "file": "migrations/2024.02.13T03.18.24.initialSVACarClass.sql", - "hash": "1119126884295576370" - }, - { - "file": "migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql", - "hash": "12497613429321718440" - }, - { - "file": "migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", - "hash": "11055287955635829612" - }, - { - "file": "migrations/2024.02.13T23.56.02.createStockAssembly.sql", - "hash": "15535898055453969128" - }, - { - "file": "migrations/2024.02.13T23.58.02.initialStockAssembly.sql", - "hash": "17939624101867247628" - }, - { - "file": "migrations/2024.02.15T00.21.44.initialSkinType.sql", - "hash": "5583146586029229843" - }, - { - "file": "migrations/2024.02.15T00.22.20.initialPTSkin.sql", - "hash": "4794038191543769023" - }, - { - "file": "migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql", - "hash": "1032763780903964996" - }, - { - "file": "migrations/down/2024.02.11T13.01.48.attachmentPoint.sql", - "hash": "873667697973178439" - }, - { - "file": "migrations/down/2024.02.11T13.19.25.brand.sql", - "hash": "10593386839204003560" - }, - { - "file": "migrations/down/2024.02.11T13.23.01.model.sql", - "hash": "5028242859244426798" - }, - { - "file": "migrations/down/2024.02.11T13.33.31.abstractPartType.sql", - "hash": "16959658196206863462" - }, - { - "file": "migrations/down/2024.02.11T13.38.39.partGrade.sql", - "hash": "577024430197782665" - }, - { - "file": "migrations/down/2024.02.11T13.39.20.partType.sql", - "hash": "13393313781605263691" - }, - { - "file": "migrations/down/2024.02.11T13.40.36.brandedPart.sql", - "hash": "15678787078187872458" - }, - { - "file": "migrations/down/2024.02.11T13.41.55.part.sql", - "hash": "10118447456617452799" - }, - { - "file": "migrations/down/2024.02.11T13.45.10.driverClass.sql", - "hash": "9782802780447855367" - }, - { - "file": "migrations/down/2024.02.11T13.46.16.playerType.sql", - "hash": "13483038754554998827" - }, - { - "file": "migrations/down/2024.02.11T14.07.43.player.sql", - "hash": "594397948219204133" - }, - { - "file": "migrations/down/2024.02.11T14.22.15.skinType.sql", - "hash": "11909935763772094128" - }, - { - "file": "migrations/down/2024.02.11T14.23.13.ptSkin.sql", - "hash": "2914371168788705190" - }, - { - "file": "migrations/down/2024.02.11T14.24.06.vehicle.sql", - "hash": "7270406692193771051" - }, - { - "file": "migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.20.55.initialBrand.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.26.25.initialModel.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.30.06.initialPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.30.44.initialDriverClass.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.32.01.initialPlayerType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.32.44.initialPlayer.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.00.46.createSVACarClass.sql", - "hash": "3141029809313864148" - }, - { - "file": "migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql", - "hash": "10189741708410336130" - }, - { - "file": "migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql", - "hash": "1345895125854916203" - }, - { - "file": "migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", - "hash": "11194051327329992476" - }, - { - "file": "migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T23.56.02.createStockAssembly.sql", - "hash": "12531526038098023791" - }, - { - "file": "migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.15T00.21.44.initialSkinType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.15T00.22.20.initialPTSkin.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql", - "hash": "13328527806503765938" - }, - { - "file": "package-lock.json", - "hash": "14705700139180693936" - }, - { - "file": "package.json", - "hash": "745516997042910599" - }, - { - "file": "pnpm-lock.yaml", - "hash": "9424596112271544027" - }, - { - "file": "pnpm-workspace.yaml", - "hash": "7577147420081313510" - }, - { - "file": "tsconfig.json", - "hash": "4450702441445365045" - }, - { - "file": "vite.config.ts", - "hash": "45197661840963346" - } - ] - } + "pathMappings": {}, + "nxJsonPlugins": [], + "fileMap": { + "projectFileMap": { + "@rusty-motors/thebeast": [ + { + "file": "thebeast/.dockerignore", + "hash": "5025141916944003883" + }, + { + "file": "thebeast/.gitignore", + "hash": "9266369700550161410" + }, + { + "file": "thebeast/Makefile", + "hash": "10938361408484256462" + }, + { + "file": "thebeast/README.md", + "hash": "9375829152669321394" + }, + { + "file": "thebeast/data/mcouniverse.cnf", + "hash": "123910987430207258" + }, + { + "file": "thebeast/data/mcouniverse.crt", + "hash": "1191634416628667447" + }, + { + "file": "thebeast/data/private_key.pem", + "hash": "9606433185746498366" + }, + { + "file": "thebeast/data/pub.key", + "hash": "17902127655719005979" + }, + { + "file": "thebeast/docs/client.md", + "hash": "15727718581905962847" + }, + { + "file": "thebeast/docs/flow.md", + "hash": "7787831704472350830" + }, + { + "file": "thebeast/docs/reference/export.psql", + "hash": "17578199974330833246" + }, + { + "file": "thebeast/docs/reference/pkware/Makefile", + "hash": "15053509190642345172" + }, + { + "file": "thebeast/docs/reference/pkware/PKWare.vcxproj", + "hash": "9435899160320819569" + }, + { + "file": "thebeast/docs/reference/pkware/PKWare.vcxproj.filters", + "hash": "13468170418349436350" + }, + { + "file": "thebeast/docs/reference/pkware/Pkware.dsp", + "hash": "1391784609212882792" + }, + { + "file": "thebeast/docs/reference/pkware/Readme.md", + "hash": "4425732291975278011" + }, + { + "file": "thebeast/docs/reference/pkware/explode.cpp", + "hash": "18395085193875004087" + }, + { + "file": "thebeast/docs/reference/pkware/implode.cpp", + "hash": "7393854153648314614" + }, + { + "file": "thebeast/docs/reference/pkware/pkware.h", + "hash": "13921447420677982317" + }, + { + "file": "thebeast/docs/server.md", + "hash": "9579366762840847861" + }, + { + "file": "thebeast/docs/technicial/README.md", + "hash": "6957920249184620849" + }, + { + "file": "thebeast/docs/technicial/external_notes.md", + "hash": "10610467416209624836" + }, + { + "file": "thebeast/docs/technicial/internal_notes.md", + "hash": "5300025178613305298" + }, + { + "file": "thebeast/images/2012-10-12_lobby.png", + "hash": "1802333483553751171" + }, + { + "file": "thebeast/jsconfig-old.json", + "hash": "5852609677706475110" + }, + { + "file": "thebeast/lib/index.d.ts", + "hash": "3244421341483603138" + }, + { + "file": "thebeast/lib/nps/index.ts", + "hash": "7090739820004070559" + }, + { + "file": "thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts", + "hash": "1310426978404068664" + }, + { + "file": "thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts", + "hash": "6532897472486871971" + }, + { + "file": "thebeast/lib/nps/messageProcessors/index.ts", + "hash": "3428272607749081350" + }, + { + "file": "thebeast/lib/nps/messageProcessors/lobbyCommands.ts", + "hash": "3067400189448550173" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCheckPlateText.ts", + "hash": "7116424182069654272" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCheckProfileName.ts", + "hash": "15692350762709805299" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processCreateProfile.ts", + "hash": "17296605385109366503" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processDeleteProfile.ts", + "hash": "8037003224882727444" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts", + "hash": "9864198487345188731" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGameLogin.ts", + "hash": "6848078763900836763" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts", + "hash": "4317773952728428954" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts", + "hash": "234931470321227098" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts", + "hash": "10958544461981205728" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processLobbyLogin.ts", + "hash": "17296351929681794078" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processPing.ts", + "hash": "16270620732051920981" + }, + { + "file": "thebeast/lib/nps/messageProcessors/processUserLogin.ts", + "hash": "15428579812719676698" + }, + { + "file": "thebeast/lib/nps/messageStructs/GameMessage.ts", + "hash": "8854967129983057049" + }, + { + "file": "thebeast/lib/nps/messageStructs/GameProfile.ts", + "hash": "4848812249109328340" + }, + { + "file": "thebeast/lib/nps/messageStructs/MiniRiffList.ts", + "hash": "7155327144186990565" + }, + { + "file": "thebeast/lib/nps/messageStructs/MiniUserList.ts", + "hash": "17462825181538069545" + }, + { + "file": "thebeast/lib/nps/messageStructs/NPSList.ts", + "hash": "10119158781387584114" + }, + { + "file": "thebeast/lib/nps/messageStructs/ProfileList.ts", + "hash": "2527086496158874335" + }, + { + "file": "thebeast/lib/nps/messageStructs/SessionKey.ts", + "hash": "12762795724411796498" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserAction.ts", + "hash": "579526865209158192" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserInfo.ts", + "hash": "15823399554624038370" + }, + { + "file": "thebeast/lib/nps/messageStructs/UserStatus.ts", + "hash": "8429116003312465571" + }, + { + "file": "thebeast/lib/nps/services/account.ts", + "hash": "15589634688779153194" + }, + { + "file": "thebeast/lib/nps/services/profile.ts", + "hash": "8641993167559947549" + }, + { + "file": "thebeast/lib/nps/services/session.ts", + "hash": "2818149994021605356" + }, + { + "file": "thebeast/lib/nps/services/token.ts", + "hash": "7368387690796821995" + }, + { + "file": "thebeast/lib/nps/services/types.ts", + "hash": "9731723030948033474" + }, + { + "file": "thebeast/lib/nps/types.ts", + "hash": "14870268956472440757" + }, + { + "file": "thebeast/lib/nps/utils/pureCompare.ts", + "hash": "4258843400502292304" + }, + { + "file": "thebeast/lib/nps/utils/pureGet.ts", + "hash": "265682811551639654" + }, + { + "file": "thebeast/lib/nps/utils/purePut.ts", + "hash": "9440717771529078848" + }, + { + "file": "thebeast/misc/mco-installer.ps1", + "hash": "13519895526939924726" + }, + { + "file": "thebeast/misc/port-forward.ps1", + "hash": "2665506854599928164" + }, + { + "file": "thebeast/package.json", + "hash": "14226416099307832357", + "deps": [ + "npm:slonik", + "npm:tslib", + "npm:@types/node", + "npm:prettier", + "npm:typescript", + "npm:vitest" + ] + }, + { + "file": "thebeast/packages/cli/ConsoleThread.ts", + "hash": "1311000703834661758" + }, + { + "file": "thebeast/packages/core/src/serializationHelpers.test.ts", + "hash": "7375367383862286700" + }, + { + "file": "thebeast/packages/core/src/serializationHelpers.ts", + "hash": "17013848800848265656" + }, + { + "file": "thebeast/packages/database/src/DatabaseManager.ts", + "hash": "18219385929952374378" + }, + { + "file": "thebeast/packages/database/src/cache.ts", + "hash": "7882225308057049204" + }, + { + "file": "thebeast/packages/database/src/models/AttachmentPoint.ts", + "hash": "1243933141818742110" + }, + { + "file": "thebeast/packages/database/src/models/Brand.ts", + "hash": "16061208263295757044" + }, + { + "file": "thebeast/packages/database/src/models/BrandedPart.ts", + "hash": "5031921834567439497" + }, + { + "file": "thebeast/packages/database/src/models/Model.ts", + "hash": "9581311691702946170" + }, + { + "file": "thebeast/packages/database/src/models/Part.ts", + "hash": "3565147951075335222" + }, + { + "file": "thebeast/packages/database/src/models/VehiclePartTree.ts", + "hash": "3694860194416975564" + }, + { + "file": "thebeast/packages/database/src/services/admin.ts", + "hash": "12837464768298197841" + }, + { + "file": "thebeast/packages/database/src/services/database.ts", + "hash": "1491364016199264618" + }, + { + "file": "thebeast/packages/database/test/Database.test.ts", + "hash": "9913456368706932491" + }, + { + "file": "thebeast/packages/gateway/src/GatewayServer.ts", + "hash": "7460506973012740089" + }, + { + "file": "thebeast/packages/gateway/src/encryption.ts", + "hash": "17732081301264374343" + }, + { + "file": "thebeast/packages/gateway/src/index.ts", + "hash": "7316187040594714944" + }, + { + "file": "thebeast/packages/gateway/src/web.ts", + "hash": "10732081061832552206" + }, + { + "file": "thebeast/packages/gateway/test/encryption.test.ts", + "hash": "16713107242591571234" + }, + { + "file": "thebeast/packages/interfaces/index.d.ts", + "hash": "7048195495022320009" + }, + { + "file": "thebeast/packages/lobby/src/LoginInfoMessage.ts", + "hash": "1491492989245281008" + }, + { + "file": "thebeast/packages/lobby/src/MiniRiffMessage.js", + "hash": "11241013786033480948" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts", + "hash": "6432882401389896262" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts", + "hash": "13604791001102711879" + }, + { + "file": "thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts", + "hash": "2585815956597800195" + }, + { + "file": "thebeast/packages/lobby/src/UserInfoMessage.ts", + "hash": "1972085798168679604" + }, + { + "file": "thebeast/packages/lobby/src/handlers/_setMyUserData.ts", + "hash": "6051840652316367579" + }, + { + "file": "thebeast/packages/lobby/src/handlers/encryptedCommand.ts", + "hash": "6814520795311795350" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts", + "hash": "13618102840919040981" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts", + "hash": "6445464099010382093" + }, + { + "file": "thebeast/packages/lobby/src/handlers/handleTrackingPing.ts", + "hash": "13045732364422345782" + }, + { + "file": "thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts", + "hash": "10345121769205254033" + }, + { + "file": "thebeast/packages/lobby/src/internal.ts", + "hash": "924094160136413689" + }, + { + "file": "thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts", + "hash": "7238017438243772608" + }, + { + "file": "thebeast/packages/login/src/NPSUserStatus.ts", + "hash": "16875952085468026799" + }, + { + "file": "thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts", + "hash": "11705039232477007955" + }, + { + "file": "thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts", + "hash": "8159177475144579801" + }, + { + "file": "thebeast/packages/login/src/index.ts", + "hash": "3352871230665761711" + }, + { + "file": "thebeast/packages/login/src/internal.ts", + "hash": "17051275314422802076" + }, + { + "file": "thebeast/packages/login/src/premadeLogin.ts", + "hash": "12751300569295352555" + }, + { + "file": "thebeast/packages/login/test/LoginServer.test.ts", + "hash": "10565123972491562420" + }, + { + "file": "thebeast/packages/patch/src/PatchServer.ts", + "hash": "5601406865432369959" + }, + { + "file": "thebeast/packages/patch/test/PatchServer.test.ts", + "hash": "9472484405971191658" + }, + { + "file": "thebeast/packages/persona/src/BuddyInfoMessage.ts", + "hash": "957965795279503517" + }, + { + "file": "thebeast/packages/persona/src/PersonaMapsMessage.ts", + "hash": "341757047635540261" + }, + { + "file": "thebeast/packages/persona/src/_gameLogout.ts", + "hash": "4413858239163244230" + }, + { + "file": "thebeast/packages/persona/src/_getFirstBuddy.ts", + "hash": "1089323837474634693" + }, + { + "file": "thebeast/packages/persona/src/_selectGamePersona.ts", + "hash": "12129028808475062084" + }, + { + "file": "thebeast/packages/persona/src/getPersonasByPersonaId.ts", + "hash": "2932645466827174550" + }, + { + "file": "thebeast/packages/persona/src/handlers/validatePersonaName.ts", + "hash": "9671635701221334083" + }, + { + "file": "thebeast/packages/persona/src/index.js", + "hash": "6701314932231100316" + }, + { + "file": "thebeast/packages/persona/src/internal.ts", + "hash": "829028668449652946" + }, + { + "file": "thebeast/packages/persona/test/getPersonasByPersonaId.test.ts", + "hash": "9820907297118538269" + }, + { + "file": "thebeast/packages/shard/README.md", + "hash": "1531493455043303254" + }, + { + "file": "thebeast/packages/shard/src/ShardServer.ts", + "hash": "15261759438768374095" + }, + { + "file": "thebeast/packages/shard/src/index.ts", + "hash": "13010640451471941546" + }, + { + "file": "thebeast/packages/shard/src/shard-entry.ts", + "hash": "9955457668046224603" + }, + { + "file": "thebeast/packages/shard/test/fixtures/testCert.txt", + "hash": "3488382365066730147" + }, + { + "file": "thebeast/packages/shard/test/fixtures/testKey.txt", + "hash": "5139740649930613032" + }, + { + "file": "thebeast/packages/shard/test/shard-entry.test.ts", + "hash": "15349928708796752740" + }, + { + "file": "thebeast/packages/shared/Configuration.ts", + "hash": "8829321556485713934" + }, + { + "file": "thebeast/packages/shared/MessageNode.ts", + "hash": "17276693369473084998" + }, + { + "file": "thebeast/packages/shared/NPSMessage.js", + "hash": "13501682524628691279" + }, + { + "file": "thebeast/packages/shared/RawMessageHeader.js", + "hash": "10963865330507911628" + }, + { + "file": "thebeast/packages/shared/ServerMessage.test.ts", + "hash": "16102656974041962895" + }, + { + "file": "thebeast/packages/shared/State.ts", + "hash": "16413030918793381960" + }, + { + "file": "thebeast/packages/shared/SubThread.ts", + "hash": "9558083630241453712" + }, + { + "file": "thebeast/packages/shared/TimeStamp.ts", + "hash": "9737425688522386934" + }, + { + "file": "thebeast/packages/shared/log.ts", + "hash": "12230422625076241246" + }, + { + "file": "thebeast/packages/shared/messageFactory.ts", + "hash": "12362226477158476067" + }, + { + "file": "thebeast/packages/shared/src/BaseSerialized.ts", + "hash": "3200216018340432971" + }, + { + "file": "thebeast/packages/shared/src/NetworkMessage.ts", + "hash": "7839562508523166106" + }, + { + "file": "thebeast/packages/shared/src/RawMessage.ts", + "hash": "16255637630635910786" + }, + { + "file": "thebeast/packages/shared/src/SerializedBuffer.ts", + "hash": "15948472476286257355" + }, + { + "file": "thebeast/packages/shared/src/ServerMessage.ts", + "hash": "6574435112867849842" + }, + { + "file": "thebeast/packages/shared/structs.ts", + "hash": "6770231010390025052" + }, + { + "file": "thebeast/packages/shared/test/BaseSerialized.test.ts", + "hash": "15299131819114596119" + }, + { + "file": "thebeast/packages/shared/test/RawMessage.test.ts", + "hash": "8286693699258480867" + }, + { + "file": "thebeast/packages/shared/test/SerializedBuffer.test.ts", + "hash": "3081602657626059918" + }, + { + "file": "thebeast/packages/shared/types.ts", + "hash": "535928383286824709" + }, + { + "file": "thebeast/packages/shared/utils.js", + "hash": "8783924261469526704" + }, + { + "file": "thebeast/packages/transactions/src/ArcadeCarMessage.ts", + "hash": "1773582845790193606" + }, + { + "file": "thebeast/packages/transactions/src/EntryFeePurseMessage.ts", + "hash": "12865710013307806250" + }, + { + "file": "thebeast/packages/transactions/src/GameUrlsMessage.ts", + "hash": "999393481421749419" + }, + { + "file": "thebeast/packages/transactions/src/GenericReplyMessage.ts", + "hash": "17393665821760014902" + }, + { + "file": "thebeast/packages/transactions/src/GenericRequestMessage.ts", + "hash": "1476539291742873525" + }, + { + "file": "thebeast/packages/transactions/src/LobbyMessage.ts", + "hash": "9275279296147412981" + }, + { + "file": "thebeast/packages/transactions/src/OwnedVehiclesMessage.ts", + "hash": "12611322433130965831" + }, + { + "file": "thebeast/packages/transactions/src/PartsAssemblyMessage.ts", + "hash": "9337882765741192461" + }, + { + "file": "thebeast/packages/transactions/src/PlayerInfoMessage.ts", + "hash": "17457203427256605541" + }, + { + "file": "thebeast/packages/transactions/src/PlayerPhysicalMessage.ts", + "hash": "17233708314723268553" + }, + { + "file": "thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts", + "hash": "3411298515975253648" + }, + { + "file": "thebeast/packages/transactions/src/StockCar.ts", + "hash": "9033181026794782742" + }, + { + "file": "thebeast/packages/transactions/src/StockCarInfoMessage.ts", + "hash": "12716928424449940315" + }, + { + "file": "thebeast/packages/transactions/src/TClientConnectMessage.ts", + "hash": "1029994440417875391" + }, + { + "file": "thebeast/packages/transactions/src/TLoginMessage.ts", + "hash": "1547853334393280436" + }, + { + "file": "thebeast/packages/transactions/src/TunablesMessage.ts", + "hash": "7572081379958230220" + }, + { + "file": "thebeast/packages/transactions/src/_getArcadeCarInfo.ts", + "hash": "9147233676983020197" + }, + { + "file": "thebeast/packages/transactions/src/_getGameUrls.ts", + "hash": "13806199189865848133" + }, + { + "file": "thebeast/packages/transactions/src/_getOwnedParts.ts", + "hash": "6120034434128383360" + }, + { + "file": "thebeast/packages/transactions/src/_getOwnedVehicles.ts", + "hash": "8014122057707114339" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerInfo.ts", + "hash": "2049330447129420507" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerPhysical.ts", + "hash": "4665813287151303980" + }, + { + "file": "thebeast/packages/transactions/src/_getPlayerRaceHistory.ts", + "hash": "15468679873388136350" + }, + { + "file": "thebeast/packages/transactions/src/_getStockCarInfo.ts", + "hash": "7330412046291037513" + }, + { + "file": "thebeast/packages/transactions/src/_getTunables.ts", + "hash": "14577701050798876356" + }, + { + "file": "thebeast/packages/transactions/src/_logout.ts", + "hash": "9326370515488996681" + }, + { + "file": "thebeast/packages/transactions/src/_setOptions.ts", + "hash": "17891130601292919415" + }, + { + "file": "thebeast/packages/transactions/src/_updatePlayerPhysical.ts", + "hash": "3621658960673827879" + }, + { + "file": "thebeast/packages/transactions/src/clientConnect.ts", + "hash": "4753781919323379200" + }, + { + "file": "thebeast/packages/transactions/src/getLobbies.ts", + "hash": "1635802012173364044" + }, + { + "file": "thebeast/packages/transactions/src/internal.ts", + "hash": "18056856701207797701" + }, + { + "file": "thebeast/packages/transactions/src/login.ts", + "hash": "13916657415816829357" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers.ts", + "hash": "17675335383936088077" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts", + "hash": "11719113978455546525" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts", + "hash": "1110763732248536929" + }, + { + "file": "thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts", + "hash": "7008175338125684800" + }, + { + "file": "thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts", + "hash": "11588892827801367784" + }, + { + "file": "thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts", + "hash": "6042678730710153460" + }, + { + "file": "thebeast/packages/transactions/src/models/PartModel.ts", + "hash": "279048933881245059" + }, + { + "file": "thebeast/packages/transactions/src/models/VehicleModel.ts", + "hash": "10410711501338596885" + }, + { + "file": "thebeast/packages/transactions/src/models/index.ts", + "hash": "6744656081485672062" + }, + { + "file": "thebeast/packages/transactions/src/services/car.ts", + "hash": "5354739902865390909" + }, + { + "file": "thebeast/packages/transactions/src/trackingPing.ts", + "hash": "5801261250436147890" + }, + { + "file": "thebeast/packages/transactions/test/LobbyMessage.test.ts", + "hash": "17151793148726225817" + }, + { + "file": "thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts", + "hash": "9910063872974964539" + }, + { + "file": "thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts", + "hash": "5589125118605356726" + }, + { + "file": "thebeast/packages/transactions/test/PlayerInfoMessage.test.ts", + "hash": "13084190344885027414" + }, + { + "file": "thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts", + "hash": "17745193897863435478" + }, + { + "file": "thebeast/packages/transactions/test/TClientConnectMessage.test.ts", + "hash": "17512883184623947196" + }, + { + "file": "thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts", + "hash": "10264681368827451529" + }, + { + "file": "thebeast/packages/transactions/test/clientConnect.test.ts", + "hash": "11146258957640552144" + }, + { + "file": "thebeast/packages/transactions/test/getLobbies.test.ts", + "hash": "7414349835896295947" + }, + { + "file": "thebeast/packages/transactions/test/trackingPing.test.ts", + "hash": "4783477714246278233" + }, + { + "file": "thebeast/packages/transactions/types.ts", + "hash": "1206433166808545647" + }, + { + "file": "thebeast/prettierrc", + "hash": "10593956658062165815" + }, + { + "file": "thebeast/server.ts", + "hash": "3370460044543449901" + }, + { + "file": "thebeast/services/sslProxy/Dockerfile", + "hash": "10918860478215206535" + }, + { + "file": "thebeast/services/sslProxy/cert1.pem", + "hash": "6627038978586248096" + }, + { + "file": "thebeast/services/sslProxy/chain1.pem", + "hash": "12404381617006411899" + }, + { + "file": "thebeast/services/sslProxy/fullchain1.pem", + "hash": "2141058919244833389" + }, + { + "file": "thebeast/services/sslProxy/mcouniverse.pem", + "hash": "17468020595415841035" + }, + { + "file": "thebeast/services/sslProxy/nginx.conf", + "hash": "10189008900899018902" + }, + { + "file": "thebeast/services/sslProxy/private_key.pem", + "hash": "14828305855260596309" + }, + { + "file": "thebeast/services/sslProxy/privkey1.pem", + "hash": "896251991278574722" + }, + { + "file": "thebeast/test/factoryMocks.ts", + "hash": "14506167869364755911" + } + ], + "shared-packets": [ + { + "file": "packages/shared-packets/.gitignore", + "hash": "2110945332964774953" + }, + { + "file": "packages/shared-packets/index.ts", + "hash": "14112979670253156991" + }, + { + "file": "packages/shared-packets/nx", + "hash": "17165975525224888679" + }, + { + "file": "packages/shared-packets/nx.bat", + "hash": "16828809655253213278" + }, + { + "file": "packages/shared-packets/nx.json", + "hash": "1702674655394002529" + }, + { + "file": "packages/shared-packets/package.json", + "hash": "5616656973328790161" + }, + { + "file": "packages/shared-packets/src/BasePacket.ts", + "hash": "3372102292134029617" + }, + { + "file": "packages/shared-packets/src/GameMessage.ts", + "hash": "5403072432092632987" + }, + { + "file": "packages/shared-packets/src/ServerMessage.ts", + "hash": "10109509774501235701" + }, + { + "file": "packages/shared-packets/src/interfaces.ts", + "hash": "14223115322489433218" + }, + { + "file": "packages/shared-packets/tsconfig.json", + "hash": "12244550166806554632" + } + ] + }, + "nonProjectFiles": [ + { + "file": ".editorconfig", + "hash": "3513138753717310681" + }, + { + "file": ".eslintignore", + "hash": "12850352444786700516" + }, + { + "file": ".eslintrc.json", + "hash": "7384546438645336841" + }, + { + "file": ".gitattributes", + "hash": "831515780835031949" + }, + { + "file": ".github/CODEOWNERS", + "hash": "4055606894390288348" + }, + { + "file": ".github/ISSUE_TEMPLATE/bug_report.md", + "hash": "115617464785463818" + }, + { + "file": ".github/ISSUE_TEMPLATE/custom.md", + "hash": "5858363058901041211" + }, + { + "file": ".github/ISSUE_TEMPLATE/feature_request.md", + "hash": "8357138721755086969" + }, + { + "file": ".github/codecov.yml", + "hash": "11950616182529543795" + }, + { + "file": ".github/stale.yml", + "hash": "4152159448353798214" + }, + { + "file": ".github/workflows/codeql-analysis.yml", + "hash": "1830329638506090042" + }, + { + "file": ".github/workflows/main.yml", + "hash": "9445417414588131479" + }, + { + "file": ".github/workflows/node.yml", + "hash": "10434255733421760826" + }, + { + "file": ".github/workflows/semgrep.yml", + "hash": "5733547883025944860" + }, + { + "file": ".gitignore", + "hash": "6056045085944084065" + }, + { + "file": ".nvmrc", + "hash": "3150325407466604411" + }, + { + "file": ".renovaterc.json", + "hash": "1033688734383078772" + }, + { + "file": ".yarnrc.yml", + "hash": "9773565372686775399" + }, + { + "file": "AUTHORS", + "hash": "9088802071802449084" + }, + { + "file": "CHANGELOG.md", + "hash": "8150256992360586195" + }, + { + "file": "CODE_OF_CONDUCT.md", + "hash": "4459666008725275939" + }, + { + "file": "LICENSE", + "hash": "3436599895438545929" + }, + { + "file": "README.md", + "hash": "16855486448012672152" + }, + { + "file": "data/mcouniverse.cnf", + "hash": "123910987430207258" + }, + { + "file": "data/mcouniverse.crt", + "hash": "1191634416628667447" + }, + { + "file": "data/private_key.pem", + "hash": "9606433185746498366" + }, + { + "file": "data/pub.key", + "hash": "17902127655719005979" + }, + { + "file": "docker-compose.yml", + "hash": "15381317242857966620" + }, + { + "file": "ecosystem.config.js", + "hash": "16070110576719583910" + }, + { + "file": "migrate.ts", + "hash": "8808382917902489449" + }, + { + "file": "migrations/2024.02.11T13.01.48.attachmentPoint.sql", + "hash": "10542879087385480155" + }, + { + "file": "migrations/2024.02.11T13.19.25.brand.sql", + "hash": "7166282554027007473" + }, + { + "file": "migrations/2024.02.11T13.23.01.model.sql", + "hash": "16284802501309331487" + }, + { + "file": "migrations/2024.02.11T13.33.31.abstractPartType.sql", + "hash": "2058007122663114655" + }, + { + "file": "migrations/2024.02.11T13.38.39.partGrade.sql", + "hash": "5013091838467829893" + }, + { + "file": "migrations/2024.02.11T13.39.20.partType.sql", + "hash": "8379931834343123851" + }, + { + "file": "migrations/2024.02.11T13.40.36.brandedPart.sql", + "hash": "2022566303004781061" + }, + { + "file": "migrations/2024.02.11T13.41.55.part.sql", + "hash": "3845495707411982302" + }, + { + "file": "migrations/2024.02.11T13.45.10.driverClass.sql", + "hash": "13682220716441275837" + }, + { + "file": "migrations/2024.02.11T13.46.16.playerType.sql", + "hash": "12353712311522592461" + }, + { + "file": "migrations/2024.02.11T14.07.43.player.sql", + "hash": "875886506133949981" + }, + { + "file": "migrations/2024.02.11T14.22.15.skinType.sql", + "hash": "2682348850531002443" + }, + { + "file": "migrations/2024.02.11T14.23.13.ptSkin.sql", + "hash": "11237916534585402054" + }, + { + "file": "migrations/2024.02.11T14.24.06.vehicle.sql", + "hash": "10104535563766569225" + }, + { + "file": "migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql", + "hash": "12410409890279792396" + }, + { + "file": "migrations/2024.02.11T23.20.55.initialBrand.sql", + "hash": "11960951545379619417" + }, + { + "file": "migrations/2024.02.11T23.26.25.initialModel.sql", + "hash": "5783613339187009087" + }, + { + "file": "migrations/2024.02.11T23.27.19.initialAbstractPartType.sql", + "hash": "18053132905130228586" + }, + { + "file": "migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql", + "hash": "13015642188112396064" + }, + { + "file": "migrations/2024.02.11T23.28.36.initialAbstractPartType.sql", + "hash": "7268695905091225267" + }, + { + "file": "migrations/2024.02.11T23.29.19.initialBrandedPart.sql", + "hash": "9267672829227694399" + }, + { + "file": "migrations/2024.02.11T23.30.06.initialPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/2024.02.11T23.30.44.initialDriverClass.sql", + "hash": "10095515633216763662" + }, + { + "file": "migrations/2024.02.11T23.32.01.initialPlayerType.sql", + "hash": "15552921051283242617" + }, + { + "file": "migrations/2024.02.11T23.32.44.initialPlayer.sql", + "hash": "9392877988850498534" + }, + { + "file": "migrations/2024.02.13T03.00.46.createSVACarClass.sql", + "hash": "17768528275421623634" + }, + { + "file": "migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql", + "hash": "11575593377309025851" + }, + { + "file": "migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", + "hash": "16018889396571730258" + }, + { + "file": "migrations/2024.02.13T03.18.24.initialSVACarClass.sql", + "hash": "1119126884295576370" + }, + { + "file": "migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql", + "hash": "12497613429321718440" + }, + { + "file": "migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", + "hash": "11055287955635829612" + }, + { + "file": "migrations/2024.02.13T23.56.02.createStockAssembly.sql", + "hash": "15535898055453969128" + }, + { + "file": "migrations/2024.02.13T23.58.02.initialStockAssembly.sql", + "hash": "17939624101867247628" + }, + { + "file": "migrations/2024.02.15T00.21.44.initialSkinType.sql", + "hash": "5583146586029229843" + }, + { + "file": "migrations/2024.02.15T00.22.20.initialPTSkin.sql", + "hash": "4794038191543769023" + }, + { + "file": "migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql", + "hash": "1032763780903964996" + }, + { + "file": "migrations/down/2024.02.11T13.01.48.attachmentPoint.sql", + "hash": "873667697973178439" + }, + { + "file": "migrations/down/2024.02.11T13.19.25.brand.sql", + "hash": "10593386839204003560" + }, + { + "file": "migrations/down/2024.02.11T13.23.01.model.sql", + "hash": "5028242859244426798" + }, + { + "file": "migrations/down/2024.02.11T13.33.31.abstractPartType.sql", + "hash": "16959658196206863462" + }, + { + "file": "migrations/down/2024.02.11T13.38.39.partGrade.sql", + "hash": "577024430197782665" + }, + { + "file": "migrations/down/2024.02.11T13.39.20.partType.sql", + "hash": "13393313781605263691" + }, + { + "file": "migrations/down/2024.02.11T13.40.36.brandedPart.sql", + "hash": "15678787078187872458" + }, + { + "file": "migrations/down/2024.02.11T13.41.55.part.sql", + "hash": "10118447456617452799" + }, + { + "file": "migrations/down/2024.02.11T13.45.10.driverClass.sql", + "hash": "9782802780447855367" + }, + { + "file": "migrations/down/2024.02.11T13.46.16.playerType.sql", + "hash": "13483038754554998827" + }, + { + "file": "migrations/down/2024.02.11T14.07.43.player.sql", + "hash": "594397948219204133" + }, + { + "file": "migrations/down/2024.02.11T14.22.15.skinType.sql", + "hash": "11909935763772094128" + }, + { + "file": "migrations/down/2024.02.11T14.23.13.ptSkin.sql", + "hash": "2914371168788705190" + }, + { + "file": "migrations/down/2024.02.11T14.24.06.vehicle.sql", + "hash": "7270406692193771051" + }, + { + "file": "migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.20.55.initialBrand.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.26.25.initialModel.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.30.06.initialPart.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.30.44.initialDriverClass.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.32.01.initialPlayerType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.11T23.32.44.initialPlayer.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.00.46.createSVACarClass.sql", + "hash": "3141029809313864148" + }, + { + "file": "migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql", + "hash": "10189741708410336130" + }, + { + "file": "migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql", + "hash": "1345895125854916203" + }, + { + "file": "migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", + "hash": "11194051327329992476" + }, + { + "file": "migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.13T23.56.02.createStockAssembly.sql", + "hash": "12531526038098023791" + }, + { + "file": "migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.15T00.21.44.initialSkinType.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.15T00.22.20.initialPTSkin.sql", + "hash": "4092638369037952978" + }, + { + "file": "migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql", + "hash": "13328527806503765938" + }, + { + "file": "package-lock.json", + "hash": "14705700139180693936" + }, + { + "file": "package.json", + "hash": "745516997042910599" + }, + { + "file": "pnpm-lock.yaml", + "hash": "9424596112271544027" + }, + { + "file": "pnpm-workspace.yaml", + "hash": "7577147420081313510" + }, + { + "file": "tsconfig.json", + "hash": "4450702441445365045" + }, + { + "file": "vite.config.ts", + "hash": "45197661840963346" + } + ] + } } diff --git a/.nx/cache/parsed-lock-file.json b/.nx/cache/parsed-lock-file.json index 11b1230d1..3ba682b82 100644 --- a/.nx/cache/parsed-lock-file.json +++ b/.nx/cache/parsed-lock-file.json @@ -1,4715 +1,4715 @@ { - "externalNodes": { - "npm:@esbuild/aix-ppc64": { - "type": "npm", - "name": "npm:@esbuild/aix-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/aix-ppc64", - "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" - } - }, - "npm:@esbuild/android-arm64": { - "type": "npm", - "name": "npm:@esbuild/android-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm64", - "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" - } - }, - "npm:@esbuild/android-arm": { - "type": "npm", - "name": "npm:@esbuild/android-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm", - "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" - } - }, - "npm:@esbuild/android-x64": { - "type": "npm", - "name": "npm:@esbuild/android-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-x64", - "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" - } - }, - "npm:@esbuild/darwin-arm64": { - "type": "npm", - "name": "npm:@esbuild/darwin-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-arm64", - "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" - } - }, - "npm:@esbuild/darwin-x64": { - "type": "npm", - "name": "npm:@esbuild/darwin-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-x64", - "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" - } - }, - "npm:@esbuild/freebsd-arm64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-arm64", - "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" - } - }, - "npm:@esbuild/freebsd-x64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-x64", - "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" - } - }, - "npm:@esbuild/linux-arm64": { - "type": "npm", - "name": "npm:@esbuild/linux-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm64", - "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" - } - }, - "npm:@esbuild/linux-arm": { - "type": "npm", - "name": "npm:@esbuild/linux-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm", - "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" - } - }, - "npm:@esbuild/linux-ia32": { - "type": "npm", - "name": "npm:@esbuild/linux-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ia32", - "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" - } - }, - "npm:@esbuild/linux-loong64": { - "type": "npm", - "name": "npm:@esbuild/linux-loong64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-loong64", - "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" - } - }, - "npm:@esbuild/linux-mips64el": { - "type": "npm", - "name": "npm:@esbuild/linux-mips64el", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-mips64el", - "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" - } - }, - "npm:@esbuild/linux-ppc64": { - "type": "npm", - "name": "npm:@esbuild/linux-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ppc64", - "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" - } - }, - "npm:@esbuild/linux-riscv64": { - "type": "npm", - "name": "npm:@esbuild/linux-riscv64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-riscv64", - "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" - } - }, - "npm:@esbuild/linux-s390x": { - "type": "npm", - "name": "npm:@esbuild/linux-s390x", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-s390x", - "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" - } - }, - "npm:@esbuild/linux-x64": { - "type": "npm", - "name": "npm:@esbuild/linux-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-x64", - "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" - } - }, - "npm:@esbuild/netbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/netbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/netbsd-x64", - "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" - } - }, - "npm:@esbuild/openbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/openbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/openbsd-x64", - "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" - } - }, - "npm:@esbuild/sunos-x64": { - "type": "npm", - "name": "npm:@esbuild/sunos-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/sunos-x64", - "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" - } - }, - "npm:@esbuild/win32-arm64": { - "type": "npm", - "name": "npm:@esbuild/win32-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-arm64", - "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" - } - }, - "npm:@esbuild/win32-ia32": { - "type": "npm", - "name": "npm:@esbuild/win32-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-ia32", - "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" - } - }, - "npm:@esbuild/win32-x64": { - "type": "npm", - "name": "npm:@esbuild/win32-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-x64", - "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" - } - }, - "npm:@jest/schemas": { - "type": "npm", - "name": "npm:@jest/schemas", - "data": { - "version": "29.6.3", - "packageName": "@jest/schemas", - "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" - } - }, - "npm:@jridgewell/sourcemap-codec": { - "type": "npm", - "name": "npm:@jridgewell/sourcemap-codec", - "data": { - "version": "1.4.15", - "packageName": "@jridgewell/sourcemap-codec", - "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - } - }, - "npm:@nrwl/tao": { - "type": "npm", - "name": "npm:@nrwl/tao", - "data": { - "version": "18.0.6", - "packageName": "@nrwl/tao", - "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" - } - }, - "npm:@nx/nx-darwin-arm64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-arm64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-arm64", - "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" - } - }, - "npm:@nx/nx-darwin-x64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-x64", - "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" - } - }, - "npm:@nx/nx-freebsd-x64": { - "type": "npm", - "name": "npm:@nx/nx-freebsd-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-freebsd-x64", - "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" - } - }, - "npm:@nx/nx-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm-gnueabihf", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm-gnueabihf", - "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" - } - }, - "npm:@nx/nx-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-gnu", - "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" - } - }, - "npm:@nx/nx-linux-arm64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-musl", - "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" - } - }, - "npm:@nx/nx-linux-x64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-gnu", - "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" - } - }, - "npm:@nx/nx-linux-x64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-musl", - "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" - } - }, - "npm:@nx/nx-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-arm64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-arm64-msvc", - "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" - } - }, - "npm:@nx/nx-win32-x64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-x64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-x64-msvc", - "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" - } - }, - "npm:@rollup/rollup-android-arm-eabi": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm-eabi", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm-eabi", - "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" - } - }, - "npm:@rollup/rollup-android-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm64", - "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" - } - }, - "npm:@rollup/rollup-darwin-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-arm64", - "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" - } - }, - "npm:@rollup/rollup-darwin-x64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-x64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-x64", - "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" - } - }, - "npm:@rollup/rollup-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm-gnueabihf", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm-gnueabihf", - "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" - } - }, - "npm:@rollup/rollup-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-gnu", - "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" - } - }, - "npm:@rollup/rollup-linux-arm64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-musl", - "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" - } - }, - "npm:@rollup/rollup-linux-riscv64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-riscv64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-riscv64-gnu", - "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" - } - }, - "npm:@rollup/rollup-linux-x64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-gnu", - "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" - } - }, - "npm:@rollup/rollup-linux-x64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-musl", - "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" - } - }, - "npm:@rollup/rollup-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-arm64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-arm64-msvc", - "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" - } - }, - "npm:@rollup/rollup-win32-ia32-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-ia32-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-ia32-msvc", - "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" - } - }, - "npm:@rollup/rollup-win32-x64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-x64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-x64-msvc", - "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" - } - }, - "npm:@rushstack/node-core-library": { - "type": "npm", - "name": "npm:@rushstack/node-core-library", - "data": { - "version": "4.0.2", - "packageName": "@rushstack/node-core-library", - "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" - } - }, - "npm:@rushstack/terminal": { - "type": "npm", - "name": "npm:@rushstack/terminal", - "data": { - "version": "0.10.0", - "packageName": "@rushstack/terminal", - "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" - } - }, - "npm:@rushstack/ts-command-line": { - "type": "npm", - "name": "npm:@rushstack/ts-command-line", - "data": { - "version": "4.18.0", - "packageName": "@rushstack/ts-command-line", - "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" - } - }, - "npm:@sinclair/typebox": { - "type": "npm", - "name": "npm:@sinclair/typebox", - "data": { - "version": "0.27.8", - "packageName": "@sinclair/typebox", - "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - } - }, - "npm:@slonik/migrator": { - "type": "npm", - "name": "npm:@slonik/migrator", - "data": { - "version": "0.12.0", - "packageName": "@slonik/migrator", - "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" - } - }, - "npm:@types/argparse": { - "type": "npm", - "name": "npm:@types/argparse", - "data": { - "version": "1.0.38", - "packageName": "@types/argparse", - "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" - } - }, - "npm:@types/estree": { - "type": "npm", - "name": "npm:@types/estree", - "data": { - "version": "1.0.5", - "packageName": "@types/estree", - "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - } - }, - "npm:@types/node": { - "type": "npm", - "name": "npm:@types/node", - "data": { - "version": "20.11.24", - "packageName": "@types/node", - "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" - } - }, - "npm:@vitest/expect": { - "type": "npm", - "name": "npm:@vitest/expect", - "data": { - "version": "1.3.1", - "packageName": "@vitest/expect", - "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" - } - }, - "npm:@vitest/runner": { - "type": "npm", - "name": "npm:@vitest/runner", - "data": { - "version": "1.3.1", - "packageName": "@vitest/runner", - "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" - } - }, - "npm:@vitest/snapshot": { - "type": "npm", - "name": "npm:@vitest/snapshot", - "data": { - "version": "1.3.1", - "packageName": "@vitest/snapshot", - "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" - } - }, - "npm:@vitest/spy": { - "type": "npm", - "name": "npm:@vitest/spy", - "data": { - "version": "1.3.1", - "packageName": "@vitest/spy", - "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" - } - }, - "npm:@vitest/utils": { - "type": "npm", - "name": "npm:@vitest/utils", - "data": { - "version": "1.3.1", - "packageName": "@vitest/utils", - "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" - } - }, - "npm:@yarnpkg/lockfile": { - "type": "npm", - "name": "npm:@yarnpkg/lockfile", - "data": { - "version": "1.1.0", - "packageName": "@yarnpkg/lockfile", - "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - } - }, - "npm:@yarnpkg/parsers": { - "type": "npm", - "name": "npm:@yarnpkg/parsers", - "data": { - "version": "3.0.0-rc.46", - "packageName": "@yarnpkg/parsers", - "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" - } - }, - "npm:@zkochan/js-yaml": { - "type": "npm", - "name": "npm:@zkochan/js-yaml", - "data": { - "version": "0.0.6", - "packageName": "@zkochan/js-yaml", - "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" - } - }, - "npm:acorn-walk": { - "type": "npm", - "name": "npm:acorn-walk", - "data": { - "version": "8.3.2", - "packageName": "acorn-walk", - "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" - } - }, - "npm:acorn": { - "type": "npm", - "name": "npm:acorn", - "data": { - "version": "8.11.3", - "packageName": "acorn", - "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - } - }, - "npm:ansi-colors": { - "type": "npm", - "name": "npm:ansi-colors", - "data": { - "version": "4.1.3", - "packageName": "ansi-colors", - "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - } - }, - "npm:ansi-regex": { - "type": "npm", - "name": "npm:ansi-regex", - "data": { - "version": "5.0.1", - "packageName": "ansi-regex", - "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } - }, - "npm:ansi-styles": { - "type": "npm", - "name": "npm:ansi-styles", - "data": { - "version": "4.3.0", - "packageName": "ansi-styles", - "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - } - }, - "npm:ansi-styles@5.2.0": { - "type": "npm", - "name": "npm:ansi-styles@5.2.0", - "data": { - "version": "5.2.0", - "packageName": "ansi-styles", - "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - }, - "npm:argparse": { - "type": "npm", - "name": "npm:argparse", - "data": { - "version": "1.0.10", - "packageName": "argparse", - "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - } - }, - "npm:argparse@2.0.1": { - "type": "npm", - "name": "npm:argparse@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "argparse", - "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - }, - "npm:assertion-error": { - "type": "npm", - "name": "npm:assertion-error", - "data": { - "version": "1.1.0", - "packageName": "assertion-error", - "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - } - }, - "npm:asynckit": { - "type": "npm", - "name": "npm:asynckit", - "data": { - "version": "0.4.0", - "packageName": "asynckit", - "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - } - }, - "npm:axios": { - "type": "npm", - "name": "npm:axios", - "data": { - "version": "1.6.7", - "packageName": "axios", - "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" - } - }, - "npm:balanced-match": { - "type": "npm", - "name": "npm:balanced-match", - "data": { - "version": "1.0.2", - "packageName": "balanced-match", - "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - } - }, - "npm:base64-js": { - "type": "npm", - "name": "npm:base64-js", - "data": { - "version": "1.5.1", - "packageName": "base64-js", - "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - } - }, - "npm:bl": { - "type": "npm", - "name": "npm:bl", - "data": { - "version": "4.1.0", - "packageName": "bl", - "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - } - }, - "npm:bluebird": { - "type": "npm", - "name": "npm:bluebird", - "data": { - "version": "3.7.2", - "packageName": "bluebird", - "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - } - }, - "npm:boolean": { - "type": "npm", - "name": "npm:boolean", - "data": { - "version": "3.2.0", - "packageName": "boolean", - "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - } - }, - "npm:brace-expansion": { - "type": "npm", - "name": "npm:brace-expansion", - "data": { - "version": "2.0.1", - "packageName": "brace-expansion", - "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - } - }, - "npm:buffer-from": { - "type": "npm", - "name": "npm:buffer-from", - "data": { - "version": "1.1.2", - "packageName": "buffer-from", - "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - } - }, - "npm:buffer-writer": { - "type": "npm", - "name": "npm:buffer-writer", - "data": { - "version": "2.0.0", - "packageName": "buffer-writer", - "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" - } - }, - "npm:buffer": { - "type": "npm", - "name": "npm:buffer", - "data": { - "version": "5.7.1", - "packageName": "buffer", - "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - } - }, - "npm:bufferput": { - "type": "npm", - "name": "npm:bufferput", - "data": { - "version": "0.1.3", - "packageName": "bufferput", - "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" - } - }, - "npm:cac": { - "type": "npm", - "name": "npm:cac", - "data": { - "version": "6.7.14", - "packageName": "cac", - "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" - } - }, - "npm:chai": { - "type": "npm", - "name": "npm:chai", - "data": { - "version": "4.4.1", - "packageName": "chai", - "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" - } - }, - "npm:chalk": { - "type": "npm", - "name": "npm:chalk", - "data": { - "version": "4.1.2", - "packageName": "chalk", - "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - } - }, - "npm:check-error": { - "type": "npm", - "name": "npm:check-error", - "data": { - "version": "1.0.3", - "packageName": "check-error", - "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" - } - }, - "npm:cli-cursor": { - "type": "npm", - "name": "npm:cli-cursor", - "data": { - "version": "3.1.0", - "packageName": "cli-cursor", - "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - } - }, - "npm:cli-spinners": { - "type": "npm", - "name": "npm:cli-spinners", - "data": { - "version": "2.6.1", - "packageName": "cli-spinners", - "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - } - }, - "npm:cliui": { - "type": "npm", - "name": "npm:cliui", - "data": { - "version": "8.0.1", - "packageName": "cliui", - "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - } - }, - "npm:clone": { - "type": "npm", - "name": "npm:clone", - "data": { - "version": "1.0.4", - "packageName": "clone", - "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - } - }, - "npm:color-convert": { - "type": "npm", - "name": "npm:color-convert", - "data": { - "version": "2.0.1", - "packageName": "color-convert", - "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - } - }, - "npm:color-name": { - "type": "npm", - "name": "npm:color-name", - "data": { - "version": "1.1.4", - "packageName": "color-name", - "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - }, - "npm:combined-stream": { - "type": "npm", - "name": "npm:combined-stream", - "data": { - "version": "1.0.8", - "packageName": "combined-stream", - "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - } - }, - "npm:commander": { - "type": "npm", - "name": "npm:commander", - "data": { - "version": "9.5.0", - "packageName": "commander", - "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - } - }, - "npm:concat-stream": { - "type": "npm", - "name": "npm:concat-stream", - "data": { - "version": "2.0.0", - "packageName": "concat-stream", - "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - } - }, - "npm:cross-spawn": { - "type": "npm", - "name": "npm:cross-spawn", - "data": { - "version": "7.0.3", - "packageName": "cross-spawn", - "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - } - }, - "npm:debug": { - "type": "npm", - "name": "npm:debug", - "data": { - "version": "4.3.4", - "packageName": "debug", - "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - } - }, - "npm:deep-eql": { - "type": "npm", - "name": "npm:deep-eql", - "data": { - "version": "4.1.3", - "packageName": "deep-eql", - "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" - } - }, - "npm:defaults": { - "type": "npm", - "name": "npm:defaults", - "data": { - "version": "1.0.4", - "packageName": "defaults", - "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" - } - }, - "npm:define-lazy-prop": { - "type": "npm", - "name": "npm:define-lazy-prop", - "data": { - "version": "2.0.0", - "packageName": "define-lazy-prop", - "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - } - }, - "npm:delayed-stream": { - "type": "npm", - "name": "npm:delayed-stream", - "data": { - "version": "1.0.0", - "packageName": "delayed-stream", - "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - } - }, - "npm:diff-sequences": { - "type": "npm", - "name": "npm:diff-sequences", - "data": { - "version": "29.6.3", - "packageName": "diff-sequences", - "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" - } - }, - "npm:dotenv-expand": { - "type": "npm", - "name": "npm:dotenv-expand", - "data": { - "version": "10.0.0", - "packageName": "dotenv-expand", - "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" - } - }, - "npm:dotenv": { - "type": "npm", - "name": "npm:dotenv", - "data": { - "version": "16.3.2", - "packageName": "dotenv", - "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" - } - }, - "npm:duplexer": { - "type": "npm", - "name": "npm:duplexer", - "data": { - "version": "0.1.2", - "packageName": "duplexer", - "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - } - }, - "npm:emittery": { - "type": "npm", - "name": "npm:emittery", - "data": { - "version": "0.13.1", - "packageName": "emittery", - "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" - } - }, - "npm:emoji-regex": { - "type": "npm", - "name": "npm:emoji-regex", - "data": { - "version": "8.0.0", - "packageName": "emoji-regex", - "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - }, - "npm:end-of-stream": { - "type": "npm", - "name": "npm:end-of-stream", - "data": { - "version": "1.4.4", - "packageName": "end-of-stream", - "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - } - }, - "npm:enquirer": { - "type": "npm", - "name": "npm:enquirer", - "data": { - "version": "2.3.6", - "packageName": "enquirer", - "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - } - }, - "npm:es6-error": { - "type": "npm", - "name": "npm:es6-error", - "data": { - "version": "4.1.1", - "packageName": "es6-error", - "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - } - }, - "npm:esbuild": { - "type": "npm", - "name": "npm:esbuild", - "data": { - "version": "0.19.12", - "packageName": "esbuild", - "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" - } - }, - "npm:escalade": { - "type": "npm", - "name": "npm:escalade", - "data": { - "version": "3.1.2", - "packageName": "escalade", - "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - } - }, - "npm:escape-string-regexp": { - "type": "npm", - "name": "npm:escape-string-regexp", - "data": { - "version": "1.0.5", - "packageName": "escape-string-regexp", - "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - }, - "npm:esprima": { - "type": "npm", - "name": "npm:esprima", - "data": { - "version": "4.0.1", - "packageName": "esprima", - "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - }, - "npm:estree-walker": { - "type": "npm", - "name": "npm:estree-walker", - "data": { - "version": "3.0.3", - "packageName": "estree-walker", - "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" - } - }, - "npm:execa": { - "type": "npm", - "name": "npm:execa", - "data": { - "version": "8.0.1", - "packageName": "execa", - "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" - } - }, - "npm:fast-printf": { - "type": "npm", - "name": "npm:fast-printf", - "data": { - "version": "1.6.9", - "packageName": "fast-printf", - "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" - } - }, - "npm:fast-safe-stringify": { - "type": "npm", - "name": "npm:fast-safe-stringify", - "data": { - "version": "2.1.1", - "packageName": "fast-safe-stringify", - "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - } - }, - "npm:figures": { - "type": "npm", - "name": "npm:figures", - "data": { - "version": "3.2.0", - "packageName": "figures", - "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - } - }, - "npm:flat": { - "type": "npm", - "name": "npm:flat", - "data": { - "version": "5.0.2", - "packageName": "flat", - "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - } - }, - "npm:follow-redirects": { - "type": "npm", - "name": "npm:follow-redirects", - "data": { - "version": "1.15.5", - "packageName": "follow-redirects", - "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - } - }, - "npm:form-data": { - "type": "npm", - "name": "npm:form-data", - "data": { - "version": "4.0.0", - "packageName": "form-data", - "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - } - }, - "npm:fs-constants": { - "type": "npm", - "name": "npm:fs-constants", - "data": { - "version": "1.0.0", - "packageName": "fs-constants", - "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - } - }, - "npm:fs-extra@11.2.0": { - "type": "npm", - "name": "npm:fs-extra@11.2.0", - "data": { - "version": "11.2.0", - "packageName": "fs-extra", - "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" - } - }, - "npm:fs-extra": { - "type": "npm", - "name": "npm:fs-extra", - "data": { - "version": "7.0.1", - "packageName": "fs-extra", - "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - } - }, - "npm:fs.realpath": { - "type": "npm", - "name": "npm:fs.realpath", - "data": { - "version": "1.0.0", - "packageName": "fs.realpath", - "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - } - }, - "npm:fsevents": { - "type": "npm", - "name": "npm:fsevents", - "data": { - "version": "2.3.3", - "packageName": "fsevents", - "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - } - }, - "npm:function-bind": { - "type": "npm", - "name": "npm:function-bind", - "data": { - "version": "1.1.2", - "packageName": "function-bind", - "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } - }, - "npm:get-caller-file": { - "type": "npm", - "name": "npm:get-caller-file", - "data": { - "version": "2.0.5", - "packageName": "get-caller-file", - "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - } - }, - "npm:get-func-name": { - "type": "npm", - "name": "npm:get-func-name", - "data": { - "version": "2.0.2", - "packageName": "get-func-name", - "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" - } - }, - "npm:get-stack-trace": { - "type": "npm", - "name": "npm:get-stack-trace", - "data": { - "version": "2.1.1", - "packageName": "get-stack-trace", - "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" - } - }, - "npm:get-stream": { - "type": "npm", - "name": "npm:get-stream", - "data": { - "version": "8.0.1", - "packageName": "get-stream", - "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" - } - }, - "npm:glob": { - "type": "npm", - "name": "npm:glob", - "data": { - "version": "8.1.0", - "packageName": "glob", - "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" - } - }, - "npm:graceful-fs": { - "type": "npm", - "name": "npm:graceful-fs", - "data": { - "version": "4.2.11", - "packageName": "graceful-fs", - "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - } - }, - "npm:has-flag": { - "type": "npm", - "name": "npm:has-flag", - "data": { - "version": "4.0.0", - "packageName": "has-flag", - "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - }, - "npm:hasown": { - "type": "npm", - "name": "npm:hasown", - "data": { - "version": "2.0.1", - "packageName": "hasown", - "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" - } - }, - "npm:human-signals": { - "type": "npm", - "name": "npm:human-signals", - "data": { - "version": "5.0.0", - "packageName": "human-signals", - "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" - } - }, - "npm:hyperid": { - "type": "npm", - "name": "npm:hyperid", - "data": { - "version": "2.3.1", - "packageName": "hyperid", - "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" - } - }, - "npm:ieee754": { - "type": "npm", - "name": "npm:ieee754", - "data": { - "version": "1.2.1", - "packageName": "ieee754", - "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - } - }, - "npm:ignore": { - "type": "npm", - "name": "npm:ignore", - "data": { - "version": "5.3.1", - "packageName": "ignore", - "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" - } - }, - "npm:import-lazy": { - "type": "npm", - "name": "npm:import-lazy", - "data": { - "version": "4.0.0", - "packageName": "import-lazy", - "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" - } - }, - "npm:inflight": { - "type": "npm", - "name": "npm:inflight", - "data": { - "version": "1.0.6", - "packageName": "inflight", - "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - } - }, - "npm:inherits": { - "type": "npm", - "name": "npm:inherits", - "data": { - "version": "2.0.4", - "packageName": "inherits", - "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - } - }, - "npm:int64-buffer": { - "type": "npm", - "name": "npm:int64-buffer", - "data": { - "version": "0.99.1007", - "packageName": "int64-buffer", - "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" - } - }, - "npm:is-core-module": { - "type": "npm", - "name": "npm:is-core-module", - "data": { - "version": "2.13.1", - "packageName": "is-core-module", - "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" - } - }, - "npm:is-docker": { - "type": "npm", - "name": "npm:is-docker", - "data": { - "version": "2.2.1", - "packageName": "is-docker", - "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - } - }, - "npm:is-fullwidth-code-point": { - "type": "npm", - "name": "npm:is-fullwidth-code-point", - "data": { - "version": "3.0.0", - "packageName": "is-fullwidth-code-point", - "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - }, - "npm:is-interactive": { - "type": "npm", - "name": "npm:is-interactive", - "data": { - "version": "1.0.0", - "packageName": "is-interactive", - "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - } - }, - "npm:is-plain-object": { - "type": "npm", - "name": "npm:is-plain-object", - "data": { - "version": "5.0.0", - "packageName": "is-plain-object", - "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - }, - "npm:is-stream": { - "type": "npm", - "name": "npm:is-stream", - "data": { - "version": "3.0.0", - "packageName": "is-stream", - "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - } - }, - "npm:is-unicode-supported": { - "type": "npm", - "name": "npm:is-unicode-supported", - "data": { - "version": "0.1.0", - "packageName": "is-unicode-supported", - "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - } - }, - "npm:is-wsl": { - "type": "npm", - "name": "npm:is-wsl", - "data": { - "version": "2.2.0", - "packageName": "is-wsl", - "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - } - }, - "npm:isexe": { - "type": "npm", - "name": "npm:isexe", - "data": { - "version": "2.0.0", - "packageName": "isexe", - "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - } - }, - "npm:iso8601-duration": { - "type": "npm", - "name": "npm:iso8601-duration", - "data": { - "version": "1.3.0", - "packageName": "iso8601-duration", - "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" - } - }, - "npm:jest-diff": { - "type": "npm", - "name": "npm:jest-diff", - "data": { - "version": "29.7.0", - "packageName": "jest-diff", - "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" - } - }, - "npm:jest-get-type": { - "type": "npm", - "name": "npm:jest-get-type", - "data": { - "version": "29.6.3", - "packageName": "jest-get-type", - "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" - } - }, - "npm:jju": { - "type": "npm", - "name": "npm:jju", - "data": { - "version": "1.4.0", - "packageName": "jju", - "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" - } - }, - "npm:js-tokens": { - "type": "npm", - "name": "npm:js-tokens", - "data": { - "version": "8.0.3", - "packageName": "js-tokens", - "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" - } - }, - "npm:js-yaml@3.14.1": { - "type": "npm", - "name": "npm:js-yaml@3.14.1", - "data": { - "version": "3.14.1", - "packageName": "js-yaml", - "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - } - }, - "npm:js-yaml": { - "type": "npm", - "name": "npm:js-yaml", - "data": { - "version": "4.1.0", - "packageName": "js-yaml", - "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - } - }, - "npm:json5": { - "type": "npm", - "name": "npm:json5", - "data": { - "version": "2.2.3", - "packageName": "json5", - "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - } - }, - "npm:jsonc-parser@3.2.0": { - "type": "npm", - "name": "npm:jsonc-parser@3.2.0", - "data": { - "version": "3.2.0", - "packageName": "jsonc-parser", - "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - } - }, - "npm:jsonc-parser": { - "type": "npm", - "name": "npm:jsonc-parser", - "data": { - "version": "3.2.1", - "packageName": "jsonc-parser", - "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - } - }, - "npm:jsonfile": { - "type": "npm", - "name": "npm:jsonfile", - "data": { - "version": "4.0.0", - "packageName": "jsonfile", - "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - } - }, - "npm:jsonfile@6.1.0": { - "type": "npm", - "name": "npm:jsonfile@6.1.0", - "data": { - "version": "6.1.0", - "packageName": "jsonfile", - "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - } - }, - "npm:lines-and-columns": { - "type": "npm", - "name": "npm:lines-and-columns", - "data": { - "version": "2.0.4", - "packageName": "lines-and-columns", - "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" - } - }, - "npm:local-pkg": { - "type": "npm", - "name": "npm:local-pkg", - "data": { - "version": "0.5.0", - "packageName": "local-pkg", - "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" - } - }, - "npm:lodash.get": { - "type": "npm", - "name": "npm:lodash.get", - "data": { - "version": "4.4.2", - "packageName": "lodash.get", - "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - } - }, - "npm:lodash.isequal": { - "type": "npm", - "name": "npm:lodash.isequal", - "data": { - "version": "4.5.0", - "packageName": "lodash.isequal", - "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - } - }, - "npm:lodash.sortby": { - "type": "npm", - "name": "npm:lodash.sortby", - "data": { - "version": "4.7.0", - "packageName": "lodash.sortby", - "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - } - }, - "npm:log-symbols": { - "type": "npm", - "name": "npm:log-symbols", - "data": { - "version": "4.1.0", - "packageName": "log-symbols", - "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - } - }, - "npm:loupe": { - "type": "npm", - "name": "npm:loupe", - "data": { - "version": "2.3.7", - "packageName": "loupe", - "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" - } - }, - "npm:lru-cache": { - "type": "npm", - "name": "npm:lru-cache", - "data": { - "version": "6.0.0", - "packageName": "lru-cache", - "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - } - }, - "npm:magic-string": { - "type": "npm", - "name": "npm:magic-string", - "data": { - "version": "0.30.7", - "packageName": "magic-string", - "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" - } - }, - "npm:merge-stream": { - "type": "npm", - "name": "npm:merge-stream", - "data": { - "version": "2.0.0", - "packageName": "merge-stream", - "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - } - }, - "npm:mime-db": { - "type": "npm", - "name": "npm:mime-db", - "data": { - "version": "1.52.0", - "packageName": "mime-db", - "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - } - }, - "npm:mime-types": { - "type": "npm", - "name": "npm:mime-types", - "data": { - "version": "2.1.35", - "packageName": "mime-types", - "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - } - }, - "npm:mimic-fn@2.1.0": { - "type": "npm", - "name": "npm:mimic-fn@2.1.0", - "data": { - "version": "2.1.0", - "packageName": "mimic-fn", - "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - } - }, - "npm:mimic-fn": { - "type": "npm", - "name": "npm:mimic-fn", - "data": { - "version": "4.0.0", - "packageName": "mimic-fn", - "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - } - }, - "npm:minimatch@5.1.6": { - "type": "npm", - "name": "npm:minimatch@5.1.6", - "data": { - "version": "5.1.6", - "packageName": "minimatch", - "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" - } - }, - "npm:minimatch": { - "type": "npm", - "name": "npm:minimatch", - "data": { - "version": "9.0.3", - "packageName": "minimatch", - "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" - } - }, - "npm:minimist": { - "type": "npm", - "name": "npm:minimist", - "data": { - "version": "1.2.8", - "packageName": "minimist", - "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - }, - "npm:mlly": { - "type": "npm", - "name": "npm:mlly", - "data": { - "version": "1.6.1", - "packageName": "mlly", - "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" - } - }, - "npm:ms": { - "type": "npm", - "name": "npm:ms", - "data": { - "version": "2.1.2", - "packageName": "ms", - "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - }, - "npm:multi-fork": { - "type": "npm", - "name": "npm:multi-fork", - "data": { - "version": "0.0.2", - "packageName": "multi-fork", - "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" - } - }, - "npm:nanoid": { - "type": "npm", - "name": "npm:nanoid", - "data": { - "version": "3.3.7", - "packageName": "nanoid", - "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" - } - }, - "npm:node-machine-id": { - "type": "npm", - "name": "npm:node-machine-id", - "data": { - "version": "1.1.12", - "packageName": "node-machine-id", - "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" - } - }, - "npm:npm-run-path@4.0.1": { - "type": "npm", - "name": "npm:npm-run-path@4.0.1", - "data": { - "version": "4.0.1", - "packageName": "npm-run-path", - "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - } - }, - "npm:npm-run-path": { - "type": "npm", - "name": "npm:npm-run-path", - "data": { - "version": "5.3.0", - "packageName": "npm-run-path", - "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" - } - }, - "npm:nx": { - "type": "npm", - "name": "npm:nx", - "data": { - "version": "18.0.6", - "packageName": "nx", - "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" - } - }, - "npm:obuf": { - "type": "npm", - "name": "npm:obuf", - "data": { - "version": "1.1.2", - "packageName": "obuf", - "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - } - }, - "npm:once": { - "type": "npm", - "name": "npm:once", - "data": { - "version": "1.4.0", - "packageName": "once", - "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - } - }, - "npm:onetime@5.1.2": { - "type": "npm", - "name": "npm:onetime@5.1.2", - "data": { - "version": "5.1.2", - "packageName": "onetime", - "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - } - }, - "npm:onetime": { - "type": "npm", - "name": "npm:onetime", - "data": { - "version": "6.0.0", - "packageName": "onetime", - "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" - } - }, - "npm:open": { - "type": "npm", - "name": "npm:open", - "data": { - "version": "8.4.2", - "packageName": "open", - "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - } - }, - "npm:ora": { - "type": "npm", - "name": "npm:ora", - "data": { - "version": "5.3.0", - "packageName": "ora", - "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" - } - }, - "npm:p-defer": { - "type": "npm", - "name": "npm:p-defer", - "data": { - "version": "3.0.0", - "packageName": "p-defer", - "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - } - }, - "npm:p-limit": { - "type": "npm", - "name": "npm:p-limit", - "data": { - "version": "5.0.0", - "packageName": "p-limit", - "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" - } - }, - "npm:packet-reader": { - "type": "npm", - "name": "npm:packet-reader", - "data": { - "version": "1.0.0", - "packageName": "packet-reader", - "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - } - }, - "npm:path-key": { - "type": "npm", - "name": "npm:path-key", - "data": { - "version": "3.1.1", - "packageName": "path-key", - "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - } - }, - "npm:path-key@4.0.0": { - "type": "npm", - "name": "npm:path-key@4.0.0", - "data": { - "version": "4.0.0", - "packageName": "path-key", - "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - } - }, - "npm:path-parse": { - "type": "npm", - "name": "npm:path-parse", - "data": { - "version": "1.0.7", - "packageName": "path-parse", - "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - } - }, - "npm:pathe": { - "type": "npm", - "name": "npm:pathe", - "data": { - "version": "1.1.2", - "packageName": "pathe", - "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - } - }, - "npm:pathval": { - "type": "npm", - "name": "npm:pathval", - "data": { - "version": "1.1.1", - "packageName": "pathval", - "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - } - }, - "npm:pg-cloudflare": { - "type": "npm", - "name": "npm:pg-cloudflare", - "data": { - "version": "1.1.1", - "packageName": "pg-cloudflare", - "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" - } - }, - "npm:pg-connection-string": { - "type": "npm", - "name": "npm:pg-connection-string", - "data": { - "version": "2.6.2", - "packageName": "pg-connection-string", - "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - } - }, - "npm:pg-copy-streams-binary": { - "type": "npm", - "name": "npm:pg-copy-streams-binary", - "data": { - "version": "2.2.0", - "packageName": "pg-copy-streams-binary", - "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" - } - }, - "npm:pg-copy-streams": { - "type": "npm", - "name": "npm:pg-copy-streams", - "data": { - "version": "6.0.6", - "packageName": "pg-copy-streams", - "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" - } - }, - "npm:pg-cursor": { - "type": "npm", - "name": "npm:pg-cursor", - "data": { - "version": "2.10.3", - "packageName": "pg-cursor", - "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" - } - }, - "npm:pg-int8": { - "type": "npm", - "name": "npm:pg-int8", - "data": { - "version": "1.0.1", - "packageName": "pg-int8", - "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - } - }, - "npm:pg-pool": { - "type": "npm", - "name": "npm:pg-pool", - "data": { - "version": "3.6.1", - "packageName": "pg-pool", - "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" - } - }, - "npm:pg-protocol": { - "type": "npm", - "name": "npm:pg-protocol", - "data": { - "version": "1.6.0", - "packageName": "pg-protocol", - "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" - } - }, - "npm:pg-types": { - "type": "npm", - "name": "npm:pg-types", - "data": { - "version": "2.2.0", - "packageName": "pg-types", - "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" - } - }, - "npm:pg": { - "type": "npm", - "name": "npm:pg", - "data": { - "version": "8.11.3", - "packageName": "pg", - "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" - } - }, - "npm:pgpass": { - "type": "npm", - "name": "npm:pgpass", - "data": { - "version": "1.0.5", - "packageName": "pgpass", - "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" - } - }, - "npm:picocolors": { - "type": "npm", - "name": "npm:picocolors", - "data": { - "version": "1.0.0", - "packageName": "picocolors", - "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - } - }, - "npm:pkg-types": { - "type": "npm", - "name": "npm:pkg-types", - "data": { - "version": "1.0.3", - "packageName": "pkg-types", - "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" - } - }, - "npm:pony-cause": { - "type": "npm", - "name": "npm:pony-cause", - "data": { - "version": "2.1.10", - "packageName": "pony-cause", - "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" - } - }, - "npm:postcss": { - "type": "npm", - "name": "npm:postcss", - "data": { - "version": "8.4.35", - "packageName": "postcss", - "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" - } - }, - "npm:postgres-array@2.0.0": { - "type": "npm", - "name": "npm:postgres-array@2.0.0", - "data": { - "version": "2.0.0", - "packageName": "postgres-array", - "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - } - }, - "npm:postgres-array": { - "type": "npm", - "name": "npm:postgres-array", - "data": { - "version": "3.0.2", - "packageName": "postgres-array", - "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" - } - }, - "npm:postgres-bytea": { - "type": "npm", - "name": "npm:postgres-bytea", - "data": { - "version": "1.0.0", - "packageName": "postgres-bytea", - "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" - } - }, - "npm:postgres-date": { - "type": "npm", - "name": "npm:postgres-date", - "data": { - "version": "1.0.7", - "packageName": "postgres-date", - "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - } - }, - "npm:postgres-interval@1.2.0": { - "type": "npm", - "name": "npm:postgres-interval@1.2.0", - "data": { - "version": "1.2.0", - "packageName": "postgres-interval", - "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" - } - }, - "npm:postgres-interval": { - "type": "npm", - "name": "npm:postgres-interval", - "data": { - "version": "4.0.2", - "packageName": "postgres-interval", - "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" - } - }, - "npm:prettier": { - "type": "npm", - "name": "npm:prettier", - "data": { - "version": "3.2.4", - "packageName": "prettier", - "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" - } - }, - "npm:pretty-format": { - "type": "npm", - "name": "npm:pretty-format", - "data": { - "version": "29.7.0", - "packageName": "pretty-format", - "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" - } - }, - "npm:proxy-from-env": { - "type": "npm", - "name": "npm:proxy-from-env", - "data": { - "version": "1.1.0", - "packageName": "proxy-from-env", - "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - }, - "npm:punycode": { - "type": "npm", - "name": "npm:punycode", - "data": { - "version": "2.3.1", - "packageName": "punycode", - "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - } - }, - "npm:react-is": { - "type": "npm", - "name": "npm:react-is", - "data": { - "version": "18.2.0", - "packageName": "react-is", - "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - }, - "npm:readable-stream": { - "type": "npm", - "name": "npm:readable-stream", - "data": { - "version": "3.6.2", - "packageName": "readable-stream", - "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - } - }, - "npm:require-directory": { - "type": "npm", - "name": "npm:require-directory", - "data": { - "version": "2.1.1", - "packageName": "require-directory", - "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - } - }, - "npm:resolve": { - "type": "npm", - "name": "npm:resolve", - "data": { - "version": "1.22.8", - "packageName": "resolve", - "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" - } - }, - "npm:restore-cursor": { - "type": "npm", - "name": "npm:restore-cursor", - "data": { - "version": "3.1.0", - "packageName": "restore-cursor", - "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - } - }, - "npm:roarr": { - "type": "npm", - "name": "npm:roarr", - "data": { - "version": "7.21.0", - "packageName": "roarr", - "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" - } - }, - "npm:rollup": { - "type": "npm", - "name": "npm:rollup", - "data": { - "version": "4.12.0", - "packageName": "rollup", - "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" - } - }, - "npm:safe-buffer": { - "type": "npm", - "name": "npm:safe-buffer", - "data": { - "version": "5.2.1", - "packageName": "safe-buffer", - "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - }, - "npm:safe-stable-stringify": { - "type": "npm", - "name": "npm:safe-stable-stringify", - "data": { - "version": "2.4.3", - "packageName": "safe-stable-stringify", - "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - } - }, - "npm:semver-compare": { - "type": "npm", - "name": "npm:semver-compare", - "data": { - "version": "1.0.0", - "packageName": "semver-compare", - "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - } - }, - "npm:semver": { - "type": "npm", - "name": "npm:semver", - "data": { - "version": "7.5.4", - "packageName": "semver", - "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - } - }, - "npm:semver@7.6.0": { - "type": "npm", - "name": "npm:semver@7.6.0", - "data": { - "version": "7.6.0", - "packageName": "semver", - "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" - } - }, - "npm:serialize-error": { - "type": "npm", - "name": "npm:serialize-error", - "data": { - "version": "8.1.0", - "packageName": "serialize-error", - "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" - } - }, - "npm:shebang-command": { - "type": "npm", - "name": "npm:shebang-command", - "data": { - "version": "2.0.0", - "packageName": "shebang-command", - "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - } - }, - "npm:shebang-regex": { - "type": "npm", - "name": "npm:shebang-regex", - "data": { - "version": "3.0.0", - "packageName": "shebang-regex", - "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - } - }, - "npm:siginfo": { - "type": "npm", - "name": "npm:siginfo", - "data": { - "version": "2.0.0", - "packageName": "siginfo", - "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - } - }, - "npm:signal-exit": { - "type": "npm", - "name": "npm:signal-exit", - "data": { - "version": "3.0.7", - "packageName": "signal-exit", - "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - } - }, - "npm:signal-exit@4.1.0": { - "type": "npm", - "name": "npm:signal-exit@4.1.0", - "data": { - "version": "4.1.0", - "packageName": "signal-exit", - "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - } - }, - "npm:slonik": { - "type": "npm", - "name": "npm:slonik", - "data": { - "version": "29.2.0", - "packageName": "slonik", - "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" - } - }, - "npm:source-map-js": { - "type": "npm", - "name": "npm:source-map-js", - "data": { - "version": "1.0.2", - "packageName": "source-map-js", - "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - } - }, - "npm:source-map": { - "type": "npm", - "name": "npm:source-map", - "data": { - "version": "0.8.0-beta.0", - "packageName": "source-map", - "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" - } - }, - "npm:split2": { - "type": "npm", - "name": "npm:split2", - "data": { - "version": "4.2.0", - "packageName": "split2", - "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - } - }, - "npm:sprintf-js": { - "type": "npm", - "name": "npm:sprintf-js", - "data": { - "version": "1.0.3", - "packageName": "sprintf-js", - "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } - }, - "npm:stackback": { - "type": "npm", - "name": "npm:stackback", - "data": { - "version": "0.0.2", - "packageName": "stackback", - "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - } - }, - "npm:std-env": { - "type": "npm", - "name": "npm:std-env", - "data": { - "version": "3.7.0", - "packageName": "std-env", - "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - } - }, - "npm:string-argv": { - "type": "npm", - "name": "npm:string-argv", - "data": { - "version": "0.3.2", - "packageName": "string-argv", - "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" - } - }, - "npm:string-width": { - "type": "npm", - "name": "npm:string-width", - "data": { - "version": "4.2.3", - "packageName": "string-width", - "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - } - }, - "npm:string_decoder": { - "type": "npm", - "name": "npm:string_decoder", - "data": { - "version": "1.3.0", - "packageName": "string_decoder", - "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - } - }, - "npm:strip-ansi": { - "type": "npm", - "name": "npm:strip-ansi", - "data": { - "version": "6.0.1", - "packageName": "strip-ansi", - "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - } - }, - "npm:strip-bom": { - "type": "npm", - "name": "npm:strip-bom", - "data": { - "version": "3.0.0", - "packageName": "strip-bom", - "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - }, - "npm:strip-final-newline": { - "type": "npm", - "name": "npm:strip-final-newline", - "data": { - "version": "3.0.0", - "packageName": "strip-final-newline", - "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" - } - }, - "npm:strip-literal": { - "type": "npm", - "name": "npm:strip-literal", - "data": { - "version": "2.0.0", - "packageName": "strip-literal", - "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" - } - }, - "npm:strong-log-transformer": { - "type": "npm", - "name": "npm:strong-log-transformer", - "data": { - "version": "2.1.0", - "packageName": "strong-log-transformer", - "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - } - }, - "npm:supports-color@7.2.0": { - "type": "npm", - "name": "npm:supports-color@7.2.0", - "data": { - "version": "7.2.0", - "packageName": "supports-color", - "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - } - }, - "npm:supports-color": { - "type": "npm", - "name": "npm:supports-color", - "data": { - "version": "8.1.1", - "packageName": "supports-color", - "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - } - }, - "npm:supports-preserve-symlinks-flag": { - "type": "npm", - "name": "npm:supports-preserve-symlinks-flag", - "data": { - "version": "1.0.0", - "packageName": "supports-preserve-symlinks-flag", - "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - } - }, - "npm:tar-stream": { - "type": "npm", - "name": "npm:tar-stream", - "data": { - "version": "2.2.0", - "packageName": "tar-stream", - "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - } - }, - "npm:through2@3.0.2": { - "type": "npm", - "name": "npm:through2@3.0.2", - "data": { - "version": "3.0.2", - "packageName": "through2", - "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" - } - }, - "npm:through2": { - "type": "npm", - "name": "npm:through2", - "data": { - "version": "4.0.2", - "packageName": "through2", - "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - } - }, - "npm:through": { - "type": "npm", - "name": "npm:through", - "data": { - "version": "2.3.8", - "packageName": "through", - "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - } - }, - "npm:tinybench": { - "type": "npm", - "name": "npm:tinybench", - "data": { - "version": "2.6.0", - "packageName": "tinybench", - "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" - } - }, - "npm:tinypool": { - "type": "npm", - "name": "npm:tinypool", - "data": { - "version": "0.8.2", - "packageName": "tinypool", - "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" - } - }, - "npm:tinyspy": { - "type": "npm", - "name": "npm:tinyspy", - "data": { - "version": "2.2.1", - "packageName": "tinyspy", - "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" - } - }, - "npm:tmp": { - "type": "npm", - "name": "npm:tmp", - "data": { - "version": "0.2.3", - "packageName": "tmp", - "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" - } - }, - "npm:tr46": { - "type": "npm", - "name": "npm:tr46", - "data": { - "version": "1.0.1", - "packageName": "tr46", - "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - } - }, - "npm:tsconfig-paths": { - "type": "npm", - "name": "npm:tsconfig-paths", - "data": { - "version": "4.2.0", - "packageName": "tsconfig-paths", - "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" - } - }, - "npm:tslib": { - "type": "npm", - "name": "npm:tslib", - "data": { - "version": "2.6.2", - "packageName": "tslib", - "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - }, - "npm:type-detect": { - "type": "npm", - "name": "npm:type-detect", - "data": { - "version": "4.0.8", - "packageName": "type-detect", - "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - } - }, - "npm:type-fest": { - "type": "npm", - "name": "npm:type-fest", - "data": { - "version": "0.20.2", - "packageName": "type-fest", - "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - }, - "npm:type-fest@4.10.3": { - "type": "npm", - "name": "npm:type-fest@4.10.3", - "data": { - "version": "4.10.3", - "packageName": "type-fest", - "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" - } - }, - "npm:typedarray": { - "type": "npm", - "name": "npm:typedarray", - "data": { - "version": "0.0.6", - "packageName": "typedarray", - "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - } - }, - "npm:typescript": { - "type": "npm", - "name": "npm:typescript", - "data": { - "version": "5.3.3", - "packageName": "typescript", - "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" - } - }, - "npm:ufo": { - "type": "npm", - "name": "npm:ufo", - "data": { - "version": "1.4.0", - "packageName": "ufo", - "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - } - }, - "npm:umzug": { - "type": "npm", - "name": "npm:umzug", - "data": { - "version": "3.7.0", - "packageName": "umzug", - "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" - } - }, - "npm:undici-types": { - "type": "npm", - "name": "npm:undici-types", - "data": { - "version": "5.26.5", - "packageName": "undici-types", - "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - } - }, - "npm:universalify": { - "type": "npm", - "name": "npm:universalify", - "data": { - "version": "0.1.2", - "packageName": "universalify", - "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - }, - "npm:universalify@2.0.1": { - "type": "npm", - "name": "npm:universalify@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "universalify", - "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - } - }, - "npm:util-deprecate": { - "type": "npm", - "name": "npm:util-deprecate", - "data": { - "version": "1.0.2", - "packageName": "util-deprecate", - "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - } - }, - "npm:uuid-parse": { - "type": "npm", - "name": "npm:uuid-parse", - "data": { - "version": "1.1.0", - "packageName": "uuid-parse", - "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" - } - }, - "npm:uuid": { - "type": "npm", - "name": "npm:uuid", - "data": { - "version": "8.3.2", - "packageName": "uuid", - "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - }, - "npm:validator": { - "type": "npm", - "name": "npm:validator", - "data": { - "version": "13.11.0", - "packageName": "validator", - "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" - } - }, - "npm:vite-node": { - "type": "npm", - "name": "npm:vite-node", - "data": { - "version": "1.3.1", - "packageName": "vite-node", - "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" - } - }, - "npm:vite": { - "type": "npm", - "name": "npm:vite", - "data": { - "version": "5.1.4", - "packageName": "vite", - "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" - } - }, - "npm:vitest": { - "type": "npm", - "name": "npm:vitest", - "data": { - "version": "1.3.1", - "packageName": "vitest", - "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" - } - }, - "npm:wcwidth": { - "type": "npm", - "name": "npm:wcwidth", - "data": { - "version": "1.0.1", - "packageName": "wcwidth", - "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - } - }, - "npm:webidl-conversions": { - "type": "npm", - "name": "npm:webidl-conversions", - "data": { - "version": "4.0.2", - "packageName": "webidl-conversions", - "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - } - }, - "npm:whatwg-url": { - "type": "npm", - "name": "npm:whatwg-url", - "data": { - "version": "7.1.0", - "packageName": "whatwg-url", - "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - } - }, - "npm:which": { - "type": "npm", - "name": "npm:which", - "data": { - "version": "2.0.2", - "packageName": "which", - "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - } - }, - "npm:why-is-node-running": { - "type": "npm", - "name": "npm:why-is-node-running", - "data": { - "version": "2.2.2", - "packageName": "why-is-node-running", - "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" - } - }, - "npm:wrap-ansi": { - "type": "npm", - "name": "npm:wrap-ansi", - "data": { - "version": "7.0.0", - "packageName": "wrap-ansi", - "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - } - }, - "npm:wrappy": { - "type": "npm", - "name": "npm:wrappy", - "data": { - "version": "1.0.2", - "packageName": "wrappy", - "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - }, - "npm:xtend": { - "type": "npm", - "name": "npm:xtend", - "data": { - "version": "4.0.2", - "packageName": "xtend", - "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - }, - "npm:y18n": { - "type": "npm", - "name": "npm:y18n", - "data": { - "version": "5.0.8", - "packageName": "y18n", - "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - } - }, - "npm:yallist": { - "type": "npm", - "name": "npm:yallist", - "data": { - "version": "4.0.0", - "packageName": "yallist", - "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "npm:yargs-parser": { - "type": "npm", - "name": "npm:yargs-parser", - "data": { - "version": "21.1.1", - "packageName": "yargs-parser", - "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - }, - "npm:yargs": { - "type": "npm", - "name": "npm:yargs", - "data": { - "version": "17.7.2", - "packageName": "yargs", - "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - } - }, - "npm:yocto-queue": { - "type": "npm", - "name": "npm:yocto-queue", - "data": { - "version": "1.0.0", - "packageName": "yocto-queue", - "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" - } - }, - "npm:z-schema": { - "type": "npm", - "name": "npm:z-schema", - "data": { - "version": "5.0.5", - "packageName": "z-schema", - "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" - } - } - }, - "dependencies": [ - { - "source": "npm:@jest/schemas", - "target": "npm:@sinclair/typebox", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:nx", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:fs-extra", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:import-lazy", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:jju", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:resolve", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:semver", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:z-schema", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@rushstack/node-core-library", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:supports-color", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@rushstack/terminal", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@types/argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:string-argv", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:umzug", - "type": "static" - }, - { - "source": "npm:@types/node", - "target": "npm:undici-types", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:p-limit", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:@vitest/spy", - "target": "npm:tinyspy", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:estree-walker", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:js-yaml@3.14.1", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:@zkochan/js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - }, - { - "source": "npm:ansi-styles", - "target": "npm:color-convert", - "type": "static" - }, - { - "source": "npm:argparse", - "target": "npm:sprintf-js", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:follow-redirects", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:form-data", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:proxy-from-env", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:buffer", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:brace-expansion", - "target": "npm:balanced-match", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:base64-js", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:assertion-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:check-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:deep-eql", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:pathval", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:type-detect", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:supports-color@7.2.0", - "type": "static" - }, - { - "source": "npm:check-error", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:cli-cursor", - "target": "npm:restore-cursor", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:wrap-ansi", - "type": "static" - }, - { - "source": "npm:color-convert", - "target": "npm:color-name", - "type": "static" - }, - { - "source": "npm:combined-stream", - "target": "npm:delayed-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:buffer-from", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:typedarray", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:shebang-command", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:which", - "type": "static" - }, - { - "source": "npm:debug", - "target": "npm:ms", - "type": "static" - }, - { - "source": "npm:deep-eql", - "target": "npm:type-detect", - "type": "static" - }, - { - "source": "npm:defaults", - "target": "npm:clone", - "type": "static" - }, - { - "source": "npm:end-of-stream", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:enquirer", - "target": "npm:ansi-colors", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/aix-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-loong64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-mips64el", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-riscv64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-s390x", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/netbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/openbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/sunos-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-x64", - "type": "static" - }, - { - "source": "npm:estree-walker", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:cross-spawn", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:get-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:human-signals", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:is-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:merge-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:npm-run-path", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:onetime", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:signal-exit@4.1.0", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:strip-final-newline", - "type": "static" - }, - { - "source": "npm:fast-printf", - "target": "npm:boolean", - "type": "static" - }, - { - "source": "npm:figures", - "target": "npm:escape-string-regexp", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:asynckit", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:combined-stream", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:mime-types", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:jsonfile@6.1.0", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:jsonfile", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:universalify", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:bluebird", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:source-map", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:fs.realpath", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inflight", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:minimatch@5.1.6", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:hasown", - "target": "npm:function-bind", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid-parse", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:wrappy", - "type": "static" - }, - { - "source": "npm:is-core-module", - "target": "npm:hasown", - "type": "static" - }, - { - "source": "npm:is-wsl", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:jest-get-type", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:esprima", - "type": "static" - }, - { - "source": "npm:js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:is-unicode-supported", - "type": "static" - }, - { - "source": "npm:loupe", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:lru-cache", - "target": "npm:yallist", - "type": "static" - }, - { - "source": "npm:magic-string", - "target": "npm:@jridgewell/sourcemap-codec", - "type": "static" - }, - { - "source": "npm:mime-types", - "target": "npm:mime-db", - "type": "static" - }, - { - "source": "npm:minimatch@5.1.6", - "target": "npm:brace-expansion", - "type": "static" - }, - { - "source": "npm:minimatch", - "target": "npm:brace-expansion", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:acorn", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:ufo", - "type": "static" - }, - { - "source": "npm:npm-run-path@4.0.1", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:npm-run-path", - "target": "npm:path-key@4.0.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nrwl/tao", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/lockfile", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/parsers", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@zkochan/js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:axios", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv-expand", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:enquirer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:figures", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:flat", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:fs-extra@11.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ignore", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jest-diff", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jsonc-parser@3.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:lines-and-columns", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:minimatch", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:node-machine-id", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:npm-run-path@4.0.1", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:open", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ora", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:semver@7.6.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:strong-log-transformer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tar-stream", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tmp", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tsconfig-paths", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-arm64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-freebsd-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:once", - "target": "npm:wrappy", - "type": "static" - }, - { - "source": "npm:onetime@5.1.2", - "target": "npm:mimic-fn@2.1.0", - "type": "static" - }, - { - "source": "npm:onetime", - "target": "npm:mimic-fn", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:define-lazy-prop", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-wsl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:is-interactive", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:log-symbols", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:wcwidth", - "type": "static" - }, - { - "source": "npm:p-limit", - "target": "npm:yocto-queue", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bufferput", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:int64-buffer", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:multi-fork", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:through2@3.0.2", - "type": "static" - }, - { - "source": "npm:pg-copy-streams", - "target": "npm:obuf", - "type": "static" - }, - { - "source": "npm:pg-cursor", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:pg-pool", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:pg-int8", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-array@2.0.0", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-bytea", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-date", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-interval@1.2.0", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:buffer-writer", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:packet-reader", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-connection-string", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-pool", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-types", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pgpass", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-cloudflare", - "type": "static" - }, - { - "source": "npm:pgpass", - "target": "npm:split2", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:jsonc-parser", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:nanoid", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:source-map-js", - "type": "static" - }, - { - "source": "npm:postgres-interval@1.2.0", - "target": "npm:xtend", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:@jest/schemas", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:ansi-styles@5.2.0", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:react-is", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:string_decoder", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:util-deprecate", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:is-core-module", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:path-parse", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:supports-preserve-symlinks-flag", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:onetime@5.1.2", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:signal-exit", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:fast-printf", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:safe-stable-stringify", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:semver-compare", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm-eabi", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-x64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-riscv64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-ia32-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:fsevents", - "type": "static" - }, - { - "source": "npm:semver", - "target": "npm:lru-cache", - "type": "static" - }, - { - "source": "npm:semver@7.6.0", - "target": "npm:lru-cache", - "type": "static" - }, - { - "source": "npm:serialize-error", - "target": "npm:type-fest", - "type": "static" - }, - { - "source": "npm:shebang-command", - "target": "npm:shebang-regex", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:concat-stream", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:es6-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:fast-safe-stringify", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:get-stack-trace", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:hyperid", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:is-plain-object", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:iso8601-duration", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:p-defer", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams-binary", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-cursor", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-array", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-interval", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:roarr", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:serialize-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:through2", - "type": "static" - }, - { - "source": "npm:source-map", - "target": "npm:whatwg-url", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:emoji-regex", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:is-fullwidth-code-point", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:string_decoder", - "target": "npm:safe-buffer", - "type": "static" - }, - { - "source": "npm:strip-ansi", - "target": "npm:ansi-regex", - "type": "static" - }, - { - "source": "npm:strip-literal", - "target": "npm:js-tokens", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:duplexer", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:through", - "type": "static" - }, - { - "source": "npm:supports-color@7.2.0", - "target": "npm:has-flag", - "type": "static" - }, - { - "source": "npm:supports-color", - "target": "npm:has-flag", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:end-of-stream", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:fs-constants", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:through2", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:tr46", - "target": "npm:punycode", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:json5", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:strip-bom", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:emittery", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:glob", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:pony-cause", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:type-fest@4.10.3", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:cac", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:esbuild", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:postcss", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:rollup", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:fsevents", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/expect", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/runner", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/snapshot", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:acorn-walk", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:execa", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:local-pkg", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:std-env", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:strip-literal", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinybench", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinypool", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite-node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:why-is-node-running", - "type": "static" - }, - { - "source": "npm:wcwidth", - "target": "npm:defaults", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:lodash.sortby", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:tr46", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:webidl-conversions", - "type": "static" - }, - { - "source": "npm:which", - "target": "npm:isexe", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:siginfo", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:stackback", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:escalade", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:get-caller-file", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:require-directory", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:y18n", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.get", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.isequal", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:validator", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:commander", - "type": "static" - } - ] -} \ No newline at end of file + "externalNodes": { + "npm:@esbuild/aix-ppc64": { + "type": "npm", + "name": "npm:@esbuild/aix-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/aix-ppc64", + "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" + } + }, + "npm:@esbuild/android-arm64": { + "type": "npm", + "name": "npm:@esbuild/android-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm64", + "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" + } + }, + "npm:@esbuild/android-arm": { + "type": "npm", + "name": "npm:@esbuild/android-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm", + "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" + } + }, + "npm:@esbuild/android-x64": { + "type": "npm", + "name": "npm:@esbuild/android-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-x64", + "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" + } + }, + "npm:@esbuild/darwin-arm64": { + "type": "npm", + "name": "npm:@esbuild/darwin-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-arm64", + "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" + } + }, + "npm:@esbuild/darwin-x64": { + "type": "npm", + "name": "npm:@esbuild/darwin-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-x64", + "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" + } + }, + "npm:@esbuild/freebsd-arm64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-arm64", + "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" + } + }, + "npm:@esbuild/freebsd-x64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-x64", + "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" + } + }, + "npm:@esbuild/linux-arm64": { + "type": "npm", + "name": "npm:@esbuild/linux-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm64", + "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" + } + }, + "npm:@esbuild/linux-arm": { + "type": "npm", + "name": "npm:@esbuild/linux-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm", + "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" + } + }, + "npm:@esbuild/linux-ia32": { + "type": "npm", + "name": "npm:@esbuild/linux-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ia32", + "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" + } + }, + "npm:@esbuild/linux-loong64": { + "type": "npm", + "name": "npm:@esbuild/linux-loong64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-loong64", + "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" + } + }, + "npm:@esbuild/linux-mips64el": { + "type": "npm", + "name": "npm:@esbuild/linux-mips64el", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-mips64el", + "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" + } + }, + "npm:@esbuild/linux-ppc64": { + "type": "npm", + "name": "npm:@esbuild/linux-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ppc64", + "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" + } + }, + "npm:@esbuild/linux-riscv64": { + "type": "npm", + "name": "npm:@esbuild/linux-riscv64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-riscv64", + "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" + } + }, + "npm:@esbuild/linux-s390x": { + "type": "npm", + "name": "npm:@esbuild/linux-s390x", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-s390x", + "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" + } + }, + "npm:@esbuild/linux-x64": { + "type": "npm", + "name": "npm:@esbuild/linux-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-x64", + "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" + } + }, + "npm:@esbuild/netbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/netbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/netbsd-x64", + "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" + } + }, + "npm:@esbuild/openbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/openbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/openbsd-x64", + "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" + } + }, + "npm:@esbuild/sunos-x64": { + "type": "npm", + "name": "npm:@esbuild/sunos-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/sunos-x64", + "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" + } + }, + "npm:@esbuild/win32-arm64": { + "type": "npm", + "name": "npm:@esbuild/win32-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-arm64", + "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" + } + }, + "npm:@esbuild/win32-ia32": { + "type": "npm", + "name": "npm:@esbuild/win32-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-ia32", + "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" + } + }, + "npm:@esbuild/win32-x64": { + "type": "npm", + "name": "npm:@esbuild/win32-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-x64", + "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" + } + }, + "npm:@jest/schemas": { + "type": "npm", + "name": "npm:@jest/schemas", + "data": { + "version": "29.6.3", + "packageName": "@jest/schemas", + "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" + } + }, + "npm:@jridgewell/sourcemap-codec": { + "type": "npm", + "name": "npm:@jridgewell/sourcemap-codec", + "data": { + "version": "1.4.15", + "packageName": "@jridgewell/sourcemap-codec", + "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + } + }, + "npm:@nrwl/tao": { + "type": "npm", + "name": "npm:@nrwl/tao", + "data": { + "version": "18.0.6", + "packageName": "@nrwl/tao", + "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" + } + }, + "npm:@nx/nx-darwin-arm64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-arm64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-arm64", + "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" + } + }, + "npm:@nx/nx-darwin-x64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-x64", + "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" + } + }, + "npm:@nx/nx-freebsd-x64": { + "type": "npm", + "name": "npm:@nx/nx-freebsd-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-freebsd-x64", + "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" + } + }, + "npm:@nx/nx-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm-gnueabihf", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm-gnueabihf", + "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" + } + }, + "npm:@nx/nx-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-gnu", + "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" + } + }, + "npm:@nx/nx-linux-arm64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-musl", + "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" + } + }, + "npm:@nx/nx-linux-x64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-gnu", + "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" + } + }, + "npm:@nx/nx-linux-x64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-musl", + "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" + } + }, + "npm:@nx/nx-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-arm64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-arm64-msvc", + "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" + } + }, + "npm:@nx/nx-win32-x64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-x64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-x64-msvc", + "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" + } + }, + "npm:@rollup/rollup-android-arm-eabi": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm-eabi", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm-eabi", + "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" + } + }, + "npm:@rollup/rollup-android-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm64", + "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" + } + }, + "npm:@rollup/rollup-darwin-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-arm64", + "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" + } + }, + "npm:@rollup/rollup-darwin-x64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-x64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-x64", + "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" + } + }, + "npm:@rollup/rollup-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm-gnueabihf", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm-gnueabihf", + "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" + } + }, + "npm:@rollup/rollup-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-gnu", + "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" + } + }, + "npm:@rollup/rollup-linux-arm64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-musl", + "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" + } + }, + "npm:@rollup/rollup-linux-riscv64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-riscv64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-riscv64-gnu", + "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" + } + }, + "npm:@rollup/rollup-linux-x64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-gnu", + "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" + } + }, + "npm:@rollup/rollup-linux-x64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-musl", + "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" + } + }, + "npm:@rollup/rollup-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-arm64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-arm64-msvc", + "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" + } + }, + "npm:@rollup/rollup-win32-ia32-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-ia32-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-ia32-msvc", + "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" + } + }, + "npm:@rollup/rollup-win32-x64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-x64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-x64-msvc", + "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" + } + }, + "npm:@rushstack/node-core-library": { + "type": "npm", + "name": "npm:@rushstack/node-core-library", + "data": { + "version": "4.0.2", + "packageName": "@rushstack/node-core-library", + "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" + } + }, + "npm:@rushstack/terminal": { + "type": "npm", + "name": "npm:@rushstack/terminal", + "data": { + "version": "0.10.0", + "packageName": "@rushstack/terminal", + "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" + } + }, + "npm:@rushstack/ts-command-line": { + "type": "npm", + "name": "npm:@rushstack/ts-command-line", + "data": { + "version": "4.18.0", + "packageName": "@rushstack/ts-command-line", + "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" + } + }, + "npm:@sinclair/typebox": { + "type": "npm", + "name": "npm:@sinclair/typebox", + "data": { + "version": "0.27.8", + "packageName": "@sinclair/typebox", + "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + } + }, + "npm:@slonik/migrator": { + "type": "npm", + "name": "npm:@slonik/migrator", + "data": { + "version": "0.12.0", + "packageName": "@slonik/migrator", + "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" + } + }, + "npm:@types/argparse": { + "type": "npm", + "name": "npm:@types/argparse", + "data": { + "version": "1.0.38", + "packageName": "@types/argparse", + "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" + } + }, + "npm:@types/estree": { + "type": "npm", + "name": "npm:@types/estree", + "data": { + "version": "1.0.5", + "packageName": "@types/estree", + "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + } + }, + "npm:@types/node": { + "type": "npm", + "name": "npm:@types/node", + "data": { + "version": "20.11.24", + "packageName": "@types/node", + "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" + } + }, + "npm:@vitest/expect": { + "type": "npm", + "name": "npm:@vitest/expect", + "data": { + "version": "1.3.1", + "packageName": "@vitest/expect", + "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" + } + }, + "npm:@vitest/runner": { + "type": "npm", + "name": "npm:@vitest/runner", + "data": { + "version": "1.3.1", + "packageName": "@vitest/runner", + "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" + } + }, + "npm:@vitest/snapshot": { + "type": "npm", + "name": "npm:@vitest/snapshot", + "data": { + "version": "1.3.1", + "packageName": "@vitest/snapshot", + "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" + } + }, + "npm:@vitest/spy": { + "type": "npm", + "name": "npm:@vitest/spy", + "data": { + "version": "1.3.1", + "packageName": "@vitest/spy", + "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" + } + }, + "npm:@vitest/utils": { + "type": "npm", + "name": "npm:@vitest/utils", + "data": { + "version": "1.3.1", + "packageName": "@vitest/utils", + "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" + } + }, + "npm:@yarnpkg/lockfile": { + "type": "npm", + "name": "npm:@yarnpkg/lockfile", + "data": { + "version": "1.1.0", + "packageName": "@yarnpkg/lockfile", + "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + } + }, + "npm:@yarnpkg/parsers": { + "type": "npm", + "name": "npm:@yarnpkg/parsers", + "data": { + "version": "3.0.0-rc.46", + "packageName": "@yarnpkg/parsers", + "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" + } + }, + "npm:@zkochan/js-yaml": { + "type": "npm", + "name": "npm:@zkochan/js-yaml", + "data": { + "version": "0.0.6", + "packageName": "@zkochan/js-yaml", + "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" + } + }, + "npm:acorn-walk": { + "type": "npm", + "name": "npm:acorn-walk", + "data": { + "version": "8.3.2", + "packageName": "acorn-walk", + "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" + } + }, + "npm:acorn": { + "type": "npm", + "name": "npm:acorn", + "data": { + "version": "8.11.3", + "packageName": "acorn", + "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + } + }, + "npm:ansi-colors": { + "type": "npm", + "name": "npm:ansi-colors", + "data": { + "version": "4.1.3", + "packageName": "ansi-colors", + "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + } + }, + "npm:ansi-regex": { + "type": "npm", + "name": "npm:ansi-regex", + "data": { + "version": "5.0.1", + "packageName": "ansi-regex", + "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + }, + "npm:ansi-styles": { + "type": "npm", + "name": "npm:ansi-styles", + "data": { + "version": "4.3.0", + "packageName": "ansi-styles", + "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + } + }, + "npm:ansi-styles@5.2.0": { + "type": "npm", + "name": "npm:ansi-styles@5.2.0", + "data": { + "version": "5.2.0", + "packageName": "ansi-styles", + "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + }, + "npm:argparse": { + "type": "npm", + "name": "npm:argparse", + "data": { + "version": "1.0.10", + "packageName": "argparse", + "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + } + }, + "npm:argparse@2.0.1": { + "type": "npm", + "name": "npm:argparse@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "argparse", + "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } + }, + "npm:assertion-error": { + "type": "npm", + "name": "npm:assertion-error", + "data": { + "version": "1.1.0", + "packageName": "assertion-error", + "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + } + }, + "npm:asynckit": { + "type": "npm", + "name": "npm:asynckit", + "data": { + "version": "0.4.0", + "packageName": "asynckit", + "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + } + }, + "npm:axios": { + "type": "npm", + "name": "npm:axios", + "data": { + "version": "1.6.7", + "packageName": "axios", + "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" + } + }, + "npm:balanced-match": { + "type": "npm", + "name": "npm:balanced-match", + "data": { + "version": "1.0.2", + "packageName": "balanced-match", + "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + } + }, + "npm:base64-js": { + "type": "npm", + "name": "npm:base64-js", + "data": { + "version": "1.5.1", + "packageName": "base64-js", + "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + } + }, + "npm:bl": { + "type": "npm", + "name": "npm:bl", + "data": { + "version": "4.1.0", + "packageName": "bl", + "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + } + }, + "npm:bluebird": { + "type": "npm", + "name": "npm:bluebird", + "data": { + "version": "3.7.2", + "packageName": "bluebird", + "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + } + }, + "npm:boolean": { + "type": "npm", + "name": "npm:boolean", + "data": { + "version": "3.2.0", + "packageName": "boolean", + "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + } + }, + "npm:brace-expansion": { + "type": "npm", + "name": "npm:brace-expansion", + "data": { + "version": "2.0.1", + "packageName": "brace-expansion", + "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + } + }, + "npm:buffer-from": { + "type": "npm", + "name": "npm:buffer-from", + "data": { + "version": "1.1.2", + "packageName": "buffer-from", + "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + } + }, + "npm:buffer-writer": { + "type": "npm", + "name": "npm:buffer-writer", + "data": { + "version": "2.0.0", + "packageName": "buffer-writer", + "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + } + }, + "npm:buffer": { + "type": "npm", + "name": "npm:buffer", + "data": { + "version": "5.7.1", + "packageName": "buffer", + "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + } + }, + "npm:bufferput": { + "type": "npm", + "name": "npm:bufferput", + "data": { + "version": "0.1.3", + "packageName": "bufferput", + "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" + } + }, + "npm:cac": { + "type": "npm", + "name": "npm:cac", + "data": { + "version": "6.7.14", + "packageName": "cac", + "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" + } + }, + "npm:chai": { + "type": "npm", + "name": "npm:chai", + "data": { + "version": "4.4.1", + "packageName": "chai", + "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" + } + }, + "npm:chalk": { + "type": "npm", + "name": "npm:chalk", + "data": { + "version": "4.1.2", + "packageName": "chalk", + "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + } + }, + "npm:check-error": { + "type": "npm", + "name": "npm:check-error", + "data": { + "version": "1.0.3", + "packageName": "check-error", + "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" + } + }, + "npm:cli-cursor": { + "type": "npm", + "name": "npm:cli-cursor", + "data": { + "version": "3.1.0", + "packageName": "cli-cursor", + "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + } + }, + "npm:cli-spinners": { + "type": "npm", + "name": "npm:cli-spinners", + "data": { + "version": "2.6.1", + "packageName": "cli-spinners", + "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + } + }, + "npm:cliui": { + "type": "npm", + "name": "npm:cliui", + "data": { + "version": "8.0.1", + "packageName": "cliui", + "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + } + }, + "npm:clone": { + "type": "npm", + "name": "npm:clone", + "data": { + "version": "1.0.4", + "packageName": "clone", + "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + } + }, + "npm:color-convert": { + "type": "npm", + "name": "npm:color-convert", + "data": { + "version": "2.0.1", + "packageName": "color-convert", + "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + } + }, + "npm:color-name": { + "type": "npm", + "name": "npm:color-name", + "data": { + "version": "1.1.4", + "packageName": "color-name", + "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + }, + "npm:combined-stream": { + "type": "npm", + "name": "npm:combined-stream", + "data": { + "version": "1.0.8", + "packageName": "combined-stream", + "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + } + }, + "npm:commander": { + "type": "npm", + "name": "npm:commander", + "data": { + "version": "9.5.0", + "packageName": "commander", + "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + } + }, + "npm:concat-stream": { + "type": "npm", + "name": "npm:concat-stream", + "data": { + "version": "2.0.0", + "packageName": "concat-stream", + "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + } + }, + "npm:cross-spawn": { + "type": "npm", + "name": "npm:cross-spawn", + "data": { + "version": "7.0.3", + "packageName": "cross-spawn", + "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + } + }, + "npm:debug": { + "type": "npm", + "name": "npm:debug", + "data": { + "version": "4.3.4", + "packageName": "debug", + "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + } + }, + "npm:deep-eql": { + "type": "npm", + "name": "npm:deep-eql", + "data": { + "version": "4.1.3", + "packageName": "deep-eql", + "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" + } + }, + "npm:defaults": { + "type": "npm", + "name": "npm:defaults", + "data": { + "version": "1.0.4", + "packageName": "defaults", + "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" + } + }, + "npm:define-lazy-prop": { + "type": "npm", + "name": "npm:define-lazy-prop", + "data": { + "version": "2.0.0", + "packageName": "define-lazy-prop", + "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + } + }, + "npm:delayed-stream": { + "type": "npm", + "name": "npm:delayed-stream", + "data": { + "version": "1.0.0", + "packageName": "delayed-stream", + "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + } + }, + "npm:diff-sequences": { + "type": "npm", + "name": "npm:diff-sequences", + "data": { + "version": "29.6.3", + "packageName": "diff-sequences", + "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + } + }, + "npm:dotenv-expand": { + "type": "npm", + "name": "npm:dotenv-expand", + "data": { + "version": "10.0.0", + "packageName": "dotenv-expand", + "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" + } + }, + "npm:dotenv": { + "type": "npm", + "name": "npm:dotenv", + "data": { + "version": "16.3.2", + "packageName": "dotenv", + "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" + } + }, + "npm:duplexer": { + "type": "npm", + "name": "npm:duplexer", + "data": { + "version": "0.1.2", + "packageName": "duplexer", + "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + } + }, + "npm:emittery": { + "type": "npm", + "name": "npm:emittery", + "data": { + "version": "0.13.1", + "packageName": "emittery", + "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" + } + }, + "npm:emoji-regex": { + "type": "npm", + "name": "npm:emoji-regex", + "data": { + "version": "8.0.0", + "packageName": "emoji-regex", + "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + }, + "npm:end-of-stream": { + "type": "npm", + "name": "npm:end-of-stream", + "data": { + "version": "1.4.4", + "packageName": "end-of-stream", + "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + } + }, + "npm:enquirer": { + "type": "npm", + "name": "npm:enquirer", + "data": { + "version": "2.3.6", + "packageName": "enquirer", + "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + } + }, + "npm:es6-error": { + "type": "npm", + "name": "npm:es6-error", + "data": { + "version": "4.1.1", + "packageName": "es6-error", + "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + } + }, + "npm:esbuild": { + "type": "npm", + "name": "npm:esbuild", + "data": { + "version": "0.19.12", + "packageName": "esbuild", + "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" + } + }, + "npm:escalade": { + "type": "npm", + "name": "npm:escalade", + "data": { + "version": "3.1.2", + "packageName": "escalade", + "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + } + }, + "npm:escape-string-regexp": { + "type": "npm", + "name": "npm:escape-string-regexp", + "data": { + "version": "1.0.5", + "packageName": "escape-string-regexp", + "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + }, + "npm:esprima": { + "type": "npm", + "name": "npm:esprima", + "data": { + "version": "4.0.1", + "packageName": "esprima", + "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + }, + "npm:estree-walker": { + "type": "npm", + "name": "npm:estree-walker", + "data": { + "version": "3.0.3", + "packageName": "estree-walker", + "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" + } + }, + "npm:execa": { + "type": "npm", + "name": "npm:execa", + "data": { + "version": "8.0.1", + "packageName": "execa", + "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" + } + }, + "npm:fast-printf": { + "type": "npm", + "name": "npm:fast-printf", + "data": { + "version": "1.6.9", + "packageName": "fast-printf", + "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" + } + }, + "npm:fast-safe-stringify": { + "type": "npm", + "name": "npm:fast-safe-stringify", + "data": { + "version": "2.1.1", + "packageName": "fast-safe-stringify", + "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + } + }, + "npm:figures": { + "type": "npm", + "name": "npm:figures", + "data": { + "version": "3.2.0", + "packageName": "figures", + "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + } + }, + "npm:flat": { + "type": "npm", + "name": "npm:flat", + "data": { + "version": "5.0.2", + "packageName": "flat", + "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + } + }, + "npm:follow-redirects": { + "type": "npm", + "name": "npm:follow-redirects", + "data": { + "version": "1.15.5", + "packageName": "follow-redirects", + "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + } + }, + "npm:form-data": { + "type": "npm", + "name": "npm:form-data", + "data": { + "version": "4.0.0", + "packageName": "form-data", + "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + } + }, + "npm:fs-constants": { + "type": "npm", + "name": "npm:fs-constants", + "data": { + "version": "1.0.0", + "packageName": "fs-constants", + "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + } + }, + "npm:fs-extra@11.2.0": { + "type": "npm", + "name": "npm:fs-extra@11.2.0", + "data": { + "version": "11.2.0", + "packageName": "fs-extra", + "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" + } + }, + "npm:fs-extra": { + "type": "npm", + "name": "npm:fs-extra", + "data": { + "version": "7.0.1", + "packageName": "fs-extra", + "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + } + }, + "npm:fs.realpath": { + "type": "npm", + "name": "npm:fs.realpath", + "data": { + "version": "1.0.0", + "packageName": "fs.realpath", + "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + } + }, + "npm:fsevents": { + "type": "npm", + "name": "npm:fsevents", + "data": { + "version": "2.3.3", + "packageName": "fsevents", + "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" + } + }, + "npm:function-bind": { + "type": "npm", + "name": "npm:function-bind", + "data": { + "version": "1.1.2", + "packageName": "function-bind", + "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + } + }, + "npm:get-caller-file": { + "type": "npm", + "name": "npm:get-caller-file", + "data": { + "version": "2.0.5", + "packageName": "get-caller-file", + "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + } + }, + "npm:get-func-name": { + "type": "npm", + "name": "npm:get-func-name", + "data": { + "version": "2.0.2", + "packageName": "get-func-name", + "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" + } + }, + "npm:get-stack-trace": { + "type": "npm", + "name": "npm:get-stack-trace", + "data": { + "version": "2.1.1", + "packageName": "get-stack-trace", + "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" + } + }, + "npm:get-stream": { + "type": "npm", + "name": "npm:get-stream", + "data": { + "version": "8.0.1", + "packageName": "get-stream", + "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + } + }, + "npm:glob": { + "type": "npm", + "name": "npm:glob", + "data": { + "version": "8.1.0", + "packageName": "glob", + "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" + } + }, + "npm:graceful-fs": { + "type": "npm", + "name": "npm:graceful-fs", + "data": { + "version": "4.2.11", + "packageName": "graceful-fs", + "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + } + }, + "npm:has-flag": { + "type": "npm", + "name": "npm:has-flag", + "data": { + "version": "4.0.0", + "packageName": "has-flag", + "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + } + }, + "npm:hasown": { + "type": "npm", + "name": "npm:hasown", + "data": { + "version": "2.0.1", + "packageName": "hasown", + "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" + } + }, + "npm:human-signals": { + "type": "npm", + "name": "npm:human-signals", + "data": { + "version": "5.0.0", + "packageName": "human-signals", + "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + } + }, + "npm:hyperid": { + "type": "npm", + "name": "npm:hyperid", + "data": { + "version": "2.3.1", + "packageName": "hyperid", + "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" + } + }, + "npm:ieee754": { + "type": "npm", + "name": "npm:ieee754", + "data": { + "version": "1.2.1", + "packageName": "ieee754", + "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } + }, + "npm:ignore": { + "type": "npm", + "name": "npm:ignore", + "data": { + "version": "5.3.1", + "packageName": "ignore", + "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + } + }, + "npm:import-lazy": { + "type": "npm", + "name": "npm:import-lazy", + "data": { + "version": "4.0.0", + "packageName": "import-lazy", + "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + } + }, + "npm:inflight": { + "type": "npm", + "name": "npm:inflight", + "data": { + "version": "1.0.6", + "packageName": "inflight", + "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + } + }, + "npm:inherits": { + "type": "npm", + "name": "npm:inherits", + "data": { + "version": "2.0.4", + "packageName": "inherits", + "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + }, + "npm:int64-buffer": { + "type": "npm", + "name": "npm:int64-buffer", + "data": { + "version": "0.99.1007", + "packageName": "int64-buffer", + "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" + } + }, + "npm:is-core-module": { + "type": "npm", + "name": "npm:is-core-module", + "data": { + "version": "2.13.1", + "packageName": "is-core-module", + "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" + } + }, + "npm:is-docker": { + "type": "npm", + "name": "npm:is-docker", + "data": { + "version": "2.2.1", + "packageName": "is-docker", + "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + } + }, + "npm:is-fullwidth-code-point": { + "type": "npm", + "name": "npm:is-fullwidth-code-point", + "data": { + "version": "3.0.0", + "packageName": "is-fullwidth-code-point", + "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + }, + "npm:is-interactive": { + "type": "npm", + "name": "npm:is-interactive", + "data": { + "version": "1.0.0", + "packageName": "is-interactive", + "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + } + }, + "npm:is-plain-object": { + "type": "npm", + "name": "npm:is-plain-object", + "data": { + "version": "5.0.0", + "packageName": "is-plain-object", + "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + } + }, + "npm:is-stream": { + "type": "npm", + "name": "npm:is-stream", + "data": { + "version": "3.0.0", + "packageName": "is-stream", + "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + } + }, + "npm:is-unicode-supported": { + "type": "npm", + "name": "npm:is-unicode-supported", + "data": { + "version": "0.1.0", + "packageName": "is-unicode-supported", + "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + } + }, + "npm:is-wsl": { + "type": "npm", + "name": "npm:is-wsl", + "data": { + "version": "2.2.0", + "packageName": "is-wsl", + "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + } + }, + "npm:isexe": { + "type": "npm", + "name": "npm:isexe", + "data": { + "version": "2.0.0", + "packageName": "isexe", + "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + } + }, + "npm:iso8601-duration": { + "type": "npm", + "name": "npm:iso8601-duration", + "data": { + "version": "1.3.0", + "packageName": "iso8601-duration", + "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" + } + }, + "npm:jest-diff": { + "type": "npm", + "name": "npm:jest-diff", + "data": { + "version": "29.7.0", + "packageName": "jest-diff", + "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" + } + }, + "npm:jest-get-type": { + "type": "npm", + "name": "npm:jest-get-type", + "data": { + "version": "29.6.3", + "packageName": "jest-get-type", + "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + } + }, + "npm:jju": { + "type": "npm", + "name": "npm:jju", + "data": { + "version": "1.4.0", + "packageName": "jju", + "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" + } + }, + "npm:js-tokens": { + "type": "npm", + "name": "npm:js-tokens", + "data": { + "version": "8.0.3", + "packageName": "js-tokens", + "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" + } + }, + "npm:js-yaml@3.14.1": { + "type": "npm", + "name": "npm:js-yaml@3.14.1", + "data": { + "version": "3.14.1", + "packageName": "js-yaml", + "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + } + }, + "npm:js-yaml": { + "type": "npm", + "name": "npm:js-yaml", + "data": { + "version": "4.1.0", + "packageName": "js-yaml", + "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + } + }, + "npm:json5": { + "type": "npm", + "name": "npm:json5", + "data": { + "version": "2.2.3", + "packageName": "json5", + "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + }, + "npm:jsonc-parser@3.2.0": { + "type": "npm", + "name": "npm:jsonc-parser@3.2.0", + "data": { + "version": "3.2.0", + "packageName": "jsonc-parser", + "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + } + }, + "npm:jsonc-parser": { + "type": "npm", + "name": "npm:jsonc-parser", + "data": { + "version": "3.2.1", + "packageName": "jsonc-parser", + "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + } + }, + "npm:jsonfile": { + "type": "npm", + "name": "npm:jsonfile", + "data": { + "version": "4.0.0", + "packageName": "jsonfile", + "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" + } + }, + "npm:jsonfile@6.1.0": { + "type": "npm", + "name": "npm:jsonfile@6.1.0", + "data": { + "version": "6.1.0", + "packageName": "jsonfile", + "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + } + }, + "npm:lines-and-columns": { + "type": "npm", + "name": "npm:lines-and-columns", + "data": { + "version": "2.0.4", + "packageName": "lines-and-columns", + "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" + } + }, + "npm:local-pkg": { + "type": "npm", + "name": "npm:local-pkg", + "data": { + "version": "0.5.0", + "packageName": "local-pkg", + "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" + } + }, + "npm:lodash.get": { + "type": "npm", + "name": "npm:lodash.get", + "data": { + "version": "4.4.2", + "packageName": "lodash.get", + "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + } + }, + "npm:lodash.isequal": { + "type": "npm", + "name": "npm:lodash.isequal", + "data": { + "version": "4.5.0", + "packageName": "lodash.isequal", + "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + } + }, + "npm:lodash.sortby": { + "type": "npm", + "name": "npm:lodash.sortby", + "data": { + "version": "4.7.0", + "packageName": "lodash.sortby", + "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + } + }, + "npm:log-symbols": { + "type": "npm", + "name": "npm:log-symbols", + "data": { + "version": "4.1.0", + "packageName": "log-symbols", + "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + } + }, + "npm:loupe": { + "type": "npm", + "name": "npm:loupe", + "data": { + "version": "2.3.7", + "packageName": "loupe", + "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" + } + }, + "npm:lru-cache": { + "type": "npm", + "name": "npm:lru-cache", + "data": { + "version": "6.0.0", + "packageName": "lru-cache", + "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + } + }, + "npm:magic-string": { + "type": "npm", + "name": "npm:magic-string", + "data": { + "version": "0.30.7", + "packageName": "magic-string", + "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" + } + }, + "npm:merge-stream": { + "type": "npm", + "name": "npm:merge-stream", + "data": { + "version": "2.0.0", + "packageName": "merge-stream", + "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + } + }, + "npm:mime-db": { + "type": "npm", + "name": "npm:mime-db", + "data": { + "version": "1.52.0", + "packageName": "mime-db", + "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + }, + "npm:mime-types": { + "type": "npm", + "name": "npm:mime-types", + "data": { + "version": "2.1.35", + "packageName": "mime-types", + "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + } + }, + "npm:mimic-fn@2.1.0": { + "type": "npm", + "name": "npm:mimic-fn@2.1.0", + "data": { + "version": "2.1.0", + "packageName": "mimic-fn", + "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + }, + "npm:mimic-fn": { + "type": "npm", + "name": "npm:mimic-fn", + "data": { + "version": "4.0.0", + "packageName": "mimic-fn", + "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + } + }, + "npm:minimatch@5.1.6": { + "type": "npm", + "name": "npm:minimatch@5.1.6", + "data": { + "version": "5.1.6", + "packageName": "minimatch", + "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" + } + }, + "npm:minimatch": { + "type": "npm", + "name": "npm:minimatch", + "data": { + "version": "9.0.3", + "packageName": "minimatch", + "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" + } + }, + "npm:minimist": { + "type": "npm", + "name": "npm:minimist", + "data": { + "version": "1.2.8", + "packageName": "minimist", + "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + } + }, + "npm:mlly": { + "type": "npm", + "name": "npm:mlly", + "data": { + "version": "1.6.1", + "packageName": "mlly", + "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" + } + }, + "npm:ms": { + "type": "npm", + "name": "npm:ms", + "data": { + "version": "2.1.2", + "packageName": "ms", + "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + }, + "npm:multi-fork": { + "type": "npm", + "name": "npm:multi-fork", + "data": { + "version": "0.0.2", + "packageName": "multi-fork", + "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" + } + }, + "npm:nanoid": { + "type": "npm", + "name": "npm:nanoid", + "data": { + "version": "3.3.7", + "packageName": "nanoid", + "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + } + }, + "npm:node-machine-id": { + "type": "npm", + "name": "npm:node-machine-id", + "data": { + "version": "1.1.12", + "packageName": "node-machine-id", + "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + } + }, + "npm:npm-run-path@4.0.1": { + "type": "npm", + "name": "npm:npm-run-path@4.0.1", + "data": { + "version": "4.0.1", + "packageName": "npm-run-path", + "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + } + }, + "npm:npm-run-path": { + "type": "npm", + "name": "npm:npm-run-path", + "data": { + "version": "5.3.0", + "packageName": "npm-run-path", + "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" + } + }, + "npm:nx": { + "type": "npm", + "name": "npm:nx", + "data": { + "version": "18.0.6", + "packageName": "nx", + "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" + } + }, + "npm:obuf": { + "type": "npm", + "name": "npm:obuf", + "data": { + "version": "1.1.2", + "packageName": "obuf", + "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + } + }, + "npm:once": { + "type": "npm", + "name": "npm:once", + "data": { + "version": "1.4.0", + "packageName": "once", + "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + } + }, + "npm:onetime@5.1.2": { + "type": "npm", + "name": "npm:onetime@5.1.2", + "data": { + "version": "5.1.2", + "packageName": "onetime", + "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + } + }, + "npm:onetime": { + "type": "npm", + "name": "npm:onetime", + "data": { + "version": "6.0.0", + "packageName": "onetime", + "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" + } + }, + "npm:open": { + "type": "npm", + "name": "npm:open", + "data": { + "version": "8.4.2", + "packageName": "open", + "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" + } + }, + "npm:ora": { + "type": "npm", + "name": "npm:ora", + "data": { + "version": "5.3.0", + "packageName": "ora", + "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" + } + }, + "npm:p-defer": { + "type": "npm", + "name": "npm:p-defer", + "data": { + "version": "3.0.0", + "packageName": "p-defer", + "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + } + }, + "npm:p-limit": { + "type": "npm", + "name": "npm:p-limit", + "data": { + "version": "5.0.0", + "packageName": "p-limit", + "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" + } + }, + "npm:packet-reader": { + "type": "npm", + "name": "npm:packet-reader", + "data": { + "version": "1.0.0", + "packageName": "packet-reader", + "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + } + }, + "npm:path-key": { + "type": "npm", + "name": "npm:path-key", + "data": { + "version": "3.1.1", + "packageName": "path-key", + "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + }, + "npm:path-key@4.0.0": { + "type": "npm", + "name": "npm:path-key@4.0.0", + "data": { + "version": "4.0.0", + "packageName": "path-key", + "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + }, + "npm:path-parse": { + "type": "npm", + "name": "npm:path-parse", + "data": { + "version": "1.0.7", + "packageName": "path-parse", + "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + } + }, + "npm:pathe": { + "type": "npm", + "name": "npm:pathe", + "data": { + "version": "1.1.2", + "packageName": "pathe", + "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + } + }, + "npm:pathval": { + "type": "npm", + "name": "npm:pathval", + "data": { + "version": "1.1.1", + "packageName": "pathval", + "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + } + }, + "npm:pg-cloudflare": { + "type": "npm", + "name": "npm:pg-cloudflare", + "data": { + "version": "1.1.1", + "packageName": "pg-cloudflare", + "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" + } + }, + "npm:pg-connection-string": { + "type": "npm", + "name": "npm:pg-connection-string", + "data": { + "version": "2.6.2", + "packageName": "pg-connection-string", + "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + } + }, + "npm:pg-copy-streams-binary": { + "type": "npm", + "name": "npm:pg-copy-streams-binary", + "data": { + "version": "2.2.0", + "packageName": "pg-copy-streams-binary", + "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" + } + }, + "npm:pg-copy-streams": { + "type": "npm", + "name": "npm:pg-copy-streams", + "data": { + "version": "6.0.6", + "packageName": "pg-copy-streams", + "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" + } + }, + "npm:pg-cursor": { + "type": "npm", + "name": "npm:pg-cursor", + "data": { + "version": "2.10.3", + "packageName": "pg-cursor", + "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" + } + }, + "npm:pg-int8": { + "type": "npm", + "name": "npm:pg-int8", + "data": { + "version": "1.0.1", + "packageName": "pg-int8", + "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + } + }, + "npm:pg-pool": { + "type": "npm", + "name": "npm:pg-pool", + "data": { + "version": "3.6.1", + "packageName": "pg-pool", + "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" + } + }, + "npm:pg-protocol": { + "type": "npm", + "name": "npm:pg-protocol", + "data": { + "version": "1.6.0", + "packageName": "pg-protocol", + "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + } + }, + "npm:pg-types": { + "type": "npm", + "name": "npm:pg-types", + "data": { + "version": "2.2.0", + "packageName": "pg-types", + "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" + } + }, + "npm:pg": { + "type": "npm", + "name": "npm:pg", + "data": { + "version": "8.11.3", + "packageName": "pg", + "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" + } + }, + "npm:pgpass": { + "type": "npm", + "name": "npm:pgpass", + "data": { + "version": "1.0.5", + "packageName": "pgpass", + "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" + } + }, + "npm:picocolors": { + "type": "npm", + "name": "npm:picocolors", + "data": { + "version": "1.0.0", + "packageName": "picocolors", + "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + }, + "npm:pkg-types": { + "type": "npm", + "name": "npm:pkg-types", + "data": { + "version": "1.0.3", + "packageName": "pkg-types", + "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" + } + }, + "npm:pony-cause": { + "type": "npm", + "name": "npm:pony-cause", + "data": { + "version": "2.1.10", + "packageName": "pony-cause", + "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" + } + }, + "npm:postcss": { + "type": "npm", + "name": "npm:postcss", + "data": { + "version": "8.4.35", + "packageName": "postcss", + "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" + } + }, + "npm:postgres-array@2.0.0": { + "type": "npm", + "name": "npm:postgres-array@2.0.0", + "data": { + "version": "2.0.0", + "packageName": "postgres-array", + "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + }, + "npm:postgres-array": { + "type": "npm", + "name": "npm:postgres-array", + "data": { + "version": "3.0.2", + "packageName": "postgres-array", + "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" + } + }, + "npm:postgres-bytea": { + "type": "npm", + "name": "npm:postgres-bytea", + "data": { + "version": "1.0.0", + "packageName": "postgres-bytea", + "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" + } + }, + "npm:postgres-date": { + "type": "npm", + "name": "npm:postgres-date", + "data": { + "version": "1.0.7", + "packageName": "postgres-date", + "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + } + }, + "npm:postgres-interval@1.2.0": { + "type": "npm", + "name": "npm:postgres-interval@1.2.0", + "data": { + "version": "1.2.0", + "packageName": "postgres-interval", + "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" + } + }, + "npm:postgres-interval": { + "type": "npm", + "name": "npm:postgres-interval", + "data": { + "version": "4.0.2", + "packageName": "postgres-interval", + "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" + } + }, + "npm:prettier": { + "type": "npm", + "name": "npm:prettier", + "data": { + "version": "3.2.4", + "packageName": "prettier", + "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" + } + }, + "npm:pretty-format": { + "type": "npm", + "name": "npm:pretty-format", + "data": { + "version": "29.7.0", + "packageName": "pretty-format", + "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" + } + }, + "npm:proxy-from-env": { + "type": "npm", + "name": "npm:proxy-from-env", + "data": { + "version": "1.1.0", + "packageName": "proxy-from-env", + "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + }, + "npm:punycode": { + "type": "npm", + "name": "npm:punycode", + "data": { + "version": "2.3.1", + "packageName": "punycode", + "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + } + }, + "npm:react-is": { + "type": "npm", + "name": "npm:react-is", + "data": { + "version": "18.2.0", + "packageName": "react-is", + "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + }, + "npm:readable-stream": { + "type": "npm", + "name": "npm:readable-stream", + "data": { + "version": "3.6.2", + "packageName": "readable-stream", + "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + } + }, + "npm:require-directory": { + "type": "npm", + "name": "npm:require-directory", + "data": { + "version": "2.1.1", + "packageName": "require-directory", + "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + } + }, + "npm:resolve": { + "type": "npm", + "name": "npm:resolve", + "data": { + "version": "1.22.8", + "packageName": "resolve", + "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" + } + }, + "npm:restore-cursor": { + "type": "npm", + "name": "npm:restore-cursor", + "data": { + "version": "3.1.0", + "packageName": "restore-cursor", + "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + } + }, + "npm:roarr": { + "type": "npm", + "name": "npm:roarr", + "data": { + "version": "7.21.0", + "packageName": "roarr", + "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" + } + }, + "npm:rollup": { + "type": "npm", + "name": "npm:rollup", + "data": { + "version": "4.12.0", + "packageName": "rollup", + "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" + } + }, + "npm:safe-buffer": { + "type": "npm", + "name": "npm:safe-buffer", + "data": { + "version": "5.2.1", + "packageName": "safe-buffer", + "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + }, + "npm:safe-stable-stringify": { + "type": "npm", + "name": "npm:safe-stable-stringify", + "data": { + "version": "2.4.3", + "packageName": "safe-stable-stringify", + "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + } + }, + "npm:semver-compare": { + "type": "npm", + "name": "npm:semver-compare", + "data": { + "version": "1.0.0", + "packageName": "semver-compare", + "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + } + }, + "npm:semver": { + "type": "npm", + "name": "npm:semver", + "data": { + "version": "7.5.4", + "packageName": "semver", + "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + } + }, + "npm:semver@7.6.0": { + "type": "npm", + "name": "npm:semver@7.6.0", + "data": { + "version": "7.6.0", + "packageName": "semver", + "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" + } + }, + "npm:serialize-error": { + "type": "npm", + "name": "npm:serialize-error", + "data": { + "version": "8.1.0", + "packageName": "serialize-error", + "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" + } + }, + "npm:shebang-command": { + "type": "npm", + "name": "npm:shebang-command", + "data": { + "version": "2.0.0", + "packageName": "shebang-command", + "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + } + }, + "npm:shebang-regex": { + "type": "npm", + "name": "npm:shebang-regex", + "data": { + "version": "3.0.0", + "packageName": "shebang-regex", + "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + } + }, + "npm:siginfo": { + "type": "npm", + "name": "npm:siginfo", + "data": { + "version": "2.0.0", + "packageName": "siginfo", + "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" + } + }, + "npm:signal-exit": { + "type": "npm", + "name": "npm:signal-exit", + "data": { + "version": "3.0.7", + "packageName": "signal-exit", + "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + } + }, + "npm:signal-exit@4.1.0": { + "type": "npm", + "name": "npm:signal-exit@4.1.0", + "data": { + "version": "4.1.0", + "packageName": "signal-exit", + "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + }, + "npm:slonik": { + "type": "npm", + "name": "npm:slonik", + "data": { + "version": "29.2.0", + "packageName": "slonik", + "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" + } + }, + "npm:source-map-js": { + "type": "npm", + "name": "npm:source-map-js", + "data": { + "version": "1.0.2", + "packageName": "source-map-js", + "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + } + }, + "npm:source-map": { + "type": "npm", + "name": "npm:source-map", + "data": { + "version": "0.8.0-beta.0", + "packageName": "source-map", + "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" + } + }, + "npm:split2": { + "type": "npm", + "name": "npm:split2", + "data": { + "version": "4.2.0", + "packageName": "split2", + "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + } + }, + "npm:sprintf-js": { + "type": "npm", + "name": "npm:sprintf-js", + "data": { + "version": "1.0.3", + "packageName": "sprintf-js", + "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + }, + "npm:stackback": { + "type": "npm", + "name": "npm:stackback", + "data": { + "version": "0.0.2", + "packageName": "stackback", + "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" + } + }, + "npm:std-env": { + "type": "npm", + "name": "npm:std-env", + "data": { + "version": "3.7.0", + "packageName": "std-env", + "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + } + }, + "npm:string-argv": { + "type": "npm", + "name": "npm:string-argv", + "data": { + "version": "0.3.2", + "packageName": "string-argv", + "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" + } + }, + "npm:string-width": { + "type": "npm", + "name": "npm:string-width", + "data": { + "version": "4.2.3", + "packageName": "string-width", + "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + } + }, + "npm:string_decoder": { + "type": "npm", + "name": "npm:string_decoder", + "data": { + "version": "1.3.0", + "packageName": "string_decoder", + "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + } + }, + "npm:strip-ansi": { + "type": "npm", + "name": "npm:strip-ansi", + "data": { + "version": "6.0.1", + "packageName": "strip-ansi", + "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + } + }, + "npm:strip-bom": { + "type": "npm", + "name": "npm:strip-bom", + "data": { + "version": "3.0.0", + "packageName": "strip-bom", + "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + }, + "npm:strip-final-newline": { + "type": "npm", + "name": "npm:strip-final-newline", + "data": { + "version": "3.0.0", + "packageName": "strip-final-newline", + "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + } + }, + "npm:strip-literal": { + "type": "npm", + "name": "npm:strip-literal", + "data": { + "version": "2.0.0", + "packageName": "strip-literal", + "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" + } + }, + "npm:strong-log-transformer": { + "type": "npm", + "name": "npm:strong-log-transformer", + "data": { + "version": "2.1.0", + "packageName": "strong-log-transformer", + "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" + } + }, + "npm:supports-color@7.2.0": { + "type": "npm", + "name": "npm:supports-color@7.2.0", + "data": { + "version": "7.2.0", + "packageName": "supports-color", + "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + } + }, + "npm:supports-color": { + "type": "npm", + "name": "npm:supports-color", + "data": { + "version": "8.1.1", + "packageName": "supports-color", + "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + } + }, + "npm:supports-preserve-symlinks-flag": { + "type": "npm", + "name": "npm:supports-preserve-symlinks-flag", + "data": { + "version": "1.0.0", + "packageName": "supports-preserve-symlinks-flag", + "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + } + }, + "npm:tar-stream": { + "type": "npm", + "name": "npm:tar-stream", + "data": { + "version": "2.2.0", + "packageName": "tar-stream", + "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + } + }, + "npm:through2@3.0.2": { + "type": "npm", + "name": "npm:through2@3.0.2", + "data": { + "version": "3.0.2", + "packageName": "through2", + "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + } + }, + "npm:through2": { + "type": "npm", + "name": "npm:through2", + "data": { + "version": "4.0.2", + "packageName": "through2", + "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + } + }, + "npm:through": { + "type": "npm", + "name": "npm:through", + "data": { + "version": "2.3.8", + "packageName": "through", + "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + } + }, + "npm:tinybench": { + "type": "npm", + "name": "npm:tinybench", + "data": { + "version": "2.6.0", + "packageName": "tinybench", + "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" + } + }, + "npm:tinypool": { + "type": "npm", + "name": "npm:tinypool", + "data": { + "version": "0.8.2", + "packageName": "tinypool", + "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" + } + }, + "npm:tinyspy": { + "type": "npm", + "name": "npm:tinyspy", + "data": { + "version": "2.2.1", + "packageName": "tinyspy", + "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" + } + }, + "npm:tmp": { + "type": "npm", + "name": "npm:tmp", + "data": { + "version": "0.2.3", + "packageName": "tmp", + "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" + } + }, + "npm:tr46": { + "type": "npm", + "name": "npm:tr46", + "data": { + "version": "1.0.1", + "packageName": "tr46", + "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" + } + }, + "npm:tsconfig-paths": { + "type": "npm", + "name": "npm:tsconfig-paths", + "data": { + "version": "4.2.0", + "packageName": "tsconfig-paths", + "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" + } + }, + "npm:tslib": { + "type": "npm", + "name": "npm:tslib", + "data": { + "version": "2.6.2", + "packageName": "tslib", + "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + }, + "npm:type-detect": { + "type": "npm", + "name": "npm:type-detect", + "data": { + "version": "4.0.8", + "packageName": "type-detect", + "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + } + }, + "npm:type-fest": { + "type": "npm", + "name": "npm:type-fest", + "data": { + "version": "0.20.2", + "packageName": "type-fest", + "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + }, + "npm:type-fest@4.10.3": { + "type": "npm", + "name": "npm:type-fest@4.10.3", + "data": { + "version": "4.10.3", + "packageName": "type-fest", + "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" + } + }, + "npm:typedarray": { + "type": "npm", + "name": "npm:typedarray", + "data": { + "version": "0.0.6", + "packageName": "typedarray", + "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + } + }, + "npm:typescript": { + "type": "npm", + "name": "npm:typescript", + "data": { + "version": "5.3.3", + "packageName": "typescript", + "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" + } + }, + "npm:ufo": { + "type": "npm", + "name": "npm:ufo", + "data": { + "version": "1.4.0", + "packageName": "ufo", + "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + } + }, + "npm:umzug": { + "type": "npm", + "name": "npm:umzug", + "data": { + "version": "3.7.0", + "packageName": "umzug", + "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" + } + }, + "npm:undici-types": { + "type": "npm", + "name": "npm:undici-types", + "data": { + "version": "5.26.5", + "packageName": "undici-types", + "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + } + }, + "npm:universalify": { + "type": "npm", + "name": "npm:universalify", + "data": { + "version": "0.1.2", + "packageName": "universalify", + "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + }, + "npm:universalify@2.0.1": { + "type": "npm", + "name": "npm:universalify@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "universalify", + "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + }, + "npm:util-deprecate": { + "type": "npm", + "name": "npm:util-deprecate", + "data": { + "version": "1.0.2", + "packageName": "util-deprecate", + "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + } + }, + "npm:uuid-parse": { + "type": "npm", + "name": "npm:uuid-parse", + "data": { + "version": "1.1.0", + "packageName": "uuid-parse", + "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" + } + }, + "npm:uuid": { + "type": "npm", + "name": "npm:uuid", + "data": { + "version": "8.3.2", + "packageName": "uuid", + "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + }, + "npm:validator": { + "type": "npm", + "name": "npm:validator", + "data": { + "version": "13.11.0", + "packageName": "validator", + "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" + } + }, + "npm:vite-node": { + "type": "npm", + "name": "npm:vite-node", + "data": { + "version": "1.3.1", + "packageName": "vite-node", + "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" + } + }, + "npm:vite": { + "type": "npm", + "name": "npm:vite", + "data": { + "version": "5.1.4", + "packageName": "vite", + "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" + } + }, + "npm:vitest": { + "type": "npm", + "name": "npm:vitest", + "data": { + "version": "1.3.1", + "packageName": "vitest", + "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" + } + }, + "npm:wcwidth": { + "type": "npm", + "name": "npm:wcwidth", + "data": { + "version": "1.0.1", + "packageName": "wcwidth", + "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" + } + }, + "npm:webidl-conversions": { + "type": "npm", + "name": "npm:webidl-conversions", + "data": { + "version": "4.0.2", + "packageName": "webidl-conversions", + "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + } + }, + "npm:whatwg-url": { + "type": "npm", + "name": "npm:whatwg-url", + "data": { + "version": "7.1.0", + "packageName": "whatwg-url", + "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + } + }, + "npm:which": { + "type": "npm", + "name": "npm:which", + "data": { + "version": "2.0.2", + "packageName": "which", + "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + } + }, + "npm:why-is-node-running": { + "type": "npm", + "name": "npm:why-is-node-running", + "data": { + "version": "2.2.2", + "packageName": "why-is-node-running", + "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" + } + }, + "npm:wrap-ansi": { + "type": "npm", + "name": "npm:wrap-ansi", + "data": { + "version": "7.0.0", + "packageName": "wrap-ansi", + "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + } + }, + "npm:wrappy": { + "type": "npm", + "name": "npm:wrappy", + "data": { + "version": "1.0.2", + "packageName": "wrappy", + "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "npm:xtend": { + "type": "npm", + "name": "npm:xtend", + "data": { + "version": "4.0.2", + "packageName": "xtend", + "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + }, + "npm:y18n": { + "type": "npm", + "name": "npm:y18n", + "data": { + "version": "5.0.8", + "packageName": "y18n", + "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + } + }, + "npm:yallist": { + "type": "npm", + "name": "npm:yallist", + "data": { + "version": "4.0.0", + "packageName": "yallist", + "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, + "npm:yargs-parser": { + "type": "npm", + "name": "npm:yargs-parser", + "data": { + "version": "21.1.1", + "packageName": "yargs-parser", + "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + }, + "npm:yargs": { + "type": "npm", + "name": "npm:yargs", + "data": { + "version": "17.7.2", + "packageName": "yargs", + "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" + } + }, + "npm:yocto-queue": { + "type": "npm", + "name": "npm:yocto-queue", + "data": { + "version": "1.0.0", + "packageName": "yocto-queue", + "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" + } + }, + "npm:z-schema": { + "type": "npm", + "name": "npm:z-schema", + "data": { + "version": "5.0.5", + "packageName": "z-schema", + "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" + } + } + }, + "dependencies": [ + { + "source": "npm:@jest/schemas", + "target": "npm:@sinclair/typebox", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:nx", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:fs-extra", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:import-lazy", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:jju", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:resolve", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:semver", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:z-schema", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@rushstack/node-core-library", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:supports-color", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@rushstack/terminal", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@types/argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:string-argv", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:umzug", + "type": "static" + }, + { + "source": "npm:@types/node", + "target": "npm:undici-types", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:p-limit", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:@vitest/spy", + "target": "npm:tinyspy", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:estree-walker", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:js-yaml@3.14.1", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:@zkochan/js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + }, + { + "source": "npm:ansi-styles", + "target": "npm:color-convert", + "type": "static" + }, + { + "source": "npm:argparse", + "target": "npm:sprintf-js", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:follow-redirects", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:form-data", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:proxy-from-env", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:buffer", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:brace-expansion", + "target": "npm:balanced-match", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:base64-js", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:assertion-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:check-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:deep-eql", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:pathval", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:type-detect", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:supports-color@7.2.0", + "type": "static" + }, + { + "source": "npm:check-error", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:cli-cursor", + "target": "npm:restore-cursor", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:wrap-ansi", + "type": "static" + }, + { + "source": "npm:color-convert", + "target": "npm:color-name", + "type": "static" + }, + { + "source": "npm:combined-stream", + "target": "npm:delayed-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:buffer-from", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:typedarray", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:shebang-command", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:which", + "type": "static" + }, + { + "source": "npm:debug", + "target": "npm:ms", + "type": "static" + }, + { + "source": "npm:deep-eql", + "target": "npm:type-detect", + "type": "static" + }, + { + "source": "npm:defaults", + "target": "npm:clone", + "type": "static" + }, + { + "source": "npm:end-of-stream", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:enquirer", + "target": "npm:ansi-colors", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/aix-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-loong64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-mips64el", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-riscv64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-s390x", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/netbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/openbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/sunos-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-x64", + "type": "static" + }, + { + "source": "npm:estree-walker", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:cross-spawn", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:get-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:human-signals", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:is-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:merge-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:npm-run-path", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:onetime", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:signal-exit@4.1.0", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:strip-final-newline", + "type": "static" + }, + { + "source": "npm:fast-printf", + "target": "npm:boolean", + "type": "static" + }, + { + "source": "npm:figures", + "target": "npm:escape-string-regexp", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:asynckit", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:combined-stream", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:mime-types", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:jsonfile@6.1.0", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:jsonfile", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:universalify", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:bluebird", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:source-map", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:fs.realpath", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inflight", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:minimatch@5.1.6", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:hasown", + "target": "npm:function-bind", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid-parse", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:wrappy", + "type": "static" + }, + { + "source": "npm:is-core-module", + "target": "npm:hasown", + "type": "static" + }, + { + "source": "npm:is-wsl", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:jest-get-type", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:pretty-format", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:esprima", + "type": "static" + }, + { + "source": "npm:js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:is-unicode-supported", + "type": "static" + }, + { + "source": "npm:loupe", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:lru-cache", + "target": "npm:yallist", + "type": "static" + }, + { + "source": "npm:magic-string", + "target": "npm:@jridgewell/sourcemap-codec", + "type": "static" + }, + { + "source": "npm:mime-types", + "target": "npm:mime-db", + "type": "static" + }, + { + "source": "npm:minimatch@5.1.6", + "target": "npm:brace-expansion", + "type": "static" + }, + { + "source": "npm:minimatch", + "target": "npm:brace-expansion", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:acorn", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:ufo", + "type": "static" + }, + { + "source": "npm:npm-run-path@4.0.1", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:npm-run-path", + "target": "npm:path-key@4.0.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nrwl/tao", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/lockfile", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/parsers", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@zkochan/js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:axios", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv-expand", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:enquirer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:figures", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:flat", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:fs-extra@11.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ignore", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jest-diff", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jsonc-parser@3.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:lines-and-columns", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:minimatch", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:node-machine-id", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:npm-run-path@4.0.1", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:open", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ora", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:semver@7.6.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:strong-log-transformer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tar-stream", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tmp", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tsconfig-paths", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-arm64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-freebsd-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:once", + "target": "npm:wrappy", + "type": "static" + }, + { + "source": "npm:onetime@5.1.2", + "target": "npm:mimic-fn@2.1.0", + "type": "static" + }, + { + "source": "npm:onetime", + "target": "npm:mimic-fn", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:define-lazy-prop", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-wsl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:is-interactive", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:log-symbols", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:wcwidth", + "type": "static" + }, + { + "source": "npm:p-limit", + "target": "npm:yocto-queue", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bufferput", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:int64-buffer", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:multi-fork", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:through2@3.0.2", + "type": "static" + }, + { + "source": "npm:pg-copy-streams", + "target": "npm:obuf", + "type": "static" + }, + { + "source": "npm:pg-cursor", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:pg-pool", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:pg-int8", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-array@2.0.0", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-bytea", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-date", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-interval@1.2.0", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:buffer-writer", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:packet-reader", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-connection-string", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-pool", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-types", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pgpass", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-cloudflare", + "type": "static" + }, + { + "source": "npm:pgpass", + "target": "npm:split2", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:jsonc-parser", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:nanoid", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:source-map-js", + "type": "static" + }, + { + "source": "npm:postgres-interval@1.2.0", + "target": "npm:xtend", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:@jest/schemas", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:ansi-styles@5.2.0", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:react-is", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:string_decoder", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:util-deprecate", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:is-core-module", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:path-parse", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:supports-preserve-symlinks-flag", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:onetime@5.1.2", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:signal-exit", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:fast-printf", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:safe-stable-stringify", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:semver-compare", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm-eabi", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-x64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-riscv64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-ia32-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:fsevents", + "type": "static" + }, + { + "source": "npm:semver", + "target": "npm:lru-cache", + "type": "static" + }, + { + "source": "npm:semver@7.6.0", + "target": "npm:lru-cache", + "type": "static" + }, + { + "source": "npm:serialize-error", + "target": "npm:type-fest", + "type": "static" + }, + { + "source": "npm:shebang-command", + "target": "npm:shebang-regex", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:concat-stream", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:es6-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:fast-safe-stringify", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:get-stack-trace", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:hyperid", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:is-plain-object", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:iso8601-duration", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:p-defer", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams-binary", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-cursor", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-array", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-interval", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:roarr", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:serialize-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:through2", + "type": "static" + }, + { + "source": "npm:source-map", + "target": "npm:whatwg-url", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:emoji-regex", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:is-fullwidth-code-point", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:string_decoder", + "target": "npm:safe-buffer", + "type": "static" + }, + { + "source": "npm:strip-ansi", + "target": "npm:ansi-regex", + "type": "static" + }, + { + "source": "npm:strip-literal", + "target": "npm:js-tokens", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:duplexer", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:through", + "type": "static" + }, + { + "source": "npm:supports-color@7.2.0", + "target": "npm:has-flag", + "type": "static" + }, + { + "source": "npm:supports-color", + "target": "npm:has-flag", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:end-of-stream", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:fs-constants", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:through2", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:tr46", + "target": "npm:punycode", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:json5", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:strip-bom", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:emittery", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:glob", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:pony-cause", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:type-fest@4.10.3", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:cac", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:esbuild", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:postcss", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:rollup", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:fsevents", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/expect", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/runner", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/snapshot", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:acorn-walk", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:execa", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:local-pkg", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:std-env", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:strip-literal", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinybench", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinypool", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite-node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:why-is-node-running", + "type": "static" + }, + { + "source": "npm:wcwidth", + "target": "npm:defaults", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:lodash.sortby", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:tr46", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:webidl-conversions", + "type": "static" + }, + { + "source": "npm:which", + "target": "npm:isexe", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:siginfo", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:stackback", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:escalade", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:get-caller-file", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:require-directory", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:y18n", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.get", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.isequal", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:validator", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:commander", + "type": "static" + } + ] +} diff --git a/.nx/cache/project-graph.json b/.nx/cache/project-graph.json index f1074235e..e0b20e825 100644 --- a/.nx/cache/project-graph.json +++ b/.nx/cache/project-graph.json @@ -1,5069 +1,5069 @@ { - "nodes": { - "shared-packets": { - "name": "shared-packets", - "type": "lib", - "data": { - "root": "packages/shared-packets", - "sourceRoot": "packages/shared-packets", - "name": "shared-packets", - "projectType": "library", - "targets": { - "build": { - "executor": "nx:run-script", - "options": { - "script": "build" - }, - "configurations": {} - }, - "test": { - "executor": "nx:run-script", - "options": { - "script": "test" - }, - "configurations": {} - } - }, - "implicitDependencies": [], - "tags": [] - } - }, - "@rusty-motors/thebeast": { - "name": "@rusty-motors/thebeast", - "type": "lib", - "data": { - "root": "thebeast", - "sourceRoot": "thebeast", - "name": "@rusty-motors/thebeast", - "projectType": "library", - "targets": { - "test": { - "executor": "nx:run-script", - "options": { - "script": "test" - }, - "configurations": {} - }, - "prod": { - "executor": "nx:run-script", - "options": { - "script": "prod" - }, - "configurations": {} - }, - "prod:stop": { - "executor": "nx:run-script", - "options": { - "script": "prod:stop" - }, - "configurations": {} - }, - "release": { - "executor": "nx:run-script", - "options": { - "script": "release" - }, - "configurations": {} - }, - "start": { - "executor": "nx:run-script", - "options": { - "script": "start" - }, - "configurations": {} - }, - "start:docker": { - "executor": "nx:run-script", - "options": { - "script": "start:docker" - }, - "configurations": {} - } - }, - "implicitDependencies": [], - "tags": [] - } - } - }, - "externalNodes": { - "npm:@esbuild/aix-ppc64": { - "type": "npm", - "name": "npm:@esbuild/aix-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/aix-ppc64", - "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" - } - }, - "npm:@esbuild/android-arm64": { - "type": "npm", - "name": "npm:@esbuild/android-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm64", - "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" - } - }, - "npm:@esbuild/android-arm": { - "type": "npm", - "name": "npm:@esbuild/android-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm", - "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" - } - }, - "npm:@esbuild/android-x64": { - "type": "npm", - "name": "npm:@esbuild/android-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-x64", - "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" - } - }, - "npm:@esbuild/darwin-arm64": { - "type": "npm", - "name": "npm:@esbuild/darwin-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-arm64", - "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" - } - }, - "npm:@esbuild/darwin-x64": { - "type": "npm", - "name": "npm:@esbuild/darwin-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-x64", - "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" - } - }, - "npm:@esbuild/freebsd-arm64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-arm64", - "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" - } - }, - "npm:@esbuild/freebsd-x64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-x64", - "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" - } - }, - "npm:@esbuild/linux-arm64": { - "type": "npm", - "name": "npm:@esbuild/linux-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm64", - "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" - } - }, - "npm:@esbuild/linux-arm": { - "type": "npm", - "name": "npm:@esbuild/linux-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm", - "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" - } - }, - "npm:@esbuild/linux-ia32": { - "type": "npm", - "name": "npm:@esbuild/linux-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ia32", - "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" - } - }, - "npm:@esbuild/linux-loong64": { - "type": "npm", - "name": "npm:@esbuild/linux-loong64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-loong64", - "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" - } - }, - "npm:@esbuild/linux-mips64el": { - "type": "npm", - "name": "npm:@esbuild/linux-mips64el", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-mips64el", - "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" - } - }, - "npm:@esbuild/linux-ppc64": { - "type": "npm", - "name": "npm:@esbuild/linux-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ppc64", - "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" - } - }, - "npm:@esbuild/linux-riscv64": { - "type": "npm", - "name": "npm:@esbuild/linux-riscv64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-riscv64", - "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" - } - }, - "npm:@esbuild/linux-s390x": { - "type": "npm", - "name": "npm:@esbuild/linux-s390x", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-s390x", - "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" - } - }, - "npm:@esbuild/linux-x64": { - "type": "npm", - "name": "npm:@esbuild/linux-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-x64", - "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" - } - }, - "npm:@esbuild/netbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/netbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/netbsd-x64", - "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" - } - }, - "npm:@esbuild/openbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/openbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/openbsd-x64", - "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" - } - }, - "npm:@esbuild/sunos-x64": { - "type": "npm", - "name": "npm:@esbuild/sunos-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/sunos-x64", - "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" - } - }, - "npm:@esbuild/win32-arm64": { - "type": "npm", - "name": "npm:@esbuild/win32-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-arm64", - "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" - } - }, - "npm:@esbuild/win32-ia32": { - "type": "npm", - "name": "npm:@esbuild/win32-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-ia32", - "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" - } - }, - "npm:@esbuild/win32-x64": { - "type": "npm", - "name": "npm:@esbuild/win32-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-x64", - "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" - } - }, - "npm:@jest/schemas": { - "type": "npm", - "name": "npm:@jest/schemas", - "data": { - "version": "29.6.3", - "packageName": "@jest/schemas", - "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" - } - }, - "npm:@jridgewell/sourcemap-codec": { - "type": "npm", - "name": "npm:@jridgewell/sourcemap-codec", - "data": { - "version": "1.4.15", - "packageName": "@jridgewell/sourcemap-codec", - "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - } - }, - "npm:@nrwl/tao": { - "type": "npm", - "name": "npm:@nrwl/tao", - "data": { - "version": "18.0.6", - "packageName": "@nrwl/tao", - "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" - } - }, - "npm:@nx/nx-darwin-arm64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-arm64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-arm64", - "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" - } - }, - "npm:@nx/nx-darwin-x64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-x64", - "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" - } - }, - "npm:@nx/nx-freebsd-x64": { - "type": "npm", - "name": "npm:@nx/nx-freebsd-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-freebsd-x64", - "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" - } - }, - "npm:@nx/nx-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm-gnueabihf", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm-gnueabihf", - "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" - } - }, - "npm:@nx/nx-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-gnu", - "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" - } - }, - "npm:@nx/nx-linux-arm64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-musl", - "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" - } - }, - "npm:@nx/nx-linux-x64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-gnu", - "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" - } - }, - "npm:@nx/nx-linux-x64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-musl", - "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" - } - }, - "npm:@nx/nx-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-arm64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-arm64-msvc", - "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" - } - }, - "npm:@nx/nx-win32-x64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-x64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-x64-msvc", - "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" - } - }, - "npm:@rollup/rollup-android-arm-eabi": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm-eabi", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm-eabi", - "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" - } - }, - "npm:@rollup/rollup-android-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm64", - "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" - } - }, - "npm:@rollup/rollup-darwin-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-arm64", - "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" - } - }, - "npm:@rollup/rollup-darwin-x64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-x64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-x64", - "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" - } - }, - "npm:@rollup/rollup-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm-gnueabihf", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm-gnueabihf", - "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" - } - }, - "npm:@rollup/rollup-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-gnu", - "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" - } - }, - "npm:@rollup/rollup-linux-arm64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-musl", - "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" - } - }, - "npm:@rollup/rollup-linux-riscv64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-riscv64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-riscv64-gnu", - "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" - } - }, - "npm:@rollup/rollup-linux-x64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-gnu", - "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" - } - }, - "npm:@rollup/rollup-linux-x64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-musl", - "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" - } - }, - "npm:@rollup/rollup-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-arm64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-arm64-msvc", - "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" - } - }, - "npm:@rollup/rollup-win32-ia32-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-ia32-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-ia32-msvc", - "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" - } - }, - "npm:@rollup/rollup-win32-x64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-x64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-x64-msvc", - "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" - } - }, - "npm:@rushstack/node-core-library": { - "type": "npm", - "name": "npm:@rushstack/node-core-library", - "data": { - "version": "4.0.2", - "packageName": "@rushstack/node-core-library", - "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" - } - }, - "npm:@rushstack/terminal": { - "type": "npm", - "name": "npm:@rushstack/terminal", - "data": { - "version": "0.10.0", - "packageName": "@rushstack/terminal", - "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" - } - }, - "npm:@rushstack/ts-command-line": { - "type": "npm", - "name": "npm:@rushstack/ts-command-line", - "data": { - "version": "4.18.0", - "packageName": "@rushstack/ts-command-line", - "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" - } - }, - "npm:@sinclair/typebox": { - "type": "npm", - "name": "npm:@sinclair/typebox", - "data": { - "version": "0.27.8", - "packageName": "@sinclair/typebox", - "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - } - }, - "npm:@slonik/migrator": { - "type": "npm", - "name": "npm:@slonik/migrator", - "data": { - "version": "0.12.0", - "packageName": "@slonik/migrator", - "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" - } - }, - "npm:@types/argparse": { - "type": "npm", - "name": "npm:@types/argparse", - "data": { - "version": "1.0.38", - "packageName": "@types/argparse", - "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" - } - }, - "npm:@types/estree": { - "type": "npm", - "name": "npm:@types/estree", - "data": { - "version": "1.0.5", - "packageName": "@types/estree", - "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - } - }, - "npm:@types/node": { - "type": "npm", - "name": "npm:@types/node", - "data": { - "version": "20.11.24", - "packageName": "@types/node", - "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" - } - }, - "npm:@vitest/expect": { - "type": "npm", - "name": "npm:@vitest/expect", - "data": { - "version": "1.3.1", - "packageName": "@vitest/expect", - "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" - } - }, - "npm:@vitest/runner": { - "type": "npm", - "name": "npm:@vitest/runner", - "data": { - "version": "1.3.1", - "packageName": "@vitest/runner", - "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" - } - }, - "npm:@vitest/snapshot": { - "type": "npm", - "name": "npm:@vitest/snapshot", - "data": { - "version": "1.3.1", - "packageName": "@vitest/snapshot", - "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" - } - }, - "npm:@vitest/spy": { - "type": "npm", - "name": "npm:@vitest/spy", - "data": { - "version": "1.3.1", - "packageName": "@vitest/spy", - "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" - } - }, - "npm:@vitest/utils": { - "type": "npm", - "name": "npm:@vitest/utils", - "data": { - "version": "1.3.1", - "packageName": "@vitest/utils", - "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" - } - }, - "npm:@yarnpkg/lockfile": { - "type": "npm", - "name": "npm:@yarnpkg/lockfile", - "data": { - "version": "1.1.0", - "packageName": "@yarnpkg/lockfile", - "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - } - }, - "npm:@yarnpkg/parsers": { - "type": "npm", - "name": "npm:@yarnpkg/parsers", - "data": { - "version": "3.0.0-rc.46", - "packageName": "@yarnpkg/parsers", - "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" - } - }, - "npm:@zkochan/js-yaml": { - "type": "npm", - "name": "npm:@zkochan/js-yaml", - "data": { - "version": "0.0.6", - "packageName": "@zkochan/js-yaml", - "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" - } - }, - "npm:acorn-walk": { - "type": "npm", - "name": "npm:acorn-walk", - "data": { - "version": "8.3.2", - "packageName": "acorn-walk", - "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" - } - }, - "npm:acorn": { - "type": "npm", - "name": "npm:acorn", - "data": { - "version": "8.11.3", - "packageName": "acorn", - "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - } - }, - "npm:ansi-colors": { - "type": "npm", - "name": "npm:ansi-colors", - "data": { - "version": "4.1.3", - "packageName": "ansi-colors", - "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - } - }, - "npm:ansi-regex": { - "type": "npm", - "name": "npm:ansi-regex", - "data": { - "version": "5.0.1", - "packageName": "ansi-regex", - "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } - }, - "npm:ansi-styles": { - "type": "npm", - "name": "npm:ansi-styles", - "data": { - "version": "4.3.0", - "packageName": "ansi-styles", - "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - } - }, - "npm:ansi-styles@5.2.0": { - "type": "npm", - "name": "npm:ansi-styles@5.2.0", - "data": { - "version": "5.2.0", - "packageName": "ansi-styles", - "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - }, - "npm:argparse": { - "type": "npm", - "name": "npm:argparse", - "data": { - "version": "1.0.10", - "packageName": "argparse", - "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - } - }, - "npm:argparse@2.0.1": { - "type": "npm", - "name": "npm:argparse@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "argparse", - "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - }, - "npm:assertion-error": { - "type": "npm", - "name": "npm:assertion-error", - "data": { - "version": "1.1.0", - "packageName": "assertion-error", - "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - } - }, - "npm:asynckit": { - "type": "npm", - "name": "npm:asynckit", - "data": { - "version": "0.4.0", - "packageName": "asynckit", - "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - } - }, - "npm:axios": { - "type": "npm", - "name": "npm:axios", - "data": { - "version": "1.6.7", - "packageName": "axios", - "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" - } - }, - "npm:balanced-match": { - "type": "npm", - "name": "npm:balanced-match", - "data": { - "version": "1.0.2", - "packageName": "balanced-match", - "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - } - }, - "npm:base64-js": { - "type": "npm", - "name": "npm:base64-js", - "data": { - "version": "1.5.1", - "packageName": "base64-js", - "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - } - }, - "npm:bl": { - "type": "npm", - "name": "npm:bl", - "data": { - "version": "4.1.0", - "packageName": "bl", - "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - } - }, - "npm:bluebird": { - "type": "npm", - "name": "npm:bluebird", - "data": { - "version": "3.7.2", - "packageName": "bluebird", - "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - } - }, - "npm:boolean": { - "type": "npm", - "name": "npm:boolean", - "data": { - "version": "3.2.0", - "packageName": "boolean", - "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - } - }, - "npm:brace-expansion": { - "type": "npm", - "name": "npm:brace-expansion", - "data": { - "version": "2.0.1", - "packageName": "brace-expansion", - "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - } - }, - "npm:buffer-from": { - "type": "npm", - "name": "npm:buffer-from", - "data": { - "version": "1.1.2", - "packageName": "buffer-from", - "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - } - }, - "npm:buffer-writer": { - "type": "npm", - "name": "npm:buffer-writer", - "data": { - "version": "2.0.0", - "packageName": "buffer-writer", - "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" - } - }, - "npm:buffer": { - "type": "npm", - "name": "npm:buffer", - "data": { - "version": "5.7.1", - "packageName": "buffer", - "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - } - }, - "npm:bufferput": { - "type": "npm", - "name": "npm:bufferput", - "data": { - "version": "0.1.3", - "packageName": "bufferput", - "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" - } - }, - "npm:cac": { - "type": "npm", - "name": "npm:cac", - "data": { - "version": "6.7.14", - "packageName": "cac", - "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" - } - }, - "npm:chai": { - "type": "npm", - "name": "npm:chai", - "data": { - "version": "4.4.1", - "packageName": "chai", - "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" - } - }, - "npm:chalk": { - "type": "npm", - "name": "npm:chalk", - "data": { - "version": "4.1.2", - "packageName": "chalk", - "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - } - }, - "npm:check-error": { - "type": "npm", - "name": "npm:check-error", - "data": { - "version": "1.0.3", - "packageName": "check-error", - "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" - } - }, - "npm:cli-cursor": { - "type": "npm", - "name": "npm:cli-cursor", - "data": { - "version": "3.1.0", - "packageName": "cli-cursor", - "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - } - }, - "npm:cli-spinners": { - "type": "npm", - "name": "npm:cli-spinners", - "data": { - "version": "2.6.1", - "packageName": "cli-spinners", - "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - } - }, - "npm:cliui": { - "type": "npm", - "name": "npm:cliui", - "data": { - "version": "8.0.1", - "packageName": "cliui", - "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - } - }, - "npm:clone": { - "type": "npm", - "name": "npm:clone", - "data": { - "version": "1.0.4", - "packageName": "clone", - "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - } - }, - "npm:color-convert": { - "type": "npm", - "name": "npm:color-convert", - "data": { - "version": "2.0.1", - "packageName": "color-convert", - "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - } - }, - "npm:color-name": { - "type": "npm", - "name": "npm:color-name", - "data": { - "version": "1.1.4", - "packageName": "color-name", - "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - }, - "npm:combined-stream": { - "type": "npm", - "name": "npm:combined-stream", - "data": { - "version": "1.0.8", - "packageName": "combined-stream", - "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - } - }, - "npm:commander": { - "type": "npm", - "name": "npm:commander", - "data": { - "version": "9.5.0", - "packageName": "commander", - "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - } - }, - "npm:concat-stream": { - "type": "npm", - "name": "npm:concat-stream", - "data": { - "version": "2.0.0", - "packageName": "concat-stream", - "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - } - }, - "npm:cross-spawn": { - "type": "npm", - "name": "npm:cross-spawn", - "data": { - "version": "7.0.3", - "packageName": "cross-spawn", - "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - } - }, - "npm:debug": { - "type": "npm", - "name": "npm:debug", - "data": { - "version": "4.3.4", - "packageName": "debug", - "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - } - }, - "npm:deep-eql": { - "type": "npm", - "name": "npm:deep-eql", - "data": { - "version": "4.1.3", - "packageName": "deep-eql", - "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" - } - }, - "npm:defaults": { - "type": "npm", - "name": "npm:defaults", - "data": { - "version": "1.0.4", - "packageName": "defaults", - "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" - } - }, - "npm:define-lazy-prop": { - "type": "npm", - "name": "npm:define-lazy-prop", - "data": { - "version": "2.0.0", - "packageName": "define-lazy-prop", - "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - } - }, - "npm:delayed-stream": { - "type": "npm", - "name": "npm:delayed-stream", - "data": { - "version": "1.0.0", - "packageName": "delayed-stream", - "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - } - }, - "npm:diff-sequences": { - "type": "npm", - "name": "npm:diff-sequences", - "data": { - "version": "29.6.3", - "packageName": "diff-sequences", - "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" - } - }, - "npm:dotenv-expand": { - "type": "npm", - "name": "npm:dotenv-expand", - "data": { - "version": "10.0.0", - "packageName": "dotenv-expand", - "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" - } - }, - "npm:dotenv": { - "type": "npm", - "name": "npm:dotenv", - "data": { - "version": "16.3.2", - "packageName": "dotenv", - "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" - } - }, - "npm:duplexer": { - "type": "npm", - "name": "npm:duplexer", - "data": { - "version": "0.1.2", - "packageName": "duplexer", - "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - } - }, - "npm:emittery": { - "type": "npm", - "name": "npm:emittery", - "data": { - "version": "0.13.1", - "packageName": "emittery", - "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" - } - }, - "npm:emoji-regex": { - "type": "npm", - "name": "npm:emoji-regex", - "data": { - "version": "8.0.0", - "packageName": "emoji-regex", - "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - }, - "npm:end-of-stream": { - "type": "npm", - "name": "npm:end-of-stream", - "data": { - "version": "1.4.4", - "packageName": "end-of-stream", - "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - } - }, - "npm:enquirer": { - "type": "npm", - "name": "npm:enquirer", - "data": { - "version": "2.3.6", - "packageName": "enquirer", - "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - } - }, - "npm:es6-error": { - "type": "npm", - "name": "npm:es6-error", - "data": { - "version": "4.1.1", - "packageName": "es6-error", - "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - } - }, - "npm:esbuild": { - "type": "npm", - "name": "npm:esbuild", - "data": { - "version": "0.19.12", - "packageName": "esbuild", - "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" - } - }, - "npm:escalade": { - "type": "npm", - "name": "npm:escalade", - "data": { - "version": "3.1.2", - "packageName": "escalade", - "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - } - }, - "npm:escape-string-regexp": { - "type": "npm", - "name": "npm:escape-string-regexp", - "data": { - "version": "1.0.5", - "packageName": "escape-string-regexp", - "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - }, - "npm:esprima": { - "type": "npm", - "name": "npm:esprima", - "data": { - "version": "4.0.1", - "packageName": "esprima", - "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - }, - "npm:estree-walker": { - "type": "npm", - "name": "npm:estree-walker", - "data": { - "version": "3.0.3", - "packageName": "estree-walker", - "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" - } - }, - "npm:execa": { - "type": "npm", - "name": "npm:execa", - "data": { - "version": "8.0.1", - "packageName": "execa", - "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" - } - }, - "npm:fast-printf": { - "type": "npm", - "name": "npm:fast-printf", - "data": { - "version": "1.6.9", - "packageName": "fast-printf", - "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" - } - }, - "npm:fast-safe-stringify": { - "type": "npm", - "name": "npm:fast-safe-stringify", - "data": { - "version": "2.1.1", - "packageName": "fast-safe-stringify", - "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - } - }, - "npm:figures": { - "type": "npm", - "name": "npm:figures", - "data": { - "version": "3.2.0", - "packageName": "figures", - "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - } - }, - "npm:flat": { - "type": "npm", - "name": "npm:flat", - "data": { - "version": "5.0.2", - "packageName": "flat", - "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - } - }, - "npm:follow-redirects": { - "type": "npm", - "name": "npm:follow-redirects", - "data": { - "version": "1.15.5", - "packageName": "follow-redirects", - "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - } - }, - "npm:form-data": { - "type": "npm", - "name": "npm:form-data", - "data": { - "version": "4.0.0", - "packageName": "form-data", - "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - } - }, - "npm:fs-constants": { - "type": "npm", - "name": "npm:fs-constants", - "data": { - "version": "1.0.0", - "packageName": "fs-constants", - "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - } - }, - "npm:fs-extra@11.2.0": { - "type": "npm", - "name": "npm:fs-extra@11.2.0", - "data": { - "version": "11.2.0", - "packageName": "fs-extra", - "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" - } - }, - "npm:fs-extra": { - "type": "npm", - "name": "npm:fs-extra", - "data": { - "version": "7.0.1", - "packageName": "fs-extra", - "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - } - }, - "npm:fs.realpath": { - "type": "npm", - "name": "npm:fs.realpath", - "data": { - "version": "1.0.0", - "packageName": "fs.realpath", - "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - } - }, - "npm:fsevents": { - "type": "npm", - "name": "npm:fsevents", - "data": { - "version": "2.3.3", - "packageName": "fsevents", - "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - } - }, - "npm:function-bind": { - "type": "npm", - "name": "npm:function-bind", - "data": { - "version": "1.1.2", - "packageName": "function-bind", - "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } - }, - "npm:get-caller-file": { - "type": "npm", - "name": "npm:get-caller-file", - "data": { - "version": "2.0.5", - "packageName": "get-caller-file", - "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - } - }, - "npm:get-func-name": { - "type": "npm", - "name": "npm:get-func-name", - "data": { - "version": "2.0.2", - "packageName": "get-func-name", - "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" - } - }, - "npm:get-stack-trace": { - "type": "npm", - "name": "npm:get-stack-trace", - "data": { - "version": "2.1.1", - "packageName": "get-stack-trace", - "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" - } - }, - "npm:get-stream": { - "type": "npm", - "name": "npm:get-stream", - "data": { - "version": "8.0.1", - "packageName": "get-stream", - "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" - } - }, - "npm:glob": { - "type": "npm", - "name": "npm:glob", - "data": { - "version": "8.1.0", - "packageName": "glob", - "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" - } - }, - "npm:graceful-fs": { - "type": "npm", - "name": "npm:graceful-fs", - "data": { - "version": "4.2.11", - "packageName": "graceful-fs", - "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - } - }, - "npm:has-flag": { - "type": "npm", - "name": "npm:has-flag", - "data": { - "version": "4.0.0", - "packageName": "has-flag", - "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - }, - "npm:hasown": { - "type": "npm", - "name": "npm:hasown", - "data": { - "version": "2.0.1", - "packageName": "hasown", - "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" - } - }, - "npm:human-signals": { - "type": "npm", - "name": "npm:human-signals", - "data": { - "version": "5.0.0", - "packageName": "human-signals", - "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" - } - }, - "npm:hyperid": { - "type": "npm", - "name": "npm:hyperid", - "data": { - "version": "2.3.1", - "packageName": "hyperid", - "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" - } - }, - "npm:ieee754": { - "type": "npm", - "name": "npm:ieee754", - "data": { - "version": "1.2.1", - "packageName": "ieee754", - "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - } - }, - "npm:ignore": { - "type": "npm", - "name": "npm:ignore", - "data": { - "version": "5.3.1", - "packageName": "ignore", - "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" - } - }, - "npm:import-lazy": { - "type": "npm", - "name": "npm:import-lazy", - "data": { - "version": "4.0.0", - "packageName": "import-lazy", - "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" - } - }, - "npm:inflight": { - "type": "npm", - "name": "npm:inflight", - "data": { - "version": "1.0.6", - "packageName": "inflight", - "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - } - }, - "npm:inherits": { - "type": "npm", - "name": "npm:inherits", - "data": { - "version": "2.0.4", - "packageName": "inherits", - "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - } - }, - "npm:int64-buffer": { - "type": "npm", - "name": "npm:int64-buffer", - "data": { - "version": "0.99.1007", - "packageName": "int64-buffer", - "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" - } - }, - "npm:is-core-module": { - "type": "npm", - "name": "npm:is-core-module", - "data": { - "version": "2.13.1", - "packageName": "is-core-module", - "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" - } - }, - "npm:is-docker": { - "type": "npm", - "name": "npm:is-docker", - "data": { - "version": "2.2.1", - "packageName": "is-docker", - "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - } - }, - "npm:is-fullwidth-code-point": { - "type": "npm", - "name": "npm:is-fullwidth-code-point", - "data": { - "version": "3.0.0", - "packageName": "is-fullwidth-code-point", - "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - }, - "npm:is-interactive": { - "type": "npm", - "name": "npm:is-interactive", - "data": { - "version": "1.0.0", - "packageName": "is-interactive", - "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - } - }, - "npm:is-plain-object": { - "type": "npm", - "name": "npm:is-plain-object", - "data": { - "version": "5.0.0", - "packageName": "is-plain-object", - "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - }, - "npm:is-stream": { - "type": "npm", - "name": "npm:is-stream", - "data": { - "version": "3.0.0", - "packageName": "is-stream", - "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - } - }, - "npm:is-unicode-supported": { - "type": "npm", - "name": "npm:is-unicode-supported", - "data": { - "version": "0.1.0", - "packageName": "is-unicode-supported", - "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - } - }, - "npm:is-wsl": { - "type": "npm", - "name": "npm:is-wsl", - "data": { - "version": "2.2.0", - "packageName": "is-wsl", - "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - } - }, - "npm:isexe": { - "type": "npm", - "name": "npm:isexe", - "data": { - "version": "2.0.0", - "packageName": "isexe", - "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - } - }, - "npm:iso8601-duration": { - "type": "npm", - "name": "npm:iso8601-duration", - "data": { - "version": "1.3.0", - "packageName": "iso8601-duration", - "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" - } - }, - "npm:jest-diff": { - "type": "npm", - "name": "npm:jest-diff", - "data": { - "version": "29.7.0", - "packageName": "jest-diff", - "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" - } - }, - "npm:jest-get-type": { - "type": "npm", - "name": "npm:jest-get-type", - "data": { - "version": "29.6.3", - "packageName": "jest-get-type", - "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" - } - }, - "npm:jju": { - "type": "npm", - "name": "npm:jju", - "data": { - "version": "1.4.0", - "packageName": "jju", - "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" - } - }, - "npm:js-tokens": { - "type": "npm", - "name": "npm:js-tokens", - "data": { - "version": "8.0.3", - "packageName": "js-tokens", - "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" - } - }, - "npm:js-yaml@3.14.1": { - "type": "npm", - "name": "npm:js-yaml@3.14.1", - "data": { - "version": "3.14.1", - "packageName": "js-yaml", - "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - } - }, - "npm:js-yaml": { - "type": "npm", - "name": "npm:js-yaml", - "data": { - "version": "4.1.0", - "packageName": "js-yaml", - "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - } - }, - "npm:json5": { - "type": "npm", - "name": "npm:json5", - "data": { - "version": "2.2.3", - "packageName": "json5", - "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - } - }, - "npm:jsonc-parser@3.2.0": { - "type": "npm", - "name": "npm:jsonc-parser@3.2.0", - "data": { - "version": "3.2.0", - "packageName": "jsonc-parser", - "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - } - }, - "npm:jsonc-parser": { - "type": "npm", - "name": "npm:jsonc-parser", - "data": { - "version": "3.2.1", - "packageName": "jsonc-parser", - "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - } - }, - "npm:jsonfile": { - "type": "npm", - "name": "npm:jsonfile", - "data": { - "version": "4.0.0", - "packageName": "jsonfile", - "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - } - }, - "npm:jsonfile@6.1.0": { - "type": "npm", - "name": "npm:jsonfile@6.1.0", - "data": { - "version": "6.1.0", - "packageName": "jsonfile", - "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - } - }, - "npm:lines-and-columns": { - "type": "npm", - "name": "npm:lines-and-columns", - "data": { - "version": "2.0.4", - "packageName": "lines-and-columns", - "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" - } - }, - "npm:local-pkg": { - "type": "npm", - "name": "npm:local-pkg", - "data": { - "version": "0.5.0", - "packageName": "local-pkg", - "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" - } - }, - "npm:lodash.get": { - "type": "npm", - "name": "npm:lodash.get", - "data": { - "version": "4.4.2", - "packageName": "lodash.get", - "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - } - }, - "npm:lodash.isequal": { - "type": "npm", - "name": "npm:lodash.isequal", - "data": { - "version": "4.5.0", - "packageName": "lodash.isequal", - "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - } - }, - "npm:lodash.sortby": { - "type": "npm", - "name": "npm:lodash.sortby", - "data": { - "version": "4.7.0", - "packageName": "lodash.sortby", - "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - } - }, - "npm:log-symbols": { - "type": "npm", - "name": "npm:log-symbols", - "data": { - "version": "4.1.0", - "packageName": "log-symbols", - "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - } - }, - "npm:loupe": { - "type": "npm", - "name": "npm:loupe", - "data": { - "version": "2.3.7", - "packageName": "loupe", - "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" - } - }, - "npm:lru-cache": { - "type": "npm", - "name": "npm:lru-cache", - "data": { - "version": "6.0.0", - "packageName": "lru-cache", - "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - } - }, - "npm:magic-string": { - "type": "npm", - "name": "npm:magic-string", - "data": { - "version": "0.30.7", - "packageName": "magic-string", - "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" - } - }, - "npm:merge-stream": { - "type": "npm", - "name": "npm:merge-stream", - "data": { - "version": "2.0.0", - "packageName": "merge-stream", - "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - } - }, - "npm:mime-db": { - "type": "npm", - "name": "npm:mime-db", - "data": { - "version": "1.52.0", - "packageName": "mime-db", - "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - } - }, - "npm:mime-types": { - "type": "npm", - "name": "npm:mime-types", - "data": { - "version": "2.1.35", - "packageName": "mime-types", - "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - } - }, - "npm:mimic-fn@2.1.0": { - "type": "npm", - "name": "npm:mimic-fn@2.1.0", - "data": { - "version": "2.1.0", - "packageName": "mimic-fn", - "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - } - }, - "npm:mimic-fn": { - "type": "npm", - "name": "npm:mimic-fn", - "data": { - "version": "4.0.0", - "packageName": "mimic-fn", - "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - } - }, - "npm:minimatch@5.1.6": { - "type": "npm", - "name": "npm:minimatch@5.1.6", - "data": { - "version": "5.1.6", - "packageName": "minimatch", - "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" - } - }, - "npm:minimatch": { - "type": "npm", - "name": "npm:minimatch", - "data": { - "version": "9.0.3", - "packageName": "minimatch", - "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" - } - }, - "npm:minimist": { - "type": "npm", - "name": "npm:minimist", - "data": { - "version": "1.2.8", - "packageName": "minimist", - "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - }, - "npm:mlly": { - "type": "npm", - "name": "npm:mlly", - "data": { - "version": "1.6.1", - "packageName": "mlly", - "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" - } - }, - "npm:ms": { - "type": "npm", - "name": "npm:ms", - "data": { - "version": "2.1.2", - "packageName": "ms", - "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - }, - "npm:multi-fork": { - "type": "npm", - "name": "npm:multi-fork", - "data": { - "version": "0.0.2", - "packageName": "multi-fork", - "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" - } - }, - "npm:nanoid": { - "type": "npm", - "name": "npm:nanoid", - "data": { - "version": "3.3.7", - "packageName": "nanoid", - "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" - } - }, - "npm:node-machine-id": { - "type": "npm", - "name": "npm:node-machine-id", - "data": { - "version": "1.1.12", - "packageName": "node-machine-id", - "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" - } - }, - "npm:npm-run-path@4.0.1": { - "type": "npm", - "name": "npm:npm-run-path@4.0.1", - "data": { - "version": "4.0.1", - "packageName": "npm-run-path", - "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - } - }, - "npm:npm-run-path": { - "type": "npm", - "name": "npm:npm-run-path", - "data": { - "version": "5.3.0", - "packageName": "npm-run-path", - "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" - } - }, - "npm:nx": { - "type": "npm", - "name": "npm:nx", - "data": { - "version": "18.0.6", - "packageName": "nx", - "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" - } - }, - "npm:obuf": { - "type": "npm", - "name": "npm:obuf", - "data": { - "version": "1.1.2", - "packageName": "obuf", - "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - } - }, - "npm:once": { - "type": "npm", - "name": "npm:once", - "data": { - "version": "1.4.0", - "packageName": "once", - "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - } - }, - "npm:onetime@5.1.2": { - "type": "npm", - "name": "npm:onetime@5.1.2", - "data": { - "version": "5.1.2", - "packageName": "onetime", - "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - } - }, - "npm:onetime": { - "type": "npm", - "name": "npm:onetime", - "data": { - "version": "6.0.0", - "packageName": "onetime", - "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" - } - }, - "npm:open": { - "type": "npm", - "name": "npm:open", - "data": { - "version": "8.4.2", - "packageName": "open", - "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - } - }, - "npm:ora": { - "type": "npm", - "name": "npm:ora", - "data": { - "version": "5.3.0", - "packageName": "ora", - "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" - } - }, - "npm:p-defer": { - "type": "npm", - "name": "npm:p-defer", - "data": { - "version": "3.0.0", - "packageName": "p-defer", - "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - } - }, - "npm:p-limit": { - "type": "npm", - "name": "npm:p-limit", - "data": { - "version": "5.0.0", - "packageName": "p-limit", - "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" - } - }, - "npm:packet-reader": { - "type": "npm", - "name": "npm:packet-reader", - "data": { - "version": "1.0.0", - "packageName": "packet-reader", - "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - } - }, - "npm:path-key": { - "type": "npm", - "name": "npm:path-key", - "data": { - "version": "3.1.1", - "packageName": "path-key", - "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - } - }, - "npm:path-key@4.0.0": { - "type": "npm", - "name": "npm:path-key@4.0.0", - "data": { - "version": "4.0.0", - "packageName": "path-key", - "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - } - }, - "npm:path-parse": { - "type": "npm", - "name": "npm:path-parse", - "data": { - "version": "1.0.7", - "packageName": "path-parse", - "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - } - }, - "npm:pathe": { - "type": "npm", - "name": "npm:pathe", - "data": { - "version": "1.1.2", - "packageName": "pathe", - "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - } - }, - "npm:pathval": { - "type": "npm", - "name": "npm:pathval", - "data": { - "version": "1.1.1", - "packageName": "pathval", - "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - } - }, - "npm:pg-cloudflare": { - "type": "npm", - "name": "npm:pg-cloudflare", - "data": { - "version": "1.1.1", - "packageName": "pg-cloudflare", - "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" - } - }, - "npm:pg-connection-string": { - "type": "npm", - "name": "npm:pg-connection-string", - "data": { - "version": "2.6.2", - "packageName": "pg-connection-string", - "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - } - }, - "npm:pg-copy-streams-binary": { - "type": "npm", - "name": "npm:pg-copy-streams-binary", - "data": { - "version": "2.2.0", - "packageName": "pg-copy-streams-binary", - "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" - } - }, - "npm:pg-copy-streams": { - "type": "npm", - "name": "npm:pg-copy-streams", - "data": { - "version": "6.0.6", - "packageName": "pg-copy-streams", - "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" - } - }, - "npm:pg-cursor": { - "type": "npm", - "name": "npm:pg-cursor", - "data": { - "version": "2.10.3", - "packageName": "pg-cursor", - "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" - } - }, - "npm:pg-int8": { - "type": "npm", - "name": "npm:pg-int8", - "data": { - "version": "1.0.1", - "packageName": "pg-int8", - "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - } - }, - "npm:pg-pool": { - "type": "npm", - "name": "npm:pg-pool", - "data": { - "version": "3.6.1", - "packageName": "pg-pool", - "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" - } - }, - "npm:pg-protocol": { - "type": "npm", - "name": "npm:pg-protocol", - "data": { - "version": "1.6.0", - "packageName": "pg-protocol", - "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" - } - }, - "npm:pg-types": { - "type": "npm", - "name": "npm:pg-types", - "data": { - "version": "2.2.0", - "packageName": "pg-types", - "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" - } - }, - "npm:pg": { - "type": "npm", - "name": "npm:pg", - "data": { - "version": "8.11.3", - "packageName": "pg", - "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" - } - }, - "npm:pgpass": { - "type": "npm", - "name": "npm:pgpass", - "data": { - "version": "1.0.5", - "packageName": "pgpass", - "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" - } - }, - "npm:picocolors": { - "type": "npm", - "name": "npm:picocolors", - "data": { - "version": "1.0.0", - "packageName": "picocolors", - "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - } - }, - "npm:pkg-types": { - "type": "npm", - "name": "npm:pkg-types", - "data": { - "version": "1.0.3", - "packageName": "pkg-types", - "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" - } - }, - "npm:pony-cause": { - "type": "npm", - "name": "npm:pony-cause", - "data": { - "version": "2.1.10", - "packageName": "pony-cause", - "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" - } - }, - "npm:postcss": { - "type": "npm", - "name": "npm:postcss", - "data": { - "version": "8.4.35", - "packageName": "postcss", - "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" - } - }, - "npm:postgres-array@2.0.0": { - "type": "npm", - "name": "npm:postgres-array@2.0.0", - "data": { - "version": "2.0.0", - "packageName": "postgres-array", - "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - } - }, - "npm:postgres-array": { - "type": "npm", - "name": "npm:postgres-array", - "data": { - "version": "3.0.2", - "packageName": "postgres-array", - "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" - } - }, - "npm:postgres-bytea": { - "type": "npm", - "name": "npm:postgres-bytea", - "data": { - "version": "1.0.0", - "packageName": "postgres-bytea", - "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" - } - }, - "npm:postgres-date": { - "type": "npm", - "name": "npm:postgres-date", - "data": { - "version": "1.0.7", - "packageName": "postgres-date", - "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - } - }, - "npm:postgres-interval@1.2.0": { - "type": "npm", - "name": "npm:postgres-interval@1.2.0", - "data": { - "version": "1.2.0", - "packageName": "postgres-interval", - "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" - } - }, - "npm:postgres-interval": { - "type": "npm", - "name": "npm:postgres-interval", - "data": { - "version": "4.0.2", - "packageName": "postgres-interval", - "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" - } - }, - "npm:prettier": { - "type": "npm", - "name": "npm:prettier", - "data": { - "version": "3.2.4", - "packageName": "prettier", - "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" - } - }, - "npm:pretty-format": { - "type": "npm", - "name": "npm:pretty-format", - "data": { - "version": "29.7.0", - "packageName": "pretty-format", - "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" - } - }, - "npm:proxy-from-env": { - "type": "npm", - "name": "npm:proxy-from-env", - "data": { - "version": "1.1.0", - "packageName": "proxy-from-env", - "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - }, - "npm:punycode": { - "type": "npm", - "name": "npm:punycode", - "data": { - "version": "2.3.1", - "packageName": "punycode", - "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - } - }, - "npm:react-is": { - "type": "npm", - "name": "npm:react-is", - "data": { - "version": "18.2.0", - "packageName": "react-is", - "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - }, - "npm:readable-stream": { - "type": "npm", - "name": "npm:readable-stream", - "data": { - "version": "3.6.2", - "packageName": "readable-stream", - "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - } - }, - "npm:require-directory": { - "type": "npm", - "name": "npm:require-directory", - "data": { - "version": "2.1.1", - "packageName": "require-directory", - "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - } - }, - "npm:resolve": { - "type": "npm", - "name": "npm:resolve", - "data": { - "version": "1.22.8", - "packageName": "resolve", - "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" - } - }, - "npm:restore-cursor": { - "type": "npm", - "name": "npm:restore-cursor", - "data": { - "version": "3.1.0", - "packageName": "restore-cursor", - "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - } - }, - "npm:roarr": { - "type": "npm", - "name": "npm:roarr", - "data": { - "version": "7.21.0", - "packageName": "roarr", - "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" - } - }, - "npm:rollup": { - "type": "npm", - "name": "npm:rollup", - "data": { - "version": "4.12.0", - "packageName": "rollup", - "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" - } - }, - "npm:safe-buffer": { - "type": "npm", - "name": "npm:safe-buffer", - "data": { - "version": "5.2.1", - "packageName": "safe-buffer", - "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - }, - "npm:safe-stable-stringify": { - "type": "npm", - "name": "npm:safe-stable-stringify", - "data": { - "version": "2.4.3", - "packageName": "safe-stable-stringify", - "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - } - }, - "npm:semver-compare": { - "type": "npm", - "name": "npm:semver-compare", - "data": { - "version": "1.0.0", - "packageName": "semver-compare", - "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - } - }, - "npm:semver": { - "type": "npm", - "name": "npm:semver", - "data": { - "version": "7.5.4", - "packageName": "semver", - "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - } - }, - "npm:semver@7.6.0": { - "type": "npm", - "name": "npm:semver@7.6.0", - "data": { - "version": "7.6.0", - "packageName": "semver", - "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" - } - }, - "npm:serialize-error": { - "type": "npm", - "name": "npm:serialize-error", - "data": { - "version": "8.1.0", - "packageName": "serialize-error", - "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" - } - }, - "npm:shebang-command": { - "type": "npm", - "name": "npm:shebang-command", - "data": { - "version": "2.0.0", - "packageName": "shebang-command", - "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - } - }, - "npm:shebang-regex": { - "type": "npm", - "name": "npm:shebang-regex", - "data": { - "version": "3.0.0", - "packageName": "shebang-regex", - "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - } - }, - "npm:siginfo": { - "type": "npm", - "name": "npm:siginfo", - "data": { - "version": "2.0.0", - "packageName": "siginfo", - "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - } - }, - "npm:signal-exit": { - "type": "npm", - "name": "npm:signal-exit", - "data": { - "version": "3.0.7", - "packageName": "signal-exit", - "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - } - }, - "npm:signal-exit@4.1.0": { - "type": "npm", - "name": "npm:signal-exit@4.1.0", - "data": { - "version": "4.1.0", - "packageName": "signal-exit", - "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - } - }, - "npm:slonik": { - "type": "npm", - "name": "npm:slonik", - "data": { - "version": "29.2.0", - "packageName": "slonik", - "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" - } - }, - "npm:source-map-js": { - "type": "npm", - "name": "npm:source-map-js", - "data": { - "version": "1.0.2", - "packageName": "source-map-js", - "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - } - }, - "npm:source-map": { - "type": "npm", - "name": "npm:source-map", - "data": { - "version": "0.8.0-beta.0", - "packageName": "source-map", - "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" - } - }, - "npm:split2": { - "type": "npm", - "name": "npm:split2", - "data": { - "version": "4.2.0", - "packageName": "split2", - "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - } - }, - "npm:sprintf-js": { - "type": "npm", - "name": "npm:sprintf-js", - "data": { - "version": "1.0.3", - "packageName": "sprintf-js", - "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } - }, - "npm:stackback": { - "type": "npm", - "name": "npm:stackback", - "data": { - "version": "0.0.2", - "packageName": "stackback", - "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - } - }, - "npm:std-env": { - "type": "npm", - "name": "npm:std-env", - "data": { - "version": "3.7.0", - "packageName": "std-env", - "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - } - }, - "npm:string-argv": { - "type": "npm", - "name": "npm:string-argv", - "data": { - "version": "0.3.2", - "packageName": "string-argv", - "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" - } - }, - "npm:string-width": { - "type": "npm", - "name": "npm:string-width", - "data": { - "version": "4.2.3", - "packageName": "string-width", - "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - } - }, - "npm:string_decoder": { - "type": "npm", - "name": "npm:string_decoder", - "data": { - "version": "1.3.0", - "packageName": "string_decoder", - "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - } - }, - "npm:strip-ansi": { - "type": "npm", - "name": "npm:strip-ansi", - "data": { - "version": "6.0.1", - "packageName": "strip-ansi", - "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - } - }, - "npm:strip-bom": { - "type": "npm", - "name": "npm:strip-bom", - "data": { - "version": "3.0.0", - "packageName": "strip-bom", - "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - }, - "npm:strip-final-newline": { - "type": "npm", - "name": "npm:strip-final-newline", - "data": { - "version": "3.0.0", - "packageName": "strip-final-newline", - "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" - } - }, - "npm:strip-literal": { - "type": "npm", - "name": "npm:strip-literal", - "data": { - "version": "2.0.0", - "packageName": "strip-literal", - "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" - } - }, - "npm:strong-log-transformer": { - "type": "npm", - "name": "npm:strong-log-transformer", - "data": { - "version": "2.1.0", - "packageName": "strong-log-transformer", - "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - } - }, - "npm:supports-color@7.2.0": { - "type": "npm", - "name": "npm:supports-color@7.2.0", - "data": { - "version": "7.2.0", - "packageName": "supports-color", - "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - } - }, - "npm:supports-color": { - "type": "npm", - "name": "npm:supports-color", - "data": { - "version": "8.1.1", - "packageName": "supports-color", - "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - } - }, - "npm:supports-preserve-symlinks-flag": { - "type": "npm", - "name": "npm:supports-preserve-symlinks-flag", - "data": { - "version": "1.0.0", - "packageName": "supports-preserve-symlinks-flag", - "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - } - }, - "npm:tar-stream": { - "type": "npm", - "name": "npm:tar-stream", - "data": { - "version": "2.2.0", - "packageName": "tar-stream", - "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - } - }, - "npm:through2@3.0.2": { - "type": "npm", - "name": "npm:through2@3.0.2", - "data": { - "version": "3.0.2", - "packageName": "through2", - "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" - } - }, - "npm:through2": { - "type": "npm", - "name": "npm:through2", - "data": { - "version": "4.0.2", - "packageName": "through2", - "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - } - }, - "npm:through": { - "type": "npm", - "name": "npm:through", - "data": { - "version": "2.3.8", - "packageName": "through", - "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - } - }, - "npm:tinybench": { - "type": "npm", - "name": "npm:tinybench", - "data": { - "version": "2.6.0", - "packageName": "tinybench", - "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" - } - }, - "npm:tinypool": { - "type": "npm", - "name": "npm:tinypool", - "data": { - "version": "0.8.2", - "packageName": "tinypool", - "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" - } - }, - "npm:tinyspy": { - "type": "npm", - "name": "npm:tinyspy", - "data": { - "version": "2.2.1", - "packageName": "tinyspy", - "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" - } - }, - "npm:tmp": { - "type": "npm", - "name": "npm:tmp", - "data": { - "version": "0.2.3", - "packageName": "tmp", - "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" - } - }, - "npm:tr46": { - "type": "npm", - "name": "npm:tr46", - "data": { - "version": "1.0.1", - "packageName": "tr46", - "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - } - }, - "npm:tsconfig-paths": { - "type": "npm", - "name": "npm:tsconfig-paths", - "data": { - "version": "4.2.0", - "packageName": "tsconfig-paths", - "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" - } - }, - "npm:tslib": { - "type": "npm", - "name": "npm:tslib", - "data": { - "version": "2.6.2", - "packageName": "tslib", - "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - }, - "npm:type-detect": { - "type": "npm", - "name": "npm:type-detect", - "data": { - "version": "4.0.8", - "packageName": "type-detect", - "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - } - }, - "npm:type-fest": { - "type": "npm", - "name": "npm:type-fest", - "data": { - "version": "0.20.2", - "packageName": "type-fest", - "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - }, - "npm:type-fest@4.10.3": { - "type": "npm", - "name": "npm:type-fest@4.10.3", - "data": { - "version": "4.10.3", - "packageName": "type-fest", - "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" - } - }, - "npm:typedarray": { - "type": "npm", - "name": "npm:typedarray", - "data": { - "version": "0.0.6", - "packageName": "typedarray", - "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - } - }, - "npm:typescript": { - "type": "npm", - "name": "npm:typescript", - "data": { - "version": "5.3.3", - "packageName": "typescript", - "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" - } - }, - "npm:ufo": { - "type": "npm", - "name": "npm:ufo", - "data": { - "version": "1.4.0", - "packageName": "ufo", - "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - } - }, - "npm:umzug": { - "type": "npm", - "name": "npm:umzug", - "data": { - "version": "3.7.0", - "packageName": "umzug", - "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" - } - }, - "npm:undici-types": { - "type": "npm", - "name": "npm:undici-types", - "data": { - "version": "5.26.5", - "packageName": "undici-types", - "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - } - }, - "npm:universalify": { - "type": "npm", - "name": "npm:universalify", - "data": { - "version": "0.1.2", - "packageName": "universalify", - "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - }, - "npm:universalify@2.0.1": { - "type": "npm", - "name": "npm:universalify@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "universalify", - "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - } - }, - "npm:util-deprecate": { - "type": "npm", - "name": "npm:util-deprecate", - "data": { - "version": "1.0.2", - "packageName": "util-deprecate", - "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - } - }, - "npm:uuid-parse": { - "type": "npm", - "name": "npm:uuid-parse", - "data": { - "version": "1.1.0", - "packageName": "uuid-parse", - "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" - } - }, - "npm:uuid": { - "type": "npm", - "name": "npm:uuid", - "data": { - "version": "8.3.2", - "packageName": "uuid", - "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - }, - "npm:validator": { - "type": "npm", - "name": "npm:validator", - "data": { - "version": "13.11.0", - "packageName": "validator", - "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" - } - }, - "npm:vite-node": { - "type": "npm", - "name": "npm:vite-node", - "data": { - "version": "1.3.1", - "packageName": "vite-node", - "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" - } - }, - "npm:vite": { - "type": "npm", - "name": "npm:vite", - "data": { - "version": "5.1.4", - "packageName": "vite", - "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" - } - }, - "npm:vitest": { - "type": "npm", - "name": "npm:vitest", - "data": { - "version": "1.3.1", - "packageName": "vitest", - "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" - } - }, - "npm:wcwidth": { - "type": "npm", - "name": "npm:wcwidth", - "data": { - "version": "1.0.1", - "packageName": "wcwidth", - "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - } - }, - "npm:webidl-conversions": { - "type": "npm", - "name": "npm:webidl-conversions", - "data": { - "version": "4.0.2", - "packageName": "webidl-conversions", - "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - } - }, - "npm:whatwg-url": { - "type": "npm", - "name": "npm:whatwg-url", - "data": { - "version": "7.1.0", - "packageName": "whatwg-url", - "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - } - }, - "npm:which": { - "type": "npm", - "name": "npm:which", - "data": { - "version": "2.0.2", - "packageName": "which", - "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - } - }, - "npm:why-is-node-running": { - "type": "npm", - "name": "npm:why-is-node-running", - "data": { - "version": "2.2.2", - "packageName": "why-is-node-running", - "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" - } - }, - "npm:wrap-ansi": { - "type": "npm", - "name": "npm:wrap-ansi", - "data": { - "version": "7.0.0", - "packageName": "wrap-ansi", - "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - } - }, - "npm:wrappy": { - "type": "npm", - "name": "npm:wrappy", - "data": { - "version": "1.0.2", - "packageName": "wrappy", - "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - }, - "npm:xtend": { - "type": "npm", - "name": "npm:xtend", - "data": { - "version": "4.0.2", - "packageName": "xtend", - "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - }, - "npm:y18n": { - "type": "npm", - "name": "npm:y18n", - "data": { - "version": "5.0.8", - "packageName": "y18n", - "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - } - }, - "npm:yallist": { - "type": "npm", - "name": "npm:yallist", - "data": { - "version": "4.0.0", - "packageName": "yallist", - "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "npm:yargs-parser": { - "type": "npm", - "name": "npm:yargs-parser", - "data": { - "version": "21.1.1", - "packageName": "yargs-parser", - "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - }, - "npm:yargs": { - "type": "npm", - "name": "npm:yargs", - "data": { - "version": "17.7.2", - "packageName": "yargs", - "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - } - }, - "npm:yocto-queue": { - "type": "npm", - "name": "npm:yocto-queue", - "data": { - "version": "1.0.0", - "packageName": "yocto-queue", - "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" - } - }, - "npm:z-schema": { - "type": "npm", - "name": "npm:z-schema", - "data": { - "version": "5.0.5", - "packageName": "z-schema", - "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" - } - } - }, - "dependencies": { - "shared-packets": [], - "@rusty-motors/thebeast": [ - { - "source": "@rusty-motors/thebeast", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:prettier", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:typescript", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:vitest", - "type": "static" - } - ], - "npm:@jest/schemas": [ - { - "source": "npm:@jest/schemas", - "target": "npm:@sinclair/typebox", - "type": "static" - } - ], - "npm:@nrwl/tao": [ - { - "source": "npm:@nrwl/tao", - "target": "npm:nx", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:tslib", - "type": "static" - } - ], - "npm:@rushstack/node-core-library": [ - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:fs-extra", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:import-lazy", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:jju", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:resolve", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:semver", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:z-schema", - "type": "static" - } - ], - "npm:@rushstack/terminal": [ - { - "source": "npm:@rushstack/terminal", - "target": "npm:@rushstack/node-core-library", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:supports-color", - "type": "static" - } - ], - "npm:@rushstack/ts-command-line": [ - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@rushstack/terminal", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@types/argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:string-argv", - "type": "static" - } - ], - "npm:@slonik/migrator": [ - { - "source": "npm:@slonik/migrator", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:umzug", - "type": "static" - } - ], - "npm:@types/node": [ - { - "source": "npm:@types/node", - "target": "npm:undici-types", - "type": "static" - } - ], - "npm:@vitest/expect": [ - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:chai", - "type": "static" - } - ], - "npm:@vitest/runner": [ - { - "source": "npm:@vitest/runner", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:p-limit", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:pathe", - "type": "static" - } - ], - "npm:@vitest/snapshot": [ - { - "source": "npm:@vitest/snapshot", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:@vitest/spy": [ - { - "source": "npm:@vitest/spy", - "target": "npm:tinyspy", - "type": "static" - } - ], - "npm:@vitest/utils": [ - { - "source": "npm:@vitest/utils", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:estree-walker", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:@yarnpkg/parsers": [ - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:js-yaml@3.14.1", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:tslib", - "type": "static" - } - ], - "npm:@zkochan/js-yaml": [ - { - "source": "npm:@zkochan/js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - } - ], - "npm:ansi-styles": [ - { - "source": "npm:ansi-styles", - "target": "npm:color-convert", - "type": "static" - } - ], - "npm:argparse": [ - { - "source": "npm:argparse", - "target": "npm:sprintf-js", - "type": "static" - } - ], - "npm:axios": [ - { - "source": "npm:axios", - "target": "npm:follow-redirects", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:form-data", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:proxy-from-env", - "type": "static" - } - ], - "npm:bl": [ - { - "source": "npm:bl", - "target": "npm:buffer", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:brace-expansion": [ - { - "source": "npm:brace-expansion", - "target": "npm:balanced-match", - "type": "static" - } - ], - "npm:buffer": [ - { - "source": "npm:buffer", - "target": "npm:base64-js", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:ieee754", - "type": "static" - } - ], - "npm:chai": [ - { - "source": "npm:chai", - "target": "npm:assertion-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:check-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:deep-eql", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:pathval", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:type-detect", - "type": "static" - } - ], - "npm:chalk": [ - { - "source": "npm:chalk", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:supports-color@7.2.0", - "type": "static" - } - ], - "npm:check-error": [ - { - "source": "npm:check-error", - "target": "npm:get-func-name", - "type": "static" - } - ], - "npm:cli-cursor": [ - { - "source": "npm:cli-cursor", - "target": "npm:restore-cursor", - "type": "static" - } - ], - "npm:cliui": [ - { - "source": "npm:cliui", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:wrap-ansi", - "type": "static" - } - ], - "npm:color-convert": [ - { - "source": "npm:color-convert", - "target": "npm:color-name", - "type": "static" - } - ], - "npm:combined-stream": [ - { - "source": "npm:combined-stream", - "target": "npm:delayed-stream", - "type": "static" - } - ], - "npm:concat-stream": [ - { - "source": "npm:concat-stream", - "target": "npm:buffer-from", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:typedarray", - "type": "static" - } - ], - "npm:cross-spawn": [ - { - "source": "npm:cross-spawn", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:shebang-command", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:which", - "type": "static" - } - ], - "npm:debug": [ - { - "source": "npm:debug", - "target": "npm:ms", - "type": "static" - } - ], - "npm:deep-eql": [ - { - "source": "npm:deep-eql", - "target": "npm:type-detect", - "type": "static" - } - ], - "npm:defaults": [ - { - "source": "npm:defaults", - "target": "npm:clone", - "type": "static" - } - ], - "npm:end-of-stream": [ - { - "source": "npm:end-of-stream", - "target": "npm:once", - "type": "static" - } - ], - "npm:enquirer": [ - { - "source": "npm:enquirer", - "target": "npm:ansi-colors", - "type": "static" - } - ], - "npm:esbuild": [ - { - "source": "npm:esbuild", - "target": "npm:@esbuild/aix-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-loong64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-mips64el", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-riscv64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-s390x", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/netbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/openbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/sunos-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-x64", - "type": "static" - } - ], - "npm:estree-walker": [ - { - "source": "npm:estree-walker", - "target": "npm:@types/estree", - "type": "static" - } - ], - "npm:execa": [ - { - "source": "npm:execa", - "target": "npm:cross-spawn", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:get-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:human-signals", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:is-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:merge-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:npm-run-path", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:onetime", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:signal-exit@4.1.0", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:strip-final-newline", - "type": "static" - } - ], - "npm:fast-printf": [ - { - "source": "npm:fast-printf", - "target": "npm:boolean", - "type": "static" - } - ], - "npm:figures": [ - { - "source": "npm:figures", - "target": "npm:escape-string-regexp", - "type": "static" - } - ], - "npm:form-data": [ - { - "source": "npm:form-data", - "target": "npm:asynckit", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:combined-stream", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:mime-types", - "type": "static" - } - ], - "npm:fs-extra@11.2.0": [ - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:jsonfile@6.1.0", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:universalify@2.0.1", - "type": "static" - } - ], - "npm:fs-extra": [ - { - "source": "npm:fs-extra", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:jsonfile", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:universalify", - "type": "static" - } - ], - "npm:get-stack-trace": [ - { - "source": "npm:get-stack-trace", - "target": "npm:bluebird", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:source-map", - "type": "static" - } - ], - "npm:glob": [ - { - "source": "npm:glob", - "target": "npm:fs.realpath", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inflight", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:minimatch@5.1.6", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:once", - "type": "static" - } - ], - "npm:hasown": [ - { - "source": "npm:hasown", - "target": "npm:function-bind", - "type": "static" - } - ], - "npm:hyperid": [ - { - "source": "npm:hyperid", - "target": "npm:uuid", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid-parse", - "type": "static" - } - ], - "npm:inflight": [ - { - "source": "npm:inflight", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:wrappy", - "type": "static" - } - ], - "npm:is-core-module": [ - { - "source": "npm:is-core-module", - "target": "npm:hasown", - "type": "static" - } - ], - "npm:is-wsl": [ - { - "source": "npm:is-wsl", - "target": "npm:is-docker", - "type": "static" - } - ], - "npm:jest-diff": [ - { - "source": "npm:jest-diff", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:jest-get-type", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:js-yaml@3.14.1": [ - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:esprima", - "type": "static" - } - ], - "npm:js-yaml": [ - { - "source": "npm:js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - } - ], - "npm:jsonfile": [ - { - "source": "npm:jsonfile", - "target": "npm:graceful-fs", - "type": "static" - } - ], - "npm:jsonfile@6.1.0": [ - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:graceful-fs", - "type": "static" - } - ], - "npm:local-pkg": [ - { - "source": "npm:local-pkg", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:pkg-types", - "type": "static" - } - ], - "npm:log-symbols": [ - { - "source": "npm:log-symbols", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:is-unicode-supported", - "type": "static" - } - ], - "npm:loupe": [ - { - "source": "npm:loupe", - "target": "npm:get-func-name", - "type": "static" - } - ], - "npm:lru-cache": [ - { - "source": "npm:lru-cache", - "target": "npm:yallist", - "type": "static" - } - ], - "npm:magic-string": [ - { - "source": "npm:magic-string", - "target": "npm:@jridgewell/sourcemap-codec", - "type": "static" - } - ], - "npm:mime-types": [ - { - "source": "npm:mime-types", - "target": "npm:mime-db", - "type": "static" - } - ], - "npm:minimatch@5.1.6": [ - { - "source": "npm:minimatch@5.1.6", - "target": "npm:brace-expansion", - "type": "static" - } - ], - "npm:minimatch": [ - { - "source": "npm:minimatch", - "target": "npm:brace-expansion", - "type": "static" - } - ], - "npm:mlly": [ - { - "source": "npm:mlly", - "target": "npm:acorn", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:ufo", - "type": "static" - } - ], - "npm:npm-run-path@4.0.1": [ - { - "source": "npm:npm-run-path@4.0.1", - "target": "npm:path-key", - "type": "static" - } - ], - "npm:npm-run-path": [ - { - "source": "npm:npm-run-path", - "target": "npm:path-key@4.0.0", - "type": "static" - } - ], - "npm:nx": [ - { - "source": "npm:nx", - "target": "npm:@nrwl/tao", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/lockfile", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/parsers", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@zkochan/js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:axios", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv-expand", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:enquirer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:figures", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:flat", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:fs-extra@11.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ignore", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jest-diff", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jsonc-parser@3.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:lines-and-columns", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:minimatch", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:node-machine-id", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:npm-run-path@4.0.1", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:open", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ora", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:semver@7.6.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:strong-log-transformer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tar-stream", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tmp", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tsconfig-paths", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-arm64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-freebsd-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-x64-msvc", - "type": "static" - } - ], - "npm:once": [ - { - "source": "npm:once", - "target": "npm:wrappy", - "type": "static" - } - ], - "npm:onetime@5.1.2": [ - { - "source": "npm:onetime@5.1.2", - "target": "npm:mimic-fn@2.1.0", - "type": "static" - } - ], - "npm:onetime": [ - { - "source": "npm:onetime", - "target": "npm:mimic-fn", - "type": "static" - } - ], - "npm:open": [ - { - "source": "npm:open", - "target": "npm:define-lazy-prop", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-wsl", - "type": "static" - } - ], - "npm:ora": [ - { - "source": "npm:ora", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:is-interactive", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:log-symbols", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:wcwidth", - "type": "static" - } - ], - "npm:p-limit": [ - { - "source": "npm:p-limit", - "target": "npm:yocto-queue", - "type": "static" - } - ], - "npm:pg-copy-streams-binary": [ - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bufferput", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:int64-buffer", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:multi-fork", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:through2@3.0.2", - "type": "static" - } - ], - "npm:pg-copy-streams": [ - { - "source": "npm:pg-copy-streams", - "target": "npm:obuf", - "type": "static" - } - ], - "npm:pg-cursor": [ - { - "source": "npm:pg-cursor", - "target": "npm:pg", - "type": "static" - } - ], - "npm:pg-pool": [ - { - "source": "npm:pg-pool", - "target": "npm:pg", - "type": "static" - } - ], - "npm:pg-types": [ - { - "source": "npm:pg-types", - "target": "npm:pg-int8", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-array@2.0.0", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-bytea", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-date", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-interval@1.2.0", - "type": "static" - } - ], - "npm:pg": [ - { - "source": "npm:pg", - "target": "npm:buffer-writer", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:packet-reader", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-connection-string", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-pool", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-types", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pgpass", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-cloudflare", - "type": "static" - } - ], - "npm:pgpass": [ - { - "source": "npm:pgpass", - "target": "npm:split2", - "type": "static" - } - ], - "npm:pkg-types": [ - { - "source": "npm:pkg-types", - "target": "npm:jsonc-parser", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:pathe", - "type": "static" - } - ], - "npm:postcss": [ - { - "source": "npm:postcss", - "target": "npm:nanoid", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:source-map-js", - "type": "static" - } - ], - "npm:postgres-interval@1.2.0": [ - { - "source": "npm:postgres-interval@1.2.0", - "target": "npm:xtend", - "type": "static" - } - ], - "npm:pretty-format": [ - { - "source": "npm:pretty-format", - "target": "npm:@jest/schemas", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:ansi-styles@5.2.0", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:react-is", - "type": "static" - } - ], - "npm:readable-stream": [ - { - "source": "npm:readable-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:string_decoder", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:util-deprecate", - "type": "static" - } - ], - "npm:resolve": [ - { - "source": "npm:resolve", - "target": "npm:is-core-module", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:path-parse", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:supports-preserve-symlinks-flag", - "type": "static" - } - ], - "npm:restore-cursor": [ - { - "source": "npm:restore-cursor", - "target": "npm:onetime@5.1.2", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:signal-exit", - "type": "static" - } - ], - "npm:roarr": [ - { - "source": "npm:roarr", - "target": "npm:fast-printf", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:safe-stable-stringify", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:semver-compare", - "type": "static" - } - ], - "npm:rollup": [ - { - "source": "npm:rollup", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm-eabi", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-x64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-riscv64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-ia32-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:fsevents", - "type": "static" - } - ], - "npm:semver": [ - { - "source": "npm:semver", - "target": "npm:lru-cache", - "type": "static" - } - ], - "npm:semver@7.6.0": [ - { - "source": "npm:semver@7.6.0", - "target": "npm:lru-cache", - "type": "static" - } - ], - "npm:serialize-error": [ - { - "source": "npm:serialize-error", - "target": "npm:type-fest", - "type": "static" - } - ], - "npm:shebang-command": [ - { - "source": "npm:shebang-command", - "target": "npm:shebang-regex", - "type": "static" - } - ], - "npm:slonik": [ - { - "source": "npm:slonik", - "target": "npm:concat-stream", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:es6-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:fast-safe-stringify", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:get-stack-trace", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:hyperid", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:is-plain-object", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:iso8601-duration", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:p-defer", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams-binary", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-cursor", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-array", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-interval", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:roarr", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:serialize-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:through2", - "type": "static" - } - ], - "npm:source-map": [ - { - "source": "npm:source-map", - "target": "npm:whatwg-url", - "type": "static" - } - ], - "npm:string-width": [ - { - "source": "npm:string-width", - "target": "npm:emoji-regex", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:is-fullwidth-code-point", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:strip-ansi", - "type": "static" - } - ], - "npm:string_decoder": [ - { - "source": "npm:string_decoder", - "target": "npm:safe-buffer", - "type": "static" - } - ], - "npm:strip-ansi": [ - { - "source": "npm:strip-ansi", - "target": "npm:ansi-regex", - "type": "static" - } - ], - "npm:strip-literal": [ - { - "source": "npm:strip-literal", - "target": "npm:js-tokens", - "type": "static" - } - ], - "npm:strong-log-transformer": [ - { - "source": "npm:strong-log-transformer", - "target": "npm:duplexer", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:through", - "type": "static" - } - ], - "npm:supports-color@7.2.0": [ - { - "source": "npm:supports-color@7.2.0", - "target": "npm:has-flag", - "type": "static" - } - ], - "npm:supports-color": [ - { - "source": "npm:supports-color", - "target": "npm:has-flag", - "type": "static" - } - ], - "npm:tar-stream": [ - { - "source": "npm:tar-stream", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:end-of-stream", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:fs-constants", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:through2@3.0.2": [ - { - "source": "npm:through2@3.0.2", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:through2": [ - { - "source": "npm:through2", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:tr46": [ - { - "source": "npm:tr46", - "target": "npm:punycode", - "type": "static" - } - ], - "npm:tsconfig-paths": [ - { - "source": "npm:tsconfig-paths", - "target": "npm:json5", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:strip-bom", - "type": "static" - } - ], - "npm:umzug": [ - { - "source": "npm:umzug", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:emittery", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:glob", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:pony-cause", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:type-fest@4.10.3", - "type": "static" - } - ], - "npm:vite-node": [ - { - "source": "npm:vite-node", - "target": "npm:cac", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:vite", - "type": "static" - } - ], - "npm:vite": [ - { - "source": "npm:vite", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:esbuild", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:postcss", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:rollup", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:fsevents", - "type": "static" - } - ], - "npm:vitest": [ - { - "source": "npm:vitest", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/expect", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/runner", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/snapshot", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:acorn-walk", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:execa", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:local-pkg", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:std-env", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:strip-literal", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinybench", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinypool", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite-node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:why-is-node-running", - "type": "static" - } - ], - "npm:wcwidth": [ - { - "source": "npm:wcwidth", - "target": "npm:defaults", - "type": "static" - } - ], - "npm:whatwg-url": [ - { - "source": "npm:whatwg-url", - "target": "npm:lodash.sortby", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:tr46", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:webidl-conversions", - "type": "static" - } - ], - "npm:which": [ - { - "source": "npm:which", - "target": "npm:isexe", - "type": "static" - } - ], - "npm:why-is-node-running": [ - { - "source": "npm:why-is-node-running", - "target": "npm:siginfo", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:stackback", - "type": "static" - } - ], - "npm:wrap-ansi": [ - { - "source": "npm:wrap-ansi", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:strip-ansi", - "type": "static" - } - ], - "npm:yargs": [ - { - "source": "npm:yargs", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:escalade", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:get-caller-file", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:require-directory", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:y18n", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:yargs-parser", - "type": "static" - } - ], - "npm:z-schema": [ - { - "source": "npm:z-schema", - "target": "npm:lodash.get", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.isequal", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:validator", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:commander", - "type": "static" - } - ] - }, - "version": "6.0" + "nodes": { + "shared-packets": { + "name": "shared-packets", + "type": "lib", + "data": { + "root": "packages/shared-packets", + "sourceRoot": "packages/shared-packets", + "name": "shared-packets", + "projectType": "library", + "targets": { + "build": { + "executor": "nx:run-script", + "options": { + "script": "build" + }, + "configurations": {} + }, + "test": { + "executor": "nx:run-script", + "options": { + "script": "test" + }, + "configurations": {} + } + }, + "implicitDependencies": [], + "tags": [] + } + }, + "@rusty-motors/thebeast": { + "name": "@rusty-motors/thebeast", + "type": "lib", + "data": { + "root": "thebeast", + "sourceRoot": "thebeast", + "name": "@rusty-motors/thebeast", + "projectType": "library", + "targets": { + "test": { + "executor": "nx:run-script", + "options": { + "script": "test" + }, + "configurations": {} + }, + "prod": { + "executor": "nx:run-script", + "options": { + "script": "prod" + }, + "configurations": {} + }, + "prod:stop": { + "executor": "nx:run-script", + "options": { + "script": "prod:stop" + }, + "configurations": {} + }, + "release": { + "executor": "nx:run-script", + "options": { + "script": "release" + }, + "configurations": {} + }, + "start": { + "executor": "nx:run-script", + "options": { + "script": "start" + }, + "configurations": {} + }, + "start:docker": { + "executor": "nx:run-script", + "options": { + "script": "start:docker" + }, + "configurations": {} + } + }, + "implicitDependencies": [], + "tags": [] + } + } + }, + "externalNodes": { + "npm:@esbuild/aix-ppc64": { + "type": "npm", + "name": "npm:@esbuild/aix-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/aix-ppc64", + "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" + } + }, + "npm:@esbuild/android-arm64": { + "type": "npm", + "name": "npm:@esbuild/android-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm64", + "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" + } + }, + "npm:@esbuild/android-arm": { + "type": "npm", + "name": "npm:@esbuild/android-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-arm", + "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" + } + }, + "npm:@esbuild/android-x64": { + "type": "npm", + "name": "npm:@esbuild/android-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/android-x64", + "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" + } + }, + "npm:@esbuild/darwin-arm64": { + "type": "npm", + "name": "npm:@esbuild/darwin-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-arm64", + "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" + } + }, + "npm:@esbuild/darwin-x64": { + "type": "npm", + "name": "npm:@esbuild/darwin-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/darwin-x64", + "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" + } + }, + "npm:@esbuild/freebsd-arm64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-arm64", + "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" + } + }, + "npm:@esbuild/freebsd-x64": { + "type": "npm", + "name": "npm:@esbuild/freebsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/freebsd-x64", + "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" + } + }, + "npm:@esbuild/linux-arm64": { + "type": "npm", + "name": "npm:@esbuild/linux-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm64", + "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" + } + }, + "npm:@esbuild/linux-arm": { + "type": "npm", + "name": "npm:@esbuild/linux-arm", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-arm", + "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" + } + }, + "npm:@esbuild/linux-ia32": { + "type": "npm", + "name": "npm:@esbuild/linux-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ia32", + "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" + } + }, + "npm:@esbuild/linux-loong64": { + "type": "npm", + "name": "npm:@esbuild/linux-loong64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-loong64", + "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" + } + }, + "npm:@esbuild/linux-mips64el": { + "type": "npm", + "name": "npm:@esbuild/linux-mips64el", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-mips64el", + "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" + } + }, + "npm:@esbuild/linux-ppc64": { + "type": "npm", + "name": "npm:@esbuild/linux-ppc64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-ppc64", + "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" + } + }, + "npm:@esbuild/linux-riscv64": { + "type": "npm", + "name": "npm:@esbuild/linux-riscv64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-riscv64", + "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" + } + }, + "npm:@esbuild/linux-s390x": { + "type": "npm", + "name": "npm:@esbuild/linux-s390x", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-s390x", + "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" + } + }, + "npm:@esbuild/linux-x64": { + "type": "npm", + "name": "npm:@esbuild/linux-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/linux-x64", + "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" + } + }, + "npm:@esbuild/netbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/netbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/netbsd-x64", + "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" + } + }, + "npm:@esbuild/openbsd-x64": { + "type": "npm", + "name": "npm:@esbuild/openbsd-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/openbsd-x64", + "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" + } + }, + "npm:@esbuild/sunos-x64": { + "type": "npm", + "name": "npm:@esbuild/sunos-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/sunos-x64", + "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" + } + }, + "npm:@esbuild/win32-arm64": { + "type": "npm", + "name": "npm:@esbuild/win32-arm64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-arm64", + "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" + } + }, + "npm:@esbuild/win32-ia32": { + "type": "npm", + "name": "npm:@esbuild/win32-ia32", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-ia32", + "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" + } + }, + "npm:@esbuild/win32-x64": { + "type": "npm", + "name": "npm:@esbuild/win32-x64", + "data": { + "version": "0.19.12", + "packageName": "@esbuild/win32-x64", + "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" + } + }, + "npm:@jest/schemas": { + "type": "npm", + "name": "npm:@jest/schemas", + "data": { + "version": "29.6.3", + "packageName": "@jest/schemas", + "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" + } + }, + "npm:@jridgewell/sourcemap-codec": { + "type": "npm", + "name": "npm:@jridgewell/sourcemap-codec", + "data": { + "version": "1.4.15", + "packageName": "@jridgewell/sourcemap-codec", + "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + } + }, + "npm:@nrwl/tao": { + "type": "npm", + "name": "npm:@nrwl/tao", + "data": { + "version": "18.0.6", + "packageName": "@nrwl/tao", + "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" + } + }, + "npm:@nx/nx-darwin-arm64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-arm64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-arm64", + "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" + } + }, + "npm:@nx/nx-darwin-x64": { + "type": "npm", + "name": "npm:@nx/nx-darwin-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-darwin-x64", + "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" + } + }, + "npm:@nx/nx-freebsd-x64": { + "type": "npm", + "name": "npm:@nx/nx-freebsd-x64", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-freebsd-x64", + "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" + } + }, + "npm:@nx/nx-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm-gnueabihf", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm-gnueabihf", + "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" + } + }, + "npm:@nx/nx-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-gnu", + "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" + } + }, + "npm:@nx/nx-linux-arm64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-arm64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-arm64-musl", + "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" + } + }, + "npm:@nx/nx-linux-x64-gnu": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-gnu", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-gnu", + "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" + } + }, + "npm:@nx/nx-linux-x64-musl": { + "type": "npm", + "name": "npm:@nx/nx-linux-x64-musl", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-linux-x64-musl", + "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" + } + }, + "npm:@nx/nx-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-arm64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-arm64-msvc", + "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" + } + }, + "npm:@nx/nx-win32-x64-msvc": { + "type": "npm", + "name": "npm:@nx/nx-win32-x64-msvc", + "data": { + "version": "18.0.6", + "packageName": "@nx/nx-win32-x64-msvc", + "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" + } + }, + "npm:@rollup/rollup-android-arm-eabi": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm-eabi", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm-eabi", + "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" + } + }, + "npm:@rollup/rollup-android-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-android-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-android-arm64", + "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" + } + }, + "npm:@rollup/rollup-darwin-arm64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-arm64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-arm64", + "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" + } + }, + "npm:@rollup/rollup-darwin-x64": { + "type": "npm", + "name": "npm:@rollup/rollup-darwin-x64", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-darwin-x64", + "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" + } + }, + "npm:@rollup/rollup-linux-arm-gnueabihf": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm-gnueabihf", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm-gnueabihf", + "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" + } + }, + "npm:@rollup/rollup-linux-arm64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-gnu", + "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" + } + }, + "npm:@rollup/rollup-linux-arm64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-arm64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-arm64-musl", + "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" + } + }, + "npm:@rollup/rollup-linux-riscv64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-riscv64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-riscv64-gnu", + "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" + } + }, + "npm:@rollup/rollup-linux-x64-gnu": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-gnu", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-gnu", + "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" + } + }, + "npm:@rollup/rollup-linux-x64-musl": { + "type": "npm", + "name": "npm:@rollup/rollup-linux-x64-musl", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-linux-x64-musl", + "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" + } + }, + "npm:@rollup/rollup-win32-arm64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-arm64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-arm64-msvc", + "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" + } + }, + "npm:@rollup/rollup-win32-ia32-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-ia32-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-ia32-msvc", + "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" + } + }, + "npm:@rollup/rollup-win32-x64-msvc": { + "type": "npm", + "name": "npm:@rollup/rollup-win32-x64-msvc", + "data": { + "version": "4.12.0", + "packageName": "@rollup/rollup-win32-x64-msvc", + "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" + } + }, + "npm:@rushstack/node-core-library": { + "type": "npm", + "name": "npm:@rushstack/node-core-library", + "data": { + "version": "4.0.2", + "packageName": "@rushstack/node-core-library", + "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" + } + }, + "npm:@rushstack/terminal": { + "type": "npm", + "name": "npm:@rushstack/terminal", + "data": { + "version": "0.10.0", + "packageName": "@rushstack/terminal", + "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" + } + }, + "npm:@rushstack/ts-command-line": { + "type": "npm", + "name": "npm:@rushstack/ts-command-line", + "data": { + "version": "4.18.0", + "packageName": "@rushstack/ts-command-line", + "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" + } + }, + "npm:@sinclair/typebox": { + "type": "npm", + "name": "npm:@sinclair/typebox", + "data": { + "version": "0.27.8", + "packageName": "@sinclair/typebox", + "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" + } + }, + "npm:@slonik/migrator": { + "type": "npm", + "name": "npm:@slonik/migrator", + "data": { + "version": "0.12.0", + "packageName": "@slonik/migrator", + "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" + } + }, + "npm:@types/argparse": { + "type": "npm", + "name": "npm:@types/argparse", + "data": { + "version": "1.0.38", + "packageName": "@types/argparse", + "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" + } + }, + "npm:@types/estree": { + "type": "npm", + "name": "npm:@types/estree", + "data": { + "version": "1.0.5", + "packageName": "@types/estree", + "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" + } + }, + "npm:@types/node": { + "type": "npm", + "name": "npm:@types/node", + "data": { + "version": "20.11.24", + "packageName": "@types/node", + "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" + } + }, + "npm:@vitest/expect": { + "type": "npm", + "name": "npm:@vitest/expect", + "data": { + "version": "1.3.1", + "packageName": "@vitest/expect", + "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" + } + }, + "npm:@vitest/runner": { + "type": "npm", + "name": "npm:@vitest/runner", + "data": { + "version": "1.3.1", + "packageName": "@vitest/runner", + "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" + } + }, + "npm:@vitest/snapshot": { + "type": "npm", + "name": "npm:@vitest/snapshot", + "data": { + "version": "1.3.1", + "packageName": "@vitest/snapshot", + "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" + } + }, + "npm:@vitest/spy": { + "type": "npm", + "name": "npm:@vitest/spy", + "data": { + "version": "1.3.1", + "packageName": "@vitest/spy", + "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" + } + }, + "npm:@vitest/utils": { + "type": "npm", + "name": "npm:@vitest/utils", + "data": { + "version": "1.3.1", + "packageName": "@vitest/utils", + "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" + } + }, + "npm:@yarnpkg/lockfile": { + "type": "npm", + "name": "npm:@yarnpkg/lockfile", + "data": { + "version": "1.1.0", + "packageName": "@yarnpkg/lockfile", + "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" + } + }, + "npm:@yarnpkg/parsers": { + "type": "npm", + "name": "npm:@yarnpkg/parsers", + "data": { + "version": "3.0.0-rc.46", + "packageName": "@yarnpkg/parsers", + "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" + } + }, + "npm:@zkochan/js-yaml": { + "type": "npm", + "name": "npm:@zkochan/js-yaml", + "data": { + "version": "0.0.6", + "packageName": "@zkochan/js-yaml", + "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" + } + }, + "npm:acorn-walk": { + "type": "npm", + "name": "npm:acorn-walk", + "data": { + "version": "8.3.2", + "packageName": "acorn-walk", + "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" + } + }, + "npm:acorn": { + "type": "npm", + "name": "npm:acorn", + "data": { + "version": "8.11.3", + "packageName": "acorn", + "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" + } + }, + "npm:ansi-colors": { + "type": "npm", + "name": "npm:ansi-colors", + "data": { + "version": "4.1.3", + "packageName": "ansi-colors", + "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" + } + }, + "npm:ansi-regex": { + "type": "npm", + "name": "npm:ansi-regex", + "data": { + "version": "5.0.1", + "packageName": "ansi-regex", + "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + } + }, + "npm:ansi-styles": { + "type": "npm", + "name": "npm:ansi-styles", + "data": { + "version": "4.3.0", + "packageName": "ansi-styles", + "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" + } + }, + "npm:ansi-styles@5.2.0": { + "type": "npm", + "name": "npm:ansi-styles@5.2.0", + "data": { + "version": "5.2.0", + "packageName": "ansi-styles", + "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" + } + }, + "npm:argparse": { + "type": "npm", + "name": "npm:argparse", + "data": { + "version": "1.0.10", + "packageName": "argparse", + "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" + } + }, + "npm:argparse@2.0.1": { + "type": "npm", + "name": "npm:argparse@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "argparse", + "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" + } + }, + "npm:assertion-error": { + "type": "npm", + "name": "npm:assertion-error", + "data": { + "version": "1.1.0", + "packageName": "assertion-error", + "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" + } + }, + "npm:asynckit": { + "type": "npm", + "name": "npm:asynckit", + "data": { + "version": "0.4.0", + "packageName": "asynckit", + "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + } + }, + "npm:axios": { + "type": "npm", + "name": "npm:axios", + "data": { + "version": "1.6.7", + "packageName": "axios", + "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" + } + }, + "npm:balanced-match": { + "type": "npm", + "name": "npm:balanced-match", + "data": { + "version": "1.0.2", + "packageName": "balanced-match", + "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" + } + }, + "npm:base64-js": { + "type": "npm", + "name": "npm:base64-js", + "data": { + "version": "1.5.1", + "packageName": "base64-js", + "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + } + }, + "npm:bl": { + "type": "npm", + "name": "npm:bl", + "data": { + "version": "4.1.0", + "packageName": "bl", + "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" + } + }, + "npm:bluebird": { + "type": "npm", + "name": "npm:bluebird", + "data": { + "version": "3.7.2", + "packageName": "bluebird", + "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + } + }, + "npm:boolean": { + "type": "npm", + "name": "npm:boolean", + "data": { + "version": "3.2.0", + "packageName": "boolean", + "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" + } + }, + "npm:brace-expansion": { + "type": "npm", + "name": "npm:brace-expansion", + "data": { + "version": "2.0.1", + "packageName": "brace-expansion", + "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" + } + }, + "npm:buffer-from": { + "type": "npm", + "name": "npm:buffer-from", + "data": { + "version": "1.1.2", + "packageName": "buffer-from", + "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" + } + }, + "npm:buffer-writer": { + "type": "npm", + "name": "npm:buffer-writer", + "data": { + "version": "2.0.0", + "packageName": "buffer-writer", + "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" + } + }, + "npm:buffer": { + "type": "npm", + "name": "npm:buffer", + "data": { + "version": "5.7.1", + "packageName": "buffer", + "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" + } + }, + "npm:bufferput": { + "type": "npm", + "name": "npm:bufferput", + "data": { + "version": "0.1.3", + "packageName": "bufferput", + "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" + } + }, + "npm:cac": { + "type": "npm", + "name": "npm:cac", + "data": { + "version": "6.7.14", + "packageName": "cac", + "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" + } + }, + "npm:chai": { + "type": "npm", + "name": "npm:chai", + "data": { + "version": "4.4.1", + "packageName": "chai", + "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" + } + }, + "npm:chalk": { + "type": "npm", + "name": "npm:chalk", + "data": { + "version": "4.1.2", + "packageName": "chalk", + "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" + } + }, + "npm:check-error": { + "type": "npm", + "name": "npm:check-error", + "data": { + "version": "1.0.3", + "packageName": "check-error", + "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" + } + }, + "npm:cli-cursor": { + "type": "npm", + "name": "npm:cli-cursor", + "data": { + "version": "3.1.0", + "packageName": "cli-cursor", + "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" + } + }, + "npm:cli-spinners": { + "type": "npm", + "name": "npm:cli-spinners", + "data": { + "version": "2.6.1", + "packageName": "cli-spinners", + "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + } + }, + "npm:cliui": { + "type": "npm", + "name": "npm:cliui", + "data": { + "version": "8.0.1", + "packageName": "cliui", + "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" + } + }, + "npm:clone": { + "type": "npm", + "name": "npm:clone", + "data": { + "version": "1.0.4", + "packageName": "clone", + "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" + } + }, + "npm:color-convert": { + "type": "npm", + "name": "npm:color-convert", + "data": { + "version": "2.0.1", + "packageName": "color-convert", + "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" + } + }, + "npm:color-name": { + "type": "npm", + "name": "npm:color-name", + "data": { + "version": "1.1.4", + "packageName": "color-name", + "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + } + }, + "npm:combined-stream": { + "type": "npm", + "name": "npm:combined-stream", + "data": { + "version": "1.0.8", + "packageName": "combined-stream", + "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" + } + }, + "npm:commander": { + "type": "npm", + "name": "npm:commander", + "data": { + "version": "9.5.0", + "packageName": "commander", + "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" + } + }, + "npm:concat-stream": { + "type": "npm", + "name": "npm:concat-stream", + "data": { + "version": "2.0.0", + "packageName": "concat-stream", + "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" + } + }, + "npm:cross-spawn": { + "type": "npm", + "name": "npm:cross-spawn", + "data": { + "version": "7.0.3", + "packageName": "cross-spawn", + "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" + } + }, + "npm:debug": { + "type": "npm", + "name": "npm:debug", + "data": { + "version": "4.3.4", + "packageName": "debug", + "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" + } + }, + "npm:deep-eql": { + "type": "npm", + "name": "npm:deep-eql", + "data": { + "version": "4.1.3", + "packageName": "deep-eql", + "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" + } + }, + "npm:defaults": { + "type": "npm", + "name": "npm:defaults", + "data": { + "version": "1.0.4", + "packageName": "defaults", + "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" + } + }, + "npm:define-lazy-prop": { + "type": "npm", + "name": "npm:define-lazy-prop", + "data": { + "version": "2.0.0", + "packageName": "define-lazy-prop", + "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" + } + }, + "npm:delayed-stream": { + "type": "npm", + "name": "npm:delayed-stream", + "data": { + "version": "1.0.0", + "packageName": "delayed-stream", + "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + } + }, + "npm:diff-sequences": { + "type": "npm", + "name": "npm:diff-sequences", + "data": { + "version": "29.6.3", + "packageName": "diff-sequences", + "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" + } + }, + "npm:dotenv-expand": { + "type": "npm", + "name": "npm:dotenv-expand", + "data": { + "version": "10.0.0", + "packageName": "dotenv-expand", + "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" + } + }, + "npm:dotenv": { + "type": "npm", + "name": "npm:dotenv", + "data": { + "version": "16.3.2", + "packageName": "dotenv", + "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" + } + }, + "npm:duplexer": { + "type": "npm", + "name": "npm:duplexer", + "data": { + "version": "0.1.2", + "packageName": "duplexer", + "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" + } + }, + "npm:emittery": { + "type": "npm", + "name": "npm:emittery", + "data": { + "version": "0.13.1", + "packageName": "emittery", + "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" + } + }, + "npm:emoji-regex": { + "type": "npm", + "name": "npm:emoji-regex", + "data": { + "version": "8.0.0", + "packageName": "emoji-regex", + "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + }, + "npm:end-of-stream": { + "type": "npm", + "name": "npm:end-of-stream", + "data": { + "version": "1.4.4", + "packageName": "end-of-stream", + "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" + } + }, + "npm:enquirer": { + "type": "npm", + "name": "npm:enquirer", + "data": { + "version": "2.3.6", + "packageName": "enquirer", + "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" + } + }, + "npm:es6-error": { + "type": "npm", + "name": "npm:es6-error", + "data": { + "version": "4.1.1", + "packageName": "es6-error", + "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" + } + }, + "npm:esbuild": { + "type": "npm", + "name": "npm:esbuild", + "data": { + "version": "0.19.12", + "packageName": "esbuild", + "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" + } + }, + "npm:escalade": { + "type": "npm", + "name": "npm:escalade", + "data": { + "version": "3.1.2", + "packageName": "escalade", + "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" + } + }, + "npm:escape-string-regexp": { + "type": "npm", + "name": "npm:escape-string-regexp", + "data": { + "version": "1.0.5", + "packageName": "escape-string-regexp", + "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + } + }, + "npm:esprima": { + "type": "npm", + "name": "npm:esprima", + "data": { + "version": "4.0.1", + "packageName": "esprima", + "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + } + }, + "npm:estree-walker": { + "type": "npm", + "name": "npm:estree-walker", + "data": { + "version": "3.0.3", + "packageName": "estree-walker", + "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" + } + }, + "npm:execa": { + "type": "npm", + "name": "npm:execa", + "data": { + "version": "8.0.1", + "packageName": "execa", + "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" + } + }, + "npm:fast-printf": { + "type": "npm", + "name": "npm:fast-printf", + "data": { + "version": "1.6.9", + "packageName": "fast-printf", + "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" + } + }, + "npm:fast-safe-stringify": { + "type": "npm", + "name": "npm:fast-safe-stringify", + "data": { + "version": "2.1.1", + "packageName": "fast-safe-stringify", + "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" + } + }, + "npm:figures": { + "type": "npm", + "name": "npm:figures", + "data": { + "version": "3.2.0", + "packageName": "figures", + "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" + } + }, + "npm:flat": { + "type": "npm", + "name": "npm:flat", + "data": { + "version": "5.0.2", + "packageName": "flat", + "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" + } + }, + "npm:follow-redirects": { + "type": "npm", + "name": "npm:follow-redirects", + "data": { + "version": "1.15.5", + "packageName": "follow-redirects", + "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" + } + }, + "npm:form-data": { + "type": "npm", + "name": "npm:form-data", + "data": { + "version": "4.0.0", + "packageName": "form-data", + "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" + } + }, + "npm:fs-constants": { + "type": "npm", + "name": "npm:fs-constants", + "data": { + "version": "1.0.0", + "packageName": "fs-constants", + "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" + } + }, + "npm:fs-extra@11.2.0": { + "type": "npm", + "name": "npm:fs-extra@11.2.0", + "data": { + "version": "11.2.0", + "packageName": "fs-extra", + "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" + } + }, + "npm:fs-extra": { + "type": "npm", + "name": "npm:fs-extra", + "data": { + "version": "7.0.1", + "packageName": "fs-extra", + "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" + } + }, + "npm:fs.realpath": { + "type": "npm", + "name": "npm:fs.realpath", + "data": { + "version": "1.0.0", + "packageName": "fs.realpath", + "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" + } + }, + "npm:fsevents": { + "type": "npm", + "name": "npm:fsevents", + "data": { + "version": "2.3.3", + "packageName": "fsevents", + "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" + } + }, + "npm:function-bind": { + "type": "npm", + "name": "npm:function-bind", + "data": { + "version": "1.1.2", + "packageName": "function-bind", + "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" + } + }, + "npm:get-caller-file": { + "type": "npm", + "name": "npm:get-caller-file", + "data": { + "version": "2.0.5", + "packageName": "get-caller-file", + "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" + } + }, + "npm:get-func-name": { + "type": "npm", + "name": "npm:get-func-name", + "data": { + "version": "2.0.2", + "packageName": "get-func-name", + "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" + } + }, + "npm:get-stack-trace": { + "type": "npm", + "name": "npm:get-stack-trace", + "data": { + "version": "2.1.1", + "packageName": "get-stack-trace", + "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" + } + }, + "npm:get-stream": { + "type": "npm", + "name": "npm:get-stream", + "data": { + "version": "8.0.1", + "packageName": "get-stream", + "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" + } + }, + "npm:glob": { + "type": "npm", + "name": "npm:glob", + "data": { + "version": "8.1.0", + "packageName": "glob", + "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" + } + }, + "npm:graceful-fs": { + "type": "npm", + "name": "npm:graceful-fs", + "data": { + "version": "4.2.11", + "packageName": "graceful-fs", + "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" + } + }, + "npm:has-flag": { + "type": "npm", + "name": "npm:has-flag", + "data": { + "version": "4.0.0", + "packageName": "has-flag", + "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" + } + }, + "npm:hasown": { + "type": "npm", + "name": "npm:hasown", + "data": { + "version": "2.0.1", + "packageName": "hasown", + "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" + } + }, + "npm:human-signals": { + "type": "npm", + "name": "npm:human-signals", + "data": { + "version": "5.0.0", + "packageName": "human-signals", + "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" + } + }, + "npm:hyperid": { + "type": "npm", + "name": "npm:hyperid", + "data": { + "version": "2.3.1", + "packageName": "hyperid", + "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" + } + }, + "npm:ieee754": { + "type": "npm", + "name": "npm:ieee754", + "data": { + "version": "1.2.1", + "packageName": "ieee754", + "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + } + }, + "npm:ignore": { + "type": "npm", + "name": "npm:ignore", + "data": { + "version": "5.3.1", + "packageName": "ignore", + "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" + } + }, + "npm:import-lazy": { + "type": "npm", + "name": "npm:import-lazy", + "data": { + "version": "4.0.0", + "packageName": "import-lazy", + "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" + } + }, + "npm:inflight": { + "type": "npm", + "name": "npm:inflight", + "data": { + "version": "1.0.6", + "packageName": "inflight", + "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" + } + }, + "npm:inherits": { + "type": "npm", + "name": "npm:inherits", + "data": { + "version": "2.0.4", + "packageName": "inherits", + "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + } + }, + "npm:int64-buffer": { + "type": "npm", + "name": "npm:int64-buffer", + "data": { + "version": "0.99.1007", + "packageName": "int64-buffer", + "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" + } + }, + "npm:is-core-module": { + "type": "npm", + "name": "npm:is-core-module", + "data": { + "version": "2.13.1", + "packageName": "is-core-module", + "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" + } + }, + "npm:is-docker": { + "type": "npm", + "name": "npm:is-docker", + "data": { + "version": "2.2.1", + "packageName": "is-docker", + "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" + } + }, + "npm:is-fullwidth-code-point": { + "type": "npm", + "name": "npm:is-fullwidth-code-point", + "data": { + "version": "3.0.0", + "packageName": "is-fullwidth-code-point", + "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + } + }, + "npm:is-interactive": { + "type": "npm", + "name": "npm:is-interactive", + "data": { + "version": "1.0.0", + "packageName": "is-interactive", + "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" + } + }, + "npm:is-plain-object": { + "type": "npm", + "name": "npm:is-plain-object", + "data": { + "version": "5.0.0", + "packageName": "is-plain-object", + "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" + } + }, + "npm:is-stream": { + "type": "npm", + "name": "npm:is-stream", + "data": { + "version": "3.0.0", + "packageName": "is-stream", + "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" + } + }, + "npm:is-unicode-supported": { + "type": "npm", + "name": "npm:is-unicode-supported", + "data": { + "version": "0.1.0", + "packageName": "is-unicode-supported", + "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" + } + }, + "npm:is-wsl": { + "type": "npm", + "name": "npm:is-wsl", + "data": { + "version": "2.2.0", + "packageName": "is-wsl", + "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" + } + }, + "npm:isexe": { + "type": "npm", + "name": "npm:isexe", + "data": { + "version": "2.0.0", + "packageName": "isexe", + "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" + } + }, + "npm:iso8601-duration": { + "type": "npm", + "name": "npm:iso8601-duration", + "data": { + "version": "1.3.0", + "packageName": "iso8601-duration", + "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" + } + }, + "npm:jest-diff": { + "type": "npm", + "name": "npm:jest-diff", + "data": { + "version": "29.7.0", + "packageName": "jest-diff", + "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" + } + }, + "npm:jest-get-type": { + "type": "npm", + "name": "npm:jest-get-type", + "data": { + "version": "29.6.3", + "packageName": "jest-get-type", + "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" + } + }, + "npm:jju": { + "type": "npm", + "name": "npm:jju", + "data": { + "version": "1.4.0", + "packageName": "jju", + "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" + } + }, + "npm:js-tokens": { + "type": "npm", + "name": "npm:js-tokens", + "data": { + "version": "8.0.3", + "packageName": "js-tokens", + "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" + } + }, + "npm:js-yaml@3.14.1": { + "type": "npm", + "name": "npm:js-yaml@3.14.1", + "data": { + "version": "3.14.1", + "packageName": "js-yaml", + "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" + } + }, + "npm:js-yaml": { + "type": "npm", + "name": "npm:js-yaml", + "data": { + "version": "4.1.0", + "packageName": "js-yaml", + "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" + } + }, + "npm:json5": { + "type": "npm", + "name": "npm:json5", + "data": { + "version": "2.2.3", + "packageName": "json5", + "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" + } + }, + "npm:jsonc-parser@3.2.0": { + "type": "npm", + "name": "npm:jsonc-parser@3.2.0", + "data": { + "version": "3.2.0", + "packageName": "jsonc-parser", + "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" + } + }, + "npm:jsonc-parser": { + "type": "npm", + "name": "npm:jsonc-parser", + "data": { + "version": "3.2.1", + "packageName": "jsonc-parser", + "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" + } + }, + "npm:jsonfile": { + "type": "npm", + "name": "npm:jsonfile", + "data": { + "version": "4.0.0", + "packageName": "jsonfile", + "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" + } + }, + "npm:jsonfile@6.1.0": { + "type": "npm", + "name": "npm:jsonfile@6.1.0", + "data": { + "version": "6.1.0", + "packageName": "jsonfile", + "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" + } + }, + "npm:lines-and-columns": { + "type": "npm", + "name": "npm:lines-and-columns", + "data": { + "version": "2.0.4", + "packageName": "lines-and-columns", + "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" + } + }, + "npm:local-pkg": { + "type": "npm", + "name": "npm:local-pkg", + "data": { + "version": "0.5.0", + "packageName": "local-pkg", + "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" + } + }, + "npm:lodash.get": { + "type": "npm", + "name": "npm:lodash.get", + "data": { + "version": "4.4.2", + "packageName": "lodash.get", + "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" + } + }, + "npm:lodash.isequal": { + "type": "npm", + "name": "npm:lodash.isequal", + "data": { + "version": "4.5.0", + "packageName": "lodash.isequal", + "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" + } + }, + "npm:lodash.sortby": { + "type": "npm", + "name": "npm:lodash.sortby", + "data": { + "version": "4.7.0", + "packageName": "lodash.sortby", + "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" + } + }, + "npm:log-symbols": { + "type": "npm", + "name": "npm:log-symbols", + "data": { + "version": "4.1.0", + "packageName": "log-symbols", + "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" + } + }, + "npm:loupe": { + "type": "npm", + "name": "npm:loupe", + "data": { + "version": "2.3.7", + "packageName": "loupe", + "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" + } + }, + "npm:lru-cache": { + "type": "npm", + "name": "npm:lru-cache", + "data": { + "version": "6.0.0", + "packageName": "lru-cache", + "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" + } + }, + "npm:magic-string": { + "type": "npm", + "name": "npm:magic-string", + "data": { + "version": "0.30.7", + "packageName": "magic-string", + "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" + } + }, + "npm:merge-stream": { + "type": "npm", + "name": "npm:merge-stream", + "data": { + "version": "2.0.0", + "packageName": "merge-stream", + "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" + } + }, + "npm:mime-db": { + "type": "npm", + "name": "npm:mime-db", + "data": { + "version": "1.52.0", + "packageName": "mime-db", + "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + } + }, + "npm:mime-types": { + "type": "npm", + "name": "npm:mime-types", + "data": { + "version": "2.1.35", + "packageName": "mime-types", + "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" + } + }, + "npm:mimic-fn@2.1.0": { + "type": "npm", + "name": "npm:mimic-fn@2.1.0", + "data": { + "version": "2.1.0", + "packageName": "mimic-fn", + "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + } + }, + "npm:mimic-fn": { + "type": "npm", + "name": "npm:mimic-fn", + "data": { + "version": "4.0.0", + "packageName": "mimic-fn", + "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" + } + }, + "npm:minimatch@5.1.6": { + "type": "npm", + "name": "npm:minimatch@5.1.6", + "data": { + "version": "5.1.6", + "packageName": "minimatch", + "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" + } + }, + "npm:minimatch": { + "type": "npm", + "name": "npm:minimatch", + "data": { + "version": "9.0.3", + "packageName": "minimatch", + "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" + } + }, + "npm:minimist": { + "type": "npm", + "name": "npm:minimist", + "data": { + "version": "1.2.8", + "packageName": "minimist", + "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" + } + }, + "npm:mlly": { + "type": "npm", + "name": "npm:mlly", + "data": { + "version": "1.6.1", + "packageName": "mlly", + "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" + } + }, + "npm:ms": { + "type": "npm", + "name": "npm:ms", + "data": { + "version": "2.1.2", + "packageName": "ms", + "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + }, + "npm:multi-fork": { + "type": "npm", + "name": "npm:multi-fork", + "data": { + "version": "0.0.2", + "packageName": "multi-fork", + "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" + } + }, + "npm:nanoid": { + "type": "npm", + "name": "npm:nanoid", + "data": { + "version": "3.3.7", + "packageName": "nanoid", + "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" + } + }, + "npm:node-machine-id": { + "type": "npm", + "name": "npm:node-machine-id", + "data": { + "version": "1.1.12", + "packageName": "node-machine-id", + "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" + } + }, + "npm:npm-run-path@4.0.1": { + "type": "npm", + "name": "npm:npm-run-path@4.0.1", + "data": { + "version": "4.0.1", + "packageName": "npm-run-path", + "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" + } + }, + "npm:npm-run-path": { + "type": "npm", + "name": "npm:npm-run-path", + "data": { + "version": "5.3.0", + "packageName": "npm-run-path", + "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" + } + }, + "npm:nx": { + "type": "npm", + "name": "npm:nx", + "data": { + "version": "18.0.6", + "packageName": "nx", + "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" + } + }, + "npm:obuf": { + "type": "npm", + "name": "npm:obuf", + "data": { + "version": "1.1.2", + "packageName": "obuf", + "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + } + }, + "npm:once": { + "type": "npm", + "name": "npm:once", + "data": { + "version": "1.4.0", + "packageName": "once", + "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" + } + }, + "npm:onetime@5.1.2": { + "type": "npm", + "name": "npm:onetime@5.1.2", + "data": { + "version": "5.1.2", + "packageName": "onetime", + "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" + } + }, + "npm:onetime": { + "type": "npm", + "name": "npm:onetime", + "data": { + "version": "6.0.0", + "packageName": "onetime", + "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" + } + }, + "npm:open": { + "type": "npm", + "name": "npm:open", + "data": { + "version": "8.4.2", + "packageName": "open", + "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" + } + }, + "npm:ora": { + "type": "npm", + "name": "npm:ora", + "data": { + "version": "5.3.0", + "packageName": "ora", + "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" + } + }, + "npm:p-defer": { + "type": "npm", + "name": "npm:p-defer", + "data": { + "version": "3.0.0", + "packageName": "p-defer", + "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" + } + }, + "npm:p-limit": { + "type": "npm", + "name": "npm:p-limit", + "data": { + "version": "5.0.0", + "packageName": "p-limit", + "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" + } + }, + "npm:packet-reader": { + "type": "npm", + "name": "npm:packet-reader", + "data": { + "version": "1.0.0", + "packageName": "packet-reader", + "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" + } + }, + "npm:path-key": { + "type": "npm", + "name": "npm:path-key", + "data": { + "version": "3.1.1", + "packageName": "path-key", + "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" + } + }, + "npm:path-key@4.0.0": { + "type": "npm", + "name": "npm:path-key@4.0.0", + "data": { + "version": "4.0.0", + "packageName": "path-key", + "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" + } + }, + "npm:path-parse": { + "type": "npm", + "name": "npm:path-parse", + "data": { + "version": "1.0.7", + "packageName": "path-parse", + "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + } + }, + "npm:pathe": { + "type": "npm", + "name": "npm:pathe", + "data": { + "version": "1.1.2", + "packageName": "pathe", + "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" + } + }, + "npm:pathval": { + "type": "npm", + "name": "npm:pathval", + "data": { + "version": "1.1.1", + "packageName": "pathval", + "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" + } + }, + "npm:pg-cloudflare": { + "type": "npm", + "name": "npm:pg-cloudflare", + "data": { + "version": "1.1.1", + "packageName": "pg-cloudflare", + "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" + } + }, + "npm:pg-connection-string": { + "type": "npm", + "name": "npm:pg-connection-string", + "data": { + "version": "2.6.2", + "packageName": "pg-connection-string", + "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" + } + }, + "npm:pg-copy-streams-binary": { + "type": "npm", + "name": "npm:pg-copy-streams-binary", + "data": { + "version": "2.2.0", + "packageName": "pg-copy-streams-binary", + "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" + } + }, + "npm:pg-copy-streams": { + "type": "npm", + "name": "npm:pg-copy-streams", + "data": { + "version": "6.0.6", + "packageName": "pg-copy-streams", + "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" + } + }, + "npm:pg-cursor": { + "type": "npm", + "name": "npm:pg-cursor", + "data": { + "version": "2.10.3", + "packageName": "pg-cursor", + "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" + } + }, + "npm:pg-int8": { + "type": "npm", + "name": "npm:pg-int8", + "data": { + "version": "1.0.1", + "packageName": "pg-int8", + "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" + } + }, + "npm:pg-pool": { + "type": "npm", + "name": "npm:pg-pool", + "data": { + "version": "3.6.1", + "packageName": "pg-pool", + "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" + } + }, + "npm:pg-protocol": { + "type": "npm", + "name": "npm:pg-protocol", + "data": { + "version": "1.6.0", + "packageName": "pg-protocol", + "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" + } + }, + "npm:pg-types": { + "type": "npm", + "name": "npm:pg-types", + "data": { + "version": "2.2.0", + "packageName": "pg-types", + "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" + } + }, + "npm:pg": { + "type": "npm", + "name": "npm:pg", + "data": { + "version": "8.11.3", + "packageName": "pg", + "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" + } + }, + "npm:pgpass": { + "type": "npm", + "name": "npm:pgpass", + "data": { + "version": "1.0.5", + "packageName": "pgpass", + "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" + } + }, + "npm:picocolors": { + "type": "npm", + "name": "npm:picocolors", + "data": { + "version": "1.0.0", + "packageName": "picocolors", + "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + } + }, + "npm:pkg-types": { + "type": "npm", + "name": "npm:pkg-types", + "data": { + "version": "1.0.3", + "packageName": "pkg-types", + "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" + } + }, + "npm:pony-cause": { + "type": "npm", + "name": "npm:pony-cause", + "data": { + "version": "2.1.10", + "packageName": "pony-cause", + "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" + } + }, + "npm:postcss": { + "type": "npm", + "name": "npm:postcss", + "data": { + "version": "8.4.35", + "packageName": "postcss", + "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" + } + }, + "npm:postgres-array@2.0.0": { + "type": "npm", + "name": "npm:postgres-array@2.0.0", + "data": { + "version": "2.0.0", + "packageName": "postgres-array", + "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" + } + }, + "npm:postgres-array": { + "type": "npm", + "name": "npm:postgres-array", + "data": { + "version": "3.0.2", + "packageName": "postgres-array", + "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" + } + }, + "npm:postgres-bytea": { + "type": "npm", + "name": "npm:postgres-bytea", + "data": { + "version": "1.0.0", + "packageName": "postgres-bytea", + "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" + } + }, + "npm:postgres-date": { + "type": "npm", + "name": "npm:postgres-date", + "data": { + "version": "1.0.7", + "packageName": "postgres-date", + "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" + } + }, + "npm:postgres-interval@1.2.0": { + "type": "npm", + "name": "npm:postgres-interval@1.2.0", + "data": { + "version": "1.2.0", + "packageName": "postgres-interval", + "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" + } + }, + "npm:postgres-interval": { + "type": "npm", + "name": "npm:postgres-interval", + "data": { + "version": "4.0.2", + "packageName": "postgres-interval", + "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" + } + }, + "npm:prettier": { + "type": "npm", + "name": "npm:prettier", + "data": { + "version": "3.2.4", + "packageName": "prettier", + "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" + } + }, + "npm:pretty-format": { + "type": "npm", + "name": "npm:pretty-format", + "data": { + "version": "29.7.0", + "packageName": "pretty-format", + "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" + } + }, + "npm:proxy-from-env": { + "type": "npm", + "name": "npm:proxy-from-env", + "data": { + "version": "1.1.0", + "packageName": "proxy-from-env", + "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" + } + }, + "npm:punycode": { + "type": "npm", + "name": "npm:punycode", + "data": { + "version": "2.3.1", + "packageName": "punycode", + "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" + } + }, + "npm:react-is": { + "type": "npm", + "name": "npm:react-is", + "data": { + "version": "18.2.0", + "packageName": "react-is", + "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + } + }, + "npm:readable-stream": { + "type": "npm", + "name": "npm:readable-stream", + "data": { + "version": "3.6.2", + "packageName": "readable-stream", + "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" + } + }, + "npm:require-directory": { + "type": "npm", + "name": "npm:require-directory", + "data": { + "version": "2.1.1", + "packageName": "require-directory", + "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" + } + }, + "npm:resolve": { + "type": "npm", + "name": "npm:resolve", + "data": { + "version": "1.22.8", + "packageName": "resolve", + "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" + } + }, + "npm:restore-cursor": { + "type": "npm", + "name": "npm:restore-cursor", + "data": { + "version": "3.1.0", + "packageName": "restore-cursor", + "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" + } + }, + "npm:roarr": { + "type": "npm", + "name": "npm:roarr", + "data": { + "version": "7.21.0", + "packageName": "roarr", + "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" + } + }, + "npm:rollup": { + "type": "npm", + "name": "npm:rollup", + "data": { + "version": "4.12.0", + "packageName": "rollup", + "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" + } + }, + "npm:safe-buffer": { + "type": "npm", + "name": "npm:safe-buffer", + "data": { + "version": "5.2.1", + "packageName": "safe-buffer", + "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + } + }, + "npm:safe-stable-stringify": { + "type": "npm", + "name": "npm:safe-stable-stringify", + "data": { + "version": "2.4.3", + "packageName": "safe-stable-stringify", + "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" + } + }, + "npm:semver-compare": { + "type": "npm", + "name": "npm:semver-compare", + "data": { + "version": "1.0.0", + "packageName": "semver-compare", + "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" + } + }, + "npm:semver": { + "type": "npm", + "name": "npm:semver", + "data": { + "version": "7.5.4", + "packageName": "semver", + "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" + } + }, + "npm:semver@7.6.0": { + "type": "npm", + "name": "npm:semver@7.6.0", + "data": { + "version": "7.6.0", + "packageName": "semver", + "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" + } + }, + "npm:serialize-error": { + "type": "npm", + "name": "npm:serialize-error", + "data": { + "version": "8.1.0", + "packageName": "serialize-error", + "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" + } + }, + "npm:shebang-command": { + "type": "npm", + "name": "npm:shebang-command", + "data": { + "version": "2.0.0", + "packageName": "shebang-command", + "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" + } + }, + "npm:shebang-regex": { + "type": "npm", + "name": "npm:shebang-regex", + "data": { + "version": "3.0.0", + "packageName": "shebang-regex", + "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" + } + }, + "npm:siginfo": { + "type": "npm", + "name": "npm:siginfo", + "data": { + "version": "2.0.0", + "packageName": "siginfo", + "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" + } + }, + "npm:signal-exit": { + "type": "npm", + "name": "npm:signal-exit", + "data": { + "version": "3.0.7", + "packageName": "signal-exit", + "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + } + }, + "npm:signal-exit@4.1.0": { + "type": "npm", + "name": "npm:signal-exit@4.1.0", + "data": { + "version": "4.1.0", + "packageName": "signal-exit", + "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" + } + }, + "npm:slonik": { + "type": "npm", + "name": "npm:slonik", + "data": { + "version": "29.2.0", + "packageName": "slonik", + "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" + } + }, + "npm:source-map-js": { + "type": "npm", + "name": "npm:source-map-js", + "data": { + "version": "1.0.2", + "packageName": "source-map-js", + "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" + } + }, + "npm:source-map": { + "type": "npm", + "name": "npm:source-map", + "data": { + "version": "0.8.0-beta.0", + "packageName": "source-map", + "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" + } + }, + "npm:split2": { + "type": "npm", + "name": "npm:split2", + "data": { + "version": "4.2.0", + "packageName": "split2", + "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" + } + }, + "npm:sprintf-js": { + "type": "npm", + "name": "npm:sprintf-js", + "data": { + "version": "1.0.3", + "packageName": "sprintf-js", + "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" + } + }, + "npm:stackback": { + "type": "npm", + "name": "npm:stackback", + "data": { + "version": "0.0.2", + "packageName": "stackback", + "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" + } + }, + "npm:std-env": { + "type": "npm", + "name": "npm:std-env", + "data": { + "version": "3.7.0", + "packageName": "std-env", + "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" + } + }, + "npm:string-argv": { + "type": "npm", + "name": "npm:string-argv", + "data": { + "version": "0.3.2", + "packageName": "string-argv", + "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" + } + }, + "npm:string-width": { + "type": "npm", + "name": "npm:string-width", + "data": { + "version": "4.2.3", + "packageName": "string-width", + "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" + } + }, + "npm:string_decoder": { + "type": "npm", + "name": "npm:string_decoder", + "data": { + "version": "1.3.0", + "packageName": "string_decoder", + "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" + } + }, + "npm:strip-ansi": { + "type": "npm", + "name": "npm:strip-ansi", + "data": { + "version": "6.0.1", + "packageName": "strip-ansi", + "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" + } + }, + "npm:strip-bom": { + "type": "npm", + "name": "npm:strip-bom", + "data": { + "version": "3.0.0", + "packageName": "strip-bom", + "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" + } + }, + "npm:strip-final-newline": { + "type": "npm", + "name": "npm:strip-final-newline", + "data": { + "version": "3.0.0", + "packageName": "strip-final-newline", + "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" + } + }, + "npm:strip-literal": { + "type": "npm", + "name": "npm:strip-literal", + "data": { + "version": "2.0.0", + "packageName": "strip-literal", + "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" + } + }, + "npm:strong-log-transformer": { + "type": "npm", + "name": "npm:strong-log-transformer", + "data": { + "version": "2.1.0", + "packageName": "strong-log-transformer", + "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" + } + }, + "npm:supports-color@7.2.0": { + "type": "npm", + "name": "npm:supports-color@7.2.0", + "data": { + "version": "7.2.0", + "packageName": "supports-color", + "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" + } + }, + "npm:supports-color": { + "type": "npm", + "name": "npm:supports-color", + "data": { + "version": "8.1.1", + "packageName": "supports-color", + "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" + } + }, + "npm:supports-preserve-symlinks-flag": { + "type": "npm", + "name": "npm:supports-preserve-symlinks-flag", + "data": { + "version": "1.0.0", + "packageName": "supports-preserve-symlinks-flag", + "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" + } + }, + "npm:tar-stream": { + "type": "npm", + "name": "npm:tar-stream", + "data": { + "version": "2.2.0", + "packageName": "tar-stream", + "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" + } + }, + "npm:through2@3.0.2": { + "type": "npm", + "name": "npm:through2@3.0.2", + "data": { + "version": "3.0.2", + "packageName": "through2", + "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" + } + }, + "npm:through2": { + "type": "npm", + "name": "npm:through2", + "data": { + "version": "4.0.2", + "packageName": "through2", + "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" + } + }, + "npm:through": { + "type": "npm", + "name": "npm:through", + "data": { + "version": "2.3.8", + "packageName": "through", + "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" + } + }, + "npm:tinybench": { + "type": "npm", + "name": "npm:tinybench", + "data": { + "version": "2.6.0", + "packageName": "tinybench", + "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" + } + }, + "npm:tinypool": { + "type": "npm", + "name": "npm:tinypool", + "data": { + "version": "0.8.2", + "packageName": "tinypool", + "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" + } + }, + "npm:tinyspy": { + "type": "npm", + "name": "npm:tinyspy", + "data": { + "version": "2.2.1", + "packageName": "tinyspy", + "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" + } + }, + "npm:tmp": { + "type": "npm", + "name": "npm:tmp", + "data": { + "version": "0.2.3", + "packageName": "tmp", + "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" + } + }, + "npm:tr46": { + "type": "npm", + "name": "npm:tr46", + "data": { + "version": "1.0.1", + "packageName": "tr46", + "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" + } + }, + "npm:tsconfig-paths": { + "type": "npm", + "name": "npm:tsconfig-paths", + "data": { + "version": "4.2.0", + "packageName": "tsconfig-paths", + "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" + } + }, + "npm:tslib": { + "type": "npm", + "name": "npm:tslib", + "data": { + "version": "2.6.2", + "packageName": "tslib", + "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" + } + }, + "npm:type-detect": { + "type": "npm", + "name": "npm:type-detect", + "data": { + "version": "4.0.8", + "packageName": "type-detect", + "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" + } + }, + "npm:type-fest": { + "type": "npm", + "name": "npm:type-fest", + "data": { + "version": "0.20.2", + "packageName": "type-fest", + "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" + } + }, + "npm:type-fest@4.10.3": { + "type": "npm", + "name": "npm:type-fest@4.10.3", + "data": { + "version": "4.10.3", + "packageName": "type-fest", + "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" + } + }, + "npm:typedarray": { + "type": "npm", + "name": "npm:typedarray", + "data": { + "version": "0.0.6", + "packageName": "typedarray", + "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" + } + }, + "npm:typescript": { + "type": "npm", + "name": "npm:typescript", + "data": { + "version": "5.3.3", + "packageName": "typescript", + "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" + } + }, + "npm:ufo": { + "type": "npm", + "name": "npm:ufo", + "data": { + "version": "1.4.0", + "packageName": "ufo", + "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" + } + }, + "npm:umzug": { + "type": "npm", + "name": "npm:umzug", + "data": { + "version": "3.7.0", + "packageName": "umzug", + "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" + } + }, + "npm:undici-types": { + "type": "npm", + "name": "npm:undici-types", + "data": { + "version": "5.26.5", + "packageName": "undici-types", + "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" + } + }, + "npm:universalify": { + "type": "npm", + "name": "npm:universalify", + "data": { + "version": "0.1.2", + "packageName": "universalify", + "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" + } + }, + "npm:universalify@2.0.1": { + "type": "npm", + "name": "npm:universalify@2.0.1", + "data": { + "version": "2.0.1", + "packageName": "universalify", + "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" + } + }, + "npm:util-deprecate": { + "type": "npm", + "name": "npm:util-deprecate", + "data": { + "version": "1.0.2", + "packageName": "util-deprecate", + "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + } + }, + "npm:uuid-parse": { + "type": "npm", + "name": "npm:uuid-parse", + "data": { + "version": "1.1.0", + "packageName": "uuid-parse", + "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" + } + }, + "npm:uuid": { + "type": "npm", + "name": "npm:uuid", + "data": { + "version": "8.3.2", + "packageName": "uuid", + "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + } + }, + "npm:validator": { + "type": "npm", + "name": "npm:validator", + "data": { + "version": "13.11.0", + "packageName": "validator", + "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" + } + }, + "npm:vite-node": { + "type": "npm", + "name": "npm:vite-node", + "data": { + "version": "1.3.1", + "packageName": "vite-node", + "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" + } + }, + "npm:vite": { + "type": "npm", + "name": "npm:vite", + "data": { + "version": "5.1.4", + "packageName": "vite", + "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" + } + }, + "npm:vitest": { + "type": "npm", + "name": "npm:vitest", + "data": { + "version": "1.3.1", + "packageName": "vitest", + "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" + } + }, + "npm:wcwidth": { + "type": "npm", + "name": "npm:wcwidth", + "data": { + "version": "1.0.1", + "packageName": "wcwidth", + "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" + } + }, + "npm:webidl-conversions": { + "type": "npm", + "name": "npm:webidl-conversions", + "data": { + "version": "4.0.2", + "packageName": "webidl-conversions", + "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" + } + }, + "npm:whatwg-url": { + "type": "npm", + "name": "npm:whatwg-url", + "data": { + "version": "7.1.0", + "packageName": "whatwg-url", + "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" + } + }, + "npm:which": { + "type": "npm", + "name": "npm:which", + "data": { + "version": "2.0.2", + "packageName": "which", + "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" + } + }, + "npm:why-is-node-running": { + "type": "npm", + "name": "npm:why-is-node-running", + "data": { + "version": "2.2.2", + "packageName": "why-is-node-running", + "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" + } + }, + "npm:wrap-ansi": { + "type": "npm", + "name": "npm:wrap-ansi", + "data": { + "version": "7.0.0", + "packageName": "wrap-ansi", + "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" + } + }, + "npm:wrappy": { + "type": "npm", + "name": "npm:wrappy", + "data": { + "version": "1.0.2", + "packageName": "wrappy", + "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" + } + }, + "npm:xtend": { + "type": "npm", + "name": "npm:xtend", + "data": { + "version": "4.0.2", + "packageName": "xtend", + "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + } + }, + "npm:y18n": { + "type": "npm", + "name": "npm:y18n", + "data": { + "version": "5.0.8", + "packageName": "y18n", + "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" + } + }, + "npm:yallist": { + "type": "npm", + "name": "npm:yallist", + "data": { + "version": "4.0.0", + "packageName": "yallist", + "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" + } + }, + "npm:yargs-parser": { + "type": "npm", + "name": "npm:yargs-parser", + "data": { + "version": "21.1.1", + "packageName": "yargs-parser", + "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" + } + }, + "npm:yargs": { + "type": "npm", + "name": "npm:yargs", + "data": { + "version": "17.7.2", + "packageName": "yargs", + "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" + } + }, + "npm:yocto-queue": { + "type": "npm", + "name": "npm:yocto-queue", + "data": { + "version": "1.0.0", + "packageName": "yocto-queue", + "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" + } + }, + "npm:z-schema": { + "type": "npm", + "name": "npm:z-schema", + "data": { + "version": "5.0.5", + "packageName": "z-schema", + "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" + } + } + }, + "dependencies": { + "shared-packets": [], + "@rusty-motors/thebeast": [ + { + "source": "@rusty-motors/thebeast", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:prettier", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:typescript", + "type": "static" + }, + { + "source": "@rusty-motors/thebeast", + "target": "npm:vitest", + "type": "static" + } + ], + "npm:@jest/schemas": [ + { + "source": "npm:@jest/schemas", + "target": "npm:@sinclair/typebox", + "type": "static" + } + ], + "npm:@nrwl/tao": [ + { + "source": "npm:@nrwl/tao", + "target": "npm:nx", + "type": "static" + }, + { + "source": "npm:@nrwl/tao", + "target": "npm:tslib", + "type": "static" + } + ], + "npm:@rushstack/node-core-library": [ + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:fs-extra", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:import-lazy", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:jju", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:resolve", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:semver", + "type": "static" + }, + { + "source": "npm:@rushstack/node-core-library", + "target": "npm:z-schema", + "type": "static" + } + ], + "npm:@rushstack/terminal": [ + { + "source": "npm:@rushstack/terminal", + "target": "npm:@rushstack/node-core-library", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:@rushstack/terminal", + "target": "npm:supports-color", + "type": "static" + } + ], + "npm:@rushstack/ts-command-line": [ + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@rushstack/terminal", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:@types/argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:@rushstack/ts-command-line", + "target": "npm:string-argv", + "type": "static" + } + ], + "npm:@slonik/migrator": [ + { + "source": "npm:@slonik/migrator", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:slonik", + "type": "static" + }, + { + "source": "npm:@slonik/migrator", + "target": "npm:umzug", + "type": "static" + } + ], + "npm:@types/node": [ + { + "source": "npm:@types/node", + "target": "npm:undici-types", + "type": "static" + } + ], + "npm:@vitest/expect": [ + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/expect", + "target": "npm:chai", + "type": "static" + } + ], + "npm:@vitest/runner": [ + { + "source": "npm:@vitest/runner", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:p-limit", + "type": "static" + }, + { + "source": "npm:@vitest/runner", + "target": "npm:pathe", + "type": "static" + } + ], + "npm:@vitest/snapshot": [ + { + "source": "npm:@vitest/snapshot", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:@vitest/snapshot", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:@vitest/spy": [ + { + "source": "npm:@vitest/spy", + "target": "npm:tinyspy", + "type": "static" + } + ], + "npm:@vitest/utils": [ + { + "source": "npm:@vitest/utils", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:estree-walker", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:@vitest/utils", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:@yarnpkg/parsers": [ + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:js-yaml@3.14.1", + "type": "static" + }, + { + "source": "npm:@yarnpkg/parsers", + "target": "npm:tslib", + "type": "static" + } + ], + "npm:@zkochan/js-yaml": [ + { + "source": "npm:@zkochan/js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + } + ], + "npm:ansi-styles": [ + { + "source": "npm:ansi-styles", + "target": "npm:color-convert", + "type": "static" + } + ], + "npm:argparse": [ + { + "source": "npm:argparse", + "target": "npm:sprintf-js", + "type": "static" + } + ], + "npm:axios": [ + { + "source": "npm:axios", + "target": "npm:follow-redirects", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:form-data", + "type": "static" + }, + { + "source": "npm:axios", + "target": "npm:proxy-from-env", + "type": "static" + } + ], + "npm:bl": [ + { + "source": "npm:bl", + "target": "npm:buffer", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:bl", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:brace-expansion": [ + { + "source": "npm:brace-expansion", + "target": "npm:balanced-match", + "type": "static" + } + ], + "npm:buffer": [ + { + "source": "npm:buffer", + "target": "npm:base64-js", + "type": "static" + }, + { + "source": "npm:buffer", + "target": "npm:ieee754", + "type": "static" + } + ], + "npm:chai": [ + { + "source": "npm:chai", + "target": "npm:assertion-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:check-error", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:deep-eql", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:get-func-name", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:loupe", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:pathval", + "type": "static" + }, + { + "source": "npm:chai", + "target": "npm:type-detect", + "type": "static" + } + ], + "npm:chalk": [ + { + "source": "npm:chalk", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:chalk", + "target": "npm:supports-color@7.2.0", + "type": "static" + } + ], + "npm:check-error": [ + { + "source": "npm:check-error", + "target": "npm:get-func-name", + "type": "static" + } + ], + "npm:cli-cursor": [ + { + "source": "npm:cli-cursor", + "target": "npm:restore-cursor", + "type": "static" + } + ], + "npm:cliui": [ + { + "source": "npm:cliui", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:cliui", + "target": "npm:wrap-ansi", + "type": "static" + } + ], + "npm:color-convert": [ + { + "source": "npm:color-convert", + "target": "npm:color-name", + "type": "static" + } + ], + "npm:combined-stream": [ + { + "source": "npm:combined-stream", + "target": "npm:delayed-stream", + "type": "static" + } + ], + "npm:concat-stream": [ + { + "source": "npm:concat-stream", + "target": "npm:buffer-from", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:readable-stream", + "type": "static" + }, + { + "source": "npm:concat-stream", + "target": "npm:typedarray", + "type": "static" + } + ], + "npm:cross-spawn": [ + { + "source": "npm:cross-spawn", + "target": "npm:path-key", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:shebang-command", + "type": "static" + }, + { + "source": "npm:cross-spawn", + "target": "npm:which", + "type": "static" + } + ], + "npm:debug": [ + { + "source": "npm:debug", + "target": "npm:ms", + "type": "static" + } + ], + "npm:deep-eql": [ + { + "source": "npm:deep-eql", + "target": "npm:type-detect", + "type": "static" + } + ], + "npm:defaults": [ + { + "source": "npm:defaults", + "target": "npm:clone", + "type": "static" + } + ], + "npm:end-of-stream": [ + { + "source": "npm:end-of-stream", + "target": "npm:once", + "type": "static" + } + ], + "npm:enquirer": [ + { + "source": "npm:enquirer", + "target": "npm:ansi-colors", + "type": "static" + } + ], + "npm:esbuild": [ + { + "source": "npm:esbuild", + "target": "npm:@esbuild/aix-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/android-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/darwin-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/freebsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-loong64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-mips64el", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-ppc64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-riscv64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-s390x", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/linux-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/netbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/openbsd-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/sunos-x64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-arm64", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-ia32", + "type": "static" + }, + { + "source": "npm:esbuild", + "target": "npm:@esbuild/win32-x64", + "type": "static" + } + ], + "npm:estree-walker": [ + { + "source": "npm:estree-walker", + "target": "npm:@types/estree", + "type": "static" + } + ], + "npm:execa": [ + { + "source": "npm:execa", + "target": "npm:cross-spawn", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:get-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:human-signals", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:is-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:merge-stream", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:npm-run-path", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:onetime", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:signal-exit@4.1.0", + "type": "static" + }, + { + "source": "npm:execa", + "target": "npm:strip-final-newline", + "type": "static" + } + ], + "npm:fast-printf": [ + { + "source": "npm:fast-printf", + "target": "npm:boolean", + "type": "static" + } + ], + "npm:figures": [ + { + "source": "npm:figures", + "target": "npm:escape-string-regexp", + "type": "static" + } + ], + "npm:form-data": [ + { + "source": "npm:form-data", + "target": "npm:asynckit", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:combined-stream", + "type": "static" + }, + { + "source": "npm:form-data", + "target": "npm:mime-types", + "type": "static" + } + ], + "npm:fs-extra@11.2.0": [ + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:jsonfile@6.1.0", + "type": "static" + }, + { + "source": "npm:fs-extra@11.2.0", + "target": "npm:universalify@2.0.1", + "type": "static" + } + ], + "npm:fs-extra": [ + { + "source": "npm:fs-extra", + "target": "npm:graceful-fs", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:jsonfile", + "type": "static" + }, + { + "source": "npm:fs-extra", + "target": "npm:universalify", + "type": "static" + } + ], + "npm:get-stack-trace": [ + { + "source": "npm:get-stack-trace", + "target": "npm:bluebird", + "type": "static" + }, + { + "source": "npm:get-stack-trace", + "target": "npm:source-map", + "type": "static" + } + ], + "npm:glob": [ + { + "source": "npm:glob", + "target": "npm:fs.realpath", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inflight", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:minimatch@5.1.6", + "type": "static" + }, + { + "source": "npm:glob", + "target": "npm:once", + "type": "static" + } + ], + "npm:hasown": [ + { + "source": "npm:hasown", + "target": "npm:function-bind", + "type": "static" + } + ], + "npm:hyperid": [ + { + "source": "npm:hyperid", + "target": "npm:uuid", + "type": "static" + }, + { + "source": "npm:hyperid", + "target": "npm:uuid-parse", + "type": "static" + } + ], + "npm:inflight": [ + { + "source": "npm:inflight", + "target": "npm:once", + "type": "static" + }, + { + "source": "npm:inflight", + "target": "npm:wrappy", + "type": "static" + } + ], + "npm:is-core-module": [ + { + "source": "npm:is-core-module", + "target": "npm:hasown", + "type": "static" + } + ], + "npm:is-wsl": [ + { + "source": "npm:is-wsl", + "target": "npm:is-docker", + "type": "static" + } + ], + "npm:jest-diff": [ + { + "source": "npm:jest-diff", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:diff-sequences", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:jest-get-type", + "type": "static" + }, + { + "source": "npm:jest-diff", + "target": "npm:pretty-format", + "type": "static" + } + ], + "npm:js-yaml@3.14.1": [ + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:argparse", + "type": "static" + }, + { + "source": "npm:js-yaml@3.14.1", + "target": "npm:esprima", + "type": "static" + } + ], + "npm:js-yaml": [ + { + "source": "npm:js-yaml", + "target": "npm:argparse@2.0.1", + "type": "static" + } + ], + "npm:jsonfile": [ + { + "source": "npm:jsonfile", + "target": "npm:graceful-fs", + "type": "static" + } + ], + "npm:jsonfile@6.1.0": [ + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:universalify@2.0.1", + "type": "static" + }, + { + "source": "npm:jsonfile@6.1.0", + "target": "npm:graceful-fs", + "type": "static" + } + ], + "npm:local-pkg": [ + { + "source": "npm:local-pkg", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:local-pkg", + "target": "npm:pkg-types", + "type": "static" + } + ], + "npm:log-symbols": [ + { + "source": "npm:log-symbols", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:log-symbols", + "target": "npm:is-unicode-supported", + "type": "static" + } + ], + "npm:loupe": [ + { + "source": "npm:loupe", + "target": "npm:get-func-name", + "type": "static" + } + ], + "npm:lru-cache": [ + { + "source": "npm:lru-cache", + "target": "npm:yallist", + "type": "static" + } + ], + "npm:magic-string": [ + { + "source": "npm:magic-string", + "target": "npm:@jridgewell/sourcemap-codec", + "type": "static" + } + ], + "npm:mime-types": [ + { + "source": "npm:mime-types", + "target": "npm:mime-db", + "type": "static" + } + ], + "npm:minimatch@5.1.6": [ + { + "source": "npm:minimatch@5.1.6", + "target": "npm:brace-expansion", + "type": "static" + } + ], + "npm:minimatch": [ + { + "source": "npm:minimatch", + "target": "npm:brace-expansion", + "type": "static" + } + ], + "npm:mlly": [ + { + "source": "npm:mlly", + "target": "npm:acorn", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:pkg-types", + "type": "static" + }, + { + "source": "npm:mlly", + "target": "npm:ufo", + "type": "static" + } + ], + "npm:npm-run-path@4.0.1": [ + { + "source": "npm:npm-run-path@4.0.1", + "target": "npm:path-key", + "type": "static" + } + ], + "npm:npm-run-path": [ + { + "source": "npm:npm-run-path", + "target": "npm:path-key@4.0.0", + "type": "static" + } + ], + "npm:nx": [ + { + "source": "npm:nx", + "target": "npm:@nrwl/tao", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/lockfile", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@yarnpkg/parsers", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@zkochan/js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:axios", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:dotenv-expand", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:enquirer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:figures", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:flat", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:fs-extra@11.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ignore", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jest-diff", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:js-yaml", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:jsonc-parser@3.2.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:lines-and-columns", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:minimatch", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:node-machine-id", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:npm-run-path@4.0.1", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:open", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:ora", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:semver@7.6.0", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:strong-log-transformer", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tar-stream", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tmp", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tsconfig-paths", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:tslib", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:yargs-parser", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-arm64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-darwin-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-freebsd-x64", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:nx", + "target": "npm:@nx/nx-win32-x64-msvc", + "type": "static" + } + ], + "npm:once": [ + { + "source": "npm:once", + "target": "npm:wrappy", + "type": "static" + } + ], + "npm:onetime@5.1.2": [ + { + "source": "npm:onetime@5.1.2", + "target": "npm:mimic-fn@2.1.0", + "type": "static" + } + ], + "npm:onetime": [ + { + "source": "npm:onetime", + "target": "npm:mimic-fn", + "type": "static" + } + ], + "npm:open": [ + { + "source": "npm:open", + "target": "npm:define-lazy-prop", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-docker", + "type": "static" + }, + { + "source": "npm:open", + "target": "npm:is-wsl", + "type": "static" + } + ], + "npm:ora": [ + { + "source": "npm:ora", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:chalk", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-cursor", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:cli-spinners", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:is-interactive", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:log-symbols", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:strip-ansi", + "type": "static" + }, + { + "source": "npm:ora", + "target": "npm:wcwidth", + "type": "static" + } + ], + "npm:p-limit": [ + { + "source": "npm:p-limit", + "target": "npm:yocto-queue", + "type": "static" + } + ], + "npm:pg-copy-streams-binary": [ + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:bufferput", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:ieee754", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:int64-buffer", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:multi-fork", + "type": "static" + }, + { + "source": "npm:pg-copy-streams-binary", + "target": "npm:through2@3.0.2", + "type": "static" + } + ], + "npm:pg-copy-streams": [ + { + "source": "npm:pg-copy-streams", + "target": "npm:obuf", + "type": "static" + } + ], + "npm:pg-cursor": [ + { + "source": "npm:pg-cursor", + "target": "npm:pg", + "type": "static" + } + ], + "npm:pg-pool": [ + { + "source": "npm:pg-pool", + "target": "npm:pg", + "type": "static" + } + ], + "npm:pg-types": [ + { + "source": "npm:pg-types", + "target": "npm:pg-int8", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-array@2.0.0", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-bytea", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-date", + "type": "static" + }, + { + "source": "npm:pg-types", + "target": "npm:postgres-interval@1.2.0", + "type": "static" + } + ], + "npm:pg": [ + { + "source": "npm:pg", + "target": "npm:buffer-writer", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:packet-reader", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-connection-string", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-pool", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-types", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pgpass", + "type": "static" + }, + { + "source": "npm:pg", + "target": "npm:pg-cloudflare", + "type": "static" + } + ], + "npm:pgpass": [ + { + "source": "npm:pgpass", + "target": "npm:split2", + "type": "static" + } + ], + "npm:pkg-types": [ + { + "source": "npm:pkg-types", + "target": "npm:jsonc-parser", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:mlly", + "type": "static" + }, + { + "source": "npm:pkg-types", + "target": "npm:pathe", + "type": "static" + } + ], + "npm:postcss": [ + { + "source": "npm:postcss", + "target": "npm:nanoid", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:postcss", + "target": "npm:source-map-js", + "type": "static" + } + ], + "npm:postgres-interval@1.2.0": [ + { + "source": "npm:postgres-interval@1.2.0", + "target": "npm:xtend", + "type": "static" + } + ], + "npm:pretty-format": [ + { + "source": "npm:pretty-format", + "target": "npm:@jest/schemas", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:ansi-styles@5.2.0", + "type": "static" + }, + { + "source": "npm:pretty-format", + "target": "npm:react-is", + "type": "static" + } + ], + "npm:readable-stream": [ + { + "source": "npm:readable-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:string_decoder", + "type": "static" + }, + { + "source": "npm:readable-stream", + "target": "npm:util-deprecate", + "type": "static" + } + ], + "npm:resolve": [ + { + "source": "npm:resolve", + "target": "npm:is-core-module", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:path-parse", + "type": "static" + }, + { + "source": "npm:resolve", + "target": "npm:supports-preserve-symlinks-flag", + "type": "static" + } + ], + "npm:restore-cursor": [ + { + "source": "npm:restore-cursor", + "target": "npm:onetime@5.1.2", + "type": "static" + }, + { + "source": "npm:restore-cursor", + "target": "npm:signal-exit", + "type": "static" + } + ], + "npm:roarr": [ + { + "source": "npm:roarr", + "target": "npm:fast-printf", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:safe-stable-stringify", + "type": "static" + }, + { + "source": "npm:roarr", + "target": "npm:semver-compare", + "type": "static" + } + ], + "npm:rollup": [ + { + "source": "npm:rollup", + "target": "npm:@types/estree", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm-eabi", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-android-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-arm64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-darwin-x64", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm-gnueabihf", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-arm64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-riscv64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-gnu", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-linux-x64-musl", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-arm64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-ia32-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:@rollup/rollup-win32-x64-msvc", + "type": "static" + }, + { + "source": "npm:rollup", + "target": "npm:fsevents", + "type": "static" + } + ], + "npm:semver": [ + { + "source": "npm:semver", + "target": "npm:lru-cache", + "type": "static" + } + ], + "npm:semver@7.6.0": [ + { + "source": "npm:semver@7.6.0", + "target": "npm:lru-cache", + "type": "static" + } + ], + "npm:serialize-error": [ + { + "source": "npm:serialize-error", + "target": "npm:type-fest", + "type": "static" + } + ], + "npm:shebang-command": [ + { + "source": "npm:shebang-command", + "target": "npm:shebang-regex", + "type": "static" + } + ], + "npm:slonik": [ + { + "source": "npm:slonik", + "target": "npm:concat-stream", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:es6-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:fast-safe-stringify", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:get-stack-trace", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:hyperid", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:is-plain-object", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:iso8601-duration", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:p-defer", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-copy-streams-binary", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-cursor", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:pg-protocol", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-array", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:postgres-interval", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:roarr", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:serialize-error", + "type": "static" + }, + { + "source": "npm:slonik", + "target": "npm:through2", + "type": "static" + } + ], + "npm:source-map": [ + { + "source": "npm:source-map", + "target": "npm:whatwg-url", + "type": "static" + } + ], + "npm:string-width": [ + { + "source": "npm:string-width", + "target": "npm:emoji-regex", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:is-fullwidth-code-point", + "type": "static" + }, + { + "source": "npm:string-width", + "target": "npm:strip-ansi", + "type": "static" + } + ], + "npm:string_decoder": [ + { + "source": "npm:string_decoder", + "target": "npm:safe-buffer", + "type": "static" + } + ], + "npm:strip-ansi": [ + { + "source": "npm:strip-ansi", + "target": "npm:ansi-regex", + "type": "static" + } + ], + "npm:strip-literal": [ + { + "source": "npm:strip-literal", + "target": "npm:js-tokens", + "type": "static" + } + ], + "npm:strong-log-transformer": [ + { + "source": "npm:strong-log-transformer", + "target": "npm:duplexer", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:strong-log-transformer", + "target": "npm:through", + "type": "static" + } + ], + "npm:supports-color@7.2.0": [ + { + "source": "npm:supports-color@7.2.0", + "target": "npm:has-flag", + "type": "static" + } + ], + "npm:supports-color": [ + { + "source": "npm:supports-color", + "target": "npm:has-flag", + "type": "static" + } + ], + "npm:tar-stream": [ + { + "source": "npm:tar-stream", + "target": "npm:bl", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:end-of-stream", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:fs-constants", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:tar-stream", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:through2@3.0.2": [ + { + "source": "npm:through2@3.0.2", + "target": "npm:inherits", + "type": "static" + }, + { + "source": "npm:through2@3.0.2", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:through2": [ + { + "source": "npm:through2", + "target": "npm:readable-stream", + "type": "static" + } + ], + "npm:tr46": [ + { + "source": "npm:tr46", + "target": "npm:punycode", + "type": "static" + } + ], + "npm:tsconfig-paths": [ + { + "source": "npm:tsconfig-paths", + "target": "npm:json5", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:minimist", + "type": "static" + }, + { + "source": "npm:tsconfig-paths", + "target": "npm:strip-bom", + "type": "static" + } + ], + "npm:umzug": [ + { + "source": "npm:umzug", + "target": "npm:@rushstack/ts-command-line", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:emittery", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:glob", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:pony-cause", + "type": "static" + }, + { + "source": "npm:umzug", + "target": "npm:type-fest@4.10.3", + "type": "static" + } + ], + "npm:vite-node": [ + { + "source": "npm:vite-node", + "target": "npm:cac", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vite-node", + "target": "npm:vite", + "type": "static" + } + ], + "npm:vite": [ + { + "source": "npm:vite", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:esbuild", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:postcss", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:rollup", + "type": "static" + }, + { + "source": "npm:vite", + "target": "npm:fsevents", + "type": "static" + } + ], + "npm:vitest": [ + { + "source": "npm:vitest", + "target": "npm:@types/node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/expect", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/runner", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/snapshot", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/spy", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:@vitest/utils", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:acorn-walk", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:chai", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:debug", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:execa", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:local-pkg", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:magic-string", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:pathe", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:picocolors", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:std-env", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:strip-literal", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinybench", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:tinypool", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:vite-node", + "type": "static" + }, + { + "source": "npm:vitest", + "target": "npm:why-is-node-running", + "type": "static" + } + ], + "npm:wcwidth": [ + { + "source": "npm:wcwidth", + "target": "npm:defaults", + "type": "static" + } + ], + "npm:whatwg-url": [ + { + "source": "npm:whatwg-url", + "target": "npm:lodash.sortby", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:tr46", + "type": "static" + }, + { + "source": "npm:whatwg-url", + "target": "npm:webidl-conversions", + "type": "static" + } + ], + "npm:which": [ + { + "source": "npm:which", + "target": "npm:isexe", + "type": "static" + } + ], + "npm:why-is-node-running": [ + { + "source": "npm:why-is-node-running", + "target": "npm:siginfo", + "type": "static" + }, + { + "source": "npm:why-is-node-running", + "target": "npm:stackback", + "type": "static" + } + ], + "npm:wrap-ansi": [ + { + "source": "npm:wrap-ansi", + "target": "npm:ansi-styles", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:wrap-ansi", + "target": "npm:strip-ansi", + "type": "static" + } + ], + "npm:yargs": [ + { + "source": "npm:yargs", + "target": "npm:cliui", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:escalade", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:get-caller-file", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:require-directory", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:string-width", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:y18n", + "type": "static" + }, + { + "source": "npm:yargs", + "target": "npm:yargs-parser", + "type": "static" + } + ], + "npm:z-schema": [ + { + "source": "npm:z-schema", + "target": "npm:lodash.get", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:lodash.isequal", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:validator", + "type": "static" + }, + { + "source": "npm:z-schema", + "target": "npm:commander", + "type": "static" + } + ] + }, + "version": "6.0" } diff --git a/.nx/cache/run.json b/.nx/cache/run.json index 81f6d09de..0b5e37921 100644 --- a/.nx/cache/run.json +++ b/.nx/cache/run.json @@ -1,21 +1,21 @@ { - "run": { - "command": "nx build shared-packets", - "startTime": "2024-03-01T02:15:27.341Z", - "endTime": "2024-03-01T02:15:28.753Z", - "inner": false - }, - "tasks": [ - { - "taskId": "shared-packets:build", - "target": "build", - "projectName": "shared-packets", - "hash": "6406529228893083755", - "startTime": "2024-03-01T02:15:27.344Z", - "endTime": "2024-03-01T02:15:28.752Z", - "params": "", - "cacheStatus": "cache-miss", - "status": 0 - } - ] -} \ No newline at end of file + "run": { + "command": "nx build shared-packets", + "startTime": "2024-03-01T02:15:27.341Z", + "endTime": "2024-03-01T02:15:28.753Z", + "inner": false + }, + "tasks": [ + { + "taskId": "shared-packets:build", + "target": "build", + "projectName": "shared-packets", + "hash": "6406529228893083755", + "startTime": "2024-03-01T02:15:27.344Z", + "endTime": "2024-03-01T02:15:28.752Z", + "params": "", + "cacheStatus": "cache-miss", + "status": 0 + } + ] +} diff --git a/package.json b/package.json index 80bed93b8..6c0a19740 100644 --- a/package.json +++ b/package.json @@ -1,32 +1,34 @@ { - "name": "rusty-motors", - "version": "1.0.0", - "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", - "main": "index.js", - "type": "module", - "scripts": { - "test": "pnpm test --filter thebeast" - }, - "author": "Molly Crendraven ", - "license": "AGPL-3.0", - "private": true, - "repository": { - "type": "git", - "url": "git@github.com:drazisil/mcos.git" - }, - "workspaces": [ - "thebeast" - ], - "devDependencies": { - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "nx": "^18.0.6", - "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.3.1" - }, - "dependencies": { - "slonik": "29" - }, - "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" + "name": "rusty-motors", + "version": "1.0.0", + "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", + "main": "index.js", + "type": "module", + "scripts": { + "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages thebeast", + "start": "pnpm --filter thebeast start" + }, + "author": "Molly Crendraven ", + "license": "AGPL-3.0", + "private": true, + "repository": { + "type": "git", + "url": "git@github.com:drazisil/mcos.git" + }, + "workspaces": [ + "thebeast" + ], + "devDependencies": { + "@slonik/migrator": "^0.12.0", + "@types/node": "^20.11.16", + "@vitest/coverage-v8": "^1.1.1", + "nx": "^18.0.6", + "prettier": "3.2.4", + "typescript": "^5.3.3", + "vitest": "^1.3.1" + }, + "dependencies": { + "slonik": "29" + }, + "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" } diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts index 2761ea540..4a5a48eee 100644 --- a/packages/shared-packets/index.ts +++ b/packages/shared-packets/index.ts @@ -1 +1 @@ -export * from './src/interfaces.js'; \ No newline at end of file +export * from "./src/interfaces.js"; diff --git a/packages/shared-packets/nx.json b/packages/shared-packets/nx.json index bb1bdac29..975135666 100644 --- a/packages/shared-packets/nx.json +++ b/packages/shared-packets/nx.json @@ -1,22 +1,20 @@ { - "targetDefaults": { - "build": { - "cache": true, - "dependsOn": [ - "^build" - ] + "targetDefaults": { + "build": { + "cache": true, + "dependsOn": ["^build"] + }, + "lint": { + "cache": true + }, + "test": { + "cache": true + }, + "e2e": { + "cache": true + } }, - "lint": { - "cache": true - }, - "test": { - "cache": true - }, - "e2e": { - "cache": true + "installation": { + "version": "18.0.6" } - }, - "installation": { - "version": "18.0.6" - } } diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index d7e195475..59828a158 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -1,14 +1,14 @@ { - "name": "shared-packets", - "private": true, - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "build": "rm -rf dist && tsc", - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC" + "name": "shared-packets", + "private": true, + "version": "1.0.0", + "description": "", + "main": "index.js", + "scripts": { + "build": "rm -rf dist && tsc", + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" } diff --git a/packages/shared-packets/src/BasePacket.ts b/packages/shared-packets/src/BasePacket.ts index 19f4e8404..4379ac35e 100644 --- a/packages/shared-packets/src/BasePacket.ts +++ b/packages/shared-packets/src/BasePacket.ts @@ -2,7 +2,7 @@ import { ISerializable } from "./interfaces.js"; export class Serializable implements ISerializable { protected _data: Buffer = Buffer.alloc(0); - + protected _asHex(bytes: Buffer): string { return bytes.length % 2 === 0 ? bytes.toString("hex") @@ -12,14 +12,11 @@ export class Serializable implements ISerializable { protected _assertEnoughData(data: Buffer, expected: number) { if (data.length < expected) { throw new Error( - `Data is too short. Expected at least ${expected} bytes, got ${ - data.length - } bytes`, + `Data is too short. Expected at least ${expected} bytes, got ${data.length} bytes`, ); } } - serialize(): Buffer { return this._data; } diff --git a/packages/shared-packets/src/ServerMessage.ts b/packages/shared-packets/src/ServerMessage.ts index c7c8a8642..7687e75fa 100644 --- a/packages/shared-packets/src/ServerMessage.ts +++ b/packages/shared-packets/src/ServerMessage.ts @@ -7,7 +7,7 @@ import { ISerializable, IMessage } from "./interfaces.js"; export class ServerMessageHeader extends Serializable implements ISerializable { // All fields are little-endian private length: number = 0; // 2 bytes - private signature: string = ''; // 4 bytes + private signature: string = ""; // 4 bytes private sequence: number = 0; // 4 bytes private flags: number = 0; // 1 @@ -38,7 +38,7 @@ export class ServerMessageHeader extends Serializable implements ISerializable { this.length = data.readUInt16LE(0); this.signature = data.toString("utf8", 2, 6); this.sequence = data.readUInt32LE(6); - this.flags = data.readUInt8(10); + this.flags = data.readUInt8(10); return this; } @@ -49,7 +49,7 @@ export class ServerMessageHeader extends Serializable implements ISerializable { isPayloadEncrypted(): boolean { // Does the flags bitmask contain have 0x08 set? - return (this.flags >= 0x08); + return this.flags >= 0x08; } togglePayloadEncryption(): ServerMessageHeader { @@ -58,11 +58,14 @@ export class ServerMessageHeader extends Serializable implements ISerializable { } } -export class ServerMessagePayload extends Serializable implements ISerializable { +export class ServerMessagePayload + extends Serializable + implements ISerializable +{ private messageId: number = 0; // 2 bytes override getByteSize(): number { - return 2 + this._data.length; + return 2 + this._data.length; } override serialize(): Buffer { @@ -90,13 +93,11 @@ export class ServerMessagePayload extends Serializable implements ISerializable this.messageId = messageId; return this; } - } - export class ServerMessage extends Serializable implements IMessage { header: ServerMessageHeader; - data: ServerMessagePayload + data: ServerMessagePayload; constructor(messageId: number) { super(); diff --git a/packages/shared-packets/tsconfig.json b/packages/shared-packets/tsconfig.json index 6bc9e2084..d44147f69 100644 --- a/packages/shared-packets/tsconfig.json +++ b/packages/shared-packets/tsconfig.json @@ -1,109 +1,109 @@ { - "compilerOptions": { - /* Visit https://aka.ms/tsconfig to read more about this file */ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig to read more about this file */ - /* Projects */ - // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ - // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ - // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ - // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ - // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ - // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ + /* Projects */ + // "incremental": true, /* Save .tsbuildinfo files to allow for incremental compilation of projects. */ + // "composite": true, /* Enable constraints that allow a TypeScript project to be used with project references. */ + // "tsBuildInfoFile": "./.tsbuildinfo", /* Specify the path to .tsbuildinfo incremental compilation file. */ + // "disableSourceOfProjectReferenceRedirect": true, /* Disable preferring source files instead of declaration files when referencing composite projects. */ + // "disableSolutionSearching": true, /* Opt a project out of multi-project reference checking when editing. */ + // "disableReferencedProjectLoad": true, /* Reduce the number of projects loaded automatically by TypeScript. */ - /* Language and Environment */ - "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ - // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ - // "jsx": "preserve", /* Specify what JSX code is generated. */ - // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ - // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ - // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ - // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ - // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ - // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ - // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ - // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ - // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ + /* Language and Environment */ + "target": "es2016" /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */, + // "lib": [], /* Specify a set of bundled library declaration files that describe the target runtime environment. */ + // "jsx": "preserve", /* Specify what JSX code is generated. */ + // "experimentalDecorators": true, /* Enable experimental support for legacy experimental decorators. */ + // "emitDecoratorMetadata": true, /* Emit design-type metadata for decorated declarations in source files. */ + // "jsxFactory": "", /* Specify the JSX factory function used when targeting React JSX emit, e.g. 'React.createElement' or 'h'. */ + // "jsxFragmentFactory": "", /* Specify the JSX Fragment reference used for fragments when targeting React JSX emit e.g. 'React.Fragment' or 'Fragment'. */ + // "jsxImportSource": "", /* Specify module specifier used to import the JSX factory functions when using 'jsx: react-jsx*'. */ + // "reactNamespace": "", /* Specify the object invoked for 'createElement'. This only applies when targeting 'react' JSX emit. */ + // "noLib": true, /* Disable including any library files, including the default lib.d.ts. */ + // "useDefineForClassFields": true, /* Emit ECMAScript-standard-compliant class fields. */ + // "moduleDetection": "auto", /* Control what method is used to detect module-format JS files. */ - /* Modules */ - "module": "commonjs", /* Specify what module code is generated. */ - // "rootDir": "./", /* Specify the root folder within your source files. */ - // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ - // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ - // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ - // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ - // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ - // "types": [], /* Specify type package names to be included without being referenced in a source file. */ - // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ - // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ - // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ - // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ - // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ - // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ - // "resolveJsonModule": true, /* Enable importing .json files. */ - // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ - // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ + /* Modules */ + "module": "commonjs" /* Specify what module code is generated. */, + // "rootDir": "./", /* Specify the root folder within your source files. */ + // "moduleResolution": "node10", /* Specify how TypeScript looks up a file from a given module specifier. */ + // "baseUrl": "./", /* Specify the base directory to resolve non-relative module names. */ + // "paths": {}, /* Specify a set of entries that re-map imports to additional lookup locations. */ + // "rootDirs": [], /* Allow multiple folders to be treated as one when resolving modules. */ + // "typeRoots": [], /* Specify multiple folders that act like './node_modules/@types'. */ + // "types": [], /* Specify type package names to be included without being referenced in a source file. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + // "moduleSuffixes": [], /* List of file name suffixes to search when resolving a module. */ + // "allowImportingTsExtensions": true, /* Allow imports to include TypeScript file extensions. Requires '--moduleResolution bundler' and either '--noEmit' or '--emitDeclarationOnly' to be set. */ + // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ + // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ + // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "resolveJsonModule": true, /* Enable importing .json files. */ + // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ + // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ - /* JavaScript Support */ - // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ - // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ - // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ + /* JavaScript Support */ + // "allowJs": true, /* Allow JavaScript files to be a part of your program. Use the 'checkJS' option to get errors from these files. */ + // "checkJs": true, /* Enable error reporting in type-checked JavaScript files. */ + // "maxNodeModuleJsDepth": 1, /* Specify the maximum folder depth used for checking JavaScript files from 'node_modules'. Only applicable with 'allowJs'. */ - /* Emit */ - // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ - // "declarationMap": true, /* Create sourcemaps for d.ts files. */ - // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ - // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ - // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ - // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ - "outDir": "./dist", /* Specify an output folder for all emitted files. */ - // "removeComments": true, /* Disable emitting comments. */ - // "noEmit": true, /* Disable emitting files from a compilation. */ - // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ - // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ - // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ - // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ - // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ - // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ - // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ - // "newLine": "crlf", /* Set the newline character for emitting files. */ - // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ - // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ - // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ - // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ - // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ - // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ + /* Emit */ + // "declaration": true, /* Generate .d.ts files from TypeScript and JavaScript files in your project. */ + // "declarationMap": true, /* Create sourcemaps for d.ts files. */ + // "emitDeclarationOnly": true, /* Only output d.ts files and not JavaScript files. */ + // "sourceMap": true, /* Create source map files for emitted JavaScript files. */ + // "inlineSourceMap": true, /* Include sourcemap files inside the emitted JavaScript. */ + // "outFile": "./", /* Specify a file that bundles all outputs into one JavaScript file. If 'declaration' is true, also designates a file that bundles all .d.ts output. */ + "outDir": "./dist" /* Specify an output folder for all emitted files. */, + // "removeComments": true, /* Disable emitting comments. */ + // "noEmit": true, /* Disable emitting files from a compilation. */ + // "importHelpers": true, /* Allow importing helper functions from tslib once per project, instead of including them per-file. */ + // "importsNotUsedAsValues": "remove", /* Specify emit/checking behavior for imports that are only used for types. */ + // "downlevelIteration": true, /* Emit more compliant, but verbose and less performant JavaScript for iteration. */ + // "sourceRoot": "", /* Specify the root path for debuggers to find the reference source code. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSources": true, /* Include source code in the sourcemaps inside the emitted JavaScript. */ + // "emitBOM": true, /* Emit a UTF-8 Byte Order Mark (BOM) in the beginning of output files. */ + // "newLine": "crlf", /* Set the newline character for emitting files. */ + // "stripInternal": true, /* Disable emitting declarations that have '@internal' in their JSDoc comments. */ + // "noEmitHelpers": true, /* Disable generating custom helper functions like '__extends' in compiled output. */ + // "noEmitOnError": true, /* Disable emitting files if any type checking errors are reported. */ + // "preserveConstEnums": true, /* Disable erasing 'const enum' declarations in generated code. */ + // "declarationDir": "./", /* Specify the output directory for generated declaration files. */ + // "preserveValueImports": true, /* Preserve unused imported values in the JavaScript output that would otherwise be removed. */ - /* Interop Constraints */ - // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ - // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ - // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ - "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ - // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ - "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ + /* Interop Constraints */ + // "isolatedModules": true, /* Ensure that each file can be safely transpiled without relying on other imports. */ + // "verbatimModuleSyntax": true, /* Do not transform or elide any imports or exports not marked as type-only, ensuring they are written in the output file's format based on the 'module' setting. */ + // "allowSyntheticDefaultImports": true, /* Allow 'import x from y' when a module doesn't have a default export. */ + "esModuleInterop": true /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */, + // "preserveSymlinks": true, /* Disable resolving symlinks to their realpath. This correlates to the same flag in node. */ + "forceConsistentCasingInFileNames": true /* Ensure that casing is correct in imports. */, - /* Type Checking */ - "strict": true, /* Enable all strict type-checking options. */ - // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ - // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ - // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ - // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ - // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ - // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ - // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ - // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ - // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ - // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ - // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ - // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ - // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ - // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ - // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ - // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ - // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ - // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ + /* Type Checking */ + "strict": true /* Enable all strict type-checking options. */, + // "noImplicitAny": true, /* Enable error reporting for expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* When type checking, take into account 'null' and 'undefined'. */ + // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ + // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ + // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ + // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ + // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ + // "noUnusedLocals": true, /* Enable error reporting when local variables aren't read. */ + // "noUnusedParameters": true, /* Raise an error when a function parameter isn't read. */ + // "exactOptionalPropertyTypes": true, /* Interpret optional property types as written, rather than adding 'undefined'. */ + // "noImplicitReturns": true, /* Enable error reporting for codepaths that do not explicitly return in a function. */ + // "noFallthroughCasesInSwitch": true, /* Enable error reporting for fallthrough cases in switch statements. */ + // "noUncheckedIndexedAccess": true, /* Add 'undefined' to a type when accessed using an index. */ + // "noImplicitOverride": true, /* Ensure overriding members in derived classes are marked with an override modifier. */ + // "noPropertyAccessFromIndexSignature": true, /* Enforces using indexed accessors for keys declared using an indexed type. */ + // "allowUnusedLabels": true, /* Disable error reporting for unused labels. */ + // "allowUnreachableCode": true, /* Disable error reporting for unreachable code. */ - /* Completeness */ - // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */ - } + /* Completeness */ + // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ + "skipLibCheck": true /* Skip type checking all .d.ts files. */, + }, } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9b3a2e0cf..1f18f34fe 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5064 +1,7105 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - slonik: - specifier: '29' - version: 29.2.0 - devDependencies: - '@slonik/migrator': - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - '@types/node': - specifier: ^20.11.16 - version: 20.11.24 - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - packages/shared-packets: {} - - thebeast: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - '@sentry/profiling-node': - specifier: ^7.102.0 - version: 7.104.0 - '@types/connect': - specifier: ^3.4.38 - version: 3.4.38 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - moment: - specifier: ^2.30.1 - version: 2.30.1 - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - sqlite3: - specifier: ^5.1.7 - version: 5.1.7 - ts-node: - specifier: 10.9.2 - version: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) - tslib: - specifier: ^2.6.2 - version: 2.6.2 - devDependencies: - '@sentry/cli': - specifier: ^2.23.2 - version: 2.28.6 - '@tsconfig/node-lts': - specifier: ^20.1.1 - version: 20.1.1 - '@tsconfig/node20': - specifier: ^20.1.2 - version: 20.1.2 - '@types/chai': - specifier: 4.3.11 - version: 4.3.11 - '@types/node': - specifier: ^20.10.6 - version: 20.11.24 - '@types/sinon': - specifier: 17.0.3 - version: 17.0.3 - '@types/sinon-chai': - specifier: 3.2.12 - version: 3.2.12 - '@typescript-eslint/eslint-plugin': - specifier: ^6.17.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/parser': - specifier: ^6.17.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@vitest/coverage-v8': - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.56.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.2 - version: 5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1) - jsdoc: - specifier: ^4.0.2 - version: 4.0.2 - prettier: - specifier: 3.1.1 - version: 3.1.1 - prettier-eslint: - specifier: 16.2.0 - version: 16.2.0 - tsx: - specifier: 4.7.0 - version: 4.7.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - typescript-eslint-language-service: - specifier: ^5.0.5 - version: 5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - zod: - specifier: ^3.22.4 - version: 3.22.4 + .: + dependencies: + slonik: + specifier: "29" + version: 29.2.0 + devDependencies: + "@slonik/migrator": + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + "@types/node": + specifier: ^20.11.16 + version: 20.11.24 + "@vitest/coverage-v8": + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + packages/shared-packets: {} + + thebeast: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + "@sentry/profiling-node": + specifier: ^7.102.0 + version: 7.104.0 + "@types/connect": + specifier: ^3.4.38 + version: 3.4.38 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + moment: + specifier: ^2.30.1 + version: 2.30.1 + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + sqlite3: + specifier: ^5.1.7 + version: 5.1.7 + ts-node: + specifier: 10.9.2 + version: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) + tslib: + specifier: ^2.6.2 + version: 2.6.2 + devDependencies: + "@sentry/cli": + specifier: ^2.23.2 + version: 2.28.6 + "@tsconfig/node-lts": + specifier: ^20.1.1 + version: 20.1.1 + "@tsconfig/node20": + specifier: ^20.1.2 + version: 20.1.2 + "@types/chai": + specifier: 4.3.11 + version: 4.3.11 + "@types/node": + specifier: ^20.10.6 + version: 20.11.24 + "@types/sinon": + specifier: 17.0.3 + version: 17.0.3 + "@types/sinon-chai": + specifier: 3.2.12 + version: 3.2.12 + "@typescript-eslint/eslint-plugin": + specifier: ^6.17.0 + version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/parser": + specifier: ^6.17.0 + version: 6.21.0(eslint@8.57.0)(typescript@5.3.3) + "@vitest/coverage-v8": + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.56.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.2 + version: 5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1) + jsdoc: + specifier: ^4.0.2 + version: 4.0.2 + prettier: + specifier: 3.1.1 + version: 3.1.1 + prettier-eslint: + specifier: 16.2.0 + version: 16.2.0 + tsx: + specifier: 4.7.0 + version: 4.7.0 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + typescript-eslint-language-service: + specifier: ^5.0.5 + version: 5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + zod: + specifier: ^3.22.4 + version: 3.22.4 packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.24 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@cspotcode/source-map-support@0.8.1: + resolution: + { + integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/trace-mapping": 0.3.9 + dev: false + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.24 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - dev: false - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@gar/promisify@1.1.3: - resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} - requiresBuild: true - dev: false - optional: true - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.24 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - /@jridgewell/trace-mapping@0.3.24: - resolution: {integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - - /@jsdoc/salty@0.2.7: - resolution: {integrity: sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==} - engines: {node: '>=v12.0.0'} - dependencies: - lodash: 4.17.21 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@npmcli/fs@1.1.1: - resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} - requiresBuild: true - dependencies: - '@gar/promisify': 1.1.3 - semver: 7.6.0 - dev: false - optional: true - - /@npmcli/move-file@1.1.2: - resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} - engines: {node: '>=10'} - deprecated: This functionality has been moved to @npmcli/fs - requiresBuild: true - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: false - optional: true - - /@nrwl/tao@18.0.6: - resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} - hasBin: true - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) - '@types/node': 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): - resolution: {integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/cli-darwin@2.28.6: - resolution: {integrity: sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==} - engines: {node: '>=10'} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-arm64@2.28.6: - resolution: {integrity: sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-arm@2.28.6: - resolution: {integrity: sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-i686@2.28.6: - resolution: {integrity: sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-x64@2.28.6: - resolution: {integrity: sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-win32-i686@2.28.6: - resolution: {integrity: sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-win32-x64@2.28.6: - resolution: {integrity: sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli@2.28.6: - resolution: {integrity: sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==} - engines: {node: '>= 10'} - hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - '@sentry/cli-darwin': 2.28.6 - '@sentry/cli-linux-arm': 2.28.6 - '@sentry/cli-linux-arm64': 2.28.6 - '@sentry/cli-linux-i686': 2.28.6 - '@sentry/cli-linux-x64': 2.28.6 - '@sentry/cli-win32-i686': 2.28.6 - '@sentry/cli-win32-x64': 2.28.6 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@sentry/core@7.104.0: - resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.104.0 - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.104.0: - resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@tootallnate/once@1.1.2: - resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} - engines: {node: '>= 6'} - requiresBuild: true - dev: false - optional: true - - /@tsconfig/node-lts@20.1.1: - resolution: {integrity: sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==} - dev: true - - /@tsconfig/node10@1.0.9: - resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==} - dev: false - - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: false - - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: false - - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: false - - /@tsconfig/node20@20.1.2: - resolution: {integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==} - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/chai@4.3.11: - resolution: {integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==} - dev: true - - /@types/connect@3.4.38: - resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} - dependencies: - '@types/node': 20.11.24 - dev: false - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - - /@types/linkify-it@3.0.5: - resolution: {integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==} - dev: true - - /@types/markdown-it@12.2.3: - resolution: {integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==} - dependencies: - '@types/linkify-it': 3.0.5 - '@types/mdurl': 1.0.5 - dev: true - - /@types/mdurl@1.0.5: - resolution: {integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==} - dev: true - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} - dependencies: - '@types/node': 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - - /@types/sinon-chai@3.2.12: - resolution: {integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==} - dependencies: - '@types/chai': 4.3.11 - '@types/sinon': 17.0.3 - dev: true - - /@types/sinon@17.0.3: - resolution: {integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==} - dependencies: - '@types/sinonjs__fake-timers': 8.1.5 - dev: true - - /@types/sinonjs__fake-timers@8.1.5: - resolution: {integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==} - dev: true - - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: + + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + dev: true optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true - - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.3.3) - eslint: 8.57.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} - peerDependencies: - vitest: 1.3.1 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} - dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} - dependencies: - '@vitest/utils': 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - requiresBuild: true - dev: false - optional: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - /agentkeepalive@4.5.0: - resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} - engines: {node: '>= 8.0.0'} - requiresBuild: true - dependencies: - humanize-ms: 1.2.1 - dev: false - optional: true - - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - optional: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - /ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /aproba@2.0.0: - resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} - requiresBuild: true - dev: false - optional: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /are-we-there-yet@3.0.1: - resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: false - optional: true - - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /bindings@1.5.0: - resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} - dependencies: - file-uri-to-path: 1.0.0 - dev: false - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: true - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} - engines: {node: '>=0.3.0'} - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /cacache@15.3.0: - resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - '@npmcli/fs': 1.1.1 - '@npmcli/move-file': 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: false - optional: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /catharsis@0.9.0: - resolution: {integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==} - engines: {node: '>= 10'} - dependencies: - lodash: 4.17.21 - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} - dev: false - - /chownr@2.0.0: - resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} - engines: {node: '>=10'} - dev: false - - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - requiresBuild: true - dev: false - optional: true - - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} - dev: true - - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - requiresBuild: true - dev: false - optional: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - dev: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - requiresBuild: true - dev: false - optional: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - ms: 2.1.2 - - /decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} - engines: {node: '>=10'} - dependencies: - mimic-response: 3.1.0 - dev: false - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: false - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true - - /delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - requiresBuild: true - dev: false - optional: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: false - - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - - /dlv@1.1.3: - resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dev: true - - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} - engines: {node: '>=12'} - dev: true - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - /encoding@0.1.13: - resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: false - optional: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - - /entities@2.1.0: - resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} - dev: true - - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - requiresBuild: true - dev: false - optional: true - - /err-code@2.0.3: - resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} - requiresBuild: true - dev: false - optional: true - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - dev: true - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1): - resolution: {integrity: sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - eslint-config-prettier: + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.1.1 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} - engines: {node: '>=6'} - dev: false - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.1: - resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /file-uri-to-path@1.0.0: - resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} - dev: false - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true optional: true - dev: true - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs-minipass@2.1.0: - resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - dev: false - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /gauge@4.0.4: - resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: false - optional: true - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@2.1.1: - resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} - engines: {node: '>=8.0'} - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - - /github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} - dev: false - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - requiresBuild: true - dev: false - optional: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-cache-semantics@4.1.1: - resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} - requiresBuild: true - dev: false - optional: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /http-proxy-agent@4.0.1: - resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} - engines: {node: '>= 6'} - requiresBuild: true - dependencies: - '@tootallnate/once': 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /humanize-ms@1.2.1: - resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} - requiresBuild: true - dependencies: - ms: 2.1.3 - dev: false - optional: true - - /hyperid@2.3.1: - resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /iconv-lite@0.6.3: - resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} - engines: {node: '>=0.10.0'} - requiresBuild: true - dependencies: - safer-buffer: 2.1.2 - dev: false - optional: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - /infer-owner@1.0.4: - resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} - requiresBuild: true - dev: false - optional: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: false - - /int64-buffer@0.99.1007: - resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} - engines: {node: '>= 4.5.0'} - - /ip-address@9.0.5: - resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} - engines: {node: '>= 12'} - requiresBuild: true - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 - dev: false - optional: true - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-lambda@1.0.1: - resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} - requiresBuild: true - dev: false - optional: true - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /js2xmlparser@4.0.2: - resolution: {integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==} - dependencies: - xmlcreate: 2.0.4 - dev: true - - /jsbn@1.1.0: - resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - requiresBuild: true - dev: false - optional: true - - /jsdoc@4.0.2: - resolution: {integrity: sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==} - engines: {node: '>=12.0.0'} - hasBin: true - dependencies: - '@babel/parser': 7.24.0 - '@jsdoc/salty': 0.2.7 - '@types/markdown-it': 12.2.3 - bluebird: 3.7.2 - catharsis: 0.9.0 - escape-string-regexp: 2.0.0 - js2xmlparser: 4.0.2 - klaw: 3.0.0 - markdown-it: 12.3.2 - markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) - marked: 4.3.0 - mkdirp: 1.0.4 - requizzle: 0.2.4 - strip-json-comments: 3.1.1 - underscore: 1.13.6 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /klaw@3.0.0: - resolution: {integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==} - dependencies: - graceful-fs: 4.2.11 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /linkify-it@3.0.3: - resolution: {integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==} - dependencies: - uc.micro: 1.0.6 - dev: true - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loglevel-colored-level-prefix@1.0.0: - resolution: {integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==} - dependencies: - chalk: 1.1.3 - loglevel: 1.9.1 - dev: true - - /loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: false - - /make-fetch-happen@9.1.0: - resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - agentkeepalive: 4.5.0 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - - /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): - resolution: {integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==} - peerDependencies: - '@types/markdown-it': '*' - markdown-it: '*' - dependencies: - '@types/markdown-it': 12.2.3 - markdown-it: 12.3.2 - dev: true - - /markdown-it@12.3.2: - resolution: {integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==} - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: true - - /marked@4.3.0: - resolution: {integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==} - engines: {node: '>= 12'} - hasBin: true - dev: true - - /mdurl@1.0.1: - resolution: {integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==} - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true - - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} - engines: {node: '>=10'} - dev: false - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /minipass-collect@1.0.2: - resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} - engines: {node: '>= 8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-fetch@1.4.1: - resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false - optional: true - - /minipass-flush@1.0.5: - resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} - engines: {node: '>= 8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-pipeline@1.2.4: - resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-sized@1.0.3: - resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} - engines: {node: '>=8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass@3.3.6: - resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} - engines: {node: '>=8'} - dependencies: - yallist: 4.0.0 - dev: false - - /minipass@5.0.0: - resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} - engines: {node: '>=8'} - dev: false - - /minizlib@2.1.2: - resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} - engines: {node: '>= 8'} - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - - /mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - dev: false - - /mkdirp@1.0.4: - resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} - engines: {node: '>=10'} - hasBin: true - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - dev: false - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - requiresBuild: true - dev: false - optional: true - - /multi-fork@0.0.2: - resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /napi-build-utils@1.0.2: - resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} - dev: false - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - requiresBuild: true - dev: false - optional: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /node-addon-api@7.1.0: - resolution: {integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==} - engines: {node: ^16 || ^18 || >= 20} - dev: false - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - - /node-gyp@8.4.1: - resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} - engines: {node: '>= 10.12.0'} - hasBin: true - requiresBuild: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - - /node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - dev: true - - /nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - requiresBuild: true - dependencies: - abbrev: 1.1.1 - dev: false - optional: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /npmlog@6.0.2: - resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - requiresBuild: true - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: false - optional: true - - /nx@18.0.6: - resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} - hasBin: true - requiresBuild: true - peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 - peerDependenciesMeta: - '@swc-node/register': + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@swc/core': + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@nrwl/tao': 18.0.6 - '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 - '@zkochan/js-yaml': 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@nx/nx-darwin-arm64': 18.0.6 - '@nx/nx-darwin-x64': 18.0.6 - '@nx/nx-freebsd-x64': 18.0.6 - '@nx/nx-linux-arm-gnueabihf': 18.0.6 - '@nx/nx-linux-arm64-gnu': 18.0.6 - '@nx/nx-linux-arm64-musl': 18.0.6 - '@nx/nx-linux-x64-gnu': 18.0.6 - '@nx/nx-linux-x64-musl': 18.0.6 - '@nx/nx-win32-arm64-msvc': 18.0.6 - '@nx/nx-win32-x64-msvc': 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - requiresBuild: true - dependencies: - aggregate-error: 3.1.0 - dev: false - optional: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-copy-streams-binary@2.2.0: - resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: + + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: false - - /prebuild-install@7.1.2: - resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} - engines: {node: '>=10'} - hasBin: true - dependencies: - detect-libc: 2.0.2 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.56.0 - pump: 3.0.0 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - dev: false - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-eslint@16.2.0: - resolution: {integrity: sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==} - engines: {node: '>=16.10.0'} - dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - common-tags: 1.8.2 - dlv: 1.1.3 - eslint: 8.57.0 - indent-string: 4.0.0 - lodash.merge: 4.6.2 - loglevel-colored-level-prefix: 1.0.0 - prettier: 3.2.4 - pretty-format: 29.7.0 - require-relative: 0.8.7 - typescript: 5.3.3 - vue-eslint-parser: 9.4.2(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.1.1: - resolution: {integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: true - - /promise-inflight@1.0.1: - resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} - requiresBuild: true - peerDependencies: - bluebird: '*' - peerDependenciesMeta: - bluebird: + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - dev: false - optional: true - - /promise-retry@2.0.1: - resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} - engines: {node: '>=10'} - requiresBuild: true - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: false - optional: true - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /require-relative@0.8.7: - resolution: {integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==} - dev: true - - /requizzle@0.2.4: - resolution: {integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==} - dependencies: - lodash: 4.17.21 - dev: true - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /retry@0.12.0: - resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} - engines: {node: '>= 4'} - requiresBuild: true - dev: false - optional: true - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - - /roarr@7.21.0: - resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - requiresBuild: true - dev: false - optional: true - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - requiresBuild: true - dev: false - optional: true - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - dev: false - - /simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - dev: false - - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true - - /slonik@29.2.0: - resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} - engines: {node: '>=10.0'} - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /smart-buffer@4.2.0: - resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} - engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} - requiresBuild: true - dev: false - optional: true - - /socks-proxy-agent@6.2.1: - resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} - engines: {node: '>= 10'} - requiresBuild: true - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.8.1 - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /socks@2.8.1: - resolution: {integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==} - engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} - requiresBuild: true - dependencies: - ip-address: 9.0.5 - smart-buffer: 4.2.0 - dev: false - optional: true - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /sprintf-js@1.1.3: - resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} - requiresBuild: true - dev: false - optional: true - - /sqlite3@5.1.7: - resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} - requiresBuild: true - dependencies: - bindings: 1.5.0 - node-addon-api: 7.1.0 - prebuild-install: 7.1.2 - tar: 6.2.0 - optionalDependencies: - node-gyp: 8.4.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /ssri@8.0.1: - resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} - engines: {node: '>= 8'} - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: true - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: false - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-fs@2.1.1: - resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: false - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /tar@6.2.0: - resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} - engines: {node: '>=10'} - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: false - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: true - - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - - /ts-api-utils@1.2.1(typescript@5.3.3): - resolution: {integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - dependencies: - typescript: 5.3.3 - dev: true - - /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true optional: true - '@swc/wasm': + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true optional: true - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.9 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.11.24 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: false - - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - /tsx@4.7.0: - resolution: {integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: false - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - /typescript-eslint-language-service@5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: {integrity: sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==} - peerDependencies: - '@typescript-eslint/parser': '>= 5.0.0' - eslint: '>= 8.0.0' - typescript: '>= 4.0.0' - dependencies: - '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - typescript: 5.3.3 - dev: true - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - - /uc.micro@1.0.6: - resolution: {integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==} - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /unique-filename@1.1.1: - resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} - requiresBuild: true - dependencies: - unique-slug: 2.0.2 - dev: false - optional: true - - /unique-slug@2.0.2: - resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} - requiresBuild: true - dependencies: - imurmurhash: 0.1.4 - dev: false - optional: true - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: false - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.24 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true optional: true - less: + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - lightningcss: + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - sass: + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - stylus: + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@gar/promisify@1.1.3: + resolution: + { + integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==, + } + requiresBuild: true + dev: false optional: true - sugarss: + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.24 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + + /@jridgewell/trace-mapping@0.3.24: + resolution: + { + integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@jridgewell/trace-mapping@0.3.9: + resolution: + { + integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: false + + /@jsdoc/salty@0.2.7: + resolution: + { + integrity: sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==, + } + engines: { node: ">=v12.0.0" } + dependencies: + lodash: 4.17.21 + dev: true + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@npmcli/fs@1.1.1: + resolution: + { + integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==, + } + requiresBuild: true + dependencies: + "@gar/promisify": 1.1.3 + semver: 7.6.0 + dev: false + optional: true + + /@npmcli/move-file@1.1.2: + resolution: + { + integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==, + } + engines: { node: ">=10" } + deprecated: This functionality has been moved to @npmcli/fs + requiresBuild: true + dependencies: + mkdirp: 1.0.4 + rimraf: 3.0.2 + dev: false optional: true - terser: + + /@nrwl/tao@18.0.6: + resolution: + { + integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, + } + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - "@swc-node/register" + - "@swc/core" + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: + { + integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@18.0.6: + resolution: + { + integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': + + /@nx/nx-freebsd-x64@18.0.6: + resolution: + { + integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@types/node': + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: + { + integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, + } + engines: { node: ">= 10" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/browser': + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: + { + integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/ui': + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: + { + integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - happy-dom: + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: + { + integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - jsdom: + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: + { + integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vue-eslint-parser@9.4.2(eslint@8.57.0): - resolution: {integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==} - engines: {node: ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: '>=6.0.0' - dependencies: - debug: 4.3.4 - eslint: 8.57.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: true - - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - requiresBuild: true - dependencies: - string-width: 4.2.3 - dev: false - optional: true - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xmlcreate@2.0.4: - resolution: {integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==} - dev: true - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: false - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: + { + integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: + { + integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) + "@types/node": 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.24) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: + { + integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/cli-darwin@2.28.6: + resolution: + { + integrity: sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==, + } + engines: { node: ">=10" } + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-arm64@2.28.6: + resolution: + { + integrity: sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==, + } + engines: { node: ">=10" } + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-arm@2.28.6: + resolution: + { + integrity: sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==, + } + engines: { node: ">=10" } + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-i686@2.28.6: + resolution: + { + integrity: sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-linux-x64@2.28.6: + resolution: + { + integrity: sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-win32-i686@2.28.6: + resolution: + { + integrity: sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli-win32-x64@2.28.6: + resolution: + { + integrity: sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@sentry/cli@2.28.6: + resolution: + { + integrity: sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==, + } + engines: { node: ">= 10" } + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + "@sentry/cli-darwin": 2.28.6 + "@sentry/cli-linux-arm": 2.28.6 + "@sentry/cli-linux-arm64": 2.28.6 + "@sentry/cli-linux-i686": 2.28.6 + "@sentry/cli-linux-x64": 2.28.6 + "@sentry/cli-win32-i686": 2.28.6 + "@sentry/cli-win32-x64": 2.28.6 + transitivePeerDependencies: + - encoding + - supports-color + dev: true + + /@sentry/core@7.104.0: + resolution: + { + integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: + { + integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.104.0 + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: + { + integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: + { + integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/utils@7.104.0: + resolution: + { + integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@tootallnate/once@1.1.2: + resolution: + { + integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==, + } + engines: { node: ">= 6" } + requiresBuild: true + dev: false + optional: true + + /@tsconfig/node-lts@20.1.1: + resolution: + { + integrity: sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==, + } + dev: true + + /@tsconfig/node10@1.0.9: + resolution: + { + integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, + } + dev: false + + /@tsconfig/node12@1.0.11: + resolution: + { + integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + } + dev: false + + /@tsconfig/node14@1.0.3: + resolution: + { + integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + } + dev: false + + /@tsconfig/node16@1.0.4: + resolution: + { + integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, + } + dev: false + + /@tsconfig/node20@20.1.2: + resolution: + { + integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==, + } + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/chai@4.3.11: + resolution: + { + integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==, + } + dev: true + + /@types/connect@3.4.38: + resolution: + { + integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, + } + dependencies: + "@types/node": 20.11.24 + dev: false + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/json-schema@7.0.15: + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } + dev: true + + /@types/linkify-it@3.0.5: + resolution: + { + integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==, + } + dev: true + + /@types/markdown-it@12.2.3: + resolution: + { + integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==, + } + dependencies: + "@types/linkify-it": 3.0.5 + "@types/mdurl": 1.0.5 + dev: true + + /@types/mdurl@1.0.5: + resolution: + { + integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==, + } + dev: true + + /@types/node@20.11.24: + resolution: + { + integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@types/semver@7.5.8: + resolution: + { + integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, + } + dev: true + + /@types/sinon-chai@3.2.12: + resolution: + { + integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==, + } + dependencies: + "@types/chai": 4.3.11 + "@types/sinon": 17.0.3 + dev: true + + /@types/sinon@17.0.3: + resolution: + { + integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==, + } + dependencies: + "@types/sinonjs__fake-timers": 8.1.5 + dev: true + + /@types/sinonjs__fake-timers@8.1.5: + resolution: + { + integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==, + } + dev: true + + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@eslint-community/regexpp": 4.10.0 + "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/scope-manager": 6.21.0 + "@typescript-eslint/type-utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/scope-manager": 6.21.0 + "@typescript-eslint/types": 6.21.0 + "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) + "@typescript-eslint/visitor-keys": 6.21.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@6.21.0: + resolution: + { + integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dependencies: + "@typescript-eslint/types": 6.21.0 + "@typescript-eslint/visitor-keys": 6.21.0 + dev: true + + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) + "@typescript-eslint/utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@6.21.0: + resolution: + { + integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dev: true + + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): + resolution: + { + integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + typescript: "*" + peerDependenciesMeta: + typescript: + optional: true + dependencies: + "@typescript-eslint/types": 6.21.0 + "@typescript-eslint/visitor-keys": 6.21.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.0 + ts-api-utils: 1.2.1(typescript@5.3.3) + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@types/json-schema": 7.0.15 + "@types/semver": 7.5.8 + "@typescript-eslint/scope-manager": 6.21.0 + "@typescript-eslint/types": 6.21.0 + "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@6.21.0: + resolution: + { + integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, + } + engines: { node: ^16.0.0 || >=18.0.0 } + dependencies: + "@typescript-eslint/types": 6.21.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: + { + integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, + } + peerDependencies: + vitest: 1.3.1 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: + { + integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, + } + dependencies: + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: + { + integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, + } + dependencies: + "@vitest/utils": 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: + { + integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: + { + integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: + { + integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: + { + integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, + } + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: + { + integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, + } + engines: { node: ">=14.15.0" } + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: + { + integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abbrev@1.1.1: + resolution: + { + integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, + } + requiresBuild: true + dev: false + optional: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + + /agent-base@6.0.2: + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: ">= 6.0.0" } + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /agentkeepalive@4.5.0: + resolution: + { + integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==, + } + engines: { node: ">= 8.0.0" } + requiresBuild: true + dependencies: + humanize-ms: 1.2.1 + dev: false + optional: true + + /aggregate-error@3.1.0: + resolution: + { + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, + } + engines: { node: ">=8" } + requiresBuild: true + dependencies: + clean-stack: 2.2.0 + indent-string: 4.0.0 + dev: false + optional: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } + dev: true + + /ansi-regex@2.1.1: + resolution: + { + integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + + /ansi-styles@2.2.1: + resolution: + { + integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /aproba@2.0.0: + resolution: + { + integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==, + } + requiresBuild: true + dev: false + optional: true + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /are-we-there-yet@3.0.1: + resolution: + { + integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + requiresBuild: true + dependencies: + delegates: 1.0.0 + readable-stream: 3.6.2 + dev: false + optional: true + + /arg@4.1.3: + resolution: + { + integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /array-union@2.1.0: + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, + } + engines: { node: ">=8" } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /asynckit@0.4.0: + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: + { + integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, + } + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + /bindings@1.5.0: + resolution: + { + integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==, + } + dependencies: + file-uri-to-path: 1.0.0 + dev: false + + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: + { + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, + } + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + + /braces@3.0.2: + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, + } + engines: { node: ">=8" } + dependencies: + fill-range: 7.0.1 + dev: true + + /buffer-from@1.1.2: + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: + { + integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, + } + engines: { node: ">=0.3.0" } + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /cacache@15.3.0: + resolution: + { + integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==, + } + engines: { node: ">= 10" } + requiresBuild: true + dependencies: + "@npmcli/fs": 1.1.1 + "@npmcli/move-file": 1.1.2 + chownr: 2.0.0 + fs-minipass: 2.1.0 + glob: 7.2.3 + infer-owner: 1.0.4 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + mkdirp: 1.0.4 + p-map: 4.0.0 + promise-inflight: 1.0.1 + rimraf: 3.0.2 + ssri: 8.0.1 + tar: 6.2.0 + unique-filename: 1.1.1 + transitivePeerDependencies: + - bluebird + dev: false + optional: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /catharsis@0.9.0: + resolution: + { + integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==, + } + engines: { node: ">= 10" } + dependencies: + lodash: 4.17.21 + dev: true + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@1.1.3: + resolution: + { + integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==, + } + engines: { node: ">=0.10.0" } + dependencies: + ansi-styles: 2.2.1 + escape-string-regexp: 1.0.5 + has-ansi: 2.0.0 + strip-ansi: 3.0.1 + supports-color: 2.0.0 + dev: true + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /chownr@1.1.4: + resolution: + { + integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==, + } + dev: false + + /chownr@2.0.0: + resolution: + { + integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, + } + engines: { node: ">=10" } + dev: false + + /clean-stack@2.2.0: + resolution: + { + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, + } + engines: { node: ">=6" } + requiresBuild: true + dev: false + optional: true + + /cli-cursor@3.1.0: + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, + } + engines: { node: ">=8" } + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: + { + integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, + } + engines: { node: ">=6" } + dev: true + + /cliui@8.0.1: + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: ">=0.8" } + dev: true + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /color-support@1.1.3: + resolution: + { + integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==, + } + hasBin: true + requiresBuild: true + dev: false + optional: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /combined-stream@1.0.8: + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true + optional: true + + /common-tags@1.8.2: + resolution: + { + integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, + } + engines: { node: ">=4.0.0" } + dev: true + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + + /concat-stream@2.0.0: + resolution: + { + integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, + } + engines: { "0": node >= 6.0 } + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /console-control-strings@1.1.0: + resolution: + { + integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==, + } + requiresBuild: true + dev: false + optional: true + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /create-require@1.1.1: + resolution: + { + integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, + } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /decompress-response@6.0.0: + resolution: + { + integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, + } + engines: { node: ">=10" } + dependencies: + mimic-response: 3.1.0 + dev: false + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-extend@0.6.0: + resolution: + { + integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, + } + engines: { node: ">=4.0.0" } + dev: false + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /defaults@1.0.4: + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: ">=8" } + dev: true + + /delayed-stream@1.0.0: + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } + dev: true + + /delegates@1.0.0: + resolution: + { + integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==, + } + requiresBuild: true + dev: false + optional: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: false + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /diff@4.0.2: + resolution: + { + integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, + } + engines: { node: ">=0.3.1" } + dev: false + + /dir-glob@3.0.1: + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, + } + engines: { node: ">=8" } + dependencies: + path-type: 4.0.0 + dev: true + + /dlv@1.1.3: + resolution: + { + integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, + } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: + { + integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, + } + engines: { node: ">=12" } + dev: true + + /dotenv@16.3.2: + resolution: + { + integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, + } + engines: { node: ">=12" } + dev: true + + /duplexer@0.1.2: + resolution: + { + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, + } + dev: true + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + + /encoding@0.1.13: + resolution: + { + integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, + } + requiresBuild: true + dependencies: + iconv-lite: 0.6.3 + dev: false + optional: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: + { + integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, + } + engines: { node: ">=8.6" } + dependencies: + ansi-colors: 4.1.3 + dev: true + + /entities@2.1.0: + resolution: + { + integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==, + } + dev: true + + /env-paths@2.2.1: + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: ">=6" } + requiresBuild: true + dev: false + optional: true + + /err-code@2.0.3: + resolution: + { + integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, + } + requiresBuild: true + dev: false + optional: true + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + dev: true + + /escalade@3.1.2: + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: ">=6" } + dev: true + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + dev: true + + /escape-string-regexp@2.0.0: + resolution: + { + integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, + } + engines: { node: ">=8" } + dev: true + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1): + resolution: + { + integrity: sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.1.1 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /expand-template@2.0.3: + resolution: + { + integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==, + } + engines: { node: ">=6" } + dev: false + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-glob@3.3.2: + resolution: + { + integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, + } + engines: { node: ">=8.6.0" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + "@nodelib/fs.walk": 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.1: + resolution: + { + integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, + } + engines: { node: ">=8" } + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /file-uri-to-path@1.0.0: + resolution: + { + integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==, + } + dev: false + + /fill-range@7.0.1: + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + } + engines: { node: ">=8" } + dependencies: + to-regex-range: 5.0.1 + dev: true + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: + { + integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, + } + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /follow-redirects@1.15.5: + resolution: + { + integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, + } + engines: { node: ">=4.0" } + peerDependencies: + debug: "*" + peerDependenciesMeta: + debug: + optional: true + dev: true + + /form-data@4.0.0: + resolution: + { + integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, + } + engines: { node: ">= 6" } + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-constants@1.0.0: + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, + } + + /fs-extra@11.2.0: + resolution: + { + integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, + } + engines: { node: ">=14.14" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs-minipass@2.1.0: + resolution: + { + integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + dev: false + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /gauge@4.0.4: + resolution: + { + integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + requiresBuild: true + dependencies: + aproba: 2.0.0 + color-support: 1.1.3 + console-control-strings: 1.1.0 + has-unicode: 2.0.1 + signal-exit: 3.0.7 + string-width: 4.2.3 + strip-ansi: 6.0.1 + wide-align: 1.1.5 + dev: false + optional: true + + /get-caller-file@2.0.5: + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + dev: true + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@2.1.1: + resolution: + { + integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, + } + engines: { node: ">=8.0" } + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: true + + /github-from-package@0.0.0: + resolution: + { + integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, + } + dev: false + + /glob-parent@5.1.2: + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: ">= 6" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /globby@11.1.0: + resolution: + { + integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, + } + engines: { node: ">=10" } + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-ansi@2.0.0: + resolution: + { + integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==, + } + engines: { node: ">=0.10.0" } + dependencies: + ansi-regex: 2.1.1 + dev: true + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /has-unicode@2.0.1: + resolution: + { + integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==, + } + requiresBuild: true + dev: false + optional: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-cache-semantics@4.1.1: + resolution: + { + integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, + } + requiresBuild: true + dev: false + optional: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /http-proxy-agent@4.0.1: + resolution: + { + integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==, + } + engines: { node: ">= 6" } + requiresBuild: true + dependencies: + "@tootallnate/once": 1.1.2 + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /https-proxy-agent@5.0.1: + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: ">= 6" } + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /humanize-ms@1.2.1: + resolution: + { + integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, + } + requiresBuild: true + dependencies: + ms: 2.1.3 + dev: false + optional: true + + /hyperid@2.3.1: + resolution: + { + integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, + } + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /iconv-lite@0.6.3: + resolution: + { + integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, + } + engines: { node: ">=0.10.0" } + requiresBuild: true + dependencies: + safer-buffer: 2.1.2 + dev: false + optional: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + + /indent-string@4.0.0: + resolution: + { + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, + } + engines: { node: ">=8" } + + /infer-owner@1.0.4: + resolution: + { + integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==, + } + requiresBuild: true + dev: false + optional: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /ini@1.3.8: + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } + dev: false + + /int64-buffer@0.99.1007: + resolution: + { + integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, + } + engines: { node: ">= 4.5.0" } + + /ip-address@9.0.5: + resolution: + { + integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==, + } + engines: { node: ">= 12" } + requiresBuild: true + dependencies: + jsbn: 1.1.0 + sprintf-js: 1.1.3 + dev: false + optional: true + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: ">=8" } + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: ">=8" } + dev: true + + /is-lambda@1.0.1: + resolution: + { + integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, + } + requiresBuild: true + dev: false + optional: true + + /is-number@7.0.0: + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } + dev: true + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-plain-object@5.0.0: + resolution: + { + integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, + } + engines: { node: ">=0.10.0" } + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /is-unicode-supported@0.1.0: + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: ">=10" } + dev: true + + /is-wsl@2.2.0: + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: ">=8" } + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: ">=10" } + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: + { + integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: + { + integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@3.14.1: + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, + } + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /js2xmlparser@4.0.2: + resolution: + { + integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==, + } + dependencies: + xmlcreate: 2.0.4 + dev: true + + /jsbn@1.1.0: + resolution: + { + integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==, + } + requiresBuild: true + dev: false + optional: true + + /jsdoc@4.0.2: + resolution: + { + integrity: sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==, + } + engines: { node: ">=12.0.0" } + hasBin: true + dependencies: + "@babel/parser": 7.24.0 + "@jsdoc/salty": 0.2.7 + "@types/markdown-it": 12.2.3 + bluebird: 3.7.2 + catharsis: 0.9.0 + escape-string-regexp: 2.0.0 + js2xmlparser: 4.0.2 + klaw: 3.0.0 + markdown-it: 12.3.2 + markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) + marked: 4.3.0 + mkdirp: 1.0.4 + requizzle: 0.2.4 + strip-json-comments: 3.1.1 + underscore: 1.13.6 + dev: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: + { + integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, + } + dev: true + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /klaw@3.0.0: + resolution: + { + integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==, + } + dependencies: + graceful-fs: 4.2.11 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: + { + integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /linkify-it@3.0.3: + resolution: + { + integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==, + } + dependencies: + uc.micro: 1.0.6 + dev: true + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /lodash.sortby@4.7.0: + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } + + /lodash@4.17.21: + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, + } + dev: true + + /log-symbols@4.1.0: + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: ">=10" } + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loglevel-colored-level-prefix@1.0.0: + resolution: + { + integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==, + } + dependencies: + chalk: 1.1.3 + loglevel: 1.9.1 + dev: true + + /loglevel@1.9.1: + resolution: + { + integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==, + } + engines: { node: ">= 0.6.0" } + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /make-error@1.3.6: + resolution: + { + integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, + } + dev: false + + /make-fetch-happen@9.1.0: + resolution: + { + integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==, + } + engines: { node: ">= 10" } + requiresBuild: true + dependencies: + agentkeepalive: 4.5.0 + cacache: 15.3.0 + http-cache-semantics: 4.1.1 + http-proxy-agent: 4.0.1 + https-proxy-agent: 5.0.1 + is-lambda: 1.0.1 + lru-cache: 6.0.0 + minipass: 3.3.6 + minipass-collect: 1.0.2 + minipass-fetch: 1.4.1 + minipass-flush: 1.0.5 + minipass-pipeline: 1.2.4 + negotiator: 0.6.3 + promise-retry: 2.0.1 + socks-proxy-agent: 6.2.1 + ssri: 8.0.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + + /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): + resolution: + { + integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==, + } + peerDependencies: + "@types/markdown-it": "*" + markdown-it: "*" + dependencies: + "@types/markdown-it": 12.2.3 + markdown-it: 12.3.2 + dev: true + + /markdown-it@12.3.2: + resolution: + { + integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + entities: 2.1.0 + linkify-it: 3.0.3 + mdurl: 1.0.1 + uc.micro: 1.0.6 + dev: true + + /marked@4.3.0: + resolution: + { + integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==, + } + engines: { node: ">= 12" } + hasBin: true + dev: true + + /mdurl@1.0.1: + resolution: + { + integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==, + } + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /merge2@1.4.1: + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: ">= 8" } + dev: true + + /micromatch@4.0.5: + resolution: + { + integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, + } + engines: { node: ">=8.6" } + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } + dev: true + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /mimic-response@3.1.0: + resolution: + { + integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, + } + engines: { node: ">=10" } + dev: false + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + /minipass-collect@1.0.2: + resolution: + { + integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==, + } + engines: { node: ">= 8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-fetch@1.4.1: + resolution: + { + integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==, + } + engines: { node: ">=8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + minipass-sized: 1.0.3 + minizlib: 2.1.2 + optionalDependencies: + encoding: 0.1.13 + dev: false + optional: true + + /minipass-flush@1.0.5: + resolution: + { + integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, + } + engines: { node: ">= 8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-pipeline@1.2.4: + resolution: + { + integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, + } + engines: { node: ">=8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass-sized@1.0.3: + resolution: + { + integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, + } + engines: { node: ">=8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /minipass@3.3.6: + resolution: + { + integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, + } + engines: { node: ">=8" } + dependencies: + yallist: 4.0.0 + dev: false + + /minipass@5.0.0: + resolution: + { + integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, + } + engines: { node: ">=8" } + dev: false + + /minizlib@2.1.2: + resolution: + { + integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, + } + engines: { node: ">= 8" } + dependencies: + minipass: 3.3.6 + yallist: 4.0.0 + dev: false + + /mkdirp-classic@0.5.3: + resolution: + { + integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, + } + dev: false + + /mkdirp@1.0.4: + resolution: + { + integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, + } + engines: { node: ">=10" } + hasBin: true + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /moment@2.30.1: + resolution: + { + integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==, + } + dev: false + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /ms@2.1.3: + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } + requiresBuild: true + dev: false + optional: true + + /multi-fork@0.0.2: + resolution: + { + integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /napi-build-utils@1.0.2: + resolution: + { + integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==, + } + dev: false + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /negotiator@0.6.3: + resolution: + { + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, + } + engines: { node: ">= 0.6" } + requiresBuild: true + dev: false + optional: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: false + + /node-addon-api@7.1.0: + resolution: + { + integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==, + } + engines: { node: ^16 || ^18 || >= 20 } + dev: false + + /node-fetch@2.7.0: + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: true + + /node-gyp@8.4.1: + resolution: + { + integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==, + } + engines: { node: ">= 10.12.0" } + hasBin: true + requiresBuild: true + dependencies: + env-paths: 2.2.1 + glob: 7.2.3 + graceful-fs: 4.2.11 + make-fetch-happen: 9.1.0 + nopt: 5.0.0 + npmlog: 6.0.2 + rimraf: 3.0.2 + semver: 7.6.0 + tar: 6.2.0 + which: 2.0.2 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + optional: true + + /node-machine-id@1.1.12: + resolution: + { + integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, + } + dev: true + + /nopt@5.0.0: + resolution: + { + integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==, + } + engines: { node: ">=6" } + hasBin: true + requiresBuild: true + dependencies: + abbrev: 1.1.1 + dev: false + optional: true + + /npm-run-path@4.0.1: + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /npmlog@6.0.2: + resolution: + { + integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + requiresBuild: true + dependencies: + are-we-there-yet: 3.0.1 + console-control-strings: 1.1.0 + gauge: 4.0.4 + set-blocking: 2.0.0 + dev: false + optional: true + + /nx@18.0.6: + resolution: + { + integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, + } + hasBin: true + requiresBuild: true + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + dependencies: + "@nrwl/tao": 18.0.6 + "@yarnpkg/lockfile": 1.1.0 + "@yarnpkg/parsers": 3.0.0-rc.46 + "@zkochan/js-yaml": 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + "@nx/nx-darwin-arm64": 18.0.6 + "@nx/nx-darwin-x64": 18.0.6 + "@nx/nx-freebsd-x64": 18.0.6 + "@nx/nx-linux-arm-gnueabihf": 18.0.6 + "@nx/nx-linux-arm64-gnu": 18.0.6 + "@nx/nx-linux-arm64-musl": 18.0.6 + "@nx/nx-linux-x64-gnu": 18.0.6 + "@nx/nx-linux-x64-musl": 18.0.6 + "@nx/nx-win32-arm64-msvc": 18.0.6 + "@nx/nx-win32-x64-msvc": 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: ">=12" } + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: + { + integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, + } + engines: { node: ">=10" } + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: + { + integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, + } + engines: { node: ">=8" } + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + + /p-map@4.0.0: + resolution: + { + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, + } + engines: { node: ">=10" } + requiresBuild: true + dependencies: + aggregate-error: 3.1.0 + dev: false + optional: true + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /path-type@4.0.0: + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, + } + engines: { node: ">=8" } + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-copy-streams-binary@2.2.0: + resolution: + { + integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, + } + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: + { + integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, + } + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + dev: true + + /picomatch@2.3.1: + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: ">=8.6" } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: + { + integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + dev: false + + /prebuild-install@7.1.2: + resolution: + { + integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + detect-libc: 2.0.2 + expand-template: 2.0.3 + github-from-package: 0.0.0 + minimist: 1.2.8 + mkdirp-classic: 0.5.3 + napi-build-utils: 1.0.2 + node-abi: 3.56.0 + pump: 3.0.0 + rc: 1.2.8 + simple-get: 4.0.1 + tar-fs: 2.1.1 + tunnel-agent: 0.6.0 + dev: false + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-eslint@16.2.0: + resolution: + { + integrity: sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==, + } + engines: { node: ">=16.10.0" } + dependencies: + "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + common-tags: 1.8.2 + dlv: 1.1.3 + eslint: 8.57.0 + indent-string: 4.0.0 + lodash.merge: 4.6.2 + loglevel-colored-level-prefix: 1.0.0 + prettier: 3.2.4 + pretty-format: 29.7.0 + require-relative: 0.8.7 + typescript: 5.3.3 + vue-eslint-parser: 9.4.2(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.1.1: + resolution: + { + integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /prettier@3.2.4: + resolution: + { + integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /progress@2.0.3: + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: ">=0.4.0" } + dev: true + + /promise-inflight@1.0.1: + resolution: + { + integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, + } + requiresBuild: true + peerDependencies: + bluebird: "*" + peerDependenciesMeta: + bluebird: + optional: true + dev: false + optional: true + + /promise-retry@2.0.1: + resolution: + { + integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, + } + engines: { node: ">=10" } + requiresBuild: true + dependencies: + err-code: 2.0.3 + retry: 0.12.0 + dev: false + optional: true + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + dev: true + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /rc@1.2.8: + resolution: + { + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, + } + hasBin: true + dependencies: + deep-extend: 0.6.0 + ini: 1.3.8 + minimist: 1.2.8 + strip-json-comments: 2.0.1 + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /readable-stream@3.6.2: + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: ">= 6" } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + dev: true + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /require-relative@0.8.7: + resolution: + { + integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==, + } + dev: true + + /requizzle@0.2.4: + resolution: + { + integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==, + } + dependencies: + lodash: 4.17.21 + dev: true + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: true + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, + } + engines: { node: ">=8" } + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /retry@0.12.0: + resolution: + { + integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, + } + engines: { node: ">= 4" } + requiresBuild: true + dev: false + optional: true + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + + /roarr@7.21.0: + resolution: + { + integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /safer-buffer@2.1.2: + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } + requiresBuild: true + dev: false + optional: true + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-blocking@2.0.0: + resolution: + { + integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, + } + requiresBuild: true + dev: false + optional: true + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /simple-concat@1.0.1: + resolution: + { + integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==, + } + dev: false + + /simple-get@4.0.1: + resolution: + { + integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==, + } + dependencies: + decompress-response: 6.0.0 + once: 1.4.0 + simple-concat: 1.0.1 + dev: false + + /slash@3.0.0: + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + } + engines: { node: ">=8" } + dev: true + + /slonik@29.2.0: + resolution: + { + integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, + } + engines: { node: ">=10.0" } + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: + { + integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /smart-buffer@4.2.0: + resolution: + { + integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, + } + engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } + requiresBuild: true + dev: false + optional: true + + /socks-proxy-agent@6.2.1: + resolution: + { + integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==, + } + engines: { node: ">= 10" } + requiresBuild: true + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + socks: 2.8.1 + transitivePeerDependencies: + - supports-color + dev: false + optional: true + + /socks@2.8.1: + resolution: + { + integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==, + } + engines: { node: ">= 10.0.0", npm: ">= 3.0.0" } + requiresBuild: true + dependencies: + ip-address: 9.0.5 + smart-buffer: 4.2.0 + dev: false + optional: true + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.8.0-beta.0: + resolution: + { + integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, + } + engines: { node: ">= 8" } + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /sprintf-js@1.1.3: + resolution: + { + integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, + } + requiresBuild: true + dev: false + optional: true + + /sqlite3@5.1.7: + resolution: + { + integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==, + } + requiresBuild: true + dependencies: + bindings: 1.5.0 + node-addon-api: 7.1.0 + prebuild-install: 7.1.2 + tar: 6.2.0 + optionalDependencies: + node-gyp: 8.4.1 + transitivePeerDependencies: + - bluebird + - supports-color + dev: false + + /ssri@8.0.1: + resolution: + { + integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==, + } + engines: { node: ">= 8" } + requiresBuild: true + dependencies: + minipass: 3.3.6 + dev: false + optional: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string-width@4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@3.0.1: + resolution: + { + integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==, + } + engines: { node: ">=0.10.0" } + dependencies: + ansi-regex: 2.1.1 + dev: true + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + + /strip-bom@3.0.0: + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: ">=4" } + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@2.0.1: + resolution: + { + integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, + } + engines: { node: ">=0.10.0" } + dev: false + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: + { + integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, + } + engines: { node: ">=4" } + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@2.0.0: + resolution: + { + integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==, + } + engines: { node: ">=0.8.0" } + dev: true + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-fs@2.1.1: + resolution: + { + integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==, + } + dependencies: + chownr: 1.1.4 + mkdirp-classic: 0.5.3 + pump: 3.0.0 + tar-stream: 2.2.0 + dev: false + + /tar-stream@2.2.0: + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, + } + engines: { node: ">=6" } + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /tar@6.2.0: + resolution: + { + integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==, + } + engines: { node: ">=10" } + dependencies: + chownr: 2.0.0 + fs-minipass: 2.1.0 + minipass: 5.0.0 + minizlib: 2.1.2 + mkdirp: 1.0.4 + yallist: 4.0.0 + dev: false + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: + { + integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, + } + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: + { + integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, + } + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } + dev: true + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tmp@0.2.3: + resolution: + { + integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, + } + engines: { node: ">=14.14" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + dev: true + + /to-regex-range@5.0.1: + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } + dependencies: + is-number: 7.0.0 + dev: true + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@0.0.3: + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } + dev: true + + /tr46@1.0.1: + resolution: + { + integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, + } + dependencies: + punycode: 2.3.1 + + /ts-api-utils@1.2.1(typescript@5.3.3): + resolution: + { + integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==, + } + engines: { node: ">=16" } + peerDependencies: + typescript: ">=4.2.0" + dependencies: + typescript: 5.3.3 + dev: true + + /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3): + resolution: + { + integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==, + } + hasBin: true + peerDependencies: + "@swc/core": ">=1.2.50" + "@swc/wasm": ">=1.2.50" + "@types/node": "*" + typescript: ">=2.7" + peerDependenciesMeta: + "@swc/core": + optional: true + "@swc/wasm": + optional: true + dependencies: + "@cspotcode/source-map-support": 0.8.1 + "@tsconfig/node10": 1.0.9 + "@tsconfig/node12": 1.0.11 + "@tsconfig/node14": 1.0.3 + "@tsconfig/node16": 1.0.4 + "@types/node": 20.11.24 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.3.3 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + dev: false + + /tsconfig-paths@4.2.0: + resolution: + { + integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, + } + engines: { node: ">=6" } + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + + /tsx@4.7.0: + resolution: + { + integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /tunnel-agent@0.6.0: + resolution: + { + integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, + } + dependencies: + safe-buffer: 5.2.1 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + dev: false + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: + { + integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, + } + + /typescript-eslint-language-service@5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): + resolution: + { + integrity: sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==, + } + peerDependencies: + "@typescript-eslint/parser": ">= 5.0.0" + eslint: ">= 8.0.0" + typescript: ">= 4.0.0" + dependencies: + "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) + eslint: 8.57.0 + typescript: 5.3.3 + dev: true + + /typescript@5.3.3: + resolution: + { + integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, + } + engines: { node: ">=14.17" } + hasBin: true + + /uc.micro@1.0.6: + resolution: + { + integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==, + } + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /underscore@1.13.6: + resolution: + { + integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==, + } + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /unique-filename@1.1.1: + resolution: + { + integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==, + } + requiresBuild: true + dependencies: + unique-slug: 2.0.2 + dev: false + optional: true + + /unique-slug@2.0.2: + resolution: + { + integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==, + } + requiresBuild: true + dependencies: + imurmurhash: 0.1.4 + dev: false + optional: true + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /universalify@2.0.1: + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: ">= 10.0.0" } + dev: true + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } + + /uuid-parse@1.1.0: + resolution: + { + integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, + } + + /uuid@8.3.2: + resolution: + { + integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, + } + hasBin: true + + /v8-compile-cache-lib@3.0.1: + resolution: + { + integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, + } + dev: false + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.24 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.3.1 + "@vitest/ui": 1.3.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.24 + "@vitest/expect": 1.3.1 + "@vitest/runner": 1.3.1 + "@vitest/snapshot": 1.3.1 + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vue-eslint-parser@9.4.2(eslint@8.57.0): + resolution: + { + integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==, + } + engines: { node: ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ">=6.0.0" + dependencies: + debug: 4.3.4 + eslint: 8.57.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + lodash: 4.17.21 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + dev: true + + /wcwidth@1.0.1: + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@3.0.1: + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } + dev: true + + /webidl-conversions@4.0.2: + resolution: + { + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, + } + + /whatwg-url@5.0.0: + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: true + + /whatwg-url@7.1.0: + resolution: + { + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, + } + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wide-align@1.1.5: + resolution: + { + integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==, + } + requiresBuild: true + dependencies: + string-width: 4.2.3 + dev: false + optional: true + + /wrap-ansi@7.0.0: + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xmlcreate@2.0.4: + resolution: + { + integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==, + } + dev: true + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + dev: true + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + dev: true + + /yargs@17.7.2: + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: ">=12" } + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yn@3.1.1: + resolution: + { + integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, + } + engines: { node: ">=6" } + dev: false + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 576c7326a..a0fe34667 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,4 @@ packages: - - 'apps/*' - - 'packages/*' - - 'thebeast' \ No newline at end of file + - "apps/*" + - "packages/*" + - "thebeast" diff --git a/vite.config.ts b/vite.config.ts index 4414534e6..4110f4850 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -9,7 +9,8 @@ export default defineConfig({ "src/**/*.spec.ts", "src/**/*.test.ts", "bin/**/*.ts", - "interfaces", + "ecosystem.config.js", + "migrate.ts", ], reporter: ["lcov", "text", "cobertura"], }, From 325a70dc58e9b1a1a3b3eb0606c891371bfa3e02 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 1 Mar 2024 20:22:18 -0500 Subject: [PATCH 139/452] Move remaining packages into the pnpm packages dir --- .nx/cache/file-map.json | 72 +++++++------- migrate.ts | 2 +- .../cli/ConsoleThread.ts | 0 packages/cli/package.json | 13 +++ .../core/src/serializationHelpers.test.ts | 0 .../core/src/serializationHelpers.ts | 0 packages/database/package.json | 18 ++++ .../database/src/DatabaseManager.ts | 0 .../database/src/cache.ts | 0 .../database/src/models/AttachmentPoint.ts | 0 .../database/src/models/Brand.ts | 0 .../database/src/models/BrandedPart.ts | 0 .../database/src/models/Model.ts | 0 .../database/src/models/Part.ts | 0 .../database/src/models/VehiclePartTree.ts | 0 .../database/src/services/admin.ts | 0 .../database/src/services/database.ts | 0 .../database/test/Database.test.ts | 0 packages/gateway/package.json | 18 ++++ .../gateway/src/GatewayServer.ts | 6 +- .../gateway/src/encryption.ts | 0 .../gateway/src/index.ts | 11 +-- .../packages => packages}/gateway/src/web.ts | 4 +- .../gateway/test/encryption.test.ts | 0 .../interfaces/index.d.ts | 6 +- packages/interfaces/package.json | 13 +++ packages/lobby/package.json | 13 +++ .../lobby/src/LoginInfoMessage.ts | 0 .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts | 0 .../lobby/src/NPS_LOBBYSERVER_COMMANDS.ts | 0 .../lobby/src/NPS_LOBBY_COMMANDS.ts | 0 .../lobby/src/UserInfoMessage.ts | 0 .../lobby/src/handlers/_setMyUserData.ts | 3 +- .../lobby/src/handlers/encryptedCommand.ts | 0 .../src/handlers/handleGetMiniUserList.ts | 0 .../src/handlers/handleSendMiniRiffList.ts | 0 .../lobby/src/handlers/handleTrackingPing.ts | 0 .../src/handlers/requestConnectGameServer.ts | 0 .../lobby/src/internal.ts | 0 .../handlers/handleSendMiniRiffList.test.ts | 0 packages/login/package.json | 13 +++ .../login/src/NPSUserStatus.ts | 0 .../login/src/NPS_LOGINCLIENT_COMMANDS.ts | 0 .../login/src/NPS_LOGIN_COMMANDS.ts | 0 .../packages => packages}/login/src/index.ts | 0 .../login/src/internal.ts | 0 .../login/src/premadeLogin.ts | 0 .../login/test/LoginServer.test.ts | 0 {thebeast/lib => packages}/nps/index.ts | 0 .../messageProcessors/getLobMiniRiffList.ts | 2 +- .../messageProcessors/getLobMiniUserList.ts | 2 +- .../nps/messageProcessors/index.ts | 2 +- .../nps/messageProcessors/lobbyCommands.ts | 0 .../processCheckPlateText.ts | 2 +- .../processCheckProfileName.ts | 2 +- .../messageProcessors/processCreateProfile.ts | 2 +- .../messageProcessors/processDeleteProfile.ts | 2 +- .../processEncryptedGameCommand.ts | 7 +- .../nps/messageProcessors/processGameLogin.ts | 2 +- .../messageProcessors/processGetFirstBuddy.ts | 2 +- .../processGetProfileInfo.ts | 2 +- .../processGetProfileMaps.ts | 2 +- .../messageProcessors/processLobbyLogin.ts | 2 +- .../nps/messageProcessors/processPing.ts | 2 +- .../nps/messageProcessors/processUserLogin.ts | 6 +- .../nps/messageStructs/GameMessage.ts | 2 +- .../nps/messageStructs/GameProfile.ts | 2 +- .../nps/messageStructs/MiniRiffList.ts | 2 +- .../nps/messageStructs/MiniUserList.ts | 2 +- .../nps/messageStructs/NPSList.ts | 0 .../nps/messageStructs/ProfileList.ts | 0 .../nps/messageStructs/SessionKey.ts | 0 .../nps/messageStructs/UserAction.ts | 0 .../nps/messageStructs/UserInfo.ts | 2 +- .../nps/messageStructs/UserStatus.ts | 0 packages/nps/package.json | 17 ++++ .../lib => packages}/nps/services/account.ts | 0 .../lib => packages}/nps/services/profile.ts | 0 .../lib => packages}/nps/services/session.ts | 0 .../lib => packages}/nps/services/token.ts | 0 .../lib => packages}/nps/services/types.ts | 0 {thebeast/lib => packages}/nps/types.ts | 0 .../lib => packages}/nps/utils/pureCompare.ts | 0 .../lib => packages}/nps/utils/pureGet.ts | 0 .../lib => packages}/nps/utils/purePut.ts | 0 packages/patch/package.json | 13 +++ .../patch/src/PatchServer.ts | 0 .../patch/test/PatchServer.test.ts | 0 packages/persona/package.json | 13 +++ .../persona/src/BuddyInfoMessage.ts | 0 .../persona/src/PersonaMapsMessage.ts | 0 .../persona/src/_gameLogout.ts | 0 .../persona/src/_getFirstBuddy.ts | 0 .../persona/src/_selectGamePersona.ts | 0 .../persona/src/getPersonasByPersonaId.ts | 0 .../src/handlers/validatePersonaName.ts | 0 .../persona/src/internal.ts | 0 .../test/getPersonasByPersonaId.test.ts | 0 .../packages => packages}/shard/README.md | 0 packages/shard/package.json | 13 +++ .../shard/src/ShardServer.ts | 0 .../packages => packages}/shard/src/index.ts | 0 .../shard/src/shard-entry.ts | 0 .../shard/test/fixtures/testCert.txt | 0 .../shard/test/fixtures/testKey.txt | 0 .../shard/test/shard-entry.test.ts | 0 .../shared/Configuration.ts | 0 .../shared/MessageNode.ts | 0 .../shared/ServerMessage.test.ts | 0 .../packages => packages}/shared/State.ts | 0 .../packages => packages}/shared/SubThread.ts | 0 .../packages => packages}/shared/TimeStamp.ts | 0 {thebeast/packages => packages}/shared/log.ts | 0 .../shared/messageFactory.ts | 0 packages/shared/package.json | 16 +++ .../shared/src/BaseSerialized.ts | 0 .../shared/src/NetworkMessage.ts | 0 .../shared/src/RawMessage.ts | 0 .../shared/src/SerializedBuffer.ts | 0 .../shared/src/ServerMessage.ts | 0 .../packages => packages}/shared/structs.ts | 0 .../shared/test/BaseSerialized.test.ts | 0 .../shared/test/RawMessage.test.ts | 0 .../shared/test/SerializedBuffer.test.ts | 0 .../packages => packages}/shared/types.ts | 0 packages/transactions/package.json | 13 +++ .../transactions/src/ArcadeCarMessage.ts | 0 .../transactions/src/EntryFeePurseMessage.ts | 0 .../transactions/src/GameUrlsMessage.ts | 0 .../transactions/src/GenericReplyMessage.ts | 0 .../transactions/src/GenericRequestMessage.ts | 0 .../transactions/src/LobbyMessage.ts | 0 .../transactions/src/OwnedVehiclesMessage.ts | 0 .../transactions/src/PartsAssemblyMessage.ts | 0 .../transactions/src/PlayerInfoMessage.ts | 0 .../transactions/src/PlayerPhysicalMessage.ts | 0 .../src/PlayerRacingHistoryMessage.ts | 0 .../transactions/src/StockCar.ts | 0 .../transactions/src/StockCarInfoMessage.ts | 0 .../transactions/src/TClientConnectMessage.ts | 0 .../transactions/src/TLoginMessage.ts | 0 .../transactions/src/TunablesMessage.ts | 0 .../transactions/src/_getArcadeCarInfo.ts | 0 .../transactions/src/_getGameUrls.ts | 0 .../transactions/src/_getOwnedParts.ts | 0 .../transactions/src/_getOwnedVehicles.ts | 0 .../transactions/src/_getPlayerInfo.ts | 0 .../transactions/src/_getPlayerPhysical.ts | 0 .../transactions/src/_getPlayerRaceHistory.ts | 0 .../transactions/src/_getStockCarInfo.ts | 0 .../transactions/src/_getTunables.ts | 0 .../transactions/src/_logout.ts | 0 .../transactions/src/_setOptions.ts | 0 .../transactions/src/_updatePlayerPhysical.ts | 0 .../transactions/src/clientConnect.ts | 3 +- .../transactions/src/getLobbies.ts | 0 .../transactions/src/internal.ts | 0 .../transactions/src/login.ts | 0 .../transactions/src/messageHandlers.ts | 0 .../_getCompleteVehicleInfo.spec.ts | 0 .../_getCompleteVehicleInfo.ts | 0 .../messageHandlers/_updateCachedVehicle.ts | 0 .../src/messageStructs/CarInfoMessage.ts | 2 +- .../messageStructs/PlayerOptionsMessage.ts | 0 .../transactions/src/models/PartModel.ts | 0 .../transactions/src/models/VehicleModel.ts | 0 .../transactions/src/models/index.ts | 0 .../transactions/src/services/car.ts | 0 .../transactions/src/trackingPing.ts | 0 .../transactions/test/LobbyMessage.test.ts | 0 .../test/OwnedVehiclesMessage.test.ts | 0 .../test/PartsAssemblyMessage.test.ts | 0 .../test/PlayerInfoMessage.test.ts | 0 .../test/PlayerRacingHistoryMessage.test.ts | 0 .../test/TClientConnectMessage.test.ts | 0 .../test/_getPlayerRaceHistory.test.ts | 0 .../transactions/test/clientConnect.test.ts | 0 .../transactions/test/getLobbies.test.ts | 0 .../transactions/test/trackingPing.test.ts | 0 .../transactions/types.ts | 0 pnpm-lock.yaml | 55 +++++++++++ {thebeast/test => test}/factoryMocks.ts | 0 .../packages/lobby/src/MiniRiffMessage.js | 99 ------------------- thebeast/packages/persona/src/index.js | 46 --------- thebeast/packages/shared/NPSMessage.js | 84 ---------------- thebeast/packages/shared/RawMessageHeader.js | 58 ----------- thebeast/packages/shared/utils.js | 16 --- thebeast/server.ts | 8 +- tsconfig.json | 1 + 189 files changed, 308 insertions(+), 390 deletions(-) rename {thebeast/packages => packages}/cli/ConsoleThread.ts (100%) create mode 100644 packages/cli/package.json rename {thebeast/packages => packages}/core/src/serializationHelpers.test.ts (100%) rename {thebeast/packages => packages}/core/src/serializationHelpers.ts (100%) create mode 100644 packages/database/package.json rename {thebeast/packages => packages}/database/src/DatabaseManager.ts (100%) rename {thebeast/packages => packages}/database/src/cache.ts (100%) rename {thebeast/packages => packages}/database/src/models/AttachmentPoint.ts (100%) rename {thebeast/packages => packages}/database/src/models/Brand.ts (100%) rename {thebeast/packages => packages}/database/src/models/BrandedPart.ts (100%) rename {thebeast/packages => packages}/database/src/models/Model.ts (100%) rename {thebeast/packages => packages}/database/src/models/Part.ts (100%) rename {thebeast/packages => packages}/database/src/models/VehiclePartTree.ts (100%) rename {thebeast/packages => packages}/database/src/services/admin.ts (100%) rename {thebeast/packages => packages}/database/src/services/database.ts (100%) rename {thebeast/packages => packages}/database/test/Database.test.ts (100%) create mode 100644 packages/gateway/package.json rename {thebeast/packages => packages}/gateway/src/GatewayServer.ts (98%) rename {thebeast/packages => packages}/gateway/src/encryption.ts (100%) rename {thebeast/packages => packages}/gateway/src/index.ts (96%) rename {thebeast/packages => packages}/gateway/src/web.ts (97%) rename {thebeast/packages => packages}/gateway/test/encryption.test.ts (100%) rename {thebeast/packages => packages}/interfaces/index.d.ts (95%) create mode 100644 packages/interfaces/package.json create mode 100644 packages/lobby/package.json rename {thebeast/packages => packages}/lobby/src/LoginInfoMessage.ts (100%) rename {thebeast/packages => packages}/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts (100%) rename {thebeast/packages => packages}/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts (100%) rename {thebeast/packages => packages}/lobby/src/NPS_LOBBY_COMMANDS.ts (100%) rename {thebeast/packages => packages}/lobby/src/UserInfoMessage.ts (100%) rename {thebeast/packages => packages}/lobby/src/handlers/_setMyUserData.ts (90%) rename {thebeast/packages => packages}/lobby/src/handlers/encryptedCommand.ts (100%) rename {thebeast/packages => packages}/lobby/src/handlers/handleGetMiniUserList.ts (100%) rename {thebeast/packages => packages}/lobby/src/handlers/handleSendMiniRiffList.ts (100%) rename {thebeast/packages => packages}/lobby/src/handlers/handleTrackingPing.ts (100%) rename {thebeast/packages => packages}/lobby/src/handlers/requestConnectGameServer.ts (100%) rename {thebeast/packages => packages}/lobby/src/internal.ts (100%) rename {thebeast/packages => packages}/lobby/test/handlers/handleSendMiniRiffList.test.ts (100%) create mode 100644 packages/login/package.json rename {thebeast/packages => packages}/login/src/NPSUserStatus.ts (100%) rename {thebeast/packages => packages}/login/src/NPS_LOGINCLIENT_COMMANDS.ts (100%) rename {thebeast/packages => packages}/login/src/NPS_LOGIN_COMMANDS.ts (100%) rename {thebeast/packages => packages}/login/src/index.ts (100%) rename {thebeast/packages => packages}/login/src/internal.ts (100%) rename {thebeast/packages => packages}/login/src/premadeLogin.ts (100%) rename {thebeast/packages => packages}/login/test/LoginServer.test.ts (100%) rename {thebeast/lib => packages}/nps/index.ts (100%) rename {thebeast/lib => packages}/nps/messageProcessors/getLobMiniRiffList.ts (94%) rename {thebeast/lib => packages}/nps/messageProcessors/getLobMiniUserList.ts (92%) rename {thebeast/lib => packages}/nps/messageProcessors/index.ts (98%) rename {thebeast/lib => packages}/nps/messageProcessors/lobbyCommands.ts (100%) rename {thebeast/lib => packages}/nps/messageProcessors/processCheckPlateText.ts (95%) rename {thebeast/lib => packages}/nps/messageProcessors/processCheckProfileName.ts (93%) rename {thebeast/lib => packages}/nps/messageProcessors/processCreateProfile.ts (95%) rename {thebeast/lib => packages}/nps/messageProcessors/processDeleteProfile.ts (98%) rename {thebeast/lib => packages}/nps/messageProcessors/processEncryptedGameCommand.ts (92%) rename {thebeast/lib => packages}/nps/messageProcessors/processGameLogin.ts (96%) rename {thebeast/lib => packages}/nps/messageProcessors/processGetFirstBuddy.ts (95%) rename {thebeast/lib => packages}/nps/messageProcessors/processGetProfileInfo.ts (97%) rename {thebeast/lib => packages}/nps/messageProcessors/processGetProfileMaps.ts (97%) rename {thebeast/lib => packages}/nps/messageProcessors/processLobbyLogin.ts (97%) rename {thebeast/lib => packages}/nps/messageProcessors/processPing.ts (92%) rename {thebeast/lib => packages}/nps/messageProcessors/processUserLogin.ts (96%) rename {thebeast/lib => packages}/nps/messageStructs/GameMessage.ts (99%) rename {thebeast/lib => packages}/nps/messageStructs/GameProfile.ts (99%) rename {thebeast/lib => packages}/nps/messageStructs/MiniRiffList.ts (98%) rename {thebeast/lib => packages}/nps/messageStructs/MiniUserList.ts (97%) rename {thebeast/lib => packages}/nps/messageStructs/NPSList.ts (100%) rename {thebeast/lib => packages}/nps/messageStructs/ProfileList.ts (100%) rename {thebeast/lib => packages}/nps/messageStructs/SessionKey.ts (100%) rename {thebeast/lib => packages}/nps/messageStructs/UserAction.ts (100%) rename {thebeast/lib => packages}/nps/messageStructs/UserInfo.ts (96%) rename {thebeast/lib => packages}/nps/messageStructs/UserStatus.ts (100%) create mode 100644 packages/nps/package.json rename {thebeast/lib => packages}/nps/services/account.ts (100%) rename {thebeast/lib => packages}/nps/services/profile.ts (100%) rename {thebeast/lib => packages}/nps/services/session.ts (100%) rename {thebeast/lib => packages}/nps/services/token.ts (100%) rename {thebeast/lib => packages}/nps/services/types.ts (100%) rename {thebeast/lib => packages}/nps/types.ts (100%) rename {thebeast/lib => packages}/nps/utils/pureCompare.ts (100%) rename {thebeast/lib => packages}/nps/utils/pureGet.ts (100%) rename {thebeast/lib => packages}/nps/utils/purePut.ts (100%) create mode 100644 packages/patch/package.json rename {thebeast/packages => packages}/patch/src/PatchServer.ts (100%) rename {thebeast/packages => packages}/patch/test/PatchServer.test.ts (100%) create mode 100644 packages/persona/package.json rename {thebeast/packages => packages}/persona/src/BuddyInfoMessage.ts (100%) rename {thebeast/packages => packages}/persona/src/PersonaMapsMessage.ts (100%) rename {thebeast/packages => packages}/persona/src/_gameLogout.ts (100%) rename {thebeast/packages => packages}/persona/src/_getFirstBuddy.ts (100%) rename {thebeast/packages => packages}/persona/src/_selectGamePersona.ts (100%) rename {thebeast/packages => packages}/persona/src/getPersonasByPersonaId.ts (100%) rename {thebeast/packages => packages}/persona/src/handlers/validatePersonaName.ts (100%) rename {thebeast/packages => packages}/persona/src/internal.ts (100%) rename {thebeast/packages => packages}/persona/test/getPersonasByPersonaId.test.ts (100%) rename {thebeast/packages => packages}/shard/README.md (100%) create mode 100644 packages/shard/package.json rename {thebeast/packages => packages}/shard/src/ShardServer.ts (100%) rename {thebeast/packages => packages}/shard/src/index.ts (100%) rename {thebeast/packages => packages}/shard/src/shard-entry.ts (100%) rename {thebeast/packages => packages}/shard/test/fixtures/testCert.txt (100%) rename {thebeast/packages => packages}/shard/test/fixtures/testKey.txt (100%) rename {thebeast/packages => packages}/shard/test/shard-entry.test.ts (100%) rename {thebeast/packages => packages}/shared/Configuration.ts (100%) rename {thebeast/packages => packages}/shared/MessageNode.ts (100%) rename {thebeast/packages => packages}/shared/ServerMessage.test.ts (100%) rename {thebeast/packages => packages}/shared/State.ts (100%) rename {thebeast/packages => packages}/shared/SubThread.ts (100%) rename {thebeast/packages => packages}/shared/TimeStamp.ts (100%) rename {thebeast/packages => packages}/shared/log.ts (100%) rename {thebeast/packages => packages}/shared/messageFactory.ts (100%) create mode 100644 packages/shared/package.json rename {thebeast/packages => packages}/shared/src/BaseSerialized.ts (100%) rename {thebeast/packages => packages}/shared/src/NetworkMessage.ts (100%) rename {thebeast/packages => packages}/shared/src/RawMessage.ts (100%) rename {thebeast/packages => packages}/shared/src/SerializedBuffer.ts (100%) rename {thebeast/packages => packages}/shared/src/ServerMessage.ts (100%) rename {thebeast/packages => packages}/shared/structs.ts (100%) rename {thebeast/packages => packages}/shared/test/BaseSerialized.test.ts (100%) rename {thebeast/packages => packages}/shared/test/RawMessage.test.ts (100%) rename {thebeast/packages => packages}/shared/test/SerializedBuffer.test.ts (100%) rename {thebeast/packages => packages}/shared/types.ts (100%) create mode 100644 packages/transactions/package.json rename {thebeast/packages => packages}/transactions/src/ArcadeCarMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/EntryFeePurseMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/GameUrlsMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/GenericReplyMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/GenericRequestMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/LobbyMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/OwnedVehiclesMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/PartsAssemblyMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/PlayerInfoMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/PlayerPhysicalMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/PlayerRacingHistoryMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/StockCar.ts (100%) rename {thebeast/packages => packages}/transactions/src/StockCarInfoMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/TClientConnectMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/TLoginMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/TunablesMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getArcadeCarInfo.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getGameUrls.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getOwnedParts.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getOwnedVehicles.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getPlayerInfo.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getPlayerPhysical.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getPlayerRaceHistory.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getStockCarInfo.ts (100%) rename {thebeast/packages => packages}/transactions/src/_getTunables.ts (100%) rename {thebeast/packages => packages}/transactions/src/_logout.ts (100%) rename {thebeast/packages => packages}/transactions/src/_setOptions.ts (100%) rename {thebeast/packages => packages}/transactions/src/_updatePlayerPhysical.ts (100%) rename {thebeast/packages => packages}/transactions/src/clientConnect.ts (95%) rename {thebeast/packages => packages}/transactions/src/getLobbies.ts (100%) rename {thebeast/packages => packages}/transactions/src/internal.ts (100%) rename {thebeast/packages => packages}/transactions/src/login.ts (100%) rename {thebeast/packages => packages}/transactions/src/messageHandlers.ts (100%) rename {thebeast/packages => packages}/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts (100%) rename {thebeast/packages => packages}/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts (100%) rename {thebeast/packages => packages}/transactions/src/messageHandlers/_updateCachedVehicle.ts (100%) rename {thebeast/packages => packages}/transactions/src/messageStructs/CarInfoMessage.ts (96%) rename {thebeast/packages => packages}/transactions/src/messageStructs/PlayerOptionsMessage.ts (100%) rename {thebeast/packages => packages}/transactions/src/models/PartModel.ts (100%) rename {thebeast/packages => packages}/transactions/src/models/VehicleModel.ts (100%) rename {thebeast/packages => packages}/transactions/src/models/index.ts (100%) rename {thebeast/packages => packages}/transactions/src/services/car.ts (100%) rename {thebeast/packages => packages}/transactions/src/trackingPing.ts (100%) rename {thebeast/packages => packages}/transactions/test/LobbyMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/OwnedVehiclesMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/PartsAssemblyMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/PlayerInfoMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/PlayerRacingHistoryMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/TClientConnectMessage.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/_getPlayerRaceHistory.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/clientConnect.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/getLobbies.test.ts (100%) rename {thebeast/packages => packages}/transactions/test/trackingPing.test.ts (100%) rename {thebeast/packages => packages}/transactions/types.ts (100%) rename {thebeast/test => test}/factoryMocks.ts (100%) delete mode 100644 thebeast/packages/lobby/src/MiniRiffMessage.js delete mode 100644 thebeast/packages/persona/src/index.js delete mode 100644 thebeast/packages/shared/NPSMessage.js delete mode 100644 thebeast/packages/shared/RawMessageHeader.js delete mode 100644 thebeast/packages/shared/utils.js diff --git a/.nx/cache/file-map.json b/.nx/cache/file-map.json index a895d787c..1446e7b84 100644 --- a/.nx/cache/file-map.json +++ b/.nx/cache/file-map.json @@ -120,147 +120,147 @@ "hash": "3244421341483603138" }, { - "file": "thebeast/lib/nps/index.ts", + "file": "thebeast/index.ts", "hash": "7090739820004070559" }, { - "file": "thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts", + "file": "thebeast/messageProcessors/getLobMiniRiffList.ts", "hash": "1310426978404068664" }, { - "file": "thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts", + "file": "thebeast/messageProcessors/getLobMiniUserList.ts", "hash": "6532897472486871971" }, { - "file": "thebeast/lib/nps/messageProcessors/index.ts", + "file": "thebeast/messageProcessors/index.ts", "hash": "3428272607749081350" }, { - "file": "thebeast/lib/nps/messageProcessors/lobbyCommands.ts", + "file": "thebeast/messageProcessors/lobbyCommands.ts", "hash": "3067400189448550173" }, { - "file": "thebeast/lib/nps/messageProcessors/processCheckPlateText.ts", + "file": "thebeast/messageProcessors/processCheckPlateText.ts", "hash": "7116424182069654272" }, { - "file": "thebeast/lib/nps/messageProcessors/processCheckProfileName.ts", + "file": "thebeast/messageProcessors/processCheckProfileName.ts", "hash": "15692350762709805299" }, { - "file": "thebeast/lib/nps/messageProcessors/processCreateProfile.ts", + "file": "thebeast/messageProcessors/processCreateProfile.ts", "hash": "17296605385109366503" }, { - "file": "thebeast/lib/nps/messageProcessors/processDeleteProfile.ts", + "file": "thebeast/messageProcessors/processDeleteProfile.ts", "hash": "8037003224882727444" }, { - "file": "thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts", + "file": "thebeast/messageProcessors/processEncryptedGameCommand.ts", "hash": "9864198487345188731" }, { - "file": "thebeast/lib/nps/messageProcessors/processGameLogin.ts", + "file": "thebeast/messageProcessors/processGameLogin.ts", "hash": "6848078763900836763" }, { - "file": "thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts", + "file": "thebeast/messageProcessors/processGetFirstBuddy.ts", "hash": "4317773952728428954" }, { - "file": "thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts", + "file": "thebeast/messageProcessors/processGetProfileInfo.ts", "hash": "234931470321227098" }, { - "file": "thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts", + "file": "thebeast/messageProcessors/processGetProfileMaps.ts", "hash": "10958544461981205728" }, { - "file": "thebeast/lib/nps/messageProcessors/processLobbyLogin.ts", + "file": "thebeast/messageProcessors/processLobbyLogin.ts", "hash": "17296351929681794078" }, { - "file": "thebeast/lib/nps/messageProcessors/processPing.ts", + "file": "thebeast/messageProcessors/processPing.ts", "hash": "16270620732051920981" }, { - "file": "thebeast/lib/nps/messageProcessors/processUserLogin.ts", + "file": "thebeast/messageProcessors/processUserLogin.ts", "hash": "15428579812719676698" }, { - "file": "thebeast/lib/nps/messageStructs/GameMessage.ts", + "file": "thebeast/messageStructs/GameMessage.ts", "hash": "8854967129983057049" }, { - "file": "thebeast/lib/nps/messageStructs/GameProfile.ts", + "file": "thebeast/messageStructs/GameProfile.ts", "hash": "4848812249109328340" }, { - "file": "thebeast/lib/nps/messageStructs/MiniRiffList.ts", + "file": "thebeast/messageStructs/MiniRiffList.ts", "hash": "7155327144186990565" }, { - "file": "thebeast/lib/nps/messageStructs/MiniUserList.ts", + "file": "thebeast/messageStructs/MiniUserList.ts", "hash": "17462825181538069545" }, { - "file": "thebeast/lib/nps/messageStructs/NPSList.ts", + "file": "thebeast/messageStructs/NPSList.ts", "hash": "10119158781387584114" }, { - "file": "thebeast/lib/nps/messageStructs/ProfileList.ts", + "file": "thebeast/messageStructs/ProfileList.ts", "hash": "2527086496158874335" }, { - "file": "thebeast/lib/nps/messageStructs/SessionKey.ts", + "file": "thebeast/messageStructs/SessionKey.ts", "hash": "12762795724411796498" }, { - "file": "thebeast/lib/nps/messageStructs/UserAction.ts", + "file": "thebeast/messageStructs/UserAction.ts", "hash": "579526865209158192" }, { - "file": "thebeast/lib/nps/messageStructs/UserInfo.ts", + "file": "thebeast/messageStructs/UserInfo.ts", "hash": "15823399554624038370" }, { - "file": "thebeast/lib/nps/messageStructs/UserStatus.ts", + "file": "thebeast/messageStructs/UserStatus.ts", "hash": "8429116003312465571" }, { - "file": "thebeast/lib/nps/services/account.ts", + "file": "thebeast/services/account.ts", "hash": "15589634688779153194" }, { - "file": "thebeast/lib/nps/services/profile.ts", + "file": "thebeast/services/profile.ts", "hash": "8641993167559947549" }, { - "file": "thebeast/lib/nps/services/session.ts", + "file": "thebeast/services/session.ts", "hash": "2818149994021605356" }, { - "file": "thebeast/lib/nps/services/token.ts", + "file": "thebeast/services/token.ts", "hash": "7368387690796821995" }, { - "file": "thebeast/lib/nps/services/types.ts", + "file": "thebeast/services/types.ts", "hash": "9731723030948033474" }, { - "file": "thebeast/lib/nps/types.ts", + "file": "thebeast/types.ts", "hash": "14870268956472440757" }, { - "file": "thebeast/lib/nps/utils/pureCompare.ts", + "file": "thebeast/utils/pureCompare.ts", "hash": "4258843400502292304" }, { - "file": "thebeast/lib/nps/utils/pureGet.ts", + "file": "thebeast/utils/pureGet.ts", "hash": "265682811551639654" }, { - "file": "thebeast/lib/nps/utils/purePut.ts", + "file": "thebeast/utils/purePut.ts", "hash": "9440717771529078848" }, { diff --git a/migrate.ts b/migrate.ts index 36d3214fc..2a8c67bd4 100644 --- a/migrate.ts +++ b/migrate.ts @@ -1,5 +1,5 @@ import { SlonikMigrator } from "@slonik/migrator"; -import { slonik } from "./thebeast/packages/database/src/services/database.js"; +import { slonik } from "./packages/database/src/services/database.js"; const migrator = new SlonikMigrator({ migrationsPath: "migrations", diff --git a/thebeast/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts similarity index 100% rename from thebeast/packages/cli/ConsoleThread.ts rename to packages/cli/ConsoleThread.ts diff --git a/packages/cli/package.json b/packages/cli/package.json new file mode 100644 index 000000000..9e8e2d0ca --- /dev/null +++ b/packages/cli/package.json @@ -0,0 +1,13 @@ +{ + "name": "cli", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/core/src/serializationHelpers.test.ts b/packages/core/src/serializationHelpers.test.ts similarity index 100% rename from thebeast/packages/core/src/serializationHelpers.test.ts rename to packages/core/src/serializationHelpers.test.ts diff --git a/thebeast/packages/core/src/serializationHelpers.ts b/packages/core/src/serializationHelpers.ts similarity index 100% rename from thebeast/packages/core/src/serializationHelpers.ts rename to packages/core/src/serializationHelpers.ts diff --git a/packages/database/package.json b/packages/database/package.json new file mode 100644 index 000000000..2c5c082dc --- /dev/null +++ b/packages/database/package.json @@ -0,0 +1,18 @@ +{ + "name": "database", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@sentry/node": "^7.102.0", + "slonik": "^37.2.0", + "zod": "^3.22.4" + } +} diff --git a/thebeast/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts similarity index 100% rename from thebeast/packages/database/src/DatabaseManager.ts rename to packages/database/src/DatabaseManager.ts diff --git a/thebeast/packages/database/src/cache.ts b/packages/database/src/cache.ts similarity index 100% rename from thebeast/packages/database/src/cache.ts rename to packages/database/src/cache.ts diff --git a/thebeast/packages/database/src/models/AttachmentPoint.ts b/packages/database/src/models/AttachmentPoint.ts similarity index 100% rename from thebeast/packages/database/src/models/AttachmentPoint.ts rename to packages/database/src/models/AttachmentPoint.ts diff --git a/thebeast/packages/database/src/models/Brand.ts b/packages/database/src/models/Brand.ts similarity index 100% rename from thebeast/packages/database/src/models/Brand.ts rename to packages/database/src/models/Brand.ts diff --git a/thebeast/packages/database/src/models/BrandedPart.ts b/packages/database/src/models/BrandedPart.ts similarity index 100% rename from thebeast/packages/database/src/models/BrandedPart.ts rename to packages/database/src/models/BrandedPart.ts diff --git a/thebeast/packages/database/src/models/Model.ts b/packages/database/src/models/Model.ts similarity index 100% rename from thebeast/packages/database/src/models/Model.ts rename to packages/database/src/models/Model.ts diff --git a/thebeast/packages/database/src/models/Part.ts b/packages/database/src/models/Part.ts similarity index 100% rename from thebeast/packages/database/src/models/Part.ts rename to packages/database/src/models/Part.ts diff --git a/thebeast/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts similarity index 100% rename from thebeast/packages/database/src/models/VehiclePartTree.ts rename to packages/database/src/models/VehiclePartTree.ts diff --git a/thebeast/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts similarity index 100% rename from thebeast/packages/database/src/services/admin.ts rename to packages/database/src/services/admin.ts diff --git a/thebeast/packages/database/src/services/database.ts b/packages/database/src/services/database.ts similarity index 100% rename from thebeast/packages/database/src/services/database.ts rename to packages/database/src/services/database.ts diff --git a/thebeast/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts similarity index 100% rename from thebeast/packages/database/test/Database.test.ts rename to packages/database/test/Database.test.ts diff --git a/packages/gateway/package.json b/packages/gateway/package.json new file mode 100644 index 000000000..2dea5c422 --- /dev/null +++ b/packages/gateway/package.json @@ -0,0 +1,18 @@ +{ + "name": "gateway", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "^7.102.0", + "fastify": "^4.25.2" + } +} diff --git a/thebeast/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts similarity index 98% rename from thebeast/packages/gateway/src/GatewayServer.ts rename to packages/gateway/src/GatewayServer.ts index bacd2dc7b..f70418f09 100644 --- a/thebeast/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -25,12 +25,12 @@ import { populateGameMessageProcessors, portToMessageTypes, gameMessageProcessors, -} from "../../../lib/nps/messageProcessors/index.js"; -import { populateGameUsers } from "../../../lib/nps/services/account.js"; +} from "../../nps/messageProcessors/index.js"; +import { populateGameUsers } from "../../nps/services/account.js"; import { gameProfiles, populateGameProfiles, -} from "../../../lib/nps/services/profile.js"; +} from "../../nps/services/profile.js"; /** * @module gateway diff --git a/thebeast/packages/gateway/src/encryption.ts b/packages/gateway/src/encryption.ts similarity index 100% rename from thebeast/packages/gateway/src/encryption.ts rename to packages/gateway/src/encryption.ts diff --git a/thebeast/packages/gateway/src/index.ts b/packages/gateway/src/index.ts similarity index 96% rename from thebeast/packages/gateway/src/index.ts rename to packages/gateway/src/index.ts index 659d282dd..f209ac31d 100644 --- a/thebeast/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -15,7 +15,6 @@ // along with this program. If not, see . import { randomUUID } from "node:crypto"; -import * as Sentry from "@sentry/node"; import { OnDataHandler, addSocket, @@ -25,21 +24,19 @@ import { wrapSocket, } from "../../shared/State.js"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger } from "../../shared/log.js"; import { Socket } from "node:net"; -import { getGatewayServer } from "./GatewayServer.js"; import { SerializedBuffer } from "../../shared/messageFactory.js"; import { MessageProcessorError, - PortMapError, getGameMessageProcessor, getPortMessageType, GameMessage, -} from "../../../lib/nps/index.js"; -import { SocketCallback } from "../../../lib/nps/messageProcessors/index.js"; -import { getAsHex } from "../../../lib/nps/utils/pureGet.js"; +} from "../../nps/index.js"; +import { SocketCallback } from "../../nps/messageProcessors/index.js"; +import { getAsHex } from "../../nps/utils/pureGet.js"; /** * @typedef {object} OnDataHandlerArgs diff --git a/thebeast/packages/gateway/src/web.ts b/packages/gateway/src/web.ts similarity index 97% rename from thebeast/packages/gateway/src/web.ts rename to packages/gateway/src/web.ts index 467694dd3..8a251e97e 100644 --- a/thebeast/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -22,8 +22,8 @@ import { handleGetKey, handleGetRegistry, } from "../../shard/src/index.js"; -import { checkPassword, getUser } from "../../../lib/nps/services/account.js"; -import { generateToken } from "../../../lib/nps/services/token.js"; +import { checkPassword, getUser } from "../../nps/services/account.js"; +import { generateToken } from "../../nps/services/token.js"; import { log } from "../../shared/log.js"; /** diff --git a/thebeast/packages/gateway/test/encryption.test.ts b/packages/gateway/test/encryption.test.ts similarity index 100% rename from thebeast/packages/gateway/test/encryption.test.ts rename to packages/gateway/test/encryption.test.ts diff --git a/thebeast/packages/interfaces/index.d.ts b/packages/interfaces/index.d.ts similarity index 95% rename from thebeast/packages/interfaces/index.d.ts rename to packages/interfaces/index.d.ts index bbfe7ce5f..a45df5b8d 100644 --- a/thebeast/packages/interfaces/index.d.ts +++ b/packages/interfaces/index.d.ts @@ -2,8 +2,8 @@ import { Socket } from "node:net"; import { ServerError } from "../shared/errors/ServerError.js"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; -import { SerializedBuffer } from "../shared/messageFactory.js"; -import { Configuration } from "../shared/Configuration.js"; +import { SerializedBuffer } from "../shared/messageFactory.ts"; +import { Configuration } from "../shared/Configuration.ts"; /** * @module interfaces @@ -180,7 +180,7 @@ export interface ServiceArgs { type Service = ( args: ServiceArgs, -) => Promise; +) => Promise; export interface KeypressEvent { sequence: string; diff --git a/packages/interfaces/package.json b/packages/interfaces/package.json new file mode 100644 index 000000000..e8dbab429 --- /dev/null +++ b/packages/interfaces/package.json @@ -0,0 +1,13 @@ +{ + "name": "interfaces", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/packages/lobby/package.json b/packages/lobby/package.json new file mode 100644 index 000000000..2ad9338a0 --- /dev/null +++ b/packages/lobby/package.json @@ -0,0 +1,13 @@ +{ + "name": "lobby", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/lobby/src/LoginInfoMessage.ts b/packages/lobby/src/LoginInfoMessage.ts similarity index 100% rename from thebeast/packages/lobby/src/LoginInfoMessage.ts rename to packages/lobby/src/LoginInfoMessage.ts diff --git a/thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts similarity index 100% rename from thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts rename to packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts diff --git a/thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts similarity index 100% rename from thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts rename to packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts diff --git a/thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts b/packages/lobby/src/NPS_LOBBY_COMMANDS.ts similarity index 100% rename from thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts rename to packages/lobby/src/NPS_LOBBY_COMMANDS.ts diff --git a/thebeast/packages/lobby/src/UserInfoMessage.ts b/packages/lobby/src/UserInfoMessage.ts similarity index 100% rename from thebeast/packages/lobby/src/UserInfoMessage.ts rename to packages/lobby/src/UserInfoMessage.ts diff --git a/thebeast/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts similarity index 90% rename from thebeast/packages/lobby/src/handlers/_setMyUserData.ts rename to packages/lobby/src/handlers/_setMyUserData.ts index 317dc2a96..edb94226d 100644 --- a/thebeast/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,7 +1,6 @@ -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; +import { ServerLogger } from "../../../shared/log.js"; import { LegacyMessage } from "../../../shared/messageFactory.js"; import { UserInfo } from "../UserInfoMessage.js"; -import { getServerConfiguration } from "../../../shared/Configuration.js"; import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; export async function _setMyUserData({ diff --git a/thebeast/packages/lobby/src/handlers/encryptedCommand.ts b/packages/lobby/src/handlers/encryptedCommand.ts similarity index 100% rename from thebeast/packages/lobby/src/handlers/encryptedCommand.ts rename to packages/lobby/src/handlers/encryptedCommand.ts diff --git a/thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts similarity index 100% rename from thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts rename to packages/lobby/src/handlers/handleGetMiniUserList.ts diff --git a/thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts similarity index 100% rename from thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts rename to packages/lobby/src/handlers/handleSendMiniRiffList.ts diff --git a/thebeast/packages/lobby/src/handlers/handleTrackingPing.ts b/packages/lobby/src/handlers/handleTrackingPing.ts similarity index 100% rename from thebeast/packages/lobby/src/handlers/handleTrackingPing.ts rename to packages/lobby/src/handlers/handleTrackingPing.ts diff --git a/thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts similarity index 100% rename from thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts rename to packages/lobby/src/handlers/requestConnectGameServer.ts diff --git a/thebeast/packages/lobby/src/internal.ts b/packages/lobby/src/internal.ts similarity index 100% rename from thebeast/packages/lobby/src/internal.ts rename to packages/lobby/src/internal.ts diff --git a/thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts similarity index 100% rename from thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts rename to packages/lobby/test/handlers/handleSendMiniRiffList.test.ts diff --git a/packages/login/package.json b/packages/login/package.json new file mode 100644 index 000000000..1dd50823a --- /dev/null +++ b/packages/login/package.json @@ -0,0 +1,13 @@ +{ + "name": "login", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts similarity index 100% rename from thebeast/packages/login/src/NPSUserStatus.ts rename to packages/login/src/NPSUserStatus.ts diff --git a/thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts similarity index 100% rename from thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts rename to packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts diff --git a/thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts b/packages/login/src/NPS_LOGIN_COMMANDS.ts similarity index 100% rename from thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts rename to packages/login/src/NPS_LOGIN_COMMANDS.ts diff --git a/thebeast/packages/login/src/index.ts b/packages/login/src/index.ts similarity index 100% rename from thebeast/packages/login/src/index.ts rename to packages/login/src/index.ts diff --git a/thebeast/packages/login/src/internal.ts b/packages/login/src/internal.ts similarity index 100% rename from thebeast/packages/login/src/internal.ts rename to packages/login/src/internal.ts diff --git a/thebeast/packages/login/src/premadeLogin.ts b/packages/login/src/premadeLogin.ts similarity index 100% rename from thebeast/packages/login/src/premadeLogin.ts rename to packages/login/src/premadeLogin.ts diff --git a/thebeast/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts similarity index 100% rename from thebeast/packages/login/test/LoginServer.test.ts rename to packages/login/test/LoginServer.test.ts diff --git a/thebeast/lib/nps/index.ts b/packages/nps/index.ts similarity index 100% rename from thebeast/lib/nps/index.ts rename to packages/nps/index.ts diff --git a/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts b/packages/nps/messageProcessors/getLobMiniRiffList.ts similarity index 94% rename from thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts rename to packages/nps/messageProcessors/getLobMiniRiffList.ts index 0b0f6d581..6f4b10766 100644 --- a/thebeast/lib/nps/messageProcessors/getLobMiniRiffList.ts +++ b/packages/nps/messageProcessors/getLobMiniRiffList.ts @@ -1,4 +1,4 @@ -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; import { getAsHex } from "../utils/pureGet.js"; diff --git a/thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts b/packages/nps/messageProcessors/getLobMiniUserList.ts similarity index 92% rename from thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts rename to packages/nps/messageProcessors/getLobMiniUserList.ts index e907b8e07..1573135a8 100644 --- a/thebeast/lib/nps/messageProcessors/getLobMiniUserList.ts +++ b/packages/nps/messageProcessors/getLobMiniUserList.ts @@ -1,4 +1,4 @@ -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; import { getAsHex } from "../utils/pureGet.js"; diff --git a/thebeast/lib/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts similarity index 98% rename from thebeast/lib/nps/messageProcessors/index.ts rename to packages/nps/messageProcessors/index.ts index f249e1f3e..3caeb489d 100644 --- a/thebeast/lib/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -11,7 +11,7 @@ import { processFirstBuddy } from "./processGetFirstBuddy.js"; import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { processPing } from "./processPing.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export type SocketCallback = (messages: Buffer[]) => void; diff --git a/thebeast/lib/nps/messageProcessors/lobbyCommands.ts b/packages/nps/messageProcessors/lobbyCommands.ts similarity index 100% rename from thebeast/lib/nps/messageProcessors/lobbyCommands.ts rename to packages/nps/messageProcessors/lobbyCommands.ts diff --git a/thebeast/lib/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts similarity index 95% rename from thebeast/lib/nps/messageProcessors/processCheckPlateText.ts rename to packages/nps/messageProcessors/processCheckPlateText.ts index 457944fa2..8094c8d0c 100644 --- a/thebeast/lib/nps/messageProcessors/processCheckPlateText.ts +++ b/packages/nps/messageProcessors/processCheckPlateText.ts @@ -6,7 +6,7 @@ import { getUserSessionByConnectionId, setUserSession, } from "../services/session.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processCheckPlateText( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts similarity index 93% rename from thebeast/lib/nps/messageProcessors/processCheckProfileName.ts rename to packages/nps/messageProcessors/processCheckProfileName.ts index be96d6aa8..77d6406e9 100644 --- a/thebeast/lib/nps/messageProcessors/processCheckProfileName.ts +++ b/packages/nps/messageProcessors/processCheckProfileName.ts @@ -2,7 +2,7 @@ import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processCheckProfileName( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts similarity index 95% rename from thebeast/lib/nps/messageProcessors/processCreateProfile.ts rename to packages/nps/messageProcessors/processCreateProfile.ts index ffe24ff65..73f7fc714 100644 --- a/thebeast/lib/nps/messageProcessors/processCreateProfile.ts +++ b/packages/nps/messageProcessors/processCreateProfile.ts @@ -3,7 +3,7 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processCreateProfile( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts similarity index 98% rename from thebeast/lib/nps/messageProcessors/processDeleteProfile.ts rename to packages/nps/messageProcessors/processDeleteProfile.ts index 0d65e33b6..6d3a026f7 100644 --- a/thebeast/lib/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -9,7 +9,7 @@ import { SessionKey } from "../messageStructs/SessionKey.js"; import { getLenString } from "../utils/pureGet.js"; import { UserStatus } from "../messageStructs/UserStatus.js"; import { UserAction } from "../messageStructs/UserAction.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export function loadPrivateKey(path: string): string { const privateKey = fs.readFileSync(path); diff --git a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts similarity index 92% rename from thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts rename to packages/nps/messageProcessors/processEncryptedGameCommand.ts index 306578a0c..b171e2a6c 100644 --- a/thebeast/lib/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.ts @@ -1,21 +1,18 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage, SerializableData, } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; -import { getAsHex, getLenString } from "../utils/pureGet.js"; +import { getAsHex } from "../utils/pureGet.js"; import { EncryptionSession, getEncryptionSession, getUserSessionByConnectionId, newEncryptionSession, setEncryptionSession, - setUserSession, } from "../services/session.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { lobbyCommandMap } from "./lobbyCommands.js"; -import { getGatewayServer } from "../../../packages/gateway/src/GatewayServer.js"; export async function processEncryptedGameCommand( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts similarity index 96% rename from thebeast/lib/nps/messageProcessors/processGameLogin.ts rename to packages/nps/messageProcessors/processGameLogin.ts index d37239641..13d7d0fc0 100644 --- a/thebeast/lib/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -7,7 +7,7 @@ import { getUserSessionByCustomerId, setUserSession, } from "../services/session.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processGameLogin( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts similarity index 95% rename from thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts rename to packages/nps/messageProcessors/processGetFirstBuddy.ts index 4015b59a2..3383d045d 100644 --- a/thebeast/lib/nps/messageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/messageProcessors/processGetFirstBuddy.ts @@ -8,7 +8,7 @@ import { SocketCallback } from "./index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processFirstBuddy( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts similarity index 97% rename from thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts rename to packages/nps/messageProcessors/processGetProfileInfo.ts index c59fa6efd..53a1ed1c2 100644 --- a/thebeast/lib/nps/messageProcessors/processGetProfileInfo.ts +++ b/packages/nps/messageProcessors/processGetProfileInfo.ts @@ -5,7 +5,7 @@ import { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processGetProfileInfo( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts similarity index 97% rename from thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts rename to packages/nps/messageProcessors/processGetProfileMaps.ts index b36e48516..a3a409ed6 100644 --- a/thebeast/lib/nps/messageProcessors/processGetProfileMaps.ts +++ b/packages/nps/messageProcessors/processGetProfileMaps.ts @@ -5,7 +5,7 @@ import { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processGetProfileMaps( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts similarity index 97% rename from thebeast/lib/nps/messageProcessors/processLobbyLogin.ts rename to packages/nps/messageProcessors/processLobbyLogin.ts index afb4220cb..b0fc8dfc4 100644 --- a/thebeast/lib/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -10,7 +10,7 @@ import { } from "../services/session.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { UserInfo } from "../messageStructs/UserInfo.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processLobbyLogin( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts similarity index 92% rename from thebeast/lib/nps/messageProcessors/processPing.ts rename to packages/nps/messageProcessors/processPing.ts index 185d53f02..8333a7784 100644 --- a/thebeast/lib/nps/messageProcessors/processPing.ts +++ b/packages/nps/messageProcessors/processPing.ts @@ -6,7 +6,7 @@ import { getUserSessionByConnectionId, setUserSession, } from "../services/session.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export async function processPing( connectionId: string, diff --git a/thebeast/lib/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts similarity index 96% rename from thebeast/lib/nps/messageProcessors/processUserLogin.ts rename to packages/nps/messageProcessors/processUserLogin.ts index a091c7ea5..0b84a3c8a 100644 --- a/thebeast/lib/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { ISerializable } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import fs from "node:fs"; import crypto from "node:crypto"; @@ -10,8 +10,8 @@ import { SessionKey } from "../messageStructs/SessionKey.js"; import { getAsHex, getLenString } from "../utils/pureGet.js"; import { UserStatus } from "../messageStructs/UserStatus.js"; import { UserAction } from "../messageStructs/UserAction.js"; -import { log } from "../../../packages/shared/log.js"; -import { getServerConfiguration } from "../../../packages/shared/Configuration.js"; +import { log } from "../../shared/log.js"; +import { getServerConfiguration } from "../../shared/Configuration.js"; export function loadPrivateKey(path: string): string { const privateKey = fs.readFileSync(path); diff --git a/thebeast/lib/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts similarity index 99% rename from thebeast/lib/nps/messageStructs/GameMessage.ts rename to packages/nps/messageStructs/GameMessage.ts index 348973baf..8b4ce7319 100644 --- a/thebeast/lib/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -1,4 +1,4 @@ -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { ISerializable, IMessageHeader, IMessage } from "../types.js"; export class MessageHeader implements IMessageHeader { diff --git a/thebeast/lib/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts similarity index 99% rename from thebeast/lib/nps/messageStructs/GameProfile.ts rename to packages/nps/messageStructs/GameProfile.ts index 7560a769b..a07d6fec7 100644 --- a/thebeast/lib/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -6,7 +6,7 @@ import { getLenString, getShortBool, } from "../utils/pureGet.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export class GameProfile implements ISerializable { customerId: number; // 4 bytes diff --git a/thebeast/lib/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts similarity index 98% rename from thebeast/lib/nps/messageStructs/MiniRiffList.ts rename to packages/nps/messageStructs/MiniRiffList.ts index 258549328..8b86e99ad 100644 --- a/thebeast/lib/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,4 +1,4 @@ -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { IMessage, IMessageHeader, ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; import { GameMessage } from "./GameMessage.js"; diff --git a/thebeast/lib/nps/messageStructs/MiniUserList.ts b/packages/nps/messageStructs/MiniUserList.ts similarity index 97% rename from thebeast/lib/nps/messageStructs/MiniUserList.ts rename to packages/nps/messageStructs/MiniUserList.ts index 54aaf866f..ddaed2a5e 100644 --- a/thebeast/lib/nps/messageStructs/MiniUserList.ts +++ b/packages/nps/messageStructs/MiniUserList.ts @@ -1,6 +1,6 @@ import { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; export class MiniUserInfo implements ISerializable { userId: number; // 4 bytes diff --git a/thebeast/lib/nps/messageStructs/NPSList.ts b/packages/nps/messageStructs/NPSList.ts similarity index 100% rename from thebeast/lib/nps/messageStructs/NPSList.ts rename to packages/nps/messageStructs/NPSList.ts diff --git a/thebeast/lib/nps/messageStructs/ProfileList.ts b/packages/nps/messageStructs/ProfileList.ts similarity index 100% rename from thebeast/lib/nps/messageStructs/ProfileList.ts rename to packages/nps/messageStructs/ProfileList.ts diff --git a/thebeast/lib/nps/messageStructs/SessionKey.ts b/packages/nps/messageStructs/SessionKey.ts similarity index 100% rename from thebeast/lib/nps/messageStructs/SessionKey.ts rename to packages/nps/messageStructs/SessionKey.ts diff --git a/thebeast/lib/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts similarity index 100% rename from thebeast/lib/nps/messageStructs/UserAction.ts rename to packages/nps/messageStructs/UserAction.ts diff --git a/thebeast/lib/nps/messageStructs/UserInfo.ts b/packages/nps/messageStructs/UserInfo.ts similarity index 96% rename from thebeast/lib/nps/messageStructs/UserInfo.ts rename to packages/nps/messageStructs/UserInfo.ts index 2958e10d6..10e6a5c52 100644 --- a/thebeast/lib/nps/messageStructs/UserInfo.ts +++ b/packages/nps/messageStructs/UserInfo.ts @@ -1,4 +1,4 @@ -import { log } from "../../../packages/shared/log.js"; +import { log } from "../../shared/log.js"; import { ISerializable } from "../types.js"; export class UserInfo implements ISerializable { diff --git a/thebeast/lib/nps/messageStructs/UserStatus.ts b/packages/nps/messageStructs/UserStatus.ts similarity index 100% rename from thebeast/lib/nps/messageStructs/UserStatus.ts rename to packages/nps/messageStructs/UserStatus.ts diff --git a/packages/nps/package.json b/packages/nps/package.json new file mode 100644 index 000000000..b9ab7e107 --- /dev/null +++ b/packages/nps/package.json @@ -0,0 +1,17 @@ +{ + "name": "nps", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "@sentry/node": "^7.102.0", + "short-unique-id": "^5.0.3" + } +} diff --git a/thebeast/lib/nps/services/account.ts b/packages/nps/services/account.ts similarity index 100% rename from thebeast/lib/nps/services/account.ts rename to packages/nps/services/account.ts diff --git a/thebeast/lib/nps/services/profile.ts b/packages/nps/services/profile.ts similarity index 100% rename from thebeast/lib/nps/services/profile.ts rename to packages/nps/services/profile.ts diff --git a/thebeast/lib/nps/services/session.ts b/packages/nps/services/session.ts similarity index 100% rename from thebeast/lib/nps/services/session.ts rename to packages/nps/services/session.ts diff --git a/thebeast/lib/nps/services/token.ts b/packages/nps/services/token.ts similarity index 100% rename from thebeast/lib/nps/services/token.ts rename to packages/nps/services/token.ts diff --git a/thebeast/lib/nps/services/types.ts b/packages/nps/services/types.ts similarity index 100% rename from thebeast/lib/nps/services/types.ts rename to packages/nps/services/types.ts diff --git a/thebeast/lib/nps/types.ts b/packages/nps/types.ts similarity index 100% rename from thebeast/lib/nps/types.ts rename to packages/nps/types.ts diff --git a/thebeast/lib/nps/utils/pureCompare.ts b/packages/nps/utils/pureCompare.ts similarity index 100% rename from thebeast/lib/nps/utils/pureCompare.ts rename to packages/nps/utils/pureCompare.ts diff --git a/thebeast/lib/nps/utils/pureGet.ts b/packages/nps/utils/pureGet.ts similarity index 100% rename from thebeast/lib/nps/utils/pureGet.ts rename to packages/nps/utils/pureGet.ts diff --git a/thebeast/lib/nps/utils/purePut.ts b/packages/nps/utils/purePut.ts similarity index 100% rename from thebeast/lib/nps/utils/purePut.ts rename to packages/nps/utils/purePut.ts diff --git a/packages/patch/package.json b/packages/patch/package.json new file mode 100644 index 000000000..c0b45f355 --- /dev/null +++ b/packages/patch/package.json @@ -0,0 +1,13 @@ +{ + "name": "patch", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/patch/src/PatchServer.ts b/packages/patch/src/PatchServer.ts similarity index 100% rename from thebeast/packages/patch/src/PatchServer.ts rename to packages/patch/src/PatchServer.ts diff --git a/thebeast/packages/patch/test/PatchServer.test.ts b/packages/patch/test/PatchServer.test.ts similarity index 100% rename from thebeast/packages/patch/test/PatchServer.test.ts rename to packages/patch/test/PatchServer.test.ts diff --git a/packages/persona/package.json b/packages/persona/package.json new file mode 100644 index 000000000..0b13fd8a8 --- /dev/null +++ b/packages/persona/package.json @@ -0,0 +1,13 @@ +{ + "name": "persona", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts similarity index 100% rename from thebeast/packages/persona/src/BuddyInfoMessage.ts rename to packages/persona/src/BuddyInfoMessage.ts diff --git a/thebeast/packages/persona/src/PersonaMapsMessage.ts b/packages/persona/src/PersonaMapsMessage.ts similarity index 100% rename from thebeast/packages/persona/src/PersonaMapsMessage.ts rename to packages/persona/src/PersonaMapsMessage.ts diff --git a/thebeast/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts similarity index 100% rename from thebeast/packages/persona/src/_gameLogout.ts rename to packages/persona/src/_gameLogout.ts diff --git a/thebeast/packages/persona/src/_getFirstBuddy.ts b/packages/persona/src/_getFirstBuddy.ts similarity index 100% rename from thebeast/packages/persona/src/_getFirstBuddy.ts rename to packages/persona/src/_getFirstBuddy.ts diff --git a/thebeast/packages/persona/src/_selectGamePersona.ts b/packages/persona/src/_selectGamePersona.ts similarity index 100% rename from thebeast/packages/persona/src/_selectGamePersona.ts rename to packages/persona/src/_selectGamePersona.ts diff --git a/thebeast/packages/persona/src/getPersonasByPersonaId.ts b/packages/persona/src/getPersonasByPersonaId.ts similarity index 100% rename from thebeast/packages/persona/src/getPersonasByPersonaId.ts rename to packages/persona/src/getPersonasByPersonaId.ts diff --git a/thebeast/packages/persona/src/handlers/validatePersonaName.ts b/packages/persona/src/handlers/validatePersonaName.ts similarity index 100% rename from thebeast/packages/persona/src/handlers/validatePersonaName.ts rename to packages/persona/src/handlers/validatePersonaName.ts diff --git a/thebeast/packages/persona/src/internal.ts b/packages/persona/src/internal.ts similarity index 100% rename from thebeast/packages/persona/src/internal.ts rename to packages/persona/src/internal.ts diff --git a/thebeast/packages/persona/test/getPersonasByPersonaId.test.ts b/packages/persona/test/getPersonasByPersonaId.test.ts similarity index 100% rename from thebeast/packages/persona/test/getPersonasByPersonaId.test.ts rename to packages/persona/test/getPersonasByPersonaId.test.ts diff --git a/thebeast/packages/shard/README.md b/packages/shard/README.md similarity index 100% rename from thebeast/packages/shard/README.md rename to packages/shard/README.md diff --git a/packages/shard/package.json b/packages/shard/package.json new file mode 100644 index 000000000..a5814bd37 --- /dev/null +++ b/packages/shard/package.json @@ -0,0 +1,13 @@ +{ + "name": "shard", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/shard/src/ShardServer.ts b/packages/shard/src/ShardServer.ts similarity index 100% rename from thebeast/packages/shard/src/ShardServer.ts rename to packages/shard/src/ShardServer.ts diff --git a/thebeast/packages/shard/src/index.ts b/packages/shard/src/index.ts similarity index 100% rename from thebeast/packages/shard/src/index.ts rename to packages/shard/src/index.ts diff --git a/thebeast/packages/shard/src/shard-entry.ts b/packages/shard/src/shard-entry.ts similarity index 100% rename from thebeast/packages/shard/src/shard-entry.ts rename to packages/shard/src/shard-entry.ts diff --git a/thebeast/packages/shard/test/fixtures/testCert.txt b/packages/shard/test/fixtures/testCert.txt similarity index 100% rename from thebeast/packages/shard/test/fixtures/testCert.txt rename to packages/shard/test/fixtures/testCert.txt diff --git a/thebeast/packages/shard/test/fixtures/testKey.txt b/packages/shard/test/fixtures/testKey.txt similarity index 100% rename from thebeast/packages/shard/test/fixtures/testKey.txt rename to packages/shard/test/fixtures/testKey.txt diff --git a/thebeast/packages/shard/test/shard-entry.test.ts b/packages/shard/test/shard-entry.test.ts similarity index 100% rename from thebeast/packages/shard/test/shard-entry.test.ts rename to packages/shard/test/shard-entry.test.ts diff --git a/thebeast/packages/shared/Configuration.ts b/packages/shared/Configuration.ts similarity index 100% rename from thebeast/packages/shared/Configuration.ts rename to packages/shared/Configuration.ts diff --git a/thebeast/packages/shared/MessageNode.ts b/packages/shared/MessageNode.ts similarity index 100% rename from thebeast/packages/shared/MessageNode.ts rename to packages/shared/MessageNode.ts diff --git a/thebeast/packages/shared/ServerMessage.test.ts b/packages/shared/ServerMessage.test.ts similarity index 100% rename from thebeast/packages/shared/ServerMessage.test.ts rename to packages/shared/ServerMessage.test.ts diff --git a/thebeast/packages/shared/State.ts b/packages/shared/State.ts similarity index 100% rename from thebeast/packages/shared/State.ts rename to packages/shared/State.ts diff --git a/thebeast/packages/shared/SubThread.ts b/packages/shared/SubThread.ts similarity index 100% rename from thebeast/packages/shared/SubThread.ts rename to packages/shared/SubThread.ts diff --git a/thebeast/packages/shared/TimeStamp.ts b/packages/shared/TimeStamp.ts similarity index 100% rename from thebeast/packages/shared/TimeStamp.ts rename to packages/shared/TimeStamp.ts diff --git a/thebeast/packages/shared/log.ts b/packages/shared/log.ts similarity index 100% rename from thebeast/packages/shared/log.ts rename to packages/shared/log.ts diff --git a/thebeast/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts similarity index 100% rename from thebeast/packages/shared/messageFactory.ts rename to packages/shared/messageFactory.ts diff --git a/packages/shared/package.json b/packages/shared/package.json new file mode 100644 index 000000000..02fbc1d12 --- /dev/null +++ b/packages/shared/package.json @@ -0,0 +1,16 @@ +{ + "name": "shared", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC", + "dependencies": { + "pino": "^8.18.0" + } +} diff --git a/thebeast/packages/shared/src/BaseSerialized.ts b/packages/shared/src/BaseSerialized.ts similarity index 100% rename from thebeast/packages/shared/src/BaseSerialized.ts rename to packages/shared/src/BaseSerialized.ts diff --git a/thebeast/packages/shared/src/NetworkMessage.ts b/packages/shared/src/NetworkMessage.ts similarity index 100% rename from thebeast/packages/shared/src/NetworkMessage.ts rename to packages/shared/src/NetworkMessage.ts diff --git a/thebeast/packages/shared/src/RawMessage.ts b/packages/shared/src/RawMessage.ts similarity index 100% rename from thebeast/packages/shared/src/RawMessage.ts rename to packages/shared/src/RawMessage.ts diff --git a/thebeast/packages/shared/src/SerializedBuffer.ts b/packages/shared/src/SerializedBuffer.ts similarity index 100% rename from thebeast/packages/shared/src/SerializedBuffer.ts rename to packages/shared/src/SerializedBuffer.ts diff --git a/thebeast/packages/shared/src/ServerMessage.ts b/packages/shared/src/ServerMessage.ts similarity index 100% rename from thebeast/packages/shared/src/ServerMessage.ts rename to packages/shared/src/ServerMessage.ts diff --git a/thebeast/packages/shared/structs.ts b/packages/shared/structs.ts similarity index 100% rename from thebeast/packages/shared/structs.ts rename to packages/shared/structs.ts diff --git a/thebeast/packages/shared/test/BaseSerialized.test.ts b/packages/shared/test/BaseSerialized.test.ts similarity index 100% rename from thebeast/packages/shared/test/BaseSerialized.test.ts rename to packages/shared/test/BaseSerialized.test.ts diff --git a/thebeast/packages/shared/test/RawMessage.test.ts b/packages/shared/test/RawMessage.test.ts similarity index 100% rename from thebeast/packages/shared/test/RawMessage.test.ts rename to packages/shared/test/RawMessage.test.ts diff --git a/thebeast/packages/shared/test/SerializedBuffer.test.ts b/packages/shared/test/SerializedBuffer.test.ts similarity index 100% rename from thebeast/packages/shared/test/SerializedBuffer.test.ts rename to packages/shared/test/SerializedBuffer.test.ts diff --git a/thebeast/packages/shared/types.ts b/packages/shared/types.ts similarity index 100% rename from thebeast/packages/shared/types.ts rename to packages/shared/types.ts diff --git a/packages/transactions/package.json b/packages/transactions/package.json new file mode 100644 index 000000000..af871fdd1 --- /dev/null +++ b/packages/transactions/package.json @@ -0,0 +1,13 @@ +{ + "name": "transactions", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/packages/transactions/src/ArcadeCarMessage.ts b/packages/transactions/src/ArcadeCarMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/ArcadeCarMessage.ts rename to packages/transactions/src/ArcadeCarMessage.ts diff --git a/thebeast/packages/transactions/src/EntryFeePurseMessage.ts b/packages/transactions/src/EntryFeePurseMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/EntryFeePurseMessage.ts rename to packages/transactions/src/EntryFeePurseMessage.ts diff --git a/thebeast/packages/transactions/src/GameUrlsMessage.ts b/packages/transactions/src/GameUrlsMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/GameUrlsMessage.ts rename to packages/transactions/src/GameUrlsMessage.ts diff --git a/thebeast/packages/transactions/src/GenericReplyMessage.ts b/packages/transactions/src/GenericReplyMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/GenericReplyMessage.ts rename to packages/transactions/src/GenericReplyMessage.ts diff --git a/thebeast/packages/transactions/src/GenericRequestMessage.ts b/packages/transactions/src/GenericRequestMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/GenericRequestMessage.ts rename to packages/transactions/src/GenericRequestMessage.ts diff --git a/thebeast/packages/transactions/src/LobbyMessage.ts b/packages/transactions/src/LobbyMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/LobbyMessage.ts rename to packages/transactions/src/LobbyMessage.ts diff --git a/thebeast/packages/transactions/src/OwnedVehiclesMessage.ts b/packages/transactions/src/OwnedVehiclesMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/OwnedVehiclesMessage.ts rename to packages/transactions/src/OwnedVehiclesMessage.ts diff --git a/thebeast/packages/transactions/src/PartsAssemblyMessage.ts b/packages/transactions/src/PartsAssemblyMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/PartsAssemblyMessage.ts rename to packages/transactions/src/PartsAssemblyMessage.ts diff --git a/thebeast/packages/transactions/src/PlayerInfoMessage.ts b/packages/transactions/src/PlayerInfoMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/PlayerInfoMessage.ts rename to packages/transactions/src/PlayerInfoMessage.ts diff --git a/thebeast/packages/transactions/src/PlayerPhysicalMessage.ts b/packages/transactions/src/PlayerPhysicalMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/PlayerPhysicalMessage.ts rename to packages/transactions/src/PlayerPhysicalMessage.ts diff --git a/thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts b/packages/transactions/src/PlayerRacingHistoryMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts rename to packages/transactions/src/PlayerRacingHistoryMessage.ts diff --git a/thebeast/packages/transactions/src/StockCar.ts b/packages/transactions/src/StockCar.ts similarity index 100% rename from thebeast/packages/transactions/src/StockCar.ts rename to packages/transactions/src/StockCar.ts diff --git a/thebeast/packages/transactions/src/StockCarInfoMessage.ts b/packages/transactions/src/StockCarInfoMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/StockCarInfoMessage.ts rename to packages/transactions/src/StockCarInfoMessage.ts diff --git a/thebeast/packages/transactions/src/TClientConnectMessage.ts b/packages/transactions/src/TClientConnectMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/TClientConnectMessage.ts rename to packages/transactions/src/TClientConnectMessage.ts diff --git a/thebeast/packages/transactions/src/TLoginMessage.ts b/packages/transactions/src/TLoginMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/TLoginMessage.ts rename to packages/transactions/src/TLoginMessage.ts diff --git a/thebeast/packages/transactions/src/TunablesMessage.ts b/packages/transactions/src/TunablesMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/TunablesMessage.ts rename to packages/transactions/src/TunablesMessage.ts diff --git a/thebeast/packages/transactions/src/_getArcadeCarInfo.ts b/packages/transactions/src/_getArcadeCarInfo.ts similarity index 100% rename from thebeast/packages/transactions/src/_getArcadeCarInfo.ts rename to packages/transactions/src/_getArcadeCarInfo.ts diff --git a/thebeast/packages/transactions/src/_getGameUrls.ts b/packages/transactions/src/_getGameUrls.ts similarity index 100% rename from thebeast/packages/transactions/src/_getGameUrls.ts rename to packages/transactions/src/_getGameUrls.ts diff --git a/thebeast/packages/transactions/src/_getOwnedParts.ts b/packages/transactions/src/_getOwnedParts.ts similarity index 100% rename from thebeast/packages/transactions/src/_getOwnedParts.ts rename to packages/transactions/src/_getOwnedParts.ts diff --git a/thebeast/packages/transactions/src/_getOwnedVehicles.ts b/packages/transactions/src/_getOwnedVehicles.ts similarity index 100% rename from thebeast/packages/transactions/src/_getOwnedVehicles.ts rename to packages/transactions/src/_getOwnedVehicles.ts diff --git a/thebeast/packages/transactions/src/_getPlayerInfo.ts b/packages/transactions/src/_getPlayerInfo.ts similarity index 100% rename from thebeast/packages/transactions/src/_getPlayerInfo.ts rename to packages/transactions/src/_getPlayerInfo.ts diff --git a/thebeast/packages/transactions/src/_getPlayerPhysical.ts b/packages/transactions/src/_getPlayerPhysical.ts similarity index 100% rename from thebeast/packages/transactions/src/_getPlayerPhysical.ts rename to packages/transactions/src/_getPlayerPhysical.ts diff --git a/thebeast/packages/transactions/src/_getPlayerRaceHistory.ts b/packages/transactions/src/_getPlayerRaceHistory.ts similarity index 100% rename from thebeast/packages/transactions/src/_getPlayerRaceHistory.ts rename to packages/transactions/src/_getPlayerRaceHistory.ts diff --git a/thebeast/packages/transactions/src/_getStockCarInfo.ts b/packages/transactions/src/_getStockCarInfo.ts similarity index 100% rename from thebeast/packages/transactions/src/_getStockCarInfo.ts rename to packages/transactions/src/_getStockCarInfo.ts diff --git a/thebeast/packages/transactions/src/_getTunables.ts b/packages/transactions/src/_getTunables.ts similarity index 100% rename from thebeast/packages/transactions/src/_getTunables.ts rename to packages/transactions/src/_getTunables.ts diff --git a/thebeast/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts similarity index 100% rename from thebeast/packages/transactions/src/_logout.ts rename to packages/transactions/src/_logout.ts diff --git a/thebeast/packages/transactions/src/_setOptions.ts b/packages/transactions/src/_setOptions.ts similarity index 100% rename from thebeast/packages/transactions/src/_setOptions.ts rename to packages/transactions/src/_setOptions.ts diff --git a/thebeast/packages/transactions/src/_updatePlayerPhysical.ts b/packages/transactions/src/_updatePlayerPhysical.ts similarity index 100% rename from thebeast/packages/transactions/src/_updatePlayerPhysical.ts rename to packages/transactions/src/_updatePlayerPhysical.ts diff --git a/thebeast/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts similarity index 95% rename from thebeast/packages/transactions/src/clientConnect.ts rename to packages/transactions/src/clientConnect.ts index d09d226ad..f9ff3e4b3 100644 --- a/thebeast/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -1,6 +1,5 @@ import { GenericReply } from "./GenericReplyMessage.js"; import { TClientConnectMessage } from "./TClientConnectMessage.js"; -import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; import { McosEncryption, McosSession, @@ -15,7 +14,7 @@ import { } from "../../gateway/src/encryption.js"; import { OldServerMessage } from "../../shared/messageFactory.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { getUserSessionByCustomerId } from "../../../lib/nps/services/session.js"; +import { getUserSessionByCustomerId } from "../../nps/services/session.js"; /** * @param {MessageHandlerArgs} args diff --git a/thebeast/packages/transactions/src/getLobbies.ts b/packages/transactions/src/getLobbies.ts similarity index 100% rename from thebeast/packages/transactions/src/getLobbies.ts rename to packages/transactions/src/getLobbies.ts diff --git a/thebeast/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts similarity index 100% rename from thebeast/packages/transactions/src/internal.ts rename to packages/transactions/src/internal.ts diff --git a/thebeast/packages/transactions/src/login.ts b/packages/transactions/src/login.ts similarity index 100% rename from thebeast/packages/transactions/src/login.ts rename to packages/transactions/src/login.ts diff --git a/thebeast/packages/transactions/src/messageHandlers.ts b/packages/transactions/src/messageHandlers.ts similarity index 100% rename from thebeast/packages/transactions/src/messageHandlers.ts rename to packages/transactions/src/messageHandlers.ts diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts similarity index 100% rename from thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts rename to packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts diff --git a/thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts similarity index 100% rename from thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts rename to packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts diff --git a/thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts similarity index 100% rename from thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts rename to packages/transactions/src/messageHandlers/_updateCachedVehicle.ts diff --git a/thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts b/packages/transactions/src/messageStructs/CarInfoMessage.ts similarity index 96% rename from thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts rename to packages/transactions/src/messageStructs/CarInfoMessage.ts index c81af9977..fb6a4592b 100644 --- a/thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts +++ b/packages/transactions/src/messageStructs/CarInfoMessage.ts @@ -1,4 +1,4 @@ -import { Vehicle } from "../../../../lib/nps/services/types.js"; +import { Vehicle } from "../../../nps/services/types.js"; import { SerializedBuffer } from "../../../shared/messageFactory.js"; import { PartStruct, diff --git a/thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts similarity index 100% rename from thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts rename to packages/transactions/src/messageStructs/PlayerOptionsMessage.ts diff --git a/thebeast/packages/transactions/src/models/PartModel.ts b/packages/transactions/src/models/PartModel.ts similarity index 100% rename from thebeast/packages/transactions/src/models/PartModel.ts rename to packages/transactions/src/models/PartModel.ts diff --git a/thebeast/packages/transactions/src/models/VehicleModel.ts b/packages/transactions/src/models/VehicleModel.ts similarity index 100% rename from thebeast/packages/transactions/src/models/VehicleModel.ts rename to packages/transactions/src/models/VehicleModel.ts diff --git a/thebeast/packages/transactions/src/models/index.ts b/packages/transactions/src/models/index.ts similarity index 100% rename from thebeast/packages/transactions/src/models/index.ts rename to packages/transactions/src/models/index.ts diff --git a/thebeast/packages/transactions/src/services/car.ts b/packages/transactions/src/services/car.ts similarity index 100% rename from thebeast/packages/transactions/src/services/car.ts rename to packages/transactions/src/services/car.ts diff --git a/thebeast/packages/transactions/src/trackingPing.ts b/packages/transactions/src/trackingPing.ts similarity index 100% rename from thebeast/packages/transactions/src/trackingPing.ts rename to packages/transactions/src/trackingPing.ts diff --git a/thebeast/packages/transactions/test/LobbyMessage.test.ts b/packages/transactions/test/LobbyMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/LobbyMessage.test.ts rename to packages/transactions/test/LobbyMessage.test.ts diff --git a/thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts b/packages/transactions/test/OwnedVehiclesMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts rename to packages/transactions/test/OwnedVehiclesMessage.test.ts diff --git a/thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts b/packages/transactions/test/PartsAssemblyMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts rename to packages/transactions/test/PartsAssemblyMessage.test.ts diff --git a/thebeast/packages/transactions/test/PlayerInfoMessage.test.ts b/packages/transactions/test/PlayerInfoMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/PlayerInfoMessage.test.ts rename to packages/transactions/test/PlayerInfoMessage.test.ts diff --git a/thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts b/packages/transactions/test/PlayerRacingHistoryMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts rename to packages/transactions/test/PlayerRacingHistoryMessage.test.ts diff --git a/thebeast/packages/transactions/test/TClientConnectMessage.test.ts b/packages/transactions/test/TClientConnectMessage.test.ts similarity index 100% rename from thebeast/packages/transactions/test/TClientConnectMessage.test.ts rename to packages/transactions/test/TClientConnectMessage.test.ts diff --git a/thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts b/packages/transactions/test/_getPlayerRaceHistory.test.ts similarity index 100% rename from thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts rename to packages/transactions/test/_getPlayerRaceHistory.test.ts diff --git a/thebeast/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts similarity index 100% rename from thebeast/packages/transactions/test/clientConnect.test.ts rename to packages/transactions/test/clientConnect.test.ts diff --git a/thebeast/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts similarity index 100% rename from thebeast/packages/transactions/test/getLobbies.test.ts rename to packages/transactions/test/getLobbies.test.ts diff --git a/thebeast/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts similarity index 100% rename from thebeast/packages/transactions/test/trackingPing.test.ts rename to packages/transactions/test/trackingPing.test.ts diff --git a/thebeast/packages/transactions/types.ts b/packages/transactions/types.ts similarity index 100% rename from thebeast/packages/transactions/types.ts rename to packages/transactions/types.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f18f34fe..903554ec7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -33,8 +33,63 @@ importers: specifier: ^1.3.1 version: 1.3.1(@types/node@20.11.24) + packages/cli: {} + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: {} + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + packages/shared-packets: {} + packages/transactions: {} + thebeast: dependencies: "@fastify/sensible": diff --git a/thebeast/test/factoryMocks.ts b/test/factoryMocks.ts similarity index 100% rename from thebeast/test/factoryMocks.ts rename to test/factoryMocks.ts diff --git a/thebeast/packages/lobby/src/MiniRiffMessage.js b/thebeast/packages/lobby/src/MiniRiffMessage.js deleted file mode 100644 index dcdc3d0ff..000000000 --- a/thebeast/packages/lobby/src/MiniRiffMessage.js +++ /dev/null @@ -1,99 +0,0 @@ -import { ServerError } from "../../shared/errors/ServerError.js"; -import { - LegacyMessage, - serializeString, - SerializedBuffer, -} from "../../shared/messageFactory.js"; - -export class MiniRiffMessage extends LegacyMessage { - constructor() { - super(); - /** @type {MiniRiffInfo[]} */ - this._riffList = []; - } - - size() { - let size = 4; - for (const riff of this._riffList) { - size += riff.size(); - } - return size; - } - - /** @param {MiniRiffInfo} riff */ - addRiff(riff) { - this._riffList.push(riff); - } - - /** - * @returns {Buffer} - */ - serialize() { - try { - const neededSize = this.size(); - this._header.length = neededSize + 4; - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - let offset = this._header._size; // offset is 4 - buffer.writeUInt16BE(this._riffList.length, offset); - offset += 4; - for (const riff of this._riffList) { - riff.serialize().copy(buffer, offset); - offset += riff.size(); - } - - return buffer; - } catch (error) { - throw ServerError.fromUnknown( - error, - "Error serializing MiniRiffMessage", - ); - } - } - - toString() { - return `MiniRiffMessage: ${this._riffList.length} riff(s)`; - } -} - -export class MiniRiffInfo extends SerializedBuffer { - constructor() { - super(); - this._riffName = ""; // max 32 bytes - this._riffId = 0; // 4 bytes - this._riffPopulation = 0; // 2 bytes - } - - size() { - return 4 + (4 + this._riffName.length + 1) + 4 + 2; - } - - /** - * @returns {Buffer} - */ - serialize() { - try { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - if (this._riffName.length > 32) { - throw new ServerError("Riff name is too long"); - } - offset = serializeString(this._riffName, buffer, offset); - - buffer.writeUInt32BE(this._riffId, offset); - offset += 4; - buffer.writeUInt16BE(this._riffPopulation, offset); - - return buffer; - } catch (error) { - throw ServerError.fromUnknown( - error, - "Error serializing LoginInfoMessage", - ); - } - } - - toString() { - return `MiniRiffInfo: ${this._riffName} (${this._riffId}) - ${this._riffPopulation}`; - } -} diff --git a/thebeast/packages/persona/src/index.js b/thebeast/packages/persona/src/index.js deleted file mode 100644 index b11bb1002..000000000 --- a/thebeast/packages/persona/src/index.js +++ /dev/null @@ -1,46 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { NPSMessage } from "../../shared/messageFactory.js"; - -/** - * Selects a game persona and marks it as in use - * @param {NPSMessage} requestPacket - * @param {ServerLogger} log - * @returns {Promise} - */ -export async function handleSelectGamePersona(requestPacket, log) { - log.debug("_npsSelectGamePersona..."); - - log.debug( - `[npsSelectGamePersona] requestPacket's data prior to sending: ${requestPacket.toString()}`, - ); - - // Create the packet content - const packetContent = Buffer.alloc(251); - - // Build the packet - // Response Code - // 207 = success - const responsePacket = new NPSMessage(); - responsePacket._header.id = 0x207; - responsePacket.setBuffer(packetContent); - - log.debug( - `[npsSelectGamePersona] responsePacket's data prior to sending: ${responsePacket.toString()}`, - ); - return responsePacket; -} diff --git a/thebeast/packages/shared/NPSMessage.js b/thebeast/packages/shared/NPSMessage.js deleted file mode 100644 index 9ea25fe10..000000000 --- a/thebeast/packages/shared/NPSMessage.js +++ /dev/null @@ -1,84 +0,0 @@ -/** - * @module shared/NPSMessage - */ - -import { ServerError } from "./errors/ServerError.js"; - -/** - * @class NPSMessage - */ -export class NPSMessage { - constructor() { - this.msgNo = 0; - this.msgVersion = 0; - this.reserved = 0; - this.data = Buffer.alloc(0); - this.msgLength = 0; - } - - /** - * - * @param {Buffer} buffer - */ - setContent(buffer) { - this.data = buffer; - this.msgLength = this.data.length + 12; // skipcq: JS-0377 - } - - /** - * - * @return {Buffer} - */ - serialize() { - try { - const packet = Buffer.alloc(this.msgLength); - packet.writeInt16BE(this.msgNo, 0); - packet.writeInt16BE(this.msgLength, 2); - if (this.msgLength > 4) { - packet.writeInt16BE(this.msgVersion, 4); - packet.writeInt16BE(this.reserved, 6); - } - - if (this.msgLength > 8) { - packet.writeInt32BE(this.msgLength, 8); - this.data.copy(packet, 12); - } - - return packet; - } catch (error) { - if (error instanceof Error) { - const err = new ServerError( - `[NPSMsg] Error in serialize(): ${error.message}`, - ); - throw err; - } - const err = new ServerError( - "[NPSMsg] Error in serialize(), error unknown", - ); - throw err; - } - } - - /** - * - * @param {Buffer} packet - * @return {NPSMessage} - */ - deserialize(packet) { - this.msgNo = packet.readInt16BE(0); - this.msgLength = packet.readInt16BE(2); - this.msgVersion = packet.readInt16BE(4); - this.data = packet.subarray(12); - return this; - } - - toString() { - return `NPSMessage: ${JSON.stringify({ - msgNo: this.msgNo, - msgLength: this.msgLength, - msgVersion: this.msgVersion, - reserved: this.reserved, - content: this.data.toString("hex"), - })}`; - } -} diff --git a/thebeast/packages/shared/RawMessageHeader.js b/thebeast/packages/shared/RawMessageHeader.js deleted file mode 100644 index 436ab33a7..000000000 --- a/thebeast/packages/shared/RawMessageHeader.js +++ /dev/null @@ -1,58 +0,0 @@ -import { ServerError } from "./errors/ServerError.js"; - -export class RawMessageHeader { - constructor() { - this.id = 0; // 2 bytes - this.length = 0; // 2 bytes - this.version = 257; // 2 bytes (0x0101) - this.reserved = 0; // 2 bytes - this.checksum = 0; // 4 bytes - } - - /** - * @param {Buffer} buffer - * @returns {RawMessageHeader} - * @throws {Error} If the buffer is too short - * @throws {Error} If the buffer is malformed - */ - deserialize(buffer) { - if (buffer.length < 4) { - throw new ServerError( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - - try { - this.id = buffer.readInt16BE(0); - this.length = buffer.readInt16BE(2); - } catch (error) { - throw new ServerError( - `Error deserializing buffer: ${String(error)}`, - ); - } - return this; - } - - /** - * @returns {Buffer} - * @throws {Error} If there is an error serializing the buffer - */ - serialize() { - const buffer = Buffer.alloc(RawMessageHeader.size()); - this.checksum = this.length; - buffer.writeInt16BE(this.id, 0); - buffer.writeInt16BE(this.length, 2); - buffer.writeInt16BE(this.version, 4); - buffer.writeInt16BE(this.reserved, 6); - buffer.writeInt32BE(this.checksum, 8); - return buffer; - } - - static size() { - return 12; - } - - toString() { - return `id: ${this.id}, length: ${this.length}`; - } -} diff --git a/thebeast/packages/shared/utils.js b/thebeast/packages/shared/utils.js deleted file mode 100644 index d7f752fc7..000000000 --- a/thebeast/packages/shared/utils.js +++ /dev/null @@ -1,16 +0,0 @@ -/** - * Convert to zero padded hex - * - * @export - * @param {Buffer} data - * @return {string} - */ - -export function toHex(data) { - /** @type {string[]} */ - const bytes = []; - data.forEach((b) => { - bytes.push(b.toString(16).toUpperCase().padStart(2, "0")); - }); - return bytes.join(""); -} diff --git a/thebeast/server.ts b/thebeast/server.ts index 4449e748a..b6f06895c 100755 --- a/thebeast/server.ts +++ b/thebeast/server.ts @@ -16,10 +16,10 @@ import Sentry from "@sentry/node"; import { ProfilingIntegration } from "@sentry/profiling-node"; -import { ServerLoggerLevels, getServerLogger } from "./packages/shared/log.js"; -import { verifyLegacyCipherSupport } from "./packages/gateway/src/encryption.js"; -import { getServerConfiguration } from "./packages/shared/Configuration.js"; -import { getGatewayServer } from "./packages/gateway/src/GatewayServer.js"; +import { ServerLoggerLevels, getServerLogger } from "../packages/shared/log.js"; +import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; +import { getServerConfiguration } from "../packages/shared/Configuration.js"; +import { getGatewayServer } from "../packages/gateway/src/GatewayServer.js"; import { exit } from "node:process"; const coreLogger = getServerLogger({ diff --git a/tsconfig.json b/tsconfig.json index 12def2bc4..ee1e56cd4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -21,5 +21,6 @@ "vite.config.ts", "server.ts", "migrate.ts", + "test", ], } From 575527fa7c39ab9cffe04ce43f642a920321369a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 1 Mar 2024 20:33:18 -0500 Subject: [PATCH 140/452] Update test command --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 680d6034c..adc8efd1d 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -31,7 +31,7 @@ jobs: run: | corepack enable pnpm pnpm install - pnpm test --filter thebeast + pnpm test - name: Codecov if: ${{ always() }} env: From 7afc1f66e67309d0201867d1ac460482417e035e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 1 Mar 2024 21:04:44 -0500 Subject: [PATCH 141/452] Remove slonik from being a global object --- migrate.ts | 4 +- packages/database/src/cache.ts | 4 +- .../database/src/models/VehiclePartTree.ts | 11 +- packages/database/src/services/admin.ts | 10 +- packages/database/src/services/database.ts | 167 ++++++++++-------- .../_getCompleteVehicleInfo.spec.ts | 11 +- 6 files changed, 116 insertions(+), 91 deletions(-) diff --git a/migrate.ts b/migrate.ts index 2a8c67bd4..4f8c8e989 100644 --- a/migrate.ts +++ b/migrate.ts @@ -1,11 +1,11 @@ import { SlonikMigrator } from "@slonik/migrator"; -import { slonik } from "./packages/database/src/services/database.js"; +import { getSlonik } from "./packages/database/src/services/database.js"; const migrator = new SlonikMigrator({ migrationsPath: "migrations", migrationTableName: "migration", // @ts-ignore We know this works - slonik, + slonik: getSlonik().slonik, logger: SlonikMigrator.prettyLogger, }); diff --git a/packages/database/src/cache.ts b/packages/database/src/cache.ts index fccbb93c6..48ec69c65 100644 --- a/packages/database/src/cache.ts +++ b/packages/database/src/cache.ts @@ -1,6 +1,6 @@ import { TBrand } from "./models/Brand.js"; import { VehiclePartTreeType } from "./models/VehiclePartTree.js"; -import { slonik, sql } from "./services/database.js"; +import { getSlonik } from "./services/database.js"; import * as Sentry from "@sentry/node"; const brandCache = new Map(); @@ -21,6 +21,8 @@ export async function getBrand(brandName: string): Promise { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); + const brand = await slonik.one(sql.typeAlias("brand")` SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} `); diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts index 07dc3000e..de4188f54 100644 --- a/packages/database/src/models/VehiclePartTree.ts +++ b/packages/database/src/models/VehiclePartTree.ts @@ -1,7 +1,7 @@ import { log } from "../../../shared/log.js"; import * as Sentry from "@sentry/node"; import { setVehiclePartTree } from "../cache.js"; -import { sql, slonik } from "../services/database.js"; +import { getSlonik } from "../services/database.js"; import { TPart } from "./Part.js"; const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; @@ -62,6 +62,7 @@ async function getNextPartId(): Promise { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` SELECT nextval('part_partid_seq') `); @@ -84,6 +85,7 @@ export async function savePart(part: TPart): Promise { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.query(sql.typeAlias("dbPart")` INSERT INTO part ( partid, @@ -156,6 +158,7 @@ export async function saveVehicle( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.query(sql.typeAlias("vehicle")` INSERT INTO vehicle ( vehicleid, @@ -231,6 +234,7 @@ export async function buildVehiclePartTreeFromDB( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.one(sql.typeAlias("vehicle")` SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle @@ -282,6 +286,7 @@ export async function buildVehiclePartTreeFromDB( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.one(sql.typeAlias("part")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part @@ -310,6 +315,7 @@ export async function buildVehiclePartTreeFromDB( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.many(sql.typeAlias("dbPart")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part @@ -365,6 +371,7 @@ export async function buildVehiclePartTreeFromDB( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.many(sql.typeAlias("dbPart")` SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part @@ -437,6 +444,7 @@ export async function buildVehiclePartTree({ }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.one(sql.typeAlias("ptSkin")` SELECT defaultflag FROM ptskin @@ -465,6 +473,7 @@ export async function buildVehiclePartTree({ }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.many(sql.typeAlias("detailedPart")` SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts index 988d511dd..d7abc7bcb 100644 --- a/packages/database/src/services/admin.ts +++ b/packages/database/src/services/admin.ts @@ -1,5 +1,5 @@ import { DatabaseTransactionConnection } from "slonik"; -import { slonik, sql } from "./database.js"; +import { getSlonik } from "./database.js"; import { log } from "../../../shared/log.js"; import * as Sentry from "@sentry/node"; @@ -15,6 +15,7 @@ async function playerExists(playerId: number): Promise { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM player WHERE playerid = ${playerId} `); @@ -34,6 +35,7 @@ async function skinExists(skinId: number): Promise { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM ptskin WHERE skinid = ${skinId} `); @@ -56,6 +58,7 @@ async function getAbstractPartTypeIDForBrandedPartID( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.one(sql.typeAlias("abstractPartType")` SELECT pt.abstractparttypeid FROM brandedpart bp @@ -135,6 +138,7 @@ export async function createNewCar( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return slonik.many(sql.typeAlias("brandedPart")` SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a @@ -166,6 +170,7 @@ export async function createNewCar( }, }, async (span) => { + const { slonik, sql } = await getSlonik(); slonik.transaction(async (connection) => { // First insert the new car into the vehicle table @@ -271,6 +276,7 @@ async function addPart( newCarOwenrId: number, ) { try { + const { slonik, sql } = await getSlonik(); await connection.query(sql.typeAlias("part")` INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) @@ -299,6 +305,7 @@ async function getPart( requestedPartId: number, ): Promise { try { + const { slonik, sql } = await getSlonik(); const part = await connection.one(sql.typeAlias("dbPart")` SELECT FROM part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) WHERE partid = ${requestedPartId} @@ -333,6 +340,7 @@ async function getNextSq(seqName: string) { }, }, async (span) => { + const { slonik, sql } = await getSlonik(); return Number( ( await slonik.one(sql.typeAlias("nextPartId")` diff --git a/packages/database/src/services/database.ts b/packages/database/src/services/database.ts index 366750c19..6f912ce06 100644 --- a/packages/database/src/services/database.ts +++ b/packages/database/src/services/database.ts @@ -1,79 +1,92 @@ -import { createPool } from "slonik"; - -export const slonik = await createPool( - "postgres://user:password@localhost:5432/rm", -); -import { createSqlTag } from "slonik"; +import { createPool, DatabasePool, createSqlTag } from "slonik"; import { z } from "zod"; -export const sql = createSqlTag({ - typeAliases: { - vehicleWithOwner: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - damageinfo: z.instanceof(Buffer) || z.null(), - ownerid: z.number(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - id: z.number(), - brandedPart: z.object({ - partid: z.number() || z.null(), - parentpartid: z.number() || z.null(), - brandedpartid: z.number() || z.null(), - attachmentpointid: z.number() || z.null(), - }), - part: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - partname: z.string() || z.null(), - ownerid: z.number(), - }), - abstractPartType: z.object({ - abstractparttypeid: z.number(), - }), - ptSkin: z.object({ - skinid: z.number(), - defaultflag: z.number(), - }), - nextPartId: z.object({ - nextval: z.bigint(), - }), - detailedPart: z.object({ - brandedpartid: z.number(), - parttypeid: z.number(), - abstractparttypeid: z.number(), - parentabstractparttypeid: z.number(), - attachmentpointid: z.number(), - }), - vehicle: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - infosetting: z.number(), - damageinfo: z.instanceof(Buffer) || z.null(), - }), - brand: z.object({ - brandId: z.number(), - brand: z.string(), - isStock: z.boolean(), - }), - }, -}); +let slonik: DatabasePool; +let sql: ReturnType; + +function initSQL() { + return createSqlTag({ + typeAliases: { + vehicleWithOwner: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + damageinfo: z.instanceof(Buffer) || z.null(), + ownerid: z.number(), + }), + dbPart: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + ownerid: z.number(), + partname: z.string() || z.null(), + repaircost: z.number(), + scrapvalue: z.number(), + }), + id: z.number(), + brandedPart: z.object({ + partid: z.number() || z.null(), + parentpartid: z.number() || z.null(), + brandedpartid: z.number() || z.null(), + attachmentpointid: z.number() || z.null(), + }), + part: z.object({ + partid: z.number(), + parentpartid: z.number(), + brandedpartid: z.number(), + percentdamage: z.number(), + itemwear: z.number(), + attachmentpointid: z.number(), + partname: z.string() || z.null(), + ownerid: z.number(), + }), + abstractPartType: z.object({ + abstractparttypeid: z.number(), + }), + ptSkin: z.object({ + skinid: z.number(), + defaultflag: z.number(), + }), + nextPartId: z.object({ + nextval: z.bigint(), + }), + detailedPart: z.object({ + brandedpartid: z.number(), + parttypeid: z.number(), + abstractparttypeid: z.number(), + parentabstractparttypeid: z.number(), + attachmentpointid: z.number(), + }), + vehicle: z.object({ + vehicleid: z.number(), + skinid: z.number(), + flags: z.number(), + class: z.number(), + infosetting: z.number(), + damageinfo: z.instanceof(Buffer) || z.null(), + }), + brand: z.object({ + brandId: z.number(), + brand: z.string(), + isStock: z.boolean(), + }), + }, + }); +} + +export async function getSlonik(): Promise<{ + slonik: DatabasePool; + sql: ReturnType; +}> { + if (!slonik) { + slonik = await createPool("postgres://user:password@localhost:5432/rm"); + } + if (!sql) { + sql = initSQL(); + } + return { slonik, sql }; +} diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts index 7bdc25a38..1928196f3 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts @@ -6,19 +6,12 @@ import { } from "../../../../test/factoryMocks.js"; describe("_getCompleteVehicleInfo", () => { - it("shou;d throw when passed message is too small", async () => { + it("should throw when passed message is too small", async () => { // Setup const connectionId = "testConnectionId"; const packet = mockServerMessageType(); const log = mockLogger(); - vi.mock("slonik", async (importOriginal) => { - const mod = await importOriginal(); - return { - ...mod, - // replace some exports - createPool: vi.fn(), - }; - }); + const expected = { vehicleId: 1, skinId: 1, From e0ffe611e72b29ba72774815de191495605a775d Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 1 Mar 2024 21:38:37 -0500 Subject: [PATCH 142/452] Move primary app into package tree --- apps/main/package.json | 13 + {thebeast => apps/main}/server.ts | 15 +- package.json | 11 +- packages/cli/package.json | 2 +- packages/database/package.json | 2 +- packages/gateway/package.json | 2 +- packages/interfaces/package.json | 2 +- packages/lobby/package.json | 2 +- packages/login/package.json | 2 +- packages/nps/package.json | 2 +- packages/patch/package.json | 2 +- packages/persona/package.json | 2 +- packages/shard/package.json | 2 +- packages/shared-packets/package.json | 2 +- packages/shared/package.json | 5 +- packages/transactions/package.json | 2 +- pnpm-lock.yaml | 10786 +++++++++---------------- thebeast/package.json | 87 - tsconfig.json | 1 + 19 files changed, 3680 insertions(+), 7262 deletions(-) create mode 100644 apps/main/package.json rename {thebeast => apps/main}/server.ts (85%) delete mode 100644 thebeast/package.json diff --git a/apps/main/package.json b/apps/main/package.json new file mode 100644 index 000000000..326b379ea --- /dev/null +++ b/apps/main/package.json @@ -0,0 +1,13 @@ +{ + "name": "@rustymotors/server", + "version": "1.0.0", + "description": "", + "main": "index.js", + "type": "module", + "scripts": { + "start": "tsx --openssl-legacy-provider --env-file=../../.env server.ts" + }, + "keywords": [], + "author": "", + "license": "ISC" +} diff --git a/thebeast/server.ts b/apps/main/server.ts similarity index 85% rename from thebeast/server.ts rename to apps/main/server.ts index b6f06895c..d22e50ff1 100755 --- a/thebeast/server.ts +++ b/apps/main/server.ts @@ -15,11 +15,14 @@ // along with this program. If not, see . import Sentry from "@sentry/node"; -import { ProfilingIntegration } from "@sentry/profiling-node"; -import { ServerLoggerLevels, getServerLogger } from "../packages/shared/log.js"; -import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; -import { getServerConfiguration } from "../packages/shared/Configuration.js"; -import { getGatewayServer } from "../packages/gateway/src/GatewayServer.js"; +import { nodeProfilingIntegration } from "@sentry/profiling-node"; +import { + ServerLoggerLevels, + getServerLogger, +} from "../../packages/shared/log.js"; +import { verifyLegacyCipherSupport } from "../../packages/gateway/src/encryption.js"; +import { getServerConfiguration } from "../../packages/shared/Configuration.js"; +import { getGatewayServer } from "../../packages/gateway/src/GatewayServer.js"; import { exit } from "node:process"; const coreLogger = getServerLogger({ @@ -40,7 +43,7 @@ Sentry.init({ // for finer control tracesSampleRate: 1.0, profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate - integrations: [new ProfilingIntegration()], + integrations: [nodeProfilingIntegration()], }); try { diff --git a/package.json b/package.json index 6c0a19740..b4238b902 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "type": "module", "scripts": { "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages thebeast", - "start": "pnpm --filter thebeast start" + "start": "pnpm --filter @rustymotors/server start" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -22,13 +22,20 @@ "@slonik/migrator": "^0.12.0", "@types/node": "^20.11.16", "@vitest/coverage-v8": "^1.1.1", + "eslint": "^8.57.0", + "eslint-config-prettier": "^9.1.0", + "eslint-plugin-prettier": "^5.1.3", "nx": "^18.0.6", "prettier": "3.2.4", "typescript": "^5.3.3", "vitest": "^1.3.1" }, "dependencies": { - "slonik": "29" + "@sentry/node": "^7.102.0", + "@sentry/profiling-node": "^7.104.0", + "sentry": "^0.1.2", + "slonik": "29", + "tsx": "^4.7.1" }, "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 9e8e2d0ca..10e311f69 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,5 +1,5 @@ { - "name": "cli", + "name": "@rustymotors/cli", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/database/package.json b/packages/database/package.json index 2c5c082dc..73ec17d26 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,5 +1,5 @@ { - "name": "database", + "name": "@rustymotors/database", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 2dea5c422..b9faa6378 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -1,5 +1,5 @@ { - "name": "gateway", + "name": "@rustymotors/gateway", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/interfaces/package.json b/packages/interfaces/package.json index e8dbab429..c4121e3fc 100644 --- a/packages/interfaces/package.json +++ b/packages/interfaces/package.json @@ -1,5 +1,5 @@ { - "name": "interfaces", + "name": "@rustymotors/interfaces", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/lobby/package.json b/packages/lobby/package.json index 2ad9338a0..b345a7cf7 100644 --- a/packages/lobby/package.json +++ b/packages/lobby/package.json @@ -1,5 +1,5 @@ { - "name": "lobby", + "name": "@rustymotors/lobby", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/login/package.json b/packages/login/package.json index 1dd50823a..79c4216f9 100644 --- a/packages/login/package.json +++ b/packages/login/package.json @@ -1,5 +1,5 @@ { - "name": "login", + "name": "@rustymotors/login", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/nps/package.json b/packages/nps/package.json index b9ab7e107..d1ab35d9f 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -1,5 +1,5 @@ { - "name": "nps", + "name": "@rustymotors/nps", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/patch/package.json b/packages/patch/package.json index c0b45f355..bf5b3872e 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -1,5 +1,5 @@ { - "name": "patch", + "name": "@rustymotors/patch", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/persona/package.json b/packages/persona/package.json index 0b13fd8a8..fec538d05 100644 --- a/packages/persona/package.json +++ b/packages/persona/package.json @@ -1,5 +1,5 @@ { - "name": "persona", + "name": "@rustymotors/persona", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/shard/package.json b/packages/shard/package.json index a5814bd37..8da03d50c 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -1,5 +1,5 @@ { - "name": "shard", + "name": "@rustymotors/shard", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 59828a158..84585e230 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -1,5 +1,5 @@ { - "name": "shared-packets", + "name": "@rustymotors/shared-packets", "private": true, "version": "1.0.0", "description": "", diff --git a/packages/shared/package.json b/packages/shared/package.json index 02fbc1d12..2c231b519 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,5 +1,5 @@ { - "name": "shared", + "name": "@rustymotors/shared", "version": "1.0.0", "description": "", "main": "index.js", @@ -11,6 +11,7 @@ "author": "", "license": "ISC", "dependencies": { - "pino": "^8.18.0" + "pino": "^8.18.0", + "pino-pretty": "^10.3.1" } } diff --git a/packages/transactions/package.json b/packages/transactions/package.json index af871fdd1..f8e905688 100644 --- a/packages/transactions/package.json +++ b/packages/transactions/package.json @@ -1,5 +1,5 @@ { - "name": "transactions", + "name": "@rustymotors/transactions", "version": "1.0.0", "description": "", "main": "index.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 903554ec7..b23ba6d9a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,7160 +1,3640 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - slonik: - specifier: "29" - version: 29.2.0 - devDependencies: - "@slonik/migrator": - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - "@types/node": - specifier: ^20.11.16 - version: 20.11.24 - "@vitest/coverage-v8": - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - packages/cli: {} - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - - packages/interfaces: {} - - packages/lobby: {} - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - - packages/shared-packets: {} - - packages/transactions: {} - - thebeast: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - "@sentry/profiling-node": - specifier: ^7.102.0 - version: 7.104.0 - "@types/connect": - specifier: ^3.4.38 - version: 3.4.38 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - moment: - specifier: ^2.30.1 - version: 2.30.1 - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - sqlite3: - specifier: ^5.1.7 - version: 5.1.7 - ts-node: - specifier: 10.9.2 - version: 10.9.2(@types/node@20.11.24)(typescript@5.3.3) - tslib: - specifier: ^2.6.2 - version: 2.6.2 - devDependencies: - "@sentry/cli": - specifier: ^2.23.2 - version: 2.28.6 - "@tsconfig/node-lts": - specifier: ^20.1.1 - version: 20.1.1 - "@tsconfig/node20": - specifier: ^20.1.2 - version: 20.1.2 - "@types/chai": - specifier: 4.3.11 - version: 4.3.11 - "@types/node": - specifier: ^20.10.6 - version: 20.11.24 - "@types/sinon": - specifier: 17.0.3 - version: 17.0.3 - "@types/sinon-chai": - specifier: 3.2.12 - version: 3.2.12 - "@typescript-eslint/eslint-plugin": - specifier: ^6.17.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/parser": - specifier: ^6.17.0 - version: 6.21.0(eslint@8.57.0)(typescript@5.3.3) - "@vitest/coverage-v8": - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.56.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.2 - version: 5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1) - jsdoc: - specifier: ^4.0.2 - version: 4.0.2 - prettier: - specifier: 3.1.1 - version: 3.1.1 - prettier-eslint: - specifier: 16.2.0 - version: 16.2.0 - tsx: - specifier: 4.7.0 - version: 4.7.0 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - typescript-eslint-language-service: - specifier: ^5.0.5 - version: 5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3) - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - zod: - specifier: ^3.22.4 - version: 3.22.4 -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.24 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@cspotcode/source-map-support@0.8.1: - resolution: - { - integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/trace-mapping": 0.3.9 - dev: false - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@gar/promisify@1.1.3: - resolution: - { - integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==, - } - requiresBuild: true - dev: false - optional: true - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.24 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - - /@jridgewell/trace-mapping@0.3.24: - resolution: - { - integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /@jridgewell/trace-mapping@0.3.9: - resolution: - { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: false - - /@jsdoc/salty@0.2.7: - resolution: - { - integrity: sha512-mh8LbS9d4Jq84KLw8pzho7XC2q2/IJGiJss3xwRoLD1A+EE16SjN4PfaG4jRCzKegTFLlN0Zd8SdUPE6XdoPFg==, - } - engines: { node: ">=v12.0.0" } - dependencies: - lodash: 4.17.21 - dev: true - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@npmcli/fs@1.1.1: - resolution: - { - integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==, - } - requiresBuild: true - dependencies: - "@gar/promisify": 1.1.3 - semver: 7.6.0 - dev: false - optional: true - - /@npmcli/move-file@1.1.2: - resolution: - { - integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==, - } - engines: { node: ">=10" } - deprecated: This functionality has been moved to @npmcli/fs - requiresBuild: true - dependencies: - mkdirp: 1.0.4 - rimraf: 3.0.2 - dev: false - optional: true - - /@nrwl/tao@18.0.6: - resolution: - { - integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, - } - hasBin: true - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - "@swc-node/register" - - "@swc/core" - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: - { - integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: - { - integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: - { - integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: - { - integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, - } - engines: { node: ">= 10" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: - { - integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: - { - integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: - { - integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: - { - integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: - { - integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: - { - integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) - "@types/node": 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.24) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: - { - integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/cli-darwin@2.28.6: - resolution: - { - integrity: sha512-KRf0VvTltHQ5gA7CdbUkaIp222LAk/f1+KqpDzO6nB/jC/tL4sfiy6YyM4uiH6IbVEudB8WpHCECiatmyAqMBA==, - } - engines: { node: ">=10" } - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-arm64@2.28.6: - resolution: - { - integrity: sha512-caMDt37FI752n4/3pVltDjlrRlPFCOxK4PHvoZGQ3KFMsai0ZhE/0CLBUMQqfZf0M0r8KB2x7wqLm7xSELjefQ==, - } - engines: { node: ">=10" } - cpu: [arm64] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-arm@2.28.6: - resolution: - { - integrity: sha512-ANG7U47yEHD1g3JrfhpT4/MclEvmDZhctWgSP5gVw5X4AlcI87E6dTqccnLgvZjiIAQTaJJAZuSHVVF3Jk403w==, - } - engines: { node: ">=10" } - cpu: [arm] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-i686@2.28.6: - resolution: - { - integrity: sha512-Tj1+GMc6lFsDRquOqaGKXFpW9QbmNK4TSfynkWKiJxdTEn5jSMlXXfr0r9OQrxu3dCCqEHkhEyU63NYVpgxIPw==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-linux-x64@2.28.6: - resolution: - { - integrity: sha512-Dt/Xz784w/z3tEObfyJEMmRIzn0D5qoK53H9kZ6e0yNvJOSKNCSOq5cQk4n1/qeG0K/6SU9dirmvHwFUiVNyYg==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [linux, freebsd] - requiresBuild: true - dev: true - optional: true + .: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + '@sentry/profiling-node': + specifier: ^7.104.0 + version: 7.104.0 + sentry: + specifier: ^0.1.2 + version: 0.1.2 + slonik: + specifier: '29' + version: 29.2.0 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + '@slonik/migrator': + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + '@types/node': + specifier: ^20.11.16 + version: 20.11.24 + '@vitest/coverage-v8': + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + apps/main: {} + + packages/cli: {} + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: {} + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} - /@sentry/cli-win32-i686@2.28.6: - resolution: - { - integrity: sha512-zkpWtvY3kt+ogVaAbfFr2MEkgMMHJNJUnNMO8Ixce9gh38sybIkDkZNFnVPBXMClJV0APa4QH0EwumYBFZUMuQ==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli-win32-x64@2.28.6: - resolution: - { - integrity: sha512-TG2YzZ9JMeNFzbicdr5fbtsusVGACbrEfHmPgzWGDeLUP90mZxiMTjkXsE1X/5jQEQjB2+fyfXloba/Ugo51hA==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@sentry/cli@2.28.6: - resolution: - { - integrity: sha512-o2Ngz7xXuhwHxMi+4BFgZ4qjkX0tdZeOSIZkFAGnTbRhQe5T8bxq6CcQRLdPhqMgqvDn7XuJ3YlFtD3ZjHvD7g==, - } - engines: { node: ">= 10" } - hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - "@sentry/cli-darwin": 2.28.6 - "@sentry/cli-linux-arm": 2.28.6 - "@sentry/cli-linux-arm64": 2.28.6 - "@sentry/cli-linux-i686": 2.28.6 - "@sentry/cli-linux-x64": 2.28.6 - "@sentry/cli-win32-i686": 2.28.6 - "@sentry/cli-win32-x64": 2.28.6 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - - /@sentry/core@7.104.0: - resolution: - { - integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: - { - integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.104.0 - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: - { - integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: - { - integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/utils@7.104.0: - resolution: - { - integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@tootallnate/once@1.1.2: - resolution: - { - integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==, - } - engines: { node: ">= 6" } - requiresBuild: true - dev: false - optional: true - - /@tsconfig/node-lts@20.1.1: - resolution: - { - integrity: sha512-V7wHydi1dv8I8xiOX3pJ0lhC+MlOakznvLks94J6y/TqQK6DBcbdD1G4jEq8yU+s6lBASPn4e1Ci636fDqeyvQ==, - } - dev: true - - /@tsconfig/node10@1.0.9: - resolution: - { - integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==, - } - dev: false - - /@tsconfig/node12@1.0.11: - resolution: - { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, - } - dev: false - - /@tsconfig/node14@1.0.3: - resolution: - { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, - } - dev: false - - /@tsconfig/node16@1.0.4: - resolution: - { - integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, - } - dev: false - - /@tsconfig/node20@20.1.2: - resolution: - { - integrity: sha512-madaWq2k+LYMEhmcp0fs+OGaLFk0OenpHa4gmI4VEmCKX4PJntQ6fnnGADVFrVkBj0wIdAlQnK/MrlYTHsa1gQ==, - } - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/chai@4.3.11: - resolution: - { - integrity: sha512-qQR1dr2rGIHYlJulmr8Ioq3De0Le9E4MJ5AiaeAETJJpndT1uUNHsGFK3L/UIu+rbkQSdj8J/w2bCsBZc/Y5fQ==, - } - dev: true - - /@types/connect@3.4.38: - resolution: - { - integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==, - } - dependencies: - "@types/node": 20.11.24 - dev: false - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/json-schema@7.0.15: - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } - dev: true - - /@types/linkify-it@3.0.5: - resolution: - { - integrity: sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==, - } - dev: true - - /@types/markdown-it@12.2.3: - resolution: - { - integrity: sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==, - } - dependencies: - "@types/linkify-it": 3.0.5 - "@types/mdurl": 1.0.5 - dev: true - - /@types/mdurl@1.0.5: - resolution: - { - integrity: sha512-6L6VymKTzYSrEf4Nev4Xa1LCHKrlTlYCBMTlQKFuddo1CvQcE52I0mwfOJayueUC7MJuXOeHTcIU683lzd0cUA==, - } - dev: true - - /@types/node@20.11.24: - resolution: - { - integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@types/semver@7.5.8: - resolution: - { - integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, - } - dev: true - - /@types/sinon-chai@3.2.12: - resolution: - { - integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==, - } - dependencies: - "@types/chai": 4.3.11 - "@types/sinon": 17.0.3 - dev: true - - /@types/sinon@17.0.3: - resolution: - { - integrity: sha512-j3uovdn8ewky9kRBG19bOwaZbexJu/XjtkHyjvUgt4xfPFz18dcORIMqnYh66Fx3Powhcr85NT5+er3+oViapw==, - } - dependencies: - "@types/sinonjs__fake-timers": 8.1.5 - dev: true - - /@types/sinonjs__fake-timers@8.1.5: - resolution: - { - integrity: sha512-mQkU2jY8jJEF7YHjHvsQO8+3ughTL1mcnn96igfhONmR+fUPSKIkefQYpSe8bsly2Ep7oQbn/6VG5/9/0qcArQ==, - } - dev: true - - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: - { - integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - peerDependencies: - "@typescript-eslint/parser": ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - dependencies: - "@eslint-community/regexpp": 4.10.0 - "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/type-utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: - { - integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - dependencies: - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - "@typescript-eslint/visitor-keys": 6.21.0 - debug: 4.3.4 - eslint: 8.57.0 - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/scope-manager@6.21.0: - resolution: - { - integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - dependencies: - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/visitor-keys": 6.21.0 - dev: true - - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: - { - integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - dependencies: - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - "@typescript-eslint/utils": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - debug: 4.3.4 - eslint: 8.57.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/types@6.21.0: - resolution: - { - integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - dev: true - - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.3.3): - resolution: - { - integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - peerDependencies: - typescript: "*" - peerDependenciesMeta: - typescript: - optional: true - dependencies: - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/visitor-keys": 6.21.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.3 - semver: 7.6.0 - ts-api-utils: 1.2.1(typescript@5.3.3) - typescript: 5.3.3 - transitivePeerDependencies: - - supports-color - dev: true - - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.3.3): - resolution: - { - integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@types/json-schema": 7.0.15 - "@types/semver": 7.5.8 - "@typescript-eslint/scope-manager": 6.21.0 - "@typescript-eslint/types": 6.21.0 - "@typescript-eslint/typescript-estree": 6.21.0(typescript@5.3.3) - eslint: 8.57.0 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - - /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { - integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, - } - engines: { node: ^16.0.0 || >=18.0.0 } - dependencies: - "@typescript-eslint/types": 6.21.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: - { - integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, - } - peerDependencies: - vitest: 1.3.1 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: - { - integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, - } - dependencies: - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: - { - integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, - } - dependencies: - "@vitest/utils": 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: - { - integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: - { - integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: - { - integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: - { - integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, - } - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: - { - integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, - } - engines: { node: ">=14.15.0" } - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: - { - integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /abbrev@1.1.1: - resolution: - { - integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==, - } - requiresBuild: true - dev: false - optional: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - - /agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: ">= 6.0.0" } - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - /agentkeepalive@4.5.0: - resolution: - { - integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==, - } - engines: { node: ">= 8.0.0" } - requiresBuild: true - dependencies: - humanize-ms: 1.2.1 - dev: false - optional: true - - /aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: ">=8" } - requiresBuild: true - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - dev: false - optional: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: ">=6" } - dev: true - - /ansi-regex@2.1.1: - resolution: - { - integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - - /ansi-styles@2.2.1: - resolution: - { - integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /aproba@2.0.0: - resolution: - { - integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==, - } - requiresBuild: true - dev: false - optional: true - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /are-we-there-yet@3.0.1: - resolution: - { - integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } - requiresBuild: true - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - dev: false - optional: true - - /arg@4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: ">=8" } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: - { - integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, - } - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - - /bindings@1.5.0: - resolution: - { - integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==, - } - dependencies: - file-uri-to-path: 1.0.0 - dev: false - - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: ">=8" } - dependencies: - fill-range: 7.0.1 - dev: true - - /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: - { - integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, - } - engines: { node: ">=0.3.0" } - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /cacache@15.3.0: - resolution: - { - integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==, - } - engines: { node: ">= 10" } - requiresBuild: true - dependencies: - "@npmcli/fs": 1.1.1 - "@npmcli/move-file": 1.1.2 - chownr: 2.0.0 - fs-minipass: 2.1.0 - glob: 7.2.3 - infer-owner: 1.0.4 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - mkdirp: 1.0.4 - p-map: 4.0.0 - promise-inflight: 1.0.1 - rimraf: 3.0.2 - ssri: 8.0.1 - tar: 6.2.0 - unique-filename: 1.1.1 - transitivePeerDependencies: - - bluebird - dev: false - optional: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /catharsis@0.9.0: - resolution: - { - integrity: sha512-prMTQVpcns/tzFgFVkVp6ak6RykZyWb3gu8ckUpd6YkTlacOd3DXGJjIpD4Q6zJirizvaiAjSSHlOsA+6sNh2A==, - } - engines: { node: ">= 10" } - dependencies: - lodash: 4.17.21 - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@1.1.3: - resolution: - { - integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==, - } - engines: { node: ">=0.10.0" } - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /chownr@1.1.4: - resolution: - { - integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==, - } - dev: false - - /chownr@2.0.0: - resolution: - { - integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==, - } - engines: { node: ">=10" } - dev: false - - /clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: ">=6" } - requiresBuild: true - dev: false - optional: true - - /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: ">=8" } - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: - { - integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, - } - engines: { node: ">=6" } - dev: true - - /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: ">=12" } - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: ">=0.8" } - dev: true - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /color-support@1.1.3: - resolution: - { - integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==, - } - hasBin: true - requiresBuild: true - dev: false - optional: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: ">= 0.8" } - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true - optional: true - - /common-tags@1.8.2: - resolution: - { - integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, - } - engines: { node: ">=4.0.0" } - dev: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - - /concat-stream@2.0.0: - resolution: - { - integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, - } - engines: { "0": node >= 6.0 } - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /console-control-strings@1.1.0: - resolution: - { - integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==, - } - requiresBuild: true - dev: false - optional: true - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /create-require@1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /decompress-response@6.0.0: - resolution: - { - integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, - } - engines: { node: ">=10" } - dependencies: - mimic-response: 3.1.0 - dev: false - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-extend@0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, - } - engines: { node: ">=4.0.0" } - dev: false - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: ">=8" } - dev: true - - /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: ">=0.4.0" } - dev: true - - /delegates@1.0.0: - resolution: - { - integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==, - } - requiresBuild: true - dev: false - optional: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: false - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /diff@4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: ">=0.3.1" } - dev: false - - /dir-glob@3.0.1: - resolution: - { - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, - } - engines: { node: ">=8" } - dependencies: - path-type: 4.0.0 - dev: true - - /dlv@1.1.3: - resolution: - { - integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==, - } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: - { - integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, - } - engines: { node: ">=12" } - dev: true - - /dotenv@16.3.2: - resolution: - { - integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, - } - engines: { node: ">=12" } - dev: true - - /duplexer@0.1.2: - resolution: - { - integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, - } - dev: true - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } - - /encoding@0.1.13: - resolution: - { - integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==, - } - requiresBuild: true - dependencies: - iconv-lite: 0.6.3 - dev: false - optional: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: - { - integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, - } - engines: { node: ">=8.6" } - dependencies: - ansi-colors: 4.1.3 - dev: true - - /entities@2.1.0: - resolution: - { - integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==, - } - dev: true - - /env-paths@2.2.1: - resolution: - { - integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, - } - engines: { node: ">=6" } - requiresBuild: true - dev: false - optional: true - - /err-code@2.0.3: - resolution: - { - integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==, - } - requiresBuild: true - dev: false - optional: true - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - dev: true - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: ">=6" } - dev: true - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } - dev: true - - /escape-string-regexp@2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: ">=8" } - dev: true - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.2(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.1.1): - resolution: - { - integrity: sha512-dhlpWc9vOwohcWmClFcA+HjlvUpuyynYs0Rf+L/P6/0iQE6vlHW9l5bkfzN62/Stm9fbq8ku46qzde76T1xlSg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.1.1 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /expand-template@2.0.3: - resolution: - { - integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==, - } - engines: { node: ">=6" } - dev: false - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: ">=8.6.0" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - "@nodelib/fs.walk": 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.1: - resolution: - { - integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: ">=8" } - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /file-uri-to-path@1.0.0: - resolution: - { - integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==, - } - dev: false - - /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: ">=8" } - dependencies: - to-regex-range: 5.0.1 - dev: true - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /follow-redirects@1.15.5: - resolution: - { - integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, - } - engines: { node: ">=4.0" } - peerDependencies: - debug: "*" - peerDependenciesMeta: - debug: - optional: true - dev: true - - /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: ">= 6" } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } - - /fs-extra@11.2.0: - resolution: - { - integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, - } - engines: { node: ">=14.14" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs-minipass@2.1.0: - resolution: - { - integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==, - } - engines: { node: ">= 8" } - dependencies: - minipass: 3.3.6 - dev: false - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /gauge@4.0.4: - resolution: - { - integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } - requiresBuild: true - dependencies: - aproba: 2.0.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - dev: false - optional: true - - /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@2.1.1: - resolution: - { - integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, - } - engines: { node: ">=8.0" } - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: true - - /github-from-package@0.0.0: - resolution: - { - integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, - } - dev: false - - /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: ">=10" } - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-ansi@2.0.0: - resolution: - { - integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==, - } - engines: { node: ">=0.10.0" } - dependencies: - ansi-regex: 2.1.1 - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /has-unicode@2.0.1: - resolution: - { - integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==, - } - requiresBuild: true - dev: false - optional: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-cache-semantics@4.1.1: - resolution: - { - integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==, - } - requiresBuild: true - dev: false - optional: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /http-proxy-agent@4.0.1: - resolution: - { - integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==, - } - engines: { node: ">= 6" } - requiresBuild: true - dependencies: - "@tootallnate/once": 1.1.2 - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: ">= 6" } - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /humanize-ms@1.2.1: - resolution: - { - integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==, - } - requiresBuild: true - dependencies: - ms: 2.1.3 - dev: false - optional: true - - /hyperid@2.3.1: - resolution: - { - integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, - } - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: ">=0.10.0" } - requiresBuild: true - dependencies: - safer-buffer: 2.1.2 - dev: false - optional: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - - /indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: ">=8" } - - /infer-owner@1.0.4: - resolution: - { - integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==, - } - requiresBuild: true - dev: false - optional: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } - dev: false - - /int64-buffer@0.99.1007: - resolution: - { - integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, - } - engines: { node: ">= 4.5.0" } - - /ip-address@9.0.5: - resolution: - { - integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==, - } - engines: { node: ">= 12" } - requiresBuild: true - dependencies: - jsbn: 1.1.0 - sprintf-js: 1.1.3 - dev: false - optional: true - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: ">=8" } - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: ">=8" } - dev: true - - /is-lambda@1.0.1: - resolution: - { - integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==, - } - requiresBuild: true - dev: false - optional: true - - /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } - dev: true - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-plain-object@5.0.0: - resolution: - { - integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, - } - engines: { node: ">=0.10.0" } - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: ">=10" } - dev: true - - /is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: ">=8" } - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: ">=10" } - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: - { - integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /js2xmlparser@4.0.2: - resolution: - { - integrity: sha512-6n4D8gLlLf1n5mNLQPRfViYzu9RATblzPEtm1SthMX1Pjao0r9YI9nw7ZIfRxQMERS87mcswrg+r/OYrPRX6jA==, - } - dependencies: - xmlcreate: 2.0.4 - dev: true - - /jsbn@1.1.0: - resolution: - { - integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==, - } - requiresBuild: true - dev: false - optional: true - - /jsdoc@4.0.2: - resolution: - { - integrity: sha512-e8cIg2z62InH7azBBi3EsSEqrKx+nUtAS5bBcYTSpZFA+vhNPyhv8PTFZ0WsjOPDj04/dOLlm08EDcQJDqaGQg==, - } - engines: { node: ">=12.0.0" } - hasBin: true - dependencies: - "@babel/parser": 7.24.0 - "@jsdoc/salty": 0.2.7 - "@types/markdown-it": 12.2.3 - bluebird: 3.7.2 - catharsis: 0.9.0 - escape-string-regexp: 2.0.0 - js2xmlparser: 4.0.2 - klaw: 3.0.0 - markdown-it: 12.3.2 - markdown-it-anchor: 8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2) - marked: 4.3.0 - mkdirp: 1.0.4 - requizzle: 0.2.4 - strip-json-comments: 3.1.1 - underscore: 1.13.6 - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: - { - integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, - } - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /klaw@3.0.0: - resolution: - { - integrity: sha512-0Fo5oir+O9jnXu5EefYbVK+mHMBeEVEy2cmctR1O1NECcCkPRreJKrS6Qt/j3KC2C148Dfo9i3pCmCMsdqGr0g==, - } - dependencies: - graceful-fs: 4.2.11 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: - { - integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /linkify-it@3.0.3: - resolution: - { - integrity: sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==, - } - dependencies: - uc.micro: 1.0.6 - dev: true - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /lodash.sortby@4.7.0: - resolution: - { - integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, - } - - /lodash@4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } - dev: true - - /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: ">=10" } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loglevel-colored-level-prefix@1.0.0: - resolution: - { - integrity: sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==, - } - dependencies: - chalk: 1.1.3 - loglevel: 1.9.1 - dev: true - - /loglevel@1.9.1: - resolution: - { - integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==, - } - engines: { node: ">= 0.6.0" } - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /make-error@1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } - dev: false - - /make-fetch-happen@9.1.0: - resolution: - { - integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==, - } - engines: { node: ">= 10" } - requiresBuild: true - dependencies: - agentkeepalive: 4.5.0 - cacache: 15.3.0 - http-cache-semantics: 4.1.1 - http-proxy-agent: 4.0.1 - https-proxy-agent: 5.0.1 - is-lambda: 1.0.1 - lru-cache: 6.0.0 - minipass: 3.3.6 - minipass-collect: 1.0.2 - minipass-fetch: 1.4.1 - minipass-flush: 1.0.5 - minipass-pipeline: 1.2.4 - negotiator: 0.6.3 - promise-retry: 2.0.1 - socks-proxy-agent: 6.2.1 - ssri: 8.0.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - - /markdown-it-anchor@8.6.7(@types/markdown-it@12.2.3)(markdown-it@12.3.2): - resolution: - { - integrity: sha512-FlCHFwNnutLgVTflOYHPW2pPcl2AACqVzExlkGQNsi4CJgqOHN7YTgDd4LuhgN1BFO3TS0vLAruV1Td6dwWPJA==, - } - peerDependencies: - "@types/markdown-it": "*" - markdown-it: "*" - dependencies: - "@types/markdown-it": 12.2.3 - markdown-it: 12.3.2 - dev: true - - /markdown-it@12.3.2: - resolution: - { - integrity: sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - entities: 2.1.0 - linkify-it: 3.0.3 - mdurl: 1.0.1 - uc.micro: 1.0.6 - dev: true - - /marked@4.3.0: - resolution: - { - integrity: sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A==, - } - engines: { node: ">= 12" } - hasBin: true - dev: true - - /mdurl@1.0.1: - resolution: - { - integrity: sha512-/sKlQJCBYVY9Ers9hqzKou4H6V5UWc/M59TH2dvkt+84itfnq7uFOMLpOiOS4ujvHP4etln18fmIxA5R5fll0g==, - } - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: ">= 8" } - dev: true - - /micromatch@4.0.5: - resolution: - { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, - } - engines: { node: ">=8.6" } - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: ">=6" } - dev: true - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /mimic-response@3.1.0: - resolution: - { - integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, - } - engines: { node: ">=10" } - dev: false - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - - /minipass-collect@1.0.2: - resolution: - { - integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==, - } - engines: { node: ">= 8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-fetch@1.4.1: - resolution: - { - integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==, - } - engines: { node: ">=8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - minipass-sized: 1.0.3 - minizlib: 2.1.2 - optionalDependencies: - encoding: 0.1.13 - dev: false - optional: true - - /minipass-flush@1.0.5: - resolution: - { - integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==, - } - engines: { node: ">= 8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-pipeline@1.2.4: - resolution: - { - integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==, - } - engines: { node: ">=8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass-sized@1.0.3: - resolution: - { - integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==, - } - engines: { node: ">=8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /minipass@3.3.6: - resolution: - { - integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==, - } - engines: { node: ">=8" } - dependencies: - yallist: 4.0.0 - dev: false - - /minipass@5.0.0: - resolution: - { - integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==, - } - engines: { node: ">=8" } - dev: false - - /minizlib@2.1.2: - resolution: - { - integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==, - } - engines: { node: ">= 8" } - dependencies: - minipass: 3.3.6 - yallist: 4.0.0 - dev: false - - /mkdirp-classic@0.5.3: - resolution: - { - integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, - } - dev: false - - /mkdirp@1.0.4: - resolution: - { - integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, - } - engines: { node: ">=10" } - hasBin: true - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /moment@2.30.1: - resolution: - { - integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==, - } - dev: false - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } - requiresBuild: true - dev: false - optional: true - - /multi-fork@0.0.2: - resolution: - { - integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /napi-build-utils@1.0.2: - resolution: - { - integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==, - } - dev: false - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /negotiator@0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: ">= 0.6" } - requiresBuild: true - dev: false - optional: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: false - - /node-addon-api@7.1.0: - resolution: - { - integrity: sha512-mNcltoe1R8o7STTegSOHdnJNN7s5EUvhoS7ShnTHDyOSd+8H+UdWODq6qSv67PjC8Zc5JRT8+oLAMCr0SIXw7g==, - } - engines: { node: ^16 || ^18 || >= 20 } - dev: false - - /node-fetch@2.7.0: - resolution: - { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: true - - /node-gyp@8.4.1: - resolution: - { - integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==, - } - engines: { node: ">= 10.12.0" } - hasBin: true - requiresBuild: true - dependencies: - env-paths: 2.2.1 - glob: 7.2.3 - graceful-fs: 4.2.11 - make-fetch-happen: 9.1.0 - nopt: 5.0.0 - npmlog: 6.0.2 - rimraf: 3.0.2 - semver: 7.6.0 - tar: 6.2.0 - which: 2.0.2 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - optional: true - - /node-machine-id@1.1.12: - resolution: - { - integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, - } - dev: true - - /nopt@5.0.0: - resolution: - { - integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==, - } - engines: { node: ">=6" } - hasBin: true - requiresBuild: true - dependencies: - abbrev: 1.1.1 - dev: false - optional: true - - /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /npmlog@6.0.2: - resolution: - { - integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } - requiresBuild: true - dependencies: - are-we-there-yet: 3.0.1 - console-control-strings: 1.1.0 - gauge: 4.0.4 - set-blocking: 2.0.0 - dev: false - optional: true - - /nx@18.0.6: - resolution: - { - integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, - } - hasBin: true - requiresBuild: true - peerDependencies: - "@swc-node/register": ^1.8.0 - "@swc/core": ^1.3.85 - peerDependenciesMeta: - "@swc-node/register": - optional: true - "@swc/core": - optional: true - dependencies: - "@nrwl/tao": 18.0.6 - "@yarnpkg/lockfile": 1.1.0 - "@yarnpkg/parsers": 3.0.0-rc.46 - "@zkochan/js-yaml": 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - "@nx/nx-darwin-arm64": 18.0.6 - "@nx/nx-darwin-x64": 18.0.6 - "@nx/nx-freebsd-x64": 18.0.6 - "@nx/nx-linux-arm-gnueabihf": 18.0.6 - "@nx/nx-linux-arm64-gnu": 18.0.6 - "@nx/nx-linux-arm64-musl": 18.0.6 - "@nx/nx-linux-x64-gnu": 18.0.6 - "@nx/nx-linux-x64-musl": 18.0.6 - "@nx/nx-win32-arm64-msvc": 18.0.6 - "@nx/nx-win32-x64-msvc": 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: ">=6" } - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: ">=12" } - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: - { - integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, - } - engines: { node: ">=10" } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: - { - integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, - } - engines: { node: ">=8" } - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - dev: true - - /p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: ">=10" } - requiresBuild: true - dependencies: - aggregate-error: 3.1.0 - dev: false - optional: true - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /path-type@4.0.0: - resolution: - { - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, - } - engines: { node: ">=8" } - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-copy-streams-binary@2.2.0: - resolution: - { - integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, - } - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: - { - integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, - } - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - dev: true - - /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: ">=8.6" } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: - { - integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - dev: false - - /prebuild-install@7.1.2: - resolution: - { - integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - detect-libc: 2.0.2 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 1.0.2 - node-abi: 3.56.0 - pump: 3.0.0 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.1 - tunnel-agent: 0.6.0 - dev: false - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-eslint@16.2.0: - resolution: - { - integrity: sha512-GDTSKc62VaLceiaI/qMaKo2oco2CIWtbj4Zr6ckhbTgcBL/uR0d9jkMzh9OtBIT/Z7iBoCB4OHj/aJ5YuNgAuA==, - } - engines: { node: ">=16.10.0" } - dependencies: - "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - common-tags: 1.8.2 - dlv: 1.1.3 - eslint: 8.57.0 - indent-string: 4.0.0 - lodash.merge: 4.6.2 - loglevel-colored-level-prefix: 1.0.0 - prettier: 3.2.4 - pretty-format: 29.7.0 - require-relative: 0.8.7 - typescript: 5.3.3 - vue-eslint-parser: 9.4.2(eslint@8.57.0) - transitivePeerDependencies: - - supports-color - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.1.1: - resolution: - { - integrity: sha512-22UbSzg8luF4UuZtzgiUOfcGM8s4tjBv6dJRT7j275NXsy2jb4aJa4NNveul5x4eqlF1wuhuR2RElK71RvmVaw==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /prettier@3.2.4: - resolution: - { - integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /progress@2.0.3: - resolution: - { - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, - } - engines: { node: ">=0.4.0" } - dev: true - - /promise-inflight@1.0.1: - resolution: - { - integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==, - } - requiresBuild: true - peerDependencies: - bluebird: "*" - peerDependenciesMeta: - bluebird: - optional: true - dev: false - optional: true - - /promise-retry@2.0.1: - resolution: - { - integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==, - } - engines: { node: ">=10" } - requiresBuild: true - dependencies: - err-code: 2.0.3 - retry: 0.12.0 - dev: false - optional: true - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: true - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /rc@1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, - } - hasBin: true - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: ">= 6" } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } - dev: true - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /require-relative@0.8.7: - resolution: - { - integrity: sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==, - } - dev: true - - /requizzle@0.2.4: - resolution: - { - integrity: sha512-JRrFk1D4OQ4SqovXOgdav+K8EAhSB/LJZqCz8tbX0KObcdeM15Ss59ozWMBWmmINMagCwmqn4ZNryUGpBsl6Jw==, - } - dependencies: - lodash: 4.17.21 - dev: true - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: true - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: ">=8" } - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /retry@0.12.0: - resolution: - { - integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==, - } - engines: { node: ">= 4" } - requiresBuild: true - dev: false - optional: true - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - - /roarr@7.21.0: - resolution: - { - integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } - requiresBuild: true - dev: false - optional: true - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-blocking@2.0.0: - resolution: - { - integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, - } - requiresBuild: true - dev: false - optional: true - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /simple-concat@1.0.1: - resolution: - { - integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==, - } - dev: false - - /simple-get@4.0.1: - resolution: - { - integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==, - } - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - dev: false - - /slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: ">=8" } - dev: true - - /slonik@29.2.0: - resolution: - { - integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, - } - engines: { node: ">=10.0" } - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: - { - integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /smart-buffer@4.2.0: - resolution: - { - integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==, - } - engines: { node: ">= 6.0.0", npm: ">= 3.0.0" } - requiresBuild: true - dev: false - optional: true - - /socks-proxy-agent@6.2.1: - resolution: - { - integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==, - } - engines: { node: ">= 10" } - requiresBuild: true - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - socks: 2.8.1 - transitivePeerDependencies: - - supports-color - dev: false - optional: true - - /socks@2.8.1: - resolution: - { - integrity: sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==, - } - engines: { node: ">= 10.0.0", npm: ">= 3.0.0" } - requiresBuild: true - dependencies: - ip-address: 9.0.5 - smart-buffer: 4.2.0 - dev: false - optional: true - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.8.0-beta.0: - resolution: - { - integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, - } - engines: { node: ">= 8" } - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /sprintf-js@1.1.3: - resolution: - { - integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==, - } - requiresBuild: true - dev: false - optional: true - - /sqlite3@5.1.7: - resolution: - { - integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==, - } - requiresBuild: true - dependencies: - bindings: 1.5.0 - node-addon-api: 7.1.0 - prebuild-install: 7.1.2 - tar: 6.2.0 - optionalDependencies: - node-gyp: 8.4.1 - transitivePeerDependencies: - - bluebird - - supports-color - dev: false - - /ssri@8.0.1: - resolution: - { - integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==, - } - engines: { node: ">= 8" } - requiresBuild: true - dependencies: - minipass: 3.3.6 - dev: false - optional: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@3.0.1: - resolution: - { - integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==, - } - engines: { node: ">=0.10.0" } - dependencies: - ansi-regex: 2.1.1 - dev: true - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - - /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, - } - engines: { node: ">=0.10.0" } - dev: false - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: - { - integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, - } - engines: { node: ">=4" } - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@2.0.0: - resolution: - { - integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==, - } - engines: { node: ">=0.8.0" } - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-fs@2.1.1: - resolution: - { - integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==, - } - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.0 - tar-stream: 2.2.0 - dev: false - - /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: ">=6" } - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /tar@6.2.0: - resolution: - { - integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==, - } - engines: { node: ">=10" } - dependencies: - chownr: 2.0.0 - fs-minipass: 2.1.0 - minipass: 5.0.0 - minizlib: 2.1.2 - mkdirp: 1.0.4 - yallist: 4.0.0 - dev: false - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: - { - integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, - } - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } - dev: true - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tmp@0.2.3: - resolution: - { - integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, - } - engines: { node: ">=14.14" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - dev: true - - /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } - dependencies: - is-number: 7.0.0 - dev: true - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } - dev: true - - /tr46@1.0.1: - resolution: - { - integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, - } - dependencies: - punycode: 2.3.1 - - /ts-api-utils@1.2.1(typescript@5.3.3): - resolution: - { - integrity: sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==, - } - engines: { node: ">=16" } - peerDependencies: - typescript: ">=4.2.0" - dependencies: - typescript: 5.3.3 - dev: true - - /ts-node@10.9.2(@types/node@20.11.24)(typescript@5.3.3): - resolution: - { - integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==, - } - hasBin: true - peerDependencies: - "@swc/core": ">=1.2.50" - "@swc/wasm": ">=1.2.50" - "@types/node": "*" - typescript: ">=2.7" - peerDependenciesMeta: - "@swc/core": - optional: true - "@swc/wasm": - optional: true - dependencies: - "@cspotcode/source-map-support": 0.8.1 - "@tsconfig/node10": 1.0.9 - "@tsconfig/node12": 1.0.11 - "@tsconfig/node14": 1.0.3 - "@tsconfig/node16": 1.0.4 - "@types/node": 20.11.24 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.3.3 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - dev: false - - /tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: ">=6" } - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - - /tsx@4.7.0: - resolution: - { - integrity: sha512-I+t79RYPlEYlHn9a+KzwrvEwhJg35h/1zHsLC2JXvhC2mdynMv6Zxzvhv5EMV6VF5qJlLlkSnMVvdZV3PSIGcg==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /tunnel-agent@0.6.0: - resolution: - { - integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, - } - dependencies: - safe-buffer: 5.2.1 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - dev: false - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } - - /typescript-eslint-language-service@5.0.5(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.3.3): - resolution: - { - integrity: sha512-b7gWXpwSTqMVKpPX3WttNZEyVAMKs/2jsHKF79H+qaD6mjzCyU5jboJe/lOZgLJD+QRsXCr0GjIVxvl5kI1NMw==, - } - peerDependencies: - "@typescript-eslint/parser": ">= 5.0.0" - eslint: ">= 8.0.0" - typescript: ">= 4.0.0" - dependencies: - "@typescript-eslint/parser": 6.21.0(eslint@8.57.0)(typescript@5.3.3) - eslint: 8.57.0 - typescript: 5.3.3 - dev: true - - /typescript@5.3.3: - resolution: - { - integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, - } - engines: { node: ">=14.17" } - hasBin: true - - /uc.micro@1.0.6: - resolution: - { - integrity: sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==, - } - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /underscore@1.13.6: - resolution: - { - integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==, - } - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /unique-filename@1.1.1: - resolution: - { - integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==, - } - requiresBuild: true - dependencies: - unique-slug: 2.0.2 - dev: false - optional: true - - /unique-slug@2.0.2: - resolution: - { - integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==, - } - requiresBuild: true - dependencies: - imurmurhash: 0.1.4 - dev: false - optional: true - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: ">= 10.0.0" } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } - - /uuid-parse@1.1.0: - resolution: - { - integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, - } - - /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } - hasBin: true - - /v8-compile-cache-lib@3.0.1: - resolution: - { - integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, - } - dev: false - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.24 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.3.1 - "@vitest/ui": 1.3.1 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.24 - "@vitest/expect": 1.3.1 - "@vitest/runner": 1.3.1 - "@vitest/snapshot": 1.3.1 - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vue-eslint-parser@9.4.2(eslint@8.57.0): - resolution: - { - integrity: sha512-Ry9oiGmCAK91HrKMtCrKFWmSFWvYkpGglCeFAIqDdr9zdXmMMpJOmUJS7WWsW7fX81h6mwHmUZCQQ1E0PkSwYQ==, - } - engines: { node: ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ">=6.0.0" - dependencies: - debug: 4.3.4 - eslint: 8.57.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - lodash: 4.17.21 - semver: 7.6.0 - transitivePeerDependencies: - - supports-color - dev: true - - /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } - dev: true - - /webidl-conversions@4.0.2: - resolution: - { - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, - } - - /whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: true - - /whatwg-url@7.1.0: - resolution: - { - integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, - } - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wide-align@1.1.5: - resolution: - { - integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==, - } - requiresBuild: true - dependencies: - string-width: 4.2.3 - dev: false - optional: true +packages: - /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xmlcreate@2.0.4: - resolution: - { - integrity: sha512-nquOebG4sngPmGPICTS5EnxqhKbCmz5Ox5hsszI2T6U5qdrJizBc+0ilYSEjTSzU0yZcmvppztXe/5Al5fUwdg==, - } - dev: true - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } - dev: true - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: ">=12" } - dev: true - - /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: ">=12" } - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yn@3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: ">=6" } - dev: false - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.24 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.24 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.24: + resolution: {integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@nrwl/tao@18.0.6: + resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@18.0.6: + resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@18.0.6: + resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@types/node': 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): + resolution: {integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/core@7.104.0: + resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.104.0 + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.104.0: + resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + peerDependencies: + vitest: 1.3.1 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} + engines: {node: '>=0.3.0'} + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /coffee-script@1.12.7: + resolution: {integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==} + engines: {node: '>=0.8.0'} + deprecated: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) + hasBin: true + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + engines: {node: '>=12'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.4 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.1: + resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /file@0.2.2: + resolution: {integrity: sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==} + dev: false + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@2.1.1: + resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} + engines: {node: '>=8.0'} + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /hyperid@2.3.1: + resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /int64-buffer@0.99.1007: + resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} + engines: {node: '>= 4.5.0'} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /multi-fork@0.0.2: + resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /node-machine-id@1.1.12: + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nx@18.0.6: + resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} + hasBin: true + requiresBuild: true + peerDependencies: + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 + peerDependenciesMeta: + '@swc-node/register': + optional: true + '@swc/core': + optional: true + dependencies: + '@nrwl/tao': 18.0.6 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.0-rc.46 + '@zkochan/js-yaml': 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 18.0.6 + '@nx/nx-darwin-x64': 18.0.6 + '@nx/nx-freebsd-x64': 18.0.6 + '@nx/nx-linux-arm-gnueabihf': 18.0.6 + '@nx/nx-linux-arm64-gnu': 18.0.6 + '@nx/nx-linux-arm64-musl': 18.0.6 + '@nx/nx-linux-x64-gnu': 18.0.6 + '@nx/nx-linux-x64-musl': 18.0.6 + '@nx/nx-win32-arm64-msvc': 18.0.6 + '@nx/nx-win32-x64-msvc': 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-copy-streams-binary@2.2.0: + resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /sentry@0.1.2: + resolution: {integrity: sha512-WVMYvjMCqdMwfins7AkwBhCINvw0EfXj0Aeo/YUQYyD6VOhAQPDM7uxnPDBzd2N50NR8w+yb3irHxSbd9Wy9OQ==} + deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. + requiresBuild: true + dependencies: + coffee-script: 1.12.7 + file: 0.2.2 + underscore: 1.13.6 + dev: false + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@29.2.0: + resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} + engines: {node: '>=10.0'} + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: false + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.24 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.11.24 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false diff --git a/thebeast/package.json b/thebeast/package.json deleted file mode 100644 index 6e253a57f..000000000 --- a/thebeast/package.json +++ /dev/null @@ -1,87 +0,0 @@ -{ - "name": "thebeast", - "version": "1.0.0", - "description": "a server", - "author": "Drazi Crendraven ", - "license": "AGPL-3.0", - "private": true, - "repository": { - "type": "git", - "url": "git@github.com:drazisil/mcos.git" - }, - "scripts": { - "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages lib", - "prod": "make prod_node", - "prod:stop": "docker-compose stop", - "release": "standard-version --sign", - "start": "tsx --openssl-legacy-provider --env-file=.env server.ts", - "start:docker": "npm run start:dev 2>&1 | tee -a log/mcos/trace.log" - }, - "files": [ - "README.md", - "CHANGELOG.md", - "AUTHORS" - ], - "type": "module", - "dependencies": { - "@fastify/sensible": "^5.5.0", - "@sentry/node": "^7.102.0", - "@sentry/profiling-node": "^7.102.0", - "@types/connect": "^3.4.38", - "fastify": "^4.25.2", - "moment": "^2.30.1", - "pino": "^8.18.0", - "pino-pretty": "^10.3.1", - "short-unique-id": "^5.0.3", - "slonik": "^37.2.0", - "sqlite3": "^5.1.7", - "ts-node": "10.9.2", - "tslib": "^2.6.2" - }, - "devDependencies": { - "@sentry/cli": "^2.23.2", - "@tsconfig/node-lts": "^20.1.1", - "@tsconfig/node20": "^20.1.2", - "@types/chai": "4.3.11", - "@types/node": "^20.10.6", - "@types/sinon": "17.0.3", - "@types/sinon-chai": "3.2.12", - "@typescript-eslint/eslint-plugin": "^6.17.0", - "@typescript-eslint/parser": "^6.17.0", - "@vitest/coverage-v8": "^1.1.1", - "eslint": "^8.56.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "5.1.2", - "jsdoc": "^4.0.2", - "prettier": "3.1.1", - "prettier-eslint": "16.2.0", - "tsx": "4.7.0", - "typescript": "^5.3.3", - "typescript-eslint-language-service": "^5.0.5", - "vitest": "^1.3.1", - "zod": "^3.22.4" - }, - "c8": { - "all": true, - "reporter": [ - "text", - "cobertura", - "html", - "lcov" - ], - "exclude": [ - "coverage", - "**/*.test.m{j,t}s", - "docs", - "docs2" - ] - }, - "lint-staged": { - "**/*.js": "eslint" - }, - "husky": { - "hooks": { - "pre-commit": "lint-staged" - } - } -} diff --git a/tsconfig.json b/tsconfig.json index ee1e56cd4..91b5f19a1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -22,5 +22,6 @@ "server.ts", "migrate.ts", "test", + "apps/main/server.ts", ], } From 57219fe7c6145974945aa8218181ca93dc7b9f23 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:05:03 -0500 Subject: [PATCH 143/452] Move remaining packages to tree, swap exports of shared to named imports --- apps/main/package.json | 5 +- package.json | 4 +- packages/cli/ConsoleThread.ts | 4 +- packages/cli/package.json | 5 +- packages/core/src/serializationHelpers.ts | 5 +- packages/database/src/DatabaseManager.ts | 4 +- .../database/src/models/VehiclePartTree.ts | 4 +- packages/database/src/services/admin.ts | 38 +- packages/database/test/Database.test.ts | 18 +- packages/gateway/package.json | 1 + packages/gateway/src/GatewayServer.ts | 19 +- packages/gateway/src/encryption.ts | 19 +- packages/gateway/src/index.ts | 37 +- packages/gateway/src/web.ts | 7 +- packages/gateway/test/encryption.test.ts | 2 +- packages/interfaces/index.d.ts | 10 +- packages/lobby/src/LoginInfoMessage.ts | 2 +- packages/lobby/src/UserInfoMessage.ts | 3 +- packages/lobby/src/handlers/_setMyUserData.ts | 4 +- .../lobby/src/handlers/encryptedCommand.ts | 7 +- .../src/handlers/handleGetMiniUserList.ts | 6 +- .../src/handlers/handleSendMiniRiffList.ts | 5 +- .../lobby/src/handlers/handleTrackingPing.ts | 5 +- .../src/handlers/requestConnectGameServer.ts | 5 +- packages/lobby/src/internal.ts | 5 +- .../handlers/handleSendMiniRiffList.test.ts | 4 +- packages/login/src/NPSUserStatus.ts | 8 +- packages/login/src/index.ts | 12 +- packages/login/src/internal.ts | 8 +- packages/login/test/LoginServer.test.ts | 2 +- .../messageProcessors/getLobMiniRiffList.ts | 4 +- .../messageProcessors/getLobMiniUserList.ts | 4 +- packages/nps/messageProcessors/index.ts | 3 - .../processCheckPlateText.ts | 5 +- .../processCheckProfileName.ts | 5 +- .../messageProcessors/processCreateProfile.ts | 7 +- .../messageProcessors/processDeleteProfile.ts | 10 +- .../processEncryptedGameCommand.ts | 5 +- .../nps/messageProcessors/processGameLogin.ts | 7 +- .../messageProcessors/processGetFirstBuddy.ts | 7 +- .../processGetProfileInfo.ts | 7 +- .../processGetProfileMaps.ts | 7 +- .../messageProcessors/processLobbyLogin.ts | 8 +- packages/nps/messageProcessors/processPing.ts | 11 +- .../nps/messageProcessors/processUserLogin.ts | 5 +- packages/nps/messageStructs/GameMessage.ts | 16 +- packages/nps/messageStructs/GameProfile.ts | 1 - packages/nps/messageStructs/MiniRiffList.ts | 6 +- packages/nps/messageStructs/MiniUserList.ts | 2 - packages/nps/messageStructs/UserInfo.ts | 2 - packages/patch/src/PatchServer.ts | 2 +- packages/patch/test/PatchServer.test.ts | 2 +- packages/persona/src/BuddyInfoMessage.ts | 6 +- packages/persona/src/PersonaMapsMessage.ts | 2 +- packages/persona/src/_gameLogout.ts | 7 +- packages/persona/src/_getFirstBuddy.ts | 4 +- packages/persona/src/_selectGamePersona.ts | 7 +- .../src/handlers/validatePersonaName.ts | 9 +- packages/persona/src/internal.ts | 8 +- packages/shard/src/index.ts | 4 +- .../shared/{TimeStamp.ts => Timestamp.ts} | 0 packages/shared/index.ts | 39 + packages/shared/package.json | 7 +- packages/transactions/src/ArcadeCarMessage.ts | 2 +- .../transactions/src/EntryFeePurseMessage.ts | 2 +- packages/transactions/src/GameUrlsMessage.ts | 5 +- .../transactions/src/GenericReplyMessage.ts | 2 +- .../transactions/src/GenericRequestMessage.ts | 2 +- packages/transactions/src/LobbyMessage.ts | 2 +- .../transactions/src/OwnedVehiclesMessage.ts | 2 +- .../transactions/src/PartsAssemblyMessage.ts | 2 +- .../transactions/src/PlayerInfoMessage.ts | 7 +- .../transactions/src/PlayerPhysicalMessage.ts | 2 +- .../src/PlayerRacingHistoryMessage.ts | 2 +- .../transactions/src/StockCarInfoMessage.ts | 2 +- .../transactions/src/TClientConnectMessage.ts | 2 +- packages/transactions/src/TLoginMessage.ts | 5 +- packages/transactions/src/TunablesMessage.ts | 2 +- .../transactions/src/_getArcadeCarInfo.ts | 2 +- packages/transactions/src/_getGameUrls.ts | 2 +- packages/transactions/src/_getOwnedParts.ts | 4 +- .../transactions/src/_getOwnedVehicles.ts | 2 +- packages/transactions/src/_getPlayerInfo.ts | 2 +- .../transactions/src/_getPlayerPhysical.ts | 2 +- .../transactions/src/_getPlayerRaceHistory.ts | 2 +- packages/transactions/src/_getStockCarInfo.ts | 2 +- packages/transactions/src/_getTunables.ts | 2 +- packages/transactions/src/_logout.ts | 2 +- packages/transactions/src/_setOptions.ts | 5 +- .../transactions/src/_updatePlayerPhysical.ts | 6 +- packages/transactions/src/clientConnect.ts | 4 +- packages/transactions/src/getLobbies.ts | 2 +- packages/transactions/src/internal.ts | 12 +- packages/transactions/src/login.ts | 4 +- .../_getCompleteVehicleInfo.ts | 10 +- .../src/messageStructs/CarInfoMessage.ts | 2 +- .../messageStructs/PlayerOptionsMessage.ts | 5 +- packages/transactions/src/trackingPing.ts | 2 +- .../test/_getPlayerRaceHistory.test.ts | 4 +- .../transactions/test/clientConnect.test.ts | 4 +- packages/transactions/test/getLobbies.test.ts | 4 +- .../transactions/test/trackingPing.test.ts | 4 +- packages/transactions/types.ts | 6 +- pnpm-lock.yaml | 8722 ++++++++++------- pnpm-workspace.yaml | 1 - 105 files changed, 5395 insertions(+), 3942 deletions(-) rename packages/shared/{TimeStamp.ts => Timestamp.ts} (100%) create mode 100644 packages/shared/index.ts diff --git a/apps/main/package.json b/apps/main/package.json index 326b379ea..395c8d73b 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -9,5 +9,8 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "ISC", + "dependencies": { + "@rustymotors/shared": "workspace:^" + } } diff --git a/package.json b/package.json index b4238b902..bc334b0aa 100644 --- a/package.json +++ b/package.json @@ -15,9 +15,6 @@ "type": "git", "url": "git@github.com:drazisil/mcos.git" }, - "workspaces": [ - "thebeast" - ], "devDependencies": { "@slonik/migrator": "^0.12.0", "@types/node": "^20.11.16", @@ -31,6 +28,7 @@ "vitest": "^1.3.1" }, "dependencies": { + "@rustymotors/shared": "workspace:^", "@sentry/node": "^7.102.0", "@sentry/profiling-node": "^7.104.0", "sentry": "^0.1.2", diff --git a/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts index 5d931ab81..7f96dcb47 100644 --- a/packages/cli/ConsoleThread.ts +++ b/packages/cli/ConsoleThread.ts @@ -1,9 +1,9 @@ import { emitKeypressEvents } from "node:readline"; -import { SubThread } from "../shared/SubThread.js"; +import { SubThread } from "@rustymotors/shared"; // eslint-disable-next-line no-unused-vars import { Gateway } from "../gateway/src/GatewayServer.js"; -import { ServerLogger } from "../shared/log.js"; +import type { ServerLogger } from "@rustymotors/shared"; /** * @module ConsoleThread diff --git a/packages/cli/package.json b/packages/cli/package.json index 10e311f69..6b329b22e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -9,5 +9,8 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "ISC", + "dependencies": { + "@rustymotors/shared": "workspace:*" + } } diff --git a/packages/core/src/serializationHelpers.ts b/packages/core/src/serializationHelpers.ts index 4a8bee6c1..ca88ef675 100644 --- a/packages/core/src/serializationHelpers.ts +++ b/packages/core/src/serializationHelpers.ts @@ -1,5 +1,3 @@ -import { log } from "../../shared/log.js"; - /** * Clamp a value between 0 and 255 * @param {number} value @@ -150,10 +148,9 @@ export function deserializeFloat(buff: Buffer): number { export function deserializeString(buf: Buffer): string { const size = buf.readUInt16BE(); if (size > buf.length - 2) { - log.error( + throw Error( `Size is bigger than the buffer length - 2. Size: ${size}, Buffer length: ${buf.length}`, ); - throw new Error("Size is bigger than the buffer length - 2"); } const str = buf.subarray(2, size + 2).toString("utf8"); diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 024d72d29..ea7bfee17 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -3,12 +3,14 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import { ServerLogger, getServerLogger, log } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; /** * @module Database */ +const log = getServerLogger(); + export class Database { updateUser(user: { userId: number; userData: Buffer }) { try { diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts index de4188f54..538d7675e 100644 --- a/packages/database/src/models/VehiclePartTree.ts +++ b/packages/database/src/models/VehiclePartTree.ts @@ -1,4 +1,4 @@ -import { log } from "../../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; import * as Sentry from "@sentry/node"; import { setVehiclePartTree } from "../cache.js"; import { getSlonik } from "../services/database.js"; @@ -8,6 +8,8 @@ const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; const partNumbersMap = new Map(); +const log = getServerLogger(); + export function getPartDepth(partId: number): number { if (level1PartTypes.includes(partId)) { return 1; diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts index d7abc7bcb..0ec73ce89 100644 --- a/packages/database/src/services/admin.ts +++ b/packages/database/src/services/admin.ts @@ -1,6 +1,6 @@ import { DatabaseTransactionConnection } from "slonik"; import { getSlonik } from "./database.js"; -import { log } from "../../../shared/log.js"; +import {} from "@rustymotors/shared"; import * as Sentry from "@sentry/node"; async function playerExists(playerId: number): Promise { @@ -69,8 +69,7 @@ async function getAbstractPartTypeIDForBrandedPartID( ); if (!abstractPartTypeId) { - log.error(`branded part with id ${brandedPartId} does not exist`); - throw new Error(`branded part with id ${brandedPartId} does not exist`); + throw Error(`branded part with id ${brandedPartId} does not exist`); } return abstractPartTypeId.abstractparttypeid; } @@ -94,13 +93,11 @@ export async function createNewCar( newCarOwnerId: number, ): Promise { if ((await playerExists(newCarOwnerId)) === false) { - log.error("player does not exist"); - throw new Error("player does not exist"); + throw Error("player does not exist"); } if ((await skinExists(skinId)) === false) { - log.error("skin does not exist"); - throw new Error("skin does not exist"); + throw Error("skin does not exist"); } const abstractPartTypeId = @@ -110,10 +107,7 @@ export async function createNewCar( console.dir(abstractPartTypeId); if ((await isAbstractPartTypeAVehicle(abstractPartTypeId)) === false) { - log.error(`branded part with id ${brandedPartId} is not a vehicle`); - throw new Error( - `branded part with id ${brandedPartId} is not a vehicle`, - ); + throw Error(`branded part with id ${brandedPartId} is not a vehicle`); } const tmpParts: partTableEntry[] = []; @@ -175,10 +169,9 @@ export async function createNewCar( // First insert the new car into the vehicle table if (tmpParts.length === 0) { - log.error( - `No parts found for the vehicle ${brandedPartId}`, + throw Error( + `No parts for vehicle with branded part id ${brandedPartId}`, ); - throw new Error("No parts found for the vehicle"); } let parentPartId = null; @@ -186,10 +179,7 @@ export async function createNewCar( // Make sure the first part's branded part id is not null if (tmpParts[0].brandedPartId === null) { - log.error("The first part's branded part id is null"); - throw new Error( - "The first part's branded part id is null", - ); + throw Error("The first part's branded part id is null"); } // Get the first part's abstract part type id @@ -258,14 +248,12 @@ export async function createNewCar( ); if (vehicleId === null) { - log.error("vehicleId is null"); - throw new Error("vehicleId is null"); + throw Error("vehicleId is null"); } return vehicleId; } catch (error) { - log.error("Error creating new car: " + error); - throw new Error("Error creating new car: " + error); + throw Error("Error creating new car: " + error); } } async function addPart( @@ -282,8 +270,7 @@ async function addPart( VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) `); } catch (error) { - log.error("Error adding part: " + error); - throw new Error("Error adding part: " + error); + throw Error("Error adding part: " + error); } } @@ -323,8 +310,7 @@ async function getPart( scrapValue: part.scrapvalue, }; } catch (error) { - log.error("Error getting part: " + error); - throw new Error("Error adding part: " + error); + throw Error("Error adding part: " + error); } } diff --git a/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts index 6be538247..80839ef4e 100644 --- a/packages/database/test/Database.test.ts +++ b/packages/database/test/Database.test.ts @@ -1,13 +1,11 @@ -import { getServerLogger } from "../../shared/log.js"; +import { mockLogger } from "../../../test/factoryMocks.js"; import { Database } from "../src/DatabaseManager.js"; import { describe, it, expect, vi } from "vitest"; describe("Database", () => { it("returns the same instance", () => { // arrange - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); // act const instance1 = Database.getInstance(log); const instance2 = Database.getInstance(log); @@ -19,9 +17,7 @@ describe("Database", () => { it("throws when session key is not found", async () => { // arrange - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); const instance = Database.getInstance(log); const customerId = 1234; // act @@ -42,9 +38,7 @@ describe("Database", () => { it("throws when session key is not found", async () => { // arrange - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); const instance = Database.getInstance(log); const connectionId = "1234"; // act @@ -65,9 +59,7 @@ describe("Database", () => { it("returns successfully when passed a valid user record", async () => { // arrange - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); const instance = Database.getInstance(log); const userRecord = { contextId: "1234", diff --git a/packages/gateway/package.json b/packages/gateway/package.json index b9faa6378..cf04a9635 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -12,6 +12,7 @@ "license": "ISC", "dependencies": { "@fastify/sensible": "^5.5.0", + "@rustymotors/shared": "workspace:^", "@sentry/node": "^7.102.0", "fastify": "^4.25.2" } diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index f70418f09..ef2c6904e 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -1,16 +1,13 @@ import { Socket, createServer as createSocketServer } from "node:net"; import { onSocketConnection } from "./index.js"; -import { - Configuration, - getServerConfiguration, -} from "../../shared/Configuration.js"; -import { ServerLogger, getServerLogger, log } from "../../shared/log.js"; +import { Configuration, getServerConfiguration } from "@rustymotors/shared"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import fastify from "fastify"; import { addOnDataHandler, createInitialState, fetchStateFromDatabase, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; import { ConsoleThread } from "../../cli/ConsoleThread.js"; import { addWebRoutes } from "./web.js"; @@ -109,7 +106,6 @@ export class Gateway { */ getWebServer(): import("fastify").FastifyInstance { if (this.webServer === undefined) { - log.error("webServer is undefined"); throw new Error("webServer is undefined"); } return this.webServer; @@ -146,7 +142,6 @@ export class Gateway { }); if (this.webServer === undefined) { - log.error("webServer is undefined"); throw new Error("webServer is undefined"); } @@ -202,7 +197,6 @@ export class Gateway { } if (this.webServer === undefined) { - log.error("webServer is undefined"); throw new Error("webServer is undefined"); } await this.webServer.close(); @@ -245,7 +239,6 @@ export class Gateway { // Register the read thread events if (this.readThread === undefined) { - log.error("readThread is undefined"); throw new Error("readThread is undefined"); } this.consoleEvents.forEach((event) => { @@ -267,12 +260,6 @@ export class Gateway { state = addOnDataHandler(state, 43300, receiveTransactionsData); try { - log.debug("Populating game data"); - // await populateParts(); - // await populateStockVehiclesAttribs(); - // await populateStockVehicles(); - // await populateVehicles(); - // await populateVehicleOwners(); await populateGameUsers(); await populateGameProfiles(gameProfiles); } catch (error) { diff --git a/packages/gateway/src/encryption.ts b/packages/gateway/src/encryption.ts index 45aa75200..f597f212f 100644 --- a/packages/gateway/src/encryption.ts +++ b/packages/gateway/src/encryption.ts @@ -15,8 +15,7 @@ // along with this program. If not, see . import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; -import { McosEncryptionPair } from "../../shared/State.js"; -import { log } from "../../shared/log.js"; +import { McosEncryptionPair } from "@rustymotors/shared"; /** * This function creates a new encryption pair for use with the game server @@ -26,9 +25,7 @@ import { log } from "../../shared/log.js"; */ export function createCommandEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - const err = new Error("Key too short"); - log.error(`Key too short: ${key}`); - throw err; + throw Error(`Key too short: ${key}`); } const sKey = key.slice(0, 16); @@ -58,9 +55,7 @@ export function createCommandEncryptionPair(key: string): McosEncryptionPair { */ export function createDataEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - const err = new Error("Key too short"); - log.error(`Key too short: ${key}`); - throw err; + throw Error(`Key too short: ${key}`); } const stringKey = Buffer.from(key, "hex"); @@ -81,13 +76,9 @@ export function createDataEncryptionPair(key: string): McosEncryptionPair { export function verifyLegacyCipherSupport() { const cipherList = getCiphers(); if (!cipherList.includes("des-cbc")) { - const err = new Error("DES-CBC cipher not available"); - log.error("DES-CBC cipher not available"); - throw err; + throw Error("DES-CBC cipher not available"); } if (!cipherList.includes("rc4")) { - const err = new Error("RC4 cipher not available"); - log.error("RC4 cipher not available"); - throw err; + throw Error("RC4 cipher not available"); } } diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index f209ac31d..cb6345eee 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -22,12 +22,12 @@ import { getOnDataHandler, removeSocket, wrapSocket, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; -import { ServerLogger } from "../../shared/log.js"; +import { ServerLogger } from "@rustymotors/shared"; import { Socket } from "node:net"; -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; import { MessageProcessorError, @@ -37,6 +37,7 @@ import { } from "../../nps/index.js"; import { SocketCallback } from "../../nps/messageProcessors/index.js"; import { getAsHex } from "../../nps/utils/pureGet.js"; +import { ServiceResponse } from "@rustymotors/shared"; /** * @typedef {object} OnDataHandlerArgs @@ -197,24 +198,18 @@ export function onSocketConnection({ message: rawMessage, log, }) - .then( - ( - /** @type {import("../../shared/State.js").ServiceResponse} */ response: import("../../shared/State.js").ServiceResponse, - ) => { - log.debug("onData handler returned"); - const { messages } = response; - - // Log the messages - log.trace(`Messages: ${messages.map((m) => m.toString())}`); - - // Serialize the messages - const serializedMessages = messages.map((m) => - m.serialize(), - ); - - sendToSocket(serializedMessages, incomingSocket, log); - }, - ) + .then((response: ServiceResponse) => { + log.debug("onData handler returned"); + const { messages } = response; + + // Log the messages + log.trace(`Messages: ${messages.map((m) => m.toString())}`); + + // Serialize the messages + const serializedMessages = messages.map((m) => m.serialize()); + + sendToSocket(serializedMessages, incomingSocket, log); + }) .catch((/** @type {Error} */ error: Error) => { log.error(`Error handling data: ${String(error)}`); throw error; diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index 8a251e97e..32df7aad6 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -16,7 +16,7 @@ import { CastanetResponse } from "../../patch/src/PatchServer.js"; import { generateShardList } from "../../shard/src/ShardServer.js"; -import { getServerConfiguration } from "../../shared/Configuration.js"; +import { getServerConfiguration } from "@rustymotors/shared"; import { handleGetCert, handleGetKey, @@ -24,7 +24,6 @@ import { } from "../../shard/src/index.js"; import { checkPassword, getUser } from "../../nps/services/account.js"; import { generateToken } from "../../nps/services/token.js"; -import { log } from "../../shared/log.js"; /** * Add web routes to the web server @@ -110,7 +109,6 @@ export async function addWebRoutes( webServer.get("/ShardList/", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(generateShardList(config.host)); @@ -119,7 +117,6 @@ export async function addWebRoutes( webServer.get("/cert", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetCert(config)); @@ -128,7 +125,6 @@ export async function addWebRoutes( webServer.get("/key", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetKey(config)); @@ -137,7 +133,6 @@ export async function addWebRoutes( webServer.get("/registry", (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { - log.error("No host defined in config"); throw new Error("No host defined in config"); } return reply.send(handleGetRegistry(config)); diff --git a/packages/gateway/test/encryption.test.ts b/packages/gateway/test/encryption.test.ts index e24e7fd49..978cf9b78 100644 --- a/packages/gateway/test/encryption.test.ts +++ b/packages/gateway/test/encryption.test.ts @@ -10,7 +10,7 @@ import { addEncryption, createInitialState, getEncryption, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; import { randomUUID } from "node:crypto"; let testSave: (state: State) => void; diff --git a/packages/interfaces/index.d.ts b/packages/interfaces/index.d.ts index a45df5b8d..5b25127a3 100644 --- a/packages/interfaces/index.d.ts +++ b/packages/interfaces/index.d.ts @@ -1,9 +1,9 @@ import { Socket } from "node:net"; -import { ServerError } from "../shared/errors/ServerError.js"; +import { ServerError } from "@rustymotors/shared"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; -import { SerializedBuffer } from "../shared/messageFactory.ts"; -import { Configuration } from "../shared/Configuration.ts"; +import { SerializedBuffer } from "@rustymotors/shared"; +import { Configuration } from "@rustymotors/shared"; /** * @module interfaces @@ -178,9 +178,7 @@ export interface ServiceArgs { log: ServerLogger; } -type Service = ( - args: ServiceArgs, -) => Promise; +type Service = (args: ServiceArgs) => Promise; export interface KeypressEvent { sequence: string; diff --git a/packages/lobby/src/LoginInfoMessage.ts b/packages/lobby/src/LoginInfoMessage.ts index 2d6409181..4504daf87 100644 --- a/packages/lobby/src/LoginInfoMessage.ts +++ b/packages/lobby/src/LoginInfoMessage.ts @@ -2,7 +2,7 @@ import { LegacyMessage, deserializeString, serializeString, -} from "../../shared/messageFactory.js"; +} from "@rustymotors/shared"; export class LoginInfoMessage extends LegacyMessage { _userId: number; diff --git a/packages/lobby/src/UserInfoMessage.ts b/packages/lobby/src/UserInfoMessage.ts index af07173b9..abf4d1f6d 100644 --- a/packages/lobby/src/UserInfoMessage.ts +++ b/packages/lobby/src/UserInfoMessage.ts @@ -2,8 +2,7 @@ import { LegacyMessage, deserializeString, serializeString, -} from "../../shared/messageFactory.js"; -// eslint-disable-next-line no-unused-vars +} from "@rustymotors/shared"; import { LoginInfoMessage } from "./LoginInfoMessage.js"; export class UserInfo { diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts index edb94226d..43c570fd4 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,5 +1,5 @@ -import { ServerLogger } from "../../../shared/log.js"; -import { LegacyMessage } from "../../../shared/messageFactory.js"; +import { ServerLogger } from "@rustymotors/shared"; +import { LegacyMessage } from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; diff --git a/packages/lobby/src/handlers/encryptedCommand.ts b/packages/lobby/src/handlers/encryptedCommand.ts index c3f7034d0..ceef91fbd 100644 --- a/packages/lobby/src/handlers/encryptedCommand.ts +++ b/packages/lobby/src/handlers/encryptedCommand.ts @@ -1,15 +1,14 @@ -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { fetchStateFromDatabase, getEncryption, updateEncryption, -} from "../../../shared/State.js"; +} from "@rustymotors/shared"; import { LegacyMessage, MessageBuffer, SerializedBuffer, -} from "../../../shared/messageFactory.js"; -import { getServerConfiguration } from "../../../shared/Configuration.js"; +} from "@rustymotors/shared"; import { handleSendMiniRiffList } from "./handleSendMiniRiffList.js"; import { handleGetMiniUserList } from "./handleGetMiniUserList.js"; import { _setMyUserData } from "./_setMyUserData.js"; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts index 87145f0c7..ac6512740 100644 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -1,11 +1,11 @@ -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { GameMessage, LegacyMessage, serializeString, -} from "../../../shared/messageFactory.js"; +} from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; -import { getServerConfiguration } from "../../../shared/Configuration.js"; +import { getServerConfiguration } from "@rustymotors/shared"; import { channelRecordSize, channels } from "./encryptedCommand.js"; const user1 = new UserInfo(); diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts index 43eef2e5e..25d805fe0 100644 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -1,10 +1,9 @@ -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { GameMessage, LegacyMessage, serializeString, -} from "../../../shared/messageFactory.js"; -import { getServerConfiguration } from "../../../shared/Configuration.js"; +} from "@rustymotors/shared"; import { channelRecordSize, channels } from "./encryptedCommand.js"; // const users = [user1]; diff --git a/packages/lobby/src/handlers/handleTrackingPing.ts b/packages/lobby/src/handlers/handleTrackingPing.ts index 8ec0f772c..2df3ffe13 100644 --- a/packages/lobby/src/handlers/handleTrackingPing.ts +++ b/packages/lobby/src/handlers/handleTrackingPing.ts @@ -1,6 +1,5 @@ -import { getServerConfiguration } from "../../../shared/Configuration.js"; -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; -import { SerializedBuffer } from "../../../shared/messageFactory.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { SerializedBuffer } from "@rustymotors/shared"; export async function handleTrackingPing({ connectionId, diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts index a6a0ccc7e..fadec3239 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -1,4 +1,3 @@ -import { getServerLogger } from "../../../shared/log.js"; import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPersonaId.js"; import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; import { LoginInfoMessage } from "../LoginInfoMessage.js"; @@ -13,8 +12,8 @@ import { addEncryption, fetchStateFromDatabase, getEncryption, -} from "../../../shared/State.js"; -import { SerializedBuffer } from "../../../shared/messageFactory.js"; +} from "@rustymotors/shared"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * Convert to zero padded hex diff --git a/packages/lobby/src/internal.ts b/packages/lobby/src/internal.ts index fa27a28d4..8f54771bf 100644 --- a/packages/lobby/src/internal.ts +++ b/packages/lobby/src/internal.ts @@ -16,13 +16,12 @@ import { _npsRequestGameConnectServer } from "./handlers/requestConnectGameServer.js"; import { handleEncryptedNPSCommand } from "./handlers/encryptedCommand.js"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; -import { getServerConfiguration } from "../../shared/Configuration.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { LegacyMessage, NPSMessage, SerializedBuffer, -} from "../../shared/messageFactory.js"; +} from "@rustymotors/shared"; import { handleTrackingPing } from "./handlers/handleTrackingPing.js"; /** diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index 94c82429c..14023fe1c 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,7 +1,7 @@ -import { LegacyMessage } from "../../../shared/messageFactory.js"; +import { LegacyMessage } from "@rustymotors/shared"; import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; -import { getServerLogger } from "../../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; describe("handleSendMiniRiffList", () => { it("should return a buffer", async () => { diff --git a/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts index 0078aafc2..c6a736111 100644 --- a/packages/login/src/NPSUserStatus.ts +++ b/packages/login/src/NPSUserStatus.ts @@ -1,12 +1,12 @@ import { privateDecrypt } from "node:crypto"; import { readFileSync } from "node:fs"; -import { LegacyMessage } from "../../shared/messageFactory.js"; -import { Configuration } from "../../shared/Configuration.js"; -import { ServerLogger } from "../../shared/log.js"; +import { LegacyMessage } from "@rustymotors/shared"; +import { Configuration } from "@rustymotors/shared"; +import { ServerLogger } from "@rustymotors/shared"; /** - * @typedef {import("../../shared/Configuration.js").Configuration} Configuration + * @typedef {Configuration} Configuration */ /** diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index 8e6f02606..71bb00ccd 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -16,8 +16,12 @@ import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; import { DatabaseManager } from "../../interfaces/index.js"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; -import { NPSMessage } from "../../shared/messageFactory.js"; +import { + ServerLogger, + ServiceResponse, + getServerLogger, +} from "@rustymotors/shared"; +import { NPSMessage } from "@rustymotors/shared"; import { handleLoginData } from "./internal.js"; /** @@ -131,7 +135,7 @@ LoginServer._instance = undefined; * @param {NPSMessage} args.message * @param {ServerLogger} args.log * - * @return {Promise} + * @return {Promise} */ export async function receiveLoginData({ connectionId, @@ -141,7 +145,7 @@ export async function receiveLoginData({ connectionId: string; message: NPSMessage; log: ServerLogger; -}): Promise { +}): Promise { try { log.debug("Entering login module"); const response = await handleLoginData({ diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index c974892f0..ce2311648 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -14,12 +14,12 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getServerConfiguration } from "../../shared/Configuration.js"; +import { getServerConfiguration } from "@rustymotors/shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; -import { NPSMessage, SerializedBuffer } from "../../shared/messageFactory.js"; -import { NetworkMessage } from "../../shared/src/NetworkMessage.js"; +import { NPSMessage, SerializedBuffer } from "@rustymotors/shared"; +import { NetworkMessage } from "@rustymotors/shared"; /** @type {import("../../interfaces/index.js").UserRecordMini[]} */ const userRecords: import("../../interfaces/index.js").UserRecordMini[] = [ diff --git a/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts index 0c6f38520..eded469b6 100644 --- a/packages/login/test/LoginServer.test.ts +++ b/packages/login/test/LoginServer.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from "vitest"; import { LoginServer } from "../src/index.js"; import { mockDatabaseManager } from "../../../test/factoryMocks.js"; -import { getServerLogger } from "../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; describe("LoginServer", () => { describe("constructor", () => { diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.ts b/packages/nps/messageProcessors/getLobMiniRiffList.ts index 6f4b10766..cd3d0db29 100644 --- a/packages/nps/messageProcessors/getLobMiniRiffList.ts +++ b/packages/nps/messageProcessors/getLobMiniRiffList.ts @@ -1,8 +1,10 @@ -import { log } from "../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; import { getAsHex } from "../utils/pureGet.js"; +const log = getServerLogger(); + // Command id: 0x30c export async function getLobMiniRiffList( commandId: number, diff --git a/packages/nps/messageProcessors/getLobMiniUserList.ts b/packages/nps/messageProcessors/getLobMiniUserList.ts index 1573135a8..105695356 100644 --- a/packages/nps/messageProcessors/getLobMiniUserList.ts +++ b/packages/nps/messageProcessors/getLobMiniUserList.ts @@ -1,8 +1,10 @@ -import { log } from "../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; import { getAsHex } from "../utils/pureGet.js"; +const log = getServerLogger(); + // Command id: 0x128 export async function getLobMiniUserList( commandId: number, diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts index 3caeb489d..57e1be4c5 100644 --- a/packages/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -11,7 +11,6 @@ import { processFirstBuddy } from "./processGetFirstBuddy.js"; import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { processPing } from "./processPing.js"; -import { log } from "../../shared/log.js"; export type SocketCallback = (messages: Buffer[]) => void; @@ -51,7 +50,6 @@ export function getGameMessageProcessor(messageId: number): MessageProcessor { // @ts-ignore - we know this will be defined since we checked above return gameMessageProcessors.get(messageId); } - log.error(`No message processor found for message id ${messageId}`); throw new MessageProcessorError(messageId, "No message processor found"); } @@ -82,6 +80,5 @@ export function getPortMessageType(port: number): string { // @ts-ignore - we know this will be defined since we checked above return portToMessageTypes.get(port); } - log.error(`No message type found for port ${port}`); throw new PortMapError(port, "No message type found"); } diff --git a/packages/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts index 8094c8d0c..6e1c95bad 100644 --- a/packages/nps/messageProcessors/processCheckPlateText.ts +++ b/packages/nps/messageProcessors/processCheckPlateText.ts @@ -1,4 +1,3 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; @@ -6,7 +5,9 @@ import { getUserSessionByConnectionId, setUserSession, } from "../services/session.js"; -import { log } from "../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processCheckPlateText( connectionId: string, diff --git a/packages/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts index 77d6406e9..86aa48c47 100644 --- a/packages/nps/messageProcessors/processCheckProfileName.ts +++ b/packages/nps/messageProcessors/processCheckProfileName.ts @@ -2,7 +2,10 @@ import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processCheckProfileName( connectionId: string, diff --git a/packages/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts index 73f7fc714..960f86856 100644 --- a/packages/nps/messageProcessors/processCreateProfile.ts +++ b/packages/nps/messageProcessors/processCreateProfile.ts @@ -1,9 +1,10 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; -import { getLenString, getNBytes } from "../utils/pureGet.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processCreateProfile( connectionId: string, diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 6d3a026f7..9632cc2c2 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -1,15 +1,13 @@ import fs from "node:fs"; import crypto from "node:crypto"; -import { getToken } from "../services/token.js"; -import { createNewUserSession, setUserSession } from "../services/session.js"; import { SocketCallback } from "./index.js"; -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SessionKey } from "../messageStructs/SessionKey.js"; import { getLenString } from "../utils/pureGet.js"; -import { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserAction } from "../messageStructs/UserAction.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export function loadPrivateKey(path: string): string { const privateKey = fs.readFileSync(path); diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts index b171e2a6c..e03c9c84d 100644 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.ts @@ -11,9 +11,12 @@ import { newEncryptionSession, setEncryptionSession, } from "../services/session.js"; -import { log } from "../../shared/log.js"; import { lobbyCommandMap } from "./lobbyCommands.js"; +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); + export async function processEncryptedGameCommand( connectionId: string, message: GameMessage, diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index 13d7d0fc0..cac9eaf0f 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -1,13 +1,14 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { - getUserSessionByConnectionId, getUserSessionByCustomerId, setUserSession, } from "../services/session.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processGameLogin( connectionId: string, diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts index 3383d045d..ac305a0e4 100644 --- a/packages/nps/messageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/messageProcessors/processGetFirstBuddy.ts @@ -1,4 +1,3 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage, SerializableData, @@ -6,9 +5,11 @@ import { import { getDWord, getAsHex } from "../utils/pureGet.js"; import { SocketCallback } from "./index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processFirstBuddy( connectionId: string, diff --git a/packages/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts index 53a1ed1c2..69e2e24f1 100644 --- a/packages/nps/messageProcessors/processGetProfileInfo.ts +++ b/packages/nps/messageProcessors/processGetProfileInfo.ts @@ -1,11 +1,12 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { getDWord, getAsHex } from "../utils/pureGet.js"; import { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processGetProfileInfo( connectionId: string, diff --git a/packages/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts index a3a409ed6..6961ff1c5 100644 --- a/packages/nps/messageProcessors/processGetProfileMaps.ts +++ b/packages/nps/messageProcessors/processGetProfileMaps.ts @@ -1,11 +1,12 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { getDWord, getAsHex } from "../utils/pureGet.js"; import { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { NPSList } from "../messageStructs/NPSList.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processGetProfileMaps( connectionId: string, diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts index b0fc8dfc4..fefe99c44 100644 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -1,16 +1,16 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { - getUserSessionByConnectionId, - getUserSessionByCustomerId, getUserSessionByProfileId, setUserSession, userSessions, } from "../services/session.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { UserInfo } from "../messageStructs/UserInfo.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processLobbyLogin( connectionId: string, diff --git a/packages/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts index 8333a7784..6d25ac141 100644 --- a/packages/nps/messageProcessors/processPing.ts +++ b/packages/nps/messageProcessors/processPing.ts @@ -1,12 +1,9 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; -import { getLenString, getNBytes } from "../utils/pureGet.js"; -import { - getUserSessionByConnectionId, - setUserSession, -} from "../services/session.js"; -import { log } from "../../shared/log.js"; + +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export async function processPing( connectionId: string, diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index 0b84a3c8a..b55565bd9 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -10,8 +10,9 @@ import { SessionKey } from "../messageStructs/SessionKey.js"; import { getAsHex, getLenString } from "../utils/pureGet.js"; import { UserStatus } from "../messageStructs/UserStatus.js"; import { UserAction } from "../messageStructs/UserAction.js"; -import { log } from "../../shared/log.js"; -import { getServerConfiguration } from "../../shared/Configuration.js"; +import { getServerConfiguration, getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); export function loadPrivateKey(path: string): string { const privateKey = fs.readFileSync(path); diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index 8b4ce7319..f78c4fc16 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -1,4 +1,3 @@ -import { log } from "../../shared/log.js"; import { ISerializable, IMessageHeader, IMessage } from "../types.js"; export class MessageHeader implements IMessageHeader { @@ -8,7 +7,6 @@ export class MessageHeader implements IMessageHeader { constructor(version: 0 | 257, id: number, length: number) { if (version !== 0 && version !== 257) { - log.error(`Invalid version ${version}`); throw new Error(`Invalid version ${version}`); } this.version = version; @@ -33,8 +31,7 @@ export class MessageHeader implements IMessageHeader { } setVersion(version: 0 | 257): void { if (version !== 0 && version !== 257) { - log.error(`Invalid version ${version}`); - throw new Error("Invalid version"); + throw new Error(`Invalid version ${version}`); } this.version = version; } @@ -83,10 +80,9 @@ export class MessageHeader implements IMessageHeader { deserialize(data: Buffer): void { if (data.length < 4) { - log.error( + throw new Error( `Data is too short. Expected at least 4 bytes, got ${data.length} bytes`, ); - throw new Error("Data is too short"); } if (this.version === 0) { @@ -109,9 +105,6 @@ export class SerializableData implements ISerializable { deserialize(data: Buffer): void { if (data.length > this.data.length) { - log.error( - `Data is too long. Expected at most ${this.data.length} bytes, got ${data.length} bytes`, - ); throw new Error( `Data is too long. Expected at most ${this.data.length} bytes, got ${data.length} bytes`, ); @@ -163,11 +156,6 @@ export class GameMessage implements IMessage { } deserialize(data: Buffer): void { if (data.length < this.header.getDataOffset()) { - log.error( - `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ - data.length - } bytes`, - ); throw new Error( `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ data.length diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index a07d6fec7..d4842508e 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -6,7 +6,6 @@ import { getLenString, getShortBool, } from "../utils/pureGet.js"; -import { log } from "../../shared/log.js"; export class GameProfile implements ISerializable { customerId: number; // 4 bytes diff --git a/packages/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts index 8b86e99ad..930916596 100644 --- a/packages/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,9 +1,12 @@ -import { log } from "../../shared/log.js"; import { IMessage, IMessageHeader, ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; import { GameMessage } from "./GameMessage.js"; import { NPSList } from "./NPSList.js"; +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); + const channelRecordSize = 40; export class MiniRiffInfo implements ISerializable { @@ -13,7 +16,6 @@ export class MiniRiffInfo implements ISerializable { constructor(riffName: string, riffId: number, population: number) { if (riffName.length > 32) { - log.error(`Riff name too long: ${riffName}`); throw new Error(`Riff name too long: ${riffName}`); } diff --git a/packages/nps/messageStructs/MiniUserList.ts b/packages/nps/messageStructs/MiniUserList.ts index ddaed2a5e..1b40434a1 100644 --- a/packages/nps/messageStructs/MiniUserList.ts +++ b/packages/nps/messageStructs/MiniUserList.ts @@ -1,6 +1,5 @@ import { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; -import { log } from "../../shared/log.js"; export class MiniUserInfo implements ISerializable { userId: number; // 4 bytes @@ -8,7 +7,6 @@ export class MiniUserInfo implements ISerializable { constructor(userId: number, userName: string) { if (userName.length > 32) { - log.error(`User name too long: ${userName}`); throw new Error(`User name too long: ${userName}`); } diff --git a/packages/nps/messageStructs/UserInfo.ts b/packages/nps/messageStructs/UserInfo.ts index 10e6a5c52..7df00043c 100644 --- a/packages/nps/messageStructs/UserInfo.ts +++ b/packages/nps/messageStructs/UserInfo.ts @@ -1,4 +1,3 @@ -import { log } from "../../shared/log.js"; import { ISerializable } from "../types.js"; export class UserInfo implements ISerializable { @@ -8,7 +7,6 @@ export class UserInfo implements ISerializable { constructor(id: number, name: string) { if (name.length > 31) { - log.error(`Profile name too long: ${name}`); throw new Error( `Profile name too long: ${name}, max length is 31, got ${name.length}`, ); diff --git a/packages/patch/src/PatchServer.ts b/packages/patch/src/PatchServer.ts index 75978cdbb..23e8dea7d 100644 --- a/packages/patch/src/PatchServer.ts +++ b/packages/patch/src/PatchServer.ts @@ -1,5 +1,5 @@ import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { Buffer } from "node:buffer"; const debug_reseponse = Buffer.from([ diff --git a/packages/patch/test/PatchServer.test.ts b/packages/patch/test/PatchServer.test.ts index c36d79cbd..7d3a7bc76 100644 --- a/packages/patch/test/PatchServer.test.ts +++ b/packages/patch/test/PatchServer.test.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "../../shared/log.js"; +import { getServerLogger } from "@rustymotors/shared"; import { PatchServer, CastanetResponse } from "../src/PatchServer.js"; import { describe, it, expect, vi } from "vitest"; diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts index ea9047573..70f00bcdf 100644 --- a/packages/persona/src/BuddyInfoMessage.ts +++ b/packages/persona/src/BuddyInfoMessage.ts @@ -1,6 +1,6 @@ -import { serializeStringRaw } from "../../shared/messageFactory.js"; -import { NetworkMessage } from "../../shared/src/NetworkMessage.js"; -import { RawMessage } from "../../shared/src/RawMessage.js"; +import { serializeStringRaw } from "@rustymotors/shared"; +import { NetworkMessage } from "@rustymotors/shared"; +import { RawMessage } from "@rustymotors/shared"; /** * BuddyInfoMessage diff --git a/packages/persona/src/PersonaMapsMessage.ts b/packages/persona/src/PersonaMapsMessage.ts index 7611cfef2..04187df61 100644 --- a/packages/persona/src/PersonaMapsMessage.ts +++ b/packages/persona/src/PersonaMapsMessage.ts @@ -1,5 +1,5 @@ import { serializeString } from "../../core/src/serializationHelpers.js"; -import { NPSHeader, NPSMessage } from "../../shared/messageFactory.js"; +import { NPSHeader, NPSMessage } from "@rustymotors/shared"; /** * diff --git a/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts index b15d202d6..61569f0b6 100644 --- a/packages/persona/src/_gameLogout.ts +++ b/packages/persona/src/_gameLogout.ts @@ -1,8 +1,5 @@ -import { ServerLogger, getServerLogger } from "../../shared/log.js"; -import { - LegacyMessage, - SerializedBuffer, -} from "../../shared/messageFactory.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; /** * Handle game logout diff --git a/packages/persona/src/_getFirstBuddy.ts b/packages/persona/src/_getFirstBuddy.ts index d75507de9..71e55ccac 100644 --- a/packages/persona/src/_getFirstBuddy.ts +++ b/packages/persona/src/_getFirstBuddy.ts @@ -1,9 +1,9 @@ -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { LegacyMessage, NPSMessage, SerializedBuffer, -} from "../../shared/messageFactory.js"; +} from "@rustymotors/shared"; import { BuddyCount, BuddyInfoMessage, BuddyList } from "./BuddyInfoMessage.js"; export async function _getFirstBuddy({ diff --git a/packages/persona/src/_selectGamePersona.ts b/packages/persona/src/_selectGamePersona.ts index 5df462166..7650ad141 100644 --- a/packages/persona/src/_selectGamePersona.ts +++ b/packages/persona/src/_selectGamePersona.ts @@ -1,8 +1,5 @@ -import { ServerLogger, getServerLogger } from "../../shared/log.js"; -import { - LegacyMessage, - SerializedBuffer, -} from "../../shared/messageFactory.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; /** * Selects a game persona and marks it as in use diff --git a/packages/persona/src/handlers/validatePersonaName.ts b/packages/persona/src/handlers/validatePersonaName.ts index 7204acb1b..949671e6e 100644 --- a/packages/persona/src/handlers/validatePersonaName.ts +++ b/packages/persona/src/handlers/validatePersonaName.ts @@ -1,9 +1,6 @@ -import { ServerLogger, getServerLogger } from "../../../shared/log.js"; -import { - LegacyMessage, - SerializedBuffer, -} from "../../../shared/messageFactory.js"; -import { RawMessage } from "../../../shared/src/RawMessage.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; +import { RawMessage } from "@rustymotors/shared"; /** * Check if a new persona name is valid diff --git a/packages/persona/src/internal.ts b/packages/persona/src/internal.ts index 69a29e941..217f00ff6 100644 --- a/packages/persona/src/internal.ts +++ b/packages/persona/src/internal.ts @@ -14,18 +14,14 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { PersonaList, PersonaMapsMessage, PersonaRecord, } from "./PersonaMapsMessage.js"; -import { getServerConfiguration } from "../../shared/Configuration.js"; -import { - LegacyMessage, - SerializedBuffer, -} from "../../shared/messageFactory.js"; +import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; import { _selectGamePersona } from "./_selectGamePersona.js"; import { _gameLogout } from "./_gameLogout.js"; import { _getFirstBuddy } from "./_getFirstBuddy.js"; diff --git a/packages/shard/src/index.ts b/packages/shard/src/index.ts index e6a67d830..397f9daa8 100644 --- a/packages/shard/src/index.ts +++ b/packages/shard/src/index.ts @@ -14,8 +14,8 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { readFileSync } from "fs"; -import { Configuration } from "../../shared/Configuration.js"; +import { readFileSync } from "node:fs"; +import { Configuration } from "@rustymotors/shared"; // This section of the server can not be encrypted. This is an intentional choice for compatibility // deepcode ignore HttpToHttps: This is intentional. See above note. diff --git a/packages/shared/TimeStamp.ts b/packages/shared/Timestamp.ts similarity index 100% rename from packages/shared/TimeStamp.ts rename to packages/shared/Timestamp.ts diff --git a/packages/shared/index.ts b/packages/shared/index.ts new file mode 100644 index 000000000..69f5dc93c --- /dev/null +++ b/packages/shared/index.ts @@ -0,0 +1,39 @@ +export { SubThread } from "./SubThread.js"; +export { NetworkMessage } from "./src/NetworkMessage.js"; +export { ServerLogger, getServerLogger } from "./log.js"; +export { Configuration, getServerConfiguration } from "./Configuration.js"; +export { + McosEncryptionPair, + createInitialState, + addOnDataHandler, + fetchStateFromDatabase, + getOnDataHandler, + addSocket, + removeSocket, + wrapSocket, + McosEncryption, + addEncryption, + getEncryption, + McosSession, + updateEncryption, + findSessionByConnectionId, + addSession, +} from "./State.js"; +export type { OnDataHandler, ServiceResponse, State } from "./State.js"; +export { + SerializedBuffer, + LegacyMessage, + MessageBuffer, + GameMessage, + serializeString, + NPSMessage, + deserializeString, + serializeStringRaw, + NPSHeader, + OldServerMessage, +} from "./messageFactory.js"; +export { RawMessage } from "./src/RawMessage.js"; +export { ServerMessage } from "./src/ServerMessage.js"; +export { MessageNode } from "./MessageNode.js"; +export type { TServerLogger, ServerMessageType } from "./types.js"; +export { Timestamp } from "./Timestamp.js"; diff --git a/packages/shared/package.json b/packages/shared/package.json index 2c231b519..dd0eae291 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -2,7 +2,12 @@ "name": "@rustymotors/shared", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.ts", + "require": "./index.ts" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/transactions/src/ArcadeCarMessage.ts b/packages/transactions/src/ArcadeCarMessage.ts index 547c3e1b5..0b389dc4d 100644 --- a/packages/transactions/src/ArcadeCarMessage.ts +++ b/packages/transactions/src/ArcadeCarMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/EntryFeePurseMessage.ts b/packages/transactions/src/EntryFeePurseMessage.ts index 9cda04a53..55e5793a6 100644 --- a/packages/transactions/src/EntryFeePurseMessage.ts +++ b/packages/transactions/src/EntryFeePurseMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * A message listing the entry fees and purses for each entry fee diff --git a/packages/transactions/src/GameUrlsMessage.ts b/packages/transactions/src/GameUrlsMessage.ts index b5cc62713..2f3dda070 100644 --- a/packages/transactions/src/GameUrlsMessage.ts +++ b/packages/transactions/src/GameUrlsMessage.ts @@ -14,10 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { - SerializedBuffer, - serializeString, -} from "../../shared/messageFactory.js"; +import { SerializedBuffer, serializeString } from "@rustymotors/shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/GenericReplyMessage.ts b/packages/transactions/src/GenericReplyMessage.ts index 0a3963e93..348396cb7 100644 --- a/packages/transactions/src/GenericReplyMessage.ts +++ b/packages/transactions/src/GenericReplyMessage.ts @@ -14,7 +14,7 @@ * @property {Buffer} data2 */ -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; export class GenericReply extends SerializedBuffer { msgNo: number; diff --git a/packages/transactions/src/GenericRequestMessage.ts b/packages/transactions/src/GenericRequestMessage.ts index da9ef4c5c..0817782ae 100644 --- a/packages/transactions/src/GenericRequestMessage.ts +++ b/packages/transactions/src/GenericRequestMessage.ts @@ -11,7 +11,7 @@ * @property {string} serviceName */ -import { MessageNode } from "../../shared/MessageNode.js"; +import { MessageNode } from "@rustymotors/shared"; export class GenericRequestMessage extends MessageNode { data2: Buffer; diff --git a/packages/transactions/src/LobbyMessage.ts b/packages/transactions/src/LobbyMessage.ts index a40905561..bd1799246 100644 --- a/packages/transactions/src/LobbyMessage.ts +++ b/packages/transactions/src/LobbyMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/OwnedVehiclesMessage.ts b/packages/transactions/src/OwnedVehiclesMessage.ts index a5af75613..10367cf79 100644 --- a/packages/transactions/src/OwnedVehiclesMessage.ts +++ b/packages/transactions/src/OwnedVehiclesMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * A message listing the player's owned vehicles diff --git a/packages/transactions/src/PartsAssemblyMessage.ts b/packages/transactions/src/PartsAssemblyMessage.ts index e572973bf..b411927f1 100644 --- a/packages/transactions/src/PartsAssemblyMessage.ts +++ b/packages/transactions/src/PartsAssemblyMessage.ts @@ -1,4 +1,4 @@ -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; export class PartsAssemblyMessage extends SerializedBuffer { _msgNo: number; diff --git a/packages/transactions/src/PlayerInfoMessage.ts b/packages/transactions/src/PlayerInfoMessage.ts index 282d07a0d..da7ec13cb 100644 --- a/packages/transactions/src/PlayerInfoMessage.ts +++ b/packages/transactions/src/PlayerInfoMessage.ts @@ -14,11 +14,8 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { - SerializedBuffer, - serializeStringRaw, -} from "../../shared/messageFactory.js"; -import { Timestamp } from "../../shared/TimeStamp.js"; +import { SerializedBuffer, serializeStringRaw } from "@rustymotors/shared"; +import { Timestamp } from "@rustymotors/shared"; /** * A message listing the player's owned vehicles diff --git a/packages/transactions/src/PlayerPhysicalMessage.ts b/packages/transactions/src/PlayerPhysicalMessage.ts index 4ac349136..235b6aa71 100644 --- a/packages/transactions/src/PlayerPhysicalMessage.ts +++ b/packages/transactions/src/PlayerPhysicalMessage.ts @@ -1,4 +1,4 @@ -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; export class PlayerPhysicalMessage extends SerializedBuffer { _msgNo: number; // 2 bytes diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.ts b/packages/transactions/src/PlayerRacingHistoryMessage.ts index e77be6537..328fb1cc9 100644 --- a/packages/transactions/src/PlayerRacingHistoryMessage.ts +++ b/packages/transactions/src/PlayerRacingHistoryMessage.ts @@ -1,4 +1,4 @@ -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; export class PlayerRacingHistoryMessage extends SerializedBuffer { _msgId: number; // 2 bytes diff --git a/packages/transactions/src/StockCarInfoMessage.ts b/packages/transactions/src/StockCarInfoMessage.ts index 93f9bd807..7ced580df 100644 --- a/packages/transactions/src/StockCarInfoMessage.ts +++ b/packages/transactions/src/StockCarInfoMessage.ts @@ -20,7 +20,7 @@ * @property {StockCar[]} StockCarList */ -import { MessageNode } from "../../shared/MessageNode.js"; +import { MessageNode } from "@rustymotors/shared"; type StockCar = import("./StockCar.js").StockCar; diff --git a/packages/transactions/src/TClientConnectMessage.ts b/packages/transactions/src/TClientConnectMessage.ts index c5fbcfb48..ee62fcc36 100644 --- a/packages/transactions/src/TClientConnectMessage.ts +++ b/packages/transactions/src/TClientConnectMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; export class TClientConnectMessage extends OldServerMessage { _customerId: number; diff --git a/packages/transactions/src/TLoginMessage.ts b/packages/transactions/src/TLoginMessage.ts index d76f0e303..1dca19316 100644 --- a/packages/transactions/src/TLoginMessage.ts +++ b/packages/transactions/src/TLoginMessage.ts @@ -14,10 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { - SerializedBuffer, - OldServerMessage, -} from "../../shared/messageFactory.js"; +import { SerializedBuffer, OldServerMessage } from "@rustymotors/shared"; export class ListEntry extends SerializedBuffer { constructor() { diff --git a/packages/transactions/src/TunablesMessage.ts b/packages/transactions/src/TunablesMessage.ts index e276e467d..a6b8a8bce 100644 --- a/packages/transactions/src/TunablesMessage.ts +++ b/packages/transactions/src/TunablesMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/_getArcadeCarInfo.ts b/packages/transactions/src/_getArcadeCarInfo.ts index 42c4a024c..90f305dbf 100644 --- a/packages/transactions/src/_getArcadeCarInfo.ts +++ b/packages/transactions/src/_getArcadeCarInfo.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { ArcadeCarInfo, ArcadeCarMessage } from "./ArcadeCarMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_getGameUrls.ts b/packages/transactions/src/_getGameUrls.ts index d5af5c7fa..937b5c810 100644 --- a/packages/transactions/src/_getGameUrls.ts +++ b/packages/transactions/src/_getGameUrls.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { GameUrl, GameUrlsMessage } from "./GameUrlsMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_getOwnedParts.ts b/packages/transactions/src/_getOwnedParts.ts index e0ba69e13..9f6040e4b 100644 --- a/packages/transactions/src/_getOwnedParts.ts +++ b/packages/transactions/src/_getOwnedParts.ts @@ -1,10 +1,10 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { PartsAssemblyMessage } from "./PartsAssemblyMessage.js"; import { fetchStateFromDatabase, findSessionByConnectionId, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getOwnedParts({ diff --git a/packages/transactions/src/_getOwnedVehicles.ts b/packages/transactions/src/_getOwnedVehicles.ts index 7f0615b72..604a8a685 100644 --- a/packages/transactions/src/_getOwnedVehicles.ts +++ b/packages/transactions/src/_getOwnedVehicles.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_getPlayerInfo.ts b/packages/transactions/src/_getPlayerInfo.ts index c6f43c490..661381eec 100644 --- a/packages/transactions/src/_getPlayerInfo.ts +++ b/packages/transactions/src/_getPlayerInfo.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_getPlayerPhysical.ts b/packages/transactions/src/_getPlayerPhysical.ts index 1379a809c..ef661a7a5 100644 --- a/packages/transactions/src/_getPlayerPhysical.ts +++ b/packages/transactions/src/_getPlayerPhysical.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_getPlayerRaceHistory.ts b/packages/transactions/src/_getPlayerRaceHistory.ts index 56f9ab06a..e0d328020 100644 --- a/packages/transactions/src/_getPlayerRaceHistory.ts +++ b/packages/transactions/src/_getPlayerRaceHistory.ts @@ -1,4 +1,4 @@ -import { ServerMessage } from "../../shared/src/ServerMessage.js"; +import { ServerMessage } from "@rustymotors/shared"; import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { PlayerRacingHistoryMessage, diff --git a/packages/transactions/src/_getStockCarInfo.ts b/packages/transactions/src/_getStockCarInfo.ts index 0c87f0dde..51cc04d38 100644 --- a/packages/transactions/src/_getStockCarInfo.ts +++ b/packages/transactions/src/_getStockCarInfo.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { StockCarInfoMessage } from "./StockCarInfoMessage.js"; import { StockCar } from "./StockCar.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** diff --git a/packages/transactions/src/_getTunables.ts b/packages/transactions/src/_getTunables.ts index b3e32ac60..e03ad8c15 100644 --- a/packages/transactions/src/_getTunables.ts +++ b/packages/transactions/src/_getTunables.ts @@ -1,5 +1,5 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { TunablesMessage } from "./TunablesMessage.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; diff --git a/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts index 1fc635d26..8ef8c9ec0 100644 --- a/packages/transactions/src/_logout.ts +++ b/packages/transactions/src/_logout.ts @@ -1,5 +1,5 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** diff --git a/packages/transactions/src/_setOptions.ts b/packages/transactions/src/_setOptions.ts index f94a228f8..dea3640ea 100644 --- a/packages/transactions/src/_setOptions.ts +++ b/packages/transactions/src/_setOptions.ts @@ -1,8 +1,5 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; diff --git a/packages/transactions/src/_updatePlayerPhysical.ts b/packages/transactions/src/_updatePlayerPhysical.ts index 1111731b6..c7163bbae 100644 --- a/packages/transactions/src/_updatePlayerPhysical.ts +++ b/packages/transactions/src/_updatePlayerPhysical.ts @@ -1,9 +1,5 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; -import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index f9ff3e4b3..c5a798c0d 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -7,12 +7,12 @@ import { addSession, fetchStateFromDatabase, getEncryption, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; import { createCommandEncryptionPair, createDataEncryptionPair, } from "../../gateway/src/encryption.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { getUserSessionByCustomerId } from "../../nps/services/session.js"; diff --git a/packages/transactions/src/getLobbies.ts b/packages/transactions/src/getLobbies.ts index 6b3e5b620..bb5a3ff53 100644 --- a/packages/transactions/src/getLobbies.ts +++ b/packages/transactions/src/getLobbies.ts @@ -1,5 +1,5 @@ import { LobbyInfo, LobbyMessage } from "./LobbyMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { EntryFeePurseMessage, PurseEntry } from "./EntryFeePurseMessage.js"; diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index f09bf1790..faa64db61 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -15,19 +15,15 @@ // along with this program. If not, see . import { messageHandlers } from "./messageHandlers.js"; -import { ServerLogger, getServerLogger } from "../../shared/log.js"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { fetchStateFromDatabase, getEncryption, updateEncryption, -} from "../../shared/State.js"; +} from "@rustymotors/shared"; // eslint-disable-next-line no-unused-vars -import { - SerializedBuffer, - OldServerMessage, -} from "../../shared/messageFactory.js"; -import { getServerConfiguration } from "../../shared/Configuration.js"; -import { ServerMessage } from "../../shared/src/ServerMessage.js"; +import { SerializedBuffer, OldServerMessage } from "@rustymotors/shared"; +import { ServerMessage } from "@rustymotors/shared"; /** * diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts index d3a4a3ce2..61ffbf02f 100644 --- a/packages/transactions/src/login.ts +++ b/packages/transactions/src/login.ts @@ -1,5 +1,5 @@ import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { createNewCar } from "../../database/src/services/admin.js"; import { @@ -7,7 +7,7 @@ import { saveVehicle, saveVehiclePartTree, } from "../../database/src/models/VehiclePartTree.js"; -import { TServerLogger, ServerMessageType } from "../../shared/types.js"; +import { TServerLogger, ServerMessageType } from "@rustymotors/shared"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index 06ffedfda..8b0d4ca1c 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -1,13 +1,16 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; -import { OldServerMessage } from "../../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; -import { log } from "../../../shared/log.js"; import { getVehiclePartTree } from "../../../database/src/cache.js"; import { TPart } from "../../../database/src/models/Part.js"; import { buildVehiclePartTreeFromDB } from "../../../database/src/models/VehiclePartTree.js"; +import { getServerLogger } from "@rustymotors/shared"; + +const log = getServerLogger(); + const DAMAGE_SIZE = 2000; export class VehicleStruct { @@ -32,8 +35,7 @@ export class VehicleStruct { } return buffer; } catch (error) { - log.error(`Error in VehicleStruct.serialize: ${error}`); - throw error; + throw Error(`Error in VehicleStruct.serialize: ${error}`); } } diff --git a/packages/transactions/src/messageStructs/CarInfoMessage.ts b/packages/transactions/src/messageStructs/CarInfoMessage.ts index fb6a4592b..f865d9e9f 100644 --- a/packages/transactions/src/messageStructs/CarInfoMessage.ts +++ b/packages/transactions/src/messageStructs/CarInfoMessage.ts @@ -1,5 +1,5 @@ import { Vehicle } from "../../../nps/services/types.js"; -import { SerializedBuffer } from "../../../shared/messageFactory.js"; +import { SerializedBuffer } from "@rustymotors/shared"; import { PartStruct, VehicleStruct, diff --git a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts index 66669e8a7..100b6589d 100644 --- a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts +++ b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts @@ -1,7 +1,4 @@ -import { - OldServerMessage, - serverHeader, -} from "../../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; export class CarNumberSet { private cars: string[] = []; diff --git a/packages/transactions/src/trackingPing.ts b/packages/transactions/src/trackingPing.ts index e6f2cd586..523a1f739 100644 --- a/packages/transactions/src/trackingPing.ts +++ b/packages/transactions/src/trackingPing.ts @@ -1,5 +1,5 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.ts b/packages/transactions/test/_getPlayerRaceHistory.test.ts index 36a70b151..54bb37eff 100644 --- a/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from "vitest"; import { _getPlayerRaceHistory } from "../src/_getPlayerRaceHistory.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; -import { getServerLogger } from "../../shared/log.js"; +import { OldServerMessage } from "@rustymotors/shared"; +import { getServerLogger } from "@rustymotors/shared"; describe("_getPlayerRaceHistory", () => { it("should return a PlayerRacingHistoryMessage", async () => { diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index 8aa7ab951..6cbcc0c9a 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -1,5 +1,5 @@ -import { State } from "../../shared/State.js"; -import { getServerLogger } from "../../shared/log.js"; +import { State } from "@rustymotors/shared"; +import { getServerLogger } from "@rustymotors/shared"; import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; diff --git a/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts index 44aad350a..4bcf343dc 100644 --- a/packages/transactions/test/getLobbies.test.ts +++ b/packages/transactions/test/getLobbies.test.ts @@ -1,5 +1,5 @@ -import { getServerLogger } from "../../shared/log.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { getServerLogger } from "@rustymotors/shared"; +import { OldServerMessage } from "@rustymotors/shared"; import { getLobbies } from "../src/getLobbies.js"; import { describe, expect, it } from "vitest"; diff --git a/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts index 126318258..f46bf7ea0 100644 --- a/packages/transactions/test/trackingPing.test.ts +++ b/packages/transactions/test/trackingPing.test.ts @@ -1,5 +1,5 @@ -import { getServerLogger } from "../../shared/log.js"; -import { OldServerMessage } from "../../shared/messageFactory.js"; +import { getServerLogger } from "@rustymotors/shared"; +import { OldServerMessage } from "@rustymotors/shared"; import { trackingPing } from "../src/trackingPing.js"; import { describe, test, expect, vi } from "vitest"; diff --git a/packages/transactions/types.ts b/packages/transactions/types.ts index 38c53d43a..5c30e48d8 100644 --- a/packages/transactions/types.ts +++ b/packages/transactions/types.ts @@ -14,9 +14,9 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { OldServerMessage } from "../shared/messageFactory.js"; -import { ServerMessage } from "../shared/src/ServerMessage.js"; -import { ServerMessageType, TServerLogger } from "../shared/types.js"; +import { OldServerMessage } from "@rustymotors/shared"; +import { ServerMessage } from "@rustymotors/shared"; +import { ServerMessageType, TServerLogger } from "@rustymotors/shared"; export interface MessageHandlerArgs { connectionId: string; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b23ba6d9a..4e86fe112 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3640 +1,5142 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - '@sentry/profiling-node': - specifier: ^7.104.0 - version: 7.104.0 - sentry: - specifier: ^0.1.2 - version: 0.1.2 - slonik: - specifier: '29' - version: 29.2.0 - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - '@slonik/migrator': - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - '@types/node': - specifier: ^20.11.16 - version: 20.11.24 - '@vitest/coverage-v8': - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - apps/main: {} - - packages/cli: {} - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - - packages/interfaces: {} - - packages/lobby: {} - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + "@sentry/profiling-node": + specifier: ^7.104.0 + version: 7.104.0 + sentry: + specifier: ^0.1.2 + version: 0.1.2 + slonik: + specifier: "29" + version: 29.2.0 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + "@slonik/migrator": + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + "@types/node": + specifier: ^20.11.16 + version: 20.11.24 + "@vitest/coverage-v8": + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: {} + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.24 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.24 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.24 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.24: - resolution: {integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@nrwl/tao@18.0.6: - resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} - hasBin: true - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) - '@types/node': 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): - resolution: {integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/core@7.104.0: - resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.104.0 - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.104.0: - resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} - dependencies: - '@types/node': 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} - peerDependencies: - vitest: 1.3.1 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} - dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} - dependencies: - '@vitest/utils': 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} - engines: {node: '>=0.3.0'} - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} - dev: true - - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /coffee-script@1.12.7: - resolution: {integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==} - engines: {node: '>=0.8.0'} - deprecated: CoffeeScript on NPM has moved to "coffeescript" (no hyphen) - hasBin: true - dev: false - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dev: true - - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} - engines: {node: '>=12'} - dev: true - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true optional: true - eslint-config-prettier: + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.4 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.1: - resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /file@0.2.2: - resolution: {integrity: sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==} - dev: false - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true - dev: true - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@2.1.1: - resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} - engines: {node: '>=8.0'} - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /hyperid@2.3.1: - resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /int64-buffer@0.99.1007: - resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} - engines: {node: '>= 4.5.0'} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /multi-fork@0.0.2: - resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /nx@18.0.6: - resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} - hasBin: true - requiresBuild: true - peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 - peerDependenciesMeta: - '@swc-node/register': + + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true - '@swc/core': + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@nrwl/tao': 18.0.6 - '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 - '@zkochan/js-yaml': 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@nx/nx-darwin-arm64': 18.0.6 - '@nx/nx-darwin-x64': 18.0.6 - '@nx/nx-freebsd-x64': 18.0.6 - '@nx/nx-linux-arm-gnueabihf': 18.0.6 - '@nx/nx-linux-arm64-gnu': 18.0.6 - '@nx/nx-linux-arm64-musl': 18.0.6 - '@nx/nx-linux-x64-gnu': 18.0.6 - '@nx/nx-linux-x64-musl': 18.0.6 - '@nx/nx-win32-arm64-msvc': 18.0.6 - '@nx/nx-win32-x64-msvc': 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-copy-streams-binary@2.2.0: - resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: false - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /sentry@0.1.2: - resolution: {integrity: sha512-WVMYvjMCqdMwfins7AkwBhCINvw0EfXj0Aeo/YUQYyD6VOhAQPDM7uxnPDBzd2N50NR8w+yb3irHxSbd9Wy9OQ==} - deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. - requiresBuild: true - dependencies: - coffee-script: 1.12.7 - file: 0.2.2 - underscore: 1.13.6 - dev: false - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@29.2.0: - resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} - engines: {node: '>=10.0'} - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: false - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.18.1(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: false - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.24 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true - less: + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true - lightningcss: + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true - sass: + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true - stylus: + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true optional: true - sugarss: + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.24 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + dev: true + + /@jridgewell/trace-mapping@0.3.24: + resolution: + { + integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@nrwl/tao@18.0.6: + resolution: + { + integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, + } + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - "@swc-node/register" + - "@swc/core" + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: + { + integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - terser: + + /@nx/nx-darwin-x64@18.0.6: + resolution: + { + integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': + + /@nx/nx-freebsd-x64@18.0.6: + resolution: + { + integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@types/node': + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: + { + integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, + } + engines: { node: ">= 10" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/browser': + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: + { + integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/ui': + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: + { + integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - happy-dom: + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: + { + integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - jsdom: + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: + { + integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: + { + integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: + { + integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) + "@types/node": 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.24) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: + { + integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/core@7.104.0: + resolution: + { + integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: + { + integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.104.0 + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: + { + integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, + } + engines: { node: ">=8.0.0" } + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: + { + integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/utils@7.104.0: + resolution: + { + integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.11.24: + resolution: + { + integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: + { + integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, + } + peerDependencies: + vitest: 1.3.1 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: + { + integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, + } + dependencies: + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: + { + integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, + } + dependencies: + "@vitest/utils": 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: + { + integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: + { + integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: + { + integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: + { + integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, + } + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: + { + integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, + } + engines: { node: ">=14.15.0" } + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: + { + integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, + } + dependencies: + argparse: 2.0.1 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } + dev: true + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /asynckit@0.4.0: + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: + { + integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, + } + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + dev: true + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: + { + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, + } + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-from@1.1.2: + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: + { + integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, + } + engines: { node: ">=0.3.0" } + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /cli-cursor@3.1.0: + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, + } + engines: { node: ">=8" } + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: + { + integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, + } + engines: { node: ">=6" } + dev: true + + /cliui@8.0.1: + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: ">=0.8" } + dev: true + + /coffee-script@1.12.7: + resolution: + { + integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==, + } + engines: { node: ">=0.8.0" } + dev: false + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /combined-stream@1.0.8: + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /concat-stream@2.0.0: + resolution: + { + integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, + } + engines: { "0": node >= 6.0 } + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /defaults@1.0.4: + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: ">=8" } + dev: true + + /delayed-stream@1.0.0: + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: false + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: + { + integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, + } + engines: { node: ">=12" } + dev: true + + /dotenv@16.3.2: + resolution: + { + integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, + } + engines: { node: ">=12" } + dev: true + + /duplexer@0.1.2: + resolution: + { + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, + } + dev: true + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: + { + integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, + } + engines: { node: ">=8.6" } + dependencies: + ansi-colors: 4.1.3 + dev: true + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + + /escalade@3.1.2: + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: ">=6" } + dev: true + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + dev: true + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.4 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.1: + resolution: + { + integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, + } + engines: { node: ">=8" } + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /file@0.2.2: + resolution: + { + integrity: sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==, + } + dev: false + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: + { + integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, + } + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /follow-redirects@1.15.5: + resolution: + { + integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, + } + engines: { node: ">=4.0" } + peerDependencies: + debug: "*" + peerDependenciesMeta: + debug: + optional: true + dev: true + + /form-data@4.0.0: + resolution: + { + integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, + } + engines: { node: ">= 6" } + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-constants@1.0.0: + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, + } + dev: true + + /fs-extra@11.2.0: + resolution: + { + integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, + } + engines: { node: ">=14.14" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + dev: true + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /get-caller-file@2.0.5: + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + dev: true + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@2.1.1: + resolution: + { + integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, + } + engines: { node: ">=8.0" } + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /hyperid@2.3.1: + resolution: + { + integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, + } + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /int64-buffer@0.99.1007: + resolution: + { + integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, + } + engines: { node: ">= 4.5.0" } + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: ">=8" } + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + dev: true + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: ">=8" } + dev: true + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-plain-object@5.0.0: + resolution: + { + integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, + } + engines: { node: ">=0.10.0" } + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /is-unicode-supported@0.1.0: + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: ">=10" } + dev: true + + /is-wsl@2.2.0: + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: ">=8" } + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + dev: true + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: ">=10" } + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: + { + integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: + { + integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@3.14.1: + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, + } + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + dev: true + + /jsonc-parser@3.2.0: + resolution: + { + integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, + } + dev: true + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: + { + integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /lodash.sortby@4.7.0: + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } + + /log-symbols@4.1.0: + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: ">=10" } + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } + dev: true + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /multi-fork@0.0.2: + resolution: + { + integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: false + + /node-machine-id@1.1.12: + resolution: + { + integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, + } + dev: true + + /npm-run-path@4.0.1: + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /nx@18.0.6: + resolution: + { + integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, + } + hasBin: true + requiresBuild: true + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + dependencies: + "@nrwl/tao": 18.0.6 + "@yarnpkg/lockfile": 1.1.0 + "@yarnpkg/parsers": 3.0.0-rc.46 + "@zkochan/js-yaml": 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + "@nx/nx-darwin-arm64": 18.0.6 + "@nx/nx-darwin-x64": 18.0.6 + "@nx/nx-freebsd-x64": 18.0.6 + "@nx/nx-linux-arm-gnueabihf": 18.0.6 + "@nx/nx-linux-arm64-gnu": 18.0.6 + "@nx/nx-linux-arm64-musl": 18.0.6 + "@nx/nx-linux-x64-gnu": 18.0.6 + "@nx/nx-linux-x64-musl": 18.0.6 + "@nx/nx-win32-arm64-msvc": 18.0.6 + "@nx/nx-win32-x64-msvc": 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: ">=12" } + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: + { + integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, + } + engines: { node: ">=10" } + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: + { + integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, + } + engines: { node: ">=8" } + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-copy-streams-binary@2.2.0: + resolution: + { + integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, + } + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: + { + integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, + } + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: + { + integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, + } + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + dev: false + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.4: + resolution: + { + integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, + } + engines: { node: ">=14" } + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + dev: true + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /readable-stream@3.6.2: + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: ">= 6" } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + dev: true + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, + } + engines: { node: ">=8" } + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: + { + integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + dependencies: + lru-cache: 6.0.0 + + /sentry@0.1.2: + resolution: + { + integrity: sha512-WVMYvjMCqdMwfins7AkwBhCINvw0EfXj0Aeo/YUQYyD6VOhAQPDM7uxnPDBzd2N50NR8w+yb3irHxSbd9Wy9OQ==, + } + requiresBuild: true + dependencies: + coffee-script: 1.12.7 + file: 0.2.2 + underscore: 1.13.6 + dev: false + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@29.2.0: + resolution: + { + integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, + } + engines: { node: ">=10.0" } + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: + { + integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.8.0-beta.0: + resolution: + { + integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, + } + engines: { node: ">= 8" } + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string-width@4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: ">=4" } + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: + { + integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, + } + engines: { node: ">=4" } + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-stream@2.2.0: + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, + } + engines: { node: ">=6" } + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: + { + integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, + } + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: + { + integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, + } + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } + dev: true + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tmp@0.2.3: + resolution: + { + integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, + } + engines: { node: ">=14.14" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + dev: true + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@1.0.1: + resolution: + { + integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, + } + dependencies: + punycode: 2.3.1 + + /tsconfig-paths@4.2.0: + resolution: + { + integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, + } + engines: { node: ">=6" } + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + dev: false + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: + { + integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, + } + + /typescript@5.3.3: + resolution: + { + integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, + } + engines: { node: ">=14.17" } + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /underscore@1.13.6: + resolution: + { + integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==, + } + dev: false + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /universalify@2.0.1: + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: ">= 10.0.0" } + dev: true + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } + + /uuid-parse@1.1.0: + resolution: + { + integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, + } + + /uuid@8.3.2: + resolution: + { + integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, + } + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.24 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.3.1 + "@vitest/ui": 1.3.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.24 + "@vitest/expect": 1.3.1 + "@vitest/runner": 1.3.1 + "@vitest/snapshot": 1.3.1 + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /wcwidth@1.0.1: + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@4.0.2: + resolution: + { + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, + } + + /whatwg-url@7.1.0: + resolution: + { + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, + } + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@7.0.0: + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + dev: true + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + dev: true + + /yargs@17.7.2: + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: ">=12" } + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } + dev: false diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index a0fe34667..4af31626f 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,4 +1,3 @@ packages: - "apps/*" - "packages/*" - - "thebeast" From f04f9e7a70b034d3f8d932dbfa1a51a109f099fe Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:13:34 -0500 Subject: [PATCH 144/452] Remove deprecated package --- .yarnrc.yml | 1 - package.json | 1 - pnpm-lock.yaml | 8708 ++++++++++++++++++++---------------------------- 3 files changed, 3596 insertions(+), 5114 deletions(-) delete mode 100644 .yarnrc.yml diff --git a/.yarnrc.yml b/.yarnrc.yml deleted file mode 100644 index 3186f3f07..000000000 --- a/.yarnrc.yml +++ /dev/null @@ -1 +0,0 @@ -nodeLinker: node-modules diff --git a/package.json b/package.json index bc334b0aa..6c7662d0f 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,6 @@ "@rustymotors/shared": "workspace:^", "@sentry/node": "^7.102.0", "@sentry/profiling-node": "^7.104.0", - "sentry": "^0.1.2", "slonik": "29", "tsx": "^4.7.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4e86fe112..85a18fa95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5142 +1,3626 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - "@sentry/profiling-node": - specifier: ^7.104.0 - version: 7.104.0 - sentry: - specifier: ^0.1.2 - version: 0.1.2 - slonik: - specifier: "29" - version: 29.2.0 - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - "@slonik/migrator": - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - "@types/node": - specifier: ^20.11.16 - version: 20.11.24 - "@vitest/coverage-v8": - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - - packages/interfaces: {} - - packages/lobby: {} - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.24 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true + .: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + '@sentry/profiling-node': + specifier: ^7.104.0 + version: 7.104.0 + slonik: + specifier: '29' + version: 29.2.0 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + '@slonik/migrator': + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + '@types/node': + specifier: ^20.11.16 + version: 20.11.24 + '@vitest/coverage-v8': + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: {} + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true +packages: - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@nrwl/tao@18.0.6: + resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@18.0.6: + resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@18.0.6: + resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true + dependencies: + '@types/node': 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@types/node': 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): + resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/core@7.104.0: + resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.104.0 + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.104.0: + resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + peerDependencies: + vitest: 1.3.1 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.24 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - dev: true - - /@jridgewell/trace-mapping@0.3.24: - resolution: - { - integrity: sha512-+VaWXDa6+l6MhflBvVXjIEAzb59nQ2JUK3bwRp2zRpPtU+8TFRy9Gg/5oIcNlkEL5PGlBFGfemUVvIgLnTzq7Q==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@nrwl/tao@18.0.6: - resolution: - { - integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, - } - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - "@swc-node/register" - - "@swc/core" - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: - { - integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} + engines: {node: '>=0.3.0'} + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: - { - integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + engines: {node: '>=12'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: - { - integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + eslint-config-prettier: optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: - { - integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, - } - engines: { node: ">= 10" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.4 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.1: + resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: - { - integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@2.1.1: + resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} + engines: {node: '>=8.0'} + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /hyperid@2.3.1: + resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /int64-buffer@0.99.1007: + resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} + engines: {node: '>= 4.5.0'} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /multi-fork@0.0.2: + resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /node-machine-id@1.1.12: + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nx@18.0.6: + resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} + hasBin: true + requiresBuild: true + peerDependencies: + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 + peerDependenciesMeta: + '@swc-node/register': optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: - { - integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@swc/core': optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: - { - integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@nrwl/tao': 18.0.6 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.0-rc.46 + '@zkochan/js-yaml': 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 18.0.6 + '@nx/nx-darwin-x64': 18.0.6 + '@nx/nx-freebsd-x64': 18.0.6 + '@nx/nx-linux-arm-gnueabihf': 18.0.6 + '@nx/nx-linux-arm64-gnu': 18.0.6 + '@nx/nx-linux-arm64-musl': 18.0.6 + '@nx/nx-linux-x64-gnu': 18.0.6 + '@nx/nx-linux-x64-musl': 18.0.6 + '@nx/nx-win32-arm64-msvc': 18.0.6 + '@nx/nx-win32-x64-msvc': 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-copy-streams-binary@2.2.0: + resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: - { - integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@29.2.0: + resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} + engines: {node: '>=10.0'} + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: - { - integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + less: optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: - { - integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + sass: optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + stylus: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + sugarss: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + terser: optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@types/node': optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@vitest/browser': optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + happy-dom: optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) - "@types/node": 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.18.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-A3x3ARWzoW4ARU1XS87wFVJvdywzo2j27aRm5SIFY3Nwl5vQqo0hvzaQDYCq/hEGBxAdBGW8q6N5clNk36H34A==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.24) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: - { - integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/core@7.104.0: - resolution: - { - integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: - { - integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.104.0 - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: - { - integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, - } - engines: { node: ">=8.0.0" } - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: - { - integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/utils@7.104.0: - resolution: - { - integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.11.24: - resolution: - { - integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: - { - integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, - } - peerDependencies: - vitest: 1.3.1 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: - { - integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, - } - dependencies: - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: - { - integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, - } - dependencies: - "@vitest/utils": 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: - { - integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: - { - integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: - { - integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: - { - integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, - } - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: - { - integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, - } - engines: { node: ">=14.15.0" } - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: - { - integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, - } - dependencies: - argparse: 2.0.1 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: ">=6" } - dev: true - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: - { - integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, - } - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - dev: true - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: - { - integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, - } - engines: { node: ">=0.3.0" } - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: ">=8" } - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: - { - integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, - } - engines: { node: ">=6" } - dev: true - - /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: ">=12" } - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: ">=0.8" } - dev: true - - /coffee-script@1.12.7: - resolution: - { - integrity: sha512-fLeEhqwymYat/MpTPUjSKHVYYl0ec2mOyALEMLmzr5i1isuG+6jfI2j2d5oBO3VIzgUXgBVIcOT9uH1TFxBckw==, - } - engines: { node: ">=0.8.0" } - dev: false - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: ">= 0.8" } - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true + jsdom: optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /concat-stream@2.0.0: - resolution: - { - integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, - } - engines: { "0": node >= 6.0 } - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: ">=8" } - dev: true - - /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: ">=0.4.0" } - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: false - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: - { - integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, - } - engines: { node: ">=12" } - dev: true - - /dotenv@16.3.2: - resolution: - { - integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, - } - engines: { node: ">=12" } - dev: true - - /duplexer@0.1.2: - resolution: - { - integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, - } - dev: true - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: - { - integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, - } - engines: { node: ">=8.6" } - dependencies: - ansi-colors: 4.1.3 - dev: true - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: ">=6" } - dev: true - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } - dev: true - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.4 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.1: - resolution: - { - integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: ">=8" } - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /file@0.2.2: - resolution: - { - integrity: sha512-gwabMtChzdnpDJdPEpz8Vr/PX0pU85KailuPV71Zw/un5yJVKvzukhB3qf6O3lnTwIe5CxlMYLh3jOK3w5xrLA==, - } - dev: false - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /follow-redirects@1.15.5: - resolution: - { - integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, - } - engines: { node: ">=4.0" } - peerDependencies: - debug: "*" - peerDependenciesMeta: - debug: - optional: true - dev: true - - /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: ">= 6" } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } - dev: true - - /fs-extra@11.2.0: - resolution: - { - integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, - } - engines: { node: ">=14.14" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - dev: true - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@2.1.1: - resolution: - { - integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, - } - engines: { node: ">=8.0" } - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /hyperid@2.3.1: - resolution: - { - integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, - } - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /int64-buffer@0.99.1007: - resolution: - { - integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, - } - engines: { node: ">= 4.5.0" } - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: ">=8" } - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } - dev: true - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: ">=8" } - dev: true - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-plain-object@5.0.0: - resolution: - { - integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, - } - engines: { node: ">=0.10.0" } - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: ">=10" } - dev: true - - /is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: ">=8" } - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - dev: true - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: ">=10" } - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: - { - integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } - dev: true - - /jsonc-parser@3.2.0: - resolution: - { - integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, - } - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: - { - integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /lodash.sortby@4.7.0: - resolution: - { - integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, - } - - /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: ">=10" } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: ">=6" } - dev: true - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /multi-fork@0.0.2: - resolution: - { - integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: false - - /node-machine-id@1.1.12: - resolution: - { - integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, - } - dev: true - - /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /nx@18.0.6: - resolution: - { - integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, - } - hasBin: true - requiresBuild: true - peerDependencies: - "@swc-node/register": ^1.8.0 - "@swc/core": ^1.3.85 - peerDependenciesMeta: - "@swc-node/register": - optional: true - "@swc/core": - optional: true - dependencies: - "@nrwl/tao": 18.0.6 - "@yarnpkg/lockfile": 1.1.0 - "@yarnpkg/parsers": 3.0.0-rc.46 - "@zkochan/js-yaml": 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - "@nx/nx-darwin-arm64": 18.0.6 - "@nx/nx-darwin-x64": 18.0.6 - "@nx/nx-freebsd-x64": 18.0.6 - "@nx/nx-linux-arm-gnueabihf": 18.0.6 - "@nx/nx-linux-arm64-gnu": 18.0.6 - "@nx/nx-linux-arm64-musl": 18.0.6 - "@nx/nx-linux-x64-gnu": 18.0.6 - "@nx/nx-linux-x64-musl": 18.0.6 - "@nx/nx-win32-arm64-msvc": 18.0.6 - "@nx/nx-win32-x64-msvc": 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: ">=6" } - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: ">=12" } - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: - { - integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, - } - engines: { node: ">=10" } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: - { - integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, - } - engines: { node: ">=8" } - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-copy-streams-binary@2.2.0: - resolution: - { - integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, - } - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: - { - integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, - } - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: - { - integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, - } - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - dev: false - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.4: - resolution: - { - integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, - } - engines: { node: ">=14" } - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: true - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: ">= 6" } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } - dev: true - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: ">=8" } - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: - { - integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - dependencies: - lru-cache: 6.0.0 - - /sentry@0.1.2: - resolution: - { - integrity: sha512-WVMYvjMCqdMwfins7AkwBhCINvw0EfXj0Aeo/YUQYyD6VOhAQPDM7uxnPDBzd2N50NR8w+yb3irHxSbd9Wy9OQ==, - } - requiresBuild: true - dependencies: - coffee-script: 1.12.7 - file: 0.2.2 - underscore: 1.13.6 - dev: false - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@29.2.0: - resolution: - { - integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, - } - engines: { node: ">=10.0" } - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: - { - integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.8.0-beta.0: - resolution: - { - integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, - } - engines: { node: ">= 8" } - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: - { - integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, - } - engines: { node: ">=4" } - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: ">=6" } - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: - { - integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, - } - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } - dev: true - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tmp@0.2.3: - resolution: - { - integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, - } - engines: { node: ">=14.14" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - dev: true - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@1.0.1: - resolution: - { - integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, - } - dependencies: - punycode: 2.3.1 - - /tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: ">=6" } - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - dev: false - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } - - /typescript@5.3.3: - resolution: - { - integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, - } - engines: { node: ">=14.17" } - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.18.1(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /underscore@1.13.6: - resolution: - { - integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==, - } - dev: false - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: ">= 10.0.0" } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } - - /uuid-parse@1.1.0: - resolution: - { - integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, - } - - /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.24 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.3.1 - "@vitest/ui": 1.3.1 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.24 - "@vitest/expect": 1.3.1 - "@vitest/runner": 1.3.1 - "@vitest/snapshot": 1.3.1 - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@4.0.2: - resolution: - { - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, - } - - /whatwg-url@7.1.0: - resolution: - { - integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, - } - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } - dev: true - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: ">=12" } - dev: true - - /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: ">=12" } - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } - dev: false + dependencies: + '@types/node': 20.11.24 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false From 954db8ba75066c6c387748a0d3eb8c0e4d14f45a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:22:55 -0500 Subject: [PATCH 145/452] Update Codecov flag mappings --- .github/codecov.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 5468b6e7d..5e522374a 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -10,47 +10,47 @@ comment: flags: database: paths: - - thebeast/packages/database/** + - packages/database/** carryforward: true gateway: paths: - - thebeast/packages/gateway/** + - packages/gateway/** carryforward: true lobby: paths: - - thebeast/packages/lobby/** + - packages/lobby/** carryforward: true login: paths: - - thebeast/packages/login/** + - packages/login/** carryforward: true patch: paths: - - thebeast/packages/patch/** + - packages/patch/** carryforward: true persona: paths: - - thebeast/packages/persona/** + - packages/persona/** carryforward: true shard: paths: - - thebeast/packages/shard/** + - packages/shard/** carryforward: true shared: paths: - - thebeast/packages/shared/** + - packages/shared/** carryforward: true transactions: paths: - - thebeast/packages/transactions/** + - packages/transactions/** carryforward: true interfaces: paths: - - thebeast/packages/interfaces/** + - packages/interfaces/** carryforward: false core: paths: - - thebeast/packages/core/** + - packages/core/** carryforward: true component_management: @@ -58,6 +58,6 @@ component_management: - component_id: components_team1 name: Team 1 paths: - - thebeast/packages/core/** - - thebeast/packages/gateway/** - - thebeast/packages/shared/** + - packages/core/** + - packages/gateway/** + - packages/shared/** From aa45d0f47a80450423c214530cf9d960dd56fb27 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:24:02 -0500 Subject: [PATCH 146/452] Remove v18 from test matrix --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index adc8efd1d..3357af73d 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -17,7 +17,7 @@ jobs: strategy: matrix: - node-version: [18.x, 20.x, 21.x] + node-version: [20.x, 21.x] steps: - uses: actions/checkout@v4 From 94963d4f4e674481a522972b25bc7814af3d3699 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 2 Mar 2024 11:26:11 -0500 Subject: [PATCH 147/452] Combine imports Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- packages/transactions/src/internal.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index faa64db61..065da1615 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -15,7 +15,16 @@ // along with this program. If not, see . import { messageHandlers } from "./messageHandlers.js"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { + ServerLogger, + getServerLogger, + fetchStateFromDatabase, + getEncryption, + updateEncryption, + SerializedBuffer, + OldServerMessage, + ServerMessage +} from "@rustymotors/shared"; import { fetchStateFromDatabase, getEncryption, From 1f371c51110850eb0c57d124202effce15b3eaa9 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:28:16 -0500 Subject: [PATCH 148/452] Revert "Combine imports" This reverts commit 94963d4f4e674481a522972b25bc7814af3d3699. --- packages/transactions/src/internal.ts | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index 065da1615..faa64db61 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -15,16 +15,7 @@ // along with this program. If not, see . import { messageHandlers } from "./messageHandlers.js"; -import { - ServerLogger, - getServerLogger, - fetchStateFromDatabase, - getEncryption, - updateEncryption, - SerializedBuffer, - OldServerMessage, - ServerMessage -} from "@rustymotors/shared"; +import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { fetchStateFromDatabase, getEncryption, From 3c07bdcefbc918f9af2acaf4dc7296f4500e30b0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 11:29:53 -0500 Subject: [PATCH 149/452] Combine imports --- packages/transactions/src/internal.ts | 8 +- pnpm-lock.yaml | 8702 +++++++++++++++---------- 2 files changed, 5110 insertions(+), 3600 deletions(-) diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index faa64db61..e7571d8a3 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -15,15 +15,15 @@ // along with this program. If not, see . import { messageHandlers } from "./messageHandlers.js"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + ServerLogger, fetchStateFromDatabase, getEncryption, updateEncryption, + SerializedBuffer, + OldServerMessage, + ServerMessage, } from "@rustymotors/shared"; -// eslint-disable-next-line no-unused-vars -import { SerializedBuffer, OldServerMessage } from "@rustymotors/shared"; -import { ServerMessage } from "@rustymotors/shared"; /** * diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 85a18fa95..4753dbd46 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3626 +1,5136 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - '@sentry/profiling-node': - specifier: ^7.104.0 - version: 7.104.0 - slonik: - specifier: '29' - version: 29.2.0 - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - '@slonik/migrator': - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - '@types/node': - specifier: ^20.11.16 - version: 20.11.24 - '@vitest/coverage-v8': - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - apps/main: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - '@rustymotors/shared': - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - - packages/interfaces: {} - - packages/lobby: {} - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.104.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + "@sentry/profiling-node": + specifier: ^7.104.0 + version: 7.104.0 + slonik: + specifier: "29" + version: 29.2.0 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + "@slonik/migrator": + specifier: ^0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + "@types/node": + specifier: ^20.11.16 + version: 20.11.24 + "@vitest/coverage-v8": + specifier: ^1.1.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: ^8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: ^9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: ^5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + nx: + specifier: ^18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: ^5.3.3 + version: 5.3.3 + vitest: + specifier: ^1.3.1 + version: 1.3.1(@types/node@20.11.24) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: {} + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@nrwl/tao@18.0.6: - resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} - hasBin: true - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) - '@types/node': 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): - resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/core@7.104.0: - resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.104.0 - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.104.0: - resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} - dependencies: - '@types/node': 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} - peerDependencies: - vitest: 1.3.1 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} - dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} - dependencies: - '@vitest/utils': 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} - engines: {node: '>=0.3.0'} - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} - dev: true - - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dev: true - - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} - engines: {node: '>=12'} - dev: true - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true optional: true - eslint-config-prettier: + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.4 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.1: - resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true - dev: true - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@2.1.1: - resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} - engines: {node: '>=8.0'} - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /hyperid@2.3.1: - resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /int64-buffer@0.99.1007: - resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} - engines: {node: '>= 4.5.0'} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /multi-fork@0.0.2: - resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /nx@18.0.6: - resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} - hasBin: true - requiresBuild: true - peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 - peerDependenciesMeta: - '@swc-node/register': + + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true - '@swc/core': + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@nrwl/tao': 18.0.6 - '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 - '@zkochan/js-yaml': 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@nx/nx-darwin-arm64': 18.0.6 - '@nx/nx-darwin-x64': 18.0.6 - '@nx/nx-freebsd-x64': 18.0.6 - '@nx/nx-linux-arm-gnueabihf': 18.0.6 - '@nx/nx-linux-arm64-gnu': 18.0.6 - '@nx/nx-linux-arm64-musl': 18.0.6 - '@nx/nx-linux-x64-gnu': 18.0.6 - '@nx/nx-linux-x64-musl': 18.0.6 - '@nx/nx-win32-arm64-msvc': 18.0.6 - '@nx/nx-win32-x64-msvc': 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-copy-streams-binary@2.2.0: - resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - dev: false - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: false - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@29.2.0: - resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} - engines: {node: '>=10.0'} - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: false - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true - less: + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true - lightningcss: + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true - sass: + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true - stylus: + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true optional: true - sugarss: + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@nrwl/tao@18.0.6: + resolution: + { + integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, + } + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - "@swc-node/register" + - "@swc/core" + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: + { + integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - terser: + + /@nx/nx-darwin-x64@18.0.6: + resolution: + { + integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': + + /@nx/nx-freebsd-x64@18.0.6: + resolution: + { + integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@types/node': + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: + { + integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, + } + engines: { node: ">= 10" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/browser': + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: + { + integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@vitest/ui': + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: + { + integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - happy-dom: + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: + { + integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - jsdom: + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: + { + integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.24 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: + { + integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, + } + engines: { node: ">= 10" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: + { + integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, + } + engines: { node: ">= 10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) + "@types/node": 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.24) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: + { + integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/core@7.104.0: + resolution: + { + integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: + { + integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.104.0 + "@sentry/core": 7.104.0 + "@sentry/types": 7.104.0 + "@sentry/utils": 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: + { + integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: + { + integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/utils@7.104.0: + resolution: + { + integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.11.24: + resolution: + { + integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: + { + integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, + } + peerDependencies: + vitest: 1.3.1 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: + { + integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, + } + dependencies: + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: + { + integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, + } + dependencies: + "@vitest/utils": 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: + { + integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: + { + integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: + { + integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: + { + integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, + } + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: + { + integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, + } + engines: { node: ">=14.15.0" } + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: + { + integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: ">=6" } + dev: true + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /asynckit@0.4.0: + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: + { + integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, + } + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + dev: true + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: + { + integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, + } + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-from@1.1.2: + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: + { + integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, + } + engines: { node: ">=0.3.0" } + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /cli-cursor@3.1.0: + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, + } + engines: { node: ">=8" } + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: + { + integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, + } + engines: { node: ">=6" } + dev: true + + /cliui@8.0.1: + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: ">=12" } + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: ">=0.8" } + dev: true + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /combined-stream@1.0.8: + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: ">= 0.8" } + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /concat-stream@2.0.0: + resolution: + { + integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, + } + engines: { "0": node >= 6.0 } + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /defaults@1.0.4: + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: + { + integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, + } + engines: { node: ">=8" } + dev: true + + /delayed-stream@1.0.0: + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: ">=0.4.0" } + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: false + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: + { + integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, + } + engines: { node: ">=12" } + dev: true + + /dotenv@16.3.2: + resolution: + { + integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, + } + engines: { node: ">=12" } + dev: true + + /duplexer@0.1.2: + resolution: + { + integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, + } + dev: true + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /emoji-regex@8.0.0: + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: + { + integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, + } + engines: { node: ">=8.6" } + dependencies: + ansi-colors: 4.1.3 + dev: true + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + + /escalade@3.1.2: + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: ">=6" } + dev: true + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + dev: true + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.4 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: ">=4" } + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.1: + resolution: + { + integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, + } + engines: { node: ">=8" } + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: + { + integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, + } + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /follow-redirects@1.15.5: + resolution: + { + integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, + } + engines: { node: ">=4.0" } + peerDependencies: + debug: "*" + peerDependenciesMeta: + debug: + optional: true + dev: true + + /form-data@4.0.0: + resolution: + { + integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, + } + engines: { node: ">= 6" } + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-constants@1.0.0: + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, + } + dev: true + + /fs-extra@11.2.0: + resolution: + { + integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, + } + engines: { node: ">=14.14" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + dev: true + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /get-caller-file@2.0.5: + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } + dev: true + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@2.1.1: + resolution: + { + integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, + } + engines: { node: ">=8.0" } + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /hyperid@2.3.1: + resolution: + { + integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, + } + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /int64-buffer@0.99.1007: + resolution: + { + integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, + } + engines: { node: ">= 4.5.0" } + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: + { + integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, + } + engines: { node: ">=8" } + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: ">=8" } + dev: true + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: ">=8" } + dev: true + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-plain-object@5.0.0: + resolution: + { + integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, + } + engines: { node: ">=0.10.0" } + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /is-unicode-supported@0.1.0: + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: ">=10" } + dev: true + + /is-wsl@2.2.0: + resolution: + { + integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, + } + engines: { node: ">=8" } + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + dev: true + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: ">=10" } + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: + { + integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: + { + integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@3.14.1: + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, + } + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: + { + integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, + } + dev: true + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: + { + integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /lodash.sortby@4.7.0: + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } + + /log-symbols@4.1.0: + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: ">=10" } + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: ">=6" } + dev: true + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /multi-fork@0.0.2: + resolution: + { + integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: false + + /node-machine-id@1.1.12: + resolution: + { + integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, + } + dev: true + + /npm-run-path@4.0.1: + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: ">=8" } + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /nx@18.0.6: + resolution: + { + integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, + } + hasBin: true + requiresBuild: true + peerDependencies: + "@swc-node/register": ^1.8.0 + "@swc/core": ^1.3.85 + peerDependenciesMeta: + "@swc-node/register": + optional: true + "@swc/core": + optional: true + dependencies: + "@nrwl/tao": 18.0.6 + "@yarnpkg/lockfile": 1.1.0 + "@yarnpkg/parsers": 3.0.0-rc.46 + "@zkochan/js-yaml": 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + "@nx/nx-darwin-arm64": 18.0.6 + "@nx/nx-darwin-x64": 18.0.6 + "@nx/nx-freebsd-x64": 18.0.6 + "@nx/nx-linux-arm-gnueabihf": 18.0.6 + "@nx/nx-linux-arm64-gnu": 18.0.6 + "@nx/nx-linux-arm64-musl": 18.0.6 + "@nx/nx-linux-x64-gnu": 18.0.6 + "@nx/nx-linux-x64-musl": 18.0.6 + "@nx/nx-win32-arm64-msvc": 18.0.6 + "@nx/nx-win32-x64-msvc": 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: ">=6" } + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: + { + integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, + } + engines: { node: ">=12" } + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: + { + integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, + } + engines: { node: ">=10" } + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: + { + integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, + } + engines: { node: ">=8" } + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-copy-streams-binary@2.2.0: + resolution: + { + integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, + } + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: + { + integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, + } + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: + { + integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + dev: false + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + dev: false + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.4: + resolution: + { + integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + dev: true + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /readable-stream@3.6.2: + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: ">= 6" } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-directory@2.1.1: + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: ">=0.10.0" } + dev: true + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, + } + engines: { node: ">=8" } + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: + { + integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@3.0.7: + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@29.2.0: + resolution: + { + integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, + } + engines: { node: ">=10.0" } + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: + { + integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.8.0-beta.0: + resolution: + { + integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, + } + engines: { node: ">= 8" } + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string-width@4.2.3: + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: ">=8" } + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: ">=4" } + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: + { + integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, + } + engines: { node: ">=4" } + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-stream@2.2.0: + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, + } + engines: { node: ">=6" } + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: + { + integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, + } + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: + { + integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, + } + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } + dev: true + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tmp@0.2.3: + resolution: + { + integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, + } + engines: { node: ">=14.14" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + dev: true + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@1.0.1: + resolution: + { + integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, + } + dependencies: + punycode: 2.3.1 + + /tsconfig-paths@4.2.0: + resolution: + { + integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, + } + engines: { node: ">=6" } + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + dev: false + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: + { + integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, + } + + /typescript@5.3.3: + resolution: + { + integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, + } + engines: { node: ">=14.17" } + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /universalify@2.0.1: + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: ">= 10.0.0" } + dev: true + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } + + /uuid-parse@1.1.0: + resolution: + { + integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, + } + + /uuid@8.3.2: + resolution: + { + integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, + } + hasBin: true + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: + { + integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.3.1 + "@vitest/ui": 1.3.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.24 + "@vitest/expect": 1.3.1 + "@vitest/runner": 1.3.1 + "@vitest/snapshot": 1.3.1 + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /wcwidth@1.0.1: + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@4.0.2: + resolution: + { + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, + } + + /whatwg-url@7.1.0: + resolution: + { + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, + } + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@7.0.0: + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /y18n@5.0.8: + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: ">=10" } + dev: true + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yargs-parser@21.1.1: + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: ">=12" } + dev: true + + /yargs@17.7.2: + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: ">=12" } + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } + dev: false From c8727e8e254887d98dcc6d0147e3925272308c4a Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 18:53:56 -0500 Subject: [PATCH 150/452] Swap exports of database to named imports --- package.json | 1 + packages/database/index.ts | 9 +++++++++ packages/database/package.json | 7 ++++++- packages/database/src/models/Part.ts | 2 -- packages/lobby/package.json | 5 ++++- packages/lobby/src/handlers/_setMyUserData.ts | 2 +- packages/lobby/src/handlers/requestConnectGameServer.ts | 2 +- packages/login/src/index.ts | 2 +- packages/login/src/internal.ts | 2 +- packages/transactions/src/login.ts | 3 +-- .../src/messageHandlers/_getCompleteVehicleInfo.ts | 5 ++--- packages/transactions/test/clientConnect.test.ts | 2 +- pnpm-lock.yaml | 9 ++++++++- 13 files changed, 36 insertions(+), 15 deletions(-) create mode 100644 packages/database/index.ts diff --git a/package.json b/package.json index 6c7662d0f..6f9e54d4b 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "vitest": "^1.3.1" }, "dependencies": { + "@rustymotors/database": "workspace:^", "@rustymotors/shared": "workspace:^", "@sentry/node": "^7.102.0", "@sentry/profiling-node": "^7.104.0", diff --git a/packages/database/index.ts b/packages/database/index.ts new file mode 100644 index 000000000..ef9fceda0 --- /dev/null +++ b/packages/database/index.ts @@ -0,0 +1,9 @@ +export { getDatabaseServer } from "./src/DatabaseManager.js"; +export { getVehiclePartTree } from "./src/cache.js"; +export { + buildVehiclePartTreeFromDB, + buildVehiclePartTree, + saveVehiclePartTree, + saveVehicle, +} from "./src/models/VehiclePartTree.js"; +export { TPart } from "./src/models/Part.js"; diff --git a/packages/database/package.json b/packages/database/package.json index 73ec17d26..692086c67 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -2,7 +2,12 @@ "name": "@rustymotors/database", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.ts", + "require": "./index.ts" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/database/src/models/Part.ts b/packages/database/src/models/Part.ts index ecd646f51..a17b488d9 100644 --- a/packages/database/src/models/Part.ts +++ b/packages/database/src/models/Part.ts @@ -1,5 +1,3 @@ -import { TAttachmentPoint } from "./AttachmentPoint.js"; - export type TPart = { partId: number; parentPartId: number | null; diff --git a/packages/lobby/package.json b/packages/lobby/package.json index b345a7cf7..13a9494ca 100644 --- a/packages/lobby/package.json +++ b/packages/lobby/package.json @@ -9,5 +9,8 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "ISC", + "dependencies": { + "@rustymotors/database": "workspace:^" + } } diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts index 43c570fd4..c480b48f3 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,7 +1,7 @@ import { ServerLogger } from "@rustymotors/shared"; import { LegacyMessage } from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; -import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; +import { getDatabaseServer } from "@rustymotors/database"; export async function _setMyUserData({ connectionId, diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts index fadec3239..474b40add 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -1,5 +1,5 @@ import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPersonaId.js"; -import { getDatabaseServer } from "../../../database/src/DatabaseManager.js"; +import { getDatabaseServer } from "@rustymotors/database"; import { LoginInfoMessage } from "../LoginInfoMessage.js"; import { UserInfoMessage } from "../UserInfoMessage.js"; diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index 71bb00ccd..90713a96d 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; +import { getDatabaseServer } from "@rustymotors/database"; import { DatabaseManager } from "../../interfaces/index.js"; import { ServerLogger, diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index ce2311648..70aa170d7 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -17,7 +17,7 @@ import { getServerConfiguration } from "@rustymotors/shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; +import { getDatabaseServer } from "@rustymotors/database"; import { NPSMessage, SerializedBuffer } from "@rustymotors/shared"; import { NetworkMessage } from "@rustymotors/shared"; diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts index 61ffbf02f..d4219a4c6 100644 --- a/packages/transactions/src/login.ts +++ b/packages/transactions/src/login.ts @@ -1,12 +1,11 @@ import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { createNewCar } from "../../database/src/services/admin.js"; import { buildVehiclePartTree, saveVehicle, saveVehiclePartTree, -} from "../../database/src/models/VehiclePartTree.js"; +} from "@rustymotors/database"; import { TServerLogger, ServerMessageType } from "@rustymotors/shared"; /** diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index 8b0d4ca1c..96b5cb2b0 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -3,9 +3,8 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; -import { getVehiclePartTree } from "../../../database/src/cache.js"; -import { TPart } from "../../../database/src/models/Part.js"; -import { buildVehiclePartTreeFromDB } from "../../../database/src/models/VehiclePartTree.js"; +import { getVehiclePartTree } from "@rustymotors/database"; +import { TPart, buildVehiclePartTreeFromDB } from "@rustymotors/database"; import { getServerLogger } from "@rustymotors/shared"; diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index 6cbcc0c9a..adf30fae1 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -3,7 +3,7 @@ import { getServerLogger } from "@rustymotors/shared"; import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; -import { getDatabaseServer } from "../../database/src/DatabaseManager.js"; +import { getDatabaseServer } from "@rustymotors/database"; import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; describe("clientConnect", () => { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4753dbd46..95f2fcf0f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -7,6 +7,9 @@ settings: importers: .: dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:packages/database "@rustymotors/shared": specifier: workspace:^ version: link:packages/shared @@ -95,7 +98,11 @@ importers: packages/interfaces: {} - packages/lobby: {} + packages/lobby: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:../database packages/login: {} From 915e058a2243cb66fe43b8243a3eb83ab456173e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:20:05 -0500 Subject: [PATCH 151/452] Remove direct external access to Database class --- packages/database/index.ts | 9 +- packages/database/src/DatabaseManager.ts | 200 +++++++++--------- packages/database/test/Database.test.ts | 25 +-- packages/lobby/src/handlers/_setMyUserData.ts | 10 +- .../src/handlers/requestConnectGameServer.ts | 11 +- packages/login/src/index.ts | 26 +-- packages/login/src/internal.ts | 28 ++- packages/login/test/LoginServer.test.ts | 1 - .../transactions/test/clientConnect.test.ts | 8 +- 9 files changed, 147 insertions(+), 171 deletions(-) diff --git a/packages/database/index.ts b/packages/database/index.ts index ef9fceda0..ff8f9927d 100644 --- a/packages/database/index.ts +++ b/packages/database/index.ts @@ -1,4 +1,9 @@ -export { getDatabaseServer } from "./src/DatabaseManager.js"; +export { + updateUser, + fetchSessionKeyByCustomerId, + updateSessionKey, + fetchSessionKeyByConnectionId, +} from "./src/DatabaseManager.js"; export { getVehiclePartTree } from "./src/cache.js"; export { buildVehiclePartTreeFromDB, @@ -6,4 +11,4 @@ export { saveVehiclePartTree, saveVehicle, } from "./src/models/VehiclePartTree.js"; -export { TPart } from "./src/models/Part.js"; +export type { TPart } from "./src/models/Part.js"; diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index ea7bfee17..a5eb4fc53 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -4,6 +4,7 @@ */ import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { ConnectionRecord } from "../../interfaces/index.js"; /** * @module Database @@ -11,19 +12,12 @@ import { ServerLogger, getServerLogger } from "@rustymotors/shared"; const log = getServerLogger(); -export class Database { - updateUser(user: { userId: number; userData: Buffer }) { - try { - this._users.set(user.userId, user.userData); - } catch (error) { - this._log.error(String(error)); - } - } +class Database { static instance: Database | undefined; private _log: ServerLogger; - private _sessions: interfaces.ConnectionRecord[]; + _sessions: interfaces.ConnectionRecord[]; private _lobbies: interfaces.RaceLobbyRecord[][]; - private _users: Map; + _users: Map; /** * Creates an instance of Database. @@ -55,94 +49,6 @@ export class Database { const self = Database.instance; return self; } - - /** - * Locate customer session encryption key in the database - * - * @param {number} customerId - * @returns {Promise} - * @throws {Error} If the session key is not found - */ - async fetchSessionKeyByCustomerId( - customerId: number, - ): Promise { - const record = this._sessions.find((session) => { - return session.customerId === customerId; - }); - if (typeof record === "undefined") { - const err = new Error( - `Session key not found for customer ${customerId}`, - ); - log.error(`Session key not found for customer ${customerId}`); - throw err; - } - return record; - } - - /** - * Locate customer session encryption key in the database - * - * @param {string} connectionId - * @returns {Promise} - * @throws {Error} If the session key is not found - */ - async fetchSessionKeyByConnectionId( - connectionId: string, - ): Promise { - const record = this._sessions.find((session) => { - return session.connectionId === connectionId; - }); - if (typeof record === "undefined") { - const err = new Error( - `Session key not found for connection ${connectionId}`, - ); - log.error(`Session key not found for connection ${connectionId}`); - throw err; - } - return record; - } - - /** - * Create or overwrite a customer's session key record - * - * @param {number} customerId - * @param {string} sessionKey - * @param {string} contextId - * @param {string} connectionId - * @returns {Promise} - * @throws {Error} If the session key is not found - */ - async updateSessionKey( - customerId: number, - sessionKey: string, - contextId: string, - connectionId: string, - ): Promise { - const sKey = sessionKey.slice(0, 16); - - const updatedSession: import("../../interfaces/index.js").ConnectionRecord = - { - customerId, - sessionKey, - sKey, - contextId, - connectionId, - }; - - const record = this._sessions.findIndex((session) => { - return session.customerId === customerId; - }); - if (typeof record === "undefined") { - const err = new Error( - "Error updating session key: existing key not found", - ); - log.error( - `Error updating session key: existing key not found for ${customerId}`, - ); - throw err; - } - this._sessions.splice(record, 1, updatedSession); - } } /** @@ -158,3 +64,101 @@ export function getDatabaseServer(log: ServerLogger): Database { } return Database.getInstance(log); } + +export async function updateUser(user: { userId: number; userData: Buffer }) { + const db = getDatabaseServer(log); + try { + db._users.set(user.userId, user.userData); + } catch (error) { + throw Error(`Error updating user: ${String(error)}`); + } +} + +/** + * Locate customer session encryption key in the database + * + * @param {number} customerId + * @returns {Promise} + * @throws {Error} If the session key is not found + */ +export async function fetchSessionKeyByCustomerId( + customerId: number, +): Promise { + const db = getDatabaseServer(log); + const record = db._sessions.find((session) => { + return session.customerId === customerId; + }); + if (typeof record === "undefined") { + const err = new Error( + `Session key not found for customer ${customerId}`, + ); + log.error(`Session key not found for customer ${customerId}`); + throw err; + } + return record; +} + +/** + * Create or overwrite a customer's session key record + * + * @param {number} customerId + * @param {string} sessionKey + * @param {string} contextId + * @param {string} connectionId + * @returns {Promise} + * @throws {Error} If the session key is not found + */ +export async function updateSessionKey( + customerId: number, + sessionKey: string, + contextId: string, + connectionId: string, +): Promise { + const sKey = sessionKey.slice(0, 16); + + const updatedSession: ConnectionRecord = { + customerId, + sessionKey, + sKey, + contextId, + connectionId, + }; + const db = getDatabaseServer(log); + const record = db._sessions.findIndex((session) => { + return session.customerId === customerId; + }); + if (typeof record === "undefined") { + const err = new Error( + "Error updating session key: existing key not found", + ); + log.error( + `Error updating session key: existing key not found for ${customerId}`, + ); + throw err; + } + db._sessions.splice(record, 1, updatedSession); +} + +/** + * Locate customer session encryption key in the database + * + * @param {string} connectionId + * @returns {Promise} + * @throws {Error} If the session key is not found + */ +export async function fetchSessionKeyByConnectionId( + connectionId: string, +): Promise { + const db = getDatabaseServer(log); + const record = db._sessions.find((session) => { + return session.connectionId === connectionId; + }); + if (typeof record === "undefined") { + const err = new Error( + `Session key not found for connection ${connectionId}`, + ); + log.error(`Session key not found for connection ${connectionId}`); + throw err; + } + return record; +} diff --git a/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts index 80839ef4e..afa0d556f 100644 --- a/packages/database/test/Database.test.ts +++ b/packages/database/test/Database.test.ts @@ -1,28 +1,21 @@ import { mockLogger } from "../../../test/factoryMocks.js"; -import { Database } from "../src/DatabaseManager.js"; import { describe, it, expect, vi } from "vitest"; +import { + fetchSessionKeyByCustomerId, + fetchSessionKeyByConnectionId, + updateUser, +} from "@rustymotors/database"; describe("Database", () => { - it("returns the same instance", () => { - // arrange - const log = mockLogger(); - // act - const instance1 = Database.getInstance(log); - const instance2 = Database.getInstance(log); - // assert - expect(instance1).toEqual(instance2); - }); - describe("fetchSessionKeyByCustomerId", () => { it("throws when session key is not found", async () => { // arrange const log = mockLogger(); - const instance = Database.getInstance(log); const customerId = 1234; // act try { - await instance.fetchSessionKeyByCustomerId(customerId); + await fetchSessionKeyByCustomerId(customerId); } catch (error) { // assert expect(error).toEqual( @@ -39,11 +32,10 @@ describe("Database", () => { // arrange const log = mockLogger(); - const instance = Database.getInstance(log); const connectionId = "1234"; // act try { - await instance.fetchSessionKeyByConnectionId(connectionId); + await fetchSessionKeyByConnectionId(connectionId); } catch (error) { // assert expect(error).toEqual( @@ -60,7 +52,6 @@ describe("Database", () => { // arrange const log = mockLogger(); - const instance = Database.getInstance(log); const userRecord = { contextId: "1234", customerId: 1234, @@ -69,7 +60,7 @@ describe("Database", () => { }; // act + assert expect(() => { - instance.updateUser(userRecord); + updateUser(userRecord); }).not.toThrow(); }); }); diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts index c480b48f3..fe22d17e9 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,7 +1,7 @@ import { ServerLogger } from "@rustymotors/shared"; import { LegacyMessage } from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; -import { getDatabaseServer } from "@rustymotors/database"; +import { updateUser } from "@rustymotors/database"; export async function _setMyUserData({ connectionId, @@ -21,13 +21,13 @@ export async function _setMyUserData({ log.debug(`User ID: ${incomingMessage._userId}`); - // Get the database instance - const db = getDatabaseServer(log); - // Update the user's data - db.updateUser({ + await updateUser({ userId: incomingMessage._userId, userData: incomingMessage._userData, + }).catch((error) => { + log.error(`Error updating user data: ${String(error)}`); + throw Error(`Error updating user data: ${String(error)}`); }); // Build the packet diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts index 474b40add..4b7c47a52 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -1,5 +1,5 @@ import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPersonaId.js"; -import { getDatabaseServer } from "@rustymotors/database"; +import { fetchSessionKeyByCustomerId } from "@rustymotors/database"; import { LoginInfoMessage } from "../LoginInfoMessage.js"; import { UserInfoMessage } from "../UserInfoMessage.js"; @@ -76,10 +76,8 @@ export async function _npsRequestGameConnectServer({ if (!existingEncryption) { // Set the encryption keys on the lobby connection - const databaseManager = getDatabaseServer(log); - const keys = await databaseManager - .fetchSessionKeyByCustomerId(customerId) - .catch((/** @type {unknown} */ error: unknown) => { + const keys = await fetchSessionKeyByCustomerId(customerId).catch( + (/** @type {unknown} */ error: unknown) => { log.error( `Unable to fetch session key for customerId ${customerId.toString()}: ${String( error, @@ -90,7 +88,8 @@ export async function _npsRequestGameConnectServer({ error, )}`, ); - }); + }, + ); if (keys === undefined) { log.error( `Error fetching session keys for customerId ${customerId}`, diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index 90713a96d..85fbadddd 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -14,13 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getDatabaseServer } from "@rustymotors/database"; -import { DatabaseManager } from "../../interfaces/index.js"; -import { - ServerLogger, - ServiceResponse, - getServerLogger, -} from "@rustymotors/shared"; +import { ServerLogger, ServiceResponse } from "@rustymotors/shared"; import { NPSMessage } from "@rustymotors/shared"; import { handleLoginData } from "./internal.js"; @@ -28,24 +22,15 @@ import { handleLoginData } from "./internal.js"; * Please use {@link LoginServer.getInstance()} */ export class LoginServer { - databaseManager: DatabaseManager; _log: any; static _instance: LoginServer | undefined; /** * Please use {@see LoginServer.getInstance} instead * @param {object} options - * @param {import("../../interfaces/index.js").DatabaseManager} options.database * @param {ServerLogger} options.log * @memberof LoginServer */ - constructor({ - log, - database = getDatabaseServer(log), - }: { - database: import("../../interfaces/index.js").DatabaseManager; - log: ServerLogger; - }) { - this.databaseManager = database; + constructor({ log }: { log: ServerLogger }) { this._log = log; LoginServer._instance = this; } @@ -54,17 +39,12 @@ export class LoginServer { * Get the single instance of the login server * * @static - * @param {import("../../interfaces/index.js").DatabaseManager} database * @param {ServerLogger} log * @return {LoginServer} */ - static getInstance( - database: import("../../interfaces/index.js").DatabaseManager, - log: ServerLogger, - ): LoginServer { + static getInstance(log: ServerLogger): LoginServer { if (typeof LoginServer._instance === "undefined") { LoginServer._instance = new LoginServer({ - database, log, }); } diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index 70aa170d7..b3d28f5ac 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -17,7 +17,7 @@ import { getServerConfiguration } from "@rustymotors/shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { getDatabaseServer } from "@rustymotors/database"; +import { updateSessionKey } from "@rustymotors/database"; import { NPSMessage, SerializedBuffer } from "@rustymotors/shared"; import { NetworkMessage } from "@rustymotors/shared"; @@ -97,21 +97,17 @@ async function login({ // Save sessionkey in database under customerId log.debug("Preparing to update session key in db"); - await getDatabaseServer(log) - .updateSessionKey( - userRecord.customerId, - sessionKey ?? "", - contextId, - connectionId, - ) - .catch((error) => { - const err = new Error( - `Unable to update session key in the database: ${String( - error, - )}`, - ); - throw err; - }); + await updateSessionKey( + userRecord.customerId, + sessionKey ?? "", + contextId, + connectionId, + ).catch((error) => { + const err = new Error( + `Unable to update session key in the database: ${String(error)}`, + ); + throw err; + }); log.debug("Session key updated"); diff --git a/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts index eded469b6..ccd84d6a4 100644 --- a/packages/login/test/LoginServer.test.ts +++ b/packages/login/test/LoginServer.test.ts @@ -7,7 +7,6 @@ describe("LoginServer", () => { describe("constructor", () => { it("should create a new instance", () => { const loginServer = new LoginServer({ - database: mockDatabaseManager(), log: getServerLogger({ level: "silent", }), diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index adf30fae1..18984d9e6 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -3,7 +3,7 @@ import { getServerLogger } from "@rustymotors/shared"; import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; -import { getDatabaseServer } from "@rustymotors/database"; +import { updateSessionKey } from "@rustymotors/database"; import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; describe("clientConnect", () => { @@ -29,12 +29,14 @@ describe("clientConnect", () => { onDataHandlers: {}, save() {}, }; - getDatabaseServer(log).updateSessionKey( + await updateSessionKey( customerId, sessionKey, contextId, connectionId, - ); + ).catch((error) => { + throw new Error(`Error updating session key: ${error}`); + }); // act try { From 07192900b93fd59d80cd32855a2baa8a9d77257d Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:29:18 -0500 Subject: [PATCH 152/452] Remove Database class --- packages/database/src/DatabaseManager.ts | 82 ++++-------------------- 1 file changed, 11 insertions(+), 71 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index a5eb4fc53..be6a98a7b 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -3,72 +3,18 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { ConnectionRecord } from "../../interfaces/index.js"; -/** - * @module Database - */ - -const log = getServerLogger(); - -class Database { - static instance: Database | undefined; - private _log: ServerLogger; - _sessions: interfaces.ConnectionRecord[]; - private _lobbies: interfaces.RaceLobbyRecord[][]; - _users: Map; - - /** - * Creates an instance of Database. - * - * @param {ServerLogger} log - */ - constructor(log: ServerLogger) { - this._log = log; - this._sessions = []; - /** - * @private - * @type {interfaces.RaceLobbyRecord[]} - */ - this._lobbies = []; - this._users = new Map(); - } - - /** - * Return the singleton instance of the DatabaseManager class - * - * @static - * @param {ServerLogger} log - * @returns {Database} - */ - static getInstance(log: ServerLogger): Database { - if (!Database.instance) { - Database.instance = new Database(log); - } - const self = Database.instance; - return self; - } -} +const _sessions: ConnectionRecord[] = []; +const _users: Map = new Map(); /** - * Return the singleton instance of the DatabaseManager class - * - * @param {ServerLogger} log - * @returns {Database} + * @module Database */ -export function getDatabaseServer(log: ServerLogger): Database { - if (!Database.instance) { - Database.instance = new Database(log); - } - return Database.getInstance(log); -} - export async function updateUser(user: { userId: number; userData: Buffer }) { - const db = getDatabaseServer(log); try { - db._users.set(user.userId, user.userData); + _users.set(user.userId, user.userData); } catch (error) { throw Error(`Error updating user: ${String(error)}`); } @@ -84,16 +30,14 @@ export async function updateUser(user: { userId: number; userData: Buffer }) { export async function fetchSessionKeyByCustomerId( customerId: number, ): Promise { - const db = getDatabaseServer(log); - const record = db._sessions.find((session) => { + const record = _sessions.find((session) => { return session.customerId === customerId; }); if (typeof record === "undefined") { const err = new Error( `Session key not found for customer ${customerId}`, ); - log.error(`Session key not found for customer ${customerId}`); - throw err; + throw Error(`Session key not found for customer ${customerId}`); } return record; } @@ -123,20 +67,18 @@ export async function updateSessionKey( contextId, connectionId, }; - const db = getDatabaseServer(log); - const record = db._sessions.findIndex((session) => { + const record = _sessions.findIndex((session) => { return session.customerId === customerId; }); if (typeof record === "undefined") { const err = new Error( "Error updating session key: existing key not found", ); - log.error( + throw Error( `Error updating session key: existing key not found for ${customerId}`, ); - throw err; } - db._sessions.splice(record, 1, updatedSession); + _sessions.splice(record, 1, updatedSession); } /** @@ -149,16 +91,14 @@ export async function updateSessionKey( export async function fetchSessionKeyByConnectionId( connectionId: string, ): Promise { - const db = getDatabaseServer(log); - const record = db._sessions.find((session) => { + const record = _sessions.find((session) => { return session.connectionId === connectionId; }); if (typeof record === "undefined") { const err = new Error( `Session key not found for connection ${connectionId}`, ); - log.error(`Session key not found for connection ${connectionId}`); - throw err; + throw Error(`Session key not found for connection ${connectionId}`); } return record; } From 408b6fe342460f593001748c5e52c7b127075e87 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:40:24 -0500 Subject: [PATCH 153/452] Add comments --- packages/database/src/DatabaseManager.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index be6a98a7b..056a75928 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -5,14 +5,21 @@ import { ConnectionRecord } from "../../interfaces/index.js"; +// This is a fake database table that holds sessions of currently logged in users const _sessions: ConnectionRecord[] = []; +// This is a fake database table that holds user data const _users: Map = new Map(); /** * @module Database */ -export async function updateUser(user: { userId: number; userData: Buffer }) { +/** + * Update a user record in the database + +* @throws {Error} If the user record is not found + */ +export async function updateUser(user: { userId: number; userData: Buffer }): Promise { try { _users.set(user.userId, user.userData); } catch (error) { @@ -23,13 +30,11 @@ export async function updateUser(user: { userId: number; userData: Buffer }) { /** * Locate customer session encryption key in the database * - * @param {number} customerId - * @returns {Promise} * @throws {Error} If the session key is not found */ export async function fetchSessionKeyByCustomerId( customerId: number, -): Promise { +): Promise { const record = _sessions.find((session) => { return session.customerId === customerId; }); From 961169b15e7304ba388c5716293d7ad4fa6d9359 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:41:26 -0500 Subject: [PATCH 154/452] Remove redundant error reporting --- packages/database/src/DatabaseManager.ts | 3 --- 1 file changed, 3 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 056a75928..ae6090d77 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -39,9 +39,6 @@ export async function fetchSessionKeyByCustomerId( return session.customerId === customerId; }); if (typeof record === "undefined") { - const err = new Error( - `Session key not found for customer ${customerId}`, - ); throw Error(`Session key not found for customer ${customerId}`); } return record; From cead6a4468ef20cc66b94e33ca6f9ccaf57f5d85 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:42:20 -0500 Subject: [PATCH 155/452] Correct logical check --- packages/database/src/DatabaseManager.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index ae6090d77..a7f86bf5c 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -72,7 +72,7 @@ export async function updateSessionKey( const record = _sessions.findIndex((session) => { return session.customerId === customerId; }); - if (typeof record === "undefined") { + if (record === -1) { const err = new Error( "Error updating session key: existing key not found", ); From a09ee45fe3d0ff30fa5556c7a7e3288fe7e4eb42 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:42:47 -0500 Subject: [PATCH 156/452] Remove redundant error reporting --- packages/database/src/DatabaseManager.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index a7f86bf5c..24043e75b 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -97,9 +97,7 @@ export async function fetchSessionKeyByConnectionId( return session.connectionId === connectionId; }); if (typeof record === "undefined") { - const err = new Error( - `Session key not found for connection ${connectionId}`, - ); + throw Error(`Session key not found for connection ${connectionId}`); } return record; From d71aa7f12f9999eec3ae00e1ec764417c2c3e52f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:48:23 -0500 Subject: [PATCH 157/452] Formatting --- packages/database/src/DatabaseManager.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 24043e75b..27cd52f54 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -19,7 +19,10 @@ const _users: Map = new Map(); * @throws {Error} If the user record is not found */ -export async function updateUser(user: { userId: number; userData: Buffer }): Promise { +export async function updateUser(user: { + userId: number; + userData: Buffer; +}): Promise { try { _users.set(user.userId, user.userData); } catch (error) { @@ -97,7 +100,6 @@ export async function fetchSessionKeyByConnectionId( return session.connectionId === connectionId; }); if (typeof record === "undefined") { - throw Error(`Session key not found for connection ${connectionId}`); } return record; From 74d4d0622eecbc633715b90479da18db0b3096b0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:48:35 -0500 Subject: [PATCH 158/452] Combine imports --- packages/persona/src/BuddyInfoMessage.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts index 70f00bcdf..aa03285ed 100644 --- a/packages/persona/src/BuddyInfoMessage.ts +++ b/packages/persona/src/BuddyInfoMessage.ts @@ -1,6 +1,8 @@ -import { serializeStringRaw } from "@rustymotors/shared"; -import { NetworkMessage } from "@rustymotors/shared"; -import { RawMessage } from "@rustymotors/shared"; +import { + serializeStringRaw, + NetworkMessage, + RawMessage, +} from "@rustymotors/shared"; /** * BuddyInfoMessage From 67a9903cc38c1041672cf1b071b57ca7bef522e9 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 19:50:22 -0500 Subject: [PATCH 159/452] Combine imports --- packages/persona/src/_gameLogout.ts | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts index 61569f0b6..5b4121c97 100644 --- a/packages/persona/src/_gameLogout.ts +++ b/packages/persona/src/_gameLogout.ts @@ -1,5 +1,6 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; +import { getServerLogger, LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; + +const log = getServerLogger(); /** * Handle game logout @@ -16,11 +17,9 @@ import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; export async function _gameLogout({ connectionId, message, - log, }: { connectionId: string; message: LegacyMessage; - log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; From db28ef5f5d2b2cbe1e161341e1c7fe806927d95c Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:03:58 -0500 Subject: [PATCH 160/452] Formatting and logging updates --- packages/persona/src/_gameLogout.ts | 6 +++++- packages/persona/src/_getFirstBuddy.ts | 6 +++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts index 5b4121c97..db67b3e9e 100644 --- a/packages/persona/src/_gameLogout.ts +++ b/packages/persona/src/_gameLogout.ts @@ -1,4 +1,8 @@ -import { getServerLogger, LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; +import { + getServerLogger, + LegacyMessage, + SerializedBuffer, +} from "@rustymotors/shared"; const log = getServerLogger(); diff --git a/packages/persona/src/_getFirstBuddy.ts b/packages/persona/src/_getFirstBuddy.ts index 71e55ccac..8fc6103de 100644 --- a/packages/persona/src/_getFirstBuddy.ts +++ b/packages/persona/src/_getFirstBuddy.ts @@ -1,19 +1,19 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + getServerLogger, LegacyMessage, NPSMessage, SerializedBuffer, } from "@rustymotors/shared"; import { BuddyCount, BuddyInfoMessage, BuddyList } from "./BuddyInfoMessage.js"; +const log = getServerLogger(); + export async function _getFirstBuddy({ connectionId, message, - log, }: { connectionId: string; message: LegacyMessage; - log: ServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; From a5e1c2bf611eaba11cf07cf4c340e3caaf24dd7d Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:04:44 -0500 Subject: [PATCH 161/452] Since the function is supposed to create a missing record, remove throw --- packages/database/src/DatabaseManager.ts | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 27cd52f54..14eb4799f 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -55,7 +55,6 @@ export async function fetchSessionKeyByCustomerId( * @param {string} contextId * @param {string} connectionId * @returns {Promise} - * @throws {Error} If the session key is not found */ export async function updateSessionKey( customerId: number, @@ -75,14 +74,7 @@ export async function updateSessionKey( const record = _sessions.findIndex((session) => { return session.customerId === customerId; }); - if (record === -1) { - const err = new Error( - "Error updating session key: existing key not found", - ); - throw Error( - `Error updating session key: existing key not found for ${customerId}`, - ); - } + _sessions.splice(record, 1, updatedSession); } From 778eeafc32f392774650ddc60957dd24e6a21852 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:12:11 -0500 Subject: [PATCH 162/452] Combine imports --- packages/transactions/test/getLobbies.test.ts | 3 +-- packages/transactions/test/trackingPing.test.ts | 3 +-- packages/transactions/types.ts | 9 ++++++--- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts index 4bcf343dc..009029752 100644 --- a/packages/transactions/test/getLobbies.test.ts +++ b/packages/transactions/test/getLobbies.test.ts @@ -1,5 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; -import { OldServerMessage } from "@rustymotors/shared"; +import { getServerLogger, OldServerMessage } from "@rustymotors/shared"; import { getLobbies } from "../src/getLobbies.js"; import { describe, expect, it } from "vitest"; diff --git a/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts index f46bf7ea0..ebe450d2b 100644 --- a/packages/transactions/test/trackingPing.test.ts +++ b/packages/transactions/test/trackingPing.test.ts @@ -1,5 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; -import { OldServerMessage } from "@rustymotors/shared"; +import { getServerLogger, OldServerMessage } from "@rustymotors/shared"; import { trackingPing } from "../src/trackingPing.js"; import { describe, test, expect, vi } from "vitest"; diff --git a/packages/transactions/types.ts b/packages/transactions/types.ts index 5c30e48d8..9f4604e23 100644 --- a/packages/transactions/types.ts +++ b/packages/transactions/types.ts @@ -14,9 +14,12 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { OldServerMessage } from "@rustymotors/shared"; -import { ServerMessage } from "@rustymotors/shared"; -import { ServerMessageType, TServerLogger } from "@rustymotors/shared"; +import { + OldServerMessage, + ServerMessage, + ServerMessageType, + TServerLogger, +} from "@rustymotors/shared"; export interface MessageHandlerArgs { connectionId: string; From fa10fb05b68bf33733b9bd691756ed6eb049af2b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:12:23 -0500 Subject: [PATCH 163/452] Cleanup test --- .../transactions/test/clientConnect.test.ts | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index 18984d9e6..805744163 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -20,23 +20,7 @@ describe("clientConnect", () => { const log = getServerLogger({ level: "silent", }); - const state: State = { - encryptions: {}, - sessions: {}, - filePaths: {}, - sockets: {}, - queuedConnections: {}, - onDataHandlers: {}, - save() {}, - }; - await updateSessionKey( - customerId, - sessionKey, - contextId, - connectionId, - ).catch((error) => { - throw new Error(`Error updating session key: ${error}`); - }); + await updateSessionKey(customerId, sessionKey, contextId, connectionId); // act try { From cfc0de817618fca4d3c54e92fcf840807e64117e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:14:31 -0500 Subject: [PATCH 164/452] Combine imports --- packages/gateway/src/GatewayServer.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index ef2c6904e..c3dcdbc67 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -1,7 +1,10 @@ import { Socket, createServer as createSocketServer } from "node:net"; import { onSocketConnection } from "./index.js"; -import { Configuration, getServerConfiguration } from "@rustymotors/shared"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { + Configuration, + getServerConfiguration, + ServerLogger, +} from "@rustymotors/shared"; import fastify from "fastify"; import { addOnDataHandler, From d8509bd3dabba20d0fedfa8c2520facb3e99db75 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:26:25 -0500 Subject: [PATCH 165/452] Combine imports --- packages/interfaces/index.d.ts | 8 +++++--- packages/lobby/src/handlers/_setMyUserData.ts | 3 +-- packages/lobby/src/handlers/encryptedCommand.ts | 4 +--- packages/lobby/src/handlers/handleGetMiniUserList.ts | 3 +-- packages/lobby/src/handlers/handleSendMiniRiffList.ts | 2 +- packages/lobby/src/handlers/handleTrackingPing.ts | 3 +-- packages/lobby/src/handlers/requestConnectGameServer.ts | 2 +- packages/lobby/src/internal.ts | 2 +- .../lobby/test/handlers/handleSendMiniRiffList.test.ts | 3 +-- 9 files changed, 13 insertions(+), 17 deletions(-) diff --git a/packages/interfaces/index.d.ts b/packages/interfaces/index.d.ts index 5b25127a3..dd0c4db27 100644 --- a/packages/interfaces/index.d.ts +++ b/packages/interfaces/index.d.ts @@ -1,9 +1,11 @@ import { Socket } from "node:net"; -import { ServerError } from "@rustymotors/shared"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; -import { SerializedBuffer } from "@rustymotors/shared"; -import { Configuration } from "@rustymotors/shared"; +import { + ServerError, + SerializedBuffer, + Configuration, +} from "@rustymotors/shared"; /** * @module interfaces diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts index fe22d17e9..0751abc1d 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,5 +1,4 @@ -import { ServerLogger } from "@rustymotors/shared"; -import { LegacyMessage } from "@rustymotors/shared"; +import { ServerLogger, LegacyMessage } from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; import { updateUser } from "@rustymotors/database"; diff --git a/packages/lobby/src/handlers/encryptedCommand.ts b/packages/lobby/src/handlers/encryptedCommand.ts index ceef91fbd..51c94de05 100644 --- a/packages/lobby/src/handlers/encryptedCommand.ts +++ b/packages/lobby/src/handlers/encryptedCommand.ts @@ -1,10 +1,8 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + ServerLogger, fetchStateFromDatabase, getEncryption, updateEncryption, -} from "@rustymotors/shared"; -import { LegacyMessage, MessageBuffer, SerializedBuffer, diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts index ac6512740..bf7c26d51 100644 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -1,11 +1,10 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + ServerLogger, GameMessage, LegacyMessage, serializeString, } from "@rustymotors/shared"; import { UserInfo } from "../UserInfoMessage.js"; -import { getServerConfiguration } from "@rustymotors/shared"; import { channelRecordSize, channels } from "./encryptedCommand.js"; const user1 = new UserInfo(); diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts index 25d805fe0..6bf80f094 100644 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -1,5 +1,5 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + ServerLogger, GameMessage, LegacyMessage, serializeString, diff --git a/packages/lobby/src/handlers/handleTrackingPing.ts b/packages/lobby/src/handlers/handleTrackingPing.ts index 2df3ffe13..7f6552b56 100644 --- a/packages/lobby/src/handlers/handleTrackingPing.ts +++ b/packages/lobby/src/handlers/handleTrackingPing.ts @@ -1,5 +1,4 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { SerializedBuffer } from "@rustymotors/shared"; +import { ServerLogger, SerializedBuffer } from "@rustymotors/shared"; export async function handleTrackingPing({ connectionId, diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts index 4b7c47a52..a514dba04 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -12,8 +12,8 @@ import { addEncryption, fetchStateFromDatabase, getEncryption, + SerializedBuffer, } from "@rustymotors/shared"; -import { SerializedBuffer } from "@rustymotors/shared"; /** * Convert to zero padded hex diff --git a/packages/lobby/src/internal.ts b/packages/lobby/src/internal.ts index 8f54771bf..8a9a45339 100644 --- a/packages/lobby/src/internal.ts +++ b/packages/lobby/src/internal.ts @@ -16,8 +16,8 @@ import { _npsRequestGameConnectServer } from "./handlers/requestConnectGameServer.js"; import { handleEncryptedNPSCommand } from "./handlers/encryptedCommand.js"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { + ServerLogger, LegacyMessage, NPSMessage, SerializedBuffer, diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index 14023fe1c..e038af6ca 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,7 +1,6 @@ -import { LegacyMessage } from "@rustymotors/shared"; import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; -import { getServerLogger } from "@rustymotors/shared"; +import { LegacyMessage, getServerLogger } from "@rustymotors/shared"; describe("handleSendMiniRiffList", () => { it("should return a buffer", async () => { From 4fd51b3a289ea2f4e45dc1e100f5f12b516de60b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:26:39 -0500 Subject: [PATCH 166/452] Mock logger --- .../lobby/test/handlers/handleSendMiniRiffList.test.ts | 7 +++---- packages/login/test/LoginServer.test.ts | 7 ++----- packages/patch/test/PatchServer.test.ts | 6 ++---- packages/transactions/test/_getPlayerRaceHistory.test.ts | 6 ++---- packages/transactions/test/clientConnect.test.ts | 7 ++----- packages/transactions/test/getLobbies.test.ts | 7 +++---- packages/transactions/test/trackingPing.test.ts | 9 ++++----- 7 files changed, 18 insertions(+), 31 deletions(-) diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index e038af6ca..437b72835 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,6 +1,7 @@ import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; -import { LegacyMessage, getServerLogger } from "@rustymotors/shared"; +import { LegacyMessage } from "@rustymotors/shared"; +import { mockLogger } from "../../../../test/factoryMocks.js"; describe("handleSendMiniRiffList", () => { it("should return a buffer", async () => { @@ -10,9 +11,7 @@ describe("handleSendMiniRiffList", () => { const result = await handleSendMiniRiffList({ connectionId: "test", message: incomingMessage, - log: getServerLogger({ - level: "silent", - }), + log: mockLogger(), }); expect(result.message).toBeInstanceOf(LegacyMessage); diff --git a/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts index ccd84d6a4..eac59a1ba 100644 --- a/packages/login/test/LoginServer.test.ts +++ b/packages/login/test/LoginServer.test.ts @@ -1,15 +1,12 @@ import { describe, it, expect } from "vitest"; import { LoginServer } from "../src/index.js"; -import { mockDatabaseManager } from "../../../test/factoryMocks.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("LoginServer", () => { describe("constructor", () => { it("should create a new instance", () => { const loginServer = new LoginServer({ - log: getServerLogger({ - level: "silent", - }), + log: mockLogger(), }); expect(loginServer).toBeDefined(); }); diff --git a/packages/patch/test/PatchServer.test.ts b/packages/patch/test/PatchServer.test.ts index 7d3a7bc76..a9270e51f 100644 --- a/packages/patch/test/PatchServer.test.ts +++ b/packages/patch/test/PatchServer.test.ts @@ -1,13 +1,11 @@ -import { getServerLogger } from "@rustymotors/shared"; import { PatchServer, CastanetResponse } from "../src/PatchServer.js"; import { describe, it, expect, vi } from "vitest"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("PatchServer", () => { it("should return the hard-coded value that tells the client there are no updates or patches", () => { // Arrange - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); const patchServer = PatchServer.getInstance(log); const request = { socket: { diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.ts b/packages/transactions/test/_getPlayerRaceHistory.test.ts index 54bb37eff..5cd5abf30 100644 --- a/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -1,7 +1,7 @@ import { describe, it, expect } from "vitest"; import { _getPlayerRaceHistory } from "../src/_getPlayerRaceHistory.js"; import { OldServerMessage } from "@rustymotors/shared"; -import { getServerLogger } from "@rustymotors/shared"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("_getPlayerRaceHistory", () => { it("should return a PlayerRacingHistoryMessage", async () => { @@ -14,9 +14,7 @@ describe("_getPlayerRaceHistory", () => { const result = await _getPlayerRaceHistory({ connectionId: "0", packet: incomingMessage, - log: getServerLogger({ - level: "silent", - }), + log: mockLogger(), }); expect(result).toBeDefined(); diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index 805744163..a50bca5c2 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -1,10 +1,9 @@ -import { State } from "@rustymotors/shared"; -import { getServerLogger } from "@rustymotors/shared"; import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; import { updateSessionKey } from "@rustymotors/database"; import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("clientConnect", () => { it("throws when connection is not found", async () => { @@ -17,9 +16,7 @@ describe("clientConnect", () => { const incomingMessage = new TClientConnectMessage(); incomingMessage._customerId = customerId; - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); await updateSessionKey(customerId, sessionKey, contextId, connectionId); // act diff --git a/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts index 009029752..b77f25dde 100644 --- a/packages/transactions/test/getLobbies.test.ts +++ b/packages/transactions/test/getLobbies.test.ts @@ -1,15 +1,14 @@ -import { getServerLogger, OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "@rustymotors/shared"; import { getLobbies } from "../src/getLobbies.js"; import { describe, expect, it } from "vitest"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("getLobbies", () => { it("should return a promise", async () => { // arrange const connectionId = "1"; const packet = new OldServerMessage(); - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); // act const result = await getLobbies({ diff --git a/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts index ebe450d2b..67d053fb2 100644 --- a/packages/transactions/test/trackingPing.test.ts +++ b/packages/transactions/test/trackingPing.test.ts @@ -1,15 +1,14 @@ -import { getServerLogger, OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "@rustymotors/shared"; import { trackingPing } from "../src/trackingPing.js"; -import { describe, test, expect, vi } from "vitest"; +import { describe, test, expect } from "vitest"; +import { mockLogger } from "../../../test/factoryMocks.js"; describe("trackingPing", () => { test("does not return a message", async () => { // arrange const inboundMessage = new OldServerMessage(); - const log = getServerLogger({ - level: "silent", - }); + const log = mockLogger(); // act const { messages } = await trackingPing({ From 21f52b19daa5e1db5d05b8c7b2a6194002d6a3b6 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:39:47 -0500 Subject: [PATCH 167/452] Combine imports --- packages/gateway/src/GatewayServer.ts | 4 +--- packages/login/src/NPSUserStatus.ts | 8 +++++--- packages/login/src/index.ts | 3 +-- packages/login/src/internal.ts | 15 +++++++++------ .../persona/src/handlers/validatePersonaName.ts | 9 ++++++--- packages/persona/src/internal.ts | 7 +++++-- packages/transactions/src/clientConnect.ts | 2 +- 7 files changed, 28 insertions(+), 20 deletions(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index c3dcdbc67..f5b65a7b1 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -1,12 +1,10 @@ import { Socket, createServer as createSocketServer } from "node:net"; import { onSocketConnection } from "./index.js"; +import fastify from "fastify"; import { Configuration, getServerConfiguration, ServerLogger, -} from "@rustymotors/shared"; -import fastify from "fastify"; -import { addOnDataHandler, createInitialState, fetchStateFromDatabase, diff --git a/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts index c6a736111..0448da14d 100644 --- a/packages/login/src/NPSUserStatus.ts +++ b/packages/login/src/NPSUserStatus.ts @@ -1,9 +1,11 @@ import { privateDecrypt } from "node:crypto"; import { readFileSync } from "node:fs"; -import { LegacyMessage } from "@rustymotors/shared"; -import { Configuration } from "@rustymotors/shared"; -import { ServerLogger } from "@rustymotors/shared"; +import { + LegacyMessage, + Configuration, + ServerLogger, +} from "@rustymotors/shared"; /** * @typedef {Configuration} Configuration diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index 85fbadddd..a02747873 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -14,8 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerLogger, ServiceResponse } from "@rustymotors/shared"; -import { NPSMessage } from "@rustymotors/shared"; +import { ServerLogger, ServiceResponse, NPSMessage } from "@rustymotors/shared"; import { handleLoginData } from "./internal.js"; /** diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index b3d28f5ac..bc8677364 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -16,13 +16,16 @@ import { getServerConfiguration } from "@rustymotors/shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; import { updateSessionKey } from "@rustymotors/database"; -import { NPSMessage, SerializedBuffer } from "@rustymotors/shared"; -import { NetworkMessage } from "@rustymotors/shared"; - -/** @type {import("../../interfaces/index.js").UserRecordMini[]} */ -const userRecords: import("../../interfaces/index.js").UserRecordMini[] = [ +import { + ServerLogger, + NPSMessage, + SerializedBuffer, + NetworkMessage, +} from "@rustymotors/shared"; +import { UserRecordMini } from "../../interfaces/index.js"; + +const userRecords: UserRecordMini[] = [ { contextId: "5213dee3a6bcdb133373b2d4f3b9962758", customerId: 0x0012808b, diff --git a/packages/persona/src/handlers/validatePersonaName.ts b/packages/persona/src/handlers/validatePersonaName.ts index 949671e6e..35d8e6833 100644 --- a/packages/persona/src/handlers/validatePersonaName.ts +++ b/packages/persona/src/handlers/validatePersonaName.ts @@ -1,6 +1,9 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; -import { RawMessage } from "@rustymotors/shared"; +import { + ServerLogger, + LegacyMessage, + SerializedBuffer, + RawMessage, +} from "@rustymotors/shared"; /** * Check if a new persona name is valid diff --git a/packages/persona/src/internal.ts b/packages/persona/src/internal.ts index 217f00ff6..32aa6a2e5 100644 --- a/packages/persona/src/internal.ts +++ b/packages/persona/src/internal.ts @@ -14,14 +14,17 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { + ServerLogger, + LegacyMessage, + SerializedBuffer, +} from "@rustymotors/shared"; import { PersonaList, PersonaMapsMessage, PersonaRecord, } from "./PersonaMapsMessage.js"; -import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; import { _selectGamePersona } from "./_selectGamePersona.js"; import { _gameLogout } from "./_gameLogout.js"; import { _getFirstBuddy } from "./_getFirstBuddy.js"; diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index c5a798c0d..382d12128 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -7,12 +7,12 @@ import { addSession, fetchStateFromDatabase, getEncryption, + OldServerMessage, } from "@rustymotors/shared"; import { createCommandEncryptionPair, createDataEncryptionPair, } from "../../gateway/src/encryption.js"; -import { OldServerMessage } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { getUserSessionByCustomerId } from "../../nps/services/session.js"; From 66dd3416303911b17b14496469d1ac8b42e1e7e8 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:43:48 -0500 Subject: [PATCH 168/452] Update imports in _getCompleteVehicleInfo.ts --- .../src/messageHandlers/_getCompleteVehicleInfo.ts | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index 96b5cb2b0..1a04f9ee1 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -1,12 +1,13 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage, getServerLogger } from "@rustymotors/shared"; import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; -import { getVehiclePartTree } from "@rustymotors/database"; -import { TPart, buildVehiclePartTreeFromDB } from "@rustymotors/database"; - -import { getServerLogger } from "@rustymotors/shared"; +import { + getVehiclePartTree, + TPart, + buildVehiclePartTreeFromDB, +} from "@rustymotors/database"; const log = getServerLogger(); From c62367f590fd2744b1a5fb8ebe691225cb462514 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:48:12 -0500 Subject: [PATCH 169/452] Remove unused code in UserAction class --- packages/nps/messageStructs/UserAction.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts index a633a2e8d..3931eae7c 100644 --- a/packages/nps/messageStructs/UserAction.ts +++ b/packages/nps/messageStructs/UserAction.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import { ISerializable } from "../types.js"; import { getAsHex } from "../utils/pureGet.js"; export class UserAction implements ISerializable { @@ -28,8 +28,6 @@ export class UserAction implements ISerializable { } static fromBytes(name: string, bytes: Buffer): UserAction { - const dara = bytes.toString("utf8"); - return new UserAction(name, bytes); } From e320d5935ac6203d948814285b7f3530be86c758 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:49:09 -0500 Subject: [PATCH 170/452] Remove unused import in MiniRiffList.ts --- packages/nps/messageStructs/MiniRiffList.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts index 930916596..6630ec381 100644 --- a/packages/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,6 +1,5 @@ -import { IMessage, IMessageHeader, ISerializable } from "../types.js"; +import { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; -import { GameMessage } from "./GameMessage.js"; import { NPSList } from "./NPSList.js"; import { getServerLogger } from "@rustymotors/shared"; From 83b9dc8c94b1dd70854b684cf8456ef443a114d0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:51:30 -0500 Subject: [PATCH 171/452] Remove unused import statements and update async functions --- packages/database/src/services/admin.ts | 42 +++++-------------------- 1 file changed, 7 insertions(+), 35 deletions(-) diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts index 0ec73ce89..6ab8394f3 100644 --- a/packages/database/src/services/admin.ts +++ b/packages/database/src/services/admin.ts @@ -1,6 +1,5 @@ import { DatabaseTransactionConnection } from "slonik"; import { getSlonik } from "./database.js"; -import {} from "@rustymotors/shared"; import * as Sentry from "@sentry/node"; async function playerExists(playerId: number): Promise { @@ -14,7 +13,7 @@ async function playerExists(playerId: number): Promise { db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM player WHERE playerid = ${playerId} @@ -34,7 +33,7 @@ async function skinExists(skinId: number): Promise { db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); return slonik.exists(sql.typeAlias("id")` SELECT 1 FROM ptskin WHERE skinid = ${skinId} @@ -57,7 +56,7 @@ async function getAbstractPartTypeIDForBrandedPartID( db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); return slonik.one(sql.typeAlias("abstractPartType")` SELECT pt.abstractparttypeid @@ -131,7 +130,7 @@ export async function createNewCar( db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); return slonik.many(sql.typeAlias("brandedPart")` SELECT b.brandedpartid, a.attachmentpointid @@ -163,7 +162,7 @@ export async function createNewCar( db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); slonik.transaction(async (connection) => { // First insert the new car into the vehicle table @@ -264,7 +263,7 @@ async function addPart( newCarOwenrId: number, ) { try { - const { slonik, sql } = await getSlonik(); + const { sql } = await getSlonik(); await connection.query(sql.typeAlias("part")` INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) @@ -287,33 +286,6 @@ export type DBPart = { scrapValue: number; }; -async function getPart( - connection: DatabaseTransactionConnection, - requestedPartId: number, -): Promise { - try { - const { slonik, sql } = await getSlonik(); - const part = await connection.one(sql.typeAlias("dbPart")` - SELECT FROM part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) - WHERE partid = ${requestedPartId} - `); - return { - partId: part.partid, - parentPartId: part.parentpartid, - brandedPartId: part.brandedpartid, - percentDamage: part.percentdamage, - itemWear: part.itemwear, - attachmentPointId: part.attachmentpointid, - ownerId: part.ownerid, - partName: part.partname, - repairCost: part.repaircost, - scrapValue: part.scrapvalue, - }; - } catch (error) { - throw Error("Error adding part: " + error); - } -} - async function getNextSq(seqName: string) { return await Sentry.startSpan( { @@ -325,7 +297,7 @@ async function getNextSq(seqName: string) { db: "postgres", }, }, - async (span) => { + async () => { const { slonik, sql } = await getSlonik(); return Number( ( From 2d15f48680a2ce1b0d0dddb494c1e7966cd2c2d1 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 2 Mar 2024 20:53:39 -0500 Subject: [PATCH 172/452] Update version number in package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6f9e54d4b..d9e8c12ee 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rusty-motors", - "version": "1.0.0", + "version": "1.0.1", "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", "main": "index.js", "type": "module", From a62632abc36cee1f4006304b10680a2757fd29aa Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 2 Mar 2024 21:08:30 -0500 Subject: [PATCH 173/452] Update .renovaterc.json --- .renovaterc.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.renovaterc.json b/.renovaterc.json index 8a90a2740..15364dd71 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,8 +1,3 @@ { - "extends": ["config:base"], - "statusCheckVerify": true, - "automerge": true, - "automergeType": "branch", - "rangeStrategy": "bump", - "enabledManagers": ["npm"] + "extends": ["config:best-practices"], } From cf9086516f9d05d27caa399e7bfd116b3d97b396 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 2 Mar 2024 21:09:59 -0500 Subject: [PATCH 174/452] Update main.yml --- .github/workflows/main.yml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index a683064f3..f9bb2cd61 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -13,9 +13,11 @@ jobs: with: fetch-depth: 0 - - name: Install and Build + - name: Install and test run: | - npm install + corepack enable pnpm + pnpm install + pnpm test - name: Create Sentry release uses: getsentry/action-release@v1 From fd0c25dc5ad3e91417315829ba52856bdf4268f7 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 2 Mar 2024 21:17:11 -0500 Subject: [PATCH 175/452] Update main.yml --- .github/workflows/main.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index f9bb2cd61..b796a6ad3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,7 @@ name: Sentry Release on: + workflow_dispatch: push: branches: - main @@ -13,9 +14,11 @@ jobs: with: fetch-depth: 0 - - name: Install and test + - name: Enable Corepack run: | corepack enable pnpm + - name: Install and test using pnpm + run: | pnpm install pnpm test From 3796a1d32def079f2de180fd0ade9fca08e13400 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 2 Mar 2024 21:31:50 -0500 Subject: [PATCH 176/452] Update .renovaterc.json --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 15364dd71..6f00d7b9b 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,3 +1,3 @@ { - "extends": ["config:best-practices"], + "extends": ["config:best-practices"] } From b8cccbc1b471519b666c6beb1717b15463b6f176 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 07:29:16 -0500 Subject: [PATCH 177/452] Update .renovaterc.json --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 6f00d7b9b..d07b88826 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,3 +1,3 @@ { - "extends": ["config:best-practices"] + "extends": ["config:recommended", ":dependencyDashboard"] } From 012d12d966d34807dfe5a31e12e340b37ba1c665 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 07:48:58 -0500 Subject: [PATCH 178/452] Update .renovaterc.json --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index d07b88826..50a727d34 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,3 +1,3 @@ { - "extends": ["config:recommended", ":dependencyDashboard"] + "extends": ["config:best-practices"] } From 969ab4de8d3d84ef097b39df5450bea284c39260 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 3 Mar 2024 12:49:36 +0000 Subject: [PATCH 179/452] Update dependency node to v20.11.1 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 8c60e1e54..2dbbe00e6 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -v20.5.1 +20.11.1 From f1d33d57ed30280f61fd9b2b502d34f93fea7ac1 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sun, 3 Mar 2024 08:02:34 -0500 Subject: [PATCH 180/452] Add release workflow --- .github/workflows/release.yml | 37 +++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 .github/workflows/release.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 000000000..095b3d728 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,37 @@ +name: Release +on: + workflow_dispatch: + push: + branches: + - master + +permissions: + contents: read # for checkout + +jobs: + release: + name: Release + runs-on: ubuntu-latest + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: "lts/*" + - name: Install dependencies + run: pnpm install + - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies + run: npm audit signatures + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx semantic-release \ No newline at end of file From 29ba93153cd23878b5a93c1a2aa520a0adb8c105 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:15:41 -0500 Subject: [PATCH 181/452] Update .renovaterc.json --- .renovaterc.json | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 50a727d34..6077bd771 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,3 +1,18 @@ { - "extends": ["config:best-practices"] + "extends": ["config:best-practices"], + "packageRules": [ + { + "excludePackageNames": [ + "nginx", + ] + }, + { + "automerge": true, + "matchCurrentVersion": ">= 1.0.0", + "matchUpdateTypes": [ + "minor", + "patch" + ] + } + ] } From f33552dd34ce95b137cfd7833f0b0978628f68d3 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:19:13 -0500 Subject: [PATCH 182/452] Add note as to why this is being excluded. --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 6077bd771..1a2f9cbd2 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -3,7 +3,7 @@ "packageRules": [ { "excludePackageNames": [ - "nginx", + "nginx", // This is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the SChannel that Windows XP uses. ] }, { From 16293356eaeb66885cc60fe98f36ded0d0026104 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:21:14 -0500 Subject: [PATCH 183/452] Move to preset --- .renovaterc.json | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/.renovaterc.json b/.renovaterc.json index 1a2f9cbd2..41cbf6fce 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -1,18 +1,10 @@ { - "extends": ["config:best-practices"], + "extends": ["config:best-practices", ":automergeStableNonMajor"], "packageRules": [ { "excludePackageNames": [ "nginx", // This is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the SChannel that Windows XP uses. ] }, - { - "automerge": true, - "matchCurrentVersion": ">= 1.0.0", - "matchUpdateTypes": [ - "minor", - "patch" - ] - } ] } From 6c4048306c911e1a523c7b601ec0f91a742f16eb Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:27:39 -0500 Subject: [PATCH 184/452] Add links --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 41cbf6fce..abd484c73 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -3,7 +3,7 @@ "packageRules": [ { "excludePackageNames": [ - "nginx", // This is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the SChannel that Windows XP uses. + "nginx", // https://archive.org/details/nginx_1.9.8.tar is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. ] }, ] From c184af4ca2dc8efa3df6de870034460ba68c3bed Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:31:16 -0500 Subject: [PATCH 185/452] Update .renovaterc.json --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index abd484c73..5aba38f38 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -5,6 +5,6 @@ "excludePackageNames": [ "nginx", // https://archive.org/details/nginx_1.9.8.tar is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. ] - }, + } ] } From 34df94e202a93e2fd4a583dcb0b89509ad23b8b8 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:32:52 -0500 Subject: [PATCH 186/452] Apply suggestions from code review --- .renovaterc.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 5aba38f38..451e521b1 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -3,7 +3,7 @@ "packageRules": [ { "excludePackageNames": [ - "nginx", // https://archive.org/details/nginx_1.9.8.tar is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. + "nginx" // https://archive.org/details/nginx_1.9.8.tar is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. ] } ] From 910f30c36a7125dc26ab4d57dce285df2b72095f Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:40:28 -0500 Subject: [PATCH 187/452] Update .renovaterc.json --- .renovaterc.json | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.renovaterc.json b/.renovaterc.json index 451e521b1..cdeeea336 100644 --- a/.renovaterc.json +++ b/.renovaterc.json @@ -3,7 +3,12 @@ "packageRules": [ { "excludePackageNames": [ - "nginx" // https://archive.org/details/nginx_1.9.8.tar is the last release to support SSL 3 (not TLS). This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. + // Prevent automatic updates from nginx:1.9.8 + // While this image can still be found on DockerHub, + // it is also archived at https://archive.org/details/nginx_1.9.8.tar + // This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. + // Windows XP is required support since the legacy client can not be upgraded or modified. + "nginx" ] } ] From 7dc84410933a9550a3743dd69fefb0fc9fc00dad Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 3 Mar 2024 08:52:34 -0500 Subject: [PATCH 188/452] Specify as JSON5 sor comments are allowed --- .renovaterc.json => .github/renovate.json5 | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename .renovaterc.json => .github/renovate.json5 (100%) diff --git a/.renovaterc.json b/.github/renovate.json5 similarity index 100% rename from .renovaterc.json rename to .github/renovate.json5 From 8e483b3e2c59001baeb94d177184a6fcf055b3bb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 3 Mar 2024 13:53:30 +0000 Subject: [PATCH 189/452] Pin dependencies --- .github/workflows/codeql-analysis.yml | 8 +- .github/workflows/main.yml | 4 +- .github/workflows/node.yml | 6 +- .github/workflows/release.yml | 4 +- .github/workflows/semgrep.yml | 4 +- docker-compose.yml | 4 +- package.json | 18 +- pnpm-lock.yaml | 8716 ++++++++++--------------- services/sslProxy/Dockerfile | 2 +- 9 files changed, 3628 insertions(+), 5138 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index abb02b52c..cc9c1ffe4 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,11 +39,11 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@v2 + uses: github/codeql-action/init@928ff8c822d966a999092a6a35e32177899afb7c # v2 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@v2 + uses: github/codeql-action/autobuild@928ff8c822d966a999092a6a35e32177899afb7c # v2 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v2 + uses: github/codeql-action/analyze@928ff8c822d966a999092a6a35e32177899afb7c # v2 diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b796a6ad3..76e2c8738 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: release-sentry: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: fetch-depth: 0 @@ -23,7 +23,7 @@ jobs: pnpm test - name: Create Sentry release - uses: getsentry/action-release@v1 + uses: getsentry/action-release@586b62368d564f25d694ce05fcb9cf53de65ac4f # v1 env: SENTRY_AUTH_TOKEN: ${{ secrets.SENTRY_AUTH_TOKEN }} SENTRY_ORG: ${{ secrets.SENTRY_ORG }} diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 3357af73d..f87f6d8a0 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -20,11 +20,11 @@ jobs: node-version: [20.x, 21.x] steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} - uses: actions/setup-node@v4 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 with: node-version: ${{ matrix.node-version }} - name: Install and test @@ -52,7 +52,7 @@ jobs: codecovcli --verbose do-upload --fail-on-error --flag transactions --name transactions-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag core --name core-${{ matrix.node-version }} - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 with: name: coverage_${{ matrix.node-version }} path: coverage diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 095b3d728..8b23ac695 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,11 +19,11 @@ jobs: id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 with: node-version: "lts/*" - name: Install dependencies diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 0edee6957..0bfdc3253 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,8 +16,8 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep + image: returntocorp/semgrep@sha256:7f817a27f8322550e5569750079c10bdecf90284afb660edc5bb27a4b252d928 if: (github.actor != 'dependabot[bot]') steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - run: semgrep ci diff --git a/docker-compose.yml b/docker-compose.yml index ac8e661d3..164b116dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:latest + image: postgres:latest@sha256:f58300ac8d393b2e3b09d36ea12d7d24ee9440440e421472a300e929ddb63460 restart: always environment: POSTGRES_DB: rm @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer + image: adminer@sha256:c9592a99120164a7a4cc75ec76b3632fa3520a4de2d801bbb93c3753fe34e048 restart: always ports: - 8080:8080 diff --git a/package.json b/package.json index d9e8c12ee..d5509e299 100644 --- a/package.json +++ b/package.json @@ -16,16 +16,16 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "@vitest/coverage-v8": "^1.1.1", - "eslint": "^8.57.0", - "eslint-config-prettier": "^9.1.0", - "eslint-plugin-prettier": "^5.1.3", - "nx": "^18.0.6", + "@slonik/migrator": "0.12.0", + "@types/node": "20.11.24", + "@vitest/coverage-v8": "1.3.1", + "eslint": "8.57.0", + "eslint-config-prettier": "9.1.0", + "eslint-plugin-prettier": "5.1.3", + "nx": "18.0.6", "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.3.1" + "typescript": "5.3.3", + "vitest": "1.3.1" }, "dependencies": { "@rustymotors/database": "workspace:^", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 95f2fcf0f..426d9a45c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5143 +1,3633 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:packages/database - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - "@sentry/profiling-node": - specifier: ^7.104.0 - version: 7.104.0 - slonik: - specifier: "29" - version: 29.2.0 - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - "@slonik/migrator": - specifier: ^0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) - "@types/node": - specifier: ^20.11.16 - version: 20.11.24 - "@vitest/coverage-v8": - specifier: ^1.1.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: ^8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: ^9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: ^5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) - nx: - specifier: ^18.0.6 - version: 18.0.6 - prettier: - specifier: 3.2.4 - version: 3.2.4 - typescript: - specifier: ^5.3.3 - version: 5.3.3 - vitest: - specifier: ^1.3.1 - version: 1.3.1(@types/node@20.11.24) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - slonik: - specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - fastify: - specifier: ^4.25.2 - version: 4.26.1 - - packages/interfaces: {} - - packages/lobby: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.104.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true + .: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:packages/database + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + '@sentry/profiling-node': + specifier: ^7.104.0 + version: 7.104.0 + slonik: + specifier: '29' + version: 29.2.0 + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + '@slonik/migrator': + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + '@types/node': + specifier: 20.11.24 + version: 20.11.24 + '@vitest/coverage-v8': + specifier: 1.3.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + nx: + specifier: 18.0.6 + version: 18.0.6 + prettier: + specifier: 3.2.4 + version: 3.2.4 + typescript: + specifier: 5.3.3 + version: 5.3.3 + vitest: + specifier: 1.3.1 + version: 1.3.1(@types/node@20.11.24) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + slonik: + specifier: ^37.2.0 + version: 37.2.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + fastify: + specifier: ^4.25.2 + version: 4.26.1 + + packages/interfaces: {} + + packages/lobby: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.104.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true +packages: - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@nrwl/tao@18.0.6: + resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} + hasBin: true + dependencies: + nx: 18.0.6 + tslib: 2.6.2 + transitivePeerDependencies: + - '@swc-node/register' + - '@swc/core' + - debug + dev: true + + /@nx/nx-darwin-arm64@18.0.6: + resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-darwin-x64@18.0.6: + resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-freebsd-x64@18.0.6: + resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm-gnueabihf@18.0.6: + resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-gnu@18.0.6: + resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-arm64-musl@18.0.6: + resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-gnu@18.0.6: + resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-linux-x64-musl@18.0.6: + resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-arm64-msvc@18.0.6: + resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@nx/nx-win32-x64-msvc@18.0.6: + resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true + dependencies: + '@types/node': 20.11.24 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.24): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) + '@types/node': 20.11.24 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): + resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.104.0: + resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/core@7.104.0: + resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/node@7.104.0: + resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.104.0 + '@sentry/core': 7.104.0 + '@sentry/types': 7.104.0 + '@sentry/utils': 7.104.0 + dev: false + + /@sentry/profiling-node@7.104.0: + resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.104.0: + resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.104.0: + resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.104.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.24: + resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.24 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + dev: false + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + peerDependencies: + vitest: 1.3.1 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.24) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /@yarnpkg/lockfile@1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + + /@yarnpkg/parsers@3.0.0-rc.46: + resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} + engines: {node: '>=14.15.0'} + dependencies: + js-yaml: 3.14.1 + tslib: 2.6.2 + dev: true + + /@zkochan/js-yaml@0.0.6: + resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@nrwl/tao@18.0.6: - resolution: - { - integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==, - } - hasBin: true - dependencies: - nx: 18.0.6 - tslib: 2.6.2 - transitivePeerDependencies: - - "@swc-node/register" - - "@swc/core" - - debug - dev: true - - /@nx/nx-darwin-arm64@18.0.6: - resolution: - { - integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /axios@1.6.7: + resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} + dependencies: + follow-redirects: 1.15.5 + form-data: 4.0.0 + proxy-from-env: 1.1.0 + transitivePeerDependencies: + - debug + dev: true + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /bufferput@0.1.3: + resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} + engines: {node: '>=0.3.0'} + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + dependencies: + restore-cursor: 3.1.0 + dev: true + + /cli-spinners@2.6.1: + resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} + engines: {node: '>=6'} + dev: true + + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + dev: true + + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + dependencies: + delayed-stream: 1.0.0 + dev: true + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@nx/nx-darwin-x64@18.0.6: - resolution: - { - integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + dependencies: + clone: 1.0.4 + dev: true + + /define-lazy-prop@2.0.0: + resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} + engines: {node: '>=8'} + dev: true + + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv-expand@10.0.0: + resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} + engines: {node: '>=12'} + dev: true + + /dotenv@16.3.2: + resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} + engines: {node: '>=12'} + dev: true + + /duplexer@0.1.2: + resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + + /enquirer@2.3.6: + resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} + engines: {node: '>=8.6'} + dependencies: + ansi-colors: 4.1.3 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - - /@nx/nx-freebsd-x64@18.0.6: - resolution: - { - integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + eslint-config-prettier: optional: true - - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: - { - integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==, - } - engines: { node: ">= 10" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.4 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.1: + resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + dependencies: + escape-string-regexp: 1.0.5 + dev: true + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /follow-redirects@1.15.5: + resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: optional: true - - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: - { - integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dev: true + + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + dependencies: + asynckit: 0.4.0 + combined-stream: 1.0.8 + mime-types: 2.1.35 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true + + /fs-extra@11.2.0: + resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} + engines: {node: '>=14.14'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 6.1.0 + universalify: 2.0.1 + dev: true + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@2.1.1: + resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} + engines: {node: '>=8.0'} + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + dev: false + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /hyperid@2.3.1: + resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /int64-buffer@0.99.1007: + resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} + engines: {node: '>= 4.5.0'} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-docker@2.2.1: + resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} + engines: {node: '>=8'} + hasBin: true + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true + + /is-wsl@2.2.0: + resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + chalk: 4.1.2 + diff-sequences: 29.6.3 + jest-get-type: 29.6.3 + pretty-format: 29.7.0 + dev: true + + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + dependencies: + argparse: 1.0.10 + esprima: 4.0.1 + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true + + /jsonc-parser@3.2.0: + resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + dependencies: + universalify: 2.0.1 + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /lines-and-columns@2.0.4: + resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + dependencies: + chalk: 4.1.2 + is-unicode-supported: 0.1.0 + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /multi-fork@0.0.2: + resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /node-machine-id@1.1.12: + resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} + dev: true + + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + dependencies: + path-key: 3.1.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /nx@18.0.6: + resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} + hasBin: true + requiresBuild: true + peerDependencies: + '@swc-node/register': ^1.8.0 + '@swc/core': ^1.3.85 + peerDependenciesMeta: + '@swc-node/register': optional: true - - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: - { - integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@swc/core': optional: true - - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: - { - integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@nrwl/tao': 18.0.6 + '@yarnpkg/lockfile': 1.1.0 + '@yarnpkg/parsers': 3.0.0-rc.46 + '@zkochan/js-yaml': 0.0.6 + axios: 1.6.7 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + cliui: 8.0.1 + dotenv: 16.3.2 + dotenv-expand: 10.0.0 + enquirer: 2.3.6 + figures: 3.2.0 + flat: 5.0.2 + fs-extra: 11.2.0 + ignore: 5.3.1 + jest-diff: 29.7.0 + js-yaml: 4.1.0 + jsonc-parser: 3.2.0 + lines-and-columns: 2.0.4 + minimatch: 9.0.3 + node-machine-id: 1.1.12 + npm-run-path: 4.0.1 + open: 8.4.2 + ora: 5.3.0 + semver: 7.6.0 + string-width: 4.2.3 + strong-log-transformer: 2.1.0 + tar-stream: 2.2.0 + tmp: 0.2.3 + tsconfig-paths: 4.2.0 + tslib: 2.6.2 + yargs: 17.7.2 + yargs-parser: 21.1.1 + optionalDependencies: + '@nx/nx-darwin-arm64': 18.0.6 + '@nx/nx-darwin-x64': 18.0.6 + '@nx/nx-freebsd-x64': 18.0.6 + '@nx/nx-linux-arm-gnueabihf': 18.0.6 + '@nx/nx-linux-arm64-gnu': 18.0.6 + '@nx/nx-linux-arm64-musl': 18.0.6 + '@nx/nx-linux-x64-gnu': 18.0.6 + '@nx/nx-linux-x64-musl': 18.0.6 + '@nx/nx-win32-arm64-msvc': 18.0.6 + '@nx/nx-win32-x64-msvc': 18.0.6 + transitivePeerDependencies: + - debug + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + dependencies: + mimic-fn: 2.1.0 + dev: true + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /open@8.4.2: + resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} + engines: {node: '>=12'} + dependencies: + define-lazy-prop: 2.0.0 + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /ora@5.3.0: + resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} + engines: {node: '>=10'} + dependencies: + bl: 4.1.0 + chalk: 4.1.2 + cli-cursor: 3.1.0 + cli-spinners: 2.6.1 + is-interactive: 1.0.0 + log-symbols: 4.1.0 + strip-ansi: 6.0.1 + wcwidth: 1.0.1 + dev: true + + /p-defer@3.0.0: + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-copy-streams-binary@2.2.0: + resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} + dependencies: + obuf: 1.1.2 + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: false + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + dev: false + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + dev: false + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: optional: true - - /@nx/nx-linux-x64-musl@18.0.6: - resolution: - { - integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: false + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: false + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.4: + resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: true + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + dependencies: + onetime: 5.1.2 + signal-exit: 3.0.7 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@29.2.0: + resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} + engines: {node: '>=10.0'} + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + + /slonik@37.2.0(zod@3.22.4): + resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + dev: false + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + dev: false + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + dependencies: + emoji-regex: 8.0.0 + is-fullwidth-code-point: 3.0.0 + strip-ansi: 6.0.1 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /strong-log-transformer@2.1.0: + resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} + engines: {node: '>=4'} + hasBin: true + dependencies: + duplexer: 0.1.2 + minimist: 1.2.8 + through: 2.3.8 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + dependencies: + bl: 4.1.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /tmp@0.2.3: + resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} + engines: {node: '>=14.14'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + dependencies: + json5: 2.2.3 + minimist: 1.2.8 + strip-bom: 3.0.0 + dev: true + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: false + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + /typescript@5.3.3: + resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.24): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.24) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.24): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: - { - integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==, - } - engines: { node: ">= 10" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + less: optional: true - - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: - { - integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==, - } - engines: { node: ">= 10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + sass: optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + stylus: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + sugarss: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + terser: optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.24 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.24): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@types/node': optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@vitest/browser': optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + happy-dom: optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.24 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.24) - "@types/node": 20.11.24 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.24) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.104.0: - resolution: - { - integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/core@7.104.0: - resolution: - { - integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/node@7.104.0: - resolution: - { - integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.104.0 - "@sentry/core": 7.104.0 - "@sentry/types": 7.104.0 - "@sentry/utils": 7.104.0 - dev: false - - /@sentry/profiling-node@7.104.0: - resolution: - { - integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.104.0: - resolution: - { - integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/utils@7.104.0: - resolution: - { - integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.104.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.24) - slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.11.24: - resolution: - { - integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.24 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - dev: false - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: - { - integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, - } - peerDependencies: - vitest: 1.3.1 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: - { - integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, - } - dependencies: - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: - { - integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, - } - dependencies: - "@vitest/utils": 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: - { - integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: - { - integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: - { - integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /@yarnpkg/lockfile@1.1.0: - resolution: - { - integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==, - } - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: - { - integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==, - } - engines: { node: ">=14.15.0" } - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: - { - integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: ">=6" } - dev: true - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /axios@1.6.7: - resolution: - { - integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==, - } - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - dev: true - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: - { - integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==, - } - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /bufferput@0.1.3: - resolution: - { - integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==, - } - engines: { node: ">=0.3.0" } - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: ">=8" } - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: - { - integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==, - } - engines: { node: ">=6" } - dev: true - - /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: ">=12" } - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: ">=0.8" } - dev: true - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: ">= 0.8" } - dependencies: - delayed-stream: 1.0.0 - dev: true - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true + jsdom: optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /concat-stream@2.0.0: - resolution: - { - integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, - } - engines: { "0": node >= 6.0 } - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: - { - integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==, - } - engines: { node: ">=8" } - dev: true - - /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: ">=0.4.0" } - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: false - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv-expand@10.0.0: - resolution: - { - integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==, - } - engines: { node: ">=12" } - dev: true - - /dotenv@16.3.2: - resolution: - { - integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==, - } - engines: { node: ">=12" } - dev: true - - /duplexer@0.1.2: - resolution: - { - integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==, - } - dev: true - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - - /enquirer@2.3.6: - resolution: - { - integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==, - } - engines: { node: ">=8.6" } - dependencies: - ansi-colors: 4.1.3 - dev: true - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: ">=6" } - dev: true - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } - dev: true - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.4 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: ">=4" } - hasBin: true - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.1: - resolution: - { - integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: ">=8" } - dependencies: - escape-string-regexp: 1.0.5 - dev: true - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } - hasBin: true - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /follow-redirects@1.15.5: - resolution: - { - integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==, - } - engines: { node: ">=4.0" } - peerDependencies: - debug: "*" - peerDependenciesMeta: - debug: - optional: true - dev: true - - /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: ">= 6" } - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } - dev: true - - /fs-extra@11.2.0: - resolution: - { - integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, - } - engines: { node: ">=14.14" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - dev: true - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@2.1.1: - resolution: - { - integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==, - } - engines: { node: ">=8.0" } - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - dev: false - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /hyperid@2.3.1: - resolution: - { - integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==, - } - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /int64-buffer@0.99.1007: - resolution: - { - integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==, - } - engines: { node: ">= 4.5.0" } - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-docker@2.2.1: - resolution: - { - integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==, - } - engines: { node: ">=8" } - hasBin: true - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: ">=8" } - dev: true - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: ">=8" } - dev: true - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-plain-object@5.0.0: - resolution: - { - integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==, - } - engines: { node: ">=0.10.0" } - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: ">=10" } - dev: true - - /is-wsl@2.2.0: - resolution: - { - integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==, - } - engines: { node: ">=8" } - dependencies: - is-docker: 2.2.1 - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - dev: true - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: ">=10" } - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jest-diff@29.7.0: - resolution: - { - integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: - { - integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==, - } - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /lines-and-columns@2.0.4: - resolution: - { - integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /lodash.sortby@4.7.0: - resolution: - { - integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, - } - - /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: ">=10" } - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: ">=6" } - dev: true - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /multi-fork@0.0.2: - resolution: - { - integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: false - - /node-machine-id@1.1.12: - resolution: - { - integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==, - } - dev: true - - /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } - dependencies: - path-key: 3.1.1 - dev: true - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /nx@18.0.6: - resolution: - { - integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==, - } - hasBin: true - requiresBuild: true - peerDependencies: - "@swc-node/register": ^1.8.0 - "@swc/core": ^1.3.85 - peerDependenciesMeta: - "@swc-node/register": - optional: true - "@swc/core": - optional: true - dependencies: - "@nrwl/tao": 18.0.6 - "@yarnpkg/lockfile": 1.1.0 - "@yarnpkg/parsers": 3.0.0-rc.46 - "@zkochan/js-yaml": 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - "@nx/nx-darwin-arm64": 18.0.6 - "@nx/nx-darwin-x64": 18.0.6 - "@nx/nx-freebsd-x64": 18.0.6 - "@nx/nx-linux-arm-gnueabihf": 18.0.6 - "@nx/nx-linux-arm64-gnu": 18.0.6 - "@nx/nx-linux-arm64-musl": 18.0.6 - "@nx/nx-linux-x64-gnu": 18.0.6 - "@nx/nx-linux-x64-musl": 18.0.6 - "@nx/nx-win32-arm64-msvc": 18.0.6 - "@nx/nx-win32-x64-msvc": 18.0.6 - transitivePeerDependencies: - - debug - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: ">=6" } - dependencies: - mimic-fn: 2.1.0 - dev: true - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /open@8.4.2: - resolution: - { - integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==, - } - engines: { node: ">=12" } - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /ora@5.3.0: - resolution: - { - integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==, - } - engines: { node: ">=10" } - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - - /p-defer@3.0.0: - resolution: - { - integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, - } - engines: { node: ">=8" } - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-copy-streams-binary@2.2.0: - resolution: - { - integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==, - } - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: - { - integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==, - } - dependencies: - obuf: 1.1.2 - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - dev: false - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - dev: false - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - dev: false - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: - { - integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - dev: false - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - dev: false - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - dev: false - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.4: - resolution: - { - integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: true - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: ">= 6" } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: ">=0.10.0" } - dev: true - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: ">=8" } - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: - { - integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@29.2.0: - resolution: - { - integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==, - } - engines: { node: ">=10.0" } - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: - { - integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - dev: false - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.8.0-beta.0: - resolution: - { - integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==, - } - engines: { node: ">= 8" } - dependencies: - whatwg-url: 7.1.0 - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - dev: false - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: ">=8" } - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /strong-log-transformer@2.1.0: - resolution: - { - integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==, - } - engines: { node: ">=4" } - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: ">=6" } - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: - { - integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, - } - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } - dependencies: - readable-stream: 3.6.2 - - /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } - dev: true - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tmp@0.2.3: - resolution: - { - integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==, - } - engines: { node: ">=14.14" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - dev: true - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@1.0.1: - resolution: - { - integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, - } - dependencies: - punycode: 2.3.1 - - /tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: ">=6" } - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - dev: false - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } - - /typescript@5.3.3: - resolution: - { - integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==, - } - engines: { node: ">=14.17" } - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.24): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.24) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: ">= 10.0.0" } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } - - /uuid-parse@1.1.0: - resolution: - { - integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==, - } - - /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } - hasBin: true - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.24): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.24 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.24): - resolution: - { - integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.3.1 - "@vitest/ui": 1.3.1 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.24 - "@vitest/expect": 1.3.1 - "@vitest/runner": 1.3.1 - "@vitest/snapshot": 1.3.1 - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } - dependencies: - defaults: 1.0.4 - dev: true - - /webidl-conversions@4.0.2: - resolution: - { - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, - } - - /whatwg-url@7.1.0: - resolution: - { - integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, - } - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: ">=10" } - dev: true - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: ">=12" } - dev: true - - /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: ">=12" } - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } - dev: false + dependencies: + '@types/node': 20.11.24 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.24) + vite-node: 1.3.1(@types/node@20.11.24) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + dependencies: + defaults: 1.0.4 + dev: true + + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + string-width: 4.2.3 + strip-ansi: 6.0.1 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true + + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + dev: true + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false diff --git a/services/sslProxy/Dockerfile b/services/sslProxy/Dockerfile index 1bb7ca5e7..38561c480 100644 --- a/services/sslProxy/Dockerfile +++ b/services/sslProxy/Dockerfile @@ -1,5 +1,5 @@ # Can be located at https://archive.org/details/nginx_1.9.8.tar if needed -FROM nginx:1.9.8 as base +FROM nginx:1.9.8@sha256:5d3b56065cf133f8968a557bf49c639320b2fc4c57c635b5707978fb6b738e1f as base COPY nginx.conf /etc/nginx/nginx.conf COPY mcouniverse.pem /etc/nginx/mcouniverse.pem From 9c28585a155a93b1edb57761d7e5d5c8e37e6168 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 3 Mar 2024 18:15:44 +0000 Subject: [PATCH 190/452] Update dependency prettier to v3.2.5 (#1775) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index d5509e299..c02c076ad 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "nx": "18.0.6", - "prettier": "3.2.4", + "prettier": "3.2.5", "typescript": "5.3.3", "vitest": "1.3.1" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 426d9a45c..11227c24c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -44,13 +44,13 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) nx: specifier: 18.0.6 version: 18.0.6 prettier: - specifier: 3.2.4 - version: 3.2.4 + specifier: 3.2.5 + version: 3.2.5 typescript: specifier: 5.3.3 version: 5.3.3 @@ -1418,7 +1418,7 @@ packages: eslint: 8.57.0 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.4): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1434,7 +1434,7 @@ packages: dependencies: eslint: 8.57.0 eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.4 + prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 dev: true @@ -2762,8 +2762,8 @@ packages: fast-diff: 1.3.0 dev: true - /prettier@3.2.4: - resolution: {integrity: sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} engines: {node: '>=14'} hasBin: true dev: true From 10af024c61de67791b01e59ec0e821b02465d59d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 3 Mar 2024 18:16:57 +0000 Subject: [PATCH 191/452] Update dependency fastify to v4.26.2 (#1782) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 11227c24c..ffee661b9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -95,7 +95,7 @@ importers: version: 7.104.0 fastify: specifier: ^4.25.2 - version: 4.26.1 + version: 4.26.2 packages/interfaces: {} @@ -1636,8 +1636,8 @@ packages: resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} dev: false - /fastify@4.26.1: - resolution: {integrity: sha512-tznA/G55dsxzM5XChBfcvVSloG2ejeeotfPPJSFaWmHyCDVGMpvf3nRNbsCb/JTBF9RmQFBfuujWt3Nphjesng==} + /fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} dependencies: '@fastify/ajv-compiler': 3.5.0 '@fastify/error': 3.4.1 From 32055c4cb7ba71a91569b12c92d0b1c642d09dc8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 11:26:19 +0000 Subject: [PATCH 192/452] Update dependency nx to v18.1.0 (#1787) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 76 +++++++++++++++++++++++++------------------------- 2 files changed, 39 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index c02c076ad..5f8cd5916 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "nx": "18.0.6", + "nx": "18.1.0", "prettier": "3.2.5", "typescript": "5.3.3", "vitest": "1.3.1" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ffee661b9..e69247a74 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,8 +46,8 @@ importers: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) nx: - specifier: 18.0.6 - version: 18.0.6 + specifier: 18.1.0 + version: 18.1.0 prettier: specifier: 3.2.5 version: 3.2.5 @@ -526,11 +526,11 @@ packages: fastq: 1.17.1 dev: true - /@nrwl/tao@18.0.6: - resolution: {integrity: sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==} + /@nrwl/tao@18.1.0: + resolution: {integrity: sha512-YPI6UAoyVhT7iqffjXO96/ovg6c97Iu0sS32lqPOkRSzoQM+M9h7f77yUA5FoXHHoHxq/kKwfw6FT7yR1SrFEw==} hasBin: true dependencies: - nx: 18.0.6 + nx: 18.1.0 tslib: 2.6.2 transitivePeerDependencies: - '@swc-node/register' @@ -538,8 +538,8 @@ packages: - debug dev: true - /@nx/nx-darwin-arm64@18.0.6: - resolution: {integrity: sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==} + /@nx/nx-darwin-arm64@18.1.0: + resolution: {integrity: sha512-5vNFl/9V0rmh5+l+c3nAboOrCqHgfpsWjTlij4wVi8KqRKfzAyLQd610g90wxH5zx9zbDnXzbVrRQBswGlXk0Q==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -547,8 +547,8 @@ packages: dev: true optional: true - /@nx/nx-darwin-x64@18.0.6: - resolution: {integrity: sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==} + /@nx/nx-darwin-x64@18.1.0: + resolution: {integrity: sha512-eoaN1zJaAQEYF/5Fe/W1HuQ4SW2imw4TXSjXoYqWz7fRf8tPwy06P1q3IS6PDXYspKSULJyicz/ll8+mpnWx/Q==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -556,8 +556,8 @@ packages: dev: true optional: true - /@nx/nx-freebsd-x64@18.0.6: - resolution: {integrity: sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==} + /@nx/nx-freebsd-x64@18.1.0: + resolution: {integrity: sha512-rNX61CrAkPGTxGWA+bakMd5Y89/nheTV2Uy/KJXf9I5jqLPHEM+/69TiJTqO/wwV53ShgZfICIaOo+gK9Vw9vQ==} engines: {node: '>= 10'} cpu: [x64] os: [freebsd] @@ -565,8 +565,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm-gnueabihf@18.0.6: - resolution: {integrity: sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==} + /@nx/nx-linux-arm-gnueabihf@18.1.0: + resolution: {integrity: sha512-HrNNr5fnEKG3cZwT5qLnDm0CuimywqoDDkWfdMdA5/eVPwZsXF4vtXqgOmQ2xwb1k+HZvOK+uCnDKdBK3f34Ow==} engines: {node: '>= 10'} cpu: [arm] os: [linux] @@ -574,8 +574,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-gnu@18.0.6: - resolution: {integrity: sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==} + /@nx/nx-linux-arm64-gnu@18.1.0: + resolution: {integrity: sha512-avw5NeqG6j5Y8HX3LsfFa9YLIu3Rk5d08oNDr0MH8etEih/VuFH4RSdOauZiAfHaUfYDBo8V33U93YgP1bIfXg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -583,8 +583,8 @@ packages: dev: true optional: true - /@nx/nx-linux-arm64-musl@18.0.6: - resolution: {integrity: sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==} + /@nx/nx-linux-arm64-musl@18.1.0: + resolution: {integrity: sha512-76Wj2UPS69aIC2YbxghuT7ES6JXhI6e5C/TVJ5XR7SxHN+EVWmJJLWPs0ePAvtjZLXaH24IkRMxV4FuI7j+u1Q==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -592,8 +592,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-gnu@18.0.6: - resolution: {integrity: sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==} + /@nx/nx-linux-x64-gnu@18.1.0: + resolution: {integrity: sha512-aMQVz+3Il+lf8CQJvpQzZrajjGmXuJU4CoVOvA7ZC0iB+MMRk5DgkIQaRXDENfnmrYW0j2Xifb2wwCZifXNlVg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -601,8 +601,8 @@ packages: dev: true optional: true - /@nx/nx-linux-x64-musl@18.0.6: - resolution: {integrity: sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==} + /@nx/nx-linux-x64-musl@18.1.0: + resolution: {integrity: sha512-Gw+xCiVaiR4n6deFhqoB/7MyYkX+U/jhI9lP6zBcKp15QWMAYMxmj/Rkb81M5qGwvHvIfxiFNRCmERwB9G2I7Q==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -610,8 +610,8 @@ packages: dev: true optional: true - /@nx/nx-win32-arm64-msvc@18.0.6: - resolution: {integrity: sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==} + /@nx/nx-win32-arm64-msvc@18.1.0: + resolution: {integrity: sha512-PFi6tC/4dkkP9CHA2SyM0p713L+Eg+RI6q9OqhPi7HF8aJQivB0bLYloCMwgGeR/dz2Ey6hvNGONDrdpbQoIcQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -619,8 +619,8 @@ packages: dev: true optional: true - /@nx/nx-win32-x64-msvc@18.0.6: - resolution: {integrity: sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==} + /@nx/nx-win32-x64-msvc@18.1.0: + resolution: {integrity: sha512-vI43+pFtFd+RlfIABe5nHv9R8BB8VPkBMADoZCm2CkK391fTgrIRuLKmJhYjD+qWSwdx9j9t2Au/q78MFVJE2A==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2333,8 +2333,8 @@ packages: path-key: 4.0.0 dev: true - /nx@18.0.6: - resolution: {integrity: sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==} + /nx@18.1.0: + resolution: {integrity: sha512-lKWQvv9nFjbvSBw6N5EAphH5BVahx44J83FlghmTAw7vXjO9fVhdqKeJoRKO6hkzoFB+ke3b/mmH2Ted5oft7A==} hasBin: true requiresBuild: true peerDependencies: @@ -2346,7 +2346,7 @@ packages: '@swc/core': optional: true dependencies: - '@nrwl/tao': 18.0.6 + '@nrwl/tao': 18.1.0 '@yarnpkg/lockfile': 1.1.0 '@yarnpkg/parsers': 3.0.0-rc.46 '@zkochan/js-yaml': 0.0.6 @@ -2381,16 +2381,16 @@ packages: yargs: 17.7.2 yargs-parser: 21.1.1 optionalDependencies: - '@nx/nx-darwin-arm64': 18.0.6 - '@nx/nx-darwin-x64': 18.0.6 - '@nx/nx-freebsd-x64': 18.0.6 - '@nx/nx-linux-arm-gnueabihf': 18.0.6 - '@nx/nx-linux-arm64-gnu': 18.0.6 - '@nx/nx-linux-arm64-musl': 18.0.6 - '@nx/nx-linux-x64-gnu': 18.0.6 - '@nx/nx-linux-x64-musl': 18.0.6 - '@nx/nx-win32-arm64-msvc': 18.0.6 - '@nx/nx-win32-x64-msvc': 18.0.6 + '@nx/nx-darwin-arm64': 18.1.0 + '@nx/nx-darwin-x64': 18.1.0 + '@nx/nx-freebsd-x64': 18.1.0 + '@nx/nx-linux-arm-gnueabihf': 18.1.0 + '@nx/nx-linux-arm64-gnu': 18.1.0 + '@nx/nx-linux-arm64-musl': 18.1.0 + '@nx/nx-linux-x64-gnu': 18.1.0 + '@nx/nx-linux-x64-musl': 18.1.0 + '@nx/nx-win32-arm64-msvc': 18.1.0 + '@nx/nx-win32-x64-msvc': 18.1.0 transitivePeerDependencies: - debug dev: true From 8397f80d0a2fec51355cc333c5b2b9a758977418 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 13:51:32 +0000 Subject: [PATCH 193/452] Update sentry-javascript monorepo to v7.105.0 (#1788) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 64 +++++++++++++++++++++++++++++--------------------- 1 file changed, 37 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e69247a74..c13ac505d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,10 +16,10 @@ importers: version: link:packages/shared '@sentry/node': specifier: ^7.102.0 - version: 7.104.0 + version: 7.105.0 '@sentry/profiling-node': specifier: ^7.104.0 - version: 7.104.0 + version: 7.105.0 slonik: specifier: '29' version: 29.2.0 @@ -74,7 +74,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.104.0 + version: 7.105.0 slonik: specifier: ^37.2.0 version: 37.2.0(zod@3.22.4) @@ -92,7 +92,7 @@ importers: version: link:../shared '@sentry/node': specifier: ^7.102.0 - version: 7.104.0 + version: 7.105.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -111,7 +111,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.104.0 + version: 7.105.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -543,6 +543,7 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [darwin] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -552,6 +553,7 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [darwin] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -561,6 +563,7 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [freebsd] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -570,6 +573,7 @@ packages: engines: {node: '>= 10'} cpu: [arm] os: [linux] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -579,6 +583,7 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -588,6 +593,7 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [linux] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -597,6 +603,7 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [linux] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -606,6 +613,7 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [linux] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -615,6 +623,7 @@ packages: engines: {node: '>= 10'} cpu: [arm64] os: [win32] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -624,6 +633,7 @@ packages: engines: {node: '>= 10'} cpu: [x64] os: [win32] + deprecated: This was an unintentional release and has been deprecated requiresBuild: true dev: true optional: true @@ -778,35 +788,35 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.104.0: - resolution: {integrity: sha512-2z7OijM1J5ndJUiJJElC3iH9qb/Eb8eYm2v8oJhM8WVdc5uCKfrQuYHNgGOnmY2FOCfEUlTmMQGpDw7DJ67L5w==} + /@sentry-internal/tracing@7.105.0: + resolution: {integrity: sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 + '@sentry/core': 7.105.0 + '@sentry/types': 7.105.0 + '@sentry/utils': 7.105.0 dev: false - /@sentry/core@7.104.0: - resolution: {integrity: sha512-XPndD6IGQGd07/EntvYVzOWQUo/Gd7L3DwYFeEKeBv6ByWjbBNmVZFRhU0GPPsCHKyW9yMU9OO9diLSS4ijsRg==} + /@sentry/core@7.105.0: + resolution: {integrity: sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 + '@sentry/types': 7.105.0 + '@sentry/utils': 7.105.0 dev: false - /@sentry/node@7.104.0: - resolution: {integrity: sha512-Ixt8qg6IV8gywi4+H1cAtQeglAAww2nwLHybCxAvnu3czdF8w7ifF+o5BY1FmO5UYVCAfr8vEb+XG4CuRrFb7g==} + /@sentry/node@7.105.0: + resolution: {integrity: sha512-b0QwZ7vT4hcJi6LmNRh3dcaYpLtXnkYXkL0rfhMb8hN8sUx8zuOWFMI7j0cfAloVThUeJVwGyv9dERfzGS2r2w==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.104.0 - '@sentry/core': 7.104.0 - '@sentry/types': 7.104.0 - '@sentry/utils': 7.104.0 + '@sentry-internal/tracing': 7.105.0 + '@sentry/core': 7.105.0 + '@sentry/types': 7.105.0 + '@sentry/utils': 7.105.0 dev: false - /@sentry/profiling-node@7.104.0: - resolution: {integrity: sha512-LYsZ43fF4Jskt5vFr/TTQev1Lm9gsvpNtGfbzRQRPPGPq9pJ2KoWMmrK6of9vwOcch14ewEOos+Zgq76qi8wBA==} + /@sentry/profiling-node@7.105.0: + resolution: {integrity: sha512-4Btd1zcFikfVL8yY6c/DMUUfzDlHmkV6tGGDI+ZaohfeqnrH9KVFhvvUC5/oCkFVJ0xw9W8YfH76M5dNEV5DxA==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -815,16 +825,16 @@ packages: node-abi: 3.56.0 dev: false - /@sentry/types@7.104.0: - resolution: {integrity: sha512-5bs0xe0+GZR4QBm9Nrqw59o0sv3kBtCosrZDVxBru/dQbrfnB+/kVorvuM0rV3+coNITTKcKDegSZmK1d2uOGQ==} + /@sentry/types@7.105.0: + resolution: {integrity: sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.104.0: - resolution: {integrity: sha512-ZVg+xZirI9DlOi0NegNVocswdh/8p6QkzlQzDQY2LP2CC6JQdmwi64o0S4rPH4YIHNKQJTpIjduoxeKgd1EO5g==} + /@sentry/utils@7.105.0: + resolution: {integrity: sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.104.0 + '@sentry/types': 7.105.0 dev: false /@sinclair/typebox@0.27.8: From ab39da96101c7dbcf76c6e669da2e9364299ef7d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 4 Mar 2024 15:24:58 +0000 Subject: [PATCH 194/452] Update github/codeql-action action to v3 --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index cc9c1ffe4..8c460361b 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@928ff8c822d966a999092a6a35e32177899afb7c # v2 + uses: github/codeql-action/init@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@928ff8c822d966a999092a6a35e32177899afb7c # v2 + uses: github/codeql-action/autobuild@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@928ff8c822d966a999092a6a35e32177899afb7c # v2 + uses: github/codeql-action/analyze@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 From b4ab24ccd45c204f1682820c3458fb3e25d9906f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 4 Mar 2024 22:07:08 -0500 Subject: [PATCH 195/452] Fix GameMessage header --- package.json | 1 + packages/gateway/package.json | 1 + packages/gateway/src/index.ts | 16 ++++++++++++---- packages/shared-packets/index.ts | 1 + packages/shared-packets/package.json | 8 +++++++- packages/shared-packets/src/GameMessage.ts | 10 ++++------ pnpm-lock.yaml | 6 ++++++ 7 files changed, 32 insertions(+), 11 deletions(-) diff --git a/package.json b/package.json index 5f8cd5916..b000bb66c 100644 --- a/package.json +++ b/package.json @@ -30,6 +30,7 @@ "dependencies": { "@rustymotors/database": "workspace:^", "@rustymotors/shared": "workspace:^", + "@rustymotors/shared-packets": "workspace:^", "@sentry/node": "^7.102.0", "@sentry/profiling-node": "^7.104.0", "slonik": "29", diff --git a/packages/gateway/package.json b/packages/gateway/package.json index cf04a9635..65e872fd6 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -13,6 +13,7 @@ "dependencies": { "@fastify/sensible": "^5.5.0", "@rustymotors/shared": "workspace:^", + "@rustymotors/shared-packets": "workspace:^", "@sentry/node": "^7.102.0", "fastify": "^4.25.2" } diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index cb6345eee..ba133ec46 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -33,11 +33,12 @@ import { MessageProcessorError, getGameMessageProcessor, getPortMessageType, - GameMessage, + GameMessage as OldGameMessage, } from "../../nps/index.js"; import { SocketCallback } from "../../nps/messageProcessors/index.js"; import { getAsHex } from "../../nps/utils/pureGet.js"; import { ServiceResponse } from "@rustymotors/shared"; +import { GameMessage } from "@rustymotors/shared-packets"; /** * @typedef {object} OnDataHandlerArgs @@ -244,7 +245,7 @@ function sendToSocket( export function processGameMessage( connectionId: string, - message: GameMessage, + message: OldGameMessage, log: ServerLogger, socketCallback: SocketCallback, ) { @@ -279,8 +280,15 @@ export function handleGameMessage( // Log raw bytes log.trace(`Raw bytes: ${bytes.toString("hex")}`); + const msgVersion = bytes.byteLength <= 12 ? 0 : 1; + + // Load new game message + const gameMessage = new GameMessage(msgVersion).deserialize(bytes); + + log.debug(`Game message: ${gameMessage}`); + // Try to identify the message version - const version = GameMessage.identifyVersion(bytes); + const version = OldGameMessage.identifyVersion(bytes); // Log the version log.debug(`Message version: ${version}`); @@ -288,7 +296,7 @@ export function handleGameMessage( // Try to parse it try { // Create a new message - const message = new GameMessage(version); + const message = new OldGameMessage(version); message.deserialize(bytes); // Process the message diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts index 4a5a48eee..1bb800ecc 100644 --- a/packages/shared-packets/index.ts +++ b/packages/shared-packets/index.ts @@ -1 +1,2 @@ export * from "./src/interfaces.js"; +export {GameMessage } from "./src/GameMessage.js"; diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 84585e230..8af357bac 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -3,7 +3,13 @@ "private": true, "version": "1.0.0", "description": "", - "main": "index.js", + "type": "module", + "exports": { + ".": { + "import": "./index.ts", + "require": "./index.ts" + } + }, "scripts": { "build": "rm -rf dist && tsc", "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/shared-packets/src/GameMessage.ts b/packages/shared-packets/src/GameMessage.ts index 2d56e1618..911f8c13e 100644 --- a/packages/shared-packets/src/GameMessage.ts +++ b/packages/shared-packets/src/GameMessage.ts @@ -35,11 +35,11 @@ export class GameMessageHeader extends Serializable implements ISerializable { getLength(): number { return this.length; } - setVersion(version: 0 | 257): void { - if (version !== 0 && version !== 257) { + setVersion(version: 0 | 1): void { + if (version !== 0 && version !== 1) { throw new Error(`Invalid version: ${version}`); } - this.version = version; + this.version = version === 0 ? 0 : 257; } setId(id: number): void { this.id = id; @@ -151,9 +151,7 @@ export class GameMessage extends Serializable implements IMessage { } override toString(): string { - return `Id: ${this.header.getId()} - Length: ${this.header.getLength()} - Data: ${this.data.toString()}`; + return `Id: ${this.header.getId()}, Length: ${this.header.getLength()}, Data: ${this.data.asHexString()}`; } static identifyVersion(data: Buffer): 0 | 257 { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c13ac505d..5a48f600d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,6 +14,9 @@ importers: '@rustymotors/shared': specifier: workspace:^ version: link:packages/shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:packages/shared-packets '@sentry/node': specifier: ^7.102.0 version: 7.105.0 @@ -90,6 +93,9 @@ importers: '@rustymotors/shared': specifier: workspace:^ version: link:../shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 version: 7.105.0 From 44b2be87e13abef18883f5dac5b5d5d5755e027e Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Mon, 4 Mar 2024 22:16:05 -0500 Subject: [PATCH 196/452] Apply suggestions from code review --- packages/gateway/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index ba133ec46..d9320d9a8 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -36,7 +36,6 @@ import { GameMessage as OldGameMessage, } from "../../nps/index.js"; import { SocketCallback } from "../../nps/messageProcessors/index.js"; -import { getAsHex } from "../../nps/utils/pureGet.js"; import { ServiceResponse } from "@rustymotors/shared"; import { GameMessage } from "@rustymotors/shared-packets"; @@ -280,6 +279,7 @@ export function handleGameMessage( // Log raw bytes log.trace(`Raw bytes: ${bytes.toString("hex")}`); + // Since a GameMessage v1 header is 12 byes long, a message smaller that that can only be v0 const msgVersion = bytes.byteLength <= 12 ? 0 : 1; // Load new game message From c03c5c2af9ceb89c0f8856b01c240e631d3c4260 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 4 Mar 2024 22:20:09 -0500 Subject: [PATCH 197/452] Reverting suggested AI code review change, as it was in error. --- packages/gateway/src/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index d9320d9a8..b9eabd8ca 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -36,6 +36,7 @@ import { GameMessage as OldGameMessage, } from "../../nps/index.js"; import { SocketCallback } from "../../nps/messageProcessors/index.js"; +import { getAsHex } from "../../nps/utils/pureGet.js"; import { ServiceResponse } from "@rustymotors/shared"; import { GameMessage } from "@rustymotors/shared-packets"; From fc66b309e0bf1a0891a0a9908261199e904b62f9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 17:51:11 +0000 Subject: [PATCH 198/452] Update dependency @types/node to v20.11.25 (#1791) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b000bb66c..97163c08a 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.24", + "@types/node": "20.11.25", "@vitest/coverage-v8": "1.3.1", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5a48f600d..f10e57a03 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,10 +32,10 @@ importers: devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.24)(slonik@29.2.0) + version: 0.12.0(@types/node@20.11.25)(slonik@29.2.0) '@types/node': - specifier: 20.11.24 - version: 20.11.24 + specifier: 20.11.25 + version: 20.11.25 '@vitest/coverage-v8': specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) @@ -59,7 +59,7 @@ importers: version: 5.3.3 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.24) + version: 1.3.1(@types/node@20.11.25) apps/main: dependencies: @@ -753,7 +753,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.24): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.25): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -761,7 +761,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -770,7 +770,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.24): + /@rushstack/terminal@0.10.0(@types/node@20.11.25): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -778,15 +778,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.24) - '@types/node': 20.11.24 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) + '@types/node': 20.11.25 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.24): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.25): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.24) + '@rushstack/terminal': 0.10.0(@types/node@20.11.25) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -847,14 +847,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.24)(slonik@29.2.0): + /@slonik/migrator@0.12.0(@types/node@20.11.25)(slonik@29.2.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.25) slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.24) + umzug: 3.7.0(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' dev: true @@ -871,15 +871,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.24: - resolution: {integrity: sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==} + /@types/node@20.11.25: + resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 pg-protocol: 1.6.0 pg-types: 4.0.2 dev: false @@ -906,7 +906,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.24) + vitest: 1.3.1(@types/node@20.11.25) transitivePeerDependencies: - supports-color dev: true @@ -3374,11 +3374,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.24): + /umzug@3.7.0(@types/node@20.11.25): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.24) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.25) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3434,7 +3434,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.3.1(@types/node@20.11.24): + /vite-node@1.3.1(@types/node@20.11.25): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3443,7 +3443,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.24) + vite: 5.1.4(@types/node@20.11.25) transitivePeerDependencies: - '@types/node' - less @@ -3455,7 +3455,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.24): + /vite@5.1.4(@types/node@20.11.25): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3483,7 +3483,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -3491,7 +3491,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.24): + /vitest@1.3.1(@types/node@20.11.25): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3516,7 +3516,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.24 + '@types/node': 20.11.25 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -3534,8 +3534,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.24) - vite-node: 1.3.1(@types/node@20.11.24) + vite: 5.1.4(@types/node@20.11.25) + vite-node: 1.3.1(@types/node@20.11.25) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From e98ca7679d3ab6cdd3e10451d8d7d0d3fdf357e1 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 6 Mar 2024 19:16:41 +0000 Subject: [PATCH 199/452] Update dependency typescript to v5.4.2 (#1792) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 97163c08a..41bc8c0e7 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,7 @@ "eslint-plugin-prettier": "5.1.3", "nx": "18.1.0", "prettier": "3.2.5", - "typescript": "5.3.3", + "typescript": "5.4.2", "vitest": "1.3.1" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f10e57a03..c70a4f29d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -55,8 +55,8 @@ importers: specifier: 3.2.5 version: 3.2.5 typescript: - specifier: 5.3.3 - version: 5.3.3 + specifier: 5.4.2 + version: 5.4.2 vitest: specifier: 1.3.1 version: 1.3.1(@types/node@20.11.25) @@ -3364,8 +3364,8 @@ packages: /typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - /typescript@5.3.3: - resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} hasBin: true dev: true From 8dbdc0b5b8481f6b05c05f526fad7723b3c82f1f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 8 Mar 2024 13:39:23 +0000 Subject: [PATCH 200/452] Update sentry-javascript monorepo to v7.106.0 (#1793) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c70a4f29d..0fdde694a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: link:packages/shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.105.0 + version: 7.106.0 '@sentry/profiling-node': specifier: ^7.104.0 - version: 7.105.0 + version: 7.106.0 slonik: specifier: '29' version: 29.2.0 @@ -77,7 +77,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.105.0 + version: 7.106.0 slonik: specifier: ^37.2.0 version: 37.2.0(zod@3.22.4) @@ -98,7 +98,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.105.0 + version: 7.106.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -117,7 +117,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.105.0 + version: 7.106.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -794,35 +794,35 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.105.0: - resolution: {integrity: sha512-b+AFYB7Bc9vmyxl2jbmuT4esX5G0oPfpz35A0sxFzmJIhvMg1YMDNio2c81BtKN+VSPORCnKMLhfk3kyKKvWMQ==} + /@sentry-internal/tracing@7.106.0: + resolution: {integrity: sha512-O8Es6Sa/tP80nfl+8soNfWzeRNFcT484SvjLR8BS3pHM9KDAlwNXyoQhFr2BKNYL1irbq6UF6eku4xCnUKVmqA==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.105.0 - '@sentry/types': 7.105.0 - '@sentry/utils': 7.105.0 + '@sentry/core': 7.106.0 + '@sentry/types': 7.106.0 + '@sentry/utils': 7.106.0 dev: false - /@sentry/core@7.105.0: - resolution: {integrity: sha512-5xsaTG6jZincTeJUmZomlv20mVRZUEF1U/g89lmrSOybyk2+opEnB1JeBn4ODwnvmSik8r2QLr6/RiYlaxRJCg==} + /@sentry/core@7.106.0: + resolution: {integrity: sha512-Dc13XtnyFaXup2E4vCbzuG0QKAVjrJBk4qfGwvSJaTuopEaEWBs2MpK6hRzFhsz9S3T0La7c1F/62NptvTUWsQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.105.0 - '@sentry/utils': 7.105.0 + '@sentry/types': 7.106.0 + '@sentry/utils': 7.106.0 dev: false - /@sentry/node@7.105.0: - resolution: {integrity: sha512-b0QwZ7vT4hcJi6LmNRh3dcaYpLtXnkYXkL0rfhMb8hN8sUx8zuOWFMI7j0cfAloVThUeJVwGyv9dERfzGS2r2w==} + /@sentry/node@7.106.0: + resolution: {integrity: sha512-4DIqbu5K7//lK/k2nV8lqKeGQzhu2T1OpJFmiUrjN6fUKWivGFjZrcmQDS7tvhAAyJezkL3LlrNU4tjPHUElPA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.105.0 - '@sentry/core': 7.105.0 - '@sentry/types': 7.105.0 - '@sentry/utils': 7.105.0 + '@sentry-internal/tracing': 7.106.0 + '@sentry/core': 7.106.0 + '@sentry/types': 7.106.0 + '@sentry/utils': 7.106.0 dev: false - /@sentry/profiling-node@7.105.0: - resolution: {integrity: sha512-4Btd1zcFikfVL8yY6c/DMUUfzDlHmkV6tGGDI+ZaohfeqnrH9KVFhvvUC5/oCkFVJ0xw9W8YfH76M5dNEV5DxA==} + /@sentry/profiling-node@7.106.0: + resolution: {integrity: sha512-Cj5xdhbEjXyYD90X68F8syuPOmjW1++BPPbLJ/HMxVMBbxB7Pg8yIaASlyN1N2gTbhjQWNRx7SUOCjmAI5V3Gg==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -831,16 +831,16 @@ packages: node-abi: 3.56.0 dev: false - /@sentry/types@7.105.0: - resolution: {integrity: sha512-80o0KMVM+X2Ym9hoQxvJetkJJwkpCg7o6tHHFXI+Rp7fawc2iCMTa0IRQMUiSkFvntQLYIdDoNNuKdzz2PbQGA==} + /@sentry/types@7.106.0: + resolution: {integrity: sha512-oKTkDaL6P9xJC5/zHLRemHTWboUqRYjkJNaZCN63j4kJqGy56wee4vDtDese/NWWn4U4C1QV1h+Mifm2HmDcQg==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.105.0: - resolution: {integrity: sha512-YVAV0c2KLM8+VZCicQ/E/P2+J9Vs0hGhrXwV7w6ZEAtvxrg4oF270toL1WRhvcaf8JO4J1v4V+LuU6Txs4uEeQ==} + /@sentry/utils@7.106.0: + resolution: {integrity: sha512-bVsePsXLpFu/1sH4rpJrPcnVxW2fXXfGfGxKs6Bm+dkOMbuVTlk/KAzIbdjCDIpVlrMDJmMNEv5xgTFjgWDkjw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.105.0 + '@sentry/types': 7.106.0 dev: false /@sinclair/typebox@0.27.8: From f448f8ef88032d0fc2be98f4ce3465f128c66090 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 19:31:11 +0000 Subject: [PATCH 201/452] Update sentry-javascript monorepo to v7.106.1 (#1794) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0fdde694a..4c0360d40 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: link:packages/shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.106.0 + version: 7.106.1 '@sentry/profiling-node': specifier: ^7.104.0 - version: 7.106.0 + version: 7.106.1 slonik: specifier: '29' version: 29.2.0 @@ -77,7 +77,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.106.0 + version: 7.106.1 slonik: specifier: ^37.2.0 version: 37.2.0(zod@3.22.4) @@ -98,7 +98,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.106.0 + version: 7.106.1 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -117,7 +117,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.106.0 + version: 7.106.1 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -794,35 +794,35 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.106.0: - resolution: {integrity: sha512-O8Es6Sa/tP80nfl+8soNfWzeRNFcT484SvjLR8BS3pHM9KDAlwNXyoQhFr2BKNYL1irbq6UF6eku4xCnUKVmqA==} + /@sentry-internal/tracing@7.106.1: + resolution: {integrity: sha512-Ui9zSmW88jTdmNnNBLYYpNoAi31esX5/auysC3v7+SpwxIsC3AGLFvXs4EPziyz8d0F62Ji0fNQZ96ui4fO6BQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.106.0 - '@sentry/types': 7.106.0 - '@sentry/utils': 7.106.0 + '@sentry/core': 7.106.1 + '@sentry/types': 7.106.1 + '@sentry/utils': 7.106.1 dev: false - /@sentry/core@7.106.0: - resolution: {integrity: sha512-Dc13XtnyFaXup2E4vCbzuG0QKAVjrJBk4qfGwvSJaTuopEaEWBs2MpK6hRzFhsz9S3T0La7c1F/62NptvTUWsQ==} + /@sentry/core@7.106.1: + resolution: {integrity: sha512-cwCd66wkbutXCI8j14JLkyod9RHtqSNfzGpx/ieBE+N786jX+Yj1DiaZJ6ZYjKQpnToipFnacEakCd9Vc9oePA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.106.0 - '@sentry/utils': 7.106.0 + '@sentry/types': 7.106.1 + '@sentry/utils': 7.106.1 dev: false - /@sentry/node@7.106.0: - resolution: {integrity: sha512-4DIqbu5K7//lK/k2nV8lqKeGQzhu2T1OpJFmiUrjN6fUKWivGFjZrcmQDS7tvhAAyJezkL3LlrNU4tjPHUElPA==} + /@sentry/node@7.106.1: + resolution: {integrity: sha512-KB2Lkb9WqocD/gbKIZCk2mQQmx+G3khI9ChJUw6GJzd5mvdQ5xxr4/yQKIHR6L9z3oGWBno9/Xc8Aw9s3ZwGwQ==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.106.0 - '@sentry/core': 7.106.0 - '@sentry/types': 7.106.0 - '@sentry/utils': 7.106.0 + '@sentry-internal/tracing': 7.106.1 + '@sentry/core': 7.106.1 + '@sentry/types': 7.106.1 + '@sentry/utils': 7.106.1 dev: false - /@sentry/profiling-node@7.106.0: - resolution: {integrity: sha512-Cj5xdhbEjXyYD90X68F8syuPOmjW1++BPPbLJ/HMxVMBbxB7Pg8yIaASlyN1N2gTbhjQWNRx7SUOCjmAI5V3Gg==} + /@sentry/profiling-node@7.106.1: + resolution: {integrity: sha512-88qgCQOqJG7fcAMRNyQ7b68CBDztL2Gbn4Zatr6UxO9+F12K40NibqVhpX0/P6rAl7xutb6axaTtiw6Xbz42pg==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -831,16 +831,16 @@ packages: node-abi: 3.56.0 dev: false - /@sentry/types@7.106.0: - resolution: {integrity: sha512-oKTkDaL6P9xJC5/zHLRemHTWboUqRYjkJNaZCN63j4kJqGy56wee4vDtDese/NWWn4U4C1QV1h+Mifm2HmDcQg==} + /@sentry/types@7.106.1: + resolution: {integrity: sha512-g3OcyAHGugBwkQP4fZYCCZqF2ng9K7yQc9FVngKq/y7PwHm84epXdYYGDGgfQOIC1d5/GMaPxmzI5IIrZexzkg==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.106.0: - resolution: {integrity: sha512-bVsePsXLpFu/1sH4rpJrPcnVxW2fXXfGfGxKs6Bm+dkOMbuVTlk/KAzIbdjCDIpVlrMDJmMNEv5xgTFjgWDkjw==} + /@sentry/utils@7.106.1: + resolution: {integrity: sha512-NIeuvB9MeDwrObbi6W5xRrNTcQj8klVvwWWYQB0zotY/LDjyl+c+cZzUshFOxBTp9ljVnYzWqZ7J8x/i4baj7w==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.106.0 + '@sentry/types': 7.106.1 dev: false /@sinclair/typebox@0.27.8: From f20ceac3c3091f9f1feeb6771d3f753e597c24d2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 11 Mar 2024 22:47:28 +0000 Subject: [PATCH 202/452] Update dependency @types/node to v20.11.26 (#1795) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 41bc8c0e7..ffcedcab6 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.25", + "@types/node": "20.11.26", "@vitest/coverage-v8": "1.3.1", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4c0360d40..f955e8ac8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,10 +32,10 @@ importers: devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.25)(slonik@29.2.0) + version: 0.12.0(@types/node@20.11.26)(slonik@29.2.0) '@types/node': - specifier: 20.11.25 - version: 20.11.25 + specifier: 20.11.26 + version: 20.11.26 '@vitest/coverage-v8': specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) @@ -59,7 +59,7 @@ importers: version: 5.4.2 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.25) + version: 1.3.1(@types/node@20.11.26) apps/main: dependencies: @@ -753,7 +753,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.25): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.26): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -761,7 +761,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -770,7 +770,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.25): + /@rushstack/terminal@0.10.0(@types/node@20.11.26): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -778,15 +778,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.25) - '@types/node': 20.11.25 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.26) + '@types/node': 20.11.26 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.25): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.26): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.25) + '@rushstack/terminal': 0.10.0(@types/node@20.11.26) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -847,14 +847,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.25)(slonik@29.2.0): + /@slonik/migrator@0.12.0(@types/node@20.11.26)(slonik@29.2.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.25) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.26) slonik: 29.2.0 - umzug: 3.7.0(@types/node@20.11.25) + umzug: 3.7.0(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' dev: true @@ -871,15 +871,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.25: - resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} + /@types/node@20.11.26: + resolution: {integrity: sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 pg-protocol: 1.6.0 pg-types: 4.0.2 dev: false @@ -906,7 +906,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.25) + vitest: 1.3.1(@types/node@20.11.26) transitivePeerDependencies: - supports-color dev: true @@ -3374,11 +3374,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.25): + /umzug@3.7.0(@types/node@20.11.26): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.25) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.26) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3434,7 +3434,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.3.1(@types/node@20.11.25): + /vite-node@1.3.1(@types/node@20.11.26): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3443,7 +3443,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.25) + vite: 5.1.4(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' - less @@ -3455,7 +3455,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.25): + /vite@5.1.4(@types/node@20.11.26): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3483,7 +3483,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -3491,7 +3491,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.25): + /vitest@1.3.1(@types/node@20.11.26): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3516,7 +3516,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.25 + '@types/node': 20.11.26 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -3534,8 +3534,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.25) - vite-node: 1.3.1(@types/node@20.11.25) + vite: 5.1.4(@types/node@20.11.26) + vite-node: 1.3.1(@types/node@20.11.26) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 227648ae82d0efc581dc904171ad8ad4e15f4424 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Mar 2024 08:34:42 +0000 Subject: [PATCH 203/452] Update dependency slonik to v37.3.0 (#1797) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 164 ++++--------------------------------------------- 1 file changed, 12 insertions(+), 152 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f955e8ac8..0e6d6d8b4 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,14 +25,14 @@ importers: version: 7.106.1 slonik: specifier: '29' - version: 29.2.0 + version: 37.3.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.26)(slonik@29.2.0) + version: 0.12.0(@types/node@20.11.26)(slonik@37.3.0) '@types/node': specifier: 20.11.26 version: 20.11.26 @@ -80,7 +80,7 @@ importers: version: 7.106.1 slonik: specifier: ^37.2.0 - version: 37.2.0(zod@3.22.4) + version: 37.3.0(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -847,13 +847,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.26)(slonik@29.2.0): + /@slonik/migrator@0.12.0(@types/node@20.11.26)(slonik@37.3.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.26) - slonik: 29.2.0 + slonik: 37.3.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.26) transitivePeerDependencies: - '@types/node' @@ -882,7 +882,6 @@ packages: '@types/node': 20.11.26 pg-protocol: 1.6.0 pg-types: 4.0.2 - dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1111,9 +1110,7 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1131,9 +1128,6 @@ packages: balanced-match: 1.0.2 dev: true - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer-writer@2.0.0: resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} engines: {node: '>=4'} @@ -1143,6 +1137,7 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -1151,10 +1146,6 @@ packages: ieee754: 1.2.1 dev: false - /bufferput@0.1.3: - resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} - engines: {node: '>=0.3.0'} - /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -1251,15 +1242,6 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true @@ -1643,6 +1625,7 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false /fast-uri@2.3.0: resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} @@ -1799,19 +1782,11 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-stack-trace@2.1.1: - resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} - engines: {node: '>=8.0'} - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - /get-stack-trace@3.1.1: resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} engines: {node: '>=18.0'} dependencies: stacktrace-parser: 0.1.10 - dev: false /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} @@ -1904,12 +1879,6 @@ packages: engines: {node: '>=16.17.0'} dev: true - /hyperid@2.3.1: - resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1946,10 +1915,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /int64-buffer@0.99.1007: - resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} - engines: {node: '>= 4.5.0'} - /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1994,10 +1959,6 @@ packages: engines: {node: '>=8'} dev: true - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2202,9 +2163,6 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -2311,9 +2269,6 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /multi-fork@0.0.2: - resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2473,10 +2428,6 @@ packages: wcwidth: 1.0.1 dev: true - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2548,21 +2499,6 @@ packages: /pg-connection-string@2.6.2: resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - /pg-copy-streams-binary@2.2.0: - resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} - dependencies: - obuf: 1.1.2 - /pg-cursor@2.10.3(pg@8.11.3): resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} peerDependencies: @@ -2577,7 +2513,6 @@ packages: /pg-numeric@1.0.2: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} - dev: false /pg-pool@3.6.1(pg@8.11.3): resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} @@ -2596,7 +2531,6 @@ packages: dependencies: pg: 8.11.3 pg-cursor: 2.10.3(pg@8.11.3) - dev: false /pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -2619,7 +2553,6 @@ packages: postgres-date: 2.1.0 postgres-interval: 3.0.0 postgres-range: 1.1.4 - dev: false /pg@8.11.3: resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} @@ -2736,7 +2669,6 @@ packages: engines: {node: '>= 6'} dependencies: obuf: 1.1.2 - dev: false /postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} @@ -2745,7 +2677,6 @@ packages: /postgres-date@2.1.0: resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} engines: {node: '>=12'} - dev: false /postgres-interval@1.2.0: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} @@ -2756,7 +2687,6 @@ packages: /postgres-interval@3.0.0: resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} engines: {node: '>=12'} - dev: false /postgres-interval@4.0.2: resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} @@ -2764,7 +2694,6 @@ packages: /postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: false /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2848,6 +2777,7 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + dev: true /readable-stream@4.5.2: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} @@ -3037,33 +2967,8 @@ packages: engines: {node: '>=14'} dev: true - /slonik@29.2.0: - resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} - engines: {node: '>=10.0'} - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - - /slonik@37.2.0(zod@3.22.4): - resolution: {integrity: sha512-G4giLtT+PWrHJcjhNrYZpQmDNb4aehugP8IF6MYHAvP39ewGb+EdBaB94MUwPqU9+nu9aNEFLLpy1y2tyHNb4w==} + /slonik@37.3.0(zod@3.22.4): + resolution: {integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==} engines: {node: '>=18'} peerDependencies: zod: ^3 @@ -3084,7 +2989,6 @@ packages: zod: 3.22.4 transitivePeerDependencies: - pg-native - dev: false /sonic-boom@3.8.0: resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} @@ -3102,12 +3006,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3125,7 +3023,6 @@ packages: engines: {node: '>=6'} dependencies: type-fest: 0.7.1 - dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -3249,17 +3146,6 @@ packages: real-require: 0.2.0 dev: false - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -3298,11 +3184,6 @@ packages: engines: {node: '>=0.6'} dev: false - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -3346,7 +3227,6 @@ packages: /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - dev: false /type-fest@4.10.3: resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} @@ -3361,9 +3241,6 @@ packages: mime-types: 2.1.35 dev: false - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -3407,13 +3284,7 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true + dev: true /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} @@ -3553,16 +3424,6 @@ packages: defaults: 1.0.4 dev: true - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3646,4 +3507,3 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false From daea33be47ca967d433e2b05659ee8bbdd4c14e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 12 Mar 2024 18:22:43 +0000 Subject: [PATCH 204/452] Update github/codeql-action digest to 3ab4101 --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8c460361b..3cff55f57 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 + uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 + uses: github/codeql-action/autobuild@3ab4101902695724f9365a384f86c1074d94e18c # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@8a470fddafa5cbb6266ee11b37ef4d8aae19c571 # v3 + uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3 From 315aad08c6ed307e65fd3b5d17ff24e8ab17cf27 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 12 Mar 2024 20:56:42 -0400 Subject: [PATCH 205/452] Add nx.json --- .gitignore | 3 +++ nx.json | 18 ++++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 nx.json diff --git a/.gitignore b/.gitignore index f4862d4d2..23fdac379 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,6 @@ build *.tar packages/**/*.js package-lock.json + + +.nx/cache \ No newline at end of file diff --git a/nx.json b/nx.json new file mode 100644 index 000000000..bcff99482 --- /dev/null +++ b/nx.json @@ -0,0 +1,18 @@ +{ + "$schema": "./node_modules/nx/schemas/nx-schema.json", + "targetDefaults": { + "build": { + "dependsOn": [ + "^build" + ], + "outputs": [ + "{projectRoot}/dist" + ], + "cache": true + }, + "test": { + "cache": true + } + }, + "defaultBase": "main" +} From 820c439cde2d8aa596f56d5b154ff7c881d48309 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 12 Mar 2024 21:03:43 -0400 Subject: [PATCH 206/452] Add newline --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 23fdac379..b81d00b59 100644 --- a/.gitignore +++ b/.gitignore @@ -14,4 +14,4 @@ packages/**/*.js package-lock.json -.nx/cache \ No newline at end of file +.nx/cache From e954f20ee5c621e94793fc34c9a99ce1873ba79b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Tue, 12 Mar 2024 21:05:33 -0400 Subject: [PATCH 207/452] Remove .nx files from repo --- .nx/cache/file-map.json | 1357 --------- .nx/cache/lockfile.hash | 1 - .nx/cache/nx_files.nxt | Bin 30332 -> 0 bytes .nx/cache/parsed-lock-file.json | 4715 ---------------------------- .nx/cache/project-graph.json | 5069 ------------------------------- .nx/cache/run.json | 21 - 6 files changed, 11163 deletions(-) delete mode 100644 .nx/cache/file-map.json delete mode 100644 .nx/cache/lockfile.hash delete mode 100644 .nx/cache/nx_files.nxt delete mode 100644 .nx/cache/parsed-lock-file.json delete mode 100644 .nx/cache/project-graph.json delete mode 100644 .nx/cache/run.json diff --git a/.nx/cache/file-map.json b/.nx/cache/file-map.json deleted file mode 100644 index 1446e7b84..000000000 --- a/.nx/cache/file-map.json +++ /dev/null @@ -1,1357 +0,0 @@ -{ - "version": "6.0", - "nxVersion": "18.0.6", - "deps": { - "slonik": "29", - "@slonik/migrator": "^0.12.0", - "@types/node": "^20.11.16", - "nx": "^18.0.6", - "prettier": "3.2.4", - "typescript": "^5.3.3", - "vitest": "^1.3.1" - }, - "pathMappings": {}, - "nxJsonPlugins": [], - "fileMap": { - "projectFileMap": { - "@rusty-motors/thebeast": [ - { - "file": "thebeast/.dockerignore", - "hash": "5025141916944003883" - }, - { - "file": "thebeast/.gitignore", - "hash": "9266369700550161410" - }, - { - "file": "thebeast/Makefile", - "hash": "10938361408484256462" - }, - { - "file": "thebeast/README.md", - "hash": "9375829152669321394" - }, - { - "file": "thebeast/data/mcouniverse.cnf", - "hash": "123910987430207258" - }, - { - "file": "thebeast/data/mcouniverse.crt", - "hash": "1191634416628667447" - }, - { - "file": "thebeast/data/private_key.pem", - "hash": "9606433185746498366" - }, - { - "file": "thebeast/data/pub.key", - "hash": "17902127655719005979" - }, - { - "file": "thebeast/docs/client.md", - "hash": "15727718581905962847" - }, - { - "file": "thebeast/docs/flow.md", - "hash": "7787831704472350830" - }, - { - "file": "thebeast/docs/reference/export.psql", - "hash": "17578199974330833246" - }, - { - "file": "thebeast/docs/reference/pkware/Makefile", - "hash": "15053509190642345172" - }, - { - "file": "thebeast/docs/reference/pkware/PKWare.vcxproj", - "hash": "9435899160320819569" - }, - { - "file": "thebeast/docs/reference/pkware/PKWare.vcxproj.filters", - "hash": "13468170418349436350" - }, - { - "file": "thebeast/docs/reference/pkware/Pkware.dsp", - "hash": "1391784609212882792" - }, - { - "file": "thebeast/docs/reference/pkware/Readme.md", - "hash": "4425732291975278011" - }, - { - "file": "thebeast/docs/reference/pkware/explode.cpp", - "hash": "18395085193875004087" - }, - { - "file": "thebeast/docs/reference/pkware/implode.cpp", - "hash": "7393854153648314614" - }, - { - "file": "thebeast/docs/reference/pkware/pkware.h", - "hash": "13921447420677982317" - }, - { - "file": "thebeast/docs/server.md", - "hash": "9579366762840847861" - }, - { - "file": "thebeast/docs/technicial/README.md", - "hash": "6957920249184620849" - }, - { - "file": "thebeast/docs/technicial/external_notes.md", - "hash": "10610467416209624836" - }, - { - "file": "thebeast/docs/technicial/internal_notes.md", - "hash": "5300025178613305298" - }, - { - "file": "thebeast/images/2012-10-12_lobby.png", - "hash": "1802333483553751171" - }, - { - "file": "thebeast/jsconfig-old.json", - "hash": "5852609677706475110" - }, - { - "file": "thebeast/lib/index.d.ts", - "hash": "3244421341483603138" - }, - { - "file": "thebeast/index.ts", - "hash": "7090739820004070559" - }, - { - "file": "thebeast/messageProcessors/getLobMiniRiffList.ts", - "hash": "1310426978404068664" - }, - { - "file": "thebeast/messageProcessors/getLobMiniUserList.ts", - "hash": "6532897472486871971" - }, - { - "file": "thebeast/messageProcessors/index.ts", - "hash": "3428272607749081350" - }, - { - "file": "thebeast/messageProcessors/lobbyCommands.ts", - "hash": "3067400189448550173" - }, - { - "file": "thebeast/messageProcessors/processCheckPlateText.ts", - "hash": "7116424182069654272" - }, - { - "file": "thebeast/messageProcessors/processCheckProfileName.ts", - "hash": "15692350762709805299" - }, - { - "file": "thebeast/messageProcessors/processCreateProfile.ts", - "hash": "17296605385109366503" - }, - { - "file": "thebeast/messageProcessors/processDeleteProfile.ts", - "hash": "8037003224882727444" - }, - { - "file": "thebeast/messageProcessors/processEncryptedGameCommand.ts", - "hash": "9864198487345188731" - }, - { - "file": "thebeast/messageProcessors/processGameLogin.ts", - "hash": "6848078763900836763" - }, - { - "file": "thebeast/messageProcessors/processGetFirstBuddy.ts", - "hash": "4317773952728428954" - }, - { - "file": "thebeast/messageProcessors/processGetProfileInfo.ts", - "hash": "234931470321227098" - }, - { - "file": "thebeast/messageProcessors/processGetProfileMaps.ts", - "hash": "10958544461981205728" - }, - { - "file": "thebeast/messageProcessors/processLobbyLogin.ts", - "hash": "17296351929681794078" - }, - { - "file": "thebeast/messageProcessors/processPing.ts", - "hash": "16270620732051920981" - }, - { - "file": "thebeast/messageProcessors/processUserLogin.ts", - "hash": "15428579812719676698" - }, - { - "file": "thebeast/messageStructs/GameMessage.ts", - "hash": "8854967129983057049" - }, - { - "file": "thebeast/messageStructs/GameProfile.ts", - "hash": "4848812249109328340" - }, - { - "file": "thebeast/messageStructs/MiniRiffList.ts", - "hash": "7155327144186990565" - }, - { - "file": "thebeast/messageStructs/MiniUserList.ts", - "hash": "17462825181538069545" - }, - { - "file": "thebeast/messageStructs/NPSList.ts", - "hash": "10119158781387584114" - }, - { - "file": "thebeast/messageStructs/ProfileList.ts", - "hash": "2527086496158874335" - }, - { - "file": "thebeast/messageStructs/SessionKey.ts", - "hash": "12762795724411796498" - }, - { - "file": "thebeast/messageStructs/UserAction.ts", - "hash": "579526865209158192" - }, - { - "file": "thebeast/messageStructs/UserInfo.ts", - "hash": "15823399554624038370" - }, - { - "file": "thebeast/messageStructs/UserStatus.ts", - "hash": "8429116003312465571" - }, - { - "file": "thebeast/services/account.ts", - "hash": "15589634688779153194" - }, - { - "file": "thebeast/services/profile.ts", - "hash": "8641993167559947549" - }, - { - "file": "thebeast/services/session.ts", - "hash": "2818149994021605356" - }, - { - "file": "thebeast/services/token.ts", - "hash": "7368387690796821995" - }, - { - "file": "thebeast/services/types.ts", - "hash": "9731723030948033474" - }, - { - "file": "thebeast/types.ts", - "hash": "14870268956472440757" - }, - { - "file": "thebeast/utils/pureCompare.ts", - "hash": "4258843400502292304" - }, - { - "file": "thebeast/utils/pureGet.ts", - "hash": "265682811551639654" - }, - { - "file": "thebeast/utils/purePut.ts", - "hash": "9440717771529078848" - }, - { - "file": "thebeast/misc/mco-installer.ps1", - "hash": "13519895526939924726" - }, - { - "file": "thebeast/misc/port-forward.ps1", - "hash": "2665506854599928164" - }, - { - "file": "thebeast/package.json", - "hash": "14226416099307832357", - "deps": [ - "npm:slonik", - "npm:tslib", - "npm:@types/node", - "npm:prettier", - "npm:typescript", - "npm:vitest" - ] - }, - { - "file": "thebeast/packages/cli/ConsoleThread.ts", - "hash": "1311000703834661758" - }, - { - "file": "thebeast/packages/core/src/serializationHelpers.test.ts", - "hash": "7375367383862286700" - }, - { - "file": "thebeast/packages/core/src/serializationHelpers.ts", - "hash": "17013848800848265656" - }, - { - "file": "thebeast/packages/database/src/DatabaseManager.ts", - "hash": "18219385929952374378" - }, - { - "file": "thebeast/packages/database/src/cache.ts", - "hash": "7882225308057049204" - }, - { - "file": "thebeast/packages/database/src/models/AttachmentPoint.ts", - "hash": "1243933141818742110" - }, - { - "file": "thebeast/packages/database/src/models/Brand.ts", - "hash": "16061208263295757044" - }, - { - "file": "thebeast/packages/database/src/models/BrandedPart.ts", - "hash": "5031921834567439497" - }, - { - "file": "thebeast/packages/database/src/models/Model.ts", - "hash": "9581311691702946170" - }, - { - "file": "thebeast/packages/database/src/models/Part.ts", - "hash": "3565147951075335222" - }, - { - "file": "thebeast/packages/database/src/models/VehiclePartTree.ts", - "hash": "3694860194416975564" - }, - { - "file": "thebeast/packages/database/src/services/admin.ts", - "hash": "12837464768298197841" - }, - { - "file": "thebeast/packages/database/src/services/database.ts", - "hash": "1491364016199264618" - }, - { - "file": "thebeast/packages/database/test/Database.test.ts", - "hash": "9913456368706932491" - }, - { - "file": "thebeast/packages/gateway/src/GatewayServer.ts", - "hash": "7460506973012740089" - }, - { - "file": "thebeast/packages/gateway/src/encryption.ts", - "hash": "17732081301264374343" - }, - { - "file": "thebeast/packages/gateway/src/index.ts", - "hash": "7316187040594714944" - }, - { - "file": "thebeast/packages/gateway/src/web.ts", - "hash": "10732081061832552206" - }, - { - "file": "thebeast/packages/gateway/test/encryption.test.ts", - "hash": "16713107242591571234" - }, - { - "file": "thebeast/packages/interfaces/index.d.ts", - "hash": "7048195495022320009" - }, - { - "file": "thebeast/packages/lobby/src/LoginInfoMessage.ts", - "hash": "1491492989245281008" - }, - { - "file": "thebeast/packages/lobby/src/MiniRiffMessage.js", - "hash": "11241013786033480948" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts", - "hash": "6432882401389896262" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts", - "hash": "13604791001102711879" - }, - { - "file": "thebeast/packages/lobby/src/NPS_LOBBY_COMMANDS.ts", - "hash": "2585815956597800195" - }, - { - "file": "thebeast/packages/lobby/src/UserInfoMessage.ts", - "hash": "1972085798168679604" - }, - { - "file": "thebeast/packages/lobby/src/handlers/_setMyUserData.ts", - "hash": "6051840652316367579" - }, - { - "file": "thebeast/packages/lobby/src/handlers/encryptedCommand.ts", - "hash": "6814520795311795350" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleGetMiniUserList.ts", - "hash": "13618102840919040981" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleSendMiniRiffList.ts", - "hash": "6445464099010382093" - }, - { - "file": "thebeast/packages/lobby/src/handlers/handleTrackingPing.ts", - "hash": "13045732364422345782" - }, - { - "file": "thebeast/packages/lobby/src/handlers/requestConnectGameServer.ts", - "hash": "10345121769205254033" - }, - { - "file": "thebeast/packages/lobby/src/internal.ts", - "hash": "924094160136413689" - }, - { - "file": "thebeast/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts", - "hash": "7238017438243772608" - }, - { - "file": "thebeast/packages/login/src/NPSUserStatus.ts", - "hash": "16875952085468026799" - }, - { - "file": "thebeast/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts", - "hash": "11705039232477007955" - }, - { - "file": "thebeast/packages/login/src/NPS_LOGIN_COMMANDS.ts", - "hash": "8159177475144579801" - }, - { - "file": "thebeast/packages/login/src/index.ts", - "hash": "3352871230665761711" - }, - { - "file": "thebeast/packages/login/src/internal.ts", - "hash": "17051275314422802076" - }, - { - "file": "thebeast/packages/login/src/premadeLogin.ts", - "hash": "12751300569295352555" - }, - { - "file": "thebeast/packages/login/test/LoginServer.test.ts", - "hash": "10565123972491562420" - }, - { - "file": "thebeast/packages/patch/src/PatchServer.ts", - "hash": "5601406865432369959" - }, - { - "file": "thebeast/packages/patch/test/PatchServer.test.ts", - "hash": "9472484405971191658" - }, - { - "file": "thebeast/packages/persona/src/BuddyInfoMessage.ts", - "hash": "957965795279503517" - }, - { - "file": "thebeast/packages/persona/src/PersonaMapsMessage.ts", - "hash": "341757047635540261" - }, - { - "file": "thebeast/packages/persona/src/_gameLogout.ts", - "hash": "4413858239163244230" - }, - { - "file": "thebeast/packages/persona/src/_getFirstBuddy.ts", - "hash": "1089323837474634693" - }, - { - "file": "thebeast/packages/persona/src/_selectGamePersona.ts", - "hash": "12129028808475062084" - }, - { - "file": "thebeast/packages/persona/src/getPersonasByPersonaId.ts", - "hash": "2932645466827174550" - }, - { - "file": "thebeast/packages/persona/src/handlers/validatePersonaName.ts", - "hash": "9671635701221334083" - }, - { - "file": "thebeast/packages/persona/src/index.js", - "hash": "6701314932231100316" - }, - { - "file": "thebeast/packages/persona/src/internal.ts", - "hash": "829028668449652946" - }, - { - "file": "thebeast/packages/persona/test/getPersonasByPersonaId.test.ts", - "hash": "9820907297118538269" - }, - { - "file": "thebeast/packages/shard/README.md", - "hash": "1531493455043303254" - }, - { - "file": "thebeast/packages/shard/src/ShardServer.ts", - "hash": "15261759438768374095" - }, - { - "file": "thebeast/packages/shard/src/index.ts", - "hash": "13010640451471941546" - }, - { - "file": "thebeast/packages/shard/src/shard-entry.ts", - "hash": "9955457668046224603" - }, - { - "file": "thebeast/packages/shard/test/fixtures/testCert.txt", - "hash": "3488382365066730147" - }, - { - "file": "thebeast/packages/shard/test/fixtures/testKey.txt", - "hash": "5139740649930613032" - }, - { - "file": "thebeast/packages/shard/test/shard-entry.test.ts", - "hash": "15349928708796752740" - }, - { - "file": "thebeast/packages/shared/Configuration.ts", - "hash": "8829321556485713934" - }, - { - "file": "thebeast/packages/shared/MessageNode.ts", - "hash": "17276693369473084998" - }, - { - "file": "thebeast/packages/shared/NPSMessage.js", - "hash": "13501682524628691279" - }, - { - "file": "thebeast/packages/shared/RawMessageHeader.js", - "hash": "10963865330507911628" - }, - { - "file": "thebeast/packages/shared/ServerMessage.test.ts", - "hash": "16102656974041962895" - }, - { - "file": "thebeast/packages/shared/State.ts", - "hash": "16413030918793381960" - }, - { - "file": "thebeast/packages/shared/SubThread.ts", - "hash": "9558083630241453712" - }, - { - "file": "thebeast/packages/shared/TimeStamp.ts", - "hash": "9737425688522386934" - }, - { - "file": "thebeast/packages/shared/log.ts", - "hash": "12230422625076241246" - }, - { - "file": "thebeast/packages/shared/messageFactory.ts", - "hash": "12362226477158476067" - }, - { - "file": "thebeast/packages/shared/src/BaseSerialized.ts", - "hash": "3200216018340432971" - }, - { - "file": "thebeast/packages/shared/src/NetworkMessage.ts", - "hash": "7839562508523166106" - }, - { - "file": "thebeast/packages/shared/src/RawMessage.ts", - "hash": "16255637630635910786" - }, - { - "file": "thebeast/packages/shared/src/SerializedBuffer.ts", - "hash": "15948472476286257355" - }, - { - "file": "thebeast/packages/shared/src/ServerMessage.ts", - "hash": "6574435112867849842" - }, - { - "file": "thebeast/packages/shared/structs.ts", - "hash": "6770231010390025052" - }, - { - "file": "thebeast/packages/shared/test/BaseSerialized.test.ts", - "hash": "15299131819114596119" - }, - { - "file": "thebeast/packages/shared/test/RawMessage.test.ts", - "hash": "8286693699258480867" - }, - { - "file": "thebeast/packages/shared/test/SerializedBuffer.test.ts", - "hash": "3081602657626059918" - }, - { - "file": "thebeast/packages/shared/types.ts", - "hash": "535928383286824709" - }, - { - "file": "thebeast/packages/shared/utils.js", - "hash": "8783924261469526704" - }, - { - "file": "thebeast/packages/transactions/src/ArcadeCarMessage.ts", - "hash": "1773582845790193606" - }, - { - "file": "thebeast/packages/transactions/src/EntryFeePurseMessage.ts", - "hash": "12865710013307806250" - }, - { - "file": "thebeast/packages/transactions/src/GameUrlsMessage.ts", - "hash": "999393481421749419" - }, - { - "file": "thebeast/packages/transactions/src/GenericReplyMessage.ts", - "hash": "17393665821760014902" - }, - { - "file": "thebeast/packages/transactions/src/GenericRequestMessage.ts", - "hash": "1476539291742873525" - }, - { - "file": "thebeast/packages/transactions/src/LobbyMessage.ts", - "hash": "9275279296147412981" - }, - { - "file": "thebeast/packages/transactions/src/OwnedVehiclesMessage.ts", - "hash": "12611322433130965831" - }, - { - "file": "thebeast/packages/transactions/src/PartsAssemblyMessage.ts", - "hash": "9337882765741192461" - }, - { - "file": "thebeast/packages/transactions/src/PlayerInfoMessage.ts", - "hash": "17457203427256605541" - }, - { - "file": "thebeast/packages/transactions/src/PlayerPhysicalMessage.ts", - "hash": "17233708314723268553" - }, - { - "file": "thebeast/packages/transactions/src/PlayerRacingHistoryMessage.ts", - "hash": "3411298515975253648" - }, - { - "file": "thebeast/packages/transactions/src/StockCar.ts", - "hash": "9033181026794782742" - }, - { - "file": "thebeast/packages/transactions/src/StockCarInfoMessage.ts", - "hash": "12716928424449940315" - }, - { - "file": "thebeast/packages/transactions/src/TClientConnectMessage.ts", - "hash": "1029994440417875391" - }, - { - "file": "thebeast/packages/transactions/src/TLoginMessage.ts", - "hash": "1547853334393280436" - }, - { - "file": "thebeast/packages/transactions/src/TunablesMessage.ts", - "hash": "7572081379958230220" - }, - { - "file": "thebeast/packages/transactions/src/_getArcadeCarInfo.ts", - "hash": "9147233676983020197" - }, - { - "file": "thebeast/packages/transactions/src/_getGameUrls.ts", - "hash": "13806199189865848133" - }, - { - "file": "thebeast/packages/transactions/src/_getOwnedParts.ts", - "hash": "6120034434128383360" - }, - { - "file": "thebeast/packages/transactions/src/_getOwnedVehicles.ts", - "hash": "8014122057707114339" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerInfo.ts", - "hash": "2049330447129420507" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerPhysical.ts", - "hash": "4665813287151303980" - }, - { - "file": "thebeast/packages/transactions/src/_getPlayerRaceHistory.ts", - "hash": "15468679873388136350" - }, - { - "file": "thebeast/packages/transactions/src/_getStockCarInfo.ts", - "hash": "7330412046291037513" - }, - { - "file": "thebeast/packages/transactions/src/_getTunables.ts", - "hash": "14577701050798876356" - }, - { - "file": "thebeast/packages/transactions/src/_logout.ts", - "hash": "9326370515488996681" - }, - { - "file": "thebeast/packages/transactions/src/_setOptions.ts", - "hash": "17891130601292919415" - }, - { - "file": "thebeast/packages/transactions/src/_updatePlayerPhysical.ts", - "hash": "3621658960673827879" - }, - { - "file": "thebeast/packages/transactions/src/clientConnect.ts", - "hash": "4753781919323379200" - }, - { - "file": "thebeast/packages/transactions/src/getLobbies.ts", - "hash": "1635802012173364044" - }, - { - "file": "thebeast/packages/transactions/src/internal.ts", - "hash": "18056856701207797701" - }, - { - "file": "thebeast/packages/transactions/src/login.ts", - "hash": "13916657415816829357" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers.ts", - "hash": "17675335383936088077" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts", - "hash": "11719113978455546525" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts", - "hash": "1110763732248536929" - }, - { - "file": "thebeast/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts", - "hash": "7008175338125684800" - }, - { - "file": "thebeast/packages/transactions/src/messageStructs/CarInfoMessage.ts", - "hash": "11588892827801367784" - }, - { - "file": "thebeast/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts", - "hash": "6042678730710153460" - }, - { - "file": "thebeast/packages/transactions/src/models/PartModel.ts", - "hash": "279048933881245059" - }, - { - "file": "thebeast/packages/transactions/src/models/VehicleModel.ts", - "hash": "10410711501338596885" - }, - { - "file": "thebeast/packages/transactions/src/models/index.ts", - "hash": "6744656081485672062" - }, - { - "file": "thebeast/packages/transactions/src/services/car.ts", - "hash": "5354739902865390909" - }, - { - "file": "thebeast/packages/transactions/src/trackingPing.ts", - "hash": "5801261250436147890" - }, - { - "file": "thebeast/packages/transactions/test/LobbyMessage.test.ts", - "hash": "17151793148726225817" - }, - { - "file": "thebeast/packages/transactions/test/OwnedVehiclesMessage.test.ts", - "hash": "9910063872974964539" - }, - { - "file": "thebeast/packages/transactions/test/PartsAssemblyMessage.test.ts", - "hash": "5589125118605356726" - }, - { - "file": "thebeast/packages/transactions/test/PlayerInfoMessage.test.ts", - "hash": "13084190344885027414" - }, - { - "file": "thebeast/packages/transactions/test/PlayerRacingHistoryMessage.test.ts", - "hash": "17745193897863435478" - }, - { - "file": "thebeast/packages/transactions/test/TClientConnectMessage.test.ts", - "hash": "17512883184623947196" - }, - { - "file": "thebeast/packages/transactions/test/_getPlayerRaceHistory.test.ts", - "hash": "10264681368827451529" - }, - { - "file": "thebeast/packages/transactions/test/clientConnect.test.ts", - "hash": "11146258957640552144" - }, - { - "file": "thebeast/packages/transactions/test/getLobbies.test.ts", - "hash": "7414349835896295947" - }, - { - "file": "thebeast/packages/transactions/test/trackingPing.test.ts", - "hash": "4783477714246278233" - }, - { - "file": "thebeast/packages/transactions/types.ts", - "hash": "1206433166808545647" - }, - { - "file": "thebeast/prettierrc", - "hash": "10593956658062165815" - }, - { - "file": "thebeast/server.ts", - "hash": "3370460044543449901" - }, - { - "file": "thebeast/services/sslProxy/Dockerfile", - "hash": "10918860478215206535" - }, - { - "file": "thebeast/services/sslProxy/cert1.pem", - "hash": "6627038978586248096" - }, - { - "file": "thebeast/services/sslProxy/chain1.pem", - "hash": "12404381617006411899" - }, - { - "file": "thebeast/services/sslProxy/fullchain1.pem", - "hash": "2141058919244833389" - }, - { - "file": "thebeast/services/sslProxy/mcouniverse.pem", - "hash": "17468020595415841035" - }, - { - "file": "thebeast/services/sslProxy/nginx.conf", - "hash": "10189008900899018902" - }, - { - "file": "thebeast/services/sslProxy/private_key.pem", - "hash": "14828305855260596309" - }, - { - "file": "thebeast/services/sslProxy/privkey1.pem", - "hash": "896251991278574722" - }, - { - "file": "thebeast/test/factoryMocks.ts", - "hash": "14506167869364755911" - } - ], - "shared-packets": [ - { - "file": "packages/shared-packets/.gitignore", - "hash": "2110945332964774953" - }, - { - "file": "packages/shared-packets/index.ts", - "hash": "14112979670253156991" - }, - { - "file": "packages/shared-packets/nx", - "hash": "17165975525224888679" - }, - { - "file": "packages/shared-packets/nx.bat", - "hash": "16828809655253213278" - }, - { - "file": "packages/shared-packets/nx.json", - "hash": "1702674655394002529" - }, - { - "file": "packages/shared-packets/package.json", - "hash": "5616656973328790161" - }, - { - "file": "packages/shared-packets/src/BasePacket.ts", - "hash": "3372102292134029617" - }, - { - "file": "packages/shared-packets/src/GameMessage.ts", - "hash": "5403072432092632987" - }, - { - "file": "packages/shared-packets/src/ServerMessage.ts", - "hash": "10109509774501235701" - }, - { - "file": "packages/shared-packets/src/interfaces.ts", - "hash": "14223115322489433218" - }, - { - "file": "packages/shared-packets/tsconfig.json", - "hash": "12244550166806554632" - } - ] - }, - "nonProjectFiles": [ - { - "file": ".editorconfig", - "hash": "3513138753717310681" - }, - { - "file": ".eslintignore", - "hash": "12850352444786700516" - }, - { - "file": ".eslintrc.json", - "hash": "7384546438645336841" - }, - { - "file": ".gitattributes", - "hash": "831515780835031949" - }, - { - "file": ".github/CODEOWNERS", - "hash": "4055606894390288348" - }, - { - "file": ".github/ISSUE_TEMPLATE/bug_report.md", - "hash": "115617464785463818" - }, - { - "file": ".github/ISSUE_TEMPLATE/custom.md", - "hash": "5858363058901041211" - }, - { - "file": ".github/ISSUE_TEMPLATE/feature_request.md", - "hash": "8357138721755086969" - }, - { - "file": ".github/codecov.yml", - "hash": "11950616182529543795" - }, - { - "file": ".github/stale.yml", - "hash": "4152159448353798214" - }, - { - "file": ".github/workflows/codeql-analysis.yml", - "hash": "1830329638506090042" - }, - { - "file": ".github/workflows/main.yml", - "hash": "9445417414588131479" - }, - { - "file": ".github/workflows/node.yml", - "hash": "10434255733421760826" - }, - { - "file": ".github/workflows/semgrep.yml", - "hash": "5733547883025944860" - }, - { - "file": ".gitignore", - "hash": "6056045085944084065" - }, - { - "file": ".nvmrc", - "hash": "3150325407466604411" - }, - { - "file": ".renovaterc.json", - "hash": "1033688734383078772" - }, - { - "file": ".yarnrc.yml", - "hash": "9773565372686775399" - }, - { - "file": "AUTHORS", - "hash": "9088802071802449084" - }, - { - "file": "CHANGELOG.md", - "hash": "8150256992360586195" - }, - { - "file": "CODE_OF_CONDUCT.md", - "hash": "4459666008725275939" - }, - { - "file": "LICENSE", - "hash": "3436599895438545929" - }, - { - "file": "README.md", - "hash": "16855486448012672152" - }, - { - "file": "data/mcouniverse.cnf", - "hash": "123910987430207258" - }, - { - "file": "data/mcouniverse.crt", - "hash": "1191634416628667447" - }, - { - "file": "data/private_key.pem", - "hash": "9606433185746498366" - }, - { - "file": "data/pub.key", - "hash": "17902127655719005979" - }, - { - "file": "docker-compose.yml", - "hash": "15381317242857966620" - }, - { - "file": "ecosystem.config.js", - "hash": "16070110576719583910" - }, - { - "file": "migrate.ts", - "hash": "8808382917902489449" - }, - { - "file": "migrations/2024.02.11T13.01.48.attachmentPoint.sql", - "hash": "10542879087385480155" - }, - { - "file": "migrations/2024.02.11T13.19.25.brand.sql", - "hash": "7166282554027007473" - }, - { - "file": "migrations/2024.02.11T13.23.01.model.sql", - "hash": "16284802501309331487" - }, - { - "file": "migrations/2024.02.11T13.33.31.abstractPartType.sql", - "hash": "2058007122663114655" - }, - { - "file": "migrations/2024.02.11T13.38.39.partGrade.sql", - "hash": "5013091838467829893" - }, - { - "file": "migrations/2024.02.11T13.39.20.partType.sql", - "hash": "8379931834343123851" - }, - { - "file": "migrations/2024.02.11T13.40.36.brandedPart.sql", - "hash": "2022566303004781061" - }, - { - "file": "migrations/2024.02.11T13.41.55.part.sql", - "hash": "3845495707411982302" - }, - { - "file": "migrations/2024.02.11T13.45.10.driverClass.sql", - "hash": "13682220716441275837" - }, - { - "file": "migrations/2024.02.11T13.46.16.playerType.sql", - "hash": "12353712311522592461" - }, - { - "file": "migrations/2024.02.11T14.07.43.player.sql", - "hash": "875886506133949981" - }, - { - "file": "migrations/2024.02.11T14.22.15.skinType.sql", - "hash": "2682348850531002443" - }, - { - "file": "migrations/2024.02.11T14.23.13.ptSkin.sql", - "hash": "11237916534585402054" - }, - { - "file": "migrations/2024.02.11T14.24.06.vehicle.sql", - "hash": "10104535563766569225" - }, - { - "file": "migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql", - "hash": "12410409890279792396" - }, - { - "file": "migrations/2024.02.11T23.20.55.initialBrand.sql", - "hash": "11960951545379619417" - }, - { - "file": "migrations/2024.02.11T23.26.25.initialModel.sql", - "hash": "5783613339187009087" - }, - { - "file": "migrations/2024.02.11T23.27.19.initialAbstractPartType.sql", - "hash": "18053132905130228586" - }, - { - "file": "migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql", - "hash": "13015642188112396064" - }, - { - "file": "migrations/2024.02.11T23.28.36.initialAbstractPartType.sql", - "hash": "7268695905091225267" - }, - { - "file": "migrations/2024.02.11T23.29.19.initialBrandedPart.sql", - "hash": "9267672829227694399" - }, - { - "file": "migrations/2024.02.11T23.30.06.initialPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/2024.02.11T23.30.44.initialDriverClass.sql", - "hash": "10095515633216763662" - }, - { - "file": "migrations/2024.02.11T23.32.01.initialPlayerType.sql", - "hash": "15552921051283242617" - }, - { - "file": "migrations/2024.02.11T23.32.44.initialPlayer.sql", - "hash": "9392877988850498534" - }, - { - "file": "migrations/2024.02.13T03.00.46.createSVACarClass.sql", - "hash": "17768528275421623634" - }, - { - "file": "migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql", - "hash": "11575593377309025851" - }, - { - "file": "migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", - "hash": "16018889396571730258" - }, - { - "file": "migrations/2024.02.13T03.18.24.initialSVACarClass.sql", - "hash": "1119126884295576370" - }, - { - "file": "migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql", - "hash": "12497613429321718440" - }, - { - "file": "migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", - "hash": "11055287955635829612" - }, - { - "file": "migrations/2024.02.13T23.56.02.createStockAssembly.sql", - "hash": "15535898055453969128" - }, - { - "file": "migrations/2024.02.13T23.58.02.initialStockAssembly.sql", - "hash": "17939624101867247628" - }, - { - "file": "migrations/2024.02.15T00.21.44.initialSkinType.sql", - "hash": "5583146586029229843" - }, - { - "file": "migrations/2024.02.15T00.22.20.initialPTSkin.sql", - "hash": "4794038191543769023" - }, - { - "file": "migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql", - "hash": "1032763780903964996" - }, - { - "file": "migrations/down/2024.02.11T13.01.48.attachmentPoint.sql", - "hash": "873667697973178439" - }, - { - "file": "migrations/down/2024.02.11T13.19.25.brand.sql", - "hash": "10593386839204003560" - }, - { - "file": "migrations/down/2024.02.11T13.23.01.model.sql", - "hash": "5028242859244426798" - }, - { - "file": "migrations/down/2024.02.11T13.33.31.abstractPartType.sql", - "hash": "16959658196206863462" - }, - { - "file": "migrations/down/2024.02.11T13.38.39.partGrade.sql", - "hash": "577024430197782665" - }, - { - "file": "migrations/down/2024.02.11T13.39.20.partType.sql", - "hash": "13393313781605263691" - }, - { - "file": "migrations/down/2024.02.11T13.40.36.brandedPart.sql", - "hash": "15678787078187872458" - }, - { - "file": "migrations/down/2024.02.11T13.41.55.part.sql", - "hash": "10118447456617452799" - }, - { - "file": "migrations/down/2024.02.11T13.45.10.driverClass.sql", - "hash": "9782802780447855367" - }, - { - "file": "migrations/down/2024.02.11T13.46.16.playerType.sql", - "hash": "13483038754554998827" - }, - { - "file": "migrations/down/2024.02.11T14.07.43.player.sql", - "hash": "594397948219204133" - }, - { - "file": "migrations/down/2024.02.11T14.22.15.skinType.sql", - "hash": "11909935763772094128" - }, - { - "file": "migrations/down/2024.02.11T14.23.13.ptSkin.sql", - "hash": "2914371168788705190" - }, - { - "file": "migrations/down/2024.02.11T14.24.06.vehicle.sql", - "hash": "7270406692193771051" - }, - { - "file": "migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.20.55.initialBrand.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.26.25.initialModel.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.30.06.initialPart.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.30.44.initialDriverClass.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.32.01.initialPlayerType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.11T23.32.44.initialPlayer.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.00.46.createSVACarClass.sql", - "hash": "3141029809313864148" - }, - { - "file": "migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql", - "hash": "10189741708410336130" - }, - { - "file": "migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql", - "hash": "1345895125854916203" - }, - { - "file": "migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql", - "hash": "11194051327329992476" - }, - { - "file": "migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.13T23.56.02.createStockAssembly.sql", - "hash": "12531526038098023791" - }, - { - "file": "migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.15T00.21.44.initialSkinType.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.15T00.22.20.initialPTSkin.sql", - "hash": "4092638369037952978" - }, - { - "file": "migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql", - "hash": "13328527806503765938" - }, - { - "file": "package-lock.json", - "hash": "14705700139180693936" - }, - { - "file": "package.json", - "hash": "745516997042910599" - }, - { - "file": "pnpm-lock.yaml", - "hash": "9424596112271544027" - }, - { - "file": "pnpm-workspace.yaml", - "hash": "7577147420081313510" - }, - { - "file": "tsconfig.json", - "hash": "4450702441445365045" - }, - { - "file": "vite.config.ts", - "hash": "45197661840963346" - } - ] - } -} diff --git a/.nx/cache/lockfile.hash b/.nx/cache/lockfile.hash deleted file mode 100644 index ee62141c5..000000000 --- a/.nx/cache/lockfile.hash +++ /dev/null @@ -1 +0,0 @@ -6274434708536815590 \ No newline at end of file diff --git a/.nx/cache/nx_files.nxt b/.nx/cache/nx_files.nxt deleted file mode 100644 index 8257b42ff081677d046c640f8efdf01d4682467d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30332 zcmbWA3!G$Cedh-wA^{8$#Q=#<5Jji@KB{h2;cI$kdS;M$w9`GH#$>FnzB5xycXd-$ zJu|Ja86g|gNP;AaNeugm@v%YNjY&{YQ88j7@(_bTMCB3CM9d1SF1j1-{r>Jf=iXCQ zw|Zu`hw5|Bzt27Qod5Yhe*gbDw>W0an!{`Otnl*`E=-x!kEQ<0eE3P~`r8Rqp26o7 zKF{VOntr%Ed>X%0rj(VHUozLCx!1P6$`|lQ+uki1%VFJjHosnK+Nl0=bG?>QZPf1= z*8v}X4(lV@Q~89VP*(U=<)i*peus*Nnm!9zkN`4N%kze-jzs2=$^V!WO=EF~NzxuJ)YO81Mg<$V% znd^%v)i=dqwb9?_sHkq~^Hkb=F6N`Z>!)L`yOc|O4)W3X)4!%;*R}dw=5MxdE)QSI zFWa};yp8(r@zM1al>8+9yq$~RPpWGUzl-t@`KZlRhW1C4@8$F7rmnx~N8?ccAAp`x z(%&C8^^chHzf#(9aG5;Qw!a?2$N1d9$I?`Og8CN>O>?@H>o1x5S4?@ADb=^+=d0A8 zN%>EdS{L=B@;>U8FZXl(Z9Zy$qG|I0b+xrW4^l^u4*v@!KiPO6p`teG>rr$4Jxa9| z{rg<=lUzT>g=nhlSwH0BaYOqtQ(bhkwSeUs#$gosNEq z8=uPOX?&i}=XgFR^3m8&qU7iBGbnY-uTVal4>lrsHkV0xDi_b;W4k?#>oZLKg_LLV zIoY&*G1r>s+2-%M)_pIfemvLb7<$Q+`r8=Sfm0W)V(Jm))4A^?K6OKT73H|OR@=d! zP5f<(^Y>rl-rl}=CT?_lV{@&UvG!tjY(DOG8++r)&O(!`g-&;DF}<8@wfB~KT|Ww{ zUKDuMFz_mVJ@D!^zqGg2Ywc|>bmGXXL|(b#)hhLJ*{hYks50N$+iCP#3+?XM?83qJ zSl|Wak{6VGe>wol6Z$wsHQxzm`9M|7ESV6oBM&&(NSqt}>ebmOsZr#ZIKRJJwR z{IMer)B?XAGQ*(Gpu%c7tk#A*nOm5dSx$P`)r~vnwf8J+OF63^>eT=iRbgFJi>h^4 zCKm2nni)H9YHHWS?&*nblUv89C&p%$_U`V)iwm7zX@1uCE0JFHyMj{4cE5kd`Lc+$H4e_)RR?5|oE`nNA z3F{vJvgPRRYjon-wW`Ox?pXVfU-hF(y;`XRl^|d$Vqx~k(Q>>u?rmL|85q4E`d&GR z5UsL@wAP}i?8sOqtI@O{mb|D`_Dju9+~~#I<3ovLZC{$7i91vA#gZ=OA5SmRvE*RgoFdOfTF(s`;dXr`LD+pgb4695Bk)_YX1U7oKnpx__ z-CF2ZXjJoRVZ{qs!@4us>~V19y;AooUfmB6`KUUwGps2> zYOJXY-~a!zPH&iN#qHjPg?2k`_VR`FJwU+w4NKJJySv``WE0Hfs#kiaYJb-0t=Qyp-YdBD6HB zmT^8_JwoTh$l<||^n|5yrR001*?xb5k_QZfWhu*qR>G*7jbXrSSZN-x7F84s75B?! zpEY4gqFgtVS#;t(aVKs!q-5Y>63b^pxFNJSDMZ zs<+VGzo9Yco>}3jt`Q*S$T}K48pTwmJ+Bl5B}}T-yJ>5)3INRTpyn3#w%Uoy-aa`c ztT5GU^p+A|jjgM|3}mJpA-K4?+|Ol`%7I4as}aD?@?tNZ-LNn}FXN7vuK8tp0!D@C z9=|JI(NHXA$-3&q7ca5W#tcY|rtsV;4)QRke&AQ(m4`2ePvM3g8z*+}*tC1Yj_n(F zZJ0)PK?n6HihvtcY!~wh^En7;jm|7nDQ%eO=-J z?4rLQ@50Jhh9`Op`{Onfu7*(!Jp(&}uY}m@?ixBa7=PhaOJ#gb;<;ooVLPCrg4GE_ zY&S41=W4Q9w{ruNQ&szCd9fGY=?B)`0tQ4SpF#^F4fI z2vBvWJm|5QH?d2;o^I@7almTE#A-o~3n!N}3k6|S*;JqC$pbi*3ql4(1`F**VuD)j z+4vCB94Soj%k?n8lKLJN@CXjq^GoGg2?W$=?wbcUOfIzA3Hku?p~YwgdI4ZS7M-Op z;6oTV0bvRzj~c`n(Zg6F=1XbR2^VT8LKxt>qcTAkt|D~NU%?oTh{;x4i=7kW8@Ekh z`Rd>to($`wNYBTV42Yl;)0Ac!J+N&+UGY8m~I?K3saG|q52Q>f@08t=>h0J2y zyrT)e67P$QusX8dKun+%>rf9X`SY!M^?>AwV=fbc0Lyt^85o6*IgPWy_5moN4PzlL zi1)RcbFl)8IXxL5jgtD<)lgZ5s8(}5RsYhZAw#64H%pgxQ=Bcy7&wTq(anB@T?svp zKn4Ys&%>M73zo2NLW%XB9=(Q%VRtu`Q9D2=0lyNDQ zizFo=30aHnP#0bNH8vh61zL}AJQ3&u9)-dgh$PlU zI6|BU>r5}0cUG@pJbjbYur$Z%rFLUx&a8a}drGRK0ykdrHgma}{s|NfESyg~5>5R*#tRAjGbIDG@SR%nG@b z01ypa0>%nF=1ZE$gPw?)suIN!uT~Wl1;9d{m(3?bRo(6!@cqy-$-veDIoi@Ou+gUG?CgJ2ix(i(ZX(KKvJP)Hl9ar ztxC4BObQ2-k#QsIvd`~lJhD{jbh(b$mjwYC99rOyGUOyW$Tw6>lX>9H(<%wfd? ztfQ9YavoFVsaE=pNR49b6G-M`MTSS(H+f035d5yrTt00S4M@)8h~P*rBABj&?)Nz% z`C7l!a1yK8kYPVw2ZYF=e7}qf%LZeu=X{#~EDQr7D*D~lSWN7zS67~<4Bx=s1Q%f0 zth)i3A;4C4bPnx*kLh`_Irn8QO#53*Tg!x>s3YisghF)i6EQdqDhz#IhmN@voSY3QD% zxw+=PMys9ZC{Zz{ij<1@e4^q;aYlRp1O66S5OE>@f`T@=;{7NrTZu%d!x1 zROZ-p8-z6v!Nd2H-y_-OGEkbSTpbq5)>*Z>tT)^c~2xOpLL~|S@T#zyHw&(<# zCvbz%CR^T&A8tHEZhnsRr>y2=8YW5Ta7NmxAf{!hwHa0$iR|q%@knkW6#;O>s>^AO z$PQpzd^Q>~fHyb`89Ksf(uZV30Q+<*QJZg}#Te2vo0wJy3Vdo>5JZwW(A)5XbEc3)-o16l`t@(vu=Tu&?bBppw{08WzHy44 zfZ+nsz)~bl;5~BT&0wIZeKb;|QRzS$ugVr9OxPXtO*`Ot6t>|UyED`SaB(DJB*RXu zOR&v2wC_q1vS41B`H)x2^rta9pK5G?zt?`a0(N==v#mBBp|(}BrUglzBTSAIj8|G@ zo6W*t<%?M@c7O>o$@^fI3JhB6#1ng#*q&4etxbffqz*CZSP_y(SOW*{Ws)`|F~va* zzA9oj8B?HPDYXQ)iJJ@EJ54NtgtM=TU)>xU<^57yN;!EF?)?9!s7G+^dZeP(9Euo62armRJb0 zAEX!yyohxNS}C=l2(p?Z-Au}Iv*I{@28^9YVie*kyOU$xfyZ0GZd{W&FrsZB+%(ZO z=v_I((9L&cf|91Xj+7M_3PG~LW8h~%s{Cihjcgu83!5g+u&>x4mI6%$n$=m0q6otA z`ohL&tnvKfB%qotSXc=>#>CdE#t0>mfi^yr1=h|)Soa3zpW#Vt7&^BV9Mw{K%*1rS|4^wO0?#PG z&KKo!hdUZ^9J0PM2P#KRy1B5Kxdc#dYZ zvD4f^P6H%CVuRE&sE&=f@(8evzGEHT931Brgh{zm##e#I5qH`(Xr&wzdoHUZWyS6R z=*Ug*bi^qn-8DSwp}BMV!k7#hKd==kSkg+IN&??z_h();L!}!D#o~@Rjes1GY6W*- ztl0Dm^Sn;6NZ9e)M3Xp3gs(&xwuW6*7=o9`9zVJlgW9*)6KLWJ!n!E1Ypk-4)#(9v zE}gqdATLP@cY}Cz|GSqKu?um3E`Z*`^gxC3HDo);Z5Hhz4l#Q=aphTXLL>mw0K;rv z!+nz2VJ@x%DJ*kTq{Y+jvVY>p< zlPmfW&AL=BkwVrklHEacBMwvIf!Kk~M`Sy)xrr)Z4T&SN(V-;FM8)+{jzh-4g&bF_ zCzv-oQ=1w$MvP^~P7qn-kIEJmfgNLCw!1JFXU78Mc6p=%U*?VDt&GZ&Cswt1e;J6# zCI{XXcZJFjUOEwX_V^*0k}`iJ)&#-946kis@)kH7Lvjs!Agn@QfKro7 zB5RO~$6&_rouCNfMOI2e-{po8;)M(_J?2zXfPfzXky66jQ1peU6qxSggflXpJ@pjFH1BrqW z`vO()QfP{fn{iXo)DwZh4i1F>WFxc-fHmVE0Ul>PvoQ|CEN!Ja`=nq)^q;*NLSCIX z;8zD1$j-*Aqm5jyDh|;#a}@1x9Nx%W$xtJUUJ12|sg@30r0q(>4!k4$4Xmp=9ZLjth;Y%giq&F5_&PRnv0mz8BZ1~tHc=#1{jY}sl)L|gDUhEXK?yEs1CNHYDv;bEiAwTe_CR zm_%6#?SPaP=b5yfoGsWekZj{*4kddzxB~nnqt^%5&qaYA46#))-m=3^Rt4;)?G^$c zETxmB8KDSDJ(w)N*h2CF$R~Lt>xnZd0{nJ^BN1~M>Y{y{)J7>aL5f0|buwM#MeZ#PkZO7h!G<;3 zpt4ez1cz0fMj;gphuO#FyHEOCb+qw1~;&L4p3T5cL~yc@AN3ab{183 znS%g27)tV+tOPh3k+dE{@B8eyaQnp0DdZKW#%2)tPMwVb{w16^^6Ndeuly8jTlq)j zJBamAF`b0PN>n)-*2jxMzY8o`1>O{-`H-DXn-D|imU!%A)ufB=-)97M!94L4K16$!?@Bn5KP7R5 zKSnu8KPX6M*+vfMC=6VIu4KzUU_vYunj-f?%$yu%M37}HKpo22vGu8Q-&qH%2w|GP zv4Bw;!FdECUu?e2H4z~3+sKKf0nSmr0-cQ_MPykliYHCH1xtexfa2I|)T z@6X<>cFH|_R2~jG+v$q_;Fr>sh+Y!m=FUF5bx2`1$89#Dn>*vhImdOAnT1c}5EFCB zOElQxk^HiVgkU8DY0BLUzU~g5#vze9~l3BZZFHO^I*R!S1zt7CO90JuBBJ4MBO8;S?z1j7^Rii{pcx zBvJ5TdJ9!&@qlQk8rX(tDffvPk6n9a(1;GC=fH>r6$fc?sw8ssqLt%Vvrb%?>86qp zWd@+kgYuYU7L_A(mc|Lwb#A0D8J%Rm&?a7d!MrC&z%xz_sN=9l-wd=${khraAU?uM zfQHDbfR}LTS!W3s1u(%Pyue1(ki5LdrXuE+pu;c4vn}G0^rcXcimZ)x)R8-IhJzC` zez;6^q@H~ueb)z>JkEijTzz}${f_P^zk7ou5fKGT%l-h_HUe(f1Ul>$OjzYxXNYa^ z+<+csowRSpE=$IsY+6J5IHC8JHpTJe5-&36B7^tUv1P$dDF%M@h>0h;)A@c&IA->$ zHz=!VUtPgG0%zGS#6W_!Ibz7}SFS>%hnj6yIl~nEA^*&#Dq(|6ZEl0Cgyn%pYU+7D zItW5Q8BqpYCNX$^TM1!e|0>;uCOqQ3C!i5q$;y9#4~Kc0N1*m=7wiDZf+lC4b+S$` zf-zCfU^&{;FENQ>!>S!=XJR!sm$A}!(@o=m@620xBKv9$`w0fX`FDHze*b`P`04H|fbj14$_{{cxfory?*U!EDt z7HSp#*f%{8SvHz=;ERM8U(tg90W+<_n}RO~&>jnC?%Ay&(?D)LERba5>bkw;J8^g_ zAq5+0%G7E<9vk2sf6gY5!-F(GMYh<@y(l-Otx~oZ*#>2Ki%v%uGNJEmD5K#{!UDZl zg-ap3&za3(ZCq^hn){O1DJFF_Wp|p03ix&s?WA$mjiVtP?;5^&q%4>)mHjxjc}O-B zClX)4QT7OjyK$YV4NdSgq+t;t#DP36$0Tw|%2?UQhBT9}qf|DCw{}H;fgkL=611^v zi*b<+BM2NGi)#mxFD&WX72p^lFqe-qCpvKB=hLwU)EITgMW_4g1E*w&LOF1+_bEAM zikOo17#>aE1m!U@JeYi6M>fGOj-C!l=Ac9fJtu*3)fqi7n+-_5>&n0f7?r#tAs(@_ zNvMG;dAalt^kxGCrH1n1uvvn`SNdH?BV-4%T*AOtpY7pmws=dNuRlv>1Rf#z%tjoq zX5#XAPnBc%Zj9dV0!F7t@a%fy70K5-K=cN>9p-PYi+t(MJX>*F?e-{89lOCHZFq{X zke@r7$lGhh(I@hhiZOP z@%WQf893i+)|M3oXcDwlIi^D@5r>hDV3p4L^T4Jr`AOmcG76YQgbl!%d_CrxHP52_ z$;Vb!?z{VeSR|j%-%&q>^8Zl&+VdYu=zLe_nuiSC`)?~NZ~x#wC-ifnf7j6WJM?wX z&!DdUuc3S_{ASkw1=Q95EtK}TCF++`=eteUJV+TYd?0CmCiUy7tDh79d)|+}SNAsP z>Sq&l+s~`1|J2aC(Cs+Y-lwj9-cI?{v(kB;PW`v3tDnzM+HuyX_YD0BO52a-`w{Bu z=QsX(W#z4Z`d~J%Z$a1i&xLNs^8)I}Q&<1{C~ZGw>Sr4I^-g{#-*{ z&;6N0e<}6P8@l)Ly#H4~e-wH$9*55NpRW0J>Kaemp=(}e8u~R3UC(`kq2J-q)&FIN z{sV`u^}3O|#`&v%laJ>d>i3%V>l}Ir{pW^$5p>HpeRuN9sH>kpblR(*U55UChyJV3 z-)iU|b?BPs+o`L(oASBkblug@HHQAwzs;Ykb^nZ^*P+|>6@PvRUE}#p=yn~?rhX=M z(XVpob?Td`>$$f$bbaUZC8qtqQrh{x9QyU9{jdLBPS<$uG3_seZsl_w^y8?j|CrM1 zi`ILCp>p)m%JUOuJ-p*-t*#= zpIZ07q%Jgwn9lpi(ypGEye)b-qDN;@yn zH=6d>IrIqntfBu6rR|^ZLtgV<>gwka%5!U}-BbH(4gJJV|$ zdfr;<;^#g}YxkZ@{aorA=ewNtFQGnd=(jj@$^Sv>>hC^>F1fniv_JO7e4GLFzc=&} zbSvkQhsU97Jk!vve!YzPY1Bn;IrP)0uQT*(DebyTzjjgA`0sS+W$N!V^dC8N>HAI8 z)&JN{D=Y2irgA$@{X3@pF6g#@wLgQp`k$n<@>6ObnC~>#JWcdNPJ7A8E2yjg4^i5A zi4RRfztw3keR(%^_46G{tH0vs#|`~ypUTIh{=aPKr#kd!Lw^Fg)}`jqWtWbjuKqVs z+VN|AFEsRvoc59{-_S3nwBwP!>@xK0o%ZXXzsblvEU-RjF{94~z z4gDDoUE_NUy2k%%hc5a5nQ6b@p{xIwP}e;Eg3`*B{Lux5{&}bUi=bagUC;S9r@i=j zy=niv&*bA&KlhmSlMY?uIf1(R={a=q?G=XpVTUfg-fifQI`oau-%VZPKjG$l{Nm47 z4ShXyD~B4-lct{;hc5XkQP+6>z@ZDjZ8P+bIdrvOHuO(Ze$n7M-TyvAe}HmJnCgY* z^vZaBe-))&uaNpSL%*K#(zDa&J|Fre zhW-$x<%9J7ebm+eNuSH<9`!p+`w05}`%`-^JM&Z1erBNk3#qH0D+lP?sB4^`qqO7H zIvz6g#|GMel)Cyk;q&=;#OHereI0b$kL>6FGX1n1y2kl3>gwkTN^76xe|J&Wcz&Pq zN`o_xr`|E`|Af-&we;tpX@4iB<(r=SyQclIx8&oITz$&W&w_5-%bz}O=-VB-#(6Sz zjq|WW7k}!8ew{-Xe%nu7q}F^*{a(`8c;xf5gxa zI&|sX%c-mVhbV3Tn%9h>-{#PTL$0E(@qEjnKZp7ahW;p}U6+%f|D&Nl{U38aOHS@K z^l^v&D(F8p^d59Oobj|mh(4}9m zf^NqtJbxl}^?x4a%~z!MO6|@z^!-kIji*9g#iwo1ZU54*lc}r!H&R}BdCE`SU!|_{ zZIqTj!bO`*`wu&G>BXF(-#$RU+R%SNX`icgzmdAeFZ%bP>$&65ZF}k0>C{Dk zEv413XHb8+q0doTJ1@RfsB2#DqijBOZ(^5($1XJV&r;g{HU8f<^zTyI`Dz`nqps&Z z<<1<3KcD*7O#8E;yZ!vTq3?oj`w{<7p|0_~h4P7)=D2R0y81srX>tDeuIVj1c1|UE zfcHbUax4BfsH>lQC~g0;8&??mad+i(>Cxv6eGGc#-1NDc*N+T+x6{51{S4~r|D6t9 z{`Y+9TCb}qzy6}MpA)Gcpsw-%Eu~!-@&6J-f0)vaU;ST8UHu>P)f{gKr`=)b=Rmjf zl6?NVp|>3R2I!|!S3mD@=+f(5)HR+DP+EQ}ukkk1{)d!SPIf}S($JrIcm7nl64q z;j5Y`6l+Hp$1eucWmdAUOuf6g`ZPdRk?yEb+8_b{a$ zzx44#hJMPuD=R&d4-wz)gs%SAL$}WjsjnFNo1ojcPja%By4v@g_R`x?%%PtOeTllp`9+5=yYYLb{W16F{f|Tc zYeTO)blH<1n10^i(4|LbQdj?1QChhbpC_nmoVPjcwZC?WY5yaKuJPPp=%;-vACK(A z1JKpaHt5zbC@wyhy4K}@(_a15sH^=SIdtXm-fZZfbLi6F|77S-P}=@wpRY6YQ@`Cm zo^KiYghMaW{ut_d?jB0pkMO)_=zrm~UkCkl)HVJ)D6L#+Jnu5?SDf~m?Ke}?e^N(TO-m$Xs HIM@Fd*feL% diff --git a/.nx/cache/parsed-lock-file.json b/.nx/cache/parsed-lock-file.json deleted file mode 100644 index 3ba682b82..000000000 --- a/.nx/cache/parsed-lock-file.json +++ /dev/null @@ -1,4715 +0,0 @@ -{ - "externalNodes": { - "npm:@esbuild/aix-ppc64": { - "type": "npm", - "name": "npm:@esbuild/aix-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/aix-ppc64", - "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" - } - }, - "npm:@esbuild/android-arm64": { - "type": "npm", - "name": "npm:@esbuild/android-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm64", - "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" - } - }, - "npm:@esbuild/android-arm": { - "type": "npm", - "name": "npm:@esbuild/android-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm", - "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" - } - }, - "npm:@esbuild/android-x64": { - "type": "npm", - "name": "npm:@esbuild/android-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-x64", - "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" - } - }, - "npm:@esbuild/darwin-arm64": { - "type": "npm", - "name": "npm:@esbuild/darwin-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-arm64", - "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" - } - }, - "npm:@esbuild/darwin-x64": { - "type": "npm", - "name": "npm:@esbuild/darwin-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-x64", - "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" - } - }, - "npm:@esbuild/freebsd-arm64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-arm64", - "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" - } - }, - "npm:@esbuild/freebsd-x64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-x64", - "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" - } - }, - "npm:@esbuild/linux-arm64": { - "type": "npm", - "name": "npm:@esbuild/linux-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm64", - "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" - } - }, - "npm:@esbuild/linux-arm": { - "type": "npm", - "name": "npm:@esbuild/linux-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm", - "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" - } - }, - "npm:@esbuild/linux-ia32": { - "type": "npm", - "name": "npm:@esbuild/linux-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ia32", - "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" - } - }, - "npm:@esbuild/linux-loong64": { - "type": "npm", - "name": "npm:@esbuild/linux-loong64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-loong64", - "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" - } - }, - "npm:@esbuild/linux-mips64el": { - "type": "npm", - "name": "npm:@esbuild/linux-mips64el", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-mips64el", - "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" - } - }, - "npm:@esbuild/linux-ppc64": { - "type": "npm", - "name": "npm:@esbuild/linux-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ppc64", - "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" - } - }, - "npm:@esbuild/linux-riscv64": { - "type": "npm", - "name": "npm:@esbuild/linux-riscv64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-riscv64", - "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" - } - }, - "npm:@esbuild/linux-s390x": { - "type": "npm", - "name": "npm:@esbuild/linux-s390x", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-s390x", - "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" - } - }, - "npm:@esbuild/linux-x64": { - "type": "npm", - "name": "npm:@esbuild/linux-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-x64", - "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" - } - }, - "npm:@esbuild/netbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/netbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/netbsd-x64", - "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" - } - }, - "npm:@esbuild/openbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/openbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/openbsd-x64", - "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" - } - }, - "npm:@esbuild/sunos-x64": { - "type": "npm", - "name": "npm:@esbuild/sunos-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/sunos-x64", - "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" - } - }, - "npm:@esbuild/win32-arm64": { - "type": "npm", - "name": "npm:@esbuild/win32-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-arm64", - "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" - } - }, - "npm:@esbuild/win32-ia32": { - "type": "npm", - "name": "npm:@esbuild/win32-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-ia32", - "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" - } - }, - "npm:@esbuild/win32-x64": { - "type": "npm", - "name": "npm:@esbuild/win32-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-x64", - "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" - } - }, - "npm:@jest/schemas": { - "type": "npm", - "name": "npm:@jest/schemas", - "data": { - "version": "29.6.3", - "packageName": "@jest/schemas", - "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" - } - }, - "npm:@jridgewell/sourcemap-codec": { - "type": "npm", - "name": "npm:@jridgewell/sourcemap-codec", - "data": { - "version": "1.4.15", - "packageName": "@jridgewell/sourcemap-codec", - "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - } - }, - "npm:@nrwl/tao": { - "type": "npm", - "name": "npm:@nrwl/tao", - "data": { - "version": "18.0.6", - "packageName": "@nrwl/tao", - "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" - } - }, - "npm:@nx/nx-darwin-arm64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-arm64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-arm64", - "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" - } - }, - "npm:@nx/nx-darwin-x64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-x64", - "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" - } - }, - "npm:@nx/nx-freebsd-x64": { - "type": "npm", - "name": "npm:@nx/nx-freebsd-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-freebsd-x64", - "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" - } - }, - "npm:@nx/nx-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm-gnueabihf", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm-gnueabihf", - "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" - } - }, - "npm:@nx/nx-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-gnu", - "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" - } - }, - "npm:@nx/nx-linux-arm64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-musl", - "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" - } - }, - "npm:@nx/nx-linux-x64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-gnu", - "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" - } - }, - "npm:@nx/nx-linux-x64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-musl", - "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" - } - }, - "npm:@nx/nx-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-arm64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-arm64-msvc", - "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" - } - }, - "npm:@nx/nx-win32-x64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-x64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-x64-msvc", - "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" - } - }, - "npm:@rollup/rollup-android-arm-eabi": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm-eabi", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm-eabi", - "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" - } - }, - "npm:@rollup/rollup-android-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm64", - "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" - } - }, - "npm:@rollup/rollup-darwin-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-arm64", - "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" - } - }, - "npm:@rollup/rollup-darwin-x64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-x64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-x64", - "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" - } - }, - "npm:@rollup/rollup-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm-gnueabihf", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm-gnueabihf", - "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" - } - }, - "npm:@rollup/rollup-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-gnu", - "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" - } - }, - "npm:@rollup/rollup-linux-arm64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-musl", - "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" - } - }, - "npm:@rollup/rollup-linux-riscv64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-riscv64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-riscv64-gnu", - "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" - } - }, - "npm:@rollup/rollup-linux-x64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-gnu", - "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" - } - }, - "npm:@rollup/rollup-linux-x64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-musl", - "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" - } - }, - "npm:@rollup/rollup-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-arm64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-arm64-msvc", - "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" - } - }, - "npm:@rollup/rollup-win32-ia32-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-ia32-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-ia32-msvc", - "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" - } - }, - "npm:@rollup/rollup-win32-x64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-x64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-x64-msvc", - "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" - } - }, - "npm:@rushstack/node-core-library": { - "type": "npm", - "name": "npm:@rushstack/node-core-library", - "data": { - "version": "4.0.2", - "packageName": "@rushstack/node-core-library", - "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" - } - }, - "npm:@rushstack/terminal": { - "type": "npm", - "name": "npm:@rushstack/terminal", - "data": { - "version": "0.10.0", - "packageName": "@rushstack/terminal", - "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" - } - }, - "npm:@rushstack/ts-command-line": { - "type": "npm", - "name": "npm:@rushstack/ts-command-line", - "data": { - "version": "4.18.0", - "packageName": "@rushstack/ts-command-line", - "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" - } - }, - "npm:@sinclair/typebox": { - "type": "npm", - "name": "npm:@sinclair/typebox", - "data": { - "version": "0.27.8", - "packageName": "@sinclair/typebox", - "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - } - }, - "npm:@slonik/migrator": { - "type": "npm", - "name": "npm:@slonik/migrator", - "data": { - "version": "0.12.0", - "packageName": "@slonik/migrator", - "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" - } - }, - "npm:@types/argparse": { - "type": "npm", - "name": "npm:@types/argparse", - "data": { - "version": "1.0.38", - "packageName": "@types/argparse", - "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" - } - }, - "npm:@types/estree": { - "type": "npm", - "name": "npm:@types/estree", - "data": { - "version": "1.0.5", - "packageName": "@types/estree", - "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - } - }, - "npm:@types/node": { - "type": "npm", - "name": "npm:@types/node", - "data": { - "version": "20.11.24", - "packageName": "@types/node", - "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" - } - }, - "npm:@vitest/expect": { - "type": "npm", - "name": "npm:@vitest/expect", - "data": { - "version": "1.3.1", - "packageName": "@vitest/expect", - "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" - } - }, - "npm:@vitest/runner": { - "type": "npm", - "name": "npm:@vitest/runner", - "data": { - "version": "1.3.1", - "packageName": "@vitest/runner", - "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" - } - }, - "npm:@vitest/snapshot": { - "type": "npm", - "name": "npm:@vitest/snapshot", - "data": { - "version": "1.3.1", - "packageName": "@vitest/snapshot", - "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" - } - }, - "npm:@vitest/spy": { - "type": "npm", - "name": "npm:@vitest/spy", - "data": { - "version": "1.3.1", - "packageName": "@vitest/spy", - "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" - } - }, - "npm:@vitest/utils": { - "type": "npm", - "name": "npm:@vitest/utils", - "data": { - "version": "1.3.1", - "packageName": "@vitest/utils", - "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" - } - }, - "npm:@yarnpkg/lockfile": { - "type": "npm", - "name": "npm:@yarnpkg/lockfile", - "data": { - "version": "1.1.0", - "packageName": "@yarnpkg/lockfile", - "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - } - }, - "npm:@yarnpkg/parsers": { - "type": "npm", - "name": "npm:@yarnpkg/parsers", - "data": { - "version": "3.0.0-rc.46", - "packageName": "@yarnpkg/parsers", - "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" - } - }, - "npm:@zkochan/js-yaml": { - "type": "npm", - "name": "npm:@zkochan/js-yaml", - "data": { - "version": "0.0.6", - "packageName": "@zkochan/js-yaml", - "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" - } - }, - "npm:acorn-walk": { - "type": "npm", - "name": "npm:acorn-walk", - "data": { - "version": "8.3.2", - "packageName": "acorn-walk", - "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" - } - }, - "npm:acorn": { - "type": "npm", - "name": "npm:acorn", - "data": { - "version": "8.11.3", - "packageName": "acorn", - "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - } - }, - "npm:ansi-colors": { - "type": "npm", - "name": "npm:ansi-colors", - "data": { - "version": "4.1.3", - "packageName": "ansi-colors", - "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - } - }, - "npm:ansi-regex": { - "type": "npm", - "name": "npm:ansi-regex", - "data": { - "version": "5.0.1", - "packageName": "ansi-regex", - "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } - }, - "npm:ansi-styles": { - "type": "npm", - "name": "npm:ansi-styles", - "data": { - "version": "4.3.0", - "packageName": "ansi-styles", - "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - } - }, - "npm:ansi-styles@5.2.0": { - "type": "npm", - "name": "npm:ansi-styles@5.2.0", - "data": { - "version": "5.2.0", - "packageName": "ansi-styles", - "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - }, - "npm:argparse": { - "type": "npm", - "name": "npm:argparse", - "data": { - "version": "1.0.10", - "packageName": "argparse", - "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - } - }, - "npm:argparse@2.0.1": { - "type": "npm", - "name": "npm:argparse@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "argparse", - "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - }, - "npm:assertion-error": { - "type": "npm", - "name": "npm:assertion-error", - "data": { - "version": "1.1.0", - "packageName": "assertion-error", - "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - } - }, - "npm:asynckit": { - "type": "npm", - "name": "npm:asynckit", - "data": { - "version": "0.4.0", - "packageName": "asynckit", - "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - } - }, - "npm:axios": { - "type": "npm", - "name": "npm:axios", - "data": { - "version": "1.6.7", - "packageName": "axios", - "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" - } - }, - "npm:balanced-match": { - "type": "npm", - "name": "npm:balanced-match", - "data": { - "version": "1.0.2", - "packageName": "balanced-match", - "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - } - }, - "npm:base64-js": { - "type": "npm", - "name": "npm:base64-js", - "data": { - "version": "1.5.1", - "packageName": "base64-js", - "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - } - }, - "npm:bl": { - "type": "npm", - "name": "npm:bl", - "data": { - "version": "4.1.0", - "packageName": "bl", - "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - } - }, - "npm:bluebird": { - "type": "npm", - "name": "npm:bluebird", - "data": { - "version": "3.7.2", - "packageName": "bluebird", - "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - } - }, - "npm:boolean": { - "type": "npm", - "name": "npm:boolean", - "data": { - "version": "3.2.0", - "packageName": "boolean", - "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - } - }, - "npm:brace-expansion": { - "type": "npm", - "name": "npm:brace-expansion", - "data": { - "version": "2.0.1", - "packageName": "brace-expansion", - "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - } - }, - "npm:buffer-from": { - "type": "npm", - "name": "npm:buffer-from", - "data": { - "version": "1.1.2", - "packageName": "buffer-from", - "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - } - }, - "npm:buffer-writer": { - "type": "npm", - "name": "npm:buffer-writer", - "data": { - "version": "2.0.0", - "packageName": "buffer-writer", - "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" - } - }, - "npm:buffer": { - "type": "npm", - "name": "npm:buffer", - "data": { - "version": "5.7.1", - "packageName": "buffer", - "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - } - }, - "npm:bufferput": { - "type": "npm", - "name": "npm:bufferput", - "data": { - "version": "0.1.3", - "packageName": "bufferput", - "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" - } - }, - "npm:cac": { - "type": "npm", - "name": "npm:cac", - "data": { - "version": "6.7.14", - "packageName": "cac", - "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" - } - }, - "npm:chai": { - "type": "npm", - "name": "npm:chai", - "data": { - "version": "4.4.1", - "packageName": "chai", - "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" - } - }, - "npm:chalk": { - "type": "npm", - "name": "npm:chalk", - "data": { - "version": "4.1.2", - "packageName": "chalk", - "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - } - }, - "npm:check-error": { - "type": "npm", - "name": "npm:check-error", - "data": { - "version": "1.0.3", - "packageName": "check-error", - "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" - } - }, - "npm:cli-cursor": { - "type": "npm", - "name": "npm:cli-cursor", - "data": { - "version": "3.1.0", - "packageName": "cli-cursor", - "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - } - }, - "npm:cli-spinners": { - "type": "npm", - "name": "npm:cli-spinners", - "data": { - "version": "2.6.1", - "packageName": "cli-spinners", - "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - } - }, - "npm:cliui": { - "type": "npm", - "name": "npm:cliui", - "data": { - "version": "8.0.1", - "packageName": "cliui", - "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - } - }, - "npm:clone": { - "type": "npm", - "name": "npm:clone", - "data": { - "version": "1.0.4", - "packageName": "clone", - "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - } - }, - "npm:color-convert": { - "type": "npm", - "name": "npm:color-convert", - "data": { - "version": "2.0.1", - "packageName": "color-convert", - "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - } - }, - "npm:color-name": { - "type": "npm", - "name": "npm:color-name", - "data": { - "version": "1.1.4", - "packageName": "color-name", - "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - }, - "npm:combined-stream": { - "type": "npm", - "name": "npm:combined-stream", - "data": { - "version": "1.0.8", - "packageName": "combined-stream", - "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - } - }, - "npm:commander": { - "type": "npm", - "name": "npm:commander", - "data": { - "version": "9.5.0", - "packageName": "commander", - "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - } - }, - "npm:concat-stream": { - "type": "npm", - "name": "npm:concat-stream", - "data": { - "version": "2.0.0", - "packageName": "concat-stream", - "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - } - }, - "npm:cross-spawn": { - "type": "npm", - "name": "npm:cross-spawn", - "data": { - "version": "7.0.3", - "packageName": "cross-spawn", - "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - } - }, - "npm:debug": { - "type": "npm", - "name": "npm:debug", - "data": { - "version": "4.3.4", - "packageName": "debug", - "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - } - }, - "npm:deep-eql": { - "type": "npm", - "name": "npm:deep-eql", - "data": { - "version": "4.1.3", - "packageName": "deep-eql", - "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" - } - }, - "npm:defaults": { - "type": "npm", - "name": "npm:defaults", - "data": { - "version": "1.0.4", - "packageName": "defaults", - "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" - } - }, - "npm:define-lazy-prop": { - "type": "npm", - "name": "npm:define-lazy-prop", - "data": { - "version": "2.0.0", - "packageName": "define-lazy-prop", - "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - } - }, - "npm:delayed-stream": { - "type": "npm", - "name": "npm:delayed-stream", - "data": { - "version": "1.0.0", - "packageName": "delayed-stream", - "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - } - }, - "npm:diff-sequences": { - "type": "npm", - "name": "npm:diff-sequences", - "data": { - "version": "29.6.3", - "packageName": "diff-sequences", - "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" - } - }, - "npm:dotenv-expand": { - "type": "npm", - "name": "npm:dotenv-expand", - "data": { - "version": "10.0.0", - "packageName": "dotenv-expand", - "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" - } - }, - "npm:dotenv": { - "type": "npm", - "name": "npm:dotenv", - "data": { - "version": "16.3.2", - "packageName": "dotenv", - "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" - } - }, - "npm:duplexer": { - "type": "npm", - "name": "npm:duplexer", - "data": { - "version": "0.1.2", - "packageName": "duplexer", - "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - } - }, - "npm:emittery": { - "type": "npm", - "name": "npm:emittery", - "data": { - "version": "0.13.1", - "packageName": "emittery", - "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" - } - }, - "npm:emoji-regex": { - "type": "npm", - "name": "npm:emoji-regex", - "data": { - "version": "8.0.0", - "packageName": "emoji-regex", - "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - }, - "npm:end-of-stream": { - "type": "npm", - "name": "npm:end-of-stream", - "data": { - "version": "1.4.4", - "packageName": "end-of-stream", - "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - } - }, - "npm:enquirer": { - "type": "npm", - "name": "npm:enquirer", - "data": { - "version": "2.3.6", - "packageName": "enquirer", - "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - } - }, - "npm:es6-error": { - "type": "npm", - "name": "npm:es6-error", - "data": { - "version": "4.1.1", - "packageName": "es6-error", - "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - } - }, - "npm:esbuild": { - "type": "npm", - "name": "npm:esbuild", - "data": { - "version": "0.19.12", - "packageName": "esbuild", - "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" - } - }, - "npm:escalade": { - "type": "npm", - "name": "npm:escalade", - "data": { - "version": "3.1.2", - "packageName": "escalade", - "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - } - }, - "npm:escape-string-regexp": { - "type": "npm", - "name": "npm:escape-string-regexp", - "data": { - "version": "1.0.5", - "packageName": "escape-string-regexp", - "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - }, - "npm:esprima": { - "type": "npm", - "name": "npm:esprima", - "data": { - "version": "4.0.1", - "packageName": "esprima", - "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - }, - "npm:estree-walker": { - "type": "npm", - "name": "npm:estree-walker", - "data": { - "version": "3.0.3", - "packageName": "estree-walker", - "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" - } - }, - "npm:execa": { - "type": "npm", - "name": "npm:execa", - "data": { - "version": "8.0.1", - "packageName": "execa", - "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" - } - }, - "npm:fast-printf": { - "type": "npm", - "name": "npm:fast-printf", - "data": { - "version": "1.6.9", - "packageName": "fast-printf", - "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" - } - }, - "npm:fast-safe-stringify": { - "type": "npm", - "name": "npm:fast-safe-stringify", - "data": { - "version": "2.1.1", - "packageName": "fast-safe-stringify", - "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - } - }, - "npm:figures": { - "type": "npm", - "name": "npm:figures", - "data": { - "version": "3.2.0", - "packageName": "figures", - "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - } - }, - "npm:flat": { - "type": "npm", - "name": "npm:flat", - "data": { - "version": "5.0.2", - "packageName": "flat", - "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - } - }, - "npm:follow-redirects": { - "type": "npm", - "name": "npm:follow-redirects", - "data": { - "version": "1.15.5", - "packageName": "follow-redirects", - "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - } - }, - "npm:form-data": { - "type": "npm", - "name": "npm:form-data", - "data": { - "version": "4.0.0", - "packageName": "form-data", - "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - } - }, - "npm:fs-constants": { - "type": "npm", - "name": "npm:fs-constants", - "data": { - "version": "1.0.0", - "packageName": "fs-constants", - "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - } - }, - "npm:fs-extra@11.2.0": { - "type": "npm", - "name": "npm:fs-extra@11.2.0", - "data": { - "version": "11.2.0", - "packageName": "fs-extra", - "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" - } - }, - "npm:fs-extra": { - "type": "npm", - "name": "npm:fs-extra", - "data": { - "version": "7.0.1", - "packageName": "fs-extra", - "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - } - }, - "npm:fs.realpath": { - "type": "npm", - "name": "npm:fs.realpath", - "data": { - "version": "1.0.0", - "packageName": "fs.realpath", - "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - } - }, - "npm:fsevents": { - "type": "npm", - "name": "npm:fsevents", - "data": { - "version": "2.3.3", - "packageName": "fsevents", - "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - } - }, - "npm:function-bind": { - "type": "npm", - "name": "npm:function-bind", - "data": { - "version": "1.1.2", - "packageName": "function-bind", - "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } - }, - "npm:get-caller-file": { - "type": "npm", - "name": "npm:get-caller-file", - "data": { - "version": "2.0.5", - "packageName": "get-caller-file", - "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - } - }, - "npm:get-func-name": { - "type": "npm", - "name": "npm:get-func-name", - "data": { - "version": "2.0.2", - "packageName": "get-func-name", - "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" - } - }, - "npm:get-stack-trace": { - "type": "npm", - "name": "npm:get-stack-trace", - "data": { - "version": "2.1.1", - "packageName": "get-stack-trace", - "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" - } - }, - "npm:get-stream": { - "type": "npm", - "name": "npm:get-stream", - "data": { - "version": "8.0.1", - "packageName": "get-stream", - "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" - } - }, - "npm:glob": { - "type": "npm", - "name": "npm:glob", - "data": { - "version": "8.1.0", - "packageName": "glob", - "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" - } - }, - "npm:graceful-fs": { - "type": "npm", - "name": "npm:graceful-fs", - "data": { - "version": "4.2.11", - "packageName": "graceful-fs", - "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - } - }, - "npm:has-flag": { - "type": "npm", - "name": "npm:has-flag", - "data": { - "version": "4.0.0", - "packageName": "has-flag", - "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - }, - "npm:hasown": { - "type": "npm", - "name": "npm:hasown", - "data": { - "version": "2.0.1", - "packageName": "hasown", - "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" - } - }, - "npm:human-signals": { - "type": "npm", - "name": "npm:human-signals", - "data": { - "version": "5.0.0", - "packageName": "human-signals", - "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" - } - }, - "npm:hyperid": { - "type": "npm", - "name": "npm:hyperid", - "data": { - "version": "2.3.1", - "packageName": "hyperid", - "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" - } - }, - "npm:ieee754": { - "type": "npm", - "name": "npm:ieee754", - "data": { - "version": "1.2.1", - "packageName": "ieee754", - "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - } - }, - "npm:ignore": { - "type": "npm", - "name": "npm:ignore", - "data": { - "version": "5.3.1", - "packageName": "ignore", - "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" - } - }, - "npm:import-lazy": { - "type": "npm", - "name": "npm:import-lazy", - "data": { - "version": "4.0.0", - "packageName": "import-lazy", - "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" - } - }, - "npm:inflight": { - "type": "npm", - "name": "npm:inflight", - "data": { - "version": "1.0.6", - "packageName": "inflight", - "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - } - }, - "npm:inherits": { - "type": "npm", - "name": "npm:inherits", - "data": { - "version": "2.0.4", - "packageName": "inherits", - "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - } - }, - "npm:int64-buffer": { - "type": "npm", - "name": "npm:int64-buffer", - "data": { - "version": "0.99.1007", - "packageName": "int64-buffer", - "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" - } - }, - "npm:is-core-module": { - "type": "npm", - "name": "npm:is-core-module", - "data": { - "version": "2.13.1", - "packageName": "is-core-module", - "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" - } - }, - "npm:is-docker": { - "type": "npm", - "name": "npm:is-docker", - "data": { - "version": "2.2.1", - "packageName": "is-docker", - "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - } - }, - "npm:is-fullwidth-code-point": { - "type": "npm", - "name": "npm:is-fullwidth-code-point", - "data": { - "version": "3.0.0", - "packageName": "is-fullwidth-code-point", - "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - }, - "npm:is-interactive": { - "type": "npm", - "name": "npm:is-interactive", - "data": { - "version": "1.0.0", - "packageName": "is-interactive", - "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - } - }, - "npm:is-plain-object": { - "type": "npm", - "name": "npm:is-plain-object", - "data": { - "version": "5.0.0", - "packageName": "is-plain-object", - "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - }, - "npm:is-stream": { - "type": "npm", - "name": "npm:is-stream", - "data": { - "version": "3.0.0", - "packageName": "is-stream", - "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - } - }, - "npm:is-unicode-supported": { - "type": "npm", - "name": "npm:is-unicode-supported", - "data": { - "version": "0.1.0", - "packageName": "is-unicode-supported", - "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - } - }, - "npm:is-wsl": { - "type": "npm", - "name": "npm:is-wsl", - "data": { - "version": "2.2.0", - "packageName": "is-wsl", - "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - } - }, - "npm:isexe": { - "type": "npm", - "name": "npm:isexe", - "data": { - "version": "2.0.0", - "packageName": "isexe", - "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - } - }, - "npm:iso8601-duration": { - "type": "npm", - "name": "npm:iso8601-duration", - "data": { - "version": "1.3.0", - "packageName": "iso8601-duration", - "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" - } - }, - "npm:jest-diff": { - "type": "npm", - "name": "npm:jest-diff", - "data": { - "version": "29.7.0", - "packageName": "jest-diff", - "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" - } - }, - "npm:jest-get-type": { - "type": "npm", - "name": "npm:jest-get-type", - "data": { - "version": "29.6.3", - "packageName": "jest-get-type", - "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" - } - }, - "npm:jju": { - "type": "npm", - "name": "npm:jju", - "data": { - "version": "1.4.0", - "packageName": "jju", - "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" - } - }, - "npm:js-tokens": { - "type": "npm", - "name": "npm:js-tokens", - "data": { - "version": "8.0.3", - "packageName": "js-tokens", - "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" - } - }, - "npm:js-yaml@3.14.1": { - "type": "npm", - "name": "npm:js-yaml@3.14.1", - "data": { - "version": "3.14.1", - "packageName": "js-yaml", - "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - } - }, - "npm:js-yaml": { - "type": "npm", - "name": "npm:js-yaml", - "data": { - "version": "4.1.0", - "packageName": "js-yaml", - "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - } - }, - "npm:json5": { - "type": "npm", - "name": "npm:json5", - "data": { - "version": "2.2.3", - "packageName": "json5", - "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - } - }, - "npm:jsonc-parser@3.2.0": { - "type": "npm", - "name": "npm:jsonc-parser@3.2.0", - "data": { - "version": "3.2.0", - "packageName": "jsonc-parser", - "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - } - }, - "npm:jsonc-parser": { - "type": "npm", - "name": "npm:jsonc-parser", - "data": { - "version": "3.2.1", - "packageName": "jsonc-parser", - "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - } - }, - "npm:jsonfile": { - "type": "npm", - "name": "npm:jsonfile", - "data": { - "version": "4.0.0", - "packageName": "jsonfile", - "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - } - }, - "npm:jsonfile@6.1.0": { - "type": "npm", - "name": "npm:jsonfile@6.1.0", - "data": { - "version": "6.1.0", - "packageName": "jsonfile", - "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - } - }, - "npm:lines-and-columns": { - "type": "npm", - "name": "npm:lines-and-columns", - "data": { - "version": "2.0.4", - "packageName": "lines-and-columns", - "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" - } - }, - "npm:local-pkg": { - "type": "npm", - "name": "npm:local-pkg", - "data": { - "version": "0.5.0", - "packageName": "local-pkg", - "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" - } - }, - "npm:lodash.get": { - "type": "npm", - "name": "npm:lodash.get", - "data": { - "version": "4.4.2", - "packageName": "lodash.get", - "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - } - }, - "npm:lodash.isequal": { - "type": "npm", - "name": "npm:lodash.isequal", - "data": { - "version": "4.5.0", - "packageName": "lodash.isequal", - "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - } - }, - "npm:lodash.sortby": { - "type": "npm", - "name": "npm:lodash.sortby", - "data": { - "version": "4.7.0", - "packageName": "lodash.sortby", - "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - } - }, - "npm:log-symbols": { - "type": "npm", - "name": "npm:log-symbols", - "data": { - "version": "4.1.0", - "packageName": "log-symbols", - "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - } - }, - "npm:loupe": { - "type": "npm", - "name": "npm:loupe", - "data": { - "version": "2.3.7", - "packageName": "loupe", - "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" - } - }, - "npm:lru-cache": { - "type": "npm", - "name": "npm:lru-cache", - "data": { - "version": "6.0.0", - "packageName": "lru-cache", - "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - } - }, - "npm:magic-string": { - "type": "npm", - "name": "npm:magic-string", - "data": { - "version": "0.30.7", - "packageName": "magic-string", - "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" - } - }, - "npm:merge-stream": { - "type": "npm", - "name": "npm:merge-stream", - "data": { - "version": "2.0.0", - "packageName": "merge-stream", - "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - } - }, - "npm:mime-db": { - "type": "npm", - "name": "npm:mime-db", - "data": { - "version": "1.52.0", - "packageName": "mime-db", - "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - } - }, - "npm:mime-types": { - "type": "npm", - "name": "npm:mime-types", - "data": { - "version": "2.1.35", - "packageName": "mime-types", - "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - } - }, - "npm:mimic-fn@2.1.0": { - "type": "npm", - "name": "npm:mimic-fn@2.1.0", - "data": { - "version": "2.1.0", - "packageName": "mimic-fn", - "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - } - }, - "npm:mimic-fn": { - "type": "npm", - "name": "npm:mimic-fn", - "data": { - "version": "4.0.0", - "packageName": "mimic-fn", - "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - } - }, - "npm:minimatch@5.1.6": { - "type": "npm", - "name": "npm:minimatch@5.1.6", - "data": { - "version": "5.1.6", - "packageName": "minimatch", - "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" - } - }, - "npm:minimatch": { - "type": "npm", - "name": "npm:minimatch", - "data": { - "version": "9.0.3", - "packageName": "minimatch", - "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" - } - }, - "npm:minimist": { - "type": "npm", - "name": "npm:minimist", - "data": { - "version": "1.2.8", - "packageName": "minimist", - "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - }, - "npm:mlly": { - "type": "npm", - "name": "npm:mlly", - "data": { - "version": "1.6.1", - "packageName": "mlly", - "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" - } - }, - "npm:ms": { - "type": "npm", - "name": "npm:ms", - "data": { - "version": "2.1.2", - "packageName": "ms", - "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - }, - "npm:multi-fork": { - "type": "npm", - "name": "npm:multi-fork", - "data": { - "version": "0.0.2", - "packageName": "multi-fork", - "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" - } - }, - "npm:nanoid": { - "type": "npm", - "name": "npm:nanoid", - "data": { - "version": "3.3.7", - "packageName": "nanoid", - "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" - } - }, - "npm:node-machine-id": { - "type": "npm", - "name": "npm:node-machine-id", - "data": { - "version": "1.1.12", - "packageName": "node-machine-id", - "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" - } - }, - "npm:npm-run-path@4.0.1": { - "type": "npm", - "name": "npm:npm-run-path@4.0.1", - "data": { - "version": "4.0.1", - "packageName": "npm-run-path", - "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - } - }, - "npm:npm-run-path": { - "type": "npm", - "name": "npm:npm-run-path", - "data": { - "version": "5.3.0", - "packageName": "npm-run-path", - "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" - } - }, - "npm:nx": { - "type": "npm", - "name": "npm:nx", - "data": { - "version": "18.0.6", - "packageName": "nx", - "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" - } - }, - "npm:obuf": { - "type": "npm", - "name": "npm:obuf", - "data": { - "version": "1.1.2", - "packageName": "obuf", - "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - } - }, - "npm:once": { - "type": "npm", - "name": "npm:once", - "data": { - "version": "1.4.0", - "packageName": "once", - "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - } - }, - "npm:onetime@5.1.2": { - "type": "npm", - "name": "npm:onetime@5.1.2", - "data": { - "version": "5.1.2", - "packageName": "onetime", - "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - } - }, - "npm:onetime": { - "type": "npm", - "name": "npm:onetime", - "data": { - "version": "6.0.0", - "packageName": "onetime", - "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" - } - }, - "npm:open": { - "type": "npm", - "name": "npm:open", - "data": { - "version": "8.4.2", - "packageName": "open", - "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - } - }, - "npm:ora": { - "type": "npm", - "name": "npm:ora", - "data": { - "version": "5.3.0", - "packageName": "ora", - "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" - } - }, - "npm:p-defer": { - "type": "npm", - "name": "npm:p-defer", - "data": { - "version": "3.0.0", - "packageName": "p-defer", - "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - } - }, - "npm:p-limit": { - "type": "npm", - "name": "npm:p-limit", - "data": { - "version": "5.0.0", - "packageName": "p-limit", - "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" - } - }, - "npm:packet-reader": { - "type": "npm", - "name": "npm:packet-reader", - "data": { - "version": "1.0.0", - "packageName": "packet-reader", - "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - } - }, - "npm:path-key": { - "type": "npm", - "name": "npm:path-key", - "data": { - "version": "3.1.1", - "packageName": "path-key", - "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - } - }, - "npm:path-key@4.0.0": { - "type": "npm", - "name": "npm:path-key@4.0.0", - "data": { - "version": "4.0.0", - "packageName": "path-key", - "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - } - }, - "npm:path-parse": { - "type": "npm", - "name": "npm:path-parse", - "data": { - "version": "1.0.7", - "packageName": "path-parse", - "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - } - }, - "npm:pathe": { - "type": "npm", - "name": "npm:pathe", - "data": { - "version": "1.1.2", - "packageName": "pathe", - "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - } - }, - "npm:pathval": { - "type": "npm", - "name": "npm:pathval", - "data": { - "version": "1.1.1", - "packageName": "pathval", - "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - } - }, - "npm:pg-cloudflare": { - "type": "npm", - "name": "npm:pg-cloudflare", - "data": { - "version": "1.1.1", - "packageName": "pg-cloudflare", - "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" - } - }, - "npm:pg-connection-string": { - "type": "npm", - "name": "npm:pg-connection-string", - "data": { - "version": "2.6.2", - "packageName": "pg-connection-string", - "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - } - }, - "npm:pg-copy-streams-binary": { - "type": "npm", - "name": "npm:pg-copy-streams-binary", - "data": { - "version": "2.2.0", - "packageName": "pg-copy-streams-binary", - "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" - } - }, - "npm:pg-copy-streams": { - "type": "npm", - "name": "npm:pg-copy-streams", - "data": { - "version": "6.0.6", - "packageName": "pg-copy-streams", - "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" - } - }, - "npm:pg-cursor": { - "type": "npm", - "name": "npm:pg-cursor", - "data": { - "version": "2.10.3", - "packageName": "pg-cursor", - "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" - } - }, - "npm:pg-int8": { - "type": "npm", - "name": "npm:pg-int8", - "data": { - "version": "1.0.1", - "packageName": "pg-int8", - "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - } - }, - "npm:pg-pool": { - "type": "npm", - "name": "npm:pg-pool", - "data": { - "version": "3.6.1", - "packageName": "pg-pool", - "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" - } - }, - "npm:pg-protocol": { - "type": "npm", - "name": "npm:pg-protocol", - "data": { - "version": "1.6.0", - "packageName": "pg-protocol", - "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" - } - }, - "npm:pg-types": { - "type": "npm", - "name": "npm:pg-types", - "data": { - "version": "2.2.0", - "packageName": "pg-types", - "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" - } - }, - "npm:pg": { - "type": "npm", - "name": "npm:pg", - "data": { - "version": "8.11.3", - "packageName": "pg", - "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" - } - }, - "npm:pgpass": { - "type": "npm", - "name": "npm:pgpass", - "data": { - "version": "1.0.5", - "packageName": "pgpass", - "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" - } - }, - "npm:picocolors": { - "type": "npm", - "name": "npm:picocolors", - "data": { - "version": "1.0.0", - "packageName": "picocolors", - "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - } - }, - "npm:pkg-types": { - "type": "npm", - "name": "npm:pkg-types", - "data": { - "version": "1.0.3", - "packageName": "pkg-types", - "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" - } - }, - "npm:pony-cause": { - "type": "npm", - "name": "npm:pony-cause", - "data": { - "version": "2.1.10", - "packageName": "pony-cause", - "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" - } - }, - "npm:postcss": { - "type": "npm", - "name": "npm:postcss", - "data": { - "version": "8.4.35", - "packageName": "postcss", - "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" - } - }, - "npm:postgres-array@2.0.0": { - "type": "npm", - "name": "npm:postgres-array@2.0.0", - "data": { - "version": "2.0.0", - "packageName": "postgres-array", - "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - } - }, - "npm:postgres-array": { - "type": "npm", - "name": "npm:postgres-array", - "data": { - "version": "3.0.2", - "packageName": "postgres-array", - "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" - } - }, - "npm:postgres-bytea": { - "type": "npm", - "name": "npm:postgres-bytea", - "data": { - "version": "1.0.0", - "packageName": "postgres-bytea", - "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" - } - }, - "npm:postgres-date": { - "type": "npm", - "name": "npm:postgres-date", - "data": { - "version": "1.0.7", - "packageName": "postgres-date", - "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - } - }, - "npm:postgres-interval@1.2.0": { - "type": "npm", - "name": "npm:postgres-interval@1.2.0", - "data": { - "version": "1.2.0", - "packageName": "postgres-interval", - "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" - } - }, - "npm:postgres-interval": { - "type": "npm", - "name": "npm:postgres-interval", - "data": { - "version": "4.0.2", - "packageName": "postgres-interval", - "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" - } - }, - "npm:prettier": { - "type": "npm", - "name": "npm:prettier", - "data": { - "version": "3.2.4", - "packageName": "prettier", - "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" - } - }, - "npm:pretty-format": { - "type": "npm", - "name": "npm:pretty-format", - "data": { - "version": "29.7.0", - "packageName": "pretty-format", - "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" - } - }, - "npm:proxy-from-env": { - "type": "npm", - "name": "npm:proxy-from-env", - "data": { - "version": "1.1.0", - "packageName": "proxy-from-env", - "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - }, - "npm:punycode": { - "type": "npm", - "name": "npm:punycode", - "data": { - "version": "2.3.1", - "packageName": "punycode", - "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - } - }, - "npm:react-is": { - "type": "npm", - "name": "npm:react-is", - "data": { - "version": "18.2.0", - "packageName": "react-is", - "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - }, - "npm:readable-stream": { - "type": "npm", - "name": "npm:readable-stream", - "data": { - "version": "3.6.2", - "packageName": "readable-stream", - "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - } - }, - "npm:require-directory": { - "type": "npm", - "name": "npm:require-directory", - "data": { - "version": "2.1.1", - "packageName": "require-directory", - "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - } - }, - "npm:resolve": { - "type": "npm", - "name": "npm:resolve", - "data": { - "version": "1.22.8", - "packageName": "resolve", - "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" - } - }, - "npm:restore-cursor": { - "type": "npm", - "name": "npm:restore-cursor", - "data": { - "version": "3.1.0", - "packageName": "restore-cursor", - "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - } - }, - "npm:roarr": { - "type": "npm", - "name": "npm:roarr", - "data": { - "version": "7.21.0", - "packageName": "roarr", - "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" - } - }, - "npm:rollup": { - "type": "npm", - "name": "npm:rollup", - "data": { - "version": "4.12.0", - "packageName": "rollup", - "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" - } - }, - "npm:safe-buffer": { - "type": "npm", - "name": "npm:safe-buffer", - "data": { - "version": "5.2.1", - "packageName": "safe-buffer", - "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - }, - "npm:safe-stable-stringify": { - "type": "npm", - "name": "npm:safe-stable-stringify", - "data": { - "version": "2.4.3", - "packageName": "safe-stable-stringify", - "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - } - }, - "npm:semver-compare": { - "type": "npm", - "name": "npm:semver-compare", - "data": { - "version": "1.0.0", - "packageName": "semver-compare", - "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - } - }, - "npm:semver": { - "type": "npm", - "name": "npm:semver", - "data": { - "version": "7.5.4", - "packageName": "semver", - "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - } - }, - "npm:semver@7.6.0": { - "type": "npm", - "name": "npm:semver@7.6.0", - "data": { - "version": "7.6.0", - "packageName": "semver", - "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" - } - }, - "npm:serialize-error": { - "type": "npm", - "name": "npm:serialize-error", - "data": { - "version": "8.1.0", - "packageName": "serialize-error", - "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" - } - }, - "npm:shebang-command": { - "type": "npm", - "name": "npm:shebang-command", - "data": { - "version": "2.0.0", - "packageName": "shebang-command", - "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - } - }, - "npm:shebang-regex": { - "type": "npm", - "name": "npm:shebang-regex", - "data": { - "version": "3.0.0", - "packageName": "shebang-regex", - "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - } - }, - "npm:siginfo": { - "type": "npm", - "name": "npm:siginfo", - "data": { - "version": "2.0.0", - "packageName": "siginfo", - "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - } - }, - "npm:signal-exit": { - "type": "npm", - "name": "npm:signal-exit", - "data": { - "version": "3.0.7", - "packageName": "signal-exit", - "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - } - }, - "npm:signal-exit@4.1.0": { - "type": "npm", - "name": "npm:signal-exit@4.1.0", - "data": { - "version": "4.1.0", - "packageName": "signal-exit", - "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - } - }, - "npm:slonik": { - "type": "npm", - "name": "npm:slonik", - "data": { - "version": "29.2.0", - "packageName": "slonik", - "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" - } - }, - "npm:source-map-js": { - "type": "npm", - "name": "npm:source-map-js", - "data": { - "version": "1.0.2", - "packageName": "source-map-js", - "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - } - }, - "npm:source-map": { - "type": "npm", - "name": "npm:source-map", - "data": { - "version": "0.8.0-beta.0", - "packageName": "source-map", - "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" - } - }, - "npm:split2": { - "type": "npm", - "name": "npm:split2", - "data": { - "version": "4.2.0", - "packageName": "split2", - "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - } - }, - "npm:sprintf-js": { - "type": "npm", - "name": "npm:sprintf-js", - "data": { - "version": "1.0.3", - "packageName": "sprintf-js", - "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } - }, - "npm:stackback": { - "type": "npm", - "name": "npm:stackback", - "data": { - "version": "0.0.2", - "packageName": "stackback", - "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - } - }, - "npm:std-env": { - "type": "npm", - "name": "npm:std-env", - "data": { - "version": "3.7.0", - "packageName": "std-env", - "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - } - }, - "npm:string-argv": { - "type": "npm", - "name": "npm:string-argv", - "data": { - "version": "0.3.2", - "packageName": "string-argv", - "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" - } - }, - "npm:string-width": { - "type": "npm", - "name": "npm:string-width", - "data": { - "version": "4.2.3", - "packageName": "string-width", - "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - } - }, - "npm:string_decoder": { - "type": "npm", - "name": "npm:string_decoder", - "data": { - "version": "1.3.0", - "packageName": "string_decoder", - "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - } - }, - "npm:strip-ansi": { - "type": "npm", - "name": "npm:strip-ansi", - "data": { - "version": "6.0.1", - "packageName": "strip-ansi", - "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - } - }, - "npm:strip-bom": { - "type": "npm", - "name": "npm:strip-bom", - "data": { - "version": "3.0.0", - "packageName": "strip-bom", - "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - }, - "npm:strip-final-newline": { - "type": "npm", - "name": "npm:strip-final-newline", - "data": { - "version": "3.0.0", - "packageName": "strip-final-newline", - "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" - } - }, - "npm:strip-literal": { - "type": "npm", - "name": "npm:strip-literal", - "data": { - "version": "2.0.0", - "packageName": "strip-literal", - "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" - } - }, - "npm:strong-log-transformer": { - "type": "npm", - "name": "npm:strong-log-transformer", - "data": { - "version": "2.1.0", - "packageName": "strong-log-transformer", - "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - } - }, - "npm:supports-color@7.2.0": { - "type": "npm", - "name": "npm:supports-color@7.2.0", - "data": { - "version": "7.2.0", - "packageName": "supports-color", - "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - } - }, - "npm:supports-color": { - "type": "npm", - "name": "npm:supports-color", - "data": { - "version": "8.1.1", - "packageName": "supports-color", - "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - } - }, - "npm:supports-preserve-symlinks-flag": { - "type": "npm", - "name": "npm:supports-preserve-symlinks-flag", - "data": { - "version": "1.0.0", - "packageName": "supports-preserve-symlinks-flag", - "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - } - }, - "npm:tar-stream": { - "type": "npm", - "name": "npm:tar-stream", - "data": { - "version": "2.2.0", - "packageName": "tar-stream", - "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - } - }, - "npm:through2@3.0.2": { - "type": "npm", - "name": "npm:through2@3.0.2", - "data": { - "version": "3.0.2", - "packageName": "through2", - "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" - } - }, - "npm:through2": { - "type": "npm", - "name": "npm:through2", - "data": { - "version": "4.0.2", - "packageName": "through2", - "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - } - }, - "npm:through": { - "type": "npm", - "name": "npm:through", - "data": { - "version": "2.3.8", - "packageName": "through", - "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - } - }, - "npm:tinybench": { - "type": "npm", - "name": "npm:tinybench", - "data": { - "version": "2.6.0", - "packageName": "tinybench", - "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" - } - }, - "npm:tinypool": { - "type": "npm", - "name": "npm:tinypool", - "data": { - "version": "0.8.2", - "packageName": "tinypool", - "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" - } - }, - "npm:tinyspy": { - "type": "npm", - "name": "npm:tinyspy", - "data": { - "version": "2.2.1", - "packageName": "tinyspy", - "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" - } - }, - "npm:tmp": { - "type": "npm", - "name": "npm:tmp", - "data": { - "version": "0.2.3", - "packageName": "tmp", - "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" - } - }, - "npm:tr46": { - "type": "npm", - "name": "npm:tr46", - "data": { - "version": "1.0.1", - "packageName": "tr46", - "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - } - }, - "npm:tsconfig-paths": { - "type": "npm", - "name": "npm:tsconfig-paths", - "data": { - "version": "4.2.0", - "packageName": "tsconfig-paths", - "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" - } - }, - "npm:tslib": { - "type": "npm", - "name": "npm:tslib", - "data": { - "version": "2.6.2", - "packageName": "tslib", - "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - }, - "npm:type-detect": { - "type": "npm", - "name": "npm:type-detect", - "data": { - "version": "4.0.8", - "packageName": "type-detect", - "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - } - }, - "npm:type-fest": { - "type": "npm", - "name": "npm:type-fest", - "data": { - "version": "0.20.2", - "packageName": "type-fest", - "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - }, - "npm:type-fest@4.10.3": { - "type": "npm", - "name": "npm:type-fest@4.10.3", - "data": { - "version": "4.10.3", - "packageName": "type-fest", - "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" - } - }, - "npm:typedarray": { - "type": "npm", - "name": "npm:typedarray", - "data": { - "version": "0.0.6", - "packageName": "typedarray", - "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - } - }, - "npm:typescript": { - "type": "npm", - "name": "npm:typescript", - "data": { - "version": "5.3.3", - "packageName": "typescript", - "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" - } - }, - "npm:ufo": { - "type": "npm", - "name": "npm:ufo", - "data": { - "version": "1.4.0", - "packageName": "ufo", - "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - } - }, - "npm:umzug": { - "type": "npm", - "name": "npm:umzug", - "data": { - "version": "3.7.0", - "packageName": "umzug", - "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" - } - }, - "npm:undici-types": { - "type": "npm", - "name": "npm:undici-types", - "data": { - "version": "5.26.5", - "packageName": "undici-types", - "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - } - }, - "npm:universalify": { - "type": "npm", - "name": "npm:universalify", - "data": { - "version": "0.1.2", - "packageName": "universalify", - "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - }, - "npm:universalify@2.0.1": { - "type": "npm", - "name": "npm:universalify@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "universalify", - "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - } - }, - "npm:util-deprecate": { - "type": "npm", - "name": "npm:util-deprecate", - "data": { - "version": "1.0.2", - "packageName": "util-deprecate", - "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - } - }, - "npm:uuid-parse": { - "type": "npm", - "name": "npm:uuid-parse", - "data": { - "version": "1.1.0", - "packageName": "uuid-parse", - "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" - } - }, - "npm:uuid": { - "type": "npm", - "name": "npm:uuid", - "data": { - "version": "8.3.2", - "packageName": "uuid", - "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - }, - "npm:validator": { - "type": "npm", - "name": "npm:validator", - "data": { - "version": "13.11.0", - "packageName": "validator", - "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" - } - }, - "npm:vite-node": { - "type": "npm", - "name": "npm:vite-node", - "data": { - "version": "1.3.1", - "packageName": "vite-node", - "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" - } - }, - "npm:vite": { - "type": "npm", - "name": "npm:vite", - "data": { - "version": "5.1.4", - "packageName": "vite", - "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" - } - }, - "npm:vitest": { - "type": "npm", - "name": "npm:vitest", - "data": { - "version": "1.3.1", - "packageName": "vitest", - "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" - } - }, - "npm:wcwidth": { - "type": "npm", - "name": "npm:wcwidth", - "data": { - "version": "1.0.1", - "packageName": "wcwidth", - "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - } - }, - "npm:webidl-conversions": { - "type": "npm", - "name": "npm:webidl-conversions", - "data": { - "version": "4.0.2", - "packageName": "webidl-conversions", - "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - } - }, - "npm:whatwg-url": { - "type": "npm", - "name": "npm:whatwg-url", - "data": { - "version": "7.1.0", - "packageName": "whatwg-url", - "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - } - }, - "npm:which": { - "type": "npm", - "name": "npm:which", - "data": { - "version": "2.0.2", - "packageName": "which", - "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - } - }, - "npm:why-is-node-running": { - "type": "npm", - "name": "npm:why-is-node-running", - "data": { - "version": "2.2.2", - "packageName": "why-is-node-running", - "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" - } - }, - "npm:wrap-ansi": { - "type": "npm", - "name": "npm:wrap-ansi", - "data": { - "version": "7.0.0", - "packageName": "wrap-ansi", - "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - } - }, - "npm:wrappy": { - "type": "npm", - "name": "npm:wrappy", - "data": { - "version": "1.0.2", - "packageName": "wrappy", - "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - }, - "npm:xtend": { - "type": "npm", - "name": "npm:xtend", - "data": { - "version": "4.0.2", - "packageName": "xtend", - "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - }, - "npm:y18n": { - "type": "npm", - "name": "npm:y18n", - "data": { - "version": "5.0.8", - "packageName": "y18n", - "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - } - }, - "npm:yallist": { - "type": "npm", - "name": "npm:yallist", - "data": { - "version": "4.0.0", - "packageName": "yallist", - "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "npm:yargs-parser": { - "type": "npm", - "name": "npm:yargs-parser", - "data": { - "version": "21.1.1", - "packageName": "yargs-parser", - "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - }, - "npm:yargs": { - "type": "npm", - "name": "npm:yargs", - "data": { - "version": "17.7.2", - "packageName": "yargs", - "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - } - }, - "npm:yocto-queue": { - "type": "npm", - "name": "npm:yocto-queue", - "data": { - "version": "1.0.0", - "packageName": "yocto-queue", - "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" - } - }, - "npm:z-schema": { - "type": "npm", - "name": "npm:z-schema", - "data": { - "version": "5.0.5", - "packageName": "z-schema", - "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" - } - } - }, - "dependencies": [ - { - "source": "npm:@jest/schemas", - "target": "npm:@sinclair/typebox", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:nx", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:fs-extra", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:import-lazy", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:jju", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:resolve", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:semver", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:z-schema", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@rushstack/node-core-library", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:supports-color", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@rushstack/terminal", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@types/argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:string-argv", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:umzug", - "type": "static" - }, - { - "source": "npm:@types/node", - "target": "npm:undici-types", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:p-limit", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:@vitest/spy", - "target": "npm:tinyspy", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:estree-walker", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:js-yaml@3.14.1", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:@zkochan/js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - }, - { - "source": "npm:ansi-styles", - "target": "npm:color-convert", - "type": "static" - }, - { - "source": "npm:argparse", - "target": "npm:sprintf-js", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:follow-redirects", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:form-data", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:proxy-from-env", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:buffer", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:brace-expansion", - "target": "npm:balanced-match", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:base64-js", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:assertion-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:check-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:deep-eql", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:pathval", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:type-detect", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:supports-color@7.2.0", - "type": "static" - }, - { - "source": "npm:check-error", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:cli-cursor", - "target": "npm:restore-cursor", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:wrap-ansi", - "type": "static" - }, - { - "source": "npm:color-convert", - "target": "npm:color-name", - "type": "static" - }, - { - "source": "npm:combined-stream", - "target": "npm:delayed-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:buffer-from", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:typedarray", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:shebang-command", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:which", - "type": "static" - }, - { - "source": "npm:debug", - "target": "npm:ms", - "type": "static" - }, - { - "source": "npm:deep-eql", - "target": "npm:type-detect", - "type": "static" - }, - { - "source": "npm:defaults", - "target": "npm:clone", - "type": "static" - }, - { - "source": "npm:end-of-stream", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:enquirer", - "target": "npm:ansi-colors", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/aix-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-loong64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-mips64el", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-riscv64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-s390x", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/netbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/openbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/sunos-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-x64", - "type": "static" - }, - { - "source": "npm:estree-walker", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:cross-spawn", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:get-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:human-signals", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:is-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:merge-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:npm-run-path", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:onetime", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:signal-exit@4.1.0", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:strip-final-newline", - "type": "static" - }, - { - "source": "npm:fast-printf", - "target": "npm:boolean", - "type": "static" - }, - { - "source": "npm:figures", - "target": "npm:escape-string-regexp", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:asynckit", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:combined-stream", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:mime-types", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:jsonfile@6.1.0", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:jsonfile", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:universalify", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:bluebird", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:source-map", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:fs.realpath", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inflight", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:minimatch@5.1.6", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:hasown", - "target": "npm:function-bind", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid-parse", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:wrappy", - "type": "static" - }, - { - "source": "npm:is-core-module", - "target": "npm:hasown", - "type": "static" - }, - { - "source": "npm:is-wsl", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:jest-get-type", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:pretty-format", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:esprima", - "type": "static" - }, - { - "source": "npm:js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:is-unicode-supported", - "type": "static" - }, - { - "source": "npm:loupe", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:lru-cache", - "target": "npm:yallist", - "type": "static" - }, - { - "source": "npm:magic-string", - "target": "npm:@jridgewell/sourcemap-codec", - "type": "static" - }, - { - "source": "npm:mime-types", - "target": "npm:mime-db", - "type": "static" - }, - { - "source": "npm:minimatch@5.1.6", - "target": "npm:brace-expansion", - "type": "static" - }, - { - "source": "npm:minimatch", - "target": "npm:brace-expansion", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:acorn", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:ufo", - "type": "static" - }, - { - "source": "npm:npm-run-path@4.0.1", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:npm-run-path", - "target": "npm:path-key@4.0.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nrwl/tao", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/lockfile", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/parsers", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@zkochan/js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:axios", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv-expand", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:enquirer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:figures", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:flat", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:fs-extra@11.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ignore", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jest-diff", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jsonc-parser@3.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:lines-and-columns", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:minimatch", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:node-machine-id", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:npm-run-path@4.0.1", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:open", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ora", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:semver@7.6.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:strong-log-transformer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tar-stream", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tmp", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tsconfig-paths", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-arm64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-freebsd-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:once", - "target": "npm:wrappy", - "type": "static" - }, - { - "source": "npm:onetime@5.1.2", - "target": "npm:mimic-fn@2.1.0", - "type": "static" - }, - { - "source": "npm:onetime", - "target": "npm:mimic-fn", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:define-lazy-prop", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-wsl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:is-interactive", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:log-symbols", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:wcwidth", - "type": "static" - }, - { - "source": "npm:p-limit", - "target": "npm:yocto-queue", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bufferput", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:int64-buffer", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:multi-fork", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:through2@3.0.2", - "type": "static" - }, - { - "source": "npm:pg-copy-streams", - "target": "npm:obuf", - "type": "static" - }, - { - "source": "npm:pg-cursor", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:pg-pool", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:pg-int8", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-array@2.0.0", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-bytea", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-date", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-interval@1.2.0", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:buffer-writer", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:packet-reader", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-connection-string", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-pool", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-types", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pgpass", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-cloudflare", - "type": "static" - }, - { - "source": "npm:pgpass", - "target": "npm:split2", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:jsonc-parser", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:nanoid", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:source-map-js", - "type": "static" - }, - { - "source": "npm:postgres-interval@1.2.0", - "target": "npm:xtend", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:@jest/schemas", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:ansi-styles@5.2.0", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:react-is", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:string_decoder", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:util-deprecate", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:is-core-module", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:path-parse", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:supports-preserve-symlinks-flag", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:onetime@5.1.2", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:signal-exit", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:fast-printf", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:safe-stable-stringify", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:semver-compare", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm-eabi", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-x64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-riscv64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-ia32-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:fsevents", - "type": "static" - }, - { - "source": "npm:semver", - "target": "npm:lru-cache", - "type": "static" - }, - { - "source": "npm:semver@7.6.0", - "target": "npm:lru-cache", - "type": "static" - }, - { - "source": "npm:serialize-error", - "target": "npm:type-fest", - "type": "static" - }, - { - "source": "npm:shebang-command", - "target": "npm:shebang-regex", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:concat-stream", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:es6-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:fast-safe-stringify", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:get-stack-trace", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:hyperid", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:is-plain-object", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:iso8601-duration", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:p-defer", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams-binary", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-cursor", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-array", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-interval", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:roarr", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:serialize-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:through2", - "type": "static" - }, - { - "source": "npm:source-map", - "target": "npm:whatwg-url", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:emoji-regex", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:is-fullwidth-code-point", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:string_decoder", - "target": "npm:safe-buffer", - "type": "static" - }, - { - "source": "npm:strip-ansi", - "target": "npm:ansi-regex", - "type": "static" - }, - { - "source": "npm:strip-literal", - "target": "npm:js-tokens", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:duplexer", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:through", - "type": "static" - }, - { - "source": "npm:supports-color@7.2.0", - "target": "npm:has-flag", - "type": "static" - }, - { - "source": "npm:supports-color", - "target": "npm:has-flag", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:end-of-stream", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:fs-constants", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:through2", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:tr46", - "target": "npm:punycode", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:json5", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:strip-bom", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:emittery", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:glob", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:pony-cause", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:type-fest@4.10.3", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:cac", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:esbuild", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:postcss", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:rollup", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:fsevents", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/expect", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/runner", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/snapshot", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:acorn-walk", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:execa", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:local-pkg", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:std-env", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:strip-literal", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinybench", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinypool", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite-node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:why-is-node-running", - "type": "static" - }, - { - "source": "npm:wcwidth", - "target": "npm:defaults", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:lodash.sortby", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:tr46", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:webidl-conversions", - "type": "static" - }, - { - "source": "npm:which", - "target": "npm:isexe", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:siginfo", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:stackback", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:escalade", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:get-caller-file", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:require-directory", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:y18n", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.get", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.isequal", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:validator", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:commander", - "type": "static" - } - ] -} diff --git a/.nx/cache/project-graph.json b/.nx/cache/project-graph.json deleted file mode 100644 index e0b20e825..000000000 --- a/.nx/cache/project-graph.json +++ /dev/null @@ -1,5069 +0,0 @@ -{ - "nodes": { - "shared-packets": { - "name": "shared-packets", - "type": "lib", - "data": { - "root": "packages/shared-packets", - "sourceRoot": "packages/shared-packets", - "name": "shared-packets", - "projectType": "library", - "targets": { - "build": { - "executor": "nx:run-script", - "options": { - "script": "build" - }, - "configurations": {} - }, - "test": { - "executor": "nx:run-script", - "options": { - "script": "test" - }, - "configurations": {} - } - }, - "implicitDependencies": [], - "tags": [] - } - }, - "@rusty-motors/thebeast": { - "name": "@rusty-motors/thebeast", - "type": "lib", - "data": { - "root": "thebeast", - "sourceRoot": "thebeast", - "name": "@rusty-motors/thebeast", - "projectType": "library", - "targets": { - "test": { - "executor": "nx:run-script", - "options": { - "script": "test" - }, - "configurations": {} - }, - "prod": { - "executor": "nx:run-script", - "options": { - "script": "prod" - }, - "configurations": {} - }, - "prod:stop": { - "executor": "nx:run-script", - "options": { - "script": "prod:stop" - }, - "configurations": {} - }, - "release": { - "executor": "nx:run-script", - "options": { - "script": "release" - }, - "configurations": {} - }, - "start": { - "executor": "nx:run-script", - "options": { - "script": "start" - }, - "configurations": {} - }, - "start:docker": { - "executor": "nx:run-script", - "options": { - "script": "start:docker" - }, - "configurations": {} - } - }, - "implicitDependencies": [], - "tags": [] - } - } - }, - "externalNodes": { - "npm:@esbuild/aix-ppc64": { - "type": "npm", - "name": "npm:@esbuild/aix-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/aix-ppc64", - "hash": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==" - } - }, - "npm:@esbuild/android-arm64": { - "type": "npm", - "name": "npm:@esbuild/android-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm64", - "hash": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==" - } - }, - "npm:@esbuild/android-arm": { - "type": "npm", - "name": "npm:@esbuild/android-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-arm", - "hash": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==" - } - }, - "npm:@esbuild/android-x64": { - "type": "npm", - "name": "npm:@esbuild/android-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/android-x64", - "hash": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==" - } - }, - "npm:@esbuild/darwin-arm64": { - "type": "npm", - "name": "npm:@esbuild/darwin-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-arm64", - "hash": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==" - } - }, - "npm:@esbuild/darwin-x64": { - "type": "npm", - "name": "npm:@esbuild/darwin-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/darwin-x64", - "hash": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==" - } - }, - "npm:@esbuild/freebsd-arm64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-arm64", - "hash": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==" - } - }, - "npm:@esbuild/freebsd-x64": { - "type": "npm", - "name": "npm:@esbuild/freebsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/freebsd-x64", - "hash": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==" - } - }, - "npm:@esbuild/linux-arm64": { - "type": "npm", - "name": "npm:@esbuild/linux-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm64", - "hash": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==" - } - }, - "npm:@esbuild/linux-arm": { - "type": "npm", - "name": "npm:@esbuild/linux-arm", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-arm", - "hash": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==" - } - }, - "npm:@esbuild/linux-ia32": { - "type": "npm", - "name": "npm:@esbuild/linux-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ia32", - "hash": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==" - } - }, - "npm:@esbuild/linux-loong64": { - "type": "npm", - "name": "npm:@esbuild/linux-loong64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-loong64", - "hash": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==" - } - }, - "npm:@esbuild/linux-mips64el": { - "type": "npm", - "name": "npm:@esbuild/linux-mips64el", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-mips64el", - "hash": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==" - } - }, - "npm:@esbuild/linux-ppc64": { - "type": "npm", - "name": "npm:@esbuild/linux-ppc64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-ppc64", - "hash": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==" - } - }, - "npm:@esbuild/linux-riscv64": { - "type": "npm", - "name": "npm:@esbuild/linux-riscv64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-riscv64", - "hash": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==" - } - }, - "npm:@esbuild/linux-s390x": { - "type": "npm", - "name": "npm:@esbuild/linux-s390x", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-s390x", - "hash": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==" - } - }, - "npm:@esbuild/linux-x64": { - "type": "npm", - "name": "npm:@esbuild/linux-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/linux-x64", - "hash": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==" - } - }, - "npm:@esbuild/netbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/netbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/netbsd-x64", - "hash": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==" - } - }, - "npm:@esbuild/openbsd-x64": { - "type": "npm", - "name": "npm:@esbuild/openbsd-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/openbsd-x64", - "hash": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==" - } - }, - "npm:@esbuild/sunos-x64": { - "type": "npm", - "name": "npm:@esbuild/sunos-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/sunos-x64", - "hash": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==" - } - }, - "npm:@esbuild/win32-arm64": { - "type": "npm", - "name": "npm:@esbuild/win32-arm64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-arm64", - "hash": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==" - } - }, - "npm:@esbuild/win32-ia32": { - "type": "npm", - "name": "npm:@esbuild/win32-ia32", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-ia32", - "hash": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==" - } - }, - "npm:@esbuild/win32-x64": { - "type": "npm", - "name": "npm:@esbuild/win32-x64", - "data": { - "version": "0.19.12", - "packageName": "@esbuild/win32-x64", - "hash": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==" - } - }, - "npm:@jest/schemas": { - "type": "npm", - "name": "npm:@jest/schemas", - "data": { - "version": "29.6.3", - "packageName": "@jest/schemas", - "hash": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==" - } - }, - "npm:@jridgewell/sourcemap-codec": { - "type": "npm", - "name": "npm:@jridgewell/sourcemap-codec", - "data": { - "version": "1.4.15", - "packageName": "@jridgewell/sourcemap-codec", - "hash": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" - } - }, - "npm:@nrwl/tao": { - "type": "npm", - "name": "npm:@nrwl/tao", - "data": { - "version": "18.0.6", - "packageName": "@nrwl/tao", - "hash": "sha512-jWmAR0w77Wkt+RQy7ZbK8Xv9pAm3Pla0j8IBmQ5cwTtg0B9na4gDpmawi6urP1CqRMie1amvDl50jm1R4gzWhw==" - } - }, - "npm:@nx/nx-darwin-arm64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-arm64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-arm64", - "hash": "sha512-L90rlEqyhpGscI1vM2TKzFVk2WBsxF5cs0XwzeX8nISV56GN7sR3N2tKQc8pehbHAilYuYtFXzwOPsBvhBnWCQ==" - } - }, - "npm:@nx/nx-darwin-x64": { - "type": "npm", - "name": "npm:@nx/nx-darwin-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-darwin-x64", - "hash": "sha512-afJZJQtbsEkiOj5N5OfTFRj/fDuUT+mgPUmkMew3hYs04cd/iov/ZP4Enwqvp2D+H5UlPVCITrHINFqe4p75Hw==" - } - }, - "npm:@nx/nx-freebsd-x64": { - "type": "npm", - "name": "npm:@nx/nx-freebsd-x64", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-freebsd-x64", - "hash": "sha512-u8FawMbsnw2J1EmhhuQf8fYe78Tf0IpAaO3UJay3nXMJHSIaLVNDOcYlIsDJ0pY1kzG0yozlRJ96acMClhVQ5A==" - } - }, - "npm:@nx/nx-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm-gnueabihf", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm-gnueabihf", - "hash": "sha512-eRf8Lgz8wPHO5ABAdZtExxENmEX1DniPW0P0EBBFj7erIiwP3vSitT8jYqqWfYrJM/+g1J/AYFwl+r1Ky1cBOg==" - } - }, - "npm:@nx/nx-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-gnu", - "hash": "sha512-BMfIPEoMJETbAixkW+hYYBf7agEsdOlg1G/+sxOGXIj4LZ0k1SO3a9zuKAWKeCbXa7sxpszFknKrUwEXHZIOkQ==" - } - }, - "npm:@nx/nx-linux-arm64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-arm64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-arm64-musl", - "hash": "sha512-2tCRFLWLWZY0sYaV2IDkCuY5Ik/F8i5gzqlmJTDL8gXISgsMLQEhTTsLBNhKUwxCspzsn5AKOpHf+KU6LC6Qfg==" - } - }, - "npm:@nx/nx-linux-x64-gnu": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-gnu", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-gnu", - "hash": "sha512-8XHe5rIbWVPFKjnzjQBTshzE4OT2I6HKg2jTklGfe8kUzsigeieSAtm2knftiFXld2KNeIcyzLGLzT0UbgiNIg==" - } - }, - "npm:@nx/nx-linux-x64-musl": { - "type": "npm", - "name": "npm:@nx/nx-linux-x64-musl", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-linux-x64-musl", - "hash": "sha512-KbpiNQcP9Pz5IGFLsMkjV5H3P5S3xbPhGM2cuqSkZ+50VvKwAh7QuDWhnc5m6VB0MoLsOpm2zONu9wM6u+aVKA==" - } - }, - "npm:@nx/nx-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-arm64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-arm64-msvc", - "hash": "sha512-KWmRe6Nmf3L2Bv6OX1Xp7facFDRXQEzSH12EhDzZkxv0cB2OreFkoFV9AAeQwfa6hYXDrswEw4vmcig2e1ajuA==" - } - }, - "npm:@nx/nx-win32-x64-msvc": { - "type": "npm", - "name": "npm:@nx/nx-win32-x64-msvc", - "data": { - "version": "18.0.6", - "packageName": "@nx/nx-win32-x64-msvc", - "hash": "sha512-w/N4Jik86fcwfcpsZPIRBXhyJCpHvO27J31JMJbF5Mjh90u31vzr8+tpjjaQOkUwtxvsCNh2twkTswuxkAPdEA==" - } - }, - "npm:@rollup/rollup-android-arm-eabi": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm-eabi", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm-eabi", - "hash": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==" - } - }, - "npm:@rollup/rollup-android-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-android-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-android-arm64", - "hash": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==" - } - }, - "npm:@rollup/rollup-darwin-arm64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-arm64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-arm64", - "hash": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==" - } - }, - "npm:@rollup/rollup-darwin-x64": { - "type": "npm", - "name": "npm:@rollup/rollup-darwin-x64", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-darwin-x64", - "hash": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==" - } - }, - "npm:@rollup/rollup-linux-arm-gnueabihf": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm-gnueabihf", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm-gnueabihf", - "hash": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==" - } - }, - "npm:@rollup/rollup-linux-arm64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-gnu", - "hash": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==" - } - }, - "npm:@rollup/rollup-linux-arm64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-arm64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-arm64-musl", - "hash": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==" - } - }, - "npm:@rollup/rollup-linux-riscv64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-riscv64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-riscv64-gnu", - "hash": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==" - } - }, - "npm:@rollup/rollup-linux-x64-gnu": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-gnu", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-gnu", - "hash": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==" - } - }, - "npm:@rollup/rollup-linux-x64-musl": { - "type": "npm", - "name": "npm:@rollup/rollup-linux-x64-musl", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-linux-x64-musl", - "hash": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==" - } - }, - "npm:@rollup/rollup-win32-arm64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-arm64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-arm64-msvc", - "hash": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==" - } - }, - "npm:@rollup/rollup-win32-ia32-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-ia32-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-ia32-msvc", - "hash": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==" - } - }, - "npm:@rollup/rollup-win32-x64-msvc": { - "type": "npm", - "name": "npm:@rollup/rollup-win32-x64-msvc", - "data": { - "version": "4.12.0", - "packageName": "@rollup/rollup-win32-x64-msvc", - "hash": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==" - } - }, - "npm:@rushstack/node-core-library": { - "type": "npm", - "name": "npm:@rushstack/node-core-library", - "data": { - "version": "4.0.2", - "packageName": "@rushstack/node-core-library", - "hash": "sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==" - } - }, - "npm:@rushstack/terminal": { - "type": "npm", - "name": "npm:@rushstack/terminal", - "data": { - "version": "0.10.0", - "packageName": "@rushstack/terminal", - "hash": "sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==" - } - }, - "npm:@rushstack/ts-command-line": { - "type": "npm", - "name": "npm:@rushstack/ts-command-line", - "data": { - "version": "4.18.0", - "packageName": "@rushstack/ts-command-line", - "hash": "sha512-iq8+NCtnOhz4BR4hwmFCRzULmFd8hSbDqJWbdGG44t/fXMRsK3Drft1fiDkxWGPuD3V1x3RDYdXxAfJqKU3XpQ==" - } - }, - "npm:@sinclair/typebox": { - "type": "npm", - "name": "npm:@sinclair/typebox", - "data": { - "version": "0.27.8", - "packageName": "@sinclair/typebox", - "hash": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==" - } - }, - "npm:@slonik/migrator": { - "type": "npm", - "name": "npm:@slonik/migrator", - "data": { - "version": "0.12.0", - "packageName": "@slonik/migrator", - "hash": "sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==" - } - }, - "npm:@types/argparse": { - "type": "npm", - "name": "npm:@types/argparse", - "data": { - "version": "1.0.38", - "packageName": "@types/argparse", - "hash": "sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==" - } - }, - "npm:@types/estree": { - "type": "npm", - "name": "npm:@types/estree", - "data": { - "version": "1.0.5", - "packageName": "@types/estree", - "hash": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==" - } - }, - "npm:@types/node": { - "type": "npm", - "name": "npm:@types/node", - "data": { - "version": "20.11.24", - "packageName": "@types/node", - "hash": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==" - } - }, - "npm:@vitest/expect": { - "type": "npm", - "name": "npm:@vitest/expect", - "data": { - "version": "1.3.1", - "packageName": "@vitest/expect", - "hash": "sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==" - } - }, - "npm:@vitest/runner": { - "type": "npm", - "name": "npm:@vitest/runner", - "data": { - "version": "1.3.1", - "packageName": "@vitest/runner", - "hash": "sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==" - } - }, - "npm:@vitest/snapshot": { - "type": "npm", - "name": "npm:@vitest/snapshot", - "data": { - "version": "1.3.1", - "packageName": "@vitest/snapshot", - "hash": "sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==" - } - }, - "npm:@vitest/spy": { - "type": "npm", - "name": "npm:@vitest/spy", - "data": { - "version": "1.3.1", - "packageName": "@vitest/spy", - "hash": "sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==" - } - }, - "npm:@vitest/utils": { - "type": "npm", - "name": "npm:@vitest/utils", - "data": { - "version": "1.3.1", - "packageName": "@vitest/utils", - "hash": "sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==" - } - }, - "npm:@yarnpkg/lockfile": { - "type": "npm", - "name": "npm:@yarnpkg/lockfile", - "data": { - "version": "1.1.0", - "packageName": "@yarnpkg/lockfile", - "hash": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==" - } - }, - "npm:@yarnpkg/parsers": { - "type": "npm", - "name": "npm:@yarnpkg/parsers", - "data": { - "version": "3.0.0-rc.46", - "packageName": "@yarnpkg/parsers", - "hash": "sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==" - } - }, - "npm:@zkochan/js-yaml": { - "type": "npm", - "name": "npm:@zkochan/js-yaml", - "data": { - "version": "0.0.6", - "packageName": "@zkochan/js-yaml", - "hash": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==" - } - }, - "npm:acorn-walk": { - "type": "npm", - "name": "npm:acorn-walk", - "data": { - "version": "8.3.2", - "packageName": "acorn-walk", - "hash": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==" - } - }, - "npm:acorn": { - "type": "npm", - "name": "npm:acorn", - "data": { - "version": "8.11.3", - "packageName": "acorn", - "hash": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==" - } - }, - "npm:ansi-colors": { - "type": "npm", - "name": "npm:ansi-colors", - "data": { - "version": "4.1.3", - "packageName": "ansi-colors", - "hash": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==" - } - }, - "npm:ansi-regex": { - "type": "npm", - "name": "npm:ansi-regex", - "data": { - "version": "5.0.1", - "packageName": "ansi-regex", - "hash": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - } - }, - "npm:ansi-styles": { - "type": "npm", - "name": "npm:ansi-styles", - "data": { - "version": "4.3.0", - "packageName": "ansi-styles", - "hash": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==" - } - }, - "npm:ansi-styles@5.2.0": { - "type": "npm", - "name": "npm:ansi-styles@5.2.0", - "data": { - "version": "5.2.0", - "packageName": "ansi-styles", - "hash": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==" - } - }, - "npm:argparse": { - "type": "npm", - "name": "npm:argparse", - "data": { - "version": "1.0.10", - "packageName": "argparse", - "hash": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==" - } - }, - "npm:argparse@2.0.1": { - "type": "npm", - "name": "npm:argparse@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "argparse", - "hash": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" - } - }, - "npm:assertion-error": { - "type": "npm", - "name": "npm:assertion-error", - "data": { - "version": "1.1.0", - "packageName": "assertion-error", - "hash": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==" - } - }, - "npm:asynckit": { - "type": "npm", - "name": "npm:asynckit", - "data": { - "version": "0.4.0", - "packageName": "asynckit", - "hash": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" - } - }, - "npm:axios": { - "type": "npm", - "name": "npm:axios", - "data": { - "version": "1.6.7", - "packageName": "axios", - "hash": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==" - } - }, - "npm:balanced-match": { - "type": "npm", - "name": "npm:balanced-match", - "data": { - "version": "1.0.2", - "packageName": "balanced-match", - "hash": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" - } - }, - "npm:base64-js": { - "type": "npm", - "name": "npm:base64-js", - "data": { - "version": "1.5.1", - "packageName": "base64-js", - "hash": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - } - }, - "npm:bl": { - "type": "npm", - "name": "npm:bl", - "data": { - "version": "4.1.0", - "packageName": "bl", - "hash": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==" - } - }, - "npm:bluebird": { - "type": "npm", - "name": "npm:bluebird", - "data": { - "version": "3.7.2", - "packageName": "bluebird", - "hash": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" - } - }, - "npm:boolean": { - "type": "npm", - "name": "npm:boolean", - "data": { - "version": "3.2.0", - "packageName": "boolean", - "hash": "sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==" - } - }, - "npm:brace-expansion": { - "type": "npm", - "name": "npm:brace-expansion", - "data": { - "version": "2.0.1", - "packageName": "brace-expansion", - "hash": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==" - } - }, - "npm:buffer-from": { - "type": "npm", - "name": "npm:buffer-from", - "data": { - "version": "1.1.2", - "packageName": "buffer-from", - "hash": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==" - } - }, - "npm:buffer-writer": { - "type": "npm", - "name": "npm:buffer-writer", - "data": { - "version": "2.0.0", - "packageName": "buffer-writer", - "hash": "sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==" - } - }, - "npm:buffer": { - "type": "npm", - "name": "npm:buffer", - "data": { - "version": "5.7.1", - "packageName": "buffer", - "hash": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==" - } - }, - "npm:bufferput": { - "type": "npm", - "name": "npm:bufferput", - "data": { - "version": "0.1.3", - "packageName": "bufferput", - "hash": "sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==" - } - }, - "npm:cac": { - "type": "npm", - "name": "npm:cac", - "data": { - "version": "6.7.14", - "packageName": "cac", - "hash": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==" - } - }, - "npm:chai": { - "type": "npm", - "name": "npm:chai", - "data": { - "version": "4.4.1", - "packageName": "chai", - "hash": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==" - } - }, - "npm:chalk": { - "type": "npm", - "name": "npm:chalk", - "data": { - "version": "4.1.2", - "packageName": "chalk", - "hash": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==" - } - }, - "npm:check-error": { - "type": "npm", - "name": "npm:check-error", - "data": { - "version": "1.0.3", - "packageName": "check-error", - "hash": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==" - } - }, - "npm:cli-cursor": { - "type": "npm", - "name": "npm:cli-cursor", - "data": { - "version": "3.1.0", - "packageName": "cli-cursor", - "hash": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==" - } - }, - "npm:cli-spinners": { - "type": "npm", - "name": "npm:cli-spinners", - "data": { - "version": "2.6.1", - "packageName": "cli-spinners", - "hash": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" - } - }, - "npm:cliui": { - "type": "npm", - "name": "npm:cliui", - "data": { - "version": "8.0.1", - "packageName": "cliui", - "hash": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==" - } - }, - "npm:clone": { - "type": "npm", - "name": "npm:clone", - "data": { - "version": "1.0.4", - "packageName": "clone", - "hash": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - } - }, - "npm:color-convert": { - "type": "npm", - "name": "npm:color-convert", - "data": { - "version": "2.0.1", - "packageName": "color-convert", - "hash": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==" - } - }, - "npm:color-name": { - "type": "npm", - "name": "npm:color-name", - "data": { - "version": "1.1.4", - "packageName": "color-name", - "hash": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - } - }, - "npm:combined-stream": { - "type": "npm", - "name": "npm:combined-stream", - "data": { - "version": "1.0.8", - "packageName": "combined-stream", - "hash": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==" - } - }, - "npm:commander": { - "type": "npm", - "name": "npm:commander", - "data": { - "version": "9.5.0", - "packageName": "commander", - "hash": "sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==" - } - }, - "npm:concat-stream": { - "type": "npm", - "name": "npm:concat-stream", - "data": { - "version": "2.0.0", - "packageName": "concat-stream", - "hash": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==" - } - }, - "npm:cross-spawn": { - "type": "npm", - "name": "npm:cross-spawn", - "data": { - "version": "7.0.3", - "packageName": "cross-spawn", - "hash": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==" - } - }, - "npm:debug": { - "type": "npm", - "name": "npm:debug", - "data": { - "version": "4.3.4", - "packageName": "debug", - "hash": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==" - } - }, - "npm:deep-eql": { - "type": "npm", - "name": "npm:deep-eql", - "data": { - "version": "4.1.3", - "packageName": "deep-eql", - "hash": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==" - } - }, - "npm:defaults": { - "type": "npm", - "name": "npm:defaults", - "data": { - "version": "1.0.4", - "packageName": "defaults", - "hash": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==" - } - }, - "npm:define-lazy-prop": { - "type": "npm", - "name": "npm:define-lazy-prop", - "data": { - "version": "2.0.0", - "packageName": "define-lazy-prop", - "hash": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==" - } - }, - "npm:delayed-stream": { - "type": "npm", - "name": "npm:delayed-stream", - "data": { - "version": "1.0.0", - "packageName": "delayed-stream", - "hash": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" - } - }, - "npm:diff-sequences": { - "type": "npm", - "name": "npm:diff-sequences", - "data": { - "version": "29.6.3", - "packageName": "diff-sequences", - "hash": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==" - } - }, - "npm:dotenv-expand": { - "type": "npm", - "name": "npm:dotenv-expand", - "data": { - "version": "10.0.0", - "packageName": "dotenv-expand", - "hash": "sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==" - } - }, - "npm:dotenv": { - "type": "npm", - "name": "npm:dotenv", - "data": { - "version": "16.3.2", - "packageName": "dotenv", - "hash": "sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==" - } - }, - "npm:duplexer": { - "type": "npm", - "name": "npm:duplexer", - "data": { - "version": "0.1.2", - "packageName": "duplexer", - "hash": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==" - } - }, - "npm:emittery": { - "type": "npm", - "name": "npm:emittery", - "data": { - "version": "0.13.1", - "packageName": "emittery", - "hash": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==" - } - }, - "npm:emoji-regex": { - "type": "npm", - "name": "npm:emoji-regex", - "data": { - "version": "8.0.0", - "packageName": "emoji-regex", - "hash": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - } - }, - "npm:end-of-stream": { - "type": "npm", - "name": "npm:end-of-stream", - "data": { - "version": "1.4.4", - "packageName": "end-of-stream", - "hash": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==" - } - }, - "npm:enquirer": { - "type": "npm", - "name": "npm:enquirer", - "data": { - "version": "2.3.6", - "packageName": "enquirer", - "hash": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==" - } - }, - "npm:es6-error": { - "type": "npm", - "name": "npm:es6-error", - "data": { - "version": "4.1.1", - "packageName": "es6-error", - "hash": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==" - } - }, - "npm:esbuild": { - "type": "npm", - "name": "npm:esbuild", - "data": { - "version": "0.19.12", - "packageName": "esbuild", - "hash": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==" - } - }, - "npm:escalade": { - "type": "npm", - "name": "npm:escalade", - "data": { - "version": "3.1.2", - "packageName": "escalade", - "hash": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==" - } - }, - "npm:escape-string-regexp": { - "type": "npm", - "name": "npm:escape-string-regexp", - "data": { - "version": "1.0.5", - "packageName": "escape-string-regexp", - "hash": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" - } - }, - "npm:esprima": { - "type": "npm", - "name": "npm:esprima", - "data": { - "version": "4.0.1", - "packageName": "esprima", - "hash": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" - } - }, - "npm:estree-walker": { - "type": "npm", - "name": "npm:estree-walker", - "data": { - "version": "3.0.3", - "packageName": "estree-walker", - "hash": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==" - } - }, - "npm:execa": { - "type": "npm", - "name": "npm:execa", - "data": { - "version": "8.0.1", - "packageName": "execa", - "hash": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==" - } - }, - "npm:fast-printf": { - "type": "npm", - "name": "npm:fast-printf", - "data": { - "version": "1.6.9", - "packageName": "fast-printf", - "hash": "sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==" - } - }, - "npm:fast-safe-stringify": { - "type": "npm", - "name": "npm:fast-safe-stringify", - "data": { - "version": "2.1.1", - "packageName": "fast-safe-stringify", - "hash": "sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==" - } - }, - "npm:figures": { - "type": "npm", - "name": "npm:figures", - "data": { - "version": "3.2.0", - "packageName": "figures", - "hash": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==" - } - }, - "npm:flat": { - "type": "npm", - "name": "npm:flat", - "data": { - "version": "5.0.2", - "packageName": "flat", - "hash": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==" - } - }, - "npm:follow-redirects": { - "type": "npm", - "name": "npm:follow-redirects", - "data": { - "version": "1.15.5", - "packageName": "follow-redirects", - "hash": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - } - }, - "npm:form-data": { - "type": "npm", - "name": "npm:form-data", - "data": { - "version": "4.0.0", - "packageName": "form-data", - "hash": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==" - } - }, - "npm:fs-constants": { - "type": "npm", - "name": "npm:fs-constants", - "data": { - "version": "1.0.0", - "packageName": "fs-constants", - "hash": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==" - } - }, - "npm:fs-extra@11.2.0": { - "type": "npm", - "name": "npm:fs-extra@11.2.0", - "data": { - "version": "11.2.0", - "packageName": "fs-extra", - "hash": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==" - } - }, - "npm:fs-extra": { - "type": "npm", - "name": "npm:fs-extra", - "data": { - "version": "7.0.1", - "packageName": "fs-extra", - "hash": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==" - } - }, - "npm:fs.realpath": { - "type": "npm", - "name": "npm:fs.realpath", - "data": { - "version": "1.0.0", - "packageName": "fs.realpath", - "hash": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" - } - }, - "npm:fsevents": { - "type": "npm", - "name": "npm:fsevents", - "data": { - "version": "2.3.3", - "packageName": "fsevents", - "hash": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==" - } - }, - "npm:function-bind": { - "type": "npm", - "name": "npm:function-bind", - "data": { - "version": "1.1.2", - "packageName": "function-bind", - "hash": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==" - } - }, - "npm:get-caller-file": { - "type": "npm", - "name": "npm:get-caller-file", - "data": { - "version": "2.0.5", - "packageName": "get-caller-file", - "hash": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - } - }, - "npm:get-func-name": { - "type": "npm", - "name": "npm:get-func-name", - "data": { - "version": "2.0.2", - "packageName": "get-func-name", - "hash": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==" - } - }, - "npm:get-stack-trace": { - "type": "npm", - "name": "npm:get-stack-trace", - "data": { - "version": "2.1.1", - "packageName": "get-stack-trace", - "hash": "sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==" - } - }, - "npm:get-stream": { - "type": "npm", - "name": "npm:get-stream", - "data": { - "version": "8.0.1", - "packageName": "get-stream", - "hash": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==" - } - }, - "npm:glob": { - "type": "npm", - "name": "npm:glob", - "data": { - "version": "8.1.0", - "packageName": "glob", - "hash": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==" - } - }, - "npm:graceful-fs": { - "type": "npm", - "name": "npm:graceful-fs", - "data": { - "version": "4.2.11", - "packageName": "graceful-fs", - "hash": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" - } - }, - "npm:has-flag": { - "type": "npm", - "name": "npm:has-flag", - "data": { - "version": "4.0.0", - "packageName": "has-flag", - "hash": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" - } - }, - "npm:hasown": { - "type": "npm", - "name": "npm:hasown", - "data": { - "version": "2.0.1", - "packageName": "hasown", - "hash": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==" - } - }, - "npm:human-signals": { - "type": "npm", - "name": "npm:human-signals", - "data": { - "version": "5.0.0", - "packageName": "human-signals", - "hash": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==" - } - }, - "npm:hyperid": { - "type": "npm", - "name": "npm:hyperid", - "data": { - "version": "2.3.1", - "packageName": "hyperid", - "hash": "sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==" - } - }, - "npm:ieee754": { - "type": "npm", - "name": "npm:ieee754", - "data": { - "version": "1.2.1", - "packageName": "ieee754", - "hash": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - } - }, - "npm:ignore": { - "type": "npm", - "name": "npm:ignore", - "data": { - "version": "5.3.1", - "packageName": "ignore", - "hash": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==" - } - }, - "npm:import-lazy": { - "type": "npm", - "name": "npm:import-lazy", - "data": { - "version": "4.0.0", - "packageName": "import-lazy", - "hash": "sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==" - } - }, - "npm:inflight": { - "type": "npm", - "name": "npm:inflight", - "data": { - "version": "1.0.6", - "packageName": "inflight", - "hash": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==" - } - }, - "npm:inherits": { - "type": "npm", - "name": "npm:inherits", - "data": { - "version": "2.0.4", - "packageName": "inherits", - "hash": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - } - }, - "npm:int64-buffer": { - "type": "npm", - "name": "npm:int64-buffer", - "data": { - "version": "0.99.1007", - "packageName": "int64-buffer", - "hash": "sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==" - } - }, - "npm:is-core-module": { - "type": "npm", - "name": "npm:is-core-module", - "data": { - "version": "2.13.1", - "packageName": "is-core-module", - "hash": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==" - } - }, - "npm:is-docker": { - "type": "npm", - "name": "npm:is-docker", - "data": { - "version": "2.2.1", - "packageName": "is-docker", - "hash": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==" - } - }, - "npm:is-fullwidth-code-point": { - "type": "npm", - "name": "npm:is-fullwidth-code-point", - "data": { - "version": "3.0.0", - "packageName": "is-fullwidth-code-point", - "hash": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - } - }, - "npm:is-interactive": { - "type": "npm", - "name": "npm:is-interactive", - "data": { - "version": "1.0.0", - "packageName": "is-interactive", - "hash": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - } - }, - "npm:is-plain-object": { - "type": "npm", - "name": "npm:is-plain-object", - "data": { - "version": "5.0.0", - "packageName": "is-plain-object", - "hash": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==" - } - }, - "npm:is-stream": { - "type": "npm", - "name": "npm:is-stream", - "data": { - "version": "3.0.0", - "packageName": "is-stream", - "hash": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==" - } - }, - "npm:is-unicode-supported": { - "type": "npm", - "name": "npm:is-unicode-supported", - "data": { - "version": "0.1.0", - "packageName": "is-unicode-supported", - "hash": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==" - } - }, - "npm:is-wsl": { - "type": "npm", - "name": "npm:is-wsl", - "data": { - "version": "2.2.0", - "packageName": "is-wsl", - "hash": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==" - } - }, - "npm:isexe": { - "type": "npm", - "name": "npm:isexe", - "data": { - "version": "2.0.0", - "packageName": "isexe", - "hash": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==" - } - }, - "npm:iso8601-duration": { - "type": "npm", - "name": "npm:iso8601-duration", - "data": { - "version": "1.3.0", - "packageName": "iso8601-duration", - "hash": "sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==" - } - }, - "npm:jest-diff": { - "type": "npm", - "name": "npm:jest-diff", - "data": { - "version": "29.7.0", - "packageName": "jest-diff", - "hash": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==" - } - }, - "npm:jest-get-type": { - "type": "npm", - "name": "npm:jest-get-type", - "data": { - "version": "29.6.3", - "packageName": "jest-get-type", - "hash": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==" - } - }, - "npm:jju": { - "type": "npm", - "name": "npm:jju", - "data": { - "version": "1.4.0", - "packageName": "jju", - "hash": "sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==" - } - }, - "npm:js-tokens": { - "type": "npm", - "name": "npm:js-tokens", - "data": { - "version": "8.0.3", - "packageName": "js-tokens", - "hash": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==" - } - }, - "npm:js-yaml@3.14.1": { - "type": "npm", - "name": "npm:js-yaml@3.14.1", - "data": { - "version": "3.14.1", - "packageName": "js-yaml", - "hash": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==" - } - }, - "npm:js-yaml": { - "type": "npm", - "name": "npm:js-yaml", - "data": { - "version": "4.1.0", - "packageName": "js-yaml", - "hash": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==" - } - }, - "npm:json5": { - "type": "npm", - "name": "npm:json5", - "data": { - "version": "2.2.3", - "packageName": "json5", - "hash": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==" - } - }, - "npm:jsonc-parser@3.2.0": { - "type": "npm", - "name": "npm:jsonc-parser@3.2.0", - "data": { - "version": "3.2.0", - "packageName": "jsonc-parser", - "hash": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==" - } - }, - "npm:jsonc-parser": { - "type": "npm", - "name": "npm:jsonc-parser", - "data": { - "version": "3.2.1", - "packageName": "jsonc-parser", - "hash": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==" - } - }, - "npm:jsonfile": { - "type": "npm", - "name": "npm:jsonfile", - "data": { - "version": "4.0.0", - "packageName": "jsonfile", - "hash": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==" - } - }, - "npm:jsonfile@6.1.0": { - "type": "npm", - "name": "npm:jsonfile@6.1.0", - "data": { - "version": "6.1.0", - "packageName": "jsonfile", - "hash": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==" - } - }, - "npm:lines-and-columns": { - "type": "npm", - "name": "npm:lines-and-columns", - "data": { - "version": "2.0.4", - "packageName": "lines-and-columns", - "hash": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==" - } - }, - "npm:local-pkg": { - "type": "npm", - "name": "npm:local-pkg", - "data": { - "version": "0.5.0", - "packageName": "local-pkg", - "hash": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==" - } - }, - "npm:lodash.get": { - "type": "npm", - "name": "npm:lodash.get", - "data": { - "version": "4.4.2", - "packageName": "lodash.get", - "hash": "sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==" - } - }, - "npm:lodash.isequal": { - "type": "npm", - "name": "npm:lodash.isequal", - "data": { - "version": "4.5.0", - "packageName": "lodash.isequal", - "hash": "sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==" - } - }, - "npm:lodash.sortby": { - "type": "npm", - "name": "npm:lodash.sortby", - "data": { - "version": "4.7.0", - "packageName": "lodash.sortby", - "hash": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" - } - }, - "npm:log-symbols": { - "type": "npm", - "name": "npm:log-symbols", - "data": { - "version": "4.1.0", - "packageName": "log-symbols", - "hash": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==" - } - }, - "npm:loupe": { - "type": "npm", - "name": "npm:loupe", - "data": { - "version": "2.3.7", - "packageName": "loupe", - "hash": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==" - } - }, - "npm:lru-cache": { - "type": "npm", - "name": "npm:lru-cache", - "data": { - "version": "6.0.0", - "packageName": "lru-cache", - "hash": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==" - } - }, - "npm:magic-string": { - "type": "npm", - "name": "npm:magic-string", - "data": { - "version": "0.30.7", - "packageName": "magic-string", - "hash": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==" - } - }, - "npm:merge-stream": { - "type": "npm", - "name": "npm:merge-stream", - "data": { - "version": "2.0.0", - "packageName": "merge-stream", - "hash": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==" - } - }, - "npm:mime-db": { - "type": "npm", - "name": "npm:mime-db", - "data": { - "version": "1.52.0", - "packageName": "mime-db", - "hash": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" - } - }, - "npm:mime-types": { - "type": "npm", - "name": "npm:mime-types", - "data": { - "version": "2.1.35", - "packageName": "mime-types", - "hash": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==" - } - }, - "npm:mimic-fn@2.1.0": { - "type": "npm", - "name": "npm:mimic-fn@2.1.0", - "data": { - "version": "2.1.0", - "packageName": "mimic-fn", - "hash": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - } - }, - "npm:mimic-fn": { - "type": "npm", - "name": "npm:mimic-fn", - "data": { - "version": "4.0.0", - "packageName": "mimic-fn", - "hash": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==" - } - }, - "npm:minimatch@5.1.6": { - "type": "npm", - "name": "npm:minimatch@5.1.6", - "data": { - "version": "5.1.6", - "packageName": "minimatch", - "hash": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==" - } - }, - "npm:minimatch": { - "type": "npm", - "name": "npm:minimatch", - "data": { - "version": "9.0.3", - "packageName": "minimatch", - "hash": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==" - } - }, - "npm:minimist": { - "type": "npm", - "name": "npm:minimist", - "data": { - "version": "1.2.8", - "packageName": "minimist", - "hash": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==" - } - }, - "npm:mlly": { - "type": "npm", - "name": "npm:mlly", - "data": { - "version": "1.6.1", - "packageName": "mlly", - "hash": "sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==" - } - }, - "npm:ms": { - "type": "npm", - "name": "npm:ms", - "data": { - "version": "2.1.2", - "packageName": "ms", - "hash": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - } - }, - "npm:multi-fork": { - "type": "npm", - "name": "npm:multi-fork", - "data": { - "version": "0.0.2", - "packageName": "multi-fork", - "hash": "sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==" - } - }, - "npm:nanoid": { - "type": "npm", - "name": "npm:nanoid", - "data": { - "version": "3.3.7", - "packageName": "nanoid", - "hash": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==" - } - }, - "npm:node-machine-id": { - "type": "npm", - "name": "npm:node-machine-id", - "data": { - "version": "1.1.12", - "packageName": "node-machine-id", - "hash": "sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==" - } - }, - "npm:npm-run-path@4.0.1": { - "type": "npm", - "name": "npm:npm-run-path@4.0.1", - "data": { - "version": "4.0.1", - "packageName": "npm-run-path", - "hash": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==" - } - }, - "npm:npm-run-path": { - "type": "npm", - "name": "npm:npm-run-path", - "data": { - "version": "5.3.0", - "packageName": "npm-run-path", - "hash": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==" - } - }, - "npm:nx": { - "type": "npm", - "name": "npm:nx", - "data": { - "version": "18.0.6", - "packageName": "nx", - "hash": "sha512-x+xDOnY6+NTswASyOfWQbahmW6remJC986GklbvKHk76QPTs4Gydp8so4M7chFi/+/DvqPqY4w1wzIDr/Z4o8g==" - } - }, - "npm:obuf": { - "type": "npm", - "name": "npm:obuf", - "data": { - "version": "1.1.2", - "packageName": "obuf", - "hash": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" - } - }, - "npm:once": { - "type": "npm", - "name": "npm:once", - "data": { - "version": "1.4.0", - "packageName": "once", - "hash": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==" - } - }, - "npm:onetime@5.1.2": { - "type": "npm", - "name": "npm:onetime@5.1.2", - "data": { - "version": "5.1.2", - "packageName": "onetime", - "hash": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==" - } - }, - "npm:onetime": { - "type": "npm", - "name": "npm:onetime", - "data": { - "version": "6.0.0", - "packageName": "onetime", - "hash": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==" - } - }, - "npm:open": { - "type": "npm", - "name": "npm:open", - "data": { - "version": "8.4.2", - "packageName": "open", - "hash": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==" - } - }, - "npm:ora": { - "type": "npm", - "name": "npm:ora", - "data": { - "version": "5.3.0", - "packageName": "ora", - "hash": "sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==" - } - }, - "npm:p-defer": { - "type": "npm", - "name": "npm:p-defer", - "data": { - "version": "3.0.0", - "packageName": "p-defer", - "hash": "sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==" - } - }, - "npm:p-limit": { - "type": "npm", - "name": "npm:p-limit", - "data": { - "version": "5.0.0", - "packageName": "p-limit", - "hash": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==" - } - }, - "npm:packet-reader": { - "type": "npm", - "name": "npm:packet-reader", - "data": { - "version": "1.0.0", - "packageName": "packet-reader", - "hash": "sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==" - } - }, - "npm:path-key": { - "type": "npm", - "name": "npm:path-key", - "data": { - "version": "3.1.1", - "packageName": "path-key", - "hash": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==" - } - }, - "npm:path-key@4.0.0": { - "type": "npm", - "name": "npm:path-key@4.0.0", - "data": { - "version": "4.0.0", - "packageName": "path-key", - "hash": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==" - } - }, - "npm:path-parse": { - "type": "npm", - "name": "npm:path-parse", - "data": { - "version": "1.0.7", - "packageName": "path-parse", - "hash": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" - } - }, - "npm:pathe": { - "type": "npm", - "name": "npm:pathe", - "data": { - "version": "1.1.2", - "packageName": "pathe", - "hash": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==" - } - }, - "npm:pathval": { - "type": "npm", - "name": "npm:pathval", - "data": { - "version": "1.1.1", - "packageName": "pathval", - "hash": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==" - } - }, - "npm:pg-cloudflare": { - "type": "npm", - "name": "npm:pg-cloudflare", - "data": { - "version": "1.1.1", - "packageName": "pg-cloudflare", - "hash": "sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==" - } - }, - "npm:pg-connection-string": { - "type": "npm", - "name": "npm:pg-connection-string", - "data": { - "version": "2.6.2", - "packageName": "pg-connection-string", - "hash": "sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==" - } - }, - "npm:pg-copy-streams-binary": { - "type": "npm", - "name": "npm:pg-copy-streams-binary", - "data": { - "version": "2.2.0", - "packageName": "pg-copy-streams-binary", - "hash": "sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==" - } - }, - "npm:pg-copy-streams": { - "type": "npm", - "name": "npm:pg-copy-streams", - "data": { - "version": "6.0.6", - "packageName": "pg-copy-streams", - "hash": "sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==" - } - }, - "npm:pg-cursor": { - "type": "npm", - "name": "npm:pg-cursor", - "data": { - "version": "2.10.3", - "packageName": "pg-cursor", - "hash": "sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==" - } - }, - "npm:pg-int8": { - "type": "npm", - "name": "npm:pg-int8", - "data": { - "version": "1.0.1", - "packageName": "pg-int8", - "hash": "sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==" - } - }, - "npm:pg-pool": { - "type": "npm", - "name": "npm:pg-pool", - "data": { - "version": "3.6.1", - "packageName": "pg-pool", - "hash": "sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==" - } - }, - "npm:pg-protocol": { - "type": "npm", - "name": "npm:pg-protocol", - "data": { - "version": "1.6.0", - "packageName": "pg-protocol", - "hash": "sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==" - } - }, - "npm:pg-types": { - "type": "npm", - "name": "npm:pg-types", - "data": { - "version": "2.2.0", - "packageName": "pg-types", - "hash": "sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==" - } - }, - "npm:pg": { - "type": "npm", - "name": "npm:pg", - "data": { - "version": "8.11.3", - "packageName": "pg", - "hash": "sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==" - } - }, - "npm:pgpass": { - "type": "npm", - "name": "npm:pgpass", - "data": { - "version": "1.0.5", - "packageName": "pgpass", - "hash": "sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==" - } - }, - "npm:picocolors": { - "type": "npm", - "name": "npm:picocolors", - "data": { - "version": "1.0.0", - "packageName": "picocolors", - "hash": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" - } - }, - "npm:pkg-types": { - "type": "npm", - "name": "npm:pkg-types", - "data": { - "version": "1.0.3", - "packageName": "pkg-types", - "hash": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==" - } - }, - "npm:pony-cause": { - "type": "npm", - "name": "npm:pony-cause", - "data": { - "version": "2.1.10", - "packageName": "pony-cause", - "hash": "sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==" - } - }, - "npm:postcss": { - "type": "npm", - "name": "npm:postcss", - "data": { - "version": "8.4.35", - "packageName": "postcss", - "hash": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==" - } - }, - "npm:postgres-array@2.0.0": { - "type": "npm", - "name": "npm:postgres-array@2.0.0", - "data": { - "version": "2.0.0", - "packageName": "postgres-array", - "hash": "sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==" - } - }, - "npm:postgres-array": { - "type": "npm", - "name": "npm:postgres-array", - "data": { - "version": "3.0.2", - "packageName": "postgres-array", - "hash": "sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==" - } - }, - "npm:postgres-bytea": { - "type": "npm", - "name": "npm:postgres-bytea", - "data": { - "version": "1.0.0", - "packageName": "postgres-bytea", - "hash": "sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==" - } - }, - "npm:postgres-date": { - "type": "npm", - "name": "npm:postgres-date", - "data": { - "version": "1.0.7", - "packageName": "postgres-date", - "hash": "sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==" - } - }, - "npm:postgres-interval@1.2.0": { - "type": "npm", - "name": "npm:postgres-interval@1.2.0", - "data": { - "version": "1.2.0", - "packageName": "postgres-interval", - "hash": "sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==" - } - }, - "npm:postgres-interval": { - "type": "npm", - "name": "npm:postgres-interval", - "data": { - "version": "4.0.2", - "packageName": "postgres-interval", - "hash": "sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==" - } - }, - "npm:prettier": { - "type": "npm", - "name": "npm:prettier", - "data": { - "version": "3.2.4", - "packageName": "prettier", - "hash": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==" - } - }, - "npm:pretty-format": { - "type": "npm", - "name": "npm:pretty-format", - "data": { - "version": "29.7.0", - "packageName": "pretty-format", - "hash": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==" - } - }, - "npm:proxy-from-env": { - "type": "npm", - "name": "npm:proxy-from-env", - "data": { - "version": "1.1.0", - "packageName": "proxy-from-env", - "hash": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - } - }, - "npm:punycode": { - "type": "npm", - "name": "npm:punycode", - "data": { - "version": "2.3.1", - "packageName": "punycode", - "hash": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==" - } - }, - "npm:react-is": { - "type": "npm", - "name": "npm:react-is", - "data": { - "version": "18.2.0", - "packageName": "react-is", - "hash": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" - } - }, - "npm:readable-stream": { - "type": "npm", - "name": "npm:readable-stream", - "data": { - "version": "3.6.2", - "packageName": "readable-stream", - "hash": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==" - } - }, - "npm:require-directory": { - "type": "npm", - "name": "npm:require-directory", - "data": { - "version": "2.1.1", - "packageName": "require-directory", - "hash": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==" - } - }, - "npm:resolve": { - "type": "npm", - "name": "npm:resolve", - "data": { - "version": "1.22.8", - "packageName": "resolve", - "hash": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==" - } - }, - "npm:restore-cursor": { - "type": "npm", - "name": "npm:restore-cursor", - "data": { - "version": "3.1.0", - "packageName": "restore-cursor", - "hash": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==" - } - }, - "npm:roarr": { - "type": "npm", - "name": "npm:roarr", - "data": { - "version": "7.21.0", - "packageName": "roarr", - "hash": "sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==" - } - }, - "npm:rollup": { - "type": "npm", - "name": "npm:rollup", - "data": { - "version": "4.12.0", - "packageName": "rollup", - "hash": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==" - } - }, - "npm:safe-buffer": { - "type": "npm", - "name": "npm:safe-buffer", - "data": { - "version": "5.2.1", - "packageName": "safe-buffer", - "hash": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - } - }, - "npm:safe-stable-stringify": { - "type": "npm", - "name": "npm:safe-stable-stringify", - "data": { - "version": "2.4.3", - "packageName": "safe-stable-stringify", - "hash": "sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==" - } - }, - "npm:semver-compare": { - "type": "npm", - "name": "npm:semver-compare", - "data": { - "version": "1.0.0", - "packageName": "semver-compare", - "hash": "sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==" - } - }, - "npm:semver": { - "type": "npm", - "name": "npm:semver", - "data": { - "version": "7.5.4", - "packageName": "semver", - "hash": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==" - } - }, - "npm:semver@7.6.0": { - "type": "npm", - "name": "npm:semver@7.6.0", - "data": { - "version": "7.6.0", - "packageName": "semver", - "hash": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==" - } - }, - "npm:serialize-error": { - "type": "npm", - "name": "npm:serialize-error", - "data": { - "version": "8.1.0", - "packageName": "serialize-error", - "hash": "sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==" - } - }, - "npm:shebang-command": { - "type": "npm", - "name": "npm:shebang-command", - "data": { - "version": "2.0.0", - "packageName": "shebang-command", - "hash": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==" - } - }, - "npm:shebang-regex": { - "type": "npm", - "name": "npm:shebang-regex", - "data": { - "version": "3.0.0", - "packageName": "shebang-regex", - "hash": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==" - } - }, - "npm:siginfo": { - "type": "npm", - "name": "npm:siginfo", - "data": { - "version": "2.0.0", - "packageName": "siginfo", - "hash": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==" - } - }, - "npm:signal-exit": { - "type": "npm", - "name": "npm:signal-exit", - "data": { - "version": "3.0.7", - "packageName": "signal-exit", - "hash": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" - } - }, - "npm:signal-exit@4.1.0": { - "type": "npm", - "name": "npm:signal-exit@4.1.0", - "data": { - "version": "4.1.0", - "packageName": "signal-exit", - "hash": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" - } - }, - "npm:slonik": { - "type": "npm", - "name": "npm:slonik", - "data": { - "version": "29.2.0", - "packageName": "slonik", - "hash": "sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==" - } - }, - "npm:source-map-js": { - "type": "npm", - "name": "npm:source-map-js", - "data": { - "version": "1.0.2", - "packageName": "source-map-js", - "hash": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==" - } - }, - "npm:source-map": { - "type": "npm", - "name": "npm:source-map", - "data": { - "version": "0.8.0-beta.0", - "packageName": "source-map", - "hash": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==" - } - }, - "npm:split2": { - "type": "npm", - "name": "npm:split2", - "data": { - "version": "4.2.0", - "packageName": "split2", - "hash": "sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==" - } - }, - "npm:sprintf-js": { - "type": "npm", - "name": "npm:sprintf-js", - "data": { - "version": "1.0.3", - "packageName": "sprintf-js", - "hash": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==" - } - }, - "npm:stackback": { - "type": "npm", - "name": "npm:stackback", - "data": { - "version": "0.0.2", - "packageName": "stackback", - "hash": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==" - } - }, - "npm:std-env": { - "type": "npm", - "name": "npm:std-env", - "data": { - "version": "3.7.0", - "packageName": "std-env", - "hash": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==" - } - }, - "npm:string-argv": { - "type": "npm", - "name": "npm:string-argv", - "data": { - "version": "0.3.2", - "packageName": "string-argv", - "hash": "sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==" - } - }, - "npm:string-width": { - "type": "npm", - "name": "npm:string-width", - "data": { - "version": "4.2.3", - "packageName": "string-width", - "hash": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==" - } - }, - "npm:string_decoder": { - "type": "npm", - "name": "npm:string_decoder", - "data": { - "version": "1.3.0", - "packageName": "string_decoder", - "hash": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==" - } - }, - "npm:strip-ansi": { - "type": "npm", - "name": "npm:strip-ansi", - "data": { - "version": "6.0.1", - "packageName": "strip-ansi", - "hash": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==" - } - }, - "npm:strip-bom": { - "type": "npm", - "name": "npm:strip-bom", - "data": { - "version": "3.0.0", - "packageName": "strip-bom", - "hash": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==" - } - }, - "npm:strip-final-newline": { - "type": "npm", - "name": "npm:strip-final-newline", - "data": { - "version": "3.0.0", - "packageName": "strip-final-newline", - "hash": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==" - } - }, - "npm:strip-literal": { - "type": "npm", - "name": "npm:strip-literal", - "data": { - "version": "2.0.0", - "packageName": "strip-literal", - "hash": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==" - } - }, - "npm:strong-log-transformer": { - "type": "npm", - "name": "npm:strong-log-transformer", - "data": { - "version": "2.1.0", - "packageName": "strong-log-transformer", - "hash": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==" - } - }, - "npm:supports-color@7.2.0": { - "type": "npm", - "name": "npm:supports-color@7.2.0", - "data": { - "version": "7.2.0", - "packageName": "supports-color", - "hash": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==" - } - }, - "npm:supports-color": { - "type": "npm", - "name": "npm:supports-color", - "data": { - "version": "8.1.1", - "packageName": "supports-color", - "hash": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==" - } - }, - "npm:supports-preserve-symlinks-flag": { - "type": "npm", - "name": "npm:supports-preserve-symlinks-flag", - "data": { - "version": "1.0.0", - "packageName": "supports-preserve-symlinks-flag", - "hash": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" - } - }, - "npm:tar-stream": { - "type": "npm", - "name": "npm:tar-stream", - "data": { - "version": "2.2.0", - "packageName": "tar-stream", - "hash": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==" - } - }, - "npm:through2@3.0.2": { - "type": "npm", - "name": "npm:through2@3.0.2", - "data": { - "version": "3.0.2", - "packageName": "through2", - "hash": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==" - } - }, - "npm:through2": { - "type": "npm", - "name": "npm:through2", - "data": { - "version": "4.0.2", - "packageName": "through2", - "hash": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==" - } - }, - "npm:through": { - "type": "npm", - "name": "npm:through", - "data": { - "version": "2.3.8", - "packageName": "through", - "hash": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - } - }, - "npm:tinybench": { - "type": "npm", - "name": "npm:tinybench", - "data": { - "version": "2.6.0", - "packageName": "tinybench", - "hash": "sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==" - } - }, - "npm:tinypool": { - "type": "npm", - "name": "npm:tinypool", - "data": { - "version": "0.8.2", - "packageName": "tinypool", - "hash": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==" - } - }, - "npm:tinyspy": { - "type": "npm", - "name": "npm:tinyspy", - "data": { - "version": "2.2.1", - "packageName": "tinyspy", - "hash": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==" - } - }, - "npm:tmp": { - "type": "npm", - "name": "npm:tmp", - "data": { - "version": "0.2.3", - "packageName": "tmp", - "hash": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==" - } - }, - "npm:tr46": { - "type": "npm", - "name": "npm:tr46", - "data": { - "version": "1.0.1", - "packageName": "tr46", - "hash": "sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==" - } - }, - "npm:tsconfig-paths": { - "type": "npm", - "name": "npm:tsconfig-paths", - "data": { - "version": "4.2.0", - "packageName": "tsconfig-paths", - "hash": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==" - } - }, - "npm:tslib": { - "type": "npm", - "name": "npm:tslib", - "data": { - "version": "2.6.2", - "packageName": "tslib", - "hash": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - } - }, - "npm:type-detect": { - "type": "npm", - "name": "npm:type-detect", - "data": { - "version": "4.0.8", - "packageName": "type-detect", - "hash": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==" - } - }, - "npm:type-fest": { - "type": "npm", - "name": "npm:type-fest", - "data": { - "version": "0.20.2", - "packageName": "type-fest", - "hash": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==" - } - }, - "npm:type-fest@4.10.3": { - "type": "npm", - "name": "npm:type-fest@4.10.3", - "data": { - "version": "4.10.3", - "packageName": "type-fest", - "hash": "sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==" - } - }, - "npm:typedarray": { - "type": "npm", - "name": "npm:typedarray", - "data": { - "version": "0.0.6", - "packageName": "typedarray", - "hash": "sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==" - } - }, - "npm:typescript": { - "type": "npm", - "name": "npm:typescript", - "data": { - "version": "5.3.3", - "packageName": "typescript", - "hash": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==" - } - }, - "npm:ufo": { - "type": "npm", - "name": "npm:ufo", - "data": { - "version": "1.4.0", - "packageName": "ufo", - "hash": "sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==" - } - }, - "npm:umzug": { - "type": "npm", - "name": "npm:umzug", - "data": { - "version": "3.7.0", - "packageName": "umzug", - "hash": "sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==" - } - }, - "npm:undici-types": { - "type": "npm", - "name": "npm:undici-types", - "data": { - "version": "5.26.5", - "packageName": "undici-types", - "hash": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==" - } - }, - "npm:universalify": { - "type": "npm", - "name": "npm:universalify", - "data": { - "version": "0.1.2", - "packageName": "universalify", - "hash": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==" - } - }, - "npm:universalify@2.0.1": { - "type": "npm", - "name": "npm:universalify@2.0.1", - "data": { - "version": "2.0.1", - "packageName": "universalify", - "hash": "sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==" - } - }, - "npm:util-deprecate": { - "type": "npm", - "name": "npm:util-deprecate", - "data": { - "version": "1.0.2", - "packageName": "util-deprecate", - "hash": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - } - }, - "npm:uuid-parse": { - "type": "npm", - "name": "npm:uuid-parse", - "data": { - "version": "1.1.0", - "packageName": "uuid-parse", - "hash": "sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==" - } - }, - "npm:uuid": { - "type": "npm", - "name": "npm:uuid", - "data": { - "version": "8.3.2", - "packageName": "uuid", - "hash": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" - } - }, - "npm:validator": { - "type": "npm", - "name": "npm:validator", - "data": { - "version": "13.11.0", - "packageName": "validator", - "hash": "sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==" - } - }, - "npm:vite-node": { - "type": "npm", - "name": "npm:vite-node", - "data": { - "version": "1.3.1", - "packageName": "vite-node", - "hash": "sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==" - } - }, - "npm:vite": { - "type": "npm", - "name": "npm:vite", - "data": { - "version": "5.1.4", - "packageName": "vite", - "hash": "sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==" - } - }, - "npm:vitest": { - "type": "npm", - "name": "npm:vitest", - "data": { - "version": "1.3.1", - "packageName": "vitest", - "hash": "sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==" - } - }, - "npm:wcwidth": { - "type": "npm", - "name": "npm:wcwidth", - "data": { - "version": "1.0.1", - "packageName": "wcwidth", - "hash": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==" - } - }, - "npm:webidl-conversions": { - "type": "npm", - "name": "npm:webidl-conversions", - "data": { - "version": "4.0.2", - "packageName": "webidl-conversions", - "hash": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==" - } - }, - "npm:whatwg-url": { - "type": "npm", - "name": "npm:whatwg-url", - "data": { - "version": "7.1.0", - "packageName": "whatwg-url", - "hash": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==" - } - }, - "npm:which": { - "type": "npm", - "name": "npm:which", - "data": { - "version": "2.0.2", - "packageName": "which", - "hash": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==" - } - }, - "npm:why-is-node-running": { - "type": "npm", - "name": "npm:why-is-node-running", - "data": { - "version": "2.2.2", - "packageName": "why-is-node-running", - "hash": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==" - } - }, - "npm:wrap-ansi": { - "type": "npm", - "name": "npm:wrap-ansi", - "data": { - "version": "7.0.0", - "packageName": "wrap-ansi", - "hash": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==" - } - }, - "npm:wrappy": { - "type": "npm", - "name": "npm:wrappy", - "data": { - "version": "1.0.2", - "packageName": "wrappy", - "hash": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==" - } - }, - "npm:xtend": { - "type": "npm", - "name": "npm:xtend", - "data": { - "version": "4.0.2", - "packageName": "xtend", - "hash": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" - } - }, - "npm:y18n": { - "type": "npm", - "name": "npm:y18n", - "data": { - "version": "5.0.8", - "packageName": "y18n", - "hash": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==" - } - }, - "npm:yallist": { - "type": "npm", - "name": "npm:yallist", - "data": { - "version": "4.0.0", - "packageName": "yallist", - "hash": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" - } - }, - "npm:yargs-parser": { - "type": "npm", - "name": "npm:yargs-parser", - "data": { - "version": "21.1.1", - "packageName": "yargs-parser", - "hash": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==" - } - }, - "npm:yargs": { - "type": "npm", - "name": "npm:yargs", - "data": { - "version": "17.7.2", - "packageName": "yargs", - "hash": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==" - } - }, - "npm:yocto-queue": { - "type": "npm", - "name": "npm:yocto-queue", - "data": { - "version": "1.0.0", - "packageName": "yocto-queue", - "hash": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==" - } - }, - "npm:z-schema": { - "type": "npm", - "name": "npm:z-schema", - "data": { - "version": "5.0.5", - "packageName": "z-schema", - "hash": "sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==" - } - } - }, - "dependencies": { - "shared-packets": [], - "@rusty-motors/thebeast": [ - { - "source": "@rusty-motors/thebeast", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:prettier", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:typescript", - "type": "static" - }, - { - "source": "@rusty-motors/thebeast", - "target": "npm:vitest", - "type": "static" - } - ], - "npm:@jest/schemas": [ - { - "source": "npm:@jest/schemas", - "target": "npm:@sinclair/typebox", - "type": "static" - } - ], - "npm:@nrwl/tao": [ - { - "source": "npm:@nrwl/tao", - "target": "npm:nx", - "type": "static" - }, - { - "source": "npm:@nrwl/tao", - "target": "npm:tslib", - "type": "static" - } - ], - "npm:@rushstack/node-core-library": [ - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:fs-extra", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:import-lazy", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:jju", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:resolve", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:semver", - "type": "static" - }, - { - "source": "npm:@rushstack/node-core-library", - "target": "npm:z-schema", - "type": "static" - } - ], - "npm:@rushstack/terminal": [ - { - "source": "npm:@rushstack/terminal", - "target": "npm:@rushstack/node-core-library", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:@rushstack/terminal", - "target": "npm:supports-color", - "type": "static" - } - ], - "npm:@rushstack/ts-command-line": [ - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@rushstack/terminal", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:@types/argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:@rushstack/ts-command-line", - "target": "npm:string-argv", - "type": "static" - } - ], - "npm:@slonik/migrator": [ - { - "source": "npm:@slonik/migrator", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:slonik", - "type": "static" - }, - { - "source": "npm:@slonik/migrator", - "target": "npm:umzug", - "type": "static" - } - ], - "npm:@types/node": [ - { - "source": "npm:@types/node", - "target": "npm:undici-types", - "type": "static" - } - ], - "npm:@vitest/expect": [ - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/expect", - "target": "npm:chai", - "type": "static" - } - ], - "npm:@vitest/runner": [ - { - "source": "npm:@vitest/runner", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:p-limit", - "type": "static" - }, - { - "source": "npm:@vitest/runner", - "target": "npm:pathe", - "type": "static" - } - ], - "npm:@vitest/snapshot": [ - { - "source": "npm:@vitest/snapshot", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:@vitest/snapshot", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:@vitest/spy": [ - { - "source": "npm:@vitest/spy", - "target": "npm:tinyspy", - "type": "static" - } - ], - "npm:@vitest/utils": [ - { - "source": "npm:@vitest/utils", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:estree-walker", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:@vitest/utils", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:@yarnpkg/parsers": [ - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:js-yaml@3.14.1", - "type": "static" - }, - { - "source": "npm:@yarnpkg/parsers", - "target": "npm:tslib", - "type": "static" - } - ], - "npm:@zkochan/js-yaml": [ - { - "source": "npm:@zkochan/js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - } - ], - "npm:ansi-styles": [ - { - "source": "npm:ansi-styles", - "target": "npm:color-convert", - "type": "static" - } - ], - "npm:argparse": [ - { - "source": "npm:argparse", - "target": "npm:sprintf-js", - "type": "static" - } - ], - "npm:axios": [ - { - "source": "npm:axios", - "target": "npm:follow-redirects", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:form-data", - "type": "static" - }, - { - "source": "npm:axios", - "target": "npm:proxy-from-env", - "type": "static" - } - ], - "npm:bl": [ - { - "source": "npm:bl", - "target": "npm:buffer", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:bl", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:brace-expansion": [ - { - "source": "npm:brace-expansion", - "target": "npm:balanced-match", - "type": "static" - } - ], - "npm:buffer": [ - { - "source": "npm:buffer", - "target": "npm:base64-js", - "type": "static" - }, - { - "source": "npm:buffer", - "target": "npm:ieee754", - "type": "static" - } - ], - "npm:chai": [ - { - "source": "npm:chai", - "target": "npm:assertion-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:check-error", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:deep-eql", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:get-func-name", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:loupe", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:pathval", - "type": "static" - }, - { - "source": "npm:chai", - "target": "npm:type-detect", - "type": "static" - } - ], - "npm:chalk": [ - { - "source": "npm:chalk", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:chalk", - "target": "npm:supports-color@7.2.0", - "type": "static" - } - ], - "npm:check-error": [ - { - "source": "npm:check-error", - "target": "npm:get-func-name", - "type": "static" - } - ], - "npm:cli-cursor": [ - { - "source": "npm:cli-cursor", - "target": "npm:restore-cursor", - "type": "static" - } - ], - "npm:cliui": [ - { - "source": "npm:cliui", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:cliui", - "target": "npm:wrap-ansi", - "type": "static" - } - ], - "npm:color-convert": [ - { - "source": "npm:color-convert", - "target": "npm:color-name", - "type": "static" - } - ], - "npm:combined-stream": [ - { - "source": "npm:combined-stream", - "target": "npm:delayed-stream", - "type": "static" - } - ], - "npm:concat-stream": [ - { - "source": "npm:concat-stream", - "target": "npm:buffer-from", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:readable-stream", - "type": "static" - }, - { - "source": "npm:concat-stream", - "target": "npm:typedarray", - "type": "static" - } - ], - "npm:cross-spawn": [ - { - "source": "npm:cross-spawn", - "target": "npm:path-key", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:shebang-command", - "type": "static" - }, - { - "source": "npm:cross-spawn", - "target": "npm:which", - "type": "static" - } - ], - "npm:debug": [ - { - "source": "npm:debug", - "target": "npm:ms", - "type": "static" - } - ], - "npm:deep-eql": [ - { - "source": "npm:deep-eql", - "target": "npm:type-detect", - "type": "static" - } - ], - "npm:defaults": [ - { - "source": "npm:defaults", - "target": "npm:clone", - "type": "static" - } - ], - "npm:end-of-stream": [ - { - "source": "npm:end-of-stream", - "target": "npm:once", - "type": "static" - } - ], - "npm:enquirer": [ - { - "source": "npm:enquirer", - "target": "npm:ansi-colors", - "type": "static" - } - ], - "npm:esbuild": [ - { - "source": "npm:esbuild", - "target": "npm:@esbuild/aix-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/android-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/darwin-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/freebsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-loong64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-mips64el", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-ppc64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-riscv64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-s390x", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/linux-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/netbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/openbsd-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/sunos-x64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-arm64", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-ia32", - "type": "static" - }, - { - "source": "npm:esbuild", - "target": "npm:@esbuild/win32-x64", - "type": "static" - } - ], - "npm:estree-walker": [ - { - "source": "npm:estree-walker", - "target": "npm:@types/estree", - "type": "static" - } - ], - "npm:execa": [ - { - "source": "npm:execa", - "target": "npm:cross-spawn", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:get-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:human-signals", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:is-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:merge-stream", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:npm-run-path", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:onetime", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:signal-exit@4.1.0", - "type": "static" - }, - { - "source": "npm:execa", - "target": "npm:strip-final-newline", - "type": "static" - } - ], - "npm:fast-printf": [ - { - "source": "npm:fast-printf", - "target": "npm:boolean", - "type": "static" - } - ], - "npm:figures": [ - { - "source": "npm:figures", - "target": "npm:escape-string-regexp", - "type": "static" - } - ], - "npm:form-data": [ - { - "source": "npm:form-data", - "target": "npm:asynckit", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:combined-stream", - "type": "static" - }, - { - "source": "npm:form-data", - "target": "npm:mime-types", - "type": "static" - } - ], - "npm:fs-extra@11.2.0": [ - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:jsonfile@6.1.0", - "type": "static" - }, - { - "source": "npm:fs-extra@11.2.0", - "target": "npm:universalify@2.0.1", - "type": "static" - } - ], - "npm:fs-extra": [ - { - "source": "npm:fs-extra", - "target": "npm:graceful-fs", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:jsonfile", - "type": "static" - }, - { - "source": "npm:fs-extra", - "target": "npm:universalify", - "type": "static" - } - ], - "npm:get-stack-trace": [ - { - "source": "npm:get-stack-trace", - "target": "npm:bluebird", - "type": "static" - }, - { - "source": "npm:get-stack-trace", - "target": "npm:source-map", - "type": "static" - } - ], - "npm:glob": [ - { - "source": "npm:glob", - "target": "npm:fs.realpath", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inflight", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:minimatch@5.1.6", - "type": "static" - }, - { - "source": "npm:glob", - "target": "npm:once", - "type": "static" - } - ], - "npm:hasown": [ - { - "source": "npm:hasown", - "target": "npm:function-bind", - "type": "static" - } - ], - "npm:hyperid": [ - { - "source": "npm:hyperid", - "target": "npm:uuid", - "type": "static" - }, - { - "source": "npm:hyperid", - "target": "npm:uuid-parse", - "type": "static" - } - ], - "npm:inflight": [ - { - "source": "npm:inflight", - "target": "npm:once", - "type": "static" - }, - { - "source": "npm:inflight", - "target": "npm:wrappy", - "type": "static" - } - ], - "npm:is-core-module": [ - { - "source": "npm:is-core-module", - "target": "npm:hasown", - "type": "static" - } - ], - "npm:is-wsl": [ - { - "source": "npm:is-wsl", - "target": "npm:is-docker", - "type": "static" - } - ], - "npm:jest-diff": [ - { - "source": "npm:jest-diff", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:diff-sequences", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:jest-get-type", - "type": "static" - }, - { - "source": "npm:jest-diff", - "target": "npm:pretty-format", - "type": "static" - } - ], - "npm:js-yaml@3.14.1": [ - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:argparse", - "type": "static" - }, - { - "source": "npm:js-yaml@3.14.1", - "target": "npm:esprima", - "type": "static" - } - ], - "npm:js-yaml": [ - { - "source": "npm:js-yaml", - "target": "npm:argparse@2.0.1", - "type": "static" - } - ], - "npm:jsonfile": [ - { - "source": "npm:jsonfile", - "target": "npm:graceful-fs", - "type": "static" - } - ], - "npm:jsonfile@6.1.0": [ - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:universalify@2.0.1", - "type": "static" - }, - { - "source": "npm:jsonfile@6.1.0", - "target": "npm:graceful-fs", - "type": "static" - } - ], - "npm:local-pkg": [ - { - "source": "npm:local-pkg", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:local-pkg", - "target": "npm:pkg-types", - "type": "static" - } - ], - "npm:log-symbols": [ - { - "source": "npm:log-symbols", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:log-symbols", - "target": "npm:is-unicode-supported", - "type": "static" - } - ], - "npm:loupe": [ - { - "source": "npm:loupe", - "target": "npm:get-func-name", - "type": "static" - } - ], - "npm:lru-cache": [ - { - "source": "npm:lru-cache", - "target": "npm:yallist", - "type": "static" - } - ], - "npm:magic-string": [ - { - "source": "npm:magic-string", - "target": "npm:@jridgewell/sourcemap-codec", - "type": "static" - } - ], - "npm:mime-types": [ - { - "source": "npm:mime-types", - "target": "npm:mime-db", - "type": "static" - } - ], - "npm:minimatch@5.1.6": [ - { - "source": "npm:minimatch@5.1.6", - "target": "npm:brace-expansion", - "type": "static" - } - ], - "npm:minimatch": [ - { - "source": "npm:minimatch", - "target": "npm:brace-expansion", - "type": "static" - } - ], - "npm:mlly": [ - { - "source": "npm:mlly", - "target": "npm:acorn", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:pkg-types", - "type": "static" - }, - { - "source": "npm:mlly", - "target": "npm:ufo", - "type": "static" - } - ], - "npm:npm-run-path@4.0.1": [ - { - "source": "npm:npm-run-path@4.0.1", - "target": "npm:path-key", - "type": "static" - } - ], - "npm:npm-run-path": [ - { - "source": "npm:npm-run-path", - "target": "npm:path-key@4.0.0", - "type": "static" - } - ], - "npm:nx": [ - { - "source": "npm:nx", - "target": "npm:@nrwl/tao", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/lockfile", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@yarnpkg/parsers", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@zkochan/js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:axios", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:dotenv-expand", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:enquirer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:figures", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:flat", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:fs-extra@11.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ignore", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jest-diff", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:js-yaml", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:jsonc-parser@3.2.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:lines-and-columns", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:minimatch", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:node-machine-id", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:npm-run-path@4.0.1", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:open", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:ora", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:semver@7.6.0", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:strong-log-transformer", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tar-stream", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tmp", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tsconfig-paths", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:tslib", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:yargs-parser", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-arm64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-darwin-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-freebsd-x64", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:nx", - "target": "npm:@nx/nx-win32-x64-msvc", - "type": "static" - } - ], - "npm:once": [ - { - "source": "npm:once", - "target": "npm:wrappy", - "type": "static" - } - ], - "npm:onetime@5.1.2": [ - { - "source": "npm:onetime@5.1.2", - "target": "npm:mimic-fn@2.1.0", - "type": "static" - } - ], - "npm:onetime": [ - { - "source": "npm:onetime", - "target": "npm:mimic-fn", - "type": "static" - } - ], - "npm:open": [ - { - "source": "npm:open", - "target": "npm:define-lazy-prop", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-docker", - "type": "static" - }, - { - "source": "npm:open", - "target": "npm:is-wsl", - "type": "static" - } - ], - "npm:ora": [ - { - "source": "npm:ora", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:chalk", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-cursor", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:cli-spinners", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:is-interactive", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:log-symbols", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:strip-ansi", - "type": "static" - }, - { - "source": "npm:ora", - "target": "npm:wcwidth", - "type": "static" - } - ], - "npm:p-limit": [ - { - "source": "npm:p-limit", - "target": "npm:yocto-queue", - "type": "static" - } - ], - "npm:pg-copy-streams-binary": [ - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:bufferput", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:ieee754", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:int64-buffer", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:multi-fork", - "type": "static" - }, - { - "source": "npm:pg-copy-streams-binary", - "target": "npm:through2@3.0.2", - "type": "static" - } - ], - "npm:pg-copy-streams": [ - { - "source": "npm:pg-copy-streams", - "target": "npm:obuf", - "type": "static" - } - ], - "npm:pg-cursor": [ - { - "source": "npm:pg-cursor", - "target": "npm:pg", - "type": "static" - } - ], - "npm:pg-pool": [ - { - "source": "npm:pg-pool", - "target": "npm:pg", - "type": "static" - } - ], - "npm:pg-types": [ - { - "source": "npm:pg-types", - "target": "npm:pg-int8", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-array@2.0.0", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-bytea", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-date", - "type": "static" - }, - { - "source": "npm:pg-types", - "target": "npm:postgres-interval@1.2.0", - "type": "static" - } - ], - "npm:pg": [ - { - "source": "npm:pg", - "target": "npm:buffer-writer", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:packet-reader", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-connection-string", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-pool", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-types", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pgpass", - "type": "static" - }, - { - "source": "npm:pg", - "target": "npm:pg-cloudflare", - "type": "static" - } - ], - "npm:pgpass": [ - { - "source": "npm:pgpass", - "target": "npm:split2", - "type": "static" - } - ], - "npm:pkg-types": [ - { - "source": "npm:pkg-types", - "target": "npm:jsonc-parser", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:mlly", - "type": "static" - }, - { - "source": "npm:pkg-types", - "target": "npm:pathe", - "type": "static" - } - ], - "npm:postcss": [ - { - "source": "npm:postcss", - "target": "npm:nanoid", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:postcss", - "target": "npm:source-map-js", - "type": "static" - } - ], - "npm:postgres-interval@1.2.0": [ - { - "source": "npm:postgres-interval@1.2.0", - "target": "npm:xtend", - "type": "static" - } - ], - "npm:pretty-format": [ - { - "source": "npm:pretty-format", - "target": "npm:@jest/schemas", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:ansi-styles@5.2.0", - "type": "static" - }, - { - "source": "npm:pretty-format", - "target": "npm:react-is", - "type": "static" - } - ], - "npm:readable-stream": [ - { - "source": "npm:readable-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:string_decoder", - "type": "static" - }, - { - "source": "npm:readable-stream", - "target": "npm:util-deprecate", - "type": "static" - } - ], - "npm:resolve": [ - { - "source": "npm:resolve", - "target": "npm:is-core-module", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:path-parse", - "type": "static" - }, - { - "source": "npm:resolve", - "target": "npm:supports-preserve-symlinks-flag", - "type": "static" - } - ], - "npm:restore-cursor": [ - { - "source": "npm:restore-cursor", - "target": "npm:onetime@5.1.2", - "type": "static" - }, - { - "source": "npm:restore-cursor", - "target": "npm:signal-exit", - "type": "static" - } - ], - "npm:roarr": [ - { - "source": "npm:roarr", - "target": "npm:fast-printf", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:safe-stable-stringify", - "type": "static" - }, - { - "source": "npm:roarr", - "target": "npm:semver-compare", - "type": "static" - } - ], - "npm:rollup": [ - { - "source": "npm:rollup", - "target": "npm:@types/estree", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm-eabi", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-android-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-arm64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-darwin-x64", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm-gnueabihf", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-arm64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-riscv64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-gnu", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-linux-x64-musl", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-arm64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-ia32-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:@rollup/rollup-win32-x64-msvc", - "type": "static" - }, - { - "source": "npm:rollup", - "target": "npm:fsevents", - "type": "static" - } - ], - "npm:semver": [ - { - "source": "npm:semver", - "target": "npm:lru-cache", - "type": "static" - } - ], - "npm:semver@7.6.0": [ - { - "source": "npm:semver@7.6.0", - "target": "npm:lru-cache", - "type": "static" - } - ], - "npm:serialize-error": [ - { - "source": "npm:serialize-error", - "target": "npm:type-fest", - "type": "static" - } - ], - "npm:shebang-command": [ - { - "source": "npm:shebang-command", - "target": "npm:shebang-regex", - "type": "static" - } - ], - "npm:slonik": [ - { - "source": "npm:slonik", - "target": "npm:concat-stream", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:es6-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:fast-safe-stringify", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:get-stack-trace", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:hyperid", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:is-plain-object", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:iso8601-duration", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:p-defer", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-copy-streams-binary", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-cursor", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:pg-protocol", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-array", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:postgres-interval", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:roarr", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:serialize-error", - "type": "static" - }, - { - "source": "npm:slonik", - "target": "npm:through2", - "type": "static" - } - ], - "npm:source-map": [ - { - "source": "npm:source-map", - "target": "npm:whatwg-url", - "type": "static" - } - ], - "npm:string-width": [ - { - "source": "npm:string-width", - "target": "npm:emoji-regex", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:is-fullwidth-code-point", - "type": "static" - }, - { - "source": "npm:string-width", - "target": "npm:strip-ansi", - "type": "static" - } - ], - "npm:string_decoder": [ - { - "source": "npm:string_decoder", - "target": "npm:safe-buffer", - "type": "static" - } - ], - "npm:strip-ansi": [ - { - "source": "npm:strip-ansi", - "target": "npm:ansi-regex", - "type": "static" - } - ], - "npm:strip-literal": [ - { - "source": "npm:strip-literal", - "target": "npm:js-tokens", - "type": "static" - } - ], - "npm:strong-log-transformer": [ - { - "source": "npm:strong-log-transformer", - "target": "npm:duplexer", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:strong-log-transformer", - "target": "npm:through", - "type": "static" - } - ], - "npm:supports-color@7.2.0": [ - { - "source": "npm:supports-color@7.2.0", - "target": "npm:has-flag", - "type": "static" - } - ], - "npm:supports-color": [ - { - "source": "npm:supports-color", - "target": "npm:has-flag", - "type": "static" - } - ], - "npm:tar-stream": [ - { - "source": "npm:tar-stream", - "target": "npm:bl", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:end-of-stream", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:fs-constants", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:tar-stream", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:through2@3.0.2": [ - { - "source": "npm:through2@3.0.2", - "target": "npm:inherits", - "type": "static" - }, - { - "source": "npm:through2@3.0.2", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:through2": [ - { - "source": "npm:through2", - "target": "npm:readable-stream", - "type": "static" - } - ], - "npm:tr46": [ - { - "source": "npm:tr46", - "target": "npm:punycode", - "type": "static" - } - ], - "npm:tsconfig-paths": [ - { - "source": "npm:tsconfig-paths", - "target": "npm:json5", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:minimist", - "type": "static" - }, - { - "source": "npm:tsconfig-paths", - "target": "npm:strip-bom", - "type": "static" - } - ], - "npm:umzug": [ - { - "source": "npm:umzug", - "target": "npm:@rushstack/ts-command-line", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:emittery", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:glob", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:pony-cause", - "type": "static" - }, - { - "source": "npm:umzug", - "target": "npm:type-fest@4.10.3", - "type": "static" - } - ], - "npm:vite-node": [ - { - "source": "npm:vite-node", - "target": "npm:cac", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vite-node", - "target": "npm:vite", - "type": "static" - } - ], - "npm:vite": [ - { - "source": "npm:vite", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:esbuild", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:postcss", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:rollup", - "type": "static" - }, - { - "source": "npm:vite", - "target": "npm:fsevents", - "type": "static" - } - ], - "npm:vitest": [ - { - "source": "npm:vitest", - "target": "npm:@types/node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/expect", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/runner", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/snapshot", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/spy", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:@vitest/utils", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:acorn-walk", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:chai", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:debug", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:execa", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:local-pkg", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:magic-string", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:pathe", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:picocolors", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:std-env", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:strip-literal", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinybench", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:tinypool", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:vite-node", - "type": "static" - }, - { - "source": "npm:vitest", - "target": "npm:why-is-node-running", - "type": "static" - } - ], - "npm:wcwidth": [ - { - "source": "npm:wcwidth", - "target": "npm:defaults", - "type": "static" - } - ], - "npm:whatwg-url": [ - { - "source": "npm:whatwg-url", - "target": "npm:lodash.sortby", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:tr46", - "type": "static" - }, - { - "source": "npm:whatwg-url", - "target": "npm:webidl-conversions", - "type": "static" - } - ], - "npm:which": [ - { - "source": "npm:which", - "target": "npm:isexe", - "type": "static" - } - ], - "npm:why-is-node-running": [ - { - "source": "npm:why-is-node-running", - "target": "npm:siginfo", - "type": "static" - }, - { - "source": "npm:why-is-node-running", - "target": "npm:stackback", - "type": "static" - } - ], - "npm:wrap-ansi": [ - { - "source": "npm:wrap-ansi", - "target": "npm:ansi-styles", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:wrap-ansi", - "target": "npm:strip-ansi", - "type": "static" - } - ], - "npm:yargs": [ - { - "source": "npm:yargs", - "target": "npm:cliui", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:escalade", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:get-caller-file", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:require-directory", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:string-width", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:y18n", - "type": "static" - }, - { - "source": "npm:yargs", - "target": "npm:yargs-parser", - "type": "static" - } - ], - "npm:z-schema": [ - { - "source": "npm:z-schema", - "target": "npm:lodash.get", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:lodash.isequal", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:validator", - "type": "static" - }, - { - "source": "npm:z-schema", - "target": "npm:commander", - "type": "static" - } - ] - }, - "version": "6.0" -} diff --git a/.nx/cache/run.json b/.nx/cache/run.json deleted file mode 100644 index 0b5e37921..000000000 --- a/.nx/cache/run.json +++ /dev/null @@ -1,21 +0,0 @@ -{ - "run": { - "command": "nx build shared-packets", - "startTime": "2024-03-01T02:15:27.341Z", - "endTime": "2024-03-01T02:15:28.753Z", - "inner": false - }, - "tasks": [ - { - "taskId": "shared-packets:build", - "target": "build", - "projectName": "shared-packets", - "hash": "6406529228893083755", - "startTime": "2024-03-01T02:15:27.344Z", - "endTime": "2024-03-01T02:15:28.752Z", - "params": "", - "cacheStatus": "cache-miss", - "status": 0 - } - ] -} From c18d8bd226a412d8b6e622cca0eea87487c50ae9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 13 Mar 2024 18:01:24 +0000 Subject: [PATCH 208/452] Update dependency @types/node to v20.11.27 (#1803) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 210 ++++++++++++++++++++++++++++++++++++++++--------- 2 files changed, 176 insertions(+), 36 deletions(-) diff --git a/package.json b/package.json index ffcedcab6..559a992f1 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.26", + "@types/node": "20.11.27", "@vitest/coverage-v8": "1.3.1", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0e6d6d8b4..bc0b907ad 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,17 +25,17 @@ importers: version: 7.106.1 slonik: specifier: '29' - version: 37.3.0(zod@3.22.4) + version: 29.2.0 tsx: specifier: ^4.7.1 version: 4.7.1 devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.26)(slonik@37.3.0) + version: 0.12.0(@types/node@20.11.27)(slonik@29.2.0) '@types/node': - specifier: 20.11.26 - version: 20.11.26 + specifier: 20.11.27 + version: 20.11.27 '@vitest/coverage-v8': specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) @@ -59,7 +59,7 @@ importers: version: 5.4.2 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.26) + version: 1.3.1(@types/node@20.11.27) apps/main: dependencies: @@ -753,7 +753,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.26): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -761,7 +761,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.26 + '@types/node': 20.11.27 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -770,7 +770,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.26): + /@rushstack/terminal@0.10.0(@types/node@20.11.27): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -778,15 +778,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.26) - '@types/node': 20.11.26 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.27) + '@types/node': 20.11.27 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.26): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.26) + '@rushstack/terminal': 0.10.0(@types/node@20.11.27) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -847,14 +847,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.26)(slonik@37.3.0): + /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@29.2.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.26) - slonik: 37.3.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.26) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) + slonik: 29.2.0 + umzug: 3.7.0(@types/node@20.11.27) transitivePeerDependencies: - '@types/node' dev: true @@ -871,17 +871,18 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.26: - resolution: {integrity: sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==} + /@types/node@20.11.27: + resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.26 + '@types/node': 20.11.27 pg-protocol: 1.6.0 pg-types: 4.0.2 + dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -905,7 +906,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.26) + vitest: 1.3.1(@types/node@20.11.27) transitivePeerDependencies: - supports-color dev: true @@ -1110,7 +1111,9 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true + + /bluebird@3.7.2: + resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1128,6 +1131,9 @@ packages: balanced-match: 1.0.2 dev: true + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + /buffer-writer@2.0.0: resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} engines: {node: '>=4'} @@ -1137,7 +1143,6 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -1146,6 +1151,10 @@ packages: ieee754: 1.2.1 dev: false + /bufferput@0.1.3: + resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} + engines: {node: '>=0.3.0'} + /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -1242,6 +1251,15 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + dependencies: + buffer-from: 1.1.2 + inherits: 2.0.4 + readable-stream: 3.6.2 + typedarray: 0.0.6 + /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true @@ -1625,7 +1643,6 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false /fast-uri@2.3.0: resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} @@ -1782,11 +1799,19 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true + /get-stack-trace@2.1.1: + resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} + engines: {node: '>=8.0'} + dependencies: + bluebird: 3.7.2 + source-map: 0.8.0-beta.0 + /get-stack-trace@3.1.1: resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} engines: {node: '>=18.0'} dependencies: stacktrace-parser: 0.1.10 + dev: false /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} @@ -1879,6 +1904,12 @@ packages: engines: {node: '>=16.17.0'} dev: true + /hyperid@2.3.1: + resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} + dependencies: + uuid: 8.3.2 + uuid-parse: 1.1.0 + /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1915,6 +1946,10 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + /int64-buffer@0.99.1007: + resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} + engines: {node: '>= 4.5.0'} + /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1959,6 +1994,10 @@ packages: engines: {node: '>=8'} dev: true + /is-plain-object@5.0.0: + resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} + engines: {node: '>=0.10.0'} + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2163,6 +2202,9 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -2269,6 +2311,9 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + /multi-fork@0.0.2: + resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} + /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2428,6 +2473,10 @@ packages: wcwidth: 1.0.1 dev: true + /p-defer@3.0.0: + resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} + engines: {node: '>=8'} + /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2499,6 +2548,21 @@ packages: /pg-connection-string@2.6.2: resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + /pg-copy-streams-binary@2.2.0: + resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} + dependencies: + bl: 4.1.0 + bufferput: 0.1.3 + ieee754: 1.2.1 + int64-buffer: 0.99.1007 + multi-fork: 0.0.2 + through2: 3.0.2 + + /pg-copy-streams@6.0.6: + resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} + dependencies: + obuf: 1.1.2 + /pg-cursor@2.10.3(pg@8.11.3): resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} peerDependencies: @@ -2513,6 +2577,7 @@ packages: /pg-numeric@1.0.2: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} + dev: false /pg-pool@3.6.1(pg@8.11.3): resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} @@ -2531,6 +2596,7 @@ packages: dependencies: pg: 8.11.3 pg-cursor: 2.10.3(pg@8.11.3) + dev: false /pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -2553,6 +2619,7 @@ packages: postgres-date: 2.1.0 postgres-interval: 3.0.0 postgres-range: 1.1.4 + dev: false /pg@8.11.3: resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} @@ -2669,6 +2736,7 @@ packages: engines: {node: '>= 6'} dependencies: obuf: 1.1.2 + dev: false /postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} @@ -2677,6 +2745,7 @@ packages: /postgres-date@2.1.0: resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} engines: {node: '>=12'} + dev: false /postgres-interval@1.2.0: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} @@ -2687,6 +2756,7 @@ packages: /postgres-interval@3.0.0: resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} engines: {node: '>=12'} + dev: false /postgres-interval@4.0.2: resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} @@ -2694,6 +2764,7 @@ packages: /postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: false /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2777,7 +2848,6 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true /readable-stream@4.5.2: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} @@ -2967,6 +3037,31 @@ packages: engines: {node: '>=14'} dev: true + /slonik@29.2.0: + resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} + engines: {node: '>=10.0'} + dependencies: + concat-stream: 2.0.0 + es6-error: 4.1.1 + fast-safe-stringify: 2.1.1 + get-stack-trace: 2.1.1 + hyperid: 2.3.1 + is-plain-object: 5.0.0 + iso8601-duration: 1.3.0 + p-defer: 3.0.0 + pg: 8.11.3 + pg-copy-streams: 6.0.6 + pg-copy-streams-binary: 2.2.0 + pg-cursor: 2.10.3(pg@8.11.3) + pg-protocol: 1.6.0 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + serialize-error: 8.1.0 + through2: 4.0.2 + transitivePeerDependencies: + - pg-native + /slonik@37.3.0(zod@3.22.4): resolution: {integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==} engines: {node: '>=18'} @@ -2989,6 +3084,7 @@ packages: zod: 3.22.4 transitivePeerDependencies: - pg-native + dev: false /sonic-boom@3.8.0: resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} @@ -3006,6 +3102,12 @@ packages: engines: {node: '>=0.10.0'} dev: true + /source-map@0.8.0-beta.0: + resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} + engines: {node: '>= 8'} + dependencies: + whatwg-url: 7.1.0 + /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3023,6 +3125,7 @@ packages: engines: {node: '>=6'} dependencies: type-fest: 0.7.1 + dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -3146,6 +3249,17 @@ packages: real-require: 0.2.0 dev: false + /through2@3.0.2: + resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} + dependencies: + readable-stream: 3.6.2 + /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -3184,6 +3298,11 @@ packages: engines: {node: '>=0.6'} dev: false + /tr46@1.0.1: + resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + dependencies: + punycode: 2.3.1 + /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -3227,6 +3346,7 @@ packages: /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} + dev: false /type-fest@4.10.3: resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} @@ -3241,6 +3361,9 @@ packages: mime-types: 2.1.35 dev: false + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -3251,11 +3374,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.26): + /umzug@3.7.0(@types/node@20.11.27): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.26) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3284,7 +3407,13 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + + /uuid-parse@1.1.0: + resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} + + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} @@ -3305,7 +3434,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.3.1(@types/node@20.11.26): + /vite-node@1.3.1(@types/node@20.11.27): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3314,7 +3443,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.26) + vite: 5.1.4(@types/node@20.11.27) transitivePeerDependencies: - '@types/node' - less @@ -3326,7 +3455,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.26): + /vite@5.1.4(@types/node@20.11.27): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3354,7 +3483,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.26 + '@types/node': 20.11.27 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -3362,7 +3491,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.26): + /vitest@1.3.1(@types/node@20.11.27): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3387,7 +3516,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.26 + '@types/node': 20.11.27 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -3405,8 +3534,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.26) - vite-node: 1.3.1(@types/node@20.11.26) + vite: 5.1.4(@types/node@20.11.27) + vite-node: 1.3.1(@types/node@20.11.27) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -3424,6 +3553,16 @@ packages: defaults: 1.0.4 dev: true + /webidl-conversions@4.0.2: + resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} + + /whatwg-url@7.1.0: + resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3507,3 +3646,4 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + dev: false From a3a27eb587d97a2c8dac76f1c1ee846485793734 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 10:10:52 +0000 Subject: [PATCH 209/452] Update sentry-javascript monorepo to v7.107.0 (#1804) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 54 +++++++++++++++++++++++++------------------------- 1 file changed, 27 insertions(+), 27 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bc0b907ad..f9d4bfd3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: link:packages/shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.106.1 + version: 7.107.0 '@sentry/profiling-node': specifier: ^7.104.0 - version: 7.106.1 + version: 7.107.0 slonik: specifier: '29' version: 29.2.0 @@ -77,7 +77,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.106.1 + version: 7.107.0 slonik: specifier: ^37.2.0 version: 37.3.0(zod@3.22.4) @@ -98,7 +98,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.106.1 + version: 7.107.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -117,7 +117,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.106.1 + version: 7.107.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -794,35 +794,35 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.106.1: - resolution: {integrity: sha512-Ui9zSmW88jTdmNnNBLYYpNoAi31esX5/auysC3v7+SpwxIsC3AGLFvXs4EPziyz8d0F62Ji0fNQZ96ui4fO6BQ==} + /@sentry-internal/tracing@7.107.0: + resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.106.1 - '@sentry/types': 7.106.1 - '@sentry/utils': 7.106.1 + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 dev: false - /@sentry/core@7.106.1: - resolution: {integrity: sha512-cwCd66wkbutXCI8j14JLkyod9RHtqSNfzGpx/ieBE+N786jX+Yj1DiaZJ6ZYjKQpnToipFnacEakCd9Vc9oePA==} + /@sentry/core@7.107.0: + resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.106.1 - '@sentry/utils': 7.106.1 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 dev: false - /@sentry/node@7.106.1: - resolution: {integrity: sha512-KB2Lkb9WqocD/gbKIZCk2mQQmx+G3khI9ChJUw6GJzd5mvdQ5xxr4/yQKIHR6L9z3oGWBno9/Xc8Aw9s3ZwGwQ==} + /@sentry/node@7.107.0: + resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.106.1 - '@sentry/core': 7.106.1 - '@sentry/types': 7.106.1 - '@sentry/utils': 7.106.1 + '@sentry-internal/tracing': 7.107.0 + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 dev: false - /@sentry/profiling-node@7.106.1: - resolution: {integrity: sha512-88qgCQOqJG7fcAMRNyQ7b68CBDztL2Gbn4Zatr6UxO9+F12K40NibqVhpX0/P6rAl7xutb6axaTtiw6Xbz42pg==} + /@sentry/profiling-node@7.107.0: + resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -831,16 +831,16 @@ packages: node-abi: 3.56.0 dev: false - /@sentry/types@7.106.1: - resolution: {integrity: sha512-g3OcyAHGugBwkQP4fZYCCZqF2ng9K7yQc9FVngKq/y7PwHm84epXdYYGDGgfQOIC1d5/GMaPxmzI5IIrZexzkg==} + /@sentry/types@7.107.0: + resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.106.1: - resolution: {integrity: sha512-NIeuvB9MeDwrObbi6W5xRrNTcQj8klVvwWWYQB0zotY/LDjyl+c+cZzUshFOxBTp9ljVnYzWqZ7J8x/i4baj7w==} + /@sentry/utils@7.107.0: + resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.106.1 + '@sentry/types': 7.107.0 dev: false /@sinclair/typebox@0.27.8: From 4a6e028a4ee37a407737f7d52104617817ffa4ff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:01:34 +0000 Subject: [PATCH 210/452] Update actions/checkout action to v4 --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/semgrep.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3cff55f57..8283dd592 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 0bfdc3253..7e158121d 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -19,5 +19,5 @@ jobs: image: returntocorp/semgrep@sha256:7f817a27f8322550e5569750079c10bdecf90284afb660edc5bb27a4b252d928 if: (github.actor != 'dependabot[bot]') steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - run: semgrep ci From 91956405acc4e0c0745467d01aa5f4fb62589946 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:22:13 +0000 Subject: [PATCH 211/452] Update adminer Docker digest to b75eae8 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 164b116dc..fe94dfaf2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer@sha256:c9592a99120164a7a4cc75ec76b3632fa3520a4de2d801bbb93c3753fe34e048 + image: adminer@sha256:b75eae89431e8469613b844e76382a26efc8601c17f446bcd81665bc87ca9a1f restart: always ports: - 8080:8080 From 4a1158b9fbea3ffa88c5b8e75d31767ca794533e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:25:09 +0000 Subject: [PATCH 212/452] Update dependency slonik to v37 --- package.json | 2 +- pnpm-lock.yaml | 160 ++++--------------------------------------------- 2 files changed, 11 insertions(+), 151 deletions(-) diff --git a/package.json b/package.json index 559a992f1..eedc408a8 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "@rustymotors/shared-packets": "workspace:^", "@sentry/node": "^7.102.0", "@sentry/profiling-node": "^7.104.0", - "slonik": "29", + "slonik": "37", "tsx": "^4.7.1" }, "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9d4bfd3f..6b2e9f5e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -24,15 +24,15 @@ importers: specifier: ^7.104.0 version: 7.107.0 slonik: - specifier: '29' - version: 29.2.0 + specifier: '37' + version: 37.3.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.27)(slonik@29.2.0) + version: 0.12.0(@types/node@20.11.27)(slonik@37.3.0) '@types/node': specifier: 20.11.27 version: 20.11.27 @@ -847,13 +847,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@29.2.0): + /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) - slonik: 29.2.0 + slonik: 37.3.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.27) transitivePeerDependencies: - '@types/node' @@ -882,7 +882,6 @@ packages: '@types/node': 20.11.27 pg-protocol: 1.6.0 pg-types: 4.0.2 - dev: false /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1111,9 +1110,7 @@ packages: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} + dev: true /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1131,9 +1128,6 @@ packages: balanced-match: 1.0.2 dev: true - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - /buffer-writer@2.0.0: resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} engines: {node: '>=4'} @@ -1143,6 +1137,7 @@ packages: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 + dev: true /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} @@ -1151,10 +1146,6 @@ packages: ieee754: 1.2.1 dev: false - /bufferput@0.1.3: - resolution: {integrity: sha512-nmPV88vDNzf0VMU1bdQ4A1oBlRR9y+CXfwWKfyKUgI2ZIkvreNzLMM3tkz0Lapb6f+Cz1V001UWRBsoGVCjqdw==} - engines: {node: '>=0.3.0'} - /cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} @@ -1251,15 +1242,6 @@ packages: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - dependencies: - buffer-from: 1.1.2 - inherits: 2.0.4 - readable-stream: 3.6.2 - typedarray: 0.0.6 - /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true @@ -1643,6 +1625,7 @@ packages: /fast-safe-stringify@2.1.1: resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false /fast-uri@2.3.0: resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} @@ -1799,19 +1782,11 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-stack-trace@2.1.1: - resolution: {integrity: sha512-dhqSDD9lHU/6FvIZ9KbXGmVK6IKr9ZskZtNOUvhlCiONlnqatu4FmAeRbxCfJJVuQ0NWfz6dAbibKQg19B7AmQ==} - engines: {node: '>=8.0'} - dependencies: - bluebird: 3.7.2 - source-map: 0.8.0-beta.0 - /get-stack-trace@3.1.1: resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} engines: {node: '>=18.0'} dependencies: stacktrace-parser: 0.1.10 - dev: false /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} @@ -1904,12 +1879,6 @@ packages: engines: {node: '>=16.17.0'} dev: true - /hyperid@2.3.1: - resolution: {integrity: sha512-mIbI7Ymn6MCdODaW1/6wdf5lvvXzmPsARN4zTLakMmcziBOuP4PxCBJvHF6kbAIHX6H4vAELx/pDmt0j6Th5RQ==} - dependencies: - uuid: 8.3.2 - uuid-parse: 1.1.0 - /ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} @@ -1946,10 +1915,6 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /int64-buffer@0.99.1007: - resolution: {integrity: sha512-XDBEu44oSTqlvCSiOZ/0FoUkpWu/vwjJLGSKDabNISPQNZ5wub1FodGHBljRsrR0IXRPq7SslshZYMuA55CgTQ==} - engines: {node: '>= 4.5.0'} - /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} @@ -1994,10 +1959,6 @@ packages: engines: {node: '>=8'} dev: true - /is-plain-object@5.0.0: - resolution: {integrity: sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==} - engines: {node: '>=0.10.0'} - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2202,9 +2163,6 @@ packages: resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - /log-symbols@4.1.0: resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} engines: {node: '>=10'} @@ -2311,9 +2269,6 @@ packages: /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - /multi-fork@0.0.2: - resolution: {integrity: sha512-SHWGuze0cZNiH+JGJQFlB1k7kZLGFCvW1Xo5Fcpe86KICkC3aVTJWpjUcmyYcLCB0I6gdzKLCia/bTIw2ggl8A==} - /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -2473,10 +2428,6 @@ packages: wcwidth: 1.0.1 dev: true - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - /p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2548,21 +2499,6 @@ packages: /pg-connection-string@2.6.2: resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - /pg-copy-streams-binary@2.2.0: - resolution: {integrity: sha512-jPCWgTR8004wz5XOI2sc09+IMwE7YMeINYCabwPMCPtlgj2ay81VLCClMkj/u+xOeisRcN8vCrIZ4FrqlaTyBQ==} - dependencies: - bl: 4.1.0 - bufferput: 0.1.3 - ieee754: 1.2.1 - int64-buffer: 0.99.1007 - multi-fork: 0.0.2 - through2: 3.0.2 - - /pg-copy-streams@6.0.6: - resolution: {integrity: sha512-Z+Dd2C2NIDTsjyFKmc6a9QLlpM8tjpERx+43RSx0WmL7j3uNChERi3xSvZUL0hWJ1oRUn4S3fhyt3apdSrTyKQ==} - dependencies: - obuf: 1.1.2 - /pg-cursor@2.10.3(pg@8.11.3): resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} peerDependencies: @@ -2577,7 +2513,6 @@ packages: /pg-numeric@1.0.2: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} - dev: false /pg-pool@3.6.1(pg@8.11.3): resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} @@ -2596,7 +2531,6 @@ packages: dependencies: pg: 8.11.3 pg-cursor: 2.10.3(pg@8.11.3) - dev: false /pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -2619,7 +2553,6 @@ packages: postgres-date: 2.1.0 postgres-interval: 3.0.0 postgres-range: 1.1.4 - dev: false /pg@8.11.3: resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} @@ -2736,7 +2669,6 @@ packages: engines: {node: '>= 6'} dependencies: obuf: 1.1.2 - dev: false /postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} @@ -2745,7 +2677,6 @@ packages: /postgres-date@2.1.0: resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} engines: {node: '>=12'} - dev: false /postgres-interval@1.2.0: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} @@ -2756,7 +2687,6 @@ packages: /postgres-interval@3.0.0: resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} engines: {node: '>=12'} - dev: false /postgres-interval@4.0.2: resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} @@ -2764,7 +2694,6 @@ packages: /postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: false /prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} @@ -2848,6 +2777,7 @@ packages: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + dev: true /readable-stream@4.5.2: resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} @@ -3037,31 +2967,6 @@ packages: engines: {node: '>=14'} dev: true - /slonik@29.2.0: - resolution: {integrity: sha512-0qBB8TYfPqs+P1An5/NUgwGMYCxvpkTwK6OD8AwllEl9guypRmQj7TlC1OQHcpJS+FOukJVSMAcK0mC5bXvR2A==} - engines: {node: '>=10.0'} - dependencies: - concat-stream: 2.0.0 - es6-error: 4.1.1 - fast-safe-stringify: 2.1.1 - get-stack-trace: 2.1.1 - hyperid: 2.3.1 - is-plain-object: 5.0.0 - iso8601-duration: 1.3.0 - p-defer: 3.0.0 - pg: 8.11.3 - pg-copy-streams: 6.0.6 - pg-copy-streams-binary: 2.2.0 - pg-cursor: 2.10.3(pg@8.11.3) - pg-protocol: 1.6.0 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - serialize-error: 8.1.0 - through2: 4.0.2 - transitivePeerDependencies: - - pg-native - /slonik@37.3.0(zod@3.22.4): resolution: {integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==} engines: {node: '>=18'} @@ -3084,7 +2989,6 @@ packages: zod: 3.22.4 transitivePeerDependencies: - pg-native - dev: false /sonic-boom@3.8.0: resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} @@ -3102,12 +3006,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map@0.8.0-beta.0: - resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} - engines: {node: '>= 8'} - dependencies: - whatwg-url: 7.1.0 - /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3125,7 +3023,6 @@ packages: engines: {node: '>=6'} dependencies: type-fest: 0.7.1 - dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -3249,17 +3146,6 @@ packages: real-require: 0.2.0 dev: false - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - /through@2.3.8: resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true @@ -3298,11 +3184,6 @@ packages: engines: {node: '>=0.6'} dev: false - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - /tsconfig-paths@4.2.0: resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} engines: {node: '>=6'} @@ -3346,7 +3227,6 @@ packages: /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - dev: false /type-fest@4.10.3: resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} @@ -3361,9 +3241,6 @@ packages: mime-types: 2.1.35 dev: false - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - /typescript@5.4.2: resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} engines: {node: '>=14.17'} @@ -3407,13 +3284,7 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - /uuid-parse@1.1.0: - resolution: {integrity: sha512-OdmXxA8rDsQ7YpNVbKSJkNzTw2I+S5WsbMDnCtIWSQaosNAcWtFuI/YK1TjzUI6nbkgiqEyh8gWngfcv8Asd9A==} - - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true + dev: true /v8-to-istanbul@9.2.0: resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} @@ -3553,16 +3424,6 @@ packages: defaults: 1.0.4 dev: true - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3646,4 +3507,3 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - dev: false From d6bb22ca1b729738504e58241e03670141405c76 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:27:27 +0000 Subject: [PATCH 213/452] Update dependency ubuntu to v22 --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 7e158121d..d2c341af0 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -12,7 +12,7 @@ on: jobs: semgrep: name: Scan - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: From 7690629f2d31674e872c684bc4c2a29ea26a282f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 14 Mar 2024 08:27:46 -0400 Subject: [PATCH 214/452] Remove nx --- .gitignore | 3 - nx.json | 18 - package.json | 1 - packages/shared-packets/.gitignore | 3 - packages/shared-packets/nx | 5 - packages/shared-packets/nx.bat | 6 - packages/shared-packets/nx.json | 20 - pnpm-lock.yaml | 610 +---------------------------- 8 files changed, 4 insertions(+), 662 deletions(-) delete mode 100644 nx.json delete mode 100644 packages/shared-packets/.gitignore delete mode 100755 packages/shared-packets/nx delete mode 100644 packages/shared-packets/nx.bat delete mode 100644 packages/shared-packets/nx.json diff --git a/.gitignore b/.gitignore index b81d00b59..f4862d4d2 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,3 @@ build *.tar packages/**/*.js package-lock.json - - -.nx/cache diff --git a/nx.json b/nx.json deleted file mode 100644 index bcff99482..000000000 --- a/nx.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "$schema": "./node_modules/nx/schemas/nx-schema.json", - "targetDefaults": { - "build": { - "dependsOn": [ - "^build" - ], - "outputs": [ - "{projectRoot}/dist" - ], - "cache": true - }, - "test": { - "cache": true - } - }, - "defaultBase": "main" -} diff --git a/package.json b/package.json index 559a992f1..6741b4e1b 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,6 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "nx": "18.1.0", "prettier": "3.2.5", "typescript": "5.4.2", "vitest": "1.3.1" diff --git a/packages/shared-packets/.gitignore b/packages/shared-packets/.gitignore deleted file mode 100644 index 5d701ac48..000000000 --- a/packages/shared-packets/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ - -.nx/installation -.nx/cache \ No newline at end of file diff --git a/packages/shared-packets/nx b/packages/shared-packets/nx deleted file mode 100755 index e94326e36..000000000 --- a/packages/shared-packets/nx +++ /dev/null @@ -1,5 +0,0 @@ -#!/bin/bash -command -v node >/dev/null 2>&1 || { echo >&2 "Nx requires NodeJS to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ ."; exit 1; } -command -v npm >/dev/null 2>&1 || { echo >&2 "Nx requires npm to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ ."; exit 1; } -path_to_root=$(dirname $BASH_SOURCE) -node $path_to_root/.nx/nxw.js $@ \ No newline at end of file diff --git a/packages/shared-packets/nx.bat b/packages/shared-packets/nx.bat deleted file mode 100644 index 2535514d5..000000000 --- a/packages/shared-packets/nx.bat +++ /dev/null @@ -1,6 +0,0 @@ -set path_to_root=%~dp0 -WHERE node >nul 2>nul -IF %ERRORLEVEL% NEQ 0 (ECHO Nx requires NodeJS to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ .; EXIT 1) -WHERE npm >nul 2>nul -IF %ERRORLEVEL% NEQ 0 (ECHO Nx requires npm to be available. To install NodeJS and NPM, see: https://nodejs.org/en/download/ .; EXIT 1) -node %path_to_root%\.nx\nxw.js %* \ No newline at end of file diff --git a/packages/shared-packets/nx.json b/packages/shared-packets/nx.json deleted file mode 100644 index 975135666..000000000 --- a/packages/shared-packets/nx.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "targetDefaults": { - "build": { - "cache": true, - "dependsOn": ["^build"] - }, - "lint": { - "cache": true - }, - "test": { - "cache": true - }, - "e2e": { - "cache": true - } - }, - "installation": { - "version": "18.0.6" - } -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f9d4bfd3f..f36aa7455 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -48,9 +48,6 @@ importers: eslint-plugin-prettier: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - nx: - specifier: 18.1.0 - version: 18.1.0 prettier: specifier: 3.2.5 version: 3.2.5 @@ -532,118 +529,6 @@ packages: fastq: 1.17.1 dev: true - /@nrwl/tao@18.1.0: - resolution: {integrity: sha512-YPI6UAoyVhT7iqffjXO96/ovg6c97Iu0sS32lqPOkRSzoQM+M9h7f77yUA5FoXHHoHxq/kKwfw6FT7yR1SrFEw==} - hasBin: true - dependencies: - nx: 18.1.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@swc-node/register' - - '@swc/core' - - debug - dev: true - - /@nx/nx-darwin-arm64@18.1.0: - resolution: {integrity: sha512-5vNFl/9V0rmh5+l+c3nAboOrCqHgfpsWjTlij4wVi8KqRKfzAyLQd610g90wxH5zx9zbDnXzbVrRQBswGlXk0Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-darwin-x64@18.1.0: - resolution: {integrity: sha512-eoaN1zJaAQEYF/5Fe/W1HuQ4SW2imw4TXSjXoYqWz7fRf8tPwy06P1q3IS6PDXYspKSULJyicz/ll8+mpnWx/Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-freebsd-x64@18.1.0: - resolution: {integrity: sha512-rNX61CrAkPGTxGWA+bakMd5Y89/nheTV2Uy/KJXf9I5jqLPHEM+/69TiJTqO/wwV53ShgZfICIaOo+gK9Vw9vQ==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm-gnueabihf@18.1.0: - resolution: {integrity: sha512-HrNNr5fnEKG3cZwT5qLnDm0CuimywqoDDkWfdMdA5/eVPwZsXF4vtXqgOmQ2xwb1k+HZvOK+uCnDKdBK3f34Ow==} - engines: {node: '>= 10'} - cpu: [arm] - os: [linux] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-gnu@18.1.0: - resolution: {integrity: sha512-avw5NeqG6j5Y8HX3LsfFa9YLIu3Rk5d08oNDr0MH8etEih/VuFH4RSdOauZiAfHaUfYDBo8V33U93YgP1bIfXg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-arm64-musl@18.1.0: - resolution: {integrity: sha512-76Wj2UPS69aIC2YbxghuT7ES6JXhI6e5C/TVJ5XR7SxHN+EVWmJJLWPs0ePAvtjZLXaH24IkRMxV4FuI7j+u1Q==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-gnu@18.1.0: - resolution: {integrity: sha512-aMQVz+3Il+lf8CQJvpQzZrajjGmXuJU4CoVOvA7ZC0iB+MMRk5DgkIQaRXDENfnmrYW0j2Xifb2wwCZifXNlVg==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-linux-x64-musl@18.1.0: - resolution: {integrity: sha512-Gw+xCiVaiR4n6deFhqoB/7MyYkX+U/jhI9lP6zBcKp15QWMAYMxmj/Rkb81M5qGwvHvIfxiFNRCmERwB9G2I7Q==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-arm64-msvc@18.1.0: - resolution: {integrity: sha512-PFi6tC/4dkkP9CHA2SyM0p713L+Eg+RI6q9OqhPi7HF8aJQivB0bLYloCMwgGeR/dz2Ey6hvNGONDrdpbQoIcQ==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - - /@nx/nx-win32-x64-msvc@18.1.0: - resolution: {integrity: sha512-vI43+pFtFd+RlfIABe5nHv9R8BB8VPkBMADoZCm2CkK391fTgrIRuLKmJhYjD+qWSwdx9j9t2Au/q78MFVJE2A==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - deprecated: This was an unintentional release and has been deprecated - requiresBuild: true - dev: true - optional: true - /@pkgr/core@0.1.1: resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} @@ -950,25 +835,6 @@ packages: pretty-format: 29.7.0 dev: true - /@yarnpkg/lockfile@1.1.0: - resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} - dev: true - - /@yarnpkg/parsers@3.0.0-rc.46: - resolution: {integrity: sha512-aiATs7pSutzda/rq8fnuPwTglyVwjM22bNnK2ZgjrpAjQHSSl3lztd2f9evst1W/qnC58DRz7T7QndUDumAR4Q==} - engines: {node: '>=14.15.0'} - dependencies: - js-yaml: 3.14.1 - tslib: 2.6.2 - dev: true - - /@zkochan/js-yaml@0.0.6: - resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - /abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -1028,11 +894,6 @@ packages: uri-js: 4.4.1 dev: false - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true - /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1068,10 +929,6 @@ packages: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - dev: true - /atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} @@ -1088,16 +945,6 @@ packages: - supports-color dev: false - /axios@1.6.7: - resolution: {integrity: sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==} - dependencies: - follow-redirects: 1.15.5 - form-data: 4.0.0 - proxy-from-env: 1.1.0 - transitivePeerDependencies: - - debug - dev: true - /balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true @@ -1192,32 +1039,6 @@ packages: get-func-name: 2.0.2 dev: true - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - dependencies: - restore-cursor: 3.1.0 - dev: true - - /cli-spinners@2.6.1: - resolution: {integrity: sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==} - engines: {node: '>=6'} - dev: true - - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - dependencies: - string-width: 4.2.3 - strip-ansi: 6.0.1 - wrap-ansi: 7.0.0 - dev: true - - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true - /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1233,13 +1054,6 @@ packages: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: false - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - dependencies: - delayed-stream: 1.0.0 - dev: true - /commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} @@ -1304,22 +1118,6 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - dependencies: - clone: 1.0.4 - dev: true - - /define-lazy-prop@2.0.0: - resolution: {integrity: sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==} - engines: {node: '>=8'} - dev: true - - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - dev: true - /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -1342,40 +1140,16 @@ packages: esutils: 2.0.3 dev: true - /dotenv-expand@10.0.0: - resolution: {integrity: sha512-GopVGCpVS1UKH75VKHGuQFqS1Gusej0z4FyQkPdwjil2gNIv+LNsqBlboOzpJFZKVT95GkCyWJbBSdFEFUWI2A==} - engines: {node: '>=12'} - dev: true - - /dotenv@16.3.2: - resolution: {integrity: sha512-HTlk5nmhkm8F6JcdXvHIzaorzCoziNQT9mGxLPVXW8wJF1TiGSL60ZGB4gHWabHOaMmWmhvk2/lPHfnBiT78AQ==} - engines: {node: '>=12'} - dev: true - - /duplexer@0.1.2: - resolution: {integrity: sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==} - dev: true - /emittery@0.13.1: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} engines: {node: '>=12'} dev: true - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - dev: true - /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 - - /enquirer@2.3.6: - resolution: {integrity: sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==} - engines: {node: '>=8.6'} - dependencies: - ansi-colors: 4.1.3 - dev: true + dev: false /es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -1410,16 +1184,6 @@ packages: '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true - /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} @@ -1524,12 +1288,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true - /esquery@1.5.0: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} @@ -1680,13 +1438,6 @@ packages: dependencies: reusify: 1.0.4 - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - dependencies: - escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -1720,52 +1471,15 @@ packages: rimraf: 3.0.2 dev: true - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true - /flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true - /follow-redirects@1.15.5: - resolution: {integrity: sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - dev: true - - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - dependencies: - asynckit: 0.4.0 - combined-stream: 1.0.8 - mime-types: 2.1.35 - dev: true - /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} dev: false - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true - - /fs-extra@11.2.0: - resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==} - engines: {node: '>=14.14'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 6.1.0 - universalify: 2.0.1 - dev: true - /fs-extra@7.0.1: resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} engines: {node: '>=6 <7 || >=8'} @@ -1790,11 +1504,6 @@ packages: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true - /get-func-name@2.0.2: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true @@ -1961,22 +1670,11 @@ packages: hasown: 2.0.1 dev: true - /is-docker@2.2.1: - resolution: {integrity: sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==} - engines: {node: '>=8'} - hasBin: true - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} dev: true - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - dev: true - /is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1984,11 +1682,6 @@ packages: is-extglob: 2.1.1 dev: true - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true - /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} @@ -2003,18 +1696,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true - - /is-wsl@2.2.0: - resolution: {integrity: sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==} - engines: {node: '>=8'} - dependencies: - is-docker: 2.2.1 - dev: true - /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true @@ -2055,21 +1736,6 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - chalk: 4.1.2 - diff-sequences: 29.6.3 - jest-get-type: 29.6.3 - pretty-format: 29.7.0 - dev: true - - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /jju@1.4.0: resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true @@ -2083,14 +1749,6 @@ packages: resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} dev: true - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - dependencies: - argparse: 1.0.10 - esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true @@ -2120,16 +1778,6 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true - - /jsonc-parser@3.2.0: - resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} - dev: true - /jsonc-parser@3.2.1: resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} dev: true @@ -2140,14 +1788,6 @@ packages: graceful-fs: 4.2.11 dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - dependencies: - universalify: 2.0.1 - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: @@ -2170,11 +1810,6 @@ packages: set-cookie-parser: 2.6.0 dev: false - /lines-and-columns@2.0.4: - resolution: {integrity: sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -2205,14 +1840,6 @@ packages: /lodash.sortby@4.7.0: resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - dependencies: - chalk: 4.1.2 - is-unicode-supported: 0.1.0 - dev: true - /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: @@ -2259,17 +1886,14 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: false /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + dev: false /mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} @@ -2289,15 +1913,9 @@ packages: brace-expansion: 2.0.1 dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false /mlly@1.6.1: resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} @@ -2331,17 +1949,6 @@ packages: semver: 7.6.0 dev: false - /node-machine-id@1.1.12: - resolution: {integrity: sha512-QNABxbrPa3qEIfrE6GOJ7BYIuignnJw7iQ2YPbc3Nla1HzRJjXzZOiikfF8m7eAMfichLt3M4VgLOetqgDmgGQ==} - dev: true - - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - dependencies: - path-key: 3.1.1 - dev: true - /npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2349,68 +1956,6 @@ packages: path-key: 4.0.0 dev: true - /nx@18.1.0: - resolution: {integrity: sha512-lKWQvv9nFjbvSBw6N5EAphH5BVahx44J83FlghmTAw7vXjO9fVhdqKeJoRKO6hkzoFB+ke3b/mmH2Ted5oft7A==} - hasBin: true - requiresBuild: true - peerDependencies: - '@swc-node/register': ^1.8.0 - '@swc/core': ^1.3.85 - peerDependenciesMeta: - '@swc-node/register': - optional: true - '@swc/core': - optional: true - dependencies: - '@nrwl/tao': 18.1.0 - '@yarnpkg/lockfile': 1.1.0 - '@yarnpkg/parsers': 3.0.0-rc.46 - '@zkochan/js-yaml': 0.0.6 - axios: 1.6.7 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - cliui: 8.0.1 - dotenv: 16.3.2 - dotenv-expand: 10.0.0 - enquirer: 2.3.6 - figures: 3.2.0 - flat: 5.0.2 - fs-extra: 11.2.0 - ignore: 5.3.1 - jest-diff: 29.7.0 - js-yaml: 4.1.0 - jsonc-parser: 3.2.0 - lines-and-columns: 2.0.4 - minimatch: 9.0.3 - node-machine-id: 1.1.12 - npm-run-path: 4.0.1 - open: 8.4.2 - ora: 5.3.0 - semver: 7.6.0 - string-width: 4.2.3 - strong-log-transformer: 2.1.0 - tar-stream: 2.2.0 - tmp: 0.2.3 - tsconfig-paths: 4.2.0 - tslib: 2.6.2 - yargs: 17.7.2 - yargs-parser: 21.1.1 - optionalDependencies: - '@nx/nx-darwin-arm64': 18.1.0 - '@nx/nx-darwin-x64': 18.1.0 - '@nx/nx-freebsd-x64': 18.1.0 - '@nx/nx-linux-arm-gnueabihf': 18.1.0 - '@nx/nx-linux-arm64-gnu': 18.1.0 - '@nx/nx-linux-arm64-musl': 18.1.0 - '@nx/nx-linux-x64-gnu': 18.1.0 - '@nx/nx-linux-x64-musl': 18.1.0 - '@nx/nx-win32-arm64-msvc': 18.1.0 - '@nx/nx-win32-x64-msvc': 18.1.0 - transitivePeerDependencies: - - debug - dev: true - /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -2424,13 +1969,6 @@ packages: dependencies: wrappy: 1.0.2 - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - dependencies: - mimic-fn: 2.1.0 - dev: true - /onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -2438,15 +1976,6 @@ packages: mimic-fn: 4.0.0 dev: true - /open@8.4.2: - resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} - engines: {node: '>=12'} - dependencies: - define-lazy-prop: 2.0.0 - is-docker: 2.2.1 - is-wsl: 2.2.0 - dev: true - /optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -2459,20 +1988,6 @@ packages: type-check: 0.4.0 dev: true - /ora@5.3.0: - resolution: {integrity: sha512-zAKMgGXUim0Jyd6CXK9lraBnD3H5yPGBPPOkC23a2BG6hsm4Zu6OQSjQuEtV0BHDf4aKHcUFvJiGRrFuW3MG8g==} - engines: {node: '>=10'} - dependencies: - bl: 4.1.0 - chalk: 4.1.2 - cli-cursor: 3.1.0 - cli-spinners: 2.6.1 - is-interactive: 1.0.0 - log-symbols: 4.1.0 - strip-ansi: 6.0.1 - wcwidth: 1.0.1 - dev: true - /p-defer@3.0.0: resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} engines: {node: '>=8'} @@ -2814,10 +2329,6 @@ packages: ipaddr.js: 1.9.1 dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true - /pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: @@ -2865,11 +2376,6 @@ packages: engines: {node: '>= 12.13.0'} dev: false - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true - /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -2893,14 +2399,6 @@ packages: supports-preserve-symlinks-flag: 1.0.0 dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - dependencies: - onetime: 5.1.2 - signal-exit: 3.0.7 - dev: true - /ret@0.2.2: resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} engines: {node: '>=4'} @@ -3028,10 +2526,6 @@ packages: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true - /signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -3141,15 +2635,6 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - dependencies: - emoji-regex: 8.0.0 - is-fullwidth-code-point: 3.0.0 - strip-ansi: 6.0.1 - dev: true - /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -3162,11 +2647,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -3182,16 +2662,6 @@ packages: js-tokens: 8.0.3 dev: true - /strong-log-transformer@2.1.0: - resolution: {integrity: sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==} - engines: {node: '>=4'} - hasBin: true - dependencies: - duplexer: 0.1.2 - minimist: 1.2.8 - through: 2.3.8 - dev: true - /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} @@ -3219,17 +2689,6 @@ packages: tslib: 2.6.2 dev: true - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - /test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -3260,10 +2719,6 @@ packages: dependencies: readable-stream: 3.6.2 - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true - /tinybench@2.6.0: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true @@ -3278,11 +2733,6 @@ packages: engines: {node: '>=14.0.0'} dev: true - /tmp@0.2.3: - resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==} - engines: {node: '>=14.14'} - dev: true - /to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -3303,15 +2753,6 @@ packages: dependencies: punycode: 2.3.1 - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - dependencies: - json5: 2.2.3 - minimist: 1.2.8 - strip-bom: 3.0.0 - dev: true - /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true @@ -3395,11 +2836,6 @@ packages: engines: {node: '>= 4.0.0'} dev: true - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true - /uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: @@ -3547,12 +2983,6 @@ packages: - terser dev: true - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - dependencies: - defaults: 1.0.4 - dev: true - /webidl-conversions@4.0.2: resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} @@ -3580,15 +3010,6 @@ packages: stackback: 0.0.2 dev: true - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - string-width: 4.2.3 - strip-ansi: 6.0.1 - dev: true - /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} @@ -3596,32 +3017,9 @@ packages: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true - /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true - - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - dependencies: - cliui: 8.0.1 - escalade: 3.1.2 - get-caller-file: 2.0.5 - require-directory: 2.1.1 - string-width: 4.2.3 - y18n: 5.0.8 - yargs-parser: 21.1.1 - dev: true - /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} From d3cd2b09182f27c990c6823196924ef1f3481ea0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:32:51 +0000 Subject: [PATCH 215/452] Update returntocorp/semgrep Docker digest to f74175d --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index d2c341af0..11bc47bd9 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:7f817a27f8322550e5569750079c10bdecf90284afb660edc5bb27a4b252d928 + image: returntocorp/semgrep@sha256:f74175d0927db29d9d556fdb3a6b9eae47bf61b71bb6e62fc23fcda0d8711211 if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 From c5b955b242ae2d66b2a330ee6d83a7e088c09abb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:34:24 +0000 Subject: [PATCH 216/452] Update postgres:latest Docker digest to 6b841c8 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index fe94dfaf2..7f3103022 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:latest@sha256:f58300ac8d393b2e3b09d36ea12d7d24ee9440440e421472a300e929ddb63460 + image: postgres:latest@sha256:6b841c8f6a819884207402f1209a8116844365df15fca8cf556fc54a24c70800 restart: always environment: POSTGRES_DB: rm From f7b967c3c6525e7af5e99a53b1130676bdcd2bf5 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 14 Mar 2024 08:35:00 -0400 Subject: [PATCH 217/452] Formatting --- .github/renovate.json5 | 26 +- .github/workflows/release.yml | 62 +- packages/gateway/src/index.ts | 2 +- packages/shared-packets/index.ts | 2 +- packages/shared-packets/tsconfig.json | 4 +- pnpm-lock.yaml | 7054 +++++++++++++++---------- tsconfig.json | 6 +- 7 files changed, 4192 insertions(+), 2964 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index cdeeea336..a2914fa7a 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,15 +1,15 @@ { - "extends": ["config:best-practices", ":automergeStableNonMajor"], - "packageRules": [ - { - "excludePackageNames": [ - // Prevent automatic updates from nginx:1.9.8 - // While this image can still be found on DockerHub, - // it is also archived at https://archive.org/details/nginx_1.9.8.tar - // This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. - // Windows XP is required support since the legacy client can not be upgraded or modified. - "nginx" - ] - } - ] + extends: ["config:best-practices", ":automergeStableNonMajor"], + packageRules: [ + { + excludePackageNames: [ + // Prevent automatic updates from nginx:1.9.8 + // While this image can still be found on DockerHub, + // it is also archived at https://archive.org/details/nginx_1.9.8.tar + // This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. + // Windows XP is required support since the legacy client can not be upgraded or modified. + "nginx", + ], + }, + ], } diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 8b23ac695..ad8e02dfb 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,37 +1,37 @@ name: Release on: - workflow_dispatch: - push: - branches: - - master + workflow_dispatch: + push: + branches: + - master permissions: - contents: read # for checkout + contents: read # for checkout jobs: - release: - name: Release - runs-on: ubuntu-latest - permissions: - contents: write # to be able to publish a GitHub release - issues: write # to be able to comment on released issues - pull-requests: write # to be able to comment on released pull requests - id-token: write # to enable use of OIDC for npm provenance - steps: - - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 - with: - fetch-depth: 0 - - name: Setup Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 - with: - node-version: "lts/*" - - name: Install dependencies - run: pnpm install - - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies - run: npm audit signatures - - name: Release - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - run: npx semantic-release \ No newline at end of file + release: + name: Release + runs-on: ubuntu-latest + permissions: + contents: write # to be able to publish a GitHub release + issues: write # to be able to comment on released issues + pull-requests: write # to be able to comment on released pull requests + id-token: write # to enable use of OIDC for npm provenance + steps: + - name: Checkout + uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + with: + fetch-depth: 0 + - name: Setup Node.js + uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 + with: + node-version: "lts/*" + - name: Install dependencies + run: pnpm install + - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies + run: npm audit signatures + - name: Release + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + run: npx semantic-release diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index b9eabd8ca..f9bf04c28 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -283,7 +283,7 @@ export function handleGameMessage( // Since a GameMessage v1 header is 12 byes long, a message smaller that that can only be v0 const msgVersion = bytes.byteLength <= 12 ? 0 : 1; - // Load new game message + // Load new game message const gameMessage = new GameMessage(msgVersion).deserialize(bytes); log.debug(`Game message: ${gameMessage}`); diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts index 1bb800ecc..e2d19c773 100644 --- a/packages/shared-packets/index.ts +++ b/packages/shared-packets/index.ts @@ -1,2 +1,2 @@ export * from "./src/interfaces.js"; -export {GameMessage } from "./src/GameMessage.js"; +export { GameMessage } from "./src/GameMessage.js"; diff --git a/packages/shared-packets/tsconfig.json b/packages/shared-packets/tsconfig.json index d44147f69..eeb3f6426 100644 --- a/packages/shared-packets/tsconfig.json +++ b/packages/shared-packets/tsconfig.json @@ -104,6 +104,6 @@ /* Completeness */ // "skipDefaultLibCheck": true, /* Skip type checking .d.ts files that are included with TypeScript. */ - "skipLibCheck": true /* Skip type checking all .d.ts files. */, - }, + "skipLibCheck": true /* Skip type checking all .d.ts files. */ + } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a85d44e2a..890fc4739 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,2940 +1,4168 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:packages/database - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:packages/shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - '@sentry/profiling-node': - specifier: ^7.104.0 - version: 7.107.0 - slonik: - specifier: '37' - version: 37.3.0(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - '@slonik/migrator': - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.27)(slonik@37.3.0) - '@types/node': - specifier: 20.11.27 - version: 20.11.27 - '@vitest/coverage-v8': - specifier: 1.3.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.2 - version: 5.4.2 - vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27) - - apps/main: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - '@rustymotors/shared': - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - slonik: - specifier: ^37.2.0 - version: 37.3.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:../shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:packages/database + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:packages/shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + "@sentry/profiling-node": + specifier: ^7.104.0 + version: 7.107.0 + slonik: + specifier: "37" + version: 37.3.0(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + "@slonik/migrator": + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.27)(slonik@37.3.0) + "@types/node": + specifier: 20.11.27 + version: 20.11.27 + "@vitest/coverage-v8": + specifier: 1.3.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.2 + version: 5.4.2 + vitest: + specifier: 1.3.1 + version: 1.3.1(@types/node@20.11.27) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + slonik: + specifier: ^37.2.0 + version: 37.3.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:../shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.27 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.27): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.27) - '@types/node': 20.11.27 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): - resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.27) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.107.0: - resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/core@7.107.0: - resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/node@7.107.0: - resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.107.0 - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/profiling-node@7.107.0: - resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.107.0: - resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.107.0: - resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.107.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) - slonik: 37.3.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.27) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.11.27: - resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} - dependencies: - '@types/node': 20.11.27 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} - peerDependencies: - vitest: 1.3.1 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} - dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} - dependencies: - '@vitest/utils': 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true - eslint-config-prettier: + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-defer@3.0.0: - resolution: {integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==} - engines: {node: '>=8'} - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: {integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@37.3.0(zod@3.22.4): - resolution: {integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: {integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==} - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} - dependencies: - readable-stream: 3.6.2 - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@1.0.1: - resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} - dependencies: - punycode: 2.3.1 - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.27): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.3.1(@types/node@20.11.27): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.27) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.27): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true optional: true - less: + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - lightningcss: + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - sass: + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - stylus: + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - sugarss: + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - terser: + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.27 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.27): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@types/node': + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@vitest/browser': + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@vitest/ui': + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - happy-dom: + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.27 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.27): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.27) + "@types/node": 20.11.27 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): + resolution: + { + integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.27) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.107.0: + resolution: + { + integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/core@7.107.0: + resolution: + { + integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/node@7.107.0: + resolution: + { + integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.107.0 + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/profiling-node@7.107.0: + resolution: + { + integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.107.0: + resolution: + { + integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/utils@7.107.0: + resolution: + { + integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.0): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.27) + slonik: 37.3.0(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.27) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.11.27: + resolution: + { + integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.27 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: + { + integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, + } + peerDependencies: + vitest: 1.3.1 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.27) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: + { + integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, + } + dependencies: + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: + { + integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, + } + dependencies: + "@vitest/utils": 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: + { + integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: + { + integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: + { + integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + dev: true + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + + /bl@4.1.0: + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } + dependencies: + buffer: 5.7.1 + inherits: 2.0.4 + readable-stream: 3.6.2 + dev: true + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@5.7.1: + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: true + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true optional: true - jsdom: + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: false + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + dev: false + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + dev: false + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.2: + resolution: + { + integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + dev: true + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.27 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.27) - vite-node: 1.3.1(@types/node@20.11.27) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /webidl-conversions@4.0.2: - resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} - - /whatwg-url@7.1.0: - resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + dev: true + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: ">=10" } + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /lodash.sortby@4.7.0: + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + dev: false + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + dev: false + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: false + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-defer@3.0.0: + resolution: + { + integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, + } + engines: { node: ">=8" } + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: + { + integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: + { + integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /readable-stream@3.6.2: + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: ">= 6" } + dependencies: + inherits: 2.0.4 + string_decoder: 1.3.0 + util-deprecate: 1.0.2 + dev: true + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.0: + resolution: + { + integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@37.3.0(zod@3.22.4): + resolution: + { + integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.0 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /source-map@0.6.1: + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /through2@3.0.2: + resolution: + { + integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, + } + dependencies: + inherits: 2.0.4 + readable-stream: 3.6.2 + + /through2@4.0.2: + resolution: + { + integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, + } + dependencies: + readable-stream: 3.6.2 + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + dev: true + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@1.0.1: + resolution: + { + integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, + } + dependencies: + punycode: 2.3.1 + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.2: + resolution: + { + integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==, + } + engines: { node: ">=14.17" } + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.27): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.27) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /util-deprecate@1.0.2: + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } + dev: true + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.3.1(@types/node@20.11.27): + resolution: + { + integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.27) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.27): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.27 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.27): + resolution: + { + integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.3.1 + "@vitest/ui": 1.3.1 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.27 + "@vitest/expect": 1.3.1 + "@vitest/runner": 1.3.1 + "@vitest/snapshot": 1.3.1 + "@vitest/spy": 1.3.1 + "@vitest/utils": 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.27) + vite-node: 1.3.1(@types/node@20.11.27) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /webidl-conversions@4.0.2: + resolution: + { + integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, + } + + /whatwg-url@7.1.0: + resolution: + { + integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, + } + dependencies: + lodash.sortby: 4.7.0 + tr46: 1.0.1 + webidl-conversions: 4.0.2 + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } diff --git a/tsconfig.json b/tsconfig.json index 91b5f19a1..31d9c81ae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "esModuleInterop": true, "forceConsistentCasingInFileNames": true, "strict": true, - "skipLibCheck": true, + "skipLibCheck": true }, "include": [ "src", @@ -22,6 +22,6 @@ "server.ts", "migrate.ts", "test", - "apps/main/server.ts", - ], + "apps/main/server.ts" + ] } From ef41f7be01c1f7dca78863a7ffbb26f231f97134 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Thu, 14 Mar 2024 08:42:05 -0400 Subject: [PATCH 218/452] Create .deepsource.toml --- .deepsource.toml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml new file mode 100644 index 000000000..8b1378917 --- /dev/null +++ b/.deepsource.toml @@ -0,0 +1 @@ + From f5de5eae6b32c0a4ed8a4b5366246020b4d6b964 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Thu, 14 Mar 2024 08:45:12 -0400 Subject: [PATCH 219/452] Delete .deepsource.toml --- .deepsource.toml | 1 - 1 file changed, 1 deletion(-) delete mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml deleted file mode 100644 index 8b1378917..000000000 --- a/.deepsource.toml +++ /dev/null @@ -1 +0,0 @@ - From 5704dfe67b2cfff40756a4f060b1e6a39c2b7eca Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Thu, 14 Mar 2024 12:46:17 +0000 Subject: [PATCH 220/452] ci: add .deepsource.toml --- .deepsource.toml | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 .deepsource.toml diff --git a/.deepsource.toml b/.deepsource.toml new file mode 100644 index 000000000..e924044c2 --- /dev/null +++ b/.deepsource.toml @@ -0,0 +1,10 @@ +version = 1 + +[[analyzers]] +name = "javascript" + + [analyzers.meta] + environment = [ + "nodejs", + "vitest" + ] \ No newline at end of file From b3184a704561cf97f95accbc2cc4f692777f1dff Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 01:25:54 +0000 Subject: [PATCH 221/452] Update dependency slonik to v37.3.1 (#1809) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6997 ++++++++++++++++++++---------------------------- 1 file changed, 2856 insertions(+), 4141 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 890fc4739..62faca2e2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4168 +1,2883 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:packages/database - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:packages/shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - "@sentry/profiling-node": - specifier: ^7.104.0 - version: 7.107.0 - slonik: - specifier: "37" - version: 37.3.0(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - "@slonik/migrator": - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.27)(slonik@37.3.0) - "@types/node": - specifier: 20.11.27 - version: 20.11.27 - "@vitest/coverage-v8": - specifier: 1.3.1 - version: 1.3.1(vitest@1.3.1) - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.2 - version: 5.4.2 - vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - slonik: - specifier: ^37.2.0 - version: 37.3.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:../shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true + .: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:packages/database + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:packages/shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + '@sentry/profiling-node': + specifier: ^7.104.0 + version: 7.107.0 + slonik: + specifier: '37' + version: 37.3.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + '@slonik/migrator': + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.27)(slonik@37.3.1) + '@types/node': + specifier: 20.11.27 + version: 20.11.27 + '@vitest/coverage-v8': + specifier: 1.3.1 + version: 1.3.1(vitest@1.3.1) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.2 + version: 5.4.2 + vitest: + specifier: 1.3.1 + version: 1.3.1(@types/node@20.11.27) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + slonik: + specifier: ^37.2.0 + version: 37.3.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:../shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true +packages: - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true + dependencies: + '@types/node': 20.11.27 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.27): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.27) + '@types/node': 20.11.27 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): + resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.27) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.107.0: + resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/core@7.107.0: + resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/node@7.107.0: + resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.107.0 + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/profiling-node@7.107.0: + resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.107.0: + resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.107.0: + resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.107.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.1): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) + slonik: 37.3.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.27) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.27: + resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.27 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.3.1(vitest@1.3.1): + resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + peerDependencies: + vitest: 1.3.1 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 4.0.1 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.3.1(@types/node@20.11.27) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.3.1: + resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + dependencies: + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.3.1: + resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + dependencies: + '@vitest/utils': 1.3.1 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.3.1: + resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.3.1: + resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.3.1: + resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true + eslint-config-prettier: optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + dependencies: + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + source-map: 0.6.1 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@37.3.1(zod@3.22.4): + resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.27): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.3.1(@types/node@20.11.27): + resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.27) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.27): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + less: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + sass: optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + stylus: optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + sugarss: optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + terser: optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.27 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.3.1(@types/node@20.11.27): + resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.3.1 + '@vitest/ui': 1.3.1 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@types/node': optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@vitest/browser': optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.27 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.27): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.27) - "@types/node": 20.11.27 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): - resolution: - { - integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.27) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.107.0: - resolution: - { - integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/core@7.107.0: - resolution: - { - integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/node@7.107.0: - resolution: - { - integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.107.0 - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/profiling-node@7.107.0: - resolution: - { - integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.107.0: - resolution: - { - integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/utils@7.107.0: - resolution: - { - integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.0): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.27) - slonik: 37.3.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.27) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.11.27: - resolution: - { - integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.27 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: - { - integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==, - } - peerDependencies: - vitest: 1.3.1 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.3.1: - resolution: - { - integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==, - } - dependencies: - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.3.1: - resolution: - { - integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==, - } - dependencies: - "@vitest/utils": 1.3.1 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.3.1: - resolution: - { - integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.3.1: - resolution: - { - integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.3.1: - resolution: - { - integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - dev: true - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - - /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } - dependencies: - buffer: 5.7.1 - inherits: 2.0.4 - readable-stream: 3.6.2 - dev: true - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: true - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: false - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - dev: false - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - dev: false - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.2: - resolution: - { - integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - dev: true - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true + happy-dom: optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - dev: true - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: ">=10" } - dependencies: - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /lodash.sortby@4.7.0: - resolution: - { - integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, - } - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - dev: false - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - dev: false - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: false - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-defer@3.0.0: - resolution: - { - integrity: sha512-ugZxsxmtTln604yeYd29EGrNhazN2lywetzpKhfmQjW/VJmhpDmWbiX+h0zL8V91R0UXkhb3KtPmyq9PZw3aYw==, - } - engines: { node: ">=8" } - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true + jsdom: optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: - { - integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: - { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: ">= 6" } - dependencies: - inherits: 2.0.4 - string_decoder: 1.3.0 - util-deprecate: 1.0.2 - dev: true - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.0: - resolution: - { - integrity: sha512-d1rPLcHmQID3GsA3p9d5vKSZYlvrTWhjbmeg9DT5DcPoLpH85VzPmkLkGKhQv376+dfkApaHwNbpYEwDB77Ibg==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@37.3.0(zod@3.22.4): - resolution: - { - integrity: sha512-JB/RVTAp0e2/7wERm5XkY3+K96SQY/6RPgRMWzlUsizPblA5RV49i7kwPY4zQ/I2YncJpFO0TaHOOFnddBFYuQ==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.0 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /through2@3.0.2: - resolution: - { - integrity: sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==, - } - dependencies: - inherits: 2.0.4 - readable-stream: 3.6.2 - - /through2@4.0.2: - resolution: - { - integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==, - } - dependencies: - readable-stream: 3.6.2 - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - dev: true - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@1.0.1: - resolution: - { - integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==, - } - dependencies: - punycode: 2.3.1 - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.2: - resolution: - { - integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==, - } - engines: { node: ">=14.17" } - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.27): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.27) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } - dev: true - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.3.1(@types/node@20.11.27): - resolution: - { - integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.27) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.27): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.27 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.3.1(@types/node@20.11.27): - resolution: - { - integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.3.1 - "@vitest/ui": 1.3.1 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.27 - "@vitest/expect": 1.3.1 - "@vitest/runner": 1.3.1 - "@vitest/snapshot": 1.3.1 - "@vitest/spy": 1.3.1 - "@vitest/utils": 1.3.1 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.27) - vite-node: 1.3.1(@types/node@20.11.27) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /webidl-conversions@4.0.2: - resolution: - { - integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==, - } - - /whatwg-url@7.1.0: - resolution: - { - integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==, - } - dependencies: - lodash.sortby: 4.7.0 - tr46: 1.0.1 - webidl-conversions: 4.0.2 - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + dependencies: + '@types/node': 20.11.27 + '@vitest/expect': 1.3.1 + '@vitest/runner': 1.3.1 + '@vitest/snapshot': 1.3.1 + '@vitest/spy': 1.3.1 + '@vitest/utils': 1.3.1 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.27) + vite-node: 1.3.1(@types/node@20.11.27) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From 040873a9cc084143c9d9c1bdf60b5fda613afbba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 08:15:49 +0000 Subject: [PATCH 222/452] Update dependency @types/node to v20.11.28 (#1810) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 02494a80a..0bbad0fec 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.27", + "@types/node": "20.11.28", "@vitest/coverage-v8": "1.3.1", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 62faca2e2..9f99a716a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,10 +32,10 @@ importers: devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.27)(slonik@37.3.1) + version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) '@types/node': - specifier: 20.11.27 - version: 20.11.27 + specifier: 20.11.28 + version: 20.11.28 '@vitest/coverage-v8': specifier: 1.3.1 version: 1.3.1(vitest@1.3.1) @@ -56,7 +56,7 @@ importers: version: 5.4.2 vitest: specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.27) + version: 1.3.1(@types/node@20.11.28) apps/main: dependencies: @@ -638,7 +638,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.27): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -646,7 +646,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -655,7 +655,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.27): + /@rushstack/terminal@0.10.0(@types/node@20.11.28): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -663,15 +663,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.27) - '@types/node': 20.11.27 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.28) + '@types/node': 20.11.28 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.27): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.27) + '@rushstack/terminal': 0.10.0(@types/node@20.11.28) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -732,14 +732,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.27)(slonik@37.3.1): + /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.27) + umzug: 3.7.0(@types/node@20.11.28) transitivePeerDependencies: - '@types/node' dev: true @@ -756,15 +756,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.27: - resolution: {integrity: sha512-qyUZfMnCg1KEz57r7pzFtSGt49f6RPkPBis3Vo4PbS7roQEDn22hiHzl/Lo1q4i4hDEgBJmBF/NTNg2XR0HbFg==} + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -790,7 +790,7 @@ packages: std-env: 3.7.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.27) + vitest: 1.3.1(@types/node@20.11.28) transitivePeerDependencies: - supports-color dev: true @@ -2672,11 +2672,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.27): + /umzug@3.7.0(@types/node@20.11.28): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.27) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -2717,7 +2717,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.3.1(@types/node@20.11.27): + /vite-node@1.3.1(@types/node@20.11.28): resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2726,7 +2726,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.27) + vite: 5.1.4(@types/node@20.11.28) transitivePeerDependencies: - '@types/node' - less @@ -2738,7 +2738,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.27): + /vite@5.1.4(@types/node@20.11.28): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2766,7 +2766,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -2774,7 +2774,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.27): + /vitest@1.3.1(@types/node@20.11.28): resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2799,7 +2799,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.27 + '@types/node': 20.11.28 '@vitest/expect': 1.3.1 '@vitest/runner': 1.3.1 '@vitest/snapshot': 1.3.1 @@ -2817,8 +2817,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.27) - vite-node: 1.3.1(@types/node@20.11.27) + vite: 5.1.4(@types/node@20.11.28) + vite-node: 1.3.1(@types/node@20.11.28) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 6cab516e65172f18cd83fac0550cd1baf7bbc72f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 15 Mar 2024 13:57:08 +0000 Subject: [PATCH 223/452] Update vitest monorepo to v1.4.0 (#1811) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 80 ++++++++++++++++++++++++-------------------------- 2 files changed, 40 insertions(+), 44 deletions(-) diff --git a/package.json b/package.json index 0bbad0fec..663287c7a 100644 --- a/package.json +++ b/package.json @@ -18,13 +18,13 @@ "devDependencies": { "@slonik/migrator": "0.12.0", "@types/node": "20.11.28", - "@vitest/coverage-v8": "1.3.1", + "@vitest/coverage-v8": "1.4.0", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "prettier": "3.2.5", "typescript": "5.4.2", - "vitest": "1.3.1" + "vitest": "1.4.0" }, "dependencies": { "@rustymotors/database": "workspace:^", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9f99a716a..7a1cb3c36 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,8 +37,8 @@ importers: specifier: 20.11.28 version: 20.11.28 '@vitest/coverage-v8': - specifier: 1.3.1 - version: 1.3.1(vitest@1.3.1) + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) eslint: specifier: 8.57.0 version: 8.57.0 @@ -55,8 +55,8 @@ importers: specifier: 5.4.2 version: 5.4.2 vitest: - specifier: 1.3.1 - version: 1.3.1(@types/node@20.11.28) + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.28) apps/main: dependencies: @@ -772,61 +772,62 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitest/coverage-v8@1.3.1(vitest@1.3.1): - resolution: {integrity: sha512-UuBnkSJUNE9rdHjDCPyJ4fYuMkoMtnghes1XohYa4At0MS3OQSAo97FrbwSLRshYsXThMZy1+ybD/byK5llyIg==} + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} peerDependencies: - vitest: 1.3.1 + vitest: 1.4.0 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 4.0.1 + istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.7 magic-string: 0.30.7 magicast: 0.3.3 picocolors: 1.0.0 std-env: 3.7.0 + strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.3.1(@types/node@20.11.28) + vitest: 1.4.0(@types/node@20.11.28) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.3.1: - resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} dependencies: - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 chai: 4.4.1 dev: true - /@vitest/runner@1.3.1: - resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} dependencies: - '@vitest/utils': 1.3.1 + '@vitest/utils': 1.4.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.3.1: - resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} dependencies: magic-string: 0.30.7 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.3.1: - resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.3.1: - resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -1665,13 +1666,13 @@ packages: supports-color: 7.2.0 dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} engines: {node: '>=10'} dependencies: + '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 - source-map: 0.6.1 transitivePeerDependencies: - supports-color dev: true @@ -2474,11 +2475,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true - /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -2717,8 +2713,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.3.1(@types/node@20.11.28): - resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} + /vite-node@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -2774,15 +2770,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.3.1(@types/node@20.11.28): - resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} + /vitest@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.3.1 - '@vitest/ui': 1.3.1 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -2800,11 +2796,11 @@ packages: optional: true dependencies: '@types/node': 20.11.28 - '@vitest/expect': 1.3.1 - '@vitest/runner': 1.3.1 - '@vitest/snapshot': 1.3.1 - '@vitest/spy': 1.3.1 - '@vitest/utils': 1.3.1 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -2818,7 +2814,7 @@ packages: tinybench: 2.6.0 tinypool: 0.8.2 vite: 5.1.4(@types/node@20.11.28) - vite-node: 1.3.1(@types/node@20.11.28) + vite-node: 1.4.0(@types/node@20.11.28) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 1f94cc5a04a8c9788ec8ad0ffbd90cfcc3d40b00 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 15 Mar 2024 22:11:02 -0400 Subject: [PATCH 224/452] Format --- pnpm-lock.yaml | 6896 ++++++++++++++++++++++++++++-------------------- 1 file changed, 4044 insertions(+), 2852 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a1cb3c36..60d958f28 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,2879 +1,4071 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:packages/database - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:packages/shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - '@sentry/profiling-node': - specifier: ^7.104.0 - version: 7.107.0 - slonik: - specifier: '37' - version: 37.3.1(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - '@slonik/migrator': - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) - '@types/node': - specifier: 20.11.28 - version: 20.11.28 - '@vitest/coverage-v8': - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.2 - version: 5.4.2 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28) - - apps/main: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - '@rustymotors/shared': - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - slonik: - specifier: ^37.2.0 - version: 37.3.1(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:../shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.107.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:packages/database + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:packages/shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + "@sentry/profiling-node": + specifier: ^7.104.0 + version: 7.107.0 + slonik: + specifier: "37" + version: 37.3.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + "@slonik/migrator": + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) + "@types/node": + specifier: 20.11.28 + version: 20.11.28 + "@vitest/coverage-v8": + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.2 + version: 5.4.2 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.28) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + slonik: + specifier: ^37.2.0 + version: 37.3.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:../shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + dev: true + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.28 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.28): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.28) - '@types/node': 20.11.28 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): - resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.28) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.107.0: - resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/core@7.107.0: - resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/node@7.107.0: - resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.107.0 - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 - dev: false - - /@sentry/profiling-node@7.107.0: - resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.107.0: - resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.107.0: - resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.107.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) - slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.28) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.11.28: - resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} - dependencies: - '@types/node': 20.11.28 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} - peerDependencies: - vitest: 1.4.0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.28) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} - dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} - dependencies: - '@vitest/utils': 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true optional: true - eslint-config-prettier: + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@37.3.1(zod@3.22.4): - resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.28): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.4.0(@types/node@20.11.28): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.28) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.28): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true optional: true - less: + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true optional: true - lightningcss: + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true optional: true - sass: + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - stylus: + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - sugarss: + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true optional: true - terser: + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - dependencies: - '@types/node': 20.11.28 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.11.28): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@types/node': + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@vitest/browser': + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@vitest/ui': + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - happy-dom: + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.28 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.28): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.28) + "@types/node": 20.11.28 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): + resolution: + { + integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.28) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.107.0: + resolution: + { + integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/core@7.107.0: + resolution: + { + integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/node@7.107.0: + resolution: + { + integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.107.0 + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/profiling-node@7.107.0: + resolution: + { + integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.107.0: + resolution: + { + integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/utils@7.107.0: + resolution: + { + integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.28) + slonik: 37.3.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.28) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.11.28: + resolution: + { + integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.28 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: + { + integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, + } + peerDependencies: + vitest: 1.4.0 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.11.28) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: + { + integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, + } + dependencies: + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: + { + integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, + } + dependencies: + "@vitest/utils": 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: + { + integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: + { + integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: + { + integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + dev: true + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + dev: false + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true optional: true - jsdom: + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + dev: true + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: false + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + dev: false + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + dev: false + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.2: + resolution: + { + integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + dev: true + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true optional: true - dependencies: - '@types/node': 20.11.28 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.28) - vite-node: 1.4.0(@types/node@20.11.28) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + dev: false + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + dev: true + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: + { + integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, + } + engines: { node: ">=10" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + dev: false + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + dev: false + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: false + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + dev: true + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: + { + integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: + { + integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: + { + integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + dev: false + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@37.3.1(zod@3.22.4): + resolution: + { + integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + dev: true + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.2: + resolution: + { + integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==, + } + engines: { node: ">=14.17" } + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.28): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.28) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.4.0(@types/node@20.11.28): + resolution: + { + integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.28) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.28): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.28 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.11.28): + resolution: + { + integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.4.0 + "@vitest/ui": 1.4.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.28 + "@vitest/expect": 1.4.0 + "@vitest/runner": 1.4.0 + "@vitest/snapshot": 1.4.0 + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.28) + vite-node: 1.4.0(@types/node@20.11.28) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + dev: true + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } From 169d7aa127bb6b9df16a57db970e9b28feeb067c Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 15 Mar 2024 22:47:41 -0400 Subject: [PATCH 225/452] Tell Renovate not to upgrade nginx --- .github/renovate.json5 | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index a2914fa7a..45b15a176 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -2,14 +2,18 @@ extends: ["config:best-practices", ":automergeStableNonMajor"], packageRules: [ { - excludePackageNames: [ + "allowedVersions": "1.9.8", + "matchDatasources": [ + "docker" + ], + "matchPackageNames": [ // Prevent automatic updates from nginx:1.9.8 // While this image can still be found on DockerHub, // it is also archived at https://archive.org/details/nginx_1.9.8.tar // This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. // Windows XP is required support since the legacy client can not be upgraded or modified. - "nginx", - ], - }, + "nginx" + ] + } ], } From c37008c350e597cbf7ec6f700c0848d0e381d8f7 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 15 Mar 2024 23:38:35 -0400 Subject: [PATCH 226/452] Format --- .github/renovate.json5 | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 45b15a176..d69c6f8f4 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -2,18 +2,16 @@ extends: ["config:best-practices", ":automergeStableNonMajor"], packageRules: [ { - "allowedVersions": "1.9.8", - "matchDatasources": [ - "docker" - ], - "matchPackageNames": [ + allowedVersions: "1.9.8", + matchDatasources: ["docker"], + matchPackageNames: [ // Prevent automatic updates from nginx:1.9.8 // While this image can still be found on DockerHub, // it is also archived at https://archive.org/details/nginx_1.9.8.tar // This is required to serve as a proxy to the [SChannel](https://web.archive.org/web/20230402130420/https://learn.microsoft.com/en-us/windows/win32/com/schannel) that Windows XP uses. // Windows XP is required support since the legacy client can not be upgraded or modified. - "nginx" - ] - } + "nginx", + ], + }, ], } From 4f3f7d66b2a45eb3da3e3522a8d61a0ce8dd5e59 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 15 Mar 2024 23:42:17 -0400 Subject: [PATCH 227/452] Improve readability --- .prettierignore | 2 ++ apps/main/server.ts | 2 +- packages/database/src/DatabaseManager.ts | 2 +- .../database/src/models/VehiclePartTree.ts | 4 +-- packages/interfaces/{index.d.ts => index.ts} | 9 ++---- .../messageProcessors/processDeleteProfile.ts | 8 ++--- .../nps/messageProcessors/processGameLogin.ts | 4 +-- .../messageProcessors/processLobbyLogin.ts | 4 +-- .../nps/messageProcessors/processUserLogin.ts | 8 ++--- packages/nps/services/profile.ts | 14 ++++----- packages/nps/services/session.ts | 31 ++++++++----------- packages/nps/services/token.ts | 4 +-- packages/persona/src/BuddyInfoMessage.ts | 10 +++--- packages/shared/messageFactory.ts | 6 ++-- packages/transactions/src/clientConnect.ts | 4 +-- tsconfig.json | 13 +------- 16 files changed, 53 insertions(+), 72 deletions(-) create mode 100644 .prettierignore rename packages/interfaces/{index.d.ts => index.ts} (96%) diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..4980bced4 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,2 @@ +pnpm-lock.yaml +pnpm-workspace.yaml \ No newline at end of file diff --git a/apps/main/server.ts b/apps/main/server.ts index d22e50ff1..d159997c7 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import Sentry from "@sentry/node"; +import * as Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; import { ServerLoggerLevels, diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 14eb4799f..2e297f06e 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -87,7 +87,7 @@ export async function updateSessionKey( */ export async function fetchSessionKeyByConnectionId( connectionId: string, -): Promise { +): Promise { const record = _sessions.find((session) => { return session.connectionId === connectionId; }); diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts index 538d7675e..6b7ab6c65 100644 --- a/packages/database/src/models/VehiclePartTree.ts +++ b/packages/database/src/models/VehiclePartTree.ts @@ -202,7 +202,7 @@ export async function saveVehiclePartTree( partIds.add(part.partId); } - for (const partId of partIds) { + partIds.forEach(async (partId) => { const part = partTree.level1.parts.find((p) => p.partId === partId) || partTree.level2.parts.find((p) => p.partId === partId); @@ -211,7 +211,7 @@ export async function saveVehiclePartTree( throw new Error(`Part with partId ${partId} not found`); } await savePart(part); - } + }); // Save the vehicle part tree in the cache setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); diff --git a/packages/interfaces/index.d.ts b/packages/interfaces/index.ts similarity index 96% rename from packages/interfaces/index.d.ts rename to packages/interfaces/index.ts index dd0c4db27..039463eff 100644 --- a/packages/interfaces/index.d.ts +++ b/packages/interfaces/index.ts @@ -2,19 +2,16 @@ import { Socket } from "node:net"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; import { - ServerError, SerializedBuffer, Configuration, + ServerLogger, + ServiceResponse, } from "@rustymotors/shared"; /** * @module interfaces */ -export as namespace interfaces; - -export const name = "interfaces"; - /** * @exports * @interface @@ -189,5 +186,3 @@ export interface KeypressEvent { meta: boolean; shift: boolean; } - -export as namespace interfaces; diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 9632cc2c2..9bf7086d5 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -1,5 +1,5 @@ -import fs from "node:fs"; -import crypto from "node:crypto"; +import { readFileSync } from "node:fs"; +import { privateDecrypt } from "node:crypto"; import { SocketCallback } from "./index.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SessionKey } from "../messageStructs/SessionKey.js"; @@ -10,7 +10,7 @@ import { getServerLogger } from "@rustymotors/shared"; const log = getServerLogger(); export function loadPrivateKey(path: string): string { - const privateKey = fs.readFileSync(path); + const privateKey = readFileSync(path); return privateKey.toString("utf8"); } @@ -19,7 +19,7 @@ export function decryptSessionKey( encryptedSessionKey: string, privateKey: string, ): string { - const sessionKeyStructure = crypto.privateDecrypt( + const sessionKeyStructure = privateDecrypt( privateKey, Buffer.from(encryptedSessionKey, "hex"), ); diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index cac9eaf0f..3522efa91 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -2,7 +2,7 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { - getUserSessionByCustomerId, + findActiveUserSessionByCustomerId, setUserSession, } from "../services/session.js"; @@ -27,7 +27,7 @@ export async function processGameLogin( log.info(`Shard ID: ${shardId}`); // This message is only called by debug, so let's sey the clinet version to debug - const session = await getUserSessionByCustomerId(customerId); + const session = await findActiveUserSessionByCustomerId(customerId); if (!session) { log.error(`Session not found for customer ID ${customerId}`); diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts index fefe99c44..9bc8020e0 100644 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -3,7 +3,7 @@ import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { getUserSessionByProfileId, setUserSession, - userSessions, + activeUserSessions, } from "../services/session.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { UserInfo } from "../messageStructs/UserInfo.js"; @@ -26,7 +26,7 @@ export async function processLobbyLogin( const session = await getUserSessionByProfileId(profileId); // Dump all sessions - console.dir(userSessions); + console.dir(activeUserSessions); // If the session doesn't exist, return if (!session) { diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index b55565bd9..327917a84 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -1,7 +1,7 @@ import { ISerializable } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; -import fs from "node:fs"; -import crypto from "node:crypto"; +import { readFileSync } from "node:fs"; +import { privateDecrypt } from "node:crypto"; import * as Sentry from "@sentry/node"; import { getToken } from "../services/token.js"; import { createNewUserSession, setUserSession } from "../services/session.js"; @@ -15,7 +15,7 @@ import { getServerConfiguration, getServerLogger } from "@rustymotors/shared"; const log = getServerLogger(); export function loadPrivateKey(path: string): string { - const privateKey = fs.readFileSync(path); + const privateKey = readFileSync(path); return privateKey.toString("utf8"); } @@ -24,7 +24,7 @@ export function decryptSessionKey( encryptedSessionKey: string, privateKey: string, ): string { - const sessionKeyStructure = crypto.privateDecrypt( + const sessionKeyStructure = privateDecrypt( privateKey, Buffer.from(encryptedSessionKey, "hex"), ); diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index 14f60e0c6..ab6da73f6 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,3 +1,4 @@ +import { g } from "vitest/dist/suite-a18diDsI.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; export const gameProfiles: GameProfile[] = []; @@ -33,20 +34,20 @@ export async function getGameProfilesForCustomerId( customerId: number, ): Promise { const profiles: GameProfile[] = []; - for (const profile of gameProfiles.values()) { + gameProfiles.forEach((profile) => { if (profile.customerId === customerId) { profiles.push(profile); } - } + }); return profiles; } export async function gameProfileExists(profileName: string): Promise { - for (const profile of gameProfiles.values()) { + gameProfiles.forEach((profile) => { if (profile.profileName === profileName) { return true; } - } + }); return false; } @@ -55,12 +56,11 @@ export async function addGameProfile(profile: GameProfile): Promise { } export async function deleteGameProfile(profileId: number): Promise { - for (const [index, profile] of gameProfiles.entries()) { + gameProfiles.forEach((profile, index) => { if (profile.profileId === profileId) { gameProfiles.splice(index, 1); - return; } - } + }); } export async function createGameProfile(): Promise { diff --git a/packages/nps/services/session.ts b/packages/nps/services/session.ts index 6b8ea8acb..1ed7236ff 100644 --- a/packages/nps/services/session.ts +++ b/packages/nps/services/session.ts @@ -82,55 +82,50 @@ export type UserSession = { clientVersion: ClientVersion; }; -export const userSessions = new Map([]); +export const activeUserSessions = new Map([]); export async function setUserSession(userSession: UserSession): Promise { - userSessions.set(userSession.token, userSession); + activeUserSessions.set(userSession.token, userSession); } export async function getUserSession( token: string, ): Promise { - if (userSessions.has(token)) { - return userSessions.get(token); + if (activeUserSessions.has(token)) { + return activeUserSessions.get(token); } return undefined; } export async function deleteUserSession(token: string): Promise { - userSessions.delete(token); + activeUserSessions.delete(token); } export async function getUserSessionByConnectionId( connectionId: string, ): Promise { - for (const userSession of userSessions.values()) { - if (userSession.connectionId === connectionId) { - return userSession; - } - } - return undefined; + return activeUserSessions.get(connectionId); } export async function getUserSessionByProfileId( profileId: number, ): Promise { - for (const userSession of userSessions.values()) { + activeUserSessions.forEach((userSession) => { if (userSession.activeProfileId === profileId) { return userSession; } - } + }); return undefined; } -export async function getUserSessionByCustomerId( +export async function findActiveUserSessionByCustomerId( customerId: number, ): Promise { - for (const userSession of userSessions.values()) { + activeUserSessions.forEach((userSession) => { if (userSession.customerId === customerId) { return userSession; } - } + }); return undefined; } @@ -138,11 +133,11 @@ export async function getUserSessionByIPAndPort( ipAddress: string, port: number, ): Promise { - for (const userSession of userSessions.values()) { + activeUserSessions.forEach((userSession) => { if (userSession.ipAddress === ipAddress && userSession.port === port) { return userSession; } - } + }); return undefined; } diff --git a/packages/nps/services/token.ts b/packages/nps/services/token.ts index c00326a4e..bd82c489f 100644 --- a/packages/nps/services/token.ts +++ b/packages/nps/services/token.ts @@ -49,11 +49,11 @@ export function deleteToken(token: string): void { } export function deleteExpiredTokens(): void { - for (const token of activeTokens.keys()) { + activeTokens.forEach((tokenRecord, token) => { if (isTokenExpired(token)) { deleteToken(token); } - } + }); } export function getCustomerId(token: string): number | undefined { diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts index aa03285ed..a0f03262b 100644 --- a/packages/persona/src/BuddyInfoMessage.ts +++ b/packages/persona/src/BuddyInfoMessage.ts @@ -27,14 +27,14 @@ export class BuddyInfoMessage extends RawMessage { } override get length(): number { - return super.length + 2 + this._buddyCount * 115; + return this.length + 2 + this._buddyCount * 115; } override serialize(): Buffer { const buffer = Buffer.alloc(this.length); let offset = 0; super.serialize().copy(buffer, offset); - offset += super.length; + offset += this.length; buffer.writeUInt16BE(this._buddyCount, offset); offset += 2; for (const buddy of this._buddyList) { @@ -58,7 +58,7 @@ export class BuddyCount extends NetworkMessage { } override get length(): number { - return super.length + 2; + return this.length + 2; } override serialize(): Buffer { @@ -107,8 +107,8 @@ export class BuddyList extends RawMessage { override serialize(): Buffer { const buffer = Buffer.alloc(this.length); let offset = 0; - super.serialize().copy(buffer, offset); - offset += super.length; + this.serialize().copy(buffer, offset); + offset += this.length; buffer.writeUInt16BE(this.messageId, offset); offset += 2; offset = serializeStringRaw(this.buddyName, buffer, offset, 33); diff --git a/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts index 6e631ab60..547059f7a 100644 --- a/packages/shared/messageFactory.ts +++ b/packages/shared/messageFactory.ts @@ -428,7 +428,7 @@ export class LegacyMessage extends SerializableMixin(AbstractSerializable) { override _doSerialize() { const buffer = Buffer.alloc(this._header.length); this._header._doSerialize().copy(buffer); - super.data.copy(buffer, this._header._size); + this.data.copy(buffer, this._header._size); return buffer; } @@ -447,14 +447,14 @@ export class LegacyMessage extends SerializableMixin(AbstractSerializable) { asJSON() { return { header: this._header, - data: super.data.toString("hex"), + data: this.data.toString("hex"), }; } override toString() { return `LegacyMessage: ${JSON.stringify({ header: this._header.toString(), - data: super.data.toString("hex"), + data: this.data.toString("hex"), })}`; } } diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index 382d12128..a273e3d00 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -14,7 +14,7 @@ import { createDataEncryptionPair, } from "../../gateway/src/encryption.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { getUserSessionByCustomerId } from "../../nps/services/session.js"; +import { findActiveUserSessionByCustomerId } from "../../nps/services/session.js"; /** * @param {MessageHandlerArgs} args @@ -54,7 +54,7 @@ export async function clientConnect({ log.debug(`Looking up the session key for ${customerId}...`); - const userSession = await getUserSessionByCustomerId(customerId); + const userSession = await findActiveUserSessionByCustomerId(customerId); if (typeof userSession === "undefined") { log.warn(`No user session found for ${customerId}`); diff --git a/tsconfig.json b/tsconfig.json index 31d9c81ae..12e0b2f94 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,16 +12,5 @@ "strict": true, "skipLibCheck": true }, - "include": [ - "src", - "test", - "packages", - "thebeast", - "lib", - "vite.config.ts", - "server.ts", - "migrate.ts", - "test", - "apps/main/server.ts" - ] + "include": ["app/**/*.ts", "packages/**/*.ts"] } From 3de3f76b89079659a7fffcc3775a746b256da66d Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 00:33:18 -0400 Subject: [PATCH 228/452] Remove incorrect import --- packages/nps/services/profile.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index ab6da73f6..37ea76f40 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,4 +1,3 @@ -import { g } from "vitest/dist/suite-a18diDsI.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; export const gameProfiles: GameProfile[] = []; From 1b599e330e43e5d911c2878ba3998591c20d293d Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 00:36:07 -0400 Subject: [PATCH 229/452] Remove unused typedef --- packages/interfaces/index.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/interfaces/index.ts b/packages/interfaces/index.ts index 039463eff..f53963e46 100644 --- a/packages/interfaces/index.ts +++ b/packages/interfaces/index.ts @@ -177,8 +177,6 @@ export interface ServiceArgs { log: ServerLogger; } -type Service = (args: ServiceArgs) => Promise; - export interface KeypressEvent { sequence: string; name: string; From 59c9370fff74f9ae81eab6870bd5d4a93dcfcc24 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 00:39:20 -0400 Subject: [PATCH 230/452] Remove unused import --- packages/interfaces/index.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/interfaces/index.ts b/packages/interfaces/index.ts index f53963e46..cdb2d08e8 100644 --- a/packages/interfaces/index.ts +++ b/packages/interfaces/index.ts @@ -5,7 +5,6 @@ import { SerializedBuffer, Configuration, ServerLogger, - ServiceResponse, } from "@rustymotors/shared"; /** From 0584b3607cdfc08e48b340d464575c8abcbeaae2 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 00:44:54 -0400 Subject: [PATCH 231/452] Remove incorrect typing --- packages/gateway/src/GatewayServer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index f5b65a7b1..1c149d5b3 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -334,7 +334,7 @@ export function getGatewayServer({ config, log, backlogAllowedCount = 0, - listeningPortList: listeningPortList = [], + listeningPortList = [], socketConnectionHandler = onSocketConnection, }: { config?: Configuration; From c4e74e5bff0582e06ab54a42322451ecae6d8426 Mon Sep 17 00:00:00 2001 From: "deepsource-autofix[bot]" <62050782+deepsource-autofix[bot]@users.noreply.github.com> Date: Sat, 16 Mar 2024 04:50:53 +0000 Subject: [PATCH 232/452] refactor: fix `// @ts-ignore` to `// @ts-expect-error` TypeScript allows you to suppress all errors on a line by placing a single-line comment starting with `@ts-ignore` immediately before the erroring line. While powerful, there is no way to know if a `@ts-ignore` is actually suppressing an error without manually investigating what happens when the `@ts-ignore` is removed. This means its easy for `@ts-ignores` to be forgotten about, and remain in code even after the error they were suppressing is fixed. This is dangerous, as if a new error arises on that line it'll be suppressed by the forgotten about `@ts-ignore`, and so be missed. --- migrate.ts | 2 +- packages/nps/messageProcessors/index.ts | 4 ++-- packages/shared/SubThread.ts | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/migrate.ts b/migrate.ts index 4f8c8e989..836f1d09e 100644 --- a/migrate.ts +++ b/migrate.ts @@ -4,7 +4,7 @@ import { getSlonik } from "./packages/database/src/services/database.js"; const migrator = new SlonikMigrator({ migrationsPath: "migrations", migrationTableName: "migration", - // @ts-ignore We know this works + // @ts-expect-error We know this works slonik: getSlonik().slonik, logger: SlonikMigrator.prettyLogger, }); diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts index 57e1be4c5..75fd3553c 100644 --- a/packages/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -47,7 +47,7 @@ export function populateGameMessageProcessors( export function getGameMessageProcessor(messageId: number): MessageProcessor { if (gameMessageProcessors.has(messageId)) { - // @ts-ignore - we know this will be defined since we checked above + // @ts-expect-error - we know this will be defined since we checked above return gameMessageProcessors.get(messageId); } throw new MessageProcessorError(messageId, "No message processor found"); @@ -77,7 +77,7 @@ export function populatePortToMessageTypes(portMap: Map): void { export function getPortMessageType(port: number): string { if (portToMessageTypes.has(port)) { - // @ts-ignore - we know this will be defined since we checked above + // @ts-expect-error - we know this will be defined since we checked above return portToMessageTypes.get(port); } throw new PortMapError(port, "No message type found"); diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index 5f090f84f..7037f779c 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -21,7 +21,7 @@ export class SubThread extends EventEmitter { init() { this.emit("initialized"); - // @ts-ignore + // @ts-expect-error this.timer = setInterval(this.run.bind(this), this.loopInterval); } From 7f3972ac6180f03d64a311e089a6b83f9f18e68e Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 00:52:37 -0400 Subject: [PATCH 233/452] This doesn't throw an error --- packages/shared/SubThread.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index 7037f779c..92eb96d76 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -21,7 +21,6 @@ export class SubThread extends EventEmitter { init() { this.emit("initialized"); - // @ts-expect-error this.timer = setInterval(this.run.bind(this), this.loopInterval); } From 09007e20675165f6c2fb9a2585c171b173a00628 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 01:00:04 -0400 Subject: [PATCH 234/452] Explicitly check for truthy --- packages/nps/messageProcessors/index.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts index 75fd3553c..5e4f5e6e6 100644 --- a/packages/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -46,8 +46,8 @@ export function populateGameMessageProcessors( } export function getGameMessageProcessor(messageId: number): MessageProcessor { - if (gameMessageProcessors.has(messageId)) { - // @ts-expect-error - we know this will be defined since we checked above + if (gameMessageProcessors.has(messageId) === true) { + // @ts-expect-error - Since has() is true, the return value is NOT undefined return gameMessageProcessors.get(messageId); } throw new MessageProcessorError(messageId, "No message processor found"); @@ -76,8 +76,8 @@ export function populatePortToMessageTypes(portMap: Map): void { } export function getPortMessageType(port: number): string { - if (portToMessageTypes.has(port)) { - // @ts-expect-error - we know this will be defined since we checked above + if (portToMessageTypes.has(port) === true) { + // @ts-expect-error - Since has() is true, the return value is NOT undefined return portToMessageTypes.get(port); } throw new PortMapError(port, "No message type found"); From ea4de7076241a9bfe227b34111ee5f7e77ee680f Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 16 Mar 2024 01:05:26 -0400 Subject: [PATCH 235/452] Awaiting the call to ensure the needed property is set --- migrate.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/migrate.ts b/migrate.ts index 836f1d09e..e647710c9 100644 --- a/migrate.ts +++ b/migrate.ts @@ -4,8 +4,7 @@ import { getSlonik } from "./packages/database/src/services/database.js"; const migrator = new SlonikMigrator({ migrationsPath: "migrations", migrationTableName: "migration", - // @ts-expect-error We know this works - slonik: getSlonik().slonik, + slonik: (await getSlonik()).slonik, logger: SlonikMigrator.prettyLogger, }); From 8c3302c0979268a81c3b62751dfd5b9b29288381 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:23:52 -0400 Subject: [PATCH 236/452] Testing that getGatewayServer returns an instance --- packages/cli/ConsoleThread.ts | 4 +-- packages/gateway/src/GatewayServer.ts | 15 ++++++----- packages/gateway/src/index.ts | 11 ++++---- packages/gateway/test/GatewayServer.test.ts | 30 +++++++++++++++++++++ packages/shared/SubThread.ts | 3 ++- 5 files changed, 48 insertions(+), 15 deletions(-) create mode 100644 packages/gateway/test/GatewayServer.test.ts diff --git a/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts index 7f96dcb47..969ecffa7 100644 --- a/packages/cli/ConsoleThread.ts +++ b/packages/cli/ConsoleThread.ts @@ -3,7 +3,7 @@ import { SubThread } from "@rustymotors/shared"; // eslint-disable-next-line no-unused-vars import { Gateway } from "../gateway/src/GatewayServer.js"; -import type { ServerLogger } from "@rustymotors/shared"; +import type { TServerLogger } from "@rustymotors/shared"; /** * @module ConsoleThread @@ -24,7 +24,7 @@ export class ConsoleThread extends SubThread { log, }: { parentThread: Gateway; - log: ServerLogger; + log: TServerLogger; }) { super("ReadInput", log, 100); if (parentThread === undefined) { diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 1c149d5b3..0ca44486a 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -8,6 +8,7 @@ import { addOnDataHandler, createInitialState, fetchStateFromDatabase, + TServerLogger, } from "@rustymotors/shared"; import { ConsoleThread } from "../../cli/ConsoleThread.js"; import { addWebRoutes } from "./web.js"; @@ -34,9 +35,9 @@ import { * @module gateway */ -type GatewayOptions = { +export type GatewayOptions = { config?: Configuration; - log: ServerLogger; + log: TServerLogger; backlogAllowedCount?: number; listeningPortList?: number[]; socketConnectionHandler?: ({ @@ -44,7 +45,7 @@ type GatewayOptions = { log, }: { incomingSocket: Socket; - log: ServerLogger; + log: TServerLogger; }) => void; }; @@ -54,7 +55,7 @@ type GatewayOptions = { */ export class Gateway { config: Configuration; - log: ServerLogger; + log: TServerLogger; timer: NodeJS.Timeout | null; loopInterval: number; status: string; @@ -67,7 +68,7 @@ export class Gateway { log, }: { incomingSocket: Socket; - log: ServerLogger; + log: TServerLogger; }) => void; static _instance: Gateway | undefined; webServer: import("fastify").FastifyInstance | undefined; @@ -338,7 +339,7 @@ export function getGatewayServer({ socketConnectionHandler = onSocketConnection, }: { config?: Configuration; - log: ServerLogger; + log: TServerLogger; backlogAllowedCount?: number; listeningPortList?: number[]; socketConnectionHandler?: ({ @@ -346,7 +347,7 @@ export function getGatewayServer({ log, }: { incomingSocket: Socket; - log: ServerLogger; + log: TServerLogger; }) => void; }): Gateway { return Gateway.getInstance({ diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index f9bf04c28..b26b95420 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -17,6 +17,7 @@ import { randomUUID } from "node:crypto"; import { OnDataHandler, + TServerLogger, addSocket, fetchStateFromDatabase, getOnDataHandler, @@ -71,7 +72,7 @@ export function socketErrorHandler({ }: { connectionId: string; error: NodeJS.ErrnoException; - log: ServerLogger; + log: TServerLogger; }) { // Handle socket errors if (error.code == "ECONNRESET") { @@ -117,7 +118,7 @@ export function onSocketConnection({ log, }: { incomingSocket: Socket; - log: ServerLogger; + log: TServerLogger; }) { // Get the local port and remote address const { localPort, remoteAddress } = incomingSocket; @@ -229,7 +230,7 @@ export function onSocketConnection({ function sendToSocket( serializedMessages: Buffer[], incomingSocket: Socket, - log: ServerLogger, + log: TServerLogger, ) { log.debug(`Sending {${serializedMessages.length}} messages to socket`); try { @@ -246,7 +247,7 @@ function sendToSocket( export function processGameMessage( connectionId: string, message: OldGameMessage, - log: ServerLogger, + log: TServerLogger, socketCallback: SocketCallback, ) { log.debug(`Processing game message...`); @@ -272,7 +273,7 @@ export function processGameMessage( export function handleGameMessage( connectionId: string, bytes: Buffer, - log: ServerLogger, + log: TServerLogger, socketCallback: SocketCallback, ) { log.debug(`Handling game message...`); diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts new file mode 100644 index 000000000..0f0c54b2b --- /dev/null +++ b/packages/gateway/test/GatewayServer.test.ts @@ -0,0 +1,30 @@ +import { TServerLogger } from "@rustymotors/shared"; +import { getGatewayServer } from "../src/GatewayServer.js"; +import type { GatewayOptions } from "../src/GatewayServer.js"; +import { describe, it, expect, vi } from "vitest"; + +describe("getGatewayServer", () => { + it("should be able to get a singleton instance", () => { + // Arrange + const log: TServerLogger = { + debug: () => {}, + error: () => {}, + info: () => {}, + warn: () => {}, + fatal: () => {}, + trace: () => {}, + }; + + const options: GatewayOptions = { + log, + listeningPortList: [1234, 5678], + }; + + // Act + const gateway = getGatewayServer(options); + + // Assert + expect(gateway).toBeDefined(); + expect(gateway).toBe(getGatewayServer(options)); + }); +}); diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index 5f090f84f..f1ea4a912 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -4,6 +4,7 @@ import { EventEmitter } from "node:events"; import { ServerLogger, getServerLogger } from "./log.js"; +import { TServerLogger } from "./types.js"; export class SubThread extends EventEmitter { name: any; @@ -11,7 +12,7 @@ export class SubThread extends EventEmitter { loopInterval: number; timer: any; - constructor(name: string, log: ServerLogger, loopInterval: number = 100) { + constructor(name: string, log: TServerLogger, loopInterval: number = 100) { super(); this.name = name; this.log = log; From f7abc14fd70ee5445bdfa6cb46649d9d72a44424 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:32:51 -0400 Subject: [PATCH 237/452] Clarify that the methods are mocked --- packages/gateway/test/GatewayServer.test.ts | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index 0f0c54b2b..cb99e6672 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -7,12 +7,12 @@ describe("getGatewayServer", () => { it("should be able to get a singleton instance", () => { // Arrange const log: TServerLogger = { - debug: () => {}, - error: () => {}, - info: () => {}, - warn: () => {}, - fatal: () => {}, - trace: () => {}, + debug: () => vi.fn(), + error: () => vi.fn(), + info: () => vi.fn(), + warn: () => vi.fn(), + fatal: () => vi.fn(), + trace: () => vi.fn(), }; const options: GatewayOptions = { From ac702c4fdac40b1be7bbda0cb03ebba5b725b914 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:38:56 -0400 Subject: [PATCH 238/452] Remove unused imports in GatewayServer.ts and SubThread.ts --- packages/gateway/src/GatewayServer.ts | 1 - packages/shared/SubThread.ts | 1 - 2 files changed, 2 deletions(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 0ca44486a..ac2a4c8af 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -4,7 +4,6 @@ import fastify from "fastify"; import { Configuration, getServerConfiguration, - ServerLogger, addOnDataHandler, createInitialState, fetchStateFromDatabase, diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index 427a102f3..ec80357d5 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -3,7 +3,6 @@ */ import { EventEmitter } from "node:events"; -import { ServerLogger, getServerLogger } from "./log.js"; import { TServerLogger } from "./types.js"; export class SubThread extends EventEmitter { From 30692680a74599c1ca3d3e0b179ed786c6d2f6d1 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:43:45 -0400 Subject: [PATCH 239/452] Refactor getGatewayServer tests to include single port scenario --- packages/gateway/test/GatewayServer.test.ts | 26 ++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index cb99e6672..efb84d5f8 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -4,7 +4,7 @@ import type { GatewayOptions } from "../src/GatewayServer.js"; import { describe, it, expect, vi } from "vitest"; describe("getGatewayServer", () => { - it("should be able to get a singleton instance", () => { + it("should be able to get a singleton instance when called with multiple ports", () => { // Arrange const log: TServerLogger = { debug: () => vi.fn(), @@ -27,4 +27,28 @@ describe("getGatewayServer", () => { expect(gateway).toBeDefined(); expect(gateway).toBe(getGatewayServer(options)); }); + + it("should be able to get a singleton instance when called with a single port", () => { + // Arrange + const log: TServerLogger = { + debug: () => vi.fn(), + error: () => vi.fn(), + info: () => vi.fn(), + warn: () => vi.fn(), + fatal: () => vi.fn(), + trace: () => vi.fn(), + }; + + const options: GatewayOptions = { + log, + listeningPortList: [1234], + }; + + // Act + const gateway = getGatewayServer(options); + + // Assert + expect(gateway).toBeDefined(); + expect(gateway).toBe(getGatewayServer(options)); + }); }); From 21be480aa3b4a85c1d8eda8687d912e5df95a555 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:55:09 -0400 Subject: [PATCH 240/452] Add verification for empty listening port list --- packages/gateway/src/GatewayServer.ts | 22 +++++++++++++----- packages/gateway/test/GatewayServer.test.ts | 25 ++++++++++++++++++++- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index ac2a4c8af..796eb04a5 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -94,6 +94,10 @@ export class Gateway { this.status = "stopped"; this.consoleEvents = ["userExit", "userRestart", "userHelp"]; this.backlogAllowedCount = backlogAllowedCount; + + // Check if there are any listening ports specified + this.verifyPortListIsNotEmpty(listeningPortList); + this.listeningPortList = listeningPortList; /** @type {import("node:net").Server[]} */ this.servers = []; @@ -102,6 +106,19 @@ export class Gateway { Gateway._instance = this; } + static deleteInstance() { + Gateway._instance = undefined; + } + + private verifyPortListIsNotEmpty(listeningPortList: number[]) { + if (listeningPortList.length === 0) { + this.log.error( + "No listening ports specified. Instance will not be created", + ); + throw new Error("No listening ports specified"); + } + } + /** * @return {import("fastify").FastifyInstance} */ @@ -116,11 +133,6 @@ export class Gateway { this.log.debug("Starting GatewayServer in start()"); this.log.info("Server starting"); - // Check if there are any listening ports specified - if (this.listeningPortList.length === 0) { - this.log.error("No listening ports specified. Skipping."); - } - // Mark the GatewayServer as running this.log.debug("Marking GatewayServer as running"); this.status = "running"; diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index efb84d5f8..d3fd966ec 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,5 +1,5 @@ import { TServerLogger } from "@rustymotors/shared"; -import { getGatewayServer } from "../src/GatewayServer.js"; +import { Gateway, getGatewayServer } from "../src/GatewayServer.js"; import type { GatewayOptions } from "../src/GatewayServer.js"; import { describe, it, expect, vi } from "vitest"; @@ -51,4 +51,27 @@ describe("getGatewayServer", () => { expect(gateway).toBeDefined(); expect(gateway).toBe(getGatewayServer(options)); }); + + it("should throw an error when called with no ports", () => { + // Arrange + const log: TServerLogger = { + debug: () => vi.fn(), + error: () => vi.fn(), + info: () => vi.fn(), + warn: () => vi.fn(), + fatal: () => vi.fn(), + trace: () => vi.fn(), + }; + + const options: GatewayOptions = { + log, + }; + Gateway.deleteInstance(); + + // Act + const fn = () => getGatewayServer(options); + + // Assert + expect(fn).toThrowError(); + }); }); From e6389981e1aea70397369cf988c79396905f58ee Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 01:57:28 -0400 Subject: [PATCH 241/452] Refactor GatewayOptions to TGatewayOptions --- packages/gateway/src/GatewayServer.ts | 12 ++++++------ packages/gateway/test/GatewayServer.test.ts | 8 ++++---- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 796eb04a5..a2c076d3f 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -34,7 +34,7 @@ import { * @module gateway */ -export type GatewayOptions = { +export type TGatewayOptions = { config?: Configuration; log: TServerLogger; backlogAllowedCount?: number; @@ -74,7 +74,7 @@ export class Gateway { readThread: ConsoleThread | undefined; /** * Creates an instance of GatewayServer. - * @param {GatewayOptions} options + * @param {TGatewayOptions} options */ constructor({ config = getServerConfiguration({}), @@ -82,7 +82,7 @@ export class Gateway { backlogAllowedCount = 0, listeningPortList = [], socketConnectionHandler = onSocketConnection, - }: GatewayOptions) { + }: TGatewayOptions) { log.debug("Creating GatewayServer instance"); this.config = config; @@ -301,7 +301,7 @@ export class Gateway { /** * - * @param {GatewayOptions} options + * @param {TGatewayOptions} options * @returns {Gateway} * @memberof Gateway */ @@ -311,7 +311,7 @@ export class Gateway { backlogAllowedCount = 0, listeningPortList = [], socketConnectionHandler = onSocketConnection, - }: GatewayOptions): Gateway { + }: TGatewayOptions): Gateway { if (Gateway._instance === undefined) { Gateway._instance = new Gateway({ config, @@ -339,7 +339,7 @@ Gateway._instance = undefined; /** * Get a singleton instance of GatewayServer * - * @param {GatewayOptions} options + * @param {TGatewayOptions} options * @returns {Gateway} */ export function getGatewayServer({ diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index d3fd966ec..0e3b6b019 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,6 +1,6 @@ import { TServerLogger } from "@rustymotors/shared"; import { Gateway, getGatewayServer } from "../src/GatewayServer.js"; -import type { GatewayOptions } from "../src/GatewayServer.js"; +import type { TGatewayOptions } from "../src/GatewayServer.js"; import { describe, it, expect, vi } from "vitest"; describe("getGatewayServer", () => { @@ -15,7 +15,7 @@ describe("getGatewayServer", () => { trace: () => vi.fn(), }; - const options: GatewayOptions = { + const options: TGatewayOptions = { log, listeningPortList: [1234, 5678], }; @@ -39,7 +39,7 @@ describe("getGatewayServer", () => { trace: () => vi.fn(), }; - const options: GatewayOptions = { + const options: TGatewayOptions = { log, listeningPortList: [1234], }; @@ -63,7 +63,7 @@ describe("getGatewayServer", () => { trace: () => vi.fn(), }; - const options: GatewayOptions = { + const options: TGatewayOptions = { log, }; Gateway.deleteInstance(); From c35ecee6631aa2f0e01446f9ec86d97782750c23 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 02:00:19 -0400 Subject: [PATCH 242/452] Refactor SubThread constructor signature --- packages/shared/SubThread.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index ec80357d5..aad687735 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -11,7 +11,7 @@ export class SubThread extends EventEmitter { loopInterval: number; timer: any; - constructor(name: string, log: TServerLogger, loopInterval: number = 100) { + constructor(name: string, log: TServerLogger, loopInterval = 100) { super(); this.name = name; this.log = log; From 0543ebe32fe88b3023be01b53eb3babbfa9a0a69 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 02:03:20 -0400 Subject: [PATCH 243/452] Add beforeEach and afterEach hooks to reset Gateway instance --- packages/gateway/test/GatewayServer.test.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index 0e3b6b019..94c8db7f5 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,9 +1,17 @@ import { TServerLogger } from "@rustymotors/shared"; import { Gateway, getGatewayServer } from "../src/GatewayServer.js"; import type { TGatewayOptions } from "../src/GatewayServer.js"; -import { describe, it, expect, vi } from "vitest"; +import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; describe("getGatewayServer", () => { + + beforeEach(() => { + Gateway.deleteInstance(); + }); + + afterEach(() => { + Gateway.deleteInstance(); + }); it("should be able to get a singleton instance when called with multiple ports", () => { // Arrange const log: TServerLogger = { From 39e5d61e7c84eebbfeb0a9f2a1d9abb10b41dfec Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 02:06:50 -0400 Subject: [PATCH 244/452] Add deleteInstance() and verifyPortListIsNotEmpty() methods to GatewayServer.ts --- packages/gateway/src/GatewayServer.ts | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index a2c076d3f..c435c462b 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -106,10 +106,18 @@ export class Gateway { Gateway._instance = this; } + /** + * Delete the GatewayServer instance + */ static deleteInstance() { Gateway._instance = undefined; } + /** + * Assert that the listeningPortList is not empty + * @param {number[]} listeningPortList + * @throws {Error} If the listeningPortList is empty + */ private verifyPortListIsNotEmpty(listeningPortList: number[]) { if (listeningPortList.length === 0) { this.log.error( From 85d0a4cd3ef3ee6d808f76eb23e8bf291c4f9b6e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 16 Mar 2024 02:20:13 -0400 Subject: [PATCH 245/452] Add GatewayServer test and socketErrorHandler test --- packages/gateway/test/GatewayServer.test.ts | 1 - .../gateway/test/socketErrorHandler.test.ts | 31 +++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 packages/gateway/test/socketErrorHandler.test.ts diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index 94c8db7f5..bf7539304 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -4,7 +4,6 @@ import type { TGatewayOptions } from "../src/GatewayServer.js"; import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; describe("getGatewayServer", () => { - beforeEach(() => { Gateway.deleteInstance(); }); diff --git a/packages/gateway/test/socketErrorHandler.test.ts b/packages/gateway/test/socketErrorHandler.test.ts new file mode 100644 index 000000000..7f22206ce --- /dev/null +++ b/packages/gateway/test/socketErrorHandler.test.ts @@ -0,0 +1,31 @@ +import { TServerLogger } from "@rustymotors/shared"; +import { socketErrorHandler } from "../src/index.js"; +import { describe, it, expect, vi } from "vitest"; + +describe("socketErrorHandler", () => { + it("should log and throw an error", () => { + // Arrange + const log: TServerLogger = { + debug: () => vi.fn(), + error: () => vi.fn(), + info: () => vi.fn(), + warn: () => vi.fn(), + fatal: () => vi.fn(), + trace: () => vi.fn(), + }; + + const error = new Error("test error"); + const connectionId = "test-connection-id"; + const errorSpy = vi.spyOn(log, "error"); + + // Act + const fn = () => socketErrorHandler({ log, error, connectionId }); + + // Assert + expect(fn).toThrowError("test error"); + + expect(errorSpy).toHaveBeenCalledWith( + "Socket error: test error on connection test-connection-id", + ); + }); +}); From 706cd60791e0a1f0f55246ad0136a9db5b744383 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 17 Mar 2024 22:49:58 +0000 Subject: [PATCH 246/452] chore(deps): update pnpm to v8.15.5 (#1825) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 6896 ++++++++++++++++++++---------------------------- 2 files changed, 2853 insertions(+), 4045 deletions(-) diff --git a/package.json b/package.json index 663287c7a..f1324433d 100644 --- a/package.json +++ b/package.json @@ -35,5 +35,5 @@ "slonik": "37", "tsx": "^4.7.1" }, - "packageManager": "pnpm@8.15.4+sha256.cea6d0bdf2de3a0549582da3983c70c92ffc577ff4410cbf190817ddc35137c2" + "packageManager": "pnpm@8.15.5" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 60d958f28..7a1cb3c36 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4071 +1,2879 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:packages/database - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:packages/shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - "@sentry/profiling-node": - specifier: ^7.104.0 - version: 7.107.0 - slonik: - specifier: "37" - version: 37.3.1(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - "@slonik/migrator": - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) - "@types/node": - specifier: 20.11.28 - version: 20.11.28 - "@vitest/coverage-v8": - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.2 - version: 5.4.2 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - slonik: - specifier: ^37.2.0 - version: 37.3.1(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:../shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - dev: true - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true + .: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:packages/database + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:packages/shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + '@sentry/profiling-node': + specifier: ^7.104.0 + version: 7.107.0 + slonik: + specifier: '37' + version: 37.3.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + devDependencies: + '@slonik/migrator': + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) + '@types/node': + specifier: 20.11.28 + version: 20.11.28 + '@vitest/coverage-v8': + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.2 + version: 5.4.2 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.28) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + slonik: + specifier: ^37.2.0 + version: 37.3.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:../shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.107.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^10.3.1 + version: 10.3.1 + + packages/shared-packets: {} + + packages/transactions: {} - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true +packages: - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + dev: true + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + dev: true + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + dev: true + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true + dependencies: + '@types/node': 20.11.28 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.28): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.28) + '@types/node': 20.11.28 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): + resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.28) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.107.0: + resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/core@7.107.0: + resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/node@7.107.0: + resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.107.0 + '@sentry/core': 7.107.0 + '@sentry/types': 7.107.0 + '@sentry/utils': 7.107.0 + dev: false + + /@sentry/profiling-node@7.107.0: + resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: false + + /@sentry/types@7.107.0: + resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} + engines: {node: '>=8'} + dev: false + + /@sentry/utils@7.107.0: + resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.107.0 + dev: false + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) + slonik: 37.3.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.28) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.28: + resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.28 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} + peerDependencies: + vitest: 1.4.0 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.11.28) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + dependencies: + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + dependencies: + '@vitest/utils': 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + dev: true + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + dev: true + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: false + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true + eslint-config-prettier: optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + dev: true + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + dev: true + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + dev: true + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + dev: true + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: false + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + dev: true + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + dev: true + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@10.3.1: + resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@37.3.1(zod@3.22.4): + resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.2: + resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.28): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.28) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.28): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + less: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + sass: optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + stylus: optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + sugarss: optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + terser: optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.28 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.11.28): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@types/node': optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@vitest/browser': optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.28 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.28): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.28) - "@types/node": 20.11.28 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): - resolution: - { - integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.28) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.107.0: - resolution: - { - integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/core@7.107.0: - resolution: - { - integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/node@7.107.0: - resolution: - { - integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.107.0 - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/profiling-node@7.107.0: - resolution: - { - integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.107.0: - resolution: - { - integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/utils@7.107.0: - resolution: - { - integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.28) - slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.28) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.11.28: - resolution: - { - integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.28 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: - { - integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, - } - peerDependencies: - vitest: 1.4.0 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.28) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: - { - integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, - } - dependencies: - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: - { - integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, - } - dependencies: - "@vitest/utils": 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: - { - integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: - { - integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: - { - integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - dev: true - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - dev: false - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - dev: true - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: false - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - dev: false - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - dev: false - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.2: - resolution: - { - integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - dev: true - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true + happy-dom: optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - dev: false - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - dev: true - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: - { - integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, - } - engines: { node: ">=10" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - dev: false - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - dev: false - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: false - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - dev: true - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true + jsdom: optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@10.3.1: - resolution: - { - integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: - { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: - { - integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - dev: false - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@37.3.1(zod@3.22.4): - resolution: - { - integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - dev: true - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.2: - resolution: - { - integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==, - } - engines: { node: ">=14.17" } - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.28): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.28) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.4.0(@types/node@20.11.28): - resolution: - { - integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.28) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.28): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.28 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.11.28): - resolution: - { - integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.4.0 - "@vitest/ui": 1.4.0 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.28 - "@vitest/expect": 1.4.0 - "@vitest/runner": 1.4.0 - "@vitest/snapshot": 1.4.0 - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.28) - vite-node: 1.4.0(@types/node@20.11.28) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - dev: true - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + dependencies: + '@types/node': 20.11.28 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.28) + vite-node: 1.4.0(@types/node@20.11.28) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From 32730bf7aa4c12d1bafe5c1d20948bca5b8878a2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 19:53:34 +0000 Subject: [PATCH 247/452] chore(deps): update dependency @types/node to v20.11.29 (#1827) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index f1324433d..b181e9c11 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.28", + "@types/node": "20.11.29", "@vitest/coverage-v8": "1.4.0", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7a1cb3c36..b10cca35a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,10 +32,10 @@ importers: devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.28)(slonik@37.3.1) + version: 0.12.0(@types/node@20.11.29)(slonik@37.3.1) '@types/node': - specifier: 20.11.28 - version: 20.11.28 + specifier: 20.11.29 + version: 20.11.29 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -56,7 +56,7 @@ importers: version: 5.4.2 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.28) + version: 1.4.0(@types/node@20.11.29) apps/main: dependencies: @@ -638,7 +638,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.28): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.29): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -646,7 +646,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -655,7 +655,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.28): + /@rushstack/terminal@0.10.0(@types/node@20.11.29): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -663,15 +663,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.28) - '@types/node': 20.11.28 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.29) + '@types/node': 20.11.29 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.28): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.29): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.28) + '@rushstack/terminal': 0.10.0(@types/node@20.11.29) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -732,14 +732,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.28)(slonik@37.3.1): + /@slonik/migrator@0.12.0(@types/node@20.11.29)(slonik@37.3.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.29) slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.28) + umzug: 3.7.0(@types/node@20.11.29) transitivePeerDependencies: - '@types/node' dev: true @@ -756,15 +756,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.28: - resolution: {integrity: sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==} + /@types/node@20.11.29: + resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -791,7 +791,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.28) + vitest: 1.4.0(@types/node@20.11.29) transitivePeerDependencies: - supports-color dev: true @@ -2668,11 +2668,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.28): + /umzug@3.7.0(@types/node@20.11.29): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.28) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.29) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -2713,7 +2713,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.11.28): + /vite-node@1.4.0(@types/node@20.11.29): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2722,7 +2722,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.28) + vite: 5.1.4(@types/node@20.11.29) transitivePeerDependencies: - '@types/node' - less @@ -2734,7 +2734,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.28): + /vite@5.1.4(@types/node@20.11.29): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2762,7 +2762,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -2770,7 +2770,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.28): + /vitest@1.4.0(@types/node@20.11.29): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2795,7 +2795,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.28 + '@types/node': 20.11.29 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -2813,8 +2813,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.28) - vite-node: 1.4.0(@types/node@20.11.28) + vite: 5.1.4(@types/node@20.11.29) + vite-node: 1.4.0(@types/node@20.11.29) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From dd4f6b96efc270061be7b54f40ac3bfd735627aa Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Mon, 18 Mar 2024 18:49:36 -0400 Subject: [PATCH 248/452] Revert "Improve readability (#1814)" (#1829) * Revert "Improve readability (#1814)" This reverts commit 1fd5ca16ff4d409e4229796485af13c54f9cf335, reversing changes made to c37008c350e597cbf7ec6f700c0848d0e381d8f7. * Refactor getPartDepth function and simplify partDepth assignment --- .prettierignore | 2 -- apps/main/server.ts | 2 +- packages/database/src/DatabaseManager.ts | 2 +- .../database/src/models/VehiclePartTree.ts | 15 +++------ packages/interfaces/{index.ts => index.d.ts} | 8 ++++- .../messageProcessors/processDeleteProfile.ts | 8 ++--- .../nps/messageProcessors/processGameLogin.ts | 4 +-- .../messageProcessors/processLobbyLogin.ts | 4 +-- .../nps/messageProcessors/processUserLogin.ts | 8 ++--- packages/nps/services/profile.ts | 13 ++++---- packages/nps/services/session.ts | 31 +++++++++++-------- packages/nps/services/token.ts | 4 +-- packages/persona/src/BuddyInfoMessage.ts | 10 +++--- packages/shared/messageFactory.ts | 6 ++-- packages/transactions/src/clientConnect.ts | 4 +-- tsconfig.json | 13 +++++++- 16 files changed, 75 insertions(+), 59 deletions(-) delete mode 100644 .prettierignore rename packages/interfaces/{index.ts => index.d.ts} (96%) diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 4980bced4..000000000 --- a/.prettierignore +++ /dev/null @@ -1,2 +0,0 @@ -pnpm-lock.yaml -pnpm-workspace.yaml \ No newline at end of file diff --git a/apps/main/server.ts b/apps/main/server.ts index d159997c7..d22e50ff1 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import * as Sentry from "@sentry/node"; +import Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; import { ServerLoggerLevels, diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 2e297f06e..14eb4799f 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -87,7 +87,7 @@ export async function updateSessionKey( */ export async function fetchSessionKeyByConnectionId( connectionId: string, -): Promise { +): Promise { const record = _sessions.find((session) => { return session.connectionId === connectionId; }); diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts index 6b7ab6c65..9834476b3 100644 --- a/packages/database/src/models/VehiclePartTree.ts +++ b/packages/database/src/models/VehiclePartTree.ts @@ -10,13 +10,6 @@ const partNumbersMap = new Map(); const log = getServerLogger(); -export function getPartDepth(partId: number): number { - if (level1PartTypes.includes(partId)) { - return 1; - } - return 2; -} - export type TVehicle = { vehicleId: number; skinId: number; @@ -202,7 +195,7 @@ export async function saveVehiclePartTree( partIds.add(part.partId); } - partIds.forEach(async (partId) => { + for (const partId of partIds) { const part = partTree.level1.parts.find((p) => p.partId === partId) || partTree.level2.parts.find((p) => p.partId === partId); @@ -211,7 +204,7 @@ export async function saveVehiclePartTree( throw new Error(`Part with partId ${partId} not found`); } await savePart(part); - }); + } // Save the vehicle part tree in the cache setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); @@ -570,7 +563,9 @@ export async function buildVehiclePartTree({ scrapValue: 0, }; - const partDepth = getPartDepth(part.abstractparttypeid); + const partDepth = level1PartTypes.includes(part.abstractparttypeid) + ? 1 + : 2; if (partDepth === 1) { vehiclePartTree.partTree.level1.parts.push(newPart); diff --git a/packages/interfaces/index.ts b/packages/interfaces/index.d.ts similarity index 96% rename from packages/interfaces/index.ts rename to packages/interfaces/index.d.ts index cdb2d08e8..2c0f6a3c5 100644 --- a/packages/interfaces/index.ts +++ b/packages/interfaces/index.d.ts @@ -2,15 +2,19 @@ import { Socket } from "node:net"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; import { + ServerError, SerializedBuffer, Configuration, - ServerLogger, } from "@rustymotors/shared"; /** * @module interfaces */ +export as namespace interfaces; + +export const name = "interfaces"; + /** * @exports * @interface @@ -183,3 +187,5 @@ export interface KeypressEvent { meta: boolean; shift: boolean; } + +export as namespace interfaces; diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 9bf7086d5..9632cc2c2 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -1,5 +1,5 @@ -import { readFileSync } from "node:fs"; -import { privateDecrypt } from "node:crypto"; +import fs from "node:fs"; +import crypto from "node:crypto"; import { SocketCallback } from "./index.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SessionKey } from "../messageStructs/SessionKey.js"; @@ -10,7 +10,7 @@ import { getServerLogger } from "@rustymotors/shared"; const log = getServerLogger(); export function loadPrivateKey(path: string): string { - const privateKey = readFileSync(path); + const privateKey = fs.readFileSync(path); return privateKey.toString("utf8"); } @@ -19,7 +19,7 @@ export function decryptSessionKey( encryptedSessionKey: string, privateKey: string, ): string { - const sessionKeyStructure = privateDecrypt( + const sessionKeyStructure = crypto.privateDecrypt( privateKey, Buffer.from(encryptedSessionKey, "hex"), ); diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index 3522efa91..cac9eaf0f 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -2,7 +2,7 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { - findActiveUserSessionByCustomerId, + getUserSessionByCustomerId, setUserSession, } from "../services/session.js"; @@ -27,7 +27,7 @@ export async function processGameLogin( log.info(`Shard ID: ${shardId}`); // This message is only called by debug, so let's sey the clinet version to debug - const session = await findActiveUserSessionByCustomerId(customerId); + const session = await getUserSessionByCustomerId(customerId); if (!session) { log.error(`Session not found for customer ID ${customerId}`); diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts index 9bc8020e0..fefe99c44 100644 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -3,7 +3,7 @@ import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { getUserSessionByProfileId, setUserSession, - activeUserSessions, + userSessions, } from "../services/session.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { UserInfo } from "../messageStructs/UserInfo.js"; @@ -26,7 +26,7 @@ export async function processLobbyLogin( const session = await getUserSessionByProfileId(profileId); // Dump all sessions - console.dir(activeUserSessions); + console.dir(userSessions); // If the session doesn't exist, return if (!session) { diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index 327917a84..b55565bd9 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -1,7 +1,7 @@ import { ISerializable } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; -import { readFileSync } from "node:fs"; -import { privateDecrypt } from "node:crypto"; +import fs from "node:fs"; +import crypto from "node:crypto"; import * as Sentry from "@sentry/node"; import { getToken } from "../services/token.js"; import { createNewUserSession, setUserSession } from "../services/session.js"; @@ -15,7 +15,7 @@ import { getServerConfiguration, getServerLogger } from "@rustymotors/shared"; const log = getServerLogger(); export function loadPrivateKey(path: string): string { - const privateKey = readFileSync(path); + const privateKey = fs.readFileSync(path); return privateKey.toString("utf8"); } @@ -24,7 +24,7 @@ export function decryptSessionKey( encryptedSessionKey: string, privateKey: string, ): string { - const sessionKeyStructure = privateDecrypt( + const sessionKeyStructure = crypto.privateDecrypt( privateKey, Buffer.from(encryptedSessionKey, "hex"), ); diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index 37ea76f40..14f60e0c6 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -33,20 +33,20 @@ export async function getGameProfilesForCustomerId( customerId: number, ): Promise { const profiles: GameProfile[] = []; - gameProfiles.forEach((profile) => { + for (const profile of gameProfiles.values()) { if (profile.customerId === customerId) { profiles.push(profile); } - }); + } return profiles; } export async function gameProfileExists(profileName: string): Promise { - gameProfiles.forEach((profile) => { + for (const profile of gameProfiles.values()) { if (profile.profileName === profileName) { return true; } - }); + } return false; } @@ -55,11 +55,12 @@ export async function addGameProfile(profile: GameProfile): Promise { } export async function deleteGameProfile(profileId: number): Promise { - gameProfiles.forEach((profile, index) => { + for (const [index, profile] of gameProfiles.entries()) { if (profile.profileId === profileId) { gameProfiles.splice(index, 1); + return; } - }); + } } export async function createGameProfile(): Promise { diff --git a/packages/nps/services/session.ts b/packages/nps/services/session.ts index 1ed7236ff..6b8ea8acb 100644 --- a/packages/nps/services/session.ts +++ b/packages/nps/services/session.ts @@ -82,50 +82,55 @@ export type UserSession = { clientVersion: ClientVersion; }; -export const activeUserSessions = new Map([]); +export const userSessions = new Map([]); export async function setUserSession(userSession: UserSession): Promise { - activeUserSessions.set(userSession.token, userSession); + userSessions.set(userSession.token, userSession); } export async function getUserSession( token: string, ): Promise { - if (activeUserSessions.has(token)) { - return activeUserSessions.get(token); + if (userSessions.has(token)) { + return userSessions.get(token); } return undefined; } export async function deleteUserSession(token: string): Promise { - activeUserSessions.delete(token); + userSessions.delete(token); } export async function getUserSessionByConnectionId( connectionId: string, ): Promise { - return activeUserSessions.get(connectionId); + for (const userSession of userSessions.values()) { + if (userSession.connectionId === connectionId) { + return userSession; + } + } + return undefined; } export async function getUserSessionByProfileId( profileId: number, ): Promise { - activeUserSessions.forEach((userSession) => { + for (const userSession of userSessions.values()) { if (userSession.activeProfileId === profileId) { return userSession; } - }); + } return undefined; } -export async function findActiveUserSessionByCustomerId( +export async function getUserSessionByCustomerId( customerId: number, ): Promise { - activeUserSessions.forEach((userSession) => { + for (const userSession of userSessions.values()) { if (userSession.customerId === customerId) { return userSession; } - }); + } return undefined; } @@ -133,11 +138,11 @@ export async function getUserSessionByIPAndPort( ipAddress: string, port: number, ): Promise { - activeUserSessions.forEach((userSession) => { + for (const userSession of userSessions.values()) { if (userSession.ipAddress === ipAddress && userSession.port === port) { return userSession; } - }); + } return undefined; } diff --git a/packages/nps/services/token.ts b/packages/nps/services/token.ts index bd82c489f..c00326a4e 100644 --- a/packages/nps/services/token.ts +++ b/packages/nps/services/token.ts @@ -49,11 +49,11 @@ export function deleteToken(token: string): void { } export function deleteExpiredTokens(): void { - activeTokens.forEach((tokenRecord, token) => { + for (const token of activeTokens.keys()) { if (isTokenExpired(token)) { deleteToken(token); } - }); + } } export function getCustomerId(token: string): number | undefined { diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts index a0f03262b..aa03285ed 100644 --- a/packages/persona/src/BuddyInfoMessage.ts +++ b/packages/persona/src/BuddyInfoMessage.ts @@ -27,14 +27,14 @@ export class BuddyInfoMessage extends RawMessage { } override get length(): number { - return this.length + 2 + this._buddyCount * 115; + return super.length + 2 + this._buddyCount * 115; } override serialize(): Buffer { const buffer = Buffer.alloc(this.length); let offset = 0; super.serialize().copy(buffer, offset); - offset += this.length; + offset += super.length; buffer.writeUInt16BE(this._buddyCount, offset); offset += 2; for (const buddy of this._buddyList) { @@ -58,7 +58,7 @@ export class BuddyCount extends NetworkMessage { } override get length(): number { - return this.length + 2; + return super.length + 2; } override serialize(): Buffer { @@ -107,8 +107,8 @@ export class BuddyList extends RawMessage { override serialize(): Buffer { const buffer = Buffer.alloc(this.length); let offset = 0; - this.serialize().copy(buffer, offset); - offset += this.length; + super.serialize().copy(buffer, offset); + offset += super.length; buffer.writeUInt16BE(this.messageId, offset); offset += 2; offset = serializeStringRaw(this.buddyName, buffer, offset, 33); diff --git a/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts index 547059f7a..6e631ab60 100644 --- a/packages/shared/messageFactory.ts +++ b/packages/shared/messageFactory.ts @@ -428,7 +428,7 @@ export class LegacyMessage extends SerializableMixin(AbstractSerializable) { override _doSerialize() { const buffer = Buffer.alloc(this._header.length); this._header._doSerialize().copy(buffer); - this.data.copy(buffer, this._header._size); + super.data.copy(buffer, this._header._size); return buffer; } @@ -447,14 +447,14 @@ export class LegacyMessage extends SerializableMixin(AbstractSerializable) { asJSON() { return { header: this._header, - data: this.data.toString("hex"), + data: super.data.toString("hex"), }; } override toString() { return `LegacyMessage: ${JSON.stringify({ header: this._header.toString(), - data: this.data.toString("hex"), + data: super.data.toString("hex"), })}`; } } diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index a273e3d00..382d12128 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -14,7 +14,7 @@ import { createDataEncryptionPair, } from "../../gateway/src/encryption.js"; import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { findActiveUserSessionByCustomerId } from "../../nps/services/session.js"; +import { getUserSessionByCustomerId } from "../../nps/services/session.js"; /** * @param {MessageHandlerArgs} args @@ -54,7 +54,7 @@ export async function clientConnect({ log.debug(`Looking up the session key for ${customerId}...`); - const userSession = await findActiveUserSessionByCustomerId(customerId); + const userSession = await getUserSessionByCustomerId(customerId); if (typeof userSession === "undefined") { log.warn(`No user session found for ${customerId}`); diff --git a/tsconfig.json b/tsconfig.json index 12e0b2f94..31d9c81ae 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,5 +12,16 @@ "strict": true, "skipLibCheck": true }, - "include": ["app/**/*.ts", "packages/**/*.ts"] + "include": [ + "src", + "test", + "packages", + "thebeast", + "lib", + "vite.config.ts", + "server.ts", + "migrate.ts", + "test", + "apps/main/server.ts" + ] } From 4d9d23539fd30947dd721a62e9807998aede4e26 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 18:52:18 -0400 Subject: [PATCH 249/452] chore(deps): update github/codeql-action digest to 05963f4 (#1826) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 8283dd592..11da736d3 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@3ab4101902695724f9365a384f86c1074d94e18c # v3 + uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@3ab4101902695724f9365a384f86c1074d94e18c # v3 + uses: github/codeql-action/autobuild@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@3ab4101902695724f9365a384f86c1074d94e18c # v3 + uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 From 610d309364818849b68bdd441ad454253bcb27e6 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Tue, 19 Mar 2024 06:27:15 -0400 Subject: [PATCH 250/452] Document domain model (#1831) * Document domain model Related #1830 --- docs/technical/domains.md | 119 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 119 insertions(+) create mode 100644 docs/technical/domains.md diff --git a/docs/technical/domains.md b/docs/technical/domains.md new file mode 100644 index 000000000..28b967b4e --- /dev/null +++ b/docs/technical/domains.md @@ -0,0 +1,119 @@ +# Domains + +* Web +* Network +* Account +* Login +* Persona +* Lobby +* Database + +## Web + +The web service is an HTTP/HTTPS server that provides the following external endpoints: + +* A binary response to the GET patch URL +* A binary response to the GET update URL +* A POST receive of a username and password using HTTPS which returns a Ticket code if valid, and an error if not +* A response to the GET shardlist URL + +### AuthLogin +Accept a username and password via HTTPS and requestions from the Account service if the login is valid. + +Has the following service relationships: + +* Account OUTBOUND (username, password) +* Account INBOUND (isUserValid) + +### Shard +The shard service responds to a GET call and requests a list of online lobby servers (shards) from the Lobby service. + +Has the following service relationships: + +* Lobby OUTBOUND +* Lobby INBOUND (shardList) + +## Network + +The Network service handles all inbound and outbound non-HTTP TCP traffic between the server and clients. It has the following subdomains: + +* Socket Receive +* Socket Send +* Session Control +* Interservice Transfer + +### Socket receive + +Receives inbound TCP traffic for the Login, Persona, Lobby, and Databse services. On initial connection from a client, the Socket Receive subdomain assigns the socket a socketId value, which it stores alongside the socket in an internal table. It then passes the socketId, along with the remoteAddress and localPort to the Session Control subdomain, which assigns the socketId a sessionId, and returns the pair. + +Incoming data received on the connection (dataBuffer) is then sent to the InterService Transfer subdomain, along with the sessionId, to be routed to the correct domain for processing. + +After the downstream domain finishes with the data, it returns any responses to the Socket Send subdomain via the Interservice Transfer subdomain to reverse the lookup flow and return to the client via the Socker Send subdomain. + +Has the following service relationships: + +* Session Control OUTBOUND (socketId, remoteAddress, localPort) +* Session Control INBOUND {socketId, SessionId} +* Interservice Transfer OUTBOUND (sessionId, dataBuffer) + +### Socket Send + +Has the following service relationships: + +* Interservice Transfer INBOUND (sessionId, dataBuffer) +* Session Control OUTBOUND (sessionId) +* Session Control INBOUND (sessionId, socketId) + +### Session Control + +Has the following service relationships: + +* Socket Receive INBOUND (socketId, remoteAddress, localPort) +* Socket Receive OUTBOUND (socketId, sessionId) +* Socket Send INBOUND (sessionId) +* Socket Send OUTBOUND (sessionId, socketId) + +### Interservice Transfer + +Has the following service relationships: + +* Socket Receive INBOUND (sessionId, dataBuffer) +* Socket Send OUTBOUND (sessionId, dataBuffer) +* Login OUTBOUND (sessionId, dataBuffer) +* Login INBOUND (sessionId, dataBuffer) +* Persona OUTBOUND (sessionId, dataBuffer) +* Persona INBOUND (sessionId, dataBuffer) +* Lobby OUTBOUND (sessionId, dataBuffer) +* Lobby INBOUND (sessionId, dataBuffer) +* Database OUTBOUND (sessionId, dataBuffer) +* Database INBOUND (sessionId, dataBuffer) + +## Account + +Has the following service relationships: + +-- TODO -- + +## Login + +Has the following service relationships: + +-- TODO -- + +## Persona + +Has the following service relationships: + +-- TODO -- + +## Lobby + +Has the following service relationships: + +-- TODO -- + +## Database + +Has the following service relationships: + +-- TODO -- From e37eedf7583c602a2be9a1c27a2f462a8f1f7b70 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 19 Mar 2024 15:36:46 +0000 Subject: [PATCH 251/452] chore(deps): update dependency @types/node to v20.11.30 (#1834) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b181e9c11..e48c3ea5b 100644 --- a/package.json +++ b/package.json @@ -17,7 +17,7 @@ }, "devDependencies": { "@slonik/migrator": "0.12.0", - "@types/node": "20.11.29", + "@types/node": "20.11.30", "@vitest/coverage-v8": "1.4.0", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b10cca35a..2459225eb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -32,10 +32,10 @@ importers: devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.29)(slonik@37.3.1) + version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) '@types/node': - specifier: 20.11.29 - version: 20.11.29 + specifier: 20.11.30 + version: 20.11.30 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -56,7 +56,7 @@ importers: version: 5.4.2 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.29) + version: 1.4.0(@types/node@20.11.30) apps/main: dependencies: @@ -638,7 +638,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.29): + /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -646,7 +646,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -655,7 +655,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.29): + /@rushstack/terminal@0.10.0(@types/node@20.11.30): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -663,15 +663,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.29) - '@types/node': 20.11.29 + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.30) + '@types/node': 20.11.30 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.29): + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.29) + '@rushstack/terminal': 0.10.0(@types/node@20.11.30) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -732,14 +732,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.29)(slonik@37.3.1): + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.29) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.29) + umzug: 3.7.0(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' dev: true @@ -756,15 +756,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.29: - resolution: {integrity: sha512-P99thMkD/1YkCvAtOd6/zGedKNA0p2fj4ZpjCzcNiSCBWgm3cNRTBfa/qjFnsKkkojxu4vVLtWpesnZ9+ap+gA==} + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.2: resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -791,7 +791,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.29) + vitest: 1.4.0(@types/node@20.11.30) transitivePeerDependencies: - supports-color dev: true @@ -2668,11 +2668,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.29): + /umzug@3.7.0(@types/node@20.11.30): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.29) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -2713,7 +2713,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.11.29): + /vite-node@1.4.0(@types/node@20.11.30): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2722,7 +2722,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.29) + vite: 5.1.4(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' - less @@ -2734,7 +2734,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.29): + /vite@5.1.4(@types/node@20.11.30): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2762,7 +2762,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -2770,7 +2770,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.29): + /vitest@1.4.0(@types/node@20.11.30): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -2795,7 +2795,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.29 + '@types/node': 20.11.30 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -2813,8 +2813,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.29) - vite-node: 1.4.0(@types/node@20.11.29) + vite: 5.1.4(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 27d7ecbb85861fb5b045ee51f1ea6e4a292112e6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 20 Mar 2024 21:45:39 +0000 Subject: [PATCH 252/452] chore(deps): update dependency typescript to v5.4.3 (#1836) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e48c3ea5b..88dd1f245 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,7 @@ "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "prettier": "3.2.5", - "typescript": "5.4.2", + "typescript": "5.4.3", "vitest": "1.4.0" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2459225eb..edbf9e36a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -52,8 +52,8 @@ importers: specifier: 3.2.5 version: 3.2.5 typescript: - specifier: 5.4.2 - version: 5.4.2 + specifier: 5.4.3 + version: 5.4.3 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.11.30) @@ -2658,8 +2658,8 @@ packages: mime-types: 2.1.35 dev: false - /typescript@5.4.2: - resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} hasBin: true dev: true From 56937ba1094d60c34f14b25ed8da60e9212af23e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 21 Mar 2024 19:59:35 -0400 Subject: [PATCH 253/452] fix(deps): update dependency pino-pretty to v11 (#1835) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/shared/package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/shared/package.json b/packages/shared/package.json index dd0eae291..5f12c46a7 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -17,6 +17,6 @@ "license": "ISC", "dependencies": { "pino": "^8.18.0", - "pino-pretty": "^10.3.1" + "pino-pretty": "^11.0.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index edbf9e36a..da141b1e0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -131,8 +131,8 @@ importers: specifier: ^8.18.0 version: 8.19.0 pino-pretty: - specifier: ^10.3.1 - version: 10.3.1 + specifier: ^11.0.0 + version: 11.0.0 packages/shared-packets: {} @@ -2092,8 +2092,8 @@ packages: split2: 4.2.0 dev: false - /pino-pretty@10.3.1: - resolution: {integrity: sha512-az8JbIYeN/1iLj2t0jR9DV48/LQ3RC6hZPpapKPkb84Q+yTidMCpgWxIT3N0flnBDilyBQ1luWNpOeJptjdp/g==} + /pino-pretty@11.0.0: + resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} hasBin: true dependencies: colorette: 2.0.20 From 0208b284b179e51560fb6b2f946497681168c110 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Mar 2024 11:35:24 +0000 Subject: [PATCH 254/452] fix(deps): update sentry-javascript monorepo to v7.108.0 (#1839) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 60 +++++++++++++++++++++++++------------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da141b1e0..a72055493 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,10 +19,10 @@ importers: version: link:packages/shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.107.0 + version: 7.108.0 '@sentry/profiling-node': specifier: ^7.104.0 - version: 7.107.0 + version: 7.108.0 slonik: specifier: '37' version: 37.3.1(zod@3.22.4) @@ -74,7 +74,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.107.0 + version: 7.108.0 slonik: specifier: ^37.2.0 version: 37.3.1(zod@3.22.4) @@ -95,7 +95,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.107.0 + version: 7.108.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -114,7 +114,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.107.0 + version: 7.108.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -679,53 +679,53 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.107.0: - resolution: {integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==} + /@sentry-internal/tracing@7.108.0: + resolution: {integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 + '@sentry/core': 7.108.0 + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 dev: false - /@sentry/core@7.107.0: - resolution: {integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==} + /@sentry/core@7.108.0: + resolution: {integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 dev: false - /@sentry/node@7.107.0: - resolution: {integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==} + /@sentry/node@7.108.0: + resolution: {integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.107.0 - '@sentry/core': 7.107.0 - '@sentry/types': 7.107.0 - '@sentry/utils': 7.107.0 + '@sentry-internal/tracing': 7.108.0 + '@sentry/core': 7.108.0 + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 dev: false - /@sentry/profiling-node@7.107.0: - resolution: {integrity: sha512-28ZkfgvSVCDpsL9X35Y4bDpnGdn/aWsCq7c9A1Q7ruJjIE8DhVjsvYYpP+AJiBQ3ykba2qTEvh9xYBEn5KZDhg==} + /@sentry/profiling-node@7.108.0: + resolution: {integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true dependencies: - detect-libc: 2.0.2 + detect-libc: 2.0.3 node-abi: 3.56.0 dev: false - /@sentry/types@7.107.0: - resolution: {integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==} + /@sentry/types@7.108.0: + resolution: {integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==} engines: {node: '>=8'} dev: false - /@sentry/utils@7.107.0: - resolution: {integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==} + /@sentry/utils@7.108.0: + resolution: {integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.107.0 + '@sentry/types': 7.108.0 dev: false /@sinclair/typebox@0.27.8: @@ -1092,8 +1092,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} dev: false From 4adc91f96b73efc8019a13f40b6cc767b47d2a13 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 22 Mar 2024 17:00:29 +0000 Subject: [PATCH 255/452] fix(deps): update dependency slonik to v37.4.0 (#1841) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a72055493..5bdb0527c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -25,14 +25,14 @@ importers: version: 7.108.0 slonik: specifier: '37' - version: 37.3.1(zod@3.22.4) + version: 37.4.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 devDependencies: '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) + version: 0.12.0(@types/node@20.11.30)(slonik@37.4.0) '@types/node': specifier: 20.11.30 version: 20.11.30 @@ -77,7 +77,7 @@ importers: version: 7.108.0 slonik: specifier: ^37.2.0 - version: 37.3.1(zod@3.22.4) + version: 37.4.0(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -732,13 +732,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.4.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - slonik: 37.3.1(zod@3.22.4) + slonik: 37.4.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' @@ -761,8 +761,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + /@types/pg@8.11.4: + resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: '@types/node': 20.11.30 pg-protocol: 1.6.0 @@ -2441,13 +2441,13 @@ packages: engines: {node: '>=14'} dev: true - /slonik@37.3.1(zod@3.22.4): - resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} + /slonik@37.4.0(zod@3.22.4): + resolution: {integrity: sha512-W9GPnc4M5+JLvrl4aMx2qkpIQrHLo6vAmCc2UeTD5Szl2uBA2ChZo3njdygK1511wrlSSDnOySY+jlLNAfpIvA==} engines: {node: '>=18'} peerDependencies: zod: ^3 dependencies: - '@types/pg': 8.11.2 + '@types/pg': 8.11.4 es6-error: 4.1.1 get-stack-trace: 3.1.1 iso8601-duration: 1.3.0 From 74860bf4d54064ad3f5eed206ce89b6ae7443f5d Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 22 Mar 2024 21:50:04 -0400 Subject: [PATCH 256/452] chore: switch to esbuild (#1840) * chore: switch to esbuild * chore: change module imports to relative so esbuild can find them --- .github/workflows/node.yml | 1 + .gitignore | 7 + apps/main/server.d.ts | 1 + apps/main/server.ts | 5 +- build.mjs | 76 + docs/technical/domains.md | 80 +- package.json | 29 +- packages/cli/ConsoleThread.d.ts | 31 + packages/cli/ConsoleThread.ts | 5 +- packages/core/src/serializationHelpers.d.ts | 96 + .../core/src/serializationHelpers.test.d.ts | 1 + packages/database/index.d.ts | 14 + packages/database/package.json | 4 +- packages/database/src/DatabaseManager.d.ts | 55 + packages/database/src/DatabaseManager.ts | 6 +- packages/database/src/cache.d.ts | 12 + packages/database/src/cache.ts | 4 +- .../database/src/models/AttachmentPoint.d.ts | 41 + packages/database/src/models/Brand.d.ts | 5 + packages/database/src/models/BrandedPart.d.ts | 10 + packages/database/src/models/Model.d.ts | 30 + packages/database/src/models/Part.d.ts | 12 + .../database/src/models/VehiclePartTree.d.ts | 57 + .../database/src/models/VehiclePartTree.ts | 4 +- packages/database/src/services/admin.d.ts | 17 + packages/database/src/services/admin.ts | 18 +- packages/database/src/services/database.d.ts | 5 + packages/database/src/services/database.ts | 2 +- packages/database/test/Database.test.d.ts | 1 + packages/database/test/Database.test.ts | 2 +- packages/gateway/src/GatewayServer.d.ts | 121 + packages/gateway/src/GatewayServer.ts | 4 +- packages/gateway/src/encryption.d.ts | 27 + packages/gateway/src/encryption.ts | 2 +- packages/gateway/src/index.d.ts | 86 + packages/gateway/src/index.ts | 16 +- packages/gateway/src/web.d.ts | 8 + packages/gateway/src/web.ts | 2 +- packages/gateway/test/GatewayServer.test.d.ts | 1 + packages/gateway/test/GatewayServer.test.ts | 2 +- packages/gateway/test/encryption.test.d.ts | 1 + packages/gateway/test/encryption.test.ts | 4 +- .../gateway/test/socketErrorHandler.test.d.ts | 1 + .../gateway/test/socketErrorHandler.test.ts | 2 +- packages/interfaces/index.d.ts | 6 +- packages/lobby/src/LoginInfoMessage.d.ts | 24 + packages/lobby/src/LoginInfoMessage.ts | 2 +- .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts | 14 + .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts | 8 +- .../lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts | 8 + .../lobby/src/NPS_LOBBYSERVER_COMMANDS.ts | 2 +- packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts | 7 + packages/lobby/src/NPS_LOBBY_COMMANDS.ts | 2 +- packages/lobby/src/UserInfoMessage.d.ts | 33 + packages/lobby/src/UserInfoMessage.ts | 2 +- .../lobby/src/handlers/_setMyUserData.d.ts | 13 + packages/lobby/src/handlers/_setMyUserData.ts | 4 +- .../lobby/src/handlers/encryptedCommand.d.ts | 71 + .../lobby/src/handlers/encryptedCommand.ts | 2 +- .../src/handlers/handleGetMiniUserList.d.ts | 19 + .../src/handlers/handleGetMiniUserList.ts | 2 +- .../src/handlers/handleSendMiniRiffList.d.ts | 19 + .../src/handlers/handleSendMiniRiffList.ts | 2 +- .../src/handlers/handleTrackingPing.d.ts | 13 + .../lobby/src/handlers/handleTrackingPing.ts | 2 +- .../handlers/requestConnectGameServer.d.ts | 28 + .../src/handlers/requestConnectGameServer.ts | 4 +- packages/lobby/src/internal.d.ts | 51 + packages/lobby/src/internal.ts | 2 +- .../handlers/handleSendMiniRiffList.test.d.ts | 1 + .../handlers/handleSendMiniRiffList.test.ts | 2 +- packages/login/src/NPSUserStatus.d.ts | 62 + packages/login/src/NPSUserStatus.ts | 6 +- .../login/src/NPS_LOGINCLIENT_COMMANDS.d.ts | 14 + .../login/src/NPS_LOGINCLIENT_COMMANDS.ts | 8 +- packages/login/src/NPS_LOGIN_COMMANDS.d.ts | 7 + packages/login/src/NPS_LOGIN_COMMANDS.ts | 2 +- packages/login/src/index.d.ts | 51 + packages/login/src/index.ts | 17 +- packages/login/src/internal.d.ts | 53 + packages/login/src/internal.ts | 8 +- packages/login/src/premadeLogin.d.ts | 7 + packages/login/test/LoginServer.test.d.ts | 1 + packages/nps/index.d.ts | 20 + .../messageProcessors/getLobMiniRiffList.d.ts | 5 + .../messageProcessors/getLobMiniRiffList.ts | 2 +- .../messageProcessors/getLobMiniUserList.d.ts | 5 + .../messageProcessors/getLobMiniUserList.ts | 2 +- packages/nps/messageProcessors/index.d.ts | 28 + .../nps/messageProcessors/lobbyCommands.d.ts | 6 + .../processCheckPlateText.d.ts | 7 + .../processCheckPlateText.ts | 4 +- .../processCheckProfileName.d.ts | 7 + .../processCheckProfileName.ts | 5 +- .../processCreateProfile.d.ts | 7 + .../messageProcessors/processCreateProfile.ts | 4 +- .../processDeleteProfile.d.ts | 17 + .../messageProcessors/processDeleteProfile.ts | 4 +- .../processEncryptedGameCommand.d.ts | 7 + .../processEncryptedGameCommand.ts | 6 +- .../messageProcessors/processGameLogin.d.ts | 7 + .../nps/messageProcessors/processGameLogin.ts | 4 +- .../processGetFirstBuddy.d.ts | 7 + .../messageProcessors/processGetFirstBuddy.ts | 4 +- .../processGetProfileInfo.d.ts | 7 + .../processGetProfileInfo.ts | 4 +- .../processGetProfileMaps.d.ts | 7 + .../processGetProfileMaps.ts | 4 +- .../messageProcessors/processLobbyLogin.d.ts | 7 + .../messageProcessors/processLobbyLogin.ts | 4 +- .../nps/messageProcessors/processPing.d.ts | 7 + packages/nps/messageProcessors/processPing.ts | 4 +- .../messageProcessors/processUserLogin.d.ts | 18 + .../nps/messageProcessors/processUserLogin.ts | 6 +- packages/nps/messageStructs/GameMessage.d.ts | 45 + packages/nps/messageStructs/GameMessage.ts | 2 +- packages/nps/messageStructs/GameProfile.d.ts | 36 + packages/nps/messageStructs/GameProfile.ts | 2 +- packages/nps/messageStructs/MiniRiffList.d.ts | 25 + packages/nps/messageStructs/MiniRiffList.ts | 4 +- packages/nps/messageStructs/MiniUserList.d.ts | 21 + packages/nps/messageStructs/MiniUserList.ts | 2 +- packages/nps/messageStructs/NPSList.d.ts | 14 + packages/nps/messageStructs/NPSList.ts | 2 +- packages/nps/messageStructs/ProfileList.d.ts | 19 + packages/nps/messageStructs/ProfileList.ts | 2 +- packages/nps/messageStructs/SessionKey.d.ts | 19 + packages/nps/messageStructs/SessionKey.ts | 2 +- packages/nps/messageStructs/UserAction.d.ts | 17 + packages/nps/messageStructs/UserAction.ts | 2 +- packages/nps/messageStructs/UserInfo.d.ts | 12 + packages/nps/messageStructs/UserInfo.ts | 2 +- packages/nps/messageStructs/UserStatus.d.ts | 39 + packages/nps/messageStructs/UserStatus.ts | 2 +- packages/nps/services/account.d.ts | 18 + packages/nps/services/profile.d.ts | 14 + packages/nps/services/session.d.ts | 70 + packages/nps/services/token.d.ts | 12 + packages/nps/services/types.d.ts | 17 + packages/nps/types.d.ts | 22 + packages/nps/utils/pureCompare.d.ts | 6 + packages/nps/utils/pureGet.d.ts | 28 + packages/nps/utils/purePut.d.ts | 55 + packages/patch/src/PatchServer.d.ts | 76 + packages/patch/src/PatchServer.ts | 2 +- packages/patch/test/PatchServer.test.d.ts | 1 + packages/persona/src/BuddyInfoMessage.d.ts | 45 + packages/persona/src/BuddyInfoMessage.ts | 6 +- packages/persona/src/PersonaMapsMessage.d.ts | 100 + packages/persona/src/PersonaMapsMessage.ts | 2 +- packages/persona/src/_gameLogout.d.ts | 22 + packages/persona/src/_gameLogout.ts | 6 +- packages/persona/src/_getFirstBuddy.d.ts | 25 + packages/persona/src/_getFirstBuddy.ts | 2 +- packages/persona/src/_selectGamePersona.d.ts | 25 + packages/persona/src/_selectGamePersona.ts | 4 +- .../persona/src/getPersonasByPersonaId.d.ts | 13 + .../persona/src/getPersonasByPersonaId.ts | 2 +- .../src/handlers/validatePersonaName.d.ts | 16 + .../src/handlers/validatePersonaName.ts | 2 +- packages/persona/src/internal.d.ts | 64 + packages/persona/src/internal.ts | 6 +- .../test/getPersonasByPersonaId.test.d.ts | 1 + .../test/getPersonasByPersonaId.test.ts | 5 +- packages/shard/src/ShardServer.d.ts | 6 + packages/shard/src/ShardServer.ts | 4 +- packages/shard/src/index.d.ts | 19 + packages/shard/src/index.ts | 2 +- packages/shard/src/shard-entry.d.ts | 58 + packages/shard/test/shard-entry.test.d.ts | 1 + packages/shared-packets/index.d.ts | 2 + packages/shared-packets/package.json | 4 +- packages/shared-packets/src/BasePacket.d.ts | 18 + packages/shared-packets/src/BasePacket.ts | 2 +- packages/shared-packets/src/GameMessage.d.ts | 44 + packages/shared-packets/src/GameMessage.ts | 2 +- .../shared-packets/src/ServerMessage.d.ts | 47 + packages/shared-packets/src/ServerMessage.ts | 2 +- packages/shared-packets/src/interfaces.d.ts | 14 + packages/shared/Configuration.d.ts | 37 + packages/shared/Configuration.ts | 2 - packages/shared/MessageNode.d.ts | 31 + packages/shared/ServerMessage.test.d.ts | 1 + packages/shared/State.d.ts | 433 + packages/shared/SubThread.d.ts | 16 + packages/shared/SubThread.ts | 2 +- packages/shared/Timestamp.d.ts | 17 + packages/shared/index.d.ts | 39 + packages/shared/log.d.ts | 61 + packages/shared/messageFactory.d.ts | 352 + packages/shared/messageFactory.ts | 22 +- packages/shared/package.json | 4 +- packages/shared/src/BaseSerialized.d.ts | 24 + packages/shared/src/NetworkMessage.d.ts | 24 + packages/shared/src/RawMessage.d.ts | 14 + packages/shared/src/SerializedBuffer.d.ts | 10 + packages/shared/src/ServerMessage.d.ts | 33 + packages/shared/structs.d.ts | 74 + packages/shared/test/BaseSerialized.test.d.ts | 1 + packages/shared/test/RawMessage.test.d.ts | 1 + .../shared/test/SerializedBuffer.test.d.ts | 1 + packages/shared/types.d.ts | 21 + .../transactions/src/ArcadeCarMessage.d.ts | 29 + packages/transactions/src/ArcadeCarMessage.ts | 2 +- .../src/EntryFeePurseMessage.d.ts | 35 + .../transactions/src/EntryFeePurseMessage.ts | 2 +- .../transactions/src/GameUrlsMessage.d.ts | 29 + packages/transactions/src/GameUrlsMessage.ts | 2 +- .../transactions/src/GenericReplyMessage.d.ts | 67 + .../transactions/src/GenericReplyMessage.ts | 2 +- .../src/GenericRequestMessage.d.ts | 32 + .../transactions/src/GenericRequestMessage.ts | 2 +- packages/transactions/src/LobbyMessage.d.ts | 128 + packages/transactions/src/LobbyMessage.ts | 2 +- .../src/OwnedVehiclesMessage.d.ts | 28 + .../transactions/src/OwnedVehiclesMessage.ts | 2 +- .../src/PartsAssemblyMessage.d.ts | 27 + .../transactions/src/PartsAssemblyMessage.ts | 2 +- .../transactions/src/PlayerInfoMessage.d.ts | 50 + .../transactions/src/PlayerInfoMessage.ts | 4 +- .../src/PlayerPhysicalMessage.d.ts | 16 + .../transactions/src/PlayerPhysicalMessage.ts | 2 +- .../src/PlayerRacingHistoryMessage.d.ts | 30 + .../src/PlayerRacingHistoryMessage.ts | 17 +- packages/transactions/src/StockCar.d.ts | 34 + .../transactions/src/StockCarInfoMessage.d.ts | 48 + .../transactions/src/StockCarInfoMessage.ts | 2 +- .../src/TClientConnectMessage.d.ts | 20 + .../transactions/src/TClientConnectMessage.ts | 2 +- packages/transactions/src/TLoginMessage.d.ts | 50 + packages/transactions/src/TLoginMessage.ts | 2 +- .../transactions/src/TunablesMessage.d.ts | 39 + packages/transactions/src/TunablesMessage.ts | 2 +- .../transactions/src/_getArcadeCarInfo.d.ts | 10 + .../transactions/src/_getArcadeCarInfo.ts | 4 +- packages/transactions/src/_getGameUrls.d.ts | 10 + packages/transactions/src/_getGameUrls.ts | 4 +- packages/transactions/src/_getOwnedParts.d.ts | 6 + packages/transactions/src/_getOwnedParts.ts | 6 +- .../transactions/src/_getOwnedVehicles.d.ts | 9 + .../transactions/src/_getOwnedVehicles.ts | 4 +- packages/transactions/src/_getPlayerInfo.d.ts | 4 + packages/transactions/src/_getPlayerInfo.ts | 4 +- .../transactions/src/_getPlayerPhysical.d.ts | 6 + .../transactions/src/_getPlayerPhysical.ts | 4 +- .../src/_getPlayerRaceHistory.d.ts | 26 + .../transactions/src/_getPlayerRaceHistory.ts | 4 +- .../transactions/src/_getStockCarInfo.d.ts | 10 + packages/transactions/src/_getStockCarInfo.ts | 4 +- packages/transactions/src/_getTunables.d.ts | 10 + packages/transactions/src/_getTunables.ts | 4 +- packages/transactions/src/_logout.d.ts | 8 + packages/transactions/src/_logout.ts | 4 +- packages/transactions/src/_setOptions.d.ts | 4 + packages/transactions/src/_setOptions.ts | 4 +- .../src/_updatePlayerPhysical.d.ts | 4 + .../transactions/src/_updatePlayerPhysical.ts | 4 +- packages/transactions/src/clientConnect.d.ts | 10 + packages/transactions/src/clientConnect.ts | 4 +- packages/transactions/src/getLobbies.d.ts | 10 + packages/transactions/src/getLobbies.ts | 4 +- packages/transactions/src/internal.d.ts | 29 + packages/transactions/src/internal.ts | 2 +- packages/transactions/src/login.d.ts | 15 + packages/transactions/src/login.ts | 8 +- .../transactions/src/messageHandlers.d.ts | 2 + packages/transactions/src/messageHandlers.ts | 2 +- .../_getCompleteVehicleInfo.d.ts | 47 + .../_getCompleteVehicleInfo.spec.d.ts | 1 + .../_getCompleteVehicleInfo.ts | 19 +- .../messageHandlers/_updateCachedVehicle.d.ts | 10 + .../messageHandlers/_updateCachedVehicle.ts | 2 +- .../src/messageStructs/CarInfoMessage.d.ts | 20 + .../src/messageStructs/CarInfoMessage.ts | 12 +- .../messageStructs/PlayerOptionsMessage.d.ts | 25 + .../messageStructs/PlayerOptionsMessage.ts | 4 +- .../transactions/src/models/PartModel.d.ts | 34 + packages/transactions/src/models/PartModel.ts | 2 +- .../transactions/src/models/VehicleModel.d.ts | 25 + .../transactions/src/models/VehicleModel.ts | 2 +- packages/transactions/src/models/index.d.ts | 4 + packages/transactions/src/services/car.d.ts | 6 + packages/transactions/src/trackingPing.d.ts | 10 + packages/transactions/src/trackingPing.ts | 4 +- .../transactions/test/LobbyMessage.test.d.ts | 1 + .../test/OwnedVehiclesMessage.test.d.ts | 1 + .../test/PartsAssemblyMessage.test.d.ts | 1 + .../test/PlayerInfoMessage.test.d.ts | 1 + .../test/PlayerRacingHistoryMessage.test.d.ts | 1 + .../test/TClientConnectMessage.test.d.ts | 1 + .../test/_getPlayerRaceHistory.test.d.ts | 1 + .../test/_getPlayerRaceHistory.test.ts | 2 +- .../transactions/test/clientConnect.test.d.ts | 1 + .../transactions/test/clientConnect.test.ts | 2 +- .../transactions/test/getLobbies.test.d.ts | 1 + packages/transactions/test/getLobbies.test.ts | 7 +- .../transactions/test/trackingPing.test.d.ts | 1 + .../transactions/test/trackingPing.test.ts | 2 +- packages/transactions/types.d.ts | 20 + packages/transactions/types.ts | 19 +- pnpm-lock.yaml | 9187 +++++++++++------ test/factoryMocks.d.ts | 6 + test/factoryMocks.ts | 2 +- tsconfig.json | 33 +- 304 files changed, 11402 insertions(+), 3161 deletions(-) create mode 100644 apps/main/server.d.ts create mode 100644 build.mjs create mode 100644 packages/cli/ConsoleThread.d.ts create mode 100644 packages/core/src/serializationHelpers.d.ts create mode 100644 packages/core/src/serializationHelpers.test.d.ts create mode 100644 packages/database/index.d.ts create mode 100644 packages/database/src/DatabaseManager.d.ts create mode 100644 packages/database/src/cache.d.ts create mode 100644 packages/database/src/models/AttachmentPoint.d.ts create mode 100644 packages/database/src/models/Brand.d.ts create mode 100644 packages/database/src/models/BrandedPart.d.ts create mode 100644 packages/database/src/models/Model.d.ts create mode 100644 packages/database/src/models/Part.d.ts create mode 100644 packages/database/src/models/VehiclePartTree.d.ts create mode 100644 packages/database/src/services/admin.d.ts create mode 100644 packages/database/src/services/database.d.ts create mode 100644 packages/database/test/Database.test.d.ts create mode 100644 packages/gateway/src/GatewayServer.d.ts create mode 100644 packages/gateway/src/encryption.d.ts create mode 100644 packages/gateway/src/index.d.ts create mode 100644 packages/gateway/src/web.d.ts create mode 100644 packages/gateway/test/GatewayServer.test.d.ts create mode 100644 packages/gateway/test/encryption.test.d.ts create mode 100644 packages/gateway/test/socketErrorHandler.test.d.ts create mode 100644 packages/lobby/src/LoginInfoMessage.d.ts create mode 100644 packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts create mode 100644 packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts create mode 100644 packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts create mode 100644 packages/lobby/src/UserInfoMessage.d.ts create mode 100644 packages/lobby/src/handlers/_setMyUserData.d.ts create mode 100644 packages/lobby/src/handlers/encryptedCommand.d.ts create mode 100644 packages/lobby/src/handlers/handleGetMiniUserList.d.ts create mode 100644 packages/lobby/src/handlers/handleSendMiniRiffList.d.ts create mode 100644 packages/lobby/src/handlers/handleTrackingPing.d.ts create mode 100644 packages/lobby/src/handlers/requestConnectGameServer.d.ts create mode 100644 packages/lobby/src/internal.d.ts create mode 100644 packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts create mode 100644 packages/login/src/NPSUserStatus.d.ts create mode 100644 packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts create mode 100644 packages/login/src/NPS_LOGIN_COMMANDS.d.ts create mode 100644 packages/login/src/index.d.ts create mode 100644 packages/login/src/internal.d.ts create mode 100644 packages/login/src/premadeLogin.d.ts create mode 100644 packages/login/test/LoginServer.test.d.ts create mode 100644 packages/nps/index.d.ts create mode 100644 packages/nps/messageProcessors/getLobMiniRiffList.d.ts create mode 100644 packages/nps/messageProcessors/getLobMiniUserList.d.ts create mode 100644 packages/nps/messageProcessors/index.d.ts create mode 100644 packages/nps/messageProcessors/lobbyCommands.d.ts create mode 100644 packages/nps/messageProcessors/processCheckPlateText.d.ts create mode 100644 packages/nps/messageProcessors/processCheckProfileName.d.ts create mode 100644 packages/nps/messageProcessors/processCreateProfile.d.ts create mode 100644 packages/nps/messageProcessors/processDeleteProfile.d.ts create mode 100644 packages/nps/messageProcessors/processEncryptedGameCommand.d.ts create mode 100644 packages/nps/messageProcessors/processGameLogin.d.ts create mode 100644 packages/nps/messageProcessors/processGetFirstBuddy.d.ts create mode 100644 packages/nps/messageProcessors/processGetProfileInfo.d.ts create mode 100644 packages/nps/messageProcessors/processGetProfileMaps.d.ts create mode 100644 packages/nps/messageProcessors/processLobbyLogin.d.ts create mode 100644 packages/nps/messageProcessors/processPing.d.ts create mode 100644 packages/nps/messageProcessors/processUserLogin.d.ts create mode 100644 packages/nps/messageStructs/GameMessage.d.ts create mode 100644 packages/nps/messageStructs/GameProfile.d.ts create mode 100644 packages/nps/messageStructs/MiniRiffList.d.ts create mode 100644 packages/nps/messageStructs/MiniUserList.d.ts create mode 100644 packages/nps/messageStructs/NPSList.d.ts create mode 100644 packages/nps/messageStructs/ProfileList.d.ts create mode 100644 packages/nps/messageStructs/SessionKey.d.ts create mode 100644 packages/nps/messageStructs/UserAction.d.ts create mode 100644 packages/nps/messageStructs/UserInfo.d.ts create mode 100644 packages/nps/messageStructs/UserStatus.d.ts create mode 100644 packages/nps/services/account.d.ts create mode 100644 packages/nps/services/profile.d.ts create mode 100644 packages/nps/services/session.d.ts create mode 100644 packages/nps/services/token.d.ts create mode 100644 packages/nps/services/types.d.ts create mode 100644 packages/nps/types.d.ts create mode 100644 packages/nps/utils/pureCompare.d.ts create mode 100644 packages/nps/utils/pureGet.d.ts create mode 100644 packages/nps/utils/purePut.d.ts create mode 100644 packages/patch/src/PatchServer.d.ts create mode 100644 packages/patch/test/PatchServer.test.d.ts create mode 100644 packages/persona/src/BuddyInfoMessage.d.ts create mode 100644 packages/persona/src/PersonaMapsMessage.d.ts create mode 100644 packages/persona/src/_gameLogout.d.ts create mode 100644 packages/persona/src/_getFirstBuddy.d.ts create mode 100644 packages/persona/src/_selectGamePersona.d.ts create mode 100644 packages/persona/src/getPersonasByPersonaId.d.ts create mode 100644 packages/persona/src/handlers/validatePersonaName.d.ts create mode 100644 packages/persona/src/internal.d.ts create mode 100644 packages/persona/test/getPersonasByPersonaId.test.d.ts create mode 100644 packages/shard/src/ShardServer.d.ts create mode 100644 packages/shard/src/index.d.ts create mode 100644 packages/shard/src/shard-entry.d.ts create mode 100644 packages/shard/test/shard-entry.test.d.ts create mode 100644 packages/shared-packets/index.d.ts create mode 100644 packages/shared-packets/src/BasePacket.d.ts create mode 100644 packages/shared-packets/src/GameMessage.d.ts create mode 100644 packages/shared-packets/src/ServerMessage.d.ts create mode 100644 packages/shared-packets/src/interfaces.d.ts create mode 100644 packages/shared/Configuration.d.ts create mode 100644 packages/shared/MessageNode.d.ts create mode 100644 packages/shared/ServerMessage.test.d.ts create mode 100644 packages/shared/State.d.ts create mode 100644 packages/shared/SubThread.d.ts create mode 100644 packages/shared/Timestamp.d.ts create mode 100644 packages/shared/index.d.ts create mode 100644 packages/shared/log.d.ts create mode 100644 packages/shared/messageFactory.d.ts create mode 100644 packages/shared/src/BaseSerialized.d.ts create mode 100644 packages/shared/src/NetworkMessage.d.ts create mode 100644 packages/shared/src/RawMessage.d.ts create mode 100644 packages/shared/src/SerializedBuffer.d.ts create mode 100644 packages/shared/src/ServerMessage.d.ts create mode 100644 packages/shared/structs.d.ts create mode 100644 packages/shared/test/BaseSerialized.test.d.ts create mode 100644 packages/shared/test/RawMessage.test.d.ts create mode 100644 packages/shared/test/SerializedBuffer.test.d.ts create mode 100644 packages/shared/types.d.ts create mode 100644 packages/transactions/src/ArcadeCarMessage.d.ts create mode 100644 packages/transactions/src/EntryFeePurseMessage.d.ts create mode 100644 packages/transactions/src/GameUrlsMessage.d.ts create mode 100644 packages/transactions/src/GenericReplyMessage.d.ts create mode 100644 packages/transactions/src/GenericRequestMessage.d.ts create mode 100644 packages/transactions/src/LobbyMessage.d.ts create mode 100644 packages/transactions/src/OwnedVehiclesMessage.d.ts create mode 100644 packages/transactions/src/PartsAssemblyMessage.d.ts create mode 100644 packages/transactions/src/PlayerInfoMessage.d.ts create mode 100644 packages/transactions/src/PlayerPhysicalMessage.d.ts create mode 100644 packages/transactions/src/PlayerRacingHistoryMessage.d.ts create mode 100644 packages/transactions/src/StockCar.d.ts create mode 100644 packages/transactions/src/StockCarInfoMessage.d.ts create mode 100644 packages/transactions/src/TClientConnectMessage.d.ts create mode 100644 packages/transactions/src/TLoginMessage.d.ts create mode 100644 packages/transactions/src/TunablesMessage.d.ts create mode 100644 packages/transactions/src/_getArcadeCarInfo.d.ts create mode 100644 packages/transactions/src/_getGameUrls.d.ts create mode 100644 packages/transactions/src/_getOwnedParts.d.ts create mode 100644 packages/transactions/src/_getOwnedVehicles.d.ts create mode 100644 packages/transactions/src/_getPlayerInfo.d.ts create mode 100644 packages/transactions/src/_getPlayerPhysical.d.ts create mode 100644 packages/transactions/src/_getPlayerRaceHistory.d.ts create mode 100644 packages/transactions/src/_getStockCarInfo.d.ts create mode 100644 packages/transactions/src/_getTunables.d.ts create mode 100644 packages/transactions/src/_logout.d.ts create mode 100644 packages/transactions/src/_setOptions.d.ts create mode 100644 packages/transactions/src/_updatePlayerPhysical.d.ts create mode 100644 packages/transactions/src/clientConnect.d.ts create mode 100644 packages/transactions/src/getLobbies.d.ts create mode 100644 packages/transactions/src/internal.d.ts create mode 100644 packages/transactions/src/login.d.ts create mode 100644 packages/transactions/src/messageHandlers.d.ts create mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts create mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts create mode 100644 packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts create mode 100644 packages/transactions/src/messageStructs/CarInfoMessage.d.ts create mode 100644 packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts create mode 100644 packages/transactions/src/models/PartModel.d.ts create mode 100644 packages/transactions/src/models/VehicleModel.d.ts create mode 100644 packages/transactions/src/models/index.d.ts create mode 100644 packages/transactions/src/services/car.d.ts create mode 100644 packages/transactions/src/trackingPing.d.ts create mode 100644 packages/transactions/test/LobbyMessage.test.d.ts create mode 100644 packages/transactions/test/OwnedVehiclesMessage.test.d.ts create mode 100644 packages/transactions/test/PartsAssemblyMessage.test.d.ts create mode 100644 packages/transactions/test/PlayerInfoMessage.test.d.ts create mode 100644 packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts create mode 100644 packages/transactions/test/TClientConnectMessage.test.d.ts create mode 100644 packages/transactions/test/_getPlayerRaceHistory.test.d.ts create mode 100644 packages/transactions/test/clientConnect.test.d.ts create mode 100644 packages/transactions/test/getLobbies.test.d.ts create mode 100644 packages/transactions/test/trackingPing.test.d.ts create mode 100644 packages/transactions/types.d.ts create mode 100644 test/factoryMocks.d.ts diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index f87f6d8a0..633c71fad 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -31,6 +31,7 @@ jobs: run: | corepack enable pnpm pnpm install + pnpm run build pnpm test - name: Codecov if: ${{ always() }} diff --git a/.gitignore b/.gitignore index f4862d4d2..bdabb87f9 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,10 @@ build *.tar packages/**/*.js package-lock.json + +# Sentry Config File +.env.sentry-build-plugin + +# Sentry Config File +.env.sentry-build-plugin +meta.json diff --git a/apps/main/server.d.ts b/apps/main/server.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/apps/main/server.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/apps/main/server.ts b/apps/main/server.ts index d22e50ff1..467bba8ba 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -16,10 +16,7 @@ import Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; -import { - ServerLoggerLevels, - getServerLogger, -} from "../../packages/shared/log.js"; +import { getServerLogger } from "../../packages/shared/log.js"; import { verifyLegacyCipherSupport } from "../../packages/gateway/src/encryption.js"; import { getServerConfiguration } from "../../packages/shared/Configuration.js"; import { getGatewayServer } from "../../packages/gateway/src/GatewayServer.js"; diff --git a/build.mjs b/build.mjs new file mode 100644 index 000000000..6c568b866 --- /dev/null +++ b/build.mjs @@ -0,0 +1,76 @@ +import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin"; +import fs from "node:fs"; +import esbuild from "esbuild"; +import { createRequire } from "node:module"; + +const require = createRequire(import.meta.url); + +const nativeNodeModulesPlugin = { + name: "native-node-modules", + setup(build) { + // If a ".node" file is imported within a module in the "file" namespace, resolve + // it to an absolute path and put it into the "node-file" virtual namespace. + build.onResolve({ filter: /\.node$/, namespace: "file" }, (args) => ({ + path: require.resolve(args.path, { paths: [args.resolveDir] }), + namespace: "node-file", + })); + + // Files in the "node-file" virtual namespace call "require()" on the + // path from esbuild of the ".node" file in the output directory. + build.onLoad({ filter: /.*/, namespace: "node-file" }, (args) => ({ + contents: ` + import path from ${JSON.stringify(args.path)} + try { module.exports = require(path) } + catch {} + `, + })); + + // If a ".node" file is imported within a module in the "node-file" namespace, put + // it in the "file" namespace where esbuild's default loading behavior will handle + // it. It is already an absolute path since we resolved it to one above. + build.onResolve( + { filter: /\.node$/, namespace: "node-file" }, + (args) => ({ + path: args.path, + namespace: "file", + }), + ); + + // Tell esbuild's default loading behavior to use the "file" loader for + // these ".node" files. + let opts = build.initialOptions; + opts.loader = opts.loader || {}; + opts.loader[".node"] = "file"; + }, +}; + +esbuild + .build({ + sourcemap: "external", // Source map generation must be turned on + platform: "node", + outdir: "dist", + entryPoints: ["apps/main/server.ts"], + format: "esm", + metafile: true, + bundle: true, + packages: "external", + banner: { + js: "import * as path from 'node:path';import { createRequire } from 'module';import { fileURLToPath } from 'node:url';const require = createRequire(import.meta.url);const __dirname = path.dirname(fileURLToPath(import.meta.url));", + }, + plugins: [ + nativeNodeModulesPlugin, + // Put the Sentry esbuild plugin after all other plugins + sentryEsbuildPlugin({ + authToken: process.env.SENTRY_AUTH_TOKEN, + org: "drazisilcom", + project: "rusty-motors-server", + }), + ], + }) + .then((result) => { + fs.writeFileSync("meta.json", JSON.stringify(result.metafile)); + }) + .catch((e) => { + console.error(e); + process.exit(1); + }); diff --git a/docs/technical/domains.md b/docs/technical/domains.md index 28b967b4e..eb11e622e 100644 --- a/docs/technical/domains.md +++ b/docs/technical/domains.md @@ -1,46 +1,48 @@ # Domains -* Web -* Network -* Account -* Login -* Persona -* Lobby -* Database +- Web +- Network +- Account +- Login +- Persona +- Lobby +- Database ## Web The web service is an HTTP/HTTPS server that provides the following external endpoints: -* A binary response to the GET patch URL -* A binary response to the GET update URL -* A POST receive of a username and password using HTTPS which returns a Ticket code if valid, and an error if not -* A response to the GET shardlist URL +- A binary response to the GET patch URL +- A binary response to the GET update URL +- A POST receive of a username and password using HTTPS which returns a Ticket code if valid, and an error if not +- A response to the GET shardlist URL ### AuthLogin + Accept a username and password via HTTPS and requestions from the Account service if the login is valid. Has the following service relationships: -* Account OUTBOUND (username, password) -* Account INBOUND (isUserValid) +- Account OUTBOUND (username, password) +- Account INBOUND (isUserValid) ### Shard + The shard service responds to a GET call and requests a list of online lobby servers (shards) from the Lobby service. Has the following service relationships: -* Lobby OUTBOUND -* Lobby INBOUND (shardList) +- Lobby OUTBOUND +- Lobby INBOUND (shardList) ## Network The Network service handles all inbound and outbound non-HTTP TCP traffic between the server and clients. It has the following subdomains: -* Socket Receive -* Socket Send -* Session Control -* Interservice Transfer +- Socket Receive +- Socket Send +- Session Control +- Interservice Transfer ### Socket receive @@ -52,41 +54,41 @@ After the downstream domain finishes with the data, it returns any responses to Has the following service relationships: -* Session Control OUTBOUND (socketId, remoteAddress, localPort) -* Session Control INBOUND {socketId, SessionId} -* Interservice Transfer OUTBOUND (sessionId, dataBuffer) +- Session Control OUTBOUND (socketId, remoteAddress, localPort) +- Session Control INBOUND {socketId, SessionId} +- Interservice Transfer OUTBOUND (sessionId, dataBuffer) ### Socket Send Has the following service relationships: -* Interservice Transfer INBOUND (sessionId, dataBuffer) -* Session Control OUTBOUND (sessionId) -* Session Control INBOUND (sessionId, socketId) +- Interservice Transfer INBOUND (sessionId, dataBuffer) +- Session Control OUTBOUND (sessionId) +- Session Control INBOUND (sessionId, socketId) ### Session Control Has the following service relationships: -* Socket Receive INBOUND (socketId, remoteAddress, localPort) -* Socket Receive OUTBOUND (socketId, sessionId) -* Socket Send INBOUND (sessionId) -* Socket Send OUTBOUND (sessionId, socketId) +- Socket Receive INBOUND (socketId, remoteAddress, localPort) +- Socket Receive OUTBOUND (socketId, sessionId) +- Socket Send INBOUND (sessionId) +- Socket Send OUTBOUND (sessionId, socketId) ### Interservice Transfer Has the following service relationships: -* Socket Receive INBOUND (sessionId, dataBuffer) -* Socket Send OUTBOUND (sessionId, dataBuffer) -* Login OUTBOUND (sessionId, dataBuffer) -* Login INBOUND (sessionId, dataBuffer) -* Persona OUTBOUND (sessionId, dataBuffer) -* Persona INBOUND (sessionId, dataBuffer) -* Lobby OUTBOUND (sessionId, dataBuffer) -* Lobby INBOUND (sessionId, dataBuffer) -* Database OUTBOUND (sessionId, dataBuffer) -* Database INBOUND (sessionId, dataBuffer) +- Socket Receive INBOUND (sessionId, dataBuffer) +- Socket Send OUTBOUND (sessionId, dataBuffer) +- Login OUTBOUND (sessionId, dataBuffer) +- Login INBOUND (sessionId, dataBuffer) +- Persona OUTBOUND (sessionId, dataBuffer) +- Persona INBOUND (sessionId, dataBuffer) +- Lobby OUTBOUND (sessionId, dataBuffer) +- Lobby INBOUND (sessionId, dataBuffer) +- Database OUTBOUND (sessionId, dataBuffer) +- Database INBOUND (sessionId, dataBuffer) ## Account diff --git a/package.json b/package.json index 88dd1f245..86dd9394b 100644 --- a/package.json +++ b/package.json @@ -2,11 +2,19 @@ "name": "rusty-motors", "version": "1.0.1", "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", - "main": "index.js", "type": "module", + "exports": { + ".": "./dist/index.js" + }, "scripts": { - "test": "tsc && eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages thebeast", - "start": "pnpm --filter @rustymotors/server start" + "lint": "tsc", + "build": "node build.mjs", + "start": "node --openssl-legacy-provider --env-file=.env dist/server.js", + "dev:rsc": "tsc --watch --preserveWatchOutput", + "dev:node": "node --watch dist/apps/main/server.js", + "dev:esbuild": "pnpm run build --watch", + "dev": "run-p dev:*", + "test": "eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages thebeast" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -16,24 +24,33 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { + "@sentry/node": "^7.108.0", + "@sentry/profiling-node": "^7.108.0", "@slonik/migrator": "0.12.0", "@types/node": "20.11.30", "@vitest/coverage-v8": "1.4.0", + "esbuild": "^0.20.2", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", + "npm-run-all": "^4.1.5", "prettier": "3.2.5", "typescript": "5.4.3", "vitest": "1.4.0" }, "dependencies": { + "@fastify/sensible": "^5.5.0", "@rustymotors/database": "workspace:^", "@rustymotors/shared": "workspace:^", "@rustymotors/shared-packets": "workspace:^", - "@sentry/node": "^7.102.0", - "@sentry/profiling-node": "^7.104.0", + "@sentry/esbuild-plugin": "^2.16.0", + "fastify": "^4.25.2", + "pino": "^8.18.0", + "pino-pretty": "^11.0.0", + "short-unique-id": "^5.0.3", "slonik": "37", - "tsx": "^4.7.1" + "tsx": "^4.7.1", + "zod": "^3.22.4" }, "packageManager": "pnpm@8.15.5" } diff --git a/packages/cli/ConsoleThread.d.ts b/packages/cli/ConsoleThread.d.ts new file mode 100644 index 000000000..4daf4c66f --- /dev/null +++ b/packages/cli/ConsoleThread.d.ts @@ -0,0 +1,31 @@ +import { SubThread } from "../shared/index.js"; +import { Gateway } from "../gateway/src/GatewayServer.js"; +import type { TServerLogger } from "../shared/index.js"; +/** + * @module ConsoleThread + */ +/** + * Console thread + */ +export declare class ConsoleThread extends SubThread { + parentThread: Gateway; + /** + * @param {object} options + * @param {Gateway} options.parentThread The parent thread + * @param {ServerLogger} options.log The logger + */ + constructor({ + parentThread, + log, + }: { + parentThread: Gateway; + log: TServerLogger; + }); + /** @param {import("../interfaces/index.js").KeypressEvent} key */ + handleKeypressEvent( + key: import("../interfaces/index.js").KeypressEvent, + ): void; + init(): void; + run(): void; + stop(): void; +} diff --git a/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts index 969ecffa7..3e9840efb 100644 --- a/packages/cli/ConsoleThread.ts +++ b/packages/cli/ConsoleThread.ts @@ -1,10 +1,7 @@ import { emitKeypressEvents } from "node:readline"; -import { SubThread } from "@rustymotors/shared"; -// eslint-disable-next-line no-unused-vars +import { SubThread, type TServerLogger } from "../shared"; import { Gateway } from "../gateway/src/GatewayServer.js"; -import type { TServerLogger } from "@rustymotors/shared"; - /** * @module ConsoleThread */ diff --git a/packages/core/src/serializationHelpers.d.ts b/packages/core/src/serializationHelpers.d.ts new file mode 100644 index 000000000..ad416bb6c --- /dev/null +++ b/packages/core/src/serializationHelpers.d.ts @@ -0,0 +1,96 @@ +/// +/** + * Clamp a value between 0 and 255 + * @param {number} value + * @returns {number} + */ +export declare function clamp16(value: number): number; +/** + * Clamp a value between 0 and 65535 + * @param {number} value + * @returns {number} + */ +export declare function clamp32(value: number): number; +/** + * Serializes a boolean to a buffer. + * @param {boolean} bool + * @returns {Buffer} + */ +export declare function serializeBool(bool: boolean): Buffer; +/** + * Serializes a byte to a buffer. + * @param {number} byte + * @returns {Buffer} + */ +export declare function serializeByte(byte: number): Buffer; +/** + * Serializes a word to a buffer. + * @param {number} word + * @returns {Buffer} + */ +export declare function serializeWord(word: number): Buffer; +/** + * Serializes a dword to a buffer. + * @param {number} dword + * @returns {Buffer} + */ +export declare function serializeDWord(dword: number): Buffer; +/** + * Serializes a float to a buffer. + * @param {number} f + * @returns {Buffer} + */ +export declare function serializeFloat(f: number): Buffer; +/** + * Serializes a string to a buffer. The buffer will be prefixed with the length of the string. + * @param {string} str + * @returns {Buffer} + */ +export declare function serializeString(str: string): Buffer; +/** + * Deserializes a boolean from a buffer. + * @param {Buffer} buff + * @returns {boolean} + */ +export declare function deserializeBool(buff: Buffer): boolean; +/** + * Deserializes a byte from a buffer. + * @param {Buffer} buff + * @returns {number} + */ +export declare function deserializeByte(buff: Buffer): number; +/** + * Deserializes a word from a buffer. + * @param {Buffer} buff + * @returns {number} + */ +export declare function deserializeWord(buff: Buffer): number; +/** + * Deserializes a dword from a buffer. + * @param {Buffer} buff + * @returns {number} + */ +export declare function deserializeDWord(buff: Buffer): number; +/** + * Deserializes a float from a buffer. + * @param {Buffer} buff + * @returns {number} + */ +export declare function deserializeFloat(buff: Buffer): number; +/** + * Deserializes a string from a buffer. The buffer is expected to be prefixed with the length of the string. + * @param {Buffer} buf + * @returns {string} + */ +export declare function deserializeString(buf: Buffer): string; +export declare function sizeOfBool(): number; +export declare function sizeOfByte(): number; +export declare function sizeOfWord(): number; +export declare function sizeOfDWord(): number; +export declare function sizeOfFloat(): number; +/** + * Returns the size of a string, including the length prefix. + * @param {string} string + * @returns {number} + */ +export declare function sizeOfString(string: string): number; diff --git a/packages/core/src/serializationHelpers.test.d.ts b/packages/core/src/serializationHelpers.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/core/src/serializationHelpers.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/database/index.d.ts b/packages/database/index.d.ts new file mode 100644 index 000000000..ff8f9927d --- /dev/null +++ b/packages/database/index.d.ts @@ -0,0 +1,14 @@ +export { + updateUser, + fetchSessionKeyByCustomerId, + updateSessionKey, + fetchSessionKeyByConnectionId, +} from "./src/DatabaseManager.js"; +export { getVehiclePartTree } from "./src/cache.js"; +export { + buildVehiclePartTreeFromDB, + buildVehiclePartTree, + saveVehiclePartTree, + saveVehicle, +} from "./src/models/VehiclePartTree.js"; +export type { TPart } from "./src/models/Part.js"; diff --git a/packages/database/package.json b/packages/database/package.json index 692086c67..62cb1857c 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -4,8 +4,8 @@ "description": "", "exports": { ".": { - "import": "./index.ts", - "require": "./index.ts" + "import": "./index.js", + "require": "./index.js" } }, "type": "module", diff --git a/packages/database/src/DatabaseManager.d.ts b/packages/database/src/DatabaseManager.d.ts new file mode 100644 index 000000000..c9e92b84a --- /dev/null +++ b/packages/database/src/DatabaseManager.d.ts @@ -0,0 +1,55 @@ +/** + * This class abstracts database methods + * @see {@link getDatabaseServer()} to get a singleton instance + */ +/// +/** + * This class abstracts database methods + * @see {@link getDatabaseServer()} to get a singleton instance + */ +import type { ConnectionRecord } from "../../interfaces/index.js"; +/** + * @module Database + */ +/** + * Update a user record in the database + +* @throws {Error} If the user record is not found + */ +export declare function updateUser(user: { + userId: number; + userData: Buffer; +}): Promise; +/** + * Locate customer session encryption key in the database + * + * @throws {Error} If the session key is not found + */ +export declare function fetchSessionKeyByCustomerId( + customerId: number, +): Promise; +/** + * Create or overwrite a customer's session key record + * + * @param {number} customerId + * @param {string} sessionKey + * @param {string} contextId + * @param {string} connectionId + * @returns {Promise} + */ +export declare function updateSessionKey( + customerId: number, + sessionKey: string, + contextId: string, + connectionId: string, +): Promise; +/** + * Locate customer session encryption key in the database + * + * @param {string} connectionId + * @returns {Promise} + * @throws {Error} If the session key is not found + */ +export declare function fetchSessionKeyByConnectionId( + connectionId: string, +): Promise; diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 14eb4799f..7d08749e9 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -3,7 +3,11 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import { ConnectionRecord } from "../../interfaces/index.js"; +/** + * This class abstracts database methods + * @see {@link getDatabaseServer()} to get a singleton instance + */ +import type { ConnectionRecord } from "../../interfaces/index.js"; // This is a fake database table that holds sessions of currently logged in users const _sessions: ConnectionRecord[] = []; diff --git a/packages/database/src/cache.d.ts b/packages/database/src/cache.d.ts new file mode 100644 index 000000000..a75a550b5 --- /dev/null +++ b/packages/database/src/cache.d.ts @@ -0,0 +1,12 @@ +import type { TBrand } from "./models/Brand.js"; +import type { VehiclePartTreeType } from "./models/VehiclePartTree.js"; +export declare function getBrand( + brandName: string, +): Promise; +export declare function getVehiclePartTree( + vehicleId: number, +): Promise; +export declare function setVehiclePartTree( + vehicleId: number, + vehiclePartTree: VehiclePartTreeType, +): Promise; diff --git a/packages/database/src/cache.ts b/packages/database/src/cache.ts index 48ec69c65..b6fcb3458 100644 --- a/packages/database/src/cache.ts +++ b/packages/database/src/cache.ts @@ -1,5 +1,5 @@ -import { TBrand } from "./models/Brand.js"; -import { VehiclePartTreeType } from "./models/VehiclePartTree.js"; +import type { TBrand } from "./models/Brand.js"; +import type { VehiclePartTreeType } from "./models/VehiclePartTree.js"; import { getSlonik } from "./services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/models/AttachmentPoint.d.ts b/packages/database/src/models/AttachmentPoint.d.ts new file mode 100644 index 000000000..7b7b7c9e2 --- /dev/null +++ b/packages/database/src/models/AttachmentPoint.d.ts @@ -0,0 +1,41 @@ +export type TAttachmentPointRecord = { + attachmentPointId: number; + attachmentPoint: string; +}; +export type TAttachmentPoint = + | "Default" + | "FrontLeft" + | "FrontRight" + | "RearLeft" + | "RearRight" + | "Left" + | "Right" + | "A" + | "B" + | "C" + | "Front" + | "Rear"; +export declare const EAttachmentPoint: { + Default: number; + FrontLeft: number; + FrontRight: number; + RearLeft: number; + RearRight: number; + Left: number; + Right: number; + A: number; + B: number; + C: number; + Front: number; + Rear: number; +}; +export declare const attachmentPoints: TAttachmentPointRecord[]; +export declare function isValidAttachmentPoint( + attachmentPoint: string, +): boolean; +export declare function getAttachmentPoint( + attachmentPoint: TAttachmentPoint, +): number; +export declare function getAttachmentPointName( + attachmentPointId: number, +): TAttachmentPoint | undefined; diff --git a/packages/database/src/models/Brand.d.ts b/packages/database/src/models/Brand.d.ts new file mode 100644 index 000000000..dfba4ad7b --- /dev/null +++ b/packages/database/src/models/Brand.d.ts @@ -0,0 +1,5 @@ +export type TBrand = { + brandId: number; + brand: string | null; + isStock: boolean; +}; diff --git a/packages/database/src/models/BrandedPart.d.ts b/packages/database/src/models/BrandedPart.d.ts new file mode 100644 index 000000000..6ebf774f6 --- /dev/null +++ b/packages/database/src/models/BrandedPart.d.ts @@ -0,0 +1,10 @@ +export type BrandedPartType = { + brandedPartId: number; + partyTypeId: number; + modelId: number; + mfgDate: Date; + qtyAvailable: number; + retailPrice: number; + maxItemWear: number | null; + engineBlockFamilyId: number; +}; diff --git a/packages/database/src/models/Model.d.ts b/packages/database/src/models/Model.d.ts new file mode 100644 index 000000000..f61604b3f --- /dev/null +++ b/packages/database/src/models/Model.d.ts @@ -0,0 +1,30 @@ +export type TModel = { + modelId: number; + brandId: number; + eModel: string | null; + gModel: string | null; + fModel: string | null; + sModel: string | null; + iModel: string | null; + jModel: string | null; + swModel: string | null; + bModel: string | null; + eExtraInfo: string | null; + gExtraInfo: string | null; + fExtraInfo: string | null; + sExtraInfo: string | null; + iExtraInfo: string | null; + jExtraInfo: string | null; + swExtraInfo: string | null; + bExtraInfo: string | null; + eShortModel: string | null; + gShortModel: string | null; + fShortModel: string | null; + sShortModel: string | null; + iShortModel: string | null; + jShortModel: string | null; + swShortModel: string | null; + bShortModel: string | null; + debug_string: string | null; + debug_sort_string: string | null; +}; diff --git a/packages/database/src/models/Part.d.ts b/packages/database/src/models/Part.d.ts new file mode 100644 index 000000000..a17b488d9 --- /dev/null +++ b/packages/database/src/models/Part.d.ts @@ -0,0 +1,12 @@ +export type TPart = { + partId: number; + parentPartId: number | null; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number | null; + ownerID: number | null; + partName: string | null; + repairCost: number; + scrapValue: number; +}; diff --git a/packages/database/src/models/VehiclePartTree.d.ts b/packages/database/src/models/VehiclePartTree.d.ts new file mode 100644 index 000000000..6098d1dc8 --- /dev/null +++ b/packages/database/src/models/VehiclePartTree.d.ts @@ -0,0 +1,57 @@ +/// +import type { TPart } from "./Part.js"; +export type TVehicle = { + vehicleId: number; + skinId: number; + flags: number; + class: number; + infoSetting: number; + damageInfo: Buffer | null; +}; +export type VehiclePartTreeType = { + vehicleId: number; + skinId: number; + flags: number; + class: number; + infoSetting: number; + damageInfo: Buffer | null; + isStock: boolean; + ownedLotId: number | null; + ownerID: number | null; + partId: number; + parentPartId: null; + brandedPartId: number; + partTree: { + level1: { + partId: number; + parts: TPart[]; + }; + level2: { + partId: number; + parts: TPart[]; + }; + }; +}; +export declare function savePart(part: TPart): Promise; +export declare function saveVehicle( + vehiclePartTree: VehiclePartTreeType, +): Promise; +export declare function saveVehiclePartTree( + vehiclePartTree: VehiclePartTreeType, +): Promise; +export declare function buildVehiclePartTreeFromDB( + vehicleId: number, +): Promise; +export declare function buildVehiclePartTree({ + brandedPartId, + skinId, + ownedLotId, + ownerID, + isStock, +}: { + brandedPartId: number; + skinId: number; + ownedLotId?: number; + ownerID?: number; + isStock: boolean; +}): Promise; diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts index 9834476b3..4d1e8b328 100644 --- a/packages/database/src/models/VehiclePartTree.ts +++ b/packages/database/src/models/VehiclePartTree.ts @@ -1,8 +1,8 @@ -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../../shared"; import * as Sentry from "@sentry/node"; import { setVehiclePartTree } from "../cache.js"; import { getSlonik } from "../services/database.js"; -import { TPart } from "./Part.js"; +import type { TPart } from "./Part.js"; const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; diff --git a/packages/database/src/services/admin.d.ts b/packages/database/src/services/admin.d.ts new file mode 100644 index 000000000..f5ba25500 --- /dev/null +++ b/packages/database/src/services/admin.d.ts @@ -0,0 +1,17 @@ +export declare function createNewCar( + brandedPartId: number, + skinId: number, + newCarOwnerId: number, +): Promise; +export type DBPart = { + partId: number; + parentPartId: number; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number; + ownerId: number; + partName: string; + repairCost: number; + scrapValue: number; +}; diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts index 6ab8394f3..72b158d30 100644 --- a/packages/database/src/services/admin.ts +++ b/packages/database/src/services/admin.ts @@ -1,4 +1,4 @@ -import { DatabaseTransactionConnection } from "slonik"; +import type { DatabaseTransactionConnection } from "slonik"; import { getSlonik } from "./database.js"; import * as Sentry from "@sentry/node"; @@ -136,7 +136,7 @@ export async function createNewCar( SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid - where a.parentbrandedpartid = ${tmpParts[0].brandedPartId} + where a.parentbrandedpartid = ${tmpParts[0] ? tmpParts[0].brandedPartId : null} `); }, ); @@ -176,6 +176,10 @@ export async function createNewCar( let parentPartId = null; let currentPartId = await getNextSq("part_partid_seq"); + if (typeof tmpParts[0] === "undefined") { + throw Error("currentPartId is null"); + } + // Make sure the first part's branded part id is not null if (tmpParts[0].brandedPartId === null) { throw Error("The first part's branded part id is null"); @@ -230,17 +234,21 @@ export async function createNewCar( console.log("currentPartId"); console.dir(currentPartId); + if (typeof tmpParts[i] === "undefined") { + throw Error("currentPartId is null"); + } await addPart( connection, currentPartId, parentPartId, - tmpParts[i], + tmpParts[i] as partTableEntry, newCarOwnerId, ); // Update the partid of the part in the tmpParts array - tmpParts[i].partId = currentPartId; - tmpParts[i].parentPartId = parentPartId; + (tmpParts[i] as partTableEntry).partId = currentPartId; + (tmpParts[i] as partTableEntry).parentPartId = + parentPartId; } }); }, diff --git a/packages/database/src/services/database.d.ts b/packages/database/src/services/database.d.ts new file mode 100644 index 000000000..502b9ec76 --- /dev/null +++ b/packages/database/src/services/database.d.ts @@ -0,0 +1,5 @@ +import { type DatabasePool, createSqlTag } from "slonik"; +export declare function getSlonik(): Promise<{ + slonik: DatabasePool; + sql: ReturnType; +}>; diff --git a/packages/database/src/services/database.ts b/packages/database/src/services/database.ts index 6f912ce06..033de45e3 100644 --- a/packages/database/src/services/database.ts +++ b/packages/database/src/services/database.ts @@ -1,4 +1,4 @@ -import { createPool, DatabasePool, createSqlTag } from "slonik"; +import { createPool, type DatabasePool, createSqlTag } from "slonik"; import { z } from "zod"; let slonik: DatabasePool; diff --git a/packages/database/test/Database.test.d.ts b/packages/database/test/Database.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/database/test/Database.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts index afa0d556f..29cafcfd3 100644 --- a/packages/database/test/Database.test.ts +++ b/packages/database/test/Database.test.ts @@ -4,7 +4,7 @@ import { fetchSessionKeyByCustomerId, fetchSessionKeyByConnectionId, updateUser, -} from "@rustymotors/database"; +} from "../../database"; describe("Database", () => { describe("fetchSessionKeyByCustomerId", () => { diff --git a/packages/gateway/src/GatewayServer.d.ts b/packages/gateway/src/GatewayServer.d.ts new file mode 100644 index 000000000..0e16d58f9 --- /dev/null +++ b/packages/gateway/src/GatewayServer.d.ts @@ -0,0 +1,121 @@ +/// +/// +import { Socket } from "node:net"; +import { Configuration, type TServerLogger } from "../../shared"; +import { ConsoleThread } from "../../cli/ConsoleThread.js"; +/** + * @module gateway + */ +export type TGatewayOptions = { + config?: Configuration; + log: TServerLogger; + backlogAllowedCount?: number; + listeningPortList?: number[]; + socketConnectionHandler?: ({ + incomingSocket, + log, + }: { + incomingSocket: Socket; + log: TServerLogger; + }) => void; +}; +/** + * Gateway server + * @see {@link getGatewayServer()} to get a singleton instance + */ +export declare class Gateway { + config: Configuration; + log: TServerLogger; + timer: NodeJS.Timeout | null; + loopInterval: number; + status: string; + consoleEvents: string[]; + backlogAllowedCount: number; + listeningPortList: number[]; + servers: import("node:net").Server[]; + socketconnection: ({ + incomingSocket, + log, + }: { + incomingSocket: Socket; + log: TServerLogger; + }) => void; + static _instance: Gateway | undefined; + webServer: import("fastify").FastifyInstance | undefined; + readThread: ConsoleThread | undefined; + /** + * Creates an instance of GatewayServer. + * @param {TGatewayOptions} options + */ + constructor({ + config, + log, + backlogAllowedCount, + listeningPortList, + socketConnectionHandler, + }: TGatewayOptions); + /** + * Delete the GatewayServer instance + */ + static deleteInstance(): void; + /** + * Assert that the listeningPortList is not empty + * @param {number[]} listeningPortList + * @throws {Error} If the listeningPortList is empty + */ + private verifyPortListIsNotEmpty; + /** + * @return {import("fastify").FastifyInstance} + */ + getWebServer(): import("fastify").FastifyInstance; + start(): Promise; + restart(): Promise; + exit(): Promise; + stop(): Promise; + /** + * @param {string} event + */ + handleReadThreadEvent(event: string): void; + init(): Promise; + help(): void; + run(): void; + /** + * + * @param {TGatewayOptions} options + * @returns {Gateway} + * @memberof Gateway + */ + static getInstance({ + config, + log, + backlogAllowedCount, + listeningPortList, + socketConnectionHandler, + }: TGatewayOptions): Gateway; + shutdown(): void; +} +/** + * Get a singleton instance of GatewayServer + * + * @param {TGatewayOptions} options + * @returns {Gateway} + */ +export declare function getGatewayServer({ + config, + log, + backlogAllowedCount, + listeningPortList, + socketConnectionHandler, +}: { + config?: Configuration; + log: TServerLogger; + backlogAllowedCount?: number; + listeningPortList?: number[]; + socketConnectionHandler?: ({ + incomingSocket, + log, + }: { + incomingSocket: Socket; + log: TServerLogger; + }) => void; +}): Gateway; diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index c435c462b..c58483e47 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -7,8 +7,8 @@ import { addOnDataHandler, createInitialState, fetchStateFromDatabase, - TServerLogger, -} from "@rustymotors/shared"; + type TServerLogger, +} from "../../shared"; import { ConsoleThread } from "../../cli/ConsoleThread.js"; import { addWebRoutes } from "./web.js"; diff --git a/packages/gateway/src/encryption.d.ts b/packages/gateway/src/encryption.d.ts new file mode 100644 index 000000000..33c2bd93c --- /dev/null +++ b/packages/gateway/src/encryption.d.ts @@ -0,0 +1,27 @@ +import { McosEncryptionPair } from "../../shared"; +/** + * This function creates a new encryption pair for use with the game server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + */ +export declare function createCommandEncryptionPair( + key: string, +): McosEncryptionPair; +/** + * This function creates a new encryption pair for use with the database server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + * @throws Error if the key is too short + */ +export declare function createDataEncryptionPair( + key: string, +): McosEncryptionPair; +/** + * This function checks if the server supports the legacy ciphers + * + * @returns void + * @throws Error if the server does not support the legacy ciphers + */ +export declare function verifyLegacyCipherSupport(): void; diff --git a/packages/gateway/src/encryption.ts b/packages/gateway/src/encryption.ts index f597f212f..ac122870f 100644 --- a/packages/gateway/src/encryption.ts +++ b/packages/gateway/src/encryption.ts @@ -15,7 +15,7 @@ // along with this program. If not, see . import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; -import { McosEncryptionPair } from "@rustymotors/shared"; +import { McosEncryptionPair } from "../../shared"; /** * This function creates a new encryption pair for use with the game server diff --git a/packages/gateway/src/index.d.ts b/packages/gateway/src/index.d.ts new file mode 100644 index 000000000..7d53ff627 --- /dev/null +++ b/packages/gateway/src/index.d.ts @@ -0,0 +1,86 @@ +/// +/// +/// +import { type TServerLogger } from "../../shared"; +import { ServerLogger } from "../../shared"; +import { Socket } from "node:net"; +import { GameMessage as OldGameMessage } from "../../nps/index.js"; +import type { SocketCallback } from "../../nps/messageProcessors/index.js"; +/** + * @typedef {object} OnDataHandlerArgs + * @property {object} args + * @property {string} args.connectionId The connection id of the socket that + * received the data. + * @property {module:packages/shared/RawMessage} args.message The data that was received. + * @property {module:shared/log.ServerLogger} args.log + * response + * to the + * data. + */ +/** + * @typedef {function} OnDataHandler + * @param {OnDataHandlerArgs} args The arguments for the handler. + * @returns {ServiceResponse} The + * response + * to the + * data. + */ +/** + * Handle socket errors + */ +export declare function socketErrorHandler({ + connectionId, + error, + log, +}: { + connectionId: string; + error: NodeJS.ErrnoException; + log: TServerLogger; +}): void; +/** + * Handle the end of a socket connection + * + * @param {object} options + * @param {string} options.connectionId The connection ID + * @param {ServerLogger} options.log The logger to use + */ +export declare function socketEndHandler({ + connectionId, + log, +}: { + connectionId: string; + log: ServerLogger; +}): void; +/** + * Handle incoming TCP connections + * + * @param {object} options + * @param {module:net.Socket} options.incomingSocket The incoming socket + * @param {ServerLogger} options.log The logger to use + * + */ +export declare function onSocketConnection({ + incomingSocket, + log, +}: { + incomingSocket: Socket; + log: TServerLogger; +}): void; +export declare function processGameMessage( + connectionId: string, + message: OldGameMessage, + log: TServerLogger, + socketCallback: SocketCallback, +): void; +export declare function handleGameMessage( + connectionId: string, + bytes: Buffer, + log: TServerLogger, + socketCallback: SocketCallback, +): void; +export declare function handleServerMessage( + connectionId: string, + bytes: Buffer, + log: ServerLogger, + socketCallback: SocketCallback, +): void; diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index b26b95420..56c07c372 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -16,19 +16,19 @@ import { randomUUID } from "node:crypto"; import { - OnDataHandler, - TServerLogger, + type OnDataHandler, + type TServerLogger, addSocket, fetchStateFromDatabase, getOnDataHandler, removeSocket, wrapSocket, -} from "@rustymotors/shared"; +} from "../../shared"; -import { ServerLogger } from "@rustymotors/shared"; +import { ServerLogger } from "../../shared"; import { Socket } from "node:net"; -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; import { MessageProcessorError, @@ -36,10 +36,10 @@ import { getPortMessageType, GameMessage as OldGameMessage, } from "../../nps/index.js"; -import { SocketCallback } from "../../nps/messageProcessors/index.js"; +import type { SocketCallback } from "../../nps/messageProcessors/index.js"; import { getAsHex } from "../../nps/utils/pureGet.js"; -import { ServiceResponse } from "@rustymotors/shared"; -import { GameMessage } from "@rustymotors/shared-packets"; +import type { ServiceResponse } from "../../shared"; +import { GameMessage } from "../../shared-packets"; /** * @typedef {object} OnDataHandlerArgs diff --git a/packages/gateway/src/web.d.ts b/packages/gateway/src/web.d.ts new file mode 100644 index 000000000..d2b575a73 --- /dev/null +++ b/packages/gateway/src/web.d.ts @@ -0,0 +1,8 @@ +/** + * Add web routes to the web server + * + * @param {import("fastify").FastifyInstance} webServer The web server + */ +export declare function addWebRoutes( + webServer: import("fastify").FastifyInstance, +): Promise; diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index 32df7aad6..af6ef1866 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -16,7 +16,7 @@ import { CastanetResponse } from "../../patch/src/PatchServer.js"; import { generateShardList } from "../../shard/src/ShardServer.js"; -import { getServerConfiguration } from "@rustymotors/shared"; +import { getServerConfiguration } from "../../shared"; import { handleGetCert, handleGetKey, diff --git a/packages/gateway/test/GatewayServer.test.d.ts b/packages/gateway/test/GatewayServer.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/gateway/test/GatewayServer.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index bf7539304..e7a3f5a8b 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,4 +1,4 @@ -import { TServerLogger } from "@rustymotors/shared"; +import type { TServerLogger } from "../../shared"; import { Gateway, getGatewayServer } from "../src/GatewayServer.js"; import type { TGatewayOptions } from "../src/GatewayServer.js"; import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; diff --git a/packages/gateway/test/encryption.test.d.ts b/packages/gateway/test/encryption.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/gateway/test/encryption.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/gateway/test/encryption.test.ts b/packages/gateway/test/encryption.test.ts index 978cf9b78..4e92efd39 100644 --- a/packages/gateway/test/encryption.test.ts +++ b/packages/gateway/test/encryption.test.ts @@ -6,11 +6,11 @@ import { import { Socket } from "node:net"; import { McosEncryption, - State, + type State, addEncryption, createInitialState, getEncryption, -} from "@rustymotors/shared"; +} from "../../shared"; import { randomUUID } from "node:crypto"; let testSave: (state: State) => void; diff --git a/packages/gateway/test/socketErrorHandler.test.d.ts b/packages/gateway/test/socketErrorHandler.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/gateway/test/socketErrorHandler.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/gateway/test/socketErrorHandler.test.ts b/packages/gateway/test/socketErrorHandler.test.ts index 7f22206ce..d4a1fef1f 100644 --- a/packages/gateway/test/socketErrorHandler.test.ts +++ b/packages/gateway/test/socketErrorHandler.test.ts @@ -1,4 +1,4 @@ -import { TServerLogger } from "@rustymotors/shared"; +import type { TServerLogger } from "../../shared"; import { socketErrorHandler } from "../src/index.js"; import { describe, it, expect, vi } from "vitest"; diff --git a/packages/interfaces/index.d.ts b/packages/interfaces/index.d.ts index 2c0f6a3c5..570067c12 100644 --- a/packages/interfaces/index.d.ts +++ b/packages/interfaces/index.d.ts @@ -1,11 +1,7 @@ import { Socket } from "node:net"; import { Cipher, Decipher } from "node:crypto"; import { IncomingMessage, ServerResponse } from "node:http"; -import { - ServerError, - SerializedBuffer, - Configuration, -} from "@rustymotors/shared"; +import { ServerError, SerializedBuffer, Configuration } from "../../shared"; /** * @module interfaces diff --git a/packages/lobby/src/LoginInfoMessage.d.ts b/packages/lobby/src/LoginInfoMessage.d.ts new file mode 100644 index 000000000..d89908696 --- /dev/null +++ b/packages/lobby/src/LoginInfoMessage.d.ts @@ -0,0 +1,24 @@ +/// +import { LegacyMessage } from "../../shared"; +export declare class LoginInfoMessage extends LegacyMessage { + _userId: number; + _userName: string; + _userData: Buffer; + _customerId: number; + _flags: number; + _dllVersion: string; + _hostname: string; + _idAddress: string; + _hashKey: Buffer; + constructor(); + /** + * @param {Buffer} buffer + * @returns {LoginInfoMessage} + */ + deserialize(buffer: Buffer): LoginInfoMessage; + /** + * @returns {Buffer} + */ + serialize(): Buffer; + toString(): string; +} diff --git a/packages/lobby/src/LoginInfoMessage.ts b/packages/lobby/src/LoginInfoMessage.ts index 4504daf87..3c82cdb68 100644 --- a/packages/lobby/src/LoginInfoMessage.ts +++ b/packages/lobby/src/LoginInfoMessage.ts @@ -2,7 +2,7 @@ import { LegacyMessage, deserializeString, serializeString, -} from "@rustymotors/shared"; +} from "../../shared"; export class LoginInfoMessage extends LegacyMessage { _userId: number; diff --git a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts new file mode 100644 index 000000000..cfe7e53e7 --- /dev/null +++ b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts @@ -0,0 +1,14 @@ +/** + * Commands from the game client to the game server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +/** + * Commands from the game client to the game server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +import type { GameMessageOpCode } from "../../interfaces/index.js"; +export declare const NPS_LOBBYCLIENT_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts index ca9ce169d..ca1e94527 100644 --- a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts +++ b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts @@ -5,7 +5,13 @@ * @type {TNPS_COMMAND_MAP[]} */ -import { GameMessageOpCode } from "../../interfaces/index.js"; +/** + * Commands from the game client to the game server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +import type { GameMessageOpCode } from "../../interfaces/index.js"; export const NPS_LOBBYCLIENT_COMMANDS: GameMessageOpCode[] = [ { name: "NPS_LOGIN", value: 256, module: "Lobby" }, diff --git a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts new file mode 100644 index 000000000..61af57585 --- /dev/null +++ b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts @@ -0,0 +1,8 @@ +import type { GameMessageOpCode } from "../../interfaces/index.js"; +/** + * Commands from the game server to the game client + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +export declare const NPS_LOBBYSERVER_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts index 486a3a096..10b70eb76 100644 --- a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts +++ b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts @@ -1,4 +1,4 @@ -import { GameMessageOpCode } from "../../interfaces/index.js"; +import type { GameMessageOpCode } from "../../interfaces/index.js"; /** * Commands from the game server to the game client diff --git a/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts new file mode 100644 index 000000000..1946d7d07 --- /dev/null +++ b/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts @@ -0,0 +1,7 @@ +import type { GameMessageOpCode } from "../../interfaces/index.js"; +/** + * @export + * @readonly + * @type {NpsCommandMap[]} + */ +export declare const NPS_LOBBY_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/NPS_LOBBY_COMMANDS.ts b/packages/lobby/src/NPS_LOBBY_COMMANDS.ts index 1379582dc..3012b619a 100644 --- a/packages/lobby/src/NPS_LOBBY_COMMANDS.ts +++ b/packages/lobby/src/NPS_LOBBY_COMMANDS.ts @@ -1,4 +1,4 @@ -import { GameMessageOpCode } from "../../interfaces/index.js"; +import type { GameMessageOpCode } from "../../interfaces/index.js"; import { NPS_LOBBYCLIENT_COMMANDS } from "./NPS_LOBBYCLIENT_COMMANDS.js"; import { NPS_LOBBYSERVER_COMMANDS } from "./NPS_LOBBYSERVER_COMMANDS.js"; diff --git a/packages/lobby/src/UserInfoMessage.d.ts b/packages/lobby/src/UserInfoMessage.d.ts new file mode 100644 index 000000000..470b7cbfa --- /dev/null +++ b/packages/lobby/src/UserInfoMessage.d.ts @@ -0,0 +1,33 @@ +/// +import { LegacyMessage } from "../../shared"; +import { LoginInfoMessage } from "./LoginInfoMessage.js"; +export declare class UserInfo { + _userId: number; + _userName: string; + _userData: Buffer; + constructor(); + deserialize(buffer: Buffer): this; + serialize(): Buffer; + size(): number; +} +export declare class UserInfoMessage extends LegacyMessage { + _userId: number; + _userName: string; + _userData: Buffer; + constructor(); + /** + * @param {Buffer} buffer + * @returns {UserInfoMessage} + */ + deserialize(buffer: Buffer): this; + /** + * @returns {Buffer} + */ + serialize(): Buffer; + /** + * @param {LoginInfoMessage} loginInfoMessage + */ + fromLoginInfoMessage(loginInfoMessage: LoginInfoMessage): this; + calculateLength(): any; + toString(): string; +} diff --git a/packages/lobby/src/UserInfoMessage.ts b/packages/lobby/src/UserInfoMessage.ts index abf4d1f6d..1eabbbb2f 100644 --- a/packages/lobby/src/UserInfoMessage.ts +++ b/packages/lobby/src/UserInfoMessage.ts @@ -2,7 +2,7 @@ import { LegacyMessage, deserializeString, serializeString, -} from "@rustymotors/shared"; +} from "../../shared"; import { LoginInfoMessage } from "./LoginInfoMessage.js"; export class UserInfo { diff --git a/packages/lobby/src/handlers/_setMyUserData.d.ts b/packages/lobby/src/handlers/_setMyUserData.d.ts new file mode 100644 index 000000000..fb0e5f3ec --- /dev/null +++ b/packages/lobby/src/handlers/_setMyUserData.d.ts @@ -0,0 +1,13 @@ +import { ServerLogger, LegacyMessage } from "../../shared"; +export declare function _setMyUserData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; +}): Promise<{ + connectionId: string; + message: LegacyMessage; +}>; diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts index 0751abc1d..439765dd6 100644 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ b/packages/lobby/src/handlers/_setMyUserData.ts @@ -1,6 +1,6 @@ -import { ServerLogger, LegacyMessage } from "@rustymotors/shared"; +import { ServerLogger, LegacyMessage } from "../../../shared"; import { UserInfo } from "../UserInfoMessage.js"; -import { updateUser } from "@rustymotors/database"; +import { updateUser } from "../../../database"; export async function _setMyUserData({ connectionId, diff --git a/packages/lobby/src/handlers/encryptedCommand.d.ts b/packages/lobby/src/handlers/encryptedCommand.d.ts new file mode 100644 index 000000000..8fc1eccac --- /dev/null +++ b/packages/lobby/src/handlers/encryptedCommand.d.ts @@ -0,0 +1,71 @@ +import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; +/** + * Array of supported command handlers + * + * @type {{ + * opCode: number, + * name: string, + * handler: (args: { + * connectionId: string, + * message: SerializedBuffer, + * log: ServerLogger, + * }) => Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>}[]} + */ +export declare const messageHandlers: { + opCode: number; + name: string; + handler: (args: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; + }) => Promise<{ + connectionId: string; + messages: SerializedBuffer[]; + }>; +}[]; +export type NpsCommandHandler = { + opCode: number; + name: string; + handler: (args: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; + }) => Promise<{ + connectionId: string; + message: LegacyMessage; + }>; +}; +/** + * + * + * @param {object} args + * @param {string} args.connectionId + * @param {SerializedBuffer} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ +* connectionId: string, +* messages: SerializedBuffer[], +* }>} + + */ +export declare function handleEncryptedNPSCommand({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; +export declare const channelRecordSize = 40; +export declare const channels: { + id: number; + name: string; + population: number; +}[]; diff --git a/packages/lobby/src/handlers/encryptedCommand.ts b/packages/lobby/src/handlers/encryptedCommand.ts index 51c94de05..922423e2b 100644 --- a/packages/lobby/src/handlers/encryptedCommand.ts +++ b/packages/lobby/src/handlers/encryptedCommand.ts @@ -6,7 +6,7 @@ import { LegacyMessage, MessageBuffer, SerializedBuffer, -} from "@rustymotors/shared"; +} from "../../../shared"; import { handleSendMiniRiffList } from "./handleSendMiniRiffList.js"; import { handleGetMiniUserList } from "./handleGetMiniUserList.js"; import { _setMyUserData } from "./_setMyUserData.js"; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.d.ts b/packages/lobby/src/handlers/handleGetMiniUserList.d.ts new file mode 100644 index 000000000..e03c4f290 --- /dev/null +++ b/packages/lobby/src/handlers/handleGetMiniUserList.d.ts @@ -0,0 +1,19 @@ +import { ServerLogger, LegacyMessage } from "../../shared"; +/** + * @param {object} args + * @param {string} args.connectionId + * @param {LegacyMessage} args.message + * @param {ServerLogger} args.log + */ +export declare function handleGetMiniUserList({ + connectionId, + message, + log, +}: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; +}): Promise<{ + connectionId: string; + message: LegacyMessage; +}>; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts index bf7c26d51..ad25ac88b 100644 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -3,7 +3,7 @@ import { GameMessage, LegacyMessage, serializeString, -} from "@rustymotors/shared"; +} from "../../../shared"; import { UserInfo } from "../UserInfoMessage.js"; import { channelRecordSize, channels } from "./encryptedCommand.js"; diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts new file mode 100644 index 000000000..4d277e89e --- /dev/null +++ b/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts @@ -0,0 +1,19 @@ +import { ServerLogger, LegacyMessage } from "../../shared"; +/** + * @param {object} args + * @param {string} args.connectionId + * @param {LegacyMessage} args.message + * @param {ServerLogger} args.log + */ +export declare function handleSendMiniRiffList({ + connectionId, + message, + log, +}: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; +}): Promise<{ + connectionId: string; + message: LegacyMessage; +}>; diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts index 6bf80f094..6cd4917fe 100644 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -3,7 +3,7 @@ import { GameMessage, LegacyMessage, serializeString, -} from "@rustymotors/shared"; +} from "../../../shared"; import { channelRecordSize, channels } from "./encryptedCommand.js"; // const users = [user1]; diff --git a/packages/lobby/src/handlers/handleTrackingPing.d.ts b/packages/lobby/src/handlers/handleTrackingPing.d.ts new file mode 100644 index 000000000..79fb8faa6 --- /dev/null +++ b/packages/lobby/src/handlers/handleTrackingPing.d.ts @@ -0,0 +1,13 @@ +import { ServerLogger, SerializedBuffer } from "../../shared"; +export declare function handleTrackingPing({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/lobby/src/handlers/handleTrackingPing.ts b/packages/lobby/src/handlers/handleTrackingPing.ts index 7f6552b56..6fed3ee44 100644 --- a/packages/lobby/src/handlers/handleTrackingPing.ts +++ b/packages/lobby/src/handlers/handleTrackingPing.ts @@ -1,4 +1,4 @@ -import { ServerLogger, SerializedBuffer } from "@rustymotors/shared"; +import { ServerLogger, SerializedBuffer } from "../../../shared"; export async function handleTrackingPing({ connectionId, diff --git a/packages/lobby/src/handlers/requestConnectGameServer.d.ts b/packages/lobby/src/handlers/requestConnectGameServer.d.ts new file mode 100644 index 000000000..95196f528 --- /dev/null +++ b/packages/lobby/src/handlers/requestConnectGameServer.d.ts @@ -0,0 +1,28 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * Convert to zero padded hex + * + * @export + * @param {Buffer} data + * @return {string} + */ +export declare function toHex(data: Buffer): string; +/** + * Handle a request to connect to a game server packet + * + * @private + * @param {import("../../../interfaces/index.js").ServiceArgs} args + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + */ +export declare function _npsRequestGameConnectServer({ + connectionId, + message, + log, +}: import("../../../interfaces/index.js").ServiceArgs): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts index a514dba04..60da76fdd 100644 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ b/packages/lobby/src/handlers/requestConnectGameServer.ts @@ -1,5 +1,5 @@ import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPersonaId.js"; -import { fetchSessionKeyByCustomerId } from "@rustymotors/database"; +import { fetchSessionKeyByCustomerId } from "../../../database"; import { LoginInfoMessage } from "../LoginInfoMessage.js"; import { UserInfoMessage } from "../UserInfoMessage.js"; @@ -13,7 +13,7 @@ import { fetchStateFromDatabase, getEncryption, SerializedBuffer, -} from "@rustymotors/shared"; +} from "../../../shared"; /** * Convert to zero padded hex diff --git a/packages/lobby/src/internal.d.ts b/packages/lobby/src/internal.d.ts new file mode 100644 index 000000000..74c2353cb --- /dev/null +++ b/packages/lobby/src/internal.d.ts @@ -0,0 +1,51 @@ +import { ServerLogger, SerializedBuffer } from "../../shared"; +/** + * Array of supported message handlers + * + * @type {{ + * opCode: number, + * name: string, + * handler: (args: { + * connectionId: string, + * message: SerializedBuffer, + * log: ServerLogger, + * }) => Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>}[]} + */ +export declare const messageHandlers: { + opCode: number; + name: string; + handler: (args: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; + }) => Promise<{ + connectionId: string; + messages: SerializedBuffer[]; + }>; +}[]; +/** + * @param {object} args + * @param {string} args.connectionId + * @param {SerializedBuffer} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + * @throws {Error} Unknown code was received + */ +export declare function receiveLobbyData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/lobby/src/internal.ts b/packages/lobby/src/internal.ts index 8a9a45339..8ca552464 100644 --- a/packages/lobby/src/internal.ts +++ b/packages/lobby/src/internal.ts @@ -21,7 +21,7 @@ import { LegacyMessage, NPSMessage, SerializedBuffer, -} from "@rustymotors/shared"; +} from "../../shared"; import { handleTrackingPing } from "./handlers/handleTrackingPing.js"; /** diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index 437b72835..171341079 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,6 +1,6 @@ import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; -import { LegacyMessage } from "@rustymotors/shared"; +import { LegacyMessage } from "../../../shared"; import { mockLogger } from "../../../../test/factoryMocks.js"; describe("handleSendMiniRiffList", () => { diff --git a/packages/login/src/NPSUserStatus.d.ts b/packages/login/src/NPSUserStatus.d.ts new file mode 100644 index 000000000..e95d79cec --- /dev/null +++ b/packages/login/src/NPSUserStatus.d.ts @@ -0,0 +1,62 @@ +/// +import { LegacyMessage, Configuration, ServerLogger } from "../../shared"; +/** + * @typedef {Configuration} Configuration + */ +/** + * + * + * @export + * @typedef {object} NPSMessageValues + * @property {number} msgNo + * @property {number} msgVersion + * @property {number} reserved + * @property {Buffer} content + * @property {number} msgLength + * @property {"sent" | "received"} direction + * @property {string} serviceName + */ +/** + * + * @class NPSUserStatus + * @property {string} sessionKey + * @property {string} opCode + * @property {Buffer} buffer + */ +export declare class NPSUserStatus extends LegacyMessage { + _config: Configuration; + log: ServerLogger; + sessionKey: string; + opCode: number; + contextId: string; + buffer: Buffer; + /** + * + * @param {Buffer} packet + * @param {Configuration} config + * @param {ServerLogger} log + */ + constructor(packet: Buffer, config: Configuration, log: ServerLogger); + /** + * ExtractSessionKeyFromPacket + * + * Take 128 bytes + * They are the utf-8 of the hex bytes that are the key + * + * @param {Buffer} rawPacket + * @return {void} + */ + extractSessionKeyFromPacket(rawPacket: Buffer): void; + toJSON(): { + msgNo: number; + msgLength: any; + content: string; + contextId: string; + sessionKey: string; + rawBuffer: string; + }; + /** + * @return {string} + */ + dumpPacket(): string; +} diff --git a/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts index 0448da14d..c733c14e1 100644 --- a/packages/login/src/NPSUserStatus.ts +++ b/packages/login/src/NPSUserStatus.ts @@ -1,11 +1,7 @@ import { privateDecrypt } from "node:crypto"; import { readFileSync } from "node:fs"; -import { - LegacyMessage, - Configuration, - ServerLogger, -} from "@rustymotors/shared"; +import { LegacyMessage, Configuration, ServerLogger } from "../../shared"; /** * @typedef {Configuration} Configuration diff --git a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts new file mode 100644 index 000000000..9a10a756e --- /dev/null +++ b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts @@ -0,0 +1,14 @@ +/** + * Commands from the game client to the login server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +/** + * Commands from the game client to the login server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +import type { GameMessageOpCode } from "../../interfaces/index.js"; +export declare const NPS_LOGINCLIENT_COMMANDS: GameMessageOpCode[]; diff --git a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts index f0fa79993..97a4e60c2 100644 --- a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts +++ b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts @@ -5,7 +5,13 @@ * @type {TNPS_COMMAND_MAP[]} */ -import { GameMessageOpCode } from "../../interfaces/index.js"; +/** + * Commands from the game client to the login server + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +import type { GameMessageOpCode } from "../../interfaces/index.js"; export const NPS_LOGINCLIENT_COMMANDS: GameMessageOpCode[] = [ { name: "NPS_USER_LOGIN", value: 1281, module: "Login" }, diff --git a/packages/login/src/NPS_LOGIN_COMMANDS.d.ts b/packages/login/src/NPS_LOGIN_COMMANDS.d.ts new file mode 100644 index 000000000..ac6660a46 --- /dev/null +++ b/packages/login/src/NPS_LOGIN_COMMANDS.d.ts @@ -0,0 +1,7 @@ +import type { GameMessageOpCode } from "../../interfaces/index.js"; +/** + * @export + * @readonly + * @type {TNPS_COMMAND_MAP[]} + */ +export declare const NPS_LOGIN_COMMANDS: GameMessageOpCode[]; diff --git a/packages/login/src/NPS_LOGIN_COMMANDS.ts b/packages/login/src/NPS_LOGIN_COMMANDS.ts index 407bc17ff..eebf30fe3 100644 --- a/packages/login/src/NPS_LOGIN_COMMANDS.ts +++ b/packages/login/src/NPS_LOGIN_COMMANDS.ts @@ -1,4 +1,4 @@ -import { GameMessageOpCode } from "../../interfaces/index.js"; +import type { GameMessageOpCode } from "../../interfaces/index.js"; import { NPS_LOGINCLIENT_COMMANDS } from "./NPS_LOGINCLIENT_COMMANDS.js"; /** diff --git a/packages/login/src/index.d.ts b/packages/login/src/index.d.ts new file mode 100644 index 000000000..281fe8a6f --- /dev/null +++ b/packages/login/src/index.d.ts @@ -0,0 +1,51 @@ +import type { ServerLogger, ServiceResponse, NPSMessage } from "../../shared"; +/** + * Please use {@link LoginServer.getInstance()} + */ +export declare class LoginServer { + _log: any; + static _instance: LoginServer | undefined; + /** + * Please use {@see LoginServer.getInstance} instead + * @param {object} options + * @param {ServerLogger} options.log + * @memberof LoginServer + */ + constructor({ log }: { log: ServerLogger }); + /** + * Get the single instance of the login server + * + * @static + * @param {ServerLogger} log + * @return {LoginServer} + */ + static getInstance(log: ServerLogger): LoginServer; + /** + * + * @param {string} contextId + * @return {import("../../interfaces/index.js").UserRecordMini} + */ + _npsGetCustomerIdByContextId( + contextId: string, + ): import("../../interfaces/index.js").UserRecordMini; +} +/** + * Entry and exit point of the Login service + * + * @export + * @param {object} args + * @param {string} args.connectionId + * @param {NPSMessage} args.message + * @param {ServerLogger} args.log + * + * @return {Promise} + */ +export declare function receiveLoginData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: NPSMessage; + log: ServerLogger; +}): Promise; diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index a02747873..3a34d4a60 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -14,7 +14,22 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { ServerLogger, ServiceResponse, NPSMessage } from "@rustymotors/shared"; +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +import type { ServerLogger, ServiceResponse, NPSMessage } from "../../shared"; import { handleLoginData } from "./internal.js"; /** diff --git a/packages/login/src/internal.d.ts b/packages/login/src/internal.d.ts new file mode 100644 index 000000000..071192bdf --- /dev/null +++ b/packages/login/src/internal.d.ts @@ -0,0 +1,53 @@ +import { ServerLogger, SerializedBuffer } from "../../shared"; +/** + * Array of supported message handlers + * + * @type {{ + * opCode: number, + * name: string, + * handler: (args: { + * connectionId: string, + * message: SerializedBuffer, + * log: ServerLogger, + * }) => Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>}[]} + */ +export declare const messageHandlers: { + opCode: number; + name: string; + handler: (args: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; + }) => Promise<{ + connectionId: string; + messages: SerializedBuffer[]; + }>; +}[]; +/** + * Entry and exit point of the Login service + * + * @export + * @param {object} args + * @param {string} args.connectionId + * @param {SerializedBuffer} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + */ +export declare function handleLoginData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index bc8677364..79d838696 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -14,16 +14,16 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getServerConfiguration } from "@rustymotors/shared"; +import { getServerConfiguration } from "../../shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; -import { updateSessionKey } from "@rustymotors/database"; +import { updateSessionKey } from "../../database"; import { ServerLogger, NPSMessage, SerializedBuffer, NetworkMessage, -} from "@rustymotors/shared"; -import { UserRecordMini } from "../../interfaces/index.js"; +} from "../../shared"; +import type { UserRecordMini } from "../../interfaces/index.js"; const userRecords: UserRecordMini[] = [ { diff --git a/packages/login/src/premadeLogin.d.ts b/packages/login/src/premadeLogin.d.ts new file mode 100644 index 000000000..e90669ed1 --- /dev/null +++ b/packages/login/src/premadeLogin.d.ts @@ -0,0 +1,7 @@ +/** + * This is the response packet sent on the login port in response to a UserLogin + * + * @return {Buffer} + */ +/// +export declare function premadeLogin(): Buffer; diff --git a/packages/login/test/LoginServer.test.d.ts b/packages/login/test/LoginServer.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/login/test/LoginServer.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/nps/index.d.ts b/packages/nps/index.d.ts new file mode 100644 index 000000000..953cf6c37 --- /dev/null +++ b/packages/nps/index.d.ts @@ -0,0 +1,20 @@ +export { + MessageProcessorError, + gameMessageProcessors, + populateGameMessageProcessors, + getGameMessageProcessor, + PortMapError, + portToMessageTypes, + populatePortToMessageTypes, + getPortMessageType, +} from "./messageProcessors/index.js"; +export { GameMessage } from "./messageStructs/GameMessage.js"; +export { getWord } from "./utils/pureGet.js"; +export { processUserLogin } from "./messageProcessors/processUserLogin.js"; +export { + populateGameUsers, + getUser, + checkPassword, +} from "./services/account.js"; +export { generateToken } from "./services/token.js"; +export { createNewUserSession, setUserSession } from "./services/session.js"; diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.d.ts b/packages/nps/messageProcessors/getLobMiniRiffList.d.ts new file mode 100644 index 000000000..5904579c1 --- /dev/null +++ b/packages/nps/messageProcessors/getLobMiniRiffList.d.ts @@ -0,0 +1,5 @@ +/// +export declare function getLobMiniRiffList( + commandId: number, + data: Buffer, +): Promise; diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.ts b/packages/nps/messageProcessors/getLobMiniRiffList.ts index cd3d0db29..1e94dd7f4 100644 --- a/packages/nps/messageProcessors/getLobMiniRiffList.ts +++ b/packages/nps/messageProcessors/getLobMiniRiffList.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; import { getAsHex } from "../utils/pureGet.js"; diff --git a/packages/nps/messageProcessors/getLobMiniUserList.d.ts b/packages/nps/messageProcessors/getLobMiniUserList.d.ts new file mode 100644 index 000000000..9562aba75 --- /dev/null +++ b/packages/nps/messageProcessors/getLobMiniUserList.d.ts @@ -0,0 +1,5 @@ +/// +export declare function getLobMiniUserList( + commandId: number, + data: Buffer, +): Promise; diff --git a/packages/nps/messageProcessors/getLobMiniUserList.ts b/packages/nps/messageProcessors/getLobMiniUserList.ts index 105695356..26bab00c7 100644 --- a/packages/nps/messageProcessors/getLobMiniUserList.ts +++ b/packages/nps/messageProcessors/getLobMiniUserList.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; import { getAsHex } from "../utils/pureGet.js"; diff --git a/packages/nps/messageProcessors/index.d.ts b/packages/nps/messageProcessors/index.d.ts new file mode 100644 index 000000000..249bfc55d --- /dev/null +++ b/packages/nps/messageProcessors/index.d.ts @@ -0,0 +1,28 @@ +/// +import { GameMessage } from "../messageStructs/GameMessage.js"; +export type SocketCallback = (messages: Buffer[]) => void; +export type MessageProcessor = ( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +) => Promise; +export declare class MessageProcessorError extends Error { + constructor(id: number, message: string); +} +export declare const gameMessageProcessors: Map; +export declare function populateGameMessageProcessors( + processors: Map, +): void; +export declare function getGameMessageProcessor( + messageId: number, +): MessageProcessor; +export declare class PortMapError extends Error { + port: number; + constructor(port: number, message: string); + toString(): string; +} +export declare const portToMessageTypes: Map; +export declare function populatePortToMessageTypes( + portMap: Map, +): void; +export declare function getPortMessageType(port: number): string; diff --git a/packages/nps/messageProcessors/lobbyCommands.d.ts b/packages/nps/messageProcessors/lobbyCommands.d.ts new file mode 100644 index 000000000..51b6d6db5 --- /dev/null +++ b/packages/nps/messageProcessors/lobbyCommands.d.ts @@ -0,0 +1,6 @@ +/// +export type lobbyCommandProcessor = ( + commandId: number, + data: Buffer, +) => Promise; +export declare const lobbyCommandMap: Map; diff --git a/packages/nps/messageProcessors/processCheckPlateText.d.ts b/packages/nps/messageProcessors/processCheckPlateText.d.ts new file mode 100644 index 000000000..b589108ef --- /dev/null +++ b/packages/nps/messageProcessors/processCheckPlateText.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processCheckPlateText( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts index 6e1c95bad..d373bf12d 100644 --- a/packages/nps/messageProcessors/processCheckPlateText.ts +++ b/packages/nps/messageProcessors/processCheckPlateText.ts @@ -1,11 +1,11 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; import { getUserSessionByConnectionId, setUserSession, } from "../services/session.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processCheckProfileName.d.ts b/packages/nps/messageProcessors/processCheckProfileName.d.ts new file mode 100644 index 000000000..876066f54 --- /dev/null +++ b/packages/nps/messageProcessors/processCheckProfileName.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processCheckProfileName( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts index 86aa48c47..cf2e19a75 100644 --- a/packages/nps/messageProcessors/processCheckProfileName.ts +++ b/packages/nps/messageProcessors/processCheckProfileName.ts @@ -1,9 +1,8 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getLenString, getNBytes } from "../utils/pureGet.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processCreateProfile.d.ts b/packages/nps/messageProcessors/processCreateProfile.d.ts new file mode 100644 index 000000000..6c6737f62 --- /dev/null +++ b/packages/nps/messageProcessors/processCreateProfile.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processCreateProfile( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts index 960f86856..b9069cc56 100644 --- a/packages/nps/messageProcessors/processCreateProfile.ts +++ b/packages/nps/messageProcessors/processCreateProfile.ts @@ -1,8 +1,8 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processDeleteProfile.d.ts b/packages/nps/messageProcessors/processDeleteProfile.d.ts new file mode 100644 index 000000000..d3cc23272 --- /dev/null +++ b/packages/nps/messageProcessors/processDeleteProfile.d.ts @@ -0,0 +1,17 @@ +import type { SocketCallback } from "./index.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +export declare function loadPrivateKey(path: string): string; +export declare function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string; +export declare function unpackUserLoginMessage(message: GameMessage): { + sessionKey: string; + gameId: string; + contextToken: string; +}; +export declare function processDeleteProfile( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 9632cc2c2..40878db24 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -1,11 +1,11 @@ import fs from "node:fs"; import crypto from "node:crypto"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { SessionKey } from "../messageStructs/SessionKey.js"; import { getLenString } from "../utils/pureGet.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts new file mode 100644 index 000000000..0f8ba6444 --- /dev/null +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processEncryptedGameCommand( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts index e03c9c84d..e66166286 100644 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.ts @@ -2,10 +2,10 @@ import { GameMessage, SerializableData, } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getAsHex } from "../utils/pureGet.js"; import { - EncryptionSession, + type EncryptionSession, getEncryptionSession, getUserSessionByConnectionId, newEncryptionSession, @@ -13,7 +13,7 @@ import { } from "../services/session.js"; import { lobbyCommandMap } from "./lobbyCommands.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processGameLogin.d.ts b/packages/nps/messageProcessors/processGameLogin.d.ts new file mode 100644 index 000000000..583084c49 --- /dev/null +++ b/packages/nps/messageProcessors/processGameLogin.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processGameLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index cac9eaf0f..664ee03af 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -1,12 +1,12 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { getUserSessionByCustomerId, setUserSession, } from "../services/session.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.d.ts b/packages/nps/messageProcessors/processGetFirstBuddy.d.ts new file mode 100644 index 000000000..36a6868b3 --- /dev/null +++ b/packages/nps/messageProcessors/processGetFirstBuddy.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processFirstBuddy( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts index ac305a0e4..7883664b2 100644 --- a/packages/nps/messageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/messageProcessors/processGetFirstBuddy.ts @@ -3,11 +3,11 @@ import { SerializableData, } from "../messageStructs/GameMessage.js"; import { getDWord, getAsHex } from "../utils/pureGet.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processGetProfileInfo.d.ts b/packages/nps/messageProcessors/processGetProfileInfo.d.ts new file mode 100644 index 000000000..9567778ad --- /dev/null +++ b/packages/nps/messageProcessors/processGetProfileInfo.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "../messageProcessors/index.js"; +export declare function processGetProfileInfo( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts index 69e2e24f1..1576c46aa 100644 --- a/packages/nps/messageProcessors/processGetProfileInfo.ts +++ b/packages/nps/messageProcessors/processGetProfileInfo.ts @@ -1,10 +1,10 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import { getDWord, getAsHex } from "../utils/pureGet.js"; -import { SocketCallback } from "../messageProcessors/index.js"; +import type { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processGetProfileMaps.d.ts b/packages/nps/messageProcessors/processGetProfileMaps.d.ts new file mode 100644 index 000000000..b32a85a22 --- /dev/null +++ b/packages/nps/messageProcessors/processGetProfileMaps.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "../messageProcessors/index.js"; +export declare function processGetProfileMaps( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts index 6961ff1c5..e97bb7ae7 100644 --- a/packages/nps/messageProcessors/processGetProfileMaps.ts +++ b/packages/nps/messageProcessors/processGetProfileMaps.ts @@ -1,10 +1,10 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import { getDWord, getAsHex } from "../utils/pureGet.js"; -import { SocketCallback } from "../messageProcessors/index.js"; +import type { SocketCallback } from "../messageProcessors/index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processLobbyLogin.d.ts b/packages/nps/messageProcessors/processLobbyLogin.d.ts new file mode 100644 index 000000000..3c4a26fc7 --- /dev/null +++ b/packages/nps/messageProcessors/processLobbyLogin.d.ts @@ -0,0 +1,7 @@ +import type { SocketCallback } from "./index.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +export declare function processLobbyLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts index fefe99c44..a0f2066bb 100644 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -1,4 +1,4 @@ -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; import { getUserSessionByProfileId, @@ -8,7 +8,7 @@ import { import { GameMessage } from "../messageStructs/GameMessage.js"; import { UserInfo } from "../messageStructs/UserInfo.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processPing.d.ts b/packages/nps/messageProcessors/processPing.d.ts new file mode 100644 index 000000000..6ee91c030 --- /dev/null +++ b/packages/nps/messageProcessors/processPing.d.ts @@ -0,0 +1,7 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function processPing( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts index 6d25ac141..7d35c1b25 100644 --- a/packages/nps/messageProcessors/processPing.ts +++ b/packages/nps/messageProcessors/processPing.ts @@ -1,7 +1,7 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageProcessors/processUserLogin.d.ts b/packages/nps/messageProcessors/processUserLogin.d.ts new file mode 100644 index 000000000..bef4472dc --- /dev/null +++ b/packages/nps/messageProcessors/processUserLogin.d.ts @@ -0,0 +1,18 @@ +import type { ISerializable } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +export declare function loadPrivateKey(path: string): string; +export declare function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string; +export declare function unpackUserLoginMessage(message: ISerializable): { + sessionKey: string; + gameId: string; + contextToken: string; +}; +export declare function processUserLogin( + connectionId: string, + message: GameMessage, + socketCallback: SocketCallback, +): Promise; diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index b55565bd9..c2d19120a 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -1,16 +1,16 @@ -import { ISerializable } from "../types.js"; +import type { ISerializable } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import fs from "node:fs"; import crypto from "node:crypto"; import * as Sentry from "@sentry/node"; import { getToken } from "../services/token.js"; import { createNewUserSession, setUserSession } from "../services/session.js"; -import { SocketCallback } from "./index.js"; +import type { SocketCallback } from "./index.js"; import { SessionKey } from "../messageStructs/SessionKey.js"; import { getAsHex, getLenString } from "../utils/pureGet.js"; import { UserStatus } from "../messageStructs/UserStatus.js"; import { UserAction } from "../messageStructs/UserAction.js"; -import { getServerConfiguration, getServerLogger } from "@rustymotors/shared"; +import { getServerConfiguration, getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageStructs/GameMessage.d.ts b/packages/nps/messageStructs/GameMessage.d.ts new file mode 100644 index 000000000..89b69b6cc --- /dev/null +++ b/packages/nps/messageStructs/GameMessage.d.ts @@ -0,0 +1,45 @@ +/// +import type { ISerializable, IMessageHeader, IMessage } from "../types.js"; +export declare class MessageHeader implements IMessageHeader { + private version; + private id; + private length; + constructor(version: 0 | 257, id: number, length: number); + getDataOffset(): number; + getByteSize(): number; + getVersion(): number; + getId(): number; + getLength(): number; + setVersion(version: 0 | 257): void; + setId(id: number): void; + setLength(length: number): void; + private serializeV0; + private serializeV1; + serialize(): Buffer; + private deserializeV0; + private deserializeV1; + deserialize(data: Buffer): void; +} +export declare class SerializableData implements ISerializable { + private data; + constructor(requestedSize: number); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} +export declare class GameMessage implements IMessage { + header: MessageHeader; + data: ISerializable; + constructor(version: 0 | 257); + getDataAsBuffer(): Buffer; + /** The message length is the length of the message data, not including the id */ + getByteSize(): number; + getData(): ISerializable; + setData(data: ISerializable): void; + serialize(): Buffer; + deserialize(data: Buffer): void; + toString(): string; + static identifyVersion(data: Buffer): 0 | 257; + static fromGameMessage(version: 0 | 257, source: GameMessage): GameMessage; +} diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index f78c4fc16..f8093f296 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable, IMessageHeader, IMessage } from "../types.js"; export class MessageHeader implements IMessageHeader { private version: 0 | 257; diff --git a/packages/nps/messageStructs/GameProfile.d.ts b/packages/nps/messageStructs/GameProfile.d.ts new file mode 100644 index 000000000..8d112153e --- /dev/null +++ b/packages/nps/messageStructs/GameProfile.d.ts @@ -0,0 +1,36 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class GameProfile implements ISerializable { + customerId: number; + profileName: string; + serverId: number; + createStamp: number; + lastLoginStamp: number; + numberGames: number; + profileId: number; + isOnline: boolean; + gamePurchaseStamp: number; + gameSerialNumber: string; + timeOnline: number; + timeInGame: number; + gameBlob: Buffer; + personalBlob: Buffer; + pictureBlob: Buffer; + dnd: boolean; + gameStartStamp: number; + currentKey: string; + profileLevel: number; + shardId: number; + constructor(); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + static new(): GameProfile; + static fromBytes(data: Buffer, size: number): GameProfile; + toBytes(): Buffer; + toString(): string; + toHex(): string; + setData(data: Buffer): void; + getData(): Buffer; + getSize(): number; +} diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index d4842508e..b89b00e97 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable } from "../types.js"; import { putLenBlob, putLenString, putShortBool } from "../utils/purePut.js"; import { getAsHex, diff --git a/packages/nps/messageStructs/MiniRiffList.d.ts b/packages/nps/messageStructs/MiniRiffList.d.ts new file mode 100644 index 000000000..8bc9bfc6f --- /dev/null +++ b/packages/nps/messageStructs/MiniRiffList.d.ts @@ -0,0 +1,25 @@ +/// +import type { ISerializable } from "../types.js"; +import { NPSList } from "./NPSList.js"; +export declare class MiniRiffInfo implements ISerializable { + riffName: string; + riffId: number; + population: number; + constructor(riffName: string, riffId: number, population: number); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} +export declare class MiniRiffList extends NPSList implements ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + private riffs; + getMaxRiffs(): number; + addRiff(riff: MiniRiffInfo): void; + toBytes(): Buffer; + toString(): string; + toHex(): string; + getSize(): number; +} diff --git a/packages/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts index 6630ec381..b485a82b4 100644 --- a/packages/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,8 +1,8 @@ -import { ISerializable } from "../types.js"; +import type { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; import { NPSList } from "./NPSList.js"; -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "../../shared"; const log = getServerLogger(); diff --git a/packages/nps/messageStructs/MiniUserList.d.ts b/packages/nps/messageStructs/MiniUserList.d.ts new file mode 100644 index 000000000..f20ab5d01 --- /dev/null +++ b/packages/nps/messageStructs/MiniUserList.d.ts @@ -0,0 +1,21 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class MiniUserInfo implements ISerializable { + userId: number; + userName: string; + constructor(userId: number, userName: string); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} +export declare class MiniUserList implements ISerializable { + private channelId; + private channelUsers; + constructor(channelId: number); + addChannelUser(user: MiniUserInfo): void; + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} diff --git a/packages/nps/messageStructs/MiniUserList.ts b/packages/nps/messageStructs/MiniUserList.ts index 1b40434a1..0b71077a2 100644 --- a/packages/nps/messageStructs/MiniUserList.ts +++ b/packages/nps/messageStructs/MiniUserList.ts @@ -1,4 +1,4 @@ -import { ISerializable } from "../types.js"; +import type { ISerializable } from "../types.js"; import { putLenString } from "../utils/purePut.js"; export class MiniUserInfo implements ISerializable { diff --git a/packages/nps/messageStructs/NPSList.d.ts b/packages/nps/messageStructs/NPSList.d.ts new file mode 100644 index 000000000..6daf9d1e0 --- /dev/null +++ b/packages/nps/messageStructs/NPSList.d.ts @@ -0,0 +1,14 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class NPSList implements ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + private list; + toBytes(): Buffer; + toString(): string; + toHex(): string; + setData(data: Buffer): void; + getData(): Buffer; + getSize(): number; +} diff --git a/packages/nps/messageStructs/NPSList.ts b/packages/nps/messageStructs/NPSList.ts index 759e9a34b..a7b6bb4f1 100644 --- a/packages/nps/messageStructs/NPSList.ts +++ b/packages/nps/messageStructs/NPSList.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessage } from "../types.js"; +import type { ISerializable, IMessage } from "../types.js"; export class NPSList implements ISerializable { serialize(): Buffer { diff --git a/packages/nps/messageStructs/ProfileList.d.ts b/packages/nps/messageStructs/ProfileList.d.ts new file mode 100644 index 000000000..c0ff01d68 --- /dev/null +++ b/packages/nps/messageStructs/ProfileList.d.ts @@ -0,0 +1,19 @@ +/// +import type { ISerializable } from "../types.js"; +import { GameProfile } from "./GameProfile.js"; +import { NPSList } from "./NPSList.js"; +export declare class ProfileList extends NPSList implements ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + maxProfiles: number; + private profiles; + getMaxProfiles(): number; + addProfile(profile: GameProfile): void; + toBytes(): Buffer; + toString(): string; + toHex(): string; + setData(data: Buffer): void; + getData(): Buffer; + getSize(): number; +} diff --git a/packages/nps/messageStructs/ProfileList.ts b/packages/nps/messageStructs/ProfileList.ts index f2ce88118..25b30f02f 100644 --- a/packages/nps/messageStructs/ProfileList.ts +++ b/packages/nps/messageStructs/ProfileList.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable } from "../types.js"; import { GameProfile } from "./GameProfile.js"; import { NPSList } from "./NPSList.js"; diff --git a/packages/nps/messageStructs/SessionKey.d.ts b/packages/nps/messageStructs/SessionKey.d.ts new file mode 100644 index 000000000..4e9f618b9 --- /dev/null +++ b/packages/nps/messageStructs/SessionKey.d.ts @@ -0,0 +1,19 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class SessionKey implements ISerializable { + private key; + private timestamp; + constructor(key: Buffer, timestamp: number); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + static fromBytes(bytes: Buffer): SessionKey; + static fromKeyString(key: string): SessionKey; + getKey(): string; + toString(): string; + toHex(): string; + toBytes(): Buffer; + getSize(): number; + getData(): Buffer; + setData(data: Buffer): void; +} diff --git a/packages/nps/messageStructs/SessionKey.ts b/packages/nps/messageStructs/SessionKey.ts index c1ad031a4..bb4d2c8ed 100644 --- a/packages/nps/messageStructs/SessionKey.ts +++ b/packages/nps/messageStructs/SessionKey.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable } from "../types.js"; import { getAsHex } from "../utils/pureGet.js"; export class SessionKey implements ISerializable { diff --git a/packages/nps/messageStructs/UserAction.d.ts b/packages/nps/messageStructs/UserAction.d.ts new file mode 100644 index 000000000..40fb0b725 --- /dev/null +++ b/packages/nps/messageStructs/UserAction.d.ts @@ -0,0 +1,17 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class UserAction implements ISerializable { + private name; + private data; + constructor(name: string, bytes?: Buffer); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + setData(data: Buffer): void; + getData(): Buffer; + static fromBytes(name: string, bytes: Buffer): UserAction; + toBytes(): Buffer; + toString(): string; + toHex(): string; + getSize(): number; +} diff --git a/packages/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts index 3931eae7c..e3ef7e1e5 100644 --- a/packages/nps/messageStructs/UserAction.ts +++ b/packages/nps/messageStructs/UserAction.ts @@ -1,4 +1,4 @@ -import { ISerializable } from "../types.js"; +import type { ISerializable } from "../types.js"; import { getAsHex } from "../utils/pureGet.js"; export class UserAction implements ISerializable { diff --git a/packages/nps/messageStructs/UserInfo.d.ts b/packages/nps/messageStructs/UserInfo.d.ts new file mode 100644 index 000000000..77a2380e7 --- /dev/null +++ b/packages/nps/messageStructs/UserInfo.d.ts @@ -0,0 +1,12 @@ +/// +import type { ISerializable } from "../types.js"; +export declare class UserInfo implements ISerializable { + private profileId; + private profileName; + private userData; + constructor(id: number, name: string); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} diff --git a/packages/nps/messageStructs/UserInfo.ts b/packages/nps/messageStructs/UserInfo.ts index 7df00043c..24b891419 100644 --- a/packages/nps/messageStructs/UserInfo.ts +++ b/packages/nps/messageStructs/UserInfo.ts @@ -1,4 +1,4 @@ -import { ISerializable } from "../types.js"; +import type { ISerializable } from "../types.js"; export class UserInfo implements ISerializable { private profileId: number; // 4 bytes diff --git a/packages/nps/messageStructs/UserStatus.d.ts b/packages/nps/messageStructs/UserStatus.d.ts new file mode 100644 index 000000000..1c69cea76 --- /dev/null +++ b/packages/nps/messageStructs/UserStatus.d.ts @@ -0,0 +1,39 @@ +/// +import type { ISerializable } from "../types.js"; +import { SessionKey } from "./SessionKey.js"; +import { UserAction } from "./UserAction.js"; +export declare class UserStatus implements ISerializable { + private customerId; + private personaId; + private isCacheHit; + private ban; + private gag; + private sessionKey; + constructor( + customerId: number, + personaId: number, + isCacheHit: boolean, + ban: UserAction, + gag: UserAction, + sessionKey: SessionKey, + ); + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + static new(): UserStatus; + static fromBytes(bytes: Buffer): UserStatus; + toBytes(): Buffer; + getSize(): number; + getCustomerId(): number; + setCustomerId(customerId: number): void; + getPersonaId(): number; + setPersonaId(personaId: number): void; + getSessionKey(): SessionKey; + setSessionKey(sessionKey: SessionKey): void; + setBan(ban: UserAction): void; + getGag(): UserAction; + setGag(gag: UserAction): void; + toString(): string; + toHex(): string; + setData(data: Buffer): void; +} diff --git a/packages/nps/messageStructs/UserStatus.ts b/packages/nps/messageStructs/UserStatus.ts index 4a417b13f..0d49a784d 100644 --- a/packages/nps/messageStructs/UserStatus.ts +++ b/packages/nps/messageStructs/UserStatus.ts @@ -1,4 +1,4 @@ -import { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable } from "../types.js"; import { SessionKey } from "./SessionKey.js"; import { UserAction } from "./UserAction.js"; diff --git a/packages/nps/services/account.d.ts b/packages/nps/services/account.d.ts new file mode 100644 index 000000000..8f9c9fe2a --- /dev/null +++ b/packages/nps/services/account.d.ts @@ -0,0 +1,18 @@ +export type User = { + username: string; + password: string; + customerId: number; + createdAt: Date; + updatedAt: Date; +}; +export declare function populateGameUsers(): Promise; +export declare function getUser(username: string): Promise; +export declare function addUser(user: User): Promise; +export declare function deleteUser(username: string): Promise; +export declare function getCustomerId( + username: string, +): Promise; +export declare function checkPassword( + user: User, + password: string, +): Promise; diff --git a/packages/nps/services/profile.d.ts b/packages/nps/services/profile.d.ts new file mode 100644 index 000000000..014b2de66 --- /dev/null +++ b/packages/nps/services/profile.d.ts @@ -0,0 +1,14 @@ +import { GameProfile } from "../messageStructs/GameProfile.js"; +export declare const gameProfiles: GameProfile[]; +export declare function populateGameProfiles( + profiles: GameProfile[], +): Promise; +export declare function getGameProfilesForCustomerId( + customerId: number, +): Promise; +export declare function gameProfileExists( + profileName: string, +): Promise; +export declare function addGameProfile(profile: GameProfile): Promise; +export declare function deleteGameProfile(profileId: number): Promise; +export declare function createGameProfile(): Promise; diff --git a/packages/nps/services/session.d.ts b/packages/nps/services/session.d.ts new file mode 100644 index 000000000..aaf8d4975 --- /dev/null +++ b/packages/nps/services/session.d.ts @@ -0,0 +1,70 @@ +/// +import { Cipher, Decipher } from "node:crypto"; +export type ClientVersion = "debug" | "release" | "unknown"; +export type EncryptionSession = { + connectionId: string; + customerId: number; + sessionKey: string; + gameCipher: Cipher; + gameDecipher: Decipher; +}; +export declare const encryptionSessions: Map; +export declare function setEncryptionSession( + encryptionSession: EncryptionSession, +): Promise; +export declare function getEncryptionSession( + connectionId: string, +): Promise; +export declare function deleteEncryptionSession( + connectionId: string, +): Promise; +export declare function newEncryptionSession({ + connectionId, + customerId, + sessionKey, +}: { + connectionId: string; + customerId: number; + sessionKey: string; +}): Promise; +export type UserSession = { + customerId: number; + token: string; + connectionId: string; + port: number; + ipAddress: string; + activeProfileId: number; + nextSequenceNumber: number; + sessionKey: string; + clientVersion: ClientVersion; +}; +export declare const userSessions: Map; +export declare function setUserSession(userSession: UserSession): Promise; +export declare function getUserSession( + token: string, +): Promise; +export declare function deleteUserSession(token: string): Promise; +export declare function getUserSessionByConnectionId( + connectionId: string, +): Promise; +export declare function getUserSessionByProfileId( + profileId: number, +): Promise; +export declare function getUserSessionByCustomerId( + customerId: number, +): Promise; +export declare function getUserSessionByIPAndPort( + ipAddress: string, + port: number, +): Promise; +export declare function createNewUserSession({ + customerId, + token, + connectionId, + port, + ipAddress, + activeProfileId, + nextSequenceNumber, + sessionKey, + clientVersion, +}: UserSession): Promise; diff --git a/packages/nps/services/token.d.ts b/packages/nps/services/token.d.ts new file mode 100644 index 000000000..48f0339c7 --- /dev/null +++ b/packages/nps/services/token.d.ts @@ -0,0 +1,12 @@ +export type TokenRecord = { + customerId: number; + token: string; +}; +export declare const activeTokens: Map; +export declare function generateTokenRecord(customerId: number): TokenRecord; +export declare function generateToken(customerId: number): string; +export declare function isTokenExpired(token: string): boolean; +export declare function getToken(token: string): TokenRecord | undefined; +export declare function deleteToken(token: string): void; +export declare function deleteExpiredTokens(): void; +export declare function getCustomerId(token: string): number | undefined; diff --git a/packages/nps/services/types.d.ts b/packages/nps/services/types.d.ts new file mode 100644 index 000000000..7950fbde2 --- /dev/null +++ b/packages/nps/services/types.d.ts @@ -0,0 +1,17 @@ +export type Part = { + PartID: number; + ParentPartID: number; + BrandedPartID: number; + RepairPrice: number; + JunkPrice: number; + Wear: number; + AttachmentPoint: number; + Damage: number; +}; +export type Vehicle = { + VehicleID: number; + SkinID: number; + Flags: number; + Delta: number; + Damage: number; +}; diff --git a/packages/nps/types.d.ts b/packages/nps/types.d.ts new file mode 100644 index 000000000..f161f3577 --- /dev/null +++ b/packages/nps/types.d.ts @@ -0,0 +1,22 @@ +/// +export interface ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + toString(): string; +} +export interface IMessageHeader extends ISerializable { + getVersion(): number; + getId(): number; + getLength(): number; + getDataOffset(): number; + setVersion(version: number): void; + setId(id: number): void; + setLength(length: number): void; +} +export interface IMessage extends ISerializable { + header: IMessageHeader; + getData(): ISerializable; + getDataAsBuffer(): Buffer; + setData(data: ISerializable): void; +} diff --git a/packages/nps/utils/pureCompare.d.ts b/packages/nps/utils/pureCompare.d.ts new file mode 100644 index 000000000..6cac26f31 --- /dev/null +++ b/packages/nps/utils/pureCompare.d.ts @@ -0,0 +1,6 @@ +export declare function isZero(n: number): boolean; +export declare function lessThan(a: number, b: number): boolean; +export declare function lessThanOrEqual(a: number, b: number): boolean; +export declare function greaterThan(a: number, b: number): boolean; +export declare function greaterThanOrEqual(a: number, b: number): boolean; +export declare function areBothZero(a: number, b: number): boolean; diff --git a/packages/nps/utils/pureGet.d.ts b/packages/nps/utils/pureGet.d.ts new file mode 100644 index 000000000..6462b209a --- /dev/null +++ b/packages/nps/utils/pureGet.d.ts @@ -0,0 +1,28 @@ +/// +export declare function getWord( + bytes: Buffer, + offset: number, + isLE: boolean, +): number; +export declare function getDWord( + bytes: Buffer, + offset: number, + isLE: boolean, +): number; +/** + * Get the first n bytes of a buffer. + * If the buffer is shorter than n bytes, return the whole buffer + */ +export declare function getNBytes(bytes: Buffer, n: number): Buffer; +export declare function getAsHex(bytes: Buffer): string; +export declare function getLenString( + bytes: Buffer, + offset: number, + isLE: boolean, +): string; +export declare function getLenBlob( + bytes: Buffer, + offset: number, + isLE: boolean, +): Buffer; +export declare function getShortBool(bytes: Buffer, offset: number): boolean; diff --git a/packages/nps/utils/purePut.d.ts b/packages/nps/utils/purePut.d.ts new file mode 100644 index 000000000..5d05003ac --- /dev/null +++ b/packages/nps/utils/purePut.d.ts @@ -0,0 +1,55 @@ +/// +export declare function put16( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer; +export declare function put8( + bytes: Buffer, + offset: number, + byte: number, +): Buffer; +export declare function put16BE( + bytes: Buffer, + offset: number, + word: number, +): Buffer; +export declare function put16LE( + bytes: Buffer, + offset: number, + word: number, +): Buffer; +export declare function put32( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer; +export declare function put32BE( + bytes: Buffer, + offset: number, + word: number, +): Buffer; +export declare function put32LE( + bytes: Buffer, + offset: number, + word: number, +): Buffer; +export declare function putLenString( + bytes: Buffer, + offset: number, + str: string, + isLE: boolean, +): Buffer; +export declare function putLenBlob( + bytes: Buffer, + offset: number, + blob: Buffer, + isLE: boolean, +): Buffer; +export declare function putShortBool( + bytes: Buffer, + offset: number, + bool: boolean, +): Buffer; diff --git a/packages/patch/src/PatchServer.d.ts b/packages/patch/src/PatchServer.d.ts new file mode 100644 index 000000000..1fe7d873c --- /dev/null +++ b/packages/patch/src/PatchServer.d.ts @@ -0,0 +1,76 @@ +/// +/// +import { IncomingMessage, ServerResponse } from "node:http"; +import { ServerLogger } from "../../shared"; +import { Buffer } from "node:buffer"; +export declare const CastanetResponse: { + body: Buffer; + header: { + type: string; + value: string; + }; +}; +/** + * The PatchServer class handles HTTP requests from the client for patching and upgrades + * Please use {@link getPatchServer()} to access + * @export + * @class PatchServer + */ +export declare class PatchServer { + /** + * + * + * @static + * @type {PatchServer} + * @memberof PatchServer + */ + static _instance: PatchServer; + /** + * + * + * @private + * @type {ServerLogger} + */ + _log: ServerLogger; + /** + * Creates an instance of PatchServer. + * Please use getInstance() instead + * @param {ServerLogger} log + * @memberof PatchServer + */ + constructor(log: ServerLogger); + /** + * Return the instance of the PatchServer class + * + * @static + * @param {ServerLogger} log + * @return {PatchServer} + * @memberof PatchServer + */ + static getInstance(log: ServerLogger): PatchServer; + /** + * Returns the hard-coded value that tells the client there are no updates or patches + * @param {IncomingMessage} request + * @param {ServerResponse} response + * @returns {ServerResponse} + */ + castanetResponse( + request: IncomingMessage, + response: ServerResponse, + ): ServerResponse; + /** + * Routes incomming HTTP requests + * @param {IncomingMessage} request + * @param {ServerResponse} response + * @returns {ServerResponse} + */ + handleRequest( + request: IncomingMessage, + response: ServerResponse, + ): ServerResponse; +} +/** + * Return the instance of the PatchServer class + * @returns {PatchServer} + */ +export declare function getPatchServer(log: ServerLogger): PatchServer; diff --git a/packages/patch/src/PatchServer.ts b/packages/patch/src/PatchServer.ts index 23e8dea7d..53fafc6e8 100644 --- a/packages/patch/src/PatchServer.ts +++ b/packages/patch/src/PatchServer.ts @@ -1,5 +1,5 @@ import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; +import { ServerLogger, getServerLogger } from "../../shared"; import { Buffer } from "node:buffer"; const debug_reseponse = Buffer.from([ diff --git a/packages/patch/test/PatchServer.test.d.ts b/packages/patch/test/PatchServer.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/patch/test/PatchServer.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/persona/src/BuddyInfoMessage.d.ts b/packages/persona/src/BuddyInfoMessage.d.ts new file mode 100644 index 000000000..376aa9f3b --- /dev/null +++ b/packages/persona/src/BuddyInfoMessage.d.ts @@ -0,0 +1,45 @@ +/// +import { NetworkMessage, RawMessage } from "../../shared"; +/** + * BuddyInfoMessage + * + * This is a response to a NPS_GET_BUDDY_LIST message. + * It is actually two messages, the first is a NPS_BUDDY_LIST_COUNT + * message, which contains the number of buddies in the list and has + * a response code of NPS_BUDDY_LIST_COUNT - 1556 (0x614). + * + * The second message is a NPS_BUDDY_LIST message, which contains the + * buddy list itself. It has a response code of 1544 (0x608). + */ +export declare class BuddyInfoMessage extends RawMessage { + _buddyCount: number; + _buddyList: BuddyList[]; + _longOne: number; + _longTwo: number; + constructor(); + get length(): number; + serialize(): Buffer; + add(buddy: BuddyList): void; +} +export declare class BuddyCount extends NetworkMessage { + _buddyCount: number; + constructor(); + get length(): number; + serialize(): Buffer; + set buddyCount(count: number); +} +export declare class BuddyList extends RawMessage { + buddyName: string; + gameName: string; + isBuddy: boolean; + isOnline: boolean; + dnd: boolean; + dnb: boolean; + noEntry: boolean; + muteWhispers: boolean; + muteChat: boolean; + constructor(); + get length(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts index aa03285ed..ebe067b1b 100644 --- a/packages/persona/src/BuddyInfoMessage.ts +++ b/packages/persona/src/BuddyInfoMessage.ts @@ -1,8 +1,4 @@ -import { - serializeStringRaw, - NetworkMessage, - RawMessage, -} from "@rustymotors/shared"; +import { serializeStringRaw, NetworkMessage, RawMessage } from "../../shared"; /** * BuddyInfoMessage diff --git a/packages/persona/src/PersonaMapsMessage.d.ts b/packages/persona/src/PersonaMapsMessage.d.ts new file mode 100644 index 000000000..997fe03cf --- /dev/null +++ b/packages/persona/src/PersonaMapsMessage.d.ts @@ -0,0 +1,100 @@ +/// +import { NPSHeader, NPSMessage } from "../../shared"; +/** + * + * This is type UserGameData + */ +export declare class PersonaRecord { + customerId: number; + personaName: string; + serverDataId: number; + createDate: number; + lastLogin: number; + numberOfGames: number; + personaId: number; + isOnline: number; + purchaseTimestamp: number; + gameSerialNumber: string; + timeOnline: number; + timeInGame: number; + extraData: Buffer; + personaData: Buffer; + pictureData: Buffer; + dnd: number; + startedPlayingTimestamp: number; + hashedKey: string; + personaLevel: number; + shardId: number; + constructor(); + /** + * + * @param {Buffer} buffer + * @returns {PersonaRecord} + */ + deserialize(buffer: Buffer): PersonaRecord; + /** + * + * @returns {Buffer} + */ + serialize(): Buffer; + static size(): number; + toJSON(): { + customerId: number; + personaId: number; + personaName: string; + shardId: number; + serverDataId: number; + }; + asJSON(): { + customerId: number; + personaId: number; + personaName: string; + shardId: number; + serverDataId: number; + }; + toString(): string; +} +export declare class PersonaList { + _personaRecords: PersonaRecord[]; + constructor(); + /** + * + * @param {Buffer} buffer + * @returns {PersonaList} + */ + deserialize(buffer: Buffer): PersonaList; + /** + * + * @returns {Buffer} + */ + serialize(): Buffer; + /** + * @param {PersonaRecord} personaRecord + */ + addPersonaRecord(personaRecord: PersonaRecord): void; + personaCount(): number; + size(): number; + asJSON(): { + personaRecords: PersonaRecord[]; + }; + toString(): string; +} +export declare class PersonaMapsMessage extends NPSMessage { + _personaRecords: PersonaList | undefined; + raw: Buffer | undefined; + constructor(); + /** + * @param {Buffer} buffer + * @returns {PersonaMapsMessage} + */ + deserialize(buffer: Buffer): PersonaMapsMessage; + /** + * @returns {Buffer} + */ + serialize(): Buffer; + asJSON(): { + header: NPSHeader; + personaRecords: PersonaList | undefined; + }; + toString(): string; +} diff --git a/packages/persona/src/PersonaMapsMessage.ts b/packages/persona/src/PersonaMapsMessage.ts index 04187df61..d0b5d7c46 100644 --- a/packages/persona/src/PersonaMapsMessage.ts +++ b/packages/persona/src/PersonaMapsMessage.ts @@ -1,5 +1,5 @@ import { serializeString } from "../../core/src/serializationHelpers.js"; -import { NPSHeader, NPSMessage } from "@rustymotors/shared"; +import { NPSHeader, NPSMessage } from "../../shared"; /** * diff --git a/packages/persona/src/_gameLogout.d.ts b/packages/persona/src/_gameLogout.d.ts new file mode 100644 index 000000000..06f4a8f46 --- /dev/null +++ b/packages/persona/src/_gameLogout.d.ts @@ -0,0 +1,22 @@ +import { LegacyMessage, SerializedBuffer } from "../../shared"; +/** + * Handle game logout + * @param {object} args + * @param {string} args.connectionId + * @param {LegacyMessage} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + */ +export declare function _gameLogout({ + connectionId, + message, +}: { + connectionId: string; + message: LegacyMessage; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts index db67b3e9e..faa652503 100644 --- a/packages/persona/src/_gameLogout.ts +++ b/packages/persona/src/_gameLogout.ts @@ -1,8 +1,4 @@ -import { - getServerLogger, - LegacyMessage, - SerializedBuffer, -} from "@rustymotors/shared"; +import { getServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; const log = getServerLogger(); diff --git a/packages/persona/src/_getFirstBuddy.d.ts b/packages/persona/src/_getFirstBuddy.d.ts new file mode 100644 index 000000000..8e847ad83 --- /dev/null +++ b/packages/persona/src/_getFirstBuddy.d.ts @@ -0,0 +1,25 @@ +import { LegacyMessage, SerializedBuffer } from "../../shared"; +export declare function _getFirstBuddy({ + connectionId, + message, +}: { + connectionId: string; + message: LegacyMessage; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; +interface BuddyInfoRecord { + buddyId: number; + buddyName: string; + gameName: string; + isBuddy: boolean; + isOnline: boolean; + dnd: boolean; + dnb: boolean; + noEntry: boolean; + muteWhispers: boolean; + muteChat: boolean; +} +export declare const buddies: BuddyInfoRecord[]; +export {}; diff --git a/packages/persona/src/_getFirstBuddy.ts b/packages/persona/src/_getFirstBuddy.ts index 8fc6103de..6ee90ce8c 100644 --- a/packages/persona/src/_getFirstBuddy.ts +++ b/packages/persona/src/_getFirstBuddy.ts @@ -3,7 +3,7 @@ import { LegacyMessage, NPSMessage, SerializedBuffer, -} from "@rustymotors/shared"; +} from "../../shared"; import { BuddyCount, BuddyInfoMessage, BuddyList } from "./BuddyInfoMessage.js"; const log = getServerLogger(); diff --git a/packages/persona/src/_selectGamePersona.d.ts b/packages/persona/src/_selectGamePersona.d.ts new file mode 100644 index 000000000..1655186dd --- /dev/null +++ b/packages/persona/src/_selectGamePersona.d.ts @@ -0,0 +1,25 @@ +import { ServerLogger } from "../../shared"; +import { LegacyMessage, SerializedBuffer } from "../../shared"; +/** + * Selects a game persona and marks it as in use + * @param {object} args + * @param {string} args.connectionId + * @param {LegacyMessage} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + */ +export declare function _selectGamePersona({ + connectionId, + message, + log, +}: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/persona/src/_selectGamePersona.ts b/packages/persona/src/_selectGamePersona.ts index 7650ad141..644dcc543 100644 --- a/packages/persona/src/_selectGamePersona.ts +++ b/packages/persona/src/_selectGamePersona.ts @@ -1,5 +1,5 @@ -import { ServerLogger, getServerLogger } from "@rustymotors/shared"; -import { LegacyMessage, SerializedBuffer } from "@rustymotors/shared"; +import { ServerLogger, getServerLogger } from "../../shared"; +import { LegacyMessage, SerializedBuffer } from "../../shared"; /** * Selects a game persona and marks it as in use diff --git a/packages/persona/src/getPersonasByPersonaId.d.ts b/packages/persona/src/getPersonasByPersonaId.d.ts new file mode 100644 index 000000000..7b6f8d905 --- /dev/null +++ b/packages/persona/src/getPersonasByPersonaId.d.ts @@ -0,0 +1,13 @@ +import type { PersonaRecord } from "../../interfaces/index.js"; +/** + * + * @param {number} id + * @return {Promise} + */ +export declare function getPersonasByPersonaId({ + personas, + id, +}: { + personas?: PersonaRecord[]; + id: number; +}): Promise; diff --git a/packages/persona/src/getPersonasByPersonaId.ts b/packages/persona/src/getPersonasByPersonaId.ts index af774594a..37193c1e7 100644 --- a/packages/persona/src/getPersonasByPersonaId.ts +++ b/packages/persona/src/getPersonasByPersonaId.ts @@ -1,4 +1,4 @@ -import { PersonaRecord } from "../../interfaces/index.js"; +import type { PersonaRecord } from "../../interfaces/index.js"; import { personaRecords } from "./internal.js"; /** diff --git a/packages/persona/src/handlers/validatePersonaName.d.ts b/packages/persona/src/handlers/validatePersonaName.d.ts new file mode 100644 index 000000000..754e377bf --- /dev/null +++ b/packages/persona/src/handlers/validatePersonaName.d.ts @@ -0,0 +1,16 @@ +import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; +/** + * Check if a new persona name is valid + */ +export declare function validatePersonaName({ + connectionId, + message, + log, +}: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/persona/src/handlers/validatePersonaName.ts b/packages/persona/src/handlers/validatePersonaName.ts index 35d8e6833..d07b20131 100644 --- a/packages/persona/src/handlers/validatePersonaName.ts +++ b/packages/persona/src/handlers/validatePersonaName.ts @@ -3,7 +3,7 @@ import { LegacyMessage, SerializedBuffer, RawMessage, -} from "@rustymotors/shared"; +} from "../../../shared"; /** * Check if a new persona name is valid diff --git a/packages/persona/src/internal.d.ts b/packages/persona/src/internal.d.ts new file mode 100644 index 000000000..95a2e7f57 --- /dev/null +++ b/packages/persona/src/internal.d.ts @@ -0,0 +1,64 @@ +/// +import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; +/** + * Array of supported message handlers + * + * @type {{ + * opCode: number, + * name: string, + * handler: (args: { + * connectionId: string, + * message: LegacyMessage, + * log: ServerLogger, + * }) => Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>}[]} + */ +export declare const messageHandlers: { + opCode: number; + name: string; + handler: (args: { + connectionId: string; + message: LegacyMessage; + log: ServerLogger; + }) => Promise<{ + connectionId: string; + messages: SerializedBuffer[]; + }>; +}[]; +/** + * Return string as buffer + */ +export declare function generateNameBuffer(name: string, size: number): Buffer; +/** + * All personas + * NOTE: Currently we only support one persona per customer + * @type {import("../../interfaces/index.js").PersonaRecord[]} + */ +export declare const personaRecords: import("../../interfaces/index.js").PersonaRecord[]; +/** + * + * + * @param {object} args + * @param {string} args.connectionId + * @param {SerializedBuffer} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[], + * }>} + * @throws {Error} Unknown code was received + */ +export declare function receivePersonaData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; diff --git a/packages/persona/src/internal.ts b/packages/persona/src/internal.ts index 32aa6a2e5..20a6cac86 100644 --- a/packages/persona/src/internal.ts +++ b/packages/persona/src/internal.ts @@ -14,11 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { - ServerLogger, - LegacyMessage, - SerializedBuffer, -} from "@rustymotors/shared"; +import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; import { PersonaList, diff --git a/packages/persona/test/getPersonasByPersonaId.test.d.ts b/packages/persona/test/getPersonasByPersonaId.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/persona/test/getPersonasByPersonaId.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/persona/test/getPersonasByPersonaId.test.ts b/packages/persona/test/getPersonasByPersonaId.test.ts index fe2841eb3..f8b64904c 100644 --- a/packages/persona/test/getPersonasByPersonaId.test.ts +++ b/packages/persona/test/getPersonasByPersonaId.test.ts @@ -1,4 +1,4 @@ -import { PersonaRecord } from "../../interfaces/index.js"; +import type { PersonaRecord } from "../../interfaces/index.js"; import { getPersonasByPersonaId } from "../src/getPersonasByPersonaId.js"; import { describe, it, expect } from "vitest"; @@ -23,6 +23,9 @@ describe("getPersonasByPersonaId", () => { // assert expect(result).toBeInstanceOf(Array); + if (result[0] === undefined) { + throw new Error("Expected result[0] to be defined"); + } expect(result[0].id.readInt32BE(0)).toBe(id); }); }); diff --git a/packages/shard/src/ShardServer.d.ts b/packages/shard/src/ShardServer.d.ts new file mode 100644 index 000000000..b36eb1315 --- /dev/null +++ b/packages/shard/src/ShardServer.d.ts @@ -0,0 +1,6 @@ +/** + * Generate a shard list web document + * + * @param {string} shardHost + */ +export declare function generateShardList(shardHost: string): string; diff --git a/packages/shard/src/ShardServer.ts b/packages/shard/src/ShardServer.ts index 57d8c23a0..2edc8fa24 100644 --- a/packages/shard/src/ShardServer.ts +++ b/packages/shard/src/ShardServer.ts @@ -49,7 +49,9 @@ export function generateShardList(shardHost: string) { /** @type {string[]} */ const activeShardList: string[] = []; - activeShardList.push(_possibleShards[0]); + if (typeof _possibleShards[0] !== "undefined") { + activeShardList.push(_possibleShards[0]); + } return activeShardList.join("\n"); } diff --git a/packages/shard/src/index.d.ts b/packages/shard/src/index.d.ts new file mode 100644 index 000000000..dedbc5660 --- /dev/null +++ b/packages/shard/src/index.d.ts @@ -0,0 +1,19 @@ +import { Configuration } from "../../shared"; +/** + * Read the TLS certificate file + * @param {TConfiguration} config + * @return {string} + */ +export declare function handleGetCert(config: Configuration): string; +/** + * Generate Windows registry configuration file for clients + * @param {TConfiguration} config + * @return {string} + */ +export declare function handleGetRegistry(config: Configuration): string; +/** + * Read TLS public key file to string + * @param {TConfiguration} config + * @return {string} + */ +export declare function handleGetKey(config: Configuration): string; diff --git a/packages/shard/src/index.ts b/packages/shard/src/index.ts index 397f9daa8..1c62b4e90 100644 --- a/packages/shard/src/index.ts +++ b/packages/shard/src/index.ts @@ -15,7 +15,7 @@ // along with this program. If not, see . import { readFileSync } from "node:fs"; -import { Configuration } from "@rustymotors/shared"; +import { Configuration } from "../../shared"; // This section of the server can not be encrypted. This is an intentional choice for compatibility // deepcode ignore HttpToHttps: This is intentional. See above note. diff --git a/packages/shard/src/shard-entry.d.ts b/packages/shard/src/shard-entry.d.ts new file mode 100644 index 000000000..d75e60ddc --- /dev/null +++ b/packages/shard/src/shard-entry.d.ts @@ -0,0 +1,58 @@ +export declare class ShardEntry { + name: string; + description: string; + id: number; + loginServerIp: string; + loginServerPort: number; + lobbyServerIp: string; + lobbyServerPort: number; + mcotsServerIp: string; + statusId: number; + statusReason: string; + serverGroupName: string; + population: number; + maxPersonasPerUser: number; + diagnosticServerHost: string; + diagnosticServerPort: number; + /** + * + * @param {string} name + * @param {string} description + * @param {number} id + * @param {string} loginServerIp + * @param {number} loginServerPort + * @param {string} lobbyServerIp + * @param {number} lobbyServerPort + * @param {string} mcotsServerIp + * @param {number} statusId + * @param {string} statusReason + * @param {string} serverGroupName + * @param {number} population + * @param {number} maxPersonasPerUser + * @param {string} diagnosticServerHost + * @param {number} diagnosticServerPort + */ + constructor( + name: string, + description: string, + id: number, + loginServerIp: string, + loginServerPort: number, + lobbyServerIp: string, + lobbyServerPort: number, + mcotsServerIp: string, + statusId: number, + statusReason: string, + serverGroupName: string, + population: number, + maxPersonasPerUser: number, + diagnosticServerHost: string, + diagnosticServerPort: number, + ); + /** + * Return the entry in a formatted string + * + * @return {string} + */ + formatForShardList(): string; +} diff --git a/packages/shard/test/shard-entry.test.d.ts b/packages/shard/test/shard-entry.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/shard/test/shard-entry.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/shared-packets/index.d.ts b/packages/shared-packets/index.d.ts new file mode 100644 index 000000000..e2d19c773 --- /dev/null +++ b/packages/shared-packets/index.d.ts @@ -0,0 +1,2 @@ +export * from "./src/interfaces.js"; +export { GameMessage } from "./src/GameMessage.js"; diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 8af357bac..ae2eb7ad3 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -6,8 +6,8 @@ "type": "module", "exports": { ".": { - "import": "./index.ts", - "require": "./index.ts" + "import": "./index.js", + "require": "./index.js" } }, "scripts": { diff --git a/packages/shared-packets/src/BasePacket.d.ts b/packages/shared-packets/src/BasePacket.d.ts new file mode 100644 index 000000000..243900334 --- /dev/null +++ b/packages/shared-packets/src/BasePacket.d.ts @@ -0,0 +1,18 @@ +/// +import type { ISerializable } from "./interfaces.js"; +export declare class Serializable implements ISerializable { + protected _data: Buffer; + protected _asHex(bytes: Buffer): string; + protected _assertEnoughData(data: Buffer, expected: number): void; + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + asHexString(): string; +} +export declare class BasePacket extends Serializable implements ISerializable { + private header; + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + asHexString(): string; +} diff --git a/packages/shared-packets/src/BasePacket.ts b/packages/shared-packets/src/BasePacket.ts index 4379ac35e..4edefd8f2 100644 --- a/packages/shared-packets/src/BasePacket.ts +++ b/packages/shared-packets/src/BasePacket.ts @@ -1,4 +1,4 @@ -import { ISerializable } from "./interfaces.js"; +import type { ISerializable } from "./interfaces.js"; export class Serializable implements ISerializable { protected _data: Buffer = Buffer.alloc(0); diff --git a/packages/shared-packets/src/GameMessage.d.ts b/packages/shared-packets/src/GameMessage.d.ts new file mode 100644 index 000000000..afb4adb91 --- /dev/null +++ b/packages/shared-packets/src/GameMessage.d.ts @@ -0,0 +1,44 @@ +/// +import { Serializable } from "./BasePacket.js"; +import type { ISerializable, IMessage } from "./interfaces.js"; +/** + * + */ +export declare class GameMessageHeader + extends Serializable + implements ISerializable +{ + private id; + private length; + private version; + constructor(version: 0 | 1); + getDataOffset(): number; + getByteSize(): number; + getVersion(): number; + getId(): number; + getLength(): number; + setVersion(version: 0 | 1): void; + setId(id: number): void; + setLength(length: number): void; + private serializeV0; + private serializeV1; + serialize(): Buffer; + private deserializeV0; + private deserializeV1; + deserialize(data: Buffer): GameMessageHeader; +} +export declare class GameMessage extends Serializable implements IMessage { + header: GameMessageHeader; + data: ISerializable; + constructor(version: 0 | 1); + getDataBuffer(): Buffer; + setDataBuffer(data: Buffer): void; + /** The message length is the length of the message data, not including the id */ + getByteSize(): number; + getData(): ISerializable; + setData(data: ISerializable): void; + serialize(): Buffer; + deserialize(data: Buffer): GameMessage; + toString(): string; + static identifyVersion(data: Buffer): 0 | 257; +} diff --git a/packages/shared-packets/src/GameMessage.ts b/packages/shared-packets/src/GameMessage.ts index 911f8c13e..2e55e0aca 100644 --- a/packages/shared-packets/src/GameMessage.ts +++ b/packages/shared-packets/src/GameMessage.ts @@ -1,5 +1,5 @@ import { Serializable } from "./BasePacket.js"; -import { ISerializable, IMessage } from "./interfaces.js"; +import type { ISerializable, IMessage } from "./interfaces.js"; /** * diff --git a/packages/shared-packets/src/ServerMessage.d.ts b/packages/shared-packets/src/ServerMessage.d.ts new file mode 100644 index 000000000..eedd58a04 --- /dev/null +++ b/packages/shared-packets/src/ServerMessage.d.ts @@ -0,0 +1,47 @@ +/// +import { Serializable } from "./BasePacket.js"; +import type { ISerializable, IMessage } from "./interfaces.js"; +/** + * + */ +export declare class ServerMessageHeader + extends Serializable + implements ISerializable +{ + private length; + private signature; + private sequence; + private flags; + getDataOffset(): number; + getByteSize(): number; + getLength(): number; + serialize(): Buffer; + deserialize(data: Buffer): ServerMessageHeader; + isValidSignature(): boolean; + isPayloadEncrypted(): boolean; + togglePayloadEncryption(): ServerMessageHeader; +} +export declare class ServerMessagePayload + extends Serializable + implements ISerializable +{ + private messageId; + getByteSize(): number; + serialize(): Buffer; + deserialize(data: Buffer): ServerMessagePayload; + getMessageId(): number; + setMessageId(messageId: number): ServerMessagePayload; +} +export declare class ServerMessage extends Serializable implements IMessage { + header: ServerMessageHeader; + data: ServerMessagePayload; + constructor(messageId: number); + getDataBuffer(): Buffer; + setDataBuffer(data: Buffer): ServerMessage; + /** The message length is the length of the message data, not including the id */ + getByteSize(): number; + getData(): ISerializable; + setData(data: ServerMessagePayload): ServerMessage; + serialize(): Buffer; + deserialize(data: Buffer): ServerMessage; +} diff --git a/packages/shared-packets/src/ServerMessage.ts b/packages/shared-packets/src/ServerMessage.ts index 7687e75fa..4f93377f5 100644 --- a/packages/shared-packets/src/ServerMessage.ts +++ b/packages/shared-packets/src/ServerMessage.ts @@ -1,5 +1,5 @@ import { Serializable } from "./BasePacket.js"; -import { ISerializable, IMessage } from "./interfaces.js"; +import type { ISerializable, IMessage } from "./interfaces.js"; /** * diff --git a/packages/shared-packets/src/interfaces.d.ts b/packages/shared-packets/src/interfaces.d.ts new file mode 100644 index 000000000..24f3846b1 --- /dev/null +++ b/packages/shared-packets/src/interfaces.d.ts @@ -0,0 +1,14 @@ +/// +export interface ISerializable { + serialize(): Buffer; + deserialize(data: Buffer): void; + getByteSize(): number; + asHexString(): string; +} +export interface IMessage extends ISerializable { + header: ISerializable; + getData(): ISerializable; + getDataBuffer(): Buffer; + setData(data: ISerializable): void; + setDataBuffer(data: Buffer): void; +} diff --git a/packages/shared/Configuration.d.ts b/packages/shared/Configuration.d.ts new file mode 100644 index 000000000..4e771b431 --- /dev/null +++ b/packages/shared/Configuration.d.ts @@ -0,0 +1,37 @@ +/** + * @module shared/Configuration + * @exports Configuration + */ +type ConfigurationArgs = { + host: string; + certificateFile: string; + privateKeyFile: string; + publicKeyFile: string; +}; +export declare class Configuration { + certificateFile: string; + privateKeyFile: string; + publicKeyFile: string; + host: string; + static instance: Configuration | undefined; + /** + * + * @param {object} args + * @param {string} args.host + * @param {string} args.certificateFile + * @param {string} args.privateKeyFile + * @param {string} args.publicKeyFile + * @param {string} args.logLevel + * @param {ServerLogger} args.logger + */ + constructor(options: ConfigurationArgs); +} +/** + * Get a singleton instance of Configuration + * + * @returns {Configuration} + */ +export declare function getServerConfiguration( + options: Partial, +): Configuration; +export {}; diff --git a/packages/shared/Configuration.ts b/packages/shared/Configuration.ts index 433248c85..92ded40f6 100644 --- a/packages/shared/Configuration.ts +++ b/packages/shared/Configuration.ts @@ -1,5 +1,3 @@ -import { ServerLogger, ServerLoggerLevels, getServerLogger } from "./log.js"; - /** * @module shared/Configuration * @exports Configuration diff --git a/packages/shared/MessageNode.d.ts b/packages/shared/MessageNode.d.ts new file mode 100644 index 000000000..771f5e8c9 --- /dev/null +++ b/packages/shared/MessageNode.d.ts @@ -0,0 +1,31 @@ +/// +import { SerializedBuffer } from "./messageFactory.js"; +export declare class MessageNode { + header: { + length: number; + mcoSig: string; + }; + seq: number; + flags: number; + data: Buffer; + msgNo: number; + constructor(); + /** + * @static + * @param {module:shared/RawMessage} rawMessage + * @return {MessageNode} + */ + static fromRawMessage(rawMessage: SerializedBuffer): MessageNode; + get size(): number; + /** + * + * @param {Buffer} packet + */ + deserialize(packet: Buffer): void; + /** + * + * @return {Buffer} + */ + serialize(): Buffer; + toString(): string; +} diff --git a/packages/shared/ServerMessage.test.d.ts b/packages/shared/ServerMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/shared/ServerMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/shared/State.d.ts b/packages/shared/State.d.ts new file mode 100644 index 000000000..4213abe58 --- /dev/null +++ b/packages/shared/State.d.ts @@ -0,0 +1,433 @@ +/** + * @fileoverview State management for the gateway server. + * @module shared/state + * @exports GatewayServer/State + * + */ +/// +/// +/// +import { Cipher, Decipher } from "crypto"; +import { SerializedBuffer } from "./messageFactory.js"; +import { Socket } from "node:net"; +/** + * @external RawMessage + * @see {@link "packages/shared/messageFactory.js.RawMessage"} + */ +/** + * State management for the gateway server. + * + * This file contains the state management for the gateway server. It is + * responsible for keeping track of the state of the server, including + * connections, encryption, and sessions. + * + * @example + * ```ts + * import { createInitialState, addSocket, removeSocket } from "./state.js"; + * + * const state = createInitialState(); + * + * const wrappedSocket = wrapSocket(socket, connectionId); + * + * + * + */ +/** + * @external crypto + * @see {@link https://nodejs.org/api/crypto.html} + */ +/** + * A pair of encryption ciphers. + */ +export declare class McosEncryptionPair { + _cipher: Cipher; + _decipher: Decipher; + /** + * Create a new encryption pair. + * + * This function creates a new encryption pair. It is used to encrypt and + * decrypt data sent to and from the client. + * + * @param {module:crypto.Cipher} cipher The cipher to use for encryption. + * @param {module:crypto.Decipher} decipher The decipher to use for decryption. + */ + constructor(cipher: Cipher, decipher: Decipher); + /** + * @param {Buffer} data The data to encrypt. + * @returns {Buffer} The encrypted data. + */ + encrypt(data: Buffer): Buffer; + /** + * @param {Buffer} data The data to decrypt. + * @returns {Buffer} The decrypted data. + */ + decrypt(data: Buffer): Buffer; +} +/** + * The encryption settings for a session. + */ +export declare class McosEncryption { + connectionId: string; + _commandEncryptionPair: McosEncryptionPair; + _dataEncryptionPair: McosEncryptionPair; + /** + * Create a new encryption object. + * + * @param {object} args + * @param {string} args.connectionId The connection id of the session that + * this encryption is for. + * @param {McosEncryptionPair} args.commandEncryptionPair The encryption + * pair for + * command packets. + * @param {McosEncryptionPair} args.dataEncryptionPair The encryption pair + * for data packets. + */ + constructor({ + connectionId, + commandEncryptionPair, + dataEncryptionPair, + }: { + connectionId: string; + commandEncryptionPair: McosEncryptionPair; + dataEncryptionPair: McosEncryptionPair; + }); + get commandEncryption(): McosEncryptionPair; + get dataEncryption(): McosEncryptionPair; +} +/** + * A client session. + */ +export declare class McosSession { + connectionId: string; + gameId: number; + /** + * Create a new session. + * + * @param {object} args + * @param {string} args.connectionId A unique identifier for this session. + * @param {number} args.username The username of the user who owns this + * session. + */ + constructor({ + connectionId, + gameId, + }: { + connectionId: string; + gameId: number; + }); +} +/** + * @external net + * @see {@link https://nodejs.org/api/net.html} + */ +/** + * A wrapped socket. + * + * This is a socket that has been wrapped with a connection id. + * @interface + */ +interface WrappedSocket { + socket: Socket; + connectionId: string; +} +/** + * Wrap a socket with a connection id. + * + * @param {module:NetConnectOpts.Socket} socket The socket to wrap. + * @param {string} connectionId The connection id to wrap the socket with. + * @returns {WrappedSocket} The wrapped socket. + */ +export declare function wrapSocket( + socket: Socket, + connectionId: string, +): WrappedSocket; +/** + * @requires module:packages/shared/RawMessage + */ +export interface ServiceResponse { + connectionId: string; + messages: SerializedBuffer[]; +} +export type OnDataHandler = Function; +/** + * @param {OnDataHandlerArgs} args The arguments for the handler. + * @returns {ServiceResponse} The + * response + * to the + * data. + */ +/** + * @param {State} state The state to save. + * @returns {void} + */ +/** + * The state of the gateway server. + * + * This is the state of the gateway server. It is responsible for keeping track + * of the state of the server, including connections, encryption, and sessions. + * @global + * @interface + */ +export interface State { + filePaths: Record; + sockets: Record; + encryptions: Record; + sessions: Record; + queuedConnections: Record; + onDataHandlers: Record; + save: (state?: State) => void; +} +/** + * Create the initial state. + * + * This function creates the initial state for the gateway server. + * You should call save on the returned state to save it to the database. + * + * @param {object} args + * @param {StateSaveFunction} [args.saveFunction=saveStateToDatabase] The + * save + * function + * to use. + * Defaults + * to + * saveStateToDatabase. + * @returns The initial state. + */ +export declare function createInitialState({ + saveFunction, +}: { + saveFunction?: (state: State) => void; +}): State; +/** + * Add a data handler to the state. + * + * This function adds a data handler to the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to add the data handler to. + * @param {number} port The port to add the data handler for. + * @param {OnDataHandler} handler The data + * handler to + * add. + * @returns {State} The state with the data handler added. + */ +export declare function addOnDataHandler( + state: State, + port: number, + handler: OnDataHandler, +): State; +/** + * Get a data handler for a port from the state. + * + * This function gets a data handler for a port from the state. + * + * @param {State} state The state to get the data handler from. + * @param {number} port The port to get the data handler for. + * @returns {OnDataHandler | undefined} The + * data + * handler + * for the + * given port, + * or undefined + * if no data + * handler exists + */ +export declare function getOnDataHandler( + state: State, + port: number, +): OnDataHandler | undefined; +/** + * Add a socket to the state. + * + * This function adds a socket to the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to add the socket to. + * @param {WrappedSocket} socket The socket to add to the state. + * @returns {State} The state with the socket added. + */ +export declare function addSocket(state: State, socket: WrappedSocket): State; +/** + * Get a socket from the state. + * + * This function gets a socket from the state. + * + * @param {State} state The state to get the socket from. + * @param {string} connectionId The connection id of the socket to get. + * @returns {WrappedSocket | undefined} The socket with the given connection id, or undefined if no socket + */ +export declare function getSocket( + state: State, + connectionId: string, +): WrappedSocket | undefined; +/** + * Get all the sockets from the state. + * + * This function gets all the sockets from the state. + * + * @param {State} state The state to get the sockets from. + * @returns {Record} An array of all the sockets in the state. + */ +export declare function getSockets(state: State): Record; +/** + * Remove a socket from the state. + * + * This function removes a socket from the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to remove the socket from. + * @param {string} connectionId The connection id of the socket to remove. + * @returns {State} The state with the socket removed. + */ +export declare function removeSocket(state: State, connectionId: string): State; +/** + * Add a queued connection to the state. + * + * This function adds a queued connection to the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to add the queued connection to. + * @param {WrappedSocket} socket The queued connection to add to the state. + * @returns {State} The state with the queued connection added. + */ +export declare function addQueuedConnection( + state: State, + socket: WrappedSocket, +): State; +/** + * Get queued connections from the state. + * + * This function gets all the queued connections from the state. + * + * @param {State} state The state to get the queued connections from. + * @returns {string[]} An array of all the queued connections in the state. + */ +export declare function getQueuedConnections(state: State): string[]; +/** + * Remove a queued connection from the state. + * + * This function removes a queued connection from the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to remove the queued connection from. + * @param {string} connectionId The connection id of the queued connection to remove. + * @returns {State} The state with the queued connection removed. + */ +export declare function removeQueuedConnection( + state: State, + connectionId: string, +): State; +/** + * Add an encryption to the state. + * + * This function adds an encryption to the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to add the encryption to. + * @param {McosEncryption} encryption The encryption to add to the state. + * @returns {State} - The state with the encryption added. + */ +export declare function addEncryption( + state: State, + encryption: McosEncryption, +): State; +/** + * Get an encryption from the state. + * + * This function gets an encryption from the state. + * + * @param {State} state The state to get the encryption from. + * @param {string} connectionId The connection id of the encryption to get. + * @returns {McosEncryption | undefined} The encryption with the given connection id, or undefined if no encryption + */ +export declare function getEncryption( + state: State, + connectionId: string, +): McosEncryption | undefined; +/** + * Update an encryption in the state. + * + * This function updates an encryption in the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to update the encryption in. + * @param {McosEncryption} encryption The encryption to update in the state. + * @returns {State} The state with the encryption updated. + */ +export declare function updateEncryption( + state: State, + encryption: McosEncryption, +): State; +/** + * Remove an encryption from the state. + * + * This function removes an encryption from the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param state {State} The state to remove the encryption from. + * @param {string} connectionId The connection id of the encryption to remove. + * @returns {State} The state with the encryption removed. + */ +export declare function removeEncryption( + state: State, + connectionId: string, +): State; +/** + * Add a session to the state. + * + * This function adds a session to the state. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to add the session to. + * @param {McosSession} session The session to add to the state. + * @returns {State} The state with the session added. + */ +export declare function addSession(state: State, session: McosSession): State; +/** + * Remove a session from the state. + * + * This function removes a session from the state. It also removes the socket + * and encryption for the session. + * The returned state is a new state object, and the original state is not + * modified. You should then call the save function on the new state to update + * the database. + * + * @param {State} state The state to remove the session from. + * @param {string} connectionId The connection id of the session to remove. + * @returns {State} The state with the session removed. + */ +export declare function removeSession( + state: State, + connectionId: string, +): State; +export declare function findSessionByConnectionId( + state: State, + connectionId: string, +): McosSession | undefined; +/** + * Fetch the state from the database. + * + * This function fetches the state from the database. + * + * @returns {State} The state from the database. + */ +export declare function fetchStateFromDatabase(): State; +export {}; diff --git a/packages/shared/SubThread.d.ts b/packages/shared/SubThread.d.ts new file mode 100644 index 000000000..32c879414 --- /dev/null +++ b/packages/shared/SubThread.d.ts @@ -0,0 +1,16 @@ +/** + * @module SubThread + */ +/// +import { EventEmitter } from "node:events"; +import type { TServerLogger } from "./types.js"; +export declare class SubThread extends EventEmitter { + name: any; + log: any; + loopInterval: number; + timer: any; + constructor(name: string, log: TServerLogger, loopInterval?: number); + init(): void; + run(): void; + shutdown(): void; +} diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index aad687735..711120900 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -3,7 +3,7 @@ */ import { EventEmitter } from "node:events"; -import { TServerLogger } from "./types.js"; +import type { TServerLogger } from "./types.js"; export class SubThread extends EventEmitter { name: any; diff --git a/packages/shared/Timestamp.d.ts b/packages/shared/Timestamp.d.ts new file mode 100644 index 000000000..d5182a58c --- /dev/null +++ b/packages/shared/Timestamp.d.ts @@ -0,0 +1,17 @@ +/// +import { SerializedBuffer } from "./messageFactory.js"; +export declare class Timestamp extends SerializedBuffer { + _year: number; + _month: number; + _day: number; + _hour: number; + _minute: number; + _second: number; + _fraction: number; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; + as64BitNumber(): number; + static now(): Timestamp; +} diff --git a/packages/shared/index.d.ts b/packages/shared/index.d.ts new file mode 100644 index 000000000..69f5dc93c --- /dev/null +++ b/packages/shared/index.d.ts @@ -0,0 +1,39 @@ +export { SubThread } from "./SubThread.js"; +export { NetworkMessage } from "./src/NetworkMessage.js"; +export { ServerLogger, getServerLogger } from "./log.js"; +export { Configuration, getServerConfiguration } from "./Configuration.js"; +export { + McosEncryptionPair, + createInitialState, + addOnDataHandler, + fetchStateFromDatabase, + getOnDataHandler, + addSocket, + removeSocket, + wrapSocket, + McosEncryption, + addEncryption, + getEncryption, + McosSession, + updateEncryption, + findSessionByConnectionId, + addSession, +} from "./State.js"; +export type { OnDataHandler, ServiceResponse, State } from "./State.js"; +export { + SerializedBuffer, + LegacyMessage, + MessageBuffer, + GameMessage, + serializeString, + NPSMessage, + deserializeString, + serializeStringRaw, + NPSHeader, + OldServerMessage, +} from "./messageFactory.js"; +export { RawMessage } from "./src/RawMessage.js"; +export { ServerMessage } from "./src/ServerMessage.js"; +export { MessageNode } from "./MessageNode.js"; +export type { TServerLogger, ServerMessageType } from "./types.js"; +export { Timestamp } from "./Timestamp.js"; diff --git a/packages/shared/log.d.ts b/packages/shared/log.d.ts new file mode 100644 index 000000000..f9a4d8874 --- /dev/null +++ b/packages/shared/log.d.ts @@ -0,0 +1,61 @@ +import * as P from "pino"; +export type ServerLoggerLevels = + | "fatal" + | "error" + | "warn" + | "info" + | "debug" + | "trace" + | "silent"; +type ServerLoggerOptions = { + level: ServerLoggerLevels; + name?: string; +}; +/** + * @static + * @property {ServerLogger} instance + */ +export declare class ServerLogger { + logger: P.Logger; + static instance: ServerLogger; + /** + * Creates an instance of ServerLogger. + * @param {ServerLoggerOptions} options + */ + constructor(options?: ServerLoggerOptions); + /** + * @param {string} message + */ + fatal(message: string): void; + /** + * @param {string} message + */ + error(message: string): void; + /** + * @param {string} message + */ + warn(message: string): void; + /** + * @param {string} message + */ + info(message: string): void; + /** + * @param {string} message + */ + debug(message: string): void; + /** + * @param {string} message + */ + trace(message: string): void; +} +/** + * Get a logger instance + * + * @param {ServerLoggerOptions} options + * @return {ServerLogger} + */ +export declare function getServerLogger( + options?: ServerLoggerOptions, +): ServerLogger; +export declare const log: ServerLogger; +export {}; diff --git a/packages/shared/messageFactory.d.ts b/packages/shared/messageFactory.d.ts new file mode 100644 index 000000000..fb1f31e6e --- /dev/null +++ b/packages/shared/messageFactory.d.ts @@ -0,0 +1,352 @@ +/** + * @module shared/messageFactory + * @description Holds the base classes for the various message types. + * The message types are: + * - LegacyMessage + * - NPSMessage + * - ServerMessage + * - RawMessage + */ +/// +/** + * @module shared/messageFactory + * @description Holds the base classes for the various message types. + * The message types are: + * - LegacyMessage + * - NPSMessage + * - ServerMessage + * - RawMessage + */ +import type { ServerMessageType } from "./types.js"; +/** + * @abstract + * @property {Buffer} data + * @property {number} Size + */ +declare class AbstractSerializable { + internalBuffer: Buffer; + constructor(); + _doSerialize(): void; + /** + * @param {Buffer} _buffer + * @returns {AbstractSerializable} + */ + _doDeserialize(_buffer: Buffer): AbstractSerializable; + get data(): Buffer; + /** + * @param {Buffer} buffer + */ + setBuffer(buffer: Buffer): void; + /** + * @returns {number} + */ + static get Size(): number; +} +/** + * @param {Buffer} buffer + * @returns {string} + */ +export declare function deserializeString(buffer: Buffer): string; +/** + * Serializes a string with length prefix + * @param {string} string + * @param {Buffer} targetBuffer + * @param {number} offset + * @returns {number} + */ +export declare function serializeString( + string: string, + targetBuffer: Buffer, + offset: number, +): number; +/** + * Serializes a raw string without length prefix + * @param {string} string + * @param {Buffer} targetBuffer + * @param {number} offset + * @param {number} length + * @returns {number} + */ +export declare function serializeStringRaw( + string: string, + targetBuffer: Buffer, + offset: number, + length: number, +): number; +declare const legacyHeader_base: typeof AbstractSerializable; +/** + * A legacy header is a 4 byte header with the following fields: + * - 2 bytes - id + * - 2 bytes - length + * + * + */ +declare class legacyHeader extends legacyHeader_base { + _size: number; + id: number; + length: any; + constructor(); + /** + * @param {Buffer} buffer + */ + _doDeserialize(buffer: Buffer): this; + _doSerialize(): Buffer; + toString(): string; + static get Size(): number; +} +/** + * A game message header is a 8 byte header with the following fields: + * - 2 bytes - id + * - 2 bytes - length + * - 2 bytes - gameMessageId + * - 2 bytes - gameMessageLength + */ +export declare class GameMessageHeader extends legacyHeader { + _gameMessageId: number; + _gameMessageLength: number; + constructor(gameMessageId: number); + size(): number; + deserialize(buffer: Buffer): this; + serialize(): Buffer; +} +declare const NPSHeader_base: typeof AbstractSerializable; +/** + * A nps header is a 12 byte header with the following fields: + * - 2 bytes - id + * - 2 bytes - length + * - 2 bytes - version + * - 2 bytes - reserved + * - 4 bytes - checksum + * + * @mixin {SerializableMixin} + */ +export declare class NPSHeader extends NPSHeader_base { + _size: number; + id: number; + length: number; + version: number; + reserved: number; + checksum: number; + constructor(); + /** + * @param {Buffer} buffer + * @returns {NPSHeader} + * @throws {Error} If the buffer is too short + * @throws {Error} If the buffer is malformed + */ + _doDeserialize(buffer: Buffer): NPSHeader; + _doSerialize(): Buffer; + static size(): number; + static get Size(): number; + toString(): string; +} +declare const serverHeader_base: typeof AbstractSerializable; +/** + * A server header is an 11 byte header with the following fields: + * - 2 bytes - length + * - 4 bytes - mcoSig + * - 4 bytes - sequence + * - 1 byte - flags + */ +export declare class serverHeader extends serverHeader_base { + _size: number; + length: any; + mcoSig: string; + sequence: number; + flags: number; + constructor(); + size(): number; + /** + * @param {Buffer} buffer + * @returns {serverHeader} + * @throws {Error} If the buffer is too short + * @throws {Error} If the buffer is malformed + */ + _doDeserialize(buffer: Buffer): serverHeader; + _doSerialize(): Buffer; + toString(): string; +} +declare const LegacyMessage_base: typeof AbstractSerializable; +/** + * A legacy message is an older nps message type. It has a 4 byte header. @see {@link legacyHeader} + * + * @mixin {SerializableMixin} + */ +export declare class LegacyMessage extends LegacyMessage_base { + _header: legacyHeader; + constructor(); + /** + * @param {Buffer} buffer + * @returns {LegacyMessage} + */ + _doDeserialize(buffer: Buffer): LegacyMessage; + deserialize(buffer: Buffer): LegacyMessage; + _doSerialize(): Buffer; + serialize(): Buffer; + /** + * @param {Buffer} buffer + */ + setBuffer(buffer: Buffer): void; + asJSON(): { + header: legacyHeader; + data: string; + }; + toString(): string; +} +declare const NPSMessage_base: typeof AbstractSerializable; +/** + * A NPS message is a message that matches version 1.1 of the nps protocol. It has a 12 byte header. @see {@link NPSHeader} + * + * @mixin {SerializableMixin} + */ +export declare class NPSMessage extends NPSMessage_base { + _header: NPSHeader; + constructor(); + /** + * @param {Buffer} buffer + * @returns {NPSMessage} + */ + _doDeserialize(buffer: Buffer): NPSMessage; + serialize(): Buffer; + size(): number; + toString(): string; +} +declare const SerializedBuffer_base: typeof AbstractSerializable; +/** + * A raw message is a message that is not parsed into a specific type. + * It has no header, and is just a serialized buffer. + * + * @mixin {SerializableMixin} + */ +export declare class SerializedBuffer extends SerializedBuffer_base { + constructor(); + /** + * @param {Buffer} buffer + * @returns {SerializedBuffer} + */ + _doDeserialize(buffer: Buffer): SerializedBuffer; + serialize(): Buffer; + toString(): string; + size(): number; +} +export declare class GameMessage extends SerializedBuffer { + _header: GameMessageHeader; + _recordData: Buffer; + constructor(gameMessageId: number); + setRecordData(buffer: Buffer): void; + /** @deprecated - Use setRecordData instead */ + setBuffer(buffer: Buffer): void; + /** @deprecated - Use deserialize instead */ + _doDeserialize(buffer: Buffer): SerializedBuffer; + deserialize(buffer: Buffer): this; + /** @deprecated - Use serialize instead */ + _doSerialize(): void; + serialize(): Buffer; + toString(): string; +} +/** + * A list message is a message that contains a list of items of a specific type. + * + * @mixin {SerializableMixin} + */ +export declare class ListMessage extends SerializedBuffer { + _msgNo: number; + _listCount: number; + _shouldExpectMoreMessages: boolean; + _list: SerializedBuffer[]; + constructor(); + /** + * @param {SerializedBuffer} item + */ + add(item: SerializedBuffer): void; + serialize(): Buffer; + size(): number; + getFirstItemSize(): number; + toString(): string; +} +export declare class MessageHeader extends SerializedBuffer { + _size: number; + _messageId: number; + _messageLength: number; + constructor(); + get messageId(): number; + get messageLength(): number; + serializeSizeOf(): number; + size(): number; + get id(): number; + get length(): number; + /** + * @param {Buffer} buffer + * @returns {MessageHeader} + */ + deserialize(buffer: Buffer): MessageHeader; + serialize(): Buffer; + /** + * @param {Buffer} buffer + * @returns {MessageHeader} + */ + _doDeserialize(buffer: Buffer): MessageHeader; + _doSerialize(): Buffer; + toString(): string; +} +export declare class MessageBuffer extends SerializedBuffer { + _header: MessageHeader; + _buffer: Buffer; + constructor(); + /** + * @param {number} id - The ID of the message + * @param {Buffer} buffer - The buffer to deserialize + * @returns {MessageBuffer} + */ + static createGameMessage(id: number, buffer: Buffer): MessageBuffer; + get messageId(): number; + get messageLength(): number; + get data(): Buffer; + set data(buffer: Buffer); + /** + * @param {Buffer} buffer + */ + set buffer(buffer: Buffer); + /** @param {Buffer} buffer */ + setBuffer(buffer: Buffer): Buffer; + get buffer(): Buffer; + serializeSizeOf(): number; + /** + * @param {Buffer} buffer + * @returns {MessageBuffer} + */ + deserialize(buffer: Buffer): MessageBuffer; + serialize(): Buffer; + toString(): string; + asJSON(): { + header: MessageHeader; + buffer: string; + }; +} +/** + * A server message is a message that is passed between the server and the client. It has an 11 byte header. @see {@link serverHeader} + * + * @mixin {SerializableMixin} + */ +export declare class OldServerMessage + extends SerializedBuffer + implements ServerMessageType +{ + _header: serverHeader; + _msgNo: number; + constructor(); + size(): number; + /** + * @param {Buffer} buffer + * @returns {OldServerMessage} + */ + _doDeserialize(buffer: Buffer): OldServerMessage; + serialize(): Buffer; + /** + * @param {Buffer} buffer + */ + setBuffer(buffer: Buffer): void; + updateMsgNo(): void; + toString(): string; +} +export {}; diff --git a/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts index 6e631ab60..22fb4ab13 100644 --- a/packages/shared/messageFactory.ts +++ b/packages/shared/messageFactory.ts @@ -8,7 +8,16 @@ * - RawMessage */ -import { ServerMessageType } from "./types.js"; +/** + * @module shared/messageFactory + * @description Holds the base classes for the various message types. + * The message types are: + * - LegacyMessage + * - NPSMessage + * - ServerMessage + * - RawMessage + */ +import type { ServerMessageType } from "./types.js"; /** * @abstract @@ -627,7 +636,7 @@ export class ListMessage extends SerializedBuffer { override serialize() { let neededSize; - if (this._list.length === 0) { + if (typeof this._list[0] === "undefined") { neededSize = 5; } else { neededSize = 5 + this._list.length * this._list[0].size(); @@ -649,7 +658,14 @@ export class ListMessage extends SerializedBuffer { } override size() { - return 5 + this._list.length * this._list[0].size(); + return 5 + this._list.length * this.getFirstItemSize(); + } + + getFirstItemSize() { + if (typeof this._list[0] === "undefined") { + return 0; + } + return this._list[0].size(); } override toString() { diff --git a/packages/shared/package.json b/packages/shared/package.json index 5f12c46a7..49c5a1a0c 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -4,8 +4,8 @@ "description": "", "exports": { ".": { - "import": "./index.ts", - "require": "./index.ts" + "import": "./index.js", + "require": "./index.js" } }, "type": "module", diff --git a/packages/shared/src/BaseSerialized.d.ts b/packages/shared/src/BaseSerialized.d.ts new file mode 100644 index 000000000..a34ce7dfe --- /dev/null +++ b/packages/shared/src/BaseSerialized.d.ts @@ -0,0 +1,24 @@ +/// +export interface Serializable { + data: Buffer; + serialize(): Buffer; + deserialize(buffer: Buffer): Serializable; + length: number; + toString(): string; + asHex(): string; +} +/** + * Base class for all serialized objects + * Just a wrapper around a buffer + */ +export declare class BaseSerialized implements Serializable { + protected _data: Buffer; + constructor(data?: Buffer); + get data(): Buffer; + set data(data: Buffer); + serialize(): Buffer; + deserialize(buffer: Buffer): Serializable; + get length(): number; + toString(): string; + asHex(): string; +} diff --git a/packages/shared/src/NetworkMessage.d.ts b/packages/shared/src/NetworkMessage.d.ts new file mode 100644 index 000000000..c027d29f1 --- /dev/null +++ b/packages/shared/src/NetworkMessage.d.ts @@ -0,0 +1,24 @@ +/// +import { SerializedBuffer } from "./SerializedBuffer.js"; +/** + * A serialized buffer, with the following fields: + * - 2-byte message id + * - 2-byte total length + * - 2-byte version + * - 2-byte reserved + * - 4-byte checksum (which is the size) + * - data + */ +export declare class NetworkMessage extends SerializedBuffer { + private _messageId; + version: number; + reserved: number; + private _checksum; + constructor(messageId: number, data?: Buffer); + serialize(): Buffer; + deserialize(buffer: Buffer): this; + set data(data: Buffer); + get messageId(): number; + get length(): number; + asHex(): string; +} diff --git a/packages/shared/src/RawMessage.d.ts b/packages/shared/src/RawMessage.d.ts new file mode 100644 index 000000000..081b4f67d --- /dev/null +++ b/packages/shared/src/RawMessage.d.ts @@ -0,0 +1,14 @@ +/// +import { SerializedBuffer } from "./SerializedBuffer.js"; +/** + * A serialized buffer, prefixed with a 2-byte message id and a 2-byte total length. + */ +export declare class RawMessage extends SerializedBuffer { + private _messageId; + constructor(messageId: number, data?: Buffer); + serialize(): Buffer; + deserialize(buffer: Buffer): this; + get messageId(): number; + get length(): number; + asHex(): string; +} diff --git a/packages/shared/src/SerializedBuffer.d.ts b/packages/shared/src/SerializedBuffer.d.ts new file mode 100644 index 000000000..b4db92227 --- /dev/null +++ b/packages/shared/src/SerializedBuffer.d.ts @@ -0,0 +1,10 @@ +/// +import { BaseSerialized } from "./BaseSerialized.js"; +/** + * A serialized buffer, prefixed with its 2-byte length. + */ +export declare class SerializedBuffer extends BaseSerialized { + constructor(data?: Buffer); + serialize(): Buffer; + deserialize(buffer: Buffer): this; +} diff --git a/packages/shared/src/ServerMessage.d.ts b/packages/shared/src/ServerMessage.d.ts new file mode 100644 index 000000000..5cea2aaab --- /dev/null +++ b/packages/shared/src/ServerMessage.d.ts @@ -0,0 +1,33 @@ +/// +import { SerializedBuffer } from "./SerializedBuffer.js"; +declare class HeaderShim { + private _realObject; + constructor(realObject: ServerMessage); + get flags(): number; + set flags(value: number); +} +/** + * A serialized buffer, with the following fields: + * - 2-byte total length + * - 4-byte signature (TOMC) + * - 4-byte sequence number + * - 1-byte flags + * - data + */ +export declare class ServerMessage extends SerializedBuffer { + private _signature; + private _sequence; + private _flags; + _header: HeaderShim; + constructor(sequence?: number, flags?: number, data?: Buffer); + serialize(): Buffer; + deserialize(buffer: Buffer): this; + get data(): Buffer; + set data(data: Buffer); + setBuffer(buffer: Buffer): void; + get length(): number; + asHex(): string; + get flags(): number; + set flags(value: number); +} +export {}; diff --git a/packages/shared/structs.d.ts b/packages/shared/structs.d.ts new file mode 100644 index 000000000..801ca136b --- /dev/null +++ b/packages/shared/structs.d.ts @@ -0,0 +1,74 @@ +/// +export interface Serialized { + serialize(): Buffer; + deserialize(buf: Buffer): void; + sizeOf(): number; +} +export declare class Header implements Serialized { + messageCode: number; + messageLength: number; + messageVersion: number; + readonly reserved = 0; + messageChecksum: number; + sizeOf(): number; + clear(): void; + serialize(): Buffer; + deserialize(buf: Buffer): void; +} +export declare class SerializedBase implements Serialized { + protected header: Header | null; + deserialize(_buff: Buffer): Buffer; + serialize(): Buffer; + sizeOf(): number; +} +export declare class UserStatus extends SerializedBase implements Serialized { + v2P320: number; + v2P321: number; + v2P1288: number; + v2P32: number; + v2P656: number; + v2P1292: number; + v2P341: number; + v2P1368: number; + sizeOf(): number; + serialize(): Buffer; + deserialize(_buff: Buffer): Buffer; +} +export declare class GetPersonaMapListRequest + extends SerializedBase + implements Serialized {} +export declare class SerializedList + extends SerializedBase + implements Serialized {} +export declare class Persona extends SerializedBase implements Serialized {} +export declare class SessionKey extends SerializedBase implements Serialized {} +export declare class UserAction extends SerializedBase implements Serialized {} +export declare class LoginRequestReply + extends SerializedBase + implements Serialized +{ + sessionKey: string; + setContext(context: string): void; + _doSerialize(): Buffer; + _serializeSizeOf(): number; +} +export declare class GameLogin extends SerializedBase implements Serialized {} +export declare class GameLoginReply + extends SerializedBase + implements Serialized {} +export declare class GetPersonaInfoRequest + extends SerializedBase + implements Serialized {} +export declare class UserStatusRequest + extends SerializedBase + implements Serialized {} +export declare class AddPersona extends SerializedBase implements Serialized {} +export declare class Login extends LoginRequestReply implements Serialized { + v2P82: boolean; + encryptedSessionKey: string; + readonly GAME_CODE = "2176"; + v2P187: boolean; + serialize(): Buffer; + serializeSizeOf(): number; + deserialize(buf: Buffer): Buffer; +} diff --git a/packages/shared/test/BaseSerialized.test.d.ts b/packages/shared/test/BaseSerialized.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/shared/test/BaseSerialized.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/shared/test/RawMessage.test.d.ts b/packages/shared/test/RawMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/shared/test/RawMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/shared/test/SerializedBuffer.test.d.ts b/packages/shared/test/SerializedBuffer.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/shared/test/SerializedBuffer.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/shared/types.d.ts b/packages/shared/types.d.ts new file mode 100644 index 000000000..2e4677e98 --- /dev/null +++ b/packages/shared/types.d.ts @@ -0,0 +1,21 @@ +/// +import { serverHeader } from "./messageFactory.js"; +export interface ServerMessageType { + _header: serverHeader; + _msgNo: number; + size(): number; + _doDeserialize(buffer: Buffer): ServerMessageType; + serialize(): Buffer; + setBuffer(buffer: Buffer): void; + updateMsgNo(): void; + toString(): string; + data: Buffer; +} +export type TServerLogger = { + info: (message: string) => void; + error: (message: string) => void; + fatal: (message: string) => void; + warn: (message: string) => void; + debug: (message: string) => void; + trace: (message: string) => void; +}; diff --git a/packages/transactions/src/ArcadeCarMessage.d.ts b/packages/transactions/src/ArcadeCarMessage.d.ts new file mode 100644 index 000000000..64ec80afc --- /dev/null +++ b/packages/transactions/src/ArcadeCarMessage.d.ts @@ -0,0 +1,29 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the lobbies + * This is the body of a MessageNode + */ +export declare class ArcadeCarMessage extends SerializedBuffer { + _msgNo: number; + _carCount: number; + _shouldExpectMoreMessages: boolean; + _carList: ArcadeCarInfo[]; + constructor(); + size(): number; + /** + * Add a lobby to the list + * @param {ArcadeCarInfo} lobby + */ + addCar(lobby: ArcadeCarInfo): void; + serialize(): Buffer; + toString(): string; +} +export declare class ArcadeCarInfo extends SerializedBuffer { + _brandedPartId: number; + _lobbyId: number; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/ArcadeCarMessage.ts b/packages/transactions/src/ArcadeCarMessage.ts index 0b389dc4d..94a208fbd 100644 --- a/packages/transactions/src/ArcadeCarMessage.ts +++ b/packages/transactions/src/ArcadeCarMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/EntryFeePurseMessage.d.ts b/packages/transactions/src/EntryFeePurseMessage.d.ts new file mode 100644 index 000000000..0cb0dde81 --- /dev/null +++ b/packages/transactions/src/EntryFeePurseMessage.d.ts @@ -0,0 +1,35 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the entry fees and purses for each entry fee + * This is the body of a MessageNode + */ +export declare class EntryFeePurseMessage extends SerializedBuffer { + _msgNo: number; + _numberOfPurseEntries: number; + _shouldExpectMoreMessages: boolean; + _purseEntries: PurseEntry[]; + constructor(); + size(): number; + /** + * Add a lobby to the list + * @param {PurseEntry} lobby + */ + addEntry(purseEntry: PurseEntry): void; + serialize(): Buffer; + toString(): string; +} +export declare class PurseEntry extends SerializedBuffer { + _entryFee: number; + _purse: number; + constructor(); + size(): number; + /** + * Deserialize the data + * + * @param {Buffer} data + */ + deserialize(data: Buffer): this; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/EntryFeePurseMessage.ts b/packages/transactions/src/EntryFeePurseMessage.ts index 55e5793a6..1240130ad 100644 --- a/packages/transactions/src/EntryFeePurseMessage.ts +++ b/packages/transactions/src/EntryFeePurseMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; /** * A message listing the entry fees and purses for each entry fee diff --git a/packages/transactions/src/GameUrlsMessage.d.ts b/packages/transactions/src/GameUrlsMessage.d.ts new file mode 100644 index 000000000..91d150037 --- /dev/null +++ b/packages/transactions/src/GameUrlsMessage.d.ts @@ -0,0 +1,29 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the lobbies + * This is the body of a MessageNode + */ +export declare class GameUrlsMessage extends SerializedBuffer { + _msgNo: number; + _urlCount: number; + _shouldExpectMoreMessages: boolean; + _urlList: GameUrl[]; + constructor(); + size(): number; + /** + * Add a lobby to the list + * @param {GameUrl} lobby + */ + addURL(lobby: GameUrl): void; + serialize(): Buffer; + toString(): string; +} +export declare class GameUrl extends SerializedBuffer { + _urlId: number; + urlRef: string; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/GameUrlsMessage.ts b/packages/transactions/src/GameUrlsMessage.ts index 2f3dda070..6077fb23a 100644 --- a/packages/transactions/src/GameUrlsMessage.ts +++ b/packages/transactions/src/GameUrlsMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer, serializeString } from "@rustymotors/shared"; +import { SerializedBuffer, serializeString } from "../../shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/GenericReplyMessage.d.ts b/packages/transactions/src/GenericReplyMessage.d.ts new file mode 100644 index 000000000..32200a4f1 --- /dev/null +++ b/packages/transactions/src/GenericReplyMessage.d.ts @@ -0,0 +1,67 @@ +/** + * @class + * @property {number} msgNo + * @property {number} toFrom + * @property {number} appId + * @property {number} msgReply + * @property {Buffer} result + * @property {Buffer} data + * @property {Buffer} data2 + */ +/// +import { SerializedBuffer } from "../../shared"; +export declare class GenericReply extends SerializedBuffer { + msgNo: number; + msgReply: number; + result: number; + data2: Buffer; + rawBuffer: Buffer; + constructor(); + serialize(): Buffer; + asJSON(): { + msgNo: number; + msgReply: number; + result: number; + data: string; + data2: string; + }; + toString(): string; +} +export declare class GenericReplyMessage extends SerializedBuffer { + msgNo: number; + msgReply: number; + result: number; + data1: number; + data2: number; + /** + * One of + * + * * MC_SUCCESS = 101 : Used with GenericReply structure to indicate that the request succeeded + * + * * MC_FAILED = 102 : Used with GenericReply structure to indicate that the request failed + * + * * MC_GENERIC_REPLY : Used with GenericReply structure for messages that return data + */ + constructor(); + setResult(buffer: number): void; + setData1(value: number): void; + setData2(value: number): void; + /** + * + * @param {Buffer} buffer + * @return {GenericReplyMessage} + */ + static deserialize(buffer: Buffer): GenericReplyMessage; + /** + * @override + * @return {Buffer} + */ + serialize(): Buffer; + /** + * DumpPacket + * @return {string} + */ + dumpPacket(): string; + toString(): string; + size(): number; +} diff --git a/packages/transactions/src/GenericReplyMessage.ts b/packages/transactions/src/GenericReplyMessage.ts index 348396cb7..ff5d34b9d 100644 --- a/packages/transactions/src/GenericReplyMessage.ts +++ b/packages/transactions/src/GenericReplyMessage.ts @@ -14,7 +14,7 @@ * @property {Buffer} data2 */ -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; export class GenericReply extends SerializedBuffer { msgNo: number; diff --git a/packages/transactions/src/GenericRequestMessage.d.ts b/packages/transactions/src/GenericRequestMessage.d.ts new file mode 100644 index 000000000..178e22793 --- /dev/null +++ b/packages/transactions/src/GenericRequestMessage.d.ts @@ -0,0 +1,32 @@ +/** + * + * + * @class + * @property {number} msgNo + * @property {Buffer} data + * @property {Buffer} data2 + * @property {string} serviceName + */ +/// +import { MessageNode } from "../../shared"; +export declare class GenericRequestMessage extends MessageNode { + data2: Buffer; + /** + * + */ + constructor(); + /** + * @override + * @param {Buffer} buffer + */ + deserialize(buffer: Buffer): void; + /** + * @override + * @return {Buffer} + */ + serialize(): Buffer; + /** + * @override + */ + toString(): string; +} diff --git a/packages/transactions/src/GenericRequestMessage.ts b/packages/transactions/src/GenericRequestMessage.ts index 0817782ae..f4fb3a9a3 100644 --- a/packages/transactions/src/GenericRequestMessage.ts +++ b/packages/transactions/src/GenericRequestMessage.ts @@ -11,7 +11,7 @@ * @property {string} serviceName */ -import { MessageNode } from "@rustymotors/shared"; +import { MessageNode } from "../../shared"; export class GenericRequestMessage extends MessageNode { data2: Buffer; diff --git a/packages/transactions/src/LobbyMessage.d.ts b/packages/transactions/src/LobbyMessage.d.ts new file mode 100644 index 000000000..93003b0e6 --- /dev/null +++ b/packages/transactions/src/LobbyMessage.d.ts @@ -0,0 +1,128 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the lobbies + * This is the body of a MessageNode + */ +export declare class LobbyMessage extends SerializedBuffer { + _msgNo: number; + _lobbyCount: number; + _shouldExpectMoreMessages: boolean; + _lobbyList: LobbyInfo[]; + constructor(); + size(): number; + /** + * Add a lobby to the list + * @param {LobbyInfo} lobby + */ + addLobby(lobby: LobbyInfo): void; + serialize(): Buffer; + toString(): string; +} +export declare class LobbyInfo extends SerializedBuffer { + _lobbyId: number; + _raceTypeId: number; + _terfId: number; + _lobbyName: string; + _turfName: string; + _clientArt: string; + _elementId: number; + _turfLengthId: number; + _startSlice: number; + _endSlice: number; + _dragStageLeft: number; + _dragStageRight: number; + _dragStagingSlice: number; + _gridSpreadFactor: number; + _linear: number; + _minNumberPlayers: number; + _maxNumberPlayers: number; + _defaultNumberPlayers: number; + _numberOfPlayersEnabled: boolean; + _minLaps: number; + _maxLaps: number; + _defaultNumberOfLaps: number; + _numberOfLapsEnabled: boolean; + _minNumberRounds: number; + _maxNumberRounds: number; + _defaultNumberRounds: number; + _numberOfRoundsEnabled: boolean; + _defaultWeather: number; + _weatherEnabled: boolean; + _defaultNight: number; + _nightEnabled: boolean; + _defaultBackwards: boolean; + _backwardsEnabled: boolean; + _defaultTraffic: boolean; + _trafficEnabled: boolean; + _defaultDriverAI: boolean; + _driverAIEnabled: boolean; + _topDog: string; + _turfOwner: string; + _qualifyingTime: number; + _numberOfClubPlayers: number; + _numberofClubLaps: number; + _numberOfClubRounds: number; + _clubNight: number; + _clubWeather: number; + _clubBackwards: number; + _bestLapTime: number; + _lobbyDifficulty: number; + _timetrialPointsToQualify: number; + _timetrialCashToQualify: number; + _timetrialPointsBonusIncrements: number; + _timetrialCashBonusIncrements: number; + _timetrialTimeIncrements: number; + _timetrial1stPlaceVictoryPoints: number; + _timetrial1stPlaceVictoryCash: number; + _timetrial2ndPlaceVictoryPoints: number; + _timetrial2ndPlaceVictoryCash: number; + _timetrial3rdPlaceVictoryPoints: number; + _timetrial3rdPlaceVictoryCash: number; + _minLevel: number; + _minResetSlice: number; + _maxResetSlice: number; + _newbieFlag: number; + _driverHelmetFlag: number; + _clubMaxNumberPlayers: number; + _clubMinNumberPlayers: number; + _clubNumberPlayersDefault: number; + _minNumberOfClubs: number; + _maxNumberOfClubs: number; + _racePointsFactor: number; + _maxBodyClass: number; + _maxPowerClass: number; + _partsPrizeMax: number; + _partsPrizeWon: number; + _clubLogoId: number; + _teamTrialsWeatherFlag: boolean; + _teamTrialsNightFlag: boolean; + _teamTrialsBackwardsFlag: boolean; + _teamTrialsNumberLaps: number; + _teamTrialsBaseTimeUnderPar: number; + _raceCashFactor: number; + constructor(); + /** + * Deserialize a 2 byte boolean + * + * @param {Buffer} data + * @returns {boolean} + */ + deserializeBool(data: Buffer): boolean; + /** + * Serialize a 2 byte boolean + * + * @param {number} value + * @returns {Buffer} + */ + serializeBool(value: number): Buffer; + size(): number; + /** + * Deserialize the data + * + * @param {Buffer} data + */ + deserialize(data: Buffer): this; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/LobbyMessage.ts b/packages/transactions/src/LobbyMessage.ts index bd1799246..ed4fd8452 100644 --- a/packages/transactions/src/LobbyMessage.ts +++ b/packages/transactions/src/LobbyMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/OwnedVehiclesMessage.d.ts b/packages/transactions/src/OwnedVehiclesMessage.d.ts new file mode 100644 index 000000000..ada81ffca --- /dev/null +++ b/packages/transactions/src/OwnedVehiclesMessage.d.ts @@ -0,0 +1,28 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the player's owned vehicles + * This is the body of a MessageNode + */ +export declare class OwnedVehiclesMessage extends SerializedBuffer { + _msgNo: number; + _numberOfVehicles: number; + _vehicleList: OwnedVehicle[]; + constructor(); + size(): number; + /** + * Add a lobby to the list + * @param {GameUrl} lobby + */ + addVehicle(vehicle: OwnedVehicle): void; + serialize(): Buffer; + toString(): string; +} +export declare class OwnedVehicle extends SerializedBuffer { + _vehicleId: number; + _brandedPartId: number; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/OwnedVehiclesMessage.ts b/packages/transactions/src/OwnedVehiclesMessage.ts index 10367cf79..2436ec3bd 100644 --- a/packages/transactions/src/OwnedVehiclesMessage.ts +++ b/packages/transactions/src/OwnedVehiclesMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; /** * A message listing the player's owned vehicles diff --git a/packages/transactions/src/PartsAssemblyMessage.d.ts b/packages/transactions/src/PartsAssemblyMessage.d.ts new file mode 100644 index 000000000..4fa798732 --- /dev/null +++ b/packages/transactions/src/PartsAssemblyMessage.d.ts @@ -0,0 +1,27 @@ +/// +import { SerializedBuffer } from "../../shared"; +export declare class PartsAssemblyMessage extends SerializedBuffer { + _msgNo: number; + _ownerId: number; + _numberOfParts: number; + _partList: Part[]; + constructor(owerId: number); + size(): number; + serialize(): Buffer; +} +export declare class Part extends SerializedBuffer { + _partId: number; + _parentPartId: number; + _brandedPartId: number; + _repairPrice: number; + _junkPrice: number; + _wear: number; + _attachmentPoint: number; + _damage: number; + _retailPrice: number; + _maxWear: number; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/PartsAssemblyMessage.ts b/packages/transactions/src/PartsAssemblyMessage.ts index b411927f1..3e2a294e3 100644 --- a/packages/transactions/src/PartsAssemblyMessage.ts +++ b/packages/transactions/src/PartsAssemblyMessage.ts @@ -1,4 +1,4 @@ -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; export class PartsAssemblyMessage extends SerializedBuffer { _msgNo: number; diff --git a/packages/transactions/src/PlayerInfoMessage.d.ts b/packages/transactions/src/PlayerInfoMessage.d.ts new file mode 100644 index 000000000..ca284f208 --- /dev/null +++ b/packages/transactions/src/PlayerInfoMessage.d.ts @@ -0,0 +1,50 @@ +/// +import { SerializedBuffer } from "../../shared"; +import { Timestamp } from "../../shared"; +/** + * A message listing the player's owned vehicles + * This is the body of a MessageNode + */ +export declare class PlayerInfoMessage extends SerializedBuffer { + _msgNo: number; + _playerId: number; + _playerName: string; + _driversLicense: string; + _driverClass: number; + _bankBalance: number; + _numberOfVehicles: number; + _isLoggedOn: boolean; + _carsList: string[]; + _licensesPlateCode: number; + _licensesPlateText: string; + _carInfoSetttings: number; + _vehicleId: number; + _numberOfRacesEntered: number; + _numberOfRacesWon: number; + _numberOfRacesCompleted: number; + _totalWinings: number; + _insuranceRisk: number; + _insurancePoints: number; + _challengeRacesEntered: number; + _challengeRacesWon: number; + _challengeRacesCompleted: number; + _numberofCarsWon: number; + _numberOfCarsLost: number; + _points: number; + _currentLevel: number; + _currentRank: number; + _numberOfPointsToNextLevel: number; + _numberOfPointsToNextRank: number; + _maxInventorySlots: number; + _numberOfInventorySlotsUsed: number; + _numberOfInventoryIemsOnAuction: number; + _highestBidInAuction: number; + _currentClub: number; + _dateLeftClub: Timestamp; + _canBeInvitedToClub: boolean; + _playerDescription: string; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/PlayerInfoMessage.ts b/packages/transactions/src/PlayerInfoMessage.ts index da7ec13cb..e6de774d4 100644 --- a/packages/transactions/src/PlayerInfoMessage.ts +++ b/packages/transactions/src/PlayerInfoMessage.ts @@ -14,8 +14,8 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer, serializeStringRaw } from "@rustymotors/shared"; -import { Timestamp } from "@rustymotors/shared"; +import { SerializedBuffer, serializeStringRaw } from "../../shared"; +import { Timestamp } from "../../shared"; /** * A message listing the player's owned vehicles diff --git a/packages/transactions/src/PlayerPhysicalMessage.d.ts b/packages/transactions/src/PlayerPhysicalMessage.d.ts new file mode 100644 index 000000000..c3e4f341f --- /dev/null +++ b/packages/transactions/src/PlayerPhysicalMessage.d.ts @@ -0,0 +1,16 @@ +/// +import { SerializedBuffer } from "../../shared"; +export declare class PlayerPhysicalMessage extends SerializedBuffer { + _msgNo: number; + _playerId: number; + _bodytype: number; + _hairColor: number; + _skinColor: number; + _shirtColor: number; + _pantsColor: number; + constructor(); + size(): number; + serialize(): Buffer; + deserialize(buffer: Buffer): void; + toString(): string; +} diff --git a/packages/transactions/src/PlayerPhysicalMessage.ts b/packages/transactions/src/PlayerPhysicalMessage.ts index 235b6aa71..dedb0634e 100644 --- a/packages/transactions/src/PlayerPhysicalMessage.ts +++ b/packages/transactions/src/PlayerPhysicalMessage.ts @@ -1,4 +1,4 @@ -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; export class PlayerPhysicalMessage extends SerializedBuffer { _msgNo: number; // 2 bytes diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.d.ts b/packages/transactions/src/PlayerRacingHistoryMessage.d.ts new file mode 100644 index 000000000..121f3fab4 --- /dev/null +++ b/packages/transactions/src/PlayerRacingHistoryMessage.d.ts @@ -0,0 +1,30 @@ +/// +import { SerializedBuffer } from "../../shared"; +export declare class PlayerRacingHistoryMessage extends SerializedBuffer { + _msgId: number; + _userId: number; + _numRaces: number; + _expectMore: boolean; + _raceHistoryRecords: RacingHistoryRecordEntry[]; + constructor(); + size(): number; + addRecord(record: RacingHistoryRecordEntry): void; + deserialize(buffer: Buffer): PlayerRacingHistoryMessage; + serialize(): Buffer; + asString(): string; +} +export declare class RacingHistoryRecordEntry extends SerializedBuffer { + raceType: number; + numberOfRacesEntered: number; + numberOfRacesFinished: number; + numberOfRacesWon: number; + numberOfCarsWon: number; + numberOfCarsLost: number; + numberOfChampionshipsWon: number; + cashWon: number; + constructor(); + size(): number; + serialize(): Buffer; + deserialize(buffer: Buffer): RacingHistoryRecordEntry; + asString(): string; +} diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.ts b/packages/transactions/src/PlayerRacingHistoryMessage.ts index 328fb1cc9..158bb92b1 100644 --- a/packages/transactions/src/PlayerRacingHistoryMessage.ts +++ b/packages/transactions/src/PlayerRacingHistoryMessage.ts @@ -1,4 +1,5 @@ -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; +import type { RacingHistoryRecord } from "./_getPlayerRaceHistory"; export class PlayerRacingHistoryMessage extends SerializedBuffer { _msgId: number; // 2 bytes @@ -58,7 +59,13 @@ export class PlayerRacingHistoryMessage extends SerializedBuffer { buffer.writeInt8(this._expectMore ? 1 : 0, offset); offset += 1; for (let i = 0; i < this._numRaces; i++) { - this._raceHistoryRecords[i].serialize().copy(buffer, offset); + if (typeof this._raceHistoryRecords[i] === "undefined") { + break; + } + + (this._raceHistoryRecords[i] as RacingHistoryRecordEntry) + .serialize() + .copy(buffer, offset); offset += 32; } @@ -68,7 +75,11 @@ export class PlayerRacingHistoryMessage extends SerializedBuffer { asString(): string { let result = `PlayerRacingHistoryMessage: MsgId: ${this._msgId}, UserId: ${this._userId}, NumRaces: ${this._numRaces}, ExpectMore: ${this._expectMore}`; for (let i = 0; i < this._numRaces; i++) { - result += `\n${this._raceHistoryRecords[i].asString()}`; + if (typeof this._raceHistoryRecords[i] === "undefined") { + result += "\nNo more records"; + } + + result += `\n${(this._raceHistoryRecords[i] as RacingHistoryRecordEntry).asString()}`; } return result; diff --git a/packages/transactions/src/StockCar.d.ts b/packages/transactions/src/StockCar.d.ts new file mode 100644 index 000000000..7dcf4d564 --- /dev/null +++ b/packages/transactions/src/StockCar.d.ts @@ -0,0 +1,34 @@ +/** + * Container object for Stock cars + */ +/** + * @class + * @property {number} brandedPartId + * @property {number} retailPrice + * @property {0 | 1} bIsDealOfTheDay + */ +/// +export declare class StockCar { + brandedPartId: number; + retailPrice: number; + bIsDealOfTheDay: boolean; + /** + * @param {number} brandedPartId + * @param {number} retailPrice + * @param {boolean} bIsDealOfTheDay + */ + constructor( + brandedPartId: number, + retailPrice: number, + bIsDealOfTheDay: boolean, + ); + /** + * + * @return {Buffer} + */ + serialize(): Buffer; + /** + * @return {string} + */ + toString(): string; +} diff --git a/packages/transactions/src/StockCarInfoMessage.d.ts b/packages/transactions/src/StockCarInfoMessage.d.ts new file mode 100644 index 000000000..f9dfb4b62 --- /dev/null +++ b/packages/transactions/src/StockCarInfoMessage.d.ts @@ -0,0 +1,48 @@ +/** + * Object for providing information on stock cars + */ +/** + * @class + * @property {number} msgNo + * @property {number} starterCash + * @property {number} dealerId + * @property {number} brand + * @property {number} noCars + * @property {number} moreToCome + * @property {StockCar[]} StockCarList + */ +/// +import { MessageNode } from "../../shared"; +type StockCar = import("./StockCar.js").StockCar; +export declare class StockCarInfoMessage extends MessageNode { + starterCash: number; + dealerId: number; + brand: number; + noCars: number; + moreToCome: boolean; + StockCarList: StockCar[]; + /** + * Creates an instance of StockCarInfoMsg. + * @class + * @param {number} starterCash + * @param {number} dealerId + * @param {number} brand + * @memberof StockCarInfoMsg + */ + constructor(starterCash: number, dealerId: number, brand: number); + /** + * + * @param {StockCar} car + */ + addStockCar(car: StockCar): void; + /** + * @override + * @return {Buffer} + */ + serialize(): Buffer; + /** + * @override + */ + toString(): string; +} +export {}; diff --git a/packages/transactions/src/StockCarInfoMessage.ts b/packages/transactions/src/StockCarInfoMessage.ts index 7ced580df..2b222c8d9 100644 --- a/packages/transactions/src/StockCarInfoMessage.ts +++ b/packages/transactions/src/StockCarInfoMessage.ts @@ -20,7 +20,7 @@ * @property {StockCar[]} StockCarList */ -import { MessageNode } from "@rustymotors/shared"; +import { MessageNode } from "../../shared"; type StockCar = import("./StockCar.js").StockCar; diff --git a/packages/transactions/src/TClientConnectMessage.d.ts b/packages/transactions/src/TClientConnectMessage.d.ts new file mode 100644 index 000000000..f0f0ad851 --- /dev/null +++ b/packages/transactions/src/TClientConnectMessage.d.ts @@ -0,0 +1,20 @@ +/// +import { OldServerMessage } from "../../shared"; +export declare class TClientConnectMessage extends OldServerMessage { + _customerId: number; + _personaId: number; + _customerName: string; + _personaName: string; + _mcVersion: string; + constructor(); + size(): number; + /** + * @param {Buffer} buffer + */ + deserialize(buffer: Buffer): void; + serialize(): Buffer; + /** + * @override + */ + toString(): string; +} diff --git a/packages/transactions/src/TClientConnectMessage.ts b/packages/transactions/src/TClientConnectMessage.ts index ee62fcc36..2b6ba4d63 100644 --- a/packages/transactions/src/TClientConnectMessage.ts +++ b/packages/transactions/src/TClientConnectMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; export class TClientConnectMessage extends OldServerMessage { _customerId: number; diff --git a/packages/transactions/src/TLoginMessage.d.ts b/packages/transactions/src/TLoginMessage.d.ts new file mode 100644 index 000000000..91ed54b39 --- /dev/null +++ b/packages/transactions/src/TLoginMessage.d.ts @@ -0,0 +1,50 @@ +/// +import { SerializedBuffer, OldServerMessage } from "../../shared"; +export declare class ListEntry extends SerializedBuffer { + constructor(); +} +export declare class LoginCompleteMessage extends SerializedBuffer { + _msgNo: number; + _serverTime: number; + _firstTime: boolean; + _paycheckWaiting: boolean; + _clubInvitesWaiting: boolean; + tallyInProgress: boolean; + _secondsUntilShutdown: number; + _shardGNP: number; + _shardCarsSold: number; + _shardAverageSalaries: number; + _shardAverageCarsOwned: number; + _shardAverageLevel: number; + constructor(); + serialize(): Buffer; + size(): number; + toString(): string; +} +export declare class TLoginMessage extends OldServerMessage { + _size: number; + _customerId: number; + _personaId: number; + _lotOwnerId: number; + _brandedPartId: number; + _skinId: number; + _personaName: string; + _mcVersion: string; + constructor(); + /** + * @param {Buffer} buffer + */ + deserialize(buffer: Buffer): void; + serialize(): Buffer; + asJSON(): { + msgNo: number; + customerId: number; + personaId: number; + lotOwnerId: number; + brandedPartId: number; + skinId: number; + personaName: string; + mcVersion: string; + }; + toString(): string; +} diff --git a/packages/transactions/src/TLoginMessage.ts b/packages/transactions/src/TLoginMessage.ts index 1dca19316..2044ecba9 100644 --- a/packages/transactions/src/TLoginMessage.ts +++ b/packages/transactions/src/TLoginMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer, OldServerMessage } from "@rustymotors/shared"; +import { SerializedBuffer, OldServerMessage } from "../../shared"; export class ListEntry extends SerializedBuffer { constructor() { diff --git a/packages/transactions/src/TunablesMessage.d.ts b/packages/transactions/src/TunablesMessage.d.ts new file mode 100644 index 000000000..90921cf92 --- /dev/null +++ b/packages/transactions/src/TunablesMessage.d.ts @@ -0,0 +1,39 @@ +/// +import { SerializedBuffer } from "../../shared"; +/** + * A message listing the lobbies + * This is the body of a MessageNode + */ +export declare class TunablesMessage extends SerializedBuffer { + _msgNo: number; + _clubCreationCost: number; + _clubCreationRequiredLevel: number; + _clubOfficerRequiredLevel: number; + _inventorySizePerLevel: number; + _carsPerLevel: number; + _maxEZStreetLevel: number; + _clubSwitchCooldown: number; + _universalRepairCostModifier: number; + _universalScrapValueModifier: number; + _addCost1Day: number; + _addCost2Days: number; + _addCost3Days: number; + _addCost4Days: number; + _addCost5Days: number; + _addCost6Days: number; + _addCost7Days: number; + _tradeinModifier: number; + _simStreetMaxWager: number; + saleryPerLevel: number; + _clubMaxMembers: number; + _clubRegistrationCost: number; + _clubReRegistrationCost: number; + _classifiedAdRate: number; + _classifiedAdMaxDuration: number; + _classifiedAdMaxSize: number; + _classifiedAdMaxCountPerPlayer: number; + constructor(); + size(): number; + serialize(): Buffer; + toString(): string; +} diff --git a/packages/transactions/src/TunablesMessage.ts b/packages/transactions/src/TunablesMessage.ts index a6b8a8bce..67a5ed24c 100644 --- a/packages/transactions/src/TunablesMessage.ts +++ b/packages/transactions/src/TunablesMessage.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../shared"; /** * A message listing the lobbies diff --git a/packages/transactions/src/_getArcadeCarInfo.d.ts b/packages/transactions/src/_getArcadeCarInfo.d.ts new file mode 100644 index 000000000..345ac8e7f --- /dev/null +++ b/packages/transactions/src/_getArcadeCarInfo.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _getArcadeCarInfo({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getArcadeCarInfo.ts b/packages/transactions/src/_getArcadeCarInfo.ts index 90f305dbf..7e3873d72 100644 --- a/packages/transactions/src/_getArcadeCarInfo.ts +++ b/packages/transactions/src/_getArcadeCarInfo.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { ArcadeCarInfo, ArcadeCarMessage } from "./ArcadeCarMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/_getGameUrls.d.ts b/packages/transactions/src/_getGameUrls.d.ts new file mode 100644 index 000000000..f92bc22fd --- /dev/null +++ b/packages/transactions/src/_getGameUrls.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _getGameUrls({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getGameUrls.ts b/packages/transactions/src/_getGameUrls.ts index 937b5c810..c883c6615 100644 --- a/packages/transactions/src/_getGameUrls.ts +++ b/packages/transactions/src/_getGameUrls.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { GameUrl, GameUrlsMessage } from "./GameUrlsMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/_getOwnedParts.d.ts b/packages/transactions/src/_getOwnedParts.d.ts new file mode 100644 index 000000000..d41c5f861 --- /dev/null +++ b/packages/transactions/src/_getOwnedParts.d.ts @@ -0,0 +1,6 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function _getOwnedParts({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getOwnedParts.ts b/packages/transactions/src/_getOwnedParts.ts index 9f6040e4b..d7d6958be 100644 --- a/packages/transactions/src/_getOwnedParts.ts +++ b/packages/transactions/src/_getOwnedParts.ts @@ -1,11 +1,11 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { PartsAssemblyMessage } from "./PartsAssemblyMessage.js"; import { fetchStateFromDatabase, findSessionByConnectionId, -} from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +} from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getOwnedParts({ connectionId, diff --git a/packages/transactions/src/_getOwnedVehicles.d.ts b/packages/transactions/src/_getOwnedVehicles.d.ts new file mode 100644 index 000000000..133288194 --- /dev/null +++ b/packages/transactions/src/_getOwnedVehicles.d.ts @@ -0,0 +1,9 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function getVehiclesForPerson(personId: number): { + personId: number; + vehicleId: number; + brandedPartId: number; +}[]; +export declare function _getOwnedVehicles( + args: MessageHandlerArgs, +): Promise; diff --git a/packages/transactions/src/_getOwnedVehicles.ts b/packages/transactions/src/_getOwnedVehicles.ts index 604a8a685..4fe7326b6 100644 --- a/packages/transactions/src/_getOwnedVehicles.ts +++ b/packages/transactions/src/_getOwnedVehicles.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; const vehicleList = [ { diff --git a/packages/transactions/src/_getPlayerInfo.d.ts b/packages/transactions/src/_getPlayerInfo.d.ts new file mode 100644 index 000000000..2208fb4d8 --- /dev/null +++ b/packages/transactions/src/_getPlayerInfo.d.ts @@ -0,0 +1,4 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function _getPlayerInfo( + args: MessageHandlerArgs, +): Promise; diff --git a/packages/transactions/src/_getPlayerInfo.ts b/packages/transactions/src/_getPlayerInfo.ts index 661381eec..b002b8df9 100644 --- a/packages/transactions/src/_getPlayerInfo.ts +++ b/packages/transactions/src/_getPlayerInfo.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getPlayerInfo( args: MessageHandlerArgs, diff --git a/packages/transactions/src/_getPlayerPhysical.d.ts b/packages/transactions/src/_getPlayerPhysical.d.ts new file mode 100644 index 000000000..5a1c26fc2 --- /dev/null +++ b/packages/transactions/src/_getPlayerPhysical.d.ts @@ -0,0 +1,6 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function _getPlayerPhysical({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getPlayerPhysical.ts b/packages/transactions/src/_getPlayerPhysical.ts index ef661a7a5..50f2757ff 100644 --- a/packages/transactions/src/_getPlayerPhysical.ts +++ b/packages/transactions/src/_getPlayerPhysical.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getPlayerPhysical({ connectionId, diff --git a/packages/transactions/src/_getPlayerRaceHistory.d.ts b/packages/transactions/src/_getPlayerRaceHistory.d.ts new file mode 100644 index 000000000..1707e4386 --- /dev/null +++ b/packages/transactions/src/_getPlayerRaceHistory.d.ts @@ -0,0 +1,26 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare enum RaceType { + RACES_TESTDRIVE = 14, + RACES_SIM_STREET = 16, + RACES_SIM_PRO = 17, + RACES_SIM_DRAG = 18, + RACES_SIM_TIMETRIAL = 19, + RACES_ARC_STUNT = 23, + RACES_ARC_TIMETRIAL = 25, + RACES_TRADEWINDOW = 26, +} +export type RacingHistoryRecord = { + raceType: RaceType; + numberOfRacesEntered: number; + numberOfRacesFinished: number; + numberOfRacesWon: number; + numberOfCarsWon: number; + numberOfCarsLost: number; + numberOfChampionshipsWon: number; + cashWon: number; +}; +export declare function _getPlayerRaceHistory({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getPlayerRaceHistory.ts b/packages/transactions/src/_getPlayerRaceHistory.ts index e0d328020..d57a71245 100644 --- a/packages/transactions/src/_getPlayerRaceHistory.ts +++ b/packages/transactions/src/_getPlayerRaceHistory.ts @@ -1,10 +1,10 @@ -import { ServerMessage } from "@rustymotors/shared"; +import { ServerMessage } from "../../shared"; import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { PlayerRacingHistoryMessage, RacingHistoryRecordEntry, } from "./PlayerRacingHistoryMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export enum RaceType { RACES_TESTDRIVE = 14, diff --git a/packages/transactions/src/_getStockCarInfo.d.ts b/packages/transactions/src/_getStockCarInfo.d.ts new file mode 100644 index 000000000..1bcb2e41b --- /dev/null +++ b/packages/transactions/src/_getStockCarInfo.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _getStockCarInfo({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getStockCarInfo.ts b/packages/transactions/src/_getStockCarInfo.ts index 51cc04d38..d4bb7ef8c 100644 --- a/packages/transactions/src/_getStockCarInfo.ts +++ b/packages/transactions/src/_getStockCarInfo.ts @@ -1,8 +1,8 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; import { StockCarInfoMessage } from "./StockCarInfoMessage.js"; import { StockCar } from "./StockCar.js"; -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/_getTunables.d.ts b/packages/transactions/src/_getTunables.d.ts new file mode 100644 index 000000000..105331c5b --- /dev/null +++ b/packages/transactions/src/_getTunables.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _getTunables({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getTunables.ts b/packages/transactions/src/_getTunables.ts index e03ad8c15..7cf03ba65 100644 --- a/packages/transactions/src/_getTunables.ts +++ b/packages/transactions/src/_getTunables.ts @@ -1,7 +1,7 @@ import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { TunablesMessage } from "./TunablesMessage.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/_logout.d.ts b/packages/transactions/src/_logout.d.ts new file mode 100644 index 000000000..e781ab595 --- /dev/null +++ b/packages/transactions/src/_logout.d.ts @@ -0,0 +1,8 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _logout( + args: MessageHandlerArgs, +): Promise; diff --git a/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts index 8ef8c9ec0..18462bd35 100644 --- a/packages/transactions/src/_logout.ts +++ b/packages/transactions/src/_logout.ts @@ -1,6 +1,6 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/_setOptions.d.ts b/packages/transactions/src/_setOptions.d.ts new file mode 100644 index 000000000..5c910dbaa --- /dev/null +++ b/packages/transactions/src/_setOptions.d.ts @@ -0,0 +1,4 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function _setOptions( + args: MessageHandlerArgs, +): Promise; diff --git a/packages/transactions/src/_setOptions.ts b/packages/transactions/src/_setOptions.ts index dea3640ea..1b3f90196 100644 --- a/packages/transactions/src/_setOptions.ts +++ b/packages/transactions/src/_setOptions.ts @@ -1,5 +1,5 @@ -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; diff --git a/packages/transactions/src/_updatePlayerPhysical.d.ts b/packages/transactions/src/_updatePlayerPhysical.d.ts new file mode 100644 index 000000000..7a6c9a686 --- /dev/null +++ b/packages/transactions/src/_updatePlayerPhysical.d.ts @@ -0,0 +1,4 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +export declare function _updatePlayerPhysical( + args: MessageHandlerArgs, +): Promise; diff --git a/packages/transactions/src/_updatePlayerPhysical.ts b/packages/transactions/src/_updatePlayerPhysical.ts index c7163bbae..f080e8885 100644 --- a/packages/transactions/src/_updatePlayerPhysical.ts +++ b/packages/transactions/src/_updatePlayerPhysical.ts @@ -1,5 +1,5 @@ -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { GenericReplyMessage } from "./GenericReplyMessage.js"; import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; diff --git a/packages/transactions/src/clientConnect.d.ts b/packages/transactions/src/clientConnect.d.ts new file mode 100644 index 000000000..4300ed1b6 --- /dev/null +++ b/packages/transactions/src/clientConnect.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function clientConnect({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index 382d12128..1267f4663 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -8,12 +8,12 @@ import { fetchStateFromDatabase, getEncryption, OldServerMessage, -} from "@rustymotors/shared"; +} from "../../shared"; import { createCommandEncryptionPair, createDataEncryptionPair, } from "../../gateway/src/encryption.js"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { getUserSessionByCustomerId } from "../../nps/services/session.js"; /** diff --git a/packages/transactions/src/getLobbies.d.ts b/packages/transactions/src/getLobbies.d.ts new file mode 100644 index 000000000..be96f7a90 --- /dev/null +++ b/packages/transactions/src/getLobbies.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function getLobbies({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/getLobbies.ts b/packages/transactions/src/getLobbies.ts index bb5a3ff53..cd80d1f4e 100644 --- a/packages/transactions/src/getLobbies.ts +++ b/packages/transactions/src/getLobbies.ts @@ -1,6 +1,6 @@ import { LobbyInfo, LobbyMessage } from "./LobbyMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { EntryFeePurseMessage, PurseEntry } from "./EntryFeePurseMessage.js"; /** diff --git a/packages/transactions/src/internal.d.ts b/packages/transactions/src/internal.d.ts new file mode 100644 index 000000000..02c673233 --- /dev/null +++ b/packages/transactions/src/internal.d.ts @@ -0,0 +1,29 @@ +/// +import { ServerLogger, SerializedBuffer } from "../../shared"; +/** + * @param {object} args + * @param {string} args.connectionId + * @param {SerializedBuffer} args.message + * @param {ServerLogger} args.log + * @returns {Promise<{ + * connectionId: string, + * messages: SerializedBuffer[] + * }>} + */ +export declare function receiveTransactionsData({ + connectionId, + message, + log, +}: { + connectionId: string; + message: SerializedBuffer; + log: ServerLogger; +}): Promise<{ + connectionId: string; + messages: SerializedBuffer[]; +}>; +/** + * @param {Buffer} buffer + * @param {Buffer} buffer2 + */ +export declare function verifyLength(buffer: Buffer, buffer2: Buffer): void; diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index e7571d8a3..5afafa63a 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -23,7 +23,7 @@ import { SerializedBuffer, OldServerMessage, ServerMessage, -} from "@rustymotors/shared"; +} from "../../shared"; /** * diff --git a/packages/transactions/src/login.d.ts b/packages/transactions/src/login.d.ts new file mode 100644 index 000000000..043edf2bd --- /dev/null +++ b/packages/transactions/src/login.d.ts @@ -0,0 +1,15 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function login({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; +export declare function loginComplete({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts index d4219a4c6..08b62a1ad 100644 --- a/packages/transactions/src/login.ts +++ b/packages/transactions/src/login.ts @@ -1,12 +1,12 @@ import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; import { buildVehiclePartTree, saveVehicle, saveVehiclePartTree, -} from "@rustymotors/database"; -import { TServerLogger, ServerMessageType } from "@rustymotors/shared"; +} from "../../database"; +import type { TServerLogger, ServerMessageType } from "../../shared"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/messageHandlers.d.ts b/packages/transactions/src/messageHandlers.d.ts new file mode 100644 index 000000000..7414456c0 --- /dev/null +++ b/packages/transactions/src/messageHandlers.d.ts @@ -0,0 +1,2 @@ +import type { MessageHandler } from "../types.js"; +export declare const messageHandlers: Map; diff --git a/packages/transactions/src/messageHandlers.ts b/packages/transactions/src/messageHandlers.ts index 25d97b7b2..1649a3078 100644 --- a/packages/transactions/src/messageHandlers.ts +++ b/packages/transactions/src/messageHandlers.ts @@ -16,7 +16,7 @@ import { _setOptions } from "./_setOptions.js"; import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; import { _updateCachedVehicle } from "./messageHandlers/_updateCachedVehicle.js"; -import { MessageHandler } from "../types.js"; +import type { MessageHandler } from "../types.js"; export const messageHandlers: Map = new Map([ [105, { name: "MC_LOGIN", handler: login, direction: "in" }], diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts new file mode 100644 index 000000000..01a73482f --- /dev/null +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts @@ -0,0 +1,47 @@ +/// +import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; +export declare class VehicleStruct { + VehicleID: number; + SkinID: number; + Flags: number; + Delta: number; + CarClass: number; + Damage: Buffer; + serialize(): Buffer; + size(): number; + toString(): string; +} +export declare class PartStruct { + partId: number; + parentPartId: number | null; + brandedPartId: number; + repairCost: number; + junkyardValue: number; + wear: number; + arttachmentPoint: number; + damage: number; + serialize(): Buffer; + size(): number; + toString(): string; +} +export type DBPart = { + partId: number; + parentPartId: number | null; + brandedPartId: number; + percentDamage: number; + itemWear: number; + attachmentPointId: number; + ownerId: number; + partName: string; + repairCost: number; + scrapValue: number; +}; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _getCompleteVehicleInfo({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index 1a04f9ee1..fcba087e4 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -1,13 +1,13 @@ import { GenericRequestMessage } from "../GenericRequestMessage.js"; -import { OldServerMessage, getServerLogger } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; +import { OldServerMessage, getServerLogger } from "../../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; import { getVehiclePartTree, - TPart, + type TPart, buildVehiclePartTreeFromDB, -} from "@rustymotors/database"; +} from "../../../database"; const log = getServerLogger(); @@ -136,7 +136,16 @@ class CarInfoStruct { } size() { - return 10 + this.vehicle.size() + this.noOfParts * this.parts[0].size(); + return ( + 10 + this.vehicle.size() + this.noOfParts * this.getFirstPartSize() + ); + } + + getFirstPartSize() { + if (typeof this.parts[0] === "undefined") { + return 0; + } + return this.parts[0].size(); } toString() { diff --git a/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts new file mode 100644 index 000000000..5c5bb4272 --- /dev/null +++ b/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function _updateCachedVehicle({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts index dd6315a95..d038cfba6 100644 --- a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts +++ b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts @@ -1,4 +1,4 @@ -import { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/src/messageStructs/CarInfoMessage.d.ts b/packages/transactions/src/messageStructs/CarInfoMessage.d.ts new file mode 100644 index 000000000..1c0802c4e --- /dev/null +++ b/packages/transactions/src/messageStructs/CarInfoMessage.d.ts @@ -0,0 +1,20 @@ +/// +import { SerializedBuffer } from "../../shared"; +import { + PartStruct, + VehicleStruct, +} from "../messageHandlers/_getCompleteVehicleInfo.js"; +export declare class CarInfoMessage extends SerializedBuffer { + msgNo: number; + playerId: number; + private vehicle; + noOfParts: number; + private parts; + constructor(); + size(): number; + getFirstPartSize(): number; + serialize(): Buffer; + toString(): string; + setVehicle(vehicle: VehicleStruct): void; + setParts(parts: PartStruct[]): void; +} diff --git a/packages/transactions/src/messageStructs/CarInfoMessage.ts b/packages/transactions/src/messageStructs/CarInfoMessage.ts index f865d9e9f..1f8384483 100644 --- a/packages/transactions/src/messageStructs/CarInfoMessage.ts +++ b/packages/transactions/src/messageStructs/CarInfoMessage.ts @@ -1,5 +1,4 @@ -import { Vehicle } from "../../../nps/services/types.js"; -import { SerializedBuffer } from "@rustymotors/shared"; +import { SerializedBuffer } from "../../../shared"; import { PartStruct, VehicleStruct, @@ -27,10 +26,17 @@ export class CarInfoMessage extends SerializedBuffer { 4 + this.vehicle.size() + 2 + - this.parts.length * (this.parts[0].size() ?? 0) + this.parts.length * this.getFirstPartSize() ); } + getFirstPartSize() { + if (typeof this.parts[0] === "undefined") { + return 0; + } + return this.parts[0].size(); + } + override serialize(): Buffer { try { const buffer = Buffer.alloc(this.size()); diff --git a/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts new file mode 100644 index 000000000..7965d4490 --- /dev/null +++ b/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts @@ -0,0 +1,25 @@ +/// +import { OldServerMessage } from "../../shared"; +export declare class CarNumberSet { + private cars; + private carMax; + constructor(maxCars: number); + private isUniqueValue; + getCarNumber(car: number): string; + setCarNumber(carNumber: number, car: string): void; + getCarCount(): number; + size(): number; + toBytes(): Buffer; + fromBytes(buffer: Buffer): void; + toString(): string; +} +export declare class PlayerOptionsMessage extends OldServerMessage { + private plateType; + private plateText; + private carInfoSettings; + private carNumbers; + constructor(); + size(): number; + deserialize(buffer: Buffer): void; + toString(): string; +} diff --git a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts index 100b6589d..20a99e53e 100644 --- a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts +++ b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts @@ -1,4 +1,4 @@ -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../../shared"; export class CarNumberSet { private cars: string[] = []; @@ -45,7 +45,7 @@ export class CarNumberSet { const buffer = Buffer.alloc(this.size()); let offset = 0; for (let i = 0; i < this.carMax; i++) { - buffer.write(this.cars[i], offset); + buffer.write(this.cars[i] ?? "", offset); offset = i * 3; } return buffer; diff --git a/packages/transactions/src/models/PartModel.d.ts b/packages/transactions/src/models/PartModel.d.ts new file mode 100644 index 000000000..200b139cf --- /dev/null +++ b/packages/transactions/src/models/PartModel.d.ts @@ -0,0 +1,34 @@ +/// +import type { DBModel } from "./index.js"; +export declare class PartModel implements DBModel { + private partId; + private parentPartId; + private brandedPartId; + private repairCost; + private junkPrice; + private wear; + private attachmentPoint; + private damage; + constructor(); + save(): Promise; + delete(): Promise; + size(): number; + toBytes(): Buffer; + toString(): string; + getPartId(): number; + getParentPartId(): number; + getBrandedPartId(): number; + getRepairCost(): number; + getJunkPrice(): number; + getWear(): number; + getAttachmentPoint(): number; + getDamage(): number; + setPartId(partId: number): void; + setParentPartId(parentPartId: number): void; + setBrandedPartId(brandedPartId: number): void; + setRepairCost(repairCost: number): void; + setJunkPrice(junkPrice: number): void; + setWear(wear: number): void; + setAttachmentPoint(attachmentPoint: number): void; + setDamage(damage: number): void; +} diff --git a/packages/transactions/src/models/PartModel.ts b/packages/transactions/src/models/PartModel.ts index 21d24914f..4cc24a612 100644 --- a/packages/transactions/src/models/PartModel.ts +++ b/packages/transactions/src/models/PartModel.ts @@ -1,4 +1,4 @@ -import { DBModel } from "./index.js"; +import type { DBModel } from "./index.js"; export class PartModel implements DBModel { private partId = 0; // 4 bytes diff --git a/packages/transactions/src/models/VehicleModel.d.ts b/packages/transactions/src/models/VehicleModel.d.ts new file mode 100644 index 000000000..51f9e5194 --- /dev/null +++ b/packages/transactions/src/models/VehicleModel.d.ts @@ -0,0 +1,25 @@ +import type { DBModel } from "./index.js"; +export declare class VehicleModel implements DBModel { + private vehicleId; + private skinId; + private flags; + private delta; + private carClass; + private damageLength; + private damage; + constructor(vehicleId: number); + save(): Promise; + delete(): Promise; + getVehicleId(): number; + getSkinId(): number; + getFlags(): number; + getDelta(): number; + getCarClass(): number; + getDamageLength(): number; + getDamage(): number; + setSkinId(skinId: number): void; + setFlags(flags: number): void; + setDelta(delta: number): void; + setCarClass(carClass: number): void; + setDamageLength(damageLength: number): void; +} diff --git a/packages/transactions/src/models/VehicleModel.ts b/packages/transactions/src/models/VehicleModel.ts index e3479c1d5..6daf4e1bc 100644 --- a/packages/transactions/src/models/VehicleModel.ts +++ b/packages/transactions/src/models/VehicleModel.ts @@ -1,4 +1,4 @@ -import { DBModel } from "./index.js"; +import type { DBModel } from "./index.js"; export class VehicleModel implements DBModel { private vehicleId = 0; // 4 bytes diff --git a/packages/transactions/src/models/index.d.ts b/packages/transactions/src/models/index.d.ts new file mode 100644 index 000000000..aff45c12d --- /dev/null +++ b/packages/transactions/src/models/index.d.ts @@ -0,0 +1,4 @@ +export interface DBModel { + save(): Promise; + delete(): Promise; +} diff --git a/packages/transactions/src/services/car.d.ts b/packages/transactions/src/services/car.d.ts new file mode 100644 index 000000000..03848e43a --- /dev/null +++ b/packages/transactions/src/services/car.d.ts @@ -0,0 +1,6 @@ +import { VehicleModel } from "../models/VehicleModel.js"; +export declare function getVehicle(vehicleId: number): VehicleModel | undefined; +export declare function createVehicle(): VehicleModel; +export declare function deleteVehicle(vehicleId: number): void; +export declare function clearVehicles(): void; +export declare function getVehicleCount(): number; diff --git a/packages/transactions/src/trackingPing.d.ts b/packages/transactions/src/trackingPing.d.ts new file mode 100644 index 000000000..6493a67f4 --- /dev/null +++ b/packages/transactions/src/trackingPing.d.ts @@ -0,0 +1,10 @@ +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +/** + * @param {MessageHandlerArgs} args + * @return {Promise} + */ +export declare function trackingPing({ + connectionId, + packet, + log, +}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/trackingPing.ts b/packages/transactions/src/trackingPing.ts index 523a1f739..4d6248802 100644 --- a/packages/transactions/src/trackingPing.ts +++ b/packages/transactions/src/trackingPing.ts @@ -1,6 +1,6 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "@rustymotors/shared"; -import { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; +import { OldServerMessage } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @param {MessageHandlerArgs} args diff --git a/packages/transactions/test/LobbyMessage.test.d.ts b/packages/transactions/test/LobbyMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/LobbyMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/OwnedVehiclesMessage.test.d.ts b/packages/transactions/test/OwnedVehiclesMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/OwnedVehiclesMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/PartsAssemblyMessage.test.d.ts b/packages/transactions/test/PartsAssemblyMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/PartsAssemblyMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/PlayerInfoMessage.test.d.ts b/packages/transactions/test/PlayerInfoMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/PlayerInfoMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts b/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/TClientConnectMessage.test.d.ts b/packages/transactions/test/TClientConnectMessage.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/TClientConnectMessage.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.d.ts b/packages/transactions/test/_getPlayerRaceHistory.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/_getPlayerRaceHistory.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.ts b/packages/transactions/test/_getPlayerRaceHistory.test.ts index 5cd5abf30..03c24e432 100644 --- a/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ b/packages/transactions/test/_getPlayerRaceHistory.test.ts @@ -1,6 +1,6 @@ import { describe, it, expect } from "vitest"; import { _getPlayerRaceHistory } from "../src/_getPlayerRaceHistory.js"; -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { mockLogger } from "../../../test/factoryMocks.js"; describe("_getPlayerRaceHistory", () => { diff --git a/packages/transactions/test/clientConnect.test.d.ts b/packages/transactions/test/clientConnect.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/clientConnect.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts index a50bca5c2..2407a695c 100644 --- a/packages/transactions/test/clientConnect.test.ts +++ b/packages/transactions/test/clientConnect.test.ts @@ -1,7 +1,7 @@ import { clientConnect } from "../src/clientConnect.js"; import { describe, it, expect } from "vitest"; -import { updateSessionKey } from "@rustymotors/database"; +import { updateSessionKey } from "../../database"; import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; import { mockLogger } from "../../../test/factoryMocks.js"; diff --git a/packages/transactions/test/getLobbies.test.d.ts b/packages/transactions/test/getLobbies.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/getLobbies.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts index b77f25dde..4243da5d3 100644 --- a/packages/transactions/test/getLobbies.test.ts +++ b/packages/transactions/test/getLobbies.test.ts @@ -1,7 +1,8 @@ -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { getLobbies } from "../src/getLobbies.js"; import { describe, expect, it } from "vitest"; import { mockLogger } from "../../../test/factoryMocks.js"; +import { assert } from "console"; describe("getLobbies", () => { it("should return a promise", async () => { @@ -17,6 +18,10 @@ describe("getLobbies", () => { log, }); + if (result.messages[0] === undefined) { + throw new Error("Expected messages to be defined"); + } + const resultMessage = result.messages[0].serialize().toString("hex"); // assert diff --git a/packages/transactions/test/trackingPing.test.d.ts b/packages/transactions/test/trackingPing.test.d.ts new file mode 100644 index 000000000..cb0ff5c3b --- /dev/null +++ b/packages/transactions/test/trackingPing.test.d.ts @@ -0,0 +1 @@ +export {}; diff --git a/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts index 67d053fb2..5053c1429 100644 --- a/packages/transactions/test/trackingPing.test.ts +++ b/packages/transactions/test/trackingPing.test.ts @@ -1,4 +1,4 @@ -import { OldServerMessage } from "@rustymotors/shared"; +import { OldServerMessage } from "../../shared"; import { trackingPing } from "../src/trackingPing.js"; import { describe, test, expect } from "vitest"; import { mockLogger } from "../../../test/factoryMocks.js"; diff --git a/packages/transactions/types.d.ts b/packages/transactions/types.d.ts new file mode 100644 index 000000000..27465a8d2 --- /dev/null +++ b/packages/transactions/types.d.ts @@ -0,0 +1,20 @@ +import type { + OldServerMessage, + ServerMessage, + ServerMessageType, + TServerLogger, +} from "../../shared"; +export interface MessageHandlerArgs { + connectionId: string; + packet: ServerMessageType; + log: TServerLogger; +} +export interface MessageHandlerResult { + connectionId: string; + messages: OldServerMessage[] | ServerMessage[]; +} +export interface MessageHandler { + name: string; + direction: "in" | "out" | "both"; + handler: (args: MessageHandlerArgs) => Promise; +} diff --git a/packages/transactions/types.ts b/packages/transactions/types.ts index 9f4604e23..92f548cdd 100644 --- a/packages/transactions/types.ts +++ b/packages/transactions/types.ts @@ -14,12 +14,27 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . +import type { OldServerMessage, ServerMessage, ServerMessageType, TServerLogger, -} from "@rustymotors/shared"; +} from "../../shared"; export interface MessageHandlerArgs { connectionId: string; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5bdb0527c..c194c13ec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,2879 +1,6322 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:packages/database - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:packages/shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.108.0 - '@sentry/profiling-node': - specifier: ^7.104.0 - version: 7.108.0 - slonik: - specifier: '37' - version: 37.4.0(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - devDependencies: - '@slonik/migrator': - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.4.0) - '@types/node': - specifier: 20.11.30 - version: 20.11.30 - '@vitest/coverage-v8': - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.3 - version: 5.4.3 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30) - - apps/main: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - '@rustymotors/shared': - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.108.0 - slonik: - specifier: ^37.2.0 - version: 37.4.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:../shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.108.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.108.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/database": + specifier: workspace:^ + version: link:packages/database + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:packages/shared-packets + "@sentry/esbuild-plugin": + specifier: ^2.16.0 + version: 2.16.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: "37" + version: 37.3.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + zod: + specifier: ^3.22.4 + version: 3.22.4 + devDependencies: + "@sentry/node": + specifier: ^7.108.0 + version: 7.108.0 + "@sentry/profiling-node": + specifier: ^7.108.0 + version: 7.108.0 + "@slonik/migrator": + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) + "@types/node": + specifier: 20.11.30 + version: 20.11.30 + "@vitest/coverage-v8": + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + esbuild: + specifier: ^0.20.2 + version: 0.20.2 + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.3 + version: 5.4.3 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.30) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + slonik: + specifier: ^37.2.0 + version: 37.3.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:../shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.107.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + + /@babel/code-frame@7.24.2: + resolution: + { + integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/highlight": 7.24.2 + picocolors: 1.0.0 + dev: false + + /@babel/compat-data@7.24.1: + resolution: + { + integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/core@7.24.3: + resolution: + { + integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@ampproject/remapping": 2.3.0 + "@babel/code-frame": 7.24.2 + "@babel/generator": 7.24.1 + "@babel/helper-compilation-targets": 7.23.6 + "@babel/helper-module-transforms": 7.23.3(@babel/core@7.24.3) + "@babel/helpers": 7.24.1 + "@babel/parser": 7.24.1 + "@babel/template": 7.24.0 + "@babel/traverse": 7.24.1 + "@babel/types": 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.24.1: + resolution: + { + integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + jsesc: 2.5.2 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: + { + integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/compat-data": 7.24.1 + "@babel/helper-validator-option": 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: + { + integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: + { + integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.24.0 + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-module-imports@7.24.3: + resolution: + { + integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + dependencies: + "@babel/core": 7.24.3 + "@babel/helper-environment-visitor": 7.22.20 + "@babel/helper-module-imports": 7.24.3 + "@babel/helper-simple-access": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + "@babel/helper-validator-identifier": 7.22.20 + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-string-parser@7.23.4: + resolution: + { + integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-option@7.23.5: + resolution: + { + integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helpers@7.24.1: + resolution: + { + integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.24.0 + "@babel/traverse": 7.24.1 + "@babel/types": 7.24.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.24.2: + resolution: + { + integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + + /@babel/parser@7.24.0: + resolution: + { + integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: true + + /@babel/parser@7.24.1: + resolution: + { + integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/template@7.24.0: + resolution: + { + integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.24.2 + "@babel/parser": 7.24.1 + "@babel/types": 7.24.0 + dev: false + + /@babel/traverse@7.24.1: + resolution: + { + integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.24.2 + "@babel/generator": 7.24.1 + "@babel/helper-environment-visitor": 7.22.20 + "@babel/helper-function-name": 7.23.0 + "@babel/helper-hoist-variables": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + "@babel/parser": 7.24.1 + "@babel/types": 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.23.4 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: + { + integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: + { + integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: + { + integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: + { + integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: + { + integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: + { + integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: + { + integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: + { + integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: + { + integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: + { + integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: + { + integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: + { + integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: + { + integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: + { + integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: + { + integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: + { + integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: + { + integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: + { + integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: + { + integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: + { + integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: + { + integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: + { + integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: + { + integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + + /@jridgewell/trace-mapping@0.3.25: + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: + { + integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: + { + integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: + { + integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: + { + integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: + { + integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: + { + integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: + { + integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: + { + integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: + { + integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: + { + integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: + { + integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: + { + integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: + { + integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.11.30 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.30): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.11.30) + "@types/node": 20.11.30 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): + resolution: + { + integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.11.30) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.107.0: + resolution: + { + integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry-internal/tracing@7.108.0: + resolution: + { + integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.108.0 + "@sentry/types": 7.108.0 + "@sentry/utils": 7.108.0 + dev: true + + /@sentry/babel-plugin-component-annotate@2.16.0: + resolution: + { + integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==, + } + engines: { node: ">= 14" } + dev: false + + /@sentry/bundler-plugin-core@2.16.0: + resolution: + { + integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==, + } + engines: { node: ">= 14" } + dependencies: + "@babel/core": 7.24.3 + "@sentry/babel-plugin-component-annotate": 2.16.0 + "@sentry/cli": 2.30.2 + dotenv: 16.4.5 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.27.0 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/cli-darwin@2.30.2: + resolution: + { + integrity: sha512-lZkKXMt0HUAwLQuPpi/DM3CsdCCp+6B2cdur+8fAq7uARXTOsTKVDxv9pkuJHCgHUnguh8ittP5GMr0baTxmMg==, + } + engines: { node: ">=10" } + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm64@2.30.2: + resolution: + { + integrity: sha512-IWassuXggNhHOPCNrORNmd5SrAx5rU4XDlgOWBJr/ez7DvlPrr9EhV1xsdht6K4mPXhCGJq3rtRdCoWGJQW6Uw==, + } + engines: { node: ">=10" } + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm@2.30.2: + resolution: + { + integrity: sha512-H7hqiLpEL7w/EHdhuUGatwg9O080mdujq4/zS96buKIHXxZE6KqMXGtMVIAvTl1+z6BlBEnfvZGI19MPw3t/7w==, + } + engines: { node: ">=10" } + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-i686@2.30.2: + resolution: + { + integrity: sha512-gZIq131M4TJTG1lX9uvpoaGWaEXCEfdDXrXu/z/YZmAKBcThpMYChodXmm8FB6X4xb0TPXzIFqdzlLdglFK46g==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-x64@2.30.2: + resolution: + { + integrity: sha512-NmTAIl7aW9OHxwB4149sBfvCbTyK9T/CvBX38keaD2yIThet9gZ4koP49hBDxYF99aQX3E+LIAqWwnkV9W72Sw==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-i686@2.30.2: + resolution: + { + integrity: sha512-SBR/Q3T6o+7uHwHNdjcG9GA3R++9w8oi778b95GuOC3dh0WOU6hXaKwQWe95ZcuSd2rKpouH7dhMjqqNM4HxOA==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-x64@2.30.2: + resolution: + { + integrity: sha512-gF9wSZxzXFgakkC+uKVLAAYlbYj13e1gTsNm3gm+ODfpV+rbHwvbKoLfNsbVCFVCEZxIV2rXEP5WmTr0kiMvWQ==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli@2.30.2: + resolution: + { + integrity: sha512-jQ/RBJ3bZ4PFbfOsGq8EykygHHmXXPw+i6jqsnQfAPIeZoX+DsqpAZbYubQEZKekmQ8EVGFxGHzUVkd6hLVMbA==, + } + engines: { node: ">= 10" } + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + "@sentry/cli-darwin": 2.30.2 + "@sentry/cli-linux-arm": 2.30.2 + "@sentry/cli-linux-arm64": 2.30.2 + "@sentry/cli-linux-i686": 2.30.2 + "@sentry/cli-linux-x64": 2.30.2 + "@sentry/cli-win32-i686": 2.30.2 + "@sentry/cli-win32-x64": 2.30.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/core@7.107.0: + resolution: + { + integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/core@7.108.0: + resolution: + { + integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.108.0 + "@sentry/utils": 7.108.0 + dev: true + + /@sentry/esbuild-plugin@2.16.0: + resolution: + { + integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==, + } + engines: { node: ">= 14" } + dependencies: + "@sentry/bundler-plugin-core": 2.16.0 + unplugin: 1.0.1 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/node@7.107.0: + resolution: + { + integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.107.0 + "@sentry/core": 7.107.0 + "@sentry/types": 7.107.0 + "@sentry/utils": 7.107.0 + dev: false + + /@sentry/node@7.108.0: + resolution: + { + integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.108.0 + "@sentry/core": 7.108.0 + "@sentry/types": 7.108.0 + "@sentry/utils": 7.108.0 + dev: true + + /@sentry/profiling-node@7.108.0: + resolution: + { + integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: true + + /@sentry/types@7.107.0: + resolution: + { + integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, + } + engines: { node: ">=8" } + dev: false + + /@sentry/types@7.108.0: + resolution: + { + integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==, + } + engines: { node: ">=8" } + dev: true + + /@sentry/utils@7.107.0: + resolution: + { + integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.107.0 + dev: false + + /@sentry/utils@7.108.0: + resolution: + { + integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.108.0 + dev: true + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.30) + slonik: 37.3.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.30) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.11.30: + resolution: + { + integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: + { + integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, + } + dependencies: + "@types/node": 20.11.30 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: + { + integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, + } + peerDependencies: + vitest: 1.4.0 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.11.30) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: + { + integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, + } + dependencies: + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: + { + integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, + } + dependencies: + "@vitest/utils": 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: + { + integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, + } + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: + { + integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: + { + integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + + /agent-base@6.0.2: + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: ">= 6.0.0" } + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@3.2.1: + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: ">=4" } + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /anymatch@3.1.3: + resolution: + { + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, + } + engines: { node: ">= 8" } + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /array-buffer-byte-length@1.0.1: + resolution: + { + integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /arraybuffer.prototype.slice@1.0.3: + resolution: + { + integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, + } + engines: { node: ">= 0.4" } + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /available-typed-arrays@1.0.7: + resolution: + { + integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, + } + engines: { node: ">= 0.4" } + dependencies: + possible-typed-array-names: 1.0.0 + dev: true + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + dev: false + + /binary-extensions@2.3.0: + resolution: + { + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, + } + engines: { node: ">=8" } + dev: false + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.2: + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, + } + engines: { node: ">=8" } + dependencies: + fill-range: 7.0.1 + dev: false + + /browserslist@4.23.0: + resolution: + { + integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.715 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /call-bind@1.0.7: + resolution: + { + integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, + } + engines: { node: ">= 0.4" } + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /caniuse-lite@1.0.30001600: + resolution: + { + integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==, + } + dev: false + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: ">=4" } + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /chokidar@3.6.0: + resolution: + { + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, + } + engines: { node: ">= 8.10.0" } + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /color-convert@1.9.3: + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@6.0.5: + resolution: + { + integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==, + } + engines: { node: ">=4.8" } + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /data-view-buffer@1.0.1: + resolution: + { + integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-length@1.0.1: + resolution: + { + integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: + { + integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /define-data-property@1.1.4: + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: ">= 0.4" } + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, + } + engines: { node: ">= 0.4" } + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.2: + resolution: + { + integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, + } + engines: { node: ">=8" } + dev: true + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv@16.4.5: + resolution: + { + integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, + } + engines: { node: ">=12" } + dev: false + + /electron-to-chromium@1.4.715: + resolution: + { + integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==, + } + dev: false + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + dev: false + + /error-ex@1.3.2: + resolution: + { + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, + } + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.23.2: + resolution: + { + integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==, + } + engines: { node: ">= 0.4" } + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /es-define-property@1.0.0: + resolution: + { + integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, + } + engines: { node: ">= 0.4" } + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: ">= 0.4" } + dev: true + + /es-object-atoms@1.0.0: + resolution: + { + integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, + } + engines: { node: ">= 0.4" } + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.0.3: + resolution: + { + integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, + } + engines: { node: ">= 0.4" } + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /es-to-primitive@1.2.1: + resolution: + { + integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, + } + engines: { node: ">= 0.4" } + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /es6-error@4.1.1: + resolution: + { + integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, + } + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + + /esbuild@0.20.2: + resolution: + { + integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.20.2 + "@esbuild/android-arm": 0.20.2 + "@esbuild/android-arm64": 0.20.2 + "@esbuild/android-x64": 0.20.2 + "@esbuild/darwin-arm64": 0.20.2 + "@esbuild/darwin-x64": 0.20.2 + "@esbuild/freebsd-arm64": 0.20.2 + "@esbuild/freebsd-x64": 0.20.2 + "@esbuild/linux-arm": 0.20.2 + "@esbuild/linux-arm64": 0.20.2 + "@esbuild/linux-ia32": 0.20.2 + "@esbuild/linux-loong64": 0.20.2 + "@esbuild/linux-mips64el": 0.20.2 + "@esbuild/linux-ppc64": 0.20.2 + "@esbuild/linux-riscv64": 0.20.2 + "@esbuild/linux-s390x": 0.20.2 + "@esbuild/linux-x64": 0.20.2 + "@esbuild/netbsd-x64": 0.20.2 + "@esbuild/openbsd-x64": 0.20.2 + "@esbuild/sunos-x64": 0.20.2 + "@esbuild/win32-arm64": 0.20.2 + "@esbuild/win32-ia32": 0.20.2 + "@esbuild/win32-x64": 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: ">=6" } + dev: false + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.1: + resolution: + { + integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: + { + integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + dev: false + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.2: + resolution: + { + integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + } + engines: { node: ">=8" } + dependencies: + to-regex-range: 5.0.1 + dev: false + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /for-each@0.3.3: + resolution: + { + integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, + } + dependencies: + is-callable: 1.2.7 + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /function.prototype.name@1.1.6: + resolution: + { + integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: + { + integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, + } + dev: true + + /gensync@1.0.0-beta.2: + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: ">=6.9.0" } + dev: false + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-intrinsic@1.2.4: + resolution: + { + integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, + } + engines: { node: ">= 0.4" } + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + dev: true + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-symbol-description@1.0.2: + resolution: + { + integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-tsconfig@4.7.2: + resolution: + { + integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: ">= 6" } + dependencies: + is-glob: 4.0.3 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.5: + resolution: + { + integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.10.1 + dev: false + + /globals@11.12.0: + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: ">=4" } + dev: false + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: + { + integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, + } + engines: { node: ">= 0.4" } + dependencies: + define-properties: 1.2.1 + dev: true + + /gopd@1.0.1: + resolution: + { + integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, + } + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-bigints@1.0.2: + resolution: + { + integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, + } + dev: true + + /has-flag@3.0.0: + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: ">=4" } + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /has-property-descriptors@1.0.2: + resolution: + { + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, + } + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: + { + integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, + } + engines: { node: ">= 0.4" } + dev: true + + /has-symbols@1.0.3: + resolution: + { + integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, + } + engines: { node: ">= 0.4" } + dev: true + + /has-tostringtag@1.0.2: + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: ">= 0.4" } + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.1: + resolution: + { + integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /hasown@2.0.2: + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /hosted-git-info@2.8.9: + resolution: + { + integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, + } + dev: true + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: ">= 6" } + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + dev: false + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /internal-slot@1.0.7: + resolution: + { + integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, + } + engines: { node: ">= 0.4" } + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + dev: true + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-array-buffer@3.0.4: + resolution: + { + integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-arrayish@0.2.1: + resolution: + { + integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, + } + dev: true + + /is-bigint@1.0.4: + resolution: + { + integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, + } + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, + } + engines: { node: ">=8" } + dependencies: + binary-extensions: 2.3.0 + dev: false + + /is-boolean-object@1.1.2: + resolution: + { + integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-callable@1.2.7: + resolution: + { + integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, + } + engines: { node: ">= 0.4" } + dev: true + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.1 + dev: true + + /is-data-view@1.0.1: + resolution: + { + integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, + } + engines: { node: ">= 0.4" } + dependencies: + is-typed-array: 1.1.13 + dev: true + + /is-date-object@1.0.5: + resolution: + { + integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, + } + engines: { node: ">= 0.4" } + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + + /is-negative-zero@2.0.3: + resolution: + { + integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, + } + engines: { node: ">= 0.4" } + dev: true + + /is-number-object@1.0.7: + resolution: + { + integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, + } + engines: { node: ">= 0.4" } + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-number@7.0.0: + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } + dev: false + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-regex@1.1.4: + resolution: + { + integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-shared-array-buffer@1.0.3: + resolution: + { + integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + dev: true + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /is-string@1.0.7: + resolution: + { + integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, + } + engines: { node: ">= 0.4" } + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-symbol@1.0.4: + resolution: + { + integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, + } + engines: { node: ">= 0.4" } + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.13: + resolution: + { + integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, + } + engines: { node: ">= 0.4" } + dependencies: + which-typed-array: 1.1.15 + dev: true + + /is-weakref@1.0.2: + resolution: + { + integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, + } + dependencies: + call-bind: 1.0.7 + dev: true + + /isarray@2.0.5: + resolution: + { + integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, + } + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: + { + integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, + } + engines: { node: ">=10" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@4.0.0: + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } + dev: false + + /js-tokens@8.0.3: + resolution: + { + integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, + } + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: ">=4" } + hasBin: true + dev: false + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-parse-better-errors@1.0.2: + resolution: + { + integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, + } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + dev: false + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: + { + integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, + } + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /load-json-file@4.0.0: + resolution: + { + integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, + } + engines: { node: ">=4" } + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.2.0: + resolution: + { + integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, + } + engines: { node: 14 || >=16.14 } + dev: false + + /lru-cache@5.1.1: + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.27.0: + resolution: + { + integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: false + + /magic-string@0.30.7: + resolution: + { + integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.0 + "@babel/types": 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /memorystream@0.3.1: + resolution: + { + integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, + } + engines: { node: ">= 0.10.0" } + dev: true + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + dev: false + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@8.0.4: + resolution: + { + integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + dev: false + + /minipass@4.2.8: + resolution: + { + integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==, + } + engines: { node: ">=8" } + dev: false + + /minipass@7.0.4: + resolution: + { + integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, + } + engines: { node: ">=16 || 14 >=14.17" } + dev: false + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /nice-try@1.0.5: + resolution: + { + integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /node-fetch@2.7.0: + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-releases@2.0.14: + resolution: + { + integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, + } + dev: false + + /normalize-package-data@2.5.0: + resolution: + { + integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, + } + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, + } + engines: { node: ">=0.10.0" } + dev: false + + /npm-run-all@4.1.5: + resolution: + { + integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==, + } + engines: { node: ">= 4" } + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.1 + string.prototype.padend: 3.1.6 + dev: true + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /object-inspect@1.13.1: + resolution: + { + integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, + } + dev: true + + /object-keys@1.1.1: + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: ">= 0.4" } + dev: true + + /object.assign@4.1.5: + resolution: + { + integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: + { + integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, + } + engines: { node: ">=4" } + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@2.0.1: + resolution: + { + integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==, + } + engines: { node: ">=4" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /path-scurry@1.10.1: + resolution: + { + integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false + + /path-type@3.0.0: + resolution: + { + integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==, + } + engines: { node: ">=4" } + dependencies: + pify: 3.0.0 + dev: true + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - dev: true - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true - - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 20.11.30 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.30): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.30) - '@types/node': 20.11.30 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): - resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.30) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.108.0: - resolution: {integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.108.0 - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 - dev: false - - /@sentry/core@7.108.0: - resolution: {integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 - dev: false - - /@sentry/node@7.108.0: - resolution: {integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.108.0 - '@sentry/core': 7.108.0 - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 - dev: false - - /@sentry/profiling-node@7.108.0: - resolution: {integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.3 - node-abi: 3.56.0 - dev: false - - /@sentry/types@7.108.0: - resolution: {integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==} - engines: {node: '>=8'} - dev: false - - /@sentry/utils@7.108.0: - resolution: {integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.108.0 - dev: false - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.4.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - slonik: 37.4.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.30) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.11.30: - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.4: - resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} - dependencies: - '@types/node': 20.11.30 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} - peerDependencies: - vitest: 1.4.0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} - dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} - dependencies: - '@vitest/utils': 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - dev: true - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - dev: false - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - dev: true - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.1 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - dev: true - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - dev: true - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: false - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - dev: true - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - dev: true - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@11.0.0: - resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@37.4.0(zod@3.22.4): - resolution: {integrity: sha512-W9GPnc4M5+JLvrl4aMx2qkpIQrHLo6vAmCc2UeTD5Szl2uBA2ChZo3njdygK1511wrlSSDnOySY+jlLNAfpIvA==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.4 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.11.30): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.4.0(@types/node@20.11.30): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.30) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.30): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.30 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.11.30): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.11.30 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.30) - vite-node: 1.4.0(@types/node@20.11.30) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + + /picomatch@2.3.1: + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: ">=8.6" } + dev: false + + /pidtree@0.3.1: + resolution: + { + integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==, + } + engines: { node: ">=0.10" } + hasBin: true + dev: true + + /pify@3.0.0: + resolution: + { + integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, + } + engines: { node: ">=4" } + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@11.0.0: + resolution: + { + integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /possible-typed-array-names@1.0.0: + resolution: + { + integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, + } + engines: { node: ">= 0.4" } + dev: true + + /postcss@8.4.35: + resolution: + { + integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: + { + integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: + { + integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, + } + dev: false + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /progress@2.0.3: + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: ">=0.4.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + dev: false + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /read-pkg@3.0.0: + resolution: + { + integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==, + } + engines: { node: ">=4" } + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /readdirp@3.6.0: + resolution: + { + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, + } + engines: { node: ">=8.10.0" } + dependencies: + picomatch: 2.3.1 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /regexp.prototype.flags@1.5.2: + resolution: + { + integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + dev: true + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: + { + integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: + { + integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.12.0 + "@rollup/rollup-android-arm64": 4.12.0 + "@rollup/rollup-darwin-arm64": 4.12.0 + "@rollup/rollup-darwin-x64": 4.12.0 + "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 + "@rollup/rollup-linux-arm64-gnu": 4.12.0 + "@rollup/rollup-linux-arm64-musl": 4.12.0 + "@rollup/rollup-linux-riscv64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-gnu": 4.12.0 + "@rollup/rollup-linux-x64-musl": 4.12.0 + "@rollup/rollup-win32-arm64-msvc": 4.12.0 + "@rollup/rollup-win32-ia32-msvc": 4.12.0 + "@rollup/rollup-win32-x64-msvc": 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.1.2: + resolution: + { + integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, + } + engines: { node: ">=0.4" } + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + dev: false + + /safe-regex-test@1.0.3: + resolution: + { + integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@5.7.2: + resolution: + { + integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, + } + hasBin: true + dev: true + + /semver@6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + dev: false + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /set-function-length@1.2.2: + resolution: + { + integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, + } + engines: { node: ">= 0.4" } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name@2.0.2: + resolution: + { + integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, + } + engines: { node: ">= 0.4" } + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@1.2.0: + resolution: + { + integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==, + } + engines: { node: ">=0.10.0" } + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@1.0.0: + resolution: + { + integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==, + } + engines: { node: ">=0.10.0" } + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /shell-quote@1.8.1: + resolution: + { + integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, + } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /side-channel@1.0.6: + resolution: + { + integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@37.3.1(zod@3.22.4): + resolution: + { + integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: + { + integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, + } + engines: { node: ">=0.10.0" } + dev: true + + /spdx-correct@3.2.0: + resolution: + { + integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, + } + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-exceptions@2.5.0: + resolution: + { + integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, + } + dev: true + + /spdx-expression-parse@3.0.1: + resolution: + { + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, + } + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-license-ids@3.0.17: + resolution: + { + integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==, + } + dev: true + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string.prototype.padend@3.1.6: + resolution: + { + integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trim@1.2.9: + resolution: + { + integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimend@1.0.8: + resolution: + { + integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, + } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimstart@1.0.8: + resolution: + { + integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: ">=4" } + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.0.0: + resolution: + { + integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, + } + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@5.5.0: + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: ">=4" } + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.2: + resolution: + { + integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + + /to-regex-range@5.0.1: + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } + dependencies: + is-number: 7.0.0 + dev: false + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@0.0.3: + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } + dev: false + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + + /type-fest@4.10.3: + resolution: + { + integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typed-array-buffer@1.0.2: + resolution: + { + integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length@1.0.1: + resolution: + { + integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset@1.0.2: + resolution: + { + integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, + } + engines: { node: ">= 0.4" } + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-length@1.0.6: + resolution: + { + integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, + } + engines: { node: ">= 0.4" } + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + + /typescript@5.4.3: + resolution: + { + integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==, + } + engines: { node: ">=14.17" } + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: + { + integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, + } + dev: true + + /umzug@3.7.0(@types/node@20.11.30): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.30) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - "@types/node" + dev: true + + /unbox-primitive@1.0.2: + resolution: + { + integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, + } + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /unplugin@1.0.1: + resolution: + { + integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==, + } + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: + { + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, + } + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /uuid@9.0.1: + resolution: + { + integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, + } + hasBin: true + dev: false + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: + { + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, + } + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.4.0(@types/node@20.11.30): + resolution: + { + integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.30) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.30): + resolution: + { + integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.11.30 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.11.30): + resolution: + { + integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.4.0 + "@vitest/ui": 1.4.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.11.30 + "@vitest/expect": 1.4.0 + "@vitest/runner": 1.4.0 + "@vitest/snapshot": 1.4.0 + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /webidl-conversions@3.0.1: + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } + dev: false + + /webpack-sources@3.2.3: + resolution: + { + integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, + } + engines: { node: ">=10.13.0" } + dev: false + + /webpack-virtual-modules@0.5.0: + resolution: + { + integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, + } + dev: false + + /whatwg-url@5.0.0: + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: + { + integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, + } + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.15: + resolution: + { + integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, + } + engines: { node: ">= 0.4" } + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + + /which@1.3.1: + resolution: + { + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, + } + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /yallist@3.1.1: + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } + dev: false + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } diff --git a/test/factoryMocks.d.ts b/test/factoryMocks.d.ts new file mode 100644 index 000000000..a4db3db66 --- /dev/null +++ b/test/factoryMocks.d.ts @@ -0,0 +1,6 @@ +import type { DatabaseManager } from "../packages/interfaces/index.js"; +export declare function mockDatabaseManager(): DatabaseManager; +/** @type TServerLogger */ +export declare function mockLogger(): any; +/** @type ServerMessageType */ +export declare function mockServerMessageType(): any; diff --git a/test/factoryMocks.ts b/test/factoryMocks.ts index 43650a363..69c2abe05 100644 --- a/test/factoryMocks.ts +++ b/test/factoryMocks.ts @@ -1,5 +1,5 @@ import { expect, it, vi } from "vitest"; -import { DatabaseManager } from "../packages/interfaces/index.js"; +import type { DatabaseManager } from "../packages/interfaces/index.js"; import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; export function mockDatabaseManager(): DatabaseManager { diff --git a/tsconfig.json b/tsconfig.json index 31d9c81ae..657436df7 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,27 +1,18 @@ { "compilerOptions": { - "incremental": true, - "target": "es2022", - "module": "NodeNext", - "noImplicitOverride": true, - "declaration": true, - "declarationMap": true, - "outDir": "./dist", "esModuleInterop": true, - "forceConsistentCasingInFileNames": true, + "skipLibCheck": true, + "target": "ES2022", + "verbatimModuleSyntax": true, + "resolveJsonModule": true, + "moduleDetection": "force", "strict": true, - "skipLibCheck": true + "noUncheckedIndexedAccess": true, + "moduleResolution": "Bundler", + "module": "ES2022", + "lib": ["ES2022"], + "declaration": true, + "emitDeclarationOnly": true }, - "include": [ - "src", - "test", - "packages", - "thebeast", - "lib", - "vite.config.ts", - "server.ts", - "migrate.ts", - "test", - "apps/main/server.ts" - ] + "include": ["apps/**/*", "packages/**/*"] } From 290a21ee061bc37a3c3938a9c042b624706c7506 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 05:34:00 +0000 Subject: [PATCH 257/452] fix(deps): update dependency @sentry/node to v7.108.0 (#1844) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 10743 ++++++++++++++++++++--------------------------- 1 file changed, 4449 insertions(+), 6294 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c194c13ec..409bc3713 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,6322 +1,4477 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/database": - specifier: workspace:^ - version: link:packages/database - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:packages/shared-packets - "@sentry/esbuild-plugin": - specifier: ^2.16.0 - version: 2.16.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: "37" - version: 37.3.1(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - zod: - specifier: ^3.22.4 - version: 3.22.4 - devDependencies: - "@sentry/node": - specifier: ^7.108.0 - version: 7.108.0 - "@sentry/profiling-node": - specifier: ^7.108.0 - version: 7.108.0 - "@slonik/migrator": - specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) - "@types/node": - specifier: 20.11.30 - version: 20.11.30 - "@vitest/coverage-v8": - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - esbuild: - specifier: ^0.20.2 - version: 0.20.2 - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - npm-run-all: - specifier: ^4.1.5 - version: 4.1.5 - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.3 - version: 5.4.3 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - slonik: - specifier: ^37.2.0 - version: 37.3.1(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:../shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.107.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - - /@babel/code-frame@7.24.2: - resolution: - { - integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/highlight": 7.24.2 - picocolors: 1.0.0 - dev: false - - /@babel/compat-data@7.24.1: - resolution: - { - integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/core@7.24.3: - resolution: - { - integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@ampproject/remapping": 2.3.0 - "@babel/code-frame": 7.24.2 - "@babel/generator": 7.24.1 - "@babel/helper-compilation-targets": 7.23.6 - "@babel/helper-module-transforms": 7.23.3(@babel/core@7.24.3) - "@babel/helpers": 7.24.1 - "@babel/parser": 7.24.1 - "@babel/template": 7.24.0 - "@babel/traverse": 7.24.1 - "@babel/types": 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator@7.24.1: - resolution: - { - integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/helper-compilation-targets@7.23.6: - resolution: - { - integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/compat-data": 7.24.1 - "@babel/helper-validator-option": 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - - /@babel/helper-environment-visitor@7.22.20: - resolution: - { - integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: - { - integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.24.0 - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-hoist-variables@7.22.5: - resolution: - { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-module-imports@7.24.3: - resolution: - { - integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): - resolution: - { - integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, - } - engines: { node: ">=6.9.0" } - peerDependencies: - "@babel/core": ^7.0.0 - dependencies: - "@babel/core": 7.24.3 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-module-imports": 7.24.3 - "@babel/helper-simple-access": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/helper-validator-identifier": 7.22.20 - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-string-parser@7.23.4: - resolution: - { - integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==, - } - engines: { node: ">=6.9.0" } - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - - /@babel/helper-validator-option@7.23.5: - resolution: - { - integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helpers@7.24.1: - resolution: - { - integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.24.0 - "@babel/traverse": 7.24.1 - "@babel/types": 7.24.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/highlight@7.24.2: - resolution: - { - integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-validator-identifier": 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - dev: false - - /@babel/parser@7.24.0: - resolution: - { - integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: true - - /@babel/parser@7.24.1: - resolution: - { - integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/template@7.24.0: - resolution: - { - integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/code-frame": 7.24.2 - "@babel/parser": 7.24.1 - "@babel/types": 7.24.0 - dev: false - - /@babel/traverse@7.24.1: - resolution: - { - integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/code-frame": 7.24.2 - "@babel/generator": 7.24.1 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-function-name": 7.23.0 - "@babel/helper-hoist-variables": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/parser": 7.24.1 - "@babel/types": 7.24.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.23.4 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/aix-ppc64@0.20.2: - resolution: - { - integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.20.2: - resolution: - { - integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.20.2: - resolution: - { - integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.20.2: - resolution: - { - integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.20.2: - resolution: - { - integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.20.2: - resolution: - { - integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.20.2: - resolution: - { - integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true + .: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/database': + specifier: workspace:^ + version: link:packages/database + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:packages/shared-packets + '@sentry/esbuild-plugin': + specifier: ^2.16.0 + version: 2.16.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: '37' + version: 37.3.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + zod: + specifier: ^3.22.4 + version: 3.22.4 + devDependencies: + '@sentry/node': + specifier: ^7.108.0 + version: 7.108.0 + '@sentry/profiling-node': + specifier: ^7.108.0 + version: 7.108.0 + '@slonik/migrator': + specifier: 0.12.0 + version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) + '@types/node': + specifier: 20.11.30 + version: 20.11.30 + '@vitest/coverage-v8': + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + esbuild: + specifier: ^0.20.2 + version: 0.20.2 + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + npm-run-all: + specifier: ^4.1.5 + version: 4.1.5 + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.3 + version: 5.4.3 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.11.30) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.108.0 + slonik: + specifier: ^37.2.0 + version: 37.3.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:../shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.108.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.108.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + + packages/shared-packets: {} + + packages/transactions: {} - /@esbuild/freebsd-x64@0.20.2: - resolution: - { - integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.20.2: - resolution: - { - integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.20.2: - resolution: - { - integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.20.2: - resolution: - { - integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.20.2: - resolution: - { - integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.20.2: - resolution: - { - integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.20.2: - resolution: - { - integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.20.2: - resolution: - { - integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.20.2: - resolution: - { - integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.20.2: - resolution: - { - integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.20.2: - resolution: - { - integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.20.2: - resolution: - { - integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.20.2: - resolution: - { - integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.20.2: - resolution: - { - integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.20.2: - resolution: - { - integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true +packages: - /@esbuild/win32-x64@0.20.2: - resolution: - { - integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: false + + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.1 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-string-parser@7.23.4: + resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + + /@babel/parser@7.24.0: + resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: true + + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + dev: false + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.23.4 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + optional: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.12.0: + resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.12.0: + resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.12.0: + resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.12.0: + resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.12.0: + resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.12.0: + resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.12.0: + resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.12.0: + resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.12.0: + resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.12.0: + resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.12.0: + resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.12.0: + resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.12.0: + resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - - /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: - { - integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + dependencies: + '@types/node': 20.11.30 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.11.30): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: - { - integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.11.30) + '@types/node': 20.11.30 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): + resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.11.30) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.108.0: + resolution: {integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.108.0 + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 + + /@sentry/babel-plugin-component-annotate@2.16.0: + resolution: {integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==} + engines: {node: '>= 14'} + dev: false + + /@sentry/bundler-plugin-core@2.16.0: + resolution: {integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==} + engines: {node: '>= 14'} + dependencies: + '@babel/core': 7.24.3 + '@sentry/babel-plugin-component-annotate': 2.16.0 + '@sentry/cli': 2.30.2 + dotenv: 16.4.5 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.27.0 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/cli-darwin@2.30.2: + resolution: {integrity: sha512-lZkKXMt0HUAwLQuPpi/DM3CsdCCp+6B2cdur+8fAq7uARXTOsTKVDxv9pkuJHCgHUnguh8ittP5GMr0baTxmMg==} + engines: {node: '>=10'} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm64@2.30.2: + resolution: {integrity: sha512-IWassuXggNhHOPCNrORNmd5SrAx5rU4XDlgOWBJr/ez7DvlPrr9EhV1xsdht6K4mPXhCGJq3rtRdCoWGJQW6Uw==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm@2.30.2: + resolution: {integrity: sha512-H7hqiLpEL7w/EHdhuUGatwg9O080mdujq4/zS96buKIHXxZE6KqMXGtMVIAvTl1+z6BlBEnfvZGI19MPw3t/7w==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-i686@2.30.2: + resolution: {integrity: sha512-gZIq131M4TJTG1lX9uvpoaGWaEXCEfdDXrXu/z/YZmAKBcThpMYChodXmm8FB6X4xb0TPXzIFqdzlLdglFK46g==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-x64@2.30.2: + resolution: {integrity: sha512-NmTAIl7aW9OHxwB4149sBfvCbTyK9T/CvBX38keaD2yIThet9gZ4koP49hBDxYF99aQX3E+LIAqWwnkV9W72Sw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-i686@2.30.2: + resolution: {integrity: sha512-SBR/Q3T6o+7uHwHNdjcG9GA3R++9w8oi778b95GuOC3dh0WOU6hXaKwQWe95ZcuSd2rKpouH7dhMjqqNM4HxOA==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-x64@2.30.2: + resolution: {integrity: sha512-gF9wSZxzXFgakkC+uKVLAAYlbYj13e1gTsNm3gm+ODfpV+rbHwvbKoLfNsbVCFVCEZxIV2rXEP5WmTr0kiMvWQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli@2.30.2: + resolution: {integrity: sha512-jQ/RBJ3bZ4PFbfOsGq8EykygHHmXXPw+i6jqsnQfAPIeZoX+DsqpAZbYubQEZKekmQ8EVGFxGHzUVkd6hLVMbA==} + engines: {node: '>= 10'} + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 2.30.2 + '@sentry/cli-linux-arm': 2.30.2 + '@sentry/cli-linux-arm64': 2.30.2 + '@sentry/cli-linux-i686': 2.30.2 + '@sentry/cli-linux-x64': 2.30.2 + '@sentry/cli-win32-i686': 2.30.2 + '@sentry/cli-win32-x64': 2.30.2 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/core@7.108.0: + resolution: {integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 + + /@sentry/esbuild-plugin@2.16.0: + resolution: {integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==} + engines: {node: '>= 14'} + dependencies: + '@sentry/bundler-plugin-core': 2.16.0 + unplugin: 1.0.1 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/node@7.108.0: + resolution: {integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.108.0 + '@sentry/core': 7.108.0 + '@sentry/types': 7.108.0 + '@sentry/utils': 7.108.0 + + /@sentry/profiling-node@7.108.0: + resolution: {integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.2 + node-abi: 3.56.0 + dev: true + + /@sentry/types@7.108.0: + resolution: {integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==} + engines: {node: '>=8'} + + /@sentry/utils@7.108.0: + resolution: {integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.108.0 + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) + slonik: 37.3.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.11.30) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.11.30: + resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.2: + resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + dependencies: + '@types/node': 20.11.30 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} + peerDependencies: + vitest: 1.4.0 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.7 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.11.30) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + dependencies: + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + dependencies: + '@vitest/utils': 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + dependencies: + magic-string: 0.30.7 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: - { - integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + is-array-buffer: 3.0.4 + dev: true + + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + is-array-buffer: 3.0.4 + is-shared-array-buffer: 1.0.3 + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + dependencies: + possible-typed-array-names: 1.0.0 + dev: true + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: false + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.715 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} + dev: false + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.2 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-data-view: 1.0.1 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: - { - integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + gopd: 1.0.1 + dev: true + + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + has-property-descriptors: 1.0.2 + object-keys: 1.1.1 + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.2: + resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: false + + /electron-to-chromium@1.4.715: + resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} + dev: false + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + dependencies: + is-arrayish: 0.2.1 + dev: true + + /es-abstract@1.23.2: + resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} + engines: {node: '>= 0.4'} + dependencies: + array-buffer-byte-length: 1.0.1 + arraybuffer.prototype.slice: 1.0.3 + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + data-view-buffer: 1.0.1 + data-view-byte-length: 1.0.1 + data-view-byte-offset: 1.0.0 + es-define-property: 1.0.0 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-set-tostringtag: 2.0.3 + es-to-primitive: 1.2.1 + function.prototype.name: 1.1.6 + get-intrinsic: 1.2.4 + get-symbol-description: 1.0.2 + globalthis: 1.0.3 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.2 + internal-slot: 1.0.7 + is-array-buffer: 3.0.4 + is-callable: 1.2.7 + is-data-view: 1.0.1 + is-negative-zero: 2.0.3 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + is-string: 1.0.7 + is-typed-array: 1.1.13 + is-weakref: 1.0.2 + object-inspect: 1.13.1 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + safe-array-concat: 1.1.2 + safe-regex-test: 1.0.3 + string.prototype.trim: 1.2.9 + string.prototype.trimend: 1.0.8 + string.prototype.trimstart: 1.0.8 + typed-array-buffer: 1.0.2 + typed-array-byte-length: 1.0.1 + typed-array-byte-offset: 1.0.2 + typed-array-length: 1.0.6 + unbox-primitive: 1.0.2 + which-typed-array: 1.1.15 + dev: true + + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true + + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + dev: true + + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.2.4 + has-tostringtag: 1.0.2 + hasown: 2.0.2 + dev: true + + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /es6-error@4.1.1: + resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: - { - integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + eslint-config-prettier: optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: - { - integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.1: + resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.3.0: + resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.12.0 + find-my-way: 8.1.0 + light-my-request: 5.11.1 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: false + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + dependencies: + is-callable: 1.2.7 + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + functions-have-names: 1.2.3 + dev: true + + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + function-bind: 1.1.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + hasown: 2.0.1 + dev: true + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + dev: true + + /get-tsconfig@4.7.2: + resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.10.1 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + dependencies: + define-properties: 1.2.1 + dev: true + + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + dependencies: + get-intrinsic: 1.2.4 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + dependencies: + es-define-property: 1.0.0 + dev: true + + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true + + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true + + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /hasown@2.0.1: + resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + dependencies: + es-errors: 1.3.0 + hasown: 2.0.2 + side-channel: 1.0.6 + dev: true + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + dev: true + + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true + + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + dependencies: + has-bigints: 1.0.2 + dev: true + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.1 + dev: true + + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + dependencies: + is-typed-array: 1.1.13 + dev: true + + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true + + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: false + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + dev: true + + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + dependencies: + has-tostringtag: 1.0.2 + dev: true + + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + dependencies: + has-symbols: 1.0.3 + dev: true + + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + dependencies: + which-typed-array: 1.1.15 + dev: true + + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + dependencies: + call-bind: 1.0.7 + dev: true + + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-tokens@8.0.3: + resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-better-errors@1.0.2: + resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.11.1: + resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} + dependencies: + cookie: 0.6.0 + process-warning: 2.3.2 + set-cookie-parser: 2.6.0 + dev: false + + /load-json-file@4.0.0: + resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} + engines: {node: '>=4'} + dependencies: + graceful-fs: 4.2.11 + parse-json: 4.0.0 + pify: 3.0.0 + strip-bom: 3.0.0 + dev: true + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: false + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /magic-string@0.30.7: + resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.0 + '@babel/types': 7.24.0 + source-map-js: 1.0.2 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: false + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: false + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.4.0 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /nice-try@1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: - { - integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: false + + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + dependencies: + hosted-git-info: 2.8.9 + resolve: 1.22.8 + semver: 5.7.2 + validate-npm-package-license: 3.0.4 + dev: true + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-run-all@4.1.5: + resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} + engines: {node: '>= 4'} + hasBin: true + dependencies: + ansi-styles: 3.2.1 + chalk: 2.4.2 + cross-spawn: 6.0.5 + memorystream: 0.3.1 + minimatch: 3.1.2 + pidtree: 0.3.1 + read-pkg: 3.0.0 + shell-quote: 1.8.1 + string.prototype.padend: 3.1.6 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true + + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true + + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + has-symbols: 1.0.3 + object-keys: 1.1.1 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /parse-json@4.0.0: + resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} + engines: {node: '>=4'} + dependencies: + error-ex: 1.3.2 + json-parse-better-errors: 1.0.2 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.1: + resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false + + /path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + dependencies: + pify: 3.0.0 + dev: true + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: - { - integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: false + + /pidtree@0.3.1: + resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@11.0.0: + resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.1 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.3.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true + + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@2.3.2: + resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} + dev: false + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-pkg@3.0.0: + resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} + engines: {node: '>=4'} + dependencies: + load-json-file: 4.0.0 + normalize-package-data: 2.5.0 + path-type: 3.0.0 + dev: true + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-errors: 1.3.0 + set-function-name: 2.0.2 + dev: true + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.12.0: + resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.12.0 + '@rollup/rollup-android-arm64': 4.12.0 + '@rollup/rollup-darwin-arm64': 4.12.0 + '@rollup/rollup-darwin-x64': 4.12.0 + '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 + '@rollup/rollup-linux-arm64-gnu': 4.12.0 + '@rollup/rollup-linux-arm64-musl': 4.12.0 + '@rollup/rollup-linux-riscv64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-gnu': 4.12.0 + '@rollup/rollup-linux-x64-musl': 4.12.0 + '@rollup/rollup-win32-arm64-msvc': 4.12.0 + '@rollup/rollup-win32-ia32-msvc': 4.12.0 + '@rollup/rollup-win32-x64-msvc': 4.12.0 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + isarray: 2.0.5 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-regex: 1.1.4 + dev: true + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + dev: true + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + dev: true + + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + functions-have-names: 1.2.3 + has-property-descriptors: 1.0.2 + dev: true + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + dev: true + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@37.3.1(zod@3.22.4): + resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.2 + es6-error: 4.1.1 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.0.2: + resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} + engines: {node: '>=0.10.0'} + dev: true + + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + dependencies: + spdx-expression-parse: 3.0.1 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true + + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + dependencies: + spdx-exceptions: 2.5.0 + spdx-license-ids: 3.0.17 + dev: true + + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + dev: true + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string.prototype.padend@3.1.6: + resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.2 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-object-atoms: 1.0.0 + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.0.0: + resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} + dependencies: + js-tokens: 8.0.3 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.2: + resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: false + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.2 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + /type-fest@4.10.3: + resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + dev: true + + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-proto: 1.0.3 + is-typed-array: 1.1.13 + possible-typed-array-names: 1.0.0 + dev: true + + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.4.0: + resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} + dev: true + + /umzug@3.7.0(@types/node@20.11.30): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.10.3 + transitivePeerDependencies: + - '@types/node' + dev: true + + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + dependencies: + call-bind: 1.0.7 + has-bigints: 1.0.2 + has-symbols: 1.0.3 + which-boxed-primitive: 1.0.2 + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /unplugin@1.0.1: + resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: false + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + dependencies: + spdx-correct: 3.2.0 + spdx-expression-parse: 3.0.1 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.4.0(@types/node@20.11.30): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.1.4(@types/node@20.11.30) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.1.4(@types/node@20.11.30): + resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: - { - integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + less: optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: - { - integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + lightningcss: optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: - { - integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + sass: optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: - { - integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + stylus: optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: - { - integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + sugarss: optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.11.30 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.11.30): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.11.30) - "@types/node": 20.11.30 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): - resolution: - { - integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.11.30) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.107.0: - resolution: - { - integrity: sha512-le9wM8+OHBbq7m/8P7JUJ1UhSPIty+Z/HmRXc5Z64ODZcOwFV6TmDpYx729IXDdz36XUKmeI+BeM7yQdTTZPfQ==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry-internal/tracing@7.108.0: - resolution: - { - integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.108.0 - "@sentry/types": 7.108.0 - "@sentry/utils": 7.108.0 - dev: true - - /@sentry/babel-plugin-component-annotate@2.16.0: - resolution: - { - integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==, - } - engines: { node: ">= 14" } - dev: false - - /@sentry/bundler-plugin-core@2.16.0: - resolution: - { - integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==, - } - engines: { node: ">= 14" } - dependencies: - "@babel/core": 7.24.3 - "@sentry/babel-plugin-component-annotate": 2.16.0 - "@sentry/cli": 2.30.2 - dotenv: 16.4.5 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.27.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/cli-darwin@2.30.2: - resolution: - { - integrity: sha512-lZkKXMt0HUAwLQuPpi/DM3CsdCCp+6B2cdur+8fAq7uARXTOsTKVDxv9pkuJHCgHUnguh8ittP5GMr0baTxmMg==, - } - engines: { node: ">=10" } - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm64@2.30.2: - resolution: - { - integrity: sha512-IWassuXggNhHOPCNrORNmd5SrAx5rU4XDlgOWBJr/ez7DvlPrr9EhV1xsdht6K4mPXhCGJq3rtRdCoWGJQW6Uw==, - } - engines: { node: ">=10" } - cpu: [arm64] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm@2.30.2: - resolution: - { - integrity: sha512-H7hqiLpEL7w/EHdhuUGatwg9O080mdujq4/zS96buKIHXxZE6KqMXGtMVIAvTl1+z6BlBEnfvZGI19MPw3t/7w==, - } - engines: { node: ">=10" } - cpu: [arm] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-i686@2.30.2: - resolution: - { - integrity: sha512-gZIq131M4TJTG1lX9uvpoaGWaEXCEfdDXrXu/z/YZmAKBcThpMYChodXmm8FB6X4xb0TPXzIFqdzlLdglFK46g==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [linux, freebsd] - requiresBuild: true - dev: false + terser: optional: true - - /@sentry/cli-linux-x64@2.30.2: - resolution: - { - integrity: sha512-NmTAIl7aW9OHxwB4149sBfvCbTyK9T/CvBX38keaD2yIThet9gZ4koP49hBDxYF99aQX3E+LIAqWwnkV9W72Sw==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [linux, freebsd] - requiresBuild: true - dev: false + dependencies: + '@types/node': 20.11.30 + esbuild: 0.19.12 + postcss: 8.4.35 + rollup: 4.12.0 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.11.30): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': optional: true - - /@sentry/cli-win32-i686@2.30.2: - resolution: - { - integrity: sha512-SBR/Q3T6o+7uHwHNdjcG9GA3R++9w8oi778b95GuOC3dh0WOU6hXaKwQWe95ZcuSd2rKpouH7dhMjqqNM4HxOA==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [win32] - requiresBuild: true - dev: false + '@types/node': optional: true - - /@sentry/cli-win32-x64@2.30.2: - resolution: - { - integrity: sha512-gF9wSZxzXFgakkC+uKVLAAYlbYj13e1gTsNm3gm+ODfpV+rbHwvbKoLfNsbVCFVCEZxIV2rXEP5WmTr0kiMvWQ==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false + '@vitest/browser': optional: true - - /@sentry/cli@2.30.2: - resolution: - { - integrity: sha512-jQ/RBJ3bZ4PFbfOsGq8EykygHHmXXPw+i6jqsnQfAPIeZoX+DsqpAZbYubQEZKekmQ8EVGFxGHzUVkd6hLVMbA==, - } - engines: { node: ">= 10" } - hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - "@sentry/cli-darwin": 2.30.2 - "@sentry/cli-linux-arm": 2.30.2 - "@sentry/cli-linux-arm64": 2.30.2 - "@sentry/cli-linux-i686": 2.30.2 - "@sentry/cli-linux-x64": 2.30.2 - "@sentry/cli-win32-i686": 2.30.2 - "@sentry/cli-win32-x64": 2.30.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/core@7.107.0: - resolution: - { - integrity: sha512-C7ogye6+KPyBi8NVL0P8Rxx3Ur7Td8ufnjxosVy678lqY+dcYPk/HONROrzUFYW5fMKWL4/KYnwP+x9uHnkDmw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/core@7.108.0: - resolution: - { - integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.108.0 - "@sentry/utils": 7.108.0 - dev: true - - /@sentry/esbuild-plugin@2.16.0: - resolution: - { - integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==, - } - engines: { node: ">= 14" } - dependencies: - "@sentry/bundler-plugin-core": 2.16.0 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/node@7.107.0: - resolution: - { - integrity: sha512-UZXkG7uThT2YyPW8AOSKRXp1LbVcBHufa4r1XAwBukA2FKO6HHJPjMUgY6DYVQ6k+BmA56CNfVjYrdLbyjBYYA==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.107.0 - "@sentry/core": 7.107.0 - "@sentry/types": 7.107.0 - "@sentry/utils": 7.107.0 - dev: false - - /@sentry/node@7.108.0: - resolution: - { - integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.108.0 - "@sentry/core": 7.108.0 - "@sentry/types": 7.108.0 - "@sentry/utils": 7.108.0 - dev: true - - /@sentry/profiling-node@7.108.0: - resolution: - { - integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: true - - /@sentry/types@7.107.0: - resolution: - { - integrity: sha512-H7qcPjPSUWHE/Zf5bR1EE24G0pGVuJgrSx8Tvvl5nKEepswMYlbXHRVSDN0gTk/E5Z7cqf+hUBOpkQgZyps77w==, - } - engines: { node: ">=8" } - dev: false - - /@sentry/types@7.108.0: - resolution: - { - integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==, - } - engines: { node: ">=8" } - dev: true - - /@sentry/utils@7.107.0: - resolution: - { - integrity: sha512-C6PbN5gHh73MRHohnReeQ60N8rrLYa9LciHue3Ru2290eSThg4CzsPnx4SzkGpkSeVlhhptKtKZ+hp/ha3iVuw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.107.0 - dev: false - - /@sentry/utils@7.108.0: - resolution: - { - integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.108.0 - dev: true - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.30) - slonik: 37.3.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.30) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.11.30: - resolution: - { - integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.2: - resolution: - { - integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==, - } - dependencies: - "@types/node": 20.11.30 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: - { - integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, - } - peerDependencies: - vitest: 1.4.0 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: - { - integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, - } - dependencies: - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: - { - integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, - } - dependencies: - "@vitest/utils": 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: - { - integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, - } - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: - { - integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: - { - integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - - /agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: ">= 6.0.0" } - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: ">=4" } - dependencies: - color-convert: 1.9.3 - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: ">= 8" } - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /array-buffer-byte-length@1.0.1: - resolution: - { - integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - dev: true - - /arraybuffer.prototype.slice@1.0.3: - resolution: - { - integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, - } - engines: { node: ">= 0.4" } - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /available-typed-arrays@1.0.7: - resolution: - { - integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, - } - engines: { node: ">= 0.4" } - dependencies: - possible-typed-array-names: 1.0.0 - dev: true - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - dev: false - - /binary-extensions@2.3.0: - resolution: - { - integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, - } - engines: { node: ">=8" } - dev: false - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - - /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: ">=8" } - dependencies: - fill-range: 7.0.1 - dev: false - - /browserslist@4.23.0: - resolution: - { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true - dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.715 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /call-bind@1.0.7: - resolution: - { - integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, - } - engines: { node: ">= 0.4" } - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /caniuse-lite@1.0.30001600: - resolution: - { - integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==, - } - dev: false - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: ">=4" } - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: ">= 8.10.0" } - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } - dependencies: - color-name: 1.1.3 - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true + '@vitest/ui': optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@6.0.5: - resolution: - { - integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==, - } - engines: { node: ">=4.8" } - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /data-view-buffer@1.0.1: - resolution: - { - integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-length@1.0.1: - resolution: - { - integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-offset@1.0.0: - resolution: - { - integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: ">= 0.4" } - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - dev: true - - /define-properties@1.2.1: - resolution: - { - integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, - } - engines: { node: ">= 0.4" } - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.2: - resolution: - { - integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==, - } - engines: { node: ">=8" } - dev: true - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv@16.4.5: - resolution: - { - integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, - } - engines: { node: ">=12" } - dev: false - - /electron-to-chromium@1.4.715: - resolution: - { - integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==, - } - dev: false - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - dev: false - - /error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } - dependencies: - is-arrayish: 0.2.1 - dev: true - - /es-abstract@1.23.2: - resolution: - { - integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==, - } - engines: { node: ">= 0.4" } - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - dev: true - - /es-define-property@1.0.0: - resolution: - { - integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, - } - engines: { node: ">= 0.4" } - dependencies: - get-intrinsic: 1.2.4 - dev: true - - /es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: ">= 0.4" } - dev: true - - /es-object-atoms@1.0.0: - resolution: - { - integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, - } - engines: { node: ">= 0.4" } - dependencies: - es-errors: 1.3.0 - dev: true - - /es-set-tostringtag@2.0.3: - resolution: - { - integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, - } - engines: { node: ">= 0.4" } - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - dev: true - - /es-to-primitive@1.2.1: - resolution: - { - integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, - } - engines: { node: ">= 0.4" } - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - - /es6-error@4.1.1: - resolution: - { - integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==, - } - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - - /esbuild@0.20.2: - resolution: - { - integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.20.2 - "@esbuild/android-arm": 0.20.2 - "@esbuild/android-arm64": 0.20.2 - "@esbuild/android-x64": 0.20.2 - "@esbuild/darwin-arm64": 0.20.2 - "@esbuild/darwin-x64": 0.20.2 - "@esbuild/freebsd-arm64": 0.20.2 - "@esbuild/freebsd-x64": 0.20.2 - "@esbuild/linux-arm": 0.20.2 - "@esbuild/linux-arm64": 0.20.2 - "@esbuild/linux-ia32": 0.20.2 - "@esbuild/linux-loong64": 0.20.2 - "@esbuild/linux-mips64el": 0.20.2 - "@esbuild/linux-ppc64": 0.20.2 - "@esbuild/linux-riscv64": 0.20.2 - "@esbuild/linux-s390x": 0.20.2 - "@esbuild/linux-x64": 0.20.2 - "@esbuild/netbsd-x64": 0.20.2 - "@esbuild/openbsd-x64": 0.20.2 - "@esbuild/sunos-x64": 0.20.2 - "@esbuild/win32-arm64": 0.20.2 - "@esbuild/win32-ia32": 0.20.2 - "@esbuild/win32-x64": 0.20.2 - dev: true - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: ">=6" } - dev: false - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.1: - resolution: - { - integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: - { - integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - dev: false - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.2: - resolution: - { - integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: ">=8" } - dependencies: - to-regex-range: 5.0.1 - dev: false - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /for-each@0.3.3: - resolution: - { - integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, - } - dependencies: - is-callable: 1.2.7 - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true + happy-dom: optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /function.prototype.name@1.1.6: - resolution: - { - integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: - { - integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, - } - dev: true - - /gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: ">=6.9.0" } - dev: false - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-intrinsic@1.2.4: - resolution: - { - integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, - } - engines: { node: ">= 0.4" } - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.1 - dev: true - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-symbol-description@1.0.2: - resolution: - { - integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - dev: true - - /get-tsconfig@4.7.2: - resolution: - { - integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } - dependencies: - is-glob: 4.0.3 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /glob@9.3.5: - resolution: - { - integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.10.1 - dev: false - - /globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: ">=4" } - dev: false - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /globalthis@1.0.3: - resolution: - { - integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, - } - engines: { node: ">= 0.4" } - dependencies: - define-properties: 1.2.1 - dev: true - - /gopd@1.0.1: - resolution: - { - integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, - } - dependencies: - get-intrinsic: 1.2.4 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-bigints@1.0.2: - resolution: - { - integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, - } - dev: true - - /has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: ">=4" } - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } - dependencies: - es-define-property: 1.0.0 - dev: true - - /has-proto@1.0.3: - resolution: - { - integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, - } - engines: { node: ">= 0.4" } - dev: true - - /has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: ">= 0.4" } - dev: true - - /has-tostringtag@1.0.2: - resolution: - { - integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, - } - engines: { node: ">= 0.4" } - dependencies: - has-symbols: 1.0.3 - dev: true - - /hasown@2.0.1: - resolution: - { - integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /hosted-git-info@2.8.9: - resolution: - { - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, - } - dev: true - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: ">= 6" } - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - dev: false - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /internal-slot@1.0.7: - resolution: - { - integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, - } - engines: { node: ">= 0.4" } - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - dev: true - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-array-buffer@3.0.4: - resolution: - { - integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - dev: true - - /is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } - dev: true - - /is-bigint@1.0.4: - resolution: - { - integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, - } - dependencies: - has-bigints: 1.0.2 - dev: true - - /is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: ">=8" } - dependencies: - binary-extensions: 2.3.0 - dev: false - - /is-boolean-object@1.1.2: - resolution: - { - integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - dev: true - - /is-callable@1.2.7: - resolution: - { - integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, - } - engines: { node: ">= 0.4" } - dev: true - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.1 - dev: true - - /is-data-view@1.0.1: - resolution: - { - integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, - } - engines: { node: ">= 0.4" } - dependencies: - is-typed-array: 1.1.13 - dev: true - - /is-date-object@1.0.5: - resolution: - { - integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, - } - engines: { node: ">= 0.4" } - dependencies: - has-tostringtag: 1.0.2 - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - - /is-negative-zero@2.0.3: - resolution: - { - integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, - } - engines: { node: ">= 0.4" } - dev: true - - /is-number-object@1.0.7: - resolution: - { - integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, - } - engines: { node: ">= 0.4" } - dependencies: - has-tostringtag: 1.0.2 - dev: true - - /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } - dev: false - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-regex@1.1.4: - resolution: - { - integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - dev: true - - /is-shared-array-buffer@1.0.3: - resolution: - { - integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - dev: true - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /is-string@1.0.7: - resolution: - { - integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, - } - engines: { node: ">= 0.4" } - dependencies: - has-tostringtag: 1.0.2 - dev: true - - /is-symbol@1.0.4: - resolution: - { - integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, - } - engines: { node: ">= 0.4" } - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-typed-array@1.1.13: - resolution: - { - integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, - } - engines: { node: ">= 0.4" } - dependencies: - which-typed-array: 1.1.15 - dev: true - - /is-weakref@1.0.2: - resolution: - { - integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, - } - dependencies: - call-bind: 1.0.7 - dev: true - - /isarray@2.0.5: - resolution: - { - integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, - } - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: - { - integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, - } - engines: { node: ">=10" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } - dev: false - - /js-tokens@8.0.3: - resolution: - { - integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==, - } - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: ">=4" } - hasBin: true - dev: false - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-parse-better-errors@1.0.2: - resolution: - { - integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==, - } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } - hasBin: true - dev: false - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: - { - integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==, - } - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /load-json-file@4.0.0: - resolution: - { - integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==, - } - engines: { node: ">=4" } - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 - dev: true - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@10.2.0: - resolution: - { - integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, - } - engines: { node: 14 || >=16.14 } - dev: false - - /lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } - dependencies: - yallist: 3.1.1 - dev: false - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.27.0: - resolution: - { - integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: false - - /magic-string@0.30.7: - resolution: - { - integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.0 - "@babel/types": 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /memorystream@0.3.1: - resolution: - { - integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, - } - engines: { node: ">= 0.10.0" } - dev: true - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - dev: false - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: - { - integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: false - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - dev: false - - /minipass@4.2.8: - resolution: - { - integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==, - } - engines: { node: ">=8" } - dev: false - - /minipass@7.0.4: - resolution: - { - integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, - } - engines: { node: ">=16 || 14 >=14.17" } - dev: false - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /nice-try@1.0.5: - resolution: - { - integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /node-fetch@2.7.0: - resolution: - { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } - dev: false - - /normalize-package-data@2.5.0: - resolution: - { - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, - } - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - dev: true - - /normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: ">=0.10.0" } - dev: false - - /npm-run-all@4.1.5: - resolution: - { - integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==, - } - engines: { node: ">= 4" } - hasBin: true - dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.5 - memorystream: 0.3.1 - minimatch: 3.1.2 - pidtree: 0.3.1 - read-pkg: 3.0.0 - shell-quote: 1.8.1 - string.prototype.padend: 3.1.6 - dev: true - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /object-inspect@1.13.1: - resolution: - { - integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, - } - dev: true - - /object-keys@1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: ">= 0.4" } - dev: true - - /object.assign@4.1.5: - resolution: - { - integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /parse-json@4.0.0: - resolution: - { - integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==, - } - engines: { node: ">=4" } - dependencies: - error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@2.0.1: - resolution: - { - integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==, - } - engines: { node: ">=4" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /path-scurry@1.10.1: - resolution: - { - integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: false - - /path-type@3.0.0: - resolution: - { - integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==, - } - engines: { node: ">=4" } - dependencies: - pify: 3.0.0 - dev: true - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true + jsdom: optional: true - - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - - /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: ">=8.6" } - dev: false - - /pidtree@0.3.1: - resolution: - { - integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==, - } - engines: { node: ">=0.10" } - hasBin: true - dev: true - - /pify@3.0.0: - resolution: - { - integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==, - } - engines: { node: ">=4" } - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@11.0.0: - resolution: - { - integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /possible-typed-array-names@1.0.0: - resolution: - { - integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, - } - engines: { node: ">= 0.4" } - dev: true - - /postcss@8.4.35: - resolution: - { - integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: - { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: - { - integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==, - } - dev: false - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /progress@2.0.3: - resolution: - { - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, - } - engines: { node: ">=0.4.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: false - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /read-pkg@3.0.0: - resolution: - { - integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==, - } - engines: { node: ">=4" } - dependencies: - load-json-file: 4.0.0 - normalize-package-data: 2.5.0 - path-type: 3.0.0 - dev: true - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: ">=8.10.0" } - dependencies: - picomatch: 2.3.1 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /regexp.prototype.flags@1.5.2: - resolution: - { - integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - dev: true - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: - { - integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: - { - integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.12.0 - "@rollup/rollup-android-arm64": 4.12.0 - "@rollup/rollup-darwin-arm64": 4.12.0 - "@rollup/rollup-darwin-x64": 4.12.0 - "@rollup/rollup-linux-arm-gnueabihf": 4.12.0 - "@rollup/rollup-linux-arm64-gnu": 4.12.0 - "@rollup/rollup-linux-arm64-musl": 4.12.0 - "@rollup/rollup-linux-riscv64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-gnu": 4.12.0 - "@rollup/rollup-linux-x64-musl": 4.12.0 - "@rollup/rollup-win32-arm64-msvc": 4.12.0 - "@rollup/rollup-win32-ia32-msvc": 4.12.0 - "@rollup/rollup-win32-x64-msvc": 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-array-concat@1.1.2: - resolution: - { - integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, - } - engines: { node: ">=0.4" } - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - dev: false - - /safe-regex-test@1.0.3: - resolution: - { - integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - dev: true - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@5.7.2: - resolution: - { - integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, - } - hasBin: true - dev: true - - /semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } - hasBin: true - dev: false - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /set-function-length@1.2.2: - resolution: - { - integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, - } - engines: { node: ">= 0.4" } - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - dev: true - - /set-function-name@2.0.2: - resolution: - { - integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, - } - engines: { node: ">= 0.4" } - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - dev: true - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@1.2.0: - resolution: - { - integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==, - } - engines: { node: ">=0.10.0" } - dependencies: - shebang-regex: 1.0.0 - dev: true - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@1.0.0: - resolution: - { - integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==, - } - engines: { node: ">=0.10.0" } - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /shell-quote@1.8.1: - resolution: - { - integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, - } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /side-channel@1.0.6: - resolution: - { - integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - dev: true - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@37.3.1(zod@3.22.4): - resolution: - { - integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.2 - es6-error: 4.1.1 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: - { - integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==, - } - engines: { node: ">=0.10.0" } - dev: true - - /spdx-correct@3.2.0: - resolution: - { - integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, - } - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 - dev: true - - /spdx-exceptions@2.5.0: - resolution: - { - integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, - } - dev: true - - /spdx-expression-parse@3.0.1: - resolution: - { - integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, - } - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 - dev: true - - /spdx-license-ids@3.0.17: - resolution: - { - integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==, - } - dev: true - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string.prototype.padend@3.1.6: - resolution: - { - integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trim@1.2.9: - resolution: - { - integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trimend@1.0.8: - resolution: - { - integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, - } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trimstart@1.0.8: - resolution: - { - integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: ">=4" } - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.0.0: - resolution: - { - integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==, - } - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: ">=4" } - dependencies: - has-flag: 3.0.0 - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.2: - resolution: - { - integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - - /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } - dependencies: - is-number: 7.0.0 - dev: false - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } - dev: false - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - - /type-fest@4.10.3: - resolution: - { - integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typed-array-buffer@1.0.2: - resolution: - { - integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - dev: true - - /typed-array-byte-length@1.0.1: - resolution: - { - integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - - /typed-array-byte-offset@1.0.2: - resolution: - { - integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, - } - engines: { node: ">= 0.4" } - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - - /typed-array-length@1.0.6: - resolution: - { - integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, - } - engines: { node: ">= 0.4" } - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - dev: true - - /typescript@5.4.3: - resolution: - { - integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==, - } - engines: { node: ">=14.17" } - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: - { - integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==, - } - dev: true - - /umzug@3.7.0(@types/node@20.11.30): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.19.0(@types/node@20.11.30) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - "@types/node" - dev: true - - /unbox-primitive@1.0.2: - resolution: - { - integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, - } - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /unplugin@1.0.1: - resolution: - { - integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==, - } - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: false - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } - hasBin: true - peerDependencies: - browserslist: ">= 4.21.0" - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - dev: false - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /uuid@9.0.1: - resolution: - { - integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, - } - hasBin: true - dev: false - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validate-npm-package-license@3.0.4: - resolution: - { - integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, - } - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.4.0(@types/node@20.11.30): - resolution: - { - integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.30) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.11.30): - resolution: - { - integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.11.30 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.11.30): - resolution: - { - integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.4.0 - "@vitest/ui": 1.4.0 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.11.30 - "@vitest/expect": 1.4.0 - "@vitest/runner": 1.4.0 - "@vitest/snapshot": 1.4.0 - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.30) - vite-node: 1.4.0(@types/node@20.11.30) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } - dev: false - - /webpack-sources@3.2.3: - resolution: - { - integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, - } - engines: { node: ">=10.13.0" } - dev: false - - /webpack-virtual-modules@0.5.0: - resolution: - { - integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, - } - dev: false - - /whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /which-boxed-primitive@1.0.2: - resolution: - { - integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, - } - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-typed-array@1.1.15: - resolution: - { - integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, - } - engines: { node: ">= 0.4" } - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - dev: true - - /which@1.3.1: - resolution: - { - integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, - } - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } - dev: false - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + dependencies: + '@types/node': 20.11.30 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.7 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.0.0 + tinybench: 2.6.0 + tinypool: 0.8.2 + vite: 5.1.4(@types/node@20.11.30) + vite-node: 1.4.0(@types/node@20.11.30) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: false + + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + dev: false + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + dependencies: + is-bigint: 1.0.4 + is-boolean-object: 1.1.2 + is-number-object: 1.0.7 + is-string: 1.0.7 + is-symbol: 1.0.4 + dev: true + + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + dev: true + + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From 5b3e17a4ab6f38fbe6cd68cff3539f0bab85a46c Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 23 Mar 2024 08:48:28 -0400 Subject: [PATCH 258/452] Add Codecov bundler plugin and upload token (#1846) * Add Codecov bundler plugin and upload token --- .github/workflows/node.yml | 2 ++ build.mjs | 16 +++++++++++++++ package.json | 1 + pnpm-lock.yaml | 40 +++++++++++++++++++++++++------------- 4 files changed, 46 insertions(+), 13 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 633c71fad..a2cc00f61 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -33,6 +33,8 @@ jobs: pnpm install pnpm run build pnpm test + env: + CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} - name: Codecov if: ${{ always() }} env: diff --git a/build.mjs b/build.mjs index 6c568b866..431a57cda 100644 --- a/build.mjs +++ b/build.mjs @@ -2,6 +2,7 @@ import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin"; import fs from "node:fs"; import esbuild from "esbuild"; import { createRequire } from "node:module"; +import { codecovUnpluginFactory } from "@codecov/bundler-plugin-core"; const require = createRequire(import.meta.url); @@ -44,6 +45,16 @@ const nativeNodeModulesPlugin = { }, }; +const foo = codecovUnpluginFactory({ + bundleAnalysisUploadPlugin: () => { + return { + name: "foo", + pluginVersion: "1.0.0", + version: "1.0.0", + }; + }, +}); + esbuild .build({ sourcemap: "external", // Source map generation must be turned on @@ -59,6 +70,11 @@ esbuild }, plugins: [ nativeNodeModulesPlugin, + foo.esbuild({ + enableBundleAnalysis: true, + bundleName: "rusty-motors-server", + uploadToken: process.env.CODECOV_UPLOAD_BUNDLE_TOKEN, + }), // Put the Sentry esbuild plugin after all other plugins sentryEsbuildPlugin({ authToken: process.env.SENTRY_AUTH_TOKEN, diff --git a/package.json b/package.json index 86dd9394b..ab44e31fd 100644 --- a/package.json +++ b/package.json @@ -24,6 +24,7 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { + "@codecov/bundler-plugin-core": "0.0.1-beta.5", "@sentry/node": "^7.108.0", "@sentry/profiling-node": "^7.108.0", "@slonik/migrator": "0.12.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 409bc3713..acf503934 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ importers: specifier: ^3.22.4 version: 3.22.4 devDependencies: + '@codecov/bundler-plugin-core': + specifier: 0.0.1-beta.5 + version: 0.0.1-beta.5 '@sentry/node': specifier: ^7.108.0 version: 7.108.0 @@ -380,6 +383,16 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@codecov/bundler-plugin-core@0.0.1-beta.5: + resolution: {integrity: sha512-eltwv1aRJdwonlTD47jQ2GYdKZfMv3jCviDui32JOu12ZAiI3WdJCtjWF9zxpmnHEZ30pn0WbeZir+sXSFLJHw==} + engines: {node: '>=18.0.0'} + dependencies: + chalk: 4.1.2 + semver: 7.6.0 + unplugin: 1.10.0 + zod: 3.22.4 + dev: true + /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -1444,7 +1457,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: false /archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} @@ -1519,7 +1531,6 @@ packages: /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: false /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1541,7 +1552,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: false /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} @@ -1638,7 +1648,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: false /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2250,7 +2259,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: false /find-my-way@8.1.0: resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} @@ -2380,7 +2388,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2616,7 +2623,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 - dev: false /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -2676,7 +2682,6 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} @@ -3081,7 +3086,6 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: false /npm-run-all@4.1.5: resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} @@ -3338,7 +3342,6 @@ packages: /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: false /pidtree@0.3.1: resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} @@ -3574,7 +3577,6 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: false /real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} @@ -4057,7 +4059,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: false /toad-cache@3.7.0: resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} @@ -4214,6 +4215,16 @@ packages: webpack-virtual-modules: 0.5.0 dev: false + /unplugin@1.10.0: + resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==} + engines: {node: '>=14.0.0'} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.6.1 + dev: true + /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -4381,12 +4392,15 @@ packages: /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} - dev: false /webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: false + /webpack-virtual-modules@0.6.1: + resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} + dev: true + /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: From 396af2e8b96004c4773c0974660bbc135e29ad57 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 13:17:09 -0400 Subject: [PATCH 259/452] fix(deps): update dependency slonik to v37.4.0 (#1845) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index acf503934..c8cb608f1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: '37' - version: 37.3.1(zod@3.22.4) + version: 37.4.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 @@ -56,7 +56,7 @@ importers: version: 7.108.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.3.1) + version: 0.12.0(@types/node@20.11.30)(slonik@37.4.0) '@types/node': specifier: 20.11.30 version: 20.11.30 @@ -107,7 +107,7 @@ importers: version: 7.108.0 slonik: specifier: ^37.2.0 - version: 37.3.1(zod@3.22.4) + version: 37.4.0(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1258,13 +1258,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.3.1): + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.4.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - slonik: 37.3.1(zod@3.22.4) + slonik: 37.4.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' @@ -1287,8 +1287,8 @@ packages: dependencies: undici-types: 5.26.5 - /@types/pg@8.11.2: - resolution: {integrity: sha512-G2Mjygf2jFMU/9hCaTYxJrwdObdcnuQde1gndooZSOHsNSaCehAuwc7EIuSA34Do8Jx2yZ19KtvW8P0j4EuUXw==} + /@types/pg@8.11.4: + resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: '@types/node': 20.11.30 pg-protocol: 1.6.0 @@ -3826,13 +3826,13 @@ packages: engines: {node: '>=14'} dev: true - /slonik@37.3.1(zod@3.22.4): - resolution: {integrity: sha512-vidC0OleHqIrFt5gGWgwy4CUhE+dSo71/661g2MyQFNpT/ZyiBZ1BscGK8gLlw4K8xYTo4SL+POBBLp+X5wYsg==} + /slonik@37.4.0(zod@3.22.4): + resolution: {integrity: sha512-W9GPnc4M5+JLvrl4aMx2qkpIQrHLo6vAmCc2UeTD5Szl2uBA2ChZo3njdygK1511wrlSSDnOySY+jlLNAfpIvA==} engines: {node: '>=18'} peerDependencies: zod: ^3 dependencies: - '@types/pg': 8.11.2 + '@types/pg': 8.11.4 es6-error: 4.1.1 get-stack-trace: 3.1.1 iso8601-duration: 1.3.0 From c215c195e46a1fae9baa648482f63963bc7fbb7c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 23 Mar 2024 13:20:41 -0400 Subject: [PATCH 260/452] chore(deps): pin dependencies (#1843) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 8 ++++---- pnpm-lock.yaml | 19 ++++++------------- 2 files changed, 10 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index ab44e31fd..1e9d34720 100644 --- a/package.json +++ b/package.json @@ -25,16 +25,16 @@ }, "devDependencies": { "@codecov/bundler-plugin-core": "0.0.1-beta.5", - "@sentry/node": "^7.108.0", - "@sentry/profiling-node": "^7.108.0", + "@sentry/node": "7.108.0", + "@sentry/profiling-node": "7.108.0", "@slonik/migrator": "0.12.0", "@types/node": "20.11.30", "@vitest/coverage-v8": "1.4.0", - "esbuild": "^0.20.2", + "esbuild": "0.20.2", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "npm-run-all": "^4.1.5", + "npm-run-all": "4.1.5", "prettier": "3.2.5", "typescript": "5.4.3", "vitest": "1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c8cb608f1..4ea6dc892 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,10 +49,10 @@ importers: specifier: 0.0.1-beta.5 version: 0.0.1-beta.5 '@sentry/node': - specifier: ^7.108.0 + specifier: 7.108.0 version: 7.108.0 '@sentry/profiling-node': - specifier: ^7.108.0 + specifier: 7.108.0 version: 7.108.0 '@slonik/migrator': specifier: 0.12.0 @@ -64,7 +64,7 @@ importers: specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) esbuild: - specifier: ^0.20.2 + specifier: 0.20.2 version: 0.20.2 eslint: specifier: 8.57.0 @@ -76,7 +76,7 @@ importers: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) npm-run-all: - specifier: ^4.1.5 + specifier: 4.1.5 version: 4.1.5 prettier: specifier: 3.2.5 @@ -2354,7 +2354,7 @@ packages: function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 - hasown: 2.0.1 + hasown: 2.0.2 dev: true /get-stack-trace@3.1.1: @@ -2497,13 +2497,6 @@ packages: has-symbols: 1.0.3 dev: true - /hasown@2.0.1: - resolution: {integrity: sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2640,7 +2633,7 @@ packages: /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: - hasown: 2.0.1 + hasown: 2.0.2 dev: true /is-data-view@1.0.1: From d67bc7255928ac7a2f11b4582d724398f4f7d953 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 07:08:15 -0400 Subject: [PATCH 261/452] chore(deps): replace dependency npm-run-all with npm-run-all2 5.0.0 (#1842) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 687 +++---------------------------------------------- 2 files changed, 38 insertions(+), 651 deletions(-) diff --git a/package.json b/package.json index 1e9d34720..843b79d40 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "npm-run-all": "4.1.5", + "npm-run-all2": "5.0.0", "prettier": "3.2.5", "typescript": "5.4.3", "vitest": "1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4ea6dc892..ca2c9683b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -75,9 +75,9 @@ importers: eslint-plugin-prettier: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - npm-run-all: - specifier: 4.1.5 - version: 4.1.5 + npm-run-all2: + specifier: 5.0.0 + version: 5.0.0 prettier: specifier: 3.2.5 version: 3.2.5 @@ -188,7 +188,6 @@ packages: dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - dev: false /@babel/compat-data@7.24.1: resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} @@ -326,7 +325,6 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 - dev: false /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} @@ -1287,6 +1285,10 @@ packages: dependencies: undici-types: 5.26.5 + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true + /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: @@ -1472,28 +1474,6 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - is-array-buffer: 3.0.4 - dev: true - - /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - is-array-buffer: 3.0.4 - is-shared-array-buffer: 1.0.3 - dev: true - /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -1503,13 +1483,6 @@ packages: engines: {node: '>=8.0.0'} dev: false - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - dependencies: - possible-typed-array-names: 1.0.0 - dev: true - /avvio@8.3.0: resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} dependencies: @@ -1580,17 +1553,6 @@ packages: engines: {node: '>=8'} dev: true - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - set-function-length: 1.2.2 - dev: true - /callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1691,17 +1653,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /cross-spawn@6.0.5: - resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} - engines: {node: '>=4.8'} - dependencies: - nice-try: 1.0.5 - path-key: 2.0.1 - semver: 5.7.2 - shebang-command: 1.2.0 - which: 1.3.1 - dev: true - /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1711,33 +1662,6 @@ packages: which: 2.0.2 dev: true - /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - - /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-data-view: 1.0.1 - dev: true - /dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} dev: false @@ -1764,24 +1688,6 @@ packages: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - dependencies: - es-define-property: 1.0.0 - es-errors: 1.3.0 - gopd: 1.0.1 - dev: true - - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - has-property-descriptors: 1.0.2 - object-keys: 1.1.1 - dev: true - /depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} @@ -1830,95 +1736,6 @@ packages: is-arrayish: 0.2.1 dev: true - /es-abstract@1.23.2: - resolution: {integrity: sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==} - engines: {node: '>= 0.4'} - dependencies: - array-buffer-byte-length: 1.0.1 - arraybuffer.prototype.slice: 1.0.3 - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - data-view-buffer: 1.0.1 - data-view-byte-length: 1.0.1 - data-view-byte-offset: 1.0.0 - es-define-property: 1.0.0 - es-errors: 1.3.0 - es-object-atoms: 1.0.0 - es-set-tostringtag: 2.0.3 - es-to-primitive: 1.2.1 - function.prototype.name: 1.1.6 - get-intrinsic: 1.2.4 - get-symbol-description: 1.0.2 - globalthis: 1.0.3 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - internal-slot: 1.0.7 - is-array-buffer: 3.0.4 - is-callable: 1.2.7 - is-data-view: 1.0.1 - is-negative-zero: 2.0.3 - is-regex: 1.1.4 - is-shared-array-buffer: 1.0.3 - is-string: 1.0.7 - is-typed-array: 1.1.13 - is-weakref: 1.0.2 - object-inspect: 1.13.1 - object-keys: 1.1.1 - object.assign: 4.1.5 - regexp.prototype.flags: 1.5.2 - safe-array-concat: 1.1.2 - safe-regex-test: 1.0.3 - string.prototype.trim: 1.2.9 - string.prototype.trimend: 1.0.8 - string.prototype.trimstart: 1.0.8 - typed-array-buffer: 1.0.2 - typed-array-byte-length: 1.0.1 - typed-array-byte-offset: 1.0.2 - typed-array-length: 1.0.6 - unbox-primitive: 1.0.2 - which-typed-array: 1.1.15 - dev: true - - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - dev: true - - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: true - - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - dev: true - - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - dependencies: - get-intrinsic: 1.2.4 - has-tostringtag: 1.0.2 - hasown: 2.0.2 - dev: true - - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 - dev: true - /es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -2289,12 +2106,6 @@ packages: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - dependencies: - is-callable: 1.2.7 - dev: true - /forwarded@0.2.0: resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} engines: {node: '>= 0.6'} @@ -2323,20 +2134,6 @@ packages: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} dev: true - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - functions-have-names: 1.2.3 - dev: true - - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true - /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2346,17 +2143,6 @@ packages: resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - function-bind: 1.1.2 - has-proto: 1.0.3 - has-symbols: 1.0.3 - hasown: 2.0.2 - dev: true - /get-stack-trace@3.1.1: resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} engines: {node: '>=18.0'} @@ -2368,15 +2154,6 @@ packages: engines: {node: '>=16'} dev: true - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.2: resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} dependencies: @@ -2440,19 +2217,6 @@ packages: type-fest: 0.20.2 dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - dependencies: - define-properties: 1.2.1 - dev: true - - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - dependencies: - get-intrinsic: 1.2.4 - dev: true - /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true @@ -2461,10 +2225,6 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true - /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -2474,29 +2234,6 @@ packages: engines: {node: '>=8'} dev: true - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - dependencies: - es-define-property: 1.0.0 - dev: true - - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - dev: true - - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true - - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - /hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2579,77 +2316,27 @@ packages: /inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - dependencies: - es-errors: 1.3.0 - hasown: 2.0.2 - side-channel: 1.0.6 - dev: true - /ipaddr.js@1.9.1: resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} engines: {node: '>= 0.10'} dev: false - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - dev: true - /is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - dependencies: - has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - dev: true - - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true - /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 dev: true - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - dependencies: - is-typed-array: 1.1.13 - dev: true - - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2660,18 +2347,6 @@ packages: dependencies: is-extglob: 2.1.1 - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true - - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} @@ -2681,57 +2356,11 @@ packages: engines: {node: '>=8'} dev: true - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - has-tostringtag: 1.0.2 - dev: true - - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - dev: true - /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - dependencies: - has-tostringtag: 1.0.2 - dev: true - - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - dependencies: - has-symbols: 1.0.3 - dev: true - - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - dependencies: - which-typed-array: 1.1.15 - dev: true - - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - dependencies: - call-bind: 1.0.7 - dev: true - - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true - /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2782,7 +2411,6 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false /js-tokens@8.0.3: resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} @@ -2805,8 +2433,8 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-better-errors@1.0.2: - resolution: {integrity: sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==} + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json-schema-ref-resolver@1.0.1: @@ -2865,14 +2493,8 @@ packages: set-cookie-parser: 2.6.0 dev: false - /load-json-file@4.0.0: - resolution: {integrity: sha512-Kx8hMakjX03tiGTLAIdJ+lL0htKnXjEZN6hk/tozf/WOuYGdZBJrZ+rCJRbVCugsjB3jMLn9746NsQIf5VjBMw==} - engines: {node: '>=4'} - dependencies: - graceful-fs: 4.2.11 - parse-json: 4.0.0 - pify: 3.0.0 - strip-bom: 3.0.0 + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /local-pkg@0.5.0: @@ -3040,10 +2662,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /nice-try@1.0.5: - resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} - dev: true - /node-abi@3.56.0: resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} engines: {node: '>=10'} @@ -3080,20 +2698,18 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /npm-run-all@4.1.5: - resolution: {integrity: sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==} - engines: {node: '>= 4'} + /npm-run-all2@5.0.0: + resolution: {integrity: sha512-twczQhEpj55UROtg0Xz0nzn83TanS5Re12g5g1hcdnyAhlWOt9VNHdSHf2Z6MO3/wOVqy9tEdi0ruJt5NnMgmw==} + engines: {node: '>= 10'} hasBin: true dependencies: - ansi-styles: 3.2.1 - chalk: 2.4.2 - cross-spawn: 6.0.5 + ansi-styles: 4.3.0 + cross-spawn: 7.0.3 memorystream: 0.3.1 minimatch: 3.1.2 - pidtree: 0.3.1 - read-pkg: 3.0.0 + pidtree: 0.5.0 + read-pkg: 5.2.0 shell-quote: 1.8.1 - string.prototype.padend: 3.1.6 dev: true /npm-run-path@5.3.0: @@ -3103,25 +2719,6 @@ packages: path-key: 4.0.0 dev: true - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true - - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true - - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - has-symbols: 1.0.3 - object-keys: 1.1.1 - dev: true - /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} @@ -3183,12 +2780,14 @@ packages: callsites: 3.1.0 dev: true - /parse-json@4.0.0: - resolution: {integrity: sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==} - engines: {node: '>=4'} + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: + '@babel/code-frame': 7.24.2 error-ex: 1.3.2 - json-parse-better-errors: 1.0.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 dev: true /path-exists@4.0.0: @@ -3200,11 +2799,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /path-key@2.0.1: - resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} - engines: {node: '>=4'} - dev: true - /path-key@3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -3227,13 +2821,6 @@ packages: minipass: 7.0.4 dev: false - /path-type@3.0.0: - resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} - engines: {node: '>=4'} - dependencies: - pify: 3.0.0 - dev: true - /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -3336,17 +2923,12 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree@0.3.1: - resolution: {integrity: sha512-qQbW94hLHEqCg7nhby4yRC7G2+jYHY4Rguc2bjw7Uug4GIJuu1tvf2uHaZv5Q8zdt+WKJ6qK1FOI6amaWUo5FA==} + /pidtree@0.5.0: + resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} engines: {node: '>=0.10'} hasBin: true dev: true - /pify@3.0.0: - resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} - engines: {node: '>=4'} - dev: true - /pino-abstract-transport@1.1.0: resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} dependencies: @@ -3408,11 +2990,6 @@ packages: engines: {node: '>=12.0.0'} dev: true - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: true - /postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} @@ -3545,13 +3122,14 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /read-pkg@3.0.0: - resolution: {integrity: sha512-BLq/cCO9two+lBgiTYNqD6GdtK8s4NpaWrl6/rCO9w0TUS8oJl7cmToOZfRYllKTISY6nt1U7jQ53brmKqY6BA==} - engines: {node: '>=4'} + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: - load-json-file: 4.0.0 + '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 - path-type: 3.0.0 + parse-json: 5.2.0 + type-fest: 0.6.0 dev: true /readable-stream@4.5.2: @@ -3576,16 +3154,6 @@ packages: engines: {node: '>= 12.13.0'} dev: false - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-errors: 1.3.0 - set-function-name: 2.0.2 - dev: true - /require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -3666,29 +3234,10 @@ packages: queue-microtask: 1.2.3 dev: true - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - dependencies: - call-bind: 1.0.7 - get-intrinsic: 1.2.4 - has-symbols: 1.0.3 - isarray: 2.0.5 - dev: true - /safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-regex: 1.1.4 - dev: true - /safe-regex2@2.0.0: resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} dependencies: @@ -3741,39 +3290,10 @@ packages: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} dev: false - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - function-bind: 1.1.2 - get-intrinsic: 1.2.4 - gopd: 1.0.1 - has-property-descriptors: 1.0.2 - dev: true - - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - dependencies: - define-data-property: 1.1.4 - es-errors: 1.3.0 - functions-have-names: 1.2.3 - has-property-descriptors: 1.0.2 - dev: true - /setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: false - /shebang-command@1.2.0: - resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} - engines: {node: '>=0.10.0'} - dependencies: - shebang-regex: 1.0.0 - dev: true - /shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3781,11 +3301,6 @@ packages: shebang-regex: 3.0.0 dev: true - /shebang-regex@1.0.0: - resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} - engines: {node: '>=0.10.0'} - dev: true - /shebang-regex@3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -3800,16 +3315,6 @@ packages: hasBin: true dev: false - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - get-intrinsic: 1.2.4 - object-inspect: 1.13.1 - dev: true - /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -3907,43 +3412,6 @@ packages: engines: {node: '>=0.6.19'} dev: true - /string.prototype.padend@3.1.6: - resolution: {integrity: sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-abstract: 1.23.2 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - dev: true - - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - define-properties: 1.2.1 - es-object-atoms: 1.0.0 - dev: true - /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: @@ -3957,11 +3425,6 @@ packages: ansi-regex: 5.0.1 dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true - /strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -4098,6 +3561,11 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true + /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} @@ -4115,50 +3583,6 @@ packages: mime-types: 2.1.35 dev: false - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - es-errors: 1.3.0 - is-typed-array: 1.1.13 - dev: true - - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - dev: true - - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - dependencies: - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-proto: 1.0.3 - is-typed-array: 1.1.13 - possible-typed-array-names: 1.0.0 - dev: true - /typescript@5.4.3: resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} engines: {node: '>=14.17'} @@ -4182,15 +3606,6 @@ packages: - '@types/node' dev: true - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - dependencies: - call-bind: 1.0.7 - has-bigints: 1.0.2 - has-symbols: 1.0.3 - which-boxed-primitive: 1.0.2 - dev: true - /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} @@ -4401,34 +3816,6 @@ packages: webidl-conversions: 3.0.1 dev: false - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - dependencies: - is-bigint: 1.0.4 - is-boolean-object: 1.1.2 - is-number-object: 1.0.7 - is-string: 1.0.7 - is-symbol: 1.0.4 - dev: true - - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - dependencies: - available-typed-arrays: 1.0.7 - call-bind: 1.0.7 - for-each: 0.3.3 - gopd: 1.0.1 - has-tostringtag: 1.0.2 - dev: true - - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - dependencies: - isexe: 2.0.0 - dev: true - /which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} From 77e01efa3537b49e0fe387746c5f9f6a89c47723 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 11:11:23 +0000 Subject: [PATCH 262/452] chore(deps): update dependency npm-run-all2 to v5.0.2 (#1847) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 843b79d40..216be6e0e 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "npm-run-all2": "5.0.0", + "npm-run-all2": "5.0.2", "prettier": "3.2.5", "typescript": "5.4.3", "vitest": "1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ca2c9683b..da38ed869 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,8 +76,8 @@ importers: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) npm-run-all2: - specifier: 5.0.0 - version: 5.0.0 + specifier: 5.0.2 + version: 5.0.2 prettier: specifier: 3.2.5 version: 3.2.5 @@ -2698,12 +2698,12 @@ packages: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /npm-run-all2@5.0.0: - resolution: {integrity: sha512-twczQhEpj55UROtg0Xz0nzn83TanS5Re12g5g1hcdnyAhlWOt9VNHdSHf2Z6MO3/wOVqy9tEdi0ruJt5NnMgmw==} + /npm-run-all2@5.0.2: + resolution: {integrity: sha512-S2G6FWZ3pNWAAKm2PFSOtEAG/N+XO/kz3+9l6V91IY+Y3XFSt7Lp7DV92KCgEboEW0hRTu0vFaMe4zXDZYaOyA==} engines: {node: '>= 10'} hasBin: true dependencies: - ansi-styles: 4.3.0 + ansi-styles: 5.2.0 cross-spawn: 7.0.3 memorystream: 0.3.1 minimatch: 3.1.2 From 6ef50e3d7d5414374f51acd62ce05a190fc1c767 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 07:27:49 -0400 Subject: [PATCH 263/452] chore(deps): update dependency npm-run-all2 to v6 (#1848) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 146 ++++++++++++++++--------------------------------- 2 files changed, 47 insertions(+), 101 deletions(-) diff --git a/package.json b/package.json index 216be6e0e..4777753b9 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", - "npm-run-all2": "5.0.2", + "npm-run-all2": "6.1.2", "prettier": "3.2.5", "typescript": "5.4.3", "vitest": "1.4.0" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index da38ed869..4de13525a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -76,8 +76,8 @@ importers: specifier: 5.1.3 version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) npm-run-all2: - specifier: 5.0.2 - version: 5.0.2 + specifier: 6.1.2 + version: 6.1.2 prettier: specifier: 3.2.5 version: 3.2.5 @@ -188,6 +188,7 @@ packages: dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 + dev: false /@babel/compat-data@7.24.1: resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} @@ -325,6 +326,7 @@ packages: chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 + dev: false /@babel/parser@7.24.0: resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} @@ -1285,10 +1287,6 @@ packages: dependencies: undici-types: 5.26.5 - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true - /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: @@ -1440,6 +1438,7 @@ packages: engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: false /ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} @@ -1453,6 +1452,11 @@ packages: engines: {node: '>=10'} dev: true + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1582,6 +1586,7 @@ packages: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: false /chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} @@ -1615,6 +1620,7 @@ packages: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: false /color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} @@ -1625,6 +1631,7 @@ packages: /color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false /color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} @@ -1730,12 +1737,6 @@ packages: once: 1.4.0 dev: false - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - dependencies: - is-arrayish: 0.2.1 - dev: true - /es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} @@ -1808,6 +1809,7 @@ packages: /escape-string-regexp@1.0.5: resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} engines: {node: '>=0.8.0'} + dev: false /escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} @@ -2228,6 +2230,7 @@ packages: /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} + dev: false /has-flag@4.0.0: resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} @@ -2245,10 +2248,6 @@ packages: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} dev: false - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true - /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -2321,10 +2320,6 @@ packages: engines: {node: '>= 0.10'} dev: false - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true - /is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} @@ -2411,6 +2406,7 @@ packages: /js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false /js-tokens@8.0.3: resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} @@ -2433,8 +2429,9 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + /json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true /json-schema-ref-resolver@1.0.1: @@ -2493,10 +2490,6 @@ packages: set-cookie-parser: 2.6.0 dev: false - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true - /local-pkg@0.5.0: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} @@ -2626,6 +2619,13 @@ packages: brace-expansion: 2.0.1 dev: false + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: false @@ -2685,30 +2685,26 @@ packages: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: false - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - dependencies: - hosted-git-info: 2.8.9 - resolve: 1.22.8 - semver: 5.7.2 - validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - /npm-run-all2@5.0.2: - resolution: {integrity: sha512-S2G6FWZ3pNWAAKm2PFSOtEAG/N+XO/kz3+9l6V91IY+Y3XFSt7Lp7DV92KCgEboEW0hRTu0vFaMe4zXDZYaOyA==} - engines: {node: '>= 10'} + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /npm-run-all2@6.1.2: + resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} + engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} hasBin: true dependencies: - ansi-styles: 5.2.0 + ansi-styles: 6.2.1 cross-spawn: 7.0.3 memorystream: 0.3.1 - minimatch: 3.1.2 - pidtree: 0.5.0 - read-pkg: 5.2.0 + minimatch: 9.0.3 + pidtree: 0.6.0 + read-package-json-fast: 3.0.2 shell-quote: 1.8.1 dev: true @@ -2780,16 +2776,6 @@ packages: callsites: 3.1.0 dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - dependencies: - '@babel/code-frame': 7.24.2 - error-ex: 1.3.2 - json-parse-even-better-errors: 2.3.1 - lines-and-columns: 1.2.4 - dev: true - /path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -2923,8 +2909,8 @@ packages: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - /pidtree@0.5.0: - resolution: {integrity: sha512-9nxspIM7OpZuhBxPg73Zvyq7j1QMPMPsGKTqRc2XOaFQauDvoNz9fM1Wdkjmeo7l9GXOZiRs97sPkuayl39wjA==} + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} engines: {node: '>=0.10'} hasBin: true dev: true @@ -3122,14 +3108,12 @@ packages: resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - '@types/normalize-package-data': 2.4.4 - normalize-package-data: 2.5.0 - parse-json: 5.2.0 - type-fest: 0.6.0 + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 dev: true /readable-stream@4.5.2: @@ -3255,11 +3239,6 @@ packages: /semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - dev: true - /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true @@ -3358,28 +3337,6 @@ packages: engines: {node: '>=0.10.0'} dev: true - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - dependencies: - spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 - dev: true - - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true - - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - dependencies: - spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 - dev: true - - /spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - dev: true - /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} @@ -3445,6 +3402,7 @@ packages: engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: false /supports-color@7.2.0: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} @@ -3561,11 +3519,6 @@ packages: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true - /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} @@ -3663,13 +3616,6 @@ packages: convert-source-map: 2.0.0 dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - dependencies: - spdx-correct: 3.2.0 - spdx-expression-parse: 3.0.1 - dev: true - /validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} engines: {node: '>= 0.10'} From 004095ab5fa53444cb6e4b71433fda0d9e3f1ae1 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 25 Mar 2024 12:12:24 -0400 Subject: [PATCH 264/452] chore: remove broken plugin --- build.mjs | 16 ---------------- package.json | 1 - pnpm-lock.yaml | 40 +++++++++++++--------------------------- 3 files changed, 13 insertions(+), 44 deletions(-) diff --git a/build.mjs b/build.mjs index 431a57cda..6c568b866 100644 --- a/build.mjs +++ b/build.mjs @@ -2,7 +2,6 @@ import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin"; import fs from "node:fs"; import esbuild from "esbuild"; import { createRequire } from "node:module"; -import { codecovUnpluginFactory } from "@codecov/bundler-plugin-core"; const require = createRequire(import.meta.url); @@ -45,16 +44,6 @@ const nativeNodeModulesPlugin = { }, }; -const foo = codecovUnpluginFactory({ - bundleAnalysisUploadPlugin: () => { - return { - name: "foo", - pluginVersion: "1.0.0", - version: "1.0.0", - }; - }, -}); - esbuild .build({ sourcemap: "external", // Source map generation must be turned on @@ -70,11 +59,6 @@ esbuild }, plugins: [ nativeNodeModulesPlugin, - foo.esbuild({ - enableBundleAnalysis: true, - bundleName: "rusty-motors-server", - uploadToken: process.env.CODECOV_UPLOAD_BUNDLE_TOKEN, - }), // Put the Sentry esbuild plugin after all other plugins sentryEsbuildPlugin({ authToken: process.env.SENTRY_AUTH_TOKEN, diff --git a/package.json b/package.json index 4777753b9..79df892c5 100644 --- a/package.json +++ b/package.json @@ -24,7 +24,6 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@codecov/bundler-plugin-core": "0.0.1-beta.5", "@sentry/node": "7.108.0", "@sentry/profiling-node": "7.108.0", "@slonik/migrator": "0.12.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4de13525a..93574232c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,9 +45,6 @@ importers: specifier: ^3.22.4 version: 3.22.4 devDependencies: - '@codecov/bundler-plugin-core': - specifier: 0.0.1-beta.5 - version: 0.0.1-beta.5 '@sentry/node': specifier: 7.108.0 version: 7.108.0 @@ -383,16 +380,6 @@ packages: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true - /@codecov/bundler-plugin-core@0.0.1-beta.5: - resolution: {integrity: sha512-eltwv1aRJdwonlTD47jQ2GYdKZfMv3jCviDui32JOu12ZAiI3WdJCtjWF9zxpmnHEZ30pn0WbeZir+sXSFLJHw==} - engines: {node: '>=18.0.0'} - dependencies: - chalk: 4.1.2 - semver: 7.6.0 - unplugin: 1.10.0 - zod: 3.22.4 - dev: true - /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} @@ -1463,6 +1450,7 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + dev: false /archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} @@ -1508,6 +1496,7 @@ packages: /binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} + dev: false /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} @@ -1529,6 +1518,7 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 + dev: false /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} @@ -1615,6 +1605,7 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: false /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} @@ -2078,6 +2069,7 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: false /find-my-way@8.1.0: resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} @@ -2167,6 +2159,7 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2325,6 +2318,7 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 + dev: false /is-core-module@2.13.1: resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} @@ -2345,6 +2339,7 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} + dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} @@ -2688,6 +2683,7 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + dev: false /npm-normalize-package-bin@3.0.1: resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} @@ -2908,6 +2904,7 @@ packages: /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} + dev: false /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} @@ -3132,6 +3129,7 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: false /real-require@0.2.0: resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} @@ -3473,6 +3471,7 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: false /toad-cache@3.7.0: resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} @@ -3576,16 +3575,6 @@ packages: webpack-virtual-modules: 0.5.0 dev: false - /unplugin@1.10.0: - resolution: {integrity: sha512-CuZtvvO8ua2Wl+9q2jEaqH6m3DoQ38N7pvBYQbbaeNlWGvK2l6GHiKi29aIHDPoSxdUzQ7Unevf1/ugil5X6Pg==} - engines: {node: '>=14.0.0'} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.6.1 - dev: true - /update-browserslist-db@1.0.13(browserslist@4.23.0): resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true @@ -3746,15 +3735,12 @@ packages: /webpack-sources@3.2.3: resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} engines: {node: '>=10.13.0'} + dev: false /webpack-virtual-modules@0.5.0: resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} dev: false - /webpack-virtual-modules@0.6.1: - resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} - dev: true - /whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: From b1a25c2b43f971d985f9018fcfa87c038df21a76 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 16:16:52 +0000 Subject: [PATCH 265/452] fix(deps): update dependency slonik to v37.5.0 (#1850) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 93574232c..d6a0e2c4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: '37' - version: 37.4.0(zod@3.22.4) + version: 37.5.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 @@ -53,7 +53,7 @@ importers: version: 7.108.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.4.0) + version: 0.12.0(@types/node@20.11.30)(slonik@37.5.0) '@types/node': specifier: 20.11.30 version: 20.11.30 @@ -104,7 +104,7 @@ importers: version: 7.108.0 slonik: specifier: ^37.2.0 - version: 37.4.0(zod@3.22.4) + version: 37.5.0(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1245,13 +1245,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.4.0): + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.5.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - slonik: 37.4.0(zod@3.22.4) + slonik: 37.5.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' @@ -1728,9 +1728,6 @@ packages: once: 1.4.0 dev: false - /es6-error@4.1.1: - resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} - /esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} @@ -3301,14 +3298,13 @@ packages: engines: {node: '>=14'} dev: true - /slonik@37.4.0(zod@3.22.4): - resolution: {integrity: sha512-W9GPnc4M5+JLvrl4aMx2qkpIQrHLo6vAmCc2UeTD5Szl2uBA2ChZo3njdygK1511wrlSSDnOySY+jlLNAfpIvA==} + /slonik@37.5.0(zod@3.22.4): + resolution: {integrity: sha512-ov3boIabl9VMCtPG2cyahkF/1xJEdhFcJkdeZV/wjqc5fbXbGgwa0ppTTKf/oXSVoK+ngTFuCc8kx2kUgo4gbw==} engines: {node: '>=18'} peerDependencies: zod: ^3 dependencies: '@types/pg': 8.11.4 - es6-error: 4.1.1 get-stack-trace: 3.1.1 iso8601-duration: 1.3.0 pg: 8.11.3 From a14625eb6cb1da2b4ce2cab5a36863b06c9f8dba Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 12:20:26 -0400 Subject: [PATCH 266/452] chore(deps): update github/codeql-action digest to 1b1aada (#1838) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 11da736d3..9b273b539 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 + uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 + uses: github/codeql-action/autobuild@1b1aada464948af03b950897e5eb522f92603cc2 # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@05963f47d870e2cb19a537396c1f668a348c7d8f # v3 + uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3 From c77a9480c4480bc94889efd4ccb6df3ddb1c2e88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 25 Mar 2024 18:26:38 +0000 Subject: [PATCH 267/452] fix(deps): update dependency slonik to v37.6.0 (#1851) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d6a0e2c4e..16d25e8ab 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: '37' - version: 37.5.0(zod@3.22.4) + version: 37.6.0(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.1 @@ -53,7 +53,7 @@ importers: version: 7.108.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.5.0) + version: 0.12.0(@types/node@20.11.30)(slonik@37.6.0) '@types/node': specifier: 20.11.30 version: 20.11.30 @@ -104,7 +104,7 @@ importers: version: 7.108.0 slonik: specifier: ^37.2.0 - version: 37.5.0(zod@3.22.4) + version: 37.6.0(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1245,13 +1245,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.5.0): + /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.6.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) - slonik: 37.5.0(zod@3.22.4) + slonik: 37.6.0(zod@3.22.4) umzug: 3.7.0(@types/node@20.11.30) transitivePeerDependencies: - '@types/node' @@ -3298,8 +3298,8 @@ packages: engines: {node: '>=14'} dev: true - /slonik@37.5.0(zod@3.22.4): - resolution: {integrity: sha512-ov3boIabl9VMCtPG2cyahkF/1xJEdhFcJkdeZV/wjqc5fbXbGgwa0ppTTKf/oXSVoK+ngTFuCc8kx2kUgo4gbw==} + /slonik@37.6.0(zod@3.22.4): + resolution: {integrity: sha512-asSs2zdsmWoUWqQgJE0YKD1TJolcG0G1NomAj4kkRZiBMpAuLke6UL5mxvG5aDTX3tEtjasfSdJ4uXxSabFOpg==} engines: {node: '>=18'} peerDependencies: zod: ^3 From 0cb957b4091fdb3d5fcac0c35325b7122354aced Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 26 Mar 2024 19:27:21 +0000 Subject: [PATCH 268/452] chore(deps): update dependency node to v20.12.0 (#1853) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 2dbbe00e6..2b9cabc07 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.11.1 +20.12.0 From 69ae26a1057b693466cc666fd03f8b30c8373647 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 28 Mar 2024 20:43:42 +0000 Subject: [PATCH 269/452] fix(deps): update sentry-javascript monorepo to v7.109.0 (#1855) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 79df892c5..47e614e73 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@sentry/node": "7.108.0", - "@sentry/profiling-node": "7.108.0", + "@sentry/node": "7.109.0", + "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", "@types/node": "20.11.30", "@vitest/coverage-v8": "1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 16d25e8ab..3231c9752 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,11 +46,11 @@ importers: version: 3.22.4 devDependencies: '@sentry/node': - specifier: 7.108.0 - version: 7.108.0 + specifier: 7.109.0 + version: 7.109.0 '@sentry/profiling-node': - specifier: 7.108.0 - version: 7.108.0 + specifier: 7.109.0 + version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.11.30)(slonik@37.6.0) @@ -101,7 +101,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.108.0 + version: 7.109.0 slonik: specifier: ^37.2.0 version: 37.6.0(zod@3.22.4) @@ -122,7 +122,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.108.0 + version: 7.109.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -141,7 +141,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.108.0 + version: 7.109.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1077,13 +1077,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.108.0: - resolution: {integrity: sha512-zuK5XsTsb+U+hgn3SPetYDAogrXsM16U/LLoMW7+TlC6UjlHGYQvmX3o+M2vntejoU1QZS8m1bCAZSMWEypAEw==} + /@sentry-internal/tracing@7.109.0: + resolution: {integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.108.0 - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 + '@sentry/core': 7.109.0 + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 /@sentry/babel-plugin-component-annotate@2.16.0: resolution: {integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==} @@ -1193,12 +1193,12 @@ packages: - supports-color dev: false - /@sentry/core@7.108.0: - resolution: {integrity: sha512-I/VNZCFgLASxHZaD0EtxZRM34WG9w2gozqgrKGNMzAymwmQ3K9g/1qmBy4e6iS3YRptb7J5UhQkZQHrcwBbjWQ==} + /@sentry/core@7.109.0: + resolution: {integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 /@sentry/esbuild-plugin@2.16.0: resolution: {integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==} @@ -1212,17 +1212,17 @@ packages: - supports-color dev: false - /@sentry/node@7.108.0: - resolution: {integrity: sha512-pMxc9txnDDkU4Z8k2Uw/DPSLPehNtWV3mjJ3+my0AMORGYrXLkJI93tddlE5z/7k+GEJdj1HsOLgxUN0OU+HGA==} + /@sentry/node@7.109.0: + resolution: {integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.108.0 - '@sentry/core': 7.108.0 - '@sentry/types': 7.108.0 - '@sentry/utils': 7.108.0 + '@sentry-internal/tracing': 7.109.0 + '@sentry/core': 7.109.0 + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 - /@sentry/profiling-node@7.108.0: - resolution: {integrity: sha512-P0yD4h8pACgSlD74q/QrMLyhQYs6CR1cTB8VVFsOPuymwUTaS+QTGOqIwQVEXAL9Bit5ds0ZbrZnJTP8GHOETg==} + /@sentry/profiling-node@7.109.0: + resolution: {integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1231,15 +1231,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.108.0: - resolution: {integrity: sha512-bKtHITmBN3kqtqE5eVvL8mY8znM05vEodENwRpcm6TSrrBjC2RnwNWVwGstYDdHpNfFuKwC8mLY9bgMJcENo8g==} + /@sentry/types@7.109.0: + resolution: {integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==} engines: {node: '>=8'} - /@sentry/utils@7.108.0: - resolution: {integrity: sha512-a45yEFD5qtgZaIFRAcFkG8C8lnDzn6t4LfLXuV4OafGAy/3ZAN3XN8wDnrruHkiUezSSANGsLg3bXaLW/JLvJw==} + /@sentry/utils@7.109.0: + resolution: {integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.108.0 + '@sentry/types': 7.109.0 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From 00b7e75dadf475ca4106e24f6a6d2b1c4d82fcc9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 05:37:42 +0000 Subject: [PATCH 270/452] chore(deps): update dependency @types/node to v20.12.1 (#1857) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 47e614e73..3f340ae74 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.11.30", + "@types/node": "20.12.1", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3231c9752..1dafdb80c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.11.30)(slonik@37.6.0) + version: 0.12.0(@types/node@20.12.1)(slonik@37.6.0) '@types/node': - specifier: 20.11.30 - version: 20.11.30 + specifier: 20.12.1 + version: 20.12.1 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.11.30) + version: 1.4.0(@types/node@20.12.1) apps/main: dependencies: @@ -1036,7 +1036,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.11.30): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.1): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1044,7 +1044,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.1 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1053,7 +1053,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.11.30): + /@rushstack/terminal@0.10.0(@types/node@20.12.1): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1061,15 +1061,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.11.30) - '@types/node': 20.11.30 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.1) + '@types/node': 20.12.1 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.11.30): + /@rushstack/ts-command-line@4.19.0(@types/node@20.12.1): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.11.30) + '@rushstack/terminal': 0.10.0(@types/node@20.12.1) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1245,14 +1245,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.11.30)(slonik@37.6.0): + /@slonik/migrator@0.12.0(@types/node@20.12.1)(slonik@37.6.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.1) slonik: 37.6.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.11.30) + umzug: 3.7.0(@types/node@20.12.1) transitivePeerDependencies: - '@types/node' dev: true @@ -1269,15 +1269,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.11.30: - resolution: {integrity: sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==} + /@types/node@20.12.1: + resolution: {integrity: sha512-5lcxgB72hlSF7ZS9ZzX1RCLc9+BovxjL17T00xSmj3c0ygZFjPdNnN0RchfGpot/yniVMkWnyO6aR9Dr1q9qrg==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.1 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1304,7 +1304,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.11.30) + vitest: 1.4.0(@types/node@20.12.1) transitivePeerDependencies: - supports-color dev: true @@ -3541,11 +3541,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.11.30): + /umzug@3.7.0(@types/node@20.12.1): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.11.30) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.1) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3611,7 +3611,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.11.30): + /vite-node@1.4.0(@types/node@20.12.1): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3620,7 +3620,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.11.30) + vite: 5.1.4(@types/node@20.12.1) transitivePeerDependencies: - '@types/node' - less @@ -3632,7 +3632,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.11.30): + /vite@5.1.4(@types/node@20.12.1): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3660,7 +3660,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.1 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -3668,7 +3668,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.11.30): + /vitest@1.4.0(@types/node@20.12.1): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3693,7 +3693,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.11.30 + '@types/node': 20.12.1 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3711,8 +3711,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.11.30) - vite-node: 1.4.0(@types/node@20.11.30) + vite: 5.1.4(@types/node@20.12.1) + vite-node: 1.4.0(@types/node@20.12.1) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 50b10c64dfcaa42bd049b4960772c2c2270081e5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 30 Mar 2024 07:25:00 +0000 Subject: [PATCH 271/452] chore(deps): update dependency @types/node to v20.12.2 (#1858) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 3f340ae74..936d44968 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.1", + "@types/node": "20.12.2", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1dafdb80c..f8c81a896 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.1)(slonik@37.6.0) + version: 0.12.0(@types/node@20.12.2)(slonik@37.6.0) '@types/node': - specifier: 20.12.1 - version: 20.12.1 + specifier: 20.12.2 + version: 20.12.2 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.1) + version: 1.4.0(@types/node@20.12.2) apps/main: dependencies: @@ -1036,7 +1036,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.1): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1044,7 +1044,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.1 + '@types/node': 20.12.2 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1053,7 +1053,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.1): + /@rushstack/terminal@0.10.0(@types/node@20.12.2): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1061,15 +1061,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.1) - '@types/node': 20.12.1 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.2) + '@types/node': 20.12.2 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.0(@types/node@20.12.1): + /@rushstack/ts-command-line@4.19.0(@types/node@20.12.2): resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.1) + '@rushstack/terminal': 0.10.0(@types/node@20.12.2) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1245,14 +1245,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.1)(slonik@37.6.0): + /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@37.6.0): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.1) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.2) slonik: 37.6.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.1) + umzug: 3.7.0(@types/node@20.12.2) transitivePeerDependencies: - '@types/node' dev: true @@ -1269,15 +1269,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.1: - resolution: {integrity: sha512-5lcxgB72hlSF7ZS9ZzX1RCLc9+BovxjL17T00xSmj3c0ygZFjPdNnN0RchfGpot/yniVMkWnyO6aR9Dr1q9qrg==} + /@types/node@20.12.2: + resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.1 + '@types/node': 20.12.2 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1304,7 +1304,7 @@ packages: strip-literal: 2.0.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.1) + vitest: 1.4.0(@types/node@20.12.2) transitivePeerDependencies: - supports-color dev: true @@ -3541,11 +3541,11 @@ packages: resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} dev: true - /umzug@3.7.0(@types/node@20.12.1): + /umzug@3.7.0(@types/node@20.12.2): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.1) + '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.2) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3611,7 +3611,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.1): + /vite-node@1.4.0(@types/node@20.12.2): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3620,7 +3620,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.12.1) + vite: 5.1.4(@types/node@20.12.2) transitivePeerDependencies: - '@types/node' - less @@ -3632,7 +3632,7 @@ packages: - terser dev: true - /vite@5.1.4(@types/node@20.12.1): + /vite@5.1.4(@types/node@20.12.2): resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3660,7 +3660,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.1 + '@types/node': 20.12.2 esbuild: 0.19.12 postcss: 8.4.35 rollup: 4.12.0 @@ -3668,7 +3668,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.1): + /vitest@1.4.0(@types/node@20.12.2): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3693,7 +3693,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.1 + '@types/node': 20.12.2 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3711,8 +3711,8 @@ packages: strip-literal: 2.0.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.12.1) - vite-node: 1.4.0(@types/node@20.12.1) + vite: 5.1.4(@types/node@20.12.2) + vite-node: 1.4.0(@types/node@20.12.2) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 20636c6c3d545189c9a950bfc5f03b0ffb237438 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 30 Mar 2024 11:09:56 -0400 Subject: [PATCH 272/452] chore(docs): add starting tutorial.md (#1859) * chore: modify cert, key, registry to download * chore(test): write test for web methods * chore(deps): update dependencies * chore(test): add test for generateShardList * Add .env.example file and update docker-compose.yml*** --- .env.example | 4 + STARTING.md | 101 + docker-compose.yml | 4 +- package.json | 8 +- packages/gateway/src/GatewayServer.ts | 2 +- packages/gateway/src/encryption.d.ts | 27 - packages/gateway/src/index.d.ts | 86 - packages/gateway/src/web.d.ts | 8 - packages/gateway/src/web.ts | 25 +- packages/gateway/test/web.test.ts | 51 + packages/shard/src/ShardServer.d.ts | 6 - packages/shard/src/index.ts | 12 +- packages/shard/src/shard-entry.d.ts | 58 - pnpm-lock.yaml | 9162 +++++++++++++++---------- pull_nginx_image.sh | 4 + 15 files changed, 5558 insertions(+), 4000 deletions(-) create mode 100644 .env.example create mode 100644 STARTING.md delete mode 100644 packages/gateway/src/encryption.d.ts delete mode 100644 packages/gateway/src/index.d.ts delete mode 100644 packages/gateway/src/web.d.ts create mode 100644 packages/gateway/test/web.test.ts delete mode 100644 packages/shard/src/ShardServer.d.ts delete mode 100644 packages/shard/src/shard-entry.d.ts create mode 100755 pull_nginx_image.sh diff --git a/.env.example b/.env.example new file mode 100644 index 000000000..0a7dc3fb9 --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +EXTERNAL_HOST= +CERTIFICATE_FILE= +PRIVATE_KEY_FILE= +PUBLIC_KEY_FILE= \ No newline at end of file diff --git a/STARTING.md b/STARTING.md new file mode 100644 index 000000000..b1998e463 --- /dev/null +++ b/STARTING.md @@ -0,0 +1,101 @@ +# Getting started as a user + +Documention type: Tutorial + +Last updated: 2003c90b4aecc5150116e83a0f14d18f44bf3536 + +--- + +This project isn't really geared towards an player of the game, but if you want to try it out, this is how to do so: + +## Requirements + +// TODO: Link to the install docs for each item + +- Internet +- Linux +- Git +- Docker +- Docker Compose +- NodeJS (v20.x - v21.x) +- The debug copy of the game + +## Setup + +After getting the requirements above ready, perform the following steps: + +### On the computer where you are running the server + +1. Open a terminal or command prompt +2. Type `git clone https://github.com/rustymotors/server.git rusty-server` and press enter +3. Type `cd rusty-server` and press enter +4. Type `./mcos/pull_nginx_image.sh` and press enter (this step may take a while, depending on your internet speed) +5. Type `docker-compose up -d` and press enter +6. Type `corepack enable pnpm` and press enter +7. Type `pnpm install` and press enter +8. Type `pnpm run build` and press enter +9. Type `cp .env.example .env` and press enter +10. Open the `.env` file with your favorite text editing program (the simpler the better) and edit the values as follows: + a. `EXTERNAL_HOST=` - Add the hostname or ip of the computer you are running this server on. This value MUST be reachable from where you install the game. + b. `CERTIFICATE_FILE=` - The relitive path from the `rusty-server` folder to the SSL certificate. If you want to use the one I have included with the repository (highly recomended), the value will be `data/mcouniverse.crt` + c. `PRIVATE_KEY_FILE` - The path to the private key. Use `data/private_key.pem` for the working copy + d. `PUBLIC_KEY_FILE` - The path to the public key. Use `data/pub.key` for the working copy +11. Type `npm start` and press enter +12. If the last message on your screen is `Server listening at http://0.0.0.0:3000`, then the server is running! + +### On the computer where you are running the game + +1. Open a web browser +2. In the address bar, type `/cert` where \ is the value you saved in the .env file on the server. Do not include the brackets, and press enter +3. Some text should load. The first line should contain `BEGIN CERTIFICATE` +4. Click "Save" when asked if you want to open or save +5. Select the folder you want to save in (I like the Desktop), but before you press "save", make sure to edit the file name so it says `"cert.crt"`. THE QUOTES ARE IMPORTANT +6. Sorry for the caps. Click "Save" if you haven't already +7. In the folder where you saved the certificate, you should see a file named "cert" with an icon that looks like a certificate. Double-click on it. + +--- + +## 7.5. From this point on, I'm going to tell you to do a bunch of things that Windows will warn you NOT to do. This is because in order to have the game connect to our server we have to use some very old security methods that are no longer advised to be used. If you don't trust me, that's fine. But it won't work otherwise. Let's proceed. + +8. We are looking at a windows that says "The CA Root Certificate is not trusted". Press "Install Certificate" +9. Click "Next" +10. You are now on a screen that asks where you want to save this certificate. +11. Click on the "Place all certificates in the following store" and click "browse" +12. Select "Trusted Roor Certification Authorities". This should be the second one down. +13. Click "Ok" +14. Click "Next" +15. Click "Finish" + 16 You now have a window warning you that you are installing a untrusted root certificate that is unknown to Windows. Click "Yes" +16. Click "ok" and then click "Ok" again. +17. Return to your web browser. +18. In the address bar, type `/key` where \ is the value you saved in the .env file on the server. Do not include the brackets, and press enter +19. A long string of letters and numbers should load. +20. Click "Save" when asked if you want to open or save +21. Select the folder you want to save in (I like the Desktop), but before you press "save", make sure to edit the file name so it says `"pub.key"`. Again, make sure to include the quotes +22. Click "Save" +23. Copy the file you just saved to your game install folder. Tell Wndows it is ok to overwrite the existing file of the same name. +24. Return to your web browser +25. In the address bar, type `/registry` where \ is the value you saved in the .env file on the server. Do not include the brackets, and press enter +26. Some text will load. The first line should contain "Windows Registry Editor" +27. Click "Save" when asked if you want to open or save +28. Select the folder you want to save in (I like the Desktop), but before you press "save", make sure to edit the file name so it says `"client.reg"`. Again, make sure to include the quotes +29. Click "Save" + +30. This next step has a slight change, depending on what version of Windows you have installed the game under + a. If you are using Windows XP (or lower), you will need to edit this file we just save. To do so, right-click on the saved file and choose "edit" + If Windows prompts you that the file is not signed, click "open". + Every line that starts `HKEY_LOCAL_MACHINE\Software\WOW6432Node\`, change to say `HKEY_LOCAL_MACHINE\Software\`. Leve the rest of the line. Save. + b. If you are using a version of Windows that is newer then Windows XP, no action is needed here +31. Double-click on the saved file. +32. f Windows prompts you that the file is not signed, click "open". +33. Windows will ask you if you are sure you want to import this registry file. Click "yes" +34. Click "Ok" + +## Running + +If you haven't followed all the steps under the Setup section, this will probably not work well + +37. Double-click the debug copy of the game +38. There are two pre-created logins, depending on what part you to see: + a. Username: "admin", Password: "admin" - No existing account, profile creation possible (not playabl, even if it says it was created) + b. Username: "molly", Password: "molly" - Existing account, can login to the server and reach the lobby. Any activities past that probably won't work. diff --git a/docker-compose.yml b/docker-compose.yml index 7f3103022..ac8e661d3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:latest@sha256:6b841c8f6a819884207402f1209a8116844365df15fca8cf556fc54a24c70800 + image: postgres:latest restart: always environment: POSTGRES_DB: rm @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer@sha256:b75eae89431e8469613b844e76382a26efc8601c17f446bcd81665bc87ca9a1f + image: adminer restart: always ports: - 8080:8080 diff --git a/package.json b/package.json index 936d44968..e15b14d61 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "rusty-motors", - "version": "1.0.1", + "version": "0.5.0", "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", "type": "module", "exports": { @@ -44,11 +44,11 @@ "@rustymotors/shared": "workspace:^", "@rustymotors/shared-packets": "workspace:^", "@sentry/esbuild-plugin": "^2.16.0", - "fastify": "^4.25.2", - "pino": "^8.18.0", + "fastify": "^4.26.2", + "pino": "^8.19.0", "pino-pretty": "^11.0.0", "short-unique-id": "^5.0.3", - "slonik": "37", + "slonik": "^37.6.0", "tsx": "^4.7.1", "zod": "^3.22.4" }, diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index c58483e47..181ca1cde 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -167,7 +167,7 @@ export class Gateway { } // Start the web server - await addWebRoutes(this.webServer); + addWebRoutes(this.webServer); this.webServer.listen( { diff --git a/packages/gateway/src/encryption.d.ts b/packages/gateway/src/encryption.d.ts deleted file mode 100644 index 33c2bd93c..000000000 --- a/packages/gateway/src/encryption.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { McosEncryptionPair } from "../../shared"; -/** - * This function creates a new encryption pair for use with the game server - * - * @param {string} key The key to use for encryption - * @returns {McosEncryptionPair} The encryption pair - */ -export declare function createCommandEncryptionPair( - key: string, -): McosEncryptionPair; -/** - * This function creates a new encryption pair for use with the database server - * - * @param {string} key The key to use for encryption - * @returns {McosEncryptionPair} The encryption pair - * @throws Error if the key is too short - */ -export declare function createDataEncryptionPair( - key: string, -): McosEncryptionPair; -/** - * This function checks if the server supports the legacy ciphers - * - * @returns void - * @throws Error if the server does not support the legacy ciphers - */ -export declare function verifyLegacyCipherSupport(): void; diff --git a/packages/gateway/src/index.d.ts b/packages/gateway/src/index.d.ts deleted file mode 100644 index 7d53ff627..000000000 --- a/packages/gateway/src/index.d.ts +++ /dev/null @@ -1,86 +0,0 @@ -/// -/// -/// -import { type TServerLogger } from "../../shared"; -import { ServerLogger } from "../../shared"; -import { Socket } from "node:net"; -import { GameMessage as OldGameMessage } from "../../nps/index.js"; -import type { SocketCallback } from "../../nps/messageProcessors/index.js"; -/** - * @typedef {object} OnDataHandlerArgs - * @property {object} args - * @property {string} args.connectionId The connection id of the socket that - * received the data. - * @property {module:packages/shared/RawMessage} args.message The data that was received. - * @property {module:shared/log.ServerLogger} args.log - * response - * to the - * data. - */ -/** - * @typedef {function} OnDataHandler - * @param {OnDataHandlerArgs} args The arguments for the handler. - * @returns {ServiceResponse} The - * response - * to the - * data. - */ -/** - * Handle socket errors - */ -export declare function socketErrorHandler({ - connectionId, - error, - log, -}: { - connectionId: string; - error: NodeJS.ErrnoException; - log: TServerLogger; -}): void; -/** - * Handle the end of a socket connection - * - * @param {object} options - * @param {string} options.connectionId The connection ID - * @param {ServerLogger} options.log The logger to use - */ -export declare function socketEndHandler({ - connectionId, - log, -}: { - connectionId: string; - log: ServerLogger; -}): void; -/** - * Handle incoming TCP connections - * - * @param {object} options - * @param {module:net.Socket} options.incomingSocket The incoming socket - * @param {ServerLogger} options.log The logger to use - * - */ -export declare function onSocketConnection({ - incomingSocket, - log, -}: { - incomingSocket: Socket; - log: TServerLogger; -}): void; -export declare function processGameMessage( - connectionId: string, - message: OldGameMessage, - log: TServerLogger, - socketCallback: SocketCallback, -): void; -export declare function handleGameMessage( - connectionId: string, - bytes: Buffer, - log: TServerLogger, - socketCallback: SocketCallback, -): void; -export declare function handleServerMessage( - connectionId: string, - bytes: Buffer, - log: ServerLogger, - socketCallback: SocketCallback, -): void; diff --git a/packages/gateway/src/web.d.ts b/packages/gateway/src/web.d.ts deleted file mode 100644 index d2b575a73..000000000 --- a/packages/gateway/src/web.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -/** - * Add web routes to the web server - * - * @param {import("fastify").FastifyInstance} webServer The web server - */ -export declare function addWebRoutes( - webServer: import("fastify").FastifyInstance, -): Promise; diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index af6ef1866..9cf9b3e99 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -30,9 +30,7 @@ import { generateToken } from "../../nps/services/token.js"; * * @param {import("fastify").FastifyInstance} webServer The web server */ -export async function addWebRoutes( - webServer: import("fastify").FastifyInstance, -) { +export function addWebRoutes(webServer: import("fastify").FastifyInstance) { webServer.addContentTypeParser("*", function (request, payload, done) { let data = ""; payload.on("data", (chunk) => { @@ -43,7 +41,7 @@ export async function addWebRoutes( }); }); - webServer.get("/", async (_request, reply) => { + webServer.get("/", (_request, reply) => { return reply.send("Hello, world!"); }); @@ -114,20 +112,26 @@ export async function addWebRoutes( return reply.send(generateShardList(config.host)); }); - webServer.get("/cert", (_request, reply) => { + webServer.get("/cert", async (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { throw new Error("No host defined in config"); } - return reply.send(handleGetCert(config)); + const certFile = await handleGetCert(config); + reply.header("Content-Type", "text/plain"); + reply.header("Content-Disposition", "attachment; filename=cert.crt"); + reply.send(certFile); }); - webServer.get("/key", (_request, reply) => { + webServer.get("/key", async (_request, reply) => { const config = getServerConfiguration({}); if (typeof config.host === "undefined") { throw new Error("No host defined in config"); } - return reply.send(handleGetKey(config)); + const keyFile = await handleGetKey(config); + reply.header("Content-Type", "text/plain"); + reply.header("Content-Disposition", "attachment; filename=pub.key"); + reply.send(keyFile); }); webServer.get("/registry", (_request, reply) => { @@ -135,6 +139,9 @@ export async function addWebRoutes( if (typeof config.host === "undefined") { throw new Error("No host defined in config"); } - return reply.send(handleGetRegistry(config)); + const regFile = handleGetRegistry(config); + reply.header("Content-Type", "text/plain"); + reply.header("Content-Disposition", "attachment; filename=client.reg"); + reply.send(regFile); }); } diff --git a/packages/gateway/test/web.test.ts b/packages/gateway/test/web.test.ts new file mode 100644 index 000000000..bd36e9f1d --- /dev/null +++ b/packages/gateway/test/web.test.ts @@ -0,0 +1,51 @@ +import { describe, it, expect, vi } from "vitest"; +import { generateShardList } from "../../shard/src/ShardServer"; +import { + handleGetCert, + handleGetKey, + handleGetRegistry, +} from "../../shard/src/index"; + +function mockConfig() { + return { + certificateFile: "test", + privateKeyFile: "test", + publicKeyFile: "test", + host: "test", + }; +} + +describe("web", () => { + it("handleGetCert", async () => { + vi.mock("fs/promises", async (importOriginal) => { + return { + ...(await importOriginal()), + readFile: () => { + return "test"; + }, + }; + }); + const config = mockConfig(); + const result = await handleGetCert(config); + expect(result).toBe("test"); + }); + + it("handleGetRegistry", () => { + const config = mockConfig(); + const result = handleGetRegistry(config); + expect(result).toContain('Windows Registry Editor Version 5.00'); + expect(result).toContain('"ShardUrlDev"="http://test/ShardList/"'); + }); + + it("handleGetKey", async () => { + const config = mockConfig(); + const result = await handleGetKey(config); + expect(result).toBe("test"); + }); + + it("generateShardList", () => { + const config = mockConfig(); + const result = generateShardList(config.host); + expect(result).toContain("LoginServerIP=test"); + }); +}); diff --git a/packages/shard/src/ShardServer.d.ts b/packages/shard/src/ShardServer.d.ts deleted file mode 100644 index b36eb1315..000000000 --- a/packages/shard/src/ShardServer.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Generate a shard list web document - * - * @param {string} shardHost - */ -export declare function generateShardList(shardHost: string): string; diff --git a/packages/shard/src/index.ts b/packages/shard/src/index.ts index 1c62b4e90..ea80f8469 100644 --- a/packages/shard/src/index.ts +++ b/packages/shard/src/index.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { readFileSync } from "node:fs"; +import { readFile } from "node:fs/promises"; import { Configuration } from "../../shared"; // This section of the server can not be encrypted. This is an intentional choice for compatibility @@ -25,13 +25,12 @@ import { Configuration } from "../../shared"; * @param {TConfiguration} config * @return {string} */ -export function handleGetCert(config: Configuration): string { +export async function handleGetCert(config: Configuration): Promise { if (config.certificateFile === undefined) { throw new Error("Certificate file not defined"); } try { - const cert = readFileSync(config.certificateFile, "utf8"); - return cert; + return await readFile(config.certificateFile, "utf8"); } catch (err) { throw new Error(`Error reading certificate file: ${String(err)}`); } @@ -81,13 +80,12 @@ export function handleGetRegistry(config: Configuration): string { * @param {TConfiguration} config * @return {string} */ -export function handleGetKey(config: Configuration): string { +export async function handleGetKey(config: Configuration): Promise { if (config.publicKeyFile === undefined) { throw new Error("Public key file not defined"); } try { - const key = readFileSync(config.publicKeyFile, "utf8"); - return key; + return await readFile(config.publicKeyFile, "utf8"); } catch (err) { throw new Error(`Error reading public key file: ${String(err)}`); } diff --git a/packages/shard/src/shard-entry.d.ts b/packages/shard/src/shard-entry.d.ts deleted file mode 100644 index d75e60ddc..000000000 --- a/packages/shard/src/shard-entry.d.ts +++ /dev/null @@ -1,58 +0,0 @@ -export declare class ShardEntry { - name: string; - description: string; - id: number; - loginServerIp: string; - loginServerPort: number; - lobbyServerIp: string; - lobbyServerPort: number; - mcotsServerIp: string; - statusId: number; - statusReason: string; - serverGroupName: string; - population: number; - maxPersonasPerUser: number; - diagnosticServerHost: string; - diagnosticServerPort: number; - /** - * - * @param {string} name - * @param {string} description - * @param {number} id - * @param {string} loginServerIp - * @param {number} loginServerPort - * @param {string} lobbyServerIp - * @param {number} lobbyServerPort - * @param {string} mcotsServerIp - * @param {number} statusId - * @param {string} statusReason - * @param {string} serverGroupName - * @param {number} population - * @param {number} maxPersonasPerUser - * @param {string} diagnosticServerHost - * @param {number} diagnosticServerPort - */ - constructor( - name: string, - description: string, - id: number, - loginServerIp: string, - loginServerPort: number, - lobbyServerIp: string, - lobbyServerPort: number, - mcotsServerIp: string, - statusId: number, - statusReason: string, - serverGroupName: string, - population: number, - maxPersonasPerUser: number, - diagnosticServerHost: string, - diagnosticServerPort: number, - ); - /** - * Return the entry in a formatted string - * - * @return {string} - */ - formatForShardList(): string; -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f8c81a896..aca74327e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,3799 +1,5377 @@ -lockfileVersion: '6.0' +lockfileVersion: "6.0" settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - - .: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/database': - specifier: workspace:^ - version: link:packages/database - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:packages/shared-packets - '@sentry/esbuild-plugin': - specifier: ^2.16.0 - version: 2.16.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: '37' - version: 37.6.0(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - zod: - specifier: ^3.22.4 - version: 3.22.4 - devDependencies: - '@sentry/node': - specifier: 7.109.0 - version: 7.109.0 - '@sentry/profiling-node': - specifier: 7.109.0 - version: 7.109.0 - '@slonik/migrator': - specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.2)(slonik@37.6.0) - '@types/node': - specifier: 20.12.2 - version: 20.12.2 - '@vitest/coverage-v8': - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - esbuild: - specifier: 0.20.2 - version: 0.20.2 - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - npm-run-all2: - specifier: 6.1.2 - version: 6.1.2 - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.3 - version: 5.4.3 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2) - - apps/main: - dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - '@rustymotors/shared': - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.109.0 - slonik: - specifier: ^37.2.0 - version: 37.6.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:../shared-packets - '@sentry/node': - specifier: ^7.102.0 - version: 7.109.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - '@rustymotors/database': - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.109.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - - packages/shared-packets: {} - - packages/transactions: {} + .: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/database": + specifier: workspace:^ + version: link:packages/database + "@rustymotors/shared": + specifier: workspace:^ + version: link:packages/shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:packages/shared-packets + "@sentry/esbuild-plugin": + specifier: ^2.16.0 + version: 2.16.0 + fastify: + specifier: ^4.26.2 + version: 4.26.2 + pino: + specifier: ^8.19.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: ^37.6.0 + version: 37.6.0(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + zod: + specifier: ^3.22.4 + version: 3.22.4 + devDependencies: + "@sentry/node": + specifier: 7.109.0 + version: 7.109.0 + "@sentry/profiling-node": + specifier: 7.109.0 + version: 7.109.0 + "@slonik/migrator": + specifier: 0.12.0 + version: 0.12.0(@types/node@20.12.2)(slonik@37.6.0) + "@types/node": + specifier: 20.12.2 + version: 20.12.2 + "@vitest/coverage-v8": + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + esbuild: + specifier: 0.20.2 + version: 0.20.2 + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + npm-run-all2: + specifier: 6.1.2 + version: 6.1.2 + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.3 + version: 5.4.3 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.12.2) + + apps/main: + dependencies: + "@rustymotors/shared": + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + "@rustymotors/shared": + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.109.0 + slonik: + specifier: ^37.2.0 + version: 37.6.0(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + "@fastify/sensible": + specifier: ^5.5.0 + version: 5.5.0 + "@rustymotors/shared": + specifier: workspace:^ + version: link:../shared + "@rustymotors/shared-packets": + specifier: workspace:^ + version: link:../shared-packets + "@sentry/node": + specifier: ^7.102.0 + version: 7.109.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + "@rustymotors/database": + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + "@sentry/node": + specifier: ^7.102.0 + version: 7.109.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + + packages/shared-packets: {} + + packages/transactions: {} packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: ">=0.10.0" } + dev: true + + /@ampproject/remapping@2.3.0: + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + + /@babel/code-frame@7.24.2: + resolution: + { + integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/highlight": 7.24.2 + picocolors: 1.0.0 + dev: false + + /@babel/compat-data@7.24.1: + resolution: + { + integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/core@7.24.3: + resolution: + { + integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@ampproject/remapping": 2.3.0 + "@babel/code-frame": 7.24.2 + "@babel/generator": 7.24.1 + "@babel/helper-compilation-targets": 7.23.6 + "@babel/helper-module-transforms": 7.23.3(@babel/core@7.24.3) + "@babel/helpers": 7.24.1 + "@babel/parser": 7.24.1 + "@babel/template": 7.24.0 + "@babel/traverse": 7.24.1 + "@babel/types": 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.24.1: + resolution: + { + integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + "@jridgewell/gen-mapping": 0.3.5 + "@jridgewell/trace-mapping": 0.3.25 + jsesc: 2.5.2 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: + { + integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/compat-data": 7.24.1 + "@babel/helper-validator-option": 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: + { + integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: + { + integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.24.0 + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-module-imports@7.24.3: + resolution: + { + integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: ">=6.9.0" } + peerDependencies: + "@babel/core": ^7.0.0 + dependencies: + "@babel/core": 7.24.3 + "@babel/helper-environment-visitor": 7.22.20 + "@babel/helper-module-imports": 7.24.3 + "@babel/helper-simple-access": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + "@babel/helper-validator-identifier": 7.22.20 + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/types": 7.24.0 + dev: false + + /@babel/helper-string-parser@7.24.1: + resolution: + { + integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-identifier@7.22.20: + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: ">=6.9.0" } + + /@babel/helper-validator-option@7.23.5: + resolution: + { + integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, + } + engines: { node: ">=6.9.0" } + dev: false + + /@babel/helpers@7.24.1: + resolution: + { + integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/template": 7.24.0 + "@babel/traverse": 7.24.1 + "@babel/types": 7.24.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.24.2: + resolution: + { + integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-validator-identifier": 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + + /@babel/parser@7.24.1: + resolution: + { + integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==, + } + engines: { node: ">=6.0.0" } + hasBin: true + dependencies: + "@babel/types": 7.24.0 + + /@babel/template@7.24.0: + resolution: + { + integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.24.2 + "@babel/parser": 7.24.1 + "@babel/types": 7.24.0 + dev: false + + /@babel/traverse@7.24.1: + resolution: + { + integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/code-frame": 7.24.2 + "@babel/generator": 7.24.1 + "@babel/helper-environment-visitor": 7.22.20 + "@babel/helper-function-name": 7.23.0 + "@babel/helper-hoist-variables": 7.22.5 + "@babel/helper-split-export-declaration": 7.22.6 + "@babel/parser": 7.24.1 + "@babel/types": 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.0: + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: ">=6.9.0" } + dependencies: + "@babel/helper-string-parser": 7.24.1 + "@babel/helper-validator-identifier": 7.22.20 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: + { + integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: + { + integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: + { + integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: + { + integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: + { + integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: + { + integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: + { + integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: + { + integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: + { + integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: + { + integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, + } + engines: { node: ">=12" } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: + { + integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: + { + integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, + } + engines: { node: ">=12" } + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: + { + integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, + } + engines: { node: ">=12" } + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: + { + integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, + } + engines: { node: ">=12" } + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: + { + integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, + } + engines: { node: ">=12" } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: + { + integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, + } + engines: { node: ">=12" } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: + { + integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: + { + integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: + { + integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: + { + integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: + { + integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, + } + engines: { node: ">=12" } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: + { + integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, + } + engines: { node: ">=12" } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: + { + integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, + } + engines: { node: ">=12" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: + { + integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, + } + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: + { + integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, + } + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: + { + integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, + } + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: + { + integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: + { + integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, + } + dependencies: + "@lukeed/ms": 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: ">=10.10.0" } + dependencies: + "@humanwhocodes/object-schema": 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: ">=12.22" } + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: + { + integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, + } + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: ">=8" } + dev: true + + /@jest/schemas@29.6.3: + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@sinclair/typebox": 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: ">=6.0.0" } + dependencies: + "@jridgewell/set-array": 1.2.1 + "@jridgewell/sourcemap-codec": 1.4.15 + "@jridgewell/trace-mapping": 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: ">=6.0.0" } + + /@jridgewell/set-array@1.2.1: + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: ">=6.0.0" } + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } + + /@jridgewell/trace-mapping@0.3.25: + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } + dependencies: + "@jridgewell/resolve-uri": 3.1.2 + "@jridgewell/sourcemap-codec": 1.4.15 + + /@lukeed/ms@2.0.2: + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: ">=8" } + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.stat": 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: ">= 8" } + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: ">= 8" } + dependencies: + "@nodelib/fs.scandir": 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + dev: true + + /@rollup/rollup-android-arm-eabi@4.13.2: + resolution: + { + integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==, + } + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.13.2: + resolution: + { + integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==, + } + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.13.2: + resolution: + { + integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==, + } + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.13.2: + resolution: + { + integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==, + } + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.13.2: + resolution: + { + integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==, + } + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.13.2: + resolution: + { + integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.13.2: + resolution: + { + integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==, + } + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: + resolution: + { + integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==, + } + cpu: [ppc64le] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.2: + resolution: + { + integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==, + } + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.13.2: + resolution: + { + integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==, + } + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.2: + resolution: + { + integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.2: + resolution: + { + integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==, + } + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.13.2: + resolution: + { + integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==, + } + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.13.2: + resolution: + { + integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==, + } + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.13.2: + resolution: + { + integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==, + } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): + resolution: + { + integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@types/node": 20.12.2 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.12.2): + resolution: + { + integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, + } + peerDependencies: + "@types/node": "*" + peerDependenciesMeta: + "@types/node": + optional: true + dependencies: + "@rushstack/node-core-library": 4.0.2(@types/node@20.12.2) + "@types/node": 20.12.2 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.2): + resolution: + { + integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==, + } + dependencies: + "@rushstack/terminal": 0.10.0(@types/node@20.12.2) + "@types/argparse": 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - "@types/node" + dev: true + + /@sentry-internal/tracing@7.109.0: + resolution: + { + integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/core": 7.109.0 + "@sentry/types": 7.109.0 + "@sentry/utils": 7.109.0 + + /@sentry/babel-plugin-component-annotate@2.16.0: + resolution: + { + integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==, + } + engines: { node: ">= 14" } + dev: false + + /@sentry/bundler-plugin-core@2.16.0: + resolution: + { + integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==, + } + engines: { node: ">= 14" } + dependencies: + "@babel/core": 7.24.3 + "@sentry/babel-plugin-component-annotate": 2.16.0 + "@sentry/cli": 2.31.0 + dotenv: 16.4.5 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.27.0 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/cli-darwin@2.31.0: + resolution: + { + integrity: sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==, + } + engines: { node: ">=10" } + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm64@2.31.0: + resolution: + { + integrity: sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==, + } + engines: { node: ">=10" } + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm@2.31.0: + resolution: + { + integrity: sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==, + } + engines: { node: ">=10" } + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-i686@2.31.0: + resolution: + { + integrity: sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-x64@2.31.0: + resolution: + { + integrity: sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-i686@2.31.0: + resolution: + { + integrity: sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==, + } + engines: { node: ">=10" } + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-x64@2.31.0: + resolution: + { + integrity: sha512-w5cvpZ6VVlhlyleY8TYHmrP7g48vKHnoVt5xFccfxT+HqQI/AxodvzgVvBTM2kB/sh/kHwexp6bJGWCdkGftww==, + } + engines: { node: ">=10" } + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli@2.31.0: + resolution: + { + integrity: sha512-nCESoXAG3kRUO5n3QbDYAqX6RU3z1ORjnd7a3sqijYsCGHfOpcjGdS7JYLVg5if+tXMEF5529BPXFe5Kg/J9tw==, + } + engines: { node: ">= 10" } + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + "@sentry/cli-darwin": 2.31.0 + "@sentry/cli-linux-arm": 2.31.0 + "@sentry/cli-linux-arm64": 2.31.0 + "@sentry/cli-linux-i686": 2.31.0 + "@sentry/cli-linux-x64": 2.31.0 + "@sentry/cli-win32-i686": 2.31.0 + "@sentry/cli-win32-x64": 2.31.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/core@7.109.0: + resolution: + { + integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.109.0 + "@sentry/utils": 7.109.0 + + /@sentry/esbuild-plugin@2.16.0: + resolution: + { + integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==, + } + engines: { node: ">= 14" } + dependencies: + "@sentry/bundler-plugin-core": 2.16.0 + unplugin: 1.0.1 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/node@7.109.0: + resolution: + { + integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==, + } + engines: { node: ">=8" } + dependencies: + "@sentry-internal/tracing": 7.109.0 + "@sentry/core": 7.109.0 + "@sentry/types": 7.109.0 + "@sentry/utils": 7.109.0 + + /@sentry/profiling-node@7.109.0: + resolution: + { + integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==, + } + engines: { node: ">=8.0.0" } + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.3 + node-abi: 3.56.0 + dev: true + + /@sentry/types@7.109.0: + resolution: + { + integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==, + } + engines: { node: ">=8" } + + /@sentry/utils@7.109.0: + resolution: + { + integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==, + } + engines: { node: ">=8" } + dependencies: + "@sentry/types": 7.109.0 + + /@sinclair/typebox@0.27.8: + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@37.6.0): + resolution: + { + integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, + } + peerDependencies: + slonik: 27 - 29 + dependencies: + "@rushstack/ts-command-line": 4.19.1(@types/node@20.12.2) + slonik: 37.6.0(zod@3.22.4) + umzug: 3.7.0(@types/node@20.12.2) + transitivePeerDependencies: + - "@types/node" + dev: true + + /@types/argparse@1.0.38: + resolution: + { + integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, + } + dev: true + + /@types/estree@1.0.5: + resolution: + { + integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, + } + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } + dev: true + + /@types/node@20.12.2: + resolution: + { + integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==, + } + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.4: + resolution: + { + integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==, + } + dependencies: + "@types/node": 20.12.2 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: + { + integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, + } + peerDependencies: + vitest: 1.4.0 + dependencies: + "@ampproject/remapping": 2.3.0 + "@bcoe/v8-coverage": 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.8 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.12.2) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: + { + integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, + } + dependencies: + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: + { + integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, + } + dependencies: + "@vitest/utils": 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: + { + integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, + } + dependencies: + magic-string: 0.30.8 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: + { + integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, + } + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: + { + integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, + } + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: + { + integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, + } + engines: { node: ">=6.5" } + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: + { + integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, + } + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: ">=0.4.0" } + dev: true + + /acorn@8.11.3: + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: ">=0.4.0" } + hasBin: true + + /agent-base@6.0.2: + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: ">= 6.0.0" } + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: ">=8" } + dev: true + + /ansi-styles@3.2.1: + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: ">=4" } + dependencies: + color-convert: 1.9.3 + dev: false + + /ansi-styles@4.3.0: + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: ">=8" } + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: ">=10" } + dev: true + + /ansi-styles@6.2.1: + resolution: + { + integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, + } + engines: { node: ">=12" } + dev: true + + /anymatch@3.1.3: + resolution: + { + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, + } + engines: { node: ">= 8" } + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /archy@1.0.0: + resolution: + { + integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, + } + dev: false + + /argparse@1.0.10: + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } + dev: true + + /assertion-error@1.1.0: + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } + dev: true + + /atomic-sleep@1.0.0: + resolution: + { + integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, + } + engines: { node: ">=8.0.0" } + dev: false + + /avvio@8.3.0: + resolution: + { + integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, + } + dependencies: + "@fastify/error": 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } + + /base64-js@1.5.1: + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } + dev: false + + /binary-extensions@2.3.0: + resolution: + { + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, + } + engines: { node: ">=8" } + dev: false + + /boolean@3.2.0: + resolution: + { + integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, + } + + /brace-expansion@1.1.11: + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.2: + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, + } + engines: { node: ">=8" } + dependencies: + fill-range: 7.0.1 + dev: false + + /browserslist@4.23.0: + resolution: + { + integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + hasBin: true + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.722 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + + /buffer-writer@2.0.0: + resolution: + { + integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, + } + engines: { node: ">=4" } + + /buffer@6.0.3: + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: + { + integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, + } + engines: { node: ">=8" } + dev: true + + /callsites@3.1.0: + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: ">=6" } + dev: true + + /caniuse-lite@1.0.30001600: + resolution: + { + integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==, + } + dev: false + + /chai@4.4.1: + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: ">=4" } + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: ">=4" } + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + + /chalk@4.1.2: + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: ">=10" } + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /chokidar@3.6.0: + resolution: + { + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, + } + engines: { node: ">= 8.10.0" } + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /color-convert@1.9.3: + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } + dependencies: + color-name: 1.1.3 + dev: false + + /color-convert@2.0.1: + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: ">=7.0.0" } + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } + dev: false + + /color-name@1.1.4: + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } + dev: true + + /colorette@2.0.20: + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } + dev: false + + /commander@9.5.0: + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } + dev: true + + /convert-source-map@2.0.0: + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } + + /cookie@0.6.0: + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: ">= 0.6" } + dev: false + + /cross-spawn@7.0.3: + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: ">= 8" } + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: + { + integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, + } + dev: false + + /debug@4.3.4: + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: ">=6.0" } + peerDependencies: + supports-color: "*" + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: ">=6" } + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } + dev: true + + /depd@2.0.0: + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: ">= 0.8" } + dev: false + + /detect-libc@2.0.3: + resolution: + { + integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, + } + engines: { node: ">=8" } + dev: true + + /diff-sequences@29.6.3: + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dev: true + + /doctrine@3.0.0: + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv@16.4.5: + resolution: + { + integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, + } + engines: { node: ">=12" } + dev: false + + /electron-to-chromium@1.4.722: + resolution: + { + integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==, + } + dev: false + + /emittery@0.13.1: + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: ">=12" } + dev: true + + /end-of-stream@1.4.4: + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } + dependencies: + once: 1.4.0 + dev: false + + /esbuild@0.19.12: + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.19.12 + "@esbuild/android-arm": 0.19.12 + "@esbuild/android-arm64": 0.19.12 + "@esbuild/android-x64": 0.19.12 + "@esbuild/darwin-arm64": 0.19.12 + "@esbuild/darwin-x64": 0.19.12 + "@esbuild/freebsd-arm64": 0.19.12 + "@esbuild/freebsd-x64": 0.19.12 + "@esbuild/linux-arm": 0.19.12 + "@esbuild/linux-arm64": 0.19.12 + "@esbuild/linux-ia32": 0.19.12 + "@esbuild/linux-loong64": 0.19.12 + "@esbuild/linux-mips64el": 0.19.12 + "@esbuild/linux-ppc64": 0.19.12 + "@esbuild/linux-riscv64": 0.19.12 + "@esbuild/linux-s390x": 0.19.12 + "@esbuild/linux-x64": 0.19.12 + "@esbuild/netbsd-x64": 0.19.12 + "@esbuild/openbsd-x64": 0.19.12 + "@esbuild/sunos-x64": 0.19.12 + "@esbuild/win32-arm64": 0.19.12 + "@esbuild/win32-ia32": 0.19.12 + "@esbuild/win32-x64": 0.19.12 + dev: false + + /esbuild@0.20.2: + resolution: + { + integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, + } + engines: { node: ">=12" } + hasBin: true + requiresBuild: true + optionalDependencies: + "@esbuild/aix-ppc64": 0.20.2 + "@esbuild/android-arm": 0.20.2 + "@esbuild/android-arm64": 0.20.2 + "@esbuild/android-x64": 0.20.2 + "@esbuild/darwin-arm64": 0.20.2 + "@esbuild/darwin-x64": 0.20.2 + "@esbuild/freebsd-arm64": 0.20.2 + "@esbuild/freebsd-x64": 0.20.2 + "@esbuild/linux-arm": 0.20.2 + "@esbuild/linux-arm64": 0.20.2 + "@esbuild/linux-ia32": 0.20.2 + "@esbuild/linux-loong64": 0.20.2 + "@esbuild/linux-mips64el": 0.20.2 + "@esbuild/linux-ppc64": 0.20.2 + "@esbuild/linux-riscv64": 0.20.2 + "@esbuild/linux-s390x": 0.20.2 + "@esbuild/linux-x64": 0.20.2 + "@esbuild/netbsd-x64": 0.20.2 + "@esbuild/openbsd-x64": 0.20.2 + "@esbuild/sunos-x64": 0.20.2 + "@esbuild/win32-arm64": 0.20.2 + "@esbuild/win32-ia32": 0.20.2 + "@esbuild/win32-x64": 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: ">=6" } + dev: false + + /escape-string-regexp@1.0.5: + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: ">=0.8.0" } + dev: false + + /escape-string-regexp@4.0.0: + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: ">=10" } + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } + hasBin: true + peerDependencies: + eslint: ">=7.0.0" + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: + { + integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + peerDependencies: + "@types/eslint": ">=8.0.0" + eslint: ">=8.0.0" + eslint-config-prettier: "*" + prettier: ">=3.0.0" + peerDependenciesMeta: + "@types/eslint": + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dev: true + + /eslint@8.57.0: + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + hasBin: true + dependencies: + "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) + "@eslint-community/regexpp": 4.10.0 + "@eslint/eslintrc": 2.1.4 + "@eslint/js": 8.57.0 + "@humanwhocodes/config-array": 0.11.14 + "@humanwhocodes/module-importer": 1.0.1 + "@nodelib/fs.walk": 1.2.8 + "@ungap/structured-clone": 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: ">=0.10" } + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: ">=4.0" } + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: ">=4.0" } + dev: true + + /estree-walker@3.0.3: + resolution: + { + integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, + } + dependencies: + "@types/estree": 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: ">=0.10.0" } + dev: true + + /event-target-shim@5.0.1: + resolution: + { + integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, + } + engines: { node: ">=6" } + dev: false + + /events@3.3.0: + resolution: + { + integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, + } + engines: { node: ">=0.8.x" } + dev: false + + /execa@8.0.1: + resolution: + { + integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, + } + engines: { node: ">=16.17" } + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: + { + integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, + } + dev: false + + /fast-copy@3.0.2: + resolution: + { + integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==, + } + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } + dev: false + + /fast-deep-equal@3.1.3: + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } + + /fast-diff@1.3.0: + resolution: + { + integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, + } + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } + dev: true + + /fast-json-stringify@5.12.0: + resolution: + { + integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-json-stringify@5.13.0: + resolution: + { + integrity: sha512-XjTDWKHP3GoMQUOfnjYUbqeHeEt+PvYgvBdG2fRSmYaORILbSr8xTJvZX+w1YSAP5pw2NwKrGRmQleYueZEoxw==, + } + dependencies: + "@fastify/merge-json-schemas": 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } + dev: true + + /fast-printf@1.6.9: + resolution: + { + integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, + } + engines: { node: ">=10.0" } + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.5.0: + resolution: + { + integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==, + } + engines: { node: ">=6" } + dev: false + + /fast-safe-stringify@2.1.1: + resolution: + { + integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, + } + dev: false + + /fast-uri@2.3.0: + resolution: + { + integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, + } + dev: false + + /fastify-plugin@4.5.1: + resolution: + { + integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, + } + dev: false + + /fastify@4.26.2: + resolution: + { + integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, + } + dependencies: + "@fastify/ajv-compiler": 3.5.0 + "@fastify/error": 3.4.1 + "@fastify/fast-json-stringify-compiler": 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.13.0 + find-my-way: 8.1.0 + light-my-request: 5.12.0 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + } + engines: { node: ">=8" } + dependencies: + to-regex-range: 5.0.1 + dev: false + + /find-my-way@8.1.0: + resolution: + { + integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, + } + engines: { node: ">=14" } + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: ">=10" } + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache@3.2.0: + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } + dev: true + + /forwarded@0.2.0: + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: ">= 0.6" } + dev: false + + /fs-extra@7.0.1: + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: ">=6 <7 || >=8" } + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } + + /fsevents@2.3.3: + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } + dev: true + + /gensync@1.0.0-beta.2: + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: ">=6.9.0" } + dev: false + + /get-func-name@2.0.2: + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } + dev: true + + /get-stack-trace@3.1.1: + resolution: + { + integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, + } + engines: { node: ">=18.0" } + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: + { + integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, + } + engines: { node: ">=16" } + dev: true + + /get-tsconfig@4.7.3: + resolution: + { + integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==, + } + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: ">= 6" } + dependencies: + is-glob: 4.0.3 + dev: false + + /glob-parent@6.0.2: + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: ">=10.13.0" } + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: ">=12" } + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.5: + resolution: + { + integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.10.2 + dev: false + + /globals@11.12.0: + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: ">=4" } + dev: false + + /globals@13.24.0: + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: ">=8" } + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } + dev: true + + /graphemer@1.4.0: + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } + dev: true + + /has-flag@3.0.0: + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: ">=4" } + dev: false + + /has-flag@4.0.0: + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: ">=8" } + dev: true + + /hasown@2.0.2: + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: ">= 0.4" } + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: + { + integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, + } + dev: false + + /html-escaper@2.0.2: + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } + dev: true + + /http-errors@2.0.0: + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: ">= 0.8" } + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: ">= 6" } + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /human-signals@5.0.0: + resolution: + { + integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, + } + engines: { node: ">=16.17.0" } + dev: true + + /ieee754@1.2.1: + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } + dev: false + + /ignore@5.3.1: + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: ">= 4" } + dev: true + + /import-fresh@3.3.0: + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: ">=6" } + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: + { + integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, + } + engines: { node: ">=8" } + dev: true + + /imurmurhash@0.1.4: + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: ">=0.8.19" } + dev: true + + /inflight@1.0.6: + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } + + /ipaddr.js@1.9.1: + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: ">= 0.10" } + dev: false + + /is-binary-path@2.1.0: + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, + } + engines: { node: ">=8" } + dependencies: + binary-extensions: 2.3.0 + dev: false + + /is-core-module@2.13.1: + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } + dependencies: + hasown: 2.0.2 + dev: true + + /is-extglob@2.1.1: + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: ">=0.10.0" } + + /is-glob@4.0.3: + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: ">=0.10.0" } + dependencies: + is-extglob: 2.1.1 + + /is-number@7.0.0: + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: ">=0.12.0" } + dev: false + + /is-path-inside@3.0.3: + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: ">=8" } + dev: true + + /is-stream@3.0.0: + resolution: + { + integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dev: true + + /isexe@2.0.0: + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } + + /iso8601-duration@1.3.0: + resolution: + { + integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, + } + + /istanbul-lib-coverage@3.2.2: + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: ">=8" } + dev: true + + /istanbul-lib-report@3.0.1: + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: ">=10" } + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: + { + integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, + } + engines: { node: ">=10" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: ">=8" } + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } + dev: true + + /joycon@3.1.1: + resolution: + { + integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, + } + engines: { node: ">=10" } + dev: false + + /js-tokens@4.0.0: + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } + dev: false + + /js-tokens@9.0.0: + resolution: + { + integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==, + } + dev: true + + /js-yaml@4.1.0: + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: ">=4" } + hasBin: true + dev: false + + /json-buffer@3.0.1: + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } + dev: true + + /json-parse-even-better-errors@3.0.1: + resolution: + { + integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: + { + integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, + } + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } + dev: true + + /json-schema-traverse@1.0.0: + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } + dev: true + + /json5@2.2.3: + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: ">=6" } + hasBin: true + dev: false + + /jsonc-parser@3.2.1: + resolution: + { + integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, + } + dev: true + + /jsonfile@4.0.0: + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.12.0: + resolution: + { + integrity: sha512-P526OX6E7aeCIfw/9UyJNsAISfcFETghysaWHQAlQYayynShT08MOj4c6fBCvTWBrHXSvqBAKDp3amUPSCQI4w==, + } + dependencies: + cookie: 0.6.0 + process-warning: 3.0.0 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: + { + integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, + } + engines: { node: ">=14" } + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: ">=10" } + dependencies: + p-locate: 5.0.0 + + /lodash.get@4.4.2: + resolution: + { + integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, + } + dev: true + + /lodash.isequal@4.5.0: + resolution: + { + integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, + } + dev: true + + /lodash.merge@4.6.2: + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } + dev: true + + /loupe@2.3.7: + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.2.0: + resolution: + { + integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, + } + engines: { node: 14 || >=16.14 } + dev: false + + /lru-cache@5.1.1: + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: ">=10" } + dependencies: + yallist: 4.0.0 + + /magic-string@0.27.0: + resolution: + { + integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: false + + /magic-string@0.30.8: + resolution: + { + integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==, + } + engines: { node: ">=12" } + dependencies: + "@jridgewell/sourcemap-codec": 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: + { + integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, + } + dependencies: + "@babel/parser": 7.24.1 + "@babel/types": 7.24.0 + source-map-js: 1.2.0 + dev: true + + /make-dir@4.0.0: + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: ">= 0.6" } + dev: false + + /memorystream@0.3.1: + resolution: + { + integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, + } + engines: { node: ">= 0.10.0" } + dev: true + + /merge-stream@2.0.0: + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } + dev: true + + /mime-db@1.52.0: + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: ">= 0.6" } + dev: false + + /mime-types@2.1.35: + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: ">= 0.6" } + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: + { + integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, + } + engines: { node: ">=12" } + dev: true + + /minimatch@3.1.2: + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: ">=10" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@8.0.4: + resolution: + { + integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimatch@9.0.4: + resolution: + { + integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } + dev: false + + /minipass@4.2.8: + resolution: + { + integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==, + } + engines: { node: ">=8" } + dev: false + + /minipass@7.0.4: + resolution: + { + integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, + } + engines: { node: ">=16 || 14 >=14.17" } + dev: false + + /mlly@1.6.1: + resolution: + { + integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, + } + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.5.3 + dev: true + + /ms@2.1.2: + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } + + /nanoid@3.3.7: + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } + dev: true + + /node-abi@3.56.0: + resolution: + { + integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, + } + engines: { node: ">=10" } + dependencies: + semver: 7.6.0 + dev: true + + /node-fetch@2.7.0: + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-releases@2.0.14: + resolution: + { + integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, + } + dev: false + + /normalize-path@3.0.0: + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, + } + engines: { node: ">=0.10.0" } + dev: false + + /npm-normalize-package-bin@3.0.1: + resolution: + { + integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dev: true + + /npm-run-all2@6.1.2: + resolution: + { + integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==, + } + engines: { node: ^14.18.0 || >=16.0.0, npm: ">= 8" } + hasBin: true + dependencies: + ansi-styles: 6.2.1 + cross-spawn: 7.0.3 + memorystream: 0.3.1 + minimatch: 9.0.4 + pidtree: 0.6.0 + read-package-json-fast: 3.0.2 + shell-quote: 1.8.1 + dev: true + + /npm-run-path@5.3.0: + resolution: + { + integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: + { + integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, + } + + /on-exit-leak-free@2.1.2: + resolution: + { + integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, + } + engines: { node: ">=14.0.0" } + dev: false + + /once@1.4.0: + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: + { + integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, + } + engines: { node: ">=12" } + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: ">= 0.8.0" } + dependencies: + "@aashutoshrathi/word-wrap": 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: ">=10" } + dependencies: + yocto-queue: 0.1.0 + + /p-limit@5.0.0: + resolution: + { + integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, + } + engines: { node: ">=18" } + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: ">=10" } + dependencies: + p-limit: 3.1.0 + + /packet-reader@1.0.0: + resolution: + { + integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, + } + + /parent-module@1.0.1: + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: ">=6" } + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: ">=8" } + + /path-is-absolute@1.0.1: + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /path-key@3.1.1: + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: ">=8" } + dev: true + + /path-key@4.0.0: + resolution: + { + integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, + } + engines: { node: ">=12" } + dev: true + + /path-parse@1.0.7: + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } + dev: true + + /path-scurry@1.10.2: + resolution: + { + integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==, + } + engines: { node: ">=16 || 14 >=14.17" } + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false + + /pathe@1.1.2: + resolution: + { + integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, + } + dev: true + + /pathval@1.1.1: + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } + dev: true + + /pg-cloudflare@1.1.1: + resolution: + { + integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, + } + requiresBuild: true + optional: true - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - - /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - dev: false - - /@babel/compat-data@7.24.1: - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator@7.24.1: - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.24.1 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.3 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/helper-string-parser@7.23.4: - resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - dev: false - - /@babel/helpers@7.24.1: - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - dev: false - - /@babel/parser@7.24.0: - resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: true - - /@babel/parser@7.24.1: - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.24.0 - dev: false - - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 - dev: false - - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.23.4 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - optional: true - - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - optional: true - - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - optional: true - - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - optional: true - - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - optional: true - - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - optional: true - - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - optional: true - - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - optional: true - - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - optional: true - - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true - - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - - /@rollup/rollup-android-arm-eabi@4.12.0: - resolution: {integrity: sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.12.0: - resolution: {integrity: sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.12.0: - resolution: {integrity: sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.12.0: - resolution: {integrity: sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.12.0: - resolution: {integrity: sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.12.0: - resolution: {integrity: sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.12.0: - resolution: {integrity: sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.12.0: - resolution: {integrity: sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.12.0: - resolution: {integrity: sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.12.0: - resolution: {integrity: sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.12.0: - resolution: {integrity: sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.12.0: - resolution: {integrity: sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.12.0: - resolution: {integrity: sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 20.12.2 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.12.2): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.2) - '@types/node': 20.12.2 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.0(@types/node@20.12.2): - resolution: {integrity: sha512-0sIHWOFGLFb6tC1zk2R0aM79ic3CF0XGzVBvhf6ytMyjDwt03DVb1qe5/5NQ0FGcvB5YyQ2WVfGsnxG6SANvHA==} - dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.2) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true - - /@sentry-internal/tracing@7.109.0: - resolution: {integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==} - engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.109.0 - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 - - /@sentry/babel-plugin-component-annotate@2.16.0: - resolution: {integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==} - engines: {node: '>= 14'} - dev: false - - /@sentry/bundler-plugin-core@2.16.0: - resolution: {integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==} - engines: {node: '>= 14'} - dependencies: - '@babel/core': 7.24.3 - '@sentry/babel-plugin-component-annotate': 2.16.0 - '@sentry/cli': 2.30.2 - dotenv: 16.4.5 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.27.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/cli-darwin@2.30.2: - resolution: {integrity: sha512-lZkKXMt0HUAwLQuPpi/DM3CsdCCp+6B2cdur+8fAq7uARXTOsTKVDxv9pkuJHCgHUnguh8ittP5GMr0baTxmMg==} - engines: {node: '>=10'} - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm64@2.30.2: - resolution: {integrity: sha512-IWassuXggNhHOPCNrORNmd5SrAx5rU4XDlgOWBJr/ez7DvlPrr9EhV1xsdht6K4mPXhCGJq3rtRdCoWGJQW6Uw==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm@2.30.2: - resolution: {integrity: sha512-H7hqiLpEL7w/EHdhuUGatwg9O080mdujq4/zS96buKIHXxZE6KqMXGtMVIAvTl1+z6BlBEnfvZGI19MPw3t/7w==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-i686@2.30.2: - resolution: {integrity: sha512-gZIq131M4TJTG1lX9uvpoaGWaEXCEfdDXrXu/z/YZmAKBcThpMYChodXmm8FB6X4xb0TPXzIFqdzlLdglFK46g==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-x64@2.30.2: - resolution: {integrity: sha512-NmTAIl7aW9OHxwB4149sBfvCbTyK9T/CvBX38keaD2yIThet9gZ4koP49hBDxYF99aQX3E+LIAqWwnkV9W72Sw==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-win32-i686@2.30.2: - resolution: {integrity: sha512-SBR/Q3T6o+7uHwHNdjcG9GA3R++9w8oi778b95GuOC3dh0WOU6hXaKwQWe95ZcuSd2rKpouH7dhMjqqNM4HxOA==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-win32-x64@2.30.2: - resolution: {integrity: sha512-gF9wSZxzXFgakkC+uKVLAAYlbYj13e1gTsNm3gm+ODfpV+rbHwvbKoLfNsbVCFVCEZxIV2rXEP5WmTr0kiMvWQ==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli@2.30.2: - resolution: {integrity: sha512-jQ/RBJ3bZ4PFbfOsGq8EykygHHmXXPw+i6jqsnQfAPIeZoX+DsqpAZbYubQEZKekmQ8EVGFxGHzUVkd6hLVMbA==} - engines: {node: '>= 10'} - hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - '@sentry/cli-darwin': 2.30.2 - '@sentry/cli-linux-arm': 2.30.2 - '@sentry/cli-linux-arm64': 2.30.2 - '@sentry/cli-linux-i686': 2.30.2 - '@sentry/cli-linux-x64': 2.30.2 - '@sentry/cli-win32-i686': 2.30.2 - '@sentry/cli-win32-x64': 2.30.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/core@7.109.0: - resolution: {integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 - - /@sentry/esbuild-plugin@2.16.0: - resolution: {integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==} - engines: {node: '>= 14'} - dependencies: - '@sentry/bundler-plugin-core': 2.16.0 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/node@7.109.0: - resolution: {integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==} - engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.109.0 - '@sentry/core': 7.109.0 - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 - - /@sentry/profiling-node@7.109.0: - resolution: {integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==} - engines: {node: '>=8.0.0'} - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.2 - node-abi: 3.56.0 - dev: true - - /@sentry/types@7.109.0: - resolution: {integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==} - engines: {node: '>=8'} - - /@sentry/utils@7.109.0: - resolution: {integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==} - engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.109.0 - - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@37.6.0): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.2) - slonik: 37.6.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.2) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true - - /@types/estree@1.0.5: - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - - /@types/node@20.12.2: - resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.4: - resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} - dependencies: - '@types/node': 20.12.2 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} - peerDependencies: - vitest: 1.4.0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.7 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.2) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} - dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} - dependencies: - '@vitest/utils': 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} - dependencies: - magic-string: 0.30.7 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true - - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - dev: true - - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: false - - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true - - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true - - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - - /archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - - /atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - dev: false - - /avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: false - - /boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - dev: false - - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.715 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - dev: true - - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true - - /caniuse-lite@1.0.30001600: - resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} - dev: false - - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: false - - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: false - - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false - - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: false - - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - - /debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: false - - /detect-libc@2.0.2: - resolution: {integrity: sha512-UX6sGumvvqSaXgdKGUsgZWqcUyIXZ/vZTrlRT/iobiKhGL0zL4d3osHj3uqllWJK+i+sixDS/3COVEOFbupFyw==} - engines: {node: '>=8'} - dev: true - - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: false - - /electron-to-chromium@1.4.715: - resolution: {integrity: sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==} - dev: false - - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true - - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - dependencies: - once: 1.4.0 - dev: false - - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - dev: true - - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: false - - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: false - - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 - '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true - - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - dependencies: - '@types/estree': 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true - - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false - - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false - - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false - - /fast-copy@3.0.1: - resolution: {integrity: sha512-Knr7NOtK3HWRYGtHoJrjkaWepqT8thIVGAwt0p0aUs1zqkAzXZV4vo9fFNwyb5fcqK1GKYFYxldQdIDVKhUAfA==} - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false - - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true - - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true - - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.3.0: - resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} - engines: {node: '>=6'} - dev: false - - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false - - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false - - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false - - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.12.0 - find-my-way: 8.1.0 - light-my-request: 5.11.1 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flat-cache: 3.2.0 - dev: true - - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - dependencies: - to-regex-range: 5.0.1 - dev: false - - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} - engines: {node: '>=14'} - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true - - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false - - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: false - - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true - - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true - - /get-tsconfig@4.7.2: - resolution: {integrity: sha512-wuMsz4leaj5hbGgg4IvDU0bqJagpftG5l5cXIAvo8uZrqn0NJqwtfupTN00VnkQJPcIRrxYrm1Ue24btpCha2A==} - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - dependencies: - is-glob: 4.0.3 - dev: false - - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.10.1 - dev: false - - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: false - - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true - - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: false - - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true - - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false - - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true - - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true - - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false - - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true - - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true - - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false - - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - dependencies: - binary-extensions: 2.3.0 - dev: false - - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.2 - dev: true - - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - dependencies: - is-extglob: 2.1.1 - - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: false - - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true - - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true - - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true - - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false - - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false - - /js-tokens@8.0.3: - resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} - dev: true - - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: false - - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true - - /json-parse-even-better-errors@3.0.1: - resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true - - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true - - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: false - - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.11.1: - resolution: {integrity: sha512-KXAh2m6VRlkWCk2KfmHE7tLBXKh30JE0tXUJY4dNxje4oLmPKUqlUfImiEQZLphx+Z9KTQcVv4DjGnJxkVOIbA==} - dependencies: - cookie: 0.6.0 - process-warning: 2.3.2 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - dependencies: - p-locate: 5.0.0 - - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} - dev: true - - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} - dev: true - - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true - - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: false - - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - dependencies: - yallist: 3.1.1 - dev: false - - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - dependencies: - yallist: 4.0.0 - - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - - /magic-string@0.30.7: - resolution: {integrity: sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} - dependencies: - '@babel/parser': 7.24.0 - '@babel/types': 7.24.0 - source-map-js: 1.0.2 - dev: true - - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false - - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true - - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true - - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false - - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true - - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: false - - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false - - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: false - - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false - - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.4.0 - dev: true - - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true - - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} - engines: {node: '>=10'} - dependencies: - semver: 7.6.0 - dev: true - - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: false - - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: false - - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true - - /npm-run-all2@6.1.2: - resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} - engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} - hasBin: true - dependencies: - ansi-styles: 6.2.1 - cross-spawn: 7.0.3 - memorystream: 0.3.1 - minimatch: 9.0.3 - pidtree: 0.6.0 - read-package-json-fast: 3.0.2 - shell-quote: 1.8.1 - dev: true - - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false - - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - dependencies: - yocto-queue: 0.1.0 - - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - dependencies: - p-limit: 3.1.0 - - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true - - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true - - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true - - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - - /path-scurry@1.10.1: - resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} - engines: {node: '>=16 || 14 >=14.17'} - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: false - - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true - - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true - - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - optional: true - - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} - peerDependencies: - pg: '>=8.0' - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: false - - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true - - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@11.0.0: - resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.1 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false - - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.3.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} - dev: true - - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@2.3.2: - resolution: {integrity: sha512-n9wh8tvBe5sFmsqlg+XQhaQLumwpqoAUruLwjCopgTmUBjJ/fjtBsJzKleCaIGBOMXYEhp1YfKl4d7rJ5ZKJGA==} - dev: false - - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false - - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false - - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: false - - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false - - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true - - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false - - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true - - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dependencies: - json-parse-even-better-errors: 3.0.1 - npm-normalize-package-bin: 3.0.1 - dev: true - - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - dependencies: - picomatch: 2.3.1 - dev: false - - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false - - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false - - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} - dev: false - - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false - - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} - engines: {node: '>=18.0'} - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.12.0: - resolution: {integrity: sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.12.0 - '@rollup/rollup-android-arm64': 4.12.0 - '@rollup/rollup-darwin-arm64': 4.12.0 - '@rollup/rollup-darwin-x64': 4.12.0 - '@rollup/rollup-linux-arm-gnueabihf': 4.12.0 - '@rollup/rollup-linux-arm64-gnu': 4.12.0 - '@rollup/rollup-linux-arm64-musl': 4.12.0 - '@rollup/rollup-linux-riscv64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-gnu': 4.12.0 - '@rollup/rollup-linux-x64-musl': 4.12.0 - '@rollup/rollup-win32-arm64-msvc': 4.12.0 - '@rollup/rollup-win32-ia32-msvc': 4.12.0 - '@rollup/rollup-win32-x64-msvc': 4.12.0 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false - - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false - - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: false - - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false - - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false - - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true - - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true - - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true - - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true - - /slonik@37.6.0(zod@3.22.4): - resolution: {integrity: sha512-asSs2zdsmWoUWqQgJE0YKD1TJolcG0G1NomAj4kkRZiBMpAuLke6UL5mxvG5aDTX3tEtjasfSdJ4uXxSabFOpg==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - dependencies: - '@types/pg': 8.11.4 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.0.2: - resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} - engines: {node: '>=0.10.0'} - dev: true - - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true - - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true - - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false - - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true - - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true - - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - /strip-literal@2.0.0: - resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} - dependencies: - js-tokens: 8.0.3 - dev: true - - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - dependencies: - has-flag: 3.0.0 - dev: false - - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true - - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} - dev: true - - /tinypool@0.8.2: - resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} - engines: {node: '>=14.0.0'} - dev: true - - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true - - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - dependencies: - is-number: 7.0.0 - dev: false - - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false - - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false - - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false - - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true - - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} - engines: {node: '>=18.0.0'} - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.2 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true - - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - /type-fest@4.10.3: - resolution: {integrity: sha512-JLXyjizi072smKGGcZiAJDCNweT8J+AuRxmPZ1aG7TERg4ijx9REl8CNhbr36RV4qXqL1gO1FF9HL8OkVmmrsA==} - engines: {node: '>=16'} - dev: true - - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} - engines: {node: '>=14.17'} - hasBin: true - dev: true - - /ufo@1.4.0: - resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} - dev: true - - /umzug@3.7.0(@types/node@20.12.2): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.0(@types/node@20.12.2) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.10.3 - transitivePeerDependencies: - - '@types/node' - dev: true - - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - - /unplugin@1.0.1: - resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: false - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - dev: false - - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - dependencies: - punycode: 2.3.1 - - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false - - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: true - - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false - - /vite-node@1.4.0(@types/node@20.12.2): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.1.4(@types/node@20.12.2) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.1.4(@types/node@20.12.2): - resolution: {integrity: sha512-n+MPqzq+d9nMVTKyewqw6kSt+R3CkvF9QAKY8obiQn8g1fwTscKxyfaYnC632HtBXAQGc1Yjomphwn1dtwGAHg==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.12.2 - esbuild: 0.19.12 - postcss: 8.4.35 - rollup: 4.12.0 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.12.2): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/node': 20.12.2 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.7 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.0.0 - tinybench: 2.6.0 - tinypool: 0.8.2 - vite: 5.1.4(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false - - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: false - - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: false - - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: false - - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true - - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + /pg-connection-string@2.6.2: + resolution: + { + integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, + } + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: + { + integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: + { + integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, + } + engines: { node: ">=4.0.0" } + + /pg-numeric@1.0.2: + resolution: + { + integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, + } + engines: { node: ">=4" } + + /pg-pool@3.6.1(pg@8.11.3): + resolution: + { + integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, + } + peerDependencies: + pg: ">=8.0" + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: + { + integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, + } + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: + { + integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, + } + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: + { + integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, + } + engines: { node: ">=4" } + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: + { + integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, + } + engines: { node: ">=10" } + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: + { + integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, + } + engines: { node: ">= 8.0.0" } + peerDependencies: + pg-native: ">=3.0.1" + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: + { + integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, + } + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } + + /picomatch@2.3.1: + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: ">=8.6" } + dev: false + + /pidtree@0.6.0: + resolution: + { + integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, + } + engines: { node: ">=0.10" } + hasBin: true + dev: true + + /pino-abstract-transport@1.1.0: + resolution: + { + integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, + } + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@11.0.0: + resolution: + { + integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==, + } + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.2 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: + { + integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, + } + dev: false + + /pino@8.19.0: + resolution: + { + integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, + } + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: + { + integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, + } + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: + { + integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, + } + engines: { node: ">=12.0.0" } + dev: true + + /postcss@8.4.38: + resolution: + { + integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==, + } + engines: { node: ^10 || ^12 || >=14 } + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + + /postgres-array@2.0.0: + resolution: + { + integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, + } + engines: { node: ">=4" } + + /postgres-array@3.0.2: + resolution: + { + integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, + } + engines: { node: ">=12" } + + /postgres-bytea@1.0.0: + resolution: + { + integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, + } + engines: { node: ">=0.10.0" } + + /postgres-bytea@3.0.0: + resolution: + { + integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, + } + engines: { node: ">= 6" } + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: + { + integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, + } + engines: { node: ">=0.10.0" } + + /postgres-date@2.1.0: + resolution: + { + integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, + } + engines: { node: ">=12" } + + /postgres-interval@1.2.0: + resolution: + { + integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, + } + engines: { node: ">=0.10.0" } + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: + { + integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, + } + engines: { node: ">=12" } + + /postgres-interval@4.0.2: + resolution: + { + integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, + } + engines: { node: ">=12" } + + /postgres-range@1.1.4: + resolution: + { + integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, + } + + /prelude-ls@1.2.1: + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: ">= 0.8.0" } + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: + { + integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, + } + engines: { node: ">=6.0.0" } + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: + { + integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, + } + engines: { node: ">=14" } + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + dependencies: + "@jest/schemas": 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@3.0.0: + resolution: + { + integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, + } + dev: false + + /process@0.11.10: + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: ">= 0.6.0" } + dev: false + + /progress@2.0.3: + resolution: + { + integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, + } + engines: { node: ">=0.4.0" } + dev: false + + /proxy-addr@2.0.7: + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: ">= 0.10" } + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } + dev: false + + /pump@3.0.0: + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: ">=6" } + + /queue-microtask@1.2.3: + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } + dev: true + + /quick-format-unescaped@4.0.4: + resolution: + { + integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, + } + dev: false + + /react-is@18.2.0: + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } + dev: true + + /read-package-json-fast@3.0.2: + resolution: + { + integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + dependencies: + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 + dev: true + + /readable-stream@4.5.2: + resolution: + { + integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /readdirp@3.6.0: + resolution: + { + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, + } + engines: { node: ">=8.10.0" } + dependencies: + picomatch: 2.3.1 + dev: false + + /real-require@0.2.0: + resolution: + { + integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, + } + engines: { node: ">= 12.13.0" } + dev: false + + /require-from-string@2.0.2: + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: ">=0.10.0" } + dev: false + + /resolve-from@4.0.0: + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: ">=4" } + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } + dev: false + + /resolve@1.22.8: + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: + { + integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, + } + engines: { node: ">=4" } + dev: false + + /reusify@1.0.4: + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: ">=1.0.0", node: ">=0.10.0" } + + /rfdc@1.3.1: + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } + dev: false + + /rimraf@3.0.2: + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: + { + integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, + } + engines: { node: ">=18.0" } + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.13.2: + resolution: + { + integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==, + } + engines: { node: ">=18.0.0", npm: ">=8.0.0" } + hasBin: true + dependencies: + "@types/estree": 1.0.5 + optionalDependencies: + "@rollup/rollup-android-arm-eabi": 4.13.2 + "@rollup/rollup-android-arm64": 4.13.2 + "@rollup/rollup-darwin-arm64": 4.13.2 + "@rollup/rollup-darwin-x64": 4.13.2 + "@rollup/rollup-linux-arm-gnueabihf": 4.13.2 + "@rollup/rollup-linux-arm64-gnu": 4.13.2 + "@rollup/rollup-linux-arm64-musl": 4.13.2 + "@rollup/rollup-linux-powerpc64le-gnu": 4.13.2 + "@rollup/rollup-linux-riscv64-gnu": 4.13.2 + "@rollup/rollup-linux-s390x-gnu": 4.13.2 + "@rollup/rollup-linux-x64-gnu": 4.13.2 + "@rollup/rollup-linux-x64-musl": 4.13.2 + "@rollup/rollup-win32-arm64-msvc": 4.13.2 + "@rollup/rollup-win32-ia32-msvc": 4.13.2 + "@rollup/rollup-win32-x64-msvc": 4.13.2 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } + dev: false + + /safe-regex2@2.0.0: + resolution: + { + integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, + } + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: + { + integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, + } + engines: { node: ">=10" } + + /secure-json-parse@2.7.0: + resolution: + { + integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, + } + dev: false + + /semver-compare@1.0.0: + resolution: + { + integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, + } + + /semver@6.3.1: + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } + hasBin: true + dev: false + + /semver@7.5.4: + resolution: + { + integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: ">=10" } + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: + { + integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, + } + engines: { node: ">=10" } + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: + { + integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, + } + dev: false + + /setprototypeof@1.2.0: + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } + dev: false + + /shebang-command@2.0.0: + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: ">=8" } + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: ">=8" } + dev: true + + /shell-quote@1.8.1: + resolution: + { + integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, + } + dev: true + + /short-unique-id@5.0.3: + resolution: + { + integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, + } + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: + { + integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, + } + dev: true + + /signal-exit@4.1.0: + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: ">=14" } + dev: true + + /slonik@37.6.0(zod@3.22.4): + resolution: + { + integrity: sha512-asSs2zdsmWoUWqQgJE0YKD1TJolcG0G1NomAj4kkRZiBMpAuLke6UL5mxvG5aDTX3tEtjasfSdJ4uXxSabFOpg==, + } + engines: { node: ">=18" } + peerDependencies: + zod: ^3 + dependencies: + "@types/pg": 8.11.4 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-protocol: 1.6.0 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: + { + integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, + } + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.2.0: + resolution: + { + integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, + } + engines: { node: ">=0.10.0" } + dev: true + + /split2@4.2.0: + resolution: + { + integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, + } + engines: { node: ">= 10.x" } + + /sprintf-js@1.0.3: + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } + dev: true + + /stackback@0.0.2: + resolution: + { + integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, + } + dev: true + + /stacktrace-parser@0.1.10: + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: ">=6" } + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: ">= 0.8" } + dev: false + + /std-env@3.7.0: + resolution: + { + integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, + } + dev: true + + /string-argv@0.3.2: + resolution: + { + integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, + } + engines: { node: ">=0.6.19" } + dev: true + + /string_decoder@1.3.0: + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: ">=8" } + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: + { + integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, + } + engines: { node: ">=12" } + dev: true + + /strip-json-comments@3.1.1: + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: ">=8" } + + /strip-literal@2.1.0: + resolution: + { + integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==, + } + dependencies: + js-tokens: 9.0.0 + dev: true + + /supports-color@5.5.0: + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: ">=4" } + dependencies: + has-flag: 3.0.0 + dev: false + + /supports-color@7.2.0: + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: ">=8" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: ">=10" } + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: ">= 0.4" } + dev: true + + /synckit@0.8.8: + resolution: + { + integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, + } + engines: { node: ^14.18.0 || >=16.0.0 } + dependencies: + "@pkgr/core": 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: ">=8" } + dependencies: + "@istanbuljs/schema": 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } + dev: true + + /thread-stream@2.4.1: + resolution: + { + integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, + } + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: + { + integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, + } + dev: true + + /tinypool@0.8.3: + resolution: + { + integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==, + } + engines: { node: ">=14.0.0" } + dev: true + + /tinyspy@2.2.1: + resolution: + { + integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, + } + engines: { node: ">=14.0.0" } + dev: true + + /to-fast-properties@2.0.0: + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: ">=4" } + + /to-regex-range@5.0.1: + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: ">=8.0" } + dependencies: + is-number: 7.0.0 + dev: false + + /toad-cache@3.7.0: + resolution: + { + integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, + } + engines: { node: ">=12" } + dev: false + + /toidentifier@1.0.1: + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: ">=0.6" } + dev: false + + /tr46@0.0.3: + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } + dev: false + + /tslib@2.6.2: + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } + dev: true + + /tsx@4.7.1: + resolution: + { + integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, + } + engines: { node: ">=18.0.0" } + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.3 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: ">= 0.8.0" } + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: ">=4" } + dev: true + + /type-fest@0.20.2: + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: ">=10" } + + /type-fest@0.7.1: + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: ">=8" } + + /type-fest@4.14.0: + resolution: + { + integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==, + } + engines: { node: ">=16" } + dev: true + + /type-is@1.6.18: + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: ">= 0.6" } + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.3: + resolution: + { + integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==, + } + engines: { node: ">=14.17" } + hasBin: true + dev: true + + /ufo@1.5.3: + resolution: + { + integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==, + } + dev: true + + /umzug@3.7.0(@types/node@20.12.2): + resolution: + { + integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, + } + engines: { node: ">=12" } + dependencies: + "@rushstack/ts-command-line": 4.19.1(@types/node@20.12.2) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.14.0 + transitivePeerDependencies: + - "@types/node" + dev: true + + /undici-types@5.26.5: + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } + + /universalify@0.1.2: + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: ">= 4.0.0" } + dev: true + + /unplugin@1.0.1: + resolution: + { + integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==, + } + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: + { + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, + } + hasBin: true + peerDependencies: + browserslist: ">= 4.21.0" + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } + dependencies: + punycode: 2.3.1 + + /uuid@9.0.1: + resolution: + { + integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, + } + hasBin: true + dev: false + + /v8-to-istanbul@9.2.0: + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: ">=10.12.0" } + dependencies: + "@jridgewell/trace-mapping": 0.3.25 + "@types/istanbul-lib-coverage": 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: + { + integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, + } + engines: { node: ">= 0.10" } + dev: true + + /vary@1.1.2: + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: ">= 0.8" } + dev: false + + /vite-node@1.4.0(@types/node@20.12.2): + resolution: + { + integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.7(@types/node@20.12.2) + transitivePeerDependencies: + - "@types/node" + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.2.7(@types/node@20.12.2): + resolution: + { + integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@types/node": ^18.0.0 || >=20.0.0 + less: "*" + lightningcss: ^1.21.0 + sass: "*" + stylus: "*" + sugarss: "*" + terser: ^5.4.0 + peerDependenciesMeta: + "@types/node": + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + "@types/node": 20.12.2 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.12.2): + resolution: + { + integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, + } + engines: { node: ^18.0.0 || >=20.0.0 } + hasBin: true + peerDependencies: + "@edge-runtime/vm": "*" + "@types/node": ^18.0.0 || >=20.0.0 + "@vitest/browser": 1.4.0 + "@vitest/ui": 1.4.0 + happy-dom: "*" + jsdom: "*" + peerDependenciesMeta: + "@edge-runtime/vm": + optional: true + "@types/node": + optional: true + "@vitest/browser": + optional: true + "@vitest/ui": + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + "@types/node": 20.12.2 + "@vitest/expect": 1.4.0 + "@vitest/runner": 1.4.0 + "@vitest/snapshot": 1.4.0 + "@vitest/spy": 1.4.0 + "@vitest/utils": 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.6.0 + tinypool: 0.8.3 + vite: 5.2.7(@types/node@20.12.2) + vite-node: 1.4.0(@types/node@20.12.2) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /webidl-conversions@3.0.1: + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } + dev: false + + /webpack-sources@3.2.3: + resolution: + { + integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, + } + engines: { node: ">=10.13.0" } + dev: false + + /webpack-virtual-modules@0.5.0: + resolution: + { + integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, + } + dev: false + + /whatwg-url@5.0.0: + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which@2.0.2: + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: ">= 8" } + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: + { + integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, + } + engines: { node: ">=8" } + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } + + /xtend@4.0.2: + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: ">=0.4" } + + /yallist@3.1.1: + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } + dev: false + + /yallist@4.0.0: + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } + + /yocto-queue@0.1.0: + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: ">=10" } + + /yocto-queue@1.0.0: + resolution: + { + integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, + } + engines: { node: ">=12.20" } + dev: true + + /z-schema@5.0.5: + resolution: + { + integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, + } + engines: { node: ">=8.0.0" } + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } diff --git a/pull_nginx_image.sh b/pull_nginx_image.sh new file mode 100755 index 000000000..3aad2cc2f --- /dev/null +++ b/pull_nginx_image.sh @@ -0,0 +1,4 @@ +#!/usr/bin/env sh +wget https://archive.org/download/nginx_1.9.8.tar/nginx_1.9.8.tar.gz +gunzip nginx_1.9.8.tar.gz +docker load -i nginx_1.9.8.tar From 3a85d817d8243fd6c32f1cf3afc456040a835ea9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 08:35:12 -0400 Subject: [PATCH 273/452] fix(deps): update dependency slonik to v40 (#1856) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- packages/database/package.json | 2 +- pnpm-lock.yaml | 9206 +++++++++++++------------------- 3 files changed, 3838 insertions(+), 5372 deletions(-) diff --git a/package.json b/package.json index e15b14d61..cea4a23b7 100644 --- a/package.json +++ b/package.json @@ -48,7 +48,7 @@ "pino": "^8.19.0", "pino-pretty": "^11.0.0", "short-unique-id": "^5.0.3", - "slonik": "^37.6.0", + "slonik": "^40.0.0", "tsx": "^4.7.1", "zod": "^3.22.4" }, diff --git a/packages/database/package.json b/packages/database/package.json index 62cb1857c..97fcb5c28 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -17,7 +17,7 @@ "license": "ISC", "dependencies": { "@sentry/node": "^7.102.0", - "slonik": "^37.2.0", + "slonik": "^40.0.0", "zod": "^3.22.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aca74327e..ef2784d85 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,5377 +1,3843 @@ -lockfileVersion: "6.0" +lockfileVersion: '6.0' settings: - autoInstallPeers: true - excludeLinksFromLockfile: false + autoInstallPeers: true + excludeLinksFromLockfile: false importers: - .: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/database": - specifier: workspace:^ - version: link:packages/database - "@rustymotors/shared": - specifier: workspace:^ - version: link:packages/shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:packages/shared-packets - "@sentry/esbuild-plugin": - specifier: ^2.16.0 - version: 2.16.0 - fastify: - specifier: ^4.26.2 - version: 4.26.2 - pino: - specifier: ^8.19.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: ^37.6.0 - version: 37.6.0(zod@3.22.4) - tsx: - specifier: ^4.7.1 - version: 4.7.1 - zod: - specifier: ^3.22.4 - version: 3.22.4 - devDependencies: - "@sentry/node": - specifier: 7.109.0 - version: 7.109.0 - "@sentry/profiling-node": - specifier: 7.109.0 - version: 7.109.0 - "@slonik/migrator": - specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.2)(slonik@37.6.0) - "@types/node": - specifier: 20.12.2 - version: 20.12.2 - "@vitest/coverage-v8": - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) - esbuild: - specifier: 0.20.2 - version: 0.20.2 - eslint: - specifier: 8.57.0 - version: 8.57.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) - npm-run-all2: - specifier: 6.1.2 - version: 6.1.2 - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.3 - version: 5.4.3 - vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2) - - apps/main: - dependencies: - "@rustymotors/shared": - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - "@rustymotors/shared": - specifier: workspace:* - version: link:../shared - - packages/database: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.109.0 - slonik: - specifier: ^37.2.0 - version: 37.6.0(zod@3.22.4) - zod: - specifier: ^3.22.4 - version: 3.22.4 - - packages/gateway: - dependencies: - "@fastify/sensible": - specifier: ^5.5.0 - version: 5.5.0 - "@rustymotors/shared": - specifier: workspace:^ - version: link:../shared - "@rustymotors/shared-packets": - specifier: workspace:^ - version: link:../shared-packets - "@sentry/node": - specifier: ^7.102.0 - version: 7.109.0 - fastify: - specifier: ^4.25.2 - version: 4.26.2 - - packages/interfaces: {} - - packages/lobby: - dependencies: - "@rustymotors/database": - specifier: workspace:^ - version: link:../database - - packages/login: {} - - packages/nps: - dependencies: - "@sentry/node": - specifier: ^7.102.0 - version: 7.109.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/persona: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.19.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - - packages/shared-packets: {} - - packages/transactions: {} -packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: ">=0.10.0" } - dev: true - - /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - - /@babel/code-frame@7.24.2: - resolution: - { - integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/highlight": 7.24.2 - picocolors: 1.0.0 - dev: false - - /@babel/compat-data@7.24.1: - resolution: - { - integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/core@7.24.3: - resolution: - { - integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@ampproject/remapping": 2.3.0 - "@babel/code-frame": 7.24.2 - "@babel/generator": 7.24.1 - "@babel/helper-compilation-targets": 7.23.6 - "@babel/helper-module-transforms": 7.23.3(@babel/core@7.24.3) - "@babel/helpers": 7.24.1 - "@babel/parser": 7.24.1 - "@babel/template": 7.24.0 - "@babel/traverse": 7.24.1 - "@babel/types": 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/generator@7.24.1: - resolution: - { - integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - "@jridgewell/gen-mapping": 0.3.5 - "@jridgewell/trace-mapping": 0.3.25 - jsesc: 2.5.2 - dev: false - - /@babel/helper-compilation-targets@7.23.6: - resolution: - { - integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/compat-data": 7.24.1 - "@babel/helper-validator-option": 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - - /@babel/helper-environment-visitor@7.22.20: - resolution: - { - integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helper-function-name@7.23.0: - resolution: - { - integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.24.0 - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-hoist-variables@7.22.5: - resolution: - { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-module-imports@7.24.3: - resolution: - { - integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): - resolution: - { - integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, - } - engines: { node: ">=6.9.0" } - peerDependencies: - "@babel/core": ^7.0.0 - dependencies: - "@babel/core": 7.24.3 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-module-imports": 7.24.3 - "@babel/helper-simple-access": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/helper-validator-identifier": 7.22.20 - dev: false - - /@babel/helper-simple-access@7.22.5: - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-split-export-declaration@7.22.6: - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/types": 7.24.0 - dev: false - - /@babel/helper-string-parser@7.24.1: - resolution: - { - integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==, - } - engines: { node: ">=6.9.0" } - - /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: ">=6.9.0" } - - /@babel/helper-validator-option@7.23.5: - resolution: - { - integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, - } - engines: { node: ">=6.9.0" } - dev: false - - /@babel/helpers@7.24.1: - resolution: - { - integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/template": 7.24.0 - "@babel/traverse": 7.24.1 - "@babel/types": 7.24.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/highlight@7.24.2: - resolution: - { - integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-validator-identifier": 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - dev: false - - /@babel/parser@7.24.1: - resolution: - { - integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==, - } - engines: { node: ">=6.0.0" } - hasBin: true - dependencies: - "@babel/types": 7.24.0 - - /@babel/template@7.24.0: - resolution: - { - integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/code-frame": 7.24.2 - "@babel/parser": 7.24.1 - "@babel/types": 7.24.0 - dev: false - - /@babel/traverse@7.24.1: - resolution: - { - integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/code-frame": 7.24.2 - "@babel/generator": 7.24.1 - "@babel/helper-environment-visitor": 7.22.20 - "@babel/helper-function-name": 7.23.0 - "@babel/helper-hoist-variables": 7.22.5 - "@babel/helper-split-export-declaration": 7.22.6 - "@babel/parser": 7.24.1 - "@babel/types": 7.24.0 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - - /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: ">=6.9.0" } - dependencies: - "@babel/helper-string-parser": 7.24.1 - "@babel/helper-validator-identifier": 7.22.20 - to-fast-properties: 2.0.0 - - /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: false - optional: true - - /@esbuild/aix-ppc64@0.20.2: - resolution: - { - integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-arm64@0.20.2: - resolution: - { - integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-arm@0.20.2: - resolution: - { - integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - dev: false - optional: true - - /@esbuild/android-x64@0.20.2: - resolution: - { - integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-arm64@0.20.2: - resolution: - { - integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@esbuild/darwin-x64@0.20.2: - resolution: - { - integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-arm64@0.20.2: - resolution: - { - integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/freebsd-x64@0.20.2: - resolution: - { - integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm64@0.20.2: - resolution: - { - integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-arm@0.20.2: - resolution: - { - integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, - } - engines: { node: ">=12" } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ia32@0.20.2: - resolution: - { - integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-loong64@0.20.2: - resolution: - { - integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, - } - engines: { node: ">=12" } - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-mips64el@0.20.2: - resolution: - { - integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, - } - engines: { node: ">=12" } - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-ppc64@0.20.2: - resolution: - { - integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, - } - engines: { node: ">=12" } - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-riscv64@0.20.2: - resolution: - { - integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, - } - engines: { node: ">=12" } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-s390x@0.20.2: - resolution: - { - integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, - } - engines: { node: ">=12" } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: false - optional: true - - /@esbuild/linux-x64@0.20.2: - resolution: - { - integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/netbsd-x64@0.20.2: - resolution: - { - integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: false - optional: true - - /@esbuild/openbsd-x64@0.20.2: - resolution: - { - integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: false - optional: true - - /@esbuild/sunos-x64@0.20.2: - resolution: - { - integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-arm64@0.20.2: - resolution: - { - integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, - } - engines: { node: ">=12" } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-ia32@0.20.2: - resolution: - { - integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, - } - engines: { node: ">=12" } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@esbuild/win32-x64@0.20.2: - resolution: - { - integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, - } - engines: { node: ">=12" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - dev: true - - /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } - dev: true - - /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - - /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /@fastify/ajv-compiler@3.5.0: - resolution: - { - integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==, - } - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - - /@fastify/error@3.4.1: - resolution: - { - integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==, - } - dev: false - - /@fastify/fast-json-stringify-compiler@4.3.0: - resolution: - { - integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==, - } - dependencies: - fast-json-stringify: 5.12.0 - dev: false - - /@fastify/merge-json-schemas@0.1.1: - resolution: - { - integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /@fastify/sensible@5.5.0: - resolution: - { - integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==, - } - dependencies: - "@lukeed/ms": 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - - /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: ">=10.10.0" } - dependencies: - "@humanwhocodes/object-schema": 2.0.2 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - - /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: ">=12.22" } - dev: true - - /@humanwhocodes/object-schema@2.0.2: - resolution: - { - integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==, - } - dev: true - - /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: ">=8" } - dev: true - - /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@sinclair/typebox": 0.27.8 - dev: true - - /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: ">=6.0.0" } - dependencies: - "@jridgewell/set-array": 1.2.1 - "@jridgewell/sourcemap-codec": 1.4.15 - "@jridgewell/trace-mapping": 0.3.25 - - /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: ">=6.0.0" } - - /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: ">=6.0.0" } - - /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } - - /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } - dependencies: - "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.4.15 - - /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: ">=8" } - dev: false - - /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.stat": 2.0.5 - run-parallel: 1.2.0 - dev: true - - /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: ">= 8" } - dev: true - - /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: ">= 8" } - dependencies: - "@nodelib/fs.scandir": 2.1.5 - fastq: 1.17.1 - dev: true - - /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } - dev: true - - /@rollup/rollup-android-arm-eabi@4.13.2: - resolution: - { - integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==, - } - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.13.2: - resolution: - { - integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==, - } - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.13.2: - resolution: - { - integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==, - } - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true + .: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/database': + specifier: workspace:^ + version: link:packages/database + '@rustymotors/shared': + specifier: workspace:^ + version: link:packages/shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:packages/shared-packets + '@sentry/esbuild-plugin': + specifier: ^2.16.0 + version: 2.16.0 + fastify: + specifier: ^4.26.2 + version: 4.26.2 + pino: + specifier: ^8.19.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + slonik: + specifier: ^40.0.0 + version: 40.2.1(zod@3.22.4) + tsx: + specifier: ^4.7.1 + version: 4.7.1 + zod: + specifier: ^3.22.4 + version: 3.22.4 + devDependencies: + '@sentry/node': + specifier: 7.109.0 + version: 7.109.0 + '@sentry/profiling-node': + specifier: 7.109.0 + version: 7.109.0 + '@slonik/migrator': + specifier: 0.12.0 + version: 0.12.0(@types/node@20.12.2)(slonik@40.2.1) + '@types/node': + specifier: 20.12.2 + version: 20.12.2 + '@vitest/coverage-v8': + specifier: 1.4.0 + version: 1.4.0(vitest@1.4.0) + esbuild: + specifier: 0.20.2 + version: 0.20.2 + eslint: + specifier: 8.57.0 + version: 8.57.0 + eslint-config-prettier: + specifier: 9.1.0 + version: 9.1.0(eslint@8.57.0) + eslint-plugin-prettier: + specifier: 5.1.3 + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + npm-run-all2: + specifier: 6.1.2 + version: 6.1.2 + prettier: + specifier: 3.2.5 + version: 3.2.5 + typescript: + specifier: 5.4.3 + version: 5.4.3 + vitest: + specifier: 1.4.0 + version: 1.4.0(@types/node@20.12.2) + + apps/main: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../../packages/shared + + packages/cli: + dependencies: + '@rustymotors/shared': + specifier: workspace:* + version: link:../shared + + packages/database: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.109.0 + slonik: + specifier: ^40.0.0 + version: 40.2.1(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 + + packages/gateway: + dependencies: + '@fastify/sensible': + specifier: ^5.5.0 + version: 5.5.0 + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@rustymotors/shared-packets': + specifier: workspace:^ + version: link:../shared-packets + '@sentry/node': + specifier: ^7.102.0 + version: 7.109.0 + fastify: + specifier: ^4.25.2 + version: 4.26.2 + + packages/interfaces: {} + + packages/lobby: + dependencies: + '@rustymotors/database': + specifier: workspace:^ + version: link:../database + + packages/login: {} + + packages/nps: + dependencies: + '@sentry/node': + specifier: ^7.102.0 + version: 7.109.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + + packages/patch: {} + + packages/persona: {} + + packages/shard: {} + + packages/shared: + dependencies: + pino: + specifier: ^8.18.0 + version: 8.19.0 + pino-pretty: + specifier: ^11.0.0 + version: 11.0.0 + + packages/shared-packets: {} + + packages/transactions: {} - /@rollup/rollup-darwin-x64@4.13.2: - resolution: - { - integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==, - } - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.13.2: - resolution: - { - integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==, - } - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.13.2: - resolution: - { - integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.13.2: - resolution: - { - integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==, - } - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: - resolution: - { - integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==, - } - cpu: [ppc64le] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.13.2: - resolution: - { - integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==, - } - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-s390x-gnu@4.13.2: - resolution: - { - integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==, - } - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.13.2: - resolution: - { - integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.13.2: - resolution: - { - integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==, - } - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.13.2: - resolution: - { - integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==, - } - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.13.2: - resolution: - { - integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==, - } - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.13.2: - resolution: - { - integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==, - } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - - /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): - resolution: - { - integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@types/node": 20.12.2 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.12.2): - resolution: - { - integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==, - } - peerDependencies: - "@types/node": "*" - peerDependenciesMeta: - "@types/node": - optional: true - dependencies: - "@rushstack/node-core-library": 4.0.2(@types/node@20.12.2) - "@types/node": 20.12.2 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.2): - resolution: - { - integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==, - } - dependencies: - "@rushstack/terminal": 0.10.0(@types/node@20.12.2) - "@types/argparse": 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - "@types/node" - dev: true - - /@sentry-internal/tracing@7.109.0: - resolution: - { - integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/core": 7.109.0 - "@sentry/types": 7.109.0 - "@sentry/utils": 7.109.0 - - /@sentry/babel-plugin-component-annotate@2.16.0: - resolution: - { - integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==, - } - engines: { node: ">= 14" } - dev: false - - /@sentry/bundler-plugin-core@2.16.0: - resolution: - { - integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==, - } - engines: { node: ">= 14" } - dependencies: - "@babel/core": 7.24.3 - "@sentry/babel-plugin-component-annotate": 2.16.0 - "@sentry/cli": 2.31.0 - dotenv: 16.4.5 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.27.0 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/cli-darwin@2.31.0: - resolution: - { - integrity: sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==, - } - engines: { node: ">=10" } - os: [darwin] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm64@2.31.0: - resolution: - { - integrity: sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==, - } - engines: { node: ">=10" } - cpu: [arm64] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-arm@2.31.0: - resolution: - { - integrity: sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==, - } - engines: { node: ">=10" } - cpu: [arm] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-i686@2.31.0: - resolution: - { - integrity: sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-linux-x64@2.31.0: - resolution: - { - integrity: sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-win32-i686@2.31.0: - resolution: - { - integrity: sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==, - } - engines: { node: ">=10" } - cpu: [x86, ia32] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli-win32-x64@2.31.0: - resolution: - { - integrity: sha512-w5cvpZ6VVlhlyleY8TYHmrP7g48vKHnoVt5xFccfxT+HqQI/AxodvzgVvBTM2kB/sh/kHwexp6bJGWCdkGftww==, - } - engines: { node: ">=10" } - cpu: [x64] - os: [win32] - requiresBuild: true - dev: false - optional: true - - /@sentry/cli@2.31.0: - resolution: - { - integrity: sha512-nCESoXAG3kRUO5n3QbDYAqX6RU3z1ORjnd7a3sqijYsCGHfOpcjGdS7JYLVg5if+tXMEF5529BPXFe5Kg/J9tw==, - } - engines: { node: ">= 10" } - hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - "@sentry/cli-darwin": 2.31.0 - "@sentry/cli-linux-arm": 2.31.0 - "@sentry/cli-linux-arm64": 2.31.0 - "@sentry/cli-linux-i686": 2.31.0 - "@sentry/cli-linux-x64": 2.31.0 - "@sentry/cli-win32-i686": 2.31.0 - "@sentry/cli-win32-x64": 2.31.0 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/core@7.109.0: - resolution: - { - integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.109.0 - "@sentry/utils": 7.109.0 - - /@sentry/esbuild-plugin@2.16.0: - resolution: - { - integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==, - } - engines: { node: ">= 14" } - dependencies: - "@sentry/bundler-plugin-core": 2.16.0 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - - /@sentry/node@7.109.0: - resolution: - { - integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==, - } - engines: { node: ">=8" } - dependencies: - "@sentry-internal/tracing": 7.109.0 - "@sentry/core": 7.109.0 - "@sentry/types": 7.109.0 - "@sentry/utils": 7.109.0 - - /@sentry/profiling-node@7.109.0: - resolution: - { - integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==, - } - engines: { node: ">=8.0.0" } - hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.3 - node-abi: 3.56.0 - dev: true - - /@sentry/types@7.109.0: - resolution: - { - integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==, - } - engines: { node: ">=8" } - - /@sentry/utils@7.109.0: - resolution: - { - integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==, - } - engines: { node: ">=8" } - dependencies: - "@sentry/types": 7.109.0 - - /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } - dev: true - - /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@37.6.0): - resolution: - { - integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==, - } - peerDependencies: - slonik: 27 - 29 - dependencies: - "@rushstack/ts-command-line": 4.19.1(@types/node@20.12.2) - slonik: 37.6.0(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.2) - transitivePeerDependencies: - - "@types/node" - dev: true - - /@types/argparse@1.0.38: - resolution: - { - integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==, - } - dev: true - - /@types/estree@1.0.5: - resolution: - { - integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==, - } - dev: true - - /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } - dev: true - - /@types/node@20.12.2: - resolution: - { - integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==, - } - dependencies: - undici-types: 5.26.5 - - /@types/pg@8.11.4: - resolution: - { - integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==, - } - dependencies: - "@types/node": 20.12.2 - pg-protocol: 1.6.0 - pg-types: 4.0.2 - - /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } - dev: true - - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: - { - integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==, - } - peerDependencies: - vitest: 1.4.0 - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.8 - magicast: 0.3.3 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.2) - transitivePeerDependencies: - - supports-color - dev: true - - /@vitest/expect@1.4.0: - resolution: - { - integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==, - } - dependencies: - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - chai: 4.4.1 - dev: true - - /@vitest/runner@1.4.0: - resolution: - { - integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==, - } - dependencies: - "@vitest/utils": 1.4.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - - /@vitest/snapshot@1.4.0: - resolution: - { - integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==, - } - dependencies: - magic-string: 0.30.8 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - - /@vitest/spy@1.4.0: - resolution: - { - integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==, - } - dependencies: - tinyspy: 2.2.1 - dev: true - - /@vitest/utils@1.4.0: - resolution: - { - integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==, - } - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - - /abort-controller@3.0.0: - resolution: - { - integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==, - } - engines: { node: ">=6.5" } - dependencies: - event-target-shim: 5.0.1 - dev: false - - /abstract-logging@2.0.1: - resolution: - { - integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==, - } - dev: false - - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - - /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: ">=0.4.0" } - dev: true - - /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: ">=0.4.0" } - hasBin: true - - /agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: ">= 6.0.0" } - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - dependencies: - ajv: 8.12.0 - dev: false - - /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - - /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - - /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: ">=8" } - dev: true - - /ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: ">=4" } - dependencies: - color-convert: 1.9.3 - dev: false - - /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: ">=8" } - dependencies: - color-convert: 2.0.1 - dev: true - - /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: ">=10" } - dev: true - - /ansi-styles@6.2.1: - resolution: - { - integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, - } - engines: { node: ">=12" } - dev: true - - /anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: ">= 8" } - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - - /archy@1.0.0: - resolution: - { - integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==, - } - dev: false - - /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } - dependencies: - sprintf-js: 1.0.3 - dev: true - - /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } - dev: true - - /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } - dev: true - - /atomic-sleep@1.0.0: - resolution: - { - integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==, - } - engines: { node: ">=8.0.0" } - dev: false - - /avvio@8.3.0: - resolution: - { - integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==, - } - dependencies: - "@fastify/error": 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - - /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } - - /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } - dev: false - - /binary-extensions@2.3.0: - resolution: - { - integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, - } - engines: { node: ">=8" } - dev: false - - /boolean@3.2.0: - resolution: - { - integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==, - } - - /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - - /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } - dependencies: - balanced-match: 1.0.2 - - /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: ">=8" } - dependencies: - fill-range: 7.0.1 - dev: false - - /browserslist@4.23.0: - resolution: - { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } - hasBin: true - dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.722 - node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: false - - /buffer-writer@2.0.0: - resolution: - { - integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==, - } - engines: { node: ">=4" } - - /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - - /cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - dev: true - - /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: ">=6" } - dev: true - - /caniuse-lite@1.0.30001600: - resolution: - { - integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==, - } - dev: false - - /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: ">=4" } - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - - /chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: ">=4" } - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: false - - /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: ">=10" } - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - - /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: ">= 8.10.0" } - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } - dependencies: - color-name: 1.1.3 - dev: false - - /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: ">=7.0.0" } - dependencies: - color-name: 1.1.4 - dev: true - - /color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } - dev: false - - /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } - dev: true - - /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } - dev: false - - /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } - requiresBuild: true - dev: true - optional: true - - /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } - dev: true - - /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } - - /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: ">= 0.6" } - dev: false - - /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: ">= 8" } - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - - /dateformat@4.6.3: - resolution: - { - integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==, - } - dev: false - - /debug@4.3.4: - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: ">=6.0" } - peerDependencies: - supports-color: "*" - peerDependenciesMeta: - supports-color: - optional: true - dependencies: - ms: 2.1.2 - - /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: ">=6" } - dependencies: - type-detect: 4.0.8 - dev: true - - /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } - dev: true - - /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: ">= 0.8" } - dev: false - - /detect-libc@2.0.3: - resolution: - { - integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, - } - engines: { node: ">=8" } - dev: true - - /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dev: true - - /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - esutils: 2.0.3 - dev: true - - /dotenv@16.4.5: - resolution: - { - integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, - } - engines: { node: ">=12" } - dev: false - - /electron-to-chromium@1.4.722: - resolution: - { - integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==, - } - dev: false - - /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: ">=12" } - dev: true - - /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } - dependencies: - once: 1.4.0 - dev: false - - /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.19.12 - "@esbuild/android-arm": 0.19.12 - "@esbuild/android-arm64": 0.19.12 - "@esbuild/android-x64": 0.19.12 - "@esbuild/darwin-arm64": 0.19.12 - "@esbuild/darwin-x64": 0.19.12 - "@esbuild/freebsd-arm64": 0.19.12 - "@esbuild/freebsd-x64": 0.19.12 - "@esbuild/linux-arm": 0.19.12 - "@esbuild/linux-arm64": 0.19.12 - "@esbuild/linux-ia32": 0.19.12 - "@esbuild/linux-loong64": 0.19.12 - "@esbuild/linux-mips64el": 0.19.12 - "@esbuild/linux-ppc64": 0.19.12 - "@esbuild/linux-riscv64": 0.19.12 - "@esbuild/linux-s390x": 0.19.12 - "@esbuild/linux-x64": 0.19.12 - "@esbuild/netbsd-x64": 0.19.12 - "@esbuild/openbsd-x64": 0.19.12 - "@esbuild/sunos-x64": 0.19.12 - "@esbuild/win32-arm64": 0.19.12 - "@esbuild/win32-ia32": 0.19.12 - "@esbuild/win32-x64": 0.19.12 - dev: false - - /esbuild@0.20.2: - resolution: - { - integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, - } - engines: { node: ">=12" } - hasBin: true - requiresBuild: true - optionalDependencies: - "@esbuild/aix-ppc64": 0.20.2 - "@esbuild/android-arm": 0.20.2 - "@esbuild/android-arm64": 0.20.2 - "@esbuild/android-x64": 0.20.2 - "@esbuild/darwin-arm64": 0.20.2 - "@esbuild/darwin-x64": 0.20.2 - "@esbuild/freebsd-arm64": 0.20.2 - "@esbuild/freebsd-x64": 0.20.2 - "@esbuild/linux-arm": 0.20.2 - "@esbuild/linux-arm64": 0.20.2 - "@esbuild/linux-ia32": 0.20.2 - "@esbuild/linux-loong64": 0.20.2 - "@esbuild/linux-mips64el": 0.20.2 - "@esbuild/linux-ppc64": 0.20.2 - "@esbuild/linux-riscv64": 0.20.2 - "@esbuild/linux-s390x": 0.20.2 - "@esbuild/linux-x64": 0.20.2 - "@esbuild/netbsd-x64": 0.20.2 - "@esbuild/openbsd-x64": 0.20.2 - "@esbuild/sunos-x64": 0.20.2 - "@esbuild/win32-arm64": 0.20.2 - "@esbuild/win32-ia32": 0.20.2 - "@esbuild/win32-x64": 0.20.2 - dev: true - - /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: ">=6" } - dev: false - - /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: ">=0.8.0" } - dev: false - - /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: ">=10" } - dev: true - - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } - hasBin: true - peerDependencies: - eslint: ">=7.0.0" - dependencies: - eslint: 8.57.0 - dev: true - - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): - resolution: - { - integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - peerDependencies: - "@types/eslint": ">=8.0.0" - eslint: ">=8.0.0" - eslint-config-prettier: "*" - prettier: ">=3.0.0" - peerDependenciesMeta: - "@types/eslint": - optional: true - eslint-config-prettier: - optional: true - dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - dev: true - - /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - dev: true - - /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dev: true - - /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - hasBin: true - dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@8.57.0) - "@eslint-community/regexpp": 4.10.0 - "@eslint/eslintrc": 2.1.4 - "@eslint/js": 8.57.0 - "@humanwhocodes/config-array": 0.11.14 - "@humanwhocodes/module-importer": 1.0.1 - "@nodelib/fs.walk": 1.2.8 - "@ungap/structured-clone": 1.2.0 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - doctrine: 3.0.0 - escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 - find-up: 5.0.0 - glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - 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 - transitivePeerDependencies: - - supports-color - dev: true - - /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - dev: true - - /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: ">=0.10" } - dependencies: - estraverse: 5.3.0 - dev: true - - /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: ">=4.0" } - dependencies: - estraverse: 5.3.0 - dev: true - - /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: ">=4.0" } - dev: true - - /estree-walker@3.0.3: - resolution: - { - integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==, - } - dependencies: - "@types/estree": 1.0.5 - dev: true - - /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: ">=0.10.0" } - dev: true - - /event-target-shim@5.0.1: - resolution: - { - integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==, - } - engines: { node: ">=6" } - dev: false - - /events@3.3.0: - resolution: - { - integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==, - } - engines: { node: ">=0.8.x" } - dev: false - - /execa@8.0.1: - resolution: - { - integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==, - } - engines: { node: ">=16.17" } - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - dev: true - - /fast-content-type-parse@1.1.0: - resolution: - { - integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==, - } - dev: false - - /fast-copy@3.0.2: - resolution: - { - integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==, - } - dev: false - - /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } - dev: false - - /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } - - /fast-diff@1.3.0: - resolution: - { - integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==, - } - dev: true - - /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } - dev: true - - /fast-json-stringify@5.12.0: - resolution: - { - integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-json-stringify@5.13.0: - resolution: - { - integrity: sha512-XjTDWKHP3GoMQUOfnjYUbqeHeEt+PvYgvBdG2fRSmYaORILbSr8xTJvZX+w1YSAP5pw2NwKrGRmQleYueZEoxw==, - } - dependencies: - "@fastify/merge-json-schemas": 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - dev: false - - /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } - dev: true - - /fast-printf@1.6.9: - resolution: - { - integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==, - } - engines: { node: ">=10.0" } - dependencies: - boolean: 3.2.0 - - /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } - dependencies: - fast-decode-uri-component: 1.0.1 - dev: false - - /fast-redact@3.5.0: - resolution: - { - integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==, - } - engines: { node: ">=6" } - dev: false - - /fast-safe-stringify@2.1.1: - resolution: - { - integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==, - } - dev: false - - /fast-uri@2.3.0: - resolution: - { - integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==, - } - dev: false - - /fastify-plugin@4.5.1: - resolution: - { - integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==, - } - dev: false - - /fastify@4.26.2: - resolution: - { - integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==, - } - dependencies: - "@fastify/ajv-compiler": 3.5.0 - "@fastify/error": 3.4.1 - "@fastify/fast-json-stringify-compiler": 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.13.0 - find-my-way: 8.1.0 - light-my-request: 5.12.0 - pino: 8.19.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - dev: false - - /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } - dependencies: - reusify: 1.0.4 - - /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flat-cache: 3.2.0 - dev: true - - /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: ">=8" } - dependencies: - to-regex-range: 5.0.1 - dev: false - - /find-my-way@8.1.0: - resolution: - { - integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==, - } - engines: { node: ">=14" } - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 2.0.0 - dev: false - - /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: ">=10" } - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - rimraf: 3.0.2 - dev: true - - /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } - dev: true - - /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: ">= 0.6" } - dev: false - - /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: ">=6 <7 || >=8" } - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - - /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } - - /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } - os: [darwin] - requiresBuild: true - optional: true - - /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } - dev: true - - /gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: ">=6.9.0" } - dev: false - - /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } - dev: true - - /get-stack-trace@3.1.1: - resolution: - { - integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==, - } - engines: { node: ">=18.0" } - dependencies: - stacktrace-parser: 0.1.10 - - /get-stream@8.0.1: - resolution: - { - integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==, - } - engines: { node: ">=16" } - dev: true - - /get-tsconfig@4.7.3: - resolution: - { - integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==, - } - dependencies: - resolve-pkg-maps: 1.0.0 - dev: false - - /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: ">= 6" } - dependencies: - is-glob: 4.0.3 - dev: false - - /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: ">=10.13.0" } - dependencies: - is-glob: 4.0.3 - dev: true - - /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - dev: true - - /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: ">=12" } - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - dev: true - - /glob@9.3.5: - resolution: - { - integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.10.2 - dev: false - - /globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: ">=4" } - dev: false - - /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: ">=8" } - dependencies: - type-fest: 0.20.2 - dev: true - - /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } - dev: true - - /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } - dev: true - - /has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: ">=4" } - dev: false - - /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: ">=8" } - dev: true - - /hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: ">= 0.4" } - dependencies: - function-bind: 1.1.2 - dev: true - - /help-me@5.0.0: - resolution: - { - integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==, - } - dev: false - - /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - dev: true - - /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: ">= 0.8" } - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - dev: false - - /https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: ">= 6" } - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - - /human-signals@5.0.0: - resolution: - { - integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==, - } - engines: { node: ">=16.17.0" } - dev: true - - /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } - dev: false - - /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: ">= 4" } - dev: true - - /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: ">=6" } - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - dev: true - - /import-lazy@4.0.0: - resolution: - { - integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==, - } - engines: { node: ">=8" } - dev: true - - /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: ">=0.8.19" } - dev: true - - /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - dev: true - - /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } - - /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: ">= 0.10" } - dev: false - - /is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: ">=8" } - dependencies: - binary-extensions: 2.3.0 - dev: false - - /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } - dependencies: - hasown: 2.0.2 - dev: true - - /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: ">=0.10.0" } - - /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: ">=0.10.0" } - dependencies: - is-extglob: 2.1.1 - - /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: ">=0.12.0" } - dev: false - - /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: ">=8" } - dev: true - - /is-stream@3.0.0: - resolution: - { - integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dev: true - - /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } - - /iso8601-duration@1.3.0: - resolution: - { - integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==, - } - - /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - dev: true - - /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - dev: true - - /istanbul-lib-source-maps@5.0.4: - resolution: - { - integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==, - } - engines: { node: ">=10" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - dev: true - - /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: ">=8" } - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - dev: true - - /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } - dev: true - - /joycon@3.1.1: - resolution: - { - integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==, - } - engines: { node: ">=10" } - dev: false - - /js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } - dev: false - - /js-tokens@9.0.0: - resolution: - { - integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==, - } - dev: true - - /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } - hasBin: true - dependencies: - argparse: 2.0.1 - dev: true - - /jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: ">=4" } - hasBin: true - dev: false - - /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } - dev: true - - /json-parse-even-better-errors@3.0.1: - resolution: - { - integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - dev: true - - /json-schema-ref-resolver@1.0.1: - resolution: - { - integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==, - } - dependencies: - fast-deep-equal: 3.1.3 - dev: false - - /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } - dev: true - - /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } - dev: false - - /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } - dev: true - - /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: ">=6" } - hasBin: true - dev: false - - /jsonc-parser@3.2.1: - resolution: - { - integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==, - } - dev: true - - /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - - /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } - dependencies: - json-buffer: 3.0.1 - dev: true - - /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /light-my-request@5.12.0: - resolution: - { - integrity: sha512-P526OX6E7aeCIfw/9UyJNsAISfcFETghysaWHQAlQYayynShT08MOj4c6fBCvTWBrHXSvqBAKDp3amUPSCQI4w==, - } - dependencies: - cookie: 0.6.0 - process-warning: 3.0.0 - set-cookie-parser: 2.6.0 - dev: false - - /local-pkg@0.5.0: - resolution: - { - integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==, - } - engines: { node: ">=14" } - dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 - dev: true - - /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: ">=10" } - dependencies: - p-locate: 5.0.0 - - /lodash.get@4.4.2: - resolution: - { - integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==, - } - dev: true - - /lodash.isequal@4.5.0: - resolution: - { - integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==, - } - dev: true - - /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } - dev: true - - /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } - dependencies: - get-func-name: 2.0.2 - dev: true - - /lru-cache@10.2.0: - resolution: - { - integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, - } - engines: { node: 14 || >=16.14 } - dev: false - - /lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } - dependencies: - yallist: 3.1.1 - dev: false - - /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: ">=10" } - dependencies: - yallist: 4.0.0 - - /magic-string@0.27.0: - resolution: - { - integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: false - - /magic-string@0.30.8: - resolution: - { - integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==, - } - engines: { node: ">=12" } - dependencies: - "@jridgewell/sourcemap-codec": 1.4.15 - dev: true - - /magicast@0.3.3: - resolution: - { - integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==, - } - dependencies: - "@babel/parser": 7.24.1 - "@babel/types": 7.24.0 - source-map-js: 1.2.0 - dev: true - - /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: ">= 0.6" } - dev: false - - /memorystream@0.3.1: - resolution: - { - integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, - } - engines: { node: ">= 0.10.0" } - dev: true - - /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } - dev: true - - /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: ">= 0.6" } - dev: false - - /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: ">= 0.6" } - dependencies: - mime-db: 1.52.0 - dev: false - - /mimic-fn@4.0.0: - resolution: - { - integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==, - } - engines: { node: ">=12" } - dev: true - - /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } - dependencies: - brace-expansion: 1.1.11 - dev: true - - /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: ">=10" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimatch@8.0.4: - resolution: - { - integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: false - - /minimatch@9.0.4: - resolution: - { - integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - brace-expansion: 2.0.1 - dev: true - - /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } - dev: false - - /minipass@4.2.8: - resolution: - { - integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==, - } - engines: { node: ">=8" } - dev: false - - /minipass@7.0.4: - resolution: - { - integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, - } - engines: { node: ">=16 || 14 >=14.17" } - dev: false - - /mlly@1.6.1: - resolution: - { - integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==, - } - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.0.3 - ufo: 1.5.3 - dev: true - - /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } - - /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } - hasBin: true - dev: true - - /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } - dev: true - - /node-abi@3.56.0: - resolution: - { - integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==, - } - engines: { node: ">=10" } - dependencies: - semver: 7.6.0 - dev: true - - /node-fetch@2.7.0: - resolution: - { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - dependencies: - whatwg-url: 5.0.0 - dev: false - - /node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } - dev: false - - /normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: ">=0.10.0" } - dev: false - - /npm-normalize-package-bin@3.0.1: - resolution: - { - integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - dev: true - - /npm-run-all2@6.1.2: - resolution: - { - integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==, - } - engines: { node: ^14.18.0 || >=16.0.0, npm: ">= 8" } - hasBin: true - dependencies: - ansi-styles: 6.2.1 - cross-spawn: 7.0.3 - memorystream: 0.3.1 - minimatch: 9.0.4 - pidtree: 0.6.0 - read-package-json-fast: 3.0.2 - shell-quote: 1.8.1 - dev: true - - /npm-run-path@5.3.0: - resolution: - { - integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } - dependencies: - path-key: 4.0.0 - dev: true - - /obuf@1.1.2: - resolution: - { - integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==, - } - - /on-exit-leak-free@2.1.2: - resolution: - { - integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==, - } - engines: { node: ">=14.0.0" } - dev: false - - /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } - dependencies: - wrappy: 1.0.2 - - /onetime@6.0.0: - resolution: - { - integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==, - } - engines: { node: ">=12" } - dependencies: - mimic-fn: 4.0.0 - dev: true - - /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: ">= 0.8.0" } - dependencies: - "@aashutoshrathi/word-wrap": 1.2.6 - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - dev: true - - /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: ">=10" } - dependencies: - yocto-queue: 0.1.0 - - /p-limit@5.0.0: - resolution: - { - integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==, - } - engines: { node: ">=18" } - dependencies: - yocto-queue: 1.0.0 - dev: true - - /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: ">=10" } - dependencies: - p-limit: 3.1.0 - - /packet-reader@1.0.0: - resolution: - { - integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==, - } - - /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: ">=6" } - dependencies: - callsites: 3.1.0 - dev: true - - /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: ">=8" } - - /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: ">=8" } - dev: true - - /path-key@4.0.0: - resolution: - { - integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==, - } - engines: { node: ">=12" } - dev: true - - /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } - dev: true - - /path-scurry@1.10.2: - resolution: - { - integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==, - } - engines: { node: ">=16 || 14 >=14.17" } - dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 - dev: false - - /pathe@1.1.2: - resolution: - { - integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==, - } - dev: true - - /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } - dev: true - - /pg-cloudflare@1.1.1: - resolution: - { - integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==, - } - requiresBuild: true - optional: true +packages: - /pg-connection-string@2.6.2: - resolution: - { - integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==, - } - - /pg-cursor@2.10.3(pg@8.11.3): - resolution: - { - integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - - /pg-int8@1.0.1: - resolution: - { - integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==, - } - engines: { node: ">=4.0.0" } - - /pg-numeric@1.0.2: - resolution: - { - integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==, - } - engines: { node: ">=4" } - - /pg-pool@3.6.1(pg@8.11.3): - resolution: - { - integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==, - } - peerDependencies: - pg: ">=8.0" - dependencies: - pg: 8.11.3 - - /pg-protocol@1.6.0: - resolution: - { - integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==, - } - - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: - { - integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==, - } - peerDependencies: - pg: ^8 - dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) - - /pg-types@2.2.0: - resolution: - { - integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==, - } - engines: { node: ">=4" } - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - /pg-types@4.0.2: - resolution: - { - integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==, - } - engines: { node: ">=10" } - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - /pg@8.11.3: - resolution: - { - integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==, - } - engines: { node: ">= 8.0.0" } - peerDependencies: - pg-native: ">=3.0.1" - peerDependenciesMeta: - pg-native: - optional: true - dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - /pgpass@1.0.5: - resolution: - { - integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==, - } - dependencies: - split2: 4.2.0 - - /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } - - /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: ">=8.6" } - dev: false - - /pidtree@0.6.0: - resolution: - { - integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==, - } - engines: { node: ">=0.10" } - hasBin: true - dev: true - - /pino-abstract-transport@1.1.0: - resolution: - { - integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==, - } - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - - /pino-pretty@11.0.0: - resolution: - { - integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==, - } - hasBin: true - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.2 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 - strip-json-comments: 3.1.1 - dev: false - - /pino-std-serializers@6.2.2: - resolution: - { - integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==, - } - dev: false - - /pino@8.19.0: - resolution: - { - integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==, - } - hasBin: true - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 - thread-stream: 2.4.1 - dev: false - - /pkg-types@1.0.3: - resolution: - { - integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==, - } - dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true - - /pony-cause@2.1.10: - resolution: - { - integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==, - } - engines: { node: ">=12.0.0" } - dev: true - - /postcss@8.4.38: - resolution: - { - integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==, - } - engines: { node: ^10 || ^12 || >=14 } - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - dev: true - - /postgres-array@2.0.0: - resolution: - { - integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==, - } - engines: { node: ">=4" } - - /postgres-array@3.0.2: - resolution: - { - integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==, - } - engines: { node: ">=12" } - - /postgres-bytea@1.0.0: - resolution: - { - integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==, - } - engines: { node: ">=0.10.0" } - - /postgres-bytea@3.0.0: - resolution: - { - integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==, - } - engines: { node: ">= 6" } - dependencies: - obuf: 1.1.2 - - /postgres-date@1.0.7: - resolution: - { - integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==, - } - engines: { node: ">=0.10.0" } - - /postgres-date@2.1.0: - resolution: - { - integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==, - } - engines: { node: ">=12" } - - /postgres-interval@1.2.0: - resolution: - { - integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==, - } - engines: { node: ">=0.10.0" } - dependencies: - xtend: 4.0.2 - - /postgres-interval@3.0.0: - resolution: - { - integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==, - } - engines: { node: ">=12" } - - /postgres-interval@4.0.2: - resolution: - { - integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==, - } - engines: { node: ">=12" } - - /postgres-range@1.1.4: - resolution: - { - integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==, - } - - /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: ">= 0.8.0" } - dev: true - - /prettier-linter-helpers@1.0.0: - resolution: - { - integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==, - } - engines: { node: ">=6.0.0" } - dependencies: - fast-diff: 1.3.0 - dev: true - - /prettier@3.2.5: - resolution: - { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, - } - engines: { node: ">=14" } - hasBin: true - dev: true - - /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } - dependencies: - "@jest/schemas": 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.2.0 - dev: true - - /process-warning@3.0.0: - resolution: - { - integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==, - } - dev: false - - /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: ">= 0.6.0" } - dev: false - - /progress@2.0.3: - resolution: - { - integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==, - } - engines: { node: ">=0.4.0" } - dev: false - - /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: ">= 0.10" } - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - dev: false - - /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } - dev: false - - /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - dev: false - - /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: ">=6" } - - /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } - dev: true - - /quick-format-unescaped@4.0.4: - resolution: - { - integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==, - } - dev: false - - /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } - dev: true - - /read-package-json-fast@3.0.2: - resolution: - { - integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } - dependencies: - json-parse-even-better-errors: 3.0.1 - npm-normalize-package-bin: 3.0.1 - dev: true - - /readable-stream@4.5.2: - resolution: - { - integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - dev: false - - /readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: ">=8.10.0" } - dependencies: - picomatch: 2.3.1 - dev: false - - /real-require@0.2.0: - resolution: - { - integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==, - } - engines: { node: ">= 12.13.0" } - dev: false - - /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: ">=0.10.0" } - dev: false - - /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: ">=4" } - dev: true - - /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } - dev: false - - /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true - - /ret@0.2.2: - resolution: - { - integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==, - } - engines: { node: ">=4" } - dev: false - - /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: ">=1.0.0", node: ">=0.10.0" } - - /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } - dev: false - - /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - - /roarr@7.21.1: - resolution: - { - integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==, - } - engines: { node: ">=18.0" } - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - /rollup@4.13.2: - resolution: - { - integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==, - } - engines: { node: ">=18.0.0", npm: ">=8.0.0" } - hasBin: true - dependencies: - "@types/estree": 1.0.5 - optionalDependencies: - "@rollup/rollup-android-arm-eabi": 4.13.2 - "@rollup/rollup-android-arm64": 4.13.2 - "@rollup/rollup-darwin-arm64": 4.13.2 - "@rollup/rollup-darwin-x64": 4.13.2 - "@rollup/rollup-linux-arm-gnueabihf": 4.13.2 - "@rollup/rollup-linux-arm64-gnu": 4.13.2 - "@rollup/rollup-linux-arm64-musl": 4.13.2 - "@rollup/rollup-linux-powerpc64le-gnu": 4.13.2 - "@rollup/rollup-linux-riscv64-gnu": 4.13.2 - "@rollup/rollup-linux-s390x-gnu": 4.13.2 - "@rollup/rollup-linux-x64-gnu": 4.13.2 - "@rollup/rollup-linux-x64-musl": 4.13.2 - "@rollup/rollup-win32-arm64-msvc": 4.13.2 - "@rollup/rollup-win32-ia32-msvc": 4.13.2 - "@rollup/rollup-win32-x64-msvc": 4.13.2 - fsevents: 2.3.3 - dev: true - - /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } - dependencies: - queue-microtask: 1.2.3 - dev: true - - /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } - dev: false - - /safe-regex2@2.0.0: - resolution: - { - integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==, - } - dependencies: - ret: 0.2.2 - dev: false - - /safe-stable-stringify@2.4.3: - resolution: - { - integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==, - } - engines: { node: ">=10" } - - /secure-json-parse@2.7.0: - resolution: - { - integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==, - } - dev: false - - /semver-compare@1.0.0: - resolution: - { - integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==, - } - - /semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } - hasBin: true - dev: false - - /semver@7.5.4: - resolution: - { - integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - dev: true - - /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: ">=10" } - hasBin: true - dependencies: - lru-cache: 6.0.0 - - /serialize-error@8.1.0: - resolution: - { - integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==, - } - engines: { node: ">=10" } - dependencies: - type-fest: 0.20.2 - - /set-cookie-parser@2.6.0: - resolution: - { - integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==, - } - dev: false - - /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } - dev: false - - /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: ">=8" } - dependencies: - shebang-regex: 3.0.0 - dev: true - - /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: ">=8" } - dev: true - - /shell-quote@1.8.1: - resolution: - { - integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, - } - dev: true - - /short-unique-id@5.0.3: - resolution: - { - integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==, - } - hasBin: true - dev: false - - /siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - dev: true - - /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: ">=14" } - dev: true - - /slonik@37.6.0(zod@3.22.4): - resolution: - { - integrity: sha512-asSs2zdsmWoUWqQgJE0YKD1TJolcG0G1NomAj4kkRZiBMpAuLke6UL5mxvG5aDTX3tEtjasfSdJ4uXxSabFOpg==, - } - engines: { node: ">=18" } - peerDependencies: - zod: ^3 - dependencies: - "@types/pg": 8.11.4 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-protocol: 1.6.0 - pg-query-stream: 4.5.3(pg@8.11.3) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - zod: 3.22.4 - transitivePeerDependencies: - - pg-native - - /sonic-boom@3.8.0: - resolution: - { - integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==, - } - dependencies: - atomic-sleep: 1.0.0 - dev: false - - /source-map-js@1.2.0: - resolution: - { - integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, - } - engines: { node: ">=0.10.0" } - dev: true - - /split2@4.2.0: - resolution: - { - integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==, - } - engines: { node: ">= 10.x" } - - /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } - dev: true - - /stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - dev: true - - /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: ">=6" } - dependencies: - type-fest: 0.7.1 - - /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: ">= 0.8" } - dev: false - - /std-env@3.7.0: - resolution: - { - integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==, - } - dev: true - - /string-argv@0.3.2: - resolution: - { - integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==, - } - engines: { node: ">=0.6.19" } - dev: true - - /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } - dependencies: - safe-buffer: 5.2.1 - dev: false - - /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: ">=8" } - dependencies: - ansi-regex: 5.0.1 - dev: true - - /strip-final-newline@3.0.0: - resolution: - { - integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==, - } - engines: { node: ">=12" } - dev: true - - /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: ">=8" } - - /strip-literal@2.1.0: - resolution: - { - integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==, - } - dependencies: - js-tokens: 9.0.0 - dev: true - - /supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: ">=4" } - dependencies: - has-flag: 3.0.0 - dev: false - - /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: ">=8" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: ">=10" } - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: ">= 0.4" } - dev: true - - /synckit@0.8.8: - resolution: - { - integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==, - } - engines: { node: ^14.18.0 || >=16.0.0 } - dependencies: - "@pkgr/core": 0.1.1 - tslib: 2.6.2 - dev: true - - /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: ">=8" } - dependencies: - "@istanbuljs/schema": 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - dev: true - - /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } - dev: true - - /thread-stream@2.4.1: - resolution: - { - integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==, - } - dependencies: - real-require: 0.2.0 - dev: false - - /tinybench@2.6.0: - resolution: - { - integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==, - } - dev: true - - /tinypool@0.8.3: - resolution: - { - integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==, - } - engines: { node: ">=14.0.0" } - dev: true - - /tinyspy@2.2.1: - resolution: - { - integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==, - } - engines: { node: ">=14.0.0" } - dev: true - - /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: ">=4" } - - /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: ">=8.0" } - dependencies: - is-number: 7.0.0 - dev: false - - /toad-cache@3.7.0: - resolution: - { - integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==, - } - engines: { node: ">=12" } - dev: false - - /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: ">=0.6" } - dev: false - - /tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } - dev: false - - /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } - dev: true - - /tsx@4.7.1: - resolution: - { - integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==, - } - engines: { node: ">=18.0.0" } - hasBin: true - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.3 - optionalDependencies: - fsevents: 2.3.3 - dev: false - - /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: ">= 0.8.0" } - dependencies: - prelude-ls: 1.2.1 - dev: true - - /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: ">=4" } - dev: true - - /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: ">=10" } - - /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: ">=8" } - - /type-fest@4.14.0: - resolution: - { - integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==, - } - engines: { node: ">=16" } - dev: true - - /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: ">= 0.6" } - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - dev: false - - /typescript@5.4.3: - resolution: - { - integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==, - } - engines: { node: ">=14.17" } - hasBin: true - dev: true - - /ufo@1.5.3: - resolution: - { - integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==, - } - dev: true - - /umzug@3.7.0(@types/node@20.12.2): - resolution: - { - integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==, - } - engines: { node: ">=12" } - dependencies: - "@rushstack/ts-command-line": 4.19.1(@types/node@20.12.2) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.14.0 - transitivePeerDependencies: - - "@types/node" - dev: true - - /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } - - /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: ">= 4.0.0" } - dev: true - - /unplugin@1.0.1: - resolution: - { - integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==, - } - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - dev: false - - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } - hasBin: true - peerDependencies: - browserslist: ">= 4.21.0" - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - dev: false - - /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } - dependencies: - punycode: 2.3.1 - - /uuid@9.0.1: - resolution: - { - integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, - } - hasBin: true - dev: false - - /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: ">=10.12.0" } - dependencies: - "@jridgewell/trace-mapping": 0.3.25 - "@types/istanbul-lib-coverage": 2.0.6 - convert-source-map: 2.0.0 - dev: true - - /validator@13.11.0: - resolution: - { - integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==, - } - engines: { node: ">= 0.10" } - dev: true - - /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: ">= 0.8" } - dev: false - - /vite-node@1.4.0(@types/node@20.12.2): - resolution: - { - integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2) - transitivePeerDependencies: - - "@types/node" - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /vite@5.2.7(@types/node@20.12.2): - resolution: - { - integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@types/node": ^18.0.0 || >=20.0.0 - less: "*" - lightningcss: ^1.21.0 - sass: "*" - stylus: "*" - sugarss: "*" - terser: ^5.4.0 - peerDependenciesMeta: - "@types/node": - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - "@types/node": 20.12.2 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.13.2 - optionalDependencies: - fsevents: 2.3.3 - dev: true - - /vitest@1.4.0(@types/node@20.12.2): - resolution: - { - integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - hasBin: true - peerDependencies: - "@edge-runtime/vm": "*" - "@types/node": ^18.0.0 || >=20.0.0 - "@vitest/browser": 1.4.0 - "@vitest/ui": 1.4.0 - happy-dom: "*" - jsdom: "*" - peerDependenciesMeta: - "@edge-runtime/vm": - optional: true - "@types/node": - optional: true - "@vitest/browser": - optional: true - "@vitest/ui": - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - "@types/node": 20.12.2 - "@vitest/expect": 1.4.0 - "@vitest/runner": 1.4.0 - "@vitest/snapshot": 1.4.0 - "@vitest/spy": 1.4.0 - "@vitest/utils": 1.4.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.8 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.6.0 - tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) - why-is-node-running: 2.2.2 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - - /webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } - dev: false - - /webpack-sources@3.2.3: - resolution: - { - integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==, - } - engines: { node: ">=10.13.0" } - dev: false - - /webpack-virtual-modules@0.5.0: - resolution: - { - integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==, - } - dev: false - - /whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - dev: false - - /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: ">= 8" } - hasBin: true - dependencies: - isexe: 2.0.0 - - /why-is-node-running@2.2.2: - resolution: - { - integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==, - } - engines: { node: ">=8" } - hasBin: true - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - dev: true - - /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } - - /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: ">=0.4" } - - /yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } - dev: false - - /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } - - /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: ">=10" } - - /yocto-queue@1.0.0: - resolution: - { - integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==, - } - engines: { node: ">=12.20" } - dev: true - - /z-schema@5.0.5: - resolution: - { - integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==, - } - engines: { node: ">=8.0.0" } - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true - - /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + + /@ampproject/remapping@2.3.0: + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + /@babel/code-frame@7.24.2: + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 + dev: false + + /@babel/compat-data@7.24.1: + resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/core@7.24.3: + resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) + '@babel/helpers': 7.24.1 + '@babel/parser': 7.24.1 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/generator@7.24.1: + resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: false + + /@babel/helper-compilation-targets@7.23.6: + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.1 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: false + + /@babel/helper-environment-visitor@7.22.20: + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helper-function-name@7.23.0: + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-hoist-variables@7.22.5: + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-module-imports@7.24.3: + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.3 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 + dev: false + + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + + /@babel/helper-string-parser@7.24.1: + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + /@babel/helper-validator-option@7.23.5: + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + dev: false + + /@babel/helpers@7.24.1: + resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.22.20 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + dev: false + + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + + /@babel/template@7.24.0: + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + dev: false + + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.1 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: false + + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.22.20 + to-fast-properties: 2.0.0 + + /@bcoe/v8-coverage@0.2.3: + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true + + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: false + optional: true + + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: false + optional: true + + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: false + optional: true + + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: false + optional: true + + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: false + optional: true + + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true + + /@eslint-community/regexpp@4.10.0: + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + + /@eslint/eslintrc@2.1.4: + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true + + /@eslint/js@8.57.0: + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /@fastify/ajv-compiler@3.5.0: + resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + dev: false + + /@fastify/error@3.4.1: + resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} + dev: false + + /@fastify/fast-json-stringify-compiler@4.3.0: + resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} + dependencies: + fast-json-stringify: 5.12.0 + dev: false + + /@fastify/merge-json-schemas@0.1.1: + resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + dependencies: + '@humanwhocodes/object-schema': 2.0.2 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + dev: true + + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true + + /@humanwhocodes/object-schema@2.0.2: + resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + dev: true + + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true + + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@sinclair/typebox': 0.27.8 + dev: true + + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: false + + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + dev: true + + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true + + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + dev: true + + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true + + /@rollup/rollup-android-arm-eabi@4.13.2: + resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.13.2: + resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.13.2: + resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.13.2: + resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.13.2: + resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.13.2: + resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.13.2: + resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: + resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==} + cpu: [ppc64le] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.13.2: + resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.13.2: + resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.13.2: + resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.13.2: + resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.13.2: + resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.13.2: + resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.13.2: + resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): + resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@types/node': 20.12.2 + fs-extra: 7.0.1 + import-lazy: 4.0.0 + jju: 1.4.0 + resolve: 1.22.8 + semver: 7.5.4 + z-schema: 5.0.5 + dev: true + + /@rushstack/terminal@0.10.0(@types/node@20.12.2): + resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} + peerDependencies: + '@types/node': '*' + peerDependenciesMeta: + '@types/node': + optional: true + dependencies: + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.2) + '@types/node': 20.12.2 + supports-color: 8.1.1 + dev: true + + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.2): + resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + dependencies: + '@rushstack/terminal': 0.10.0(@types/node@20.12.2) + '@types/argparse': 1.0.38 + argparse: 1.0.10 + string-argv: 0.3.2 + transitivePeerDependencies: + - '@types/node' + dev: true + + /@sentry-internal/tracing@7.109.0: + resolution: {integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==} + engines: {node: '>=8'} + dependencies: + '@sentry/core': 7.109.0 + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 + + /@sentry/babel-plugin-component-annotate@2.16.0: + resolution: {integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==} + engines: {node: '>= 14'} + dev: false + + /@sentry/bundler-plugin-core@2.16.0: + resolution: {integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==} + engines: {node: '>= 14'} + dependencies: + '@babel/core': 7.24.3 + '@sentry/babel-plugin-component-annotate': 2.16.0 + '@sentry/cli': 2.31.0 + dotenv: 16.4.5 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.27.0 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/cli-darwin@2.31.0: + resolution: {integrity: sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==} + engines: {node: '>=10'} + os: [darwin] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm64@2.31.0: + resolution: {integrity: sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-arm@2.31.0: + resolution: {integrity: sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-i686@2.31.0: + resolution: {integrity: sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-linux-x64@2.31.0: + resolution: {integrity: sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux, freebsd] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-i686@2.31.0: + resolution: {integrity: sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==} + engines: {node: '>=10'} + cpu: [x86, ia32] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli-win32-x64@2.31.0: + resolution: {integrity: sha512-w5cvpZ6VVlhlyleY8TYHmrP7g48vKHnoVt5xFccfxT+HqQI/AxodvzgVvBTM2kB/sh/kHwexp6bJGWCdkGftww==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: false + optional: true + + /@sentry/cli@2.31.0: + resolution: {integrity: sha512-nCESoXAG3kRUO5n3QbDYAqX6RU3z1ORjnd7a3sqijYsCGHfOpcjGdS7JYLVg5if+tXMEF5529BPXFe5Kg/J9tw==} + engines: {node: '>= 10'} + hasBin: true + requiresBuild: true + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 2.31.0 + '@sentry/cli-linux-arm': 2.31.0 + '@sentry/cli-linux-arm64': 2.31.0 + '@sentry/cli-linux-i686': 2.31.0 + '@sentry/cli-linux-x64': 2.31.0 + '@sentry/cli-win32-i686': 2.31.0 + '@sentry/cli-win32-x64': 2.31.0 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/core@7.109.0: + resolution: {integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 + + /@sentry/esbuild-plugin@2.16.0: + resolution: {integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==} + engines: {node: '>= 14'} + dependencies: + '@sentry/bundler-plugin-core': 2.16.0 + unplugin: 1.0.1 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: false + + /@sentry/node@7.109.0: + resolution: {integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.109.0 + '@sentry/core': 7.109.0 + '@sentry/types': 7.109.0 + '@sentry/utils': 7.109.0 + + /@sentry/profiling-node@7.109.0: + resolution: {integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==} + engines: {node: '>=8.0.0'} + hasBin: true + requiresBuild: true + dependencies: + detect-libc: 2.0.3 + node-abi: 3.56.0 + dev: true + + /@sentry/types@7.109.0: + resolution: {integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==} + engines: {node: '>=8'} + + /@sentry/utils@7.109.0: + resolution: {integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.109.0 + + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true + + /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@40.2.1): + resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} + peerDependencies: + slonik: 27 - 29 + dependencies: + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.2) + slonik: 40.2.1(zod@3.22.4) + umzug: 3.7.0(@types/node@20.12.2) + transitivePeerDependencies: + - '@types/node' + dev: true + + /@types/argparse@1.0.38: + resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} + dev: true + + /@types/estree@1.0.5: + resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} + dev: true + + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true + + /@types/node@20.12.2: + resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + dependencies: + undici-types: 5.26.5 + + /@types/pg@8.11.4: + resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} + dependencies: + '@types/node': 20.12.2 + pg-protocol: 1.6.0 + pg-types: 4.0.2 + + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true + + /@vitest/coverage-v8@1.4.0(vitest@1.4.0): + resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} + peerDependencies: + vitest: 1.4.0 + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.8 + magicast: 0.3.3 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + test-exclude: 6.0.0 + v8-to-istanbul: 9.2.0 + vitest: 1.4.0(@types/node@20.12.2) + transitivePeerDependencies: + - supports-color + dev: true + + /@vitest/expect@1.4.0: + resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + dependencies: + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + chai: 4.4.1 + dev: true + + /@vitest/runner@1.4.0: + resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + dependencies: + '@vitest/utils': 1.4.0 + p-limit: 5.0.0 + pathe: 1.1.2 + dev: true + + /@vitest/snapshot@1.4.0: + resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + dependencies: + magic-string: 0.30.8 + pathe: 1.1.2 + pretty-format: 29.7.0 + dev: true + + /@vitest/spy@1.4.0: + resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + dependencies: + tinyspy: 2.2.1 + dev: true + + /@vitest/utils@1.4.0: + resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + dev: true + + /abort-controller@3.0.0: + resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} + engines: {node: '>=6.5'} + dependencies: + event-target-shim: 5.0.1 + dev: false + + /abstract-logging@2.0.1: + resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} + dev: false + + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + dependencies: + acorn: 8.11.3 + dev: true + + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true + + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /ajv-formats@2.1.1(ajv@8.12.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.12.0 + dev: false + + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + dev: true + + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + dev: true + + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + dependencies: + color-convert: 1.9.3 + dev: false + + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + dependencies: + color-convert: 2.0.1 + dev: true + + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true + + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true + + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + dev: false + + /archy@1.0.0: + resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + dev: false + + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + dependencies: + sprintf-js: 1.0.3 + dev: true + + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true + + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true + + /atomic-sleep@1.0.0: + resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} + engines: {node: '>=8.0.0'} + dev: false + + /avvio@8.3.0: + resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + dev: false + + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + dev: false + + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: false + + /boolean@3.2.0: + resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + dev: true + + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + dependencies: + balanced-match: 1.0.2 + + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + dependencies: + fill-range: 7.0.1 + dev: false + + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + dependencies: + caniuse-lite: 1.0.30001600 + electron-to-chromium: 1.4.722 + node-releases: 2.0.14 + update-browserslist-db: 1.0.13(browserslist@4.23.0) + dev: false + + /buffer-writer@2.0.0: + resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} + engines: {node: '>=4'} + + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + dev: false + + /cac@6.7.14: + resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} + engines: {node: '>=8'} + dev: true + + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true + + /caniuse-lite@1.0.30001600: + resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} + dev: false + + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + dev: true + + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + dev: false + + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + dev: true + + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + dependencies: + color-name: 1.1.3 + dev: false + + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + dependencies: + color-name: 1.1.4 + dev: true + + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: false + + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + dev: true + + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: false + + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + requiresBuild: true + dev: true + optional: true + + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + dev: true + + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: false + + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + dev: true + + /dateformat@4.6.3: + resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} + dev: false + + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + dependencies: + type-detect: 4.0.8 + dev: true + + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true + + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: false + + /detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + dev: true + + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true + + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + dependencies: + esutils: 2.0.3 + dev: true + + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: false + + /electron-to-chromium@1.4.722: + resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==} + dev: false + + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true + + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + dependencies: + once: 1.4.0 + dev: false + + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: false + + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: false + + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: false + + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true + + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + dependencies: + eslint: 8.57.0 + dev: true + + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + dependencies: + eslint: 8.57.0 + eslint-config-prettier: 9.1.0(eslint@8.57.0) + prettier: 3.2.5 + prettier-linter-helpers: 1.0.0 + synckit: 0.8.8 + dev: true + + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + esrecurse: 4.3.0 + estraverse: 5.3.0 + dev: true + + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true + + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/regexpp': 4.10.0 + '@eslint/eslintrc': 2.1.4 + '@eslint/js': 8.57.0 + '@humanwhocodes/config-array': 0.11.14 + '@humanwhocodes/module-importer': 1.0.1 + '@nodelib/fs.walk': 1.2.8 + '@ungap/structured-clone': 1.2.0 + ajv: 6.12.6 + chalk: 4.1.2 + cross-spawn: 7.0.3 + debug: 4.3.4 + doctrine: 3.0.0 + escape-string-regexp: 4.0.0 + eslint-scope: 7.2.2 + eslint-visitor-keys: 3.4.3 + espree: 9.6.1 + esquery: 1.5.0 + esutils: 2.0.3 + fast-deep-equal: 3.1.3 + file-entry-cache: 6.0.1 + find-up: 5.0.0 + glob-parent: 6.0.2 + globals: 13.24.0 + graphemer: 1.4.0 + ignore: 5.3.1 + imurmurhash: 0.1.4 + is-glob: 4.0.3 + 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 + transitivePeerDependencies: + - supports-color + dev: true + + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + acorn: 8.11.3 + acorn-jsx: 5.3.2(acorn@8.11.3) + eslint-visitor-keys: 3.4.3 + dev: true + + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + dependencies: + estraverse: 5.3.0 + dev: true + + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + dependencies: + estraverse: 5.3.0 + dev: true + + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true + + /estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + dependencies: + '@types/estree': 1.0.5 + dev: true + + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true + + /event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + dev: false + + /events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + dev: false + + /execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + dependencies: + cross-spawn: 7.0.3 + get-stream: 8.0.1 + human-signals: 5.0.0 + is-stream: 3.0.0 + merge-stream: 2.0.0 + npm-run-path: 5.3.0 + onetime: 6.0.0 + signal-exit: 4.1.0 + strip-final-newline: 3.0.0 + dev: true + + /fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + dev: false + + /fast-copy@3.0.2: + resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} + dev: false + + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: false + + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + /fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + dev: true + + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true + + /fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-json-stringify@5.13.0: + resolution: {integrity: sha512-XjTDWKHP3GoMQUOfnjYUbqeHeEt+PvYgvBdG2fRSmYaORILbSr8xTJvZX+w1YSAP5pw2NwKrGRmQleYueZEoxw==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true + + /fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + dependencies: + boolean: 3.2.0 + + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + dependencies: + fast-decode-uri-component: 1.0.1 + dev: false + + /fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + dev: false + + /fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + dev: false + + /fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + dev: false + + /fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + dev: false + + /fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.13.0 + find-my-way: 8.1.0 + light-my-request: 5.12.0 + pino: 8.19.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.0 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + dependencies: + reusify: 1.0.4 + + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flat-cache: 3.2.0 + dev: true + + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + dependencies: + to-regex-range: 5.0.1 + dev: false + + /find-my-way@8.1.0: + resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + engines: {node: '>=14'} + dependencies: + fast-deep-equal: 3.1.3 + fast-querystring: 1.1.2 + safe-regex2: 2.0.0 + dev: false + + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + dependencies: + locate-path: 6.0.0 + path-exists: 4.0.0 + + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + dependencies: + flatted: 3.3.1 + keyv: 4.5.4 + rimraf: 3.0.2 + dev: true + + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true + + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: false + + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + dependencies: + graceful-fs: 4.2.11 + jsonfile: 4.0.0 + universalify: 0.1.2 + dev: true + + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + optional: true + + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + dev: true + + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: false + + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true + + /get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + dependencies: + stacktrace-parser: 0.1.10 + + /get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + dev: true + + /get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + dependencies: + resolve-pkg-maps: 1.0.0 + dev: false + + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + dependencies: + is-glob: 4.0.3 + dev: false + + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + dependencies: + is-glob: 4.0.3 + dev: true + + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 3.1.2 + once: 1.4.0 + path-is-absolute: 1.0.1 + dev: true + + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + dependencies: + fs.realpath: 1.0.0 + inflight: 1.0.6 + inherits: 2.0.4 + minimatch: 5.1.6 + once: 1.4.0 + dev: true + + /glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + fs.realpath: 1.0.0 + minimatch: 8.0.4 + minipass: 4.2.8 + path-scurry: 1.10.2 + dev: false + + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: false + + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + dependencies: + type-fest: 0.20.2 + dev: true + + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true + + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true + + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: false + + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + dev: true + + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + dependencies: + function-bind: 1.1.2 + dev: true + + /help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + dev: false + + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true + + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + dependencies: + depd: 2.0.0 + inherits: 2.0.4 + setprototypeof: 1.2.0 + statuses: 2.0.1 + toidentifier: 1.0.1 + dev: false + + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + dependencies: + agent-base: 6.0.2 + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + dev: false + + /human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + dev: true + + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + dev: false + + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true + + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + dependencies: + parent-module: 1.0.1 + resolve-from: 4.0.0 + dev: true + + /import-lazy@4.0.0: + resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} + engines: {node: '>=8'} + dev: true + + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true + + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + dependencies: + once: 1.4.0 + wrappy: 1.0.2 + dev: true + + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: false + + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + dependencies: + binary-extensions: 2.3.0 + dev: false + + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + dependencies: + hasown: 2.0.2 + dev: true + + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + dependencies: + is-extglob: 2.1.1 + + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: false + + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true + + /is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + /iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true + + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + dev: true + + /istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + dev: true + + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + dev: true + + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true + + /joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + dev: false + + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: false + + /js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + dev: true + + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + dependencies: + argparse: 2.0.1 + dev: true + + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: false + + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true + + /json-parse-even-better-errors@3.0.1: + resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + dependencies: + fast-deep-equal: 3.1.3 + dev: false + + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true + + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: false + + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true + + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: false + + /jsonc-parser@3.2.1: + resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} + dev: true + + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + optionalDependencies: + graceful-fs: 4.2.11 + dev: true + + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + dependencies: + json-buffer: 3.0.1 + dev: true + + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /light-my-request@5.12.0: + resolution: {integrity: sha512-P526OX6E7aeCIfw/9UyJNsAISfcFETghysaWHQAlQYayynShT08MOj4c6fBCvTWBrHXSvqBAKDp3amUPSCQI4w==} + dependencies: + cookie: 0.6.0 + process-warning: 3.0.0 + set-cookie-parser: 2.6.0 + dev: false + + /local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + dependencies: + mlly: 1.6.1 + pkg-types: 1.0.3 + dev: true + + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + dependencies: + p-locate: 5.0.0 + + /lodash.get@4.4.2: + resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + dev: true + + /lodash.isequal@4.5.0: + resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + dev: true + + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + dev: true + + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + dependencies: + get-func-name: 2.0.2 + dev: true + + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + dev: false + + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + dependencies: + yallist: 3.1.1 + dev: false + + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + dependencies: + yallist: 4.0.0 + + /magic-string@0.27.0: + resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: false + + /magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true + + /magicast@0.3.3: + resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + dependencies: + '@babel/parser': 7.24.1 + '@babel/types': 7.24.0 + source-map-js: 1.2.0 + dev: true + + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: false + + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true + + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true + + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + dev: false + + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + dependencies: + mime-db: 1.52.0 + dev: false + + /mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + dev: true + + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + dependencies: + brace-expansion: 1.1.11 + dev: true + + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: false + + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + brace-expansion: 2.0.1 + dev: true + + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + dev: false + + /minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + dev: false + + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + dev: false + + /mlly@1.6.1: + resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + dependencies: + acorn: 8.11.3 + pathe: 1.1.2 + pkg-types: 1.0.3 + ufo: 1.5.3 + dev: true + + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true + + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true + + /node-abi@3.56.0: + resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + engines: {node: '>=10'} + dependencies: + semver: 7.6.0 + dev: true + + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + dependencies: + whatwg-url: 5.0.0 + dev: false + + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: false + + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: false + + /npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + + /npm-run-all2@6.1.2: + resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} + engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} + hasBin: true + dependencies: + ansi-styles: 6.2.1 + cross-spawn: 7.0.3 + memorystream: 0.3.1 + minimatch: 9.0.4 + pidtree: 0.6.0 + read-package-json-fast: 3.0.2 + shell-quote: 1.8.1 + dev: true + + /npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + path-key: 4.0.0 + dev: true + + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + /on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + dev: false + + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + dependencies: + wrappy: 1.0.2 + + /onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + dependencies: + mimic-fn: 4.0.0 + dev: true + + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 + deep-is: 0.1.4 + fast-levenshtein: 2.0.6 + levn: 0.4.1 + prelude-ls: 1.2.1 + type-check: 0.4.0 + dev: true + + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + dependencies: + yocto-queue: 0.1.0 + + /p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + dependencies: + yocto-queue: 1.0.0 + dev: true + + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + dependencies: + p-limit: 3.1.0 + + /packet-reader@1.0.0: + resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} + + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + dependencies: + callsites: 3.1.0 + dev: true + + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + dev: true + + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true + + /path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + dev: true + + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + dev: true + + /path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + dependencies: + lru-cache: 10.2.0 + minipass: 7.0.4 + dev: false + + /pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + dev: true + + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true + + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + optional: true + + /pg-connection-string@2.6.2: + resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + + /pg-cursor@2.10.3(pg@8.11.3): + resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + /pg-pool@3.6.1(pg@8.11.3): + resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + peerDependencies: + pg: '>=8.0' + dependencies: + pg: 8.11.3 + + /pg-protocol@1.6.0: + resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + + /pg-query-stream@4.5.3(pg@8.11.3): + resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + peerDependencies: + pg: ^8 + dependencies: + pg: 8.11.3 + pg-cursor: 2.10.3(pg@8.11.3) + + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + dependencies: + pg-int8: 1.0.1 + postgres-array: 2.0.0 + postgres-bytea: 1.0.0 + postgres-date: 1.0.7 + postgres-interval: 1.2.0 + + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.1.0 + postgres-interval: 3.0.0 + postgres-range: 1.1.4 + + /pg@8.11.3: + resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + dependencies: + buffer-writer: 2.0.0 + packet-reader: 1.0.0 + pg-connection-string: 2.6.2 + pg-pool: 3.6.1(pg@8.11.3) + pg-protocol: 1.6.0 + pg-types: 2.2.0 + pgpass: 1.0.5 + optionalDependencies: + pg-cloudflare: 1.1.1 + + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + dependencies: + split2: 4.2.0 + + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: false + + /pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + dev: true + + /pino-abstract-transport@1.1.0: + resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + + /pino-pretty@11.0.0: + resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} + hasBin: true + dependencies: + colorette: 2.0.20 + dateformat: 4.6.3 + fast-copy: 3.0.2 + fast-safe-stringify: 2.1.1 + help-me: 5.0.0 + joycon: 3.1.1 + minimist: 1.2.8 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pump: 3.0.0 + readable-stream: 4.5.2 + secure-json-parse: 2.7.0 + sonic-boom: 3.8.0 + strip-json-comments: 3.1.1 + dev: false + + /pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + dev: false + + /pino@8.19.0: + resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.0 + thread-stream: 2.4.1 + dev: false + + /pkg-types@1.0.3: + resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + dependencies: + jsonc-parser: 3.2.1 + mlly: 1.6.1 + pathe: 1.1.2 + dev: true + + /pony-cause@2.1.10: + resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} + engines: {node: '>=12.0.0'} + dev: true + + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.2.0 + dev: true + + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + dependencies: + xtend: 4.0.2 + + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + /postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true + + /prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + dependencies: + fast-diff: 1.3.0 + dev: true + + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true + + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dependencies: + '@jest/schemas': 29.6.3 + ansi-styles: 5.2.0 + react-is: 18.2.0 + dev: true + + /process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + dev: false + + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + dev: false + + /progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + dev: false + + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + dependencies: + forwarded: 0.2.0 + ipaddr.js: 1.9.1 + dev: false + + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + dev: false + + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + dev: false + + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true + + /quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + dev: false + + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + dev: true + + /read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.1 + npm-normalize-package-bin: 3.0.1 + dev: true + + /readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + abort-controller: 3.0.0 + buffer: 6.0.3 + events: 3.3.0 + process: 0.11.10 + string_decoder: 1.3.0 + dev: false + + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + dependencies: + picomatch: 2.3.1 + dev: false + + /real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + dev: false + + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: false + + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true + + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: false + + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + dev: true + + /ret@0.2.2: + resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} + engines: {node: '>=4'} + dev: false + + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + dev: false + + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + + /roarr@7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + dependencies: + fast-printf: 1.6.9 + safe-stable-stringify: 2.4.3 + semver-compare: 1.0.0 + + /rollup@4.13.2: + resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.13.2 + '@rollup/rollup-android-arm64': 4.13.2 + '@rollup/rollup-darwin-arm64': 4.13.2 + '@rollup/rollup-darwin-x64': 4.13.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.13.2 + '@rollup/rollup-linux-arm64-gnu': 4.13.2 + '@rollup/rollup-linux-arm64-musl': 4.13.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2 + '@rollup/rollup-linux-riscv64-gnu': 4.13.2 + '@rollup/rollup-linux-s390x-gnu': 4.13.2 + '@rollup/rollup-linux-x64-gnu': 4.13.2 + '@rollup/rollup-linux-x64-musl': 4.13.2 + '@rollup/rollup-win32-arm64-msvc': 4.13.2 + '@rollup/rollup-win32-ia32-msvc': 4.13.2 + '@rollup/rollup-win32-x64-msvc': 4.13.2 + fsevents: 2.3.3 + dev: true + + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + dependencies: + queue-microtask: 1.2.3 + dev: true + + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + dev: false + + /safe-regex2@2.0.0: + resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + dependencies: + ret: 0.2.2 + dev: false + + /safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + /secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + dev: false + + /semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: false + + /semver@7.5.4: + resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + dev: true + + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + dependencies: + lru-cache: 6.0.0 + + /serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + dependencies: + type-fest: 0.20.2 + + /set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + dev: false + + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: false + + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + dependencies: + shebang-regex: 3.0.0 + dev: true + + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true + + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true + + /short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + dev: false + + /siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + dev: true + + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + dev: true + + /slonik@40.2.1(zod@3.22.4): + resolution: {integrity: sha512-V8Ug7bjquqFhbrbj9B8C0U/3N2PYiiEzKxY+s8AQUUfT0yMooVBzEbQgluGYf+EyF39gauNAyA2ItgC+4eph8g==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + dependencies: + '@types/pg': 8.11.4 + get-stack-trace: 3.1.1 + iso8601-duration: 1.3.0 + pg: 8.11.3 + pg-query-stream: 4.5.3(pg@8.11.3) + pg-types: 4.0.2 + postgres-array: 3.0.2 + postgres-interval: 4.0.2 + roarr: 7.21.1 + safe-stable-stringify: 2.4.3 + serialize-error: 8.1.0 + strict-event-emitter-types: 2.0.0 + zod: 3.22.4 + transitivePeerDependencies: + - pg-native + + /sonic-boom@3.8.0: + resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true + + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true + + /stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + dev: true + + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + dependencies: + type-fest: 0.7.1 + + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: false + + /std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + dev: true + + /strict-event-emitter-types@2.0.0: + resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} + + /string-argv@0.3.2: + resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} + engines: {node: '>=0.6.19'} + dev: true + + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + dependencies: + safe-buffer: 5.2.1 + dev: false + + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + dependencies: + ansi-regex: 5.0.1 + dev: true + + /strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + dev: true + + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + /strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + dependencies: + js-tokens: 9.0.0 + dev: true + + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + dependencies: + has-flag: 3.0.0 + dev: false + + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + dependencies: + has-flag: 4.0.0 + dev: true + + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + dev: true + + /synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.6.2 + dev: true + + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 + dev: true + + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true + + /thread-stream@2.4.1: + resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + dependencies: + real-require: 0.2.0 + dev: false + + /tinybench@2.6.0: + resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + dev: true + + /tinypool@0.8.3: + resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} + engines: {node: '>=14.0.0'} + dev: true + + /tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + dev: true + + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + dependencies: + is-number: 7.0.0 + dev: false + + /toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + dev: false + + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: false + + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + dev: false + + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + dev: true + + /tsx@4.7.1: + resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.3 + optionalDependencies: + fsevents: 2.3.3 + dev: false + + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + dependencies: + prelude-ls: 1.2.1 + dev: true + + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true + + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + /type-fest@4.14.0: + resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==} + engines: {node: '>=16'} + dev: true + + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + dependencies: + media-typer: 0.3.0 + mime-types: 2.1.35 + dev: false + + /typescript@5.4.3: + resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + engines: {node: '>=14.17'} + hasBin: true + dev: true + + /ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + dev: true + + /umzug@3.7.0(@types/node@20.12.2): + resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} + engines: {node: '>=12'} + dependencies: + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.2) + emittery: 0.13.1 + glob: 8.1.0 + pony-cause: 2.1.10 + type-fest: 4.14.0 + transitivePeerDependencies: + - '@types/node' + dev: true + + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true + + /unplugin@1.0.1: + resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + dependencies: + acorn: 8.11.3 + chokidar: 3.6.0 + webpack-sources: 3.2.3 + webpack-virtual-modules: 0.5.0 + dev: false + + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + dependencies: + browserslist: 4.23.0 + escalade: 3.1.2 + picocolors: 1.0.0 + dev: false + + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + dependencies: + punycode: 2.3.1 + + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + dev: false + + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + dev: true + + /validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + dev: true + + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: false + + /vite-node@1.4.0(@types/node@20.12.2): + resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + dependencies: + cac: 6.7.14 + debug: 4.3.4 + pathe: 1.1.2 + picocolors: 1.0.0 + vite: 5.2.7(@types/node@20.12.2) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /vite@5.2.7(@types/node@20.12.2): + resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.12.2 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.13.2 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitest@1.4.0(@types/node@20.12.2): + resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.4.0 + '@vitest/ui': 1.4.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + dependencies: + '@types/node': 20.12.2 + '@vitest/expect': 1.4.0 + '@vitest/runner': 1.4.0 + '@vitest/snapshot': 1.4.0 + '@vitest/spy': 1.4.0 + '@vitest/utils': 1.4.0 + acorn-walk: 8.3.2 + chai: 4.4.1 + debug: 4.3.4 + execa: 8.0.1 + local-pkg: 0.5.0 + magic-string: 0.30.8 + pathe: 1.1.2 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + tinybench: 2.6.0 + tinypool: 0.8.3 + vite: 5.2.7(@types/node@20.12.2) + vite-node: 1.4.0(@types/node@20.12.2) + why-is-node-running: 2.2.2 + transitivePeerDependencies: + - less + - lightningcss + - sass + - stylus + - sugarss + - supports-color + - terser + dev: true + + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + dev: false + + /webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + dev: false + + /webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + dev: false + + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + dependencies: + tr46: 0.0.3 + webidl-conversions: 3.0.1 + dev: false + + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + dependencies: + isexe: 2.0.0 + + /why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + dependencies: + siginfo: 2.0.0 + stackback: 0.0.2 + dev: true + + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: false + + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + /yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + dev: true + + /z-schema@5.0.5: + resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} + engines: {node: '>=8.0.0'} + hasBin: true + dependencies: + lodash.get: 4.4.2 + lodash.isequal: 4.5.0 + validator: 13.11.0 + optionalDependencies: + commander: 9.5.0 + dev: true + + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} From 6bdcd97c550fe46d6271091321d0417ce15256e7 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 31 Mar 2024 08:55:05 -0400 Subject: [PATCH 274/452] chore: pin images to version (#1862) * chore: pin images to version * chore: remove sha --- docker-compose.yml | 4 ++-- services/sslProxy/Dockerfile | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ac8e661d3..c0575bb9c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:latest + image: postgres:16.2 restart: always environment: POSTGRES_DB: rm @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer + image: adminer:4.8.1 restart: always ports: - 8080:8080 diff --git a/services/sslProxy/Dockerfile b/services/sslProxy/Dockerfile index 38561c480..94ff7e82b 100644 --- a/services/sslProxy/Dockerfile +++ b/services/sslProxy/Dockerfile @@ -1,8 +1,8 @@ # Can be located at https://archive.org/details/nginx_1.9.8.tar if needed -FROM nginx:1.9.8@sha256:5d3b56065cf133f8968a557bf49c639320b2fc4c57c635b5707978fb6b738e1f as base +FROM nginx:1.9.8 as base COPY nginx.conf /etc/nginx/nginx.conf COPY mcouniverse.pem /etc/nginx/mcouniverse.pem COPY private_key.pem /etc/nginx/private_key.pem COPY fullchain1.pem /etc/nginx/fullchain1.pem -COPY privkey1.pem /etc/nginx/privkey1.pem \ No newline at end of file +COPY privkey1.pem /etc/nginx/privkey1.pem From 97e62420276ac734ac5b82ef0f1e8a9d1652484f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 31 Mar 2024 09:11:24 -0400 Subject: [PATCH 275/452] chore(deps): pin dependencies (#1861) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docker-compose.yml | 4 ++-- services/sslProxy/Dockerfile | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index c0575bb9c..a5ab73119 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.2 + image: postgres:16.2@sha256:6b841c8f6a819884207402f1209a8116844365df15fca8cf556fc54a24c70800 restart: always environment: POSTGRES_DB: rm @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer:4.8.1 + image: adminer:4.8.1@sha256:b75eae89431e8469613b844e76382a26efc8601c17f446bcd81665bc87ca9a1f restart: always ports: - 8080:8080 diff --git a/services/sslProxy/Dockerfile b/services/sslProxy/Dockerfile index 94ff7e82b..4d35c621b 100644 --- a/services/sslProxy/Dockerfile +++ b/services/sslProxy/Dockerfile @@ -1,5 +1,5 @@ # Can be located at https://archive.org/details/nginx_1.9.8.tar if needed -FROM nginx:1.9.8 as base +FROM nginx:1.9.8@sha256:5d3b56065cf133f8968a557bf49c639320b2fc4c57c635b5707978fb6b738e1f as base COPY nginx.conf /etc/nginx/nginx.conf COPY mcouniverse.pem /etc/nginx/mcouniverse.pem From 924a52ce5c405b658ac8e56e3403c39501bed288 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 1 Apr 2024 21:24:38 +0000 Subject: [PATCH 276/452] chore(deps): update pnpm to v8.15.6 (#1864) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index cea4a23b7..1cec1e239 100644 --- a/package.json +++ b/package.json @@ -52,5 +52,5 @@ "tsx": "^4.7.1", "zod": "^3.22.4" }, - "packageManager": "pnpm@8.15.5" + "packageManager": "pnpm@8.15.6" } From 0395fe6caa5520bb73cb4127c49bb6fe9b12cf31 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 2 Apr 2024 22:42:07 +0000 Subject: [PATCH 277/452] chore(deps): update dependency @types/node to v20.12.3 (#1865) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 1cec1e239..a280f1633 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.2", + "@types/node": "20.12.3", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef2784d85..b32a15ee8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.2)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.3)(slonik@40.2.1) '@types/node': - specifier: 20.12.2 - version: 20.12.2 + specifier: 20.12.3 + version: 20.12.3 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.2) + version: 1.4.0(@types/node@20.12.3) apps/main: dependencies: @@ -1066,7 +1066,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.2): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.3): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1074,7 +1074,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1083,7 +1083,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.2): + /@rushstack/terminal@0.10.0(@types/node@20.12.3): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1091,15 +1091,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.2) - '@types/node': 20.12.2 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.3) + '@types/node': 20.12.3 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.2): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.3): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.2) + '@rushstack/terminal': 0.10.0(@types/node@20.12.3) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1275,14 +1275,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.2)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.3)(slonik@40.2.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.2) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.3) slonik: 40.2.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.2) + umzug: 3.7.0(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' dev: true @@ -1299,15 +1299,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.2: - resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} + /@types/node@20.12.3: + resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1334,7 +1334,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.2) + vitest: 1.4.0(@types/node@20.12.3) transitivePeerDependencies: - supports-color dev: true @@ -3585,11 +3585,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.2): + /umzug@3.7.0(@types/node@20.12.3): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.2) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.3) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3655,7 +3655,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.2): + /vite-node@1.4.0(@types/node@20.12.3): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3664,7 +3664,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) transitivePeerDependencies: - '@types/node' - less @@ -3676,7 +3676,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.2): + /vite@5.2.7(@types/node@20.12.3): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3704,7 +3704,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3712,7 +3712,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.2): + /vitest@1.4.0(@types/node@20.12.3): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3737,7 +3737,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.2 + '@types/node': 20.12.3 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3755,8 +3755,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.2) - vite-node: 1.4.0(@types/node@20.12.2) + vite: 5.2.7(@types/node@20.12.3) + vite-node: 1.4.0(@types/node@20.12.3) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 54572cf579ff748ca9abd1ea92c0c17da2813084 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 13:49:10 +0000 Subject: [PATCH 278/452] fix(deps): update dependency @sentry/esbuild-plugin to v2.16.1 (#1866) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 40 ++++++++++++++++------------------------ 1 file changed, 16 insertions(+), 24 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b32a15ee8..b98437068 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -22,7 +22,7 @@ importers: version: link:packages/shared-packets '@sentry/esbuild-plugin': specifier: ^2.16.0 - version: 2.16.0 + version: 2.16.1 fastify: specifier: ^4.26.2 version: 4.26.2 @@ -1115,22 +1115,22 @@ packages: '@sentry/types': 7.109.0 '@sentry/utils': 7.109.0 - /@sentry/babel-plugin-component-annotate@2.16.0: - resolution: {integrity: sha512-+uy1qPkA5MSNgJ0L9ur/vNTydfdHwHnBX2RQ+0thsvkqf90fU788YjkkXwUiBBNuqNyI69JiOW6frixAWy7oUg==} + /@sentry/babel-plugin-component-annotate@2.16.1: + resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} engines: {node: '>= 14'} dev: false - /@sentry/bundler-plugin-core@2.16.0: - resolution: {integrity: sha512-dhgIZsIR3L9KnE2OO5JJm6hPtStAjEPYKQsZzxRr69uVhd9xAvfXeXr0afKVNVEcIDksas6yMgHqwQ2wOXFIAg==} + /@sentry/bundler-plugin-core@2.16.1: + resolution: {integrity: sha512-n6z8Ts3T9HROLuY7tVEYpBKvS+P7+b8NdqxP7QBcwp2nuPUlN5Ola1ivFjk1p5a7wRYeN9zM8orGe4l2HeNfYA==} engines: {node: '>= 14'} dependencies: '@babel/core': 7.24.3 - '@sentry/babel-plugin-component-annotate': 2.16.0 + '@sentry/babel-plugin-component-annotate': 2.16.1 '@sentry/cli': 2.31.0 dotenv: 16.4.5 find-up: 5.0.0 glob: 9.3.5 - magic-string: 0.27.0 + magic-string: 0.30.8 unplugin: 1.0.1 transitivePeerDependencies: - encoding @@ -1230,11 +1230,11 @@ packages: '@sentry/types': 7.109.0 '@sentry/utils': 7.109.0 - /@sentry/esbuild-plugin@2.16.0: - resolution: {integrity: sha512-bpKLDh4FFFo2Py2KFYevBt2zl80vkDnNs5/WPRJQAqFLYa9dE4YeG8JG6hTVT9TWWp/cXt7PP0LirrRivOuUAQ==} + /@sentry/esbuild-plugin@2.16.1: + resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} engines: {node: '>= 14'} dependencies: - '@sentry/bundler-plugin-core': 2.16.0 + '@sentry/bundler-plugin-core': 2.16.1 unplugin: 1.0.1 uuid: 9.0.1 transitivePeerDependencies: @@ -1555,8 +1555,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001600 - electron-to-chromium: 1.4.722 + caniuse-lite: 1.0.30001605 + electron-to-chromium: 1.4.724 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: false @@ -1582,8 +1582,8 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001600: - resolution: {integrity: sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==} + /caniuse-lite@1.0.30001605: + resolution: {integrity: sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==} dev: false /chai@4.4.1: @@ -1743,8 +1743,8 @@ packages: engines: {node: '>=12'} dev: false - /electron-to-chromium@1.4.722: - resolution: {integrity: sha512-5nLE0TWFFpZ80Crhtp4pIp8LXCztjYX41yUcV6b+bKR2PqzjskTMOOlBi1VjBHlvHwS+4gar7kNKOrsbsewEZQ==} + /electron-to-chromium@1.4.724: + resolution: {integrity: sha512-RTRvkmRkGhNBPPpdrgtDKvmOEYTrPlXDfc0J/Nfq5s29tEahAwhiX4mmhNzj6febWMleulxVYPh7QwCSL/EldA==} dev: false /emittery@0.13.1: @@ -2574,19 +2574,11 @@ packages: dependencies: yallist: 4.0.0 - /magic-string@0.27.0: - resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} - engines: {node: '>=12'} - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true /magicast@0.3.3: resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} From 6492f95822b29bdfd5832fba2f6cd9f08f376d41 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 15:58:22 +0000 Subject: [PATCH 279/452] chore(deps): update dependency node to v20.12.1 (#1867) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 2b9cabc07..bc78e9f26 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.12.0 +20.12.1 From 31b25db596066fa0367330da697500e775376ed7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 3 Apr 2024 23:12:55 +0000 Subject: [PATCH 280/452] chore(deps): update dependency @types/node to v20.12.4 (#1868) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index a280f1633..e192ccc5e 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.3", + "@types/node": "20.12.4", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b98437068..4118b5d76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.3)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.4)(slonik@40.2.1) '@types/node': - specifier: 20.12.3 - version: 20.12.3 + specifier: 20.12.4 + version: 20.12.4 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.3 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.3) + version: 1.4.0(@types/node@20.12.4) apps/main: dependencies: @@ -1066,7 +1066,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.3): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.4): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1074,7 +1074,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1083,7 +1083,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.3): + /@rushstack/terminal@0.10.0(@types/node@20.12.4): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1091,15 +1091,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.3) - '@types/node': 20.12.3 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.4) + '@types/node': 20.12.4 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.3): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.4): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.3) + '@rushstack/terminal': 0.10.0(@types/node@20.12.4) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1275,14 +1275,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.3)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.4)(slonik@40.2.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.3) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.4) slonik: 40.2.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.3) + umzug: 3.7.0(@types/node@20.12.4) transitivePeerDependencies: - '@types/node' dev: true @@ -1299,15 +1299,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.3: - resolution: {integrity: sha512-sD+ia2ubTeWrOu+YMF+MTAB7E+O7qsMqAbMfW7DG3K1URwhZ5hN1pLlRVGbf4wDFzSfikL05M17EyorS86jShw==} + /@types/node@20.12.4: + resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1334,7 +1334,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.3) + vitest: 1.4.0(@types/node@20.12.4) transitivePeerDependencies: - supports-color dev: true @@ -3577,11 +3577,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.3): + /umzug@3.7.0(@types/node@20.12.4): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.3) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.4) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3647,7 +3647,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.3): + /vite-node@1.4.0(@types/node@20.12.4): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3656,7 +3656,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.3) + vite: 5.2.7(@types/node@20.12.4) transitivePeerDependencies: - '@types/node' - less @@ -3668,7 +3668,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.3): + /vite@5.2.7(@types/node@20.12.4): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3696,7 +3696,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3704,7 +3704,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.3): + /vitest@1.4.0(@types/node@20.12.4): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3729,7 +3729,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3747,8 +3747,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.3) - vite-node: 1.4.0(@types/node@20.12.3) + vite: 5.2.7(@types/node@20.12.4) + vite-node: 1.4.0(@types/node@20.12.4) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 9053f3f704c747438ffb80d7ae76d601c017b960 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 09:32:37 +0000 Subject: [PATCH 281/452] fix(deps): update dependency tsx to v4.7.2 (#1869) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4118b5d76..33ef4bf3e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -40,7 +40,7 @@ importers: version: 40.2.1(zod@3.22.4) tsx: specifier: ^4.7.1 - version: 4.7.1 + version: 4.7.2 zod: specifier: ^3.22.4 version: 3.22.4 @@ -3523,8 +3523,8 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.7.1: - resolution: {integrity: sha512-8d6VuibXHtlN5E3zFkgY8u4DX7Y3Z27zvvPKVmLon/D4AjuKzarkUBTLDBgj9iTQ0hg5xM7c/mYiRVM+HETf0g==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} engines: {node: '>=18.0.0'} hasBin: true dependencies: From 2e8ef49fa5db23b584081eb9d5c7b1eca3ad0851 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 4 Apr 2024 18:57:52 +0000 Subject: [PATCH 282/452] chore(deps): update dependency typescript to v5.4.4 (#1870) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index e192ccc5e..934ae6db5 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", "prettier": "3.2.5", - "typescript": "5.4.3", + "typescript": "5.4.4", "vitest": "1.4.0" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33ef4bf3e..2f3aeb6f5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,8 +79,8 @@ importers: specifier: 3.2.5 version: 3.2.5 typescript: - specifier: 5.4.3 - version: 5.4.3 + specifier: 5.4.4 + version: 5.4.4 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.4) @@ -3567,8 +3567,8 @@ packages: mime-types: 2.1.35 dev: false - /typescript@5.4.3: - resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} + /typescript@5.4.4: + resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} engines: {node: '>=14.17'} hasBin: true dev: true From 47409e1a5655157e4e125f5c984af5fd289488fe Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 01:19:06 +0000 Subject: [PATCH 283/452] chore(deps): update dependency @types/node to v20.12.5 (#1874) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 934ae6db5..8e1031545 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.4", + "@types/node": "20.12.5", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2f3aeb6f5..8c0506260 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.4)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.5)(slonik@40.2.1) '@types/node': - specifier: 20.12.4 - version: 20.12.4 + specifier: 20.12.5 + version: 20.12.5 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.4 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.4) + version: 1.4.0(@types/node@20.12.5) apps/main: dependencies: @@ -1066,7 +1066,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.4): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.5): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1074,7 +1074,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1083,7 +1083,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.4): + /@rushstack/terminal@0.10.0(@types/node@20.12.5): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1091,15 +1091,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.4) - '@types/node': 20.12.4 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.5) + '@types/node': 20.12.5 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.4): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.5): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.4) + '@rushstack/terminal': 0.10.0(@types/node@20.12.5) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1275,14 +1275,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.4)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.5)(slonik@40.2.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.4) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.5) slonik: 40.2.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.4) + umzug: 3.7.0(@types/node@20.12.5) transitivePeerDependencies: - '@types/node' dev: true @@ -1299,15 +1299,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.4: - resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} + /@types/node@20.12.5: + resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1334,7 +1334,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.4) + vitest: 1.4.0(@types/node@20.12.5) transitivePeerDependencies: - supports-color dev: true @@ -3577,11 +3577,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.4): + /umzug@3.7.0(@types/node@20.12.5): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.4) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.5) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3647,7 +3647,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.4): + /vite-node@1.4.0(@types/node@20.12.5): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3656,7 +3656,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.4) + vite: 5.2.7(@types/node@20.12.5) transitivePeerDependencies: - '@types/node' - less @@ -3668,7 +3668,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.4): + /vite@5.2.7(@types/node@20.12.5): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3696,7 +3696,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3704,7 +3704,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.4): + /vitest@1.4.0(@types/node@20.12.5): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3729,7 +3729,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.4 + '@types/node': 20.12.5 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3747,8 +3747,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.4) - vite-node: 1.4.0(@types/node@20.12.4) + vite: 5.2.7(@types/node@20.12.5) + vite-node: 1.4.0(@types/node@20.12.5) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From ea15375470a5246ff97bfcde36850383b962934b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Apr 2024 12:58:29 +0000 Subject: [PATCH 284/452] fix(deps): update dependency pino to v8.20.0 (#1875) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 29 ++++++++++++++++++++++++++--- 1 file changed, 26 insertions(+), 3 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8c0506260..5251ec6e1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,7 +28,7 @@ importers: version: 4.26.2 pino: specifier: ^8.19.0 - version: 8.19.0 + version: 8.20.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 @@ -156,7 +156,7 @@ importers: dependencies: pino: specifier: ^8.18.0 - version: 8.19.0 + version: 8.20.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 @@ -2988,7 +2988,24 @@ packages: quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.0 + sonic-boom: 3.8.1 + thread-stream: 2.4.1 + dev: false + + /pino@8.20.0: + resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} + hasBin: true + dependencies: + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.1.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.1 thread-stream: 2.4.1 dev: false @@ -3359,6 +3376,12 @@ packages: atomic-sleep: 1.0.0 dev: false + /sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + dependencies: + atomic-sleep: 1.0.0 + dev: false + /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} From f9d423dfc8f530863f4b80fb507f4ff20830faa9 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sun, 7 Apr 2024 20:39:56 -0400 Subject: [PATCH 285/452] exclude def files from coverage (#1871) --- vite.config.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/vite.config.ts b/vite.config.ts index 4110f4850..e3e68fe44 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -11,6 +11,7 @@ export default defineConfig({ "bin/**/*.ts", "ecosystem.config.js", "migrate.ts", + "packages/**/*.d.ts", ], reporter: ["lcov", "text", "cobertura"], }, From 113d7754a9ef3c65de936ced288fefa1f5941653 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 07:06:26 +0000 Subject: [PATCH 286/452] chore(deps): update dependency @types/node to v20.12.6 (#1876) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index 8e1031545..ea7daf386 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.5", + "@types/node": "20.12.6", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5251ec6e1..2ad1a84a1 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.5)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.6)(slonik@40.2.1) '@types/node': - specifier: 20.12.5 - version: 20.12.5 + specifier: 20.12.6 + version: 20.12.6 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.4 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.5) + version: 1.4.0(@types/node@20.12.6) apps/main: dependencies: @@ -1066,7 +1066,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.5): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.6): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1074,7 +1074,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1083,7 +1083,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.5): + /@rushstack/terminal@0.10.0(@types/node@20.12.6): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1091,15 +1091,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.5) - '@types/node': 20.12.5 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.6) + '@types/node': 20.12.6 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.5): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.6): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.5) + '@rushstack/terminal': 0.10.0(@types/node@20.12.6) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1275,14 +1275,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.5)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.6)(slonik@40.2.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.5) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.6) slonik: 40.2.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.5) + umzug: 3.7.0(@types/node@20.12.6) transitivePeerDependencies: - '@types/node' dev: true @@ -1299,15 +1299,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.5: - resolution: {integrity: sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==} + /@types/node@20.12.6: + resolution: {integrity: sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1334,7 +1334,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.5) + vitest: 1.4.0(@types/node@20.12.6) transitivePeerDependencies: - supports-color dev: true @@ -3600,11 +3600,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.5): + /umzug@3.7.0(@types/node@20.12.6): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.5) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.6) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3670,7 +3670,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.5): + /vite-node@1.4.0(@types/node@20.12.6): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3679,7 +3679,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.5) + vite: 5.2.7(@types/node@20.12.6) transitivePeerDependencies: - '@types/node' - less @@ -3691,7 +3691,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.5): + /vite@5.2.7(@types/node@20.12.6): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3719,7 +3719,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3727,7 +3727,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.5): + /vitest@1.4.0(@types/node@20.12.6): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3752,7 +3752,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.5 + '@types/node': 20.12.6 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3770,8 +3770,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.5) - vite-node: 1.4.0(@types/node@20.12.5) + vite: 5.2.7(@types/node@20.12.6) + vite-node: 1.4.0(@types/node@20.12.6) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 265d3a2b6302aaeca005b26694aff7f084a17347 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Apr 2024 23:37:31 +0000 Subject: [PATCH 287/452] chore(deps): update dependency @types/node to v20.12.7 (#1877) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index ea7daf386..94fc67f6b 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "@sentry/node": "7.109.0", "@sentry/profiling-node": "7.109.0", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.6", + "@types/node": "20.12.7", "@vitest/coverage-v8": "1.4.0", "esbuild": "0.20.2", "eslint": "8.57.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ad1a84a1..1b8254f76 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -53,10 +53,10 @@ importers: version: 7.109.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.6)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.7)(slonik@40.2.1) '@types/node': - specifier: 20.12.6 - version: 20.12.6 + specifier: 20.12.7 + version: 20.12.7 '@vitest/coverage-v8': specifier: 1.4.0 version: 1.4.0(vitest@1.4.0) @@ -83,7 +83,7 @@ importers: version: 5.4.4 vitest: specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.6) + version: 1.4.0(@types/node@20.12.7) apps/main: dependencies: @@ -1066,7 +1066,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.6): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.7): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1074,7 +1074,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1083,7 +1083,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.6): + /@rushstack/terminal@0.10.0(@types/node@20.12.7): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1091,15 +1091,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.6) - '@types/node': 20.12.6 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.7) + '@types/node': 20.12.7 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.6): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.7): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.6) + '@rushstack/terminal': 0.10.0(@types/node@20.12.7) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1275,14 +1275,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.6)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.1): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.6) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) slonik: 40.2.1(zod@3.22.4) - umzug: 3.7.0(@types/node@20.12.6) + umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' dev: true @@ -1299,15 +1299,15 @@ packages: resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true - /@types/node@20.12.6: - resolution: {integrity: sha512-3KurE8taB8GCvZBPngVbp0lk5CKi8M9f9k1rsADh0Evdz5SzJ+Q+Hx9uHoFGsLnLnd1xmkDQr2hVhlA0Mn0lKQ==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.4: resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 pg-protocol: 1.6.0 pg-types: 4.0.2 @@ -1334,7 +1334,7 @@ packages: strip-literal: 2.1.0 test-exclude: 6.0.0 v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.6) + vitest: 1.4.0(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: true @@ -3600,11 +3600,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.6): + /umzug@3.7.0(@types/node@20.12.7): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.6) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3670,7 +3670,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.6): + /vite-node@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3679,7 +3679,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.6) + vite: 5.2.7(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -3691,7 +3691,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.6): + /vite@5.2.7(@types/node@20.12.7): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3719,7 +3719,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3727,7 +3727,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.6): + /vitest@1.4.0(@types/node@20.12.7): resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3752,7 +3752,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.6 + '@types/node': 20.12.7 '@vitest/expect': 1.4.0 '@vitest/runner': 1.4.0 '@vitest/snapshot': 1.4.0 @@ -3770,8 +3770,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.6) - vite-node: 1.4.0(@types/node@20.12.6) + vite: 5.2.7(@types/node@20.12.7) + vite-node: 1.4.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From cc0b63f7555015809e89e9294ab79da677681a3e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 15:36:25 +0000 Subject: [PATCH 288/452] chore(deps): update dependency typescript to v5.4.5 (#1880) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/package.json b/package.json index 94fc67f6b..600a49c8e 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,7 @@ "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", "prettier": "3.2.5", - "typescript": "5.4.4", + "typescript": "5.4.5", "vitest": "1.4.0" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1b8254f76..03dd61a4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -79,8 +79,8 @@ importers: specifier: 3.2.5 version: 3.2.5 typescript: - specifier: 5.4.4 - version: 5.4.4 + specifier: 5.4.5 + version: 5.4.5 vitest: specifier: 1.4.0 version: 1.4.0(@types/node@20.12.7) @@ -3590,8 +3590,8 @@ packages: mime-types: 2.1.35 dev: false - /typescript@5.4.4: - resolution: {integrity: sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} hasBin: true dev: true From b22986b3bf0f9d1959eaec97619e98d8b84255b0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 10 Apr 2024 20:10:19 +0000 Subject: [PATCH 289/452] chore(deps): update dependency node to v20.12.2 (#1881) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index bc78e9f26..87834047a 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.12.1 +20.12.2 From e7fe03784393f611c4858d7cb11102359163fabf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 17:58:31 +0000 Subject: [PATCH 290/452] fix(deps): update sentry-javascript monorepo to v7.110.0 (#1883) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 600a49c8e..e764b5a99 100644 --- a/package.json +++ b/package.json @@ -24,8 +24,8 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@sentry/node": "7.109.0", - "@sentry/profiling-node": "7.109.0", + "@sentry/node": "7.110.0", + "@sentry/profiling-node": "7.110.0", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.4.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 03dd61a4a..2ec7bd257 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,11 +46,11 @@ importers: version: 3.22.4 devDependencies: '@sentry/node': - specifier: 7.109.0 - version: 7.109.0 + specifier: 7.110.0 + version: 7.110.0 '@sentry/profiling-node': - specifier: 7.109.0 - version: 7.109.0 + specifier: 7.110.0 + version: 7.110.0 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.1) @@ -101,7 +101,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.109.0 + version: 7.110.0 slonik: specifier: ^40.0.0 version: 40.2.1(zod@3.22.4) @@ -122,7 +122,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.109.0 + version: 7.110.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -141,7 +141,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.109.0 + version: 7.110.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1107,13 +1107,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.109.0: - resolution: {integrity: sha512-PzK/joC5tCuh2R/PRh+7dp+uuZl7pTsBIjPhVZHMTtb9+ls65WkdZJ1/uKXPouyz8NOo9Xok7aEvEo9seongyw==} + /@sentry-internal/tracing@7.110.0: + resolution: {integrity: sha512-IIHHa9e/mE7uOMJfNELI8adyoELxOy6u6TNCn5t6fphmq84w8FTc9adXkG/FY2AQpglkIvlILojfMROFB2aaAQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.109.0 - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 + '@sentry/core': 7.110.0 + '@sentry/types': 7.110.0 + '@sentry/utils': 7.110.0 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1223,12 +1223,12 @@ packages: - supports-color dev: false - /@sentry/core@7.109.0: - resolution: {integrity: sha512-xwD4U0IlvvlE/x/g/W1I8b4Cfb16SsCMmiEuBf6XxvAa3OfWBxKoqLifb3GyrbxMC4LbIIZCN/SvLlnGJPgszA==} + /@sentry/core@7.110.0: + resolution: {integrity: sha512-g4suCQO94mZsKVaAbyD1zLFC5YSuBQCIPHXx9fdgtfoPib7BWjWWePkllkrvsKAv4u8Oq05RfnKOhOMRHpOKqg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 + '@sentry/types': 7.110.0 + '@sentry/utils': 7.110.0 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1242,17 +1242,17 @@ packages: - supports-color dev: false - /@sentry/node@7.109.0: - resolution: {integrity: sha512-tqMNAES4X/iBl1eZRCmc29p//0id01FBLEiesNo5nk6ECl6/SaGMFAEwu1gsn90h/Bjgr04slwFOS4cR45V2PQ==} + /@sentry/node@7.110.0: + resolution: {integrity: sha512-YPfweCSzo/omnx5q1xOEZfI8Em3jnPqj7OM4ObXmoSKEK+kM1oUF3BTRzw5BJOaOCSTBFY1RAsGyfVIyrwxWnA==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.109.0 - '@sentry/core': 7.109.0 - '@sentry/types': 7.109.0 - '@sentry/utils': 7.109.0 + '@sentry-internal/tracing': 7.110.0 + '@sentry/core': 7.110.0 + '@sentry/types': 7.110.0 + '@sentry/utils': 7.110.0 - /@sentry/profiling-node@7.109.0: - resolution: {integrity: sha512-wdDxJ86/A71QTpbbn4LaiB6vmvGd3QEq7UOdZS/y/3SwV66zpkvNB8yPER41BgqDjqcmIY/va9fNi319iTREFw==} + /@sentry/profiling-node@7.110.0: + resolution: {integrity: sha512-l4KfzYaqC2B9uarnIRZ9R8VKzd38z3NOECSuZTLrePnjNZEMDQ0DDztt3qx+Wc4a5y6w/qHaYnjzQ1J+rAMMog==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1261,15 +1261,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.109.0: - resolution: {integrity: sha512-egCBnDv3YpVFoNzRLdP0soVrxVLCQ+rovREKJ1sw3rA2/MFH9WJ+DZZexsX89yeAFzy1IFsCp7/dEqudusml6g==} + /@sentry/types@7.110.0: + resolution: {integrity: sha512-DqYBLyE8thC5P5MuPn+sj8tL60nCd/f5cerFFPcudn5nJ4Zs1eI6lKlwwyHYTEu5c4KFjCB0qql6kXfwAHmTyA==} engines: {node: '>=8'} - /@sentry/utils@7.109.0: - resolution: {integrity: sha512-3RjxMOLMBwZ5VSiH84+o/3NY2An4Zldjz0EbfEQNRY9yffRiCPJSQiCJID8EoylCFOh/PAhPimBhqbtWJxX6iw==} + /@sentry/utils@7.110.0: + resolution: {integrity: sha512-VBsdLLN+5tf73fhf/Cm7JIsUJ6y9DkJj8h4I6Mxx0rszrvOyH6S5px40K+V4jdLBzMEvVinC7q2Cbf1YM18BSw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.109.0 + '@sentry/types': 7.110.0 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From 8c1980d124165e8ed38c0dd87ebd12a5c89bdd4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 11 Apr 2024 19:10:39 +0000 Subject: [PATCH 291/452] chore(deps): update vitest monorepo to v1.5.0 (#1884) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 81 +++++++++++++++++++++----------------------------- 2 files changed, 36 insertions(+), 49 deletions(-) diff --git a/package.json b/package.json index e764b5a99..915c5dc24 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@sentry/profiling-node": "7.110.0", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", - "@vitest/coverage-v8": "1.4.0", + "@vitest/coverage-v8": "1.5.0", "esbuild": "0.20.2", "eslint": "8.57.0", "eslint-config-prettier": "9.1.0", @@ -36,7 +36,7 @@ "npm-run-all2": "6.1.2", "prettier": "3.2.5", "typescript": "5.4.5", - "vitest": "1.4.0" + "vitest": "1.5.0" }, "dependencies": { "@fastify/sensible": "^5.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2ec7bd257..757f8323f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: 20.12.7 version: 20.12.7 '@vitest/coverage-v8': - specifier: 1.4.0 - version: 1.4.0(vitest@1.4.0) + specifier: 1.5.0 + version: 1.5.0(vitest@1.5.0) esbuild: specifier: 0.20.2 version: 0.20.2 @@ -82,8 +82,8 @@ importers: specifier: 5.4.5 version: 5.4.5 vitest: - specifier: 1.4.0 - version: 1.4.0(@types/node@20.12.7) + specifier: 1.5.0 + version: 1.5.0(@types/node@20.12.7) apps/main: dependencies: @@ -1295,10 +1295,6 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true - /@types/node@20.12.7: resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: @@ -1315,10 +1311,10 @@ packages: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true - /@vitest/coverage-v8@1.4.0(vitest@1.4.0): - resolution: {integrity: sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==} + /@vitest/coverage-v8@1.5.0(vitest@1.5.0): + resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==} peerDependencies: - vitest: 1.4.0 + vitest: 1.5.0 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -1333,44 +1329,43 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - v8-to-istanbul: 9.2.0 - vitest: 1.4.0(@types/node@20.12.7) + vitest: 1.5.0(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.4.0: - resolution: {integrity: sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==} + /@vitest/expect@1.5.0: + resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} dependencies: - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 chai: 4.4.1 dev: true - /@vitest/runner@1.4.0: - resolution: {integrity: sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==} + /@vitest/runner@1.5.0: + resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} dependencies: - '@vitest/utils': 1.4.0 + '@vitest/utils': 1.5.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.4.0: - resolution: {integrity: sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==} + /@vitest/snapshot@1.5.0: + resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} dependencies: magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.4.0: - resolution: {integrity: sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==} + /@vitest/spy@1.5.0: + resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.4.0: - resolution: {integrity: sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==} + /@vitest/utils@1.5.0: + resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -1675,6 +1670,7 @@ packages: /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: false /cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} @@ -3651,15 +3647,6 @@ packages: hasBin: true dev: false - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - '@types/istanbul-lib-coverage': 2.0.6 - convert-source-map: 2.0.0 - dev: true - /validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} engines: {node: '>= 0.10'} @@ -3670,8 +3657,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.4.0(@types/node@20.12.7): - resolution: {integrity: sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==} + /vite-node@1.5.0(@types/node@20.12.7): + resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -3727,15 +3714,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.4.0(@types/node@20.12.7): - resolution: {integrity: sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==} + /vitest@1.5.0(@types/node@20.12.7): + resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.4.0 - '@vitest/ui': 1.4.0 + '@vitest/browser': 1.5.0 + '@vitest/ui': 1.5.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3753,11 +3740,11 @@ packages: optional: true dependencies: '@types/node': 20.12.7 - '@vitest/expect': 1.4.0 - '@vitest/runner': 1.4.0 - '@vitest/snapshot': 1.4.0 - '@vitest/spy': 1.4.0 - '@vitest/utils': 1.4.0 + '@vitest/expect': 1.5.0 + '@vitest/runner': 1.5.0 + '@vitest/snapshot': 1.5.0 + '@vitest/spy': 1.5.0 + '@vitest/utils': 1.5.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -3771,7 +3758,7 @@ packages: tinybench: 2.6.0 tinypool: 0.8.3 vite: 5.2.7(@types/node@20.12.7) - vite-node: 1.4.0(@types/node@20.12.7) + vite-node: 1.5.0(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 155c18b54b2f17599417a9b80dbdf75f9312417c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 19:41:37 +0000 Subject: [PATCH 292/452] chore(deps): update pnpm to v8.15.7 (#1886) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 915c5dc24..59cc61aec 100644 --- a/package.json +++ b/package.json @@ -52,5 +52,5 @@ "tsx": "^4.7.1", "zod": "^3.22.4" }, - "packageManager": "pnpm@8.15.6" + "packageManager": "pnpm@8.15.7" } From 7c3464424d5f8fbd911de3994d5dc82453f1641b Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 13 Apr 2024 19:46:19 -0400 Subject: [PATCH 293/452] Add .npmrc file with node-options="--openssl-legacy-provider" (#1887) * Add .npmrc file with node-options="--openssl-legacy-provider" Delete .eslintignore file Add tsconfig.eslint.json file with specific compiler options Update vite.config.ts file to include "pool: forks" Add eslint.config.js file with eslint and typescript-eslint configurations Delete .eslintrc.json file Update .github/workflows/node.yml file to use "pnpm build" and "npm test" Update packages/gateway/test/web.test.ts file to use double quotes Update package.json file with lint, start, format, and test scripts * Update eslint.config.js file with eslint and typescript-eslint configurations * Update eslint.config.js with eslint and typescript-eslint configurations * Update .gitattributes file to prevent merging changes to generated files * Update codecovcli command in .github/workflows/node.yml --- .eslintignore | 3 - .eslintrc.json | 16 -- .gitattributes | 14 ++ .github/workflows/node.yml | 6 +- .npmrc | 1 + eslint.config.js | 24 +++ package.json | 9 +- packages/gateway/test/web.test.ts | 2 +- pnpm-lock.yaml | 243 +++++++++++++++++++++++++++++- tsconfig.eslint.json | 7 + vite.config.ts | 1 + 11 files changed, 294 insertions(+), 32 deletions(-) delete mode 100644 .eslintignore delete mode 100644 .eslintrc.json create mode 100644 .gitattributes create mode 100644 .npmrc create mode 100644 eslint.config.js create mode 100644 tsconfig.eslint.json diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index aa5db0d61..000000000 --- a/.eslintignore +++ /dev/null @@ -1,3 +0,0 @@ -*.d.ts -dist -out \ No newline at end of file diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index ec9f7707d..000000000 --- a/.eslintrc.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": ["eslint:recommended", "plugin:prettier/recommended"], - "env": { - "node": true, - "es2021": true - }, - "plugins": ["prettier"], - "parserOptions": { - "ecmaVersion": "latest", - "sourceType": "module" - }, - "rules": { - "prettier/prettier": "error", - "no-undef": "error" - } -} diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..c52f35a78 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,14 @@ +# Don't allow people to merge changes to these generated files, because the result +# may be invalid. You need to run "rush update" again. +pnpm-lock.yaml merge=text +shrinkwrap.yaml merge=binary +npm-shrinkwrap.json merge=binary +yarn.lock merge=binary + +# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic +# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor +# may also require a special configuration to allow comments in JSON. +# +# For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088 +# +*.json linguist-language=JSON-with-Comments \ No newline at end of file diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index a2cc00f61..5b1c76d07 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -31,8 +31,8 @@ jobs: run: | corepack enable pnpm pnpm install - pnpm run build - pnpm test + pnpm build + npm test env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} - name: Codecov @@ -44,7 +44,7 @@ jobs: pip install --user codecov-cli codecovcli --verbose create-commit --fail-on-error codecovcli --verbose create-report --fail-on-error - codecovcli do-upload --report-type test_results --file thebeast/mcos.junit.xml + codecovcli do-upload --report-type test_results --file mcos.junit.xml codecovcli --verbose do-upload --fail-on-error --flag database --name database-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag gateway --name gateway-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag lobby --name lobby-${{ matrix.node-version }} diff --git a/.npmrc b/.npmrc new file mode 100644 index 000000000..03450f723 --- /dev/null +++ b/.npmrc @@ -0,0 +1 @@ +node-options="--openssl-legacy-provider" \ No newline at end of file diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..19e2d6a35 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,24 @@ +// @ts-check + +import eslint from "@eslint/js"; +import tseslint from "typescript-eslint"; + +export default tseslint.config( + eslint.configs.recommended, + ...tseslint.configs.recommendedTypeChecked, + { + languageOptions: { + parserOptions: { + project: true, + tsconfigRootDir: import.meta.dirname, + }, + }, + }, + { + files: ["**/*.js"], + extends: [tseslint.configs.disableTypeChecked], + }, + { + ignores: ["vite.config.ts"], + }, +); diff --git a/package.json b/package.json index 59cc61aec..55026b60f 100644 --- a/package.json +++ b/package.json @@ -7,14 +7,15 @@ ".": "./dist/index.js" }, "scripts": { - "lint": "tsc", + "lint": "pnpm eslint .", "build": "node build.mjs", - "start": "node --openssl-legacy-provider --env-file=.env dist/server.js", + "start": "node --env-file=.env dist/server.js", "dev:rsc": "tsc --watch --preserveWatchOutput", "dev:node": "node --watch dist/apps/main/server.js", "dev:esbuild": "pnpm run build --watch", "dev": "run-p dev:*", - "test": "eslint --fix . && prettier --write . && node --openssl-legacy-provider node_modules/vitest/vitest.mjs run --coverage packages thebeast" + "format": "pnpm prettier --write .", + "test": "vitest run --coverage packages thebeast" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -24,6 +25,7 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { + "@eslint/js": "^9.0.0", "@sentry/node": "7.110.0", "@sentry/profiling-node": "7.110.0", "@slonik/migrator": "0.12.0", @@ -36,6 +38,7 @@ "npm-run-all2": "6.1.2", "prettier": "3.2.5", "typescript": "5.4.5", + "typescript-eslint": "^7.6.0", "vitest": "1.5.0" }, "dependencies": { diff --git a/packages/gateway/test/web.test.ts b/packages/gateway/test/web.test.ts index bd36e9f1d..ec054a71f 100644 --- a/packages/gateway/test/web.test.ts +++ b/packages/gateway/test/web.test.ts @@ -33,7 +33,7 @@ describe("web", () => { it("handleGetRegistry", () => { const config = mockConfig(); const result = handleGetRegistry(config); - expect(result).toContain('Windows Registry Editor Version 5.00'); + expect(result).toContain("Windows Registry Editor Version 5.00"); expect(result).toContain('"ShardUrlDev"="http://test/ShardList/"'); }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 757f8323f..dcb85bf95 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,6 +45,9 @@ importers: specifier: ^3.22.4 version: 3.22.4 devDependencies: + '@eslint/js': + specifier: ^9.0.0 + version: 9.0.0 '@sentry/node': specifier: 7.110.0 version: 7.110.0 @@ -81,6 +84,9 @@ importers: typescript: specifier: 5.4.5 version: 5.4.5 + typescript-eslint: + specifier: ^7.6.0 + version: 7.6.0(eslint@8.57.0)(typescript@5.4.5) vitest: specifier: 1.5.0 version: 1.5.0(@types/node@20.12.7) @@ -822,6 +828,11 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true + /@eslint/js@9.0.0: + resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + /@fastify/ajv-compiler@3.5.0: resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} dependencies: @@ -1295,6 +1306,10 @@ packages: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: true + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true + /@types/node@20.12.7: resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: @@ -1307,6 +1322,142 @@ packages: pg-protocol: 1.6.0 pg-types: 4.0.2 + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true + + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + '@typescript-eslint/parser': ^7.0.0 + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + eslint: 8.57.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/scope-manager@7.6.0: + resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + dev: true + + /@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 8.57.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/types@7.6.0: + resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} + engines: {node: ^18.18.0 || >=20.0.0} + dev: true + + /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5): + resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/visitor-keys': 7.6.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + + /@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.6.0 + '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + eslint: 8.57.0 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + - typescript + dev: true + + /@typescript-eslint/visitor-keys@7.6.0: + resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} + engines: {node: ^18.18.0 || >=20.0.0} + dependencies: + '@typescript-eslint/types': 7.6.0 + eslint-visitor-keys: 3.4.3 + dev: true + /@ungap/structured-clone@1.2.0: resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true @@ -1491,6 +1642,11 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true + /assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true @@ -1543,7 +1699,6 @@ packages: engines: {node: '>=8'} dependencies: fill-range: 7.0.1 - dev: false /browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} @@ -1727,6 +1882,13 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + dependencies: + path-type: 4.0.0 + dev: true + /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} @@ -2004,6 +2166,17 @@ packages: resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} dev: true + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + dependencies: + '@nodelib/fs.stat': 2.0.5 + '@nodelib/fs.walk': 1.2.8 + glob-parent: 5.1.2 + merge2: 1.4.1 + micromatch: 4.0.5 + dev: true + /fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true @@ -2105,7 +2278,6 @@ packages: engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 - dev: false /find-my-way@8.1.0: resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} @@ -2195,7 +2367,6 @@ packages: engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 - dev: false /glob-parent@6.0.2: resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} @@ -2248,6 +2419,18 @@ packages: type-fest: 0.20.2 dev: true + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + dependencies: + array-union: 2.1.0 + dir-glob: 3.0.1 + fast-glob: 3.3.2 + ignore: 5.3.1 + merge2: 1.4.1 + slash: 3.0.0 + dev: true + /graceful-fs@4.2.11: resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true @@ -2375,7 +2558,6 @@ packages: /is-number@7.0.0: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - dev: false /is-path-inside@3.0.3: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} @@ -2605,6 +2787,19 @@ packages: resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true + + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + dependencies: + braces: 3.0.2 + picomatch: 2.3.1 + dev: true + /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} @@ -2831,6 +3026,11 @@ packages: minipass: 7.0.4 dev: false + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true + /pathe@1.1.2: resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} dev: true @@ -2932,7 +3132,6 @@ packages: /picomatch@2.3.1: resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} engines: {node: '>=8.6'} - dev: false /pidtree@0.6.0: resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} @@ -3344,6 +3543,11 @@ packages: engines: {node: '>=14'} dev: true + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true + /slonik@40.2.1(zod@3.22.4): resolution: {integrity: sha512-V8Ug7bjquqFhbrbj9B8C0U/3N2PYiiEzKxY+s8AQUUfT0yMooVBzEbQgluGYf+EyF39gauNAyA2ItgC+4eph8g==} engines: {node: '>=18'} @@ -3522,7 +3726,6 @@ packages: engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 - dev: false /toad-cache@3.7.0: resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} @@ -3538,6 +3741,15 @@ packages: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false + /ts-api-utils@1.3.0(typescript@5.4.5): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + dependencies: + typescript: 5.4.5 + dev: true + /tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true @@ -3586,6 +3798,25 @@ packages: mime-types: 2.1.35 dev: false + /typescript-eslint@7.6.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + dependencies: + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + eslint: 8.57.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + dev: true + /typescript@5.4.5: resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} engines: {node: '>=14.17'} diff --git a/tsconfig.eslint.json b/tsconfig.eslint.json new file mode 100644 index 000000000..b16d35597 --- /dev/null +++ b/tsconfig.eslint.json @@ -0,0 +1,7 @@ +{ + "extends": "./tsconfig.base.json", + "compilerOptions": { + "noEmit": true + }, + "include": ["apps", "libs", "./migrate.ts"] +} diff --git a/vite.config.ts b/vite.config.ts index e3e68fe44..fb851b55a 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -17,5 +17,6 @@ export default defineConfig({ }, reporters: ["junit", "default", "hanging-process"], outputFile: "mcos.junit.xml", + pool: "forks", }, }); From dc749b5d4cf548eaf99ea2bc14394c664d9190ec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 19:49:55 -0400 Subject: [PATCH 294/452] chore(deps): update returntocorp/semgrep docker digest to 42e2345 (#1863) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 11bc47bd9..da2ecd194 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:f74175d0927db29d9d556fdb3a6b9eae47bf61b71bb6e62fc23fcda0d8711211 + image: returntocorp/semgrep@sha256:42e234536c1742beb43985ed42ba7bbad67e3ed3f3a4cec125817276b3631e65 if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 From 8c88cd98f0c6bb49d364c070f670e936298aebeb Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 13 Apr 2024 20:03:38 -0400 Subject: [PATCH 295/452] chore(deps): update github/codeql-action digest to 4355270 (#1872) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 9b273b539..0f7be3ad6 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@1b1aada464948af03b950897e5eb522f92603cc2 # v3 + uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@1b1aada464948af03b950897e5eb522f92603cc2 # v3 + uses: github/codeql-action/autobuild@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@1b1aada464948af03b950897e5eb522f92603cc2 # v3 + uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 From 17c656c1e2e3ed6d84410b7a77ac9de5ac8b5bec Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Apr 2024 09:36:25 -0400 Subject: [PATCH 296/452] chore(deps): update dependency eslint to v9 (#1873) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 171 +++++++++++++++++++++---------------------------- 2 files changed, 74 insertions(+), 99 deletions(-) diff --git a/package.json b/package.json index 55026b60f..f09943ff7 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", "esbuild": "0.20.2", - "eslint": "8.57.0", + "eslint": "9.0.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index dcb85bf95..81dc2d5bb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,14 +67,14 @@ importers: specifier: 0.20.2 version: 0.20.2 eslint: - specifier: 8.57.0 - version: 8.57.0 + specifier: 9.0.0 + version: 9.0.0 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@8.57.0) + version: 9.1.0(eslint@9.0.0) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5) npm-run-all2: specifier: 6.1.2 version: 6.1.2 @@ -86,7 +86,7 @@ importers: version: 5.4.5 typescript-eslint: specifier: ^7.6.0 - version: 7.6.0(eslint@8.57.0)(typescript@5.4.5) + version: 7.6.0(eslint@9.0.0)(typescript@5.4.5) vitest: specifier: 1.5.0 version: 1.5.0(@types/node@20.12.7) @@ -791,13 +791,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.0.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 8.57.0 + eslint: 9.0.0 eslint-visitor-keys: 3.4.3 dev: true @@ -806,14 +806,14 @@ packages: engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /@eslint/eslintrc@3.0.2: + resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: ajv: 6.12.6 debug: 4.3.4 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.0.1 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -823,11 +823,6 @@ packages: - supports-color dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true - /@eslint/js@9.0.0: resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -869,11 +864,11 @@ packages: vary: 1.1.2 dev: false - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + /@humanwhocodes/config-array@0.12.3: + resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} engines: {node: '>=10.10.0'} dependencies: - '@humanwhocodes/object-schema': 2.0.2 + '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: @@ -885,8 +880,8 @@ packages: engines: {node: '>=12.22'} dev: true - /@humanwhocodes/object-schema@2.0.2: - resolution: {integrity: sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@istanbuljs/schema@0.1.3: @@ -1326,7 +1321,7 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1338,13 +1333,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1355,7 +1350,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1370,7 +1365,7 @@ packages: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -1384,7 +1379,7 @@ packages: '@typescript-eslint/visitor-keys': 7.6.0 dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1395,9 +1390,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) debug: 4.3.4 - eslint: 8.57.0 + eslint: 9.0.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -1431,19 +1426,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.6.0(eslint@8.57.0)(typescript@5.4.5): + /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - eslint: 8.57.0 + eslint: 9.0.0 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -1458,10 +1453,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true - /@vitest/coverage-v8@1.5.0(vitest@1.5.0): resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==} peerDependencies: @@ -1889,13 +1880,6 @@ packages: path-type: 4.0.0 dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dependencies: - esutils: 2.0.3 - dev: true - /dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} @@ -1993,16 +1977,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@9.0.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 8.57.0 + eslint: 9.0.0 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@8.57.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2016,16 +2000,16 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 8.57.0 - eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint: 9.0.0 + eslint-config-prettier: 9.1.0(eslint@9.0.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -2036,41 +2020,42 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + + /eslint@9.0.0: + resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.0 - '@humanwhocodes/config-array': 0.11.14 + '@eslint/eslintrc': 3.0.2 + '@eslint/js': 9.0.0 + '@humanwhocodes/config-array': 0.12.3 '@humanwhocodes/module-importer': 1.0.1 '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 debug: 4.3.4 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.0.1 + eslint-visitor-keys: 4.0.0 + espree: 10.0.1 esquery: 1.5.0 esutils: 2.0.3 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.24.0 graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 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 @@ -2083,13 +2068,13 @@ packages: - supports-color dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + /espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 + eslint-visitor-keys: 4.0.0 dev: true /esquery@1.5.0: @@ -2266,11 +2251,11 @@ packages: dependencies: reusify: 1.0.4 - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + /file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 dev: true /fill-range@7.0.1: @@ -2295,13 +2280,12 @@ packages: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + /flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 dev: true /flatted@3.3.1: @@ -2412,11 +2396,9 @@ packages: engines: {node: '>=4'} dev: false - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - dependencies: - type-fest: 0.20.2 + /globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} dev: true /globby@11.1.0: @@ -3412,13 +3394,6 @@ packages: resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: false - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - dependencies: - glob: 7.2.3 - dev: true - /roarr@7.21.1: resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} engines: {node: '>=18.0'} @@ -3798,7 +3773,7 @@ packages: mime-types: 2.1.35 dev: false - /typescript-eslint@7.6.0(eslint@8.57.0)(typescript@5.4.5): + /typescript-eslint@7.6.0(eslint@9.0.0)(typescript@5.4.5): resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3808,10 +3783,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@8.57.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@8.57.0)(typescript@5.4.5) - eslint: 8.57.0 + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + eslint: 9.0.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color From eb31e3342e82559adec01b500d7e641364ba6c6a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 14 Apr 2024 09:39:23 -0400 Subject: [PATCH 297/452] chore(deps): update adminer:4.8.1 docker digest to ceca91a (#1878) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index a5ab73119..6d9aded8a 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer:4.8.1@sha256:b75eae89431e8469613b844e76382a26efc8601c17f446bcd81665bc87ca9a1f + image: adminer:4.8.1@sha256:ceca91abccc1fcd97d66cd4e8994e6f0a97a92c0e3dbdc8200d5d735e3088cd1 restart: always ports: - 8080:8080 From 0c7563d027a13bda727864d7c7e1eca16edc1312 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 13:38:14 +0000 Subject: [PATCH 298/452] fix(deps): update sentry-javascript monorepo to v7.110.1 (#1890) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index f09943ff7..82b73fe8b 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@eslint/js": "^9.0.0", - "@sentry/node": "7.110.0", - "@sentry/profiling-node": "7.110.0", + "@sentry/node": "7.110.1", + "@sentry/profiling-node": "7.110.1", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 81dc2d5bb..82fee0781 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,11 +49,11 @@ importers: specifier: ^9.0.0 version: 9.0.0 '@sentry/node': - specifier: 7.110.0 - version: 7.110.0 + specifier: 7.110.1 + version: 7.110.1 '@sentry/profiling-node': - specifier: 7.110.0 - version: 7.110.0 + specifier: 7.110.1 + version: 7.110.1 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.1) @@ -107,7 +107,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.110.0 + version: 7.110.1 slonik: specifier: ^40.0.0 version: 40.2.1(zod@3.22.4) @@ -128,7 +128,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.110.0 + version: 7.110.1 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -147,7 +147,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.110.0 + version: 7.110.1 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1113,13 +1113,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.110.0: - resolution: {integrity: sha512-IIHHa9e/mE7uOMJfNELI8adyoELxOy6u6TNCn5t6fphmq84w8FTc9adXkG/FY2AQpglkIvlILojfMROFB2aaAQ==} + /@sentry-internal/tracing@7.110.1: + resolution: {integrity: sha512-4kTd6EM0OP1SVWl2yLn3KIwlCpld1lyhNDeR8G1aKLm1PN+kVsR6YB/jy9KPPp4Q3lN3W9EkTSES3qhP4jVffQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.110.0 - '@sentry/types': 7.110.0 - '@sentry/utils': 7.110.0 + '@sentry/core': 7.110.1 + '@sentry/types': 7.110.1 + '@sentry/utils': 7.110.1 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1229,12 +1229,12 @@ packages: - supports-color dev: false - /@sentry/core@7.110.0: - resolution: {integrity: sha512-g4suCQO94mZsKVaAbyD1zLFC5YSuBQCIPHXx9fdgtfoPib7BWjWWePkllkrvsKAv4u8Oq05RfnKOhOMRHpOKqg==} + /@sentry/core@7.110.1: + resolution: {integrity: sha512-yC1yeUFQlmHj9u/KxKmwOMVanBmgfX+4MZnZU31QPqN95adyZTwpaYFZl4fH5kDVnz7wXJI0qRP8SxuMePtqhw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.110.0 - '@sentry/utils': 7.110.0 + '@sentry/types': 7.110.1 + '@sentry/utils': 7.110.1 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1248,17 +1248,17 @@ packages: - supports-color dev: false - /@sentry/node@7.110.0: - resolution: {integrity: sha512-YPfweCSzo/omnx5q1xOEZfI8Em3jnPqj7OM4ObXmoSKEK+kM1oUF3BTRzw5BJOaOCSTBFY1RAsGyfVIyrwxWnA==} + /@sentry/node@7.110.1: + resolution: {integrity: sha512-n6sNzZJ/ChfyCI1FxuGWgloeevC8j2vax3vXM4IZrSIm5hS1d9L2oCJ4HEPuxGUxCkQ1f4kXPcdmNaQsWH0JBw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.110.0 - '@sentry/core': 7.110.0 - '@sentry/types': 7.110.0 - '@sentry/utils': 7.110.0 + '@sentry-internal/tracing': 7.110.1 + '@sentry/core': 7.110.1 + '@sentry/types': 7.110.1 + '@sentry/utils': 7.110.1 - /@sentry/profiling-node@7.110.0: - resolution: {integrity: sha512-l4KfzYaqC2B9uarnIRZ9R8VKzd38z3NOECSuZTLrePnjNZEMDQ0DDztt3qx+Wc4a5y6w/qHaYnjzQ1J+rAMMog==} + /@sentry/profiling-node@7.110.1: + resolution: {integrity: sha512-htqOzb/IPyC27LSAhWy/9J1fqNZNPhgDSXxPyHNo4aWHPpimDIEClues04KGWNNXH2GRe5ttwavX2PHUQG+dwQ==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1267,15 +1267,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.110.0: - resolution: {integrity: sha512-DqYBLyE8thC5P5MuPn+sj8tL60nCd/f5cerFFPcudn5nJ4Zs1eI6lKlwwyHYTEu5c4KFjCB0qql6kXfwAHmTyA==} + /@sentry/types@7.110.1: + resolution: {integrity: sha512-sZxOpM5gfyxvJeWVvNpHnxERTnlqcozjqNcIv29SZ6wonlkekmxDyJ3uCuPv85VO54WLyA4uzskPKnNFHacI8A==} engines: {node: '>=8'} - /@sentry/utils@7.110.0: - resolution: {integrity: sha512-VBsdLLN+5tf73fhf/Cm7JIsUJ6y9DkJj8h4I6Mxx0rszrvOyH6S5px40K+V4jdLBzMEvVinC7q2Cbf1YM18BSw==} + /@sentry/utils@7.110.1: + resolution: {integrity: sha512-eibLo2m1a7sHkOHxYYmRujr3D7ek2l9sv26F1SLoQBVDF7Afw5AKyzPmtA1D+4M9P/ux1okj7cGj3SaBrVpxXA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.110.0 + '@sentry/types': 7.110.1 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From 4e5b6b3fe7a38e8503c46fcd01feca4b28aa3b3d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 16:41:57 +0000 Subject: [PATCH 299/452] fix(deps): update dependency slonik to v40.2.2 (#1891) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 73 ++++++++++++++++++++++---------------------------- 1 file changed, 32 insertions(+), 41 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 82fee0781..164b5f10e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.1(zod@3.22.4) + version: 40.2.2(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.2 @@ -56,7 +56,7 @@ importers: version: 7.110.1 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.7)(slonik@40.2.1) + version: 0.12.0(@types/node@20.12.7)(slonik@40.2.2) '@types/node': specifier: 20.12.7 version: 20.12.7 @@ -110,7 +110,7 @@ importers: version: 7.110.1 slonik: specifier: ^40.0.0 - version: 40.2.1(zod@3.22.4) + version: 40.2.2(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1281,13 +1281,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.1): + /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.2): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.1(zod@3.22.4) + slonik: 40.2.2(zod@3.22.4) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -1310,11 +1310,11 @@ packages: dependencies: undici-types: 5.26.5 - /@types/pg@8.11.4: - resolution: {integrity: sha512-yw3Bwbda6vO+NvI1Ue/YKOwtl31AYvvd/e73O3V4ZkNzuGpTDndLSyc0dQRB2xrQqDePd20pEGIfqSp/GH3pRw==} + /@types/pg@8.11.5: + resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: '@types/node': 20.12.7 - pg-protocol: 1.6.0 + pg-protocol: 1.6.1 pg-types: 4.0.2 /@types/semver@7.5.8: @@ -1702,10 +1702,6 @@ packages: update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: false - /buffer-writer@2.0.0: - resolution: {integrity: sha512-a7ZpuTZU1TRtnwyCNW3I5dc0wWNC3VR9S++Ewyk2HHZdrO3CQJqSpd+95Us590V6AL7JqUAH2IwZ/398PmNFgw==} - engines: {node: '>=4'} - /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -2967,9 +2963,6 @@ packages: dependencies: p-limit: 3.1.0 - /packet-reader@1.0.0: - resolution: {integrity: sha512-HAKu/fG3HpHFO0AA8WE8q2g+gBJaZ9MG7fcKk+IJPLTGAD6Psw4443l+9DGRbOIh3/aXr7Phy0TjilYivJo5XQ==} - /parent-module@1.0.1: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} @@ -3026,15 +3019,15 @@ packages: requiresBuild: true optional: true - /pg-connection-string@2.6.2: - resolution: {integrity: sha512-ch6OwaeaPYcova4kKZ15sbJ2hKb/VP48ZD2gE7i1J+L4MspCtBMAx8nMgz7bksc7IojCIIWuEhHibSMFH8m8oA==} + /pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - /pg-cursor@2.10.3(pg@8.11.3): - resolution: {integrity: sha512-rDyBVoqPVnx/PTmnwQAYgusSeAKlTL++gmpf5klVK+mYMFEqsOc6VHHZnPKc/4lOvr4r6fiMuoxSFuBF1dx4FQ==} + /pg-cursor@2.10.5(pg@8.11.5): + resolution: {integrity: sha512-wzgmyk+k9mwuYe30ylLA6qRWw2TBFSee4Bw23oTz66YL9RdRJjDi2TaROMMF+V3QB6QWB3FFCju22loDftjKkw==} peerDependencies: pg: ^8 dependencies: - pg: 8.11.3 + pg: 8.11.5 /pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -3044,23 +3037,23 @@ packages: resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} engines: {node: '>=4'} - /pg-pool@3.6.1(pg@8.11.3): - resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} + /pg-pool@3.6.2(pg@8.11.5): + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} peerDependencies: pg: '>=8.0' dependencies: - pg: 8.11.3 + pg: 8.11.5 - /pg-protocol@1.6.0: - resolution: {integrity: sha512-M+PDm637OY5WM307051+bsDia5Xej6d9IR4GwJse1qA1DIhiKlksvrneZOYQq42OM+spubpcNYEo2FcKQrDk+Q==} + /pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} - /pg-query-stream@4.5.3(pg@8.11.3): - resolution: {integrity: sha512-ufa94r/lHJdjAm3+zPZEO0gXAmCb4tZPaOt7O76mjcxdL/HxwTuryy76km+u0odBBgtfdKFYq/9XGfiYeQF0yA==} + /pg-query-stream@4.5.5(pg@8.11.5): + resolution: {integrity: sha512-mBGxVdiR9O6SdkOcXBoZuxtHUQ0nSFIWcFauGMUteko+9rZcu97vE15JX/w8pdijQ+diLbiw8ijpV/V+VCUUtA==} peerDependencies: pg: ^8 dependencies: - pg: 8.11.3 - pg-cursor: 2.10.3(pg@8.11.3) + pg: 8.11.5 + pg-cursor: 2.10.5(pg@8.11.5) /pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -3084,8 +3077,8 @@ packages: postgres-interval: 3.0.0 postgres-range: 1.1.4 - /pg@8.11.3: - resolution: {integrity: sha512-+9iuvG8QfaaUrrph+kpF24cXkH1YOOUeArRNYIxq1viYHZagBxrTno7cecY1Fa44tJeZvaoG+Djpkc3JwehN5g==} + /pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} engines: {node: '>= 8.0.0'} peerDependencies: pg-native: '>=3.0.1' @@ -3093,11 +3086,9 @@ packages: pg-native: optional: true dependencies: - buffer-writer: 2.0.0 - packet-reader: 1.0.0 - pg-connection-string: 2.6.2 - pg-pool: 3.6.1(pg@8.11.3) - pg-protocol: 1.6.0 + pg-connection-string: 2.6.4 + pg-pool: 3.6.2(pg@8.11.5) + pg-protocol: 1.6.1 pg-types: 2.2.0 pgpass: 1.0.5 optionalDependencies: @@ -3523,17 +3514,17 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.1(zod@3.22.4): - resolution: {integrity: sha512-V8Ug7bjquqFhbrbj9B8C0U/3N2PYiiEzKxY+s8AQUUfT0yMooVBzEbQgluGYf+EyF39gauNAyA2ItgC+4eph8g==} + /slonik@40.2.2(zod@3.22.4): + resolution: {integrity: sha512-tZvVO353JL29Lwvi1j9Djyg3sxg1YVTtrnc8bLWhgNIPbpcvtxrioLvTmLyRuZE4gByRlwe8ntc7Wdpjvl36hA==} engines: {node: '>=18'} peerDependencies: zod: ^3 dependencies: - '@types/pg': 8.11.4 + '@types/pg': 8.11.5 get-stack-trace: 3.1.1 iso8601-duration: 1.3.0 - pg: 8.11.3 - pg-query-stream: 4.5.3(pg@8.11.3) + pg: 8.11.5 + pg-query-stream: 4.5.5(pg@8.11.5) pg-types: 4.0.2 postgres-array: 3.0.2 postgres-interval: 4.0.2 From 006f1af2af97ffadaa54eb862124236d4eec497e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 15 Apr 2024 22:10:20 +0000 Subject: [PATCH 300/452] fix(deps): update dependency slonik to v40.2.4 (#1893) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 164b5f10e..7b425ab66 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.2(zod@3.22.4) + version: 40.2.4(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.2 @@ -56,7 +56,7 @@ importers: version: 7.110.1 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.7)(slonik@40.2.2) + version: 0.12.0(@types/node@20.12.7)(slonik@40.2.4) '@types/node': specifier: 20.12.7 version: 20.12.7 @@ -110,7 +110,7 @@ importers: version: 7.110.1 slonik: specifier: ^40.0.0 - version: 40.2.2(zod@3.22.4) + version: 40.2.4(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1281,13 +1281,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.2): + /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.4): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.2(zod@3.22.4) + slonik: 40.2.4(zod@3.22.4) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3514,8 +3514,8 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.2(zod@3.22.4): - resolution: {integrity: sha512-tZvVO353JL29Lwvi1j9Djyg3sxg1YVTtrnc8bLWhgNIPbpcvtxrioLvTmLyRuZE4gByRlwe8ntc7Wdpjvl36hA==} + /slonik@40.2.4(zod@3.22.4): + resolution: {integrity: sha512-ErGSUPrp08QoK9W02gZSTM6t5gGkwGgccp2o8G1+pmdUHV4lMkKGsMOVSkXJl0Wake9PWdEY0pZN/OdoPlfY4Q==} engines: {node: '>=18'} peerDependencies: zod: ^3 From f8517d61bd00cc61e759f4ecbc3e4dd57dbf58ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 18:43:37 +0000 Subject: [PATCH 301/452] fix(deps): update sentry-javascript monorepo to v7.111.0 (#1898) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 ++-- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 31 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 82b73fe8b..025717186 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@eslint/js": "^9.0.0", - "@sentry/node": "7.110.1", - "@sentry/profiling-node": "7.110.1", + "@sentry/node": "7.111.0", + "@sentry/profiling-node": "7.111.0", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7b425ab66..67ac0d02b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,11 +49,11 @@ importers: specifier: ^9.0.0 version: 9.0.0 '@sentry/node': - specifier: 7.110.1 - version: 7.110.1 + specifier: 7.111.0 + version: 7.111.0 '@sentry/profiling-node': - specifier: 7.110.1 - version: 7.110.1 + specifier: 7.111.0 + version: 7.111.0 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.4) @@ -107,7 +107,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.110.1 + version: 7.111.0 slonik: specifier: ^40.0.0 version: 40.2.4(zod@3.22.4) @@ -128,7 +128,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.110.1 + version: 7.111.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -147,7 +147,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.110.1 + version: 7.111.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1113,13 +1113,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.110.1: - resolution: {integrity: sha512-4kTd6EM0OP1SVWl2yLn3KIwlCpld1lyhNDeR8G1aKLm1PN+kVsR6YB/jy9KPPp4Q3lN3W9EkTSES3qhP4jVffQ==} + /@sentry-internal/tracing@7.111.0: + resolution: {integrity: sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.110.1 - '@sentry/types': 7.110.1 - '@sentry/utils': 7.110.1 + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1229,12 +1229,12 @@ packages: - supports-color dev: false - /@sentry/core@7.110.1: - resolution: {integrity: sha512-yC1yeUFQlmHj9u/KxKmwOMVanBmgfX+4MZnZU31QPqN95adyZTwpaYFZl4fH5kDVnz7wXJI0qRP8SxuMePtqhw==} + /@sentry/core@7.111.0: + resolution: {integrity: sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.110.1 - '@sentry/utils': 7.110.1 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1248,17 +1248,17 @@ packages: - supports-color dev: false - /@sentry/node@7.110.1: - resolution: {integrity: sha512-n6sNzZJ/ChfyCI1FxuGWgloeevC8j2vax3vXM4IZrSIm5hS1d9L2oCJ4HEPuxGUxCkQ1f4kXPcdmNaQsWH0JBw==} + /@sentry/node@7.111.0: + resolution: {integrity: sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.110.1 - '@sentry/core': 7.110.1 - '@sentry/types': 7.110.1 - '@sentry/utils': 7.110.1 + '@sentry-internal/tracing': 7.111.0 + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 - /@sentry/profiling-node@7.110.1: - resolution: {integrity: sha512-htqOzb/IPyC27LSAhWy/9J1fqNZNPhgDSXxPyHNo4aWHPpimDIEClues04KGWNNXH2GRe5ttwavX2PHUQG+dwQ==} + /@sentry/profiling-node@7.111.0: + resolution: {integrity: sha512-xJCi2EBf0rQ68kSuQHdKpLDOTjQJUtFGHn0QlaVacchgZZaTiDfJKD5dQhuBJZaul5Nrjq8OOFzwRo2/G8uVIA==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1267,15 +1267,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.110.1: - resolution: {integrity: sha512-sZxOpM5gfyxvJeWVvNpHnxERTnlqcozjqNcIv29SZ6wonlkekmxDyJ3uCuPv85VO54WLyA4uzskPKnNFHacI8A==} + /@sentry/types@7.111.0: + resolution: {integrity: sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g==} engines: {node: '>=8'} - /@sentry/utils@7.110.1: - resolution: {integrity: sha512-eibLo2m1a7sHkOHxYYmRujr3D7ek2l9sv26F1SLoQBVDF7Afw5AKyzPmtA1D+4M9P/ux1okj7cGj3SaBrVpxXA==} + /@sentry/utils@7.111.0: + resolution: {integrity: sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.110.1 + '@sentry/types': 7.111.0 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From 0d9ec374134a4090a56bb7ea38816ee72666b3e7 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 18 Apr 2024 23:09:21 +0000 Subject: [PATCH 302/452] fix(deps): update dependency slonik to v40.2.6 (#1894) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 67ac0d02b..e7565e583 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,7 +37,7 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.4(zod@3.22.4) + version: 40.2.6(zod@3.22.4) tsx: specifier: ^4.7.1 version: 4.7.2 @@ -56,7 +56,7 @@ importers: version: 7.111.0 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.7)(slonik@40.2.4) + version: 0.12.0(@types/node@20.12.7)(slonik@40.2.6) '@types/node': specifier: 20.12.7 version: 20.12.7 @@ -110,7 +110,7 @@ importers: version: 7.111.0 slonik: specifier: ^40.0.0 - version: 40.2.4(zod@3.22.4) + version: 40.2.6(zod@3.22.4) zod: specifier: ^3.22.4 version: 3.22.4 @@ -1281,13 +1281,13 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.4): + /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.6): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.4(zod@3.22.4) + slonik: 40.2.6(zod@3.22.4) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3514,8 +3514,8 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.4(zod@3.22.4): - resolution: {integrity: sha512-ErGSUPrp08QoK9W02gZSTM6t5gGkwGgccp2o8G1+pmdUHV4lMkKGsMOVSkXJl0Wake9PWdEY0pZN/OdoPlfY4Q==} + /slonik@40.2.6(zod@3.22.4): + resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: zod: ^3 From 4c88535e3f8b536dc703dc5cd529691c8daa29f9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 19 Apr 2024 00:21:09 +0000 Subject: [PATCH 303/452] fix(deps): update dependency zod to v3.22.5 (#1899) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e7565e583..1c4727428 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,13 +37,13 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.22.4) + version: 40.2.6(zod@3.22.5) tsx: specifier: ^4.7.1 version: 4.7.2 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.22.5 devDependencies: '@eslint/js': specifier: ^9.0.0 @@ -110,10 +110,10 @@ importers: version: 7.111.0 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.22.4) + version: 40.2.6(zod@3.22.5) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.22.5 packages/gateway: dependencies: @@ -1287,7 +1287,7 @@ packages: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.6(zod@3.22.4) + slonik: 40.2.6(zod@3.22.5) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3514,7 +3514,7 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.22.4): + /slonik@40.2.6(zod@3.22.5): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: @@ -3532,7 +3532,7 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.22.4 + zod: 3.22.5 transitivePeerDependencies: - pg-native @@ -4038,5 +4038,5 @@ packages: commander: 9.5.0 dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + /zod@3.22.5: + resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} From b43b5e01eb5f3a5e476c3a913c4683081fef8a73 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 19 Apr 2024 21:42:46 -0400 Subject: [PATCH 304/452] add logging to triage 1902 (#1903) * add logging to triage 1902 Related Error: Error handling packet: error: relation "vehicle" does not exist #1902 * Add TServerLogger type to mockLogger function * Fix unused import and remove eslint-disable-next-line in State.ts --- packages/gateway/src/index.ts | 35 ++++++++++--------- .../messageProcessors/getLobMiniRiffList.ts | 1 + .../messageProcessors/getLobMiniUserList.ts | 1 + packages/nps/messageProcessors/index.ts | 5 ++- .../processCheckPlateText.ts | 3 +- .../processCheckProfileName.ts | 3 +- .../messageProcessors/processCreateProfile.ts | 3 +- .../messageProcessors/processDeleteProfile.ts | 3 +- .../processEncryptedGameCommand.ts | 9 ++--- .../nps/messageProcessors/processGameLogin.ts | 1 + .../messageProcessors/processGetFirstBuddy.ts | 3 +- .../processGetProfileInfo.ts | 3 +- .../processGetProfileMaps.ts | 3 +- .../messageProcessors/processLobbyLogin.ts | 7 ++-- packages/nps/messageProcessors/processPing.ts | 3 +- .../nps/messageProcessors/processUserLogin.ts | 23 ++++++------ packages/shared/State.ts | 17 ++++----- packages/shared/log.ts | 8 +++-- packages/shared/types.ts | 1 + .../transactions/src/_getArcadeCarInfo.ts | 1 + packages/transactions/src/_getGameUrls.ts | 1 + packages/transactions/src/_getOwnedParts.ts | 1 + .../transactions/src/_getOwnedVehicles.ts | 1 + packages/transactions/src/_getPlayerInfo.ts | 3 +- .../transactions/src/_getPlayerPhysical.ts | 1 + .../transactions/src/_getPlayerRaceHistory.ts | 1 + packages/transactions/src/_getStockCarInfo.ts | 1 + packages/transactions/src/_getTunables.ts | 1 + packages/transactions/src/_logout.ts | 1 + packages/transactions/src/_setOptions.ts | 1 + .../transactions/src/_updatePlayerPhysical.ts | 1 + packages/transactions/src/clientConnect.ts | 1 + packages/transactions/src/getLobbies.ts | 1 + packages/transactions/src/internal.ts | 8 ++--- packages/transactions/src/login.ts | 2 ++ .../_getCompleteVehicleInfo.ts | 1 + .../messageHandlers/_updateCachedVehicle.ts | 1 + packages/transactions/src/trackingPing.ts | 1 + packages/transactions/types.ts | 2 +- test/factoryMocks.ts | 4 ++- 40 files changed, 103 insertions(+), 64 deletions(-) diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index 56c07c372..88f1e7396 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -38,7 +38,6 @@ import { } from "../../nps/index.js"; import type { SocketCallback } from "../../nps/messageProcessors/index.js"; import { getAsHex } from "../../nps/utils/pureGet.js"; -import type { ServiceResponse } from "../../shared"; import { GameMessage } from "../../shared-packets"; /** @@ -120,6 +119,8 @@ export function onSocketConnection({ incomingSocket: Socket; log: TServerLogger; }) { + log.setName("gateway:onSocketConnection"); + // Get the local port and remote address const { localPort, remoteAddress } = incomingSocket; @@ -139,14 +140,13 @@ export function onSocketConnection({ // This is a new TCP socket, so it's probably not using HTTP // Let's look for a port onData handler - /** @type {OnDataHandler | undefined} */ const portOnDataHandler: OnDataHandler | undefined = getOnDataHandler( fetchStateFromDatabase(), localPort, ); // Throw an error if there is no onData handler - if (!portOnDataHandler) { + if (typeof portOnDataHandler === "undefined") { log.warn(`No onData handler for port ${localPort}`); return; } @@ -163,7 +163,7 @@ export function onSocketConnection({ messageType = getPortMessageType(localPort); log.debug(`Message type: ${messageType}`); } catch (error) { - log.error(`Error getting message type: ${error}`); + log.error(`Error getting message type: ${(error as Error).message}`); throw error; } @@ -174,7 +174,7 @@ export function onSocketConnection({ // Call the message handler if (messageType === "Game") { - handleGameMessage( + void handleGameMessage( connectionId, incomingDataAsBuffer, log, @@ -200,19 +200,19 @@ export function onSocketConnection({ message: rawMessage, log, }) - .then((response: ServiceResponse) => { + .then((response) => { log.debug("onData handler returned"); const { messages } = response; // Log the messages - log.trace(`Messages: ${messages.map((m) => m.toString())}`); + log.trace(`Messages: ${messages.map((m) => m.toString()).join(", ")}`); // Serialize the messages const serializedMessages = messages.map((m) => m.serialize()); sendToSocket(serializedMessages, incomingSocket, log); }) - .catch((/** @type {Error} */ error: Error) => { + .catch((error) => { log.error(`Error handling data: ${String(error)}`); throw error; }); @@ -244,12 +244,13 @@ function sendToSocket( } } -export function processGameMessage( +export async function processGameMessage( connectionId: string, message: OldGameMessage, log: TServerLogger, socketCallback: SocketCallback, ) { + log.setName("gateway:processGameMessage"); log.debug(`Processing game message...`); // Get the message ID @@ -260,22 +261,23 @@ export function processGameMessage( const messageProcessor = getGameMessageProcessor(messageId); // Call the message processor - messageProcessor(connectionId, message, socketCallback); + await messageProcessor(connectionId, message, socketCallback); } catch (error) { - log.error(`Error processing message: ${error}`); + log.error(`Error processing message: ${(error as Error).message}`); throw new MessageProcessorError( messageId, - `Error processing message: ${error}`, + `Error processing message: ${(error as Error).message}`, ); } } -export function handleGameMessage( +export async function handleGameMessage( connectionId: string, bytes: Buffer, log: TServerLogger, socketCallback: SocketCallback, ) { + log.setName("gateway:handleGameMessage"); log.debug(`Handling game message...`); // Log raw bytes @@ -287,7 +289,7 @@ export function handleGameMessage( // Load new game message const gameMessage = new GameMessage(msgVersion).deserialize(bytes); - log.debug(`Game message: ${gameMessage}`); + log.debug(`Game message: ${gameMessage.toString()}`); // Try to identify the message version const version = OldGameMessage.identifyVersion(bytes); @@ -302,9 +304,9 @@ export function handleGameMessage( message.deserialize(bytes); // Process the message - processGameMessage(connectionId, message, log, socketCallback); + await processGameMessage(connectionId, message, log, socketCallback); } catch (error) { - const err = `Error processing game message: ${error}`; + const err = `Error processing game message: ${(error as Error).message}`; log.fatal(err); throw Error(err); } @@ -316,6 +318,7 @@ export function handleServerMessage( log: ServerLogger, socketCallback: SocketCallback, ) { + log.setName("gateway:handleServerMessage"); log.debug(`Handling server message...`); // If this is a Server message, it will "probably" be a ServerMessage diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.ts b/packages/nps/messageProcessors/getLobMiniRiffList.ts index 1e94dd7f4..26cde1dea 100644 --- a/packages/nps/messageProcessors/getLobMiniRiffList.ts +++ b/packages/nps/messageProcessors/getLobMiniRiffList.ts @@ -10,6 +10,7 @@ export async function getLobMiniRiffList( commandId: number, data: Buffer, ): Promise { + log.setName("nps:getLobMiniRiffList"); log.info(`Processing getLobMiniRiffList command: ${getAsHex(data)}`); const riffList = new MiniRiffList(); diff --git a/packages/nps/messageProcessors/getLobMiniUserList.ts b/packages/nps/messageProcessors/getLobMiniUserList.ts index 26bab00c7..7fa1a2f13 100644 --- a/packages/nps/messageProcessors/getLobMiniUserList.ts +++ b/packages/nps/messageProcessors/getLobMiniUserList.ts @@ -10,6 +10,7 @@ export async function getLobMiniUserList( commandId: number, data: Buffer, ): Promise { + log.setName("nps:getLobMiniUserList"); log.info(`Processing getLobMiniUserList command: ${getAsHex(data)}`); const miniUserList = new MiniUserList(0); diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts index 5e4f5e6e6..f966c1fb6 100644 --- a/packages/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -12,7 +12,7 @@ import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { processPing } from "./processPing.js"; -export type SocketCallback = (messages: Buffer[]) => void; +export type SocketCallback = (messages: Buffer[]) => Promise; export type MessageProcessor = ( connectionId: string, @@ -47,8 +47,7 @@ export function populateGameMessageProcessors( export function getGameMessageProcessor(messageId: number): MessageProcessor { if (gameMessageProcessors.has(messageId) === true) { - // @ts-expect-error - Since has() is true, the return value is NOT undefined - return gameMessageProcessors.get(messageId); + return gameMessageProcessors.get(messageId) as MessageProcessor; } throw new MessageProcessorError(messageId, "No message processor found"); } diff --git a/packages/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts index d373bf12d..95ad749df 100644 --- a/packages/nps/messageProcessors/processCheckPlateText.ts +++ b/packages/nps/messageProcessors/processCheckPlateText.ts @@ -14,6 +14,7 @@ export async function processCheckPlateText( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processCheckPlateText"); // This message is only called by debug, so let's sey the clinet version to debug const session = await getUserSessionByConnectionId(connectionId); @@ -21,7 +22,7 @@ export async function processCheckPlateText( log.info(`Setting client version to debug for ${session.customerId}`); session.clientVersion = "debug"; - setUserSession(session); + await setUserSession(session); } const plateType = message.getDataAsBuffer().readUInt32BE(0); diff --git a/packages/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts index cf2e19a75..b9483c597 100644 --- a/packages/nps/messageProcessors/processCheckProfileName.ts +++ b/packages/nps/messageProcessors/processCheckProfileName.ts @@ -11,6 +11,7 @@ export async function processCheckProfileName( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processCheckProfileName"); const customerId = message.serialize().readUInt32BE(8); const requestedPersonaName = getLenString(message.serialize(), 12, false); @@ -24,5 +25,5 @@ export async function processCheckProfileName( const responseBytes = response.serialize(); - socketCallback([responseBytes]); + await socketCallback([responseBytes]); } diff --git a/packages/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts index b9069cc56..ca177d678 100644 --- a/packages/nps/messageProcessors/processCreateProfile.ts +++ b/packages/nps/messageProcessors/processCreateProfile.ts @@ -11,6 +11,7 @@ export async function processCreateProfile( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processCreateProfile"); // Log the request log.info(`ProcessCreateProfile request: ${message.toString()}`); @@ -35,5 +36,5 @@ export async function processCreateProfile( // Log the response log.info(`ProcessCreateProfile response: ${response.toString()}`); - socketCallback([response.serialize()]); + await socketCallback([response.serialize()]); } diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 40878db24..8738458dd 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -90,6 +90,7 @@ export async function processDeleteProfile( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processDeleteProfile"); // Log the message log.info(`Delete profile request: ${message.toString()}`); @@ -100,5 +101,5 @@ export async function processDeleteProfile( loginACK.header.setId(0x60c); // Send the ack - socketCallback([loginACK.serialize()]); + await socketCallback([loginACK.serialize()]); } diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts index e66166286..cdc8068b6 100644 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.ts @@ -22,6 +22,7 @@ export async function processEncryptedGameCommand( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processEncryptedGameCommand"); log.info(`Attempting to decrypt message: ${message.toString()}`); // Get the session @@ -46,7 +47,7 @@ export async function processEncryptedGameCommand( customerId: session.customerId, sessionKey: session.sessionKey.substring(0, 16), }); - setEncryptionSession(newSession); + await setEncryptionSession(newSession); encryptionSession = newSession; } catch (error) { log.error(`Error creating encryption session: ${error}`); @@ -82,7 +83,7 @@ export async function processEncryptedGameCommand( } // Process the message - let response = await processor( + const response = await processor( decryptedMessage.header.getId(), decryptedMessage.getDataAsBuffer(), ); @@ -92,7 +93,7 @@ export async function processEncryptedGameCommand( // Encrypt the response const encryptedResponse = encryptionSession.gameCipher.update(response); - setEncryptionSession(encryptionSession); + await setEncryptionSession(encryptionSession); // Log the encrypted response log.info( @@ -115,5 +116,5 @@ export async function processEncryptedGameCommand( ); const responseBytes = responsePacket.serialize(); - socketCallback([responseBytes]); + await socketCallback([responseBytes]); } diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index 664ee03af..ca0c51b4d 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -15,6 +15,7 @@ export async function processGameLogin( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processGameLogin"); const customerId = getDWord(message.getDataAsBuffer(), 0, false); const personaId = getDWord(message.getDataAsBuffer(), 4, false); diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts index 7883664b2..7fe32563e 100644 --- a/packages/nps/messageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/messageProcessors/processGetFirstBuddy.ts @@ -16,6 +16,7 @@ export async function processFirstBuddy( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processFirstBuddy"); const profileId = getDWord(message.getDataAsBuffer(), 0, false); log.info(`GetFirstBuddy profile: ${profileId}`); @@ -35,5 +36,5 @@ export async function processFirstBuddy( log.info("==========================================="); - socketCallback([outMessage.serialize()]); + await socketCallback([outMessage.serialize()]); } diff --git a/packages/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts index 1576c46aa..151d4fbd0 100644 --- a/packages/nps/messageProcessors/processGetProfileInfo.ts +++ b/packages/nps/messageProcessors/processGetProfileInfo.ts @@ -13,6 +13,7 @@ export async function processGetProfileInfo( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processGetProfileInfo"); const customerId = getDWord(message.serialize(), 0, false); log.info(`GetProfileInfo: ${customerId}`); @@ -50,7 +51,7 @@ export async function processGetProfileInfo( log.info("==========================================="); - socketCallback([outMessage.serialize()]); + await socketCallback([outMessage.serialize()]); } catch (error) { log.error(`Error sending profile info: ${error}`); throw new Error("Error sending profile info"); diff --git a/packages/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts index e97bb7ae7..73373da15 100644 --- a/packages/nps/messageProcessors/processGetProfileMaps.ts +++ b/packages/nps/messageProcessors/processGetProfileMaps.ts @@ -13,6 +13,7 @@ export async function processGetProfileMaps( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processGetProfileMaps"); // This message is a version 257, but it's version is set to 0 // This is a bug in the client, so we need to generate a new message // with the correct version @@ -55,7 +56,7 @@ export async function processGetProfileMaps( log.info("==========================================="); - socketCallback([outMessage.serialize()]); + await socketCallback([outMessage.serialize()]); } catch (error) { log.error(`Error sending profile info: ${error}`); throw new Error("Error sending profile info"); diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts index a0f2066bb..d3a77fbda 100644 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ b/packages/nps/messageProcessors/processLobbyLogin.ts @@ -1,5 +1,5 @@ import type { SocketCallback } from "./index.js"; -import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; +import { getDWord, getLenString } from "../utils/pureGet.js"; import { getUserSessionByProfileId, setUserSession, @@ -17,6 +17,7 @@ export async function processLobbyLogin( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processLobbyLogin"); // This message is a BareMessageV0 const profileId = getDWord(message.getDataAsBuffer(), 0, false); @@ -41,7 +42,7 @@ export async function processLobbyLogin( }; // Set the new session - setUserSession(newSession); + await setUserSession(newSession); log.info(`LobbyLogin: ${message.toString()}`); @@ -58,5 +59,5 @@ export async function processLobbyLogin( const responseBytes = responseMessage.serialize(); - socketCallback([responseBytes]); + await socketCallback([responseBytes]); } diff --git a/packages/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts index 7d35c1b25..f1995e8e0 100644 --- a/packages/nps/messageProcessors/processPing.ts +++ b/packages/nps/messageProcessors/processPing.ts @@ -10,6 +10,7 @@ export async function processPing( message: GameMessage, socketCallback: SocketCallback, ): Promise { + log.setName("nps:processPing"); log.info(`Ping: ${message.toString()}`); const response = new GameMessage(0); @@ -17,5 +18,5 @@ export async function processPing( const responseBytes = response.serialize(); - socketCallback([responseBytes]); + await socketCallback([responseBytes]); } diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index c2d19120a..980782c9b 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -99,12 +99,13 @@ export async function processUserLogin( message: GameMessage, socketCallback: SocketCallback, ): Promise { - Sentry.startSpan( + await Sentry.startSpan( { name: "processUserLogin", op: "processUserLogin", }, async (span) => { + log.setName("nps:processUserLogin"); // Log the message log.info(`User login request: ${message.toString()}`); @@ -128,22 +129,22 @@ export async function processUserLogin( response.header.setId(0x602); // Send the message - twice - Sentry.startSpan( + await Sentry.startSpan( { name: "socketCallback", op: "socketCallback", }, - (span) => { - socketCallback([response.serialize()]); + async () => { + await socketCallback([response.serialize()]); }, ); - Sentry.startSpan( + await Sentry.startSpan( { name: "socketCallback", op: "socketCallback", }, - (span) => { - socketCallback([response.serialize()]); + async () => { + await socketCallback([response.serialize()]); }, ); @@ -167,14 +168,14 @@ export async function processUserLogin( }); // Save the user session - setUserSession(userSession); + await setUserSession(userSession); // Create a new message - Login ACK const loginACK = new GameMessage(0); loginACK.header.setId(0x601); // Send the ack - socketCallback([loginACK.serialize()]); + await socketCallback([loginACK.serialize()]); // Create a new UserStatus message const userStatus = UserStatus.new(); @@ -194,8 +195,8 @@ export async function processUserLogin( log.info(`UserStatus: ${userStatusMessage.toString()}`); // Send the message - socketCallback([userStatusMessage.serialize()]); - socketCallback([userStatusMessage.serialize()]); + await socketCallback([userStatusMessage.serialize()]); + await socketCallback([userStatusMessage.serialize()]); return; } catch (e) { diff --git a/packages/shared/State.ts b/packages/shared/State.ts index 7096826f8..244d65b65 100644 --- a/packages/shared/State.ts +++ b/packages/shared/State.ts @@ -5,11 +5,10 @@ * */ -// eslint-disable-next-line no-unused-vars import { Cipher, Decipher } from "crypto"; import { SerializedBuffer } from "./messageFactory.js"; import { Socket } from "node:net"; -import { ServerLogger } from "./log.js"; +import type { TServerLogger } from "./types.js"; /** * @external RawMessage @@ -179,22 +178,20 @@ export function wrapSocket( } interface OnDataHandlerArgs { - args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }; + connectionId: string; + message: SerializedBuffer; + log: TServerLogger; } /** * @requires module:packages/shared/RawMessage */ -export interface ServiceResponse { +export type ServiceResponse = Promise<{ connectionId: string; messages: SerializedBuffer[]; -} +}>; -export type OnDataHandler = Function; +export type OnDataHandler = (arg0: OnDataHandlerArgs) => ServiceResponse; /** * @param {OnDataHandlerArgs} args The arguments for the handler. * @returns {ServiceResponse} The diff --git a/packages/shared/log.ts b/packages/shared/log.ts index 16e07a75a..cc685ffe9 100644 --- a/packages/shared/log.ts +++ b/packages/shared/log.ts @@ -1,5 +1,5 @@ import * as P from "pino"; -import { getServerConfiguration } from "./Configuration.js"; +import type { TServerLogger } from "./types.js"; const DEFAULT_LOG_LEVEL = "trace"; @@ -99,6 +99,10 @@ export class ServerLogger { trace(message: string) { this.logger.trace(message); } + + setName(name: string) { + this.logger = this.logger.child({ name }); + } } /** @@ -107,7 +111,7 @@ export class ServerLogger { * @param {ServerLoggerOptions} options * @return {ServerLogger} */ -export function getServerLogger(options?: ServerLoggerOptions): ServerLogger { +export function getServerLogger(options?: ServerLoggerOptions): TServerLogger { if (typeof ServerLogger.instance === "undefined") { ServerLogger.instance = new ServerLogger(options); } diff --git a/packages/shared/types.ts b/packages/shared/types.ts index f51e87bc2..ed28806a3 100644 --- a/packages/shared/types.ts +++ b/packages/shared/types.ts @@ -19,4 +19,5 @@ export type TServerLogger = { warn: (message: string) => void; debug: (message: string) => void; trace: (message: string) => void; + setName: (name: string) => void; }; diff --git a/packages/transactions/src/_getArcadeCarInfo.ts b/packages/transactions/src/_getArcadeCarInfo.ts index 7e3873d72..84b9bf243 100644 --- a/packages/transactions/src/_getArcadeCarInfo.ts +++ b/packages/transactions/src/_getArcadeCarInfo.ts @@ -12,6 +12,7 @@ export async function _getArcadeCarInfo({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getArcadeCarInfo"); const getArcadeCarInfoMessage = new GenericRequestMessage(); getArcadeCarInfoMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getGameUrls.ts b/packages/transactions/src/_getGameUrls.ts index c883c6615..cb7a2d3a1 100644 --- a/packages/transactions/src/_getGameUrls.ts +++ b/packages/transactions/src/_getGameUrls.ts @@ -12,6 +12,7 @@ export async function _getGameUrls({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getGameUrls"); const getGameUrlsMessage = new GenericRequestMessage(); getGameUrlsMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getOwnedParts.ts b/packages/transactions/src/_getOwnedParts.ts index d7d6958be..c90181619 100644 --- a/packages/transactions/src/_getOwnedParts.ts +++ b/packages/transactions/src/_getOwnedParts.ts @@ -12,6 +12,7 @@ export async function _getOwnedParts({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getOwnedParts"); const getOwnedPartsMessage = new GenericRequestMessage(); getOwnedPartsMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getOwnedVehicles.ts b/packages/transactions/src/_getOwnedVehicles.ts index 4fe7326b6..e3add3333 100644 --- a/packages/transactions/src/_getOwnedVehicles.ts +++ b/packages/transactions/src/_getOwnedVehicles.ts @@ -18,6 +18,7 @@ export function getVehiclesForPerson(personId: number) { export async function _getOwnedVehicles( args: MessageHandlerArgs, ): Promise { + args.log.setName("mcos:getOwnedVehicles"); const getOwnedVehiclesMessage = new GenericRequestMessage(); getOwnedVehiclesMessage.deserialize(args.packet.data); diff --git a/packages/transactions/src/_getPlayerInfo.ts b/packages/transactions/src/_getPlayerInfo.ts index b002b8df9..9e1170843 100644 --- a/packages/transactions/src/_getPlayerInfo.ts +++ b/packages/transactions/src/_getPlayerInfo.ts @@ -5,7 +5,8 @@ import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _getPlayerInfo( args: MessageHandlerArgs, -): Promise { +): Promise { + args.log.setName("mcos:getPlayerInfo"); const getPlayerInfoMessage = new GenericRequestMessage(); getPlayerInfoMessage.deserialize(args.packet.data); diff --git a/packages/transactions/src/_getPlayerPhysical.ts b/packages/transactions/src/_getPlayerPhysical.ts index 50f2757ff..dd6ea0937 100644 --- a/packages/transactions/src/_getPlayerPhysical.ts +++ b/packages/transactions/src/_getPlayerPhysical.ts @@ -8,6 +8,7 @@ export async function _getPlayerPhysical({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getPlayerPhysical"); const getPlayerPhysicalMessage = new GenericRequestMessage(); getPlayerPhysicalMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getPlayerRaceHistory.ts b/packages/transactions/src/_getPlayerRaceHistory.ts index d57a71245..483ad45f8 100644 --- a/packages/transactions/src/_getPlayerRaceHistory.ts +++ b/packages/transactions/src/_getPlayerRaceHistory.ts @@ -46,6 +46,7 @@ export async function _getPlayerRaceHistory({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getPlayerRaceHistory"); const getPlayerRaceHistoryMessage = new GenericRequestMessage(); getPlayerRaceHistoryMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getStockCarInfo.ts b/packages/transactions/src/_getStockCarInfo.ts index d4bb7ef8c..7739a9bb6 100644 --- a/packages/transactions/src/_getStockCarInfo.ts +++ b/packages/transactions/src/_getStockCarInfo.ts @@ -13,6 +13,7 @@ export async function _getStockCarInfo({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getStockCarInfo"); const getStockCarInfoMessage = new GenericRequestMessage(); getStockCarInfoMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_getTunables.ts b/packages/transactions/src/_getTunables.ts index 7cf03ba65..91b85a219 100644 --- a/packages/transactions/src/_getTunables.ts +++ b/packages/transactions/src/_getTunables.ts @@ -12,6 +12,7 @@ export async function _getTunables({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getTunables"); const getTunablesMessage = new GenericRequestMessage(); getTunablesMessage.deserialize(packet.data); diff --git a/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts index 18462bd35..2f2d337e3 100644 --- a/packages/transactions/src/_logout.ts +++ b/packages/transactions/src/_logout.ts @@ -9,6 +9,7 @@ import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; export async function _logout( args: MessageHandlerArgs, ): Promise { + log.setName("mcos:logout"); // Create new response packet const response = new GenericReplyMessage(); response.msgNo = 101; diff --git a/packages/transactions/src/_setOptions.ts b/packages/transactions/src/_setOptions.ts index 1b3f90196..f057cd430 100644 --- a/packages/transactions/src/_setOptions.ts +++ b/packages/transactions/src/_setOptions.ts @@ -6,6 +6,7 @@ import { GenericReplyMessage } from "./GenericReplyMessage.js"; export async function _setOptions( args: MessageHandlerArgs, ): Promise { + args.log.setName("mcos:setOptions"); const playerOptionsMessage = new PlayerOptionsMessage(); playerOptionsMessage.deserialize(args.packet.serialize()); diff --git a/packages/transactions/src/_updatePlayerPhysical.ts b/packages/transactions/src/_updatePlayerPhysical.ts index f080e8885..913527425 100644 --- a/packages/transactions/src/_updatePlayerPhysical.ts +++ b/packages/transactions/src/_updatePlayerPhysical.ts @@ -6,6 +6,7 @@ import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; export async function _updatePlayerPhysical( args: MessageHandlerArgs, ): Promise { + args.log.setName("mcos:updatePlayerPhysical"); const updatePlayerPhysicalMessage = new PlayerPhysicalMessage(); updatePlayerPhysicalMessage.deserialize(args.packet.serialize()); diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts index 1267f4663..123af0aad 100644 --- a/packages/transactions/src/clientConnect.ts +++ b/packages/transactions/src/clientConnect.ts @@ -25,6 +25,7 @@ export async function clientConnect({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:clientConnect"); /** * Let's turn it into a ClientConnectMsg */ diff --git a/packages/transactions/src/getLobbies.ts b/packages/transactions/src/getLobbies.ts index cd80d1f4e..0a97a1eda 100644 --- a/packages/transactions/src/getLobbies.ts +++ b/packages/transactions/src/getLobbies.ts @@ -77,6 +77,7 @@ export async function getLobbies({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getLobbies"); const result = await _getLobbies({ connectionId, packet, log }); log.debug("Dumping Lobbies response packet..."); result.messages.forEach((msg) => { diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts index 5afafa63a..44ef4649e 100644 --- a/packages/transactions/src/internal.ts +++ b/packages/transactions/src/internal.ts @@ -24,6 +24,7 @@ import { OldServerMessage, ServerMessage, } from "../../shared"; +import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; /** * @@ -59,16 +60,15 @@ function _MSG_STRING( /** * Route or process MCOTS commands - * @param {import("./handlers.js").MessageHandlerArgs} args - * @returns {Promise} */ async function processInput({ connectionId, packet, log, -}: import("../types.js").MessageHandlerArgs): Promise< - import("../types.js").MessageHandlerResult +}: MessageHandlerArgs): Promise< + MessageHandlerResult > { + log.setName("mcos:processInput"); const currentMessageNo = packet._msgNo; const currentMessageString = _MSG_STRING(currentMessageNo, "in"); diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts index 08b62a1ad..b987faf00 100644 --- a/packages/transactions/src/login.ts +++ b/packages/transactions/src/login.ts @@ -17,6 +17,7 @@ export async function login({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:login"); // Read the inbound packet const loginMessage = new TLoginMessage(); loginMessage.deserialize(packet.serialize()); @@ -72,6 +73,7 @@ export async function loginComplete({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:loginComplete"); const pReply = new LoginCompleteMessage(); pReply._msgNo = 213; pReply._firstTime = true; diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts index fcba087e4..256dab6b5 100644 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts @@ -175,6 +175,7 @@ export async function _getCompleteVehicleInfo({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:getCompleteVehicleInfo"); const getCompleteVehicleInfoMessage = new GenericRequestMessage(); getCompleteVehicleInfoMessage.deserialize(packet.data); diff --git a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts index d038cfba6..cbc6bc0ce 100644 --- a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts +++ b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts @@ -9,6 +9,7 @@ export async function _updateCachedVehicle({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:updateCachedVehicle"); log.debug(`Received Update Cached Vehicle packet: ${connectionId}, NOOP`); return { connectionId, messages: [] }; diff --git a/packages/transactions/src/trackingPing.ts b/packages/transactions/src/trackingPing.ts index 4d6248802..52ee5e926 100644 --- a/packages/transactions/src/trackingPing.ts +++ b/packages/transactions/src/trackingPing.ts @@ -11,6 +11,7 @@ export async function trackingPing({ packet, log, }: MessageHandlerArgs): Promise { + log.setName("mcos:trackingPing"); // Create new response packet const pReply = new GenericReplyMessage(); pReply.msgNo = 101; diff --git a/packages/transactions/types.ts b/packages/transactions/types.ts index 92f548cdd..bfc4e38a5 100644 --- a/packages/transactions/types.ts +++ b/packages/transactions/types.ts @@ -34,7 +34,7 @@ import type { ServerMessage, ServerMessageType, TServerLogger, -} from "../../shared"; +} from "../shared"; export interface MessageHandlerArgs { connectionId: string; diff --git a/test/factoryMocks.ts b/test/factoryMocks.ts index 69c2abe05..27c00b43e 100644 --- a/test/factoryMocks.ts +++ b/test/factoryMocks.ts @@ -1,6 +1,7 @@ import { expect, it, vi } from "vitest"; import type { DatabaseManager } from "../packages/interfaces/index.js"; import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; +import type { TServerLogger } from "../packages/shared/types.js"; export function mockDatabaseManager(): DatabaseManager { return { @@ -10,7 +11,7 @@ export function mockDatabaseManager(): DatabaseManager { } /** @type TServerLogger */ -export function mockLogger(): any { +export function mockLogger(): TServerLogger { return { info: vi.fn(), error: vi.fn(), @@ -18,6 +19,7 @@ export function mockLogger(): any { warn: vi.fn(), debug: vi.fn(), trace: vi.fn(), + setName: vi.fn(), }; } From 1a43d0638a1082b68206701c7badd7612fe4c9b8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Apr 2024 01:45:49 +0000 Subject: [PATCH 305/452] chore(deps): update dependency eslint to v9.1.0 (#1904) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 86 ++++++++++++++++++++++++++++---------------------- 2 files changed, 49 insertions(+), 39 deletions(-) diff --git a/package.json b/package.json index 025717186..dde2a9025 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", "esbuild": "0.20.2", - "eslint": "9.0.0", + "eslint": "9.1.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c4727428..d544ace84 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,14 +67,14 @@ importers: specifier: 0.20.2 version: 0.20.2 eslint: - specifier: 9.0.0 - version: 9.0.0 + specifier: 9.1.0 + version: 9.1.0 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@9.0.0) + version: 9.1.0(eslint@9.1.0) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.0)(prettier@3.2.5) npm-run-all2: specifier: 6.1.2 version: 6.1.2 @@ -86,7 +86,7 @@ importers: version: 5.4.5 typescript-eslint: specifier: ^7.6.0 - version: 7.6.0(eslint@9.0.0)(typescript@5.4.5) + version: 7.6.0(eslint@9.1.0)(typescript@5.4.5) vitest: specifier: 1.5.0 version: 1.5.0(@types/node@20.12.7) @@ -791,13 +791,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.0.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.1.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.0.0 + eslint: 9.1.0 eslint-visitor-keys: 3.4.3 dev: true @@ -828,6 +828,11 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true + /@eslint/js@9.1.1: + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + /@fastify/ajv-compiler@3.5.0: resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} dependencies: @@ -864,8 +869,8 @@ packages: vary: 1.1.2 dev: false - /@humanwhocodes/config-array@0.12.3: - resolution: {integrity: sha512-jsNnTBlMWuTpDkeE3on7+dWJi0D6fdDfeANj/w7MpS8ztROCoLvIO2nG0CcFj+E4k8j4QrSTh4Oryi3i2G669g==} + /@humanwhocodes/config-array@0.13.0: + resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -884,6 +889,11 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true + /@humanwhocodes/retry@0.2.3: + resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + engines: {node: '>=18.18'} + dev: true + /@istanbuljs/schema@0.1.3: resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} @@ -1321,7 +1331,7 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.0)(typescript@5.4.5): resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1333,13 +1343,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.1.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 9.0.0 + eslint: 9.1.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1350,7 +1360,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.0.0)(typescript@5.4.5): + /@typescript-eslint/parser@7.6.0(eslint@9.1.0)(typescript@5.4.5): resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1365,7 +1375,7 @@ packages: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 9.0.0 + eslint: 9.1.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -1379,7 +1389,7 @@ packages: '@typescript-eslint/visitor-keys': 7.6.0 dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.6.0(eslint@9.1.0)(typescript@5.4.5): resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1390,9 +1400,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) debug: 4.3.4 - eslint: 9.0.0 + eslint: 9.1.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -1426,19 +1436,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.0.0)(typescript@5.4.5): + /@typescript-eslint/utils@7.6.0(eslint@9.1.0)(typescript@5.4.5): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - eslint: 9.0.0 + eslint: 9.1.0 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -1973,16 +1983,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.1.0(eslint@9.0.0): + /eslint-config-prettier@9.1.0(eslint@9.1.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.0.0 + eslint: 9.1.0 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.0.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.0)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1996,8 +2006,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 9.0.0 - eslint-config-prettier: 9.1.0(eslint@9.0.0) + eslint: 9.1.0 + eslint-config-prettier: 9.1.0(eslint@9.1.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 @@ -2021,17 +2031,18 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint@9.0.0: - resolution: {integrity: sha512-IMryZ5SudxzQvuod6rUdIUz29qFItWx281VhtFVc2Psy/ZhlCeD/5DT6lBIJ4H3G+iamGJoTln1v+QSuPw0p7Q==} + /eslint@9.1.0: + resolution: {integrity: sha512-1TCBecGFQtItia2o39P7Z4BK1X7ByNPxAiWJvwiyTGcOwYnTiiASgMpNA6a+beu8cFPhEDWvPf6mIlYUJv6sgA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.0.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 - '@eslint/js': 9.0.0 - '@humanwhocodes/config-array': 0.12.3 + '@eslint/js': 9.1.1 + '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 + '@humanwhocodes/retry': 0.2.3 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 @@ -2047,7 +2058,6 @@ packages: file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 @@ -3764,7 +3774,7 @@ packages: mime-types: 2.1.35 dev: false - /typescript-eslint@7.6.0(eslint@9.0.0)(typescript@5.4.5): + /typescript-eslint@7.6.0(eslint@9.1.0)(typescript@5.4.5): resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3774,10 +3784,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.0.0)(typescript@5.4.5) - eslint: 9.0.0 + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + eslint: 9.1.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color From b50ccd79c14f08323459f8d8248505999e19a87d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 20 Apr 2024 09:47:30 -0400 Subject: [PATCH 306/452] chore(deps): update postgres:16.2 docker digest to f4b0987 (#1879) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 6d9aded8a..d8afa60d9 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.2@sha256:6b841c8f6a819884207402f1209a8116844365df15fca8cf556fc54a24c70800 + image: postgres:16.2@sha256:f4b0987cb4ba8bcc2b90aa33ad8b5786669bec4dc633fc93d1418275e3627b34 restart: always environment: POSTGRES_DB: rm From 34953b2bf0a631f996f40e73d48048d3bd18934f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 03:48:12 +0000 Subject: [PATCH 307/452] fix(deps): update dependency zod to v3.23.0 (#1905) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d544ace84..8905ef719 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,13 +37,13 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.22.5) + version: 40.2.6(zod@3.23.0) tsx: specifier: ^4.7.1 version: 4.7.2 zod: specifier: ^3.22.4 - version: 3.22.5 + version: 3.23.0 devDependencies: '@eslint/js': specifier: ^9.0.0 @@ -110,10 +110,10 @@ importers: version: 7.111.0 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.22.5) + version: 40.2.6(zod@3.23.0) zod: specifier: ^3.22.4 - version: 3.22.5 + version: 3.23.0 packages/gateway: dependencies: @@ -1297,7 +1297,7 @@ packages: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.6(zod@3.22.5) + slonik: 40.2.6(zod@3.23.0) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3524,7 +3524,7 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.22.5): + /slonik@40.2.6(zod@3.23.0): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: @@ -3542,7 +3542,7 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.22.5 + zod: 3.23.0 transitivePeerDependencies: - pg-native @@ -4048,5 +4048,5 @@ packages: commander: 9.5.0 dev: true - /zod@3.22.5: - resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} + /zod@3.23.0: + resolution: {integrity: sha512-OFLT+LTocvabn6q76BTwVB0hExEBS0IduTr3cqZyMqEDbOnYmcU+y0tUAYbND4uwclpBGi4I4UUBGzylWpjLGA==} From 1fa8b52c9c1440e8bb795af0ecd7101c2ade76fc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 19:29:47 +0000 Subject: [PATCH 308/452] chore(deps): update dependency eslint to v9.1.1 (#1907) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 34 insertions(+), 34 deletions(-) diff --git a/package.json b/package.json index dde2a9025..9b3c08105 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", "esbuild": "0.20.2", - "eslint": "9.1.0", + "eslint": "9.1.1", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8905ef719..1a26b1d0d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -67,14 +67,14 @@ importers: specifier: 0.20.2 version: 0.20.2 eslint: - specifier: 9.1.0 - version: 9.1.0 + specifier: 9.1.1 + version: 9.1.1 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@9.1.0) + version: 9.1.0(eslint@9.1.1) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.1)(prettier@3.2.5) npm-run-all2: specifier: 6.1.2 version: 6.1.2 @@ -86,7 +86,7 @@ importers: version: 5.4.5 typescript-eslint: specifier: ^7.6.0 - version: 7.6.0(eslint@9.1.0)(typescript@5.4.5) + version: 7.6.0(eslint@9.1.1)(typescript@5.4.5) vitest: specifier: 1.5.0 version: 1.5.0(@types/node@20.12.7) @@ -791,13 +791,13 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.1.0): + /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.1.0 + eslint: 9.1.1 eslint-visitor-keys: 3.4.3 dev: true @@ -1331,7 +1331,7 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.0)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.1)(typescript@5.4.5): resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1343,13 +1343,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 9.1.0 + eslint: 9.1.1 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1360,7 +1360,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.1.0)(typescript@5.4.5): + /@typescript-eslint/parser@7.6.0(eslint@9.1.1)(typescript@5.4.5): resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1375,7 +1375,7 @@ packages: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.6.0 debug: 4.3.4 - eslint: 9.1.0 + eslint: 9.1.1 typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -1389,7 +1389,7 @@ packages: '@typescript-eslint/visitor-keys': 7.6.0 dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.1.0)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.6.0(eslint@9.1.1)(typescript@5.4.5): resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1400,9 +1400,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) debug: 4.3.4 - eslint: 9.1.0 + eslint: 9.1.1 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -1436,19 +1436,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.1.0)(typescript@5.4.5): + /@typescript-eslint/utils@7.6.0(eslint@9.1.1)(typescript@5.4.5): resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.6.0 '@typescript-eslint/types': 7.6.0 '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - eslint: 9.1.0 + eslint: 9.1.1 semver: 7.6.0 transitivePeerDependencies: - supports-color @@ -1983,16 +1983,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.1.0(eslint@9.1.0): + /eslint-config-prettier@9.1.0(eslint@9.1.1): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.1.0 + eslint: 9.1.1 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.0)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.1)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2006,8 +2006,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 9.1.0 - eslint-config-prettier: 9.1.0(eslint@9.1.0) + eslint: 9.1.1 + eslint-config-prettier: 9.1.0(eslint@9.1.1) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 @@ -2031,12 +2031,12 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint@9.1.0: - resolution: {integrity: sha512-1TCBecGFQtItia2o39P7Z4BK1X7ByNPxAiWJvwiyTGcOwYnTiiASgMpNA6a+beu8cFPhEDWvPf6mIlYUJv6sgA==} + /eslint@9.1.1: + resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.0) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 '@eslint/js': 9.1.1 @@ -3774,7 +3774,7 @@ packages: mime-types: 2.1.35 dev: false - /typescript-eslint@7.6.0(eslint@9.1.0)(typescript@5.4.5): + /typescript-eslint@7.6.0(eslint@9.1.1)(typescript@5.4.5): resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -3784,10 +3784,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@9.1.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.0)(typescript@5.4.5) - eslint: 9.1.0 + '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.6.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) + eslint: 9.1.1 typescript: 5.4.5 transitivePeerDependencies: - supports-color From 2c56bcd3942ddd475fc3d3d2c7ea2c8356d0bfe4 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 22 Apr 2024 22:55:23 +0000 Subject: [PATCH 309/452] fix(deps): update dependency zod to v3.23.3 (#1908) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1a26b1d0d..0a209fbcb 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,13 +37,13 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.0) + version: 40.2.6(zod@3.23.3) tsx: specifier: ^4.7.1 version: 4.7.2 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.23.3 devDependencies: '@eslint/js': specifier: ^9.0.0 @@ -110,10 +110,10 @@ importers: version: 7.111.0 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.0) + version: 40.2.6(zod@3.23.3) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.23.3 packages/gateway: dependencies: @@ -1297,7 +1297,7 @@ packages: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.6(zod@3.23.0) + slonik: 40.2.6(zod@3.23.3) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3524,7 +3524,7 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.23.0): + /slonik@40.2.6(zod@3.23.3): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: @@ -3542,7 +3542,7 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.23.0 + zod: 3.23.3 transitivePeerDependencies: - pg-native @@ -4048,5 +4048,5 @@ packages: commander: 9.5.0 dev: true - /zod@3.23.0: - resolution: {integrity: sha512-OFLT+LTocvabn6q76BTwVB0hExEBS0IduTr3cqZyMqEDbOnYmcU+y0tUAYbND4uwclpBGi4I4UUBGzylWpjLGA==} + /zod@3.23.3: + resolution: {integrity: sha512-tPvq1B/2Yu/dh2uAIH2/BhUlUeLIUvAjr6dpL/75I0pCYefHgjhXk1o1Kob3kTU8C7yU1j396jFHlsVWFi9ogg==} From 676b0411e1a29a5c3e9cd6fd0cd5681380197f98 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 10:38:01 +0000 Subject: [PATCH 310/452] fix(deps): update sentry-javascript monorepo to v7.112.0 (#1910) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 81 ++++++++++++++++++++++++++++++++------------------ 2 files changed, 54 insertions(+), 31 deletions(-) diff --git a/package.json b/package.json index 9b3c08105..a2367a815 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@eslint/js": "^9.0.0", - "@sentry/node": "7.111.0", - "@sentry/profiling-node": "7.111.0", + "@sentry/node": "7.112.0", + "@sentry/profiling-node": "7.112.0", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 0a209fbcb..4fa5cc14e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,11 +49,11 @@ importers: specifier: ^9.0.0 version: 9.0.0 '@sentry/node': - specifier: 7.111.0 - version: 7.111.0 + specifier: 7.112.0 + version: 7.112.0 '@sentry/profiling-node': - specifier: 7.111.0 - version: 7.111.0 + specifier: 7.112.0 + version: 7.112.0 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.6) @@ -107,7 +107,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.111.0 + version: 7.112.0 slonik: specifier: ^40.0.0 version: 40.2.6(zod@3.23.3) @@ -128,7 +128,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.111.0 + version: 7.112.0 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -147,7 +147,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.111.0 + version: 7.112.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1123,13 +1123,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.111.0: - resolution: {integrity: sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg==} + /@sentry-internal/tracing@7.112.0: + resolution: {integrity: sha512-PkA3NaSg4nTWp9pwVsV9x0EBiY0pEAnIboIpMuLGE5MJ/FL10NC5Fn1GPebcxNnOou62dM7P/z7Wtcm8czAn6A==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 + '@sentry/core': 7.112.0 + '@sentry/types': 7.112.0 + '@sentry/utils': 7.112.0 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1239,12 +1239,12 @@ packages: - supports-color dev: false - /@sentry/core@7.111.0: - resolution: {integrity: sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg==} + /@sentry/core@7.112.0: + resolution: {integrity: sha512-q4K0fTULXMf9vb0Je6qFwQyVjfMvuPiKRRvRHcpWvWudV7oTcfPixlbbIQaj3OiY3nrjk5q86hktqboI/Z6ISw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 + '@sentry/types': 7.112.0 + '@sentry/utils': 7.112.0 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1258,17 +1258,27 @@ packages: - supports-color dev: false - /@sentry/node@7.111.0: - resolution: {integrity: sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w==} + /@sentry/integrations@7.112.0: + resolution: {integrity: sha512-brN6eZkXuz1e/OKhMGJsAZjc0cUU+5G+LQWet+gGXWVGM2v7uY7mKDHr5Yl/c8WxeJBurjJzJn7YmtmR9++ZKQ==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.111.0 - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 + '@sentry/core': 7.112.0 + '@sentry/types': 7.112.0 + '@sentry/utils': 7.112.0 + localforage: 1.10.0 - /@sentry/profiling-node@7.111.0: - resolution: {integrity: sha512-xJCi2EBf0rQ68kSuQHdKpLDOTjQJUtFGHn0QlaVacchgZZaTiDfJKD5dQhuBJZaul5Nrjq8OOFzwRo2/G8uVIA==} + /@sentry/node@7.112.0: + resolution: {integrity: sha512-Me0Um3PbPQADHhm5zJ1EM4/me+i1OMT3w+1ZUgkPGX+2Wtqfp0djHF/SzCOL45X1IR+YLVrcCTpyAWRhPZAdVw==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.112.0 + '@sentry/core': 7.112.0 + '@sentry/integrations': 7.112.0 + '@sentry/types': 7.112.0 + '@sentry/utils': 7.112.0 + + /@sentry/profiling-node@7.112.0: + resolution: {integrity: sha512-ha8wW9zhzdagl0IGym1eJfYvNPJ0h/WiG2oXPZ8LNJbGIVDv8ECCH8t0WwYyOb47oYAd6tOwFmk3dT46Z/TyRg==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1277,15 +1287,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.111.0: - resolution: {integrity: sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g==} + /@sentry/types@7.112.0: + resolution: {integrity: sha512-ASonavVCSrgDjMyWjuNMSytKMGYJq7d/1+IoBJsQFLgLe1gLIXuDNbhfUAM4A+muQUGZepV9iRX4ZYhiROMHVQ==} engines: {node: '>=8'} - /@sentry/utils@7.111.0: - resolution: {integrity: sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg==} + /@sentry/utils@7.112.0: + resolution: {integrity: sha512-dNGcNWKoJE9VwIAZxQsqC6/7BC+8wn1rT7Km9S8xltcjhRvaK4n3QZwXoNLHjNWT0mS2lZaFyRx2hsHjblQqLg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.111.0 + '@sentry/types': 7.112.0 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} @@ -2487,6 +2497,9 @@ packages: engines: {node: '>= 4'} dev: true + /immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} @@ -2683,6 +2696,11 @@ packages: type-check: 0.4.0 dev: true + /lie@3.1.1: + resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} + dependencies: + immediate: 3.0.6 + /light-my-request@5.12.0: resolution: {integrity: sha512-P526OX6E7aeCIfw/9UyJNsAISfcFETghysaWHQAlQYayynShT08MOj4c6fBCvTWBrHXSvqBAKDp3amUPSCQI4w==} dependencies: @@ -2699,6 +2717,11 @@ packages: pkg-types: 1.0.3 dev: true + /localforage@1.10.0: + resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + dependencies: + lie: 3.1.1 + /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} From b90a7fd8cf8ee6bd1055f3dd5214de2bbfa359cc Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 14:13:24 +0000 Subject: [PATCH 311/452] fix(deps): update sentry-javascript monorepo to v7.112.1 (#1911) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 70 +++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index a2367a815..77f6a57af 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@eslint/js": "^9.0.0", - "@sentry/node": "7.112.0", - "@sentry/profiling-node": "7.112.0", + "@sentry/node": "7.112.1", + "@sentry/profiling-node": "7.112.1", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4fa5cc14e..eae46dcd2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,11 +49,11 @@ importers: specifier: ^9.0.0 version: 9.0.0 '@sentry/node': - specifier: 7.112.0 - version: 7.112.0 + specifier: 7.112.1 + version: 7.112.1 '@sentry/profiling-node': - specifier: 7.112.0 - version: 7.112.0 + specifier: 7.112.1 + version: 7.112.1 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.6) @@ -107,7 +107,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.0 + version: 7.112.1 slonik: specifier: ^40.0.0 version: 40.2.6(zod@3.23.3) @@ -128,7 +128,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.112.0 + version: 7.112.1 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -147,7 +147,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.0 + version: 7.112.1 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1123,13 +1123,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.112.0: - resolution: {integrity: sha512-PkA3NaSg4nTWp9pwVsV9x0EBiY0pEAnIboIpMuLGE5MJ/FL10NC5Fn1GPebcxNnOou62dM7P/z7Wtcm8czAn6A==} + /@sentry-internal/tracing@7.112.1: + resolution: {integrity: sha512-pZVIOB6+t4HlgU3mCRtIbvo//t8uQY9tnBjbJJ2nEv8nTu8A7/dZ5ebrLOWStV3bNp/+uCqLuLuuimJeNNn6vQ==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.0 - '@sentry/types': 7.112.0 - '@sentry/utils': 7.112.0 + '@sentry/core': 7.112.1 + '@sentry/types': 7.112.1 + '@sentry/utils': 7.112.1 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1239,12 +1239,12 @@ packages: - supports-color dev: false - /@sentry/core@7.112.0: - resolution: {integrity: sha512-q4K0fTULXMf9vb0Je6qFwQyVjfMvuPiKRRvRHcpWvWudV7oTcfPixlbbIQaj3OiY3nrjk5q86hktqboI/Z6ISw==} + /@sentry/core@7.112.1: + resolution: {integrity: sha512-ZhOxt4sZVLqHurWqIY1ExWYZ20ViFTbqgW2GdJGHz4XwJhBln0ZVpHD+tKXy3GBEY+2Ee4qoqHi6tDrFgPvJqw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.0 - '@sentry/utils': 7.112.0 + '@sentry/types': 7.112.1 + '@sentry/utils': 7.112.1 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1258,27 +1258,27 @@ packages: - supports-color dev: false - /@sentry/integrations@7.112.0: - resolution: {integrity: sha512-brN6eZkXuz1e/OKhMGJsAZjc0cUU+5G+LQWet+gGXWVGM2v7uY7mKDHr5Yl/c8WxeJBurjJzJn7YmtmR9++ZKQ==} + /@sentry/integrations@7.112.1: + resolution: {integrity: sha512-jIgXT+ahUS7zmhDMAzsgQHCNA6ZwZAp0Bwjoz0tcuGzNcv7mOCnjHz5YooJVQgXuREV653RmEuGGTklrpn6S2w==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.0 - '@sentry/types': 7.112.0 - '@sentry/utils': 7.112.0 + '@sentry/core': 7.112.1 + '@sentry/types': 7.112.1 + '@sentry/utils': 7.112.1 localforage: 1.10.0 - /@sentry/node@7.112.0: - resolution: {integrity: sha512-Me0Um3PbPQADHhm5zJ1EM4/me+i1OMT3w+1ZUgkPGX+2Wtqfp0djHF/SzCOL45X1IR+YLVrcCTpyAWRhPZAdVw==} + /@sentry/node@7.112.1: + resolution: {integrity: sha512-4nGqP133jDNgPADJMR+pTroo9TTYyrXuGVI1RO2lhZpLbRu7ksR6hgsQE00+0L/EhPM4IiW75iwwHePFwqWY6A==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.112.0 - '@sentry/core': 7.112.0 - '@sentry/integrations': 7.112.0 - '@sentry/types': 7.112.0 - '@sentry/utils': 7.112.0 + '@sentry-internal/tracing': 7.112.1 + '@sentry/core': 7.112.1 + '@sentry/integrations': 7.112.1 + '@sentry/types': 7.112.1 + '@sentry/utils': 7.112.1 - /@sentry/profiling-node@7.112.0: - resolution: {integrity: sha512-ha8wW9zhzdagl0IGym1eJfYvNPJ0h/WiG2oXPZ8LNJbGIVDv8ECCH8t0WwYyOb47oYAd6tOwFmk3dT46Z/TyRg==} + /@sentry/profiling-node@7.112.1: + resolution: {integrity: sha512-NKAcGJQde97EGtx7YYaJQPuZ8K/RXyv/BCh7AOHm9EgLTV4oCG8BAYzSd/euVJWmNDLX1mT7ejYRXKsg9HJ1/w==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1287,15 +1287,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.112.0: - resolution: {integrity: sha512-ASonavVCSrgDjMyWjuNMSytKMGYJq7d/1+IoBJsQFLgLe1gLIXuDNbhfUAM4A+muQUGZepV9iRX4ZYhiROMHVQ==} + /@sentry/types@7.112.1: + resolution: {integrity: sha512-5dLIxWZfCXH5kExrsWc+R6loMr3RR6OQuonVNL3Fa8Dw37Q7aExCrjRmocOHeQKhHwNBd3QhYm7phjnbxS6Oaw==} engines: {node: '>=8'} - /@sentry/utils@7.112.0: - resolution: {integrity: sha512-dNGcNWKoJE9VwIAZxQsqC6/7BC+8wn1rT7Km9S8xltcjhRvaK4n3QZwXoNLHjNWT0mS2lZaFyRx2hsHjblQqLg==} + /@sentry/utils@7.112.1: + resolution: {integrity: sha512-/AMGDD6OMvT2cpfL5KuDC10oTS8yOt7BAPomXJNS/xn1TRcEEEZ1TWbYZiGT5ijggQEL1OXSojpeQU8XEW8dcQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.0 + '@sentry/types': 7.112.1 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From 57edae929cfa24d2cc015be7033b578597cab523 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 23 Apr 2024 19:34:45 +0000 Subject: [PATCH 312/452] fix(deps): update dependency zod to v3.23.4 (#1912) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index eae46dcd2..c5b686c58 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,13 +37,13 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.3) + version: 40.2.6(zod@3.23.4) tsx: specifier: ^4.7.1 version: 4.7.2 zod: specifier: ^3.22.4 - version: 3.23.3 + version: 3.23.4 devDependencies: '@eslint/js': specifier: ^9.0.0 @@ -110,10 +110,10 @@ importers: version: 7.112.1 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.3) + version: 40.2.6(zod@3.23.4) zod: specifier: ^3.22.4 - version: 3.23.3 + version: 3.23.4 packages/gateway: dependencies: @@ -1307,7 +1307,7 @@ packages: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) - slonik: 40.2.6(zod@3.23.3) + slonik: 40.2.6(zod@3.23.4) umzug: 3.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' @@ -3547,7 +3547,7 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.23.3): + /slonik@40.2.6(zod@3.23.4): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: @@ -3565,7 +3565,7 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.23.3 + zod: 3.23.4 transitivePeerDependencies: - pg-native @@ -4071,5 +4071,5 @@ packages: commander: 9.5.0 dev: true - /zod@3.23.3: - resolution: {integrity: sha512-tPvq1B/2Yu/dh2uAIH2/BhUlUeLIUvAjr6dpL/75I0pCYefHgjhXk1o1Kob3kTU8C7yU1j396jFHlsVWFi9ogg==} + /zod@3.23.4: + resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} From 3123c2c3fd638fff59499c3ca68a47855cecd22c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 14:37:07 +0000 Subject: [PATCH 313/452] fix(deps): update sentry-javascript monorepo to v7.112.2 (#1915) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 70 +++++++++++++++++++++++++------------------------- 2 files changed, 37 insertions(+), 37 deletions(-) diff --git a/package.json b/package.json index 77f6a57af..e0b9e6f7e 100644 --- a/package.json +++ b/package.json @@ -26,8 +26,8 @@ }, "devDependencies": { "@eslint/js": "^9.0.0", - "@sentry/node": "7.112.1", - "@sentry/profiling-node": "7.112.1", + "@sentry/node": "7.112.2", + "@sentry/profiling-node": "7.112.2", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", "@vitest/coverage-v8": "1.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c5b686c58..19b5c4e91 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,11 +49,11 @@ importers: specifier: ^9.0.0 version: 9.0.0 '@sentry/node': - specifier: 7.112.1 - version: 7.112.1 + specifier: 7.112.2 + version: 7.112.2 '@sentry/profiling-node': - specifier: 7.112.1 - version: 7.112.1 + specifier: 7.112.2 + version: 7.112.2 '@slonik/migrator': specifier: 0.12.0 version: 0.12.0(@types/node@20.12.7)(slonik@40.2.6) @@ -107,7 +107,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.1 + version: 7.112.2 slonik: specifier: ^40.0.0 version: 40.2.6(zod@3.23.4) @@ -128,7 +128,7 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.112.1 + version: 7.112.2 fastify: specifier: ^4.25.2 version: 4.26.2 @@ -147,7 +147,7 @@ importers: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.1 + version: 7.112.2 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -1123,13 +1123,13 @@ packages: - '@types/node' dev: true - /@sentry-internal/tracing@7.112.1: - resolution: {integrity: sha512-pZVIOB6+t4HlgU3mCRtIbvo//t8uQY9tnBjbJJ2nEv8nTu8A7/dZ5ebrLOWStV3bNp/+uCqLuLuuimJeNNn6vQ==} + /@sentry-internal/tracing@7.112.2: + resolution: {integrity: sha512-fT1Y46J4lfXZkgFkb03YMNeIEs2xS6jdKMoukMFQfRfVvL9fSWEbTgZpHPd/YTT8r2i082XzjtAoQNgklm/0Hw==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.1 - '@sentry/types': 7.112.1 - '@sentry/utils': 7.112.1 + '@sentry/core': 7.112.2 + '@sentry/types': 7.112.2 + '@sentry/utils': 7.112.2 /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1239,12 +1239,12 @@ packages: - supports-color dev: false - /@sentry/core@7.112.1: - resolution: {integrity: sha512-ZhOxt4sZVLqHurWqIY1ExWYZ20ViFTbqgW2GdJGHz4XwJhBln0ZVpHD+tKXy3GBEY+2Ee4qoqHi6tDrFgPvJqw==} + /@sentry/core@7.112.2: + resolution: {integrity: sha512-gHPCcJobbMkk0VR18J65WYQTt3ED4qC6X9lHKp27Ddt63E+MDGkG6lvYBU1LS8cV7CdyBGC1XXDCfor61GvLsA==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.1 - '@sentry/utils': 7.112.1 + '@sentry/types': 7.112.2 + '@sentry/utils': 7.112.2 /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1258,27 +1258,27 @@ packages: - supports-color dev: false - /@sentry/integrations@7.112.1: - resolution: {integrity: sha512-jIgXT+ahUS7zmhDMAzsgQHCNA6ZwZAp0Bwjoz0tcuGzNcv7mOCnjHz5YooJVQgXuREV653RmEuGGTklrpn6S2w==} + /@sentry/integrations@7.112.2: + resolution: {integrity: sha512-ioC2yyU6DqtLkdmWnm87oNvdn2+9oKctJeA4t+jkS6JaJ10DcezjCwiLscX4rhB9aWJV3IWF7Op0O6K3w0t2Hg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.1 - '@sentry/types': 7.112.1 - '@sentry/utils': 7.112.1 + '@sentry/core': 7.112.2 + '@sentry/types': 7.112.2 + '@sentry/utils': 7.112.2 localforage: 1.10.0 - /@sentry/node@7.112.1: - resolution: {integrity: sha512-4nGqP133jDNgPADJMR+pTroo9TTYyrXuGVI1RO2lhZpLbRu7ksR6hgsQE00+0L/EhPM4IiW75iwwHePFwqWY6A==} + /@sentry/node@7.112.2: + resolution: {integrity: sha512-MNzkqER8jc2xOS3ArkCLH5hakzu15tcjeC7qjU7rQ1Ms4WuV+MG0docSRESux0/p23Qjzf9tZOc8C5Eq+Sxduw==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.112.1 - '@sentry/core': 7.112.1 - '@sentry/integrations': 7.112.1 - '@sentry/types': 7.112.1 - '@sentry/utils': 7.112.1 + '@sentry-internal/tracing': 7.112.2 + '@sentry/core': 7.112.2 + '@sentry/integrations': 7.112.2 + '@sentry/types': 7.112.2 + '@sentry/utils': 7.112.2 - /@sentry/profiling-node@7.112.1: - resolution: {integrity: sha512-NKAcGJQde97EGtx7YYaJQPuZ8K/RXyv/BCh7AOHm9EgLTV4oCG8BAYzSd/euVJWmNDLX1mT7ejYRXKsg9HJ1/w==} + /@sentry/profiling-node@7.112.2: + resolution: {integrity: sha512-qCLJjQHW5mkDuh12MuqVVZfhdC20pJ4Vlmo/VO8orsDCcdVxDyO2N5SSe54epcBtuzUYOBsjomXyGiXw8sd2dA==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true @@ -1287,15 +1287,15 @@ packages: node-abi: 3.56.0 dev: true - /@sentry/types@7.112.1: - resolution: {integrity: sha512-5dLIxWZfCXH5kExrsWc+R6loMr3RR6OQuonVNL3Fa8Dw37Q7aExCrjRmocOHeQKhHwNBd3QhYm7phjnbxS6Oaw==} + /@sentry/types@7.112.2: + resolution: {integrity: sha512-kCMLt7yhY5OkWE9MeowlTNmox9pqDxcpvqguMo4BDNZM5+v9SEb1AauAdR78E1a1V8TyCzjBD7JDfXWhvpYBcQ==} engines: {node: '>=8'} - /@sentry/utils@7.112.1: - resolution: {integrity: sha512-/AMGDD6OMvT2cpfL5KuDC10oTS8yOt7BAPomXJNS/xn1TRcEEEZ1TWbYZiGT5ijggQEL1OXSojpeQU8XEW8dcQ==} + /@sentry/utils@7.112.2: + resolution: {integrity: sha512-OjLh0hx0t1EcL4ZIjf+4svlmmP+tHUDGcr5qpFWH78tjmkPW4+cqPuZCZfHSuWcDdeiaXi8TnYoVRqDcJKK/eQ==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.1 + '@sentry/types': 7.112.2 /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} From b4123e473e45aa8dbd44c0410d1c0d11f3e50a95 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 15:48:46 +0000 Subject: [PATCH 314/452] chore(deps): update vitest monorepo to v1.5.1 (#1914) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index e0b9e6f7e..b4be748ce 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "@sentry/profiling-node": "7.112.2", "@slonik/migrator": "0.12.0", "@types/node": "20.12.7", - "@vitest/coverage-v8": "1.5.0", + "@vitest/coverage-v8": "1.5.1", "esbuild": "0.20.2", "eslint": "9.1.1", "eslint-config-prettier": "9.1.0", @@ -39,7 +39,7 @@ "prettier": "3.2.5", "typescript": "5.4.5", "typescript-eslint": "^7.6.0", - "vitest": "1.5.0" + "vitest": "1.5.1" }, "dependencies": { "@fastify/sensible": "^5.5.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 19b5c4e91..ef9476b1f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -61,8 +61,8 @@ importers: specifier: 20.12.7 version: 20.12.7 '@vitest/coverage-v8': - specifier: 1.5.0 - version: 1.5.0(vitest@1.5.0) + specifier: 1.5.1 + version: 1.5.1(vitest@1.5.1) esbuild: specifier: 0.20.2 version: 0.20.2 @@ -88,8 +88,8 @@ importers: specifier: ^7.6.0 version: 7.6.0(eslint@9.1.1)(typescript@5.4.5) vitest: - specifier: 1.5.0 - version: 1.5.0(@types/node@20.12.7) + specifier: 1.5.1 + version: 1.5.1(@types/node@20.12.7) apps/main: dependencies: @@ -1473,10 +1473,10 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@vitest/coverage-v8@1.5.0(vitest@1.5.0): - resolution: {integrity: sha512-1igVwlcqw1QUMdfcMlzzY4coikSIBN944pkueGi0pawrX5I5Z+9hxdTR+w3Sg6Q3eZhvdMAs8ZaF9JuTG1uYOQ==} + /@vitest/coverage-v8@1.5.1(vitest@1.5.1): + resolution: {integrity: sha512-Zx+dYEDcZg+44ksjIWvWosIGlPLJB1PPpN3O8+Xrh/1qa7WSFA6Y8H7lsZJTYrxu4G2unk9tvP5TgjIGDliF1w==} peerDependencies: - vitest: 1.5.0 + vitest: 1.5.1 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -1491,43 +1491,43 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.0(@types/node@20.12.7) + vitest: 1.5.1(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.5.0: - resolution: {integrity: sha512-0pzuCI6KYi2SIC3LQezmxujU9RK/vwC1U9R0rLuGlNGcOuDWxqWKu6nUdFsX9tH1WU0SXtAxToOsEjeUn1s3hA==} + /@vitest/expect@1.5.1: + resolution: {integrity: sha512-w3Bn+VUMqku+oWmxvPhTE86uMTbfmBl35aGaIPlwVW7Q89ZREC/icfo2HBsEZ3AAW6YR9lObfZKPEzstw9tJOQ==} dependencies: - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 + '@vitest/spy': 1.5.1 + '@vitest/utils': 1.5.1 chai: 4.4.1 dev: true - /@vitest/runner@1.5.0: - resolution: {integrity: sha512-7HWwdxXP5yDoe7DTpbif9l6ZmDwCzcSIK38kTSIt6CFEpMjX4EpCgT6wUmS0xTXqMI6E/ONmfgRKmaujpabjZQ==} + /@vitest/runner@1.5.1: + resolution: {integrity: sha512-mt372zsz0vFR7L1xF/ert4t+teD66oSuXoTyaZbl0eJgilvyzCKP1tJ21gVa8cDklkBOM3DLnkE1ljj/BskyEw==} dependencies: - '@vitest/utils': 1.5.0 + '@vitest/utils': 1.5.1 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.5.0: - resolution: {integrity: sha512-qpv3fSEuNrhAO3FpH6YYRdaECnnRjg9VxbhdtPwPRnzSfHVXnNzzrpX4cJxqiwgRMo7uRMWDFBlsBq4Cr+rO3A==} + /@vitest/snapshot@1.5.1: + resolution: {integrity: sha512-h/1SGaZYXmjn6hULRBOlqam2z4oTlEe6WwARRzLErAPBqljAs6eX7tfdyN0K+MpipIwSZ5sZsubDWkCPAiVXZQ==} dependencies: magic-string: 0.30.8 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.5.0: - resolution: {integrity: sha512-vu6vi6ew5N5MMHJjD5PoakMRKYdmIrNJmyfkhRpQt5d9Ewhw9nZ5Aqynbi3N61bvk9UvZ5UysMT6ayIrZ8GA9w==} + /@vitest/spy@1.5.1: + resolution: {integrity: sha512-vsqczk6uPJjmPLy6AEtqfbFqgLYcGBe9BTY+XL8L6y8vrGOhyE23CJN9P/hPimKXnScbqiZ/r/UtUSOQ2jIDGg==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.5.0: - resolution: {integrity: sha512-BDU0GNL8MWkRkSRdNFvCUCAVOeHaUlVJ9Tx0TYBZyXaaOTmGtUFObzchCivIBrIwKzvZA7A9sCejVhXM2aY98A==} + /@vitest/utils@1.5.1: + resolution: {integrity: sha512-92pE17bBXUxA0Y7goPcvnATMCuq4NQLOmqsG0e2BtzRi7KLwZB5jpiELi/8ybY8IQNWemKjSD5rMoO7xTdv8ug==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -3887,8 +3887,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.5.0(@types/node@20.12.7): - resolution: {integrity: sha512-tV8h6gMj6vPzVCa7l+VGq9lwoJjW8Y79vst8QZZGiuRAfijU+EEWuc0kFpmndQrWhMMhet1jdSF+40KSZUqIIw==} + /vite-node@1.5.1(@types/node@20.12.7): + resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -3944,15 +3944,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.5.0(@types/node@20.12.7): - resolution: {integrity: sha512-d8UKgR0m2kjdxDWX6911uwxout6GHS0XaGH1cksSIVVG8kRlE7G7aBw7myKQCvDI5dT4j7ZMa+l706BIORMDLw==} + /vitest@1.5.1(@types/node@20.12.7): + resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.0 - '@vitest/ui': 1.5.0 + '@vitest/browser': 1.5.1 + '@vitest/ui': 1.5.1 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3970,11 +3970,11 @@ packages: optional: true dependencies: '@types/node': 20.12.7 - '@vitest/expect': 1.5.0 - '@vitest/runner': 1.5.0 - '@vitest/snapshot': 1.5.0 - '@vitest/spy': 1.5.0 - '@vitest/utils': 1.5.0 + '@vitest/expect': 1.5.1 + '@vitest/runner': 1.5.1 + '@vitest/snapshot': 1.5.1 + '@vitest/spy': 1.5.1 + '@vitest/utils': 1.5.1 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -3988,7 +3988,7 @@ packages: tinybench: 2.6.0 tinypool: 0.8.3 vite: 5.2.7(@types/node@20.12.7) - vite-node: 1.5.0(@types/node@20.12.7) + vite-node: 1.5.1(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From aface92309d335f6a004d8c6e2996131bb01c565 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 18:38:50 +0000 Subject: [PATCH 315/452] fix(deps): update dependency pino to v8.21.0 (#1916) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ef9476b1f..c35fb85e3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -28,7 +28,7 @@ importers: version: 4.26.2 pino: specifier: ^8.19.0 - version: 8.20.0 + version: 8.21.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 @@ -162,7 +162,7 @@ importers: dependencies: pino: specifier: ^8.18.0 - version: 8.20.0 + version: 8.21.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 @@ -3152,6 +3152,13 @@ packages: split2: 4.2.0 dev: false + /pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + dependencies: + readable-stream: 4.5.2 + split2: 4.2.0 + dev: false + /pino-pretty@11.0.0: resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} hasBin: true @@ -3193,21 +3200,21 @@ packages: thread-stream: 2.4.1 dev: false - /pino@8.20.0: - resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} + /pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 + pino-abstract-transport: 1.2.0 pino-std-serializers: 6.2.2 process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 - thread-stream: 2.4.1 + thread-stream: 2.7.0 dev: false /pkg-types@1.0.3: @@ -3702,6 +3709,12 @@ packages: real-require: 0.2.0 dev: false + /thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + dependencies: + real-require: 0.2.0 + dev: false + /tinybench@2.6.0: resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} dev: true From 3e76d6f676cba99b6ba9a849bb232c0c5f82a2aa Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 24 Apr 2024 22:49:00 +0000 Subject: [PATCH 316/452] fix(deps): update dependency @fastify/sensible to v5.6.0 (#1918) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c35fb85e3..7e11b4161 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,7 +10,7 @@ importers: dependencies: '@fastify/sensible': specifier: ^5.5.0 - version: 5.5.0 + version: 5.6.0 '@rustymotors/database': specifier: workspace:^ version: link:packages/database @@ -119,7 +119,7 @@ importers: dependencies: '@fastify/sensible': specifier: ^5.5.0 - version: 5.5.0 + version: 5.6.0 '@rustymotors/shared': specifier: workspace:^ version: link:../shared @@ -857,8 +857,8 @@ packages: fast-deep-equal: 3.1.3 dev: false - /@fastify/sensible@5.5.0: - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + /@fastify/sensible@5.6.0: + resolution: {integrity: sha512-Vq6Z2ZQy10GDqON+hvLF52K99s9et5gVVxTul5n3SIAf0Kq5QjPRUKkAMT3zPAiiGvoHtS3APa/3uaxfDgCODQ==} dependencies: '@lukeed/ms': 2.0.2 fast-deep-equal: 3.1.3 From a2a2f224e8bee03ce480e8d6ee398c2bc8272f99 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 05:08:02 +0000 Subject: [PATCH 317/452] chore(deps): update dependency @types/node to v20.12.10 (#1920) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 56 +++++++++++++++++++++++++------------------------- 2 files changed, 29 insertions(+), 29 deletions(-) diff --git a/package.json b/package.json index b4be748ce..d24550750 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@sentry/node": "7.112.2", "@sentry/profiling-node": "7.112.2", "@slonik/migrator": "0.12.0", - "@types/node": "20.12.7", + "@types/node": "20.12.10", "@vitest/coverage-v8": "1.5.1", "esbuild": "0.20.2", "eslint": "9.1.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7e11b4161..c0bf31f37 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -56,10 +56,10 @@ importers: version: 7.112.2 '@slonik/migrator': specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.7)(slonik@40.2.6) + version: 0.12.0(@types/node@20.12.10)(slonik@40.2.6) '@types/node': - specifier: 20.12.7 - version: 20.12.7 + specifier: 20.12.10 + version: 20.12.10 '@vitest/coverage-v8': specifier: 1.5.1 version: 1.5.1(vitest@1.5.1) @@ -89,7 +89,7 @@ importers: version: 7.6.0(eslint@9.1.1)(typescript@5.4.5) vitest: specifier: 1.5.1 - version: 1.5.1(@types/node@20.12.7) + version: 1.5.1(@types/node@20.12.10) apps/main: dependencies: @@ -1082,7 +1082,7 @@ packages: dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.7): + /@rushstack/node-core-library@4.0.2(@types/node@20.12.10): resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} peerDependencies: '@types/node': '*' @@ -1090,7 +1090,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 fs-extra: 7.0.1 import-lazy: 4.0.0 jju: 1.4.0 @@ -1099,7 +1099,7 @@ packages: z-schema: 5.0.5 dev: true - /@rushstack/terminal@0.10.0(@types/node@20.12.7): + /@rushstack/terminal@0.10.0(@types/node@20.12.10): resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} peerDependencies: '@types/node': '*' @@ -1107,15 +1107,15 @@ packages: '@types/node': optional: true dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.7) - '@types/node': 20.12.7 + '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10) + '@types/node': 20.12.10 supports-color: 8.1.1 dev: true - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.7): + /@rushstack/ts-command-line@4.19.1(@types/node@20.12.10): resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.7) + '@rushstack/terminal': 0.10.0(@types/node@20.12.10) '@types/argparse': 1.0.38 argparse: 1.0.10 string-argv: 0.3.2 @@ -1301,14 +1301,14 @@ packages: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.7)(slonik@40.2.6): + /@slonik/migrator@0.12.0(@types/node@20.12.10)(slonik@40.2.6): resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} peerDependencies: slonik: 27 - 29 dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) slonik: 40.2.6(zod@3.23.4) - umzug: 3.7.0(@types/node@20.12.7) + umzug: 3.7.0(@types/node@20.12.10) transitivePeerDependencies: - '@types/node' dev: true @@ -1325,15 +1325,15 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + /@types/node@20.12.10: + resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.5: resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -1491,7 +1491,7 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.1(@types/node@20.12.7) + vitest: 1.5.1(@types/node@20.12.10) transitivePeerDependencies: - supports-color dev: true @@ -3839,11 +3839,11 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.7): + /umzug@3.7.0(@types/node@20.12.10): resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} engines: {node: '>=12'} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.7) + '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) emittery: 0.13.1 glob: 8.1.0 pony-cause: 2.1.10 @@ -3900,7 +3900,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.5.1(@types/node@20.12.7): + /vite-node@1.5.1(@types/node@20.12.10): resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3909,7 +3909,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.7) + vite: 5.2.7(@types/node@20.12.10) transitivePeerDependencies: - '@types/node' - less @@ -3921,7 +3921,7 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.7): + /vite@5.2.7(@types/node@20.12.10): resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3949,7 +3949,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.13.2 @@ -3957,7 +3957,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.5.1(@types/node@20.12.7): + /vitest@1.5.1(@types/node@20.12.10): resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3982,7 +3982,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.10 '@vitest/expect': 1.5.1 '@vitest/runner': 1.5.1 '@vitest/snapshot': 1.5.1 @@ -4000,8 +4000,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.6.0 tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.7) - vite-node: 1.5.1(@types/node@20.12.7) + vite: 5.2.7(@types/node@20.12.10) + vite-node: 1.5.1(@types/node@20.12.10) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From b47a3a64a1492874b99550c46c1976a7bbcd93ce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 08:14:11 +0000 Subject: [PATCH 318/452] chore(deps): update pnpm to v8.15.8 (#1921) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d24550750..999e92500 100644 --- a/package.json +++ b/package.json @@ -55,5 +55,5 @@ "tsx": "^4.7.1", "zod": "^3.22.4" }, - "packageManager": "pnpm@8.15.7" + "packageManager": "pnpm@8.15.8" } From 0129700e7f2ac78fb0cfa193a12366b229fc5fb2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 12:01:01 +0000 Subject: [PATCH 319/452] fix(deps): update dependency zod to v3.23.6 (#1922) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c0bf31f37..c49dbc3c5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -37,13 +37,13 @@ importers: version: 5.0.3 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.4) + version: 40.2.6(zod@3.23.6) tsx: specifier: ^4.7.1 version: 4.7.2 zod: specifier: ^3.22.4 - version: 3.23.4 + version: 3.23.6 devDependencies: '@eslint/js': specifier: ^9.0.0 @@ -110,10 +110,10 @@ importers: version: 7.112.2 slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.4) + version: 40.2.6(zod@3.23.6) zod: specifier: ^3.22.4 - version: 3.23.4 + version: 3.23.6 packages/gateway: dependencies: @@ -1307,7 +1307,7 @@ packages: slonik: 27 - 29 dependencies: '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) - slonik: 40.2.6(zod@3.23.4) + slonik: 40.2.6(zod@3.23.6) umzug: 3.7.0(@types/node@20.12.10) transitivePeerDependencies: - '@types/node' @@ -3554,7 +3554,7 @@ packages: engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.23.4): + /slonik@40.2.6(zod@3.23.6): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: @@ -3572,7 +3572,7 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.23.4 + zod: 3.23.6 transitivePeerDependencies: - pg-native @@ -4084,5 +4084,5 @@ packages: commander: 9.5.0 dev: true - /zod@3.23.4: - resolution: {integrity: sha512-/AtWOKbBgjzEYYQRNfoGKHObgfAZag6qUJX1VbHo2PRBgS+wfWagEY2mizjfyAPcGesrJOcx/wcl0L9WnVrHFw==} + /zod@3.23.6: + resolution: {integrity: sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==} From 504c029cd14f83d3b6e625c9aea6ca671e6993a6 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Thu, 9 May 2024 12:02:37 -0400 Subject: [PATCH 320/452] system rebuild (#1909) * Saving because it's bedtime. Not that this is remotly working * Refactor database model initialization in migrate.ts and models to use getDatabase() function * Add new database tables and configuration files * Add new database tables for player types, driver classes, part grades, attachment points, part types, branded parts, and parts * Add new database tables for user, player types, driver classes, attachment points, and skin types * save point * saving * saving * Update package.json files with new license (AGPL-3.0) * Update database tables and schema files * chore: Update npm dependencies and fix code formatting * Update packages/cli/ScheduledThread.ts Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> * Update GatewayServer.ts and GameMessage.ts * Update handleGetMiniUserList function signature * Update encryption functions to log error and throw an error when the key is too short * refactor: Remove unused import in clientConnect.test.ts * Update cipher support verification to throw an error if DES-CBC or RC4 ciphers are not available * Update error classes and packet serialization methods * Update node.yml * Update node.yml * Update npm dependencies and fix code formatting * refactor: Improve logging and error handling in Connection class * Update node.yml * remove transactions * chore: Update codecov configuration for new components * refactor: Improve logging and error handling in Connection class --------- Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- .github/codecov.yml | 57 +- .github/workflows/node.yml | 13 +- .nvmrc | 2 +- apps/main/package.json | 2 +- apps/main/server.d.ts | 1 - apps/main/server.ts | 139 +- build.mjs | 2 +- drizzle.config.ts | 16 + drizzle/meta/_journal.json | 1 + drizzle/schema.ts | 163 ++ migrate.ts | 11 - package.json | 31 +- packages/cli/ConsoleThread.d.ts | 31 - packages/cli/ConsoleThread.ts | 7 +- packages/cli/MessageQueue.ts | 70 + packages/cli/ScheduledThread.ts | 53 + packages/cli/package.json | 2 +- .../connection/index.ts | 0 packages/connection/package.json | 22 + packages/connection/src/Connection.ts | 372 ++++ packages/connection/test/Connection.test.ts | 72 + packages/core/src/serializationHelpers.d.ts | 96 - .../core/src/serializationHelpers.test.d.ts | 1 - packages/database/index.d.ts | 14 - packages/database/index.ts | 10 +- packages/database/package.json | 5 +- packages/database/src/DatabaseManager.d.ts | 55 - packages/database/src/DatabaseManager.ts | 15 +- packages/database/src/cache.d.ts | 12 - packages/database/src/cache.ts | 52 - .../database/src/functions/createNewCar.ts | 242 +++ .../src/functions/getAbstractPartTypeId.ts | 55 + .../src/functions/getWarehouseInventory.ts | 121 ++ .../src/functions/transferPartAssembly.ts | 155 ++ .../database/src/models/AttachmentPoint.d.ts | 41 - .../database/src/models/AttachmentPoint.ts | 82 - packages/database/src/models/Brand.d.ts | 5 - packages/database/src/models/Brand.ts | 5 - packages/database/src/models/BrandedPart.d.ts | 10 - packages/database/src/models/BrandedPart.ts | 10 - packages/database/src/models/Model.d.ts | 30 - packages/database/src/models/Model.ts | 30 - packages/database/src/models/Part.d.ts | 12 - packages/database/src/models/Part.ts | 12 - .../database/src/models/VehiclePartTree.d.ts | 57 - .../database/src/models/VehiclePartTree.ts | 584 ----- packages/database/src/seeders/index.ts | 200 ++ .../src/seeders/populateAbstractPartType.ts | 55 + .../database/src/seeders/populateBrand.ts | 121 ++ .../src/seeders/populateBrandedPart.ts | 113 + .../database/src/seeders/populateModel.ts | 125 ++ .../database/src/seeders/populatePartGrade.ts | 34 + .../database/src/seeders/populatePartType.ts | 98 + .../database/src/seeders/populatePlayer.ts | 82 + .../src/seeders/populatePlayerType.ts | 28 + packages/database/src/seeders/populateSkin.ts | 92 + .../database/src/seeders/populateSkinType.ts | 29 + .../database/src/seeders/populateWarehouse.ts | 124 ++ packages/database/src/services/admin.d.ts | 17 - packages/database/src/services/admin.ts | 79 +- packages/database/src/services/database.d.ts | 5 - packages/database/src/services/database.ts | 100 +- packages/database/test/Database.test.d.ts | 1 - packages/database/test/Database.test.ts | 15 +- packages/gateway/index.ts | 1 + packages/gateway/package.json | 2 +- packages/gateway/src/GatewayServer.d.ts | 121 -- packages/gateway/src/GatewayServer.ts | 66 +- packages/gateway/src/encryption.ts | 9 +- packages/gateway/src/handleGameMessage.ts | 115 + packages/gateway/src/index.ts | 191 +- packages/gateway/src/web.ts | 43 +- packages/gateway/test/GatewayServer.test.d.ts | 1 - packages/gateway/test/GatewayServer.test.ts | 9 + packages/gateway/test/encryption.test.d.ts | 1 - .../gateway/test/socketErrorHandler.test.d.ts | 1 - packages/interfaces/index.d.ts | 187 -- packages/lobby/package.json | 2 +- packages/lobby/src/LoginInfoMessage.d.ts | 24 - packages/lobby/src/LoginInfoMessage.ts | 4 +- .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts | 14 - .../lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts | 8 - packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts | 7 - packages/lobby/src/UserInfoMessage.d.ts | 33 - .../lobby/src/handlers/_setMyUserData.d.ts | 13 - .../lobby/src/handlers/encryptedCommand.d.ts | 71 - .../src/handlers/handleGetMiniUserList.d.ts | 19 - .../src/handlers/handleGetMiniUserList.ts | 2 +- .../src/handlers/handleSendMiniRiffList.d.ts | 19 - .../src/handlers/handleSendMiniRiffList.ts | 6 +- .../src/handlers/handleTrackingPing.d.ts | 13 - .../handlers/requestConnectGameServer.d.ts | 28 - packages/lobby/src/internal.d.ts | 51 - .../handlers/handleSendMiniRiffList.test.d.ts | 1 - .../handlers/handleSendMiniRiffList.test.ts | 2 +- packages/login/package.json | 2 +- packages/login/src/NPSUserStatus.d.ts | 62 - packages/login/src/NPSUserStatus.ts | 6 +- .../login/src/NPS_LOGINCLIENT_COMMANDS.d.ts | 14 - packages/login/src/NPS_LOGIN_COMMANDS.d.ts | 7 - packages/login/src/index.d.ts | 51 - packages/login/src/index.ts | 18 +- packages/login/src/internal.d.ts | 53 - packages/login/src/internal.ts | 8 +- packages/login/src/premadeLogin.d.ts | 7 - packages/login/test/LoginServer.test.d.ts | 1 - packages/login/test/LoginServer.test.ts | 4 +- packages/mcots/ClientConnectionManager.ts | 49 + packages/mcots/errors/ErrorNoKey.ts | 5 + packages/mcots/index.ts | 7 + packages/mcots/messageProcessors/index.ts | 42 + .../messageProcessors/processClientConnect.ts | 86 + .../processClientTracking.ts | 27 + .../messageProcessors/processServerLogin.ts | 37 + .../messageProcessors/processSetOptions.ts | 28 + .../messageProcessors/processStockCarInfo.ts | 105 + .../mcots/messageProcessors/sendSuccess.ts | 17 + packages/{interfaces => mcots}/package.json | 9 +- .../mcots/payloads/ClientConnectMessage.ts | 72 + .../mcots/payloads/ClientTrackingMessage.ts | 44 + .../mcots/payloads/LoginCompleteMessage.ts | 231 ++ packages/mcots/payloads/LoginMessage.ts | 86 + packages/mcots/payloads/SetOptionsMessage.ts | 78 + packages/mcots/payloads/StockCar.ts | 120 ++ packages/mcots/types.ts | 0 packages/nps/index.d.ts | 20 - packages/nps/index.ts | 9 +- .../messageProcessors/getLobMiniRiffList.d.ts | 5 - .../messageProcessors/getLobMiniUserList.d.ts | 5 - packages/nps/messageProcessors/index.d.ts | 28 - packages/nps/messageProcessors/index.ts | 25 +- .../nps/messageProcessors/lobbyCommands.d.ts | 6 - .../processCheckPlateText.d.ts | 7 - .../processCheckPlateText.ts | 19 +- .../processCheckProfileName.d.ts | 7 - .../processCheckProfileName.ts | 8 +- .../processCreateProfile.d.ts | 7 - .../messageProcessors/processCreateProfile.ts | 13 +- .../processDeleteProfile.d.ts | 17 - .../messageProcessors/processDeleteProfile.ts | 6 +- .../processEncryptedGameCommand.d.ts | 7 - .../processEncryptedGameCommand.ts | 39 +- .../messageProcessors/processGameLogin.d.ts | 7 - .../nps/messageProcessors/processGameLogin.ts | 230 +- .../processGetFirstBuddy.d.ts | 7 - .../messageProcessors/processGetFirstBuddy.ts | 8 +- .../processGetProfileInfo.d.ts | 7 - .../processGetProfileInfo.ts | 10 +- .../processGetProfileMaps.d.ts | 7 - .../processGetProfileMaps.ts | 10 +- .../messageProcessors/processLobbyLogin.d.ts | 7 - .../messageProcessors/processLobbyLogin.ts | 63 - .../nps/messageProcessors/processPing.d.ts | 7 - packages/nps/messageProcessors/processPing.ts | 7 +- .../messageProcessors/processSelectPersona.ts | 57 + .../messageProcessors/processUserLogin.d.ts | 18 - .../nps/messageProcessors/processUserLogin.ts | 230 +- packages/nps/messageStructs/GameMessage.d.ts | 45 - packages/nps/messageStructs/GameMessage.ts | 9 +- packages/nps/messageStructs/GameProfile.d.ts | 36 - packages/nps/messageStructs/GameProfile.ts | 18 +- packages/nps/messageStructs/MiniRiffList.d.ts | 25 - packages/nps/messageStructs/MiniUserList.d.ts | 21 - packages/nps/messageStructs/NPSList.d.ts | 14 - packages/nps/messageStructs/ProfileList.d.ts | 19 - packages/nps/messageStructs/SessionKey.d.ts | 19 - packages/nps/messageStructs/SessionKey.ts | 58 +- packages/nps/messageStructs/UserAction.d.ts | 17 - packages/nps/messageStructs/UserAction.ts | 105 +- packages/nps/messageStructs/UserInfo.d.ts | 12 - packages/nps/messageStructs/UserStatus.d.ts | 39 - packages/nps/messageStructs/UserStatus.ts | 123 +- packages/nps/package.json | 2 +- packages/nps/services/account.d.ts | 18 - packages/nps/services/account.ts | 110 +- packages/nps/services/profile.d.ts | 14 - packages/nps/services/profile.ts | 51 +- packages/nps/services/session.d.ts | 70 - packages/nps/services/session.ts | 173 -- packages/nps/services/token.d.ts | 12 - packages/nps/services/types.d.ts | 17 - packages/nps/src/EncryptionSession.ts | 68 + packages/nps/src/UserStatusManager.ts | 80 + packages/nps/types.d.ts | 22 - packages/nps/utils/pureCompare.d.ts | 6 - packages/nps/utils/pureCompare.ts | 22 + packages/nps/utils/pureGet.d.ts | 28 - packages/nps/utils/purePut.d.ts | 55 - packages/patch/package.json | 2 +- packages/patch/src/PatchServer.d.ts | 76 - packages/patch/src/PatchServer.ts | 12 +- packages/patch/test/PatchServer.test.d.ts | 1 - packages/patch/test/PatchServer.test.ts | 5 +- packages/persona/index.ts | 1 + packages/persona/package.json | 2 +- packages/persona/src/BuddyInfoMessage.d.ts | 45 - packages/persona/src/PersonaMapsMessage.d.ts | 100 - packages/persona/src/_gameLogout.d.ts | 22 - packages/persona/src/_getFirstBuddy.d.ts | 25 - packages/persona/src/_selectGamePersona.d.ts | 25 - .../persona/src/getPersonasByPersonaId.d.ts | 13 - .../src/handlers/validatePersonaName.d.ts | 16 - packages/persona/src/internal.d.ts | 64 - .../test/getPersonasByPersonaId.test.d.ts | 1 - packages/shard/package.json | 2 +- packages/shard/src/index.d.ts | 19 - packages/shard/test/shard-entry.test.d.ts | 1 - packages/shared-packets/index.d.ts | 2 - packages/shared-packets/index.ts | 10 + packages/shared-packets/package.json | 2 +- packages/shared-packets/src/BasePacket.d.ts | 18 - packages/shared-packets/src/BasePacket.ts | 10 +- packages/shared-packets/src/GameMessage.d.ts | 44 - packages/shared-packets/src/GameMessage.ts | 4 +- .../shared-packets/src/ServerMessage.d.ts | 47 - packages/shared-packets/src/ServerMessage.ts | 247 ++- packages/shared-packets/src/interfaces.d.ts | 14 - packages/shared-packets/src/interfaces.ts | 3 +- packages/shared-packets/src/utils.ts | 5 + packages/shared/Configuration.d.ts | 37 - packages/shared/MessageNode.d.ts | 31 - packages/shared/ServerMessage.test.d.ts | 1 - packages/shared/ServerMessage.test.ts | 31 - packages/shared/State.d.ts | 433 ---- packages/shared/SubThread.d.ts | 16 - packages/shared/SubThread.ts | 6 +- packages/shared/Timestamp.d.ts | 17 - packages/shared/index.d.ts | 39 - packages/shared/index.ts | 22 +- packages/shared/log.d.ts | 61 - packages/shared/messageFactory.d.ts | 352 --- packages/shared/messageFactory.ts | 65 +- packages/shared/package.json | 6 +- packages/shared/src/BaseSerialized.d.ts | 24 - packages/shared/src/NetworkMessage.d.ts | 24 - packages/shared/src/RawMessage.d.ts | 14 - packages/shared/src/SerializedBuffer.d.ts | 10 - packages/shared/src/SerializedBuffer.ts | 4 +- packages/shared/src/ServerMessage.d.ts | 33 - packages/shared/src/encryption.ts | 84 + packages/shared/{ => src}/log.ts | 17 +- packages/shared/{ => src}/types.ts | 10 +- packages/shared/src/utils.ts | 8 + packages/shared/structs.d.ts | 74 - packages/shared/test/BaseSerialized.test.d.ts | 1 - packages/shared/test/RawMessage.test.d.ts | 1 - .../shared/test/SerializedBuffer.test.d.ts | 1 - packages/shared/test/index.ts | 16 + packages/shared/types.d.ts | 21 - packages/transactions/package.json | 13 - .../transactions/src/ArcadeCarMessage.d.ts | 29 - packages/transactions/src/ArcadeCarMessage.ts | 99 - .../src/EntryFeePurseMessage.d.ts | 35 - .../transactions/src/EntryFeePurseMessage.ts | 122 -- .../transactions/src/GameUrlsMessage.d.ts | 29 - packages/transactions/src/GameUrlsMessage.ts | 99 - .../transactions/src/GenericReplyMessage.d.ts | 67 - .../transactions/src/GenericReplyMessage.ts | 173 -- .../src/GenericRequestMessage.d.ts | 32 - .../transactions/src/GenericRequestMessage.ts | 82 - packages/transactions/src/LobbyMessage.d.ts | 128 -- packages/transactions/src/LobbyMessage.ts | 728 ------- .../src/OwnedVehiclesMessage.d.ts | 28 - .../transactions/src/OwnedVehiclesMessage.ts | 96 - .../src/PartsAssemblyMessage.d.ts | 27 - .../transactions/src/PartsAssemblyMessage.ts | 101 - .../transactions/src/PlayerInfoMessage.d.ts | 50 - .../transactions/src/PlayerInfoMessage.ts | 217 -- .../src/PlayerPhysicalMessage.d.ts | 16 - .../transactions/src/PlayerPhysicalMessage.ts | 67 - .../src/PlayerRacingHistoryMessage.d.ts | 30 - .../src/PlayerRacingHistoryMessage.ts | 164 -- packages/transactions/src/StockCar.d.ts | 34 - packages/transactions/src/StockCar.ts | 56 - .../transactions/src/StockCarInfoMessage.d.ts | 48 - .../transactions/src/StockCarInfoMessage.ts | 104 - .../src/TClientConnectMessage.d.ts | 20 - .../transactions/src/TClientConnectMessage.ts | 97 - packages/transactions/src/TLoginMessage.d.ts | 50 - packages/transactions/src/TLoginMessage.ts | 205 -- .../transactions/src/TunablesMessage.d.ts | 39 - packages/transactions/src/TunablesMessage.ts | 181 -- .../transactions/src/_getArcadeCarInfo.d.ts | 10 - .../transactions/src/_getArcadeCarInfo.ts | 36 - packages/transactions/src/_getGameUrls.d.ts | 10 - packages/transactions/src/_getGameUrls.ts | 36 - packages/transactions/src/_getOwnedParts.d.ts | 6 - packages/transactions/src/_getOwnedParts.ts | 39 - .../transactions/src/_getOwnedVehicles.d.ts | 9 - .../transactions/src/_getOwnedVehicles.ts | 49 - packages/transactions/src/_getPlayerInfo.d.ts | 4 - packages/transactions/src/_getPlayerInfo.ts | 33 - .../transactions/src/_getPlayerPhysical.d.ts | 6 - .../transactions/src/_getPlayerPhysical.ts | 30 - .../src/_getPlayerRaceHistory.d.ts | 26 - .../transactions/src/_getPlayerRaceHistory.ts | 86 - .../transactions/src/_getStockCarInfo.d.ts | 10 - packages/transactions/src/_getStockCarInfo.ts | 40 - packages/transactions/src/_getTunables.d.ts | 10 - packages/transactions/src/_getTunables.ts | 31 - packages/transactions/src/_logout.d.ts | 8 - packages/transactions/src/_logout.ts | 25 - packages/transactions/src/_setOptions.d.ts | 4 - packages/transactions/src/_setOptions.ts | 29 - .../src/_updatePlayerPhysical.d.ts | 4 - .../transactions/src/_updatePlayerPhysical.ts | 31 - packages/transactions/src/clientConnect.d.ts | 10 - packages/transactions/src/clientConnect.ts | 115 - packages/transactions/src/getLobbies.d.ts | 10 - packages/transactions/src/getLobbies.ts | 91 - packages/transactions/src/internal.d.ts | 29 - packages/transactions/src/internal.ts | 253 --- packages/transactions/src/login.d.ts | 15 - packages/transactions/src/login.ts | 89 - .../transactions/src/messageHandlers.d.ts | 2 - packages/transactions/src/messageHandlers.ts | 149 -- .../_getCompleteVehicleInfo.d.ts | 47 - .../_getCompleteVehicleInfo.spec.d.ts | 1 - .../_getCompleteVehicleInfo.spec.ts | 51 - .../_getCompleteVehicleInfo.ts | 264 --- .../messageHandlers/_updateCachedVehicle.d.ts | 10 - .../messageHandlers/_updateCachedVehicle.ts | 16 - .../src/messageStructs/CarInfoMessage.d.ts | 20 - .../src/messageStructs/CarInfoMessage.ts | 77 - .../messageStructs/PlayerOptionsMessage.d.ts | 25 - .../messageStructs/PlayerOptionsMessage.ts | 120 -- .../transactions/src/models/PartModel.d.ts | 34 - packages/transactions/src/models/PartModel.ts | 123 -- .../transactions/src/models/VehicleModel.d.ts | 25 - .../transactions/src/models/VehicleModel.ts | 71 - packages/transactions/src/models/index.d.ts | 4 - packages/transactions/src/models/index.ts | 4 - packages/transactions/src/services/car.d.ts | 6 - packages/transactions/src/services/car.ts | 26 - packages/transactions/src/trackingPing.d.ts | 10 - packages/transactions/src/trackingPing.ts | 28 - .../transactions/test/LobbyMessage.test.d.ts | 1 - .../transactions/test/LobbyMessage.test.ts | 100 - .../test/OwnedVehiclesMessage.test.d.ts | 1 - .../test/OwnedVehiclesMessage.test.ts | 38 - .../test/PartsAssemblyMessage.test.d.ts | 1 - .../test/PartsAssemblyMessage.test.ts | 48 - .../test/PlayerInfoMessage.test.d.ts | 1 - .../test/PlayerInfoMessage.test.ts | 18 - .../test/PlayerRacingHistoryMessage.test.d.ts | 1 - .../test/PlayerRacingHistoryMessage.test.ts | 8 - .../test/TClientConnectMessage.test.d.ts | 1 - .../test/TClientConnectMessage.test.ts | 30 - .../test/_getPlayerRaceHistory.test.d.ts | 1 - .../test/_getPlayerRaceHistory.test.ts | 22 - .../transactions/test/clientConnect.test.d.ts | 1 - .../transactions/test/clientConnect.test.ts | 38 - .../transactions/test/getLobbies.test.d.ts | 1 - packages/transactions/test/getLobbies.test.ts | 30 - .../transactions/test/trackingPing.test.d.ts | 1 - .../transactions/test/trackingPing.test.ts | 21 - packages/transactions/types.d.ts | 20 - packages/transactions/types.ts | 54 - pnpm-lock.yaml | 1884 +++++++++++------ schema/abstractPartType.ts | 50 + schema/attachmentPoint.ts | 20 + schema/brand.ts | 22 + schema/brandedPart.ts | 29 + schema/bytea.ts | 14 + schema/driverClass.ts | 19 + schema/key.ts | 20 + schema/model.ts | 42 + schema/part.ts | 34 + schema/partGrade.ts | 22 + schema/partType.ts | 27 + schema/player.ts | 91 + schema/playerType.ts | 19 + schema/profile.ts | 40 + schema/raceType.ts | 6 + schema/skin.ts | 89 + schema/skinType.ts | 13 + schema/stockAssembly.ts | 24 + schema/stockVehicleAttributes.ts | 28 + schema/svaCarClass.ts | 21 + schema/svaModeRestriction.ts | 21 + schema/tunables.ts | 67 + schema/user.ts | 23 + schema/vehicle.ts | 25 + schema/warehouse.ts | 26 + test/factoryMocks.d.ts | 6 - test/factoryMocks.ts | 55 - tsconfig.json | 6 +- 387 files changed, 7375 insertions(+), 12312 deletions(-) delete mode 100644 apps/main/server.d.ts create mode 100644 drizzle.config.ts create mode 100644 drizzle/meta/_journal.json create mode 100644 drizzle/schema.ts delete mode 100644 migrate.ts delete mode 100644 packages/cli/ConsoleThread.d.ts create mode 100644 packages/cli/MessageQueue.ts create mode 100644 packages/cli/ScheduledThread.ts rename thebeast/lib/index.d.ts => packages/connection/index.ts (100%) create mode 100644 packages/connection/package.json create mode 100644 packages/connection/src/Connection.ts create mode 100644 packages/connection/test/Connection.test.ts delete mode 100644 packages/core/src/serializationHelpers.d.ts delete mode 100644 packages/core/src/serializationHelpers.test.d.ts delete mode 100644 packages/database/index.d.ts delete mode 100644 packages/database/src/DatabaseManager.d.ts delete mode 100644 packages/database/src/cache.d.ts delete mode 100644 packages/database/src/cache.ts create mode 100644 packages/database/src/functions/createNewCar.ts create mode 100644 packages/database/src/functions/getAbstractPartTypeId.ts create mode 100644 packages/database/src/functions/getWarehouseInventory.ts create mode 100644 packages/database/src/functions/transferPartAssembly.ts delete mode 100644 packages/database/src/models/AttachmentPoint.d.ts delete mode 100644 packages/database/src/models/AttachmentPoint.ts delete mode 100644 packages/database/src/models/Brand.d.ts delete mode 100644 packages/database/src/models/Brand.ts delete mode 100644 packages/database/src/models/BrandedPart.d.ts delete mode 100644 packages/database/src/models/BrandedPart.ts delete mode 100644 packages/database/src/models/Model.d.ts delete mode 100644 packages/database/src/models/Model.ts delete mode 100644 packages/database/src/models/Part.d.ts delete mode 100644 packages/database/src/models/Part.ts delete mode 100644 packages/database/src/models/VehiclePartTree.d.ts delete mode 100644 packages/database/src/models/VehiclePartTree.ts create mode 100644 packages/database/src/seeders/index.ts create mode 100644 packages/database/src/seeders/populateAbstractPartType.ts create mode 100644 packages/database/src/seeders/populateBrand.ts create mode 100644 packages/database/src/seeders/populateBrandedPart.ts create mode 100644 packages/database/src/seeders/populateModel.ts create mode 100644 packages/database/src/seeders/populatePartGrade.ts create mode 100644 packages/database/src/seeders/populatePartType.ts create mode 100644 packages/database/src/seeders/populatePlayer.ts create mode 100644 packages/database/src/seeders/populatePlayerType.ts create mode 100644 packages/database/src/seeders/populateSkin.ts create mode 100644 packages/database/src/seeders/populateSkinType.ts create mode 100644 packages/database/src/seeders/populateWarehouse.ts delete mode 100644 packages/database/src/services/admin.d.ts delete mode 100644 packages/database/src/services/database.d.ts delete mode 100644 packages/database/test/Database.test.d.ts create mode 100644 packages/gateway/index.ts delete mode 100644 packages/gateway/src/GatewayServer.d.ts create mode 100644 packages/gateway/src/handleGameMessage.ts delete mode 100644 packages/gateway/test/GatewayServer.test.d.ts delete mode 100644 packages/gateway/test/encryption.test.d.ts delete mode 100644 packages/gateway/test/socketErrorHandler.test.d.ts delete mode 100644 packages/interfaces/index.d.ts delete mode 100644 packages/lobby/src/LoginInfoMessage.d.ts delete mode 100644 packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts delete mode 100644 packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts delete mode 100644 packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts delete mode 100644 packages/lobby/src/UserInfoMessage.d.ts delete mode 100644 packages/lobby/src/handlers/_setMyUserData.d.ts delete mode 100644 packages/lobby/src/handlers/encryptedCommand.d.ts delete mode 100644 packages/lobby/src/handlers/handleGetMiniUserList.d.ts delete mode 100644 packages/lobby/src/handlers/handleSendMiniRiffList.d.ts delete mode 100644 packages/lobby/src/handlers/handleTrackingPing.d.ts delete mode 100644 packages/lobby/src/handlers/requestConnectGameServer.d.ts delete mode 100644 packages/lobby/src/internal.d.ts delete mode 100644 packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts delete mode 100644 packages/login/src/NPSUserStatus.d.ts delete mode 100644 packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts delete mode 100644 packages/login/src/NPS_LOGIN_COMMANDS.d.ts delete mode 100644 packages/login/src/index.d.ts delete mode 100644 packages/login/src/internal.d.ts delete mode 100644 packages/login/src/premadeLogin.d.ts delete mode 100644 packages/login/test/LoginServer.test.d.ts create mode 100644 packages/mcots/ClientConnectionManager.ts create mode 100644 packages/mcots/errors/ErrorNoKey.ts create mode 100644 packages/mcots/index.ts create mode 100644 packages/mcots/messageProcessors/index.ts create mode 100644 packages/mcots/messageProcessors/processClientConnect.ts create mode 100644 packages/mcots/messageProcessors/processClientTracking.ts create mode 100644 packages/mcots/messageProcessors/processServerLogin.ts create mode 100644 packages/mcots/messageProcessors/processSetOptions.ts create mode 100644 packages/mcots/messageProcessors/processStockCarInfo.ts create mode 100644 packages/mcots/messageProcessors/sendSuccess.ts rename packages/{interfaces => mcots}/package.json (51%) create mode 100644 packages/mcots/payloads/ClientConnectMessage.ts create mode 100644 packages/mcots/payloads/ClientTrackingMessage.ts create mode 100644 packages/mcots/payloads/LoginCompleteMessage.ts create mode 100644 packages/mcots/payloads/LoginMessage.ts create mode 100644 packages/mcots/payloads/SetOptionsMessage.ts create mode 100644 packages/mcots/payloads/StockCar.ts create mode 100644 packages/mcots/types.ts delete mode 100644 packages/nps/index.d.ts delete mode 100644 packages/nps/messageProcessors/getLobMiniRiffList.d.ts delete mode 100644 packages/nps/messageProcessors/getLobMiniUserList.d.ts delete mode 100644 packages/nps/messageProcessors/index.d.ts delete mode 100644 packages/nps/messageProcessors/lobbyCommands.d.ts delete mode 100644 packages/nps/messageProcessors/processCheckPlateText.d.ts delete mode 100644 packages/nps/messageProcessors/processCheckProfileName.d.ts delete mode 100644 packages/nps/messageProcessors/processCreateProfile.d.ts delete mode 100644 packages/nps/messageProcessors/processDeleteProfile.d.ts delete mode 100644 packages/nps/messageProcessors/processEncryptedGameCommand.d.ts delete mode 100644 packages/nps/messageProcessors/processGameLogin.d.ts delete mode 100644 packages/nps/messageProcessors/processGetFirstBuddy.d.ts delete mode 100644 packages/nps/messageProcessors/processGetProfileInfo.d.ts delete mode 100644 packages/nps/messageProcessors/processGetProfileMaps.d.ts delete mode 100644 packages/nps/messageProcessors/processLobbyLogin.d.ts delete mode 100644 packages/nps/messageProcessors/processLobbyLogin.ts delete mode 100644 packages/nps/messageProcessors/processPing.d.ts create mode 100644 packages/nps/messageProcessors/processSelectPersona.ts delete mode 100644 packages/nps/messageProcessors/processUserLogin.d.ts delete mode 100644 packages/nps/messageStructs/GameMessage.d.ts delete mode 100644 packages/nps/messageStructs/GameProfile.d.ts delete mode 100644 packages/nps/messageStructs/MiniRiffList.d.ts delete mode 100644 packages/nps/messageStructs/MiniUserList.d.ts delete mode 100644 packages/nps/messageStructs/NPSList.d.ts delete mode 100644 packages/nps/messageStructs/ProfileList.d.ts delete mode 100644 packages/nps/messageStructs/SessionKey.d.ts delete mode 100644 packages/nps/messageStructs/UserAction.d.ts delete mode 100644 packages/nps/messageStructs/UserInfo.d.ts delete mode 100644 packages/nps/messageStructs/UserStatus.d.ts delete mode 100644 packages/nps/services/account.d.ts delete mode 100644 packages/nps/services/profile.d.ts delete mode 100644 packages/nps/services/session.d.ts delete mode 100644 packages/nps/services/session.ts delete mode 100644 packages/nps/services/token.d.ts delete mode 100644 packages/nps/services/types.d.ts create mode 100644 packages/nps/src/EncryptionSession.ts create mode 100644 packages/nps/src/UserStatusManager.ts delete mode 100644 packages/nps/types.d.ts delete mode 100644 packages/nps/utils/pureCompare.d.ts delete mode 100644 packages/nps/utils/pureGet.d.ts delete mode 100644 packages/nps/utils/purePut.d.ts delete mode 100644 packages/patch/src/PatchServer.d.ts delete mode 100644 packages/patch/test/PatchServer.test.d.ts create mode 100644 packages/persona/index.ts delete mode 100644 packages/persona/src/BuddyInfoMessage.d.ts delete mode 100644 packages/persona/src/PersonaMapsMessage.d.ts delete mode 100644 packages/persona/src/_gameLogout.d.ts delete mode 100644 packages/persona/src/_getFirstBuddy.d.ts delete mode 100644 packages/persona/src/_selectGamePersona.d.ts delete mode 100644 packages/persona/src/getPersonasByPersonaId.d.ts delete mode 100644 packages/persona/src/handlers/validatePersonaName.d.ts delete mode 100644 packages/persona/src/internal.d.ts delete mode 100644 packages/persona/test/getPersonasByPersonaId.test.d.ts delete mode 100644 packages/shard/src/index.d.ts delete mode 100644 packages/shard/test/shard-entry.test.d.ts delete mode 100644 packages/shared-packets/index.d.ts delete mode 100644 packages/shared-packets/src/BasePacket.d.ts delete mode 100644 packages/shared-packets/src/GameMessage.d.ts delete mode 100644 packages/shared-packets/src/ServerMessage.d.ts delete mode 100644 packages/shared-packets/src/interfaces.d.ts create mode 100644 packages/shared-packets/src/utils.ts delete mode 100644 packages/shared/Configuration.d.ts delete mode 100644 packages/shared/MessageNode.d.ts delete mode 100644 packages/shared/ServerMessage.test.d.ts delete mode 100644 packages/shared/ServerMessage.test.ts delete mode 100644 packages/shared/State.d.ts delete mode 100644 packages/shared/SubThread.d.ts delete mode 100644 packages/shared/Timestamp.d.ts delete mode 100644 packages/shared/index.d.ts delete mode 100644 packages/shared/log.d.ts delete mode 100644 packages/shared/messageFactory.d.ts delete mode 100644 packages/shared/src/BaseSerialized.d.ts delete mode 100644 packages/shared/src/NetworkMessage.d.ts delete mode 100644 packages/shared/src/RawMessage.d.ts delete mode 100644 packages/shared/src/SerializedBuffer.d.ts delete mode 100644 packages/shared/src/ServerMessage.d.ts create mode 100644 packages/shared/src/encryption.ts rename packages/shared/{ => src}/log.ts (87%) rename packages/shared/{ => src}/types.ts (73%) create mode 100644 packages/shared/src/utils.ts delete mode 100644 packages/shared/structs.d.ts delete mode 100644 packages/shared/test/BaseSerialized.test.d.ts delete mode 100644 packages/shared/test/RawMessage.test.d.ts delete mode 100644 packages/shared/test/SerializedBuffer.test.d.ts create mode 100644 packages/shared/test/index.ts delete mode 100644 packages/shared/types.d.ts delete mode 100644 packages/transactions/package.json delete mode 100644 packages/transactions/src/ArcadeCarMessage.d.ts delete mode 100644 packages/transactions/src/ArcadeCarMessage.ts delete mode 100644 packages/transactions/src/EntryFeePurseMessage.d.ts delete mode 100644 packages/transactions/src/EntryFeePurseMessage.ts delete mode 100644 packages/transactions/src/GameUrlsMessage.d.ts delete mode 100644 packages/transactions/src/GameUrlsMessage.ts delete mode 100644 packages/transactions/src/GenericReplyMessage.d.ts delete mode 100644 packages/transactions/src/GenericReplyMessage.ts delete mode 100644 packages/transactions/src/GenericRequestMessage.d.ts delete mode 100644 packages/transactions/src/GenericRequestMessage.ts delete mode 100644 packages/transactions/src/LobbyMessage.d.ts delete mode 100644 packages/transactions/src/LobbyMessage.ts delete mode 100644 packages/transactions/src/OwnedVehiclesMessage.d.ts delete mode 100644 packages/transactions/src/OwnedVehiclesMessage.ts delete mode 100644 packages/transactions/src/PartsAssemblyMessage.d.ts delete mode 100644 packages/transactions/src/PartsAssemblyMessage.ts delete mode 100644 packages/transactions/src/PlayerInfoMessage.d.ts delete mode 100644 packages/transactions/src/PlayerInfoMessage.ts delete mode 100644 packages/transactions/src/PlayerPhysicalMessage.d.ts delete mode 100644 packages/transactions/src/PlayerPhysicalMessage.ts delete mode 100644 packages/transactions/src/PlayerRacingHistoryMessage.d.ts delete mode 100644 packages/transactions/src/PlayerRacingHistoryMessage.ts delete mode 100644 packages/transactions/src/StockCar.d.ts delete mode 100644 packages/transactions/src/StockCar.ts delete mode 100644 packages/transactions/src/StockCarInfoMessage.d.ts delete mode 100644 packages/transactions/src/StockCarInfoMessage.ts delete mode 100644 packages/transactions/src/TClientConnectMessage.d.ts delete mode 100644 packages/transactions/src/TClientConnectMessage.ts delete mode 100644 packages/transactions/src/TLoginMessage.d.ts delete mode 100644 packages/transactions/src/TLoginMessage.ts delete mode 100644 packages/transactions/src/TunablesMessage.d.ts delete mode 100644 packages/transactions/src/TunablesMessage.ts delete mode 100644 packages/transactions/src/_getArcadeCarInfo.d.ts delete mode 100644 packages/transactions/src/_getArcadeCarInfo.ts delete mode 100644 packages/transactions/src/_getGameUrls.d.ts delete mode 100644 packages/transactions/src/_getGameUrls.ts delete mode 100644 packages/transactions/src/_getOwnedParts.d.ts delete mode 100644 packages/transactions/src/_getOwnedParts.ts delete mode 100644 packages/transactions/src/_getOwnedVehicles.d.ts delete mode 100644 packages/transactions/src/_getOwnedVehicles.ts delete mode 100644 packages/transactions/src/_getPlayerInfo.d.ts delete mode 100644 packages/transactions/src/_getPlayerInfo.ts delete mode 100644 packages/transactions/src/_getPlayerPhysical.d.ts delete mode 100644 packages/transactions/src/_getPlayerPhysical.ts delete mode 100644 packages/transactions/src/_getPlayerRaceHistory.d.ts delete mode 100644 packages/transactions/src/_getPlayerRaceHistory.ts delete mode 100644 packages/transactions/src/_getStockCarInfo.d.ts delete mode 100644 packages/transactions/src/_getStockCarInfo.ts delete mode 100644 packages/transactions/src/_getTunables.d.ts delete mode 100644 packages/transactions/src/_getTunables.ts delete mode 100644 packages/transactions/src/_logout.d.ts delete mode 100644 packages/transactions/src/_logout.ts delete mode 100644 packages/transactions/src/_setOptions.d.ts delete mode 100644 packages/transactions/src/_setOptions.ts delete mode 100644 packages/transactions/src/_updatePlayerPhysical.d.ts delete mode 100644 packages/transactions/src/_updatePlayerPhysical.ts delete mode 100644 packages/transactions/src/clientConnect.d.ts delete mode 100644 packages/transactions/src/clientConnect.ts delete mode 100644 packages/transactions/src/getLobbies.d.ts delete mode 100644 packages/transactions/src/getLobbies.ts delete mode 100644 packages/transactions/src/internal.d.ts delete mode 100644 packages/transactions/src/internal.ts delete mode 100644 packages/transactions/src/login.d.ts delete mode 100644 packages/transactions/src/login.ts delete mode 100644 packages/transactions/src/messageHandlers.d.ts delete mode 100644 packages/transactions/src/messageHandlers.ts delete mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts delete mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts delete mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts delete mode 100644 packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts delete mode 100644 packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts delete mode 100644 packages/transactions/src/messageHandlers/_updateCachedVehicle.ts delete mode 100644 packages/transactions/src/messageStructs/CarInfoMessage.d.ts delete mode 100644 packages/transactions/src/messageStructs/CarInfoMessage.ts delete mode 100644 packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts delete mode 100644 packages/transactions/src/messageStructs/PlayerOptionsMessage.ts delete mode 100644 packages/transactions/src/models/PartModel.d.ts delete mode 100644 packages/transactions/src/models/PartModel.ts delete mode 100644 packages/transactions/src/models/VehicleModel.d.ts delete mode 100644 packages/transactions/src/models/VehicleModel.ts delete mode 100644 packages/transactions/src/models/index.d.ts delete mode 100644 packages/transactions/src/models/index.ts delete mode 100644 packages/transactions/src/services/car.d.ts delete mode 100644 packages/transactions/src/services/car.ts delete mode 100644 packages/transactions/src/trackingPing.d.ts delete mode 100644 packages/transactions/src/trackingPing.ts delete mode 100644 packages/transactions/test/LobbyMessage.test.d.ts delete mode 100644 packages/transactions/test/LobbyMessage.test.ts delete mode 100644 packages/transactions/test/OwnedVehiclesMessage.test.d.ts delete mode 100644 packages/transactions/test/OwnedVehiclesMessage.test.ts delete mode 100644 packages/transactions/test/PartsAssemblyMessage.test.d.ts delete mode 100644 packages/transactions/test/PartsAssemblyMessage.test.ts delete mode 100644 packages/transactions/test/PlayerInfoMessage.test.d.ts delete mode 100644 packages/transactions/test/PlayerInfoMessage.test.ts delete mode 100644 packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts delete mode 100644 packages/transactions/test/PlayerRacingHistoryMessage.test.ts delete mode 100644 packages/transactions/test/TClientConnectMessage.test.d.ts delete mode 100644 packages/transactions/test/TClientConnectMessage.test.ts delete mode 100644 packages/transactions/test/_getPlayerRaceHistory.test.d.ts delete mode 100644 packages/transactions/test/_getPlayerRaceHistory.test.ts delete mode 100644 packages/transactions/test/clientConnect.test.d.ts delete mode 100644 packages/transactions/test/clientConnect.test.ts delete mode 100644 packages/transactions/test/getLobbies.test.d.ts delete mode 100644 packages/transactions/test/getLobbies.test.ts delete mode 100644 packages/transactions/test/trackingPing.test.d.ts delete mode 100644 packages/transactions/test/trackingPing.test.ts delete mode 100644 packages/transactions/types.d.ts delete mode 100644 packages/transactions/types.ts create mode 100644 schema/abstractPartType.ts create mode 100644 schema/attachmentPoint.ts create mode 100644 schema/brand.ts create mode 100644 schema/brandedPart.ts create mode 100644 schema/bytea.ts create mode 100644 schema/driverClass.ts create mode 100644 schema/key.ts create mode 100644 schema/model.ts create mode 100644 schema/part.ts create mode 100644 schema/partGrade.ts create mode 100644 schema/partType.ts create mode 100644 schema/player.ts create mode 100644 schema/playerType.ts create mode 100644 schema/profile.ts create mode 100644 schema/raceType.ts create mode 100644 schema/skin.ts create mode 100644 schema/skinType.ts create mode 100644 schema/stockAssembly.ts create mode 100644 schema/stockVehicleAttributes.ts create mode 100644 schema/svaCarClass.ts create mode 100644 schema/svaModeRestriction.ts create mode 100644 schema/tunables.ts create mode 100644 schema/user.ts create mode 100644 schema/vehicle.ts create mode 100644 schema/warehouse.ts delete mode 100644 test/factoryMocks.d.ts delete mode 100644 test/factoryMocks.ts diff --git a/.github/codecov.yml b/.github/codecov.yml index 5e522374a..ac099a10e 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -8,6 +8,18 @@ comment: show_carryforward_flags: true flags: + cli: + paths: + - packages/cli/** + carryforward: true + connection: + paths: + - packages/connection/** + carryforward: true + core: + paths: + - packages/core/** + carryforward: true database: paths: - packages/database/** @@ -24,6 +36,14 @@ flags: paths: - packages/login/** carryforward: true + mcots: + paths: + - packages/mcots/** + carryforward: false + nps: + paths: + - packages/nps/** + carryforward: false patch: paths: - packages/patch/** @@ -40,24 +60,37 @@ flags: paths: - packages/shared/** carryforward: true + shared-packets: + paths: + - packages/shared-packets/** + carryforward: false transactions: paths: - packages/transactions/** - carryforward: true - interfaces: - paths: - - packages/interfaces/** carryforward: false - core: - paths: - - packages/core/** - carryforward: true component_management: individual_components: - - component_id: components_team1 - name: Team 1 + - component_id: components_nps + name: NPS + paths: + - packages/cli/** + - packages/connection/** + - packages/database/** + - packages/gateway/** + - packages/lobby/** + - packages/login/** + - packages/nps/** + - packages/patch/** + - packages/persona/** + - packages/shard/** + - packages/shared-packets/** + - component_id: components_mcots + name: MCOTS paths: - - packages/core/** + - packages/cli/** + - packages/connection/** + - packages/database/** - packages/gateway/** - - packages/shared/** + - packages/mcots/** + - packages/shared-packets/** diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 5b1c76d07..44a012a55 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -27,6 +27,11 @@ jobs: uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 with: node-version: ${{ matrix.node-version }} + # - name: Resolve Outdated Comments + # uses: Ardiannn08/resolve-outdated-comment@v1.3 + # with: + # token: ${{ secrets.GH_TOKEN }} + # mode: "delete" - name: Install and test run: | corepack enable pnpm @@ -45,15 +50,21 @@ jobs: codecovcli --verbose create-commit --fail-on-error codecovcli --verbose create-report --fail-on-error codecovcli do-upload --report-type test_results --file mcos.junit.xml + codecovcli --verbose do-upload --fail-on-error --flag cli --name cli-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag connection --name connection-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag core --name core-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag database --name database-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag gateway --name gateway-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag lobby --name lobby-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag login --name login-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag mcots --name mcots-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag nps --name nps-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag patch --name patch-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag persona --name persona-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shard --name shard-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag shared --name shared-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag shared-packets --name shared-packets-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag transactions --name transactions-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag core --name core-${{ matrix.node-version }} - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 with: diff --git a/.nvmrc b/.nvmrc index 87834047a..ee5c24469 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -20.12.2 +22.1.0 diff --git a/apps/main/package.json b/apps/main/package.json index 395c8d73b..3891e2a25 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@rustymotors/shared": "workspace:^" } diff --git a/apps/main/server.d.ts b/apps/main/server.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/apps/main/server.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/apps/main/server.ts b/apps/main/server.ts index 467bba8ba..e43cafdce 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -16,74 +16,87 @@ import Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; -import { getServerLogger } from "../../packages/shared/log.js"; +import { getServerLogger } from "../../packages/shared"; import { verifyLegacyCipherSupport } from "../../packages/gateway/src/encryption.js"; import { getServerConfiguration } from "../../packages/shared/Configuration.js"; import { getGatewayServer } from "../../packages/gateway/src/GatewayServer.js"; -import { exit } from "node:process"; -const coreLogger = getServerLogger({ - level: "info", -}); -try { - verifyLegacyCipherSupport(); -} catch (err) { - coreLogger.fatal(`Error in core server: ${String(err)}`); - throw err; -} - -Sentry.init({ - dsn: "https://f4c0126e2fc35876c860dd72fc056db9@o1413557.ingest.sentry.io/4506787875061760", - - // We recommend adjusting this value in production, or using tracesSampler - // for finer control - tracesSampleRate: 1.0, - profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate - integrations: [nodeProfilingIntegration()], -}); - -try { - if (typeof process.env["EXTERNAL_HOST"] === "undefined") { - console.error("Please set EXTERNAL_HOST"); - process.exit(1); - } - if (typeof process.env["CERTIFICATE_FILE"] === "undefined") { - console.error("Please set CERTIFICATE_FILE"); - process.exit(1); - } - if (typeof process.env["PRIVATE_KEY_FILE"] === "undefined") { - console.error("Please set PRIVATE_KEY_FILE"); - process.exit(1); - } - if (typeof process.env["PUBLIC_KEY_FILE"] === "undefined") { - console.error("Please set PUBLIC_KEY_FILE"); - process.exit(1); - } - const config = getServerConfiguration({ - host: process.env["EXTERNAL_HOST"], - certificateFile: process.env["CERTIFICATE_FILE"], - privateKeyFile: process.env["PRIVATE_KEY_FILE"], - publicKeyFile: process.env["PUBLIC_KEY_FILE"], +export default async function main() { + const coreLogger = getServerLogger({ + level: "info", }); - - const appLog = getServerLogger(); - - const listeningPortList: number[] = [ - 6660, 7003, 8228, 8226, 8227, 9000, 9001, 9002, 9003, 9004, 9005, 9006, - 9007, 9008, 9009, 9010, 9011, 9012, 9013, 9014, 43200, 43300, 43400, - 53303, - ]; - - const gatewayServer = getGatewayServer({ - config, - log: appLog, - listeningPortList, + + try { + verifyLegacyCipherSupport(); + } catch (err) { + coreLogger.fatal(`Error in core server: ${String(err)}`); + throw err; + } + + Sentry.init({ + dsn: "https://f4c0126e2fc35876c860dd72fc056db9@o1413557.ingest.sentry.io/4506787875061760", + + // We recommend adjusting this value in production, or using tracesSampler + // for finer control + tracesSampleRate: 1.0, + profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate + integrations: [ + nodeProfilingIntegration(), + ...Sentry.autoDiscoverNodePerformanceMonitoringIntegrations(), + ], + _experiments: { + metricsAggregator: true, + }, }); - - await gatewayServer.start(); -} catch (err) { - Sentry.captureException(err); - coreLogger.fatal(`Error in core server: ${String(err)}`); - throw err; + + try { + if (typeof process.env["EXTERNAL_HOST"] === "undefined") { + console.error("Please set EXTERNAL_HOST"); + process.exit(1); + } + if (typeof process.env["CERTIFICATE_FILE"] === "undefined") { + console.error("Please set CERTIFICATE_FILE"); + process.exit(1); + } + if (typeof process.env["PRIVATE_KEY_FILE"] === "undefined") { + console.error("Please set PRIVATE_KEY_FILE"); + process.exit(1); + } + if (typeof process.env["PUBLIC_KEY_FILE"] === "undefined") { + console.error("Please set PUBLIC_KEY_FILE"); + process.exit(1); + } + const config = getServerConfiguration({ + host: process.env["EXTERNAL_HOST"], + certificateFile: process.env["CERTIFICATE_FILE"], + privateKeyFile: process.env["PRIVATE_KEY_FILE"], + publicKeyFile: process.env["PUBLIC_KEY_FILE"], + }); + + const appLog = getServerLogger(); + + const listeningPortList: number[] = [ + 6660, 7003, 8228, 8226, 8227, + // I don't know what part 9000 is for, but it's in the original list + // 9000, + 9001, 9002, 9003, 9004, 9005, 9006, + 9007, 9008, 9009, 9010, 9011, 9012, 9013, 9014, 43200, 43300, 43400, + 53303, + ]; + + const gatewayServer = getGatewayServer({ + config, + log: appLog, + listeningPortList, + }); + + await gatewayServer.start(); + } catch (err) { + Sentry.captureException(err); + coreLogger.fatal(`Error in core server: ${String(err)}`); + throw err; + } } + +await main(); diff --git a/build.mjs b/build.mjs index 6c568b866..914277007 100644 --- a/build.mjs +++ b/build.mjs @@ -46,7 +46,7 @@ const nativeNodeModulesPlugin = { esbuild .build({ - sourcemap: "external", // Source map generation must be turned on + sourcemap: true, platform: "node", outdir: "dist", entryPoints: ["apps/main/server.ts"], diff --git a/drizzle.config.ts b/drizzle.config.ts new file mode 100644 index 000000000..d08115ade --- /dev/null +++ b/drizzle.config.ts @@ -0,0 +1,16 @@ +import type { Config } from "drizzle-kit"; +import * as dotenv from "dotenv"; +dotenv.config(); + +if (!process.env.DB_URL) { + throw new Error("DB_URL must be set in the environment"); +} + +export default { + schema: "./schema/*", + out: "./drizzle", + driver: 'pg', + dbCredentials: { + connectionString: process.env.DB_URL, + } +} satisfies Config; \ No newline at end of file diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json new file mode 100644 index 000000000..5dcbf6ab2 --- /dev/null +++ b/drizzle/meta/_journal.json @@ -0,0 +1 @@ +{"version":"5","dialect":"pg","entries":[]} \ No newline at end of file diff --git a/drizzle/schema.ts b/drizzle/schema.ts new file mode 100644 index 000000000..e620ffd38 --- /dev/null +++ b/drizzle/schema.ts @@ -0,0 +1,163 @@ +import { pgTable, uniqueIndex, index, foreignKey, integer, varchar, text, numeric, smallint } from "drizzle-orm/pg-core" + import { sql } from "drizzle-orm" + + + +export const abstractPartTypes = pgTable("abstract_part_types", { + abstractPartTypeId: integer("abstractPartTypeId").primaryKey().notNull(), + parentAbstractPartTypeId: integer("parentAbstractPartTypeId"), + dependsOn: integer("dependsOn"), + partFilename: varchar("partFilename", { length: 255 }).default(NULL::character varying), + eapt: varchar("eapt", { length: 255 }).default(NULL::character varying), + gapt: varchar("gapt", { length: 255 }).default(NULL::character varying), + fapt: varchar("fapt", { length: 255 }).default(NULL::character varying), + sapt: varchar("sapt", { length: 255 }).default(NULL::character varying), + iapt: varchar("iapt", { length: 255 }).default(NULL::character varying), + japt: varchar("japt", { length: 255 }).default(NULL::character varying), + swapt: varchar("swapt", { length: 255 }).default(NULL::character varying), + bapt: varchar("bapt", { length: 255 }).default(NULL::character varying), + modifiedRule: integer("modifiedRule").default(0), + eut: text("eut"), + gut: text("gut"), + fut: text("fut"), + sut: text("sut"), + iut: text("iut"), + jut: text("jut"), + swut: text("swut"), + but: text("but"), + partPared: integer("partPared").default(0), + schematicPicname1: varchar("schematicPicname1", { length: 255 }).default(NULL::character varying), + schematicPicname2: varchar("schematicPicname2", { length: 255 }).default(NULL::character varying), + blockFamilyCompatibility: integer("blockFamilyCompatibility").default(0), + repairCostModifier: numeric("repairCostModifier", { precision: 100, scale: 7 }).default('0'), + scrapValueModifier: numeric("scrapValueModifier", { precision: 100, scale: 7 }).default('0'), + garageCategory: integer("garageCategory").default(0), +}, +(table) => { + return { + abstractPartTypeId: uniqueIndex("abstract_part_types_abstract_part_type_id").on(table.abstractPartTypeId), + parentAbstractPartTypeId: index("abstract_part_types_parent_abstract_part_type_id").on(table.parentAbstractPartTypeId), + dependsOn: index("abstract_part_types_depends_on").on(table.dependsOn), + abstractPartTypesParentAbstractPartTypeIdFkey: foreignKey({ + columns: [table.parentAbstractPartTypeId], + foreignColumns: [table.abstractPartTypeId], + name: "abstract_part_types_parentAbstractPartTypeId_fkey" + }).onUpdate("cascade").onDelete("set null"), + abstractPartTypesDependsOnFkey: foreignKey({ + columns: [table.dependsOn], + foreignColumns: [table.abstractPartTypeId], + name: "abstract_part_types_dependsOn_fkey" + }).onUpdate("cascade").onDelete("set null"), + } +}); + +export const skinTypes = pgTable("skin_types", { + skinTypeId: smallint("skinTypeId").primaryKey().notNull(), + skinType: varchar("skinType", { length: 255 }).notNull(), +}, +(table) => { + return { + skinTypeId: uniqueIndex("skin_types_skin_type_id").on(table.skinTypeId), + } +}); + +export const ptSkins = pgTable("pt_skins", { + skinId: integer("skinId").primaryKey().notNull(), + creatorId: integer("creatorId").notNull(), + skinTypeId: smallint("skinTypeId").notNull().references(() => skinTypes.skinTypeId), + partTypeId: integer("partTypeId").notNull().references(() => partTypes.partTypeId), + eSkin: varchar("eSkin", { length: 255 }).notNull(), + gSkin: varchar("gSkin", { length: 255 }).notNull(), + fSkin: varchar("fSkin", { length: 255 }).notNull(), + sSkin: varchar("sSkin", { length: 255 }).notNull(), + iSkin: varchar("iSkin", { length: 255 }).notNull(), + jSkin: varchar("jSkin", { length: 255 }).notNull(), + swSkin: varchar("swSkin", { length: 255 }).notNull(), + bSkin: varchar("bSkin", { length: 255 }).notNull(), + price: integer("price").notNull(), + partFilename: varchar("partFilename", { length: 255 }).notNull(), + h0: smallint("h0").notNull(), + s0: smallint("s0").notNull(), + v0: smallint("v0").notNull(), + c0: smallint("c0").notNull(), + x0: smallint("x0").notNull(), + y0: smallint("y0").notNull(), + h1: smallint("h1").notNull(), + s1: smallint("s1").notNull(), + v1: smallint("v1").notNull(), + c1: smallint("c1").notNull(), + x1: smallint("x1").notNull(), + y1: smallint("y1").notNull(), + h2: smallint("h2").notNull(), + s2: smallint("s2").notNull(), + v2: smallint("v2").notNull(), + c2: smallint("c2").notNull(), + x2: smallint("x2").notNull(), + y2: smallint("y2").notNull(), + h3: smallint("h3").notNull(), + s3: smallint("s3").notNull(), + v3: smallint("v3").notNull(), + c3: smallint("c3").notNull(), + x3: smallint("x3").notNull(), + y3: smallint("y3").notNull(), + h4: smallint("h4").notNull(), + s4: smallint("s4").notNull(), + v4: smallint("v4").notNull(), + c4: smallint("c4").notNull(), + x4: smallint("x4").notNull(), + y4: smallint("y4").notNull(), + h5: smallint("h5").notNull(), + s5: smallint("s5").notNull(), + v5: smallint("v5").notNull(), + c5: smallint("c5").notNull(), + x5: smallint("x5").notNull(), + y5: smallint("y5").notNull(), + h6: smallint("h6").notNull(), + s6: smallint("s6").notNull(), + v6: smallint("v6").notNull(), + c6: smallint("c6").notNull(), + x6: smallint("x6").notNull(), + y6: smallint("y6").notNull(), + h7: smallint("h7").notNull(), + s7: smallint("s7").notNull(), + v7: smallint("v7").notNull(), + c7: smallint("c7").notNull(), + x7: smallint("x7").notNull(), + y7: smallint("y7").notNull(), + defaultFlag: integer("defaultFlag").default(0).notNull(), + creatorName: varchar("creatorName", { length: 255 }).notNull(), + commentText: varchar("commentText", { length: 255 }).notNull(), +}, +(table) => { + return { + skinId: uniqueIndex("pt_skins_skin_id").on(table.skinId), + partTypeId: index("pt_skins_part_type_id").on(table.partTypeId), + skinTypeId: index("pt_skins_skin_type_id").on(table.skinTypeId), + } +}); + +export const partTypes = pgTable("part_types", { + partTypeId: integer("partTypeId").primaryKey().notNull(), + abstractPartTypeId: integer("abstractPartTypeId").references(() => abstractPartTypes.abstractPartTypeId), + partGradeId: integer("partGradeId").references(() => partGrades.partGradeId), + partType: varchar("partType", { length: 255 }).default(NULL::character varying), + partFilename: varchar("partFilename", { length: 255 }).default(NULL::character varying), +}, +(table) => { + return { + partTypeId: uniqueIndex("part_types_part_type_id").on(table.partTypeId), + } +}); + +export const partGrades = pgTable("part_grades", { + partGradeId: integer("partGradeId").primaryKey().notNull(), + eText: varchar("eText", { length: 255 }).default(NULL::character varying), + gText: varchar("gText", { length: 255 }).default(NULL::character varying), + fText: varchar("fText", { length: 255 }).default(NULL::character varying), + partGrade: varchar("partGrade", { length: 255 }).default(NULL::character varying), +}, +(table) => { + return { + partGradeId: uniqueIndex("part_grades_part_grade_id").on(table.partGradeId), + } +}); \ No newline at end of file diff --git a/migrate.ts b/migrate.ts deleted file mode 100644 index e647710c9..000000000 --- a/migrate.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { SlonikMigrator } from "@slonik/migrator"; -import { getSlonik } from "./packages/database/src/services/database.js"; - -const migrator = new SlonikMigrator({ - migrationsPath: "migrations", - migrationTableName: "migration", - slonik: (await getSlonik()).slonik, - logger: SlonikMigrator.prettyLogger, -}); - -migrator.runAsCLI(); diff --git a/package.json b/package.json index 999e92500..39224c92c 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,7 @@ ".": "./dist/index.js" }, "scripts": { + "check": "tsc --noEmit", "lint": "pnpm eslint .", "build": "node build.mjs", "start": "node --env-file=.env dist/server.js", @@ -25,12 +26,13 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@eslint/js": "^9.0.0", - "@sentry/node": "7.112.2", - "@sentry/profiling-node": "7.112.2", - "@slonik/migrator": "0.12.0", - "@types/node": "20.12.10", + "@eslint/js": "^9.2.0", + "@sentry/node": "7.113.0", + "@sentry/profiling-node": "7.113.0", + "@types/node": "20.12.7", + "@types/pg": "^8.11.6", "@vitest/coverage-v8": "1.5.1", + "drizzle-kit": "^0.20.18", "esbuild": "0.20.2", "eslint": "9.1.1", "eslint-config-prettier": "9.1.0", @@ -38,22 +40,23 @@ "npm-run-all2": "6.1.2", "prettier": "3.2.5", "typescript": "5.4.5", - "typescript-eslint": "^7.6.0", + "typescript-eslint": "^7.8.0", "vitest": "1.5.1" }, "dependencies": { - "@fastify/sensible": "^5.5.0", + "@fastify/sensible": "^5.6.0", "@rustymotors/database": "workspace:^", "@rustymotors/shared": "workspace:^", "@rustymotors/shared-packets": "workspace:^", - "@sentry/esbuild-plugin": "^2.16.0", - "fastify": "^4.26.2", - "pino": "^8.19.0", + "@sentry/esbuild-plugin": "^2.16.1", + "dotenv": "^16.4.5", + "drizzle-orm": "^0.30.10", + "fastify": "^4.27.0", + "pg": "^8.11.5", + "pino": "^8.21.0", "pino-pretty": "^11.0.0", - "short-unique-id": "^5.0.3", - "slonik": "^40.0.0", - "tsx": "^4.7.1", - "zod": "^3.22.4" + "short-unique-id": "^5.2.0", + "tsx": "^4.9.3" }, "packageManager": "pnpm@8.15.8" } diff --git a/packages/cli/ConsoleThread.d.ts b/packages/cli/ConsoleThread.d.ts deleted file mode 100644 index 4daf4c66f..000000000 --- a/packages/cli/ConsoleThread.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { SubThread } from "../shared/index.js"; -import { Gateway } from "../gateway/src/GatewayServer.js"; -import type { TServerLogger } from "../shared/index.js"; -/** - * @module ConsoleThread - */ -/** - * Console thread - */ -export declare class ConsoleThread extends SubThread { - parentThread: Gateway; - /** - * @param {object} options - * @param {Gateway} options.parentThread The parent thread - * @param {ServerLogger} options.log The logger - */ - constructor({ - parentThread, - log, - }: { - parentThread: Gateway; - log: TServerLogger; - }); - /** @param {import("../interfaces/index.js").KeypressEvent} key */ - handleKeypressEvent( - key: import("../interfaces/index.js").KeypressEvent, - ): void; - init(): void; - run(): void; - stop(): void; -} diff --git a/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts index 3e9840efb..70bc6b6cc 100644 --- a/packages/cli/ConsoleThread.ts +++ b/packages/cli/ConsoleThread.ts @@ -1,5 +1,5 @@ import { emitKeypressEvents } from "node:readline"; -import { SubThread, type TServerLogger } from "../shared"; +import { SubThread, type KeypressEvent, type TServerLogger } from "../shared"; import { Gateway } from "../gateway/src/GatewayServer.js"; /** @@ -32,8 +32,7 @@ export class ConsoleThread extends SubThread { this.parentThread = parentThread; } - /** @param {import("../interfaces/index.js").KeypressEvent} key */ - handleKeypressEvent(key: import("../interfaces/index.js").KeypressEvent) { + handleKeypressEvent(key: KeypressEvent) { const keyString = key.sequence; if (keyString === "x") { @@ -62,7 +61,7 @@ export class ConsoleThread extends SubThread { process.stdin.resume(); process.stdin.on("keypress", (str, key) => { if (key !== undefined) { - this.handleKeypressEvent(key); + this.handleKeypressEvent(key as KeypressEvent); } }); } diff --git a/packages/cli/MessageQueue.ts b/packages/cli/MessageQueue.ts new file mode 100644 index 000000000..8bcc3857d --- /dev/null +++ b/packages/cli/MessageQueue.ts @@ -0,0 +1,70 @@ + +import { SubThread, type TServerLogger } from "../shared/"; +import { Gateway } from "../gateway/src/GatewayServer.js"; +import type { ServerMessage } from "../shared-packets"; + +export class MessageQueue extends SubThread { + parentThread: Gateway; + + private _messageQueue: ServerMessage[] = []; + + static _instance: MessageQueue; + + /** + * @param {object} options + * @param {Gateway} options.parentThread The parent thread + * @param {ServerLogger} options.log The logger + */ + constructor({ + parentThread, + log, + }: { + parentThread: Gateway; + log: TServerLogger; + }) { + super("MessageQueue", log, 100); + + this.log.setName(this.name); + if (parentThread === undefined) { + throw new Error( + `parentThread is undefined when creating ${this.name}` + ); + } + this.parentThread = parentThread; + + if (typeof MessageQueue._instance === "undefined") { + MessageQueue._instance = this; + } + + this.log.resetName(); + } + + override init() { + super.init(); + this.log.setName(`${this.name}:init`); + this.log.info(`${this.name} initialized`); + this.log.resetName(); + } + + addMessage(message: ServerMessage) { + this._messageQueue.push(message); + } + + private popMessage(): ServerMessage | undefined { + return this._messageQueue.shift(); + } + + override run() { + this.log.setName(`${this.name}:run`); + // Intentionally left blank + this.log.resetName(); + } + + stop() { + super.shutdown(); + this.log.setName(`${this.name}:stop`); + this.log.info(`${this.name} stopped`); + this.log.resetName(); + } +} + diff --git a/packages/cli/ScheduledThread.ts b/packages/cli/ScheduledThread.ts new file mode 100644 index 000000000..1347f51ca --- /dev/null +++ b/packages/cli/ScheduledThread.ts @@ -0,0 +1,53 @@ +import { SubThread, type TServerLogger } from "../shared/"; +import { Gateway } from "../gateway/src/GatewayServer.js"; + +/** + * @module ConsoleThread + */ + +/** + * Console thread + */ +export class ScheduledThread extends SubThread { + parentThread: Gateway; + /** + * @param {object} options + * @param {Gateway} options.parentThread The parent thread + * @param {ServerLogger} options.log The logger + */ + constructor({ + parentThread, + log, + }: { + parentThread: Gateway; + log: TServerLogger; + }) { + super("ScheduledThread", log, 100); + this.log.setName("ScheduledThread"); + if (!parentThread) { + throw new Error("parentThread is required when creating ScheduledThread"); + } + this.parentThread = parentThread; + this.log.resetName(); + } + + override init() { + super.init(); + this.log.setName("ScheduledThread:init"); + this.log.info("Scheduled thread initialized"); + this.log.resetName(); + } + + override run() { + this.log.setName("ScheduledThread:run"); + // Intentionally left blank + this.log.resetName(); + } + + stop() { + super.shutdown(); + this.log.setName("ScheduledThread:stop"); + this.log.info("Scheduled thread stopped"); + this.log.resetName(); + } +} diff --git a/packages/cli/package.json b/packages/cli/package.json index 6b329b22e..e26867554 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@rustymotors/shared": "workspace:*" } diff --git a/thebeast/lib/index.d.ts b/packages/connection/index.ts similarity index 100% rename from thebeast/lib/index.d.ts rename to packages/connection/index.ts diff --git a/packages/connection/package.json b/packages/connection/package.json new file mode 100644 index 000000000..471155d90 --- /dev/null +++ b/packages/connection/package.json @@ -0,0 +1,22 @@ +{ + "name": "rm-connection-service", + "version": "1.0.0", + "description": "", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 1" + }, + "keywords": [], + "author": "", + "license": "AGPL-3.0", + "dependencies": { + + } +} + diff --git a/packages/connection/src/Connection.ts b/packages/connection/src/Connection.ts new file mode 100644 index 000000000..4267eef01 --- /dev/null +++ b/packages/connection/src/Connection.ts @@ -0,0 +1,372 @@ +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +import type { Socket } from "node:net"; +import { ServerMessage } from "../../shared-packets"; +import { getServerMessageProcessor } from "../../mcots"; +import type { TServerLogger } from "../../shared"; +import * as Sentry from "@sentry/node"; +import { getDatabase } from "../../database"; +import { key as keySchema } from "../../../schema/key"; +import { eq } from "drizzle-orm"; +import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; +import { McosEncryptionPair } from "../../shared"; +import { ClientConnectionManager } from "../../mcots/ClientConnectionManager"; +import { getServerLogger } from "../../shared"; +import { ErrorNoKey } from "../../mcots/errors/ErrorNoKey"; + +const log = getServerLogger(); + +/** + * This function creates a new encryption pair for use with the game server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + */ +export function createCommandEncryptionPair(key: string): McosEncryptionPair { + if (key.length < 16) { + log.error(`Key too short: length ${key.length}, value ${key}`); + throw Error(`Key too short: length ${key.length}, value ${key}`); + } + + const sKey = key.slice(0, 16); + + // Deepcode ignore HardcodedSecret: This uses an empty IV + const desIV = Buffer.alloc(8); + + const gsCipher = createCipheriv("des-cbc", Buffer.from(sKey, "hex"), desIV); + gsCipher.setAutoPadding(false); + + const gsDecipher = createDecipheriv( + "des-cbc", + Buffer.from(sKey, "hex"), + desIV, + ); + gsDecipher.setAutoPadding(false); + + return new McosEncryptionPair(gsCipher, gsDecipher); +} + +/** + * This function creates a new encryption pair for use with the database server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + * @throws Error if the key is too short + */ +export function createDataEncryptionPair(key: string): McosEncryptionPair { + if (key.length === 0) { + log.error(`Key is empty: ${key}`); + throw new ErrorNoKey(`Key is empty: ${key}`); + } + + if (key.length < 16) { + log.error(`Key too short: length ${key.length}, value ${key}`); + throw Error(`Key too short: length ${key.length}, value ${key}`); + } + + const stringKey = Buffer.from(key, "hex"); + + // File deepcode ignore InsecureCipher: RC4 is the encryption algorithum used here, file deepcode ignore HardcodedSecret: A blank IV is used here + const tsCipher = createCipheriv("rc4", stringKey.subarray(0, 16), ""); + const tsDecipher = createDecipheriv("rc4", stringKey.subarray(0, 16), ""); + + return new McosEncryptionPair(tsCipher, tsDecipher); +} + +/** + * This function checks if the server supports the legacy ciphers + * + * @returns void + * @throws Error if the server does not support the legacy ciphers + */ +export function verifyLegacyCipherSupport() { + const cipherList = getCiphers(); + if (!cipherList.includes("des-cbc")) { + throw Error("DES-CBC cipher not available"); + } + if (!cipherList.includes("rc4")) { + throw Error("RC4 cipher not available"); + } +} + +export class Connection { + private _socket: Socket; + private _connectionId: string; + private _logger: TServerLogger; + private _personaId: number | null = null; + private _cipherPair: McosEncryptionPair | null = null; + private _channelSecure: boolean = false; + + getConnectionId() { + return this._connectionId; + } + + constructor(socket: Socket, connectionId: string, logger: TServerLogger) { + this._socket = socket; + this._connectionId = connectionId; + this._logger = logger; + + this._socket.on("data", (data) => this.handleServerSocketData(data)); + this._socket.on("error", (error) => + handleServerSocketError(this, error), + ); + this._socket.on("close", () => this.close()); + + this._logger.debug(`Connection ${this._connectionId} created`); + } + + get id(): string { + return this._connectionId; + } + + isChannelSecure(): boolean { + return this._channelSecure; + } + + setChannelSecure(channelSecure: boolean): void { + if (channelSecure && this._cipherPair === null) { + this._logger.error( + `Tried to set channel secure without a cipher pair for connection ${this._connectionId}`, + ); + throw new Error( + `Tried to set channel secure without a cipher pair for connection ${this._connectionId}`, + ); + } + + this._channelSecure = channelSecure; + log.debug( + `Channel secure set to ${this._channelSecure} for connection ${this._connectionId}`, + ); + } + + private async _getCiperKeyFromDatabase() { + this._logger.setName("Connection:_getCiperKeyFromDatabase"); + if (this._cipherPair !== null) { + return; + } + + if (typeof this._personaId !== "number") { + this._logger.error( + `Tried to get cipher key from database without a persona ID`, + ); + throw new Error( + `Tried to get cipher key from database without a persona ID`, + ); + } + + // Get the cipher key from the database + const session_key = await getDatabase() + .select() + .from(keySchema) + .where(eq(keySchema.userId, this._personaId)) + .then((rows) => { + if (rows.length !== 1) { + this._logger.error( + `Error getting cipher key from database for persona ID ${this._personaId}`, + ); + throw new Error( + `Error getting cipher key from database for persona ID ${this._personaId}`, + ); + } + + return rows[0]!.sessionKey; + }); + + // Set the cipher key + this._cipherPair = createDataEncryptionPair(session_key); + + this._logger.debug( + `Got cipher key from database for persona ID ${this._personaId}`, + ); + + this._logger.resetName(); + } + + setCipherPair(cipherPair: McosEncryptionPair) { + this._cipherPair = cipherPair; + } + + handleServerSocketData(data: Buffer): void { + this._logger.setName("Connection:handleSocketData"); + try { + const message = new ServerMessage(0).deserialize(data); + log.debug( + `Received server message with ID ${message.getId()} for connection ${this._connectionId}`, + ); + this.processServerMessage(message); + } catch (error) { + this._logger.error( + `Error handling socket data for connectionId ${this._connectionId}: ${(error as Error).message}`, + ); + Sentry.captureException(error); + } + this._logger.resetName(); + } + + processServerMessage(message: ServerMessage) { + this._logger.setName("Connection:processMessage"); + if (message.isEncrypted() && this._cipherPair === null) { + this._getCiperKeyFromDatabase().catch((error) => { + this._logger.error( + `Error getting cipher key from database for persona ID ${this._personaId}: ${error as string}`, + ); + Sentry.captureException(error); + }); + } + + this._logger.debug(`Raw message header: ${message.header.toString()}`); + this._logger.debug(`Raw message: ${message.toHexString()}`); + + message = this.decryptIfNecessary(message); + + + // Lookup the message processor + const processor = getServerMessageProcessor(message.getId()); + + if (processor === undefined) { + this._logger.error( + `No server message processor found for message ID ${message.getId()}`, + ); + return; + } + + // Process the message + this._logger.debug( + `Processing server message with message ID ${message.getId()}, using processor ${processor.name}`, + ); + processor( + this._connectionId, + message, + this.sendServerMessage.bind(this), + ).catch((error) => { + this._logger.error( + `Error processing message for connectionId ${this._connectionId}: ${error as string}`, + ); + Sentry.captureException(error); + }); + + this._logger.resetName(); + } + + sendServerMessage(messages: ServerMessage[]) { + this._logger.setName("Connection:sendMessage"); + this._logger.debug( + `Sending ${messages.length} messages for connection ${this._connectionId}`, + ); + try { + messages.forEach((message) => { + this._logger.debug( + `Sending server message header: ${message.header.toString()}`, + ); + this._logger.debug(`Server Message: ${message.toHexString()}`); + + message = this.encryptIfNecessary(message); + + if (message.isEncrypted()) { + this._logger.debug( + `Encrypted Message: ${message.toHexString()}`, + ); + } + + this._socket.write(message.serialize()); + if (message.getId() === 0x101) { + this.setChannelSecure(true); + } + }); + } catch (error) { + this._logger.error( + `Error sending server message for connectionId ${this._connectionId}: ${error as string}`, + ); + Sentry.captureException(error); + } + + this._logger.debug( + `Sent ${messages.length} server messages for connection ${this._connectionId}`, + ); + + this._logger.resetName(); + } + encryptIfNecessary(message: ServerMessage): ServerMessage { + this._logger.setName("Connection:encryptIfNecessary"); + if (this._channelSecure && !message.isEncrypted()) { + if (this._cipherPair === null) { + this._logger.error( + `Message should be encrypted but no cipher pair is available for connection ${this._connectionId}`, + ); + throw new Error( + `Message should be encrypted but no cipher pair is available for connection ${this._connectionId}`, + ); + } + message = message.encrypt(this._cipherPair); + message.header.setPayloadEncryption(true); + this._logger.debug( + `Encrypted message: message ID ${message.getId()}, prior messsage ID ${message.getPreDecryptedMessageId()}`, + ); + } + this._logger.resetName(); + return message; + } + + close() { + this._socket.end(() => { + this._logger.debug(`Connection ${this._connectionId} closed`); + this._socket.destroy(); + ClientConnectionManager.removeConnection(this._connectionId); + }); + } + + + decryptIfNecessary(message: ServerMessage): ServerMessage { + this._logger.setName("Connection:decryptIfNecessary"); + if (message.isEncrypted()) { + if (this._cipherPair === null) { + this._logger.error( + `Message is encrypted but no cipher pair is available for connection ${this._connectionId}`, + ); + throw new Error( + `Message is encrypted but no cipher pair is available for connection ${this._connectionId}`, + ); + } + message = message.decrypt(this._cipherPair); + this._logger.debug( + `Decrypted message: message ID ${message.getId()}, prior messsage ID ${message.getPreDecryptedMessageId()}`, + ); + this._logger.debug(`Decrypted message: ${message.toHexString()}`); + } + this._logger.resetName(); + return message; + } + + toString(): string { + return `Connection ${this._connectionId}, persona ID ${this._personaId}, channel secure ${this._channelSecure}`; + } +} + +export function handleServerSocketError(connection: Connection, error: Error) { + log.setName("Connection:handleSocketError"); + if (error.message === "ECONNRESET") { + log.debug(`Connection ${connection.getConnectionId()} reset`); + return; + } + log.error( + `Socket error: ${error.message} on connection ${connection.getConnectionId()}`, + ); + Sentry.captureException(error); + connection.close(); + log.resetName(); +} + diff --git a/packages/connection/test/Connection.test.ts b/packages/connection/test/Connection.test.ts new file mode 100644 index 000000000..eb0274ade --- /dev/null +++ b/packages/connection/test/Connection.test.ts @@ -0,0 +1,72 @@ +import { describe, expect, it, vi } from "vitest"; +import { + createCommandEncryptionPair, + verifyLegacyCipherSupport, +} from "../src/Connection"; +import { McosEncryptionPair } from "../../shared"; + +vi.mock("@sentry/node", () => ({ + captureException: vi.fn(), +})); + +describe("createCommandEncryptionPair", () => { + it("should create an encryption pair with a valid key", () => { + const validKey = "1234567890abcdef1234567890abcdef"; + const encryptionPair = createCommandEncryptionPair(validKey); + expect(encryptionPair).toBeInstanceOf(McosEncryptionPair); + expect(encryptionPair._cipher).toBeDefined(); + expect(encryptionPair._decipher).toBeDefined(); + }); + it("should throw an error if the key is too short", () => { + const shortKey = "short"; + expect(() => createCommandEncryptionPair(shortKey)).toThrow( + "Key too short: length 5, value short", + ); + }); +}); + +vi.mock("node:crypto", async (importOriginal) => { + return { + ...(await importOriginal()), + getCiphers: vi + .fn() + .mockReturnValueOnce(["rc4"]) + .mockReturnValueOnce(["des-cbc"]) + .mockReturnValueOnce(["rc4", "des-cbc"]), + }; +}); + +vi.mock("node:net", async (importOriginal) => { + return { + ...(await importOriginal()), + Socket: class { + end = vi.fn(); + destroy = vi.fn(); + on = vi.fn((event, callback: () => void) => { + if (event === "error") { + callback(); + } + }); + }, + }; +}); + +describe("verifyLegacyCipherSupport", () => { + it("should throw an error if DES-CBC cipher is not available", () => { + expect(() => verifyLegacyCipherSupport()).toThrowError( + "DES-CBC cipher not available", + ); + }); + + it("should throw an error if RC4 cipher is not available", () => { + expect(verifyLegacyCipherSupport).toThrowError( + "RC4 cipher not available", + ); + }); + + it("should not throw an error if both DES-CBC and RC4 ciphers are available", () => { + expect(verifyLegacyCipherSupport).not.toThrow(); + + vi.resetAllMocks(); + }); +}); diff --git a/packages/core/src/serializationHelpers.d.ts b/packages/core/src/serializationHelpers.d.ts deleted file mode 100644 index ad416bb6c..000000000 --- a/packages/core/src/serializationHelpers.d.ts +++ /dev/null @@ -1,96 +0,0 @@ -/// -/** - * Clamp a value between 0 and 255 - * @param {number} value - * @returns {number} - */ -export declare function clamp16(value: number): number; -/** - * Clamp a value between 0 and 65535 - * @param {number} value - * @returns {number} - */ -export declare function clamp32(value: number): number; -/** - * Serializes a boolean to a buffer. - * @param {boolean} bool - * @returns {Buffer} - */ -export declare function serializeBool(bool: boolean): Buffer; -/** - * Serializes a byte to a buffer. - * @param {number} byte - * @returns {Buffer} - */ -export declare function serializeByte(byte: number): Buffer; -/** - * Serializes a word to a buffer. - * @param {number} word - * @returns {Buffer} - */ -export declare function serializeWord(word: number): Buffer; -/** - * Serializes a dword to a buffer. - * @param {number} dword - * @returns {Buffer} - */ -export declare function serializeDWord(dword: number): Buffer; -/** - * Serializes a float to a buffer. - * @param {number} f - * @returns {Buffer} - */ -export declare function serializeFloat(f: number): Buffer; -/** - * Serializes a string to a buffer. The buffer will be prefixed with the length of the string. - * @param {string} str - * @returns {Buffer} - */ -export declare function serializeString(str: string): Buffer; -/** - * Deserializes a boolean from a buffer. - * @param {Buffer} buff - * @returns {boolean} - */ -export declare function deserializeBool(buff: Buffer): boolean; -/** - * Deserializes a byte from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export declare function deserializeByte(buff: Buffer): number; -/** - * Deserializes a word from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export declare function deserializeWord(buff: Buffer): number; -/** - * Deserializes a dword from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export declare function deserializeDWord(buff: Buffer): number; -/** - * Deserializes a float from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export declare function deserializeFloat(buff: Buffer): number; -/** - * Deserializes a string from a buffer. The buffer is expected to be prefixed with the length of the string. - * @param {Buffer} buf - * @returns {string} - */ -export declare function deserializeString(buf: Buffer): string; -export declare function sizeOfBool(): number; -export declare function sizeOfByte(): number; -export declare function sizeOfWord(): number; -export declare function sizeOfDWord(): number; -export declare function sizeOfFloat(): number; -/** - * Returns the size of a string, including the length prefix. - * @param {string} string - * @returns {number} - */ -export declare function sizeOfString(string: string): number; diff --git a/packages/core/src/serializationHelpers.test.d.ts b/packages/core/src/serializationHelpers.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/core/src/serializationHelpers.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/database/index.d.ts b/packages/database/index.d.ts deleted file mode 100644 index ff8f9927d..000000000 --- a/packages/database/index.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -export { - updateUser, - fetchSessionKeyByCustomerId, - updateSessionKey, - fetchSessionKeyByConnectionId, -} from "./src/DatabaseManager.js"; -export { getVehiclePartTree } from "./src/cache.js"; -export { - buildVehiclePartTreeFromDB, - buildVehiclePartTree, - saveVehiclePartTree, - saveVehicle, -} from "./src/models/VehiclePartTree.js"; -export type { TPart } from "./src/models/Part.js"; diff --git a/packages/database/index.ts b/packages/database/index.ts index ff8f9927d..e98234966 100644 --- a/packages/database/index.ts +++ b/packages/database/index.ts @@ -4,11 +4,5 @@ export { updateSessionKey, fetchSessionKeyByConnectionId, } from "./src/DatabaseManager.js"; -export { getVehiclePartTree } from "./src/cache.js"; -export { - buildVehiclePartTreeFromDB, - buildVehiclePartTree, - saveVehiclePartTree, - saveVehicle, -} from "./src/models/VehiclePartTree.js"; -export type { TPart } from "./src/models/Part.js"; +export { getDatabase } from "./src/services/database.js"; + diff --git a/packages/database/package.json b/packages/database/package.json index 97fcb5c28..99a39e5c2 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -14,9 +14,12 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", + "pg": "^8.11.5", + "pg-hstore": "^2.3.4", + "sequelize": "^6.37.3", "slonik": "^40.0.0", "zod": "^3.22.4" } diff --git a/packages/database/src/DatabaseManager.d.ts b/packages/database/src/DatabaseManager.d.ts deleted file mode 100644 index c9e92b84a..000000000 --- a/packages/database/src/DatabaseManager.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -/** - * This class abstracts database methods - * @see {@link getDatabaseServer()} to get a singleton instance - */ -/// -/** - * This class abstracts database methods - * @see {@link getDatabaseServer()} to get a singleton instance - */ -import type { ConnectionRecord } from "../../interfaces/index.js"; -/** - * @module Database - */ -/** - * Update a user record in the database - -* @throws {Error} If the user record is not found - */ -export declare function updateUser(user: { - userId: number; - userData: Buffer; -}): Promise; -/** - * Locate customer session encryption key in the database - * - * @throws {Error} If the session key is not found - */ -export declare function fetchSessionKeyByCustomerId( - customerId: number, -): Promise; -/** - * Create or overwrite a customer's session key record - * - * @param {number} customerId - * @param {string} sessionKey - * @param {string} contextId - * @param {string} connectionId - * @returns {Promise} - */ -export declare function updateSessionKey( - customerId: number, - sessionKey: string, - contextId: string, - connectionId: string, -): Promise; -/** - * Locate customer session encryption key in the database - * - * @param {string} connectionId - * @returns {Promise} - * @throws {Error} If the session key is not found - */ -export declare function fetchSessionKeyByConnectionId( - connectionId: string, -): Promise; diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 7d08749e9..ff1bd8b85 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -3,11 +3,12 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ +import type { ConnectionRecord } from "@rustymotors/shared"; + /** * This class abstracts database methods * @see {@link getDatabaseServer()} to get a singleton instance */ -import type { ConnectionRecord } from "../../interfaces/index.js"; // This is a fake database table that holds sessions of currently logged in users const _sessions: ConnectionRecord[] = []; @@ -29,6 +30,7 @@ export async function updateUser(user: { }): Promise { try { _users.set(user.userId, user.userData); + return Promise.resolve(); } catch (error) { throw Error(`Error updating user: ${String(error)}`); } @@ -48,7 +50,7 @@ export async function fetchSessionKeyByCustomerId( if (typeof record === "undefined") { throw Error(`Session key not found for customer ${customerId}`); } - return record; + return Promise.resolve(record); } /** @@ -80,23 +82,26 @@ export async function updateSessionKey( }); _sessions.splice(record, 1, updatedSession); + return Promise.resolve(); } /** * Locate customer session encryption key in the database * * @param {string} connectionId - * @returns {Promise} + * @returns {Promise} * @throws {Error} If the session key is not found */ export async function fetchSessionKeyByConnectionId( connectionId: string, -): Promise { +): Promise { const record = _sessions.find((session) => { return session.connectionId === connectionId; }); if (typeof record === "undefined") { throw Error(`Session key not found for connection ${connectionId}`); } - return record; + return Promise.resolve(record); } + + diff --git a/packages/database/src/cache.d.ts b/packages/database/src/cache.d.ts deleted file mode 100644 index a75a550b5..000000000 --- a/packages/database/src/cache.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { TBrand } from "./models/Brand.js"; -import type { VehiclePartTreeType } from "./models/VehiclePartTree.js"; -export declare function getBrand( - brandName: string, -): Promise; -export declare function getVehiclePartTree( - vehicleId: number, -): Promise; -export declare function setVehiclePartTree( - vehicleId: number, - vehiclePartTree: VehiclePartTreeType, -): Promise; diff --git a/packages/database/src/cache.ts b/packages/database/src/cache.ts deleted file mode 100644 index b6fcb3458..000000000 --- a/packages/database/src/cache.ts +++ /dev/null @@ -1,52 +0,0 @@ -import type { TBrand } from "./models/Brand.js"; -import type { VehiclePartTreeType } from "./models/VehiclePartTree.js"; -import { getSlonik } from "./services/database.js"; -import * as Sentry from "@sentry/node"; - -const brandCache = new Map(); - -export async function getBrand(brandName: string): Promise { - if (brandCache.has(brandName)) { - return brandCache.get(brandName); - } - - return await Sentry.startSpan( - { - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - - const brand = await slonik.one(sql.typeAlias("brand")` - SELECT brandid, brand, isstock FROM brand WHERE brandname = ${brandName} - `); - brandCache.set(brandName, brand); - return brand; - }, - ); -} - -const vehiclePartTreeCache = new Map(); - -export async function getVehiclePartTree( - vehicleId: number, -): Promise { - if (vehiclePartTreeCache.has(vehicleId)) { - return vehiclePartTreeCache.get(vehicleId); - } - - return undefined; -} - -export async function setVehiclePartTree( - vehicleId: number, - vehiclePartTree: VehiclePartTreeType, -): Promise { - vehiclePartTreeCache.set(vehicleId, vehiclePartTree); -} diff --git a/packages/database/src/functions/createNewCar.ts b/packages/database/src/functions/createNewCar.ts new file mode 100644 index 000000000..f12b3d341 --- /dev/null +++ b/packages/database/src/functions/createNewCar.ts @@ -0,0 +1,242 @@ +import { getServerLogger } from "@rustymotors/shared"; +import { stockAssembly as stockAssemblySchema } from "../../../../schema/stockAssembly"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { getDatabase } from "../services/database"; +import { warehouse as warehouseSchema } from "../../../../schema/warehouse"; +import { part as partSchema } from "../../../../schema/part"; +import { player as playerSchema } from "../../../../schema/player"; +import { eq } from "drizzle-orm"; +import { transferPartAssembly } from "./transferPartAssembly"; +import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes"; +/** + * Create a new car + * + * This function creates a new car for a player. + * + * The car is created using a branded part, a skin, and a trade-in part. + * The car is added to the player's lot and the trade-in part is removed from the player's lot. + * The player's account is debited for the cost of the car and the trade-in value is added to the player's account. + * The car is removed from the wholesaler's lot. + * The transaction is committed if all operations are successful. + * If any operation fails, the transaction is rolled back and an error is thrown. + * + * @param {number} lotOwnerId + * @param {number} brandedPartId + * @param {number} skinId + * @param {number} playerId + * @param {number} tradeInId + * @returns {Promise} The new car's ID + * @throws {Error} If the lot owner ID is not found + * @throws {Error} If the branded part ID is not found + * @throws {Error} If the skin ID is not found + * @throws {Error} If the player ID is not found + * @throws {Error} If the trade-in ID is not found + * @throws {Error} If the car is out of stock + * @throws {Error} If the trade-in is not owned by the player + * @throws {Error} If the trade-in value cannot be determined + * @throws {Error} If the trade-in lot is not found + * @throws {Error} If the trade-in can not be scrapped + * @throws {Error} If the trade-in value can not be added to the player's account + * @throws {Error} If the trade-in cannot be removed from the player's lot + * @throws {Error} If the player does not have enough money to buy the car + * @throws {Error} If the car cannot be removed from the wholesaler's lot + * @throws {Error} If the car cannot be added to the player's lot + * @throws {Error} If the part cannot be created + * @throws {Error} If the vehicle cannot be created + * @throws {Error} If the player does not have enough room in their lot + * @throws {Error} If the sale cannot be recorded + */ +export async function createNewCar( + lotOwnerId: number, + brandedPartId: number, + skinId: number, + playerId: number, + tradeInId: number, +): Promise { + const log = getServerLogger(); + log.setName("createNewCar"); + + log.debug(`Creating new car for player ${playerId}`); + let currentAbstractCarId = 0; + let currentPartId = 0; + let currentParentPartId = 0; + let currentBrandedPartId = 0; + let currentAttachmentPointId = 0; + let currentMaxItemWear = 0; + let currentRetailPrice = 0; + let scrapyardLotId = 0; + let tradeInValue = 0; + let cost = 0; + let rc = 0; + let dealOfTheDayBrandedPartId = 0; + let dealOfTheDayDiscount = 0; + let ownerID = 0; + let retailPrice = 0; + let maxItemWear = 0; + let tradeInPartCount = 0; + let carPartCount = 0; + let currectPartCounter = 0; + let carClass = 0; + + type record = { + partId: number, + parentPartId: number, + brandedPartId: number, + attachmentPointId: number, + abstractPartTypeId: number, + parentAbstractPartTypeId: number, + maxItemWear: number, + retailPrice: number, + }; + + const partRecords: record[] = []; + + const db = getDatabase(); + + const parts = await db.select().from(stockAssemblySchema).where(eq(brandedPartSchema.brandedPartId, brandedPartId)); + + if (parts.length === 0) { + throw Error(`Branded part ${brandedPartId} not found`); + } + + await db.transaction(async (tx) => { + log.debug("Transaction started"); + + let tradeInValue = 0; + let scrapyardLotId = 0; + let dealOfTheDayBrandedPartId: number | null = null + let dealOfTheDayDiscount = 0; + let ownerID = 0; + let retailPrice = 0; + let maxItemWear = 0; + let tradeInPartCount = 0; + let carPartCount = 0; + + dealOfTheDayBrandedPartId = await tx.select({ + brandedPartId: warehouseSchema.brandedPartId, + }).from(warehouseSchema).where(eq(warehouseSchema.playerId, lotOwnerId)).limit(1).then((result) => { + return result[0]?.brandedPartId ?? null; + }); + + + if (!dealOfTheDayBrandedPartId) { + log.debug("Deal of the day not found"); + } + + const lotExists: boolean = await tx.select({ + playerID: warehouseSchema.playerId, + }).from(warehouseSchema).where(eq(warehouseSchema.playerId, lotOwnerId)).limit(1).then((result) => { + return !!result[0]; + }); + + if (!lotExists) { + tx.rollback(); + throw new Error(`Lot owner ${lotOwnerId} not found`); + } + + if (tradeInId) { + + const validTradeIn = await tx.select({ + ownerID: partSchema.ownerId, + }).from(partSchema).where(eq(partSchema.partId, tradeInId)).limit(1).then((result) => { + return result[0]?.ownerID === playerId; + }); + + if (!validTradeIn) { + tx.rollback(); + throw new Error(`Trade-in ${tradeInId} not owned by player ${playerId}`); + } + + tradeInValue = await tx.select({ + scrapValue: partSchema.scrapValue, + }).from(partSchema).where(eq(partSchema.partId, tradeInId)).limit(1).then((result) => { + return result[0]?.scrapValue ?? 0; + }); + + + if (!tradeInValue) { + tx.rollback(); + throw new Error(`Trade-in value not found for part ${tradeInId}`); + } + + const scrapyardLotFound = await tx.select({ + playerID: warehouseSchema.playerId, + }).from(warehouseSchema).where(eq(warehouseSchema.playerId, scrapyardLotId)).then((result) => { + return !!result[0]; + }); + + if (!scrapyardLotFound) { + tx.rollback(); + throw new Error(`Scrapyard lot ${scrapyardLotId} not found`); + } + + + try { + const resultOfScrap = await transferPartAssembly(tradeInId, scrapyardLotId); + } catch (error) { + log.error(`Error scrapping trade-in ${tradeInId}: ${error}`); + tx.rollback(); + throw error; + } + + // Get the owner + + const newOwner = await tx.select().from(playerSchema).where(eq(playerSchema.playerId, playerId)).limit(1).then((result) => { + return result[0]; + }); + + if (!newOwner) { + log.error(`Player ${playerId} not found`); + tx.rollback(); + throw new Error(`Player ${playerId} not found`); + } + + const oldBankBalance = newOwner.bankBalance; + + if (oldBankBalance === null) { + log.error(`Error getting bank balance for player ${playerId}`); + tx.rollback(); + throw new Error(`Error getting bank balance for player ${playerId}`); + } + + + if (tradeInValue > 0) { + const newbankBalance = oldBankBalance + tradeInValue; + try { + await tx.update(playerSchema).set({ + bankBalance: newbankBalance, + }).where(eq(playerSchema.playerId, playerId)); + } catch (error) { + log.error(`Error adding trade-in value to player ${playerId}: ${error}`); + tx.rollback(); + throw new Error(`Error adding trade-in value to player ${playerId}: ${error}`); + } + } + + // Old car trade-in complete + } + + + const result = await tx.select({ + carClass: stockVehicleAttributesSchema.carClass, + retailPrice: stockVehicleAttributesSchema.retailPrice + }).from(stockVehicleAttributesSchema).where(eq(stockVehicleAttributesSchema.brandedPartId, brandedPartId)).limit(1); + + if (typeof result[0] === "undefined") { + tx.rollback(); + throw new Error(`Car ${brandedPartId} out of stock`); + }; + + carClass = result[0].carClass; + retailPrice = result[0].retailPrice; + + if (dealOfTheDayBrandedPartId === brandedPartId) { + dealOfTheDayDiscount = await tx.select({ + + } + + log.debug("Transaction committed"); + } + log.resetName(); + return Promise.resolve(0); +} diff --git a/packages/database/src/functions/getAbstractPartTypeId.ts b/packages/database/src/functions/getAbstractPartTypeId.ts new file mode 100644 index 000000000..ff44ffb8e --- /dev/null +++ b/packages/database/src/functions/getAbstractPartTypeId.ts @@ -0,0 +1,55 @@ +import { getServerLogger } from "@rustymotors/shared"; +import { Part } from "../models/Part"; +import { PartType } from "../models/PartType"; +import { BrandedPart } from "../models/BrandedPart"; + +/** + * Get the abstract part type id from the partId + * + * @param partId The part id + * @returns The abstract part type id + * @throws {Error} If the part ID is not found + * @throws {Error} If the abstract part type ID is not found + */ +export async function getAbstractPartTypeId(partId: number): Promise { + const log = getServerLogger(); + log.setName("getAbstractPartTypeId"); + + log.debug(`Getting abstract part type ID for part ${partId}`); + + const abstractPartTypeId = await Part.findOne({ + where: { + partId, + }, + }).then(async (part) => { + if (part === null) { + throw new Error(`Part ${partId} not found`); + } + + const partType = await BrandedPart.findByPk(part.brandedPartId).then((brandedPart) => { + if (brandedPart === null) { + throw new Error(`Branded part ${part.brandedPartId} not found`); + } + + return PartType.findByPk(brandedPart.partTypeId).then((partType) => { + if (partType === null) { + throw new Error(`Part type ${brandedPart.partTypeId} not found`); + } + + return partType.abstractPartTypeId; + }); + }); + + log.resetName(); + return partType; + }); + + if (abstractPartTypeId === null) { + throw new Error(`Abstract part type ID not found for part ${partId}`); + } + + return abstractPartTypeId; +} + + + diff --git a/packages/database/src/functions/getWarehouseInventory.ts b/packages/database/src/functions/getWarehouseInventory.ts new file mode 100644 index 000000000..0779860f5 --- /dev/null +++ b/packages/database/src/functions/getWarehouseInventory.ts @@ -0,0 +1,121 @@ +import { getServerLogger } from "../../../shared"; +import { getDatabase } from "../services/database"; +import { warehouse as warehouseSchema } from "../../../../schema/warehouse"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes"; +import { tunables as tunablesSchema } from "../../../../schema/tunables"; +import { model as modelSchema } from "../../../../schema/model"; +import { eq } from "drizzle-orm"; + +export type WarehouseInventory = { + inventory: { + brandedPartId: number; + retailPrice: number | null; + isDealOfTheDay: number; + }[]; + dealOfTheDayDiscount: number; +}; + +export async function getWarehouseInventory( + warehouseId: number, + brandId: number, +): Promise { + const log = getServerLogger(); + log.setName("getWarehouseInventory"); + + log.debug( + `Getting warehouse inventory for part ${brandId} in warehouse ${warehouseId}`, + ); + + let inventoryCars: { + brandedPartId: number; + retailPrice: number | null; + isDealOfTheDay: number; + }[] = []; + + const dealOfTheDayDiscount = await getDatabase() + .select({ + dealOfTheDayBrandedPartId: tunablesSchema.dealOfTheDayBrandedPartId, + dealOfTheDayDiscount: tunablesSchema.dealOfTheDayDiscount, + }) + .from(tunablesSchema) + .limit(1) + .then((rows) => { + return rows[0]; + }); + + if (dealOfTheDayDiscount === null) { + log.debug("Deal of the day not found"); + } + + if (brandId > 0) { + inventoryCars = await getDatabase() + .select({ + brandedPartId: warehouseSchema.brandedPartId, + retailPrice: stockVehicleAttributesSchema.retailPrice, + isDealOfTheDay: warehouseSchema.isDealOfTheDay, + }) + .from(warehouseSchema) + .leftJoin( + brandedPartSchema, + eq( + warehouseSchema.brandedPartId, + brandedPartSchema.brandedPartId, + ), + ) + .leftJoin( + modelSchema, + eq(brandedPartSchema.modelId, modelSchema.modelId), + ) + + .leftJoin( + stockVehicleAttributesSchema, + eq( + warehouseSchema.brandedPartId, + stockVehicleAttributesSchema.brandedPartId, + ), + ) + .where( + eq( + eq(warehouseSchema.playerId, warehouseId), + eq(modelSchema.brandId, brandId), + ), + ); + } else { + inventoryCars = await getDatabase() + .select({ + brandedPartId: warehouseSchema.brandedPartId, + retailPrice: stockVehicleAttributesSchema.retailPrice, + isDealOfTheDay: warehouseSchema.isDealOfTheDay, + }) + .from(warehouseSchema) + .leftJoin( + brandedPartSchema, + eq( + warehouseSchema.brandedPartId, + brandedPartSchema.brandedPartId, + ), + ) + .leftJoin( + modelSchema, + eq(brandedPartSchema.modelId, modelSchema.modelId), + ) + + .leftJoin( + stockVehicleAttributesSchema, + eq( + warehouseSchema.brandedPartId, + stockVehicleAttributesSchema.brandedPartId, + ), + ) + .where(eq(warehouseSchema.playerId, warehouseId)); + } + + const inventory = { + inventory: inventoryCars, + dealOfTheDayDiscount: dealOfTheDayDiscount?.dealOfTheDayDiscount ?? 0, + }; + + log.resetName(); + return inventory; +} diff --git a/packages/database/src/functions/transferPartAssembly.ts b/packages/database/src/functions/transferPartAssembly.ts new file mode 100644 index 000000000..fd293f7c5 --- /dev/null +++ b/packages/database/src/functions/transferPartAssembly.ts @@ -0,0 +1,155 @@ +import { getServerLogger } from "@rustymotors/shared"; +import { getDatabase } from "../services/database"; +import { part as partSchema } from "../../../../schema/part"; +import { vehicle as vehicleSchema } from "../../../../schema/vehicle"; +import { player as playerSchema } from "../../../../schema/player"; +import { getAbstractPartTypeId } from "./getAbstractPartTypeId"; +import { eq } from "drizzle-orm"; + +const ABSTRACT_PART_TYPE_ID_CAR = 101; + +/** + * Transfer a part assembly + * + * This function transfers a part assembly from one owner to another, including all child parts. + * + * This function does NOT use a transaction. + * + * @param {number} partId + * @param {number} newOwnerId + * + * @returns {Promise} + * @throws {Error} If the part ID is not found + * @throws {Error} If the new owner ID is not found + * @throws {Error} If the part cannot be transferred + */ +export async function transferPartAssembly( + partId: number, + newOwnerId: number, +): Promise { + const log = getServerLogger(); + const db = getDatabase(); + log.setName("transferPartAssembly"); + + log.debug( + `Transferring part assembly ${partId} to new owner ${newOwnerId}`, + ); + + const topPart = await db + .select() + .from(partSchema) + .where(eq(partSchema.partId, partId)) + .limit(1) + .then((rows) => rows[0]); + + if (typeof topPart === "undefined") { + log.error(`Part ${partId} not found`); + throw new Error(`Part ${partId} not found`); + } + + if (topPart.ownerId === null) { + log.error(`Part ${partId} has no owner`); + throw new Error(`Part ${partId} has no owner`); + } + + if (topPart.ownerId === newOwnerId) { + log.error(`Part ${partId} is already owned by ${newOwnerId}`); + throw new Error(`Part ${partId} is already owned by ${newOwnerId}`); + } + + const newOwnerExists = await db + .select() + .from(playerSchema) + .where(eq(playerSchema.playerId, newOwnerId)) + .limit(1) + .then((rows) => rows[0] !== undefined); + + if (!newOwnerExists) { + log.error(`Owner ${newOwnerId} not found`); + throw new Error(`Owner ${newOwnerId} not found`); + } + + const children = await db + .select() + .from(partSchema) + .where(eq(partSchema.parentPartId, partId)) + .then((rows) => rows); + + if (children.length === 0) { + log.error(`Part ${partId} has no children`); + throw new Error(`Part ${partId} has no children`); + } + + try { + // If the part is a car, update the owner ID in the vehicle table + const isPartACar = await getAbstractPartTypeId( + topPart.brandedPartId, + ).then( + (abstractPartTypeId) => + abstractPartTypeId === ABSTRACT_PART_TYPE_ID_CAR, + ); + + if (isPartACar) { + const car = await db + .select() + .from(vehicleSchema) + .where(eq(vehicleSchema.vehicleId, partId)) + .limit(1) + .then((rows) => rows[0]); + + if (typeof car === "undefined") { + log.error(`Vehicle ${partId} not found`); + throw Error(`Vehicle ${partId} not found`); + } + + // Remove the vehicle from the old owner's lot + const oldOwner = await db + .select() + .from(playerSchema) + .where(eq(playerSchema.playerId, topPart.ownerId)) + .limit(1) + .then((rows) => rows[0]); + + if (typeof oldOwner === "undefined") { + log.error(`Owner ${topPart.ownerId} not found`); + throw Error(`Owner ${topPart.ownerId} not found`); + } + + if (oldOwner.numCarsOwnned > 1) { + oldOwner.numCarsOwnned--; + try { + await db + .update(playerSchema) + .set(oldOwner) + .where(eq(playerSchema.playerId, topPart.ownerId)); + } catch (error) { + log.error( + `Error updating old owner ${topPart.ownerId}: ${String(error)}`, + ); + throw new Error( + `Error updating old owner ${topPart.ownerId}: ${String(error)}`, + ); + } + } else { + log.error(`Owner ${topPart.ownerId} has no cars`); + throw Error(`Owner ${topPart.ownerId} has no cars`); + } + } + + // Transfer the children + + for (const child of children) { + await transferPartAssembly(child.partId, newOwnerId); + } + + // Update the parent part's owner ID + await db.update(partSchema).set({ ownerId: newOwnerId }).where( + eq(partSchema.partId, partId), + ); + } catch (error) { + log.error(`Error transferring part ${partId}: ${String(error)}`); + throw new Error(`Error transferring part ${partId}: ${String(error)}`); + } + + log.debug(`Part assembly ${partId} transferred to new owner ${newOwnerId}`); +} diff --git a/packages/database/src/models/AttachmentPoint.d.ts b/packages/database/src/models/AttachmentPoint.d.ts deleted file mode 100644 index 7b7b7c9e2..000000000 --- a/packages/database/src/models/AttachmentPoint.d.ts +++ /dev/null @@ -1,41 +0,0 @@ -export type TAttachmentPointRecord = { - attachmentPointId: number; - attachmentPoint: string; -}; -export type TAttachmentPoint = - | "Default" - | "FrontLeft" - | "FrontRight" - | "RearLeft" - | "RearRight" - | "Left" - | "Right" - | "A" - | "B" - | "C" - | "Front" - | "Rear"; -export declare const EAttachmentPoint: { - Default: number; - FrontLeft: number; - FrontRight: number; - RearLeft: number; - RearRight: number; - Left: number; - Right: number; - A: number; - B: number; - C: number; - Front: number; - Rear: number; -}; -export declare const attachmentPoints: TAttachmentPointRecord[]; -export declare function isValidAttachmentPoint( - attachmentPoint: string, -): boolean; -export declare function getAttachmentPoint( - attachmentPoint: TAttachmentPoint, -): number; -export declare function getAttachmentPointName( - attachmentPointId: number, -): TAttachmentPoint | undefined; diff --git a/packages/database/src/models/AttachmentPoint.ts b/packages/database/src/models/AttachmentPoint.ts deleted file mode 100644 index 007691200..000000000 --- a/packages/database/src/models/AttachmentPoint.ts +++ /dev/null @@ -1,82 +0,0 @@ -export type TAttachmentPointRecord = { - attachmentPointId: number; - attachmentPoint: string; -}; - -export type TAttachmentPoint = - | "Default" - | "FrontLeft" - | "FrontRight" - | "RearLeft" - | "RearRight" - | "Left" - | "Right" - | "A" - | "B" - | "C" - | "Front" - | "Rear"; - -export const EAttachmentPoint = { - Default: 0, - FrontLeft: 1, - FrontRight: 2, - RearLeft: 3, - RearRight: 4, - Left: 5, - Right: 6, - A: 7, - B: 8, - C: 9, - Front: 10, - Rear: 11, -}; - -export const attachmentPoints: TAttachmentPointRecord[] = [ - { attachmentPointId: EAttachmentPoint.Default, attachmentPoint: "Default" }, - { - attachmentPointId: EAttachmentPoint.FrontLeft, - attachmentPoint: "FrontLeft", - }, - { - attachmentPointId: EAttachmentPoint.FrontRight, - attachmentPoint: "FrontRight", - }, - { - attachmentPointId: EAttachmentPoint.RearLeft, - attachmentPoint: "RearLeft", - }, - { - attachmentPointId: EAttachmentPoint.RearRight, - attachmentPoint: "RearRight", - }, - { attachmentPointId: EAttachmentPoint.Left, attachmentPoint: "Left" }, - { attachmentPointId: EAttachmentPoint.Right, attachmentPoint: "Right" }, - { attachmentPointId: EAttachmentPoint.A, attachmentPoint: "A" }, - { attachmentPointId: EAttachmentPoint.B, attachmentPoint: "B" }, - { attachmentPointId: EAttachmentPoint.C, attachmentPoint: "C" }, - { attachmentPointId: EAttachmentPoint.Front, attachmentPoint: "Front" }, - { attachmentPointId: EAttachmentPoint.Rear, attachmentPoint: "Rear" }, -]; - -export function isValidAttachmentPoint(attachmentPoint: string): boolean { - return attachmentPoints.some( - (ap) => ap.attachmentPoint === attachmentPoint, - ); -} - -export function getAttachmentPoint(attachmentPoint: TAttachmentPoint): number { - return EAttachmentPoint[attachmentPoint]; -} - -export function getAttachmentPointName( - attachmentPointId: number, -): TAttachmentPoint | undefined { - const attachmentPoint = attachmentPoints.find( - (ap) => ap.attachmentPointId === attachmentPointId, - ); - if (attachmentPoint) { - return attachmentPoint.attachmentPoint as TAttachmentPoint; - } - return undefined; -} diff --git a/packages/database/src/models/Brand.d.ts b/packages/database/src/models/Brand.d.ts deleted file mode 100644 index dfba4ad7b..000000000 --- a/packages/database/src/models/Brand.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type TBrand = { - brandId: number; - brand: string | null; - isStock: boolean; -}; diff --git a/packages/database/src/models/Brand.ts b/packages/database/src/models/Brand.ts deleted file mode 100644 index dfba4ad7b..000000000 --- a/packages/database/src/models/Brand.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type TBrand = { - brandId: number; - brand: string | null; - isStock: boolean; -}; diff --git a/packages/database/src/models/BrandedPart.d.ts b/packages/database/src/models/BrandedPart.d.ts deleted file mode 100644 index 6ebf774f6..000000000 --- a/packages/database/src/models/BrandedPart.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export type BrandedPartType = { - brandedPartId: number; - partyTypeId: number; - modelId: number; - mfgDate: Date; - qtyAvailable: number; - retailPrice: number; - maxItemWear: number | null; - engineBlockFamilyId: number; -}; diff --git a/packages/database/src/models/BrandedPart.ts b/packages/database/src/models/BrandedPart.ts deleted file mode 100644 index 6ebf774f6..000000000 --- a/packages/database/src/models/BrandedPart.ts +++ /dev/null @@ -1,10 +0,0 @@ -export type BrandedPartType = { - brandedPartId: number; - partyTypeId: number; - modelId: number; - mfgDate: Date; - qtyAvailable: number; - retailPrice: number; - maxItemWear: number | null; - engineBlockFamilyId: number; -}; diff --git a/packages/database/src/models/Model.d.ts b/packages/database/src/models/Model.d.ts deleted file mode 100644 index f61604b3f..000000000 --- a/packages/database/src/models/Model.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -export type TModel = { - modelId: number; - brandId: number; - eModel: string | null; - gModel: string | null; - fModel: string | null; - sModel: string | null; - iModel: string | null; - jModel: string | null; - swModel: string | null; - bModel: string | null; - eExtraInfo: string | null; - gExtraInfo: string | null; - fExtraInfo: string | null; - sExtraInfo: string | null; - iExtraInfo: string | null; - jExtraInfo: string | null; - swExtraInfo: string | null; - bExtraInfo: string | null; - eShortModel: string | null; - gShortModel: string | null; - fShortModel: string | null; - sShortModel: string | null; - iShortModel: string | null; - jShortModel: string | null; - swShortModel: string | null; - bShortModel: string | null; - debug_string: string | null; - debug_sort_string: string | null; -}; diff --git a/packages/database/src/models/Model.ts b/packages/database/src/models/Model.ts deleted file mode 100644 index f61604b3f..000000000 --- a/packages/database/src/models/Model.ts +++ /dev/null @@ -1,30 +0,0 @@ -export type TModel = { - modelId: number; - brandId: number; - eModel: string | null; - gModel: string | null; - fModel: string | null; - sModel: string | null; - iModel: string | null; - jModel: string | null; - swModel: string | null; - bModel: string | null; - eExtraInfo: string | null; - gExtraInfo: string | null; - fExtraInfo: string | null; - sExtraInfo: string | null; - iExtraInfo: string | null; - jExtraInfo: string | null; - swExtraInfo: string | null; - bExtraInfo: string | null; - eShortModel: string | null; - gShortModel: string | null; - fShortModel: string | null; - sShortModel: string | null; - iShortModel: string | null; - jShortModel: string | null; - swShortModel: string | null; - bShortModel: string | null; - debug_string: string | null; - debug_sort_string: string | null; -}; diff --git a/packages/database/src/models/Part.d.ts b/packages/database/src/models/Part.d.ts deleted file mode 100644 index a17b488d9..000000000 --- a/packages/database/src/models/Part.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type TPart = { - partId: number; - parentPartId: number | null; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number | null; - ownerID: number | null; - partName: string | null; - repairCost: number; - scrapValue: number; -}; diff --git a/packages/database/src/models/Part.ts b/packages/database/src/models/Part.ts deleted file mode 100644 index a17b488d9..000000000 --- a/packages/database/src/models/Part.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type TPart = { - partId: number; - parentPartId: number | null; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number | null; - ownerID: number | null; - partName: string | null; - repairCost: number; - scrapValue: number; -}; diff --git a/packages/database/src/models/VehiclePartTree.d.ts b/packages/database/src/models/VehiclePartTree.d.ts deleted file mode 100644 index 6098d1dc8..000000000 --- a/packages/database/src/models/VehiclePartTree.d.ts +++ /dev/null @@ -1,57 +0,0 @@ -/// -import type { TPart } from "./Part.js"; -export type TVehicle = { - vehicleId: number; - skinId: number; - flags: number; - class: number; - infoSetting: number; - damageInfo: Buffer | null; -}; -export type VehiclePartTreeType = { - vehicleId: number; - skinId: number; - flags: number; - class: number; - infoSetting: number; - damageInfo: Buffer | null; - isStock: boolean; - ownedLotId: number | null; - ownerID: number | null; - partId: number; - parentPartId: null; - brandedPartId: number; - partTree: { - level1: { - partId: number; - parts: TPart[]; - }; - level2: { - partId: number; - parts: TPart[]; - }; - }; -}; -export declare function savePart(part: TPart): Promise; -export declare function saveVehicle( - vehiclePartTree: VehiclePartTreeType, -): Promise; -export declare function saveVehiclePartTree( - vehiclePartTree: VehiclePartTreeType, -): Promise; -export declare function buildVehiclePartTreeFromDB( - vehicleId: number, -): Promise; -export declare function buildVehiclePartTree({ - brandedPartId, - skinId, - ownedLotId, - ownerID, - isStock, -}: { - brandedPartId: number; - skinId: number; - ownedLotId?: number; - ownerID?: number; - isStock: boolean; -}): Promise; diff --git a/packages/database/src/models/VehiclePartTree.ts b/packages/database/src/models/VehiclePartTree.ts deleted file mode 100644 index 4d1e8b328..000000000 --- a/packages/database/src/models/VehiclePartTree.ts +++ /dev/null @@ -1,584 +0,0 @@ -import { getServerLogger } from "../../../shared"; -import * as Sentry from "@sentry/node"; -import { setVehiclePartTree } from "../cache.js"; -import { getSlonik } from "../services/database.js"; -import type { TPart } from "./Part.js"; - -const level1PartTypes = [1001, 2001, 4001, 5001, 6001, 15001, 36001, 37001]; - -const partNumbersMap = new Map(); - -const log = getServerLogger(); - -export type TVehicle = { - vehicleId: number; - skinId: number; - flags: number; - class: number; - infoSetting: number; - damageInfo: Buffer | null; -}; - -export type VehiclePartTreeType = { - vehicleId: number; - skinId: number; - flags: number; - class: number; - infoSetting: number; - damageInfo: Buffer | null; - isStock: boolean; - // One of the following two properties is required - ownedLotId: number | null; - ownerID: number | null; - partId: number; - parentPartId: null; - brandedPartId: number; - partTree: { - level1: { - partId: number; - parts: TPart[]; - }; - level2: { - partId: number; - parts: TPart[]; - }; - }; -}; - -async function getNextPartId(): Promise { - const result = await Sentry.startSpan( - { - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - const { nextval } = await slonik.one(sql.typeAlias("nextPartId")` - SELECT nextval('part_partid_seq') - `); - return Number(nextval); - }, - ); - return result; -} - -export async function savePart(part: TPart): Promise { - await Sentry.startSpan( - { - name: "Save part", - op: "db.query", - description: - "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - attributes: { - sql: "INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10)", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.query(sql.typeAlias("dbPart")` - INSERT INTO part ( - partid, - parentpartid, - brandedpartid, - percentdamage, - itemwear, - attachmentpointid, - ownerid, - partname, - repaircost, - scrapvalue - ) VALUES ( - ${part.partId}, - ${part.parentPartId}, - ${part.brandedPartId}, - ${part.percentDamage}, - ${part.itemWear}, - ${part.attachmentPointId}, - ${part.ownerID}, - ${part.partName}, - ${part.repairCost}, - ${part.scrapValue} - ) - `); - }, - ); -} - -export async function saveVehicle( - vehiclePartTree: VehiclePartTreeType, -): Promise { - try { - const vehiclePart: TPart = { - partId: vehiclePartTree.vehicleId, - parentPartId: null, - brandedPartId: vehiclePartTree.brandedPartId, - percentDamage: 0, - itemWear: 0, - attachmentPointId: null, - ownerID: vehiclePartTree.ownerID || null, - partName: null, - repairCost: 0, - scrapValue: 0, - }; - - log.debug(`Saving vehicle part: ${JSON.stringify(vehiclePart)}`); - await savePart(vehiclePart); - - const newVehicle: TVehicle = { - vehicleId: vehiclePartTree.vehicleId, - skinId: vehiclePartTree.skinId, - flags: vehiclePartTree.flags, - class: vehiclePartTree.class, - infoSetting: vehiclePartTree.infoSetting, - damageInfo: vehiclePartTree.damageInfo, - }; - - log.debug(`Saving vehicle: ${JSON.stringify(newVehicle)}`); - - await Sentry.startSpan( - { - name: "Save vehicle", - op: "db.query", - description: - "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - attributes: { - sql: "INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) VALUES ($1, $2, $3, $4, $5, $6)", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.query(sql.typeAlias("vehicle")` - INSERT INTO vehicle ( - vehicleid, - skinid, - flags, - class, - infosetting, - damageinfo - ) VALUES ( - ${newVehicle.vehicleId}, - ${newVehicle.skinId}, - ${newVehicle.flags}, - ${newVehicle.class}, - ${newVehicle.infoSetting}, - ${newVehicle.damageInfo} - ) - `); - }, - ); - } catch (error) { - log.error(`Error saving vehicle: ${error}`); - throw error; - } -} - -export async function saveVehiclePartTree( - vehiclePartTree: VehiclePartTreeType, -): Promise { - try { - const partIds = new Set(); - - const partTree = vehiclePartTree.partTree; - - for (const part of partTree.level1.parts) { - partIds.add(part.partId); - } - - for (const part of partTree.level2.parts) { - partIds.add(part.partId); - } - - for (const partId of partIds) { - const part = - partTree.level1.parts.find((p) => p.partId === partId) || - partTree.level2.parts.find((p) => p.partId === partId); - if (!part) { - log.error(`Part with partId ${partId} not found`); - throw new Error(`Part with partId ${partId} not found`); - } - await savePart(part); - } - - // Save the vehicle part tree in the cache - setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); - } catch (error) { - log.error(`Error saving vehicle part tree: ${error}`); - throw error; - } -} - -export async function buildVehiclePartTreeFromDB( - vehicleId: number, -): Promise { - const vehicle = await Sentry.startSpan( - { - name: "Get vehicle", - op: "db.query", - description: - "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - attributes: { - sql: "SELECT vehicleid, skinid, flags, class, infosetting, damageinfo FROM vehicle WHERE vehicleid = $1", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.one(sql.typeAlias("vehicle")` - SELECT vehicleid, skinid, flags, class, infosetting, damageinfo - FROM vehicle - WHERE vehicleid = ${vehicleId} - `); - }, - ); - - if (!vehicle) { - log.error(`Vehicle with id ${vehicleId} does not exist`); - throw new Error(`Vehicle with id ${vehicleId} does not exist`); - } - - const vehiclePartTree: VehiclePartTreeType = { - vehicleId: vehicle.vehicleid, - skinId: vehicle.skinid, - flags: vehicle.flags, - class: vehicle.class, - infoSetting: vehicle.infosetting, - damageInfo: vehicle.damageinfo, - isStock: false, - ownedLotId: null, - ownerID: null, - partId: vehicle.vehicleid, - parentPartId: null, - brandedPartId: 0, - partTree: { - level1: { - partId: 0, - parts: [], - }, - level2: { - partId: 0, - parts: [], - }, - }, - }; - - // Get first part - const part = await Sentry.startSpan( - { - name: "Get part", - op: "db.query", - description: - "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE partid = $1", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.one(sql.typeAlias("part")` - SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue - FROM part - WHERE partid = ${vehicleId} - `); - }, - ); - - if (!part) { - log.error(`Part with id ${vehicleId} does not exist`); - throw new Error(`Part with id ${vehicleId} does not exist`); - } - - vehiclePartTree.brandedPartId = part.brandedpartid; - vehiclePartTree.ownerID = part.ownerid; - - const level1Parts = await Sentry.startSpan( - { - name: "Get level 1 parts", - op: "db.query", - description: - "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid = $1", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.many(sql.typeAlias("dbPart")` - SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue - FROM part - WHERE parentpartid = ${vehicleId} - `); - }, - ); - - if (level1Parts.length === 0) { - log.error(`Vehicle with id ${vehicleId} has no parts`); - throw new Error(`Vehicle with id ${vehicleId} has no parts`); - } - - log.debug(`We got parts!`); - log.debug( - `There are ${level1Parts.length} level 1 parts in the vehicle assembly`, - ); - - const level1PartsIds = level1Parts.map((part) => part.partid); - - log.debug(`level1PartsIds: ${level1PartsIds}`); - - for (const part of level1Parts) { - log.debug( - `Adding part: ${JSON.stringify(part)} to vehicle part tree level 1`, - ); - - const newPart: TPart = { - partId: part.partid, - parentPartId: part.parentpartid, - brandedPartId: part.brandedpartid, - percentDamage: part.percentdamage, - itemWear: part.itemwear, - attachmentPointId: part.attachmentpointid, - ownerID: part.ownerid, - partName: part.partname, - repairCost: part.repaircost, - scrapValue: part.scrapvalue, - }; - - vehiclePartTree.partTree.level1.parts.push(newPart); - } - - const level2Parts = await Sentry.startSpan( - { - name: "Get level 2 parts", - op: "db.query", - description: - "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - attributes: { - sql: "SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue FROM part WHERE parentpartid IN ($1)", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.many(sql.typeAlias("dbPart")` - SELECT partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue - FROM part - WHERE parentpartid IN (${sql.join(level1PartsIds, sql.fragment`, `)}) - `); - }, - ); - - if (level2Parts.length === 0) { - log.error(`Vehicle with id ${vehicleId} has no level 2 parts`); - throw new Error(`Vehicle with id ${vehicleId} has no level 2 parts`); - } - - log.debug(`We got parts!`); - log.debug( - `There are ${level2Parts.length} level 2 parts in the vehicle assembly`, - ); - - for (const part of level2Parts) { - const newPart: TPart = { - partId: part.partid, - parentPartId: part.parentpartid, - brandedPartId: part.brandedpartid, - percentDamage: part.percentdamage, - itemWear: part.itemwear, - attachmentPointId: part.attachmentpointid, - ownerID: part.ownerid, - partName: part.partname, - repairCost: part.repaircost, - scrapValue: part.scrapvalue, - }; - - vehiclePartTree.partTree.level2.parts.push(newPart); - } - - log.debug(`Vehicle part tree populated`); - log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); - - setVehiclePartTree(vehiclePartTree.vehicleId, vehiclePartTree); - - return vehiclePartTree; -} - -export async function buildVehiclePartTree({ - brandedPartId, - skinId, - ownedLotId, - ownerID, - isStock, -}: { - brandedPartId: number; - skinId: number; - ownedLotId?: number; - ownerID?: number; - isStock: boolean; -}): Promise { - if (ownedLotId === undefined && ownerID === undefined) { - log.error(`ownedLotId or ownerID is required`); - throw new Error("ownedLotId or ownerID is required"); - } - - const skinFlags = await Sentry.startSpan( - { - name: "Get skin flags", - op: "db.query", - description: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - attributes: { - sql: "SELECT defaultflag FROM ptskin WHERE skinid = $1", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.one(sql.typeAlias("ptSkin")` - SELECT defaultflag - FROM ptskin - WHERE skinid = ${skinId} - `); - }, - ); - - if (!skinFlags) { - log.error(`Skin with id ${skinId} does not exist`); - throw new Error(`Skin with id ${skinId} does not exist`); - } - - let vehicleId = undefined; - - // Get the vehicle assembly from the database - const vehicleAssembly = await Sentry.startSpan( - { - name: "Get vehicle assembly", - op: "db.query", - description: - "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - attributes: { - sql: "SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid FROM stockassembly a INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid inner join parttype pt on pt.parttypeid = bp.parttypeid inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid WHERE a.parentbrandedpartid = $1", - db: "postgres", - }, - }, - async (span) => { - const { slonik, sql } = await getSlonik(); - return slonik.many(sql.typeAlias("detailedPart")` - SELECT bp.brandedpartid, bp.parttypeid, a.attachmentpointid, pt.abstractparttypeid, apt.parentabstractparttypeid - FROM stockassembly a - INNER JOIN brandedpart bp ON a.childbrandedpartid = bp.brandedpartid - inner join parttype pt on pt.parttypeid = bp.parttypeid - inner join abstractparttype apt on apt.abstractparttypeid = pt.abstractparttypeid - WHERE a.parentbrandedpartid = ${brandedPartId} - `); - }, - ); - - if (vehicleAssembly.length === 0) { - log.error( - `Vehicle assembly with branded part id ${brandedPartId} does not exist`, - ); - throw new Error( - `Vehicle assembly with branded part id ${brandedPartId}`, - ); - } - - // But we did get parts, right? - log.debug(`We got parts!`); - log.debug( - `There are ${vehicleAssembly.length} parts in the vehicle assembly`, - ); - - const topPartId = await getNextPartId(); - - partNumbersMap.set(101, topPartId); - - const vehiclePartTree: VehiclePartTreeType = { - vehicleId: topPartId, - skinId, - isStock, - flags: skinFlags.defaultflag, - class: 0, - infoSetting: 0, - damageInfo: null, - ownedLotId: ownedLotId || null, - ownerID: ownerID || null, - partId: topPartId, - parentPartId: null, - brandedPartId, - partTree: { - level1: { - partId: 0, - parts: [], - }, - level2: { - partId: 0, - parts: [], - }, - }, - }; - - log.debug(`Vehicle part tree created`); - log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); - - // Populate the vehicle part tree - for (const part of vehicleAssembly) { - const parentPartId = partNumbersMap.get(part.parentabstractparttypeid); - - log.debug( - `parentAbstractPartTypeId: ${part.parentabstractparttypeid}, parentPartId: ${parentPartId}`, - ); - - if (parentPartId === undefined) { - log.error( - `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, - ); - throw new Error( - `parentPartId is undefined for part with parentabstractparttypeid ${part.parentabstractparttypeid}`, - ); - } - - const thisPartId = await getNextPartId(); - - if (!partNumbersMap.has(part.abstractparttypeid)) { - partNumbersMap.set(part.abstractparttypeid, thisPartId); - } - - const newPart: TPart = { - partId: thisPartId, - parentPartId: parentPartId, - brandedPartId: part.brandedpartid, - percentDamage: 0, - itemWear: 0, - attachmentPointId: part.attachmentpointid, - ownerID: ownerID || null, - partName: null, - repairCost: 0, - scrapValue: 0, - }; - - const partDepth = level1PartTypes.includes(part.abstractparttypeid) - ? 1 - : 2; - - if (partDepth === 1) { - vehiclePartTree.partTree.level1.parts.push(newPart); - } else if (partDepth === 2) { - vehiclePartTree.partTree.level2.parts.push(newPart); - } else { - log.error(`Part depth ${partDepth} is not supported`); - throw new Error(`Part depth ${partDepth} is not supported`); - } - } - - log.debug(`Vehicle part tree populated`); - log.debug(`Vehicle part tree: ${JSON.stringify(vehiclePartTree)}`); - - return vehiclePartTree; -} diff --git a/packages/database/src/seeders/index.ts b/packages/database/src/seeders/index.ts new file mode 100644 index 000000000..72f77aede --- /dev/null +++ b/packages/database/src/seeders/index.ts @@ -0,0 +1,200 @@ +import { player as playerSchema } from "../../../..//schema/player"; + +const playerCsvHeader = [ + "player_id", + "customer_id", + "player_type_id", + "sanctioned_score", + "challenge_score", + "last_logged_in", + "times_logged_in", + "bank_balance", + "num_cars_owned", + "is_logged_in", + "driver_style", + "lp_code", + "lp_text", + "car_num_1", + "car_num_2", + "car_num_3", + "car_num_4", + "car_num_5", + "car_num_6", + "dl_number", + "persona", + "address", + "residence", + "vehicle_id", + "current_race_id", + "offline_driver_skill", + "offline_grudge", + "offline_reputation", + "total_time_played", + "car_info_setting", + "stock_classic_class", + "stock_muscle_class", + "modified_classic_class", + "modified_muscle_class", + "outlaw_class", + "drag_class", + "challenge_rung", + "offline_ai_car_class", + "offline_ai_skin_id", + "offline_ai_car_bpt_id", + "offline_ai_state", + "bodytype", + "skin_color", + "hair_color", + "shirt_color", + "pants_color", + "offline_driver_style", + "offline_driver_attitude", + "evaded_fuzz", + "pinks_won", + "num_unread_mail", + "total_races_run", + "total_races_won", + "total_races_completed", + "total_winnings", + "insurance_risk_points", + "insurance_rating", + "challenge_races_run", + "challenge_races_won", + "challenge_races_completed", + "cars_lost", + "cars_won", +]; + +const playerCsvRow = [ + [ + 6, + 0, + 1, + 0, + 0, + new Date(0), + 0, + 999999, + 0, + 0, + 0, + 0, + null, + 0, + 0, + 0, + 0, + 0, + 0, + "xxx", + "All Factory Ford", + "1240 A Street", + "ABCDEFGHIJKLMNOPQRST", + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + null, + ], +]; + +export function csvRowToPlayer(row: (string | number | Date | null)[]): typeof playerSchema.$inferSelect { + return { + playerId: row[0] as number, + customerId: row[1] as number, + playerTypeId: row[2] as number, + sanctionedScore: row[3] as number, + challengeScore: row[4] as number, + lastLoggedIn: row[5] as Date, + timesLoggedIn: row[6] as number, + bankBalance: row[7] as number, + numCarsOwned: row[8] as number, + isLoggedIn: row[9] as number, + driverStyle: row[10] as number, + lpCode: row[11] as number, + lpText: row[12] as string | null, + carNum1: row[13] as string, + carNum2: row[14] as string, + carNum3: row[15] as string, + carNum4: row[16] as string, + carNum5: row[17] as string, + carNum6: row[18] as string, + dlNumber: row[19] as string, + persona: row[20] as string, + address: row[21] as string, + residence: row[22] as string, + vehicleId: row[23] as number | null, + currentRaceId: row[24] as number | null, + offlineDriverSkill: row[25] as number | null, + offlineGrudge: row[26] as number | null, + offlineReputation: row[27] as number | null, + totalTimePlayed: row[28] as number | null, + carInfoSetting: row[29] as number | null, + stockClassicClass: row[30] as number | null, + stockMuscleClass: row[31] as number | null, + modifiedClassicClass: row[32] as number | null, + modifiedMuscleClass: row[33] as number | null, + outlawClass: row[34] as number | null, + dragClass: row[35] as number | null, + challengeRung: row[36] as number | null, + offlineAiCarClass: row[37] as number | null, + offlineAiSkinId: row[38] as number | null, + offlineAiCarBptId: row[39] as number | null, + offlineAiState: row[40] as number | null, + bodytype: row[41] as number | null, + skinColor: row[42] as number | null, + hairColor: row[43] as number | null, + shirtColor: row[44] as number | null, + pantsColor: row[45] as number | null, + offlineDriverStyle: row[46] as number | null, + offlineDriverAttitude: row[47] as number | null, + evadedFuzz: row[48] as number | null, + pinksWon: row[49] as number | null, + numUnreadMail: row[50] as number | null, + totalRacesRun: row[51] as number | null, + totalRacesWon: row[52] as number | null, + totalRacesCompleted: row[53] as number | null, + totalWinnings: row[54] as number | null, + insuranceRiskPoints: row[55] as number | null, + insuranceRating: row[56] as number | null, + challengeRacesRun: row[57] as number | null, + challengeRacesWon: row[58] as number | null, + challengeRacesCompleted: row[59] as number | null, + carsLost: row[60] as number | null, + carsWon: row[61] as number | null, + }; +} + +for (const row of playerCsvRow) { + if (row.length !== playerCsvHeader.length) { + throw new Error(`Row length does not match header length: got ${row.length}, expected ${playerCsvHeader.length}`); + } + + const player = [csvRowToPlayer(row.map((value, index) => { + if (typeof value === "undefined") { + throw new Error(`Undefined value at index $(playerCsvHeader[index])`); + } + + return value; + }))]; +} diff --git a/packages/database/src/seeders/populateAbstractPartType.ts b/packages/database/src/seeders/populateAbstractPartType.ts new file mode 100644 index 000000000..53315eb52 --- /dev/null +++ b/packages/database/src/seeders/populateAbstractPartType.ts @@ -0,0 +1,55 @@ +import { getServerLogger } from "../../../shared"; +import { abstractPartType as abstractPartTypeSchema } from "../../../../schema/abstractPartType"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateAbstractPartType(): Promise { + log.setName("seeders/populateAbstractPartType"); + + log.debug("Seeding abstractPartType"); + + await getDatabase() + .insert(abstractPartTypeSchema) + .values([ + { + abstractPartTypeId: 101, + // parentAbstractPartTypeId: null, + // dependsOn: null, + // partFilename: null, + eAPT: "Vehicle", + // gAPT: null, + // fAPT: null, + // sAPT: null, + // iAPT: null, + // jAPT: null, + // swAPT: null, + // bAPT: null, + // modifiedRule: 0, + // eUT: null, + // gUT: null, + // fUT: null, + // sUT: null, + // iUT: null, + // jUT: null, + // swUT: null, + // bUT: null, + // partPaired: 0, + // schematicPicname1: null, + // schematicPicname2: "VEH%d", + // blockFamilyCompatibility: 0, + // repairCostModifier: 1.0, + // scrapCostModifier: 1.0, + // garageCategory: 0, + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("abstractPartType seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding abstractPartType: ${error.message}`); + Sentry.captureException(error); + }); +} + diff --git a/packages/database/src/seeders/populateBrand.ts b/packages/database/src/seeders/populateBrand.ts new file mode 100644 index 000000000..6b7b852a8 --- /dev/null +++ b/packages/database/src/seeders/populateBrand.ts @@ -0,0 +1,121 @@ +import { getServerLogger } from "../../../shared"; +import { brand as brandSchema } from "../../../../schema/brand"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateBrand(): Promise { + log.setName("seeders/populateBrand"); + + log.debug("Seeding brand"); + + await getDatabase() + .insert(brandSchema) + .values([ + { + brandId: 1, + brand: "Ford", + picName: "ford", + isStock: 9, + }, + { + brandId: 2, + brand: "Mercury", + picName: "merc", + isStock: 9, + }, + { + brandId: 3, + brand: "Chevrolet", + picName: "chev", + isStock: 9, + }, + { + brandId: 4, + brand: "Cadillac", + picName: "cadi", + isStock: 9, + }, + { + brandId: 5, + brand: "Oldsmobile", + picName: "olds", + isStock: 9, + }, + { + brandId: 6, + brand: "Buick", + picName: "buic", + isStock: 9, + }, + { + brandId: 7, + brand: "Pontiac", + picName: "pont", + isStock: 9, + }, + { + brandId: 8, + brand: "Chrysler", + picName: "chry", + isStock: 9, + }, + { + brandId: 9, + brand: "Dodge", + picName: "dodg", + isStock: 9, + }, + { + brandId: 10, + brand: "Plymouth", + picName: "plym", + isStock: 9, + }, + { + brandId: 11, + brand: "AMC", + picName: "amer", + isStock: 9, + }, + { + brandId: 12, + brand: "AMC", + picName: null, + isStock: 9, + }, + { + brandId: 13, + brand: "Edelbrock", + picName: "edel", + isStock: 9, + }, + { + brandId: 14, + brand: "Holley", + picName: "holl", + isStock: 9, + }, + { + brandId: 15, + brand: "GM", + picName: "gm", + isStock: 9, + }, + { + brandId: 16, + brand: "Rochester", + picName: "roch", + isStock: 9 + } + ]) + .onConflictDoNothing() + .then(() => { + log.debug("Brand seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding brand: ${error.message}`); + Sentry.captureException(error); + }); +} + diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts new file mode 100644 index 000000000..4ebb258be --- /dev/null +++ b/packages/database/src/seeders/populateBrandedPart.ts @@ -0,0 +1,113 @@ +import { getServerLogger } from "../../../shared"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateBrandedPart(): Promise { + log.setName("seeders/populateBrandedPart"); + + log.debug("Seeding brandedPart"); + + await getDatabase() + .insert(brandedPartSchema) + .values([ + { + brandedPartId: 104, + partTypeId: 104, + modelId: 21, + qtyAvail: 1000, + retailPrice: 0, + maxItemWear: 30000, + }, + { + brandedPartId: 111, + partTypeId: 111, + modelId: 36, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 30000, + }, + { + brandedPartId: 117, + partTypeId: 117, + modelId: 26, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 30000, + }, + { + brandedPartId: 125, + partTypeId: 125, + modelId: 9, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 30000, + }, + { + brandedPartId: 130, + partTypeId: 130, + modelId: 20, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 30000, + }, + { + brandedPartId: 339, + partTypeId: 214, + modelId: 2183, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + { + brandedPartId: 353, + partTypeId: 228, + modelId: 2197, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + { + brandedPartId: 379, + partTypeId: 103, + modelId: 2371, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + { + brandedPartId: 384, + partTypeId: 108, + modelId: 2377, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + { + brandedPartId: 389, + partTypeId: 132, + modelId: 2382, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + { + brandedPartId: 394, + partTypeId: 120, + modelId: 2387, + qtyAvail: 0, + retailPrice: 0, + maxItemWear: 1500, + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("BrandedPart seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding brandedPart: ${error.message}`); + Sentry.captureException(error); + }); +} + diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts new file mode 100644 index 000000000..45f716915 --- /dev/null +++ b/packages/database/src/seeders/populateModel.ts @@ -0,0 +1,125 @@ +import { getServerLogger } from "../../../shared"; +import { model as modelSchema } from "../../../../schema/model"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateModel(): Promise { + log.setName("seeders/populateModel"); + + log.debug("Seeding model"); + + await getDatabase() + .insert(modelSchema) + .values([ + { + modelId: 20, + brandId: 1, + eModel: "Firebird T/A", + eExtraInfo: "a/t", + eShortModel: "Firebird", + debug_string: "1973 Pontiac Firebird T/A", + debug_sort_string: "Vehicle", + }, + { + modelId: 21, + brandId: 1, + eModel: "Fairlane", + eExtraInfo: "a/t", + eShortModel: "Fairlane", + debug_string: "Ford 57 Fairlane 500", + debug_sort_string: "Vehicle", + }, + { + modelId: 36, + brandId: 1, + eModel: "Boss 302", + eExtraInfo: "a/t", + eShortModel: "Boss 302", + debug_string: "Ford 70 Mustang Boss 302", + debug_sort_string: "Vehicle", + }, + { + modelId: 26, + brandId: 3, + eModel: "Stingray", + eExtraInfo: "a/t", + eShortModel: "Stingray", + debug_string: "Chevrolet 63 Stingray", + debug_sort_string: "Vehicle", + }, + { + modelId: 9, + brandId: 4, + eModel: "Eldorado", + eExtraInfo: "a/t", + eShortModel: "Eldorado", + debug_string: "Cadillac 59 Eldorado", + debug_sort_string: "Vehicle", + }, + { + modelId: 2183, + brandId: 10, + eModel: "Hemi Cuda", + eExtraInfo: "a/t", + eShortModel: "Hemi Cuda", + debug_string: "Plymouth 70 Hemi Cuda", + debug_sort_string: "Vehicle", + }, + { + modelId: 2197, + brandId: 7, + eModel: "Firebird", + eExtraInfo: "a/t", + eShortModel: "Firebird", + debug_string: "Pontiac 73 Firebird", + debug_sort_string: "Vehicle", + }, + { + modelId: 2371, + brandId: 1, + eModel: "Crestline", + eExtraInfo: "a/t", + eShortModel: "Crestline", + debug_string: "Super Vic (arcade)", + debug_sort_string: "Vehicle", + }, + { + modelId: 2377, + brandId: 1, + eModel: "Mustang", + eExtraInfo: "a/t", + eShortModel: "Mustang", + debug_string: "1964 Ford Mustang modified for arcade Street Racing", + debug_sort_string: "Vehicle", + }, + { + modelId: 2382, + brandId: 9, + eModel: "Charger", + eExtraInfo: null, + eShortModel: "Charger", + debug_string: "1969 Dodge Charger modified for arcade Street Racing", + debug_sort_string: "Vehicle", + }, + { + modelId: 2387, + brandId: 3, + eModel: "Camaro", + eExtraInfo: null, + eShortModel: "Camaro", + debug_string: "1967 Chevrolet Camaro modified for arcade Street Racing", + debug_sort_string: "Vehicle", + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("Model seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding model: ${error.message}`); + Sentry.captureException(error); + }); +} + + diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts new file mode 100644 index 000000000..678b88623 --- /dev/null +++ b/packages/database/src/seeders/populatePartGrade.ts @@ -0,0 +1,34 @@ +import { getServerLogger } from "../../../shared"; +import { partGrade as partGradeSchema } from "../../../../schema/partGrade"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populatePartGrade(): Promise { + log.setName("seeders/populatePartGrade"); + + log.debug("Seeding partGrade"); + + await getDatabase() + .insert(partGradeSchema) + .values([ + { + partGradeId: 1, + eText: "Stock", + gText: null, + fText: null, + partGrade: null, + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("PartGrade seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding partGrade: ${error.message}`); + Sentry.captureException(error); + }); +} + + + diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts new file mode 100644 index 000000000..46bc9b387 --- /dev/null +++ b/packages/database/src/seeders/populatePartType.ts @@ -0,0 +1,98 @@ +import { getServerLogger } from "../../../shared"; +import { partType as partTypeSchema } from "../../../../schema/partType"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populatePartType(): Promise { + log.setName("seeders/populatePartType"); + + log.debug("Seeding partType"); + + await getDatabase() + .insert(partTypeSchema) + .values([ + { + partTypeId: 101, + abstractPartTypeId: 101, + partType: "1932 Ford V-8 Coupe", + partGradeId: 1, + }, + { + partTypeId: 104, + abstractPartTypeId: 101, + partType: "1957 Ford Fairlane 500", + partGradeId: 1, + }, + { + partTypeId: 111, + abstractPartTypeId: 101, + partType: "1970 Ford Boss 302 Mustang", + partGradeId: 1, + }, + { + partTypeId: 117, + abstractPartTypeId: 101, + partType: "1963 Chevy Corvette Stingray", + partGradeId: 1, + }, + { + partTypeId: 125, + abstractPartTypeId: 101, + partType: "1959 Cadillac Eldorado Biarritz", + partGradeId: 1, + }, + { + partTypeId: 130, + abstractPartTypeId: 101, + partType: "1973 Pontiac Firebird T/A", + partGradeId: 1, + }, + { + partTypeId: 214, + abstractPartTypeId: 101, + partType: "1970 Plymouth 440 Cuda", + partGradeId: 1, + }, + { + partTypeId: 228, + abstractPartTypeId: 101, + partType: "1973 Pontiac Firebird", + partGradeId: 1, + }, + { + partTypeId: 103, + abstractPartTypeId: 101, + partType: "1953 Ford Crestline", + partGradeId: 1, + }, + { + partTypeId: 108, + abstractPartTypeId: 101, + partType: "1965 Ford Mustang", + partGradeId: 1, + }, + { + partTypeId: 132, + abstractPartTypeId: 101, + partType: "1969 Dodge Charger", + partGradeId: 1, + }, + { + partTypeId: 120, + abstractPartTypeId: 101, + partType: "1967 Chevy Camaro", + partGradeId: 1, + } + ]) + .onConflictDoNothing() + .then(() => { + log.debug("PartType seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding partType: ${error.message}`); + Sentry.captureException(error); + }); +} + + diff --git a/packages/database/src/seeders/populatePlayer.ts b/packages/database/src/seeders/populatePlayer.ts new file mode 100644 index 000000000..5227748f4 --- /dev/null +++ b/packages/database/src/seeders/populatePlayer.ts @@ -0,0 +1,82 @@ +import { getServerLogger } from "../../../shared"; +import { player as playerSchema } from "../../../../schema/player"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); + +export async function populatePlayer(): Promise { + log.setName("seeders/populatePlayer"); + + log.debug("Seeding player"); + + await getDatabase() + .insert(playerSchema) + .values([ + { + playerId: 6, + customerId: 0, + playerTypeId: 1, + sanctionedScore: 0, + challengeScore: 0, + lastLoggedIn: new Date(0), + timesLoggedIn: 0, + bankBalance: 999999, + numCarsOwned: 0, + isLoggedIn: 0, + driverStyle: 0, + lpCode: 0, + lpText: null, + dlNumber: "xxx", + persona: "All Factory Ford", + address: "1240 A Street", + residence: "ABCDEFGHIJKLMNOPQRST", + }, + { + playerId: 8, + customerId: 0, + playerTypeId: 1, + sanctionedScore: 0, + challengeScore: 0, + lastLoggedIn: new Date(0), + timesLoggedIn: 0, + bankBalance: 999999, + numCarsOwned: 0, + isLoggedIn: 0, + driverStyle: 0, + lpCode: 0, + lpText: null, + dlNumber: "xxx", + persona: "Scrappy", + address: "1243 A Street", + residence: "ABCDEFGHIJKLMNOPQRST", + }, + { + playerId: 10, + customerId: 0, + playerTypeId: 1, + sanctionedScore: 0, + challengeScore: 0, + lastLoggedIn: new Date(0), + timesLoggedIn: 0, + bankBalance: 999999, + numCarsOwned: 0, + isLoggedIn: 0, + driverStyle: 0, + lpCode: 0, + lpText: null, + dlNumber: "xxx", + persona: "Joe", + address: "1244 A Street", + residence: "ABCDEFGHIJKLMNOPQRST", + }, + ]) + .onConflictDoNothing() + .finally(() => { + log.debug("Player seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding player: ${error.message}`); + Sentry.captureException(error); + }); +} diff --git a/packages/database/src/seeders/populatePlayerType.ts b/packages/database/src/seeders/populatePlayerType.ts new file mode 100644 index 000000000..c9f27b589 --- /dev/null +++ b/packages/database/src/seeders/populatePlayerType.ts @@ -0,0 +1,28 @@ +import { getServerLogger } from "../../../shared"; +import { playerType as playerTypeSchema } from "../../../../schema/playerType"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populatePlayerType(): Promise { + log.setName("seeders/populatePlayerType"); + + log.debug("Seeding playerType"); + + await getDatabase() + .insert(playerTypeSchema) + .values([ + { + playerTypeId: 1, + playerType: "System" + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("PlayerType seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding playerType: ${error.message}`); + Sentry.captureException(error); + }); +} diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts new file mode 100644 index 000000000..559bed0d6 --- /dev/null +++ b/packages/database/src/seeders/populateSkin.ts @@ -0,0 +1,92 @@ +import { getServerLogger } from "../../../shared"; +import { skin as skinSchema } from "../../../../schema/skin"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateSkin(): Promise { + log.setName("seeders/populateSkin"); + + log.debug("Seeding skin"); + + await getDatabase() + .insert(skinSchema) + .values([ + { + skinId: 1, + creatorId: 10, + skinTypeId: 1, + partTypeId: 101, + eSkin: "Candy Apple Red", + gSkin: null, + fSkin: null, + sSkin: null, + iSkin: null, + jSkin: null, + swSkin: null, + bSkin: null, + price: 200, + partFilename: "32fortin", + h0: 1, + s0: 211, + v0: 255, + c0: 128, + x0: 32, + y0: 255, + h1: 1, + s1: 211, + v1: 255, + c1: 128, + x1: 32, + y1: 255, + h2: 1, + s2: 211, + v2: 255, + c2: 128, + x2: 32, + y2: 255, + h3: 1, + s3: 211, + v3: 255, + c3: 128, + x3: 32, + y3: 255, + h4: 1, + s4: 211, + v4: 255, + c4: 128, + x4: 32, + y4: 255, + h5: 1, + s5: 211, + v5: 255, + c5: 128, + x5: 32, + y5: 255, + h6: 1, + s6: 211, + v6: 255, + c6: 128, + x6: 32, + y6: 255, + h7: 1, + s7: 211, + v7: 255, + c7: 128, + x7: 32, + y7: 255, + defaultFlag: 0, + creatorName: "Factory", + commentText: "As per 32-Ford CSV", + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("Skin seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding skin: ${error.message}`); + Sentry.captureException(error); + }); +} + diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts new file mode 100644 index 000000000..d865306d3 --- /dev/null +++ b/packages/database/src/seeders/populateSkinType.ts @@ -0,0 +1,29 @@ +import { getServerLogger } from "../../../shared"; +import { skinType as skinTypeSchema } from "../../../../schema/skinType"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateSkinType(): Promise { + log.setName("seeders/populateSkinType"); + + log.debug("Seeding skinType"); + + await getDatabase() + .insert(skinTypeSchema) + .values([ + { + skinTypeId: 1, + skinType: "Tinted", + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("SkinType seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding skinType: ${error.message}`); + Sentry.captureException(error); + }); +} + diff --git a/packages/database/src/seeders/populateWarehouse.ts b/packages/database/src/seeders/populateWarehouse.ts new file mode 100644 index 000000000..45840f7ab --- /dev/null +++ b/packages/database/src/seeders/populateWarehouse.ts @@ -0,0 +1,124 @@ +import { getServerLogger } from "../../../shared"; +import { warehouse as wareHouseSchema } from "../../../../schema/warehouse"; +import { getDatabase } from "../services/database"; +import * as Sentry from "@sentry/node"; + +const log = getServerLogger(); +export async function populateWarehouse(): Promise { + log.setName("seeders/populateWarehouse"); + + log.debug("Seeding warehouse"); + + await getDatabase() + .insert(wareHouseSchema) + .values([ + // All Factory Ford + { + brandedPartId: 104, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 111, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 117, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 125, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 339, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 353, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 379, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 384, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 389, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 394, + playerId: 6, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + // Scrappy's Cars + { + brandedPartId: 394, + playerId: 8, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 384, + playerId: 8, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 389, + playerId: 8, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + { + brandedPartId: 394, + playerId: 8, + isDealOfTheDay: 0, + skinId: 1, // is ignored + qtyAvail: 999, // is ignored + }, + ]) + .onConflictDoNothing() + .then(() => { + log.debug("Warehouse seeded"); + }) + .catch((error: Error) => { + log.error(`Error seeding warehouse: ${error.message}`); + Sentry.captureException(error); + }); +} diff --git a/packages/database/src/services/admin.d.ts b/packages/database/src/services/admin.d.ts deleted file mode 100644 index f5ba25500..000000000 --- a/packages/database/src/services/admin.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export declare function createNewCar( - brandedPartId: number, - skinId: number, - newCarOwnerId: number, -): Promise; -export type DBPart = { - partId: number; - parentPartId: number; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number; - ownerId: number; - partName: string; - repairCost: number; - scrapValue: number; -}; diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts index 72b158d30..0ce8749b1 100644 --- a/packages/database/src/services/admin.ts +++ b/packages/database/src/services/admin.ts @@ -1,6 +1,12 @@ -import type { DatabaseTransactionConnection } from "slonik"; -import { getSlonik } from "./database.js"; +import { getDatabase } from "./database.js"; import * as Sentry from "@sentry/node"; +import { getServerLogger } from "@rustymotors/shared"; +import { player as playerSchema } from "../../../../schema/player.js"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; +import { partType as partTypeSchema } from "../../../../schema/partType.js"; +import { eq } from "drizzle-orm"; + +const log = getServerLogger(); async function playerExists(playerId: number): Promise { return Sentry.startSpan( @@ -14,15 +20,15 @@ async function playerExists(playerId: number): Promise { }, }, async () => { - const { slonik, sql } = await getSlonik(); - return slonik.exists(sql.typeAlias("id")` - SELECT 1 FROM player WHERE playerid = ${playerId} - `); + return await Player.findByPk(playerId).then( + (player) => player !== null, + ); }, ); } async function skinExists(skinId: number): Promise { + log.setName("skinExists"); return Sentry.startSpan( { name: "skinExists", @@ -34,10 +40,7 @@ async function skinExists(skinId: number): Promise { }, }, async () => { - const { slonik, sql } = await getSlonik(); - return slonik.exists(sql.typeAlias("id")` - SELECT 1 FROM ptskin WHERE skinid = ${skinId} - `); + return await PTSkin.findByPk(skinId).then((skin) => skin !== null); }, ); } @@ -45,7 +48,7 @@ async function skinExists(skinId: number): Promise { async function getAbstractPartTypeIDForBrandedPartID( brandedPartId: number, ): Promise { - const abstractPartTypeId = await Sentry.startSpan( + return Sentry.startSpan( { name: "GetAbstractPartTypeIDForBrandedPartID", op: "db.query", @@ -57,20 +60,38 @@ async function getAbstractPartTypeIDForBrandedPartID( }, }, async () => { - const { slonik, sql } = await getSlonik(); - return slonik.one(sql.typeAlias("abstractPartType")` - SELECT pt.abstractparttypeid - FROM brandedpart bp - inner join parttype pt on bp.parttypeid = pt.parttypeid - WHERE bp.brandedpartid = ${brandedPartId} - `); + // Get the abstract part type id for the branded part + // link is brandedPart.partTypeId -> partType.abstractparttypeId + + const abstractPartTypeId = await getDatabase() + .select() + .from(brandedPartSchema) + .leftJoin( + partTypeSchema, + eq(brandedPartSchema.partTypeId, partTypeSchema.partTypeId), + ) + .where(eq(brandedPartSchema.brandedPartId, brandedPartId)) + .then((rows) => { + if (rows.length === 0 || !rows[0]) { + throw Error( + `branded part with id ${brandedPartId} does not exist`, + ); + } + + const partType = rows[0].part_type; + + if (!partType) { + throw Error( + `part type record id ${rows[0].branded_part.partTypeId} does not exist`, + ); + } + + return partType.abstractPartTypeId; + }); + + return abstractPartTypeId; }, ); - - if (!abstractPartTypeId) { - throw Error(`branded part with id ${brandedPartId} does not exist`); - } - return abstractPartTypeId.abstractparttypeid; } async function isAbstractPartTypeAVehicle( @@ -91,11 +112,14 @@ export async function createNewCar( skinId: number, newCarOwnerId: number, ): Promise { + log.setName("createNewCarForPlayer"); if ((await playerExists(newCarOwnerId)) === false) { + log.error(`player with id ${newCarOwnerId} does not exist`); throw Error("player does not exist"); } if ((await skinExists(skinId)) === false) { + log.error(`skin with id ${skinId} does not exist`); throw Error("skin does not exist"); } @@ -106,6 +130,7 @@ export async function createNewCar( console.dir(abstractPartTypeId); if ((await isAbstractPartTypeAVehicle(abstractPartTypeId)) === false) { + log.error(`branded part with id ${brandedPartId} is not a vehicle`); throw Error(`branded part with id ${brandedPartId} is not a vehicle`); } @@ -131,7 +156,7 @@ export async function createNewCar( }, }, async () => { - const { slonik, sql } = await getSlonik(); + const { slonik, sql } = await getDatabase(); return slonik.many(sql.typeAlias("brandedPart")` SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a @@ -163,7 +188,7 @@ export async function createNewCar( }, }, async () => { - const { slonik, sql } = await getSlonik(); + const { slonik, sql } = await getDatabase(); slonik.transaction(async (connection) => { // First insert the new car into the vehicle table @@ -271,7 +296,7 @@ async function addPart( newCarOwenrId: number, ) { try { - const { sql } = await getSlonik(); + const { sql } = await getDatabase(); await connection.query(sql.typeAlias("part")` INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) @@ -306,7 +331,7 @@ async function getNextSq(seqName: string) { }, }, async () => { - const { slonik, sql } = await getSlonik(); + const { slonik, sql } = await getDatabase(); return Number( ( await slonik.one(sql.typeAlias("nextPartId")` diff --git a/packages/database/src/services/database.d.ts b/packages/database/src/services/database.d.ts deleted file mode 100644 index 502b9ec76..000000000 --- a/packages/database/src/services/database.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { type DatabasePool, createSqlTag } from "slonik"; -export declare function getSlonik(): Promise<{ - slonik: DatabasePool; - sql: ReturnType; -}>; diff --git a/packages/database/src/services/database.ts b/packages/database/src/services/database.ts index 033de45e3..cb05367cb 100644 --- a/packages/database/src/services/database.ts +++ b/packages/database/src/services/database.ts @@ -1,92 +1,14 @@ -import { createPool, type DatabasePool, createSqlTag } from "slonik"; -import { z } from "zod"; +import { drizzle, type NodePgDatabase } from "drizzle-orm/node-postgres"; +import pg from "pg"; +const { Pool } = pg; -let slonik: DatabasePool; -let sql: ReturnType; - -function initSQL() { - return createSqlTag({ - typeAliases: { - vehicleWithOwner: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - damageinfo: z.instanceof(Buffer) || z.null(), - ownerid: z.number(), - }), - dbPart: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - ownerid: z.number(), - partname: z.string() || z.null(), - repaircost: z.number(), - scrapvalue: z.number(), - }), - id: z.number(), - brandedPart: z.object({ - partid: z.number() || z.null(), - parentpartid: z.number() || z.null(), - brandedpartid: z.number() || z.null(), - attachmentpointid: z.number() || z.null(), - }), - part: z.object({ - partid: z.number(), - parentpartid: z.number(), - brandedpartid: z.number(), - percentdamage: z.number(), - itemwear: z.number(), - attachmentpointid: z.number(), - partname: z.string() || z.null(), - ownerid: z.number(), - }), - abstractPartType: z.object({ - abstractparttypeid: z.number(), - }), - ptSkin: z.object({ - skinid: z.number(), - defaultflag: z.number(), - }), - nextPartId: z.object({ - nextval: z.bigint(), - }), - detailedPart: z.object({ - brandedpartid: z.number(), - parttypeid: z.number(), - abstractparttypeid: z.number(), - parentabstractparttypeid: z.number(), - attachmentpointid: z.number(), - }), - vehicle: z.object({ - vehicleid: z.number(), - skinid: z.number(), - flags: z.number(), - class: z.number(), - infosetting: z.number(), - damageinfo: z.instanceof(Buffer) || z.null(), - }), - brand: z.object({ - brandId: z.number(), - brand: z.string(), - isStock: z.boolean(), - }), - }, - }); -} - -export async function getSlonik(): Promise<{ - slonik: DatabasePool; - sql: ReturnType; -}> { - if (!slonik) { - slonik = await createPool("postgres://user:password@localhost:5432/rm"); - } - if (!sql) { - sql = initSQL(); +let database: NodePgDatabase; +export function getDatabase(): NodePgDatabase { + if (!database) { + const pool = new Pool({ + connectionString: "postgres://user:password@localhost:5432/rm", + }); + database = drizzle(pool); } - return { slonik, sql }; + return database; } diff --git a/packages/database/test/Database.test.d.ts b/packages/database/test/Database.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/database/test/Database.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts index 29cafcfd3..c91377391 100644 --- a/packages/database/test/Database.test.ts +++ b/packages/database/test/Database.test.ts @@ -1,17 +1,18 @@ -import { mockLogger } from "../../../test/factoryMocks.js"; -import { describe, it, expect, vi } from "vitest"; +import { describe, it, expect } from "vitest"; import { fetchSessionKeyByCustomerId, fetchSessionKeyByConnectionId, updateUser, } from "../../database"; + + + describe("Database", () => { describe("fetchSessionKeyByCustomerId", () => { it("throws when session key is not found", async () => { // arrange - const log = mockLogger(); const customerId = 1234; // act try { @@ -31,7 +32,6 @@ describe("Database", () => { it("throws when session key is not found", async () => { // arrange - const log = mockLogger(); const connectionId = "1234"; // act try { @@ -48,10 +48,9 @@ describe("Database", () => { }); describe("updateUser", () => { - it("returns successfully when passed a valid user record", async () => { + it("returns successfully when passed a valid user record", () => { // arrange - const log = mockLogger(); const userRecord = { contextId: "1234", customerId: 1234, @@ -59,8 +58,8 @@ describe("Database", () => { userData: Buffer.from("1234"), }; // act + assert - expect(() => { - updateUser(userRecord); + expect(async () => { + await updateUser(userRecord); }).not.toThrow(); }); }); diff --git a/packages/gateway/index.ts b/packages/gateway/index.ts new file mode 100644 index 000000000..4f86d8559 --- /dev/null +++ b/packages/gateway/index.ts @@ -0,0 +1 @@ +export { getGatewayServer } from "./src/GatewayServer.js"; diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 65e872fd6..5503231ef 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@fastify/sensible": "^5.5.0", "@rustymotors/shared": "workspace:^", diff --git a/packages/gateway/src/GatewayServer.d.ts b/packages/gateway/src/GatewayServer.d.ts deleted file mode 100644 index 0e16d58f9..000000000 --- a/packages/gateway/src/GatewayServer.d.ts +++ /dev/null @@ -1,121 +0,0 @@ -/// -/// -import { Socket } from "node:net"; -import { Configuration, type TServerLogger } from "../../shared"; -import { ConsoleThread } from "../../cli/ConsoleThread.js"; -/** - * @module gateway - */ -export type TGatewayOptions = { - config?: Configuration; - log: TServerLogger; - backlogAllowedCount?: number; - listeningPortList?: number[]; - socketConnectionHandler?: ({ - incomingSocket, - log, - }: { - incomingSocket: Socket; - log: TServerLogger; - }) => void; -}; -/** - * Gateway server - * @see {@link getGatewayServer()} to get a singleton instance - */ -export declare class Gateway { - config: Configuration; - log: TServerLogger; - timer: NodeJS.Timeout | null; - loopInterval: number; - status: string; - consoleEvents: string[]; - backlogAllowedCount: number; - listeningPortList: number[]; - servers: import("node:net").Server[]; - socketconnection: ({ - incomingSocket, - log, - }: { - incomingSocket: Socket; - log: TServerLogger; - }) => void; - static _instance: Gateway | undefined; - webServer: import("fastify").FastifyInstance | undefined; - readThread: ConsoleThread | undefined; - /** - * Creates an instance of GatewayServer. - * @param {TGatewayOptions} options - */ - constructor({ - config, - log, - backlogAllowedCount, - listeningPortList, - socketConnectionHandler, - }: TGatewayOptions); - /** - * Delete the GatewayServer instance - */ - static deleteInstance(): void; - /** - * Assert that the listeningPortList is not empty - * @param {number[]} listeningPortList - * @throws {Error} If the listeningPortList is empty - */ - private verifyPortListIsNotEmpty; - /** - * @return {import("fastify").FastifyInstance} - */ - getWebServer(): import("fastify").FastifyInstance; - start(): Promise; - restart(): Promise; - exit(): Promise; - stop(): Promise; - /** - * @param {string} event - */ - handleReadThreadEvent(event: string): void; - init(): Promise; - help(): void; - run(): void; - /** - * - * @param {TGatewayOptions} options - * @returns {Gateway} - * @memberof Gateway - */ - static getInstance({ - config, - log, - backlogAllowedCount, - listeningPortList, - socketConnectionHandler, - }: TGatewayOptions): Gateway; - shutdown(): void; -} -/** - * Get a singleton instance of GatewayServer - * - * @param {TGatewayOptions} options - * @returns {Gateway} - */ -export declare function getGatewayServer({ - config, - log, - backlogAllowedCount, - listeningPortList, - socketConnectionHandler, -}: { - config?: Configuration; - log: TServerLogger; - backlogAllowedCount?: number; - listeningPortList?: number[]; - socketConnectionHandler?: ({ - incomingSocket, - log, - }: { - incomingSocket: Socket; - log: TServerLogger; - }) => void; -}): Gateway; diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 181ca1cde..bd1b1614f 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -4,7 +4,6 @@ import fastify from "fastify"; import { Configuration, getServerConfiguration, - addOnDataHandler, createInitialState, fetchStateFromDatabase, type TServerLogger, @@ -12,10 +11,6 @@ import { import { ConsoleThread } from "../../cli/ConsoleThread.js"; import { addWebRoutes } from "./web.js"; -import { receiveLoginData } from "../../login/src/index.js"; -import { receivePersonaData } from "../../persona/src/internal.js"; -import { receiveLobbyData } from "../../lobby/src/internal.js"; -import { receiveTransactionsData } from "../../transactions/src/internal.js"; import FastifySensible from "@fastify/sensible"; import { @@ -24,11 +19,23 @@ import { portToMessageTypes, gameMessageProcessors, } from "../../nps/messageProcessors/index.js"; -import { populateGameUsers } from "../../nps/services/account.js"; +import { populateUsers } from "../../nps/services/account.js"; import { gameProfiles, populateGameProfiles, } from "../../nps/services/profile.js"; +import { ScheduledThread } from "../../cli/ScheduledThread.js"; +import { populateServerMessageProcessors } from "../../mcots/index.js"; +import { populatePlayer } from "../../database/src/seeders/populatePlayer.js"; +import { populatePlayerType } from "../../database/src/seeders/populatePlayerType.js"; +import { populateBrandedPart } from "../../database/src/seeders/populateBrandedPart.js"; +import { populatePartType } from "../../database/src/seeders/populatePartType.js"; +import { populateModel } from "../../database/src/seeders/populateModel.js"; +import { populateAbstractPartType } from "../../database/src/seeders/populateAbstractPartType.js"; +import { populatePartGrade } from "../../database/src/seeders/populatePartGrade.js"; +import { populateBrand } from "../../database/src/seeders/populateBrand.js"; +import { populateSkin } from "../../database/src/seeders/populateSkin.js"; +import { populateSkinType } from "../../database/src/seeders/populateSkinType.js"; /** * @module gateway @@ -72,6 +79,8 @@ export class Gateway { static _instance: Gateway | undefined; webServer: import("fastify").FastifyInstance | undefined; readThread: ConsoleThread | undefined; + scheduledThread: ScheduledThread | undefined; + /** * Creates an instance of GatewayServer. * @param {TGatewayOptions} options @@ -146,7 +155,7 @@ export class Gateway { this.status = "running"; // Initialize the GatewayServer - this.init(); + await this.init(); this.listeningPortList.forEach((port) => { const server = createSocketServer((s) => { @@ -217,6 +226,11 @@ export class Gateway { this.readThread.stop(); } + // Stop the scheduled thread + if (this.scheduledThread !== undefined) { + this.scheduledThread.stop(); + } + if (this.webServer === undefined) { throw new Error("webServer is undefined"); } @@ -241,10 +255,10 @@ export class Gateway { */ handleReadThreadEvent(event: string) { if (event === "userExit") { - this.exit(); + void this.exit(); } if (event === "userRestart") { - this.restart(); + void this.restart(); } if (event === "userHelp") { this.help(); @@ -252,6 +266,7 @@ export class Gateway { } async init() { + this.log.setName("gateway:GatewayServer:init"); // Create the read thread this.readThread = new ConsoleThread({ parentThread: this, @@ -271,29 +286,44 @@ export class Gateway { this.webServer = fastify({ logger: false, }); - this.webServer.register(FastifySensible); + await this.webServer.register(FastifySensible); - let state = fetchStateFromDatabase(); - - state = addOnDataHandler(state, 8226, receiveLoginData); - state = addOnDataHandler(state, 8228, receivePersonaData); - state = addOnDataHandler(state, 7003, receiveLobbyData); - state = addOnDataHandler(state, 43300, receiveTransactionsData); + const state = fetchStateFromDatabase(); try { - await populateGameUsers(); + await populateUsers(); await populateGameProfiles(gameProfiles); + await populatePlayerType(); + await populateAbstractPartType(); + await populatePartGrade(); + await populatePartType(); + await populateBrand(); + await populateModel(); + await populateBrandedPart(); + await populatePlayer(); + await populateSkinType(); + await populateSkin(); + // await populateWarehouse(); } catch (error) { - this.log.error(`Error in populating game data: ${error}`); + this.log.error(`Error in populating game data: ${error as string}`); throw error; } populatePortToMessageTypes(portToMessageTypes); populateGameMessageProcessors(gameMessageProcessors); + populateServerMessageProcessors(); + state.save(); + // Create the scheduled thread + this.scheduledThread = new ScheduledThread({ + parentThread: this, + log: this.log, + }); + this.log.debug("GatewayServer initialized"); + this.log.resetName(); } help() { diff --git a/packages/gateway/src/encryption.ts b/packages/gateway/src/encryption.ts index ac122870f..a88d10216 100644 --- a/packages/gateway/src/encryption.ts +++ b/packages/gateway/src/encryption.ts @@ -16,6 +16,9 @@ import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; import { McosEncryptionPair } from "../../shared"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); /** * This function creates a new encryption pair for use with the game server @@ -25,7 +28,8 @@ import { McosEncryptionPair } from "../../shared"; */ export function createCommandEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - throw Error(`Key too short: ${key}`); + log.error(`Key too short: length ${key.length}, value ${key}`); + throw Error(`Key too short: length ${key.length}, value ${key}`); } const sKey = key.slice(0, 16); @@ -55,7 +59,8 @@ export function createCommandEncryptionPair(key: string): McosEncryptionPair { */ export function createDataEncryptionPair(key: string): McosEncryptionPair { if (key.length < 16) { - throw Error(`Key too short: ${key}`); + log.error(`Key too short: length ${key.length}, value ${key}`); + throw Error(`Key too short: length ${key.length}, value ${key}`); } const stringKey = Buffer.from(key, "hex"); diff --git a/packages/gateway/src/handleGameMessage.ts b/packages/gateway/src/handleGameMessage.ts new file mode 100644 index 000000000..a4fadff0b --- /dev/null +++ b/packages/gateway/src/handleGameMessage.ts @@ -0,0 +1,115 @@ +import { type TServerLogger } from "../../shared"; +import { + MessageProcessorError, + getGameMessageProcessor, + GameMessage as OldGameMessage, +} from "../../nps/index.js"; +import type { SocketCallback } from "../../nps/messageProcessors/index.js"; +import { GameMessage } from "../../shared-packets"; +import type { Socket } from "node:net"; +import type { UserStatus } from "../../nps/messageStructs/UserStatus"; + +export function sendToGameSocket( + serializedMessages: Buffer[], + incomingSocket: Socket, + log: TServerLogger, +) { + log.setName("gateway:sendToGameSocket"); + log.debug( + `Sending {${serializedMessages.length}} messages to game socket on port ${incomingSocket.localPort}`, + ); + try { + serializedMessages.forEach((m) => { + incomingSocket.write(m); + log.trace(`Sent ${m.length} bytes to socket: ${m.toString("hex")}`); + log.trace("==========================================="); + }); + log.resetName(); + } catch (error) { + log.error(`Error sending game data: ${String(error)}`); + log.resetName(); + throw error; + } +} + +export function processGameMessage( + connectionId: string, + userStatus: UserStatus, + message: OldGameMessage, + log: TServerLogger, + socketCallback: SocketCallback, +) { + log.setName("gateway:processGameMessage"); + + // Get the message ID + const messageId = message.header.getId(); + + // Get the message processor + const processor = getGameMessageProcessor(messageId); + + // If there is no message processor, throw an error + if (processor === undefined) { + log.error(`No message processor for message ID: ${messageId}`); + throw new MessageProcessorError( + messageId, + `No message processor for message ID: ${messageId}`, + ); + } + + // Call the message processor + log.setName("gateway:processGameMessage"); + log.debug( + `Processing game message with message ID ${message.getId()}, using processor ${processor.name}`, + ); + processor(connectionId, userStatus, message, socketCallback).catch((error) => { + log.error(`Error processing message: ${(error as Error).message}`); + throw new MessageProcessorError( + messageId, + `Error processing message: ${(error as Error).message}`, + ); + }); +} + +export function handleGameMessage( + connectionId: string, + userStatus: UserStatus, + bytes: Buffer, + log: TServerLogger, + socketCallback: SocketCallback, +) { + log.setName("gateway:handleGameMessage"); + log.debug(`Handling game message...`); + + // Log raw bytes + log.trace(`Raw bytes: ${bytes.toString("hex")}`); + + // Since a GameMessage v1 header is 12 byes long, a message smaller that that can only be v0 + const msgVersion = bytes.byteLength <= 12 ? 0 : 1; + + // Load new game message + const gameMessage = new GameMessage(msgVersion).deserialize(bytes); + + log.debug(`Game message: ${gameMessage.toString()}`); + + // Try to identify the message version + const version = OldGameMessage.identifyVersion(bytes); + + // Log the version + log.debug(`Message version: ${version}`); + + // Try to parse it + try { + // Create a new message + const message = new OldGameMessage(version); + message.deserialize(bytes); + + // Process the message + void processGameMessage(connectionId, userStatus, message, log, socketCallback); + } catch (error) { + const err = `Error processing game message: ${(error as Error).message}`; + log.fatal(err); + throw Error(err); + } +} + +// Path: packages/gateway/src/handleGameMessage.ts diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index 88f1e7396..38aac5470 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -16,11 +16,9 @@ import { randomUUID } from "node:crypto"; import { - type OnDataHandler, type TServerLogger, addSocket, fetchStateFromDatabase, - getOnDataHandler, removeSocket, wrapSocket, } from "../../shared"; @@ -28,17 +26,11 @@ import { import { ServerLogger } from "../../shared"; import { Socket } from "node:net"; -import { SerializedBuffer } from "../../shared"; -import { - MessageProcessorError, - getGameMessageProcessor, - getPortMessageType, - GameMessage as OldGameMessage, -} from "../../nps/index.js"; -import type { SocketCallback } from "../../nps/messageProcessors/index.js"; -import { getAsHex } from "../../nps/utils/pureGet.js"; -import { GameMessage } from "../../shared-packets"; +import { UserStatusManager, getPortMessageType } from "../../nps/index.js"; +import { handleGameMessage, sendToGameSocket } from "./handleGameMessage"; +import { Connection } from "../../connection/src/Connection"; +import { ClientConnectionManager } from "../../mcots/ClientConnectionManager"; /** * @typedef {object} OnDataHandlerArgs @@ -132,25 +124,22 @@ export function onSocketConnection({ // This is a new connection so generate a new connection ID const connectionId = randomUUID(); + const userStatus = UserStatusManager.newUserStatus(); + + if (localPort === 43300) { + log.info("New connection on port 43300"); + ClientConnectionManager.addConnection( + new Connection(incomingSocket, connectionId, log), + ); + return; + } + // Wrap the socket and add it to the global state const wrappedSocket = wrapSocket(incomingSocket, connectionId); // Add the socket to the global state addSocket(fetchStateFromDatabase(), wrappedSocket).save(); - // This is a new TCP socket, so it's probably not using HTTP - // Let's look for a port onData handler - const portOnDataHandler: OnDataHandler | undefined = getOnDataHandler( - fetchStateFromDatabase(), - localPort, - ); - - // Throw an error if there is no onData handler - if (typeof portOnDataHandler === "undefined") { - log.warn(`No onData handler for port ${localPort}`); - return; - } - incomingSocket.on("error", (error) => socketErrorHandler({ connectionId: connectionId, error, log }), ); @@ -163,59 +152,28 @@ export function onSocketConnection({ messageType = getPortMessageType(localPort); log.debug(`Message type: ${messageType}`); } catch (error) { - log.error(`Error getting message type: ${(error as Error).message}`); + log.error( + `Error getting message type: ${(error as Error).message}`, + ); throw error; } if (messageType !== "Unknown") { - const socketCallback = (messages: Buffer[]) => { - sendToSocket(messages, incomingSocket, log); - }; - // Call the message handler if (messageType === "Game") { - void handleGameMessage( + const gameSocketCallback = (messages: Buffer[]) => { + sendToGameSocket(messages, incomingSocket, log); + }; + + return handleGameMessage( connectionId, + userStatus, incomingDataAsBuffer, log, - socketCallback, + gameSocketCallback, ); - return; } } - - // Normal handlers can handle the server message - - // Deserialize the raw message - const rawMessage = new SerializedBuffer()._doDeserialize( - incomingDataAsBuffer, - ); - - log.debug("Calling onData handler"); - - log.trace(`Raw message: ${getAsHex(incomingDataAsBuffer)}`); - - portOnDataHandler({ - connectionId: connectionId, - message: rawMessage, - log, - }) - .then((response) => { - log.debug("onData handler returned"); - const { messages } = response; - - // Log the messages - log.trace(`Messages: ${messages.map((m) => m.toString()).join(", ")}`); - - // Serialize the messages - const serializedMessages = messages.map((m) => m.serialize()); - - sendToSocket(serializedMessages, incomingSocket, log); - }) - .catch((error) => { - log.error(`Error handling data: ${String(error)}`); - throw error; - }); }); log.debug(`Client ${remoteAddress} connected to port ${localPort}`); @@ -225,104 +183,7 @@ export function onSocketConnection({ incomingSocket.write(Buffer.from([0x02, 0x30, 0x00, 0x00])); } + log.resetName(); } -function sendToSocket( - serializedMessages: Buffer[], - incomingSocket: Socket, - log: TServerLogger, -) { - log.debug(`Sending {${serializedMessages.length}} messages to socket`); - try { - serializedMessages.forEach((m) => { - incomingSocket.write(m); - log.trace(`Sent ${m.length} bytes to socket: ${m.toString("hex")}`); - log.trace("==========================================="); - }); - } catch (error) { - log.error(`Error sending data: ${String(error)}`); - } -} - -export async function processGameMessage( - connectionId: string, - message: OldGameMessage, - log: TServerLogger, - socketCallback: SocketCallback, -) { - log.setName("gateway:processGameMessage"); - log.debug(`Processing game message...`); - - // Get the message ID - const messageId = message.header.getId(); - - try { - // Get the message processor - const messageProcessor = getGameMessageProcessor(messageId); - - // Call the message processor - await messageProcessor(connectionId, message, socketCallback); - } catch (error) { - log.error(`Error processing message: ${(error as Error).message}`); - throw new MessageProcessorError( - messageId, - `Error processing message: ${(error as Error).message}`, - ); - } -} - -export async function handleGameMessage( - connectionId: string, - bytes: Buffer, - log: TServerLogger, - socketCallback: SocketCallback, -) { - log.setName("gateway:handleGameMessage"); - log.debug(`Handling game message...`); - - // Log raw bytes - log.trace(`Raw bytes: ${bytes.toString("hex")}`); - - // Since a GameMessage v1 header is 12 byes long, a message smaller that that can only be v0 - const msgVersion = bytes.byteLength <= 12 ? 0 : 1; - - // Load new game message - const gameMessage = new GameMessage(msgVersion).deserialize(bytes); - - log.debug(`Game message: ${gameMessage.toString()}`); - - // Try to identify the message version - const version = OldGameMessage.identifyVersion(bytes); - - // Log the version - log.debug(`Message version: ${version}`); - - // Try to parse it - try { - // Create a new message - const message = new OldGameMessage(version); - message.deserialize(bytes); - - // Process the message - await processGameMessage(connectionId, message, log, socketCallback); - } catch (error) { - const err = `Error processing game message: ${(error as Error).message}`; - log.fatal(err); - throw Error(err); - } -} - -export function handleServerMessage( - connectionId: string, - bytes: Buffer, - log: ServerLogger, - socketCallback: SocketCallback, -) { - log.setName("gateway:handleServerMessage"); - log.debug(`Handling server message...`); - - // If this is a Server message, it will "probably" be a ServerMessage - // Try to parse it as a ServerMessage - - // TODO: Handle message -} +// Path: packages/gateway/src/index.ts diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index 9cf9b3e99..d015f41f8 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -22,7 +22,7 @@ import { handleGetKey, handleGetRegistry, } from "../../shard/src/index.js"; -import { checkPassword, getUser } from "../../nps/services/account.js"; +import { getUserFromDb } from "../../nps/services/account.js"; import { generateToken } from "../../nps/services/token.js"; /** @@ -49,21 +49,23 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { "/games/EA_Seattle/MotorCity/UpdateInfo", (_request, reply) => { const response = CastanetResponse; - reply.header(response.header.type, response.header.value); - return reply.send(response.body); + return reply + .header(response.header.type, response.header.value) + .send(response.body); }, ); webServer.post("/games/EA_Seattle/MotorCity/NPS", (_request, reply) => { const response = CastanetResponse; - reply.header(response.header.type, response.header.value); + void reply.header(response.header.type, response.header.value); return reply.send(response.body); }); webServer.post("/games/EA_Seattle/MotorCity/MCO", (_request, reply) => { const response = CastanetResponse; - reply.header(response.header.type, response.header.value); - return reply.send(response.body); + return reply + .header(response.header.type, response.header.value) + .send(response.body); }); interface IQuerystring { @@ -84,20 +86,15 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { const password = request.query.password; // Check for the username - const user = await getUser(username); + const user = await getUserFromDb(username, password); // If the user doesn't exist, return an error - if (typeof user === "undefined") { + if (user === null) { return reply.send( - "reasoncode=INV-200\nreasontext=Opps~\nreasonurl=https://www.winehq.com", + "reasoncode=INV-200\nreasontext=Unable to login\nreasonurl=https://rusty-motors.com", ); } - // Check the password - if ((await checkPassword(user, password)) === false) { - return reply.send("Valid=FALSE\nReason=Invalid password"); - } - // Generate a token const token = generateToken(user.customerId); @@ -118,9 +115,10 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { throw new Error("No host defined in config"); } const certFile = await handleGetCert(config); - reply.header("Content-Type", "text/plain"); - reply.header("Content-Disposition", "attachment; filename=cert.crt"); - reply.send(certFile); + return reply + .header("Content-Type", "text/plain") + .header("Content-Disposition", "attachment; filename=cert.crt") + .send(certFile); }); webServer.get("/key", async (_request, reply) => { @@ -129,9 +127,10 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { throw new Error("No host defined in config"); } const keyFile = await handleGetKey(config); - reply.header("Content-Type", "text/plain"); - reply.header("Content-Disposition", "attachment; filename=pub.key"); - reply.send(keyFile); + return reply + .header("Content-Type", "text/plain") + .header("Content-Disposition", "attachment; filename=pub.key") + .send(keyFile); }); webServer.get("/registry", (_request, reply) => { @@ -140,8 +139,6 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { throw new Error("No host defined in config"); } const regFile = handleGetRegistry(config); - reply.header("Content-Type", "text/plain"); - reply.header("Content-Disposition", "attachment; filename=client.reg"); - reply.send(regFile); + return reply.header("Content-Type", "text/plain").header("Content-Disposition", "attachment; filename=client.reg").send(regFile); }); } diff --git a/packages/gateway/test/GatewayServer.test.d.ts b/packages/gateway/test/GatewayServer.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/gateway/test/GatewayServer.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index e7a3f5a8b..ff32ad088 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -20,6 +20,9 @@ describe("getGatewayServer", () => { warn: () => vi.fn(), fatal: () => vi.fn(), trace: () => vi.fn(), + getName: () => "", + setName: () => vi.fn(), + resetName: () => vi.fn(), }; const options: TGatewayOptions = { @@ -44,6 +47,9 @@ describe("getGatewayServer", () => { warn: () => vi.fn(), fatal: () => vi.fn(), trace: () => vi.fn(), + getName: () => "", + setName: () => vi.fn(), + resetName: () => vi.fn(), }; const options: TGatewayOptions = { @@ -68,6 +74,9 @@ describe("getGatewayServer", () => { warn: () => vi.fn(), fatal: () => vi.fn(), trace: () => vi.fn(), + getName: () => "", + setName: () => vi.fn(), + resetName: () => vi.fn(), }; const options: TGatewayOptions = { diff --git a/packages/gateway/test/encryption.test.d.ts b/packages/gateway/test/encryption.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/gateway/test/encryption.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/gateway/test/socketErrorHandler.test.d.ts b/packages/gateway/test/socketErrorHandler.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/gateway/test/socketErrorHandler.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/interfaces/index.d.ts b/packages/interfaces/index.d.ts deleted file mode 100644 index 570067c12..000000000 --- a/packages/interfaces/index.d.ts +++ /dev/null @@ -1,187 +0,0 @@ -import { Socket } from "node:net"; -import { Cipher, Decipher } from "node:crypto"; -import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerError, SerializedBuffer, Configuration } from "../../shared"; - -/** - * @module interfaces - */ - -export as namespace interfaces; - -export const name = "interfaces"; - -/** - * @exports - * @interface - */ -export interface SerializedObject { - serialize: () => Buffer; - serializeSize: () => number; -} - -interface EncryptionSession { - connectionId: string; - remoteAddress: string; - localPort: number; - sessionKey: string; - sKey: string; - gsCipher: Cipher; - gsDecipher: Decipher; - tsCipher: Cipher; - tsDecipher: Decipher; -} - -interface ClientConnection { - status: number; - appID: number; - id: string; - socket: Socket; - remoteAddress: string; - seq: number; - personaId: number; - lastMessageTimestamp: number; - inQueue: boolean; - encryptionSession: EncryptionSession; - useEncryption: boolean; - port: number; - ip: string; -} - -interface SocketWithConnectionInfo { - connectionId: string; - socket: Socket; - seq: number; - id: string; - remoteAddress: string; - localPort: number; - personaId: number; - lastMessageTimestamp: number; - inQueue: boolean; - encryptionSession: EncryptionSession; - useEncryption: boolean; -} - -export interface DatabaseManager { - updateSessionKey: ( - arg0: number, - arg1: string, - arg2: string, - arg3: string, - ) => Promise; - fetchSessionKeyByCustomerId: (arg0: number) => Promise; -} - -/** - * @exports - */ -export interface ConnectionRecord { - customerId: number; - connectionId: string; - sessionKey: string; - sKey: string; - contextId: string; -} - -interface SessionKeys { - sessionKey: string; - sKey: string; -} - -interface TConnection { - connectionId: string; - localPort: number; - remoteAddress: string; - socket: Socket; - encryptionSession: EncryptionSession; - useEncryption: boolean; - inQueue: boolean; -} - -interface JSONResponseOfGameMessage { - msgNo: number; - opCode: number | null; - msgLength: number; - msgVersion: number; - content: string; - contextId: string; - direction: "sent" | "received"; - sessionKey: string | null; - rawBuffer: string; -} - -interface GameMessage { - serialize: () => Buffer; - deserialize: (arg0: Buffer) => void; - toJSON: () => JSONResponseOfGameMessage; - dumpPacket: () => string; -} - -export interface GameMessageOpCode { - name: string; - value: number; - module: "Lobby" | "Login"; -} - -interface BuiltinError { - code: number; - message: string; -} - -export interface PersonaRecord { - customerId: number; - id: Buffer; - maxPersonas: Buffer; - name: Buffer; - personaCount: Buffer; - shardId: Buffer; -} - -export interface UserRecordMini { - contextId: string; - customerId: number; - userId: number; -} - -interface WebJSONResponse { - code: number; - headers: - | import("http").OutgoingHttpHeaders - | import("http").OutgoingHttpHeader[] - | undefined; - body: { connectionId: string; remoteAddress: string; inQueue: boolean }[]; -} - -type WebConnectionHandler = ( - req: IncomingMessage, - res: ServerResponse, - config: Configuration, - log: ServerLogger, -) => void; - -/** - * @exports - */ -export interface RaceLobbyRecord { - lobbyId: number; - raceTypeId: number; - turfId: number; - riffName: string; - eTurfName: string; -} - -export interface ServiceArgs { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -} - -export interface KeypressEvent { - sequence: string; - name: string; - ctrl: boolean; - meta: boolean; - shift: boolean; -} - -export as namespace interfaces; diff --git a/packages/lobby/package.json b/packages/lobby/package.json index 13a9494ca..76269d8d9 100644 --- a/packages/lobby/package.json +++ b/packages/lobby/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@rustymotors/database": "workspace:^" } diff --git a/packages/lobby/src/LoginInfoMessage.d.ts b/packages/lobby/src/LoginInfoMessage.d.ts deleted file mode 100644 index d89908696..000000000 --- a/packages/lobby/src/LoginInfoMessage.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -import { LegacyMessage } from "../../shared"; -export declare class LoginInfoMessage extends LegacyMessage { - _userId: number; - _userName: string; - _userData: Buffer; - _customerId: number; - _flags: number; - _dllVersion: string; - _hostname: string; - _idAddress: string; - _hashKey: Buffer; - constructor(); - /** - * @param {Buffer} buffer - * @returns {LoginInfoMessage} - */ - deserialize(buffer: Buffer): LoginInfoMessage; - /** - * @returns {Buffer} - */ - serialize(): Buffer; - toString(): string; -} diff --git a/packages/lobby/src/LoginInfoMessage.ts b/packages/lobby/src/LoginInfoMessage.ts index 3c82cdb68..0e15d3f36 100644 --- a/packages/lobby/src/LoginInfoMessage.ts +++ b/packages/lobby/src/LoginInfoMessage.ts @@ -55,7 +55,7 @@ export class LoginInfoMessage extends LegacyMessage { return this; } catch (error) { - throw Error(`Error deserializing LoginInfoMessage: ${error}`); + throw Error(`Error deserializing LoginInfoMessage: ${error as string}`); } } @@ -87,7 +87,7 @@ export class LoginInfoMessage extends LegacyMessage { return buffer; } catch (error) { - throw Error(`Error serializing LoginInfoMessage: ${error}`); + throw Error(`Error serializing LoginInfoMessage: ${error as string}`); } } diff --git a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts deleted file mode 100644 index cfe7e53e7..000000000 --- a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Commands from the game client to the game server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -/** - * Commands from the game client to the game server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -export declare const NPS_LOBBYCLIENT_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts deleted file mode 100644 index 61af57585..000000000 --- a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -/** - * Commands from the game server to the game client - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -export declare const NPS_LOBBYSERVER_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts b/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts deleted file mode 100644 index 1946d7d07..000000000 --- a/packages/lobby/src/NPS_LOBBY_COMMANDS.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -/** - * @export - * @readonly - * @type {NpsCommandMap[]} - */ -export declare const NPS_LOBBY_COMMANDS: GameMessageOpCode[]; diff --git a/packages/lobby/src/UserInfoMessage.d.ts b/packages/lobby/src/UserInfoMessage.d.ts deleted file mode 100644 index 470b7cbfa..000000000 --- a/packages/lobby/src/UserInfoMessage.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/// -import { LegacyMessage } from "../../shared"; -import { LoginInfoMessage } from "./LoginInfoMessage.js"; -export declare class UserInfo { - _userId: number; - _userName: string; - _userData: Buffer; - constructor(); - deserialize(buffer: Buffer): this; - serialize(): Buffer; - size(): number; -} -export declare class UserInfoMessage extends LegacyMessage { - _userId: number; - _userName: string; - _userData: Buffer; - constructor(); - /** - * @param {Buffer} buffer - * @returns {UserInfoMessage} - */ - deserialize(buffer: Buffer): this; - /** - * @returns {Buffer} - */ - serialize(): Buffer; - /** - * @param {LoginInfoMessage} loginInfoMessage - */ - fromLoginInfoMessage(loginInfoMessage: LoginInfoMessage): this; - calculateLength(): any; - toString(): string; -} diff --git a/packages/lobby/src/handlers/_setMyUserData.d.ts b/packages/lobby/src/handlers/_setMyUserData.d.ts deleted file mode 100644 index fb0e5f3ec..000000000 --- a/packages/lobby/src/handlers/_setMyUserData.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ServerLogger, LegacyMessage } from "../../shared"; -export declare function _setMyUserData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: LegacyMessage; -}>; diff --git a/packages/lobby/src/handlers/encryptedCommand.d.ts b/packages/lobby/src/handlers/encryptedCommand.d.ts deleted file mode 100644 index 8fc1eccac..000000000 --- a/packages/lobby/src/handlers/encryptedCommand.d.ts +++ /dev/null @@ -1,71 +0,0 @@ -import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; -/** - * Array of supported command handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export declare const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[]; -export type NpsCommandHandler = { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - message: LegacyMessage; - }>; -}; -/** - * - * - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ -* connectionId: string, -* messages: SerializedBuffer[], -* }>} - - */ -export declare function handleEncryptedNPSCommand({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; -export declare const channelRecordSize = 40; -export declare const channels: { - id: number; - name: string; - population: number; -}[]; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.d.ts b/packages/lobby/src/handlers/handleGetMiniUserList.d.ts deleted file mode 100644 index e03c4f290..000000000 --- a/packages/lobby/src/handlers/handleGetMiniUserList.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ServerLogger, LegacyMessage } from "../../shared"; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - */ -export declare function handleGetMiniUserList({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: LegacyMessage; -}>; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts index ad25ac88b..096c2b160 100644 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ b/packages/lobby/src/handlers/handleGetMiniUserList.ts @@ -17,7 +17,7 @@ user1._userName = "User 1"; * @param {ServerLogger} args.log */ -export async function handleGetMiniUserList({ +export function handleGetMiniUserList({ connectionId, message, log, diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts deleted file mode 100644 index 4d277e89e..000000000 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { ServerLogger, LegacyMessage } from "../../shared"; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - */ -export declare function handleSendMiniRiffList({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: LegacyMessage; -}>; diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts index 6cd4917fe..1c576072f 100644 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ b/packages/lobby/src/handlers/handleSendMiniRiffList.ts @@ -1,8 +1,8 @@ import { - ServerLogger, GameMessage, LegacyMessage, serializeString, + type TServerLogger, } from "../../../shared"; import { channelRecordSize, channels } from "./encryptedCommand.js"; @@ -13,14 +13,14 @@ import { channelRecordSize, channels } from "./encryptedCommand.js"; * @param {LegacyMessage} args.message * @param {ServerLogger} args.log */ -export async function handleSendMiniRiffList({ +export function handleSendMiniRiffList({ connectionId, message, log, }: { connectionId: string; message: LegacyMessage; - log: ServerLogger; + log: TServerLogger; }) { log.debug("Handling NPS_SEND_MINI_RIFF_LIST"); log.debug(`Received command: ${message._doSerialize().toString("hex")}`); diff --git a/packages/lobby/src/handlers/handleTrackingPing.d.ts b/packages/lobby/src/handlers/handleTrackingPing.d.ts deleted file mode 100644 index 79fb8faa6..000000000 --- a/packages/lobby/src/handlers/handleTrackingPing.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { ServerLogger, SerializedBuffer } from "../../shared"; -export declare function handleTrackingPing({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/lobby/src/handlers/requestConnectGameServer.d.ts b/packages/lobby/src/handlers/requestConnectGameServer.d.ts deleted file mode 100644 index 95196f528..000000000 --- a/packages/lobby/src/handlers/requestConnectGameServer.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * Convert to zero padded hex - * - * @export - * @param {Buffer} data - * @return {string} - */ -export declare function toHex(data: Buffer): string; -/** - * Handle a request to connect to a game server packet - * - * @private - * @param {import("../../../interfaces/index.js").ServiceArgs} args - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export declare function _npsRequestGameConnectServer({ - connectionId, - message, - log, -}: import("../../../interfaces/index.js").ServiceArgs): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/lobby/src/internal.d.ts b/packages/lobby/src/internal.d.ts deleted file mode 100644 index 74c2353cb..000000000 --- a/packages/lobby/src/internal.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { ServerLogger, SerializedBuffer } from "../../shared"; -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export declare const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[]; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - * @throws {Error} Unknown code was received - */ -export declare function receiveLobbyData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts index 171341079..d414ad4f1 100644 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts @@ -1,7 +1,7 @@ import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; import { describe, it, expect } from "vitest"; import { LegacyMessage } from "../../../shared"; -import { mockLogger } from "../../../../test/factoryMocks.js"; +import { mockLogger } from "../../../shared/test" describe("handleSendMiniRiffList", () => { it("should return a buffer", async () => { diff --git a/packages/login/package.json b/packages/login/package.json index 79c4216f9..f440459ca 100644 --- a/packages/login/package.json +++ b/packages/login/package.json @@ -9,5 +9,5 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0" } diff --git a/packages/login/src/NPSUserStatus.d.ts b/packages/login/src/NPSUserStatus.d.ts deleted file mode 100644 index e95d79cec..000000000 --- a/packages/login/src/NPSUserStatus.d.ts +++ /dev/null @@ -1,62 +0,0 @@ -/// -import { LegacyMessage, Configuration, ServerLogger } from "../../shared"; -/** - * @typedef {Configuration} Configuration - */ -/** - * - * - * @export - * @typedef {object} NPSMessageValues - * @property {number} msgNo - * @property {number} msgVersion - * @property {number} reserved - * @property {Buffer} content - * @property {number} msgLength - * @property {"sent" | "received"} direction - * @property {string} serviceName - */ -/** - * - * @class NPSUserStatus - * @property {string} sessionKey - * @property {string} opCode - * @property {Buffer} buffer - */ -export declare class NPSUserStatus extends LegacyMessage { - _config: Configuration; - log: ServerLogger; - sessionKey: string; - opCode: number; - contextId: string; - buffer: Buffer; - /** - * - * @param {Buffer} packet - * @param {Configuration} config - * @param {ServerLogger} log - */ - constructor(packet: Buffer, config: Configuration, log: ServerLogger); - /** - * ExtractSessionKeyFromPacket - * - * Take 128 bytes - * They are the utf-8 of the hex bytes that are the key - * - * @param {Buffer} rawPacket - * @return {void} - */ - extractSessionKeyFromPacket(rawPacket: Buffer): void; - toJSON(): { - msgNo: number; - msgLength: any; - content: string; - contextId: string; - sessionKey: string; - rawBuffer: string; - }; - /** - * @return {string} - */ - dumpPacket(): string; -} diff --git a/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts index c733c14e1..0a56b51cf 100644 --- a/packages/login/src/NPSUserStatus.ts +++ b/packages/login/src/NPSUserStatus.ts @@ -1,7 +1,7 @@ import { privateDecrypt } from "node:crypto"; import { readFileSync } from "node:fs"; -import { LegacyMessage, Configuration, ServerLogger } from "../../shared"; +import { LegacyMessage, Configuration, ServerLogger, type TServerLogger } from "../../shared"; /** * @typedef {Configuration} Configuration @@ -30,7 +30,7 @@ import { LegacyMessage, Configuration, ServerLogger } from "../../shared"; export class NPSUserStatus extends LegacyMessage { _config: Configuration; - log: ServerLogger; + log: TServerLogger; sessionKey: string; opCode: number; contextId: string; @@ -41,7 +41,7 @@ export class NPSUserStatus extends LegacyMessage { * @param {Configuration} config * @param {ServerLogger} log */ - constructor(packet: Buffer, config: Configuration, log: ServerLogger) { + constructor(packet: Buffer, config: Configuration, log: TServerLogger) { super(); this._config = config; this.log = log; diff --git a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts deleted file mode 100644 index 9a10a756e..000000000 --- a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Commands from the game client to the login server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -/** - * Commands from the game client to the login server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -export declare const NPS_LOGINCLIENT_COMMANDS: GameMessageOpCode[]; diff --git a/packages/login/src/NPS_LOGIN_COMMANDS.d.ts b/packages/login/src/NPS_LOGIN_COMMANDS.d.ts deleted file mode 100644 index ac6660a46..000000000 --- a/packages/login/src/NPS_LOGIN_COMMANDS.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -/** - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -export declare const NPS_LOGIN_COMMANDS: GameMessageOpCode[]; diff --git a/packages/login/src/index.d.ts b/packages/login/src/index.d.ts deleted file mode 100644 index 281fe8a6f..000000000 --- a/packages/login/src/index.d.ts +++ /dev/null @@ -1,51 +0,0 @@ -import type { ServerLogger, ServiceResponse, NPSMessage } from "../../shared"; -/** - * Please use {@link LoginServer.getInstance()} - */ -export declare class LoginServer { - _log: any; - static _instance: LoginServer | undefined; - /** - * Please use {@see LoginServer.getInstance} instead - * @param {object} options - * @param {ServerLogger} options.log - * @memberof LoginServer - */ - constructor({ log }: { log: ServerLogger }); - /** - * Get the single instance of the login server - * - * @static - * @param {ServerLogger} log - * @return {LoginServer} - */ - static getInstance(log: ServerLogger): LoginServer; - /** - * - * @param {string} contextId - * @return {import("../../interfaces/index.js").UserRecordMini} - */ - _npsGetCustomerIdByContextId( - contextId: string, - ): import("../../interfaces/index.js").UserRecordMini; -} -/** - * Entry and exit point of the Login service - * - * @export - * @param {object} args - * @param {string} args.connectionId - * @param {NPSMessage} args.message - * @param {ServerLogger} args.log - * - * @return {Promise} - */ -export declare function receiveLoginData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: NPSMessage; - log: ServerLogger; -}): Promise; diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts index 3a34d4a60..9d75f220f 100644 --- a/packages/login/src/index.ts +++ b/packages/login/src/index.ts @@ -29,14 +29,14 @@ // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import type { ServerLogger, ServiceResponse, NPSMessage } from "../../shared"; +import type { ServerLogger, ServiceResponse, NPSMessage, TServerLogger, UserRecordMini } from "../../shared"; import { handleLoginData } from "./internal.js"; /** * Please use {@link LoginServer.getInstance()} */ export class LoginServer { - _log: any; + _log: TServerLogger static _instance: LoginServer | undefined; /** * Please use {@see LoginServer.getInstance} instead @@ -44,7 +44,7 @@ export class LoginServer { * @param {ServerLogger} options.log * @memberof LoginServer */ - constructor({ log }: { log: ServerLogger }) { + constructor({ log }: { log: TServerLogger }) { this._log = log; LoginServer._instance = this; } @@ -65,17 +65,11 @@ export class LoginServer { return LoginServer._instance; } - /** - * - * @param {string} contextId - * @return {import("../../interfaces/index.js").UserRecordMini} - */ _npsGetCustomerIdByContextId( contextId: string, - ): import("../../interfaces/index.js").UserRecordMini { + ): UserRecordMini { this._log.debug(">>> _npsGetCustomerIdByContextId"); - /** @type {import("../../interfaces/index.js").UserRecordMini[]} */ - const users: import("../../interfaces/index.js").UserRecordMini[] = [ + const users: UserRecordMini[] = [ { contextId: "5213dee3a6bcdb133373b2d4f3b9962758", customerId: 0x0012808b, @@ -138,7 +132,7 @@ export async function receiveLoginData({ }: { connectionId: string; message: NPSMessage; - log: ServerLogger; + log: TServerLogger; }): Promise { try { log.debug("Entering login module"); diff --git a/packages/login/src/internal.d.ts b/packages/login/src/internal.d.ts deleted file mode 100644 index 071192bdf..000000000 --- a/packages/login/src/internal.d.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { ServerLogger, SerializedBuffer } from "../../shared"; -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export declare const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[]; -/** - * Entry and exit point of the Login service - * - * @export - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export declare function handleLoginData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts index 79d838696..1d7c605bd 100644 --- a/packages/login/src/internal.ts +++ b/packages/login/src/internal.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { getServerConfiguration } from "../../shared"; +import { getServerConfiguration, type TServerLogger } from "../../shared"; import { NPSUserStatus } from "./NPSUserStatus.js"; import { updateSessionKey } from "../../database"; import { @@ -57,7 +57,7 @@ async function login({ }: { connectionId: string; message: SerializedBuffer; - log: ServerLogger; + log: TServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -175,7 +175,7 @@ export const messageHandlers: { handler: (args: { connectionId: string; message: SerializedBuffer; - log: ServerLogger; + log: TServerLogger; }) => Promise<{ connectionId: string; messages: SerializedBuffer[]; @@ -208,7 +208,7 @@ export async function handleLoginData({ }: { connectionId: string; message: SerializedBuffer; - log: ServerLogger; + log: TServerLogger; }): Promise<{ connectionId: string; messages: SerializedBuffer[]; diff --git a/packages/login/src/premadeLogin.d.ts b/packages/login/src/premadeLogin.d.ts deleted file mode 100644 index e90669ed1..000000000 --- a/packages/login/src/premadeLogin.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * This is the response packet sent on the login port in response to a UserLogin - * - * @return {Buffer} - */ -/// -export declare function premadeLogin(): Buffer; diff --git a/packages/login/test/LoginServer.test.d.ts b/packages/login/test/LoginServer.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/login/test/LoginServer.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts index eac59a1ba..a14d2ec60 100644 --- a/packages/login/test/LoginServer.test.ts +++ b/packages/login/test/LoginServer.test.ts @@ -1,6 +1,8 @@ import { describe, it, expect } from "vitest"; import { LoginServer } from "../src/index.js"; -import { mockLogger } from "../../../test/factoryMocks.js"; +import { mockLogger } from "../../shared/test"; + + describe("LoginServer", () => { describe("constructor", () => { diff --git a/packages/mcots/ClientConnectionManager.ts b/packages/mcots/ClientConnectionManager.ts new file mode 100644 index 000000000..7839e06ab --- /dev/null +++ b/packages/mcots/ClientConnectionManager.ts @@ -0,0 +1,49 @@ +import type { Connection } from "../connection/src/Connection"; + +export class ClientConnectionManager { + static _instance: ClientConnectionManager; + + static getInstance() { + if (!ClientConnectionManager._instance) { + ClientConnectionManager._instance = new ClientConnectionManager(); + } + return ClientConnectionManager._instance; + } + private _connections: Map = new Map(); + + public addConnection(connection: Connection) { + this._connections.set(connection.id, connection); + } + + public removeConnection(connectionId: string) { + this._connections.delete(connectionId); + } + + public getConnection(connectionId: string): Connection | undefined { + return this._connections.get(connectionId); + } + + public getConnections(): Connection[] { + return Array.from(this._connections.values()); + } + + public clearConnections() { + this._connections.clear(); + } + + static addConnection(connection: Connection) { + ClientConnectionManager.getInstance().addConnection(connection); + } + + static removeConnection(connectionId: string) { + ClientConnectionManager.getInstance().removeConnection(connectionId); + } + + static getConnection(connectionId: string): Connection | undefined { + return ClientConnectionManager.getInstance().getConnection(connectionId); + } + + static getConnections(): Connection[] { + return ClientConnectionManager.getInstance().getConnections(); + } +} diff --git a/packages/mcots/errors/ErrorNoKey.ts b/packages/mcots/errors/ErrorNoKey.ts new file mode 100644 index 000000000..7e89d13a1 --- /dev/null +++ b/packages/mcots/errors/ErrorNoKey.ts @@ -0,0 +1,5 @@ +export class ErrorNoKey extends Error { + constructor(msg?: string) { + super(msg || "No key provided"); + } +} diff --git a/packages/mcots/index.ts b/packages/mcots/index.ts new file mode 100644 index 000000000..14f4c43b4 --- /dev/null +++ b/packages/mcots/index.ts @@ -0,0 +1,7 @@ +export { + serverMessageProcessors, + populateServerMessageProcessors, + getServerMessageProcessor, +} from "./messageProcessors/index.js"; + +// Path: packages/mcots/index.ts diff --git a/packages/mcots/messageProcessors/index.ts b/packages/mcots/messageProcessors/index.ts new file mode 100644 index 000000000..0d1299c21 --- /dev/null +++ b/packages/mcots/messageProcessors/index.ts @@ -0,0 +1,42 @@ +import type { ServerMessage } from "../../shared-packets"; +import { processClientConnect } from "./processClientConnect"; +import { processClientTracking } from "./processClientTracking"; +import { processServerLogin } from "./processServerLogin"; +import { processSetOptions } from "./processSetOptions"; +import { processStockCarInfo } from "./processStockCarInfo"; + +export type ServerSocketCallback = (messages: ServerMessage[]) => void; + +export type ServerMessageProcessor = ( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +) => Promise; + +const serverMessageProcessors = new Map([]); + +export function addServerMessageProcessor( + messageId: number, + processor: ServerMessageProcessor, +) { + serverMessageProcessors.set(messageId, processor); +} + +export function populateServerMessageProcessors() { + addServerMessageProcessor(105, processServerLogin); + addServerMessageProcessor(109, processSetOptions); + addServerMessageProcessor(141, processStockCarInfo); + addServerMessageProcessor(440, processClientTracking); + addServerMessageProcessor(438, processClientConnect); +}; + +export function getServerMessageProcessor(messageId: number) { + return serverMessageProcessors.get(messageId); +} + +export function getServerMessageProcessors() { + return serverMessageProcessors; +} + + + diff --git a/packages/mcots/messageProcessors/processClientConnect.ts b/packages/mcots/messageProcessors/processClientConnect.ts new file mode 100644 index 000000000..61e303b72 --- /dev/null +++ b/packages/mcots/messageProcessors/processClientConnect.ts @@ -0,0 +1,86 @@ +import { + ServerMessage, +} from "../../shared-packets/src/ServerMessage"; +import type { ServerSocketCallback } from "."; +import { getServerLogger } from "../../shared"; +import { ClientConnectionMessage } from "../payloads/ClientConnectMessage"; +import { UserStatusManager } from "../../nps"; +import { ClientConnectionManager } from "../ClientConnectionManager"; +import { createDataEncryptionPair } from "../../connection/src/Connection"; +import { ErrorNoKey } from "../errors/ErrorNoKey"; +import { sendSuccess } from "./sendSuccess"; + +const log = getServerLogger(); + +export async function processClientConnect( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +): Promise { + log.setName("processClientConnect"); + try { + log.debug(`Processing client connect request: ${message.toString()}`); + + const request = new ClientConnectionMessage( + message.getDataBuffer().length, + ).deserialize(message.getDataBuffer()); + + log.debug(`Received client connect request: ${request.toString()}`); + + const userStatus = UserStatusManager.getUserStatus( + request.getCustomerId(), + ); + + if (!userStatus) { + log.error( + `User status not found for customer ID: ${request.getCustomerId()}`, + ); + return; + } + + log.debug(`User status found: ${userStatus.toString()}`); + + // Get the connection record + const connection = ClientConnectionManager.getConnection(connectionId); + + if (!connection) { + log.error( + `Connection not found for connection ID: ${connectionId}`, + ); + return; + } + + log.debug(`Connection found: ${connection.toString()}`); + + const sessionKey = userStatus.getSessionKey(); + + if (!sessionKey) { + log.error( + `Session key not found for customer ID: ${request.getCustomerId()}`, + ); + return; + } + + const cipherPair = createDataEncryptionPair(sessionKey.getKey()); + + connection.setCipherPair(cipherPair); + + sendSuccess(message, socketCallback); + + log.resetName(); + return Promise.resolve(); + } catch (error) { + if (error instanceof ErrorNoKey) { + log.error( + `Error processing client connect request: ${error.message}`, + ); + } else { + log.error( + `Error processing client connect request: ${error as string}`, + ); + throw error; + } + } +} + +// Path: packages/mcots/messageProcessors/processClientConnect.ts \ No newline at end of file diff --git a/packages/mcots/messageProcessors/processClientTracking.ts b/packages/mcots/messageProcessors/processClientTracking.ts new file mode 100644 index 000000000..935ab6927 --- /dev/null +++ b/packages/mcots/messageProcessors/processClientTracking.ts @@ -0,0 +1,27 @@ +import type { ServerSocketCallback } from "."; +import type { ServerMessage } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; +import { ClientTrackingMessage } from "../payloads/ClientTrackingMessage"; + +const log = getServerLogger(); + +export async function processClientTracking( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +) { + log.setName("processClientTracking"); + + log.debug(`Processing client tracking message`); + + const trackingMessage = new ClientTrackingMessage(0).deserialize(message.serialize()); + + log.debug(`Type: ${trackingMessage.getType()}, Tracking Text: ${trackingMessage.getTrackingText()}`); + + // Do something with the tracking data + + log.resetName(); + void socketCallback([]); + + return Promise.resolve(); +} diff --git a/packages/mcots/messageProcessors/processServerLogin.ts b/packages/mcots/messageProcessors/processServerLogin.ts new file mode 100644 index 000000000..928eee3dd --- /dev/null +++ b/packages/mcots/messageProcessors/processServerLogin.ts @@ -0,0 +1,37 @@ +import type { ServerSocketCallback } from "."; +import { ServerMessage } from "../../shared-packets/src/ServerMessage"; +import { LoginMessage } from "../payloads/LoginMessage"; +import { getServerLogger } from "../../shared"; +import { LoginCompleteMessage } from "../payloads/LoginCompleteMessage"; + +const log = getServerLogger(); + +export async function processServerLogin( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +): Promise { + log.setName("processServerLogin"); + // Read the inbound packet + const loginMessage = new LoginMessage(message.getDataBuffer().length); + loginMessage.deserialize(message.getDataBuffer()); + log.debug(`Received LoginMessage: ${loginMessage.toString()}`); + + // Create new response packet + const response = new LoginCompleteMessage(); + response.setMessageId(213); + response.setServerTime(Math.floor(Date.now() / 1000)); + response.setFirstTime(true); + + log.debug(`Sending LoginCompleteMessage: ${response.toString()}`); + + // Send response packet + const responsePacket = new ServerMessage(response.getMessageId()); + responsePacket.setData(response); + responsePacket.populateHeader(message.getSequence()); + + + socketCallback([responsePacket]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/mcots/messageProcessors/processSetOptions.ts b/packages/mcots/messageProcessors/processSetOptions.ts new file mode 100644 index 000000000..23f2682f9 --- /dev/null +++ b/packages/mcots/messageProcessors/processSetOptions.ts @@ -0,0 +1,28 @@ +import { getServerLogger } from "../../shared/src/log"; +import { ServerMessage } from "../../shared-packets/src/ServerMessage"; +import { SetOptionsMessage } from "../payloads/SetOptionsMessage"; +import type { ServerSocketCallback } from "./index"; +import { sendSuccess } from "./sendSuccess"; + +const log = getServerLogger(); + + +export async function processSetOptions( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +) { + log.setName("processSetOptions"); + log.info(`Processing SetOptionsMessage`); + const setOptionsMessage = new SetOptionsMessage().deserialize( + message.getDataBuffer(), + ); + log.info(`SetOptionsMessage: ${setOptionsMessage.toString()}`); + + // TODO: Implement the logic for processing the SetOptionsMessage + + sendSuccess(message, socketCallback); + + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/mcots/messageProcessors/processStockCarInfo.ts b/packages/mcots/messageProcessors/processStockCarInfo.ts new file mode 100644 index 000000000..b2014f07e --- /dev/null +++ b/packages/mcots/messageProcessors/processStockCarInfo.ts @@ -0,0 +1,105 @@ +import { + ServerGenericRequest, + ServerMessage, +} from "../../shared-packets/src/ServerMessage"; +import type { ServerSocketCallback } from "."; +import { getServerLogger } from "../../shared"; +import { + getWarehouseInventory, + type WarehouseInventory, +} from "../../database/src/functions/getWarehouseInventory"; +import { StackCarInfo, StockCar } from "../payloads/StockCar"; + +const log = getServerLogger(); + +// 1300 544f4d43 01 00000000 8d00 [08000000 00000000] + +export async function processStockCarInfo( + connectionId: string, + message: ServerMessage, + socketCallback: ServerSocketCallback, +): Promise { + log.setName("processStockCarInfo"); + try { + log.debug(`Processing stock car info message`); + + const request = new ServerGenericRequest().deserialize( + message.data.serialize(), + ); + + log.debug(`Received stock car info request: ${request.toString()}`); + + const lotOwnerId = request.getData().readUInt32LE(); + const brandId = request.getData2().readUInt32LE(); + + log.debug(`Lot owner ID: ${lotOwnerId} Brand ID: ${brandId}`); + + const inventoryCars: WarehouseInventory = await getWarehouseInventory( + lotOwnerId, + brandId, + ); + + log.debug( + `Sending car info for lot owner ${lotOwnerId} and brand ${brandId}`, + ); + + const responsePacket = new StackCarInfo(); + + responsePacket.setMessageId(141); + responsePacket.setStarterCash(100); + responsePacket.setDealerId(lotOwnerId); + responsePacket.setBrandId(brandId); + + const response = new ServerMessage(141); + + if ( + inventoryCars.inventory.length > StackCarInfo.MAX_CARS_PER_MESSAGE + ) { + log.error( + `Too many cars in inventory: ${inventoryCars.inventory.length}`, + ); + return; + } + + log.debug(`Sending ${inventoryCars.inventory.length} cars`); + + while (inventoryCars.inventory.length > 0) { + const car = inventoryCars.inventory.shift(); + + if (typeof car === "undefined") { + log.error(`Car not found`); + break; + } + + const stockCar = new StockCar(); + + stockCar.setBrandedPartId(car.brandedPartId); + stockCar.setIsDealOfTheDay(car.isDealOfTheDay === 1); + + let carCost = car.retailPrice || 0; + + if (car.isDealOfTheDay === 1) { + const discount = carCost * inventoryCars.dealOfTheDayDiscount; + carCost -= discount; + } + + stockCar.setRetailPrice(carCost); + + responsePacket.addCar(stockCar); + } + + log.debug(`Sending ${responsePacket.getNumberOfCars()} cars...complete`); + + responsePacket.setMoreCars(false); + + response.setData(responsePacket); + response.populateHeader(message.header.getSequence()); + log.resetName(); + return socketCallback([response]); + } catch (error) { + log.error(`Error processing stock car info: ${error as string}`); + throw error; + } +} + +// Path: packages/mcots/messageProcessors/processStockCarInfo.ts diff --git a/packages/mcots/messageProcessors/sendSuccess.ts b/packages/mcots/messageProcessors/sendSuccess.ts new file mode 100644 index 000000000..a86890be8 --- /dev/null +++ b/packages/mcots/messageProcessors/sendSuccess.ts @@ -0,0 +1,17 @@ +import { + ServerGenericResponse, + ServerMessage +} from "../../shared-packets/src/ServerMessage"; +import type { ServerSocketCallback } from "."; + +export function sendSuccess(message: ServerMessage, socketCallback: ServerSocketCallback) { + const pReply = new ServerGenericResponse(); + pReply.setMessageId(101); + pReply.setMsgReply(438); + + const response = new ServerMessage(101); + response.setData(pReply); + response.populateHeader(message.getSequence()); + + socketCallback([response]); +} diff --git a/packages/interfaces/package.json b/packages/mcots/package.json similarity index 51% rename from packages/interfaces/package.json rename to packages/mcots/package.json index c4121e3fc..36b4f3791 100644 --- a/packages/interfaces/package.json +++ b/packages/mcots/package.json @@ -1,5 +1,5 @@ { - "name": "@rustymotors/interfaces", + "name": "@rustymotors/mcots", "version": "1.0.0", "description": "", "main": "index.js", @@ -9,5 +9,10 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0", + "dependencies": { + "@rustymotors/shared": "workspace:^", + "@sentry/node": "^7.102.0", + "short-unique-id": "^5.0.3" + } } diff --git a/packages/mcots/payloads/ClientConnectMessage.ts b/packages/mcots/payloads/ClientConnectMessage.ts new file mode 100644 index 000000000..0193f6d01 --- /dev/null +++ b/packages/mcots/payloads/ClientConnectMessage.ts @@ -0,0 +1,72 @@ +import { ServerMessagePayload } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + +export class ClientConnectionMessage extends ServerMessagePayload { + private _customerId: number = 0; // 4 bytes + private _personaId: number = 0; // 4 bytes + private _customerName: string = ""; // 13 bytes + private _personaName: string = ""; // 13 bytes + private _clientVersion: number = 0; // 4 bytes + + constructor(size: number) { + super(); + + this._data = Buffer.alloc(size); + } + + override getByteSize(): number { + return 2 + 4 + 4 + 13 + 13 + 4; // 40 bytes + } + + override deserialize(data: Buffer): ClientConnectionMessage { + try { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + + this._customerId = data.readUInt32LE(2); + + this._personaId = data.readUInt32LE(6); + + this._customerName = data.toString("utf8", 10, 23); + + this._personaName = data.toString("utf8", 23, 36); + + this._clientVersion = data.readUInt32LE(36); + + return this; + } catch (error) { + log.error( + `Error deserializing ClientTrackingMessage: ${error as string}`, + ); + throw error; + } + } + + getCustomerId() { + return this._customerId; + } + + getPersonaId() { + return this._personaId; + } + + getCustomerName() { + return this._customerName; + } + + getPersonaName() { + return this._personaName; + } + + getClientVersion() { + return this._clientVersion; + } + + toString(): string { + return `ClientConnectionMessage {customerId: ${this._customerId}, personaId: ${this._personaId}, customerName: ${this._customerName}, personaName: ${this._personaName}, clientVersion: ${this._clientVersion}}`; + } + +} diff --git a/packages/mcots/payloads/ClientTrackingMessage.ts b/packages/mcots/payloads/ClientTrackingMessage.ts new file mode 100644 index 000000000..49204b41e --- /dev/null +++ b/packages/mcots/payloads/ClientTrackingMessage.ts @@ -0,0 +1,44 @@ +import { ServerMessagePayload } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + +export class ClientTrackingMessage extends ServerMessagePayload { + private _type: number = 0; // 2 bytes + private _trackingText: string = ""; // 256 bytes + + constructor(size: number) { + super(); + + this._data = Buffer.alloc(size); + } + + override getByteSize(): number { + return 0; + } + + override deserialize(data: Buffer): ClientTrackingMessage { + try { + this.messageId = data.readUInt16LE(0); + + this._type = data.readUInt16LE(2); + + this._trackingText = data.toString("utf8", 4, 260); + + return this; + } catch (error) { + log.error( + `Error deserializing ClientTrackingMessage: ${error as string}`, + ); + throw error; + } + } + + getType() { + return this._type; + } + + getTrackingText() { + return this._trackingText; + } +} diff --git a/packages/mcots/payloads/LoginCompleteMessage.ts b/packages/mcots/payloads/LoginCompleteMessage.ts new file mode 100644 index 000000000..acec70c46 --- /dev/null +++ b/packages/mcots/payloads/LoginCompleteMessage.ts @@ -0,0 +1,231 @@ +import { ServerMessagePayload } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + +export class LoginCompleteMessage extends ServerMessagePayload { + private _serverTime: number = 0; // 4 bytes + private _firstTime: boolean = false; // 1 byte + private _paycheckWaiting: boolean = false; // 1 byte + private _clubInvitesWaiting: boolean = false; // 1 byte + private tallyInProgress: boolean = false; // 1 byte + private _secondsUntilShutdown: number = 0; // 2 bytes + + private _shardGNP: number = 0; // 4 bytes + private _shardCarsSold: number = 0; // 4 bytes + private _shardAverageSalaries: number = 0; // 4 bytes + private _shardAverageCarsOwned: number = 0; // 4 bytes + private _shardAverageLevel: number = 0; // 4 bytes + + private _cookie: number = 0; // 4 bytes + + private _nextTallyDate: number = 0; // 4 bytes + private _nextPaycheckDate: number = 0; // 4 bytes + + constructor() { + super(); + + this._data = Buffer.alloc(this.getByteSize()); + } + + override getByteSize(): number { + return 2 + 4 + 1 + 1 + 1 + 1 + 1 + 2 + 4 + 4 + 4 + 4 + 4 + 4 + 4 + 4; + } + + override deserialize(data: Buffer): LoginCompleteMessage { + try { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + + this._serverTime = data.readUInt32LE(2); + + this._firstTime = data.readUInt8(6) === 1; + + this._paycheckWaiting = data.readUInt8(7) === 1; + + this._clubInvitesWaiting = data.readUInt8(8) === 1; + + this.tallyInProgress = data.readUInt8(9) === 1; + + this._secondsUntilShutdown = data.readUInt16LE(10); + + this._shardGNP = data.readUInt32LE(12); + + this._shardCarsSold = data.readUInt32LE(16); + + this._shardAverageSalaries = data.readUInt32LE(20); + + this._shardAverageCarsOwned = data.readUInt32LE(24); + + this._shardAverageLevel = data.readUInt32LE(28); + + this._cookie = data.readUInt32LE(32); + + this._nextTallyDate = data.readUInt32LE(36); + + this._nextPaycheckDate = data.readUInt32LE(40); + + return this; + } catch (error) { + log.error( + `Error deserializing LoginCompleteMessage: ${error as string}`, + ); + throw error; + } + } + + getServerTime() { + return this._serverTime; + } + + isFirstTime() { + return this._firstTime; + } + + isPaycheckWaiting() { + return this._paycheckWaiting; + } + + isClubInvitesWaiting() { + return this._clubInvitesWaiting; + } + + isTallyInProgress() { + return this.tallyInProgress; + } + + getSecondsUntilShutdown() { + return this._secondsUntilShutdown; + } + + getShardGNP() { + return this._shardGNP; + } + + getShardCarsSold() { + return this._shardCarsSold; + } + + getShardAverageSalaries() { + return this._shardAverageSalaries; + } + + getShardAverageCarsOwned() { + return this._shardAverageCarsOwned; + } + + getShardAverageLevel() { + return this._shardAverageLevel; + } + + getCookie() { + return this._cookie; + } + + getNextTallyDate() { + return this._nextTallyDate; + } + + getNextPaycheckDate() { + return this._nextPaycheckDate; + } + + override serialize(): Buffer { + this._data.writeUInt16LE(this.messageId, 0); + + this._data.writeUInt32LE(this._serverTime, 2); + + this._data.writeUInt8(this._firstTime ? 1 : 0, 6); + + this._data.writeUInt8(this._paycheckWaiting ? 1 : 0, 7); + + this._data.writeUInt8(this._clubInvitesWaiting ? 1 : 0, 8); + + this._data.writeUInt8(this.tallyInProgress ? 1 : 0, 9); + + this._data.writeUInt16LE(this._secondsUntilShutdown, 10); + + this._data.writeUInt32LE(this._shardGNP, 12); + + this._data.writeUInt32LE(this._shardCarsSold, 16); + + this._data.writeUInt32LE(this._shardAverageSalaries, 20); + + this._data.writeUInt32LE(this._shardAverageCarsOwned, 24); + + this._data.writeUInt32LE(this._shardAverageLevel, 28); + + this._data.writeUInt32LE(this._cookie, 32); + + this._data.writeUInt32LE(this._nextTallyDate, 36); + + this._data.writeUInt32LE(this._nextPaycheckDate, 40); + + return this._data; + } + + toString(): string { + return `LoginCompleteMessage {serverTime: ${this._serverTime}, firstTime: ${this._firstTime}, paycheckWaiting: ${this._paycheckWaiting}, clubInvitesWaiting: ${this._clubInvitesWaiting}, tallyInProgress: ${this.tallyInProgress}, secondsUntilShutdown: ${this._secondsUntilShutdown}, shardGNP: ${this._shardGNP}, shardCarsSold: ${this._shardCarsSold}, shardAverageSalaries: ${this._shardAverageSalaries}, shardAverageCarsOwned: ${this._shardAverageCarsOwned}, shardAverageLevel: ${this._shardAverageLevel}, cookie: ${this._cookie}, nextTallyDate: ${this._nextTallyDate}, nextPaycheckDate: ${this._nextPaycheckDate}}`; + } + + setServerTime(serverTime: number) { + this._serverTime = serverTime; + } + + setFirstTime(firstTime: boolean) { + this._firstTime = firstTime; + } + + setPaycheckWaiting(paycheckWaiting: boolean) { + this._paycheckWaiting = paycheckWaiting; + } + + setClubInvitesWaiting(clubInvitesWaiting: boolean) { + this._clubInvitesWaiting = clubInvitesWaiting; + } + + setTallyInProgress(tallyInProgress: boolean) { + this.tallyInProgress = tallyInProgress; + } + + setSecondsUntilShutdown(secondsUntilShutdown: number) { + this._secondsUntilShutdown = secondsUntilShutdown; + } + + setShardGNP(shardGNP: number) { + this._shardGNP = shardGNP; + } + + setShardCarsSold(shardCarsSold: number) { + this._shardCarsSold = shardCarsSold; + } + + setShardAverageSalaries(shardAverageSalaries: number) { + this._shardAverageSalaries = shardAverageSalaries; + } + + setShardAverageCarsOwned(shardAverageCarsOwned: number) { + this._shardAverageCarsOwned = shardAverageCarsOwned; + } + + setShardAverageLevel(shardAverageLevel: number) { + this._shardAverageLevel = shardAverageLevel; + } + + setCookie(cookie: number) { + this._cookie = cookie; + } + + setNextTallyDate(nextTallyDate: number) { + this._nextTallyDate = nextTallyDate; + } + + setNextPaycheckDate(nextPaycheckDate: number) { + this._nextPaycheckDate = nextPaycheckDate; + } + + size(): number { + return this.getByteSize(); + } +}; diff --git a/packages/mcots/payloads/LoginMessage.ts b/packages/mcots/payloads/LoginMessage.ts new file mode 100644 index 000000000..67b6d0519 --- /dev/null +++ b/packages/mcots/payloads/LoginMessage.ts @@ -0,0 +1,86 @@ +import { ServerMessagePayload } from "../../shared-packets" +import { getServerLogger } from "../../shared" + +const log = getServerLogger(); + +export class LoginMessage extends ServerMessagePayload { + private _customerId: number = 0; // 4 bytes + private _personaId: number = 0; // 4 bytes + private _lotOwnerId: number = 0; // 4 bytes + private _brandedPartId: number = 0; // 4 bytes + private _skinId: number = 0; // 4 bytes + private _personaName: string = ""; // 13 bytes + private _mcVersion: string = ""; // 4 bytes + + constructor(size: number) { + super(); + + this._data = Buffer.alloc(size); + } + + override getByteSize(): number { + return 2 + 4 + 4 + 4 + 4 + 4 + 13 + 4; + } + + override deserialize(data: Buffer): LoginMessage { + try { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + + this._customerId = data.readUInt32LE(2); + + this._personaId = data.readUInt32LE(6); + + this._lotOwnerId = data.readUInt32LE(10); + + this._brandedPartId = data.readUInt32LE(14); + + this._skinId = data.readUInt32LE(18); + + this._personaName = data.toString("utf8", 22, 35); + + this._mcVersion = data.toString("utf8", 35, 39); + + return this; + } catch (error) { + log.error( + `Error deserializing LoginMessage: ${error as string}`, + ); + throw error; + } + } + + getCustomerId() { + return this._customerId; + } + + getPersonaId() { + return this._personaId; + } + + getLotOwnerId() { + return this._lotOwnerId; + } + + + getBrandedPartId() { + return this._brandedPartId; + } + + getSkinId() { + return this._skinId; + } + + getPersonaName() { + return this._personaName; + } + + getClientVersion() { + return this._mcVersion; + } + + override toString(): string { + return `LoginMessage: ${this.getPersonaName()}, customerId: ${this.getCustomerId()}, personaId: ${this.getPersonaId()}, lotOwnerId: ${this.getLotOwnerId()}, brandedPartId: ${this.getBrandedPartId()}, skinId: ${this.getSkinId()}, mcVersion: ${this.getClientVersion()}`; + } +}; diff --git a/packages/mcots/payloads/SetOptionsMessage.ts b/packages/mcots/payloads/SetOptionsMessage.ts new file mode 100644 index 000000000..025c1ddad --- /dev/null +++ b/packages/mcots/payloads/SetOptionsMessage.ts @@ -0,0 +1,78 @@ +import { ServerMessagePayload } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + +export class SetOptionsMessage extends ServerMessagePayload { + private _lpCode: number = 0; // 2 bytes + private _lpText: string = ""; // 8 bytes + private _carInfoSettings: number = 0; // 4 bytes + private _carNumbers = { + carNumber1: "", // 3 bytes + carNumber2: "", // 3 bytes + carNumber3: "", // 3 bytes + carNumber4: "", // 3 bytes + carNumber5: "", // 3 bytes + carNumber6: "", // 3 bytes + }; + + constructor() { + super(); + + this._data = Buffer.alloc(this.getByteSize()); + } + + override getByteSize(): number { + return 2 + 8 + 4 + 3 * 6; + } + + override deserialize(data: Buffer): SetOptionsMessage { + try { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + + this._lpCode = data.readUInt16LE(2); + + this._lpText = data.toString("utf8", 4, 12); + + this._carInfoSettings = data.readUInt32LE(12); + + this._carNumbers.carNumber1 = data.toString("utf8", 16, 19); + this._carNumbers.carNumber2 = data.toString("utf8", 19, 22); + this._carNumbers.carNumber3 = data.toString("utf8", 22, 25); + this._carNumbers.carNumber4 = data.toString("utf8", 25, 28); + this._carNumbers.carNumber5 = data.toString("utf8", 28, 31); + this._carNumbers.carNumber6 = data.toString("utf8", 31, 34); + + return this; + } catch (error) { + log.error( + `Error deserializing SetOptionsMessage: ${error as string}`, + ); + throw error; + } + } + + getLpCode() { + return this._lpCode; + } + + getLpText() { + return this._lpText; + } + + getCarInfoSettings() { + return this._carInfoSettings; + } + + getCarNumbers() { + return this._carNumbers; + } + + toString() { + return `SetOptionsMessage: lpCode=${this._lpCode}, lpText=${this._lpText}, carInfoSettings=${this._carInfoSettings}, carNumbers=${JSON.stringify(this._carNumbers)}`; + } + + +} diff --git a/packages/mcots/payloads/StockCar.ts b/packages/mcots/payloads/StockCar.ts new file mode 100644 index 000000000..9f915cb09 --- /dev/null +++ b/packages/mcots/payloads/StockCar.ts @@ -0,0 +1,120 @@ +import { Serializable } from "../../shared-packets"; +import { ServerMessagePayload } from "../../shared-packets"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + +export class StockCar extends Serializable { + private brandedPartId: number = 0; // 4 bytes + private retailPrice: number = 0; // 4 bytes + private isDealOfTheDay: number = 0; // 2 bytes + + override getByteSize(): number { + return 10 + } + + override serialize(): Buffer { + try { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt32LE(this.brandedPartId, 0); + buffer.writeUInt32LE(this.retailPrice, 4); + buffer.writeUInt16LE(this.isDealOfTheDay, 8); + + return buffer; + } catch (error) { + log.error(`Error serializing StockCar: ${error as string}`); + throw error; + } + } + + setBrandedPartId(brandedPartId: number) { + this.brandedPartId = brandedPartId; + } + + setRetailPrice(retailPrice: number) { + this.retailPrice = retailPrice; + } + + setIsDealOfTheDay(isDealOfTheDay: boolean) { + this.isDealOfTheDay = isDealOfTheDay ? 1 : 0; + } + + toString(): string { + return `StockCar: ${this.brandedPartId}, ${this.retailPrice}, ${this.isDealOfTheDay}`; + } +} + +export class StackCarInfo extends ServerMessagePayload { + static MAX_CARS_PER_MESSAGE = 100; + private _cars: StockCar[] = []; + // msgNo: 2 bytes + private _starterCash: number = 0; // 4 bytes + private _dealerId: number = 0; // 4 bytes + private _brandId: number = 0; // 4 bytes + private _numberOfCars: number = 0; // 2 bytes + private _moreCars: number = 0; // 2 bytes + + override getByteSize(): number { + return ( + 2 + + 4 + + 4 + + 4 + + 2 + + 1 + + this._cars.length * StockCar.prototype.getByteSize() + ); + } + + setStarterCash(starterCash: number) { + this._starterCash = starterCash; + } + + setDealerId(dealerId: number) { + this._dealerId = dealerId; + } + + setBrandId(brandId: number) { + this._brandId = brandId; + } + + override serialize(): Buffer { + try { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16LE(this.getMessageId(), 0); + buffer.writeUInt32LE(this._starterCash, 2); + buffer.writeUInt32LE(this._dealerId, 6); + buffer.writeUInt32LE(this._brandId, 10); + buffer.writeUInt16LE(this.getNumberOfCars(), 14); + buffer.writeInt8(this._moreCars, 16); + + let offset = 17; + for (const car of this._cars) { + car.serialize().copy(buffer, offset); + offset += car.getByteSize(); + } + + return buffer; + } catch (error) { + log.error(`Error serializing StackCarInfo: ${error as string}`); + throw error; + } + } + + addCar(car: StockCar) { + this._cars.push(car); + this._numberOfCars = this._cars.length; + } + + getNumberOfCars(): number { + return this._numberOfCars; + } + + setMoreCars(moreCars: boolean) { + this._moreCars = moreCars ? 1 : 0; + } + + toString(): string { + return `StackCarInfo: ${this._cars.length} cars, ${this._starterCash} starter cash, ${this._dealerId} dealerId, ${this._brandId} brandId`; + } +} diff --git a/packages/mcots/types.ts b/packages/mcots/types.ts new file mode 100644 index 000000000..e69de29bb diff --git a/packages/nps/index.d.ts b/packages/nps/index.d.ts deleted file mode 100644 index 953cf6c37..000000000 --- a/packages/nps/index.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -export { - MessageProcessorError, - gameMessageProcessors, - populateGameMessageProcessors, - getGameMessageProcessor, - PortMapError, - portToMessageTypes, - populatePortToMessageTypes, - getPortMessageType, -} from "./messageProcessors/index.js"; -export { GameMessage } from "./messageStructs/GameMessage.js"; -export { getWord } from "./utils/pureGet.js"; -export { processUserLogin } from "./messageProcessors/processUserLogin.js"; -export { - populateGameUsers, - getUser, - checkPassword, -} from "./services/account.js"; -export { generateToken } from "./services/token.js"; -export { createNewUserSession, setUserSession } from "./services/session.js"; diff --git a/packages/nps/index.ts b/packages/nps/index.ts index 953cf6c37..6734af0ac 100644 --- a/packages/nps/index.ts +++ b/packages/nps/index.ts @@ -10,11 +10,10 @@ export { } from "./messageProcessors/index.js"; export { GameMessage } from "./messageStructs/GameMessage.js"; export { getWord } from "./utils/pureGet.js"; -export { processUserLogin } from "./messageProcessors/processUserLogin.js"; +export { processGameLogin as processUserLogin } from "./messageProcessors/processGameLogin.js"; export { - populateGameUsers, - getUser, - checkPassword, + populateUsers as populateGameUsers, + getUserFromDb as getUser, } from "./services/account.js"; export { generateToken } from "./services/token.js"; -export { createNewUserSession, setUserSession } from "./services/session.js"; +export { UserStatusManager } from "./src/UserStatusManager.js"; diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.d.ts b/packages/nps/messageProcessors/getLobMiniRiffList.d.ts deleted file mode 100644 index 5904579c1..000000000 --- a/packages/nps/messageProcessors/getLobMiniRiffList.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -export declare function getLobMiniRiffList( - commandId: number, - data: Buffer, -): Promise; diff --git a/packages/nps/messageProcessors/getLobMiniUserList.d.ts b/packages/nps/messageProcessors/getLobMiniUserList.d.ts deleted file mode 100644 index 9562aba75..000000000 --- a/packages/nps/messageProcessors/getLobMiniUserList.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -/// -export declare function getLobMiniUserList( - commandId: number, - data: Buffer, -): Promise; diff --git a/packages/nps/messageProcessors/index.d.ts b/packages/nps/messageProcessors/index.d.ts deleted file mode 100644 index 249bfc55d..000000000 --- a/packages/nps/messageProcessors/index.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/// -import { GameMessage } from "../messageStructs/GameMessage.js"; -export type SocketCallback = (messages: Buffer[]) => void; -export type MessageProcessor = ( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -) => Promise; -export declare class MessageProcessorError extends Error { - constructor(id: number, message: string); -} -export declare const gameMessageProcessors: Map; -export declare function populateGameMessageProcessors( - processors: Map, -): void; -export declare function getGameMessageProcessor( - messageId: number, -): MessageProcessor; -export declare class PortMapError extends Error { - port: number; - constructor(port: number, message: string); - toString(): string; -} -export declare const portToMessageTypes: Map; -export declare function populatePortToMessageTypes( - portMap: Map, -): void; -export declare function getPortMessageType(port: number): string; diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts index f966c1fb6..dd3868eba 100644 --- a/packages/nps/messageProcessors/index.ts +++ b/packages/nps/messageProcessors/index.ts @@ -1,21 +1,23 @@ -import { processUserLogin } from "./processUserLogin.js"; +import { processGameLogin } from "./processGameLogin.js"; import { processGetProfileMaps } from "./processGetProfileMaps.js"; import { processCheckProfileName } from "./processCheckProfileName.js"; import { processCheckPlateText } from "./processCheckPlateText.js"; import { processCreateProfile } from "./processCreateProfile.js"; import { processDeleteProfile } from "./processDeleteProfile.js"; import { processGetProfileInfo } from "./processGetProfileInfo.js"; -import { processGameLogin } from "./processGameLogin.js"; -import { processLobbyLogin } from "./processLobbyLogin.js"; +import { processSelectPersona } from "./processSelectPersona.js"; +import { processUserLogin } from "./processUserLogin.js"; import { processFirstBuddy } from "./processGetFirstBuddy.js"; import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; import { processPing } from "./processPing.js"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; -export type SocketCallback = (messages: Buffer[]) => Promise; +export type SocketCallback = (messages: Buffer[]) => void; export type MessageProcessor = ( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ) => Promise; @@ -31,10 +33,10 @@ export const gameMessageProcessors = new Map([]); export function populateGameMessageProcessors( processors: Map, ): void { - processors.set(0x100, processLobbyLogin); - processors.set(535, processPing); // 0x217 - processors.set(0x501, processUserLogin); - processors.set(0x503, processGameLogin); + processors.set(0x100, processUserLogin); + processors.set(0x217, processPing); // 0x217 + processors.set(0x501, processGameLogin); + processors.set(0x503, processSelectPersona); processors.set(0x507, processCreateProfile); processors.set(0x50b, processFirstBuddy); processors.set(0x512, processDeleteProfile); @@ -42,14 +44,15 @@ export function populateGameMessageProcessors( processors.set(0x532, processGetProfileMaps); processors.set(0x533, processCheckProfileName); processors.set(0x534, processCheckPlateText); - processors.set(4353, processEncryptedGameCommand); // 0x1101 + processors.set(0x1101, processEncryptedGameCommand); // 0x1101 } -export function getGameMessageProcessor(messageId: number): MessageProcessor { +export function getGameMessageProcessor(messageId: number) { if (gameMessageProcessors.has(messageId) === true) { return gameMessageProcessors.get(messageId) as MessageProcessor; } - throw new MessageProcessorError(messageId, "No message processor found"); + + return undefined; } export class PortMapError extends Error { diff --git a/packages/nps/messageProcessors/lobbyCommands.d.ts b/packages/nps/messageProcessors/lobbyCommands.d.ts deleted file mode 100644 index 51b6d6db5..000000000 --- a/packages/nps/messageProcessors/lobbyCommands.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/// -export type lobbyCommandProcessor = ( - commandId: number, - data: Buffer, -) => Promise; -export declare const lobbyCommandMap: Map; diff --git a/packages/nps/messageProcessors/processCheckPlateText.d.ts b/packages/nps/messageProcessors/processCheckPlateText.d.ts deleted file mode 100644 index b589108ef..000000000 --- a/packages/nps/messageProcessors/processCheckPlateText.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processCheckPlateText( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts index 95ad749df..fdf17a95b 100644 --- a/packages/nps/messageProcessors/processCheckPlateText.ts +++ b/packages/nps/messageProcessors/processCheckPlateText.ts @@ -1,29 +1,18 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import type { SocketCallback } from "./index.js"; -import { getLenString, getNBytes } from "../utils/pureGet.js"; -import { - getUserSessionByConnectionId, - setUserSession, -} from "../services/session.js"; +import { getLenString } from "../utils/pureGet.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processCheckPlateText( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { log.setName("nps:processCheckPlateText"); - // This message is only called by debug, so let's sey the clinet version to debug - const session = await getUserSessionByConnectionId(connectionId); - - if (session) { - log.info(`Setting client version to debug for ${session.customerId}`); - - session.clientVersion = "debug"; - await setUserSession(session); - } const plateType = message.getDataAsBuffer().readUInt32BE(0); @@ -43,4 +32,6 @@ export async function processCheckPlateText( const responseBytes = response.serialize(); socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processCheckProfileName.d.ts b/packages/nps/messageProcessors/processCheckProfileName.d.ts deleted file mode 100644 index 876066f54..000000000 --- a/packages/nps/messageProcessors/processCheckProfileName.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processCheckProfileName( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts index b9483c597..47d275ed1 100644 --- a/packages/nps/messageProcessors/processCheckProfileName.ts +++ b/packages/nps/messageProcessors/processCheckProfileName.ts @@ -1,13 +1,15 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import type { SocketCallback } from "./index.js"; -import { getLenString, getNBytes } from "../utils/pureGet.js"; +import { getLenString } from "../utils/pureGet.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processCheckProfileName( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -25,5 +27,7 @@ export async function processCheckProfileName( const responseBytes = response.serialize(); - await socketCallback([responseBytes]); + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processCreateProfile.d.ts b/packages/nps/messageProcessors/processCreateProfile.d.ts deleted file mode 100644 index 6c6737f62..000000000 --- a/packages/nps/messageProcessors/processCreateProfile.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processCreateProfile( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts index ca177d678..c2aebd8eb 100644 --- a/packages/nps/messageProcessors/processCreateProfile.ts +++ b/packages/nps/messageProcessors/processCreateProfile.ts @@ -1,13 +1,15 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import type { SocketCallback } from "./index.js"; import { GameProfile } from "../messageStructs/GameProfile.js"; - import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { addGameProfile } from "../services/profile.js"; const log = getServerLogger(); export async function processCreateProfile( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -17,7 +19,6 @@ export async function processCreateProfile( const createProfileMessage = GameProfile.fromBytes( message.getDataAsBuffer(), - message.getData().getByteSize(), ); // Log the request @@ -25,7 +26,9 @@ export async function processCreateProfile( `ProcessCreateProfile request: ${createProfileMessage.toString()}`, ); - // TODO: Create the profile + // Add the profile + addGameProfile(createProfileMessage); + // TODO: Send the response const response = new GameMessage(257); @@ -36,5 +39,7 @@ export async function processCreateProfile( // Log the response log.info(`ProcessCreateProfile response: ${response.toString()}`); - await socketCallback([response.serialize()]); + socketCallback([response.serialize()]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processDeleteProfile.d.ts b/packages/nps/messageProcessors/processDeleteProfile.d.ts deleted file mode 100644 index d3cc23272..000000000 --- a/packages/nps/messageProcessors/processDeleteProfile.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import type { SocketCallback } from "./index.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -export declare function loadPrivateKey(path: string): string; -export declare function decryptSessionKey( - encryptedSessionKey: string, - privateKey: string, -): string; -export declare function unpackUserLoginMessage(message: GameMessage): { - sessionKey: string; - gameId: string; - contextToken: string; -}; -export declare function processDeleteProfile( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts index 8738458dd..8e03af7a0 100644 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ b/packages/nps/messageProcessors/processDeleteProfile.ts @@ -6,6 +6,7 @@ import { SessionKey } from "../messageStructs/SessionKey.js"; import { getLenString } from "../utils/pureGet.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); @@ -87,6 +88,7 @@ export function unpackUserLoginMessage(message: GameMessage): { export async function processDeleteProfile( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -101,5 +103,7 @@ export async function processDeleteProfile( loginACK.header.setId(0x60c); // Send the ack - await socketCallback([loginACK.serialize()]); + socketCallback([loginACK.serialize()]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts deleted file mode 100644 index 0f8ba6444..000000000 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processEncryptedGameCommand( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts index cdc8068b6..dbd7879d5 100644 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.ts +++ b/packages/nps/messageProcessors/processEncryptedGameCommand.ts @@ -6,56 +6,47 @@ import type { SocketCallback } from "./index.js"; import { getAsHex } from "../utils/pureGet.js"; import { type EncryptionSession, - getEncryptionSession, - getUserSessionByConnectionId, - newEncryptionSession, - setEncryptionSession, -} from "../services/session.js"; + getEncryptionSession, newEncryptionSession, + setEncryptionSession +} from "../src/EncryptionSession.js"; import { lobbyCommandMap } from "./lobbyCommands.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processEncryptedGameCommand( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { log.setName("nps:processEncryptedGameCommand"); log.info(`Attempting to decrypt message: ${message.toString()}`); - // Get the session - const session = await getUserSessionByConnectionId(connectionId); - - // If the session doesn't exist, return - if (!session) { - log.error(`Session not found for connection ID ${connectionId}`); - throw new Error(`Session not found for connection ID ${connectionId}`); - } - // Get the encryption session let encryptionSession: EncryptionSession | undefined = - await getEncryptionSession(connectionId); + getEncryptionSession(connectionId); // If the encryption session doesn't exist, attempt to create it if (typeof encryptionSession === "undefined") { try { // Create the encryption session - const newSession = await newEncryptionSession({ + const newSession = newEncryptionSession({ connectionId, - customerId: session.customerId, - sessionKey: session.sessionKey.substring(0, 16), + customerId: userStatus.getCustomerId(), + sessionKey: userStatus.getSessionKey().getKey().substring(0, 16), }); - await setEncryptionSession(newSession); + setEncryptionSession(newSession); encryptionSession = newSession; } catch (error) { - log.error(`Error creating encryption session: ${error}`); + log.error(`Error creating encryption session: ${error as string}`); throw new Error("Error creating encryption session"); } // Log the encryption session - log.info(`Created encryption session for ${session.customerId}`); + log.info(`Created encryption session for ${userStatus.getCustomerId()}`); } // Attempt to decrypt the message @@ -93,7 +84,7 @@ export async function processEncryptedGameCommand( // Encrypt the response const encryptedResponse = encryptionSession.gameCipher.update(response); - await setEncryptionSession(encryptionSession); + setEncryptionSession(encryptionSession); // Log the encrypted response log.info( @@ -116,5 +107,7 @@ export async function processEncryptedGameCommand( ); const responseBytes = responsePacket.serialize(); - await socketCallback([responseBytes]); + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processGameLogin.d.ts b/packages/nps/messageProcessors/processGameLogin.d.ts deleted file mode 100644 index 583084c49..000000000 --- a/packages/nps/messageProcessors/processGameLogin.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processGameLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts index ca0c51b4d..65660bade 100644 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ b/packages/nps/messageProcessors/processGameLogin.ts @@ -1,60 +1,210 @@ +import type { ISerializable } from "../types.js"; import { GameMessage } from "../messageStructs/GameMessage.js"; +import fs from "node:fs"; +import crypto from "node:crypto"; +import * as Sentry from "@sentry/node"; +import { getToken } from "../services/token.js"; import type { SocketCallback } from "./index.js"; -import { getDWord, getLenString, getNBytes } from "../utils/pureGet.js"; -import { - getUserSessionByCustomerId, - setUserSession, -} from "../services/session.js"; - -import { getServerLogger } from "../../shared"; +import { SessionKey } from "../messageStructs/SessionKey.js"; +import { getAsHex, getLenString } from "../utils/pureGet.js"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { getServerConfiguration, getServerLogger } from "../../shared/index.js"; +import { UserStatusManager } from "../src/UserStatusManager.js"; const log = getServerLogger(); -export async function processGameLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processGameLogin"); - const customerId = getDWord(message.getDataAsBuffer(), 0, false); +export function loadPrivateKey(path: string): string { + const privateKey = fs.readFileSync(path); + + return privateKey.toString("utf8"); +} + +export function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string { + const sessionKeyStructure = crypto.privateDecrypt( + privateKey, + Buffer.from(encryptedSessionKey, "hex"), + ); + + return sessionKeyStructure.toString("hex"); +} - const personaId = getDWord(message.getDataAsBuffer(), 4, false); +export function unpackUserLoginMessage(message: ISerializable): { + sessionKey: string; + gameId: string; + contextToken: string; +} { + log.setName("nps:unpackUserLoginMessage"); + log.info(`Unpacking user login message: ${getAsHex(message.serialize())}`); - const shardId = getDWord(message.getDataAsBuffer(), 8, false); + // Get the context token + const ticket = getLenString(message.serialize(), 0, false); - // Log the values - log.info(`Customer ID: ${customerId}`); - log.info(`Persona ID: ${personaId}`); - log.info(`Shard ID: ${shardId}`); + let dataOffset = ticket.length + 2; - // This message is only called by debug, so let's sey the clinet version to debug - const session = await getUserSessionByCustomerId(customerId); + // The next data structure is a container with an empty id, a length, and a data structure - if (!session) { - log.error(`Session not found for customer ID ${customerId}`); - throw new Error(`Session not found for customer ID ${customerId}`); - } + // Skip the empty id + dataOffset += 2; - if (session) { - log.info(`Setting client version to debug for ${session.customerId}`); + // Get the next data length + const nextDataLength = message.serialize().readUInt16BE(dataOffset); - session.clientVersion = "debug"; + // This value is the encrypted session key hex, stored as a string + const encryptedSessionKey = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) + .toString("utf8"); - log.info( - `Setting persona ID to ${personaId} for ${session.customerId}`, - ); + // Load the private key + const privateKey = loadPrivateKey( + getServerConfiguration({}).privateKeyFile, + ); - session.activeProfileId = personaId; + // Decrypt the session key + const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); - setUserSession(session); - } + log.info(`Decrypted session key: ${getAsHex(Buffer.from(sessionKey, "hex"))}`); - log.info(`GameLogin: ${message.toString()}`); + // Unpack the session key + const sessionKeyStructure = SessionKey.fromBytes( + Buffer.from(sessionKey, "hex"), + ); - const response = new GameMessage(0); - response.header.setId(0x207); + log.info(`Session key structure: ${sessionKeyStructure.toString()}`); - const responseBytes = response.serialize(); + // Update the data offset + dataOffset += 2 + nextDataLength; - socketCallback([responseBytes]); + // Get the next data length + const nextDataLength2 = message.serialize().readUInt16BE(dataOffset); + + // This value is the game id (used by server to identify the game) + const gameId = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) + .toString("utf8"); + + // Update the data offset + dataOffset += 2 + nextDataLength2; + + log.resetName(); + + // Return the session key, game id, and context token + return { + sessionKey: sessionKeyStructure.getKey(), + gameId, + contextToken: ticket, + }; +} + +/** + * This is the initial connection to the Login server + */ +export async function processGameLogin( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + Sentry.startSpan( + { + name: "processLogin", + op: "processLogin", + }, + () => { + log.setName("nps:processLogin"); + + log.info(`Login: ${message.toString()}`); + + // Unpack the message + try { + const { sessionKey, contextToken } = + unpackUserLoginMessage(message.getData()); + + // Log the context token + log.info(`Context token: ${contextToken}`); + + // Log the session key + log.info(`Session key: ${sessionKey}`); + + // Look up the customer id + const user = getToken(contextToken); + + // If the user is not found, return an error + if (user === undefined) { + log.error(`User not found for context token: ${contextToken}`); + + // Create a new message - Not found + const response = new GameMessage(0); + response.header.setId(0x602); + + // Send the message - twice + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + () => { + socketCallback([response.serialize()]); + }, + ); + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + () => { + socketCallback([response.serialize()]); + }, + ); + + return; + } + + // Log the user + log.info(`User: ${user.customerId}`); + + // Create a new message - Login ACK + const loginACK = new GameMessage(0); + loginACK.header.setId(0x601); + + // Send the ack + socketCallback([loginACK.serialize()]); + + // Create a new UserStatus message + const userStatus = UserStatus.new(); + userStatus.setCustomerId(user.customerId); + userStatus.setPersonaId(0); + userStatus.ban.set({ + initiator: "Molly", + startComment: "Because I said so", + }); + userStatus.setSessionKey(SessionKey.fromKeyString(sessionKey)); + + UserStatusManager.addUserStatus(userStatus); + + // Create a new message - UserStatus + const userStatusMessage = new GameMessage(257); + userStatusMessage.header.setId(0x601); + + userStatusMessage.setData(userStatus); + + // Log the message + log.info(`UserStatus: ${userStatusMessage.toString()}`); + + // Send the message + socketCallback([userStatusMessage.serialize()]); + socketCallback([userStatusMessage.serialize()]); + + return; + } catch (e) { + console.error(e); + } + }, + ); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.d.ts b/packages/nps/messageProcessors/processGetFirstBuddy.d.ts deleted file mode 100644 index 36a6868b3..000000000 --- a/packages/nps/messageProcessors/processGetFirstBuddy.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processFirstBuddy( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts index 7fe32563e..79a49397b 100644 --- a/packages/nps/messageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/messageProcessors/processGetFirstBuddy.ts @@ -2,17 +2,19 @@ import { GameMessage, SerializableData, } from "../messageStructs/GameMessage.js"; -import { getDWord, getAsHex } from "../utils/pureGet.js"; +import { getDWord } from "../utils/pureGet.js"; import type { SocketCallback } from "./index.js"; import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processFirstBuddy( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -36,5 +38,7 @@ export async function processFirstBuddy( log.info("==========================================="); - await socketCallback([outMessage.serialize()]); + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageProcessors/processGetProfileInfo.d.ts b/packages/nps/messageProcessors/processGetProfileInfo.d.ts deleted file mode 100644 index 9567778ad..000000000 --- a/packages/nps/messageProcessors/processGetProfileInfo.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "../messageProcessors/index.js"; -export declare function processGetProfileInfo( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts index 151d4fbd0..20c88876f 100644 --- a/packages/nps/messageProcessors/processGetProfileInfo.ts +++ b/packages/nps/messageProcessors/processGetProfileInfo.ts @@ -5,11 +5,13 @@ import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processGetProfileInfo( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -19,7 +21,7 @@ export async function processGetProfileInfo( log.info(`GetProfileInfo: ${customerId}`); // Look up the profiles for the customer ID - const profiles = await getGameProfilesForCustomerId(customerId); + const profiles = getGameProfilesForCustomerId(customerId); // Create a new NPSList of profiles const list = new ProfileList(); @@ -51,9 +53,11 @@ export async function processGetProfileInfo( log.info("==========================================="); - await socketCallback([outMessage.serialize()]); + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); } catch (error) { - log.error(`Error sending profile info: ${error}`); + log.error(`Error sending profile info: ${error as string}`); throw new Error("Error sending profile info"); } } diff --git a/packages/nps/messageProcessors/processGetProfileMaps.d.ts b/packages/nps/messageProcessors/processGetProfileMaps.d.ts deleted file mode 100644 index b32a85a22..000000000 --- a/packages/nps/messageProcessors/processGetProfileMaps.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "../messageProcessors/index.js"; -export declare function processGetProfileMaps( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts index 73373da15..ce867eec8 100644 --- a/packages/nps/messageProcessors/processGetProfileMaps.ts +++ b/packages/nps/messageProcessors/processGetProfileMaps.ts @@ -5,11 +5,13 @@ import { getGameProfilesForCustomerId } from "../services/profile.js"; import { ProfileList } from "../messageStructs/ProfileList.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processGetProfileMaps( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -26,7 +28,7 @@ export async function processGetProfileMaps( log.info(`GetProfileMaps: ${customerId}`); // Look up the profiles for the customer ID - const profiles = await getGameProfilesForCustomerId(customerId); + const profiles = getGameProfilesForCustomerId(customerId); // Create a new NPSList of profiles const list = new ProfileList(); @@ -56,9 +58,11 @@ export async function processGetProfileMaps( log.info("==========================================="); - await socketCallback([outMessage.serialize()]); + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); } catch (error) { - log.error(`Error sending profile info: ${error}`); + log.error(`Error sending profile info: ${error as string}`); throw new Error("Error sending profile info"); } } diff --git a/packages/nps/messageProcessors/processLobbyLogin.d.ts b/packages/nps/messageProcessors/processLobbyLogin.d.ts deleted file mode 100644 index 3c4a26fc7..000000000 --- a/packages/nps/messageProcessors/processLobbyLogin.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import type { SocketCallback } from "./index.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -export declare function processLobbyLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processLobbyLogin.ts b/packages/nps/messageProcessors/processLobbyLogin.ts deleted file mode 100644 index d3a77fbda..000000000 --- a/packages/nps/messageProcessors/processLobbyLogin.ts +++ /dev/null @@ -1,63 +0,0 @@ -import type { SocketCallback } from "./index.js"; -import { getDWord, getLenString } from "../utils/pureGet.js"; -import { - getUserSessionByProfileId, - setUserSession, - userSessions, -} from "../services/session.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { UserInfo } from "../messageStructs/UserInfo.js"; - -import { getServerLogger } from "../../shared"; - -const log = getServerLogger(); - -export async function processLobbyLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processLobbyLogin"); - // This message is a BareMessageV0 - - const profileId = getDWord(message.getDataAsBuffer(), 0, false); - - const profileName = getLenString(message.getDataAsBuffer(), 4, false); - - const session = await getUserSessionByProfileId(profileId); - - // Dump all sessions - console.dir(userSessions); - - // If the session doesn't exist, return - if (!session) { - log.error(`Session not found for profile ID ${profileId}`); - throw new Error(`Session not found for profile ID ${profileId}`); - } - - // Create the new session - const newSession = { - ...session, - connectionId, - }; - - // Set the new session - await setUserSession(newSession); - - log.info(`LobbyLogin: ${message.toString()}`); - - const response = new UserInfo(profileId, profileName); - - log.info(`Sending response: ${response.toString()}`); - - const responseMessage = new GameMessage(0); - responseMessage.header.setId(0x120); - - responseMessage.setData(response); - - log.info(`Response message: ${responseMessage.toString()}`); - - const responseBytes = responseMessage.serialize(); - - await socketCallback([responseBytes]); -} diff --git a/packages/nps/messageProcessors/processPing.d.ts b/packages/nps/messageProcessors/processPing.d.ts deleted file mode 100644 index 6ee91c030..000000000 --- a/packages/nps/messageProcessors/processPing.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function processPing( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts index f1995e8e0..3ea71e091 100644 --- a/packages/nps/messageProcessors/processPing.ts +++ b/packages/nps/messageProcessors/processPing.ts @@ -2,11 +2,13 @@ import { GameMessage } from "../messageStructs/GameMessage.js"; import type { SocketCallback } from "./index.js"; import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; const log = getServerLogger(); export async function processPing( connectionId: string, + userStatus: UserStatus, message: GameMessage, socketCallback: SocketCallback, ): Promise { @@ -18,5 +20,8 @@ export async function processPing( const responseBytes = response.serialize(); - await socketCallback([responseBytes]); + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); + } diff --git a/packages/nps/messageProcessors/processSelectPersona.ts b/packages/nps/messageProcessors/processSelectPersona.ts new file mode 100644 index 000000000..d5d21f39b --- /dev/null +++ b/packages/nps/messageProcessors/processSelectPersona.ts @@ -0,0 +1,57 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { SocketCallback } from "./index.js"; +import { getDWord } from "../utils/pureGet.js"; + +import { getServerLogger } from "../../shared"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserStatusManager } from "../src/UserStatusManager.js"; + +const log = getServerLogger(); + +export async function processSelectPersona( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + log.setName("nps:processSelectPersona"); + + log.info(`SelectPersona: ${message.toString()}`); + + const customerId = getDWord(message.getDataAsBuffer(), 0, false); + + const personaId = getDWord(message.getDataAsBuffer(), 4, false); + + const shardId = getDWord(message.getDataAsBuffer(), 8, false); + + // Log the values + log.info(`Customer ID: ${customerId}`); + log.info(`Persona ID: ${personaId}`); + log.info(`Shard ID: ${shardId}`); + + // Lookup the session + const existingStatus = UserStatusManager.getUserStatus(customerId); + + if (!existingStatus) { + log.error(`UserStatus not found for customer ID ${customerId}`); + throw new Error(`UserStatus not found for customer ID ${customerId}`); + } + + log.info( + `Setting persona ID to ${personaId} for ${existingStatus.getCustomerId()}`, + ); + + // Update the user status + existingStatus.setPersonaId(personaId); + + log.info(`GameLogin: ${message.toString()}`); + + const response = new GameMessage(0); + response.header.setId(0x207); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/messageProcessors/processUserLogin.d.ts b/packages/nps/messageProcessors/processUserLogin.d.ts deleted file mode 100644 index bef4472dc..000000000 --- a/packages/nps/messageProcessors/processUserLogin.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import type { ISerializable } from "../types.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -export declare function loadPrivateKey(path: string): string; -export declare function decryptSessionKey( - encryptedSessionKey: string, - privateKey: string, -): string; -export declare function unpackUserLoginMessage(message: ISerializable): { - sessionKey: string; - gameId: string; - contextToken: string; -}; -export declare function processUserLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise; diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts index 980782c9b..69ae43884 100644 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ b/packages/nps/messageProcessors/processUserLogin.ts @@ -1,207 +1,71 @@ -import type { ISerializable } from "../types.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import fs from "node:fs"; -import crypto from "node:crypto"; -import * as Sentry from "@sentry/node"; -import { getToken } from "../services/token.js"; -import { createNewUserSession, setUserSession } from "../services/session.js"; import type { SocketCallback } from "./index.js"; -import { SessionKey } from "../messageStructs/SessionKey.js"; -import { getAsHex, getLenString } from "../utils/pureGet.js"; -import { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserAction } from "../messageStructs/UserAction.js"; -import { getServerConfiguration, getServerLogger } from "../../shared"; +import { getDWord, getLenString } from "../utils/pureGet.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { UserInfo } from "../messageStructs/UserInfo.js"; + +import { getServerLogger } from "../../shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserStatusManager } from "../src/UserStatusManager.js"; +import { getCustomerId } from "../services/profile.js"; const log = getServerLogger(); -export function loadPrivateKey(path: string): string { - const privateKey = fs.readFileSync(path); +export async function processUserLogin( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: SocketCallback, +): Promise { + log.setName("nps:processUserLogin"); - return privateKey.toString("utf8"); -} + log.info(`UserLogin: ${message.toString()}`); -export function decryptSessionKey( - encryptedSessionKey: string, - privateKey: string, -): string { - const sessionKeyStructure = crypto.privateDecrypt( - privateKey, - Buffer.from(encryptedSessionKey, "hex"), - ); + // This message is a BareMessageV0 - return sessionKeyStructure.toString("hex"); -} + const personaId = getDWord(message.getDataAsBuffer(), 0, false); -export function unpackUserLoginMessage(message: ISerializable): { - sessionKey: string; - gameId: string; - contextToken: string; -} { - log.info(`Unpacking user login message: ${getAsHex(message.serialize())}`); + const profileName = getLenString(message.getDataAsBuffer(), 4, false); - // Get the context token - const ticket = getLenString(message.serialize(), 0, false); - let dataOffset = ticket.length + 2; + // Lookup customerID from personaID + const customerID = getCustomerId(personaId); - // The next data structure is a container with an empty id, a length, and a data structure + if( customerID === -1 ) { + log.error(`CustomerID not found for personaID: ${personaId}`); + throw new Error(`CustomerID not found for personaID: ${personaId}`); + } - // Skip the empty id - dataOffset += 2; + log.info(`LobbyLogin: ${personaId} ${profileName} ${customerID}`); - // Get the next data length - const nextDataLength = message.serialize().readUInt16BE(dataOffset); + const existingStatus = UserStatusManager.getUserStatus(customerID) - // This value is the encrypted session key hex, stored as a string - const encryptedSessionKey = message - .serialize() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) - .toString("utf8"); + if (typeof existingStatus === "undefined") { + log.error(`UserStatus not found for customerID: ${customerID}`); + throw new Error(`UserStatus not found for customerID: ${customerID}`); + } - // Load the private key - const privateKey = loadPrivateKey( - getServerConfiguration({}).privateKeyFile, - ); + // Update the user status + existingStatus.setPersonaId(personaId); + + userStatus = existingStatus; - // Decrypt the session key - const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); + log.info(`LobbyLogin: ${message.toString()}`); - // Unpack the session key - const sessionKeyStructure = SessionKey.fromBytes( - Buffer.from(sessionKey, "hex"), - ); + const response = new UserInfo(personaId, profileName); - // Update the data offset - dataOffset += 2 + nextDataLength; + log.info(`Sending response: ${response.toString()}`); - // Get the next data length - const nextDataLength2 = message.serialize().readUInt16BE(dataOffset); + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x120); - // This value is the game id (used by server to identify the game) - const gameId = message - .serialize() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) - .toString("utf8"); + responseMessage.setData(response); - // Update the data offset - dataOffset += 2 + nextDataLength2; + log.info(`Response message: ${responseMessage.toString()}`); - // Return the session key, game id, and context token - return { - sessionKey: sessionKeyStructure.getKey(), - gameId, - contextToken: ticket, - }; -} + const responseBytes = responseMessage.serialize(); -export async function processUserLogin( - connectionId: string, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - await Sentry.startSpan( - { - name: "processUserLogin", - op: "processUserLogin", - }, - async (span) => { - log.setName("nps:processUserLogin"); - // Log the message - log.info(`User login request: ${message.toString()}`); - - // Unpack the message - try { - const { sessionKey, gameId, contextToken } = - unpackUserLoginMessage(message.getData()); - - // Log the context token - log.info(`Context token: ${contextToken}`); - - // Look up the customer id - const user = getToken(contextToken); - - // If the user is not found, return an error - if (user === undefined) { - console.error("User not found"); - - // Create a new message - Not found - const response = new GameMessage(0); - response.header.setId(0x602); - - // Send the message - twice - await Sentry.startSpan( - { - name: "socketCallback", - op: "socketCallback", - }, - async () => { - await socketCallback([response.serialize()]); - }, - ); - await Sentry.startSpan( - { - name: "socketCallback", - op: "socketCallback", - }, - async () => { - await socketCallback([response.serialize()]); - }, - ); - - return; - } - - // Log the user - log.info(`User: ${user.customerId}`); - - // Create a new user session - const userSession = await createNewUserSession({ - customerId: user.customerId, - token: contextToken, - connectionId, - port: 0, - ipAddress: "", - activeProfileId: 0, - nextSequenceNumber: 0, - sessionKey, - clientVersion: "unknown", - }); - - // Save the user session - await setUserSession(userSession); - - // Create a new message - Login ACK - const loginACK = new GameMessage(0); - loginACK.header.setId(0x601); - - // Send the ack - await socketCallback([loginACK.serialize()]); - - // Create a new UserStatus message - const userStatus = UserStatus.new(); - userStatus.setCustomerId(user.customerId); - userStatus.setPersonaId(0); - userStatus.setBan(new UserAction("ban")); - userStatus.setGag(new UserAction("gag")); - userStatus.setSessionKey(SessionKey.fromKeyString(sessionKey)); - - // Create a new message - UserStatus - const userStatusMessage = new GameMessage(257); - userStatusMessage.header.setId(0x601); - - userStatusMessage.setData(userStatus); - - // Log the message - log.info(`UserStatus: ${userStatusMessage.toString()}`); - - // Send the message - await socketCallback([userStatusMessage.serialize()]); - await socketCallback([userStatusMessage.serialize()]); - - return; - } catch (e) { - console.error(e); - } - }, - ); + socketCallback([responseBytes]); + + log.resetName(); + return Promise.resolve(); } diff --git a/packages/nps/messageStructs/GameMessage.d.ts b/packages/nps/messageStructs/GameMessage.d.ts deleted file mode 100644 index 89b69b6cc..000000000 --- a/packages/nps/messageStructs/GameMessage.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/// -import type { ISerializable, IMessageHeader, IMessage } from "../types.js"; -export declare class MessageHeader implements IMessageHeader { - private version; - private id; - private length; - constructor(version: 0 | 257, id: number, length: number); - getDataOffset(): number; - getByteSize(): number; - getVersion(): number; - getId(): number; - getLength(): number; - setVersion(version: 0 | 257): void; - setId(id: number): void; - setLength(length: number): void; - private serializeV0; - private serializeV1; - serialize(): Buffer; - private deserializeV0; - private deserializeV1; - deserialize(data: Buffer): void; -} -export declare class SerializableData implements ISerializable { - private data; - constructor(requestedSize: number); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} -export declare class GameMessage implements IMessage { - header: MessageHeader; - data: ISerializable; - constructor(version: 0 | 257); - getDataAsBuffer(): Buffer; - /** The message length is the length of the message data, not including the id */ - getByteSize(): number; - getData(): ISerializable; - setData(data: ISerializable): void; - serialize(): Buffer; - deserialize(data: Buffer): void; - toString(): string; - static identifyVersion(data: Buffer): 0 | 257; - static fromGameMessage(version: 0 | 257, source: GameMessage): GameMessage; -} diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index f8093f296..711a47b23 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -7,7 +7,7 @@ export class MessageHeader implements IMessageHeader { constructor(version: 0 | 257, id: number, length: number) { if (version !== 0 && version !== 257) { - throw new Error(`Invalid version ${version}`); + throw new Error(`Invalid version ${parseInt(version)}`); } this.version = version; this.id = id; @@ -31,7 +31,7 @@ export class MessageHeader implements IMessageHeader { } setVersion(version: 0 | 257): void { if (version !== 0 && version !== 257) { - throw new Error(`Invalid version ${version}`); + throw new Error(`Invalid version ${parseInt(version)}`); } this.version = version; } @@ -131,6 +131,11 @@ export class GameMessage implements IMessage { this.header = new MessageHeader(version, 0, 0); this.data = new SerializableData(0); } + + getId() { + return this.header.getId(); + } + getDataAsBuffer(): Buffer { return this.data.serialize(); } diff --git a/packages/nps/messageStructs/GameProfile.d.ts b/packages/nps/messageStructs/GameProfile.d.ts deleted file mode 100644 index 8d112153e..000000000 --- a/packages/nps/messageStructs/GameProfile.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class GameProfile implements ISerializable { - customerId: number; - profileName: string; - serverId: number; - createStamp: number; - lastLoginStamp: number; - numberGames: number; - profileId: number; - isOnline: boolean; - gamePurchaseStamp: number; - gameSerialNumber: string; - timeOnline: number; - timeInGame: number; - gameBlob: Buffer; - personalBlob: Buffer; - pictureBlob: Buffer; - dnd: boolean; - gameStartStamp: number; - currentKey: string; - profileLevel: number; - shardId: number; - constructor(); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - static new(): GameProfile; - static fromBytes(data: Buffer, size: number): GameProfile; - toBytes(): Buffer; - toString(): string; - toHex(): string; - setData(data: Buffer): void; - getData(): Buffer; - getSize(): number; -} diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index b89b00e97..0878882a3 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -1,5 +1,5 @@ import type { ISerializable } from "../types.js"; -import { putLenBlob, putLenString, putShortBool } from "../utils/purePut.js"; +import { putLenString } from "../utils/purePut.js"; import { getAsHex, getLenBlob, @@ -52,10 +52,10 @@ export class GameProfile implements ISerializable { this.shardId = 0; } serialize(): Buffer { - throw new Error("Method not implemented."); + return this.toBytes(); } - deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + deserialize(data: Buffer): GameProfile { + return GameProfile.fromBytes(data); } getByteSize(): number { throw new Error("Method not implemented."); @@ -65,7 +65,7 @@ export class GameProfile implements ISerializable { return new GameProfile(); } - static fromBytes(data: Buffer, size: number): GameProfile { + static fromBytes(data: Buffer): GameProfile { const message = new GameProfile(); let offset = 0; message.customerId = data.readUInt32BE(offset); @@ -173,9 +173,9 @@ export class GameProfile implements ISerializable { gameSerialNumber: ${this.gameSerialNumber} timeOnline: ${this.timeOnline} timeInGame: ${this.timeInGame} - gameBlob: ${this.gameBlob} - personalBlob: ${this.personalBlob} - pictureBlob: ${this.pictureBlob} + gameBlob: ${getAsHex(this.gameBlob)} + personalBlob: ${getAsHex(this.personalBlob)} + pictureBlob: ${getAsHex(this.pictureBlob)} dnd: ${this.dnd} gameStartStamp: ${this.gameStartStamp} currentKey: ${this.currentKey} @@ -186,7 +186,7 @@ export class GameProfile implements ISerializable { toHex(): string { return getAsHex(this.toBytes()); } - setData(data: Buffer): void { + setData(): void { throw new Error("Method not implemented."); } getData(): Buffer { diff --git a/packages/nps/messageStructs/MiniRiffList.d.ts b/packages/nps/messageStructs/MiniRiffList.d.ts deleted file mode 100644 index 8bc9bfc6f..000000000 --- a/packages/nps/messageStructs/MiniRiffList.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -import { NPSList } from "./NPSList.js"; -export declare class MiniRiffInfo implements ISerializable { - riffName: string; - riffId: number; - population: number; - constructor(riffName: string, riffId: number, population: number); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} -export declare class MiniRiffList extends NPSList implements ISerializable { - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - private riffs; - getMaxRiffs(): number; - addRiff(riff: MiniRiffInfo): void; - toBytes(): Buffer; - toString(): string; - toHex(): string; - getSize(): number; -} diff --git a/packages/nps/messageStructs/MiniUserList.d.ts b/packages/nps/messageStructs/MiniUserList.d.ts deleted file mode 100644 index f20ab5d01..000000000 --- a/packages/nps/messageStructs/MiniUserList.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class MiniUserInfo implements ISerializable { - userId: number; - userName: string; - constructor(userId: number, userName: string); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} -export declare class MiniUserList implements ISerializable { - private channelId; - private channelUsers; - constructor(channelId: number); - addChannelUser(user: MiniUserInfo): void; - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} diff --git a/packages/nps/messageStructs/NPSList.d.ts b/packages/nps/messageStructs/NPSList.d.ts deleted file mode 100644 index 6daf9d1e0..000000000 --- a/packages/nps/messageStructs/NPSList.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class NPSList implements ISerializable { - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - private list; - toBytes(): Buffer; - toString(): string; - toHex(): string; - setData(data: Buffer): void; - getData(): Buffer; - getSize(): number; -} diff --git a/packages/nps/messageStructs/ProfileList.d.ts b/packages/nps/messageStructs/ProfileList.d.ts deleted file mode 100644 index c0ff01d68..000000000 --- a/packages/nps/messageStructs/ProfileList.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -import { GameProfile } from "./GameProfile.js"; -import { NPSList } from "./NPSList.js"; -export declare class ProfileList extends NPSList implements ISerializable { - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - maxProfiles: number; - private profiles; - getMaxProfiles(): number; - addProfile(profile: GameProfile): void; - toBytes(): Buffer; - toString(): string; - toHex(): string; - setData(data: Buffer): void; - getData(): Buffer; - getSize(): number; -} diff --git a/packages/nps/messageStructs/SessionKey.d.ts b/packages/nps/messageStructs/SessionKey.d.ts deleted file mode 100644 index 4e9f618b9..000000000 --- a/packages/nps/messageStructs/SessionKey.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class SessionKey implements ISerializable { - private key; - private timestamp; - constructor(key: Buffer, timestamp: number); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - static fromBytes(bytes: Buffer): SessionKey; - static fromKeyString(key: string): SessionKey; - getKey(): string; - toString(): string; - toHex(): string; - toBytes(): Buffer; - getSize(): number; - getData(): Buffer; - setData(data: Buffer): void; -} diff --git a/packages/nps/messageStructs/SessionKey.ts b/packages/nps/messageStructs/SessionKey.ts index bb4d2c8ed..165763208 100644 --- a/packages/nps/messageStructs/SessionKey.ts +++ b/packages/nps/messageStructs/SessionKey.ts @@ -1,42 +1,68 @@ import type { ISerializable } from "../types.js"; +import { isOnlyOneSet } from "../utils/pureCompare.js"; import { getAsHex } from "../utils/pureGet.js"; +import { getServerLogger } from "../../shared/index.js"; -export class SessionKey implements ISerializable { - private key: Buffer; - private timestamp: number; +const log = getServerLogger(); - constructor(key: Buffer, timestamp: number) { - this.key = key; - this.timestamp = timestamp; +export class SessionKey implements ISerializable { + private key: Buffer = Buffer.alloc(0); + private timestamp: number = 0; + private _isSet: boolean = false; + + constructor({ key, timestamp }: { key?: Buffer; timestamp?: number }) { + log.setName("SessionKey"); + if (isOnlyOneSet(key, timestamp)) { + throw new Error("Both key and timestamp must be set if one is set"); + } + + if (typeof key !== "undefined" && typeof timestamp !== "undefined") { + log.debug(`SessionKey: key=${getAsHex(key)}, timestamp=${timestamp}`); + this.key = key; + this.timestamp = timestamp; + this._isSet = true; + } + log.resetName(); } serialize(): Buffer { - throw new Error("Method not implemented."); + return this.toBytes(); } deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + SessionKey.fromBytes(data); } getByteSize(): number { throw new Error("Method not implemented."); } static fromBytes(bytes: Buffer): SessionKey { + log.setName("SessionKey.fromBytes"); const keyLength = bytes.readUInt16BE(0); // Set the data offset - let dataOffset = 2 + keyLength; + const dataOffset = 2 + keyLength; const key = bytes.subarray(2, dataOffset); + log.debug(`SessionKey.fromBytes: key=${getAsHex(key)}`); + // Get the timestamp const timestamp = bytes.readUInt32BE(dataOffset); - return new SessionKey(key, timestamp); + log.resetName(); + + return new SessionKey({ + key, + timestamp, + }); } static fromKeyString(key: string): SessionKey { const keyBuffer = Buffer.from(key, "hex"); - return new SessionKey(keyBuffer, 0); + return new SessionKey({ + key: keyBuffer, + timestamp: 0, + }); } getKey(): string { @@ -52,6 +78,10 @@ export class SessionKey implements ISerializable { } toBytes(): Buffer { + if (!this.isSet()) { + throw new Error("Session key is not set"); + } + const keyLength = this.key.length; const timestamp = this.timestamp; @@ -72,7 +102,11 @@ export class SessionKey implements ISerializable { throw new Error("Method not implemented."); } - setData(data: Buffer): void { + setData(): void { throw new Error("Method not implemented."); } + + isSet(): boolean { + return this._isSet; + } } diff --git a/packages/nps/messageStructs/UserAction.d.ts b/packages/nps/messageStructs/UserAction.d.ts deleted file mode 100644 index 40fb0b725..000000000 --- a/packages/nps/messageStructs/UserAction.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class UserAction implements ISerializable { - private name; - private data; - constructor(name: string, bytes?: Buffer); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - setData(data: Buffer): void; - getData(): Buffer; - static fromBytes(name: string, bytes: Buffer): UserAction; - toBytes(): Buffer; - toString(): string; - toHex(): string; - getSize(): number; -} diff --git a/packages/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts index e3ef7e1e5..6fb934826 100644 --- a/packages/nps/messageStructs/UserAction.ts +++ b/packages/nps/messageStructs/UserAction.ts @@ -1,26 +1,56 @@ import type { ISerializable } from "../types.js"; import { getAsHex } from "../utils/pureGet.js"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); export class UserAction implements ISerializable { private name: string; - private data: Buffer = Buffer.alloc(0); + private _endTimeMaybe = 0; // 4 bytes + private _b1 = 0; // 1 byte + private _b2 = 0; // 1 byte + private _initiator = ""; // 64 bytes + private _startComment = ""; // 256 bytes + private _endComment = ""; // 256 bytes - constructor(name: string, bytes?: Buffer) { + constructor(name: string) { this.name = name; - if (bytes) { - this.data = bytes; - } } + serialize(): Buffer { - throw new Error("Method not implemented."); + const buffer = Buffer.alloc(this.getSize()); + let offset = 0; + buffer.writeUInt32BE(this._endTimeMaybe, offset); + offset += 4; + buffer.writeUInt8(this._b1, offset); + offset += 1; + buffer.writeUInt8(this._b2, offset); + offset += 1; + buffer.write(this._initiator, offset, 0x40, "utf8"); + offset += 0x40; + buffer.write(this._startComment, offset, 0x100, "utf8"); + offset += 0x100; + buffer.write(this._endComment, offset, 0x100, "utf8"); + + return buffer; } deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + try { + this._endTimeMaybe = data.readUInt32BE(0); + this._b1 = data.readUInt8(4); + this._b2 = data.readUInt8(5); + this._initiator = data.toString("utf8", 6, 0x46); + this._startComment = data.toString("utf8", 0x46, 0x146); + this._endComment = data.toString("utf8", 0x146, 0x246); + } catch (error) { + log.error(`Error deserializing UserAction: ${error as string}`); + throw error; + } } getByteSize(): number { throw new Error("Method not implemented."); } - setData(data: Buffer): void { + setData(): void { throw new Error("Method not implemented."); } getData(): Buffer { @@ -28,20 +58,69 @@ export class UserAction implements ISerializable { } static fromBytes(name: string, bytes: Buffer): UserAction { - return new UserAction(name, bytes); + const userAction = new UserAction(name); + userAction.deserialize(bytes); + + return userAction; } toBytes(): Buffer { - return Buffer.from(this.name, "utf8"); + return this.serialize(); } toString(): string { - return this.name; + return `UserAction: ${this.name} - ${this._initiator} - ${this._startComment} - ${this._endComment}` } toHex(): string { - return getAsHex(this.toBytes()); + return getAsHex(this.serialize()); } getSize(): number { - return this.name.length; + return 4 + 1 + 1 + 0x40 + 0x100 + 0x100; + } + + public set({ endTimeMaybe, b1, b2, initiator, startComment, endComment }: { + endTimeMaybe?: number, + b1?: number, + b2?: number, + initiator: string, + startComment: string, + endComment?: string, + }): void { + this._endTimeMaybe = endTimeMaybe || 0; + this._b1 = b1 || 0; + this._b2 = b2 || 0; + this._initiator = initiator; + this._startComment = startComment; + this._endComment = endComment || ""; + } + + public clear(): void { + this._endTimeMaybe = 0; + this._b1 = 0; + this._b2 = 0; + this._initiator = ""; + this._startComment = ""; + this._endComment = ""; + } + + updateEmptyValuesFrom(other: UserAction) { + if (this._endTimeMaybe === 0) { + this._endTimeMaybe = other._endTimeMaybe; + } + if (this._b1 === 0) { + this._b1 = other._b1; + } + if (this._b2 === 0) { + this._b2 = other._b2; + } + if (this._initiator === "") { + this._initiator = other._initiator; + } + if (this._startComment === "") { + this._startComment = other._startComment; + } + if (this._endComment === "") { + this._endComment = other._endComment; + } } } diff --git a/packages/nps/messageStructs/UserInfo.d.ts b/packages/nps/messageStructs/UserInfo.d.ts deleted file mode 100644 index 77a2380e7..000000000 --- a/packages/nps/messageStructs/UserInfo.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -export declare class UserInfo implements ISerializable { - private profileId; - private profileName; - private userData; - constructor(id: number, name: string); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} diff --git a/packages/nps/messageStructs/UserStatus.d.ts b/packages/nps/messageStructs/UserStatus.d.ts deleted file mode 100644 index 1c69cea76..000000000 --- a/packages/nps/messageStructs/UserStatus.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -import type { ISerializable } from "../types.js"; -import { SessionKey } from "./SessionKey.js"; -import { UserAction } from "./UserAction.js"; -export declare class UserStatus implements ISerializable { - private customerId; - private personaId; - private isCacheHit; - private ban; - private gag; - private sessionKey; - constructor( - customerId: number, - personaId: number, - isCacheHit: boolean, - ban: UserAction, - gag: UserAction, - sessionKey: SessionKey, - ); - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - static new(): UserStatus; - static fromBytes(bytes: Buffer): UserStatus; - toBytes(): Buffer; - getSize(): number; - getCustomerId(): number; - setCustomerId(customerId: number): void; - getPersonaId(): number; - setPersonaId(personaId: number): void; - getSessionKey(): SessionKey; - setSessionKey(sessionKey: SessionKey): void; - setBan(ban: UserAction): void; - getGag(): UserAction; - setGag(gag: UserAction): void; - toString(): string; - toHex(): string; - setData(data: Buffer): void; -} diff --git a/packages/nps/messageStructs/UserStatus.ts b/packages/nps/messageStructs/UserStatus.ts index 0d49a784d..c0e73fee3 100644 --- a/packages/nps/messageStructs/UserStatus.ts +++ b/packages/nps/messageStructs/UserStatus.ts @@ -1,49 +1,78 @@ +import { randomUUID } from "crypto"; import type { ISerializable } from "../types.js"; import { SessionKey } from "./SessionKey.js"; import { UserAction } from "./UserAction.js"; export class UserStatus implements ISerializable { - private customerId: number; - private personaId: number; - private isCacheHit: boolean; - private ban: UserAction; - private gag: UserAction; - private sessionKey: SessionKey; - - constructor( - customerId: number, - personaId: number, - isCacheHit: boolean, - ban: UserAction, - gag: UserAction, - sessionKey: SessionKey, - ) { + private _sessionId: string = ""; + private _remoteIp: string = ""; + private _machineId: string = ""; + private customerId: number = 0; + private personaId: number = 0; + private isCacheHit: boolean = false; + readonly ban: UserAction = new UserAction("ban"); + readonly gag: UserAction = new UserAction("gag"); + private sessionKey: SessionKey = new SessionKey({}); + + constructor({ + customerId, + personaId, + sessionKey, + }: { + customerId: number; + personaId?: number; + sessionKey?: SessionKey; + + }) { + this._sessionId = randomUUID(); this.customerId = customerId; - this.personaId = personaId; - this.isCacheHit = isCacheHit; - this.ban = ban; - this.gag = gag; - this.sessionKey = sessionKey; + this.personaId = personaId || 0; + this.isCacheHit = false; + this.ban = new UserAction("ban"); + this.gag = new UserAction("gag"); + this.sessionKey = sessionKey || new SessionKey({}); } serialize(): Buffer { return this.toBytes(); } - deserialize(data: Buffer): void { + deserialize(): void { throw new Error("Method not implemented."); } getByteSize(): number { return this.getSize(); } + getSessionId(): string { + return this._sessionId; + } + + getRemoteIp(): string { + return this._remoteIp; + } + + setRemoteIp(value: string) { + if (this._remoteIp !== "" && this._remoteIp !== value) { + throw new Error("Remote IP is already set and cannot be changed"); + } + this._remoteIp = value; + } + + getMachineId(): string { + return this._machineId; + } + + setMachineId(value: string) { + if (this._machineId !== "" && this._machineId !== value) { + throw new Error("Machine ID is already set and cannot be changed"); + } + this._machineId = value; + } + static new(): UserStatus { - return new UserStatus( - 0, - 0, - false, - new UserAction("ban"), - new UserAction("gag"), - new SessionKey(Buffer.alloc(12), 0), - ); + return new UserStatus({ + customerId: 0, + }); + } static fromBytes(bytes: Buffer): UserStatus { @@ -52,7 +81,7 @@ export class UserStatus implements ISerializable { offset += 4; const personaId = bytes.readUInt32BE(offset); offset += 4; - const isCacheHit = bytes.readUInt8(offset) === 1; + // Skip isCacheHit offset += 1; const ban = UserAction.fromBytes("ban", bytes.subarray(offset)); offset += ban.getSize(); @@ -60,19 +89,21 @@ export class UserStatus implements ISerializable { offset += gag.getSize(); const sessionKey = SessionKey.fromBytes(bytes.subarray(offset)); - return new UserStatus( + return new UserStatus({ customerId, personaId, - isCacheHit, - ban, - gag, sessionKey, - ); + + }); } toBytes(): Buffer { const buffer = Buffer.alloc(this.getSize()); + if (this.sessionKey === null) { + throw new Error("Session key is required"); + } + let offset = 0; buffer.writeUInt32BE(this.customerId, offset); offset += 4; @@ -92,10 +123,14 @@ export class UserStatus implements ISerializable { getSize(): number { return ( - 14 + + 4 + + 4 + + 1 + this.ban.getSize() + this.gag.getSize() + - this.sessionKey.getSize() + this.sessionKey.getSize() + + 4 + + 64 ); } @@ -123,18 +158,6 @@ export class UserStatus implements ISerializable { this.sessionKey = sessionKey; } - setBan(ban: UserAction) { - this.ban = ban; - } - - getGag(): UserAction { - return this.gag; - } - - setGag(gag: UserAction) { - this.gag = gag; - } - toString(): string { return `UserStatus: Customer ID: ${this.customerId} @@ -149,7 +172,7 @@ export class UserStatus implements ISerializable { return this.toBytes().toString("hex"); } - setData(data: Buffer) { + setData() { throw new Error("Method not implemented."); } } diff --git a/packages/nps/package.json b/packages/nps/package.json index d1ab35d9f..620bb6dec 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -9,7 +9,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", "short-unique-id": "^5.0.3" diff --git a/packages/nps/services/account.d.ts b/packages/nps/services/account.d.ts deleted file mode 100644 index 8f9c9fe2a..000000000 --- a/packages/nps/services/account.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -export type User = { - username: string; - password: string; - customerId: number; - createdAt: Date; - updatedAt: Date; -}; -export declare function populateGameUsers(): Promise; -export declare function getUser(username: string): Promise; -export declare function addUser(user: User): Promise; -export declare function deleteUser(username: string): Promise; -export declare function getCustomerId( - username: string, -): Promise; -export declare function checkPassword( - user: User, - password: string, -): Promise; diff --git a/packages/nps/services/account.ts b/packages/nps/services/account.ts index 5a1a8e22d..f4f8453e5 100644 --- a/packages/nps/services/account.ts +++ b/packages/nps/services/account.ts @@ -1,65 +1,61 @@ -export type User = { - username: string; - password: string; - customerId: number; - createdAt: Date; - updatedAt: Date; -}; - -const users: User[] = []; - -export async function populateGameUsers(): Promise { - // Create the default admin user - users.push({ - username: "admin", - password: "admin", - customerId: 1, - createdAt: new Date(), - updatedAt: new Date(), - }); - - // Create the default molly user - users.push({ - username: "molly", - password: "molly", - customerId: 2, - createdAt: new Date(), - updatedAt: new Date(), - }); +import { getDatabase } from "../../database"; +import { user as userSchema } from "../../../schema/user"; +import { eq, and } from "drizzle-orm"; +import { getServerLogger } from "../../shared"; + +const log = getServerLogger(); + + + +export async function populateUsers(): Promise { + + await getDatabase().insert(userSchema).values([ + { + userId: 1, + userName: "admin", + password: "admin", + customerId: 1, + isSuperUser: 1, + }, + { + userId: 2, + userName: "molly", + password: "molly", + customerId: 2, + isSuperUser: 0, + }, + ]).onConflictDoNothing(); } -export async function getUser(username: string): Promise { - return users.find((user) => user.username === username); -} - -export async function addUser(user: User): Promise { - users.push({ - username: user.username, - password: user.password, - customerId: user.customerId, - createdAt: new Date(), - updatedAt: new Date(), +export async function getUserFromDb(username: string, password: string): Promise { + + const userAccount = await getDatabase().select().from(userSchema).where( + and( + eq(userSchema.userName, username), + eq(userSchema.password, password), + ), + ).limit(1).then((result) => { + if (result.length === 0) { + return null; + } + + const record = result[0]; + + if (typeof record === "undefined") { + return null; + } + + return record; }); -} -export async function deleteUser(username: string): Promise { - const index = users.findIndex((user) => user.username === username); - users.splice(index, 1); -} + log.debug(`getUser: ${JSON.stringify(userAccount)}`); -export async function getCustomerId( - username: string, -): Promise { - const user = await getUser(username); - if (typeof user === "undefined") { - return undefined; - } - return user ? user.customerId : undefined; + return userAccount } -export async function checkPassword( - user: User, - password: string, -): Promise { - return user.password === password; +export async function isSuperUser(username: string, password: string): Promise { + const user = await getUserFromDb(username, password); + return user ? user.isSuperUser === 1 : false; } + +// Path: packages/nps/services/account.ts diff --git a/packages/nps/services/profile.d.ts b/packages/nps/services/profile.d.ts deleted file mode 100644 index 014b2de66..000000000 --- a/packages/nps/services/profile.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { GameProfile } from "../messageStructs/GameProfile.js"; -export declare const gameProfiles: GameProfile[]; -export declare function populateGameProfiles( - profiles: GameProfile[], -): Promise; -export declare function getGameProfilesForCustomerId( - customerId: number, -): Promise; -export declare function gameProfileExists( - profileName: string, -): Promise; -export declare function addGameProfile(profile: GameProfile): Promise; -export declare function deleteGameProfile(profileId: number): Promise; -export declare function createGameProfile(): Promise; diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index 14f60e0c6..2ea57688f 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,10 +1,10 @@ -import { GameProfile } from "../messageStructs/GameProfile.js"; +import { GameProfile } from "../messageStructs/GameProfile"; +import { getDatabase } from "../../database"; +import { profile as profileSchema } from "../../../schema/profile"; export const gameProfiles: GameProfile[] = []; -export async function populateGameProfiles( - profiles: GameProfile[], -): Promise { +export function populateGameProfiles(profiles: GameProfile[]): void { const profile1 = GameProfile.new(); profile1.customerId = 2; profile1.profileName = "molly"; @@ -29,9 +29,9 @@ export async function populateGameProfiles( profiles.push(profile1); } -export async function getGameProfilesForCustomerId( +export function getGameProfilesForCustomerId( customerId: number, -): Promise { +): GameProfile[] { const profiles: GameProfile[] = []; for (const profile of gameProfiles.values()) { if (profile.customerId === customerId) { @@ -41,7 +41,16 @@ export async function getGameProfilesForCustomerId( return profiles; } -export async function gameProfileExists(profileName: string): Promise { +export function getCustomerId(profileId: number): number { + for (const profile of gameProfiles.values()) { + if (profile.profileId === profileId) { + return profile.customerId; + } + } + return -1; +} + +export function gameProfileExists(profileName: string): boolean { for (const profile of gameProfiles.values()) { if (profile.profileName === profileName) { return true; @@ -51,10 +60,31 @@ export async function gameProfileExists(profileName: string): Promise { } export async function addGameProfile(profile: GameProfile): Promise { - gameProfiles.push(profile); + await getDatabase().insert(profileSchema).values([{ + customerId: profile.customerId, + profileName: profile.profileName, + serverId: profile.serverId, + createStamp: profile.createStamp, + lastLoginStamp: profile.lastLoginStamp, + numberGames: profile.numberGames, + profileId: profile.profileId, + isOnline: profile.isOnline, + gamePurchaseStamp: profile.gamePurchaseStamp, + gameSerialNumber: profile.gameSerialNumber, + timeOnline: profile.timeOnline, + timeInGame: profile.timeInGame, + gameBlob: profile.gameBlob.toString(), + personalBlob: profile.personalBlob.toString(), + pictureBlob: profile.pictureBlob.toString(), + dnd: profile.dnd, + gameStartStamp: profile.gameStartStamp, + currentKey: profile.currentKey, + profileLevel: profile.profileLevel, + shardId: profile.shardId, + }]).onConflictDoNothing(); } -export async function deleteGameProfile(profileId: number): Promise { +export function deleteGameProfile(profileId: number): void { for (const [index, profile] of gameProfiles.entries()) { if (profile.profileId === profileId) { gameProfiles.splice(index, 1); @@ -63,9 +93,8 @@ export async function deleteGameProfile(profileId: number): Promise { } } -export async function createGameProfile(): Promise { +export function createGameProfile(): GameProfile { const profile = GameProfile.new(); - addGameProfile(profile); return profile; } diff --git a/packages/nps/services/session.d.ts b/packages/nps/services/session.d.ts deleted file mode 100644 index aaf8d4975..000000000 --- a/packages/nps/services/session.d.ts +++ /dev/null @@ -1,70 +0,0 @@ -/// -import { Cipher, Decipher } from "node:crypto"; -export type ClientVersion = "debug" | "release" | "unknown"; -export type EncryptionSession = { - connectionId: string; - customerId: number; - sessionKey: string; - gameCipher: Cipher; - gameDecipher: Decipher; -}; -export declare const encryptionSessions: Map; -export declare function setEncryptionSession( - encryptionSession: EncryptionSession, -): Promise; -export declare function getEncryptionSession( - connectionId: string, -): Promise; -export declare function deleteEncryptionSession( - connectionId: string, -): Promise; -export declare function newEncryptionSession({ - connectionId, - customerId, - sessionKey, -}: { - connectionId: string; - customerId: number; - sessionKey: string; -}): Promise; -export type UserSession = { - customerId: number; - token: string; - connectionId: string; - port: number; - ipAddress: string; - activeProfileId: number; - nextSequenceNumber: number; - sessionKey: string; - clientVersion: ClientVersion; -}; -export declare const userSessions: Map; -export declare function setUserSession(userSession: UserSession): Promise; -export declare function getUserSession( - token: string, -): Promise; -export declare function deleteUserSession(token: string): Promise; -export declare function getUserSessionByConnectionId( - connectionId: string, -): Promise; -export declare function getUserSessionByProfileId( - profileId: number, -): Promise; -export declare function getUserSessionByCustomerId( - customerId: number, -): Promise; -export declare function getUserSessionByIPAndPort( - ipAddress: string, - port: number, -): Promise; -export declare function createNewUserSession({ - customerId, - token, - connectionId, - port, - ipAddress, - activeProfileId, - nextSequenceNumber, - sessionKey, - clientVersion, -}: UserSession): Promise; diff --git a/packages/nps/services/session.ts b/packages/nps/services/session.ts deleted file mode 100644 index 6b8ea8acb..000000000 --- a/packages/nps/services/session.ts +++ /dev/null @@ -1,173 +0,0 @@ -import { - Cipher, - Decipher, - createCipheriv, - createDecipheriv, -} from "node:crypto"; - -export type ClientVersion = "debug" | "release" | "unknown"; - -export type EncryptionSession = { - connectionId: string; - customerId: number; - sessionKey: string; - gameCipher: Cipher; - gameDecipher: Decipher; -}; - -export const encryptionSessions = new Map([]); - -export async function setEncryptionSession( - encryptionSession: EncryptionSession, -): Promise { - encryptionSessions.set(encryptionSession.connectionId, encryptionSession); -} - -export async function getEncryptionSession( - connectionId: string, -): Promise { - if (encryptionSessions.has(connectionId)) { - return encryptionSessions.get(connectionId); - } - return undefined; -} - -export async function deleteEncryptionSession( - connectionId: string, -): Promise { - encryptionSessions.delete(connectionId); -} - -export async function newEncryptionSession({ - connectionId, - customerId, - sessionKey, -}: { - connectionId: string; - customerId: number; - sessionKey: string; -}): Promise { - const gameCipher = createCipheriv( - "des-cbc", - Buffer.from(sessionKey, "hex"), - Buffer.alloc(8), - ); - gameCipher.setAutoPadding(false); - const gameDecipher = createDecipheriv( - "des-cbc", - Buffer.from(sessionKey, "hex"), - Buffer.alloc(8), - ); - gameDecipher.setAutoPadding(false); - const encryptionSession = { - connectionId, - customerId, - sessionKey, - gameCipher, - gameDecipher, - }; - setEncryptionSession(encryptionSession); - return encryptionSession; -} - -export type UserSession = { - customerId: number; - token: string; - connectionId: string; - port: number; - ipAddress: string; - activeProfileId: number; - nextSequenceNumber: number; - sessionKey: string; - clientVersion: ClientVersion; -}; - -export const userSessions = new Map([]); - -export async function setUserSession(userSession: UserSession): Promise { - userSessions.set(userSession.token, userSession); -} - -export async function getUserSession( - token: string, -): Promise { - if (userSessions.has(token)) { - return userSessions.get(token); - } - return undefined; -} - -export async function deleteUserSession(token: string): Promise { - userSessions.delete(token); -} - -export async function getUserSessionByConnectionId( - connectionId: string, -): Promise { - for (const userSession of userSessions.values()) { - if (userSession.connectionId === connectionId) { - return userSession; - } - } - return undefined; -} - -export async function getUserSessionByProfileId( - profileId: number, -): Promise { - for (const userSession of userSessions.values()) { - if (userSession.activeProfileId === profileId) { - return userSession; - } - } - return undefined; -} - -export async function getUserSessionByCustomerId( - customerId: number, -): Promise { - for (const userSession of userSessions.values()) { - if (userSession.customerId === customerId) { - return userSession; - } - } - return undefined; -} - -export async function getUserSessionByIPAndPort( - ipAddress: string, - port: number, -): Promise { - for (const userSession of userSessions.values()) { - if (userSession.ipAddress === ipAddress && userSession.port === port) { - return userSession; - } - } - return undefined; -} - -export async function createNewUserSession({ - customerId, - token, - connectionId, - port, - ipAddress, - activeProfileId, - nextSequenceNumber, - sessionKey, - clientVersion, -}: UserSession): Promise { - const userSession = { - customerId, - token, - connectionId, - port, - ipAddress, - activeProfileId, - nextSequenceNumber, - sessionKey, - clientVersion, - }; - setUserSession(userSession); - return userSession; -} diff --git a/packages/nps/services/token.d.ts b/packages/nps/services/token.d.ts deleted file mode 100644 index 48f0339c7..000000000 --- a/packages/nps/services/token.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -export type TokenRecord = { - customerId: number; - token: string; -}; -export declare const activeTokens: Map; -export declare function generateTokenRecord(customerId: number): TokenRecord; -export declare function generateToken(customerId: number): string; -export declare function isTokenExpired(token: string): boolean; -export declare function getToken(token: string): TokenRecord | undefined; -export declare function deleteToken(token: string): void; -export declare function deleteExpiredTokens(): void; -export declare function getCustomerId(token: string): number | undefined; diff --git a/packages/nps/services/types.d.ts b/packages/nps/services/types.d.ts deleted file mode 100644 index 7950fbde2..000000000 --- a/packages/nps/services/types.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -export type Part = { - PartID: number; - ParentPartID: number; - BrandedPartID: number; - RepairPrice: number; - JunkPrice: number; - Wear: number; - AttachmentPoint: number; - Damage: number; -}; -export type Vehicle = { - VehicleID: number; - SkinID: number; - Flags: number; - Delta: number; - Damage: number; -}; diff --git a/packages/nps/src/EncryptionSession.ts b/packages/nps/src/EncryptionSession.ts new file mode 100644 index 000000000..3bdbe4683 --- /dev/null +++ b/packages/nps/src/EncryptionSession.ts @@ -0,0 +1,68 @@ +import { + Cipher, + Decipher, + createCipheriv, + createDecipheriv +} from "node:crypto"; + + +export type EncryptionSession = { + connectionId: string; + customerId: number; + sessionKey: string; + gameCipher: Cipher; + gameDecipher: Decipher; +}; + +export const encryptionSessions = new Map([]); + +export function setEncryptionSession( + encryptionSession: EncryptionSession +): void { + encryptionSessions.set(encryptionSession.connectionId, encryptionSession); +} + +export function getEncryptionSession( + connectionId: string +): EncryptionSession | undefined { + if (encryptionSessions.has(connectionId)) { + return encryptionSessions.get(connectionId); + } + return undefined; +} + +export function deleteEncryptionSession( + connectionId: string +): void { + encryptionSessions.delete(connectionId); +} + +export function newEncryptionSession({ + connectionId, customerId, sessionKey, +}: { + connectionId: string; + customerId: number; + sessionKey: string; +}): EncryptionSession { + const gameCipher = createCipheriv( + "des-cbc", + Buffer.from(sessionKey, "hex"), + Buffer.alloc(8) + ); + gameCipher.setAutoPadding(false); + const gameDecipher = createDecipheriv( + "des-cbc", + Buffer.from(sessionKey, "hex"), + Buffer.alloc(8) + ); + gameDecipher.setAutoPadding(false); + const encryptionSession = { + connectionId, + customerId, + sessionKey, + gameCipher, + gameDecipher, + }; + setEncryptionSession(encryptionSession); + return encryptionSession; +} diff --git a/packages/nps/src/UserStatusManager.ts b/packages/nps/src/UserStatusManager.ts new file mode 100644 index 000000000..329d269b4 --- /dev/null +++ b/packages/nps/src/UserStatusManager.ts @@ -0,0 +1,80 @@ +import { UserStatus } from "../messageStructs/UserStatus"; + +export class UserStatusManager { + static newUserStatus() { + return new UserStatus({ customerId: 0 }); + } + static _instance: UserStatusManager; + + static getInstance() { + if (!UserStatusManager._instance) { + UserStatusManager._instance = new UserStatusManager(); + } + return UserStatusManager._instance; + } + private _userStatuses: Map = new Map(); + + public addUserStatus(userStatus: UserStatus) { + this._userStatuses.set(userStatus.getCustomerId(), userStatus); + } + + public removeUserStatus(customerId: number) { + this._userStatuses.delete(customerId); + } + + public getUserStatus(customerId: number): UserStatus | undefined { + return this._userStatuses.get(customerId); + } + + public getUserStatuses(): UserStatus[] { + return Array.from(this._userStatuses.values()); + } + + public clearUserStatuses() { + this._userStatuses.clear(); + } + + static addUserStatus(userStatus: UserStatus) { + UserStatusManager.getInstance().addUserStatus(userStatus); + } + + static removeUserStatus(customerId: number) { + UserStatusManager.getInstance().removeUserStatus(customerId); + } + + static getUserStatus(customerId: number): UserStatus | undefined { + const userStatus = UserStatusManager.getInstance().getUserStatus(customerId); + + if (userStatus) { + return userStatus; + } + + const newUserStatus = new UserStatus({ customerId }); + + UserStatusManager.getInstance().addUserStatus(newUserStatus); + + return newUserStatus; + } + + static getUserStatusBySessionId(sessionId: string): UserStatus | undefined { + const userStatus = UserStatusManager.getInstance().getUserStatuses().find((userStatus) => { + return userStatus.getSessionId() === sessionId; + }); + + if (userStatus) { + return userStatus; + } + + return undefined; + } + + getUserStatuseByMachineIdAndIp(machineId: string, remoteIp: string): UserStatus | undefined { + return Array.from(this._userStatuses.values()).find((userStatus) => { + return userStatus.getMachineId() === machineId && userStatus.getRemoteIp() === remoteIp; + }); + } + + static getUserStatuses(): UserStatus[] { + return UserStatusManager.getInstance().getUserStatuses(); + } +} diff --git a/packages/nps/types.d.ts b/packages/nps/types.d.ts deleted file mode 100644 index f161f3577..000000000 --- a/packages/nps/types.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -/// -export interface ISerializable { - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - toString(): string; -} -export interface IMessageHeader extends ISerializable { - getVersion(): number; - getId(): number; - getLength(): number; - getDataOffset(): number; - setVersion(version: number): void; - setId(id: number): void; - setLength(length: number): void; -} -export interface IMessage extends ISerializable { - header: IMessageHeader; - getData(): ISerializable; - getDataAsBuffer(): Buffer; - setData(data: ISerializable): void; -} diff --git a/packages/nps/utils/pureCompare.d.ts b/packages/nps/utils/pureCompare.d.ts deleted file mode 100644 index 6cac26f31..000000000 --- a/packages/nps/utils/pureCompare.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare function isZero(n: number): boolean; -export declare function lessThan(a: number, b: number): boolean; -export declare function lessThanOrEqual(a: number, b: number): boolean; -export declare function greaterThan(a: number, b: number): boolean; -export declare function greaterThanOrEqual(a: number, b: number): boolean; -export declare function areBothZero(a: number, b: number): boolean; diff --git a/packages/nps/utils/pureCompare.ts b/packages/nps/utils/pureCompare.ts index 4bbe84c24..8317df3da 100644 --- a/packages/nps/utils/pureCompare.ts +++ b/packages/nps/utils/pureCompare.ts @@ -2,6 +2,13 @@ export function isZero(n: number): boolean { // Return true if n is zero return n === 0; } + + +export function isUndefined(n: unknown): boolean { + // Return true if n is undefined + return typeof n === "undefined"; +} + export function lessThan(a: number, b: number): boolean { // Return true if a < b return a < b; @@ -24,3 +31,18 @@ export function areBothZero(a: number, b: number): boolean { // Return true if both a and b are zero return isZero(a) && isZero(b); } + +export function areBothUndefined(a: unknown, b: unknown): boolean { + // Return true if both a and b are undefined + return typeof a === "undefined" && typeof b === "undefined"; +} + +export function areBothSet(a: unknown, b: unknown): boolean { + // Return true if both a and b are set + return !isUndefined(a) && !isUndefined(b); +} + +export function isOnlyOneSet(a: unknown, b: unknown): boolean { + // Return true if only one of a and b is set + return !areBothSet(a, b) && (!isUndefined(a) || !isUndefined(b)); +} diff --git a/packages/nps/utils/pureGet.d.ts b/packages/nps/utils/pureGet.d.ts deleted file mode 100644 index 6462b209a..000000000 --- a/packages/nps/utils/pureGet.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/// -export declare function getWord( - bytes: Buffer, - offset: number, - isLE: boolean, -): number; -export declare function getDWord( - bytes: Buffer, - offset: number, - isLE: boolean, -): number; -/** - * Get the first n bytes of a buffer. - * If the buffer is shorter than n bytes, return the whole buffer - */ -export declare function getNBytes(bytes: Buffer, n: number): Buffer; -export declare function getAsHex(bytes: Buffer): string; -export declare function getLenString( - bytes: Buffer, - offset: number, - isLE: boolean, -): string; -export declare function getLenBlob( - bytes: Buffer, - offset: number, - isLE: boolean, -): Buffer; -export declare function getShortBool(bytes: Buffer, offset: number): boolean; diff --git a/packages/nps/utils/purePut.d.ts b/packages/nps/utils/purePut.d.ts deleted file mode 100644 index 5d05003ac..000000000 --- a/packages/nps/utils/purePut.d.ts +++ /dev/null @@ -1,55 +0,0 @@ -/// -export declare function put16( - bytes: Buffer, - offset: number, - word: number, - isLE: boolean, -): Buffer; -export declare function put8( - bytes: Buffer, - offset: number, - byte: number, -): Buffer; -export declare function put16BE( - bytes: Buffer, - offset: number, - word: number, -): Buffer; -export declare function put16LE( - bytes: Buffer, - offset: number, - word: number, -): Buffer; -export declare function put32( - bytes: Buffer, - offset: number, - word: number, - isLE: boolean, -): Buffer; -export declare function put32BE( - bytes: Buffer, - offset: number, - word: number, -): Buffer; -export declare function put32LE( - bytes: Buffer, - offset: number, - word: number, -): Buffer; -export declare function putLenString( - bytes: Buffer, - offset: number, - str: string, - isLE: boolean, -): Buffer; -export declare function putLenBlob( - bytes: Buffer, - offset: number, - blob: Buffer, - isLE: boolean, -): Buffer; -export declare function putShortBool( - bytes: Buffer, - offset: number, - bool: boolean, -): Buffer; diff --git a/packages/patch/package.json b/packages/patch/package.json index bf5b3872e..e2471bb3e 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -9,5 +9,5 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0" } diff --git a/packages/patch/src/PatchServer.d.ts b/packages/patch/src/PatchServer.d.ts deleted file mode 100644 index 1fe7d873c..000000000 --- a/packages/patch/src/PatchServer.d.ts +++ /dev/null @@ -1,76 +0,0 @@ -/// -/// -import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerLogger } from "../../shared"; -import { Buffer } from "node:buffer"; -export declare const CastanetResponse: { - body: Buffer; - header: { - type: string; - value: string; - }; -}; -/** - * The PatchServer class handles HTTP requests from the client for patching and upgrades - * Please use {@link getPatchServer()} to access - * @export - * @class PatchServer - */ -export declare class PatchServer { - /** - * - * - * @static - * @type {PatchServer} - * @memberof PatchServer - */ - static _instance: PatchServer; - /** - * - * - * @private - * @type {ServerLogger} - */ - _log: ServerLogger; - /** - * Creates an instance of PatchServer. - * Please use getInstance() instead - * @param {ServerLogger} log - * @memberof PatchServer - */ - constructor(log: ServerLogger); - /** - * Return the instance of the PatchServer class - * - * @static - * @param {ServerLogger} log - * @return {PatchServer} - * @memberof PatchServer - */ - static getInstance(log: ServerLogger): PatchServer; - /** - * Returns the hard-coded value that tells the client there are no updates or patches - * @param {IncomingMessage} request - * @param {ServerResponse} response - * @returns {ServerResponse} - */ - castanetResponse( - request: IncomingMessage, - response: ServerResponse, - ): ServerResponse; - /** - * Routes incomming HTTP requests - * @param {IncomingMessage} request - * @param {ServerResponse} response - * @returns {ServerResponse} - */ - handleRequest( - request: IncomingMessage, - response: ServerResponse, - ): ServerResponse; -} -/** - * Return the instance of the PatchServer class - * @returns {PatchServer} - */ -export declare function getPatchServer(log: ServerLogger): PatchServer; diff --git a/packages/patch/src/PatchServer.ts b/packages/patch/src/PatchServer.ts index 53fafc6e8..0bd7b9aab 100644 --- a/packages/patch/src/PatchServer.ts +++ b/packages/patch/src/PatchServer.ts @@ -1,11 +1,7 @@ import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerLogger, getServerLogger } from "../../shared"; +import { ServerLogger, type TServerLogger } from "../../shared"; import { Buffer } from "node:buffer"; -const debug_reseponse = Buffer.from([ - 0xca, 0xfe, 0xbe, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, -]); - export const CastanetResponse = { body: Buffer.from([ 0xca, 0xfe, 0xbe, 0xef, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, @@ -39,7 +35,7 @@ export class PatchServer { * @private * @type {ServerLogger} */ - _log: ServerLogger; + _log: TServerLogger; /** * Creates an instance of PatchServer. @@ -47,7 +43,7 @@ export class PatchServer { * @param {ServerLogger} log * @memberof PatchServer */ - constructor(log: ServerLogger) { + constructor(log: TServerLogger) { this._log = log; } @@ -59,7 +55,7 @@ export class PatchServer { * @return {PatchServer} * @memberof PatchServer */ - static getInstance(log: ServerLogger): PatchServer { + static getInstance(log: TServerLogger): PatchServer { if (!PatchServer._instance) { PatchServer._instance = new PatchServer(log); } diff --git a/packages/patch/test/PatchServer.test.d.ts b/packages/patch/test/PatchServer.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/patch/test/PatchServer.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/patch/test/PatchServer.test.ts b/packages/patch/test/PatchServer.test.ts index a9270e51f..e011b67aa 100644 --- a/packages/patch/test/PatchServer.test.ts +++ b/packages/patch/test/PatchServer.test.ts @@ -1,6 +1,7 @@ import { PatchServer, CastanetResponse } from "../src/PatchServer.js"; import { describe, it, expect, vi } from "vitest"; -import { mockLogger } from "../../../test/factoryMocks.js"; +import { mockLogger } from "../../shared/test"; +import type { IncomingMessage, ServerResponse } from "http"; describe("PatchServer", () => { it("should return the hard-coded value that tells the client there are no updates or patches", () => { @@ -21,7 +22,7 @@ describe("PatchServer", () => { }; // Act - patchServer.castanetResponse(request as any, response as any); + patchServer.castanetResponse(request as IncomingMessage, response as unknown as ServerResponse); // Assert expect(response.setHeader).toHaveBeenCalledWith( diff --git a/packages/persona/index.ts b/packages/persona/index.ts new file mode 100644 index 000000000..4731d3ebf --- /dev/null +++ b/packages/persona/index.ts @@ -0,0 +1 @@ +export { getPersonasByPersonaId } from "./src/getPersonasByPersonaId.js"; diff --git a/packages/persona/package.json b/packages/persona/package.json index fec538d05..3550dd8ff 100644 --- a/packages/persona/package.json +++ b/packages/persona/package.json @@ -9,5 +9,5 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0" } diff --git a/packages/persona/src/BuddyInfoMessage.d.ts b/packages/persona/src/BuddyInfoMessage.d.ts deleted file mode 100644 index 376aa9f3b..000000000 --- a/packages/persona/src/BuddyInfoMessage.d.ts +++ /dev/null @@ -1,45 +0,0 @@ -/// -import { NetworkMessage, RawMessage } from "../../shared"; -/** - * BuddyInfoMessage - * - * This is a response to a NPS_GET_BUDDY_LIST message. - * It is actually two messages, the first is a NPS_BUDDY_LIST_COUNT - * message, which contains the number of buddies in the list and has - * a response code of NPS_BUDDY_LIST_COUNT - 1556 (0x614). - * - * The second message is a NPS_BUDDY_LIST message, which contains the - * buddy list itself. It has a response code of 1544 (0x608). - */ -export declare class BuddyInfoMessage extends RawMessage { - _buddyCount: number; - _buddyList: BuddyList[]; - _longOne: number; - _longTwo: number; - constructor(); - get length(): number; - serialize(): Buffer; - add(buddy: BuddyList): void; -} -export declare class BuddyCount extends NetworkMessage { - _buddyCount: number; - constructor(); - get length(): number; - serialize(): Buffer; - set buddyCount(count: number); -} -export declare class BuddyList extends RawMessage { - buddyName: string; - gameName: string; - isBuddy: boolean; - isOnline: boolean; - dnd: boolean; - dnb: boolean; - noEntry: boolean; - muteWhispers: boolean; - muteChat: boolean; - constructor(); - get length(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/persona/src/PersonaMapsMessage.d.ts b/packages/persona/src/PersonaMapsMessage.d.ts deleted file mode 100644 index 997fe03cf..000000000 --- a/packages/persona/src/PersonaMapsMessage.d.ts +++ /dev/null @@ -1,100 +0,0 @@ -/// -import { NPSHeader, NPSMessage } from "../../shared"; -/** - * - * This is type UserGameData - */ -export declare class PersonaRecord { - customerId: number; - personaName: string; - serverDataId: number; - createDate: number; - lastLogin: number; - numberOfGames: number; - personaId: number; - isOnline: number; - purchaseTimestamp: number; - gameSerialNumber: string; - timeOnline: number; - timeInGame: number; - extraData: Buffer; - personaData: Buffer; - pictureData: Buffer; - dnd: number; - startedPlayingTimestamp: number; - hashedKey: string; - personaLevel: number; - shardId: number; - constructor(); - /** - * - * @param {Buffer} buffer - * @returns {PersonaRecord} - */ - deserialize(buffer: Buffer): PersonaRecord; - /** - * - * @returns {Buffer} - */ - serialize(): Buffer; - static size(): number; - toJSON(): { - customerId: number; - personaId: number; - personaName: string; - shardId: number; - serverDataId: number; - }; - asJSON(): { - customerId: number; - personaId: number; - personaName: string; - shardId: number; - serverDataId: number; - }; - toString(): string; -} -export declare class PersonaList { - _personaRecords: PersonaRecord[]; - constructor(); - /** - * - * @param {Buffer} buffer - * @returns {PersonaList} - */ - deserialize(buffer: Buffer): PersonaList; - /** - * - * @returns {Buffer} - */ - serialize(): Buffer; - /** - * @param {PersonaRecord} personaRecord - */ - addPersonaRecord(personaRecord: PersonaRecord): void; - personaCount(): number; - size(): number; - asJSON(): { - personaRecords: PersonaRecord[]; - }; - toString(): string; -} -export declare class PersonaMapsMessage extends NPSMessage { - _personaRecords: PersonaList | undefined; - raw: Buffer | undefined; - constructor(); - /** - * @param {Buffer} buffer - * @returns {PersonaMapsMessage} - */ - deserialize(buffer: Buffer): PersonaMapsMessage; - /** - * @returns {Buffer} - */ - serialize(): Buffer; - asJSON(): { - header: NPSHeader; - personaRecords: PersonaList | undefined; - }; - toString(): string; -} diff --git a/packages/persona/src/_gameLogout.d.ts b/packages/persona/src/_gameLogout.d.ts deleted file mode 100644 index 06f4a8f46..000000000 --- a/packages/persona/src/_gameLogout.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { LegacyMessage, SerializedBuffer } from "../../shared"; -/** - * Handle game logout - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export declare function _gameLogout({ - connectionId, - message, -}: { - connectionId: string; - message: LegacyMessage; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/persona/src/_getFirstBuddy.d.ts b/packages/persona/src/_getFirstBuddy.d.ts deleted file mode 100644 index 8e847ad83..000000000 --- a/packages/persona/src/_getFirstBuddy.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { LegacyMessage, SerializedBuffer } from "../../shared"; -export declare function _getFirstBuddy({ - connectionId, - message, -}: { - connectionId: string; - message: LegacyMessage; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; -interface BuddyInfoRecord { - buddyId: number; - buddyName: string; - gameName: string; - isBuddy: boolean; - isOnline: boolean; - dnd: boolean; - dnb: boolean; - noEntry: boolean; - muteWhispers: boolean; - muteChat: boolean; -} -export declare const buddies: BuddyInfoRecord[]; -export {}; diff --git a/packages/persona/src/_selectGamePersona.d.ts b/packages/persona/src/_selectGamePersona.d.ts deleted file mode 100644 index 1655186dd..000000000 --- a/packages/persona/src/_selectGamePersona.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { ServerLogger } from "../../shared"; -import { LegacyMessage, SerializedBuffer } from "../../shared"; -/** - * Selects a game persona and marks it as in use - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export declare function _selectGamePersona({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/persona/src/getPersonasByPersonaId.d.ts b/packages/persona/src/getPersonasByPersonaId.d.ts deleted file mode 100644 index 7b6f8d905..000000000 --- a/packages/persona/src/getPersonasByPersonaId.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { PersonaRecord } from "../../interfaces/index.js"; -/** - * - * @param {number} id - * @return {Promise} - */ -export declare function getPersonasByPersonaId({ - personas, - id, -}: { - personas?: PersonaRecord[]; - id: number; -}): Promise; diff --git a/packages/persona/src/handlers/validatePersonaName.d.ts b/packages/persona/src/handlers/validatePersonaName.d.ts deleted file mode 100644 index 754e377bf..000000000 --- a/packages/persona/src/handlers/validatePersonaName.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; -/** - * Check if a new persona name is valid - */ -export declare function validatePersonaName({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/persona/src/internal.d.ts b/packages/persona/src/internal.d.ts deleted file mode 100644 index 95a2e7f57..000000000 --- a/packages/persona/src/internal.d.ts +++ /dev/null @@ -1,64 +0,0 @@ -/// -import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: LegacyMessage, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export declare const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[]; -/** - * Return string as buffer - */ -export declare function generateNameBuffer(name: string, size: number): Buffer; -/** - * All personas - * NOTE: Currently we only support one persona per customer - * @type {import("../../interfaces/index.js").PersonaRecord[]} - */ -export declare const personaRecords: import("../../interfaces/index.js").PersonaRecord[]; -/** - * - * - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - * @throws {Error} Unknown code was received - */ -export declare function receivePersonaData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; diff --git a/packages/persona/test/getPersonasByPersonaId.test.d.ts b/packages/persona/test/getPersonasByPersonaId.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/persona/test/getPersonasByPersonaId.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shard/package.json b/packages/shard/package.json index 8da03d50c..19d183d0c 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -9,5 +9,5 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0" } diff --git a/packages/shard/src/index.d.ts b/packages/shard/src/index.d.ts deleted file mode 100644 index dedbc5660..000000000 --- a/packages/shard/src/index.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Configuration } from "../../shared"; -/** - * Read the TLS certificate file - * @param {TConfiguration} config - * @return {string} - */ -export declare function handleGetCert(config: Configuration): string; -/** - * Generate Windows registry configuration file for clients - * @param {TConfiguration} config - * @return {string} - */ -export declare function handleGetRegistry(config: Configuration): string; -/** - * Read TLS public key file to string - * @param {TConfiguration} config - * @return {string} - */ -export declare function handleGetKey(config: Configuration): string; diff --git a/packages/shard/test/shard-entry.test.d.ts b/packages/shard/test/shard-entry.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/shard/test/shard-entry.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shared-packets/index.d.ts b/packages/shared-packets/index.d.ts deleted file mode 100644 index e2d19c773..000000000 --- a/packages/shared-packets/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from "./src/interfaces.js"; -export { GameMessage } from "./src/GameMessage.js"; diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts index e2d19c773..e63444c7f 100644 --- a/packages/shared-packets/index.ts +++ b/packages/shared-packets/index.ts @@ -1,2 +1,12 @@ export * from "./src/interfaces.js"; export { GameMessage } from "./src/GameMessage.js"; +export { + ServerMessage, + ServerMessageHeader, + ServerGenericRequest, + ServerGenericResponse, + ServerMessagePayload, +} from "./src/ServerMessage.js"; +export { Serializable } from "./src/BasePacket.js"; + +// Path: packages/shared-packets/index.ts diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index ae2eb7ad3..f95e34284 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -16,5 +16,5 @@ }, "keywords": [], "author": "", - "license": "ISC" + "license": "AGPL-3.0" } diff --git a/packages/shared-packets/src/BasePacket.d.ts b/packages/shared-packets/src/BasePacket.d.ts deleted file mode 100644 index 243900334..000000000 --- a/packages/shared-packets/src/BasePacket.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -/// -import type { ISerializable } from "./interfaces.js"; -export declare class Serializable implements ISerializable { - protected _data: Buffer; - protected _asHex(bytes: Buffer): string; - protected _assertEnoughData(data: Buffer, expected: number): void; - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - asHexString(): string; -} -export declare class BasePacket extends Serializable implements ISerializable { - private header; - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - asHexString(): string; -} diff --git a/packages/shared-packets/src/BasePacket.ts b/packages/shared-packets/src/BasePacket.ts index 4edefd8f2..fb33cdc62 100644 --- a/packages/shared-packets/src/BasePacket.ts +++ b/packages/shared-packets/src/BasePacket.ts @@ -1,7 +1,8 @@ import type { ISerializable } from "./interfaces.js"; +import { getAsHex } from "./utils.js"; export class Serializable implements ISerializable { - protected _data: Buffer = Buffer.alloc(0); + protected _data: Buffer = Buffer.alloc(4); protected _asHex(bytes: Buffer): string { return bytes.length % 2 === 0 @@ -26,8 +27,8 @@ export class Serializable implements ISerializable { getByteSize(): number { return this._data.length; } - asHexString(): string { - return this._asHex(this._data); + toHexString(): string { + return getAsHex(this.serialize()); } } @@ -44,7 +45,4 @@ export class BasePacket extends Serializable implements ISerializable { override getByteSize(): number { return this.header.getByteSize() + this._data.length; } - override asHexString(): string { - return this.serialize().toString("hex"); - } } diff --git a/packages/shared-packets/src/GameMessage.d.ts b/packages/shared-packets/src/GameMessage.d.ts deleted file mode 100644 index afb4adb91..000000000 --- a/packages/shared-packets/src/GameMessage.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -/// -import { Serializable } from "./BasePacket.js"; -import type { ISerializable, IMessage } from "./interfaces.js"; -/** - * - */ -export declare class GameMessageHeader - extends Serializable - implements ISerializable -{ - private id; - private length; - private version; - constructor(version: 0 | 1); - getDataOffset(): number; - getByteSize(): number; - getVersion(): number; - getId(): number; - getLength(): number; - setVersion(version: 0 | 1): void; - setId(id: number): void; - setLength(length: number): void; - private serializeV0; - private serializeV1; - serialize(): Buffer; - private deserializeV0; - private deserializeV1; - deserialize(data: Buffer): GameMessageHeader; -} -export declare class GameMessage extends Serializable implements IMessage { - header: GameMessageHeader; - data: ISerializable; - constructor(version: 0 | 1); - getDataBuffer(): Buffer; - setDataBuffer(data: Buffer): void; - /** The message length is the length of the message data, not including the id */ - getByteSize(): number; - getData(): ISerializable; - setData(data: ISerializable): void; - serialize(): Buffer; - deserialize(data: Buffer): GameMessage; - toString(): string; - static identifyVersion(data: Buffer): 0 | 257; -} diff --git a/packages/shared-packets/src/GameMessage.ts b/packages/shared-packets/src/GameMessage.ts index 2e55e0aca..e2aa9c913 100644 --- a/packages/shared-packets/src/GameMessage.ts +++ b/packages/shared-packets/src/GameMessage.ts @@ -37,7 +37,7 @@ export class GameMessageHeader extends Serializable implements ISerializable { } setVersion(version: 0 | 1): void { if (version !== 0 && version !== 1) { - throw new Error(`Invalid version: ${version}`); + throw new Error(`Invalid version: ${version as number}`); } this.version = version === 0 ? 0 : 257; } @@ -151,7 +151,7 @@ export class GameMessage extends Serializable implements IMessage { } override toString(): string { - return `Id: ${this.header.getId()}, Length: ${this.header.getLength()}, Data: ${this.data.asHexString()}`; + return `Id: ${this.header.getId()}, Length: ${this.header.getLength()}, Data: ${this.data.toHexString()}`; } static identifyVersion(data: Buffer): 0 | 257 { diff --git a/packages/shared-packets/src/ServerMessage.d.ts b/packages/shared-packets/src/ServerMessage.d.ts deleted file mode 100644 index eedd58a04..000000000 --- a/packages/shared-packets/src/ServerMessage.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -/// -import { Serializable } from "./BasePacket.js"; -import type { ISerializable, IMessage } from "./interfaces.js"; -/** - * - */ -export declare class ServerMessageHeader - extends Serializable - implements ISerializable -{ - private length; - private signature; - private sequence; - private flags; - getDataOffset(): number; - getByteSize(): number; - getLength(): number; - serialize(): Buffer; - deserialize(data: Buffer): ServerMessageHeader; - isValidSignature(): boolean; - isPayloadEncrypted(): boolean; - togglePayloadEncryption(): ServerMessageHeader; -} -export declare class ServerMessagePayload - extends Serializable - implements ISerializable -{ - private messageId; - getByteSize(): number; - serialize(): Buffer; - deserialize(data: Buffer): ServerMessagePayload; - getMessageId(): number; - setMessageId(messageId: number): ServerMessagePayload; -} -export declare class ServerMessage extends Serializable implements IMessage { - header: ServerMessageHeader; - data: ServerMessagePayload; - constructor(messageId: number); - getDataBuffer(): Buffer; - setDataBuffer(data: Buffer): ServerMessage; - /** The message length is the length of the message data, not including the id */ - getByteSize(): number; - getData(): ISerializable; - setData(data: ServerMessagePayload): ServerMessage; - serialize(): Buffer; - deserialize(data: Buffer): ServerMessage; -} diff --git a/packages/shared-packets/src/ServerMessage.ts b/packages/shared-packets/src/ServerMessage.ts index 4f93377f5..2468fad9c 100644 --- a/packages/shared-packets/src/ServerMessage.ts +++ b/packages/shared-packets/src/ServerMessage.ts @@ -1,5 +1,8 @@ import { Serializable } from "./BasePacket.js"; import type { ISerializable, IMessage } from "./interfaces.js"; +import { McosEncryptionPair, getServerLogger } from "../../shared"; + +const log = getServerLogger(); /** * @@ -52,8 +55,39 @@ export class ServerMessageHeader extends Serializable implements ISerializable { return this.flags >= 0x08; } - togglePayloadEncryption(): ServerMessageHeader { - this.flags ^= 0x08; + setPayloadEncryption(encrypted: boolean): ServerMessageHeader { + if (encrypted) { + this.flags |= 0x08; + } else { + this.flags &= ~0x08; + } + return this; + } + + toString(): string { + return `ServerMessageHeader {length: ${this.length}, signature: ${this.signature}, sequence: ${this.sequence}, flags: ${this.flags}}`; + } + + toHexString(): string { + return this.serialize().toString("hex"); + } + + getSequence(): number { + return this.sequence; + } + + setSequence(sequence: number): ServerMessageHeader { + this.sequence = sequence; + return this; + } + + setLength(length: number): ServerMessageHeader { + this.length = length; + return this; + } + + setSignature(signature: string): ServerMessageHeader { + this.signature = signature; return this; } } @@ -62,7 +96,7 @@ export class ServerMessagePayload extends Serializable implements ISerializable { - private messageId: number = 0; // 2 bytes + protected messageId: number = 0; // 2 bytes override getByteSize(): number { return 2 + this._data.length; @@ -95,9 +129,114 @@ export class ServerMessagePayload } } +export class ServerGenericRequest extends ServerMessagePayload { + private _data2: Buffer = Buffer.alloc(4); + + override getByteSize(): number { + return 2 + 4 + 4; + } + + override serialize(): Buffer { + try { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16LE(this.messageId, 0); + buffer.writeUInt32LE(this._data.readUInt32LE(0), 2); + buffer.writeUInt32LE(this._data2.readUInt32LE(0), 6); + + return buffer; + } catch (error) { + log.error( + `Error serializing ServerGenericRequest: ${error as string}`, + ); + throw error; + } + } + + override deserialize(data: Buffer): ServerGenericRequest { + try { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + this._data = data.subarray(2, 6); + this._data2 = data.subarray(6, 10); + + return this; + } catch (error) { + log.error( + `Error deserializing ServerGenericRequest: ${error as string}`, + ); + throw error; + } + } + + getData() { + return this._data; + } + + getData2() { + return this._data2; + } + + toString(): string { + return `ServerGenericRequest {messageId: ${this.messageId}, data: ${this._data.toString("hex")}, data2: ${this._data2.toString("hex")}}`; + } +} + +export class ServerGenericResponse extends ServerMessagePayload { + private _msgReply: number = 0; // 2 bytes + private _result: number = 0; // 4 + private _data2: Buffer = Buffer.alloc(4); + + override getByteSize(): number { + return 2 + 2 + 4 + 4 + 4; + } + + override serialize(): Buffer { + const buffer = Buffer.alloc(this.getByteSize()); + buffer.writeUInt16LE(this.messageId, 0); + buffer.writeUInt16LE(this._msgReply, 2); + buffer.writeUInt32LE(this._result, 4); + buffer.writeUInt32LE(this._data.readUInt32LE(0), 8); + buffer.writeUInt32LE(this._data2.readUInt32LE(0), 12); + + return buffer; + } + + override deserialize(data: Buffer): ServerGenericResponse { + this._assertEnoughData(data, this.getByteSize()); + + this.messageId = data.readUInt16LE(0); + this._msgReply = data.readUInt16LE(2); + this._result = data.readUInt32LE(4); + this._data = data.subarray(2, 6); + this._data = data.subarray(6, 10); + + return this; + } + + getMessageReply(): number { + return this._msgReply; + } + + getResult(): number { + return this._result; + } + + setMsgReply(msgReply: number): ServerGenericResponse { + this._msgReply = msgReply; + return this; + } + + toString(): string { + return `ServerGenericResponse {messageId: ${this.messageId}, msgReply: ${this._msgReply}, result: ${this._result}, data: ${this._data.toString("hex")}, data2: ${this._data2.toString("hex")}}`; + } +} + export class ServerMessage extends Serializable implements IMessage { header: ServerMessageHeader; data: ServerMessagePayload; + private _preDecryptedMessageId: number = -1; + private _preEncryptedMessageId: number = -1; constructor(messageId: number) { super(); @@ -115,6 +254,15 @@ export class ServerMessage extends Serializable implements IMessage { override getByteSize(): number { return this.header.getByteSize() + this.data.getByteSize(); } + + populateHeader(seq?: number): ServerMessage { + this.header.setLength(this.header.getByteSize() + this.data.getByteSize() - 2); + this.header.setSignature("TOMC"); + this.header.setSequence(seq || 0); + + return this; + } + getData(): ISerializable { return this.data; } @@ -123,14 +271,33 @@ export class ServerMessage extends Serializable implements IMessage { return this; } override serialize(): Buffer { - const buffer = Buffer.alloc(this.getByteSize()); - const headerBuffer = this.header.serialize(); - const dataBuffer = this.getDataBuffer(); + try { - headerBuffer.copy(buffer); - dataBuffer.copy(buffer, this.header.getDataOffset()); + if (this.header.getSequence() === 0) { + throw new Error("ServerMessage sequence is 0, it must be set to a non-zero value before serializing"); + } + + if (!this.header.isValidSignature()) { + throw new Error("ServerMessage signature is invalid, it must be set to 'TOMC' before serializing"); + } + + if (this.header.getByteSize() === 0) { + throw new Error("ServerMessage header byte size is 0, it must be set before serializing"); + } + + const buffer = Buffer.alloc(this.getByteSize()); + const headerBuffer = this.header.serialize(); + const dataBuffer = this.getDataBuffer(); + + headerBuffer.copy(buffer); + dataBuffer.copy(buffer, this.header.getDataOffset()); + + return buffer; + } catch (error) { + log.error(`Error serializing ServerMessage: ${error as string}`); + throw error; + } - return buffer; } override deserialize(data: Buffer): ServerMessage { this._assertEnoughData(data, this.header.getByteSize()); @@ -140,4 +307,66 @@ export class ServerMessage extends Serializable implements IMessage { return this; } + + isEncrypted() { + return this.header.isPayloadEncrypted(); + } + + decrypt(cipherPair: McosEncryptionPair): ServerMessage { + log.setName("ServerMessage::decrypt"); + if (this.isEncrypted()) { + try { + this._preDecryptedMessageId = this.data.getMessageId(); + log.debug(`Decrypting ServerMessage with message id ${this.data.getMessageId()}`); + this.setDataBuffer(cipherPair.decrypt(this.getDataBuffer())); + log.debug(`Decrypted ServerMessage with message id ${this._preDecryptedMessageId}, new message id: ${this.data.getMessageId()}`); + this.header.setPayloadEncryption(false); + } catch (error) { + log.error(`Error decrypting ServerMessage: ${error as string}`); + throw error; + } + } + log.resetName(); + return this; + } + + encrypt(cipherPair: McosEncryptionPair): ServerMessage { + log.setName("ServerMessage::encrypt"); + if (!this.isEncrypted()) { + try { + this._preEncryptedMessageId = this.data.getMessageId(); + log.debug(`Encrypting ServerMessage with message id ${this.data.getMessageId()}`); + this.setDataBuffer(cipherPair.encrypt(this.getDataBuffer())); + log.debug(`Encrypted ServerMessage with message id ${this._preEncryptedMessageId}, new message id: ${this.data.getMessageId()}`); + this.header.setPayloadEncryption(true); + } catch (error) { + log.error(`Error encrypting ServerMessage: ${error as string}`); + throw error; + } + } + log.resetName(); + return this; + } + + getId() { + return this.data.getMessageId(); + } + + getSequence() { + return this.header.getSequence(); + } + + toString(): string { + return `ServerMessage {length: ${this.header.getLength()}, id: ${this.data.getMessageId()}}`; + } + + getPreDecryptedMessageId() { + return this._preDecryptedMessageId; + } + + + getPreEncryptedMessageId() { + return this._preEncryptedMessageId; + } + } diff --git a/packages/shared-packets/src/interfaces.d.ts b/packages/shared-packets/src/interfaces.d.ts deleted file mode 100644 index 24f3846b1..000000000 --- a/packages/shared-packets/src/interfaces.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// -export interface ISerializable { - serialize(): Buffer; - deserialize(data: Buffer): void; - getByteSize(): number; - asHexString(): string; -} -export interface IMessage extends ISerializable { - header: ISerializable; - getData(): ISerializable; - getDataBuffer(): Buffer; - setData(data: ISerializable): void; - setDataBuffer(data: Buffer): void; -} diff --git a/packages/shared-packets/src/interfaces.ts b/packages/shared-packets/src/interfaces.ts index 6d760c67c..5d7086fe3 100644 --- a/packages/shared-packets/src/interfaces.ts +++ b/packages/shared-packets/src/interfaces.ts @@ -2,7 +2,8 @@ export interface ISerializable { serialize(): Buffer; deserialize(data: Buffer): void; getByteSize(): number; - asHexString(): string; + toString(): string; + toHexString(): string; } export interface IMessage extends ISerializable { diff --git a/packages/shared-packets/src/utils.ts b/packages/shared-packets/src/utils.ts new file mode 100644 index 000000000..4830236c5 --- /dev/null +++ b/packages/shared-packets/src/utils.ts @@ -0,0 +1,5 @@ +export function getAsHex(bytes: Buffer): string { + return bytes.length % 2 === 0 + ? bytes.toString("hex") + : bytes.toString("hex") + "0"; +} \ No newline at end of file diff --git a/packages/shared/Configuration.d.ts b/packages/shared/Configuration.d.ts deleted file mode 100644 index 4e771b431..000000000 --- a/packages/shared/Configuration.d.ts +++ /dev/null @@ -1,37 +0,0 @@ -/** - * @module shared/Configuration - * @exports Configuration - */ -type ConfigurationArgs = { - host: string; - certificateFile: string; - privateKeyFile: string; - publicKeyFile: string; -}; -export declare class Configuration { - certificateFile: string; - privateKeyFile: string; - publicKeyFile: string; - host: string; - static instance: Configuration | undefined; - /** - * - * @param {object} args - * @param {string} args.host - * @param {string} args.certificateFile - * @param {string} args.privateKeyFile - * @param {string} args.publicKeyFile - * @param {string} args.logLevel - * @param {ServerLogger} args.logger - */ - constructor(options: ConfigurationArgs); -} -/** - * Get a singleton instance of Configuration - * - * @returns {Configuration} - */ -export declare function getServerConfiguration( - options: Partial, -): Configuration; -export {}; diff --git a/packages/shared/MessageNode.d.ts b/packages/shared/MessageNode.d.ts deleted file mode 100644 index 771f5e8c9..000000000 --- a/packages/shared/MessageNode.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -/// -import { SerializedBuffer } from "./messageFactory.js"; -export declare class MessageNode { - header: { - length: number; - mcoSig: string; - }; - seq: number; - flags: number; - data: Buffer; - msgNo: number; - constructor(); - /** - * @static - * @param {module:shared/RawMessage} rawMessage - * @return {MessageNode} - */ - static fromRawMessage(rawMessage: SerializedBuffer): MessageNode; - get size(): number; - /** - * - * @param {Buffer} packet - */ - deserialize(packet: Buffer): void; - /** - * - * @return {Buffer} - */ - serialize(): Buffer; - toString(): string; -} diff --git a/packages/shared/ServerMessage.test.d.ts b/packages/shared/ServerMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/shared/ServerMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shared/ServerMessage.test.ts b/packages/shared/ServerMessage.test.ts deleted file mode 100644 index e7546ab66..000000000 --- a/packages/shared/ServerMessage.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { OldServerMessage } from "./messageFactory.js"; -import { describe, it, expect } from "vitest"; - -describe("ServerMessage", () => { - describe(".byteLength", () => { - it("should have the correct size", () => { - // Arrange - const testMessage = new OldServerMessage(); - // Assert - expect(testMessage.size()).toBe(11); - }); - }); - it("should serialize and deserialize correctly", () => { - // Arrange - const testMessage = new OldServerMessage(); - testMessage._header.mcoSig = "MCOX"; - testMessage._header.sequence = 1; - testMessage._header.flags = 3; - testMessage._msgNo = 613; - // Act - const buffer = testMessage.serialize(); - const result = new OldServerMessage(); - result._doDeserialize(buffer); - result._msgNo = testMessage._msgNo; - // Assert - expect(result._header.mcoSig).toEqual(testMessage._header.mcoSig); - expect(result._header.sequence).toEqual(testMessage._header.sequence); - expect(result._header.flags).toEqual(testMessage._header.flags); - expect(result._msgNo).toEqual(testMessage._msgNo); - }); -}); diff --git a/packages/shared/State.d.ts b/packages/shared/State.d.ts deleted file mode 100644 index 4213abe58..000000000 --- a/packages/shared/State.d.ts +++ /dev/null @@ -1,433 +0,0 @@ -/** - * @fileoverview State management for the gateway server. - * @module shared/state - * @exports GatewayServer/State - * - */ -/// -/// -/// -import { Cipher, Decipher } from "crypto"; -import { SerializedBuffer } from "./messageFactory.js"; -import { Socket } from "node:net"; -/** - * @external RawMessage - * @see {@link "packages/shared/messageFactory.js.RawMessage"} - */ -/** - * State management for the gateway server. - * - * This file contains the state management for the gateway server. It is - * responsible for keeping track of the state of the server, including - * connections, encryption, and sessions. - * - * @example - * ```ts - * import { createInitialState, addSocket, removeSocket } from "./state.js"; - * - * const state = createInitialState(); - * - * const wrappedSocket = wrapSocket(socket, connectionId); - * - * - * - */ -/** - * @external crypto - * @see {@link https://nodejs.org/api/crypto.html} - */ -/** - * A pair of encryption ciphers. - */ -export declare class McosEncryptionPair { - _cipher: Cipher; - _decipher: Decipher; - /** - * Create a new encryption pair. - * - * This function creates a new encryption pair. It is used to encrypt and - * decrypt data sent to and from the client. - * - * @param {module:crypto.Cipher} cipher The cipher to use for encryption. - * @param {module:crypto.Decipher} decipher The decipher to use for decryption. - */ - constructor(cipher: Cipher, decipher: Decipher); - /** - * @param {Buffer} data The data to encrypt. - * @returns {Buffer} The encrypted data. - */ - encrypt(data: Buffer): Buffer; - /** - * @param {Buffer} data The data to decrypt. - * @returns {Buffer} The decrypted data. - */ - decrypt(data: Buffer): Buffer; -} -/** - * The encryption settings for a session. - */ -export declare class McosEncryption { - connectionId: string; - _commandEncryptionPair: McosEncryptionPair; - _dataEncryptionPair: McosEncryptionPair; - /** - * Create a new encryption object. - * - * @param {object} args - * @param {string} args.connectionId The connection id of the session that - * this encryption is for. - * @param {McosEncryptionPair} args.commandEncryptionPair The encryption - * pair for - * command packets. - * @param {McosEncryptionPair} args.dataEncryptionPair The encryption pair - * for data packets. - */ - constructor({ - connectionId, - commandEncryptionPair, - dataEncryptionPair, - }: { - connectionId: string; - commandEncryptionPair: McosEncryptionPair; - dataEncryptionPair: McosEncryptionPair; - }); - get commandEncryption(): McosEncryptionPair; - get dataEncryption(): McosEncryptionPair; -} -/** - * A client session. - */ -export declare class McosSession { - connectionId: string; - gameId: number; - /** - * Create a new session. - * - * @param {object} args - * @param {string} args.connectionId A unique identifier for this session. - * @param {number} args.username The username of the user who owns this - * session. - */ - constructor({ - connectionId, - gameId, - }: { - connectionId: string; - gameId: number; - }); -} -/** - * @external net - * @see {@link https://nodejs.org/api/net.html} - */ -/** - * A wrapped socket. - * - * This is a socket that has been wrapped with a connection id. - * @interface - */ -interface WrappedSocket { - socket: Socket; - connectionId: string; -} -/** - * Wrap a socket with a connection id. - * - * @param {module:NetConnectOpts.Socket} socket The socket to wrap. - * @param {string} connectionId The connection id to wrap the socket with. - * @returns {WrappedSocket} The wrapped socket. - */ -export declare function wrapSocket( - socket: Socket, - connectionId: string, -): WrappedSocket; -/** - * @requires module:packages/shared/RawMessage - */ -export interface ServiceResponse { - connectionId: string; - messages: SerializedBuffer[]; -} -export type OnDataHandler = Function; -/** - * @param {OnDataHandlerArgs} args The arguments for the handler. - * @returns {ServiceResponse} The - * response - * to the - * data. - */ -/** - * @param {State} state The state to save. - * @returns {void} - */ -/** - * The state of the gateway server. - * - * This is the state of the gateway server. It is responsible for keeping track - * of the state of the server, including connections, encryption, and sessions. - * @global - * @interface - */ -export interface State { - filePaths: Record; - sockets: Record; - encryptions: Record; - sessions: Record; - queuedConnections: Record; - onDataHandlers: Record; - save: (state?: State) => void; -} -/** - * Create the initial state. - * - * This function creates the initial state for the gateway server. - * You should call save on the returned state to save it to the database. - * - * @param {object} args - * @param {StateSaveFunction} [args.saveFunction=saveStateToDatabase] The - * save - * function - * to use. - * Defaults - * to - * saveStateToDatabase. - * @returns The initial state. - */ -export declare function createInitialState({ - saveFunction, -}: { - saveFunction?: (state: State) => void; -}): State; -/** - * Add a data handler to the state. - * - * This function adds a data handler to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the data handler to. - * @param {number} port The port to add the data handler for. - * @param {OnDataHandler} handler The data - * handler to - * add. - * @returns {State} The state with the data handler added. - */ -export declare function addOnDataHandler( - state: State, - port: number, - handler: OnDataHandler, -): State; -/** - * Get a data handler for a port from the state. - * - * This function gets a data handler for a port from the state. - * - * @param {State} state The state to get the data handler from. - * @param {number} port The port to get the data handler for. - * @returns {OnDataHandler | undefined} The - * data - * handler - * for the - * given port, - * or undefined - * if no data - * handler exists - */ -export declare function getOnDataHandler( - state: State, - port: number, -): OnDataHandler | undefined; -/** - * Add a socket to the state. - * - * This function adds a socket to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the socket to. - * @param {WrappedSocket} socket The socket to add to the state. - * @returns {State} The state with the socket added. - */ -export declare function addSocket(state: State, socket: WrappedSocket): State; -/** - * Get a socket from the state. - * - * This function gets a socket from the state. - * - * @param {State} state The state to get the socket from. - * @param {string} connectionId The connection id of the socket to get. - * @returns {WrappedSocket | undefined} The socket with the given connection id, or undefined if no socket - */ -export declare function getSocket( - state: State, - connectionId: string, -): WrappedSocket | undefined; -/** - * Get all the sockets from the state. - * - * This function gets all the sockets from the state. - * - * @param {State} state The state to get the sockets from. - * @returns {Record} An array of all the sockets in the state. - */ -export declare function getSockets(state: State): Record; -/** - * Remove a socket from the state. - * - * This function removes a socket from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the socket from. - * @param {string} connectionId The connection id of the socket to remove. - * @returns {State} The state with the socket removed. - */ -export declare function removeSocket(state: State, connectionId: string): State; -/** - * Add a queued connection to the state. - * - * This function adds a queued connection to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the queued connection to. - * @param {WrappedSocket} socket The queued connection to add to the state. - * @returns {State} The state with the queued connection added. - */ -export declare function addQueuedConnection( - state: State, - socket: WrappedSocket, -): State; -/** - * Get queued connections from the state. - * - * This function gets all the queued connections from the state. - * - * @param {State} state The state to get the queued connections from. - * @returns {string[]} An array of all the queued connections in the state. - */ -export declare function getQueuedConnections(state: State): string[]; -/** - * Remove a queued connection from the state. - * - * This function removes a queued connection from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the queued connection from. - * @param {string} connectionId The connection id of the queued connection to remove. - * @returns {State} The state with the queued connection removed. - */ -export declare function removeQueuedConnection( - state: State, - connectionId: string, -): State; -/** - * Add an encryption to the state. - * - * This function adds an encryption to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the encryption to. - * @param {McosEncryption} encryption The encryption to add to the state. - * @returns {State} - The state with the encryption added. - */ -export declare function addEncryption( - state: State, - encryption: McosEncryption, -): State; -/** - * Get an encryption from the state. - * - * This function gets an encryption from the state. - * - * @param {State} state The state to get the encryption from. - * @param {string} connectionId The connection id of the encryption to get. - * @returns {McosEncryption | undefined} The encryption with the given connection id, or undefined if no encryption - */ -export declare function getEncryption( - state: State, - connectionId: string, -): McosEncryption | undefined; -/** - * Update an encryption in the state. - * - * This function updates an encryption in the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to update the encryption in. - * @param {McosEncryption} encryption The encryption to update in the state. - * @returns {State} The state with the encryption updated. - */ -export declare function updateEncryption( - state: State, - encryption: McosEncryption, -): State; -/** - * Remove an encryption from the state. - * - * This function removes an encryption from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param state {State} The state to remove the encryption from. - * @param {string} connectionId The connection id of the encryption to remove. - * @returns {State} The state with the encryption removed. - */ -export declare function removeEncryption( - state: State, - connectionId: string, -): State; -/** - * Add a session to the state. - * - * This function adds a session to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the session to. - * @param {McosSession} session The session to add to the state. - * @returns {State} The state with the session added. - */ -export declare function addSession(state: State, session: McosSession): State; -/** - * Remove a session from the state. - * - * This function removes a session from the state. It also removes the socket - * and encryption for the session. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the session from. - * @param {string} connectionId The connection id of the session to remove. - * @returns {State} The state with the session removed. - */ -export declare function removeSession( - state: State, - connectionId: string, -): State; -export declare function findSessionByConnectionId( - state: State, - connectionId: string, -): McosSession | undefined; -/** - * Fetch the state from the database. - * - * This function fetches the state from the database. - * - * @returns {State} The state from the database. - */ -export declare function fetchStateFromDatabase(): State; -export {}; diff --git a/packages/shared/SubThread.d.ts b/packages/shared/SubThread.d.ts deleted file mode 100644 index 32c879414..000000000 --- a/packages/shared/SubThread.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/** - * @module SubThread - */ -/// -import { EventEmitter } from "node:events"; -import type { TServerLogger } from "./types.js"; -export declare class SubThread extends EventEmitter { - name: any; - log: any; - loopInterval: number; - timer: any; - constructor(name: string, log: TServerLogger, loopInterval?: number); - init(): void; - run(): void; - shutdown(): void; -} diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index 711120900..aedbe5a0b 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -6,10 +6,10 @@ import { EventEmitter } from "node:events"; import type { TServerLogger } from "./types.js"; export class SubThread extends EventEmitter { - name: any; - log: any; + name: string; + log: TServerLogger; loopInterval: number; - timer: any; + timer: ReturnType | null = null; constructor(name: string, log: TServerLogger, loopInterval = 100) { super(); diff --git a/packages/shared/Timestamp.d.ts b/packages/shared/Timestamp.d.ts deleted file mode 100644 index d5182a58c..000000000 --- a/packages/shared/Timestamp.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/// -import { SerializedBuffer } from "./messageFactory.js"; -export declare class Timestamp extends SerializedBuffer { - _year: number; - _month: number; - _day: number; - _hour: number; - _minute: number; - _second: number; - _fraction: number; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; - as64BitNumber(): number; - static now(): Timestamp; -} diff --git a/packages/shared/index.d.ts b/packages/shared/index.d.ts deleted file mode 100644 index 69f5dc93c..000000000 --- a/packages/shared/index.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -export { SubThread } from "./SubThread.js"; -export { NetworkMessage } from "./src/NetworkMessage.js"; -export { ServerLogger, getServerLogger } from "./log.js"; -export { Configuration, getServerConfiguration } from "./Configuration.js"; -export { - McosEncryptionPair, - createInitialState, - addOnDataHandler, - fetchStateFromDatabase, - getOnDataHandler, - addSocket, - removeSocket, - wrapSocket, - McosEncryption, - addEncryption, - getEncryption, - McosSession, - updateEncryption, - findSessionByConnectionId, - addSession, -} from "./State.js"; -export type { OnDataHandler, ServiceResponse, State } from "./State.js"; -export { - SerializedBuffer, - LegacyMessage, - MessageBuffer, - GameMessage, - serializeString, - NPSMessage, - deserializeString, - serializeStringRaw, - NPSHeader, - OldServerMessage, -} from "./messageFactory.js"; -export { RawMessage } from "./src/RawMessage.js"; -export { ServerMessage } from "./src/ServerMessage.js"; -export { MessageNode } from "./MessageNode.js"; -export type { TServerLogger, ServerMessageType } from "./types.js"; -export { Timestamp } from "./Timestamp.js"; diff --git a/packages/shared/index.ts b/packages/shared/index.ts index 69f5dc93c..1cf9101ec 100644 --- a/packages/shared/index.ts +++ b/packages/shared/index.ts @@ -1,6 +1,6 @@ export { SubThread } from "./SubThread.js"; export { NetworkMessage } from "./src/NetworkMessage.js"; -export { ServerLogger, getServerLogger } from "./log.js"; +export { ServerLogger, getServerLogger } from "./src/log.js"; export { Configuration, getServerConfiguration } from "./Configuration.js"; export { McosEncryptionPair, @@ -30,10 +30,26 @@ export { deserializeString, serializeStringRaw, NPSHeader, - OldServerMessage, } from "./messageFactory.js"; export { RawMessage } from "./src/RawMessage.js"; export { ServerMessage } from "./src/ServerMessage.js"; export { MessageNode } from "./MessageNode.js"; -export type { TServerLogger, ServerMessageType } from "./types.js"; +export type * from "./src/types.js"; export { Timestamp } from "./Timestamp.js"; + +export interface KeypressEvent { + sequence: string; + name: string; + ctrl: boolean; + meta: boolean; + shift: boolean; +} + +export interface ConnectionRecord { + customerId: number; + connectionId: string; + sessionKey: string; + sKey: string; + contextId: string; +} + diff --git a/packages/shared/log.d.ts b/packages/shared/log.d.ts deleted file mode 100644 index f9a4d8874..000000000 --- a/packages/shared/log.d.ts +++ /dev/null @@ -1,61 +0,0 @@ -import * as P from "pino"; -export type ServerLoggerLevels = - | "fatal" - | "error" - | "warn" - | "info" - | "debug" - | "trace" - | "silent"; -type ServerLoggerOptions = { - level: ServerLoggerLevels; - name?: string; -}; -/** - * @static - * @property {ServerLogger} instance - */ -export declare class ServerLogger { - logger: P.Logger; - static instance: ServerLogger; - /** - * Creates an instance of ServerLogger. - * @param {ServerLoggerOptions} options - */ - constructor(options?: ServerLoggerOptions); - /** - * @param {string} message - */ - fatal(message: string): void; - /** - * @param {string} message - */ - error(message: string): void; - /** - * @param {string} message - */ - warn(message: string): void; - /** - * @param {string} message - */ - info(message: string): void; - /** - * @param {string} message - */ - debug(message: string): void; - /** - * @param {string} message - */ - trace(message: string): void; -} -/** - * Get a logger instance - * - * @param {ServerLoggerOptions} options - * @return {ServerLogger} - */ -export declare function getServerLogger( - options?: ServerLoggerOptions, -): ServerLogger; -export declare const log: ServerLogger; -export {}; diff --git a/packages/shared/messageFactory.d.ts b/packages/shared/messageFactory.d.ts deleted file mode 100644 index fb1f31e6e..000000000 --- a/packages/shared/messageFactory.d.ts +++ /dev/null @@ -1,352 +0,0 @@ -/** - * @module shared/messageFactory - * @description Holds the base classes for the various message types. - * The message types are: - * - LegacyMessage - * - NPSMessage - * - ServerMessage - * - RawMessage - */ -/// -/** - * @module shared/messageFactory - * @description Holds the base classes for the various message types. - * The message types are: - * - LegacyMessage - * - NPSMessage - * - ServerMessage - * - RawMessage - */ -import type { ServerMessageType } from "./types.js"; -/** - * @abstract - * @property {Buffer} data - * @property {number} Size - */ -declare class AbstractSerializable { - internalBuffer: Buffer; - constructor(); - _doSerialize(): void; - /** - * @param {Buffer} _buffer - * @returns {AbstractSerializable} - */ - _doDeserialize(_buffer: Buffer): AbstractSerializable; - get data(): Buffer; - /** - * @param {Buffer} buffer - */ - setBuffer(buffer: Buffer): void; - /** - * @returns {number} - */ - static get Size(): number; -} -/** - * @param {Buffer} buffer - * @returns {string} - */ -export declare function deserializeString(buffer: Buffer): string; -/** - * Serializes a string with length prefix - * @param {string} string - * @param {Buffer} targetBuffer - * @param {number} offset - * @returns {number} - */ -export declare function serializeString( - string: string, - targetBuffer: Buffer, - offset: number, -): number; -/** - * Serializes a raw string without length prefix - * @param {string} string - * @param {Buffer} targetBuffer - * @param {number} offset - * @param {number} length - * @returns {number} - */ -export declare function serializeStringRaw( - string: string, - targetBuffer: Buffer, - offset: number, - length: number, -): number; -declare const legacyHeader_base: typeof AbstractSerializable; -/** - * A legacy header is a 4 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - * - */ -declare class legacyHeader extends legacyHeader_base { - _size: number; - id: number; - length: any; - constructor(); - /** - * @param {Buffer} buffer - */ - _doDeserialize(buffer: Buffer): this; - _doSerialize(): Buffer; - toString(): string; - static get Size(): number; -} -/** - * A game message header is a 8 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - 2 bytes - gameMessageId - * - 2 bytes - gameMessageLength - */ -export declare class GameMessageHeader extends legacyHeader { - _gameMessageId: number; - _gameMessageLength: number; - constructor(gameMessageId: number); - size(): number; - deserialize(buffer: Buffer): this; - serialize(): Buffer; -} -declare const NPSHeader_base: typeof AbstractSerializable; -/** - * A nps header is a 12 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - 2 bytes - version - * - 2 bytes - reserved - * - 4 bytes - checksum - * - * @mixin {SerializableMixin} - */ -export declare class NPSHeader extends NPSHeader_base { - _size: number; - id: number; - length: number; - version: number; - reserved: number; - checksum: number; - constructor(); - /** - * @param {Buffer} buffer - * @returns {NPSHeader} - * @throws {Error} If the buffer is too short - * @throws {Error} If the buffer is malformed - */ - _doDeserialize(buffer: Buffer): NPSHeader; - _doSerialize(): Buffer; - static size(): number; - static get Size(): number; - toString(): string; -} -declare const serverHeader_base: typeof AbstractSerializable; -/** - * A server header is an 11 byte header with the following fields: - * - 2 bytes - length - * - 4 bytes - mcoSig - * - 4 bytes - sequence - * - 1 byte - flags - */ -export declare class serverHeader extends serverHeader_base { - _size: number; - length: any; - mcoSig: string; - sequence: number; - flags: number; - constructor(); - size(): number; - /** - * @param {Buffer} buffer - * @returns {serverHeader} - * @throws {Error} If the buffer is too short - * @throws {Error} If the buffer is malformed - */ - _doDeserialize(buffer: Buffer): serverHeader; - _doSerialize(): Buffer; - toString(): string; -} -declare const LegacyMessage_base: typeof AbstractSerializable; -/** - * A legacy message is an older nps message type. It has a 4 byte header. @see {@link legacyHeader} - * - * @mixin {SerializableMixin} - */ -export declare class LegacyMessage extends LegacyMessage_base { - _header: legacyHeader; - constructor(); - /** - * @param {Buffer} buffer - * @returns {LegacyMessage} - */ - _doDeserialize(buffer: Buffer): LegacyMessage; - deserialize(buffer: Buffer): LegacyMessage; - _doSerialize(): Buffer; - serialize(): Buffer; - /** - * @param {Buffer} buffer - */ - setBuffer(buffer: Buffer): void; - asJSON(): { - header: legacyHeader; - data: string; - }; - toString(): string; -} -declare const NPSMessage_base: typeof AbstractSerializable; -/** - * A NPS message is a message that matches version 1.1 of the nps protocol. It has a 12 byte header. @see {@link NPSHeader} - * - * @mixin {SerializableMixin} - */ -export declare class NPSMessage extends NPSMessage_base { - _header: NPSHeader; - constructor(); - /** - * @param {Buffer} buffer - * @returns {NPSMessage} - */ - _doDeserialize(buffer: Buffer): NPSMessage; - serialize(): Buffer; - size(): number; - toString(): string; -} -declare const SerializedBuffer_base: typeof AbstractSerializable; -/** - * A raw message is a message that is not parsed into a specific type. - * It has no header, and is just a serialized buffer. - * - * @mixin {SerializableMixin} - */ -export declare class SerializedBuffer extends SerializedBuffer_base { - constructor(); - /** - * @param {Buffer} buffer - * @returns {SerializedBuffer} - */ - _doDeserialize(buffer: Buffer): SerializedBuffer; - serialize(): Buffer; - toString(): string; - size(): number; -} -export declare class GameMessage extends SerializedBuffer { - _header: GameMessageHeader; - _recordData: Buffer; - constructor(gameMessageId: number); - setRecordData(buffer: Buffer): void; - /** @deprecated - Use setRecordData instead */ - setBuffer(buffer: Buffer): void; - /** @deprecated - Use deserialize instead */ - _doDeserialize(buffer: Buffer): SerializedBuffer; - deserialize(buffer: Buffer): this; - /** @deprecated - Use serialize instead */ - _doSerialize(): void; - serialize(): Buffer; - toString(): string; -} -/** - * A list message is a message that contains a list of items of a specific type. - * - * @mixin {SerializableMixin} - */ -export declare class ListMessage extends SerializedBuffer { - _msgNo: number; - _listCount: number; - _shouldExpectMoreMessages: boolean; - _list: SerializedBuffer[]; - constructor(); - /** - * @param {SerializedBuffer} item - */ - add(item: SerializedBuffer): void; - serialize(): Buffer; - size(): number; - getFirstItemSize(): number; - toString(): string; -} -export declare class MessageHeader extends SerializedBuffer { - _size: number; - _messageId: number; - _messageLength: number; - constructor(); - get messageId(): number; - get messageLength(): number; - serializeSizeOf(): number; - size(): number; - get id(): number; - get length(): number; - /** - * @param {Buffer} buffer - * @returns {MessageHeader} - */ - deserialize(buffer: Buffer): MessageHeader; - serialize(): Buffer; - /** - * @param {Buffer} buffer - * @returns {MessageHeader} - */ - _doDeserialize(buffer: Buffer): MessageHeader; - _doSerialize(): Buffer; - toString(): string; -} -export declare class MessageBuffer extends SerializedBuffer { - _header: MessageHeader; - _buffer: Buffer; - constructor(); - /** - * @param {number} id - The ID of the message - * @param {Buffer} buffer - The buffer to deserialize - * @returns {MessageBuffer} - */ - static createGameMessage(id: number, buffer: Buffer): MessageBuffer; - get messageId(): number; - get messageLength(): number; - get data(): Buffer; - set data(buffer: Buffer); - /** - * @param {Buffer} buffer - */ - set buffer(buffer: Buffer); - /** @param {Buffer} buffer */ - setBuffer(buffer: Buffer): Buffer; - get buffer(): Buffer; - serializeSizeOf(): number; - /** - * @param {Buffer} buffer - * @returns {MessageBuffer} - */ - deserialize(buffer: Buffer): MessageBuffer; - serialize(): Buffer; - toString(): string; - asJSON(): { - header: MessageHeader; - buffer: string; - }; -} -/** - * A server message is a message that is passed between the server and the client. It has an 11 byte header. @see {@link serverHeader} - * - * @mixin {SerializableMixin} - */ -export declare class OldServerMessage - extends SerializedBuffer - implements ServerMessageType -{ - _header: serverHeader; - _msgNo: number; - constructor(); - size(): number; - /** - * @param {Buffer} buffer - * @returns {OldServerMessage} - */ - _doDeserialize(buffer: Buffer): OldServerMessage; - serialize(): Buffer; - /** - * @param {Buffer} buffer - */ - setBuffer(buffer: Buffer): void; - updateMsgNo(): void; - toString(): string; -} -export {}; diff --git a/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts index 22fb4ab13..225f7d7a9 100644 --- a/packages/shared/messageFactory.ts +++ b/packages/shared/messageFactory.ts @@ -164,7 +164,7 @@ export function serializeStringRaw( class legacyHeader extends SerializableMixin(AbstractSerializable) { _size: number; id: number; - length: any; + length: number; constructor() { super(); this._size = 4; @@ -348,7 +348,7 @@ export class NPSHeader extends SerializableMixin(AbstractSerializable) { */ export class serverHeader extends SerializableMixin(AbstractSerializable) { _size: number; - length: any; + length: number; mcoSig: string; sequence: number; flags: number; @@ -669,7 +669,7 @@ export class ListMessage extends SerializedBuffer { } override toString() { - return `ListMessage: msgNo=${this._msgNo} listCount=${this._listCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} list=${this._list}`; + return `ListMessage: msgNo=${this._msgNo} listCount=${this._listCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} list=${this._list.toString()}`; } } @@ -853,63 +853,4 @@ export class MessageBuffer extends SerializedBuffer { } } -/** - * A server message is a message that is passed between the server and the client. It has an 11 byte header. @see {@link serverHeader} - * - * @mixin {SerializableMixin} - */ -export class OldServerMessage - extends SerializedBuffer - implements ServerMessageType -{ - _header: serverHeader; - _msgNo: number; - constructor() { - super(); - this._header = new serverHeader(); - this._msgNo = 0; // 2 bytes - } - - override size(): number { - return this._header.length + this.data.length; - } - - /** - * @param {Buffer} buffer - * @returns {OldServerMessage} - */ - override _doDeserialize(buffer: Buffer): OldServerMessage { - this._header._doDeserialize(buffer); - this.setBuffer(buffer.subarray(this._header._size)); - if (this.data.length > 2) { - this._msgNo = this.data.readInt16LE(0); - } - return this; - } - override serialize() { - const buffer = Buffer.alloc(this._header.length + 2); - this._header._doSerialize().copy(buffer); - this.data.copy(buffer, this._header._size); - return buffer; - } - - /** - * @param {Buffer} buffer - */ - override setBuffer(buffer: Buffer) { - super.setBuffer(buffer); - this._header.length = buffer.length + this._header._size - 2; - } - - updateMsgNo() { - this._msgNo = this.data.readInt16LE(0); - } - - override toString() { - return `ServerMessage: ${JSON.stringify({ - header: this._header.toString(), - data: this.data.toString("hex"), - })}`; - } -} diff --git a/packages/shared/package.json b/packages/shared/package.json index 49c5a1a0c..9b9e8c826 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -6,6 +6,10 @@ ".": { "import": "./index.js", "require": "./index.js" + }, + "./test": { + "import": "./test/index.js", + "require": "./test/index.js" } }, "type": "module", @@ -14,7 +18,7 @@ }, "keywords": [], "author": "", - "license": "ISC", + "license": "AGPL-3.0", "dependencies": { "pino": "^8.18.0", "pino-pretty": "^11.0.0" diff --git a/packages/shared/src/BaseSerialized.d.ts b/packages/shared/src/BaseSerialized.d.ts deleted file mode 100644 index a34ce7dfe..000000000 --- a/packages/shared/src/BaseSerialized.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -export interface Serializable { - data: Buffer; - serialize(): Buffer; - deserialize(buffer: Buffer): Serializable; - length: number; - toString(): string; - asHex(): string; -} -/** - * Base class for all serialized objects - * Just a wrapper around a buffer - */ -export declare class BaseSerialized implements Serializable { - protected _data: Buffer; - constructor(data?: Buffer); - get data(): Buffer; - set data(data: Buffer); - serialize(): Buffer; - deserialize(buffer: Buffer): Serializable; - get length(): number; - toString(): string; - asHex(): string; -} diff --git a/packages/shared/src/NetworkMessage.d.ts b/packages/shared/src/NetworkMessage.d.ts deleted file mode 100644 index c027d29f1..000000000 --- a/packages/shared/src/NetworkMessage.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -/// -import { SerializedBuffer } from "./SerializedBuffer.js"; -/** - * A serialized buffer, with the following fields: - * - 2-byte message id - * - 2-byte total length - * - 2-byte version - * - 2-byte reserved - * - 4-byte checksum (which is the size) - * - data - */ -export declare class NetworkMessage extends SerializedBuffer { - private _messageId; - version: number; - reserved: number; - private _checksum; - constructor(messageId: number, data?: Buffer); - serialize(): Buffer; - deserialize(buffer: Buffer): this; - set data(data: Buffer); - get messageId(): number; - get length(): number; - asHex(): string; -} diff --git a/packages/shared/src/RawMessage.d.ts b/packages/shared/src/RawMessage.d.ts deleted file mode 100644 index 081b4f67d..000000000 --- a/packages/shared/src/RawMessage.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -/// -import { SerializedBuffer } from "./SerializedBuffer.js"; -/** - * A serialized buffer, prefixed with a 2-byte message id and a 2-byte total length. - */ -export declare class RawMessage extends SerializedBuffer { - private _messageId; - constructor(messageId: number, data?: Buffer); - serialize(): Buffer; - deserialize(buffer: Buffer): this; - get messageId(): number; - get length(): number; - asHex(): string; -} diff --git a/packages/shared/src/SerializedBuffer.d.ts b/packages/shared/src/SerializedBuffer.d.ts deleted file mode 100644 index b4db92227..000000000 --- a/packages/shared/src/SerializedBuffer.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -/// -import { BaseSerialized } from "./BaseSerialized.js"; -/** - * A serialized buffer, prefixed with its 2-byte length. - */ -export declare class SerializedBuffer extends BaseSerialized { - constructor(data?: Buffer); - serialize(): Buffer; - deserialize(buffer: Buffer): this; -} diff --git a/packages/shared/src/SerializedBuffer.ts b/packages/shared/src/SerializedBuffer.ts index 17c4cbb71..d59845dfa 100644 --- a/packages/shared/src/SerializedBuffer.ts +++ b/packages/shared/src/SerializedBuffer.ts @@ -14,7 +14,7 @@ export class SerializedBuffer extends BaseSerialized { this._data.copy(buffer, 2); return buffer; } catch (error) { - throw new Error(`Unable to serialize buffer: ${error}`); + throw new Error(`Unable to serialize buffer: ${(error as Error).message}`); } } override deserialize(buffer: Buffer) { @@ -30,7 +30,7 @@ export class SerializedBuffer extends BaseSerialized { this._data = buffer.subarray(2, 2 + length); return this; } catch (error) { - throw Error(`Unable to deserialize buffer: ${error}`); + throw Error(`Unable to deserialize buffer: ${(error as Error).message}`); } } } diff --git a/packages/shared/src/ServerMessage.d.ts b/packages/shared/src/ServerMessage.d.ts deleted file mode 100644 index 5cea2aaab..000000000 --- a/packages/shared/src/ServerMessage.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -/// -import { SerializedBuffer } from "./SerializedBuffer.js"; -declare class HeaderShim { - private _realObject; - constructor(realObject: ServerMessage); - get flags(): number; - set flags(value: number); -} -/** - * A serialized buffer, with the following fields: - * - 2-byte total length - * - 4-byte signature (TOMC) - * - 4-byte sequence number - * - 1-byte flags - * - data - */ -export declare class ServerMessage extends SerializedBuffer { - private _signature; - private _sequence; - private _flags; - _header: HeaderShim; - constructor(sequence?: number, flags?: number, data?: Buffer); - serialize(): Buffer; - deserialize(buffer: Buffer): this; - get data(): Buffer; - set data(data: Buffer); - setBuffer(buffer: Buffer): void; - get length(): number; - asHex(): string; - get flags(): number; - set flags(value: number); -} -export {}; diff --git a/packages/shared/src/encryption.ts b/packages/shared/src/encryption.ts new file mode 100644 index 000000000..54adc1eb3 --- /dev/null +++ b/packages/shared/src/encryption.ts @@ -0,0 +1,84 @@ +// mcos is a game server, written from scratch, for an old game +// Copyright (C) <2017> +// +// This program is free software: you can redistribute it and/or modify +// it under the terms of the GNU Affero General Public License as published +// by the Free Software Foundation, either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will be useful, +// but WITHOUT ANY WARRANTY; without even the implied warranty of +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +// GNU Affero General Public License for more details. +// +// You should have received a copy of the GNU Affero General Public License +// along with this program. If not, see . + +import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; +import { McosEncryptionPair } from ".."; + +/** + * This function creates a new encryption pair for use with the game server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + */ +export function createCommandEncryptionPair(key: string): McosEncryptionPair { + if (key.length < 16) { + throw Error(`Key too short: ${key}`); + } + + const sKey = key.slice(0, 16); + + // Deepcode ignore HardcodedSecret: This uses an empty IV + const desIV = Buffer.alloc(8); + + const gsCipher = createCipheriv("des-cbc", Buffer.from(sKey, "hex"), desIV); + gsCipher.setAutoPadding(false); + + const gsDecipher = createDecipheriv( + "des-cbc", + Buffer.from(sKey, "hex"), + desIV, + ); + gsDecipher.setAutoPadding(false); + + return new McosEncryptionPair(gsCipher, gsDecipher); +} + +/** + * This function creates a new encryption pair for use with the database server + * + * @param {string} key The key to use for encryption + * @returns {McosEncryptionPair} The encryption pair + * @throws Error if the key is too short + */ +export function createDataEncryptionPair(key: string): McosEncryptionPair { + if (key.length < 16) { + throw Error(`Key too short: ${key}`); + } + + const stringKey = Buffer.from(key, "hex"); + + // File deepcode ignore InsecureCipher: RC4 is the encryption algorithum used here, file deepcode ignore HardcodedSecret: A blank IV is used here + const tsCipher = createCipheriv("rc4", stringKey.subarray(0, 16), ""); + const tsDecipher = createDecipheriv("rc4", stringKey.subarray(0, 16), ""); + + return new McosEncryptionPair(tsCipher, tsDecipher); +} + +/** + * This function checks if the server supports the legacy ciphers + * + * @returns void + * @throws Error if the server does not support the legacy ciphers + */ +export function verifyLegacyCipherSupport() { + const cipherList = getCiphers(); + if (!cipherList.includes("des-cbc")) { + throw Error("DES-CBC cipher not available"); + } + if (!cipherList.includes("rc4")) { + throw Error("RC4 cipher not available"); + } +} diff --git a/packages/shared/log.ts b/packages/shared/src/log.ts similarity index 87% rename from packages/shared/log.ts rename to packages/shared/src/log.ts index cc685ffe9..db575e81a 100644 --- a/packages/shared/log.ts +++ b/packages/shared/src/log.ts @@ -21,18 +21,20 @@ type ServerLoggerOptions = { * @static * @property {ServerLogger} instance */ -export class ServerLogger { +export class ServerLogger implements TServerLogger { logger: P.Logger; static instance: ServerLogger; + private name: string; + private oldName: string = ""; /** * Creates an instance of ServerLogger. * @param {ServerLoggerOptions} options */ constructor(options?: ServerLoggerOptions) { - const name = options?.name || "server"; + this.name = options?.name || "server"; const level = DEFAULT_LOG_LEVEL; this.logger = P.pino({ - name, + name: this.name, level, transport: { targets: [ @@ -101,8 +103,17 @@ export class ServerLogger { } setName(name: string) { + this.oldName = this.name; this.logger = this.logger.child({ name }); } + + getName() { + return this.name; + } + + resetName() { + this.logger = this.logger.child({ name: this.oldName }); + } } /** diff --git a/packages/shared/types.ts b/packages/shared/src/types.ts similarity index 73% rename from packages/shared/types.ts rename to packages/shared/src/types.ts index ed28806a3..6f2236c94 100644 --- a/packages/shared/types.ts +++ b/packages/shared/src/types.ts @@ -1,4 +1,4 @@ -import { serverHeader } from "./messageFactory.js"; +import { serverHeader } from "../messageFactory.js"; export interface ServerMessageType { _header: serverHeader; @@ -20,4 +20,12 @@ export type TServerLogger = { debug: (message: string) => void; trace: (message: string) => void; setName: (name: string) => void; + getName: () => string; + resetName: () => void; }; + +export interface UserRecordMini { + contextId: string; + customerId: number; + userId: number; +} diff --git a/packages/shared/src/utils.ts b/packages/shared/src/utils.ts new file mode 100644 index 000000000..e0395cb64 --- /dev/null +++ b/packages/shared/src/utils.ts @@ -0,0 +1,8 @@ + +export function now32(): number { + return Math.floor(Date.now() / 1000); +} + +export function to64BitTime(time: number): number { + return time * 1000; +} diff --git a/packages/shared/structs.d.ts b/packages/shared/structs.d.ts deleted file mode 100644 index 801ca136b..000000000 --- a/packages/shared/structs.d.ts +++ /dev/null @@ -1,74 +0,0 @@ -/// -export interface Serialized { - serialize(): Buffer; - deserialize(buf: Buffer): void; - sizeOf(): number; -} -export declare class Header implements Serialized { - messageCode: number; - messageLength: number; - messageVersion: number; - readonly reserved = 0; - messageChecksum: number; - sizeOf(): number; - clear(): void; - serialize(): Buffer; - deserialize(buf: Buffer): void; -} -export declare class SerializedBase implements Serialized { - protected header: Header | null; - deserialize(_buff: Buffer): Buffer; - serialize(): Buffer; - sizeOf(): number; -} -export declare class UserStatus extends SerializedBase implements Serialized { - v2P320: number; - v2P321: number; - v2P1288: number; - v2P32: number; - v2P656: number; - v2P1292: number; - v2P341: number; - v2P1368: number; - sizeOf(): number; - serialize(): Buffer; - deserialize(_buff: Buffer): Buffer; -} -export declare class GetPersonaMapListRequest - extends SerializedBase - implements Serialized {} -export declare class SerializedList - extends SerializedBase - implements Serialized {} -export declare class Persona extends SerializedBase implements Serialized {} -export declare class SessionKey extends SerializedBase implements Serialized {} -export declare class UserAction extends SerializedBase implements Serialized {} -export declare class LoginRequestReply - extends SerializedBase - implements Serialized -{ - sessionKey: string; - setContext(context: string): void; - _doSerialize(): Buffer; - _serializeSizeOf(): number; -} -export declare class GameLogin extends SerializedBase implements Serialized {} -export declare class GameLoginReply - extends SerializedBase - implements Serialized {} -export declare class GetPersonaInfoRequest - extends SerializedBase - implements Serialized {} -export declare class UserStatusRequest - extends SerializedBase - implements Serialized {} -export declare class AddPersona extends SerializedBase implements Serialized {} -export declare class Login extends LoginRequestReply implements Serialized { - v2P82: boolean; - encryptedSessionKey: string; - readonly GAME_CODE = "2176"; - v2P187: boolean; - serialize(): Buffer; - serializeSizeOf(): number; - deserialize(buf: Buffer): Buffer; -} diff --git a/packages/shared/test/BaseSerialized.test.d.ts b/packages/shared/test/BaseSerialized.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/shared/test/BaseSerialized.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shared/test/RawMessage.test.d.ts b/packages/shared/test/RawMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/shared/test/RawMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shared/test/SerializedBuffer.test.d.ts b/packages/shared/test/SerializedBuffer.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/shared/test/SerializedBuffer.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/shared/test/index.ts b/packages/shared/test/index.ts new file mode 100644 index 000000000..64f630168 --- /dev/null +++ b/packages/shared/test/index.ts @@ -0,0 +1,16 @@ +import { vi } from "vitest"; +import type { TServerLogger } from ".."; + +export function mockLogger(): TServerLogger { + return { + error: vi.fn(), + warn: vi.fn(), + info: vi.fn(), + debug: vi.fn(), + trace: vi.fn(), + fatal: vi.fn(), + getName: vi.fn(), + resetName: vi.fn(), + setName: vi.fn(), + }; +} \ No newline at end of file diff --git a/packages/shared/types.d.ts b/packages/shared/types.d.ts deleted file mode 100644 index 2e4677e98..000000000 --- a/packages/shared/types.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -/// -import { serverHeader } from "./messageFactory.js"; -export interface ServerMessageType { - _header: serverHeader; - _msgNo: number; - size(): number; - _doDeserialize(buffer: Buffer): ServerMessageType; - serialize(): Buffer; - setBuffer(buffer: Buffer): void; - updateMsgNo(): void; - toString(): string; - data: Buffer; -} -export type TServerLogger = { - info: (message: string) => void; - error: (message: string) => void; - fatal: (message: string) => void; - warn: (message: string) => void; - debug: (message: string) => void; - trace: (message: string) => void; -}; diff --git a/packages/transactions/package.json b/packages/transactions/package.json deleted file mode 100644 index f8e905688..000000000 --- a/packages/transactions/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@rustymotors/transactions", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "ISC" -} diff --git a/packages/transactions/src/ArcadeCarMessage.d.ts b/packages/transactions/src/ArcadeCarMessage.d.ts deleted file mode 100644 index 64ec80afc..000000000 --- a/packages/transactions/src/ArcadeCarMessage.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export declare class ArcadeCarMessage extends SerializedBuffer { - _msgNo: number; - _carCount: number; - _shouldExpectMoreMessages: boolean; - _carList: ArcadeCarInfo[]; - constructor(); - size(): number; - /** - * Add a lobby to the list - * @param {ArcadeCarInfo} lobby - */ - addCar(lobby: ArcadeCarInfo): void; - serialize(): Buffer; - toString(): string; -} -export declare class ArcadeCarInfo extends SerializedBuffer { - _brandedPartId: number; - _lobbyId: number; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/ArcadeCarMessage.ts b/packages/transactions/src/ArcadeCarMessage.ts deleted file mode 100644 index 94a208fbd..000000000 --- a/packages/transactions/src/ArcadeCarMessage.ts +++ /dev/null @@ -1,99 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer } from "../../shared"; - -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export class ArcadeCarMessage extends SerializedBuffer { - _msgNo: number; - _carCount: number; - _shouldExpectMoreMessages: boolean; - _carList: ArcadeCarInfo[]; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._carCount = 0; // 1 bytes - this._shouldExpectMoreMessages = false; // 1 byte - /** @type {ArcadeCarInfo[]} */ - this._carList = []; // 8 bytes each - } - - override size() { - return 5 + this._carList.length * 8; - } - - /** - * Add a lobby to the list - * @param {ArcadeCarInfo} lobby - */ - addCar(lobby: ArcadeCarInfo) { - this._carList.push(lobby); - this._carCount++; - } - - override serialize() { - const neededSize = 5 + this._carList.length * 8; - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt16LE(this._carCount, offset); - offset += 2; // offset is 4 - buffer.writeInt8(this._shouldExpectMoreMessages ? 1 : 0, offset); - offset += 1; // offset is 5 - for (const car of this._carList) { - car.serialize().copy(buffer, offset); - offset += car.size(); - } - // offset is now 4 + this._lobbyList.length * 563 - return buffer; - } - - override toString() { - return `ArcadeCarMessage: msgNo=${this._msgNo} careCount=${this._carCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} cars=${this._carList.length}`; - } -} - -export class ArcadeCarInfo extends SerializedBuffer { - _brandedPartId: number; - _lobbyId: number; - constructor() { - super(); - this._brandedPartId = 0; // 4 bytes - this._lobbyId = 0; // 4 bytes - } - - override size() { - return 8; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buffer.writeUInt32LE(this._brandedPartId, offset); - offset += 4; // offset is 4 - buffer.writeUInt32LE(this._lobbyId, offset); - // offset is 8 - return buffer; - } - - override toString() { - return `ArcadeCarInfo: brandedPartId=${this._brandedPartId} lobbyId=${this._lobbyId}`; - } -} diff --git a/packages/transactions/src/EntryFeePurseMessage.d.ts b/packages/transactions/src/EntryFeePurseMessage.d.ts deleted file mode 100644 index 0cb0dde81..000000000 --- a/packages/transactions/src/EntryFeePurseMessage.d.ts +++ /dev/null @@ -1,35 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the entry fees and purses for each entry fee - * This is the body of a MessageNode - */ -export declare class EntryFeePurseMessage extends SerializedBuffer { - _msgNo: number; - _numberOfPurseEntries: number; - _shouldExpectMoreMessages: boolean; - _purseEntries: PurseEntry[]; - constructor(); - size(): number; - /** - * Add a lobby to the list - * @param {PurseEntry} lobby - */ - addEntry(purseEntry: PurseEntry): void; - serialize(): Buffer; - toString(): string; -} -export declare class PurseEntry extends SerializedBuffer { - _entryFee: number; - _purse: number; - constructor(); - size(): number; - /** - * Deserialize the data - * - * @param {Buffer} data - */ - deserialize(data: Buffer): this; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/EntryFeePurseMessage.ts b/packages/transactions/src/EntryFeePurseMessage.ts deleted file mode 100644 index 1240130ad..000000000 --- a/packages/transactions/src/EntryFeePurseMessage.ts +++ /dev/null @@ -1,122 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer } from "../../shared"; - -/** - * A message listing the entry fees and purses for each entry fee - * This is the body of a MessageNode - */ -export class EntryFeePurseMessage extends SerializedBuffer { - _msgNo: number; - _numberOfPurseEntries: number; - _shouldExpectMoreMessages: boolean; - _purseEntries: PurseEntry[]; - constructor() { - super(); - this._msgNo = 408; // 2 bytes - this._numberOfPurseEntries = 0; // 1 bytes - this._shouldExpectMoreMessages = false; // 1 byte - /** @type {PurseEntry[]} */ - this._purseEntries = []; // 8 bytes each - } - - override size() { - return 5 + this._purseEntries.length * 8; - } - - /** - * Add a lobby to the list - * @param {PurseEntry} lobby - */ - addEntry(purseEntry: PurseEntry) { - this._purseEntries.push(purseEntry); - this._numberOfPurseEntries++; - } - - override serialize() { - const neededSize = 5 + this._purseEntries.length * 563; - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt16LE(this._numberOfPurseEntries, offset); - offset += 2; // offset is 4 - buffer.writeUInt8(this._shouldExpectMoreMessages ? 1 : 0, offset); - offset += 1; // offset is 5 - for (const entry of this._purseEntries) { - entry.serialize().copy(buffer, offset); - offset += entry.size(); - } - // offset is now 4 + this._lobbyList.length * 563 - return buffer; - } - - override toString() { - return `EntryFeePurseMessage: msgNo=${this._msgNo} numberOfPurseEntries=${this._numberOfPurseEntries} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} purseEntries=${this._purseEntries}`; - } -} - -export class PurseEntry extends SerializedBuffer { - _entryFee: number; // 4 bytes - _purse: number; // 4 bytes - constructor() { - super(); - this._entryFee = 0; - this._purse = 0; - } - - override size() { - return 8; - } - - /** - * Deserialize the data - * - * @param {Buffer} data - */ - deserialize(data: Buffer) { - if (data.length !== this.size()) { - throw new Error( - `PurseEntry.deserialize() expected ${this.size()} bytes but got ${ - data.length - } bytes`, - ); - } - let offset = 0; - this._entryFee = data.readUInt32LE(offset); - offset += 4; // offset is 4 - this._purse = data.readUInt32LE(offset); - // offset is 8 - - return this; - } - - override serialize() { - const buf = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buf.writeUInt32LE(this._entryFee, offset); - offset += 4; // offset is 4 - buf.writeUInt32LE(this._purse, offset); - // offset is 8 - - return buf; - } - - override toString() { - return `PurseEntry: entryFee=${this._entryFee} purse=${this._purse}`; - } -} diff --git a/packages/transactions/src/GameUrlsMessage.d.ts b/packages/transactions/src/GameUrlsMessage.d.ts deleted file mode 100644 index 91d150037..000000000 --- a/packages/transactions/src/GameUrlsMessage.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export declare class GameUrlsMessage extends SerializedBuffer { - _msgNo: number; - _urlCount: number; - _shouldExpectMoreMessages: boolean; - _urlList: GameUrl[]; - constructor(); - size(): number; - /** - * Add a lobby to the list - * @param {GameUrl} lobby - */ - addURL(lobby: GameUrl): void; - serialize(): Buffer; - toString(): string; -} -export declare class GameUrl extends SerializedBuffer { - _urlId: number; - urlRef: string; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/GameUrlsMessage.ts b/packages/transactions/src/GameUrlsMessage.ts deleted file mode 100644 index 6077fb23a..000000000 --- a/packages/transactions/src/GameUrlsMessage.ts +++ /dev/null @@ -1,99 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer, serializeString } from "../../shared"; - -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export class GameUrlsMessage extends SerializedBuffer { - _msgNo: number; - _urlCount: number; - _shouldExpectMoreMessages: boolean; - _urlList: GameUrl[]; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._urlCount = 0; // 2 bytes - this._shouldExpectMoreMessages = false; // 1 byte - /** @type {GameUrl[]} */ - this._urlList = []; // 563 bytes each - } - - override size() { - return 5 + this._urlList.length * 563; - } - - /** - * Add a lobby to the list - * @param {GameUrl} lobby - */ - addURL(lobby: GameUrl) { - this._urlList.push(lobby); - this._urlCount++; - } - - override serialize() { - const neededSize = 4 + this._urlList.length * 563; - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt16LE(this._urlCount, offset); - offset += 2; // offset is 4 - buffer.writeUInt8(this._shouldExpectMoreMessages ? 1 : 0, offset); - offset += 1; // offset is 5 - for (const url of this._urlList) { - url.serialize().copy(buffer, offset); - offset += url.size(); - } - // offset is now 4 + this._lobbyList.length * 563 - return buffer; - } - - override toString() { - return `GameUrlsMessage: msgNo=${this._msgNo} urlCount=${this._urlCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} urlList=${this._urlList}`; - } -} - -export class GameUrl extends SerializedBuffer { - _urlId: number; - urlRef: string; - constructor() { - super(); - this._urlId = 0; // 4 bytes - this.urlRef = ""; // 4 + this.urlRef.length bytes - } - - override size() { - return 8 + this.urlRef.length; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buffer.writeUInt32LE(this._urlId, offset); - offset += 4; // offset is 4 - serializeString(this.urlRef, buffer, offset); - - return buffer; - } - - override toString() { - return `GameUrl: urlId=${this._urlId} urlRef=${this.urlRef}`; - } -} diff --git a/packages/transactions/src/GenericReplyMessage.d.ts b/packages/transactions/src/GenericReplyMessage.d.ts deleted file mode 100644 index 32200a4f1..000000000 --- a/packages/transactions/src/GenericReplyMessage.d.ts +++ /dev/null @@ -1,67 +0,0 @@ -/** - * @class - * @property {number} msgNo - * @property {number} toFrom - * @property {number} appId - * @property {number} msgReply - * @property {Buffer} result - * @property {Buffer} data - * @property {Buffer} data2 - */ -/// -import { SerializedBuffer } from "../../shared"; -export declare class GenericReply extends SerializedBuffer { - msgNo: number; - msgReply: number; - result: number; - data2: Buffer; - rawBuffer: Buffer; - constructor(); - serialize(): Buffer; - asJSON(): { - msgNo: number; - msgReply: number; - result: number; - data: string; - data2: string; - }; - toString(): string; -} -export declare class GenericReplyMessage extends SerializedBuffer { - msgNo: number; - msgReply: number; - result: number; - data1: number; - data2: number; - /** - * One of - * - * * MC_SUCCESS = 101 : Used with GenericReply structure to indicate that the request succeeded - * - * * MC_FAILED = 102 : Used with GenericReply structure to indicate that the request failed - * - * * MC_GENERIC_REPLY : Used with GenericReply structure for messages that return data - */ - constructor(); - setResult(buffer: number): void; - setData1(value: number): void; - setData2(value: number): void; - /** - * - * @param {Buffer} buffer - * @return {GenericReplyMessage} - */ - static deserialize(buffer: Buffer): GenericReplyMessage; - /** - * @override - * @return {Buffer} - */ - serialize(): Buffer; - /** - * DumpPacket - * @return {string} - */ - dumpPacket(): string; - toString(): string; - size(): number; -} diff --git a/packages/transactions/src/GenericReplyMessage.ts b/packages/transactions/src/GenericReplyMessage.ts deleted file mode 100644 index ff5d34b9d..000000000 --- a/packages/transactions/src/GenericReplyMessage.ts +++ /dev/null @@ -1,173 +0,0 @@ -// WORD msgNo; // typically MC_SUCCESS or MC_FAILURE -// WORD msgReply; // message # being replied to (ex: MC_PURCHASE_STOCK_CAR) -// DWORD result; // specific to the message sent, often the reason for a failure -// DWORD data; // specific to the message sent (but usually 0) -// DWORD data2; -/** - * @class - * @property {number} msgNo - * @property {number} toFrom - * @property {number} appId - * @property {number} msgReply - * @property {Buffer} result - * @property {Buffer} data - * @property {Buffer} data2 - */ - -import { SerializedBuffer } from "../../shared"; - -export class GenericReply extends SerializedBuffer { - msgNo: number; - msgReply: number; - result: number; - data2: Buffer; - rawBuffer!: Buffer; - constructor() { - super(); - this.msgNo = 0; // 2 bytes (ethier MC_SUCCESS (0x101) or MC_FAILURE(0x102)) - this.msgReply = 0; // 2 bytes (message # being replied to (ex: MC_PURCHASE_STOCK_CAR)) - this.result = 0; // 4 bytes (specific to the message sent, often the reason for a failure) - this.setBuffer(Buffer.alloc(4)); // 4 bytes (specific to the message sent (but usually 0)) - this.data2 = Buffer.alloc(4); // 4 bytes (specific to the message sent (but usually 0)) - } - - override serialize() { - this.rawBuffer = Buffer.alloc(16); - this.rawBuffer.writeInt16LE(this.msgNo, 0); - this.rawBuffer.writeInt16LE(this.msgReply, 2); - this.rawBuffer.writeInt16LE(this.result, 4); - this.data.copy(this.rawBuffer, 8); - this.data2.copy(this.rawBuffer, 12); - return this.rawBuffer; - } - - asJSON() { - return { - msgNo: this.msgNo, - msgReply: this.msgReply, - result: this.result, - data: this.data.toString("hex"), - data2: this.data2.toString("hex"), - }; - } - - override toString() { - return this.serialize().toString("hex"); - } -} - -export class GenericReplyMessage extends SerializedBuffer { - msgNo: number; - msgReply: number; - result: number; - data1: number; - data2: number; - /** - * One of - * - * * MC_SUCCESS = 101 : Used with GenericReply structure to indicate that the request succeeded - * - * * MC_FAILED = 102 : Used with GenericReply structure to indicate that the request failed - * - * * MC_GENERIC_REPLY : Used with GenericReply structure for messages that return data - */ - constructor() { - super(); - this.msgNo = 0; // 2 bytes - this.msgReply = 0; // 2 bytes - this.result = 0; // 4 bytes - this.data1 = 0; // 4 bytes - this.data2 = 0; // 4 bytes - } - - setResult(buffer: number) { - this.result = buffer; - } - - setData1(value: number) { - this.data1 = value; - } - - setData2(value: number) { - this.data2 = value; - } - - /** - * - * @param {Buffer} buffer - * @return {GenericReplyMessage} - */ - static deserialize(buffer: Buffer): GenericReplyMessage { - const node = new GenericReplyMessage(); - - try { - node.msgNo = buffer.readInt16LE(0); - } catch (error) { - if (error instanceof RangeError) { - // This is likeley not an MCOTS packet, ignore - } else { - const err = new TypeError( - `[GenericReplyMsg] Unable to read msgNo from ${buffer.toString( - "hex", - )}: ${String(error)}`, - ); // skipcq: JS-0378 - throw err; - } - } - - node.msgReply = buffer.readInt16LE(2); - node.result = buffer.readInt32LE(4); - node.data1 = buffer.readInt32LE(8); - node.data2 = buffer.readInt32LE(12); - return node; - } - - /** - * @override - * @return {Buffer} - */ - override serialize(): Buffer { - const packet = Buffer.alloc(this.size()); - let offset = 0; - packet.writeInt16LE(this.msgNo, offset); - offset += 2; - packet.writeInt16LE(this.msgReply, offset); - offset += 2; - packet.writeInt16LE(this.result, offset); - offset += 4; - packet.writeInt16LE(this.data1, offset); - offset += 4; - packet.writeInt16LE(this.data2, offset); - // offset is now 16 - return packet; - } - - /** - * DumpPacket - * @return {string} - */ - dumpPacket(): string { - return `GenericReply', - ${JSON.stringify({ - msgNo: this.msgNo, - msgReply: this.msgReply, - result: this.result, - data: this.data1, - tdata2: this.data2, - })}`; - } - - override toString(): string { - return `GenericReply: - MsgNo: ${this.msgNo} - MsgReply: ${this.msgReply} - Result: ${this.result} - Data: ${this.data1} - Data2: ${this.data2} - `; - } - - override size(): number { - return 16; - } -} diff --git a/packages/transactions/src/GenericRequestMessage.d.ts b/packages/transactions/src/GenericRequestMessage.d.ts deleted file mode 100644 index 178e22793..000000000 --- a/packages/transactions/src/GenericRequestMessage.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -/** - * - * - * @class - * @property {number} msgNo - * @property {Buffer} data - * @property {Buffer} data2 - * @property {string} serviceName - */ -/// -import { MessageNode } from "../../shared"; -export declare class GenericRequestMessage extends MessageNode { - data2: Buffer; - /** - * - */ - constructor(); - /** - * @override - * @param {Buffer} buffer - */ - deserialize(buffer: Buffer): void; - /** - * @override - * @return {Buffer} - */ - serialize(): Buffer; - /** - * @override - */ - toString(): string; -} diff --git a/packages/transactions/src/GenericRequestMessage.ts b/packages/transactions/src/GenericRequestMessage.ts deleted file mode 100644 index f4fb3a9a3..000000000 --- a/packages/transactions/src/GenericRequestMessage.ts +++ /dev/null @@ -1,82 +0,0 @@ -// WORD msgNo; // typically MC_SUCCESS or MC_FAILURE -// DWORD data; // specific to the message sent (but usually 0) -// DWORD data2; -/** - * - * - * @class - * @property {number} msgNo - * @property {Buffer} data - * @property {Buffer} data2 - * @property {string} serviceName - */ - -import { MessageNode } from "../../shared"; - -export class GenericRequestMessage extends MessageNode { - data2: Buffer; - /** - * - */ - constructor() { - super(); - this.msgNo = 0; // 2 bytes - this.data = Buffer.alloc(4); // 4 bytes - this.data2 = Buffer.alloc(4); // 4 bytes - } - - /** - * @override - * @param {Buffer} buffer - */ - override deserialize(buffer: Buffer) { - if (buffer.length < 10) { - throw new Error( - `[GenericRequestMsg] Unable to deserialize buffer: ${buffer.toString( - "hex", - )}`, - ); - } - - try { - this.msgNo = buffer.readInt16LE(0); - } catch (error) { - if (error instanceof RangeError) { - // This is likeley not an MCOTS packet, ignore - } else { - const err = new TypeError( - `[GenericRequestMsg] Unable to read msgNo from ${buffer.toString( - "hex", - )}: ${String(error)}`, // skipcq: JS-0378 - ); - throw err; - } - } - - this.data = buffer.subarray(2, 6); - this.data2 = buffer.subarray(6); - } - - /** - * @override - * @return {Buffer} - */ - override serialize(): Buffer { - const packet = Buffer.alloc(16); - packet.writeInt16LE(this.msgNo, 0); - this.data.copy(packet, 2); - this.data2.copy(packet, 6); - return packet; - } - - /** - * @override - */ - override toString() { - return `GenericRequest ${JSON.stringify({ - msgNo: this.msgNo, - data: this.data.toString("hex"), - data2: this.data2.toString("hex"), - })}`; - } -} diff --git a/packages/transactions/src/LobbyMessage.d.ts b/packages/transactions/src/LobbyMessage.d.ts deleted file mode 100644 index 93003b0e6..000000000 --- a/packages/transactions/src/LobbyMessage.d.ts +++ /dev/null @@ -1,128 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export declare class LobbyMessage extends SerializedBuffer { - _msgNo: number; - _lobbyCount: number; - _shouldExpectMoreMessages: boolean; - _lobbyList: LobbyInfo[]; - constructor(); - size(): number; - /** - * Add a lobby to the list - * @param {LobbyInfo} lobby - */ - addLobby(lobby: LobbyInfo): void; - serialize(): Buffer; - toString(): string; -} -export declare class LobbyInfo extends SerializedBuffer { - _lobbyId: number; - _raceTypeId: number; - _terfId: number; - _lobbyName: string; - _turfName: string; - _clientArt: string; - _elementId: number; - _turfLengthId: number; - _startSlice: number; - _endSlice: number; - _dragStageLeft: number; - _dragStageRight: number; - _dragStagingSlice: number; - _gridSpreadFactor: number; - _linear: number; - _minNumberPlayers: number; - _maxNumberPlayers: number; - _defaultNumberPlayers: number; - _numberOfPlayersEnabled: boolean; - _minLaps: number; - _maxLaps: number; - _defaultNumberOfLaps: number; - _numberOfLapsEnabled: boolean; - _minNumberRounds: number; - _maxNumberRounds: number; - _defaultNumberRounds: number; - _numberOfRoundsEnabled: boolean; - _defaultWeather: number; - _weatherEnabled: boolean; - _defaultNight: number; - _nightEnabled: boolean; - _defaultBackwards: boolean; - _backwardsEnabled: boolean; - _defaultTraffic: boolean; - _trafficEnabled: boolean; - _defaultDriverAI: boolean; - _driverAIEnabled: boolean; - _topDog: string; - _turfOwner: string; - _qualifyingTime: number; - _numberOfClubPlayers: number; - _numberofClubLaps: number; - _numberOfClubRounds: number; - _clubNight: number; - _clubWeather: number; - _clubBackwards: number; - _bestLapTime: number; - _lobbyDifficulty: number; - _timetrialPointsToQualify: number; - _timetrialCashToQualify: number; - _timetrialPointsBonusIncrements: number; - _timetrialCashBonusIncrements: number; - _timetrialTimeIncrements: number; - _timetrial1stPlaceVictoryPoints: number; - _timetrial1stPlaceVictoryCash: number; - _timetrial2ndPlaceVictoryPoints: number; - _timetrial2ndPlaceVictoryCash: number; - _timetrial3rdPlaceVictoryPoints: number; - _timetrial3rdPlaceVictoryCash: number; - _minLevel: number; - _minResetSlice: number; - _maxResetSlice: number; - _newbieFlag: number; - _driverHelmetFlag: number; - _clubMaxNumberPlayers: number; - _clubMinNumberPlayers: number; - _clubNumberPlayersDefault: number; - _minNumberOfClubs: number; - _maxNumberOfClubs: number; - _racePointsFactor: number; - _maxBodyClass: number; - _maxPowerClass: number; - _partsPrizeMax: number; - _partsPrizeWon: number; - _clubLogoId: number; - _teamTrialsWeatherFlag: boolean; - _teamTrialsNightFlag: boolean; - _teamTrialsBackwardsFlag: boolean; - _teamTrialsNumberLaps: number; - _teamTrialsBaseTimeUnderPar: number; - _raceCashFactor: number; - constructor(); - /** - * Deserialize a 2 byte boolean - * - * @param {Buffer} data - * @returns {boolean} - */ - deserializeBool(data: Buffer): boolean; - /** - * Serialize a 2 byte boolean - * - * @param {number} value - * @returns {Buffer} - */ - serializeBool(value: number): Buffer; - size(): number; - /** - * Deserialize the data - * - * @param {Buffer} data - */ - deserialize(data: Buffer): this; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/LobbyMessage.ts b/packages/transactions/src/LobbyMessage.ts deleted file mode 100644 index ed4fd8452..000000000 --- a/packages/transactions/src/LobbyMessage.ts +++ /dev/null @@ -1,728 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer } from "../../shared"; - -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export class LobbyMessage extends SerializedBuffer { - _msgNo: number; - _lobbyCount: number; - _shouldExpectMoreMessages: boolean; - _lobbyList: LobbyInfo[]; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._lobbyCount = 0; // 1 bytes - this._shouldExpectMoreMessages = false; // 1 byte - /** @type {LobbyInfo[]} */ - this._lobbyList = []; // 563 bytes each - } - - override size() { - return 5 + this._lobbyList.length * 563; - } - - /** - * Add a lobby to the list - * @param {LobbyInfo} lobby - */ - addLobby(lobby: LobbyInfo) { - this._lobbyList.push(lobby); - this._lobbyCount++; - } - - override serialize() { - const neededSize = 5 + this._lobbyList.length * 563; - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt16LE(this._lobbyCount, offset); - offset += 2; // offset is 4 - buffer.writeUInt8(this._shouldExpectMoreMessages ? 1 : 0, offset); - offset += 1; // offset is 5 - for (const lobby of this._lobbyList) { - lobby.serialize().copy(buffer, offset); - offset += lobby.size(); - } - // offset is now 4 + this._lobbyList.length * 563 - return buffer; - } - - override toString() { - return `LobbyMessage: msgNo=${this._msgNo} lobbyCount=${this._lobbyCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} lobbies=${this._lobbyList.length}`; - } -} - -export class LobbyInfo extends SerializedBuffer { - _lobbyId: number; - _raceTypeId: number; - _terfId: number; - _lobbyName: string; - _turfName: string; - _clientArt: string; - _elementId: number; - _turfLengthId: number; - _startSlice: number; - _endSlice: number; - _dragStageLeft: number; - _dragStageRight: number; - _dragStagingSlice: number; - _gridSpreadFactor: number; - _linear: number; - _minNumberPlayers: number; - _maxNumberPlayers: number; - _defaultNumberPlayers: number; - _numberOfPlayersEnabled: boolean; - _minLaps: number; - _maxLaps: number; - _defaultNumberOfLaps: number; - _numberOfLapsEnabled: boolean; - _minNumberRounds: number; - _maxNumberRounds: number; - _defaultNumberRounds: number; - _numberOfRoundsEnabled: boolean; - _defaultWeather: number; - _weatherEnabled: boolean; - _defaultNight: number; - _nightEnabled: boolean; - _defaultBackwards: boolean; - _backwardsEnabled: boolean; - _defaultTraffic: boolean; - _trafficEnabled: boolean; - _defaultDriverAI: boolean; - _driverAIEnabled: boolean; - _topDog: string; - _turfOwner: string; - _qualifyingTime: number; - _numberOfClubPlayers: number; - _numberofClubLaps: number; - _numberOfClubRounds: number; - _clubNight: number; - _clubWeather: number; - _clubBackwards: number; - _bestLapTime: number; - _lobbyDifficulty: number; - _timetrialPointsToQualify: number; - _timetrialCashToQualify: number; - _timetrialPointsBonusIncrements: number; - _timetrialCashBonusIncrements: number; - _timetrialTimeIncrements: number; - _timetrial1stPlaceVictoryPoints: number; - _timetrial1stPlaceVictoryCash: number; - _timetrial2ndPlaceVictoryPoints: number; - _timetrial2ndPlaceVictoryCash: number; - _timetrial3rdPlaceVictoryPoints: number; - _timetrial3rdPlaceVictoryCash: number; - _minLevel: number; - _minResetSlice: number; - _maxResetSlice: number; - _newbieFlag: number; - _driverHelmetFlag: number; - _clubMaxNumberPlayers: number; - _clubMinNumberPlayers: number; - _clubNumberPlayersDefault: number; - _minNumberOfClubs: number; - _maxNumberOfClubs: number; - _racePointsFactor: number; - _maxBodyClass: number; - _maxPowerClass: number; - _partsPrizeMax: number; - _partsPrizeWon: number; - _clubLogoId: number; - _teamTrialsWeatherFlag: boolean; - _teamTrialsNightFlag: boolean; - _teamTrialsBackwardsFlag: boolean; - _teamTrialsNumberLaps: number; - _teamTrialsBaseTimeUnderPar: number; - _raceCashFactor: number; - constructor() { - super(); - this._lobbyId = 0; // 4 bytes - this._raceTypeId = 0; // 4 bytes - this._terfId = 0; // 4 bytes - this._lobbyName = ""; // 32 bytes - this._turfName = ""; // 256 bytes - this._clientArt = ""; // 11 bytes - this._elementId = 0; // 4 bytes - this._turfLengthId = 0; // 4 bytes - this._startSlice = 0; // 4 bytes - this._endSlice = 0; // 4 bytes - this._dragStageLeft = 0; // 4 bytes - this._dragStageRight = 0; // 4 bytes - this._dragStagingSlice = 0; // 4 bytes - this._gridSpreadFactor = 0; // 4 bytes - this._linear = 0; // 2 bytes - this._minNumberPlayers = 0; // 2 bytes - this._maxNumberPlayers = 0; // 2 bytes - this._defaultNumberPlayers = 0; // 2 bytes - this._numberOfPlayersEnabled = false; // 2 bytes - this._minLaps = 0; // 2 bytes - this._maxLaps = 0; // 2 bytes - this._defaultNumberOfLaps = 0; // 2 bytes - this._numberOfLapsEnabled = false; // 2 bytes - this._minNumberRounds = 0; // 2 bytes - this._maxNumberRounds = 0; // 2 bytes - this._defaultNumberRounds = 0; // 2 bytes - this._numberOfRoundsEnabled = false; // 2 bytes - this._defaultWeather = 0; // 2 bytes - this._weatherEnabled = false; // 2 bytes - this._defaultNight = 0; // 2 bytes - this._nightEnabled = false; // 2 bytes - this._defaultBackwards = false; // 2 bytes - this._backwardsEnabled = false; // 2 bytes - this._defaultTraffic = false; // 2 bytes - this._trafficEnabled = false; // 2 bytes - this._defaultDriverAI = false; // 2 bytes - this._driverAIEnabled = false; // 2 bytes - this._topDog = ""; // 13 bytes - this._turfOwner = ""; // 33 bytes - this._qualifyingTime = 0; // 4 bytes - this._numberOfClubPlayers = 0; // 4 bytes - this._numberofClubLaps = 0; // 4 bytes - this._numberOfClubRounds = 0; // 4 bytes - this._clubNight = 0; // 2 bytes - this._clubWeather = 0; // 2 bytes - this._clubBackwards = 0; // 2 bytes - this._bestLapTime = 0; // 4 bytes - this._lobbyDifficulty = 0; // 4 bytes - this._timetrialPointsToQualify = 0; // 4 bytes - this._timetrialCashToQualify = 0; // 4 bytes - this._timetrialPointsBonusIncrements = 0; // 4 bytes - this._timetrialCashBonusIncrements = 0; // 4 bytes - this._timetrialTimeIncrements = 0; // 4 bytes - this._timetrial1stPlaceVictoryPoints = 0; // 4 bytes - this._timetrial1stPlaceVictoryCash = 0; // 4 bytes - this._timetrial2ndPlaceVictoryPoints = 0; // 4 bytes - this._timetrial2ndPlaceVictoryCash = 0; // 4 bytes - this._timetrial3rdPlaceVictoryPoints = 0; // 4 bytes - this._timetrial3rdPlaceVictoryCash = 0; // 4 bytes - this._minLevel = 0; // 2 bytes - this._minResetSlice = 0; // 4 bytes - this._maxResetSlice = 0; // 4 bytes - this._newbieFlag = 0; // 2 bytes - this._driverHelmetFlag = 0; // 2 bytes - this._clubMaxNumberPlayers = 0; // 2 bytes - this._clubMinNumberPlayers = 0; // 2 bytes - this._clubNumberPlayersDefault = 0; // 2 bytes - this._minNumberOfClubs = 0; // 2 bytes - this._maxNumberOfClubs = 0; // 2 bytes - this._racePointsFactor = 0; // 4 bytes - this._maxBodyClass = 0; // 2 bytes - this._maxPowerClass = 0; // 2 bytes - this._partsPrizeMax = 0; // 2 bytes - this._partsPrizeWon = 0; // 2 bytes - this._clubLogoId = 0; // 4 bytes - this._teamTrialsWeatherFlag = false; // 2 bytes - this._teamTrialsNightFlag = false; // 2 bytes - this._teamTrialsBackwardsFlag = false; // 2 bytes - this._teamTrialsNumberLaps = 0; // 2 bytes - this._teamTrialsBaseTimeUnderPar = 0; // 2 bytes - this._raceCashFactor = 0; // 4 bytes - } - - /** - * Deserialize a 2 byte boolean - * - * @param {Buffer} data - * @returns {boolean} - */ - deserializeBool(data: Buffer): boolean { - return data.readUInt16LE() === 1; - } - - /** - * Serialize a 2 byte boolean - * - * @param {number} value - * @returns {Buffer} - */ - serializeBool(value: number): Buffer { - const buf = Buffer.alloc(2); - buf.writeUInt16LE(value ? 1 : 0); - return buf; - } - - override size() { - return 563; - } - - /** - * Deserialize the data - * - * @param {Buffer} data - */ - deserialize(data: Buffer) { - if (data.length !== this.size()) { - throw new Error( - `LobbyInfo.deserialize() expected ${this.size()} bytes but got ${ - data.length - } bytes`, - ); - } - let offset = 0; - this._lobbyId = data.readUInt32LE(offset); - offset += 4; - this._raceTypeId = data.readUInt32LE(offset); - offset += 4; - this._terfId = data.readUInt32LE(offset); - offset += 4; - this._lobbyName = data.toString("utf8", offset, offset + 32); - offset += 32; - this._turfName = data.toString("utf8", offset, offset + 256); - offset += 256; - this._clientArt = data.toString("utf8", offset, offset + 11); - offset += 11; - this._elementId = data.readUInt32LE(offset); - offset += 4; - this._turfLengthId = data.readUInt32LE(offset); - offset += 4; - this._startSlice = data.readUInt32LE(offset); - offset += 4; - this._endSlice = data.readUInt32LE(offset); - offset += 4; - this._dragStageLeft = data.readUInt32LE(offset); - offset += 4; - this._dragStageRight = data.readUInt32LE(offset); - offset += 4; - this._dragStagingSlice = data.readUInt32LE(offset); - offset += 4; - this._gridSpreadFactor = data.readUInt32LE(offset); - offset += 4; - this._linear = data.readUInt16LE(offset); - offset += 2; - this._minNumberPlayers = data.readUInt16LE(offset); - offset += 2; - this._maxNumberPlayers = data.readUInt16LE(offset); - offset += 2; - this._defaultNumberPlayers = data.readUInt16LE(offset); - offset += 2; - this._numberOfPlayersEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._minLaps = data.readUInt16LE(offset); - offset += 2; - this._maxLaps = data.readUInt16LE(offset); - offset += 2; - this._defaultNumberOfLaps = data.readUInt16LE(offset); - offset += 2; - this._numberOfLapsEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._minNumberRounds = data.readUInt16LE(offset); - offset += 2; - this._maxNumberRounds = data.readUInt16LE(offset); - offset += 2; - this._defaultNumberRounds = data.readUInt16LE(offset); - offset += 2; - this._numberOfRoundsEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._defaultWeather = data.readUInt16LE(offset); - offset += 2; - this._weatherEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._defaultNight = data.readUInt16LE(offset); - offset += 2; - this._nightEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._defaultBackwards = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._backwardsEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._defaultTraffic = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._trafficEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._defaultDriverAI = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._driverAIEnabled = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._topDog = data.toString("utf8", offset, offset + 13); - offset += 13; - this._turfOwner = data.toString("utf8", offset, offset + 33); - offset += 33; - this._qualifyingTime = data.readUInt32LE(offset); - offset += 4; - this._numberOfClubPlayers = data.readUInt32LE(offset); - offset += 4; - this._numberofClubLaps = data.readUInt32LE(offset); - offset += 4; - this._numberOfClubRounds = data.readUInt32LE(offset); - offset += 4; - this._clubNight = data.readUInt16LE(offset); - offset += 2; - this._clubWeather = data.readUInt16LE(offset); - offset += 2; - this._clubBackwards = data.readUInt16LE(offset); - offset += 2; - this._bestLapTime = data.readUInt32LE(offset); - offset += 4; - this._lobbyDifficulty = data.readUInt32LE(offset); - offset += 4; - this._timetrialPointsToQualify = data.readUInt32LE(offset); - offset += 4; - this._timetrialCashToQualify = data.readUInt32LE(offset); - offset += 4; - this._timetrialPointsBonusIncrements = data.readUInt32LE(offset); - offset += 4; - this._timetrialCashBonusIncrements = data.readUInt32LE(offset); - offset += 4; - this._timetrialTimeIncrements = data.readUInt32LE(offset); - offset += 4; - this._timetrial1stPlaceVictoryPoints = data.readUInt32LE(offset); - offset += 4; - this._timetrial1stPlaceVictoryCash = data.readUInt32LE(offset); - offset += 4; - this._timetrial2ndPlaceVictoryPoints = data.readUInt32LE(offset); - offset += 4; - this._timetrial2ndPlaceVictoryCash = data.readUInt32LE(offset); - offset += 4; - this._timetrial3rdPlaceVictoryPoints = data.readUInt32LE(offset); - offset += 4; - this._timetrial3rdPlaceVictoryCash = data.readUInt32LE(offset); - offset += 4; - this._minLevel = data.readUInt16LE(offset); - offset += 2; - this._minResetSlice = data.readUInt32LE(offset); - offset += 4; - this._maxResetSlice = data.readUInt32LE(offset); - offset += 4; - this._newbieFlag = data.readUInt16LE(offset); - offset += 2; - this._driverHelmetFlag = data.readUInt16LE(offset); - offset += 2; - this._clubMaxNumberPlayers = data.readUInt16LE(offset); - offset += 2; - this._clubMinNumberPlayers = data.readUInt16LE(offset); - offset += 2; - this._clubNumberPlayersDefault = data.readUInt16LE(offset); - offset += 2; - this._minNumberOfClubs = data.readUInt16LE(offset); - offset += 2; - this._maxNumberOfClubs = data.readUInt16LE(offset); - offset += 2; - this._racePointsFactor = data.readUInt32LE(offset); - offset += 4; - this._maxBodyClass = data.readUInt16LE(offset); - offset += 2; - this._maxPowerClass = data.readUInt16LE(offset); - offset += 2; - this._partsPrizeMax = data.readUInt16LE(offset); - offset += 2; - this._partsPrizeWon = data.readUInt16LE(offset); - offset += 2; - this._clubLogoId = data.readUInt32LE(offset); - offset += 4; - this._teamTrialsWeatherFlag = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._teamTrialsNightFlag = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._teamTrialsBackwardsFlag = this.deserializeBool( - data.subarray(offset, offset + 2), - ); - offset += 2; - this._teamTrialsNumberLaps = data.readUInt16LE(offset); - offset += 2; - this._teamTrialsBaseTimeUnderPar = data.readUInt16LE(offset); - offset += 2; - this._raceCashFactor = data.readUInt32LE(offset); - // 563 total bytes - - return this; - } - - override serialize() { - const buf = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buf.writeUInt32LE(this._lobbyId, offset); - offset += 4; // offset is 4 - buf.writeUInt32LE(this._raceTypeId, offset); - offset += 4; // offset is 8 - buf.writeUInt32LE(this._terfId, offset); - offset += 4; // offset is 12 - buf.write(this._lobbyName, offset, 32); - offset += 32; // offset is 44 - buf.write(this._turfName, offset, 256); - offset += 256; // offset is 300 - buf.write(this._clientArt, offset, 11); - offset += 11; // offset is 311 - buf.writeUInt32LE(this._elementId, offset); - offset += 4; // offset is 315 - buf.writeUInt32LE(this._turfLengthId, offset); - offset += 4; // offset is 319 - buf.writeUInt32LE(this._startSlice, offset); - offset += 4; // offset is 323 - buf.writeUInt32LE(this._endSlice, offset); - offset += 4; // offset is 327 - buf.writeUInt32LE(this._dragStageLeft, offset); - offset += 4; // offset is 331 - buf.writeUInt32LE(this._dragStageRight, offset); - offset += 4; // offset is 335 - buf.writeUInt32LE(this._dragStagingSlice, offset); - offset += 4; // offset is 339 - buf.writeUInt32LE(this._gridSpreadFactor, offset); - offset += 4; // offset is 343 - buf.writeUInt16LE(this._linear, offset); - offset += 2; // offset is 345 - buf.writeUInt16LE(this._minNumberPlayers, offset); - offset += 2; // offset is 347 - buf.writeUInt16LE(this._maxNumberPlayers, offset); - offset += 2; // offset is 349 - buf.writeUInt16LE(this._defaultNumberPlayers, offset); - offset += 2; // offset is 351 - buf.writeUInt16LE(this._numberOfPlayersEnabled ? 1 : 0, offset); - offset += 2; // offset is 353 - buf.writeUInt16LE(this._minLaps, offset); - offset += 2; // offset is 355 - buf.writeUInt16LE(this._maxLaps, offset); - offset += 2; // offset is 357 - buf.writeUInt16LE(this._defaultNumberOfLaps, offset); - offset += 2; // offset is 359 - buf.writeUInt16LE(this._numberOfLapsEnabled ? 1 : 0, offset); - offset += 2; // offset is 361 - buf.writeUInt16LE(this._minNumberRounds, offset); - offset += 2; // offset is 363 - buf.writeUInt16LE(this._maxNumberRounds, offset); - offset += 2; // offset is 365 - buf.writeUInt16LE(this._defaultNumberRounds, offset); - offset += 2; // offset is 367 - buf.writeUInt16LE(this._numberOfRoundsEnabled ? 1 : 0, offset); - offset += 2; // offset is 369 - buf.writeUInt16LE(this._defaultWeather, offset); - offset += 2; // offset is 371 - buf.writeUInt16LE(this._weatherEnabled ? 1 : 0, offset); - offset += 2; // offset is 373 - buf.writeUInt16LE(this._defaultNight, offset); - offset += 2; // offset is 375 - buf.writeUInt16LE(this._nightEnabled ? 1 : 0, offset); - offset += 2; // offset is 377 - buf.writeUInt16LE(this._defaultBackwards ? 1 : 0, offset); - offset += 2; // offset is 379 - buf.writeUInt16LE(this._backwardsEnabled ? 1 : 0, offset); - offset += 2; // offset is 381 - buf.writeUInt16LE(this._defaultTraffic ? 1 : 0, offset); - offset += 2; // offset is 383 - buf.writeUInt16LE(this._trafficEnabled ? 1 : 0, offset); - offset += 2; // offset is 385 - buf.writeUInt16LE(this._defaultDriverAI ? 1 : 0, offset); - offset += 2; // offset is 387 - buf.writeUInt16LE(this._driverAIEnabled ? 1 : 0, offset); - offset += 2; // offset is 389 - buf.write(this._topDog, offset, 13); - offset += 13; // offset is 402 - buf.write(this._turfOwner, offset, 33); - offset += 33; // offset is 435 - buf.writeUInt32LE(this._qualifyingTime, offset); - offset += 4; // offset is 439 - buf.writeUInt32LE(this._numberOfClubPlayers, offset); - offset += 4; // offset is 443 - buf.writeUInt32LE(this._numberofClubLaps, offset); - offset += 4; // offset is 447 - buf.writeUInt32LE(this._numberOfClubRounds, offset); - offset += 4; // offset is 451 - buf.writeUInt16LE(this._clubNight, offset); - offset += 2; // offset is 453 - buf.writeUInt16LE(this._clubWeather, offset); - offset += 2; // offset is 455 - buf.writeUInt16LE(this._clubBackwards, offset); - offset += 2; // offset is 457 - buf.writeUInt32LE(this._bestLapTime, offset); - offset += 4; // offset is 461 - buf.writeUInt32LE(this._lobbyDifficulty, offset); - offset += 4; // offset is 465 - buf.writeUInt32LE(this._timetrialPointsToQualify, offset); - offset += 4; // offset is 469 - buf.writeUInt32LE(this._timetrialCashToQualify, offset); - offset += 4; // offset is 473 - buf.writeUInt32LE(this._timetrialPointsBonusIncrements, offset); - offset += 4; // offset is 477 - buf.writeUInt32LE(this._timetrialCashBonusIncrements, offset); - offset += 4; // offset is 481 - buf.writeUInt32LE(this._timetrialTimeIncrements, offset); - offset += 4; // offset is 485 - buf.writeUInt32LE(this._timetrial1stPlaceVictoryPoints, offset); - offset += 4; // offset is 489 - buf.writeUInt32LE(this._timetrial1stPlaceVictoryCash, offset); - offset += 4; // offset is 493 - buf.writeUInt32LE(this._timetrial2ndPlaceVictoryPoints, offset); - offset += 4; // offset is 497 - buf.writeUInt32LE(this._timetrial2ndPlaceVictoryCash, offset); - offset += 4; // offset is 501 - buf.writeUInt32LE(this._timetrial3rdPlaceVictoryPoints, offset); - offset += 4; // offset is 505 - buf.writeUInt32LE(this._timetrial3rdPlaceVictoryCash, offset); - offset += 4; // offset is 509 - buf.writeUInt16LE(this._minLevel, offset); - offset += 2; // offset is 511 - buf.writeUInt32LE(this._minResetSlice, offset); - offset += 4; // offset is 515 - buf.writeUInt32LE(this._maxResetSlice, offset); - offset += 4; // offset is 519 - buf.writeUInt16LE(this._newbieFlag, offset); - offset += 2; // offset is 521 - buf.writeUInt16LE(this._driverHelmetFlag, offset); - offset += 2; // offset is 523 - buf.writeUInt16LE(this._clubMaxNumberPlayers, offset); - offset += 2; // offset is 525 - buf.writeUInt16LE(this._clubMinNumberPlayers, offset); - offset += 2; // offset is 527 - buf.writeUInt16LE(this._clubNumberPlayersDefault, offset); - offset += 2; // offset is 529 - buf.writeUInt16LE(this._minNumberOfClubs, offset); - offset += 2; // offset is 531 - buf.writeUInt16LE(this._maxNumberOfClubs, offset); - offset += 2; // offset is 533 - buf.writeUInt32LE(this._racePointsFactor, offset); - offset += 4; // offset is 537 - buf.writeUInt16LE(this._maxBodyClass, offset); - offset += 2; // offset is 539 - buf.writeUInt16LE(this._maxPowerClass, offset); - offset += 2; // offset is 541 - buf.writeUInt16LE(this._partsPrizeMax, offset); - offset += 2; // offset is 543 - buf.writeUInt16LE(this._partsPrizeWon, offset); - offset += 2; // offset is 545 - buf.writeUInt32LE(this._clubLogoId, offset); - offset += 4; // offset is 549 - buf.writeUInt16LE(this._teamTrialsWeatherFlag ? 1 : 0, offset); - offset += 2; // offset is 551 - buf.writeUInt16LE(this._teamTrialsNightFlag ? 1 : 0, offset); - offset += 2; // offset is 553 - buf.writeUInt16LE(this._teamTrialsBackwardsFlag ? 1 : 0, offset); - offset += 2; // offset is 555 - buf.writeUInt16LE(this._teamTrialsNumberLaps, offset); - offset += 2; // offset is 557 - buf.writeUInt16LE(this._teamTrialsBaseTimeUnderPar, offset); - offset += 2; // offset is 559 - buf.writeUInt32LE(this._raceCashFactor, offset); - // offset is 563 - - return buf; - } - - override toString() { - return `LobbyInfo { - lobbyId: ${this._lobbyId}, - raceTypeId: ${this._raceTypeId}, - terfId: ${this._terfId}, - lobbyName: ${this._lobbyName}, - turfName: ${this._turfName}, - clientArt: ${this._clientArt}, - elementId: ${this._elementId}, - turfLengthId: ${this._turfLengthId}, - startSlice: ${this._startSlice}, - endSlice: ${this._endSlice}, - dragStageLeft: ${this._dragStageLeft}, - dragStageRight: ${this._dragStageRight}, - dragStagingSlice: ${this._dragStagingSlice}, - gridSpreadFactor: ${this._gridSpreadFactor}, - linear: ${this._linear}, - minNumberPlayers: ${this._minNumberPlayers}, - maxNumberPlayers: ${this._maxNumberPlayers}, - defaultNumberPlayers: ${this._defaultNumberPlayers}, - numberOfPlayersEnabled: ${this._numberOfPlayersEnabled}, - minLaps: ${this._minLaps}, - maxLaps: ${this._maxLaps}, - defaultNumberOfLaps: ${this._defaultNumberOfLaps}, - numberOfLapsEnabled: ${this._numberOfLapsEnabled}, - minNumberRounds: ${this._minNumberRounds}, - maxNumberRounds: ${this._maxNumberRounds}, - defaultNumberRounds: ${this._defaultNumberRounds}, - numberOfRoundsEnabled: ${this._numberOfRoundsEnabled}, - defaultWeather: ${this._defaultWeather}, - weatherEnabled: ${this._weatherEnabled}, - defaultNight: ${this._defaultNight}, - nightEnabled: ${this._nightEnabled}, - defaultBackwards: ${this._defaultBackwards}, - backwardsEnabled: ${this._backwardsEnabled}, - defaultTraffic: ${this._defaultTraffic}, - trafficEnabled: ${this._trafficEnabled}, - defaultDriverAI: ${this._defaultDriverAI}, - driverAIEnabled: ${this._driverAIEnabled}, - topDog: ${this._topDog}, - turfOwner: ${this._turfOwner}, - qualifyingTime: ${this._qualifyingTime}, - numberOfClubPlayers: ${this._numberOfClubPlayers}, - numberofClubLaps: ${this._numberofClubLaps}, - numberOfClubRounds: ${this._numberOfClubRounds}, - clubNight: ${this._clubNight}, - clubWeather: ${this._clubWeather}, - clubBackwards: ${this._clubBackwards}, - bestLapTime: ${this._bestLapTime}, - lobbyDifficulty: ${this._lobbyDifficulty}, - timetrialPointsToQualify: ${this._timetrialPointsToQualify}, - timetrialCashToQualify: ${this._timetrialCashToQualify}, - timetrialPointsBonusIncrements: ${this._timetrialPointsBonusIncrements}, - timetrialCashBonusIncrements: ${this._timetrialCashBonusIncrements}, - timetrialTimeIncrements: ${this._timetrialTimeIncrements}, - timetrial1stPlaceVictoryPoints: ${this._timetrial1stPlaceVictoryPoints}, - timetrial1stPlaceVictoryCash: ${this._timetrial1stPlaceVictoryCash}, - timetrial2ndPlaceVictoryPoints: ${this._timetrial2ndPlaceVictoryPoints}, - timetrial2ndPlaceVictoryCash: ${this._timetrial2ndPlaceVictoryCash}, - timetrial3rdPlaceVictoryPoints: ${this._timetrial3rdPlaceVictoryPoints}, - timetrial3rdPlaceVictoryCash: ${this._timetrial3rdPlaceVictoryCash}, - minLevel: ${this._minLevel}, - minResetSlice: ${this._minResetSlice}, - maxResetSlice: ${this._maxResetSlice}, - newbieFlag: ${this._newbieFlag}, - driverHelmetFlag: ${this._driverHelmetFlag}, - clubMaxNumberPlayers: ${this._clubMaxNumberPlayers}, - clubMinNumberPlayers: ${this._clubMinNumberPlayers}, - clubNumberPlayersDefault: ${this._clubNumberPlayersDefault}, - minNumberOfClubs: ${this._minNumberOfClubs}, - maxNumberOfClubs: ${this._maxNumberOfClubs}, - racePointsFactor: ${this._racePointsFactor}, - maxBodyClass: ${this._maxBodyClass}, - maxPowerClass: ${this._maxPowerClass}, - partsPrizeMax: ${this._partsPrizeMax}, - partsPrizeWon: ${this._partsPrizeWon}, - clubLogoId: ${this._clubLogoId}, - teamTrialsWeatherFlag: ${this._teamTrialsWeatherFlag}, - teamTrialsNightFlag: ${this._teamTrialsNightFlag}, - teamTrialsBackwardsFlag: ${this._teamTrialsBackwardsFlag}, - teamTrialsNumberLaps: ${this._teamTrialsNumberLaps}, - teamTrialsBaseTimeUnderPar: ${this._teamTrialsBaseTimeUnderPar}, - raceCashFactor: ${this._raceCashFactor}, -}`; - } -} diff --git a/packages/transactions/src/OwnedVehiclesMessage.d.ts b/packages/transactions/src/OwnedVehiclesMessage.d.ts deleted file mode 100644 index ada81ffca..000000000 --- a/packages/transactions/src/OwnedVehiclesMessage.d.ts +++ /dev/null @@ -1,28 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the player's owned vehicles - * This is the body of a MessageNode - */ -export declare class OwnedVehiclesMessage extends SerializedBuffer { - _msgNo: number; - _numberOfVehicles: number; - _vehicleList: OwnedVehicle[]; - constructor(); - size(): number; - /** - * Add a lobby to the list - * @param {GameUrl} lobby - */ - addVehicle(vehicle: OwnedVehicle): void; - serialize(): Buffer; - toString(): string; -} -export declare class OwnedVehicle extends SerializedBuffer { - _vehicleId: number; - _brandedPartId: number; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/OwnedVehiclesMessage.ts b/packages/transactions/src/OwnedVehiclesMessage.ts deleted file mode 100644 index 2436ec3bd..000000000 --- a/packages/transactions/src/OwnedVehiclesMessage.ts +++ /dev/null @@ -1,96 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer } from "../../shared"; - -/** - * A message listing the player's owned vehicles - * This is the body of a MessageNode - */ -export class OwnedVehiclesMessage extends SerializedBuffer { - _msgNo: number; - _numberOfVehicles: number; - _vehicleList: OwnedVehicle[]; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._numberOfVehicles = 0; // 1 bytes - /** @type {OwnedVehicle[]} */ - this._vehicleList = []; // 8 bytes each - } - - override size() { - return 5 + this._vehicleList.length * 8; - } - - /** - * Add a lobby to the list - * @param {GameUrl} lobby - */ - addVehicle(vehicle: OwnedVehicle) { - this._vehicleList.push(vehicle); - this._numberOfVehicles++; - } - - override serialize() { - const neededSize = 4 + this._vehicleList.length * 8; - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeInt8(this._numberOfVehicles, offset); - offset += 1; // offset is 3 - for (const vehicle of this._vehicleList) { - const vehicleBuffer = vehicle.serialize(); - vehicleBuffer.copy(buffer, offset); - offset += vehicleBuffer.length; - } - - return buffer; - } - - override toString() { - return `OwnedVehiclesMessage: msgNo=${this._msgNo} numberOfVehicles=${this._numberOfVehicles}`; - } -} - -export class OwnedVehicle extends SerializedBuffer { - _vehicleId: number; - _brandedPartId: number; - constructor() { - super(); - this._vehicleId = 0; // 4 bytes - this._brandedPartId = 0; // 4 bytes - } - - override size() { - return 8; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buffer.writeUInt32LE(this._vehicleId, offset); - offset += 4; // offset is 4 - buffer.writeUInt32LE(this._brandedPartId, offset); - - return buffer; - } - - override toString() { - return `OwnedVehicle: vehicleId=${this._vehicleId} brandedPartId=${this._brandedPartId}`; - } -} diff --git a/packages/transactions/src/PartsAssemblyMessage.d.ts b/packages/transactions/src/PartsAssemblyMessage.d.ts deleted file mode 100644 index 4fa798732..000000000 --- a/packages/transactions/src/PartsAssemblyMessage.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -export declare class PartsAssemblyMessage extends SerializedBuffer { - _msgNo: number; - _ownerId: number; - _numberOfParts: number; - _partList: Part[]; - constructor(owerId: number); - size(): number; - serialize(): Buffer; -} -export declare class Part extends SerializedBuffer { - _partId: number; - _parentPartId: number; - _brandedPartId: number; - _repairPrice: number; - _junkPrice: number; - _wear: number; - _attachmentPoint: number; - _damage: number; - _retailPrice: number; - _maxWear: number; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/PartsAssemblyMessage.ts b/packages/transactions/src/PartsAssemblyMessage.ts deleted file mode 100644 index 3e2a294e3..000000000 --- a/packages/transactions/src/PartsAssemblyMessage.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { SerializedBuffer } from "../../shared"; - -export class PartsAssemblyMessage extends SerializedBuffer { - _msgNo: number; - _ownerId: number; - _numberOfParts: number; - _partList: Part[]; - constructor(owerId: number) { - super(); - this._msgNo = 0; // 2 bytes - this._ownerId = owerId; // 4 bytes - this._numberOfParts = 0; // 1 bytes - /** @type {Part[]} */ - this._partList = []; // 34 bytes each - } - - override size() { - return 7 + this._partList.length * 34; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt32LE(this._ownerId, offset); - offset += 4; // offset is 6 - buffer.writeInt8(this._numberOfParts, offset); - offset += 1; // offset is 7 - for (const part of this._partList) { - const partBuffer = part.serialize(); - partBuffer.copy(buffer, offset); - offset += partBuffer.length; - } - - return buffer; - } -} - -export class Part extends SerializedBuffer { - _partId: number; // 4 bytes - _parentPartId: number; // 4 bytes - _brandedPartId: number; // 4 bytes - _repairPrice: number; // 4 bytes - _junkPrice: number; // 4 bytes - _wear: number; // 4 bytes - _attachmentPoint: number; // 1 byte - _damage: number; // 1 byte - _retailPrice: number; // 4 bytes - _maxWear: number; // 4 bytes - - constructor() { - super(); - this._partId = 0; // 4 bytes - this._parentPartId = 0; // 4 bytes - this._brandedPartId = 0; // 4 bytes - this._repairPrice = 0; // 4 bytes - this._junkPrice = 0; // 4 bytes - this._wear = 0; // 4 bytes - this._attachmentPoint = 0; // 1 byte - this._damage = 0; // 1 byte - this._retailPrice = 0; // 4 bytes - this._maxWear = 0; // 4 bytes - // 33 bytes total - } - - override size() { - return 34; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt32LE(this._partId, offset); - offset += 4; // offset is 4 - buffer.writeUInt32LE(this._parentPartId, offset); - offset += 4; // offset is 8 - buffer.writeUInt32LE(this._brandedPartId, offset); - offset += 4; // offset is 12 - buffer.writeUInt32LE(this._repairPrice, offset); - offset += 4; // offset is 16 - buffer.writeUInt32LE(this._junkPrice, offset); - offset += 4; // offset is 20 - buffer.writeUInt32LE(this._wear, offset); - offset += 4; // offset is 24 - buffer.writeUInt8(this._attachmentPoint, offset); - offset += 1; // offset is 25 - buffer.writeUInt8(this._damage, offset); - offset += 1; // offset is 26 - buffer.writeUInt32LE(this._retailPrice, offset); - offset += 4; // offset is 30 - buffer.writeUInt32LE(this._maxWear, offset); - // offset += 4; // offset is 34 - - return buffer; - } - - override toString() { - return `Part: partId=${this._partId} parentPartId=${this._parentPartId} brandedPartId=${this._brandedPartId} repairPrice=${this._repairPrice} junkPrice=${this._junkPrice} wear=${this._wear} attachmentPoint=${this._attachmentPoint} damage=${this._damage} retailPrice=${this._retailPrice} maxWear=${this._maxWear}`; - } -} diff --git a/packages/transactions/src/PlayerInfoMessage.d.ts b/packages/transactions/src/PlayerInfoMessage.d.ts deleted file mode 100644 index ca284f208..000000000 --- a/packages/transactions/src/PlayerInfoMessage.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -import { Timestamp } from "../../shared"; -/** - * A message listing the player's owned vehicles - * This is the body of a MessageNode - */ -export declare class PlayerInfoMessage extends SerializedBuffer { - _msgNo: number; - _playerId: number; - _playerName: string; - _driversLicense: string; - _driverClass: number; - _bankBalance: number; - _numberOfVehicles: number; - _isLoggedOn: boolean; - _carsList: string[]; - _licensesPlateCode: number; - _licensesPlateText: string; - _carInfoSetttings: number; - _vehicleId: number; - _numberOfRacesEntered: number; - _numberOfRacesWon: number; - _numberOfRacesCompleted: number; - _totalWinings: number; - _insuranceRisk: number; - _insurancePoints: number; - _challengeRacesEntered: number; - _challengeRacesWon: number; - _challengeRacesCompleted: number; - _numberofCarsWon: number; - _numberOfCarsLost: number; - _points: number; - _currentLevel: number; - _currentRank: number; - _numberOfPointsToNextLevel: number; - _numberOfPointsToNextRank: number; - _maxInventorySlots: number; - _numberOfInventorySlotsUsed: number; - _numberOfInventoryIemsOnAuction: number; - _highestBidInAuction: number; - _currentClub: number; - _dateLeftClub: Timestamp; - _canBeInvitedToClub: boolean; - _playerDescription: string; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/PlayerInfoMessage.ts b/packages/transactions/src/PlayerInfoMessage.ts deleted file mode 100644 index e6de774d4..000000000 --- a/packages/transactions/src/PlayerInfoMessage.ts +++ /dev/null @@ -1,217 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer, serializeStringRaw } from "../../shared"; -import { Timestamp } from "../../shared"; - -/** - * A message listing the player's owned vehicles - * This is the body of a MessageNode - */ -export class PlayerInfoMessage extends SerializedBuffer { - _msgNo: number; // 2 bytes - _playerId: number; // 4 bytes - _playerName: string; // 13 bytes - _driversLicense: string; // 12 bytes - _driverClass: number; // 1 byte - _bankBalance: number; // 4 bytes - _numberOfVehicles: number; // 2 bytes - _isLoggedOn: boolean; // 1 byte - _carsList: string[] = []; // 6 entries of 3 byte strings - _licensesPlateCode: number; // 2 bytes - _licensesPlateText: string; // 8 bytes - _carInfoSetttings: number; // 4 bytes - _vehicleId: number; // 4 bytes - _numberOfRacesEntered: number; // 4 bytes - _numberOfRacesWon: number; // 4 bytes - _numberOfRacesCompleted: number; // 4 bytes - _totalWinings: number; // 4 bytes - _insuranceRisk: number; // 2 bytes - _insurancePoints: number; // 4 bytes - _challengeRacesEntered: number; // 4 bytes - _challengeRacesWon: number; // 4 bytes - _challengeRacesCompleted: number; // 4 bytes - _numberofCarsWon: number; // 2 bytes - _numberOfCarsLost: number; // 2 bytes - _points: number; // 4 bytes - _currentLevel: number; // 4 bytes - _currentRank: number; // 4 bytes - _numberOfPointsToNextLevel: number; // 2 bytes - _numberOfPointsToNextRank: number; // 2 bytes - _maxInventorySlots: number; // 4 bytes - _numberOfInventorySlotsUsed: number; // 4 bytes - _numberOfInventoryIemsOnAuction: number; // 4 bytes - _highestBidInAuction: number; // 4 bytes - _currentClub: number; // 4 bytes - _dateLeftClub: Timestamp; // 4 bytes - _canBeInvitedToClub: boolean; // 1 byte - _playerDescription: string; // 256 + 1 bytes - - constructor() { - super(); - this._msgNo = 122; // 2 bytes - this._playerId = 0; // 4 bytes - this._playerName = ""; // 13 bytes - this._driversLicense = ""; // 12 bytes - this._driverClass = 0; // 1 byte - this._bankBalance = 0; // 4 bytes - this._numberOfVehicles = 0; // 2 bytes - this._isLoggedOn = false; // 1 byte - this._carsList = ["", "", "", "", "", ""]; // 6 entries of 3 byte strings - this._licensesPlateCode = 0; // 2 bytes - this._licensesPlateText = ""; // 8 bytes - this._carInfoSetttings = 0; // 4 bytes - this._vehicleId = 0; // 4 bytes - this._numberOfRacesEntered = 0; // 4 bytes - this._numberOfRacesWon = 0; // 4 bytes - this._numberOfRacesCompleted = 0; // 4 bytes - this._totalWinings = 0; // 4 bytes - this._insuranceRisk = 0; // 2 bytes - this._insurancePoints = 0; // 4 bytes - this._challengeRacesEntered = 0; // 4 bytes - this._challengeRacesWon = 0; // 4 bytes - this._challengeRacesCompleted = 0; // 4 bytes - this._numberofCarsWon = 0; // 2 bytes - this._numberOfCarsLost = 0; // 2 bytes - this._points = 0; // 4 bytes - this._currentLevel = 0; // 4 bytes - this._currentRank = 0; // 4 bytes - this._numberOfPointsToNextLevel = 0; // 2 bytes - this._numberOfPointsToNextRank = 0; // 2 bytes - this._maxInventorySlots = 0; // 4 bytes - this._numberOfInventorySlotsUsed = 0; // 4 bytes - this._numberOfInventoryIemsOnAuction = 0; // 4 bytes - this._highestBidInAuction = 0; // 4 bytes - this._currentClub = 0; // 4 bytes - this._dateLeftClub = new Timestamp(); // 4 bytes - this._canBeInvitedToClub = false; // 1 byte - this._playerDescription = ""; // 256 + 1 bytes - // total byes: 128 + 256 + 1 = 385 - } - - override size() { - return 385; - } - - override serialize() { - const neededSize = this.size(); - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt32LE(this._playerId, offset); - offset += 4; // offset is 6 - serializeStringRaw( - this._playerName.substring(0, 12), - buffer, - offset, - 13, - ); - offset += 13; // offset is 19 - serializeStringRaw( - this._driversLicense.substring(0, 11), - buffer, - offset, - 12, - ); - offset += 12; // offset is 31 - buffer.writeUInt8(this._driverClass, offset); - offset += 1; // offset is 32 - buffer.writeUInt32LE(this._bankBalance, offset); - offset += 4; // offset is 36 - buffer.writeUInt16LE(this._numberOfVehicles, offset); - offset += 2; // offset is 38 - buffer.writeUInt8(this._isLoggedOn ? 1 : 0, offset); - offset += 1; // offset is 39 - for (const car of this._carsList) { - buffer.write(car, offset); - serializeStringRaw(car, buffer, offset, 3); - offset += 3; - } - buffer.writeUInt16LE(this._licensesPlateCode, offset); - offset += 2; // offset is 41 - serializeStringRaw( - this._licensesPlateText.substring(0, 7), - buffer, - offset, - 8, - ); - offset += 8; // offset is 49 - buffer.writeUInt32LE(this._carInfoSetttings, offset); - offset += 4; // offset is 53 - buffer.writeUInt32LE(this._vehicleId, offset); - offset += 4; // offset is 57 - buffer.writeUInt32LE(this._numberOfRacesEntered, offset); - offset += 4; // offset is 61 - buffer.writeUInt32LE(this._numberOfRacesWon, offset); - offset += 4; // offset is 65 - buffer.writeUInt32LE(this._numberOfRacesCompleted, offset); - offset += 4; // offset is 69 - buffer.writeUInt32LE(this._totalWinings, offset); - offset += 4; // offset is 73 - buffer.writeUInt16LE(this._insuranceRisk, offset); - offset += 2; // offset is 75 - buffer.writeUInt32LE(this._insurancePoints, offset); - offset += 4; // offset is 79 - buffer.writeUInt32LE(this._challengeRacesEntered, offset); - offset += 4; // offset is 83 - buffer.writeUInt32LE(this._challengeRacesWon, offset); - offset += 4; // offset is 87 - buffer.writeUInt32LE(this._challengeRacesCompleted, offset); - offset += 4; // offset is 91 - buffer.writeUInt16LE(this._numberofCarsWon, offset); - offset += 2; // offset is 93 - buffer.writeUInt16LE(this._numberOfCarsLost, offset); - offset += 2; // offset is 95 - buffer.writeUInt32LE(this._points, offset); - offset += 4; // offset is 99 - buffer.writeUInt32LE(this._currentLevel, offset); - offset += 4; // offset is 103 - buffer.writeUInt32LE(this._currentRank, offset); - offset += 4; // offset is 107 - buffer.writeUInt16LE(this._numberOfPointsToNextLevel, offset); - offset += 2; // offset is 109 - buffer.writeUInt16LE(this._numberOfPointsToNextRank, offset); - offset += 2; // offset is 111 - buffer.writeUInt32LE(this._maxInventorySlots, offset); - offset += 4; // offset is 115 - buffer.writeUInt32LE(this._numberOfInventorySlotsUsed, offset); - offset += 4; // offset is 119 - buffer.writeUInt32LE(this._numberOfInventoryIemsOnAuction, offset); - offset += 4; // offset is 123 - buffer.writeUInt32LE(this._highestBidInAuction, offset); - offset += 4; // offset is 127 - buffer.writeUInt32LE(this._currentClub, offset); - offset += 4; // offset is 131 - const dateLeftClubBuffer = this._dateLeftClub.as64BitNumber(); - buffer.writeUInt32LE(dateLeftClubBuffer, offset); - offset += 4; // offset is 135 - buffer.writeUInt8(this._canBeInvitedToClub ? 1 : 0, offset); - offset += 1; // offset is 136 - serializeStringRaw( - this._playerDescription.substring(0, 255), - buffer, - offset, - 256, - ); - - return buffer; - } - - override toString() { - return `PlayerInfoMessage: msgNo=${this._msgNo} playerId=${this._playerId} playerName=${this._playerName} driversLicense=${this._driversLicense} driverClass=${this._driverClass} bankBalance=${this._bankBalance} numberOfVehicles=${this._numberOfVehicles} isLoggedOn=${this._isLoggedOn} carsList=${this._carsList} licensesPlateCode=${this._licensesPlateCode} licensesPlateText=${this._licensesPlateText} carInfoSetttings=${this._carInfoSetttings} vehicleId=${this._vehicleId} numberOfRacesEntered=${this._numberOfRacesEntered} numberOfRacesWon=${this._numberOfRacesWon} numberOfRacesCompleted=${this._numberOfRacesCompleted} totalWinings=${this._totalWinings} insuranceRisk=${this._insuranceRisk} insurancePoints=${this._insurancePoints} challengeRacesEntered=${this._challengeRacesEntered} challengeRacesWon=${this._challengeRacesWon} challengeRacesCompleted=${this._challengeRacesCompleted} numberofCarsWon=${this._numberofCarsWon} numberOfCarsLost=${this._numberOfCarsLost} points=${this._points} currentLevel=${this._currentLevel} currentRank=${this._currentRank} numberOfPointsToNextLevel=${this._numberOfPointsToNextLevel} numberOfPointsToNextRank=${this._numberOfPointsToNextRank} maxInventorySlots=${this._maxInventorySlots} numberOfInventorySlotsUsed=${this._numberOfInventorySlotsUsed} numberOfInventoryIemsOnAuction=${this._numberOfInventoryIemsOnAuction} highestBidInAuction=${this._highestBidInAuction} currentClub=${this._currentClub} dateLeftClub=${this._dateLeftClub} canBeInvitedToClub=${this._canBeInvitedToClub} playerDescription=${this._playerDescription}`; - } -} diff --git a/packages/transactions/src/PlayerPhysicalMessage.d.ts b/packages/transactions/src/PlayerPhysicalMessage.d.ts deleted file mode 100644 index c3e4f341f..000000000 --- a/packages/transactions/src/PlayerPhysicalMessage.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -export declare class PlayerPhysicalMessage extends SerializedBuffer { - _msgNo: number; - _playerId: number; - _bodytype: number; - _hairColor: number; - _skinColor: number; - _shirtColor: number; - _pantsColor: number; - constructor(); - size(): number; - serialize(): Buffer; - deserialize(buffer: Buffer): void; - toString(): string; -} diff --git a/packages/transactions/src/PlayerPhysicalMessage.ts b/packages/transactions/src/PlayerPhysicalMessage.ts deleted file mode 100644 index dedb0634e..000000000 --- a/packages/transactions/src/PlayerPhysicalMessage.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { SerializedBuffer } from "../../shared"; - -export class PlayerPhysicalMessage extends SerializedBuffer { - _msgNo: number; // 2 bytes - _playerId: number; // 4 bytes - _bodytype: number; // 4 bytes - _hairColor: number; // 4 bytes - _skinColor: number; // 4 bytes - _shirtColor: number; // 4 bytes - _pantsColor: number; // 4 bytes - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._playerId = 0; // 4 bytes - this._bodytype = 0; // 4 bytes - this._hairColor = 0; // 4 bytes - this._skinColor = 0; // 4 bytes - this._shirtColor = 0; // 4 bytes - this._pantsColor = 0; // 4 bytes - // total: 26 bytes - } - - override size() { - return 26; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt16BE(this._msgNo, offset); - offset += 2; - buffer.writeUInt32BE(this._playerId, offset); - offset += 4; - buffer.writeUInt32BE(this._bodytype, offset); - offset += 4; - buffer.writeUInt32BE(this._hairColor, offset); - offset += 4; - buffer.writeUInt32BE(this._skinColor, offset); - offset += 4; - buffer.writeUInt32BE(this._shirtColor, offset); - offset += 4; - buffer.writeUInt32BE(this._pantsColor, offset); - - return buffer; - } - - deserialize(buffer: Buffer) { - let offset = 0; - this._msgNo = buffer.readUInt16BE(offset); - offset += 2; - this._playerId = buffer.readUInt32BE(offset); - offset += 4; - this._bodytype = buffer.readUInt32BE(offset); - offset += 4; - this._hairColor = buffer.readUInt32BE(offset); - offset += 4; - this._skinColor = buffer.readUInt32BE(offset); - offset += 4; - this._shirtColor = buffer.readUInt32BE(offset); - offset += 4; - this._pantsColor = buffer.readUInt32BE(offset); - } - - override toString() { - return `PlayerPhysicalMessage: msgNo=${this._msgNo} playerId=${this._playerId} bodytype=${this._bodytype} hairColor=${this._hairColor} skinColor=${this._skinColor} shirtColor=${this._shirtColor} pantsColor=${this._pantsColor}`; - } -} diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.d.ts b/packages/transactions/src/PlayerRacingHistoryMessage.d.ts deleted file mode 100644 index 121f3fab4..000000000 --- a/packages/transactions/src/PlayerRacingHistoryMessage.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -export declare class PlayerRacingHistoryMessage extends SerializedBuffer { - _msgId: number; - _userId: number; - _numRaces: number; - _expectMore: boolean; - _raceHistoryRecords: RacingHistoryRecordEntry[]; - constructor(); - size(): number; - addRecord(record: RacingHistoryRecordEntry): void; - deserialize(buffer: Buffer): PlayerRacingHistoryMessage; - serialize(): Buffer; - asString(): string; -} -export declare class RacingHistoryRecordEntry extends SerializedBuffer { - raceType: number; - numberOfRacesEntered: number; - numberOfRacesFinished: number; - numberOfRacesWon: number; - numberOfCarsWon: number; - numberOfCarsLost: number; - numberOfChampionshipsWon: number; - cashWon: number; - constructor(); - size(): number; - serialize(): Buffer; - deserialize(buffer: Buffer): RacingHistoryRecordEntry; - asString(): string; -} diff --git a/packages/transactions/src/PlayerRacingHistoryMessage.ts b/packages/transactions/src/PlayerRacingHistoryMessage.ts deleted file mode 100644 index 158bb92b1..000000000 --- a/packages/transactions/src/PlayerRacingHistoryMessage.ts +++ /dev/null @@ -1,164 +0,0 @@ -import { SerializedBuffer } from "../../shared"; -import type { RacingHistoryRecord } from "./_getPlayerRaceHistory"; - -export class PlayerRacingHistoryMessage extends SerializedBuffer { - _msgId: number; // 2 bytes - _userId: number; // 4 bytes - _numRaces: number; // 2 bytes - _expectMore: boolean; // 1 byte - _raceHistoryRecords: RacingHistoryRecordEntry[]; // 32 bytes each - - constructor() { - super(); - this._msgId = 0; - this._userId = 0; - this._numRaces = 0; - this._expectMore = false; - this._raceHistoryRecords = []; - // total: 39 bytes + 32 bytes * numRaces - } - - override size(): number { - return 39 + this._numRaces * 32; - } - - addRecord(record: RacingHistoryRecordEntry) { - this._raceHistoryRecords.push(record); - this._numRaces++; - } - - deserialize(buffer: Buffer): PlayerRacingHistoryMessage { - let offset = 0; - this._msgId = buffer.readInt16LE(offset); - offset += 2; - this._userId = buffer.readInt32LE(offset); - offset += 4; - this._numRaces = buffer.readInt16LE(offset); - offset += 2; - this._expectMore = buffer.readInt8(offset) === 1; - offset += 1; - for (let i = 0; i < this._numRaces; i++) { - const record = new RacingHistoryRecordEntry(); - record.deserialize(buffer.subarray(offset, offset + 32)); - offset += 32; - this._raceHistoryRecords.push(record); - } - - return this; - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeInt16LE(this._msgId, offset); - offset += 2; - buffer.writeInt32LE(this._userId, offset); - offset += 4; - buffer.writeInt16LE(this._numRaces, offset); - offset += 2; - buffer.writeInt8(this._expectMore ? 1 : 0, offset); - offset += 1; - for (let i = 0; i < this._numRaces; i++) { - if (typeof this._raceHistoryRecords[i] === "undefined") { - break; - } - - (this._raceHistoryRecords[i] as RacingHistoryRecordEntry) - .serialize() - .copy(buffer, offset); - offset += 32; - } - - return buffer; - } - - asString(): string { - let result = `PlayerRacingHistoryMessage: MsgId: ${this._msgId}, UserId: ${this._userId}, NumRaces: ${this._numRaces}, ExpectMore: ${this._expectMore}`; - for (let i = 0; i < this._numRaces; i++) { - if (typeof this._raceHistoryRecords[i] === "undefined") { - result += "\nNo more records"; - } - - result += `\n${(this._raceHistoryRecords[i] as RacingHistoryRecordEntry).asString()}`; - } - - return result; - } -} - -export class RacingHistoryRecordEntry extends SerializedBuffer { - raceType: number; // 4 bytes - numberOfRacesEntered: number; // 4 bytes - numberOfRacesFinished: number; // 4 bytes - numberOfRacesWon: number; // 4 bytes - numberOfCarsWon: number; // 4 bytes - numberOfCarsLost: number; // 4 bytes - numberOfChampionshipsWon: number; // 4 bytes - cashWon: number; // 4 bytes - - constructor() { - super(); - this.raceType = 0; - this.numberOfRacesEntered = 0; - this.numberOfRacesFinished = 0; - this.numberOfRacesWon = 0; - this.numberOfCarsWon = 0; - this.numberOfCarsLost = 0; - this.numberOfChampionshipsWon = 0; - this.cashWon = 0; - // total: 32 bytes - } - - override size(): number { - return 32; - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeInt32LE(this.raceType, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfRacesEntered, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfRacesFinished, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfRacesWon, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfCarsWon, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfCarsLost, offset); - offset += 4; - buffer.writeInt32LE(this.numberOfChampionshipsWon, offset); - offset += 4; - buffer.writeInt32LE(this.cashWon, offset); - // total: 8 * 4 = 32 bytes - - return buffer; - } - - deserialize(buffer: Buffer): RacingHistoryRecordEntry { - let offset = 0; - this.raceType = buffer.readInt32LE(offset); - offset += 4; - this.numberOfRacesEntered = buffer.readInt32LE(offset); - offset += 4; - this.numberOfRacesFinished = buffer.readInt32LE(offset); - offset += 4; - this.numberOfRacesWon = buffer.readInt32LE(offset); - offset += 4; - this.numberOfCarsWon = buffer.readInt32LE(offset); - offset += 4; - this.numberOfCarsLost = buffer.readInt32LE(offset); - offset += 4; - this.numberOfChampionshipsWon = buffer.readInt32LE(offset); - offset += 4; - this.cashWon = buffer.readInt32LE(offset); - // total: 8 * 4 = 32 bytes - - return this; - } - - asString(): string { - return `RacingHistoryRecord: RaceType: ${this.raceType}, NumberOfRacesEntered: ${this.numberOfRacesEntered}, NumberOfRacesFinished: ${this.numberOfRacesFinished}, NumberOfRacesWon: ${this.numberOfRacesWon}, NumberOfCarsWon: ${this.numberOfCarsWon}, NumberOfCarsLost: ${this.numberOfCarsLost}, NumberOfChampionshipsWon: ${this.numberOfChampionshipsWon}, CashWon: ${this.cashWon}`; - } -} diff --git a/packages/transactions/src/StockCar.d.ts b/packages/transactions/src/StockCar.d.ts deleted file mode 100644 index 7dcf4d564..000000000 --- a/packages/transactions/src/StockCar.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -/** - * Container object for Stock cars - */ -/** - * @class - * @property {number} brandedPartId - * @property {number} retailPrice - * @property {0 | 1} bIsDealOfTheDay - */ -/// -export declare class StockCar { - brandedPartId: number; - retailPrice: number; - bIsDealOfTheDay: boolean; - /** - * @param {number} brandedPartId - * @param {number} retailPrice - * @param {boolean} bIsDealOfTheDay - */ - constructor( - brandedPartId: number, - retailPrice: number, - bIsDealOfTheDay: boolean, - ); - /** - * - * @return {Buffer} - */ - serialize(): Buffer; - /** - * @return {string} - */ - toString(): string; -} diff --git a/packages/transactions/src/StockCar.ts b/packages/transactions/src/StockCar.ts deleted file mode 100644 index 57a74cfb9..000000000 --- a/packages/transactions/src/StockCar.ts +++ /dev/null @@ -1,56 +0,0 @@ -/** - * Container object for Stock cars - */ -// DWORD brandedPartID; -// DWORD retailPrice; -// WORD bIsDealOfTheDay; -/** - * @class - * @property {number} brandedPartId - * @property {number} retailPrice - * @property {0 | 1} bIsDealOfTheDay - */ - -export class StockCar { - brandedPartId: number; - retailPrice: number; - bIsDealOfTheDay: boolean; - /** - * @param {number} brandedPartId - * @param {number} retailPrice - * @param {boolean} bIsDealOfTheDay - */ - constructor( - brandedPartId: number, - retailPrice: number, - bIsDealOfTheDay: boolean, - ) { - this.brandedPartId = brandedPartId; // 4 bytes - this.retailPrice = retailPrice; // 4 bytes - this.bIsDealOfTheDay = bIsDealOfTheDay; // 2 bytes - } - - /** - * - * @return {Buffer} - */ - serialize(): Buffer { - const packet = Buffer.alloc(10); - packet.writeInt32LE(this.brandedPartId, 0); - packet.writeInt32LE(this.retailPrice, 4); - packet.writeInt16LE(this.bIsDealOfTheDay ? 1 : 0, 8); - return packet; - } - - /** - * @return {string} - */ - toString(): string { - return ` - [StockCar]====================================== - brandedPartId: ${this.brandedPartId} - retailPrice: ${this.retailPrice} - isDealOfTheDay: ${this.bIsDealOfTheDay} - [/StockCar]======================================`; - } -} diff --git a/packages/transactions/src/StockCarInfoMessage.d.ts b/packages/transactions/src/StockCarInfoMessage.d.ts deleted file mode 100644 index f9dfb4b62..000000000 --- a/packages/transactions/src/StockCarInfoMessage.d.ts +++ /dev/null @@ -1,48 +0,0 @@ -/** - * Object for providing information on stock cars - */ -/** - * @class - * @property {number} msgNo - * @property {number} starterCash - * @property {number} dealerId - * @property {number} brand - * @property {number} noCars - * @property {number} moreToCome - * @property {StockCar[]} StockCarList - */ -/// -import { MessageNode } from "../../shared"; -type StockCar = import("./StockCar.js").StockCar; -export declare class StockCarInfoMessage extends MessageNode { - starterCash: number; - dealerId: number; - brand: number; - noCars: number; - moreToCome: boolean; - StockCarList: StockCar[]; - /** - * Creates an instance of StockCarInfoMsg. - * @class - * @param {number} starterCash - * @param {number} dealerId - * @param {number} brand - * @memberof StockCarInfoMsg - */ - constructor(starterCash: number, dealerId: number, brand: number); - /** - * - * @param {StockCar} car - */ - addStockCar(car: StockCar): void; - /** - * @override - * @return {Buffer} - */ - serialize(): Buffer; - /** - * @override - */ - toString(): string; -} -export {}; diff --git a/packages/transactions/src/StockCarInfoMessage.ts b/packages/transactions/src/StockCarInfoMessage.ts deleted file mode 100644 index 2b222c8d9..000000000 --- a/packages/transactions/src/StockCarInfoMessage.ts +++ /dev/null @@ -1,104 +0,0 @@ -/** - * Object for providing information on stock cars - */ -// WORD msgNo; -// DWORD starterCash; // when called from the create persona screen, -// // this indicates how much cash a persona starts out with -// DWORD dealerID; // for easy match up -// DWORD brand; -// WORD noCars; -// BYTE moreToCome; // if 1, expect another msg, otherwise don't -// StockCar carInfo[1]; -/** - * @class - * @property {number} msgNo - * @property {number} starterCash - * @property {number} dealerId - * @property {number} brand - * @property {number} noCars - * @property {number} moreToCome - * @property {StockCar[]} StockCarList - */ - -import { MessageNode } from "../../shared"; - -type StockCar = import("./StockCar.js").StockCar; - -export class StockCarInfoMessage extends MessageNode { - starterCash: number; - dealerId: number; - brand: number; - noCars: number; - moreToCome: boolean; - StockCarList: StockCar[]; - /** - * Creates an instance of StockCarInfoMsg. - * @class - * @param {number} starterCash - * @param {number} dealerId - * @param {number} brand - * @memberof StockCarInfoMsg - */ - constructor(starterCash: number, dealerId: number, brand: number) { - super(); - this.msgNo = 141; - this.starterCash = starterCash; - this.dealerId = dealerId; - this.brand = brand; - /** Number of cars */ - this.noCars = 0; - this.moreToCome = false; - /** @type {StockCar[]} */ - this.StockCarList = []; - } - - /** - * - * @param {StockCar} car - */ - addStockCar(car: StockCar) { - this.StockCarList.push(car); - this.noCars = this.StockCarList.length; - } - - /** - * @override - * @return {Buffer} - */ - override serialize(): Buffer { - // This does not count the StockCar array - const packet = Buffer.alloc((17 + 9) * this.StockCarList.length); - packet.writeInt16LE(this.msgNo, 0); - packet.writeInt32LE(this.starterCash, 2); - packet.writeInt32LE(this.dealerId, 6); - packet.writeInt32LE(this.brand, 10); - packet.writeInt16LE(this.noCars, 14); - packet.writeInt8(this.moreToCome ? 1 : 0, 16); - if (this.StockCarList.length > 0) { - for (let i = 0; i < this.StockCarList.length; i++) { - const offset = 10 * i; - const record = this.StockCarList[i]; - if (typeof record !== "undefined") { - record.serialize().copy(packet, 17 + offset); - } - } - } - - return packet; - } - - /** - * @override - */ - override toString() { - return `${JSON.stringify({ - msgNo: this.msgNo, - starterCash: this.starterCash, - dealerId: this.dealerId, - brand: this.brand, - noCars: this.noCars, - moreToCome: this.moreToCome, - stockCarList: this.StockCarList.toString(), - })}`; - } -} diff --git a/packages/transactions/src/TClientConnectMessage.d.ts b/packages/transactions/src/TClientConnectMessage.d.ts deleted file mode 100644 index f0f0ad851..000000000 --- a/packages/transactions/src/TClientConnectMessage.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/// -import { OldServerMessage } from "../../shared"; -export declare class TClientConnectMessage extends OldServerMessage { - _customerId: number; - _personaId: number; - _customerName: string; - _personaName: string; - _mcVersion: string; - constructor(); - size(): number; - /** - * @param {Buffer} buffer - */ - deserialize(buffer: Buffer): void; - serialize(): Buffer; - /** - * @override - */ - toString(): string; -} diff --git a/packages/transactions/src/TClientConnectMessage.ts b/packages/transactions/src/TClientConnectMessage.ts deleted file mode 100644 index 2b6ba4d63..000000000 --- a/packages/transactions/src/TClientConnectMessage.ts +++ /dev/null @@ -1,97 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { OldServerMessage } from "../../shared"; - -export class TClientConnectMessage extends OldServerMessage { - _customerId: number; - _personaId: number; - _customerName: string; - _personaName: string; - _mcVersion: string; - constructor() { - super(); - this._msgNo = 0; // 8 bytes - this._customerId = 0; // 4 bytes - this._personaId = 0; // 4 bytes - this._customerName = ""; // 13 bytes - this._personaName = ""; // 13 bytes - this._mcVersion = ""; // 4 bytes - } - - override size() { - return 51; - } - - /** - * @param {Buffer} buffer - */ - deserialize(buffer: Buffer) { - let offset = 0; - this._header._doDeserialize(buffer); - offset += this._header._size; - this._msgNo = buffer.readUInt16LE(offset); - offset += 2; - this._customerId = buffer.readUInt32LE(offset); - offset += 4; - this._personaId = buffer.readUInt32LE(offset); - offset += 4; - this._customerName = buffer.toString("utf8", offset, offset + 13); - offset += 13; - this._personaName = buffer.toString("utf8", offset, offset + 13); - offset += 13; - this._mcVersion = buffer.toString("utf8", offset, offset + 4); - // 51 bytes - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.copy(this._header._doSerialize(), offset); - offset += this._header._size; - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; - buffer.writeUInt32LE(this._customerId, offset); - offset += 4; - buffer.writeUInt32LE(this._personaId, offset); - offset += 4; - buffer.write(this._customerName, offset, 13, "utf8"); - offset += 13; - buffer.write(this._personaName, offset, 13, "utf8"); - offset += 13; - buffer.write(this._mcVersion, offset, 4, "utf8"); - // 51 bytes - return buffer; - } - - /** - * @override - */ - override toString() { - return `TClientConnectMessage: ${JSON.stringify({ - length: this._header.length, - mcoSig: this._header.mcoSig, - seq: this._header.sequence, - flags: this._header.flags, - msgNo: this._msgNo, - customerId: this._customerId, - personaId: this._personaId, - customerName: this._customerName, - personaName: this._personaName, - mcVersion: this._mcVersion, - })}`; - } -} diff --git a/packages/transactions/src/TLoginMessage.d.ts b/packages/transactions/src/TLoginMessage.d.ts deleted file mode 100644 index 91ed54b39..000000000 --- a/packages/transactions/src/TLoginMessage.d.ts +++ /dev/null @@ -1,50 +0,0 @@ -/// -import { SerializedBuffer, OldServerMessage } from "../../shared"; -export declare class ListEntry extends SerializedBuffer { - constructor(); -} -export declare class LoginCompleteMessage extends SerializedBuffer { - _msgNo: number; - _serverTime: number; - _firstTime: boolean; - _paycheckWaiting: boolean; - _clubInvitesWaiting: boolean; - tallyInProgress: boolean; - _secondsUntilShutdown: number; - _shardGNP: number; - _shardCarsSold: number; - _shardAverageSalaries: number; - _shardAverageCarsOwned: number; - _shardAverageLevel: number; - constructor(); - serialize(): Buffer; - size(): number; - toString(): string; -} -export declare class TLoginMessage extends OldServerMessage { - _size: number; - _customerId: number; - _personaId: number; - _lotOwnerId: number; - _brandedPartId: number; - _skinId: number; - _personaName: string; - _mcVersion: string; - constructor(); - /** - * @param {Buffer} buffer - */ - deserialize(buffer: Buffer): void; - serialize(): Buffer; - asJSON(): { - msgNo: number; - customerId: number; - personaId: number; - lotOwnerId: number; - brandedPartId: number; - skinId: number; - personaName: string; - mcVersion: string; - }; - toString(): string; -} diff --git a/packages/transactions/src/TLoginMessage.ts b/packages/transactions/src/TLoginMessage.ts deleted file mode 100644 index 2044ecba9..000000000 --- a/packages/transactions/src/TLoginMessage.ts +++ /dev/null @@ -1,205 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer, OldServerMessage } from "../../shared"; - -export class ListEntry extends SerializedBuffer { - constructor() { - super(); - } -} - -export class LoginCompleteMessage extends SerializedBuffer { - _msgNo: number; - _serverTime: number; - _firstTime: boolean; - _paycheckWaiting: boolean; - _clubInvitesWaiting: boolean; - tallyInProgress: boolean; - _secondsUntilShutdown: number; - _shardGNP: number; - _shardCarsSold: number; - _shardAverageSalaries: number; - _shardAverageCarsOwned: number; - _shardAverageLevel: number; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._serverTime = 0; // 4 bytes - this._firstTime = false; // 1 byte - this._paycheckWaiting = false; // 1 byte - this._clubInvitesWaiting = false; // 1 byte - this.tallyInProgress = false; // 1 byte - this._secondsUntilShutdown = 0; // 2 bytes - - this._shardGNP = 0; // 4 bytes - this._shardCarsSold = 0; // 4 bytes - this._shardAverageSalaries = 0; // 4 bytes - this._shardAverageCarsOwned = 0; // 4 bytes - this._shardAverageLevel = 0; // 4 bytes - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; - buffer.writeUInt32LE(this._serverTime, offset); - offset += 4; - buffer.writeUInt8(this._firstTime ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this._paycheckWaiting ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this._clubInvitesWaiting ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.tallyInProgress ? 1 : 0, offset); - offset += 1; - buffer.writeUInt16LE(this._secondsUntilShutdown, offset); - offset += 2; - - buffer.writeUInt32LE(this._shardGNP, offset); - offset += 4; - buffer.writeUInt32LE(this._shardCarsSold, offset); - offset += 4; - buffer.writeUInt32LE(this._shardAverageSalaries, offset); - offset += 4; - buffer.writeUInt32LE(this._shardAverageCarsOwned, offset); - offset += 4; - buffer.writeUInt32LE(this._shardAverageLevel, offset); - offset += 4; - - return buffer; - } - - override size() { - return 34; - } - - override toString() { - return `LoginCompleteMessage: - MsgNo: ${this._msgNo} - ServerTime: ${this._serverTime} - FirstTime: ${this._firstTime} - PaycheckWaiting: ${this._paycheckWaiting} - ClubInvitesWaiting: ${this._clubInvitesWaiting} - TallyInProgress: ${this.tallyInProgress} - SecondsUntilShutdown: ${this._secondsUntilShutdown} - ShardGNP: ${this._shardGNP} - ShardCarsSold: ${this._shardCarsSold} - ShardAverageSalaries: ${this._shardAverageSalaries} - ShardAverageCarsOwned: ${this._shardAverageCarsOwned} - ShardAverageLevel: ${this._shardAverageLevel} - `; - } -} - -export class TLoginMessage extends OldServerMessage { - _size: number; - _customerId: number; - _personaId: number; - _lotOwnerId: number; - _brandedPartId: number; - _skinId: number; - _personaName: string; - _mcVersion: string; - constructor() { - super(); - this._size = 40; - this._msgNo = 0; // 2 bytes - this._customerId = 0; // 4 bytes - this._personaId = 0; // 4 bytes - this._lotOwnerId = 0; // 4 bytes - this._brandedPartId = 0; // 4 bytes - this._skinId = 0; // 4 bytes - this._personaName = ""; // 13 bytes - this._mcVersion = ""; // 4 bytes - } - - /** - * @param {Buffer} buffer - */ - deserialize(buffer: Buffer) { - let offset = 0; - this._header._doDeserialize(buffer); - offset += this._header._size; - this._msgNo = buffer.readUInt16LE(offset); - offset += 2; - this._customerId = buffer.readUInt32LE(offset); - offset += 4; - this._personaId = buffer.readUInt32LE(offset); - offset += 4; - this._lotOwnerId = buffer.readUInt32LE(offset); - offset += 4; - this._brandedPartId = buffer.readUInt32LE(offset); - offset += 4; - this._skinId = buffer.readUInt32LE(offset); - offset += 4; - this._personaName = buffer.toString("utf8", offset, offset + 13); - offset += 13; - this._mcVersion = buffer.toString("utf8", offset, offset + 4); - // 40 bytes - } - - override serialize() { - const buffer = Buffer.alloc(this._size); - let offset = 0; - buffer.copy(this._header._doSerialize(), offset); - offset += this._header._size; - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; - buffer.writeUInt32LE(this._customerId, offset); - offset += 4; - buffer.writeUInt32LE(this._personaId, offset); - offset += 4; - buffer.writeUInt32LE(this._lotOwnerId, offset); - offset += 4; - buffer.writeUInt32LE(this._brandedPartId, offset); - offset += 4; - buffer.writeUInt32LE(this._skinId, offset); - offset += 4; - buffer.write(this._personaName, offset, 13, "utf8"); - offset += 13; - buffer.write(this._mcVersion, offset, 4, "utf8"); - // 40 bytes - return buffer; - } - - asJSON() { - return { - msgNo: this._msgNo, - customerId: this._customerId, - personaId: this._personaId, - lotOwnerId: this._lotOwnerId, - brandedPartId: this._brandedPartId, - skinId: this._skinId, - personaName: this._personaName, - mcVersion: this._mcVersion, - }; - } - - override toString() { - return `TLoginMessage: - MsgNo: ${this._msgNo} - CustomerId: ${this._customerId} - PersonaId: ${this._personaId} - LotOwnerId: ${this._lotOwnerId} - BrandedPartId: ${this._brandedPartId} - SkinId: ${this._skinId} - PersonaName: ${this._personaName} - MCVersion: ${this._mcVersion} - `; - } -} diff --git a/packages/transactions/src/TunablesMessage.d.ts b/packages/transactions/src/TunablesMessage.d.ts deleted file mode 100644 index 90921cf92..000000000 --- a/packages/transactions/src/TunablesMessage.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export declare class TunablesMessage extends SerializedBuffer { - _msgNo: number; - _clubCreationCost: number; - _clubCreationRequiredLevel: number; - _clubOfficerRequiredLevel: number; - _inventorySizePerLevel: number; - _carsPerLevel: number; - _maxEZStreetLevel: number; - _clubSwitchCooldown: number; - _universalRepairCostModifier: number; - _universalScrapValueModifier: number; - _addCost1Day: number; - _addCost2Days: number; - _addCost3Days: number; - _addCost4Days: number; - _addCost5Days: number; - _addCost6Days: number; - _addCost7Days: number; - _tradeinModifier: number; - _simStreetMaxWager: number; - saleryPerLevel: number; - _clubMaxMembers: number; - _clubRegistrationCost: number; - _clubReRegistrationCost: number; - _classifiedAdRate: number; - _classifiedAdMaxDuration: number; - _classifiedAdMaxSize: number; - _classifiedAdMaxCountPerPlayer: number; - constructor(); - size(): number; - serialize(): Buffer; - toString(): string; -} diff --git a/packages/transactions/src/TunablesMessage.ts b/packages/transactions/src/TunablesMessage.ts deleted file mode 100644 index 67a5ed24c..000000000 --- a/packages/transactions/src/TunablesMessage.ts +++ /dev/null @@ -1,181 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { SerializedBuffer } from "../../shared"; - -/** - * A message listing the lobbies - * This is the body of a MessageNode - */ -export class TunablesMessage extends SerializedBuffer { - _msgNo: number; - _clubCreationCost: number; - _clubCreationRequiredLevel: number; - _clubOfficerRequiredLevel: number; - _inventorySizePerLevel: number; - _carsPerLevel: number; - _maxEZStreetLevel: number; - _clubSwitchCooldown: number; - _universalRepairCostModifier: number; - _universalScrapValueModifier: number; - _addCost1Day: number; - _addCost2Days: number; - _addCost3Days: number; - _addCost4Days: number; - _addCost5Days: number; - _addCost6Days: number; - _addCost7Days: number; - _tradeinModifier: number; - _simStreetMaxWager: number; - saleryPerLevel: number; - _clubMaxMembers: number; - _clubRegistrationCost: number; - _clubReRegistrationCost: number; - _classifiedAdRate: number; - _classifiedAdMaxDuration: number; - _classifiedAdMaxSize: number; - _classifiedAdMaxCountPerPlayer: number; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._clubCreationCost = 150; // 4 bytes - this._clubCreationRequiredLevel = 1; // 4 bytes - this._clubOfficerRequiredLevel = 1; // 4 bytes - this._inventorySizePerLevel = 20; // 4 bytes - this._carsPerLevel = 3; // 4 bytes - this._maxEZStreetLevel = 5; // 4 bytes - this._clubSwitchCooldown = 1; // 4 bytes - this._universalRepairCostModifier = 3.6; // 8 bytes - this._universalScrapValueModifier = 3.6; // 8 bytes - this._addCost1Day = 1; // 4 bytes - this._addCost2Days = 2; // 4 bytes - this._addCost3Days = 3; // 4 bytes - this._addCost4Days = 4; // 4 bytes - this._addCost5Days = 5; // 4 bytes - this._addCost6Days = 6; // 4 bytes - this._addCost7Days = 7; // 4 bytes - this._tradeinModifier = 3.6; // 8 bytes - this._simStreetMaxWager = 20; // 4 bytes - this.saleryPerLevel = 6; // 4 bytes - this._clubMaxMembers = 4; // 4 bytes - this._clubRegistrationCost = 2; // 4 bytes - this._clubReRegistrationCost = 3; // 4 bytes - this._classifiedAdRate = 10; // 4 bytes - this._classifiedAdMaxDuration = 4; // 4 bytes - this._classifiedAdMaxSize = 17; // 4 bytes - this._classifiedAdMaxCountPerPlayer = 2; // 4 bytes - // total: 118 bytes - } - - override size() { - return 118; // This needs to 124 bytes, but the last 6 bytes are unknown - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; // offset is 0 - buffer.writeUInt16LE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeUInt32LE(this._clubCreationCost, offset); - offset += 4; // offset is 6 - buffer.writeUInt32LE(this._clubCreationRequiredLevel, offset); - offset += 4; // offset is 10 - buffer.writeUInt32LE(this._clubOfficerRequiredLevel, offset); - offset += 4; // offset is 14 - buffer.writeUInt32LE(this._inventorySizePerLevel, offset); - offset += 4; // offset is 18 - buffer.writeUInt32LE(this._carsPerLevel, offset); - offset += 4; // offset is 22 - buffer.writeUInt32LE(this._maxEZStreetLevel, offset); - offset += 4; // offset is 26 - buffer.writeUInt32LE(this._clubSwitchCooldown, offset); - offset += 4; // offset is 30 - buffer.writeDoubleLE(this._universalRepairCostModifier, offset); - offset += 8; // offset is 38 - buffer.writeDoubleLE(this._universalScrapValueModifier, offset); - offset += 8; // offset is 46 - buffer.writeUInt32LE(this._addCost1Day, offset); - offset += 4; // offset is 50 - buffer.writeUInt32LE(this._addCost2Days, offset); - offset += 4; // offset is 54 - buffer.writeUInt32LE(this._addCost3Days, offset); - offset += 4; // offset is 58 - buffer.writeUInt32LE(this._addCost4Days, offset); - offset += 4; // offset is 62 - buffer.writeUInt32LE(this._addCost5Days, offset); - offset += 4; // offset is 66 - buffer.writeUInt32LE(this._addCost6Days, offset); - offset += 4; // offset is 70 - buffer.writeUInt32LE(this._addCost7Days, offset); - offset += 4; // offset is 74 - buffer.writeDoubleLE(this._tradeinModifier, offset); - offset += 8; // offset is 82 - buffer.writeUInt32LE(this._simStreetMaxWager, offset); - offset += 4; // offset is 86 - buffer.writeUInt32LE(this.saleryPerLevel, offset); - offset += 4; // offset is 90 - buffer.writeUInt32LE(this._clubMaxMembers, offset); - offset += 4; // offset is 94 - buffer.writeUInt32LE(this._clubRegistrationCost, offset); - offset += 4; // offset is 98 - buffer.writeUInt32LE(this._clubReRegistrationCost, offset); - offset += 4; // offset is 102 - buffer.writeUInt32LE(this._classifiedAdRate, offset); - offset += 4; // offset is 106 - buffer.writeUInt32LE(this._classifiedAdMaxDuration, offset); - offset += 4; // offset is 110 - buffer.writeUInt32LE(this._classifiedAdMaxSize, offset); - offset += 4; // offset is 114 - buffer.writeUInt32LE(this._classifiedAdMaxCountPerPlayer, offset); - // offset is 118 - - return buffer; - } - - override toString() { - return ` - TunablesMessage: - - msgNo=${this._msgNo} - clubCreationCost=${this._clubCreationCost} - clubCreationRequiredLevel=${this._clubCreationRequiredLevel} - clubOfficerRequiredLevel=${this._clubOfficerRequiredLevel} - inventorySizePerLevel=${this._inventorySizePerLevel} - carsPerLevel=${this._carsPerLevel} - maxEZStreetLevel=${this._maxEZStreetLevel} - clubSwitchCooldown=${this._clubSwitchCooldown} - universalRepairCostModifier=${this._universalRepairCostModifier} - universalScrapValueModifier=${this._universalScrapValueModifier} - addCost1Day=${this._addCost1Day} - addCost2Days=${this._addCost2Days} - addCost3Days=${this._addCost3Days} - addCost4Days=${this._addCost4Days} - addCost5Days=${this._addCost5Days} - addCost6Days=${this._addCost6Days} - addCost7Days=${this._addCost7Days} - tradeinModifier=${this._tradeinModifier} - simStreetMaxWager=${this._simStreetMaxWager} - saleryPerLevel=${this.saleryPerLevel} - clubMaxMembers=${this._clubMaxMembers} - clubRegistrationCost=${this._clubRegistrationCost} - clubReRegistrationCost=${this._clubReRegistrationCost} - classifiedAdRate=${this._classifiedAdRate} - classifiedAdMaxDuration=${this._classifiedAdMaxDuration} - classifiedAdMaxSize=${this._classifiedAdMaxSize} - classifiedAdMaxCountPerPlayer=${this._classifiedAdMaxCountPerPlayer} - `; - } -} diff --git a/packages/transactions/src/_getArcadeCarInfo.d.ts b/packages/transactions/src/_getArcadeCarInfo.d.ts deleted file mode 100644 index 345ac8e7f..000000000 --- a/packages/transactions/src/_getArcadeCarInfo.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _getArcadeCarInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getArcadeCarInfo.ts b/packages/transactions/src/_getArcadeCarInfo.ts deleted file mode 100644 index 84b9bf243..000000000 --- a/packages/transactions/src/_getArcadeCarInfo.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { ArcadeCarInfo, ArcadeCarMessage } from "./ArcadeCarMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _getArcadeCarInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getArcadeCarInfo"); - const getArcadeCarInfoMessage = new GenericRequestMessage(); - getArcadeCarInfoMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getArcadeCarInfoMessage.toString()}`); - - const arcadeCarInfoMessage = new ArcadeCarMessage(); - arcadeCarInfoMessage._msgNo = 323; - - const car1 = new ArcadeCarInfo(); - car1._brandedPartId = 113; // Bel-air - car1._lobbyId = 0; - arcadeCarInfoMessage.addCar(car1); - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(arcadeCarInfoMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getGameUrls.d.ts b/packages/transactions/src/_getGameUrls.d.ts deleted file mode 100644 index f92bc22fd..000000000 --- a/packages/transactions/src/_getGameUrls.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _getGameUrls({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getGameUrls.ts b/packages/transactions/src/_getGameUrls.ts deleted file mode 100644 index cb7a2d3a1..000000000 --- a/packages/transactions/src/_getGameUrls.ts +++ /dev/null @@ -1,36 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { GameUrl, GameUrlsMessage } from "./GameUrlsMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _getGameUrls({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getGameUrls"); - const getGameUrlsMessage = new GenericRequestMessage(); - getGameUrlsMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getGameUrlsMessage.toString()}`); - - const gameUrlsMessage = new GameUrlsMessage(); - gameUrlsMessage._msgNo = 364; - - const url1 = new GameUrl(); - url1._urlId = 1; - url1.urlRef = "http://localhost:8080"; - gameUrlsMessage.addURL(url1); - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(gameUrlsMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getOwnedParts.d.ts b/packages/transactions/src/_getOwnedParts.d.ts deleted file mode 100644 index d41c5f861..000000000 --- a/packages/transactions/src/_getOwnedParts.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function _getOwnedParts({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getOwnedParts.ts b/packages/transactions/src/_getOwnedParts.ts deleted file mode 100644 index c90181619..000000000 --- a/packages/transactions/src/_getOwnedParts.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { PartsAssemblyMessage } from "./PartsAssemblyMessage.js"; -import { - fetchStateFromDatabase, - findSessionByConnectionId, -} from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -export async function _getOwnedParts({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getOwnedParts"); - const getOwnedPartsMessage = new GenericRequestMessage(); - getOwnedPartsMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getOwnedPartsMessage.toString()}`); - - const state = fetchStateFromDatabase(); - - const session = findSessionByConnectionId(state, connectionId); - - if (!session) { - throw new Error("Session not found"); - } - - const ownedPartsMessage = new PartsAssemblyMessage(session.gameId); - ownedPartsMessage._msgNo = 175; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(ownedPartsMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getOwnedVehicles.d.ts b/packages/transactions/src/_getOwnedVehicles.d.ts deleted file mode 100644 index 133288194..000000000 --- a/packages/transactions/src/_getOwnedVehicles.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function getVehiclesForPerson(personId: number): { - personId: number; - vehicleId: number; - brandedPartId: number; -}[]; -export declare function _getOwnedVehicles( - args: MessageHandlerArgs, -): Promise; diff --git a/packages/transactions/src/_getOwnedVehicles.ts b/packages/transactions/src/_getOwnedVehicles.ts deleted file mode 100644 index e3add3333..000000000 --- a/packages/transactions/src/_getOwnedVehicles.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { OwnedVehicle, OwnedVehiclesMessage } from "./OwnedVehiclesMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -const vehicleList = [ - { - personId: 1000, - vehicleId: 2, - brandedPartId: 113, - }, -]; - -export function getVehiclesForPerson(personId: number) { - return vehicleList.filter((vehicle) => vehicle.personId === personId); -} - -export async function _getOwnedVehicles( - args: MessageHandlerArgs, -): Promise { - args.log.setName("mcos:getOwnedVehicles"); - const getOwnedVehiclesMessage = new GenericRequestMessage(); - getOwnedVehiclesMessage.deserialize(args.packet.data); - - args.log.debug(`Received Message: ${getOwnedVehiclesMessage.toString()}`); - - const personId = getOwnedVehiclesMessage.data.readUInt32LE(0); - - const ownedVehiclesMessage = new OwnedVehiclesMessage(); - - const vehicles = getVehiclesForPerson(personId); - - for (const vehicle of vehicles) { - const ownedVehicle = new OwnedVehicle(); - ownedVehicle._vehicleId = vehicle.vehicleId; - ownedVehicle._brandedPartId = vehicle.brandedPartId; - ownedVehiclesMessage.addVehicle(ownedVehicle); - } - - ownedVehiclesMessage._msgNo = 173; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = args.packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(ownedVehiclesMessage.serialize()); - - return { connectionId: args.connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getPlayerInfo.d.ts b/packages/transactions/src/_getPlayerInfo.d.ts deleted file mode 100644 index 2208fb4d8..000000000 --- a/packages/transactions/src/_getPlayerInfo.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function _getPlayerInfo( - args: MessageHandlerArgs, -): Promise; diff --git a/packages/transactions/src/_getPlayerInfo.ts b/packages/transactions/src/_getPlayerInfo.ts deleted file mode 100644 index 9e1170843..000000000 --- a/packages/transactions/src/_getPlayerInfo.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { PlayerInfoMessage } from "./PlayerInfoMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -export async function _getPlayerInfo( - args: MessageHandlerArgs, -): Promise { - args.log.setName("mcos:getPlayerInfo"); - const getPlayerInfoMessage = new GenericRequestMessage(); - getPlayerInfoMessage.deserialize(args.packet.data); - - args.log.debug(`Received Message: ${getPlayerInfoMessage.toString()}`); - - const playerId = getPlayerInfoMessage.data.readUInt32LE(0); - try { - const playerInfoMessage = new PlayerInfoMessage(); - playerInfoMessage._msgNo = 108; - playerInfoMessage._playerId = playerId; - playerInfoMessage._playerName = "Drazi Crendraven"; - playerInfoMessage._currentLevel = 1; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = args.packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(playerInfoMessage.serialize()); - - return { connectionId: args.connectionId, messages: [responsePacket] }; - } catch (error) { - throw Error(`Error in _getPlayerInfo: ${String(error)}`); - } -} diff --git a/packages/transactions/src/_getPlayerPhysical.d.ts b/packages/transactions/src/_getPlayerPhysical.d.ts deleted file mode 100644 index 5a1c26fc2..000000000 --- a/packages/transactions/src/_getPlayerPhysical.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function _getPlayerPhysical({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getPlayerPhysical.ts b/packages/transactions/src/_getPlayerPhysical.ts deleted file mode 100644 index dd6ea0937..000000000 --- a/packages/transactions/src/_getPlayerPhysical.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -export async function _getPlayerPhysical({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getPlayerPhysical"); - const getPlayerPhysicalMessage = new GenericRequestMessage(); - getPlayerPhysicalMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getPlayerPhysicalMessage.toString()}`); - - const playerId = getPlayerPhysicalMessage.data.readUInt32BE(0); - - const playerPhysicalMessage = new PlayerPhysicalMessage(); - playerPhysicalMessage._msgNo = 265; - playerPhysicalMessage._playerId = playerId; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(playerPhysicalMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getPlayerRaceHistory.d.ts b/packages/transactions/src/_getPlayerRaceHistory.d.ts deleted file mode 100644 index 1707e4386..000000000 --- a/packages/transactions/src/_getPlayerRaceHistory.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare enum RaceType { - RACES_TESTDRIVE = 14, - RACES_SIM_STREET = 16, - RACES_SIM_PRO = 17, - RACES_SIM_DRAG = 18, - RACES_SIM_TIMETRIAL = 19, - RACES_ARC_STUNT = 23, - RACES_ARC_TIMETRIAL = 25, - RACES_TRADEWINDOW = 26, -} -export type RacingHistoryRecord = { - raceType: RaceType; - numberOfRacesEntered: number; - numberOfRacesFinished: number; - numberOfRacesWon: number; - numberOfCarsWon: number; - numberOfCarsLost: number; - numberOfChampionshipsWon: number; - cashWon: number; -}; -export declare function _getPlayerRaceHistory({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getPlayerRaceHistory.ts b/packages/transactions/src/_getPlayerRaceHistory.ts deleted file mode 100644 index 483ad45f8..000000000 --- a/packages/transactions/src/_getPlayerRaceHistory.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { ServerMessage } from "../../shared"; -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { - PlayerRacingHistoryMessage, - RacingHistoryRecordEntry, -} from "./PlayerRacingHistoryMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -export enum RaceType { - RACES_TESTDRIVE = 14, - RACES_SIM_STREET = 16, - RACES_SIM_PRO = 17, - RACES_SIM_DRAG = 18, - RACES_SIM_TIMETRIAL = 19, - - RACES_ARC_STUNT = 23, - RACES_ARC_TIMETRIAL = 25, - RACES_TRADEWINDOW = 26, -} - -export type RacingHistoryRecord = { - raceType: RaceType; // 4 bytes - numberOfRacesEntered: number; // 4 bytes - numberOfRacesFinished: number; // 4 bytes - numberOfRacesWon: number; // 4 bytes - numberOfCarsWon: number; // 4 bytes - numberOfCarsLost: number; // 4 bytes - numberOfChampionshipsWon: number; // 4 bytes - cashWon: number; // 4 bytes -}; -const racingHistoryRecords: RacingHistoryRecord[] = [ - { - raceType: RaceType.RACES_TESTDRIVE, - numberOfRacesEntered: 0, - numberOfRacesFinished: 0, - numberOfRacesWon: 0, - numberOfCarsWon: 0, - numberOfCarsLost: 0, - numberOfChampionshipsWon: 0, - cashWon: 0, - }, -]; - -export async function _getPlayerRaceHistory({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getPlayerRaceHistory"); - const getPlayerRaceHistoryMessage = new GenericRequestMessage(); - getPlayerRaceHistoryMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getPlayerRaceHistoryMessage.toString()}`); - - const playerId = getPlayerRaceHistoryMessage.data.readInt32LE(0); - - log.debug(`Player ID: ${playerId}`); - - const playerRacingHistoryMessage = new PlayerRacingHistoryMessage(); - playerRacingHistoryMessage._msgId = 362; - playerRacingHistoryMessage._userId = playerId; - - for (const record of racingHistoryRecords) { - const recordEntry = new RacingHistoryRecordEntry(); - recordEntry.raceType = record.raceType; - recordEntry.numberOfRacesEntered = record.numberOfRacesEntered; - recordEntry.numberOfRacesFinished = record.numberOfRacesFinished; - recordEntry.numberOfRacesWon = record.numberOfRacesWon; - recordEntry.numberOfCarsWon = record.numberOfCarsWon; - recordEntry.numberOfCarsLost = record.numberOfCarsLost; - recordEntry.numberOfChampionshipsWon = record.numberOfChampionshipsWon; - recordEntry.cashWon = record.cashWon; - - playerRacingHistoryMessage.addRecord(recordEntry); - } - - const responsePacket = new ServerMessage( - packet._header.sequence, - 8, - playerRacingHistoryMessage.serialize(), - ); - - log.debug(`Sending Message: ${playerRacingHistoryMessage.toString()}`); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getStockCarInfo.d.ts b/packages/transactions/src/_getStockCarInfo.d.ts deleted file mode 100644 index 1bcb2e41b..000000000 --- a/packages/transactions/src/_getStockCarInfo.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _getStockCarInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getStockCarInfo.ts b/packages/transactions/src/_getStockCarInfo.ts deleted file mode 100644 index 7739a9bb6..000000000 --- a/packages/transactions/src/_getStockCarInfo.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { StockCarInfoMessage } from "./StockCarInfoMessage.js"; -import { StockCar } from "./StockCar.js"; -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _getStockCarInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getStockCarInfo"); - const getStockCarInfoMessage = new GenericRequestMessage(); - getStockCarInfoMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getStockCarInfoMessage.toString()}`); - - const stockCarInfoMessage = new StockCarInfoMessage(200, 0, 105); - stockCarInfoMessage.starterCash = 200; - stockCarInfoMessage.dealerId = 8; - stockCarInfoMessage.brand = 105; - - stockCarInfoMessage.addStockCar(new StockCar(113, 20, false)); // Bel-air - stockCarInfoMessage.addStockCar(new StockCar(104, 15, true)); // Fairlane - Deal of the day - stockCarInfoMessage.addStockCar(new StockCar(109, 20, false)); // Century - - log.debug(`Sending Message: ${stockCarInfoMessage.toString()}`); - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - // responsePacket._header.flags = 8; - - responsePacket.setBuffer(stockCarInfoMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_getTunables.d.ts b/packages/transactions/src/_getTunables.d.ts deleted file mode 100644 index 105331c5b..000000000 --- a/packages/transactions/src/_getTunables.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _getTunables({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/_getTunables.ts b/packages/transactions/src/_getTunables.ts deleted file mode 100644 index 91b85a219..000000000 --- a/packages/transactions/src/_getTunables.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { GenericRequestMessage } from "./GenericRequestMessage.js"; -import { OldServerMessage } from "../../shared"; -import { TunablesMessage } from "./TunablesMessage.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _getTunables({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getTunables"); - const getTunablesMessage = new GenericRequestMessage(); - getTunablesMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getTunablesMessage.toString()}`); - - const tunablesMessage = new TunablesMessage(); - tunablesMessage._msgNo = 390; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(tunablesMessage.serialize()); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_logout.d.ts b/packages/transactions/src/_logout.d.ts deleted file mode 100644 index e781ab595..000000000 --- a/packages/transactions/src/_logout.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _logout( - args: MessageHandlerArgs, -): Promise; diff --git a/packages/transactions/src/_logout.ts b/packages/transactions/src/_logout.ts deleted file mode 100644 index 2f2d337e3..000000000 --- a/packages/transactions/src/_logout.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _logout( - args: MessageHandlerArgs, -): Promise { - log.setName("mcos:logout"); - // Create new response packet - const response = new GenericReplyMessage(); - response.msgNo = 101; - response.msgReply = 106; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = args.packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(response.serialize()); - - return { connectionId: args.connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_setOptions.d.ts b/packages/transactions/src/_setOptions.d.ts deleted file mode 100644 index 5c910dbaa..000000000 --- a/packages/transactions/src/_setOptions.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function _setOptions( - args: MessageHandlerArgs, -): Promise; diff --git a/packages/transactions/src/_setOptions.ts b/packages/transactions/src/_setOptions.ts deleted file mode 100644 index f057cd430..000000000 --- a/packages/transactions/src/_setOptions.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { PlayerOptionsMessage } from "./messageStructs/PlayerOptionsMessage.js"; -import { GenericReplyMessage } from "./GenericReplyMessage.js"; - -export async function _setOptions( - args: MessageHandlerArgs, -): Promise { - args.log.setName("mcos:setOptions"); - const playerOptionsMessage = new PlayerOptionsMessage(); - playerOptionsMessage.deserialize(args.packet.serialize()); - - // Log the message - args.log.debug(`PlayerOptionsMessage: ${playerOptionsMessage.toString()}`); - - // TODO: Save the options - - const response = new GenericReplyMessage(); - response.msgNo = 101; - response.msgReply = 109; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = args.packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(response.serialize()); - - return { connectionId: args.connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/_updatePlayerPhysical.d.ts b/packages/transactions/src/_updatePlayerPhysical.d.ts deleted file mode 100644 index 7a6c9a686..000000000 --- a/packages/transactions/src/_updatePlayerPhysical.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -export declare function _updatePlayerPhysical( - args: MessageHandlerArgs, -): Promise; diff --git a/packages/transactions/src/_updatePlayerPhysical.ts b/packages/transactions/src/_updatePlayerPhysical.ts deleted file mode 100644 index 913527425..000000000 --- a/packages/transactions/src/_updatePlayerPhysical.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { PlayerPhysicalMessage } from "./PlayerPhysicalMessage.js"; - -export async function _updatePlayerPhysical( - args: MessageHandlerArgs, -): Promise { - args.log.setName("mcos:updatePlayerPhysical"); - const updatePlayerPhysicalMessage = new PlayerPhysicalMessage(); - updatePlayerPhysicalMessage.deserialize(args.packet.serialize()); - - // Log the message - args.log.debug( - `UpdatePlayerPhysicalMessage: ${updatePlayerPhysicalMessage.toString()}`, - ); - - // TODO: Save the options - - const response = new GenericReplyMessage(); - response.msgNo = 101; - response.msgReply = 266; - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = args.packet._header.sequence; - responsePacket._header.flags = 8; - - responsePacket.setBuffer(response.serialize()); - - return { connectionId: args.connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/clientConnect.d.ts b/packages/transactions/src/clientConnect.d.ts deleted file mode 100644 index 4300ed1b6..000000000 --- a/packages/transactions/src/clientConnect.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function clientConnect({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/clientConnect.ts b/packages/transactions/src/clientConnect.ts deleted file mode 100644 index 123af0aad..000000000 --- a/packages/transactions/src/clientConnect.ts +++ /dev/null @@ -1,115 +0,0 @@ -import { GenericReply } from "./GenericReplyMessage.js"; -import { TClientConnectMessage } from "./TClientConnectMessage.js"; -import { - McosEncryption, - McosSession, - addEncryption, - addSession, - fetchStateFromDatabase, - getEncryption, - OldServerMessage, -} from "../../shared"; -import { - createCommandEncryptionPair, - createDataEncryptionPair, -} from "../../gateway/src/encryption.js"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { getUserSessionByCustomerId } from "../../nps/services/session.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function clientConnect({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:clientConnect"); - /** - * Let's turn it into a ClientConnectMsg - */ - const newMessage = new TClientConnectMessage(); - - newMessage.deserialize(packet.serialize()); - - log.debug(`ClientConnectMsg: ${newMessage.toString()}`); - - const customerId = newMessage._customerId; - if (typeof customerId !== "number") { - throw new TypeError( - `customerId is wrong type. Expected 'number', got ${typeof customerId}`, - ); - } - - const state = fetchStateFromDatabase(); - - const existingEncryption = getEncryption(state, connectionId); - - if (existingEncryption) { - log.debug("Encryption already exists for this connection"); - return { connectionId, messages: [] }; - } - - let result; - - log.debug(`Looking up the session key for ${customerId}...`); - - const userSession = await getUserSessionByCustomerId(customerId); - - if (typeof userSession === "undefined") { - log.warn(`No user session found for ${customerId}`); - const errMessage = new GenericReply(); - errMessage.msgNo = 136; - errMessage.msgReply = packet._msgNo; - errMessage.result = 309; - - const errPacket = new OldServerMessage(); - errPacket.setBuffer(errMessage.serialize()); - errPacket._header.sequence = packet._header.sequence; - - return { connectionId, messages: [errPacket] }; - } - - const newCommandEncryptionPair = createCommandEncryptionPair( - userSession.sessionKey, - ); - - const newDataEncryptionPair = createDataEncryptionPair( - userSession.sessionKey, - ); - - const newEncryption = new McosEncryption({ - connectionId, - commandEncryptionPair: newCommandEncryptionPair, - dataEncryptionPair: newDataEncryptionPair, - }); - - const updatedState = addEncryption(state, newEncryption); - - const session = new McosSession({ - connectionId, - gameId: newMessage._personaId, - }); - - addSession(updatedState, session).save(); - - const personaId = newMessage._personaId; - - const personaName = newMessage._personaName; - - log.debug(`cust: ${customerId} ID: ${personaId} Name: ${personaName}`); - - // Create new response packet - const pReply = new GenericReply(); - pReply.msgNo = 101; - pReply.msgReply = newMessage._msgNo; - - const responsePacket = new OldServerMessage(); - responsePacket.setBuffer(pReply.serialize()); - responsePacket._header.sequence = packet._header.sequence; - - log.debug(`Response: ${responsePacket.serialize().toString("hex")}`); - - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/getLobbies.d.ts b/packages/transactions/src/getLobbies.d.ts deleted file mode 100644 index be96f7a90..000000000 --- a/packages/transactions/src/getLobbies.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function getLobbies({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/getLobbies.ts b/packages/transactions/src/getLobbies.ts deleted file mode 100644 index 0a97a1eda..000000000 --- a/packages/transactions/src/getLobbies.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { LobbyInfo, LobbyMessage } from "./LobbyMessage.js"; -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { EntryFeePurseMessage, PurseEntry } from "./EntryFeePurseMessage.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ - -async function _getLobbies({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.debug("In _getLobbies..."); - - log.debug(`Received Message: ${packet.toString()}`); - - // Create new response packet - const lobbiesResponsePacket = new OldServerMessage(); - lobbiesResponsePacket._header.sequence = packet._header.sequence; - lobbiesResponsePacket._header.flags = 8; - - const lobbyResponse = new LobbyMessage(); - lobbyResponse._msgNo = 325; - lobbyResponse._shouldExpectMoreMessages = false; - - const lobby = new LobbyInfo(); - lobby._lobbyId = 1; - lobby._lobbyName = "Lobby 1"; - lobby._topDog = "Drazi Crendraven"; - - log.debug(`Logging LobbyInfo: ${lobby.serialize().toString("hex")}`); - - lobbyResponse.addLobby(lobby); - - log.debug( - `Logging LobbyMessage: ${lobbyResponse.serialize().toString("hex")}`, - ); - - lobbiesResponsePacket.setBuffer(lobbyResponse.serialize()); - - // Handle purse entries - const purseEntry = new PurseEntry(); - purseEntry._entryFee = 100; - purseEntry._purse = 1000; - - const perseEntryResponse = new EntryFeePurseMessage(); - perseEntryResponse._msgNo = 408; - perseEntryResponse._shouldExpectMoreMessages = false; - perseEntryResponse.addEntry(purseEntry); - - log.debug( - `Logging EntryFeePurseMessage: ${perseEntryResponse - .serialize() - .toString("hex")}`, - ); - - const perseEntriesResponsePacket = new OldServerMessage(); - perseEntriesResponsePacket._header.sequence = packet._header.sequence; - perseEntriesResponsePacket._header.flags = 8; - - perseEntriesResponsePacket.setBuffer(perseEntryResponse.serialize()); - - return { - connectionId, - messages: [lobbiesResponsePacket, perseEntriesResponsePacket], - }; -} -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function getLobbies({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getLobbies"); - const result = await _getLobbies({ connectionId, packet, log }); - log.debug("Dumping Lobbies response packet..."); - result.messages.forEach((msg) => { - log.debug(msg.toString()); - }); - log.debug(result.messages.join().toString()); - return { - connectionId, - messages: result.messages, - }; -} diff --git a/packages/transactions/src/internal.d.ts b/packages/transactions/src/internal.d.ts deleted file mode 100644 index 02c673233..000000000 --- a/packages/transactions/src/internal.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -/// -import { ServerLogger, SerializedBuffer } from "../../shared"; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[] - * }>} - */ -export declare function receiveTransactionsData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; -/** - * @param {Buffer} buffer - * @param {Buffer} buffer2 - */ -export declare function verifyLength(buffer: Buffer, buffer2: Buffer): void; diff --git a/packages/transactions/src/internal.ts b/packages/transactions/src/internal.ts deleted file mode 100644 index 44ef4649e..000000000 --- a/packages/transactions/src/internal.ts +++ /dev/null @@ -1,253 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { messageHandlers } from "./messageHandlers.js"; -import { - ServerLogger, - fetchStateFromDatabase, - getEncryption, - updateEncryption, - SerializedBuffer, - OldServerMessage, - ServerMessage, -} from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * - * - * @param {ServerMessage} message - * @return {boolean} - */ -function isMessageEncrypted( - message: OldServerMessage | ServerMessage, -): boolean { - return message._header.flags - 8 >= 0; -} - -/** - * Return the string representation of the numeric opcode - * - * @param {number} messageID - * @return {string} - */ - -function _MSG_STRING( - messageID: number, - direction: "in" | "out" | "both", -): string { - const result = messageHandlers.get(messageID); - - if (typeof result !== "undefined" && result.direction === direction) { - return result.name; - } - - return "Unknown"; -} - -/** - * Route or process MCOTS commands - */ -async function processInput({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise< - MessageHandlerResult -> { - log.setName("mcos:processInput"); - const currentMessageNo = packet._msgNo; - const currentMessageString = _MSG_STRING(currentMessageNo, "in"); - - log.debug( - `We are attempting to process a message with id ${currentMessageNo}(${currentMessageString})`, - ); - - const result = messageHandlers.get(currentMessageNo); - - if (typeof result !== "undefined") { - try { - const responsePackets = await result.handler({ - connectionId, - packet, - log, - }); - return responsePackets; - } catch (error) { - const err = new Error(`Error handling packet: ${String(error)}`); - throw err; - } - } - - throw new Error( - `Message Number Not Handled: ${currentMessageNo} (${currentMessageString}`, - ); -} - -/** - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[] - * }>} - */ -export async function receiveTransactionsData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug(`Received Transaction Server packet: ${connectionId}`); - - // Going to use ServerMessage in this module - - const inboundMessage = new OldServerMessage(); - inboundMessage._doDeserialize(message.data); - log.debug( - `Received Transaction Server packet: ${inboundMessage.toString()}`, - ); - - // Is the message encrypted? - if (isMessageEncrypted(inboundMessage)) { - log.debug("Message is encrypted"); - // Get the encryyption settings for this connection - const state = fetchStateFromDatabase(); - - const encryptionSettings = getEncryption(state, connectionId); - - if (typeof encryptionSettings === "undefined") { - throw new Error( - `Unable to locate encryption settings for connection ${connectionId}`, - ); - } - - // log the old buffer - log.debug(`Encrypted buffer: ${inboundMessage.data.toString("hex")}`); - - try { - const decryptedMessage = encryptionSettings.dataEncryption.decrypt( - inboundMessage.data, - ); - updateEncryption(state, encryptionSettings).save(); - - // Verify the length of the message - verifyLength(inboundMessage.data, decryptedMessage); - - // Assuming the message was decrypted successfully, update the buffer - log.debug(`Decrypted buffer: ${decryptedMessage.toString("hex")}`); - - inboundMessage.setBuffer(decryptedMessage); - inboundMessage._header.flags -= 8; - inboundMessage.updateMsgNo(); - - log.debug(`Decrypted message: ${inboundMessage.toString()}`); - } catch (error) { - throw new Error(`Unable to decrypt message: ${String(error)}`); - } - } - - log.debug("Calling processInput()"); - const response = await processInput({ - connectionId, - packet: inboundMessage, - log, - }); - - // Loop through the outbound messages and encrypt them - const outboundMessages: SerializedBuffer[] = []; - - response.messages.forEach((outboundMessage) => { - log.debug(`Outbound message: ${outboundMessage.toString()}`); - - if (isMessageEncrypted(outboundMessage)) { - const state = fetchStateFromDatabase(); - - const encryptionSettings = getEncryption(state, connectionId); - - if (typeof encryptionSettings === "undefined") { - throw new Error( - `Unable to locate encryption settings for connection ${connectionId}`, - ); - } - - // log the old buffer - log.debug( - `Outbound buffer: ${outboundMessage.data.toString("hex")}`, - ); - - try { - const encryptedMessage = - encryptionSettings.dataEncryption.encrypt( - outboundMessage.data, - ); - updateEncryption(state, encryptionSettings).save(); - - // Verify the length of the message - verifyLength(outboundMessage.data, encryptedMessage); - - // Assuming the message was decrypted successfully, update the buffer - - log.debug( - `Encrypted buffer: ${encryptedMessage.toString("hex")}`, - ); - - outboundMessage.setBuffer(encryptedMessage); - - log.debug(`Encrypted message: ${outboundMessage.toString()}`); - - const outboundRawMessage = new SerializedBuffer(); - outboundRawMessage.setBuffer(outboundMessage.serialize()); - log.debug( - `Encrypted message: ${outboundRawMessage.toString()}`, - ); - outboundMessages.push(outboundRawMessage); - } catch (error) { - throw new Error(`Unable to encrypt message: ${String(error)}`); - } - } else { - const outboundRawMessage = new SerializedBuffer(); - outboundRawMessage.setBuffer(outboundMessage.serialize()); - log.debug(`Outbound message: ${outboundRawMessage.toString()}`); - outboundMessages.push(outboundRawMessage); - } - }); - - return { - connectionId, - messages: outboundMessages, - }; -} - -/** - * @param {Buffer} buffer - * @param {Buffer} buffer2 - */ -export function verifyLength(buffer: Buffer, buffer2: Buffer) { - if (buffer.length !== buffer2.length) { - throw new Error( - `Length mismatch: ${buffer.length} !== ${buffer2.length}`, - ); - } -} diff --git a/packages/transactions/src/login.d.ts b/packages/transactions/src/login.d.ts deleted file mode 100644 index 043edf2bd..000000000 --- a/packages/transactions/src/login.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function login({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; -export declare function loginComplete({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/login.ts b/packages/transactions/src/login.ts deleted file mode 100644 index b987faf00..000000000 --- a/packages/transactions/src/login.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { LoginCompleteMessage, TLoginMessage } from "./TLoginMessage.js"; -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -import { - buildVehiclePartTree, - saveVehicle, - saveVehiclePartTree, -} from "../../database"; -import type { TServerLogger, ServerMessageType } from "../../shared"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function login({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:login"); - // Read the inbound packet - const loginMessage = new TLoginMessage(); - loginMessage.deserialize(packet.serialize()); - log.debug(`Received LoginMessage: ${loginMessage.toString()}`); - - // Is this a new login? - if (loginMessage._brandedPartId !== 0) { - await createNewCarForPlayer(loginMessage, log); - } - - // Create new response packet - const responsePacket = await loginComplete({ connectionId, packet, log }); - - return { connectionId, messages: responsePacket.messages }; -} -async function createNewCarForPlayer( - loginMessage: TLoginMessage, - log: TServerLogger, -) { - try { - const personaId = loginMessage._personaId; - const lotOwnerId = loginMessage._lotOwnerId; - const brandedPartId = loginMessage._brandedPartId; - const skinId = loginMessage._skinId; - - log.debug( - `Creating new car for persona ${personaId} with brandedPartId ${brandedPartId} and skinId ${skinId} from lotOwnerId ${lotOwnerId}...`, - ); - - // Create new car - const newCarPartTree = await buildVehiclePartTree({ - brandedPartId, - skinId, - ownerID: 1, // personaId, - isStock: true, - }); - await saveVehicle(newCarPartTree); - await saveVehiclePartTree(newCarPartTree); - - const newCarOwnerId = newCarPartTree.vehicleId; - - log.debug( - `Created new car with id ${newCarOwnerId} for persona ${personaId}`, - ); - } catch (error) { - log.error(`Error creating new car: ${error}`); - throw error; - } -} - -export async function loginComplete({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:loginComplete"); - const pReply = new LoginCompleteMessage(); - pReply._msgNo = 213; - pReply._firstTime = true; - - // Log the message - log.debug(pReply.toString()); - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - responsePacket.setBuffer(pReply.serialize()); - return { connectionId, messages: [responsePacket] }; -} diff --git a/packages/transactions/src/messageHandlers.d.ts b/packages/transactions/src/messageHandlers.d.ts deleted file mode 100644 index 7414456c0..000000000 --- a/packages/transactions/src/messageHandlers.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import type { MessageHandler } from "../types.js"; -export declare const messageHandlers: Map; diff --git a/packages/transactions/src/messageHandlers.ts b/packages/transactions/src/messageHandlers.ts deleted file mode 100644 index 1649a3078..000000000 --- a/packages/transactions/src/messageHandlers.ts +++ /dev/null @@ -1,149 +0,0 @@ -import { login, loginComplete } from "./login.js"; -import { trackingPing } from "./trackingPing.js"; -import { clientConnect } from "./clientConnect.js"; -import { getLobbies } from "./getLobbies.js"; -import { _getOwnedVehicles } from "./_getOwnedVehicles.js"; -import { _getPlayerInfo } from "./_getPlayerInfo.js"; -import { _getPlayerPhysical } from "./_getPlayerPhysical.js"; -import { _getOwnedParts } from "./_getOwnedParts.js"; -import { _getPlayerRaceHistory } from "./_getPlayerRaceHistory.js"; -import { _getTunables } from "./_getTunables.js"; -import { _getGameUrls } from "./_getGameUrls.js"; -import { _getArcadeCarInfo } from "./_getArcadeCarInfo.js"; -import { _getStockCarInfo } from "./_getStockCarInfo.js"; -import { _logout } from "./_logout.js"; -import { _setOptions } from "./_setOptions.js"; -import { _updatePlayerPhysical } from "./_updatePlayerPhysical.js"; -import { _getCompleteVehicleInfo } from "./messageHandlers/_getCompleteVehicleInfo.js"; -import { _updateCachedVehicle } from "./messageHandlers/_updateCachedVehicle.js"; -import type { MessageHandler } from "../types.js"; - -export const messageHandlers: Map = new Map([ - [105, { name: "MC_LOGIN", handler: login, direction: "in" }], - [106, { name: "MC_LOGOUT", handler: _logout, direction: "in" }], - [ - 108, - { - name: "MC_GET_PLAYER_INFO", - handler: _getPlayerInfo, - direction: "in", - }, - ], - [109, { name: "MC_SET_OPTIONS", handler: _setOptions, direction: "in" }], - [122, { name: "MC_PLAYER_INFO", handler: _getPlayerInfo, direction: "in" }], - [ - 141, - { - name: "MC_STOCK_CAR_INFO", - handler: _getStockCarInfo, - direction: "in", - }, - ], - [ - 145, - { - name: "MC_GET_COMPLETE_VEHICLE_INFO", - handler: _getCompleteVehicleInfo, - direction: "in", - }, - ], - [ - 163, - { - name: "MC_UPDATE_CACHED_VEHICLE", - handler: _updateCachedVehicle, - direction: "in", - }, - ], - [ - 172, - { - name: "MC_GET_OWNED_VEHICLES", - handler: _getOwnedVehicles, - direction: "in", - }, - ], - [ - 173, - { - name: "MC_OWNED_VEHICLES_LIST", - handler: _getOwnedVehicles, - direction: "in", - }, - ], - [ - 174, - { - name: "MC_GET_OWNED_PARTS", - handler: _getOwnedParts, - direction: "in", - }, - ], - [ - 213, - { name: "MC_LOGIN_COMPLETE", handler: loginComplete, direction: "out" }, - ], - [ - 264, - { - name: "MC_GET_PLAYER_PHYSICAL", - handler: _getPlayerPhysical, - direction: "in", - }, - ], - [ - 265, - { - name: "MC_PLAYER_PHYSICAL_INFO", - handler: _getPlayerPhysical, - direction: "in", - }, - ], - [363, { name: "MC_GET_GAME_URLS", handler: _getGameUrls, direction: "in" }], - [ - 266, - { - name: "MC_UPDATE_PLAYER_PHYSICAL", - handler: _updatePlayerPhysical, - direction: "in", - }, - ], - [ - 322, - { - name: "MC_GET_ARCADE_CARS", - handler: _getArcadeCarInfo, - direction: "in", - }, - ], - [324, { name: "MC_GET_LOBBIES", handler: getLobbies, direction: "in" }], - [ - 361, - { - name: "MC_GET_PLAYER_RACING_HISTORY", - handler: _getPlayerRaceHistory, - direction: "in", - }, - ], - [ - 362, - { - name: "MC_PLAYER_RACING_HISTORY", - handler: _getPlayerRaceHistory, - direction: "in", - }, - ], - [ - 389, - { name: "MC_GET_MCO_TUNABLES", handler: _getTunables, direction: "in" }, - ], - [ - 438, - { - name: "MC_CLIENT_CONNECT_MSG", - handler: clientConnect, - direction: "in", - }, - ], - [440, { name: "MC_TRACKING_MSG", handler: trackingPing, direction: "in" }], -]); diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts deleted file mode 100644 index 01a73482f..000000000 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -/// -import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; -export declare class VehicleStruct { - VehicleID: number; - SkinID: number; - Flags: number; - Delta: number; - CarClass: number; - Damage: Buffer; - serialize(): Buffer; - size(): number; - toString(): string; -} -export declare class PartStruct { - partId: number; - parentPartId: number | null; - brandedPartId: number; - repairCost: number; - junkyardValue: number; - wear: number; - arttachmentPoint: number; - damage: number; - serialize(): Buffer; - size(): number; - toString(): string; -} -export type DBPart = { - partId: number; - parentPartId: number | null; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number; - ownerId: number; - partName: string; - repairCost: number; - scrapValue: number; -}; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _getCompleteVehicleInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts deleted file mode 100644 index 1928196f3..000000000 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.spec.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { describe, it, expect, vi } from "vitest"; -import { _getCompleteVehicleInfo } from "./_getCompleteVehicleInfo.js"; -import { - mockLogger, - mockServerMessageType, -} from "../../../../test/factoryMocks.js"; - -describe("_getCompleteVehicleInfo", () => { - it("should throw when passed message is too small", async () => { - // Setup - const connectionId = "testConnectionId"; - const packet = mockServerMessageType(); - const log = mockLogger(); - - const expected = { - vehicleId: 1, - skinId: 1, - flags: 1, - class: 1, - damageInfo: "damage", - ownerId: 1, - parts: [ - { - partId: 1, - parentPartId: 1, - brandedPartId: 1, - percentDamage: 1, - itemWear: 1, - attachmentPointId: 1, - ownerId: 1, - partName: "part", - repairCost: 1, - scrapValue: 1, - }, - ], - }; - - // Exercise - _getCompleteVehicleInfo({ - connectionId, - packet, - log, - }).catch((error) => { - // Verify - expect(error).toBeInstanceOf(Error); - expect(error.message).toBe( - `[GenericRequestMsg] Unable to deserialize buffer: `, - ); - }); - }); -}); diff --git a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts b/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts deleted file mode 100644 index 256dab6b5..000000000 --- a/packages/transactions/src/messageHandlers/_getCompleteVehicleInfo.ts +++ /dev/null @@ -1,264 +0,0 @@ -import { GenericRequestMessage } from "../GenericRequestMessage.js"; - -import { OldServerMessage, getServerLogger } from "../../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; -import { CarInfoMessage } from "../messageStructs/CarInfoMessage.js"; -import { - getVehiclePartTree, - type TPart, - buildVehiclePartTreeFromDB, -} from "../../../database"; - -const log = getServerLogger(); - -const DAMAGE_SIZE = 2000; - -export class VehicleStruct { - VehicleID: number = 0; // 4 bytes - SkinID: number = 0; // 4 bytes - Flags: number = 0; // 4 bytes - Delta: number = 0; // 4 bytes - CarClass: number = 0; // 1 byte - Damage: Buffer = Buffer.alloc(DAMAGE_SIZE); // buffer, max DAMAGE_SIZE - - serialize() { - try { - const buffer = Buffer.alloc(this.size()); - buffer.writeInt32LE(this.VehicleID, 0); // offset 0 - buffer.writeInt32LE(this.SkinID, 4); // offset 4 - buffer.writeInt32LE(this.Flags, 8); // offset 8 - buffer.writeInt32LE(this.Delta, 12); // offset 12 - buffer.writeInt8(this.CarClass, 16); // offset 16 - buffer.writeInt16LE(this.Damage.length, 17); // offset 17 - if (this.Damage.length > 0) { - this.Damage.copy(buffer, 19); // offset 19 - } - return buffer; - } catch (error) { - throw Error(`Error in VehicleStruct.serialize: ${error}`); - } - } - - size() { - return 19 + this.Damage.length; - } - - toString() { - return ` - VehicleID: ${this.VehicleID} - SkinID: ${this.SkinID} - Flags: ${this.Flags} - Delta: ${this.Delta} - CarClass: ${this.CarClass} - Damage: ${this.Damage.toString("hex")} - `; - } -} - -export class PartStruct { - partId: number = 0; // 4 bytes - parentPartId: number | null = 0; // 4 bytes - brandedPartId: number = 0; // 4 bytes - repairCost: number = 0; // 4 bytes - junkyardValue: number = 0; // 4 bytes - wear: number = 0; // 4 bytes - arttachmentPoint: number = 0; // 1 byte - damage: number = 0; // 1 byte - - serialize() { - try { - const buffer = Buffer.alloc(this.size()); - log.debug(`Writing partId: ${this.partId}`); - buffer.writeInt32LE(this.partId, 0); - log.debug(`Writing parentPartId: ${this.parentPartId}`); - buffer.writeInt32LE(this.parentPartId ?? 0, 4); - log.debug(`Writing brandedPartId: ${this.brandedPartId}`); - buffer.writeInt32LE(this.brandedPartId, 8); - log.debug(`Writing repairCost: ${this.repairCost}`); - buffer.writeInt32LE(this.repairCost, 12); - log.debug(`Writing junkyardValue: ${this.junkyardValue}`); - buffer.writeInt32LE(this.junkyardValue, 16); - log.debug(`Writing wear: ${this.wear}`); - buffer.writeInt32LE(this.wear, 20); - log.debug(`Writing arttachmentPoint: ${this.arttachmentPoint}`); - buffer.writeInt8(this.arttachmentPoint, 24); - log.debug(`Writing damage: ${this.damage}`); - buffer.writeInt8(this.damage, 25); - return buffer; - } catch (error) { - log.error(`Error in PartStruct.serialize: ${error}`); - throw error; - } - } - - size() { - return 26; - } - - toString() { - return `partId: ${this.partId} parentPartId: ${this.parentPartId} brandedPartId: ${this.brandedPartId} repairCost: ${this.repairCost} junkyardValue: ${this.junkyardValue} wear: ${this.wear} arttachmentPoint: ${this.arttachmentPoint} damage: ${this.damage}`; - } -} - -class CarInfoStruct { - msgNo: number = 0; // 2 bytes - playerId: number = 0; // 4 bytes - vehicle: VehicleStruct = new VehicleStruct(); - noOfParts: number = 0; // 2 bytes - parts: PartStruct[] = []; - - serialize() { - try { - const neededSize = 10 + this.vehicle.size() + this.noOfParts * 26; - - log.debug(`Needed size: ${neededSize}`); - - const buffer = Buffer.alloc(neededSize); - log.debug(`Writing msgNo: ${this.msgNo}`); - buffer.writeInt16LE(this.msgNo, 0); - log.debug(`Writing playerId: ${this.playerId}`); - buffer.writeInt32LE(this.playerId, 2); - log.debug(`Serializing vehicle`); - this.vehicle.serialize().copy(buffer, 6); - log.debug(`Writing noOfParts: ${this.noOfParts}`); - buffer.writeInt16LE(this.noOfParts, 6 + this.vehicle.size()); - let offset = 8 + this.vehicle.size(); - for (const part of this.parts) { - log.debug(`Serializing part: ${part}`); - part.serialize().copy(buffer, offset); - offset += part.size(); - } - return buffer; - } catch (error) { - log.error(`Error in CarInfoStruct.serialize: ${error}`); - throw error; - } - } - - size() { - return ( - 10 + this.vehicle.size() + this.noOfParts * this.getFirstPartSize() - ); - } - - getFirstPartSize() { - if (typeof this.parts[0] === "undefined") { - return 0; - } - return this.parts[0].size(); - } - - toString() { - return `msgNo: ${this.msgNo} playerId: ${this.playerId} vehicle: ${this.vehicle} noOfParts: ${this.noOfParts} parts: ${this.parts}`; - } -} - -export type DBPart = { - partId: number; - parentPartId: number | null; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number; - ownerId: number; - partName: string; - repairCost: number; - scrapValue: number; -}; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _getCompleteVehicleInfo({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:getCompleteVehicleInfo"); - const getCompleteVehicleInfoMessage = new GenericRequestMessage(); - getCompleteVehicleInfoMessage.deserialize(packet.data); - - log.debug(`Received Message: ${getCompleteVehicleInfoMessage.toString()}`); - - const vehicleId = getCompleteVehicleInfoMessage.data.readInt32LE(); - const delta = getCompleteVehicleInfoMessage.data2.readInt32LE(); - - log.debug(`Requesting vehicleId: ${vehicleId} delta: ${delta}`); - - try { - const carInfo = new CarInfoMessage(); - - let vehicleFromCache = await getVehiclePartTree(vehicleId); - - if (typeof vehicleFromCache === "undefined") { - log.debug( - `Vehicle with id ${vehicleId} not found in cache, fetching from DB`, - ); - vehicleFromCache = await buildVehiclePartTreeFromDB(vehicleId); - } - - if (typeof vehicleFromCache === "undefined") { - throw new Error( - `Vehicle with id ${vehicleId} not found and not in DB`, - ); - } - - log.debug( - `Vehicle part tree successfully fetched: ${vehicleFromCache}`, - ); - - carInfo.msgNo = 123; - carInfo.playerId = 1; - - const vehicleStruct = new VehicleStruct(); - vehicleStruct.VehicleID = vehicleId; - vehicleStruct.SkinID = vehicleFromCache.skinId; - vehicleStruct.Flags = vehicleFromCache.flags; - vehicleStruct.Delta = 0; - vehicleStruct.CarClass = vehicleFromCache.class; - const damageInfo = - vehicleFromCache.damageInfo ?? Buffer.alloc(DAMAGE_SIZE); - vehicleStruct.Damage = damageInfo; - - log.debug(`VehicleStruct: ${vehicleStruct}`); - - carInfo.setVehicle(vehicleStruct); - - const parts: PartStruct[] = []; - - const tmpParts: TPart[] = vehicleFromCache.partTree.level1.parts.concat( - vehicleFromCache.partTree.level2.parts, - ); - - carInfo.noOfParts = tmpParts.length; - - for (const part of tmpParts) { - const partStruct = new PartStruct(); - partStruct.partId = part.partId; - partStruct.parentPartId = part.parentPartId; - partStruct.brandedPartId = part.brandedPartId; - partStruct.repairCost = part.repairCost; - partStruct.junkyardValue = part.scrapValue; - partStruct.wear = part.itemWear; - partStruct.arttachmentPoint = part.attachmentPointId ?? 0; - partStruct.damage = part.percentDamage; - - log.debug(`PartStruct: ${partStruct}`); - - parts.push(partStruct); - } - - carInfo.setParts(parts); - - const responsePacket = new OldServerMessage(); - responsePacket._header.sequence = packet._header.sequence; - responsePacket._header.flags = 8; - responsePacket.setBuffer(carInfo.serialize()); - - return { connectionId, messages: [responsePacket] }; - } catch (error) { - log.error(`Error in Fetching car: ${error}`); - throw error; - } -} diff --git a/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts deleted file mode 100644 index 5c5bb4272..000000000 --- a/packages/transactions/src/messageHandlers/_updateCachedVehicle.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function _updateCachedVehicle({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts b/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts deleted file mode 100644 index cbc6bc0ce..000000000 --- a/packages/transactions/src/messageHandlers/_updateCachedVehicle.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function _updateCachedVehicle({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:updateCachedVehicle"); - log.debug(`Received Update Cached Vehicle packet: ${connectionId}, NOOP`); - - return { connectionId, messages: [] }; -} diff --git a/packages/transactions/src/messageStructs/CarInfoMessage.d.ts b/packages/transactions/src/messageStructs/CarInfoMessage.d.ts deleted file mode 100644 index 1c0802c4e..000000000 --- a/packages/transactions/src/messageStructs/CarInfoMessage.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -/// -import { SerializedBuffer } from "../../shared"; -import { - PartStruct, - VehicleStruct, -} from "../messageHandlers/_getCompleteVehicleInfo.js"; -export declare class CarInfoMessage extends SerializedBuffer { - msgNo: number; - playerId: number; - private vehicle; - noOfParts: number; - private parts; - constructor(); - size(): number; - getFirstPartSize(): number; - serialize(): Buffer; - toString(): string; - setVehicle(vehicle: VehicleStruct): void; - setParts(parts: PartStruct[]): void; -} diff --git a/packages/transactions/src/messageStructs/CarInfoMessage.ts b/packages/transactions/src/messageStructs/CarInfoMessage.ts deleted file mode 100644 index 1f8384483..000000000 --- a/packages/transactions/src/messageStructs/CarInfoMessage.ts +++ /dev/null @@ -1,77 +0,0 @@ -import { SerializedBuffer } from "../../../shared"; -import { - PartStruct, - VehicleStruct, -} from "../messageHandlers/_getCompleteVehicleInfo.js"; - -export class CarInfoMessage extends SerializedBuffer { - msgNo: number; // 2 bytes - playerId: number; // 4 bytes - private vehicle: VehicleStruct; - noOfParts: number; // 2 - private parts: PartStruct[]; - - constructor() { - super(); - this.msgNo = 0; - this.playerId = 0; - this.vehicle = new VehicleStruct(); - this.noOfParts = 0; - this.parts = []; - } - - override size() { - return ( - 2 + - 4 + - this.vehicle.size() + - 2 + - this.parts.length * this.getFirstPartSize() - ); - } - - getFirstPartSize() { - if (typeof this.parts[0] === "undefined") { - return 0; - } - return this.parts[0].size(); - } - - override serialize(): Buffer { - try { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt16LE(this.msgNo, offset); - offset += 2; - buffer.writeUInt32LE(this.playerId, offset); - offset += 4; - this.vehicle.serialize().copy(buffer, offset); - offset += this.vehicle.size(); - buffer.writeUInt16LE(this.noOfParts, offset); - offset += 2; - for (const part of this.parts) { - part.serialize().copy(buffer, offset); - offset += part.size(); - } - return buffer; - } catch (error) { - throw new Error(`Error in CarInfoMessage.serialize: ${error}`); - } - } - - public override toString(): string { - return `CarInfoMessage: - playerId: ${this.playerId} - vehicle: ${this.vehicle} - noOfParts: ${this.noOfParts} - parts: ${this.parts}`; - } - - setVehicle(vehicle: VehicleStruct) { - this.vehicle = vehicle; - } - - setParts(parts: PartStruct[]) { - this.parts = parts; - } -} diff --git a/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts deleted file mode 100644 index 7965d4490..000000000 --- a/packages/transactions/src/messageStructs/PlayerOptionsMessage.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -/// -import { OldServerMessage } from "../../shared"; -export declare class CarNumberSet { - private cars; - private carMax; - constructor(maxCars: number); - private isUniqueValue; - getCarNumber(car: number): string; - setCarNumber(carNumber: number, car: string): void; - getCarCount(): number; - size(): number; - toBytes(): Buffer; - fromBytes(buffer: Buffer): void; - toString(): string; -} -export declare class PlayerOptionsMessage extends OldServerMessage { - private plateType; - private plateText; - private carInfoSettings; - private carNumbers; - constructor(); - size(): number; - deserialize(buffer: Buffer): void; - toString(): string; -} diff --git a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts b/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts deleted file mode 100644 index 20a99e53e..000000000 --- a/packages/transactions/src/messageStructs/PlayerOptionsMessage.ts +++ /dev/null @@ -1,120 +0,0 @@ -import { OldServerMessage } from "../../../shared"; - -export class CarNumberSet { - private cars: string[] = []; - private carMax = 5; - - constructor(maxCars: number) { - this.carMax = maxCars; - } - - private isUniqueValue(value: string): boolean { - return !this.cars.includes(value); - } - - public getCarNumber(car: number): string { - if (car > this.carMax) { - throw new Error( - `Car number ${car} is greater than max ${this.carMax}`, - ); - } - return this.cars[car] || ""; - } - - public setCarNumber(carNumber: number, car: string) { - if (!this.isUniqueValue(car)) { - throw new Error(`Car number ${car} is not unique`); - } - if (carNumber > this.carMax) { - throw new Error( - `Car number ${car} is greater than max ${this.carMax}`, - ); - } - this.cars[carNumber] = car; - } - - public getCarCount(): number { - return this.cars.length; - } - - public size(): number { - return this.carMax * 3; - } - - public toBytes(): Buffer { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - for (let i = 0; i < this.carMax; i++) { - buffer.write(this.cars[i] ?? "", offset); - offset = i * 3; - } - return buffer; - } - - public fromBytes(buffer: Buffer) { - let offset = 0; - for (let i = 0; i < this.carMax; i++) { - this.cars[i] = buffer.toString("utf8", offset, offset + 3); - offset = i * 3; - } - } - - public toString(): string { - const carStrings = this.cars.map((car, index) => { - return `Car ${index}: ${car}`; - }); - return `CarNumberSet: - ${carStrings.join(", ")}`; - } -} - -enum PlateType { - PLATE_USA_NEWYORK = 32, -} - -export class PlayerOptionsMessage extends OldServerMessage { - private plateType: number; // 2 bytes - private plateText: string; // 8 bytes - private carInfoSettings: number; // 4 bytes - private carNumbers: CarNumberSet; - - constructor() { - super(); - this._msgNo = 0; - this.plateType = 0; - this.plateText = ""; - this.carInfoSettings = 0; - this.carNumbers = new CarNumberSet(6); - } - - override size() { - return 10; - } - - public deserialize(buffer: Buffer) { - let offset = 0; - this._header._doDeserialize(buffer); - offset += this._header._size; - this._msgNo = buffer.readUInt16LE(offset); - offset += 2; - this.plateType = buffer.readUInt16LE(offset); - offset += 2; - this.plateText = buffer.toString("utf8", offset, offset + 8); - offset += 8; - this.carInfoSettings = buffer.readUInt32LE(offset); - offset += 4; - this.carNumbers.fromBytes( - buffer.subarray(offset, offset + this.carNumbers.size()), - ); - } - - public override toString(): string { - return `PlayerOptionsMessage: - ${this._header.toString()} - MsgNo: ${this._msgNo} - PlateType: ${this.plateType} - PlateText: ${this.plateText} - CarInfoSettings: ${this.carInfoSettings} - CarNumbers: ${this.carNumbers.toString()}`; - } -} diff --git a/packages/transactions/src/models/PartModel.d.ts b/packages/transactions/src/models/PartModel.d.ts deleted file mode 100644 index 200b139cf..000000000 --- a/packages/transactions/src/models/PartModel.d.ts +++ /dev/null @@ -1,34 +0,0 @@ -/// -import type { DBModel } from "./index.js"; -export declare class PartModel implements DBModel { - private partId; - private parentPartId; - private brandedPartId; - private repairCost; - private junkPrice; - private wear; - private attachmentPoint; - private damage; - constructor(); - save(): Promise; - delete(): Promise; - size(): number; - toBytes(): Buffer; - toString(): string; - getPartId(): number; - getParentPartId(): number; - getBrandedPartId(): number; - getRepairCost(): number; - getJunkPrice(): number; - getWear(): number; - getAttachmentPoint(): number; - getDamage(): number; - setPartId(partId: number): void; - setParentPartId(parentPartId: number): void; - setBrandedPartId(brandedPartId: number): void; - setRepairCost(repairCost: number): void; - setJunkPrice(junkPrice: number): void; - setWear(wear: number): void; - setAttachmentPoint(attachmentPoint: number): void; - setDamage(damage: number): void; -} diff --git a/packages/transactions/src/models/PartModel.ts b/packages/transactions/src/models/PartModel.ts deleted file mode 100644 index 4cc24a612..000000000 --- a/packages/transactions/src/models/PartModel.ts +++ /dev/null @@ -1,123 +0,0 @@ -import type { DBModel } from "./index.js"; - -export class PartModel implements DBModel { - private partId = 0; // 4 bytes - private parentPartId = 0; // 4 bytes - private brandedPartId = 0; // 4 bytes - private repairCost = 0; // 4 bytes - private junkPrice = 0; // 4 bytes - private wear = 0; // 4 bytes - private attachmentPoint = 0; // 1 byte - private damage = 0; // 1 byte - - constructor() {} - - save(): Promise { - throw new Error("Method not implemented."); - } - delete(): Promise { - throw new Error("Method not implemented."); - } - - public size() { - return 26; - } - - public toBytes() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt32LE(this.partId, offset); - offset += 4; - buffer.writeUInt32LE(this.parentPartId, offset); - offset += 4; - buffer.writeUInt32LE(this.brandedPartId, offset); - offset += 4; - buffer.writeUInt32LE(this.repairCost, offset); - offset += 4; - buffer.writeUInt32LE(this.junkPrice, offset); - offset += 4; - buffer.writeUInt32LE(this.wear, offset); - offset += 4; - buffer.writeUInt8(this.attachmentPoint, offset); - offset += 1; - buffer.writeUInt8(this.damage, offset); - - return buffer; - } - - public toString() { - return `Part: - partId: ${this.partId} - parentPartId: ${this.parentPartId} - brandedPartId: ${this.brandedPartId} - repairCost: ${this.repairCost} - junkPrice: ${this.junkPrice} - waer: ${this.wear} - attachmentPoint: ${this.attachmentPoint} - damage: ${this.damage}`; - } - - public getPartId(): number { - return this.partId; - } - - public getParentPartId(): number { - return this.parentPartId; - } - - public getBrandedPartId(): number { - return this.brandedPartId; - } - - public getRepairCost(): number { - return this.repairCost; - } - - public getJunkPrice(): number { - return this.junkPrice; - } - - public getWear(): number { - return this.wear; - } - - public getAttachmentPoint(): number { - return this.attachmentPoint; - } - - public getDamage(): number { - return this.damage; - } - - public setPartId(partId: number) { - this.partId = partId; - } - - public setParentPartId(parentPartId: number) { - this.parentPartId = parentPartId; - } - - public setBrandedPartId(brandedPartId: number) { - this.brandedPartId = brandedPartId; - } - - public setRepairCost(repairCost: number) { - this.repairCost = repairCost; - } - - public setJunkPrice(junkPrice: number) { - this.junkPrice = junkPrice; - } - - public setWear(wear: number) { - this.wear = wear; - } - - public setAttachmentPoint(attachmentPoint: number) { - this.attachmentPoint = attachmentPoint; - } - - public setDamage(damage: number) { - this.damage = damage; - } -} diff --git a/packages/transactions/src/models/VehicleModel.d.ts b/packages/transactions/src/models/VehicleModel.d.ts deleted file mode 100644 index 51f9e5194..000000000 --- a/packages/transactions/src/models/VehicleModel.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import type { DBModel } from "./index.js"; -export declare class VehicleModel implements DBModel { - private vehicleId; - private skinId; - private flags; - private delta; - private carClass; - private damageLength; - private damage; - constructor(vehicleId: number); - save(): Promise; - delete(): Promise; - getVehicleId(): number; - getSkinId(): number; - getFlags(): number; - getDelta(): number; - getCarClass(): number; - getDamageLength(): number; - getDamage(): number; - setSkinId(skinId: number): void; - setFlags(flags: number): void; - setDelta(delta: number): void; - setCarClass(carClass: number): void; - setDamageLength(damageLength: number): void; -} diff --git a/packages/transactions/src/models/VehicleModel.ts b/packages/transactions/src/models/VehicleModel.ts deleted file mode 100644 index 6daf4e1bc..000000000 --- a/packages/transactions/src/models/VehicleModel.ts +++ /dev/null @@ -1,71 +0,0 @@ -import type { DBModel } from "./index.js"; - -export class VehicleModel implements DBModel { - private vehicleId = 0; // 4 bytes - private skinId = 0; // 4 bytes - private flags = 0; // 4 bytes - private delta = 0; // 4 bytes - private carClass = 0; // 1 byte - private damageLength = 0; // 2 bytes - private damage = 0; // 1 byte / max 2000 - - constructor(vehicleId: number) { - this.vehicleId = vehicleId; - } - - save(): Promise { - throw new Error("Method not implemented."); - } - - delete(): Promise { - throw new Error("Method not implemented."); - } - - getVehicleId(): number { - return this.vehicleId; - } - - getSkinId(): number { - return this.skinId; - } - - getFlags(): number { - return this.flags; - } - - getDelta(): number { - return this.delta; - } - - getCarClass(): number { - return this.carClass; - } - - getDamageLength(): number { - return this.damageLength; - } - - getDamage(): number { - return this.damage; - } - - setSkinId(skinId: number): void { - this.skinId = skinId; - } - - setFlags(flags: number): void { - this.flags = flags; - } - - setDelta(delta: number): void { - this.delta = delta; - } - - setCarClass(carClass: number): void { - this.carClass = carClass; - } - - setDamageLength(damageLength: number): void { - this.damageLength = damageLength; - } -} diff --git a/packages/transactions/src/models/index.d.ts b/packages/transactions/src/models/index.d.ts deleted file mode 100644 index aff45c12d..000000000 --- a/packages/transactions/src/models/index.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface DBModel { - save(): Promise; - delete(): Promise; -} diff --git a/packages/transactions/src/models/index.ts b/packages/transactions/src/models/index.ts deleted file mode 100644 index aff45c12d..000000000 --- a/packages/transactions/src/models/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export interface DBModel { - save(): Promise; - delete(): Promise; -} diff --git a/packages/transactions/src/services/car.d.ts b/packages/transactions/src/services/car.d.ts deleted file mode 100644 index 03848e43a..000000000 --- a/packages/transactions/src/services/car.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { VehicleModel } from "../models/VehicleModel.js"; -export declare function getVehicle(vehicleId: number): VehicleModel | undefined; -export declare function createVehicle(): VehicleModel; -export declare function deleteVehicle(vehicleId: number): void; -export declare function clearVehicles(): void; -export declare function getVehicleCount(): number; diff --git a/packages/transactions/src/services/car.ts b/packages/transactions/src/services/car.ts deleted file mode 100644 index 4cf89aac7..000000000 --- a/packages/transactions/src/services/car.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { VehicleModel } from "../models/VehicleModel.js"; - -const vehicles = new Map(); -const nextVehicleId = 1; - -export function getVehicle(vehicleId: number): VehicleModel | undefined { - return vehicles.get(vehicleId); -} - -export function createVehicle(): VehicleModel { - const vehicle = new VehicleModel(nextVehicleId); - vehicles.set(nextVehicleId, vehicle); - return vehicle; -} - -export function deleteVehicle(vehicleId: number): void { - vehicles.delete(vehicleId); -} - -export function clearVehicles(): void { - vehicles.clear(); -} - -export function getVehicleCount(): number { - return vehicles.size; -} diff --git a/packages/transactions/src/trackingPing.d.ts b/packages/transactions/src/trackingPing.d.ts deleted file mode 100644 index 6493a67f4..000000000 --- a/packages/transactions/src/trackingPing.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export declare function trackingPing({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise; diff --git a/packages/transactions/src/trackingPing.ts b/packages/transactions/src/trackingPing.ts deleted file mode 100644 index 52ee5e926..000000000 --- a/packages/transactions/src/trackingPing.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { GenericReplyMessage } from "./GenericReplyMessage.js"; -import { OldServerMessage } from "../../shared"; -import type { MessageHandlerArgs, MessageHandlerResult } from "../types.js"; - -/** - * @param {MessageHandlerArgs} args - * @return {Promise} - */ -export async function trackingPing({ - connectionId, - packet, - log, -}: MessageHandlerArgs): Promise { - log.setName("mcos:trackingPing"); - // Create new response packet - const pReply = new GenericReplyMessage(); - pReply.msgNo = 101; - pReply.msgReply = 440; - const rPacket = new OldServerMessage(); - rPacket._header.sequence = packet._header.sequence; - rPacket._header.flags = 8; - - rPacket.setBuffer(pReply.serialize()); - - log.debug(`TrackingPing: ${rPacket.toString()}`); - - return { connectionId, messages: [] }; -} diff --git a/packages/transactions/test/LobbyMessage.test.d.ts b/packages/transactions/test/LobbyMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/LobbyMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/LobbyMessage.test.ts b/packages/transactions/test/LobbyMessage.test.ts deleted file mode 100644 index 3678ac6fb..000000000 --- a/packages/transactions/test/LobbyMessage.test.ts +++ /dev/null @@ -1,100 +0,0 @@ -import { LobbyInfo, LobbyMessage } from "../src/LobbyMessage.js"; -import { describe, expect, it } from "vitest"; - -describe("LobbyMessage", () => { - describe(".size()", () => { - it("should have a starting value of 5", () => { - // Arrange - const testMessage = new LobbyMessage(); - - // Assert - expect(testMessage.size()).toBe(5); - }); - }); - - describe(".serialize()", () => { - it("should return a buffer of the correct size", () => { - // Arrange - const testMessage = new LobbyMessage(); - - // Act - const result = testMessage.serialize(); - - // Assert - expect(result).toBeInstanceOf(Buffer); - expect(result.length).toBe(5); - }); - }); -}); - -describe("LobbyInfo", () => { - describe(".size()", () => { - it("should have a starting value of 563", () => { - // Arrange - const testMessage = new LobbyInfo(); - - // Assert - expect(testMessage.size()).toBe(563); - }); - }); - - describe(".serialize()", () => { - it("should return a buffer of the correct size", () => { - // Arrange - const testMessage = new LobbyInfo(); - - // Act - const result = testMessage.serialize(); - - // Assert - expect(result).toBeInstanceOf(Buffer); - expect(result.length).toBe(563); - }); - }); - - describe(".deserialize()", () => { - it("should throw an error when passed a buffer of the wrong size", () => { - // Arrange - const testMessage = new LobbyInfo(); - const buffer = Buffer.alloc(1); - - // Act - const testFunction = () => { - testMessage.deserialize(buffer); - }; - - // Assert - expect(testFunction).toThrow( - "LobbyInfo.deserialize() expected 563 bytes but got 1 bytes", - ); - }); - - it("should not throw an error when passed a buffer of the correct size", () => { - // Arrange - const testMessage = new LobbyInfo(); - const buffer = Buffer.alloc(563); - - // Act - const testFunction = () => { - testMessage.deserialize(buffer); - }; - - // Assert - expect(testFunction).not.toThrow(); - }); - - it("should set the correct values when passed a buffer of the correct size", () => { - // Arrange - const testMessage = new LobbyInfo(); - const buffer = Buffer.alloc(563); - - // Act - testMessage.deserialize(buffer); - - // Assert - expect(testMessage.size()).toBe(563); - - expect(testMessage._lobbyId).toBe(0); - }); - }); -}); diff --git a/packages/transactions/test/OwnedVehiclesMessage.test.d.ts b/packages/transactions/test/OwnedVehiclesMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/OwnedVehiclesMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/OwnedVehiclesMessage.test.ts b/packages/transactions/test/OwnedVehiclesMessage.test.ts deleted file mode 100644 index 10e28695a..000000000 --- a/packages/transactions/test/OwnedVehiclesMessage.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { - OwnedVehiclesMessage, - OwnedVehicle, -} from "../src/OwnedVehiclesMessage.js"; -import { describe, it, expect } from "vitest"; - -describe("OwnedVehiclesMessage", () => { - it("should serialize", () => { - // Arrange - const message = new OwnedVehiclesMessage(); - message._msgNo = 100; - - // Act - const buffer = message.serialize(); - - // Assert - expect(buffer.subarray(0, 4)).toEqual( - Buffer.from([0x64, 0x00, 0x00, 0x00]), - ); - }); -}); - -describe("OwnedVehicle", () => { - it("should serialize", () => { - // Arrange - const message = new OwnedVehicle(); - message._vehicleId = 100; - message._brandedPartId = 200; - - // Act - const buffer = message.serialize(); - - // Assert - expect(buffer.subarray(0, 8)).toEqual( - Buffer.from([0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00]), - ); - }); -}); diff --git a/packages/transactions/test/PartsAssemblyMessage.test.d.ts b/packages/transactions/test/PartsAssemblyMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/PartsAssemblyMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/PartsAssemblyMessage.test.ts b/packages/transactions/test/PartsAssemblyMessage.test.ts deleted file mode 100644 index 326ed88e2..000000000 --- a/packages/transactions/test/PartsAssemblyMessage.test.ts +++ /dev/null @@ -1,48 +0,0 @@ -import { PartsAssemblyMessage, Part } from "../src/PartsAssemblyMessage.js"; -import { describe, it, expect } from "vitest"; - -describe("PartsAssemblyMessage", () => { - it("should serialize", () => { - // Arrange - const message = new PartsAssemblyMessage(100); - message._msgNo = 100; - - // Act - const buffer = message.serialize(); - - // Assert - expect(buffer.subarray(0, 7)).toEqual( - Buffer.from([0x64, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00]), - ); - }); -}); - -describe("Part", () => { - it("should serialize", () => { - // Arrange - const message = new Part(); - message._partId = 100; // 0x64 - message._parentPartId = 200; // 0xc8 - message._brandedPartId = 300; // 0x12c - message._repairPrice = 400; // 0x190 - message._junkPrice = 500; // 0x1f4 - message._wear = 600; // 0x258 - message._attachmentPoint = 7; // 0x7 - message._damage = 8; // 0x8 - message._retailPrice = 900; // 0x384 - message._maxWear = 1000; // 0x3e8 - - // Act - const buffer = message.serialize(); - - // Assert - expect(buffer.subarray(0, 34)).toEqual( - Buffer.from([ - 0x64, 0x00, 0x00, 0x00, 0xc8, 0x00, 0x00, 0x00, 0x2c, 0x01, - 0x00, 0x00, 0x90, 0x01, 0x00, 0x00, 0xf4, 0x01, 0x00, 0x00, - 0x58, 0x02, 0x00, 0x00, 0x07, 0x08, 0x84, 0x03, 0x00, 0x00, - 0xe8, 0x03, 0x00, 0x00, - ]), - ); - }); -}); diff --git a/packages/transactions/test/PlayerInfoMessage.test.d.ts b/packages/transactions/test/PlayerInfoMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/PlayerInfoMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/PlayerInfoMessage.test.ts b/packages/transactions/test/PlayerInfoMessage.test.ts deleted file mode 100644 index ff9dd5eb8..000000000 --- a/packages/transactions/test/PlayerInfoMessage.test.ts +++ /dev/null @@ -1,18 +0,0 @@ -import { PlayerInfoMessage } from "../src/PlayerInfoMessage.js"; -import { describe, it, expect } from "vitest"; - -describe("PlayerInfoMessage", () => { - it("should serialize", () => { - // Arrange - const message = new PlayerInfoMessage(); - message._msgNo = 100; - - // Act - const buffer = message.serialize(); - - // Assert - expect(buffer.subarray(0, 4)).toEqual( - Buffer.from([0x64, 0x00, 0x00, 0x00]), - ); - }); -}); diff --git a/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts b/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/PlayerRacingHistoryMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/PlayerRacingHistoryMessage.test.ts b/packages/transactions/test/PlayerRacingHistoryMessage.test.ts deleted file mode 100644 index 15366a3f4..000000000 --- a/packages/transactions/test/PlayerRacingHistoryMessage.test.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { PlayerRacingHistoryMessage } from "../src/PlayerRacingHistoryMessage.js"; -import { expect, test } from "vitest"; - -test("Create PlayerRacingHistoryMessage instance", () => { - const message = new PlayerRacingHistoryMessage(); - // Assert that the instance is created successfully - expect(message).toBeInstanceOf(PlayerRacingHistoryMessage); -}); diff --git a/packages/transactions/test/TClientConnectMessage.test.d.ts b/packages/transactions/test/TClientConnectMessage.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/TClientConnectMessage.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/TClientConnectMessage.test.ts b/packages/transactions/test/TClientConnectMessage.test.ts deleted file mode 100644 index dcf6b5de3..000000000 --- a/packages/transactions/test/TClientConnectMessage.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { describe, it, expect } from "vitest"; -import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; - -describe("TClientConnectMessage", () => { - describe(".byteLength", () => { - it("should have a value of 51", () => { - // Arrange - const testMessage = new TClientConnectMessage(); - - // Assert - expect(testMessage.size()).toBe(51); - }); - }); -}); diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.d.ts b/packages/transactions/test/_getPlayerRaceHistory.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/_getPlayerRaceHistory.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/_getPlayerRaceHistory.test.ts b/packages/transactions/test/_getPlayerRaceHistory.test.ts deleted file mode 100644 index 03c24e432..000000000 --- a/packages/transactions/test/_getPlayerRaceHistory.test.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { _getPlayerRaceHistory } from "../src/_getPlayerRaceHistory.js"; -import { OldServerMessage } from "../../shared"; -import { mockLogger } from "../../../test/factoryMocks.js"; - -describe("_getPlayerRaceHistory", () => { - it("should return a PlayerRacingHistoryMessage", async () => { - const incomingMessage = new OldServerMessage(); - incomingMessage.internalBuffer = Buffer.from([ - 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, - 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, - 0x00, 0x01, - ]); - const result = await _getPlayerRaceHistory({ - connectionId: "0", - packet: incomingMessage, - log: mockLogger(), - }); - - expect(result).toBeDefined(); - }); -}); diff --git a/packages/transactions/test/clientConnect.test.d.ts b/packages/transactions/test/clientConnect.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/clientConnect.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/clientConnect.test.ts b/packages/transactions/test/clientConnect.test.ts deleted file mode 100644 index 2407a695c..000000000 --- a/packages/transactions/test/clientConnect.test.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { clientConnect } from "../src/clientConnect.js"; -import { describe, it, expect } from "vitest"; - -import { updateSessionKey } from "../../database"; -import { TClientConnectMessage } from "../src/TClientConnectMessage.js"; -import { mockLogger } from "../../../test/factoryMocks.js"; - -describe("clientConnect", () => { - it("throws when connection is not found", async () => { - // arrange - const customerId = 1234; - const connectionId = "test"; - const sessionKey = - "1234567890123456123456789012345612345678901234561234567890123456"; - const contextId = "test"; - const incomingMessage = new TClientConnectMessage(); - incomingMessage._customerId = customerId; - - const log = mockLogger(); - await updateSessionKey(customerId, sessionKey, contextId, connectionId); - - // act - try { - await clientConnect({ - connectionId, - packet: incomingMessage, - log, - }); - } catch (error) { - // assert - expect(error).toEqual( - new Error( - `Encryption not found for connection ${connectionId}`, - ), - ); - } - }); -}); diff --git a/packages/transactions/test/getLobbies.test.d.ts b/packages/transactions/test/getLobbies.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/getLobbies.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/getLobbies.test.ts b/packages/transactions/test/getLobbies.test.ts deleted file mode 100644 index 4243da5d3..000000000 --- a/packages/transactions/test/getLobbies.test.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { OldServerMessage } from "../../shared"; -import { getLobbies } from "../src/getLobbies.js"; -import { describe, expect, it } from "vitest"; -import { mockLogger } from "../../../test/factoryMocks.js"; -import { assert } from "console"; - -describe("getLobbies", () => { - it("should return a promise", async () => { - // arrange - const connectionId = "1"; - const packet = new OldServerMessage(); - const log = mockLogger(); - - // act - const result = await getLobbies({ - connectionId, - packet, - log, - }); - - if (result.messages[0] === undefined) { - throw new Error("Expected messages to be defined"); - } - - const resultMessage = result.messages[0].serialize().toString("hex"); - - // assert - expect(resultMessage).toMatch(/4102544f4d43/); - }); -}); diff --git a/packages/transactions/test/trackingPing.test.d.ts b/packages/transactions/test/trackingPing.test.d.ts deleted file mode 100644 index cb0ff5c3b..000000000 --- a/packages/transactions/test/trackingPing.test.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/transactions/test/trackingPing.test.ts b/packages/transactions/test/trackingPing.test.ts deleted file mode 100644 index 5053c1429..000000000 --- a/packages/transactions/test/trackingPing.test.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { OldServerMessage } from "../../shared"; -import { trackingPing } from "../src/trackingPing.js"; -import { describe, test, expect } from "vitest"; -import { mockLogger } from "../../../test/factoryMocks.js"; - -describe("trackingPing", () => { - test("does not return a message", async () => { - // arrange - const inboundMessage = new OldServerMessage(); - - const log = mockLogger(); - - // act - const { messages } = await trackingPing({ - connectionId: "test", - packet: inboundMessage, - log, - }); - expect(messages.length).toBe(0); - }); -}); diff --git a/packages/transactions/types.d.ts b/packages/transactions/types.d.ts deleted file mode 100644 index 27465a8d2..000000000 --- a/packages/transactions/types.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import type { - OldServerMessage, - ServerMessage, - ServerMessageType, - TServerLogger, -} from "../../shared"; -export interface MessageHandlerArgs { - connectionId: string; - packet: ServerMessageType; - log: TServerLogger; -} -export interface MessageHandlerResult { - connectionId: string; - messages: OldServerMessage[] | ServerMessage[]; -} -export interface MessageHandler { - name: string; - direction: "in" | "out" | "both"; - handler: (args: MessageHandlerArgs) => Promise; -} diff --git a/packages/transactions/types.ts b/packages/transactions/types.ts deleted file mode 100644 index bfc4e38a5..000000000 --- a/packages/transactions/types.ts +++ /dev/null @@ -1,54 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -import type { - OldServerMessage, - ServerMessage, - ServerMessageType, - TServerLogger, -} from "../shared"; - -export interface MessageHandlerArgs { - connectionId: string; - packet: ServerMessageType; - log: TServerLogger; -} - -export interface MessageHandlerResult { - connectionId: string; - messages: OldServerMessage[] | ServerMessage[]; -} - -export interface MessageHandler { - name: string; - direction: "in" | "out" | "both"; - handler: (args: MessageHandlerArgs) => Promise; -} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c49dbc3c5..2efaf5e8f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -9,7 +9,7 @@ importers: .: dependencies: '@fastify/sensible': - specifier: ^5.5.0 + specifier: ^5.6.0 version: 5.6.0 '@rustymotors/database': specifier: workspace:^ @@ -21,48 +21,54 @@ importers: specifier: workspace:^ version: link:packages/shared-packets '@sentry/esbuild-plugin': - specifier: ^2.16.0 + specifier: ^2.16.1 version: 2.16.1 + dotenv: + specifier: ^16.4.5 + version: 16.4.5 + drizzle-orm: + specifier: ^0.30.10 + version: 0.30.10(@types/pg@8.11.6)(pg@8.11.5) fastify: - specifier: ^4.26.2 - version: 4.26.2 + specifier: ^4.27.0 + version: 4.27.0 + pg: + specifier: ^8.11.5 + version: 8.11.5 pino: - specifier: ^8.19.0 + specifier: ^8.21.0 version: 8.21.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - slonik: - specifier: ^40.0.0 - version: 40.2.6(zod@3.23.6) + specifier: ^5.2.0 + version: 5.2.0 tsx: - specifier: ^4.7.1 - version: 4.7.2 - zod: - specifier: ^3.22.4 - version: 3.23.6 + specifier: ^4.9.3 + version: 4.9.3 devDependencies: '@eslint/js': - specifier: ^9.0.0 - version: 9.0.0 + specifier: ^9.2.0 + version: 9.2.0 '@sentry/node': - specifier: 7.112.2 - version: 7.112.2 + specifier: 7.113.0 + version: 7.113.0 '@sentry/profiling-node': - specifier: 7.112.2 - version: 7.112.2 - '@slonik/migrator': - specifier: 0.12.0 - version: 0.12.0(@types/node@20.12.10)(slonik@40.2.6) + specifier: 7.113.0 + version: 7.113.0 '@types/node': - specifier: 20.12.10 - version: 20.12.10 + specifier: 20.12.7 + version: 20.12.7 + '@types/pg': + specifier: ^8.11.6 + version: 8.11.6 '@vitest/coverage-v8': specifier: 1.5.1 version: 1.5.1(vitest@1.5.1) + drizzle-kit: + specifier: ^0.20.18 + version: 0.20.18 esbuild: specifier: 0.20.2 version: 0.20.2 @@ -85,11 +91,11 @@ importers: specifier: 5.4.5 version: 5.4.5 typescript-eslint: - specifier: ^7.6.0 - version: 7.6.0(eslint@9.1.1)(typescript@5.4.5) + specifier: ^7.8.0 + version: 7.8.0(eslint@9.1.1)(typescript@5.4.5) vitest: specifier: 1.5.1 - version: 1.5.1(@types/node@20.12.10) + version: 1.5.1(@types/node@20.12.7) apps/main: dependencies: @@ -103,23 +109,34 @@ importers: specifier: workspace:* version: link:../shared + packages/connection: {} + packages/database: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.2 + version: 7.111.0 + pg: + specifier: ^8.11.5 + version: 8.11.5 + pg-hstore: + specifier: ^2.3.4 + version: 2.3.4 + sequelize: + specifier: ^6.37.3 + version: 6.37.3(pg-hstore@2.3.4)(pg@8.11.5) slonik: specifier: ^40.0.0 - version: 40.2.6(zod@3.23.6) + version: 40.2.6(zod@3.22.5) zod: specifier: ^3.22.4 - version: 3.23.6 + version: 3.22.5 packages/gateway: dependencies: '@fastify/sensible': specifier: ^5.5.0 - version: 5.6.0 + version: 5.5.0 '@rustymotors/shared': specifier: workspace:^ version: link:../shared @@ -128,13 +145,11 @@ importers: version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 - version: 7.112.2 + version: 7.111.0 fastify: specifier: ^4.25.2 version: 4.26.2 - packages/interfaces: {} - packages/lobby: dependencies: '@rustymotors/database': @@ -143,11 +158,23 @@ importers: packages/login: {} + packages/mcots: + dependencies: + '@rustymotors/shared': + specifier: workspace:^ + version: link:../shared + '@sentry/node': + specifier: ^7.102.0 + version: 7.111.0 + short-unique-id: + specifier: ^5.0.3 + version: 5.0.3 + packages/nps: dependencies: '@sentry/node': specifier: ^7.102.0 - version: 7.112.2 + version: 7.111.0 short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -162,7 +189,7 @@ importers: dependencies: pino: specifier: ^8.18.0 - version: 8.21.0 + version: 8.20.0 pino-pretty: specifier: ^11.0.0 version: 11.0.0 @@ -173,11 +200,6 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - dev: true - /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} @@ -189,29 +211,29 @@ packages: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.2 + '@babel/highlight': 7.24.5 picocolors: 1.0.0 dev: false - /@babel/compat-data@7.24.1: - resolution: {integrity: sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==} + /@babel/compat-data@7.24.4: + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} dev: false - /@babel/core@7.24.3: - resolution: {integrity: sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==} + /@babel/core@7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.5 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.3) - '@babel/helpers': 7.24.1 - '@babel/parser': 7.24.1 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 convert-source-map: 2.0.0 debug: 4.3.4 gensync: 1.0.0-beta.2 @@ -221,11 +243,11 @@ packages: - supports-color dev: false - /@babel/generator@7.24.1: - resolution: {integrity: sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==} + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -235,7 +257,7 @@ packages: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.24.1 + '@babel/compat-data': 7.24.4 '@babel/helper-validator-option': 7.23.5 browserslist: 4.23.0 lru-cache: 5.1.1 @@ -252,57 +274,57 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: false /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: false /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: false - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.3): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 dev: false - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/helper-simple-access@7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: false - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + /@babel/helper-split-export-declaration@7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 dev: false /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} /@babel/helper-validator-option@7.23.5: @@ -310,80 +332,94 @@ packages: engines: {node: '>=6.9.0'} dev: false - /@babel/helpers@7.24.1: - resolution: {integrity: sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==} + /@babel/helpers@7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 transitivePeerDependencies: - supports-color dev: false - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + /@babel/highlight@7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 dev: false - /@babel/parser@7.24.1: - resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 dev: false - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.1 + '@babel/generator': 7.24.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color dev: false - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 to-fast-properties: 2.0.0 /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true + /@esbuild-kit/core-utils@3.3.2: + resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader@2.6.5: + resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.4 + dev: true + /@esbuild/aix-ppc64@0.19.12: resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/aix-ppc64@0.20.2: @@ -392,6 +428,14 @@ packages: cpu: [ppc64] os: [aix] requiresBuild: true + optional: true + + /@esbuild/android-arm64@0.18.20: + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true dev: true optional: true @@ -401,7 +445,7 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm64@0.20.2: @@ -410,6 +454,14 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + optional: true + + /@esbuild/android-arm@0.18.20: + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true dev: true optional: true @@ -419,7 +471,7 @@ packages: cpu: [arm] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-arm@0.20.2: @@ -428,6 +480,14 @@ packages: cpu: [arm] os: [android] requiresBuild: true + optional: true + + /@esbuild/android-x64@0.18.20: + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true dev: true optional: true @@ -437,7 +497,7 @@ packages: cpu: [x64] os: [android] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/android-x64@0.20.2: @@ -446,6 +506,14 @@ packages: cpu: [x64] os: [android] requiresBuild: true + optional: true + + /@esbuild/darwin-arm64@0.18.20: + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true optional: true @@ -455,7 +523,7 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-arm64@0.20.2: @@ -464,6 +532,14 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + optional: true + + /@esbuild/darwin-x64@0.18.20: + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true optional: true @@ -473,7 +549,7 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/darwin-x64@0.20.2: @@ -482,6 +558,14 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + optional: true + + /@esbuild/freebsd-arm64@0.18.20: + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true dev: true optional: true @@ -491,7 +575,7 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-arm64@0.20.2: @@ -500,6 +584,14 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + optional: true + + /@esbuild/freebsd-x64@0.18.20: + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true dev: true optional: true @@ -509,7 +601,7 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/freebsd-x64@0.20.2: @@ -518,6 +610,14 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + optional: true + + /@esbuild/linux-arm64@0.18.20: + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true optional: true @@ -527,7 +627,7 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm64@0.20.2: @@ -536,6 +636,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-arm@0.18.20: + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true dev: true optional: true @@ -545,7 +653,7 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-arm@0.20.2: @@ -554,6 +662,14 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-ia32@0.18.20: + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true dev: true optional: true @@ -563,7 +679,7 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ia32@0.20.2: @@ -572,6 +688,14 @@ packages: cpu: [ia32] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-loong64@0.18.20: + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true dev: true optional: true @@ -581,7 +705,7 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-loong64@0.20.2: @@ -590,6 +714,14 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-mips64el@0.18.20: + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true dev: true optional: true @@ -599,7 +731,7 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-mips64el@0.20.2: @@ -608,6 +740,14 @@ packages: cpu: [mips64el] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-ppc64@0.18.20: + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true dev: true optional: true @@ -617,7 +757,7 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-ppc64@0.20.2: @@ -626,6 +766,14 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-riscv64@0.18.20: + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true dev: true optional: true @@ -635,7 +783,7 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-riscv64@0.20.2: @@ -644,6 +792,14 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-s390x@0.18.20: + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true dev: true optional: true @@ -653,7 +809,7 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-s390x@0.20.2: @@ -662,6 +818,14 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + optional: true + + /@esbuild/linux-x64@0.18.20: + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true optional: true @@ -671,7 +835,7 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/linux-x64@0.20.2: @@ -680,6 +844,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + optional: true + + /@esbuild/netbsd-x64@0.18.20: + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true dev: true optional: true @@ -689,7 +861,7 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/netbsd-x64@0.20.2: @@ -698,6 +870,14 @@ packages: cpu: [x64] os: [netbsd] requiresBuild: true + optional: true + + /@esbuild/openbsd-x64@0.18.20: + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true optional: true @@ -707,7 +887,7 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/openbsd-x64@0.20.2: @@ -716,6 +896,14 @@ packages: cpu: [x64] os: [openbsd] requiresBuild: true + optional: true + + /@esbuild/sunos-x64@0.18.20: + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true dev: true optional: true @@ -725,7 +913,7 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/sunos-x64@0.20.2: @@ -734,6 +922,14 @@ packages: cpu: [x64] os: [sunos] requiresBuild: true + optional: true + + /@esbuild/win32-arm64@0.18.20: + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true dev: true optional: true @@ -743,7 +939,7 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-arm64@0.20.2: @@ -752,6 +948,14 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + optional: true + + /@esbuild/win32-ia32@0.18.20: + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true dev: true optional: true @@ -761,7 +965,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-ia32@0.20.2: @@ -770,6 +974,14 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + optional: true + + /@esbuild/win32-x64@0.18.20: + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true optional: true @@ -779,7 +991,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: false + dev: true optional: true /@esbuild/win32-x64@0.20.2: @@ -788,7 +1000,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): @@ -823,13 +1034,13 @@ packages: - supports-color dev: true - /@eslint/js@9.0.0: - resolution: {integrity: sha512-RThY/MnKrhubF6+s1JflwUjPEsnCEmYCWwqa/aRISKWNXGZ9epUwft4bUMM35SdKF9xvBrLydAM1RDHd1Z//ZQ==} + /@eslint/js@9.1.1: + resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@eslint/js@9.1.1: - resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} + /@eslint/js@9.2.0: + resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true @@ -857,6 +1068,18 @@ packages: fast-deep-equal: 3.1.3 dev: false + /@fastify/sensible@5.5.0: + resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + dev: false + /@fastify/sensible@5.6.0: resolution: {integrity: sha512-Vq6Z2ZQy10GDqON+hvLF52K99s9et5gVVxTul5n3SIAf0Kq5QjPRUKkAMT3zPAiiGvoHtS3APa/3uaxfDgCODQ==} dependencies: @@ -869,6 +1092,21 @@ packages: vary: 1.1.2 dev: false + /@hono/node-server@1.11.1: + resolution: {integrity: sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==} + engines: {node: '>=18.14.1'} + dev: true + + /@hono/zod-validator@0.2.1(hono@4.3.3)(zod@3.23.8): + resolution: {integrity: sha512-HFoxln7Q6JsE64qz2WBS28SD33UB2alp3aRKmcWnNLDzEL1BLsWfbdX6e1HIiUprHYTIXf5y7ax8eYidKUwyaA==} + peerDependencies: + hono: '>=3.9.0' + zod: ^3.19.1 + dependencies: + hono: 4.3.3 + zod: 3.23.8 + dev: true + /@humanwhocodes/config-array@0.13.0: resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} @@ -889,8 +1127,8 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true - /@humanwhocodes/retry@0.2.3: - resolution: {integrity: sha512-X38nUbachlb01YMlvPFojKoiXq+LzZvuSce70KPMPdeM1Rj03k4dR7lDslhbqXn3Ang4EU3+EAmwEAsbrjHW3g==} + /@humanwhocodes/retry@0.2.4: + resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==} engines: {node: '>=18.18'} dev: true @@ -962,174 +1200,151 @@ packages: engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true - /@rollup/rollup-android-arm-eabi@4.13.2: - resolution: {integrity: sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==} + /@rollup/rollup-android-arm-eabi@4.17.2: + resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-android-arm64@4.13.2: - resolution: {integrity: sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==} + /@rollup/rollup-android-arm64@4.17.2: + resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-arm64@4.13.2: - resolution: {integrity: sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==} + /@rollup/rollup-darwin-arm64@4.17.2: + resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-darwin-x64@4.13.2: - resolution: {integrity: sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==} + /@rollup/rollup-darwin-x64@4.17.2: + resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.13.2: - resolution: {integrity: sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==} + /@rollup/rollup-linux-arm-gnueabihf@4.17.2: + resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.13.2: - resolution: {integrity: sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==} + /@rollup/rollup-linux-arm-musleabihf@4.17.2: + resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.17.2: + resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-arm64-musl@4.13.2: - resolution: {integrity: sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==} + /@rollup/rollup-linux-arm64-musl@4.17.2: + resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.13.2: - resolution: {integrity: sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==} - cpu: [ppc64le] + /@rollup/rollup-linux-powerpc64le-gnu@4.17.2: + resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} + cpu: [ppc64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-riscv64-gnu@4.13.2: - resolution: {integrity: sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==} + /@rollup/rollup-linux-riscv64-gnu@4.17.2: + resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.13.2: - resolution: {integrity: sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==} + /@rollup/rollup-linux-s390x-gnu@4.17.2: + resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} cpu: [s390x] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-gnu@4.13.2: - resolution: {integrity: sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==} + /@rollup/rollup-linux-x64-gnu@4.17.2: + resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-linux-x64-musl@4.13.2: - resolution: {integrity: sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==} + /@rollup/rollup-linux-x64-musl@4.17.2: + resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.13.2: - resolution: {integrity: sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==} + /@rollup/rollup-win32-arm64-msvc@4.17.2: + resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.13.2: - resolution: {integrity: sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==} + /@rollup/rollup-win32-ia32-msvc@4.17.2: + resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] requiresBuild: true dev: true optional: true - /@rollup/rollup-win32-x64-msvc@4.13.2: - resolution: {integrity: sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==} + /@rollup/rollup-win32-x64-msvc@4.17.2: + resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /@rushstack/node-core-library@4.0.2(@types/node@20.12.10): - resolution: {integrity: sha512-hyES82QVpkfQMeBMteQUnrhASL/KHPhd7iJ8euduwNJG4mu2GSOKybf0rOEjOm1Wz7CwJEUm9y0yD7jg2C1bfg==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@types/node': 20.12.10 - fs-extra: 7.0.1 - import-lazy: 4.0.0 - jju: 1.4.0 - resolve: 1.22.8 - semver: 7.5.4 - z-schema: 5.0.5 - dev: true - - /@rushstack/terminal@0.10.0(@types/node@20.12.10): - resolution: {integrity: sha512-UbELbXnUdc7EKwfH2sb8ChqNgapUOdqcCIdQP4NGxBpTZV2sQyeekuK3zmfQSa/MN+/7b4kBogl2wq0vpkpYGw==} - peerDependencies: - '@types/node': '*' - peerDependenciesMeta: - '@types/node': - optional: true - dependencies: - '@rushstack/node-core-library': 4.0.2(@types/node@20.12.10) - '@types/node': 20.12.10 - supports-color: 8.1.1 - dev: true - - /@rushstack/ts-command-line@4.19.1(@types/node@20.12.10): - resolution: {integrity: sha512-J7H768dgcpG60d7skZ5uSSwyCZs/S2HrWP1Ds8d1qYAyaaeJmpmmLr9BVw97RjFzmQPOYnoXcKA4GkqDCkduQg==} + /@sentry-internal/tracing@7.111.0: + resolution: {integrity: sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg==} + engines: {node: '>=8'} dependencies: - '@rushstack/terminal': 0.10.0(@types/node@20.12.10) - '@types/argparse': 1.0.38 - argparse: 1.0.10 - string-argv: 0.3.2 - transitivePeerDependencies: - - '@types/node' - dev: true + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + dev: false - /@sentry-internal/tracing@7.112.2: - resolution: {integrity: sha512-fT1Y46J4lfXZkgFkb03YMNeIEs2xS6jdKMoukMFQfRfVvL9fSWEbTgZpHPd/YTT8r2i082XzjtAoQNgklm/0Hw==} + /@sentry-internal/tracing@7.113.0: + resolution: {integrity: sha512-8MDnYENRMnEfQjvN4gkFYFaaBSiMFSU/6SQZfY9pLI3V105z6JQ4D0PGMAUVowXilwNZVpKNYohE7XByuhEC7Q==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.2 - '@sentry/types': 7.112.2 - '@sentry/utils': 7.112.2 + '@sentry/core': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + dev: true /@sentry/babel-plugin-component-annotate@2.16.1: resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} @@ -1140,9 +1355,9 @@ packages: resolution: {integrity: sha512-n6z8Ts3T9HROLuY7tVEYpBKvS+P7+b8NdqxP7QBcwp2nuPUlN5Ola1ivFjk1p5a7wRYeN9zM8orGe4l2HeNfYA==} engines: {node: '>= 14'} dependencies: - '@babel/core': 7.24.3 + '@babel/core': 7.24.5 '@sentry/babel-plugin-component-annotate': 2.16.1 - '@sentry/cli': 2.31.0 + '@sentry/cli': 2.31.2 dotenv: 16.4.5 find-up: 5.0.0 glob: 9.3.5 @@ -1153,16 +1368,16 @@ packages: - supports-color dev: false - /@sentry/cli-darwin@2.31.0: - resolution: {integrity: sha512-VM5liyxMnm4K2g0WsrRPXRCMLhaT09C7gK5Fz/CxKYh9sbMZB7KA4hV/3klkyuyw1+ECF1J66cefhNkFZepUig==} + /@sentry/cli-darwin@2.31.2: + resolution: {integrity: sha512-BHA/JJXj1dlnoZQdK4efRCtHRnbBfzbIZUKAze7oRR1RfNqERI84BVUQeKateD3jWSJXQfEuclIShc61KOpbKw==} engines: {node: '>=10'} os: [darwin] requiresBuild: true dev: false optional: true - /@sentry/cli-linux-arm64@2.31.0: - resolution: {integrity: sha512-eENJTmXoFX3uNr8xRW7Bua2Sw3V1tylQfdtS85pNjZPdbm3U8wYQSWu2VoZkK2ASOoC+17YC8jTQxq62KWnSeQ==} + /@sentry/cli-linux-arm64@2.31.2: + resolution: {integrity: sha512-FLVKkJ/rWvPy/ka7OrUdRW63a/z8HYI1Gt8Pr6rWs50hb7YJja8lM8IO10tYmcFE/tODICsnHO9HTeUg2g2d1w==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd] @@ -1170,8 +1385,8 @@ packages: dev: false optional: true - /@sentry/cli-linux-arm@2.31.0: - resolution: {integrity: sha512-AZoCN3waXEfXGCd3YSrikcX/y63oQe0Tiyapkeoifq/0QhI+2MOOrAQb60gthsXwb0UDK/XeFi3PaxyUCphzxA==} + /@sentry/cli-linux-arm@2.31.2: + resolution: {integrity: sha512-W8k5mGYYZz/I/OxZH65YAK7dCkQAl+wbuoASGOQjUy5VDgqH0QJ8kGJufXvFPM+f3ZQGcKAnVsZ6tFqZXETBAw==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd] @@ -1179,8 +1394,8 @@ packages: dev: false optional: true - /@sentry/cli-linux-i686@2.31.0: - resolution: {integrity: sha512-cQUFb3brhLaNSIoNzjU/YASnTM1I3TDJP9XXzH0eLK9sSopCcDcc6OrYEYvdjJXZKzFv5sbc9UNMsIDbh4+rYg==} + /@sentry/cli-linux-i686@2.31.2: + resolution: {integrity: sha512-A64QtzaPi3MYFpZ+Fwmi0mrSyXgeLJ0cWr4jdeTGrzNpeowSteKgd6tRKU+LVq0k5shKE7wdnHk+jXnoajulMA==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd] @@ -1188,8 +1403,8 @@ packages: dev: false optional: true - /@sentry/cli-linux-x64@2.31.0: - resolution: {integrity: sha512-z1zTNg91nZJRdcGHC/bCU1KwIaifV0MLJteip9KrFDprzhJk1HtMxFOS0+OZ5/UH21CjAFmg9Pj6IAGqm3BYjA==} + /@sentry/cli-linux-x64@2.31.2: + resolution: {integrity: sha512-YL/r+15R4mOEiU3mzn7iFQOeFEUB6KxeKGTTrtpeOGynVUGIdq4nV5rHow5JDbIzOuBS3SpOmcIMluvo1NCh0g==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd] @@ -1197,8 +1412,8 @@ packages: dev: false optional: true - /@sentry/cli-win32-i686@2.31.0: - resolution: {integrity: sha512-+K7fdk57aUd4CmYrQfDGYPzVyxsTnVro6IPb5QSSLpP03dL7ko5208epu4m2SyN/MkFvscy9Di3n3DTvIfDU2w==} + /@sentry/cli-win32-i686@2.31.2: + resolution: {integrity: sha512-Az/2bmW+TFI059RE0mSBIxTBcoShIclz7BDebmIoCkZ+retrwAzpmBnBCDAHow+Yi43utOow+3/4idGa2OxcLw==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] @@ -1206,8 +1421,8 @@ packages: dev: false optional: true - /@sentry/cli-win32-x64@2.31.0: - resolution: {integrity: sha512-w5cvpZ6VVlhlyleY8TYHmrP7g48vKHnoVt5xFccfxT+HqQI/AxodvzgVvBTM2kB/sh/kHwexp6bJGWCdkGftww==} + /@sentry/cli-win32-x64@2.31.2: + resolution: {integrity: sha512-XIzyRnJu539NhpFa+JYkotzVwv3NrZ/4GfHB/JWA2zReRvsk39jJG8D5HOmm0B9JA63QQT7Dt39RW8g3lkmb6w==} engines: {node: '>=10'} cpu: [x64] os: [win32] @@ -1215,8 +1430,8 @@ packages: dev: false optional: true - /@sentry/cli@2.31.0: - resolution: {integrity: sha512-nCESoXAG3kRUO5n3QbDYAqX6RU3z1ORjnd7a3sqijYsCGHfOpcjGdS7JYLVg5if+tXMEF5529BPXFe5Kg/J9tw==} + /@sentry/cli@2.31.2: + resolution: {integrity: sha512-2aKyUx6La2P+pplL8+2vO67qJ+c1C79KYWAyQBE0JIT5kvKK9JpwtdNoK1F0/2mRpwhhYPADCz3sVIRqmL8cQQ==} engines: {node: '>= 10'} hasBin: true requiresBuild: true @@ -1227,24 +1442,33 @@ packages: proxy-from-env: 1.1.0 which: 2.0.2 optionalDependencies: - '@sentry/cli-darwin': 2.31.0 - '@sentry/cli-linux-arm': 2.31.0 - '@sentry/cli-linux-arm64': 2.31.0 - '@sentry/cli-linux-i686': 2.31.0 - '@sentry/cli-linux-x64': 2.31.0 - '@sentry/cli-win32-i686': 2.31.0 - '@sentry/cli-win32-x64': 2.31.0 + '@sentry/cli-darwin': 2.31.2 + '@sentry/cli-linux-arm': 2.31.2 + '@sentry/cli-linux-arm64': 2.31.2 + '@sentry/cli-linux-i686': 2.31.2 + '@sentry/cli-linux-x64': 2.31.2 + '@sentry/cli-win32-i686': 2.31.2 + '@sentry/cli-win32-x64': 2.31.2 transitivePeerDependencies: - encoding - supports-color dev: false - /@sentry/core@7.112.2: - resolution: {integrity: sha512-gHPCcJobbMkk0VR18J65WYQTt3ED4qC6X9lHKp27Ddt63E+MDGkG6lvYBU1LS8cV7CdyBGC1XXDCfor61GvLsA==} + /@sentry/core@7.111.0: + resolution: {integrity: sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.2 - '@sentry/utils': 7.112.2 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + dev: false + + /@sentry/core@7.113.0: + resolution: {integrity: sha512-pg75y3C5PG2+ur27A0Re37YTCEnX0liiEU7EOxWDGutH17x3ySwlYqLQmZsFZTSnvzv7t3MGsNZ8nT5O0746YA==} + engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + dev: true /@sentry/esbuild-plugin@2.16.1: resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} @@ -1258,64 +1482,80 @@ packages: - supports-color dev: false - /@sentry/integrations@7.112.2: - resolution: {integrity: sha512-ioC2yyU6DqtLkdmWnm87oNvdn2+9oKctJeA4t+jkS6JaJ10DcezjCwiLscX4rhB9aWJV3IWF7Op0O6K3w0t2Hg==} + /@sentry/integrations@7.113.0: + resolution: {integrity: sha512-w0sspGBQ+6+V/9bgCkpuM3CGwTYoQEVeTW6iNebFKbtN7MrM3XsGAM9I2cW1jVxFZROqCBPFtd2cs5n0j14aAg==} engines: {node: '>=8'} dependencies: - '@sentry/core': 7.112.2 - '@sentry/types': 7.112.2 - '@sentry/utils': 7.112.2 + '@sentry/core': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 localforage: 1.10.0 + dev: true - /@sentry/node@7.112.2: - resolution: {integrity: sha512-MNzkqER8jc2xOS3ArkCLH5hakzu15tcjeC7qjU7rQ1Ms4WuV+MG0docSRESux0/p23Qjzf9tZOc8C5Eq+Sxduw==} + /@sentry/node@7.111.0: + resolution: {integrity: sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w==} engines: {node: '>=8'} dependencies: - '@sentry-internal/tracing': 7.112.2 - '@sentry/core': 7.112.2 - '@sentry/integrations': 7.112.2 - '@sentry/types': 7.112.2 - '@sentry/utils': 7.112.2 + '@sentry-internal/tracing': 7.111.0 + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + dev: false - /@sentry/profiling-node@7.112.2: - resolution: {integrity: sha512-qCLJjQHW5mkDuh12MuqVVZfhdC20pJ4Vlmo/VO8orsDCcdVxDyO2N5SSe54epcBtuzUYOBsjomXyGiXw8sd2dA==} + /@sentry/node@7.113.0: + resolution: {integrity: sha512-Vam4Ia0I9fhVw8GJOzcLP7MiiHJSKl8L9LzLMMLG3+2/dFnDQOyS7sOfk3GqgpwzqPiusP9vFu7CFSX7EMQbTg==} + engines: {node: '>=8'} + dependencies: + '@sentry-internal/tracing': 7.113.0 + '@sentry/core': 7.113.0 + '@sentry/integrations': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + dev: true + + /@sentry/profiling-node@7.113.0: + resolution: {integrity: sha512-ABEBLNaFwKIDZHPmvlFPCyrhdKkFRYyGeTijKuQ/fU0q81CCNnh+FJphfJTh9Js1afJ9ShFxk2KZNGzipyo8Zw==} engines: {node: '>=8.0.0'} hasBin: true requiresBuild: true dependencies: detect-libc: 2.0.3 - node-abi: 3.56.0 + node-abi: 3.62.0 + dev: true + + /@sentry/types@7.111.0: + resolution: {integrity: sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g==} + engines: {node: '>=8'} + dev: false + + /@sentry/types@7.113.0: + resolution: {integrity: sha512-PJbTbvkcPu/LuRwwXB1He8m+GjDDLKBtu3lWg5xOZaF5IRdXQU2xwtdXXsjge4PZR00tF7MO7X8ZynTgWbYaew==} + engines: {node: '>=8'} dev: true - /@sentry/types@7.112.2: - resolution: {integrity: sha512-kCMLt7yhY5OkWE9MeowlTNmox9pqDxcpvqguMo4BDNZM5+v9SEb1AauAdR78E1a1V8TyCzjBD7JDfXWhvpYBcQ==} + /@sentry/utils@7.111.0: + resolution: {integrity: sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg==} engines: {node: '>=8'} + dependencies: + '@sentry/types': 7.111.0 + dev: false - /@sentry/utils@7.112.2: - resolution: {integrity: sha512-OjLh0hx0t1EcL4ZIjf+4svlmmP+tHUDGcr5qpFWH78tjmkPW4+cqPuZCZfHSuWcDdeiaXi8TnYoVRqDcJKK/eQ==} + /@sentry/utils@7.113.0: + resolution: {integrity: sha512-nzKsErwmze1mmEsbW2AwL2oB+I5v6cDEJY4sdfLekA4qZbYZ8pV5iWza6IRl4XfzGTE1qpkZmEjPU9eyo0yvYw==} engines: {node: '>=8'} dependencies: - '@sentry/types': 7.112.2 + '@sentry/types': 7.113.0 + dev: true /@sinclair/typebox@0.27.8: resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true - /@slonik/migrator@0.12.0(@types/node@20.12.10)(slonik@40.2.6): - resolution: {integrity: sha512-2kAXCO/iW9/VOYlfl8Jza4fQpi5Q8+JUyB38YFUxPiWNc+6o41GGND2aIpnyr6EPFNRXdg5x+Fu8+SMyMvMXpQ==} - peerDependencies: - slonik: 27 - 29 + /@types/debug@4.1.12: + resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) - slonik: 40.2.6(zod@3.23.6) - umzug: 3.7.0(@types/node@20.12.10) - transitivePeerDependencies: - - '@types/node' - dev: true - - /@types/argparse@1.0.38: - resolution: {integrity: sha512-ebDJ9b0e702Yr7pWgB0jzm+CX4Srzz8RcXtLJDJB+BSccqMa36uyH/zUsSYao5+BD1ytv3k3rPYCq4mAE1hsXA==} - dev: true + '@types/ms': 0.7.34 + dev: false /@types/estree@1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} @@ -1325,15 +1565,19 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true - /@types/node@20.12.10: - resolution: {integrity: sha512-Eem5pH9pmWBHoGAT8Dr5fdc5rYA+4NAovdM4EktRPVAAiJhmWWfQrA0cFhAbOsQdSfIHjAud6YdkbL69+zSKjw==} + /@types/ms@0.7.34: + resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} + dev: false + + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 - /@types/pg@8.11.5: - resolution: {integrity: sha512-2xMjVviMxneZHDHX5p5S6tsRRs7TpDHeeK7kTTMe/kAC/mRRNjWHjZg0rkiY+e17jXSZV3zJYDxXV8Cy72/Vuw==} + /@types/pg@8.11.6: + resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.7 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -1341,8 +1585,12 @@ packages: resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true - /@typescript-eslint/eslint-plugin@7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.1)(typescript@5.4.5): - resolution: {integrity: sha512-gKmTNwZnblUdnTIJu3e9kmeRRzV2j1a/LUO27KNNAnIC5zjy1aSvXSRp4rVNlmAoHlQ7HzX42NbKpcSr4jF80A==} + /@types/validator@13.11.9: + resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==} + dev: false + + /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.1.1)(typescript@5.4.5): + resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: '@typescript-eslint/parser': ^7.0.0 @@ -1353,25 +1601,25 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.6.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/type-utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/parser': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/type-utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.1.1 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/parser@7.6.0(eslint@9.1.1)(typescript@5.4.5): - resolution: {integrity: sha512-usPMPHcwX3ZoPWnBnhhorc14NJw9J4HpSXQX4urF2TPKG0au0XhJoZyX62fmvdHONUkmyUe74Hzm1//XA+BoYg==} + /@typescript-eslint/parser@7.8.0(eslint@9.1.1)(typescript@5.4.5): + resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1380,10 +1628,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.1.1 typescript: 5.4.5 @@ -1391,16 +1639,16 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@7.6.0: - resolution: {integrity: sha512-ngttyfExA5PsHSx0rdFgnADMYQi+Zkeiv4/ZxGYUWd0nLs63Ha0ksmp8VMxAIC0wtCFxMos7Lt3PszJssG/E6w==} + /@typescript-eslint/scope-manager@7.8.0: + resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 dev: true - /@typescript-eslint/type-utils@7.6.0(eslint@9.1.1)(typescript@5.4.5): - resolution: {integrity: sha512-NxAfqAPNLG6LTmy7uZgpK8KcuiS2NZD/HlThPXQRGwz6u7MDBWRVliEEl1Gj6U7++kVJTpehkhZzCJLMK66Scw==} + /@typescript-eslint/type-utils@7.8.0(eslint@9.1.1)(typescript@5.4.5): + resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1409,8 +1657,8 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) debug: 4.3.4 eslint: 9.1.1 ts-api-utils: 1.3.0(typescript@5.4.5) @@ -1419,13 +1667,13 @@ packages: - supports-color dev: true - /@typescript-eslint/types@7.6.0: - resolution: {integrity: sha512-h02rYQn8J+MureCvHVVzhl69/GAfQGPQZmOMjG1KfCl7o3HtMSlPaPUAPu6lLctXI5ySRGIYk94clD/AUMCUgQ==} + /@typescript-eslint/types@7.8.0: + resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} engines: {node: ^18.18.0 || >=20.0.0} dev: true - /@typescript-eslint/typescript-estree@7.6.0(typescript@5.4.5): - resolution: {integrity: sha512-+7Y/GP9VuYibecrCQWSKgl3GvUM5cILRttpWtnAu8GNL9j11e4tbuGZmZjJ8ejnKYyBRb2ddGQ3rEFCq3QjMJw==} + /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5): + resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1433,21 +1681,21 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/visitor-keys': 7.6.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.0 + semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color dev: true - /@typescript-eslint/utils@7.6.0(eslint@9.1.1)(typescript@5.4.5): - resolution: {integrity: sha512-x54gaSsRRI+Nwz59TXpCsr6harB98qjXYzsRxGqvA5Ue3kQH+FxS7FYU81g/omn22ML2pZJkisy6Q+ElK8pBCA==} + /@typescript-eslint/utils@7.8.0(eslint@9.1.1)(typescript@5.4.5): + resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -1455,21 +1703,21 @@ packages: '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.6.0 - '@typescript-eslint/types': 7.6.0 - '@typescript-eslint/typescript-estree': 7.6.0(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) eslint: 9.1.1 - semver: 7.6.0 + semver: 7.6.1 transitivePeerDependencies: - supports-color - typescript dev: true - /@typescript-eslint/visitor-keys@7.6.0: - resolution: {integrity: sha512-4eLB7t+LlNUmXzfOu1VAIAdkjbu5xNSerURS9X/S5TUKWFRpXRQZbmtPqgKmYx8bj3J0irtQXSiWAOY82v+cgw==} + /@typescript-eslint/visitor-keys@7.8.0: + resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} engines: {node: ^18.18.0 || >=20.0.0} dependencies: - '@typescript-eslint/types': 7.6.0 + '@typescript-eslint/types': 7.8.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1485,13 +1733,13 @@ packages: istanbul-lib-report: 3.0.1 istanbul-lib-source-maps: 5.0.4 istanbul-reports: 3.1.7 - magic-string: 0.30.8 - magicast: 0.3.3 + magic-string: 0.30.10 + magicast: 0.3.4 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.1(@types/node@20.12.10) + vitest: 1.5.1(@types/node@20.12.7) transitivePeerDependencies: - supports-color dev: true @@ -1515,7 +1763,7 @@ packages: /@vitest/snapshot@1.5.1: resolution: {integrity: sha512-h/1SGaZYXmjn6hULRBOlqam2z4oTlEe6WwARRzLErAPBqljAs6eX7tfdyN0K+MpipIwSZ5sZsubDWkCPAiVXZQ==} dependencies: - magic-string: 0.30.8 + magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 dev: true @@ -1584,6 +1832,17 @@ packages: ajv: 8.12.0 dev: false + /ajv-formats@3.0.1(ajv@8.13.0): + resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + dependencies: + ajv: 8.13.0 + dev: false + /ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: @@ -1602,6 +1861,15 @@ packages: uri-js: 4.4.1 dev: false + /ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + dev: false + /ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1643,12 +1911,6 @@ packages: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} dev: false - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - dependencies: - sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true @@ -1692,6 +1954,7 @@ packages: /boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} + dev: false /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -1716,12 +1979,16 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001605 - electron-to-chromium: 1.4.724 + caniuse-lite: 1.0.30001616 + electron-to-chromium: 1.4.759 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.15(browserslist@4.23.0) dev: false + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + dev: true + /buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: @@ -1739,8 +2006,13 @@ packages: engines: {node: '>=6'} dev: true - /caniuse-lite@1.0.30001605: - resolution: {integrity: sha512-nXwGlFWo34uliI9z3n6Qc0wZaf7zaZWA1CPZ169La5mV3I/gem7bst0vr5XQH5TJXZIMfDeZyOrZnSlVzKxxHQ==} + /camelcase@7.0.1: + resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} + engines: {node: '>=14.16'} + dev: true + + /caniuse-lite@1.0.30001616: + resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} dev: false /chai@4.4.1: @@ -1773,6 +2045,11 @@ packages: supports-color: 7.2.0 dev: true + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true + /check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: @@ -1794,6 +2071,17 @@ packages: fsevents: 2.3.3 dev: false + /cli-color@2.0.4: + resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} + engines: {node: '>=0.10'} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + memoizee: 0.4.15 + timers-ext: 0.1.7 + dev: true + /color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: @@ -1822,14 +2110,16 @@ packages: /commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - requiresBuild: true dev: true - optional: true /concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true + /confbox@0.1.7: + resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} + dev: true + /convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: false @@ -1839,6 +2129,13 @@ packages: engines: {node: '>= 0.6'} dev: false + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + dependencies: + is-what: 4.1.16 + dev: true + /cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1848,6 +2145,14 @@ packages: which: 2.0.2 dev: true + /d@1.0.2: + resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} + engines: {node: '>=0.12'} + dependencies: + es5-ext: 0.10.64 + type: 2.7.2 + dev: true + /dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} dev: false @@ -1889,6 +2194,12 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true + /difflib@0.2.4: + resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + dependencies: + heap: 0.2.7 + dev: true + /dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} @@ -1901,21 +2212,218 @@ packages: engines: {node: '>=12'} dev: false - /electron-to-chromium@1.4.724: - resolution: {integrity: sha512-RTRvkmRkGhNBPPpdrgtDKvmOEYTrPlXDfc0J/Nfq5s29tEahAwhiX4mmhNzj6febWMleulxVYPh7QwCSL/EldA==} + /dottie@2.0.6: + resolution: {integrity: sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==} dev: false - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} + /dreamopt@0.8.0: + resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} + engines: {node: '>=0.4.0'} + dependencies: + wordwrap: 1.0.0 dev: true + /drizzle-kit@0.20.18: + resolution: {integrity: sha512-fLTwcnLqtBxGd+51H/dEm9TC0FW6+cIX/RVPyNcitBO77X9+nkogEfMAJebpd/8Yl4KucmePHRYRWWvUlW0rqg==} + hasBin: true + dependencies: + '@esbuild-kit/esm-loader': 2.6.5 + '@hono/node-server': 1.11.1 + '@hono/zod-validator': 0.2.1(hono@4.3.3)(zod@3.23.8) + camelcase: 7.0.1 + chalk: 5.3.0 + commander: 9.5.0 + env-paths: 3.0.0 + esbuild: 0.19.12 + esbuild-register: 3.5.0(esbuild@0.19.12) + glob: 8.1.0 + hanji: 0.0.5 + hono: 4.3.3 + json-diff: 0.9.0 + minimatch: 7.4.6 + semver: 7.6.1 + superjson: 2.2.1 + zod: 3.23.8 + transitivePeerDependencies: + - supports-color + dev: true + + /drizzle-orm@0.30.10(@types/pg@8.11.6)(pg@8.11.5): + resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} + peerDependencies: + '@aws-sdk/client-rds-data': '>=3' + '@cloudflare/workers-types': '>=3' + '@electric-sql/pglite': '>=0.1.1' + '@libsql/client': '*' + '@neondatabase/serverless': '>=0.1' + '@op-engineering/op-sqlite': '>=2' + '@opentelemetry/api': ^1.4.1 + '@planetscale/database': '>=1' + '@types/better-sqlite3': '*' + '@types/pg': '*' + '@types/react': '>=18' + '@types/sql.js': '*' + '@vercel/postgres': '>=0.8.0' + '@xata.io/client': '*' + better-sqlite3: '>=7' + bun-types: '*' + expo-sqlite: '>=13.2.0' + knex: '*' + kysely: '*' + mysql2: '>=2' + pg: '>=8' + postgres: '>=3' + react: '>=18' + sql.js: '>=1' + sqlite3: '>=5' + peerDependenciesMeta: + '@aws-sdk/client-rds-data': + optional: true + '@cloudflare/workers-types': + optional: true + '@electric-sql/pglite': + optional: true + '@libsql/client': + optional: true + '@neondatabase/serverless': + optional: true + '@op-engineering/op-sqlite': + optional: true + '@opentelemetry/api': + optional: true + '@planetscale/database': + optional: true + '@types/better-sqlite3': + optional: true + '@types/pg': + optional: true + '@types/react': + optional: true + '@types/sql.js': + optional: true + '@vercel/postgres': + optional: true + '@xata.io/client': + optional: true + better-sqlite3: + optional: true + bun-types: + optional: true + expo-sqlite: + optional: true + knex: + optional: true + kysely: + optional: true + mysql2: + optional: true + pg: + optional: true + postgres: + optional: true + react: + optional: true + sql.js: + optional: true + sqlite3: + optional: true + dependencies: + '@types/pg': 8.11.6 + pg: 8.11.5 + dev: false + + /electron-to-chromium@1.4.759: + resolution: {integrity: sha512-qZJc+zsuI+/5UjOSFnpkJBwwLMH1AZgyKqJ7LUNnRsB7v/cDjMu9DvXgp9kH6PTTZxjnPXGp2Uhurw+2Ll4Hjg==} + dev: false + /end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: false + /env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true + + /es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + requiresBuild: true + dependencies: + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + esniff: 2.0.1 + next-tick: 1.1.0 + dev: true + + /es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-symbol: 3.1.4 + dev: true + + /es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + dependencies: + d: 1.0.2 + ext: 1.7.0 + dev: true + + /es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + es6-symbol: 3.1.4 + dev: true + + /esbuild-register@3.5.0(esbuild@0.19.12): + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + dependencies: + debug: 4.3.4 + esbuild: 0.19.12 + transitivePeerDependencies: + - supports-color + dev: true + + /esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + dev: true + /esbuild@0.19.12: resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} engines: {node: '>=12'} @@ -1945,7 +2453,7 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: false + dev: true /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} @@ -1976,7 +2484,6 @@ packages: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - dev: true /escalade@3.1.2: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} @@ -2052,7 +2559,7 @@ packages: '@eslint/js': 9.1.1 '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.2.3 + '@humanwhocodes/retry': 0.2.4 '@nodelib/fs.walk': 1.2.8 ajv: 6.12.6 chalk: 4.1.2 @@ -2077,13 +2584,23 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color dev: true + /esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + event-emitter: 0.3.5 + type: 2.7.2 + dev: true + /espree@10.0.1: resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2123,6 +2640,13 @@ packages: engines: {node: '>=0.10.0'} dev: true + /event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + dev: true + /event-target-shim@5.0.1: resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} engines: {node: '>=6'} @@ -2148,6 +2672,12 @@ packages: strip-final-newline: 3.0.0 dev: true + /ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + dependencies: + type: 2.7.2 + dev: true + /fast-content-type-parse@1.1.0: resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} dev: false @@ -2194,12 +2724,24 @@ packages: rfdc: 1.3.1 dev: false - /fast-json-stringify@5.13.0: - resolution: {integrity: sha512-XjTDWKHP3GoMQUOfnjYUbqeHeEt+PvYgvBdG2fRSmYaORILbSr8xTJvZX+w1YSAP5pw2NwKrGRmQleYueZEoxw==} + /fast-json-stringify@5.15.0: + resolution: {integrity: sha512-BUEAAyDKb64u+kmkINYfXUUiKjBKerSmVu/dzotfaWSHBxR44JFrOZgkhMO6VxDhDfiuAoi8mx4drd5nvNdA4Q==} dependencies: '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 3.0.1(ajv@8.13.0) + fast-deep-equal: 3.1.3 + fast-uri: 2.3.0 + json-schema-ref-resolver: 1.0.1 + rfdc: 1.3.1 + dev: false + + /fast-json-stringify@5.15.1: + resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==} + dependencies: + '@fastify/merge-json-schemas': 0.1.1 + ajv: 8.13.0 + ajv-formats: 3.0.1(ajv@8.13.0) fast-deep-equal: 3.1.3 fast-uri: 2.3.0 json-schema-ref-resolver: 1.0.1 @@ -2215,6 +2757,7 @@ packages: engines: {node: '>=10.0'} dependencies: boolean: 3.2.0 + dev: false /fast-querystring@1.1.2: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} @@ -2248,10 +2791,10 @@ packages: abstract-logging: 2.0.1 avvio: 8.3.0 fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.13.0 - find-my-way: 8.1.0 - light-my-request: 5.12.0 - pino: 8.19.0 + fast-json-stringify: 5.15.0 + find-my-way: 8.2.0 + light-my-request: 5.13.0 + pino: 8.21.0 process-warning: 3.0.0 proxy-addr: 2.0.7 rfdc: 1.3.1 @@ -2262,6 +2805,29 @@ packages: - supports-color dev: false + /fastify@4.27.0: + resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} + dependencies: + '@fastify/ajv-compiler': 3.5.0 + '@fastify/error': 3.4.1 + '@fastify/fast-json-stringify-compiler': 4.3.0 + abstract-logging: 2.0.1 + avvio: 8.3.0 + fast-content-type-parse: 1.1.0 + fast-json-stringify: 5.15.1 + find-my-way: 8.2.0 + light-my-request: 5.13.0 + pino: 9.0.0 + process-warning: 3.0.0 + proxy-addr: 2.0.7 + rfdc: 1.3.1 + secure-json-parse: 2.7.0 + semver: 7.6.1 + toad-cache: 3.7.0 + transitivePeerDependencies: + - supports-color + dev: false + /fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: @@ -2280,13 +2846,13 @@ packages: dependencies: to-regex-range: 5.0.1 - /find-my-way@8.1.0: - resolution: {integrity: sha512-41QwjCGcVTODUmLLqTMeoHeiozbMXYMAE1CKFiDyi9zVZ2Vjh0yz3MF0WQZoIb+cmzP/XlbFjlF2NtJmvZHznA==} + /find-my-way@8.2.0: + resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} engines: {node: '>=14'} dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 - safe-regex2: 2.0.0 + safe-regex2: 3.1.0 dev: false /find-up@5.0.0: @@ -2313,15 +2879,6 @@ packages: engines: {node: '>= 0.6'} dev: false - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - dependencies: - graceful-fs: 4.2.11 - jsonfile: 4.0.0 - universalify: 0.1.2 - dev: true - /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -2332,10 +2889,6 @@ packages: requiresBuild: true optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - dev: true - /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -2350,17 +2903,17 @@ packages: engines: {node: '>=18.0'} dependencies: stacktrace-parser: 0.1.10 + dev: false /get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} dev: true - /get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + /get-tsconfig@4.7.4: + resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==} dependencies: resolve-pkg-maps: 1.0.0 - dev: false /glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -2429,14 +2982,17 @@ packages: slash: 3.0.0 dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true - /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true + /hanji@0.0.5: + resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} + dependencies: + lodash.throttle: 4.1.1 + sisteransi: 1.0.5 + dev: true + /has-flag@3.0.0: resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} engines: {node: '>=4'} @@ -2447,17 +3003,19 @@ packages: engines: {node: '>=8'} dev: true - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - dependencies: - function-bind: 1.1.2 + /heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: true /help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} dev: false + /hono@4.3.3: + resolution: {integrity: sha512-LDa1n/aLYK4CsZQyjQpFiaQgxiXCZp0WfcfliinQOH1Lqt4mIOvyw4qjmHihpKXsuXhkQHfHU2Erysp6oEdnVA==} + engines: {node: '>=16.0.0'} + dev: true + /html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true @@ -2499,6 +3057,7 @@ packages: /immediate@3.0.6: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + dev: true /import-fresh@3.3.0: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} @@ -2508,16 +3067,16 @@ packages: resolve-from: 4.0.0 dev: true - /import-lazy@4.0.0: - resolution: {integrity: sha512-rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==} - engines: {node: '>=8'} - dev: true - /imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} dev: true + /inflection@1.13.4: + resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} + engines: {'0': node >= 0.4.0} + dev: false + /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: @@ -2540,12 +3099,6 @@ packages: binary-extensions: 2.3.0 dev: false - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - dependencies: - hasown: 2.0.2 - dev: true - /is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -2565,16 +3118,26 @@ packages: engines: {node: '>=8'} dev: true + /is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + dev: true + /is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: true + /isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} /iso8601-duration@1.3.0: resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + dev: false /istanbul-lib-coverage@3.2.2: resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} @@ -2609,10 +3172,6 @@ packages: istanbul-lib-report: 3.0.1 dev: true - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true - /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} engines: {node: '>=10'} @@ -2643,8 +3202,17 @@ packages: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true - /json-parse-even-better-errors@3.0.1: - resolution: {integrity: sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==} + /json-diff@0.9.0: + resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} + hasBin: true + dependencies: + cli-color: 2.0.4 + difflib: 0.2.4 + dreamopt: 0.8.0 + dev: true + + /json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: true @@ -2672,16 +3240,6 @@ packages: hasBin: true dev: false - /jsonc-parser@3.2.1: - resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} - dev: true - - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - optionalDependencies: - graceful-fs: 4.2.11 - dev: true - /keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: @@ -2700,9 +3258,10 @@ packages: resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} dependencies: immediate: 3.0.6 + dev: true - /light-my-request@5.12.0: - resolution: {integrity: sha512-P526OX6E7aeCIfw/9UyJNsAISfcFETghysaWHQAlQYayynShT08MOj4c6fBCvTWBrHXSvqBAKDp3amUPSCQI4w==} + /light-my-request@5.13.0: + resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} dependencies: cookie: 0.6.0 process-warning: 3.0.0 @@ -2713,14 +3272,15 @@ packages: resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} engines: {node: '>=14'} dependencies: - mlly: 1.6.1 - pkg-types: 1.0.3 + mlly: 1.7.0 + pkg-types: 1.1.0 dev: true /localforage@1.10.0: resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} dependencies: lie: 3.1.1 + dev: true /locate-path@6.0.0: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} @@ -2728,17 +3288,17 @@ packages: dependencies: p-locate: 5.0.0 - /lodash.get@4.4.2: - resolution: {integrity: sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==} + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} dev: true - /lodash.isequal@4.5.0: - resolution: {integrity: sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ==} + /lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} dev: true - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: false /loupe@2.3.7: resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} @@ -2746,8 +3306,8 @@ packages: get-func-name: 2.0.2 dev: true - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} engines: {node: 14 || >=16.14} dev: false @@ -2762,18 +3322,32 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 + dev: false + + /lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + dependencies: + es5-ext: 0.10.64 + dev: true + + /magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + dependencies: + '@jridgewell/sourcemap-codec': 1.4.15 + dev: true /magic-string@0.30.8: resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} engines: {node: '>=12'} dependencies: '@jridgewell/sourcemap-codec': 1.4.15 + dev: false - /magicast@0.3.3: - resolution: {integrity: sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==} + /magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} dependencies: - '@babel/parser': 7.24.1 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 source-map-js: 1.2.0 dev: true @@ -2781,7 +3355,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.1 dev: true /media-typer@0.3.0: @@ -2789,6 +3363,19 @@ packages: engines: {node: '>= 0.6'} dev: false + /memoizee@0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-weak-map: 2.0.3 + event-emitter: 0.3.5 + is-promise: 2.2.2 + lru-queue: 0.1.0 + next-tick: 1.1.0 + timers-ext: 0.1.7 + dev: true + /memorystream@0.3.1: resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} engines: {node: '>= 0.10.0'} @@ -2841,6 +3428,13 @@ packages: brace-expansion: 2.0.1 dev: true + /minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + dependencies: + brace-expansion: 2.0.1 + dev: true + /minimatch@8.0.4: resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} engines: {node: '>=16 || 14 >=14.17'} @@ -2864,20 +3458,30 @@ packages: engines: {node: '>=8'} dev: false - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + /minipass@7.1.0: + resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} engines: {node: '>=16 || 14 >=14.17'} dev: false - /mlly@1.6.1: - resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} + /mlly@1.7.0: + resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.0.3 + pkg-types: 1.1.0 ufo: 1.5.3 dev: true + /moment-timezone@0.5.45: + resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} + dependencies: + moment: 2.30.1 + dev: false + + /moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + dev: false + /ms@2.1.2: resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} @@ -2891,11 +3495,15 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /node-abi@3.56.0: - resolution: {integrity: sha512-fZjdhDOeRcaS+rcpve7XuwHBmktS1nS1gzgghwKUQQ8nTy2FdSDr6ZT8k6YhvlJeHmmQMYiT/IH9hfco5zeW2Q==} + /next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + dev: true + + /node-abi@3.62.0: + resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.1 dev: true /node-fetch@2.7.0: @@ -2965,16 +3573,16 @@ packages: mimic-fn: 4.0.0 dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 dev: true /p-limit@3.1.0: @@ -3022,16 +3630,12 @@ packages: engines: {node: '>=12'} dev: true - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - dev: true - /path-scurry@1.10.2: resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.2.2 + minipass: 7.1.0 dev: false /path-type@4.0.0: @@ -3050,10 +3654,12 @@ packages: /pg-cloudflare@1.1.1: resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} requiresBuild: true + dev: false optional: true /pg-connection-string@2.6.4: resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + dev: false /pg-cursor@2.10.5(pg@8.11.5): resolution: {integrity: sha512-wzgmyk+k9mwuYe30ylLA6qRWw2TBFSee4Bw23oTz66YL9RdRJjDi2TaROMMF+V3QB6QWB3FFCju22loDftjKkw==} @@ -3061,6 +3667,14 @@ packages: pg: ^8 dependencies: pg: 8.11.5 + dev: false + + /pg-hstore@2.3.4: + resolution: {integrity: sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==} + engines: {node: '>= 0.8.x'} + dependencies: + underscore: 1.13.6 + dev: false /pg-int8@1.0.1: resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} @@ -3076,6 +3690,7 @@ packages: pg: '>=8.0' dependencies: pg: 8.11.5 + dev: false /pg-protocol@1.6.1: resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} @@ -3087,6 +3702,7 @@ packages: dependencies: pg: 8.11.5 pg-cursor: 2.10.5(pg@8.11.5) + dev: false /pg-types@2.2.0: resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} @@ -3097,6 +3713,7 @@ packages: postgres-bytea: 1.0.0 postgres-date: 1.0.7 postgres-interval: 1.2.0 + dev: false /pg-types@4.0.2: resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} @@ -3126,11 +3743,13 @@ packages: pgpass: 1.0.5 optionalDependencies: pg-cloudflare: 1.1.1 + dev: false /pgpass@1.0.5: resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 + dev: false /picocolors@1.0.0: resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} @@ -3145,13 +3764,6 @@ packages: hasBin: true dev: true - /pino-abstract-transport@1.1.0: - resolution: {integrity: sha512-lsleG3/2a/JIWUtf9Q5gUNErBqwIu1tUKTT3dUzaf5DySw9ra1wcqKjJjLX1VTY64Wk1eEOYsVGSaGfCK85ekA==} - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - dev: false - /pino-abstract-transport@1.2.0: resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} dependencies: @@ -3171,11 +3783,11 @@ packages: joycon: 3.1.1 minimist: 1.2.8 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 + pino-abstract-transport: 1.2.0 pump: 3.0.0 readable-stream: 4.5.2 secure-json-parse: 2.7.0 - sonic-boom: 3.8.0 + sonic-boom: 3.8.1 strip-json-comments: 3.1.1 dev: false @@ -3183,21 +3795,21 @@ packages: resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} dev: false - /pino@8.19.0: - resolution: {integrity: sha512-oswmokxkav9bADfJ2ifrvfHUwad6MLp73Uat0IkQWY3iAw5xTRoznXbXksZs8oaOUMpmhVWD+PZogNzllWpJaA==} + /pino@8.20.0: + resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} hasBin: true dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.1.0 + pino-abstract-transport: 1.2.0 pino-std-serializers: 6.2.2 process-warning: 3.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 - thread-stream: 2.4.1 + thread-stream: 2.6.0 dev: false /pino@8.21.0: @@ -3217,17 +3829,29 @@ packages: thread-stream: 2.7.0 dev: false - /pkg-types@1.0.3: - resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} + /pino@9.0.0: + resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} + hasBin: true dependencies: - jsonc-parser: 3.2.1 - mlly: 1.6.1 - pathe: 1.1.2 - dev: true + atomic-sleep: 1.0.0 + fast-redact: 3.5.0 + on-exit-leak-free: 2.1.2 + pino-abstract-transport: 1.2.0 + pino-std-serializers: 6.2.2 + process-warning: 3.0.0 + quick-format-unescaped: 4.0.4 + real-require: 0.2.0 + safe-stable-stringify: 2.4.3 + sonic-boom: 3.8.1 + thread-stream: 2.7.0 + dev: false - /pony-cause@2.1.10: - resolution: {integrity: sha512-3IKLNXclQgkU++2fSi93sQ6BznFuxSLB11HdvZQ6JW/spahf/P1pAHBQEahr20rs0htZW0UDkM1HmA+nZkXKsw==} - engines: {node: '>=12.0.0'} + /pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + dependencies: + confbox: 0.1.7 + mlly: 1.7.0 + pathe: 1.1.2 dev: true /postcss@8.4.38: @@ -3242,6 +3866,7 @@ packages: /postgres-array@2.0.0: resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} engines: {node: '>=4'} + dev: false /postgres-array@3.0.2: resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} @@ -3250,6 +3875,7 @@ packages: /postgres-bytea@1.0.0: resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} engines: {node: '>=0.10.0'} + dev: false /postgres-bytea@3.0.0: resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} @@ -3260,6 +3886,7 @@ packages: /postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} engines: {node: '>=0.10.0'} + dev: false /postgres-date@2.1.0: resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} @@ -3270,6 +3897,7 @@ packages: engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 + dev: false /postgres-interval@3.0.0: resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} @@ -3278,6 +3906,7 @@ packages: /postgres-interval@4.0.2: resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} engines: {node: '>=12'} + dev: false /postgres-range@1.1.4: resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} @@ -3306,7 +3935,7 @@ packages: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 dev: true /process-warning@3.0.0: @@ -3354,15 +3983,15 @@ packages: resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} dev: false - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} dev: true /read-package-json-fast@3.0.2: resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dependencies: - json-parse-even-better-errors: 3.0.1 + json-parse-even-better-errors: 3.0.2 npm-normalize-package-bin: 3.0.1 dev: true @@ -3401,20 +4030,14 @@ packages: /resolve-pkg-maps@1.0.0: resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: false - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - dependencies: - is-core-module: 2.13.1 - path-parse: 1.0.7 - supports-preserve-symlinks-flag: 1.0.0 - dev: true + /ret@0.4.3: + resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} + engines: {node: '>=10'} + dev: false - /ret@0.2.2: - resolution: {integrity: sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==} - engines: {node: '>=4'} + /retry-as-promised@7.0.4: + resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} dev: false /reusify@1.0.4: @@ -3432,29 +4055,31 @@ packages: fast-printf: 1.6.9 safe-stable-stringify: 2.4.3 semver-compare: 1.0.0 + dev: false - /rollup@4.13.2: - resolution: {integrity: sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==} + /rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} hasBin: true dependencies: '@types/estree': 1.0.5 optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.13.2 - '@rollup/rollup-android-arm64': 4.13.2 - '@rollup/rollup-darwin-arm64': 4.13.2 - '@rollup/rollup-darwin-x64': 4.13.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.13.2 - '@rollup/rollup-linux-arm64-gnu': 4.13.2 - '@rollup/rollup-linux-arm64-musl': 4.13.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.13.2 - '@rollup/rollup-linux-riscv64-gnu': 4.13.2 - '@rollup/rollup-linux-s390x-gnu': 4.13.2 - '@rollup/rollup-linux-x64-gnu': 4.13.2 - '@rollup/rollup-linux-x64-musl': 4.13.2 - '@rollup/rollup-win32-arm64-msvc': 4.13.2 - '@rollup/rollup-win32-ia32-msvc': 4.13.2 - '@rollup/rollup-win32-x64-msvc': 4.13.2 + '@rollup/rollup-android-arm-eabi': 4.17.2 + '@rollup/rollup-android-arm64': 4.17.2 + '@rollup/rollup-darwin-arm64': 4.17.2 + '@rollup/rollup-darwin-x64': 4.17.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 + '@rollup/rollup-linux-arm-musleabihf': 4.17.2 + '@rollup/rollup-linux-arm64-gnu': 4.17.2 + '@rollup/rollup-linux-arm64-musl': 4.17.2 + '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 + '@rollup/rollup-linux-riscv64-gnu': 4.17.2 + '@rollup/rollup-linux-s390x-gnu': 4.17.2 + '@rollup/rollup-linux-x64-gnu': 4.17.2 + '@rollup/rollup-linux-x64-musl': 4.17.2 + '@rollup/rollup-win32-arm64-msvc': 4.17.2 + '@rollup/rollup-win32-ia32-msvc': 4.17.2 + '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 dev: true @@ -3468,15 +4093,16 @@ packages: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: false - /safe-regex2@2.0.0: - resolution: {integrity: sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==} + /safe-regex2@3.1.0: + resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} dependencies: - ret: 0.2.2 + ret: 0.4.3 dev: false /safe-stable-stringify@2.4.3: resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} engines: {node: '>=10'} + dev: false /secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -3484,32 +4110,92 @@ packages: /semver-compare@1.0.0: resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + dev: false /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: false - /semver@7.5.4: - resolution: {integrity: sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 - dev: true + dev: false - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + /semver@7.6.1: + resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} engines: {node: '>=10'} hasBin: true + + /sequelize-pool@7.1.0: + resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} + engines: {node: '>= 10.0.0'} + dev: false + + /sequelize@6.37.3(pg-hstore@2.3.4)(pg@8.11.5): + resolution: {integrity: sha512-V2FTqYpdZjPy3VQrZvjTPnOoLm0KudCRXfGWp48QwhyPPp2yW8z0p0sCYZd/em847Tl2dVxJJ1DR+hF+O77T7A==} + engines: {node: '>=10.0.0'} + peerDependencies: + ibm_db: '*' + mariadb: '*' + mysql2: '*' + oracledb: '*' + pg: '*' + pg-hstore: '*' + snowflake-sdk: '*' + sqlite3: '*' + tedious: '*' + peerDependenciesMeta: + ibm_db: + optional: true + mariadb: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-hstore: + optional: true + snowflake-sdk: + optional: true + sqlite3: + optional: true + tedious: + optional: true dependencies: - lru-cache: 6.0.0 + '@types/debug': 4.1.12 + '@types/validator': 13.11.9 + debug: 4.3.4 + dottie: 2.0.6 + inflection: 1.13.4 + lodash: 4.17.21 + moment: 2.30.1 + moment-timezone: 0.5.45 + pg: 8.11.5 + pg-connection-string: 2.6.4 + pg-hstore: 2.3.4 + retry-as-promised: 7.0.4 + semver: 7.6.0 + sequelize-pool: 7.1.0 + toposort-class: 1.0.1 + uuid: 8.3.2 + validator: 13.11.0 + wkx: 0.5.0 + transitivePeerDependencies: + - supports-color + dev: false /serialize-error@8.1.0: resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} engines: {node: '>=10'} dependencies: type-fest: 0.20.2 + dev: false /set-cookie-parser@2.6.0: resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} @@ -3540,6 +4226,11 @@ packages: hasBin: true dev: false + /short-unique-id@5.2.0: + resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} + hasBin: true + dev: false + /siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} dev: true @@ -3549,18 +4240,22 @@ packages: engines: {node: '>=14'} dev: true + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true + /slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} dev: true - /slonik@40.2.6(zod@3.23.6): + /slonik@40.2.6(zod@3.22.5): resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} engines: {node: '>=18'} peerDependencies: zod: ^3 dependencies: - '@types/pg': 8.11.5 + '@types/pg': 8.11.6 get-stack-trace: 3.1.1 iso8601-duration: 1.3.0 pg: 8.11.5 @@ -3572,14 +4267,9 @@ packages: safe-stable-stringify: 2.4.3 serialize-error: 8.1.0 strict-event-emitter-types: 2.0.0 - zod: 3.23.6 + zod: 3.22.5 transitivePeerDependencies: - pg-native - - /sonic-boom@3.8.0: - resolution: {integrity: sha512-ybz6OYOUjoQQCQ/i4LU8kaToD8ACtYP+Cj5qd2AO36bwbdewxWJ3ArmJ2cr6AvxlL2o0PqnCcPGUgkILbfkaCA==} - dependencies: - atomic-sleep: 1.0.0 dev: false /sonic-boom@3.8.1: @@ -3593,13 +4283,22 @@ packages: engines: {node: '>=0.10.0'} dev: true + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + dev: true + + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true + /split2@4.2.0: resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} engines: {node: '>= 10.x'} - - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + dev: false /stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} @@ -3610,6 +4309,7 @@ packages: engines: {node: '>=6'} dependencies: type-fest: 0.7.1 + dev: false /statuses@2.0.1: resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} @@ -3622,11 +4322,7 @@ packages: /strict-event-emitter-types@2.0.0: resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} - - /string-argv@0.3.2: - resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} - engines: {node: '>=0.6.19'} - dev: true + dev: false /string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -3656,6 +4352,13 @@ packages: js-tokens: 9.0.0 dev: true + /superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + dependencies: + copy-anything: 3.0.5 + dev: true + /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -3670,18 +4373,6 @@ packages: has-flag: 4.0.0 dev: true - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - dependencies: - has-flag: 4.0.0 - dev: true - - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - dev: true - /synckit@0.8.8: resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} engines: {node: ^14.18.0 || >=16.0.0} @@ -3703,8 +4394,8 @@ packages: resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true - /thread-stream@2.4.1: - resolution: {integrity: sha512-d/Ex2iWd1whipbT681JmTINKw0ZwOUBZm7+Gjs64DHuX34mmw8vJL2bFAaNacaW72zYiTJxSHi5abUuOi5nsfg==} + /thread-stream@2.6.0: + resolution: {integrity: sha512-t4eNiKdGwd1EV6tx76mRbrOqwvkxz+ssOiQXEXw88m4p/Xp6679vg16sf39BAstRjHOiWIqp5+J2ylHk3pU30g==} dependencies: real-require: 0.2.0 dev: false @@ -3715,12 +4406,19 @@ packages: real-require: 0.2.0 dev: false - /tinybench@2.6.0: - resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} + /timers-ext@0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + dependencies: + es5-ext: 0.10.64 + next-tick: 1.1.0 + dev: true + + /tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} dev: true - /tinypool@0.8.3: - resolution: {integrity: sha512-Ud7uepAklqRH1bvwy22ynrliC7Dljz7Tm8M/0RBUW+YRa4YHhZ6e4PpgE+fu1zr/WqB1kbeuVrdfeuyIBpy4tw==} + /tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} engines: {node: '>=14.0.0'} dev: true @@ -3749,6 +4447,10 @@ packages: engines: {node: '>=0.6'} dev: false + /toposort-class@1.0.1: + resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} + dev: false + /tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} dev: false @@ -3766,13 +4468,13 @@ packages: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} dev: true - /tsx@4.7.2: - resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + /tsx@4.9.3: + resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.3 + esbuild: 0.20.2 + get-tsconfig: 4.7.4 optionalDependencies: fsevents: 2.3.3 dev: false @@ -3792,15 +4494,12 @@ packages: /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} + dev: false /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} engines: {node: '>=8'} - - /type-fest@4.14.0: - resolution: {integrity: sha512-on5/Cw89wwqGZQu+yWO0gGMGu8VNxsaW9SB2HE8yJjllEk7IDTwnSN1dUVldYILhYPN5HzD7WAaw2cc/jBfn0Q==} - engines: {node: '>=16'} - dev: true + dev: false /type-is@1.6.18: resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} @@ -3810,8 +4509,12 @@ packages: mime-types: 2.1.35 dev: false - /typescript-eslint@7.6.0(eslint@9.1.1)(typescript@5.4.5): - resolution: {integrity: sha512-LY6vH6F1l5jpGqRtU+uK4+mOecIb4Cd4kaz1hAiJrgnNiHUA8wiw8BkJyYS+MRLM69F1QuSKwtGlQqnGl1Rc6w==} + /type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + dev: true + + /typescript-eslint@7.8.0(eslint@9.1.1)(typescript@5.4.5): + resolution: {integrity: sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 @@ -3820,9 +4523,9 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.6.0(@typescript-eslint/parser@7.6.0)(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/parser': 7.6.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.6.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) eslint: 9.1.1 typescript: 5.4.5 transitivePeerDependencies: @@ -3839,27 +4542,13 @@ packages: resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} dev: true - /umzug@3.7.0(@types/node@20.12.10): - resolution: {integrity: sha512-r/L2Zlilgv3SKhmP2nkA9x2Xi1PKtu2K34/i/s7AYJ2mLjEO+IxETJAK7CKf6l3QOvoy5/ChykeX9qt6ykRz6Q==} - engines: {node: '>=12'} - dependencies: - '@rushstack/ts-command-line': 4.19.1(@types/node@20.12.10) - emittery: 0.13.1 - glob: 8.1.0 - pony-cause: 2.1.10 - type-fest: 4.14.0 - transitivePeerDependencies: - - '@types/node' - dev: true + /underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + dev: false /undici-types@5.26.5: resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true - /unplugin@1.0.1: resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} dependencies: @@ -3869,8 +4558,8 @@ packages: webpack-virtual-modules: 0.5.0 dev: false - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + /update-browserslist-db@1.0.15(browserslist@4.23.0): + resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -3885,6 +4574,11 @@ packages: dependencies: punycode: 2.3.1 + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: false + /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true @@ -3893,14 +4587,14 @@ packages: /validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} engines: {node: '>= 0.10'} - dev: true + dev: false /vary@1.1.2: resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} engines: {node: '>= 0.8'} dev: false - /vite-node@1.5.1(@types/node@20.12.10): + /vite-node@1.5.1(@types/node@20.12.7): resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3909,7 +4603,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.7(@types/node@20.12.10) + vite: 5.2.11(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - less @@ -3921,8 +4615,8 @@ packages: - terser dev: true - /vite@5.2.7(@types/node@20.12.10): - resolution: {integrity: sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==} + /vite@5.2.11(@types/node@20.12.7): + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: @@ -3949,15 +4643,15 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.7 esbuild: 0.20.2 postcss: 8.4.38 - rollup: 4.13.2 + rollup: 4.17.2 optionalDependencies: fsevents: 2.3.3 dev: true - /vitest@1.5.1(@types/node@20.12.10): + /vitest@1.5.1(@types/node@20.12.7): resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -3982,7 +4676,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.10 + '@types/node': 20.12.7 '@vitest/expect': 1.5.1 '@vitest/runner': 1.5.1 '@vitest/snapshot': 1.5.1 @@ -3993,15 +4687,15 @@ packages: debug: 4.3.4 execa: 8.0.1 local-pkg: 0.5.0 - magic-string: 0.30.8 + magic-string: 0.30.10 pathe: 1.1.2 picocolors: 1.0.0 std-env: 3.7.0 strip-literal: 2.1.0 - tinybench: 2.6.0 - tinypool: 0.8.3 - vite: 5.2.7(@types/node@20.12.10) - vite-node: 1.5.1(@types/node@20.12.10) + tinybench: 2.8.0 + tinypool: 0.8.4 + vite: 5.2.11(@types/node@20.12.7) + vite-node: 1.5.1(@types/node@20.12.7) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -4049,12 +4743,28 @@ packages: stackback: 0.0.2 dev: true + /wkx@0.5.0: + resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} + dependencies: + '@types/node': 20.12.7 + dev: false + + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true + + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true + /wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} /xtend@4.0.2: resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} engines: {node: '>=0.4'} + dev: false /yallist@3.1.1: resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} @@ -4062,6 +4772,7 @@ packages: /yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + dev: false /yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} @@ -4072,17 +4783,10 @@ packages: engines: {node: '>=12.20'} dev: true - /z-schema@5.0.5: - resolution: {integrity: sha512-D7eujBWkLa3p2sIpJA0d1pr7es+a7m0vFAnZLlCEKq/Ij2k0MLi9Br2UPxoxdYystm5K1yeBGzub0FlYUEWj2Q==} - engines: {node: '>=8.0.0'} - hasBin: true - dependencies: - lodash.get: 4.4.2 - lodash.isequal: 4.5.0 - validator: 13.11.0 - optionalDependencies: - commander: 9.5.0 - dev: true + /zod@3.22.5: + resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} + dev: false - /zod@3.23.6: - resolution: {integrity: sha512-RTHJlZhsRbuA8Hmp/iNL7jnfc4nZishjsanDAfEY1QpDQZCahUp3xDzl+zfweE9BklxMUcgBgS1b7Lvie/ZVwA==} + /zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + dev: true diff --git a/schema/abstractPartType.ts b/schema/abstractPartType.ts new file mode 100644 index 000000000..93a066c24 --- /dev/null +++ b/schema/abstractPartType.ts @@ -0,0 +1,50 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + text, + numeric, + type AnyPgColumn, +} from "drizzle-orm/pg-core"; + +export const abstractPartType = pgTable( + "abstract_part_type", + { + abstractPartTypeId: integer("abstract_part_type_id").notNull().primaryKey(), + parentAbstractPartTypeId: integer("parent_abstract_part_type_id").references((): AnyPgColumn => abstractPartType.abstractPartTypeId), + dependsOn: integer("depends_on").references((): AnyPgColumn => abstractPartType.abstractPartTypeId), + partFilename: varchar("part_filename", { length: 20 }).default(""), + eAPT: varchar("e_apt", { length: 100 }).notNull(), + gAPT: varchar("g_apt", { length: 100 }).default(""), + fAPT: varchar("f_apt", { length: 100 }).default(""), + sAPT: varchar("s_apt", { length: 100 }).default(""), + iAPT: varchar("i_apt", { length: 100 }).default(""), + jAPT: varchar("j_apt", { length: 100 }).default(""), + swAPT: varchar("sw_apt", { length: 100 }).default(""), + bAPT: varchar("b_apt", { length: 100 }).default(""), + modifiedRule: integer("modified_rule").default(0), + eUT: text("e_ut").default(""), + gUT: text("g_ut").default(""), + fUT: text("f_ut").default(""), + sUT: text("s_ut").default(""), + iUT: text("i_ut").default(""), + jUT: text("j_ut").default(""), + swUT: text("sw_ut").default(""), + bUT: text("b_ut").default(""), + partPaired: integer("part_paired").default(0), + schematicPicname1: varchar("schematic_picname1", { length: 9 }).default(""), + schematicPicname2: varchar("schematic_picname2", { length: 9 }).default("VEH%d"), + blockFamilyCompatibility: integer("block_family_compatibility").default(0), + repairCostModifier: numeric("repair_cost_modifier", { precision: 100, scale: 7 }).default("1.0"), + scrapCostModifier: numeric("scrap_cost_modifier", { precision: 100, scale: 7 }).default("1.0"), + garageCategory: integer("garage_category").default(0), + }, + (table) => { + return { + idIdx: uniqueIndex("abstract_part_type_id_idx").on(table.abstractPartTypeId), + parentAbstractPartTypeIdIdx: uniqueIndex("parent_abstract_part_type_id_idx").on(table.parentAbstractPartTypeId), + dependsOnIdx: uniqueIndex("depends_on_idx").on(table.dependsOn), + }; + }, +); diff --git a/schema/attachmentPoint.ts b/schema/attachmentPoint.ts new file mode 100644 index 000000000..9a6fda9d8 --- /dev/null +++ b/schema/attachmentPoint.ts @@ -0,0 +1,20 @@ +import { pgTable, varchar, integer, uniqueIndex } from "drizzle-orm/pg-core"; + +export const attachmentPoint = pgTable( + "attachment_point", + { + attachmentPointId: integer("attachment_point_id") + .notNull() + .primaryKey(), + attachment_point: varchar("attachment_point", { + length: 100, + }).notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("attachment_point_id_idx").on( + table.attachmentPointId, + ), + }; + }, +); diff --git a/schema/brand.ts b/schema/brand.ts new file mode 100644 index 000000000..7009891d7 --- /dev/null +++ b/schema/brand.ts @@ -0,0 +1,22 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + smallint, +} from "drizzle-orm/pg-core"; + +export const brand = pgTable( + "brand", + { + brandId: integer("brand_id").notNull().primaryKey(), + brand: varchar("brand", { length: 100 }), + picName: varchar("pic_name", { length: 50 }), + isStock: smallint("is_stock").notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("brand_id_idx").on(table.brandId), + }; + }, +); diff --git a/schema/brandedPart.ts b/schema/brandedPart.ts new file mode 100644 index 000000000..de6a42062 --- /dev/null +++ b/schema/brandedPart.ts @@ -0,0 +1,29 @@ +import { + pgTable, + integer, + timestamp, + smallint, + index, +} from "drizzle-orm/pg-core"; +import { partType } from "./partType"; +import { model } from "./model"; + +export const brandedPart = pgTable( + "branded_part", + { + brandedPartId: integer("branded_part_id").notNull().primaryKey(), + partTypeId: integer("part_type_id").references(() => partType.partTypeId).notNull(), + modelId: integer("model_id").references(() => model.modelId).notNull(), + mfgDate: timestamp("mfg_date").notNull().default(new Date(0)), + qtyAvail: integer("qty_avail").notNull(), + retailPrice: integer("retail_price").notNull(), + maxItemWear: smallint("max_item_wear"), + engineBlockFamilyId: integer("engine_block_family_id").default(0), + }, + (table) => { + return { + brandedPartPartTypeIdIdx: index("branded_part_part_id_idx").on(table.partTypeId), + brandedPartEngineBlockFamilyIdIdx: index("branded_part_engine_block_family_id_idx").on(table.engineBlockFamilyId), + }; + }, +); diff --git a/schema/bytea.ts b/schema/bytea.ts new file mode 100644 index 000000000..6c7cb8992 --- /dev/null +++ b/schema/bytea.ts @@ -0,0 +1,14 @@ +import { customType } from 'drizzle-orm/pg-core'; + + +export const bytea = customType<{ data: Buffer; driverData: string; }>({ + dataType() { + return 'bytea'; + }, + toDriver(value: Buffer): string { + return `\\x${value.toString('hex')}`; + }, + fromDriver(value: string): Buffer { + return Buffer.from(value.slice(2), 'hex'); + }, +}); diff --git a/schema/driverClass.ts b/schema/driverClass.ts new file mode 100644 index 000000000..e428a95c6 --- /dev/null +++ b/schema/driverClass.ts @@ -0,0 +1,19 @@ +import { + pgTable, + varchar, + uniqueIndex, + smallint, +} from "drizzle-orm/pg-core"; + +export const driverClass = pgTable( + "driver_class", + { + driverClassId: smallint("driver_class_id").notNull().primaryKey(), + driverClass: varchar("driver_class", { length: 50 }).notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("driver_class_id_idx").on(table.driverClassId), + }; + }, +); diff --git a/schema/key.ts b/schema/key.ts new file mode 100644 index 000000000..e4e98d51a --- /dev/null +++ b/schema/key.ts @@ -0,0 +1,20 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, +} from "drizzle-orm/pg-core"; + +export const key = pgTable( + "user", + { + userId: integer("user_id").notNull().primaryKey(), + sessionKey: varchar("session_key", { length: 100 }).notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("key_user_id_idx").on(table.userId), + }; + }, +); + diff --git a/schema/model.ts b/schema/model.ts new file mode 100644 index 000000000..59c86546a --- /dev/null +++ b/schema/model.ts @@ -0,0 +1,42 @@ +import { + pgTable, + varchar, + integer, +} from "drizzle-orm/pg-core"; +import { brand } from "./brand"; + +export const model = pgTable( + "model", + { + modelId: integer("model_id").notNull().primaryKey(), + brandId: integer("brand_id") + .references(() => brand.brandId) + .notNull().notNull(), + eModel: varchar("e_model", { length: 100 }), + gModel: varchar("g_model", { length: 100 }), + fModel: varchar("f_model", { length: 100 }), + sModel: varchar("s_model", { length: 100 }), + iModel: varchar("i_model", { length: 100 }), + jModel: varchar("j_model", { length: 100 }), + swModel: varchar("sw_model", { length: 100 }), + bModel: varchar("b_model", { length: 100 }), + eExtraInfo: varchar("e_extra_info", { length: 100 }), + gExtraInfo: varchar("g_extra_info", { length: 100 }), + fExtraInfo: varchar("f_extra_info", { length: 100 }), + sExtraInfo: varchar("s_extra_info", { length: 100 }), + iExtraInfo: varchar("i_extra_info", { length: 100 }), + jExtraInfo: varchar("j_extra_info", { length: 100 }), + swExtraInfo: varchar("sw_extra_info", { length: 100 }), + bExtraInfo: varchar("b_extra_info", { length: 100 }), + eShortModel: varchar("e_short_model", { length: 50 }), + gShortModel: varchar("g_short_model", { length: 50 }), + fShortModel: varchar("f_short_model", { length: 50 }), + sShortModel: varchar("s_short_model", { length: 50 }), + iShortModel: varchar("i_short_model", { length: 50 }), + jShortModel: varchar("j_short_model", { length: 50 }), + swShortModel: varchar("sw_short_model", { length: 50 }), + bShortModel: varchar("b_short_model", { length: 50 }), + debug_string: varchar("debug_string", { length: 255 }), + debug_sort_string: varchar("debug_sort_string", { length: 50 }), + }, +); diff --git a/schema/part.ts b/schema/part.ts new file mode 100644 index 000000000..28da21adb --- /dev/null +++ b/schema/part.ts @@ -0,0 +1,34 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + type AnyPgColumn, + smallint, + index, +} from "drizzle-orm/pg-core"; +import { brandedPart } from "./brandedPart"; +import { attachmentPoint } from "./attachmentPoint"; + +export const part = pgTable( + "part", + { + partId: integer("part_id").notNull().primaryKey(), + parentPartId: integer("parent_part_id").references((): AnyPgColumn => part.partId), + brandedPartId: integer("branded_part_id").notNull().references(() => brandedPart.brandedPartId), + percentDamage: smallint("percent_damage").notNull(), + itemWear: integer("item_wear").notNull(), + attachmentPointId: integer("attachment_point_id").notNull().references(() => attachmentPoint.attachmentPointId), + ownerId: integer("owner_id"), + partName: varchar("part_name", { length: 100 }), + repairCost: integer("repair_cost").default(0), + scrapValue: integer("scrap_value").default(0), + }, + (table) => { + return { + idIdx: uniqueIndex("part_id_idx").on(table.partId), + partParentPartIdIdx: index("part_parent_part_id_idx").on(table.parentPartId), + partBrandedPartIdIdx: index("part_branded_part_id_idx").on(table.brandedPartId), + partAttachmentPointIdIdx: index("part_attachment_point_id_idx").on(table.attachmentPointId), + }; + }); diff --git a/schema/partGrade.ts b/schema/partGrade.ts new file mode 100644 index 000000000..ad21b5b45 --- /dev/null +++ b/schema/partGrade.ts @@ -0,0 +1,22 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, +} from "drizzle-orm/pg-core"; + +export const partGrade = pgTable( + "part_grade", + { + partGradeId: integer("part_grade_id").notNull().primaryKey(), + eText: varchar("e_text", { length: 50 }), + gText: varchar("g_text", { length: 50 }), + fText: varchar("f_text", { length: 50 }), + partGrade: varchar("part_grade", { length: 50 }), + }, + (table) => { + return { + idIdx: uniqueIndex("part_grade_id_idx").on(table.partGradeId), + }; + }, +); diff --git a/schema/partType.ts b/schema/partType.ts new file mode 100644 index 000000000..6be631e0d --- /dev/null +++ b/schema/partType.ts @@ -0,0 +1,27 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + index, +} from "drizzle-orm/pg-core"; +import { abstractPartType } from "./abstractPartType"; +import { partGrade } from "./partGrade"; + +export const partType = pgTable( + "part_type", + { + partTypeId: integer("part_type_id").notNull().primaryKey(), + abstractPartTypeId: integer("abstract_part_type_id").notNull().references(() => abstractPartType.abstractPartTypeId).notNull(), + partType: varchar("part_type", { length: 100 }).notNull(), + partFilename: varchar("part_filename", { length: 20 }), + partGradeId: integer("part_grade_id").notNull().references(() => partGrade.partGradeId), + }, + (table) => { + return { + partTypeIdIdx: uniqueIndex("part_type_id_idx").on(table.partTypeId), + partTypeAbstractPartTypeIdIdx: index("part_type_abstract_part_type_id_idx").on(table.abstractPartTypeId), + partTypePartGradeIdIdx: index("part_type_part_grade_id_idx").on(table.partGradeId), + }; + }, +); diff --git a/schema/player.ts b/schema/player.ts new file mode 100644 index 000000000..4fa06dd27 --- /dev/null +++ b/schema/player.ts @@ -0,0 +1,91 @@ +import { + pgTable, + varchar, + integer, + smallint, + timestamp, + index, +} from "drizzle-orm/pg-core"; +import { playerType } from "./playerType"; +import { driverClass } from "./driverClass"; + +export const player = pgTable( + "player", + { + playerId: integer("player_id").notNull().primaryKey(), + customerId: integer("customer_id").notNull(), + playerTypeId: integer("player_type_id").references(() => playerType.playerTypeId).notNull(), + sanctionedScore: integer("sanctioned_score"), + challengeScore: integer("challenge_score"), + lastLoggedIn: timestamp("last_logged_in", {mode: "date", withTimezone: false}), + timesLoggedIn: integer("times_logged_in").notNull(), + bankBalance: integer("bank_balance").notNull(), + numCarsOwned: smallint("num_cars_owned").notNull(), + isLoggedIn: smallint("is_logged_in"), + driverStyle: smallint("driver_style").notNull(), + lpCode: integer("lp_code").notNull(), + lpText: varchar("lp_text", { length: 9 }), + carNum1: varchar("car_num_1", { length: 2 }).notNull().default(""), + carNum2: varchar("car_num_2", { length: 2 }).notNull().default(""), + carNum3: varchar("car_num_3", { length: 2 }).notNull().default(""), + carNum4: varchar("car_num_4", { length: 2 }).notNull().default(""), + carNum5: varchar("car_num_5", { length: 2 }).notNull().default(""), + carNum6: varchar("car_num_6", { length: 2 }).notNull().default(""), + dlNumber: varchar("dl_number", { length: 20 }), + persona: varchar("persona", { length: 30 }).notNull(), + address: varchar("address", { length: 128 }), + residence: varchar("residence", { length: 20 }), + vehicleId: integer("vehicle_id").default(0), + currentRaceId: integer("current_race_id").default(0), + offlineDriverSkill: integer("offline_driver_skill").default(0), + offlineGrudge: integer("offline_grudge").default(0), + offlineReputation: integer("offline_reputation").default(0), + totalTimePlayed: integer("total_time_played").default(0), + carInfoSetting: integer("car_info_setting").default(0), + stockClassicClass: smallint("stock_classic_class"), + stockMuscleClass: smallint("stock_muscle_class").references(() => driverClass.driverClassId), + modifiedClassicClass: smallint("modified_classic_class").references(() => driverClass.driverClassId), + modifiedMuscleClass: smallint("modified_muscle_class").references(() => driverClass.driverClassId), + outlawClass: smallint("outlaw_class").references(() => driverClass.driverClassId), + dragClass: smallint("drag_class").references(() => driverClass.driverClassId), + challengeRung: integer("challenge_rung").default(0), + offlineAiCarClass: smallint("offline_ai_car_class").default(0), + offlineAiSkinId: integer("offline_ai_skin_id").default(0), + offlineAiCarBptId: integer("offline_ai_car_bpt_id").default(0), + offlineAiState: integer("offline_ai_state").default(0), + bodytype: integer("bodytype").default(0), + skinColor: integer("skin_color").default(0), + hairColor: integer("hair_color").default(0), + shirtColor: integer("shirt_color").default(0), + pantsColor: integer("pants_color").default(0), + offlineDriverStyle: integer("offline_driver_style").default(0), + offlineDriverAttitude: integer("offline_driver_attitude").default(0), + evadedFuzz: integer("evaded_fuzz").default(0), + pinksWon: integer("pinks_won").default(0), + numUnreadMail: integer("num_unread_mail").default(0), + totalRacesRun: integer("total_races_run").default(0), + totalRacesWon: integer("total_races_won").default(0), + totalRacesCompleted: integer("total_races_completed").default(0), + totalWinnings: integer("total_winnings").default(0), + insuranceRiskPoints: integer("insurance_risk_points").default(0), + insuranceRating: integer("insurance_rating").default(0), + challengeRacesRun: integer("challenge_races_run").default(0), + challengeRacesWon: integer("challenge_races_won").default(0), + challengeRacesCompleted: integer("challenge_races_completed").default(0), + carsLost: integer("cars_lost").default(0), + carsWon: integer("cars_won").default(0), + + }, + (table) => { + return { + numUnreadMailIdx: index("player_num_unread_mail_idx").on(table.numUnreadMail), + offlineAiCarBptIdIdx: index("player_offline_ai_car_bpt_id_idx").on(table.offlineAiCarBptId), + stockMuscleClassIdx: index("player_stock_muscle_class_idx").on(table.stockMuscleClass), + modifiedClassicClassIdx: index("player_modified_classic_class_idx").on(table.modifiedClassicClass), + modifiedMuscleClassIdx: index("player_modified_muscle_class_idx").on(table.modifiedMuscleClass), + outlawClassIdx: index("player_outlaw_class_idx").on(table.outlawClass), + dragClassIdx: index("player_drag_class_idx").on(table.dragClass), + playerTypeIdIdx: index("player_player_type_id_idx").on(table.playerTypeId), + }; + }, +); diff --git a/schema/playerType.ts b/schema/playerType.ts new file mode 100644 index 000000000..8cd292cec --- /dev/null +++ b/schema/playerType.ts @@ -0,0 +1,19 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, +} from "drizzle-orm/pg-core"; + +export const playerType = pgTable( + "player_type", + { + playerTypeId: integer("player_type_id").notNull().primaryKey(), + playerType: varchar("player_type", { length: 100 }).notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("player_type_id_idx").on(table.playerTypeId), + }; + }, +); diff --git a/schema/profile.ts b/schema/profile.ts new file mode 100644 index 000000000..d6711c078 --- /dev/null +++ b/schema/profile.ts @@ -0,0 +1,40 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + smallint, + boolean, +} from "drizzle-orm/pg-core"; +import { now32 } from "../packages/shared/src/utils"; + +export const profile = pgTable( + "profile", + { + customerId: integer("customer_id").notNull(), + profileName: varchar("profile_name", { length: 32 }).notNull(), + serverId: integer("server_id").default(0), + createStamp: integer("create_stamp").notNull().default(now32()), + lastLoginStamp: integer("last_login_stamp").notNull().default(now32()), + numberGames: integer("number_games").notNull().default(1), + profileId: integer("profile_id").notNull().primaryKey(), + isOnline: boolean("is_online").default(false), + gamePurchaseStamp: integer("game_purchase_stamp").notNull().default(now32()), + gameSerialNumber: varchar("game_serial_number", { length: 32 }), + timeOnline: integer("time_online"), + timeInGame: integer("time_in_game"), + gameBlob: varchar("game_blob", { length: 512 }), + personalBlob: varchar("personal_blob", { length: 256 }), + pictureBlob: varchar("picture_blob", { length: 1 }), + dnd: boolean("dnd").default(false), + gameStartStamp: integer("game_start_stamp").notNull().default(now32()), + currentKey: varchar("current_key", { length: 400 }), + profileLevel: smallint("profile_level").notNull().default(0), + shardId: integer("shard_id").notNull(), + }, + (table) => { + return { + idIdx: uniqueIndex("profile_id_idx").on(table.profileId), + }; + }, +); diff --git a/schema/raceType.ts b/schema/raceType.ts new file mode 100644 index 000000000..523717a26 --- /dev/null +++ b/schema/raceType.ts @@ -0,0 +1,6 @@ +import { pgTable, varchar, integer } from "drizzle-orm/pg-core"; + +export const users = pgTable('race_type', { + raceTypeId: integer('race_type_id').notNull().primaryKey(), + raceType: varchar('race_type', { length: 100 }).notNull(), +}); \ No newline at end of file diff --git a/schema/skin.ts b/schema/skin.ts new file mode 100644 index 000000000..ce9943380 --- /dev/null +++ b/schema/skin.ts @@ -0,0 +1,89 @@ +import { + pgTable, + integer, + uniqueIndex, + smallint, + varchar, + index, +} from "drizzle-orm/pg-core"; +import { player } from "./player"; +import { skinType } from "./skinType"; +import { partType } from "./partType"; + +export const skin = pgTable( + "skin", + { + skinId: integer("skin_id").notNull().primaryKey(), + creatorId: integer("creator_id").references(() => player.playerId).notNull(), + skinTypeId: integer("skin_type_id").references(() => skinType.skinTypeId).notNull(), + partTypeId: integer("part_type_id").references(() => partType.partTypeId).notNull(), + defaultFlag: smallint("default_flag").notNull().default(0), + eSkin: varchar("e_skin", { length: 100 }).notNull(), + gSkin: varchar("g_skin", { length: 32 }), + fSkin: varchar("f_skin", { length: 32 }), + sSkin: varchar("s_skin", { length: 32 }), + iSkin: varchar("i_skin", { length: 32 }), + jSkin: varchar("j_skin", { length: 32 }), + swSkin: varchar("sw_skin", { length: 32 }), + bSkin: varchar("b_skin", { length: 32 }), + price: integer("price").notNull(), + partFilename: varchar("part_filename", { length: 20 }), + h0: smallint("h0"), + s0: smallint("s0"), + v0: smallint("v0"), + c0: smallint("c0"), + x0: smallint("x0"), + y0: smallint("y0"), + h1: smallint("h1"), + s1: smallint("s1"), + v1: smallint("v1"), + c1: smallint("c1"), + x1: smallint("x1"), + y1: smallint("y1"), + h2: smallint("h2"), + s2: smallint("s2"), + v2: smallint("v2"), + c2: smallint("c2"), + x2: smallint("x2"), + y2: smallint("y2"), + h3: smallint("h3"), + s3: smallint("s3"), + v3: smallint("v3"), + c3: smallint("c3"), + x3: smallint("x3"), + y3: smallint("y3"), + h4: smallint("h4"), + s4: smallint("s4"), + v4: smallint("v4"), + c4: smallint("c4"), + x4: smallint("x4"), + y4: smallint("y4"), + h5: smallint("h5"), + s5: smallint("s5"), + v5: smallint("v5"), + c5: smallint("c5"), + x5: smallint("x5"), + y5: smallint("y5"), + h6: smallint("h6"), + s6: smallint("s6"), + v6: smallint("v6"), + c6: smallint("c6"), + x6: smallint("x6"), + y6: smallint("y6"), + h7: smallint("h7"), + s7: smallint("s7"), + v7: smallint("v7"), + c7: smallint("c7"), + x7: smallint("x7"), + y7: smallint("y7"), + creatorName: varchar("creator_name", { length: 24 }), + commentText: varchar("comment_text", { length: 128 }), + }, + (table) => { + return { + idIdx: uniqueIndex("skin_id_idx").on(table.skinId), + skinCreatorIdIdx: index("skin_creator_id_idx").on(table.creatorId), + skinSkinTypeIdIdx: index("skin_skin_type_id_idx").on(table.skinTypeId), + }; + }, +); diff --git a/schema/skinType.ts b/schema/skinType.ts new file mode 100644 index 000000000..660d8fa05 --- /dev/null +++ b/schema/skinType.ts @@ -0,0 +1,13 @@ +import { + pgTable, + integer, + varchar, +} from "drizzle-orm/pg-core"; + +export const skinType = pgTable( + "skin_type", + { + skinTypeId: integer("skin_type_id").notNull().primaryKey(), + skinType: varchar("skin_type", { length: 100 }).notNull(), + } +); diff --git a/schema/stockAssembly.ts b/schema/stockAssembly.ts new file mode 100644 index 000000000..21120e203 --- /dev/null +++ b/schema/stockAssembly.ts @@ -0,0 +1,24 @@ +import { + pgTable, + integer, + smallint, + index, +} from "drizzle-orm/pg-core"; +import { brandedPart } from "./brandedPart"; +import { attachmentPoint } from "./attachmentPoint"; + +export const stockAssembly = pgTable( + "stock_assembly", + { + parentBrandedPartId: integer("parent_branded_part_id").references(() => brandedPart.brandedPartId).notNull().primaryKey(), + childBrandedPartId: integer("child_branded_part_id").references(() => brandedPart.brandedPartId).notNull(), + attachmentPointId: integer("attachment_point_id").references(() => attachmentPoint.attachmentPointId).notNull(), + configDefault: smallint("config_default").notNull(), + physicsDefault: smallint("physics_default").notNull(), + }, + (table) => { + return { + idIdx: index("stock_assembly_id_idx").on(table.parentBrandedPartId, table.childBrandedPartId, table.attachmentPointId), + }; + }, +); diff --git a/schema/stockVehicleAttributes.ts b/schema/stockVehicleAttributes.ts new file mode 100644 index 000000000..c1de59c44 --- /dev/null +++ b/schema/stockVehicleAttributes.ts @@ -0,0 +1,28 @@ +import { + pgTable, + integer, + index, +} from "drizzle-orm/pg-core"; +import { brandedPart } from "./brandedPart"; +import { svaCarClass } from "./svaCarClass"; +import { svaModeRestriction } from "./svaModeRestriction"; + +export const stockVehicleAttributes = pgTable( + "stock_vehicle_attributes", + { + brandedPartId: integer("branded_part_id").references(() => brandedPart.brandedPartId).notNull().primaryKey(), + carClass: integer("car_class").references(() => svaCarClass.svaCarClass).notNull(), + aiRestrictionClass: integer("ai_restriction_class").notNull(), + modeRestriction: integer("mode_restriction").references(() => svaModeRestriction.svaModeRestriction).notNull(), + sponsor: integer("sponsor").notNull(), + vinBrandedPartId: integer("vin_branded_part_id").references(() => brandedPart.brandedPartId).notNull(), + trackId: integer("track_id").notNull(), + vinCrc: integer("vin_crc").notNull(), + retailPrice: integer("retail_price").notNull(), + }, + (table) => { + return { + idIdx: index("stock_vehicle_attributes_branded_part_id_idx").on(table.brandedPartId), + }; + }, +); diff --git a/schema/svaCarClass.ts b/schema/svaCarClass.ts new file mode 100644 index 000000000..8c5ec65a6 --- /dev/null +++ b/schema/svaCarClass.ts @@ -0,0 +1,21 @@ +import { + pgTable, + integer, + index, + varchar, +} from "drizzle-orm/pg-core"; + +export const svaCarClass = pgTable( + "sva_car_class", + { + svaCarClass: integer("sva_car_class").notNull().primaryKey(), + description: varchar("description", { + length: 50, + }).notNull(), + }, + (table) => { + return { + idIdx: index("sva_car_class_car_class_idx").on(table.svaCarClass), + }; + }, +); diff --git a/schema/svaModeRestriction.ts b/schema/svaModeRestriction.ts new file mode 100644 index 000000000..9bfef6ccd --- /dev/null +++ b/schema/svaModeRestriction.ts @@ -0,0 +1,21 @@ +import { + pgTable, + integer, + index, + varchar, +} from "drizzle-orm/pg-core"; + +export const svaModeRestriction = pgTable( + "sva_mode_restriction", + { + svaModeRestriction: integer("sva_mode_restriction").notNull().primaryKey(), + description: varchar("description", { + length: 100, + }).notNull(), + }, + (table) => { + return { + idIdx: index("sva_mode_restriction_idx").on(table.svaModeRestriction), + }; + }, +); diff --git a/schema/tunables.ts b/schema/tunables.ts new file mode 100644 index 000000000..01da3785a --- /dev/null +++ b/schema/tunables.ts @@ -0,0 +1,67 @@ +import { + pgTable, + integer, + smallint, +} from "drizzle-orm/pg-core"; + +export const tunables = pgTable( + "tunables", + { + clubCreationFee: integer("club_creation_fee").notNull(), + clubCreationMinimumLevel: integer("club_creation_minimum_level").notNull(), + clubOfficerMinimumLevel: integer("club_officer_minimum_level").notNull(), + racePPDefeatedOpponent: integer("race_pp_defeated_opponent").notNull(), + racePPPlaceLost: integer("race_pp_place_lost").notNull(), + racePenaltyPerRank: integer("race_penalty_per_rank").notNull(), + raceBonusPerRank: integer("race_bonus_per_rank").notNull(), + raceBonusPerMileSponsored: integer("race_bonus_per_mile_sponsored").notNull(), + raceBonusPerMileOpen: integer("race_bonus_per_mile_open").notNull(), + levelsTunelog: integer("levels_tunelog").notNull(), + levelsSlope: integer("levels_slope").notNull(), + levelsOffset: integer("levels_offset").notNull(), + maxEZStreetLevel: integer("max_ez_street_level").notNull(), + clubWaitPeriodBetweenClubs: integer("club_wait_period_between_clubs").notNull(), + turfwarCaptionBonus: integer("turfwar_caption_bonus").notNull(), + turfwarMemberBonus: integer("turfwar_member_bonus").notNull(), + topDogBonus: integer("top_dog_bonus").notNull(), + rankAdvancementBonus: integer("rank_advancement_bonus").notNull(), + ttCashRewardFirst: integer("tt_cash_reward_first").notNull(), + ttCashRewardSecond: integer("tt_cash_reward_second").notNull(), + ttCashRewardThird: integer("tt_cash_reward_third").notNull(), + ttPointsRewardFirst: integer("tt_points_reward_first").notNull(), + ttPointsRewardSecond: integer("tt_points_reward_second").notNull(), + ttPointsRewardThird: integer("tt_points_reward_third").notNull(), + universalRepairCostModifier: integer("universal_repair_cost_modifier").notNull(), + universalScrapValueModifier: integer("universal_scrap_value_modifier").notNull(), + adCost1Day: integer("ad_cost_1_day").notNull(), + adCost2Days: integer("ad_cost_2_days").notNull(), + adCost3Days: integer("ad_cost_3_days").notNull(), + adCost4Days: integer("ad_cost_4_days").notNull(), + adCost5Days: integer("ad_cost_5_days").notNull(), + adCost6Days: integer("ad_cost_6_days").notNull(), + adCost7Days: integer("ad_cost_7_days").notNull(), + tradeInModifier: integer("trade_in_modifier").notNull(), + simStreetMaxWager: integer("sim_street_max_wager").notNull(), + pointAward1stPlace: integer("point_award_1st_place").notNull(), + pointAward2ndPlace: integer("point_award_2nd_place").notNull(), + pointAward3rdPlace: integer("point_award_3rd_place").notNull(), + pointAward4thPlace: integer("point_award_4th_place").notNull(), + pointAward5thPlace: integer("point_award_5th_place").notNull(), + pointAward6thPlace: integer("point_award_6th_place").notNull(), + arcadeRacePointModifier: integer("arcade_race_point_modifier").notNull(), + mcotsPoolingFrequency: integer("mcots_pooling_frequency").notNull(), + starterCash: integer("starter_cash").notNull(), + enableChearEmails: smallint("enable_chear_emails").notNull(), + salaryPerLevel: integer("salary_per_level").notNull(), + clubMaxMembers: integer("club_max_members").notNull(), + clubRegistrationFee: integer("club_registration_fee").notNull(), + clubReRegistrationFee: integer("club_reregistration_fee").notNull(), + classifiedAdBillRate: integer("classified_ad_bill_rate").notNull(), + classifiedAdMaxDays: integer("classified_ad_max_days").notNull(), + classifiedAdMaxSize: integer("classified_ad_max_size").notNull(), + classifiedAdMaxPerPersona: integer("classified_ad_max_per_persona").notNull(), + papAwardPercentage: integer("pap_award_percentage").notNull(), + dealOfTheDayBrandedPartId: integer("deal_of_the_day_branded_part_id").notNull(), + dealOfTheDayDiscount: integer("deal_of_the_day_discount").notNull(), + }, +); diff --git a/schema/user.ts b/schema/user.ts new file mode 100644 index 000000000..8c147b4b1 --- /dev/null +++ b/schema/user.ts @@ -0,0 +1,23 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, + smallint, +} from "drizzle-orm/pg-core"; + +export const user = pgTable( + "user", + { + userId: integer("user_id").notNull().primaryKey(), + userName: varchar("user_name", { length: 100 }).notNull(), + password: varchar("password", { length: 100 }).notNull(), + customerId: integer("customer_id").notNull(), + isSuperUser: smallint("is_super_user").notNull().default(0), + }, + (table) => { + return { + idIdx: uniqueIndex("user_id_idx").on(table.userId), + }; + }, +); diff --git a/schema/vehicle.ts b/schema/vehicle.ts new file mode 100644 index 000000000..16dc59b9a --- /dev/null +++ b/schema/vehicle.ts @@ -0,0 +1,25 @@ +import { + pgTable, + varchar, + integer, + uniqueIndex, +} from "drizzle-orm/pg-core"; +import { skin } from "./skin"; +import { bytea } from "./bytea"; + + +export const vehicle = pgTable( + "vehicle", + { + vehicleId: integer("vehicle_id").notNull().primaryKey(), + skinId: integer("skin_id").references(() => skin.skinId).notNull(), + flags: integer("flags").notNull().default(0), + class: varchar("class", { length: 100 }).notNull(), + infoSetting: varchar("info_setting", { length: 100 }).notNull(), + damageInfo: bytea("damage_info"), + }, + (table) => { + return { + idIdx: uniqueIndex("vehicle_id_idx").on(table.vehicleId), + }; + }); diff --git a/schema/warehouse.ts b/schema/warehouse.ts new file mode 100644 index 000000000..5a29036ca --- /dev/null +++ b/schema/warehouse.ts @@ -0,0 +1,26 @@ +import { + pgTable, + integer, + index, +} from "drizzle-orm/pg-core"; +import { player } from "./player"; +import { brandedPart } from "./brandedPart"; +import { skin } from "./skin"; + +export const warehouse = pgTable( + "warehouse", + { + brandedPartId: integer("branded_part_id").references(() => brandedPart.brandedPartId).notNull(), + skinId: integer("skin_id").references(() => skin.skinId).notNull(), + playerId: integer("player_id").references(() => player.playerId).notNull(), + qtyAvail: integer("qty_avail"), + isDealOfTheDay: integer("is_deal_of_the_day").notNull().default(0), + }, + (table) => { + return { + warehouseBrandedPartIdx: index("warehouse_branded_part_id_idx").on(table.brandedPartId), + warehouseSkinIdIdx: index("warehouse_skin_id_idx").on(table.skinId), + warehousePlayerIdIdx: index("warehouse_player_id_idx").on(table.playerId), + }; + }, +); diff --git a/test/factoryMocks.d.ts b/test/factoryMocks.d.ts deleted file mode 100644 index a4db3db66..000000000 --- a/test/factoryMocks.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import type { DatabaseManager } from "../packages/interfaces/index.js"; -export declare function mockDatabaseManager(): DatabaseManager; -/** @type TServerLogger */ -export declare function mockLogger(): any; -/** @type ServerMessageType */ -export declare function mockServerMessageType(): any; diff --git a/test/factoryMocks.ts b/test/factoryMocks.ts deleted file mode 100644 index 27c00b43e..000000000 --- a/test/factoryMocks.ts +++ /dev/null @@ -1,55 +0,0 @@ -import { expect, it, vi } from "vitest"; -import type { DatabaseManager } from "../packages/interfaces/index.js"; -import { verifyLegacyCipherSupport } from "../packages/gateway/src/encryption.js"; -import type { TServerLogger } from "../packages/shared/types.js"; - -export function mockDatabaseManager(): DatabaseManager { - return { - updateSessionKey: vi.fn(), - fetchSessionKeyByCustomerId: vi.fn(), - }; -} - -/** @type TServerLogger */ -export function mockLogger(): TServerLogger { - return { - info: vi.fn(), - error: vi.fn(), - fatal: vi.fn(), - warn: vi.fn(), - debug: vi.fn(), - trace: vi.fn(), - setName: vi.fn(), - }; -} - -/** @type ServerMessageType */ -export function mockServerMessageType(): any { - return { - _header: { - _size: 0, - length: 0, - mcoSig: "", - sequence: 0, - flags: 0, - size: vi.fn(), - _doDeserialize: vi.fn(), - _doSerialize: vi.fn(), - internalBuffer: Buffer.from([]), - data: Buffer.from([]), - setBuffer: vi.fn(), - }, - _msgNo: 0, - size: vi.fn(), - _doDeserialize: vi.fn(), - serialize: vi.fn(), - setBuffer: vi.fn(), - updateMsgNo: vi.fn(), - toString: vi.fn(), - data: Buffer.from([]), - }; -} - -it("should have crypto", () => { - expect(() => verifyLegacyCipherSupport()).not.toThrow(); -}); diff --git a/tsconfig.json b/tsconfig.json index 657436df7..20c832141 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,9 @@ "module": "ES2022", "lib": ["ES2022"], "declaration": true, - "emitDeclarationOnly": true + "sourceMap": true, + "noEmit": true, + }, - "include": ["apps/**/*", "packages/**/*"] + "include": ["apps/**/*", "packages/**/*", "drizzle.config.ts", "schema/**/*.ts"], } From 874ac6970acfa2a66eb57e2fa6b5d8153fb0274e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 9 May 2024 12:41:42 -0400 Subject: [PATCH 321/452] chore: Remove unused "transactions" package --- pnpm-lock.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2efaf5e8f..b644cb14a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -196,8 +196,6 @@ importers: packages/shared-packets: {} - packages/transactions: {} - packages: /@ampproject/remapping@2.3.0: From 98a55387f39190b1a650c61755ab9e843a94a87f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 12:46:47 -0400 Subject: [PATCH 322/452] chore(deps): pin dependencies (#1888) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 8 ++++---- pnpm-lock.yaml | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 39224c92c..3724b03b9 100644 --- a/package.json +++ b/package.json @@ -26,13 +26,13 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@eslint/js": "^9.2.0", + "@eslint/js": "9.2.0", "@sentry/node": "7.113.0", "@sentry/profiling-node": "7.113.0", "@types/node": "20.12.7", - "@types/pg": "^8.11.6", + "@types/pg": "8.11.6", "@vitest/coverage-v8": "1.5.1", - "drizzle-kit": "^0.20.18", + "drizzle-kit": "0.20.18", "esbuild": "0.20.2", "eslint": "9.1.1", "eslint-config-prettier": "9.1.0", @@ -40,7 +40,7 @@ "npm-run-all2": "6.1.2", "prettier": "3.2.5", "typescript": "5.4.5", - "typescript-eslint": "^7.8.0", + "typescript-eslint": "7.8.0", "vitest": "1.5.1" }, "dependencies": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b644cb14a..98b9c9b2c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -49,7 +49,7 @@ importers: version: 4.9.3 devDependencies: '@eslint/js': - specifier: ^9.2.0 + specifier: 9.2.0 version: 9.2.0 '@sentry/node': specifier: 7.113.0 @@ -61,13 +61,13 @@ importers: specifier: 20.12.7 version: 20.12.7 '@types/pg': - specifier: ^8.11.6 + specifier: 8.11.6 version: 8.11.6 '@vitest/coverage-v8': specifier: 1.5.1 version: 1.5.1(vitest@1.5.1) drizzle-kit: - specifier: ^0.20.18 + specifier: 0.20.18 version: 0.20.18 esbuild: specifier: 0.20.2 @@ -91,7 +91,7 @@ importers: specifier: 5.4.5 version: 5.4.5 typescript-eslint: - specifier: ^7.8.0 + specifier: 7.8.0 version: 7.8.0(eslint@9.1.1)(typescript@5.4.5) vitest: specifier: 1.5.1 From cc9cdcb558dfe4ed28b7e13e1a7c3dae35d0d00a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 16:50:33 +0000 Subject: [PATCH 323/452] chore(deps): update dependency @types/node to v20.12.11 (#1924) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 32 ++++++++++++++++---------------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/package.json b/package.json index 3724b03b9..2d7c8cff9 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ "@eslint/js": "9.2.0", "@sentry/node": "7.113.0", "@sentry/profiling-node": "7.113.0", - "@types/node": "20.12.7", + "@types/node": "20.12.11", "@types/pg": "8.11.6", "@vitest/coverage-v8": "1.5.1", "drizzle-kit": "0.20.18", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 98b9c9b2c..ff449a41c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: 7.113.0 version: 7.113.0 '@types/node': - specifier: 20.12.7 - version: 20.12.7 + specifier: 20.12.11 + version: 20.12.11 '@types/pg': specifier: 8.11.6 version: 8.11.6 @@ -95,7 +95,7 @@ importers: version: 7.8.0(eslint@9.1.1)(typescript@5.4.5) vitest: specifier: 1.5.1 - version: 1.5.1(@types/node@20.12.7) + version: 1.5.1(@types/node@20.12.11) apps/main: dependencies: @@ -1567,15 +1567,15 @@ packages: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} dev: false - /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + /@types/node@20.12.11: + resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} dependencies: undici-types: 5.26.5 /@types/pg@8.11.6: resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.11 pg-protocol: 1.6.1 pg-types: 4.0.2 @@ -1737,7 +1737,7 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.1(@types/node@20.12.7) + vitest: 1.5.1(@types/node@20.12.11) transitivePeerDependencies: - supports-color dev: true @@ -4592,7 +4592,7 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.5.1(@types/node@20.12.7): + /vite-node@1.5.1(@types/node@20.12.11): resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -4601,7 +4601,7 @@ packages: debug: 4.3.4 pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.11) transitivePeerDependencies: - '@types/node' - less @@ -4613,7 +4613,7 @@ packages: - terser dev: true - /vite@5.2.11(@types/node@20.12.7): + /vite@5.2.11(@types/node@20.12.11): resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -4641,7 +4641,7 @@ packages: terser: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.11 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 @@ -4649,7 +4649,7 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.5.1(@types/node@20.12.7): + /vitest@1.5.1(@types/node@20.12.11): resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true @@ -4674,7 +4674,7 @@ packages: jsdom: optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.11 '@vitest/expect': 1.5.1 '@vitest/runner': 1.5.1 '@vitest/snapshot': 1.5.1 @@ -4692,8 +4692,8 @@ packages: strip-literal: 2.1.0 tinybench: 2.8.0 tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.7) - vite-node: 1.5.1(@types/node@20.12.7) + vite: 5.2.11(@types/node@20.12.11) + vite-node: 1.5.1(@types/node@20.12.11) why-is-node-running: 2.2.2 transitivePeerDependencies: - less @@ -4744,7 +4744,7 @@ packages: /wkx@0.5.0: resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.11 dev: false /word-wrap@1.2.5: From 9f1418f541478345a21c4463f0d81cf32b852c44 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 19:05:54 -0400 Subject: [PATCH 324/452] chore(deps): update github/codeql-action digest to ccf74c9 (#1889) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 0f7be3ad6..2847a9e83 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 + uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 + uses: github/codeql-action/autobuild@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4355270be187e1b672a7a1c7c7bae5afdc1ab94a # v3 + uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 From 34fe63f8cb821344e130b041283230c802d74eab Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 9 May 2024 23:10:37 +0000 Subject: [PATCH 325/452] chore(deps): update dependency eslint to v9.2.0 (#1926) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 73 +++++++++++++++++++++++--------------------------- 2 files changed, 35 insertions(+), 40 deletions(-) diff --git a/package.json b/package.json index 2d7c8cff9..3df077c76 100644 --- a/package.json +++ b/package.json @@ -34,7 +34,7 @@ "@vitest/coverage-v8": "1.5.1", "drizzle-kit": "0.20.18", "esbuild": "0.20.2", - "eslint": "9.1.1", + "eslint": "9.2.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ff449a41c..21c0c9f44 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -73,14 +73,14 @@ importers: specifier: 0.20.2 version: 0.20.2 eslint: - specifier: 9.1.1 - version: 9.1.1 + specifier: 9.2.0 + version: 9.2.0 eslint-config-prettier: specifier: 9.1.0 - version: 9.1.0(eslint@9.1.1) + version: 9.1.0(eslint@9.2.0) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.1)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5) npm-run-all2: specifier: 6.1.2 version: 6.1.2 @@ -92,7 +92,7 @@ importers: version: 5.4.5 typescript-eslint: specifier: 7.8.0 - version: 7.8.0(eslint@9.1.1)(typescript@5.4.5) + version: 7.8.0(eslint@9.2.0)(typescript@5.4.5) vitest: specifier: 1.5.1 version: 1.5.1(@types/node@20.12.11) @@ -1000,13 +1000,13 @@ packages: requiresBuild: true optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.1.1): + /@eslint-community/eslint-utils@4.4.0(eslint@9.2.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: - eslint: 9.1.1 + eslint: 9.2.0 eslint-visitor-keys: 3.4.3 dev: true @@ -1032,11 +1032,6 @@ packages: - supports-color dev: true - /@eslint/js@9.1.1: - resolution: {integrity: sha512-5WoDz3Y19Bg2BnErkZTp0en+c/i9PvgFS7MBe1+m60HjFr0hrphlAGp4yzI7pxpt4xShln4ZyYp4neJm8hmOkQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /@eslint/js@9.2.0: resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1587,7 +1582,7 @@ packages: resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==} dev: false - /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.1.1)(typescript@5.4.5): + /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5): resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1599,13 +1594,13 @@ packages: optional: true dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 @@ -1616,7 +1611,7 @@ packages: - supports-color dev: true - /@typescript-eslint/parser@7.8.0(eslint@9.1.1)(typescript@5.4.5): + /@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5): resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1631,7 +1626,7 @@ packages: '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -1645,7 +1640,7 @@ packages: '@typescript-eslint/visitor-keys': 7.8.0 dev: true - /@typescript-eslint/type-utils@7.8.0(eslint@9.1.1)(typescript@5.4.5): + /@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5): resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1656,9 +1651,9 @@ packages: optional: true dependencies: '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) debug: 4.3.4 - eslint: 9.1.1 + eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -1692,19 +1687,19 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@7.8.0(eslint@9.1.1)(typescript@5.4.5): + /@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5): resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 7.8.0 '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - eslint: 9.1.1 + eslint: 9.2.0 semver: 7.6.1 transitivePeerDependencies: - supports-color @@ -2498,16 +2493,16 @@ packages: engines: {node: '>=10'} dev: true - /eslint-config-prettier@9.1.0(eslint@9.1.1): + /eslint-config-prettier@9.1.0(eslint@9.2.0): resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' dependencies: - eslint: 9.1.1 + eslint: 9.2.0 dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.1.1)(prettier@3.2.5): + /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5): resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -2521,8 +2516,8 @@ packages: eslint-config-prettier: optional: true dependencies: - eslint: 9.1.1 - eslint-config-prettier: 9.1.0(eslint@9.1.1) + eslint: 9.2.0 + eslint-config-prettier: 9.1.0(eslint@9.2.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 @@ -2546,15 +2541,15 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /eslint@9.1.1: - resolution: {integrity: sha512-b4cRQ0BeZcSEzPpY2PjFY70VbO32K7BStTGtBsnIGdTSEEQzBi8hPBcGQmTG2zUvFr9uLe0TK42bw8YszuHEqg==} + /eslint@9.2.0: + resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.1.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 '@eslint/eslintrc': 3.0.2 - '@eslint/js': 9.1.1 + '@eslint/js': 9.2.0 '@humanwhocodes/config-array': 0.13.0 '@humanwhocodes/module-importer': 1.0.1 '@humanwhocodes/retry': 0.2.4 @@ -4511,7 +4506,7 @@ packages: resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} dev: true - /typescript-eslint@7.8.0(eslint@9.1.1)(typescript@5.4.5): + /typescript-eslint@7.8.0(eslint@9.2.0)(typescript@5.4.5): resolution: {integrity: sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -4521,10 +4516,10 @@ packages: typescript: optional: true dependencies: - '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/parser': 7.8.0(eslint@9.1.1)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.1.1)(typescript@5.4.5) - eslint: 9.1.1 + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + eslint: 9.2.0 typescript: 5.4.5 transitivePeerDependencies: - supports-color From f21db7235e019d45fd6c1e37eb7475420e20c78a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 00:21:35 +0000 Subject: [PATCH 326/452] chore(deps): update vitest monorepo to v1.6.0 (#1927) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 4 +-- pnpm-lock.yaml | 66 +++++++++++++++++++++++++------------------------- 2 files changed, 35 insertions(+), 35 deletions(-) diff --git a/package.json b/package.json index 3df077c76..0cefc66c7 100644 --- a/package.json +++ b/package.json @@ -31,7 +31,7 @@ "@sentry/profiling-node": "7.113.0", "@types/node": "20.12.11", "@types/pg": "8.11.6", - "@vitest/coverage-v8": "1.5.1", + "@vitest/coverage-v8": "1.6.0", "drizzle-kit": "0.20.18", "esbuild": "0.20.2", "eslint": "9.2.0", @@ -41,7 +41,7 @@ "prettier": "3.2.5", "typescript": "5.4.5", "typescript-eslint": "7.8.0", - "vitest": "1.5.1" + "vitest": "1.6.0" }, "dependencies": { "@fastify/sensible": "^5.6.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 21c0c9f44..07cb790b7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,8 +64,8 @@ importers: specifier: 8.11.6 version: 8.11.6 '@vitest/coverage-v8': - specifier: 1.5.1 - version: 1.5.1(vitest@1.5.1) + specifier: 1.6.0 + version: 1.6.0(vitest@1.6.0) drizzle-kit: specifier: 0.20.18 version: 0.20.18 @@ -94,8 +94,8 @@ importers: specifier: 7.8.0 version: 7.8.0(eslint@9.2.0)(typescript@5.4.5) vitest: - specifier: 1.5.1 - version: 1.5.1(@types/node@20.12.11) + specifier: 1.6.0 + version: 1.6.0(@types/node@20.12.11) apps/main: dependencies: @@ -1714,10 +1714,10 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@vitest/coverage-v8@1.5.1(vitest@1.5.1): - resolution: {integrity: sha512-Zx+dYEDcZg+44ksjIWvWosIGlPLJB1PPpN3O8+Xrh/1qa7WSFA6Y8H7lsZJTYrxu4G2unk9tvP5TgjIGDliF1w==} + /@vitest/coverage-v8@1.6.0(vitest@1.6.0): + resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: - vitest: 1.5.1 + vitest: 1.6.0 dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -1732,43 +1732,43 @@ packages: std-env: 3.7.0 strip-literal: 2.1.0 test-exclude: 6.0.0 - vitest: 1.5.1(@types/node@20.12.11) + vitest: 1.6.0(@types/node@20.12.11) transitivePeerDependencies: - supports-color dev: true - /@vitest/expect@1.5.1: - resolution: {integrity: sha512-w3Bn+VUMqku+oWmxvPhTE86uMTbfmBl35aGaIPlwVW7Q89ZREC/icfo2HBsEZ3AAW6YR9lObfZKPEzstw9tJOQ==} + /@vitest/expect@1.6.0: + resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} dependencies: - '@vitest/spy': 1.5.1 - '@vitest/utils': 1.5.1 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 chai: 4.4.1 dev: true - /@vitest/runner@1.5.1: - resolution: {integrity: sha512-mt372zsz0vFR7L1xF/ert4t+teD66oSuXoTyaZbl0eJgilvyzCKP1tJ21gVa8cDklkBOM3DLnkE1ljj/BskyEw==} + /@vitest/runner@1.6.0: + resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} dependencies: - '@vitest/utils': 1.5.1 + '@vitest/utils': 1.6.0 p-limit: 5.0.0 pathe: 1.1.2 dev: true - /@vitest/snapshot@1.5.1: - resolution: {integrity: sha512-h/1SGaZYXmjn6hULRBOlqam2z4oTlEe6WwARRzLErAPBqljAs6eX7tfdyN0K+MpipIwSZ5sZsubDWkCPAiVXZQ==} + /@vitest/snapshot@1.6.0: + resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} dependencies: magic-string: 0.30.10 pathe: 1.1.2 pretty-format: 29.7.0 dev: true - /@vitest/spy@1.5.1: - resolution: {integrity: sha512-vsqczk6uPJjmPLy6AEtqfbFqgLYcGBe9BTY+XL8L6y8vrGOhyE23CJN9P/hPimKXnScbqiZ/r/UtUSOQ2jIDGg==} + /@vitest/spy@1.6.0: + resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} dependencies: tinyspy: 2.2.1 dev: true - /@vitest/utils@1.5.1: - resolution: {integrity: sha512-92pE17bBXUxA0Y7goPcvnATMCuq4NQLOmqsG0e2BtzRi7KLwZB5jpiELi/8ybY8IQNWemKjSD5rMoO7xTdv8ug==} + /@vitest/utils@1.6.0: + resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} dependencies: diff-sequences: 29.6.3 estree-walker: 3.0.3 @@ -4587,8 +4587,8 @@ packages: engines: {node: '>= 0.8'} dev: false - /vite-node@1.5.1(@types/node@20.12.11): - resolution: {integrity: sha512-HNpfV7BrAsjkYVNWIcPleJwvJmydJqqJRrRbpoQ/U7QDwJKyEzNa4g5aYg8MjXJyKsk29IUCcMLFRcsEvqUIsA==} + /vite-node@1.6.0(@types/node@20.12.11): + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true dependencies: @@ -4644,15 +4644,15 @@ packages: fsevents: 2.3.3 dev: true - /vitest@1.5.1(@types/node@20.12.11): - resolution: {integrity: sha512-3GvBMpoRnUNbZRX1L3mJCv3Ou3NAobb4dM48y8k9ZGwDofePpclTOyO+lqJFKSQpubH1V8tEcAEw/Y3mJKGJQQ==} + /vitest@1.6.0(@types/node@20.12.11): + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} engines: {node: ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.5.1 - '@vitest/ui': 1.5.1 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -4670,11 +4670,11 @@ packages: optional: true dependencies: '@types/node': 20.12.11 - '@vitest/expect': 1.5.1 - '@vitest/runner': 1.5.1 - '@vitest/snapshot': 1.5.1 - '@vitest/spy': 1.5.1 - '@vitest/utils': 1.5.1 + '@vitest/expect': 1.6.0 + '@vitest/runner': 1.6.0 + '@vitest/snapshot': 1.6.0 + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 acorn-walk: 8.3.2 chai: 4.4.1 debug: 4.3.4 @@ -4688,7 +4688,7 @@ packages: tinybench: 2.8.0 tinypool: 0.8.4 vite: 5.2.11(@types/node@20.12.11) - vite-node: 1.5.1(@types/node@20.12.11) + vite-node: 1.6.0(@types/node@20.12.11) why-is-node-running: 2.2.2 transitivePeerDependencies: - less From 2d4155a332ad96ffc1271260e458e376922f122e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 10:22:21 -0400 Subject: [PATCH 327/452] chore(deps): update returntocorp/semgrep docker digest to 470852e (#1892) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index da2ecd194..92b332c43 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:42e234536c1742beb43985ed42ba7bbad67e3ed3f3a4cec125817276b3631e65 + image: returntocorp/semgrep@sha256:470852e0f80a04389afd851de9809be8e8d2287ecc709abbc7834890786323fa if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 From 483b7b7aaa1c29a5b61ba55c37cb856541b78797 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 11:20:51 -0400 Subject: [PATCH 328/452] chore(deps): update pnpm to v9 (#1895) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 5530 ++++++++++++++++++++++++++---------------------- 2 files changed, 3060 insertions(+), 2472 deletions(-) diff --git a/package.json b/package.json index 0cefc66c7..3d6596410 100644 --- a/package.json +++ b/package.json @@ -58,5 +58,5 @@ "short-unique-id": "^5.2.0", "tsx": "^4.9.3" }, - "packageManager": "pnpm@8.15.8" + "packageManager": "pnpm@9.1.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 07cb790b7..02b3797b2 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -198,1391 +198,836 @@ importers: packages: - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - /@babel/code-frame@7.24.2: + '@babel/code-frame@7.24.2': resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 - dev: false - /@babel/compat-data@7.24.4: + '@babel/compat-data@7.24.4': resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} - dev: false - /@babel/core@7.24.5: + '@babel/core@7.24.5': resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) - '@babel/helpers': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/generator@7.24.5: + '@babel/generator@7.24.5': resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - dev: false - /@babel/helper-compilation-targets@7.23.6: + '@babel/helper-compilation-targets@7.23.6': resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - dev: false - /@babel/helper-environment-visitor@7.22.20: + '@babel/helper-environment-visitor@7.22.20': resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} - dev: false - /@babel/helper-function-name@7.23.0: + '@babel/helper-function-name@7.23.0': resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.5 - dev: false - /@babel/helper-hoist-variables@7.22.5: + '@babel/helper-hoist-variables@7.22.5': resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-module-imports@7.24.3: + '@babel/helper-module-imports@7.24.3': resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + '@babel/helper-module-transforms@7.24.5': resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 - dependencies: - '@babel/core': 7.24.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.24.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/helper-validator-identifier': 7.24.5 - dev: false - /@babel/helper-simple-access@7.24.5: + '@babel/helper-simple-access@7.24.5': resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-split-export-declaration@7.24.5: + '@babel/helper-split-export-declaration@7.24.5': resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/types': 7.24.5 - dev: false - /@babel/helper-string-parser@7.24.1: + '@babel/helper-string-parser@7.24.1': resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-identifier@7.24.5: + '@babel/helper-validator-identifier@7.24.5': resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} - /@babel/helper-validator-option@7.23.5: + '@babel/helper-validator-option@7.23.5': resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} - dev: false - /@babel/helpers@7.24.5: + '@babel/helpers@7.24.5': resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/highlight@7.24.5: + '@babel/highlight@7.24.5': resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-validator-identifier': 7.24.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - dev: false - /@babel/parser@7.24.5: + '@babel/parser@7.24.5': resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true - dependencies: - '@babel/types': 7.24.5 - /@babel/template@7.24.0: + '@babel/template@7.24.0': resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - dev: false - /@babel/traverse@7.24.5: + '@babel/traverse@7.24.5': resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - dev: false - /@babel/types@7.24.5: + '@babel/types@7.24.5': resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 - to-fast-properties: 2.0.0 - /@bcoe/v8-coverage@0.2.3: + '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true - /@esbuild-kit/core-utils@3.3.2: + '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - dev: true - /@esbuild-kit/esm-loader@2.6.5: + '@esbuild-kit/esm-loader@2.6.5': resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.4 - dev: true - /@esbuild/aix-ppc64@0.19.12: + '@esbuild/aix-ppc64@0.19.12': resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.20.2: + '@esbuild/aix-ppc64@0.20.2': resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] - requiresBuild: true - optional: true - /@esbuild/android-arm64@0.18.20: + '@esbuild/android-arm64@0.18.20': resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.12: + '@esbuild/android-arm64@0.19.12': resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.20.2: + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-arm@0.18.20: + '@esbuild/android-arm@0.18.20': resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.12: + '@esbuild/android-arm@0.19.12': resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.20.2: + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] - requiresBuild: true - optional: true - /@esbuild/android-x64@0.18.20: + '@esbuild/android-x64@0.18.20': resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.12: + '@esbuild/android-x64@0.19.12': resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.20.2: + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] - requiresBuild: true - optional: true - /@esbuild/darwin-arm64@0.18.20: + '@esbuild/darwin-arm64@0.18.20': resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.12: + '@esbuild/darwin-arm64@0.19.12': resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.20.2: + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/darwin-x64@0.18.20: + '@esbuild/darwin-x64@0.18.20': resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.12: + '@esbuild/darwin-x64@0.19.12': resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.20.2: + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] - requiresBuild: true - optional: true - /@esbuild/freebsd-arm64@0.18.20: + '@esbuild/freebsd-arm64@0.18.20': resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.12: + '@esbuild/freebsd-arm64@0.19.12': resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.20.2: + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/freebsd-x64@0.18.20: + '@esbuild/freebsd-x64@0.18.20': resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.12: + '@esbuild/freebsd-x64@0.19.12': resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.20.2: + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] - requiresBuild: true - optional: true - /@esbuild/linux-arm64@0.18.20: + '@esbuild/linux-arm64@0.18.20': resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.12: + '@esbuild/linux-arm64@0.19.12': resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.20.2: + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-arm@0.18.20: + '@esbuild/linux-arm@0.18.20': resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.12: + '@esbuild/linux-arm@0.19.12': resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.20.2: + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ia32@0.18.20: + '@esbuild/linux-ia32@0.18.20': resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.12: + '@esbuild/linux-ia32@0.19.12': resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.20.2: + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-loong64@0.18.20: + '@esbuild/linux-loong64@0.18.20': resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.12: + '@esbuild/linux-loong64@0.19.12': resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.20.2: + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-mips64el@0.18.20: + '@esbuild/linux-mips64el@0.18.20': resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.12: + '@esbuild/linux-mips64el@0.19.12': resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.20.2: + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-ppc64@0.18.20: + '@esbuild/linux-ppc64@0.18.20': resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.12: + '@esbuild/linux-ppc64@0.19.12': resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.20.2: + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-riscv64@0.18.20: + '@esbuild/linux-riscv64@0.18.20': resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.12: + '@esbuild/linux-riscv64@0.19.12': resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.20.2: + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-s390x@0.18.20: + '@esbuild/linux-s390x@0.18.20': resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.12: + '@esbuild/linux-s390x@0.19.12': resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.20.2: + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] - requiresBuild: true - optional: true - /@esbuild/linux-x64@0.18.20: + '@esbuild/linux-x64@0.18.20': resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.12: + '@esbuild/linux-x64@0.19.12': resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.20.2: + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] - requiresBuild: true - optional: true - /@esbuild/netbsd-x64@0.18.20: + '@esbuild/netbsd-x64@0.18.20': resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.12: + '@esbuild/netbsd-x64@0.19.12': resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.20.2: + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] - requiresBuild: true - optional: true - /@esbuild/openbsd-x64@0.18.20: + '@esbuild/openbsd-x64@0.18.20': resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.12: + '@esbuild/openbsd-x64@0.19.12': resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.20.2: + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] - requiresBuild: true - optional: true - /@esbuild/sunos-x64@0.18.20: + '@esbuild/sunos-x64@0.18.20': resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.12: + '@esbuild/sunos-x64@0.19.12': resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.20.2: + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] - requiresBuild: true - optional: true - /@esbuild/win32-arm64@0.18.20: + '@esbuild/win32-arm64@0.18.20': resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.12: + '@esbuild/win32-arm64@0.19.12': resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.20.2: + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-ia32@0.18.20: + '@esbuild/win32-ia32@0.18.20': resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.12: + '@esbuild/win32-ia32@0.19.12': resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.20.2: + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] - requiresBuild: true - optional: true - /@esbuild/win32-x64@0.18.20: + '@esbuild/win32-x64@0.18.20': resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.12: + '@esbuild/win32-x64@0.19.12': resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.20.2: + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] - requiresBuild: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@9.2.0): + '@eslint-community/eslint-utils@4.4.0': resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 9.2.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.0: + '@eslint-community/regexpp@4.10.0': resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint/eslintrc@3.0.2: + '@eslint/eslintrc@3.0.2': resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 10.0.1 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - dev: true - /@eslint/js@9.2.0: + '@eslint/js@9.2.0': resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /@fastify/ajv-compiler@3.5.0: + '@fastify/ajv-compiler@3.5.0': resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-uri: 2.3.0 - dev: false - /@fastify/error@3.4.1: + '@fastify/error@3.4.1': resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - dev: false - /@fastify/fast-json-stringify-compiler@4.3.0: + '@fastify/fast-json-stringify-compiler@4.3.0': resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - dependencies: - fast-json-stringify: 5.12.0 - dev: false - /@fastify/merge-json-schemas@0.1.1: + '@fastify/merge-json-schemas@0.1.1': resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - dependencies: - fast-deep-equal: 3.1.3 - dev: false - /@fastify/sensible@5.5.0: + '@fastify/sensible@5.5.0': resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - /@fastify/sensible@5.6.0: + '@fastify/sensible@5.6.0': resolution: {integrity: sha512-Vq6Z2ZQy10GDqON+hvLF52K99s9et5gVVxTul5n3SIAf0Kq5QjPRUKkAMT3zPAiiGvoHtS3APa/3uaxfDgCODQ==} - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - dev: false - /@hono/node-server@1.11.1: + '@hono/node-server@1.11.1': resolution: {integrity: sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==} engines: {node: '>=18.14.1'} - dev: true - /@hono/zod-validator@0.2.1(hono@4.3.3)(zod@3.23.8): + '@hono/zod-validator@0.2.1': resolution: {integrity: sha512-HFoxln7Q6JsE64qz2WBS28SD33UB2alp3aRKmcWnNLDzEL1BLsWfbdX6e1HIiUprHYTIXf5y7ax8eYidKUwyaA==} peerDependencies: hono: '>=3.9.0' zod: ^3.19.1 - dependencies: - hono: 4.3.3 - zod: 3.23.8 - dev: true - /@humanwhocodes/config-array@0.13.0: + '@humanwhocodes/config-array@0.13.0': resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} engines: {node: '>=10.10.0'} - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: + '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - dev: true - /@humanwhocodes/object-schema@2.0.3: + '@humanwhocodes/object-schema@2.0.3': resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - dev: true - /@humanwhocodes/retry@0.2.4: + '@humanwhocodes/retry@0.2.4': resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==} engines: {node: '>=18.18'} - dev: true - /@istanbuljs/schema@0.1.3: + '@istanbuljs/schema@0.1.3': resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} engines: {node: '>=8'} - dev: true - /@jest/schemas@29.6.3: + '@jest/schemas@29.6.3': resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dependencies: - '@sinclair/typebox': 0.27.8 - dev: true - /@jridgewell/gen-mapping@0.3.5: + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - /@jridgewell/resolve-uri@3.1.2: + '@jridgewell/resolve-uri@3.1.2': resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} engines: {node: '>=6.0.0'} - /@jridgewell/set-array@1.2.1: + '@jridgewell/set-array@1.2.1': resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} engines: {node: '>=6.0.0'} - /@jridgewell/sourcemap-codec@1.4.15: + '@jridgewell/sourcemap-codec@1.4.15': resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.25: + '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - /@lukeed/ms@2.0.2: + '@lukeed/ms@2.0.2': resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} engines: {node: '>=8'} - dev: false - /@nodelib/fs.scandir@2.1.5: + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: + '@nodelib/fs.stat@2.0.5': resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} engines: {node: '>= 8'} - dev: true - /@nodelib/fs.walk@1.2.8: + '@nodelib/fs.walk@1.2.8': resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - dev: true - /@pkgr/core@0.1.1: + '@pkgr/core@0.1.1': resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true - /@rollup/rollup-android-arm-eabi@4.17.2: + '@rollup/rollup-android-arm-eabi@4.17.2': resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} cpu: [arm] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.17.2: + '@rollup/rollup-android-arm64@4.17.2': resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} cpu: [arm64] os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.17.2: + '@rollup/rollup-darwin-arm64@4.17.2': resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} cpu: [arm64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.17.2: + '@rollup/rollup-darwin-x64@4.17.2': resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} cpu: [x64] os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.17.2: + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-musleabihf@4.17.2: + '@rollup/rollup-linux-arm-musleabihf@4.17.2': resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} cpu: [arm] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.17.2: + '@rollup/rollup-linux-arm64-gnu@4.17.2': resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.17.2: + '@rollup/rollup-linux-arm64-musl@4.17.2': resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} cpu: [arm64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.17.2: + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} cpu: [ppc64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.17.2: + '@rollup/rollup-linux-riscv64-gnu@4.17.2': resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} cpu: [riscv64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-s390x-gnu@4.17.2: + '@rollup/rollup-linux-s390x-gnu@4.17.2': resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} cpu: [s390x] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.17.2: + '@rollup/rollup-linux-x64-gnu@4.17.2': resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.17.2: + '@rollup/rollup-linux-x64-musl@4.17.2': resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} cpu: [x64] os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.17.2: + '@rollup/rollup-win32-arm64-msvc@4.17.2': resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} cpu: [arm64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.17.2: + '@rollup/rollup-win32-ia32-msvc@4.17.2': resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} cpu: [ia32] os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.17.2: + '@rollup/rollup-win32-x64-msvc@4.17.2': resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} cpu: [x64] os: [win32] - requiresBuild: true - dev: true - optional: true - /@sentry-internal/tracing@7.111.0: + '@sentry-internal/tracing@7.111.0': resolution: {integrity: sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg==} engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - dev: false - /@sentry-internal/tracing@7.113.0: + '@sentry-internal/tracing@7.113.0': resolution: {integrity: sha512-8MDnYENRMnEfQjvN4gkFYFaaBSiMFSU/6SQZfY9pLI3V105z6JQ4D0PGMAUVowXilwNZVpKNYohE7XByuhEC7Q==} engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - dev: true - /@sentry/babel-plugin-component-annotate@2.16.1: + '@sentry/babel-plugin-component-annotate@2.16.1': resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} engines: {node: '>= 14'} - dev: false - /@sentry/bundler-plugin-core@2.16.1: + '@sentry/bundler-plugin-core@2.16.1': resolution: {integrity: sha512-n6z8Ts3T9HROLuY7tVEYpBKvS+P7+b8NdqxP7QBcwp2nuPUlN5Ola1ivFjk1p5a7wRYeN9zM8orGe4l2HeNfYA==} engines: {node: '>= 14'} - dependencies: - '@babel/core': 7.24.5 - '@sentry/babel-plugin-component-annotate': 2.16.1 - '@sentry/cli': 2.31.2 - dotenv: 16.4.5 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.30.8 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@sentry/cli-darwin@2.31.2: + '@sentry/cli-darwin@2.31.2': resolution: {integrity: sha512-BHA/JJXj1dlnoZQdK4efRCtHRnbBfzbIZUKAze7oRR1RfNqERI84BVUQeKateD3jWSJXQfEuclIShc61KOpbKw==} engines: {node: '>=10'} os: [darwin] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-linux-arm64@2.31.2: + '@sentry/cli-linux-arm64@2.31.2': resolution: {integrity: sha512-FLVKkJ/rWvPy/ka7OrUdRW63a/z8HYI1Gt8Pr6rWs50hb7YJja8lM8IO10tYmcFE/tODICsnHO9HTeUg2g2d1w==} engines: {node: '>=10'} cpu: [arm64] os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-linux-arm@2.31.2: + '@sentry/cli-linux-arm@2.31.2': resolution: {integrity: sha512-W8k5mGYYZz/I/OxZH65YAK7dCkQAl+wbuoASGOQjUy5VDgqH0QJ8kGJufXvFPM+f3ZQGcKAnVsZ6tFqZXETBAw==} engines: {node: '>=10'} cpu: [arm] os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-linux-i686@2.31.2: + '@sentry/cli-linux-i686@2.31.2': resolution: {integrity: sha512-A64QtzaPi3MYFpZ+Fwmi0mrSyXgeLJ0cWr4jdeTGrzNpeowSteKgd6tRKU+LVq0k5shKE7wdnHk+jXnoajulMA==} engines: {node: '>=10'} cpu: [x86, ia32] os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-linux-x64@2.31.2: + '@sentry/cli-linux-x64@2.31.2': resolution: {integrity: sha512-YL/r+15R4mOEiU3mzn7iFQOeFEUB6KxeKGTTrtpeOGynVUGIdq4nV5rHow5JDbIzOuBS3SpOmcIMluvo1NCh0g==} engines: {node: '>=10'} cpu: [x64] os: [linux, freebsd] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-win32-i686@2.31.2: + '@sentry/cli-win32-i686@2.31.2': resolution: {integrity: sha512-Az/2bmW+TFI059RE0mSBIxTBcoShIclz7BDebmIoCkZ+retrwAzpmBnBCDAHow+Yi43utOow+3/4idGa2OxcLw==} engines: {node: '>=10'} cpu: [x86, ia32] os: [win32] - requiresBuild: true - dev: false - optional: true - /@sentry/cli-win32-x64@2.31.2: + '@sentry/cli-win32-x64@2.31.2': resolution: {integrity: sha512-XIzyRnJu539NhpFa+JYkotzVwv3NrZ/4GfHB/JWA2zReRvsk39jJG8D5HOmm0B9JA63QQT7Dt39RW8g3lkmb6w==} engines: {node: '>=10'} cpu: [x64] os: [win32] - requiresBuild: true - dev: false - optional: true - /@sentry/cli@2.31.2: + '@sentry/cli@2.31.2': resolution: {integrity: sha512-2aKyUx6La2P+pplL8+2vO67qJ+c1C79KYWAyQBE0JIT5kvKK9JpwtdNoK1F0/2mRpwhhYPADCz3sVIRqmL8cQQ==} engines: {node: '>= 10'} hasBin: true - requiresBuild: true - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - '@sentry/cli-darwin': 2.31.2 - '@sentry/cli-linux-arm': 2.31.2 - '@sentry/cli-linux-arm64': 2.31.2 - '@sentry/cli-linux-i686': 2.31.2 - '@sentry/cli-linux-x64': 2.31.2 - '@sentry/cli-win32-i686': 2.31.2 - '@sentry/cli-win32-x64': 2.31.2 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@sentry/core@7.111.0: + '@sentry/core@7.111.0': resolution: {integrity: sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg==} engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - dev: false - /@sentry/core@7.113.0: + '@sentry/core@7.113.0': resolution: {integrity: sha512-pg75y3C5PG2+ur27A0Re37YTCEnX0liiEU7EOxWDGutH17x3ySwlYqLQmZsFZTSnvzv7t3MGsNZ8nT5O0746YA==} engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - dev: true - /@sentry/esbuild-plugin@2.16.1: + '@sentry/esbuild-plugin@2.16.1': resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} engines: {node: '>= 14'} - dependencies: - '@sentry/bundler-plugin-core': 2.16.1 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: false - /@sentry/integrations@7.113.0: + '@sentry/integrations@7.113.0': resolution: {integrity: sha512-w0sspGBQ+6+V/9bgCkpuM3CGwTYoQEVeTW6iNebFKbtN7MrM3XsGAM9I2cW1jVxFZROqCBPFtd2cs5n0j14aAg==} engines: {node: '>=8'} - dependencies: - '@sentry/core': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - localforage: 1.10.0 - dev: true - /@sentry/node@7.111.0: + '@sentry/node@7.111.0': resolution: {integrity: sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w==} engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.111.0 - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - dev: false - /@sentry/node@7.113.0: + '@sentry/node@7.113.0': resolution: {integrity: sha512-Vam4Ia0I9fhVw8GJOzcLP7MiiHJSKl8L9LzLMMLG3+2/dFnDQOyS7sOfk3GqgpwzqPiusP9vFu7CFSX7EMQbTg==} engines: {node: '>=8'} - dependencies: - '@sentry-internal/tracing': 7.113.0 - '@sentry/core': 7.113.0 - '@sentry/integrations': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - dev: true - /@sentry/profiling-node@7.113.0: + '@sentry/profiling-node@7.113.0': resolution: {integrity: sha512-ABEBLNaFwKIDZHPmvlFPCyrhdKkFRYyGeTijKuQ/fU0q81CCNnh+FJphfJTh9Js1afJ9ShFxk2KZNGzipyo8Zw==} engines: {node: '>=8.0.0'} hasBin: true - requiresBuild: true - dependencies: - detect-libc: 2.0.3 - node-abi: 3.62.0 - dev: true - /@sentry/types@7.111.0: + '@sentry/types@7.111.0': resolution: {integrity: sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g==} engines: {node: '>=8'} - dev: false - /@sentry/types@7.113.0: + '@sentry/types@7.113.0': resolution: {integrity: sha512-PJbTbvkcPu/LuRwwXB1He8m+GjDDLKBtu3lWg5xOZaF5IRdXQU2xwtdXXsjge4PZR00tF7MO7X8ZynTgWbYaew==} engines: {node: '>=8'} - dev: true - /@sentry/utils@7.111.0: + '@sentry/utils@7.111.0': resolution: {integrity: sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg==} engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.111.0 - dev: false - /@sentry/utils@7.113.0: + '@sentry/utils@7.113.0': resolution: {integrity: sha512-nzKsErwmze1mmEsbW2AwL2oB+I5v6cDEJY4sdfLekA4qZbYZ8pV5iWza6IRl4XfzGTE1qpkZmEjPU9eyo0yvYw==} engines: {node: '>=8'} - dependencies: - '@sentry/types': 7.113.0 - dev: true - /@sinclair/typebox@0.27.8: + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true - /@types/debug@4.1.12: + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - dependencies: - '@types/ms': 0.7.34 - dev: false - /@types/estree@1.0.5: + '@types/estree@1.0.5': resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - dev: true - /@types/json-schema@7.0.15: + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true - /@types/ms@0.7.34: + '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - dev: false - /@types/node@20.12.11: + '@types/node@20.12.11': resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} - dependencies: - undici-types: 5.26.5 - /@types/pg@8.11.6: + '@types/pg@8.11.6': resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - dependencies: - '@types/node': 20.12.11 - pg-protocol: 1.6.1 - pg-types: 4.0.2 - /@types/semver@7.5.8: + '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true - /@types/validator@13.11.9: + '@types/validator@13.11.9': resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==} - dev: false - /@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5): + '@typescript-eslint/eslint-plugin@7.8.0': resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1592,26 +1037,8 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - eslint: 9.2.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.1 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5): + '@typescript-eslint/parser@7.8.0': resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1620,27 +1047,12 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - eslint: 9.2.0 - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/scope-manager@7.8.0: + '@typescript-eslint/scope-manager@7.8.0': resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 - dev: true - /@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5): + '@typescript-eslint/type-utils@7.8.0': resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1649,23 +1061,12 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - debug: 4.3.4 - eslint: 9.2.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/types@7.8.0: + '@typescript-eslint/types@7.8.0': resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} engines: {node: ^18.18.0 || >=20.0.0} - dev: true - /@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5): + '@typescript-eslint/typescript-estree@7.8.0': resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: @@ -1673,484 +1074,256 @@ packages: peerDependenciesMeta: typescript: optional: true - dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.1 - ts-api-utils: 1.3.0(typescript@5.4.5) - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5): + '@typescript-eslint/utils@7.8.0': resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - eslint: 9.2.0 - semver: 7.6.1 - transitivePeerDependencies: - - supports-color - - typescript - dev: true - /@typescript-eslint/visitor-keys@7.8.0: + '@typescript-eslint/visitor-keys@7.8.0': resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} engines: {node: ^18.18.0 || >=20.0.0} - dependencies: - '@typescript-eslint/types': 7.8.0 - eslint-visitor-keys: 3.4.3 - dev: true - /@vitest/coverage-v8@1.6.0(vitest@1.6.0): + '@vitest/coverage-v8@1.6.0': resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} peerDependencies: vitest: 1.6.0 - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.10 - magicast: 0.3.4 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.11) - transitivePeerDependencies: - - supports-color - dev: true - /@vitest/expect@1.6.0: + '@vitest/expect@1.6.0': resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - dependencies: - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - chai: 4.4.1 - dev: true - /@vitest/runner@1.6.0: + '@vitest/runner@1.6.0': resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - dependencies: - '@vitest/utils': 1.6.0 - p-limit: 5.0.0 - pathe: 1.1.2 - dev: true - /@vitest/snapshot@1.6.0: + '@vitest/snapshot@1.6.0': resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - dependencies: - magic-string: 0.30.10 - pathe: 1.1.2 - pretty-format: 29.7.0 - dev: true - /@vitest/spy@1.6.0: + '@vitest/spy@1.6.0': resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - dependencies: - tinyspy: 2.2.1 - dev: true - /@vitest/utils@1.6.0: + '@vitest/utils@1.6.0': resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - dev: true - /abort-controller@3.0.0: + abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} - dependencies: - event-target-shim: 5.0.1 - dev: false - /abstract-logging@2.0.1: + abstract-logging@2.0.1: resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - dev: false - /acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - dependencies: - acorn: 8.11.3 - dev: true - /acorn-walk@8.3.2: + acorn-walk@8.3.2: resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} engines: {node: '>=0.4.0'} - dev: true - /acorn@8.11.3: + acorn@8.11.3: resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} engines: {node: '>=0.4.0'} hasBin: true - /agent-base@6.0.2: + agent-base@6.0.2: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - dev: false - /ajv-formats@2.1.1(ajv@8.12.0): + ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.12.0 - dev: false - /ajv-formats@3.0.1(ajv@8.13.0): + ajv-formats@3.0.1: resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true - dependencies: - ajv: 8.13.0 - dev: false - /ajv@6.12.6: + ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - dev: true - /ajv@8.12.0: + ajv@8.12.0: resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - /ajv@8.13.0: + ajv@8.13.0: resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - dev: false - /ansi-regex@5.0.1: + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} - dev: true - /ansi-styles@3.2.1: + ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} - dependencies: - color-convert: 1.9.3 - dev: false - /ansi-styles@4.3.0: + ansi-styles@4.3.0: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} - dependencies: - color-convert: 2.0.1 - dev: true - /ansi-styles@5.2.0: + ansi-styles@5.2.0: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} - dev: true - /ansi-styles@6.2.1: + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} - dev: true - /anymatch@3.1.3: + anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - dev: false - /archy@1.0.0: + archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - dev: false - /argparse@2.0.1: + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true - /array-union@2.1.0: + array-union@2.1.0: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} - dev: true - /assertion-error@1.1.0: + assertion-error@1.1.0: resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true - /atomic-sleep@1.0.0: + atomic-sleep@1.0.0: resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} engines: {node: '>=8.0.0'} - dev: false - /avvio@8.3.0: + avvio@8.3.0: resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - dev: false - /balanced-match@1.0.2: + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - /base64-js@1.5.1: + base64-js@1.5.1: resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: false - /binary-extensions@2.3.0: + binary-extensions@2.3.0: resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} engines: {node: '>=8'} - dev: false - /boolean@3.2.0: + boolean@3.2.0: resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - dev: false - /brace-expansion@1.1.11: + brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: + brace-expansion@2.0.1: resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - dependencies: - balanced-match: 1.0.2 - /braces@3.0.2: + braces@3.0.2: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} - dependencies: - fill-range: 7.0.1 - /browserslist@4.23.0: + browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true - dependencies: - caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.759 - node-releases: 2.0.14 - update-browserslist-db: 1.0.15(browserslist@4.23.0) - dev: false - /buffer-from@1.1.2: + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true - /buffer@6.0.3: + buffer@6.0.3: resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - dev: false - /cac@6.7.14: + cac@6.7.14: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} - dev: true - /callsites@3.1.0: + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} - dev: true - /camelcase@7.0.1: + camelcase@7.0.1: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - dev: true - /caniuse-lite@1.0.30001616: + caniuse-lite@1.0.30001616: resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} - dev: false - /chai@4.4.1: + chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} engines: {node: '>=4'} - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - dev: true - /chalk@2.4.2: + chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - dev: false - /chalk@4.1.2: + chalk@4.1.2: resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} engines: {node: '>=10'} - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - dev: true - /chalk@5.3.0: + chalk@5.3.0: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true - /check-error@1.0.3: + check-error@1.0.3: resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - dependencies: - get-func-name: 2.0.2 - dev: true - /chokidar@3.6.0: + chokidar@3.6.0: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} engines: {node: '>= 8.10.0'} - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - dev: false - /cli-color@2.0.4: + cli-color@2.0.4: resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} engines: {node: '>=0.10'} - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.15 - timers-ext: 0.1.7 - dev: true - /color-convert@1.9.3: + color-convert@1.9.3: resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - dependencies: - color-name: 1.1.3 - dev: false - /color-convert@2.0.1: + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} - dependencies: - color-name: 1.1.4 - dev: true - /color-name@1.1.3: + color-name@1.1.3: resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: false - /color-name@1.1.4: + color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - dev: true - /colorette@2.0.20: + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: false - /commander@9.5.0: + commander@9.5.0: resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} engines: {node: ^12.20.0 || >=14} - dev: true - /concat-map@0.0.1: + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true - /confbox@0.1.7: + confbox@0.1.7: resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - dev: true - /convert-source-map@2.0.0: + convert-source-map@2.0.0: resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: false - /cookie@0.6.0: + cookie@0.6.0: resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} engines: {node: '>= 0.6'} - dev: false - /copy-anything@3.0.5: + copy-anything@3.0.5: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} - dependencies: - is-what: 4.1.16 - dev: true - /cross-spawn@7.0.3: + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - dev: true - /d@1.0.2: + d@1.0.2: resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} engines: {node: '>=0.12'} - dependencies: - es5-ext: 0.10.64 - type: 2.7.2 - dev: true - /dateformat@4.6.3: + dateformat@4.6.3: resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - dev: false - /debug@4.3.4: + debug@4.3.4: resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} peerDependencies: @@ -2158,90 +1331,49 @@ packages: peerDependenciesMeta: supports-color: optional: true - dependencies: - ms: 2.1.2 - /deep-eql@4.1.3: + deep-eql@4.1.3: resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} engines: {node: '>=6'} - dependencies: - type-detect: 4.0.8 - dev: true - /deep-is@0.1.4: + deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true - /depd@2.0.0: + depd@2.0.0: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - dev: false - /detect-libc@2.0.3: + detect-libc@2.0.3: resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} engines: {node: '>=8'} - dev: true - /diff-sequences@29.6.3: + diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true - /difflib@0.2.4: + difflib@0.2.4: resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} - dependencies: - heap: 0.2.7 - dev: true - /dir-glob@3.0.1: + dir-glob@3.0.1: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} - dependencies: - path-type: 4.0.0 - dev: true - /dotenv@16.4.5: + dotenv@16.4.5: resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} engines: {node: '>=12'} - dev: false - /dottie@2.0.6: + dottie@2.0.6: resolution: {integrity: sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==} - dev: false - /dreamopt@0.8.0: + dreamopt@0.8.0: resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} engines: {node: '>=0.4.0'} - dependencies: - wordwrap: 1.0.0 - dev: true - /drizzle-kit@0.20.18: + drizzle-kit@0.20.18: resolution: {integrity: sha512-fLTwcnLqtBxGd+51H/dEm9TC0FW6+cIX/RVPyNcitBO77X9+nkogEfMAJebpd/8Yl4KucmePHRYRWWvUlW0rqg==} hasBin: true - dependencies: - '@esbuild-kit/esm-loader': 2.6.5 - '@hono/node-server': 1.11.1 - '@hono/zod-validator': 0.2.1(hono@4.3.3)(zod@3.23.8) - camelcase: 7.0.1 - chalk: 5.3.0 - commander: 9.5.0 - env-paths: 3.0.0 - esbuild: 0.19.12 - esbuild-register: 3.5.0(esbuild@0.19.12) - glob: 8.1.0 - hanji: 0.0.5 - hono: 4.3.3 - json-diff: 0.9.0 - minimatch: 7.4.6 - semver: 7.6.1 - superjson: 2.2.1 - zod: 3.23.8 - transitivePeerDependencies: - - supports-color - dev: true - /drizzle-orm@0.30.10(@types/pg@8.11.6)(pg@8.11.5): + drizzle-orm@0.30.10: resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} peerDependencies: '@aws-sdk/client-rds-data': '>=3' @@ -2320,78 +1452,2508 @@ packages: optional: true sqlite3: optional: true + + electron-to-chromium@1.4.759: + resolution: {integrity: sha512-qZJc+zsuI+/5UjOSFnpkJBwwLMH1AZgyKqJ7LUNnRsB7v/cDjMu9DvXgp9kH6PTTZxjnPXGp2Uhurw+2Ll4Hjg==} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + env-paths@3.0.0: + resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + es5-ext@0.10.64: + resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} + engines: {node: '>=0.10'} + + es6-iterator@2.0.3: + resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + + es6-symbol@3.1.4: + resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} + engines: {node: '>=0.12'} + + es6-weak-map@2.0.3: + resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + + esbuild-register@3.5.0: + resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} + peerDependencies: + esbuild: '>=0.12 <1' + + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-plugin-prettier@5.1.3: + resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + '@types/eslint': '>=8.0.0' + eslint: '>=8.0.0' + eslint-config-prettier: '*' + prettier: '>=3.0.0' + peerDependenciesMeta: + '@types/eslint': + optional: true + eslint-config-prettier: + optional: true + + eslint-scope@8.0.1: + resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@4.0.0: + resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.2.0: + resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + hasBin: true + + esniff@2.0.1: + resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} + engines: {node: '>=0.10'} + + espree@10.0.1: + resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + estree-walker@3.0.3: + resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + event-emitter@0.3.5: + resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + + event-target-shim@5.0.1: + resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} + engines: {node: '>=6'} + + events@3.3.0: + resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} + engines: {node: '>=0.8.x'} + + execa@8.0.1: + resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} + engines: {node: '>=16.17'} + + ext@1.7.0: + resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + + fast-content-type-parse@1.1.0: + resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} + + fast-copy@3.0.2: + resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-diff@1.3.0: + resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-json-stringify@5.12.0: + resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + + fast-json-stringify@5.15.0: + resolution: {integrity: sha512-BUEAAyDKb64u+kmkINYfXUUiKjBKerSmVu/dzotfaWSHBxR44JFrOZgkhMO6VxDhDfiuAoi8mx4drd5nvNdA4Q==} + + fast-json-stringify@5.15.1: + resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-printf@1.6.9: + resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} + engines: {node: '>=10.0'} + + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-redact@3.5.0: + resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} + engines: {node: '>=6'} + + fast-safe-stringify@2.1.1: + resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} + + fast-uri@2.3.0: + resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} + + fastify-plugin@4.5.1: + resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} + + fastify@4.26.2: + resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + + fastify@4.27.0: + resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + find-my-way@8.2.0: + resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} + engines: {node: '>=14'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-stack-trace@3.1.1: + resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} + engines: {node: '>=18.0'} + + get-stream@8.0.1: + resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} + engines: {node: '>=16'} + + get-tsconfig@4.7.4: + resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + glob@9.3.5: + resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} + engines: {node: '>=16 || 14 >=14.17'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + hanji@0.0.5: + resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + help-me@5.0.0: + resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} + + hono@4.3.3: + resolution: {integrity: sha512-LDa1n/aLYK4CsZQyjQpFiaQgxiXCZp0WfcfliinQOH1Lqt4mIOvyw4qjmHihpKXsuXhkQHfHU2Erysp6oEdnVA==} + engines: {node: '>=16.0.0'} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + human-signals@5.0.0: + resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} + engines: {node: '>=16.17.0'} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immediate@3.0.6: + resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + inflection@1.13.4: + resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} + engines: {'0': node >= 0.4.0} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-promise@2.2.2: + resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} + + is-stream@3.0.0: + resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + iso8601-duration@1.3.0: + resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.4: + resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-tokens@9.0.0: + resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-diff@0.9.0: + resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} + hasBin: true + + json-parse-even-better-errors@3.0.2: + resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + json-schema-ref-resolver@1.0.1: + resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lie@3.1.1: + resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} + + light-my-request@5.13.0: + resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} + + local-pkg@0.5.0: + resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} + engines: {node: '>=14'} + + localforage@1.10.0: + resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.throttle@4.1.1: + resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-queue@0.1.0: + resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + + magic-string@0.30.10: + resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + + magic-string@0.30.8: + resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} + engines: {node: '>=12'} + + magicast@0.3.4: + resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memoizee@0.4.15: + resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mimic-fn@4.0.0: + resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} + engines: {node: '>=12'} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@7.4.6: + resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} + engines: {node: '>=10'} + + minimatch@8.0.4: + resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@4.2.8: + resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} + engines: {node: '>=8'} + + minipass@7.1.0: + resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} + engines: {node: '>=16 || 14 >=14.17'} + + mlly@1.7.0: + resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} + + moment-timezone@0.5.45: + resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} + + moment@2.30.1: + resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + next-tick@1.1.0: + resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} + + node-abi@3.62.0: + resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} + engines: {node: '>=10'} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-normalize-package-bin@3.0.1: + resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + npm-run-all2@6.1.2: + resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} + engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} + hasBin: true + + npm-run-path@5.3.0: + resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + on-exit-leak-free@2.1.2: + resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} + engines: {node: '>=14.0.0'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@6.0.0: + resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} + engines: {node: '>=12'} + + optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-limit@5.0.0: + resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} + engines: {node: '>=18'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-key@4.0.0: + resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} + engines: {node: '>=12'} + + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathe@1.1.2: + resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + + pg-cursor@2.10.5: + resolution: {integrity: sha512-wzgmyk+k9mwuYe30ylLA6qRWw2TBFSee4Bw23oTz66YL9RdRJjDi2TaROMMF+V3QB6QWB3FFCju22loDftjKkw==} + peerDependencies: + pg: ^8 + + pg-hstore@2.3.4: + resolution: {integrity: sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==} + engines: {node: '>= 0.8.x'} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + pg-pool@3.6.2: + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + + pg-query-stream@4.5.5: + resolution: {integrity: sha512-mBGxVdiR9O6SdkOcXBoZuxtHUQ0nSFIWcFauGMUteko+9rZcu97vE15JX/w8pdijQ+diLbiw8ijpV/V+VCUUtA==} + peerDependencies: + pg: ^8 + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + + pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pidtree@0.6.0: + resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} + engines: {node: '>=0.10'} + hasBin: true + + pino-abstract-transport@1.2.0: + resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + + pino-pretty@11.0.0: + resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} + hasBin: true + + pino-std-serializers@6.2.2: + resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} + + pino@8.20.0: + resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} + hasBin: true + + pino@8.21.0: + resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} + hasBin: true + + pino@9.0.0: + resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} + hasBin: true + + pkg-types@1.1.0: + resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + postgres-interval@4.0.2: + resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} + engines: {node: '>=12'} + + postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-linter-helpers@1.0.0: + resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} + engines: {node: '>=6.0.0'} + + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + process-warning@3.0.0: + resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + progress@2.0.3: + resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} + engines: {node: '>=0.4.0'} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quick-format-unescaped@4.0.4: + resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} + + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + + read-package-json-fast@3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + readable-stream@4.5.2: + resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + real-require@0.2.0: + resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} + engines: {node: '>= 12.13.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + ret@0.4.3: + resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} + engines: {node: '>=10'} + + retry-as-promised@7.0.4: + resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + roarr@7.21.1: + resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} + engines: {node: '>=18.0'} + + rollup@4.17.2: + resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex2@3.1.0: + resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} + + safe-stable-stringify@2.4.3: + resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + engines: {node: '>=10'} + + secure-json-parse@2.7.0: + resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} + + semver-compare@1.0.0: + resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + semver@7.6.1: + resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} + engines: {node: '>=10'} + hasBin: true + + sequelize-pool@7.1.0: + resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} + engines: {node: '>= 10.0.0'} + + sequelize@6.37.3: + resolution: {integrity: sha512-V2FTqYpdZjPy3VQrZvjTPnOoLm0KudCRXfGWp48QwhyPPp2yW8z0p0sCYZd/em847Tl2dVxJJ1DR+hF+O77T7A==} + engines: {node: '>=10.0.0'} + peerDependencies: + ibm_db: '*' + mariadb: '*' + mysql2: '*' + oracledb: '*' + pg: '*' + pg-hstore: '*' + snowflake-sdk: '*' + sqlite3: '*' + tedious: '*' + peerDependenciesMeta: + ibm_db: + optional: true + mariadb: + optional: true + mysql2: + optional: true + oracledb: + optional: true + pg: + optional: true + pg-hstore: + optional: true + snowflake-sdk: + optional: true + sqlite3: + optional: true + tedious: + optional: true + + serialize-error@8.1.0: + resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} + engines: {node: '>=10'} + + set-cookie-parser@2.6.0: + resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + short-unique-id@5.0.3: + resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} + hasBin: true + + short-unique-id@5.2.0: + resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} + hasBin: true + + siginfo@2.0.0: + resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slonik@40.2.6: + resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} + engines: {node: '>=18'} + peerDependencies: + zod: ^3 + + sonic-boom@3.8.1: + resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + stackback@0.0.2: + resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} + + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + std-env@3.7.0: + resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + + strict-event-emitter-types@2.0.0: + resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-final-newline@3.0.0: + resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} + engines: {node: '>=12'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strip-literal@2.1.0: + resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + + superjson@2.2.1: + resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} + engines: {node: '>=16'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + synckit@0.8.8: + resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} + engines: {node: ^14.18.0 || >=16.0.0} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + thread-stream@2.6.0: + resolution: {integrity: sha512-t4eNiKdGwd1EV6tx76mRbrOqwvkxz+ssOiQXEXw88m4p/Xp6679vg16sf39BAstRjHOiWIqp5+J2ylHk3pU30g==} + + thread-stream@2.7.0: + resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + + timers-ext@0.1.7: + resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + + tinybench@2.8.0: + resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} + + tinypool@0.8.4: + resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} + engines: {node: '>=14.0.0'} + + tinyspy@2.2.1: + resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} + engines: {node: '>=14.0.0'} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + toposort-class@1.0.1: + resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsx@4.9.3: + resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} + engines: {node: '>=18.0.0'} + hasBin: true + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + type@2.7.2: + resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} + + typescript-eslint@7.8.0: + resolution: {integrity: sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==} + engines: {node: ^18.18.0 || >=20.0.0} + peerDependencies: + eslint: ^8.56.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + ufo@1.5.3: + resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} + + underscore@1.13.6: + resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + unplugin@1.0.1: + resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + + update-browserslist-db@1.0.15: + resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + validator@13.11.0: + resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} + engines: {node: '>= 0.10'} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + + vite@5.2.11: + resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + + vitest@1.6.0: + resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@edge-runtime/vm': '*' + '@types/node': ^18.0.0 || >=20.0.0 + '@vitest/browser': 1.6.0 + '@vitest/ui': 1.6.0 + happy-dom: '*' + jsdom: '*' + peerDependenciesMeta: + '@edge-runtime/vm': + optional: true + '@types/node': + optional: true + '@vitest/browser': + optional: true + '@vitest/ui': + optional: true + happy-dom: + optional: true + jsdom: + optional: true + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + webpack-sources@3.2.3: + resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} + engines: {node: '>=10.13.0'} + + webpack-virtual-modules@0.5.0: + resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + why-is-node-running@2.2.2: + resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} + engines: {node: '>=8'} + hasBin: true + + wkx@0.5.0: + resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yocto-queue@1.0.0: + resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} + engines: {node: '>=12.20'} + + zod@3.22.5: + resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} + + zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + +snapshots: + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.24.2': + dependencies: + '@babel/highlight': 7.24.5 + picocolors: 1.0.0 + + '@babel/compat-data@7.24.4': {} + + '@babel/core@7.24.5': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.24.5': + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + + '@babel/helper-compilation-targets@7.23.6': + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-environment-visitor@7.22.20': {} + + '@babel/helper-function-name@7.23.0': + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + + '@babel/helper-hoist-variables@7.22.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/helper-module-imports@7.24.3': + dependencies: + '@babel/types': 7.24.5 + + '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)': + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + + '@babel/helper-simple-access@7.24.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/helper-split-export-declaration@7.24.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/helper-string-parser@7.24.1': {} + + '@babel/helper-validator-identifier@7.24.5': {} + + '@babel/helper-validator-option@7.23.5': {} + + '@babel/helpers@7.24.5': + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + transitivePeerDependencies: + - supports-color + + '@babel/highlight@7.24.5': + dependencies: + '@babel/helper-validator-identifier': 7.24.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.0 + + '@babel/parser@7.24.5': + dependencies: + '@babel/types': 7.24.5 + + '@babel/template@7.24.0': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + + '@babel/traverse@7.24.5': + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.24.5': + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + + '@bcoe/v8-coverage@0.2.3': {} + + '@esbuild-kit/core-utils@3.3.2': + dependencies: + esbuild: 0.18.20 + source-map-support: 0.5.21 + + '@esbuild-kit/esm-loader@2.6.5': + dependencies: + '@esbuild-kit/core-utils': 3.3.2 + get-tsconfig: 4.7.4 + + '@esbuild/aix-ppc64@0.19.12': + optional: true + + '@esbuild/aix-ppc64@0.20.2': + optional: true + + '@esbuild/android-arm64@0.18.20': + optional: true + + '@esbuild/android-arm64@0.19.12': + optional: true + + '@esbuild/android-arm64@0.20.2': + optional: true + + '@esbuild/android-arm@0.18.20': + optional: true + + '@esbuild/android-arm@0.19.12': + optional: true + + '@esbuild/android-arm@0.20.2': + optional: true + + '@esbuild/android-x64@0.18.20': + optional: true + + '@esbuild/android-x64@0.19.12': + optional: true + + '@esbuild/android-x64@0.20.2': + optional: true + + '@esbuild/darwin-arm64@0.18.20': + optional: true + + '@esbuild/darwin-arm64@0.19.12': + optional: true + + '@esbuild/darwin-arm64@0.20.2': + optional: true + + '@esbuild/darwin-x64@0.18.20': + optional: true + + '@esbuild/darwin-x64@0.19.12': + optional: true + + '@esbuild/darwin-x64@0.20.2': + optional: true + + '@esbuild/freebsd-arm64@0.18.20': + optional: true + + '@esbuild/freebsd-arm64@0.19.12': + optional: true + + '@esbuild/freebsd-arm64@0.20.2': + optional: true + + '@esbuild/freebsd-x64@0.18.20': + optional: true + + '@esbuild/freebsd-x64@0.19.12': + optional: true + + '@esbuild/freebsd-x64@0.20.2': + optional: true + + '@esbuild/linux-arm64@0.18.20': + optional: true + + '@esbuild/linux-arm64@0.19.12': + optional: true + + '@esbuild/linux-arm64@0.20.2': + optional: true + + '@esbuild/linux-arm@0.18.20': + optional: true + + '@esbuild/linux-arm@0.19.12': + optional: true + + '@esbuild/linux-arm@0.20.2': + optional: true + + '@esbuild/linux-ia32@0.18.20': + optional: true + + '@esbuild/linux-ia32@0.19.12': + optional: true + + '@esbuild/linux-ia32@0.20.2': + optional: true + + '@esbuild/linux-loong64@0.18.20': + optional: true + + '@esbuild/linux-loong64@0.19.12': + optional: true + + '@esbuild/linux-loong64@0.20.2': + optional: true + + '@esbuild/linux-mips64el@0.18.20': + optional: true + + '@esbuild/linux-mips64el@0.19.12': + optional: true + + '@esbuild/linux-mips64el@0.20.2': + optional: true + + '@esbuild/linux-ppc64@0.18.20': + optional: true + + '@esbuild/linux-ppc64@0.19.12': + optional: true + + '@esbuild/linux-ppc64@0.20.2': + optional: true + + '@esbuild/linux-riscv64@0.18.20': + optional: true + + '@esbuild/linux-riscv64@0.19.12': + optional: true + + '@esbuild/linux-riscv64@0.20.2': + optional: true + + '@esbuild/linux-s390x@0.18.20': + optional: true + + '@esbuild/linux-s390x@0.19.12': + optional: true + + '@esbuild/linux-s390x@0.20.2': + optional: true + + '@esbuild/linux-x64@0.18.20': + optional: true + + '@esbuild/linux-x64@0.19.12': + optional: true + + '@esbuild/linux-x64@0.20.2': + optional: true + + '@esbuild/netbsd-x64@0.18.20': + optional: true + + '@esbuild/netbsd-x64@0.19.12': + optional: true + + '@esbuild/netbsd-x64@0.20.2': + optional: true + + '@esbuild/openbsd-x64@0.18.20': + optional: true + + '@esbuild/openbsd-x64@0.19.12': + optional: true + + '@esbuild/openbsd-x64@0.20.2': + optional: true + + '@esbuild/sunos-x64@0.18.20': + optional: true + + '@esbuild/sunos-x64@0.19.12': + optional: true + + '@esbuild/sunos-x64@0.20.2': + optional: true + + '@esbuild/win32-arm64@0.18.20': + optional: true + + '@esbuild/win32-arm64@0.19.12': + optional: true + + '@esbuild/win32-arm64@0.20.2': + optional: true + + '@esbuild/win32-ia32@0.18.20': + optional: true + + '@esbuild/win32-ia32@0.19.12': + optional: true + + '@esbuild/win32-ia32@0.20.2': + optional: true + + '@esbuild/win32-x64@0.18.20': + optional: true + + '@esbuild/win32-x64@0.19.12': + optional: true + + '@esbuild/win32-x64@0.20.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': + dependencies: + eslint: 9.2.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/regexpp@4.10.0': {} + + '@eslint/eslintrc@3.0.2': + dependencies: + ajv: 6.12.6 + debug: 4.3.4 + espree: 10.0.1 + globals: 14.0.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + + '@eslint/js@9.2.0': {} + + '@fastify/ajv-compiler@3.5.0': + dependencies: + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) + fast-uri: 2.3.0 + + '@fastify/error@3.4.1': {} + + '@fastify/fast-json-stringify-compiler@4.3.0': + dependencies: + fast-json-stringify: 5.12.0 + + '@fastify/merge-json-schemas@0.1.1': + dependencies: + fast-deep-equal: 3.1.3 + + '@fastify/sensible@5.5.0': + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + + '@fastify/sensible@5.6.0': + dependencies: + '@lukeed/ms': 2.0.2 + fast-deep-equal: 3.1.3 + fastify-plugin: 4.5.1 + forwarded: 0.2.0 + http-errors: 2.0.0 + type-is: 1.6.18 + vary: 1.1.2 + + '@hono/node-server@1.11.1': {} + + '@hono/zod-validator@0.2.1(hono@4.3.3)(zod@3.23.8)': + dependencies: + hono: 4.3.3 + zod: 3.23.8 + + '@humanwhocodes/config-array@0.13.0': + dependencies: + '@humanwhocodes/object-schema': 2.0.3 + debug: 4.3.4 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@humanwhocodes/module-importer@1.0.1': {} + + '@humanwhocodes/object-schema@2.0.3': {} + + '@humanwhocodes/retry@0.2.4': {} + + '@istanbuljs/schema@0.1.3': {} + + '@jest/schemas@29.6.3': + dependencies: + '@sinclair/typebox': 0.27.8 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.4.15': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + + '@lukeed/ms@2.0.2': {} + + '@nodelib/fs.scandir@2.1.5': + dependencies: + '@nodelib/fs.stat': 2.0.5 + run-parallel: 1.2.0 + + '@nodelib/fs.stat@2.0.5': {} + + '@nodelib/fs.walk@1.2.8': + dependencies: + '@nodelib/fs.scandir': 2.1.5 + fastq: 1.17.1 + + '@pkgr/core@0.1.1': {} + + '@rollup/rollup-android-arm-eabi@4.17.2': + optional: true + + '@rollup/rollup-android-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-arm64@4.17.2': + optional: true + + '@rollup/rollup-darwin-x64@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-gnueabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm-musleabihf@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-arm64-musl@4.17.2': + optional: true + + '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-riscv64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-s390x-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-gnu@4.17.2': + optional: true + + '@rollup/rollup-linux-x64-musl@4.17.2': + optional: true + + '@rollup/rollup-win32-arm64-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-ia32-msvc@4.17.2': + optional: true + + '@rollup/rollup-win32-x64-msvc@4.17.2': + optional: true + + '@sentry-internal/tracing@7.111.0': + dependencies: + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + + '@sentry-internal/tracing@7.113.0': + dependencies: + '@sentry/core': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + + '@sentry/babel-plugin-component-annotate@2.16.1': {} + + '@sentry/bundler-plugin-core@2.16.1': + dependencies: + '@babel/core': 7.24.5 + '@sentry/babel-plugin-component-annotate': 2.16.1 + '@sentry/cli': 2.31.2 + dotenv: 16.4.5 + find-up: 5.0.0 + glob: 9.3.5 + magic-string: 0.30.8 + unplugin: 1.0.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@sentry/cli-darwin@2.31.2': + optional: true + + '@sentry/cli-linux-arm64@2.31.2': + optional: true + + '@sentry/cli-linux-arm@2.31.2': + optional: true + + '@sentry/cli-linux-i686@2.31.2': + optional: true + + '@sentry/cli-linux-x64@2.31.2': + optional: true + + '@sentry/cli-win32-i686@2.31.2': + optional: true + + '@sentry/cli-win32-x64@2.31.2': + optional: true + + '@sentry/cli@2.31.2': + dependencies: + https-proxy-agent: 5.0.1 + node-fetch: 2.7.0 + progress: 2.0.3 + proxy-from-env: 1.1.0 + which: 2.0.2 + optionalDependencies: + '@sentry/cli-darwin': 2.31.2 + '@sentry/cli-linux-arm': 2.31.2 + '@sentry/cli-linux-arm64': 2.31.2 + '@sentry/cli-linux-i686': 2.31.2 + '@sentry/cli-linux-x64': 2.31.2 + '@sentry/cli-win32-i686': 2.31.2 + '@sentry/cli-win32-x64': 2.31.2 + transitivePeerDependencies: + - encoding + - supports-color + + '@sentry/core@7.111.0': + dependencies: + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + + '@sentry/core@7.113.0': + dependencies: + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + + '@sentry/esbuild-plugin@2.16.1': + dependencies: + '@sentry/bundler-plugin-core': 2.16.1 + unplugin: 1.0.1 + uuid: 9.0.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@sentry/integrations@7.113.0': + dependencies: + '@sentry/core': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + localforage: 1.10.0 + + '@sentry/node@7.111.0': + dependencies: + '@sentry-internal/tracing': 7.111.0 + '@sentry/core': 7.111.0 + '@sentry/types': 7.111.0 + '@sentry/utils': 7.111.0 + + '@sentry/node@7.113.0': + dependencies: + '@sentry-internal/tracing': 7.113.0 + '@sentry/core': 7.113.0 + '@sentry/integrations': 7.113.0 + '@sentry/types': 7.113.0 + '@sentry/utils': 7.113.0 + + '@sentry/profiling-node@7.113.0': + dependencies: + detect-libc: 2.0.3 + node-abi: 3.62.0 + + '@sentry/types@7.111.0': {} + + '@sentry/types@7.113.0': {} + + '@sentry/utils@7.111.0': + dependencies: + '@sentry/types': 7.111.0 + + '@sentry/utils@7.113.0': + dependencies: + '@sentry/types': 7.113.0 + + '@sinclair/typebox@0.27.8': {} + + '@types/debug@4.1.12': + dependencies: + '@types/ms': 0.7.34 + + '@types/estree@1.0.5': {} + + '@types/json-schema@7.0.15': {} + + '@types/ms@0.7.34': {} + + '@types/node@20.12.11': + dependencies: + undici-types: 5.26.5 + + '@types/pg@8.11.6': + dependencies: + '@types/node': 20.12.11 + pg-protocol: 1.6.1 + pg-types: 4.0.2 + + '@types/semver@7.5.8': {} + + '@types/validator@13.11.9': {} + + '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + eslint: 9.2.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + semver: 7.6.1 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + eslint: 9.2.0 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/scope-manager@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + + '@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) + debug: 4.3.4 + eslint: 9.2.0 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/types@7.8.0': {} + + '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/visitor-keys': 7.8.0 + debug: 4.3.4 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.1 + ts-api-utils: 1.3.0(typescript@5.4.5) + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) + '@types/json-schema': 7.0.15 + '@types/semver': 7.5.8 + '@typescript-eslint/scope-manager': 7.8.0 + '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) + eslint: 9.2.0 + semver: 7.6.1 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/visitor-keys@7.8.0': + dependencies: + '@typescript-eslint/types': 7.8.0 + eslint-visitor-keys: 3.4.3 + + '@vitest/coverage-v8@1.6.0(vitest@1.6.0)': + dependencies: + '@ampproject/remapping': 2.3.0 + '@bcoe/v8-coverage': 0.2.3 + debug: 4.3.4 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.4 + istanbul-reports: 3.1.7 + magic-string: 0.30.10 + magicast: 0.3.4 + picocolors: 1.0.0 + std-env: 3.7.0 + strip-literal: 2.1.0 + test-exclude: 6.0.0 + vitest: 1.6.0(@types/node@20.12.11) + transitivePeerDependencies: + - supports-color + + '@vitest/expect@1.6.0': + dependencies: + '@vitest/spy': 1.6.0 + '@vitest/utils': 1.6.0 + chai: 4.4.1 + + '@vitest/runner@1.6.0': + dependencies: + '@vitest/utils': 1.6.0 + p-limit: 5.0.0 + pathe: 1.1.2 + + '@vitest/snapshot@1.6.0': + dependencies: + magic-string: 0.30.10 + pathe: 1.1.2 + pretty-format: 29.7.0 + + '@vitest/spy@1.6.0': + dependencies: + tinyspy: 2.2.1 + + '@vitest/utils@1.6.0': + dependencies: + diff-sequences: 29.6.3 + estree-walker: 3.0.3 + loupe: 2.3.7 + pretty-format: 29.7.0 + + abort-controller@3.0.0: + dependencies: + event-target-shim: 5.0.1 + + abstract-logging@2.0.1: {} + + acorn-jsx@5.3.2(acorn@8.11.3): + dependencies: + acorn: 8.11.3 + + acorn-walk@8.3.2: {} + + acorn@8.11.3: {} + + agent-base@6.0.2: + dependencies: + debug: 4.3.4 + transitivePeerDependencies: + - supports-color + + ajv-formats@2.1.1(ajv@8.12.0): + dependencies: + ajv: 8.12.0 + + ajv-formats@3.0.1(ajv@8.13.0): + dependencies: + ajv: 8.13.0 + + ajv@6.12.6: + dependencies: + fast-deep-equal: 3.1.3 + fast-json-stable-stringify: 2.1.0 + json-schema-traverse: 0.4.1 + uri-js: 4.4.1 + + ajv@8.12.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ajv@8.13.0: + dependencies: + fast-deep-equal: 3.1.3 + json-schema-traverse: 1.0.0 + require-from-string: 2.0.2 + uri-js: 4.4.1 + + ansi-regex@5.0.1: {} + + ansi-styles@3.2.1: + dependencies: + color-convert: 1.9.3 + + ansi-styles@4.3.0: + dependencies: + color-convert: 2.0.1 + + ansi-styles@5.2.0: {} + + ansi-styles@6.2.1: {} + + anymatch@3.1.3: + dependencies: + normalize-path: 3.0.0 + picomatch: 2.3.1 + + archy@1.0.0: {} + + argparse@2.0.1: {} + + array-union@2.1.0: {} + + assertion-error@1.1.0: {} + + atomic-sleep@1.0.0: {} + + avvio@8.3.0: + dependencies: + '@fastify/error': 3.4.1 + archy: 1.0.0 + debug: 4.3.4 + fastq: 1.17.1 + transitivePeerDependencies: + - supports-color + + balanced-match@1.0.2: {} + + base64-js@1.5.1: {} + + binary-extensions@2.3.0: {} + + boolean@3.2.0: {} + + brace-expansion@1.1.11: + dependencies: + balanced-match: 1.0.2 + concat-map: 0.0.1 + + brace-expansion@2.0.1: + dependencies: + balanced-match: 1.0.2 + + braces@3.0.2: + dependencies: + fill-range: 7.0.1 + + browserslist@4.23.0: + dependencies: + caniuse-lite: 1.0.30001616 + electron-to-chromium: 1.4.759 + node-releases: 2.0.14 + update-browserslist-db: 1.0.15(browserslist@4.23.0) + + buffer-from@1.1.2: {} + + buffer@6.0.3: + dependencies: + base64-js: 1.5.1 + ieee754: 1.2.1 + + cac@6.7.14: {} + + callsites@3.1.0: {} + + camelcase@7.0.1: {} + + caniuse-lite@1.0.30001616: {} + + chai@4.4.1: + dependencies: + assertion-error: 1.1.0 + check-error: 1.0.3 + deep-eql: 4.1.3 + get-func-name: 2.0.2 + loupe: 2.3.7 + pathval: 1.1.1 + type-detect: 4.0.8 + + chalk@2.4.2: + dependencies: + ansi-styles: 3.2.1 + escape-string-regexp: 1.0.5 + supports-color: 5.5.0 + + chalk@4.1.2: + dependencies: + ansi-styles: 4.3.0 + supports-color: 7.2.0 + + chalk@5.3.0: {} + + check-error@1.0.3: + dependencies: + get-func-name: 2.0.2 + + chokidar@3.6.0: + dependencies: + anymatch: 3.1.3 + braces: 3.0.2 + glob-parent: 5.1.2 + is-binary-path: 2.1.0 + is-glob: 4.0.3 + normalize-path: 3.0.0 + readdirp: 3.6.0 + optionalDependencies: + fsevents: 2.3.3 + + cli-color@2.0.4: + dependencies: + d: 1.0.2 + es5-ext: 0.10.64 + es6-iterator: 2.0.3 + memoizee: 0.4.15 + timers-ext: 0.1.7 + + color-convert@1.9.3: + dependencies: + color-name: 1.1.3 + + color-convert@2.0.1: + dependencies: + color-name: 1.1.4 + + color-name@1.1.3: {} + + color-name@1.1.4: {} + + colorette@2.0.20: {} + + commander@9.5.0: {} + + concat-map@0.0.1: {} + + confbox@0.1.7: {} + + convert-source-map@2.0.0: {} + + cookie@0.6.0: {} + + copy-anything@3.0.5: + dependencies: + is-what: 4.1.16 + + cross-spawn@7.0.3: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + + d@1.0.2: + dependencies: + es5-ext: 0.10.64 + type: 2.7.2 + + dateformat@4.6.3: {} + + debug@4.3.4: + dependencies: + ms: 2.1.2 + + deep-eql@4.1.3: + dependencies: + type-detect: 4.0.8 + + deep-is@0.1.4: {} + + depd@2.0.0: {} + + detect-libc@2.0.3: {} + + diff-sequences@29.6.3: {} + + difflib@0.2.4: + dependencies: + heap: 0.2.7 + + dir-glob@3.0.1: + dependencies: + path-type: 4.0.0 + + dotenv@16.4.5: {} + + dottie@2.0.6: {} + + dreamopt@0.8.0: + dependencies: + wordwrap: 1.0.0 + + drizzle-kit@0.20.18: + dependencies: + '@esbuild-kit/esm-loader': 2.6.5 + '@hono/node-server': 1.11.1 + '@hono/zod-validator': 0.2.1(hono@4.3.3)(zod@3.23.8) + camelcase: 7.0.1 + chalk: 5.3.0 + commander: 9.5.0 + env-paths: 3.0.0 + esbuild: 0.19.12 + esbuild-register: 3.5.0(esbuild@0.19.12) + glob: 8.1.0 + hanji: 0.0.5 + hono: 4.3.3 + json-diff: 0.9.0 + minimatch: 7.4.6 + semver: 7.6.1 + superjson: 2.2.1 + zod: 3.23.8 + transitivePeerDependencies: + - supports-color + + drizzle-orm@0.30.10(@types/pg@8.11.6)(pg@8.11.5): dependencies: '@types/pg': 8.11.6 pg: 8.11.5 - dev: false - /electron-to-chromium@1.4.759: - resolution: {integrity: sha512-qZJc+zsuI+/5UjOSFnpkJBwwLMH1AZgyKqJ7LUNnRsB7v/cDjMu9DvXgp9kH6PTTZxjnPXGp2Uhurw+2Ll4Hjg==} - dev: false + electron-to-chromium@1.4.759: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - dev: false - /env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + env-paths@3.0.0: {} - /es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - requiresBuild: true + es5-ext@0.10.64: dependencies: es6-iterator: 2.0.3 es6-symbol: 3.1.4 esniff: 2.0.1 next-tick: 1.1.0 - dev: true - /es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} + es6-iterator@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-symbol: 3.1.4 - dev: true - /es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} + es6-symbol@3.1.4: dependencies: d: 1.0.2 ext: 1.7.0 - dev: true - /es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} + es6-weak-map@2.0.3: dependencies: d: 1.0.2 es5-ext: 0.10.64 es6-iterator: 2.0.3 es6-symbol: 3.1.4 - dev: true - /esbuild-register@3.5.0(esbuild@0.19.12): - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} - peerDependencies: - esbuild: '>=0.12 <1' + esbuild-register@3.5.0(esbuild@0.19.12): dependencies: debug: 4.3.4 esbuild: 0.19.12 transitivePeerDependencies: - supports-color - dev: true - /esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.20: optionalDependencies: '@esbuild/android-arm': 0.18.20 '@esbuild/android-arm64': 0.18.20 @@ -2415,13 +3977,8 @@ packages: '@esbuild/win32-arm64': 0.18.20 '@esbuild/win32-ia32': 0.18.20 '@esbuild/win32-x64': 0.18.20 - dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.19.12: optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 '@esbuild/android-arm': 0.19.12 @@ -2446,13 +4003,8 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -2478,73 +4030,34 @@ packages: '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: false + escalade@3.1.2: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: false + escape-string-regexp@1.0.5: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + escape-string-regexp@4.0.0: {} - /eslint-config-prettier@9.1.0(eslint@9.2.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@9.2.0): dependencies: eslint: 9.2.0 - dev: true - /eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5): - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5): dependencies: eslint: 9.2.0 eslint-config-prettier: 9.1.0(eslint@9.2.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 - dev: true - /eslint-scope@8.0.1: - resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + eslint-scope@8.0.1: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true + eslint-visitor-keys@4.0.0: {} - /eslint@9.2.0: - resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true + eslint@9.2.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) '@eslint-community/regexpp': 4.10.0 @@ -2582,77 +4095,46 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} + esniff@2.0.1: dependencies: d: 1.0.2 es5-ext: 0.10.64 event-emitter: 0.3.5 type: 2.7.2 - dev: true - /espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + espree@10.0.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 4.0.0 - dev: true - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} + estree-walker@3.0.3: dependencies: '@types/estree': 1.0.5 - dev: true - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} + event-emitter@0.3.5: dependencies: d: 1.0.2 es5-ext: 0.10.64 - dev: true - /event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - dev: false + event-target-shim@5.0.1: {} - /events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - dev: false + events@3.3.0: {} - /execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} + execa@8.0.1: dependencies: cross-spawn: 7.0.3 get-stream: 8.0.1 @@ -2663,50 +4145,32 @@ packages: onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 - dev: true - /ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} + ext@1.7.0: dependencies: type: 2.7.2 - dev: true - /fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - dev: false + fast-content-type-parse@1.1.0: {} - /fast-copy@3.0.2: - resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} - dev: false + fast-copy@3.0.2: {} - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: false + fast-decode-uri-component@1.0.1: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + fast-deep-equal@3.1.3: {} - /fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - dev: true + fast-diff@1.3.0: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} + fast-json-stringify@5.12.0: dependencies: '@fastify/merge-json-schemas': 0.1.1 ajv: 8.12.0 @@ -2715,10 +4179,8 @@ packages: fast-uri: 2.3.0 json-schema-ref-resolver: 1.0.1 rfdc: 1.3.1 - dev: false - /fast-json-stringify@5.15.0: - resolution: {integrity: sha512-BUEAAyDKb64u+kmkINYfXUUiKjBKerSmVu/dzotfaWSHBxR44JFrOZgkhMO6VxDhDfiuAoi8mx4drd5nvNdA4Q==} + fast-json-stringify@5.15.0: dependencies: '@fastify/merge-json-schemas': 0.1.1 ajv: 8.13.0 @@ -2727,10 +4189,8 @@ packages: fast-uri: 2.3.0 json-schema-ref-resolver: 1.0.1 rfdc: 1.3.1 - dev: false - /fast-json-stringify@5.15.1: - resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==} + fast-json-stringify@5.15.1: dependencies: '@fastify/merge-json-schemas': 0.1.1 ajv: 8.13.0 @@ -2739,44 +4199,26 @@ packages: fast-uri: 2.3.0 json-schema-ref-resolver: 1.0.1 rfdc: 1.3.1 - dev: false - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} + fast-printf@1.6.9: dependencies: boolean: 3.2.0 - dev: false - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - dev: false - /fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - dev: false + fast-redact@3.5.0: {} - /fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - dev: false + fast-safe-stringify@2.1.1: {} - /fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - dev: false + fast-uri@2.3.0: {} - /fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - dev: false + fastify-plugin@4.5.1: {} - /fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} + fastify@4.26.2: dependencies: '@fastify/ajv-compiler': 3.5.0 '@fastify/error': 3.4.1 @@ -2796,10 +4238,8 @@ packages: toad-cache: 3.7.0 transitivePeerDependencies: - supports-color - dev: false - /fastify@4.27.0: - resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} + fastify@4.27.0: dependencies: '@fastify/ajv-compiler': 3.5.0 '@fastify/error': 3.4.1 @@ -2819,110 +4259,67 @@ packages: toad-cache: 3.7.0 transitivePeerDependencies: - supports-color - dev: false - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - /file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} + file-entry-cache@8.0.0: dependencies: flat-cache: 4.0.1 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - /find-my-way@8.2.0: - resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} - engines: {node: '>=14'} + find-my-way@8.2.0: dependencies: fast-deep-equal: 3.1.3 fast-querystring: 1.1.2 safe-regex2: 3.1.0 - dev: false - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - /flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - dev: true - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true + flatted@3.3.1: {} - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: false + forwarded@0.2.0: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + fs.realpath@1.0.0: {} - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true + fsevents@2.3.3: optional: true - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: false + gensync@1.0.0-beta.2: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} + get-stack-trace@3.1.1: dependencies: stacktrace-parser: 0.1.10 - dev: false - /get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - dev: true + get-stream@8.0.1: {} - /get-tsconfig@4.7.4: - resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==} + get-tsconfig@4.7.4: dependencies: resolve-pkg-maps: 1.0.0 - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -2930,42 +4327,27 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.1.6 once: 1.4.0 - dev: true - /glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} + glob@9.3.5: dependencies: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 path-scurry: 1.10.2 - dev: false - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: false + globals@11.12.0: {} - /globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - dev: true + globals@14.0.0: {} - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -2973,391 +4355,223 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /hanji@0.0.5: - resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} + hanji@0.0.5: dependencies: lodash.throttle: 4.1.1 sisteransi: 1.0.5 - dev: true - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: false + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - dev: true + has-flag@4.0.0: {} - /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: true + heap@0.2.7: {} - /help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - dev: false + help-me@5.0.0: {} - /hono@4.3.3: - resolution: {integrity: sha512-LDa1n/aLYK4CsZQyjQpFiaQgxiXCZp0WfcfliinQOH1Lqt4mIOvyw4qjmHihpKXsuXhkQHfHU2Erysp6oEdnVA==} - engines: {node: '>=16.0.0'} - dev: true + hono@4.3.3: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + html-escaper@2.0.2: {} - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: false - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4 transitivePeerDependencies: - supports-color - dev: false - /human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - dev: true + human-signals@5.0.0: {} - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: false + ieee754@1.2.1: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.1: {} - /immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - dev: true + immediate@3.0.6: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /inflection@1.13.4: - resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} - engines: {'0': node >= 0.4.0} - dev: false + inflection@1.13.4: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: false + ipaddr.js@1.9.1: {} - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - dev: false - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + is-extglob@2.1.1: {} - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + is-number@7.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - dev: true + is-promise@2.2.2: {} - /is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + is-stream@3.0.0: {} - /is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - dev: true + is-what@4.1.16: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + isexe@2.0.0: {} - /iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - dev: false + iso8601-duration@1.3.0: {} - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@5.0.4: dependencies: '@jridgewell/trace-mapping': 0.3.25 debug: 4.3.4 istanbul-lib-coverage: 3.2.2 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - dev: true - /joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - dev: false + joycon@3.1.1: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: false + js-tokens@4.0.0: {} - /js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - dev: true + js-tokens@9.0.0: {} - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: false + jsesc@2.5.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-diff@0.9.0: - resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} - hasBin: true + json-diff@0.9.0: dependencies: cli-color: 2.0.4 difflib: 0.2.4 dreamopt: 0.8.0 - dev: true - /json-parse-even-better-errors@3.0.2: - resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + json-parse-even-better-errors@3.0.2: {} - /json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} + json-schema-ref-resolver@1.0.1: dependencies: fast-deep-equal: 3.1.3 - dev: false - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: false + json-schema-traverse@1.0.0: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: false + json5@2.2.3: {} - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lie@3.1.1: - resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} + lie@3.1.1: dependencies: immediate: 3.0.6 - dev: true - /light-my-request@5.13.0: - resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} + light-my-request@5.13.0: dependencies: cookie: 0.6.0 process-warning: 3.0.0 set-cookie-parser: 2.6.0 - dev: false - /local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} + local-pkg@0.5.0: dependencies: mlly: 1.7.0 pkg-types: 1.1.0 - dev: true - /localforage@1.10.0: - resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} + localforage@1.10.0: dependencies: lie: 3.1.1 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - dev: true + lodash.merge@4.6.2: {} - /lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - dev: true + lodash.throttle@4.1.1: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: false + lodash@4.17.21: {} - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - dev: false + lru-cache@10.2.2: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - dev: false - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - dev: false - /lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} + lru-queue@0.1.0: dependencies: es5-ext: 0.10.64 - dev: true - /magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} + magic-string@0.30.10: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} + magic-string@0.30.8: dependencies: '@jridgewell/sourcemap-codec': 1.4.15 - dev: false - /magicast@0.3.4: - resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} + magicast@0.3.4: dependencies: '@babel/parser': 7.24.5 '@babel/types': 7.24.5 source-map-js: 1.2.0 - dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.6.1 - dev: true - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: false + media-typer@0.3.0: {} - /memoizee@0.4.15: - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} + memoizee@0.4.15: dependencies: d: 1.0.2 es5-ext: 0.10.64 @@ -3367,168 +4581,88 @@ packages: lru-queue: 0.1.0 next-tick: 1.1.0 timers-ext: 0.1.7 - dev: true - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - dev: false + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - dev: false - /mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - dev: true + mimic-fn@4.0.0: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} + minimatch@7.4.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@8.0.4: dependencies: brace-expansion: 2.0.1 - dev: false - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - dev: true - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: false + minimist@1.2.8: {} - /minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - dev: false + minipass@4.2.8: {} - /minipass@7.1.0: - resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} - engines: {node: '>=16 || 14 >=14.17'} - dev: false + minipass@7.1.0: {} - /mlly@1.7.0: - resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} + mlly@1.7.0: dependencies: acorn: 8.11.3 pathe: 1.1.2 pkg-types: 1.1.0 ufo: 1.5.3 - dev: true - /moment-timezone@0.5.45: - resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} + moment-timezone@0.5.45: dependencies: moment: 2.30.1 - dev: false - /moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - dev: false + moment@2.30.1: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + ms@2.1.2: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - dev: true + next-tick@1.1.0: {} - /node-abi@3.62.0: - resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} - engines: {node: '>=10'} + node-abi@3.62.0: dependencies: semver: 7.6.1 - dev: true - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - dev: false - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: false + node-releases@2.0.14: {} - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: false + normalize-path@3.0.0: {} - /npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: true + npm-normalize-package-bin@3.0.1: {} - /npm-run-all2@6.1.2: - resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} - engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} - hasBin: true + npm-run-all2@6.1.2: dependencies: ansi-styles: 6.2.1 cross-spawn: 7.0.3 @@ -3537,38 +4671,24 @@ packages: pidtree: 0.6.0 read-package-json-fast: 3.0.2 shell-quote: 1.8.1 - dev: true - /npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 - dev: true - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + obuf@1.1.2: {} - /on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - dev: false + on-exit-leak-free@2.1.2: {} - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - /onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 - dev: true - /optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} + optionator@0.9.4: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -3576,141 +4696,79 @@ packages: prelude-ls: 1.2.1 type-check: 0.4.0 word-wrap: 1.2.5 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - /p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} + p-limit@5.0.0: dependencies: yocto-queue: 1.0.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - dev: true + path-key@4.0.0: {} - /path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.10.2: dependencies: lru-cache: 10.2.2 minipass: 7.1.0 - dev: false - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - dev: true + pathe@1.1.2: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - dev: false + pg-cloudflare@1.1.1: optional: true - /pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - dev: false + pg-connection-string@2.6.4: {} - /pg-cursor@2.10.5(pg@8.11.5): - resolution: {integrity: sha512-wzgmyk+k9mwuYe30ylLA6qRWw2TBFSee4Bw23oTz66YL9RdRJjDi2TaROMMF+V3QB6QWB3FFCju22loDftjKkw==} - peerDependencies: - pg: ^8 + pg-cursor@2.10.5(pg@8.11.5): dependencies: pg: 8.11.5 - dev: false - /pg-hstore@2.3.4: - resolution: {integrity: sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==} - engines: {node: '>= 0.8.x'} + pg-hstore@2.3.4: dependencies: underscore: 1.13.6 - dev: false - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} + pg-int8@1.0.1: {} - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} + pg-numeric@1.0.2: {} - /pg-pool@3.6.2(pg@8.11.5): - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' + pg-pool@3.6.2(pg@8.11.5): dependencies: pg: 8.11.5 - dev: false - /pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + pg-protocol@1.6.1: {} - /pg-query-stream@4.5.5(pg@8.11.5): - resolution: {integrity: sha512-mBGxVdiR9O6SdkOcXBoZuxtHUQ0nSFIWcFauGMUteko+9rZcu97vE15JX/w8pdijQ+diLbiw8ijpV/V+VCUUtA==} - peerDependencies: - pg: ^8 + pg-query-stream@4.5.5(pg@8.11.5): dependencies: pg: 8.11.5 pg-cursor: 2.10.5(pg@8.11.5) - dev: false - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 postgres-bytea: 1.0.0 postgres-date: 1.0.7 postgres-interval: 1.2.0 - dev: false - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} + pg-types@4.0.2: dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -3720,14 +4778,7 @@ packages: postgres-interval: 3.0.0 postgres-range: 1.1.4 - /pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true + pg@8.11.5: dependencies: pg-connection-string: 2.6.4 pg-pool: 3.6.2(pg@8.11.5) @@ -3736,37 +4787,23 @@ packages: pgpass: 1.0.5 optionalDependencies: pg-cloudflare: 1.1.1 - dev: false - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + pgpass@1.0.5: dependencies: split2: 4.2.0 - dev: false - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + picomatch@2.3.1: {} - /pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - dev: true + pidtree@0.6.0: {} - /pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} + pino-abstract-transport@1.2.0: dependencies: readable-stream: 4.5.2 split2: 4.2.0 - dev: false - /pino-pretty@11.0.0: - resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} - hasBin: true + pino-pretty@11.0.0: dependencies: colorette: 2.0.20 dateformat: 4.6.3 @@ -3782,15 +4819,10 @@ packages: secure-json-parse: 2.7.0 sonic-boom: 3.8.1 strip-json-comments: 3.1.1 - dev: false - /pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - dev: false + pino-std-serializers@6.2.2: {} - /pino@8.20.0: - resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} - hasBin: true + pino@8.20.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -3803,11 +4835,8 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.6.0 - dev: false - /pino@8.21.0: - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} - hasBin: true + pino@8.21.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -3820,11 +4849,8 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.7.0 - dev: false - /pino@9.0.0: - resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} - hasBin: true + pino@9.0.0: dependencies: atomic-sleep: 1.0.0 fast-redact: 3.5.0 @@ -3837,223 +4863,123 @@ packages: safe-stable-stringify: 2.4.3 sonic-boom: 3.8.1 thread-stream: 2.7.0 - dev: false - /pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + pkg-types@1.1.0: dependencies: confbox: 0.1.7 mlly: 1.7.0 pathe: 1.1.2 - dev: true - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: true - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - dev: false + postgres-array@2.0.0: {} - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} + postgres-array@3.0.2: {} - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - dev: false + postgres-bytea@1.0.0: {} - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} + postgres-bytea@3.0.0: dependencies: obuf: 1.1.2 - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - dev: false + postgres-date@1.0.7: {} - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} + postgres-date@2.1.0: {} - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - dev: false - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} + postgres-interval@3.0.0: {} - /postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - dev: false + postgres-interval@4.0.2: {} - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + postgres-range@1.1.4: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} + prettier-linter-helpers@1.0.0: dependencies: fast-diff: 1.3.0 - dev: true - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.2.5: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.3.1 - dev: true - /process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - dev: false + process-warning@3.0.0: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: false + process@0.11.10: {} - /progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - dev: false + progress@2.0.3: {} - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: false - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: false + proxy-from-env@1.1.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: false - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + punycode@2.3.1: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - dev: false + quick-format-unescaped@4.0.4: {} - /react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - dev: true + react-is@18.3.1: {} - /read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + read-package-json-fast@3.0.2: dependencies: json-parse-even-better-errors: 3.0.2 npm-normalize-package-bin: 3.0.1 - dev: true - /readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + readable-stream@4.5.2: dependencies: abort-controller: 3.0.0 buffer: 6.0.3 events: 3.3.0 process: 0.11.10 string_decoder: 1.3.0 - dev: false - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: false - /real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - dev: false + real-require@0.2.0: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: false + require-from-string@2.0.2: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolve-pkg-maps@1.0.0: {} - /ret@0.4.3: - resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} - engines: {node: '>=10'} - dev: false + ret@0.4.3: {} - /retry-as-promised@7.0.4: - resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} - dev: false + retry-as-promised@7.0.4: {} - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + reusify@1.0.4: {} - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: false + rfdc@1.3.1: {} - /roarr@7.21.1: - resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} - engines: {node: '>=18.0'} + roarr@7.21.1: dependencies: fast-printf: 1.6.9 safe-stable-stringify: 2.4.3 semver-compare: 1.0.0 - dev: false - /rollup@4.17.2: - resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true + rollup@4.17.2: dependencies: '@types/estree': 1.0.5 optionalDependencies: @@ -4074,92 +5000,34 @@ packages: '@rollup/rollup-win32-ia32-msvc': 4.17.2 '@rollup/rollup-win32-x64-msvc': 4.17.2 fsevents: 2.3.3 - dev: true - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: false + safe-buffer@5.2.1: {} - /safe-regex2@3.1.0: - resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} + safe-regex2@3.1.0: dependencies: ret: 0.4.3 - dev: false - /safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - dev: false + safe-stable-stringify@2.4.3: {} - /secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - dev: false + secure-json-parse@2.7.0: {} - /semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - dev: false + semver-compare@1.0.0: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: false + semver@6.3.1: {} - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - dev: false - /semver@7.6.1: - resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.1: {} - /sequelize-pool@7.1.0: - resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} - engines: {node: '>= 10.0.0'} - dev: false + sequelize-pool@7.1.0: {} - /sequelize@6.37.3(pg-hstore@2.3.4)(pg@8.11.5): - resolution: {integrity: sha512-V2FTqYpdZjPy3VQrZvjTPnOoLm0KudCRXfGWp48QwhyPPp2yW8z0p0sCYZd/em847Tl2dVxJJ1DR+hF+O77T7A==} - engines: {node: '>=10.0.0'} - peerDependencies: - ibm_db: '*' - mariadb: '*' - mysql2: '*' - oracledb: '*' - pg: '*' - pg-hstore: '*' - snowflake-sdk: '*' - sqlite3: '*' - tedious: '*' - peerDependenciesMeta: - ibm_db: - optional: true - mariadb: - optional: true - mysql2: - optional: true - oracledb: - optional: true - pg: - optional: true - pg-hstore: - optional: true - snowflake-sdk: - optional: true - sqlite3: - optional: true - tedious: - optional: true + sequelize@6.37.3(pg-hstore@2.3.4)(pg@8.11.5): dependencies: '@types/debug': 4.1.12 '@types/validator': 13.11.9 @@ -4181,72 +5049,36 @@ packages: wkx: 0.5.0 transitivePeerDependencies: - supports-color - dev: false - /serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} + serialize-error@8.1.0: dependencies: type-fest: 0.20.2 - dev: false - /set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - dev: false + set-cookie-parser@2.6.0: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: false + setprototypeof@1.2.0: {} - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true + shell-quote@1.8.1: {} - /short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - dev: false + short-unique-id@5.0.3: {} - /short-unique-id@5.2.0: - resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} - hasBin: true - dev: false + short-unique-id@5.2.0: {} - /siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - dev: true + siginfo@2.0.0: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - dev: true + signal-exit@4.1.0: {} - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slonik@40.2.6(zod@3.22.5): - resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 + slonik@40.2.6(zod@3.22.5): dependencies: '@types/pg': 8.11.6 get-stack-trace: 3.1.1 @@ -4263,258 +5095,139 @@ packages: zod: 3.22.5 transitivePeerDependencies: - pg-native - dev: false - /sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} + sonic-boom@3.8.1: dependencies: atomic-sleep: 1.0.0 - dev: false - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - dev: true + source-map-js@1.2.0: {} - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: false + split2@4.2.0: {} - /stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - dev: true + stackback@0.0.2: {} - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} + stacktrace-parser@0.1.10: dependencies: type-fest: 0.7.1 - dev: false - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: false + statuses@2.0.1: {} - /std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - dev: true + std-env@3.7.0: {} - /strict-event-emitter-types@2.0.0: - resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} - dev: false + strict-event-emitter-types@2.0.0: {} - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: false - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - dev: true - /strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - dev: true + strip-final-newline@3.0.0: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + strip-json-comments@3.1.1: {} - /strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} + strip-literal@2.1.0: dependencies: js-tokens: 9.0.0 - dev: true - /superjson@2.2.1: - resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} - engines: {node: '>=16'} + superjson@2.2.1: dependencies: copy-anything: 3.0.5 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: false - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - dev: true - /synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.8.8: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 - dev: true - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /thread-stream@2.6.0: - resolution: {integrity: sha512-t4eNiKdGwd1EV6tx76mRbrOqwvkxz+ssOiQXEXw88m4p/Xp6679vg16sf39BAstRjHOiWIqp5+J2ylHk3pU30g==} + thread-stream@2.6.0: dependencies: real-require: 0.2.0 - dev: false - /thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} + thread-stream@2.7.0: dependencies: real-require: 0.2.0 - dev: false - /timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} + timers-ext@0.1.7: dependencies: es5-ext: 0.10.64 next-tick: 1.1.0 - dev: true - /tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - dev: true + tinybench@2.8.0: {} - /tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} - dev: true + tinypool@0.8.4: {} - /tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - dev: true + tinyspy@2.2.1: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - /toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - dev: false + toad-cache@3.7.0: {} - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: false + toidentifier@1.0.1: {} - /toposort-class@1.0.1: - resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} - dev: false + toposort-class@1.0.1: {} - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - dev: false + tr46@0.0.3: {} - /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 - dev: true - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - dev: true + tslib@2.6.2: {} - /tsx@4.9.3: - resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} - engines: {node: '>=18.0.0'} - hasBin: true + tsx@4.9.3: dependencies: esbuild: 0.20.2 get-tsconfig: 4.7.4 optionalDependencies: fsevents: 2.3.3 - dev: false - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: false + type-fest@0.20.2: {} - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: false + type-fest@0.7.1: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: false - /type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - dev: true + type@2.7.2: {} - /typescript-eslint@7.8.0(eslint@9.2.0)(typescript@5.4.5): - resolution: {integrity: sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + typescript-eslint@7.8.0(eslint@9.2.0)(typescript@5.4.5): dependencies: '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) @@ -4523,74 +5236,41 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - dev: true + typescript@5.4.5: {} - /ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - dev: true + ufo@1.5.3: {} - /underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - dev: false + underscore@1.13.6: {} - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@5.26.5: {} - /unplugin@1.0.1: - resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} + unplugin@1.0.1: dependencies: acorn: 8.11.3 chokidar: 3.6.0 webpack-sources: 3.2.3 webpack-virtual-modules: 0.5.0 - dev: false - /update-browserslist-db@1.0.15(browserslist@4.23.0): - resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.15(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 picocolors: 1.0.0 - dev: false - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: false + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - dev: false + uuid@9.0.1: {} - /validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - dev: false + validator@13.11.0: {} - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: false + vary@1.1.2: {} - /vite-node@1.6.0(@types/node@20.12.11): - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true + vite-node@1.6.0(@types/node@20.12.11): dependencies: cac: 6.7.14 debug: 4.3.4 @@ -4606,35 +5286,8 @@ packages: - sugarss - supports-color - terser - dev: true - /vite@5.2.11(@types/node@20.12.11): - resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true + vite@5.2.11(@types/node@20.12.11): dependencies: '@types/node': 20.12.11 esbuild: 0.20.2 @@ -4642,32 +5295,8 @@ packages: rollup: 4.17.2 optionalDependencies: fsevents: 2.3.3 - dev: true - /vitest@1.6.0(@types/node@20.12.11): - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true + vitest@1.6.0(@types/node@20.12.11): dependencies: '@types/node': 20.12.11 '@vitest/expect': 1.6.0 @@ -4698,88 +5327,47 @@ packages: - sugarss - supports-color - terser - dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - dev: false + webidl-conversions@3.0.1: {} - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: false + webpack-sources@3.2.3: {} - /webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - dev: false + webpack-virtual-modules@0.5.0: {} - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - dev: false - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - /why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true + why-is-node-running@2.2.2: dependencies: siginfo: 2.0.0 stackback: 0.0.2 - dev: true - /wkx@0.5.0: - resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} + wkx@0.5.0: dependencies: '@types/node': 20.12.11 - dev: false - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + wordwrap@1.0.0: {} - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + wrappy@1.0.2: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: false + xtend@4.0.2: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: false + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - dev: false + yallist@4.0.0: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + yocto-queue@0.1.0: {} - /yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - dev: true + yocto-queue@1.0.0: {} - /zod@3.22.5: - resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} - dev: false + zod@3.22.5: {} - /zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - dev: true + zod@3.23.8: {} From e62e25a3ffb73a2b2ce31f23efe5d7bc11372e20 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 15:29:32 +0000 Subject: [PATCH 329/452] fix(deps): update dependency fastify to v4.27.0 (#1930) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 121 ++++++++++++++++--------------------------------- 1 file changed, 38 insertions(+), 83 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 02b3797b2..29b9c1095 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -65,7 +65,7 @@ importers: version: 8.11.6 '@vitest/coverage-v8': specifier: 1.6.0 - version: 1.6.0(vitest@1.6.0) + version: 1.6.0(vitest@1.6.0(@types/node@20.12.11)) drizzle-kit: specifier: 0.20.18 version: 0.20.18 @@ -80,7 +80,7 @@ importers: version: 9.1.0(eslint@9.2.0) eslint-plugin-prettier: specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5) + version: 5.1.3(eslint-config-prettier@9.1.0(eslint@9.2.0))(eslint@9.2.0)(prettier@3.2.5) npm-run-all2: specifier: 6.1.2 version: 6.1.2 @@ -148,7 +148,7 @@ importers: version: 7.111.0 fastify: specifier: ^4.25.2 - version: 4.26.2 + version: 4.27.0 packages/lobby: dependencies: @@ -1149,9 +1149,6 @@ packages: ajv@6.12.6: resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - ajv@8.13.0: resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} @@ -1613,12 +1610,6 @@ packages: fast-json-stable-stringify@2.1.0: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - fast-json-stringify@5.12.0: - resolution: {integrity: sha512-7Nnm9UPa7SfHRbHVA1kJQrGXCRzB7LMlAAqHXQFkEQqueJm1V8owm0FsE/2Do55/4CcdhwiLQERaKomOnKQkyA==} - - fast-json-stringify@5.15.0: - resolution: {integrity: sha512-BUEAAyDKb64u+kmkINYfXUUiKjBKerSmVu/dzotfaWSHBxR44JFrOZgkhMO6VxDhDfiuAoi8mx4drd5nvNdA4Q==} - fast-json-stringify@5.15.1: resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==} @@ -1645,9 +1636,6 @@ packages: fastify-plugin@4.5.1: resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - fastify@4.26.2: - resolution: {integrity: sha512-90pjTuPGrfVKtdpLeLzND5nyC4woXZN5VadiNQCicj/iJU4viNHKhsAnb7jmv1vu2IzkLXyBiCzdWuzeXgQ5Ug==} - fastify@4.27.0: resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} @@ -2427,6 +2415,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true + sequelize-pool@7.1.0: resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} engines: {node: '>= 10.0.0'} @@ -3212,15 +3205,15 @@ snapshots: '@fastify/ajv-compiler@3.5.0': dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 2.1.1(ajv@8.13.0) fast-uri: 2.3.0 '@fastify/error@3.4.1': {} '@fastify/fast-json-stringify-compiler@4.3.0': dependencies: - fast-json-stringify: 5.12.0 + fast-json-stringify: 5.15.1 '@fastify/merge-json-schemas@0.1.1': dependencies: @@ -3506,7 +3499,7 @@ snapshots: '@types/validator@13.11.9': {} - '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5)': + '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) @@ -3521,6 +3514,7 @@ snapshots: natural-compare: 1.4.0 semver: 7.6.1 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -3533,6 +3527,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.8.0 debug: 4.3.4 eslint: 9.2.0 + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -3549,6 +3544,7 @@ snapshots: debug: 4.3.4 eslint: 9.2.0 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -3563,8 +3559,9 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.4 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -3588,7 +3585,7 @@ snapshots: '@typescript-eslint/types': 7.8.0 eslint-visitor-keys: 3.4.3 - '@vitest/coverage-v8@1.6.0(vitest@1.6.0)': + '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.11))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -3656,12 +3653,12 @@ snapshots: transitivePeerDependencies: - supports-color - ajv-formats@2.1.1(ajv@8.12.0): - dependencies: - ajv: 8.12.0 + ajv-formats@2.1.1(ajv@8.13.0): + optionalDependencies: + ajv: 8.13.0 ajv-formats@3.0.1(ajv@8.13.0): - dependencies: + optionalDependencies: ajv: 8.13.0 ajv@6.12.6: @@ -3671,13 +3668,6 @@ snapshots: json-schema-traverse: 0.4.1 uri-js: 4.4.1 - ajv@8.12.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - ajv@8.13.0: dependencies: fast-deep-equal: 3.1.3 @@ -3909,7 +3899,7 @@ snapshots: - supports-color drizzle-orm@0.30.10(@types/pg@8.11.6)(pg@8.11.5): - dependencies: + optionalDependencies: '@types/pg': 8.11.6 pg: 8.11.5 @@ -4040,13 +4030,14 @@ snapshots: dependencies: eslint: 9.2.0 - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0)(eslint@9.2.0)(prettier@3.2.5): + eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@9.2.0))(eslint@9.2.0)(prettier@3.2.5): dependencies: eslint: 9.2.0 - eslint-config-prettier: 9.1.0(eslint@9.2.0) prettier: 3.2.5 prettier-linter-helpers: 1.0.0 synckit: 0.8.8 + optionalDependencies: + eslint-config-prettier: 9.1.0(eslint@9.2.0) eslint-scope@8.0.1: dependencies: @@ -4170,26 +4161,6 @@ snapshots: fast-json-stable-stringify@2.1.0: {} - fast-json-stringify@5.12.0: - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - - fast-json-stringify@5.15.0: - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.13.0 - ajv-formats: 3.0.1(ajv@8.13.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - fast-json-stringify@5.15.1: dependencies: '@fastify/merge-json-schemas': 0.1.1 @@ -4218,27 +4189,6 @@ snapshots: fastify-plugin@4.5.1: {} - fastify@4.26.2: - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.15.0 - find-my-way: 8.2.0 - light-my-request: 5.13.0 - pino: 8.21.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.0 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - fastify@4.27.0: dependencies: '@fastify/ajv-compiler': 3.5.0 @@ -4255,7 +4205,7 @@ snapshots: proxy-addr: 2.0.7 rfdc: 1.3.1 secure-json-parse: 2.7.0 - semver: 7.6.1 + semver: 7.6.2 toad-cache: 3.7.0 transitivePeerDependencies: - supports-color @@ -4567,7 +4517,7 @@ snapshots: make-dir@4.0.0: dependencies: - semver: 7.6.1 + semver: 7.6.2 media-typer@0.3.0: {} @@ -5025,6 +4975,8 @@ snapshots: semver@7.6.1: {} + semver@7.6.2: {} + sequelize-pool@7.1.0: {} sequelize@6.37.3(pg-hstore@2.3.4)(pg@8.11.5): @@ -5037,9 +4989,7 @@ snapshots: lodash: 4.17.21 moment: 2.30.1 moment-timezone: 0.5.45 - pg: 8.11.5 pg-connection-string: 2.6.4 - pg-hstore: 2.3.4 retry-as-promised: 7.0.4 semver: 7.6.0 sequelize-pool: 7.1.0 @@ -5047,6 +4997,9 @@ snapshots: uuid: 8.3.2 validator: 13.11.0 wkx: 0.5.0 + optionalDependencies: + pg: 8.11.5 + pg-hstore: 2.3.4 transitivePeerDependencies: - supports-color @@ -5229,10 +5182,11 @@ snapshots: typescript-eslint@7.8.0(eslint@9.2.0)(typescript@5.4.5): dependencies: - '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0)(eslint@9.2.0)(typescript@5.4.5) + '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) eslint: 9.2.0 + optionalDependencies: typescript: 5.4.5 transitivePeerDependencies: - supports-color @@ -5289,16 +5243,15 @@ snapshots: vite@5.2.11(@types/node@20.12.11): dependencies: - '@types/node': 20.12.11 esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.17.2 optionalDependencies: + '@types/node': 20.12.11 fsevents: 2.3.3 vitest@1.6.0(@types/node@20.12.11): dependencies: - '@types/node': 20.12.11 '@vitest/expect': 1.6.0 '@vitest/runner': 1.6.0 '@vitest/snapshot': 1.6.0 @@ -5319,6 +5272,8 @@ snapshots: vite: 5.2.11(@types/node@20.12.11) vite-node: 1.6.0(@types/node@20.12.11) why-is-node-running: 2.2.2 + optionalDependencies: + '@types/node': 20.12.11 transitivePeerDependencies: - less - lightningcss From 08d4bbb3cde5bd246bcffd937d72ed0fc9cb640c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 10 May 2024 18:56:11 +0000 Subject: [PATCH 330/452] fix(deps): update dependency tsx to v4.9.4 (#1931) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- pnpm-lock.yaml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 29b9c1095..d093bcc4a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -46,7 +46,7 @@ importers: version: 5.2.0 tsx: specifier: ^4.9.3 - version: 4.9.3 + version: 4.9.4 devDependencies: '@eslint/js': specifier: 9.2.0 @@ -1692,8 +1692,8 @@ packages: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} - get-tsconfig@4.7.4: - resolution: {integrity: sha512-ofbkKj+0pjXjhejr007J/fLf+sW+8H7K5GCm+msC8q3IpvgjobpyPqSRFemNyIMxklC0zeJpi7VDFna19FacvQ==} + get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} @@ -2633,8 +2633,8 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tsx@4.9.3: - resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} + tsx@4.9.4: + resolution: {integrity: sha512-TlSJTVn2taGGDgdV3jAqCj7WQ/CafCB5p4SbG7W2Bl/0AJWH1ShJlBbc0y2lOFTjQEVAAULSTlmehw/Mwv3S/Q==} engines: {node: '>=18.0.0'} hasBin: true @@ -2974,7 +2974,7 @@ snapshots: '@esbuild-kit/esm-loader@2.6.5': dependencies: '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.4 + get-tsconfig: 4.7.5 '@esbuild/aix-ppc64@0.19.12': optional: true @@ -4257,7 +4257,7 @@ snapshots: get-stream@8.0.1: {} - get-tsconfig@4.7.4: + get-tsconfig@4.7.5: dependencies: resolve-pkg-maps: 1.0.0 @@ -5156,10 +5156,10 @@ snapshots: tslib@2.6.2: {} - tsx@4.9.3: + tsx@4.9.4: dependencies: esbuild: 0.20.2 - get-tsconfig: 4.7.4 + get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 From fe7c2ad2b24859e0759d21d52af60fb7458b91d5 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 10 May 2024 18:11:55 -0400 Subject: [PATCH 331/452] chore: update tsx dependency to v4.9.4 --- package.json | 2 +- pnpm-lock.yaml | 73 +++++++++++++++++++++++--------------------------- 2 files changed, 34 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 3d6596410..ea6598087 100644 --- a/package.json +++ b/package.json @@ -56,7 +56,7 @@ "pino": "^8.21.0", "pino-pretty": "^11.0.0", "short-unique-id": "^5.2.0", - "tsx": "^4.9.3" + "tsx": "^4.9.4" }, "packageManager": "pnpm@9.1.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d093bcc4a..a29cb650b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -45,7 +45,7 @@ importers: specifier: ^5.2.0 version: 5.2.0 tsx: - specifier: ^4.9.3 + specifier: ^4.9.4 version: 4.9.4 devDependencies: '@eslint/js': @@ -1242,8 +1242,8 @@ packages: resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} engines: {node: '>=14.16'} - caniuse-lite@1.0.30001616: - resolution: {integrity: sha512-RHVYKov7IcdNjVHJFNY/78RdG4oGVjbayxv8u5IO74Wv7Hlq4PnJE6mo/OjFijjVFNy5ijnCt6H3IIo4t+wfEw==} + caniuse-lite@1.0.30001617: + resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} chai@4.4.1: resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} @@ -1450,8 +1450,8 @@ packages: sqlite3: optional: true - electron-to-chromium@1.4.759: - resolution: {integrity: sha512-qZJc+zsuI+/5UjOSFnpkJBwwLMH1AZgyKqJ7LUNnRsB7v/cDjMu9DvXgp9kH6PTTZxjnPXGp2Uhurw+2Ll4Hjg==} + electron-to-chromium@1.4.763: + resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==} end-of-stream@1.4.4: resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} @@ -1746,8 +1746,8 @@ packages: help-me@5.0.0: resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - hono@4.3.3: - resolution: {integrity: sha512-LDa1n/aLYK4CsZQyjQpFiaQgxiXCZp0WfcfliinQOH1Lqt4mIOvyw4qjmHihpKXsuXhkQHfHU2Erysp6oEdnVA==} + hono@4.3.4: + resolution: {integrity: sha512-oh+PBwW8yElj3bUlY2dTXhuPt1MCZp6Nb04tejLwY+GXdphQH6uCpUP0dY5iLvFY5wM8fNHrMx1QeMKbhnzw9w==} engines: {node: '>=16.0.0'} html-escaper@2.0.2: @@ -2021,8 +2021,8 @@ packages: resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} engines: {node: '>=8'} - minipass@7.1.0: - resolution: {integrity: sha512-oGZRv2OT1lO2UF1zUcwdTb3wqUwI0kBGTgt/T7OdSj6M6N5m3o5uPf0AIW6lVxGGoiWUR7e2AwTE+xiwK8WQig==} + minipass@7.1.1: + resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} engines: {node: '>=16 || 14 >=14.17'} mlly@1.7.0: @@ -2131,8 +2131,8 @@ packages: resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} engines: {node: '>=12'} - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + path-scurry@1.11.0: + resolution: {integrity: sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==} engines: {node: '>=16 || 14 >=14.17'} path-type@4.0.0: @@ -2235,8 +2235,8 @@ packages: resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} hasBin: true - pkg-types@1.1.0: - resolution: {integrity: sha512-/RpmvKdxKf8uILTtoOhAgf30wYbP2Qw+L9p3Rvshx1JZVX+XQNZQFjlbmGHEGIm4CkVPlSn+NXmIM8+9oWQaSA==} + pkg-types@1.1.1: + resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} @@ -2410,11 +2410,6 @@ packages: engines: {node: '>=10'} hasBin: true - semver@7.6.1: - resolution: {integrity: sha512-f/vbBsu+fOiYt+lmwZV0rVwJScl46HppnOA1ZvIuBWKOTlllpyJ3bfVax76/OrhCH38dyxoDIA8K7uB963IYgA==} - engines: {node: '>=10'} - hasBin: true - semver@7.6.2: resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} engines: {node: '>=10'} @@ -3241,9 +3236,9 @@ snapshots: '@hono/node-server@1.11.1': {} - '@hono/zod-validator@0.2.1(hono@4.3.3)(zod@3.23.8)': + '@hono/zod-validator@0.2.1(hono@4.3.4)(zod@3.23.8)': dependencies: - hono: 4.3.3 + hono: 4.3.4 zod: 3.23.8 '@humanwhocodes/config-array@0.13.0': @@ -3512,7 +3507,7 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.1 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: typescript: 5.4.5 @@ -3575,7 +3570,7 @@ snapshots: '@typescript-eslint/types': 7.8.0 '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) eslint: 9.2.0 - semver: 7.6.1 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -3736,8 +3731,8 @@ snapshots: browserslist@4.23.0: dependencies: - caniuse-lite: 1.0.30001616 - electron-to-chromium: 1.4.759 + caniuse-lite: 1.0.30001617 + electron-to-chromium: 1.4.763 node-releases: 2.0.14 update-browserslist-db: 1.0.15(browserslist@4.23.0) @@ -3754,7 +3749,7 @@ snapshots: camelcase@7.0.1: {} - caniuse-lite@1.0.30001616: {} + caniuse-lite@1.0.30001617: {} chai@4.4.1: dependencies: @@ -3880,7 +3875,7 @@ snapshots: dependencies: '@esbuild-kit/esm-loader': 2.6.5 '@hono/node-server': 1.11.1 - '@hono/zod-validator': 0.2.1(hono@4.3.3)(zod@3.23.8) + '@hono/zod-validator': 0.2.1(hono@4.3.4)(zod@3.23.8) camelcase: 7.0.1 chalk: 5.3.0 commander: 9.5.0 @@ -3889,10 +3884,10 @@ snapshots: esbuild-register: 3.5.0(esbuild@0.19.12) glob: 8.1.0 hanji: 0.0.5 - hono: 4.3.3 + hono: 4.3.4 json-diff: 0.9.0 minimatch: 7.4.6 - semver: 7.6.1 + semver: 7.6.2 superjson: 2.2.1 zod: 3.23.8 transitivePeerDependencies: @@ -3903,7 +3898,7 @@ snapshots: '@types/pg': 8.11.6 pg: 8.11.5 - electron-to-chromium@1.4.759: {} + electron-to-chromium@1.4.763: {} end-of-stream@1.4.4: dependencies: @@ -4291,7 +4286,7 @@ snapshots: fs.realpath: 1.0.0 minimatch: 8.0.4 minipass: 4.2.8 - path-scurry: 1.10.2 + path-scurry: 1.11.0 globals@11.12.0: {} @@ -4321,7 +4316,7 @@ snapshots: help-me@5.0.0: {} - hono@4.3.3: {} + hono@4.3.4: {} html-escaper@2.0.2: {} @@ -4467,7 +4462,7 @@ snapshots: local-pkg@0.5.0: dependencies: mlly: 1.7.0 - pkg-types: 1.1.0 + pkg-types: 1.1.1 localforage@1.10.0: dependencies: @@ -4575,13 +4570,13 @@ snapshots: minipass@4.2.8: {} - minipass@7.1.0: {} + minipass@7.1.1: {} mlly@1.7.0: dependencies: acorn: 8.11.3 pathe: 1.1.2 - pkg-types: 1.1.0 + pkg-types: 1.1.1 ufo: 1.5.3 moment-timezone@0.5.45: @@ -4600,7 +4595,7 @@ snapshots: node-abi@3.62.0: dependencies: - semver: 7.6.1 + semver: 7.6.2 node-fetch@2.7.0: dependencies: @@ -4671,10 +4666,10 @@ snapshots: path-key@4.0.0: {} - path-scurry@1.10.2: + path-scurry@1.11.0: dependencies: lru-cache: 10.2.2 - minipass: 7.1.0 + minipass: 7.1.1 path-type@4.0.0: {} @@ -4814,7 +4809,7 @@ snapshots: sonic-boom: 3.8.1 thread-stream: 2.7.0 - pkg-types@1.1.0: + pkg-types@1.1.1: dependencies: confbox: 0.1.7 mlly: 1.7.0 @@ -4973,8 +4968,6 @@ snapshots: dependencies: lru-cache: 6.0.0 - semver@7.6.1: {} - semver@7.6.2: {} sequelize-pool@7.1.0: {} From a1804191611d9d6536969cc5a970ffa8fe518f39 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 11 May 2024 22:01:24 -0400 Subject: [PATCH 332/452] feat: Add new modules for patch, cli, and shard This commit adds new modules for patch, cli, and shard, which include the following changes: - Added `CastanetResponse` export in `patch/index.ts` - Added `ScheduledThread` and `ConsoleThread` exports in `cli/index.ts` - Added `generateShardList`, `handleGetCert`, `handleGetKey`, and `handleGetRegistry` exports in `shard/index.ts` --- packages/cli/index.ts | 2 + .../getLobMiniRiffList.ts | 37 +++ .../getLobMiniUserList.ts | 25 +++ packages/nps/gameMessageProcessors/index.ts | 88 ++++++++ .../gameMessageProcessors/lobbyCommands.ts | 15 ++ .../processCheckPlateText.ts | 34 +++ .../processCheckProfileName.ts | 33 +++ .../processCreateProfile.ts | 45 ++++ .../processDeleteProfile.ts | 109 +++++++++ .../processEncryptedGameCommand.ts | 113 ++++++++++ .../gameMessageProcessors/processGameLogin.ts | 210 ++++++++++++++++++ .../processGameLogout.ts | 15 ++ .../processGetFirstBuddy.ts | 44 ++++ .../processGetProfileInfo.ts | 63 ++++++ .../processGetProfileMaps.ts | 68 ++++++ .../nps/gameMessageProcessors/processPing.ts | 23 ++ .../processSelectPersona.ts | 53 +++++ .../gameMessageProcessors/processUserLogin.ts | 71 ++++++ packages/nps/src/utils/pureCompare.ts | 48 ++++ packages/nps/src/utils/pureGet.ts | 59 +++++ packages/nps/src/utils/purePut.ts | 105 +++++++++ packages/nps/src/utils/sendNPSAck.ts | 11 + packages/patch/index.ts | 1 + packages/shard/index.ts | 2 + tsconfig.base.json | 21 ++ 25 files changed, 1295 insertions(+) create mode 100644 packages/cli/index.ts create mode 100644 packages/nps/gameMessageProcessors/getLobMiniRiffList.ts create mode 100644 packages/nps/gameMessageProcessors/getLobMiniUserList.ts create mode 100644 packages/nps/gameMessageProcessors/index.ts create mode 100644 packages/nps/gameMessageProcessors/lobbyCommands.ts create mode 100644 packages/nps/gameMessageProcessors/processCheckPlateText.ts create mode 100644 packages/nps/gameMessageProcessors/processCheckProfileName.ts create mode 100644 packages/nps/gameMessageProcessors/processCreateProfile.ts create mode 100644 packages/nps/gameMessageProcessors/processDeleteProfile.ts create mode 100644 packages/nps/gameMessageProcessors/processEncryptedGameCommand.ts create mode 100644 packages/nps/gameMessageProcessors/processGameLogin.ts create mode 100644 packages/nps/gameMessageProcessors/processGameLogout.ts create mode 100644 packages/nps/gameMessageProcessors/processGetFirstBuddy.ts create mode 100644 packages/nps/gameMessageProcessors/processGetProfileInfo.ts create mode 100644 packages/nps/gameMessageProcessors/processGetProfileMaps.ts create mode 100644 packages/nps/gameMessageProcessors/processPing.ts create mode 100644 packages/nps/gameMessageProcessors/processSelectPersona.ts create mode 100644 packages/nps/gameMessageProcessors/processUserLogin.ts create mode 100644 packages/nps/src/utils/pureCompare.ts create mode 100644 packages/nps/src/utils/pureGet.ts create mode 100644 packages/nps/src/utils/purePut.ts create mode 100644 packages/nps/src/utils/sendNPSAck.ts create mode 100644 packages/patch/index.ts create mode 100644 packages/shard/index.ts create mode 100644 tsconfig.base.json diff --git a/packages/cli/index.ts b/packages/cli/index.ts new file mode 100644 index 000000000..650630416 --- /dev/null +++ b/packages/cli/index.ts @@ -0,0 +1,2 @@ +export { ScheduledThread } from "./ScheduledThread.js"; +export { ConsoleThread } from "./ConsoleThread.js"; diff --git a/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts b/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts new file mode 100644 index 000000000..922c6cadb --- /dev/null +++ b/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts @@ -0,0 +1,37 @@ +import { getServerLogger } from "rusty-motors-shared"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; +import { getAsHex } from "../src/utils/pureGet.js"; + +const log = getServerLogger(); + +// Command id: 0x30c +export async function getLobMiniRiffList( + commandId: number, + data: Buffer, +): Promise { + log.setName("nps:getLobMiniRiffList"); + log.info(`Processing getLobMiniRiffList command: ${getAsHex(data)}`); + + const riffList = new MiniRiffList(); + + riffList.addRiff(new MiniRiffInfo("CTRL", 0, 1)); + riffList.addRiff(new MiniRiffInfo("MC141", 141, 0)); + riffList.addRiff(new MiniRiffInfo("MCCHAT", 191, 0)); + + log.info(`getLobMiniRiffList: ${riffList.toString()}`); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x404); + responseMessage.setData(riffList); + + log.info("Dumping responseMessage: "); + + log.info( + `responseMessage: ${ + responseMessage.serialize().length + } bytes - ${getAsHex(responseMessage.serialize())}`, + ); + + return responseMessage.serialize(); +} diff --git a/packages/nps/gameMessageProcessors/getLobMiniUserList.ts b/packages/nps/gameMessageProcessors/getLobMiniUserList.ts new file mode 100644 index 000000000..2c4387c9a --- /dev/null +++ b/packages/nps/gameMessageProcessors/getLobMiniUserList.ts @@ -0,0 +1,25 @@ +import { getServerLogger } from "rusty-motors-shared"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; +import { getAsHex } from "../src/utils/pureGet.js"; + +const log = getServerLogger(); + +// Command id: 0x128 +export async function getLobMiniUserList( + commandId: number, + data: Buffer, +): Promise { + log.setName("nps:getLobMiniUserList"); + log.info(`Processing getLobMiniUserList command: ${getAsHex(data)}`); + + const miniUserList = new MiniUserList(0); + + miniUserList.addChannelUser(new MiniUserInfo(1000, "Molly")); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x229); + responseMessage.setData(miniUserList); + + return Promise.resolve(responseMessage.serialize()); +} diff --git a/packages/nps/gameMessageProcessors/index.ts b/packages/nps/gameMessageProcessors/index.ts new file mode 100644 index 000000000..26f0a350b --- /dev/null +++ b/packages/nps/gameMessageProcessors/index.ts @@ -0,0 +1,88 @@ +import { processGameLogin } from "./processGameLogin.js"; +import { processGetProfileMaps } from "./processGetProfileMaps.js"; +import { processCheckProfileName } from "./processCheckProfileName.js"; +import { processCheckPlateText } from "./processCheckPlateText.js"; +import { processCreateProfile } from "./processCreateProfile.js"; +import { processDeleteProfile } from "./processDeleteProfile.js"; +import { processGetProfileInfo } from "./processGetProfileInfo.js"; +import { processSelectPersona } from "./processSelectPersona.js"; +import { processUserLogin } from "./processUserLogin.js"; +import { processFirstBuddy } from "./processGetFirstBuddy.js"; +import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { processPing } from "./processPing.js"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { processGameLogout } from "./processGameLogout.js"; + +export type GameSocketCallback = (messages: Buffer[]) => void; + +export type MessageProcessor = ( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +) => Promise; + +export class MessageProcessorError extends Error { + constructor(id: number, message: string) { + super(`MessageProcessorError: ${id}: ${message}`); + } +} + +export const gameMessageProcessors = new Map([]); + +export function populateGameMessageProcessors( + processors: Map, +): void { + processors.set(256, processUserLogin); // 0x100 + processors.set(535, processPing); // 0x217 + processors.set(1281, processGameLogin); // 0x501 + processors.set(1283, processSelectPersona); // 0x503 + processors.set(1287, processCreateProfile); // 0x507 + processors.set(1291, processFirstBuddy); // 0x50b + processors.set(1295, processGameLogout); // 0x50f + processors.set(1298, processDeleteProfile); // 0x512 + processors.set(1305, processGetProfileInfo); // 0x519 + processors.set(1330, processGetProfileMaps); // 0x532 + processors.set(1331, processCheckProfileName); // 0x533 + processors.set(1332, processCheckPlateText); // 0x534 + processors.set(4353, processEncryptedGameCommand); // 0x1101 +} + +export function getGameMessageProcessor(messageId: number) { + if (gameMessageProcessors.has(messageId) === true) { + return gameMessageProcessors.get(messageId) as MessageProcessor; + } + + return undefined; +} + +export class PortMapError extends Error { + port: number; + constructor(port: number, message: string) { + super(message); + this.name = "PortMapError"; + this.port = port; + } + + override toString(): string { + return `${this.name}: ${this.message}`; + } +} + +export const portToMessageTypes = new Map([]); + +export function populatePortToMessageTypes(portMap: Map): void { + portMap.set(7003, "Game"); + portMap.set(8226, "Game"); + portMap.set(8228, "Game"); + portMap.set(43300, "Server"); +} + +export function getPortMessageType(port: number): string { + if (portToMessageTypes.has(port) === true) { + // @ts-expect-error - Since has() is true, the return value is NOT undefined + return portToMessageTypes.get(port); + } + throw new PortMapError(port, "No message type found"); +} diff --git a/packages/nps/gameMessageProcessors/lobbyCommands.ts b/packages/nps/gameMessageProcessors/lobbyCommands.ts new file mode 100644 index 000000000..821c0a28e --- /dev/null +++ b/packages/nps/gameMessageProcessors/lobbyCommands.ts @@ -0,0 +1,15 @@ +// 030c0004cdcdcdcd + +import { getLobMiniRiffList } from "./getLobMiniRiffList.js"; +import { getLobMiniUserList } from "./getLobMiniUserList.js"; + +// 0128000800000000 + +export type lobbyCommandProcessor = ( + commandId: number, + data: Buffer, +) => Promise; + +export const lobbyCommandMap = new Map(); +lobbyCommandMap.set(0x30c, getLobMiniRiffList); +lobbyCommandMap.set(0x128, getLobMiniUserList); diff --git a/packages/nps/gameMessageProcessors/processCheckPlateText.ts b/packages/nps/gameMessageProcessors/processCheckPlateText.ts new file mode 100644 index 000000000..2c96d5d0e --- /dev/null +++ b/packages/nps/gameMessageProcessors/processCheckPlateText.ts @@ -0,0 +1,34 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { getLenString } from "../src/utils/pureGet.js"; +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { sendNPSAck } from "../src/utils/sendNPSAck.js"; + +const log = getServerLogger(); + +export async function processCheckPlateText( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processCheckPlateText"); + + const plateType = message.getDataAsBuffer().readUInt32BE(0); + + const requestedPlateText = getLenString( + message.getDataAsBuffer(), + 4, + false, + ); + + log.info( + `Requested plate text: ${requestedPlateText} for plate type ${plateType}`, + ); + + sendNPSAck(socketCallback); + log.resetName(); + return Promise.resolve(); +} + diff --git a/packages/nps/gameMessageProcessors/processCheckProfileName.ts b/packages/nps/gameMessageProcessors/processCheckProfileName.ts new file mode 100644 index 000000000..67bf2f4a7 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processCheckProfileName.ts @@ -0,0 +1,33 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { getLenString } from "../src/utils/pureGet.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export async function processCheckProfileName( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processCheckProfileName"); + const customerId = message.serialize().readUInt32BE(8); + + const requestedPersonaName = getLenString(message.serialize(), 12, false); + + log.info( + `Requested persona name: ${requestedPersonaName} for customer ${customerId}`, + ); + + const response = new GameMessage(0); + response.header.setId(0x601); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processCreateProfile.ts b/packages/nps/gameMessageProcessors/processCreateProfile.ts new file mode 100644 index 000000000..fe359a311 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processCreateProfile.ts @@ -0,0 +1,45 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { GameProfile } from "../messageStructs/GameProfile.js"; +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { addGameProfile } from "../services/profile.js"; + +const log = getServerLogger(); + +export async function processCreateProfile( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processCreateProfile"); + // Log the request + log.info(`ProcessCreateProfile request: ${message.toString()}`); + + const createProfileMessage = GameProfile.fromBytes( + message.getDataAsBuffer(), + ); + + // Log the request + log.info( + `ProcessCreateProfile request: ${createProfileMessage.toString()}`, + ); + + // Add the profile + addGameProfile(createProfileMessage); + + + // TODO: Send the response + const response = new GameMessage(257); + response.header.setId(0x601); + + response.setData(message.getData()); + + // Log the response + log.info(`ProcessCreateProfile response: ${response.toString()}`); + + socketCallback([response.serialize()]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processDeleteProfile.ts b/packages/nps/gameMessageProcessors/processDeleteProfile.ts new file mode 100644 index 000000000..0be750070 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processDeleteProfile.ts @@ -0,0 +1,109 @@ +import fs from "node:fs"; +import crypto from "node:crypto"; +import type { GameSocketCallback } from "./index.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { SessionKey } from "../messageStructs/SessionKey.js"; +import { getLenString } from "../src/utils/pureGet.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export function loadPrivateKey(path: string): string { + const privateKey = fs.readFileSync(path); + + return privateKey.toString("utf8"); +} + +export function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string { + const sessionKeyStructure = crypto.privateDecrypt( + privateKey, + Buffer.from(encryptedSessionKey, "hex"), + ); + + return sessionKeyStructure.toString("hex"); +} + +export function unpackUserLoginMessage(message: GameMessage): { + sessionKey: string; + gameId: string; + contextToken: string; +} { + // Get the context token + const ticket = getLenString(message.getDataAsBuffer(), 0, false); + + let dataOffset = ticket.length + 2; + + // The next data structure is a container with an empty id, a length, and a data structure + + // Skip the empty id + dataOffset += 2; + + // Get the next data length + const nextDataLength = message.getDataAsBuffer().readUInt16BE(dataOffset); + + // This value is the encrypted session key hex, stored as a string + const encryptedSessionKey = message + .getDataAsBuffer() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) + .toString("utf8"); + + // Load the private key + const privateKey = loadPrivateKey("./data/private_key.pem"); + + // Decrypt the session key + const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); + + // Unpack the session key + const sessionKeyStructure = SessionKey.fromBytes( + Buffer.from(sessionKey, "hex"), + ); + + // Update the data offset + dataOffset += 2 + nextDataLength; + + // Get the next data length + const nextDataLength2 = message.getDataAsBuffer().readUInt16BE(dataOffset); + + // This value is the game id (used by server to identify the game) + const gameId = message + .getDataAsBuffer() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) + .toString("utf8"); + + // Update the data offset + dataOffset += 2 + nextDataLength2; + + // Return the session key, game id, and context token + return { + sessionKey: sessionKeyStructure.getKey(), + gameId, + contextToken: ticket, + }; +} + +export async function processDeleteProfile( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processDeleteProfile"); + // Log the message + log.info(`Delete profile request: ${message.toString()}`); + + // TODO: Delete the profile + + // Create a new message - Login ACK + const loginACK = new GameMessage(0); + loginACK.header.setId(0x60c); + + // Send the ack + socketCallback([loginACK.serialize()]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processEncryptedGameCommand.ts b/packages/nps/gameMessageProcessors/processEncryptedGameCommand.ts new file mode 100644 index 000000000..d64c05a70 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processEncryptedGameCommand.ts @@ -0,0 +1,113 @@ +import { + GameMessage, + SerializableData, +} from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { getAsHex } from "../src/utils/pureGet.js"; +import { + type EncryptionSession, + getEncryptionSession, newEncryptionSession, + setEncryptionSession +} from "../src/EncryptionSession.js"; +import { lobbyCommandMap } from "./lobbyCommands.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export async function processEncryptedGameCommand( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processEncryptedGameCommand"); + log.info(`Attempting to decrypt message: ${message.toString()}`); + + // Get the encryption session + let encryptionSession: EncryptionSession | undefined = + getEncryptionSession(connectionId); + + // If the encryption session doesn't exist, attempt to create it + if (typeof encryptionSession === "undefined") { + try { + // Create the encryption session + const newSession = newEncryptionSession({ + connectionId, + customerId: userStatus.getCustomerId(), + sessionKey: userStatus.getSessionKey().getKey().substring(0, 16), + }); + setEncryptionSession(newSession); + encryptionSession = newSession; + } catch (error) { + log.error(`Error creating encryption session: ${error as string}`); + throw new Error("Error creating encryption session"); + } + + // Log the encryption session + log.info(`Created encryption session for ${userStatus.getCustomerId()}`); + } + + // Attempt to decrypt the message + const decryptedbytes = encryptionSession.gameDecipher.update( + message.getDataAsBuffer(), + ); + + // Log the decrypted bytes + log.info(`Decrypted bytes: ${getAsHex(decryptedbytes)}`); + + // Set the decrypted bytes as a new message + const decryptedMessage = new GameMessage(0); + decryptedMessage.deserialize(decryptedbytes); + + // Log the decrypted message id + log.info(`Decrypted message ID: ${decryptedMessage.header.getId()}`); + + // Do we have a valid message processor? + const processor = lobbyCommandMap.get(decryptedMessage.header.getId()); + + if (typeof processor === "undefined") { + const err = `No processor found for message ID: ${decryptedMessage.header.getId()}`; + log.fatal(err); + throw Error(err); + } + + // Process the message + const response = await processor( + decryptedMessage.header.getId(), + decryptedMessage.getDataAsBuffer(), + ); + + // Log the response + log.info(`Response: ${response.length} bytes, ${getAsHex(response)}`); + + // Encrypt the response + const encryptedResponse = encryptionSession.gameCipher.update(response); + setEncryptionSession(encryptionSession); + + // Log the encrypted response + log.info( + `Encrypted response: ${encryptedResponse.length} bytes, ${getAsHex( + encryptedResponse, + )}`, + ); + + const responsePacket = new GameMessage(0); + responsePacket.header.setId(0x1101); + + const responseData = new SerializableData(encryptedResponse.length); + responseData.deserialize(encryptedResponse); + + responsePacket.setData(responseData); + log.info( + `Response packet: ${responsePacket.header.getLength()} bytes, ${getAsHex( + responsePacket.serialize(), + )}`, + ); + const responseBytes = responsePacket.serialize(); + + socketCallback([responseBytes]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processGameLogin.ts b/packages/nps/gameMessageProcessors/processGameLogin.ts new file mode 100644 index 000000000..dd3c8ff05 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processGameLogin.ts @@ -0,0 +1,210 @@ +import type { ISerializable } from "../types.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import fs from "node:fs"; +import crypto from "node:crypto"; +import * as Sentry from "@sentry/node"; +import { getToken } from "../services/token.js"; +import type { GameSocketCallback } from "./index.js"; +import { SessionKey } from "../messageStructs/SessionKey.js"; +import { getAsHex, getLenString } from "../src/utils/pureGet.js"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { getServerConfiguration, getServerLogger } from "rusty-motors-shared"; +import { UserStatusManager } from "../src/UserStatusManager.js"; + +const log = getServerLogger(); + +export function loadPrivateKey(path: string): string { + const privateKey = fs.readFileSync(path); + + return privateKey.toString("utf8"); +} + +export function decryptSessionKey( + encryptedSessionKey: string, + privateKey: string, +): string { + const sessionKeyStructure = crypto.privateDecrypt( + privateKey, + Buffer.from(encryptedSessionKey, "hex"), + ); + + return sessionKeyStructure.toString("hex"); +} + +export function unpackUserLoginMessage(message: ISerializable): { + sessionKey: string; + gameId: string; + contextToken: string; +} { + log.setName("nps:unpackUserLoginMessage"); + log.info(`Unpacking user login message: ${getAsHex(message.serialize())}`); + + // Get the context token + const ticket = getLenString(message.serialize(), 0, false); + + let dataOffset = ticket.length + 2; + + // The next data structure is a container with an empty id, a length, and a data structure + + // Skip the empty id + dataOffset += 2; + + // Get the next data length + const nextDataLength = message.serialize().readUInt16BE(dataOffset); + + // This value is the encrypted session key hex, stored as a string + const encryptedSessionKey = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) + .toString("utf8"); + + // Load the private key + const privateKey = loadPrivateKey( + getServerConfiguration({}).privateKeyFile, + ); + + // Decrypt the session key + const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); + + log.info(`Decrypted session key: ${getAsHex(Buffer.from(sessionKey, "hex"))}`); + + // Unpack the session key + const sessionKeyStructure = SessionKey.fromBytes( + Buffer.from(sessionKey, "hex"), + ); + + log.info(`Session key structure: ${sessionKeyStructure.toString()}`); + + // Update the data offset + dataOffset += 2 + nextDataLength; + + // Get the next data length + const nextDataLength2 = message.serialize().readUInt16BE(dataOffset); + + // This value is the game id (used by server to identify the game) + const gameId = message + .serialize() + .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) + .toString("utf8"); + + // Update the data offset + dataOffset += 2 + nextDataLength2; + + log.resetName(); + + // Return the session key, game id, and context token + return { + sessionKey: sessionKeyStructure.getKey(), + gameId, + contextToken: ticket, + }; +} + +/** + * This is the initial connection to the Login server + */ +export async function processGameLogin( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + Sentry.startSpan( + { + name: "processLogin", + op: "processLogin", + }, + () => { + log.setName("nps:processLogin"); + + log.info(`Login: ${message.toString()}`); + + // Unpack the message + try { + const { sessionKey, contextToken } = + unpackUserLoginMessage(message.getData()); + + // Log the context token + log.info(`Context token: ${contextToken}`); + + // Log the session key + log.info(`Session key: ${sessionKey}`); + + // Look up the customer id + const user = getToken(contextToken); + + // If the user is not found, return an error + if (user === undefined) { + log.error(`User not found for context token: ${contextToken}`); + + // Create a new message - Not found + const response = new GameMessage(0); + response.header.setId(0x602); + + // Send the message - twice + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + () => { + socketCallback([response.serialize()]); + }, + ); + Sentry.startSpan( + { + name: "socketCallback", + op: "socketCallback", + }, + () => { + socketCallback([response.serialize()]); + }, + ); + + return; + } + + // Log the user + log.info(`User: ${user.customerId}`); + + // Create a new message - Login ACK + const loginACK = new GameMessage(0); + loginACK.header.setId(0x601); + + // Send the ack + socketCallback([loginACK.serialize()]); + + // Create a new UserStatus message + const userStatus = UserStatus.new(); + userStatus.setCustomerId(user.customerId); + userStatus.setPersonaId(0); + userStatus.ban.set({ + initiator: "Molly", + startComment: "Because I said so", + }); + userStatus.setSessionKey(SessionKey.fromKeyString(sessionKey)); + + UserStatusManager.addUserStatus(userStatus); + + // Create a new message - UserStatus + const userStatusMessage = new GameMessage(257); + userStatusMessage.header.setId(0x601); + + userStatusMessage.setData(userStatus); + + // Log the message + log.info(`UserStatus: ${userStatusMessage.toString()}`); + + // Send the message + socketCallback([userStatusMessage.serialize()]); + socketCallback([userStatusMessage.serialize()]); + + return; + } catch (e) { + console.error(e); + } + }, + ); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processGameLogout.ts b/packages/nps/gameMessageProcessors/processGameLogout.ts new file mode 100644 index 000000000..1bbaec17d --- /dev/null +++ b/packages/nps/gameMessageProcessors/processGameLogout.ts @@ -0,0 +1,15 @@ +import type { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { sendNPSAck } from "../src/utils/sendNPSAck.js"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +export async function processGameLogout( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + + sendNPSAck(socketCallback); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts b/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts new file mode 100644 index 000000000..c39c12904 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts @@ -0,0 +1,44 @@ +import { + GameMessage, + SerializableData, +} from "../messageStructs/GameMessage.js"; +import { getDWord } from "../src/utils/pureGet.js"; +import type { GameSocketCallback } from "./index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export async function processFirstBuddy( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processFirstBuddy"); + const profileId = getDWord(message.getDataAsBuffer(), 0, false); + + log.info(`GetFirstBuddy profile: ${profileId}`); + + // Look up the profiles for the customer ID + const profiles = getGameProfilesForCustomerId(profileId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + const outMessage = new GameMessage(257); + outMessage.header.setId(0x614); + outMessage.setData(new SerializableData(4)); + + // Log the message + log.info(`GetFirstBuddy: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processGetProfileInfo.ts b/packages/nps/gameMessageProcessors/processGetProfileInfo.ts new file mode 100644 index 000000000..2732b6864 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processGetProfileInfo.ts @@ -0,0 +1,63 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { getDWord, getAsHex } from "../src/utils/pureGet.js"; +import type { GameSocketCallback } from "./index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export async function processGetProfileInfo( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processGetProfileInfo"); + const customerId = getDWord(message.serialize(), 0, false); + + log.info(`GetProfileInfo: ${customerId}`); + + // Look up the profiles for the customer ID + const profiles = getGameProfilesForCustomerId(customerId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + const outMessage = new GameMessage(0); + + // Add each profile to the list + if (profiles) { + outMessage.header.setId(0x607); + for (const profile of profiles) { + // Log the profile + log.info(`GetProfileInfo: ${profile.toString()}`); // TODO: Remove this line + + list.addProfile(profile); + } + } else { + outMessage.header.setId(0x602); + } + + // Send the list back to the client + try { + // Log the message data + log.info(`GetProfileInfo: ${getAsHex(list.serialize())}`); + + outMessage.setData(list); + + // Log the message + log.info(`GetProfileInfo: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); + } catch (error) { + log.error(`Error sending profile info: ${error as string}`); + throw new Error("Error sending profile info"); + } +} diff --git a/packages/nps/gameMessageProcessors/processGetProfileMaps.ts b/packages/nps/gameMessageProcessors/processGetProfileMaps.ts new file mode 100644 index 000000000..bc582d296 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processGetProfileMaps.ts @@ -0,0 +1,68 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { getDWord, getAsHex } from "../src/utils/pureGet.js"; +import type { GameSocketCallback } from "./index.js"; +import { getGameProfilesForCustomerId } from "../services/profile.js"; +import { ProfileList } from "../messageStructs/ProfileList.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; + +const log = getServerLogger(); + +export async function processGetProfileMaps( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processGetProfileMaps"); + // This message is a version 257, but it's version is set to 0 + // This is a bug in the client, so we need to generate a new message + // with the correct version + const requestMessage = GameMessage.fromGameMessage(257, message); + + log.info(`GetProfileMaps (257): ${requestMessage.toString()}`); + + const customerId = getDWord(requestMessage.getDataAsBuffer(), 0, false); + + log.info(`GetProfileMaps: ${customerId}`); + + // Look up the profiles for the customer ID + const profiles = getGameProfilesForCustomerId(customerId); + + // Create a new NPSList of profiles + const list = new ProfileList(); + + // Add each profile to the list + if (profiles) { + for (const profile of profiles) { + // Log the profile + log.info(`GetProfileMaps: ${profile.toString()}`); + + list.addProfile(profile); + } + } + + // Send the list back to the client + try { + const outMessage = new GameMessage(257); + outMessage.header.setId(0x607); + + // Log the message data + log.info(`GetProfileMaps: ${getAsHex(outMessage.serialize())}`); + + outMessage.setData(list); + + // Log the message + log.info(`GetProfileMaps: ${outMessage.toString()}`); + + log.info("==========================================="); + + socketCallback([outMessage.serialize()]); + log.resetName(); + return Promise.resolve(); + } catch (error) { + log.error(`Error sending profile info: ${error as string}`); + throw new Error("Error sending profile info"); + } +} diff --git a/packages/nps/gameMessageProcessors/processPing.ts b/packages/nps/gameMessageProcessors/processPing.ts new file mode 100644 index 000000000..875427412 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processPing.ts @@ -0,0 +1,23 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { sendNPSAck } from "../src/utils/sendNPSAck.js"; + +const log = getServerLogger(); + +export async function processPing( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processPing"); + log.info(`Ping: ${message.toString()}`); + + sendNPSAck(socketCallback); + log.resetName(); + return Promise.resolve(); + +} diff --git a/packages/nps/gameMessageProcessors/processSelectPersona.ts b/packages/nps/gameMessageProcessors/processSelectPersona.ts new file mode 100644 index 000000000..97f571884 --- /dev/null +++ b/packages/nps/gameMessageProcessors/processSelectPersona.ts @@ -0,0 +1,53 @@ +import { GameMessage } from "../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "./index.js"; +import { getDWord } from "../src/utils/pureGet.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserStatusManager } from "../src/UserStatusManager.js"; +import { sendNPSAck } from "../src/utils/sendNPSAck.js"; + +const log = getServerLogger(); + +export async function processSelectPersona( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processSelectPersona"); + + log.info(`SelectPersona: ${message.toString()}`); + + const customerId = getDWord(message.getDataAsBuffer(), 0, false); + + const personaId = getDWord(message.getDataAsBuffer(), 4, false); + + const shardId = getDWord(message.getDataAsBuffer(), 8, false); + + // Log the values + log.info(`Customer ID: ${customerId}`); + log.info(`Persona ID: ${personaId}`); + log.info(`Shard ID: ${shardId}`); + + // Lookup the session + const existingStatus = UserStatusManager.getUserStatus(customerId); + + if (!existingStatus) { + log.error(`UserStatus not found for customer ID ${customerId}`); + throw new Error(`UserStatus not found for customer ID ${customerId}`); + } + + log.info( + `Setting persona ID to ${personaId} for ${existingStatus.getCustomerId()}`, + ); + + // Update the user status + existingStatus.setPersonaId(personaId); + + log.info(`GameLogin: ${message.toString()}`); + + sendNPSAck(socketCallback); + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/gameMessageProcessors/processUserLogin.ts b/packages/nps/gameMessageProcessors/processUserLogin.ts new file mode 100644 index 000000000..20b24e2fe --- /dev/null +++ b/packages/nps/gameMessageProcessors/processUserLogin.ts @@ -0,0 +1,71 @@ +import type { GameSocketCallback } from "./index.js"; +import { getDWord, getLenString } from "../src/utils/pureGet.js"; +import { GameMessage } from "../messageStructs/GameMessage.js"; +import { UserInfo } from "../messageStructs/UserInfo.js"; + +import { getServerLogger } from "rusty-motors-shared"; +import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { UserStatusManager } from "../src/UserStatusManager.js"; +import { getCustomerId } from "../services/profile.js"; + +const log = getServerLogger(); + +export async function processUserLogin( + connectionId: string, + userStatus: UserStatus, + message: GameMessage, + socketCallback: GameSocketCallback, +): Promise { + log.setName("nps:processUserLogin"); + + log.info(`UserLogin: ${message.toString()}`); + + // This message is a BareMessageV0 + + const personaId = getDWord(message.getDataAsBuffer(), 0, false); + + const profileName = getLenString(message.getDataAsBuffer(), 4, false); + + + // Lookup customerID from personaID + const customerID = getCustomerId(personaId); + + if( customerID === -1 ) { + log.error(`CustomerID not found for personaID: ${personaId}`); + throw new Error(`CustomerID not found for personaID: ${personaId}`); + } + + log.info(`LobbyLogin: ${personaId} ${profileName} ${customerID}`); + + const existingStatus = UserStatusManager.getUserStatus(customerID) + + if (typeof existingStatus === "undefined") { + log.error(`UserStatus not found for customerID: ${customerID}`); + throw new Error(`UserStatus not found for customerID: ${customerID}`); + } + + // Update the user status + existingStatus.setPersonaId(personaId); + + userStatus = existingStatus; + + log.info(`LobbyLogin: ${message.toString()}`); + + const response = new UserInfo(personaId, profileName); + + log.info(`Sending response: ${response.toString()}`); + + const responseMessage = new GameMessage(0); + responseMessage.header.setId(0x120); + + responseMessage.setData(response); + + log.info(`Response message: ${responseMessage.toString()}`); + + const responseBytes = responseMessage.serialize(); + + socketCallback([responseBytes]); + + log.resetName(); + return Promise.resolve(); +} diff --git a/packages/nps/src/utils/pureCompare.ts b/packages/nps/src/utils/pureCompare.ts new file mode 100644 index 000000000..8317df3da --- /dev/null +++ b/packages/nps/src/utils/pureCompare.ts @@ -0,0 +1,48 @@ +export function isZero(n: number): boolean { + // Return true if n is zero + return n === 0; +} + + +export function isUndefined(n: unknown): boolean { + // Return true if n is undefined + return typeof n === "undefined"; +} + +export function lessThan(a: number, b: number): boolean { + // Return true if a < b + return a < b; +} +export function lessThanOrEqual(a: number, b: number): boolean { + // Return true if a <= b + return a <= b; +} +export function greaterThan(a: number, b: number): boolean { + // Return true if a > b + return a > b; +} + +export function greaterThanOrEqual(a: number, b: number): boolean { + // Return true if a >= b + return a >= b; +} + +export function areBothZero(a: number, b: number): boolean { + // Return true if both a and b are zero + return isZero(a) && isZero(b); +} + +export function areBothUndefined(a: unknown, b: unknown): boolean { + // Return true if both a and b are undefined + return typeof a === "undefined" && typeof b === "undefined"; +} + +export function areBothSet(a: unknown, b: unknown): boolean { + // Return true if both a and b are set + return !isUndefined(a) && !isUndefined(b); +} + +export function isOnlyOneSet(a: unknown, b: unknown): boolean { + // Return true if only one of a and b is set + return !areBothSet(a, b) && (!isUndefined(a) || !isUndefined(b)); +} diff --git a/packages/nps/src/utils/pureGet.ts b/packages/nps/src/utils/pureGet.ts new file mode 100644 index 000000000..ae2d0fe3e --- /dev/null +++ b/packages/nps/src/utils/pureGet.ts @@ -0,0 +1,59 @@ +import { greaterThanOrEqual } from "./pureCompare.js"; + +export function getWord(bytes: Buffer, offset: number, isLE: boolean): number { + // Get the word at the offset + return isLE ? bytes.readUInt16LE(offset) : bytes.readUInt16BE(offset); +} + +export function getDWord(bytes: Buffer, offset: number, isLE: boolean): number { + // Get the dword at the offset + return isLE ? bytes.readUInt32LE(offset) : bytes.readUInt32BE(offset); +} + +/** + * Get the first n bytes of a buffer. + * If the buffer is shorter than n bytes, return the whole buffer + */ +export function getNBytes(bytes: Buffer, n: number): Buffer { + const bufferLength = bytes.length; + + const cutLength = greaterThanOrEqual(bufferLength, n) ? n : bufferLength; + + // Get the first n bytes + return bytes.subarray(0, cutLength); +} + +export function getAsHex(bytes: Buffer): string { + return bytes.length % 2 === 0 + ? bytes.toString("hex") + : bytes.toString("hex") + "0"; +} + +export function getLenString( + bytes: Buffer, + offset: number, + isLE: boolean, +): string { + // Get the length of the string + const strLen = getWord(bytes, offset, isLE); + + // Get the string + return bytes.subarray(offset + 2, offset + 2 + strLen).toString("utf8"); +} + +export function getLenBlob( + bytes: Buffer, + offset: number, + isLE: boolean, +): Buffer { + // Get the length of the blob + const blobLen = getDWord(bytes, offset, isLE); + + // Get the blob + return bytes.subarray(offset + 2, offset + 2 + blobLen); +} + +export function getShortBool(bytes: Buffer, offset: number): boolean { + // Get a 2 byte boolean + return bytes.readUInt16LE(offset) === 1; +} diff --git a/packages/nps/src/utils/purePut.ts b/packages/nps/src/utils/purePut.ts new file mode 100644 index 000000000..460301155 --- /dev/null +++ b/packages/nps/src/utils/purePut.ts @@ -0,0 +1,105 @@ +export function put16( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer { + // Put the word at the offset + if (isLE) { + bytes.writeUInt16LE(word, offset); + } else { + bytes.writeUInt16BE(word, offset); + } + return bytes; +} + +export function put8(bytes: Buffer, offset: number, byte: number): Buffer { + // Put the byte at the offset + bytes.writeUInt8(byte, offset); + return bytes; +} + +export function put16BE(bytes: Buffer, offset: number, word: number): Buffer { + return put16(bytes, offset, word, false); +} + +export function put16LE(bytes: Buffer, offset: number, word: number): Buffer { + return put16(bytes, offset, word, true); +} + +export function put32( + bytes: Buffer, + offset: number, + word: number, + isLE: boolean, +): Buffer { + // Put the word at the offset + if (isLE) { + bytes.writeUInt32LE(word, offset); + } else { + bytes.writeUInt32BE(word, offset); + } + return bytes; +} + +export function put32BE(bytes: Buffer, offset: number, word: number): Buffer { + return put32(bytes, offset, word, false); +} + +export function put32LE(bytes: Buffer, offset: number, word: number): Buffer { + return put32(bytes, offset, word, true); +} + +export function putLenString( + bytes: Buffer, + offset: number, + str: string, + isLE: boolean, +): Buffer { + // Get the length of the string + const strLen = str.length + 1; + + // Put the length of the string + if (isLE) { + bytes.writeUInt32LE(strLen, offset); + } else { + bytes.writeUInt32BE(strLen, offset); + } + + // Put the string + bytes.write(str.concat("\0"), offset + 4, strLen, "utf8"); + + return bytes; +} + +export function putLenBlob( + bytes: Buffer, + offset: number, + blob: Buffer, + isLE: boolean, +): Buffer { + // Get the length of the blob + const blobLen = blob.length; + + // Put the length of the blob + if (isLE) { + bytes.writeUInt32LE(blobLen, offset); + } else { + bytes.writeUInt32BE(blobLen, offset); + } + + // Put the blob + blob.copy(bytes, offset + 4); + + return bytes; +} + +export function putShortBool( + bytes: Buffer, + offset: number, + bool: boolean, +): Buffer { + // Put a 2 byte boolean + bytes.writeUInt16LE(bool ? 1 : 0, offset); + return bytes; +} diff --git a/packages/nps/src/utils/sendNPSAck.ts b/packages/nps/src/utils/sendNPSAck.ts new file mode 100644 index 000000000..19aadd979 --- /dev/null +++ b/packages/nps/src/utils/sendNPSAck.ts @@ -0,0 +1,11 @@ +import { GameMessage } from "../../messageStructs/GameMessage.js"; +import type { GameSocketCallback } from "../../gameMessageProcessors/index.js"; + +export function sendNPSAck(socketCallback: GameSocketCallback) { + const response = new GameMessage(0); + response.header.setId(519); + + const responseBytes = response.serialize(); + + socketCallback([responseBytes]); +} diff --git a/packages/patch/index.ts b/packages/patch/index.ts new file mode 100644 index 000000000..f627a66e6 --- /dev/null +++ b/packages/patch/index.ts @@ -0,0 +1 @@ +export { CastanetResponse } from "./src/PatchServer.js"; diff --git a/packages/shard/index.ts b/packages/shard/index.ts new file mode 100644 index 000000000..bc4e32925 --- /dev/null +++ b/packages/shard/index.ts @@ -0,0 +1,2 @@ +export { generateShardList } from "./src/ShardServer.js"; +export { handleGetCert, handleGetKey, handleGetRegistry } from "./src/index.js"; diff --git a/tsconfig.base.json b/tsconfig.base.json new file mode 100644 index 000000000..a20880408 --- /dev/null +++ b/tsconfig.base.json @@ -0,0 +1,21 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "skipLibCheck": true, + "target": "ES2022", + "verbatimModuleSyntax": true, + "resolveJsonModule": true, + "moduleDetection": "force", + "strict": true, + "noUncheckedIndexedAccess": true, + "moduleResolution": "Bundler", + "module": "ES2022", + "lib": ["ES2022"], + "declaration": true, + "sourceMap": true, + "outDir": "dist", + "emitDeclarationOnly": true + + }, + "include": ["apps/**/*", "packages/**/*", "drizzle.config.ts", "schema/**/*.ts"], +} From 47d914b2947bd23038eb7e9b7d06bdb27e910201 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 11 May 2024 22:01:45 -0400 Subject: [PATCH 333/452] feat: Add new modules for patch, cli, and shard --- .github/codecov.yml | 2 +- .npmrc | 3 +- apps/main/package.json | 6 +- apps/main/server.ts | 8 +- build.mjs | 76 -- drizzle/schema.ts | 163 ---- ecosystem.config.js | 8 - eslint.config.js | 7 +- package.json | 14 +- packages/cli/ConsoleThread.ts | 11 +- packages/cli/MessageQueue.ts | 9 +- packages/cli/ScheduledThread.ts | 12 +- packages/cli/package.json | 11 +- packages/connection/index.ts | 1 + packages/connection/package.json | 5 +- packages/connection/src/Connection.ts | 22 +- .../core/src/serializationHelpers.test.ts | 337 ------- packages/core/src/serializationHelpers.ts | 187 ---- packages/database/index.ts | 15 +- packages/database/package.json | 2 +- packages/database/src/DatabaseManager.ts | 2 +- .../database/src/functions/createNewCar.ts | 9 +- .../src/functions/getAbstractPartTypeId.ts | 50 +- .../src/functions/getWarehouseInventory.ts | 14 +- .../src/functions/transferPartAssembly.ts | 6 +- packages/database/src/seeders/index.ts | 2 +- .../src/seeders/populateAbstractPartType.ts | 6 +- .../database/src/seeders/populateBrand.ts | 6 +- .../src/seeders/populateBrandedPart.ts | 6 +- .../database/src/seeders/populateModel.ts | 6 +- .../database/src/seeders/populatePartGrade.ts | 6 +- .../database/src/seeders/populatePartType.ts | 6 +- .../database/src/seeders/populatePlayer.ts | 6 +- .../src/seeders/populatePlayerType.ts | 6 +- packages/database/src/seeders/populateSkin.ts | 6 +- .../database/src/seeders/populateSkinType.ts | 6 +- packages/database/src/services/admin.ts | 344 ------- packages/gateway/package.json | 22 +- packages/gateway/src/GatewayServer.ts | 65 +- packages/gateway/src/encryption.ts | 89 -- packages/gateway/src/handleGameMessage.ts | 16 +- packages/gateway/src/index.ts | 46 +- packages/gateway/src/web.ts | 14 +- packages/gateway/test/GatewayServer.test.ts | 6 +- packages/gateway/test/encryption.test.ts | 184 ---- .../gateway/test/socketErrorHandler.test.ts | 3 + packages/lobby/package.json | 16 - packages/lobby/src/LoginInfoMessage.ts | 97 -- .../lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts | 62 -- .../lobby/src/NPS_LOBBYSERVER_COMMANDS.ts | 57 -- packages/lobby/src/NPS_LOBBY_COMMANDS.ts | 13 - packages/lobby/src/UserInfoMessage.ts | 125 --- packages/lobby/src/handlers/_setMyUserData.ts | 49 - .../lobby/src/handlers/encryptedCommand.ts | 295 ------ .../src/handlers/handleGetMiniUserList.ts | 76 -- .../src/handlers/handleSendMiniRiffList.ts | 67 -- .../lobby/src/handlers/handleTrackingPing.ts | 24 - .../src/handlers/requestConnectGameServer.ts | 143 --- packages/lobby/src/internal.ts | 148 --- .../handlers/handleSendMiniRiffList.test.ts | 19 - packages/login/package.json | 13 - packages/login/src/NPSUserStatus.ts | 131 --- .../login/src/NPS_LOGINCLIENT_COMMANDS.ts | 61 -- packages/login/src/NPS_LOGIN_COMMANDS.ts | 12 - packages/login/src/index.ts | 153 ---- packages/login/src/internal.ts | 245 ----- packages/login/src/premadeLogin.ts | 277 ------ packages/login/test/LoginServer.test.ts | 16 - packages/mcots/index.ts | 3 +- packages/mcots/messageProcessors/index.ts | 12 +- .../messageProcessors/processClientConnect.ts | 18 +- .../processClientTracking.ts | 8 +- .../messageProcessors/processServerLogin.ts | 10 +- .../messageProcessors/processSetOptions.ts | 10 +- .../messageProcessors/processStockCarInfo.ts | 10 +- .../mcots/messageProcessors/sendSuccess.ts | 4 +- packages/mcots/package.json | 12 +- .../mcots/payloads/ClientConnectMessage.ts | 4 +- .../mcots/payloads/ClientTrackingMessage.ts | 4 +- .../mcots/payloads/LoginCompleteMessage.ts | 4 +- packages/mcots/payloads/LoginMessage.ts | 4 +- packages/mcots/payloads/SetOptionsMessage.ts | 4 +- packages/mcots/payloads/StockCar.ts | 10 +- packages/nps/index.ts | 13 +- .../messageProcessors/getLobMiniRiffList.ts | 37 - .../messageProcessors/getLobMiniUserList.ts | 25 - packages/nps/messageProcessors/index.ts | 86 -- .../nps/messageProcessors/lobbyCommands.ts | 15 - .../processCheckPlateText.ts | 37 - .../processCheckProfileName.ts | 33 - .../messageProcessors/processCreateProfile.ts | 45 - .../messageProcessors/processDeleteProfile.ts | 109 --- .../processEncryptedGameCommand.ts | 113 --- .../nps/messageProcessors/processGameLogin.ts | 210 ----- .../messageProcessors/processGetFirstBuddy.ts | 44 - .../processGetProfileInfo.ts | 63 -- .../processGetProfileMaps.ts | 68 -- packages/nps/messageProcessors/processPing.ts | 27 - .../messageProcessors/processSelectPersona.ts | 57 -- .../nps/messageProcessors/processUserLogin.ts | 71 -- packages/nps/messageStructs/GameMessage.ts | 4 +- packages/nps/messageStructs/GameProfile.ts | 4 +- packages/nps/messageStructs/MiniRiffList.ts | 4 +- packages/nps/messageStructs/MiniUserList.ts | 2 +- packages/nps/messageStructs/SessionKey.ts | 4 +- packages/nps/messageStructs/UserAction.ts | 4 +- packages/nps/package.json | 9 +- packages/nps/services/account.ts | 12 +- packages/nps/services/profile.ts | 10 +- packages/nps/src/UserStatusManager.ts | 2 +- packages/nps/utils/pureCompare.ts | 48 - packages/nps/utils/pureGet.ts | 59 -- packages/nps/utils/purePut.ts | 105 --- packages/patch/package.json | 9 +- packages/patch/src/PatchServer.ts | 2 +- packages/persona/index.ts | 1 - packages/persona/package.json | 13 - packages/persona/src/BuddyInfoMessage.ts | 132 --- packages/persona/src/PersonaMapsMessage.ts | 341 ------- packages/persona/src/_gameLogout.ts | 53 -- packages/persona/src/_getFirstBuddy.ts | 113 --- packages/persona/src/_selectGamePersona.ts | 58 -- .../persona/src/getPersonasByPersonaId.ts | 27 - .../src/handlers/validatePersonaName.ts | 49 - packages/persona/src/internal.ts | 315 ------- .../test/getPersonasByPersonaId.test.ts | 31 - packages/shard/package.json | 9 +- packages/shard/src/ShardServer.ts | 2 +- packages/shard/src/index.ts | 2 +- packages/shared-packets/index.ts | 1 - packages/shared-packets/package.json | 2 +- packages/shared-packets/src/GameMessage.ts | 169 ---- packages/shared-packets/src/ServerMessage.ts | 2 +- packages/shared/MessageNode.ts | 99 -- packages/shared/State.ts | 603 ------------ packages/shared/SubThread.ts | 3 +- packages/shared/Timestamp.ts | 76 -- packages/shared/index.ts | 38 +- packages/shared/messageFactory.ts | 856 ------------------ packages/shared/package.json | 2 +- packages/shared/src/SerializedBuffer.ts | 3 - packages/shared/src/encryption.ts | 46 +- packages/shared/src/types.ts | 75 +- pnpm-lock.yaml | 182 +++- schema/brandedPart.ts | 4 +- schema/model.ts | 2 +- schema/partType.ts | 4 +- schema/player.ts | 4 +- schema/profile.ts | 2 +- schema/skin.ts | 6 +- schema/stockVehicleAttributes.ts | 6 +- schema/warehouse.ts | 6 +- tsconfig.json | 3 +- 153 files changed, 620 insertions(+), 8098 deletions(-) delete mode 100644 build.mjs delete mode 100644 drizzle/schema.ts delete mode 100644 ecosystem.config.js delete mode 100644 packages/core/src/serializationHelpers.test.ts delete mode 100644 packages/core/src/serializationHelpers.ts delete mode 100644 packages/database/src/services/admin.ts delete mode 100644 packages/gateway/src/encryption.ts delete mode 100644 packages/gateway/test/encryption.test.ts delete mode 100644 packages/lobby/package.json delete mode 100644 packages/lobby/src/LoginInfoMessage.ts delete mode 100644 packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts delete mode 100644 packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts delete mode 100644 packages/lobby/src/NPS_LOBBY_COMMANDS.ts delete mode 100644 packages/lobby/src/UserInfoMessage.ts delete mode 100644 packages/lobby/src/handlers/_setMyUserData.ts delete mode 100644 packages/lobby/src/handlers/encryptedCommand.ts delete mode 100644 packages/lobby/src/handlers/handleGetMiniUserList.ts delete mode 100644 packages/lobby/src/handlers/handleSendMiniRiffList.ts delete mode 100644 packages/lobby/src/handlers/handleTrackingPing.ts delete mode 100644 packages/lobby/src/handlers/requestConnectGameServer.ts delete mode 100644 packages/lobby/src/internal.ts delete mode 100644 packages/lobby/test/handlers/handleSendMiniRiffList.test.ts delete mode 100644 packages/login/package.json delete mode 100644 packages/login/src/NPSUserStatus.ts delete mode 100644 packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts delete mode 100644 packages/login/src/NPS_LOGIN_COMMANDS.ts delete mode 100644 packages/login/src/index.ts delete mode 100644 packages/login/src/internal.ts delete mode 100644 packages/login/src/premadeLogin.ts delete mode 100644 packages/login/test/LoginServer.test.ts delete mode 100644 packages/nps/messageProcessors/getLobMiniRiffList.ts delete mode 100644 packages/nps/messageProcessors/getLobMiniUserList.ts delete mode 100644 packages/nps/messageProcessors/index.ts delete mode 100644 packages/nps/messageProcessors/lobbyCommands.ts delete mode 100644 packages/nps/messageProcessors/processCheckPlateText.ts delete mode 100644 packages/nps/messageProcessors/processCheckProfileName.ts delete mode 100644 packages/nps/messageProcessors/processCreateProfile.ts delete mode 100644 packages/nps/messageProcessors/processDeleteProfile.ts delete mode 100644 packages/nps/messageProcessors/processEncryptedGameCommand.ts delete mode 100644 packages/nps/messageProcessors/processGameLogin.ts delete mode 100644 packages/nps/messageProcessors/processGetFirstBuddy.ts delete mode 100644 packages/nps/messageProcessors/processGetProfileInfo.ts delete mode 100644 packages/nps/messageProcessors/processGetProfileMaps.ts delete mode 100644 packages/nps/messageProcessors/processPing.ts delete mode 100644 packages/nps/messageProcessors/processSelectPersona.ts delete mode 100644 packages/nps/messageProcessors/processUserLogin.ts delete mode 100644 packages/nps/utils/pureCompare.ts delete mode 100644 packages/nps/utils/pureGet.ts delete mode 100644 packages/nps/utils/purePut.ts delete mode 100644 packages/persona/index.ts delete mode 100644 packages/persona/package.json delete mode 100644 packages/persona/src/BuddyInfoMessage.ts delete mode 100644 packages/persona/src/PersonaMapsMessage.ts delete mode 100644 packages/persona/src/_gameLogout.ts delete mode 100644 packages/persona/src/_getFirstBuddy.ts delete mode 100644 packages/persona/src/_selectGamePersona.ts delete mode 100644 packages/persona/src/getPersonasByPersonaId.ts delete mode 100644 packages/persona/src/handlers/validatePersonaName.ts delete mode 100644 packages/persona/src/internal.ts delete mode 100644 packages/persona/test/getPersonasByPersonaId.test.ts delete mode 100644 packages/shared-packets/src/GameMessage.ts delete mode 100644 packages/shared/MessageNode.ts delete mode 100644 packages/shared/State.ts delete mode 100644 packages/shared/Timestamp.ts delete mode 100644 packages/shared/messageFactory.ts diff --git a/.github/codecov.yml b/.github/codecov.yml index ac099a10e..41c90cc37 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -19,7 +19,7 @@ flags: core: paths: - packages/core/** - carryforward: true + carryforward: false database: paths: - packages/database/** diff --git a/.npmrc b/.npmrc index 03450f723..b549de955 100644 --- a/.npmrc +++ b/.npmrc @@ -1 +1,2 @@ -node-options="--openssl-legacy-provider" \ No newline at end of file +node-options="--openssl-legacy-provider" +link-workspace-packages=true \ No newline at end of file diff --git a/apps/main/package.json b/apps/main/package.json index 3891e2a25..42d286d42 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -1,8 +1,7 @@ { - "name": "@rustymotors/server", + "name": "rusty-motors-server", "version": "1.0.0", "description": "", - "main": "index.js", "type": "module", "scripts": { "start": "tsx --openssl-legacy-provider --env-file=../../.env server.ts" @@ -11,6 +10,7 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@rustymotors/shared": "workspace:^" + "rusty-motors-gateway": "workspace:^", + "rusty-motors-shared": "workspace:^" } } diff --git a/apps/main/server.ts b/apps/main/server.ts index e43cafdce..971461bc7 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -16,10 +16,10 @@ import Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; -import { getServerLogger } from "../../packages/shared"; -import { verifyLegacyCipherSupport } from "../../packages/gateway/src/encryption.js"; -import { getServerConfiguration } from "../../packages/shared/Configuration.js"; -import { getGatewayServer } from "../../packages/gateway/src/GatewayServer.js"; +import { getServerLogger } from "rusty-motors-shared"; +import { verifyLegacyCipherSupport } from "rusty-motors-shared"; +import { getServerConfiguration } from "rusty-motors-shared"; +import { getGatewayServer } from "rusty-motors-gateway"; export default async function main() { diff --git a/build.mjs b/build.mjs deleted file mode 100644 index 914277007..000000000 --- a/build.mjs +++ /dev/null @@ -1,76 +0,0 @@ -import { sentryEsbuildPlugin } from "@sentry/esbuild-plugin"; -import fs from "node:fs"; -import esbuild from "esbuild"; -import { createRequire } from "node:module"; - -const require = createRequire(import.meta.url); - -const nativeNodeModulesPlugin = { - name: "native-node-modules", - setup(build) { - // If a ".node" file is imported within a module in the "file" namespace, resolve - // it to an absolute path and put it into the "node-file" virtual namespace. - build.onResolve({ filter: /\.node$/, namespace: "file" }, (args) => ({ - path: require.resolve(args.path, { paths: [args.resolveDir] }), - namespace: "node-file", - })); - - // Files in the "node-file" virtual namespace call "require()" on the - // path from esbuild of the ".node" file in the output directory. - build.onLoad({ filter: /.*/, namespace: "node-file" }, (args) => ({ - contents: ` - import path from ${JSON.stringify(args.path)} - try { module.exports = require(path) } - catch {} - `, - })); - - // If a ".node" file is imported within a module in the "node-file" namespace, put - // it in the "file" namespace where esbuild's default loading behavior will handle - // it. It is already an absolute path since we resolved it to one above. - build.onResolve( - { filter: /\.node$/, namespace: "node-file" }, - (args) => ({ - path: args.path, - namespace: "file", - }), - ); - - // Tell esbuild's default loading behavior to use the "file" loader for - // these ".node" files. - let opts = build.initialOptions; - opts.loader = opts.loader || {}; - opts.loader[".node"] = "file"; - }, -}; - -esbuild - .build({ - sourcemap: true, - platform: "node", - outdir: "dist", - entryPoints: ["apps/main/server.ts"], - format: "esm", - metafile: true, - bundle: true, - packages: "external", - banner: { - js: "import * as path from 'node:path';import { createRequire } from 'module';import { fileURLToPath } from 'node:url';const require = createRequire(import.meta.url);const __dirname = path.dirname(fileURLToPath(import.meta.url));", - }, - plugins: [ - nativeNodeModulesPlugin, - // Put the Sentry esbuild plugin after all other plugins - sentryEsbuildPlugin({ - authToken: process.env.SENTRY_AUTH_TOKEN, - org: "drazisilcom", - project: "rusty-motors-server", - }), - ], - }) - .then((result) => { - fs.writeFileSync("meta.json", JSON.stringify(result.metafile)); - }) - .catch((e) => { - console.error(e); - process.exit(1); - }); diff --git a/drizzle/schema.ts b/drizzle/schema.ts deleted file mode 100644 index e620ffd38..000000000 --- a/drizzle/schema.ts +++ /dev/null @@ -1,163 +0,0 @@ -import { pgTable, uniqueIndex, index, foreignKey, integer, varchar, text, numeric, smallint } from "drizzle-orm/pg-core" - import { sql } from "drizzle-orm" - - - -export const abstractPartTypes = pgTable("abstract_part_types", { - abstractPartTypeId: integer("abstractPartTypeId").primaryKey().notNull(), - parentAbstractPartTypeId: integer("parentAbstractPartTypeId"), - dependsOn: integer("dependsOn"), - partFilename: varchar("partFilename", { length: 255 }).default(NULL::character varying), - eapt: varchar("eapt", { length: 255 }).default(NULL::character varying), - gapt: varchar("gapt", { length: 255 }).default(NULL::character varying), - fapt: varchar("fapt", { length: 255 }).default(NULL::character varying), - sapt: varchar("sapt", { length: 255 }).default(NULL::character varying), - iapt: varchar("iapt", { length: 255 }).default(NULL::character varying), - japt: varchar("japt", { length: 255 }).default(NULL::character varying), - swapt: varchar("swapt", { length: 255 }).default(NULL::character varying), - bapt: varchar("bapt", { length: 255 }).default(NULL::character varying), - modifiedRule: integer("modifiedRule").default(0), - eut: text("eut"), - gut: text("gut"), - fut: text("fut"), - sut: text("sut"), - iut: text("iut"), - jut: text("jut"), - swut: text("swut"), - but: text("but"), - partPared: integer("partPared").default(0), - schematicPicname1: varchar("schematicPicname1", { length: 255 }).default(NULL::character varying), - schematicPicname2: varchar("schematicPicname2", { length: 255 }).default(NULL::character varying), - blockFamilyCompatibility: integer("blockFamilyCompatibility").default(0), - repairCostModifier: numeric("repairCostModifier", { precision: 100, scale: 7 }).default('0'), - scrapValueModifier: numeric("scrapValueModifier", { precision: 100, scale: 7 }).default('0'), - garageCategory: integer("garageCategory").default(0), -}, -(table) => { - return { - abstractPartTypeId: uniqueIndex("abstract_part_types_abstract_part_type_id").on(table.abstractPartTypeId), - parentAbstractPartTypeId: index("abstract_part_types_parent_abstract_part_type_id").on(table.parentAbstractPartTypeId), - dependsOn: index("abstract_part_types_depends_on").on(table.dependsOn), - abstractPartTypesParentAbstractPartTypeIdFkey: foreignKey({ - columns: [table.parentAbstractPartTypeId], - foreignColumns: [table.abstractPartTypeId], - name: "abstract_part_types_parentAbstractPartTypeId_fkey" - }).onUpdate("cascade").onDelete("set null"), - abstractPartTypesDependsOnFkey: foreignKey({ - columns: [table.dependsOn], - foreignColumns: [table.abstractPartTypeId], - name: "abstract_part_types_dependsOn_fkey" - }).onUpdate("cascade").onDelete("set null"), - } -}); - -export const skinTypes = pgTable("skin_types", { - skinTypeId: smallint("skinTypeId").primaryKey().notNull(), - skinType: varchar("skinType", { length: 255 }).notNull(), -}, -(table) => { - return { - skinTypeId: uniqueIndex("skin_types_skin_type_id").on(table.skinTypeId), - } -}); - -export const ptSkins = pgTable("pt_skins", { - skinId: integer("skinId").primaryKey().notNull(), - creatorId: integer("creatorId").notNull(), - skinTypeId: smallint("skinTypeId").notNull().references(() => skinTypes.skinTypeId), - partTypeId: integer("partTypeId").notNull().references(() => partTypes.partTypeId), - eSkin: varchar("eSkin", { length: 255 }).notNull(), - gSkin: varchar("gSkin", { length: 255 }).notNull(), - fSkin: varchar("fSkin", { length: 255 }).notNull(), - sSkin: varchar("sSkin", { length: 255 }).notNull(), - iSkin: varchar("iSkin", { length: 255 }).notNull(), - jSkin: varchar("jSkin", { length: 255 }).notNull(), - swSkin: varchar("swSkin", { length: 255 }).notNull(), - bSkin: varchar("bSkin", { length: 255 }).notNull(), - price: integer("price").notNull(), - partFilename: varchar("partFilename", { length: 255 }).notNull(), - h0: smallint("h0").notNull(), - s0: smallint("s0").notNull(), - v0: smallint("v0").notNull(), - c0: smallint("c0").notNull(), - x0: smallint("x0").notNull(), - y0: smallint("y0").notNull(), - h1: smallint("h1").notNull(), - s1: smallint("s1").notNull(), - v1: smallint("v1").notNull(), - c1: smallint("c1").notNull(), - x1: smallint("x1").notNull(), - y1: smallint("y1").notNull(), - h2: smallint("h2").notNull(), - s2: smallint("s2").notNull(), - v2: smallint("v2").notNull(), - c2: smallint("c2").notNull(), - x2: smallint("x2").notNull(), - y2: smallint("y2").notNull(), - h3: smallint("h3").notNull(), - s3: smallint("s3").notNull(), - v3: smallint("v3").notNull(), - c3: smallint("c3").notNull(), - x3: smallint("x3").notNull(), - y3: smallint("y3").notNull(), - h4: smallint("h4").notNull(), - s4: smallint("s4").notNull(), - v4: smallint("v4").notNull(), - c4: smallint("c4").notNull(), - x4: smallint("x4").notNull(), - y4: smallint("y4").notNull(), - h5: smallint("h5").notNull(), - s5: smallint("s5").notNull(), - v5: smallint("v5").notNull(), - c5: smallint("c5").notNull(), - x5: smallint("x5").notNull(), - y5: smallint("y5").notNull(), - h6: smallint("h6").notNull(), - s6: smallint("s6").notNull(), - v6: smallint("v6").notNull(), - c6: smallint("c6").notNull(), - x6: smallint("x6").notNull(), - y6: smallint("y6").notNull(), - h7: smallint("h7").notNull(), - s7: smallint("s7").notNull(), - v7: smallint("v7").notNull(), - c7: smallint("c7").notNull(), - x7: smallint("x7").notNull(), - y7: smallint("y7").notNull(), - defaultFlag: integer("defaultFlag").default(0).notNull(), - creatorName: varchar("creatorName", { length: 255 }).notNull(), - commentText: varchar("commentText", { length: 255 }).notNull(), -}, -(table) => { - return { - skinId: uniqueIndex("pt_skins_skin_id").on(table.skinId), - partTypeId: index("pt_skins_part_type_id").on(table.partTypeId), - skinTypeId: index("pt_skins_skin_type_id").on(table.skinTypeId), - } -}); - -export const partTypes = pgTable("part_types", { - partTypeId: integer("partTypeId").primaryKey().notNull(), - abstractPartTypeId: integer("abstractPartTypeId").references(() => abstractPartTypes.abstractPartTypeId), - partGradeId: integer("partGradeId").references(() => partGrades.partGradeId), - partType: varchar("partType", { length: 255 }).default(NULL::character varying), - partFilename: varchar("partFilename", { length: 255 }).default(NULL::character varying), -}, -(table) => { - return { - partTypeId: uniqueIndex("part_types_part_type_id").on(table.partTypeId), - } -}); - -export const partGrades = pgTable("part_grades", { - partGradeId: integer("partGradeId").primaryKey().notNull(), - eText: varchar("eText", { length: 255 }).default(NULL::character varying), - gText: varchar("gText", { length: 255 }).default(NULL::character varying), - fText: varchar("fText", { length: 255 }).default(NULL::character varying), - partGrade: varchar("partGrade", { length: 255 }).default(NULL::character varying), -}, -(table) => { - return { - partGradeId: uniqueIndex("part_grades_part_grade_id").on(table.partGradeId), - } -}); \ No newline at end of file diff --git a/ecosystem.config.js b/ecosystem.config.js deleted file mode 100644 index 9ca86d197..000000000 --- a/ecosystem.config.js +++ /dev/null @@ -1,8 +0,0 @@ -module.exports = { - apps: [ - { - name: "app1", - script: "./app.js", - }, - ], -}; diff --git a/eslint.config.js b/eslint.config.js index 19e2d6a35..a64b3cafa 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -5,7 +5,7 @@ import tseslint from "typescript-eslint"; export default tseslint.config( eslint.configs.recommended, - ...tseslint.configs.recommendedTypeChecked, + ...tseslint.configs.strict, { languageOptions: { parserOptions: { @@ -13,12 +13,15 @@ export default tseslint.config( tsconfigRootDir: import.meta.dirname, }, }, + rules: { + "@typescript-eslint/no-unused-vars": "warn", + }, }, { files: ["**/*.js"], extends: [tseslint.configs.disableTypeChecked], }, { - ignores: ["vite.config.ts"], + ignores: ["vite.config.ts", "dist", "node_modules"], }, ); diff --git a/package.json b/package.json index ea6598087..11aa7928d 100644 --- a/package.json +++ b/package.json @@ -3,14 +3,11 @@ "version": "0.5.0", "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", "type": "module", - "exports": { - ".": "./dist/index.js" - }, "scripts": { - "check": "tsc --noEmit", + "check": "tsc", "lint": "pnpm eslint .", "build": "node build.mjs", - "start": "node --env-file=.env dist/server.js", + "start": "node --loader=ts-node/esm --env-file=.env apps/main/server.ts", "dev:rsc": "tsc --watch --preserveWatchOutput", "dev:node": "node --watch dist/apps/main/server.js", "dev:esbuild": "pnpm run build --watch", @@ -45,9 +42,9 @@ }, "dependencies": { "@fastify/sensible": "^5.6.0", - "@rustymotors/database": "workspace:^", - "@rustymotors/shared": "workspace:^", - "@rustymotors/shared-packets": "workspace:^", + "rusty-motors-database": "workspace:^", + "rusty-motors-shared": "workspace:^", + "rusty-motors-shared-packets": "workspace:^", "@sentry/esbuild-plugin": "^2.16.1", "dotenv": "^16.4.5", "drizzle-orm": "^0.30.10", @@ -56,6 +53,7 @@ "pino": "^8.21.0", "pino-pretty": "^11.0.0", "short-unique-id": "^5.2.0", + "ts-node": "^10.9.2", "tsx": "^4.9.4" }, "packageManager": "pnpm@9.1.0" diff --git a/packages/cli/ConsoleThread.ts b/packages/cli/ConsoleThread.ts index 70bc6b6cc..43d520ec1 100644 --- a/packages/cli/ConsoleThread.ts +++ b/packages/cli/ConsoleThread.ts @@ -1,16 +1,17 @@ import { emitKeypressEvents } from "node:readline"; -import { SubThread, type KeypressEvent, type TServerLogger } from "../shared"; -import { Gateway } from "../gateway/src/GatewayServer.js"; +import { SubThread, type KeypressEvent, type TServerLogger } from "rusty-motors-shared"; +import type { TConsoleThread, TGateway } from "rusty-motors-shared"; /** * @module ConsoleThread */ + /** * Console thread */ -export class ConsoleThread extends SubThread { - parentThread: Gateway; +export class ConsoleThread extends SubThread implements TConsoleThread{ + parentThread: TGateway; /** * @param {object} options * @param {Gateway} options.parentThread The parent thread @@ -20,7 +21,7 @@ export class ConsoleThread extends SubThread { parentThread, log, }: { - parentThread: Gateway; + parentThread: TGateway; log: TServerLogger; }) { super("ReadInput", log, 100); diff --git a/packages/cli/MessageQueue.ts b/packages/cli/MessageQueue.ts index 8bcc3857d..bc5c438ba 100644 --- a/packages/cli/MessageQueue.ts +++ b/packages/cli/MessageQueue.ts @@ -1,10 +1,9 @@ -import { SubThread, type TServerLogger } from "../shared/"; -import { Gateway } from "../gateway/src/GatewayServer.js"; -import type { ServerMessage } from "../shared-packets"; +import { SubThread, type TGateway, type TServerLogger } from "rusty-motors-shared"; +import type { ServerMessage } from "rusty-motors-shared-packets"; export class MessageQueue extends SubThread { - parentThread: Gateway; + parentThread: TGateway; private _messageQueue: ServerMessage[] = []; @@ -19,7 +18,7 @@ export class MessageQueue extends SubThread { parentThread, log, }: { - parentThread: Gateway; + parentThread: TGateway; log: TServerLogger; }) { super("MessageQueue", log, 100); diff --git a/packages/cli/ScheduledThread.ts b/packages/cli/ScheduledThread.ts index 1347f51ca..23b7d41d1 100644 --- a/packages/cli/ScheduledThread.ts +++ b/packages/cli/ScheduledThread.ts @@ -1,15 +1,17 @@ -import { SubThread, type TServerLogger } from "../shared/"; -import { Gateway } from "../gateway/src/GatewayServer.js"; +import { SubThread, type TServerLogger } from "rusty-motors-shared"; +import type { TGateway, TScheduledThread } from "rusty-motors-shared"; /** * @module ConsoleThread */ + + /** * Console thread */ -export class ScheduledThread extends SubThread { - parentThread: Gateway; +export class ScheduledThread extends SubThread implements TScheduledThread{ + parentThread: TGateway; /** * @param {object} options * @param {Gateway} options.parentThread The parent thread @@ -19,7 +21,7 @@ export class ScheduledThread extends SubThread { parentThread, log, }: { - parentThread: Gateway; + parentThread: TGateway; log: TServerLogger; }) { super("ScheduledThread", log, 100); diff --git a/packages/cli/package.json b/packages/cli/package.json index e26867554..7d91b07d8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/cli", + "name": "rusty-motors-cli", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -11,6 +16,6 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@rustymotors/shared": "workspace:*" + "rusty-motors-shared": "workspace:*" } } diff --git a/packages/connection/index.ts b/packages/connection/index.ts index e69de29bb..9ba52d1e4 100644 --- a/packages/connection/index.ts +++ b/packages/connection/index.ts @@ -0,0 +1 @@ +export { Connection } from "./src/Connection.js"; diff --git a/packages/connection/package.json b/packages/connection/package.json index 471155d90..07cc6a8d9 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -1,5 +1,5 @@ { - "name": "rm-connection-service", + "name": "rusty-motors-connection", "version": "1.0.0", "description": "", "exports": { @@ -16,7 +16,6 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - + "rusty-motors-mcots": "workspace:^" } } - diff --git a/packages/connection/src/Connection.ts b/packages/connection/src/Connection.ts index 4267eef01..73bea548d 100644 --- a/packages/connection/src/Connection.ts +++ b/packages/connection/src/Connection.ts @@ -15,18 +15,18 @@ // along with this program. If not, see . import type { Socket } from "node:net"; -import { ServerMessage } from "../../shared-packets"; -import { getServerMessageProcessor } from "../../mcots"; -import type { TServerLogger } from "../../shared"; +import { ServerMessage } from "rusty-motors-shared-packets"; +import { getServerMessageProcessor } from "rusty-motors-mcots"; +import type { TServerLogger } from "rusty-motors-shared"; import * as Sentry from "@sentry/node"; -import { getDatabase } from "../../database"; -import { key as keySchema } from "../../../schema/key"; +import { getDatabase } from "rusty-motors-database"; +import { key as keySchema } from "../../../schema/key.js"; import { eq } from "drizzle-orm"; import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; -import { McosEncryptionPair } from "../../shared"; -import { ClientConnectionManager } from "../../mcots/ClientConnectionManager"; -import { getServerLogger } from "../../shared"; -import { ErrorNoKey } from "../../mcots/errors/ErrorNoKey"; +import { McosEncryptionPair } from "rusty-motors-shared"; +import { ClientConnectionManager } from "rusty-motors-mcots"; +import { getServerLogger } from "rusty-motors-shared"; +import { ErrorNoKey } from "rusty-motors-mcots"; const log = getServerLogger(); @@ -174,7 +174,7 @@ export class Connection { .from(keySchema) .where(eq(keySchema.userId, this._personaId)) .then((rows) => { - if (rows.length !== 1) { + if (rows.length < 1 || typeof rows[0] === "undefined") { this._logger.error( `Error getting cipher key from database for persona ID ${this._personaId}`, ); @@ -183,7 +183,7 @@ export class Connection { ); } - return rows[0]!.sessionKey; + return rows[0].sessionKey; }); // Set the cipher key diff --git a/packages/core/src/serializationHelpers.test.ts b/packages/core/src/serializationHelpers.test.ts deleted file mode 100644 index ea8b97b6a..000000000 --- a/packages/core/src/serializationHelpers.test.ts +++ /dev/null @@ -1,337 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { - serializeBool, - serializeByte, - serializeWord, - serializeDWord, - serializeFloat, - serializeString, - deserializeBool, - deserializeByte, - deserializeWord, - deserializeDWord, - deserializeFloat, - deserializeString, - sizeOfBool, - sizeOfByte, - sizeOfWord, - sizeOfDWord, - sizeOfFloat, - sizeOfString, - clamp16, - clamp32, -} from "./serializationHelpers.js"; - -describe("serializationHelpers", () => { - describe("serializeBool()", () => { - it("should serialize a boolean value", () => { - // Arrange - const input = true; - const expected = Buffer.from([1]); - - // Act - const actual = serializeBool(input); - - // Assert - expect(actual).toEqual(expected); - }); - - it("should serialize a boolean value", () => { - // Arrange - const input = false; - const expected = Buffer.from([0]); - - // Act - const actual = serializeBool(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeBool()", () => { - it("should deserialize a boolean value", () => { - // Arrange - const input = Buffer.from([1]); - const expected = true; - - // Act - const actual = deserializeBool(input); - - // Assert - expect(actual).toEqual(expected); - }); - - it("should deserialize a boolean value", () => { - // Arrange - const input = Buffer.from([0]); - const expected = false; - - // Act - const actual = deserializeBool(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("sizeOfBool()", () => { - it("should return the size of a boolean value", () => { - // Arrange - const expected = 1; - - // Act - const actual = sizeOfBool(); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("serializeByte()", () => { - it("should serialize a byte value", () => { - // Arrange - const input = 1; - const expected = Buffer.from([1]); - - // Act - const actual = serializeByte(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeByte()", () => { - it("should deserialize a byte value", () => { - // Arrange - const input = Buffer.from([1]); - const expected = 1; - - // Act - const actual = deserializeByte(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("sizeOfByte()", () => { - it("should return the size of a byte value", () => { - // Arrange - const expected = 1; - - // Act - const actual = sizeOfByte(); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("serializeWord()", () => { - it("should serialize a word value", () => { - // Arrange - const input = 1; - const expected = Buffer.from([0, 1]); - - // Act - const actual = serializeWord(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeWord()", () => { - it("should deserialize a word value", () => { - // Arrange - const input = Buffer.from([0, 1]); - const expected = 1; - - // Act - const actual = deserializeWord(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("sizeOfWord()", () => { - it("should return the size of a word value", () => { - // Arrange - const expected = 2; - - // Act - const actual = sizeOfWord(); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("serializeDWord()", () => { - it("should serialize a dword value", () => { - // Arrange - const input = 1; - const expected = Buffer.from([0, 0, 0, 1]); - - // Act - const actual = serializeDWord(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeDWord()", () => { - it("should deserialize a dword value", () => { - // Arrange - const input = Buffer.from([0, 0, 0, 1]); - const expected = 1; - - // Act - const actual = deserializeDWord(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("sizeOfDWord()", () => { - it("should return the size of a dword value", () => { - // Arrange - const expected = 4; - - // Act - const actual = sizeOfDWord(); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("serializeFloat()", () => { - it("should serialize a float value", () => { - // Arrange - const input = 1; - const expected = Buffer.from([63, 128, 0, 0]); - - // Act - const actual = serializeFloat(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeFloat()", () => { - it("should deserialize a float value", () => { - // Arrange - const input = Buffer.from([63, 128, 0, 0]); - const expected = 1; - - // Act - const actual = deserializeFloat(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("sizeOfFloat()", () => { - it("should return the size of a float value", () => { - // Arrange - const expected = 4; - - // Act - const actual = sizeOfFloat(); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("serializeString()", () => { - it("should serialize a string value", () => { - // Arrange - const input = "test"; - const expected = Buffer.from([0, 4, 116, 101, 115, 116]); - - // Act - const actual = serializeString(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); - - describe("deserializeString()", () => { - it("should deserialize a string value", () => { - // Arrange - const input = Buffer.from([0, 4, 116, 101, 115, 116]); - const expected = "test"; - - // Act - const actual = deserializeString(input); - - // Assert - expect(actual).toEqual(expected); - }); - - it("should throw an error if the size is bigger than the buffer length - 2", () => { - // Arrange - const input = Buffer.from([0, 5, 116, 101, 115, 116]); - - // Act - const actual = () => deserializeString(input); - - // Assert - expect(actual).toThrowError( - "Size is bigger than the buffer length - 2", - ); - }); - }); - - describe("sizeOfString()", () => { - it("should return the size of a string value", () => { - // Arrange - const input = "test"; - const expected = 6; - - // Act - const actual = sizeOfString(input); - - // Assert - expect(actual).toEqual(expected); - }); - }); -}); - -describe("clamp16()", () => { - it("should clamp a value between 0 and 65535", () => { - // Arrange - const input = 65536; - const expected = 65535; - - // Act - const actual = clamp16(input); - - // Assert - expect(actual).toEqual(expected); - }); -}); - -describe("clamp32()", () => { - it("should clamp a value between 0 and 4294967295", () => { - // Arrange - const input = 4294967296; - const expected = 4294967295; - - // Act - const actual = clamp32(input); - - // Assert - expect(actual).toEqual(expected); - }); -}); diff --git a/packages/core/src/serializationHelpers.ts b/packages/core/src/serializationHelpers.ts deleted file mode 100644 index ca88ef675..000000000 --- a/packages/core/src/serializationHelpers.ts +++ /dev/null @@ -1,187 +0,0 @@ -/** - * Clamp a value between 0 and 255 - * @param {number} value - * @returns {number} - */ -export function clamp16(value: number): number { - return Math.max(0, Math.min(65535, value)); -} - -/** - * Clamp a value between 0 and 65535 - * @param {number} value - * @returns {number} - */ -export function clamp32(value: number): number { - return Math.max(0, Math.min(4294967295, value)); -} - -/** - * Serializes a boolean to a buffer. - * @param {boolean} bool - * @returns {Buffer} - */ -export function serializeBool(bool: boolean): Buffer { - const buf = Buffer.alloc(1); - - buf.writeUInt8(bool ? 1 : 0); - - return buf; -} - -/** - * Serializes a byte to a buffer. - * @param {number} byte - * @returns {Buffer} - */ -export function serializeByte(byte: number): Buffer { - const buf = Buffer.alloc(1); - - buf.writeUInt8(byte); - - return buf; -} - -/** - * Serializes a word to a buffer. - * @param {number} word - * @returns {Buffer} - */ -export function serializeWord(word: number): Buffer { - const buf = Buffer.alloc(2); - - buf.writeUInt16BE(word); - - return buf; -} - -/** - * Serializes a dword to a buffer. - * @param {number} dword - * @returns {Buffer} - */ -export function serializeDWord(dword: number): Buffer { - const buf = Buffer.alloc(4); - - buf.writeUInt32BE(dword); - - return buf; -} - -/** - * Serializes a float to a buffer. - * @param {number} f - * @returns {Buffer} - */ -export function serializeFloat(f: number): Buffer { - const buf = Buffer.alloc(4); - - buf.writeFloatBE(f); - - return buf; -} - -/** - * Serializes a string to a buffer. The buffer will be prefixed with the length of the string. - * @param {string} str - * @returns {Buffer} - */ -export function serializeString(str: string): Buffer { - const buf = Buffer.alloc(str.length + 2); - - buf.writeUInt16BE(str.length); - buf.write(str, 2); - - return buf; -} - -/** - * Deserializes a boolean from a buffer. - * @param {Buffer} buff - * @returns {boolean} - */ -export function deserializeBool(buff: Buffer): boolean { - return buff.readUInt8() === 1; -} - -/** - * Deserializes a byte from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export function deserializeByte(buff: Buffer): number { - return buff.readUInt8(); -} - -/** - * Deserializes a word from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export function deserializeWord(buff: Buffer): number { - return buff.readUInt16BE(); -} - -/** - * Deserializes a dword from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export function deserializeDWord(buff: Buffer): number { - return buff.readUInt32BE(); -} - -/** - * Deserializes a float from a buffer. - * @param {Buffer} buff - * @returns {number} - */ -export function deserializeFloat(buff: Buffer): number { - return buff.readFloatBE(); -} - -/** - * Deserializes a string from a buffer. The buffer is expected to be prefixed with the length of the string. - * @param {Buffer} buf - * @returns {string} - */ -export function deserializeString(buf: Buffer): string { - const size = buf.readUInt16BE(); - if (size > buf.length - 2) { - throw Error( - `Size is bigger than the buffer length - 2. Size: ${size}, Buffer length: ${buf.length}`, - ); - } - const str = buf.subarray(2, size + 2).toString("utf8"); - - return str; -} - -export function sizeOfBool() { - return 1; -} - -export function sizeOfByte() { - return 1; -} - -export function sizeOfWord() { - return 2; -} - -export function sizeOfDWord() { - return 4; -} - -export function sizeOfFloat() { - return 4; -} - -/** - * Returns the size of a string, including the length prefix. - * @param {string} string - * @returns {number} - */ -export function sizeOfString(string: string): number { - return string.length + 2; -} diff --git a/packages/database/index.ts b/packages/database/index.ts index e98234966..251e44588 100644 --- a/packages/database/index.ts +++ b/packages/database/index.ts @@ -4,5 +4,16 @@ export { updateSessionKey, fetchSessionKeyByConnectionId, } from "./src/DatabaseManager.js"; -export { getDatabase } from "./src/services/database.js"; - +export { getDatabase } from "./src/services/database.js"; +export { populatePlayer } from "./src/seeders/populatePlayer.js"; +export { populatePlayerType } from "./src/seeders/populatePlayerType.js"; +export { populateBrandedPart } from "./src/seeders/populateBrandedPart.js"; +export { populatePartType } from "./src/seeders/populatePartType.js"; +export { populateModel } from "./src/seeders/populateModel.js"; +export { populateAbstractPartType } from "./src/seeders/populateAbstractPartType.js"; +export { populatePartGrade } from "./src/seeders/populatePartGrade.js"; +export { populateBrand } from "./src/seeders/populateBrand.js"; +export { populateSkin } from "./src/seeders/populateSkin.js"; +export { populateSkinType } from "./src/seeders/populateSkinType.js"; +export { getWarehouseInventory } from "./src/functions/getWarehouseInventory.js"; +export type { WarehouseInventory } from "./src/functions/getWarehouseInventory.js"; diff --git a/packages/database/package.json b/packages/database/package.json index 99a39e5c2..d9491c284 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,5 +1,5 @@ { - "name": "@rustymotors/database", + "name": "rusty-motors-database", "version": "1.0.0", "description": "", "exports": { diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index ff1bd8b85..356eb0664 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -3,7 +3,7 @@ * @see {@link getDatabaseServer()} to get a singleton instance */ -import type { ConnectionRecord } from "@rustymotors/shared"; +import type { ConnectionRecord } from "rusty-motors-shared"; /** * This class abstracts database methods diff --git a/packages/database/src/functions/createNewCar.ts b/packages/database/src/functions/createNewCar.ts index f12b3d341..523f7b5f9 100644 --- a/packages/database/src/functions/createNewCar.ts +++ b/packages/database/src/functions/createNewCar.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "rusty-motors-shared"; import { stockAssembly as stockAssemblySchema } from "../../../../schema/stockAssembly"; import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; import { getDatabase } from "../services/database"; @@ -8,6 +8,7 @@ import { player as playerSchema } from "../../../../schema/player"; import { eq } from "drizzle-orm"; import { transferPartAssembly } from "./transferPartAssembly"; import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes"; +import { tunables as tunablesSchema } from "../../../../schema/tunables"; /** * Create a new car * @@ -232,11 +233,15 @@ export async function createNewCar( if (dealOfTheDayBrandedPartId === brandedPartId) { dealOfTheDayDiscount = await tx.select({ + discount: tunablesSchema.dealOfTheDayDiscount + }).from(tunablesSchema).limit(1).then((result) => { + return result[0]?.discount ?? 0; + }); } log.debug("Transaction committed"); - } + }); log.resetName(); return Promise.resolve(0); } diff --git a/packages/database/src/functions/getAbstractPartTypeId.ts b/packages/database/src/functions/getAbstractPartTypeId.ts index ff44ffb8e..80bcba2ab 100644 --- a/packages/database/src/functions/getAbstractPartTypeId.ts +++ b/packages/database/src/functions/getAbstractPartTypeId.ts @@ -1,7 +1,9 @@ -import { getServerLogger } from "@rustymotors/shared"; -import { Part } from "../models/Part"; -import { PartType } from "../models/PartType"; -import { BrandedPart } from "../models/BrandedPart"; +import { getServerLogger } from "rusty-motors-shared"; +import { part as partSchema } from "../../../../schema/part"; +import { partType as partTypeSchema } from "../../../../schema/partType"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { getDatabase } from "../services/database"; +import { eq } from "drizzle-orm"; /** * Get the abstract part type id from the partId @@ -17,34 +19,24 @@ export async function getAbstractPartTypeId(partId: number): Promise { log.debug(`Getting abstract part type ID for part ${partId}`); - const abstractPartTypeId = await Part.findOne({ - where: { - partId, - }, - }).then(async (part) => { - if (part === null) { + const db = getDatabase(); + + const abstractPartTypeId = await db.select() + .from(partSchema) + .leftJoin(brandedPartSchema, eq(partSchema.brandedPartId, brandedPartSchema.brandedPartId)) + .leftJoin(partTypeSchema, eq(brandedPartSchema.partTypeId, partTypeSchema.partTypeId)) + .where(eq(partSchema.partId, partId)) + .limit(1) + .then((rows) => { + if (rows.length === 0) { throw new Error(`Part ${partId} not found`); } - - const partType = await BrandedPart.findByPk(part.brandedPartId).then((brandedPart) => { - if (brandedPart === null) { - throw new Error(`Branded part ${part.brandedPartId} not found`); - } - - return PartType.findByPk(brandedPart.partTypeId).then((partType) => { - if (partType === null) { - throw new Error(`Part type ${brandedPart.partTypeId} not found`); - } - - return partType.abstractPartTypeId; - }); - }); - - log.resetName(); - return partType; + + return rows[0]?.part_type?.abstractPartTypeId }); - - if (abstractPartTypeId === null) { + + if (typeof abstractPartTypeId === "undefined") { + log.error(`Abstract part type ID not found for part ${partId}`); throw new Error(`Abstract part type ID not found for part ${partId}`); } diff --git a/packages/database/src/functions/getWarehouseInventory.ts b/packages/database/src/functions/getWarehouseInventory.ts index 0779860f5..275ba965a 100644 --- a/packages/database/src/functions/getWarehouseInventory.ts +++ b/packages/database/src/functions/getWarehouseInventory.ts @@ -1,10 +1,10 @@ -import { getServerLogger } from "../../../shared"; -import { getDatabase } from "../services/database"; -import { warehouse as warehouseSchema } from "../../../../schema/warehouse"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; -import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes"; -import { tunables as tunablesSchema } from "../../../../schema/tunables"; -import { model as modelSchema } from "../../../../schema/model"; +import { getServerLogger } from "rusty-motors-shared"; +import { getDatabase } from "../services/database.js"; +import { warehouse as warehouseSchema } from "../../../../schema/warehouse.js"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; +import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes.js"; +import { tunables as tunablesSchema } from "../../../../schema/tunables.js"; +import { model as modelSchema } from "../../../../schema/model.js"; import { eq } from "drizzle-orm"; export type WarehouseInventory = { diff --git a/packages/database/src/functions/transferPartAssembly.ts b/packages/database/src/functions/transferPartAssembly.ts index fd293f7c5..a18ea70e7 100644 --- a/packages/database/src/functions/transferPartAssembly.ts +++ b/packages/database/src/functions/transferPartAssembly.ts @@ -1,4 +1,4 @@ -import { getServerLogger } from "@rustymotors/shared"; +import { getServerLogger } from "rusty-motors-shared"; import { getDatabase } from "../services/database"; import { part as partSchema } from "../../../../schema/part"; import { vehicle as vehicleSchema } from "../../../../schema/vehicle"; @@ -115,8 +115,8 @@ export async function transferPartAssembly( throw Error(`Owner ${topPart.ownerId} not found`); } - if (oldOwner.numCarsOwnned > 1) { - oldOwner.numCarsOwnned--; + if (oldOwner.numCarsOwned > 0) { + oldOwner.numCarsOwned--; try { await db .update(playerSchema) diff --git a/packages/database/src/seeders/index.ts b/packages/database/src/seeders/index.ts index 72f77aede..e56375b40 100644 --- a/packages/database/src/seeders/index.ts +++ b/packages/database/src/seeders/index.ts @@ -192,7 +192,7 @@ for (const row of playerCsvRow) { const player = [csvRowToPlayer(row.map((value, index) => { if (typeof value === "undefined") { - throw new Error(`Undefined value at index $(playerCsvHeader[index])`); + throw new Error(`Undefined value at index ${playerCsvHeader[index]}`); } return value; diff --git a/packages/database/src/seeders/populateAbstractPartType.ts b/packages/database/src/seeders/populateAbstractPartType.ts index 53315eb52..f2c2e9715 100644 --- a/packages/database/src/seeders/populateAbstractPartType.ts +++ b/packages/database/src/seeders/populateAbstractPartType.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { abstractPartType as abstractPartTypeSchema } from "../../../../schema/abstractPartType"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { abstractPartType as abstractPartTypeSchema } from "../../../../schema/abstractPartType.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateBrand.ts b/packages/database/src/seeders/populateBrand.ts index 6b7b852a8..2377c376b 100644 --- a/packages/database/src/seeders/populateBrand.ts +++ b/packages/database/src/seeders/populateBrand.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { brand as brandSchema } from "../../../../schema/brand"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { brand as brandSchema } from "../../../../schema/brand.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts index 4ebb258be..a4f3dc24d 100644 --- a/packages/database/src/seeders/populateBrandedPart.ts +++ b/packages/database/src/seeders/populateBrandedPart.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts index 45f716915..bf2aa078f 100644 --- a/packages/database/src/seeders/populateModel.ts +++ b/packages/database/src/seeders/populateModel.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { model as modelSchema } from "../../../../schema/model"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { model as modelSchema } from "../../../../schema/model.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts index 678b88623..5a0b552ad 100644 --- a/packages/database/src/seeders/populatePartGrade.ts +++ b/packages/database/src/seeders/populatePartGrade.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { partGrade as partGradeSchema } from "../../../../schema/partGrade"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { partGrade as partGradeSchema } from "../../../../schema/partGrade.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts index 46bc9b387..ce6055749 100644 --- a/packages/database/src/seeders/populatePartType.ts +++ b/packages/database/src/seeders/populatePartType.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { partType as partTypeSchema } from "../../../../schema/partType"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { partType as partTypeSchema } from "../../../../schema/partType.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePlayer.ts b/packages/database/src/seeders/populatePlayer.ts index 5227748f4..3170f2f3c 100644 --- a/packages/database/src/seeders/populatePlayer.ts +++ b/packages/database/src/seeders/populatePlayer.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { player as playerSchema } from "../../../../schema/player"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { player as playerSchema } from "../../../../schema/player.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePlayerType.ts b/packages/database/src/seeders/populatePlayerType.ts index c9f27b589..c913ca645 100644 --- a/packages/database/src/seeders/populatePlayerType.ts +++ b/packages/database/src/seeders/populatePlayerType.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { playerType as playerTypeSchema } from "../../../../schema/playerType"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { playerType as playerTypeSchema } from "../../../../schema/playerType.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts index 559bed0d6..41ab4370e 100644 --- a/packages/database/src/seeders/populateSkin.ts +++ b/packages/database/src/seeders/populateSkin.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { skin as skinSchema } from "../../../../schema/skin"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { skin as skinSchema } from "../../../../schema/skin.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts index d865306d3..066589440 100644 --- a/packages/database/src/seeders/populateSkinType.ts +++ b/packages/database/src/seeders/populateSkinType.ts @@ -1,6 +1,6 @@ -import { getServerLogger } from "../../../shared"; -import { skinType as skinTypeSchema } from "../../../../schema/skinType"; -import { getDatabase } from "../services/database"; +import { getServerLogger } from "rusty-motors-shared"; +import { skinType as skinTypeSchema } from "../../../../schema/skinType.js"; +import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/services/admin.ts b/packages/database/src/services/admin.ts deleted file mode 100644 index 0ce8749b1..000000000 --- a/packages/database/src/services/admin.ts +++ /dev/null @@ -1,344 +0,0 @@ -import { getDatabase } from "./database.js"; -import * as Sentry from "@sentry/node"; -import { getServerLogger } from "@rustymotors/shared"; -import { player as playerSchema } from "../../../../schema/player.js"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; -import { partType as partTypeSchema } from "../../../../schema/partType.js"; -import { eq } from "drizzle-orm"; - -const log = getServerLogger(); - -async function playerExists(playerId: number): Promise { - return Sentry.startSpan( - { - name: "Get player", - op: "db.query", - description: "SELECT 1 FROM player WHERE playerid = ${playerId}", - attributes: { - sql: "SELECT 1 FROM player WHERE playerid = ${playerId}", - db: "postgres", - }, - }, - async () => { - return await Player.findByPk(playerId).then( - (player) => player !== null, - ); - }, - ); -} - -async function skinExists(skinId: number): Promise { - log.setName("skinExists"); - return Sentry.startSpan( - { - name: "skinExists", - op: "db.query", - description: "SELECT 1 FROM ptskin WHERE skinid = ${skinId}", - attributes: { - sql: "SELECT 1 FROM ptskin WHERE skinid = ${skinId}", - db: "postgres", - }, - }, - async () => { - return await PTSkin.findByPk(skinId).then((skin) => skin !== null); - }, - ); -} - -async function getAbstractPartTypeIDForBrandedPartID( - brandedPartId: number, -): Promise { - return Sentry.startSpan( - { - name: "GetAbstractPartTypeIDForBrandedPartID", - op: "db.query", - description: - "SELECT pt.abstractparttypeid FROM brandedpart bp inner join parttype pt on bp.parttypeid = pt.parttypeid WHERE bp.brandedpartid = ${brandedPartId}", - attributes: { - sql: "SELECT pt.abstractparttypeid FROM brandedpart bp inner join parttype pt on bp.parttypeid = pt.parttypeid WHERE bp.brandedpartid = ${brandedPartId}", - db: "postgres", - }, - }, - async () => { - // Get the abstract part type id for the branded part - // link is brandedPart.partTypeId -> partType.abstractparttypeId - - const abstractPartTypeId = await getDatabase() - .select() - .from(brandedPartSchema) - .leftJoin( - partTypeSchema, - eq(brandedPartSchema.partTypeId, partTypeSchema.partTypeId), - ) - .where(eq(brandedPartSchema.brandedPartId, brandedPartId)) - .then((rows) => { - if (rows.length === 0 || !rows[0]) { - throw Error( - `branded part with id ${brandedPartId} does not exist`, - ); - } - - const partType = rows[0].part_type; - - if (!partType) { - throw Error( - `part type record id ${rows[0].branded_part.partTypeId} does not exist`, - ); - } - - return partType.abstractPartTypeId; - }); - - return abstractPartTypeId; - }, - ); -} - -async function isAbstractPartTypeAVehicle( - abstractPartTypeId: number, -): Promise { - return abstractPartTypeId === 101; -} - -type partTableEntry = { - partId: number | null; - parentPartId: number | null; - brandedPartId: number | null; - AttachmentPointId: number | null; -}; - -export async function createNewCar( - brandedPartId: number, - skinId: number, - newCarOwnerId: number, -): Promise { - log.setName("createNewCarForPlayer"); - if ((await playerExists(newCarOwnerId)) === false) { - log.error(`player with id ${newCarOwnerId} does not exist`); - throw Error("player does not exist"); - } - - if ((await skinExists(skinId)) === false) { - log.error(`skin with id ${skinId} does not exist`); - throw Error("skin does not exist"); - } - - const abstractPartTypeId = - await getAbstractPartTypeIDForBrandedPartID(brandedPartId); - - console.log("abstractPartTypeId"); - console.dir(abstractPartTypeId); - - if ((await isAbstractPartTypeAVehicle(abstractPartTypeId)) === false) { - log.error(`branded part with id ${brandedPartId} is not a vehicle`); - throw Error(`branded part with id ${brandedPartId} is not a vehicle`); - } - - const tmpParts: partTableEntry[] = []; - - tmpParts.push({ - partId: null, - parentPartId: null, - brandedPartId: brandedPartId, - AttachmentPointId: 0, - }); - - // Get the rest of the parts for the vehicle - const restOfTheParts = await Sentry.startSpan( - { - name: "Get rest of the parts", - op: "db.query", - description: - "SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid where a.parentbrandedpartid = ${tmpParts[0].brandedPartId}", - attributes: { - sql: "SELECT b.brandedpartid, a.attachmentpointid From StockAssembly a inner join brandedpart b on a.childbrandedpartid = b.brandedpartid where a.parentbrandedpartid = ${tmpParts[0].brandedPartId}", - db: "postgres", - }, - }, - async () => { - const { slonik, sql } = await getDatabase(); - return slonik.many(sql.typeAlias("brandedPart")` - SELECT b.brandedpartid, a.attachmentpointid - From StockAssembly a - inner join brandedpart b on a.childbrandedpartid = b.brandedpartid - where a.parentbrandedpartid = ${tmpParts[0] ? tmpParts[0].brandedPartId : null} - `); - }, - ); - - for (const part of restOfTheParts) { - tmpParts.push({ - partId: null, - parentPartId: null, - brandedPartId: part.brandedpartid, - AttachmentPointId: part.attachmentpointid, - }); - } - - try { - let vehicleId = null; - - await Sentry.startSpan( - { - name: "Create new car", - op: "db.transaction", - description: "Create new car", - attributes: { - db: "postgres", - }, - }, - async () => { - const { slonik, sql } = await getDatabase(); - slonik.transaction(async (connection) => { - // First insert the new car into the vehicle table - - if (tmpParts.length === 0) { - throw Error( - `No parts for vehicle with branded part id ${brandedPartId}`, - ); - } - - let parentPartId = null; - let currentPartId = await getNextSq("part_partid_seq"); - - if (typeof tmpParts[0] === "undefined") { - throw Error("currentPartId is null"); - } - - // Make sure the first part's branded part id is not null - if (tmpParts[0].brandedPartId === null) { - throw Error("The first part's branded part id is null"); - } - - // Get the first part's abstract part type id - const firstPartAbstractPartTypeId = - await getAbstractPartTypeIDForBrandedPartID( - tmpParts[0].brandedPartId, - ); - - if (firstPartAbstractPartTypeId !== 101) { - throw new Error("The first part is not a vehicle"); - } - - // Get the skin record for the new car - const skinDefaultFlag = ( - await connection.one(sql.typeAlias("ptSkin")` - SELECT defaultflag FROM ptskin WHERE skinid = ${skinId} - `) - ).defaultflag; - - // The first part will have a parentpartid of 0, and a partid of nextval(next_part_id) - await addPart( - connection, - currentPartId, - parentPartId, - tmpParts[0], - newCarOwnerId, - ); - - // Insert the vehicle record - try { - await connection.query(sql.typeAlias("brandedPart")` - INSERT INTO vehicle (vehicleid, skinid, flags, class, infosetting, damageinfo) - VALUES (${currentPartId}, ${skinId}, ${skinDefaultFlag}, 0, 0, null) - `); - } catch (error) { - console.error("Error adding vehicle: " + error); - throw new Error("Error adding vehicle: " + error); - } - - vehicleId = currentPartId; - - tmpParts[0].partId = currentPartId; - tmpParts[0].parentPartId = parentPartId; - - // Now insert the rest of the parts - for (let i = 1; i < tmpParts.length; i++) { - parentPartId = currentPartId; - currentPartId = await getNextSq("part_partid_seq"); - console.log("currentPartId"); - console.dir(currentPartId); - - if (typeof tmpParts[i] === "undefined") { - throw Error("currentPartId is null"); - } - await addPart( - connection, - currentPartId, - parentPartId, - tmpParts[i] as partTableEntry, - newCarOwnerId, - ); - - // Update the partid of the part in the tmpParts array - (tmpParts[i] as partTableEntry).partId = currentPartId; - (tmpParts[i] as partTableEntry).parentPartId = - parentPartId; - } - }); - }, - ); - - if (vehicleId === null) { - throw Error("vehicleId is null"); - } - - return vehicleId; - } catch (error) { - throw Error("Error creating new car: " + error); - } -} -async function addPart( - connection: DatabaseTransactionConnection, - currentPartId: number, - parentPartId: number | null, - partEntry: partTableEntry, - newCarOwenrId: number, -) { - try { - const { sql } = await getDatabase(); - await connection.query(sql.typeAlias("part")` - INSERT INTO part (partid, parentpartid, brandedpartid, percentdamage, itemwear, attachmentpointid, ownerid, partname, repaircost, scrapvalue) - VALUES (${currentPartId}, ${parentPartId}, ${partEntry.brandedPartId}, 0, 0, ${partEntry.AttachmentPointId}, ${newCarOwenrId}, null, 0, 0) - `); - } catch (error) { - throw Error("Error adding part: " + error); - } -} - -export type DBPart = { - partId: number; - parentPartId: number; - brandedPartId: number; - percentDamage: number; - itemWear: number; - attachmentPointId: number; - ownerId: number; - partName: string; - repairCost: number; - scrapValue: number; -}; - -async function getNextSq(seqName: string) { - return await Sentry.startSpan( - { - name: "Get next part id", - op: "db.query", - description: "SELECT nextval('part_partid_seq')", - attributes: { - sql: "SELECT nextval('part_partid_seq')", - db: "postgres", - }, - }, - async () => { - const { slonik, sql } = await getDatabase(); - return Number( - ( - await slonik.one(sql.typeAlias("nextPartId")` - SELECT nextval(${seqName}) - `) - ).nextval, - ); - }, - ); -} diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 5503231ef..0f11992ff 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/gateway", + "name": "rusty-motors-gateway", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -12,9 +17,16 @@ "license": "AGPL-3.0", "dependencies": { "@fastify/sensible": "^5.5.0", - "@rustymotors/shared": "workspace:^", - "@rustymotors/shared-packets": "workspace:^", "@sentry/node": "^7.102.0", - "fastify": "^4.25.2" + "fastify": "^4.25.2", + "rusty-motors-cli": "workspace:^", + "rusty-motors-connection": "workspace:^", + "rusty-motors-database": "workspace:^", + "rusty-motors-mcots": "workspace:^", + "rusty-motors-nps": "workspace:^", + "rusty-motors-patch": "workspace:^", + "rusty-motors-shard": "workspace:^", + "rusty-motors-shared": "workspace:^", + "rusty-motors-shared-packets": "workspace:^" } } diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index bd1b1614f..76d6bc0ca 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -4,11 +4,11 @@ import fastify from "fastify"; import { Configuration, getServerConfiguration, - createInitialState, - fetchStateFromDatabase, + type TGateway, + type TGatewayOptions, type TServerLogger, -} from "../../shared"; -import { ConsoleThread } from "../../cli/ConsoleThread.js"; +} from "rusty-motors-shared"; +import { ConsoleThread, ScheduledThread } from "rusty-motors-cli"; import { addWebRoutes } from "./web.js"; import FastifySensible from "@fastify/sensible"; @@ -18,48 +18,33 @@ import { populateGameMessageProcessors, portToMessageTypes, gameMessageProcessors, -} from "../../nps/messageProcessors/index.js"; -import { populateUsers } from "../../nps/services/account.js"; -import { + populateGameUsers, gameProfiles, populateGameProfiles, -} from "../../nps/services/profile.js"; -import { ScheduledThread } from "../../cli/ScheduledThread.js"; -import { populateServerMessageProcessors } from "../../mcots/index.js"; -import { populatePlayer } from "../../database/src/seeders/populatePlayer.js"; -import { populatePlayerType } from "../../database/src/seeders/populatePlayerType.js"; -import { populateBrandedPart } from "../../database/src/seeders/populateBrandedPart.js"; -import { populatePartType } from "../../database/src/seeders/populatePartType.js"; -import { populateModel } from "../../database/src/seeders/populateModel.js"; -import { populateAbstractPartType } from "../../database/src/seeders/populateAbstractPartType.js"; -import { populatePartGrade } from "../../database/src/seeders/populatePartGrade.js"; -import { populateBrand } from "../../database/src/seeders/populateBrand.js"; -import { populateSkin } from "../../database/src/seeders/populateSkin.js"; -import { populateSkinType } from "../../database/src/seeders/populateSkinType.js"; +} from "rusty-motors-nps"; +import { populateServerMessageProcessors } from "rusty-motors-mcots"; +import { + populatePlayer, + populatePlayerType, + populateBrandedPart, + populatePartType, + populateModel, + populateAbstractPartType, + populatePartGrade, + populateBrand, + populateSkin, + populateSkinType, +} from "rusty-motors-database"; /** * @module gateway */ -export type TGatewayOptions = { - config?: Configuration; - log: TServerLogger; - backlogAllowedCount?: number; - listeningPortList?: number[]; - socketConnectionHandler?: ({ - incomingSocket, - log, - }: { - incomingSocket: Socket; - log: TServerLogger; - }) => void; -}; - /** * Gateway server * @see {@link getGatewayServer()} to get a singleton instance */ -export class Gateway { +export class Gateway implements TGateway { config: Configuration; log: TServerLogger; timer: NodeJS.Timeout | null; @@ -245,9 +230,7 @@ export class Gateway { this.log.debug("Marking GatewayServer as stopped"); this.status = "stopped"; - // Reset the global state - this.log.debug("Resetting the global state"); - createInitialState({}).save(); + this.log.info("Server stopped"); } /** @@ -288,10 +271,8 @@ export class Gateway { }); await this.webServer.register(FastifySensible); - const state = fetchStateFromDatabase(); - try { - await populateUsers(); + await populateGameUsers(); await populateGameProfiles(gameProfiles); await populatePlayerType(); await populateAbstractPartType(); @@ -314,8 +295,6 @@ export class Gateway { populateServerMessageProcessors(); - state.save(); - // Create the scheduled thread this.scheduledThread = new ScheduledThread({ parentThread: this, diff --git a/packages/gateway/src/encryption.ts b/packages/gateway/src/encryption.ts deleted file mode 100644 index a88d10216..000000000 --- a/packages/gateway/src/encryption.ts +++ /dev/null @@ -1,89 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; -import { McosEncryptionPair } from "../../shared"; -import { getServerLogger } from "../../shared"; - -const log = getServerLogger(); - -/** - * This function creates a new encryption pair for use with the game server - * - * @param {string} key The key to use for encryption - * @returns {McosEncryptionPair} The encryption pair - */ -export function createCommandEncryptionPair(key: string): McosEncryptionPair { - if (key.length < 16) { - log.error(`Key too short: length ${key.length}, value ${key}`); - throw Error(`Key too short: length ${key.length}, value ${key}`); - } - - const sKey = key.slice(0, 16); - - // Deepcode ignore HardcodedSecret: This uses an empty IV - const desIV = Buffer.alloc(8); - - const gsCipher = createCipheriv("des-cbc", Buffer.from(sKey, "hex"), desIV); - gsCipher.setAutoPadding(false); - - const gsDecipher = createDecipheriv( - "des-cbc", - Buffer.from(sKey, "hex"), - desIV, - ); - gsDecipher.setAutoPadding(false); - - return new McosEncryptionPair(gsCipher, gsDecipher); -} - -/** - * This function creates a new encryption pair for use with the database server - * - * @param {string} key The key to use for encryption - * @returns {McosEncryptionPair} The encryption pair - * @throws Error if the key is too short - */ -export function createDataEncryptionPair(key: string): McosEncryptionPair { - if (key.length < 16) { - log.error(`Key too short: length ${key.length}, value ${key}`); - throw Error(`Key too short: length ${key.length}, value ${key}`); - } - - const stringKey = Buffer.from(key, "hex"); - - // File deepcode ignore InsecureCipher: RC4 is the encryption algorithum used here, file deepcode ignore HardcodedSecret: A blank IV is used here - const tsCipher = createCipheriv("rc4", stringKey.subarray(0, 16), ""); - const tsDecipher = createDecipheriv("rc4", stringKey.subarray(0, 16), ""); - - return new McosEncryptionPair(tsCipher, tsDecipher); -} - -/** - * This function checks if the server supports the legacy ciphers - * - * @returns void - * @throws Error if the server does not support the legacy ciphers - */ -export function verifyLegacyCipherSupport() { - const cipherList = getCiphers(); - if (!cipherList.includes("des-cbc")) { - throw Error("DES-CBC cipher not available"); - } - if (!cipherList.includes("rc4")) { - throw Error("RC4 cipher not available"); - } -} diff --git a/packages/gateway/src/handleGameMessage.ts b/packages/gateway/src/handleGameMessage.ts index a4fadff0b..de4fdfd85 100644 --- a/packages/gateway/src/handleGameMessage.ts +++ b/packages/gateway/src/handleGameMessage.ts @@ -1,13 +1,13 @@ -import { type TServerLogger } from "../../shared"; +import { type TServerLogger } from "rusty-motors-shared"; import { MessageProcessorError, getGameMessageProcessor, GameMessage as OldGameMessage, -} from "../../nps/index.js"; -import type { SocketCallback } from "../../nps/messageProcessors/index.js"; -import { GameMessage } from "../../shared-packets"; +} from "rusty-motors-nps"; +import type { GameSocketCallback } from "rusty-motors-nps"; +import { GameMessage } from "rusty-motors-nps"; import type { Socket } from "node:net"; -import type { UserStatus } from "../../nps/messageStructs/UserStatus"; +import type { UserStatus } from "rusty-motors-nps"; export function sendToGameSocket( serializedMessages: Buffer[], @@ -37,7 +37,7 @@ export function processGameMessage( userStatus: UserStatus, message: OldGameMessage, log: TServerLogger, - socketCallback: SocketCallback, + socketCallback: GameSocketCallback, ) { log.setName("gateway:processGameMessage"); @@ -75,7 +75,7 @@ export function handleGameMessage( userStatus: UserStatus, bytes: Buffer, log: TServerLogger, - socketCallback: SocketCallback, + socketCallback: GameSocketCallback, ) { log.setName("gateway:handleGameMessage"); log.debug(`Handling game message...`); @@ -84,7 +84,7 @@ export function handleGameMessage( log.trace(`Raw bytes: ${bytes.toString("hex")}`); // Since a GameMessage v1 header is 12 byes long, a message smaller that that can only be v0 - const msgVersion = bytes.byteLength <= 12 ? 0 : 1; + const msgVersion = bytes.byteLength <= 12 ? 0 : 257; // Load new game message const gameMessage = new GameMessage(msgVersion).deserialize(bytes); diff --git a/packages/gateway/src/index.ts b/packages/gateway/src/index.ts index 38aac5470..19be1ce9b 100644 --- a/packages/gateway/src/index.ts +++ b/packages/gateway/src/index.ts @@ -17,41 +17,16 @@ import { randomUUID } from "node:crypto"; import { type TServerLogger, - addSocket, - fetchStateFromDatabase, - removeSocket, - wrapSocket, -} from "../../shared"; +} from "rusty-motors-shared"; -import { ServerLogger } from "../../shared"; +import { ServerLogger } from "rusty-motors-shared"; import { Socket } from "node:net"; -import { UserStatusManager, getPortMessageType } from "../../nps/index.js"; -import { handleGameMessage, sendToGameSocket } from "./handleGameMessage"; -import { Connection } from "../../connection/src/Connection"; -import { ClientConnectionManager } from "../../mcots/ClientConnectionManager"; - -/** - * @typedef {object} OnDataHandlerArgs - * @property {object} args - * @property {string} args.connectionId The connection id of the socket that - * received the data. - * @property {module:packages/shared/RawMessage} args.message The data that was received. - * @property {module:shared/log.ServerLogger} args.log - * response - * to the - * data. - */ - -/** - * @typedef {function} OnDataHandler - * @param {OnDataHandlerArgs} args The arguments for the handler. - * @returns {ServiceResponse} The - * response - * to the - * data. - */ +import { UserStatusManager, getPortMessageType } from "rusty-motors-nps"; +import { handleGameMessage, sendToGameSocket } from "./handleGameMessage.js"; +import { Connection } from "rusty-motors-connection"; +import { ClientConnectionManager } from "rusty-motors-mcots"; /** * Handle socket errors @@ -92,15 +67,13 @@ export function socketEndHandler({ }) { log.debug(`Connection ${connectionId} ended`); - // Remove the socket from the global state - removeSocket(fetchStateFromDatabase(), connectionId).save(); } /** * Handle incoming TCP connections * * @param {object} options - * @param {module:net.Socket} options.incomingSocket The incoming socket + * @param {Socket} options.incomingSocket The incoming socket * @param {ServerLogger} options.log The logger to use * */ @@ -134,11 +107,6 @@ export function onSocketConnection({ return; } - // Wrap the socket and add it to the global state - const wrappedSocket = wrapSocket(incomingSocket, connectionId); - - // Add the socket to the global state - addSocket(fetchStateFromDatabase(), wrappedSocket).save(); incomingSocket.on("error", (error) => socketErrorHandler({ connectionId: connectionId, error, log }), diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index d015f41f8..255985e5c 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -14,16 +14,16 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { CastanetResponse } from "../../patch/src/PatchServer.js"; -import { generateShardList } from "../../shard/src/ShardServer.js"; -import { getServerConfiguration } from "../../shared"; +import { CastanetResponse } from "rusty-motors-patch"; +import { generateShardList } from "rusty-motors-shard"; +import { getServerConfiguration } from "rusty-motors-shared"; import { handleGetCert, handleGetKey, handleGetRegistry, -} from "../../shard/src/index.js"; -import { getUserFromDb } from "../../nps/services/account.js"; -import { generateToken } from "../../nps/services/token.js"; +} from "rusty-motors-shard"; +import { getUser } from "rusty-motors-nps"; +import { generateToken } from "rusty-motors-nps"; /** * Add web routes to the web server @@ -86,7 +86,7 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { const password = request.query.password; // Check for the username - const user = await getUserFromDb(username, password); + const user = await getUser(username, password); // If the user doesn't exist, return an error if (user === null) { diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index ff32ad088..cf21906b4 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,6 +1,6 @@ -import type { TServerLogger } from "../../shared"; -import { Gateway, getGatewayServer } from "../src/GatewayServer.js"; -import type { TGatewayOptions } from "../src/GatewayServer.js"; +import type { TServerLogger, TGatewayOptions } from "rusty-motors-shared"; +import { getGatewayServer } from "../"; +import { Gateway } from "../src/GatewayServer"; import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; describe("getGatewayServer", () => { diff --git a/packages/gateway/test/encryption.test.ts b/packages/gateway/test/encryption.test.ts deleted file mode 100644 index 4e92efd39..000000000 --- a/packages/gateway/test/encryption.test.ts +++ /dev/null @@ -1,184 +0,0 @@ -import { beforeAll, beforeEach, describe, expect, it, test, vi } from "vitest"; -import { - createCommandEncryptionPair, - createDataEncryptionPair, -} from "../src/encryption.js"; -import { Socket } from "node:net"; -import { - McosEncryption, - type State, - addEncryption, - createInitialState, - getEncryption, -} from "../../shared"; -import { randomUUID } from "node:crypto"; - -let testSave: (state: State) => void; -let testState: State; -let testSocket1: Socket; -let testSocket2: Socket; - -describe("Encryption", () => { - beforeAll(() => { - testSave = (state?: State) => { - if (typeof state === "undefined") { - throw new Error("State not defined"); - } - testState = state; - }; - testState = createInitialState({ - saveFunction: testSave, - }); - testSocket1 = new Socket(); - testSocket1.write = vi.fn().mockImplementation(() => { - // Do nothing - }); - testSocket2 = new Socket(); - testSocket2.write = vi.fn().mockImplementation(() => { - // Do nothing - }); - }); - - beforeEach(() => { - testState = createInitialState({ - saveFunction: testSave, - }); - }); - - it("should be able to encrypt and decrypt a command message", () => { - // Arrange - - const connectionId1 = randomUUID(); - const connectionId2 = randomUUID(); - - const key = - "254a7a0703a3a2c4df687a3969d3577bb8350efc3950c1c22f76415227ac5f21"; - - const commandEncryptionPair = createCommandEncryptionPair(key); - - const dataEncryptionPair = createDataEncryptionPair(key); - - const encryption1 = new McosEncryption({ - connectionId: connectionId1, - commandEncryptionPair, - dataEncryptionPair, - }); - - const encryption2 = new McosEncryption({ - connectionId: connectionId2, - commandEncryptionPair, - dataEncryptionPair, - }); - - // Act + Assert - - const message = Buffer.from("test message1234"); - - let state = testState; - - state = addEncryption(state, encryption1); - state = addEncryption(state, encryption2); - - const connectionEncryption1 = getEncryption(state, connectionId1); - - expect(connectionEncryption1).toBeDefined(); - - const encryptedMessage = - connectionEncryption1?.commandEncryption.encrypt(message); - - expect(encryptedMessage).toBeDefined(); - - const connectionEncryption2 = getEncryption(state, connectionId2); - - expect(connectionEncryption2).toBeDefined(); - - const decryptedMessage = - connectionEncryption2?.commandEncryption.decrypt( - encryptedMessage as Buffer, - ); - - expect(decryptedMessage).toBeDefined(); - - expect(decryptedMessage).toEqual(message); - }); - - it("should be able to encrypt and decrypt a command message", () => { - // Arrange - - const connectionId1 = randomUUID(); - const connectionId2 = randomUUID(); - - const key = - "254a7a0703a3a2c4df687a3969d3577bb8350efc3950c1c22f76415227ac5f21"; - - const commandEncryptionPair = createCommandEncryptionPair(key); - - const dataEncryptionPair = createDataEncryptionPair(key); - - const encryption1 = new McosEncryption({ - connectionId: connectionId1, - commandEncryptionPair, - dataEncryptionPair, - }); - - const encryption2 = new McosEncryption({ - connectionId: connectionId2, - commandEncryptionPair, - dataEncryptionPair, - }); - - // Act + Assert - - const message = Buffer.from("test message1234"); - - let state = testState; - - state = addEncryption(state, encryption1); - state = addEncryption(state, encryption2); - - const connectionEncryption1 = getEncryption(state, connectionId1); - - expect(connectionEncryption1).toBeDefined(); - - const encryptedMessage = - connectionEncryption1?.dataEncryption.encrypt(message); - - expect(encryptedMessage).toBeDefined(); - - const connectionEncryption2 = getEncryption(state, connectionId2); - - expect(connectionEncryption2).toBeDefined(); - - const decryptedMessage = connectionEncryption2?.dataEncryption.decrypt( - encryptedMessage as Buffer, - ); - - expect(decryptedMessage).toBeDefined(); - - expect(decryptedMessage).toEqual(message); - }); - - test("data should throw when the key is too short", () => { - // Arrange - - const key = "22c4df"; - - // Act + Assert - - expect(() => { - createDataEncryptionPair(key); - }).toThrow("Key too short"); - }); - - test("command should throw when the key is too short", () => { - // Arrange - - const key = "25"; - - // Act + Assert - - expect(() => { - createCommandEncryptionPair(key); - }).toThrow("Key too short"); - }); -}); diff --git a/packages/gateway/test/socketErrorHandler.test.ts b/packages/gateway/test/socketErrorHandler.test.ts index d4a1fef1f..0e4e991ab 100644 --- a/packages/gateway/test/socketErrorHandler.test.ts +++ b/packages/gateway/test/socketErrorHandler.test.ts @@ -12,6 +12,9 @@ describe("socketErrorHandler", () => { warn: () => vi.fn(), fatal: () => vi.fn(), trace: () => vi.fn(), + setName: () => vi.fn(), + getName: () => "", + resetName: () => vi.fn(), }; const error = new Error("test error"); diff --git a/packages/lobby/package.json b/packages/lobby/package.json deleted file mode 100644 index 76269d8d9..000000000 --- a/packages/lobby/package.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "name": "@rustymotors/lobby", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0", - "dependencies": { - "@rustymotors/database": "workspace:^" - } -} diff --git a/packages/lobby/src/LoginInfoMessage.ts b/packages/lobby/src/LoginInfoMessage.ts deleted file mode 100644 index 0e15d3f36..000000000 --- a/packages/lobby/src/LoginInfoMessage.ts +++ /dev/null @@ -1,97 +0,0 @@ -import { - LegacyMessage, - deserializeString, - serializeString, -} from "../../shared"; - -export class LoginInfoMessage extends LegacyMessage { - _userId: number; - _userName: string; - _userData: Buffer; - _customerId: number; - _flags: number; - _dllVersion: string; - _hostname: string; - _idAddress: string; - _hashKey: Buffer; - constructor() { - super(); - this._userId = 0; // 4 bytes - this._userName = ""; - this._userData = Buffer.alloc(64); - this._customerId = 0; // 4 bytes - this._flags = 0; // 4 bytes - this._dllVersion = ""; - this._hostname = ""; - this._idAddress = ""; - this._hashKey = Buffer.alloc(16); - } - - /** - * @param {Buffer} buffer - * @returns {LoginInfoMessage} - */ - override deserialize(buffer: Buffer): LoginInfoMessage { - try { - this._header._doDeserialize(buffer); - let offset = this._header._size; - this._userId = buffer.readInt32BE(offset); - offset += 4; - this._userName = deserializeString(buffer.subarray(offset)); - offset += 4 + this._userName.length + 1; - buffer.copy(this._userData, 0, offset, offset + 64); - offset += 64; - this._customerId = buffer.readInt32BE(offset); - offset += 4; - this._flags = buffer.readInt32BE(offset); - offset += 4; - this._dllVersion = deserializeString(buffer.subarray(offset)); - offset += 4 + this._dllVersion.length + 1; - this._hostname = deserializeString(buffer.subarray(offset)); - offset += 4 + this._hostname.length + 1; - this._idAddress = deserializeString(buffer.subarray(offset)); - offset += 4 + this._idAddress.length + 1; - buffer.copy(this._hashKey, 0, offset, offset + 16); - - return this; - } catch (error) { - throw Error(`Error deserializing LoginInfoMessage: ${error as string}`); - } - } - - /** - * @returns {Buffer} - */ - override serialize(): Buffer { - try { - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - let offset = this._header._size; - buffer.writeInt32BE(this._userId, offset); - offset += 4; - offset = serializeString(this._userName, buffer, offset); - - this._userData.copy(buffer, offset); - offset += 64; - buffer.writeInt32BE(this._customerId, offset); - offset += 4; - buffer.writeInt32BE(this._flags, offset); - offset += 4; - offset = serializeString(this._dllVersion, buffer, offset); - - offset = serializeString(this._hostname, buffer, offset); - - offset = serializeString(this._idAddress, buffer, offset); - offset += 4 + this._idAddress.length + 1; - this._hashKey.copy(buffer, offset); - - return buffer; - } catch (error) { - throw Error(`Error serializing LoginInfoMessage: ${error as string}`); - } - } - - override toString() { - return `LoginInfoMessage: ${this._userName}`; - } -} diff --git a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts deleted file mode 100644 index ca1e94527..000000000 --- a/packages/lobby/src/NPS_LOBBYCLIENT_COMMANDS.ts +++ /dev/null @@ -1,62 +0,0 @@ -/** - * Commands from the game client to the game server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ - -/** - * Commands from the game client to the game server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -import type { GameMessageOpCode } from "../../interfaces/index.js"; - -export const NPS_LOBBYCLIENT_COMMANDS: GameMessageOpCode[] = [ - { name: "NPS_LOGIN", value: 256, module: "Lobby" }, - { name: "NPS_GET_USER_LIST", value: 257, module: "Lobby" }, - { name: "NPS_GET_MY_USER_DATA", value: 258, module: "Lobby" }, - { name: "NPS_SET_MY_USER_DATA", value: 259, module: "Lobby" }, - { name: "NPS_LOG_OFF_SERVER", value: 260, module: "Lobby" }, - { name: "NPS_CLOSE_COMM_CHANNEL", value: 261, module: "Lobby" }, - { name: "NPS_OPEN_COMM_CHANNEL", value: 262, module: "Lobby" }, - { name: "NPS_GET_CLIENT_COUNT", value: 263, module: "Lobby" }, - { name: "NPS_START_GAME", value: 264, module: "Lobby" }, - { name: "NPS_READY_FOR_GAME", value: 265, module: "Lobby" }, - { name: "NPS_START_GAME_SERVER", value: 266, module: "Lobby" }, - { name: "NPS_SET_SLEEP_STATE", value: 267, module: "Lobby" }, - { name: "NPS_GET_SERVER_INFO", value: 268, module: "Lobby" }, - { name: "NPS_SET_COMM_FLAGS", value: 269, module: "Lobby" }, - { name: "NPS_GET_READY_LIST", value: 270, module: "Lobby" }, - { name: "NPS_SEND_SERVER_LIST", value: 271, module: "Lobby" }, - { name: "NPS_SET_COMM_CHANNEL_RATE", value: 272, module: "Lobby" }, - { name: "NPS_SET_HEARTBEAT_TIMEOUT", value: 273, module: "Lobby" }, - { name: "NPS_GET_HEARTBEAT_TIMEOUT", value: 274, module: "Lobby" }, - { name: "NPS_SET_CHANNEL_DATA", value: 275, module: "Lobby" }, - { name: "NPS_FILE_START", value: 276, module: "Lobby" }, - { name: "NPS_FILE_DATA", value: 277, module: "Lobby" }, - { name: "NPS_FILE_COMPLETED", value: 278, module: "Lobby" }, - { name: "NPS_BOOT_USER_FROM_CHANNEL", value: 279, module: "Lobby" }, - { name: "NPS_LOCATE_USER", value: 280, module: "Lobby" }, - { name: "NPS_ENABLE_FILTER", value: 281, module: "Lobby" }, - { name: "NPS_DISABLE_FILTER", value: 282, module: "Lobby" }, - { name: "NPS_SLEEP_SERVER", value: 283, module: "Lobby" }, - { name: "NPS_WAKE_SERVER", value: 284, module: "Lobby" }, - { name: "NPS_TERMINATE_GAME_SERVER", value: 285, module: "Lobby" }, - { name: "NPS_SEND_SKU_REGISTRY", value: 286, module: "Lobby" }, - { name: "NPS_SET_READY_FOR_GAME", value: 287, module: "Lobby" }, - { name: "NPS_LOGIN_RESP", value: 288, module: "Lobby" }, - { name: "NPS_SOCKET_RECONNECT", value: 289, module: "Lobby" }, - { name: "NPS_SET_SLOT", value: 290, module: "Lobby" }, - { name: "NPS_GET_SLOT_LIST", value: 291, module: "Lobby" }, - { name: "NPS_SET_CHANNEL_CLOSED", value: 292, module: "Lobby" }, - { name: "NPS_UDP_STATUS", value: 293, module: "Lobby" }, - { name: "NPS_GET_USER_INFO", value: 294, module: "Lobby" }, - { name: "NPS_GET_MASTER_LIST", value: 295, module: "Lobby" }, - { name: "NPS_GET_MINI_USER_LIST", value: 296, module: "Lobby" }, - { name: "NPS_UDP_FAILURE", value: 297, module: "Lobby" }, - { name: "NPS_BUDDYLIST_REFRESH", value: 298, module: "Lobby" }, - { name: "NPS_BUDDYLIST_ADD_USERS", value: 299, module: "Lobby" }, - { name: "NPS_BUDDYLIST_REMOVE_USERS", value: 300, module: "Lobby" }, -]; diff --git a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts b/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts deleted file mode 100644 index 10b70eb76..000000000 --- a/packages/lobby/src/NPS_LOBBYSERVER_COMMANDS.ts +++ /dev/null @@ -1,57 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; - -/** - * Commands from the game server to the game client - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -export const NPS_LOBBYSERVER_COMMANDS: GameMessageOpCode[] = [ - { name: "NPS_FORCE_LOGOFF", value: 513, module: "Lobby" }, - { name: "NPS_USER_LEFT", value: 514, module: "Lobby" }, - { name: "NPS_USER_JOINED", value: 515, module: "Lobby" }, - { name: "NPS_USER_INFO", value: 516, module: "Lobby" }, - { name: "NPS_SYSTEM_ALERT", value: 517, module: "Lobby" }, - { name: "NPS_CLIENT_COUNT", value: 518, module: "Lobby" }, - { name: "NPS_ACK", value: 519, module: "Lobby" }, - { name: "NPS_USER_LEFT_CHANNEL", value: 520, module: "Lobby" }, - { name: "NPS_CHANNEL_CLOSED", value: 521, module: "Lobby" }, - { name: "NPS_DUP_USER", value: 522, module: "Lobby" }, - { name: "NPS_SERVER_FULL", value: 523, module: "Lobby" }, - { name: "NPS_USER_JOINED_CHANNEL", value: 524, module: "Lobby" }, - { name: "NPS_SERVER_INFO", value: 525, module: "Lobby" }, - { name: "NPS_CHANNEL_CREATED", value: 526, module: "Lobby" }, - { name: "NPS_CHANNEL_DELETED", value: 527, module: "Lobby" }, - { name: "NPS_READY_LIST", value: 528, module: "Lobby" }, - { name: "NPS_USER_LIST", value: 529, module: "Lobby" }, - { name: "NPS_SERVER_LIST", value: 530, module: "Lobby" }, - { name: "NPS_CHANNEL_DENIED", value: 531, module: "Lobby" }, - { name: "NPS_CHANNEL_GRANTED", value: 532, module: "Lobby" }, - { name: "NPS_CHANNEL_CONDITIONAL", value: 533, module: "Lobby" }, - { name: "NPS_SERVER_REDIRECT", value: 534, module: "Lobby" }, - { name: "NPS_HEARTBEAT", value: 535, module: "Lobby" }, - { name: "NPS_HEARTBEAT_TIMEOUT", value: 536, module: "Lobby" }, - { name: "NPS_CHANNEL_UPDATE", value: 537, module: "Lobby" }, - { name: "NPS_FORCE_LEAVE_CHANNEL", value: 538, module: "Lobby" }, - { name: "NPS_USER_LOCATION", value: 539, module: "Lobby" }, - { name: "NPS_GAME_SERVER_STARTED", value: 540, module: "Lobby" }, - { name: "NPS_GAME_SERVER_TERMINATED", value: 541, module: "Lobby" }, - { name: "NPS_VERSIONS_DIFFERENT", value: 542, module: "Lobby" }, - { name: "NPS_SEND_VERSION_STRING", value: 543, module: "Lobby" }, - { name: "NPS_GAME_SKU_REGISTRY_KEY", value: 544, module: "Lobby" }, - { name: "NPS_PLUGIN_ACK", value: 545, module: "Lobby" }, - { name: "NPS_SERVER_CRASHED", value: 546, module: "Lobby" }, - { name: "NPS_OPEN_COMM_CHANNEL_ACK", value: 547, module: "Lobby" }, - { name: "NPS_GAME_SERVER_STATE_CHANGE", value: 548, module: "Lobby" }, - { name: "NPS_SLOT_UPDATE", value: 549, module: "Lobby" }, - { name: "NPS_SLOT_LIST", value: 550, module: "Lobby" }, - { name: "NPS_CHANNEL_MASTER", value: 551, module: "Lobby" }, - { name: "NPS_CHANNEL_MASTER_LIST", value: 552, module: "Lobby" }, - { name: "NPS_MINI_USER_LIST", value: 553, module: "Lobby" }, - { name: "NPS_INVALID_KEY", value: 554, module: "Lobby" }, - { name: "NPS_NO_VALIDATION_SERVER", value: 555, module: "Lobby" }, - { name: "NPS_INC_MINI_USER_LIST", value: 556, module: "Lobby" }, - { name: "NPS_DEC_MINI_USER_LIST", value: 557, module: "Lobby" }, - { name: "NPS_BUDDY_LIST", value: 558, module: "Lobby" }, - { name: "NPS_BUDDYLIST_UPDATE", value: 559, module: "Lobby" }, -]; diff --git a/packages/lobby/src/NPS_LOBBY_COMMANDS.ts b/packages/lobby/src/NPS_LOBBY_COMMANDS.ts deleted file mode 100644 index 3012b619a..000000000 --- a/packages/lobby/src/NPS_LOBBY_COMMANDS.ts +++ /dev/null @@ -1,13 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -import { NPS_LOBBYCLIENT_COMMANDS } from "./NPS_LOBBYCLIENT_COMMANDS.js"; -import { NPS_LOBBYSERVER_COMMANDS } from "./NPS_LOBBYSERVER_COMMANDS.js"; - -/** - * @export - * @readonly - * @type {NpsCommandMap[]} - */ -export const NPS_LOBBY_COMMANDS: GameMessageOpCode[] = [ - ...NPS_LOBBYCLIENT_COMMANDS, - ...NPS_LOBBYSERVER_COMMANDS, -]; diff --git a/packages/lobby/src/UserInfoMessage.ts b/packages/lobby/src/UserInfoMessage.ts deleted file mode 100644 index 1eabbbb2f..000000000 --- a/packages/lobby/src/UserInfoMessage.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { - LegacyMessage, - deserializeString, - serializeString, -} from "../../shared"; -import { LoginInfoMessage } from "./LoginInfoMessage.js"; - -export class UserInfo { - _userId: number; - _userName: string; - _userData: Buffer; - constructor() { - this._userId = 0; // 4 bytes - this._userName = ""; // 4 bytes + string + 1 byte - this._userData = Buffer.alloc(64); // 64 bytes - } - - deserialize(buffer: Buffer) { - let offset = 0; - this._userId = buffer.readInt32BE(offset); - offset += 4; - this._userName = deserializeString(buffer.subarray(offset)); - offset += 4 + this._userName.length; - buffer.copy(this._userData, 0, offset, offset + 64); - return this; - } - - serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeInt32BE(this._userId, offset); - offset += 4; - offset = serializeString(this._userName, buffer, offset); - - this._userData.copy(buffer, offset); - return buffer; - } - - size() { - let size = 4; // userId - size += 4 + this._userName.length + 1; - size += this._userData.length; - return size; - } -} - -export class UserInfoMessage extends LegacyMessage { - _userId: number; - _userName: string; - _userData: Buffer; - constructor() { - super(); - this._userId = 0; // 4 bytes - this._userName = ""; // 4 bytes + string + 1 byte - this._userData = Buffer.alloc(64); // 64 bytes - } - - /** - * @param {Buffer} buffer - * @returns {UserInfoMessage} - */ - override deserialize(buffer: Buffer): this { - try { - this._header._doDeserialize(buffer); - let offset = this._header._size; - this._userId = buffer.readInt32BE(offset); - offset += 4; - this._userName = deserializeString(buffer.subarray(offset)); - offset += 4 + this._userName.length + 1; - buffer.copy(this._userData, 0, offset, offset + 64); - - return this; - } catch (error) { - throw Error( - `Error deserializing LoginInfoMessage: ${String(error)}`, - ); - } - } - - /** - * @returns {Buffer} - */ - override serialize(): Buffer { - try { - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - let offset = this._header._size; - buffer.writeInt32BE(this._userId, offset); - offset += 4; - offset = serializeString(this._userName, buffer, offset); - - this._userData.copy(buffer, offset); - - return buffer; - } catch (error) { - throw Error(`Error serializing LoginInfoMessage: ${String(error)}`); - } - } - - /** - * @param {LoginInfoMessage} loginInfoMessage - */ - fromLoginInfoMessage(loginInfoMessage: LoginInfoMessage) { - this._userId = loginInfoMessage._userId; - this._userName = loginInfoMessage._userName; - this._userData = loginInfoMessage._userData; - this._header.length = this.calculateLength(); - return this; - } - - calculateLength() { - this._header._size = 4 + 4 + 64; - this._header.length += 4 + this._userName.length + 1; - this._header.length += this._userData.length; - return this._header.length; - } - - override toString() { - return `UserInfoMessage: ${JSON.stringify({ - userId: this._userId, - userName: this._userName, - userData: this._userData.toString("hex"), - })}`; - } -} diff --git a/packages/lobby/src/handlers/_setMyUserData.ts b/packages/lobby/src/handlers/_setMyUserData.ts deleted file mode 100644 index 439765dd6..000000000 --- a/packages/lobby/src/handlers/_setMyUserData.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { ServerLogger, LegacyMessage } from "../../../shared"; -import { UserInfo } from "../UserInfoMessage.js"; -import { updateUser } from "../../../database"; - -export async function _setMyUserData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}) { - try { - log.debug("Handling NPS_SET_MY_USER_DATA"); - log.debug(`Received command: ${message.serialize().toString("hex")}`); - - const incomingMessage = new UserInfo(); - incomingMessage.deserialize(message.serialize()); - - log.debug(`User ID: ${incomingMessage._userId}`); - - // Update the user's data - await updateUser({ - userId: incomingMessage._userId, - userData: incomingMessage._userData, - }).catch((error) => { - log.error(`Error updating user data: ${String(error)}`); - throw Error(`Error updating user data: ${String(error)}`); - }); - - // Build the packet - const packetResult = new LegacyMessage(); - packetResult._header.id = 516; - packetResult.deserialize(incomingMessage.serialize()); - - log.debug( - `Sending response: ${packetResult.serialize().toString("hex")}`, - ); - - return { - connectionId, - message: packetResult, - }; - } catch (error) { - log.error(`Error handling NPS_SET_MY_USER_DATA: ${String(error)}`); - throw Error(`Error handling NPS_SET_MY_USER_DATA: ${String(error)}`); - } -} diff --git a/packages/lobby/src/handlers/encryptedCommand.ts b/packages/lobby/src/handlers/encryptedCommand.ts deleted file mode 100644 index 922423e2b..000000000 --- a/packages/lobby/src/handlers/encryptedCommand.ts +++ /dev/null @@ -1,295 +0,0 @@ -import { - ServerLogger, - fetchStateFromDatabase, - getEncryption, - updateEncryption, - LegacyMessage, - MessageBuffer, - SerializedBuffer, -} from "../../../shared"; -import { handleSendMiniRiffList } from "./handleSendMiniRiffList.js"; -import { handleGetMiniUserList } from "./handleGetMiniUserList.js"; -import { _setMyUserData } from "./_setMyUserData.js"; -// eslint-disable-next-line no-unused-vars - -/** - * Array of supported command handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[] = []; - -/** - * Takes an plaintext command packet and return the encrypted bytes - * - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage | MessageBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * message: LegacyMessage | MessageBuffer, - * }>} - */ -async function encryptCmd({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage | MessageBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: LegacyMessage | MessageBuffer; -}> { - const state = fetchStateFromDatabase(); - - const encryption = getEncryption(state, connectionId); - - if (typeof encryption === "undefined") { - log.error( - `Unable to locate encryption session for connection id ${connectionId}`, - ); - throw new Error( - `Unable to locate encryption session for connection id ${connectionId}`, - ); - } - - const result = encryption.commandEncryption.encrypt(message.data); - - updateEncryption(state, encryption).save(); - - log.debug(`[ciphered Cmd: ${result.toString("hex")}`); - - message.setBuffer(result); - - return { - connectionId, - message, - }; -} - -/** - * Takes an encrypted command packet and returns the decrypted bytes - * - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * message: LegacyMessage, - * }>} - */ -async function decryptCmd({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: LegacyMessage; -}> { - const state = fetchStateFromDatabase(); - - const encryption = getEncryption(state, connectionId); - - if (typeof encryption === "undefined") { - log.error( - `Unable to locate encryption session for connection id ${connectionId}`, - ); - throw new Error( - `Unable to locate encryption session for connection id ${connectionId}`, - ); - } - - const result = encryption.commandEncryption.decrypt(message.data); - - updateEncryption(state, encryption).save(); - - log.debug(`[Deciphered Cmd: ${result.toString("hex")}`); - - message.setBuffer(result); - - return { - connectionId, - message, - }; -} - -export type NpsCommandHandler = { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - message: LegacyMessage; - }>; -}; - -const npsCommandHandlers: NpsCommandHandler[] = [ - { - opCode: 0x128, - name: "NPS_GET_MINI_USER_LIST", - handler: handleGetMiniUserList, - }, - { - opCode: 0x30c, - name: "NPS_SEND_MINI_RIFF_LIST", - handler: handleSendMiniRiffList, - }, - { - opCode: 0x103, - name: "NPS_SET_MY_USER_DATA", - handler: _setMyUserData, - }, -]; - -/** - * - * - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @return {Promise<{ - * connectionId: string, - * message: MessageBuffer | LegacyMessage, - * }>}} - */ -async function handleCommand({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - message: MessageBuffer | LegacyMessage; -}> { - const incommingRequest = message; - - log.debug( - `Received command: ${incommingRequest._doSerialize().toString("hex")}`, - ); - - // What is the command? - const command = incommingRequest.data.readUInt16BE(0); - - log.debug(`Command: ${command}`); - - const handler = npsCommandHandlers.find((h) => h.opCode === command); - - if (typeof handler === "undefined") { - log.error(`Unknown command: ${command}`); - throw new Error(`Unknown command: ${command}`); - } - - return handler.handler({ - connectionId, - message, - log, - }); -} - -/** - * - * - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ -* connectionId: string, -* messages: SerializedBuffer[], -* }>} - - */ -export async function handleEncryptedNPSCommand({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - const inboundMessage = new LegacyMessage(); - inboundMessage._doDeserialize(message.data); - - // Decipher - const decipheredMessage = decryptCmd({ - connectionId, - message: inboundMessage, - log, - }); - - const response = handleCommand({ - connectionId, - message: (await decipheredMessage).message, - log, - }); - - // Encipher - const encryptedResponse = encryptCmd({ - connectionId, - message: (await response).message, - log, - }); - - const outboundMessage = new SerializedBuffer(); - outboundMessage.setBuffer((await encryptedResponse).message.serialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} - -export const channelRecordSize = 40; - -export const channels = [ - { - id: 0, - name: "Channel 1", - population: 1, - }, - { - id: 191, - name: "MCCHAT", - population: 0, - }, -]; diff --git a/packages/lobby/src/handlers/handleGetMiniUserList.ts b/packages/lobby/src/handlers/handleGetMiniUserList.ts deleted file mode 100644 index 096c2b160..000000000 --- a/packages/lobby/src/handlers/handleGetMiniUserList.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { - ServerLogger, - GameMessage, - LegacyMessage, - serializeString, -} from "../../../shared"; -import { UserInfo } from "../UserInfoMessage.js"; -import { channelRecordSize, channels } from "./encryptedCommand.js"; - -const user1 = new UserInfo(); -user1._userId = 1; -user1._userName = "User 1"; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - */ - -export function handleGetMiniUserList({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}) { - log.debug("Handling NPS_GET_MINI_USER_LIST"); - log.debug(`Received command: ${message._doSerialize().toString("hex")}`); - - const outgoingGameMessage = new GameMessage(553); - - const resultSize = channelRecordSize * channels.length - 12; - - const packetContent = Buffer.alloc(resultSize); - - let offset = 0; - try { - // Add the response code - packetContent.writeUInt32BE(17, offset); - offset += 4; // offset is 8 - - packetContent.writeUInt32BE(1, offset); - offset += 4; // offset is 12 - - // Write the count of users - packetContent.writeUInt32BE(1, offset); - offset += 4; // offset is 16 - - // write the persona id - packetContent.writeUInt32BE(user1._userId, offset); - offset += 4; // offset is 20 - - // write the persona name - serializeString(user1._userName, packetContent, offset); - - outgoingGameMessage.setRecordData(packetContent); - - // Build the packet - const packetResult = new LegacyMessage(); - packetResult._doDeserialize(outgoingGameMessage.serialize()); - - log.debug( - `Sending response: ${packetResult.serialize().toString("hex")}`, - ); - - return { - connectionId, - message: packetResult, - }; - } catch (error) { - log.error(`Error handling NPS_MINI_USER_LIST: ${String(error)}`); - throw Error(`Error handling NPS_MINI_USER_LIST: ${String(error)}`); - } -} diff --git a/packages/lobby/src/handlers/handleSendMiniRiffList.ts b/packages/lobby/src/handlers/handleSendMiniRiffList.ts deleted file mode 100644 index 1c576072f..000000000 --- a/packages/lobby/src/handlers/handleSendMiniRiffList.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { - GameMessage, - LegacyMessage, - serializeString, - type TServerLogger, -} from "../../../shared"; -import { channelRecordSize, channels } from "./encryptedCommand.js"; - -// const users = [user1]; -/** - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - */ -export function handleSendMiniRiffList({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: TServerLogger; -}) { - log.debug("Handling NPS_SEND_MINI_RIFF_LIST"); - log.debug(`Received command: ${message._doSerialize().toString("hex")}`); - - const outgoingGameMessage = new GameMessage(1028); - - const resultSize = channelRecordSize * channels.length - 12; - - const packetContent = Buffer.alloc(resultSize); - - let offset = 0; - try { - packetContent.writeUInt32BE(channels.length, offset); - offset += 4; // offset is 8 - - // loop through the channels - for (const channel of channels) { - offset = serializeString(channel.name, packetContent, offset); - - packetContent.writeUInt32BE(channel.id, offset); - offset += 4; - packetContent.writeUInt16BE(channel.population, offset); - offset += 2; - } - - outgoingGameMessage.setRecordData(packetContent); - - // Build the packet - const packetResult = new LegacyMessage(); - packetResult._doDeserialize(outgoingGameMessage.serialize()); - - log.debug( - `Sending response: ${packetResult.serialize().toString("hex")}`, - ); - - return { - connectionId, - message: packetResult, - }; - } catch (error) { - log.error(`Error handling NPS_SEND_MINI_RIFF_LIST: ${String(error)}`); - throw Error(`Error handling NPS_SEND_MINI_RIFF_LIST: ${String(error)}`); - } -} diff --git a/packages/lobby/src/handlers/handleTrackingPing.ts b/packages/lobby/src/handlers/handleTrackingPing.ts deleted file mode 100644 index 6fed3ee44..000000000 --- a/packages/lobby/src/handlers/handleTrackingPing.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { ServerLogger, SerializedBuffer } from "../../../shared"; - -export async function handleTrackingPing({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug("Handling NPS_TRACKING_PING"); - log.debug(`Received command: ${message.toString()}`); - - log.debug("Skipping response"); - - return { - connectionId, - messages: [], - }; -} diff --git a/packages/lobby/src/handlers/requestConnectGameServer.ts b/packages/lobby/src/handlers/requestConnectGameServer.ts deleted file mode 100644 index 60da76fdd..000000000 --- a/packages/lobby/src/handlers/requestConnectGameServer.ts +++ /dev/null @@ -1,143 +0,0 @@ -import { getPersonasByPersonaId } from "../../../persona/src/getPersonasByPersonaId.js"; -import { fetchSessionKeyByCustomerId } from "../../../database"; -import { LoginInfoMessage } from "../LoginInfoMessage.js"; - -import { UserInfoMessage } from "../UserInfoMessage.js"; -import { - createCommandEncryptionPair, - createDataEncryptionPair, -} from "../../../gateway/src/encryption.js"; -import { - McosEncryption, - addEncryption, - fetchStateFromDatabase, - getEncryption, - SerializedBuffer, -} from "../../../shared"; - -/** - * Convert to zero padded hex - * - * @export - * @param {Buffer} data - * @return {string} - */ -export function toHex(data: Buffer): string { - /** @type {string[]} */ - const bytes: string[] = []; - data.forEach((b: number) => { - bytes.push(b.toString(16).toUpperCase().padStart(2, "0")); - }); - return bytes.join(""); -} - -/** - * Handle a request to connect to a game server packet - * - * @private - * @param {import("../../../interfaces/index.js").ServiceArgs} args - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export async function _npsRequestGameConnectServer({ - connectionId, - message, - log, -}: import("../../../interfaces/index.js").ServiceArgs): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - // This is a NPS_LoginInfo packet - // As a legacy packet, it used the old NPSMessage format - // of a 4 byte header, followed by a 4 byte length, followed - // by the data payload. - - const inboundMessage = new LoginInfoMessage(); - inboundMessage.deserialize(message.data); - - log.debug(`LoginInfoMessage: ${inboundMessage.toString()}`); - - const personas = await getPersonasByPersonaId({ - id: inboundMessage._userId, - }); - if (typeof personas[0] === "undefined") { - log.error(`No personas found for userId ${inboundMessage._userId}`); - const err = new Error("No personas found."); - throw err; - } - - const { customerId } = personas[0]; - - const state = fetchStateFromDatabase(); - - const existingEncryption = getEncryption(state, connectionId); - - if (!existingEncryption) { - // Set the encryption keys on the lobby connection - const keys = await fetchSessionKeyByCustomerId(customerId).catch( - (/** @type {unknown} */ error: unknown) => { - log.error( - `Unable to fetch session key for customerId ${customerId.toString()}: ${String( - error, - )}`, - ); - throw new Error( - `Unable to fetch session key for customerId ${customerId.toString()}: ${String( - error, - )}`, - ); - }, - ); - if (keys === undefined) { - log.error( - `Error fetching session keys for customerId ${customerId}`, - ); - throw new Error("Error fetching session keys!"); - } - - // We have the session keys, set them on the connection - try { - const newCommandEncryptionPair = createCommandEncryptionPair( - keys.sessionKey, - ); - - const newDataEncryptionPair = createDataEncryptionPair( - keys.sessionKey, - ); - - const newEncryption = new McosEncryption({ - connectionId, - commandEncryptionPair: newCommandEncryptionPair, - dataEncryptionPair: newDataEncryptionPair, - }); - - addEncryption(state, newEncryption).save(); - } catch (error) { - log.error(`Error creating encryption: ${error}`); - throw new Error(`Error creating encryption: ${error}`); - } - } - - // We have a session, we are good to go! - // Send the response packet - - const responsePacket = new UserInfoMessage(); - responsePacket.fromLoginInfoMessage(inboundMessage); - - responsePacket._header.id = 0x120; - - // log the packet - log.debug( - `!!! outbound lobby login response packet: ${responsePacket.toString()}`, - ); - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(responsePacket.serialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} diff --git a/packages/lobby/src/internal.ts b/packages/lobby/src/internal.ts deleted file mode 100644 index 8ca552464..000000000 --- a/packages/lobby/src/internal.ts +++ /dev/null @@ -1,148 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { _npsRequestGameConnectServer } from "./handlers/requestConnectGameServer.js"; -import { handleEncryptedNPSCommand } from "./handlers/encryptedCommand.js"; -import { - ServerLogger, - LegacyMessage, - NPSMessage, - SerializedBuffer, -} from "../../shared"; -import { handleTrackingPing } from "./handlers/handleTrackingPing.js"; - -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[] = [ - { - opCode: 256, // 0x100 - name: "User login", - handler: _npsRequestGameConnectServer, - }, - { - opCode: 4353, // 0x1101 - name: "Encrypted command", - handler: handleEncryptedNPSCommand, - }, - { - opCode: 535, // 0x0217 - name: "Tracking ping", - handler: handleTrackingPing, - }, -]; - -/** - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - * @throws {Error} Unknown code was received - */ -export async function receiveLobbyData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - /** @type {LegacyMessage | NPSMessage} */ - let inboundMessage: LegacyMessage | NPSMessage; - - // Check data length - const dataLength = message.data.length; - - if (dataLength < 4) { - log.error(`Data length ${dataLength} is too short to deserialize`); - throw new Error( - `Data length ${dataLength} is too short to deserialize`, - ); - } - - if (dataLength > 12) { - inboundMessage = new NPSMessage(); - } else { - inboundMessage = new LegacyMessage(); - } - - inboundMessage._doDeserialize(message.data); - - const { data } = message; - log.debug( - `Received Lobby packet', - ${JSON.stringify({ - data: data.toString("hex"), - })}`, - ); - - const supportedHandler = messageHandlers.find((h) => { - return h.opCode === inboundMessage._header.id; - }); - - if (typeof supportedHandler === "undefined") { - // We do not yet support this message code - log.error(`UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`); - throw new Error( - `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, - ); - } - - try { - const result = await supportedHandler.handler({ - connectionId, - message, - log, - }); - log.debug(`Returning with ${result.messages.length} messages`); - log.debug("Leaving receiveLobbyData"); - return result; - } catch (error) { - log.error(`Error handling lobby data: ${String(error)}`); - throw new Error(`Error handling lobby data: ${String(error)}`); - } -} diff --git a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts b/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts deleted file mode 100644 index d414ad4f1..000000000 --- a/packages/lobby/test/handlers/handleSendMiniRiffList.test.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { handleSendMiniRiffList } from "../../src/handlers/handleSendMiniRiffList.js"; -import { describe, it, expect } from "vitest"; -import { LegacyMessage } from "../../../shared"; -import { mockLogger } from "../../../shared/test" - -describe("handleSendMiniRiffList", () => { - it("should return a buffer", async () => { - // arrange - const incomingMessage = new LegacyMessage(); - - const result = await handleSendMiniRiffList({ - connectionId: "test", - message: incomingMessage, - log: mockLogger(), - }); - - expect(result.message).toBeInstanceOf(LegacyMessage); - }); -}); diff --git a/packages/login/package.json b/packages/login/package.json deleted file mode 100644 index f440459ca..000000000 --- a/packages/login/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@rustymotors/login", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0" -} diff --git a/packages/login/src/NPSUserStatus.ts b/packages/login/src/NPSUserStatus.ts deleted file mode 100644 index 0a56b51cf..000000000 --- a/packages/login/src/NPSUserStatus.ts +++ /dev/null @@ -1,131 +0,0 @@ -import { privateDecrypt } from "node:crypto"; -import { readFileSync } from "node:fs"; - -import { LegacyMessage, Configuration, ServerLogger, type TServerLogger } from "../../shared"; - -/** - * @typedef {Configuration} Configuration - */ - -/** - * - * - * @export - * @typedef {object} NPSMessageValues - * @property {number} msgNo - * @property {number} msgVersion - * @property {number} reserved - * @property {Buffer} content - * @property {number} msgLength - * @property {"sent" | "received"} direction - * @property {string} serviceName - */ -/** - * - * @class NPSUserStatus - * @property {string} sessionKey - * @property {string} opCode - * @property {Buffer} buffer - */ - -export class NPSUserStatus extends LegacyMessage { - _config: Configuration; - log: TServerLogger; - sessionKey: string; - opCode: number; - contextId: string; - buffer: Buffer; - /** - * - * @param {Buffer} packet - * @param {Configuration} config - * @param {ServerLogger} log - */ - constructor(packet: Buffer, config: Configuration, log: TServerLogger) { - super(); - this._config = config; - this.log = log; - log.debug("Constructing NPSUserStatus"); - this._header._doDeserialize(packet); - this.sessionKey = ""; - - // Save the NPS opCode - this.opCode = packet.readInt16BE(0); - - // Save the contextId - this.contextId = packet.subarray(14, 48).toString(); - - // Save the raw packet - this.buffer = packet; - } - - /** - * ExtractSessionKeyFromPacket - * - * Take 128 bytes - * They are the utf-8 of the hex bytes that are the key - * - * @param {Buffer} rawPacket - * @return {void} - */ - extractSessionKeyFromPacket(rawPacket: Buffer): void { - this.log.debug("Extracting key"); - - // Extract the session key which is 128 acsii characters (256 bytes) - const sessionKeyAsAscii = rawPacket.subarray(52, 308).toString("utf8"); - this.log.trace(`Session key: ${sessionKeyAsAscii}`); - - // length of the session key should be 128 bytes - const sessionkeyString = Buffer.from(sessionKeyAsAscii, "hex"); - // Decrypt the sessionkey - try { - if (!this._config.privateKeyFile) { - throw new Error("No private key file specified"); - } - const privatekeyContents = readFileSync( - this._config.privateKeyFile, - ); - - const decrypted = privateDecrypt( - { - key: privatekeyContents, - }, - sessionkeyString, - ); // length of decrypted should be 128 bytes - this.sessionKey = decrypted.subarray(2, -4).toString("hex"); // length of session key should be 12 bytes - } catch (error) { - this.log.trace(`Session key: ${sessionkeyString.toString("utf8")}`); // 128 bytes - this.log.trace(`decrypted: ${this.sessionKey}`); // 12 bytes - this.log.error(`Error decrypting session key: ${String(error)}`); - throw new Error(`Unable to extract session key: ${String(error)}`); - } - } - - toJSON() { - this.log.debug("Returning as JSON"); - return { - msgNo: this._header.id, - msgLength: this._header.length, - content: this.data.toString("hex"), - contextId: this.contextId, - sessionKey: this.sessionKey, - rawBuffer: this.buffer.toString("hex"), - }; - } - - /** - * @return {string} - */ - dumpPacket(): string { - this.log.debug("Returning as string"); - let message = this._header.toString(); - message = message.concat( - `NPSUserStatus, - ${JSON.stringify({ - contextId: this.contextId, - sessionkey: this.sessionKey, - })}`, - ); - return message; - } -} diff --git a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts b/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts deleted file mode 100644 index 97a4e60c2..000000000 --- a/packages/login/src/NPS_LOGINCLIENT_COMMANDS.ts +++ /dev/null @@ -1,61 +0,0 @@ -/** - * Commands from the game client to the login server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ - -/** - * Commands from the game client to the login server - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ -import type { GameMessageOpCode } from "../../interfaces/index.js"; - -export const NPS_LOGINCLIENT_COMMANDS: GameMessageOpCode[] = [ - { name: "NPS_USER_LOGIN", value: 1281, module: "Login" }, - { name: "NPS_GAME_LOGIN", value: 1282, module: "Login" }, - { name: "NPS_REGISTER_GAME_LOGIN", value: 1283, module: "Login" }, - { name: "NPS_SET_GAME_BLOB", value: 1284, module: "Login" }, - { name: "NPS_GET_NEXT_SERVER", value: 1285, module: "Login" }, - { name: "NPS_NEW_EA_ACCOUNT", value: 1286, module: "Login" }, - { name: "NPS_NEW_GAME_ACCOUNT", value: 1287, module: "Login" }, - { name: "NPS_UPDATE_EA_ACCOUNT", value: 1288, module: "Login" }, - { name: "NPS_UPDATE_GAME_ACCOUNT", value: 1289, module: "Login" }, - { name: "NPS_LOCATE_PLAYER", value: 1290, module: "Login" }, - { name: "NPS_GET_BUDDY_LIST", value: 1291, module: "Login" }, - { name: "NPS_ADD_BUDDY_LIST", value: 1292, module: "Login" }, - { name: "NPS_DELETE_BUDDY_LIST", value: 1293, module: "Login" }, - { name: "NPS_CLEAR_BUDDY_LIST", value: 1294, module: "Login" }, - { name: "NPS_REGISTER_GAME_LOGOUT", value: 1295, module: "Login" }, - { name: "NPS_GET_GENERIC_HS_DATA", value: 1296, module: "Login" }, - { name: "NPS_PUT_GENERIC_HS_DATA", value: 1297, module: "Login" }, - { name: "NPS_DELETE_GAME_PERSONA", value: 1298, module: "Login" }, - { name: "NPS_READ_SERVER_DATA_LIST", value: 1299, module: "Login" }, - { name: "NPS_DELETE GENERIC_HS_DATA", value: 1300, module: "Login" }, - { name: "NPS_GET_PLAYER_RANK", value: 1301, module: "Login" }, - { name: "NPS_GET_TOP_PLAYERS", value: 1302, module: "Login" }, - { name: "NPS_ADD_BUDDY_BY_NAME", value: 1303, module: "Login" }, - { name: "NPS_GET_BUDDY_INFO", value: 1304, module: "Login" }, - { name: "NPS_GET_PERSONA_INFO", value: 1305, module: "Login" }, - { name: "NPS_GET_LEADER_BOARD", value: 1306, module: "Login" }, - { name: "NPS_SRP_USERNAME", value: 1307, module: "Login" }, - { name: "NPS_SRP_NGS", value: 1308, module: "Login" }, - { name: "NPS_SRP_A", value: 1309, module: "Login" }, - { name: "NPS_SRP_B", value: 1310, module: "Login" }, - { name: "NPS_SRP_USER_VERIFY", value: 1311, module: "Login" }, - { name: "NPS_SRP_SERVER_VERIFY", value: 1312, module: "Login" }, - { name: "NPS_FILE_BUG_REPORT", value: 1313, module: "Login" }, - { name: "NPS_GET_GENERIC_FIELD_RANKING", value: 1314, module: "Login" }, - { name: "NPS_SEND_EMAIL", value: 1315, module: "Login" }, - { name: "NPS_RECEIVE_EMAIL", value: 1316, module: "Login" }, - { name: "NPS_DELETE_EMAILS", value: 1317, module: "Login" }, - { name: "NPS_LIST_EMAILS", value: 1318, module: "Login" }, - { name: "NPS_AAI_REQUEST", value: 1328, module: "Login" }, - { name: "NPS_AAI_CRACK", value: 1329, module: "Login" }, - { name: "NPS_GET_PERSONA_MAPS", value: 1330, module: "Login" }, - { name: "NPS_VALIDATE_PERSONA_NAME", value: 1331, module: "Login" }, - { name: "NPS_CHECK_TOKEN", value: 1332, module: "Login" }, - { name: "NPS_GET_USER_STATUS", value: 1333, module: "Login" }, -]; diff --git a/packages/login/src/NPS_LOGIN_COMMANDS.ts b/packages/login/src/NPS_LOGIN_COMMANDS.ts deleted file mode 100644 index eebf30fe3..000000000 --- a/packages/login/src/NPS_LOGIN_COMMANDS.ts +++ /dev/null @@ -1,12 +0,0 @@ -import type { GameMessageOpCode } from "../../interfaces/index.js"; -import { NPS_LOGINCLIENT_COMMANDS } from "./NPS_LOGINCLIENT_COMMANDS.js"; - -/** - * @export - * @readonly - * @type {TNPS_COMMAND_MAP[]} - */ - -export const NPS_LOGIN_COMMANDS: GameMessageOpCode[] = [ - ...NPS_LOGINCLIENT_COMMANDS, -]; diff --git a/packages/login/src/index.ts b/packages/login/src/index.ts deleted file mode 100644 index 9d75f220f..000000000 --- a/packages/login/src/index.ts +++ /dev/null @@ -1,153 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . -import type { ServerLogger, ServiceResponse, NPSMessage, TServerLogger, UserRecordMini } from "../../shared"; -import { handleLoginData } from "./internal.js"; - -/** - * Please use {@link LoginServer.getInstance()} - */ -export class LoginServer { - _log: TServerLogger - static _instance: LoginServer | undefined; - /** - * Please use {@see LoginServer.getInstance} instead - * @param {object} options - * @param {ServerLogger} options.log - * @memberof LoginServer - */ - constructor({ log }: { log: TServerLogger }) { - this._log = log; - LoginServer._instance = this; - } - - /** - * Get the single instance of the login server - * - * @static - * @param {ServerLogger} log - * @return {LoginServer} - */ - static getInstance(log: ServerLogger): LoginServer { - if (typeof LoginServer._instance === "undefined") { - LoginServer._instance = new LoginServer({ - log, - }); - } - return LoginServer._instance; - } - - _npsGetCustomerIdByContextId( - contextId: string, - ): UserRecordMini { - this._log.debug(">>> _npsGetCustomerIdByContextId"); - const users: UserRecordMini[] = [ - { - contextId: "5213dee3a6bcdb133373b2d4f3b9962758", - customerId: 0x0012808b, - userId: 0x00000002, - }, - { - contextId: "d316cd2dd6bf870893dfbaaf17f965884e", - customerId: 0x0054b46c, - userId: 0x00000001, - }, - ]; - if (contextId.toString() === "") { - const err = new Error(`Unknown contextId: ${contextId.toString()}`); - throw err; - } - - const userRecord = users.filter((user) => user.contextId === contextId); - if (typeof userRecord[0] === "undefined" || userRecord.length !== 1) { - this._log.debug( - `preparing to leave _npsGetCustomerIdByContextId after not finding record', - ${JSON.stringify({ - contextId, - })}`, - ); - const err = new Error( - `Unable to locate user record matching contextId ${contextId}`, - ); - throw err; - } - - this._log.debug( - `preparing to leave _npsGetCustomerIdByContextId after finding record', - ${JSON.stringify({ - contextId, - userRecord, - })}`, - ); - return userRecord[0]; - } -} - -/** @type {LoginServer | undefined} */ -LoginServer._instance = undefined; - -/** - * Entry and exit point of the Login service - * - * @export - * @param {object} args - * @param {string} args.connectionId - * @param {NPSMessage} args.message - * @param {ServerLogger} args.log - * - * @return {Promise} - */ -export async function receiveLoginData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: NPSMessage; - log: TServerLogger; -}): Promise { - try { - log.debug("Entering login module"); - const response = await handleLoginData({ - connectionId, - message, - log, - }); - log.debug(`There are ${response.messages.length} messages`); - log.debug("Exiting login module"); - return response; - } catch (error) { - const err = new Error( - `There was an error in the login service: ${String(error)}`, - ); - throw err; - } -} diff --git a/packages/login/src/internal.ts b/packages/login/src/internal.ts deleted file mode 100644 index 1d7c605bd..000000000 --- a/packages/login/src/internal.ts +++ /dev/null @@ -1,245 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { getServerConfiguration, type TServerLogger } from "../../shared"; -import { NPSUserStatus } from "./NPSUserStatus.js"; -import { updateSessionKey } from "../../database"; -import { - ServerLogger, - NPSMessage, - SerializedBuffer, - NetworkMessage, -} from "../../shared"; -import type { UserRecordMini } from "../../interfaces/index.js"; - -const userRecords: UserRecordMini[] = [ - { - contextId: "5213dee3a6bcdb133373b2d4f3b9962758", - customerId: 0x0012808b, - userId: 0x00000002, - }, - { - contextId: "d316cd2dd6bf870893dfbaaf17f965884e", - customerId: 0x0054b46c, - userId: 0x00000001, - }, -]; - -/** - * Process a UserLogin packet - * @private - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -async function login({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: TServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - const data = message.serialize(); - - log.debug(`Received login packet: ${connectionId}`); - - log.debug("Requesting NPSUserStatus packet"); - const userStatus = new NPSUserStatus(data, getServerConfiguration({}), log); - log.debug("NPSUserStatus packet creation success"); - - log.debug("Requesting Key extraction"); - userStatus.extractSessionKeyFromPacket(data); - log.debug("Key extraction success"); - - const { contextId, sessionKey } = userStatus; - - log.debug( - `UserStatus object from _userLogin, - ${JSON.stringify({ - userStatus: userStatus.toJSON(), - })}`, - ); - userStatus.dumpPacket(); - - // Load the customer record by contextId - // TODO: #1175 Move customer records from being hard-coded to database records - const userRecord = userRecords.find((r) => { - return r.contextId === contextId; - }); - - if (typeof userRecord === "undefined") { - // We were not able to locate the user's record - const err = new Error( - `Unable to locate a user record for the context id: ${contextId}`, - ); - throw err; - } - - // Save sessionkey in database under customerId - log.debug("Preparing to update session key in db"); - await updateSessionKey( - userRecord.customerId, - sessionKey ?? "", - contextId, - connectionId, - ).catch((error) => { - const err = new Error( - `Unable to update session key in the database: ${String(error)}`, - ); - throw err; - }); - - log.debug("Session key updated"); - - const outboundMessage = new NetworkMessage(0x601); - - const dataBuffer = Buffer.alloc(26); - let offset = 0; - dataBuffer.writeInt32BE(userRecord.customerId, offset); - offset += 4; - dataBuffer.writeInt32BE(userRecord.userId, offset); - offset += 4; - dataBuffer.writeInt8(0, offset); // isCacheHit - offset += 1; - dataBuffer.writeInt8(0, offset); // ban - offset += 1; - dataBuffer.writeInt8(0, offset); // gag - offset += 1; - dataBuffer.write(sessionKey ?? "", offset, 12, "ascii"); - - const packetContent = dataBuffer; - - // Set the packet content in the outbound message - outboundMessage.data = packetContent; - - log.debug("Returning login response"); - log.debug(`Outbound message: ${outboundMessage.asHex()}`); - - const outboundMessage2 = new SerializedBuffer(); - outboundMessage2._doDeserialize(outboundMessage.serialize()); - - log.debug( - `Outbound message 2: ${outboundMessage2.serialize().toString("hex")}`, - ); - - // Update the data buffer - const response = { - connectionId, - messages: [outboundMessage2, outboundMessage2], - }; - log.debug("Leaving login"); - return response; -} - -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: SerializedBuffer, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: SerializedBuffer; - log: TServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[] = [ - { - opCode: 1281, // 0x0501 - name: "UserLogin", - handler: login, - }, -]; - -/** - * Entry and exit point of the Login service - * - * @export - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -export async function handleLoginData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: TServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug(`Received Login Server packet: ${connectionId}`); - - // The packet needs to be an NPSMessage - const inboundMessage = new NPSMessage(); - inboundMessage._doDeserialize(message.serialize()); - - const supportedHandler = messageHandlers.find((h) => { - return h.opCode === inboundMessage._header.id; - }); - - if (typeof supportedHandler === "undefined") { - // We do not yet support this message code - throw new Error( - `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, - ); - } - - try { - const result = await supportedHandler.handler({ - connectionId, - message, - log, - }); - log.debug(`Returning with ${result.messages.length} messages`); - log.debug("Leaving handleLoginData"); - return result; - } catch (error) { - throw new Error(`Error handling login data: ${String(error)}`); - } -} diff --git a/packages/login/src/premadeLogin.ts b/packages/login/src/premadeLogin.ts deleted file mode 100644 index e78bd4113..000000000 --- a/packages/login/src/premadeLogin.ts +++ /dev/null @@ -1,277 +0,0 @@ -/** - * This is the response packet sent on the login port in response to a UserLogin - * - * @return {Buffer} - */ - -export function premadeLogin() { - // TODO: #1181 Generate a dynamic login response message - return Buffer.from([ - // Live Packet - 0x06, - 0x01, // MsgId: 0x601 = NPS_USER_VALID = 1537 - - 0x01, - 0x00, // Packet Length: 0x003a = 58 - - 0x21, - 0xf9, - 0x17, - 0xf2, // CustomerId: 0x21f917f2 = 568000498 - - 0x28, - 0x85, - 0xd1, - 0x47, // PersonaId: 0x2885d147 = 676000007 - - 0xab, // IsCacheHit: 0xab = 171 - - 0x01, // Ban: 0x01 = 1 - - 0x00, // Gag: 0x00 = 0 - - 0x00, - 0xec, - 0xf7, - 0xba, // SessionKey: 0x00ecf7ba = 155000186 - - 0x7f, - 0x45, - 0x62, - 0x53, - 0x62, - 0xfe, - - 0x53, - 0x7b, - 0x03, - 0x11, - 0x27, - 0x72, - 0xbd, - 0xa3, - 0x3d, - 0xa3, - 0x06, - 0x52, - 0x3a, - 0xfb, - 0x7c, - 0xd6, - 0xd5, - 0xdb, - 0x85, - 0x3d, - 0x73, - 0x66, - 0x8f, - 0x26, - 0x69, - 0x65, - 0x07, - 0x37, - 0x7a, - 0xe8, - 0xc9, - 0x45, - 0x99, - 0x6a, - 0xaf, - 0xe5, - 0xdf, - 0x1c, - 0xbd, - 0x1f, - 0x30, - 0xdc, - 0x5a, - 0x1a, - 0x29, - 0x4d, - 0xab, - 0x3d, - 0x0b, - 0x15, - 0xdf, - 0x33, - 0x32, - 0xdc, - 0x1e, - 0xe8, - 0x75, - 0x8b, - 0x54, - 0x34, - 0x26, - 0x0d, - 0x3a, - 0xa2, - 0xcf, - 0x2d, - 0x26, - 0x3d, - 0x7d, - 0xf7, - 0xec, - 0x3c, - 0x52, - 0xb2, - 0x34, - 0x57, - 0xc1, - 0x07, - 0xd7, - 0x6a, - 0xd4, - 0xdc, - 0x1e, - 0xd0, - 0x07, - 0x31, - 0xdd, - 0xe7, - 0x92, - 0x4b, - 0xf2, - 0x56, - 0xc8, - 0xb1, - 0x00, - 0x4d, - 0xd6, - 0xe8, - 0x79, - 0x14, - 0xf0, - 0x72, - 0x71, - 0x41, - 0x6d, - 0xce, - 0x11, - 0xe2, - 0xae, - 0x9d, - 0xec, - 0x55, - 0x6e, - 0xdd, - 0xdf, - 0xfa, - 0xdb, - 0x09, - 0x74, - 0x61, - 0x8c, - 0x67, - 0xf6, - 0xf7, - 0x65, - 0xf3, - 0x98, - 0xfd, - 0x6d, - 0x97, - 0x4b, - 0x3f, - 0x54, - 0x85, - 0x4f, - 0x2a, - 0x69, - 0x02, - 0xbe, - 0xb6, - 0xd4, - 0xa3, - 0x2f, - 0x5b, - 0x86, - 0x58, - 0x19, - 0xbd, - 0xa9, - 0x9e, - 0x21, - 0x63, - 0x50, - 0x9c, - 0x43, - 0x83, - 0x42, - 0xfa, - 0xa5, - 0x81, - 0x5c, - 0x1f, - 0xad, - 0x06, - 0x64, - 0x64, - 0x7f, - 0xe1, - 0x2b, - 0xdb, - 0xd0, - 0xee, - 0xa6, - 0x04, - 0x11, - 0x9a, - 0x00, - 0x00, - 0x00, - 0x00, - 0xb4, - 0x43, - 0xf5, - 0x00, - 0x00, - 0x27, - 0x1f, - 0x07, - 0xa3, - 0xbf, - 0x17, - 0x3d, - 0x9b, - 0x2e, - 0xde, - 0xae, - 0xdf, - 0x46, - 0x2f, - 0x30, - 0x11, - 0x70, - 0xbe, - 0x5f, - 0x90, - 0x46, - 0x0c, - 0x28, - 0x33, - 0xf0, - 0x08, - 0x88, - 0x03, - 0x05, - 0xbf, - 0xe5, - 0x53, - 0xcd, - 0xfa, - 0x45, - 0x77, - 0x2e, - 0x90, - 0xf3, - 0x4d, - 0xd1, - 0x44, - 0x89, - 0x00, - 0x00, - 0x00, // (0xa6 was old val) - ]); -} diff --git a/packages/login/test/LoginServer.test.ts b/packages/login/test/LoginServer.test.ts deleted file mode 100644 index a14d2ec60..000000000 --- a/packages/login/test/LoginServer.test.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { describe, it, expect } from "vitest"; -import { LoginServer } from "../src/index.js"; -import { mockLogger } from "../../shared/test"; - - - -describe("LoginServer", () => { - describe("constructor", () => { - it("should create a new instance", () => { - const loginServer = new LoginServer({ - log: mockLogger(), - }); - expect(loginServer).toBeDefined(); - }); - }); -}); diff --git a/packages/mcots/index.ts b/packages/mcots/index.ts index 14f4c43b4..32c570bc0 100644 --- a/packages/mcots/index.ts +++ b/packages/mcots/index.ts @@ -1,7 +1,8 @@ export { - serverMessageProcessors, populateServerMessageProcessors, getServerMessageProcessor, } from "./messageProcessors/index.js"; +export { ClientConnectionManager } from "./ClientConnectionManager.js"; +export { ErrorNoKey } from "./errors/ErrorNoKey.js"; // Path: packages/mcots/index.ts diff --git a/packages/mcots/messageProcessors/index.ts b/packages/mcots/messageProcessors/index.ts index 0d1299c21..00b7ffa5c 100644 --- a/packages/mcots/messageProcessors/index.ts +++ b/packages/mcots/messageProcessors/index.ts @@ -1,9 +1,9 @@ -import type { ServerMessage } from "../../shared-packets"; -import { processClientConnect } from "./processClientConnect"; -import { processClientTracking } from "./processClientTracking"; -import { processServerLogin } from "./processServerLogin"; -import { processSetOptions } from "./processSetOptions"; -import { processStockCarInfo } from "./processStockCarInfo"; +import type { ServerMessage } from "rusty-motors-shared-packets"; +import { processClientConnect } from "./processClientConnect.js"; +import { processClientTracking } from "./processClientTracking.js"; +import { processServerLogin } from "./processServerLogin.js"; +import { processSetOptions } from "./processSetOptions.js"; +import { processStockCarInfo } from "./processStockCarInfo.js"; export type ServerSocketCallback = (messages: ServerMessage[]) => void; diff --git a/packages/mcots/messageProcessors/processClientConnect.ts b/packages/mcots/messageProcessors/processClientConnect.ts index 61e303b72..13d1949b8 100644 --- a/packages/mcots/messageProcessors/processClientConnect.ts +++ b/packages/mcots/messageProcessors/processClientConnect.ts @@ -1,14 +1,14 @@ import { ServerMessage, -} from "../../shared-packets/src/ServerMessage"; -import type { ServerSocketCallback } from "."; -import { getServerLogger } from "../../shared"; -import { ClientConnectionMessage } from "../payloads/ClientConnectMessage"; -import { UserStatusManager } from "../../nps"; -import { ClientConnectionManager } from "../ClientConnectionManager"; -import { createDataEncryptionPair } from "../../connection/src/Connection"; -import { ErrorNoKey } from "../errors/ErrorNoKey"; -import { sendSuccess } from "./sendSuccess"; +} from "../../shared-packets/src/ServerMessage.js"; +import type { ServerSocketCallback } from "./index.js"; +import { getServerLogger } from "rusty-motors-shared"; +import { ClientConnectionMessage } from "../payloads/ClientConnectMessage.js"; +import { UserStatusManager } from "rusty-motors-nps"; +import { ClientConnectionManager } from "../ClientConnectionManager.js"; +import { createDataEncryptionPair } from "../../connection/src/Connection.js"; +import { ErrorNoKey } from "../errors/ErrorNoKey.js"; +import { sendSuccess } from "./sendSuccess.js"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/processClientTracking.ts b/packages/mcots/messageProcessors/processClientTracking.ts index 935ab6927..86f16c3f4 100644 --- a/packages/mcots/messageProcessors/processClientTracking.ts +++ b/packages/mcots/messageProcessors/processClientTracking.ts @@ -1,7 +1,7 @@ -import type { ServerSocketCallback } from "."; -import type { ServerMessage } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; -import { ClientTrackingMessage } from "../payloads/ClientTrackingMessage"; +import type { ServerSocketCallback } from "./index.js"; +import type { ServerMessage } from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; +import { ClientTrackingMessage } from "../payloads/ClientTrackingMessage.js"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/processServerLogin.ts b/packages/mcots/messageProcessors/processServerLogin.ts index 928eee3dd..f4bb5f17e 100644 --- a/packages/mcots/messageProcessors/processServerLogin.ts +++ b/packages/mcots/messageProcessors/processServerLogin.ts @@ -1,8 +1,8 @@ -import type { ServerSocketCallback } from "."; -import { ServerMessage } from "../../shared-packets/src/ServerMessage"; -import { LoginMessage } from "../payloads/LoginMessage"; -import { getServerLogger } from "../../shared"; -import { LoginCompleteMessage } from "../payloads/LoginCompleteMessage"; +import type { ServerSocketCallback } from "./index.js"; +import { ServerMessage } from "rusty-motors-shared-packets"; +import { LoginMessage } from "../payloads/LoginMessage.js"; +import { getServerLogger } from "rusty-motors-shared"; +import { LoginCompleteMessage } from "../payloads/LoginCompleteMessage.js"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/processSetOptions.ts b/packages/mcots/messageProcessors/processSetOptions.ts index 23f2682f9..4a0a1e32e 100644 --- a/packages/mcots/messageProcessors/processSetOptions.ts +++ b/packages/mcots/messageProcessors/processSetOptions.ts @@ -1,8 +1,8 @@ -import { getServerLogger } from "../../shared/src/log"; -import { ServerMessage } from "../../shared-packets/src/ServerMessage"; -import { SetOptionsMessage } from "../payloads/SetOptionsMessage"; -import type { ServerSocketCallback } from "./index"; -import { sendSuccess } from "./sendSuccess"; +import { getServerLogger } from "rusty-motors-shared"; +import { ServerMessage } from "rusty-motors-shared-packets"; +import { SetOptionsMessage } from "../payloads/SetOptionsMessage.js"; +import type { ServerSocketCallback } from "./index.js"; +import { sendSuccess } from "./sendSuccess.js"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/processStockCarInfo.ts b/packages/mcots/messageProcessors/processStockCarInfo.ts index b2014f07e..0c3ead7f5 100644 --- a/packages/mcots/messageProcessors/processStockCarInfo.ts +++ b/packages/mcots/messageProcessors/processStockCarInfo.ts @@ -1,14 +1,14 @@ import { ServerGenericRequest, ServerMessage, -} from "../../shared-packets/src/ServerMessage"; -import type { ServerSocketCallback } from "."; -import { getServerLogger } from "../../shared"; +} from "rusty-motors-shared-packets"; +import type { ServerSocketCallback } from "./index.js"; +import { getServerLogger } from "rusty-motors-shared"; import { getWarehouseInventory, type WarehouseInventory, -} from "../../database/src/functions/getWarehouseInventory"; -import { StackCarInfo, StockCar } from "../payloads/StockCar"; +} from "rusty-motors-database"; +import { StackCarInfo, StockCar } from "../payloads/StockCar.js"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/sendSuccess.ts b/packages/mcots/messageProcessors/sendSuccess.ts index a86890be8..0614d6108 100644 --- a/packages/mcots/messageProcessors/sendSuccess.ts +++ b/packages/mcots/messageProcessors/sendSuccess.ts @@ -1,8 +1,8 @@ import { ServerGenericResponse, ServerMessage -} from "../../shared-packets/src/ServerMessage"; -import type { ServerSocketCallback } from "."; +} from "rusty-motors-shared-packets"; +import type { ServerSocketCallback } from "./index.js"; export function sendSuccess(message: ServerMessage, socketCallback: ServerSocketCallback) { const pReply = new ServerGenericResponse(); diff --git a/packages/mcots/package.json b/packages/mcots/package.json index 36b4f3791..8413d4ba3 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/mcots", + "name": "rusty-motors-mcots", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" @@ -11,8 +16,9 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@rustymotors/shared": "workspace:^", "@sentry/node": "^7.102.0", + "rusty-motors-nps": "workspace:^", + "rusty-motors-shared": "workspace:^", "short-unique-id": "^5.0.3" } } diff --git a/packages/mcots/payloads/ClientConnectMessage.ts b/packages/mcots/payloads/ClientConnectMessage.ts index 0193f6d01..5abfc294a 100644 --- a/packages/mcots/payloads/ClientConnectMessage.ts +++ b/packages/mcots/payloads/ClientConnectMessage.ts @@ -1,5 +1,5 @@ -import { ServerMessagePayload } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; +import { ServerMessagePayload } from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/mcots/payloads/ClientTrackingMessage.ts b/packages/mcots/payloads/ClientTrackingMessage.ts index 49204b41e..a5b18fe05 100644 --- a/packages/mcots/payloads/ClientTrackingMessage.ts +++ b/packages/mcots/payloads/ClientTrackingMessage.ts @@ -1,5 +1,5 @@ -import { ServerMessagePayload } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; +import { ServerMessagePayload } from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/mcots/payloads/LoginCompleteMessage.ts b/packages/mcots/payloads/LoginCompleteMessage.ts index acec70c46..53438b045 100644 --- a/packages/mcots/payloads/LoginCompleteMessage.ts +++ b/packages/mcots/payloads/LoginCompleteMessage.ts @@ -1,5 +1,5 @@ -import { ServerMessagePayload } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; +import { ServerMessagePayload } from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/mcots/payloads/LoginMessage.ts b/packages/mcots/payloads/LoginMessage.ts index 67b6d0519..c46a5ff80 100644 --- a/packages/mcots/payloads/LoginMessage.ts +++ b/packages/mcots/payloads/LoginMessage.ts @@ -1,5 +1,5 @@ -import { ServerMessagePayload } from "../../shared-packets" -import { getServerLogger } from "../../shared" +import { ServerMessagePayload } from "rusty-motors-shared-packets" +import { getServerLogger } from "rusty-motors-shared" const log = getServerLogger(); diff --git a/packages/mcots/payloads/SetOptionsMessage.ts b/packages/mcots/payloads/SetOptionsMessage.ts index 025c1ddad..17e571a6d 100644 --- a/packages/mcots/payloads/SetOptionsMessage.ts +++ b/packages/mcots/payloads/SetOptionsMessage.ts @@ -1,5 +1,5 @@ -import { ServerMessagePayload } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; +import { ServerMessagePayload } from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/mcots/payloads/StockCar.ts b/packages/mcots/payloads/StockCar.ts index 9f915cb09..85af3f1d2 100644 --- a/packages/mcots/payloads/StockCar.ts +++ b/packages/mcots/payloads/StockCar.ts @@ -1,6 +1,8 @@ -import { Serializable } from "../../shared-packets"; -import { ServerMessagePayload } from "../../shared-packets"; -import { getServerLogger } from "../../shared"; +import { + Serializable, + ServerMessagePayload, +} from "rusty-motors-shared-packets"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); @@ -10,7 +12,7 @@ export class StockCar extends Serializable { private isDealOfTheDay: number = 0; // 2 bytes override getByteSize(): number { - return 10 + return 10; } override serialize(): Buffer { diff --git a/packages/nps/index.ts b/packages/nps/index.ts index 6734af0ac..caff8e86c 100644 --- a/packages/nps/index.ts +++ b/packages/nps/index.ts @@ -7,13 +7,16 @@ export { portToMessageTypes, populatePortToMessageTypes, getPortMessageType, -} from "./messageProcessors/index.js"; + type GameSocketCallback +} from "./gameMessageProcessors/index.js"; export { GameMessage } from "./messageStructs/GameMessage.js"; -export { getWord } from "./utils/pureGet.js"; -export { processGameLogin as processUserLogin } from "./messageProcessors/processGameLogin.js"; +export { getWord } from "./src/utils/pureGet.js"; +export { processGameLogin } from "./gameMessageProcessors/processGameLogin.js"; export { - populateUsers as populateGameUsers, - getUserFromDb as getUser, + populateGameUsers as populateGameUsers, + getUser, } from "./services/account.js"; export { generateToken } from "./services/token.js"; export { UserStatusManager } from "./src/UserStatusManager.js"; +export { gameProfiles, populateGameProfiles } from "./services/profile.js"; +export { UserStatus } from "./messageStructs/UserStatus.js"; diff --git a/packages/nps/messageProcessors/getLobMiniRiffList.ts b/packages/nps/messageProcessors/getLobMiniRiffList.ts deleted file mode 100644 index 26cde1dea..000000000 --- a/packages/nps/messageProcessors/getLobMiniRiffList.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { getServerLogger } from "../../shared"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; -import { getAsHex } from "../utils/pureGet.js"; - -const log = getServerLogger(); - -// Command id: 0x30c -export async function getLobMiniRiffList( - commandId: number, - data: Buffer, -): Promise { - log.setName("nps:getLobMiniRiffList"); - log.info(`Processing getLobMiniRiffList command: ${getAsHex(data)}`); - - const riffList = new MiniRiffList(); - - riffList.addRiff(new MiniRiffInfo("CTRL", 0, 1)); - riffList.addRiff(new MiniRiffInfo("MC141", 141, 0)); - riffList.addRiff(new MiniRiffInfo("MCCHAT", 191, 0)); - - log.info(`getLobMiniRiffList: ${riffList.toString()}`); - - const responseMessage = new GameMessage(0); - responseMessage.header.setId(0x404); - responseMessage.setData(riffList); - - log.info("Dumping responseMessage: "); - - log.info( - `responseMessage: ${ - responseMessage.serialize().length - } bytes - ${getAsHex(responseMessage.serialize())}`, - ); - - return responseMessage.serialize(); -} diff --git a/packages/nps/messageProcessors/getLobMiniUserList.ts b/packages/nps/messageProcessors/getLobMiniUserList.ts deleted file mode 100644 index 7fa1a2f13..000000000 --- a/packages/nps/messageProcessors/getLobMiniUserList.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { getServerLogger } from "../../shared"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; -import { getAsHex } from "../utils/pureGet.js"; - -const log = getServerLogger(); - -// Command id: 0x128 -export async function getLobMiniUserList( - commandId: number, - data: Buffer, -): Promise { - log.setName("nps:getLobMiniUserList"); - log.info(`Processing getLobMiniUserList command: ${getAsHex(data)}`); - - const miniUserList = new MiniUserList(0); - - miniUserList.addChannelUser(new MiniUserInfo(1000, "Molly")); - - const responseMessage = new GameMessage(0); - responseMessage.header.setId(0x229); - responseMessage.setData(miniUserList); - - return responseMessage.serialize(); -} diff --git a/packages/nps/messageProcessors/index.ts b/packages/nps/messageProcessors/index.ts deleted file mode 100644 index dd3868eba..000000000 --- a/packages/nps/messageProcessors/index.ts +++ /dev/null @@ -1,86 +0,0 @@ -import { processGameLogin } from "./processGameLogin.js"; -import { processGetProfileMaps } from "./processGetProfileMaps.js"; -import { processCheckProfileName } from "./processCheckProfileName.js"; -import { processCheckPlateText } from "./processCheckPlateText.js"; -import { processCreateProfile } from "./processCreateProfile.js"; -import { processDeleteProfile } from "./processDeleteProfile.js"; -import { processGetProfileInfo } from "./processGetProfileInfo.js"; -import { processSelectPersona } from "./processSelectPersona.js"; -import { processUserLogin } from "./processUserLogin.js"; -import { processFirstBuddy } from "./processGetFirstBuddy.js"; -import { processEncryptedGameCommand } from "./processEncryptedGameCommand.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { processPing } from "./processPing.js"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -export type SocketCallback = (messages: Buffer[]) => void; - -export type MessageProcessor = ( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -) => Promise; - -export class MessageProcessorError extends Error { - constructor(id: number, message: string) { - super(`MessageProcessorError: ${id}: ${message}`); - } -} - -export const gameMessageProcessors = new Map([]); - -export function populateGameMessageProcessors( - processors: Map, -): void { - processors.set(0x100, processUserLogin); - processors.set(0x217, processPing); // 0x217 - processors.set(0x501, processGameLogin); - processors.set(0x503, processSelectPersona); - processors.set(0x507, processCreateProfile); - processors.set(0x50b, processFirstBuddy); - processors.set(0x512, processDeleteProfile); - processors.set(0x519, processGetProfileInfo); - processors.set(0x532, processGetProfileMaps); - processors.set(0x533, processCheckProfileName); - processors.set(0x534, processCheckPlateText); - processors.set(0x1101, processEncryptedGameCommand); // 0x1101 -} - -export function getGameMessageProcessor(messageId: number) { - if (gameMessageProcessors.has(messageId) === true) { - return gameMessageProcessors.get(messageId) as MessageProcessor; - } - - return undefined; -} - -export class PortMapError extends Error { - port: number; - constructor(port: number, message: string) { - super(message); - this.name = "PortMapError"; - this.port = port; - } - - override toString(): string { - return `${this.name}: ${this.message}`; - } -} - -export const portToMessageTypes = new Map([]); - -export function populatePortToMessageTypes(portMap: Map): void { - portMap.set(7003, "Game"); - portMap.set(8226, "Game"); - portMap.set(8228, "Game"); - portMap.set(43300, "Server"); -} - -export function getPortMessageType(port: number): string { - if (portToMessageTypes.has(port) === true) { - // @ts-expect-error - Since has() is true, the return value is NOT undefined - return portToMessageTypes.get(port); - } - throw new PortMapError(port, "No message type found"); -} diff --git a/packages/nps/messageProcessors/lobbyCommands.ts b/packages/nps/messageProcessors/lobbyCommands.ts deleted file mode 100644 index 821c0a28e..000000000 --- a/packages/nps/messageProcessors/lobbyCommands.ts +++ /dev/null @@ -1,15 +0,0 @@ -// 030c0004cdcdcdcd - -import { getLobMiniRiffList } from "./getLobMiniRiffList.js"; -import { getLobMiniUserList } from "./getLobMiniUserList.js"; - -// 0128000800000000 - -export type lobbyCommandProcessor = ( - commandId: number, - data: Buffer, -) => Promise; - -export const lobbyCommandMap = new Map(); -lobbyCommandMap.set(0x30c, getLobMiniRiffList); -lobbyCommandMap.set(0x128, getLobMiniUserList); diff --git a/packages/nps/messageProcessors/processCheckPlateText.ts b/packages/nps/messageProcessors/processCheckPlateText.ts deleted file mode 100644 index fdf17a95b..000000000 --- a/packages/nps/messageProcessors/processCheckPlateText.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -import { getLenString } from "../utils/pureGet.js"; -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processCheckPlateText( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processCheckPlateText"); - - const plateType = message.getDataAsBuffer().readUInt32BE(0); - - const requestedPlateText = getLenString( - message.getDataAsBuffer(), - 4, - false, - ); - - log.info( - `Requested plate text: ${requestedPlateText} for plate type ${plateType}`, - ); - - const response = new GameMessage(0); - response.header.setId(0x207); - - const responseBytes = response.serialize(); - - socketCallback([responseBytes]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processCheckProfileName.ts b/packages/nps/messageProcessors/processCheckProfileName.ts deleted file mode 100644 index 47d275ed1..000000000 --- a/packages/nps/messageProcessors/processCheckProfileName.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -import { getLenString } from "../utils/pureGet.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processCheckProfileName( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processCheckProfileName"); - const customerId = message.serialize().readUInt32BE(8); - - const requestedPersonaName = getLenString(message.serialize(), 12, false); - - log.info( - `Requested persona name: ${requestedPersonaName} for customer ${customerId}`, - ); - - const response = new GameMessage(0); - response.header.setId(0x601); - - const responseBytes = response.serialize(); - - socketCallback([responseBytes]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processCreateProfile.ts b/packages/nps/messageProcessors/processCreateProfile.ts deleted file mode 100644 index c2aebd8eb..000000000 --- a/packages/nps/messageProcessors/processCreateProfile.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -import { GameProfile } from "../messageStructs/GameProfile.js"; -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; -import { addGameProfile } from "../services/profile.js"; - -const log = getServerLogger(); - -export async function processCreateProfile( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processCreateProfile"); - // Log the request - log.info(`ProcessCreateProfile request: ${message.toString()}`); - - const createProfileMessage = GameProfile.fromBytes( - message.getDataAsBuffer(), - ); - - // Log the request - log.info( - `ProcessCreateProfile request: ${createProfileMessage.toString()}`, - ); - - // Add the profile - addGameProfile(createProfileMessage); - - - // TODO: Send the response - const response = new GameMessage(257); - response.header.setId(0x601); - - response.setData(message.getData()); - - // Log the response - log.info(`ProcessCreateProfile response: ${response.toString()}`); - - socketCallback([response.serialize()]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processDeleteProfile.ts b/packages/nps/messageProcessors/processDeleteProfile.ts deleted file mode 100644 index 8e03af7a0..000000000 --- a/packages/nps/messageProcessors/processDeleteProfile.ts +++ /dev/null @@ -1,109 +0,0 @@ -import fs from "node:fs"; -import crypto from "node:crypto"; -import type { SocketCallback } from "./index.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { SessionKey } from "../messageStructs/SessionKey.js"; -import { getLenString } from "../utils/pureGet.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export function loadPrivateKey(path: string): string { - const privateKey = fs.readFileSync(path); - - return privateKey.toString("utf8"); -} - -export function decryptSessionKey( - encryptedSessionKey: string, - privateKey: string, -): string { - const sessionKeyStructure = crypto.privateDecrypt( - privateKey, - Buffer.from(encryptedSessionKey, "hex"), - ); - - return sessionKeyStructure.toString("hex"); -} - -export function unpackUserLoginMessage(message: GameMessage): { - sessionKey: string; - gameId: string; - contextToken: string; -} { - // Get the context token - const ticket = getLenString(message.getDataAsBuffer(), 0, false); - - let dataOffset = ticket.length + 2; - - // The next data structure is a container with an empty id, a length, and a data structure - - // Skip the empty id - dataOffset += 2; - - // Get the next data length - const nextDataLength = message.getDataAsBuffer().readUInt16BE(dataOffset); - - // This value is the encrypted session key hex, stored as a string - const encryptedSessionKey = message - .getDataAsBuffer() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) - .toString("utf8"); - - // Load the private key - const privateKey = loadPrivateKey("./data/private_key.pem"); - - // Decrypt the session key - const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); - - // Unpack the session key - const sessionKeyStructure = SessionKey.fromBytes( - Buffer.from(sessionKey, "hex"), - ); - - // Update the data offset - dataOffset += 2 + nextDataLength; - - // Get the next data length - const nextDataLength2 = message.getDataAsBuffer().readUInt16BE(dataOffset); - - // This value is the game id (used by server to identify the game) - const gameId = message - .getDataAsBuffer() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) - .toString("utf8"); - - // Update the data offset - dataOffset += 2 + nextDataLength2; - - // Return the session key, game id, and context token - return { - sessionKey: sessionKeyStructure.getKey(), - gameId, - contextToken: ticket, - }; -} - -export async function processDeleteProfile( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processDeleteProfile"); - // Log the message - log.info(`Delete profile request: ${message.toString()}`); - - // TODO: Delete the profile - - // Create a new message - Login ACK - const loginACK = new GameMessage(0); - loginACK.header.setId(0x60c); - - // Send the ack - socketCallback([loginACK.serialize()]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processEncryptedGameCommand.ts b/packages/nps/messageProcessors/processEncryptedGameCommand.ts deleted file mode 100644 index dbd7879d5..000000000 --- a/packages/nps/messageProcessors/processEncryptedGameCommand.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - GameMessage, - SerializableData, -} from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -import { getAsHex } from "../utils/pureGet.js"; -import { - type EncryptionSession, - getEncryptionSession, newEncryptionSession, - setEncryptionSession -} from "../src/EncryptionSession.js"; -import { lobbyCommandMap } from "./lobbyCommands.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processEncryptedGameCommand( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processEncryptedGameCommand"); - log.info(`Attempting to decrypt message: ${message.toString()}`); - - // Get the encryption session - let encryptionSession: EncryptionSession | undefined = - getEncryptionSession(connectionId); - - // If the encryption session doesn't exist, attempt to create it - if (typeof encryptionSession === "undefined") { - try { - // Create the encryption session - const newSession = newEncryptionSession({ - connectionId, - customerId: userStatus.getCustomerId(), - sessionKey: userStatus.getSessionKey().getKey().substring(0, 16), - }); - setEncryptionSession(newSession); - encryptionSession = newSession; - } catch (error) { - log.error(`Error creating encryption session: ${error as string}`); - throw new Error("Error creating encryption session"); - } - - // Log the encryption session - log.info(`Created encryption session for ${userStatus.getCustomerId()}`); - } - - // Attempt to decrypt the message - const decryptedbytes = encryptionSession.gameDecipher.update( - message.getDataAsBuffer(), - ); - - // Log the decrypted bytes - log.info(`Decrypted bytes: ${getAsHex(decryptedbytes)}`); - - // Set the decrypted bytes as a new message - const decryptedMessage = new GameMessage(0); - decryptedMessage.deserialize(decryptedbytes); - - // Log the decrypted message id - log.info(`Decrypted message ID: ${decryptedMessage.header.getId()}`); - - // Do we have a valid message processor? - const processor = lobbyCommandMap.get(decryptedMessage.header.getId()); - - if (typeof processor === "undefined") { - const err = `No processor found for message ID: ${decryptedMessage.header.getId()}`; - log.fatal(err); - throw Error(err); - } - - // Process the message - const response = await processor( - decryptedMessage.header.getId(), - decryptedMessage.getDataAsBuffer(), - ); - - // Log the response - log.info(`Response: ${response.length} bytes, ${getAsHex(response)}`); - - // Encrypt the response - const encryptedResponse = encryptionSession.gameCipher.update(response); - setEncryptionSession(encryptionSession); - - // Log the encrypted response - log.info( - `Encrypted response: ${encryptedResponse.length} bytes, ${getAsHex( - encryptedResponse, - )}`, - ); - - const responsePacket = new GameMessage(0); - responsePacket.header.setId(0x1101); - - const responseData = new SerializableData(encryptedResponse.length); - responseData.deserialize(encryptedResponse); - - responsePacket.setData(responseData); - log.info( - `Response packet: ${responsePacket.header.getLength()} bytes, ${getAsHex( - responsePacket.serialize(), - )}`, - ); - const responseBytes = responsePacket.serialize(); - - socketCallback([responseBytes]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processGameLogin.ts b/packages/nps/messageProcessors/processGameLogin.ts deleted file mode 100644 index 65660bade..000000000 --- a/packages/nps/messageProcessors/processGameLogin.ts +++ /dev/null @@ -1,210 +0,0 @@ -import type { ISerializable } from "../types.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import fs from "node:fs"; -import crypto from "node:crypto"; -import * as Sentry from "@sentry/node"; -import { getToken } from "../services/token.js"; -import type { SocketCallback } from "./index.js"; -import { SessionKey } from "../messageStructs/SessionKey.js"; -import { getAsHex, getLenString } from "../utils/pureGet.js"; -import { UserStatus } from "../messageStructs/UserStatus.js"; -import { getServerConfiguration, getServerLogger } from "../../shared/index.js"; -import { UserStatusManager } from "../src/UserStatusManager.js"; - -const log = getServerLogger(); - -export function loadPrivateKey(path: string): string { - const privateKey = fs.readFileSync(path); - - return privateKey.toString("utf8"); -} - -export function decryptSessionKey( - encryptedSessionKey: string, - privateKey: string, -): string { - const sessionKeyStructure = crypto.privateDecrypt( - privateKey, - Buffer.from(encryptedSessionKey, "hex"), - ); - - return sessionKeyStructure.toString("hex"); -} - -export function unpackUserLoginMessage(message: ISerializable): { - sessionKey: string; - gameId: string; - contextToken: string; -} { - log.setName("nps:unpackUserLoginMessage"); - log.info(`Unpacking user login message: ${getAsHex(message.serialize())}`); - - // Get the context token - const ticket = getLenString(message.serialize(), 0, false); - - let dataOffset = ticket.length + 2; - - // The next data structure is a container with an empty id, a length, and a data structure - - // Skip the empty id - dataOffset += 2; - - // Get the next data length - const nextDataLength = message.serialize().readUInt16BE(dataOffset); - - // This value is the encrypted session key hex, stored as a string - const encryptedSessionKey = message - .serialize() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength) - .toString("utf8"); - - // Load the private key - const privateKey = loadPrivateKey( - getServerConfiguration({}).privateKeyFile, - ); - - // Decrypt the session key - const sessionKey = decryptSessionKey(encryptedSessionKey, privateKey); - - log.info(`Decrypted session key: ${getAsHex(Buffer.from(sessionKey, "hex"))}`); - - // Unpack the session key - const sessionKeyStructure = SessionKey.fromBytes( - Buffer.from(sessionKey, "hex"), - ); - - log.info(`Session key structure: ${sessionKeyStructure.toString()}`); - - // Update the data offset - dataOffset += 2 + nextDataLength; - - // Get the next data length - const nextDataLength2 = message.serialize().readUInt16BE(dataOffset); - - // This value is the game id (used by server to identify the game) - const gameId = message - .serialize() - .subarray(dataOffset + 2, dataOffset + 2 + nextDataLength2) - .toString("utf8"); - - // Update the data offset - dataOffset += 2 + nextDataLength2; - - log.resetName(); - - // Return the session key, game id, and context token - return { - sessionKey: sessionKeyStructure.getKey(), - gameId, - contextToken: ticket, - }; -} - -/** - * This is the initial connection to the Login server - */ -export async function processGameLogin( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - Sentry.startSpan( - { - name: "processLogin", - op: "processLogin", - }, - () => { - log.setName("nps:processLogin"); - - log.info(`Login: ${message.toString()}`); - - // Unpack the message - try { - const { sessionKey, contextToken } = - unpackUserLoginMessage(message.getData()); - - // Log the context token - log.info(`Context token: ${contextToken}`); - - // Log the session key - log.info(`Session key: ${sessionKey}`); - - // Look up the customer id - const user = getToken(contextToken); - - // If the user is not found, return an error - if (user === undefined) { - log.error(`User not found for context token: ${contextToken}`); - - // Create a new message - Not found - const response = new GameMessage(0); - response.header.setId(0x602); - - // Send the message - twice - Sentry.startSpan( - { - name: "socketCallback", - op: "socketCallback", - }, - () => { - socketCallback([response.serialize()]); - }, - ); - Sentry.startSpan( - { - name: "socketCallback", - op: "socketCallback", - }, - () => { - socketCallback([response.serialize()]); - }, - ); - - return; - } - - // Log the user - log.info(`User: ${user.customerId}`); - - // Create a new message - Login ACK - const loginACK = new GameMessage(0); - loginACK.header.setId(0x601); - - // Send the ack - socketCallback([loginACK.serialize()]); - - // Create a new UserStatus message - const userStatus = UserStatus.new(); - userStatus.setCustomerId(user.customerId); - userStatus.setPersonaId(0); - userStatus.ban.set({ - initiator: "Molly", - startComment: "Because I said so", - }); - userStatus.setSessionKey(SessionKey.fromKeyString(sessionKey)); - - UserStatusManager.addUserStatus(userStatus); - - // Create a new message - UserStatus - const userStatusMessage = new GameMessage(257); - userStatusMessage.header.setId(0x601); - - userStatusMessage.setData(userStatus); - - // Log the message - log.info(`UserStatus: ${userStatusMessage.toString()}`); - - // Send the message - socketCallback([userStatusMessage.serialize()]); - socketCallback([userStatusMessage.serialize()]); - - return; - } catch (e) { - console.error(e); - } - }, - ); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processGetFirstBuddy.ts b/packages/nps/messageProcessors/processGetFirstBuddy.ts deleted file mode 100644 index 79a49397b..000000000 --- a/packages/nps/messageProcessors/processGetFirstBuddy.ts +++ /dev/null @@ -1,44 +0,0 @@ -import { - GameMessage, - SerializableData, -} from "../messageStructs/GameMessage.js"; -import { getDWord } from "../utils/pureGet.js"; -import type { SocketCallback } from "./index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processFirstBuddy( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processFirstBuddy"); - const profileId = getDWord(message.getDataAsBuffer(), 0, false); - - log.info(`GetFirstBuddy profile: ${profileId}`); - - // Look up the profiles for the customer ID - const profiles = getGameProfilesForCustomerId(profileId); - - // Create a new NPSList of profiles - const list = new ProfileList(); - - const outMessage = new GameMessage(257); - outMessage.header.setId(0x614); - outMessage.setData(new SerializableData(4)); - - // Log the message - log.info(`GetFirstBuddy: ${outMessage.toString()}`); - - log.info("==========================================="); - - socketCallback([outMessage.serialize()]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processGetProfileInfo.ts b/packages/nps/messageProcessors/processGetProfileInfo.ts deleted file mode 100644 index 20c88876f..000000000 --- a/packages/nps/messageProcessors/processGetProfileInfo.ts +++ /dev/null @@ -1,63 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { getDWord, getAsHex } from "../utils/pureGet.js"; -import type { SocketCallback } from "../messageProcessors/index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processGetProfileInfo( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processGetProfileInfo"); - const customerId = getDWord(message.serialize(), 0, false); - - log.info(`GetProfileInfo: ${customerId}`); - - // Look up the profiles for the customer ID - const profiles = getGameProfilesForCustomerId(customerId); - - // Create a new NPSList of profiles - const list = new ProfileList(); - - const outMessage = new GameMessage(0); - - // Add each profile to the list - if (profiles) { - outMessage.header.setId(0x607); - for (const profile of profiles) { - // Log the profile - log.info(`GetProfileInfo: ${profile.toString()}`); // TODO: Remove this line - - list.addProfile(profile); - } - } else { - outMessage.header.setId(0x602); - } - - // Send the list back to the client - try { - // Log the message data - log.info(`GetProfileInfo: ${getAsHex(list.serialize())}`); - - outMessage.setData(list); - - // Log the message - log.info(`GetProfileInfo: ${outMessage.toString()}`); - - log.info("==========================================="); - - socketCallback([outMessage.serialize()]); - log.resetName(); - return Promise.resolve(); - } catch (error) { - log.error(`Error sending profile info: ${error as string}`); - throw new Error("Error sending profile info"); - } -} diff --git a/packages/nps/messageProcessors/processGetProfileMaps.ts b/packages/nps/messageProcessors/processGetProfileMaps.ts deleted file mode 100644 index ce867eec8..000000000 --- a/packages/nps/messageProcessors/processGetProfileMaps.ts +++ /dev/null @@ -1,68 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { getDWord, getAsHex } from "../utils/pureGet.js"; -import type { SocketCallback } from "../messageProcessors/index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processGetProfileMaps( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processGetProfileMaps"); - // This message is a version 257, but it's version is set to 0 - // This is a bug in the client, so we need to generate a new message - // with the correct version - const requestMessage = GameMessage.fromGameMessage(257, message); - - log.info(`GetProfileMaps (257): ${requestMessage.toString()}`); - - const customerId = getDWord(requestMessage.getDataAsBuffer(), 0, false); - - log.info(`GetProfileMaps: ${customerId}`); - - // Look up the profiles for the customer ID - const profiles = getGameProfilesForCustomerId(customerId); - - // Create a new NPSList of profiles - const list = new ProfileList(); - - // Add each profile to the list - if (profiles) { - for (const profile of profiles) { - // Log the profile - log.info(`GetProfileMaps: ${profile.toString()}`); - - list.addProfile(profile); - } - } - - // Send the list back to the client - try { - const outMessage = new GameMessage(257); - outMessage.header.setId(0x607); - - // Log the message data - log.info(`GetProfileMaps: ${getAsHex(outMessage.serialize())}`); - - outMessage.setData(list); - - // Log the message - log.info(`GetProfileMaps: ${outMessage.toString()}`); - - log.info("==========================================="); - - socketCallback([outMessage.serialize()]); - log.resetName(); - return Promise.resolve(); - } catch (error) { - log.error(`Error sending profile info: ${error as string}`); - throw new Error("Error sending profile info"); - } -} diff --git a/packages/nps/messageProcessors/processPing.ts b/packages/nps/messageProcessors/processPing.ts deleted file mode 100644 index 3ea71e091..000000000 --- a/packages/nps/messageProcessors/processPing.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; - -const log = getServerLogger(); - -export async function processPing( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processPing"); - log.info(`Ping: ${message.toString()}`); - - const response = new GameMessage(0); - response.header.setId(0x207); - - const responseBytes = response.serialize(); - - socketCallback([responseBytes]); - log.resetName(); - return Promise.resolve(); - -} diff --git a/packages/nps/messageProcessors/processSelectPersona.ts b/packages/nps/messageProcessors/processSelectPersona.ts deleted file mode 100644 index d5d21f39b..000000000 --- a/packages/nps/messageProcessors/processSelectPersona.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { SocketCallback } from "./index.js"; -import { getDWord } from "../utils/pureGet.js"; - -import { getServerLogger } from "../../shared"; -import { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserStatusManager } from "../src/UserStatusManager.js"; - -const log = getServerLogger(); - -export async function processSelectPersona( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processSelectPersona"); - - log.info(`SelectPersona: ${message.toString()}`); - - const customerId = getDWord(message.getDataAsBuffer(), 0, false); - - const personaId = getDWord(message.getDataAsBuffer(), 4, false); - - const shardId = getDWord(message.getDataAsBuffer(), 8, false); - - // Log the values - log.info(`Customer ID: ${customerId}`); - log.info(`Persona ID: ${personaId}`); - log.info(`Shard ID: ${shardId}`); - - // Lookup the session - const existingStatus = UserStatusManager.getUserStatus(customerId); - - if (!existingStatus) { - log.error(`UserStatus not found for customer ID ${customerId}`); - throw new Error(`UserStatus not found for customer ID ${customerId}`); - } - - log.info( - `Setting persona ID to ${personaId} for ${existingStatus.getCustomerId()}`, - ); - - // Update the user status - existingStatus.setPersonaId(personaId); - - log.info(`GameLogin: ${message.toString()}`); - - const response = new GameMessage(0); - response.header.setId(0x207); - - const responseBytes = response.serialize(); - - socketCallback([responseBytes]); - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageProcessors/processUserLogin.ts b/packages/nps/messageProcessors/processUserLogin.ts deleted file mode 100644 index 69ae43884..000000000 --- a/packages/nps/messageProcessors/processUserLogin.ts +++ /dev/null @@ -1,71 +0,0 @@ -import type { SocketCallback } from "./index.js"; -import { getDWord, getLenString } from "../utils/pureGet.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { UserInfo } from "../messageStructs/UserInfo.js"; - -import { getServerLogger } from "../../shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserStatusManager } from "../src/UserStatusManager.js"; -import { getCustomerId } from "../services/profile.js"; - -const log = getServerLogger(); - -export async function processUserLogin( - connectionId: string, - userStatus: UserStatus, - message: GameMessage, - socketCallback: SocketCallback, -): Promise { - log.setName("nps:processUserLogin"); - - log.info(`UserLogin: ${message.toString()}`); - - // This message is a BareMessageV0 - - const personaId = getDWord(message.getDataAsBuffer(), 0, false); - - const profileName = getLenString(message.getDataAsBuffer(), 4, false); - - - // Lookup customerID from personaID - const customerID = getCustomerId(personaId); - - if( customerID === -1 ) { - log.error(`CustomerID not found for personaID: ${personaId}`); - throw new Error(`CustomerID not found for personaID: ${personaId}`); - } - - log.info(`LobbyLogin: ${personaId} ${profileName} ${customerID}`); - - const existingStatus = UserStatusManager.getUserStatus(customerID) - - if (typeof existingStatus === "undefined") { - log.error(`UserStatus not found for customerID: ${customerID}`); - throw new Error(`UserStatus not found for customerID: ${customerID}`); - } - - // Update the user status - existingStatus.setPersonaId(personaId); - - userStatus = existingStatus; - - log.info(`LobbyLogin: ${message.toString()}`); - - const response = new UserInfo(personaId, profileName); - - log.info(`Sending response: ${response.toString()}`); - - const responseMessage = new GameMessage(0); - responseMessage.header.setId(0x120); - - responseMessage.setData(response); - - log.info(`Response message: ${responseMessage.toString()}`); - - const responseBytes = responseMessage.serialize(); - - socketCallback([responseBytes]); - - log.resetName(); - return Promise.resolve(); -} diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index 711a47b23..755a941c8 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -159,7 +159,7 @@ export class GameMessage implements IMessage { messageData.copy(buffer, this.header.getDataOffset()); return buffer; } - deserialize(data: Buffer): void { + deserialize(data: Buffer): GameMessage { if (data.length < this.header.getDataOffset()) { throw new Error( `Data is too short. Expected at least ${this.header.getDataOffset()} bytes, got ${ @@ -174,6 +174,7 @@ export class GameMessage implements IMessage { this.data = new SerializableData(this.header.getLength()); this.data.deserialize(messageData.subarray(0, this.header.getLength())); + return this; } toString(): string { @@ -200,4 +201,5 @@ export class GameMessage implements IMessage { message.deserialize(source.serialize()); return message; } + } diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index 0878882a3..f5b068ee6 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -1,11 +1,11 @@ import type { ISerializable } from "../types.js"; -import { putLenString } from "../utils/purePut.js"; +import { putLenString } from "../src/utils/purePut.js"; import { getAsHex, getLenBlob, getLenString, getShortBool, -} from "../utils/pureGet.js"; +} from "../src/utils/pureGet.js"; export class GameProfile implements ISerializable { customerId: number; // 4 bytes diff --git a/packages/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts index b485a82b4..3167b8b1c 100644 --- a/packages/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,8 +1,8 @@ import type { ISerializable } from "../types.js"; -import { putLenString } from "../utils/purePut.js"; +import { putLenString } from "../src/utils/purePut.js"; import { NPSList } from "./NPSList.js"; -import { getServerLogger } from "../../shared"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/nps/messageStructs/MiniUserList.ts b/packages/nps/messageStructs/MiniUserList.ts index 0b71077a2..7d02d75f6 100644 --- a/packages/nps/messageStructs/MiniUserList.ts +++ b/packages/nps/messageStructs/MiniUserList.ts @@ -1,5 +1,5 @@ import type { ISerializable } from "../types.js"; -import { putLenString } from "../utils/purePut.js"; +import { putLenString } from "../src/utils/purePut.js"; export class MiniUserInfo implements ISerializable { userId: number; // 4 bytes diff --git a/packages/nps/messageStructs/SessionKey.ts b/packages/nps/messageStructs/SessionKey.ts index 165763208..3c6c7d27a 100644 --- a/packages/nps/messageStructs/SessionKey.ts +++ b/packages/nps/messageStructs/SessionKey.ts @@ -1,6 +1,6 @@ import type { ISerializable } from "../types.js"; -import { isOnlyOneSet } from "../utils/pureCompare.js"; -import { getAsHex } from "../utils/pureGet.js"; +import { isOnlyOneSet } from "../src/utils/pureCompare.js"; +import { getAsHex } from "../src/utils/pureGet.js"; import { getServerLogger } from "../../shared/index.js"; const log = getServerLogger(); diff --git a/packages/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts index 6fb934826..1ab8f8b88 100644 --- a/packages/nps/messageStructs/UserAction.ts +++ b/packages/nps/messageStructs/UserAction.ts @@ -1,6 +1,6 @@ import type { ISerializable } from "../types.js"; -import { getAsHex } from "../utils/pureGet.js"; -import { getServerLogger } from "../../shared"; +import { getAsHex } from "../src/utils/pureGet.js"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/nps/package.json b/packages/nps/package.json index 620bb6dec..206679098 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/nps", + "name": "rusty-motors-nps", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/nps/services/account.ts b/packages/nps/services/account.ts index f4f8453e5..774fea904 100644 --- a/packages/nps/services/account.ts +++ b/packages/nps/services/account.ts @@ -1,13 +1,13 @@ -import { getDatabase } from "../../database"; -import { user as userSchema } from "../../../schema/user"; +import { getDatabase } from "rusty-motors-database"; +import { user as userSchema } from "../../../schema/user.js"; import { eq, and } from "drizzle-orm"; -import { getServerLogger } from "../../shared"; +import { getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); -export async function populateUsers(): Promise { +export async function populateGameUsers(): Promise { await getDatabase().insert(userSchema).values([ { @@ -27,7 +27,7 @@ export async function populateUsers(): Promise { ]).onConflictDoNothing(); } -export async function getUserFromDb(username: string, password: string): Promise { +export async function getUser(username: string, password: string): Promise { const userAccount = await getDatabase().select().from(userSchema).where( and( @@ -54,7 +54,7 @@ export async function getUserFromDb(username: string, password: string): Promise } export async function isSuperUser(username: string, password: string): Promise { - const user = await getUserFromDb(username, password); + const user = await getUser(username, password); return user ? user.isSuperUser === 1 : false; } diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index 2ea57688f..c261c53c8 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,10 +1,10 @@ -import { GameProfile } from "../messageStructs/GameProfile"; -import { getDatabase } from "../../database"; -import { profile as profileSchema } from "../../../schema/profile"; +import { GameProfile } from "../messageStructs/GameProfile.js"; +import { getDatabase } from "rusty-motors-database"; +import { profile as profileSchema } from "../../../schema/profile.js"; export const gameProfiles: GameProfile[] = []; -export function populateGameProfiles(profiles: GameProfile[]): void { +export async function populateGameProfiles(profiles: GameProfile[]): Promise { const profile1 = GameProfile.new(); profile1.customerId = 2; profile1.profileName = "molly"; @@ -27,6 +27,8 @@ export function populateGameProfiles(profiles: GameProfile[]): void { profile1.profileLevel = 0; profile1.shardId = 44; profiles.push(profile1); + + return Promise.resolve(); } export function getGameProfilesForCustomerId( diff --git a/packages/nps/src/UserStatusManager.ts b/packages/nps/src/UserStatusManager.ts index 329d269b4..2f690b775 100644 --- a/packages/nps/src/UserStatusManager.ts +++ b/packages/nps/src/UserStatusManager.ts @@ -1,4 +1,4 @@ -import { UserStatus } from "../messageStructs/UserStatus"; +import { UserStatus } from "../messageStructs/UserStatus.js"; export class UserStatusManager { static newUserStatus() { diff --git a/packages/nps/utils/pureCompare.ts b/packages/nps/utils/pureCompare.ts deleted file mode 100644 index 8317df3da..000000000 --- a/packages/nps/utils/pureCompare.ts +++ /dev/null @@ -1,48 +0,0 @@ -export function isZero(n: number): boolean { - // Return true if n is zero - return n === 0; -} - - -export function isUndefined(n: unknown): boolean { - // Return true if n is undefined - return typeof n === "undefined"; -} - -export function lessThan(a: number, b: number): boolean { - // Return true if a < b - return a < b; -} -export function lessThanOrEqual(a: number, b: number): boolean { - // Return true if a <= b - return a <= b; -} -export function greaterThan(a: number, b: number): boolean { - // Return true if a > b - return a > b; -} - -export function greaterThanOrEqual(a: number, b: number): boolean { - // Return true if a >= b - return a >= b; -} - -export function areBothZero(a: number, b: number): boolean { - // Return true if both a and b are zero - return isZero(a) && isZero(b); -} - -export function areBothUndefined(a: unknown, b: unknown): boolean { - // Return true if both a and b are undefined - return typeof a === "undefined" && typeof b === "undefined"; -} - -export function areBothSet(a: unknown, b: unknown): boolean { - // Return true if both a and b are set - return !isUndefined(a) && !isUndefined(b); -} - -export function isOnlyOneSet(a: unknown, b: unknown): boolean { - // Return true if only one of a and b is set - return !areBothSet(a, b) && (!isUndefined(a) || !isUndefined(b)); -} diff --git a/packages/nps/utils/pureGet.ts b/packages/nps/utils/pureGet.ts deleted file mode 100644 index ae2d0fe3e..000000000 --- a/packages/nps/utils/pureGet.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { greaterThanOrEqual } from "./pureCompare.js"; - -export function getWord(bytes: Buffer, offset: number, isLE: boolean): number { - // Get the word at the offset - return isLE ? bytes.readUInt16LE(offset) : bytes.readUInt16BE(offset); -} - -export function getDWord(bytes: Buffer, offset: number, isLE: boolean): number { - // Get the dword at the offset - return isLE ? bytes.readUInt32LE(offset) : bytes.readUInt32BE(offset); -} - -/** - * Get the first n bytes of a buffer. - * If the buffer is shorter than n bytes, return the whole buffer - */ -export function getNBytes(bytes: Buffer, n: number): Buffer { - const bufferLength = bytes.length; - - const cutLength = greaterThanOrEqual(bufferLength, n) ? n : bufferLength; - - // Get the first n bytes - return bytes.subarray(0, cutLength); -} - -export function getAsHex(bytes: Buffer): string { - return bytes.length % 2 === 0 - ? bytes.toString("hex") - : bytes.toString("hex") + "0"; -} - -export function getLenString( - bytes: Buffer, - offset: number, - isLE: boolean, -): string { - // Get the length of the string - const strLen = getWord(bytes, offset, isLE); - - // Get the string - return bytes.subarray(offset + 2, offset + 2 + strLen).toString("utf8"); -} - -export function getLenBlob( - bytes: Buffer, - offset: number, - isLE: boolean, -): Buffer { - // Get the length of the blob - const blobLen = getDWord(bytes, offset, isLE); - - // Get the blob - return bytes.subarray(offset + 2, offset + 2 + blobLen); -} - -export function getShortBool(bytes: Buffer, offset: number): boolean { - // Get a 2 byte boolean - return bytes.readUInt16LE(offset) === 1; -} diff --git a/packages/nps/utils/purePut.ts b/packages/nps/utils/purePut.ts deleted file mode 100644 index 460301155..000000000 --- a/packages/nps/utils/purePut.ts +++ /dev/null @@ -1,105 +0,0 @@ -export function put16( - bytes: Buffer, - offset: number, - word: number, - isLE: boolean, -): Buffer { - // Put the word at the offset - if (isLE) { - bytes.writeUInt16LE(word, offset); - } else { - bytes.writeUInt16BE(word, offset); - } - return bytes; -} - -export function put8(bytes: Buffer, offset: number, byte: number): Buffer { - // Put the byte at the offset - bytes.writeUInt8(byte, offset); - return bytes; -} - -export function put16BE(bytes: Buffer, offset: number, word: number): Buffer { - return put16(bytes, offset, word, false); -} - -export function put16LE(bytes: Buffer, offset: number, word: number): Buffer { - return put16(bytes, offset, word, true); -} - -export function put32( - bytes: Buffer, - offset: number, - word: number, - isLE: boolean, -): Buffer { - // Put the word at the offset - if (isLE) { - bytes.writeUInt32LE(word, offset); - } else { - bytes.writeUInt32BE(word, offset); - } - return bytes; -} - -export function put32BE(bytes: Buffer, offset: number, word: number): Buffer { - return put32(bytes, offset, word, false); -} - -export function put32LE(bytes: Buffer, offset: number, word: number): Buffer { - return put32(bytes, offset, word, true); -} - -export function putLenString( - bytes: Buffer, - offset: number, - str: string, - isLE: boolean, -): Buffer { - // Get the length of the string - const strLen = str.length + 1; - - // Put the length of the string - if (isLE) { - bytes.writeUInt32LE(strLen, offset); - } else { - bytes.writeUInt32BE(strLen, offset); - } - - // Put the string - bytes.write(str.concat("\0"), offset + 4, strLen, "utf8"); - - return bytes; -} - -export function putLenBlob( - bytes: Buffer, - offset: number, - blob: Buffer, - isLE: boolean, -): Buffer { - // Get the length of the blob - const blobLen = blob.length; - - // Put the length of the blob - if (isLE) { - bytes.writeUInt32LE(blobLen, offset); - } else { - bytes.writeUInt32BE(blobLen, offset); - } - - // Put the blob - blob.copy(bytes, offset + 4); - - return bytes; -} - -export function putShortBool( - bytes: Buffer, - offset: number, - bool: boolean, -): Buffer { - // Put a 2 byte boolean - bytes.writeUInt16LE(bool ? 1 : 0, offset); - return bytes; -} diff --git a/packages/patch/package.json b/packages/patch/package.json index e2471bb3e..bec7b2ee5 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/patch", + "name": "rusty-motors-patch", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/patch/src/PatchServer.ts b/packages/patch/src/PatchServer.ts index 0bd7b9aab..cc5e57b45 100644 --- a/packages/patch/src/PatchServer.ts +++ b/packages/patch/src/PatchServer.ts @@ -1,5 +1,5 @@ import { IncomingMessage, ServerResponse } from "node:http"; -import { ServerLogger, type TServerLogger } from "../../shared"; +import { ServerLogger, type TServerLogger } from "rusty-motors-shared"; import { Buffer } from "node:buffer"; export const CastanetResponse = { diff --git a/packages/persona/index.ts b/packages/persona/index.ts deleted file mode 100644 index 4731d3ebf..000000000 --- a/packages/persona/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { getPersonasByPersonaId } from "./src/getPersonasByPersonaId.js"; diff --git a/packages/persona/package.json b/packages/persona/package.json deleted file mode 100644 index 3550dd8ff..000000000 --- a/packages/persona/package.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "name": "@rustymotors/persona", - "version": "1.0.0", - "description": "", - "main": "index.js", - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0" -} diff --git a/packages/persona/src/BuddyInfoMessage.ts b/packages/persona/src/BuddyInfoMessage.ts deleted file mode 100644 index ebe067b1b..000000000 --- a/packages/persona/src/BuddyInfoMessage.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { serializeStringRaw, NetworkMessage, RawMessage } from "../../shared"; - -/** - * BuddyInfoMessage - * - * This is a response to a NPS_GET_BUDDY_LIST message. - * It is actually two messages, the first is a NPS_BUDDY_LIST_COUNT - * message, which contains the number of buddies in the list and has - * a response code of NPS_BUDDY_LIST_COUNT - 1556 (0x614). - * - * The second message is a NPS_BUDDY_LIST message, which contains the - * buddy list itself. It has a response code of 1544 (0x608). - */ - -export class BuddyInfoMessage extends RawMessage { - _buddyCount: number; // 2 bytes - _buddyList: BuddyList[] = []; - _longOne = 0x00000000; // 4 bytes - _longTwo = 0x00000000; // 4 bytes - constructor() { - super(0x614); - this._buddyCount = 0; - } - - override get length(): number { - return super.length + 2 + this._buddyCount * 115; - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.length); - let offset = 0; - super.serialize().copy(buffer, offset); - offset += super.length; - buffer.writeUInt16BE(this._buddyCount, offset); - offset += 2; - for (const buddy of this._buddyList) { - buddy.serialize().copy(buffer, offset); - offset += buddy.length; - } - return buffer; - } - - add(buddy: BuddyList): void { - this._buddyList.push(buddy); - this._buddyCount++; - } -} - -export class BuddyCount extends NetworkMessage { - _buddyCount: number; // 2 bytes - constructor() { - super(0x614); - this._buddyCount = 0; - } - - override get length(): number { - return super.length + 2; - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.length); - let offset = 0; - buffer.writeUInt16BE(this.messageId, offset); - offset += 2; - buffer.writeUInt16BE(this.length, offset); - offset += 2; - buffer.writeUInt16BE(this.version, offset); - offset += 2; - buffer.writeUInt16BE(this.reserved, offset); - offset += 2; - buffer.writeUInt32BE(this.length, offset); - offset += 4; - buffer.writeUInt16BE(this._buddyCount, offset); - return buffer; - } - - set buddyCount(count: number) { - this._buddyCount = count; - } -} - -export class BuddyList extends RawMessage { - // These are BuddyMap fields - // These are BuddyInfo fields - buddyName = ""; // 33 bytes - 32 + null terminator - gameName = ""; // 65 bytes - 64 + null terminator - isBuddy = false; // 1 byte - isOnline = false; // 1 byte - dnd = false; // 1 byte - dnb = false; // 1 byte - noEntry = false; // 1 byte - muteWhispers = false; // 1 byte - muteChat = false; // 1 byte - - constructor() { - super(0x608); - } - - override get length(): number { - return 115; - } - - override serialize(): Buffer { - const buffer = Buffer.alloc(this.length); - let offset = 0; - super.serialize().copy(buffer, offset); - offset += super.length; - buffer.writeUInt16BE(this.messageId, offset); - offset += 2; - offset = serializeStringRaw(this.buddyName, buffer, offset, 33); - offset = serializeStringRaw(this.gameName, buffer, offset, 65); - buffer.writeUInt8(this.isBuddy ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.isOnline ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.dnd ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.dnb ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.noEntry ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.muteWhispers ? 1 : 0, offset); - offset += 1; - buffer.writeUInt8(this.muteChat ? 1 : 0, offset); - - return buffer; - } - - override toString(): string { - return this.serialize().toString("hex"); - } -} diff --git a/packages/persona/src/PersonaMapsMessage.ts b/packages/persona/src/PersonaMapsMessage.ts deleted file mode 100644 index d0b5d7c46..000000000 --- a/packages/persona/src/PersonaMapsMessage.ts +++ /dev/null @@ -1,341 +0,0 @@ -import { serializeString } from "../../core/src/serializationHelpers.js"; -import { NPSHeader, NPSMessage } from "../../shared"; - -/** - * - * This is type UserGameData - */ -export class PersonaRecord { - customerId: number; - personaName: string; - serverDataId: number; - createDate: number; - lastLogin: number; - numberOfGames: number; - personaId: number; - isOnline: number; - purchaseTimestamp: number; - gameSerialNumber: string; - timeOnline: number; - timeInGame: number; - extraData: Buffer; - personaData: Buffer; - pictureData: Buffer; - dnd: number; - startedPlayingTimestamp: number; - hashedKey: string; - personaLevel: number; - shardId: number; - constructor() { - this.customerId = 0; - this.personaName = ""; - this.serverDataId = 0; - this.createDate = 0; - this.lastLogin = 0; - this.numberOfGames = 0; - this.personaId = 0; - this.isOnline = 0; - this.purchaseTimestamp = 0; - this.gameSerialNumber = ""; - this.timeOnline = 0; - this.timeInGame = 0; - this.extraData = Buffer.alloc(512); - this.personaData = Buffer.alloc(256); - this.pictureData = Buffer.alloc(1); - this.dnd = 0; - this.startedPlayingTimestamp = 0; - this.hashedKey = ""; - this.personaLevel = 0; - this.shardId = 0; - } - - /** - * - * @param {Buffer} buffer - * @returns {PersonaRecord} - */ - deserialize(buffer: Buffer): PersonaRecord { - let offset = 0; - this.customerId = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.personaName = buffer.toString("utf8", offset, offset + 33); // 33 - offset += 33; - this.serverDataId = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.createDate = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.lastLogin = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.numberOfGames = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.personaId = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.isOnline = buffer.readUInt16BE(offset); // 2 - offset += 2; - this.purchaseTimestamp = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.gameSerialNumber = buffer - .subarray(offset, offset + 33) - .toString("utf8"); // 33 - offset += 33; - this.timeOnline = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.timeInGame = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.extraData = buffer.subarray(offset, offset + 512); // 512 - offset += 512; - this.personaData = buffer.subarray(offset, offset + 256); // 256 - offset += 256; - this.pictureData = buffer.subarray(offset, offset + 1); // 1 - offset += 1; - this.dnd = buffer.readUInt16BE(offset); // 2 - offset += 2; - this.startedPlayingTimestamp = buffer.readUInt32BE(offset); // 4 - offset += 4; - this.hashedKey = buffer.subarray(offset, offset + 400).toString("utf8"); // 400 - offset += 400; - this.personaLevel = buffer.readUInt16BE(offset); // 2 - offset += 2; - this.shardId = buffer.readUInt32BE(offset); // 2 - // Offset 1285 - return this; - } - - /** - * - * @returns {Buffer} - */ - serialize(): Buffer { - const buffer = Buffer.alloc(PersonaRecord.size()); - try { - let offset = 0; - buffer.writeUInt32BE(this.customerId, offset); // 4 - Unknown if this is correct - offset += 4; // offset = 4 - buffer.writeUInt16BE(3341, offset); // 2 - unknown if this is correct - offset += 2; // offset = 6 - buffer.writeUInt32BE(this.personaId, offset); // 4 - Known to be correct - offset += 4; // offset = 10 - buffer.writeUInt32BE(this.shardId, offset); // 4 - Known to be correct - offset += 4; // offset = 14 - // We don't know what goes here yet - offset += 4; // offset = 18 - serializeString(this.personaName).copy(buffer, offset); // 34 - Known to be correct - // offset = 52 - - // buffer.writeUInt32BE(this.serverDataId, offset); // 4 - // offset += 4; // offset = 56 - // buffer.writeUInt32BE(this.createDate, offset); // 4 - // offset += 4; // offset = 60 - // buffer.writeUInt32BE(this.lastLogin, offset); // 4 - // offset += 4; // offset = 64 - // buffer.writeUInt32BE(this.numberOfGames, offset); // 4 (Max personas)) - // offset += 4; // offset = 68 - // buffer.writeUInt16BE(this.isOnline, offset); // 2 - // offset += 2; // offset = 70 - // buffer.writeUInt32BE(this.purchaseTimestamp, offset); // 4 - // offset += 4; // offset = 74 - // buffer.write(this.gameSerialNumber, offset, 33, "utf8"); // 33 - // offset += 33; // offset = 107 - // buffer.writeUInt32BE(this.timeOnline, offset); // 4 - // offset += 4; // offset = 111 - // buffer.writeUInt32BE(this.timeInGame, offset); // 4 - // offset += 4; // offset = 115 - // this.extraData.copy(buffer, offset, 512); // 512 - // offset += 512; // offset = 627 - // this.personaData.copy(buffer, offset, 256); // 256 - // offset += 256; // offset = 883 - // this.pictureData.copy(buffer, offset, 1); // 1 - // offset += 1; // offset = 884 - // buffer.writeUInt16BE(this.dnd, offset); // 2 - // offset += 2; // offset = 886 - // buffer.writeUInt32BE(this.startedPlayingTimestamp, offset); // 4 - // offset += 4; // offset = 890 - // buffer.write(this.hashedKey, offset, 400, "utf8"); // 400 - // offset += 400; // offset = 1290 - // buffer.writeUInt16BE(this.personaLevel, offset); // 2 - // offset += 2; // offset = 1292 - } catch (error) { - throw new Error( - `Error serializing PersonaRecord buffer: ${String(error)}`, - ); - } - return buffer; - } - - static size() { - return 52; - } - - toJSON() { - return { - customerId: this.customerId, - personaId: this.personaId, - personaName: this.personaName, - shardId: this.shardId, - serverDataId: this.serverDataId, - // createDate: this.createDate, - // lastLogin: this.lastLogin, - // numberOfGames: this.numberOfGames, - // isOnline: this.isOnline, - // purchaseTimestamp: this.purchaseTimestamp, - // gameSerialNumber: this.gameSerialNumber, - // timeOnline: this.timeOnline, - // timeInGame: this.timeInGame, - // extraData: this.extraData, - // personaData: this.personaData, - // pictureData: this.pictureData, - // dnd: this.dnd, - // startedPlayingTimestamp: this.startedPlayingTimestamp, - // hashedKey: this.hashedKey, - // personaLevel: this.personaLevel, - }; - } - - asJSON() { - return this.toJSON(); - } - - toString() { - return `PersonaRecord: ${JSON.stringify(this.toJSON())}`; - } -} - -export class PersonaList { - _personaRecords: PersonaRecord[]; - constructor() { - /** @type {PersonaRecord[]} */ - this._personaRecords = []; - } - - /** - * - * @param {Buffer} buffer - * @returns {PersonaList} - */ - deserialize(buffer: Buffer): PersonaList { - let offset = 0; - const personaRecordCount = buffer.readUInt16BE(offset); - offset += 2; - for (let i = 0; i < personaRecordCount; i++) { - const personaRecord = new PersonaRecord(); - personaRecord.deserialize(buffer.subarray(offset)); - offset += PersonaRecord.size(); - this._personaRecords.push(personaRecord); - } - return this; - } - - /** - * - * @returns {Buffer} - */ - serialize(): Buffer { - const NEEDED_SIZE = PersonaRecord.size() * this._personaRecords.length; - const buffer = Buffer.alloc(NEEDED_SIZE); - try { - let offset = 0; - if (!this._personaRecords) { - throw new Error("PersonaRecords is undefined"); - } - for (const personaRecord of this._personaRecords) { - personaRecord.serialize().copy(buffer, offset); - offset += PersonaRecord.size(); - } - } catch (error) { - throw new Error( - `Error serializing PersonaList buffer: ${String(error)}`, - ); - } - return buffer; - } - - /** - * @param {PersonaRecord} personaRecord - */ - addPersonaRecord(personaRecord: PersonaRecord) { - this._personaRecords.push(personaRecord); - } - - personaCount() { - return this._personaRecords.length; - } - - size() { - return PersonaRecord.size() * this._personaRecords.length; - } - - asJSON() { - return { - personaRecords: this._personaRecords, - }; - } - - toString() { - return `PersonaList: ${JSON.stringify(this._personaRecords)}`; - } -} -export class PersonaMapsMessage extends NPSMessage { - _personaRecords: PersonaList | undefined; - raw: Buffer | undefined; - constructor() { - super(); - /** @type {PersonaList | undefined} */ - this._personaRecords = undefined; - } - - /** - * @param {Buffer} buffer - * @returns {PersonaMapsMessage} - */ - deserialize(buffer: Buffer): PersonaMapsMessage { - try { - this._header._doDeserialize(buffer); - this.setBuffer(buffer.subarray(NPSHeader.size())); - this.raw = buffer; - return this; - } catch (error) { - throw Error( - `Error deserializing PersonaMapsMessage: ${String(error)}`, - ); - } - } - - /** - * @returns {Buffer} - */ - override serialize(): Buffer { - try { - if (!this._personaRecords) { - throw new Error("PersonaRecords is undefined"); - } - this._header.length = - NPSHeader.size() + 2 + this._personaRecords.size(); - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - - // Write the persona count. This is known to be correct at offset 12 - buffer.writeUInt16BE(this._personaRecords.personaCount(), 12); - // This is a serialized PersonaList - this.data.copy(buffer, NPSHeader.size() + 2); - return buffer; - } catch (error) { - throw Error( - `Error serializing PersonaMapsMessage: ${String(error)}`, - ); - } - } - - asJSON() { - return { - header: this._header, - personaRecords: this._personaRecords, - }; - } - - override toString() { - return `PersonaMapsMessage: ${JSON.stringify({ - header: this._header, - personaRecords: this._personaRecords, - })}`; - } -} diff --git a/packages/persona/src/_gameLogout.ts b/packages/persona/src/_gameLogout.ts deleted file mode 100644 index faa652503..000000000 --- a/packages/persona/src/_gameLogout.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { getServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; - -const log = getServerLogger(); - -/** - * Handle game logout - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ - -export async function _gameLogout({ - connectionId, - message, -}: { - connectionId: string; - message: LegacyMessage; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug("_npsLogoutGameUser..."); - const requestPacket = message; - log.debug( - `NPSMsg request object from _npsLogoutGameUser', - ${JSON.stringify({ - NPSMsg: requestPacket.toString(), - })}`, - ); - - // Build the packet - const responsePacket = new LegacyMessage(); - responsePacket._header.id = 519; - log.debug( - `NPSMsg response object from _npsLogoutGameUser', - ${JSON.stringify({ - NPSMsg: responsePacket.toString(), - })}`, - ); - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(responsePacket._doSerialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} diff --git a/packages/persona/src/_getFirstBuddy.ts b/packages/persona/src/_getFirstBuddy.ts deleted file mode 100644 index 6ee90ce8c..000000000 --- a/packages/persona/src/_getFirstBuddy.ts +++ /dev/null @@ -1,113 +0,0 @@ -import { - getServerLogger, - LegacyMessage, - NPSMessage, - SerializedBuffer, -} from "../../shared"; -import { BuddyCount, BuddyInfoMessage, BuddyList } from "./BuddyInfoMessage.js"; - -const log = getServerLogger(); - -export async function _getFirstBuddy({ - connectionId, - message, -}: { - connectionId: string; - message: LegacyMessage; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - // This message is a versioned nps message - const incomingMessage = new NPSMessage(); - incomingMessage._doDeserialize(message._doSerialize()); - - log.debug( - `in _getFirstBuddy, incomingMessage: ${incomingMessage - .serialize() - .toString("hex")}`, - ); - - // extract the personaId - const personaId = incomingMessage.data.readUInt32BE(0); - - log.debug(`in _getFirstBuddy, personaId: ${personaId}`); - - // TODO: Here we need to look up the buddies for the personaId - - // First, send the BuddyCount message - const buddyCountMessage = new BuddyCount(); - buddyCountMessage.buddyCount = 0; - - const outboundMessage1 = new SerializedBuffer(); - outboundMessage1._doDeserialize(buddyCountMessage.serialize()); - - const buddyInfoMessage = new BuddyInfoMessage(); - - for (const buddy of buddies) { - const buddyInfo = new BuddyList(); - buddyInfo.buddyName = buddy.buddyName; - buddyInfo.gameName = buddy.gameName; - buddyInfo.isBuddy = buddy.isBuddy; - buddyInfo.isOnline = buddy.isOnline; - buddyInfo.dnd = buddy.dnd; - buddyInfo.dnb = buddy.dnb; - buddyInfo.noEntry = buddy.noEntry; - buddyInfo.muteWhispers = buddy.muteWhispers; - buddyInfo.muteChat = buddy.muteChat; - - buddyInfoMessage.add(buddyInfo); - } - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(buddyInfoMessage.serialize()); - - log.debug( - `in _getFirstBuddy, outboundMessage: ${outboundMessage1.toString()}`, - ); - - return { - connectionId, - messages: [outboundMessage1], - }; -} - -interface BuddyInfoRecord { - buddyId: number; - buddyName: string; - gameName: string; - isBuddy: boolean; - isOnline: boolean; - dnd: boolean; - dnb: boolean; - noEntry: boolean; - muteWhispers: boolean; - muteChat: boolean; -} - -export const buddies: BuddyInfoRecord[] = [ - { - buddyId: 2, - buddyName: "Einstein", - gameName: "Good Woof", - isBuddy: true, - isOnline: true, - dnd: false, - dnb: false, - noEntry: false, - muteWhispers: false, - muteChat: false, - }, - { - buddyId: 3, - buddyName: "Marty", - gameName: "That kid", - isBuddy: true, - isOnline: true, - dnd: false, - dnb: false, - noEntry: false, - muteWhispers: false, - muteChat: false, - }, -]; diff --git a/packages/persona/src/_selectGamePersona.ts b/packages/persona/src/_selectGamePersona.ts deleted file mode 100644 index 644dcc543..000000000 --- a/packages/persona/src/_selectGamePersona.ts +++ /dev/null @@ -1,58 +0,0 @@ -import { ServerLogger, getServerLogger } from "../../shared"; -import { LegacyMessage, SerializedBuffer } from "../../shared"; - -/** - * Selects a game persona and marks it as in use - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ - -export async function _selectGamePersona({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug("_npsSelectGamePersona..."); - const requestPacket = message; - log.debug( - `LegacyMsg request object from _npsSelectGamePersona ${requestPacket - ._doSerialize() - .toString("hex")}`, - ); - - // Create the packet content - const packetContent = Buffer.alloc(251); - - // Build the packet - // Response Code - // 207 = success - const responsePacket = new LegacyMessage(); - responsePacket._header.id = 519; - responsePacket.setBuffer(packetContent); - log.debug( - `LegacyMsg response object from _npsSelectGamePersona ${responsePacket - ._doSerialize() - .toString("hex")} `, - ); - - const outboundMessage = new SerializedBuffer(); - outboundMessage.setBuffer(responsePacket._doSerialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} diff --git a/packages/persona/src/getPersonasByPersonaId.ts b/packages/persona/src/getPersonasByPersonaId.ts deleted file mode 100644 index 37193c1e7..000000000 --- a/packages/persona/src/getPersonasByPersonaId.ts +++ /dev/null @@ -1,27 +0,0 @@ -import type { PersonaRecord } from "../../interfaces/index.js"; -import { personaRecords } from "./internal.js"; - -/** - * - * @param {number} id - * @return {Promise} - */ - -export async function getPersonasByPersonaId({ - personas = personaRecords, - id, -}: { - personas?: PersonaRecord[]; - id: number; -}): Promise { - const results = personaRecords.filter((persona) => { - const match = id === persona.id.readInt32BE(0); - return match; - }); - if (results.length === 0) { - const err = new Error(`Unable to locate a persona for id: ${id}`); - throw err; - } - - return results; -} diff --git a/packages/persona/src/handlers/validatePersonaName.ts b/packages/persona/src/handlers/validatePersonaName.ts deleted file mode 100644 index d07b20131..000000000 --- a/packages/persona/src/handlers/validatePersonaName.ts +++ /dev/null @@ -1,49 +0,0 @@ -import { - ServerLogger, - LegacyMessage, - SerializedBuffer, - RawMessage, -} from "../../../shared"; - -/** - * Check if a new persona name is valid - */ - -export async function validatePersonaName({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug("_npsLogoutGameUser..."); - const requestPacket = message; - log.debug( - `NPSMsg request object from _npsLogoutGameUser', - ${JSON.stringify({ - NPSMsg: requestPacket.toString(), - })}`, - ); - - // Build the packet - const responsePacket = new RawMessage(522); // 0x020a - NPS_DUP_USER - log.debug( - `NPSMsg response object from _npsLogoutGameUser', - ${JSON.stringify({ - NPSMsg: responsePacket.toString(), - })}`, - ); - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(responsePacket.serialize()); - - return { - connectionId, - messages: [outboundMessage], - }; -} diff --git a/packages/persona/src/internal.ts b/packages/persona/src/internal.ts deleted file mode 100644 index 20a6cac86..000000000 --- a/packages/persona/src/internal.ts +++ /dev/null @@ -1,315 +0,0 @@ -// mcos is a game server, written from scratch, for an old game -// Copyright (C) <2017> -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU Affero General Public License as published -// by the Free Software Foundation, either version 3 of the License, or -// (at your option) any later version. -// -// This program is distributed in the hope that it will be useful, -// but WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -// GNU Affero General Public License for more details. -// -// You should have received a copy of the GNU Affero General Public License -// along with this program. If not, see . - -import { ServerLogger, LegacyMessage, SerializedBuffer } from "../../shared"; - -import { - PersonaList, - PersonaMapsMessage, - PersonaRecord, -} from "./PersonaMapsMessage.js"; -import { _selectGamePersona } from "./_selectGamePersona.js"; -import { _gameLogout } from "./_gameLogout.js"; -import { _getFirstBuddy } from "./_getFirstBuddy.js"; -import { validatePersonaName } from "./handlers/validatePersonaName.js"; - -const NAME_BUFFER_SIZE = 30; - -/** - * Array of supported message handlers - * - * @type {{ - * opCode: number, - * name: string, - * handler: (args: { - * connectionId: string, - * message: LegacyMessage, - * log: ServerLogger, - * }) => Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>}[]} - */ -export const messageHandlers: { - opCode: number; - name: string; - handler: (args: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; - }) => Promise<{ - connectionId: string; - messages: SerializedBuffer[]; - }>; -}[] = [ - { - opCode: 1283, // 0x503 - name: "Game login", - handler: _selectGamePersona, - }, - { - opCode: 1295, // 0x50F - name: "Game logout", - handler: _gameLogout, - }, - { - opCode: 1330, // 0x532 - name: "Get persona maps", - handler: getPersonaMaps, - }, - { - opCode: 1331, // 0x533 - name: "Validate persona name", - handler: validatePersonaName, - }, - { - opCode: 1291, // 0x50B - name: "Get first buddy", - handler: _getFirstBuddy, - }, -]; - -/** - * Return string as buffer - */ -export function generateNameBuffer(name: string, size: number): Buffer { - const nameBuffer = Buffer.alloc(size); - Buffer.from(name, "utf8").copy(nameBuffer); - return nameBuffer; -} - -/** - * All personas - * NOTE: Currently we only support one persona per customer - * @type {import("../../interfaces/index.js").PersonaRecord[]} - */ -export const personaRecords: import("../../interfaces/index.js").PersonaRecord[] = - [ - { - customerId: 2868969472, - id: Buffer.from([0x00, 0x00, 0x00, 0x01]), - maxPersonas: Buffer.from([0x01]), - name: generateNameBuffer("Doc Joe", NAME_BUFFER_SIZE), - personaCount: Buffer.from([0x00, 0x01]), - shardId: Buffer.from([0x00, 0x00, 0x00, 0x2c]), - }, - { - customerId: 5551212, // 0x54 0xB4 0x6C - id: Buffer.from([0x00, 0x84, 0x5f, 0xed]), - maxPersonas: Buffer.from([0x02]), - name: generateNameBuffer("Dr Brown", NAME_BUFFER_SIZE), - personaCount: Buffer.from([0x00, 0x01]), - shardId: Buffer.from([0x00, 0x00, 0x00, 0x2c]), - }, - ]; - -/** - * - * @param {number} customerId -// * @return {Promise} - */ -async function getPersonasByCustomerId( - customerId: number, -): Promise { - const results = personaRecords.filter( - (persona) => persona.customerId === customerId, - ); - return results; -} - -/** - * Lookup all personas owned by the customer id - * - * TODO: Store in a database, instead of being hard-coded - * - * @param {number} customerId - * @return {Promise} - */ -async function getPersonaMapsByCustomerId( - customerId: number, -): Promise { - switch (customerId) { - case 5551212: - return getPersonasByCustomerId(customerId); - default: - return []; - } -} - -/** - * Handle a get persona maps packet - * @param {object} args - * @param {string} args.connectionId - * @param {LegacyMessage} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - */ -async function getPersonaMaps({ - connectionId, - message, - log, -}: { - connectionId: string; - message: LegacyMessage; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - log.debug("_npsGetPersonaMaps..."); - - const requestPacket = message; - log.debug( - `NPSMsg request object from _npsGetPersonaMaps ${requestPacket - ._doSerialize() - .toString("hex")} `, - ); - - const customerId = requestPacket.data.readUInt32BE(8); - - const personas = await getPersonaMapsByCustomerId(customerId); - log.debug(`${personas.length} personas found for ${customerId}`); - - const personaMapsMessage = new PersonaMapsMessage(); - - // this is a GLDP_PersonaList::GLDP_PersonaList - - try { - /** @type {PersonaList} */ - let personaList: PersonaList = new PersonaList(); - - if (personas.length > 1) { - log.warn( - `More than one persona found for customer Id: ${customerId}`, - ); - } - - personas.forEach((persona) => { - const personaRecord = new PersonaRecord(); - - personaRecord.customerId = persona.customerId; - personaRecord.personaId = persona.id.readUInt32BE(0); - personaRecord.personaName = persona.name.toString("utf8"); - personaRecord.shardId = persona.shardId.readUInt32BE(0); - personaRecord.numberOfGames = personas.length; - - personaList.addPersonaRecord(personaRecord); - - log.debug( - `Persona record: ${JSON.stringify({ - personaRecord: personaRecord.toJSON(), - })}`, - ); - }); - - personaMapsMessage._header.id = 0x607; - personaMapsMessage._personaRecords = personaList; - personaMapsMessage.setBuffer(personaList.serialize()); - log.debug( - `PersonaMapsMessage object from _npsGetPersonaMaps', - ${JSON.stringify({ - personaMapsMessage: personaMapsMessage - .serialize() - .toString("hex"), - })}`, - ); - - const outboundMessage = new SerializedBuffer(); - outboundMessage._doDeserialize(personaMapsMessage.serialize()); - - return { - connectionId, - messages: [outboundMessage], - }; - } catch (error) { - if (error instanceof Error) { - const err = new Error( - `Error serializing personaMapsMsg: ${error.message}`, - ); - throw err; - } - - const err = new Error( - "Error serializing personaMapsMsg, error unknonw", - ); - throw err; - } -} - -/** - * - * - * @param {object} args - * @param {string} args.connectionId - * @param {SerializedBuffer} args.message - * @param {ServerLogger} args.log - * @returns {Promise<{ - * connectionId: string, - * messages: SerializedBuffer[], - * }>} - * @throws {Error} Unknown code was received - */ -export async function receivePersonaData({ - connectionId, - message, - log, -}: { - connectionId: string; - message: SerializedBuffer; - log: ServerLogger; -}): Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}> { - const { data } = message; - log.debug( - `Received Persona packet', - ${JSON.stringify({ - data: data.toString("hex"), - })}`, - ); - - // The packet needs to be an NPSMessage - const inboundMessage = new LegacyMessage(); - inboundMessage._doDeserialize(message.data); - - const supportedHandler = messageHandlers.find((h) => { - return h.opCode === inboundMessage._header.id; - }); - - if (typeof supportedHandler === "undefined") { - // We do not yet support this message code - throw new Error( - `UNSUPPORTED_MESSAGECODE: ${inboundMessage._header.id}`, - ); - } - - try { - const result = await supportedHandler.handler({ - connectionId, - message: inboundMessage, - log, - }); - log.debug(`Returning with ${result.messages.length} messages`); - log.debug("Leaving receivePersonaDatadleData"); - return result; - } catch (error) { - throw Error(`Error handling persona data: ${String(error)}`); - } -} diff --git a/packages/persona/test/getPersonasByPersonaId.test.ts b/packages/persona/test/getPersonasByPersonaId.test.ts deleted file mode 100644 index f8b64904c..000000000 --- a/packages/persona/test/getPersonasByPersonaId.test.ts +++ /dev/null @@ -1,31 +0,0 @@ -import type { PersonaRecord } from "../../interfaces/index.js"; -import { getPersonasByPersonaId } from "../src/getPersonasByPersonaId.js"; -import { describe, it, expect } from "vitest"; - -describe("getPersonasByPersonaId", () => { - it("returns a persona", async () => { - // arrange - const personaRecord: PersonaRecord = { - id: Buffer.alloc(4), - name: Buffer.from("test"), - customerId: 6767, - maxPersonas: Buffer.alloc(4), - personaCount: Buffer.alloc(4), - shardId: Buffer.alloc(4), - }; - const id = 1; - - // act - const result = await getPersonasByPersonaId({ - personas: [personaRecord], - id, - }); - - // assert - expect(result).toBeInstanceOf(Array); - if (result[0] === undefined) { - throw new Error("Expected result[0] to be defined"); - } - expect(result[0].id.readInt32BE(0)).toBe(id); - }); -}); diff --git a/packages/shard/package.json b/packages/shard/package.json index 19d183d0c..b5c86456b 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -1,8 +1,13 @@ { - "name": "@rustymotors/shard", + "name": "rusty-motors-shard", "version": "1.0.0", "description": "", - "main": "index.js", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, "type": "module", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/packages/shard/src/ShardServer.ts b/packages/shard/src/ShardServer.ts index 2edc8fa24..688dfc2c9 100644 --- a/packages/shard/src/ShardServer.ts +++ b/packages/shard/src/ShardServer.ts @@ -24,7 +24,7 @@ export function generateShardList(shardHost: string) { 80, ); - let _possibleShards = []; + const _possibleShards = []; _possibleShards.push(shardClockTower.formatForShardList()); const shardTwinPinesMall = new ShardEntry( diff --git a/packages/shard/src/index.ts b/packages/shard/src/index.ts index ea80f8469..b1d797bcb 100644 --- a/packages/shard/src/index.ts +++ b/packages/shard/src/index.ts @@ -15,7 +15,7 @@ // along with this program. If not, see . import { readFile } from "node:fs/promises"; -import { Configuration } from "../../shared"; +import { Configuration } from "rusty-motors-shared"; // This section of the server can not be encrypted. This is an intentional choice for compatibility // deepcode ignore HttpToHttps: This is intentional. See above note. diff --git a/packages/shared-packets/index.ts b/packages/shared-packets/index.ts index e63444c7f..622d72450 100644 --- a/packages/shared-packets/index.ts +++ b/packages/shared-packets/index.ts @@ -1,5 +1,4 @@ export * from "./src/interfaces.js"; -export { GameMessage } from "./src/GameMessage.js"; export { ServerMessage, ServerMessageHeader, diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index f95e34284..162735388 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -1,5 +1,5 @@ { - "name": "@rustymotors/shared-packets", + "name": "rusty-motors-shared-packets", "private": true, "version": "1.0.0", "description": "", diff --git a/packages/shared-packets/src/GameMessage.ts b/packages/shared-packets/src/GameMessage.ts deleted file mode 100644 index e2aa9c913..000000000 --- a/packages/shared-packets/src/GameMessage.ts +++ /dev/null @@ -1,169 +0,0 @@ -import { Serializable } from "./BasePacket.js"; -import type { ISerializable, IMessage } from "./interfaces.js"; - -/** - * - */ -export class GameMessageHeader extends Serializable implements ISerializable { - // Version 0: 4 bytes - private id: number = 0; // 2 bytes - private length: number = 0; // 2 bytes - - // Version 1: v0 + 8 bytes - private version: 0 | 257 = 0; // 2 bytes - // Padding: 2 bytes (always 0) - // Length: 4 bytes (same as v0 length) - - constructor(version: 0 | 1) { - super(); - this.version = version === 0 ? 0 : 257; - } - - getDataOffset(): number { - return this.getVersion() === 0 ? 4 : 12; - } - override getByteSize(): number { - return this.getVersion() === 0 ? 4 : 12; - } - - getVersion(): number { - return this.version; - } - getId(): number { - return this.id; - } - getLength(): number { - return this.length; - } - setVersion(version: 0 | 1): void { - if (version !== 0 && version !== 1) { - throw new Error(`Invalid version: ${version as number}`); - } - this.version = version === 0 ? 0 : 257; - } - setId(id: number): void { - this.id = id; - } - setLength(length: number): void { - this.length = length; - } - - private serializeV0(): Buffer { - const buffer = Buffer.alloc(this.getByteSize()); - buffer.writeUInt16BE(this.id, 0); - buffer.writeUInt16BE(this.length, 2); - - return buffer; - } - - private serializeV1(): Buffer { - const buffer = Buffer.alloc(this.getByteSize()); - buffer.writeUInt16BE(this.id, 0); - buffer.writeUInt16BE(this.length, 2); - buffer.writeUInt16BE(this.version, 4); - buffer.writeUInt16BE(0, 6); - buffer.writeUInt32BE(this.length, 8); - - return buffer; - } - - override serialize(): Buffer { - return this.version === 0 ? this.serializeV0() : this.serializeV1(); - } - - private deserializeV0(data: Buffer): GameMessageHeader { - try { - this.id = data.readUInt16BE(0); - this.length = data.readUInt16BE(2); - return this; - } catch (error) { - throw Error( - `Error deserializing v0 header: ${(error as Error).message}`, - ); - } - } - - private deserializeV1(data: Buffer): GameMessageHeader { - try { - this.id = data.readUInt16BE(0); - this.length = data.readUInt16BE(2); - // Skip version - // Skip padding - this.length = data.readUInt32BE(8); - return this; - } catch (error) { - throw Error( - `Error deserializing v1 header: ${(error as Error).message}`, - ); - } - } - - override deserialize(data: Buffer): GameMessageHeader { - this._assertEnoughData(data, this.getByteSize()); - - return this.version === 0 - ? this.deserializeV0(data) - : this.deserializeV1(data); - } -} - -export class GameMessage extends Serializable implements IMessage { - header: GameMessageHeader; - data: ISerializable; - - constructor(version: 0 | 1) { - super(); - this.header = new GameMessageHeader(version); - this.data = new Serializable(); - } - getDataBuffer(): Buffer { - return this.data.serialize(); - } - setDataBuffer(data: Buffer): void { - this.data.deserialize(data); - } - /** The message length is the length of the message data, not including the id */ - override getByteSize(): number { - return this.header.getByteSize() + this.data.getByteSize(); - } - getData(): ISerializable { - return this.data; - } - setData(data: ISerializable): void { - this.data = data; - } - override serialize(): Buffer { - const buffer = Buffer.alloc(this.getByteSize()); - const headerBuffer = this.header.serialize(); - const dataBuffer = this.getDataBuffer(); - - headerBuffer.copy(buffer); - dataBuffer.copy(buffer, this.header.getDataOffset()); - return buffer; - } - override deserialize(data: Buffer): GameMessage { - this._assertEnoughData(data, this.header.getByteSize()); - - this.header.deserialize(data); - this.setDataBuffer(data.subarray(this.header.getDataOffset())); - - return this; - } - - override toString(): string { - return `Id: ${this.header.getId()}, Length: ${this.header.getLength()}, Data: ${this.data.toHexString()}`; - } - - static identifyVersion(data: Buffer): 0 | 257 { - if (data.length < 6) { - return 0; - } - - const version = data.readUInt16BE(4); - if (version !== 257) { - return 0; - } - - return 257; - } -} diff --git a/packages/shared-packets/src/ServerMessage.ts b/packages/shared-packets/src/ServerMessage.ts index 2468fad9c..7aaed363f 100644 --- a/packages/shared-packets/src/ServerMessage.ts +++ b/packages/shared-packets/src/ServerMessage.ts @@ -1,6 +1,6 @@ import { Serializable } from "./BasePacket.js"; import type { ISerializable, IMessage } from "./interfaces.js"; -import { McosEncryptionPair, getServerLogger } from "../../shared"; +import { McosEncryptionPair, getServerLogger } from "rusty-motors-shared"; const log = getServerLogger(); diff --git a/packages/shared/MessageNode.ts b/packages/shared/MessageNode.ts deleted file mode 100644 index 87c4a676a..000000000 --- a/packages/shared/MessageNode.ts +++ /dev/null @@ -1,99 +0,0 @@ -import { SerializedBuffer } from "./messageFactory.js"; - -export class MessageNode { - header: { - length: number; // 2 bytes - mcoSig: string; - }; - seq: number; - flags: number; - data: Buffer; - msgNo: number; - constructor() { - this.header = { - length: 0, // 2 bytes - mcoSig: "", // 4 bytes - }; - this.seq = 999; // 2 bytes - this.flags = 0; // 1 byte - this.data = Buffer.alloc(0); - this.msgNo = 999; // 2 bytes - } - - /** - * @static - * @param {module:shared/RawMessage} rawMessage - * @return {MessageNode} - */ - static fromRawMessage(rawMessage: SerializedBuffer): MessageNode { - const messageNode = new MessageNode(); - messageNode.deserialize(rawMessage.serialize()); - - if (messageNode.data.length > 2) { - messageNode.msgNo = messageNode.data.readInt16LE(0); - } - - return messageNode; - } - - get size() { - return this.data.length + 9; - } - - /** - * - * @param {Buffer} packet - */ - deserialize(packet: Buffer) { - const length = packet.readInt16LE(0); - if (length !== packet.length) { - throw new Error( - `[MessageNode] Length of packet ${length.toString()} does not match length of buffer ${packet.length.toString()}`, - ); - } - this.header.length = length; - let offset = 2; - this.header.mcoSig = packet.subarray(offset, offset + 4).toString(); - offset += 4; - this.seq = packet.readInt16LE(offset); - offset += 2; - this.flags = packet.readInt8(offset); - offset += 1; // offset = 9 - this.data = packet.subarray(offset, offset + length - 9); - if (this.data.length > 2) { - this.msgNo = this.data.readInt16LE(0); - } - } - - /** - * - * @return {Buffer} - */ - serialize(): Buffer { - const packet = Buffer.alloc(this.header.length); - let offset = 0; - packet.writeInt16LE(this.header.length, offset); - offset += 2; - packet.write(this.header.mcoSig, offset, 4); - offset += 4; - packet.writeInt16LE(this.seq, offset); - offset += 2; - packet.writeInt8(this.flags, offset); - offset += 1; - if (typeof this.data === "undefined") { - throw new Error("MessageNode data is undefined"); - } - this.data.copy(packet, offset); - return packet; - } - - toString() { - return `MessageNode: ${JSON.stringify({ - header: this.header, - seq: this.seq, - flags: this.flags, - data: this.data.toString("hex"), - msgNo: this.msgNo, - })}`; - } -} diff --git a/packages/shared/State.ts b/packages/shared/State.ts deleted file mode 100644 index 244d65b65..000000000 --- a/packages/shared/State.ts +++ /dev/null @@ -1,603 +0,0 @@ -/** - * @fileoverview State management for the gateway server. - * @module shared/state - * @exports GatewayServer/State - * - */ - -import { Cipher, Decipher } from "crypto"; -import { SerializedBuffer } from "./messageFactory.js"; -import { Socket } from "node:net"; -import type { TServerLogger } from "./types.js"; - -/** - * @external RawMessage - * @see {@link "packages/shared/messageFactory.js.RawMessage"} - */ - -/** - * State management for the gateway server. - * - * This file contains the state management for the gateway server. It is - * responsible for keeping track of the state of the server, including - * connections, encryption, and sessions. - * - * @example - * ```ts - * import { createInitialState, addSocket, removeSocket } from "./state.js"; - * - * const state = createInitialState(); - * - * const wrappedSocket = wrapSocket(socket, connectionId); - * - * - * - */ - -/** - * @external crypto - * @see {@link https://nodejs.org/api/crypto.html} - */ - -/** - * A pair of encryption ciphers. - */ -export class McosEncryptionPair { - _cipher: Cipher; - _decipher: Decipher; - /** - * Create a new encryption pair. - * - * This function creates a new encryption pair. It is used to encrypt and - * decrypt data sent to and from the client. - * - * @param {module:crypto.Cipher} cipher The cipher to use for encryption. - * @param {module:crypto.Decipher} decipher The decipher to use for decryption. - */ - constructor(cipher: Cipher, decipher: Decipher) { - this._cipher = cipher; - this._decipher = decipher; - } - - /** - * @param {Buffer} data The data to encrypt. - * @returns {Buffer} The encrypted data. - */ - encrypt(data: Buffer): Buffer { - return this._cipher.update(data); - } - - /** - * @param {Buffer} data The data to decrypt. - * @returns {Buffer} The decrypted data. - */ - decrypt(data: Buffer): Buffer { - return this._decipher.update(data); - } -} - -/** - * The encryption settings for a session. - */ -export class McosEncryption { - connectionId: string; - _commandEncryptionPair: McosEncryptionPair; - _dataEncryptionPair: McosEncryptionPair; - /** - * Create a new encryption object. - * - * @param {object} args - * @param {string} args.connectionId The connection id of the session that - * this encryption is for. - * @param {McosEncryptionPair} args.commandEncryptionPair The encryption - * pair for - * command packets. - * @param {McosEncryptionPair} args.dataEncryptionPair The encryption pair - * for data packets. - */ - constructor({ - connectionId, - commandEncryptionPair, - dataEncryptionPair, - }: { - connectionId: string; - commandEncryptionPair: McosEncryptionPair; - dataEncryptionPair: McosEncryptionPair; - }) { - this.connectionId = connectionId; - this._commandEncryptionPair = commandEncryptionPair; - this._dataEncryptionPair = dataEncryptionPair; - } - - get commandEncryption() { - return this._commandEncryptionPair; - } - - get dataEncryption() { - return this._dataEncryptionPair; - } -} - -/** - * A client session. - */ -export class McosSession { - connectionId: string; - gameId: number; - /** - * Create a new session. - * - * @param {object} args - * @param {string} args.connectionId A unique identifier for this session. - * @param {number} args.username The username of the user who owns this - * session. - */ - constructor({ - connectionId, - gameId, - }: { - connectionId: string; - gameId: number; - }) { - this.connectionId = connectionId; - this.gameId = gameId; - } -} - -/** - * @external net - * @see {@link https://nodejs.org/api/net.html} - */ - -/** - * A wrapped socket. - * - * This is a socket that has been wrapped with a connection id. - * @interface - */ -interface WrappedSocket { - socket: Socket; - connectionId: string; -} - -/** - * Wrap a socket with a connection id. - * - * @param {module:NetConnectOpts.Socket} socket The socket to wrap. - * @param {string} connectionId The connection id to wrap the socket with. - * @returns {WrappedSocket} The wrapped socket. - */ -export function wrapSocket( - socket: Socket, - connectionId: string, -): WrappedSocket { - return { - socket, - connectionId, - }; -} - -interface OnDataHandlerArgs { - connectionId: string; - message: SerializedBuffer; - log: TServerLogger; -} -/** - * @requires module:packages/shared/RawMessage - */ - -export type ServiceResponse = Promise<{ - connectionId: string; - messages: SerializedBuffer[]; -}>; - -export type OnDataHandler = (arg0: OnDataHandlerArgs) => ServiceResponse; -/** - * @param {OnDataHandlerArgs} args The arguments for the handler. - * @returns {ServiceResponse} The - * response - * to the - * data. - */ - -/** - * @param {State} state The state to save. - * @returns {void} - */ - -/** - * The state of the gateway server. - * - * This is the state of the gateway server. It is responsible for keeping track - * of the state of the server, including connections, encryption, and sessions. - * @global - * @interface - */ -export interface State { - filePaths: Record; - sockets: Record; - encryptions: Record; - sessions: Record; - queuedConnections: Record; - onDataHandlers: Record; - save: (state?: State) => void; -} - -/** - * Create the initial state. - * - * This function creates the initial state for the gateway server. - * You should call save on the returned state to save it to the database. - * - * @param {object} args - * @param {StateSaveFunction} [args.saveFunction=saveStateToDatabase] The - * save - * function - * to use. - * Defaults - * to - * saveStateToDatabase. - * @returns The initial state. - */ -export function createInitialState({ - saveFunction = saveStateToDatabase, -}: { - saveFunction?: (state: State) => void; -}): State { - return { - filePaths: {}, - sockets: {}, - encryptions: {}, - sessions: {}, - queuedConnections: {}, - onDataHandlers: {}, - save: function (state?: State) { - if (typeof state === "undefined") { - state = this as State; - } - if (typeof saveFunction === "undefined") { - saveStateToDatabase(state); - return; - } - saveFunction(state); - }, - }; -} - -/** - * Add a data handler to the state. - * - * This function adds a data handler to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the data handler to. - * @param {number} port The port to add the data handler for. - * @param {OnDataHandler} handler The data - * handler to - * add. - * @returns {State} The state with the data handler added. - */ -export function addOnDataHandler( - state: State, - port: number, - handler: OnDataHandler, -): State { - const onDataHandlers = state.onDataHandlers; - onDataHandlers[port.toString()] = handler; - const newState = { - ...state, - onDataHandlers, - }; - return newState; -} - -/** - * Get a data handler for a port from the state. - * - * This function gets a data handler for a port from the state. - * - * @param {State} state The state to get the data handler from. - * @param {number} port The port to get the data handler for. - * @returns {OnDataHandler | undefined} The - * data - * handler - * for the - * given port, - * or undefined - * if no data - * handler exists - */ -export function getOnDataHandler( - state: State, - port: number, -): OnDataHandler | undefined { - return state.onDataHandlers[port.toString()]; -} - -/** - * Add a socket to the state. - * - * This function adds a socket to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the socket to. - * @param {WrappedSocket} socket The socket to add to the state. - * @returns {State} The state with the socket added. - */ -export function addSocket(state: State, socket: WrappedSocket): State { - const sockets = state.sockets; - sockets[socket.connectionId] = socket; - return { - ...state, - sockets, - }; -} - -/** - * Get a socket from the state. - * - * This function gets a socket from the state. - * - * @param {State} state The state to get the socket from. - * @param {string} connectionId The connection id of the socket to get. - * @returns {WrappedSocket | undefined} The socket with the given connection id, or undefined if no socket - */ -export function getSocket( - state: State, - connectionId: string, -): WrappedSocket | undefined { - return state.sockets[connectionId]; -} - -/** - * Get all the sockets from the state. - * - * This function gets all the sockets from the state. - * - * @param {State} state The state to get the sockets from. - * @returns {Record} An array of all the sockets in the state. - */ -export function getSockets(state: State): Record { - return state.sockets; -} - -/** - * Remove a socket from the state. - * - * This function removes a socket from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the socket from. - * @param {string} connectionId The connection id of the socket to remove. - * @returns {State} The state with the socket removed. - */ -export function removeSocket(state: State, connectionId: string): State { - const sockets = state.sockets; - delete sockets[connectionId]; - return { - ...state, - sockets, - }; -} - -/** - * Add a queued connection to the state. - * - * This function adds a queued connection to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the queued connection to. - * @param {WrappedSocket} socket The queued connection to add to the state. - * @returns {State} The state with the queued connection added. - */ -export function addQueuedConnection( - state: State, - socket: WrappedSocket, -): State { - const queuedConnections = state.queuedConnections; - queuedConnections[socket.connectionId] = socket; - return { - ...state, - queuedConnections, - }; -} - -/** - * Get queued connections from the state. - * - * This function gets all the queued connections from the state. - * - * @param {State} state The state to get the queued connections from. - * @returns {string[]} An array of all the queued connections in the state. - */ -export function getQueuedConnections(state: State): string[] { - return Object.keys(state.queuedConnections); -} - -/** - * Remove a queued connection from the state. - * - * This function removes a queued connection from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the queued connection from. - * @param {string} connectionId The connection id of the queued connection to remove. - * @returns {State} The state with the queued connection removed. - */ -export function removeQueuedConnection( - state: State, - connectionId: string, -): State { - const queuedConnections = state.queuedConnections; - delete queuedConnections[connectionId]; - return { - ...state, - queuedConnections, - }; -} - -/** - * Add an encryption to the state. - * - * This function adds an encryption to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the encryption to. - * @param {McosEncryption} encryption The encryption to add to the state. - * @returns {State} - The state with the encryption added. - */ -export function addEncryption(state: State, encryption: McosEncryption): State { - const encryptions = state.encryptions; - encryptions[encryption.connectionId] = encryption; - return { - ...state, - encryptions, - }; -} - -/** - * Get an encryption from the state. - * - * This function gets an encryption from the state. - * - * @param {State} state The state to get the encryption from. - * @param {string} connectionId The connection id of the encryption to get. - * @returns {McosEncryption | undefined} The encryption with the given connection id, or undefined if no encryption - */ -export function getEncryption( - state: State, - connectionId: string, -): McosEncryption | undefined { - return state.encryptions[connectionId]; -} - -/** - * Update an encryption in the state. - * - * This function updates an encryption in the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to update the encryption in. - * @param {McosEncryption} encryption The encryption to update in the state. - * @returns {State} The state with the encryption updated. - */ -export function updateEncryption( - state: State, - encryption: McosEncryption, -): State { - const encryptions = state.encryptions; - encryptions[encryption.connectionId] = encryption; - return { - ...state, - encryptions, - }; -} - -/** - * Remove an encryption from the state. - * - * This function removes an encryption from the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param state {State} The state to remove the encryption from. - * @param {string} connectionId The connection id of the encryption to remove. - * @returns {State} The state with the encryption removed. - */ -export function removeEncryption(state: State, connectionId: string): State { - const encryptions = state.encryptions; - delete encryptions[connectionId]; - return { - ...state, - encryptions, - }; -} - -/** - * Add a session to the state. - * - * This function adds a session to the state. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to add the session to. - * @param {McosSession} session The session to add to the state. - * @returns {State} The state with the session added. - */ -export function addSession(state: State, session: McosSession): State { - const sessions = state.sessions; - sessions[session.connectionId] = session; - return { - ...state, - sessions, - }; -} - -/** - * Remove a session from the state. - * - * This function removes a session from the state. It also removes the socket - * and encryption for the session. - * The returned state is a new state object, and the original state is not - * modified. You should then call the save function on the new state to update - * the database. - * - * @param {State} state The state to remove the session from. - * @param {string} connectionId The connection id of the session to remove. - * @returns {State} The state with the session removed. - */ -export function removeSession(state: State, connectionId: string): State { - const sessions = state.sessions; - delete sessions[connectionId]; - return { - ...state, - sessions, - }; -} - -export function findSessionByConnectionId( - state: State, - connectionId: string, -): McosSession | undefined { - return state.sessions[connectionId]; -} - -/** - * Fetch the state from the database. - * - * This function fetches the state from the database. - * - * @returns {State} The state from the database. - */ -export function fetchStateFromDatabase(): State { - return globalStateDatabase; -} - -/** - * Save the state to the database. - * - * This function saves the state to the database. - * - * @param {State} state The state to save to the database. - */ -function saveStateToDatabase(state: State) { - globalStateDatabase = state; -} - -let globalStateDatabase = createInitialState({}); diff --git a/packages/shared/SubThread.ts b/packages/shared/SubThread.ts index aedbe5a0b..6554c1dd7 100644 --- a/packages/shared/SubThread.ts +++ b/packages/shared/SubThread.ts @@ -3,8 +3,7 @@ */ import { EventEmitter } from "node:events"; -import type { TServerLogger } from "./types.js"; - +import type { TServerLogger } from "./index"; export class SubThread extends EventEmitter { name: string; log: TServerLogger; diff --git a/packages/shared/Timestamp.ts b/packages/shared/Timestamp.ts deleted file mode 100644 index f45500b3f..000000000 --- a/packages/shared/Timestamp.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { SerializedBuffer } from "./messageFactory.js"; - -export class Timestamp extends SerializedBuffer { - _year: number; - _month: number; - _day: number; - _hour: number; - _minute: number; - _second: number; - _fraction: number; - constructor() { - super(); - this._year = 0; // 2 bytes - this._month = 0; // 2 bytes - this._day = 0; // 2 bytes - this._hour = 0; // 2 bytes - this._minute = 0; // 2 bytes - this._second = 0; // 2 bytes - this._fraction = 0; // 2 bytes - // total: 14 bytes - } - - override size() { - return 14; - } - - override serialize() { - const buffer = Buffer.alloc(this.size()); - let offset = 0; - buffer.writeUInt16LE(this._year, offset); - offset += 2; - buffer.writeUInt16LE(this._month, offset); - offset += 2; - buffer.writeUInt16LE(this._day, offset); - offset += 2; - buffer.writeUInt16LE(this._hour, offset); - offset += 2; - buffer.writeUInt16LE(this._minute, offset); - offset += 2; - buffer.writeUInt16LE(this._second, offset); - offset += 2; - buffer.writeUInt8(this._fraction, offset); - - return buffer; - } - - override toString() { - return `TimeStamp: year=${this._year} month=${this._month} day=${this._day} hour=${this._hour} minute=${this._minute} second=${this._second} fraction=${this._fraction}`; - } - - as64BitNumber() { - const year = this._year * 100000000000000; - const month = this._month * 1000000000000; - const day = this._day * 10000000000; - const hour = this._hour * 100000000; - const minute = this._minute * 1000000; - const second = this._second * 10000; - const fraction = this._fraction; - - return year + month + day + hour + minute + second + fraction; - } - - static now() { - const now = new Date(); - const timestamp = new Timestamp(); - timestamp._year = now.getFullYear(); - timestamp._month = now.getMonth() + 1; - timestamp._day = now.getDate(); - timestamp._hour = now.getHours(); - timestamp._minute = now.getMinutes(); - timestamp._second = now.getSeconds(); - timestamp._fraction = now.getMilliseconds(); - - return timestamp; - } -} diff --git a/packages/shared/index.ts b/packages/shared/index.ts index 1cf9101ec..554e1f4b4 100644 --- a/packages/shared/index.ts +++ b/packages/shared/index.ts @@ -2,40 +2,10 @@ export { SubThread } from "./SubThread.js"; export { NetworkMessage } from "./src/NetworkMessage.js"; export { ServerLogger, getServerLogger } from "./src/log.js"; export { Configuration, getServerConfiguration } from "./Configuration.js"; -export { - McosEncryptionPair, - createInitialState, - addOnDataHandler, - fetchStateFromDatabase, - getOnDataHandler, - addSocket, - removeSocket, - wrapSocket, - McosEncryption, - addEncryption, - getEncryption, - McosSession, - updateEncryption, - findSessionByConnectionId, - addSession, -} from "./State.js"; -export type { OnDataHandler, ServiceResponse, State } from "./State.js"; -export { - SerializedBuffer, - LegacyMessage, - MessageBuffer, - GameMessage, - serializeString, - NPSMessage, - deserializeString, - serializeStringRaw, - NPSHeader, -} from "./messageFactory.js"; + export { RawMessage } from "./src/RawMessage.js"; export { ServerMessage } from "./src/ServerMessage.js"; -export { MessageNode } from "./MessageNode.js"; export type * from "./src/types.js"; -export { Timestamp } from "./Timestamp.js"; export interface KeypressEvent { sequence: string; @@ -53,3 +23,9 @@ export interface ConnectionRecord { contextId: string; } +export { + McosEncryptionPair, + createCommandEncryptionPair, + createDataEncryptionPair, + verifyLegacyCipherSupport, +} from "./src/encryption.js"; diff --git a/packages/shared/messageFactory.ts b/packages/shared/messageFactory.ts deleted file mode 100644 index 225f7d7a9..000000000 --- a/packages/shared/messageFactory.ts +++ /dev/null @@ -1,856 +0,0 @@ -/** - * @module shared/messageFactory - * @description Holds the base classes for the various message types. - * The message types are: - * - LegacyMessage - * - NPSMessage - * - ServerMessage - * - RawMessage - */ - -/** - * @module shared/messageFactory - * @description Holds the base classes for the various message types. - * The message types are: - * - LegacyMessage - * - NPSMessage - * - ServerMessage - * - RawMessage - */ -import type { ServerMessageType } from "./types.js"; - -/** - * @abstract - * @property {Buffer} data - * @property {number} Size - */ -class AbstractSerializable { - internalBuffer: Buffer; - constructor() { - if (this.constructor === AbstractSerializable) { - throw new TypeError( - "Abstract class 'AbstractSerializable' cannot be instantiated directly.", - ); - } - /** @private */ - this.internalBuffer = Buffer.alloc(0); - } - - _doSerialize() { - throw new Error("Method '_doSerialize()' must be implemented."); - } - - /** - * @param {Buffer} _buffer - * @returns {AbstractSerializable} - */ - // eslint-disable-next-line no-unused-vars - _doDeserialize(_buffer: Buffer): AbstractSerializable { - throw new Error("Method '_doDeserialize()' must be implemented."); - } - - get data() { - return this.internalBuffer; - } - - /** - * @param {Buffer} buffer - */ - setBuffer(buffer: Buffer) { - this.internalBuffer = Buffer.alloc(buffer.length); - this.internalBuffer = buffer; - } - - /** - * @returns {number} - */ - static get Size(): number { - throw new Error("Method 'Size' must be implemented."); - } -} - -/** - * @mixin - * @param {typeof AbstractSerializable} Base - * @returns {typeof AbstractSerializable} - */ -const SerializableMixin = ( - Base: typeof AbstractSerializable, -): typeof AbstractSerializable => - class extends Base { - constructor() { - super(); - } - - serialize() { - return this._doSerialize(); - } - - /** - * @param {Buffer} buffer - * @returns {AbstractSerializable} - */ - deserialize(buffer: Buffer): AbstractSerializable { - return this._doDeserialize(buffer); - } - }; - -/** - * @param {Buffer} buffer - * @returns {string} - */ -export function deserializeString(buffer: Buffer): string { - try { - const stringLength = buffer.readInt32BE(0); - const stringBuffer = buffer.subarray(4, 4 + (stringLength - 1)); - - const string = stringBuffer.toString("utf8").trim(); - return string; - } catch (error) { - throw Error( - `Error deserializing string from buffer ${buffer.toString("hex")}`, - ); - } -} - -/** - * Serializes a string with length prefix - * @param {string} string - * @param {Buffer} targetBuffer - * @param {number} offset - * @returns {number} - */ -export function serializeString( - string: string, - targetBuffer: Buffer, - offset: number, -): number { - const buffer = Buffer.alloc(4 + string.length + 1); - buffer.writeInt32BE(string.length + 1, 0); - const stringToWrite = string + "\0"; - buffer.write(stringToWrite, 4, stringToWrite.length, "utf8"); - buffer.copy(targetBuffer, offset); - offset += buffer.length; - return offset; -} - -/** - * Serializes a raw string without length prefix - * @param {string} string - * @param {Buffer} targetBuffer - * @param {number} offset - * @param {number} length - * @returns {number} - */ -export function serializeStringRaw( - string: string, - targetBuffer: Buffer, - offset: number, - length: number, -): number { - const stringToWrite = string; - targetBuffer.write(stringToWrite, offset, string.length, "utf8"); - offset += stringToWrite.length; - return offset; -} - -/** - * A legacy header is a 4 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - * - */ -class legacyHeader extends SerializableMixin(AbstractSerializable) { - _size: number; - id: number; - length: number; - constructor() { - super(); - this._size = 4; - this.id = 0; // 2 bytes - this.length = this._size; // 2 bytes - } - - /** - * @param {Buffer} buffer - */ - override _doDeserialize(buffer: Buffer) { - if (buffer.length < 4) { - throw new Error( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - - try { - this.id = buffer.readInt16BE(0); - this.length = buffer.readInt16BE(2); - } catch (error) { - throw new Error(`Error deserializing buffer: ${String(error)}`); - } - return this; - } - - override _doSerialize() { - const buffer = Buffer.alloc(this._size); - buffer.writeInt16BE(this.id, 0); - buffer.writeInt16BE(this.length, 2); - return buffer; - } - - override toString() { - return `LegacyHeader: ${JSON.stringify({ - id: this.id, - length: this.length, - })}`; - } - - static override get Size() { - return 4; - } -} - -/** - * A game message header is a 8 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - 2 bytes - gameMessageId - * - 2 bytes - gameMessageLength - */ -export class GameMessageHeader extends legacyHeader { - _gameMessageId: number; // 2 bytes - _gameMessageLength: number; // 2 bytes - - constructor(gameMessageId: number) { - super(); - this._size = 8; - this.id = 0x1101; // 2 bytes - this._gameMessageId = gameMessageId; // 2 bytes - this._gameMessageLength = 0; // 2 bytes - } - - size() { - return 8; - } - - deserialize(buffer: Buffer) { - if (buffer.length < 8) { - throw new Error( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - - try { - this.id = buffer.readInt16BE(0); - this.length = buffer.readInt16BE(2); - this._gameMessageId = buffer.readInt16BE(4); - this._gameMessageLength = buffer.readInt16BE(6); - } catch (error) { - throw new Error(`Error deserializing buffer: ${String(error)}`); - } - return this; - } - - serialize() { - const buffer = Buffer.alloc(8); - buffer.writeInt16BE(this.id, 0); - buffer.writeInt16BE(this.length, 2); - buffer.writeInt16BE(this._gameMessageId, 4); - buffer.writeInt16BE(this._gameMessageLength, 6); - return buffer; - } -} - -/** - * A nps header is a 12 byte header with the following fields: - * - 2 bytes - id - * - 2 bytes - length - * - 2 bytes - version - * - 2 bytes - reserved - * - 4 bytes - checksum - * - * @mixin {SerializableMixin} - */ -export class NPSHeader extends SerializableMixin(AbstractSerializable) { - _size: number; - id: number; // 2 bytes - length: number; // 2 bytes - version: number; // 2 bytes - reserved: number; // 2 bytes - checksum: number; // 4 bytes - constructor() { - super(); - this._size = 12; - this.id = 0; // 2 bytes - this.length = this._size; // 2 bytes - this.version = 257; // 2 bytes (0x0101) - this.reserved = 0; // 2 bytes - this.checksum = 0; // 4 bytes - } - - /** - * @param {Buffer} buffer - * @returns {NPSHeader} - * @throws {Error} If the buffer is too short - * @throws {Error} If the buffer is malformed - */ - override _doDeserialize(buffer: Buffer): NPSHeader { - if (buffer.length < this._size) { - throw new Error( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - - try { - this.id = buffer.readInt16BE(0); - this.length = buffer.readInt16BE(2); - } catch (error) { - throw new Error(`Error deserializing buffer: ${String(error)}`); - } - return this; - } - - override _doSerialize() { - const buffer = Buffer.alloc(this._size); - buffer.writeInt16BE(this.id, 0); - buffer.writeInt16BE(this.length, 2); - buffer.writeInt16BE(this.version, 4); - buffer.writeInt16BE(this.reserved, 6); - buffer.writeInt32BE(this.checksum, 8); - return buffer; - } - - static size() { - return 12; - } - - static override get Size() { - return 12; - } - - override toString() { - return `NPSHeader: ${JSON.stringify({ - id: this.id, - length: this.length, - version: this.version, - reserved: this.reserved, - checksum: this.checksum, - })}`; - } -} - -/** - * A server header is an 11 byte header with the following fields: - * - 2 bytes - length - * - 4 bytes - mcoSig - * - 4 bytes - sequence - * - 1 byte - flags - */ -export class serverHeader extends SerializableMixin(AbstractSerializable) { - _size: number; - length: number; - mcoSig: string; - sequence: number; - flags: number; - constructor() { - super(); - this._size = 11; - this.length = this._size; // 2 bytes - this.mcoSig = "TOMC"; // 4 bytes - this.sequence = 0; // 4 bytes - this.flags = 0; // 1 byte - } - - size() { - return this._size; - } - - /** - * @param {Buffer} buffer - * @returns {serverHeader} - * @throws {Error} If the buffer is too short - * @throws {Error} If the buffer is malformed - */ - override _doDeserialize(buffer: Buffer): serverHeader { - if (buffer.length < this._size) { - throw new Error( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - - try { - this.length = buffer.readInt16LE(0); - this.mcoSig = buffer.toString("utf8", 2, 6); - this.sequence = buffer.readInt32LE(6); - this.flags = buffer.readInt8(10); - } catch (error) { - throw new Error(`Error deserializing buffer: ${String(error)}`); - } - return this; - } - - override _doSerialize() { - const buffer = Buffer.alloc(this._size); - buffer.writeInt16LE(this.length, 0); - buffer.write(this.mcoSig, 2, 6, "utf8"); - buffer.writeInt32LE(this.sequence, 6); - buffer.writeInt8(this.flags, 10); - return buffer; - } - - override toString() { - return `ServerHeader: ${JSON.stringify({ - length: this.length, - mcoSig: this.mcoSig, - sequence: this.sequence, - flags: this.flags, - })}`; - } -} - -/** - * A legacy message is an older nps message type. It has a 4 byte header. @see {@link legacyHeader} - * - * @mixin {SerializableMixin} - */ -export class LegacyMessage extends SerializableMixin(AbstractSerializable) { - _header: legacyHeader; - constructor() { - super(); - this._header = new legacyHeader(); - } - - /** - * @param {Buffer} buffer - * @returns {LegacyMessage} - */ - override _doDeserialize(buffer: Buffer): LegacyMessage { - this._header._doDeserialize(buffer); - this.setBuffer(buffer.subarray(this._header._size)); - return this; - } - - deserialize(buffer: Buffer) { - return this._doDeserialize(buffer); - } - - override _doSerialize() { - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - super.data.copy(buffer, this._header._size); - return buffer; - } - - serialize() { - return this._doSerialize(); - } - - /** - * @param {Buffer} buffer - */ - override setBuffer(buffer: Buffer) { - super.setBuffer(buffer); - this._header.length = buffer.length + 4; - } - - asJSON() { - return { - header: this._header, - data: super.data.toString("hex"), - }; - } - - override toString() { - return `LegacyMessage: ${JSON.stringify({ - header: this._header.toString(), - data: super.data.toString("hex"), - })}`; - } -} - -/** - * A NPS message is a message that matches version 1.1 of the nps protocol. It has a 12 byte header. @see {@link NPSHeader} - * - * @mixin {SerializableMixin} - */ -export class NPSMessage extends SerializableMixin(AbstractSerializable) { - _header: NPSHeader; - constructor() { - super(); - this._header = new NPSHeader(); - } - - /** - * @param {Buffer} buffer - * @returns {NPSMessage} - */ - override _doDeserialize(buffer: Buffer): NPSMessage { - this._header._doDeserialize(buffer); - this.setBuffer(buffer.subarray(this._header._size)); - return this; - } - - serialize() { - const buffer = Buffer.alloc(this._header.length); - this._header._doSerialize().copy(buffer); - this.data.copy(buffer, this._header._size); - return buffer; - } - - size() { - return this._header.length + this.data.length; - } - - override toString() { - return `NPSMessage: ${JSON.stringify({ - header: this._header.toString(), - data: this.data.toString("hex"), - })}`; - } -} - -/** - * A raw message is a message that is not parsed into a specific type. - * It has no header, and is just a serialized buffer. - * - * @mixin {SerializableMixin} - */ -export class SerializedBuffer extends SerializableMixin(AbstractSerializable) { - constructor() { - super(); - } - - /** - * @param {Buffer} buffer - * @returns {SerializedBuffer} - */ - override _doDeserialize(buffer: Buffer): SerializedBuffer { - this.setBuffer(buffer); - return this; - } - - serialize() { - return this.data; - } - - override toString() { - return `SerializedBuffer: ${this.serialize().toString("hex")}`; - } - - size() { - return this.data.length; - } -} - -export class GameMessage extends SerializedBuffer { - _header: GameMessageHeader; - _recordData: Buffer; - constructor(gameMessageId: number) { - super(); - this._header = new GameMessageHeader(gameMessageId); - this._recordData = Buffer.alloc(0); - } - - setRecordData(buffer: Buffer) { - this._recordData = Buffer.alloc(buffer.length); - buffer.copy(this._recordData); - } - - /** @deprecated - Use setRecordData instead */ - override setBuffer(buffer: Buffer) { - this._recordData = Buffer.alloc(buffer.length); - buffer.copy(this._recordData); - } - - /** @deprecated - Use deserialize instead */ - override _doDeserialize(buffer: Buffer): SerializedBuffer { - this._header._doDeserialize(buffer); - this._recordData = Buffer.alloc(this._header._gameMessageLength - 4); - buffer.copy(this._recordData, 0, 8); - return this; - } - - deserialize(buffer: Buffer) { - this._header._doDeserialize(buffer); - this._recordData = Buffer.alloc(this._header.length - 4); - buffer.copy(this._recordData, 0, 8); - return this; - } - - /** @deprecated - Use serialize instead */ - override _doSerialize(): void { - this._header._gameMessageLength = 4 + this._recordData.length; - this._header.length = this._header._gameMessageLength + 4; - const buffer = Buffer.alloc(this._header.length); - let offset = 0; // offset is 0 - this._header.serialize().copy(buffer); - offset += this._header.size(); // offset is 8 - - this._recordData.copy(buffer, offset); - this.setBuffer(buffer); - } - - override serialize() { - this._header._gameMessageLength = 4 + this._recordData.length; - this._header.length = this._header._gameMessageLength + 4; - const buffer = Buffer.alloc(this._header.length); - let offset = 0; // offset is 0 - this._header.serialize().copy(buffer); - offset += this._header.size(); // offset is 8 - - this._recordData.copy(buffer, offset); - return buffer; - } - - override toString() { - return `GameMessage: ${this.serialize().toString("hex")})}`; - } -} - -/** - * A list message is a message that contains a list of items of a specific type. - * - * @mixin {SerializableMixin} - */ -export class ListMessage extends SerializedBuffer { - _msgNo: number; - _listCount: number; - _shouldExpectMoreMessages: boolean; - _list: SerializedBuffer[]; - constructor() { - super(); - this._msgNo = 0; // 2 bytes - this._listCount = 0; // 2 bytes - this._shouldExpectMoreMessages = false; // 1 byte - /** @type {SerializedBuffer[]} */ - this._list = []; // this.itemsType bytes each - } - - /** - * @param {SerializedBuffer} item - */ - add(item: SerializedBuffer) { - this._list.push(item); - this._listCount++; - } - - override serialize() { - let neededSize; - if (typeof this._list[0] === "undefined") { - neededSize = 5; - } else { - neededSize = 5 + this._list.length * this._list[0].size(); - } - const buffer = Buffer.alloc(neededSize); - let offset = 0; // offset is 0 - buffer.writeUInt16BE(this._msgNo, offset); - offset += 2; // offset is 2 - buffer.writeInt8(this._listCount, offset); - offset += 1; // offset is 3 - buffer.writeUInt8(this._shouldExpectMoreMessages ? 1 : 0, offset); - offset += 1; // offset is 4 - for (const item of this._list) { - item.serialize().copy(buffer, offset); - offset += item.size(); - } - // offset is now 4 + this._list.length * this._list[0].size() - return buffer; - } - - override size() { - return 5 + this._list.length * this.getFirstItemSize(); - } - - getFirstItemSize() { - if (typeof this._list[0] === "undefined") { - return 0; - } - return this._list[0].size(); - } - - override toString() { - return `ListMessage: msgNo=${this._msgNo} listCount=${this._listCount} shouldExpectMoreMessages=${this._shouldExpectMoreMessages} list=${this._list.toString()}`; - } -} - -export class MessageHeader extends SerializedBuffer { - _size: number; - _messageId: number; - _messageLength: number; - constructor() { - super(); - this._size = 4; - this._messageId = 0; // 4 bytes - this._messageLength = 0; // 4 bytes - } - - get messageId() { - return this._messageId; - } - - get messageLength() { - return this._messageLength; - } - - serializeSizeOf() { - return this._size; - } - - override size() { - return this._size; - } - - get id() { - return this._messageId; - } - - get length() { - return this._messageLength; - } - - /** - * @param {Buffer} buffer - * @returns {MessageHeader} - */ - deserialize(buffer: Buffer): MessageHeader { - this._messageId = buffer.readInt16BE(0); - this._messageLength = buffer.readInt16BE(2); - return this; - } - - override serialize() { - const buffer = Buffer.alloc(4); - buffer.writeInt16BE(this._messageId, 0); - buffer.writeInt16BE(this._messageLength, 2); - return buffer; - } - - /** - * @param {Buffer} buffer - * @returns {MessageHeader} - */ - override _doDeserialize(buffer: Buffer): MessageHeader { - return this.deserialize(buffer); - } - - override _doSerialize() { - return this.serialize(); - } - - override toString() { - return `MessageHeader: ${JSON.stringify({ - messageId: this._messageId, - messageLength: this._messageLength, - })}`; - } -} - -export class MessageBuffer extends SerializedBuffer { - _header: MessageHeader; - _buffer: Buffer; - constructor() { - super(); - this._header = new MessageHeader(); - this._buffer = Buffer.alloc(4); - } - - /** - * @param {number} id - The ID of the message - * @param {Buffer} buffer - The buffer to deserialize - * @returns {MessageBuffer} - */ - static createGameMessage(id: number, buffer: Buffer): MessageBuffer { - const message = new MessageBuffer(); - message._header._messageId = id; - message.buffer = buffer; - return message; - } - - get messageId() { - return this._header.messageId; - } - - get messageLength() { - return this._header.messageLength; - } - - override get data() { - return this._buffer; - } - - override set data(buffer) { - this.buffer = buffer; - } - - /** - * @param {Buffer} buffer - */ - set buffer(buffer: Buffer) { - this._buffer = Buffer.alloc(buffer.length); - this._buffer = buffer; - this._header._messageLength = 4 + buffer.length; - this._header._messageLength = this._buffer.length + 4; - } - - /** @param {Buffer} buffer */ - override setBuffer(buffer: Buffer) { - return (this.buffer = buffer); - } - - get buffer() { - return this._buffer; - } - - serializeSizeOf() { - return 4 + this._buffer.length; - } - - /** - * @param {Buffer} buffer - * @returns {MessageBuffer} - */ - deserialize(buffer: Buffer): MessageBuffer { - this._header.deserialize(buffer.subarray(0, 8)); - if (buffer.length < 4 + this._header.messageLength) { - throw new Error( - `Buffer length ${buffer.length} is too short to deserialize`, - ); - } - this.buffer = buffer.subarray(4); - return this; - } - - override serialize() { - const buffer = Buffer.alloc(4 + this._buffer.length); - if (this.buffer.length < 0) { - throw new Error( - `Buffer length ${this.buffer.length} is too short to serialize`, - ); - } - if (this.messageId <= 0) { - throw new Error( - `Message ID ${this.messageId} is invalid to serialize`, - ); - } - this._header.serialize().copy(buffer); - this._buffer.copy(buffer, 4); - return buffer; - } - - override toString() { - return `MessageBuffer: ${JSON.stringify({ - header: this._header.toString(), - bufferLength: this._buffer.length, - buffer: this._buffer.toString("hex"), - })}`; - } - - asJSON() { - return { - header: this._header, - buffer: this._buffer.toString("hex"), - }; - } -} - - diff --git a/packages/shared/package.json b/packages/shared/package.json index 9b9e8c826..06585a8dd 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,5 +1,5 @@ { - "name": "@rustymotors/shared", + "name": "rusty-motors-shared", "version": "1.0.0", "description": "", "exports": { diff --git a/packages/shared/src/SerializedBuffer.ts b/packages/shared/src/SerializedBuffer.ts index d59845dfa..175de2316 100644 --- a/packages/shared/src/SerializedBuffer.ts +++ b/packages/shared/src/SerializedBuffer.ts @@ -4,9 +4,6 @@ import { BaseSerialized } from "./BaseSerialized.js"; * A serialized buffer, prefixed with its 2-byte length. */ export class SerializedBuffer extends BaseSerialized { - constructor(data?: Buffer) { - super(data); - } override serialize() { try { const buffer = Buffer.alloc(2 + this._data.length); diff --git a/packages/shared/src/encryption.ts b/packages/shared/src/encryption.ts index 54adc1eb3..c7b440253 100644 --- a/packages/shared/src/encryption.ts +++ b/packages/shared/src/encryption.ts @@ -14,8 +14,50 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; -import { McosEncryptionPair } from ".."; +import { Cipher, Decipher, createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; + + +/** + * @external crypto + * @see {@link https://nodejs.org/api/crypto.html} + */ + +/** + * A pair of encryption ciphers. + */ +export class McosEncryptionPair { + _cipher: Cipher; + _decipher: Decipher; + /** + * Create a new encryption pair. + * + * This function creates a new encryption pair. It is used to encrypt and + * decrypt data sent to and from the client. + * + * @param {module:crypto.Cipher} cipher The cipher to use for encryption. + * @param {module:crypto.Decipher} decipher The decipher to use for decryption. + */ + constructor(cipher: Cipher, decipher: Decipher) { + this._cipher = cipher; + this._decipher = decipher; + } + + /** + * @param {Buffer} data The data to encrypt. + * @returns {Buffer} The encrypted data. + */ + encrypt(data: Buffer): Buffer { + return this._cipher.update(data); + } + + /** + * @param {Buffer} data The data to decrypt. + * @returns {Buffer} The decrypted data. + */ + decrypt(data: Buffer): Buffer { + return this._decipher.update(data); + } +} /** * This function creates a new encryption pair for use with the game server diff --git a/packages/shared/src/types.ts b/packages/shared/src/types.ts index 6f2236c94..caeda66b3 100644 --- a/packages/shared/src/types.ts +++ b/packages/shared/src/types.ts @@ -1,16 +1,6 @@ -import { serverHeader } from "../messageFactory.js"; - -export interface ServerMessageType { - _header: serverHeader; - _msgNo: number; - size(): number; - _doDeserialize(buffer: Buffer): ServerMessageType; - serialize(): Buffer; - setBuffer(buffer: Buffer): void; - updateMsgNo(): void; - toString(): string; - data: Buffer; -} +import type { Socket } from "node:net"; +import type { Configuration } from "../Configuration"; +import type { KeypressEvent } from ".."; export type TServerLogger = { info: (message: string) => void; @@ -29,3 +19,62 @@ export interface UserRecordMini { customerId: number; userId: number; } + + +export type TConsoleThread = { + parentThread: TGateway; + handleKeypressEvent: (key: KeypressEvent) => void; + init: () => void; + run: () => void; + stop: () => void; +}; + +export interface TScheduledThread { + parentThread: TGateway; + stop(): void; +} + +export type TGatewayOptions = { + config?: Configuration; + log: TServerLogger; + backlogAllowedCount?: number; + listeningPortList?: number[]; + socketConnectionHandler?: ({ + incomingSocket, + log, + }: { + incomingSocket: Socket; + log: TServerLogger; + }) => void; +}; + +export type TGateway = { + config: Configuration; + log: TServerLogger; + timer: NodeJS.Timeout | null; + loopInterval: number; + status: string; + consoleEvents: string[]; + backlogAllowedCount: number; + listeningPortList: number[]; + servers: import("node:net").Server[]; + socketconnection: ({ + incomingSocket, + log, + }: { + incomingSocket: Socket; + log: TServerLogger; + }) => void; + webServer: import("fastify").FastifyInstance | undefined; + readThread: TConsoleThread | undefined; + scheduledThread: TScheduledThread | undefined; + start: () => Promise; + restart: () => Promise; + exit: () => Promise; + stop: () => Promise; + help: () => void; + run: () => void; + handleReadThreadEvent: (event: string) => void; + init: () => Promise; + shutdown: () => void; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a29cb650b..36cbf7b6e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -11,15 +11,6 @@ importers: '@fastify/sensible': specifier: ^5.6.0 version: 5.6.0 - '@rustymotors/database': - specifier: workspace:^ - version: link:packages/database - '@rustymotors/shared': - specifier: workspace:^ - version: link:packages/shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:packages/shared-packets '@sentry/esbuild-plugin': specifier: ^2.16.1 version: 2.16.1 @@ -41,9 +32,21 @@ importers: pino-pretty: specifier: ^11.0.0 version: 11.0.0 + rusty-motors-database: + specifier: workspace:^ + version: link:packages/database + rusty-motors-shared: + specifier: workspace:^ + version: link:packages/shared + rusty-motors-shared-packets: + specifier: workspace:^ + version: link:packages/shared-packets short-unique-id: specifier: ^5.2.0 version: 5.2.0 + ts-node: + specifier: ^10.9.2 + version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) tsx: specifier: ^4.9.4 version: 4.9.4 @@ -99,17 +102,24 @@ importers: apps/main: dependencies: - '@rustymotors/shared': + rusty-motors-gateway: + specifier: workspace:^ + version: link:../../packages/gateway + rusty-motors-shared: specifier: workspace:^ version: link:../../packages/shared packages/cli: dependencies: - '@rustymotors/shared': + rusty-motors-shared: specifier: workspace:* version: link:../shared - packages/connection: {} + packages/connection: + dependencies: + rusty-motors-mcots: + specifier: workspace:^ + version: link:../mcots packages/database: dependencies: @@ -137,35 +147,51 @@ importers: '@fastify/sensible': specifier: ^5.5.0 version: 5.5.0 - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared - '@rustymotors/shared-packets': - specifier: workspace:^ - version: link:../shared-packets '@sentry/node': specifier: ^7.102.0 version: 7.111.0 fastify: specifier: ^4.25.2 version: 4.27.0 - - packages/lobby: - dependencies: - '@rustymotors/database': + rusty-motors-cli: + specifier: workspace:^ + version: link:../cli + rusty-motors-connection: + specifier: workspace:^ + version: link:../connection + rusty-motors-database: specifier: workspace:^ version: link:../database - - packages/login: {} + rusty-motors-mcots: + specifier: workspace:^ + version: link:../mcots + rusty-motors-nps: + specifier: workspace:^ + version: link:../nps + rusty-motors-patch: + specifier: workspace:^ + version: link:../patch + rusty-motors-shard: + specifier: workspace:^ + version: link:../shard + rusty-motors-shared: + specifier: workspace:^ + version: link:../shared + rusty-motors-shared-packets: + specifier: workspace:^ + version: link:../shared-packets packages/mcots: dependencies: - '@rustymotors/shared': - specifier: workspace:^ - version: link:../shared '@sentry/node': specifier: ^7.102.0 version: 7.111.0 + rusty-motors-nps: + specifier: workspace:^ + version: link:../nps + rusty-motors-shared: + specifier: workspace:^ + version: link:../shared short-unique-id: specifier: ^5.0.3 version: 5.0.3 @@ -181,8 +207,6 @@ importers: packages/patch: {} - packages/persona: {} - packages/shard: {} packages/shared: @@ -292,6 +316,10 @@ packages: '@bcoe/v8-coverage@0.2.3': resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + '@esbuild-kit/core-utils@3.3.2': resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} @@ -793,6 +821,9 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@lukeed/ms@2.0.2': resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} engines: {node: '>=8'} @@ -1003,6 +1034,18 @@ packages: '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} @@ -1179,6 +1222,9 @@ packages: archy@1.0.0: resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} @@ -1309,6 +1355,9 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1348,6 +1397,10 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + difflib@0.2.4: resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} @@ -1961,6 +2014,9 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + media-typer@0.3.0: resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} engines: {node: '>= 0.6'} @@ -2625,6 +2681,20 @@ packages: peerDependencies: typescript: '>=4.2.0' + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} @@ -2700,6 +2770,9 @@ packages: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} engines: {node: '>= 0.10'} @@ -2812,6 +2885,10 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2961,6 +3038,10 @@ snapshots: '@bcoe/v8-coverage@0.2.3': {} + '@cspotcode/source-map-support@0.8.1': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + '@esbuild-kit/core-utils@3.3.2': dependencies: esbuild: 0.18.20 @@ -3278,6 +3359,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/trace-mapping@0.3.9': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.4.15 + '@lukeed/ms@2.0.2': {} '@nodelib/fs.scandir@2.1.5': @@ -3470,6 +3556,14 @@ snapshots: '@sinclair/typebox@0.27.8': {} + '@tsconfig/node10@1.0.11': {} + + '@tsconfig/node12@1.0.11': {} + + '@tsconfig/node14@1.0.3': {} + + '@tsconfig/node16@1.0.4': {} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 @@ -3691,6 +3785,8 @@ snapshots: archy@1.0.0: {} + arg@4.1.3: {} + argparse@2.0.1: {} array-union@2.1.0: {} @@ -3826,6 +3922,8 @@ snapshots: dependencies: is-what: 4.1.16 + create-require@1.1.1: {} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -3855,6 +3953,8 @@ snapshots: diff-sequences@29.6.3: {} + diff@4.0.2: {} + difflib@0.2.4: dependencies: heap: 0.2.7 @@ -4514,6 +4614,8 @@ snapshots: dependencies: semver: 7.6.2 + make-error@1.3.6: {} + media-typer@0.3.0: {} memoizee@0.4.15: @@ -5147,6 +5249,24 @@ snapshots: dependencies: typescript: 5.4.5 + ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): + dependencies: + '@cspotcode/source-map-support': 0.8.1 + '@tsconfig/node10': 1.0.11 + '@tsconfig/node12': 1.0.11 + '@tsconfig/node14': 1.0.3 + '@tsconfig/node16': 1.0.4 + '@types/node': 20.12.11 + acorn: 8.11.3 + acorn-walk: 8.3.2 + arg: 4.1.3 + create-require: 1.1.1 + diff: 4.0.2 + make-error: 1.3.6 + typescript: 5.4.5 + v8-compile-cache-lib: 3.0.1 + yn: 3.1.1 + tslib@2.6.2: {} tsx@4.9.4: @@ -5213,6 +5333,8 @@ snapshots: uuid@9.0.1: {} + v8-compile-cache-lib@3.0.1: {} + validator@13.11.0: {} vary@1.1.2: {} @@ -5312,6 +5434,8 @@ snapshots: yallist@4.0.0: {} + yn@3.1.1: {} + yocto-queue@0.1.0: {} yocto-queue@1.0.0: {} diff --git a/schema/brandedPart.ts b/schema/brandedPart.ts index de6a42062..7a2f4a3df 100644 --- a/schema/brandedPart.ts +++ b/schema/brandedPart.ts @@ -5,8 +5,8 @@ import { smallint, index, } from "drizzle-orm/pg-core"; -import { partType } from "./partType"; -import { model } from "./model"; +import { partType } from "./partType.js"; +import { model } from "./model.js"; export const brandedPart = pgTable( "branded_part", diff --git a/schema/model.ts b/schema/model.ts index 59c86546a..6426d8708 100644 --- a/schema/model.ts +++ b/schema/model.ts @@ -3,7 +3,7 @@ import { varchar, integer, } from "drizzle-orm/pg-core"; -import { brand } from "./brand"; +import { brand } from "./brand.js"; export const model = pgTable( "model", diff --git a/schema/partType.ts b/schema/partType.ts index 6be631e0d..98a53de4b 100644 --- a/schema/partType.ts +++ b/schema/partType.ts @@ -5,8 +5,8 @@ import { uniqueIndex, index, } from "drizzle-orm/pg-core"; -import { abstractPartType } from "./abstractPartType"; -import { partGrade } from "./partGrade"; +import { abstractPartType } from "./abstractPartType.js"; +import { partGrade } from "./partGrade.js"; export const partType = pgTable( "part_type", diff --git a/schema/player.ts b/schema/player.ts index 4fa06dd27..84e7db4f3 100644 --- a/schema/player.ts +++ b/schema/player.ts @@ -6,8 +6,8 @@ import { timestamp, index, } from "drizzle-orm/pg-core"; -import { playerType } from "./playerType"; -import { driverClass } from "./driverClass"; +import { playerType } from "./playerType.js"; +import { driverClass } from "./driverClass.js"; export const player = pgTable( "player", diff --git a/schema/profile.ts b/schema/profile.ts index d6711c078..281143e2f 100644 --- a/schema/profile.ts +++ b/schema/profile.ts @@ -6,7 +6,7 @@ import { smallint, boolean, } from "drizzle-orm/pg-core"; -import { now32 } from "../packages/shared/src/utils"; +import { now32 } from "../packages/shared/src/utils.js"; export const profile = pgTable( "profile", diff --git a/schema/skin.ts b/schema/skin.ts index ce9943380..c01b2ac92 100644 --- a/schema/skin.ts +++ b/schema/skin.ts @@ -6,9 +6,9 @@ import { varchar, index, } from "drizzle-orm/pg-core"; -import { player } from "./player"; -import { skinType } from "./skinType"; -import { partType } from "./partType"; +import { player } from "./player.js"; +import { skinType } from "./skinType.js"; +import { partType } from "./partType.js"; export const skin = pgTable( "skin", diff --git a/schema/stockVehicleAttributes.ts b/schema/stockVehicleAttributes.ts index c1de59c44..90bf7daf4 100644 --- a/schema/stockVehicleAttributes.ts +++ b/schema/stockVehicleAttributes.ts @@ -3,9 +3,9 @@ import { integer, index, } from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart"; -import { svaCarClass } from "./svaCarClass"; -import { svaModeRestriction } from "./svaModeRestriction"; +import { brandedPart } from "./brandedPart.js"; +import { svaCarClass } from "./svaCarClass.js"; +import { svaModeRestriction } from "./svaModeRestriction.js"; export const stockVehicleAttributes = pgTable( "stock_vehicle_attributes", diff --git a/schema/warehouse.ts b/schema/warehouse.ts index 5a29036ca..8022f051d 100644 --- a/schema/warehouse.ts +++ b/schema/warehouse.ts @@ -3,9 +3,9 @@ import { integer, index, } from "drizzle-orm/pg-core"; -import { player } from "./player"; -import { brandedPart } from "./brandedPart"; -import { skin } from "./skin"; +import { player } from "./player.js"; +import { brandedPart } from "./brandedPart.js"; +import { skin } from "./skin.js"; export const warehouse = pgTable( "warehouse", diff --git a/tsconfig.json b/tsconfig.json index 20c832141..a20880408 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,7 +13,8 @@ "lib": ["ES2022"], "declaration": true, "sourceMap": true, - "noEmit": true, + "outDir": "dist", + "emitDeclarationOnly": true }, "include": ["apps/**/*", "packages/**/*", "drizzle.config.ts", "schema/**/*.ts"], From 077739c7e10bd59a12f973dd12ed6b85457b5141 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 11 May 2024 22:05:10 -0400 Subject: [PATCH 334/452] chore: Remove unnecessary build step in node.yml workflow --- .github/workflows/node.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 44a012a55..3ea0223ac 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -36,7 +36,6 @@ jobs: run: | corepack enable pnpm pnpm install - pnpm build npm test env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} From 5a2c5c29a32dc58ae28cd23056e6da889b370aa3 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 11 May 2024 22:12:20 -0400 Subject: [PATCH 335/452] chore: Update carryforward flags for modules This commit updates the carryforward flags for various modules in the `.github/codecov.yml` file. The changes include: - Setting `carryforward` to `false` for the `lobby` and `login` modules. - Setting `carryforward` to `true` for the `mcots`, `nps`, and `schema` modules. --- .github/codecov.yml | 22 +++++++++------------- .github/workflows/node.yml | 6 +----- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 41c90cc37..68b328c2b 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -16,10 +16,6 @@ flags: paths: - packages/connection/** carryforward: true - core: - paths: - - packages/core/** - carryforward: false database: paths: - packages/database/** @@ -31,19 +27,19 @@ flags: lobby: paths: - packages/lobby/** - carryforward: true + carryforward: false login: paths: - packages/login/** - carryforward: true + carryforward: false mcots: paths: - packages/mcots/** - carryforward: false + carryforward: true nps: paths: - packages/nps/** - carryforward: false + carryforward: true patch: paths: - packages/patch/** @@ -51,7 +47,7 @@ flags: persona: paths: - packages/persona/** - carryforward: true + carryforward: false shard: paths: - packages/shard/** @@ -63,11 +59,11 @@ flags: shared-packets: paths: - packages/shared-packets/** - carryforward: false - transactions: + carryforward: true + schema: paths: - - packages/transactions/** - carryforward: false + - schema/** + carryforward: true component_management: individual_components: diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 3ea0223ac..5ae069d21 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -51,19 +51,15 @@ jobs: codecovcli do-upload --report-type test_results --file mcos.junit.xml codecovcli --verbose do-upload --fail-on-error --flag cli --name cli-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag connection --name connection-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag core --name core-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag database --name database-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag gateway --name gateway-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag lobby --name lobby-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag login --name login-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag mcots --name mcots-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag nps --name nps-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag patch --name patch-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag persona --name persona-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shard --name shard-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shared --name shared-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shared-packets --name shared-packets-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag transactions --name transactions-${{ matrix.node-version }} + codecovcli --verbose do-upload --fail-on-error --flag schema --name schema-${{ matrix.node-version }} - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 with: From fb72bb8f6b95a8d1b5c199965f1fd597ec4840b7 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 11 May 2024 22:49:56 -0400 Subject: [PATCH 336/452] chore: Update carryforward flags for modules --- .github/codecov.yml | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 68b328c2b..9b3f44f17 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -24,14 +24,6 @@ flags: paths: - packages/gateway/** carryforward: true - lobby: - paths: - - packages/lobby/** - carryforward: false - login: - paths: - - packages/login/** - carryforward: false mcots: paths: - packages/mcots/** @@ -44,10 +36,6 @@ flags: paths: - packages/patch/** carryforward: true - persona: - paths: - - packages/persona/** - carryforward: false shard: paths: - packages/shard/** From a537c7d9cd9b002e23c8813834498df698f599d3 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sun, 12 May 2024 21:18:31 -0400 Subject: [PATCH 337/452] chore: Update prettier configuration and gitignore files --- .github/workflows/node.yml | 5 +- .gitignore | 3 + .prettierignore | 4 + .prettierrc | 3 + .vscode/settings.json | 6 + apps/main/package.json | 9 +- package.json | 46 +- packages/cli/package.json | 10 +- packages/connection/package.json | 14 +- packages/connection/src/Connection.ts | 2 +- packages/database/package.json | 13 +- .../database/src/functions/createNewCar.ts | 14 +- .../src/functions/getAbstractPartTypeId.ts | 6 +- .../src/functions/getWarehouseInventory.ts | 10 +- .../src/functions/transferPartAssembly.ts | 6 +- .../src/seeders/populateAbstractPartType.ts | 2 +- .../database/src/seeders/populateBrand.ts | 2 +- .../src/seeders/populateBrandedPart.ts | 2 +- .../database/src/seeders/populateModel.ts | 2 +- .../database/src/seeders/populatePartGrade.ts | 2 +- .../database/src/seeders/populatePartType.ts | 2 +- .../database/src/seeders/populatePlayer.ts | 2 +- .../src/seeders/populatePlayerType.ts | 2 +- packages/database/src/seeders/populateSkin.ts | 2 +- .../database/src/seeders/populateSkinType.ts | 2 +- .../database/src/seeders/populateWarehouse.ts | 4 +- packages/gateway/package.json | 55 +- packages/gateway/test/web.test.ts | 9 +- packages/mcots/package.json | 9 +- packages/nps/package.json | 8 +- packages/nps/services/account.ts | 2 +- packages/nps/services/profile.ts | 2 +- packages/patch/package.json | 13 +- packages/shard/package.json | 13 +- packages/shared-packets/package.json | 7 +- packages/shared/package.json | 14 +- pnpm-lock.yaml | 5445 ----------------- pnpm-workspace.yaml | 3 - schema/index.ts | 23 + schema/package.json | 20 + schema/part.ts | 4 +- schema/raceType.ts | 2 +- schema/stockAssembly.ts | 4 +- schema/vehicle.ts | 4 +- 44 files changed, 234 insertions(+), 5578 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc create mode 100644 .vscode/settings.json delete mode 100644 pnpm-lock.yaml delete mode 100644 pnpm-workspace.yaml create mode 100644 schema/index.ts create mode 100644 schema/package.json diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 5ae069d21..d09101eaf 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -1,4 +1,4 @@ -name: The Beast +name: Node.js on: push: @@ -34,8 +34,7 @@ jobs: # mode: "delete" - name: Install and test run: | - corepack enable pnpm - pnpm install + npm install npm test env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} diff --git a/.gitignore b/.gitignore index bdabb87f9..4c052e5d0 100644 --- a/.gitignore +++ b/.gitignore @@ -19,3 +19,6 @@ package-lock.json # Sentry Config File .env.sentry-build-plugin meta.json + + +.nx/cache \ No newline at end of file diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 000000000..d155fdbd5 --- /dev/null +++ b/.prettierignore @@ -0,0 +1,4 @@ +# Add files here to ignore them from prettier formatting +/dist +/coverage +/.nx/cache \ No newline at end of file diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..8db60caac --- /dev/null +++ b/.prettierrc @@ -0,0 +1,3 @@ +{ + "singleQuote": true +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..b9f722695 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "editor.formatOnSave": true, + "editor.codeActionsOnSave": { + "source.organizeImports": "explicit" + } +} \ No newline at end of file diff --git a/apps/main/package.json b/apps/main/package.json index 42d286d42..0707bba52 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-server", "version": "1.0.0", - "description": "", "type": "module", "scripts": { "start": "tsx --openssl-legacy-provider --env-file=../../.env server.ts" @@ -10,7 +9,9 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "rusty-motors-gateway": "workspace:^", - "rusty-motors-shared": "workspace:^" - } + "@sentry/node": "^7.114.0", + "@sentry/profiling-node": "^7.114.0" + }, + "devDependencies": {}, + "description": "" } diff --git a/package.json b/package.json index 11aa7928d..e0147619e 100644 --- a/package.json +++ b/package.json @@ -5,15 +5,10 @@ "type": "module", "scripts": { "check": "tsc", - "lint": "pnpm eslint .", - "build": "node build.mjs", - "start": "node --loader=ts-node/esm --env-file=.env apps/main/server.ts", - "dev:rsc": "tsc --watch --preserveWatchOutput", - "dev:node": "node --watch dist/apps/main/server.js", - "dev:esbuild": "pnpm run build --watch", - "dev": "run-p dev:*", + "lint": "eslint .", + "start": "node --loader=ts-node/esm --env-file=.env --openssl-legacy-provider apps/main/server.ts", "format": "pnpm prettier --write .", - "test": "vitest run --coverage packages thebeast" + "test": "vitest run --coverage packages" }, "author": "Molly Crendraven ", "license": "AGPL-3.0", @@ -23,38 +18,55 @@ "url": "git@github.com:drazisil/mcos.git" }, "devDependencies": { - "@eslint/js": "9.2.0", + "@eslint/js": "^9.2.0", "@sentry/node": "7.113.0", "@sentry/profiling-node": "7.113.0", "@types/node": "20.12.11", "@types/pg": "8.11.6", "@vitest/coverage-v8": "1.6.0", + "@vitest/ui": "^1.3.1", "drizzle-kit": "0.20.18", - "esbuild": "0.20.2", - "eslint": "9.2.0", + "eslint": "^8.57.0", "eslint-config-prettier": "9.1.0", "eslint-plugin-prettier": "5.1.3", "npm-run-all2": "6.1.2", "prettier": "3.2.5", - "typescript": "5.4.5", - "typescript-eslint": "7.8.0", + "react-refresh": "^0.10.0", + "typescript": "^5.4.5", + "typescript-eslint": "^7.8.0", + "vite": "~5.0.0", "vitest": "1.6.0" }, "dependencies": { "@fastify/sensible": "^5.6.0", - "rusty-motors-database": "workspace:^", - "rusty-motors-shared": "workspace:^", - "rusty-motors-shared-packets": "workspace:^", "@sentry/esbuild-plugin": "^2.16.1", + "axios": "^1.6.0", "dotenv": "^16.4.5", "drizzle-orm": "^0.30.10", + "express": "^4.18.1", "fastify": "^4.27.0", "pg": "^8.11.5", "pino": "^8.21.0", "pino-pretty": "^11.0.0", + "rusty-motors-database": "^1.0.0", + "rusty-motors-schema": "^1.0.0", "short-unique-id": "^5.2.0", "ts-node": "^10.9.2", + "tslib": "^2.3.0", "tsx": "^4.9.4" }, - "packageManager": "pnpm@9.1.0" + "workspaces": [ + "apps/main", + "packages/cli", + "packages/connection", + "packages/database", + "packages/gateway", + "packages/mcots", + "packages/nps", + "packages/patch", + "packages/shard", + "packages/shared", + "packages/shared-packets", + "schema" + ] } diff --git a/packages/cli/package.json b/packages/cli/package.json index 7d91b07d8..b1015c334 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-cli", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,12 +9,15 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", + "devDependencies": {}, "dependencies": { - "rusty-motors-shared": "workspace:*" - } + "rusty-motors-shared": "^1.0.0", + "rusty-motors-shared-packets": "^1.0.0" + }, + "description": "" } diff --git a/packages/connection/package.json b/packages/connection/package.json index 07cc6a8d9..9eaf7ee94 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-connection", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,12 +9,19 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { - "rusty-motors-mcots": "workspace:^" - } + "@sentry/node": "^7.114.0", + "drizzle-orm": "^0.30.10", + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/connection/src/Connection.ts b/packages/connection/src/Connection.ts index 73bea548d..d83321928 100644 --- a/packages/connection/src/Connection.ts +++ b/packages/connection/src/Connection.ts @@ -20,7 +20,7 @@ import { getServerMessageProcessor } from "rusty-motors-mcots"; import type { TServerLogger } from "rusty-motors-shared"; import * as Sentry from "@sentry/node"; import { getDatabase } from "rusty-motors-database"; -import { key as keySchema } from "../../../schema/key.js"; +import { key as keySchema } from "rusty-motors-schema"; import { eq } from "drizzle-orm"; import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; import { McosEncryptionPair } from "rusty-motors-shared"; diff --git a/packages/database/package.json b/packages/database/package.json index d9491c284..f8b65733e 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-database", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,17 +9,25 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", + "@types/pg": "^8.11.6", + "drizzle-orm": "^0.30.10", "pg": "^8.11.5", "pg-hstore": "^2.3.4", "sequelize": "^6.37.3", "slonik": "^40.0.0", + "vitest": "^1.6.0", "zod": "^3.22.4" - } + }, + "directories": { + "test": "test" + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/database/src/functions/createNewCar.ts b/packages/database/src/functions/createNewCar.ts index 523f7b5f9..96dddf368 100644 --- a/packages/database/src/functions/createNewCar.ts +++ b/packages/database/src/functions/createNewCar.ts @@ -1,14 +1,14 @@ import { getServerLogger } from "rusty-motors-shared"; -import { stockAssembly as stockAssemblySchema } from "../../../../schema/stockAssembly"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { stockAssembly as stockAssemblySchema } from "rusty-motors-schema"; +import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database"; -import { warehouse as warehouseSchema } from "../../../../schema/warehouse"; -import { part as partSchema } from "../../../../schema/part"; -import { player as playerSchema } from "../../../../schema/player"; +import { warehouse as warehouseSchema } from "rusty-motors-schema"; +import { part as partSchema } from "rusty-motors-schema"; +import { player as playerSchema } from "rusty-motors-schema"; import { eq } from "drizzle-orm"; import { transferPartAssembly } from "./transferPartAssembly"; -import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes"; -import { tunables as tunablesSchema } from "../../../../schema/tunables"; +import { stockVehicleAttributes as stockVehicleAttributesSchema } from "rusty-motors-schema"; +import { tunables as tunablesSchema } from "rusty-motors-schema"; /** * Create a new car * diff --git a/packages/database/src/functions/getAbstractPartTypeId.ts b/packages/database/src/functions/getAbstractPartTypeId.ts index 80bcba2ab..c37226f29 100644 --- a/packages/database/src/functions/getAbstractPartTypeId.ts +++ b/packages/database/src/functions/getAbstractPartTypeId.ts @@ -1,7 +1,7 @@ import { getServerLogger } from "rusty-motors-shared"; -import { part as partSchema } from "../../../../schema/part"; -import { partType as partTypeSchema } from "../../../../schema/partType"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart"; +import { part as partSchema } from "rusty-motors-schema"; +import { partType as partTypeSchema } from "rusty-motors-schema"; +import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database"; import { eq } from "drizzle-orm"; diff --git a/packages/database/src/functions/getWarehouseInventory.ts b/packages/database/src/functions/getWarehouseInventory.ts index 275ba965a..a0b2cfc1a 100644 --- a/packages/database/src/functions/getWarehouseInventory.ts +++ b/packages/database/src/functions/getWarehouseInventory.ts @@ -1,10 +1,10 @@ import { getServerLogger } from "rusty-motors-shared"; import { getDatabase } from "../services/database.js"; -import { warehouse as warehouseSchema } from "../../../../schema/warehouse.js"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; -import { stockVehicleAttributes as stockVehicleAttributesSchema } from "../../../../schema/stockVehicleAttributes.js"; -import { tunables as tunablesSchema } from "../../../../schema/tunables.js"; -import { model as modelSchema } from "../../../../schema/model.js"; +import { warehouse as warehouseSchema } from "rusty-motors-schema"; +import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; +import { stockVehicleAttributes as stockVehicleAttributesSchema } from "rusty-motors-schema"; +import { tunables as tunablesSchema } from "rusty-motors-schema"; +import { model as modelSchema } from "rusty-motors-schema"; import { eq } from "drizzle-orm"; export type WarehouseInventory = { diff --git a/packages/database/src/functions/transferPartAssembly.ts b/packages/database/src/functions/transferPartAssembly.ts index a18ea70e7..65d360086 100644 --- a/packages/database/src/functions/transferPartAssembly.ts +++ b/packages/database/src/functions/transferPartAssembly.ts @@ -1,8 +1,8 @@ import { getServerLogger } from "rusty-motors-shared"; import { getDatabase } from "../services/database"; -import { part as partSchema } from "../../../../schema/part"; -import { vehicle as vehicleSchema } from "../../../../schema/vehicle"; -import { player as playerSchema } from "../../../../schema/player"; +import { part as partSchema } from "rusty-motors-schema"; +import { vehicle as vehicleSchema } from "rusty-motors-schema"; +import { player as playerSchema } from "rusty-motors-schema"; import { getAbstractPartTypeId } from "./getAbstractPartTypeId"; import { eq } from "drizzle-orm"; diff --git a/packages/database/src/seeders/populateAbstractPartType.ts b/packages/database/src/seeders/populateAbstractPartType.ts index f2c2e9715..b51c58294 100644 --- a/packages/database/src/seeders/populateAbstractPartType.ts +++ b/packages/database/src/seeders/populateAbstractPartType.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { abstractPartType as abstractPartTypeSchema } from "../../../../schema/abstractPartType.js"; +import { abstractPartType as abstractPartTypeSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateBrand.ts b/packages/database/src/seeders/populateBrand.ts index 2377c376b..7eb149814 100644 --- a/packages/database/src/seeders/populateBrand.ts +++ b/packages/database/src/seeders/populateBrand.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { brand as brandSchema } from "../../../../schema/brand.js"; +import { brand as brandSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts index a4f3dc24d..201656417 100644 --- a/packages/database/src/seeders/populateBrandedPart.ts +++ b/packages/database/src/seeders/populateBrandedPart.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { brandedPart as brandedPartSchema } from "../../../../schema/brandedPart.js"; +import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts index bf2aa078f..e4102ec88 100644 --- a/packages/database/src/seeders/populateModel.ts +++ b/packages/database/src/seeders/populateModel.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { model as modelSchema } from "../../../../schema/model.js"; +import { model as modelSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts index 5a0b552ad..d7cc274ff 100644 --- a/packages/database/src/seeders/populatePartGrade.ts +++ b/packages/database/src/seeders/populatePartGrade.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { partGrade as partGradeSchema } from "../../../../schema/partGrade.js"; +import { partGrade as partGradeSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts index ce6055749..7b3ce0809 100644 --- a/packages/database/src/seeders/populatePartType.ts +++ b/packages/database/src/seeders/populatePartType.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { partType as partTypeSchema } from "../../../../schema/partType.js"; +import { partType as partTypeSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populatePlayer.ts b/packages/database/src/seeders/populatePlayer.ts index 3170f2f3c..603bacb4e 100644 --- a/packages/database/src/seeders/populatePlayer.ts +++ b/packages/database/src/seeders/populatePlayer.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { player as playerSchema } from "../../../../schema/player.js"; +import { player as playerSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populatePlayerType.ts b/packages/database/src/seeders/populatePlayerType.ts index c913ca645..374ff1982 100644 --- a/packages/database/src/seeders/populatePlayerType.ts +++ b/packages/database/src/seeders/populatePlayerType.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { playerType as playerTypeSchema } from "../../../../schema/playerType.js"; +import { playerType as playerTypeSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts index 41ab4370e..48beabc3b 100644 --- a/packages/database/src/seeders/populateSkin.ts +++ b/packages/database/src/seeders/populateSkin.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { skin as skinSchema } from "../../../../schema/skin.js"; +import { skin as skinSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts index 066589440..53e030880 100644 --- a/packages/database/src/seeders/populateSkinType.ts +++ b/packages/database/src/seeders/populateSkinType.ts @@ -1,5 +1,5 @@ import { getServerLogger } from "rusty-motors-shared"; -import { skinType as skinTypeSchema } from "../../../../schema/skinType.js"; +import { skinType as skinTypeSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database.js"; import * as Sentry from "@sentry/node"; diff --git a/packages/database/src/seeders/populateWarehouse.ts b/packages/database/src/seeders/populateWarehouse.ts index 45840f7ab..eca2b4fea 100644 --- a/packages/database/src/seeders/populateWarehouse.ts +++ b/packages/database/src/seeders/populateWarehouse.ts @@ -1,5 +1,5 @@ -import { getServerLogger } from "../../../shared"; -import { warehouse as wareHouseSchema } from "../../../../schema/warehouse"; +import { getServerLogger } from "rusty-motors-shared"; +import { warehouse as wareHouseSchema } from "rusty-motors-schema"; import { getDatabase } from "../services/database"; import * as Sentry from "@sentry/node"; diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 0f11992ff..e620d3da4 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -1,32 +1,29 @@ { - "name": "rusty-motors-gateway", - "version": "1.0.0", - "description": "", - "exports": { - ".": { - "import": "./index.js", - "require": "./index.js" - } - }, - "type": "module", - "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0", - "dependencies": { - "@fastify/sensible": "^5.5.0", - "@sentry/node": "^7.102.0", - "fastify": "^4.25.2", - "rusty-motors-cli": "workspace:^", - "rusty-motors-connection": "workspace:^", - "rusty-motors-database": "workspace:^", - "rusty-motors-mcots": "workspace:^", - "rusty-motors-nps": "workspace:^", - "rusty-motors-patch": "workspace:^", - "rusty-motors-shard": "workspace:^", - "rusty-motors-shared": "workspace:^", - "rusty-motors-shared-packets": "workspace:^" + "name": "rusty-motors-gateway", + "version": "1.0.0", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" } + }, + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 0" + }, + "keywords": [], + "author": "", + "license": "AGPL-3.0", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "^7.102.0", + "fastify": "^4.25.2", + + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/gateway/test/web.test.ts b/packages/gateway/test/web.test.ts index ec054a71f..f0dec159c 100644 --- a/packages/gateway/test/web.test.ts +++ b/packages/gateway/test/web.test.ts @@ -17,12 +17,11 @@ function mockConfig() { describe("web", () => { it("handleGetCert", async () => { - vi.mock("fs/promises", async (importOriginal) => { + vi.mock("node:fs/promises", async (importOriginal) => { + const originalModule = await importOriginal() as typeof import("node:fs/promises"); return { - ...(await importOriginal()), - readFile: () => { - return "test"; - }, + ...originalModule, + readFile: vi.fn().mockResolvedValue("test"), }; }); const config = mockConfig(); diff --git a/packages/mcots/package.json b/packages/mcots/package.json index 8413d4ba3..a9dc8bffb 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-mcots", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,15 +9,15 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", - "rusty-motors-nps": "workspace:^", - "rusty-motors-shared": "workspace:^", "short-unique-id": "^5.0.3" - } + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/nps/package.json b/packages/nps/package.json index 206679098..59cecb994 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-nps", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,13 +9,16 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", + "drizzle-orm": "^0.30.10", "short-unique-id": "^5.0.3" - } + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/nps/services/account.ts b/packages/nps/services/account.ts index 774fea904..549dea700 100644 --- a/packages/nps/services/account.ts +++ b/packages/nps/services/account.ts @@ -1,5 +1,5 @@ import { getDatabase } from "rusty-motors-database"; -import { user as userSchema } from "../../../schema/user.js"; +import { user as userSchema } from "rusty-motors-schema"; import { eq, and } from "drizzle-orm"; import { getServerLogger } from "rusty-motors-shared"; diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index c261c53c8..db71b4198 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,6 +1,6 @@ import { GameProfile } from "../messageStructs/GameProfile.js"; import { getDatabase } from "rusty-motors-database"; -import { profile as profileSchema } from "../../../schema/profile.js"; +import { profile as profileSchema } from "rusty-motors-schema"; export const gameProfiles: GameProfile[] = []; diff --git a/packages/patch/package.json b/packages/patch/package.json index bec7b2ee5..328690171 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-patch", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -10,9 +9,17 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", - "license": "AGPL-3.0" + "license": "AGPL-3.0", + "dependencies": { + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "devDependencies": {}, + "description": "" } diff --git a/packages/shard/package.json b/packages/shard/package.json index b5c86456b..9e5ae5ef7 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -1,7 +1,7 @@ { "name": "rusty-motors-shard", "version": "1.0.0", - "description": "", + "description": "The shard service exposing the following endpoints to the gateway service:", "exports": { ".": { "import": "./index.js", @@ -10,9 +10,16 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", - "license": "AGPL-3.0" + "license": "AGPL-3.0", + "dependencies": { + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "devDependencies": {} } diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 162735388..0c1177361 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -2,7 +2,6 @@ "name": "rusty-motors-shared-packets", "private": true, "version": "1.0.0", - "description": "", "type": "module", "exports": { ".": { @@ -12,9 +11,11 @@ }, "scripts": { "build": "rm -rf dist && tsc", - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", - "license": "AGPL-3.0" + "license": "AGPL-3.0", + "devDependencies": {}, + "description": "" } diff --git a/packages/shared/package.json b/packages/shared/package.json index 06585a8dd..32c2296a1 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -1,7 +1,6 @@ { "name": "rusty-motors-shared", "version": "1.0.0", - "description": "", "exports": { ".": { "import": "./index.js", @@ -14,13 +13,20 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1" + "test": "echo \"Error: no test specified\" && exit 0" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { + "fastify": "^4.27.0", "pino": "^8.18.0", - "pino-pretty": "^11.0.0" - } + "pino-pretty": "^11.0.0", + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "devDependencies": {}, + "description": "" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml deleted file mode 100644 index 36cbf7b6e..000000000 --- a/pnpm-lock.yaml +++ /dev/null @@ -1,5445 +0,0 @@ -lockfileVersion: '9.0' - -settings: - autoInstallPeers: true - excludeLinksFromLockfile: false - -importers: - - .: - dependencies: - '@fastify/sensible': - specifier: ^5.6.0 - version: 5.6.0 - '@sentry/esbuild-plugin': - specifier: ^2.16.1 - version: 2.16.1 - dotenv: - specifier: ^16.4.5 - version: 16.4.5 - drizzle-orm: - specifier: ^0.30.10 - version: 0.30.10(@types/pg@8.11.6)(pg@8.11.5) - fastify: - specifier: ^4.27.0 - version: 4.27.0 - pg: - specifier: ^8.11.5 - version: 8.11.5 - pino: - specifier: ^8.21.0 - version: 8.21.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - rusty-motors-database: - specifier: workspace:^ - version: link:packages/database - rusty-motors-shared: - specifier: workspace:^ - version: link:packages/shared - rusty-motors-shared-packets: - specifier: workspace:^ - version: link:packages/shared-packets - short-unique-id: - specifier: ^5.2.0 - version: 5.2.0 - ts-node: - specifier: ^10.9.2 - version: 10.9.2(@types/node@20.12.11)(typescript@5.4.5) - tsx: - specifier: ^4.9.4 - version: 4.9.4 - devDependencies: - '@eslint/js': - specifier: 9.2.0 - version: 9.2.0 - '@sentry/node': - specifier: 7.113.0 - version: 7.113.0 - '@sentry/profiling-node': - specifier: 7.113.0 - version: 7.113.0 - '@types/node': - specifier: 20.12.11 - version: 20.12.11 - '@types/pg': - specifier: 8.11.6 - version: 8.11.6 - '@vitest/coverage-v8': - specifier: 1.6.0 - version: 1.6.0(vitest@1.6.0(@types/node@20.12.11)) - drizzle-kit: - specifier: 0.20.18 - version: 0.20.18 - esbuild: - specifier: 0.20.2 - version: 0.20.2 - eslint: - specifier: 9.2.0 - version: 9.2.0 - eslint-config-prettier: - specifier: 9.1.0 - version: 9.1.0(eslint@9.2.0) - eslint-plugin-prettier: - specifier: 5.1.3 - version: 5.1.3(eslint-config-prettier@9.1.0(eslint@9.2.0))(eslint@9.2.0)(prettier@3.2.5) - npm-run-all2: - specifier: 6.1.2 - version: 6.1.2 - prettier: - specifier: 3.2.5 - version: 3.2.5 - typescript: - specifier: 5.4.5 - version: 5.4.5 - typescript-eslint: - specifier: 7.8.0 - version: 7.8.0(eslint@9.2.0)(typescript@5.4.5) - vitest: - specifier: 1.6.0 - version: 1.6.0(@types/node@20.12.11) - - apps/main: - dependencies: - rusty-motors-gateway: - specifier: workspace:^ - version: link:../../packages/gateway - rusty-motors-shared: - specifier: workspace:^ - version: link:../../packages/shared - - packages/cli: - dependencies: - rusty-motors-shared: - specifier: workspace:* - version: link:../shared - - packages/connection: - dependencies: - rusty-motors-mcots: - specifier: workspace:^ - version: link:../mcots - - packages/database: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.111.0 - pg: - specifier: ^8.11.5 - version: 8.11.5 - pg-hstore: - specifier: ^2.3.4 - version: 2.3.4 - sequelize: - specifier: ^6.37.3 - version: 6.37.3(pg-hstore@2.3.4)(pg@8.11.5) - slonik: - specifier: ^40.0.0 - version: 40.2.6(zod@3.22.5) - zod: - specifier: ^3.22.4 - version: 3.22.5 - - packages/gateway: - dependencies: - '@fastify/sensible': - specifier: ^5.5.0 - version: 5.5.0 - '@sentry/node': - specifier: ^7.102.0 - version: 7.111.0 - fastify: - specifier: ^4.25.2 - version: 4.27.0 - rusty-motors-cli: - specifier: workspace:^ - version: link:../cli - rusty-motors-connection: - specifier: workspace:^ - version: link:../connection - rusty-motors-database: - specifier: workspace:^ - version: link:../database - rusty-motors-mcots: - specifier: workspace:^ - version: link:../mcots - rusty-motors-nps: - specifier: workspace:^ - version: link:../nps - rusty-motors-patch: - specifier: workspace:^ - version: link:../patch - rusty-motors-shard: - specifier: workspace:^ - version: link:../shard - rusty-motors-shared: - specifier: workspace:^ - version: link:../shared - rusty-motors-shared-packets: - specifier: workspace:^ - version: link:../shared-packets - - packages/mcots: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.111.0 - rusty-motors-nps: - specifier: workspace:^ - version: link:../nps - rusty-motors-shared: - specifier: workspace:^ - version: link:../shared - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/nps: - dependencies: - '@sentry/node': - specifier: ^7.102.0 - version: 7.111.0 - short-unique-id: - specifier: ^5.0.3 - version: 5.0.3 - - packages/patch: {} - - packages/shard: {} - - packages/shared: - dependencies: - pino: - specifier: ^8.18.0 - version: 8.20.0 - pino-pretty: - specifier: ^11.0.0 - version: 11.0.0 - - packages/shared-packets: {} - -packages: - - '@ampproject/remapping@2.3.0': - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} - - '@babel/code-frame@7.24.2': - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} - - '@babel/compat-data@7.24.4': - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} - - '@babel/core@7.24.5': - resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} - engines: {node: '>=6.9.0'} - - '@babel/generator@7.24.5': - resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-compilation-targets@7.23.6': - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-environment-visitor@7.22.20': - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-function-name@7.23.0': - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-hoist-variables@7.22.5': - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-imports@7.24.3': - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} - - '@babel/helper-module-transforms@7.24.5': - resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 - - '@babel/helper-simple-access@7.24.5': - resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-split-export-declaration@7.24.5': - resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} - engines: {node: '>=6.9.0'} - - '@babel/helper-string-parser@7.24.1': - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-identifier@7.24.5': - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} - engines: {node: '>=6.9.0'} - - '@babel/helper-validator-option@7.23.5': - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - - '@babel/helpers@7.24.5': - resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} - engines: {node: '>=6.9.0'} - - '@babel/highlight@7.24.5': - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} - engines: {node: '>=6.9.0'} - - '@babel/parser@7.24.5': - resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} - engines: {node: '>=6.0.0'} - hasBin: true - - '@babel/template@7.24.0': - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} - - '@babel/traverse@7.24.5': - resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} - engines: {node: '>=6.9.0'} - - '@babel/types@7.24.5': - resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} - engines: {node: '>=6.9.0'} - - '@bcoe/v8-coverage@0.2.3': - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - - '@cspotcode/source-map-support@0.8.1': - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} - - '@esbuild-kit/core-utils@3.3.2': - resolution: {integrity: sha512-sPRAnw9CdSsRmEtnsl2WXWdyquogVpB3yZ3dgwJfe8zrOzTsV7cJvmwrKVa+0ma5BoiGJ+BoqkMvawbayKUsqQ==} - - '@esbuild-kit/esm-loader@2.6.5': - resolution: {integrity: sha512-FxEMIkJKnodyA1OaCUoEvbYRkoZlLZ4d/eXFu9Fh8CbBBgP5EmZxrfTRyN0qpXZ4vOvqnE5YdRdcrmUUXuU+dA==} - - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.20.2': - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/android-arm64@0.18.20': - resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.20.2': - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm@0.18.20': - resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.20.2': - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-x64@0.18.20': - resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.20.2': - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/darwin-arm64@0.18.20': - resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.20.2': - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-x64@0.18.20': - resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.20.2': - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/freebsd-arm64@0.18.20': - resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.20.2': - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.18.20': - resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.20.2': - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/linux-arm64@0.18.20': - resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.20.2': - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm@0.18.20': - resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.20.2': - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-ia32@0.18.20': - resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.20.2': - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-loong64@0.18.20': - resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.20.2': - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-mips64el@0.18.20': - resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.20.2': - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-ppc64@0.18.20': - resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.20.2': - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-riscv64@0.18.20': - resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.20.2': - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-s390x@0.18.20': - resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.20.2': - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-x64@0.18.20': - resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.20.2': - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/netbsd-x64@0.18.20': - resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.20.2': - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/openbsd-x64@0.18.20': - resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.20.2': - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/sunos-x64@0.18.20': - resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.20.2': - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/win32-arm64@0.18.20': - resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.20.2': - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-ia32@0.18.20': - resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.20.2': - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-x64@0.18.20': - resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.20.2': - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@eslint-community/eslint-utils@4.4.0': - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - - '@eslint-community/regexpp@4.10.0': - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - '@eslint/eslintrc@3.0.2': - resolution: {integrity: sha512-wV19ZEGEMAC1eHgrS7UQPqsdEiCIbTKTasEfcXAigzoXICcqZSjBZEHlZwNVvKg6UBCjSlos84XiLqsRJnIcIg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@eslint/js@9.2.0': - resolution: {integrity: sha512-ESiIudvhoYni+MdsI8oD7skpprZ89qKocwRM2KEvhhBJ9nl5MRh7BXU5GTod7Mdygq+AUl+QzId6iWJKR/wABA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - '@fastify/ajv-compiler@3.5.0': - resolution: {integrity: sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==} - - '@fastify/error@3.4.1': - resolution: {integrity: sha512-wWSvph+29GR783IhmvdwWnN4bUxTD01Vm5Xad4i7i1VuAOItLvbPAb69sb0IQ2N57yprvhNIwAP5B6xfKTmjmQ==} - - '@fastify/fast-json-stringify-compiler@4.3.0': - resolution: {integrity: sha512-aZAXGYo6m22Fk1zZzEUKBvut/CIIQe/BapEORnxiD5Qr0kPHqqI69NtEMCme74h+at72sPhbkb4ZrLd1W3KRLA==} - - '@fastify/merge-json-schemas@0.1.1': - resolution: {integrity: sha512-fERDVz7topgNjtXsJTTW1JKLy0rhuLRcquYqNR9rF7OcVpCa2OVW49ZPDIhaRRCaUuvVxI+N416xUoF76HNSXA==} - - '@fastify/sensible@5.5.0': - resolution: {integrity: sha512-D0zpl+nocsRXLceSbc4gasQaO3ZNQR4dy9Uu8Ym0mh8VUdrjpZ4g8Ca9O3pGXbBVOnPIGHUJNTV7Yf9dg/OYdg==} - - '@fastify/sensible@5.6.0': - resolution: {integrity: sha512-Vq6Z2ZQy10GDqON+hvLF52K99s9et5gVVxTul5n3SIAf0Kq5QjPRUKkAMT3zPAiiGvoHtS3APa/3uaxfDgCODQ==} - - '@hono/node-server@1.11.1': - resolution: {integrity: sha512-GW1Iomhmm1o4Z+X57xGby8A35Cu9UZLL7pSMdqDBkD99U5cywff8F+8hLk5aBTzNubnsFAvWQ/fZjNwPsEn9lA==} - engines: {node: '>=18.14.1'} - - '@hono/zod-validator@0.2.1': - resolution: {integrity: sha512-HFoxln7Q6JsE64qz2WBS28SD33UB2alp3aRKmcWnNLDzEL1BLsWfbdX6e1HIiUprHYTIXf5y7ax8eYidKUwyaA==} - peerDependencies: - hono: '>=3.9.0' - zod: ^3.19.1 - - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - - '@humanwhocodes/retry@0.2.4': - resolution: {integrity: sha512-Ttl/jHpxfS3st5sxwICYfk4pOH0WrLI1SpW283GgQL7sCWU7EHIOhX4b4fkIxr3tkfzwg8+FNojtzsIEE7Ecgg==} - engines: {node: '>=18.18'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - - '@lukeed/ms@2.0.2': - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@rollup/rollup-android-arm-eabi@4.17.2': - resolution: {integrity: sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ==} - cpu: [arm] - os: [android] - - '@rollup/rollup-android-arm64@4.17.2': - resolution: {integrity: sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw==} - cpu: [arm64] - os: [android] - - '@rollup/rollup-darwin-arm64@4.17.2': - resolution: {integrity: sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw==} - cpu: [arm64] - os: [darwin] - - '@rollup/rollup-darwin-x64@4.17.2': - resolution: {integrity: sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ==} - cpu: [x64] - os: [darwin] - - '@rollup/rollup-linux-arm-gnueabihf@4.17.2': - resolution: {integrity: sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm-musleabihf@4.17.2': - resolution: {integrity: sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg==} - cpu: [arm] - os: [linux] - - '@rollup/rollup-linux-arm64-gnu@4.17.2': - resolution: {integrity: sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-arm64-musl@4.17.2': - resolution: {integrity: sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA==} - cpu: [arm64] - os: [linux] - - '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': - resolution: {integrity: sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ==} - cpu: [ppc64] - os: [linux] - - '@rollup/rollup-linux-riscv64-gnu@4.17.2': - resolution: {integrity: sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg==} - cpu: [riscv64] - os: [linux] - - '@rollup/rollup-linux-s390x-gnu@4.17.2': - resolution: {integrity: sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g==} - cpu: [s390x] - os: [linux] - - '@rollup/rollup-linux-x64-gnu@4.17.2': - resolution: {integrity: sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-linux-x64-musl@4.17.2': - resolution: {integrity: sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q==} - cpu: [x64] - os: [linux] - - '@rollup/rollup-win32-arm64-msvc@4.17.2': - resolution: {integrity: sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA==} - cpu: [arm64] - os: [win32] - - '@rollup/rollup-win32-ia32-msvc@4.17.2': - resolution: {integrity: sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ==} - cpu: [ia32] - os: [win32] - - '@rollup/rollup-win32-x64-msvc@4.17.2': - resolution: {integrity: sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w==} - cpu: [x64] - os: [win32] - - '@sentry-internal/tracing@7.111.0': - resolution: {integrity: sha512-CgXly8rsdu4loWVKi2RqpInH3C2cVBuaYsx4ZP5IJpzSinsUAMyyr3Pc0PZzCyoVpBBXGBGj/4HhFsY3q6Z0Vg==} - engines: {node: '>=8'} - - '@sentry-internal/tracing@7.113.0': - resolution: {integrity: sha512-8MDnYENRMnEfQjvN4gkFYFaaBSiMFSU/6SQZfY9pLI3V105z6JQ4D0PGMAUVowXilwNZVpKNYohE7XByuhEC7Q==} - engines: {node: '>=8'} - - '@sentry/babel-plugin-component-annotate@2.16.1': - resolution: {integrity: sha512-pJka66URsqQbk6hTs9H1XFpUeI0xxuqLYf9Dy5pRGNHSJMtfv91U+CaYSWt03aRRMGDXMduh62zAAY7Wf0HO+A==} - engines: {node: '>= 14'} - - '@sentry/bundler-plugin-core@2.16.1': - resolution: {integrity: sha512-n6z8Ts3T9HROLuY7tVEYpBKvS+P7+b8NdqxP7QBcwp2nuPUlN5Ola1ivFjk1p5a7wRYeN9zM8orGe4l2HeNfYA==} - engines: {node: '>= 14'} - - '@sentry/cli-darwin@2.31.2': - resolution: {integrity: sha512-BHA/JJXj1dlnoZQdK4efRCtHRnbBfzbIZUKAze7oRR1RfNqERI84BVUQeKateD3jWSJXQfEuclIShc61KOpbKw==} - engines: {node: '>=10'} - os: [darwin] - - '@sentry/cli-linux-arm64@2.31.2': - resolution: {integrity: sha512-FLVKkJ/rWvPy/ka7OrUdRW63a/z8HYI1Gt8Pr6rWs50hb7YJja8lM8IO10tYmcFE/tODICsnHO9HTeUg2g2d1w==} - engines: {node: '>=10'} - cpu: [arm64] - os: [linux, freebsd] - - '@sentry/cli-linux-arm@2.31.2': - resolution: {integrity: sha512-W8k5mGYYZz/I/OxZH65YAK7dCkQAl+wbuoASGOQjUy5VDgqH0QJ8kGJufXvFPM+f3ZQGcKAnVsZ6tFqZXETBAw==} - engines: {node: '>=10'} - cpu: [arm] - os: [linux, freebsd] - - '@sentry/cli-linux-i686@2.31.2': - resolution: {integrity: sha512-A64QtzaPi3MYFpZ+Fwmi0mrSyXgeLJ0cWr4jdeTGrzNpeowSteKgd6tRKU+LVq0k5shKE7wdnHk+jXnoajulMA==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [linux, freebsd] - - '@sentry/cli-linux-x64@2.31.2': - resolution: {integrity: sha512-YL/r+15R4mOEiU3mzn7iFQOeFEUB6KxeKGTTrtpeOGynVUGIdq4nV5rHow5JDbIzOuBS3SpOmcIMluvo1NCh0g==} - engines: {node: '>=10'} - cpu: [x64] - os: [linux, freebsd] - - '@sentry/cli-win32-i686@2.31.2': - resolution: {integrity: sha512-Az/2bmW+TFI059RE0mSBIxTBcoShIclz7BDebmIoCkZ+retrwAzpmBnBCDAHow+Yi43utOow+3/4idGa2OxcLw==} - engines: {node: '>=10'} - cpu: [x86, ia32] - os: [win32] - - '@sentry/cli-win32-x64@2.31.2': - resolution: {integrity: sha512-XIzyRnJu539NhpFa+JYkotzVwv3NrZ/4GfHB/JWA2zReRvsk39jJG8D5HOmm0B9JA63QQT7Dt39RW8g3lkmb6w==} - engines: {node: '>=10'} - cpu: [x64] - os: [win32] - - '@sentry/cli@2.31.2': - resolution: {integrity: sha512-2aKyUx6La2P+pplL8+2vO67qJ+c1C79KYWAyQBE0JIT5kvKK9JpwtdNoK1F0/2mRpwhhYPADCz3sVIRqmL8cQQ==} - engines: {node: '>= 10'} - hasBin: true - - '@sentry/core@7.111.0': - resolution: {integrity: sha512-/ljeMjZu8CSrLGrseBi/7S2zRIFsqMcvfyG6Nwgfc07J9nbHt8/MqouE1bXZfiaILqDBpK7BK9MLAAph4mkAWg==} - engines: {node: '>=8'} - - '@sentry/core@7.113.0': - resolution: {integrity: sha512-pg75y3C5PG2+ur27A0Re37YTCEnX0liiEU7EOxWDGutH17x3ySwlYqLQmZsFZTSnvzv7t3MGsNZ8nT5O0746YA==} - engines: {node: '>=8'} - - '@sentry/esbuild-plugin@2.16.1': - resolution: {integrity: sha512-xwkuDKxNfEL8hMjlD/ByjmTeC1QiLULTsmdiYFjlz9HcYUtjU175V+cmOKqWrXAg/j3DmPZM9zNS9sdg3E7oVg==} - engines: {node: '>= 14'} - - '@sentry/integrations@7.113.0': - resolution: {integrity: sha512-w0sspGBQ+6+V/9bgCkpuM3CGwTYoQEVeTW6iNebFKbtN7MrM3XsGAM9I2cW1jVxFZROqCBPFtd2cs5n0j14aAg==} - engines: {node: '>=8'} - - '@sentry/node@7.111.0': - resolution: {integrity: sha512-bTLZNETT7W89HEk04rwsch02KSpu++Yec/BEyM3AxUNY+ZQ9ZLL/lrNZuCwbe7fURpKoZrvGAhxpPjgs5UcB9w==} - engines: {node: '>=8'} - - '@sentry/node@7.113.0': - resolution: {integrity: sha512-Vam4Ia0I9fhVw8GJOzcLP7MiiHJSKl8L9LzLMMLG3+2/dFnDQOyS7sOfk3GqgpwzqPiusP9vFu7CFSX7EMQbTg==} - engines: {node: '>=8'} - - '@sentry/profiling-node@7.113.0': - resolution: {integrity: sha512-ABEBLNaFwKIDZHPmvlFPCyrhdKkFRYyGeTijKuQ/fU0q81CCNnh+FJphfJTh9Js1afJ9ShFxk2KZNGzipyo8Zw==} - engines: {node: '>=8.0.0'} - hasBin: true - - '@sentry/types@7.111.0': - resolution: {integrity: sha512-Oti4pgQ55+FBHKKcHGu51ZUxO1u52G5iVNK4mbtAN+5ArSCy/2s1H8IDJiOMswn3acfUnCR0oB/QsbEgAPZ26g==} - engines: {node: '>=8'} - - '@sentry/types@7.113.0': - resolution: {integrity: sha512-PJbTbvkcPu/LuRwwXB1He8m+GjDDLKBtu3lWg5xOZaF5IRdXQU2xwtdXXsjge4PZR00tF7MO7X8ZynTgWbYaew==} - engines: {node: '>=8'} - - '@sentry/utils@7.111.0': - resolution: {integrity: sha512-CB5rz1EgCSwj3xoXogsCZ5pQtfERrURc/ItcCuoaijUhkD0iMq5MCNWMHW3mBsBrqx/Oba+XGvDu0t/5+SWwBg==} - engines: {node: '>=8'} - - '@sentry/utils@7.113.0': - resolution: {integrity: sha512-nzKsErwmze1mmEsbW2AwL2oB+I5v6cDEJY4sdfLekA4qZbYZ8pV5iWza6IRl4XfzGTE1qpkZmEjPU9eyo0yvYw==} - engines: {node: '>=8'} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - '@types/debug@4.1.12': - resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} - - '@types/estree@1.0.5': - resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/ms@0.7.34': - resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - - '@types/node@20.12.11': - resolution: {integrity: sha512-vDg9PZ/zi+Nqp6boSOT7plNuthRugEKixDv5sFTIpkE89MmNtEArAShI4mxuX2+UrLEe9pxC1vm2cjm9YlWbJw==} - - '@types/pg@8.11.6': - resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/validator@13.11.9': - resolution: {integrity: sha512-FCTsikRozryfayPuiI46QzH3fnrOoctTjvOYZkho9BTFLCOZ2rgZJHMOVgCOfttjPJcgOx52EpkY0CMfy87MIw==} - - '@typescript-eslint/eslint-plugin@7.8.0': - resolution: {integrity: sha512-gFTT+ezJmkwutUPmB0skOj3GZJtlEGnlssems4AjkVweUPGj7jRwwqg0Hhg7++kPGJqKtTYx+R05Ftww372aIg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - '@typescript-eslint/parser': ^7.0.0 - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@7.8.0': - resolution: {integrity: sha512-KgKQly1pv0l4ltcftP59uQZCi4HUYswCLbTqVZEJu7uLX8CTLyswqMLqLN+2QFz4jCptqWVV4SB7vdxcH2+0kQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@7.8.0': - resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/type-utils@7.8.0': - resolution: {integrity: sha512-H70R3AefQDQpz9mGv13Uhi121FNMh+WEaRqcXTX09YEDky21km4dV1ZXJIp8QjXc4ZaVkXVdohvWDzbnbHDS+A==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@7.8.0': - resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@typescript-eslint/typescript-estree@7.8.0': - resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@7.8.0': - resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - - '@typescript-eslint/visitor-keys@7.8.0': - resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} - engines: {node: ^18.18.0 || >=20.0.0} - - '@vitest/coverage-v8@1.6.0': - resolution: {integrity: sha512-KvapcbMY/8GYIG0rlwwOKCVNRc0OL20rrhFkg/CHNzncV03TE2XWvO5w9uZYoxNiMEBacAJt3unSOiZ7svePew==} - peerDependencies: - vitest: 1.6.0 - - '@vitest/expect@1.6.0': - resolution: {integrity: sha512-ixEvFVQjycy/oNgHjqsL6AZCDduC+tflRluaHIzKIsdbzkLn2U/iBnVeJwB6HsIjQBdfMR8Z0tRxKUsvFJEeWQ==} - - '@vitest/runner@1.6.0': - resolution: {integrity: sha512-P4xgwPjwesuBiHisAVz/LSSZtDjOTPYZVmNAnpHHSR6ONrf8eCJOFRvUwdHn30F5M1fxhqtl7QZQUk2dprIXAg==} - - '@vitest/snapshot@1.6.0': - resolution: {integrity: sha512-+Hx43f8Chus+DCmygqqfetcAZrDJwvTj0ymqjQq4CvmpKFSTVteEOBzCusu1x2tt4OJcvBflyHUE0DZSLgEMtQ==} - - '@vitest/spy@1.6.0': - resolution: {integrity: sha512-leUTap6B/cqi/bQkXUu6bQV5TZPx7pmMBKBQiI0rJA8c3pB56ZsaTbREnF7CJfmvAS4V2cXIBAh/3rVwrrCYgw==} - - '@vitest/utils@1.6.0': - resolution: {integrity: sha512-21cPiuGMoMZwiOHa2i4LXkMkMkCGzA+MVFV70jRwHo95dL4x/ts5GZhML1QWuy7yfp3WzK3lRvZi3JnXTYqrBw==} - - abort-controller@3.0.0: - resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} - engines: {node: '>=6.5'} - - abstract-logging@2.0.1: - resolution: {integrity: sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv-formats@3.0.1: - resolution: {integrity: sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.13.0: - resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - archy@1.0.0: - resolution: {integrity: sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw==} - - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - - atomic-sleep@1.0.0: - resolution: {integrity: sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==} - engines: {node: '>=8.0.0'} - - avvio@8.3.0: - resolution: {integrity: sha512-VBVH0jubFr9LdFASy/vNtm5giTrnbVquWBhT0fyizuNK2rQ7e7ONU2plZQWUNqtE1EmxFEb+kbSkFRkstiaS9Q==} - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - boolean@3.2.0: - resolution: {integrity: sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - - cac@6.7.14: - resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} - engines: {node: '>=8'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camelcase@7.0.1: - resolution: {integrity: sha512-xlx1yCK2Oc1APsPXDL2LdlNP6+uu8OCDdhOBSVT279M/S+y75O30C2VuD8T2ogdePBBl7PfPF4504tnLgX3zfw==} - engines: {node: '>=14.16'} - - caniuse-lite@1.0.30001617: - resolution: {integrity: sha512-mLyjzNI9I+Pix8zwcrpxEbGlfqOkF9kM3ptzmKNw5tizSyYwMe+nGLTqMK9cO+0E+Bh6TsBxNAaHWEM8xwSsmA==} - - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - cli-color@2.0.4: - resolution: {integrity: sha512-zlnpg0jNcibNrO7GG9IeHH7maWFeCz+Ja1wx/7tZNU5ASSSSZ+/qZciM0/LHCYxSdqv5h2sdbQ/PXYdOuetXvA==} - engines: {node: '>=0.10'} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - confbox@0.1.7: - resolution: {integrity: sha512-uJcB/FKZtBMCJpK8MQji6bJHgu1tixKPxRLeGkNzBoOZzpnZUJm0jm2/sBDWcuBx1dYgxV4JU+g5hmNxCyAmdA==} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - d@1.0.2: - resolution: {integrity: sha512-MOqHvMWF9/9MX6nza0KgvFH4HpMU0EF5uUDXqX/BtxtU8NfB0QzRtJ8Oe/6SuS4kbhyzVJwjd97EA4PKrzJ8bw==} - engines: {node: '>=0.12'} - - dateformat@4.6.3: - resolution: {integrity: sha512-2P0p0pFGzHS5EMnhdxQi7aJN+iMheud0UhG4dlE1DLAlvL8JHjJJTX/CSm4JXwV0Ka5nGk3zC5mcb5bUQUxxMA==} - - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} - engines: {node: '>=8'} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - difflib@0.2.4: - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - - dottie@2.0.6: - resolution: {integrity: sha512-iGCHkfUc5kFekGiqhe8B/mdaurD+lakO9txNnTvKtA6PISrw86LgqHvRzWYPyoE2Ph5aMIrCw9/uko6XHTKCwA==} - - dreamopt@0.8.0: - resolution: {integrity: sha512-vyJTp8+mC+G+5dfgsY+r3ckxlz+QMX40VjPQsZc5gxVAxLmi64TBoVkP54A/pRAXMXsbu2GMMBrZPxNv23waMg==} - engines: {node: '>=0.4.0'} - - drizzle-kit@0.20.18: - resolution: {integrity: sha512-fLTwcnLqtBxGd+51H/dEm9TC0FW6+cIX/RVPyNcitBO77X9+nkogEfMAJebpd/8Yl4KucmePHRYRWWvUlW0rqg==} - hasBin: true - - drizzle-orm@0.30.10: - resolution: {integrity: sha512-IRy/QmMWw9lAQHpwbUh1b8fcn27S/a9zMIzqea1WNOxK9/4EB8gIo+FZWLiPXzl2n9ixGSv8BhsLZiOppWEwBw==} - peerDependencies: - '@aws-sdk/client-rds-data': '>=3' - '@cloudflare/workers-types': '>=3' - '@electric-sql/pglite': '>=0.1.1' - '@libsql/client': '*' - '@neondatabase/serverless': '>=0.1' - '@op-engineering/op-sqlite': '>=2' - '@opentelemetry/api': ^1.4.1 - '@planetscale/database': '>=1' - '@types/better-sqlite3': '*' - '@types/pg': '*' - '@types/react': '>=18' - '@types/sql.js': '*' - '@vercel/postgres': '>=0.8.0' - '@xata.io/client': '*' - better-sqlite3: '>=7' - bun-types: '*' - expo-sqlite: '>=13.2.0' - knex: '*' - kysely: '*' - mysql2: '>=2' - pg: '>=8' - postgres: '>=3' - react: '>=18' - sql.js: '>=1' - sqlite3: '>=5' - peerDependenciesMeta: - '@aws-sdk/client-rds-data': - optional: true - '@cloudflare/workers-types': - optional: true - '@electric-sql/pglite': - optional: true - '@libsql/client': - optional: true - '@neondatabase/serverless': - optional: true - '@op-engineering/op-sqlite': - optional: true - '@opentelemetry/api': - optional: true - '@planetscale/database': - optional: true - '@types/better-sqlite3': - optional: true - '@types/pg': - optional: true - '@types/react': - optional: true - '@types/sql.js': - optional: true - '@vercel/postgres': - optional: true - '@xata.io/client': - optional: true - better-sqlite3: - optional: true - bun-types: - optional: true - expo-sqlite: - optional: true - knex: - optional: true - kysely: - optional: true - mysql2: - optional: true - pg: - optional: true - postgres: - optional: true - react: - optional: true - sql.js: - optional: true - sqlite3: - optional: true - - electron-to-chromium@1.4.763: - resolution: {integrity: sha512-k4J8NrtJ9QrvHLRo8Q18OncqBCB7tIUyqxRcJnlonQ0ioHKYB988GcDFF3ZePmnb8eHEopDs/wPHR/iGAFgoUQ==} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - env-paths@3.0.0: - resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - es5-ext@0.10.64: - resolution: {integrity: sha512-p2snDhiLaXe6dahss1LddxqEm+SkuDvV8dnIQG0MWjyHpcMNfXKPE+/Cc0y+PhxJX3A4xGNeFCj5oc0BUh6deg==} - engines: {node: '>=0.10'} - - es6-iterator@2.0.3: - resolution: {integrity: sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==} - - es6-symbol@3.1.4: - resolution: {integrity: sha512-U9bFFjX8tFiATgtkJ1zg25+KviIXpgRvRHS8sau3GfhVzThRQrOeksPeT0BWW2MNZs1OEWJ1DPXOQMn0KKRkvg==} - engines: {node: '>=0.12'} - - es6-weak-map@2.0.3: - resolution: {integrity: sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==} - - esbuild-register@3.5.0: - resolution: {integrity: sha512-+4G/XmakeBAsvJuDugJvtyF1x+XJT4FMocynNpxrvEBViirpfUn2PgNpCHedfWhF4WokNsO/OvMKrmJOIJsI5A==} - peerDependencies: - esbuild: '>=0.12 <1' - - esbuild@0.18.20: - resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-plugin-prettier@5.1.3: - resolution: {integrity: sha512-C9GCVAs4Eq7ZC/XFQHITLiHJxQngdtraXaM+LoUFoFp/lHNl2Zn8f3WQbe9HvTBBQ9YnKFB0/2Ajdqwo5D1EAw==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - '@types/eslint': '>=8.0.0' - eslint: '>=8.0.0' - eslint-config-prettier: '*' - prettier: '>=3.0.0' - peerDependenciesMeta: - '@types/eslint': - optional: true - eslint-config-prettier: - optional: true - - eslint-scope@8.0.1: - resolution: {integrity: sha512-pL8XjgP4ZOmmwfFE8mEhSxA7ZY4C+LWyqjQ3o4yWkkmD0qcMT9kkW3zWHOczhWcjTSgqycYAgwSlXvZltv65og==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@4.0.0: - resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - eslint@9.2.0: - resolution: {integrity: sha512-0n/I88vZpCOzO+PQpt0lbsqmn9AsnsJAQseIqhZFI8ibQT0U1AkEKRxA3EVMos0BoHSXDQvCXY25TUjB5tr8Og==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - hasBin: true - - esniff@2.0.1: - resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} - engines: {node: '>=0.10'} - - espree@10.0.1: - resolution: {integrity: sha512-MWkrWZbJsL2UwnjxTX3gG8FneachS/Mwg7tdGXce011sJd5b0JG54vat5KHnfSBODZ3Wvzd2WnjxyzsRoVv+ww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - estree-walker@3.0.3: - resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - event-emitter@0.3.5: - resolution: {integrity: sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA==} - - event-target-shim@5.0.1: - resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==} - engines: {node: '>=6'} - - events@3.3.0: - resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} - engines: {node: '>=0.8.x'} - - execa@8.0.1: - resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} - engines: {node: '>=16.17'} - - ext@1.7.0: - resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==} - - fast-content-type-parse@1.1.0: - resolution: {integrity: sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==} - - fast-copy@3.0.2: - resolution: {integrity: sha512-dl0O9Vhju8IrcLndv2eU4ldt1ftXMqqfgN4H1cpmGV7P6jeB9FwpN9a2c8DPGE1Ys88rNUJVYDHq73CGAGOPfQ==} - - fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-diff@1.3.0: - resolution: {integrity: sha512-VxPP4NqbUjj6MaAOafWeUn2cXWLcCtljklUtZf0Ind4XQ+QPtmA0b18zZy0jIQx+ExRVCR/ZQpBmik5lXshNsw==} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-json-stringify@5.15.1: - resolution: {integrity: sha512-JopGtkvvguRqrS4gHXSSA2jf4pDgOZkeBAkLO1LbzOpiOMo7/kugoR+KiWifpLpluaVeYDkAuxCJOj4Gyc6L9A==} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-printf@1.6.9: - resolution: {integrity: sha512-FChq8hbz65WMj4rstcQsFB0O7Cy++nmbNfLYnD9cYv2cRn8EG6k/MGn9kO/tjO66t09DLDugj3yL+V2o6Qftrg==} - engines: {node: '>=10.0'} - - fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - - fast-redact@3.5.0: - resolution: {integrity: sha512-dwsoQlS7h9hMeYUq1W++23NDcBLV4KqONnITDV9DjfS3q1SgDGVrBdvvTLUotWtPSD7asWDV9/CmsZPy8Hf70A==} - engines: {node: '>=6'} - - fast-safe-stringify@2.1.1: - resolution: {integrity: sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA==} - - fast-uri@2.3.0: - resolution: {integrity: sha512-eel5UKGn369gGEWOqBShmFJWfq/xSJvsgDzgLYC845GneayWvXBf0lJCBn5qTABfewy1ZDPoaR5OZCP+kssfuw==} - - fastify-plugin@4.5.1: - resolution: {integrity: sha512-stRHYGeuqpEZTL1Ef0Ovr2ltazUT9g844X5z/zEBFLG8RYlpDiOCIG+ATvYEp+/zmc7sN29mcIMp8gvYplYPIQ==} - - fastify@4.27.0: - resolution: {integrity: sha512-ci9IXzbigB8dyi0mSy3faa3Bsj0xWAPb9JeT4KRzubdSb6pNhcADRUaXCBml6V1Ss/a05kbtQls5LBmhHydoTA==} - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - - file-entry-cache@8.0.0: - resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} - engines: {node: '>=16.0.0'} - - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - - find-my-way@8.2.0: - resolution: {integrity: sha512-HdWXgFYc6b1BJcOBDBwjqWuHJj1WYiqrxSh25qtU4DabpMFdj/gSunNBQb83t+8Zt67D7CXEzJWTkxaShMTMOA==} - engines: {node: '>=14'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@4.0.1: - resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} - engines: {node: '>=16'} - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - - get-stack-trace@3.1.1: - resolution: {integrity: sha512-E1rM+umbm9MlMp6zNSap+UI8VVWWmAoUxiAHp1Ron1FV2dM99mgMAHS1tGAGO/ceBjgOXz24GC47aLeNN1llrA==} - engines: {node: '>=18.0'} - - get-stream@8.0.1: - resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} - engines: {node: '>=16'} - - get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - - glob@9.3.5: - resolution: {integrity: sha512-e1LleDykUz2Iu+MTYdkSsuWX8lvAjAcs0Xef0lNIu0S2wOAzuTxCJtcd9S3cijlwYF18EsU3rzb8jPVobxDh9Q==} - engines: {node: '>=16 || 14 >=14.17'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@14.0.0: - resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} - engines: {node: '>=18'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - hanji@0.0.5: - resolution: {integrity: sha512-Abxw1Lq+TnYiL4BueXqMau222fPSPMFtya8HdpWsz/xVAhifXou71mPh/kY2+08RgFcVccjG3uZHs6K5HAe3zw==} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - - help-me@5.0.0: - resolution: {integrity: sha512-7xgomUX6ADmcYzFik0HzAxh/73YlKR9bmFzf51CZwR+b6YtzU2m0u49hQCqV6SvlqIqsaxovfwdvbnsw3b/zpg==} - - hono@4.3.4: - resolution: {integrity: sha512-oh+PBwW8yElj3bUlY2dTXhuPt1MCZp6Nb04tejLwY+GXdphQH6uCpUP0dY5iLvFY5wM8fNHrMx1QeMKbhnzw9w==} - engines: {node: '>=16.0.0'} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - human-signals@5.0.0: - resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} - engines: {node: '>=16.17.0'} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - - immediate@3.0.6: - resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - inflection@1.13.4: - resolution: {integrity: sha512-6I/HUDeYFfuNCVS3td055BaXBwKYuzw7K3ExVMStBowKo9oOAMJIXIHvdyR3iboTCp1b+1i5DSkIZTcwIktuDw==} - engines: {'0': node >= 0.4.0} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-promise@2.2.2: - resolution: {integrity: sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==} - - is-stream@3.0.0: - resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - iso8601-duration@1.3.0: - resolution: {integrity: sha512-K4CiUBzo3YeWk76FuET/dQPH03WE04R94feo5TSKQCXpoXQt9E4yx2CnY737QZnSAI3PI4WlKo/zfqizGx52QQ==} - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@5.0.4: - resolution: {integrity: sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-tokens@9.0.0: - resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==} - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-diff@0.9.0: - resolution: {integrity: sha512-cVnggDrVkAAA3OvFfHpFEhOnmcsUpleEKq4d4O8sQWWSH40MBrWstKigVB1kGrgLWzuom+7rRdaCsnBD6VyObQ==} - hasBin: true - - json-parse-even-better-errors@3.0.2: - resolution: {integrity: sha512-fi0NG4bPjCHunUJffmLd0gxssIgkNmArMvis4iNah6Owg1MCJjWhEcDLmsK6iGkJq3tHwbDkTlce70/tmXN4cQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - json-schema-ref-resolver@1.0.1: - resolution: {integrity: sha512-EJAj1pgHc1hxF6vo2Z3s69fMjO1INq6eGHXZ8Z6wCQeldCuwxGK9Sxf4/cScGn3FZubCVUehfWtcDM/PLteCQw==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lie@3.1.1: - resolution: {integrity: sha512-RiNhHysUjhrDQntfYSfY4MU24coXXdEOgw9WGcKHNeEwffDYbF//u87M1EWaMGzuFoSbqW0C9C6lEEhDOAswfw==} - - light-my-request@5.13.0: - resolution: {integrity: sha512-9IjUN9ZyCS9pTG+KqTDEQo68Sui2lHsYBrfMyVUTTZ3XhH8PMZq7xO94Kr+eP9dhi/kcKsx4N41p2IXEBil1pQ==} - - local-pkg@0.5.0: - resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} - engines: {node: '>=14'} - - localforage@1.10.0: - resolution: {integrity: sha512-14/H1aX7hzBBmmh7sGPd+AOMkkIrHM3Z1PAyGgZigA1H1p5O5ANnMyWzvpAETtG68/dC4pC0ncy3+PPGzXZHPg==} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.throttle@4.1.1: - resolution: {integrity: sha512-wIkUCfVKpVsWo3JSZlc+8MB5it+2AN5W8J7YVMST30UrvcQNZ1Okbj+rbVniijTWE6FGYy4XJq/rHkas8qJMLQ==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - - lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} - engines: {node: 14 || >=16.14} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - - lru-queue@0.1.0: - resolution: {integrity: sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ==} - - magic-string@0.30.10: - resolution: {integrity: sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ==} - - magic-string@0.30.8: - resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} - engines: {node: '>=12'} - - magicast@0.3.4: - resolution: {integrity: sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==} - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memoizee@0.4.15: - resolution: {integrity: sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ==} - - memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mimic-fn@4.0.0: - resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} - engines: {node: '>=12'} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@7.4.6: - resolution: {integrity: sha512-sBz8G/YjVniEz6lKPNpKxXwazJe4c19fEfV2GDMX6AjFz+MX9uDWIZW8XreVhkFW3fkIdTv/gxWr/Kks5FFAVw==} - engines: {node: '>=10'} - - minimatch@8.0.4: - resolution: {integrity: sha512-W0Wvr9HyFXZRGIDgCicunpQ299OKXs9RgZfaukz4qAW/pJhcpUfupc9c+OObPOFueNy8VSrZgEmDtk6Kh4WzDA==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@4.2.8: - resolution: {integrity: sha512-fNzuVyifolSLFL4NzpF+wEF4qrgqaaKX0haXPQEdQ7NKAN+WecoKMHV09YcuL/DHxrUsYQOK3MiuDf7Ip2OXfQ==} - engines: {node: '>=8'} - - minipass@7.1.1: - resolution: {integrity: sha512-UZ7eQ+h8ywIRAW1hIEl2AqdwzJucU/Kp59+8kkZeSvafXhZjul247BvIJjEVFVeON6d7lM46XX1HXCduKAS8VA==} - engines: {node: '>=16 || 14 >=14.17'} - - mlly@1.7.0: - resolution: {integrity: sha512-U9SDaXGEREBYQgfejV97coK0UL1r+qnF2SyO9A3qcI8MzKnsIFKHNVEkrDyNncQTKQQumsasmeq84eNMdBfsNQ==} - - moment-timezone@0.5.45: - resolution: {integrity: sha512-HIWmqA86KcmCAhnMAN0wuDOARV/525R2+lOLotuGFzn4HO+FH+/645z2wx0Dt3iDv6/p61SIvKnDstISainhLQ==} - - moment@2.30.1: - resolution: {integrity: sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - next-tick@1.1.0: - resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} - - node-abi@3.62.0: - resolution: {integrity: sha512-CPMcGa+y33xuL1E0TcNIu4YyaZCxnnvkVaEXrsosR3FxN+fV8xvb7Mzpb7IgKler10qeMkE6+Dp8qJhpzdq35g==} - engines: {node: '>=10'} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-normalize-package-bin@3.0.1: - resolution: {integrity: sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - npm-run-all2@6.1.2: - resolution: {integrity: sha512-WwwnS8Ft+RpXve6T2EIEVpFLSqN+ORHRvgNk3H9N62SZXjmzKoRhMFg3I17TK3oMaAEr+XFbRirWS2Fn3BCPSg==} - engines: {node: ^14.18.0 || >=16.0.0, npm: '>= 8'} - hasBin: true - - npm-run-path@5.3.0: - resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - on-exit-leak-free@2.1.2: - resolution: {integrity: sha512-0eJJY6hXLGf1udHwfNftBqH+g73EU4B504nZeKpz1sYRKafAghwxEJunB2O7rDZkL4PGfsMVnTXZ2EjibbqcsA==} - engines: {node: '>=14.0.0'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@6.0.0: - resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} - engines: {node: '>=12'} - - optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} - engines: {node: '>= 0.8.0'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-limit@5.0.0: - resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} - engines: {node: '>=18'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-key@4.0.0: - resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} - engines: {node: '>=12'} - - path-scurry@1.11.0: - resolution: {integrity: sha512-LNHTaVkzaYaLGlO+0u3rQTz7QrHTFOuKyba9JMTQutkmtNew8dw8wOD7mTU/5fCPZzCWpfW0XnQKzY61P0aTaw==} - engines: {node: '>=16 || 14 >=14.17'} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - pathe@1.1.2: - resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} - - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - - pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - - pg-cursor@2.10.5: - resolution: {integrity: sha512-wzgmyk+k9mwuYe30ylLA6qRWw2TBFSee4Bw23oTz66YL9RdRJjDi2TaROMMF+V3QB6QWB3FFCju22loDftjKkw==} - peerDependencies: - pg: ^8 - - pg-hstore@2.3.4: - resolution: {integrity: sha512-N3SGs/Rf+xA1M2/n0JBiXFDVMzdekwLZLAO0g7mpDY9ouX+fDI7jS6kTq3JujmYbtNSJ53TJ0q4G98KVZSM4EA==} - engines: {node: '>= 0.8.x'} - - pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - pg-pool@3.6.2: - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' - - pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} - - pg-query-stream@4.5.5: - resolution: {integrity: sha512-mBGxVdiR9O6SdkOcXBoZuxtHUQ0nSFIWcFauGMUteko+9rZcu97vE15JX/w8pdijQ+diLbiw8ijpV/V+VCUUtA==} - peerDependencies: - pg: ^8 - - pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - - pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - - pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true - - pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pidtree@0.6.0: - resolution: {integrity: sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==} - engines: {node: '>=0.10'} - hasBin: true - - pino-abstract-transport@1.2.0: - resolution: {integrity: sha512-Guhh8EZfPCfH+PMXAb6rKOjGQEoy0xlAIn+irODG5kgfYV+BQ0rGYYWTIel3P5mmyXqkYkPmdIkywsn6QKUR1Q==} - - pino-pretty@11.0.0: - resolution: {integrity: sha512-YFJZqw59mHIY72wBnBs7XhLGG6qpJMa4pEQTRgEPEbjIYbng2LXEZZF1DoyDg9CfejEy8uZCyzpcBXXG0oOCwQ==} - hasBin: true - - pino-std-serializers@6.2.2: - resolution: {integrity: sha512-cHjPPsE+vhj/tnhCy/wiMh3M3z3h/j15zHQX+S9GkTBgqJuTuJzYJ4gUyACLhDaJ7kk9ba9iRDmbH2tJU03OiA==} - - pino@8.20.0: - resolution: {integrity: sha512-uhIfMj5TVp+WynVASaVEJFTncTUe4dHBq6CWplu/vBgvGHhvBvQfxz+vcOrnnBQdORH3izaGEurLfNlq3YxdFQ==} - hasBin: true - - pino@8.21.0: - resolution: {integrity: sha512-ip4qdzjkAyDDZklUaZkcRFb2iA118H9SgRh8yzTkSQK8HilsOJF7rSY8HoW5+I0M46AZgX/pxbprf2vvzQCE0Q==} - hasBin: true - - pino@9.0.0: - resolution: {integrity: sha512-uI1ThkzTShNSwvsUM6b4ND8ANzWURk9zTELMztFkmnCQeR/4wkomJ+echHee5GMWGovoSfjwdeu80DsFIt7mbA==} - hasBin: true - - pkg-types@1.1.1: - resolution: {integrity: sha512-ko14TjmDuQJ14zsotODv7dBlwxKhUKQEhuhmbqo1uCi9BB0Z2alo/wAXg6q1dTR5TyuqYyWhjtfe/Tsh+X28jQ==} - - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - - postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - - postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - - postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - postgres-interval@4.0.2: - resolution: {integrity: sha512-EMsphSQ1YkQqKZL2cuG0zHkmjCCzQqQ71l2GXITqRwjhRleCdv00bDk/ktaSi0LnlaPzAc3535KTrjXsTdtx7A==} - engines: {node: '>=12'} - - postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-linter-helpers@1.0.0: - resolution: {integrity: sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==} - engines: {node: '>=6.0.0'} - - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - process-warning@3.0.0: - resolution: {integrity: sha512-mqn0kFRl0EoqhnL0GQ0veqFHyIN1yig9RHh/InzORTUiZHFRAur+aMtRkELNwGs9aNwKS6tg/An4NYBPGwvtzQ==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - progress@2.0.3: - resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} - engines: {node: '>=0.4.0'} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quick-format-unescaped@4.0.4: - resolution: {integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==} - - react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} - - read-package-json-fast@3.0.2: - resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - readable-stream@4.5.2: - resolution: {integrity: sha512-yjavECdqeZ3GLXNgRXgeQEdz9fvDDkNKyHnbHRFtOr7/LcfgBcmct7t/ET+HaCTqfh06OzoAxrkN/IfjJBVe+g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - real-require@0.2.0: - resolution: {integrity: sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==} - engines: {node: '>= 12.13.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - ret@0.4.3: - resolution: {integrity: sha512-0f4Memo5QP7WQyUEAYUO3esD/XjOc3Zjjg5CPsAq1p8sIu0XPeMbHJemKA0BO7tV0X7+A0FoEpbmHXWxPyD3wQ==} - engines: {node: '>=10'} - - retry-as-promised@7.0.4: - resolution: {integrity: sha512-XgmCoxKWkDofwH8WddD0w85ZfqYz+ZHlr5yo+3YUCfycWawU56T5ckWXsScsj5B8tqUcIG67DxXByo3VUgiAdA==} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - - roarr@7.21.1: - resolution: {integrity: sha512-3niqt5bXFY1InKU8HKWqqYTYjtrBaxBMnXELXCXUYgtNYGUtZM5rB46HIC430AyacL95iEniGf7RgqsesykLmQ==} - engines: {node: '>=18.0'} - - rollup@4.17.2: - resolution: {integrity: sha512-/9ClTJPByC0U4zNLowV1tMBe8yMEAxewtR3cUNX5BoEpGH3dQEWpJLr6CLp0fPdYRF/fzVOgvDb1zXuakwF5kQ==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex2@3.1.0: - resolution: {integrity: sha512-RAAZAGbap2kBfbVhvmnTFv73NWLMvDGOITFYTZBAaY8eR+Ir4ef7Up/e7amo+y1+AH+3PtLkrt9mvcTsG9LXug==} - - safe-stable-stringify@2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} - engines: {node: '>=10'} - - secure-json-parse@2.7.0: - resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} - - semver-compare@1.0.0: - resolution: {integrity: sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==} - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - - semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} - engines: {node: '>=10'} - hasBin: true - - sequelize-pool@7.1.0: - resolution: {integrity: sha512-G9c0qlIWQSK29pR/5U2JF5dDQeqqHRragoyahj/Nx4KOOQ3CPPfzxnfqFPCSB7x5UgjOgnZ61nSxz+fjDpRlJg==} - engines: {node: '>= 10.0.0'} - - sequelize@6.37.3: - resolution: {integrity: sha512-V2FTqYpdZjPy3VQrZvjTPnOoLm0KudCRXfGWp48QwhyPPp2yW8z0p0sCYZd/em847Tl2dVxJJ1DR+hF+O77T7A==} - engines: {node: '>=10.0.0'} - peerDependencies: - ibm_db: '*' - mariadb: '*' - mysql2: '*' - oracledb: '*' - pg: '*' - pg-hstore: '*' - snowflake-sdk: '*' - sqlite3: '*' - tedious: '*' - peerDependenciesMeta: - ibm_db: - optional: true - mariadb: - optional: true - mysql2: - optional: true - oracledb: - optional: true - pg: - optional: true - pg-hstore: - optional: true - snowflake-sdk: - optional: true - sqlite3: - optional: true - tedious: - optional: true - - serialize-error@8.1.0: - resolution: {integrity: sha512-3NnuWfM6vBYoy5gZFvHiYsVbafvI9vZv/+jlIigFn4oP4zjNPK3LhcY0xSCgeb1a5L8jO71Mit9LlNoi2UfDDQ==} - engines: {node: '>=10'} - - set-cookie-parser@2.6.0: - resolution: {integrity: sha512-RVnVQxTXuerk653XfuliOxBP81Sf0+qfQE73LIYKcyMYHG94AuH0kgrQpRDuTZnSmjpysHmzxJXKNfa6PjFhyQ==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - - short-unique-id@5.0.3: - resolution: {integrity: sha512-yhniEILouC0s4lpH0h7rJsfylZdca10W9mDJRAFh3EpcSUanCHGb0R7kcFOIUCZYSAPo0PUD5ZxWQdW0T4xaug==} - hasBin: true - - short-unique-id@5.2.0: - resolution: {integrity: sha512-cMGfwNyfDZ/nzJ2k2M+ClthBIh//GlZl1JEf47Uoa9XR11bz8Pa2T2wQO4bVrRdH48LrIDWJahQziKo3MjhsWg==} - hasBin: true - - siginfo@2.0.0: - resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slonik@40.2.6: - resolution: {integrity: sha512-FzgNQ4O76ZMwnaI/AUNF/CVgpKjTRdG8pxz23b3n5wTdJYXAeQtBqGqedULNeNSk9+4uy0PgyGsGG14Dc1I89w==} - engines: {node: '>=18'} - peerDependencies: - zod: ^3 - - sonic-boom@3.8.1: - resolution: {integrity: sha512-y4Z8LCDBuum+PBP3lSV7RHrXscqksve/bi0as7mhwVnBW+/wUqKT/2Kb7um8yqcFy0duYbbPxzt89Zy2nOCaxg==} - - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - stackback@0.0.2: - resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} - - stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - std-env@3.7.0: - resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} - - strict-event-emitter-types@2.0.0: - resolution: {integrity: sha512-Nk/brWYpD85WlOgzw5h173aci0Teyv8YdIAEtV+N88nDB0dLlazZyJMIsN6eo1/AR61l+p6CJTG1JIyFaoNEEA==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-final-newline@3.0.0: - resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} - engines: {node: '>=12'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strip-literal@2.1.0: - resolution: {integrity: sha512-Op+UycaUt/8FbN/Z2TWPBLge3jWrP3xj10f3fnYxf052bKuS3EKs1ZQcVGjnEMdsNVAM+plXRdmjrZ/KgG3Skw==} - - superjson@2.2.1: - resolution: {integrity: sha512-8iGv75BYOa0xRJHK5vRLEjE2H/i4lulTjzpUXic3Eg8akftYjkmQDa8JARQ42rlczXyFR3IeRoeFCc7RxHsYZA==} - engines: {node: '>=16'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - synckit@0.8.8: - resolution: {integrity: sha512-HwOKAP7Wc5aRGYdKH+dw0PRRpbO841v2DENBtjnR5HFWoiNByAl7vrx3p0G/rCyYXQsrxqtX48TImFtPcIHSpQ==} - engines: {node: ^14.18.0 || >=16.0.0} - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - thread-stream@2.6.0: - resolution: {integrity: sha512-t4eNiKdGwd1EV6tx76mRbrOqwvkxz+ssOiQXEXw88m4p/Xp6679vg16sf39BAstRjHOiWIqp5+J2ylHk3pU30g==} - - thread-stream@2.7.0: - resolution: {integrity: sha512-qQiRWsU/wvNolI6tbbCKd9iKaTnCXsTwVxhhKM6nctPdujTyztjlbUkUTUymidWcMnZ5pWR0ej4a0tjsW021vw==} - - timers-ext@0.1.7: - resolution: {integrity: sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ==} - - tinybench@2.8.0: - resolution: {integrity: sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==} - - tinypool@0.8.4: - resolution: {integrity: sha512-i11VH5gS6IFeLY3gMBQ00/MmLncVP7JLXOw1vlgkytLmJK7QnEr7NXf0LBdxfmNPAeyetukOk0bOYrJrFGjYJQ==} - engines: {node: '>=14.0.0'} - - tinyspy@2.2.1: - resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} - engines: {node: '>=14.0.0'} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toad-cache@3.7.0: - resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} - engines: {node: '>=12'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - toposort-class@1.0.1: - resolution: {integrity: sha512-OsLcGGbYF3rMjPUf8oKktyvCiUxSbqMMS39m33MAjLTC1DVIH6x3WSt63/M77ihI09+Sdfk1AXvfhCEeUmC7mg==} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - tsx@4.9.4: - resolution: {integrity: sha512-TlSJTVn2taGGDgdV3jAqCj7WQ/CafCB5p4SbG7W2Bl/0AJWH1ShJlBbc0y2lOFTjQEVAAULSTlmehw/Mwv3S/Q==} - engines: {node: '>=18.0.0'} - hasBin: true - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - type@2.7.2: - resolution: {integrity: sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw==} - - typescript-eslint@7.8.0: - resolution: {integrity: sha512-sheFG+/D8N/L7gC3WT0Q8sB97Nm573Yfr+vZFzl/4nBdYcmviBPtwGSX9TJ7wpVg28ocerKVOt+k2eGmHzcgVA==} - engines: {node: ^18.18.0 || >=20.0.0} - peerDependencies: - eslint: ^8.56.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - ufo@1.5.3: - resolution: {integrity: sha512-Y7HYmWaFwPUmkoQCUIAYpKqkOf+SbVj/2fJJZ4RJMCfZp0rTGwRbzQD+HghfnhKOjL9E01okqz+ncJskGYfBNw==} - - underscore@1.13.6: - resolution: {integrity: sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - unplugin@1.0.1: - resolution: {integrity: sha512-aqrHaVBWW1JVKBHmGo33T5TxeL0qWzfvjWokObHA9bYmN7eNDkwOxmLjhioHl9878qDFMAaT51XNroRyuz7WxA==} - - update-browserslist-db@1.0.15: - resolution: {integrity: sha512-K9HWH62x3/EalU1U6sjSZiylm9C8tgq2mSvshZpqc7QE69RaA2qjhkW2HlNA0tFpEbtyFz7HTqbSdN4MSwUodA==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - validator@13.11.0: - resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} - engines: {node: '>= 0.10'} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - vite-node@1.6.0: - resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - - vite@5.2.11: - resolution: {integrity: sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - - vitest@1.6.0: - resolution: {integrity: sha512-H5r/dN06swuFnzNFhq/dnz37bPXnq8xB2xB5JOVk8K09rUtoeNN+LHWkoQ0A/i3hvbUKKcCei9KpbxqHMLhLLA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@types/node': ^18.0.0 || >=20.0.0 - '@vitest/browser': 1.6.0 - '@vitest/ui': 1.6.0 - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@types/node': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - - webpack-virtual-modules@0.5.0: - resolution: {integrity: sha512-kyDivFZ7ZM0BVOUteVbDFhlRt7Ah/CSPwJdi8hBpkK7QLumUqdLtVfm/PX/hkcnrvr0i77fO5+TjZ94Pe+C9iw==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - why-is-node-running@2.2.2: - resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} - engines: {node: '>=8'} - hasBin: true - - wkx@0.5.0: - resolution: {integrity: sha512-Xng/d4Ichh8uN4l0FToV/258EjMGU9MGcA0HV2d9B/ZpZB3lqQm7nkOdZdm5GhKtLLhAE7PiVQwN4eN+2YJJUg==} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - - zod@3.22.5: - resolution: {integrity: sha512-HqnGsCdVZ2xc0qWPLdO25WnseXThh0kEYKIdV5F/hTHO75hNZFp8thxSeHhiPrHZKrFTo1SOgkAj9po5bexZlw==} - - zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - -snapshots: - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@babel/code-frame@7.24.2': - dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.0 - - '@babel/compat-data@7.24.4': {} - - '@babel/core@7.24.5': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) - '@babel/helpers': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - convert-source-map: 2.0.0 - debug: 4.3.4 - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/generator@7.24.5': - dependencies: - '@babel/types': 7.24.5 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-compilation-targets@7.23.6': - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-environment-visitor@7.22.20': {} - - '@babel/helper-function-name@7.23.0': - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.5 - - '@babel/helper-hoist-variables@7.22.5': - dependencies: - '@babel/types': 7.24.5 - - '@babel/helper-module-imports@7.24.3': - dependencies: - '@babel/types': 7.24.5 - - '@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5)': - dependencies: - '@babel/core': 7.24.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.24.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/helper-validator-identifier': 7.24.5 - - '@babel/helper-simple-access@7.24.5': - dependencies: - '@babel/types': 7.24.5 - - '@babel/helper-split-export-declaration@7.24.5': - dependencies: - '@babel/types': 7.24.5 - - '@babel/helper-string-parser@7.24.1': {} - - '@babel/helper-validator-identifier@7.24.5': {} - - '@babel/helper-validator-option@7.23.5': {} - - '@babel/helpers@7.24.5': - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - transitivePeerDependencies: - - supports-color - - '@babel/highlight@7.24.5': - dependencies: - '@babel/helper-validator-identifier': 7.24.5 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - - '@babel/parser@7.24.5': - dependencies: - '@babel/types': 7.24.5 - - '@babel/template@7.24.0': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - - '@babel/traverse@7.24.5': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - debug: 4.3.4 - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.24.5': - dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 - to-fast-properties: 2.0.0 - - '@bcoe/v8-coverage@0.2.3': {} - - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - - '@esbuild-kit/core-utils@3.3.2': - dependencies: - esbuild: 0.18.20 - source-map-support: 0.5.21 - - '@esbuild-kit/esm-loader@2.6.5': - dependencies: - '@esbuild-kit/core-utils': 3.3.2 - get-tsconfig: 4.7.5 - - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.20.2': - optional: true - - '@esbuild/android-arm64@0.18.20': - optional: true - - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.20.2': - optional: true - - '@esbuild/android-arm@0.18.20': - optional: true - - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-arm@0.20.2': - optional: true - - '@esbuild/android-x64@0.18.20': - optional: true - - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/android-x64@0.20.2': - optional: true - - '@esbuild/darwin-arm64@0.18.20': - optional: true - - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.20.2': - optional: true - - '@esbuild/darwin-x64@0.18.20': - optional: true - - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.20.2': - optional: true - - '@esbuild/freebsd-arm64@0.18.20': - optional: true - - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.20.2': - optional: true - - '@esbuild/freebsd-x64@0.18.20': - optional: true - - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.20.2': - optional: true - - '@esbuild/linux-arm64@0.18.20': - optional: true - - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.20.2': - optional: true - - '@esbuild/linux-arm@0.18.20': - optional: true - - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-arm@0.20.2': - optional: true - - '@esbuild/linux-ia32@0.18.20': - optional: true - - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.20.2': - optional: true - - '@esbuild/linux-loong64@0.18.20': - optional: true - - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.20.2': - optional: true - - '@esbuild/linux-mips64el@0.18.20': - optional: true - - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.20.2': - optional: true - - '@esbuild/linux-ppc64@0.18.20': - optional: true - - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.20.2': - optional: true - - '@esbuild/linux-riscv64@0.18.20': - optional: true - - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.20.2': - optional: true - - '@esbuild/linux-s390x@0.18.20': - optional: true - - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.20.2': - optional: true - - '@esbuild/linux-x64@0.18.20': - optional: true - - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/linux-x64@0.20.2': - optional: true - - '@esbuild/netbsd-x64@0.18.20': - optional: true - - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.20.2': - optional: true - - '@esbuild/openbsd-x64@0.18.20': - optional: true - - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.20.2': - optional: true - - '@esbuild/sunos-x64@0.18.20': - optional: true - - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.20.2': - optional: true - - '@esbuild/win32-arm64@0.18.20': - optional: true - - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.20.2': - optional: true - - '@esbuild/win32-ia32@0.18.20': - optional: true - - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.20.2': - optional: true - - '@esbuild/win32-x64@0.18.20': - optional: true - - '@esbuild/win32-x64@0.19.12': - optional: true - - '@esbuild/win32-x64@0.20.2': - optional: true - - '@eslint-community/eslint-utils@4.4.0(eslint@9.2.0)': - dependencies: - eslint: 9.2.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.10.0': {} - - '@eslint/eslintrc@3.0.2': - dependencies: - ajv: 6.12.6 - debug: 4.3.4 - espree: 10.0.1 - globals: 14.0.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@9.2.0': {} - - '@fastify/ajv-compiler@3.5.0': - dependencies: - ajv: 8.13.0 - ajv-formats: 2.1.1(ajv@8.13.0) - fast-uri: 2.3.0 - - '@fastify/error@3.4.1': {} - - '@fastify/fast-json-stringify-compiler@4.3.0': - dependencies: - fast-json-stringify: 5.15.1 - - '@fastify/merge-json-schemas@0.1.1': - dependencies: - fast-deep-equal: 3.1.3 - - '@fastify/sensible@5.5.0': - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - - '@fastify/sensible@5.6.0': - dependencies: - '@lukeed/ms': 2.0.2 - fast-deep-equal: 3.1.3 - fastify-plugin: 4.5.1 - forwarded: 0.2.0 - http-errors: 2.0.0 - type-is: 1.6.18 - vary: 1.1.2 - - '@hono/node-server@1.11.1': {} - - '@hono/zod-validator@0.2.1(hono@4.3.4)(zod@3.23.8)': - dependencies: - hono: 4.3.4 - zod: 3.23.8 - - '@humanwhocodes/config-array@0.13.0': - dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.4 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color - - '@humanwhocodes/module-importer@1.0.1': {} - - '@humanwhocodes/object-schema@2.0.3': {} - - '@humanwhocodes/retry@0.2.4': {} - - '@istanbuljs/schema@0.1.3': {} - - '@jest/schemas@29.6.3': - dependencies: - '@sinclair/typebox': 0.27.8 - - '@jridgewell/gen-mapping@0.3.5': - dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} - - '@jridgewell/sourcemap-codec@1.4.15': {} - - '@jridgewell/trace-mapping@0.3.25': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - '@jridgewell/trace-mapping@0.3.9': - dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - - '@lukeed/ms@2.0.2': {} - - '@nodelib/fs.scandir@2.1.5': - dependencies: - '@nodelib/fs.stat': 2.0.5 - run-parallel: 1.2.0 - - '@nodelib/fs.stat@2.0.5': {} - - '@nodelib/fs.walk@1.2.8': - dependencies: - '@nodelib/fs.scandir': 2.1.5 - fastq: 1.17.1 - - '@pkgr/core@0.1.1': {} - - '@rollup/rollup-android-arm-eabi@4.17.2': - optional: true - - '@rollup/rollup-android-arm64@4.17.2': - optional: true - - '@rollup/rollup-darwin-arm64@4.17.2': - optional: true - - '@rollup/rollup-darwin-x64@4.17.2': - optional: true - - '@rollup/rollup-linux-arm-gnueabihf@4.17.2': - optional: true - - '@rollup/rollup-linux-arm-musleabihf@4.17.2': - optional: true - - '@rollup/rollup-linux-arm64-gnu@4.17.2': - optional: true - - '@rollup/rollup-linux-arm64-musl@4.17.2': - optional: true - - '@rollup/rollup-linux-powerpc64le-gnu@4.17.2': - optional: true - - '@rollup/rollup-linux-riscv64-gnu@4.17.2': - optional: true - - '@rollup/rollup-linux-s390x-gnu@4.17.2': - optional: true - - '@rollup/rollup-linux-x64-gnu@4.17.2': - optional: true - - '@rollup/rollup-linux-x64-musl@4.17.2': - optional: true - - '@rollup/rollup-win32-arm64-msvc@4.17.2': - optional: true - - '@rollup/rollup-win32-ia32-msvc@4.17.2': - optional: true - - '@rollup/rollup-win32-x64-msvc@4.17.2': - optional: true - - '@sentry-internal/tracing@7.111.0': - dependencies: - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - - '@sentry-internal/tracing@7.113.0': - dependencies: - '@sentry/core': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - - '@sentry/babel-plugin-component-annotate@2.16.1': {} - - '@sentry/bundler-plugin-core@2.16.1': - dependencies: - '@babel/core': 7.24.5 - '@sentry/babel-plugin-component-annotate': 2.16.1 - '@sentry/cli': 2.31.2 - dotenv: 16.4.5 - find-up: 5.0.0 - glob: 9.3.5 - magic-string: 0.30.8 - unplugin: 1.0.1 - transitivePeerDependencies: - - encoding - - supports-color - - '@sentry/cli-darwin@2.31.2': - optional: true - - '@sentry/cli-linux-arm64@2.31.2': - optional: true - - '@sentry/cli-linux-arm@2.31.2': - optional: true - - '@sentry/cli-linux-i686@2.31.2': - optional: true - - '@sentry/cli-linux-x64@2.31.2': - optional: true - - '@sentry/cli-win32-i686@2.31.2': - optional: true - - '@sentry/cli-win32-x64@2.31.2': - optional: true - - '@sentry/cli@2.31.2': - dependencies: - https-proxy-agent: 5.0.1 - node-fetch: 2.7.0 - progress: 2.0.3 - proxy-from-env: 1.1.0 - which: 2.0.2 - optionalDependencies: - '@sentry/cli-darwin': 2.31.2 - '@sentry/cli-linux-arm': 2.31.2 - '@sentry/cli-linux-arm64': 2.31.2 - '@sentry/cli-linux-i686': 2.31.2 - '@sentry/cli-linux-x64': 2.31.2 - '@sentry/cli-win32-i686': 2.31.2 - '@sentry/cli-win32-x64': 2.31.2 - transitivePeerDependencies: - - encoding - - supports-color - - '@sentry/core@7.111.0': - dependencies: - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - - '@sentry/core@7.113.0': - dependencies: - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - - '@sentry/esbuild-plugin@2.16.1': - dependencies: - '@sentry/bundler-plugin-core': 2.16.1 - unplugin: 1.0.1 - uuid: 9.0.1 - transitivePeerDependencies: - - encoding - - supports-color - - '@sentry/integrations@7.113.0': - dependencies: - '@sentry/core': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - localforage: 1.10.0 - - '@sentry/node@7.111.0': - dependencies: - '@sentry-internal/tracing': 7.111.0 - '@sentry/core': 7.111.0 - '@sentry/types': 7.111.0 - '@sentry/utils': 7.111.0 - - '@sentry/node@7.113.0': - dependencies: - '@sentry-internal/tracing': 7.113.0 - '@sentry/core': 7.113.0 - '@sentry/integrations': 7.113.0 - '@sentry/types': 7.113.0 - '@sentry/utils': 7.113.0 - - '@sentry/profiling-node@7.113.0': - dependencies: - detect-libc: 2.0.3 - node-abi: 3.62.0 - - '@sentry/types@7.111.0': {} - - '@sentry/types@7.113.0': {} - - '@sentry/utils@7.111.0': - dependencies: - '@sentry/types': 7.111.0 - - '@sentry/utils@7.113.0': - dependencies: - '@sentry/types': 7.113.0 - - '@sinclair/typebox@0.27.8': {} - - '@tsconfig/node10@1.0.11': {} - - '@tsconfig/node12@1.0.11': {} - - '@tsconfig/node14@1.0.3': {} - - '@tsconfig/node16@1.0.4': {} - - '@types/debug@4.1.12': - dependencies: - '@types/ms': 0.7.34 - - '@types/estree@1.0.5': {} - - '@types/json-schema@7.0.15': {} - - '@types/ms@0.7.34': {} - - '@types/node@20.12.11': - dependencies: - undici-types: 5.26.5 - - '@types/pg@8.11.6': - dependencies: - '@types/node': 20.12.11 - pg-protocol: 1.6.1 - pg-types: 4.0.2 - - '@types/semver@7.5.8': {} - - '@types/validator@13.11.9': {} - - '@typescript-eslint/eslint-plugin@7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5)': - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/type-utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - eslint: 9.2.0 - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5)': - dependencies: - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - eslint: 9.2.0 - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/scope-manager@7.8.0': - dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 - - '@typescript-eslint/type-utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': - dependencies: - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - debug: 4.3.4 - eslint: 9.2.0 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/types@7.8.0': {} - - '@typescript-eslint/typescript-estree@7.8.0(typescript@5.4.5)': - dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 - debug: 4.3.4 - globby: 11.1.0 - is-glob: 4.0.3 - minimatch: 9.0.4 - semver: 7.6.2 - ts-api-utils: 1.3.0(typescript@5.4.5) - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@7.8.0(eslint@9.2.0)(typescript@5.4.5)': - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.4.5) - eslint: 9.2.0 - semver: 7.6.2 - transitivePeerDependencies: - - supports-color - - typescript - - '@typescript-eslint/visitor-keys@7.8.0': - dependencies: - '@typescript-eslint/types': 7.8.0 - eslint-visitor-keys: 3.4.3 - - '@vitest/coverage-v8@1.6.0(vitest@1.6.0(@types/node@20.12.11))': - dependencies: - '@ampproject/remapping': 2.3.0 - '@bcoe/v8-coverage': 0.2.3 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.4 - istanbul-reports: 3.1.7 - magic-string: 0.30.10 - magicast: 0.3.4 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - test-exclude: 6.0.0 - vitest: 1.6.0(@types/node@20.12.11) - transitivePeerDependencies: - - supports-color - - '@vitest/expect@1.6.0': - dependencies: - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - chai: 4.4.1 - - '@vitest/runner@1.6.0': - dependencies: - '@vitest/utils': 1.6.0 - p-limit: 5.0.0 - pathe: 1.1.2 - - '@vitest/snapshot@1.6.0': - dependencies: - magic-string: 0.30.10 - pathe: 1.1.2 - pretty-format: 29.7.0 - - '@vitest/spy@1.6.0': - dependencies: - tinyspy: 2.2.1 - - '@vitest/utils@1.6.0': - dependencies: - diff-sequences: 29.6.3 - estree-walker: 3.0.3 - loupe: 2.3.7 - pretty-format: 29.7.0 - - abort-controller@3.0.0: - dependencies: - event-target-shim: 5.0.1 - - abstract-logging@2.0.1: {} - - acorn-jsx@5.3.2(acorn@8.11.3): - dependencies: - acorn: 8.11.3 - - acorn-walk@8.3.2: {} - - acorn@8.11.3: {} - - agent-base@6.0.2: - dependencies: - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - ajv-formats@2.1.1(ajv@8.13.0): - optionalDependencies: - ajv: 8.13.0 - - ajv-formats@3.0.1(ajv@8.13.0): - optionalDependencies: - ajv: 8.13.0 - - ajv@6.12.6: - dependencies: - fast-deep-equal: 3.1.3 - fast-json-stable-stringify: 2.1.0 - json-schema-traverse: 0.4.1 - uri-js: 4.4.1 - - ajv@8.13.0: - dependencies: - fast-deep-equal: 3.1.3 - json-schema-traverse: 1.0.0 - require-from-string: 2.0.2 - uri-js: 4.4.1 - - ansi-regex@5.0.1: {} - - ansi-styles@3.2.1: - dependencies: - color-convert: 1.9.3 - - ansi-styles@4.3.0: - dependencies: - color-convert: 2.0.1 - - ansi-styles@5.2.0: {} - - ansi-styles@6.2.1: {} - - anymatch@3.1.3: - dependencies: - normalize-path: 3.0.0 - picomatch: 2.3.1 - - archy@1.0.0: {} - - arg@4.1.3: {} - - argparse@2.0.1: {} - - array-union@2.1.0: {} - - assertion-error@1.1.0: {} - - atomic-sleep@1.0.0: {} - - avvio@8.3.0: - dependencies: - '@fastify/error': 3.4.1 - archy: 1.0.0 - debug: 4.3.4 - fastq: 1.17.1 - transitivePeerDependencies: - - supports-color - - balanced-match@1.0.2: {} - - base64-js@1.5.1: {} - - binary-extensions@2.3.0: {} - - boolean@3.2.0: {} - - brace-expansion@1.1.11: - dependencies: - balanced-match: 1.0.2 - concat-map: 0.0.1 - - brace-expansion@2.0.1: - dependencies: - balanced-match: 1.0.2 - - braces@3.0.2: - dependencies: - fill-range: 7.0.1 - - browserslist@4.23.0: - dependencies: - caniuse-lite: 1.0.30001617 - electron-to-chromium: 1.4.763 - node-releases: 2.0.14 - update-browserslist-db: 1.0.15(browserslist@4.23.0) - - buffer-from@1.1.2: {} - - buffer@6.0.3: - dependencies: - base64-js: 1.5.1 - ieee754: 1.2.1 - - cac@6.7.14: {} - - callsites@3.1.0: {} - - camelcase@7.0.1: {} - - caniuse-lite@1.0.30001617: {} - - chai@4.4.1: - dependencies: - assertion-error: 1.1.0 - check-error: 1.0.3 - deep-eql: 4.1.3 - get-func-name: 2.0.2 - loupe: 2.3.7 - pathval: 1.1.1 - type-detect: 4.0.8 - - chalk@2.4.2: - dependencies: - ansi-styles: 3.2.1 - escape-string-regexp: 1.0.5 - supports-color: 5.5.0 - - chalk@4.1.2: - dependencies: - ansi-styles: 4.3.0 - supports-color: 7.2.0 - - chalk@5.3.0: {} - - check-error@1.0.3: - dependencies: - get-func-name: 2.0.2 - - chokidar@3.6.0: - dependencies: - anymatch: 3.1.3 - braces: 3.0.2 - glob-parent: 5.1.2 - is-binary-path: 2.1.0 - is-glob: 4.0.3 - normalize-path: 3.0.0 - readdirp: 3.6.0 - optionalDependencies: - fsevents: 2.3.3 - - cli-color@2.0.4: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - memoizee: 0.4.15 - timers-ext: 0.1.7 - - color-convert@1.9.3: - dependencies: - color-name: 1.1.3 - - color-convert@2.0.1: - dependencies: - color-name: 1.1.4 - - color-name@1.1.3: {} - - color-name@1.1.4: {} - - colorette@2.0.20: {} - - commander@9.5.0: {} - - concat-map@0.0.1: {} - - confbox@0.1.7: {} - - convert-source-map@2.0.0: {} - - cookie@0.6.0: {} - - copy-anything@3.0.5: - dependencies: - is-what: 4.1.16 - - create-require@1.1.1: {} - - cross-spawn@7.0.3: - dependencies: - path-key: 3.1.1 - shebang-command: 2.0.0 - which: 2.0.2 - - d@1.0.2: - dependencies: - es5-ext: 0.10.64 - type: 2.7.2 - - dateformat@4.6.3: {} - - debug@4.3.4: - dependencies: - ms: 2.1.2 - - deep-eql@4.1.3: - dependencies: - type-detect: 4.0.8 - - deep-is@0.1.4: {} - - depd@2.0.0: {} - - detect-libc@2.0.3: {} - - diff-sequences@29.6.3: {} - - diff@4.0.2: {} - - difflib@0.2.4: - dependencies: - heap: 0.2.7 - - dir-glob@3.0.1: - dependencies: - path-type: 4.0.0 - - dotenv@16.4.5: {} - - dottie@2.0.6: {} - - dreamopt@0.8.0: - dependencies: - wordwrap: 1.0.0 - - drizzle-kit@0.20.18: - dependencies: - '@esbuild-kit/esm-loader': 2.6.5 - '@hono/node-server': 1.11.1 - '@hono/zod-validator': 0.2.1(hono@4.3.4)(zod@3.23.8) - camelcase: 7.0.1 - chalk: 5.3.0 - commander: 9.5.0 - env-paths: 3.0.0 - esbuild: 0.19.12 - esbuild-register: 3.5.0(esbuild@0.19.12) - glob: 8.1.0 - hanji: 0.0.5 - hono: 4.3.4 - json-diff: 0.9.0 - minimatch: 7.4.6 - semver: 7.6.2 - superjson: 2.2.1 - zod: 3.23.8 - transitivePeerDependencies: - - supports-color - - drizzle-orm@0.30.10(@types/pg@8.11.6)(pg@8.11.5): - optionalDependencies: - '@types/pg': 8.11.6 - pg: 8.11.5 - - electron-to-chromium@1.4.763: {} - - end-of-stream@1.4.4: - dependencies: - once: 1.4.0 - - env-paths@3.0.0: {} - - es5-ext@0.10.64: - dependencies: - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - esniff: 2.0.1 - next-tick: 1.1.0 - - es6-iterator@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-symbol: 3.1.4 - - es6-symbol@3.1.4: - dependencies: - d: 1.0.2 - ext: 1.7.0 - - es6-weak-map@2.0.3: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-iterator: 2.0.3 - es6-symbol: 3.1.4 - - esbuild-register@3.5.0(esbuild@0.19.12): - dependencies: - debug: 4.3.4 - esbuild: 0.19.12 - transitivePeerDependencies: - - supports-color - - esbuild@0.18.20: - optionalDependencies: - '@esbuild/android-arm': 0.18.20 - '@esbuild/android-arm64': 0.18.20 - '@esbuild/android-x64': 0.18.20 - '@esbuild/darwin-arm64': 0.18.20 - '@esbuild/darwin-x64': 0.18.20 - '@esbuild/freebsd-arm64': 0.18.20 - '@esbuild/freebsd-x64': 0.18.20 - '@esbuild/linux-arm': 0.18.20 - '@esbuild/linux-arm64': 0.18.20 - '@esbuild/linux-ia32': 0.18.20 - '@esbuild/linux-loong64': 0.18.20 - '@esbuild/linux-mips64el': 0.18.20 - '@esbuild/linux-ppc64': 0.18.20 - '@esbuild/linux-riscv64': 0.18.20 - '@esbuild/linux-s390x': 0.18.20 - '@esbuild/linux-x64': 0.18.20 - '@esbuild/netbsd-x64': 0.18.20 - '@esbuild/openbsd-x64': 0.18.20 - '@esbuild/sunos-x64': 0.18.20 - '@esbuild/win32-arm64': 0.18.20 - '@esbuild/win32-ia32': 0.18.20 - '@esbuild/win32-x64': 0.18.20 - - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.20.2: - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - - escalade@3.1.2: {} - - escape-string-regexp@1.0.5: {} - - escape-string-regexp@4.0.0: {} - - eslint-config-prettier@9.1.0(eslint@9.2.0): - dependencies: - eslint: 9.2.0 - - eslint-plugin-prettier@5.1.3(eslint-config-prettier@9.1.0(eslint@9.2.0))(eslint@9.2.0)(prettier@3.2.5): - dependencies: - eslint: 9.2.0 - prettier: 3.2.5 - prettier-linter-helpers: 1.0.0 - synckit: 0.8.8 - optionalDependencies: - eslint-config-prettier: 9.1.0(eslint@9.2.0) - - eslint-scope@8.0.1: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - - eslint-visitor-keys@3.4.3: {} - - eslint-visitor-keys@4.0.0: {} - - eslint@9.2.0: - dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@9.2.0) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 3.0.2 - '@eslint/js': 9.2.0 - '@humanwhocodes/config-array': 0.13.0 - '@humanwhocodes/module-importer': 1.0.1 - '@humanwhocodes/retry': 0.2.4 - '@nodelib/fs.walk': 1.2.8 - ajv: 6.12.6 - chalk: 4.1.2 - cross-spawn: 7.0.3 - debug: 4.3.4 - escape-string-regexp: 4.0.0 - eslint-scope: 8.0.1 - eslint-visitor-keys: 4.0.0 - espree: 10.0.1 - esquery: 1.5.0 - esutils: 2.0.3 - fast-deep-equal: 3.1.3 - file-entry-cache: 8.0.0 - find-up: 5.0.0 - glob-parent: 6.0.2 - ignore: 5.3.1 - imurmurhash: 0.1.4 - is-glob: 4.0.3 - is-path-inside: 3.0.3 - 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.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 - transitivePeerDependencies: - - supports-color - - esniff@2.0.1: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - event-emitter: 0.3.5 - type: 2.7.2 - - espree@10.0.1: - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 4.0.0 - - esquery@1.5.0: - dependencies: - estraverse: 5.3.0 - - esrecurse@4.3.0: - dependencies: - estraverse: 5.3.0 - - estraverse@5.3.0: {} - - estree-walker@3.0.3: - dependencies: - '@types/estree': 1.0.5 - - esutils@2.0.3: {} - - event-emitter@0.3.5: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - - event-target-shim@5.0.1: {} - - events@3.3.0: {} - - execa@8.0.1: - dependencies: - cross-spawn: 7.0.3 - get-stream: 8.0.1 - human-signals: 5.0.0 - is-stream: 3.0.0 - merge-stream: 2.0.0 - npm-run-path: 5.3.0 - onetime: 6.0.0 - signal-exit: 4.1.0 - strip-final-newline: 3.0.0 - - ext@1.7.0: - dependencies: - type: 2.7.2 - - fast-content-type-parse@1.1.0: {} - - fast-copy@3.0.2: {} - - fast-decode-uri-component@1.0.1: {} - - fast-deep-equal@3.1.3: {} - - fast-diff@1.3.0: {} - - fast-glob@3.3.2: - dependencies: - '@nodelib/fs.stat': 2.0.5 - '@nodelib/fs.walk': 1.2.8 - glob-parent: 5.1.2 - merge2: 1.4.1 - micromatch: 4.0.5 - - fast-json-stable-stringify@2.1.0: {} - - fast-json-stringify@5.15.1: - dependencies: - '@fastify/merge-json-schemas': 0.1.1 - ajv: 8.13.0 - ajv-formats: 3.0.1(ajv@8.13.0) - fast-deep-equal: 3.1.3 - fast-uri: 2.3.0 - json-schema-ref-resolver: 1.0.1 - rfdc: 1.3.1 - - fast-levenshtein@2.0.6: {} - - fast-printf@1.6.9: - dependencies: - boolean: 3.2.0 - - fast-querystring@1.1.2: - dependencies: - fast-decode-uri-component: 1.0.1 - - fast-redact@3.5.0: {} - - fast-safe-stringify@2.1.1: {} - - fast-uri@2.3.0: {} - - fastify-plugin@4.5.1: {} - - fastify@4.27.0: - dependencies: - '@fastify/ajv-compiler': 3.5.0 - '@fastify/error': 3.4.1 - '@fastify/fast-json-stringify-compiler': 4.3.0 - abstract-logging: 2.0.1 - avvio: 8.3.0 - fast-content-type-parse: 1.1.0 - fast-json-stringify: 5.15.1 - find-my-way: 8.2.0 - light-my-request: 5.13.0 - pino: 9.0.0 - process-warning: 3.0.0 - proxy-addr: 2.0.7 - rfdc: 1.3.1 - secure-json-parse: 2.7.0 - semver: 7.6.2 - toad-cache: 3.7.0 - transitivePeerDependencies: - - supports-color - - fastq@1.17.1: - dependencies: - reusify: 1.0.4 - - file-entry-cache@8.0.0: - dependencies: - flat-cache: 4.0.1 - - fill-range@7.0.1: - dependencies: - to-regex-range: 5.0.1 - - find-my-way@8.2.0: - dependencies: - fast-deep-equal: 3.1.3 - fast-querystring: 1.1.2 - safe-regex2: 3.1.0 - - find-up@5.0.0: - dependencies: - locate-path: 6.0.0 - path-exists: 4.0.0 - - flat-cache@4.0.1: - dependencies: - flatted: 3.3.1 - keyv: 4.5.4 - - flatted@3.3.1: {} - - forwarded@0.2.0: {} - - fs.realpath@1.0.0: {} - - fsevents@2.3.3: - optional: true - - gensync@1.0.0-beta.2: {} - - get-func-name@2.0.2: {} - - get-stack-trace@3.1.1: - dependencies: - stacktrace-parser: 0.1.10 - - get-stream@8.0.1: {} - - get-tsconfig@4.7.5: - dependencies: - resolve-pkg-maps: 1.0.0 - - glob-parent@5.1.2: - dependencies: - is-glob: 4.0.3 - - glob-parent@6.0.2: - dependencies: - is-glob: 4.0.3 - - glob@7.2.3: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 3.1.2 - once: 1.4.0 - path-is-absolute: 1.0.1 - - glob@8.1.0: - dependencies: - fs.realpath: 1.0.0 - inflight: 1.0.6 - inherits: 2.0.4 - minimatch: 5.1.6 - once: 1.4.0 - - glob@9.3.5: - dependencies: - fs.realpath: 1.0.0 - minimatch: 8.0.4 - minipass: 4.2.8 - path-scurry: 1.11.0 - - globals@11.12.0: {} - - globals@14.0.0: {} - - globby@11.1.0: - dependencies: - array-union: 2.1.0 - dir-glob: 3.0.1 - fast-glob: 3.3.2 - ignore: 5.3.1 - merge2: 1.4.1 - slash: 3.0.0 - - graphemer@1.4.0: {} - - hanji@0.0.5: - dependencies: - lodash.throttle: 4.1.1 - sisteransi: 1.0.5 - - has-flag@3.0.0: {} - - has-flag@4.0.0: {} - - heap@0.2.7: {} - - help-me@5.0.0: {} - - hono@4.3.4: {} - - html-escaper@2.0.2: {} - - http-errors@2.0.0: - dependencies: - depd: 2.0.0 - inherits: 2.0.4 - setprototypeof: 1.2.0 - statuses: 2.0.1 - toidentifier: 1.0.1 - - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.3.4 - transitivePeerDependencies: - - supports-color - - human-signals@5.0.0: {} - - ieee754@1.2.1: {} - - ignore@5.3.1: {} - - immediate@3.0.6: {} - - import-fresh@3.3.0: - dependencies: - parent-module: 1.0.1 - resolve-from: 4.0.0 - - imurmurhash@0.1.4: {} - - inflection@1.13.4: {} - - inflight@1.0.6: - dependencies: - once: 1.4.0 - wrappy: 1.0.2 - - inherits@2.0.4: {} - - ipaddr.js@1.9.1: {} - - is-binary-path@2.1.0: - dependencies: - binary-extensions: 2.3.0 - - is-extglob@2.1.1: {} - - is-glob@4.0.3: - dependencies: - is-extglob: 2.1.1 - - is-number@7.0.0: {} - - is-path-inside@3.0.3: {} - - is-promise@2.2.2: {} - - is-stream@3.0.0: {} - - is-what@4.1.16: {} - - isexe@2.0.0: {} - - iso8601-duration@1.3.0: {} - - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@5.0.4: - dependencies: - '@jridgewell/trace-mapping': 0.3.25 - debug: 4.3.4 - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.1.7: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - joycon@3.1.1: {} - - js-tokens@4.0.0: {} - - js-tokens@9.0.0: {} - - js-yaml@4.1.0: - dependencies: - argparse: 2.0.1 - - jsesc@2.5.2: {} - - json-buffer@3.0.1: {} - - json-diff@0.9.0: - dependencies: - cli-color: 2.0.4 - difflib: 0.2.4 - dreamopt: 0.8.0 - - json-parse-even-better-errors@3.0.2: {} - - json-schema-ref-resolver@1.0.1: - dependencies: - fast-deep-equal: 3.1.3 - - json-schema-traverse@0.4.1: {} - - json-schema-traverse@1.0.0: {} - - json-stable-stringify-without-jsonify@1.0.1: {} - - json5@2.2.3: {} - - keyv@4.5.4: - dependencies: - json-buffer: 3.0.1 - - levn@0.4.1: - dependencies: - prelude-ls: 1.2.1 - type-check: 0.4.0 - - lie@3.1.1: - dependencies: - immediate: 3.0.6 - - light-my-request@5.13.0: - dependencies: - cookie: 0.6.0 - process-warning: 3.0.0 - set-cookie-parser: 2.6.0 - - local-pkg@0.5.0: - dependencies: - mlly: 1.7.0 - pkg-types: 1.1.1 - - localforage@1.10.0: - dependencies: - lie: 3.1.1 - - locate-path@6.0.0: - dependencies: - p-locate: 5.0.0 - - lodash.merge@4.6.2: {} - - lodash.throttle@4.1.1: {} - - lodash@4.17.21: {} - - loupe@2.3.7: - dependencies: - get-func-name: 2.0.2 - - lru-cache@10.2.2: {} - - lru-cache@5.1.1: - dependencies: - yallist: 3.1.1 - - lru-cache@6.0.0: - dependencies: - yallist: 4.0.0 - - lru-queue@0.1.0: - dependencies: - es5-ext: 0.10.64 - - magic-string@0.30.10: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - magic-string@0.30.8: - dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 - - magicast@0.3.4: - dependencies: - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 - source-map-js: 1.2.0 - - make-dir@4.0.0: - dependencies: - semver: 7.6.2 - - make-error@1.3.6: {} - - media-typer@0.3.0: {} - - memoizee@0.4.15: - dependencies: - d: 1.0.2 - es5-ext: 0.10.64 - es6-weak-map: 2.0.3 - event-emitter: 0.3.5 - is-promise: 2.2.2 - lru-queue: 0.1.0 - next-tick: 1.1.0 - timers-ext: 0.1.7 - - memorystream@0.3.1: {} - - merge-stream@2.0.0: {} - - merge2@1.4.1: {} - - micromatch@4.0.5: - dependencies: - braces: 3.0.2 - picomatch: 2.3.1 - - mime-db@1.52.0: {} - - mime-types@2.1.35: - dependencies: - mime-db: 1.52.0 - - mimic-fn@4.0.0: {} - - minimatch@3.1.2: - dependencies: - brace-expansion: 1.1.11 - - minimatch@5.1.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@7.4.6: - dependencies: - brace-expansion: 2.0.1 - - minimatch@8.0.4: - dependencies: - brace-expansion: 2.0.1 - - minimatch@9.0.4: - dependencies: - brace-expansion: 2.0.1 - - minimist@1.2.8: {} - - minipass@4.2.8: {} - - minipass@7.1.1: {} - - mlly@1.7.0: - dependencies: - acorn: 8.11.3 - pathe: 1.1.2 - pkg-types: 1.1.1 - ufo: 1.5.3 - - moment-timezone@0.5.45: - dependencies: - moment: 2.30.1 - - moment@2.30.1: {} - - ms@2.1.2: {} - - nanoid@3.3.7: {} - - natural-compare@1.4.0: {} - - next-tick@1.1.0: {} - - node-abi@3.62.0: - dependencies: - semver: 7.6.2 - - node-fetch@2.7.0: - dependencies: - whatwg-url: 5.0.0 - - node-releases@2.0.14: {} - - normalize-path@3.0.0: {} - - npm-normalize-package-bin@3.0.1: {} - - npm-run-all2@6.1.2: - dependencies: - ansi-styles: 6.2.1 - cross-spawn: 7.0.3 - memorystream: 0.3.1 - minimatch: 9.0.4 - pidtree: 0.6.0 - read-package-json-fast: 3.0.2 - shell-quote: 1.8.1 - - npm-run-path@5.3.0: - dependencies: - path-key: 4.0.0 - - obuf@1.1.2: {} - - on-exit-leak-free@2.1.2: {} - - once@1.4.0: - dependencies: - wrappy: 1.0.2 - - onetime@6.0.0: - dependencies: - mimic-fn: 4.0.0 - - optionator@0.9.4: - dependencies: - deep-is: 0.1.4 - fast-levenshtein: 2.0.6 - levn: 0.4.1 - prelude-ls: 1.2.1 - type-check: 0.4.0 - word-wrap: 1.2.5 - - p-limit@3.1.0: - dependencies: - yocto-queue: 0.1.0 - - p-limit@5.0.0: - dependencies: - yocto-queue: 1.0.0 - - p-locate@5.0.0: - dependencies: - p-limit: 3.1.0 - - parent-module@1.0.1: - dependencies: - callsites: 3.1.0 - - path-exists@4.0.0: {} - - path-is-absolute@1.0.1: {} - - path-key@3.1.1: {} - - path-key@4.0.0: {} - - path-scurry@1.11.0: - dependencies: - lru-cache: 10.2.2 - minipass: 7.1.1 - - path-type@4.0.0: {} - - pathe@1.1.2: {} - - pathval@1.1.1: {} - - pg-cloudflare@1.1.1: - optional: true - - pg-connection-string@2.6.4: {} - - pg-cursor@2.10.5(pg@8.11.5): - dependencies: - pg: 8.11.5 - - pg-hstore@2.3.4: - dependencies: - underscore: 1.13.6 - - pg-int8@1.0.1: {} - - pg-numeric@1.0.2: {} - - pg-pool@3.6.2(pg@8.11.5): - dependencies: - pg: 8.11.5 - - pg-protocol@1.6.1: {} - - pg-query-stream@4.5.5(pg@8.11.5): - dependencies: - pg: 8.11.5 - pg-cursor: 2.10.5(pg@8.11.5) - - pg-types@2.2.0: - dependencies: - pg-int8: 1.0.1 - postgres-array: 2.0.0 - postgres-bytea: 1.0.0 - postgres-date: 1.0.7 - postgres-interval: 1.2.0 - - pg-types@4.0.2: - dependencies: - pg-int8: 1.0.1 - pg-numeric: 1.0.2 - postgres-array: 3.0.2 - postgres-bytea: 3.0.0 - postgres-date: 2.1.0 - postgres-interval: 3.0.0 - postgres-range: 1.1.4 - - pg@8.11.5: - dependencies: - pg-connection-string: 2.6.4 - pg-pool: 3.6.2(pg@8.11.5) - pg-protocol: 1.6.1 - pg-types: 2.2.0 - pgpass: 1.0.5 - optionalDependencies: - pg-cloudflare: 1.1.1 - - pgpass@1.0.5: - dependencies: - split2: 4.2.0 - - picocolors@1.0.0: {} - - picomatch@2.3.1: {} - - pidtree@0.6.0: {} - - pino-abstract-transport@1.2.0: - dependencies: - readable-stream: 4.5.2 - split2: 4.2.0 - - pino-pretty@11.0.0: - dependencies: - colorette: 2.0.20 - dateformat: 4.6.3 - fast-copy: 3.0.2 - fast-safe-stringify: 2.1.1 - help-me: 5.0.0 - joycon: 3.1.1 - minimist: 1.2.8 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.2.0 - pump: 3.0.0 - readable-stream: 4.5.2 - secure-json-parse: 2.7.0 - sonic-boom: 3.8.1 - strip-json-comments: 3.1.1 - - pino-std-serializers@6.2.2: {} - - pino@8.20.0: - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.2.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.1 - thread-stream: 2.6.0 - - pino@8.21.0: - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.2.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.1 - thread-stream: 2.7.0 - - pino@9.0.0: - dependencies: - atomic-sleep: 1.0.0 - fast-redact: 3.5.0 - on-exit-leak-free: 2.1.2 - pino-abstract-transport: 1.2.0 - pino-std-serializers: 6.2.2 - process-warning: 3.0.0 - quick-format-unescaped: 4.0.4 - real-require: 0.2.0 - safe-stable-stringify: 2.4.3 - sonic-boom: 3.8.1 - thread-stream: 2.7.0 - - pkg-types@1.1.1: - dependencies: - confbox: 0.1.7 - mlly: 1.7.0 - pathe: 1.1.2 - - postcss@8.4.38: - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.2.0 - - postgres-array@2.0.0: {} - - postgres-array@3.0.2: {} - - postgres-bytea@1.0.0: {} - - postgres-bytea@3.0.0: - dependencies: - obuf: 1.1.2 - - postgres-date@1.0.7: {} - - postgres-date@2.1.0: {} - - postgres-interval@1.2.0: - dependencies: - xtend: 4.0.2 - - postgres-interval@3.0.0: {} - - postgres-interval@4.0.2: {} - - postgres-range@1.1.4: {} - - prelude-ls@1.2.1: {} - - prettier-linter-helpers@1.0.0: - dependencies: - fast-diff: 1.3.0 - - prettier@3.2.5: {} - - pretty-format@29.7.0: - dependencies: - '@jest/schemas': 29.6.3 - ansi-styles: 5.2.0 - react-is: 18.3.1 - - process-warning@3.0.0: {} - - process@0.11.10: {} - - progress@2.0.3: {} - - proxy-addr@2.0.7: - dependencies: - forwarded: 0.2.0 - ipaddr.js: 1.9.1 - - proxy-from-env@1.1.0: {} - - pump@3.0.0: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - - punycode@2.3.1: {} - - queue-microtask@1.2.3: {} - - quick-format-unescaped@4.0.4: {} - - react-is@18.3.1: {} - - read-package-json-fast@3.0.2: - dependencies: - json-parse-even-better-errors: 3.0.2 - npm-normalize-package-bin: 3.0.1 - - readable-stream@4.5.2: - dependencies: - abort-controller: 3.0.0 - buffer: 6.0.3 - events: 3.3.0 - process: 0.11.10 - string_decoder: 1.3.0 - - readdirp@3.6.0: - dependencies: - picomatch: 2.3.1 - - real-require@0.2.0: {} - - require-from-string@2.0.2: {} - - resolve-from@4.0.0: {} - - resolve-pkg-maps@1.0.0: {} - - ret@0.4.3: {} - - retry-as-promised@7.0.4: {} - - reusify@1.0.4: {} - - rfdc@1.3.1: {} - - roarr@7.21.1: - dependencies: - fast-printf: 1.6.9 - safe-stable-stringify: 2.4.3 - semver-compare: 1.0.0 - - rollup@4.17.2: - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.17.2 - '@rollup/rollup-android-arm64': 4.17.2 - '@rollup/rollup-darwin-arm64': 4.17.2 - '@rollup/rollup-darwin-x64': 4.17.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.17.2 - '@rollup/rollup-linux-arm-musleabihf': 4.17.2 - '@rollup/rollup-linux-arm64-gnu': 4.17.2 - '@rollup/rollup-linux-arm64-musl': 4.17.2 - '@rollup/rollup-linux-powerpc64le-gnu': 4.17.2 - '@rollup/rollup-linux-riscv64-gnu': 4.17.2 - '@rollup/rollup-linux-s390x-gnu': 4.17.2 - '@rollup/rollup-linux-x64-gnu': 4.17.2 - '@rollup/rollup-linux-x64-musl': 4.17.2 - '@rollup/rollup-win32-arm64-msvc': 4.17.2 - '@rollup/rollup-win32-ia32-msvc': 4.17.2 - '@rollup/rollup-win32-x64-msvc': 4.17.2 - fsevents: 2.3.3 - - run-parallel@1.2.0: - dependencies: - queue-microtask: 1.2.3 - - safe-buffer@5.2.1: {} - - safe-regex2@3.1.0: - dependencies: - ret: 0.4.3 - - safe-stable-stringify@2.4.3: {} - - secure-json-parse@2.7.0: {} - - semver-compare@1.0.0: {} - - semver@6.3.1: {} - - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 - - semver@7.6.2: {} - - sequelize-pool@7.1.0: {} - - sequelize@6.37.3(pg-hstore@2.3.4)(pg@8.11.5): - dependencies: - '@types/debug': 4.1.12 - '@types/validator': 13.11.9 - debug: 4.3.4 - dottie: 2.0.6 - inflection: 1.13.4 - lodash: 4.17.21 - moment: 2.30.1 - moment-timezone: 0.5.45 - pg-connection-string: 2.6.4 - retry-as-promised: 7.0.4 - semver: 7.6.0 - sequelize-pool: 7.1.0 - toposort-class: 1.0.1 - uuid: 8.3.2 - validator: 13.11.0 - wkx: 0.5.0 - optionalDependencies: - pg: 8.11.5 - pg-hstore: 2.3.4 - transitivePeerDependencies: - - supports-color - - serialize-error@8.1.0: - dependencies: - type-fest: 0.20.2 - - set-cookie-parser@2.6.0: {} - - setprototypeof@1.2.0: {} - - shebang-command@2.0.0: - dependencies: - shebang-regex: 3.0.0 - - shebang-regex@3.0.0: {} - - shell-quote@1.8.1: {} - - short-unique-id@5.0.3: {} - - short-unique-id@5.2.0: {} - - siginfo@2.0.0: {} - - signal-exit@4.1.0: {} - - sisteransi@1.0.5: {} - - slash@3.0.0: {} - - slonik@40.2.6(zod@3.22.5): - dependencies: - '@types/pg': 8.11.6 - get-stack-trace: 3.1.1 - iso8601-duration: 1.3.0 - pg: 8.11.5 - pg-query-stream: 4.5.5(pg@8.11.5) - pg-types: 4.0.2 - postgres-array: 3.0.2 - postgres-interval: 4.0.2 - roarr: 7.21.1 - safe-stable-stringify: 2.4.3 - serialize-error: 8.1.0 - strict-event-emitter-types: 2.0.0 - zod: 3.22.5 - transitivePeerDependencies: - - pg-native - - sonic-boom@3.8.1: - dependencies: - atomic-sleep: 1.0.0 - - source-map-js@1.2.0: {} - - source-map-support@0.5.21: - dependencies: - buffer-from: 1.1.2 - source-map: 0.6.1 - - source-map@0.6.1: {} - - split2@4.2.0: {} - - stackback@0.0.2: {} - - stacktrace-parser@0.1.10: - dependencies: - type-fest: 0.7.1 - - statuses@2.0.1: {} - - std-env@3.7.0: {} - - strict-event-emitter-types@2.0.0: {} - - string_decoder@1.3.0: - dependencies: - safe-buffer: 5.2.1 - - strip-ansi@6.0.1: - dependencies: - ansi-regex: 5.0.1 - - strip-final-newline@3.0.0: {} - - strip-json-comments@3.1.1: {} - - strip-literal@2.1.0: - dependencies: - js-tokens: 9.0.0 - - superjson@2.2.1: - dependencies: - copy-anything: 3.0.5 - - supports-color@5.5.0: - dependencies: - has-flag: 3.0.0 - - supports-color@7.2.0: - dependencies: - has-flag: 4.0.0 - - synckit@0.8.8: - dependencies: - '@pkgr/core': 0.1.1 - tslib: 2.6.2 - - test-exclude@6.0.0: - dependencies: - '@istanbuljs/schema': 0.1.3 - glob: 7.2.3 - minimatch: 3.1.2 - - text-table@0.2.0: {} - - thread-stream@2.6.0: - dependencies: - real-require: 0.2.0 - - thread-stream@2.7.0: - dependencies: - real-require: 0.2.0 - - timers-ext@0.1.7: - dependencies: - es5-ext: 0.10.64 - next-tick: 1.1.0 - - tinybench@2.8.0: {} - - tinypool@0.8.4: {} - - tinyspy@2.2.1: {} - - to-fast-properties@2.0.0: {} - - to-regex-range@5.0.1: - dependencies: - is-number: 7.0.0 - - toad-cache@3.7.0: {} - - toidentifier@1.0.1: {} - - toposort-class@1.0.1: {} - - tr46@0.0.3: {} - - ts-api-utils@1.3.0(typescript@5.4.5): - dependencies: - typescript: 5.4.5 - - ts-node@10.9.2(@types/node@20.12.11)(typescript@5.4.5): - dependencies: - '@cspotcode/source-map-support': 0.8.1 - '@tsconfig/node10': 1.0.11 - '@tsconfig/node12': 1.0.11 - '@tsconfig/node14': 1.0.3 - '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.11 - acorn: 8.11.3 - acorn-walk: 8.3.2 - arg: 4.1.3 - create-require: 1.1.1 - diff: 4.0.2 - make-error: 1.3.6 - typescript: 5.4.5 - v8-compile-cache-lib: 3.0.1 - yn: 3.1.1 - - tslib@2.6.2: {} - - tsx@4.9.4: - dependencies: - esbuild: 0.20.2 - get-tsconfig: 4.7.5 - optionalDependencies: - fsevents: 2.3.3 - - type-check@0.4.0: - dependencies: - prelude-ls: 1.2.1 - - type-detect@4.0.8: {} - - type-fest@0.20.2: {} - - type-fest@0.7.1: {} - - type-is@1.6.18: - dependencies: - media-typer: 0.3.0 - mime-types: 2.1.35 - - type@2.7.2: {} - - typescript-eslint@7.8.0(eslint@9.2.0)(typescript@5.4.5): - dependencies: - '@typescript-eslint/eslint-plugin': 7.8.0(@typescript-eslint/parser@7.8.0(eslint@9.2.0)(typescript@5.4.5))(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/parser': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - '@typescript-eslint/utils': 7.8.0(eslint@9.2.0)(typescript@5.4.5) - eslint: 9.2.0 - optionalDependencies: - typescript: 5.4.5 - transitivePeerDependencies: - - supports-color - - typescript@5.4.5: {} - - ufo@1.5.3: {} - - underscore@1.13.6: {} - - undici-types@5.26.5: {} - - unplugin@1.0.1: - dependencies: - acorn: 8.11.3 - chokidar: 3.6.0 - webpack-sources: 3.2.3 - webpack-virtual-modules: 0.5.0 - - update-browserslist-db@1.0.15(browserslist@4.23.0): - dependencies: - browserslist: 4.23.0 - escalade: 3.1.2 - picocolors: 1.0.0 - - uri-js@4.4.1: - dependencies: - punycode: 2.3.1 - - uuid@8.3.2: {} - - uuid@9.0.1: {} - - v8-compile-cache-lib@3.0.1: {} - - validator@13.11.0: {} - - vary@1.1.2: {} - - vite-node@1.6.0(@types/node@20.12.11): - dependencies: - cac: 6.7.14 - debug: 4.3.4 - pathe: 1.1.2 - picocolors: 1.0.0 - vite: 5.2.11(@types/node@20.12.11) - transitivePeerDependencies: - - '@types/node' - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - vite@5.2.11(@types/node@20.12.11): - dependencies: - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.17.2 - optionalDependencies: - '@types/node': 20.12.11 - fsevents: 2.3.3 - - vitest@1.6.0(@types/node@20.12.11): - dependencies: - '@vitest/expect': 1.6.0 - '@vitest/runner': 1.6.0 - '@vitest/snapshot': 1.6.0 - '@vitest/spy': 1.6.0 - '@vitest/utils': 1.6.0 - acorn-walk: 8.3.2 - chai: 4.4.1 - debug: 4.3.4 - execa: 8.0.1 - local-pkg: 0.5.0 - magic-string: 0.30.10 - pathe: 1.1.2 - picocolors: 1.0.0 - std-env: 3.7.0 - strip-literal: 2.1.0 - tinybench: 2.8.0 - tinypool: 0.8.4 - vite: 5.2.11(@types/node@20.12.11) - vite-node: 1.6.0(@types/node@20.12.11) - why-is-node-running: 2.2.2 - optionalDependencies: - '@types/node': 20.12.11 - transitivePeerDependencies: - - less - - lightningcss - - sass - - stylus - - sugarss - - supports-color - - terser - - webidl-conversions@3.0.1: {} - - webpack-sources@3.2.3: {} - - webpack-virtual-modules@0.5.0: {} - - whatwg-url@5.0.0: - dependencies: - tr46: 0.0.3 - webidl-conversions: 3.0.1 - - which@2.0.2: - dependencies: - isexe: 2.0.0 - - why-is-node-running@2.2.2: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 - - wkx@0.5.0: - dependencies: - '@types/node': 20.12.11 - - word-wrap@1.2.5: {} - - wordwrap@1.0.0: {} - - wrappy@1.0.2: {} - - xtend@4.0.2: {} - - yallist@3.1.1: {} - - yallist@4.0.0: {} - - yn@3.1.1: {} - - yocto-queue@0.1.0: {} - - yocto-queue@1.0.0: {} - - zod@3.22.5: {} - - zod@3.23.8: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml deleted file mode 100644 index 4af31626f..000000000 --- a/pnpm-workspace.yaml +++ /dev/null @@ -1,3 +0,0 @@ -packages: - - "apps/*" - - "packages/*" diff --git a/schema/index.ts b/schema/index.ts new file mode 100644 index 000000000..b0ae96717 --- /dev/null +++ b/schema/index.ts @@ -0,0 +1,23 @@ +export { abstractPartType } from "./abstractPartType.js"; +export { attachmentPoint } from "./attachmentPoint.js"; +export { brand } from "./brand.js"; +export { brandedPart } from "./brandedPart.js"; +export { key } from "./key.js"; +export { model } from "./model.js"; +export { part } from "./part.js"; +export { partGrade } from "./partGrade.js"; +export { partType } from "./partType.js"; +export { player } from "./player.js"; +export { playerType } from "./playerType.js"; +export { profile } from "./profile.js"; +export { raceType } from "./raceType.js"; +export { skin } from "./skin.js"; +export { skinType } from "./skinType.js"; +export { stockAssembly } from "./stockAssembly.js"; +export { stockVehicleAttributes } from "./stockVehicleAttributes.js"; +export { svaCarClass } from "./svaCarClass.js"; +export { tunables } from "./tunables.js"; +export { user } from "./user.js"; +export { vehicle } from "./vehicle.js"; +export { warehouse } from "./warehouse.js"; + diff --git a/schema/package.json b/schema/package.json new file mode 100644 index 000000000..a5bff97da --- /dev/null +++ b/schema/package.json @@ -0,0 +1,20 @@ +{ + "name": "rusty-motors-schema", + "version": "1.0.0", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, + "type": "module", + "scripts": { + "test": "echo \"Error: no test specified\" && exit 0" + }, + "keywords": [], + "author": "", + "license": "AGPL-3.0", + "devDependencies": {}, + "dependencies": {}, + "description": "" +} diff --git a/schema/part.ts b/schema/part.ts index 28da21adb..2efe015d9 100644 --- a/schema/part.ts +++ b/schema/part.ts @@ -7,8 +7,8 @@ import { smallint, index, } from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart"; -import { attachmentPoint } from "./attachmentPoint"; +import { brandedPart } from "./brandedPart.js"; +import { attachmentPoint } from "./attachmentPoint.js"; export const part = pgTable( "part", diff --git a/schema/raceType.ts b/schema/raceType.ts index 523717a26..45d02af19 100644 --- a/schema/raceType.ts +++ b/schema/raceType.ts @@ -1,6 +1,6 @@ import { pgTable, varchar, integer } from "drizzle-orm/pg-core"; -export const users = pgTable('race_type', { +export const raceType = pgTable('race_type', { raceTypeId: integer('race_type_id').notNull().primaryKey(), raceType: varchar('race_type', { length: 100 }).notNull(), }); \ No newline at end of file diff --git a/schema/stockAssembly.ts b/schema/stockAssembly.ts index 21120e203..79b7749f9 100644 --- a/schema/stockAssembly.ts +++ b/schema/stockAssembly.ts @@ -4,8 +4,8 @@ import { smallint, index, } from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart"; -import { attachmentPoint } from "./attachmentPoint"; +import { brandedPart } from "./brandedPart.js"; +import { attachmentPoint } from "./attachmentPoint.js"; export const stockAssembly = pgTable( "stock_assembly", diff --git a/schema/vehicle.ts b/schema/vehicle.ts index 16dc59b9a..394663ef2 100644 --- a/schema/vehicle.ts +++ b/schema/vehicle.ts @@ -4,8 +4,8 @@ import { integer, uniqueIndex, } from "drizzle-orm/pg-core"; -import { skin } from "./skin"; -import { bytea } from "./bytea"; +import { skin } from "./skin.js"; +import { bytea } from "./bytea.js"; export const vehicle = pgTable( From fa0c3fb7c2c5e43439c472b125ff76d703e57908 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sun, 12 May 2024 22:17:26 -0400 Subject: [PATCH 338/452] feat: Add new modules for patch, cli, and shard --- .github/workflows/main.yml | 9 +- .github/workflows/node.yml | 2 +- package.json | 96 ++++++--------------- packages/cli/package.json | 9 +- packages/cli/test/index.test.ts | 8 ++ packages/connection/package.json | 6 +- packages/connection/test/Connection.test.ts | 2 +- packages/database/package.json | 6 +- packages/gateway/package.json | 6 +- packages/mcots/package.json | 7 +- packages/mcots/test/index.test.ts | 8 ++ packages/nps/package.json | 6 +- packages/nps/test/index.test.ts | 8 ++ packages/patch/package.json | 6 +- packages/shard/package.json | 6 +- packages/shared-packets/package.json | 7 +- packages/shared-packets/test/index.test.ts | 8 ++ packages/shared/package.json | 6 +- schema/package.json | 6 +- schema/test/index.test.ts | 8 ++ 20 files changed, 128 insertions(+), 92 deletions(-) create mode 100644 packages/cli/test/index.test.ts create mode 100644 packages/mcots/test/index.test.ts create mode 100644 packages/nps/test/index.test.ts create mode 100644 packages/shared-packets/test/index.test.ts create mode 100644 schema/test/index.test.ts diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 76e2c8738..494b78050 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -14,13 +14,10 @@ jobs: with: fetch-depth: 0 - - name: Enable Corepack + - name: Install and test using npm run: | - corepack enable pnpm - - name: Install and test using pnpm - run: | - pnpm install - pnpm test + npm install + npm run test --workspaces --if-present - name: Create Sentry release uses: getsentry/action-release@586b62368d564f25d694ce05fcb9cf53de65ac4f # v1 diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index d09101eaf..aca624898 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -35,7 +35,7 @@ jobs: - name: Install and test run: | npm install - npm test + npm run test --workspaces --if-present env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} - name: Codecov diff --git a/package.json b/package.json index e0147619e..679007314 100644 --- a/package.json +++ b/package.json @@ -1,72 +1,28 @@ { - "name": "rusty-motors", - "version": "0.5.0", - "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", - "type": "module", - "scripts": { - "check": "tsc", - "lint": "eslint .", - "start": "node --loader=ts-node/esm --env-file=.env --openssl-legacy-provider apps/main/server.ts", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage packages" - }, - "author": "Molly Crendraven ", - "license": "AGPL-3.0", - "private": true, - "repository": { - "type": "git", - "url": "git@github.com:drazisil/mcos.git" - }, - "devDependencies": { - "@eslint/js": "^9.2.0", - "@sentry/node": "7.113.0", - "@sentry/profiling-node": "7.113.0", - "@types/node": "20.12.11", - "@types/pg": "8.11.6", - "@vitest/coverage-v8": "1.6.0", - "@vitest/ui": "^1.3.1", - "drizzle-kit": "0.20.18", - "eslint": "^8.57.0", - "eslint-config-prettier": "9.1.0", - "eslint-plugin-prettier": "5.1.3", - "npm-run-all2": "6.1.2", - "prettier": "3.2.5", - "react-refresh": "^0.10.0", - "typescript": "^5.4.5", - "typescript-eslint": "^7.8.0", - "vite": "~5.0.0", - "vitest": "1.6.0" - }, - "dependencies": { - "@fastify/sensible": "^5.6.0", - "@sentry/esbuild-plugin": "^2.16.1", - "axios": "^1.6.0", - "dotenv": "^16.4.5", - "drizzle-orm": "^0.30.10", - "express": "^4.18.1", - "fastify": "^4.27.0", - "pg": "^8.11.5", - "pino": "^8.21.0", - "pino-pretty": "^11.0.0", - "rusty-motors-database": "^1.0.0", - "rusty-motors-schema": "^1.0.0", - "short-unique-id": "^5.2.0", - "ts-node": "^10.9.2", - "tslib": "^2.3.0", - "tsx": "^4.9.4" - }, - "workspaces": [ - "apps/main", - "packages/cli", - "packages/connection", - "packages/database", - "packages/gateway", - "packages/mcots", - "packages/nps", - "packages/patch", - "packages/shard", - "packages/shared", - "packages/shared-packets", - "schema" - ] + "name": "rusty-motors", + "version": "0.5.0", + "author": "Molly Crendraven ", + "repository": { + "type": "git", + "url": "git@github.com:drazisil/mcos.git" + }, + "dependencies": {}, + "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", + "license": "AGPL-3.0", + "private": true, + "scripts": {}, + "type": "module", + "workspaces": [ + "apps/main", + "packages/cli", + "packages/connection", + "packages/database", + "packages/gateway", + "packages/mcots", + "packages/nps", + "packages/patch", + "packages/shard", + "packages/shared", + "packages/shared-packets", + "schema" ] } diff --git a/packages/cli/package.json b/packages/cli/package.json index b1015c334..bf8e9513b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -9,12 +9,17 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", "license": "AGPL-3.0", - "devDependencies": {}, + "devDependencies": { + "@vitest/coverage-v8": "^1.6.0" + }, "dependencies": { "rusty-motors-shared": "^1.0.0", "rusty-motors-shared-packets": "^1.0.0" diff --git a/packages/cli/test/index.test.ts b/packages/cli/test/index.test.ts new file mode 100644 index 000000000..0f7944501 --- /dev/null +++ b/packages/cli/test/index.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from "vitest"; + +describe("example", () => { + it("should pass", () => { + expect(true).toBe(true); + }); +}); + diff --git a/packages/connection/package.json b/packages/connection/package.json index 9eaf7ee94..3d0f02d09 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/connection/test/Connection.test.ts b/packages/connection/test/Connection.test.ts index eb0274ade..7ec0cac52 100644 --- a/packages/connection/test/Connection.test.ts +++ b/packages/connection/test/Connection.test.ts @@ -3,7 +3,7 @@ import { createCommandEncryptionPair, verifyLegacyCipherSupport, } from "../src/Connection"; -import { McosEncryptionPair } from "../../shared"; +import { McosEncryptionPair } from "rusty-motors-shared"; vi.mock("@sentry/node", () => ({ captureException: vi.fn(), diff --git a/packages/database/package.json b/packages/database/package.json index f8b65733e..b44c64c20 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/gateway/package.json b/packages/gateway/package.json index e620d3da4..2a6dce62a 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/mcots/package.json b/packages/mcots/package.json index a9dc8bffb..c1036b0fb 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -9,15 +9,18 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", + "rusty-motors-schema": "^1.0.0", "short-unique-id": "^5.0.3" }, - "devDependencies": {}, "description": "" } diff --git a/packages/mcots/test/index.test.ts b/packages/mcots/test/index.test.ts new file mode 100644 index 000000000..0f7944501 --- /dev/null +++ b/packages/mcots/test/index.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from "vitest"; + +describe("example", () => { + it("should pass", () => { + expect(true).toBe(true); + }); +}); + diff --git a/packages/nps/package.json b/packages/nps/package.json index 59cecb994..4c861030a 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/nps/test/index.test.ts b/packages/nps/test/index.test.ts new file mode 100644 index 000000000..0f7944501 --- /dev/null +++ b/packages/nps/test/index.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from "vitest"; + +describe("example", () => { + it("should pass", () => { + expect(true).toBe(true); + }); +}); + diff --git a/packages/patch/package.json b/packages/patch/package.json index 328690171..f61c22d50 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/shard/package.json b/packages/shard/package.json index 9e5ae5ef7..b42c36338 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -10,7 +10,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 0c1177361..d969dc5f1 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -10,8 +10,11 @@ } }, "scripts": { - "build": "rm -rf dist && tsc", - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/packages/shared-packets/test/index.test.ts b/packages/shared-packets/test/index.test.ts new file mode 100644 index 000000000..0f7944501 --- /dev/null +++ b/packages/shared-packets/test/index.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from "vitest"; + +describe("example", () => { + it("should pass", () => { + expect(true).toBe(true); + }); +}); + diff --git a/packages/shared/package.json b/packages/shared/package.json index 32c2296a1..976d39e31 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -13,7 +13,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/schema/package.json b/schema/package.json index a5bff97da..d92f134de 100644 --- a/schema/package.json +++ b/schema/package.json @@ -9,7 +9,11 @@ }, "type": "module", "scripts": { - "test": "echo \"Error: no test specified\" && exit 0" + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" + }, "keywords": [], "author": "", diff --git a/schema/test/index.test.ts b/schema/test/index.test.ts new file mode 100644 index 000000000..0f7944501 --- /dev/null +++ b/schema/test/index.test.ts @@ -0,0 +1,8 @@ +import { describe, expect, it } from "vitest"; + +describe("example", () => { + it("should pass", () => { + expect(true).toBe(true); + }); +}); + From 3c9390780f428f70a2187eda546fc85430beadf7 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 13 May 2024 07:52:25 -0400 Subject: [PATCH 339/452] chore: Update dependencies to use rusty-motors packages --- apps/main/package.json | 7 +- nx.json | 19 ++ package.json | 16 +- packages/cli/vite.config.ts | 22 ++ packages/connection/index.ts | 8 +- packages/connection/test/Connection.test.ts | 2 +- packages/connection/vite.config.ts | 22 ++ .../database/src/functions/createNewCar.ts | 263 +++++++++++------- .../src/functions/getAbstractPartTypeId.ts | 58 ++-- .../src/functions/getWarehouseInventory.ts | 50 ++-- .../src/functions/transferPartAssembly.ts | 47 ++-- packages/database/src/seeders/index.ts | 2 +- .../src/seeders/populateAbstractPartType.ts | 17 +- .../database/src/seeders/populateBrand.ts | 81 +++--- .../src/seeders/populateBrandedPart.ts | 2 +- .../database/src/seeders/populateModel.ts | 2 +- .../database/src/seeders/populatePartGrade.ts | 2 +- .../database/src/seeders/populatePartType.ts | 2 +- .../database/src/seeders/populatePlayer.ts | 2 +- .../src/seeders/populatePlayerType.ts | 2 +- packages/database/src/seeders/populateSkin.ts | 2 +- .../database/src/seeders/populateSkinType.ts | 2 +- .../database/src/seeders/populateWarehouse.ts | 2 +- packages/database/test/Database.test.ts | 2 +- packages/database/vite.config.ts | 22 ++ packages/gateway/index.ts | 7 +- packages/gateway/test/GatewayServer.test.ts | 3 +- .../gateway/test/socketErrorHandler.test.ts | 4 +- packages/gateway/test/web.test.ts | 41 +-- packages/gateway/vite.config.ts | 22 ++ packages/mcots/ClientConnectionManager.ts | 2 +- packages/mcots/index.ts | 18 +- .../messageProcessors/processClientConnect.ts | 42 +-- .../processClientTracking.ts | 2 +- .../messageProcessors/processServerLogin.ts | 14 +- .../messageProcessors/processSetOptions.ts | 17 +- .../messageProcessors/processStockCarInfo.ts | 34 +-- packages/mcots/payloads/index.ts | 8 + packages/mcots/vite.config.ts | 22 ++ .../getLobMiniRiffList.ts | 25 +- .../getLobMiniUserList.ts | 17 +- .../processGetFirstBuddy.ts | 20 +- .../processGetProfileInfo.ts | 25 +- .../processGetProfileMaps.ts | 27 +- .../nps/gameMessageProcessors/processPing.ts | 15 +- .../processSelectPersona.ts | 21 +- .../gameMessageProcessors/processUserLogin.ts | 33 +-- packages/nps/index.ts | 62 ++++- packages/nps/messageStructs/GameMessage.ts | 2 +- packages/nps/messageStructs/GameProfile.ts | 6 +- packages/nps/messageStructs/MiniRiffList.ts | 18 +- packages/nps/messageStructs/MiniUserList.ts | 4 +- packages/nps/messageStructs/NPSList.ts | 2 +- packages/nps/messageStructs/ProfileList.ts | 14 +- packages/nps/messageStructs/SessionKey.ts | 31 ++- packages/nps/messageStructs/UserAction.ts | 69 ++--- packages/nps/messageStructs/UserInfo.ts | 2 +- packages/nps/vite.config.ts | 22 ++ packages/patch/vite.config.ts | 22 ++ packages/shard/vite.config.ts | 22 ++ packages/shared-packets/vite.config.ts | 22 ++ packages/shared/vite.config.ts | 22 ++ schema/vite.config.ts | 22 ++ 63 files changed, 917 insertions(+), 500 deletions(-) create mode 100644 nx.json create mode 100644 packages/cli/vite.config.ts create mode 100644 packages/connection/vite.config.ts create mode 100644 packages/database/vite.config.ts create mode 100644 packages/gateway/vite.config.ts create mode 100644 packages/mcots/payloads/index.ts create mode 100644 packages/mcots/vite.config.ts create mode 100644 packages/nps/vite.config.ts create mode 100644 packages/patch/vite.config.ts create mode 100644 packages/shard/vite.config.ts create mode 100644 packages/shared-packets/vite.config.ts create mode 100644 packages/shared/vite.config.ts create mode 100644 schema/vite.config.ts diff --git a/apps/main/package.json b/apps/main/package.json index 0707bba52..ab6a111b2 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -10,8 +10,11 @@ "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.114.0", - "@sentry/profiling-node": "^7.114.0" + "@sentry/profiling-node": "^7.114.0", + "rusty-motors-gateway": "^1.0.0", + "rusty-motors-shared": "^1.0.0", + "tsx": "^4.10.2", + "typescript": "^5.4.5" }, - "devDependencies": {}, "description": "" } diff --git a/nx.json b/nx.json new file mode 100644 index 000000000..9b9a33566 --- /dev/null +++ b/nx.json @@ -0,0 +1,19 @@ +{ + "$schema": "./node_modules/nx/schemas/nx-schema.json", + "targetDefaults": { + "check": { + "cache": true + }, + "lint": { + "cache": true + }, + "format": { + "cache": true + }, + "test": { + "cache": true + } + }, + "defaultBase": "main", + "nxCloudAccessToken": "MWE5ZDAyNTQtM2JiNC00ZmIyLWI5MDEtYzFkYjhiMzgwMGMyfHJlYWQtd3JpdGU=" +} diff --git a/package.json b/package.json index 679007314..d78ac9060 100644 --- a/package.json +++ b/package.json @@ -6,11 +6,17 @@ "type": "git", "url": "git@github.com:drazisil/mcos.git" }, - "dependencies": {}, + "dependencies": { + "rusty-motors-shared": "^1.0.0", + "ts-node": "^10.9.2", + "typescript": "^5.4.5" + }, "description": "This is a game server, being written from scratch, for a very old and long dead game. The owners of said game have shown no interest in bringing it back, but even so all names of their IP have been avoided to prevent issues.", "license": "AGPL-3.0", "private": true, - "scripts": {}, + "scripts": { + "start": "node --openssl-legacy-provider --env-file=.env --loader ts-node/esm ./apps/main/server.ts" + }, "type": "module", "workspaces": [ "apps/main", @@ -24,5 +30,9 @@ "packages/shard", "packages/shared", "packages/shared-packets", - "schema" ] + "schema" + ], + "devDependencies": { + "nx": "19.0.2" + } } diff --git a/packages/cli/vite.config.ts b/packages/cli/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/cli/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/connection/index.ts b/packages/connection/index.ts index 9ba52d1e4..0e82a9d53 100644 --- a/packages/connection/index.ts +++ b/packages/connection/index.ts @@ -1 +1,7 @@ -export { Connection } from "./src/Connection.js"; +export { + Connection, + createCommandEncryptionPair, + createDataEncryptionPair, + handleServerSocketError, + verifyLegacyCipherSupport, +} from './src/Connection.js'; diff --git a/packages/connection/test/Connection.test.ts b/packages/connection/test/Connection.test.ts index 7ec0cac52..632f132e3 100644 --- a/packages/connection/test/Connection.test.ts +++ b/packages/connection/test/Connection.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it, vi } from "vitest"; import { createCommandEncryptionPair, verifyLegacyCipherSupport, -} from "../src/Connection"; +} from "rusty-motors-connection"; import { McosEncryptionPair } from "rusty-motors-shared"; vi.mock("@sentry/node", () => ({ diff --git a/packages/connection/vite.config.ts b/packages/connection/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/connection/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/database/src/functions/createNewCar.ts b/packages/database/src/functions/createNewCar.ts index 96dddf368..84a5e907a 100644 --- a/packages/database/src/functions/createNewCar.ts +++ b/packages/database/src/functions/createNewCar.ts @@ -1,26 +1,28 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { stockAssembly as stockAssemblySchema } from "rusty-motors-schema"; -import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database"; -import { warehouse as warehouseSchema } from "rusty-motors-schema"; -import { part as partSchema } from "rusty-motors-schema"; -import { player as playerSchema } from "rusty-motors-schema"; -import { eq } from "drizzle-orm"; -import { transferPartAssembly } from "./transferPartAssembly"; -import { stockVehicleAttributes as stockVehicleAttributesSchema } from "rusty-motors-schema"; -import { tunables as tunablesSchema } from "rusty-motors-schema"; +import { eq } from 'drizzle-orm'; +import { getDatabase } from 'rusty-motors-database'; +import { + brandedPart as brandedPartSchema, + part as partSchema, + player as playerSchema, + stockAssembly as stockAssemblySchema, + stockVehicleAttributes as stockVehicleAttributesSchema, + tunables as tunablesSchema, + warehouse as warehouseSchema, +} from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; +import { transferPartAssembly } from './transferPartAssembly'; /** * Create a new car - * - * This function creates a new car for a player. - * - * The car is created using a branded part, a skin, and a trade-in part. - * The car is added to the player's lot and the trade-in part is removed from the player's lot. - * The player's account is debited for the cost of the car and the trade-in value is added to the player's account. + * + * This function creates a new car for a player. + * + * The car is created using a branded part, a skin, and a trade-in part. + * The car is added to the player's lot and the trade-in part is removed from the player's lot. + * The player's account is debited for the cost of the car and the trade-in value is added to the player's account. * The car is removed from the wholesaler's lot. - * The transaction is committed if all operations are successful. + * The transaction is committed if all operations are successful. * If any operation fails, the transaction is rolled back and an error is thrown. - * + * * @param {number} lotOwnerId * @param {number} brandedPartId * @param {number} skinId @@ -52,10 +54,10 @@ export async function createNewCar( brandedPartId: number, skinId: number, playerId: number, - tradeInId: number, + tradeInId: number ): Promise { const log = getServerLogger(); - log.setName("createNewCar"); + log.setName('createNewCar'); log.debug(`Creating new car for player ${playerId}`); let currentAbstractCarId = 0; @@ -80,32 +82,35 @@ export async function createNewCar( let carClass = 0; type record = { - partId: number, - parentPartId: number, - brandedPartId: number, - attachmentPointId: number, - abstractPartTypeId: number, - parentAbstractPartTypeId: number, - maxItemWear: number, - retailPrice: number, + partId: number; + parentPartId: number; + brandedPartId: number; + attachmentPointId: number; + abstractPartTypeId: number; + parentAbstractPartTypeId: number; + maxItemWear: number; + retailPrice: number; }; const partRecords: record[] = []; const db = getDatabase(); - const parts = await db.select().from(stockAssemblySchema).where(eq(brandedPartSchema.brandedPartId, brandedPartId)); + const parts = await db + .select() + .from(stockAssemblySchema) + .where(eq(brandedPartSchema.brandedPartId, brandedPartId)); if (parts.length === 0) { throw Error(`Branded part ${brandedPartId} not found`); } await db.transaction(async (tx) => { - log.debug("Transaction started"); + log.debug('Transaction started'); let tradeInValue = 0; let scrapyardLotId = 0; - let dealOfTheDayBrandedPartId: number | null = null + let dealOfTheDayBrandedPartId: number | null = null; let dealOfTheDayDiscount = 0; let ownerID = 0; let retailPrice = 0; @@ -113,135 +118,183 @@ export async function createNewCar( let tradeInPartCount = 0; let carPartCount = 0; - dealOfTheDayBrandedPartId = await tx.select({ - brandedPartId: warehouseSchema.brandedPartId, - }).from(warehouseSchema).where(eq(warehouseSchema.playerId, lotOwnerId)).limit(1).then((result) => { - return result[0]?.brandedPartId ?? null; - }); - + dealOfTheDayBrandedPartId = await tx + .select({ + brandedPartId: warehouseSchema.brandedPartId, + }) + .from(warehouseSchema) + .where(eq(warehouseSchema.playerId, lotOwnerId)) + .limit(1) + .then((result) => { + return result[0]?.brandedPartId ?? null; + }); if (!dealOfTheDayBrandedPartId) { - log.debug("Deal of the day not found"); + log.debug('Deal of the day not found'); } - const lotExists: boolean = await tx.select({ - playerID: warehouseSchema.playerId, - }).from(warehouseSchema).where(eq(warehouseSchema.playerId, lotOwnerId)).limit(1).then((result) => { - return !!result[0]; - }); - + const lotExists: boolean = await tx + .select({ + playerID: warehouseSchema.playerId, + }) + .from(warehouseSchema) + .where(eq(warehouseSchema.playerId, lotOwnerId)) + .limit(1) + .then((result) => { + return !!result[0]; + }); + if (!lotExists) { tx.rollback(); throw new Error(`Lot owner ${lotOwnerId} not found`); } if (tradeInId) { + const validTradeIn = await tx + .select({ + ownerID: partSchema.ownerId, + }) + .from(partSchema) + .where(eq(partSchema.partId, tradeInId)) + .limit(1) + .then((result) => { + return result[0]?.ownerID === playerId; + }); - const validTradeIn = await tx.select({ - ownerID: partSchema.ownerId, - }).from(partSchema).where(eq(partSchema.partId, tradeInId)).limit(1).then((result) => { - return result[0]?.ownerID === playerId; - }); - if (!validTradeIn) { tx.rollback(); - throw new Error(`Trade-in ${tradeInId} not owned by player ${playerId}`); - } + throw new Error( + `Trade-in ${tradeInId} not owned by player ${playerId}` + ); + } - tradeInValue = await tx.select({ - scrapValue: partSchema.scrapValue, - }).from(partSchema).where(eq(partSchema.partId, tradeInId)).limit(1).then((result) => { - return result[0]?.scrapValue ?? 0; - }); - + tradeInValue = await tx + .select({ + scrapValue: partSchema.scrapValue, + }) + .from(partSchema) + .where(eq(partSchema.partId, tradeInId)) + .limit(1) + .then((result) => { + return result[0]?.scrapValue ?? 0; + }); if (!tradeInValue) { tx.rollback(); - throw new Error(`Trade-in value not found for part ${tradeInId}`); + throw new Error( + `Trade-in value not found for part ${tradeInId}` + ); } - const scrapyardLotFound = await tx.select({ - playerID: warehouseSchema.playerId, - }).from(warehouseSchema).where(eq(warehouseSchema.playerId, scrapyardLotId)).then((result) => { - return !!result[0]; - }); - + const scrapyardLotFound = await tx + .select({ + playerID: warehouseSchema.playerId, + }) + .from(warehouseSchema) + .where(eq(warehouseSchema.playerId, scrapyardLotId)) + .then((result) => { + return !!result[0]; + }); + if (!scrapyardLotFound) { tx.rollback(); throw new Error(`Scrapyard lot ${scrapyardLotId} not found`); } - try { - const resultOfScrap = await transferPartAssembly(tradeInId, scrapyardLotId); + const resultOfScrap = await transferPartAssembly( + tradeInId, + scrapyardLotId + ); } catch (error) { log.error(`Error scrapping trade-in ${tradeInId}: ${error}`); tx.rollback(); throw error; } - + // Get the owner - - const newOwner = await tx.select().from(playerSchema).where(eq(playerSchema.playerId, playerId)).limit(1).then((result) => { - return result[0]; - }); - + + const newOwner = await tx + .select() + .from(playerSchema) + .where(eq(playerSchema.playerId, playerId)) + .limit(1) + .then((result) => { + return result[0]; + }); + if (!newOwner) { log.error(`Player ${playerId} not found`); - tx.rollback(); + tx.rollback(); throw new Error(`Player ${playerId} not found`); } - + const oldBankBalance = newOwner.bankBalance; - + if (oldBankBalance === null) { log.error(`Error getting bank balance for player ${playerId}`); tx.rollback(); - throw new Error(`Error getting bank balance for player ${playerId}`); + throw new Error( + `Error getting bank balance for player ${playerId}` + ); } - - + if (tradeInValue > 0) { const newbankBalance = oldBankBalance + tradeInValue; try { - await tx.update(playerSchema).set({ - bankBalance: newbankBalance, - }).where(eq(playerSchema.playerId, playerId)); + await tx + .update(playerSchema) + .set({ + bankBalance: newbankBalance, + }) + .where(eq(playerSchema.playerId, playerId)); } catch (error) { - log.error(`Error adding trade-in value to player ${playerId}: ${error}`); + log.error( + `Error adding trade-in value to player ${playerId}: ${error}` + ); tx.rollback(); - throw new Error(`Error adding trade-in value to player ${playerId}: ${error}`); + throw new Error( + `Error adding trade-in value to player ${playerId}: ${error}` + ); } } - + // Old car trade-in complete } - - - const result = await tx.select({ + + const result = await tx + .select({ carClass: stockVehicleAttributesSchema.carClass, - retailPrice: stockVehicleAttributesSchema.retailPrice - }).from(stockVehicleAttributesSchema).where(eq(stockVehicleAttributesSchema.brandedPartId, brandedPartId)).limit(1); + retailPrice: stockVehicleAttributesSchema.retailPrice, + }) + .from(stockVehicleAttributesSchema) + .where( + eq(stockVehicleAttributesSchema.brandedPartId, brandedPartId) + ) + .limit(1); - if (typeof result[0] === "undefined") { - tx.rollback(); - throw new Error(`Car ${brandedPartId} out of stock`); - }; + if (typeof result[0] === 'undefined') { + tx.rollback(); + throw new Error(`Car ${brandedPartId} out of stock`); + } - carClass = result[0].carClass; + carClass = result[0].carClass; retailPrice = result[0].retailPrice; if (dealOfTheDayBrandedPartId === brandedPartId) { - dealOfTheDayDiscount = await tx.select({ - discount: tunablesSchema.dealOfTheDayDiscount - }).from(tunablesSchema).limit(1).then((result) => { - return result[0]?.discount ?? 0; - }); - + dealOfTheDayDiscount = await tx + .select({ + discount: tunablesSchema.dealOfTheDayDiscount, + }) + .from(tunablesSchema) + .limit(1) + .then((result) => { + return result[0]?.discount ?? 0; + }); } - - log.debug("Transaction committed"); + + log.debug('Transaction committed'); }); log.resetName(); - return Promise.resolve(0); + return Promise.resolve(0); } diff --git a/packages/database/src/functions/getAbstractPartTypeId.ts b/packages/database/src/functions/getAbstractPartTypeId.ts index c37226f29..730a07d95 100644 --- a/packages/database/src/functions/getAbstractPartTypeId.ts +++ b/packages/database/src/functions/getAbstractPartTypeId.ts @@ -1,13 +1,15 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { part as partSchema } from "rusty-motors-schema"; -import { partType as partTypeSchema } from "rusty-motors-schema"; -import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database"; -import { eq } from "drizzle-orm"; +import { eq } from 'drizzle-orm'; +import { getDatabase } from 'rusty-motors-database'; +import { + brandedPart as brandedPartSchema, + part as partSchema, + partType as partTypeSchema, +} from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; /** * Get the abstract part type id from the partId - * + * * @param partId The part id * @returns The abstract part type id * @throws {Error} If the part ID is not found @@ -15,33 +17,37 @@ import { eq } from "drizzle-orm"; */ export async function getAbstractPartTypeId(partId: number): Promise { const log = getServerLogger(); - log.setName("getAbstractPartTypeId"); + log.setName('getAbstractPartTypeId'); log.debug(`Getting abstract part type ID for part ${partId}`); const db = getDatabase(); - const abstractPartTypeId = await db.select() - .from(partSchema) - .leftJoin(brandedPartSchema, eq(partSchema.brandedPartId, brandedPartSchema.brandedPartId)) - .leftJoin(partTypeSchema, eq(brandedPartSchema.partTypeId, partTypeSchema.partTypeId)) - .where(eq(partSchema.partId, partId)) - .limit(1) - .then((rows) => { - if (rows.length === 0) { - throw new Error(`Part ${partId} not found`); - } - - return rows[0]?.part_type?.abstractPartTypeId - }); - - if (typeof abstractPartTypeId === "undefined") { + const abstractPartTypeId = await db + .select() + .from(partSchema) + .leftJoin( + brandedPartSchema, + eq(partSchema.brandedPartId, brandedPartSchema.brandedPartId) + ) + .leftJoin( + partTypeSchema, + eq(brandedPartSchema.partTypeId, partTypeSchema.partTypeId) + ) + .where(eq(partSchema.partId, partId)) + .limit(1) + .then((rows) => { + if (rows.length === 0) { + throw new Error(`Part ${partId} not found`); + } + + return rows[0]?.part_type?.abstractPartTypeId; + }); + + if (typeof abstractPartTypeId === 'undefined') { log.error(`Abstract part type ID not found for part ${partId}`); throw new Error(`Abstract part type ID not found for part ${partId}`); } return abstractPartTypeId; } - - - diff --git a/packages/database/src/functions/getWarehouseInventory.ts b/packages/database/src/functions/getWarehouseInventory.ts index a0b2cfc1a..cc2811990 100644 --- a/packages/database/src/functions/getWarehouseInventory.ts +++ b/packages/database/src/functions/getWarehouseInventory.ts @@ -1,11 +1,13 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { getDatabase } from "../services/database.js"; -import { warehouse as warehouseSchema } from "rusty-motors-schema"; -import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; -import { stockVehicleAttributes as stockVehicleAttributesSchema } from "rusty-motors-schema"; -import { tunables as tunablesSchema } from "rusty-motors-schema"; -import { model as modelSchema } from "rusty-motors-schema"; -import { eq } from "drizzle-orm"; +import { eq } from 'drizzle-orm'; +import { getDatabase } from 'rusty-motors-database'; +import { + brandedPart as brandedPartSchema, + model as modelSchema, + stockVehicleAttributes as stockVehicleAttributesSchema, + tunables as tunablesSchema, + warehouse as warehouseSchema, +} from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; export type WarehouseInventory = { inventory: { @@ -18,13 +20,13 @@ export type WarehouseInventory = { export async function getWarehouseInventory( warehouseId: number, - brandId: number, + brandId: number ): Promise { const log = getServerLogger(); - log.setName("getWarehouseInventory"); + log.setName('getWarehouseInventory'); log.debug( - `Getting warehouse inventory for part ${brandId} in warehouse ${warehouseId}`, + `Getting warehouse inventory for part ${brandId} in warehouse ${warehouseId}` ); let inventoryCars: { @@ -45,7 +47,7 @@ export async function getWarehouseInventory( }); if (dealOfTheDayDiscount === null) { - log.debug("Deal of the day not found"); + log.debug('Deal of the day not found'); } if (brandId > 0) { @@ -60,26 +62,26 @@ export async function getWarehouseInventory( brandedPartSchema, eq( warehouseSchema.brandedPartId, - brandedPartSchema.brandedPartId, - ), + brandedPartSchema.brandedPartId + ) ) .leftJoin( modelSchema, - eq(brandedPartSchema.modelId, modelSchema.modelId), + eq(brandedPartSchema.modelId, modelSchema.modelId) ) .leftJoin( stockVehicleAttributesSchema, eq( warehouseSchema.brandedPartId, - stockVehicleAttributesSchema.brandedPartId, - ), + stockVehicleAttributesSchema.brandedPartId + ) ) .where( eq( eq(warehouseSchema.playerId, warehouseId), - eq(modelSchema.brandId, brandId), - ), + eq(modelSchema.brandId, brandId) + ) ); } else { inventoryCars = await getDatabase() @@ -93,20 +95,20 @@ export async function getWarehouseInventory( brandedPartSchema, eq( warehouseSchema.brandedPartId, - brandedPartSchema.brandedPartId, - ), + brandedPartSchema.brandedPartId + ) ) .leftJoin( modelSchema, - eq(brandedPartSchema.modelId, modelSchema.modelId), + eq(brandedPartSchema.modelId, modelSchema.modelId) ) .leftJoin( stockVehicleAttributesSchema, eq( warehouseSchema.brandedPartId, - stockVehicleAttributesSchema.brandedPartId, - ), + stockVehicleAttributesSchema.brandedPartId + ) ) .where(eq(warehouseSchema.playerId, warehouseId)); } diff --git a/packages/database/src/functions/transferPartAssembly.ts b/packages/database/src/functions/transferPartAssembly.ts index 65d360086..85e7cd1b0 100644 --- a/packages/database/src/functions/transferPartAssembly.ts +++ b/packages/database/src/functions/transferPartAssembly.ts @@ -1,10 +1,12 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { getDatabase } from "../services/database"; -import { part as partSchema } from "rusty-motors-schema"; -import { vehicle as vehicleSchema } from "rusty-motors-schema"; -import { player as playerSchema } from "rusty-motors-schema"; -import { getAbstractPartTypeId } from "./getAbstractPartTypeId"; -import { eq } from "drizzle-orm"; +import { eq } from 'drizzle-orm'; +import { getDatabase } from 'rusty-motors-database'; +import { + part as partSchema, + player as playerSchema, + vehicle as vehicleSchema, +} from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; +import { getAbstractPartTypeId } from './getAbstractPartTypeId'; const ABSTRACT_PART_TYPE_ID_CAR = 101; @@ -25,14 +27,14 @@ const ABSTRACT_PART_TYPE_ID_CAR = 101; */ export async function transferPartAssembly( partId: number, - newOwnerId: number, + newOwnerId: number ): Promise { const log = getServerLogger(); const db = getDatabase(); - log.setName("transferPartAssembly"); + log.setName('transferPartAssembly'); log.debug( - `Transferring part assembly ${partId} to new owner ${newOwnerId}`, + `Transferring part assembly ${partId} to new owner ${newOwnerId}` ); const topPart = await db @@ -42,7 +44,7 @@ export async function transferPartAssembly( .limit(1) .then((rows) => rows[0]); - if (typeof topPart === "undefined") { + if (typeof topPart === 'undefined') { log.error(`Part ${partId} not found`); throw new Error(`Part ${partId} not found`); } @@ -83,10 +85,10 @@ export async function transferPartAssembly( try { // If the part is a car, update the owner ID in the vehicle table const isPartACar = await getAbstractPartTypeId( - topPart.brandedPartId, + topPart.brandedPartId ).then( (abstractPartTypeId) => - abstractPartTypeId === ABSTRACT_PART_TYPE_ID_CAR, + abstractPartTypeId === ABSTRACT_PART_TYPE_ID_CAR ); if (isPartACar) { @@ -97,7 +99,7 @@ export async function transferPartAssembly( .limit(1) .then((rows) => rows[0]); - if (typeof car === "undefined") { + if (typeof car === 'undefined') { log.error(`Vehicle ${partId} not found`); throw Error(`Vehicle ${partId} not found`); } @@ -110,7 +112,7 @@ export async function transferPartAssembly( .limit(1) .then((rows) => rows[0]); - if (typeof oldOwner === "undefined") { + if (typeof oldOwner === 'undefined') { log.error(`Owner ${topPart.ownerId} not found`); throw Error(`Owner ${topPart.ownerId} not found`); } @@ -124,10 +126,14 @@ export async function transferPartAssembly( .where(eq(playerSchema.playerId, topPart.ownerId)); } catch (error) { log.error( - `Error updating old owner ${topPart.ownerId}: ${String(error)}`, + `Error updating old owner ${topPart.ownerId}: ${String( + error + )}` ); throw new Error( - `Error updating old owner ${topPart.ownerId}: ${String(error)}`, + `Error updating old owner ${topPart.ownerId}: ${String( + error + )}` ); } } else { @@ -143,9 +149,10 @@ export async function transferPartAssembly( } // Update the parent part's owner ID - await db.update(partSchema).set({ ownerId: newOwnerId }).where( - eq(partSchema.partId, partId), - ); + await db + .update(partSchema) + .set({ ownerId: newOwnerId }) + .where(eq(partSchema.partId, partId)); } catch (error) { log.error(`Error transferring part ${partId}: ${String(error)}`); throw new Error(`Error transferring part ${partId}: ${String(error)}`); diff --git a/packages/database/src/seeders/index.ts b/packages/database/src/seeders/index.ts index e56375b40..997f8e135 100644 --- a/packages/database/src/seeders/index.ts +++ b/packages/database/src/seeders/index.ts @@ -1,4 +1,4 @@ -import { player as playerSchema } from "../../../..//schema/player"; +import { player as playerSchema } from "rusty-motors-schema"; const playerCsvHeader = [ "player_id", diff --git a/packages/database/src/seeders/populateAbstractPartType.ts b/packages/database/src/seeders/populateAbstractPartType.ts index b51c58294..8081eca79 100644 --- a/packages/database/src/seeders/populateAbstractPartType.ts +++ b/packages/database/src/seeders/populateAbstractPartType.ts @@ -1,13 +1,13 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { abstractPartType as abstractPartTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; -import * as Sentry from "@sentry/node"; +import * as Sentry from '@sentry/node'; +import { getDatabase } from 'rusty-motors-database'; +import { abstractPartType as abstractPartTypeSchema } from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); export async function populateAbstractPartType(): Promise { - log.setName("seeders/populateAbstractPartType"); + log.setName('seeders/populateAbstractPartType'); - log.debug("Seeding abstractPartType"); + log.debug('Seeding abstractPartType'); await getDatabase() .insert(abstractPartTypeSchema) @@ -17,7 +17,7 @@ export async function populateAbstractPartType(): Promise { // parentAbstractPartTypeId: null, // dependsOn: null, // partFilename: null, - eAPT: "Vehicle", + eAPT: 'Vehicle', // gAPT: null, // fAPT: null, // sAPT: null, @@ -45,11 +45,10 @@ export async function populateAbstractPartType(): Promise { ]) .onConflictDoNothing() .then(() => { - log.debug("abstractPartType seeded"); + log.debug('abstractPartType seeded'); }) .catch((error: Error) => { log.error(`Error seeding abstractPartType: ${error.message}`); Sentry.captureException(error); }); } - diff --git a/packages/database/src/seeders/populateBrand.ts b/packages/database/src/seeders/populateBrand.ts index 7eb149814..fca016f9b 100644 --- a/packages/database/src/seeders/populateBrand.ts +++ b/packages/database/src/seeders/populateBrand.ts @@ -1,121 +1,120 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { brand as brandSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; -import * as Sentry from "@sentry/node"; +import * as Sentry from '@sentry/node'; +import { getDatabase } from 'rusty-motors-database'; +import { brand as brandSchema } from 'rusty-motors-schema'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); export async function populateBrand(): Promise { - log.setName("seeders/populateBrand"); + log.setName('seeders/populateBrand'); - log.debug("Seeding brand"); + log.debug('Seeding brand'); await getDatabase() .insert(brandSchema) .values([ { brandId: 1, - brand: "Ford", - picName: "ford", + brand: 'Ford', + picName: 'ford', isStock: 9, }, { brandId: 2, - brand: "Mercury", - picName: "merc", + brand: 'Mercury', + picName: 'merc', isStock: 9, }, { brandId: 3, - brand: "Chevrolet", - picName: "chev", + brand: 'Chevrolet', + picName: 'chev', isStock: 9, }, { brandId: 4, - brand: "Cadillac", - picName: "cadi", + brand: 'Cadillac', + picName: 'cadi', isStock: 9, }, { brandId: 5, - brand: "Oldsmobile", - picName: "olds", + brand: 'Oldsmobile', + picName: 'olds', isStock: 9, }, { brandId: 6, - brand: "Buick", - picName: "buic", + brand: 'Buick', + picName: 'buic', isStock: 9, }, { brandId: 7, - brand: "Pontiac", - picName: "pont", + brand: 'Pontiac', + picName: 'pont', isStock: 9, }, { brandId: 8, - brand: "Chrysler", - picName: "chry", + brand: 'Chrysler', + picName: 'chry', isStock: 9, }, { brandId: 9, - brand: "Dodge", - picName: "dodg", + brand: 'Dodge', + picName: 'dodg', isStock: 9, }, { brandId: 10, - brand: "Plymouth", - picName: "plym", + brand: 'Plymouth', + picName: 'plym', isStock: 9, }, { brandId: 11, - brand: "AMC", - picName: "amer", + brand: 'AMC', + picName: 'amer', isStock: 9, }, { brandId: 12, - brand: "AMC", + brand: 'AMC', picName: null, isStock: 9, }, { brandId: 13, - brand: "Edelbrock", - picName: "edel", + brand: 'Edelbrock', + picName: 'edel', isStock: 9, }, { brandId: 14, - brand: "Holley", - picName: "holl", + brand: 'Holley', + picName: 'holl', isStock: 9, }, { brandId: 15, - brand: "GM", - picName: "gm", + brand: 'GM', + picName: 'gm', isStock: 9, }, { brandId: 16, - brand: "Rochester", - picName: "roch", - isStock: 9 - } + brand: 'Rochester', + picName: 'roch', + isStock: 9, + }, ]) .onConflictDoNothing() .then(() => { - log.debug("Brand seeded"); + log.debug('Brand seeded'); }) .catch((error: Error) => { log.error(`Error seeding brand: ${error.message}`); Sentry.captureException(error); }); } - diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts index 201656417..68677aa25 100644 --- a/packages/database/src/seeders/populateBrandedPart.ts +++ b/packages/database/src/seeders/populateBrandedPart.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts index e4102ec88..28cb80581 100644 --- a/packages/database/src/seeders/populateModel.ts +++ b/packages/database/src/seeders/populateModel.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { model as modelSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts index d7cc274ff..fd7464416 100644 --- a/packages/database/src/seeders/populatePartGrade.ts +++ b/packages/database/src/seeders/populatePartGrade.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { partGrade as partGradeSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts index 7b3ce0809..182f36876 100644 --- a/packages/database/src/seeders/populatePartType.ts +++ b/packages/database/src/seeders/populatePartType.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { partType as partTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePlayer.ts b/packages/database/src/seeders/populatePlayer.ts index 603bacb4e..4ac7eae6a 100644 --- a/packages/database/src/seeders/populatePlayer.ts +++ b/packages/database/src/seeders/populatePlayer.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { player as playerSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populatePlayerType.ts b/packages/database/src/seeders/populatePlayerType.ts index 374ff1982..8808b2b81 100644 --- a/packages/database/src/seeders/populatePlayerType.ts +++ b/packages/database/src/seeders/populatePlayerType.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { playerType as playerTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts index 48beabc3b..f3c1c7b40 100644 --- a/packages/database/src/seeders/populateSkin.ts +++ b/packages/database/src/seeders/populateSkin.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { skin as skinSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts index 53e030880..3927e0ab6 100644 --- a/packages/database/src/seeders/populateSkinType.ts +++ b/packages/database/src/seeders/populateSkinType.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { skinType as skinTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database.js"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/src/seeders/populateWarehouse.ts b/packages/database/src/seeders/populateWarehouse.ts index eca2b4fea..e6f4b986d 100644 --- a/packages/database/src/seeders/populateWarehouse.ts +++ b/packages/database/src/seeders/populateWarehouse.ts @@ -1,6 +1,6 @@ import { getServerLogger } from "rusty-motors-shared"; import { warehouse as wareHouseSchema } from "rusty-motors-schema"; -import { getDatabase } from "../services/database"; +import { getDatabase } from "rusty-motors-database"; import * as Sentry from "@sentry/node"; const log = getServerLogger(); diff --git a/packages/database/test/Database.test.ts b/packages/database/test/Database.test.ts index c91377391..e89386b47 100644 --- a/packages/database/test/Database.test.ts +++ b/packages/database/test/Database.test.ts @@ -3,7 +3,7 @@ import { fetchSessionKeyByCustomerId, fetchSessionKeyByConnectionId, updateUser, -} from "../../database"; +} from "rusty-motors-database"; diff --git a/packages/database/vite.config.ts b/packages/database/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/database/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/gateway/index.ts b/packages/gateway/index.ts index 4f86d8559..abb99da65 100644 --- a/packages/gateway/index.ts +++ b/packages/gateway/index.ts @@ -1 +1,6 @@ -export { getGatewayServer } from "./src/GatewayServer.js"; +export { getGatewayServer, Gateway } from './src/GatewayServer.js'; +export { + socketErrorHandler, + onSocketConnection, + socketEndHandler, +} from './src/index.js'; diff --git a/packages/gateway/test/GatewayServer.test.ts b/packages/gateway/test/GatewayServer.test.ts index cf21906b4..7b291ddba 100644 --- a/packages/gateway/test/GatewayServer.test.ts +++ b/packages/gateway/test/GatewayServer.test.ts @@ -1,6 +1,5 @@ import type { TServerLogger, TGatewayOptions } from "rusty-motors-shared"; -import { getGatewayServer } from "../"; -import { Gateway } from "../src/GatewayServer"; +import { getGatewayServer, Gateway } from "rusty-motors-gateway"; import { describe, it, expect, vi, beforeEach, afterEach } from "vitest"; describe("getGatewayServer", () => { diff --git a/packages/gateway/test/socketErrorHandler.test.ts b/packages/gateway/test/socketErrorHandler.test.ts index 0e4e991ab..08f939bd9 100644 --- a/packages/gateway/test/socketErrorHandler.test.ts +++ b/packages/gateway/test/socketErrorHandler.test.ts @@ -1,5 +1,5 @@ -import type { TServerLogger } from "../../shared"; -import { socketErrorHandler } from "../src/index.js"; +import type { TServerLogger } from "rusty-motors-shared"; +import { socketErrorHandler } from "rusty-motors-gateway"; import { describe, it, expect, vi } from "vitest"; describe("socketErrorHandler", () => { diff --git a/packages/gateway/test/web.test.ts b/packages/gateway/test/web.test.ts index f0dec159c..886ddac2f 100644 --- a/packages/gateway/test/web.test.ts +++ b/packages/gateway/test/web.test.ts @@ -1,50 +1,51 @@ -import { describe, it, expect, vi } from "vitest"; -import { generateShardList } from "../../shard/src/ShardServer"; import { + generateShardList, handleGetCert, handleGetKey, handleGetRegistry, -} from "../../shard/src/index"; +} from 'rusty-motors-shard'; +import { describe, expect, it, vi } from 'vitest'; function mockConfig() { return { - certificateFile: "test", - privateKeyFile: "test", - publicKeyFile: "test", - host: "test", + certificateFile: 'test', + privateKeyFile: 'test', + publicKeyFile: 'test', + host: 'test', }; } -describe("web", () => { - it("handleGetCert", async () => { - vi.mock("node:fs/promises", async (importOriginal) => { - const originalModule = await importOriginal() as typeof import("node:fs/promises"); +describe('web', () => { + it('handleGetCert', async () => { + vi.mock('node:fs/promises', async (importOriginal) => { + const originalModule = + (await importOriginal()) as typeof import('node:fs/promises'); return { - ...originalModule, - readFile: vi.fn().mockResolvedValue("test"), + ...originalModule, + readFile: vi.fn().mockResolvedValue('test'), }; }); const config = mockConfig(); const result = await handleGetCert(config); - expect(result).toBe("test"); + expect(result).toBe('test'); }); - it("handleGetRegistry", () => { + it('handleGetRegistry', () => { const config = mockConfig(); const result = handleGetRegistry(config); - expect(result).toContain("Windows Registry Editor Version 5.00"); + expect(result).toContain('Windows Registry Editor Version 5.00'); expect(result).toContain('"ShardUrlDev"="http://test/ShardList/"'); }); - it("handleGetKey", async () => { + it('handleGetKey', async () => { const config = mockConfig(); const result = await handleGetKey(config); - expect(result).toBe("test"); + expect(result).toBe('test'); }); - it("generateShardList", () => { + it('generateShardList', () => { const config = mockConfig(); const result = generateShardList(config.host); - expect(result).toContain("LoginServerIP=test"); + expect(result).toContain('LoginServerIP=test'); }); }); diff --git a/packages/gateway/vite.config.ts b/packages/gateway/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/gateway/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/mcots/ClientConnectionManager.ts b/packages/mcots/ClientConnectionManager.ts index 7839e06ab..5a9151c78 100644 --- a/packages/mcots/ClientConnectionManager.ts +++ b/packages/mcots/ClientConnectionManager.ts @@ -1,4 +1,4 @@ -import type { Connection } from "../connection/src/Connection"; +import type { Connection } from "rusty-motors-connection"; export class ClientConnectionManager { static _instance: ClientConnectionManager; diff --git a/packages/mcots/index.ts b/packages/mcots/index.ts index 32c570bc0..72fc21311 100644 --- a/packages/mcots/index.ts +++ b/packages/mcots/index.ts @@ -1,8 +1,18 @@ +export { ClientConnectionManager } from './ClientConnectionManager.js'; +export { ErrorNoKey } from './errors/ErrorNoKey.js'; export { - populateServerMessageProcessors, getServerMessageProcessor, -} from "./messageProcessors/index.js"; -export { ClientConnectionManager } from "./ClientConnectionManager.js"; -export { ErrorNoKey } from "./errors/ErrorNoKey.js"; + populateServerMessageProcessors, +} from './messageProcessors/index.js'; +export type { ServerSocketCallback } from './messageProcessors/index.js'; +export { + ClientConnectionMessage, + ClientTrackingMessage, + LoginMessage, + LoginCompleteMessage, + SetOptionsMessage, + StackCarInfo, + StockCar, +} from './payloads/index.js'; // Path: packages/mcots/index.ts diff --git a/packages/mcots/messageProcessors/processClientConnect.ts b/packages/mcots/messageProcessors/processClientConnect.ts index 13d1949b8..8f33004ff 100644 --- a/packages/mcots/messageProcessors/processClientConnect.ts +++ b/packages/mcots/messageProcessors/processClientConnect.ts @@ -1,39 +1,39 @@ +import { createDataEncryptionPair } from 'rusty-motors-connection'; +import type { ServerSocketCallback } from 'rusty-motors-mcots'; import { - ServerMessage, -} from "../../shared-packets/src/ServerMessage.js"; -import type { ServerSocketCallback } from "./index.js"; -import { getServerLogger } from "rusty-motors-shared"; -import { ClientConnectionMessage } from "../payloads/ClientConnectMessage.js"; -import { UserStatusManager } from "rusty-motors-nps"; -import { ClientConnectionManager } from "../ClientConnectionManager.js"; -import { createDataEncryptionPair } from "../../connection/src/Connection.js"; -import { ErrorNoKey } from "../errors/ErrorNoKey.js"; -import { sendSuccess } from "./sendSuccess.js"; + ClientConnectionManager, + ClientConnectionMessage, + ErrorNoKey, +} from 'rusty-motors-mcots'; +import { UserStatusManager } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; +import { ServerMessage } from 'rusty-motors-shared-packets'; +import { sendSuccess } from './sendSuccess.js'; const log = getServerLogger(); export async function processClientConnect( connectionId: string, message: ServerMessage, - socketCallback: ServerSocketCallback, + socketCallback: ServerSocketCallback ): Promise { - log.setName("processClientConnect"); + log.setName('processClientConnect'); try { log.debug(`Processing client connect request: ${message.toString()}`); const request = new ClientConnectionMessage( - message.getDataBuffer().length, + message.getDataBuffer().length ).deserialize(message.getDataBuffer()); log.debug(`Received client connect request: ${request.toString()}`); const userStatus = UserStatusManager.getUserStatus( - request.getCustomerId(), + request.getCustomerId() ); if (!userStatus) { log.error( - `User status not found for customer ID: ${request.getCustomerId()}`, + `User status not found for customer ID: ${request.getCustomerId()}` ); return; } @@ -45,7 +45,7 @@ export async function processClientConnect( if (!connection) { log.error( - `Connection not found for connection ID: ${connectionId}`, + `Connection not found for connection ID: ${connectionId}` ); return; } @@ -56,7 +56,7 @@ export async function processClientConnect( if (!sessionKey) { log.error( - `Session key not found for customer ID: ${request.getCustomerId()}`, + `Session key not found for customer ID: ${request.getCustomerId()}` ); return; } @@ -66,21 +66,21 @@ export async function processClientConnect( connection.setCipherPair(cipherPair); sendSuccess(message, socketCallback); - + log.resetName(); return Promise.resolve(); } catch (error) { if (error instanceof ErrorNoKey) { log.error( - `Error processing client connect request: ${error.message}`, + `Error processing client connect request: ${error.message}` ); } else { log.error( - `Error processing client connect request: ${error as string}`, + `Error processing client connect request: ${error as string}` ); throw error; } } } -// Path: packages/mcots/messageProcessors/processClientConnect.ts \ No newline at end of file +// Path: packages/mcots/messageProcessors/processClientConnect.ts diff --git a/packages/mcots/messageProcessors/processClientTracking.ts b/packages/mcots/messageProcessors/processClientTracking.ts index 86f16c3f4..94c748511 100644 --- a/packages/mcots/messageProcessors/processClientTracking.ts +++ b/packages/mcots/messageProcessors/processClientTracking.ts @@ -1,7 +1,7 @@ import type { ServerSocketCallback } from "./index.js"; import type { ServerMessage } from "rusty-motors-shared-packets"; import { getServerLogger } from "rusty-motors-shared"; -import { ClientTrackingMessage } from "../payloads/ClientTrackingMessage.js"; +import { ClientTrackingMessage } from "rusty-motors-mcots"; const log = getServerLogger(); diff --git a/packages/mcots/messageProcessors/processServerLogin.ts b/packages/mcots/messageProcessors/processServerLogin.ts index f4bb5f17e..a643726a3 100644 --- a/packages/mcots/messageProcessors/processServerLogin.ts +++ b/packages/mcots/messageProcessors/processServerLogin.ts @@ -1,17 +1,16 @@ -import type { ServerSocketCallback } from "./index.js"; -import { ServerMessage } from "rusty-motors-shared-packets"; -import { LoginMessage } from "../payloads/LoginMessage.js"; -import { getServerLogger } from "rusty-motors-shared"; -import { LoginCompleteMessage } from "../payloads/LoginCompleteMessage.js"; +import { LoginCompleteMessage, LoginMessage } from 'rusty-motors-mcots'; +import { getServerLogger } from 'rusty-motors-shared'; +import { ServerMessage } from 'rusty-motors-shared-packets'; +import type { ServerSocketCallback } from './index.js'; const log = getServerLogger(); export async function processServerLogin( connectionId: string, message: ServerMessage, - socketCallback: ServerSocketCallback, + socketCallback: ServerSocketCallback ): Promise { - log.setName("processServerLogin"); + log.setName('processServerLogin'); // Read the inbound packet const loginMessage = new LoginMessage(message.getDataBuffer().length); loginMessage.deserialize(message.getDataBuffer()); @@ -30,7 +29,6 @@ export async function processServerLogin( responsePacket.setData(response); responsePacket.populateHeader(message.getSequence()); - socketCallback([responsePacket]); log.resetName(); return Promise.resolve(); diff --git a/packages/mcots/messageProcessors/processSetOptions.ts b/packages/mcots/messageProcessors/processSetOptions.ts index 4a0a1e32e..e3f37d0ef 100644 --- a/packages/mcots/messageProcessors/processSetOptions.ts +++ b/packages/mcots/messageProcessors/processSetOptions.ts @@ -1,21 +1,20 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { ServerMessage } from "rusty-motors-shared-packets"; -import { SetOptionsMessage } from "../payloads/SetOptionsMessage.js"; -import type { ServerSocketCallback } from "./index.js"; -import { sendSuccess } from "./sendSuccess.js"; +import { SetOptionsMessage } from 'rusty-motors-mcots'; +import { getServerLogger } from 'rusty-motors-shared'; +import { ServerMessage } from 'rusty-motors-shared-packets'; +import type { ServerSocketCallback } from './index.js'; +import { sendSuccess } from './sendSuccess.js'; const log = getServerLogger(); - export async function processSetOptions( connectionId: string, message: ServerMessage, - socketCallback: ServerSocketCallback, + socketCallback: ServerSocketCallback ) { - log.setName("processSetOptions"); + log.setName('processSetOptions'); log.info(`Processing SetOptionsMessage`); const setOptionsMessage = new SetOptionsMessage().deserialize( - message.getDataBuffer(), + message.getDataBuffer() ); log.info(`SetOptionsMessage: ${setOptionsMessage.toString()}`); diff --git a/packages/mcots/messageProcessors/processStockCarInfo.ts b/packages/mcots/messageProcessors/processStockCarInfo.ts index 0c3ead7f5..288f80774 100644 --- a/packages/mcots/messageProcessors/processStockCarInfo.ts +++ b/packages/mcots/messageProcessors/processStockCarInfo.ts @@ -1,14 +1,14 @@ -import { - ServerGenericRequest, - ServerMessage, -} from "rusty-motors-shared-packets"; -import type { ServerSocketCallback } from "./index.js"; -import { getServerLogger } from "rusty-motors-shared"; import { getWarehouseInventory, type WarehouseInventory, -} from "rusty-motors-database"; -import { StackCarInfo, StockCar } from "../payloads/StockCar.js"; +} from 'rusty-motors-database'; +import { StackCarInfo, StockCar } from 'rusty-motors-mcots'; +import { getServerLogger } from 'rusty-motors-shared'; +import { + ServerGenericRequest, + ServerMessage, +} from 'rusty-motors-shared-packets'; +import type { ServerSocketCallback } from './index.js'; const log = getServerLogger(); @@ -17,14 +17,14 @@ const log = getServerLogger(); export async function processStockCarInfo( connectionId: string, message: ServerMessage, - socketCallback: ServerSocketCallback, + socketCallback: ServerSocketCallback ): Promise { - log.setName("processStockCarInfo"); + log.setName('processStockCarInfo'); try { log.debug(`Processing stock car info message`); const request = new ServerGenericRequest().deserialize( - message.data.serialize(), + message.data.serialize() ); log.debug(`Received stock car info request: ${request.toString()}`); @@ -36,11 +36,11 @@ export async function processStockCarInfo( const inventoryCars: WarehouseInventory = await getWarehouseInventory( lotOwnerId, - brandId, + brandId ); log.debug( - `Sending car info for lot owner ${lotOwnerId} and brand ${brandId}`, + `Sending car info for lot owner ${lotOwnerId} and brand ${brandId}` ); const responsePacket = new StackCarInfo(); @@ -56,7 +56,7 @@ export async function processStockCarInfo( inventoryCars.inventory.length > StackCarInfo.MAX_CARS_PER_MESSAGE ) { log.error( - `Too many cars in inventory: ${inventoryCars.inventory.length}`, + `Too many cars in inventory: ${inventoryCars.inventory.length}` ); return; } @@ -66,7 +66,7 @@ export async function processStockCarInfo( while (inventoryCars.inventory.length > 0) { const car = inventoryCars.inventory.shift(); - if (typeof car === "undefined") { + if (typeof car === 'undefined') { log.error(`Car not found`); break; } @@ -88,7 +88,9 @@ export async function processStockCarInfo( responsePacket.addCar(stockCar); } - log.debug(`Sending ${responsePacket.getNumberOfCars()} cars...complete`); + log.debug( + `Sending ${responsePacket.getNumberOfCars()} cars...complete` + ); responsePacket.setMoreCars(false); diff --git a/packages/mcots/payloads/index.ts b/packages/mcots/payloads/index.ts new file mode 100644 index 000000000..e49a30f67 --- /dev/null +++ b/packages/mcots/payloads/index.ts @@ -0,0 +1,8 @@ +export { ClientConnectionMessage } from './ClientConnectMessage.js'; +export { ClientTrackingMessage } from './ClientTrackingMessage.js'; +export { LoginMessage } from './LoginMessage.js'; +export { LoginCompleteMessage } from './LoginCompleteMessage.js'; +export { SetOptionsMessage } from './SetOptionsMessage.js'; +export { StackCarInfo, StockCar } from './StockCar.js'; + +// Path: packages/mcots/payloads/index.ts diff --git a/packages/mcots/vite.config.ts b/packages/mcots/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/mcots/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts b/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts index 922c6cadb..caf5b719c 100644 --- a/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts +++ b/packages/nps/gameMessageProcessors/getLobMiniRiffList.ts @@ -1,23 +1,26 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { MiniRiffInfo, MiniRiffList } from "../messageStructs/MiniRiffList.js"; -import { getAsHex } from "../src/utils/pureGet.js"; +import { + GameMessage, + MiniRiffInfo, + MiniRiffList, + getAsHex, +} from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); // Command id: 0x30c export async function getLobMiniRiffList( commandId: number, - data: Buffer, + data: Buffer ): Promise { - log.setName("nps:getLobMiniRiffList"); + log.setName('nps:getLobMiniRiffList'); log.info(`Processing getLobMiniRiffList command: ${getAsHex(data)}`); const riffList = new MiniRiffList(); - riffList.addRiff(new MiniRiffInfo("CTRL", 0, 1)); - riffList.addRiff(new MiniRiffInfo("MC141", 141, 0)); - riffList.addRiff(new MiniRiffInfo("MCCHAT", 191, 0)); + riffList.addRiff(new MiniRiffInfo('CTRL', 0, 1)); + riffList.addRiff(new MiniRiffInfo('MC141', 141, 0)); + riffList.addRiff(new MiniRiffInfo('MCCHAT', 191, 0)); log.info(`getLobMiniRiffList: ${riffList.toString()}`); @@ -25,12 +28,12 @@ export async function getLobMiniRiffList( responseMessage.header.setId(0x404); responseMessage.setData(riffList); - log.info("Dumping responseMessage: "); + log.info('Dumping responseMessage: '); log.info( `responseMessage: ${ responseMessage.serialize().length - } bytes - ${getAsHex(responseMessage.serialize())}`, + } bytes - ${getAsHex(responseMessage.serialize())}` ); return responseMessage.serialize(); diff --git a/packages/nps/gameMessageProcessors/getLobMiniUserList.ts b/packages/nps/gameMessageProcessors/getLobMiniUserList.ts index 2c4387c9a..ad09e529d 100644 --- a/packages/nps/gameMessageProcessors/getLobMiniUserList.ts +++ b/packages/nps/gameMessageProcessors/getLobMiniUserList.ts @@ -1,21 +1,24 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { MiniUserInfo, MiniUserList } from "../messageStructs/MiniUserList.js"; -import { getAsHex } from "../src/utils/pureGet.js"; +import { + GameMessage, + MiniUserInfo, + MiniUserList, + getAsHex, +} from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); // Command id: 0x128 export async function getLobMiniUserList( commandId: number, - data: Buffer, + data: Buffer ): Promise { - log.setName("nps:getLobMiniUserList"); + log.setName('nps:getLobMiniUserList'); log.info(`Processing getLobMiniUserList command: ${getAsHex(data)}`); const miniUserList = new MiniUserList(0); - miniUserList.addChannelUser(new MiniUserInfo(1000, "Molly")); + miniUserList.addChannelUser(new MiniUserInfo(1000, 'Molly')); const responseMessage = new GameMessage(0); responseMessage.header.setId(0x229); diff --git a/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts b/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts index c39c12904..64325db04 100644 --- a/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts +++ b/packages/nps/gameMessageProcessors/processGetFirstBuddy.ts @@ -1,14 +1,14 @@ import { GameMessage, + ProfileList, SerializableData, -} from "../messageStructs/GameMessage.js"; -import { getDWord } from "../src/utils/pureGet.js"; -import type { GameSocketCallback } from "./index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; + getDWord, + getGameProfilesForCustomerId, +} from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; -import { getServerLogger } from "rusty-motors-shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; +import type { UserStatus } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -16,9 +16,9 @@ export async function processFirstBuddy( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processFirstBuddy"); + log.setName('nps:processFirstBuddy'); const profileId = getDWord(message.getDataAsBuffer(), 0, false); log.info(`GetFirstBuddy profile: ${profileId}`); @@ -36,7 +36,7 @@ export async function processFirstBuddy( // Log the message log.info(`GetFirstBuddy: ${outMessage.toString()}`); - log.info("==========================================="); + log.info('==========================================='); socketCallback([outMessage.serialize()]); log.resetName(); diff --git a/packages/nps/gameMessageProcessors/processGetProfileInfo.ts b/packages/nps/gameMessageProcessors/processGetProfileInfo.ts index 2732b6864..ea648243d 100644 --- a/packages/nps/gameMessageProcessors/processGetProfileInfo.ts +++ b/packages/nps/gameMessageProcessors/processGetProfileInfo.ts @@ -1,11 +1,14 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { getDWord, getAsHex } from "../src/utils/pureGet.js"; -import type { GameSocketCallback } from "./index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; +import { + GameMessage, + ProfileList, + getAsHex, + getDWord, + getGameProfilesForCustomerId, +} from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; -import { getServerLogger } from "rusty-motors-shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; +import type { UserStatus } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -13,9 +16,9 @@ export async function processGetProfileInfo( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processGetProfileInfo"); + log.setName('nps:processGetProfileInfo'); const customerId = getDWord(message.serialize(), 0, false); log.info(`GetProfileInfo: ${customerId}`); @@ -51,13 +54,13 @@ export async function processGetProfileInfo( // Log the message log.info(`GetProfileInfo: ${outMessage.toString()}`); - log.info("==========================================="); + log.info('==========================================='); socketCallback([outMessage.serialize()]); log.resetName(); return Promise.resolve(); } catch (error) { log.error(`Error sending profile info: ${error as string}`); - throw new Error("Error sending profile info"); + throw new Error('Error sending profile info'); } } diff --git a/packages/nps/gameMessageProcessors/processGetProfileMaps.ts b/packages/nps/gameMessageProcessors/processGetProfileMaps.ts index bc582d296..a97737efd 100644 --- a/packages/nps/gameMessageProcessors/processGetProfileMaps.ts +++ b/packages/nps/gameMessageProcessors/processGetProfileMaps.ts @@ -1,11 +1,14 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { getDWord, getAsHex } from "../src/utils/pureGet.js"; -import type { GameSocketCallback } from "./index.js"; -import { getGameProfilesForCustomerId } from "../services/profile.js"; -import { ProfileList } from "../messageStructs/ProfileList.js"; - -import { getServerLogger } from "rusty-motors-shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; +import { + GameMessage, + ProfileList, + getAsHex, + getDWord, + getGameProfilesForCustomerId, +} from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; + +import type { UserStatus } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -13,9 +16,9 @@ export async function processGetProfileMaps( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processGetProfileMaps"); + log.setName('nps:processGetProfileMaps'); // This message is a version 257, but it's version is set to 0 // This is a bug in the client, so we need to generate a new message // with the correct version @@ -56,13 +59,13 @@ export async function processGetProfileMaps( // Log the message log.info(`GetProfileMaps: ${outMessage.toString()}`); - log.info("==========================================="); + log.info('==========================================='); socketCallback([outMessage.serialize()]); log.resetName(); return Promise.resolve(); } catch (error) { log.error(`Error sending profile info: ${error as string}`); - throw new Error("Error sending profile info"); + throw new Error('Error sending profile info'); } } diff --git a/packages/nps/gameMessageProcessors/processPing.ts b/packages/nps/gameMessageProcessors/processPing.ts index 875427412..886be08b2 100644 --- a/packages/nps/gameMessageProcessors/processPing.ts +++ b/packages/nps/gameMessageProcessors/processPing.ts @@ -1,9 +1,9 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { GameSocketCallback } from "./index.js"; +import { GameMessage } from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; -import { getServerLogger } from "rusty-motors-shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; -import { sendNPSAck } from "../src/utils/sendNPSAck.js"; +import type { UserStatus } from 'rusty-motors-nps'; +import { sendNPSAck } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -11,13 +11,12 @@ export async function processPing( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processPing"); + log.setName('nps:processPing'); log.info(`Ping: ${message.toString()}`); sendNPSAck(socketCallback); log.resetName(); return Promise.resolve(); - } diff --git a/packages/nps/gameMessageProcessors/processSelectPersona.ts b/packages/nps/gameMessageProcessors/processSelectPersona.ts index 97f571884..d99c703a1 100644 --- a/packages/nps/gameMessageProcessors/processSelectPersona.ts +++ b/packages/nps/gameMessageProcessors/processSelectPersona.ts @@ -1,11 +1,8 @@ -import { GameMessage } from "../messageStructs/GameMessage.js"; -import type { GameSocketCallback } from "./index.js"; -import { getDWord } from "../src/utils/pureGet.js"; +import { GameMessage, getDWord } from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; -import { getServerLogger } from "rusty-motors-shared"; -import { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserStatusManager } from "../src/UserStatusManager.js"; -import { sendNPSAck } from "../src/utils/sendNPSAck.js"; +import { UserStatus, UserStatusManager, sendNPSAck } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -13,9 +10,9 @@ export async function processSelectPersona( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processSelectPersona"); + log.setName('nps:processSelectPersona'); log.info(`SelectPersona: ${message.toString()}`); @@ -38,9 +35,9 @@ export async function processSelectPersona( throw new Error(`UserStatus not found for customer ID ${customerId}`); } - log.info( - `Setting persona ID to ${personaId} for ${existingStatus.getCustomerId()}`, - ); + log.info( + `Setting persona ID to ${personaId} for ${existingStatus.getCustomerId()}` + ); // Update the user status existingStatus.setPersonaId(personaId); diff --git a/packages/nps/gameMessageProcessors/processUserLogin.ts b/packages/nps/gameMessageProcessors/processUserLogin.ts index 20b24e2fe..45f9e2a0c 100644 --- a/packages/nps/gameMessageProcessors/processUserLogin.ts +++ b/packages/nps/gameMessageProcessors/processUserLogin.ts @@ -1,12 +1,14 @@ -import type { GameSocketCallback } from "./index.js"; -import { getDWord, getLenString } from "../src/utils/pureGet.js"; -import { GameMessage } from "../messageStructs/GameMessage.js"; -import { UserInfo } from "../messageStructs/UserInfo.js"; - -import { getServerLogger } from "rusty-motors-shared"; -import type { UserStatus } from "../messageStructs/UserStatus.js"; -import { UserStatusManager } from "../src/UserStatusManager.js"; -import { getCustomerId } from "../services/profile.js"; +import { + GameMessage, + UserInfo, + getDWord, + getLenString, +} from 'rusty-motors-nps'; +import type { GameSocketCallback } from './index.js'; + +import type { UserStatus } from 'rusty-motors-nps'; +import { UserStatusManager, getCustomerId } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -14,9 +16,9 @@ export async function processUserLogin( connectionId: string, userStatus: UserStatus, message: GameMessage, - socketCallback: GameSocketCallback, + socketCallback: GameSocketCallback ): Promise { - log.setName("nps:processUserLogin"); + log.setName('nps:processUserLogin'); log.info(`UserLogin: ${message.toString()}`); @@ -26,27 +28,26 @@ export async function processUserLogin( const profileName = getLenString(message.getDataAsBuffer(), 4, false); - // Lookup customerID from personaID const customerID = getCustomerId(personaId); - if( customerID === -1 ) { + if (customerID === -1) { log.error(`CustomerID not found for personaID: ${personaId}`); throw new Error(`CustomerID not found for personaID: ${personaId}`); } log.info(`LobbyLogin: ${personaId} ${profileName} ${customerID}`); - const existingStatus = UserStatusManager.getUserStatus(customerID) + const existingStatus = UserStatusManager.getUserStatus(customerID); - if (typeof existingStatus === "undefined") { + if (typeof existingStatus === 'undefined') { log.error(`UserStatus not found for customerID: ${customerID}`); throw new Error(`UserStatus not found for customerID: ${customerID}`); } // Update the user status existingStatus.setPersonaId(personaId); - + userStatus = existingStatus; log.info(`LobbyLogin: ${message.toString()}`); diff --git a/packages/nps/index.ts b/packages/nps/index.ts index caff8e86c..4733ff40f 100644 --- a/packages/nps/index.ts +++ b/packages/nps/index.ts @@ -1,22 +1,54 @@ export { MessageProcessorError, + PortMapError, gameMessageProcessors, - populateGameMessageProcessors, getGameMessageProcessor, - PortMapError, - portToMessageTypes, - populatePortToMessageTypes, getPortMessageType, - type GameSocketCallback -} from "./gameMessageProcessors/index.js"; -export { GameMessage } from "./messageStructs/GameMessage.js"; -export { getWord } from "./src/utils/pureGet.js"; -export { processGameLogin } from "./gameMessageProcessors/processGameLogin.js"; + populateGameMessageProcessors, + populatePortToMessageTypes, + portToMessageTypes, + type GameSocketCallback, +} from './gameMessageProcessors/index.js'; +export { processGameLogin } from './gameMessageProcessors/processGameLogin.js'; +export { GameMessage, SerializableData } from './messageStructs/GameMessage.js'; +export { MiniRiffInfo, MiniRiffList } from './messageStructs/MiniRiffList.js'; +export { MiniUserInfo, MiniUserList } from './messageStructs/MiniUserList.js'; +export { ProfileList } from './messageStructs/ProfileList.js'; +export { UserInfo } from './messageStructs/UserInfo.js'; +export { UserStatus } from './messageStructs/UserStatus.js'; export { - populateGameUsers as populateGameUsers, getUser, -} from "./services/account.js"; -export { generateToken } from "./services/token.js"; -export { UserStatusManager } from "./src/UserStatusManager.js"; -export { gameProfiles, populateGameProfiles } from "./services/profile.js"; -export { UserStatus } from "./messageStructs/UserStatus.js"; + populateGameUsers as populateGameUsers, +} from './services/account.js'; +export { + gameProfiles, + getCustomerId, + getGameProfilesForCustomerId, + populateGameProfiles, +} from './services/profile.js'; +export { generateToken } from './services/token.js'; +export { UserStatusManager } from './src/UserStatusManager.js'; +export { isOnlyOneSet } from './src/utils/pureCompare.js'; +export { + getAsHex, + getDWord, + getLenBlob, + getLenString, + getNBytes, + getShortBool, + getWord, +} from './src/utils/pureGet.js'; +export { + put16, + put16BE, + put16LE, + put32, + put32BE, + put32LE, + put8, + putLenBlob, + putLenString, + putShortBool, +} from './src/utils/purePut.js'; +export { sendNPSAck } from './src/utils/sendNPSAck.js'; +export * from './types.js'; diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index 755a941c8..edbc7bae3 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -1,4 +1,4 @@ -import type { ISerializable, IMessageHeader, IMessage } from "../types.js"; +import type { ISerializable, IMessageHeader, IMessage } from "rusty-motors-nps"; export class MessageHeader implements IMessageHeader { private version: 0 | 257; diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index f5b068ee6..b52f73cc3 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -1,11 +1,11 @@ -import type { ISerializable } from "../types.js"; -import { putLenString } from "../src/utils/purePut.js"; +import type { ISerializable } from "rusty-motors-nps"; +import { putLenString } from "rusty-motors-nps"; import { getAsHex, getLenBlob, getLenString, getShortBool, -} from "../src/utils/pureGet.js"; +} from "rusty-motors-nps"; export class GameProfile implements ISerializable { customerId: number; // 4 bytes diff --git a/packages/nps/messageStructs/MiniRiffList.ts b/packages/nps/messageStructs/MiniRiffList.ts index 3167b8b1c..e4de5b79f 100644 --- a/packages/nps/messageStructs/MiniRiffList.ts +++ b/packages/nps/messageStructs/MiniRiffList.ts @@ -1,8 +1,8 @@ -import type { ISerializable } from "../types.js"; -import { putLenString } from "../src/utils/purePut.js"; -import { NPSList } from "./NPSList.js"; +import type { ISerializable } from 'rusty-motors-nps'; +import { putLenString } from 'rusty-motors-nps'; +import { NPSList } from './NPSList.js'; -import { getServerLogger } from "rusty-motors-shared"; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -32,12 +32,12 @@ export class MiniRiffInfo implements ISerializable { offset += 4; buffer.writeUInt16BE(this.population, offset); log.debug( - `MiniRiffInfo: ${this.toString()} - ${buffer.toString("hex")}`, + `MiniRiffInfo: ${this.toString()} - ${buffer.toString('hex')}` ); return buffer; } deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } getByteSize(): number { return 4 + this.riffName.length + 1 + 4 + 2; @@ -52,7 +52,7 @@ export class MiniRiffList extends NPSList implements ISerializable { return this.toBytes(); } override deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } override getByteSize(): number { return this.getSize(); @@ -79,7 +79,7 @@ export class MiniRiffList extends NPSList implements ISerializable { } log.debug( - `MiniRiffList: ${this.toString()} - ${buffer.toString("hex")}`, + `MiniRiffList: ${this.toString()} - ${buffer.toString('hex')}` ); return buffer; } @@ -87,7 +87,7 @@ export class MiniRiffList extends NPSList implements ISerializable { return `MiniRiffList(riffs=${this.riffs})`; } override toHex(): string { - return this.toBytes().toString("hex"); + return this.toBytes().toString('hex'); } override getSize(): number { diff --git a/packages/nps/messageStructs/MiniUserList.ts b/packages/nps/messageStructs/MiniUserList.ts index 7d02d75f6..41c56b150 100644 --- a/packages/nps/messageStructs/MiniUserList.ts +++ b/packages/nps/messageStructs/MiniUserList.ts @@ -1,5 +1,5 @@ -import type { ISerializable } from "../types.js"; -import { putLenString } from "../src/utils/purePut.js"; +import type { ISerializable } from "rusty-motors-nps"; +import { putLenString } from "rusty-motors-nps"; export class MiniUserInfo implements ISerializable { userId: number; // 4 bytes diff --git a/packages/nps/messageStructs/NPSList.ts b/packages/nps/messageStructs/NPSList.ts index a7b6bb4f1..268011d4a 100644 --- a/packages/nps/messageStructs/NPSList.ts +++ b/packages/nps/messageStructs/NPSList.ts @@ -1,4 +1,4 @@ -import type { ISerializable, IMessage } from "../types.js"; +import type { ISerializable, IMessage } from "rusty-motors-nps"; export class NPSList implements ISerializable { serialize(): Buffer { diff --git a/packages/nps/messageStructs/ProfileList.ts b/packages/nps/messageStructs/ProfileList.ts index 25b30f02f..4a5d6ce02 100644 --- a/packages/nps/messageStructs/ProfileList.ts +++ b/packages/nps/messageStructs/ProfileList.ts @@ -1,13 +1,13 @@ -import type { ISerializable } from "../types.js"; -import { GameProfile } from "./GameProfile.js"; -import { NPSList } from "./NPSList.js"; +import type { ISerializable } from 'rusty-motors-nps'; +import { GameProfile } from './GameProfile.js'; +import { NPSList } from './NPSList.js'; export class ProfileList extends NPSList implements ISerializable { override serialize(): Buffer { return this.toBytes(); } override deserialize(data: Buffer): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } override getByteSize(): number { return this.getSize(); @@ -40,13 +40,13 @@ export class ProfileList extends NPSList implements ISerializable { return `ProfileList(maxProfiles=${this.maxProfiles}, profiles=${this.profiles})`; } override toHex(): string { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } override setData(data: Buffer): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } override getData(): Buffer { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } override getSize(): number { diff --git a/packages/nps/messageStructs/SessionKey.ts b/packages/nps/messageStructs/SessionKey.ts index 3c6c7d27a..ba53e0b1a 100644 --- a/packages/nps/messageStructs/SessionKey.ts +++ b/packages/nps/messageStructs/SessionKey.ts @@ -1,7 +1,6 @@ -import type { ISerializable } from "../types.js"; -import { isOnlyOneSet } from "../src/utils/pureCompare.js"; -import { getAsHex } from "../src/utils/pureGet.js"; -import { getServerLogger } from "../../shared/index.js"; +import type { ISerializable } from 'rusty-motors-nps'; +import { getAsHex, isOnlyOneSet } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -11,13 +10,15 @@ export class SessionKey implements ISerializable { private _isSet: boolean = false; constructor({ key, timestamp }: { key?: Buffer; timestamp?: number }) { - log.setName("SessionKey"); + log.setName('SessionKey'); if (isOnlyOneSet(key, timestamp)) { - throw new Error("Both key and timestamp must be set if one is set"); + throw new Error('Both key and timestamp must be set if one is set'); } - if (typeof key !== "undefined" && typeof timestamp !== "undefined") { - log.debug(`SessionKey: key=${getAsHex(key)}, timestamp=${timestamp}`); + if (typeof key !== 'undefined' && typeof timestamp !== 'undefined') { + log.debug( + `SessionKey: key=${getAsHex(key)}, timestamp=${timestamp}` + ); this.key = key; this.timestamp = timestamp; this._isSet = true; @@ -31,11 +32,11 @@ export class SessionKey implements ISerializable { SessionKey.fromBytes(data); } getByteSize(): number { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } static fromBytes(bytes: Buffer): SessionKey { - log.setName("SessionKey.fromBytes"); + log.setName('SessionKey.fromBytes'); const keyLength = bytes.readUInt16BE(0); // Set the data offset @@ -57,7 +58,7 @@ export class SessionKey implements ISerializable { } static fromKeyString(key: string): SessionKey { - const keyBuffer = Buffer.from(key, "hex"); + const keyBuffer = Buffer.from(key, 'hex'); return new SessionKey({ key: keyBuffer, @@ -66,7 +67,7 @@ export class SessionKey implements ISerializable { } getKey(): string { - return this.key.toString("hex"); + return this.key.toString('hex'); } toString(): string { @@ -79,7 +80,7 @@ export class SessionKey implements ISerializable { toBytes(): Buffer { if (!this.isSet()) { - throw new Error("Session key is not set"); + throw new Error('Session key is not set'); } const keyLength = this.key.length; @@ -99,11 +100,11 @@ export class SessionKey implements ISerializable { } getData(): Buffer { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } setData(): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } isSet(): boolean { diff --git a/packages/nps/messageStructs/UserAction.ts b/packages/nps/messageStructs/UserAction.ts index 1ab8f8b88..7c218f04a 100644 --- a/packages/nps/messageStructs/UserAction.ts +++ b/packages/nps/messageStructs/UserAction.ts @@ -1,6 +1,6 @@ -import type { ISerializable } from "../types.js"; -import { getAsHex } from "../src/utils/pureGet.js"; -import { getServerLogger } from "rusty-motors-shared"; +import type { ISerializable } from 'rusty-motors-nps'; +import { getAsHex } from 'rusty-motors-nps'; +import { getServerLogger } from 'rusty-motors-shared'; const log = getServerLogger(); @@ -9,9 +9,9 @@ export class UserAction implements ISerializable { private _endTimeMaybe = 0; // 4 bytes private _b1 = 0; // 1 byte private _b2 = 0; // 1 byte - private _initiator = ""; // 64 bytes - private _startComment = ""; // 256 bytes - private _endComment = ""; // 256 bytes + private _initiator = ''; // 64 bytes + private _startComment = ''; // 256 bytes + private _endComment = ''; // 256 bytes constructor(name: string) { this.name = name; @@ -26,11 +26,11 @@ export class UserAction implements ISerializable { offset += 1; buffer.writeUInt8(this._b2, offset); offset += 1; - buffer.write(this._initiator, offset, 0x40, "utf8"); + buffer.write(this._initiator, offset, 0x40, 'utf8'); offset += 0x40; - buffer.write(this._startComment, offset, 0x100, "utf8"); + buffer.write(this._startComment, offset, 0x100, 'utf8'); offset += 0x100; - buffer.write(this._endComment, offset, 0x100, "utf8"); + buffer.write(this._endComment, offset, 0x100, 'utf8'); return buffer; } @@ -39,22 +39,22 @@ export class UserAction implements ISerializable { this._endTimeMaybe = data.readUInt32BE(0); this._b1 = data.readUInt8(4); this._b2 = data.readUInt8(5); - this._initiator = data.toString("utf8", 6, 0x46); - this._startComment = data.toString("utf8", 0x46, 0x146); - this._endComment = data.toString("utf8", 0x146, 0x246); + this._initiator = data.toString('utf8', 6, 0x46); + this._startComment = data.toString('utf8', 0x46, 0x146); + this._endComment = data.toString('utf8', 0x146, 0x246); } catch (error) { log.error(`Error deserializing UserAction: ${error as string}`); throw error; } } getByteSize(): number { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } setData(): void { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } getData(): Buffer { - throw new Error("Method not implemented."); + throw new Error('Method not implemented.'); } static fromBytes(name: string, bytes: Buffer): UserAction { @@ -68,7 +68,7 @@ export class UserAction implements ISerializable { return this.serialize(); } toString(): string { - return `UserAction: ${this.name} - ${this._initiator} - ${this._startComment} - ${this._endComment}` + return `UserAction: ${this.name} - ${this._initiator} - ${this._startComment} - ${this._endComment}`; } toHex(): string { return getAsHex(this.serialize()); @@ -78,29 +78,36 @@ export class UserAction implements ISerializable { return 4 + 1 + 1 + 0x40 + 0x100 + 0x100; } - public set({ endTimeMaybe, b1, b2, initiator, startComment, endComment }: { - endTimeMaybe?: number, - b1?: number, - b2?: number, - initiator: string, - startComment: string, - endComment?: string, + public set({ + endTimeMaybe, + b1, + b2, + initiator, + startComment, + endComment, + }: { + endTimeMaybe?: number; + b1?: number; + b2?: number; + initiator: string; + startComment: string; + endComment?: string; }): void { this._endTimeMaybe = endTimeMaybe || 0; this._b1 = b1 || 0; this._b2 = b2 || 0; this._initiator = initiator; this._startComment = startComment; - this._endComment = endComment || ""; + this._endComment = endComment || ''; } public clear(): void { this._endTimeMaybe = 0; this._b1 = 0; this._b2 = 0; - this._initiator = ""; - this._startComment = ""; - this._endComment = ""; + this._initiator = ''; + this._startComment = ''; + this._endComment = ''; } updateEmptyValuesFrom(other: UserAction) { @@ -113,14 +120,14 @@ export class UserAction implements ISerializable { if (this._b2 === 0) { this._b2 = other._b2; } - if (this._initiator === "") { + if (this._initiator === '') { this._initiator = other._initiator; } - if (this._startComment === "") { + if (this._startComment === '') { this._startComment = other._startComment; } - if (this._endComment === "") { + if (this._endComment === '') { this._endComment = other._endComment; - } + } } } diff --git a/packages/nps/messageStructs/UserInfo.ts b/packages/nps/messageStructs/UserInfo.ts index 24b891419..90af73f36 100644 --- a/packages/nps/messageStructs/UserInfo.ts +++ b/packages/nps/messageStructs/UserInfo.ts @@ -1,4 +1,4 @@ -import type { ISerializable } from "../types.js"; +import type { ISerializable } from "rusty-motors-nps"; export class UserInfo implements ISerializable { private profileId: number; // 4 bytes diff --git a/packages/nps/vite.config.ts b/packages/nps/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/nps/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/patch/vite.config.ts b/packages/patch/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/patch/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/shard/vite.config.ts b/packages/shard/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/shard/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/shared-packets/vite.config.ts b/packages/shared-packets/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/shared-packets/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/packages/shared/vite.config.ts b/packages/shared/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/packages/shared/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); diff --git a/schema/vite.config.ts b/schema/vite.config.ts new file mode 100644 index 000000000..fb851b55a --- /dev/null +++ b/schema/vite.config.ts @@ -0,0 +1,22 @@ +import { defineConfig } from "vitest/config"; + +export default defineConfig({ + test: { + coverage: { + enabled: true, + all: true, + exclude: [ + "src/**/*.spec.ts", + "src/**/*.test.ts", + "bin/**/*.ts", + "ecosystem.config.js", + "migrate.ts", + "packages/**/*.d.ts", + ], + reporter: ["lcov", "text", "cobertura"], + }, + reporters: ["junit", "default", "hanging-process"], + outputFile: "mcos.junit.xml", + pool: "forks", + }, +}); From b8a0fb735a661dbce3df1b5f17bc2b40ecac946d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 13 May 2024 19:00:52 +0000 Subject: [PATCH 340/452] chore(deps): update dependency nx to v19.0.3 (#1938) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d78ac9060..dfeb73527 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.0.2" + "nx": "19.0.3" } } From deff04e42714dfdbc1034287bd5a092030199abd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 05:55:47 -0400 Subject: [PATCH 341/452] chore(deps): pin dependency @vitest/coverage-v8 to 1.6.0 (#1933) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- packages/cli/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/package.json b/packages/cli/package.json index bf8e9513b..ead7cce6d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -18,7 +18,7 @@ "author": "", "license": "AGPL-3.0", "devDependencies": { - "@vitest/coverage-v8": "^1.6.0" + "@vitest/coverage-v8": "1.6.0" }, "dependencies": { "rusty-motors-shared": "^1.0.0", From f47da8c8966e0f37e781433c70253ce2c2b49934 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 09:56:17 +0000 Subject: [PATCH 342/452] chore(deps): update actions/checkout digest to a5ac7e5 --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/node.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/semgrep.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 2847a9e83..9195de891 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 494b78050..403880ece 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: release-sentry: runs-on: ubuntu-latest steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 with: fetch-depth: 0 diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index aca624898..d7634d889 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -20,7 +20,7 @@ jobs: node-version: [20.x, 21.x] steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index ad8e02dfb..da2f492b9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 with: fetch-depth: 0 - name: Setup Node.js diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 92b332c43..31d015521 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -19,5 +19,5 @@ jobs: image: returntocorp/semgrep@sha256:470852e0f80a04389afd851de9809be8e8d2287ecc709abbc7834890786323fa if: (github.actor != 'dependabot[bot]') steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 - run: semgrep ci From 363db56dcadf1688304fb67b70026e6d8b468748 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 10:24:00 +0000 Subject: [PATCH 343/452] chore(deps): update dependency nx to v19.0.7 (#1942) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index dfeb73527..51c248e7a 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.0.3" + "nx": "19.0.7" } } From 01b251d20c1df040be3c53ea96734fd0af3a8d73 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 10:26:49 +0000 Subject: [PATCH 344/452] chore(deps): update actions/upload-artifact digest to 6546280 --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index d7634d889..057ee2023 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -60,7 +60,7 @@ jobs: codecovcli --verbose do-upload --fail-on-error --flag shared-packets --name shared-packets-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag schema --name schema-${{ matrix.node-version }} - - uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 + - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 with: name: coverage_${{ matrix.node-version }} path: coverage From dd26153c74949c5d900570fbc24b7b74419fc088 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 10:30:49 +0000 Subject: [PATCH 345/452] chore(deps): update postgres:16.2 docker digest to 4aea012 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index d8afa60d9..12068f1ff 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.2@sha256:f4b0987cb4ba8bcc2b90aa33ad8b5786669bec4dc633fc93d1418275e3627b34 + image: postgres:16.2@sha256:4aea012537edfad80f98d870a36e6b90b4c09b27be7f4b4759d72db863baeebb restart: always environment: POSTGRES_DB: rm From ea868c79a6035636e6d41296d6ca4cfb2e05ad39 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 17:27:55 +0000 Subject: [PATCH 346/452] chore(deps): update dependency nx to v19.1.0 (#1944) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 51c248e7a..acbc1738f 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.0.7" + "nx": "19.1.0" } } From 4348bc18dbe1a4c5a518a3dd31331268be4fe230 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 24 May 2024 19:28:42 +0000 Subject: [PATCH 347/452] chore(deps): update dependency node to v22.2.0 (#1943) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index ee5c24469..44e031ba9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.1.0 +22.2.0 From 406712eb53797ca48628cfbc5092ccd7f58a4e1c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 29 May 2024 16:32:29 +0000 Subject: [PATCH 348/452] chore(deps): update dependency nx to v19.1.1 (#1945) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index acbc1738f..f402fc0a5 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.1.0" + "nx": "19.1.1" } } From eb44bcb12d6f1ae3b31a1070fd00fb8328786d4b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 16:15:20 +0000 Subject: [PATCH 349/452] chore(deps): update dependency nx to v19.1.2 (#1947) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f402fc0a5..8fca1ce8e 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.1.1" + "nx": "19.1.2" } } From 1302e39ec42cfd5454010533d5d674f2073ad5e3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 18:46:40 +0000 Subject: [PATCH 350/452] chore(deps): update adminer:4.8.1 docker digest to cbbcc8c --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 12068f1ff..48249f7a4 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer:4.8.1@sha256:ceca91abccc1fcd97d66cd4e8994e6f0a97a92c0e3dbdc8200d5d735e3088cd1 + image: adminer:4.8.1@sha256:cbbcc8caedf029309ac7df722a470785e99a0942e29b3efc9367ee1640e1b330 restart: always ports: - 8080:8080 From 64aa65881813c26675353285cd1a1189e2f2a380 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:12:49 +0000 Subject: [PATCH 351/452] chore(deps): update github/codeql-action digest to f079b84 --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 9195de891..092307d0e 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 + uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 + uses: github/codeql-action/autobuild@f079b8493333aace61c81488f8bd40919487bd9f # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@ccf74c947955fd1cf117aef6a0e4e66191ef6f61 # v3 + uses: github/codeql-action/analyze@f079b8493333aace61c81488f8bd40919487bd9f # v3 From 75b610f2b229478d99daa1642b714b4001fea337 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:16:02 +0000 Subject: [PATCH 352/452] chore(deps): update postgres docker tag to v16.3 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 48249f7a4..3aff9ea08 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.2@sha256:4aea012537edfad80f98d870a36e6b90b4c09b27be7f4b4759d72db863baeebb + image: postgres:16.3@sha256:1bf73ccae25238fa555100080042f0b2f9be08eb757e200fe6afc1fc413a1b3c restart: always environment: POSTGRES_DB: rm From 437ab75981279bcc9cfdca68a5dfb016a78ed159 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:19:30 +0000 Subject: [PATCH 353/452] fix(deps): update dependency pino to v9 --- packages/shared/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/shared/package.json b/packages/shared/package.json index 976d39e31..f20c9661f 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -24,7 +24,7 @@ "license": "AGPL-3.0", "dependencies": { "fastify": "^4.27.0", - "pino": "^8.18.0", + "pino": "^9.0.0", "pino-pretty": "^11.0.0", "vitest": "^1.6.0" }, From 4f96562e8da22692ae81b48b1ae96305d793a179 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 3 Jun 2024 19:21:49 +0000 Subject: [PATCH 354/452] fix(deps): update dependency drizzle-orm to ^0.31.0 --- packages/connection/package.json | 2 +- packages/database/package.json | 2 +- packages/nps/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/connection/package.json b/packages/connection/package.json index 3d0f02d09..1dc6e2823 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -20,7 +20,7 @@ "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.114.0", - "drizzle-orm": "^0.30.10", + "drizzle-orm": "^0.31.0", "vitest": "^1.6.0" }, "directories": { diff --git a/packages/database/package.json b/packages/database/package.json index b44c64c20..5e88e6273 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -21,7 +21,7 @@ "dependencies": { "@sentry/node": "^7.102.0", "@types/pg": "^8.11.6", - "drizzle-orm": "^0.30.10", + "drizzle-orm": "^0.31.0", "pg": "^8.11.5", "pg-hstore": "^2.3.4", "sequelize": "^6.37.3", diff --git a/packages/nps/package.json b/packages/nps/package.json index 4c861030a..d70e216a9 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -20,7 +20,7 @@ "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^7.102.0", - "drizzle-orm": "^0.30.10", + "drizzle-orm": "^0.31.0", "short-unique-id": "^5.0.3" }, "devDependencies": {}, From 5a736b2e134f256d51c3e0f07f221fb8bd05978c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 20:03:15 +0000 Subject: [PATCH 355/452] chore(deps): update dependency nx to v19.2.0 (#1949) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8fca1ce8e..e3d5412c5 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.1.2" + "nx": "19.2.0" } } From 1fa79ddb12712cb27db46dd7e9193c2c78e3d838 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 22:06:51 +0000 Subject: [PATCH 356/452] fix(deps): update dependency slonik to v45 --- packages/database/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/database/package.json b/packages/database/package.json index 5e88e6273..0f814759f 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -25,7 +25,7 @@ "pg": "^8.11.5", "pg-hstore": "^2.3.4", "sequelize": "^6.37.3", - "slonik": "^40.0.0", + "slonik": "^45.0.0", "vitest": "^1.6.0", "zod": "^3.22.4" }, From 3cf6daf559e53df9b718f46cf77d85cec8a49f52 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 5 Jun 2024 22:10:11 +0000 Subject: [PATCH 357/452] fix(deps): update sentry-javascript monorepo to v8 --- apps/main/package.json | 4 ++-- packages/connection/package.json | 2 +- packages/database/package.json | 2 +- packages/gateway/package.json | 2 +- packages/mcots/package.json | 2 +- packages/nps/package.json | 2 +- 6 files changed, 7 insertions(+), 7 deletions(-) diff --git a/apps/main/package.json b/apps/main/package.json index ab6a111b2..d79f2dfd9 100644 --- a/apps/main/package.json +++ b/apps/main/package.json @@ -9,8 +9,8 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@sentry/node": "^7.114.0", - "@sentry/profiling-node": "^7.114.0", + "@sentry/node": "^8.0.0", + "@sentry/profiling-node": "^8.0.0", "rusty-motors-gateway": "^1.0.0", "rusty-motors-shared": "^1.0.0", "tsx": "^4.10.2", diff --git a/packages/connection/package.json b/packages/connection/package.json index 1dc6e2823..e3750ae30 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -19,7 +19,7 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@sentry/node": "^7.114.0", + "@sentry/node": "^8.0.0", "drizzle-orm": "^0.31.0", "vitest": "^1.6.0" }, diff --git a/packages/database/package.json b/packages/database/package.json index 0f814759f..bb4a06a75 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -19,7 +19,7 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@sentry/node": "^7.102.0", + "@sentry/node": "^8.0.0", "@types/pg": "^8.11.6", "drizzle-orm": "^0.31.0", "pg": "^8.11.5", diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 2a6dce62a..b0dd65ecf 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -20,7 +20,7 @@ "license": "AGPL-3.0", "dependencies": { "@fastify/sensible": "^5.5.0", - "@sentry/node": "^7.102.0", + "@sentry/node": "^8.0.0", "fastify": "^4.25.2", "vitest": "^1.6.0" diff --git a/packages/mcots/package.json b/packages/mcots/package.json index c1036b0fb..393385adb 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -18,7 +18,7 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@sentry/node": "^7.102.0", + "@sentry/node": "^8.0.0", "rusty-motors-schema": "^1.0.0", "short-unique-id": "^5.0.3" }, diff --git a/packages/nps/package.json b/packages/nps/package.json index d70e216a9..2d8bbff6a 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -19,7 +19,7 @@ "author": "", "license": "AGPL-3.0", "dependencies": { - "@sentry/node": "^7.102.0", + "@sentry/node": "^8.0.0", "drizzle-orm": "^0.31.0", "short-unique-id": "^5.0.3" }, From 86d95c25d671f957bea61f6c283622234ac0378d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 6 Jun 2024 22:26:31 +0000 Subject: [PATCH 358/452] chore(deps): update dependency nx to v19.2.1 (#1950) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e3d5412c5..9135b9270 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.2.0" + "nx": "19.2.1" } } From d64f5d97a9a785a90749d25b55f0bc2ffd30c91f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 8 Jun 2024 00:13:01 +0000 Subject: [PATCH 359/452] chore(deps): update dependency nx to v19.2.2 (#1951) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 9135b9270..c8413189d 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.2.1" + "nx": "19.2.2" } } From 8c256682812bb74e0c36d7f78a975f3034780dbf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 10 Jun 2024 19:43:48 +0000 Subject: [PATCH 360/452] chore(deps): update dependency nx to v19.2.3 (#1952) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c8413189d..ea08a12a4 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.2.2" + "nx": "19.2.3" } } From afb16a874dcdf4f37d4cc025f88222f97f2b6f40 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 11 Jun 2024 22:17:03 +0000 Subject: [PATCH 361/452] chore(deps): update dependency node to v22.3.0 (#1953) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 44e031ba9..8326e27f9 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.2.0 +22.3.0 From 03956511908dbaa951a887106e6ca9e2441cc086 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 13 Jun 2024 23:12:25 +0000 Subject: [PATCH 362/452] chore(deps): update dependency nx to v19.3.0 (#1957) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index ea08a12a4..058509a24 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.2.3" + "nx": "19.3.0" } } From c41f381eef03654e061827354380765c132fc0ed Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 21 Jun 2024 22:25:38 +0000 Subject: [PATCH 363/452] chore(deps): update dependency nx to v19.3.1 (#1958) Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 058509a24..193d2f426 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,6 @@ "schema" ], "devDependencies": { - "nx": "19.3.0" + "nx": "19.3.1" } } From c1b74d8f4004631ffbc861a815dcf07fe9aae16d Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 21 Jun 2024 19:27:25 -0400 Subject: [PATCH 364/452] chore: update Sentry import to use namespace import --- apps/main/server.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/apps/main/server.ts b/apps/main/server.ts index 971461bc7..5bdf0be79 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -14,7 +14,7 @@ // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . -import Sentry from "@sentry/node"; +import * as Sentry from "@sentry/node"; import { nodeProfilingIntegration } from "@sentry/profiling-node"; import { getServerLogger } from "rusty-motors-shared"; import { verifyLegacyCipherSupport } from "rusty-motors-shared"; @@ -43,7 +43,6 @@ export default async function main() { profilesSampleRate: 1.0, // Profiling sample rate is relative to tracesSampleRate integrations: [ nodeProfilingIntegration(), - ...Sentry.autoDiscoverNodePerformanceMonitoringIntegrations(), ], _experiments: { metricsAggregator: true, From f8ea8457c6b822d14b8789b927ebdd0fbf6781ae Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 21 Jun 2024 19:53:30 -0400 Subject: [PATCH 365/452] chore: update .gitignore to exclude .nx/ directory --- .gitignore | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4c052e5d0..6a4aad3d8 100644 --- a/.gitignore +++ b/.gitignore @@ -21,4 +21,4 @@ package-lock.json meta.json -.nx/cache \ No newline at end of file +.nx/ From 5464d8128a7ec863108eeb099ff73fddd1f1cf0c Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 21 Jun 2024 20:06:28 -0400 Subject: [PATCH 366/452] chore: add clean script and test:all script --- package.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 193d2f426..93c9db4d5 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,9 @@ "license": "AGPL-3.0", "private": true, "scripts": { - "start": "node --openssl-legacy-provider --env-file=.env --loader ts-node/esm ./apps/main/server.ts" + "clean": "rm -rf **/node_modules", + "start": "node --openssl-legacy-provider --env-file=.env --loader ts-node/esm ./apps/main/server.ts", + "test:all": "npm run test --workspaces --if-present" }, "type": "module", "workspaces": [ From da5ed5b6344ad8059bd2f7ce366c906f7d7ec574 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 06:10:13 -0400 Subject: [PATCH 367/452] chore: Add new files and update dependencies --- .pdm-python | 1 + .pre-commit-config.yaml | 18 + libs/serializable/.gitignore | 162 +++++++++ libs/serializable/README.md | 1 + libs/serializable/pyproject.toml | 15 + .../serializable/src/serializable/__init__.py | 0 libs/serializable/tests/__init__.py | 0 pdm.lock | 331 ++++++++++++++++++ projects/main/UNKNOWN.egg-info/PKG-INFO | 3 + projects/main/UNKNOWN.egg-info/SOURCES.txt | 5 + .../UNKNOWN.egg-info/dependency_links.txt | 0 projects/main/UNKNOWN.egg-info/top_level.txt | 0 projects/main/pyproject.toml | 0 pyproject.toml | 28 ++ requirements.txt | 28 ++ src/rusty_server/__init__.py | 0 tests/__init__.py | 0 17 files changed, 592 insertions(+) create mode 100644 .pdm-python create mode 100644 .pre-commit-config.yaml create mode 100644 libs/serializable/.gitignore create mode 100644 libs/serializable/README.md create mode 100644 libs/serializable/pyproject.toml create mode 100644 libs/serializable/src/serializable/__init__.py create mode 100644 libs/serializable/tests/__init__.py create mode 100644 pdm.lock create mode 100644 projects/main/UNKNOWN.egg-info/PKG-INFO create mode 100644 projects/main/UNKNOWN.egg-info/SOURCES.txt create mode 100644 projects/main/UNKNOWN.egg-info/dependency_links.txt create mode 100644 projects/main/UNKNOWN.egg-info/top_level.txt create mode 100644 projects/main/pyproject.toml create mode 100644 pyproject.toml create mode 100644 requirements.txt create mode 100644 src/rusty_server/__init__.py create mode 100644 tests/__init__.py diff --git a/.pdm-python b/.pdm-python new file mode 100644 index 000000000..ac12215f5 --- /dev/null +++ b/.pdm-python @@ -0,0 +1 @@ +/home/drazisil/mcos/.venv/bin/python diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml new file mode 100644 index 000000000..63d82d430 --- /dev/null +++ b/.pre-commit-config.yaml @@ -0,0 +1,18 @@ +# See https://pre-commit.com for more information +# See https://pre-commit.com/hooks.html for more hooks +repos: +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v4.6.0 + hooks: + - id: trailing-whitespace + - id: end-of-file-fixer + - id: check-yaml + - id: check-added-large-files +- repo: https://github.com/pdm-project/pdm + rev: 2.15.4 # a PDM release exposing the hook + hooks: + - id: pdm-export + # command arguments, e.g.: + args: ['-o', 'requirements.txt', '--without-hashes'] + files: ^pdm.lock$ + - id: pdm-lock-check diff --git a/libs/serializable/.gitignore b/libs/serializable/.gitignore new file mode 100644 index 000000000..3a8816c9e --- /dev/null +++ b/libs/serializable/.gitignore @@ -0,0 +1,162 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm-project.org/#use-with-ide +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/libs/serializable/README.md b/libs/serializable/README.md new file mode 100644 index 000000000..7e5b8c84f --- /dev/null +++ b/libs/serializable/README.md @@ -0,0 +1 @@ +# serializable diff --git a/libs/serializable/pyproject.toml b/libs/serializable/pyproject.toml new file mode 100644 index 000000000..a946e7312 --- /dev/null +++ b/libs/serializable/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "serializable" +version = "0.1.0" +description = "Default template for PDM package" +authors = [ + {name = "Molly Draven", email = "drazi@duck.com"}, +] +dependencies = [] +requires-python = "==3.12.*" +readme = "README.md" +license = {text = "AGPL-3.0"} + + +[tool.pdm] +distribution = false diff --git a/libs/serializable/src/serializable/__init__.py b/libs/serializable/src/serializable/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/libs/serializable/tests/__init__.py b/libs/serializable/tests/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/pdm.lock b/pdm.lock new file mode 100644 index 000000000..b15cb7ca3 --- /dev/null +++ b/pdm.lock @@ -0,0 +1,331 @@ +# This file is @generated by PDM. +# It is not intended for manual editing. + +[metadata] +groups = ["default", "dev", "pytest", "pre-commit", "test"] +strategy = ["cross_platform", "inherit_metadata"] +lock_version = "4.4.1" +content_hash = "sha256:36a8fa866be3b06bb71dff47608f8beb4004e3a41502693ebf49e29bf3c55cfa" + +[[package]] +name = "black" +version = "24.4.2" +requires_python = ">=3.8" +summary = "The uncompromising code formatter." +groups = ["dev"] +dependencies = [ + "click>=8.0.0", + "mypy-extensions>=0.4.3", + "packaging>=22.0", + "pathspec>=0.9.0", + "platformdirs>=2", +] +files = [ + {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, + {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, + {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, + {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, + {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, + {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, +] + +[[package]] +name = "cfgv" +version = "3.4.0" +requires_python = ">=3.8" +summary = "Validate configuration and produce human readable error messages." +groups = ["dev"] +files = [ + {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, + {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, +] + +[[package]] +name = "click" +version = "8.1.7" +requires_python = ">=3.7" +summary = "Composable command line interface toolkit" +groups = ["dev"] +dependencies = [ + "colorama; platform_system == \"Windows\"", +] +files = [ + {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, + {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, +] + +[[package]] +name = "colorama" +version = "0.4.6" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +summary = "Cross-platform colored terminal text." +groups = ["dev", "test"] +marker = "sys_platform == \"win32\" or platform_system == \"Windows\"" +files = [ + {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, + {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, +] + +[[package]] +name = "coverage" +version = "7.5.3" +requires_python = ">=3.8" +summary = "Code coverage measurement for Python" +groups = ["test"] +files = [ + {file = "coverage-7.5.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8"}, + {file = "coverage-7.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3"}, + {file = "coverage-7.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1"}, + {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db"}, + {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd"}, + {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523"}, + {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35"}, + {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84"}, + {file = "coverage-7.5.3-cp312-cp312-win32.whl", hash = "sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08"}, + {file = "coverage-7.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb"}, + {file = "coverage-7.5.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884"}, + {file = "coverage-7.5.3.tar.gz", hash = "sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f"}, +] + +[[package]] +name = "distlib" +version = "0.3.8" +summary = "Distribution utilities" +groups = ["dev"] +files = [ + {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, + {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, +] + +[[package]] +name = "filelock" +version = "3.15.3" +requires_python = ">=3.8" +summary = "A platform independent file lock." +groups = ["dev"] +files = [ + {file = "filelock-3.15.3-py3-none-any.whl", hash = "sha256:0151273e5b5d6cf753a61ec83b3a9b7d8821c39ae9af9d7ecf2f9e2f17404103"}, + {file = "filelock-3.15.3.tar.gz", hash = "sha256:e1199bf5194a2277273dacd50269f0d87d0682088a3c561c15674ea9005d8635"}, +] + +[[package]] +name = "flake8" +version = "7.1.0" +requires_python = ">=3.8.1" +summary = "the modular source code checker: pep8 pyflakes and co" +groups = ["dev"] +dependencies = [ + "mccabe<0.8.0,>=0.7.0", + "pycodestyle<2.13.0,>=2.12.0", + "pyflakes<3.3.0,>=3.2.0", +] +files = [ + {file = "flake8-7.1.0-py2.py3-none-any.whl", hash = "sha256:2e416edcc62471a64cea09353f4e7bdba32aeb079b6e360554c659a122b1bc6a"}, + {file = "flake8-7.1.0.tar.gz", hash = "sha256:48a07b626b55236e0fb4784ee69a465fbf59d79eec1f5b4785c3d3bc57d17aa5"}, +] + +[[package]] +name = "identify" +version = "2.5.36" +requires_python = ">=3.8" +summary = "File identification library for Python" +groups = ["dev"] +files = [ + {file = "identify-2.5.36-py2.py3-none-any.whl", hash = "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa"}, + {file = "identify-2.5.36.tar.gz", hash = "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d"}, +] + +[[package]] +name = "iniconfig" +version = "2.0.0" +requires_python = ">=3.7" +summary = "brain-dead simple config-ini parsing" +groups = ["test"] +files = [ + {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, + {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +requires_python = ">=3.6" +summary = "McCabe checker, plugin for flake8" +groups = ["dev"] +files = [ + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, +] + +[[package]] +name = "mypy-extensions" +version = "1.0.0" +requires_python = ">=3.5" +summary = "Type system extensions for programs checked with the mypy type checker." +groups = ["dev"] +files = [ + {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, + {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, +] + +[[package]] +name = "nodeenv" +version = "1.9.1" +requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" +summary = "Node.js virtual environment builder" +groups = ["dev"] +files = [ + {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, + {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, +] + +[[package]] +name = "packaging" +version = "24.1" +requires_python = ">=3.8" +summary = "Core utilities for Python packages" +groups = ["dev", "test"] +files = [ + {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, + {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +requires_python = ">=3.8" +summary = "Utility library for gitignore style pattern matching of file paths." +groups = ["dev"] +files = [ + {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, + {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, +] + +[[package]] +name = "platformdirs" +version = "4.2.2" +requires_python = ">=3.8" +summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." +groups = ["dev"] +files = [ + {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, + {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, +] + +[[package]] +name = "pluggy" +version = "1.5.0" +requires_python = ">=3.8" +summary = "plugin and hook calling mechanisms for python" +groups = ["test"] +files = [ + {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, + {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, +] + +[[package]] +name = "pre-commit" +version = "3.7.1" +requires_python = ">=3.9" +summary = "A framework for managing and maintaining multi-language pre-commit hooks." +groups = ["dev"] +dependencies = [ + "cfgv>=2.0.0", + "identify>=1.0.0", + "nodeenv>=0.11.1", + "pyyaml>=5.1", + "virtualenv>=20.10.0", +] +files = [ + {file = "pre_commit-3.7.1-py2.py3-none-any.whl", hash = "sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5"}, + {file = "pre_commit-3.7.1.tar.gz", hash = "sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a"}, +] + +[[package]] +name = "pycodestyle" +version = "2.12.0" +requires_python = ">=3.8" +summary = "Python style guide checker" +groups = ["dev"] +files = [ + {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, + {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, +] + +[[package]] +name = "pyflakes" +version = "3.2.0" +requires_python = ">=3.8" +summary = "passive checker of Python programs" +groups = ["dev"] +files = [ + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, +] + +[[package]] +name = "pytest" +version = "8.2.2" +requires_python = ">=3.8" +summary = "pytest: simple powerful testing with Python" +groups = ["test"] +dependencies = [ + "colorama; sys_platform == \"win32\"", + "iniconfig", + "packaging", + "pluggy<2.0,>=1.5", +] +files = [ + {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, + {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, +] + +[[package]] +name = "pyyaml" +version = "6.0.1" +requires_python = ">=3.6" +summary = "YAML parser and emitter for Python" +groups = ["dev"] +files = [ + {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, + {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, + {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, + {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, + {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, + {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, + {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, +] + +[[package]] +name = "serializable" +version = "0.1.0" +requires_python = "==3.12.*" +editable = true +path = "./libs/serializable" +summary = "Default template for PDM package" +groups = ["dev"] + +[[package]] +name = "unknown" +version = "0.0.0" +editable = true +path = "./projects/main" +summary = "" +groups = ["dev"] + +[[package]] +name = "virtualenv" +version = "20.26.3" +requires_python = ">=3.7" +summary = "Virtual Python Environment builder" +groups = ["dev"] +dependencies = [ + "distlib<1,>=0.3.7", + "filelock<4,>=3.12.2", + "platformdirs<5,>=3.9.1", +] +files = [ + {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, + {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, +] diff --git a/projects/main/UNKNOWN.egg-info/PKG-INFO b/projects/main/UNKNOWN.egg-info/PKG-INFO new file mode 100644 index 000000000..738605f31 --- /dev/null +++ b/projects/main/UNKNOWN.egg-info/PKG-INFO @@ -0,0 +1,3 @@ +Metadata-Version: 2.1 +Name: UNKNOWN +Version: 0.0.0 diff --git a/projects/main/UNKNOWN.egg-info/SOURCES.txt b/projects/main/UNKNOWN.egg-info/SOURCES.txt new file mode 100644 index 000000000..573797a84 --- /dev/null +++ b/projects/main/UNKNOWN.egg-info/SOURCES.txt @@ -0,0 +1,5 @@ +pyproject.toml +UNKNOWN.egg-info/PKG-INFO +UNKNOWN.egg-info/SOURCES.txt +UNKNOWN.egg-info/dependency_links.txt +UNKNOWN.egg-info/top_level.txt diff --git a/projects/main/UNKNOWN.egg-info/dependency_links.txt b/projects/main/UNKNOWN.egg-info/dependency_links.txt new file mode 100644 index 000000000..e69de29bb diff --git a/projects/main/UNKNOWN.egg-info/top_level.txt b/projects/main/UNKNOWN.egg-info/top_level.txt new file mode 100644 index 000000000..e69de29bb diff --git a/projects/main/pyproject.toml b/projects/main/pyproject.toml new file mode 100644 index 000000000..e69de29bb diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..8357079bd --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,28 @@ +[project] +name = "rusty-server" +version = "0.1.0" +description = "Default template for PDM package" +authors = [ + {name = "Molly Draven", email = "drazi@duck.com"}, +] +dependencies = [] +requires-python = "==3.12.*" +readme = "README.md" +license = {text = "AGPL-3.0"} + + +[tool.pdm] +distribution = false + +[tool.pdm.dev-dependencies] +dev = [ + "-e file:///${PROJECT_ROOT}/libs/serializable", + "-e file:///${PROJECT_ROOT}/projects/main", + "pre-commit>=3.7.1", + "black>=24.4.2", + "flake8>=7.1.0", +] +test = [ + "pytest>=8.2.2", + "coverage>=7.5.3", +] diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 000000000..5cbd017fd --- /dev/null +++ b/requirements.txt @@ -0,0 +1,28 @@ +# This file is @generated by PDM. +# Please do not edit it manually. + +black==24.4.2 +cfgv==3.4.0 +click==8.1.7 +colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" +coverage==7.5.3 +distlib==0.3.8 +filelock==3.15.3 +flake8==7.1.0 +identify==2.5.36 +iniconfig==2.0.0 +mccabe==0.7.0 +mypy-extensions==1.0.0 +nodeenv==1.9.1 +packaging==24.1 +pathspec==0.12.1 +platformdirs==4.2.2 +pluggy==1.5.0 +pre-commit==3.7.1 +pycodestyle==2.12.0 +pyflakes==3.2.0 +pytest==8.2.2 +pyyaml==6.0.1 +-e file:///home/drazisil/mcos/libs/serializable#egg=serializable +-e file:///home/drazisil/mcos/projects/main#egg=unknown +virtualenv==20.26.3 diff --git a/src/rusty_server/__init__.py b/src/rusty_server/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests/__init__.py b/tests/__init__.py new file mode 100644 index 000000000..e69de29bb From 1736c1882be3c65e1eaa35b6983abb14429d94e4 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Sat, 22 Jun 2024 06:25:01 -0400 Subject: [PATCH 368/452] Create python.yaml --- .github/workflows/python.yaml | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 .github/workflows/python.yaml diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml new file mode 100644 index 000000000..4ececf3a5 --- /dev/null +++ b/.github/workflows/python.yaml @@ -0,0 +1,33 @@ +# This workflow will install Python dependencies, run tests and lint with a single version of Python +# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python + +name: Python + +on: + push: + pull_request: + +permissions: + contents: read + +jobs: + Testing: + runs-on: ${{ matrix.os }} + strategy: + matrix: + python-version: [3.7, 3.8, 3.9, '3.10', '3.11'] + os: [ubuntu-latest, macOS-latest, windows-latest] + + steps: + - uses: actions/checkout@v3 + - name: Set up PDM + uses: pdm-project/setup-pdm@v3 + with: + python-version: ${{ matrix.python-version }} + + - name: Install dependencies + run: | + pdm sync -d -G testing + - name: Run Tests + run: | + pdm run -v pytest tests From de998f8cf29a3a237f47e6802f793bab7c2ee61b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:07:56 -0400 Subject: [PATCH 369/452] chore: lint, format, all the things --- .deepsource.toml | 2 +- .editorconfig | 2 +- .env.example | 2 +- .gitattributes | 2 +- .github/CODEOWNERS | 1 - .github/workflows/node.yml | 4 +- .github/workflows/python.yaml | 4 +- .npmrc | 2 +- .pre-commit-config.yaml | 5 + .prettierignore | 2 +- .vscode/settings.json | 2 +- AUTHORS | 2 +- Makefile | 17 + apps/main/server.ts | 18 +- data/mcouniverse.cnf | 2 +- data/pub.key | 2 +- drizzle.config.ts | 4 +- drizzle/meta/_journal.json | 2 +- .../2024.02.11T13.01.48.attachmentPoint.sql | 2 +- migrations/2024.02.11T13.19.25.brand.sql | 2 +- migrations/2024.02.11T13.23.01.model.sql | 2 +- .../2024.02.11T13.33.31.abstractPartType.sql | 2 +- migrations/2024.02.11T13.38.39.partGrade.sql | 2 +- migrations/2024.02.11T13.39.20.partType.sql | 2 +- .../2024.02.11T13.40.36.brandedPart.sql | 2 +- migrations/2024.02.11T13.41.55.part.sql | 2 +- .../2024.02.11T13.45.10.driverClass.sql | 2 +- migrations/2024.02.11T13.46.16.playerType.sql | 2 +- migrations/2024.02.11T14.07.43.player.sql | 2 +- migrations/2024.02.11T14.22.15.skinType.sql | 2 +- migrations/2024.02.11T14.23.13.ptSkin.sql | 2 +- migrations/2024.02.11T14.24.06.vehicle.sql | 2 +- .../2024.02.11T23.30.06.initialPart.sql | 2 +- .../2024.02.13T03.00.46.createSVACarClass.sql | 2 +- ...2.13T03.02.19.createSVAModeRestriction.sql | 2 +- ...T03.02.49.createStockVehicleAtrributes.sql | 2 +- ...024.02.13T23.56.02.createStockAssembly.sql | 2 +- .../2024.02.11T13.01.48.attachmentPoint.sql | 2 +- migrations/down/2024.02.11T13.19.25.brand.sql | 2 +- migrations/down/2024.02.11T13.23.01.model.sql | 2 +- .../2024.02.11T13.33.31.abstractPartType.sql | 2 +- .../down/2024.02.11T13.38.39.partGrade.sql | 2 +- .../down/2024.02.11T13.39.20.partType.sql | 2 +- .../down/2024.02.11T13.40.36.brandedPart.sql | 2 +- migrations/down/2024.02.11T13.41.55.part.sql | 2 +- .../down/2024.02.11T13.45.10.driverClass.sql | 2 +- .../down/2024.02.11T13.46.16.playerType.sql | 2 +- .../down/2024.02.11T14.07.43.player.sql | 2 +- .../down/2024.02.11T14.22.15.skinType.sql | 2 +- .../down/2024.02.11T14.23.13.ptSkin.sql | 2 +- .../down/2024.02.11T14.24.06.vehicle.sql | 2 +- ....02.11T23.16.45.initialAttachmentPoint.sql | 2 +- .../down/2024.02.11T23.20.55.initialBrand.sql | 2 +- .../down/2024.02.11T23.26.25.initialModel.sql | 2 +- ...02.11T23.27.19.initialAbstractPartType.sql | 2 +- ...2.11T23.27.55.initialAbstractPartGrade.sql | 2 +- ...02.11T23.28.36.initialAbstractPartType.sql | 2 +- ...2024.02.11T23.29.19.initialBrandedPart.sql | 2 +- .../down/2024.02.11T23.30.06.initialPart.sql | 2 +- ...2024.02.11T23.30.44.initialDriverClass.sql | 2 +- .../2024.02.11T23.32.01.initialPlayerType.sql | 2 +- .../2024.02.11T23.32.44.initialPlayer.sql | 2 +- .../2024.02.13T03.00.46.createSVACarClass.sql | 2 +- ...2.13T03.02.19.createSVAModeRestriction.sql | 2 +- ...T03.02.49.createStockVehicleAtrributes.sql | 2 +- ...2024.02.13T03.18.24.initialSVACarClass.sql | 2 +- ....13T03.19.03.initialSVAModeRestriction.sql | 2 +- ...03.19.49.initialStockVehicleAttributes.sql | 2 +- ...024.02.13T23.56.02.createStockAssembly.sql | 2 +- ...24.02.13T23.58.02.initialStockAssembly.sql | 2 +- .../2024.02.15T00.21.44.initialSkinType.sql | 2 +- .../2024.02.15T00.22.20.initialPTSkin.sql | 2 +- packages/cli/MessageQueue.ts | 5 +- packages/cli/ScheduledThread.ts | 2 +- packages/cli/test/index.test.ts | 1 - packages/connection/src/Connection.ts | 3 +- packages/database/src/DatabaseManager.ts | 4 +- packages/database/src/seeders/index.ts | 2 +- .../src/seeders/populateBrandedPart.ts | 1 - .../database/src/seeders/populateModel.ts | 2 - .../database/src/seeders/populatePartGrade.ts | 3 - .../database/src/seeders/populatePartType.ts | 2 - packages/database/src/seeders/populateSkin.ts | 3 +- .../database/src/seeders/populateSkinType.ts | 1 - packages/mcots/ClientConnectionManager.ts | 2 +- packages/mcots/messageProcessors/index.ts | 3 - .../mcots/payloads/ClientConnectMessage.ts | 2 +- .../mcots/payloads/ClientTrackingMessage.ts | 2 +- packages/mcots/payloads/SetOptionsMessage.ts | 4 +- packages/mcots/test/index.test.ts | 1 - .../processCheckPlateText.ts | 1 - .../processGameLogout.ts | 2 +- packages/nps/messageStructs/GameMessage.ts | 4 +- packages/nps/messageStructs/GameProfile.ts | 2 +- packages/nps/messageStructs/UserInfo.ts | 2 +- packages/nps/messageStructs/UserStatus.ts | 6 +- packages/nps/services/account.ts | 4 +- packages/nps/src/UserStatusManager.ts | 2 +- packages/nps/test/index.test.ts | 1 - packages/shard/test/fixtures/testCert.txt | 2 +- packages/shard/test/fixtures/testKey.txt | 2 +- packages/shared-packets/src/utils.ts | 2 +- packages/shared-packets/test/index.test.ts | 1 - packages/shared/test/index.ts | 2 +- pdm.lock | 30 +- prettierrc | 2 +- projects/main/UNKNOWN.egg-info/PKG-INFO | 3 - projects/main/UNKNOWN.egg-info/SOURCES.txt | 5 - projects/main/pyproject.toml | 0 projects/server/.gitignore | 162 ++ projects/server/README.md | 1 + projects/server/pyproject.toml | 15 + .../src/server/__init__.py} | 0 .../tests/__init__.py} | 0 pyproject.toml | 13 +- requirements.txt | 3 +- rm-server.py | 20 + schema/index.ts | 1 - schema/key.ts | 1 - schema/part.ts | 2 +- schema/partGrade.ts | 2 +- schema/player.ts | 2 +- schema/raceType.ts | 2 +- schema/skin.ts | 4 +- schema/svaCarClass.ts | 2 +- schema/svaModeRestriction.ts | 2 +- schema/test/index.test.ts | 1 - schema/tunables.ts | 2 +- services/sslProxy/mcouniverse.pem | 2 +- services/sslProxy/nginx.conf | 4 +- services/sslProxy/private_key.pem | 2 +- thebeast/Makefile | 2 +- thebeast/docs/reference/export.psql | 1428 ++++++++--------- thebeast/misc/mco-installer.ps1 | 3 +- thebeast/misc/port-forward.ps1 | 2 +- thebeast/prettierrc | 2 +- tox.ini | 10 + tsconfig.base.json | 2 +- tsconfig.json | 2 +- 139 files changed, 1107 insertions(+), 886 deletions(-) create mode 100644 Makefile delete mode 100644 projects/main/UNKNOWN.egg-info/PKG-INFO delete mode 100644 projects/main/UNKNOWN.egg-info/SOURCES.txt delete mode 100644 projects/main/pyproject.toml create mode 100644 projects/server/.gitignore create mode 100644 projects/server/README.md create mode 100644 projects/server/pyproject.toml rename projects/{main/UNKNOWN.egg-info/dependency_links.txt => server/src/server/__init__.py} (100%) rename projects/{main/UNKNOWN.egg-info/top_level.txt => server/tests/__init__.py} (100%) create mode 100755 rm-server.py create mode 100644 tox.ini diff --git a/.deepsource.toml b/.deepsource.toml index e924044c2..a9190199f 100644 --- a/.deepsource.toml +++ b/.deepsource.toml @@ -7,4 +7,4 @@ name = "javascript" environment = [ "nodejs", "vitest" - ] \ No newline at end of file + ] diff --git a/.editorconfig b/.editorconfig index c1322dc7b..f93bf89da 100644 --- a/.editorconfig +++ b/.editorconfig @@ -9,4 +9,4 @@ indent_size = 4 end_of_line = lf charset = utf-8 trim_trailing_whitespace = false -insert_final_newline = false \ No newline at end of file +insert_final_newline = false diff --git a/.env.example b/.env.example index 0a7dc3fb9..dd03d4fc8 100644 --- a/.env.example +++ b/.env.example @@ -1,4 +1,4 @@ EXTERNAL_HOST= CERTIFICATE_FILE= PRIVATE_KEY_FILE= -PUBLIC_KEY_FILE= \ No newline at end of file +PUBLIC_KEY_FILE= diff --git a/.gitattributes b/.gitattributes index c52f35a78..79a85db5c 100644 --- a/.gitattributes +++ b/.gitattributes @@ -11,4 +11,4 @@ yarn.lock merge=binary # # For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088 # -*.json linguist-language=JSON-with-Comments \ No newline at end of file +*.json linguist-language=JSON-with-Comments diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 8b1378917..e69de29bb 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1 +0,0 @@ - diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 057ee2023..6576bd1b8 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -45,8 +45,8 @@ jobs: run: | pip install --user pytest pip install --user codecov-cli - codecovcli --verbose create-commit --fail-on-error - codecovcli --verbose create-report --fail-on-error + codecovcli --verbose create-commit --fail-on-error + codecovcli --verbose create-report --fail-on-error codecovcli do-upload --report-type test_results --file mcos.junit.xml codecovcli --verbose do-upload --fail-on-error --flag cli --name cli-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag connection --name connection-${{ matrix.node-version }} diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 4ececf3a5..26a4b5a95 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -17,14 +17,14 @@ jobs: matrix: python-version: [3.7, 3.8, 3.9, '3.10', '3.11'] os: [ubuntu-latest, macOS-latest, windows-latest] - + steps: - uses: actions/checkout@v3 - name: Set up PDM uses: pdm-project/setup-pdm@v3 with: python-version: ${{ matrix.python-version }} - + - name: Install dependencies run: | pdm sync -d -G testing diff --git a/.npmrc b/.npmrc index b549de955..c2e45296a 100644 --- a/.npmrc +++ b/.npmrc @@ -1,2 +1,2 @@ node-options="--openssl-legacy-provider" -link-workspace-packages=true \ No newline at end of file +link-workspace-packages=true diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 63d82d430..1f4947f26 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,6 +8,11 @@ repos: - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files + # Using this mirror lets us use mypyc-compiled black, which is about 2x faster +- repo: https://github.com/psf/black-pre-commit-mirror + rev: 24.4.2 + hooks: + - id: black - repo: https://github.com/pdm-project/pdm rev: 2.15.4 # a PDM release exposing the hook hooks: diff --git a/.prettierignore b/.prettierignore index d155fdbd5..baa2bec68 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,4 @@ # Add files here to ignore them from prettier formatting /dist /coverage -/.nx/cache \ No newline at end of file +/.nx/cache diff --git a/.vscode/settings.json b/.vscode/settings.json index b9f722695..2aad72d94 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -3,4 +3,4 @@ "editor.codeActionsOnSave": { "source.organizeImports": "explicit" } -} \ No newline at end of file +} diff --git a/AUTHORS b/AUTHORS index 5d04778a2..b3bcdc423 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1 +1 @@ -Drazi Crendraven () \ No newline at end of file +Drazi Crendraven () diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..9fd61fce2 --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +init: + pip install --user pdm + pdm sync -d -G testing + +lint: + pipenv run flake8 . --exit-zero + +format: + pipenv run black . + + +test: + pipenv run coverage run -m pytest + pipenv run coverage report -m --skip-covered + pipenv run coverage xml + +.PHONY: init lint test diff --git a/apps/main/server.ts b/apps/main/server.ts index 5bdf0be79..3e2332de8 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -26,17 +26,17 @@ export default async function main() { const coreLogger = getServerLogger({ level: "info", }); - + try { verifyLegacyCipherSupport(); } catch (err) { coreLogger.fatal(`Error in core server: ${String(err)}`); throw err; } - + Sentry.init({ dsn: "https://f4c0126e2fc35876c860dd72fc056db9@o1413557.ingest.sentry.io/4506787875061760", - + // We recommend adjusting this value in production, or using tracesSampler // for finer control tracesSampleRate: 1.0, @@ -48,7 +48,7 @@ export default async function main() { metricsAggregator: true, }, }); - + try { if (typeof process.env["EXTERNAL_HOST"] === "undefined") { console.error("Please set EXTERNAL_HOST"); @@ -72,24 +72,24 @@ export default async function main() { privateKeyFile: process.env["PRIVATE_KEY_FILE"], publicKeyFile: process.env["PUBLIC_KEY_FILE"], }); - + const appLog = getServerLogger(); - + const listeningPortList: number[] = [ 6660, 7003, 8228, 8226, 8227, // I don't know what part 9000 is for, but it's in the original list - // 9000, + // 9000, 9001, 9002, 9003, 9004, 9005, 9006, 9007, 9008, 9009, 9010, 9011, 9012, 9013, 9014, 43200, 43300, 43400, 53303, ]; - + const gatewayServer = getGatewayServer({ config, log: appLog, listeningPortList, }); - + await gatewayServer.start(); } catch (err) { Sentry.captureException(err); diff --git a/data/mcouniverse.cnf b/data/mcouniverse.cnf index 69f6ce70c..0eaec5d4e 100644 --- a/data/mcouniverse.cnf +++ b/data/mcouniverse.cnf @@ -18,4 +18,4 @@ extendedKeyUsage=serverAuth,clientAuth # List of all the other DNS names that the certificate should work for. # alt_names is a name of my own invention [ alt_names ] -DNS.1 = localhost \ No newline at end of file +DNS.1 = localhost diff --git a/data/pub.key b/data/pub.key index 36919d198..db112f231 100644 --- a/data/pub.key +++ b/data/pub.key @@ -1 +1 @@ -30819f300d06092a864886f70d010101050003818d0030818902818100c4dbdf5de67a06513a98cf8c2f2e8dde07abe21ceb8ed83e7796c059c48250729a037e78ad1c865865e679437a7bb215acaaad9c5e390ce672c54dab55356650c71850f6336c4b8b9363804926892a6f8e25ff926f17550b81d361ca2bce9bcc45283c780552ea56d76d385742fe9efb9d2d47bdd80f23c59d9ee4c8069bceb90203010001 \ No newline at end of file +30819f300d06092a864886f70d010101050003818d0030818902818100c4dbdf5de67a06513a98cf8c2f2e8dde07abe21ceb8ed83e7796c059c48250729a037e78ad1c865865e679437a7bb215acaaad9c5e390ce672c54dab55356650c71850f6336c4b8b9363804926892a6f8e25ff926f17550b81d361ca2bce9bcc45283c780552ea56d76d385742fe9efb9d2d47bdd80f23c59d9ee4c8069bceb90203010001 diff --git a/drizzle.config.ts b/drizzle.config.ts index d08115ade..9b2efab1e 100644 --- a/drizzle.config.ts +++ b/drizzle.config.ts @@ -5,7 +5,7 @@ dotenv.config(); if (!process.env.DB_URL) { throw new Error("DB_URL must be set in the environment"); } - + export default { schema: "./schema/*", out: "./drizzle", @@ -13,4 +13,4 @@ export default { dbCredentials: { connectionString: process.env.DB_URL, } -} satisfies Config; \ No newline at end of file +} satisfies Config; diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json index 5dcbf6ab2..66906db2e 100644 --- a/drizzle/meta/_journal.json +++ b/drizzle/meta/_journal.json @@ -1 +1 @@ -{"version":"5","dialect":"pg","entries":[]} \ No newline at end of file +{"version":"5","dialect":"pg","entries":[]} diff --git a/migrations/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/2024.02.11T13.01.48.attachmentPoint.sql index c60310d8d..e155d5d2a 100644 --- a/migrations/2024.02.11T13.01.48.attachmentPoint.sql +++ b/migrations/2024.02.11T13.01.48.attachmentPoint.sql @@ -3,4 +3,4 @@ CREATE TABLE if not exists AttachmentPoint ( AttachmentPoint VARCHAR(100) NOT NULL, CONSTRAINT SYS_PK_11761 PRIMARY KEY (AttachmentPointID)); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11761_11762 ON AttachmentPoint (AttachmentPointID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11761_11762 ON AttachmentPoint (AttachmentPointID); diff --git a/migrations/2024.02.11T13.19.25.brand.sql b/migrations/2024.02.11T13.19.25.brand.sql index ea7b1bdee..43edda77b 100644 --- a/migrations/2024.02.11T13.19.25.brand.sql +++ b/migrations/2024.02.11T13.19.25.brand.sql @@ -5,4 +5,4 @@ create table if not exists Brand ( IsStock SMALLINT default 0, CONSTRAINT SYS_PK_11763 PRIMARY KEY (BrandID)); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11795_11796 ON Brand (BrandID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11795_11796 ON Brand (BrandID); diff --git a/migrations/2024.02.11T13.23.01.model.sql b/migrations/2024.02.11T13.23.01.model.sql index f3185332c..924593980 100644 --- a/migrations/2024.02.11T13.23.01.model.sql +++ b/migrations/2024.02.11T13.23.01.model.sql @@ -30,4 +30,4 @@ CREATE TABLE if not exists Model ( CONSTRAINT SYS_PK_11927 PRIMARY KEY (ModelID), CONSTRAINT MODEL_R_172 FOREIGN KEY (BrandID) REFERENCES Brand(BrandID) ); -CREATE INDEX SYS_IDX_MODEL_R_172_12422 ON Model (BrandID); \ No newline at end of file +CREATE INDEX SYS_IDX_MODEL_R_172_12422 ON Model (BrandID); diff --git a/migrations/2024.02.11T13.33.31.abstractPartType.sql b/migrations/2024.02.11T13.33.31.abstractPartType.sql index e3175a022..e00b68156 100644 --- a/migrations/2024.02.11T13.33.31.abstractPartType.sql +++ b/migrations/2024.02.11T13.33.31.abstractPartType.sql @@ -33,4 +33,4 @@ CREATE TABLE AbstractPartType ( ); CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R_191_15170 ON AbstractPartType (DependsOn); CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R2_15181 ON AbstractPartType (ParentAbstractPartTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11740_11741 ON AbstractPartType (AbstractPartTypeID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11740_11741 ON AbstractPartType (AbstractPartTypeID); diff --git a/migrations/2024.02.11T13.38.39.partGrade.sql b/migrations/2024.02.11T13.38.39.partGrade.sql index bc2febc2f..ec4a2a83d 100644 --- a/migrations/2024.02.11T13.38.39.partGrade.sql +++ b/migrations/2024.02.11T13.38.39.partGrade.sql @@ -6,4 +6,4 @@ CREATE TABLE PartGrade ( PartGrade VARCHAR(50), CONSTRAINT SYS_PK_11985 PRIMARY KEY (PartGradeID) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11985_11986 ON PartGrade (PartGradeID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11985_11986 ON PartGrade (PartGradeID); diff --git a/migrations/2024.02.11T13.39.20.partType.sql b/migrations/2024.02.11T13.39.20.partType.sql index fc8acaadd..e9c68dcd2 100644 --- a/migrations/2024.02.11T13.39.20.partType.sql +++ b/migrations/2024.02.11T13.39.20.partType.sql @@ -10,4 +10,4 @@ CREATE TABLE PartType ( ); CREATE INDEX SYS_IDX_PARTTYPE_ABSTRACTPARTTYPEPARTTYPE_12453 ON PartType (AbstractPartTypeID); CREATE INDEX SYS_IDX_PARTTYPE_PARTGRADEPARTTYPE_12463 ON PartType (PartGradeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11991_11992 ON PartType (PartTypeID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11991_11992 ON PartType (PartTypeID); diff --git a/migrations/2024.02.11T13.40.36.brandedPart.sql b/migrations/2024.02.11T13.40.36.brandedPart.sql index 4451fbf57..25495b91e 100644 --- a/migrations/2024.02.11T13.40.36.brandedPart.sql +++ b/migrations/2024.02.11T13.40.36.brandedPart.sql @@ -14,4 +14,4 @@ CREATE TABLE BrandedPart ( CREATE INDEX BRANDEDPART_ENGINEBLOCKFAMILYID ON BrandedPart (EngineBlockFamilyID); CREATE INDEX SYS_IDX_BRANDEDPART_MODELBRANDEDPART_12255 ON BrandedPart (ModelID); CREATE INDEX SYS_IDX_BRANDEDPART_PARTTYPEBRANDEDPART1_12269 ON BrandedPart (PartTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11801_11802 ON BrandedPart (BrandedPartID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11801_11802 ON BrandedPart (BrandedPartID); diff --git a/migrations/2024.02.11T13.41.55.part.sql b/migrations/2024.02.11T13.41.55.part.sql index e4eb1b771..200fd0d6f 100644 --- a/migrations/2024.02.11T13.41.55.part.sql +++ b/migrations/2024.02.11T13.41.55.part.sql @@ -17,4 +17,4 @@ CREATE TABLE Part ( CREATE INDEX SYS_IDX_PART_BRANDEDPARTPART_12431 ON Part (BrandedPartID); CREATE INDEX SYS_IDX_PART_R25_15192 ON Part (ParentPartID); CREATE INDEX SYS_IDX_PART_R9_12442 ON Part (AttachmentPointID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11976_11977 ON Part (PartID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11976_11977 ON Part (PartID); diff --git a/migrations/2024.02.11T13.45.10.driverClass.sql b/migrations/2024.02.11T13.45.10.driverClass.sql index 2575ff649..14f38ea65 100644 --- a/migrations/2024.02.11T13.45.10.driverClass.sql +++ b/migrations/2024.02.11T13.45.10.driverClass.sql @@ -3,4 +3,4 @@ CREATE TABLE DriverClass ( DriverClass VARCHAR(50), CONSTRAINT SYS_PK_11831 PRIMARY KEY (DriverClassID) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11831_11832 ON DriverClass (DriverClassID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11831_11832 ON DriverClass (DriverClassID); diff --git a/migrations/2024.02.11T13.46.16.playerType.sql b/migrations/2024.02.11T13.46.16.playerType.sql index 64fb4a650..997fec46b 100644 --- a/migrations/2024.02.11T13.46.16.playerType.sql +++ b/migrations/2024.02.11T13.46.16.playerType.sql @@ -3,4 +3,4 @@ CREATE TABLE PlayerType ( PlayerType VARCHAR(100) NOT NULL, CONSTRAINT SYS_PK_12040 PRIMARY KEY (PlayerTypeID) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12040_12041 ON PlayerType (PlayerTypeID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12040_12041 ON PlayerType (PlayerTypeID); diff --git a/migrations/2024.02.11T14.07.43.player.sql b/migrations/2024.02.11T14.07.43.player.sql index 0b58d44d8..9d2e9643a 100644 --- a/migrations/2024.02.11T14.07.43.player.sql +++ b/migrations/2024.02.11T14.07.43.player.sql @@ -77,4 +77,4 @@ CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER3_12544 ON Player (ModifiedMuscleCl CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER4_12565 ON Player (OutlawClass); CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER5_12586 ON Player (DragClass); CREATE INDEX SYS_IDX_PLAYER_R44_12607 ON Player (PlayerTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12021_12022 ON Player (PlayerID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12021_12022 ON Player (PlayerID); diff --git a/migrations/2024.02.11T14.22.15.skinType.sql b/migrations/2024.02.11T14.22.15.skinType.sql index ea5e59172..40e91088a 100644 --- a/migrations/2024.02.11T14.22.15.skinType.sql +++ b/migrations/2024.02.11T14.22.15.skinType.sql @@ -3,4 +3,4 @@ CREATE TABLE SkinType ( SkinType VARCHAR(100), CONSTRAINT SYS_PK_12138 PRIMARY KEY (SkinTypeID) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12138_12139 ON SkinType (SkinTypeID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12138_12139 ON SkinType (SkinTypeID); diff --git a/migrations/2024.02.11T14.23.13.ptSkin.sql b/migrations/2024.02.11T14.23.13.ptSkin.sql index 00f274188..a502ecb5a 100644 --- a/migrations/2024.02.11T14.23.13.ptSkin.sql +++ b/migrations/2024.02.11T14.23.13.ptSkin.sql @@ -70,4 +70,4 @@ CREATE TABLE PTSkin ( ); CREATE INDEX SYS_IDX_PTSKIN_PARTTYPEPTSKIN_12628 ON PTSkin (PartTypeID); CREATE INDEX SYS_IDX_PTSKIN_SKINTYPEPTSKIN_12636 ON PTSkin (SkinTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12047_12048 ON PTSkin (SkinID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12047_12048 ON PTSkin (SkinID); diff --git a/migrations/2024.02.11T14.24.06.vehicle.sql b/migrations/2024.02.11T14.24.06.vehicle.sql index 1abc2cbc9..6774880c5 100644 --- a/migrations/2024.02.11T14.24.06.vehicle.sql +++ b/migrations/2024.02.11T14.24.06.vehicle.sql @@ -12,4 +12,4 @@ CREATE TABLE Vehicle ( ); CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12214_12215 ON Vehicle (VehicleID); CREATE INDEX SYS_IDX_VEHICLE_PARTVEHICLE_12844 ON Vehicle (VehicleID); -CREATE INDEX SYS_IDX_VEHICLE_PTSKINVEHICLE_12856 ON Vehicle (SkinID); \ No newline at end of file +CREATE INDEX SYS_IDX_VEHICLE_PTSKINVEHICLE_12856 ON Vehicle (SkinID); diff --git a/migrations/2024.02.11T23.30.06.initialPart.sql b/migrations/2024.02.11T23.30.06.initialPart.sql index 7489accbf..4ba280517 100644 --- a/migrations/2024.02.11T23.30.06.initialPart.sql +++ b/migrations/2024.02.11T23.30.06.initialPart.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/2024.02.13T03.00.46.createSVACarClass.sql index 1bb80921d..1c532c050 100644 --- a/migrations/2024.02.13T03.00.46.createSVACarClass.sql +++ b/migrations/2024.02.13T03.00.46.createSVACarClass.sql @@ -3,4 +3,4 @@ CREATE TABLE SVA_CarClass ( Description VARCHAR(50), CONSTRAINT SYS_PK_12175 PRIMARY KEY (SVA_CarClass) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12175_12176 ON SVA_CarClass (SVA_CarClass); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12175_12176 ON SVA_CarClass (SVA_CarClass); diff --git a/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql index f1090c830..84fe740d5 100644 --- a/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql +++ b/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql @@ -3,4 +3,4 @@ CREATE TABLE SVA_ModeRestriction ( Description VARCHAR(100), CONSTRAINT SYS_PK_12180 PRIMARY KEY (SVA_ModeRestriction) ); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12180_12181 ON SVA_ModeRestriction (SVA_ModeRestriction); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12180_12181 ON SVA_ModeRestriction (SVA_ModeRestriction); diff --git a/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql index acf09ccd1..8648917c2 100644 --- a/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql +++ b/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql @@ -20,4 +20,4 @@ CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBS_12786 CREATE UNIQUE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_PARENTBRANDEDPARTID_12162 ON StockVehicleAttributes (BrandedPartID); CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_CARCLASSSTOCKVEHICLEATTRIBUTES_12804 ON StockVehicleAttributes (CarClass); CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_MODERESTRICTIONSTOCKVEHICLEATTRIBUTES_12813 ON StockVehicleAttributes (ModeRestriction); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12168_12169 ON StockVehicleAttributes (BrandedPartID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12168_12169 ON StockVehicleAttributes (BrandedPartID); diff --git a/migrations/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/2024.02.13T23.56.02.createStockAssembly.sql index 28fd65efb..4c26acc96 100644 --- a/migrations/2024.02.13T23.56.02.createStockAssembly.sql +++ b/migrations/2024.02.13T23.56.02.createStockAssembly.sql @@ -12,4 +12,4 @@ CREATE TABLE StockAssembly ( CREATE INDEX SYS_IDX_STOCKASSEMBLY_ATTACHMENTPOINTSTOCKASSEMBLY_12750 ON StockAssembly (AttachmentPointID); CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY1_12774 ON StockAssembly (ParentBrandedPartID); CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY_12762 ON StockAssembly (ChildBrandedPartID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12146_12147 ON StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID); \ No newline at end of file +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12146_12147 ON StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID); diff --git a/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql index 498d3a815..0afbfdcb6 100644 --- a/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql +++ b/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql @@ -1 +1 @@ -DROP TABLE AttachmentPoint; \ No newline at end of file +DROP TABLE AttachmentPoint; diff --git a/migrations/down/2024.02.11T13.19.25.brand.sql b/migrations/down/2024.02.11T13.19.25.brand.sql index d0a718763..7810394d4 100644 --- a/migrations/down/2024.02.11T13.19.25.brand.sql +++ b/migrations/down/2024.02.11T13.19.25.brand.sql @@ -1 +1 @@ -drop table Brand; \ No newline at end of file +drop table Brand; diff --git a/migrations/down/2024.02.11T13.23.01.model.sql b/migrations/down/2024.02.11T13.23.01.model.sql index 4b973fa35..21610f5a1 100644 --- a/migrations/down/2024.02.11T13.23.01.model.sql +++ b/migrations/down/2024.02.11T13.23.01.model.sql @@ -1 +1 @@ -DROP TABLE Model; \ No newline at end of file +DROP TABLE Model; diff --git a/migrations/down/2024.02.11T13.33.31.abstractPartType.sql b/migrations/down/2024.02.11T13.33.31.abstractPartType.sql index 3774dc3a2..908c682ea 100644 --- a/migrations/down/2024.02.11T13.33.31.abstractPartType.sql +++ b/migrations/down/2024.02.11T13.33.31.abstractPartType.sql @@ -1 +1 @@ -DROP TABLE AbstractPartType; \ No newline at end of file +DROP TABLE AbstractPartType; diff --git a/migrations/down/2024.02.11T13.38.39.partGrade.sql b/migrations/down/2024.02.11T13.38.39.partGrade.sql index 220add9a7..4d6dde0e5 100644 --- a/migrations/down/2024.02.11T13.38.39.partGrade.sql +++ b/migrations/down/2024.02.11T13.38.39.partGrade.sql @@ -1 +1 @@ -DROP TABLE PartGrade; \ No newline at end of file +DROP TABLE PartGrade; diff --git a/migrations/down/2024.02.11T13.39.20.partType.sql b/migrations/down/2024.02.11T13.39.20.partType.sql index 304b5b01f..7dbcc04c3 100644 --- a/migrations/down/2024.02.11T13.39.20.partType.sql +++ b/migrations/down/2024.02.11T13.39.20.partType.sql @@ -1 +1 @@ -DROP TABLE PartType; \ No newline at end of file +DROP TABLE PartType; diff --git a/migrations/down/2024.02.11T13.40.36.brandedPart.sql b/migrations/down/2024.02.11T13.40.36.brandedPart.sql index 3e9157879..a47fad7f7 100644 --- a/migrations/down/2024.02.11T13.40.36.brandedPart.sql +++ b/migrations/down/2024.02.11T13.40.36.brandedPart.sql @@ -1 +1 @@ -DROP TABLE BrandedPart; \ No newline at end of file +DROP TABLE BrandedPart; diff --git a/migrations/down/2024.02.11T13.41.55.part.sql b/migrations/down/2024.02.11T13.41.55.part.sql index 98d33efac..b2d50aeb2 100644 --- a/migrations/down/2024.02.11T13.41.55.part.sql +++ b/migrations/down/2024.02.11T13.41.55.part.sql @@ -1 +1 @@ -DROP TABLE Part; \ No newline at end of file +DROP TABLE Part; diff --git a/migrations/down/2024.02.11T13.45.10.driverClass.sql b/migrations/down/2024.02.11T13.45.10.driverClass.sql index 6e52ffef3..44710ebe5 100644 --- a/migrations/down/2024.02.11T13.45.10.driverClass.sql +++ b/migrations/down/2024.02.11T13.45.10.driverClass.sql @@ -1 +1 @@ -DROP TABLE DriverClass; \ No newline at end of file +DROP TABLE DriverClass; diff --git a/migrations/down/2024.02.11T13.46.16.playerType.sql b/migrations/down/2024.02.11T13.46.16.playerType.sql index 72e426a35..80a24ecfa 100644 --- a/migrations/down/2024.02.11T13.46.16.playerType.sql +++ b/migrations/down/2024.02.11T13.46.16.playerType.sql @@ -1 +1 @@ -DROP TABLE PlayerType; \ No newline at end of file +DROP TABLE PlayerType; diff --git a/migrations/down/2024.02.11T14.07.43.player.sql b/migrations/down/2024.02.11T14.07.43.player.sql index fe49fd9ac..a30cd62a0 100644 --- a/migrations/down/2024.02.11T14.07.43.player.sql +++ b/migrations/down/2024.02.11T14.07.43.player.sql @@ -1 +1 @@ -DROP TABLE Player; \ No newline at end of file +DROP TABLE Player; diff --git a/migrations/down/2024.02.11T14.22.15.skinType.sql b/migrations/down/2024.02.11T14.22.15.skinType.sql index 3728f897c..022760f1f 100644 --- a/migrations/down/2024.02.11T14.22.15.skinType.sql +++ b/migrations/down/2024.02.11T14.22.15.skinType.sql @@ -1 +1 @@ -DROP TABLE SkinType; \ No newline at end of file +DROP TABLE SkinType; diff --git a/migrations/down/2024.02.11T14.23.13.ptSkin.sql b/migrations/down/2024.02.11T14.23.13.ptSkin.sql index e60fd008f..343692672 100644 --- a/migrations/down/2024.02.11T14.23.13.ptSkin.sql +++ b/migrations/down/2024.02.11T14.23.13.ptSkin.sql @@ -1 +1 @@ -DROP TABLE PTSkin; \ No newline at end of file +DROP TABLE PTSkin; diff --git a/migrations/down/2024.02.11T14.24.06.vehicle.sql b/migrations/down/2024.02.11T14.24.06.vehicle.sql index 58acb51c0..270e8015d 100644 --- a/migrations/down/2024.02.11T14.24.06.vehicle.sql +++ b/migrations/down/2024.02.11T14.24.06.vehicle.sql @@ -1 +1 @@ -DROP TABLE Vehicle; \ No newline at end of file +DROP TABLE Vehicle; diff --git a/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql b/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql +++ b/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.20.55.initialBrand.sql b/migrations/down/2024.02.11T23.20.55.initialBrand.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.20.55.initialBrand.sql +++ b/migrations/down/2024.02.11T23.20.55.initialBrand.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.26.25.initialModel.sql b/migrations/down/2024.02.11T23.26.25.initialModel.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.26.25.initialModel.sql +++ b/migrations/down/2024.02.11T23.26.25.initialModel.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql +++ b/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql b/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql +++ b/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql +++ b/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql b/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql +++ b/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.30.06.initialPart.sql b/migrations/down/2024.02.11T23.30.06.initialPart.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.30.06.initialPart.sql +++ b/migrations/down/2024.02.11T23.30.06.initialPart.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql b/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql +++ b/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql b/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql +++ b/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.11T23.32.44.initialPlayer.sql b/migrations/down/2024.02.11T23.32.44.initialPlayer.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.11T23.32.44.initialPlayer.sql +++ b/migrations/down/2024.02.11T23.32.44.initialPlayer.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql index 915616d46..b665ba813 100644 --- a/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql +++ b/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql @@ -1 +1 @@ -drop table SVA_CarClass; \ No newline at end of file +drop table SVA_CarClass; diff --git a/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql index 39459001e..6f57bbc73 100644 --- a/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql +++ b/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql @@ -1 +1 @@ -drop table SVA_ModeRestriction; \ No newline at end of file +drop table SVA_ModeRestriction; diff --git a/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql index 873bd025f..36563ddc2 100644 --- a/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql +++ b/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql @@ -1 +1 @@ -drop table StockVehicleAttributes; \ No newline at end of file +drop table StockVehicleAttributes; diff --git a/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql b/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql +++ b/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql b/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql +++ b/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql b/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql +++ b/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql index 541c10c38..0d6971ea9 100644 --- a/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql +++ b/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql @@ -1 +1 @@ -DROP TABLE stockassembly; \ No newline at end of file +DROP TABLE stockassembly; diff --git a/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql b/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql +++ b/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.15T00.21.44.initialSkinType.sql b/migrations/down/2024.02.15T00.21.44.initialSkinType.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.15T00.21.44.initialSkinType.sql +++ b/migrations/down/2024.02.15T00.21.44.initialSkinType.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql b/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql index 7489accbf..4ba280517 100644 --- a/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql +++ b/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql @@ -1 +1 @@ --- \ No newline at end of file +-- diff --git a/packages/cli/MessageQueue.ts b/packages/cli/MessageQueue.ts index bc5c438ba..a9c7c13f2 100644 --- a/packages/cli/MessageQueue.ts +++ b/packages/cli/MessageQueue.ts @@ -20,7 +20,7 @@ export class MessageQueue extends SubThread { }: { parentThread: TGateway; log: TServerLogger; - }) { + }) { super("MessageQueue", log, 100); this.log.setName(this.name); @@ -34,7 +34,7 @@ export class MessageQueue extends SubThread { if (typeof MessageQueue._instance === "undefined") { MessageQueue._instance = this; } - + this.log.resetName(); } @@ -66,4 +66,3 @@ export class MessageQueue extends SubThread { this.log.resetName(); } } - diff --git a/packages/cli/ScheduledThread.ts b/packages/cli/ScheduledThread.ts index 23b7d41d1..3a2635844 100644 --- a/packages/cli/ScheduledThread.ts +++ b/packages/cli/ScheduledThread.ts @@ -23,7 +23,7 @@ export class ScheduledThread extends SubThread implements TScheduledThread{ }: { parentThread: TGateway; log: TServerLogger; - }) { + }) { super("ScheduledThread", log, 100); this.log.setName("ScheduledThread"); if (!parentThread) { diff --git a/packages/cli/test/index.test.ts b/packages/cli/test/index.test.ts index 0f7944501..f01d2f75d 100644 --- a/packages/cli/test/index.test.ts +++ b/packages/cli/test/index.test.ts @@ -5,4 +5,3 @@ describe("example", () => { expect(true).toBe(true); }); }); - diff --git a/packages/connection/src/Connection.ts b/packages/connection/src/Connection.ts index d83321928..c0f990bd6 100644 --- a/packages/connection/src/Connection.ts +++ b/packages/connection/src/Connection.ts @@ -110,7 +110,7 @@ export class Connection { private _personaId: number | null = null; private _cipherPair: McosEncryptionPair | null = null; private _channelSecure: boolean = false; - + getConnectionId() { return this._connectionId; } @@ -369,4 +369,3 @@ export function handleServerSocketError(connection: Connection, error: Error) { connection.close(); log.resetName(); } - diff --git a/packages/database/src/DatabaseManager.ts b/packages/database/src/DatabaseManager.ts index 356eb0664..c6824994d 100644 --- a/packages/database/src/DatabaseManager.ts +++ b/packages/database/src/DatabaseManager.ts @@ -21,7 +21,7 @@ const _users: Map = new Map(); /** * Update a user record in the database - + * @throws {Error} If the user record is not found */ export async function updateUser(user: { @@ -103,5 +103,3 @@ export async function fetchSessionKeyByConnectionId( } return Promise.resolve(record); } - - diff --git a/packages/database/src/seeders/index.ts b/packages/database/src/seeders/index.ts index 997f8e135..72c145daf 100644 --- a/packages/database/src/seeders/index.ts +++ b/packages/database/src/seeders/index.ts @@ -187,7 +187,7 @@ export function csvRowToPlayer(row: (string | number | Date | null)[]): typeof p for (const row of playerCsvRow) { if (row.length !== playerCsvHeader.length) { - throw new Error(`Row length does not match header length: got ${row.length}, expected ${playerCsvHeader.length}`); + throw new Error(`Row length does not match header length: got ${row.length}, expected ${playerCsvHeader.length}`); } const player = [csvRowToPlayer(row.map((value, index) => { diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts index 68677aa25..cf2a87e63 100644 --- a/packages/database/src/seeders/populateBrandedPart.ts +++ b/packages/database/src/seeders/populateBrandedPart.ts @@ -110,4 +110,3 @@ export async function populateBrandedPart(): Promise { Sentry.captureException(error); }); } - diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts index 28cb80581..4fb68eb25 100644 --- a/packages/database/src/seeders/populateModel.ts +++ b/packages/database/src/seeders/populateModel.ts @@ -121,5 +121,3 @@ export async function populateModel(): Promise { Sentry.captureException(error); }); } - - diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts index fd7464416..0cd4c243a 100644 --- a/packages/database/src/seeders/populatePartGrade.ts +++ b/packages/database/src/seeders/populatePartGrade.ts @@ -29,6 +29,3 @@ export async function populatePartGrade(): Promise { Sentry.captureException(error); }); } - - - diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts index 182f36876..88b17cf06 100644 --- a/packages/database/src/seeders/populatePartType.ts +++ b/packages/database/src/seeders/populatePartType.ts @@ -94,5 +94,3 @@ export async function populatePartType(): Promise { Sentry.captureException(error); }); } - - diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts index f3c1c7b40..29f6c3b75 100644 --- a/packages/database/src/seeders/populateSkin.ts +++ b/packages/database/src/seeders/populateSkin.ts @@ -13,7 +13,7 @@ export async function populateSkin(): Promise { .insert(skinSchema) .values([ { - skinId: 1, + skinId: 1, creatorId: 10, skinTypeId: 1, partTypeId: 101, @@ -89,4 +89,3 @@ export async function populateSkin(): Promise { Sentry.captureException(error); }); } - diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts index 3927e0ab6..f64b75a0e 100644 --- a/packages/database/src/seeders/populateSkinType.ts +++ b/packages/database/src/seeders/populateSkinType.ts @@ -26,4 +26,3 @@ export async function populateSkinType(): Promise { Sentry.captureException(error); }); } - diff --git a/packages/mcots/ClientConnectionManager.ts b/packages/mcots/ClientConnectionManager.ts index 5a9151c78..402201c26 100644 --- a/packages/mcots/ClientConnectionManager.ts +++ b/packages/mcots/ClientConnectionManager.ts @@ -2,7 +2,7 @@ import type { Connection } from "rusty-motors-connection"; export class ClientConnectionManager { static _instance: ClientConnectionManager; - + static getInstance() { if (!ClientConnectionManager._instance) { ClientConnectionManager._instance = new ClientConnectionManager(); diff --git a/packages/mcots/messageProcessors/index.ts b/packages/mcots/messageProcessors/index.ts index 00b7ffa5c..494ae24d9 100644 --- a/packages/mcots/messageProcessors/index.ts +++ b/packages/mcots/messageProcessors/index.ts @@ -37,6 +37,3 @@ export function getServerMessageProcessor(messageId: number) { export function getServerMessageProcessors() { return serverMessageProcessors; } - - - diff --git a/packages/mcots/payloads/ClientConnectMessage.ts b/packages/mcots/payloads/ClientConnectMessage.ts index 5abfc294a..ada18c329 100644 --- a/packages/mcots/payloads/ClientConnectMessage.ts +++ b/packages/mcots/payloads/ClientConnectMessage.ts @@ -68,5 +68,5 @@ export class ClientConnectionMessage extends ServerMessagePayload { toString(): string { return `ClientConnectionMessage {customerId: ${this._customerId}, personaId: ${this._personaId}, customerName: ${this._customerName}, personaName: ${this._personaName}, clientVersion: ${this._clientVersion}}`; } - + } diff --git a/packages/mcots/payloads/ClientTrackingMessage.ts b/packages/mcots/payloads/ClientTrackingMessage.ts index a5b18fe05..f07593dbc 100644 --- a/packages/mcots/payloads/ClientTrackingMessage.ts +++ b/packages/mcots/payloads/ClientTrackingMessage.ts @@ -33,7 +33,7 @@ export class ClientTrackingMessage extends ServerMessagePayload { throw error; } } - + getType() { return this._type; } diff --git a/packages/mcots/payloads/SetOptionsMessage.ts b/packages/mcots/payloads/SetOptionsMessage.ts index 17e571a6d..3275f80fa 100644 --- a/packages/mcots/payloads/SetOptionsMessage.ts +++ b/packages/mcots/payloads/SetOptionsMessage.ts @@ -73,6 +73,6 @@ export class SetOptionsMessage extends ServerMessagePayload { toString() { return `SetOptionsMessage: lpCode=${this._lpCode}, lpText=${this._lpText}, carInfoSettings=${this._carInfoSettings}, carNumbers=${JSON.stringify(this._carNumbers)}`; } - - + + } diff --git a/packages/mcots/test/index.test.ts b/packages/mcots/test/index.test.ts index 0f7944501..f01d2f75d 100644 --- a/packages/mcots/test/index.test.ts +++ b/packages/mcots/test/index.test.ts @@ -5,4 +5,3 @@ describe("example", () => { expect(true).toBe(true); }); }); - diff --git a/packages/nps/gameMessageProcessors/processCheckPlateText.ts b/packages/nps/gameMessageProcessors/processCheckPlateText.ts index 2c96d5d0e..b58167697 100644 --- a/packages/nps/gameMessageProcessors/processCheckPlateText.ts +++ b/packages/nps/gameMessageProcessors/processCheckPlateText.ts @@ -31,4 +31,3 @@ export async function processCheckPlateText( log.resetName(); return Promise.resolve(); } - diff --git a/packages/nps/gameMessageProcessors/processGameLogout.ts b/packages/nps/gameMessageProcessors/processGameLogout.ts index 1bbaec17d..954b807bb 100644 --- a/packages/nps/gameMessageProcessors/processGameLogout.ts +++ b/packages/nps/gameMessageProcessors/processGameLogout.ts @@ -9,7 +9,7 @@ export async function processGameLogout( message: GameMessage, socketCallback: GameSocketCallback, ): Promise { - + sendNPSAck(socketCallback); return Promise.resolve(); } diff --git a/packages/nps/messageStructs/GameMessage.ts b/packages/nps/messageStructs/GameMessage.ts index edbc7bae3..a844cbee1 100644 --- a/packages/nps/messageStructs/GameMessage.ts +++ b/packages/nps/messageStructs/GameMessage.ts @@ -178,8 +178,8 @@ export class GameMessage implements IMessage { } toString(): string { - return `Id: ${this.header.getId()} - Length: ${this.header.getLength()} + return `Id: ${this.header.getId()} + Length: ${this.header.getLength()} Data: ${this.data.toString()}`; } diff --git a/packages/nps/messageStructs/GameProfile.ts b/packages/nps/messageStructs/GameProfile.ts index b52f73cc3..81ee60abb 100644 --- a/packages/nps/messageStructs/GameProfile.ts +++ b/packages/nps/messageStructs/GameProfile.ts @@ -160,7 +160,7 @@ export class GameProfile implements ISerializable { return buffer; } toString(): string { - return `GameProfile: + return `GameProfile: customerID: ${this.customerId} profileName: ${this.profileName} serverId: ${this.serverId} diff --git a/packages/nps/messageStructs/UserInfo.ts b/packages/nps/messageStructs/UserInfo.ts index 90af73f36..308dc5cad 100644 --- a/packages/nps/messageStructs/UserInfo.ts +++ b/packages/nps/messageStructs/UserInfo.ts @@ -40,7 +40,7 @@ export class UserInfo implements ISerializable { return 4 + 2 + this.profileName.length + 1 + 64; } toString(): string { - return `Profile ID: ${this.profileId}, + return `Profile ID: ${this.profileId}, Profile Name: ${this.profileName}`; } } diff --git a/packages/nps/messageStructs/UserStatus.ts b/packages/nps/messageStructs/UserStatus.ts index c0e73fee3..9dd3157d1 100644 --- a/packages/nps/messageStructs/UserStatus.ts +++ b/packages/nps/messageStructs/UserStatus.ts @@ -22,7 +22,7 @@ export class UserStatus implements ISerializable { customerId: number; personaId?: number; sessionKey?: SessionKey; - + }) { this._sessionId = randomUUID(); this.customerId = customerId; @@ -72,7 +72,7 @@ export class UserStatus implements ISerializable { return new UserStatus({ customerId: 0, }); - + } static fromBytes(bytes: Buffer): UserStatus { @@ -93,7 +93,7 @@ export class UserStatus implements ISerializable { customerId, personaId, sessionKey, - + }); } diff --git a/packages/nps/services/account.ts b/packages/nps/services/account.ts index 549dea700..fed0927a3 100644 --- a/packages/nps/services/account.ts +++ b/packages/nps/services/account.ts @@ -28,12 +28,12 @@ export async function populateGameUsers(): Promise { } export async function getUser(username: string, password: string): Promise { - + const userAccount = await getDatabase().select().from(userSchema).where( and( eq(userSchema.userName, username), eq(userSchema.password, password), - ), + ), ).limit(1).then((result) => { if (result.length === 0) { return null; diff --git a/packages/nps/src/UserStatusManager.ts b/packages/nps/src/UserStatusManager.ts index 2f690b775..2f884eca7 100644 --- a/packages/nps/src/UserStatusManager.ts +++ b/packages/nps/src/UserStatusManager.ts @@ -5,7 +5,7 @@ export class UserStatusManager { return new UserStatus({ customerId: 0 }); } static _instance: UserStatusManager; - + static getInstance() { if (!UserStatusManager._instance) { UserStatusManager._instance = new UserStatusManager(); diff --git a/packages/nps/test/index.test.ts b/packages/nps/test/index.test.ts index 0f7944501..f01d2f75d 100644 --- a/packages/nps/test/index.test.ts +++ b/packages/nps/test/index.test.ts @@ -5,4 +5,3 @@ describe("example", () => { expect(true).toBe(true); }); }); - diff --git a/packages/shard/test/fixtures/testCert.txt b/packages/shard/test/fixtures/testCert.txt index cf9d2f18c..70b27a15d 100644 --- a/packages/shard/test/fixtures/testCert.txt +++ b/packages/shard/test/fixtures/testCert.txt @@ -1 +1 @@ -Hello! I'm an SSL cert. Honest. \ No newline at end of file +Hello! I'm an SSL cert. Honest. diff --git a/packages/shard/test/fixtures/testKey.txt b/packages/shard/test/fixtures/testKey.txt index 0d4a45bc1..6a4b13fb4 100644 --- a/packages/shard/test/fixtures/testKey.txt +++ b/packages/shard/test/fixtures/testKey.txt @@ -1 +1 @@ -I'm a public key! Wheeeeeeeee \ No newline at end of file +I'm a public key! Wheeeeeeeee diff --git a/packages/shared-packets/src/utils.ts b/packages/shared-packets/src/utils.ts index 4830236c5..482d28dd5 100644 --- a/packages/shared-packets/src/utils.ts +++ b/packages/shared-packets/src/utils.ts @@ -2,4 +2,4 @@ export function getAsHex(bytes: Buffer): string { return bytes.length % 2 === 0 ? bytes.toString("hex") : bytes.toString("hex") + "0"; -} \ No newline at end of file +} diff --git a/packages/shared-packets/test/index.test.ts b/packages/shared-packets/test/index.test.ts index 0f7944501..f01d2f75d 100644 --- a/packages/shared-packets/test/index.test.ts +++ b/packages/shared-packets/test/index.test.ts @@ -5,4 +5,3 @@ describe("example", () => { expect(true).toBe(true); }); }); - diff --git a/packages/shared/test/index.ts b/packages/shared/test/index.ts index 64f630168..5f85ea2ec 100644 --- a/packages/shared/test/index.ts +++ b/packages/shared/test/index.ts @@ -13,4 +13,4 @@ export function mockLogger(): TServerLogger { resetName: vi.fn(), setName: vi.fn(), }; -} \ No newline at end of file +} diff --git a/pdm.lock b/pdm.lock index b15cb7ca3..d17997516 100644 --- a/pdm.lock +++ b/pdm.lock @@ -2,10 +2,10 @@ # It is not intended for manual editing. [metadata] -groups = ["default", "dev", "pytest", "pre-commit", "test"] +groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:36a8fa866be3b06bb71dff47608f8beb4004e3a41502693ebf49e29bf3c55cfa" +content_hash = "sha256:8209bdf4da581299d47bc2889f906c36d2d5674f5a9c79700d7db66550be8a6e" [[package]] name = "black" @@ -124,6 +124,21 @@ files = [ {file = "flake8-7.1.0.tar.gz", hash = "sha256:48a07b626b55236e0fb4784ee69a465fbf59d79eec1f5b4785c3d3bc57d17aa5"}, ] +[[package]] +name = "flake8-black" +version = "0.3.6" +requires_python = ">=3.7" +summary = "flake8 plugin to call black as a code style validator" +groups = ["dev"] +dependencies = [ + "black>=22.1.0", + "flake8>=3", +] +files = [ + {file = "flake8-black-0.3.6.tar.gz", hash = "sha256:0dfbca3274777792a5bcb2af887a4cad72c72d0e86c94e08e3a3de151bb41c34"}, + {file = "flake8_black-0.3.6-py3-none-any.whl", hash = "sha256:fe8ea2eca98d8a504f22040d9117347f6b367458366952862ac3586e7d4eeaca"}, +] + [[package]] name = "identify" version = "2.5.36" @@ -307,12 +322,13 @@ summary = "Default template for PDM package" groups = ["dev"] [[package]] -name = "unknown" -version = "0.0.0" +name = "server" +version = "0.1.0" +requires_python = "==3.12.*" editable = true -path = "./projects/main" -summary = "" -groups = ["dev"] +path = "./projects/server" +summary = "Default template for PDM package" +groups = ["default", "dev"] [[package]] name = "virtualenv" diff --git a/prettierrc b/prettierrc index d1039fbcf..e74ed9ff3 100644 --- a/prettierrc +++ b/prettierrc @@ -3,4 +3,4 @@ "tabWidth": 4, "semi": false, "singleQuote": true -} \ No newline at end of file +} diff --git a/projects/main/UNKNOWN.egg-info/PKG-INFO b/projects/main/UNKNOWN.egg-info/PKG-INFO deleted file mode 100644 index 738605f31..000000000 --- a/projects/main/UNKNOWN.egg-info/PKG-INFO +++ /dev/null @@ -1,3 +0,0 @@ -Metadata-Version: 2.1 -Name: UNKNOWN -Version: 0.0.0 diff --git a/projects/main/UNKNOWN.egg-info/SOURCES.txt b/projects/main/UNKNOWN.egg-info/SOURCES.txt deleted file mode 100644 index 573797a84..000000000 --- a/projects/main/UNKNOWN.egg-info/SOURCES.txt +++ /dev/null @@ -1,5 +0,0 @@ -pyproject.toml -UNKNOWN.egg-info/PKG-INFO -UNKNOWN.egg-info/SOURCES.txt -UNKNOWN.egg-info/dependency_links.txt -UNKNOWN.egg-info/top_level.txt diff --git a/projects/main/pyproject.toml b/projects/main/pyproject.toml deleted file mode 100644 index e69de29bb..000000000 diff --git a/projects/server/.gitignore b/projects/server/.gitignore new file mode 100644 index 000000000..3a8816c9e --- /dev/null +++ b/projects/server/.gitignore @@ -0,0 +1,162 @@ +# Byte-compiled / optimized / DLL files +__pycache__/ +*.py[cod] +*$py.class + +# C extensions +*.so + +# Distribution / packaging +.Python +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +share/python-wheels/ +*.egg-info/ +.installed.cfg +*.egg +MANIFEST + +# PyInstaller +# Usually these files are written by a python script from a template +# before PyInstaller builds the exe, so as to inject date/other infos into it. +*.manifest +*.spec + +# Installer logs +pip-log.txt +pip-delete-this-directory.txt + +# Unit test / coverage reports +htmlcov/ +.tox/ +.nox/ +.coverage +.coverage.* +.cache +nosetests.xml +coverage.xml +*.cover +*.py,cover +.hypothesis/ +.pytest_cache/ +cover/ + +# Translations +*.mo +*.pot + +# Django stuff: +*.log +local_settings.py +db.sqlite3 +db.sqlite3-journal + +# Flask stuff: +instance/ +.webassets-cache + +# Scrapy stuff: +.scrapy + +# Sphinx documentation +docs/_build/ + +# PyBuilder +.pybuilder/ +target/ + +# Jupyter Notebook +.ipynb_checkpoints + +# IPython +profile_default/ +ipython_config.py + +# pyenv +# For a library or package, you might want to ignore these files since the code is +# intended to run in multiple environments; otherwise, check them in: +# .python-version + +# pipenv +# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. +# However, in case of collaboration, if having platform-specific dependencies or dependencies +# having no cross-platform support, pipenv may install dependencies that don't work, or not +# install all needed dependencies. +#Pipfile.lock + +# poetry +# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. +# This is especially recommended for binary packages to ensure reproducibility, and is more +# commonly ignored for libraries. +# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control +#poetry.lock + +# pdm +# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. +#pdm.lock +# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it +# in version control. +# https://pdm-project.org/#use-with-ide +.pdm.toml +.pdm-python +.pdm-build/ + +# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm +__pypackages__/ + +# Celery stuff +celerybeat-schedule +celerybeat.pid + +# SageMath parsed files +*.sage.py + +# Environments +.env +.venv +env/ +venv/ +ENV/ +env.bak/ +venv.bak/ + +# Spyder project settings +.spyderproject +.spyproject + +# Rope project settings +.ropeproject + +# mkdocs documentation +/site + +# mypy +.mypy_cache/ +.dmypy.json +dmypy.json + +# Pyre type checker +.pyre/ + +# pytype static type analyzer +.pytype/ + +# Cython debug symbols +cython_debug/ + +# PyCharm +# JetBrains specific template is maintained in a separate JetBrains.gitignore that can +# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore +# and can be added to the global gitignore or merged into this file. For a more nuclear +# option (not recommended) you can uncomment the following to ignore the entire idea folder. +#.idea/ diff --git a/projects/server/README.md b/projects/server/README.md new file mode 100644 index 000000000..00db566dc --- /dev/null +++ b/projects/server/README.md @@ -0,0 +1 @@ +# server diff --git a/projects/server/pyproject.toml b/projects/server/pyproject.toml new file mode 100644 index 000000000..46fedae8b --- /dev/null +++ b/projects/server/pyproject.toml @@ -0,0 +1,15 @@ +[project] +name = "server" +version = "0.1.0" +description = "Default template for PDM package" +authors = [ + {name = "Molly Draven", email = "drazi@duck.com"}, +] +dependencies = [] +requires-python = "==3.12.*" +readme = "README.md" +license = {text = "AGPL-3.0"} + + +[tool.pdm] +distribution = false diff --git a/projects/main/UNKNOWN.egg-info/dependency_links.txt b/projects/server/src/server/__init__.py similarity index 100% rename from projects/main/UNKNOWN.egg-info/dependency_links.txt rename to projects/server/src/server/__init__.py diff --git a/projects/main/UNKNOWN.egg-info/top_level.txt b/projects/server/tests/__init__.py similarity index 100% rename from projects/main/UNKNOWN.egg-info/top_level.txt rename to projects/server/tests/__init__.py diff --git a/pyproject.toml b/pyproject.toml index 8357079bd..cd1b6edb3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,9 @@ description = "Default template for PDM package" authors = [ {name = "Molly Draven", email = "drazi@duck.com"}, ] -dependencies = [] +dependencies = [ + "server @ file:///${PROJECT_ROOT}/projects/server", +] requires-python = "==3.12.*" readme = "README.md" license = {text = "AGPL-3.0"} @@ -17,12 +19,19 @@ distribution = false [tool.pdm.dev-dependencies] dev = [ "-e file:///${PROJECT_ROOT}/libs/serializable", - "-e file:///${PROJECT_ROOT}/projects/main", + "-e file:///${PROJECT_ROOT}/projects/server", "pre-commit>=3.7.1", "black>=24.4.2", "flake8>=7.1.0", + "flake8-black>=0.3.6", ] test = [ "pytest>=8.2.2", "coverage>=7.5.3", ] + +[tool.pdm.scripts] +rusty-server = "rm-server.py" +lint = "pre-commit run --all-files" +format = "black ." +test = "pytest" diff --git a/requirements.txt b/requirements.txt index 5cbd017fd..84393104f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -9,6 +9,7 @@ coverage==7.5.3 distlib==0.3.8 filelock==3.15.3 flake8==7.1.0 +flake8-black==0.3.6 identify==2.5.36 iniconfig==2.0.0 mccabe==0.7.0 @@ -24,5 +25,5 @@ pyflakes==3.2.0 pytest==8.2.2 pyyaml==6.0.1 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable --e file:///home/drazisil/mcos/projects/main#egg=unknown +-e file:///home/drazisil/mcos/projects/server#egg=server virtualenv==20.26.3 diff --git a/rm-server.py b/rm-server.py new file mode 100755 index 000000000..b0488c674 --- /dev/null +++ b/rm-server.py @@ -0,0 +1,20 @@ +#!/usr/bin/env python3 + + +from server import BinaryFileRunner + + +path = "/home/drazisil/Downloads/MCO/mcity.exe" + + +def main(): + print("Hello World!") + + binary_file_runner = BinaryFileRunner.from_path(path) + if binary_file_runner is not None: + print(binary_file_runner) + binary_file_runner.run() + + +if __name__ == "__main__": + main() diff --git a/schema/index.ts b/schema/index.ts index b0ae96717..c6a7ba158 100644 --- a/schema/index.ts +++ b/schema/index.ts @@ -20,4 +20,3 @@ export { tunables } from "./tunables.js"; export { user } from "./user.js"; export { vehicle } from "./vehicle.js"; export { warehouse } from "./warehouse.js"; - diff --git a/schema/key.ts b/schema/key.ts index e4e98d51a..a04050491 100644 --- a/schema/key.ts +++ b/schema/key.ts @@ -17,4 +17,3 @@ export const key = pgTable( }; }, ); - diff --git a/schema/part.ts b/schema/part.ts index 2efe015d9..34dfadf3a 100644 --- a/schema/part.ts +++ b/schema/part.ts @@ -29,6 +29,6 @@ export const part = pgTable( idIdx: uniqueIndex("part_id_idx").on(table.partId), partParentPartIdIdx: index("part_parent_part_id_idx").on(table.parentPartId), partBrandedPartIdIdx: index("part_branded_part_id_idx").on(table.brandedPartId), - partAttachmentPointIdIdx: index("part_attachment_point_id_idx").on(table.attachmentPointId), + partAttachmentPointIdIdx: index("part_attachment_point_id_idx").on(table.attachmentPointId), }; }); diff --git a/schema/partGrade.ts b/schema/partGrade.ts index ad21b5b45..04ca7d484 100644 --- a/schema/partGrade.ts +++ b/schema/partGrade.ts @@ -11,7 +11,7 @@ export const partGrade = pgTable( partGradeId: integer("part_grade_id").notNull().primaryKey(), eText: varchar("e_text", { length: 50 }), gText: varchar("g_text", { length: 50 }), - fText: varchar("f_text", { length: 50 }), + fText: varchar("f_text", { length: 50 }), partGrade: varchar("part_grade", { length: 50 }), }, (table) => { diff --git a/schema/player.ts b/schema/player.ts index 84e7db4f3..30884b09f 100644 --- a/schema/player.ts +++ b/schema/player.ts @@ -74,7 +74,7 @@ export const player = pgTable( challengeRacesCompleted: integer("challenge_races_completed").default(0), carsLost: integer("cars_lost").default(0), carsWon: integer("cars_won").default(0), - + }, (table) => { return { diff --git a/schema/raceType.ts b/schema/raceType.ts index 45d02af19..538dc8dc0 100644 --- a/schema/raceType.ts +++ b/schema/raceType.ts @@ -3,4 +3,4 @@ import { pgTable, varchar, integer } from "drizzle-orm/pg-core"; export const raceType = pgTable('race_type', { raceTypeId: integer('race_type_id').notNull().primaryKey(), raceType: varchar('race_type', { length: 100 }).notNull(), -}); \ No newline at end of file +}); diff --git a/schema/skin.ts b/schema/skin.ts index c01b2ac92..398fc3595 100644 --- a/schema/skin.ts +++ b/schema/skin.ts @@ -25,8 +25,8 @@ export const skin = pgTable( iSkin: varchar("i_skin", { length: 32 }), jSkin: varchar("j_skin", { length: 32 }), swSkin: varchar("sw_skin", { length: 32 }), - bSkin: varchar("b_skin", { length: 32 }), - price: integer("price").notNull(), + bSkin: varchar("b_skin", { length: 32 }), + price: integer("price").notNull(), partFilename: varchar("part_filename", { length: 20 }), h0: smallint("h0"), s0: smallint("s0"), diff --git a/schema/svaCarClass.ts b/schema/svaCarClass.ts index 8c5ec65a6..3412cbdb6 100644 --- a/schema/svaCarClass.ts +++ b/schema/svaCarClass.ts @@ -10,7 +10,7 @@ export const svaCarClass = pgTable( { svaCarClass: integer("sva_car_class").notNull().primaryKey(), description: varchar("description", { - length: 50, + length: 50, }).notNull(), }, (table) => { diff --git a/schema/svaModeRestriction.ts b/schema/svaModeRestriction.ts index 9bfef6ccd..2b09cc8b7 100644 --- a/schema/svaModeRestriction.ts +++ b/schema/svaModeRestriction.ts @@ -10,7 +10,7 @@ export const svaModeRestriction = pgTable( { svaModeRestriction: integer("sva_mode_restriction").notNull().primaryKey(), description: varchar("description", { - length: 100, + length: 100, }).notNull(), }, (table) => { diff --git a/schema/test/index.test.ts b/schema/test/index.test.ts index 0f7944501..f01d2f75d 100644 --- a/schema/test/index.test.ts +++ b/schema/test/index.test.ts @@ -5,4 +5,3 @@ describe("example", () => { expect(true).toBe(true); }); }); - diff --git a/schema/tunables.ts b/schema/tunables.ts index 01da3785a..09b4ba08e 100644 --- a/schema/tunables.ts +++ b/schema/tunables.ts @@ -63,5 +63,5 @@ export const tunables = pgTable( papAwardPercentage: integer("pap_award_percentage").notNull(), dealOfTheDayBrandedPartId: integer("deal_of_the_day_branded_part_id").notNull(), dealOfTheDayDiscount: integer("deal_of_the_day_discount").notNull(), - }, + }, ); diff --git a/services/sslProxy/mcouniverse.pem b/services/sslProxy/mcouniverse.pem index 5d2c4f6c8..1d72b187c 100644 --- a/services/sslProxy/mcouniverse.pem +++ b/services/sslProxy/mcouniverse.pem @@ -14,4 +14,4 @@ HQYDVR0lBBYwFAYIKwYBBQUHAwEGCCsGAQUFBwMCMA0GCSqGSIb3DQEBCwUAA4GB ALk8ZaOFZBZbDBxlXTynf5vzt30mpDIlJ8RLUQ/F2GzRU9O7bVAQb5utwUDegQst c08JsrN5XHcEQf87AdM4e/Q/MlQjNu1TClUNXjdPYQfmWMzz1QXwTt3GjJA0n3I7 ZdYLWVNyu9cZfoDJCqZm2VYPHMmCMgIZpHjvetFaXb3G ------END CERTIFICATE----- \ No newline at end of file +-----END CERTIFICATE----- diff --git a/services/sslProxy/nginx.conf b/services/sslProxy/nginx.conf index 1a68d32cf..cbb29bee9 100644 --- a/services/sslProxy/nginx.conf +++ b/services/sslProxy/nginx.conf @@ -38,7 +38,7 @@ http { ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; - # Medium, while insecure, MUST by used to allow connections from + # Medium, while insecure, MUST by used to allow connections from # Windows XP clients, which only use crypo-broken ciphers ssl_ciphers HIGH:MEDIUM; ssl_prefer_server_ciphers on; @@ -64,4 +64,4 @@ http { proxy_pass http://host.docker.internal:3000; } } -} \ No newline at end of file +} diff --git a/services/sslProxy/private_key.pem b/services/sslProxy/private_key.pem index aab8b42ed..5347b79cd 100644 --- a/services/sslProxy/private_key.pem +++ b/services/sslProxy/private_key.pem @@ -13,4 +13,4 @@ NBVQEQrtur1eLVhtTb2KA6TP7JiUGQJARrEuPK7ltL9GdmFO1+RLaQzhHzagnLac RyGaoBSgKsevN1W+XgNbXSwzKHyNCXSe2Rlq+l4LZkg1ilx7/RsScQJBAMAQhb94 CUPD1a2t9Xp6FqFEqgCLgnQb/xqCR4Cjnms/EGEjBG7GRbeV7tO18/SGHotCPdMh l2448aVdXShjbJ8= ------END PRIVATE KEY----- \ No newline at end of file +-----END PRIVATE KEY----- diff --git a/thebeast/Makefile b/thebeast/Makefile index 80240e36a..05d28bd8d 100644 --- a/thebeast/Makefile +++ b/thebeast/Makefile @@ -39,4 +39,4 @@ clean: @rm -rf node_modules @rm -rf dist -.PHONY: all certs test build start prod_node up down enable-node docker-init clean \ No newline at end of file +.PHONY: all certs test build start prod_node up down enable-node docker-init clean diff --git a/thebeast/docs/reference/export.psql b/thebeast/docs/reference/export.psql index 3a24a4cb5..787f1731f 100644 --- a/thebeast/docs/reference/export.psql +++ b/thebeast/docs/reference/export.psql @@ -17,33 +17,33 @@ CREATE TABLE "AbstractAssembliesList" CREATE TABLE "AbstractPartType" ( - "AbstractPartTypeID" INTEGER NOT NULL, - "ParentAbstractPartTypeID" INTEGER, - "DependsOn" INTEGER, - "PartFilename" VARCHAR (20), - "EAPT" VARCHAR (100) NOT NULL, - "GAPT" VARCHAR (100), - "FAFT" VARCHAR (100), - "SAFT" VARCHAR (100), - "IAFT" VARCHAR (100), - "JAFT" VARCHAR (100), - "SWAFT" VARCHAR (100), - "BAFT" VARCHAR (100), - "ModifiedRule" INTEGER, - "EUT" TEXT, - "GUT" TEXT, - "FUT" TEXT, - "SUT" TEXT, - "IUT" TEXT, - "JUT" TEXT, - "SWUT" TEXT, - "BUT" TEXT, - "PartPaired" INTEGER, - "SchematicPicname1" VARCHAR (9), - "SchematicPicname2" VARCHAR (9), - "BlockFamilyCompatibility" INTEGER, - "RepairCostModifier" REAL, - "ScrapValueModifier" REAL, + "AbstractPartTypeID" INTEGER NOT NULL, + "ParentAbstractPartTypeID" INTEGER, + "DependsOn" INTEGER, + "PartFilename" VARCHAR (20), + "EAPT" VARCHAR (100) NOT NULL, + "GAPT" VARCHAR (100), + "FAFT" VARCHAR (100), + "SAFT" VARCHAR (100), + "IAFT" VARCHAR (100), + "JAFT" VARCHAR (100), + "SWAFT" VARCHAR (100), + "BAFT" VARCHAR (100), + "ModifiedRule" INTEGER, + "EUT" TEXT, + "GUT" TEXT, + "FUT" TEXT, + "SUT" TEXT, + "IUT" TEXT, + "JUT" TEXT, + "SWUT" TEXT, + "BUT" TEXT, + "PartPaired" INTEGER, + "SchematicPicname1" VARCHAR (9), + "SchematicPicname2" VARCHAR (9), + "BlockFamilyCompatibility" INTEGER, + "RepairCostModifier" REAL, + "ScrapValueModifier" REAL, "GarageCategory" INTEGER ); COMMENT ON COLUMN "AbstractPartType"."ModifiedRule" IS '1 means car doesnt become modified from adding/removing part'; @@ -56,7 +56,7 @@ ALTER TABLE "AbstractPartType" ADD CONSTRAINT "AbstractPartType_pkey" PRIMARY KE CREATE TABLE "AttachmentPoint" ( - "AttachmentPointID" INTEGER NOT NULL, + "AttachmentPointID" INTEGER NOT NULL, "AttachmentPoint" VARCHAR (100) NOT NULL ); @@ -65,7 +65,7 @@ ALTER TABLE "AttachmentPoint" ADD CONSTRAINT "AttachmentPoint_pkey" PRIMARY KEY CREATE TABLE "AttachmentPoint1" ( - "AttachmentPointID" INTEGER NOT NULL, + "AttachmentPointID" INTEGER NOT NULL, "AttachmentPoint" VARCHAR (100) NOT NULL ); @@ -74,7 +74,7 @@ ALTER TABLE "AttachmentPoint1" ADD CONSTRAINT "AttachmentPoint1_pkey" PRIMARY KE CREATE TABLE "AuctionPersonaMakes" ( - "PlayerID" INTEGER NOT NULL, + "PlayerID" INTEGER NOT NULL, "BrandID" INTEGER NOT NULL ); @@ -84,7 +84,7 @@ CREATE INDEX "AuctionPersonaMakes_PlayerID_idx" ON "AuctionPersonaMakes" ("Playe CREATE TABLE "Badge" ( - "BadgeTypeID" INTEGER NOT NULL, + "BadgeTypeID" INTEGER NOT NULL, "PlayerID" INTEGER NOT NULL ); @@ -94,12 +94,12 @@ CREATE INDEX "Badge_PlayerID_idx" ON "Badge" ("PlayerID"); CREATE TABLE "BadgeType" ( - "BadgeTypeID" INTEGER NOT NULL, - "BadgePatch" INTEGER NOT NULL, - "EName" VARCHAR (100), - "GName" VARCHAR (100), - "FName" VARCHAR (100), - "SName" VARCHAR (100), + "BadgeTypeID" INTEGER NOT NULL, + "BadgePatch" INTEGER NOT NULL, + "EName" VARCHAR (100), + "GName" VARCHAR (100), + "FName" VARCHAR (100), + "SName" VARCHAR (100), "Shapename" VARCHAR (9) ); COMMENT ON COLUMN "BadgeType"."BadgePatch" IS '1 means Patch'; @@ -115,9 +115,9 @@ ALTER TABLE "BadgeType" ADD CONSTRAINT "BadgeType_pkey" PRIMARY KEY ("BadgeTypeI CREATE TABLE "Brand" ( - "BrandID" INTEGER NOT NULL, - "Brand" VARCHAR (100), - "PicName" VARCHAR (50), + "BrandID" INTEGER NOT NULL, + "Brand" VARCHAR (100), + "PicName" VARCHAR (50), "IsStock" SMALLINT ); @@ -126,13 +126,13 @@ ALTER TABLE "Brand" ADD CONSTRAINT "Brand_pkey" PRIMARY KEY ("BrandID"); CREATE TABLE "BrandedPart" ( - "BrandedPartID" INTEGER NOT NULL, - "PartTypeID" INTEGER NOT NULL, - "ModelID" INTEGER NOT NULL, - "MfgDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "QtyAvail" INTEGER NOT NULL, - "RetailPrice" INTEGER NOT NULL, - "MaxItemWear" INTEGER, + "BrandedPartID" INTEGER NOT NULL, + "PartTypeID" INTEGER NOT NULL, + "ModelID" INTEGER NOT NULL, + "MfgDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "QtyAvail" INTEGER NOT NULL, + "RetailPrice" INTEGER NOT NULL, + "MaxItemWear" INTEGER, "EngineBlockFamilyID" INTEGER NOT NULL ); @@ -142,9 +142,9 @@ ALTER TABLE "BrandedPart" ADD CONSTRAINT "BrandedPart_pkey" PRIMARY KEY ("Brande CREATE TABLE "CatalogCriteriaMethod" ( - "CatalogCriteriaMethodID" INTEGER NOT NULL, - "CatalogCriteriaMethod" VARCHAR (50), - "UseSubDivisions" SMALLINT, + "CatalogCriteriaMethodID" INTEGER NOT NULL, + "CatalogCriteriaMethod" VARCHAR (50), + "UseSubDivisions" SMALLINT, "SubDivisionHelp" VARCHAR (128) ); COMMENT ON COLUMN "CatalogCriteriaMethod"."CatalogCriteriaMethod" IS 'Debug - Text description'; @@ -157,14 +157,14 @@ ALTER TABLE "CatalogCriteriaMethod" ADD CONSTRAINT "CatalogCriteriaMethod_pkey" CREATE TABLE "CatalogIndexLevel" ( - "AbstractPartTypeID" INTEGER NOT NULL, - "IndexLevel" INTEGER NOT NULL, - "CatalogCriteriaMethodID" INTEGER NOT NULL, - "CatalogIndexLevel" VARCHAR (50), - "PhysVal" INTEGER, - "PhysicsTypeID" INTEGER, - "EPromptText" VARCHAR (128), - "FPromptText" VARCHAR (128), + "AbstractPartTypeID" INTEGER NOT NULL, + "IndexLevel" INTEGER NOT NULL, + "CatalogCriteriaMethodID" INTEGER NOT NULL, + "CatalogIndexLevel" VARCHAR (50), + "PhysVal" INTEGER, + "PhysicsTypeID" INTEGER, + "EPromptText" VARCHAR (128), + "FPromptText" VARCHAR (128), "GPromptText" VARCHAR (128) ); COMMENT ON COLUMN "CatalogIndexLevel"."CatalogIndexLevel" IS 'Debug - Description'; @@ -181,18 +181,18 @@ CREATE INDEX "CatalogIndexLevel_IndexLevel_idx" ON "CatalogIndexLevel" ("IndexLe CREATE TABLE "CatalogIndexSubDivision" ( - "AbstractPartTypeID" INTEGER NOT NULL, - "IndexLevel" INTEGER NOT NULL, - "OrderBy" INTEGER, - "ELabel" VARCHAR (255), - "FLabel" VARCHAR (255), - "GLabel" VARCHAR (255), - "EHelp" TEXT, - "FHelp" TEXT, - "GHelp" TEXT, - "IntegerData0" INTEGER, - "IntegerData1" INTEGER, - "FloatData0" REAL, + "AbstractPartTypeID" INTEGER NOT NULL, + "IndexLevel" INTEGER NOT NULL, + "OrderBy" INTEGER, + "ELabel" VARCHAR (255), + "FLabel" VARCHAR (255), + "GLabel" VARCHAR (255), + "EHelp" TEXT, + "FHelp" TEXT, + "GHelp" TEXT, + "IntegerData0" INTEGER, + "IntegerData1" INTEGER, + "FloatData0" REAL, "FloatData1" REAL ); COMMENT ON COLUMN "CatalogIndexSubDivision"."IntegerData0" IS 'Optional -'; @@ -207,7 +207,7 @@ CREATE INDEX "CatalogIndexSubDivision_OrderBy_idx" ON "CatalogIndexSubDivision" CREATE TABLE "CopVehicle" ( - "BrandedPartID" INTEGER, + "BrandedPartID" INTEGER, "Rating" INTEGER ); @@ -215,7 +215,7 @@ CREATE TABLE "CopVehicle" CREATE TABLE "DriverClass" ( - "DriverClassID" SMALLINT NOT NULL, + "DriverClassID" SMALLINT NOT NULL, "DriverClass" VARCHAR (50) ); @@ -224,7 +224,7 @@ ALTER TABLE "DriverClass" ADD CONSTRAINT "DriverClass_pkey" PRIMARY KEY ("Driver CREATE TABLE "Element" ( - "ElementID" INTEGER NOT NULL, + "ElementID" INTEGER NOT NULL, "Element" VARCHAR (100) NOT NULL ); @@ -233,9 +233,9 @@ ALTER TABLE "Element" ADD CONSTRAINT "Element_pkey" PRIMARY KEY ("ElementID"); CREATE TABLE "EngineBlockFamily" ( - "EngineBlockFamilyID" INTEGER NOT NULL, - "BrandID" INTEGER NOT NULL, - "EName" VARCHAR (50), + "EngineBlockFamilyID" INTEGER NOT NULL, + "BrandID" INTEGER NOT NULL, + "EName" VARCHAR (50), "EShortName" VARCHAR (25) ); @@ -246,17 +246,17 @@ ALTER TABLE "EngineBlockFamily" ADD CONSTRAINT "EngineBlockFamily_pkey" PRIMARY CREATE TABLE "Event" ( - "EventID" INTEGER NOT NULL, - "TrackID" INTEGER, - "EventStatusID" INTEGER, - "RaceTypeID" INTEGER, - "StartDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "EndDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "EntryFee" INTEGER NOT NULL, - "TotalPurse" INTEGER NOT NULL, - "MaxRegistrations" INTEGER NOT NULL, - "RacersPerRace" INTEGER NOT NULL, - "Event" VARCHAR (100) NOT NULL, + "EventID" INTEGER NOT NULL, + "TrackID" INTEGER, + "EventStatusID" INTEGER, + "RaceTypeID" INTEGER, + "StartDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "EndDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "EntryFee" INTEGER NOT NULL, + "TotalPurse" INTEGER NOT NULL, + "MaxRegistrations" INTEGER NOT NULL, + "RacersPerRace" INTEGER NOT NULL, + "Event" VARCHAR (100) NOT NULL, "Description" TEXT ); @@ -268,13 +268,13 @@ CREATE INDEX "Event_XIF229Event_idx" ON "Event" ("TrackID"); CREATE TABLE "EventHistory" ( - "TrackID" INTEGER, - "NumInvited" INTEGER, - "CashWon" INTEGER, - "NumRaces" INTEGER, - "StartTime" TIMESTAMP WITHOUT TIME ZONE, - "EventName" VARCHAR (50), - "DriverName" VARCHAR (50), + "TrackID" INTEGER, + "NumInvited" INTEGER, + "CashWon" INTEGER, + "NumRaces" INTEGER, + "StartTime" TIMESTAMP WITHOUT TIME ZONE, + "EventName" VARCHAR (50), + "DriverName" VARCHAR (50), "CarName" VARCHAR (50) ); @@ -285,7 +285,7 @@ CREATE INDEX "EventHistory_TrackID_idx" ON "EventHistory" ("TrackID"); CREATE TABLE "EventStatus" ( - "EventStatusID" INTEGER NOT NULL, + "EventStatusID" INTEGER NOT NULL, "EventStatus" VARCHAR (100) ); @@ -294,7 +294,7 @@ ALTER TABLE "EventStatus" ADD CONSTRAINT "EventStatus_pkey" PRIMARY KEY ("EventS CREATE TABLE "GameConfigurationType" ( - "ConfigurationTypeID" INTEGER NOT NULL, + "ConfigurationTypeID" INTEGER NOT NULL, "Configuration" VARCHAR (50) ); @@ -304,18 +304,18 @@ ALTER TABLE "GameConfigurationType" ADD CONSTRAINT "GameConfigurationType_pkey" CREATE TABLE "GameRecord" ( - "GameRecordID" SERIAL, - "VehicleID" INTEGER, - "RecordTypeID" INTEGER NOT NULL, - "HubID" INTEGER NOT NULL, - "TrackID" INTEGER, - "PlayerID" INTEGER, - "RaceTypeID" INTEGER, - "i_Record1" INTEGER, - "i_Record2" INTEGER, - "i_Record3" INTEGER, - "f_Record1" DOUBLE PRECISION, - "f_Record2" DOUBLE PRECISION, + "GameRecordID" SERIAL, + "VehicleID" INTEGER, + "RecordTypeID" INTEGER NOT NULL, + "HubID" INTEGER NOT NULL, + "TrackID" INTEGER, + "PlayerID" INTEGER, + "RaceTypeID" INTEGER, + "i_Record1" INTEGER, + "i_Record2" INTEGER, + "i_Record3" INTEGER, + "f_Record1" DOUBLE PRECISION, + "f_Record2" DOUBLE PRECISION, "f_Record3" DOUBLE PRECISION ); @@ -324,9 +324,9 @@ ALTER TABLE "GameRecord" ADD CONSTRAINT "GameRecord_pkey" PRIMARY KEY ("GameReco CREATE TABLE "Junkyard" ( - "VehicleID" INTEGER NOT NULL, - "ScrappedDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "NumPartsRemaining" INTEGER NOT NULL, + "VehicleID" INTEGER NOT NULL, + "ScrappedDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "NumPartsRemaining" INTEGER NOT NULL, "BeingViewedBy" INTEGER ); @@ -335,13 +335,13 @@ ALTER TABLE "Junkyard" ADD CONSTRAINT "Junkyard_pkey" PRIMARY KEY ("VehicleID"); CREATE TABLE "MessagePost" ( - "MessageID" SERIAL, - "MsgTo" INTEGER NOT NULL, - "MsgFrom" INTEGER NOT NULL, - "PostedDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "MessageRead" SMALLINT NOT NULL, - "Header" VARCHAR (30), - "Message" VARCHAR (255), + "MessageID" SERIAL, + "MsgTo" INTEGER NOT NULL, + "MsgFrom" INTEGER NOT NULL, + "PostedDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "MessageRead" SMALLINT NOT NULL, + "Header" VARCHAR (30), + "Message" VARCHAR (255), "FromText" VARCHAR (50) ); @@ -350,33 +350,33 @@ ALTER TABLE "MessagePost" ADD CONSTRAINT "MessagePost_pkey" PRIMARY KEY ("Messag CREATE TABLE "Model" ( - "ModelID" INTEGER NOT NULL, - "BrandID" INTEGER NOT NULL, - "EModel" VARCHAR (100), - "GModel" VARCHAR (100), - "FModel" VARCHAR (100), - "SModel" VARCHAR (100), - "IModel" VARCHAR (100), - "JModel" VARCHAR (100), - "SwModel" VARCHAR (100), - "BModel" VARCHAR (100), - "EExtraInfo" VARCHAR (100), - "GExtraInfo" VARCHAR (100), - "FExtraInfo" VARCHAR (100), - "SExtraInfo" VARCHAR (100), - "IExtraInfo" VARCHAR (100), - "JExtraInfo" VARCHAR (100), - "SwExtraInfo" VARCHAR (100), - "BExtraInfo" VARCHAR (100), - "EShortModel" VARCHAR (50), - "GShortModel" VARCHAR (50), - "FShortModel" VARCHAR (50), - "SShortModel" VARCHAR (50), - "IShortModel" VARCHAR (50), - "JShortModel" VARCHAR (50), - "SwShortModel" VARCHAR (50), - "BShortModel" VARCHAR (50), - "Debug_String" VARCHAR (255), + "ModelID" INTEGER NOT NULL, + "BrandID" INTEGER NOT NULL, + "EModel" VARCHAR (100), + "GModel" VARCHAR (100), + "FModel" VARCHAR (100), + "SModel" VARCHAR (100), + "IModel" VARCHAR (100), + "JModel" VARCHAR (100), + "SwModel" VARCHAR (100), + "BModel" VARCHAR (100), + "EExtraInfo" VARCHAR (100), + "GExtraInfo" VARCHAR (100), + "FExtraInfo" VARCHAR (100), + "SExtraInfo" VARCHAR (100), + "IExtraInfo" VARCHAR (100), + "JExtraInfo" VARCHAR (100), + "SwExtraInfo" VARCHAR (100), + "BExtraInfo" VARCHAR (100), + "EShortModel" VARCHAR (50), + "GShortModel" VARCHAR (50), + "FShortModel" VARCHAR (50), + "SShortModel" VARCHAR (50), + "IShortModel" VARCHAR (50), + "JShortModel" VARCHAR (50), + "SwShortModel" VARCHAR (50), + "BShortModel" VARCHAR (50), + "Debug_String" VARCHAR (255), "Debug_Sort_String" VARCHAR (50) ); @@ -385,30 +385,30 @@ ALTER TABLE "Model" ADD CONSTRAINT "Model_pkey" PRIMARY KEY ("ModelID"); CREATE TABLE "NewSkinHSV" ( - "PartFilename" VARCHAR (255), - "H0" DOUBLE PRECISION, - "S0" DOUBLE PRECISION, - "V0" DOUBLE PRECISION, - "H1" DOUBLE PRECISION, - "S1" DOUBLE PRECISION, - "V1" DOUBLE PRECISION, - "H2" DOUBLE PRECISION, - "S2" DOUBLE PRECISION, - "V2" DOUBLE PRECISION, - "H3" DOUBLE PRECISION, - "S3" DOUBLE PRECISION, - "V3" DOUBLE PRECISION, - "H4" DOUBLE PRECISION, - "S4" DOUBLE PRECISION, - "V4" DOUBLE PRECISION, - "H5" DOUBLE PRECISION, - "S5" DOUBLE PRECISION, - "V5" DOUBLE PRECISION, - "H6" DOUBLE PRECISION, - "S6" DOUBLE PRECISION, - "V6" DOUBLE PRECISION, - "H7" DOUBLE PRECISION, - "S7" DOUBLE PRECISION, + "PartFilename" VARCHAR (255), + "H0" DOUBLE PRECISION, + "S0" DOUBLE PRECISION, + "V0" DOUBLE PRECISION, + "H1" DOUBLE PRECISION, + "S1" DOUBLE PRECISION, + "V1" DOUBLE PRECISION, + "H2" DOUBLE PRECISION, + "S2" DOUBLE PRECISION, + "V2" DOUBLE PRECISION, + "H3" DOUBLE PRECISION, + "S3" DOUBLE PRECISION, + "V3" DOUBLE PRECISION, + "H4" DOUBLE PRECISION, + "S4" DOUBLE PRECISION, + "V4" DOUBLE PRECISION, + "H5" DOUBLE PRECISION, + "S5" DOUBLE PRECISION, + "V5" DOUBLE PRECISION, + "H6" DOUBLE PRECISION, + "S6" DOUBLE PRECISION, + "V6" DOUBLE PRECISION, + "H7" DOUBLE PRECISION, + "S7" DOUBLE PRECISION, "V7" DOUBLE PRECISION ); @@ -416,15 +416,15 @@ CREATE TABLE "NewSkinHSV" CREATE TABLE "Part" ( - "PartID" INTEGER NOT NULL, - "ParentPartID" INTEGER, - "BrandedPartID" INTEGER NOT NULL, - "PercentDamage" SMALLINT NOT NULL, - "ItemWear" INTEGER NOT NULL, - "AttachmentPointID" INTEGER, - "OwnerID" INTEGER, - "PartName" VARCHAR (100), - "RepairCost" INTEGER, + "PartID" INTEGER NOT NULL, + "ParentPartID" INTEGER, + "BrandedPartID" INTEGER NOT NULL, + "PercentDamage" SMALLINT NOT NULL, + "ItemWear" INTEGER NOT NULL, + "AttachmentPointID" INTEGER, + "OwnerID" INTEGER, + "PartName" VARCHAR (100), + "RepairCost" INTEGER, "ScrapValue" INTEGER ); @@ -433,10 +433,10 @@ ALTER TABLE "Part" ADD CONSTRAINT "Part_pkey" PRIMARY KEY ("PartID"); CREATE TABLE "PartGrade" ( - "PartGradeID" INTEGER NOT NULL, - "EText" VARCHAR (50), - "GText" VARCHAR (50), - "FText" VARCHAR (50), + "PartGradeID" INTEGER NOT NULL, + "EText" VARCHAR (50), + "GText" VARCHAR (50), + "FText" VARCHAR (50), "PartGrade" VARCHAR (50) ); @@ -445,10 +445,10 @@ ALTER TABLE "PartGrade" ADD CONSTRAINT "PartGrade_pkey" PRIMARY KEY ("PartGradeI CREATE TABLE "PartType" ( - "PartTypeID" INTEGER NOT NULL, - "AbstractPartTypeID" INTEGER NOT NULL, - "PartType" VARCHAR (100) NOT NULL, - "PartFilename" VARCHAR (20), + "PartTypeID" INTEGER NOT NULL, + "AbstractPartTypeID" INTEGER NOT NULL, + "PartType" VARCHAR (100) NOT NULL, + "PartFilename" VARCHAR (20), "PartGradeID" INTEGER ); @@ -457,10 +457,10 @@ ALTER TABLE "PartType" ADD CONSTRAINT "PartType_pkey" PRIMARY KEY ("PartTypeID") CREATE TABLE "PartTypeCompatibility" ( - "ParentPartTypeID" INTEGER NOT NULL, - "ChildPartTypeID" INTEGER NOT NULL, - "Critical" SMALLINT NOT NULL, - "MinQty" SMALLINT, + "ParentPartTypeID" INTEGER NOT NULL, + "ChildPartTypeID" INTEGER NOT NULL, + "Critical" SMALLINT NOT NULL, + "MinQty" SMALLINT, "MaxQty" SMALLINT ); @@ -469,10 +469,10 @@ ALTER TABLE "PartTypeCompatibility" ADD CONSTRAINT "PartTypeCompatibility_pkey" CREATE TABLE "Paste Errors" ( - "PartTypeID" INTEGER, - "AbstractPartTypeID" INTEGER, - "PartType" VARCHAR (255), - "PartFilename" VARCHAR (255), + "PartTypeID" INTEGER, + "AbstractPartTypeID" INTEGER, + "PartType" VARCHAR (255), + "PartFilename" VARCHAR (255), "PartGradeID" INTEGER ); @@ -480,14 +480,14 @@ CREATE TABLE "Paste Errors" CREATE TABLE "PhysicsType" ( - "PhysicsTypeID" INTEGER NOT NULL, - "PhysicsTypeNum" INTEGER NOT NULL, - "PhysicsType" VARCHAR (30) NOT NULL, - "EIndexLabel" VARCHAR (100), - "FIndexLabel" VARCHAR (100), - "GIndexLabel" VARCHAR (100), - "EIndexHelp" TEXT, - "FIndexHelp" TEXT, + "PhysicsTypeID" INTEGER NOT NULL, + "PhysicsTypeNum" INTEGER NOT NULL, + "PhysicsType" VARCHAR (30) NOT NULL, + "EIndexLabel" VARCHAR (100), + "FIndexLabel" VARCHAR (100), + "GIndexLabel" VARCHAR (100), + "EIndexHelp" TEXT, + "FIndexHelp" TEXT, "GIndexHelp" TEXT ); COMMENT ON COLUMN "PhysicsType"."PhysicsType" IS 'Debug'; @@ -502,67 +502,67 @@ COMMENT ON COLUMN "PhysicsType"."GIndexHelp" IS 'Catalog Index Help text'; CREATE TABLE "Player" ( - "PlayerID" INTEGER NOT NULL, - "CustomerID" INTEGER NOT NULL, - "PlayerTypeID" INTEGER NOT NULL, - "SanctionedScore" INTEGER, - "ChallengeScore" INTEGER, - "LastLoggedIn" TIMESTAMP WITHOUT TIME ZONE, - "TimesLoggedIn" INTEGER, - "BankBalance" INTEGER NOT NULL, - "NumCarsOwned" INTEGER NOT NULL, - "IsLoggedIn" SMALLINT, - "DriverStyle" SMALLINT NOT NULL, - "LPCode" INTEGER NOT NULL, - "LPText" VARCHAR (9), - "CarNum1" VARCHAR (2) NOT NULL, - "CarNum2" VARCHAR (2) NOT NULL, - "CarNum3" VARCHAR (2) NOT NULL, - "CarNum4" VARCHAR (2) NOT NULL, - "CarNum5" VARCHAR (2) NOT NULL, - "CarNum6" VARCHAR (2) NOT NULL, - "DLNumber" VARCHAR (20), - "Persona" VARCHAR (30) NOT NULL, - "Address" VARCHAR (128), - "Residence" VARCHAR (20), - "VehicleID" INTEGER, - "CurrentRaceID" INTEGER, - "OfflineDriverSkill" INTEGER, - "OfflineGrudge" INTEGER, - "OfflineReputation" INTEGER, - "TotalTimePlayed" INTEGER, - "CarInfoSetting" INTEGER, - "StockClassicClass" SMALLINT, - "StockMuscleClass" SMALLINT, - "ModifiedClassicClass" SMALLINT, - "ModifiedMuscleClass" SMALLINT, - "OutlawClass" SMALLINT, - "DragClass" SMALLINT, - "ChallengeRung" INTEGER, - "OfflineAiCarClass" SMALLINT, - "OfflineAiSkinID" INTEGER, - "OfflineAiCarBptID" INTEGER, - "OfflineAiState" INTEGER, - "BodyType" INTEGER, - "SkinColor" INTEGER, - "HairColor" INTEGER, - "ShirtColor" INTEGER, - "PantsColor" INTEGER, - "OfflineDriverStyle" INTEGER, - "OfflineDriverAttitude" INTEGER, - "EvadedFuzz" INTEGER, - "PinksWon" INTEGER, - "NumUnreadMail" INTEGER, - "TOTALRACESRUN" INTEGER, - "TOTALRACESWON" INTEGER, - "TOTALRACESCOMPLETED" INTEGER, - "TOTALWINNINGS" INTEGER, - "INSURANCERISKPOINTS" INTEGER, - "INSURANCERATING" INTEGER, - "CHALLENGERACESRUN" INTEGER, - "CHALLENGERACESWON" INTEGER, - "CHALLENGERACESCOMPLETED" INTEGER, - "CARSLOST" INTEGER, + "PlayerID" INTEGER NOT NULL, + "CustomerID" INTEGER NOT NULL, + "PlayerTypeID" INTEGER NOT NULL, + "SanctionedScore" INTEGER, + "ChallengeScore" INTEGER, + "LastLoggedIn" TIMESTAMP WITHOUT TIME ZONE, + "TimesLoggedIn" INTEGER, + "BankBalance" INTEGER NOT NULL, + "NumCarsOwned" INTEGER NOT NULL, + "IsLoggedIn" SMALLINT, + "DriverStyle" SMALLINT NOT NULL, + "LPCode" INTEGER NOT NULL, + "LPText" VARCHAR (9), + "CarNum1" VARCHAR (2) NOT NULL, + "CarNum2" VARCHAR (2) NOT NULL, + "CarNum3" VARCHAR (2) NOT NULL, + "CarNum4" VARCHAR (2) NOT NULL, + "CarNum5" VARCHAR (2) NOT NULL, + "CarNum6" VARCHAR (2) NOT NULL, + "DLNumber" VARCHAR (20), + "Persona" VARCHAR (30) NOT NULL, + "Address" VARCHAR (128), + "Residence" VARCHAR (20), + "VehicleID" INTEGER, + "CurrentRaceID" INTEGER, + "OfflineDriverSkill" INTEGER, + "OfflineGrudge" INTEGER, + "OfflineReputation" INTEGER, + "TotalTimePlayed" INTEGER, + "CarInfoSetting" INTEGER, + "StockClassicClass" SMALLINT, + "StockMuscleClass" SMALLINT, + "ModifiedClassicClass" SMALLINT, + "ModifiedMuscleClass" SMALLINT, + "OutlawClass" SMALLINT, + "DragClass" SMALLINT, + "ChallengeRung" INTEGER, + "OfflineAiCarClass" SMALLINT, + "OfflineAiSkinID" INTEGER, + "OfflineAiCarBptID" INTEGER, + "OfflineAiState" INTEGER, + "BodyType" INTEGER, + "SkinColor" INTEGER, + "HairColor" INTEGER, + "ShirtColor" INTEGER, + "PantsColor" INTEGER, + "OfflineDriverStyle" INTEGER, + "OfflineDriverAttitude" INTEGER, + "EvadedFuzz" INTEGER, + "PinksWon" INTEGER, + "NumUnreadMail" INTEGER, + "TOTALRACESRUN" INTEGER, + "TOTALRACESWON" INTEGER, + "TOTALRACESCOMPLETED" INTEGER, + "TOTALWINNINGS" INTEGER, + "INSURANCERISKPOINTS" INTEGER, + "INSURANCERATING" INTEGER, + "CHALLENGERACESRUN" INTEGER, + "CHALLENGERACESWON" INTEGER, + "CHALLENGERACESCOMPLETED" INTEGER, + "CARSLOST" INTEGER, "CARSWON" INTEGER ); @@ -573,7 +573,7 @@ ALTER TABLE "Player" ADD CONSTRAINT "Player_pkey" PRIMARY KEY ("PlayerID"); CREATE TABLE "PlayerType" ( - "PlayerTypeID" INTEGER NOT NULL, + "PlayerTypeID" INTEGER NOT NULL, "PlayerType" VARCHAR (100) NOT NULL ); @@ -582,13 +582,13 @@ ALTER TABLE "PlayerType" ADD CONSTRAINT "PlayerType_pkey" PRIMARY KEY ("PlayerTy CREATE TABLE "PricingGuide" ( - "type" VARCHAR (50) NOT NULL, - "damagePolyA" REAL NOT NULL, - "damagePolyB" REAL NOT NULL, - "wearPolyA" REAL NOT NULL, - "wearPolyB" REAL NOT NULL, - "Mod" REAL NOT NULL, - "baseMin" REAL NOT NULL, + "type" VARCHAR (50) NOT NULL, + "damagePolyA" REAL NOT NULL, + "damagePolyB" REAL NOT NULL, + "wearPolyA" REAL NOT NULL, + "wearPolyB" REAL NOT NULL, + "Mod" REAL NOT NULL, + "baseMin" REAL NOT NULL, "baseMax" REAL NOT NULL ); @@ -596,70 +596,70 @@ CREATE TABLE "PricingGuide" CREATE TABLE "PTSkin" ( - "SkinID" SERIAL, - "CreatorID" INTEGER, - "SkinTypeID" INTEGER, - "PartTypeID" INTEGER, - "ESkin" VARCHAR (100), - "GSkin" VARCHAR (20), - "FSkin" VARCHAR (20), - "SSkin" VARCHAR (20), - "ISkin" VARCHAR (20), - "JSkin" VARCHAR (20), - "SwSkin" VARCHAR (20), - "BSkin" VARCHAR (20), - "Price" INTEGER NOT NULL, - "PartFilename" VARCHAR (20), - "H0" SMALLINT, - "S0" SMALLINT, - "V0" SMALLINT, - "C0" SMALLINT, - "X0" SMALLINT, - "Y0" SMALLINT, - "H1" SMALLINT, - "S1" SMALLINT, - "V1" SMALLINT, - "C1" SMALLINT, - "X1" SMALLINT, - "Y1" SMALLINT, - "H2" SMALLINT, - "S2" SMALLINT, - "V2" SMALLINT, - "C2" SMALLINT, - "X2" SMALLINT, - "Y2" SMALLINT, - "H3" SMALLINT, - "S3" SMALLINT, - "V3" SMALLINT, - "C3" SMALLINT, - "X3" SMALLINT, - "Y3" SMALLINT, - "H4" SMALLINT, - "S4" SMALLINT, - "V4" SMALLINT, - "C4" SMALLINT, - "X4" SMALLINT, - "Y4" SMALLINT, - "H5" SMALLINT, - "S5" SMALLINT, - "V5" SMALLINT, - "C5" SMALLINT, - "X5" SMALLINT, - "Y5" SMALLINT, - "H6" SMALLINT, - "S6" SMALLINT, - "V6" SMALLINT, - "C6" SMALLINT, - "X6" SMALLINT, - "Y6" SMALLINT, - "H7" SMALLINT, - "S7" SMALLINT, - "V7" SMALLINT, - "C7" SMALLINT, - "X7" SMALLINT, - "Y7" SMALLINT, - "DEFAULTFLAG" INTEGER, - "CreatorName" VARCHAR (24), + "SkinID" SERIAL, + "CreatorID" INTEGER, + "SkinTypeID" INTEGER, + "PartTypeID" INTEGER, + "ESkin" VARCHAR (100), + "GSkin" VARCHAR (20), + "FSkin" VARCHAR (20), + "SSkin" VARCHAR (20), + "ISkin" VARCHAR (20), + "JSkin" VARCHAR (20), + "SwSkin" VARCHAR (20), + "BSkin" VARCHAR (20), + "Price" INTEGER NOT NULL, + "PartFilename" VARCHAR (20), + "H0" SMALLINT, + "S0" SMALLINT, + "V0" SMALLINT, + "C0" SMALLINT, + "X0" SMALLINT, + "Y0" SMALLINT, + "H1" SMALLINT, + "S1" SMALLINT, + "V1" SMALLINT, + "C1" SMALLINT, + "X1" SMALLINT, + "Y1" SMALLINT, + "H2" SMALLINT, + "S2" SMALLINT, + "V2" SMALLINT, + "C2" SMALLINT, + "X2" SMALLINT, + "Y2" SMALLINT, + "H3" SMALLINT, + "S3" SMALLINT, + "V3" SMALLINT, + "C3" SMALLINT, + "X3" SMALLINT, + "Y3" SMALLINT, + "H4" SMALLINT, + "S4" SMALLINT, + "V4" SMALLINT, + "C4" SMALLINT, + "X4" SMALLINT, + "Y4" SMALLINT, + "H5" SMALLINT, + "S5" SMALLINT, + "V5" SMALLINT, + "C5" SMALLINT, + "X5" SMALLINT, + "Y5" SMALLINT, + "H6" SMALLINT, + "S6" SMALLINT, + "V6" SMALLINT, + "C6" SMALLINT, + "X6" SMALLINT, + "Y6" SMALLINT, + "H7" SMALLINT, + "S7" SMALLINT, + "V7" SMALLINT, + "C7" SMALLINT, + "X7" SMALLINT, + "Y7" SMALLINT, + "DEFAULTFLAG" INTEGER, + "CreatorName" VARCHAR (24), "Comment_Text" VARCHAR (128) ); @@ -669,17 +669,17 @@ CREATE INDEX "PTSkin_PTSkinPartTypeID_idx" ON "PTSkin" ("PartTypeID"); CREATE TABLE "Race" ( - "RaceID" SERIAL, - "TrackID" INTEGER NOT NULL, - "RaceTypeID" INTEGER NOT NULL, - "RaceStateID" INTEGER NOT NULL, - "CurrRacers" SMALLINT NOT NULL, - "EntryFee" INTEGER NOT NULL, - "ScheduledStagingTime" TIMESTAMP WITHOUT TIME ZONE, - "ScheduledStartTime" TIMESTAMP WITHOUT TIME ZONE, - "ResultsReceived" SMALLINT, - "RaceName" VARCHAR (100), - "Comments" VARCHAR (255), + "RaceID" SERIAL, + "TrackID" INTEGER NOT NULL, + "RaceTypeID" INTEGER NOT NULL, + "RaceStateID" INTEGER NOT NULL, + "CurrRacers" SMALLINT NOT NULL, + "EntryFee" INTEGER NOT NULL, + "ScheduledStagingTime" TIMESTAMP WITHOUT TIME ZONE, + "ScheduledStartTime" TIMESTAMP WITHOUT TIME ZONE, + "ResultsReceived" SMALLINT, + "RaceName" VARCHAR (100), + "Comments" VARCHAR (255), "TotalPurse" INTEGER ); @@ -688,26 +688,26 @@ ALTER TABLE "Race" ADD CONSTRAINT "Race_pkey" PRIMARY KEY ("RaceID"); CREATE TABLE "RaceHistory" ( - "RaceID" SERIAL, - "RaceTime" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "TrackID" INTEGER NOT NULL, - "RaceTypeID" INTEGER, - "Restriction" INTEGER NOT NULL, - "DriverClass" INTEGER NOT NULL, - "Neigborhood" VARCHAR (255), - "RaceName" VARCHAR (50), - "WinningPurse" VARCHAR (255), - "PlayerName0" VARCHAR (50), - "PlayerName1" VARCHAR (50), - "PlayerName2" VARCHAR (50), - "PlayerName3" VARCHAR (50), - "PlayerName4" VARCHAR (50), - "PlayerName5" VARCHAR (50), - "PlayerTime0" INTEGER, - "PlayerTime1" INTEGER, - "PlayerTime2" INTEGER, - "PlayerTime3" INTEGER, - "PlayerTime4" INTEGER, + "RaceID" SERIAL, + "RaceTime" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "TrackID" INTEGER NOT NULL, + "RaceTypeID" INTEGER, + "Restriction" INTEGER NOT NULL, + "DriverClass" INTEGER NOT NULL, + "Neigborhood" VARCHAR (255), + "RaceName" VARCHAR (50), + "WinningPurse" VARCHAR (255), + "PlayerName0" VARCHAR (50), + "PlayerName1" VARCHAR (50), + "PlayerName2" VARCHAR (50), + "PlayerName3" VARCHAR (50), + "PlayerName4" VARCHAR (50), + "PlayerName5" VARCHAR (50), + "PlayerTime0" INTEGER, + "PlayerTime1" INTEGER, + "PlayerTime2" INTEGER, + "PlayerTime3" INTEGER, + "PlayerTime4" INTEGER, "PlayerTime5" INTEGER ); @@ -716,11 +716,11 @@ ALTER TABLE "RaceHistory" ADD CONSTRAINT "RaceHistory_pkey" PRIMARY KEY ("RaceID CREATE TABLE "Racer" ( - "RaceID" INTEGER NOT NULL, - "RacerID" INTEGER NOT NULL, - "VehicleID" INTEGER, - "ElapsedTime" INTEGER NOT NULL, - "Placement" SMALLINT NOT NULL, + "RaceID" INTEGER NOT NULL, + "RacerID" INTEGER NOT NULL, + "VehicleID" INTEGER, + "ElapsedTime" INTEGER NOT NULL, + "Placement" SMALLINT NOT NULL, "BestLap" INTEGER ); @@ -729,7 +729,7 @@ ALTER TABLE "Racer" ADD CONSTRAINT "Racer_pkey" PRIMARY KEY ("RaceID", "RacerID" CREATE TABLE "RaceState" ( - "RaceStateID" INTEGER NOT NULL, + "RaceStateID" INTEGER NOT NULL, "RaceState" VARCHAR (100) NOT NULL ); @@ -738,8 +738,8 @@ ALTER TABLE "RaceState" ADD CONSTRAINT "RaceState_pkey" PRIMARY KEY ("RaceStateI CREATE TABLE "RaceType" ( - "RaceTypeID" INTEGER NOT NULL, - "RaceType" VARCHAR (100) NOT NULL, + "RaceTypeID" INTEGER NOT NULL, + "RaceType" VARCHAR (100) NOT NULL, "ArcadeMode" INTEGER ); @@ -748,7 +748,7 @@ ALTER TABLE "RaceType" ADD CONSTRAINT "RaceType_pkey" PRIMARY KEY ("RaceTypeID") CREATE TABLE "RecordType" ( - "RecordTypeID" INTEGER NOT NULL, + "RecordTypeID" INTEGER NOT NULL, "RecordType" VARCHAR (30) NOT NULL ); @@ -757,15 +757,15 @@ ALTER TABLE "RecordType" ADD CONSTRAINT "RecordType_pkey" PRIMARY KEY ("RecordTy CREATE TABLE "Season" ( - "SeasonID" SERIAL, - "RaceTypeID" INTEGER NOT NULL, - "StartDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "EndDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, - "EntryFee" INTEGER NOT NULL, - "MaxPlayers" INTEGER NOT NULL, - "CurrPlayers" INTEGER NOT NULL, - "DriverClassID" SMALLINT NOT NULL, - "Rules" VARCHAR (100), + "SeasonID" SERIAL, + "RaceTypeID" INTEGER NOT NULL, + "StartDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "EndDate" TIMESTAMP WITHOUT TIME ZONE NOT NULL, + "EntryFee" INTEGER NOT NULL, + "MaxPlayers" INTEGER NOT NULL, + "CurrPlayers" INTEGER NOT NULL, + "DriverClassID" SMALLINT NOT NULL, + "Rules" VARCHAR (100), "NumRaces" INTEGER ); @@ -774,10 +774,10 @@ ALTER TABLE "Season" ADD CONSTRAINT "Season_pkey" PRIMARY KEY ("SeasonID"); CREATE TABLE "SeasonAwards" ( - "RaceTypeID" INTEGER NOT NULL, - "DriverClassID" INTEGER NOT NULL, - "CashPrize" INTEGER, - "BrandedPartID" INTEGER, + "RaceTypeID" INTEGER NOT NULL, + "DriverClassID" INTEGER NOT NULL, + "CashPrize" INTEGER, + "BrandedPartID" INTEGER, "SkinID" INTEGER ); @@ -787,12 +787,12 @@ CREATE INDEX "SeasonAwards_RaceTypeID_idx" ON "SeasonAwards" ("RaceTypeID"); CREATE TABLE "SeasonRacer" ( - "SeasonID" INTEGER NOT NULL, - "RacerID" INTEGER NOT NULL, - "TotalPoints" INTEGER NOT NULL, - "Standing" INTEGER NOT NULL, - "RacesCompleted" INTEGER NOT NULL, - "RaceFirsts" INTEGER, + "SeasonID" INTEGER NOT NULL, + "RacerID" INTEGER NOT NULL, + "TotalPoints" INTEGER NOT NULL, + "Standing" INTEGER NOT NULL, + "RacesCompleted" INTEGER NOT NULL, + "RaceFirsts" INTEGER, "RacesWithHuman" INTEGER ); @@ -801,7 +801,7 @@ ALTER TABLE "SeasonRacer" ADD CONSTRAINT "SeasonRacer_pkey" PRIMARY KEY ("Season CREATE TABLE "SkinType" ( - "SkinTypeID" INTEGER NOT NULL, + "SkinTypeID" INTEGER NOT NULL, "SkinType" VARCHAR (100) ); @@ -810,10 +810,10 @@ ALTER TABLE "SkinType" ADD CONSTRAINT "SkinType_pkey" PRIMARY KEY ("SkinTypeID") CREATE TABLE "StockAssembly" ( - "ParentBrandedPartID" INTEGER NOT NULL, - "ChildBrandedPartID" INTEGER NOT NULL, - "AttachmentPointID" INTEGER NOT NULL, - "ConfigDefault" SMALLINT NOT NULL, + "ParentBrandedPartID" INTEGER NOT NULL, + "ChildBrandedPartID" INTEGER NOT NULL, + "AttachmentPointID" INTEGER NOT NULL, + "ConfigDefault" SMALLINT NOT NULL, "PhysicsDefault" SMALLINT NOT NULL ); @@ -822,24 +822,24 @@ ALTER TABLE "StockAssembly" ADD CONSTRAINT "StockAssembly_pkey" PRIMARY KEY ("Pa CREATE TABLE "StockEngines" ( - "StockEngineID" SERIAL, - "EEngineName" VARCHAR (50) NOT NULL, - "EngineBlockBPT" INTEGER, - "CamShaftBPT" INTEGER, - "CarburetorBPT" INTEGER, - "ConnectingRodsBPT" INTEGER, - "CoolingSystemBPT" INTEGER, - "CrankshaftBPT" INTEGER, - "CylinderHeadBPT" INTEGER, - "ElectricalSystemBPT" INTEGER, - "ExhaustManifoldBPT" INTEGER, - "IntakeManifoldBPT" INTEGER, - "LubricationSystemBPT" INTEGER, - "PistonsBPT" INTEGER, - "ValveTrainBPT" INTEGER, - "AirIntakeBPT" INTEGER, - "BlowerBPT" INTEGER, - "NitrosInjectorBPT" INTEGER, + "StockEngineID" SERIAL, + "EEngineName" VARCHAR (50) NOT NULL, + "EngineBlockBPT" INTEGER, + "CamShaftBPT" INTEGER, + "CarburetorBPT" INTEGER, + "ConnectingRodsBPT" INTEGER, + "CoolingSystemBPT" INTEGER, + "CrankshaftBPT" INTEGER, + "CylinderHeadBPT" INTEGER, + "ElectricalSystemBPT" INTEGER, + "ExhaustManifoldBPT" INTEGER, + "IntakeManifoldBPT" INTEGER, + "LubricationSystemBPT" INTEGER, + "PistonsBPT" INTEGER, + "ValveTrainBPT" INTEGER, + "AirIntakeBPT" INTEGER, + "BlowerBPT" INTEGER, + "NitrosInjectorBPT" INTEGER, "CRT" INTEGER ); COMMENT ON COLUMN "StockEngines"."AirIntakeBPT" IS 'cleaner or scoop'; @@ -851,14 +851,14 @@ CREATE INDEX "StockEngines_StockEngineID_idx" ON "StockEngines" ("StockEngineID" CREATE TABLE "StockVehicleAttributes" ( - "BrandedPartID" INTEGER NOT NULL, - "CarClass" INTEGER, - "AIRestrictionClass" INTEGER, - "ModeRestriction" INTEGER, - "Sponsor" INTEGER, - "VinBrandedPartID" INTEGER, - "TrackID" INTEGER, - "VinCrc" INTEGER NOT NULL, + "BrandedPartID" INTEGER NOT NULL, + "CarClass" INTEGER, + "AIRestrictionClass" INTEGER, + "ModeRestriction" INTEGER, + "Sponsor" INTEGER, + "VinBrandedPartID" INTEGER, + "TrackID" INTEGER, + "VinCrc" INTEGER NOT NULL, "RetailPrice" INTEGER ); COMMENT ON COLUMN "StockVehicleAttributes"."RetailPrice" IS 'Computed at prebuild time'; @@ -872,7 +872,7 @@ CREATE INDEX "StockVehicleAttributes_VinBrandedPartID_idx" ON "StockVehicleAttri CREATE TABLE "SVA_CarClass" ( - "SVA_CarClass" INTEGER, + "SVA_CarClass" INTEGER, "Description" VARCHAR (50) ); @@ -881,7 +881,7 @@ ALTER TABLE "SVA_CarClass" ADD CONSTRAINT "SVA_CarClass_pkey" PRIMARY KEY ("SVA_ CREATE TABLE "SVA_ModeRestriction" ( - "SVA_ModeRestriction" INTEGER NOT NULL, + "SVA_ModeRestriction" INTEGER NOT NULL, "Description" VARCHAR (100) ); @@ -891,70 +891,70 @@ CREATE UNIQUE INDEX "SVA_ModeRestriction_SVA_ModeRestriction_idx" ON "SVA_ModeRe CREATE TABLE "TmpSkin" ( - "SkinID" SERIAL, - "CreatorID" INTEGER, - "SkinTypeID" INTEGER, - "PartTypeID" INTEGER, - "ESkin" VARCHAR (100), - "GSkin" VARCHAR (20), - "FSkin" VARCHAR (20), - "SSkin" VARCHAR (20), - "ISkin" VARCHAR (20), - "JSkin" VARCHAR (20), - "SwSkin" VARCHAR (20), - "BSkin" VARCHAR (20), - "Price" INTEGER NOT NULL, - "PartFilename" VARCHAR (20), - "H0" SMALLINT, - "S0" SMALLINT, - "V0" SMALLINT, - "C0" SMALLINT, - "X0" SMALLINT, - "Y0" SMALLINT, - "H1" SMALLINT, - "S1" SMALLINT, - "V1" SMALLINT, - "C1" SMALLINT, - "X1" SMALLINT, - "Y1" SMALLINT, - "H2" SMALLINT, - "S2" SMALLINT, - "V2" SMALLINT, - "C2" SMALLINT, - "X2" SMALLINT, - "Y2" SMALLINT, - "H3" SMALLINT, - "S3" SMALLINT, - "V3" SMALLINT, - "C3" SMALLINT, - "X3" SMALLINT, - "Y3" SMALLINT, - "H4" SMALLINT, - "S4" SMALLINT, - "V4" SMALLINT, - "C4" SMALLINT, - "X4" SMALLINT, - "Y4" SMALLINT, - "H5" SMALLINT, - "S5" SMALLINT, - "V5" SMALLINT, - "C5" SMALLINT, - "X5" SMALLINT, - "Y5" SMALLINT, - "H6" SMALLINT, - "S6" SMALLINT, - "V6" SMALLINT, - "C6" SMALLINT, - "X6" SMALLINT, - "Y6" SMALLINT, - "H7" SMALLINT, - "S7" SMALLINT, - "V7" SMALLINT, - "C7" SMALLINT, - "X7" SMALLINT, - "Y7" SMALLINT, - "DEFAULTFLAG" INTEGER, - "CreatorName" VARCHAR (24), + "SkinID" SERIAL, + "CreatorID" INTEGER, + "SkinTypeID" INTEGER, + "PartTypeID" INTEGER, + "ESkin" VARCHAR (100), + "GSkin" VARCHAR (20), + "FSkin" VARCHAR (20), + "SSkin" VARCHAR (20), + "ISkin" VARCHAR (20), + "JSkin" VARCHAR (20), + "SwSkin" VARCHAR (20), + "BSkin" VARCHAR (20), + "Price" INTEGER NOT NULL, + "PartFilename" VARCHAR (20), + "H0" SMALLINT, + "S0" SMALLINT, + "V0" SMALLINT, + "C0" SMALLINT, + "X0" SMALLINT, + "Y0" SMALLINT, + "H1" SMALLINT, + "S1" SMALLINT, + "V1" SMALLINT, + "C1" SMALLINT, + "X1" SMALLINT, + "Y1" SMALLINT, + "H2" SMALLINT, + "S2" SMALLINT, + "V2" SMALLINT, + "C2" SMALLINT, + "X2" SMALLINT, + "Y2" SMALLINT, + "H3" SMALLINT, + "S3" SMALLINT, + "V3" SMALLINT, + "C3" SMALLINT, + "X3" SMALLINT, + "Y3" SMALLINT, + "H4" SMALLINT, + "S4" SMALLINT, + "V4" SMALLINT, + "C4" SMALLINT, + "X4" SMALLINT, + "Y4" SMALLINT, + "H5" SMALLINT, + "S5" SMALLINT, + "V5" SMALLINT, + "C5" SMALLINT, + "X5" SMALLINT, + "Y5" SMALLINT, + "H6" SMALLINT, + "S6" SMALLINT, + "V6" SMALLINT, + "C6" SMALLINT, + "X6" SMALLINT, + "Y6" SMALLINT, + "H7" SMALLINT, + "S7" SMALLINT, + "V7" SMALLINT, + "C7" SMALLINT, + "X7" SMALLINT, + "Y7" SMALLINT, + "DEFAULTFLAG" INTEGER, + "CreatorName" VARCHAR (24), "Comment_Text" VARCHAR (128) ); @@ -964,12 +964,12 @@ CREATE INDEX "TmpSkin_PTSkinPartTypeID_idx" ON "TmpSkin" ("PartTypeID"); CREATE TABLE "TrackLapTimeRecord" ( - "TrackLapTimeRecordID" SERIAL, - "PersonaID" INTEGER, - "PlayerName" VARCHAR (30) NOT NULL, - "LapTime" INTEGER NOT NULL, - "TrackID" INTEGER NOT NULL, - "CarBrandedPartID" INTEGER NOT NULL, + "TrackLapTimeRecordID" SERIAL, + "PersonaID" INTEGER, + "PlayerName" VARCHAR (30) NOT NULL, + "LapTime" INTEGER NOT NULL, + "TrackID" INTEGER NOT NULL, + "CarBrandedPartID" INTEGER NOT NULL, "Flags" INTEGER ); @@ -978,12 +978,12 @@ ALTER TABLE "TrackLapTimeRecord" ADD CONSTRAINT "TrackLapTimeRecord_pkey" PRIMAR CREATE TABLE "Vehicle" ( - "VehicleID" INTEGER NOT NULL, - "SkinID" INTEGER NOT NULL, - "Flags" INTEGER NOT NULL, - "Class" SMALLINT NOT NULL, - "InfoSetting" SMALLINT NOT NULL, - "DamageInfo" BYTEA, + "VehicleID" INTEGER NOT NULL, + "SkinID" INTEGER NOT NULL, + "Flags" INTEGER NOT NULL, + "Class" SMALLINT NOT NULL, + "InfoSetting" SMALLINT NOT NULL, + "DamageInfo" BYTEA, "DamageCached" INTEGER ); @@ -992,12 +992,12 @@ ALTER TABLE "Vehicle" ADD CONSTRAINT "Vehicle_pkey" PRIMARY KEY ("VehicleID"); CREATE TABLE "VehicleRecords" ( - "carID" INTEGER NOT NULL, - "trackID" INTEGER NOT NULL, - "numberRaces" INTEGER, - "numberWins" INTEGER, - "topSpeed" REAL, - "bestLapTime" REAL, + "carID" INTEGER NOT NULL, + "trackID" INTEGER NOT NULL, + "numberRaces" INTEGER, + "numberWins" INTEGER, + "topSpeed" REAL, + "bestLapTime" REAL, "playerID" INTEGER ); @@ -1005,11 +1005,11 @@ CREATE TABLE "VehicleRecords" CREATE TABLE "APTDealershipAudio" ( - "PlayerID" INTEGER NOT NULL, - "AbstractPartTypeID" INTEGER NOT NULL, - "AudioIndex" INTEGER NOT NULL, - "Freq" INTEGER NOT NULL, - "FilePath" VARCHAR (255) NOT NULL, + "PlayerID" INTEGER NOT NULL, + "AbstractPartTypeID" INTEGER NOT NULL, + "AudioIndex" INTEGER NOT NULL, + "Freq" INTEGER NOT NULL, + "FilePath" VARCHAR (255) NOT NULL, "APTDealershipAudio" VARCHAR (100) ); @@ -1018,11 +1018,11 @@ ALTER TABLE "APTDealershipAudio" ADD CONSTRAINT "APTDealershipAudio_pkey" PRIMAR CREATE TABLE "BPDealershipAudio" ( - "PlayerID" INTEGER NOT NULL, - "BrandedPartID" INTEGER NOT NULL, - "AudioIndex" INTEGER NOT NULL, - "Freq" INTEGER NOT NULL, - "FilePath" VARCHAR (255) NOT NULL, + "PlayerID" INTEGER NOT NULL, + "BrandedPartID" INTEGER NOT NULL, + "AudioIndex" INTEGER NOT NULL, + "Freq" INTEGER NOT NULL, + "FilePath" VARCHAR (255) NOT NULL, "BPDealershipAudio" VARCHAR (100) NOT NULL ); @@ -1031,7 +1031,7 @@ ALTER TABLE "BPDealershipAudio" ADD CONSTRAINT "BPDealershipAudio_pkey" PRIMARY CREATE TABLE "City" ( - "CityID" INTEGER NOT NULL, + "CityID" INTEGER NOT NULL, "City" VARCHAR (100) NOT NULL ); @@ -1040,8 +1040,8 @@ ALTER TABLE "City" ADD CONSTRAINT "City_pkey" PRIMARY KEY ("CityID"); CREATE TABLE "EventInvitation" ( - "EventID" INTEGER NOT NULL, - "PlayerID" INTEGER NOT NULL, + "EventID" INTEGER NOT NULL, + "PlayerID" INTEGER NOT NULL, "EventStatusID" INTEGER NOT NULL ); @@ -1053,17 +1053,17 @@ CREATE INDEX "EventInvitation_XIF219EventInvitation_idx" ON "EventInvitation" (" CREATE TABLE "GameConfiguration" ( - "ConfigurationID" INTEGER NOT NULL, - "Configuration" VARCHAR (20), - "i_ConfigVal1" INTEGER, - "i_ConfigVal2" INTEGER, - "i_ConfigVal3" INTEGER, - "f_ConfigVal1" DOUBLE PRECISION, - "f_ConfigVal2" DOUBLE PRECISION, - "f_ConfigVal3" DOUBLE PRECISION, - "vc_ConfigVal1" VARCHAR (20), - "vc_ConfigVal2" VARCHAR (20), - "vc_ConfigVal3" VARCHAR (20), + "ConfigurationID" INTEGER NOT NULL, + "Configuration" VARCHAR (20), + "i_ConfigVal1" INTEGER, + "i_ConfigVal2" INTEGER, + "i_ConfigVal3" INTEGER, + "f_ConfigVal1" DOUBLE PRECISION, + "f_ConfigVal2" DOUBLE PRECISION, + "f_ConfigVal3" DOUBLE PRECISION, + "vc_ConfigVal1" VARCHAR (20), + "vc_ConfigVal2" VARCHAR (20), + "vc_ConfigVal3" VARCHAR (20), "ConfigurationTypeID" INTEGER NOT NULL ); @@ -1072,9 +1072,9 @@ ALTER TABLE "GameConfiguration" ADD CONSTRAINT "GameConfiguration_pkey" PRIMARY CREATE TABLE "Grade" ( - "GradeID" INTEGER NOT NULL, - "EText" VARCHAR (50), - "GText" VARCHAR (50), + "GradeID" INTEGER NOT NULL, + "EText" VARCHAR (50), + "GText" VARCHAR (50), "FText" VARCHAR (50) ); @@ -1083,100 +1083,100 @@ ALTER TABLE "Grade" ADD CONSTRAINT "Grade_pkey" PRIMARY KEY ("GradeID"); CREATE TABLE "Pacejka_TireModel" ( - "TireTypeID" INTEGER NOT NULL, - "Val1" DOUBLE PRECISION NOT NULL, - "Val2" DOUBLE PRECISION NOT NULL, - "Val3" DOUBLE PRECISION NOT NULL, - "Val4" DOUBLE PRECISION NOT NULL, - "Val5" DOUBLE PRECISION NOT NULL, - "Val6" DOUBLE PRECISION NOT NULL, - "Val7" DOUBLE PRECISION NOT NULL, - "Val8" DOUBLE PRECISION NOT NULL, - "Val9" DOUBLE PRECISION NOT NULL, - "Val10" DOUBLE PRECISION NOT NULL, - "Val11" DOUBLE PRECISION NOT NULL, - "Val12" DOUBLE PRECISION NOT NULL, - "Val13" DOUBLE PRECISION NOT NULL, - "Val14" DOUBLE PRECISION NOT NULL, - "Val15" DOUBLE PRECISION NOT NULL, - "Val16" DOUBLE PRECISION NOT NULL, - "Val17" DOUBLE PRECISION NOT NULL, - "Val18" DOUBLE PRECISION NOT NULL, - "Val19" DOUBLE PRECISION NOT NULL, - "Val20" DOUBLE PRECISION NOT NULL, - "Val21" DOUBLE PRECISION NOT NULL, - "Val22" DOUBLE PRECISION NOT NULL, - "Val23" DOUBLE PRECISION NOT NULL, - "Val24" DOUBLE PRECISION NOT NULL, - "Val25" DOUBLE PRECISION NOT NULL, - "Val26" DOUBLE PRECISION NOT NULL, - "Val27" DOUBLE PRECISION NOT NULL, - "Val28" DOUBLE PRECISION NOT NULL, - "Val29" DOUBLE PRECISION NOT NULL, - "Val30" DOUBLE PRECISION NOT NULL, - "Val31" DOUBLE PRECISION NOT NULL, - "Val32" DOUBLE PRECISION NOT NULL, - "Val33" DOUBLE PRECISION NOT NULL, - "Val34" DOUBLE PRECISION NOT NULL, - "Val35" DOUBLE PRECISION NOT NULL, - "Val36" DOUBLE PRECISION NOT NULL, - "TireType" INTEGER, - "RainFlag" INTEGER, - "Pacejka_TireModel" VARCHAR (50), - "LatForce1" DOUBLE PRECISION, - "LatForce2" DOUBLE PRECISION, - "LatForce3" DOUBLE PRECISION, - "LatForce4" DOUBLE PRECISION, - "LatForce5" DOUBLE PRECISION, - "LatForce6" DOUBLE PRECISION, - "LatForce7" DOUBLE PRECISION, - "LatForce8" DOUBLE PRECISION, - "LatForce9" DOUBLE PRECISION, - "LatForce10" DOUBLE PRECISION, - "LatForce11" DOUBLE PRECISION, - "LatForce12" DOUBLE PRECISION, - "LatForce13" DOUBLE PRECISION, - "LatForce14" DOUBLE PRECISION, - "LatForce15" DOUBLE PRECISION, - "LatForce16" DOUBLE PRECISION, - "LatForce17" DOUBLE PRECISION, - "LatForce18" DOUBLE PRECISION, - "LatForce19" DOUBLE PRECISION, - "LatForce20" DOUBLE PRECISION, - "LatForce21" DOUBLE PRECISION, - "LatForce22" DOUBLE PRECISION, - "LatForce23" DOUBLE PRECISION, - "LatForce24" DOUBLE PRECISION, - "LatForce25" DOUBLE PRECISION, - "AlignMom1" DOUBLE PRECISION, - "AlignMom2" DOUBLE PRECISION, - "AlignMom3" DOUBLE PRECISION, - "AlignMom4" DOUBLE PRECISION, - "AlignMom5" DOUBLE PRECISION, - "AlignMom6" DOUBLE PRECISION, - "AlignMom7" DOUBLE PRECISION, - "AlignMom8" DOUBLE PRECISION, - "AlignMom9" DOUBLE PRECISION, - "AlignMom10" DOUBLE PRECISION, - "AlignMom11" DOUBLE PRECISION, - "AlignMom12" DOUBLE PRECISION, - "AlignMom13" DOUBLE PRECISION, - "AlignMom14" DOUBLE PRECISION, - "AlignMom15" DOUBLE PRECISION, - "AlignMom16" DOUBLE PRECISION, - "AlignMom17" DOUBLE PRECISION, - "AlignMom18" DOUBLE PRECISION, - "AlignMom19" DOUBLE PRECISION, - "AlignMom20" DOUBLE PRECISION, - "AlignMom21" DOUBLE PRECISION, - "AlignMom22" DOUBLE PRECISION, - "AlignMom23" DOUBLE PRECISION, - "AlignMom24" DOUBLE PRECISION, - "AlignMom25" DOUBLE PRECISION, - "RollingResistFactor" DOUBLE PRECISION, - "GrowthFactor" DOUBLE PRECISION, - "PeakFriction" DOUBLE PRECISION, - "CamberCoefficient" DOUBLE PRECISION, + "TireTypeID" INTEGER NOT NULL, + "Val1" DOUBLE PRECISION NOT NULL, + "Val2" DOUBLE PRECISION NOT NULL, + "Val3" DOUBLE PRECISION NOT NULL, + "Val4" DOUBLE PRECISION NOT NULL, + "Val5" DOUBLE PRECISION NOT NULL, + "Val6" DOUBLE PRECISION NOT NULL, + "Val7" DOUBLE PRECISION NOT NULL, + "Val8" DOUBLE PRECISION NOT NULL, + "Val9" DOUBLE PRECISION NOT NULL, + "Val10" DOUBLE PRECISION NOT NULL, + "Val11" DOUBLE PRECISION NOT NULL, + "Val12" DOUBLE PRECISION NOT NULL, + "Val13" DOUBLE PRECISION NOT NULL, + "Val14" DOUBLE PRECISION NOT NULL, + "Val15" DOUBLE PRECISION NOT NULL, + "Val16" DOUBLE PRECISION NOT NULL, + "Val17" DOUBLE PRECISION NOT NULL, + "Val18" DOUBLE PRECISION NOT NULL, + "Val19" DOUBLE PRECISION NOT NULL, + "Val20" DOUBLE PRECISION NOT NULL, + "Val21" DOUBLE PRECISION NOT NULL, + "Val22" DOUBLE PRECISION NOT NULL, + "Val23" DOUBLE PRECISION NOT NULL, + "Val24" DOUBLE PRECISION NOT NULL, + "Val25" DOUBLE PRECISION NOT NULL, + "Val26" DOUBLE PRECISION NOT NULL, + "Val27" DOUBLE PRECISION NOT NULL, + "Val28" DOUBLE PRECISION NOT NULL, + "Val29" DOUBLE PRECISION NOT NULL, + "Val30" DOUBLE PRECISION NOT NULL, + "Val31" DOUBLE PRECISION NOT NULL, + "Val32" DOUBLE PRECISION NOT NULL, + "Val33" DOUBLE PRECISION NOT NULL, + "Val34" DOUBLE PRECISION NOT NULL, + "Val35" DOUBLE PRECISION NOT NULL, + "Val36" DOUBLE PRECISION NOT NULL, + "TireType" INTEGER, + "RainFlag" INTEGER, + "Pacejka_TireModel" VARCHAR (50), + "LatForce1" DOUBLE PRECISION, + "LatForce2" DOUBLE PRECISION, + "LatForce3" DOUBLE PRECISION, + "LatForce4" DOUBLE PRECISION, + "LatForce5" DOUBLE PRECISION, + "LatForce6" DOUBLE PRECISION, + "LatForce7" DOUBLE PRECISION, + "LatForce8" DOUBLE PRECISION, + "LatForce9" DOUBLE PRECISION, + "LatForce10" DOUBLE PRECISION, + "LatForce11" DOUBLE PRECISION, + "LatForce12" DOUBLE PRECISION, + "LatForce13" DOUBLE PRECISION, + "LatForce14" DOUBLE PRECISION, + "LatForce15" DOUBLE PRECISION, + "LatForce16" DOUBLE PRECISION, + "LatForce17" DOUBLE PRECISION, + "LatForce18" DOUBLE PRECISION, + "LatForce19" DOUBLE PRECISION, + "LatForce20" DOUBLE PRECISION, + "LatForce21" DOUBLE PRECISION, + "LatForce22" DOUBLE PRECISION, + "LatForce23" DOUBLE PRECISION, + "LatForce24" DOUBLE PRECISION, + "LatForce25" DOUBLE PRECISION, + "AlignMom1" DOUBLE PRECISION, + "AlignMom2" DOUBLE PRECISION, + "AlignMom3" DOUBLE PRECISION, + "AlignMom4" DOUBLE PRECISION, + "AlignMom5" DOUBLE PRECISION, + "AlignMom6" DOUBLE PRECISION, + "AlignMom7" DOUBLE PRECISION, + "AlignMom8" DOUBLE PRECISION, + "AlignMom9" DOUBLE PRECISION, + "AlignMom10" DOUBLE PRECISION, + "AlignMom11" DOUBLE PRECISION, + "AlignMom12" DOUBLE PRECISION, + "AlignMom13" DOUBLE PRECISION, + "AlignMom14" DOUBLE PRECISION, + "AlignMom15" DOUBLE PRECISION, + "AlignMom16" DOUBLE PRECISION, + "AlignMom17" DOUBLE PRECISION, + "AlignMom18" DOUBLE PRECISION, + "AlignMom19" DOUBLE PRECISION, + "AlignMom20" DOUBLE PRECISION, + "AlignMom21" DOUBLE PRECISION, + "AlignMom22" DOUBLE PRECISION, + "AlignMom23" DOUBLE PRECISION, + "AlignMom24" DOUBLE PRECISION, + "AlignMom25" DOUBLE PRECISION, + "RollingResistFactor" DOUBLE PRECISION, + "GrowthFactor" DOUBLE PRECISION, + "PeakFriction" DOUBLE PRECISION, + "CamberCoefficient" DOUBLE PRECISION, "SectionWidth" DOUBLE PRECISION ); COMMENT ON COLUMN "Pacejka_TireModel"."Pacejka_TireModel" IS 'Debug - Text'; @@ -1241,69 +1241,69 @@ ALTER TABLE "Pacejka_TireModel" ADD CONSTRAINT "Pacejka_TireModel_pkey" PRIMARY CREATE TABLE "Physics" ( - "PartTypeID" INTEGER NOT NULL, - "Ordinal" INTEGER NOT NULL, - "StatusID" INTEGER, - "DutyRating" INTEGER, - "MaxItemWear" INTEGER, - "Mass" DOUBLE PRECISION, - "Val1" DOUBLE PRECISION, - "Val2" DOUBLE PRECISION, - "Val3" DOUBLE PRECISION, - "Val4" DOUBLE PRECISION, - "Val5" DOUBLE PRECISION, - "Val6" DOUBLE PRECISION, - "Val7" DOUBLE PRECISION, - "Val8" DOUBLE PRECISION, - "Val9" DOUBLE PRECISION, - "Val10" DOUBLE PRECISION, - "Val11" DOUBLE PRECISION, - "Val12" DOUBLE PRECISION, - "Val13" DOUBLE PRECISION, - "Val14" DOUBLE PRECISION, - "Val15" DOUBLE PRECISION, - "Val16" DOUBLE PRECISION, - "Val17" DOUBLE PRECISION, - "Val18" DOUBLE PRECISION, - "Val19" DOUBLE PRECISION, - "Val20" DOUBLE PRECISION, - "Val21" DOUBLE PRECISION, - "Val22" DOUBLE PRECISION, - "Val23" DOUBLE PRECISION, - "Val24" DOUBLE PRECISION, - "Val25" DOUBLE PRECISION, - "Val26" DOUBLE PRECISION, - "Val27" DOUBLE PRECISION, - "Val28" DOUBLE PRECISION, - "Val29" DOUBLE PRECISION, - "Val30" DOUBLE PRECISION, - "Val31" DOUBLE PRECISION, - "Val32" DOUBLE PRECISION, - "Val33" DOUBLE PRECISION, - "Val34" DOUBLE PRECISION, - "Val35" DOUBLE PRECISION, - "Val36" DOUBLE PRECISION, - "Val37" DOUBLE PRECISION, - "Val38" DOUBLE PRECISION, - "Val39" DOUBLE PRECISION, - "Val40" DOUBLE PRECISION, - "Val41" DOUBLE PRECISION, - "Val42" DOUBLE PRECISION, - "Val43" DOUBLE PRECISION, - "Val44" DOUBLE PRECISION, - "Val45" DOUBLE PRECISION, - "Val46" DOUBLE PRECISION, - "Val47" DOUBLE PRECISION, - "Val48" DOUBLE PRECISION, - "Val49" DOUBLE PRECISION, - "Val50" DOUBLE PRECISION, - "TextVal1" VARCHAR (20), - "TextVal2" VARCHAR (20), - "TextVal3" VARCHAR (20), - "TextVal4" VARCHAR (20), - "TextVal5" VARCHAR (20), - "TextVal6" VARCHAR (20), - "TextVal7" VARCHAR (20), + "PartTypeID" INTEGER NOT NULL, + "Ordinal" INTEGER NOT NULL, + "StatusID" INTEGER, + "DutyRating" INTEGER, + "MaxItemWear" INTEGER, + "Mass" DOUBLE PRECISION, + "Val1" DOUBLE PRECISION, + "Val2" DOUBLE PRECISION, + "Val3" DOUBLE PRECISION, + "Val4" DOUBLE PRECISION, + "Val5" DOUBLE PRECISION, + "Val6" DOUBLE PRECISION, + "Val7" DOUBLE PRECISION, + "Val8" DOUBLE PRECISION, + "Val9" DOUBLE PRECISION, + "Val10" DOUBLE PRECISION, + "Val11" DOUBLE PRECISION, + "Val12" DOUBLE PRECISION, + "Val13" DOUBLE PRECISION, + "Val14" DOUBLE PRECISION, + "Val15" DOUBLE PRECISION, + "Val16" DOUBLE PRECISION, + "Val17" DOUBLE PRECISION, + "Val18" DOUBLE PRECISION, + "Val19" DOUBLE PRECISION, + "Val20" DOUBLE PRECISION, + "Val21" DOUBLE PRECISION, + "Val22" DOUBLE PRECISION, + "Val23" DOUBLE PRECISION, + "Val24" DOUBLE PRECISION, + "Val25" DOUBLE PRECISION, + "Val26" DOUBLE PRECISION, + "Val27" DOUBLE PRECISION, + "Val28" DOUBLE PRECISION, + "Val29" DOUBLE PRECISION, + "Val30" DOUBLE PRECISION, + "Val31" DOUBLE PRECISION, + "Val32" DOUBLE PRECISION, + "Val33" DOUBLE PRECISION, + "Val34" DOUBLE PRECISION, + "Val35" DOUBLE PRECISION, + "Val36" DOUBLE PRECISION, + "Val37" DOUBLE PRECISION, + "Val38" DOUBLE PRECISION, + "Val39" DOUBLE PRECISION, + "Val40" DOUBLE PRECISION, + "Val41" DOUBLE PRECISION, + "Val42" DOUBLE PRECISION, + "Val43" DOUBLE PRECISION, + "Val44" DOUBLE PRECISION, + "Val45" DOUBLE PRECISION, + "Val46" DOUBLE PRECISION, + "Val47" DOUBLE PRECISION, + "Val48" DOUBLE PRECISION, + "Val49" DOUBLE PRECISION, + "Val50" DOUBLE PRECISION, + "TextVal1" VARCHAR (20), + "TextVal2" VARCHAR (20), + "TextVal3" VARCHAR (20), + "TextVal4" VARCHAR (20), + "TextVal5" VARCHAR (20), + "TextVal6" VARCHAR (20), + "TextVal7" VARCHAR (20), "TextVal8" VARCHAR (20) ); @@ -1314,7 +1314,7 @@ ALTER TABLE "Physics" ADD CONSTRAINT "Physics_pkey" PRIMARY KEY ("PartTypeID", " CREATE TABLE "PhysicsStatus" ( - "StatusID" INTEGER, + "StatusID" INTEGER, "Status" VARCHAR (50) ); @@ -1323,13 +1323,13 @@ ALTER TABLE "PhysicsStatus" ADD CONSTRAINT "PhysicsStatus_pkey" PRIMARY KEY ("St CREATE TABLE "RaceTemplate" ( - "RaceTemplateID" INTEGER NOT NULL, - "Laps" SMALLINT NOT NULL, - "Backward" BOOL NOT NULL, - "Mirrored" BOOL NOT NULL, - "NightDriving" BOOL NOT NULL, - "Weather" BOOL NOT NULL, - "DifficultyRating" INTEGER NOT NULL, + "RaceTemplateID" INTEGER NOT NULL, + "Laps" SMALLINT NOT NULL, + "Backward" BOOL NOT NULL, + "Mirrored" BOOL NOT NULL, + "NightDriving" BOOL NOT NULL, + "Weather" BOOL NOT NULL, + "DifficultyRating" INTEGER NOT NULL, "RaceName" VARCHAR (100) ); @@ -1338,8 +1338,8 @@ ALTER TABLE "RaceTemplate" ADD CONSTRAINT "RaceTemplate_pkey" PRIMARY KEY ("Race CREATE TABLE "Street" ( - "ZoneID" INTEGER NOT NULL, - "StreetNum" INTEGER NOT NULL, + "ZoneID" INTEGER NOT NULL, + "StreetNum" INTEGER NOT NULL, "Street" VARCHAR (100) ); @@ -1349,12 +1349,12 @@ CREATE INDEX "Street_ZoneID_idx" ON "Street" ("ZoneID"); CREATE TABLE "TrackSpeedRecord" ( - "TrackSpeedRecordID" SERIAL, - "PersonaID" INTEGER, - "PlayerName" VARCHAR (30) NOT NULL, - "TopSpeed" INTEGER NOT NULL, - "TrackID" INTEGER NOT NULL, - "CarBrandedPartID" INTEGER NOT NULL, + "TrackSpeedRecordID" SERIAL, + "PersonaID" INTEGER, + "PlayerName" VARCHAR (30) NOT NULL, + "TopSpeed" INTEGER NOT NULL, + "TrackID" INTEGER NOT NULL, + "CarBrandedPartID" INTEGER NOT NULL, "Flags" INTEGER ); @@ -1363,11 +1363,11 @@ ALTER TABLE "TrackSpeedRecord" ADD CONSTRAINT "TrackSpeedRecord_pkey" PRIMARY KE CREATE TABLE "VehicleHistory" ( - "TrackID" INTEGER, - "VehicleID" INTEGER, - "RaceTime" TIMESTAMP WITHOUT TIME ZONE, - "OppNum" INTEGER, - "Place" INTEGER, + "TrackID" INTEGER, + "VehicleID" INTEGER, + "RaceTime" TIMESTAMP WITHOUT TIME ZONE, + "OppNum" INTEGER, + "Place" INTEGER, "PlayerID" INTEGER ); diff --git a/thebeast/misc/mco-installer.ps1 b/thebeast/misc/mco-installer.ps1 index c88798a7c..fa873c097 100644 --- a/thebeast/misc/mco-installer.ps1 +++ b/thebeast/misc/mco-installer.ps1 @@ -30,7 +30,7 @@ switch ($msgBoxInput) { 'Yes' { - ## Do something + ## Do something } @@ -39,4 +39,3 @@ switch ($msgBoxInput) { ## Do something } - diff --git a/thebeast/misc/port-forward.ps1 b/thebeast/misc/port-forward.ps1 index edd7154df..739db780f 100644 --- a/thebeast/misc/port-forward.ps1 +++ b/thebeast/misc/port-forward.ps1 @@ -8,4 +8,4 @@ $ports = @(5432,3000,8226,8228,7003,43300,43400) foreach ($port in $ports) { netsh interface portproxy add v4tov4 listenport=$port listenaddress=0.0.0.0 connectport=$port connectaddress=$WSL_IP } -pause \ No newline at end of file +pause diff --git a/thebeast/prettierrc b/thebeast/prettierrc index d1039fbcf..e74ed9ff3 100644 --- a/thebeast/prettierrc +++ b/thebeast/prettierrc @@ -3,4 +3,4 @@ "tabWidth": 4, "semi": false, "singleQuote": true -} \ No newline at end of file +} diff --git a/tox.ini b/tox.ini new file mode 100644 index 000000000..f75c49265 --- /dev/null +++ b/tox.ini @@ -0,0 +1,10 @@ +[flake8] +count = True +select = C,E,F,W,B,B950 +show_source = True +statistics = True +max-line-length = 127 +max-complexity = 10 +per-file-ignores = + # module level import not at top of file + ./tests/__init__.py: E402 diff --git a/tsconfig.base.json b/tsconfig.base.json index a20880408..d0f4591da 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -15,7 +15,7 @@ "sourceMap": true, "outDir": "dist", "emitDeclarationOnly": true - + }, "include": ["apps/**/*", "packages/**/*", "drizzle.config.ts", "schema/**/*.ts"], } diff --git a/tsconfig.json b/tsconfig.json index a20880408..d0f4591da 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -15,7 +15,7 @@ "sourceMap": true, "outDir": "dist", "emitDeclarationOnly": true - + }, "include": ["apps/**/*", "packages/**/*", "drizzle.config.ts", "schema/**/*.ts"], } From 3d5f4eff0fcf6d615656cc449ee79c72968b9ba2 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:16:36 -0400 Subject: [PATCH 370/452] chore: update .gitignore to exclude .nx/ directory and Python related files --- .gitignore | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/.gitignore b/.gitignore index 6a4aad3d8..dacd8b85c 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,10 @@ meta.json .nx/ + +# python ignores +*.pyc +*.pyo +*.pyd +__pycache__ +.pytest_cache/ From e438cdd625115d77cdc8971fc5a15f0a3909c29f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:17:00 -0400 Subject: [PATCH 371/452] chore: Update Makefile and python.yaml for pdm commands --- .github/workflows/python.yaml | 4 ++-- Makefile | 6 +++--- pyproject.toml | 28 +++++++++++++++++----------- 3 files changed, 22 insertions(+), 16 deletions(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 26a4b5a95..cbc0b9eaf 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -27,7 +27,7 @@ jobs: - name: Install dependencies run: | - pdm sync -d -G testing + pdm sync -d -G test - name: Run Tests run: | - pdm run -v pytest tests + pdm test diff --git a/Makefile b/Makefile index 9fd61fce2..d044f9042 100644 --- a/Makefile +++ b/Makefile @@ -10,8 +10,8 @@ format: test: - pipenv run coverage run -m pytest - pipenv run coverage report -m --skip-covered - pipenv run coverage xml + pdm run coverage run -m pytest + pdm run coverage report -m --skip-covered + pdm run coverage xml .PHONY: init lint test diff --git a/pyproject.toml b/pyproject.toml index cd1b6edb3..57169e7b7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -2,15 +2,24 @@ name = "rusty-server" version = "0.1.0" description = "Default template for PDM package" -authors = [ - {name = "Molly Draven", email = "drazi@duck.com"}, -] -dependencies = [ - "server @ file:///${PROJECT_ROOT}/projects/server", -] +authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] +dependencies = ["server @ file:///${PROJECT_ROOT}/projects/server"] requires-python = "==3.12.*" readme = "README.md" -license = {text = "AGPL-3.0"} +license = { text = "AGPL-3.0" } + +[tool.black] +target-version = ['py37'] +include = '\.pyi?$' +# 'extend-exclude' excludes files or directories in addition to the defaults +extend-exclude = ''' +# A regex preceded with ^/ will apply only to files and directories +# in the root of the project. +( + ^/foo.py # exclude a file named foo.py in the root of the project + | .*_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project +) +''' [tool.pdm] @@ -25,10 +34,7 @@ dev = [ "flake8>=7.1.0", "flake8-black>=0.3.6", ] -test = [ - "pytest>=8.2.2", - "coverage>=7.5.3", -] +test = ["pytest>=8.2.2", "coverage>=7.5.3"] [tool.pdm.scripts] rusty-server = "rm-server.py" From 52d6511c926b579680f40febddccdfccfdabaeb4 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:31:23 -0400 Subject: [PATCH 372/452] chore: Update Makefile and python.yaml for pdm commands --- .pre-commit-config.yaml | 6 +++++ Makefile | 2 +- Pipfile | 37 ++++++++++++++++++++++++++ projects/server/src/server/__init__.py | 15 +++++++++++ pyproject.toml | 2 +- rm-server.py | 12 +++++---- 6 files changed, 67 insertions(+), 7 deletions(-) create mode 100644 Pipfile diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1f4947f26..a9c773987 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -8,6 +8,12 @@ repos: - id: end-of-file-fixer - id: check-yaml - id: check-added-large-files + - id: name-tests-test +- repo: https://github.com/pycqa/flake8 + rev: '7.1.0' # pick a git hash / tag to point to + hooks: + - id: flake8 + additional_dependencies: ['flake8-black'] # Using this mirror lets us use mypyc-compiled black, which is about 2x faster - repo: https://github.com/psf/black-pre-commit-mirror rev: 24.4.2 diff --git a/Makefile b/Makefile index d044f9042..f7ec69c45 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ init: pip install --user pdm - pdm sync -d -G testing + pdm install lint: pipenv run flake8 . --exit-zero diff --git a/Pipfile b/Pipfile new file mode 100644 index 000000000..aaebf23c3 --- /dev/null +++ b/Pipfile @@ -0,0 +1,37 @@ +[[source]] +url = "https://pypi.org/simple" +verify_ssl = true +name = "pypi" + +[packages] +black = "==24.4.2" +cfgv = "==3.4.0" +click = "==8.1.7" +colorama = "==0.4.6" +coverage = "==7.5.3" +distlib = "==0.3.8" +filelock = "==3.15.3" +flake8 = "==7.1.0" +flake8-black = "==0.3.6" +identify = "==2.5.36" +iniconfig = "==2.0.0" +mccabe = "==0.7.0" +mypy-extensions = "==1.0.0" +nodeenv = "==1.9.1" +packaging = "==24.1" +pathspec = "==0.12.1" +platformdirs = "==4.2.2" +pluggy = "==1.5.0" +pre-commit = "==3.7.1" +pycodestyle = "==2.12.0" +pyflakes = "==3.2.0" +pytest = "==8.2.2" +pyyaml = "==6.0.1" +serializable = {file = "libs/serializable", editable = true} +server = {file = "projects/server", editable = true} +virtualenv = "==20.26.3" + +[dev-packages] + +[requires] +python_version = "3.12" diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index e69de29bb..2edbf9e19 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -0,0 +1,15 @@ +import tkinter as tk + + +class RustyMotorsServer(tk.Frame): + def __init__( + self, + master=None, + ): + tk.Frame.__init__(self, master) + self.grid() + tk.Label(self, text="Hello World!").grid(column=0, row=0) + tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) + + def run(self): + self.mainloop() diff --git a/pyproject.toml b/pyproject.toml index 57169e7b7..85dee8c92 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,7 @@ dev = [ test = ["pytest>=8.2.2", "coverage>=7.5.3"] [tool.pdm.scripts] -rusty-server = "rm-server.py" +start = "rm-server.py" lint = "pre-commit run --all-files" format = "black ." test = "pytest" diff --git a/rm-server.py b/rm-server.py index b0488c674..9730e4b6c 100755 --- a/rm-server.py +++ b/rm-server.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -from server import BinaryFileRunner +from server import RustyMotorsServer path = "/home/drazisil/Downloads/MCO/mcity.exe" @@ -10,10 +10,12 @@ def main(): print("Hello World!") - binary_file_runner = BinaryFileRunner.from_path(path) - if binary_file_runner is not None: - print(binary_file_runner) - binary_file_runner.run() + server = RustyMotorsServer() + if server is not None: + server.run() + else: + print("Unable to start server.") + exit(1) if __name__ == "__main__": From 4e3d86128defe9854a690f2dda552b31d395cf0e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:38:54 -0400 Subject: [PATCH 373/452] chore: Update Makefile and python.yaml for pdm commands --- Makefile | 4 ++-- pyproject.toml | 6 +++--- tox.ini | 1 + 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index f7ec69c45..f6d612ec1 100644 --- a/Makefile +++ b/Makefile @@ -3,10 +3,10 @@ init: pdm install lint: - pipenv run flake8 . --exit-zero + pdm run flake8 . --exit-zero format: - pipenv run black . + pdm run black . test: diff --git a/pyproject.toml b/pyproject.toml index 85dee8c92..402a49065 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -38,6 +38,6 @@ test = ["pytest>=8.2.2", "coverage>=7.5.3"] [tool.pdm.scripts] start = "rm-server.py" -lint = "pre-commit run --all-files" -format = "black ." -test = "pytest" +lint = "make lint" +format = "make format" +test = "make test" diff --git a/tox.ini b/tox.ini index f75c49265..27940873c 100644 --- a/tox.ini +++ b/tox.ini @@ -5,6 +5,7 @@ show_source = True statistics = True max-line-length = 127 max-complexity = 10 +exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,.venv,.tox per-file-ignores = # module level import not at top of file ./tests/__init__.py: E402 From aa460c5f3d9c9229f98cd8e12d0e3dbfd039c6f3 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 07:40:24 -0400 Subject: [PATCH 374/452] chore: Update .gitignore to exclude .coverage file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index dacd8b85c..ff22fc3a4 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ meta.json *.pyd __pycache__ .pytest_cache/ +.coverage From 7645f6d78c7b6303d5e9c0c777d19e9ba336389e Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 09:22:46 -0400 Subject: [PATCH 375/452] chore: Update Makefile and python.yaml for pdm commands and setcap for Python executable --- Makefile | 3 +++ projects/server/src/server/__init__.py | 25 +++++++++++++++++++++++++ tox.ini | 2 +- 3 files changed, 29 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f6d612ec1..a00ecd023 100644 --- a/Makefile +++ b/Makefile @@ -8,6 +8,9 @@ lint: format: pdm run black . +setcap: + @sudo setcap cap_net_bind_service=+ep $$(readlink -f $$(pdm run which python)) + test: pdm run coverage run -m pytest diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 2edbf9e19..0a419dd1b 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -1,4 +1,8 @@ import tkinter as tk +from socket import socket, create_server, SOL_SOCKET, SO_REUSEADDR + +server_address = "localhost" +port = 80 class RustyMotorsServer(tk.Frame): @@ -11,5 +15,26 @@ def __init__( tk.Label(self, text="Hello World!").grid(column=0, row=0) tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) + self.server_socket = create_server((server_address, port)) + + if self.server_socket is not None: + self.server_socket.listen(1) + self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) + self.server_socket.setblocking(False) + self.after(1000, self.try_accept, self.server_socket) + else: + print("Unable to start server.") + exit(1) + + def try_accept(self, sock: socket): + try: + client_socket, client_address = sock.accept() + print(f"Connection from {client_address}") + client_socket.sendall(b"Hello World!") + # client_socket.close() + self.after(1000, self.try_accept, sock) + except BlockingIOError: + self.after(1000, self.try_accept, sock) + def run(self): self.mainloop() diff --git a/tox.ini b/tox.ini index 27940873c..8e2a045c1 100644 --- a/tox.ini +++ b/tox.ini @@ -5,7 +5,7 @@ show_source = True statistics = True max-line-length = 127 max-complexity = 10 -exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,.venv,.tox +exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,.venv,.tox,.coverage per-file-ignores = # module level import not at top of file ./tests/__init__.py: E402 From cb19397c5e0f17aa2018aefd08adef847a7e7a64 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 09:25:21 -0400 Subject: [PATCH 376/452] chore: Exclude *.xml files from version control --- .gitignore | 1 + projects/server/src/server/test___init__.py | 29 +++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 projects/server/src/server/test___init__.py diff --git a/.gitignore b/.gitignore index ff22fc3a4..84d1151cd 100644 --- a/.gitignore +++ b/.gitignore @@ -30,3 +30,4 @@ meta.json __pycache__ .pytest_cache/ .coverage +*.xml diff --git a/projects/server/src/server/test___init__.py b/projects/server/src/server/test___init__.py new file mode 100644 index 000000000..402f431e6 --- /dev/null +++ b/projects/server/src/server/test___init__.py @@ -0,0 +1,29 @@ +from socket import SO_REUSEADDR, SOL_SOCKET +import unittest +from unittest.mock import MagicMock +from server import RustyMotorsServer + + +class TestRustyMotorsServer(unittest.TestCase): + def test_init(self): + # Create a mock master object + master = MagicMock() + + # Create an instance of RustyMotorsServer + server = RustyMotorsServer(master) + + # Assert that the server's master attribute is set correctly + self.assertEqual(server.master, master) + + # Assert that the server's server_socket attribute is not None + self.assertIsNotNone(server.server_socket) + + # Assert that the server's server_socket is set to non-blocking mode + self.assertFalse(server.server_socket.getblocking()) + + # Assert that the server's server_socket is set to reuse the address + self.assertEqual(server.server_socket.getsockopt(SOL_SOCKET, SO_REUSEADDR), 1) + + +if __name__ == "__main__": + unittest.main() From 80e41eba5042aea64d9a532d4850d7b289136d39 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 09:28:02 -0400 Subject: [PATCH 377/452] chore: Update python.yaml to exclude Python 3.7 from matrix --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index cbc0b9eaf..45a1fe1b2 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [3.7, 3.8, 3.9, '3.10', '3.11'] + python-version: [3.8, 3.9, '3.10', '3.11'] os: [ubuntu-latest, macOS-latest, windows-latest] steps: From de6ee7819be1c9f74e1fcaa4ca65c0689616a408 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 13:09:01 -0400 Subject: [PATCH 378/452] chore: Add command line argument support for server address and port --- projects/server/src/server/__init__.py | 41 ++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 3 deletions(-) diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 0a419dd1b..36b665fe4 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -1,8 +1,20 @@ import tkinter as tk from socket import socket, create_server, SOL_SOCKET, SO_REUSEADDR +import argparse +import os -server_address = "localhost" -port = 80 + +class EnvDefault(argparse.Action): + def __init__(self, envvar, required=True, default=None, **kwargs): + if envvar: + if envvar in os.environ: + default = os.environ[envvar] + if required and default: + required = False + super(EnvDefault, self).__init__(default=default, required=required, **kwargs) + + def __call__(self, parser, namespace, values, option_string=None): + setattr(namespace, self.dest, values) class RustyMotorsServer(tk.Frame): @@ -15,10 +27,33 @@ def __init__( tk.Label(self, text="Hello World!").grid(column=0, row=0) tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) - self.server_socket = create_server((server_address, port)) + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="localhost", + help="The address to bind the server to. Default: localhost. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=12345, + help="The port to bind the server to. Default: 12345. Can be set with the PORT environment variable.", + ) + parser.add_help = True + args = parser.parse_args() + + self.server_address = str(args.server_address) + self.port = int(args.port) + + self.server_socket = create_server((self.server_address, self.port)) if self.server_socket is not None: self.server_socket.listen(1) + print(f"Server listening on {self.server_address}:{self.port}") self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) self.server_socket.setblocking(False) self.after(1000, self.try_accept, self.server_socket) From 54e7317d714f5a51927508031d0423b345471298 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 13:13:46 -0400 Subject: [PATCH 379/452] chore: Refactor server initialization to use socket() instead of create_server() --- projects/server/src/server/__init__.py | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 36b665fe4..8af44c128 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -1,5 +1,5 @@ import tkinter as tk -from socket import socket, create_server, SOL_SOCKET, SO_REUSEADDR +from socket import socket, SOL_SOCKET, SO_REUSEADDR import argparse import os @@ -49,12 +49,13 @@ def __init__( self.server_address = str(args.server_address) self.port = int(args.port) - self.server_socket = create_server((self.server_address, self.port)) + self.server_socket = socket() + self.server_socket.bind((self.server_address, self.port)) + self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) if self.server_socket is not None: self.server_socket.listen(1) print(f"Server listening on {self.server_address}:{self.port}") - self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) self.server_socket.setblocking(False) self.after(1000, self.try_accept, self.server_socket) else: From 8859ce7fdd755d150561d45a9f5a22d10fb9fe04 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 13:26:56 -0400 Subject: [PATCH 380/452] Refactor server initialization to use socket() instead of create_server() --- projects/server/src/server/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 8af44c128..2b3160407 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -50,8 +50,8 @@ def __init__( self.port = int(args.port) self.server_socket = socket() - self.server_socket.bind((self.server_address, self.port)) self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) + self.server_socket.bind((self.server_address, self.port)) if self.server_socket is not None: self.server_socket.listen(1) From 038706e9f7855e72be914174786dca747aa3edb0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 13:37:16 -0400 Subject: [PATCH 381/452] Refactor server initialization to use socket() instead of create_server() --- projects/server/src/server/__init__.py | 3 +-- projects/server/src/server/test___init__.py | 4 ---- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 2b3160407..86336a4f7 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -1,5 +1,5 @@ import tkinter as tk -from socket import socket, SOL_SOCKET, SO_REUSEADDR +from socket import socket import argparse import os @@ -50,7 +50,6 @@ def __init__( self.port = int(args.port) self.server_socket = socket() - self.server_socket.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1) self.server_socket.bind((self.server_address, self.port)) if self.server_socket is not None: diff --git a/projects/server/src/server/test___init__.py b/projects/server/src/server/test___init__.py index 402f431e6..cd40f2251 100644 --- a/projects/server/src/server/test___init__.py +++ b/projects/server/src/server/test___init__.py @@ -1,4 +1,3 @@ -from socket import SO_REUSEADDR, SOL_SOCKET import unittest from unittest.mock import MagicMock from server import RustyMotorsServer @@ -21,9 +20,6 @@ def test_init(self): # Assert that the server's server_socket is set to non-blocking mode self.assertFalse(server.server_socket.getblocking()) - # Assert that the server's server_socket is set to reuse the address - self.assertEqual(server.server_socket.getsockopt(SOL_SOCKET, SO_REUSEADDR), 1) - if __name__ == "__main__": unittest.main() From 2c1eacb658e0c7a653d53a0dc38506462516e9c2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 17:41:25 +0000 Subject: [PATCH 382/452] chore(deps): pin dependencies --- .github/workflows/python.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 45a1fe1b2..c142ef429 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -19,9 +19,9 @@ jobs: os: [ubuntu-latest, macOS-latest, windows-latest] steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - name: Set up PDM - uses: pdm-project/setup-pdm@v3 + uses: pdm-project/setup-pdm@ddc33ca746b5716353581f988b29464200212702 # v3 with: python-version: ${{ matrix.python-version }} From 059b289be27fa3c298f96b9cddb4d07dab08f124 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 17:41:31 +0000 Subject: [PATCH 383/452] chore(deps): update dependency filelock to v3.15.4 --- Pipfile | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Pipfile b/Pipfile index aaebf23c3..1923ef260 100644 --- a/Pipfile +++ b/Pipfile @@ -10,7 +10,7 @@ click = "==8.1.7" colorama = "==0.4.6" coverage = "==7.5.3" distlib = "==0.3.8" -filelock = "==3.15.3" +filelock = "==3.15.4" flake8 = "==7.1.0" flake8-black = "==0.3.6" identify = "==2.5.36" diff --git a/requirements.txt b/requirements.txt index 84393104f..e89192f26 100644 --- a/requirements.txt +++ b/requirements.txt @@ -7,7 +7,7 @@ click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" coverage==7.5.3 distlib==0.3.8 -filelock==3.15.3 +filelock==3.15.4 flake8==7.1.0 flake8-black==0.3.6 identify==2.5.36 From e1cc0d3c29d0d062f903693a32c42e58a7460c88 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:10:58 +0000 Subject: [PATCH 384/452] chore(deps): update adminer:4.8.1 docker digest to ee90fd1 --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3aff9ea08..395a3d5f2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer:4.8.1@sha256:cbbcc8caedf029309ac7df722a470785e99a0942e29b3efc9367ee1640e1b330 + image: adminer:4.8.1@sha256:ee90fd19757e0f89bb991f63bf04fd0530a0f98f408605d2b88f812fc0c3ec7b restart: always ports: - 8080:8080 From 876b2241e90aae54f7fc6acdf6eef3915fca8e03 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:01 +0000 Subject: [PATCH 385/452] chore(deps): update github/codeql-action digest to 23acc5c --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 092307d0e..f31c62604 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@f079b8493333aace61c81488f8bd40919487bd9f # v3 + uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@f079b8493333aace61c81488f8bd40919487bd9f # v3 + uses: github/codeql-action/autobuild@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@f079b8493333aace61c81488f8bd40919487bd9f # v3 + uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 From f38864d71c1c4c949469bb761063f9f6d753838c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:04 +0000 Subject: [PATCH 386/452] chore(deps): update postgres:16.3 docker digest to 46aa2ee --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3aff9ea08..3e602568e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.3@sha256:1bf73ccae25238fa555100080042f0b2f9be08eb757e200fe6afc1fc413a1b3c + image: postgres:16.3@sha256:46aa2ee5d664b275f05d1a963b30fff60fb422b4b594d509765c42db46d48881 restart: always environment: POSTGRES_DB: rm From 2de2c88a67280e91727715a07dd6032ed9a380e8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:06 +0000 Subject: [PATCH 387/452] chore(deps): update returntocorp/semgrep docker digest to 550dfda --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 31d015521..6192bbd53 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:470852e0f80a04389afd851de9809be8e8d2287ecc709abbc7834890786323fa + image: returntocorp/semgrep@sha256:550dfdac1ec5d4a757d1c2ac0197a6360ef3ac8e3d0a804731eab07242e91b4c if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 From 44a6ce4633b24131833c0076254fa7d55f135c07 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:09 +0000 Subject: [PATCH 388/452] chore(deps): update dependency coverage to v7.5.4 --- Pipfile | 2 +- requirements.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Pipfile b/Pipfile index 1923ef260..492e008c6 100644 --- a/Pipfile +++ b/Pipfile @@ -8,7 +8,7 @@ black = "==24.4.2" cfgv = "==3.4.0" click = "==8.1.7" colorama = "==0.4.6" -coverage = "==7.5.3" +coverage = "==7.5.4" distlib = "==0.3.8" filelock = "==3.15.4" flake8 = "==7.1.0" diff --git a/requirements.txt b/requirements.txt index e89192f26..be81ffea8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -5,7 +5,7 @@ black==24.4.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" -coverage==7.5.3 +coverage==7.5.4 distlib==0.3.8 filelock==3.15.4 flake8==7.1.0 From fdeb72c6da123a11c8adced5f9de84b7549efe89 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:13 +0000 Subject: [PATCH 389/452] chore(deps): update actions/checkout action to v4 --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index c142ef429..6ea2e10d3 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -19,7 +19,7 @@ jobs: os: [ubuntu-latest, macOS-latest, windows-latest] steps: - - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - name: Set up PDM uses: pdm-project/setup-pdm@ddc33ca746b5716353581f988b29464200212702 # v3 with: From b43a370614358e05de9dbebb700ba4d44f2a635c Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 22 Jun 2024 23:11:15 +0000 Subject: [PATCH 390/452] chore(deps): update pdm-project/setup-pdm action to v4 --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index c142ef429..0d1db320f 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -21,7 +21,7 @@ jobs: steps: - uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3 - name: Set up PDM - uses: pdm-project/setup-pdm@ddc33ca746b5716353581f988b29464200212702 # v3 + uses: pdm-project/setup-pdm@568ddd69406b30de1774ec0044b73ae06e716aa4 # v4 with: python-version: ${{ matrix.python-version }} From 9f2c6cd425540cfd419a912d9a4add4a24c71ce5 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sat, 22 Jun 2024 21:51:16 -0400 Subject: [PATCH 391/452] refactor: mode code out of __init__.py --- projects/server/src/server/__init__.py | 75 ------------------- .../server/src/server/env_default_action.py | 15 ++++ .../src/server/rustomer_motors_server.py | 70 +++++++++++++++++ projects/server/src/server/test___init__.py | 3 +- rm-server.py | 2 +- 5 files changed, 88 insertions(+), 77 deletions(-) create mode 100644 projects/server/src/server/env_default_action.py create mode 100644 projects/server/src/server/rustomer_motors_server.py diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py index 86336a4f7..e69de29bb 100644 --- a/projects/server/src/server/__init__.py +++ b/projects/server/src/server/__init__.py @@ -1,75 +0,0 @@ -import tkinter as tk -from socket import socket -import argparse -import os - - -class EnvDefault(argparse.Action): - def __init__(self, envvar, required=True, default=None, **kwargs): - if envvar: - if envvar in os.environ: - default = os.environ[envvar] - if required and default: - required = False - super(EnvDefault, self).__init__(default=default, required=required, **kwargs) - - def __call__(self, parser, namespace, values, option_string=None): - setattr(namespace, self.dest, values) - - -class RustyMotorsServer(tk.Frame): - def __init__( - self, - master=None, - ): - tk.Frame.__init__(self, master) - self.grid() - tk.Label(self, text="Hello World!").grid(column=0, row=0) - tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) - - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="localhost", - help="The address to bind the server to. Default: localhost. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=12345, - help="The port to bind the server to. Default: 12345. Can be set with the PORT environment variable.", - ) - parser.add_help = True - args = parser.parse_args() - - self.server_address = str(args.server_address) - self.port = int(args.port) - - self.server_socket = socket() - self.server_socket.bind((self.server_address, self.port)) - - if self.server_socket is not None: - self.server_socket.listen(1) - print(f"Server listening on {self.server_address}:{self.port}") - self.server_socket.setblocking(False) - self.after(1000, self.try_accept, self.server_socket) - else: - print("Unable to start server.") - exit(1) - - def try_accept(self, sock: socket): - try: - client_socket, client_address = sock.accept() - print(f"Connection from {client_address}") - client_socket.sendall(b"Hello World!") - # client_socket.close() - self.after(1000, self.try_accept, sock) - except BlockingIOError: - self.after(1000, self.try_accept, sock) - - def run(self): - self.mainloop() diff --git a/projects/server/src/server/env_default_action.py b/projects/server/src/server/env_default_action.py new file mode 100644 index 000000000..d7ee65978 --- /dev/null +++ b/projects/server/src/server/env_default_action.py @@ -0,0 +1,15 @@ +import argparse +import os + + +class EnvDefault(argparse.Action): + def __init__(self, envvar, required=True, default=None, **kwargs): + if envvar: + if envvar in os.environ: + default = os.environ[envvar] + if required and default: + required = False + super(EnvDefault, self).__init__(default=default, required=required, **kwargs) + + def __call__(self, parser, namespace, values, option_string=None): + setattr(namespace, self.dest, values) diff --git a/projects/server/src/server/rustomer_motors_server.py b/projects/server/src/server/rustomer_motors_server.py new file mode 100644 index 000000000..09e2624c5 --- /dev/null +++ b/projects/server/src/server/rustomer_motors_server.py @@ -0,0 +1,70 @@ +import argparse +import tkinter as tk +from socket import socket +from .env_default_action import EnvDefault + + +class RustyMotorsServer(tk.Frame): + def __init__( + self, + master=None, + ): + tk.Frame.__init__(self, master) + self.grid() + tk.Label(self, text="Hello World!").grid(column=0, row=0) + tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) + + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="localhost", + help="The address to bind the server to. Default: localhost. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=12345, + help="The port to bind the server to. Default: 12345. Can be set with the PORT environment variable.", + ) + parser.add_argument( + "--external-host", + action=EnvDefault, + envvar="EXTERNAL_HOST", + default="localhost", + help="The external host to tell clients to connect to. Default: localhost. \ + Can be set with the EXTERNAL_HOST environment variable.", + ) + args = parser.parse_args() + + self.server_address = str(args.server_address) + self.port = int(args.port) + self.external_host = str(args.external_host) + + self.server_socket = socket() + self.server_socket.bind((self.server_address, self.port)) + + if self.server_socket is not None: + self.server_socket.listen(1) + print(f"Server listening on {self.server_address}:{self.port}") + self.server_socket.setblocking(False) + self.after(1000, self.try_accept, self.server_socket) + else: + print("Unable to start server.") + exit(1) + + def try_accept(self, sock: socket): + try: + client_socket, client_address = sock.accept() + print(f"Connection from {client_address}") + client_socket.sendall(b"Hello World!") + # client_socket.close() + self.after(1000, self.try_accept, sock) + except BlockingIOError: + self.after(1000, self.try_accept, sock) + + def run(self): + self.mainloop() diff --git a/projects/server/src/server/test___init__.py b/projects/server/src/server/test___init__.py index cd40f2251..aa5eabb16 100644 --- a/projects/server/src/server/test___init__.py +++ b/projects/server/src/server/test___init__.py @@ -1,6 +1,7 @@ import unittest from unittest.mock import MagicMock -from server import RustyMotorsServer + +from server.rustomer_motors_server import RustyMotorsServer class TestRustyMotorsServer(unittest.TestCase): diff --git a/rm-server.py b/rm-server.py index 9730e4b6c..d622b518c 100755 --- a/rm-server.py +++ b/rm-server.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -from server import RustyMotorsServer +from server.rustomer_motors_server import RustyMotorsServer path = "/home/drazisil/Downloads/MCO/mcity.exe" From f811ff6114a4ade9a551cdc9943d7438119e3805 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sun, 23 Jun 2024 07:21:35 -0400 Subject: [PATCH 392/452] refactor: move code out of __init__.py --- .../src/server/rustomer_motors_server.py | 70 ----------- .../server/src/server/rusty_motors_server.py | 119 ++++++++++++++++++ projects/server/src/server/test___init__.py | 26 ---- .../server/tests/rusty_motors_server_test.py | 9 ++ rm-server.py | 2 +- 5 files changed, 129 insertions(+), 97 deletions(-) delete mode 100644 projects/server/src/server/rustomer_motors_server.py create mode 100644 projects/server/src/server/rusty_motors_server.py delete mode 100644 projects/server/src/server/test___init__.py create mode 100644 projects/server/tests/rusty_motors_server_test.py diff --git a/projects/server/src/server/rustomer_motors_server.py b/projects/server/src/server/rustomer_motors_server.py deleted file mode 100644 index 09e2624c5..000000000 --- a/projects/server/src/server/rustomer_motors_server.py +++ /dev/null @@ -1,70 +0,0 @@ -import argparse -import tkinter as tk -from socket import socket -from .env_default_action import EnvDefault - - -class RustyMotorsServer(tk.Frame): - def __init__( - self, - master=None, - ): - tk.Frame.__init__(self, master) - self.grid() - tk.Label(self, text="Hello World!").grid(column=0, row=0) - tk.Button(self, text="Quit", command=self.quit).grid(column=1, row=0) - - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="localhost", - help="The address to bind the server to. Default: localhost. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=12345, - help="The port to bind the server to. Default: 12345. Can be set with the PORT environment variable.", - ) - parser.add_argument( - "--external-host", - action=EnvDefault, - envvar="EXTERNAL_HOST", - default="localhost", - help="The external host to tell clients to connect to. Default: localhost. \ - Can be set with the EXTERNAL_HOST environment variable.", - ) - args = parser.parse_args() - - self.server_address = str(args.server_address) - self.port = int(args.port) - self.external_host = str(args.external_host) - - self.server_socket = socket() - self.server_socket.bind((self.server_address, self.port)) - - if self.server_socket is not None: - self.server_socket.listen(1) - print(f"Server listening on {self.server_address}:{self.port}") - self.server_socket.setblocking(False) - self.after(1000, self.try_accept, self.server_socket) - else: - print("Unable to start server.") - exit(1) - - def try_accept(self, sock: socket): - try: - client_socket, client_address = sock.accept() - print(f"Connection from {client_address}") - client_socket.sendall(b"Hello World!") - # client_socket.close() - self.after(1000, self.try_accept, sock) - except BlockingIOError: - self.after(1000, self.try_accept, sock) - - def run(self): - self.mainloop() diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py new file mode 100644 index 000000000..5ef3ad43c --- /dev/null +++ b/projects/server/src/server/rusty_motors_server.py @@ -0,0 +1,119 @@ +import argparse +import tkinter as tk +from .env_default_action import EnvDefault +from select import poll, POLLIN +from socketserver import BaseRequestHandler, ThreadingTCPServer +from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer + + +class WebRequestHandler(BaseHTTPRequestHandler): + + def do_GET(self): + self.send_response(200) + self.send_header("Content-type", "text/html") + self.end_headers() + self.wfile.write(b"Hello World!") + + +class TCPRequestHandler(BaseRequestHandler): + + def handle(self): + print(f"Received connection from {self.client_address}") + data = self.request.recv(1024) + print(f"Received data: {data}") + + +class RustyMotorsServer(tk.Frame): + def __init__( + self, + master=None, + ): + tk.Frame.__init__(self, master) + self.grid() + tk.Label(self, text="Hello World!").grid(column=0, row=0) + tk.Button(self, text="Quit", command=self.shutdown).grid(column=1, row=0) + + self.bindings() + + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="localhost", + help="The address to bind the server to. Default: localhost. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=3000, + help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", + ) + parser.add_argument( + "--external-host", + action=EnvDefault, + envvar="EXTERNAL_HOST", + default="localhost", + help="The external host to tell clients to connect to. Default: localhost. \ + Can be set with the EXTERNAL_HOST environment variable.", + ) + args = parser.parse_args() + + # Setup HTTP server + self.http_server = ThreadingHTTPServer( + (args.server_address, args.port), WebRequestHandler + ) + self.http_server.socket.fileno() + + self.login_server = ThreadingTCPServer(("localhost", 8226), TCPRequestHandler) + self.persona_server = ThreadingTCPServer(("localhost", 8228), TCPRequestHandler) + self.lobby_server = ThreadingTCPServer(("localhost", 7003), TCPRequestHandler) + self.mcots_server = ThreadingTCPServer(("localhost", 43300), TCPRequestHandler) + + self.fdMapper: dict[int, ThreadingHTTPServer | TCPRequestHandler] = { + self.http_server.socket.fileno(): self.http_server, + self.login_server.fileno(): self.login_server, + self.persona_server.fileno(): self.persona_server, + self.lobby_server.fileno(): self.lobby_server, + self.mcots_server.fileno(): self.mcots_server, + } + + self.poller = poll() + self.poller.register(self.http_server.socket, POLLIN) + self.poller.register(self.login_server, POLLIN) + self.poller.register(self.persona_server, POLLIN) + self.poller.register(self.lobby_server, POLLIN) + self.poller.register(self.mcots_server, POLLIN) + print("Registered all sockets") + + self.after(1000, self.try_poll) + + def shutdown(self): + print("Shutting down server") + self.quit() + + def try_poll(self): + incoming = self.poller.poll(1) + + if len(incoming) == 0: + self.after(1000, self.try_poll) + return + + for fd, event in incoming: + if event == POLLIN: + self.handle_incoming(fd) + + self.after(1000, self.try_poll) + + def handle_incoming(self, fd): + server = self.fdMapper[fd] + print(f"Handling incoming connection from {server}") + server.handle_request() + + def bindings(self): + self.master.bind("x", lambda event: self.shutdown()) + + def run(self): + self.mainloop() diff --git a/projects/server/src/server/test___init__.py b/projects/server/src/server/test___init__.py deleted file mode 100644 index aa5eabb16..000000000 --- a/projects/server/src/server/test___init__.py +++ /dev/null @@ -1,26 +0,0 @@ -import unittest -from unittest.mock import MagicMock - -from server.rustomer_motors_server import RustyMotorsServer - - -class TestRustyMotorsServer(unittest.TestCase): - def test_init(self): - # Create a mock master object - master = MagicMock() - - # Create an instance of RustyMotorsServer - server = RustyMotorsServer(master) - - # Assert that the server's master attribute is set correctly - self.assertEqual(server.master, master) - - # Assert that the server's server_socket attribute is not None - self.assertIsNotNone(server.server_socket) - - # Assert that the server's server_socket is set to non-blocking mode - self.assertFalse(server.server_socket.getblocking()) - - -if __name__ == "__main__": - unittest.main() diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py new file mode 100644 index 000000000..7a0e9b422 --- /dev/null +++ b/projects/server/tests/rusty_motors_server_test.py @@ -0,0 +1,9 @@ +from unittest.mock import patch +from server.rusty_motors_server import RustyMotorsServer + + +def test_shutdown(): + server = RustyMotorsServer() + with patch.object(server, "quit") as mock_quit: + server.shutdown() + mock_quit.assert_called_once() diff --git a/rm-server.py b/rm-server.py index d622b518c..8542fdd6f 100755 --- a/rm-server.py +++ b/rm-server.py @@ -1,7 +1,7 @@ #!/usr/bin/env python3 -from server.rustomer_motors_server import RustyMotorsServer +from server.rusty_motors_server import RustyMotorsServer path = "/home/drazisil/Downloads/MCO/mcity.exe" From 35b9ee74a33e92775bf3f421333be86075a0f1fd Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Wed, 26 Jun 2024 13:17:15 -0400 Subject: [PATCH 393/452] chore(deps): add sentry --- pdm.lock | 39 ++++++++++++++++++++++++++++++++++++++- pyproject.toml | 5 ++++- requirements.txt | 7 +++++-- rm-server.py | 13 +++++++++++++ 4 files changed, 60 insertions(+), 4 deletions(-) diff --git a/pdm.lock b/pdm.lock index d17997516..b31334593 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:8209bdf4da581299d47bc2889f906c36d2d5674f5a9c79700d7db66550be8a6e" +content_hash = "sha256:a51a969fdb16ce77cf2e4229775b327a7175f98c20012fdaaf213c10436dcf17" [[package]] name = "black" @@ -29,6 +29,17 @@ files = [ {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, ] +[[package]] +name = "certifi" +version = "2024.6.2" +requires_python = ">=3.6" +summary = "Python package for providing Mozilla's CA Bundle." +groups = ["default"] +files = [ + {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, + {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, +] + [[package]] name = "cfgv" version = "3.4.0" @@ -312,6 +323,21 @@ files = [ {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, ] +[[package]] +name = "sentry-sdk" +version = "2.7.0" +requires_python = ">=3.6" +summary = "Python client for Sentry (https://sentry.io)" +groups = ["default"] +dependencies = [ + "certifi", + "urllib3>=1.26.11", +] +files = [ + {file = "sentry_sdk-2.7.0-py2.py3-none-any.whl", hash = "sha256:db9594c27a4d21c1ebad09908b1f0dc808ef65c2b89c1c8e7e455143262e37c1"}, + {file = "sentry_sdk-2.7.0.tar.gz", hash = "sha256:d846a211d4a0378b289ced3c434480945f110d0ede00450ba631fc2852e7a0d4"}, +] + [[package]] name = "serializable" version = "0.1.0" @@ -330,6 +356,17 @@ path = "./projects/server" summary = "Default template for PDM package" groups = ["default", "dev"] +[[package]] +name = "urllib3" +version = "2.2.2" +requires_python = ">=3.8" +summary = "HTTP library with thread-safe connection pooling, file post, and more." +groups = ["default"] +files = [ + {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, + {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, +] + [[package]] name = "virtualenv" version = "20.26.3" diff --git a/pyproject.toml b/pyproject.toml index 402a49065..9ddd81704 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,7 +3,10 @@ name = "rusty-server" version = "0.1.0" description = "Default template for PDM package" authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] -dependencies = ["server @ file:///${PROJECT_ROOT}/projects/server"] +dependencies = [ + "server @ file:///${PROJECT_ROOT}/projects/server", + "sentry-sdk>=2.7.0", +] requires-python = "==3.12.*" readme = "README.md" license = { text = "AGPL-3.0" } diff --git a/requirements.txt b/requirements.txt index be81ffea8..a0b258b71 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,12 +2,13 @@ # Please do not edit it manually. black==24.4.2 +certifi==2024.6.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" -coverage==7.5.4 +coverage==7.5.3 distlib==0.3.8 -filelock==3.15.4 +filelock==3.15.3 flake8==7.1.0 flake8-black==0.3.6 identify==2.5.36 @@ -24,6 +25,8 @@ pycodestyle==2.12.0 pyflakes==3.2.0 pytest==8.2.2 pyyaml==6.0.1 +sentry-sdk==2.7.0 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server +urllib3==2.2.2 virtualenv==20.26.3 diff --git a/rm-server.py b/rm-server.py index 8542fdd6f..83e2d61f4 100755 --- a/rm-server.py +++ b/rm-server.py @@ -3,6 +3,19 @@ from server.rusty_motors_server import RustyMotorsServer +import sentry_sdk + +sentry_sdk.init( + dsn="https://3d28b6085dabc6e8ecd7b263df477ead@o1413557.ingest.us.sentry.io/4507356101476352", + # Set traces_sample_rate to 1.0 to capture 100% + # of transactions for tracing. + traces_sample_rate=1.0, + # Set profiles_sample_rate to 1.0 to profile 100% + # of sampled transactions. + # We recommend adjusting this value in production. + profiles_sample_rate=1.0, +) + path = "/home/drazisil/Downloads/MCO/mcity.exe" From 4372d84866d879a2f63da1b83ec11e860440ab0f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Wed, 26 Jun 2024 13:24:11 -0400 Subject: [PATCH 394/452] refactor: add crash button to RustyMotorsServer --- projects/server/src/server/rusty_motors_server.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index 5ef3ad43c..8a073ed35 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -32,6 +32,7 @@ def __init__( self.grid() tk.Label(self, text="Hello World!").grid(column=0, row=0) tk.Button(self, text="Quit", command=self.shutdown).grid(column=1, row=0) + tk.Button(self, text="Start", command=self.crash).grid(column=2, row=0) self.bindings() @@ -90,6 +91,10 @@ def __init__( self.after(1000, self.try_poll) + def crash(self): + print("Crashing the server") + self.data = 1 / 0 + def shutdown(self): print("Shutting down server") self.quit() From ef85ebb5fbf1f02fba898dc37aa2965a089e6a17 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 27 Jun 2024 07:54:19 -0400 Subject: [PATCH 395/452] refactor: add more gui and logger --- .../server/src/server/rusty_motors_server.py | 141 +++++++++++++----- .../server/tests/rusty_motors_server_test.py | 29 +++- 2 files changed, 125 insertions(+), 45 deletions(-) diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index 8a073ed35..3e40581e3 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -4,6 +4,7 @@ from select import poll, POLLIN from socketserver import BaseRequestHandler, ThreadingTCPServer from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer +import sys class WebRequestHandler(BaseHTTPRequestHandler): @@ -28,45 +29,74 @@ def __init__( self, master=None, ): + self.args = self.parseServerArguments() + + self.initialize_gui_and_servers(master) + + def initialize_gui_and_servers(self, master): + self.initialize_gui(master) + + self.registerKeyboardBinding() + + self.initializeServers() + + def initialize_gui(self, master): tk.Frame.__init__(self, master) self.grid() - tk.Label(self, text="Hello World!").grid(column=0, row=0) - tk.Button(self, text="Quit", command=self.shutdown).grid(column=1, row=0) - tk.Button(self, text="Start", command=self.crash).grid(column=2, row=0) + tk.Wm.title(self.master, "Rusty Motors Server") + tk.Label(self, text="Rusty Motors Server").grid(row=0, column=0) + tk.Button(self, text="Quit", command=self.shutdown).grid(row=1, column=1) + # Create a Label for log messages + self.log = tk.Label(self, text="Log messages will appear here") + # Create a scrollbar for the log + self.scrollbar = tk.Scrollbar(self, orient="vertical") + # Create a read-only Text widget to display the log + self.log_text = tk.Text( + self, + height=10, + width=50, + yscrollcommand=self.scrollbar.set, + wrap="word", + ) + # Create an entry widget for user input + self.entry = tk.Entry(self, width=50, invcmd=self.processUserInput) - self.bindings() + # Place the widgets on the grid + self.log.grid(row=2, column=0) + self.scrollbar.grid(row=3, column=1, sticky="ns") + self.log_text.grid(row=3, column=0) + self.entry.grid(row=4, column=0) + # Configure the scrollbar to scroll the log_text widget + self.scrollbar.config(command=self.log_text.yview) - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="localhost", - help="The address to bind the server to. Default: localhost. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=3000, - help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", - ) - parser.add_argument( - "--external-host", - action=EnvDefault, - envvar="EXTERNAL_HOST", - default="localhost", - help="The external host to tell clients to connect to. Default: localhost. \ - Can be set with the EXTERNAL_HOST environment variable.", - ) - args = parser.parse_args() + # Redirect stdout to the log_text widget + self.messageLogger() + def processUserInput(self): + self.log_text.insert(tk.END, self.entry.get(), "green") + + def messageLogger(self): + class StdoutRedirector: + def __init__(self, text_widget, message_type="stdout"): + self.text_widget = text_widget + + if message_type == "stdout": + self.color = "black" + elif message_type == "stderr": + self.color = "red" + + def write(self, message): + self.text_widget.insert(tk.END, message, self.color) + self.text_widget.see(tk.END) + + sys.stdout = StdoutRedirector(self.log_text, message_type="stdout") + sys.stderr = StdoutRedirector(self.log_text, message_type="stderr") + + def initializeServers(self): # Setup HTTP server self.http_server = ThreadingHTTPServer( - (args.server_address, args.port), WebRequestHandler + (self.args.server_address, self.args.port), WebRequestHandler ) - self.http_server.socket.fileno() self.login_server = ThreadingTCPServer(("localhost", 8226), TCPRequestHandler) self.persona_server = ThreadingTCPServer(("localhost", 8228), TCPRequestHandler) @@ -89,36 +119,67 @@ def __init__( self.poller.register(self.mcots_server, POLLIN) print("Registered all sockets") - self.after(1000, self.try_poll) - - def crash(self): - print("Crashing the server") - self.data = 1 / 0 + def parseServerArguments(self): + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="localhost", + help="The address to bind the server to. Default: localhost. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=3000, + help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", + ) + parser.add_argument( + "--external-host", + action=EnvDefault, + envvar="EXTERNAL_HOST", + default="localhost", + help="The external host to tell clients to connect to. Default: localhost. \ + Can be set with the EXTERNAL_HOST environment variable.", + ) + args = parser.parse_args() + return args def shutdown(self): print("Shutting down server") + self.http_server.server_close() + self.login_server.server_close() + self.persona_server.server_close() + self.lobby_server.server_close() + self.mcots_server.server_close() self.quit() - def try_poll(self): + def pollingProcess(self): incoming = self.poller.poll(1) if len(incoming) == 0: - self.after(1000, self.try_poll) + self.after(1000, self.pollingProcess) return for fd, event in incoming: if event == POLLIN: self.handle_incoming(fd) - self.after(1000, self.try_poll) + self.after(1000, self.pollingProcess) def handle_incoming(self, fd): server = self.fdMapper[fd] print(f"Handling incoming connection from {server}") server.handle_request() - def bindings(self): + def registerKeyboardBinding(self): self.master.bind("x", lambda event: self.shutdown()) + # On attempting to focuse on the log_entry widget, the focus will be set to the entry widget + self.log_text.bind("", lambda event: self.entry.focus_set()) + self.entry.bind("", lambda event: self.processUserInput()) def run(self): + self.after(1000, self.pollingProcess) self.mainloop() diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py index 7a0e9b422..59cb4bff5 100644 --- a/projects/server/tests/rusty_motors_server_test.py +++ b/projects/server/tests/rusty_motors_server_test.py @@ -1,9 +1,28 @@ -from unittest.mock import patch +import sys +from tkinter import Text +import unittest +from unittest.mock import MagicMock, patch from server.rusty_motors_server import RustyMotorsServer -def test_shutdown(): - server = RustyMotorsServer() - with patch.object(server, "quit") as mock_quit: +class TestRustyMotorsServer(unittest.TestCase): + def test_shutdown(self): + server = RustyMotorsServer() + with patch.object(server, "quit") as mock_quit: + server.shutdown() + mock_quit.assert_called_once() + + def test_messageLogger(self): + + # Create an instance of RustyMotorsServer + server = RustyMotorsServer() + # Create a mock Text widget + server.log_text = MagicMock(spec=Text) + + # Call the messageLogger method with the mock Text widget + server.messageLogger() + + # Verify that sys.stdout and sys.stderr are redirected to the mock Text widget + self.assertEqual(sys.stdout.text_widget, server.log_text) + self.assertEqual(sys.stderr.text_widget, server.log_text) server.shutdown() - mock_quit.assert_called_once() From 7f5f0d61bbd01d6c4853e4204653fe5c1add4214 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 27 Jun 2024 08:00:02 -0400 Subject: [PATCH 396/452] refactor: add TCPRequestHandler and WebRequestHandler classes The code changes include adding two new classes, `TCPRequestHandler` and `WebRequestHandler`, to handle TCP and web requests respectively. These classes implement the necessary methods to handle incoming requests and perform the required actions. --- .../server/src/server/TCPRequestHandler.py | 9 +++++++ .../server/src/server/WebRequestHandler.py | 10 ++++++++ .../server/src/server/rusty_motors_server.py | 24 ++++--------------- 3 files changed, 24 insertions(+), 19 deletions(-) create mode 100644 projects/server/src/server/TCPRequestHandler.py create mode 100644 projects/server/src/server/WebRequestHandler.py diff --git a/projects/server/src/server/TCPRequestHandler.py b/projects/server/src/server/TCPRequestHandler.py new file mode 100644 index 000000000..c8596f1f6 --- /dev/null +++ b/projects/server/src/server/TCPRequestHandler.py @@ -0,0 +1,9 @@ +from socketserver import BaseRequestHandler + + +class TCPRequestHandler(BaseRequestHandler): + + def handle(self): + print(f"Received connection from {self.client_address}") + data = self.request.recv(1024) + print(f"Received data: {data}") diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py new file mode 100644 index 000000000..bbc20325b --- /dev/null +++ b/projects/server/src/server/WebRequestHandler.py @@ -0,0 +1,10 @@ +from http.server import BaseHTTPRequestHandler + + +class WebRequestHandler(BaseHTTPRequestHandler): + + def do_GET(self): + self.send_response(200) + self.send_header("Content-type", "text/html") + self.end_headers() + self.wfile.write(b"Hello World!") diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index 3e40581e3..fccde283c 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -1,29 +1,15 @@ import argparse import tkinter as tk + +from server.TCPRequestHandler import TCPRequestHandler +from server.WebRequestHandler import WebRequestHandler from .env_default_action import EnvDefault from select import poll, POLLIN -from socketserver import BaseRequestHandler, ThreadingTCPServer -from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer +from socketserver import ThreadingTCPServer +from http.server import ThreadingHTTPServer import sys -class WebRequestHandler(BaseHTTPRequestHandler): - - def do_GET(self): - self.send_response(200) - self.send_header("Content-type", "text/html") - self.end_headers() - self.wfile.write(b"Hello World!") - - -class TCPRequestHandler(BaseRequestHandler): - - def handle(self): - print(f"Received connection from {self.client_address}") - data = self.request.recv(1024) - print(f"Received data: {data}") - - class RustyMotorsServer(tk.Frame): def __init__( self, From 8299f8a6d1f47742ddaf8c90432f93140801f48b Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Thu, 27 Jun 2024 23:54:05 -0400 Subject: [PATCH 397/452] refactor: do not redirect stdout / stderr --- .vscode/settings.json | 5 +- .../server/src/server/rusty_motors_server.py | 123 ++++++++++++------ .../server/tests/rusty_motors_server_test.py | 16 ++- 3 files changed, 96 insertions(+), 48 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 2aad72d94..48fb8d84c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,6 +1,7 @@ { "editor.formatOnSave": true, "editor.codeActionsOnSave": { - "source.organizeImports": "explicit" - } + "source.organizeImports": "explicit" + }, + "python.analysis.typeCheckingMode": "basic" } diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index fccde283c..2c4e34c1b 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -9,15 +9,54 @@ from http.server import ThreadingHTTPServer import sys +root = tk.Tk() + class RustyMotorsServer(tk.Frame): + """ + A class representing the Rusty Motors Server. + + This server provides a graphical user interface (GUI) for controlling and monitoring + various servers used in the Rusty Motors project. + + Args: + master: The master widget. + + Attributes: + args: The parsed server arguments. + http_server: The HTTP server instance. + login_server: The login server instance. + persona_server: The persona server instance. + lobby_server: The lobby server instance. + mcots_server: The MCOTS server instance. + fdMapper: A dictionary mapping file descriptors to server instances. + poller: The poller instance for handling incoming connections. + + Extends: + tk.Frame + """ + def __init__( self, master=None, ): + self.canLog = False + self.args = self.parseServerArguments() - self.initialize_gui_and_servers(master) + try: + self.initialize_gui_and_servers(master) + except Exception as e: + print(e) + sys.exit(1) + + def log(self, message: str, type: str = "info"): + if self.canLog: + self.log_text.insert(tk.END, message, type) + self.log_text.insert(tk.END, "\n", type) + self.log_text.see(tk.END) + else: + print(message) def initialize_gui_and_servers(self, master): self.initialize_gui(master) @@ -29,11 +68,11 @@ def initialize_gui_and_servers(self, master): def initialize_gui(self, master): tk.Frame.__init__(self, master) self.grid() - tk.Wm.title(self.master, "Rusty Motors Server") + root.title("Rusty Motors Server") tk.Label(self, text="Rusty Motors Server").grid(row=0, column=0) tk.Button(self, text="Quit", command=self.shutdown).grid(row=1, column=1) # Create a Label for log messages - self.log = tk.Label(self, text="Log messages will appear here") + self.log_label = tk.Label(self, text="Log messages will appear here") # Create a scrollbar for the log self.scrollbar = tk.Scrollbar(self, orient="vertical") # Create a read-only Text widget to display the log @@ -44,52 +83,49 @@ def initialize_gui(self, master): yscrollcommand=self.scrollbar.set, wrap="word", ) + self.log_text.tag_config("input", foreground="blue") + self.log_text.tag_config("error", foreground="red") # Create an entry widget for user input - self.entry = tk.Entry(self, width=50, invcmd=self.processUserInput) + self.entry = tk.Entry(self, width=50) # Place the widgets on the grid - self.log.grid(row=2, column=0) + self.log_label.grid(row=2, column=0) self.scrollbar.grid(row=3, column=1, sticky="ns") self.log_text.grid(row=3, column=0) self.entry.grid(row=4, column=0) # Configure the scrollbar to scroll the log_text widget self.scrollbar.config(command=self.log_text.yview) - - # Redirect stdout to the log_text widget - self.messageLogger() + self.canLog = True def processUserInput(self): - self.log_text.insert(tk.END, self.entry.get(), "green") - - def messageLogger(self): - class StdoutRedirector: - def __init__(self, text_widget, message_type="stdout"): - self.text_widget = text_widget - - if message_type == "stdout": - self.color = "black" - elif message_type == "stderr": - self.color = "red" - - def write(self, message): - self.text_widget.insert(tk.END, message, self.color) - self.text_widget.see(tk.END) - - sys.stdout = StdoutRedirector(self.log_text, message_type="stdout") - sys.stderr = StdoutRedirector(self.log_text, message_type="stderr") + self.log(f"User input: {self.entry.get()}", "input") + self.entry.delete(0, tk.END) def initializeServers(self): # Setup HTTP server + self.log(f"Starting HTTP server on {self.args.server_address}:{self.args.port}") self.http_server = ThreadingHTTPServer( - (self.args.server_address, self.args.port), WebRequestHandler + (self.args.server_address, int(self.args.port)), WebRequestHandler ) - self.login_server = ThreadingTCPServer(("localhost", 8226), TCPRequestHandler) - self.persona_server = ThreadingTCPServer(("localhost", 8228), TCPRequestHandler) - self.lobby_server = ThreadingTCPServer(("localhost", 7003), TCPRequestHandler) - self.mcots_server = ThreadingTCPServer(("localhost", 43300), TCPRequestHandler) - - self.fdMapper: dict[int, ThreadingHTTPServer | TCPRequestHandler] = { + try: + self.login_server = ThreadingTCPServer( + ("localhost", 8226), TCPRequestHandler + ) + self.persona_server = ThreadingTCPServer( + ("localhost", 8228), TCPRequestHandler + ) + self.lobby_server = ThreadingTCPServer( + ("localhost", 7003), TCPRequestHandler + ) + self.mcots_server = ThreadingTCPServer( + ("localhost", 43300), TCPRequestHandler + ) + except OSError as e: + self.canLog = False + raise Exception(f"Cannot bind to port {e}") + + self.fdMapper: dict[int, ThreadingHTTPServer | ThreadingTCPServer] = { self.http_server.socket.fileno(): self.http_server, self.login_server.fileno(): self.login_server, self.persona_server.fileno(): self.persona_server, @@ -103,7 +139,7 @@ def initializeServers(self): self.poller.register(self.persona_server, POLLIN) self.poller.register(self.lobby_server, POLLIN) self.poller.register(self.mcots_server, POLLIN) - print("Registered all sockets") + self.log("Registered all sockets") def parseServerArguments(self): parser = argparse.ArgumentParser() @@ -134,12 +170,17 @@ def parseServerArguments(self): return args def shutdown(self): - print("Shutting down server") - self.http_server.server_close() - self.login_server.server_close() - self.persona_server.server_close() - self.lobby_server.server_close() - self.mcots_server.server_close() + self.log("Shutting down servers...") + if hasattr(self, "http_server"): + self.http_server.server_close() + if hasattr(self, "login_server"): + self.login_server.server_close() + if hasattr(self, "persona_server"): + self.persona_server.server_close() + if hasattr(self, "lobby_server"): + self.lobby_server.server_close() + if hasattr(self, "mcots_server"): + self.mcots_server.server_close() self.quit() def pollingProcess(self): @@ -157,7 +198,7 @@ def pollingProcess(self): def handle_incoming(self, fd): server = self.fdMapper[fd] - print(f"Handling incoming connection from {server}") + self.log(f"Handling incoming connection from {server}") server.handle_request() def registerKeyboardBinding(self): diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py index 59cb4bff5..9cbdb3397 100644 --- a/projects/server/tests/rusty_motors_server_test.py +++ b/projects/server/tests/rusty_motors_server_test.py @@ -1,4 +1,4 @@ -import sys +import os from tkinter import Text import unittest from unittest.mock import MagicMock, patch @@ -6,7 +6,10 @@ class TestRustyMotorsServer(unittest.TestCase): + def test_shutdown(self): + if "PORT" in os.environ: + del os.environ["PORT"] server = RustyMotorsServer() with patch.object(server, "quit") as mock_quit: server.shutdown() @@ -15,14 +18,17 @@ def test_shutdown(self): def test_messageLogger(self): # Create an instance of RustyMotorsServer + if "PORT" in os.environ: + del os.environ["PORT"] server = RustyMotorsServer() # Create a mock Text widget server.log_text = MagicMock(spec=Text) # Call the messageLogger method with the mock Text widget - server.messageLogger() - # Verify that sys.stdout and sys.stderr are redirected to the mock Text widget - self.assertEqual(sys.stdout.text_widget, server.log_text) - self.assertEqual(sys.stderr.text_widget, server.log_text) + server.log("Hello, World!") + + # Assert that the mock Text widget's insert method was called once + server.log_text.insert.was_called_with(1, "Hello, World!", "black") + server.shutdown() From 9ae3056921757e4191b856aa590371cf157c2bcc Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 01:29:10 -0400 Subject: [PATCH 398/452] Add new ENBF packet definition --- docs/technical/packets.md | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 docs/technical/packets.md diff --git a/docs/technical/packets.md b/docs/technical/packets.md new file mode 100644 index 000000000..423b854d7 --- /dev/null +++ b/docs/technical/packets.md @@ -0,0 +1,26 @@ +# ENBF + +``` +0501013e010100000000013e00227a7551484364613933317558363637653337343741796d78677a3851554b786541630000010043343035314535324242444642323541313836363045323746453731464538384231453138334243314144394141433244324331444436413437393135393734423533394230453139313141353033433142384337374532424643343335464137443243333843433144333238373030344241423637443735343136393036453242413439374246454631363433363833314436424134383343433343453445393432334330423437443231303433303531324144343736463435314238453046333031363238433543453534373538464136334133434345374342413842464432394238314330364346433432313835394435323238423338353841463437000432313736fea31c19 +``` + +```ebnf + ::= + ::= + + ::= "20" | "21" | "22" | "23" | "24" | "25" | "26" | "27" | "28" | "29" | "2A" | "2a" | "2B" | "2b" | "2C" | "2c" | "2D" | "2d" | "2E" | "2e" | "2F" | "2f" | "30" | "31" | "32" | "33" | "34" | "35" | "36" | "37" | "38" | "39" | "3A" | "3a" | "3B" | "3b" | "3C" | "3c" | "3D" | "3d" | "3E" | "3e" | "3F" | "3f" | "40" | "41" | "42" | "43" | "44" | "45" | "46" | "47" | "48" | "49" | "4A" | "4a" | "4B" | "4b" | "4C" | "4c" | "4D" | "4d" | "4E" | "4e" | "4F" | "4f" | "50" | "51" | "52" | "53" | "54" | "55" | "56" | "57" | "58" | "59" | "5A" | "5a" | "5B" | "5b" | "5C" | "5c" | "5D" | "5d" | "5E" | "5e" | "5F" | "5f" | "60" | "61" | "62" | "63" | "64" | "65" | "66" | "67" | "68" | "69" | "6A" | "6a" | "6B" | "6b" | "6C" | "6c" | "6D" | "6d" | "6E" | "6e" | "6F" | "6f" | "70" | "71" | "72" | "73" | "74" | "75" | "76" | "77" | "78" | "79" | "7A" | "7a" | "7B" | "7b" | "7C" | "7c" | "7D" | "7d" | "7E" | "7e" | "7F" | "7f" + ::= + ::= | + ::= + ::= + ::= + ::= "0000" + ::= + ::= "0101" + ::= "0000" + ::= + ::= + ::= + ::= + ::= + ::= [0-9] | [A-F] | [a-f] +``` From a909bc92d3a9177d84b4f03b3ad97cffadc26835 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 07:43:54 -0400 Subject: [PATCH 399/452] refactor: add parseServerArguments function The code changes include adding a new function, `parseServerArguments`, which parses the server arguments using the `argparse` module. This function allows for customization of the server address, port, and external host through command-line arguments or environment variables. --- .../server/src/server/WebRequestHandler.py | 6 ++ .../server/src/server/parseServerArguments.py | 33 +++++++++ .../server/src/server/rusty_motors_server.py | 70 ++++++------------- projects/server/src/server/setupTCPServer.py | 13 ++++ projects/server/src/server/tkservers.py | 21 ++++++ .../server/tests/rusty_motors_server_test.py | 18 +++-- rm-server.py | 4 +- 7 files changed, 108 insertions(+), 57 deletions(-) create mode 100644 projects/server/src/server/parseServerArguments.py create mode 100644 projects/server/src/server/setupTCPServer.py create mode 100644 projects/server/src/server/tkservers.py diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py index bbc20325b..80c5f63db 100644 --- a/projects/server/src/server/WebRequestHandler.py +++ b/projects/server/src/server/WebRequestHandler.py @@ -1,9 +1,15 @@ from http.server import BaseHTTPRequestHandler +from typing import Any class WebRequestHandler(BaseHTTPRequestHandler): + def log_message(self, format: str, *args: Any) -> None: + print(f"Reccieved request: {format % args}") + return super().log_message(format, *args) + def do_GET(self): + self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() diff --git a/projects/server/src/server/parseServerArguments.py b/projects/server/src/server/parseServerArguments.py new file mode 100644 index 000000000..91f746921 --- /dev/null +++ b/projects/server/src/server/parseServerArguments.py @@ -0,0 +1,33 @@ +from server.env_default_action import EnvDefault + + +import argparse + + +def parseServerArguments(): + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="0.0.0.0", + help="The address to bind the server to. Default: 0.0.0.0. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=3000, + help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", + ) + parser.add_argument( + "--external-host", + action=EnvDefault, + envvar="EXTERNAL_HOST", + default="localhost", + help="The external host to tell clients to connect to. Default: localhost. \ + Can be set with the EXTERNAL_HOST environment variable.", + ) + args = parser.parse_args() + return args diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index 2c4e34c1b..5b9653941 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -1,9 +1,9 @@ -import argparse import tkinter as tk from server.TCPRequestHandler import TCPRequestHandler from server.WebRequestHandler import WebRequestHandler -from .env_default_action import EnvDefault +from server.setupTCPServer import setupTCPServer +from server.tkservers import tkHTTPServer from select import poll, POLLIN from socketserver import ThreadingTCPServer from http.server import ThreadingHTTPServer @@ -38,11 +38,13 @@ class RustyMotorsServer(tk.Frame): def __init__( self, + args, master=None, ): self.canLog = False + self.poll_interval = 100 - self.args = self.parseServerArguments() + self.args = args try: self.initialize_gui_and_servers(master) @@ -104,23 +106,18 @@ def processUserInput(self): def initializeServers(self): # Setup HTTP server self.log(f"Starting HTTP server on {self.args.server_address}:{self.args.port}") - self.http_server = ThreadingHTTPServer( - (self.args.server_address, int(self.args.port)), WebRequestHandler + self.http_server = tkHTTPServer( + (self.args.server_address, int(self.args.port)), WebRequestHandler, self ) + self.http_server.allow_reuse_address = True + self.http_server.server_bind() + self.http_server.socket.listen(5) try: - self.login_server = ThreadingTCPServer( - ("localhost", 8226), TCPRequestHandler - ) - self.persona_server = ThreadingTCPServer( - ("localhost", 8228), TCPRequestHandler - ) - self.lobby_server = ThreadingTCPServer( - ("localhost", 7003), TCPRequestHandler - ) - self.mcots_server = ThreadingTCPServer( - ("localhost", 43300), TCPRequestHandler - ) + self.login_server = setupTCPServer(self, 8226, TCPRequestHandler) + self.persona_server = setupTCPServer(self, 8228, TCPRequestHandler) + self.lobby_server = setupTCPServer(self, 7003, TCPRequestHandler) + self.mcots_server = setupTCPServer(self, 43300, TCPRequestHandler) except OSError as e: self.canLog = False raise Exception(f"Cannot bind to port {e}") @@ -141,34 +138,6 @@ def initializeServers(self): self.poller.register(self.mcots_server, POLLIN) self.log("Registered all sockets") - def parseServerArguments(self): - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="localhost", - help="The address to bind the server to. Default: localhost. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=3000, - help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", - ) - parser.add_argument( - "--external-host", - action=EnvDefault, - envvar="EXTERNAL_HOST", - default="localhost", - help="The external host to tell clients to connect to. Default: localhost. \ - Can be set with the EXTERNAL_HOST environment variable.", - ) - args = parser.parse_args() - return args - def shutdown(self): self.log("Shutting down servers...") if hasattr(self, "http_server"): @@ -187,18 +156,21 @@ def pollingProcess(self): incoming = self.poller.poll(1) if len(incoming) == 0: - self.after(1000, self.pollingProcess) + self.checkServersForData() return for fd, event in incoming: if event == POLLIN: self.handle_incoming(fd) - self.after(1000, self.pollingProcess) + self.checkServersForData() + + def checkServersForData(self): + self.after(self.poll_interval, self.pollingProcess) def handle_incoming(self, fd): server = self.fdMapper[fd] - self.log(f"Handling incoming connection from {server}") + self.log(f"Handling incoming connection on port {server.server_address[1]}") server.handle_request() def registerKeyboardBinding(self): @@ -208,5 +180,5 @@ def registerKeyboardBinding(self): self.entry.bind("", lambda event: self.processUserInput()) def run(self): - self.after(1000, self.pollingProcess) + self.checkServersForData() self.mainloop() diff --git a/projects/server/src/server/setupTCPServer.py b/projects/server/src/server/setupTCPServer.py new file mode 100644 index 000000000..4f7117f82 --- /dev/null +++ b/projects/server/src/server/setupTCPServer.py @@ -0,0 +1,13 @@ +from server.TCPRequestHandler import TCPRequestHandler +from server.tkservers import tkTCPServer + + +import tkinter as tk + + +def setupTCPServer(tkApp: tk.Frame, port: int, handler) -> tkTCPServer: + server = tkTCPServer(("localhost", port), TCPRequestHandler, tkApp) + server.allow_reuse_address = True + server.server_bind() + server.socket.listen(5) + return server diff --git a/projects/server/src/server/tkservers.py b/projects/server/src/server/tkservers.py new file mode 100644 index 000000000..6ab19ca02 --- /dev/null +++ b/projects/server/src/server/tkservers.py @@ -0,0 +1,21 @@ +from http.server import ThreadingHTTPServer +from socketserver import ThreadingTCPServer +import tkinter as tk + + +class tkTCPServer(ThreadingTCPServer): + def __init__(self, server_address, RequestHandlerClass, app: tk.Frame): + super().__init__(server_address, RequestHandlerClass, False) + self.app = app + + def fileno(self): + return self.socket.fileno() + + +class tkHTTPServer(ThreadingHTTPServer): + def __init__(self, server_address, RequestHandlerClass, app: tk.Frame): + super().__init__(server_address, RequestHandlerClass, False) + self.app = app + + def fileno(self): + return self.socket.fileno() diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py index 9cbdb3397..3c4c03949 100644 --- a/projects/server/tests/rusty_motors_server_test.py +++ b/projects/server/tests/rusty_motors_server_test.py @@ -1,4 +1,4 @@ -import os +from argparse import Namespace from tkinter import Text import unittest from unittest.mock import MagicMock, patch @@ -8,9 +8,11 @@ class TestRustyMotorsServer(unittest.TestCase): def test_shutdown(self): - if "PORT" in os.environ: - del os.environ["PORT"] - server = RustyMotorsServer() + args: Namespace = Namespace( + server_address="localhost", + port="3000", + ) + server = RustyMotorsServer(args) with patch.object(server, "quit") as mock_quit: server.shutdown() mock_quit.assert_called_once() @@ -18,9 +20,11 @@ def test_shutdown(self): def test_messageLogger(self): # Create an instance of RustyMotorsServer - if "PORT" in os.environ: - del os.environ["PORT"] - server = RustyMotorsServer() + args: Namespace = Namespace( + server_address="localhost", + port="3000", + ) + server = RustyMotorsServer(args) # Create a mock Text widget server.log_text = MagicMock(spec=Text) diff --git a/rm-server.py b/rm-server.py index 83e2d61f4..57268f2c5 100755 --- a/rm-server.py +++ b/rm-server.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 +from server.parseServerArguments import parseServerArguments from server.rusty_motors_server import RustyMotorsServer import sentry_sdk @@ -23,7 +24,8 @@ def main(): print("Hello World!") - server = RustyMotorsServer() + args = parseServerArguments() + server = RustyMotorsServer(args) if server is not None: server.run() else: From d7b1ae0fb5bf945427171ae5ab9ee594a550f8b8 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 07:50:10 -0400 Subject: [PATCH 400/452] chore: add tcl to deps --- pdm.lock | 12 +++++++++++- pyproject.toml | 2 ++ requirements.txt | 1 + 3 files changed, 14 insertions(+), 1 deletion(-) diff --git a/pdm.lock b/pdm.lock index b31334593..a21484919 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:a51a969fdb16ce77cf2e4229775b327a7175f98c20012fdaaf213c10436dcf17" +content_hash = "sha256:85eec41edb2e4e86f8375106df6fc98a12af2a70c8e4515a9f25c197ab20898d" [[package]] name = "black" @@ -356,6 +356,16 @@ path = "./projects/server" summary = "Default template for PDM package" groups = ["default", "dev"] +[[package]] +name = "tcl" +version = "0.2" +summary = "A coding language used for Graphical user interface" +groups = ["default", "dev"] +files = [ + {file = "Tcl-0.2-py3-none-any.whl", hash = "sha256:482e8147ed4c07563a621ffa5be874574527a9d60f5c3e9917b1f4079c5b27e5"}, + {file = "Tcl-0.2.tar.gz", hash = "sha256:395f69c382dedf29f88b6cce9114024528fce7f073d7b84eaefa9b608f3ea193"}, +] + [[package]] name = "urllib3" version = "2.2.2" diff --git a/pyproject.toml b/pyproject.toml index 9ddd81704..f9818f800 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] dependencies = [ "server @ file:///${PROJECT_ROOT}/projects/server", "sentry-sdk>=2.7.0", + "Tcl>=0.2", ] requires-python = "==3.12.*" readme = "README.md" @@ -36,6 +37,7 @@ dev = [ "black>=24.4.2", "flake8>=7.1.0", "flake8-black>=0.3.6", + "Tcl>=0.2", ] test = ["pytest>=8.2.2", "coverage>=7.5.3"] diff --git a/requirements.txt b/requirements.txt index a0b258b71..2217b44e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,5 +28,6 @@ pyyaml==6.0.1 sentry-sdk==2.7.0 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server +tcl==0.2 urllib3==2.2.2 virtualenv==20.26.3 From 3e6b2f2e01d8d7b6400fb98d01fc8147419d4542 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 07:52:42 -0400 Subject: [PATCH 401/452] chore: document parseServerArguments function --- projects/server/src/server/parseServerArguments.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/projects/server/src/server/parseServerArguments.py b/projects/server/src/server/parseServerArguments.py index 91f746921..a8a7a113f 100644 --- a/projects/server/src/server/parseServerArguments.py +++ b/projects/server/src/server/parseServerArguments.py @@ -5,6 +5,12 @@ def parseServerArguments(): + """ + Parse the command line arguments for the server. + + Returns: + args (argparse.Namespace): The parsed command line arguments. + """ parser = argparse.ArgumentParser() parser.add_argument( "--server-address", From c4020af6a5e7f7dadc62a11c65c455a5b598c0b0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:10:51 -0400 Subject: [PATCH 402/452] refactor: update python version to 3.11 --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 73a911f12..4c9f49d52 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: [3.8, 3.9, '3.10', '3.11'] + python-version: ['3.11'] os: [ubuntu-latest, macOS-latest, windows-latest] steps: From b29bc0e4e3f766850b9b78e7c7c66f4b9b3dfcda Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 28 Jun 2024 08:12:48 -0400 Subject: [PATCH 403/452] Update projects/server/src/server/WebRequestHandler.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- projects/server/src/server/WebRequestHandler.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py index 80c5f63db..b9e135dc0 100644 --- a/projects/server/src/server/WebRequestHandler.py +++ b/projects/server/src/server/WebRequestHandler.py @@ -9,7 +9,13 @@ def log_message(self, format: str, *args: Any) -> None: return super().log_message(format, *args) def do_GET(self): - +try: + self.send_response(200) + self.send_header("Content-type", "text/html") + self.end_headers() + self.wfile.write(b"Hello World!") +except Exception as e: + self.send_error(500, f"Server error: {e}") self.send_response(200) self.send_header("Content-type", "text/html") self.end_headers() From 1577a94c78af1dd72de571017132059db4873802 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:28:57 -0400 Subject: [PATCH 404/452] refactor: Improve logging in TCPRequestHandler and WebRequestHandler The code changes include improving the logging functionality in the `TCPRequestHandler` and `WebRequestHandler` classes. The `log_message` method has been updated to check if logging is enabled before logging the message. This change ensures that log messages are only printed when the `canLog` attribute is set to `True`. This enhancement improves the overall logging experience and allows for better control over the verbosity of log messages. --- .../server/src/server/TCPRequestHandler.py | 11 +++++- .../server/src/server/WebRequestHandler.py | 22 +++++------ .../server/src/server/parseServerArguments.py | 39 ------------------- .../server/src/server/rusty_motors_server.py | 37 +++++++++++++++++- rm-server.py | 9 ++--- 5 files changed, 58 insertions(+), 60 deletions(-) delete mode 100644 projects/server/src/server/parseServerArguments.py diff --git a/projects/server/src/server/TCPRequestHandler.py b/projects/server/src/server/TCPRequestHandler.py index c8596f1f6..9179087b7 100644 --- a/projects/server/src/server/TCPRequestHandler.py +++ b/projects/server/src/server/TCPRequestHandler.py @@ -1,9 +1,16 @@ from socketserver import BaseRequestHandler +from typing import Any class TCPRequestHandler(BaseRequestHandler): + def log_message(self, format: str, *args: Any) -> None: + if self.server.app.canLog: # type: ignore + self.server.app.log(format % args) # type: ignore + else: + print(format % args) + def handle(self): - print(f"Received connection from {self.client_address}") + self.log_message(f"Connection from {self.client_address}") data = self.request.recv(1024) - print(f"Received data: {data}") + self.log_message(f"Received {data}") diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py index b9e135dc0..9a1bb2564 100644 --- a/projects/server/src/server/WebRequestHandler.py +++ b/projects/server/src/server/WebRequestHandler.py @@ -5,18 +5,16 @@ class WebRequestHandler(BaseHTTPRequestHandler): def log_message(self, format: str, *args: Any) -> None: - print(f"Reccieved request: {format % args}") + if self.server.app.canLog: # type: ignore + self.server.app.log(format % args) # type: ignore return super().log_message(format, *args) def do_GET(self): -try: - self.send_response(200) - self.send_header("Content-type", "text/html") - self.end_headers() - self.wfile.write(b"Hello World!") -except Exception as e: - self.send_error(500, f"Server error: {e}") - self.send_response(200) - self.send_header("Content-type", "text/html") - self.end_headers() - self.wfile.write(b"Hello World!") + try: + self.send_response(200) + self.send_header("Content-type", "text/html") + self.end_headers() + self.wfile.write(b"Hello World!") + except Exception as e: + self.send_error(500, f"Server error: {e}") + return diff --git a/projects/server/src/server/parseServerArguments.py b/projects/server/src/server/parseServerArguments.py deleted file mode 100644 index a8a7a113f..000000000 --- a/projects/server/src/server/parseServerArguments.py +++ /dev/null @@ -1,39 +0,0 @@ -from server.env_default_action import EnvDefault - - -import argparse - - -def parseServerArguments(): - """ - Parse the command line arguments for the server. - - Returns: - args (argparse.Namespace): The parsed command line arguments. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="0.0.0.0", - help="The address to bind the server to. Default: 0.0.0.0. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=3000, - help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", - ) - parser.add_argument( - "--external-host", - action=EnvDefault, - envvar="EXTERNAL_HOST", - default="localhost", - help="The external host to tell clients to connect to. Default: localhost. \ - Can be set with the EXTERNAL_HOST environment variable.", - ) - args = parser.parse_args() - return args diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py index 5b9653941..4f6468736 100644 --- a/projects/server/src/server/rusty_motors_server.py +++ b/projects/server/src/server/rusty_motors_server.py @@ -1,7 +1,9 @@ +import argparse import tkinter as tk from server.TCPRequestHandler import TCPRequestHandler from server.WebRequestHandler import WebRequestHandler +from server.env_default_action import EnvDefault from server.setupTCPServer import setupTCPServer from server.tkservers import tkHTTPServer from select import poll, POLLIN @@ -44,7 +46,7 @@ def __init__( self.canLog = False self.poll_interval = 100 - self.args = args + self.args = args or self.parse_args() try: self.initialize_gui_and_servers(master) @@ -52,6 +54,39 @@ def __init__( print(e) sys.exit(1) + def parse_args(self): + """ + Parse the command line arguments for the server. + + Returns: + args (argparse.Namespace): The parsed command line arguments. + """ + parser = argparse.ArgumentParser() + parser.add_argument( + "--server-address", + action=EnvDefault, + envvar="SERVER_ADDRESS", + default="0.0.0.0", + help="The address to bind the server to. Default: 0.0.0.0. \ + Can be set with the SERVER_ADDRESS environment variable.", + ) + parser.add_argument( + "--port", + action=EnvDefault, + envvar="PORT", + default=3000, + help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", + ) + parser.add_argument( + "--external-host", + action=EnvDefault, + envvar="EXTERNAL_HOST", + default="localhost", + help="The external host to tell clients to connect to. Default: localhost. \ + Can be set with the EXTERNAL_HOST environment variable.", + ) + return parser.parse_args() + def log(self, message: str, type: str = "info"): if self.canLog: self.log_text.insert(tk.END, message, type) diff --git a/rm-server.py b/rm-server.py index 57268f2c5..94bebb1bd 100755 --- a/rm-server.py +++ b/rm-server.py @@ -1,7 +1,6 @@ #!/usr/bin/env python3 -from server.parseServerArguments import parseServerArguments from server.rusty_motors_server import RustyMotorsServer import sentry_sdk @@ -24,13 +23,11 @@ def main(): print("Hello World!") - args = parseServerArguments() - server = RustyMotorsServer(args) - if server is not None: - server.run() - else: + server = RustyMotorsServer({}) + if server is None: print("Unable to start server.") exit(1) + server.run() if __name__ == "__main__": From b85930adc5558da34c2c203dc44bf9a821ed7d38 Mon Sep 17 00:00:00 2001 From: Molly Crendraven Date: Fri, 28 Jun 2024 08:37:40 -0400 Subject: [PATCH 405/452] Update projects/server/tests/rusty_motors_server_test.py Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- projects/server/tests/rusty_motors_server_test.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py index 3c4c03949..64631241f 100644 --- a/projects/server/tests/rusty_motors_server_test.py +++ b/projects/server/tests/rusty_motors_server_test.py @@ -25,6 +25,8 @@ def test_messageLogger(self): port="3000", ) server = RustyMotorsServer(args) + # Assuming the assertion line comes after the server initialization + server.log_text.insert.assert_called_with(1, "Hello, World!", "black") # Create a mock Text widget server.log_text = MagicMock(spec=Text) From 11abaf21e4f0597f6178a9268e021f509a04bf99 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:39:19 -0400 Subject: [PATCH 406/452] refactor: Update Tcl dependency to version 0.2 for default group --- pdm.lock | 4 ++-- pyproject.toml | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/pdm.lock b/pdm.lock index a21484919..435f239ad 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:85eec41edb2e4e86f8375106df6fc98a12af2a70c8e4515a9f25c197ab20898d" +content_hash = "sha256:18ce770ecb889163772a756e60c5d1bcb3e83d9e4889c1ebb8f0c6a5c299949a" [[package]] name = "black" @@ -360,7 +360,7 @@ groups = ["default", "dev"] name = "tcl" version = "0.2" summary = "A coding language used for Graphical user interface" -groups = ["default", "dev"] +groups = ["default"] files = [ {file = "Tcl-0.2-py3-none-any.whl", hash = "sha256:482e8147ed4c07563a621ffa5be874574527a9d60f5c3e9917b1f4079c5b27e5"}, {file = "Tcl-0.2.tar.gz", hash = "sha256:395f69c382dedf29f88b6cce9114024528fce7f073d7b84eaefa9b608f3ea193"}, diff --git a/pyproject.toml b/pyproject.toml index f9818f800..bbbd37228 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -37,7 +37,6 @@ dev = [ "black>=24.4.2", "flake8>=7.1.0", "flake8-black>=0.3.6", - "Tcl>=0.2", ] test = ["pytest>=8.2.2", "coverage>=7.5.3"] From 9a05f7e629480b8dfefec599e4bb2e7de752dedf Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:40:15 -0400 Subject: [PATCH 407/452] refactor: Update Tcl dependency to version 0.2 for default group --- pdm.lock | 12 +----------- pyproject.toml | 1 - requirements.txt | 1 - 3 files changed, 1 insertion(+), 13 deletions(-) diff --git a/pdm.lock b/pdm.lock index 435f239ad..b31334593 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:18ce770ecb889163772a756e60c5d1bcb3e83d9e4889c1ebb8f0c6a5c299949a" +content_hash = "sha256:a51a969fdb16ce77cf2e4229775b327a7175f98c20012fdaaf213c10436dcf17" [[package]] name = "black" @@ -356,16 +356,6 @@ path = "./projects/server" summary = "Default template for PDM package" groups = ["default", "dev"] -[[package]] -name = "tcl" -version = "0.2" -summary = "A coding language used for Graphical user interface" -groups = ["default"] -files = [ - {file = "Tcl-0.2-py3-none-any.whl", hash = "sha256:482e8147ed4c07563a621ffa5be874574527a9d60f5c3e9917b1f4079c5b27e5"}, - {file = "Tcl-0.2.tar.gz", hash = "sha256:395f69c382dedf29f88b6cce9114024528fce7f073d7b84eaefa9b608f3ea193"}, -] - [[package]] name = "urllib3" version = "2.2.2" diff --git a/pyproject.toml b/pyproject.toml index bbbd37228..9ddd81704 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,6 @@ authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] dependencies = [ "server @ file:///${PROJECT_ROOT}/projects/server", "sentry-sdk>=2.7.0", - "Tcl>=0.2", ] requires-python = "==3.12.*" readme = "README.md" diff --git a/requirements.txt b/requirements.txt index 2217b44e0..a0b258b71 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,6 +28,5 @@ pyyaml==6.0.1 sentry-sdk==2.7.0 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server -tcl==0.2 urllib3==2.2.2 virtualenv==20.26.3 From b36ca60aa746a1b72b3d80542c37fc77268680ef Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:41:52 -0400 Subject: [PATCH 408/452] Revert "Update projects/server/tests/rusty_motors_server_test.py" This reverts commit b85930adc5558da34c2c203dc44bf9a821ed7d38. --- projects/server/tests/rusty_motors_server_test.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py index 64631241f..3c4c03949 100644 --- a/projects/server/tests/rusty_motors_server_test.py +++ b/projects/server/tests/rusty_motors_server_test.py @@ -25,8 +25,6 @@ def test_messageLogger(self): port="3000", ) server = RustyMotorsServer(args) - # Assuming the assertion line comes after the server initialization - server.log_text.insert.assert_called_with(1, "Hello, World!", "black") # Create a mock Text widget server.log_text = MagicMock(spec=Text) From 16bd4f64542bd74fc8619a4e515d342f37294667 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:49:18 -0400 Subject: [PATCH 409/452] refactor: Remove unnecessary code in rm-server.py --- rm-server.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/rm-server.py b/rm-server.py index 94bebb1bd..de4e2dda0 100755 --- a/rm-server.py +++ b/rm-server.py @@ -24,9 +24,6 @@ def main(): print("Hello World!") server = RustyMotorsServer({}) - if server is None: - print("Unable to start server.") - exit(1) server.run() From 236e341fada0d38e7a5cce9808cc64cb293b3010 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 08:54:03 -0400 Subject: [PATCH 410/452] refactor: Update setupTCPServer to allow custom handler --- projects/server/src/server/setupTCPServer.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/projects/server/src/server/setupTCPServer.py b/projects/server/src/server/setupTCPServer.py index 4f7117f82..f792fbdc6 100644 --- a/projects/server/src/server/setupTCPServer.py +++ b/projects/server/src/server/setupTCPServer.py @@ -5,8 +5,10 @@ import tkinter as tk -def setupTCPServer(tkApp: tk.Frame, port: int, handler) -> tkTCPServer: - server = tkTCPServer(("localhost", port), TCPRequestHandler, tkApp) +def setupTCPServer( + tkApp: tk.Frame, port: int, handler=TCPRequestHandler +) -> tkTCPServer: + server = tkTCPServer(("localhost", port), handler, tkApp) server.allow_reuse_address = True server.server_bind() server.socket.listen(5) From 49a1848709108e675f8b35ae60bb0354546b4c2c Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 09:11:51 -0400 Subject: [PATCH 411/452] refactor: Update Tcl dependency to version 0.2 for default group --- pdm.lock | 12 +++++++++++- pyproject.toml | 1 + requirements.txt | 1 + 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/pdm.lock b/pdm.lock index b31334593..435f239ad 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:a51a969fdb16ce77cf2e4229775b327a7175f98c20012fdaaf213c10436dcf17" +content_hash = "sha256:18ce770ecb889163772a756e60c5d1bcb3e83d9e4889c1ebb8f0c6a5c299949a" [[package]] name = "black" @@ -356,6 +356,16 @@ path = "./projects/server" summary = "Default template for PDM package" groups = ["default", "dev"] +[[package]] +name = "tcl" +version = "0.2" +summary = "A coding language used for Graphical user interface" +groups = ["default"] +files = [ + {file = "Tcl-0.2-py3-none-any.whl", hash = "sha256:482e8147ed4c07563a621ffa5be874574527a9d60f5c3e9917b1f4079c5b27e5"}, + {file = "Tcl-0.2.tar.gz", hash = "sha256:395f69c382dedf29f88b6cce9114024528fce7f073d7b84eaefa9b608f3ea193"}, +] + [[package]] name = "urllib3" version = "2.2.2" diff --git a/pyproject.toml b/pyproject.toml index 9ddd81704..0ccbb6397 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,6 +6,7 @@ authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] dependencies = [ "server @ file:///${PROJECT_ROOT}/projects/server", "sentry-sdk>=2.7.0", + "Tcl>=0.2", # Needed for tkinter to work correctly ] requires-python = "==3.12.*" readme = "README.md" diff --git a/requirements.txt b/requirements.txt index a0b258b71..2217b44e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -28,5 +28,6 @@ pyyaml==6.0.1 sentry-sdk==2.7.0 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server +tcl==0.2 urllib3==2.2.2 virtualenv==20.26.3 From 27925d426ae6896c5a6eb2fc2676523c2c5a0508 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:18:38 -0400 Subject: [PATCH 412/452] refactor: Improve logging in TCPRequestHandler and WebRequestHandler --- .../server/src/server/WebRequestHandler.py | 68 ++++++++++++++++--- 1 file changed, 59 insertions(+), 9 deletions(-) diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py index 9a1bb2564..920bc5eeb 100644 --- a/projects/server/src/server/WebRequestHandler.py +++ b/projects/server/src/server/WebRequestHandler.py @@ -2,19 +2,69 @@ from typing import Any +class AuthLoginHandler: + + def __init__(self, request_handler: BaseHTTPRequestHandler, app: Any): + self.request_handler = request_handler + self.app = app + + def do_GET(self): + + print("AuthLoginHandler") + print(self.request_handler.query) # type: ignore + + self.request_handler.send_response(200) + self.request_handler.send_header("Content-type", "text/html") + self.request_handler.end_headers() + self.request_handler.wfile.write(b"Hello, world!") + + +urls = { + "/AuthLogin": AuthLoginHandler, +} + + class WebRequestHandler(BaseHTTPRequestHandler): def log_message(self, format: str, *args: Any) -> None: if self.server.app.canLog: # type: ignore self.server.app.log(format % args) # type: ignore - return super().log_message(format, *args) + else: + super().log_message(format, *args) + + def do_POST(self): + pass + + def do_PUT(self): + pass + + def do_DELETE(self): + pass + + def do_HEAD(self): + pass def do_GET(self): - try: - self.send_response(200) - self.send_header("Content-type", "text/html") - self.end_headers() - self.wfile.write(b"Hello World!") - except Exception as e: - self.send_error(500, f"Server error: {e}") - return + + self.query = dict() + + query = dict() + if "?" in self.path: + self.extract_query_params(query) + + if self.path in urls: + try: + self.log_message(f"GET request,\nPath: {self.path}\n") + handler = urls[self.path] + handler(self, self.server.app).do_GET() # type: ignore + except Exception as e: + if self.server.app.canLog: # type: ignore + self.server.app.log(f"Server error: {e}") # type: ignore + self.send_error(500, "Server error") + + def extract_query_params(self, query): + self.path, query_string = self.path.split("?", 1) + for key_value in query_string.split("&"): + key, value = key_value.split("=") + query[key] = value + self.query = query From ec34d7c43170d81ac44db8ae89ac5f672a129d65 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:27:27 -0400 Subject: [PATCH 413/452] refactor: Add tk dependency and update setupTCPServer to allow custom handler The code changes include adding the `tk` dependency and updating the `setupTCPServer` function to allow a custom handler. The `apt update && apt install -y tk` command has been added to install the `tk` package. Additionally, the `allowed_backlog` variable has been introduced to specify the backlog size for the server socket. These changes enhance the functionality and flexibility of the TCP server setup. --- .github/workflows/python.yaml | 1 + projects/server/src/server/setupTCPServer.py | 4 +++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 4c9f49d52..b6de66ed9 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -27,6 +27,7 @@ jobs: - name: Install dependencies run: | + apt update && apt install -y tk pdm sync -d -G test - name: Run Tests run: | diff --git a/projects/server/src/server/setupTCPServer.py b/projects/server/src/server/setupTCPServer.py index f792fbdc6..0ffdc998a 100644 --- a/projects/server/src/server/setupTCPServer.py +++ b/projects/server/src/server/setupTCPServer.py @@ -4,6 +4,8 @@ import tkinter as tk +allowed_backlog = 5 + def setupTCPServer( tkApp: tk.Frame, port: int, handler=TCPRequestHandler @@ -11,5 +13,5 @@ def setupTCPServer( server = tkTCPServer(("localhost", port), handler, tkApp) server.allow_reuse_address = True server.server_bind() - server.socket.listen(5) + server.socket.listen(allowed_backlog) return server From 38a1480a03e404ae3b60a7ea86b899dfc87176fb Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:44:57 -0400 Subject: [PATCH 414/452] ```text refactor: Update setupTCPServer to install tk package and allow custom handler The code changes include updating the `setupTCPServer` function to install the `tk` package by running `sudo apt update && sudo apt install -y tcl tk`. This change enhances the functionality of the TCP server setup. Additionally, the function now allows for a custom handler. --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index b6de66ed9..4ca9a41cb 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -27,7 +27,7 @@ jobs: - name: Install dependencies run: | - apt update && apt install -y tk + sudo apt update && sudo apt install -y tcl tk pdm sync -d -G test - name: Run Tests run: | From 22cb5d1f0e8fcf166582a9bb0b8747cf73437284 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:49:25 -0400 Subject: [PATCH 415/452] ```text refactor: Update python version to 3.12 in GitHub Actions workflow The GitHub Actions workflow file `python.yaml` has been updated to use Python version 3.12 instead of 3.11. This change ensures that the workflow runs with the latest Python version. The matrix strategy has been updated accordingly to include the new Python version. --- .github/workflows/python.yaml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 4ca9a41cb..c4bdec008 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -15,7 +15,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python-version: ['3.11'] + python-version: ['3.12'] os: [ubuntu-latest, macOS-latest, windows-latest] steps: @@ -27,7 +27,6 @@ jobs: - name: Install dependencies run: | - sudo apt update && sudo apt install -y tcl tk pdm sync -d -G test - name: Run Tests run: | From 8bbc9093c7b931a5af675e5fbf8a52e4ea472314 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:52:13 -0400 Subject: [PATCH 416/452] chore: Add DISPLAY environment variable to GitHub Actions workflow The `.github/workflows/python.yaml` file has been modified to include the `DISPLAY` environment variable with a value of `0.0`. This change is necessary to ensure proper display functionality in the workflow. --- .github/workflows/python.yaml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index c4bdec008..b2ddf1541 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -31,3 +31,5 @@ jobs: - name: Run Tests run: | pdm test + env: + DISPLAY: 0.0 From 7124890f44e903841a38d1e9e414624a33f718c7 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 20:58:02 -0400 Subject: [PATCH 417/452] refactor: Update GitHub Actions workflow to use xvfb for running tests The `.github/workflows/python.yaml` file has been modified to use the `coactions/setup-xvfb` action for running tests. This change ensures proper display functionality in the workflow by setting up a virtual framebuffer. The `pdm test` command is now executed within the `setup-xvfb` action. --- .github/workflows/python.yaml | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index b2ddf1541..3e56ecd57 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -29,7 +29,6 @@ jobs: run: | pdm sync -d -G test - name: Run Tests - run: | - pdm test - env: - DISPLAY: 0.0 + uses: coactions/setup-xvfb@v1 + with: + run: pdm test From d3c98a729e8ad26bc137ead55aa1f2af81ae59e9 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 28 Jun 2024 21:00:57 -0400 Subject: [PATCH 418/452] refactor: Update GitHub Actions workflow to use xvfb for running tests --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index 3e56ecd57..c3eb105eb 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -16,7 +16,7 @@ jobs: strategy: matrix: python-version: ['3.12'] - os: [ubuntu-latest, macOS-latest, windows-latest] + os: [ubuntu-latest, macOS-latest] steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 From f14ab789bb784ca9731ffd8d4e36ccc6fa46613a Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 01:18:23 +0000 Subject: [PATCH 419/452] chore(deps): update dependency nx to v19.3.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 93c9db4d5..7b257805e 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,6 @@ "schema" ], "devDependencies": { - "nx": "19.3.1" + "nx": "19.3.2" } } From 8acecacbf2fac152731423777619dc468833b101 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 01:18:25 +0000 Subject: [PATCH 420/452] chore(deps): update dependency sentry-sdk to v2.7.1 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 2217b44e0..95503480c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -25,7 +25,7 @@ pycodestyle==2.12.0 pyflakes==3.2.0 pytest==8.2.2 pyyaml==6.0.1 -sentry-sdk==2.7.0 +sentry-sdk==2.7.1 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server tcl==0.2 From c8b23642a05fffaeb4637e92e1ab82e3fa6e3089 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:12:13 +0000 Subject: [PATCH 421/452] chore(deps): update actions/checkout digest to 692973e --- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/main.yml | 2 +- .github/workflows/node.yml | 2 +- .github/workflows/release.yml | 2 +- .github/workflows/semgrep.yml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f31c62604..f2ec54beb 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -39,7 +39,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 403880ece..87ae1ba9d 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -10,7 +10,7 @@ jobs: release-sentry: runs-on: ubuntu-latest steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: fetch-depth: 0 diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 6576bd1b8..0cee4d445 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -20,7 +20,7 @@ jobs: node-version: [20.x, 21.x] steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: fetch-depth: 0 - name: Use Node.js ${{ matrix.node-version }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index da2f492b9..33670463c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -19,7 +19,7 @@ jobs: id-token: write # to enable use of OIDC for npm provenance steps: - name: Checkout - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: fetch-depth: 0 - name: Setup Node.js diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 6192bbd53..2e76ef75c 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -19,5 +19,5 @@ jobs: image: returntocorp/semgrep@sha256:550dfdac1ec5d4a757d1c2ac0197a6360ef3ac8e3d0a804731eab07242e91b4c if: (github.actor != 'dependabot[bot]') steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - run: semgrep ci From f11654cfa9c3a9149a96097b6d332e57902cc32b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:12:24 +0000 Subject: [PATCH 422/452] chore(deps): update dependency filelock to v3.15.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 95503480c..72fb48c3a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" coverage==7.5.3 distlib==0.3.8 -filelock==3.15.3 +filelock==3.15.4 flake8==7.1.0 flake8-black==0.3.6 identify==2.5.36 From a48a499f24cb945c66f855f5c0fd56412dbf9bb9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:20:16 +0000 Subject: [PATCH 423/452] chore(deps): update dependency coverage to v7.5.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 72fb48c3a..b59984102 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ certifi==2024.6.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" -coverage==7.5.3 +coverage==7.5.4 distlib==0.3.8 filelock==3.15.4 flake8==7.1.0 From d7680f0d7e56edb262a07da58a182127a8f5909e Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:20:53 +0000 Subject: [PATCH 424/452] chore(deps): pin coactions/setup-xvfb action to b6b4fcf --- .github/workflows/python.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml index c3eb105eb..3795e5a17 100644 --- a/.github/workflows/python.yaml +++ b/.github/workflows/python.yaml @@ -29,6 +29,6 @@ jobs: run: | pdm sync -d -G test - name: Run Tests - uses: coactions/setup-xvfb@v1 + uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1 with: run: pdm test From c5b812f09d015ce153b8e84c0386a8d815745b59 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:21:37 +0000 Subject: [PATCH 425/452] chore(deps): update returntocorp/semgrep docker digest to d543e7a --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 2e76ef75c..601ea99ed 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:550dfdac1ec5d4a757d1c2ac0197a6360ef3ac8e3d0a804731eab07242e91b4c + image: returntocorp/semgrep@sha256:d543e7ad9562fefd6529ec40b880f99f8742a1105083fcdba42c186e0555ad5d if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 From 528e729728714b5b7c48c43f45b5416108f66f35 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 29 Jun 2024 15:26:21 +0000 Subject: [PATCH 426/452] chore(deps): update github/codeql-action digest to b611370 --- .github/workflows/codeql-analysis.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index f2ec54beb..8dbfe1381 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -43,7 +43,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 + uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3 with: languages: ${{ matrix.language }} # If you wish to specify custom queries, you can do so here or in a config file. @@ -54,7 +54,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below) - name: Autobuild - uses: github/codeql-action/autobuild@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 + uses: github/codeql-action/autobuild@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3 # ℹ️ Command-line programs to run using the OS shell. # 📚 https://git.io/JvXDl @@ -68,4 +68,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@23acc5c183826b7a8a97bce3cecc52db901f8251 # v3 + uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3 From 2f170385ea360a160b24edbbfb2a2234ff7c55b0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Sun, 30 Jun 2024 07:41:28 -0400 Subject: [PATCH 427/452] chore: update sentry-sdk to version 2.7.1 --- pdm.lock | 8 ++++---- pyproject.toml | 2 +- requirements.txt | 4 ++-- rm-server.py | 2 ++ 4 files changed, 9 insertions(+), 7 deletions(-) diff --git a/pdm.lock b/pdm.lock index 435f239ad..722ca2536 100644 --- a/pdm.lock +++ b/pdm.lock @@ -5,7 +5,7 @@ groups = ["default", "dev", "test"] strategy = ["cross_platform", "inherit_metadata"] lock_version = "4.4.1" -content_hash = "sha256:18ce770ecb889163772a756e60c5d1bcb3e83d9e4889c1ebb8f0c6a5c299949a" +content_hash = "sha256:89838dee197c16cfdd85bde8e4896ea98cbd4427df9b2683ce91ec8527a4004b" [[package]] name = "black" @@ -325,7 +325,7 @@ files = [ [[package]] name = "sentry-sdk" -version = "2.7.0" +version = "2.7.1" requires_python = ">=3.6" summary = "Python client for Sentry (https://sentry.io)" groups = ["default"] @@ -334,8 +334,8 @@ dependencies = [ "urllib3>=1.26.11", ] files = [ - {file = "sentry_sdk-2.7.0-py2.py3-none-any.whl", hash = "sha256:db9594c27a4d21c1ebad09908b1f0dc808ef65c2b89c1c8e7e455143262e37c1"}, - {file = "sentry_sdk-2.7.0.tar.gz", hash = "sha256:d846a211d4a0378b289ced3c434480945f110d0ede00450ba631fc2852e7a0d4"}, + {file = "sentry_sdk-2.7.1-py2.py3-none-any.whl", hash = "sha256:ef1b3d54eb715825657cd4bb3cb42bb4dc85087bac14c56b0fd8c21abd968c9a"}, + {file = "sentry_sdk-2.7.1.tar.gz", hash = "sha256:25006c7e68b75aaa5e6b9c6a420ece22e8d7daec4b7a906ffd3a8607b67c037b"}, ] [[package]] diff --git a/pyproject.toml b/pyproject.toml index 0ccbb6397..f426ab78f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,7 +5,7 @@ description = "Default template for PDM package" authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] dependencies = [ "server @ file:///${PROJECT_ROOT}/projects/server", - "sentry-sdk>=2.7.0", + "sentry-sdk>=2.7.1", "Tcl>=0.2", # Needed for tkinter to work correctly ] requires-python = "==3.12.*" diff --git a/requirements.txt b/requirements.txt index b59984102..95503480c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,9 +6,9 @@ certifi==2024.6.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" -coverage==7.5.4 +coverage==7.5.3 distlib==0.3.8 -filelock==3.15.4 +filelock==3.15.3 flake8==7.1.0 flake8-black==0.3.6 identify==2.5.36 diff --git a/rm-server.py b/rm-server.py index de4e2dda0..256956fb5 100755 --- a/rm-server.py +++ b/rm-server.py @@ -2,6 +2,7 @@ from server.rusty_motors_server import RustyMotorsServer +from sentry_sdk.integrations.socket import SocketIntegration import sentry_sdk @@ -14,6 +15,7 @@ # of sampled transactions. # We recommend adjusting this value in production. profiles_sample_rate=1.0, + integrations=[SocketIntegration()], ) From 3c14190fe1735855ef5418de11226399961bdcb6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 30 Jun 2024 11:42:00 +0000 Subject: [PATCH 428/452] chore(deps): update dependency coverage to v7.5.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 95503480c..40b1f57c5 100644 --- a/requirements.txt +++ b/requirements.txt @@ -6,7 +6,7 @@ certifi==2024.6.2 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" -coverage==7.5.3 +coverage==7.5.4 distlib==0.3.8 filelock==3.15.3 flake8==7.1.0 From 77923ec45096509b309b48d77fe8b9c7b37e747f Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sun, 30 Jun 2024 11:42:03 +0000 Subject: [PATCH 429/452] chore(deps): update dependency filelock to v3.15.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 95503480c..72fb48c3a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,7 +8,7 @@ click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" coverage==7.5.3 distlib==0.3.8 -filelock==3.15.3 +filelock==3.15.4 flake8==7.1.0 flake8-black==0.3.6 identify==2.5.36 From 27b8f6399f75618ce2cb2498a6ab025abad45de5 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 01:37:21 +0000 Subject: [PATCH 430/452] chore(deps): update dependency certifi to v2024.7.4 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index b59984102..328297236 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,7 +2,7 @@ # Please do not edit it manually. black==24.4.2 -certifi==2024.6.2 +certifi==2024.7.4 cfgv==3.4.0 click==8.1.7 colorama==0.4.6; sys_platform == "win32" or platform_system == "Windows" From d90ed7604ca643326197c19380a6bda036a63815 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 01:37:25 +0000 Subject: [PATCH 431/452] chore(deps): update dependency node to v22.4.0 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 8326e27f9..58a1f0907 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.3.0 +22.4.0 From 2f646bd4bc851d5a4564b69ced6f37de6970ad05 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 5 Jul 2024 22:30:22 -0400 Subject: [PATCH 432/452] refactor: remove python --- .github/workflows/python.yaml | 34 -- .pdm-python | 1 - Pipfile | 37 -- libs/serializable/.gitignore | 162 ------- libs/serializable/README.md | 1 - libs/serializable/pyproject.toml | 15 - .../serializable/src/serializable/__init__.py | 0 libs/serializable/tests/__init__.py | 0 pdm.lock | 394 ------------------ projects/server/.gitignore | 162 ------- projects/server/README.md | 1 - projects/server/pyproject.toml | 15 - .../server/src/server/TCPRequestHandler.py | 16 - .../server/src/server/WebRequestHandler.py | 70 ---- projects/server/src/server/__init__.py | 0 .../server/src/server/env_default_action.py | 15 - .../server/src/server/rusty_motors_server.py | 219 ---------- projects/server/src/server/setupTCPServer.py | 17 - projects/server/src/server/tkservers.py | 21 - projects/server/tests/__init__.py | 0 .../server/tests/rusty_motors_server_test.py | 38 -- pyproject.toml | 47 --- rm-server.py | 33 -- tox.ini | 11 - 24 files changed, 1309 deletions(-) delete mode 100644 .github/workflows/python.yaml delete mode 100644 .pdm-python delete mode 100644 Pipfile delete mode 100644 libs/serializable/.gitignore delete mode 100644 libs/serializable/README.md delete mode 100644 libs/serializable/pyproject.toml delete mode 100644 libs/serializable/src/serializable/__init__.py delete mode 100644 libs/serializable/tests/__init__.py delete mode 100644 pdm.lock delete mode 100644 projects/server/.gitignore delete mode 100644 projects/server/README.md delete mode 100644 projects/server/pyproject.toml delete mode 100644 projects/server/src/server/TCPRequestHandler.py delete mode 100644 projects/server/src/server/WebRequestHandler.py delete mode 100644 projects/server/src/server/__init__.py delete mode 100644 projects/server/src/server/env_default_action.py delete mode 100644 projects/server/src/server/rusty_motors_server.py delete mode 100644 projects/server/src/server/setupTCPServer.py delete mode 100644 projects/server/src/server/tkservers.py delete mode 100644 projects/server/tests/__init__.py delete mode 100644 projects/server/tests/rusty_motors_server_test.py delete mode 100644 pyproject.toml delete mode 100755 rm-server.py delete mode 100644 tox.ini diff --git a/.github/workflows/python.yaml b/.github/workflows/python.yaml deleted file mode 100644 index 3795e5a17..000000000 --- a/.github/workflows/python.yaml +++ /dev/null @@ -1,34 +0,0 @@ -# This workflow will install Python dependencies, run tests and lint with a single version of Python -# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python - -name: Python - -on: - push: - pull_request: - -permissions: - contents: read - -jobs: - Testing: - runs-on: ${{ matrix.os }} - strategy: - matrix: - python-version: ['3.12'] - os: [ubuntu-latest, macOS-latest] - - steps: - - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 - - name: Set up PDM - uses: pdm-project/setup-pdm@568ddd69406b30de1774ec0044b73ae06e716aa4 # v4 - with: - python-version: ${{ matrix.python-version }} - - - name: Install dependencies - run: | - pdm sync -d -G test - - name: Run Tests - uses: coactions/setup-xvfb@b6b4fcfb9f5a895edadc3bc76318fae0ac17c8b3 # v1 - with: - run: pdm test diff --git a/.pdm-python b/.pdm-python deleted file mode 100644 index ac12215f5..000000000 --- a/.pdm-python +++ /dev/null @@ -1 +0,0 @@ -/home/drazisil/mcos/.venv/bin/python diff --git a/Pipfile b/Pipfile deleted file mode 100644 index 492e008c6..000000000 --- a/Pipfile +++ /dev/null @@ -1,37 +0,0 @@ -[[source]] -url = "https://pypi.org/simple" -verify_ssl = true -name = "pypi" - -[packages] -black = "==24.4.2" -cfgv = "==3.4.0" -click = "==8.1.7" -colorama = "==0.4.6" -coverage = "==7.5.4" -distlib = "==0.3.8" -filelock = "==3.15.4" -flake8 = "==7.1.0" -flake8-black = "==0.3.6" -identify = "==2.5.36" -iniconfig = "==2.0.0" -mccabe = "==0.7.0" -mypy-extensions = "==1.0.0" -nodeenv = "==1.9.1" -packaging = "==24.1" -pathspec = "==0.12.1" -platformdirs = "==4.2.2" -pluggy = "==1.5.0" -pre-commit = "==3.7.1" -pycodestyle = "==2.12.0" -pyflakes = "==3.2.0" -pytest = "==8.2.2" -pyyaml = "==6.0.1" -serializable = {file = "libs/serializable", editable = true} -server = {file = "projects/server", editable = true} -virtualenv = "==20.26.3" - -[dev-packages] - -[requires] -python_version = "3.12" diff --git a/libs/serializable/.gitignore b/libs/serializable/.gitignore deleted file mode 100644 index 3a8816c9e..000000000 --- a/libs/serializable/.gitignore +++ /dev/null @@ -1,162 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm-project.org/#use-with-ide -.pdm.toml -.pdm-python -.pdm-build/ - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ diff --git a/libs/serializable/README.md b/libs/serializable/README.md deleted file mode 100644 index 7e5b8c84f..000000000 --- a/libs/serializable/README.md +++ /dev/null @@ -1 +0,0 @@ -# serializable diff --git a/libs/serializable/pyproject.toml b/libs/serializable/pyproject.toml deleted file mode 100644 index a946e7312..000000000 --- a/libs/serializable/pyproject.toml +++ /dev/null @@ -1,15 +0,0 @@ -[project] -name = "serializable" -version = "0.1.0" -description = "Default template for PDM package" -authors = [ - {name = "Molly Draven", email = "drazi@duck.com"}, -] -dependencies = [] -requires-python = "==3.12.*" -readme = "README.md" -license = {text = "AGPL-3.0"} - - -[tool.pdm] -distribution = false diff --git a/libs/serializable/src/serializable/__init__.py b/libs/serializable/src/serializable/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/libs/serializable/tests/__init__.py b/libs/serializable/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/pdm.lock b/pdm.lock deleted file mode 100644 index 722ca2536..000000000 --- a/pdm.lock +++ /dev/null @@ -1,394 +0,0 @@ -# This file is @generated by PDM. -# It is not intended for manual editing. - -[metadata] -groups = ["default", "dev", "test"] -strategy = ["cross_platform", "inherit_metadata"] -lock_version = "4.4.1" -content_hash = "sha256:89838dee197c16cfdd85bde8e4896ea98cbd4427df9b2683ce91ec8527a4004b" - -[[package]] -name = "black" -version = "24.4.2" -requires_python = ">=3.8" -summary = "The uncompromising code formatter." -groups = ["dev"] -dependencies = [ - "click>=8.0.0", - "mypy-extensions>=0.4.3", - "packaging>=22.0", - "pathspec>=0.9.0", - "platformdirs>=2", -] -files = [ - {file = "black-24.4.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:accf49e151c8ed2c0cdc528691838afd217c50412534e876a19270fea1e28e2d"}, - {file = "black-24.4.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:88c57dc656038f1ab9f92b3eb5335ee9b021412feaa46330d5eba4e51fe49b04"}, - {file = "black-24.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:be8bef99eb46d5021bf053114442914baeb3649a89dc5f3a555c88737e5e98fc"}, - {file = "black-24.4.2-cp312-cp312-win_amd64.whl", hash = "sha256:415e686e87dbbe6f4cd5ef0fbf764af7b89f9057b97c908742b6008cc554b9c0"}, - {file = "black-24.4.2-py3-none-any.whl", hash = "sha256:d36ed1124bb81b32f8614555b34cc4259c3fbc7eec17870e8ff8ded335b58d8c"}, - {file = "black-24.4.2.tar.gz", hash = "sha256:c872b53057f000085da66a19c55d68f6f8ddcac2642392ad3a355878406fbd4d"}, -] - -[[package]] -name = "certifi" -version = "2024.6.2" -requires_python = ">=3.6" -summary = "Python package for providing Mozilla's CA Bundle." -groups = ["default"] -files = [ - {file = "certifi-2024.6.2-py3-none-any.whl", hash = "sha256:ddc6c8ce995e6987e7faf5e3f1b02b302836a0e5d98ece18392cb1a36c72ad56"}, - {file = "certifi-2024.6.2.tar.gz", hash = "sha256:3cd43f1c6fa7dedc5899d69d3ad0398fd018ad1a17fba83ddaf78aa46c747516"}, -] - -[[package]] -name = "cfgv" -version = "3.4.0" -requires_python = ">=3.8" -summary = "Validate configuration and produce human readable error messages." -groups = ["dev"] -files = [ - {file = "cfgv-3.4.0-py2.py3-none-any.whl", hash = "sha256:b7265b1f29fd3316bfcd2b330d63d024f2bfd8bcb8b0272f8e19a504856c48f9"}, - {file = "cfgv-3.4.0.tar.gz", hash = "sha256:e52591d4c5f5dead8e0f673fb16db7949d2cfb3f7da4582893288f0ded8fe560"}, -] - -[[package]] -name = "click" -version = "8.1.7" -requires_python = ">=3.7" -summary = "Composable command line interface toolkit" -groups = ["dev"] -dependencies = [ - "colorama; platform_system == \"Windows\"", -] -files = [ - {file = "click-8.1.7-py3-none-any.whl", hash = "sha256:ae74fb96c20a0277a1d615f1e4d73c8414f5a98db8b799a7931d1582f3390c28"}, - {file = "click-8.1.7.tar.gz", hash = "sha256:ca9853ad459e787e2192211578cc907e7594e294c7ccc834310722b41b9ca6de"}, -] - -[[package]] -name = "colorama" -version = "0.4.6" -requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -summary = "Cross-platform colored terminal text." -groups = ["dev", "test"] -marker = "sys_platform == \"win32\" or platform_system == \"Windows\"" -files = [ - {file = "colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6"}, - {file = "colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44"}, -] - -[[package]] -name = "coverage" -version = "7.5.3" -requires_python = ">=3.8" -summary = "Code coverage measurement for Python" -groups = ["test"] -files = [ - {file = "coverage-7.5.3-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:296a7d9bbc598e8744c00f7a6cecf1da9b30ae9ad51c566291ff1314e6cbbed8"}, - {file = "coverage-7.5.3-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:34d6d21d8795a97b14d503dcaf74226ae51eb1f2bd41015d3ef332a24d0a17b3"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8e317953bb4c074c06c798a11dbdd2cf9979dbcaa8ccc0fa4701d80042d4ebf1"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:705f3d7c2b098c40f5b81790a5fedb274113373d4d1a69e65f8b68b0cc26f6db"}, - {file = "coverage-7.5.3-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b1196e13c45e327d6cd0b6e471530a1882f1017eb83c6229fc613cd1a11b53cd"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:015eddc5ccd5364dcb902eaecf9515636806fa1e0d5bef5769d06d0f31b54523"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:fd27d8b49e574e50caa65196d908f80e4dff64d7e592d0c59788b45aad7e8b35"}, - {file = "coverage-7.5.3-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:33fc65740267222fc02975c061eb7167185fef4cc8f2770267ee8bf7d6a42f84"}, - {file = "coverage-7.5.3-cp312-cp312-win32.whl", hash = "sha256:7b2a19e13dfb5c8e145c7a6ea959485ee8e2204699903c88c7d25283584bfc08"}, - {file = "coverage-7.5.3-cp312-cp312-win_amd64.whl", hash = "sha256:0bbddc54bbacfc09b3edaec644d4ac90c08ee8ed4844b0f86227dcda2d428fcb"}, - {file = "coverage-7.5.3-pp38.pp39.pp310-none-any.whl", hash = "sha256:3538d8fb1ee9bdd2e2692b3b18c22bb1c19ffbefd06880f5ac496e42d7bb3884"}, - {file = "coverage-7.5.3.tar.gz", hash = "sha256:04aefca5190d1dc7a53a4c1a5a7f8568811306d7a8ee231c42fb69215571944f"}, -] - -[[package]] -name = "distlib" -version = "0.3.8" -summary = "Distribution utilities" -groups = ["dev"] -files = [ - {file = "distlib-0.3.8-py2.py3-none-any.whl", hash = "sha256:034db59a0b96f8ca18035f36290806a9a6e6bd9d1ff91e45a7f172eb17e51784"}, - {file = "distlib-0.3.8.tar.gz", hash = "sha256:1530ea13e350031b6312d8580ddb6b27a104275a31106523b8f123787f494f64"}, -] - -[[package]] -name = "filelock" -version = "3.15.3" -requires_python = ">=3.8" -summary = "A platform independent file lock." -groups = ["dev"] -files = [ - {file = "filelock-3.15.3-py3-none-any.whl", hash = "sha256:0151273e5b5d6cf753a61ec83b3a9b7d8821c39ae9af9d7ecf2f9e2f17404103"}, - {file = "filelock-3.15.3.tar.gz", hash = "sha256:e1199bf5194a2277273dacd50269f0d87d0682088a3c561c15674ea9005d8635"}, -] - -[[package]] -name = "flake8" -version = "7.1.0" -requires_python = ">=3.8.1" -summary = "the modular source code checker: pep8 pyflakes and co" -groups = ["dev"] -dependencies = [ - "mccabe<0.8.0,>=0.7.0", - "pycodestyle<2.13.0,>=2.12.0", - "pyflakes<3.3.0,>=3.2.0", -] -files = [ - {file = "flake8-7.1.0-py2.py3-none-any.whl", hash = "sha256:2e416edcc62471a64cea09353f4e7bdba32aeb079b6e360554c659a122b1bc6a"}, - {file = "flake8-7.1.0.tar.gz", hash = "sha256:48a07b626b55236e0fb4784ee69a465fbf59d79eec1f5b4785c3d3bc57d17aa5"}, -] - -[[package]] -name = "flake8-black" -version = "0.3.6" -requires_python = ">=3.7" -summary = "flake8 plugin to call black as a code style validator" -groups = ["dev"] -dependencies = [ - "black>=22.1.0", - "flake8>=3", -] -files = [ - {file = "flake8-black-0.3.6.tar.gz", hash = "sha256:0dfbca3274777792a5bcb2af887a4cad72c72d0e86c94e08e3a3de151bb41c34"}, - {file = "flake8_black-0.3.6-py3-none-any.whl", hash = "sha256:fe8ea2eca98d8a504f22040d9117347f6b367458366952862ac3586e7d4eeaca"}, -] - -[[package]] -name = "identify" -version = "2.5.36" -requires_python = ">=3.8" -summary = "File identification library for Python" -groups = ["dev"] -files = [ - {file = "identify-2.5.36-py2.py3-none-any.whl", hash = "sha256:37d93f380f4de590500d9dba7db359d0d3da95ffe7f9de1753faa159e71e7dfa"}, - {file = "identify-2.5.36.tar.gz", hash = "sha256:e5e00f54165f9047fbebeb4a560f9acfb8af4c88232be60a488e9b68d122745d"}, -] - -[[package]] -name = "iniconfig" -version = "2.0.0" -requires_python = ">=3.7" -summary = "brain-dead simple config-ini parsing" -groups = ["test"] -files = [ - {file = "iniconfig-2.0.0-py3-none-any.whl", hash = "sha256:b6a85871a79d2e3b22d2d1b94ac2824226a63c6b741c88f7ae975f18b6778374"}, - {file = "iniconfig-2.0.0.tar.gz", hash = "sha256:2d91e135bf72d31a410b17c16da610a82cb55f6b0477d1a902134b24a455b8b3"}, -] - -[[package]] -name = "mccabe" -version = "0.7.0" -requires_python = ">=3.6" -summary = "McCabe checker, plugin for flake8" -groups = ["dev"] -files = [ - {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, - {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, -] - -[[package]] -name = "mypy-extensions" -version = "1.0.0" -requires_python = ">=3.5" -summary = "Type system extensions for programs checked with the mypy type checker." -groups = ["dev"] -files = [ - {file = "mypy_extensions-1.0.0-py3-none-any.whl", hash = "sha256:4392f6c0eb8a5668a69e23d168ffa70f0be9ccfd32b5cc2d26a34ae5b844552d"}, - {file = "mypy_extensions-1.0.0.tar.gz", hash = "sha256:75dbf8955dc00442a438fc4d0666508a9a97b6bd41aa2f0ffe9d2f2725af0782"}, -] - -[[package]] -name = "nodeenv" -version = "1.9.1" -requires_python = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,!=3.6.*,>=2.7" -summary = "Node.js virtual environment builder" -groups = ["dev"] -files = [ - {file = "nodeenv-1.9.1-py2.py3-none-any.whl", hash = "sha256:ba11c9782d29c27c70ffbdda2d7415098754709be8a7056d79a737cd901155c9"}, - {file = "nodeenv-1.9.1.tar.gz", hash = "sha256:6ec12890a2dab7946721edbfbcd91f3319c6ccc9aec47be7c7e6b7011ee6645f"}, -] - -[[package]] -name = "packaging" -version = "24.1" -requires_python = ">=3.8" -summary = "Core utilities for Python packages" -groups = ["dev", "test"] -files = [ - {file = "packaging-24.1-py3-none-any.whl", hash = "sha256:5b8f2217dbdbd2f7f384c41c628544e6d52f2d0f53c6d0c3ea61aa5d1d7ff124"}, - {file = "packaging-24.1.tar.gz", hash = "sha256:026ed72c8ed3fcce5bf8950572258698927fd1dbda10a5e981cdf0ac37f4f002"}, -] - -[[package]] -name = "pathspec" -version = "0.12.1" -requires_python = ">=3.8" -summary = "Utility library for gitignore style pattern matching of file paths." -groups = ["dev"] -files = [ - {file = "pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08"}, - {file = "pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712"}, -] - -[[package]] -name = "platformdirs" -version = "4.2.2" -requires_python = ">=3.8" -summary = "A small Python package for determining appropriate platform-specific dirs, e.g. a `user data dir`." -groups = ["dev"] -files = [ - {file = "platformdirs-4.2.2-py3-none-any.whl", hash = "sha256:2d7a1657e36a80ea911db832a8a6ece5ee53d8de21edd5cc5879af6530b1bfee"}, - {file = "platformdirs-4.2.2.tar.gz", hash = "sha256:38b7b51f512eed9e84a22788b4bce1de17c0adb134d6becb09836e37d8654cd3"}, -] - -[[package]] -name = "pluggy" -version = "1.5.0" -requires_python = ">=3.8" -summary = "plugin and hook calling mechanisms for python" -groups = ["test"] -files = [ - {file = "pluggy-1.5.0-py3-none-any.whl", hash = "sha256:44e1ad92c8ca002de6377e165f3e0f1be63266ab4d554740532335b9d75ea669"}, - {file = "pluggy-1.5.0.tar.gz", hash = "sha256:2cffa88e94fdc978c4c574f15f9e59b7f4201d439195c3715ca9e2486f1d0cf1"}, -] - -[[package]] -name = "pre-commit" -version = "3.7.1" -requires_python = ">=3.9" -summary = "A framework for managing and maintaining multi-language pre-commit hooks." -groups = ["dev"] -dependencies = [ - "cfgv>=2.0.0", - "identify>=1.0.0", - "nodeenv>=0.11.1", - "pyyaml>=5.1", - "virtualenv>=20.10.0", -] -files = [ - {file = "pre_commit-3.7.1-py2.py3-none-any.whl", hash = "sha256:fae36fd1d7ad7d6a5a1c0b0d5adb2ed1a3bda5a21bf6c3e5372073d7a11cd4c5"}, - {file = "pre_commit-3.7.1.tar.gz", hash = "sha256:8ca3ad567bc78a4972a3f1a477e94a79d4597e8140a6e0b651c5e33899c3654a"}, -] - -[[package]] -name = "pycodestyle" -version = "2.12.0" -requires_python = ">=3.8" -summary = "Python style guide checker" -groups = ["dev"] -files = [ - {file = "pycodestyle-2.12.0-py2.py3-none-any.whl", hash = "sha256:949a39f6b86c3e1515ba1787c2022131d165a8ad271b11370a8819aa070269e4"}, - {file = "pycodestyle-2.12.0.tar.gz", hash = "sha256:442f950141b4f43df752dd303511ffded3a04c2b6fb7f65980574f0c31e6e79c"}, -] - -[[package]] -name = "pyflakes" -version = "3.2.0" -requires_python = ">=3.8" -summary = "passive checker of Python programs" -groups = ["dev"] -files = [ - {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, - {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, -] - -[[package]] -name = "pytest" -version = "8.2.2" -requires_python = ">=3.8" -summary = "pytest: simple powerful testing with Python" -groups = ["test"] -dependencies = [ - "colorama; sys_platform == \"win32\"", - "iniconfig", - "packaging", - "pluggy<2.0,>=1.5", -] -files = [ - {file = "pytest-8.2.2-py3-none-any.whl", hash = "sha256:c434598117762e2bd304e526244f67bf66bbd7b5d6cf22138be51ff661980343"}, - {file = "pytest-8.2.2.tar.gz", hash = "sha256:de4bb8104e201939ccdc688b27a89a7be2079b22e2bd2b07f806b6ba71117977"}, -] - -[[package]] -name = "pyyaml" -version = "6.0.1" -requires_python = ">=3.6" -summary = "YAML parser and emitter for Python" -groups = ["dev"] -files = [ - {file = "PyYAML-6.0.1-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:855fb52b0dc35af121542a76b9a84f8d1cd886ea97c84703eaa6d88e37a2ad28"}, - {file = "PyYAML-6.0.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:40df9b996c2b73138957fe23a16a4f0ba614f4c0efce1e9406a184b6d07fa3a9"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a08c6f0fe150303c1c6b71ebcd7213c2858041a7e01975da3a99aed1e7a378ef"}, - {file = "PyYAML-6.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6c22bec3fbe2524cde73d7ada88f6566758a8f7227bfbf93a408a9d86bcc12a0"}, - {file = "PyYAML-6.0.1-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:8d4e9c88387b0f5c7d5f281e55304de64cf7f9c0021a3525bd3b1c542da3b0e4"}, - {file = "PyYAML-6.0.1-cp312-cp312-win32.whl", hash = "sha256:d483d2cdf104e7c9fa60c544d92981f12ad66a457afae824d146093b8c294c54"}, - {file = "PyYAML-6.0.1-cp312-cp312-win_amd64.whl", hash = "sha256:0d3304d8c0adc42be59c5f8a4d9e3d7379e6955ad754aa9d6ab7a398b59dd1df"}, - {file = "PyYAML-6.0.1.tar.gz", hash = "sha256:bfdf460b1736c775f2ba9f6a92bca30bc2095067b8a9d77876d1fad6cc3b4a43"}, -] - -[[package]] -name = "sentry-sdk" -version = "2.7.1" -requires_python = ">=3.6" -summary = "Python client for Sentry (https://sentry.io)" -groups = ["default"] -dependencies = [ - "certifi", - "urllib3>=1.26.11", -] -files = [ - {file = "sentry_sdk-2.7.1-py2.py3-none-any.whl", hash = "sha256:ef1b3d54eb715825657cd4bb3cb42bb4dc85087bac14c56b0fd8c21abd968c9a"}, - {file = "sentry_sdk-2.7.1.tar.gz", hash = "sha256:25006c7e68b75aaa5e6b9c6a420ece22e8d7daec4b7a906ffd3a8607b67c037b"}, -] - -[[package]] -name = "serializable" -version = "0.1.0" -requires_python = "==3.12.*" -editable = true -path = "./libs/serializable" -summary = "Default template for PDM package" -groups = ["dev"] - -[[package]] -name = "server" -version = "0.1.0" -requires_python = "==3.12.*" -editable = true -path = "./projects/server" -summary = "Default template for PDM package" -groups = ["default", "dev"] - -[[package]] -name = "tcl" -version = "0.2" -summary = "A coding language used for Graphical user interface" -groups = ["default"] -files = [ - {file = "Tcl-0.2-py3-none-any.whl", hash = "sha256:482e8147ed4c07563a621ffa5be874574527a9d60f5c3e9917b1f4079c5b27e5"}, - {file = "Tcl-0.2.tar.gz", hash = "sha256:395f69c382dedf29f88b6cce9114024528fce7f073d7b84eaefa9b608f3ea193"}, -] - -[[package]] -name = "urllib3" -version = "2.2.2" -requires_python = ">=3.8" -summary = "HTTP library with thread-safe connection pooling, file post, and more." -groups = ["default"] -files = [ - {file = "urllib3-2.2.2-py3-none-any.whl", hash = "sha256:a448b2f64d686155468037e1ace9f2d2199776e17f0a46610480d311f73e3472"}, - {file = "urllib3-2.2.2.tar.gz", hash = "sha256:dd505485549a7a552833da5e6063639d0d177c04f23bc3864e41e5dc5f612168"}, -] - -[[package]] -name = "virtualenv" -version = "20.26.3" -requires_python = ">=3.7" -summary = "Virtual Python Environment builder" -groups = ["dev"] -dependencies = [ - "distlib<1,>=0.3.7", - "filelock<4,>=3.12.2", - "platformdirs<5,>=3.9.1", -] -files = [ - {file = "virtualenv-20.26.3-py3-none-any.whl", hash = "sha256:8cc4a31139e796e9a7de2cd5cf2489de1217193116a8fd42328f1bd65f434589"}, - {file = "virtualenv-20.26.3.tar.gz", hash = "sha256:4c43a2a236279d9ea36a0d76f98d84bd6ca94ac4e0f4a3b9d46d05e10fea542a"}, -] diff --git a/projects/server/.gitignore b/projects/server/.gitignore deleted file mode 100644 index 3a8816c9e..000000000 --- a/projects/server/.gitignore +++ /dev/null @@ -1,162 +0,0 @@ -# Byte-compiled / optimized / DLL files -__pycache__/ -*.py[cod] -*$py.class - -# C extensions -*.so - -# Distribution / packaging -.Python -build/ -develop-eggs/ -dist/ -downloads/ -eggs/ -.eggs/ -lib/ -lib64/ -parts/ -sdist/ -var/ -wheels/ -share/python-wheels/ -*.egg-info/ -.installed.cfg -*.egg -MANIFEST - -# PyInstaller -# Usually these files are written by a python script from a template -# before PyInstaller builds the exe, so as to inject date/other infos into it. -*.manifest -*.spec - -# Installer logs -pip-log.txt -pip-delete-this-directory.txt - -# Unit test / coverage reports -htmlcov/ -.tox/ -.nox/ -.coverage -.coverage.* -.cache -nosetests.xml -coverage.xml -*.cover -*.py,cover -.hypothesis/ -.pytest_cache/ -cover/ - -# Translations -*.mo -*.pot - -# Django stuff: -*.log -local_settings.py -db.sqlite3 -db.sqlite3-journal - -# Flask stuff: -instance/ -.webassets-cache - -# Scrapy stuff: -.scrapy - -# Sphinx documentation -docs/_build/ - -# PyBuilder -.pybuilder/ -target/ - -# Jupyter Notebook -.ipynb_checkpoints - -# IPython -profile_default/ -ipython_config.py - -# pyenv -# For a library or package, you might want to ignore these files since the code is -# intended to run in multiple environments; otherwise, check them in: -# .python-version - -# pipenv -# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control. -# However, in case of collaboration, if having platform-specific dependencies or dependencies -# having no cross-platform support, pipenv may install dependencies that don't work, or not -# install all needed dependencies. -#Pipfile.lock - -# poetry -# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control. -# This is especially recommended for binary packages to ensure reproducibility, and is more -# commonly ignored for libraries. -# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control -#poetry.lock - -# pdm -# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control. -#pdm.lock -# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it -# in version control. -# https://pdm-project.org/#use-with-ide -.pdm.toml -.pdm-python -.pdm-build/ - -# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm -__pypackages__/ - -# Celery stuff -celerybeat-schedule -celerybeat.pid - -# SageMath parsed files -*.sage.py - -# Environments -.env -.venv -env/ -venv/ -ENV/ -env.bak/ -venv.bak/ - -# Spyder project settings -.spyderproject -.spyproject - -# Rope project settings -.ropeproject - -# mkdocs documentation -/site - -# mypy -.mypy_cache/ -.dmypy.json -dmypy.json - -# Pyre type checker -.pyre/ - -# pytype static type analyzer -.pytype/ - -# Cython debug symbols -cython_debug/ - -# PyCharm -# JetBrains specific template is maintained in a separate JetBrains.gitignore that can -# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore -# and can be added to the global gitignore or merged into this file. For a more nuclear -# option (not recommended) you can uncomment the following to ignore the entire idea folder. -#.idea/ diff --git a/projects/server/README.md b/projects/server/README.md deleted file mode 100644 index 00db566dc..000000000 --- a/projects/server/README.md +++ /dev/null @@ -1 +0,0 @@ -# server diff --git a/projects/server/pyproject.toml b/projects/server/pyproject.toml deleted file mode 100644 index 46fedae8b..000000000 --- a/projects/server/pyproject.toml +++ /dev/null @@ -1,15 +0,0 @@ -[project] -name = "server" -version = "0.1.0" -description = "Default template for PDM package" -authors = [ - {name = "Molly Draven", email = "drazi@duck.com"}, -] -dependencies = [] -requires-python = "==3.12.*" -readme = "README.md" -license = {text = "AGPL-3.0"} - - -[tool.pdm] -distribution = false diff --git a/projects/server/src/server/TCPRequestHandler.py b/projects/server/src/server/TCPRequestHandler.py deleted file mode 100644 index 9179087b7..000000000 --- a/projects/server/src/server/TCPRequestHandler.py +++ /dev/null @@ -1,16 +0,0 @@ -from socketserver import BaseRequestHandler -from typing import Any - - -class TCPRequestHandler(BaseRequestHandler): - - def log_message(self, format: str, *args: Any) -> None: - if self.server.app.canLog: # type: ignore - self.server.app.log(format % args) # type: ignore - else: - print(format % args) - - def handle(self): - self.log_message(f"Connection from {self.client_address}") - data = self.request.recv(1024) - self.log_message(f"Received {data}") diff --git a/projects/server/src/server/WebRequestHandler.py b/projects/server/src/server/WebRequestHandler.py deleted file mode 100644 index 920bc5eeb..000000000 --- a/projects/server/src/server/WebRequestHandler.py +++ /dev/null @@ -1,70 +0,0 @@ -from http.server import BaseHTTPRequestHandler -from typing import Any - - -class AuthLoginHandler: - - def __init__(self, request_handler: BaseHTTPRequestHandler, app: Any): - self.request_handler = request_handler - self.app = app - - def do_GET(self): - - print("AuthLoginHandler") - print(self.request_handler.query) # type: ignore - - self.request_handler.send_response(200) - self.request_handler.send_header("Content-type", "text/html") - self.request_handler.end_headers() - self.request_handler.wfile.write(b"Hello, world!") - - -urls = { - "/AuthLogin": AuthLoginHandler, -} - - -class WebRequestHandler(BaseHTTPRequestHandler): - - def log_message(self, format: str, *args: Any) -> None: - if self.server.app.canLog: # type: ignore - self.server.app.log(format % args) # type: ignore - else: - super().log_message(format, *args) - - def do_POST(self): - pass - - def do_PUT(self): - pass - - def do_DELETE(self): - pass - - def do_HEAD(self): - pass - - def do_GET(self): - - self.query = dict() - - query = dict() - if "?" in self.path: - self.extract_query_params(query) - - if self.path in urls: - try: - self.log_message(f"GET request,\nPath: {self.path}\n") - handler = urls[self.path] - handler(self, self.server.app).do_GET() # type: ignore - except Exception as e: - if self.server.app.canLog: # type: ignore - self.server.app.log(f"Server error: {e}") # type: ignore - self.send_error(500, "Server error") - - def extract_query_params(self, query): - self.path, query_string = self.path.split("?", 1) - for key_value in query_string.split("&"): - key, value = key_value.split("=") - query[key] = value - self.query = query diff --git a/projects/server/src/server/__init__.py b/projects/server/src/server/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/projects/server/src/server/env_default_action.py b/projects/server/src/server/env_default_action.py deleted file mode 100644 index d7ee65978..000000000 --- a/projects/server/src/server/env_default_action.py +++ /dev/null @@ -1,15 +0,0 @@ -import argparse -import os - - -class EnvDefault(argparse.Action): - def __init__(self, envvar, required=True, default=None, **kwargs): - if envvar: - if envvar in os.environ: - default = os.environ[envvar] - if required and default: - required = False - super(EnvDefault, self).__init__(default=default, required=required, **kwargs) - - def __call__(self, parser, namespace, values, option_string=None): - setattr(namespace, self.dest, values) diff --git a/projects/server/src/server/rusty_motors_server.py b/projects/server/src/server/rusty_motors_server.py deleted file mode 100644 index 4f6468736..000000000 --- a/projects/server/src/server/rusty_motors_server.py +++ /dev/null @@ -1,219 +0,0 @@ -import argparse -import tkinter as tk - -from server.TCPRequestHandler import TCPRequestHandler -from server.WebRequestHandler import WebRequestHandler -from server.env_default_action import EnvDefault -from server.setupTCPServer import setupTCPServer -from server.tkservers import tkHTTPServer -from select import poll, POLLIN -from socketserver import ThreadingTCPServer -from http.server import ThreadingHTTPServer -import sys - -root = tk.Tk() - - -class RustyMotorsServer(tk.Frame): - """ - A class representing the Rusty Motors Server. - - This server provides a graphical user interface (GUI) for controlling and monitoring - various servers used in the Rusty Motors project. - - Args: - master: The master widget. - - Attributes: - args: The parsed server arguments. - http_server: The HTTP server instance. - login_server: The login server instance. - persona_server: The persona server instance. - lobby_server: The lobby server instance. - mcots_server: The MCOTS server instance. - fdMapper: A dictionary mapping file descriptors to server instances. - poller: The poller instance for handling incoming connections. - - Extends: - tk.Frame - """ - - def __init__( - self, - args, - master=None, - ): - self.canLog = False - self.poll_interval = 100 - - self.args = args or self.parse_args() - - try: - self.initialize_gui_and_servers(master) - except Exception as e: - print(e) - sys.exit(1) - - def parse_args(self): - """ - Parse the command line arguments for the server. - - Returns: - args (argparse.Namespace): The parsed command line arguments. - """ - parser = argparse.ArgumentParser() - parser.add_argument( - "--server-address", - action=EnvDefault, - envvar="SERVER_ADDRESS", - default="0.0.0.0", - help="The address to bind the server to. Default: 0.0.0.0. \ - Can be set with the SERVER_ADDRESS environment variable.", - ) - parser.add_argument( - "--port", - action=EnvDefault, - envvar="PORT", - default=3000, - help="The port to bind the server to. Default: 3000. Can be set with the PORT environment variable.", - ) - parser.add_argument( - "--external-host", - action=EnvDefault, - envvar="EXTERNAL_HOST", - default="localhost", - help="The external host to tell clients to connect to. Default: localhost. \ - Can be set with the EXTERNAL_HOST environment variable.", - ) - return parser.parse_args() - - def log(self, message: str, type: str = "info"): - if self.canLog: - self.log_text.insert(tk.END, message, type) - self.log_text.insert(tk.END, "\n", type) - self.log_text.see(tk.END) - else: - print(message) - - def initialize_gui_and_servers(self, master): - self.initialize_gui(master) - - self.registerKeyboardBinding() - - self.initializeServers() - - def initialize_gui(self, master): - tk.Frame.__init__(self, master) - self.grid() - root.title("Rusty Motors Server") - tk.Label(self, text="Rusty Motors Server").grid(row=0, column=0) - tk.Button(self, text="Quit", command=self.shutdown).grid(row=1, column=1) - # Create a Label for log messages - self.log_label = tk.Label(self, text="Log messages will appear here") - # Create a scrollbar for the log - self.scrollbar = tk.Scrollbar(self, orient="vertical") - # Create a read-only Text widget to display the log - self.log_text = tk.Text( - self, - height=10, - width=50, - yscrollcommand=self.scrollbar.set, - wrap="word", - ) - self.log_text.tag_config("input", foreground="blue") - self.log_text.tag_config("error", foreground="red") - # Create an entry widget for user input - self.entry = tk.Entry(self, width=50) - - # Place the widgets on the grid - self.log_label.grid(row=2, column=0) - self.scrollbar.grid(row=3, column=1, sticky="ns") - self.log_text.grid(row=3, column=0) - self.entry.grid(row=4, column=0) - # Configure the scrollbar to scroll the log_text widget - self.scrollbar.config(command=self.log_text.yview) - self.canLog = True - - def processUserInput(self): - self.log(f"User input: {self.entry.get()}", "input") - self.entry.delete(0, tk.END) - - def initializeServers(self): - # Setup HTTP server - self.log(f"Starting HTTP server on {self.args.server_address}:{self.args.port}") - self.http_server = tkHTTPServer( - (self.args.server_address, int(self.args.port)), WebRequestHandler, self - ) - self.http_server.allow_reuse_address = True - self.http_server.server_bind() - self.http_server.socket.listen(5) - - try: - self.login_server = setupTCPServer(self, 8226, TCPRequestHandler) - self.persona_server = setupTCPServer(self, 8228, TCPRequestHandler) - self.lobby_server = setupTCPServer(self, 7003, TCPRequestHandler) - self.mcots_server = setupTCPServer(self, 43300, TCPRequestHandler) - except OSError as e: - self.canLog = False - raise Exception(f"Cannot bind to port {e}") - - self.fdMapper: dict[int, ThreadingHTTPServer | ThreadingTCPServer] = { - self.http_server.socket.fileno(): self.http_server, - self.login_server.fileno(): self.login_server, - self.persona_server.fileno(): self.persona_server, - self.lobby_server.fileno(): self.lobby_server, - self.mcots_server.fileno(): self.mcots_server, - } - - self.poller = poll() - self.poller.register(self.http_server.socket, POLLIN) - self.poller.register(self.login_server, POLLIN) - self.poller.register(self.persona_server, POLLIN) - self.poller.register(self.lobby_server, POLLIN) - self.poller.register(self.mcots_server, POLLIN) - self.log("Registered all sockets") - - def shutdown(self): - self.log("Shutting down servers...") - if hasattr(self, "http_server"): - self.http_server.server_close() - if hasattr(self, "login_server"): - self.login_server.server_close() - if hasattr(self, "persona_server"): - self.persona_server.server_close() - if hasattr(self, "lobby_server"): - self.lobby_server.server_close() - if hasattr(self, "mcots_server"): - self.mcots_server.server_close() - self.quit() - - def pollingProcess(self): - incoming = self.poller.poll(1) - - if len(incoming) == 0: - self.checkServersForData() - return - - for fd, event in incoming: - if event == POLLIN: - self.handle_incoming(fd) - - self.checkServersForData() - - def checkServersForData(self): - self.after(self.poll_interval, self.pollingProcess) - - def handle_incoming(self, fd): - server = self.fdMapper[fd] - self.log(f"Handling incoming connection on port {server.server_address[1]}") - server.handle_request() - - def registerKeyboardBinding(self): - self.master.bind("x", lambda event: self.shutdown()) - # On attempting to focuse on the log_entry widget, the focus will be set to the entry widget - self.log_text.bind("", lambda event: self.entry.focus_set()) - self.entry.bind("", lambda event: self.processUserInput()) - - def run(self): - self.checkServersForData() - self.mainloop() diff --git a/projects/server/src/server/setupTCPServer.py b/projects/server/src/server/setupTCPServer.py deleted file mode 100644 index 0ffdc998a..000000000 --- a/projects/server/src/server/setupTCPServer.py +++ /dev/null @@ -1,17 +0,0 @@ -from server.TCPRequestHandler import TCPRequestHandler -from server.tkservers import tkTCPServer - - -import tkinter as tk - -allowed_backlog = 5 - - -def setupTCPServer( - tkApp: tk.Frame, port: int, handler=TCPRequestHandler -) -> tkTCPServer: - server = tkTCPServer(("localhost", port), handler, tkApp) - server.allow_reuse_address = True - server.server_bind() - server.socket.listen(allowed_backlog) - return server diff --git a/projects/server/src/server/tkservers.py b/projects/server/src/server/tkservers.py deleted file mode 100644 index 6ab19ca02..000000000 --- a/projects/server/src/server/tkservers.py +++ /dev/null @@ -1,21 +0,0 @@ -from http.server import ThreadingHTTPServer -from socketserver import ThreadingTCPServer -import tkinter as tk - - -class tkTCPServer(ThreadingTCPServer): - def __init__(self, server_address, RequestHandlerClass, app: tk.Frame): - super().__init__(server_address, RequestHandlerClass, False) - self.app = app - - def fileno(self): - return self.socket.fileno() - - -class tkHTTPServer(ThreadingHTTPServer): - def __init__(self, server_address, RequestHandlerClass, app: tk.Frame): - super().__init__(server_address, RequestHandlerClass, False) - self.app = app - - def fileno(self): - return self.socket.fileno() diff --git a/projects/server/tests/__init__.py b/projects/server/tests/__init__.py deleted file mode 100644 index e69de29bb..000000000 diff --git a/projects/server/tests/rusty_motors_server_test.py b/projects/server/tests/rusty_motors_server_test.py deleted file mode 100644 index 3c4c03949..000000000 --- a/projects/server/tests/rusty_motors_server_test.py +++ /dev/null @@ -1,38 +0,0 @@ -from argparse import Namespace -from tkinter import Text -import unittest -from unittest.mock import MagicMock, patch -from server.rusty_motors_server import RustyMotorsServer - - -class TestRustyMotorsServer(unittest.TestCase): - - def test_shutdown(self): - args: Namespace = Namespace( - server_address="localhost", - port="3000", - ) - server = RustyMotorsServer(args) - with patch.object(server, "quit") as mock_quit: - server.shutdown() - mock_quit.assert_called_once() - - def test_messageLogger(self): - - # Create an instance of RustyMotorsServer - args: Namespace = Namespace( - server_address="localhost", - port="3000", - ) - server = RustyMotorsServer(args) - # Create a mock Text widget - server.log_text = MagicMock(spec=Text) - - # Call the messageLogger method with the mock Text widget - - server.log("Hello, World!") - - # Assert that the mock Text widget's insert method was called once - server.log_text.insert.was_called_with(1, "Hello, World!", "black") - - server.shutdown() diff --git a/pyproject.toml b/pyproject.toml deleted file mode 100644 index f426ab78f..000000000 --- a/pyproject.toml +++ /dev/null @@ -1,47 +0,0 @@ -[project] -name = "rusty-server" -version = "0.1.0" -description = "Default template for PDM package" -authors = [{ name = "Molly Draven", email = "drazi@duck.com" }] -dependencies = [ - "server @ file:///${PROJECT_ROOT}/projects/server", - "sentry-sdk>=2.7.1", - "Tcl>=0.2", # Needed for tkinter to work correctly -] -requires-python = "==3.12.*" -readme = "README.md" -license = { text = "AGPL-3.0" } - -[tool.black] -target-version = ['py37'] -include = '\.pyi?$' -# 'extend-exclude' excludes files or directories in addition to the defaults -extend-exclude = ''' -# A regex preceded with ^/ will apply only to files and directories -# in the root of the project. -( - ^/foo.py # exclude a file named foo.py in the root of the project - | .*_pb2.py # exclude autogenerated Protocol Buffer files anywhere in the project -) -''' - - -[tool.pdm] -distribution = false - -[tool.pdm.dev-dependencies] -dev = [ - "-e file:///${PROJECT_ROOT}/libs/serializable", - "-e file:///${PROJECT_ROOT}/projects/server", - "pre-commit>=3.7.1", - "black>=24.4.2", - "flake8>=7.1.0", - "flake8-black>=0.3.6", -] -test = ["pytest>=8.2.2", "coverage>=7.5.3"] - -[tool.pdm.scripts] -start = "rm-server.py" -lint = "make lint" -format = "make format" -test = "make test" diff --git a/rm-server.py b/rm-server.py deleted file mode 100755 index 256956fb5..000000000 --- a/rm-server.py +++ /dev/null @@ -1,33 +0,0 @@ -#!/usr/bin/env python3 - - -from server.rusty_motors_server import RustyMotorsServer -from sentry_sdk.integrations.socket import SocketIntegration - -import sentry_sdk - -sentry_sdk.init( - dsn="https://3d28b6085dabc6e8ecd7b263df477ead@o1413557.ingest.us.sentry.io/4507356101476352", - # Set traces_sample_rate to 1.0 to capture 100% - # of transactions for tracing. - traces_sample_rate=1.0, - # Set profiles_sample_rate to 1.0 to profile 100% - # of sampled transactions. - # We recommend adjusting this value in production. - profiles_sample_rate=1.0, - integrations=[SocketIntegration()], -) - - -path = "/home/drazisil/Downloads/MCO/mcity.exe" - - -def main(): - print("Hello World!") - - server = RustyMotorsServer({}) - server.run() - - -if __name__ == "__main__": - main() diff --git a/tox.ini b/tox.ini deleted file mode 100644 index 8e2a045c1..000000000 --- a/tox.ini +++ /dev/null @@ -1,11 +0,0 @@ -[flake8] -count = True -select = C,E,F,W,B,B950 -show_source = True -statistics = True -max-line-length = 127 -max-complexity = 10 -exclude = .git,__pycache__,docs/source/conf.py,old,build,dist,.venv,.tox,.coverage -per-file-ignores = - # module level import not at top of file - ./tests/__init__.py: E402 From a023158daf8d5abb60dbcbbf61360572855cdc3d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:31:01 +0000 Subject: [PATCH 433/452] chore(deps): update dependency nx to v19.4.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7b257805e..ffebab869 100644 --- a/package.json +++ b/package.json @@ -35,6 +35,6 @@ "schema" ], "devDependencies": { - "nx": "19.3.2" + "nx": "19.4.1" } } From 40f6623947ee7a5c2ab90f9b1f64331c40180514 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 5 Jul 2024 22:34:37 -0400 Subject: [PATCH 434/452] chore: Update Node.js version to 22.x and simplify test script in package.json --- .github/workflows/node.yml | 23 +++++++---------------- nx.json | 19 ------------------- package.json | 6 ++---- 3 files changed, 9 insertions(+), 39 deletions(-) delete mode 100644 nx.json diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 0cee4d445..4e14fb364 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -7,39 +7,30 @@ on: env: MCO_LOG_LEVEL: warn EXTERNAL_HOST: mcouniverse.com - PRIVATE_KEY_FILE: thebeast/data/private_key.pem - CERTIFICATE_FILE: thebeast/data/mcouniverse.crt - PUBLIC_KEY_FILE: thebeast/data/pub.key + PRIVATE_KEY_FILE: thebeast/data/private_key.pem # These secrets are stored in the repository and are safe to "leak" + CERTIFICATE_FILE: thebeast/data/mcouniverse.crt # These secrets are stored in the repository and are safe to "leak" + PUBLIC_KEY_FILE: thebeast/data/pub.key # These secrets are stored in the repository and are safe to "leak" jobs: build-test: runs-on: ubuntu-latest - strategy: - matrix: - node-version: [20.x, 21.x] - steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 with: fetch-depth: 0 - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js 22.x uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 with: - node-version: ${{ matrix.node-version }} - # - name: Resolve Outdated Comments - # uses: Ardiannn08/resolve-outdated-comment@v1.3 - # with: - # token: ${{ secrets.GH_TOKEN }} - # mode: "delete" + node-version: 22.x - name: Install and test run: | npm install - npm run test --workspaces --if-present + npm test env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} - name: Codecov - if: ${{ always() }} + if: ${{ always() }} # using always() to always run this step because i am uploading test results and coverage in one step env: CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }} run: | diff --git a/nx.json b/nx.json deleted file mode 100644 index 9b9a33566..000000000 --- a/nx.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "$schema": "./node_modules/nx/schemas/nx-schema.json", - "targetDefaults": { - "check": { - "cache": true - }, - "lint": { - "cache": true - }, - "format": { - "cache": true - }, - "test": { - "cache": true - } - }, - "defaultBase": "main", - "nxCloudAccessToken": "MWE5ZDAyNTQtM2JiNC00ZmIyLWI5MDEtYzFkYjhiMzgwMGMyfHJlYWQtd3JpdGU=" -} diff --git a/package.json b/package.json index 7b257805e..12253e2de 100644 --- a/package.json +++ b/package.json @@ -17,6 +17,7 @@ "scripts": { "clean": "rm -rf **/node_modules", "start": "node --openssl-legacy-provider --env-file=.env --loader ts-node/esm ./apps/main/server.ts", + "test": "npm run test:all", "test:all": "npm run test --workspaces --if-present" }, "type": "module", @@ -33,8 +34,5 @@ "packages/shared", "packages/shared-packets", "schema" - ], - "devDependencies": { - "nx": "19.3.2" - } + ] } From e4b7c838a15bb55843d1557bd59f99e943ec308f Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 5 Jul 2024 22:39:59 -0400 Subject: [PATCH 435/452] chare(docs}: update guide --- STARTING.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/STARTING.md b/STARTING.md index b1998e463..b524cc54d 100644 --- a/STARTING.md +++ b/STARTING.md @@ -2,11 +2,11 @@ Documention type: Tutorial -Last updated: 2003c90b4aecc5150116e83a0f14d18f44bf3536 +Last updated: 40f6623947ee7a5c2ab90f9b1f64331c40180514 --- -This project isn't really geared towards an player of the game, but if you want to try it out, this is how to do so: +This project isn't really geared towards a player of the game, but if you want to try it out, this is how to do so: ## Requirements @@ -17,7 +17,8 @@ This project isn't really geared towards an player of the game, but if you want - Git - Docker - Docker Compose -- NodeJS (v20.x - v21.x) +- NodeJS (v22.x) +- NVM - The debug copy of the game ## Setup @@ -31,9 +32,9 @@ After getting the requirements above ready, perform the following steps: 3. Type `cd rusty-server` and press enter 4. Type `./mcos/pull_nginx_image.sh` and press enter (this step may take a while, depending on your internet speed) 5. Type `docker-compose up -d` and press enter -6. Type `corepack enable pnpm` and press enter -7. Type `pnpm install` and press enter -8. Type `pnpm run build` and press enter +6. Type `nvm install && nvm use` and press enter +7. Type `npm install` and press enter +8. Type `npm run build` and press enter 9. Type `cp .env.example .env` and press enter 10. Open the `.env` file with your favorite text editing program (the simpler the better) and edit the values as follows: a. `EXTERNAL_HOST=` - Add the hostname or ip of the computer you are running this server on. This value MUST be reachable from where you install the game. @@ -61,7 +62,7 @@ After getting the requirements above ready, perform the following steps: 9. Click "Next" 10. You are now on a screen that asks where you want to save this certificate. 11. Click on the "Place all certificates in the following store" and click "browse" -12. Select "Trusted Roor Certification Authorities". This should be the second one down. +12. Select "Trusted Root Certification Authorities". This should be the second one down. 13. Click "Ok" 14. Click "Next" 15. Click "Finish" @@ -96,6 +97,5 @@ After getting the requirements above ready, perform the following steps: If you haven't followed all the steps under the Setup section, this will probably not work well 37. Double-click the debug copy of the game -38. There are two pre-created logins, depending on what part you to see: - a. Username: "admin", Password: "admin" - No existing account, profile creation possible (not playabl, even if it says it was created) - b. Username: "molly", Password: "molly" - Existing account, can login to the server and reach the lobby. Any activities past that probably won't work. +38. These are the possible pre-created logins + a. Username: "admin", Password: "admin" - No existing profile, profile design possible, but no cars to buy so you can't create From 19c47b233c4b9326ff96007637dbf7f4948a1b25 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:46:43 +0000 Subject: [PATCH 436/452] chore(deps): update actions/upload-artifact digest to 0b2256b --- .github/workflows/node.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index 4e14fb364..be7c55f41 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -51,7 +51,7 @@ jobs: codecovcli --verbose do-upload --fail-on-error --flag shared-packets --name shared-packets-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag schema --name schema-${{ matrix.node-version }} - - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4 + - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 with: name: coverage_${{ matrix.node-version }} path: coverage From 9895f04042a9ea78422b2cd33d743adcc1976dc2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:46:46 +0000 Subject: [PATCH 437/452] chore(deps): update adminer:4.8.1 docker digest to 1cdc0bf --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3aaf501ec..e5fcf6ab3 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,7 @@ services: - no-new-privileges:true adminer: - image: adminer:4.8.1@sha256:ee90fd19757e0f89bb991f63bf04fd0530a0f98f408605d2b88f812fc0c3ec7b + image: adminer:4.8.1@sha256:1cdc0bfddc5196e9fde4c2f9581a55e5e8fb3f063af4dc60ceb46ce4248c1ff3 restart: always ports: - 8080:8080 From 7ab56e1410be4cd7d382fb7feac3bbfc60226d55 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:46:49 +0000 Subject: [PATCH 438/452] chore(deps): update postgres:16.3 docker digest to 0aafd2a --- docker-compose.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-compose.yml b/docker-compose.yml index 3aaf501ec..9c9683c1c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,7 @@ services: extra_hosts: - "host.docker.internal:host-gateway" db: - image: postgres:16.3@sha256:46aa2ee5d664b275f05d1a963b30fff60fb422b4b594d509765c42db46d48881 + image: postgres:16.3@sha256:0aafd2ae7e6c391f39fb6b7621632d79f54068faebc726caf469e87bd1d301c0 restart: always environment: POSTGRES_DB: rm From d858b0ebd15fd24ee6980d583ca73a5b2fcf2e16 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Sat, 6 Jul 2024 02:46:52 +0000 Subject: [PATCH 439/452] chore(deps): update returntocorp/semgrep docker digest to 4614ec5 --- .github/workflows/semgrep.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/semgrep.yml b/.github/workflows/semgrep.yml index 601ea99ed..c519496cd 100644 --- a/.github/workflows/semgrep.yml +++ b/.github/workflows/semgrep.yml @@ -16,7 +16,7 @@ jobs: env: SEMGREP_APP_TOKEN: ${{ secrets.SEMGREP_APP_TOKEN }} container: - image: returntocorp/semgrep@sha256:d543e7ad9562fefd6529ec40b880f99f8742a1105083fcdba42c186e0555ad5d + image: returntocorp/semgrep@sha256:4614ec53294cc63f086755157dfb108121c69087d15c3e8d4c7ac603fb0eaa54 if: (github.actor != 'dependabot[bot]') steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 From dacfb6e533e26e81f39c89c734f1d8cc613766dd Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Fri, 5 Jul 2024 23:01:23 -0400 Subject: [PATCH 440/452] chore: add populateWarehouse function to database and gateway --- packages/database/index.ts | 1 + packages/gateway/src/GatewayServer.ts | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/database/index.ts b/packages/database/index.ts index 251e44588..3bc7d3e28 100644 --- a/packages/database/index.ts +++ b/packages/database/index.ts @@ -15,5 +15,6 @@ export { populatePartGrade } from "./src/seeders/populatePartGrade.js"; export { populateBrand } from "./src/seeders/populateBrand.js"; export { populateSkin } from "./src/seeders/populateSkin.js"; export { populateSkinType } from "./src/seeders/populateSkinType.js"; +export { populateWarehouse } from "./src/seeders/populateWarehouse.js"; export { getWarehouseInventory } from "./src/functions/getWarehouseInventory.js"; export type { WarehouseInventory } from "./src/functions/getWarehouseInventory.js"; diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 76d6bc0ca..0d7590b36 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -34,6 +34,7 @@ import { populateBrand, populateSkin, populateSkinType, + populateWarehouse, } from "rusty-motors-database"; /** @@ -284,7 +285,7 @@ export class Gateway implements TGateway { await populatePlayer(); await populateSkinType(); await populateSkin(); - // await populateWarehouse(); + await populateWarehouse(); } catch (error) { this.log.error(`Error in populating game data: ${error as string}`); throw error; From 3a76fab40bf435b8044a0c204e6d11dba08c77f0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 00:11:31 +0000 Subject: [PATCH 441/452] chore(deps): update dependency identify to v2.6.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 328297236..3bf3fc10d 100644 --- a/requirements.txt +++ b/requirements.txt @@ -11,7 +11,7 @@ distlib==0.3.8 filelock==3.15.4 flake8==7.1.0 flake8-black==0.3.6 -identify==2.5.36 +identify==2.6.0 iniconfig==2.0.0 mccabe==0.7.0 mypy-extensions==1.0.0 From 40a52e318b73b4364e7375421277143ed7142441 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 10:50:44 +0000 Subject: [PATCH 442/452] chore(deps): update dependency sentry-sdk to v2.8.0 --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index 3bf3fc10d..b193eec4f 100644 --- a/requirements.txt +++ b/requirements.txt @@ -25,7 +25,7 @@ pycodestyle==2.12.0 pyflakes==3.2.0 pytest==8.2.2 pyyaml==6.0.1 -sentry-sdk==2.7.1 +sentry-sdk==2.8.0 -e file:///home/drazisil/mcos/libs/serializable#egg=serializable -e file:///home/drazisil/mcos/projects/server#egg=server tcl==0.2 From b20861bfa9ef0da98f38a6945e147b88669c98eb Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 09:37:03 -0400 Subject: [PATCH 443/452] refactor: migrate from drizzle to atdatabase some formatting changes occured on unrelated files --- .pre-commit-config.yaml | 29 - apps/main/server.ts | 13 +- drizzle.config.ts | 16 - drizzle/meta/_journal.json | 1 - migrations/0001-createAttachmentPoint.sql | 8 + migrations/0002-createBrand.sql | 10 + migrations/0003-createModel.sql | 35 + migrations/0004-createAbstractPartType.sql | 40 + migrations/0005-createPartGrade.sql | 11 + migrations/0006-createPartType.sql | 17 + migrations/0007-createBrandedPart.sql | 22 + migrations/0008-createPart.sql | 25 + migrations/0009-createDriverClass.sql | 8 + migrations/0010-createPlayerType.sql | 8 + migrations/0011-createPlayer.sql | 90 + migrations/0012-createSkinType.sql | 8 + migrations/0013-createPtSkin.sql | 77 + migrations/0014-createVehicle.sql | 19 + migrations/0015-seedAttachmentPoint.sql | 19 + migrations/0016-seedBrand.sql | 134 + migrations/0017-seedModel.sql | 96122 ++++++++++++++++ migrations/0018-seedAbstractPartType.sql | 1952 + migrations/0019-seedAbstractPartGrade.sql | 8 + migrations/0020-seedAbstractPartType.sql | 16273 +++ migrations/0021-seedBrandedPart.sql | 32092 ++++++ migrations/0022-seedPart.sql | 1 + migrations/0023-seedDriverClass.sql | 6 + migrations/0024-seedPlayerType.sql | 8 + migrations/0025-seedPlayer.sql | 33026 ++++++ migrations/0026-createSVACarClass.sql | 8 + migrations/0027-createSVAModeRestriction.sql | 8 + .../0028-createStockVehicleAtrributes.sql | 31 + migrations/0029-seedSVACarClass.sql | 7 + migrations/0030-seedSVAModeRestriction.sql | 9 + .../0031-seedStockVehicleAttributes.sql | 158 + migrations/0032-createStockAssembly.sql | 28 + migrations/0033-seedStockAssembly.sql | 9303 ++ migrations/0034-seedSkinType.sql | 13 + migrations/0035-seedPTSkin.sql | 77052 +++++++++++++ migrations/0037-createNextPartNumberSeq.sql | 3 + migrations/0038-createWarehouse.sql | 14 + migrations/0039-createLogin.sql | 9 + migrations/0040-createProfile.sql | 26 + migrations/0041-createKey.sql | 7 + .../2024.02.11T13.01.48.attachmentPoint.sql | 6 - migrations/2024.02.11T13.19.25.brand.sql | 8 - migrations/2024.02.11T13.23.01.model.sql | 33 - .../2024.02.11T13.33.31.abstractPartType.sql | 36 - migrations/2024.02.11T13.38.39.partGrade.sql | 9 - migrations/2024.02.11T13.39.20.partType.sql | 13 - .../2024.02.11T13.40.36.brandedPart.sql | 17 - migrations/2024.02.11T13.41.55.part.sql | 20 - .../2024.02.11T13.45.10.driverClass.sql | 6 - migrations/2024.02.11T13.46.16.playerType.sql | 6 - migrations/2024.02.11T14.07.43.player.sql | 80 - migrations/2024.02.11T14.22.15.skinType.sql | 6 - migrations/2024.02.11T14.23.13.ptSkin.sql | 73 - migrations/2024.02.11T14.24.06.vehicle.sql | 15 - ....02.11T23.16.45.initialAttachmentPoint.sql | 14 - .../2024.02.11T23.20.55.initialBrand.sql | 105 - .../2024.02.11T23.26.25.initialModel.sql | 3524 - ...02.11T23.27.19.initialAbstractPartType.sql | 71 - ...2.11T23.27.55.initialAbstractPartGrade.sql | 6 - ...02.11T23.28.36.initialAbstractPartType.sql | 3397 - ...2024.02.11T23.29.19.initialBrandedPart.sql | 3529 - .../2024.02.11T23.30.06.initialPart.sql | 1 - ...2024.02.11T23.30.44.initialDriverClass.sql | 4 - .../2024.02.11T23.32.01.initialPlayerType.sql | 6 - .../2024.02.11T23.32.44.initialPlayer.sql | 567 - .../2024.02.13T03.00.46.createSVACarClass.sql | 6 - ...2.13T03.02.19.createSVAModeRestriction.sql | 6 - ...T03.02.49.createStockVehicleAtrributes.sql | 23 - ...2024.02.13T03.18.24.initialSVACarClass.sql | 5 - ....13T03.19.03.initialSVAModeRestriction.sql | 7 - ...03.19.49.initialStockVehicleAttributes.sql | 160 - ...024.02.13T23.56.02.createStockAssembly.sql | 15 - ...24.02.13T23.58.02.initialStockAssembly.sql | 10224 -- .../2024.02.15T00.21.44.initialSkinType.sql | 11 - .../2024.02.15T00.22.20.initialPTSkin.sql | 1264 - ...02.16T13.06.41.createNextPartNumberSeq.sql | 7 - .../2024.02.11T13.01.48.attachmentPoint.sql | 1 - migrations/down/2024.02.11T13.19.25.brand.sql | 1 - migrations/down/2024.02.11T13.23.01.model.sql | 1 - .../2024.02.11T13.33.31.abstractPartType.sql | 1 - .../down/2024.02.11T13.38.39.partGrade.sql | 1 - .../down/2024.02.11T13.39.20.partType.sql | 1 - .../down/2024.02.11T13.40.36.brandedPart.sql | 1 - migrations/down/2024.02.11T13.41.55.part.sql | 1 - .../down/2024.02.11T13.45.10.driverClass.sql | 1 - .../down/2024.02.11T13.46.16.playerType.sql | 1 - .../down/2024.02.11T14.07.43.player.sql | 1 - .../down/2024.02.11T14.22.15.skinType.sql | 1 - .../down/2024.02.11T14.23.13.ptSkin.sql | 1 - .../down/2024.02.11T14.24.06.vehicle.sql | 1 - ....02.11T23.16.45.initialAttachmentPoint.sql | 1 - .../down/2024.02.11T23.20.55.initialBrand.sql | 1 - .../down/2024.02.11T23.26.25.initialModel.sql | 1 - ...02.11T23.27.19.initialAbstractPartType.sql | 1 - ...2.11T23.27.55.initialAbstractPartGrade.sql | 1 - ...02.11T23.28.36.initialAbstractPartType.sql | 1 - ...2024.02.11T23.29.19.initialBrandedPart.sql | 1 - .../down/2024.02.11T23.30.06.initialPart.sql | 1 - ...2024.02.11T23.30.44.initialDriverClass.sql | 1 - .../2024.02.11T23.32.01.initialPlayerType.sql | 1 - .../2024.02.11T23.32.44.initialPlayer.sql | 1 - .../2024.02.13T03.00.46.createSVACarClass.sql | 1 - ...T03.01.15.createStockVehicleAtrributes.sql | 1 - ...2.13T03.02.19.createSVAModeRestriction.sql | 1 - ...T03.02.49.createStockVehicleAtrributes.sql | 1 - ...2024.02.13T03.18.24.initialSVACarClass.sql | 1 - ....13T03.19.03.initialSVAModeRestriction.sql | 1 - ...03.19.49.initialStockVehicleAttributes.sql | 1 - ...024.02.13T23.56.02.createStockAssembly.sql | 1 - ...24.02.13T23.58.02.initialStockAssembly.sql | 1 - .../2024.02.15T00.21.44.initialSkinType.sql | 1 - .../2024.02.15T00.22.20.initialPTSkin.sql | 1 - ...02.16T13.06.41.createNextPartNumberSeq.sql | 1 - package.json | 17 +- packages/connection/package.json | 11 +- packages/connection/src/Connection.ts | 4 +- packages/database/index.ts | 27 +- packages/database/package.json | 20 +- .../src/__generated__/abstract_part_type.ts | 109 + .../atdatabases_migrations_applied.ts | 37 + .../atdatabases_migrations_version.ts | 21 + .../src/__generated__/attachment_point.ts | 21 + packages/database/src/__generated__/brand.ts | 31 + .../src/__generated__/branded_part.ts | 42 + .../src/__generated__/driver_class.ts | 21 + packages/database/src/__generated__/index.ts | 118 + packages/database/src/__generated__/key.ts | 23 + packages/database/src/__generated__/login.ts | 33 + packages/database/src/__generated__/model.ts | 75 + packages/database/src/__generated__/part.ts | 52 + .../database/src/__generated__/part_grade.ts | 27 + .../database/src/__generated__/part_type.ts | 30 + packages/database/src/__generated__/player.ts | 282 + .../database/src/__generated__/player_type.ts | 21 + .../database/src/__generated__/profile.ts | 113 + .../database/src/__generated__/pt_skin.ts | 156 + .../database/src/__generated__/schema.json | 2131 + .../database/src/__generated__/skin_type.ts | 21 + .../src/__generated__/stock_assembly.ts | 30 + .../__generated__/stock_vehicle_attributes.ts | 57 + .../src/__generated__/sva_car_class.ts | 27 + .../src/__generated__/sva_mode_restriction.ts | 27 + .../database/src/__generated__/vehicle.ts | 40 + .../database/src/__generated__/warehouse.ts | 25 + .../src/functions/getWarehouseInventory.ts | 100 +- .../src/seeders/populateAbstractPartType.ts | 54 - .../database/src/seeders/populateBrand.ts | 120 - .../src/seeders/populateBrandedPart.ts | 112 - .../database/src/seeders/populateModel.ts | 123 - .../database/src/seeders/populatePartGrade.ts | 31 - .../database/src/seeders/populatePartType.ts | 96 - .../database/src/seeders/populatePlayer.ts | 82 - .../src/seeders/populatePlayerType.ts | 28 - packages/database/src/seeders/populateSkin.ts | 91 - .../database/src/seeders/populateSkinType.ts | 28 - .../database/src/seeders/populateWarehouse.ts | 124 - packages/database/src/services/database.ts | 48 +- packages/database/src/services/tunables.ts | 578 + packages/gateway/package.json | 3 - packages/gateway/src/GatewayServer.ts | 25 +- packages/gateway/src/web.ts | 2 +- packages/nps/index.ts | 1 - packages/nps/package.json | 11 +- packages/nps/services/account.ts | 71 +- packages/nps/services/profile.ts | 76 +- packages/nps/services/token.ts | 3 + packages/patch/package.json | 10 +- packages/shard/package.json | 12 +- packages/shared-packets/package.json | 10 +- packages/shared/package.json | 10 +- schema/abstractPartType.ts | 50 - schema/attachmentPoint.ts | 20 - schema/brand.ts | 22 - schema/brandedPart.ts | 29 - schema/bytea.ts | 14 - schema/driverClass.ts | 19 - schema/index.ts | 22 - schema/key.ts | 19 - schema/model.ts | 42 - schema/package.json | 24 - schema/part.ts | 34 - schema/partGrade.ts | 22 - schema/partType.ts | 27 - schema/player.ts | 91 - schema/playerType.ts | 19 - schema/profile.ts | 40 - schema/raceType.ts | 6 - schema/skin.ts | 89 - schema/skinType.ts | 13 - schema/stockAssembly.ts | 24 - schema/stockVehicleAttributes.ts | 28 - schema/svaCarClass.ts | 21 - schema/svaModeRestriction.ts | 21 - schema/test/index.test.ts | 7 - schema/tunables.ts | 67 - schema/user.ts | 23 - schema/vehicle.ts | 25 - schema/vite.config.ts | 22 - schema/warehouse.ts | 26 - src/rusty_server/__init__.py | 0 204 files changed, 271029 insertions(+), 25406 deletions(-) delete mode 100644 .pre-commit-config.yaml delete mode 100644 drizzle.config.ts delete mode 100644 drizzle/meta/_journal.json create mode 100644 migrations/0001-createAttachmentPoint.sql create mode 100644 migrations/0002-createBrand.sql create mode 100644 migrations/0003-createModel.sql create mode 100644 migrations/0004-createAbstractPartType.sql create mode 100644 migrations/0005-createPartGrade.sql create mode 100644 migrations/0006-createPartType.sql create mode 100644 migrations/0007-createBrandedPart.sql create mode 100644 migrations/0008-createPart.sql create mode 100644 migrations/0009-createDriverClass.sql create mode 100644 migrations/0010-createPlayerType.sql create mode 100644 migrations/0011-createPlayer.sql create mode 100644 migrations/0012-createSkinType.sql create mode 100644 migrations/0013-createPtSkin.sql create mode 100644 migrations/0014-createVehicle.sql create mode 100644 migrations/0015-seedAttachmentPoint.sql create mode 100644 migrations/0016-seedBrand.sql create mode 100644 migrations/0017-seedModel.sql create mode 100644 migrations/0018-seedAbstractPartType.sql create mode 100644 migrations/0019-seedAbstractPartGrade.sql create mode 100644 migrations/0020-seedAbstractPartType.sql create mode 100644 migrations/0021-seedBrandedPart.sql create mode 100644 migrations/0022-seedPart.sql create mode 100644 migrations/0023-seedDriverClass.sql create mode 100644 migrations/0024-seedPlayerType.sql create mode 100644 migrations/0025-seedPlayer.sql create mode 100644 migrations/0026-createSVACarClass.sql create mode 100644 migrations/0027-createSVAModeRestriction.sql create mode 100644 migrations/0028-createStockVehicleAtrributes.sql create mode 100644 migrations/0029-seedSVACarClass.sql create mode 100644 migrations/0030-seedSVAModeRestriction.sql create mode 100644 migrations/0031-seedStockVehicleAttributes.sql create mode 100644 migrations/0032-createStockAssembly.sql create mode 100644 migrations/0033-seedStockAssembly.sql create mode 100644 migrations/0034-seedSkinType.sql create mode 100644 migrations/0035-seedPTSkin.sql create mode 100644 migrations/0037-createNextPartNumberSeq.sql create mode 100644 migrations/0038-createWarehouse.sql create mode 100644 migrations/0039-createLogin.sql create mode 100644 migrations/0040-createProfile.sql create mode 100644 migrations/0041-createKey.sql delete mode 100644 migrations/2024.02.11T13.01.48.attachmentPoint.sql delete mode 100644 migrations/2024.02.11T13.19.25.brand.sql delete mode 100644 migrations/2024.02.11T13.23.01.model.sql delete mode 100644 migrations/2024.02.11T13.33.31.abstractPartType.sql delete mode 100644 migrations/2024.02.11T13.38.39.partGrade.sql delete mode 100644 migrations/2024.02.11T13.39.20.partType.sql delete mode 100644 migrations/2024.02.11T13.40.36.brandedPart.sql delete mode 100644 migrations/2024.02.11T13.41.55.part.sql delete mode 100644 migrations/2024.02.11T13.45.10.driverClass.sql delete mode 100644 migrations/2024.02.11T13.46.16.playerType.sql delete mode 100644 migrations/2024.02.11T14.07.43.player.sql delete mode 100644 migrations/2024.02.11T14.22.15.skinType.sql delete mode 100644 migrations/2024.02.11T14.23.13.ptSkin.sql delete mode 100644 migrations/2024.02.11T14.24.06.vehicle.sql delete mode 100644 migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql delete mode 100644 migrations/2024.02.11T23.20.55.initialBrand.sql delete mode 100644 migrations/2024.02.11T23.26.25.initialModel.sql delete mode 100644 migrations/2024.02.11T23.27.19.initialAbstractPartType.sql delete mode 100644 migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql delete mode 100644 migrations/2024.02.11T23.28.36.initialAbstractPartType.sql delete mode 100644 migrations/2024.02.11T23.29.19.initialBrandedPart.sql delete mode 100644 migrations/2024.02.11T23.30.06.initialPart.sql delete mode 100644 migrations/2024.02.11T23.30.44.initialDriverClass.sql delete mode 100644 migrations/2024.02.11T23.32.01.initialPlayerType.sql delete mode 100644 migrations/2024.02.11T23.32.44.initialPlayer.sql delete mode 100644 migrations/2024.02.13T03.00.46.createSVACarClass.sql delete mode 100644 migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql delete mode 100644 migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql delete mode 100644 migrations/2024.02.13T03.18.24.initialSVACarClass.sql delete mode 100644 migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql delete mode 100644 migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql delete mode 100644 migrations/2024.02.13T23.56.02.createStockAssembly.sql delete mode 100644 migrations/2024.02.13T23.58.02.initialStockAssembly.sql delete mode 100644 migrations/2024.02.15T00.21.44.initialSkinType.sql delete mode 100644 migrations/2024.02.15T00.22.20.initialPTSkin.sql delete mode 100644 migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql delete mode 100644 migrations/down/2024.02.11T13.01.48.attachmentPoint.sql delete mode 100644 migrations/down/2024.02.11T13.19.25.brand.sql delete mode 100644 migrations/down/2024.02.11T13.23.01.model.sql delete mode 100644 migrations/down/2024.02.11T13.33.31.abstractPartType.sql delete mode 100644 migrations/down/2024.02.11T13.38.39.partGrade.sql delete mode 100644 migrations/down/2024.02.11T13.39.20.partType.sql delete mode 100644 migrations/down/2024.02.11T13.40.36.brandedPart.sql delete mode 100644 migrations/down/2024.02.11T13.41.55.part.sql delete mode 100644 migrations/down/2024.02.11T13.45.10.driverClass.sql delete mode 100644 migrations/down/2024.02.11T13.46.16.playerType.sql delete mode 100644 migrations/down/2024.02.11T14.07.43.player.sql delete mode 100644 migrations/down/2024.02.11T14.22.15.skinType.sql delete mode 100644 migrations/down/2024.02.11T14.23.13.ptSkin.sql delete mode 100644 migrations/down/2024.02.11T14.24.06.vehicle.sql delete mode 100644 migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql delete mode 100644 migrations/down/2024.02.11T23.20.55.initialBrand.sql delete mode 100644 migrations/down/2024.02.11T23.26.25.initialModel.sql delete mode 100644 migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql delete mode 100644 migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql delete mode 100644 migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql delete mode 100644 migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql delete mode 100644 migrations/down/2024.02.11T23.30.06.initialPart.sql delete mode 100644 migrations/down/2024.02.11T23.30.44.initialDriverClass.sql delete mode 100644 migrations/down/2024.02.11T23.32.01.initialPlayerType.sql delete mode 100644 migrations/down/2024.02.11T23.32.44.initialPlayer.sql delete mode 100644 migrations/down/2024.02.13T03.00.46.createSVACarClass.sql delete mode 100644 migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql delete mode 100644 migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql delete mode 100644 migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql delete mode 100644 migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql delete mode 100644 migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql delete mode 100644 migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql delete mode 100644 migrations/down/2024.02.13T23.56.02.createStockAssembly.sql delete mode 100644 migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql delete mode 100644 migrations/down/2024.02.15T00.21.44.initialSkinType.sql delete mode 100644 migrations/down/2024.02.15T00.22.20.initialPTSkin.sql delete mode 100644 migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql create mode 100644 packages/database/src/__generated__/abstract_part_type.ts create mode 100644 packages/database/src/__generated__/atdatabases_migrations_applied.ts create mode 100644 packages/database/src/__generated__/atdatabases_migrations_version.ts create mode 100644 packages/database/src/__generated__/attachment_point.ts create mode 100644 packages/database/src/__generated__/brand.ts create mode 100644 packages/database/src/__generated__/branded_part.ts create mode 100644 packages/database/src/__generated__/driver_class.ts create mode 100644 packages/database/src/__generated__/index.ts create mode 100644 packages/database/src/__generated__/key.ts create mode 100644 packages/database/src/__generated__/login.ts create mode 100644 packages/database/src/__generated__/model.ts create mode 100644 packages/database/src/__generated__/part.ts create mode 100644 packages/database/src/__generated__/part_grade.ts create mode 100644 packages/database/src/__generated__/part_type.ts create mode 100644 packages/database/src/__generated__/player.ts create mode 100644 packages/database/src/__generated__/player_type.ts create mode 100644 packages/database/src/__generated__/profile.ts create mode 100644 packages/database/src/__generated__/pt_skin.ts create mode 100644 packages/database/src/__generated__/schema.json create mode 100644 packages/database/src/__generated__/skin_type.ts create mode 100644 packages/database/src/__generated__/stock_assembly.ts create mode 100644 packages/database/src/__generated__/stock_vehicle_attributes.ts create mode 100644 packages/database/src/__generated__/sva_car_class.ts create mode 100644 packages/database/src/__generated__/sva_mode_restriction.ts create mode 100644 packages/database/src/__generated__/vehicle.ts create mode 100644 packages/database/src/__generated__/warehouse.ts delete mode 100644 packages/database/src/seeders/populateAbstractPartType.ts delete mode 100644 packages/database/src/seeders/populateBrand.ts delete mode 100644 packages/database/src/seeders/populateBrandedPart.ts delete mode 100644 packages/database/src/seeders/populateModel.ts delete mode 100644 packages/database/src/seeders/populatePartGrade.ts delete mode 100644 packages/database/src/seeders/populatePartType.ts delete mode 100644 packages/database/src/seeders/populatePlayer.ts delete mode 100644 packages/database/src/seeders/populatePlayerType.ts delete mode 100644 packages/database/src/seeders/populateSkin.ts delete mode 100644 packages/database/src/seeders/populateSkinType.ts delete mode 100644 packages/database/src/seeders/populateWarehouse.ts create mode 100644 packages/database/src/services/tunables.ts delete mode 100644 schema/abstractPartType.ts delete mode 100644 schema/attachmentPoint.ts delete mode 100644 schema/brand.ts delete mode 100644 schema/brandedPart.ts delete mode 100644 schema/bytea.ts delete mode 100644 schema/driverClass.ts delete mode 100644 schema/index.ts delete mode 100644 schema/key.ts delete mode 100644 schema/model.ts delete mode 100644 schema/package.json delete mode 100644 schema/part.ts delete mode 100644 schema/partGrade.ts delete mode 100644 schema/partType.ts delete mode 100644 schema/player.ts delete mode 100644 schema/playerType.ts delete mode 100644 schema/profile.ts delete mode 100644 schema/raceType.ts delete mode 100644 schema/skin.ts delete mode 100644 schema/skinType.ts delete mode 100644 schema/stockAssembly.ts delete mode 100644 schema/stockVehicleAttributes.ts delete mode 100644 schema/svaCarClass.ts delete mode 100644 schema/svaModeRestriction.ts delete mode 100644 schema/test/index.test.ts delete mode 100644 schema/tunables.ts delete mode 100644 schema/user.ts delete mode 100644 schema/vehicle.ts delete mode 100644 schema/vite.config.ts delete mode 100644 schema/warehouse.ts delete mode 100644 src/rusty_server/__init__.py diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml deleted file mode 100644 index a9c773987..000000000 --- a/.pre-commit-config.yaml +++ /dev/null @@ -1,29 +0,0 @@ -# See https://pre-commit.com for more information -# See https://pre-commit.com/hooks.html for more hooks -repos: -- repo: https://github.com/pre-commit/pre-commit-hooks - rev: v4.6.0 - hooks: - - id: trailing-whitespace - - id: end-of-file-fixer - - id: check-yaml - - id: check-added-large-files - - id: name-tests-test -- repo: https://github.com/pycqa/flake8 - rev: '7.1.0' # pick a git hash / tag to point to - hooks: - - id: flake8 - additional_dependencies: ['flake8-black'] - # Using this mirror lets us use mypyc-compiled black, which is about 2x faster -- repo: https://github.com/psf/black-pre-commit-mirror - rev: 24.4.2 - hooks: - - id: black -- repo: https://github.com/pdm-project/pdm - rev: 2.15.4 # a PDM release exposing the hook - hooks: - - id: pdm-export - # command arguments, e.g.: - args: ['-o', 'requirements.txt', '--without-hashes'] - files: ^pdm.lock$ - - id: pdm-lock-check diff --git a/apps/main/server.ts b/apps/main/server.ts index 3e2332de8..6ecb6109a 100755 --- a/apps/main/server.ts +++ b/apps/main/server.ts @@ -21,6 +21,11 @@ import { verifyLegacyCipherSupport } from "rusty-motors-shared"; import { getServerConfiguration } from "rusty-motors-shared"; import { getGatewayServer } from "rusty-motors-gateway"; +process.on("unhandledRejection", (reason, promise) => { + console.error("Unhandled Rejection at:", promise, "reason:", reason); + Sentry.captureException(reason); +}); + export default async function main() { const coreLogger = getServerLogger({ @@ -98,4 +103,10 @@ export default async function main() { } } -await main(); +try { + await main(); +} catch (error) { + console.error("Error in main server:", error); + process.exit(1); + +} diff --git a/drizzle.config.ts b/drizzle.config.ts deleted file mode 100644 index 9b2efab1e..000000000 --- a/drizzle.config.ts +++ /dev/null @@ -1,16 +0,0 @@ -import type { Config } from "drizzle-kit"; -import * as dotenv from "dotenv"; -dotenv.config(); - -if (!process.env.DB_URL) { - throw new Error("DB_URL must be set in the environment"); -} - -export default { - schema: "./schema/*", - out: "./drizzle", - driver: 'pg', - dbCredentials: { - connectionString: process.env.DB_URL, - } -} satisfies Config; diff --git a/drizzle/meta/_journal.json b/drizzle/meta/_journal.json deleted file mode 100644 index 66906db2e..000000000 --- a/drizzle/meta/_journal.json +++ /dev/null @@ -1 +0,0 @@ -{"version":"5","dialect":"pg","entries":[]} diff --git a/migrations/0001-createAttachmentPoint.sql b/migrations/0001-createAttachmentPoint.sql new file mode 100644 index 000000000..ef813e080 --- /dev/null +++ b/migrations/0001-createAttachmentPoint.sql @@ -0,0 +1,8 @@ +CREATE TABLE + if not exists attachment_point ( + attachment_point_id INTEGER NOT NULL, + attachment_point VARCHAR(100) NOT NULL, + CONSTRAINT SYS_PK_11761 PRIMARY KEY (attachment_point_id) + ); + +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11761_11762 ON attachment_point (attachment_point_id); \ No newline at end of file diff --git a/migrations/0002-createBrand.sql b/migrations/0002-createBrand.sql new file mode 100644 index 000000000..0ccd4f8bf --- /dev/null +++ b/migrations/0002-createBrand.sql @@ -0,0 +1,10 @@ +create table + if not exists brand ( + brand_id INTEGER NOT NULL, + brand VARCHAR(100) NULL, + pic_name VARCHAR(50) NULL, + is_stock SMALLINT default 0, + CONSTRAINT SYS_PK_11763 PRIMARY KEY (brand_id) + ); + +CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11795_11796 ON brand (brand_id); \ No newline at end of file diff --git a/migrations/0003-createModel.sql b/migrations/0003-createModel.sql new file mode 100644 index 000000000..ac5aa2f45 --- /dev/null +++ b/migrations/0003-createModel.sql @@ -0,0 +1,35 @@ +CREATE TABLE + if not exists model ( + model_id INTEGER NOT NULL, + brand_id INTEGER NOT NULL, + e_model VARCHAR(100), + g_model VARCHAR(100), + f_model VARCHAR(100), + s_model VARCHAR(100), + i_model VARCHAR(100), + j_model VARCHAR(100), + sw_model VARCHAR(100), + b_model VARCHAR(100), + e_extra_info VARCHAR(100), + g_extra_info VARCHAR(100), + f_extra_info VARCHAR(100), + s_extra_info VARCHAR(100), + i_extra_info VARCHAR(100), + j_extra_info VARCHAR(100), + sw_extra_info VARCHAR(100), + b_extra_info VARCHAR(100), + e_short_model VARCHAR(50), + g_short_model VARCHAR(50), + f_short_model VARCHAR(50), + s_short_model VARCHAR(50), + i_short_model VARCHAR(50), + j_short_model VARCHAR(50), + sw_short_model VARCHAR(50), + b_short_model VARCHAR(50), + debug_string VARCHAR(255), + debug_sort_string VARCHAR(50), + CONSTRAINT SYS_PK_11927 PRIMARY KEY (model_id), + CONSTRAINT MODEL_R_172 FOREIGN KEY (brand_id) REFERENCES brand (brand_id) + ); + +CREATE INDEX SYS_IDX_MODEL_R_172_12422 ON model (brand_id); \ No newline at end of file diff --git a/migrations/0004-createAbstractPartType.sql b/migrations/0004-createAbstractPartType.sql new file mode 100644 index 000000000..512fef5ac --- /dev/null +++ b/migrations/0004-createAbstractPartType.sql @@ -0,0 +1,40 @@ +CREATE TABLE + IF NOT EXISTS abstract_part_type ( + abstract_part_type_id INTEGER NOT NULL, + parent_abstract_part_type_id INTEGER, + depends_on INTEGER, + part_filename VARCHAR(20), + eapt VARCHAR(100) NOT NULL, + gapt VARCHAR(100), + faft VARCHAR(100), + saft VARCHAR(100), + iaft VARCHAR(100), + jaft VARCHAR(100), + sw_aft VARCHAR(100), + baft VARCHAR(100), + modified_rule INTEGER DEFAULT 0, + eut TEXT, + gut TEXT, + fut TEXT, + sut TEXT, + iut TEXT, + jut TEXT, + swut TEXT, + but TEXT, + part_paired INTEGER DEFAULT 0, + schematic_picname1 VARCHAR(9), + schematic_picname2 VARCHAR(9), + block_family_compatibility INTEGER DEFAULT 0, + repair_cost_modifier NUMERIC(100, 7) DEFAULT 0, + scrap_value_modifier NUMERIC(100, 7) DEFAULT 0, + garage_category INTEGER DEFAULT 0, + CONSTRAINT sys_pk_11740 PRIMARY KEY (abstract_part_type_id), + CONSTRAINT abstractparttype_r_191 FOREIGN KEY (depends_on) REFERENCES abstract_part_type (abstract_part_type_id), + CONSTRAINT abstractparttype_r2 FOREIGN KEY (parent_abstract_part_type_id) REFERENCES abstract_part_type (abstract_part_type_id) + ); + +CREATE INDEX sys_idx_abstractparttype_r_191_15170 ON abstract_part_type (depends_on); + +CREATE INDEX sys_idx_abstractparttype_r2_15181 ON abstract_part_type (parent_abstract_part_type_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11740_11741 ON abstract_part_type (abstract_part_type_id); \ No newline at end of file diff --git a/migrations/0005-createPartGrade.sql b/migrations/0005-createPartGrade.sql new file mode 100644 index 000000000..5a097a25a --- /dev/null +++ b/migrations/0005-createPartGrade.sql @@ -0,0 +1,11 @@ +CREATE TABLE + IF NOT EXISTS part_grade ( + part_grade_id INTEGER NOT NULL, + e_text VARCHAR(50), + g_text VARCHAR(50), + f_text VARCHAR(50), + part_grade VARCHAR(50), + CONSTRAINT sys_pk_11985 PRIMARY KEY (part_grade_id) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11985_11986 ON part_grade (part_grade_id); \ No newline at end of file diff --git a/migrations/0006-createPartType.sql b/migrations/0006-createPartType.sql new file mode 100644 index 000000000..46918109b --- /dev/null +++ b/migrations/0006-createPartType.sql @@ -0,0 +1,17 @@ +CREATE TABLE + IF NOT EXISTS part_type ( + part_type_id INTEGER NOT NULL, + abstract_part_type_id INTEGER NOT NULL, + part_type VARCHAR(100) NOT NULL, + part_filename VARCHAR(20), + part_grade_id INTEGER, + CONSTRAINT sys_pk_11991 PRIMARY KEY (part_type_id), + CONSTRAINT parttype_abstractparttypeparttype FOREIGN KEY (abstract_part_type_id) REFERENCES abstract_part_type (abstract_part_type_id), + CONSTRAINT parttype_partgradeparttype FOREIGN KEY (part_grade_id) REFERENCES part_grade (part_grade_id) + ); + +CREATE INDEX sys_idx_parttype_abstractparttypeparttype_12453 ON part_type (abstract_part_type_id); + +CREATE INDEX sys_idx_parttype_partgradeparttype_12463 ON part_type (part_grade_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11991_11992 ON part_type (part_type_id); \ No newline at end of file diff --git a/migrations/0007-createBrandedPart.sql b/migrations/0007-createBrandedPart.sql new file mode 100644 index 000000000..7e974a8e7 --- /dev/null +++ b/migrations/0007-createBrandedPart.sql @@ -0,0 +1,22 @@ +CREATE TABLE + IF NOT EXISTS branded_part ( + branded_part_id INTEGER NOT NULL, + part_type_id INTEGER NOT NULL, + model_id INTEGER NOT NULL, + mfg_date TIMESTAMP NOT NULL, + qty_avail INTEGER NOT NULL, + retail_price INTEGER NOT NULL, + max_item_wear SMALLINT, + engine_block_family_id INTEGER DEFAULT 0 NOT NULL, + CONSTRAINT sys_pk_11801 PRIMARY KEY (branded_part_id), + CONSTRAINT brandedpart_modelbrandedpart FOREIGN KEY (model_id) REFERENCES model (model_id), + CONSTRAINT brandedpart_parttypebrandedpart1 FOREIGN KEY (part_type_id) REFERENCES part_type (part_type_id) + ); + +CREATE INDEX brandedpart_engineblockfamilyid ON branded_part (engine_block_family_id); + +CREATE INDEX sys_idx_brandedpart_modelbrandedpart_12255 ON branded_part (model_id); + +CREATE INDEX sys_idx_brandedpart_parttypebrandedpart1_12269 ON branded_part (part_type_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11801_11802 ON branded_part (branded_part_id); \ No newline at end of file diff --git a/migrations/0008-createPart.sql b/migrations/0008-createPart.sql new file mode 100644 index 000000000..f52820da0 --- /dev/null +++ b/migrations/0008-createPart.sql @@ -0,0 +1,25 @@ +CREATE TABLE + IF NOT EXISTS part ( + part_id INTEGER NOT NULL, + parent_part_id INTEGER, + branded_part_id INTEGER NOT NULL, + percent_damage SMALLINT NOT NULL, + item_wear INTEGER NOT NULL, + attachment_point_id INTEGER, + owner_id INTEGER, + part_name VARCHAR(100), + repair_cost INTEGER DEFAULT 0, + scrap_value INTEGER DEFAULT 0, + CONSTRAINT sys_pk_11976 PRIMARY KEY (part_id), + CONSTRAINT part_brandedpartpart FOREIGN KEY (branded_part_id) REFERENCES branded_part (branded_part_id), + CONSTRAINT part_r25 FOREIGN KEY (parent_part_id) REFERENCES part (part_id), + CONSTRAINT part_r9 FOREIGN KEY (attachment_point_id) REFERENCES attachment_point (attachment_point_id) + ); + +CREATE INDEX sys_idx_part_brandedpartpart_12431 ON part (branded_part_id); + +CREATE INDEX sys_idx_part_r25_15192 ON part (parent_part_id); + +CREATE INDEX sys_idx_part_r9_12442 ON part (attachment_point_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11976_11977 ON part (part_id); \ No newline at end of file diff --git a/migrations/0009-createDriverClass.sql b/migrations/0009-createDriverClass.sql new file mode 100644 index 000000000..5908af5ca --- /dev/null +++ b/migrations/0009-createDriverClass.sql @@ -0,0 +1,8 @@ +CREATE TABLE + IF NOT EXISTS driver_class ( + driver_class_id SMALLINT NOT NULL, + driver_class VARCHAR(50), + CONSTRAINT sys_pk_11831 PRIMARY KEY (driver_class_id) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_11831_11832 ON driver_class (driver_class_id); \ No newline at end of file diff --git a/migrations/0010-createPlayerType.sql b/migrations/0010-createPlayerType.sql new file mode 100644 index 000000000..2f771a906 --- /dev/null +++ b/migrations/0010-createPlayerType.sql @@ -0,0 +1,8 @@ +CREATE TABLE + IF NOT EXISTS player_type ( + player_type_id INTEGER NOT NULL, + player_type VARCHAR(100) NOT NULL, + CONSTRAINT sys_pk_12040 PRIMARY KEY (player_type_id) + ); + + CREATE UNIQUE INDEX sys_idx_sys_pk_12040_12041 ON player_type (player_type_id); \ No newline at end of file diff --git a/migrations/0011-createPlayer.sql b/migrations/0011-createPlayer.sql new file mode 100644 index 000000000..3fd44484c --- /dev/null +++ b/migrations/0011-createPlayer.sql @@ -0,0 +1,90 @@ +CREATE TABLE + IF NOT EXISTS player ( + player_id INTEGER NOT NULL, + customer_id INTEGER NOT NULL, + player_type_id INTEGER NOT NULL, + sanctioned_score INTEGER, + challenge_score INTEGER, + last_logged_in TIMESTAMP, + times_logged_in SMALLINT, + bank_balance INTEGER NOT NULL, + num_cars_owned SMALLINT NOT NULL, + is_logged_in SMALLINT, + driver_style SMALLINT NOT NULL, + lp_code INTEGER NOT NULL, + lp_text VARCHAR(9), + car_num1 VARCHAR(2) NOT NULL, + car_num2 VARCHAR(2) NOT NULL, + car_num3 VARCHAR(2) NOT NULL, + car_num4 VARCHAR(2) NOT NULL, + car_num5 VARCHAR(2) NOT NULL, + car_num6 VARCHAR(2) NOT NULL, + dl_number VARCHAR(20), + persona VARCHAR(30) NOT NULL, + "address" VARCHAR(128), + residence VARCHAR(20), + vehicle_id INTEGER, + current_race_id INTEGER, + offline_driver_skill INTEGER, + offline_grudge INTEGER, + offline_reputation INTEGER, + total_time_played INTEGER, + car_info_setting INTEGER, + stock_classic_class SMALLINT, + stock_muscle_class SMALLINT, + modified_classic_class SMALLINT, + modified_muscle_class SMALLINT, + outlaw_class SMALLINT, + drag_class SMALLINT, + challenge_rung INTEGER, + offline_ai_car_class SMALLINT DEFAULT 0, + offline_ai_skin_id INTEGER DEFAULT 0, + offline_ai_car_bpt_id INTEGER DEFAULT 0, + offline_ai_state SMALLINT DEFAULT 0, + body_type INTEGER DEFAULT 0, + skin_color INTEGER DEFAULT 0, + hair_color INTEGER DEFAULT 0, + shirt_color INTEGER DEFAULT 0, + pants_color INTEGER DEFAULT 0, + offline_driver_style INTEGER, + offline_driver_attitude INTEGER, + evaded_fuzz INTEGER DEFAULT 0, + pinks_won INTEGER DEFAULT 0, + num_unread_mail INTEGER DEFAULT 0, + total_races_run INTEGER DEFAULT 0, + total_races_won INTEGER DEFAULT 0, + total_races_completed INTEGER DEFAULT 0, + total_winnings INTEGER DEFAULT 0, + insurance_risk_points INTEGER DEFAULT 0, + insurance_rating INTEGER DEFAULT 0, + challenge_races_run INTEGER DEFAULT 0, + challenge_races_won INTEGER DEFAULT 0, + challenge_races_completed INTEGER DEFAULT 0, + cars_lost INTEGER DEFAULT 0, + cars_won INTEGER DEFAULT 0, + CONSTRAINT sys_pk_12021 PRIMARY KEY ("player_id"), + CONSTRAINT player_driverclassplayer1 FOREIGN KEY (stock_muscle_class) REFERENCES driver_class (driver_class_id), + CONSTRAINT player_driverclassplayer2 FOREIGN KEY (modified_classic_class) REFERENCES driver_class (driver_class_id), + CONSTRAINT player_driverclassplayer3 FOREIGN KEY (modified_muscle_class) REFERENCES driver_class (driver_class_id), + CONSTRAINT player_driverclassplayer4 FOREIGN KEY (outlaw_class) REFERENCES driver_class (driver_class_id), + CONSTRAINT player_driverclassplayer5 FOREIGN KEY (drag_class) REFERENCES driver_class (driver_class_id), + CONSTRAINT player_r44 FOREIGN KEY (player_type_id) REFERENCES player_type (player_type_id) + ); + +CREATE INDEX IF NOT EXISTS player_numunreadmail ON player (num_unread_mail); + +CREATE INDEX IF NOT EXISTS player_offlinechallengecarbptid ON player (offline_ai_car_bpt_id); + +CREATE INDEX IF NOT EXISTS sys_idx_player_driverclassplayer1_12502 ON player (stock_muscle_class); + +CREATE INDEX IF NOT EXISTS sys_idx_player_driverclassplayer2_12523 ON player (modified_classic_class); + +CREATE INDEX IF NOT EXISTS sys_idx_player_driverclassplayer3_12544 ON player (modified_muscle_class); + +CREATE INDEX IF NOT EXISTS sys_idx_player_driverclassplayer4_12565 ON player (outlaw_class); + +CREATE INDEX IF NOT EXISTS sys_idx_player_driverclassplayer5_12586 ON player (drag_class); + +CREATE INDEX IF NOT EXISTS sys_idx_player_r44_12607 ON player (player_type_id); + +CREATE UNIQUE INDEX IF NOT EXISTS sys_idx_sys_pk_12021_12022 ON player (player_id); \ No newline at end of file diff --git a/migrations/0012-createSkinType.sql b/migrations/0012-createSkinType.sql new file mode 100644 index 000000000..b7e90e247 --- /dev/null +++ b/migrations/0012-createSkinType.sql @@ -0,0 +1,8 @@ +CREATE TABLE + IF NOT EXISTS skin_type ( + skin_type_id INTEGER NOT NULL, + skin_type VARCHAR(100), + CONSTRAINT sys_pk_12138 PRIMARY KEY (skin_type_id) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12138_12139 ON skin_type (skin_type_id); \ No newline at end of file diff --git a/migrations/0013-createPtSkin.sql b/migrations/0013-createPtSkin.sql new file mode 100644 index 000000000..a697a43f5 --- /dev/null +++ b/migrations/0013-createPtSkin.sql @@ -0,0 +1,77 @@ +CREATE TABLE + IF NOT EXISTS pt_skin ( + skin_id INTEGER NOT NULL, + creator_id INTEGER, + skin_type_id INTEGER, + part_type_id INTEGER, + e_skin VARCHAR(100), + g_skin VARCHAR(20), + f_skin VARCHAR(20), + s_skin VARCHAR(20), + i_skin VARCHAR(20), + j_skin VARCHAR(20), + sw_skin VARCHAR(20), + b_skin VARCHAR(20), + price INTEGER NOT NULL, + part_filename VARCHAR(20), + h0 SMALLINT, + s0 SMALLINT, + v0 SMALLINT, + c0 SMALLINT, + x0 SMALLINT, + y0 SMALLINT, + h1 SMALLINT, + s1 SMALLINT, + v1 SMALLINT, + c1 SMALLINT, + x1 SMALLINT, + y1 SMALLINT, + h2 SMALLINT, + s2 SMALLINT, + v2 SMALLINT, + c2 SMALLINT, + x2 SMALLINT, + y2 SMALLINT, + h3 SMALLINT, + s3 SMALLINT, + v3 SMALLINT, + c3 SMALLINT, + x3 SMALLINT, + y3 SMALLINT, + h4 SMALLINT, + s4 SMALLINT, + v4 SMALLINT, + c4 SMALLINT, + x4 SMALLINT, + y4 SMALLINT, + h5 SMALLINT, + s5 SMALLINT, + v5 SMALLINT, + c5 SMALLINT, + x5 SMALLINT, + y5 SMALLINT, + h6 SMALLINT, + s6 SMALLINT, + v6 SMALLINT, + c6 SMALLINT, + x6 SMALLINT, + y6 SMALLINT, + h7 SMALLINT, + s7 SMALLINT, + v7 SMALLINT, + c7 SMALLINT, + x7 SMALLINT, + y7 SMALLINT, + default_flag INTEGER DEFAULT 0, + creator_name VARCHAR(24), + comment_text VARCHAR(128), + CONSTRAINT sys_pk_12047 PRIMARY KEY (skin_id), + CONSTRAINT pt_skin_part_type_pt_skin FOREIGN KEY (part_type_id) REFERENCES part_type (part_type_id), + CONSTRAINT pt_skin_skin_type_pt_skin FOREIGN KEY (skin_type_id) REFERENCES skin_type (skin_type_id) + ); + +CREATE INDEX sys_idx_pt_skin_part_type_pt_skin_12628 ON pt_skin (part_type_id); + +CREATE INDEX sys_idx_pt_skin_skin_type_pt_skin_12636 ON pt_skin (skin_type_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12047_12048 ON pt_skin (skin_id); \ No newline at end of file diff --git a/migrations/0014-createVehicle.sql b/migrations/0014-createVehicle.sql new file mode 100644 index 000000000..2af4ee5e7 --- /dev/null +++ b/migrations/0014-createVehicle.sql @@ -0,0 +1,19 @@ +CREATE TABLE + IF NOT EXISTS vehicle ( + vehicle_id INTEGER NOT NULL, + skin_id INTEGER NOT NULL, + flags INTEGER NOT NULL, + class SMALLINT NOT NULL, + info_setting SMALLINT NOT NULL, + damage_info bytea, + damage_cached INTEGER DEFAULT 0, + CONSTRAINT sys_pk_12214 PRIMARY KEY (vehicle_id), + CONSTRAINT vehicle_partvehicle FOREIGN KEY (vehicle_id) REFERENCES part (part_id) ON DELETE CASCADE, + CONSTRAINT vehicle_ptskinvehicle FOREIGN KEY (skin_id) REFERENCES pt_skin (skin_id) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12214_12215 ON vehicle (vehicle_id); + +CREATE INDEX sys_idx_vehicle_partvehicle_12844 ON vehicle (vehicle_id); + +CREATE INDEX sys_idx_vehicle_ptskinvehicle_12856 ON vehicle (skin_id); \ No newline at end of file diff --git a/migrations/0015-seedAttachmentPoint.sql b/migrations/0015-seedAttachmentPoint.sql new file mode 100644 index 000000000..ceddc94d9 --- /dev/null +++ b/migrations/0015-seedAttachmentPoint.sql @@ -0,0 +1,19 @@ +INSERT INTO + attachment_point (attachment_point_id, attachment_point) +VALUES + (0, '(default)'), + (1, 'Left Front'), + (2, 'Right Front'), + (3, 'Left Rear'), + (4, 'Right Rear'), + (5, 'Left'), + (6, 'Right'), + (7, 'A'), + (8, 'B'), + (9, 'C'); + +INSERT INTO + attachment_point (attachment_point_id, attachment_point) +VALUES + (10, 'Front'), + (11, 'Rear'); \ No newline at end of file diff --git a/migrations/0016-seedBrand.sql b/migrations/0016-seedBrand.sql new file mode 100644 index 000000000..e3ce44d41 --- /dev/null +++ b/migrations/0016-seedBrand.sql @@ -0,0 +1,134 @@ +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (0, 'EA', 'ea', 0), + (1, 'Ford', 'ford', 9), + (2, 'Mercury', 'merc', 9), + (3, 'Chevrolet', 'chev', 9), + (4, 'Cadillac', 'cadi', 9), + (5, 'Oldsmobile', 'olds', 9), + (6, 'Buick', 'buic', 9), + (7, 'Pontiac', 'pont', 9), + (8, 'Chrysler', 'chry', 9), + (9, 'Dodge', 'dodg', 9); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (10, 'Plymouth', 'plym', 9), + (11, 'AMC', 'amer', 9), + (12, 'AMC', NULL, 9), + (13, 'Edelbrock', 'edel', 0), + (14, 'Holley', 'holl', 0), + (15, 'GM', 'gm', 9), + (16, 'Rochester', 'roch', 0), + (17, 'Borg - Warner', 'borg', 0), + (18, 'Vich', 'vich', 0), + (19, 'Tibbits', 'tibb', 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (20, 'Lindstrom', 'lind', 0), + (21, 'Crane', 'cran', 0), + (22, 'Carter', 'cart', 0), + (23, 'Carter - Rochester', NULL, 0), + (25, 'Marinn', 'mari', 0), + (26, 'Mallory', 'mall', 0), + (27, 'Accel', 'acce', 0), + (28, 'Stromberg', 'stro', 0), + (29, 'AeroFit', 'aero', 0), + (30, 'Hooker', 'hook', 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (31, 'TFSpecial', 'tfs', 0), + (32, 'Apex', 'apex', 0), + (34, 'ProTread', 'prot', 0), + (35, 'PowerGrip', 'powe', 0), + (36, 'C & A', 'ca', 0), + (37, 'Manley', 'manl', 0), + (38, 'Offenhauser', 'offe', 0), + (39, 'Signature', 'sign', 0), + (40, 'TRW', 'trw', 0), + (41, 'JE Pistons', 'jepi', 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (42, 'Mr. Gasket', 'mrg', 0), + (43, 'Pro - Formance', NULL, 0), + (44, 'Blinsky', 'blin', 0), + (45, 'SMVintage', 'sm', 0), + (46, 'Bully', 'bull', 0), + (47, 'Hays', 'hays', 0), + (48, 'Lakewood', 'lake', 0), + (49, 'Ferrari', 'ferr', 0), + (50, 'Monarch', 'good', 0), + (53, 'Emberwood', NULL, 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (54, 'Full Gee', NULL, 0), + (56, 'BlackTop', NULL, 0), + (57, 'Monroe', NULL, 0), + (58, 'Lunati', NULL, 0), + (59, 'Coatili', NULL, 0), + (60, 'Acio', NULL, 0), + (61, 'Dana', NULL, 0), + (62, 'Potter', NULL, 0), + (63, 'Autolite', NULL, 0), + (64, 'Begren', NULL, 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (65, 'Kelsey - Hayes', NULL, 0), + (67, 'Hall', NULL, 0), + (68, 'US Radiator', NULL, 0), + (69, 'Gifford', NULL, 0), + (70, 'Shade Tree', NULL, 0), + (71, 'AC Delco', NULL, 0), + (72, 'Bendix', NULL, 0), + (73, 'Ansman', NULL, 0), + (74, 'Raven', NULL, 0), + (76, 'Panteli', NULL, 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (77, 'Reed', NULL, 0), + (78, 'Shelby', ' ', 0), + (79, 'Leland', NULL, 0), + (80, 'Dunbar', NULL, 0), + (81, 'Weiand', NULL, 0), + (82, 'Quaker', NULL, 0), + (83, 'Oldfield', NULL, 0), + (84, 'Milloy', NULL, 0), + (85, 'Quik Lift', NULL, 0), + (86, 'Duro Rod', NULL, 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (87, 'Newcomb', NULL, 0), + (88, 'Hedgely', NULL, 0), + (89, 'Fyne Grind', NULL, 0), + (90, 'Electronic Arts', ' ', 0), + (91, 'Rad Rat', NULL, 0), + (92, 'C & B', NULL, 0), + (93, 'Perfect Port', NULL, 0), + (94, 'Walter', NULL, 0), + (95, 'Percy', NULL, 0), + (96, 'Street Shark', NULL, 0); + +INSERT INTO + brand (brand_id, brand, pic_name, is_stock) +VALUES + (97, 'Pirelli', NULL, 0), + (98, 'Michelin', NULL, 0), + (99, 'Firestone', NULL, 0), + (100, 'Goodyear', NULL, 0), + (101, 'Yokohama', NULL, 0); \ No newline at end of file diff --git a/migrations/0017-seedModel.sql b/migrations/0017-seedModel.sql new file mode 100644 index 000000000..8deafac20 --- /dev/null +++ b/migrations/0017-seedModel.sql @@ -0,0 +1,96122 @@ +INSERT INTO + model ( + model_id, + brand_id, + e_model, + g_model, + f_model, + s_model, + i_model, + j_model, + sw_model, + b_model, + e_extra_info, + g_extra_info, + f_extra_info, + s_extra_info, + i_extra_info, + j_extra_info, + sw_extra_info, + b_extra_info, + e_short_model, + g_short_model, + f_short_model, + s_short_model, + i_short_model, + j_short_model, + sw_short_model, + b_short_model, + debug_string, + debug_sort_string + ) +VALUES + ( + 1, + 1, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 V-8 Coupe', + 'Vehicle' + ), + ( + 2, + 2, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mercury 49 Coupe', + 'Vehicle' + ), + ( + 3, + 3, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Bel-Air', + 'Vehicle' + ), + ( + 4, + 4, + 'Series 62', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Series 62', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 47 Series 62', + 'Vehicle' + ), + ( + 5, + 6, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick 55 Century', + 'Vehicle' + ), + ( + 6, + 7, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 66 GTO', + 'Vehicle' + ), + ( + 7, + 1, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 40 Coupe', + 'Vehicle' + ), + ( + 8, + 3, + 'Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Corvette', + 'Vehicle' + ), + ( + 9, + 4, + 'Eldorado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eldorado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 59 Eldorado', + 'Vehicle' + ), + ( + 10, + 5, + '4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 69 4-4-2', + 'Vehicle' + ), + ( + 12, + 7, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 69 GTO', + 'Vehicle' + ), + ( + 14, + 1, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 53 Crestline', + 'Vehicle' + ), + ( + 16, + 3, + 'Nomad', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nomad', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Nomad Wagon', + 'Vehicle' + ), + ( + 20, + 7, + 'Firebird T/A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 73 Firebird T/A', + 'Vehicle' + ), + ( + 21, + 1, + 'Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Fairlane 500', + 'Vehicle' + ), + ( + 25, + 1, + 'Ranchero', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ranchero', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Custom Ranchero', + 'Vehicle' + ), + ( + 26, + 3, + 'Stingray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stingray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 63 Stingray', + 'Vehicle' + ), + ( + 32, + 1, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 63 Thunderbird', + 'Vehicle' + ), + ( + 33, + 3, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Chevelle', + 'Vehicle' + ), + ( + 34, + 5, + '350-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB V8 350', + 'Engine Block' + ), + ( + 36, + 1, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Mustang Boss 302', + 'Vehicle' + ), + ( + 37, + 3, + 'Camaro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Camaro', + 'Vehicle' + ), + ( + 38, + 5, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB V8 400', + 'Engine Block' + ), + ( + 40, + 1, + 'Galaxie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Galaxie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 64 Galaxie 500', + 'Vehicle' + ), + ( + 41, + 3, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Chevelle', + 'Vehicle' + ), + ( + 42, + 5, + '455-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB V8 455', + 'Engine Block' + ), + ( + 45, + 3, + 'El Camino', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'El Camino', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 El Camino', + 'Vehicle' + ), + ( + 46, + 3, + 'Nova', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nova', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Nova', + 'Vehicle' + ), + ( + 47, + 1, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Thunderbird', + 'Vehicle' + ), + ( + 48, + 3, + 'Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 64 Impala', + 'Vehicle' + ), + ( + 49, + 3, + 'Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 58 Impala', + 'Vehicle' + ), + ( + 52, + 7, + '389-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 389', + 'Engine Block' + ), + ( + 54, + 7, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 400', + 'Engine Block' + ), + ( + 56, + 7, + '428-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 428', + 'Engine Block' + ), + ( + 58, + 7, + '455-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 455', + 'Engine Block' + ), + ( + 76, + 3, + '265-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Fire block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 265', + 'Engine Block' + ), + ( + 77, + 3, + '283-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 283', + 'Engine Block' + ), + ( + 78, + 3, + '302-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 302', + 'Engine Block' + ), + ( + 79, + 1, + 'Flathead 221-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '24-bolt', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '221', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 221-V8', + 'Engine Block' + ), + ( + 80, + 3, + '307-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '307', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 307', + 'Engine Block' + ), + ( + 81, + 1, + '260-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '260', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 260-V8', + 'Engine Block' + ), + ( + 82, + 1, + '272-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '272', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 272-V8', + 'Engine Block' + ), + ( + 83, + 3, + '327-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 327', + 'Engine Block' + ), + ( + 85, + 1, + '292-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '292', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 292-V8', + 'Engine Block' + ), + ( + 86, + 3, + '348-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '348', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W V8 348', + 'Engine Block' + ), + ( + 87, + 3, + '350-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350-V8', + 'Engine Block' + ), + ( + 88, + 1, + '351-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland V8-351', + 'Engine Block' + ), + ( + 89, + 1, + '390-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB V8 390', + 'Engine Block' + ), + ( + 90, + 4, + '390-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB V8 390', + 'Engine Block' + ), + ( + 91, + 1, + '406-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '406', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 406-V8', + 'Engine Block' + ), + ( + 92, + 3, + '396-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 396', + 'Engine Block' + ), + ( + 93, + 3, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB V8 400', + 'Engine Block' + ), + ( + 94, + 1, + '428-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '428', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 428-V8', + 'Engine Block' + ), + ( + 95, + 3, + '409-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '409', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W V8 409', + 'Engine Block' + ), + ( + 96, + 3, + '454-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 454', + 'Engine Block' + ), + ( + 97, + 1, + '352-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '352', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 352-V8', + 'Engine Block' + ), + ( + 98, + 3, + '502-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '502', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 502', + 'Engine Block' + ), + ( + 99, + 18, + 'Sipper', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sipper', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sipper Air Scoop 1%', + 'Air Scoop' + ), + ( + 100, + 18, + 'Slipstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Slipstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Slipstream Air Scoop 2%', + 'Air Scoop' + ), + ( + 101, + 18, + 'Impeller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Impeller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Impeller Air Scoop 3%', + 'Air Scoop' + ), + ( + 102, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 103, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 104, + 1, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss 302 Rod', + 'Connecting Rods' + ), + ( + 105, + 1, + 'HD Capscrew', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD Capscrew', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HD Capscrew Connecting Rod', + 'Connecting Rods' + ), + ( + 106, + 1, + 'HP 390', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP 390', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HP 390 Rod', + 'Connecting Rods' + ), + ( + 107, + 7, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air V Connecting Rod', + 'Connecting Rods' + ), + ( + 108, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock CI EM', + 'Exhaust Manifold' + ), + ( + 109, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 110, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 111, + 37, + '1.625" Treated Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 TI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Single Exhaust Pipe (Treated Iron)', + 'Exhaust Pipe' + ), + ( + 112, + 37, + '1.625" Treated Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 TI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Dual Exhaust Pipe (Treated Iron)', + 'Exhaust Pipe' + ), + ( + 113, + 37, + '1.625" Cast Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 CI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Single Exhaust Pipe (Cast Iron)', + 'Exhaust Pipe' + ), + ( + 114, + 37, + '1.625" Cast Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 CI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Dual Exhaust Pipe (Cast Iron)', + 'Exhaust Pipe' + ), + ( + 115, + 59, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midas Stock Muffler', + 'Muffler' + ), + ( + 116, + 59, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midas Aluminum Stock Muffler', + 'Muffler' + ), + ( + 117, + 30, + 'Dual Tail Pipe Tip 001', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Dual Tail Pipe Tip 001', + 'Tail Pipe Tip' + ), + ( + 118, + 60, + 'Dual Tail Pipe Tip 002', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Acio Dual Tail Pipe Tip 002', + 'Tail Pipe Tip' + ), + ( + 119, + 60, + 'Single Tail Pipe Tip 001', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Acio Single Tail Pipe Tip 001', + 'Tail Pipe Tip' + ), + ( + 120, + 60, + 'Single Tail Pipe Tip (Flaming)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Acio Single Tail Pipe Tip (Flaming)', + 'Tail Pipe Tip' + ), + ( + 121, + 1, + '3-Speed Auto A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3-Speed Auto (2.5/1.56/1)', + 'Transmission' + ), + ( + 122, + 1, + '3-Speed Auto (2.4/1.479/1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3-Speed Auto (2.4/1.479/1)', + 'Transmission' + ), + ( + 123, + 17, + '4-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner 4-Speed Auto (2.741/1.568/1/0.674)', + 'Transmission' + ), + ( + 124, + 1, + '3-Speed Auto B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3-Speed Auto (2.52/1.52/1) A', + 'Transmission' + ), + ( + 125, + 1, + '3-Speed Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3-Speed Auto (2.482/1.482/1)', + 'Transmission' + ), + ( + 126, + 3, + '4-Speed Auto High', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Auto High', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Auto (3.059/1.625/1/0.696) A', + 'Transmission' + ), + ( + 127, + 3, + '4-Speed Auto Wide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Auto Wide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Automatic (2.4/1.479/1/0.723)', + 'Transmission' + ), + ( + 128, + 3, + '4-Speed Auto Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Auto Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Auto (2.482/1.482/1/0.75)', + 'Transmission' + ), + ( + 129, + 1, + '4-Speed Auto (2.74/1.57/1/0.67)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4-Speed Auto (2.74/1.57/1/0.67)', + 'Transmission' + ), + ( + 130, + 1, + '4-Speed Auto (3.06/1.62/1/0.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4-Speed Auto (3.06/1.62/1/0.7)', + 'Transmission' + ), + ( + 131, + 1, + '4-Speed Auto (3.97/2.55/1.55/1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4-Speed Auto (3.97/2.55/1.55/1)', + 'Transmission' + ), + ( + 132, + 46, + '5-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '5-Speed Manual Wide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully 5-Speed Manual (2.95/1.94/1.34/1/0.63)', + 'Transmission' + ), + ( + 133, + 46, + '5-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '5-Speed Manual Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully 5-Speed Manual (2.75/1.94/1.34/1/0.74)', + 'Transmission' + ), + ( + 134, + 46, + '4-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully 4-Speed Manual (2.64/1.61/1.23/1)', + 'Transmission' + ), + ( + 135, + 3, + '4-Speed Manual Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Manual Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Manual (2.88/1.74/1.33/1)', + 'Transmission' + ), + ( + 136, + 3, + '4-Speed Manual High', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Manual High', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Manual (3.44/2.28/1.46/1)', + 'Transmission' + ), + ( + 137, + 3, + '4-Speed Manual Wide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Manual Wide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4-Speed Manual (2.66/1.91/1.39/1)', + 'Transmission' + ), + ( + 138, + 15, + '4-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4-Speed Manual (2.22/1.64/1.28/1) (g)', + 'Transmission' + ), + ( + 139, + 15, + '4-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4-Speed Manual (2.65/1.93/1.39/1)', + 'Transmission' + ), + ( + 140, + 61, + '2.73 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.73', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (2.73) Differential', + 'Rear End' + ), + ( + 141, + 61, + '2.93 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.93', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (2.93) Differential', + 'Rear End' + ), + ( + 142, + 61, + '3.00 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.00) Differential', + 'Rear End' + ), + ( + 143, + 61, + '3.23 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.23', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.23) Differential', + 'Rear End' + ), + ( + 144, + 61, + '3.31 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.31) Differential', + 'Rear End' + ), + ( + 145, + 61, + '3.42 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.42) Differential', + 'Rear End' + ), + ( + 146, + 61, + '3.50 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.50) Differential', + 'Rear End' + ), + ( + 147, + 61, + '3.54 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.54', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.54) Differential', + 'Rear End' + ), + ( + 148, + 61, + '3.55 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.55) Differential', + 'Rear End' + ), + ( + 149, + 61, + '3.64 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.64', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.64) Differential', + 'Rear End' + ), + ( + 150, + 61, + '3.70 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.70', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.70) Differential', + 'Rear End' + ), + ( + 151, + 61, + '3.77 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.77', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.77) Differential', + 'Rear End' + ), + ( + 152, + 61, + '3.9 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.9', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.9) Differential', + 'Rear End' + ), + ( + 153, + 61, + '4.10 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (4.10) Differential', + 'Rear End' + ), + ( + 154, + 61, + '4.33 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4.33', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (4.33) Differential', + 'Rear End' + ), + ( + 155, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock Intake Manifold', + 'Intake Manifold' + ), + ( + 156, + 63, + '4V (300 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (300 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4V (300 cfm) Carb', + 'Carburetor' + ), + ( + 157, + 63, + '6V Carburetor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '6V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 6V Carburetor', + 'Carburetor' + ), + ( + 158, + 71, + 'Stock Oil Bath', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Economy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Economy Light Duty Air Cleaner', + 'Air Cleaner' + ), + ( + 159, + 14, + 'Hi-Tek', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hi-Tek', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Hi-Tek Air Cleaner', + 'Air Cleaner' + ), + ( + 160, + 13, + 'Pro-Flo 1000', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Flo 1000', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Pro-Flo 1000 Air Cleaner', + 'Air Cleaner' + ), + ( + 161, + 20, + 'P05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'P05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lindstrom P05 Blower', + 'Blower' + ), + ( + 162, + 14, + 'Pro-Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Pro-Street Blower', + 'Blower' + ), + ( + 163, + 20, + 'Little Rabbit', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Little Rabbit', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lindstrom Little Rabbit NOS', + 'Nitrous Injector' + ), + ( + 164, + 20, + 'Cheetah', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cheetah', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lindstrom Cheetah NOS', + 'Nitrous Injector' + ), + ( + 165, + 3, + 'Big Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy BB Stock Lubrication System', + 'Lubrication System' + ), + ( + 166, + 1, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (9.0) Stock CH', + 'Cylinder Head' + ), + ( + 167, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Chrysler SB HP Camshaft', + 'Camshaft' + ), + ( + 168, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 169, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 172, + 11, + 'AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 69 AMX', + 'Vehicle' + ), + ( + 173, + 9, + 'Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dodge 69 Charger', + 'Vehicle' + ), + ( + 174, + 10, + 'Rd. Runner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Runner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 69 Road Runner', + 'Vehicle' + ), + ( + 175, + 10, + 'Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 70 Cuda', + 'Vehicle' + ), + ( + 176, + 10, + 'Duster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 71 Duster', + 'Vehicle' + ), + ( + 187, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock CI Connecting Rod', + 'Connecting Rods' + ), + ( + 188, + 63, + '2V (300 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2V (300 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 2V (300 cfm) Carb', + 'Carburetor' + ), + ( + 189, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 190, + 65, + 'Cast Iron Rim', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cast Iron', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Kelsey-Hayes Cast Iron Rim', + 'Wheel Rims' + ), + ( + 192, + 0, + 'Speedline Driver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speedline Driver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Speedline Driver', + 'Driver' + ), + ( + 193, + 68, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'US Radiator Stock Normal Duty Cooling System', + 'Cooling System' + ), + ( + 194, + 25, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Stock Normal Duty Electrical System', + 'Electrical System' + ), + ( + 195, + 67, + 'Fuzzy Dice', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall Fuzzy Dice Accessory', + 'Fuzzy Dice' + ), + ( + 196, + 15, + 'Rear View Mirror', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Rear View Mirror', + 'Rear View Mirror' + ), + ( + 197, + 1, + 'Rear View Mirror', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Rear View Mirror', + 'Rear View Mirror' + ), + ( + 198, + 1, + '53 C.line Fender Skirt', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 53 C.line Fender Skirt', + 'Wheels Skirts' + ), + ( + 199, + 1, + '1955 Ford Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1955 Fairlane', + 'Wheels Skirts' + ), + ( + 200, + 1, + '1956 Ford / Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1956 Thunderbird Wheel Skirts', + 'Wheels Skirts' + ), + ( + 201, + 1, + '1957 Ford / Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1957 Thunderbird Wheel Skirts', + 'Wheels Skirts' + ), + ( + 202, + 4, + 'Cadillac Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1947 Cadillac Wheel Skirts', + 'Wheels Skirts' + ), + ( + 203, + 4, + 'Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '47 Caddy Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 1949 Wheel Skirts', + 'Wheels Skirts' + ), + ( + 204, + 4, + 'Eldorado Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eldorado Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 1973 Fleetwood Eldorado Wheel Skirts', + 'Wheels Skirts' + ), + ( + 205, + 3, + 'Chevy Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1953 Bel Air', + 'Wheels Skirts' + ), + ( + 206, + 3, + 'Impala Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1967 Impala Wheel Skirts', + 'Wheels Skirts' + ), + ( + 207, + 3, + 'Chevelle Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1969 Chevelle', + 'Wheels Skirts' + ), + ( + 208, + 3, + 'Monte Carlo Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1970 Monte Carlo', + 'Wheels Skirts' + ), + ( + 209, + 1, + '18 x 5.25 BP Blackwalls', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 18 x 5.25 Bias Ply Blackwalls (2ply)', + 'Tires' + ), + ( + 220, + 1, + '40 Coupe Fender Skirt', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 40 Coupe Fender Skirt', + 'Wheels Skirts' + ), + ( + 221, + 1, + '1937 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1937 Wheel Skirts', + 'Wheels Skirts' + ), + ( + 222, + 3, + 'Chevy Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wheel Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1939 Chevrolet', + 'Wheels Skirts' + ), + ( + 223, + 10, + '1941 Plymouth', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1941 Plymouth', + 'Wheels Skirts' + ), + ( + 224, + 11, + 'Rear View Mirror', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Rear View Mirror', + 'Rear View Mirror' + ), + ( + 225, + 8, + 'Rear View Mirror', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Rear View Mirror', + 'Rear View Mirror' + ), + ( + 226, + 0, + 'Medium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'medium window tint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Medium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Medium Window Tinting', + 'Window Tinting' + ), + ( + 227, + 3, + '2-Speed Powerglide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2-Speed Powerglide', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 2-Speed Powerglide', + 'Transmission' + ), + ( + 228, + 1, + '1927 Ford Model T Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1927 Model T Boards', + 'Running Boards' + ), + ( + 229, + 1, + '1931 Ford Model A Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1931 Model A Boards', + 'Running Boards' + ), + ( + 230, + 3, + 'Confederate Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1932 Confederate Boards', + 'Running Boards' + ), + ( + 231, + 1, + '1934 Ford Coupe Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1934 Coupe Boards', + 'Running Boards' + ), + ( + 232, + 1, + '1937 Ford Coupe Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1937 Coupe Boards', + 'Running Boards' + ), + ( + 233, + 3, + '37 Coupe Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1937 Chevy Coupe Boards', + 'Running Boards' + ), + ( + 234, + 3, + '39 Coupe Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1939 Coupe Boards', + 'Running Boards' + ), + ( + 235, + 10, + '1941 Plymouth Coupe Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1941 Coupe Boards', + 'Running Boards' + ), + ( + 236, + 4, + 'Sedanette Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1947 Cadillac Sedanette Running Boards', + 'Running Boards' + ), + ( + 237, + 1, + '1948 Ford Woody Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1948 Woody Boards', + 'Running Boards' + ), + ( + 238, + 0, + 'Amber', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Amber', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Amber Fog Lights', + 'Amber Fog Lights' + ), + ( + 244, + 0, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'White Fog Lights', + 'White Fog Lights' + ), + ( + 246, + 2, + '49 Coupe Fender Skirt', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mercury 49 Coupe Fender Skirt', + 'Wheels Skirts' + ), + ( + 247, + 3, + '3-Speed Stnd Ratio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1957 3-Speed Standard Ratio (Saginaw)', + 'Transmission' + ), + ( + 248, + 3, + '3-Speed Close Ratio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed Close', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 3-Speed Close Ratio (Saginaw)', + 'Transmission' + ), + ( + 249, + 3, + '3-Speed w/ Overdrive', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3-Speed OD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1957 3-Speed w/ Overdrive (Saginaw)', + 'Transmission' + ), + ( + 250, + 17, + '4-Speed Close Ratio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Close Ratio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner 1957 4-Speed Close Ratio (Toledo)', + 'Transmission' + ), + ( + 251, + 1, + '1957 Ford Thunderbird Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1957 Thunderbird Scoop', + 'Hood' + ), + ( + 252, + 3, + 'Stingray Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hood (fake)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1963 Corvette Stingray Scoop (fake)', + 'Hood' + ), + ( + 253, + 1, + '1963 Ford Thunderbird Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1963 Thunderbird Scoop', + 'Hood' + ), + ( + 254, + 7, + 'GTO Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'fake', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1964 GTO Scoop (fake)', + 'Hood' + ), + ( + 255, + 7, + 'GTO Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1966 GTO Scoop', + 'Hood' + ), + ( + 256, + 3, + 'SS-396 Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hood (Fake)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1967 Camaro SS-396 Scoop (fake)', + 'Hood' + ), + ( + 257, + 3, + 'SS-396 Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'fake', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1967 Chevelle SS-396 Scoop (fake)', + 'Hood' + ), + ( + 258, + 10, + '1969 Plymouth Road Runner Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Grabber scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1969 Road Runner Scoop ("Air Grabber" scoop)', + 'Hood' + ), + ( + 259, + 7, + '1969 Pontiac Firebird Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1969 Firebird Scoop', + 'Hood' + ), + ( + 260, + 7, + '1969 Pontiac GTO Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air III Induction system', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1969 GTO Scoop', + 'Hood' + ), + ( + 261, + 6, + '1970 Buick Gran Sport Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'download', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick 1970 Gran Sport Scoop (download)', + 'Hood' + ), + ( + 262, + 5, + '4-4-2 W-30 Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 1969 4-4-2 W-30 Scoop', + 'Hood' + ), + ( + 263, + 5, + '4-4-2 Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 1969 Hurst/Olds 4-4-2 Scoop', + 'Hood' + ), + ( + 264, + 1, + '1969 Ford Torino Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1969 Torino Scoop', + 'Hood' + ), + ( + 265, + 1, + '1969 Ford Torino GT Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air Induction system', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1969 Torino GT Scoop', + 'Hood' + ), + ( + 266, + 3, + 'Nova SS-396 Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hood (Fake)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1970 Nova SS-396 Scoop (fake)', + 'Hood' + ), + ( + 267, + 10, + '1970 Plymouth ''Cuda Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shaker hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1970 ''Cuda Scoop ("Shaker" hood)', + 'Hood' + ), + ( + 268, + 10, + '1970 Plymouth ''Cuda Hemi Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shaker hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1970 ''Cuda Hemi Scoop ("Shaker" hood)', + 'Hood' + ), + ( + 269, + 9, + '1970 Dodge Challenger R/T Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dodge 1970 Challenger R/T Scoop', + 'Hood' + ), + ( + 270, + 7, + '1973 Pontiac Trans-Am Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1973 Trans-Am Scoop', + 'Hood' + ), + ( + 271, + 7, + 'Firebird Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'twin scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1973 Firebird Scoop (twin scoop)', + 'Hood' + ), + ( + 272, + 1, + '1940 Ford Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'A Ford Spotlight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1940 Spot Light', + 'Spot Light' + ), + ( + 273, + 4, + 'Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1947 Cadillac Spot Light', + 'Spot Light' + ), + ( + 274, + 6, + '1955 Buick Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'This is a spot light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick 1955 Spot Light', + 'Spot Light' + ), + ( + 275, + 3, + 'Bel-Air Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1957 Bel-Air Spot Light', + 'Spot Light' + ), + ( + 276, + 3, + 'Wagon Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1957 Wagon Spot Light', + 'Spot Light' + ), + ( + 407, + 47, + 'Wheelie Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fits all cars', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hays Wheelie Bar Attachment', + 'Wheelie Bar' + ), + ( + 408, + 3, + 'Impala Sport Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hood (fake)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1958 Impala Sport Scoop (fake)', + 'Hood' + ), + ( + 409, + 14, + 'Street PowerCharger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street PowerCharger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Street PowerCharger Blower', + 'Blower' + ), + ( + 410, + 1, + 'Boss Ignition', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Boss XHD Electronic Ignition', + 'Electrical System' + ), + ( + 411, + 26, + 'Economy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Economy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mallory Economy Light Duty Electrical System', + 'Electrical System' + ), + ( + 412, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 HD Electrical System', + 'Electrical System' + ), + ( + 413, + 68, + 'Economy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Economy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'US Radiator Light Duty Cooling System', + 'Cooling System' + ), + ( + 414, + 68, + 'Cool-Flo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cool-Flo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'US Radiator Cool-Flo Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 415, + 68, + 'Maxi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Maxi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'US Radiator Maxi Extra Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 416, + 1, + 'Big Block Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss XHD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Boss XHD Cooling System', + 'Cooling System' + ), + ( + 417, + 7, + 'Stock CI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock CI Connecting Rod', + 'Connecting Rods' + ), + ( + 418, + 14, + '4150 4V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4150 4V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4150 4V (780 cfm)', + 'Carburetor' + ), + ( + 420, + 3, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Cast Iron Single Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 421, + 11, + 'AMC V8 290 Alum. Indy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'light weight aluminum block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 290 Indy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC V8 290 Aluminum Indy', + 'Engine Block' + ), + ( + 422, + 3, + 'Muncie Early (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Early Wide-Ratio (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Muncie Early Wide-Ratio (Manual) (1963-1965)', + 'Transmission' + ), + ( + 423, + 3, + 'Muncie (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Close-Ratio (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Muncie Close-Ratio (Manual) (1966-1974)', + 'Transmission' + ), + ( + 424, + 15, + 'Muncie Wide-Ratio M20', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'M20', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Muncie M20 Wide-Ratio Manual (2.52/1.88/1.46/1)', + 'Transmission' + ), + ( + 425, + 3, + 'Corvette 4-Speed Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-Speed Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1997 Corvette 4-Speed Automatic Transmission', + 'Transmission' + ), + ( + 426, + 0, + 'Speedliner 5-Speed Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'EA Speedliner 5-Speed Automatic Transmission (Modified Diablo Manual)', + 'Transmission' + ), + ( + 427, + 3, + 'Powerglide Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Powerglide (1963-73) Automatic(Heavy) (Aluminum, Two-speed)', + 'Transmission' + ), + ( + 428, + 3, + 'Turbo Hydra-Matic 350', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Turbo Hydra-Matic 350 (Automatic) (Equipped with 1969-1984 GM Cars)', + 'Transmission' + ), + ( + 429, + 17, + 'T-10X Comp. (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-10X', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner T-10X Special Competition (Manual)', + 'Transmission' + ), + ( + 430, + 17, + 'T-10W Spec. (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-10W', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner T-10W Special Wide-Ratio (Manual)', + 'Transmission' + ), + ( + 431, + 17, + 'T-10Y (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-10Y', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)', + 'Transmission' + ), + ( + 432, + 1, + 'T+C Overdrive (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford T+C Top Loader Overdrive (Manual) (1977-78)', + 'Transmission' + ), + ( + 433, + 1, + 'T+C Overdrive2 (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford T+C Top Loader Overdrive2 (Manual) (1979-86)', + 'Transmission' + ), + ( + 434, + 16, + '2GV 2V (200 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2GV 2V (200 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester 2GV 2V (200 cfm) Carb', + 'Carburetor' + ), + ( + 435, + 1, + '4-speed All-Synchro (Manual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-speed All-Synchro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4-speed All-Synchro (Manual)', + 'Transmission' + ), + ( + 436, + 3, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB HP Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 437, + 3, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Z11 HP Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 438, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 440, + 61, + '3.10 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.10) Differential', + 'Rear End' + ), + ( + 441, + 15, + '3.40 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM (3.40) Differential', + 'Rear End' + ), + ( + 442, + 1, + '460-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '460', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 460-V8', + 'Engine Block' + ), + ( + 443, + 1, + '40 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'good, solid, durable Ford bumpers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '40 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 40 Ford Bumpers', + 'Bumpers' + ), + ( + 444, + 3, + '427-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mark IV Big Block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 427', + 'Engine Block' + ), + ( + 445, + 15, + 'Dual Resonator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dual Resonator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Dual Resonator Muffler', + 'Muffler' + ), + ( + 446, + 9, + '1969 Dodge Charger RT Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dodge 1969 Charger RT Tip', + 'Tail Pipe Tip' + ), + ( + 447, + 5, + 'Trumpet Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 1969 4-4-2 Trumpet Tip', + 'Tail Pipe Tip' + ), + ( + 448, + 1, + '1970 Ford Mustang Oval Trumpet Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 1970 Mustang Oval Trumpet Tip', + 'Tail Pipe Tip' + ), + ( + 449, + 10, + '1970 Plymouth ''Cuda Chrome Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 1970 ''Cuda Chrome Tip', + 'Tail Pipe Tip' + ), + ( + 450, + 7, + 'Firebird Chrome Extension', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 1973 Firebird Chrome Extension', + 'Tail Pipe Tip' + ), + ( + 451, + 15, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Z11 Lubrication System', + 'Lubrication System' + ), + ( + 452, + 28, + '97 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '97 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stromberg 97 2V Carburetor', + 'Carburetor' + ), + ( + 453, + 27, + 'Billetproof Breakerless', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billetproof', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Accel Billetproof HD Breakerless', + 'Electrical System' + ), + ( + 454, + 27, + 'Blueprint Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Blueprint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Accel Blueprint HD Electronic', + 'Electrical System' + ), + ( + 455, + 14, + '2300 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2300 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 2300 2V Carburetor', + 'Carburetor' + ), + ( + 456, + 45, + 'Aluminum Alloy Rim', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SMVintage Aluminum Alloy Rim', + 'Wheel Rims' + ), + ( + 457, + 45, + 'Magnesium Rim', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Magnesium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SMVintage Magnesium Rim', + 'Wheel Rims' + ), + ( + 458, + 16, + '4G 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4G 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester 4G 4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 459, + 16, + 'Monojet 2V (350 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monojet 2V (350 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Monojet 2V (350 cfm) Carb', + 'Carburetor' + ), + ( + 460, + 14, + 'PowerCharger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerCharger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley PowerCharger (20%) Blower', + 'Blower' + ), + ( + 461, + 13, + 'RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock RPM Muffler', + 'Muffler' + ), + ( + 462, + 13, + 'Victor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Victor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Victor Muffler', + 'Muffler' + ), + ( + 463, + 13, + '304', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '304', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock 304 Muffler', + 'Muffler' + ), + ( + 464, + 30, + 'Maximum Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Maximum Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Maximum Flow', + 'Muffler' + ), + ( + 465, + 30, + 'Super Competition', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Competition', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Super Competition', + 'Muffler' + ), + ( + 466, + 30, + 'Elite Glasspack', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Elite Glasspack', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Elite Glasspack', + 'Muffler' + ), + ( + 467, + 1, + 'Big Block Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Boss XHD Lubrication System', + 'Lubrication System' + ), + ( + 468, + 46, + 'XHD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully XHD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully XHD Lubrication System', + 'Lubrication System' + ), + ( + 469, + 1, + 'Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cobra Lubrication System', + 'Lubrication System' + ), + ( + 470, + 25, + 'Marinn Large Bore Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Large Bore Tip', + 'Tail Pipe Tip' + ), + ( + 471, + 25, + 'Marinn Large Bore (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Large Bore (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 472, + 25, + 'Large Bore Tip w/resonator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Large Bore Tip w/resonator', + 'Tail Pipe Tip' + ), + ( + 473, + 25, + 'Large Bore Tip w/resonator (Dual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Large Bore Tip w/resonator (Dual)', + 'Tail Pipe Tip' + ), + ( + 474, + 25, + 'MegaCone Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn MegaCone Tip', + 'Tail Pipe Tip' + ), + ( + 475, + 25, + 'MegaCone (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn MegaCone (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 476, + 25, + 'Slanted Cut Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Slanted Cut Tip', + 'Tail Pipe Tip' + ), + ( + 477, + 25, + 'Slanted Cut (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Slanted Cut (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 478, + 25, + 'Slanted Cut Tip w/resonator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Slanted Cut Tip w/resonator', + 'Tail Pipe Tip' + ), + ( + 479, + 25, + 'Slanted Cut Tip w/resonator (Dual)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marinn Slanted Cut Tip w/resonator (Dual)', + 'Tail Pipe Tip' + ), + ( + 480, + 13, + 'Angle Cut Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Angle Cut Tip', + 'Tail Pipe Tip' + ), + ( + 481, + 13, + 'Angle Cut (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Angle Cut (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 482, + 13, + 'Flat Oval Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Flat Oval Tip', + 'Tail Pipe Tip' + ), + ( + 483, + 13, + 'Flat Oval (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Flat Oval (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 484, + 13, + 'Round Double Wall Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Round Double Wall Tip', + 'Tail Pipe Tip' + ), + ( + 485, + 13, + 'Edelbrock Round Double Wall (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Round Double Wall (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 486, + 13, + 'Edelbrock Round Turn-Down Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Round Turn-Down Tip', + 'Tail Pipe Tip' + ), + ( + 487, + 13, + 'Edelbrock Round Turn-Down (Dual) Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Round Turn-Down (Dual) Tip', + 'Tail Pipe Tip' + ), + ( + 488, + 30, + 'Str. Rodder Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Rodder', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Rodder Chevrolet SB Headers', + 'Exhaust Manifold' + ), + ( + 489, + 30, + 'Max Perf. Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Maximum Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Maximum Performance (Dual) Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 490, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Flat Top Cast Aluminum Piston', + 'Pistons' + ), + ( + 491, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Flat Top Cast Aluminum Piston', + 'Pistons' + ), + ( + 492, + 14, + 'Dominator 2300 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2300 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2300 2V Carb', + 'Carburetor' + ), + ( + 493, + 14, + '4150 4V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4150 4V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4150 4V (650 cfm) Carb', + 'Carburetor' + ), + ( + 494, + 13, + 'Performer 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer 4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 495, + 44, + 'Hi-Pro V8 5.0L', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'experimental aluminum engine block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '5.0L', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Blinsky Hi-Pro V8 5.0L', + 'Engine Block' + ), + ( + 497, + 14, + 'MegaBlower', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'MegaBlower', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley MegaBlower (25%)', + 'Blower' + ), + ( + 498, + 2, + 'Flathead 255', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '255', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mercury Flathead 255', + 'Engine Block' + ), + ( + 499, + 46, + '727 Torqueflite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '727 Torqueflite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully 727 Torqueflite (Chrysler 383, 440)', + 'Transmission' + ), + ( + 500, + 46, + 'Turbo-Hydro 400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Hydro 400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully Turbo-Hydro 400 Automatic (2.48/1.48/1)', + 'Transmission' + ), + ( + 501, + 46, + 'Torqueflite HD Cooler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torqueflite HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully Torqueflite HD Transmission Cooler', + 'Transmission Cooler' + ), + ( + 502, + 46, + 'Turbo ND Cooler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo ND', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully Turbo ND Transmission Cooler', + 'Transmission Cooler' + ), + ( + 503, + 46, + 'Powerglide LD Cooler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide LD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully Powerglide LD Transmission Cooler', + 'Transmission Cooler' + ), + ( + 504, + 46, + 'C-6 XHD Cooler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C-6 XHD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully C-6 XHD Transmission Cooler', + 'Transmission Cooler' + ), + ( + 505, + 14, + 'Powershot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powershot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley NOS Powershot', + 'Nitrous Injector' + ), + ( + 506, + 14, + 'Super Powershot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Powershot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Super Powershot', + 'Nitrous Injector' + ), + ( + 507, + 14, + 'Cheater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cheater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Cheater', + 'Nitrous Injector' + ), + ( + 508, + 14, + 'Sneeky Pete', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sneeky Pete', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Sneeky Pete NOS', + 'Nitrous Injector' + ), + ( + 509, + 1, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 65 Mustang', + 'Vehicle' + ), + ( + 513, + 1, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 V-8 Coupe - Modified', + 'Vehicle' + ), + ( + 517, + 16, + 'Ramjet Fuel Injector', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ramjet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Ramjet Fuel Injector', + 'Carburetor' + ), + ( + 518, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Flat Top Cast Aluminum Piston', + 'Pistons' + ), + ( + 525, + 20, + 'Cop Lights', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'the familiar blue and red flashing lights', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cop Lights', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lindstrom Cop Lights', + 'Cop Lights' + ), + ( + 526, + 0, + 'Traffic 2 door', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TRAFFIC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic 2 door', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Traffic 2 door', + 'Vehicle' + ), + ( + 527, + 0, + 'Vanilla Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Vanilla Hood', + 'Hood' + ), + ( + 536, + 4, + 'Cadillac Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '47 Caddy Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 47 Hood', + 'Hood' + ), + ( + 537, + 6, + '55 Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick 55 Century Hood', + 'Hood' + ), + ( + 538, + 3, + '57 Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Bel-Air Hood w/ Scoop', + 'Hood' + ), + ( + 539, + 3, + '57 Nomad', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Nomad Hood', + 'Hood' + ), + ( + 540, + 3, + '57 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Corvette Hood', + 'Hood' + ), + ( + 541, + 3, + '58 Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 58 Impala Hood', + 'Hood' + ), + ( + 542, + 4, + 'Eldorado Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eldorado Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac 59 Eldorado Hood', + 'Hood' + ), + ( + 543, + 3, + '63 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 63 Corvette Hood', + 'Hood' + ), + ( + 544, + 3, + '64 Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 64 Impala Hood', + 'Hood' + ), + ( + 545, + 7, + '66 GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 66 GTO Hood', + 'Hood' + ), + ( + 546, + 3, + '67 Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Chevelle Hood', + 'Hood' + ), + ( + 547, + 3, + '67 Camaro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Camaro Hood', + 'Hood' + ), + ( + 548, + 5, + '69 Oldsmobile 442', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 69 442 Hood', + 'Hood' + ), + ( + 549, + 7, + '69 GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 69 GTO Hood', + 'Hood' + ), + ( + 550, + 3, + '70 El Camino', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 El Camino Hood', + 'Hood' + ), + ( + 551, + 3, + '70 Nova', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Nova Hood', + 'Hood' + ), + ( + 552, + 3, + '70 Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Chevelle Hood', + 'Hood' + ), + ( + 553, + 7, + '73 Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 73 Firebird Hood', + 'Hood' + ), + ( + 554, + 9, + '69 Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dodge 69 Charger Hood', + 'Hood' + ), + ( + 555, + 10, + '69 Road Runner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 69 Road Runner Hood', + 'Hood' + ), + ( + 556, + 11, + '69 AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 69 AMX Hood', + 'Hood' + ), + ( + 557, + 10, + '70 Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 70 Cuda Hood', + 'Hood' + ), + ( + 558, + 10, + '71 Duster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 71 Duster Hood', + 'Hood' + ), + ( + 559, + 69, + '70 lb/in traverse', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 70 lb/in traverse spring', + 'Springs' + ), + ( + 560, + 69, + '80 lb/in traverse', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 80 lb/in traverse spring', + 'Springs' + ), + ( + 561, + 69, + '90 lb/in traverse', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 90 lb/in traverse spring', + 'Springs' + ), + ( + 562, + 69, + '100 lb/in Traverse', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 100 lb/in Traverse Springs', + 'Springs' + ), + ( + 563, + 69, + '110 lb/in traverse', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 110 lb/in traverse spring', + 'Springs' + ), + ( + 564, + 69, + '120 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 120 lb/in Coil Springs', + 'Springs' + ), + ( + 565, + 69, + '130 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 130 lb/in coil spring', + 'Springs' + ), + ( + 566, + 69, + '140 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 140 lb/in coil spring', + 'Springs' + ), + ( + 567, + 69, + '150 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 150 lb/in Coil Springs', + 'Springs' + ), + ( + 568, + 69, + '160 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 160 lb/in coil spring', + 'Springs' + ), + ( + 569, + 69, + '170 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 170 lb/in coil spring', + 'Springs' + ), + ( + 570, + 69, + '180 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 180 lb/in leaf spring', + 'Springs' + ), + ( + 571, + 69, + '190 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 190 lb/in leaf spring', + 'Springs' + ), + ( + 572, + 69, + '200 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 200 lb/in leaf spring', + 'Springs' + ), + ( + 573, + 69, + '210 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 210 lb/in coil-over spring', + 'Springs' + ), + ( + 574, + 69, + '220 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 220 lb/in coil-over spring', + 'Springs' + ), + ( + 575, + 69, + '230 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 230 lb/in coil-over spring', + 'Springs' + ), + ( + 576, + 69, + '240 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 240 lb/in coil-over spring', + 'Springs' + ), + ( + 577, + 69, + '250 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 250 lb/in coil-over spring', + 'Springs' + ), + ( + 578, + 62, + '50 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '50 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 50 Nm Sway Bar', + 'Sway Bar' + ), + ( + 579, + 62, + '60 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '60 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 60 Nm Sway Bar', + 'Sway Bar' + ), + ( + 580, + 62, + '70 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '70 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 70 Nm Sway Bar', + 'Sway Bar' + ), + ( + 581, + 62, + '80 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '80 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 80 Nm Sway Bar', + 'Sway Bar' + ), + ( + 582, + 62, + '90 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '90 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 90 Nm Sway Bar', + 'Sway Bar' + ), + ( + 583, + 62, + '100 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '100 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 100 Nm Sway Bar', + 'Sway Bar' + ), + ( + 584, + 62, + '110 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '110 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 110 Nm Sway Bar', + 'Sway Bar' + ), + ( + 585, + 62, + '120 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '120 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 120 Nm Sway Bar', + 'Sway Bar' + ), + ( + 586, + 62, + '130 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '130 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 130 Nm Sway Bar', + 'Sway Bar' + ), + ( + 587, + 62, + '140 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '140 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 140 Nm Sway Bar', + 'Sway Bar' + ), + ( + 588, + 62, + '150 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '150 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 150 Nm Sway Bar', + 'Sway Bar' + ), + ( + 589, + 62, + '160 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '160 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 160 Nm Sway Bar', + 'Sway Bar' + ), + ( + 590, + 62, + '170 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '170 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 170 Nm Sway Bar', + 'Sway Bar' + ), + ( + 591, + 62, + '180 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '180 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 180 Nm Sway Bar', + 'Sway Bar' + ), + ( + 592, + 62, + '190 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '190 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 190 Nm Sway Bar', + 'Sway Bar' + ), + ( + 593, + 62, + '200 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '200 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 200 Nm Sway Bar', + 'Sway Bar' + ), + ( + 594, + 62, + '210 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '210 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 210 Nm Sway Bar', + 'Sway Bar' + ), + ( + 595, + 62, + '220 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '220 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 220 Nm Sway Bar', + 'Sway Bar' + ), + ( + 596, + 62, + '230 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '230 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 230 Nm Sway Bar', + 'Sway Bar' + ), + ( + 597, + 62, + '240 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '240 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 240 Nm Sway Bar', + 'Sway Bar' + ), + ( + 598, + 62, + '250 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '250 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 250 Nm Sway Bar', + 'Sway Bar' + ), + ( + 599, + 62, + '260 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '260 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 260 Nm Sway Bar', + 'Sway Bar' + ), + ( + 600, + 62, + '270 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '270 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 270 Nm Sway Bar', + 'Sway Bar' + ), + ( + 601, + 62, + '280 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '280 Nm', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Potter 280 Nm Sway Bar', + 'Sway Bar' + ), + ( + 602, + 69, + 'LD Traction Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford LD Traction Bar', + 'Traction Bar' + ), + ( + 603, + 69, + 'ND Traction Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ND', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford ND Traction Bar', + 'Traction Bar' + ), + ( + 604, + 69, + 'HD Traction Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford HD Traction Bar', + 'Traction Bar' + ), + ( + 605, + 69, + 'XHD Traction Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'XHD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford XHD Traction Bar', + 'Traction Bar' + ), + ( + 606, + 43, + 'LD (0.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LD (0.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance LD (0.2) Shock', + 'Shocks' + ), + ( + 607, + 43, + 'LD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance LD (0.3) Shock', + 'Shocks' + ), + ( + 608, + 43, + 'ND (0.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ND (0.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance ND (0.2) Shock', + 'Shocks' + ), + ( + 609, + 43, + 'ND (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ND (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance ND (0.3) Shock', + 'Shocks' + ), + ( + 610, + 43, + 'HD (0.24)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD (0.24)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance HD (0.24) Shock', + 'Shocks' + ), + ( + 611, + 43, + 'HD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance HD (0.3) Shock', + 'Shocks' + ), + ( + 612, + 43, + 'XHD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'XHD (0.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance XHD (0.3) Shock', + 'Shocks' + ), + ( + 613, + 43, + 'XHD (0.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'XHD (0.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance XHD (0.36) Shock', + 'Shocks' + ), + ( + 614, + 43, + 'XHD (0.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'XHD (0.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance XHD (0.4) Shock', + 'Shocks' + ), + ( + 615, + 71, + '10 x 2 Organic Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Organic Drum Brakes', + 'Brakes' + ), + ( + 616, + 71, + '11 x 2 Organic Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Organic Drum Brake', + 'Brakes' + ), + ( + 617, + 72, + '12 x 2 Organic Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Organic Drum Brake', + 'Brakes' + ), + ( + 618, + 71, + '10 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Organic HT Drum Brakes', + 'Brakes' + ), + ( + 619, + 71, + '11 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Organic HT Drum Brake', + 'Brakes' + ), + ( + 620, + 71, + '10 x 2 SM Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Semi-Metallic Drum Brakes', + 'Brakes' + ), + ( + 621, + 71, + '11 x 2 SM Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Semi-Metallic Drum Brake', + 'Brakes' + ), + ( + 622, + 71, + '10 x 2 Org Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Organic Disk Brakes', + 'Brakes' + ), + ( + 623, + 71, + '11 x 2 Org Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Organic Disk Brake', + 'Brakes' + ), + ( + 624, + 72, + '12 x 2 Organic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Organic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Organic Disk Brake', + 'Brakes' + ), + ( + 625, + 71, + '10 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Organic HT Disk Brakes', + 'Brakes' + ), + ( + 626, + 71, + '11 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Organic HT Disk Brake', + 'Brakes' + ), + ( + 627, + 72, + '12 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Organic HT Disk Brake', + 'Brakes' + ), + ( + 628, + 71, + '10 x 2 SM Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Semi-Metallic Disk Brakes', + 'Brakes' + ), + ( + 629, + 71, + '11 x 2 SM Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Semi-Metallic Disk Brake', + 'Brakes' + ), + ( + 630, + 72, + '12 x 2 SM Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Semi-Metallic Disk Brake', + 'Brakes' + ), + ( + 631, + 71, + '9 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Metallic Disk Brakes', + 'Brakes' + ), + ( + 632, + 71, + '10 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 10 x 2 Metallic Disk Brakes', + 'Brakes' + ), + ( + 633, + 71, + '11 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 11 x 2 Metallic Disk Brake', + 'Brakes' + ), + ( + 634, + 72, + '12 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Metallic Disk Brake', + 'Brakes' + ), + ( + 635, + 73, + '14 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Metallic Disk Brake', + 'Brakes' + ), + ( + 636, + 73, + '16 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '16 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 16 x 2 Metallic Disk Brake', + 'Brakes' + ), + ( + 637, + 18, + 'Aera 25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Aera 25 kg Spoiler', + 'Chin Spoiler' + ), + ( + 638, + 18, + 'Aera 50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Aera 50 kg Spoiler', + 'Chin Spoiler' + ), + ( + 639, + 18, + 'Aera 75', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 75', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Aera 75 kg Spoiler', + 'Chin Spoiler' + ), + ( + 640, + 18, + 'Aera 100', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 100', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Aera 100 kg Spoiler', + 'Chin Spoiler' + ), + ( + 641, + 18, + 'Boundary 125', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 125', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 125 kg Spoiler', + 'Chin Spoiler' + ), + ( + 642, + 18, + 'Boundary 150', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 150', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 150 kg Spoiler', + 'Chin Spoiler' + ), + ( + 643, + 18, + 'Boundary 175', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 175', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 175 kg Spoiler', + 'Chin Spoiler' + ), + ( + 644, + 18, + 'Boundary 200', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 200', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 200 kg Spoiler', + 'Chin Spoiler' + ), + ( + 645, + 18, + 'Boundary 225', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 225', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 225 kg Spoiler', + 'Chin Spoiler' + ), + ( + 646, + 18, + 'Boundary 250', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 250', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich Boundary 250 kg Spoiler', + 'Chin Spoiler' + ), + ( + 647, + 18, + 'Aera 25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 25 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 648, + 18, + 'Aera 50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 50 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 649, + 18, + 'Aera 75', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 75', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 75 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 650, + 18, + 'Aera 100', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aera 100', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 100 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 651, + 18, + 'Boundary 125', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'provides significant aerodynamic downforce for improved high-speed traction and handling', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 125', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 125 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 652, + 18, + 'Boundary 150', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 150', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 150 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 653, + 18, + 'Boundary 175', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'provides significant aerodynamic downforce for improved high-speed traction and handling', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 175', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 175 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 654, + 18, + 'Boundary 200', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 200', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 200 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 655, + 18, + 'Boundary 225', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'provides significant aerodynamic downforce for improved high-speed traction and handling', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 225', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 225 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 656, + 18, + 'Boundary 250', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boundary 250', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vich 250 kg Rear Spoiler', + 'Rear Spoiler' + ), + ( + 657, + 0, + 'Cuda A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Cuda A', + 'Horn' + ), + ( + 658, + 0, + 'Cuda B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Cuda B', + 'Horn' + ), + ( + 659, + 0, + 'Cuda 2Stone', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Cuda 2Stone', + 'Horn' + ), + ( + 660, + 0, + 'El Camino A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts El Camino A', + 'Horn' + ), + ( + 661, + 0, + 'El Camino B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts El Camino B', + 'Horn' + ), + ( + 662, + 7, + 'Firebird A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Firebird A', + 'Horn' + ), + ( + 663, + 7, + 'Firebird B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Firebird B', + 'Horn' + ), + ( + 664, + 10, + 'Fury', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth Fury', + 'Horn' + ), + ( + 665, + 15, + 'GMC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors GMC', + 'Horn' + ), + ( + 666, + 0, + 'Hillman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Hillman', + 'Horn' + ), + ( + 667, + 3, + 'Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Impala', + 'Horn' + ), + ( + 668, + 0, + 'Metropolitan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Metropolitan', + 'Horn' + ), + ( + 669, + 0, + 'Metropolitan Siren', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Metropolitan Siren', + 'Horn' + ), + ( + 670, + 1, + '64 Ford Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 64 Mustang', + 'Horn' + ), + ( + 671, + 0, + 'Snubnose', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts Snubnose', + 'Horn' + ), + ( + 672, + 1, + 'Aoooga A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Aoooga A', + 'Horn' + ), + ( + 673, + 3, + 'Aoooga B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Aoooga B', + 'Horn' + ), + ( + 674, + 15, + 'Aoooga C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Aoooga C', + 'Horn' + ), + ( + 680, + 50, + '150/82/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 150/82/14 Bias Ply', + 'Tires' + ), + ( + 681, + 50, + '170/82/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 170/82/14 Bias Ply', + 'Tires' + ), + ( + 682, + 50, + '178/82/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 178/82/14 Bias Ply', + 'Tires' + ), + ( + 683, + 50, + '190/82/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 190/82/14 Bias Ply', + 'Tires' + ), + ( + 684, + 50, + '210/82/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 210/82/14 Bias Ply', + 'Tires' + ), + ( + 685, + 50, + '150/92/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 150/92/14 Bias Ply', + 'Tires' + ), + ( + 686, + 50, + '170/92/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 170/92/14 Bias Ply', + 'Tires' + ), + ( + 687, + 50, + '178/92/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 178/92/14 Bias Ply', + 'Tires' + ), + ( + 688, + 50, + '190/92/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 190/92/14 Bias Ply', + 'Tires' + ), + ( + 689, + 50, + '210/92/14 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 210/92/14 Bias Ply', + 'Tires' + ), + ( + 690, + 50, + '170/82/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 170/82/15 Bias Ply', + 'Tires' + ), + ( + 691, + 50, + '190/82/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 190/82/15 Bias Ply', + 'Tires' + ), + ( + 692, + 50, + '210/82/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 210/82/15 Bias Ply', + 'Tires' + ), + ( + 693, + 50, + '150/92/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 150/92/15 Bias Ply', + 'Tires' + ), + ( + 694, + 50, + '170/92/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 170/92/15 Bias Ply', + 'Tires' + ), + ( + 695, + 50, + '190/92/15 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 190/92/15 Bias Ply', + 'Tires' + ), + ( + 696, + 50, + '150/92/16 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 150/92/16 Bias Ply', + 'Tires' + ), + ( + 697, + 50, + '170/92/16 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 170/92/16 Bias Ply', + 'Tires' + ), + ( + 698, + 50, + '190/92/16 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 190/92/16 Bias Ply', + 'Tires' + ), + ( + 699, + 50, + '210/92/16 Bias Ply', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch 210/92/16 Bias Ply', + 'Tires' + ), + ( + 700, + 99, + '190/60/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 190/60/14 Bias Belted', + 'Tires' + ), + ( + 701, + 99, + '214/60/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 214/60/14 Bias Belted', + 'Tires' + ), + ( + 702, + 99, + '238/60/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/60/14 Bias Belted', + 'Tires' + ), + ( + 703, + 99, + '190/72/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 190/72/14 Bias Belted', + 'Tires' + ), + ( + 704, + 99, + '202/72/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/72/14 Bias Belted', + 'Tires' + ), + ( + 705, + 99, + '214/72/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 214/72/14 Bias Belted', + 'Tires' + ), + ( + 706, + 99, + '226/72/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 226/72/14 Bias Belted', + 'Tires' + ), + ( + 707, + 99, + '238/72/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/72/14 Bias Belted', + 'Tires' + ), + ( + 708, + 99, + '166/82/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 166/82/14 Bias Belted', + 'Tires' + ), + ( + 709, + 99, + '178/82/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 178/82/14 Bias Belted', + 'Tires' + ), + ( + 710, + 99, + '190/82/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 190/82/14 Bias Belted', + 'Tires' + ), + ( + 711, + 99, + '202/82/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/82/14 Bias Belted', + 'Tires' + ), + ( + 712, + 99, + '214/82/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 214/82/14 Bias Belted', + 'Tires' + ), + ( + 713, + 99, + '178/92/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 178/92/14 Bias Belted', + 'Tires' + ), + ( + 714, + 99, + '202/92/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/92/14 Bias Belted', + 'Tires' + ), + ( + 715, + 99, + '178/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 178/60/15 Bias Belted', + 'Tires' + ), + ( + 716, + 99, + '202/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/60/15 Bias Belted', + 'Tires' + ), + ( + 717, + 99, + '226/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 226/60/15 Bias Belted', + 'Tires' + ), + ( + 718, + 99, + '238/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/60/15 Bias Belted', + 'Tires' + ), + ( + 719, + 99, + '202/72/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/72/15 Bias Belted', + 'Tires' + ), + ( + 720, + 99, + '226/72/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 226/72/15 Bias Belted', + 'Tires' + ), + ( + 721, + 99, + '238/72/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/72/15 Bias Belted', + 'Tires' + ), + ( + 722, + 99, + '190/82/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 190/82/15 Bias Belted', + 'Tires' + ), + ( + 723, + 99, + '214/82/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 214/82/15 Bias Belted', + 'Tires' + ), + ( + 724, + 99, + '238/82/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/82/15 Bias Belted', + 'Tires' + ), + ( + 725, + 99, + '178/92/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 178/92/15 Bias Belted', + 'Tires' + ), + ( + 726, + 99, + '202/92/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 202/92/15 Bias Belted', + 'Tires' + ), + ( + 727, + 99, + '226/92/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 226/92/15 Bias Belted', + 'Tires' + ), + ( + 728, + 99, + '238/92/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 238/92/15 Bias Belted', + 'Tires' + ), + ( + 729, + 100, + '185/65/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 185/65/14 Radial', + 'Tires' + ), + ( + 730, + 100, + '205/65/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/65/14 Radial', + 'Tires' + ), + ( + 731, + 100, + '195/70/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/70/14 Radial', + 'Tires' + ), + ( + 732, + 100, + '215/70/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/70/14 Radial', + 'Tires' + ), + ( + 733, + 100, + '195/75/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/75/14 Radial', + 'Tires' + ), + ( + 734, + 100, + '205/75/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/75/14 Radial', + 'Tires' + ), + ( + 735, + 100, + '195/65/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/65/15 Radial', + 'Tires' + ), + ( + 736, + 100, + '215/65/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/65/15 Radial', + 'Tires' + ), + ( + 737, + 100, + '205/70/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/70/15 Radial', + 'Tires' + ), + ( + 738, + 100, + '215/70/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/70/15 Radial', + 'Tires' + ), + ( + 739, + 100, + '225/70/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emberwood 225/70/15 Radial', + 'Tires' + ), + ( + 740, + 100, + '205/75/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/75/15 Radial', + 'Tires' + ), + ( + 741, + 100, + '215/75/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/75/15 Radial', + 'Tires' + ), + ( + 742, + 100, + '235/75/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 235/75/15 Radial', + 'Tires' + ), + ( + 743, + 100, + '215/65/16 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/65/16 Radial', + 'Tires' + ), + ( + 744, + 100, + '215/60/16 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/60/16 Radial', + 'Tires' + ), + ( + 745, + 100, + '225/60/16 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 225/60/16 Radial', + 'Tires' + ), + ( + 746, + 100, + '225/55/16 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 225/55/16 Radial', + 'Tires' + ), + ( + 747, + 98, + '205/55/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/55/15 Radial Rain', + 'Tires' + ), + ( + 748, + 98, + '195/60/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 195/60/15 Radial Rain', + 'Tires' + ), + ( + 749, + 98, + '205/60/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/60/15 Radial Rain', + 'Tires' + ), + ( + 750, + 98, + '215/60/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/60/15 Radial Rain', + 'Tires' + ), + ( + 751, + 98, + '185/65/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 185/65/15 Radial Rain', + 'Tires' + ), + ( + 752, + 98, + '195/65/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 195/65/15 Radial Rain', + 'Tires' + ), + ( + 753, + 98, + '205/65/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/65/15 Radial Rain', + 'Tires' + ), + ( + 754, + 98, + '215/65/15 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/65/15 Radial Rain', + 'Tires' + ), + ( + 755, + 98, + '225/55/16 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/55/16 Radial Rain', + 'Tires' + ), + ( + 756, + 98, + '215/60/16 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/60/16 Radial Rain', + 'Tires' + ), + ( + 757, + 98, + '225/60/16 Radial Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/60/16 Radial Rain', + 'Tires' + ), + ( + 758, + 101, + '195/55/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 195/55/15VR Performance', + 'Tires' + ), + ( + 759, + 101, + '205/55/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/55/15VR Performance', + 'Tires' + ), + ( + 760, + 101, + '195/60/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 195/60/15VR Performance', + 'Tires' + ), + ( + 761, + 101, + '205/60/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/60/15VR Performance', + 'Tires' + ), + ( + 762, + 101, + '215/60/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/60/15VR Performance', + 'Tires' + ), + ( + 763, + 101, + '185/65/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 185/65/15VR Performance', + 'Tires' + ), + ( + 764, + 101, + '195/65/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 195/65/15VR Performance', + 'Tires' + ), + ( + 765, + 101, + '205/65/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/65/15VR Performance', + 'Tires' + ), + ( + 766, + 101, + '215/65/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/65/15VR Performance', + 'Tires' + ), + ( + 767, + 101, + '205/40/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/40/16VR Performance', + 'Tires' + ), + ( + 768, + 101, + '215/40/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/40/16VR Performance', + 'Tires' + ), + ( + 769, + 101, + '205/45/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/45/16VR Performance', + 'Tires' + ), + ( + 770, + 101, + '205/45/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/45/16VR Performance', + 'Tires' + ), + ( + 771, + 101, + '215/45/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/45/16VR Performance', + 'Tires' + ), + ( + 772, + 101, + '205/50/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/50/16VR Performance', + 'Tires' + ), + ( + 773, + 101, + '225/50/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 225/50/16VR Performance', + 'Tires' + ), + ( + 774, + 101, + '245/50/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 245/50/16VR Performance', + 'Tires' + ), + ( + 775, + 101, + '205/55/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/55/16VR Performance', + 'Tires' + ), + ( + 776, + 101, + '215/55/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/55/16VR Performance', + 'Tires' + ), + ( + 777, + 101, + '225/55/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 225/55/16VR Performance', + 'Tires' + ), + ( + 778, + 101, + '215/60/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/60/16VR Performance', + 'Tires' + ), + ( + 779, + 101, + '225/60/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 225/60/16VR Performance', + 'Tires' + ), + ( + 780, + 101, + '235/60/16VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 235/60/16VR Performance', + 'Tires' + ), + ( + 781, + 101, + '215/40/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/40/17VR Performance', + 'Tires' + ), + ( + 782, + 101, + '235/40/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 235/40/17VR Performance', + 'Tires' + ), + ( + 783, + 101, + '255/40/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 255/40/17VR Performance', + 'Tires' + ), + ( + 784, + 101, + '215/45/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 215/45/17VR Performance', + 'Tires' + ), + ( + 785, + 101, + '225/45/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 225/45/17VR Performance', + 'Tires' + ), + ( + 786, + 101, + '235/45/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 235/45/17VR Performance', + 'Tires' + ), + ( + 787, + 101, + '245/45/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 245/45/17VR Performance', + 'Tires' + ), + ( + 788, + 101, + '315/35/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 315/35/17VR Performance', + 'Tires' + ), + ( + 789, + 98, + '195/55/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 195/55/15VR Performance Rain', + 'Tires' + ), + ( + 790, + 98, + '205/55/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/55/15VR Performance Rain', + 'Tires' + ), + ( + 791, + 98, + '195/60/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 195/60/15VR Performance Rain', + 'Tires' + ), + ( + 792, + 98, + '205/60/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/60/15VR Performance Rain', + 'Tires' + ), + ( + 793, + 98, + '215/60/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/60/15VR Performance Rain', + 'Tires' + ), + ( + 794, + 98, + '185/65/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 185/65/15VR Performance Rain', + 'Tires' + ), + ( + 795, + 98, + '195/65/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 195/65/15VR Performance Rain', + 'Tires' + ), + ( + 796, + 98, + '205/65/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/65/15VR Performance Rain', + 'Tires' + ), + ( + 797, + 98, + '215/65/15VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/65/15VR Performance Rain', + 'Tires' + ), + ( + 798, + 98, + '205/40/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/40/16VR Performance Rain', + 'Tires' + ), + ( + 799, + 98, + '205/45/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/45/16VR Performance Rain', + 'Tires' + ), + ( + 800, + 98, + '215/45/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/45/16VR Performance Rain', + 'Tires' + ), + ( + 801, + 98, + '205/50/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/50/16VR Performance Rain', + 'Tires' + ), + ( + 802, + 98, + '225/50/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/50/16VR Performance Rain', + 'Tires' + ), + ( + 803, + 98, + '245/50/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 245/50/16VR Performance Rain', + 'Tires' + ), + ( + 804, + 98, + '205/55/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 205/55/16VR Performance Rain', + 'Tires' + ), + ( + 805, + 98, + '225/55/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/55/16VR Performance Rain', + 'Tires' + ), + ( + 806, + 98, + '215/60/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/60/16VR Performance Rain', + 'Tires' + ), + ( + 807, + 98, + '225/60/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/60/16VR Performance Rain', + 'Tires' + ), + ( + 808, + 98, + '235/60/16VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 235/60/16VR Performance Rain', + 'Tires' + ), + ( + 809, + 98, + '215/40/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/40/17VR Performance Rain', + 'Tires' + ), + ( + 810, + 98, + '235/40/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 235/40/17VR Performance Rain', + 'Tires' + ), + ( + 811, + 98, + '215/45/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 215/45/17VR Performance Rain', + 'Tires' + ), + ( + 812, + 98, + '225/45/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 225/45/17VR Performance Rain', + 'Tires' + ), + ( + 813, + 98, + '235/45/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 235/45/17VR Performance Rain', + 'Tires' + ), + ( + 814, + 98, + '245/45/17VR Perf. Rain', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Michelin 245/45/17VR Performance Rain', + 'Tires' + ), + ( + 827, + 1, + '32 Coupe Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 Coupe Hood', + 'Hood' + ), + ( + 828, + 1, + '32 Coupe Front Fenders', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 Coupe Front Fenders', + 'Fenders' + ), + ( + 829, + 1, + '32 Coupe Rear Fenders', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 Coupe Rear Fenders', + 'Fenders' + ), + ( + 830, + 1, + '32 Coupe Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 Coupe Running Boards', + 'Running Boards' + ), + ( + 831, + 1, + '32 Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '32 Coupe Bumpers! Put em on!', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '32 Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 32 Coupe Bumpers', + 'Bumpers' + ), + ( + 833, + 1, + '40 Coupe Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 40 Coupe Hood', + 'Hood' + ), + ( + 834, + 1, + '40 Coupe Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 40 Coupe Running Boards', + 'Running Boards' + ), + ( + 836, + 1, + '49 Coupe Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 49 Coupe Hood', + 'Hood' + ), + ( + 838, + 1, + '53 Crestline Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 53 Crestline Hood', + 'Hood' + ), + ( + 840, + 1, + '57 Fairlane 500 Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Fairlane 500 Hood', + 'Hood' + ), + ( + 842, + 1, + '57 Ranchero Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Ranchero Hood', + 'Hood' + ), + ( + 844, + 1, + '57 T-Bird Hood w/Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 T-Bird Hood w/Scoop', + 'Hood' + ), + ( + 846, + 1, + '63 T-Bird Hood w/Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 63 T-Bird Hood w/Scoop', + 'Hood' + ), + ( + 848, + 1, + '64 Galaxie 500 Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 64 Galaxie 500 Hood', + 'Hood' + ), + ( + 850, + 1, + '64 Mustang Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 64 Mustang Hood', + 'Hood' + ), + ( + 852, + 1, + '69 Torino Hood w/Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 69 Torino Hood w/Scoop', + 'Hood' + ), + ( + 854, + 1, + '70 Mustang Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Mustang Hood', + 'Hood' + ), + ( + 856, + 65, + 'Steel Slotted Rim', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Steel Slotted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Kelsey-Hayes Steel Slotted Rim', + 'Wheel Rims' + ), + ( + 857, + 65, + 'Steel Rim', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Kelsey-Hayes Steel Rim', + 'Wheel Rims' + ), + ( + 864, + 1, + 'Early 3 spd. Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Early 3 spd. Manual (Gear Ratios)', + 'Transmission' + ), + ( + 865, + 1, + 'Ford-o-matic Auto.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic Auto.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic Auto.', + 'Transmission' + ), + ( + 866, + 17, + 'T-10 4 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-10 4 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Borg T-10 4 spd Manual', + 'Transmission' + ), + ( + 867, + 1, + 'C-4 Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C-4 Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford C-4 Automatic', + 'Transmission' + ), + ( + 868, + 1, + '4 spd Manual (Top)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd Manual (Top)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4 spd Manual (Top)', + 'Transmission' + ), + ( + 869, + 61, + '3.56 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.56', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.56) Differential', + 'Rear End' + ), + ( + 870, + 61, + '3.25 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.25) Differential', + 'Rear End' + ), + ( + 871, + 61, + '3.91 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.91', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana (3.91) Differential', + 'Rear End' + ), + ( + 872, + 1, + 'Late 3 spd. Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 speed m/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Late 3 spd. Manual', + 'Transmission' + ), + ( + 873, + 1, + 'Cruise-o-matic Auto.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cruise-o-matic Auto.', + 'Transmission' + ), + ( + 874, + 17, + 'T-85 3 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-85 3 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Borg T-85 3 spd Manual', + 'Transmission' + ), + ( + 875, + 1, + 'Flathead 239-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '239', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 239-V8', + 'Engine Block' + ), + ( + 876, + 1, + '312-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '312', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 312-V8', + 'Engine Block' + ), + ( + 877, + 1, + '427-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427-V8', + 'Engine Block' + ), + ( + 878, + 1, + '289-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 289-V8', + 'Engine Block' + ), + ( + 879, + 1, + '302-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302-V8', + 'Engine Block' + ), + ( + 880, + 1, + '429-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429-V8', + 'Engine Block' + ), + ( + 881, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock TI Crankshaft', + 'Crankshaft' + ), + ( + 882, + 1, + 'Dished Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dished', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Dished Top Cast Aluminum Piston', + 'Pistons' + ), + ( + 883, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss Dual Plane Aluminum Intake Manifold', + 'Intake Manifold' + ), + ( + 884, + 1, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Aluminum Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 885, + 1, + 'Detroit Lubricator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Detroit Lubricator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Detroit Lubricator', + 'Carburetor' + ), + ( + 886, + 14, + '4100 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4100 4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 887, + 1, + 'Flathead (6.15) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (6.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead (6.15) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 888, + 2, + 'Flathead (6.8) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mercury Stock (6.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mercury Flathead (6.8) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 889, + 1, + 'Flathead (7.2) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (7.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead (7.2) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 890, + 1, + 'Low Riser (11.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Low Riser (11.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Low Riser (11.6)', + 'Cylinder Head' + ), + ( + 891, + 1, + 'Boss HP (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss HP (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss HP (10.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 892, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Ford BB Valvetrain', + 'Valve Train' + ), + ( + 893, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss HD Solid Lifter Valve Train', + 'Valve Train' + ), + ( + 934, + 1, + '3 spd/4.10 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/4.10 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/4.10 (32-48)', + 'Driveline Assembly' + ), + ( + 935, + 1, + '3 spd/3.78 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.78 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/3.78 (32-48)', + 'Driveline Assembly' + ), + ( + 936, + 1, + '3 spd/3.90 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.90 (32-48)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/3.90 (32-48)', + 'Driveline Assembly' + ), + ( + 937, + 1, + '3 spd/3.56 (49-62)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.56 (49-62)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/3.56 (49-62)', + 'Driveline Assembly' + ), + ( + 938, + 1, + 'Ford-o-matic/3.31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic/3.31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic/3.31', + 'Driveline Assembly' + ), + ( + 939, + 1, + 'Ford-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'rear axle ratio of 3.10 to 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic/3.10', + 'Driveline Assembly' + ), + ( + 940, + 1, + 'Ford-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'The Ford-o-matic was first introduced on the 1957 Fairlane and has a rear axle ratio of 3.70 to 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford-o-matic/3.70', + 'Driveline Assembly' + ), + ( + 941, + 1, + 'Cruise-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'this driveline assembly was found in many late 50''s to early 70''s Ford cars.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cruise-o-matic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cruise-o-matic/3.00 ', + 'Driveline Assembly' + ), + ( + 942, + 1, + '3 spd/(T-86)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'the relatively low final drive ratio of 3.25 allow a car to reach high top speeds', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/(T-86)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/3.25 (T-86)', + 'Driveline Assembly' + ), + ( + 943, + 1, + '3 spd/3.25 (T-85)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.25 (T-85)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 3 spd/3.25 (T-85)', + 'Driveline Assembly' + ), + ( + 944, + 1, + '4 spd/3.25 (T-10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.25 (T-10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4 spd/3.25 (T-10)', + 'Driveline Assembly' + ), + ( + 945, + 1, + 'C-4 auto/3.00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'standard Ford transmission', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C-4 auto/3.00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford C-4 auto/3.00', + 'Driveline Assembly' + ), + ( + 946, + 1, + '4 spd/3.50 (Top)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.50 (Top)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4 spd/3.50 (Top)', + 'Driveline Assembly' + ), + ( + 947, + 1, + 'C-4 auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'standard Ford transmission', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C-4 auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford C-4 auto/3.91', + 'Driveline Assembly' + ), + ( + 948, + 1, + 'C-6 auto/3.91 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C-6 auto/3.91 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford C-6 auto/3.91 Lock', + 'Driveline Assembly' + ), + ( + 949, + 1, + 'Flathead Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flathead Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Single', + 'Exhaust Assembly' + ), + ( + 950, + 1, + 'Passenger Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Passenger Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Passenger Single', + 'Exhaust Assembly' + ), + ( + 951, + 1, + 'Passenger Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Passenger Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Passenger Dual', + 'Exhaust Assembly' + ), + ( + 952, + 1, + 'Performance Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Performance Dual', + 'Exhaust Assembly' + ), + ( + 953, + 1, + 'Flathead 221 1V (65 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'original flathead engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '221 1V (65 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 221 1V (65 hp)', + 'Engine Assembly' + ), + ( + 954, + 1, + 'Flathead 221 2V (85 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'flathead engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '221 2V (85 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 221 2V (85 hp)', + 'Engine Assembly' + ), + ( + 955, + 1, + 'Flathead 255 2V (112 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'flathead engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '255 2V (112 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 255- 2V (112 hp)', + 'Engine Assembly' + ), + ( + 956, + 1, + 'Flathead 239 2V (110 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'flathead engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '239 2V (110 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 239 2V (110 hp)', + 'Engine Assembly' + ), + ( + 957, + 1, + '312 4V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'stock with automatic transmission vehicles', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '312 4V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 312 4V (245 hp)', + 'Engine Assembly' + ), + ( + 958, + 1, + '427 LR 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'performance engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 LR 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 LR 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 959, + 1, + '289 2V (195 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289 2V (195 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 289 2V (195 hp)', + 'Engine Assembly' + ), + ( + 960, + 1, + '302 2V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302 2V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302-V8 2V (220 hp)', + 'Engine Assembly' + ), + ( + 961, + 1, + '429 Boss (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1969 Street Boss engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 Boss (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 Boss (375 hp)', + 'Engine Assembly' + ), + ( + 962, + 99, + '162/68/18 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 162/68/18 Bias Belted', + 'Tires' + ), + ( + 964, + 1, + 'Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 57 Fairlane 500', + 'Vehicle' + ), + ( + 971, + 1, + 'Boss 429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Boss 429 Mustang', + 'Vehicle' + ), + ( + 974, + 1, + 'Torino GT', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torino', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Torino GT', + 'Vehicle' + ), + ( + 980, + 11, + 'Big Bad AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 69 BigBad AMX', + 'Vehicle' + ), + ( + 990, + 10, + 'GTX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GTX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth GTX Cpe', + 'Vehicle' + ), + ( + 1002, + 8, + '4 spd/', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler 4 spd/', + 'Driveline Assembly' + ), + ( + 1003, + 8, + 'Shift-Command', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shift-Command', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Shift-Command/', + 'Driveline Assembly' + ), + ( + 1004, + 8, + '3 spd/', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler 3 spd/', + 'Driveline Assembly' + ), + ( + 1005, + 8, + '4 spd/3.55 ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler 4 spd/3.55 ', + 'Driveline Assembly' + ), + ( + 1006, + 8, + 'Torqueflite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'The Torqueflite transmission was found in a majority of Chrysler''s cars in the 70''s.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torqueflite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Torqueflite/3.23 ', + 'Driveline Assembly' + ), + ( + 1007, + 8, + '4 spd/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler 4 spd/3.55 Lock', + 'Driveline Assembly' + ), + ( + 1008, + 8, + 'Torqueflite/3.23 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'This version of the Torqueflite has a 3.23 to 1 rear axle ratio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torqueflite/3.23 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Torqueflite/3.23 Lock', + 'Driveline Assembly' + ), + ( + 1009, + 8, + 'Torqueflite/3.23 Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi version of the Torqueflite Transmission', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torqueflite/3.23 Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Torqueflite/3.23 Hemi', + 'Driveline Assembly' + ), + ( + 1010, + 8, + 'Passenger Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Passenger Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Passenger Single', + 'Exhaust Assembly' + ), + ( + 1011, + 8, + 'Passenger Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Passenger Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Passenger Dual', + 'Exhaust Assembly' + ), + ( + 1012, + 8, + 'Performance Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Performance Dual', + 'Exhaust Assembly' + ), + ( + 1013, + 8, + 'High Perf. Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler High Perf. Dual', + 'Exhaust Assembly' + ), + ( + 1014, + 11, + '290 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '290 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 290 4V (225 hp)', + 'Engine Assembly' + ), + ( + 1015, + 11, + '343 4V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '343 4V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 343 4V (280 hp)', + 'Engine Assembly' + ), + ( + 1016, + 4, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB 390 4V (315 hp)', + 'Engine Assembly' + ), + ( + 1017, + 8, + '318 2V (230 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '318 2V (230 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 318 2V (230 hp)', + 'Engine Assembly' + ), + ( + 1018, + 8, + '440 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440 4V (375 hp)', + 'Engine Assembly' + ), + ( + 1019, + 8, + 'Hemi 426 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'street hemi configuration', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi 426 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 1020, + 8, + '340 3x2V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '340 3x2V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 340 3x2V (290 hp)', + 'Engine Assembly' + ), + ( + 1021, + 8, + '340 4V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '340 4V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 340 4V (275 hp)', + 'Engine Assembly' + ), + ( + 1022, + 8, + 'Hemi (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi (10.25) Cylinder Head', + 'Cylinder Head' + ), + ( + 1023, + 8, + 'AAR (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AAR (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB AAR (10.5) W/P Cylinder Head', + 'Cylinder Head' + ), + ( + 1034, + 8, + 'Shift-Command Auto', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shift-Command', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Shift-Command Automatic (2.45/1.45/1)', + 'Transmission' + ), + ( + 1035, + 8, + 'Stock Round Chrome', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Stock Round Chrome', + 'Tail Pipe Tip' + ), + ( + 1036, + 11, + '290-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '290', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 290-V8', + 'Engine Block' + ), + ( + 1037, + 11, + '343-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '343', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 343-V8', + 'Engine Block' + ), + ( + 1038, + 11, + '390-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 390-V8', + 'Engine Block' + ), + ( + 1039, + 8, + '318-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '318', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 318-V8', + 'Engine Block' + ), + ( + 1040, + 8, + '440-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440-V8', + 'Engine Block' + ), + ( + 1041, + 8, + '426-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '426', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426-V8', + 'Engine Block' + ), + ( + 1042, + 8, + '340-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '340', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 340-V8', + 'Engine Block' + ), + ( + 1043, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock Lubrication System', + 'Lubrication System' + ), + ( + 1044, + 8, + 'Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock CI/DP IM', + 'Intake Manifold' + ), + ( + 1045, + 8, + 'Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock Dual Plane Manifold', + 'Intake Manifold' + ), + ( + 1046, + 11, + 'Stock (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (10.0) W CH', + 'Cylinder Head' + ), + ( + 1047, + 11, + 'Stock (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (10.2) W CH', + 'Cylinder Head' + ), + ( + 1048, + 11, + 'SS (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SS (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC SS (10.2) HP Cylinder Head', + 'Cylinder Head' + ), + ( + 1049, + 7, + 'Stock (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock (9.2) Cylinder Head', + 'Cylinder Head' + ), + ( + 1050, + 8, + 'Stock (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock (10.5) W Cylinder Head', + 'Cylinder Head' + ), + ( + 1051, + 0, + 'TRFMONTE', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFMONTE (Traffic)', + 'Vehicle' + ), + ( + 1052, + 0, + 'TRFDELVR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFDELVR (Traffic)', + 'Vehicle' + ), + ( + 1053, + 0, + 'TRFBUS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFBUS (Traffic)', + 'Vehicle' + ), + ( + 1054, + 0, + 'TRFGSX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFGSX (Traffic)', + 'Vehicle' + ), + ( + 1055, + 0, + 'TRFSTANG', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFSTANG (Traffic)', + 'Vehicle' + ), + ( + 1056, + 0, + 'TRFTBIRD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFTBIRD (Traffic)', + 'Vehicle' + ), + ( + 1057, + 0, + 'TRFPUP1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRFPUP1 (Traffic)', + 'Vehicle' + ), + ( + 1058, + 0, + 'TRF2DR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Traffic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Electronic Arts TRF2DR (Traffic)', + 'Vehicle' + ), + ( + 1084, + 15, + '3 spd./3.71', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd./3.71', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd./3.71', + 'Driveline Assembly' + ), + ( + 1085, + 15, + 'Hydramatic/3.54', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hydramatic/3.54', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Hydramatic/3.54', + 'Driveline Assembly' + ), + ( + 1086, + 15, + '3 spd/3.90 (37-60)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.90 (37-60)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.90 (37-60)', + 'Driveline Assembly' + ), + ( + 1087, + 15, + 'Dynaflow/3.4 (52-60)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dynaflow/3.4 (52-60)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Dynaflow/3.4 (52-60)', + 'Driveline Assembly' + ), + ( + 1088, + 15, + '3 spd/3.70', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.70', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.70', + 'Driveline Assembly' + ), + ( + 1089, + 15, + 'Turboglide/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turboglide/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Turboglide/3.55', + 'Driveline Assembly' + ), + ( + 1090, + 15, + 'Powerglide/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Powerglide/3.55', + 'Driveline Assembly' + ), + ( + 1091, + 15, + '3 spd/3.70 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.70 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.70 Posi', + 'Driveline Assembly' + ), + ( + 1092, + 15, + 'Hydramatic/2.94', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hydramatic/2.94', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Hydramatic/2.94', + 'Driveline Assembly' + ), + ( + 1093, + 15, + '4 spd/3.70 Posi (Borg)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.70 Posi (Borg)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.70 Posi (Borg)', + 'Driveline Assembly' + ), + ( + 1094, + 15, + '3 spd/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.36 Posi', + 'Driveline Assembly' + ), + ( + 1095, + 15, + 'Powerglide/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Powerglide/3.36 Posi', + 'Driveline Assembly' + ), + ( + 1096, + 15, + '4 spd/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.36 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.36 Posi', + 'Driveline Assembly' + ), + ( + 1097, + 15, + '3 spd/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.55', + 'Driveline Assembly' + ), + ( + 1098, + 15, + 'Powerglide/3.08 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide/3.08 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Powerglide/3.08 Posi', + 'Driveline Assembly' + ), + ( + 1099, + 15, + '3 spd/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.55 Lock', + 'Driveline Assembly' + ), + ( + 1100, + 15, + 'Hydramatic/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hydramatic/3.55 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Hydramatic/3.55 Lock', + 'Driveline Assembly' + ), + ( + 1101, + 15, + '3 spd/3.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 spd/3.73 Posi', + 'Driveline Assembly' + ), + ( + 1102, + 15, + 'Powerglide/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Powerglide/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Powerglide/3.07', + 'Driveline Assembly' + ), + ( + 1103, + 15, + '4 spd/3.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.73 Posi', + 'Driveline Assembly' + ), + ( + 1104, + 15, + 'T-Hydramatic/2.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydramatic/2.73 Posi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors T-Hydramatic/2.73 Posi', + 'Driveline Assembly' + ), + ( + 1105, + 15, + '4 spd/3.42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.42', + 'Driveline Assembly' + ), + ( + 1106, + 15, + 'T-Hydramatic/3.42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydramatic/3.42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors T-Hydramatic/3.42', + 'Driveline Assembly' + ), + ( + 1107, + 15, + '4 spd/3.31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.31', + 'Driveline Assembly' + ), + ( + 1108, + 15, + 'T-Hydramatic/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydramatic/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors T-Hydramatic/3.55', + 'Driveline Assembly' + ), + ( + 1109, + 15, + 'T-Hydramatic/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydramatic/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors T-Hydramatic/3.07', + 'Driveline Assembly' + ), + ( + 1110, + 15, + '4 spd/3.90 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.90 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.90 Lock', + 'Driveline Assembly' + ), + ( + 1111, + 15, + '4 spd/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.55', + 'Driveline Assembly' + ), + ( + 1112, + 15, + '4 spd/3.42 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd/3.42 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 4 spd/3.42 Lock', + 'Driveline Assembly' + ), + ( + 1113, + 4, + '346 2V (150 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a big chunk of iron', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '346 2V (150 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head 346 2V (150 hp)', + 'Engine Assembly' + ), + ( + 1114, + 6, + '322 4V (236 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fireball V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '322 4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 322 4V (236 hp)', + 'Engine Assembly' + ), + ( + 1115, + 3, + '283 FI (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'baseline FI engine; includes improved oiling and Ram''s Horn exhaust manifolds', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 FI (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 FI (250 hp)', + 'Engine Assembly' + ), + ( + 1116, + 4, + '390 3x2V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 3x2V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB 390 3x2V (345 hp)', + 'Engine Assembly' + ), + ( + 1117, + 3, + '327 4V (300 hp) (L75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'cast iron block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 4V (300 hp) (L75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 4V (300 hp) (L75)', + 'Engine Assembly' + ), + ( + 1118, + 7, + '389 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 4V (335 hp)', + 'Engine Assembly' + ), + ( + 1119, + 3, + '396 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'semi-hemi combustion chambers; smooth bend port runners; a modern engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy BB 396 4V (375 hp)', + 'Engine Assembly' + ), + ( + 1120, + 7, + '400 Ram Air II (366 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'as installed on the 1968 GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air II (366 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 Ram Air II (366 hp)', + 'Engine Assembly' + ), + ( + 1121, + 3, + '350 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy SB 350 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1122, + 5, + '455 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 4V (375 hp)', + 'Engine Assembly' + ), + ( + 1123, + 7, + '455 SD 4V (310 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Duty; this version of the engine never quite reached production due to emissions requirements', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 SD 4V (310 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 455 4V (310 hp)', + 'Engine Assembly' + ), + ( + 1124, + 7, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Wedge (10.5) W CH', + 'Cylinder Head' + ), + ( + 1125, + 5, + '(10.25) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB (10.25) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 1126, + 7, + 'Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.75) W Cylinder Head', + 'Cylinder Head' + ), + ( + 1127, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Chevrolet BB IM', + 'Intake Manifold' + ), + ( + 1128, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Chevrolet SB IM', + 'Intake Manifold' + ), + ( + 1129, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Chrysler BB IM', + 'Intake Manifold' + ), + ( + 1130, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Chrysler SB IM', + 'Intake Manifold' + ), + ( + 1131, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Ford BB IM', + 'Intake Manifold' + ), + ( + 1132, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Ford SB IM', + 'Intake Manifold' + ), + ( + 1133, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Olds BB IM', + 'Intake Manifold' + ), + ( + 1134, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Olds SB IM', + 'Intake Manifold' + ), + ( + 1135, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi IM', + 'Intake Manifold' + ), + ( + 1136, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Pontiac IM', + 'Intake Manifold' + ), + ( + 1137, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'high flow tunnel ram aluminum alloy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Tunnel Ram Pontiac IM', + 'Intake Manifold' + ), + ( + 1138, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chevrolet BB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1139, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chevrolet SB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1140, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chrysler BB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1141, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chrysler SB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1142, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Ford BB IM', + 'Intake Manifold' + ), + ( + 1143, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Ford SB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1144, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Olds BB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1145, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Olds SB Dual Plane IM', + 'Intake Manifold' + ), + ( + 1146, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree CI DP IM', + 'Intake Manifold' + ), + ( + 1147, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Pontiac Dual Plane IM', + 'Intake Manifold' + ), + ( + 1148, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Chevrolet BB IM', + 'Intake Manifold' + ), + ( + 1149, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Chevrolet SB IM', + 'Intake Manifold' + ), + ( + 1150, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Chrysler BB IM', + 'Intake Manifold' + ), + ( + 1151, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Chrysler SB IM', + 'Intake Manifold' + ), + ( + 1152, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Ford BB IM', + 'Intake Manifold' + ), + ( + 1153, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Ford SB IM', + 'Intake Manifold' + ), + ( + 1154, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Olds BB IM', + 'Intake Manifold' + ), + ( + 1155, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Olds SB IM', + 'Intake Manifold' + ), + ( + 1156, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Pontiac IM', + 'Intake Manifold' + ), + ( + 1157, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Single Plane Pontiac IM', + 'Intake Manifold' + ), + ( + 1158, + 15, + '3 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd Manual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors GM 3 spd Manual (A)', + 'Transmission' + ), + ( + 1159, + 15, + 'M22 4 Speed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'M22', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM M22 Close Ratio 4 Spd Manual', + 'Transmission' + ), + ( + 1160, + 15, + '3.71 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.71', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM (3.71) Differential', + 'Rear End' + ), + ( + 1161, + 4, + '346-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '346', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head 346-V8', + 'Engine Block' + ), + ( + 1162, + 6, + '322-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'cast iron block with two-bolt main bearing cap', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '322', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 322-V8', + 'Engine Block' + ), + ( + 1172, + 71, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Normal Duty Air Cleaner', + 'Air Cleaner' + ), + ( + 1173, + 5, + '(9.0) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB (9.0) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 1174, + 3, + 'Wedge (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB (9.5) W Cylinder Head', + 'Cylinder Head' + ), + ( + 1175, + 3, + 'Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Canted (11.0) Cylinder Head', + 'Cylinder Head' + ), + ( + 1176, + 7, + '350-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 350', + 'Engine Block' + ), + ( + 1177, + 7, + '421-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac V8 421', + 'Engine Block' + ), + ( + 1184, + 15, + 'Camaro Sidepipes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sidepipes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Camaro Sidepipes', + 'Muffler' + ), + ( + 1185, + 15, + 'Hood Mod Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Hood Mod Bel-Air', + 'Hood' + ), + ( + 1186, + 15, + '3 spd M/3.70 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd M/3.70 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 Spd M/3.70 Lock', + 'Driveline Assembly' + ), + ( + 1187, + 15, + '3 spd M/3.36 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd M/3.36 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors 3 Spd M/3.36 Lock', + 'Driveline Assembly' + ), + ( + 1188, + 46, + 'T-Hydro 400/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydro 400/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully T-Hydro 400/3.55', + 'Driveline Assembly' + ), + ( + 1189, + 15, + 'Hydramatic/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hydramatic/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'General Motors Hydramatic/3.55', + 'Driveline Assembly' + ), + ( + 1190, + 7, + 'T-Hydramatic/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Hydramatic/3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac T-Hydramatic/12-bolt 3.07', + 'Driveline Assembly' + ), + ( + 1191, + 11, + 'Shift-Command', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'This automatic transmission was found in the AMX in 69 and had a rear axle ratio of 3.54 to 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shift-Command', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Shift-Command/3.54', + 'Driveline Assembly' + ), + ( + 1192, + 10, + '3 spd/3.9 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.9 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 3 Spd/3.9 Lock', + 'Driveline Assembly' + ), + ( + 1193, + 1, + 'Cruise-o-matic/3.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cruise-o-matic/3.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cruise-o-matic/3.10', + 'Driveline Assembly' + ), + ( + 1194, + 46, + 'Cool T-Hydro 400/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Driveline Assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cool T-Hydro 400/3.55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully Cool T-Hydro 400/3.55', + 'Driveline Assembly' + ), + ( + 1195, + 3, + '4 spd Synchro M/4.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd Synchro M/4.10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 4 Spd Synchro M/4.10', + 'Driveline Assembly' + ), + ( + 1196, + 3, + '3 spd/3.77 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.77 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 3 Spd/3.77 Lock', + 'Driveline Assembly' + ), + ( + 1197, + 3, + '3 spd/3.31 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.31 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 3 spd/3.31 Lock', + 'Driveline Assembly' + ), + ( + 1198, + 1, + '4 spd M/3.91', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 spd M/3.91', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 4 Spd M/3.91', + 'Driveline Assembly' + ), + ( + 1199, + 67, + '3 spd/3.42 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/3.42 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall 3 Speed/3.42 Lock', + 'Driveline Assembly' + ), + ( + 1200, + 8, + '3 spd/4.10 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 spd/4.10 Lock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler 3 Spd/4.10 Lock', + 'Driveline Assembly' + ), + ( + 1202, + 6, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick 55 Century', + 'Vehicle' + ), + ( + 1203, + 3, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 57 Bel-Air', + 'Vehicle' + ), + ( + 1230, + 7, + 'GTO Judge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 69 GTO Judge', + 'Vehicle' + ), + ( + 1243, + 1, + 'FH (7.5) Denver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Denver (7.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead (7.5) Denver Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 1244, + 5, + '(8.5) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB (8.5) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 1245, + 3, + '(10.25) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W (10.25) 2.07i/1.72e CH', + 'Cylinder Head' + ), + ( + 1246, + 3, + 'L72', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L72', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB (11.0) L72 HP Canted Cylinder Head', + 'Cylinder Head' + ), + ( + 1247, + 3, + 'L88 Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L88', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB L88 Aluminum Canted Cylinder Head', + 'Cylinder Head' + ), + ( + 1248, + 3, + 'L89 Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L89', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB L89 Aluminum Canted Cylinder Head', + 'Cylinder Head' + ), + ( + 1249, + 1, + '1957 (9.0) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 1957 (9.0) Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 1250, + 1, + 'Canted (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Canted (8.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 1251, + 1, + 'Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Canted (11.0) Cylinder Head', + 'Cylinder Head' + ), + ( + 1252, + 1, + 'HO HP (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HO HP (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland HO (9.2) Canted CH', + 'Cylinder Head' + ), + ( + 1253, + 1, + 'Wedge (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (9.6) Wedge CH', + 'Cylinder Head' + ), + ( + 1254, + 1, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cammer HP CH', + 'Cylinder Head' + ), + ( + 1255, + 1, + 'Wedge HP (11.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge HP (11.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HP (11.4) W/P CH', + 'Cylinder Head' + ), + ( + 1256, + 1, + 'High Riser (11.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Riser (11.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB High Riser (11.5) W/F Cylinder Head', + 'Cylinder Head' + ), + ( + 1257, + 1, + '(10.5) Canted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 (10.5) Canted CH', + 'Cylinder Head' + ), + ( + 1258, + 1, + 'Cobrajet (11.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobrajet (11.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford (11.3) CJ HP CH', + 'Cylinder Head' + ), + ( + 1260, + 7, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.0) W/P Cylinder Head', + 'Cylinder Head' + ), + ( + 1261, + 8, + 'Max Wedge I (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge I (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge I (11.0) Cylinder Head', + 'Cylinder Head' + ), + ( + 1262, + 8, + 'Max Wedge I (13.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge I (13.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge I (13.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 1282, + 8, + 'Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Tunnel Ram Intake Manifold', + 'Intake Manifold' + ), + ( + 1283, + 3, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Aluminum Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1284, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Stock Intake Manifold', + 'Intake Manifold' + ), + ( + 1285, + 3, + ' Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Z11 Aluminum Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1286, + 1, + 'Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cobrajet Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1287, + 38, + 'Offenhauser Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offenhauser Chrysler Hemi Dual Plane Magnesium IM', + 'Intake Manifold' + ), + ( + 1288, + 1, + 'Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cobrajet HP Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1289, + 8, + 'Max Wedge Cross-Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge Aluminum Cross-Ram Intake Manifold', + 'Intake Manifold' + ), + ( + 1290, + 22, + 'Tri-Pwr 3x2V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Power 3x2V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter Tri-Power 3x2V Carburetor', + 'Carburetor' + ), + ( + 1291, + 16, + 'Q-Jet 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 2x4V (800 cfm) Carb', + 'Carburetor' + ), + ( + 1292, + 1, + 'Ford 385 Valve Cover', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Cast Iron Valve Cover', + 'Valve Cover' + ), + ( + 1293, + 3, + 'Chevy W Valve Cover', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy W Cast Iron Valve Cover', + 'Valve Cover' + ), + ( + 1294, + 3, + 'Hi-Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hi-Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Hi-Lift Hydraulic Valve Train', + 'Valve Train' + ), + ( + 1295, + 1, + 'Tri-Y Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Y Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Tri-Y Steel Tube Headers', + 'Exhaust Manifold' + ), + ( + 1299, + 8, + 'Max Wedge III', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge III Valve Train', + 'Valve Train' + ), + ( + 1307, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Chrysler SB DP Camshaft', + 'Camshaft' + ), + ( + 1308, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock Camshaft', + 'Camshaft' + ), + ( + 1309, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock Camshaft', + 'Camshaft' + ), + ( + 1310, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Stock Camshaft', + 'Camshaft' + ), + ( + 1311, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'bone stock; low idle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock Camshaft', + 'Camshaft' + ), + ( + 1312, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Stock Camshaft', + 'Camshaft' + ), + ( + 1313, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock Camshaft', + 'Camshaft' + ), + ( + 1314, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock Camshaft', + 'Camshaft' + ), + ( + 1315, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Stock Camshaft', + 'Camshaft' + ), + ( + 1316, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Stock Camshaft', + 'Camshaft' + ), + ( + 1317, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock Camshaft', + 'Camshaft' + ), + ( + 1318, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock Camshaft', + 'Camshaft' + ), + ( + 1319, + 8, + 'Barracuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Barracuda Stock Camshaft', + 'Camshaft' + ), + ( + 1320, + 3, + 'Stock Hi-Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock Hi-Lift Camshaft', + 'Camshaft' + ), + ( + 1321, + 3, + 'HP Duntov', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Duntov', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB HP Duntov Camshaft', + 'Camshaft' + ), + ( + 1322, + 3, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB HP Camshaft', + 'Camshaft' + ), + ( + 1323, + 3, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB HP Camshaft', + 'Camshaft' + ), + ( + 1324, + 3, + 'HP LS7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB HP LS7 Camshaft', + 'Camshaft' + ), + ( + 1325, + 6, + '1968 Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1968 Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB 1968 Stage I Camshaft', + 'Camshaft' + ), + ( + 1326, + 6, + '1969 Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1969 Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB 1969 Stage I Camshaft', + 'Camshaft' + ), + ( + 1327, + 6, + 'Stage II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'midway between a stock cam and a true high performance cam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stage II Camshaft', + 'Camshaft' + ), + ( + 1328, + 5, + 'W-31 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-31 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB W31 HP Camshaft', + 'Camshaft' + ), + ( + 1329, + 5, + 'W-30 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-30 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB W30 HP Camshaft', + 'Camshaft' + ), + ( + 1330, + 7, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD DP Camshaft', + 'Camshaft' + ), + ( + 1331, + 7, + 'Ram Air I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air I HP Camshaft', + 'Camshaft' + ), + ( + 1332, + 7, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air IV HP Camshaft', + 'Camshaft' + ), + ( + 1333, + 7, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac HO HP Camshaft', + 'Camshaft' + ), + ( + 1334, + 7, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD HP Camshaft', + 'Camshaft' + ), + ( + 1335, + 13, + 'Perf. Q-Jet (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Q-Jet (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Q-Jet (600 cfm) Carb', + 'Carburetor' + ), + ( + 1336, + 1, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Truck Camshaft', + 'Camshaft' + ), + ( + 1337, + 13, + 'Performer RPM (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM (9.25) Chevy SB CH', + 'Cylinder Head' + ), + ( + 1338, + 13, + 'Performer RPM (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM (10.5) Chevy SB CH', + 'Cylinder Head' + ), + ( + 1339, + 13, + 'Performer (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer (10.5) Chevy SB CH', + 'Cylinder Head' + ), + ( + 1340, + 13, + 'Performer (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer (9.25) Chevy SB CH', + 'Cylinder Head' + ), + ( + 1341, + 13, + 'Perf. 454-O (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM 454-O (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM 454-O (9.5) Chevrolet BB Cylinder Head', + 'Cylinder Head' + ), + ( + 1342, + 13, + 'Performer 454-O (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer 454-O (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer 454-O (9.5) Chevrolet BB Head', + 'Cylinder Head' + ), + ( + 1343, + 13, + 'Perf. 454-R (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM 454-R (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM 454-R (9.5) Chevrolet BB Cylinder Head', + 'Cylinder Head' + ), + ( + 1344, + 13, + 'Perf. RPM (11.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM (11.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM (11.5) Chevy SB CH', + 'Cylinder Head' + ), + ( + 1345, + 1, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HO (DP) Camshaft', + 'Camshaft' + ), + ( + 1346, + 1, + 'HO Mild', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Mild', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HO Mild (HP) Camshaft', + 'Camshaft' + ), + ( + 1347, + 1, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cammer (DP+) Camshaft', + 'Camshaft' + ), + ( + 1348, + 1, + 'PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB PI (HP) Camshaft', + 'Camshaft' + ), + ( + 1349, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss (DP) Camshaft', + 'Camshaft' + ), + ( + 1350, + 13, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker Buick BB Intake Manifold', + 'Intake Manifold' + ), + ( + 1351, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Buick BB Intake Manifold', + 'Intake Manifold' + ), + ( + 1352, + 13, + 'Torker II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker II Buick BB Intake Manifold', + 'Intake Manifold' + ), + ( + 1353, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Buick BB Tunnel Ram Intake Manifold', + 'Intake Manifold' + ), + ( + 1354, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1355, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1356, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1357, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1358, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB CI/DP IM', + 'Intake Manifold' + ), + ( + 1359, + 8, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB HP Camshaft', + 'Camshaft' + ), + ( + 1360, + 8, + 'Max Wedge I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge I (HP) Camshaft', + 'Camshaft' + ), + ( + 1361, + 8, + 'Max Wedge III', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge III (DP)Camshaft', + 'Camshaft' + ), + ( + 1362, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi (DP+) Camshaft', + 'Camshaft' + ), + ( + 1363, + 8, + 'AAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB AAR (HP) Camshaft', + 'Camshaft' + ), + ( + 1364, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 (HP+) Camshaft', + 'Camshaft' + ), + ( + 1365, + 11, + 'SS/AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SS/AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC SS/AMX (DP) Camshaft', + 'Camshaft' + ), + ( + 1367, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Cadillac BB Camshaft', + 'Camshaft' + ), + ( + 1368, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Buick BB Camshaft', + 'Camshaft' + ), + ( + 1369, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Buick SB Camshaft', + 'Camshaft' + ), + ( + 1370, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Chevrolet BB Camshaft', + 'Camshaft' + ), + ( + 1371, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Chevrolet SB Camshaft', + 'Camshaft' + ), + ( + 1372, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Chrysler BB Camshaft', + 'Camshaft' + ), + ( + 1373, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Ford BB Camshaft', + 'Camshaft' + ), + ( + 1374, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Ford SB Camshaft', + 'Camshaft' + ), + ( + 1375, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Olds BB Camshaft', + 'Camshaft' + ), + ( + 1376, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Olds SB Camshaft', + 'Camshaft' + ), + ( + 1377, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Pontiac Camshaft', + 'Camshaft' + ), + ( + 1378, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Hemi Camshaft', + 'Camshaft' + ), + ( + 1379, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Chrysler BB Camshaft', + 'Camshaft' + ), + ( + 1380, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Buick BB Camshaft', + 'Camshaft' + ), + ( + 1381, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Buick SB Camshaft', + 'Camshaft' + ), + ( + 1382, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Chevrolet BB Camshaft', + 'Camshaft' + ), + ( + 1383, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Chevrolet SB Camshaft', + 'Camshaft' + ), + ( + 1384, + 74, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Sportsman Ford SB Connecting Rod', + 'Connecting Rods' + ), + ( + 1385, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Ford BB Camshaft', + 'Camshaft' + ), + ( + 1386, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Ford SB Camshaft', + 'Camshaft' + ), + ( + 1387, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Olds BB Camshaft', + 'Camshaft' + ), + ( + 1389, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Ford SB Connecting Rod', + 'Connecting Rods' + ), + ( + 1390, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Olds SB Camshaft', + 'Camshaft' + ), + ( + 1391, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Pontiac Camshaft', + 'Camshaft' + ), + ( + 1392, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special Chevy W Camshaft', + 'Camshaft' + ), + ( + 1393, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Chevrolet SB Stock+ Camshaft', + 'Camshaft' + ), + ( + 1394, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Ford SB Stock+ Camshaft', + 'Camshaft' + ), + ( + 1395, + 74, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Titanium Ford BB Connecting Rod', + 'Connecting Rods' + ), + ( + 1396, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Ford BB Stock+ Camshaft', + 'Camshaft' + ), + ( + 1397, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chrysler BB HP Camshaft', + 'Camshaft' + ), + ( + 1398, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Buick BB HP Camshaft', + 'Camshaft' + ), + ( + 1399, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chevrolet BB HP Camshaft', + 'Camshaft' + ), + ( + 1400, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chevrolet SB HP Camshaft', + 'Camshaft' + ), + ( + 1401, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Ford BB HP Camshaft', + 'Camshaft' + ), + ( + 1402, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Ford SB HP Camshaft', + 'Camshaft' + ), + ( + 1404, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Olds SB HP Camshaft', + 'Camshaft' + ), + ( + 1405, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Pontiac HP Camshaft', + 'Camshaft' + ), + ( + 1407, + 74, + 'Pure-Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pure-Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Pure-Stock Chevrolet SB Crankshaft', + 'Crankshaft' + ), + ( + 1408, + 74, + 'Stock-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Stock-Plus Crankshaft', + 'Crankshaft' + ), + ( + 1409, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Chevrolet SB Crankshaft', + 'Crankshaft' + ), + ( + 1410, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Chrysler BB DP Camshaft', + 'Camshaft' + ), + ( + 1412, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Chevrolet BB DP Camshaft', + 'Camshaft' + ), + ( + 1413, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Chevrolet SB DP Camshaft', + 'Camshaft' + ), + ( + 1414, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Ford BB DP Camshaft', + 'Camshaft' + ), + ( + 1415, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Ford SB DP Camshaft', + 'Camshaft' + ), + ( + 1418, + 13, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker-Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker-Plus Pontiac DP Camshaft', + 'Camshaft' + ), + ( + 1420, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1421, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1422, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1423, + 74, + 'Ultra-Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultra-Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Ultra-Light Chevrolet SB Crankshaft', + 'Crankshaft' + ), + ( + 1424, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1425, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 1426, + 3, + 'RPO411 Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RPO411', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB RPO411 Aluminum Intake Manifold', + 'Intake Manifold' + ), + ( + 1427, + 3, + 'High Rise Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Rise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB High Rise Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1428, + 3, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1429, + 6, + '350-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'cast iron block with two-bolt main bearing cap; similar to previous small-blocks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB V8 350', + 'Engine Block' + ), + ( + 1430, + 6, + '455-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'cast iron block with thick two-bolt main bearing cap', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB V8 455', + 'Engine Block' + ), + ( + 1431, + 74, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Standard Chevrolet SB Crankshaft', + 'Crankshaft' + ), + ( + 1432, + 74, + 'Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Chevrolet BB Crankshaft', + 'Crankshaft' + ), + ( + 1433, + 3, + 'High Rise Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Rise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB High Rise Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1434, + 3, + 'LS6 Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Low Rise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB LS6 Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1435, + 6, + 'Stock 322 Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 322 Dual Plane IM', + 'Intake Manifold' + ), + ( + 1436, + 13, + 'Stage II Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Stage II Buick BB Aluminum IM', + 'Intake Manifold' + ), + ( + 1437, + 5, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1438, + 5, + 'W-31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB W-31 HP Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1439, + 5, + 'W-30 IM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB W-30 HP Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1440, + 7, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air IV HP Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1441, + 7, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1442, + 1, + '1957 Large Port', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'larger than normal ports', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 1957', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 1957 Stock Dual Plane IM', + 'Intake Manifold' + ), + ( + 1443, + 13, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Aluminum Dual Plane Ford SB IM', + 'Intake Manifold' + ), + ( + 1444, + 1, + 'Small Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock Lubrication System', + 'Lubrication System' + ), + ( + 1445, + 1, + 'HR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Riser', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HR Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1446, + 1, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cammer HP Aluminum IM', + 'Intake Manifold' + ), + ( + 1447, + 1, + 'Sidewinder', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sidewinder', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Sidewinder Aluminum Single Plane IM', + 'Intake Manifold' + ), + ( + 1448, + 1, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cast Iron Single Plane IM', + 'Intake Manifold' + ), + ( + 1449, + 38, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offenhauser Magnesium Single Plane Ford 385 IM', + 'Intake Manifold' + ), + ( + 1450, + 8, + 'High Riser', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Riser', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB High Rise Dual Plane IM', + 'Intake Manifold' + ), + ( + 1451, + 8, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1452, + 8, + 'Long Ram IM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Long Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Long Ram IM', + 'Intake Manifold' + ), + ( + 1453, + 8, + 'Short Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Short Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Short Ram IM', + 'Intake Manifold' + ), + ( + 1454, + 13, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Aluminum Dual Plane Chrysler BB IM', + 'Intake Manifold' + ), + ( + 1455, + 3, + '427-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 W', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W V8 427', + 'Engine Block' + ), + ( + 1456, + 8, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 1457, + 11, + 'Rebel Machine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rebel Machine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Rebel Machine Dual Plane IM', + 'Intake Manifold' + ), + ( + 1458, + 13, + 'R4B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'R4B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock R4B AMC Block Dual Plane IM', + 'Intake Manifold' + ), + ( + 1459, + 1, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland 400-V8', + 'Engine Block' + ), + ( + 1460, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Flat Top Cast Aluminum Piston', + 'Pistons' + ), + ( + 1461, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 Piston', + 'Pistons' + ), + ( + 1462, + 13, + 'Super Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Super Dual Ford Flathead IM', + 'Intake Manifold' + ), + ( + 1463, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Cadillac BB IM', + 'Intake Manifold' + ), + ( + 1464, + 1, + '351-V8 Windsor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 Windsor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 351-V8 Windsor', + 'Engine Block' + ), + ( + 1465, + 21, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Ford BB Valvetrain', + 'Valve Train' + ), + ( + 1466, + 21, + 'Fireball XR700', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fireball XR700', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Fireball XR700 Ignition System', + 'Electrical System' + ), + ( + 1467, + 21, + 'Fireball XR3000', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fireball XR3000', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Fireball XR3000 Ignition System', + 'Electrical System' + ), + ( + 1468, + 77, + 'TM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Reed TM Hydraulic Ford BB Valvetrain', + 'Valve Train' + ), + ( + 1469, + 77, + 'T-UL', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-UL', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Reed T-UL Solid Lifter Ford BB Valvetrain', + 'Valve Train' + ), + ( + 1470, + 77, + 'R-ULX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'R-ULX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Reed R-ULX Roller Ford BB Valvetrain', + 'Valve Train' + ), + ( + 1471, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Domed Top Forged Aluminum', + 'Pistons' + ), + ( + 1472, + 6, + '322 4V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fireball V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '322 4V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 322 4V (255 hp)', + 'Engine Assembly' + ), + ( + 1473, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Domed Top Forged Aluminum', + 'Pistons' + ), + ( + 1474, + 3, + '265 2V (162 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265 2V (162 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 265 2V (162 hp)', + 'Engine Assembly' + ), + ( + 1475, + 3, + '265 4V (180 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265 4V (180 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 265 4V (180 hp)', + 'Engine Assembly' + ), + ( + 1476, + 3, + '265 4V (195 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265 4V (195 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 265 4V (195 hp)', + 'Engine Assembly' + ), + ( + 1477, + 3, + '283 2V (185 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 2V (185 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 2V (185 hp)', + 'Engine Assembly' + ), + ( + 1478, + 3, + '283 4V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 4V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 4V (220 hp)', + 'Engine Assembly' + ), + ( + 1479, + 3, + '283 2x4V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 2x4V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 2x4V (245 hp)', + 'Engine Assembly' + ), + ( + 1480, + 3, + '283 2x4V (270 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'includes improved oiling and Ram''s Horn exhaust manifolds', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 2x4V (270 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 2x4V (270 hp)', + 'Engine Assembly' + ), + ( + 1481, + 3, + '283 FI (283 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 FI (283 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 FI (283 hp)', + 'Engine Assembly' + ), + ( + 1482, + 3, + '283 FI (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 FI (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 FI (290 hp)', + 'Engine Assembly' + ), + ( + 1483, + 3, + '283 FI (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 FI (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 FI (275 hp)', + 'Engine Assembly' + ), + ( + 1484, + 3, + '283 FI (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '283 FI (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 283 FI (315 hp)', + 'Engine Assembly' + ), + ( + 1485, + 3, + '265 2x4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RPO 411 package', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 265 2x4V (225 hp)', + 'Engine Assembly' + ), + ( + 1486, + 3, + '327 4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 4V (250 hp)', + 'Engine Assembly' + ), + ( + 1487, + 3, + '327 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'equipped with large valve cylinder head', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1488, + 3, + '327 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 4V (340 hp)', + 'Engine Assembly' + ), + ( + 1489, + 3, + '327 FI (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 FI (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 FI (360 hp)', + 'Engine Assembly' + ), + ( + 1490, + 3, + '327 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 4V (365 hp)', + 'Engine Assembly' + ), + ( + 1491, + 3, + '327 FI (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '327 FI (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 327 FI (375 hp)', + 'Engine Assembly' + ), + ( + 1492, + 3, + '302 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z28 Camaro engine specially built to compete in the SCCA Trans Am Series; high RPM power', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 302 4V (290 hp)', + 'Engine Assembly' + ), + ( + 1493, + 3, + '350 4V (295 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350 4V (295 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350 4V (295 hp)', + 'Engine Assembly' + ), + ( + 1494, + 3, + '350 4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350 4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350 4V (250 hp)', + 'Engine Assembly' + ), + ( + 1495, + 3, + '350 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a remarkable 1 hp per cubic inch', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350 4V (350 hp)', + 'Engine Assembly' + ), + ( + 1496, + 3, + '350 4V (360 hp) Z28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro version; updated Z28 302 engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + ' 4V (360 hp) Z28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350 4V (360 hp) Z/28', + 'Engine Assembly' + ), + ( + 1497, + 3, + '350 4V (370 hp) LT-1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Corvette version; updated Z28 302 engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '350 4V (370 hp) LT-1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 350 4V (370 hp) LT-1', + 'Engine Assembly' + ), + ( + 1498, + 3, + '400 4V (265 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'the largest small block made; siamesed cylinder walls', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (265 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 400 4V (265 hp)', + 'Engine Assembly' + ), + ( + 1499, + 6, + 'Stock (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock (10.0) CH', + 'Cylinder Head' + ), + ( + 1500, + 3, + '348 4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 4V (250 hp)', + 'Engine Assembly' + ), + ( + 1501, + 3, + '348 3x2V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 348 3x2V (280 hp)', + 'Engine Assembly' + ), + ( + 1502, + 3, + '348 4V (305 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (305 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 4V (305 hp)', + 'Engine Assembly' + ), + ( + 1503, + 3, + '348 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine; used on Police Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '348 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 4V (315 hp)', + 'Engine Assembly' + ), + ( + 1504, + 3, + '348 3x2V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 348 3x2V (315 hp)', + 'Engine Assembly' + ), + ( + 1505, + 3, + '348 4V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 4V (320 hp)', + 'Engine Assembly' + ), + ( + 1506, + 3, + '348 3x2V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 3x2V (335 hp)', + 'Engine Assembly' + ), + ( + 1507, + 3, + '348 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine RPO 590', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB- W 348 4V (340 hp)', + 'Engine Assembly' + ), + ( + 1508, + 3, + '348 3x2V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine RPO 573B', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 348 3x2V (350 hp)', + 'Engine Assembly' + ), + ( + 1509, + 3, + '409 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine RPO 580', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 4V (360 hp)', + 'Engine Assembly' + ), + ( + 1510, + 3, + '409 4V (380 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (380 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 4V (380 hp)', + 'Engine Assembly' + ), + ( + 1511, + 3, + '409 2x4V (409 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (409 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 2x4V (409 hp)', + 'Engine Assembly' + ), + ( + 1512, + 3, + '409 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (409 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 4V (340 hp)', + 'Engine Assembly' + ), + ( + 1513, + 3, + '409 4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 4V (400 hp)', + 'Engine Assembly' + ), + ( + 1514, + 3, + '409 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 409 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 1515, + 3, + '427 2x4V (430 hp) Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Thrust engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (430 hp) Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W 427 2x4V (430 hp) Z11', + 'Engine Assembly' + ), + ( + 1516, + 3, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Z11 (3.25) Piston', + 'Pistons' + ), + ( + 1517, + 22, + 'AFB 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AFB 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AFB 2x4V (800 cfm) Carb', + 'Carburetor' + ), + ( + 1518, + 3, + '396 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 396 4V (325 hp)', + 'Engine Assembly' + ), + ( + 1519, + 3, + '396 4V (350 hp) L34', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine L34', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (350 hp) L34', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 396 4V (350 hp)', + 'Engine Assembly' + ), + ( + 1520, + 3, + '396 4V (425 hp) L78', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine L78', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (425 hp) L78', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 396 4V (425 hp)', + 'Engine Assembly' + ), + ( + 1521, + 16, + 'Quadrajet 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 1522, + 3, + '396 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 396 4V (360 hp)', + 'Engine Assembly' + ), + ( + 1523, + 3, + '427 4V (390 hp) L36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine L36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '396 4V (390 hp) L36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 4V (390 hp)', + 'Engine Assembly' + ), + ( + 1524, + 3, + '427 4V (425 hp) L72', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine L72', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 4V (425 hp) L72', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 4V (425 hp)', + 'Engine Assembly' + ), + ( + 1525, + 3, + '427 3x2V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 3x2V (400 hp)', + 'Engine Assembly' + ), + ( + 1526, + 3, + '427 4V (430 hp) L88', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine all-aluminum engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 4V (430 hp) L88', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 4V (430 hp) L88', + 'Engine Assembly' + ), + ( + 1527, + 3, + '427 3x2V (435 hp) L89', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet all-aluminum engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 3x2V (435 hp) L89', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 3x2V (435 hp) L89', + 'Engine Assembly' + ), + ( + 1528, + 3, + '427 3x2V (435 hp) L71', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 3x2V (435 hp) L71', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 427 3x2V (435 hp) L71', + 'Engine Assembly' + ), + ( + 1529, + 3, + '402 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet 400 L35 engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '402 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 402 4V (325 hp)', + 'Engine Assembly' + ), + ( + 1530, + 3, + '402-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '402', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 402', + 'Engine Block' + ), + ( + 1531, + 3, + '454 4V (345 hp) LS4', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine; low performance model for full-size cars', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (345 hp) LS4', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (345 hp) LS4', + 'Engine Assembly' + ), + ( + 1532, + 3, + '454 4V (360 hp) LS5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine; Chevelle version of the medium-performance big-block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (360 hp) LS5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (360 hp) LS5', + 'Engine Assembly' + ), + ( + 1533, + 3, + '454 4V (390 hp) LS5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine; Corvette version of the medium-performance big-block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (390 hp) LS5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (390 hp) LS5', + 'Engine Assembly' + ), + ( + 1534, + 3, + '454 4V (425 hp) LS6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine; Corvette version of the high-performance big-block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (425 hp) LS6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (425 hp) LS6', + 'Engine Assembly' + ), + ( + 1535, + 3, + '454 4V (450 hp) LS6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine; Chevelle version of the high-performance big-block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (450 hp) LS6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (450 hp) LS6', + 'Engine Assembly' + ), + ( + 1536, + 3, + '454 4V (465 hp) LS7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet Engine phantom engine; never actually produced', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '454 4V (465 hp) LS7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 454 4V (465 hp) LS7', + 'Engine Assembly' + ), + ( + 1537, + 5, + '455 2V (310 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 2V (310 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 2V (310 hp)', + 'Engine Assembly' + ), + ( + 1538, + 1, + '18 x 6.4 Bias Belted Wheel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '18 x 6.4 Bias Belted Wheel', + 'Wheel Assemblies' + ), + ( + 1539, + 5, + '455 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 4V (365 hp)', + 'Engine Assembly' + ), + ( + 1540, + 5, + '455 4V (375 hp) A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 4V (375 hp) A', + 'Engine Assembly' + ), + ( + 1541, + 5, + '455 4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8; 1968 Hurst', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 4V (390 hp)', + 'Engine Assembly' + ), + ( + 1542, + 5, + '455 4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 455 4V (400 hp)', + 'Engine Assembly' + ), + ( + 1543, + 5, + '400 4V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 400 4V (345 hp)', + 'Engine Assembly' + ), + ( + 1544, + 22, + 'AFB 4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AFB 4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AFB 4V (400 cfm) Carb', + 'Carburetor' + ), + ( + 1545, + 5, + '400 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 400 4V (350 hp)', + 'Engine Assembly' + ), + ( + 1546, + 5, + '400 3x2V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 3x2V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 400 3x2V (365 hp)', + 'Engine Assembly' + ), + ( + 1547, + 5, + '400 2V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 2V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 400 2V (300 hp)', + 'Engine Assembly' + ), + ( + 1548, + 5, + '400 4V W30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rocket V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V W30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB 400 4V W30', + 'Engine Assembly' + ), + ( + 1549, + 14, + 'Hilborn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hilborn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Hilborn Air Scoop 4%', + 'Air Scoop' + ), + ( + 1550, + 7, + '389 2V (215 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'baseline Strato-Streak engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 2V (215 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 2V (215 hp)', + 'Engine Assembly' + ), + ( + 1551, + 7, + '389 2V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strato-Streak baseline engine for use with manual transmissions', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 2V (245 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 2V (245 hp)', + 'Engine Assembly' + ), + ( + 1552, + 7, + '389 4V (260 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strato-Streak baseline engine for use with manual transmissions', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 4V (260 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 4V (260 hp)', + 'Engine Assembly' + ), + ( + 1553, + 7, + '389 2V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 2V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 2V (280 hp)', + 'Engine Assembly' + ), + ( + 1554, + 7, + '389 4V (303 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 4V (303 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 4V (303 hp)', + 'Engine Assembly' + ), + ( + 1555, + 7, + '389 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 Trophy 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1556, + 7, + '389 3x2V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 3x2V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 Trophy 3x2V (315 hp)', + 'Engine Assembly' + ), + ( + 1557, + 7, + '389 SD 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 SD 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 SD 4V (330 hp)', + 'Engine Assembly' + ), + ( + 1558, + 7, + '389 SD 3x2V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'super duty race engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 SD 3x2V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 SD 3x2V (345 hp)', + 'Engine Assembly' + ), + ( + 1559, + 10, + 'F70 X 14', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'F70 X 14', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cuda F70 X 14', + 'Wheel Assemblies' + ), + ( + 1560, + 10, + 'F60 X 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'F60 X 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cuda F60 X 15', + 'Wheel Assemblies' + ), + ( + 1561, + 10, + 'G60 X 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'as installed on the AAR Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'G60 X 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AAR Cuda G60 X 15', + 'Wheel Assemblies' + ), + ( + 1562, + 7, + '389 3x2V (333 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 3x2V (333 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 Trophy 3x2V (333 hp)', + 'Engine Assembly' + ), + ( + 1563, + 7, + '389 4V (318 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 4V (318 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 Trophy 4V (318 hp)', + 'Engine Assembly' + ), + ( + 1564, + 7, + '389 SD 3x2V (363 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '389 SD 3x2V (363 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 389 SD 3x2V (363 hp)', + 'Engine Assembly' + ), + ( + 1565, + 0, + 'Generic Exh Assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Exh Assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Exh Assembly', + 'Exhaust Assembly' + ), + ( + 1566, + 7, + '421 SD 2x4V (373 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'over the counter version of the Super Duty engine for drag-strip use', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 SD 2x4V (373 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 SD 2x4V (373 hp)', + 'Engine Assembly' + ), + ( + 1567, + 7, + '421 4V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 4V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 4V (320 hp)', + 'Engine Assembly' + ), + ( + 1568, + 7, + '421 SD 2x4V (405 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'drag-strip Super Duty engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 SD 2x4V (405 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 SD 2x4V (405 hp)', + 'Engine Assembly' + ), + ( + 1569, + 7, + '421 HO 4V (353 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 HO 4V (353 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 HO 4V (353 hp)', + 'Engine Assembly' + ), + ( + 1570, + 7, + '421 HO 3x2V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 HO 3x2V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 HO 3x2V (370 hp)', + 'Engine Assembly' + ), + ( + 1571, + 7, + '421 SD 4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'stock car Super Duty engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 SD 4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 SD 4V (390 hp)', + 'Engine Assembly' + ), + ( + 1572, + 7, + '421 SD 2x4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'drag-strip Super Duty engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '421 SD 2x4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 421 SD 2x4V (410 hp)', + 'Engine Assembly' + ), + ( + 1573, + 7, + 'Wedge (12.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (12.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Wedge (12.0) CH', + 'Cylinder Head' + ), + ( + 1574, + 7, + 'Wedge (13.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (13.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Wedge (13.0) CH', + 'Cylinder Head' + ), + ( + 1575, + 7, + '400 2V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 2V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 2V (255 hp)', + 'Engine Assembly' + ), + ( + 1576, + 7, + '400 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 4V (290 hp)', + 'Engine Assembly' + ), + ( + 1577, + 7, + '400 Ram Air I (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'as installed on the 1967 Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air I (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 Ram Air I (325 hp)', + 'Engine Assembly' + ), + ( + 1578, + 14, + 'MegaScoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'MegaScoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley MegaScoop Air Scoop 5%', + 'Air Scoop' + ), + ( + 1579, + 7, + '400 Ram Air II (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V; as installed on the 1968 Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air II (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 Ram Air II', + 'Engine Assembly' + ), + ( + 1580, + 7, + 'Ram Air II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air II Cylinder Head', + 'Cylinder Head' + ), + ( + 1581, + 7, + '400 Ram Air IV (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'as installed on the 1970 Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air IV (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 Ram Air IV (345 hp)', + 'Engine Assembly' + ), + ( + 1582, + 7, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air IV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air IV Piston', + 'Pistons' + ), + ( + 1583, + 7, + '455 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 455 4V (360 hp)', + 'Engine Assembly' + ), + ( + 1584, + 7, + '455 4V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 4V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 455 4V (370 hp)', + 'Engine Assembly' + ), + ( + 1585, + 7, + '455 HO 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 HO 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 455 HO 4V (335 hp)', + 'Engine Assembly' + ), + ( + 1586, + 7, + '455 SD 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'this is the (downrated) version that actually reached production', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '455 SD 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 455 SD 4V (290 hp)', + 'Engine Assembly' + ), + ( + 1587, + 1, + '292 4V (193 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used on manual transmission cars', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '292 4V (193 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 292 4V (193 hp)', + 'Engine Assembly' + ), + ( + 1588, + 1, + '292 4V (198 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used on automatic transmission cars', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '292 4V (198 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 292 4V (198 hp)', + 'Engine Assembly' + ), + ( + 1589, + 1, + '292 4V (212 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '292 4V (212 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 292 4V (212 hp)', + 'Engine Assembly' + ), + ( + 1590, + 1, + '312 4V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '312 4V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 312 4V (210 hp)', + 'Engine Assembly' + ), + ( + 1592, + 1, + '312 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '312 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 312 4V (225 hp)', + 'Engine Assembly' + ), + ( + 1593, + 1, + '312 2x4V (265 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '312 2x4V (265 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 312 2x4V (265 hp)', + 'Engine Assembly' + ), + ( + 1594, + 1, + '352 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '352 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 352 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1595, + 1, + '352 HP 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '352 HP 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 352 HP 4V (360 hp)', + 'Engine Assembly' + ), + ( + 1596, + 1, + '352 2V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '352 2V (220 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 352 2V (220 hp)', + 'Engine Assembly' + ), + ( + 1597, + 1, + '390 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1598, + 1, + '390 HP 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'thicker main-bearing webs and caps; additional reinforcing ribs; oil pressure relief', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 HP 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 HP 4V (375 hp)', + 'Engine Assembly' + ), + ( + 1599, + 1, + '390 HP 3x2V (401 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 HP 3x2V (401 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 HP 3x2V (401 hp)', + 'Engine Assembly' + ), + ( + 1600, + 14, + '3x2V (680 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (680 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 3x2V (680 cfm) Carb', + 'Carburetor' + ), + ( + 1601, + 1, + '390 PI 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Police Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 PI 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 PI 4V (330 hp)', + 'Engine Assembly' + ), + ( + 1602, + 1, + '390 3x2V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'detuned HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 3x2V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 3x2V (340 hp)', + 'Engine Assembly' + ), + ( + 1603, + 1, + '390 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 2V (250 hp)', + 'Engine Assembly' + ), + ( + 1604, + 1, + '390 2V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 2V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 2V (275 hp)', + 'Engine Assembly' + ), + ( + 1605, + 1, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 4V (315 hp)', + 'Engine Assembly' + ), + ( + 1606, + 1, + '390 GT 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'available for GT cars, 1966-1969', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 GT 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 390 GT 4V (335 hp)', + 'Engine Assembly' + ), + ( + 1607, + 1, + '406 4V (385 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '406 4V (385 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 406 4V (385 hp)', + 'Engine Assembly' + ), + ( + 1608, + 1, + '406 3x2V (405 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '406 3x2V (405 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 406 3x2V (405 hp)', + 'Engine Assembly' + ), + ( + 1609, + 14, + '4300 2x4V (1000 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4300 2x4V (1000 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4300 2x4V (1000 cfm) Carb', + 'Carburetor' + ), + ( + 1610, + 1, + '427 LR 4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 LR 4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 LR 4V (410 hp)', + 'Engine Assembly' + ), + ( + 1611, + 1, + '427 MR 4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'performance engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 MR 4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 MR 4V (410 hp)', + 'Engine Assembly' + ), + ( + 1612, + 1, + '427 MR 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'performance engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 MR 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 MR 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 1613, + 1, + 'Medium Riser (11.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Medium Riser (11.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Medium Riser (11.6) Cylinder Head', + 'Cylinder Head' + ), + ( + 1614, + 1, + '427 SOHC 4V (615 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'the ultimate configuration of the FE-series big-block engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '427 SOHC 4V (615 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 SOHC 4V (615 hp)', + 'Engine Assembly' + ), + ( + 1615, + 1, + 'Cammer Pop-up', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cammer Pop-up Piston', + 'Pistons' + ), + ( + 1616, + 1, + '428 4V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '428 4V (345 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 428 4V (345 hp)', + 'Engine Assembly' + ), + ( + 1617, + 1, + '428 4V (360 hp) PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Police Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '428 4V (360 hp) PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 428 4V (360 hp) PI', + 'Engine Assembly' + ), + ( + 1618, + 1, + '428 CJ 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '428 CJ 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 428 CJ 4V (335 hp)', + 'Engine Assembly' + ), + ( + 1619, + 1, + '428 SCJ 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Cobrajet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '428 SCJ 4V (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 428 SCJ 4V (335 hp)', + 'Engine Assembly' + ), + ( + 1620, + 1, + '260 2V (164 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '260 2V (164 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 260 2V (164 hp)', + 'Engine Assembly' + ), + ( + 1621, + 1, + '289 HP 4V (271 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289 HP 4V (271 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 289 HP 4V (271 hp)', + 'Engine Assembly' + ), + ( + 1622, + 1, + '289 4V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289 4V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 289 4V (210 hp)', + 'Engine Assembly' + ), + ( + 1623, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Flat Top CA Piston', + 'Pistons' + ), + ( + 1624, + 1, + 'Wedge (10.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Wedge/P (10.6) CH', + 'Cylinder Head' + ), + ( + 1625, + 1, + '289 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289 4V (225 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 289 4V (225 hp)', + 'Engine Assembly' + ), + ( + 1626, + 1, + '302 2V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302 2V (210 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302 2V (210 hp)', + 'Engine Assembly' + ), + ( + 1627, + 1, + '302 4V (230 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302 4V (230 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302 4V (230 hp)', + 'Engine Assembly' + ), + ( + 1628, + 1, + '302 Boss 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '290 hp', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302 Boss 4V (290 hp)', + 'Engine Assembly' + ), + ( + 1629, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss FAL Piston', + 'Pistons' + ), + ( + 1630, + 1, + '351W 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351W 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 351W 2V (250 hp)', + 'Engine Assembly' + ), + ( + 1631, + 1, + '351W 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351W 4V (290 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 351W 4V (290 hp)', + 'Engine Assembly' + ), + ( + 1632, + 1, + '351W 2V (240 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351W 2V (240 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 351W 2V (240 hp)', + 'Engine Assembly' + ), + ( + 1633, + 1, + '351 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C; two-barrel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 2V (250 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C 2V (250 hp)', + 'Engine Assembly' + ), + ( + 1634, + 1, + '351 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C; higher compression', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 4V (300 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C 4V (300 hp)', + 'Engine Assembly' + ), + ( + 1635, + 1, + '351 CJ 4V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'open chamber heads with large valves', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 CJ 4V (280 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C CJ 4V (280 hp)', + 'Engine Assembly' + ), + ( + 1636, + 1, + '351 Boss 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'available only on 1971 Boss 351 Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 Boss 4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C Boss 4V (330 hp)', + 'Engine Assembly' + ), + ( + 1637, + 1, + '351 HO 4V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'renamed and modified Boss 351', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 HO 4V (275 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C HO 4V (275 hp)', + 'Engine Assembly' + ), + ( + 1638, + 1, + '351 2V (177 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C; two-barrel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '351 2V (177 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 351C 2V (177 hp)', + 'Engine Assembly' + ), + ( + 1639, + 1, + '400 2V (260 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'basically a stopgap engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 2V (260 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 400C 2V (260 hp)', + 'Engine Assembly' + ), + ( + 1640, + 1, + '400 2V (172 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'basically a stopgap engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 2V (172 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 400C 2V (172 hp)', + 'Engine Assembly' + ), + ( + 1641, + 1, + '429 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'optional engine on Ford and Mercury cars from 1968-1973', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 4V (360 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 4V (360 hp)', + 'Engine Assembly' + ), + ( + 1642, + 1, + '429 2V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'optional engine on Ford and Mercury cars from 1968-1973', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 2V (320 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 2V (320 hp)', + 'Engine Assembly' + ), + ( + 1643, + 1, + '429 SCJ 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Cobrajet; available on Ford and Mercury performance intermediates', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 SCJ 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 SCJ 4V (375 hp)', + 'Engine Assembly' + ), + ( + 1644, + 1, + '429 CJ 4V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cobrajet; available on Ford and Mercury performance intermediates', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 CJ 4V (370 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 CJ 4V (370 hp)', + 'Engine Assembly' + ), + ( + 1645, + 1, + '429 4V (212 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'lower compression engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 4V (212 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 4V (212 hp)', + 'Engine Assembly' + ), + ( + 1646, + 1, + '429 NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'race version of the 429 Boss engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429 NASCAR', + 'Engine Assembly' + ), + ( + 1647, + 1, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 NASCAR Head', + 'Cylinder Head' + ), + ( + 1648, + 1, + '460 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '460 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 460 4V (365 hp)', + 'Engine Assembly' + ), + ( + 1649, + 1, + '460 4V (224 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '460 4V (224 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 460 4V (224 hp)', + 'Engine Assembly' + ), + ( + 1650, + 1, + '460 PI 4V (274 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'police interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '460 PI 4V (274 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 460 PI 4V (274 hp)', + 'Engine Assembly' + ), + ( + 1651, + 8, + '383 2V (305 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '383 2V (305 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 383 2V (305 hp)', + 'Engine Assembly' + ), + ( + 1652, + 8, + '383 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '383 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 383 4V (325 hp)', + 'Engine Assembly' + ), + ( + 1653, + 8, + '383 2V (270 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '383 2V (270 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 383 2V (270 hp)', + 'Engine Assembly' + ), + ( + 1654, + 8, + '383 2x4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1960 Super D-500 Package', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (330 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 383 2x4V (330 hp)', + 'Engine Assembly' + ), + ( + 1655, + 8, + '383-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '383', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 383-V8', + 'Engine Block' + ), + ( + 1656, + 8, + '400 2V (190 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 2V (190 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 400 2V (190 hp)', + 'Engine Assembly' + ), + ( + 1657, + 8, + '400 4V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V (255 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 400 4V (255 hp)', + 'Engine Assembly' + ), + ( + 1658, + 8, + '400 4V (205 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400 4V (205 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 400 4V (205 hp)', + 'Engine Assembly' + ), + ( + 1659, + 8, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 400-V8', + 'Engine Block' + ), + ( + 1660, + 8, + '413 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '413 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 4V (350 hp)', + 'Engine Assembly' + ), + ( + 1661, + 8, + '413 2x4V (380 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '413 2x4V (380 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 2x4V (380 hp)', + 'Engine Assembly' + ), + ( + 1662, + 8, + '413 Long Ram 2x4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Long Ram 413', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 Long Ram 2x4V (375 hp)', + 'Engine Assembly' + ), + ( + 1663, + 8, + '413 Short Ram 2x4V (400 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Short Ram 413', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 Short Ram 2x4V (400 hp)', + 'Engine Assembly' + ), + ( + 1664, + 8, + '413 Max Wedge 2x4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'officially known as the RamCharger 413 or Super Stock 413', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge 2x4V (410 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 Max Wedge 2x4V (410 hp)', + 'Engine Assembly' + ), + ( + 1665, + 8, + '413 Max Wedge 2x4V (420 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'officially known as the RamCharger 413 or Super Stock 413', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge 2x4V (420 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 Max Wedge 2x4V (420 hp)', + 'Engine Assembly' + ), + ( + 1666, + 8, + '413 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '413 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 4V (365 hp)', + 'Engine Assembly' + ), + ( + 1667, + 8, + '413 2x4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '413 2x4V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413 2x4V (390 hp)', + 'Engine Assembly' + ), + ( + 1668, + 8, + '426 Max Wedge III 2x4V (415 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III 2x4V (415 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426 Max Wedge III 2x4V (415 hp)', + 'Engine Assembly' + ), + ( + 1669, + 8, + '426 Max Wedge III 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426 Max Wedge III 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 1670, + 8, + '413-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '413', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 413-V8', + 'Engine Block' + ), + ( + 1671, + 8, + 'Max Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1672, + 8, + '426 Max Wedge 2x4V (415 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge 2x4V (415 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426 Max Wedge 2x4V (415 hp)', + 'Engine Assembly' + ), + ( + 1673, + 8, + '426 Max Wedge 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge 2x4V (425 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426 Max Wedge 2x4V (425 hp)', + 'Engine Assembly' + ), + ( + 1674, + 8, + '426 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used mostly on trucks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '426 4V (365 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 426 4V (365 hp)', + 'Engine Assembly' + ), + ( + 1675, + 8, + 'Max Wedge III (12.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III (12.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge III (12.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 1676, + 8, + '440 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'non-performance engine for use on heavy passenger cars', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440 4V (350 hp)', + 'Engine Assembly' + ), + ( + 1677, + 8, + '440 3x2V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'known as the "Six Pack" or "Six Barrel" engine; used on the ''Cuda, Road Runner, and Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (390 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440 3x2V (390 hp)', + 'Engine Assembly' + ), + ( + 1678, + 87, + 'Wedge Top (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + ' Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top Piston', + 'Pistons' + ), + ( + 1679, + 11, + '343 2V (235 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '343 2V (235 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 343 2V (235 hp)', + 'Engine Assembly' + ), + ( + 1680, + 11, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (315 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 390 4V (315 hp)', + 'Engine Assembly' + ), + ( + 1681, + 11, + '390 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (325 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 390 4V (325 hp)', + 'Engine Assembly' + ), + ( + 1682, + 11, + '390 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rebel Machine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 4V (340 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 390 4V Rebel Machine (340 hp)', + 'Engine Assembly' + ), + ( + 1683, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Flat Top CA Piston', + 'Pistons' + ), + ( + 1684, + 11, + 'Rebel Machine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rebel Machine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Rebel Machine Dual', + 'Exhaust Manifold' + ), + ( + 1685, + 13, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Chevrolet BB Exhaust Headers', + 'Exhaust Manifold' + ), + ( + 1687, + 0, + 'Big Tire (Mod)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stunt Tire', + 'Tires' + ), + ( + 1716, + 71, + '9 x 2 Organic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Organic Disk Brake', + 'Brakes' + ), + ( + 1717, + 71, + '9 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Organic HT Disk Brakes', + 'Brakes' + ), + ( + 1718, + 71, + '9 x 2 Organic Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Organic Drum Brake', + 'Brakes' + ), + ( + 1719, + 71, + '9 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Organic HT Drum Brake', + 'Brakes' + ), + ( + 1720, + 72, + '12 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Organic HT Drum Brake', + 'Brakes' + ), + ( + 1721, + 72, + '12 x 2 SM Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 12 x 2 Semi-Metallic Drum Brake', + 'Brakes' + ), + ( + 1722, + 73, + '10 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10 x 2 Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 10 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 1723, + 73, + '12 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12 x 2 ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 12 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 1724, + 73, + '14 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 1725, + 73, + '16 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '16 x 2 Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 16 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 1726, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock Camshaft', + 'Camshaft' + ), + ( + 1727, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock Camshaft', + 'Camshaft' + ), + ( + 1728, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock Camshaft', + 'Camshaft' + ), + ( + 1729, + 13, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer RPM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer RPM Chrysler SB HP Camshaft', + 'Camshaft' + ), + ( + 1730, + 77, + 'TorqueMaster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TorqueMaster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Reed TorqueMaster Chrysler SB HP Camshaft', + 'Camshaft' + ), + ( + 1731, + 77, + 'XLH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'XLH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Reed XLH Chrysler SB DP Camshaft', + 'Camshaft' + ), + ( + 1732, + 21, + 'Sat. Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Saturday Night Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Saturday Night Special DP Chrysler SB Camshaft', + 'Camshaft' + ), + ( + 1733, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax HP Chrysler SB Camshaft', + 'Camshaft' + ), + ( + 1734, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Ford SB Connecting Rod', + 'Connecting Rods' + ), + ( + 1735, + 74, + 'Maxi-Light 93', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Maxi-Light 93', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Maxi-Light 93 Ford SB Connecting Rod', + 'Connecting Rods' + ), + ( + 1736, + 30, + 'Street Racer Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Racer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Street Racer Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 1737, + 30, + 'Performance Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Performance Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 1738, + 30, + 'Street Shaker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shaker', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hooker Street Shaker Muffler', + 'Muffler' + ), + ( + 1739, + 46, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bully HD Lubrication System', + 'Lubrication System' + ), + ( + 1740, + 43, + 'HD (0.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD (0.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance HD (0.36) Shock', + 'Shocks' + ), + ( + 1742, + 71, + 'Generic Visible Parts Assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Visible Parts Assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Visible Parts Assembly', + 'Visibile Parts' + ), + ( + 1743, + 97, + '245/50/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 245/50/16ZR High Performance', + 'Tires' + ), + ( + 1746, + 17, + 'T56 6-Speed Automatic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T56', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Borg-Warner T56 6 Speed Automatic', + 'Transmission' + ), + ( + 1752, + 73, + '11 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '11 x 2 ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 11 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 1763, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Flat Top Piston', + 'Pistons' + ), + ( + 1764, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Flat Top Piston', + 'Pistons' + ), + ( + 1765, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Flat Top Piston', + 'Pistons' + ), + ( + 1766, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Flat Top Piston', + 'Pistons' + ), + ( + 1767, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Flat Top Piston', + 'Pistons' + ), + ( + 1768, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Flat Top Piston', + 'Pistons' + ), + ( + 1769, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Flat Top CA Piston', + 'Pistons' + ), + ( + 1770, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Flat Top CA Piston', + 'Pistons' + ), + ( + 1771, + 3, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Flat Top Forged Aluminum Piston', + 'Pistons' + ), + ( + 1772, + 6, + 'Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stage I Piston', + 'Pistons' + ), + ( + 1773, + 6, + 'Stage II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage II', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stage II Piston', + 'Pistons' + ), + ( + 1774, + 7, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Flat Top Forged Aluminum Piston', + 'Pistons' + ), + ( + 1775, + 1, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Flat Top Forged Aluminum Piston', + 'Pistons' + ), + ( + 1776, + 8, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Flat Top Forged Aluminum Piston', + 'Pistons' + ), + ( + 1777, + 3, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Domed Top (0.75) FA Piston', + 'Pistons' + ), + ( + 1778, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Ford SB Piston', + 'Pistons' + ), + ( + 1779, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Chevrolet SB Piston', + 'Pistons' + ), + ( + 1780, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Chevrolet BB Piston', + 'Pistons' + ), + ( + 1781, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Buick BB Piston', + 'Pistons' + ), + ( + 1782, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Olds BB Piston', + 'Pistons' + ), + ( + 1783, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Domed Top Chevrolet SB Piston', + 'Pistons' + ), + ( + 1784, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Domed Top Chevrolet BB Piston', + 'Pistons' + ), + ( + 1785, + 41, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top Forged', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Wedge Top Chrysler BB Piston', + 'Pistons' + ), + ( + 1786, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Domed Top Chrysler BB Piston', + 'Pistons' + ), + ( + 1787, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Domed Top Buick BB Piston', + 'Pistons' + ), + ( + 1788, + 41, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Domed Top Olds BB Piston', + 'Pistons' + ), + ( + 1789, + 1, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Dual Plane Aluminum IM', + 'Intake Manifold' + ), + ( + 1790, + 1, + 'Single Plane Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Single Plane Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Single Plane Aluminum IM', + 'Intake Manifold' + ), + ( + 1791, + 63, + '4V (350 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (350 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4V (350 cfm)', + 'Carburetor' + ), + ( + 1792, + 63, + '4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4V (400 cfm)', + 'Carburetor' + ), + ( + 1793, + 14, + '4100 4V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (780 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4100 4V (780 cfm)', + 'Carburetor' + ), + ( + 1794, + 3, + 'Corvette Cross-Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cross-Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Corvette Cross-Fire Fuel Injection', + 'Carburetor' + ), + ( + 1795, + 14, + '4100 4V (850 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (850 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4100 4V (850 cfm)', + 'Carburetor' + ), + ( + 1796, + 4, + 'EFI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'EFI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac EFI', + 'Carburetor' + ), + ( + 1797, + 4, + 'Tri-Pwr 3x2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Power 3x2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac Tri-Power 3x2V (600 cfm)', + 'Carburetor' + ), + ( + 1798, + 16, + 'Tri-Pwr 3x2V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Power 3x2V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Tri-Power 3x2V (650 cfm)', + 'Carburetor' + ), + ( + 1799, + 3, + 'T- Thrust 4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo Thrust 4V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Turbo Thrust 4V (400 cfm)', + 'Carburetor' + ), + ( + 1800, + 14, + '4300 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4300 2x4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4300 2x4V (800 cfm)', + 'Carburetor' + ), + ( + 1801, + 14, + '4100 4V (735 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (735 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4100 4V (735 cfm)', + 'Carburetor' + ), + ( + 1802, + 22, + 'AVS 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AVS 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AVS 4V (600 cfm)', + 'Carburetor' + ), + ( + 1803, + 63, + '4100 4V (480 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (480 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4100 4V (480 cfm)', + 'Carburetor' + ), + ( + 1804, + 63, + '4100 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4100 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4100 4V (600 cfm)', + 'Carburetor' + ), + ( + 1805, + 63, + '4300 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4300 4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4300 4V (600 cfm)', + 'Carburetor' + ), + ( + 1806, + 63, + '4300D 4V (715 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4300D 4V (715 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 4300D 4V (715 cfm)', + 'Carburetor' + ), + ( + 1807, + 14, + '3x2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 3x2V (600 cfm)', + 'Carburetor' + ), + ( + 1808, + 14, + '4160 4V (1000 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4160 4V (1000 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 4160 4V (1000 cfm)', + 'Carburetor' + ), + ( + 1809, + 63, + '2100 2V (356 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2100 2V (356 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 2100 2V (356 cfm)', + 'Carburetor' + ), + ( + 1810, + 63, + '2100 2V (424 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2100 2V (424 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 2100 2V (424 cfm)', + 'Carburetor' + ), + ( + 1811, + 16, + 'Quadrajet 4V (715 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 4V (715 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 4V (715 cfm)', + 'Carburetor' + ), + ( + 1812, + 14, + 'Dominator 2V (550 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2V (550 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2V (550 cfm)', + 'Carburetor' + ), + ( + 1813, + 14, + 'Dominator 2V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2V (650 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2V (650 cfm)', + 'Carburetor' + ), + ( + 1814, + 14, + 'Dominator 2V (675 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2V (675 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2V (675 cfm)', + 'Carburetor' + ), + ( + 1815, + 14, + 'Dominator 4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 4V (1050 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 4V (1050 cfm)', + 'Carburetor' + ), + ( + 1816, + 14, + 'Dominator 4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 4V (1150 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 4V (1150 cfm)', + 'Carburetor' + ), + ( + 1817, + 14, + 'Dominator 2x4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2x4V (1150 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2x4V (1150 cfm)', + 'Carburetor' + ), + ( + 1818, + 14, + 'Dominator 2x4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 2x4V (1250 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 2x4V (1250 cfm)', + 'Carburetor' + ), + ( + 1819, + 14, + 'Dominator 4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator 4V (1250 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator 4V (1250 cfm)', + 'Carburetor' + ), + ( + 1820, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock Rod', + 'Connecting Rods' + ), + ( + 1821, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock FS Rod', + 'Connecting Rods' + ), + ( + 1822, + 4, + 'Stock BB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1823, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1824, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1825, + 8, + 'Stock Rod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1826, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1827, + 1, + 'Stock Rod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1828, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1829, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock CI Rod', + 'Connecting Rods' + ), + ( + 1830, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Stock FS Rod', + 'Connecting Rods' + ), + ( + 1831, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Stock Rod', + 'Connecting Rods' + ), + ( + 1832, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used on the larger-displacement engines', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 FS Rod', + 'Connecting Rods' + ), + ( + 1833, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock FS Rod', + 'Connecting Rods' + ), + ( + 1834, + 1, + 'Le Mans Capscrew', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Le Mans Capscrew', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB LeMans Capscrew Rod', + 'Connecting Rods' + ), + ( + 1835, + 1, + 'PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB PI Rod', + 'Connecting Rods' + ), + ( + 1836, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss Rod', + 'Connecting Rods' + ), + ( + 1837, + 1, + '820-S', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '820-S', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss 820-S Rod', + 'Connecting Rods' + ), + ( + 1838, + 1, + '820-T', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '820-T', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss 820-T Rod', + 'Connecting Rods' + ), + ( + 1839, + 8, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB HD FS Rod', + 'Connecting Rods' + ), + ( + 1840, + 74, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Sportsman Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1841, + 74, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman Chevrolet SB Connecting Rod', + 'Connecting Rods' + ), + ( + 1842, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1843, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1844, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Buick BB Rod', + 'Connecting Rods' + ), + ( + 1845, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Olds BB Rod', + 'Connecting Rods' + ), + ( + 1846, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Pontiac Rod', + 'Connecting Rods' + ), + ( + 1847, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Ford BB Rod', + 'Connecting Rods' + ), + ( + 1848, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Pontiac Rod', + 'Connecting Rods' + ), + ( + 1849, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Olds BB Rod', + 'Connecting Rods' + ), + ( + 1850, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Ford BB Rod', + 'Connecting Rods' + ), + ( + 1851, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1852, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1853, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Buick BB Rod', + 'Connecting Rods' + ), + ( + 1854, + 74, + 'Maxi-Light 93', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Maxi-Light 93', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1855, + 74, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Titanium Buick BB Connecting Rod', + 'Connecting Rods' + ), + ( + 1856, + 74, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Titanium Chevrolet BB Connecting Rod', + 'Connecting Rods' + ), + ( + 1857, + 74, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Titanium Chevrolet BB Connecting Rod', + 'Connecting Rods' + ), + ( + 1858, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Pontiac Rod', + 'Connecting Rods' + ), + ( + 1859, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Chrysler BB Rod', + 'Connecting Rods' + ), + ( + 1860, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Ford SB Rod', + 'Connecting Rods' + ), + ( + 1861, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Ford BB Rod', + 'Connecting Rods' + ), + ( + 1862, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1863, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1864, + 58, + 'Pro Mod BB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Mod Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1865, + 58, + 'Pro Mod SB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Mod Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1866, + 58, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Billet Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1867, + 58, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Billet Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1868, + 58, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Billet Ford SB Rod', + 'Connecting Rods' + ), + ( + 1869, + 58, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Street Race Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1870, + 58, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Street Race Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1871, + 58, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Street Race Ford SB Rod', + 'Connecting Rods' + ), + ( + 1872, + 58, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Forged Aluminum Chevrolet BB Rod', + 'Connecting Rods' + ), + ( + 1873, + 58, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Forged Aluminum Chevrolet SB Rod', + 'Connecting Rods' + ), + ( + 1874, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB StockTI Crankshaft', + 'Crankshaft' + ), + ( + 1875, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Stock TI Crankshaft', + 'Crankshaft' + ), + ( + 1876, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1877, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB FS Crankshaft', + 'Crankshaft' + ), + ( + 1878, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1879, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1880, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1881, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1882, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1883, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1884, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1885, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1886, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock TI Crankshaft', + 'Crankshaft' + ), + ( + 1887, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1888, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1889, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1890, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB Stock TI Crankshaft', + 'Crankshaft' + ), + ( + 1891, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 1892, + 7, + 'Armasteel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Armasteel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Armasteel (TI) Crankshaft', + 'Crankshaft' + ), + ( + 1893, + 7, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD FS Crankshaft', + 'Crankshaft' + ), + ( + 1894, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock TI Crankshaft', + 'Crankshaft' + ), + ( + 1895, + 1, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Truck FS Crankshaft', + 'Crankshaft' + ), + ( + 1896, + 1, + '427 MR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'MR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 427 MR FS Crankshaft', + 'Crankshaft' + ), + ( + 1897, + 1, + 'Police Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Police Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Police Interceptor (TI) Crankshaft', + 'Crankshaft' + ), + ( + 1898, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss FS Crankshaft', + 'Crankshaft' + ), + ( + 1899, + 1, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HD FS Crankshaft', + 'Crankshaft' + ), + ( + 1900, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1901, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi (FS) Crankshaft', + 'Crankshaft' + ), + ( + 1902, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock CI Crankshaft', + 'Crankshaft' + ), + ( + 1903, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Chevrolet BB Crankshaft', + 'Crankshaft' + ), + ( + 1904, + 74, + 'Ultra-Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultra-Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Ultra-Light Chevrolet BB Crankshaft', + 'Crankshaft' + ), + ( + 1905, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Ford SB Crankshaft', + 'Crankshaft' + ), + ( + 1906, + 74, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Standard Ford SB Crankshaft', + 'Crankshaft' + ), + ( + 1907, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Ford BB Crankshaft', + 'Crankshaft' + ), + ( + 1908, + 74, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Standard Ford BB Crankshaft', + 'Crankshaft' + ), + ( + 1909, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Chrysler BB Crankshaft', + 'Crankshaft' + ), + ( + 1910, + 74, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Enduro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Enduro Chrysler SB Crankshaft', + 'Crankshaft' + ), + ( + 1911, + 74, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Standard Chrysler BB Crankshaft', + 'Crankshaft' + ), + ( + 1912, + 74, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Standard Chrysler SB Crankshaft', + 'Crankshaft' + ), + ( + 1913, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1914, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1915, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock Valvetrain', + 'Valve Train' + ), + ( + 1916, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1918, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1919, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1920, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1921, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1922, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1923, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 1924, + 3, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1925, + 3, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1926, + 3, + 'SS Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB SS Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1927, + 7, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air V Mechanical Lifter Valvetrain', + 'Valve Train' + ), + ( + 1928, + 1, + 'Truck Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Truck Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1929, + 1, + 'Stock Mechanical Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Mechanical', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock Mechanical Lifter Valvetrain', + 'Valve Train' + ), + ( + 1930, + 1, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1931, + 1, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cammer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Cammer Valvetrain', + 'Valve Train' + ), + ( + 1932, + 1, + 'SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB SCJ Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1933, + 8, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid Lifter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 1934, + 8, + 'Stock Mechanical', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Mechanical', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock Mechanical Lifter Valvetrain', + 'Valve Train' + ), + ( + 1935, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1936, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Stock CI EM', + 'Exhaust Manifold' + ), + ( + 1937, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1938, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1939, + 8, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1940, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'light; known to have cracking problems', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Stock CI EM', + 'Exhaust Manifold' + ), + ( + 1941, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1942, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1943, + 5, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1944, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'log-type cast iron exhaust manifold with outlets toward the rear of the engine, pointing downward', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 1945, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock CI EM', + 'Exhaust Manifold' + ), + ( + 1946, + 3, + 'Ram''s Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram''s Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Ram''s Horn EM', + 'Exhaust Manifold' + ), + ( + 1947, + 6, + 'Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stage I EM', + 'Exhaust Manifold' + ), + ( + 1948, + 6, + 'Mickey Thompson Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mickey Thompson', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Mickey Thompson Headers', + 'Exhaust Manifold' + ), + ( + 1949, + 5, + 'Divider', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Divider', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Divider EM', + 'Exhaust Manifold' + ), + ( + 1950, + 7, + 'Ram Air I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air I EM', + 'Exhaust Manifold' + ), + ( + 1951, + 7, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac HP EM', + 'Exhaust Manifold' + ), + ( + 1952, + 1, + 'Stock 312', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y 1957 Manifold', + 'Exhaust Manifold' + ), + ( + 1953, + 1, + 'CJ/SCJ HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'CJ/SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB CJ/SCJ HP EM', + 'Exhaust Manifold' + ), + ( + 1954, + 1, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 NASCAR EM', + 'Exhaust Manifold' + ), + ( + 1955, + 8, + 'Max Wedge I Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge I Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge I Headers', + 'Exhaust Manifold' + ), + ( + 1956, + 8, + '440 Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440 Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440 Stock EM', + 'Exhaust Manifold' + ), + ( + 1957, + 8, + 'Tri-Y Max Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Y Max Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Tri-Y Max Wedge EM', + 'Exhaust Manifold' + ), + ( + 1958, + 8, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB HP EM', + 'Exhaust Manifold' + ), + ( + 1959, + 8, + 'Improved Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Improved Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Improved Flow EM', + 'Exhaust Manifold' + ), + ( + 1961, + 3, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W (10.25) 1.94i/1.65e CH', + 'Cylinder Head' + ), + ( + 1962, + 1, + 'Boss 351 (11.7) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 351 (11.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Boss 351 (11.7) CH', + 'Cylinder Head' + ), + ( + 1963, + 1, + 'Domed Top (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Domed Top (.5) Piston', + 'Pistons' + ), + ( + 1965, + 6, + 'Nailhead Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Wedge (8.5)', + 'Cylinder Head' + ), + ( + 1966, + 1, + 'HP (10.5) Large Valve', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP (10.5) Large Valve', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (10.5) LV HP Wedge CH', + 'Cylinder Head' + ), + ( + 1968, + 6, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Wedge (8.5)', + 'Cylinder Head' + ), + ( + 1969, + 6, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Wedge (8.5)', + 'Cylinder Head' + ), + ( + 1970, + 6, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Wedge (9.0)', + 'Cylinder Head' + ), + ( + 1971, + 6, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Wedge (10.25)', + 'Cylinder Head' + ), + ( + 1972, + 4, + 'Stock (9.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock (9.1)', + 'Cylinder Head' + ), + ( + 1973, + 4, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock (10.5) W CH', + 'Cylinder Head' + ), + ( + 1974, + 3, + 'Wedge (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (8.0)', + 'Cylinder Head' + ), + ( + 1975, + 3, + 'Wedge (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (9.25)', + 'Cylinder Head' + ), + ( + 1976, + 3, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (10.5)', + 'Cylinder Head' + ), + ( + 1977, + 3, + 'Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (11.0)', + 'Cylinder Head' + ), + ( + 1978, + 3, + 'Wedge (11.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (11.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (11.25)', + 'Cylinder Head' + ), + ( + 1979, + 3, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (9.0)', + 'Cylinder Head' + ), + ( + 1980, + 3, + 'Canted (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Canted (10.25)', + 'Cylinder Head' + ), + ( + 1981, + 3, + ' ZL1 (12.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ZL1 (12.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Canted ZL1 (12.0)', + 'Cylinder Head' + ), + ( + 1982, + 3, + 'LS6 (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LS6 (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Canted LS6 (9.0)', + 'Cylinder Head' + ), + ( + 1983, + 5, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB (10.25) Stock CH', + 'Cylinder Head' + ), + ( + 1984, + 5, + 'W-31 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-31 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB (10.5) W-31 CH', + 'Cylinder Head' + ), + ( + 1985, + 5, + 'Stock (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB (10.5) Stock CH', + 'Cylinder Head' + ), + ( + 1986, + 5, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB (9.0) Stock CH', + 'Cylinder Head' + ), + ( + 1987, + 5, + '(10.25) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB (10.25) Stock CH', + 'Cylinder Head' + ), + ( + 1988, + 5, + 'W-30 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-30 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB (10.5) W-30 CH', + 'Cylinder Head' + ), + ( + 1989, + 7, + 'Wedge (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (8.6) Stock W CH', + 'Cylinder Head' + ), + ( + 1990, + 7, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.0) Stock W CH', + 'Cylinder Head' + ), + ( + 1991, + 7, + 'SD Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (11.0) SD W CH', + 'Cylinder Head' + ), + ( + 1992, + 7, + 'HO Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HO Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.75) HO W CH', + 'Cylinder Head' + ), + ( + 1993, + 7, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.5) W CH', + 'Cylinder Head' + ), + ( + 1994, + 7, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.25) W CH', + 'Cylinder Head' + ), + ( + 1995, + 7, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.0) Stock W CH', + 'Cylinder Head' + ), + ( + 1996, + 7, + 'SD Wedge (8.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Wedge (8.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (8.4) SD W CH', + 'Cylinder Head' + ), + ( + 1997, + 1, + 'Stock (7.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (7.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (7.6) Stock CH', + 'Cylinder Head' + ), + ( + 1998, + 1, + 'Stock (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.5) Stock CH', + 'Cylinder Head' + ), + ( + 1999, + 1, + 'Stock (8.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.1) Stock CH', + 'Cylinder Head' + ), + ( + 2000, + 1, + 'Stock (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.0) Stock CH', + 'Cylinder Head' + ), + ( + 2001, + 1, + 'Stock (8.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.4) Stock CH', + 'Cylinder Head' + ), + ( + 2002, + 1, + 'Stock (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.6) Stock CH', + 'Cylinder Head' + ), + ( + 2003, + 1, + 'Stock (9.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (9.7) Stock CH', + 'Cylinder Head' + ), + ( + 2004, + 1, + 'Stock (8.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.3) Stock CH', + 'Cylinder Head' + ), + ( + 2005, + 1, + 'Stock (8.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (8.8) Stock CH', + 'Cylinder Head' + ), + ( + 2006, + 1, + 'Stock (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y (9.6) Stock CH', + 'Cylinder Head' + ), + ( + 2007, + 1, + 'Wedge (12.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (12.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (12.1) Wedge CH', + 'Cylinder Head' + ), + ( + 2008, + 1, + 'Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (11.0) Wedge CH', + 'Cylinder Head' + ), + ( + 2009, + 1, + 'Wedge (10.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (10.1) Wedge CH', + 'Cylinder Head' + ), + ( + 2010, + 1, + 'Wedge (9.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (9.4) Wedge CH', + 'Cylinder Head' + ), + ( + 2011, + 1, + 'Canted (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland (9.5) CH', + 'Cylinder Head' + ), + ( + 2012, + 1, + 'HP Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Canted (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland (11.0) HP CH', + 'Cylinder Head' + ), + ( + 2013, + 1, + '(9.0) Canted CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland (9.0) CH', + 'Cylinder Head' + ), + ( + 2014, + 1, + 'Canted (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (8.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland (8.6) CH', + 'Cylinder Head' + ), + ( + 2016, + 1, + 'Canted (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Canted (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 (10.2) Canted CH', + 'Cylinder Head' + ), + ( + 2017, + 8, + 'Wedge (10.0) Lrg Port', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LP Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (10.0) Large Port W CH', + 'Cylinder Head' + ), + ( + 2018, + 8, + 'Wedge (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (9.6) W CH', + 'Cylinder Head' + ), + ( + 2019, + 8, + 'Wedge (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (9.2) W CH', + 'Cylinder Head' + ), + ( + 2020, + 8, + 'Wedge (8.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB (8.8) Stock W CH', + 'Cylinder Head' + ), + ( + 2021, + 8, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB (10.5) Stock W CH', + 'Cylinder Head' + ), + ( + 2022, + 8, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB (9.0) Stock W CH', + 'Cylinder Head' + ), + ( + 2023, + 8, + 'Wedge (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB (9.2) Stock W CH', + 'Cylinder Head' + ), + ( + 2024, + 1, + 'LR Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB LR Domed (0.4) Piston', + 'Pistons' + ), + ( + 2025, + 1, + 'Recessed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Recessed (-0.1) Piston', + 'Pistons' + ), + ( + 2026, + 8, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Wedge (0.1) Piston', + 'Pistons' + ), + ( + 2027, + 0, + 'Generic Suspension', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Suspension', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Suspension', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Suspension', + 'Chassis Assembly' + ), + ( + 2028, + 0, + 'Generic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Body', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Body', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Body', + 'Body Assembly' + ), + ( + 2029, + 0, + 'Generic Driveline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Driveline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Driveline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Driveline', + 'Driveline Assembly' + ), + ( + 2030, + 0, + 'Generic Brake Set', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Brake Set', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Brake Set', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Brake Set', + 'Brake Assembly' + ), + ( + 2031, + 0, + 'Generic Wheels', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Wheels', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Wheels', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Wheels', + 'Wheel Assembly' + ), + ( + 2032, + 0, + 'Generic Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic Engine', + 'Engine Assembly' + ), + ( + 2033, + 22, + '2V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter 2V (400 cfm) Carb', + 'Carburetor' + ), + ( + 2034, + 8, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (10.0) Wedge CH', + 'Cylinder Head' + ), + ( + 2035, + 8, + '440 Magnum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440 Magnum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB 440 Magnum IM', + 'Intake Manifold' + ), + ( + 2036, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2037, + 3, + 'Lrg Valve Wedg (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LV Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Large Valve Wedge (10.5) CH', + 'Cylinder Head' + ), + ( + 2038, + 22, + 'AFB 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AFB 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AFB 4V (500 cfm) Carb', + 'Carburetor' + ), + ( + 2039, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2040, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Flat Top Forged Aluminum Piston', + 'Pistons' + ), + ( + 2041, + 7, + 'Ram Air Induction', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air (3%) Induction System', + 'Air Scoop' + ), + ( + 2042, + 3, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (10.25) CH', + 'Cylinder Head' + ), + ( + 2043, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 2044, + 16, + 'Monojet 2V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monojet 2V (400 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Monojet 2V (400 cfm) Carb', + 'Carburetor' + ), + ( + 2045, + 16, + 'Q-Jet 2x4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 2x4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 2x4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 2046, + 3, + '265 4V (205 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB 265 4V (205 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 265 4V (205 hp)', + 'Engine Assembly' + ), + ( + 2047, + 16, + 'Quadrajet 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 4V (500 cfm) Carb', + 'Carburetor' + ), + ( + 2048, + 3, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Wedge (8.5) CH', + 'Cylinder Head' + ), + ( + 2049, + 16, + 'Ramjet F.I. RPO 579D', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ramjet RPO 579D', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Ramjet Fuel Injector RPO 579D', + 'Carburetor' + ), + ( + 2050, + 3, + 'Lrg Valve Wdge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Large Valve Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Large Valve Wedge (10.5) CH', + 'Cylinder Head' + ), + ( + 2051, + 3, + 'Lrg Valve Wdge (11.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Large Valve Wedge (11.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Large Valve Wedge (11.25) CH', + 'Cylinder Head' + ), + ( + 2052, + 3, + 'Z28 Recessed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Z28 Recessed Top Piston', + 'Pistons' + ), + ( + 2053, + 3, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB CI/HP EM', + 'Exhaust Manifold' + ), + ( + 2054, + 3, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB 400 FS Rod', + 'Connecting Rods' + ), + ( + 2055, + 3, + '(10.25) HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W (10.25) 2.19i/1.73e CH', + 'Cylinder Head' + ), + ( + 2056, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Recessed (-0.75) CA Piston', + 'Pistons' + ), + ( + 2057, + 3, + 'Domed Top HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Domed Top (1.0) FA HP Piston', + 'Pistons' + ), + ( + 2058, + 3, + 'HD FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W HD FS Rod', + 'Connecting Rods' + ), + ( + 2059, + 3, + 'Recessed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Recessed (-0.25) FA Piston', + 'Pistons' + ), + ( + 2060, + 3, + 'L36 Canted (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L36 Canted (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB L36 Canted/Pocket (10.25) CH', + 'Cylinder Head' + ), + ( + 2061, + 3, + '402 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet 400 L34 engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB 402 4V (350 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 402 4V (350 hp)', + 'Engine Assembly' + ), + ( + 2062, + 3, + '402 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Turbo-Jet 400 L78 engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '402 4V (375 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB 402 4V (375 hp)', + 'Engine Assembly' + ), + ( + 2063, + 3, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Wedge Top (0.25) FA Piston', + 'Pistons' + ), + ( + 2064, + 16, + 'Monojet 2V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monojet 2V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Monojet 2V (500 cfm) Carb', + 'Carburetor' + ), + ( + 2065, + 5, + 'HP Hurst', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP Hurst', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB HP Camshaft', + 'Camshaft' + ), + ( + 2066, + 5, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Wedge Top (0.25) FA Piston', + 'Pistons' + ), + ( + 2067, + 5, + 'W30 Forced Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W30 Forced Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W30 Forced Air Induction System', + 'Air Scoop' + ), + ( + 2068, + 7, + 'm/t Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac m/t Stock (HP) Camshaft', + 'Camshaft' + ), + ( + 2069, + 16, + 'Monojet 2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monojet 2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Monojet 2V (600 cfm)', + 'Carburetor' + ), + ( + 2070, + 7, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.25) Stock W CH', + 'Cylinder Head' + ), + ( + 2071, + 16, + 'Quadrajet 4V (660 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quadrajet 4V (660 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester Quadrajet 4V (660 cfm)', + 'Carburetor' + ), + ( + 2072, + 7, + 'Trophy (HP)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Trophy (HP) Camshaft', + 'Camshaft' + ), + ( + 2073, + 7, + 'Trophy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Trophy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Trophy HP CI EM', + 'Exhaust Manifold' + ), + ( + 2074, + 7, + 'SD Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD Aluminum IM', + 'Intake Manifold' + ), + ( + 2075, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Flat Top FA Piston', + 'Pistons' + ), + ( + 2076, + 7, + 'Wedge SD (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge SD (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD (10.75) W/P CH', + 'Cylinder Head' + ), + ( + 2077, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 Mechanical Lifter Valvetrain', + 'Valve Train' + ), + ( + 2078, + 7, + 'Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (10.75) W CH', + 'Cylinder Head' + ), + ( + 2079, + 7, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD Mechanical Lifter Valvetrain', + 'Valve Train' + ), + ( + 2080, + 7, + 'SD Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac SD Aluminum Single Plane IM', + 'Intake Manifold' + ), + ( + 2081, + 7, + 'SD Large Valve (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Large Valve (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (11.0) SD 2.02i/1.76e W CH', + 'Cylinder Head' + ), + ( + 2082, + 7, + '400 Ram Air III (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'as installed on the 1969 Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air III (335 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 400 Ram Air III (335 hp)', + 'Engine Assembly' + ), + ( + 2083, + 7, + '400 Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'planned for installation on the 1970 Firebird, but never actually made it into production', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB 400 Ram Air V', + 'Engine Assembly' + ), + ( + 2084, + 7, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ram Air V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Ram Air V Cylinder Head', + 'Cylinder Head' + ), + ( + 2085, + 63, + '2x4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2x4V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 2x4V (600 cfm) Carb', + 'Carburetor' + ), + ( + 2086, + 1, + 'Ford (10.2) Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (10.2) Wedge CH', + 'Cylinder Head' + ), + ( + 2087, + 63, + '2100 2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2100 2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 2100 2V (600 cfm) Carb', + 'Carburetor' + ), + ( + 2088, + 1, + 'Wedge (8.9)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB (8.9) Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB (8.9) Wedge CH', + 'Cylinder Head' + ), + ( + 2089, + 1, + '352 4V (235 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '352 4V (235 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB 352 2V (235 hp)', + 'Engine Assembly' + ), + ( + 2090, + 1, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HP CI EM', + 'Exhaust Manifold' + ), + ( + 2091, + 1, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB HD CI Crankshaft', + 'Crankshaft' + ), + ( + 2092, + 63, + '3x2V (860 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (860 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Autolite 3x2V (860 cfm) Carb', + 'Carburetor' + ), + ( + 2093, + 14, + '3x2V (840 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V (840 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley 3x2V (840 cfm) Carb', + 'Carburetor' + ), + ( + 2094, + 1, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Wedge (10.5) CH', + 'Cylinder Head' + ), + ( + 2095, + 1, + 'CJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'CJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB CJ TI Crankshaft', + 'Crankshaft' + ), + ( + 2096, + 1, + 'Wedge (8.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (8.7) Wedge CH', + 'Cylinder Head' + ), + ( + 2097, + 1, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'additional counterweights for better high rpm balancing', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB HP TI Crankshaft', + 'Crankshaft' + ), + ( + 2098, + 1, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (10.5) Wedge CH', + 'Cylinder Head' + ), + ( + 2099, + 1, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB HP Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 2100, + 1, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB HP Camshaft', + 'Camshaft' + ), + ( + 2101, + 1, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (9.0) 1.67i/1.45e Wedge CH', + 'Cylinder Head' + ), + ( + 2102, + 1, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (10.0) Wedge CH', + 'Cylinder Head' + ), + ( + 2103, + 1, + 'Boss 302 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss 302 (10.5) 2.23/1.72 Canted CH', + 'Cylinder Head' + ), + ( + 2104, + 1, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'known for weak side-skirts, which caused cracking and even breaking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss 302 FA Piston', + 'Pistons' + ), + ( + 2105, + 1, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss 302 EM', + 'Exhaust Manifold' + ), + ( + 2106, + 1, + 'Wedge (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (9.5) Wedge CH', + 'Cylinder Head' + ), + ( + 2107, + 1, + 'Wedge (10.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.7)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (10.7) Wedge CH', + 'Cylinder Head' + ), + ( + 2108, + 22, + '2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter 2V (600 cfm) Carb', + 'Carburetor' + ), + ( + 2109, + 22, + 'AVS 4V (700 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AVS 4V (700 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AVS 4V (700 cfm) Carb', + 'Carburetor' + ), + ( + 2110, + 8, + 'Wedge (8.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (8.2) W CH', + 'Cylinder Head' + ), + ( + 2111, + 22, + 'AVS 4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AVS 4V (800 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Carter AVS 4V (800 cfm) Carb', + 'Carburetor' + ), + ( + 2112, + 8, + 'Max Wedge III (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Max Wedge III (11.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Max Wedge III (11.0) CH', + 'Cylinder Head' + ), + ( + 2113, + 8, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB (10.5) Wedge CH', + 'Cylinder Head' + ), + ( + 2114, + 0, + 'Horn La Cooca', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Specialty la coor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sp. Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Specialty la coor', + 'Horn' + ), + ( + 2149, + 0, + 'Horn Reville', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Spec. Reville', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sp Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Reville', + 'Horn' + ), + ( + 2150, + 0, + 'Horn Dixie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Spec. Dixie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sp Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Spec. Dixie', + 'Horn' + ), + ( + 2151, + 0, + 'Horn Charge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Spec. Charge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sp Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Horn Spec. Charge', + 'Horn' + ), + ( + 2152, + 61, + '3.07 Locking', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'locking;normal driving applications', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3.07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dana Differential (3.07) L', + 'Rear End' + ), + ( + 2153, + 78, + 'Cobra 427 S/C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'm/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shelby Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shelby 66 Cobra 427 S/C', + 'Vehicle' + ), + ( + 2154, + 78, + '65 Shelby Cobra Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '65 Shelby Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '65 Shelby Hood', + 'Hood' + ), + ( + 2156, + 78, + '65 Shelby Cobra Bumpers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '65 Shelby Bumpers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '65 Shelby Bumpers', + 'Bumpers' + ), + ( + 2157, + 0, + 'Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'light window tint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Light Window Tinting', + 'Window Tinting' + ), + ( + 2158, + 0, + 'Dark', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'dark window tint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dark', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dark Window Tinting', + 'Window Tinting' + ), + ( + 2159, + 0, + 'Very Dark', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a very dark window tint, so dark as to be nearly opaque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Very Dark', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Very Dark Window Tinting', + 'Window Tinting' + ), + ( + 2160, + 0, + 'Horn Charge Short', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Spec Horn Charge Short', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sp Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Spec Horn Charge Short', + 'Horn' + ), + ( + 2161, + 0, + 'Hardtop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hardtop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hardtop', + 'Top Style' + ), + ( + 2162, + 0, + 'Chopped Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chopped Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chopped Top', + 'Top Style' + ), + ( + 2163, + 0, + 'Convertible Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Convertible Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Convertible Top', + 'Top Style' + ), + ( + 2164, + 0, + 'Vinyl Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vinyl Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vinyl Top', + 'Top Style' + ), + ( + 2179, + 1, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Mustang', + 'Vehicle' + ), + ( + 2180, + 1, + 'Torino Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torino Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 69 Torino GT Cobra', + 'Vehicle' + ), + ( + 2181, + 1, + 'Mach 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mach 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Mustang Mach 1', + 'Vehicle' + ), + ( + 2182, + 10, + 'Hemi Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 70 Hemi Cuda', + 'Vehicle' + ), + ( + 2183, + 10, + '440 Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '440 Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 70 440 Cuda', + 'Vehicle' + ), + ( + 2184, + 10, + 'AAR Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AAR Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 70 AAR Cuda', + 'Vehicle' + ), + ( + 2185, + 10, + '340 Duster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '340 Duster', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Plymouth 71 340 Duster', + 'Vehicle' + ), + ( + 2186, + 3, + 'Impala SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Impala SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 64 Impala SS', + 'Vehicle' + ), + ( + 2187, + 3, + 'Chevelle SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevelle SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Chevelle SS', + 'Vehicle' + ), + ( + 2188, + 3, + 'Camaro RS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro RS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Camaro RS', + 'Vehicle' + ), + ( + 2189, + 3, + 'Camaro Z-28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro Z-28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 67 Camaro Z-28', + 'Vehicle' + ), + ( + 2190, + 3, + 'Chevelle SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevelle SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Chevelle SS', + 'Vehicle' + ), + ( + 2191, + 3, + 'El Camino SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'El Camino SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 El Camino SS', + 'Vehicle' + ), + ( + 2192, + 3, + 'Nova SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nova SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 70 Nova SS', + 'Vehicle' + ), + ( + 2193, + 5, + '4-4-2 W-30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '442 W-30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 69 442 W-30', + 'Vehicle' + ), + ( + 2194, + 5, + 'Hurst 4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hurst 4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile 69 Hurst 442', + 'Vehicle' + ), + ( + 2195, + 1, + '4.10 Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'banjo carrier; used on very early Fords', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '(4.10) Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford (4.10) Banjo Differential LD', + 'Rear End' + ), + ( + 2196, + 7, + 'Firebird Formula', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firebird Formula', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 73 Firebird Formula', + 'Vehicle' + ), + ( + 2197, + 7, + 'Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'a/t', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firebird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac 73 Firebird', + 'Vehicle' + ), + ( + 2198, + 1, + '3.90 Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'banjo carrier; used on very early Fords', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '(3.90) Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford (3.90) Banjo Differential LD', + 'Rear End' + ), + ( + 2199, + 1, + '3.31 Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'banjo carrier; used on very early Fords', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '(3.31) Banjo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford (3.31) Banjo Differential LD', + 'Rear End' + ), + ( + 2200, + 43, + 'ND (0.3) 12.5"', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'high travel limit shock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ND (0.3) 12.5"', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Formance ND (0.3) Shock', + 'Shocks' + ), + ( + 2201, + 69, + '100 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 100 lb/in Coil Springs', + 'Springs' + ), + ( + 2202, + 69, + '110 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 110 lb/in Coil Springs', + 'Springs' + ), + ( + 2203, + 69, + '150 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 150 lb/in leaf spring', + 'Springs' + ), + ( + 2204, + 69, + '160 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 160 lb/in leaf spring', + 'Springs' + ), + ( + 2205, + 69, + '170 lb/in Leaf', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 170 lb/in leaf spring', + 'Springs' + ), + ( + 2206, + 69, + '200 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 200 lb/in coil-over spring', + 'Springs' + ), + ( + 2207, + 69, + '190 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 190 lb/in coil-over spring', + 'Springs' + ), + ( + 2208, + 69, + '180 lb/in Coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 180 lb/in coil-over spring', + 'Springs' + ), + ( + 2209, + 69, + '170 lb/in coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 170 lb/in coil-over spring', + 'Spring' + ), + ( + 2210, + 69, + '160 lb/in coil-over', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 160 lb/in coil-over spring', + 'Spring' + ), + ( + 2211, + 69, + '140 lb/in leaf spring', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 140 lb/in leaf spring', + 'Spring' + ), + ( + 2212, + 69, + '130 lb/in leaf spring', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 130 lb/in leaf spring', + 'Spring' + ), + ( + 2213, + 69, + '120 lb/in leaf spring', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 120 lb/in leaf spring', + 'Spring' + ), + ( + 2214, + 69, + '110 lb/in leaf spring', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Gifford 110 lb/in leaf spring', + 'Spring' + ), + ( + 2215, + 5, + '4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4-4-2', + 'Vehicle' + ), + ( + 2216, + 3, + '70 Chevelle SS Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1970 Chevelle SS Hood', + 'Hood' + ), + ( + 2217, + 3, + 'Camaro SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet 1967 Camaro SS', + 'Vehicle' + ), + ( + 2218, + 6, + 'Stage I (10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stage I (10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stage I (10) CH', + 'Cylinder Head' + ), + ( + 2219, + 65, + '47 Cadillac', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-00', + 'Wheel Rims' + ), + ( + 2220, + 65, + '49 Mercury', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-01', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-01', + 'Wheel Rims' + ), + ( + 2221, + 65, + '53 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-02', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-02', + 'Wheel Rims' + ), + ( + 2222, + 65, + '55 Buick', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-03', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-03', + 'Wheel Rims' + ), + ( + 2223, + 65, + 'Red Center Spinner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-04', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-04', + 'Wheel Rims' + ), + ( + 2224, + 65, + '57 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-05', + 'Wheel Rims' + ), + ( + 2225, + 65, + 'Twist Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-06', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-06', + 'Wheel Rims' + ), + ( + 2226, + 65, + '57 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-07', + 'Wheel Rims' + ), + ( + 2227, + 65, + '58 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-08', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-08', + 'Wheel Rims' + ), + ( + 2228, + 65, + 'Sun Burst', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-09', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-09', + 'Wheel Rims' + ), + ( + 2229, + 65, + 'Spoke Spinner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-10', + 'Wheel Rims' + ), + ( + 2230, + 65, + '64 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-11', + 'Wheel Rims' + ), + ( + 2231, + 65, + '64 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-12', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-12', + 'Wheel Rims' + ), + ( + 2232, + 65, + 'Hypnotic Star 6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-13', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-13', + 'Wheel Rims' + ), + ( + 2233, + 65, + 'Rippled Orb', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-14', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-14', + 'Wheel Rims' + ), + ( + 2234, + 65, + '59 Dodge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-15', + 'Wheel Rims' + ), + ( + 2235, + 65, + '57 Chrysler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-16', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-16', + 'Wheel Rims' + ), + ( + 2236, + 65, + '57 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-17', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-17', + 'Wheel Rims' + ), + ( + 2237, + 65, + '57 Nomad', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-18', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-18', + 'Wheel Rims' + ), + ( + 2238, + 65, + 'Twist Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-19', + 'Wheel Rims' + ), + ( + 2239, + 65, + 'Sun Burst', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-20', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-20', + 'Wheel Rims' + ), + ( + 2240, + 65, + '59 Plymouth', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-21', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-21', + 'Wheel Rims' + ), + ( + 2241, + 65, + '59 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-22', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-22', + 'Wheel Rims' + ), + ( + 2242, + 65, + 'Ford Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-23', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-23', + 'Wheel Rims' + ), + ( + 2243, + 65, + '59 Pontiac', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-24', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-24', + 'Wheel Rims' + ), + ( + 2244, + 65, + '60 Chrysler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-25', + 'Wheel Rims' + ), + ( + 2245, + 65, + '60 Edsel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-26', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-26', + 'Wheel Rims' + ), + ( + 2246, + 65, + '60 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-27', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-27', + 'Wheel Rims' + ), + ( + 2247, + 65, + '61 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-28', + 'Wheel Rims' + ), + ( + 2248, + 65, + '61 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-29', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-29', + 'Wheel Rims' + ), + ( + 2249, + 65, + '62 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-30', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-30', + 'Wheel Rims' + ), + ( + 2250, + 65, + '63 Buick', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-31', + 'Wheel Rims' + ), + ( + 2251, + 65, + '63 Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-32', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-32', + 'Wheel Rims' + ), + ( + 2252, + 65, + 'Spoke Tower', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-33', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-33', + 'Wheel Rims' + ), + ( + 2253, + 65, + '64 Plymouth', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-34', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-34', + 'Wheel Rims' + ), + ( + 2254, + 65, + '64 Dodge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-35', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-35', + 'Wheel Rims' + ), + ( + 2255, + 65, + 'Super Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-36', + 'Wheel Rims' + ), + ( + 2256, + 65, + '65 Chrysler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-37', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-37', + 'Wheel Rims' + ), + ( + 2257, + 65, + '65 Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-38', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-38', + 'Wheel Rims' + ), + ( + 2258, + 65, + '65 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-39', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-39', + 'Wheel Rims' + ), + ( + 2259, + 65, + '65 Olds', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-40', + 'Wheel Rims' + ), + ( + 2260, + 65, + '65 Corvair', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-41', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-41', + 'Wheel Rims' + ), + ( + 2261, + 65, + 'Fake Spinner Covered', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-42', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-42', + 'Wheel Rims' + ), + ( + 2262, + 65, + '55 Chrysler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-43', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-43', + 'Wheel Rims' + ), + ( + 2263, + 65, + 'Knock Off Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-44', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-44', + 'Wheel Rims' + ), + ( + 2264, + 65, + '67 Shelby', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-45', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-45', + 'Wheel Rims' + ), + ( + 2265, + 65, + '66 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-46', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-46', + 'Wheel Rims' + ), + ( + 2266, + 65, + '67 Chevy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-47', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-47', + 'Wheel Rims' + ), + ( + 2267, + 65, + 'Blue Dot Spoke Spinner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-48', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-48', + 'Wheel Rims' + ), + ( + 2268, + 65, + 'Disc Cover', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-49', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-49', + 'Wheel Rims' + ), + ( + 2269, + 65, + '40 Spoke', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-50', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-50', + 'Wheel Rims' + ), + ( + 2270, + 65, + 'Blue Dot Spoke Spinner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-51', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-51', + 'Wheel Rims' + ), + ( + 2271, + 65, + 'Accordian Full Cover', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-52', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-52', + 'Wheel Rims' + ), + ( + 2272, + 65, + 'Full Moon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-53', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-53', + 'Wheel Rims' + ), + ( + 2273, + 65, + '55 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-54', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-54', + 'Wheel Rims' + ), + ( + 2274, + 65, + 'Rallye Slot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-55', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-55', + 'Wheel Rims' + ), + ( + 2275, + 65, + 'Classic Cadillac', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-56', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-56', + 'Wheel Rims' + ), + ( + 2276, + 65, + 'Compass Full Cover', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-57', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-57', + 'Wheel Rims' + ), + ( + 2277, + 65, + '57 Classic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-58', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HS-58', + 'Wheel Rims' + ), + ( + 2278, + 45, + 'Slot 11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-00', + 'Wheel Rims' + ), + ( + 2279, + 45, + 'Double Layer Spoke', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-01', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-01', + 'Wheel Rims' + ), + ( + 2280, + 45, + 'Twistar 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-02', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-02', + 'Wheel Rims' + ), + ( + 2281, + 45, + 'Super Slot 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-03', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-03', + 'Wheel Rims' + ), + ( + 2282, + 45, + 'Teardrop Slot 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-04', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-04', + 'Wheel Rims' + ), + ( + 2283, + 45, + 'Twistar 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-05', + 'Wheel Rims' + ), + ( + 2284, + 45, + 'Slot 9', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-06', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-06', + 'Wheel Rims' + ), + ( + 2285, + 45, + 'Fan Slot 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-07', + 'Wheel Rims' + ), + ( + 2286, + 45, + 'Mild Twist Slot 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-08', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-08', + 'Wheel Rims' + ), + ( + 2287, + 45, + 'Twistar 11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-09', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-09', + 'Wheel Rims' + ), + ( + 2288, + 45, + 'Cheese Grater 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-10', + 'Wheel Rims' + ), + ( + 2289, + 45, + 'Bull Star 10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-11', + 'Wheel Rims' + ), + ( + 2290, + 45, + 'Chrome Twistar 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-12', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-12', + 'Wheel Rims' + ), + ( + 2291, + 45, + 'Twisted Fan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-13', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-13', + 'Wheel Rims' + ), + ( + 2292, + 45, + 'Twistar 9', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-14', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-14', + 'Wheel Rims' + ), + ( + 2293, + 45, + 'Power Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-15', + 'Wheel Rims' + ), + ( + 2294, + 45, + 'Twisted Super Grater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-16', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-16', + 'Wheel Rims' + ), + ( + 2295, + 45, + 'Twisted Split Star 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-17', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-17', + 'Wheel Rims' + ), + ( + 2296, + 45, + 'Twisted Split Star 7 Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-18', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-18', + 'Wheel Rims' + ), + ( + 2297, + 45, + 'Mega Grater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-19', + 'Wheel Rims' + ), + ( + 2298, + 45, + 'Classy Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-20', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-20', + 'Wheel Rims' + ), + ( + 2299, + 45, + 'Fan Grater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-21', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-21', + 'Wheel Rims' + ), + ( + 2300, + 45, + 'Super Star 10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-22', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-22', + 'Wheel Rims' + ), + ( + 2301, + 45, + 'Fat Star 6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-23', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-23', + 'Wheel Rims' + ), + ( + 2302, + 45, + 'Split Star 6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-24', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-24', + 'Wheel Rims' + ), + ( + 2303, + 45, + 'Split Twist 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-25', + 'Wheel Rims' + ), + ( + 2304, + 45, + 'Split Star 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-26', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-26', + 'Wheel Rims' + ), + ( + 2305, + 45, + 'Mega Slot Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-27', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HA-27', + 'Wheel Rims' + ), + ( + 2308, + 65, + '63 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-00', + 'Wheel Rims' + ), + ( + 2309, + 65, + 'Rallye Super Slot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-01', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-01', + 'Wheel Rims' + ), + ( + 2310, + 65, + 'Classic 5 Slot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-02', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-02', + 'Wheel Rims' + ), + ( + 2311, + 65, + 'Pin Star', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-03', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-03', + 'Wheel Rims' + ), + ( + 2312, + 65, + 'Near Magnum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-04', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-04', + 'Wheel Rims' + ), + ( + 2313, + 65, + 'Rally Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-05', + 'Wheel Rims' + ), + ( + 2314, + 65, + 'Classic Sport', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-06', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-06', + 'Wheel Rims' + ), + ( + 2315, + 65, + 'Gold 4-4-2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-07', + 'Wheel Rims' + ), + ( + 2316, + 65, + 'Fordy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-08', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-08', + 'Wheel Rims' + ), + ( + 2317, + 65, + 'Magnum Star', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-09', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-09', + 'Wheel Rims' + ), + ( + 2318, + 65, + 'Honeycomb', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-10', + 'Wheel Rims' + ), + ( + 2319, + 65, + '40 Ford', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-11', + 'Wheel Rims' + ), + ( + 2320, + 65, + 'Ringed Moon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-12', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RS-12', + 'Wheel Rims' + ), + ( + 2321, + 73, + 'Slot 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-00', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-00', + 'Wheel Rims' + ), + ( + 2322, + 73, + 'Round 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-01', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-01', + 'Wheel Rims' + ), + ( + 2323, + 73, + 'Star Seven', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-02', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-02', + 'Wheel Rims' + ), + ( + 2324, + 73, + 'Star Burst 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-03', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-03', + 'Wheel Rims' + ), + ( + 2325, + 73, + 'Split Twist 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-04', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-04', + 'Wheel Rims' + ), + ( + 2326, + 73, + 'Split Twist 5 Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-05', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-05', + 'Wheel Rims' + ), + ( + 2327, + 73, + 'Big Spoke 12', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-06', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-06', + 'Wheel Rims' + ), + ( + 2328, + 73, + 'Triple Blade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-07', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-07', + 'Wheel Rims' + ), + ( + 2329, + 73, + 'Hex Center Wire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-08', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-08', + 'Wheel Rims' + ), + ( + 2330, + 73, + 'Fine Diamond Spoke', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-09', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-09', + 'Wheel Rims' + ), + ( + 2331, + 73, + 'Diamond Spoke Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-10', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-10', + 'Wheel Rims' + ), + ( + 2332, + 73, + 'Web 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-11', + 'Wheel Rims' + ), + ( + 2333, + 73, + 'Split Fat Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-12', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-12', + 'Wheel Rims' + ), + ( + 2334, + 73, + 'Narrow Split Twist 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-13', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-13', + 'Wheel Rims' + ), + ( + 2335, + 73, + 'Two Tone Star Slot 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-14', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-14', + 'Wheel Rims' + ), + ( + 2336, + 73, + 'Twist Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-15', + 'Wheel Rims' + ), + ( + 2337, + 73, + 'Slot Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-16', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-16', + 'Wheel Rims' + ), + ( + 2338, + 73, + 'Black Rally Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-17', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-17', + 'Wheel Rims' + ), + ( + 2339, + 73, + 'Twisted Cheese Grater', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-18', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-18', + 'Wheel Rims' + ), + ( + 2340, + 73, + 'Spoke Black Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-19', + 'Wheel Rims' + ), + ( + 2341, + 73, + 'Chrome Slot Star 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-20', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-20', + 'Wheel Rims' + ), + ( + 2342, + 73, + 'Centerline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-21', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-21', + 'Wheel Rims' + ), + ( + 2343, + 73, + 'Baby Moon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-22', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-22', + 'Wheel Rims' + ), + ( + 2344, + 73, + 'Chrome Reversed 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-23', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-23', + 'Wheel Rims' + ), + ( + 2345, + 73, + 'Gold Reversed 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-24', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-24', + 'Wheel Rims' + ), + ( + 2346, + 73, + 'SS Rally Chrome', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-25', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-25', + 'Wheel Rims' + ), + ( + 2347, + 73, + 'SS Rally Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-26', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-26', + 'Wheel Rims' + ), + ( + 2348, + 73, + 'Five Slot Spinner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-27', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-27', + 'Wheel Rims' + ), + ( + 2349, + 73, + 'Five Slot', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-28', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-28', + 'Wheel Rims' + ), + ( + 2350, + 73, + 'Torq-Thrust', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-29', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'RA-29', + 'Wheel Rims' + ), + ( + 2351, + 67, + 'Flow-rite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flow-rite', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall Flow-rite Air Cleaner', + 'Air Cleaner' + ), + ( + 2352, + 60, + 'Flared Velocity Stack', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flared Stack', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flared Velocity Stack', + 'Air Scoop' + ), + ( + 2353, + 60, + 'Highboy VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flared Stack (tall)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tall Flared Velocity Stack', + 'Air Scoop' + ), + ( + 2354, + 60, + 'Classic VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Straight Stack', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Straight Velocity Stack', + 'Air Scoop' + ), + ( + 2355, + 60, + 'Dual Flared VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2 Flared Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dual Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2356, + 60, + 'Dual Highboy VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2 Flared Stacks (tall)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dual Tall Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2357, + 60, + 'Dual Classic VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2 Straight Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dual Straight Velocity Stacks', + 'Air Scoop' + ), + ( + 2358, + 60, + 'Triple Flared VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 Flared Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Triple Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2359, + 60, + 'Triple Highboy VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 Flared Stacks (tall)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Triple Tall Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2360, + 60, + 'Triple Classic VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3 Straight Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Triple Straight Velocity Stacks', + 'Air Scoop' + ), + ( + 2361, + 60, + 'Quad Flared VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 Flared Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quad Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2362, + 60, + 'Quad Highboy VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 Flared Stacks (tall)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quad Tall Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2363, + 60, + 'Quad Classic VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4 Straight Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quad Straight Velocity Stacks', + 'Air Scoop' + ), + ( + 2364, + 60, + '"8-barrel" Flared VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8 Flared Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eight Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2365, + 60, + '"8-barrel" Highboy VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8 Flared Stacks (tall)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eight Tall Flared Velocity Stacks', + 'Air Scoop' + ), + ( + 2366, + 60, + '"8-barrel" Classic VS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8 Straight Stacks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Eight Straight Velocity Stacks', + 'Air Scoop' + ), + ( + 2367, + 1, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Bird (arcade)', + 'Vehicle' + ), + ( + 2369, + 3, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '57 Chevy (arcade)', + 'Vehicle' + ), + ( + 2370, + 6, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Bomber (arcade)', + 'Vehicle' + ), + ( + 2371, + 1, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Vic (arcade)', + 'Vehicle' + ), + ( + 2375, + 0, + 'Roll Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'roll bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Generic roll bar', + 'Roll Bar' + ), + ( + 2376, + 7, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1969 Pontiac GTO modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2377, + 1, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1964 Ford Mustang modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2378, + 1, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Ford Thunderbird modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2379, + 6, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1955 Buick Century modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2380, + 3, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1970 Chevrolet Chevelle modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2381, + 1, + 'Galaxie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Galaxie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1964 Ford Galaxie modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2382, + 9, + 'Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Charger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1969 Dodge Charger modified for arcade Pro Racing', + 'Vehicle' + ), + ( + 2383, + 3, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Chevrolet Bel-Air modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2384, + 1, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1953 Ford Crestline modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2385, + 11, + 'AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMX', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1969 AMC AMX modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2386, + 1, + 'Ranchero', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ranchero', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Ford Ranchero modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2387, + 3, + 'Camaro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Camaro', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1967 Chevrolet Camaro modified for arcade Street Racing', + 'Vehicle' + ), + ( + 2388, + 7, + 'Wedge (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac (8.0) Stock W CH', + 'Cylinder Head' + ), + ( + 2389, + 99, + '195/60/15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Firestone 195/60/15 Bias Belted', + 'Tires' + ), + ( + 2390, + 73, + '220 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 220 lb/in coil spring', + 'Springs' + ), + ( + 2391, + 73, + '230 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 230 lb/in coil spring', + 'Springs' + ), + ( + 2392, + 73, + '240 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 240 lb/in coil spring', + 'Springs' + ), + ( + 2393, + 73, + '250 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 250 lb/in coil spring', + 'Springs' + ), + ( + 2394, + 73, + '260 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 260 lb/in coil spring', + 'Springs' + ), + ( + 2395, + 73, + '270 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 270 lb/in coil spring', + 'Springs' + ), + ( + 2396, + 73, + '280 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 280 lb/in coil spring', + 'Springs' + ), + ( + 2397, + 73, + '290 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 290 lb/in coil spring', + 'Springs' + ), + ( + 2398, + 73, + '300 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 300 lb/in coil spring', + 'Springs' + ), + ( + 2399, + 73, + '310 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 310 lb/in coil spring', + 'Springs' + ), + ( + 2400, + 73, + '320 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 320 lb/in coil spring', + 'Springs' + ), + ( + 2401, + 73, + '330 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 330 lb/in coil spring', + 'Springs' + ), + ( + 2402, + 73, + '340 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 340 lb/in coil spring', + 'Springs' + ), + ( + 2403, + 73, + '350 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 350 lb/in coil spring', + 'Springs' + ), + ( + 2404, + 73, + '360 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 360 lb/in coil spring', + 'Springs' + ), + ( + 2405, + 73, + '370 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 370 lb/in coil spring', + 'Springs' + ), + ( + 2406, + 73, + '380 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 380 lb/in coil spring', + 'Springs' + ), + ( + 2407, + 73, + '390 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 390 lb/in coil spring', + 'Springs' + ), + ( + 2408, + 73, + '400 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 400 lb/in coil spring', + 'Springs' + ), + ( + 2409, + 73, + '410 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 410 lb/in coil spring', + 'Springs' + ), + ( + 2410, + 73, + '420 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 420 lb/in coil spring', + 'Springs' + ), + ( + 2411, + 73, + '430 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 430 lb/in coil spring', + 'Springs' + ), + ( + 2412, + 73, + '440 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 440 lb/in coil spring', + 'Springs' + ), + ( + 2413, + 73, + '450 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 450 lb/in coil spring', + 'Springs' + ), + ( + 2414, + 73, + '460 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 460 lb/in coil spring', + 'Springs' + ), + ( + 2415, + 73, + '470 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 470 lb/in coil spring', + 'Springs' + ), + ( + 2416, + 73, + '480 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 480 lb/in coil spring', + 'Springs' + ), + ( + 2417, + 73, + '490 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 490 lb/in coil spring', + 'Springs' + ), + ( + 2418, + 73, + '500 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 500 lb/in coil spring', + 'Springs' + ), + ( + 2419, + 73, + '510 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 510 lb/in coil spring', + 'Springs' + ), + ( + 2420, + 73, + '180 lb/in Coil', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 180 lb/in coil spring', + 'Springs' + ), + ( + 2421, + 1, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'performs about halfway between a bone-stock camshaft and a high performance camshaft', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Special Stock Camshaft', + 'Camshaft' + ), + ( + 2422, + 0, + '295/80/22.5 Bus Tire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bus Tire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '295/80/22.5 Bus Tire', + 'Tires' + ), + ( + 2424, + 3, + '(8.5) Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used in light trucks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB (8.5) Stock', + 'Cylinder Head' + ), + ( + 2425, + 2, + 'Mod Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1949 Mercury Coupe (modified for QA use)', + 'Vehicle' + ), + ( + 2426, + 3, + 'Mod Bel Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Bel-Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1957 Chevrolet Bel-Air (modified for QA use)', + 'Vehicle' + ), + ( + 2427, + 7, + 'Mod GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1966 Pontiac GTO (modified for QA use)', + 'Vehicle' + ), + ( + 2428, + 4, + 'Mod Eldorado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Eldorado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1959 Cadillac Eldorado (modified for Qa use)', + 'Vehicle' + ), + ( + 2429, + 3, + 'Mod Stingray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Stingray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1963 Chevrolet Stingray (modified for QA use)', + 'Vehicle' + ), + ( + 2430, + 1, + 'Mod Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1964 Ford Mustang (modified for QA use)', + 'Vehicle' + ), + ( + 2431, + 10, + 'Mod Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Mod Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1970 Plymouth Cuda (modified for QA use)', + 'Vehicle' + ), + ( + 2432, + 1, + 'Power', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'good mid-range power cam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Power (HP) Camshaft', + 'Camshaft' + ), + ( + 2433, + 64, + '207/70/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 207/70/14 (D70-14) Bias Belted', + 'Tires' + ), + ( + 2434, + 64, + '212/70/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 212/70/14 (E70-14) Bias Belted', + 'Tires' + ), + ( + 2435, + 64, + '221/70/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 221/70/14 (F70-14) Bias Belted', + 'Tires' + ), + ( + 2436, + 64, + '232/70/14 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 232/70/14 (G70-14) Bias Belted', + 'Tires' + ), + ( + 2437, + 64, + '210/70/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 210/70/15 (E70-15) Bias Belted', + 'Tires' + ), + ( + 2438, + 64, + '216/70/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 216/70/15 (F70-15) Bias Belted', + 'Tires' + ), + ( + 2439, + 64, + '227/70/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 227/70/15 (G70-15) Bias Belted', + 'Tires' + ), + ( + 2440, + 64, + '231/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 231/60/15 (F60-15) Bias Belted', + 'Tires' + ), + ( + 2441, + 64, + '243/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 243/60/15 (G60-15) Bias Belted', + 'Tires' + ), + ( + 2442, + 64, + '224/60/15 Bias Belted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Begren 224/60/15 (E60-15) Bias Belted', + 'Tires' + ), + ( + 2443, + 6, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improved low end torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Special Stock Camshaft', + 'Camshaft' + ), + ( + 2444, + 4, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'provides good low and midrange torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Midrange Camshaft', + 'Camshaft' + ), + ( + 2445, + 3, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improves low range torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB Midrange Camshaft', + 'Camshaft' + ), + ( + 2446, + 3, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improves low range torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet SB Special Stock Camshaft', + 'Camshaft' + ), + ( + 2447, + 8, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improves low and midrange torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Midrange Camshaft', + 'Camshaft' + ), + ( + 2448, + 5, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improves low range torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Special Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB Special Stock Camshaft', + 'Camshaft' + ), + ( + 2449, + 7, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improves low and midrange torque', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midrange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Midrange Camshaft', + 'Camshaft' + ), + ( + 2450, + 0, + 'Heavy Truck (22.5")', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Heavy Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Heavy Truck Rim (22.5")', + 'Wheel Rims' + ), + ( + 2451, + 70, + '265-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'budget replacement block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chevrolet SB V8 265', + 'Engine Block' + ), + ( + 2452, + 70, + 'Stock (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'budget replacement cylinder head', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chevrolet SB Wedge (8.0)', + 'Cylinder Head' + ), + ( + 2453, + 70, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'budget replacement camshaft', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chevrolet SB Stock Camshaft', + 'Camshaft' + ), + ( + 2454, + 70, + '265 2V (140 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'budget replacement engine assembly', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '265 2V (140 hp)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chevrolet SB 265 2V (140 hp)', + 'Engine Assembly' + ), + ( + 2455, + 11, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (9.0) W CH', + 'Cylinder Head' + ), + ( + 2456, + 11, + 'Stock (9.0) LV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.0) LV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (9.0) Large Valve W CH', + 'Cylinder Head' + ), + ( + 2457, + 11, + 'Stock (10.0) LV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.0) LV', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (10.0) Large Valve W CH', + 'Cylinder Head' + ), + ( + 2458, + 11, + 'Dog Leg (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'improved flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dog Leg (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Dog Leg (10.0) W CH', + 'Cylinder Head' + ), + ( + 2459, + 11, + '360-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '360', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 360-V8', + 'Engine Block' + ), + ( + 2460, + 11, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock TI Rod', + 'Connecting Rods' + ), + ( + 2461, + 11, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Group 19', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Group 19 FS Crankshaft', + 'Crankshaft' + ), + ( + 2462, + 8, + '426-V8 Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi 426-V8', + 'Engine Block' + ), + ( + 2463, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Flat Top CA Piston', + 'Pistons' + ), + ( + 2464, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Special FS Rod', + 'Connecting Rods' + ), + ( + 2465, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Hemi FS Rod', + 'Connecting Rods' + ), + ( + 2466, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Hemi Crankshaft', + 'Crankshaft' + ), + ( + 2467, + 70, + 'Hemi (10.25) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Hemi (10.25) Cylinder Head', + 'Cylinder Head' + ), + ( + 2468, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Solid Lifter Valvetrain', + 'Valve Train' + ), + ( + 2469, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chyrsler Hemi Valvetrain', + 'Valve Train' + ), + ( + 2470, + 8, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2471, + 70, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Shade Tree Chrysler Hemi Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2472, + 8, + 'Hemi Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2473, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Intake Manifold', + 'Intake Manifold' + ), + ( + 2474, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Camshaft', + 'Camshaft' + ), + ( + 2475, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Piston', + 'Pistons' + ), + ( + 2476, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Rods', + 'Connecting Rods' + ), + ( + 2477, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Crankshaft', + 'Crankshaft' + ), + ( + 2478, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Valvetrain', + 'Valve Train' + ), + ( + 2479, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2480, + 4, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Cylinder Head', + 'Cylinder Head' + ), + ( + 2481, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB CI Stock Rod', + 'Connecting Rods' + ), + ( + 2482, + 6, + 'Stock 322', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 322', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 322 Camshaft', + 'Camshaft' + ), + ( + 2483, + 6, + 'Recesssed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Recessed Piston', + 'Pistons' + ), + ( + 2484, + 6, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Flat Top Piston', + 'Pistons' + ), + ( + 2485, + 6, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Wedge Top Piston', + 'Pistons' + ), + ( + 2486, + 6, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Domed Top Piston', + 'Pistons' + ), + ( + 2487, + 6, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2488, + 8, + '273-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '273', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 273-V8', + 'Engine Block' + ), + ( + 2489, + 8, + '360-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '360', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB 360-V8', + 'Engine Block' + ), + ( + 2490, + 41, + 'Flat Top CSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Flat Top Chrysler SB Piston', + 'Pistons' + ), + ( + 2491, + 1, + '390-V8 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'thicker main-bearing webs and caps; more reinforcing ribs; enlarged oil passages', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '390 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB V8 390 HP', + 'Engine Block' + ), + ( + 2492, + 1, + 'Stock CB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 2493, + 1, + 'Aluminum CB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Aluminum Dual Plane Intake Manifold', + 'Intake Manifold' + ), + ( + 2494, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Stock Camshaft', + 'Camshaft' + ), + ( + 2495, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Boss Camshaft', + 'Camshaft' + ), + ( + 2496, + 1, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block HO Camshaft', + 'Camshaft' + ), + ( + 2497, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Stock Piston', + 'Pistons' + ), + ( + 2498, + 1, + 'Forged Aluminum C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Flat Top FA Piston', + 'Pistons' + ), + ( + 2499, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Stock FS Rod', + 'Connecting Rods' + ), + ( + 2500, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Boss Rod', + 'Connecting Rods' + ), + ( + 2501, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Stock Crankshaft', + 'Crankshaft' + ), + ( + 2502, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Boss Crankshaft', + 'Crankshaft' + ), + ( + 2503, + 1, + 'Stock C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2504, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Boss Valvetrain', + 'Valve Train' + ), + ( + 2505, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block Stock EM', + 'Exhaust Manifold' + ), + ( + 2506, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock CI DP IM', + 'Intake Manifold' + ), + ( + 2507, + 1, + 'CJ/SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'better flow through larger passages', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'CJ/SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 CJ/SCJ CI DP IM', + 'Intake Manifold' + ), + ( + 2508, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Camshaft', + 'Camshaft' + ), + ( + 2509, + 1, + 'Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Special Camshaft', + 'Camshaft' + ), + ( + 2510, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Piston', + 'Pistons' + ), + ( + 2511, + 1, + 'CJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'CJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 CJ FA Piston', + 'Pistons' + ), + ( + 2512, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Connecting Rod', + 'Connecting Rods' + ), + ( + 2513, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Crankshaft', + 'Crankshaft' + ), + ( + 2514, + 1, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss Crankshaft', + 'Crankshaft' + ), + ( + 2515, + 1, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 NASCAR Crankshaft', + 'Crankshaft' + ), + ( + 2516, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Valve Train', + 'Valve Train' + ), + ( + 2517, + 1, + 'Boss Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Boss Hydraulic Valve Train', + 'Valve Train' + ), + ( + 2518, + 1, + 'SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 SCJ Valve Train', + 'Valve Train' + ), + ( + 2519, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock EM', + 'Exhaust Manifold' + ), + ( + 2520, + 1, + 'CJ/SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'CJ/SCJ', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 CJ/SCJ EM', + 'Exhaust Manifold' + ), + ( + 2521, + 1, + '429-V8 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'reinforced; high nodularity iron', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429-V8 Boss', + 'Engine Block' + ), + ( + 2522, + 1, + 'HP SB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'used on 289 HP engine; beefier, with thicker rod bolts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB HP Rod', + 'Connecting Rods' + ), + ( + 2523, + 1, + '289-V8 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'higher nodularity iron with additional supports', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '289 HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 289-V8 HP', + 'Engine Block' + ), + ( + 2524, + 1, + '302-V8 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'higher nodularity iron with additional supports and four-bolt main bearing cap', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '302-V8 Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB 302-V8 Boss', + 'Engine Block' + ), + ( + 2525, + 1, + 'HP SB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB CI EM', + 'Exhaust Manifold' + ), + ( + 2526, + 1, + 'Cross Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cross Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Cross Boss DP IM', + 'Intake Manifold' + ), + ( + 2527, + 1, + 'Stock Economy Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 2V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Intake Manifold', + 'Intake Manifold' + ), + ( + 2528, + 13, + 'Tri-Power', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tri-Power', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Ford Y Tri-Power IM', + 'Intake Manifold' + ), + ( + 2529, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Camshaft', + 'Camshaft' + ), + ( + 2530, + 1, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Truck Crankshaft', + 'Crankshaft' + ), + ( + 2531, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Piston', + 'Pistons' + ), + ( + 2532, + 1, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Connecting Rods', + 'Connecting Rods' + ), + ( + 2533, + 1, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Truck', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Truck Connecting Rods', + 'Connecting Rods' + ), + ( + 2534, + 1, + 'Stock Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Solid Valve Train', + 'Valve Train' + ), + ( + 2535, + 1, + 'Stock 272/292', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Stock Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2536, + 6, + '400-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB V8 400', + 'Engine Block' + ), + ( + 2537, + 6, + '430-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '430', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB V8 430', + 'Engine Block' + ), + ( + 2538, + 6, + 'Stock (10.25) BB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Stock (10.25) CH', + 'Cylinder Head' + ), + ( + 2539, + 3, + '427-V8 ZL1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'all-aluminum block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'ZL1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet BB V8 427 ZL1', + 'Engine Block' + ), + ( + 2540, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W CI DP Intake Manifold', + 'Intake Manifold' + ), + ( + 2541, + 3, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Aluminum DP Intake Manifold', + 'Intake Manifold' + ), + ( + 2542, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Stock Camshaft', + 'Camshaft' + ), + ( + 2543, + 3, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W HP Camshaft', + 'Camshaft' + ), + ( + 2544, + 3, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Z11 Camshaft', + 'Camshaft' + ), + ( + 2545, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Stock FS Crankshaft', + 'Crankshaft' + ), + ( + 2546, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Stock Valve Train', + 'Valve Train' + ), + ( + 2547, + 3, + 'Super Turbo-Thrust', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'STT', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W STT Solid Lifter Valve Train', + 'Valve Train' + ), + ( + 2548, + 3, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Stock EM', + 'Exhaust Manifold' + ), + ( + 2549, + 3, + 'Z11 W', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Z11', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Z11 Cylinder Head', + 'Cylinder Head' + ), + ( + 2550, + 6, + '364-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '364', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 364-V8', + 'Engine Block' + ), + ( + 2551, + 6, + '401-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 401-V8', + 'Engine Block' + ), + ( + 2552, + 6, + '425-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '425', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 425-V8', + 'Engine Block' + ), + ( + 2553, + 6, + '300-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '300', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB V8 300', + 'Engine Block' + ), + ( + 2554, + 6, + '340-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '340', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB V8 340', + 'Engine Block' + ), + ( + 2555, + 4, + '365-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '365', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB V8 365', + 'Engine Block' + ), + ( + 2556, + 4, + '429-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB V8 429', + 'Engine Block' + ), + ( + 2557, + 3, + 'HP W', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W HP Exhaust Manifold', + 'Exhaust Manifold' + ), + ( + 2558, + 1, + 'HP C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Block HP EM', + 'Exhaust Manifold' + ), + ( + 2559, + 79, + 'Compressor (7.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Compressor (7.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Compressor (7.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 2560, + 79, + 'Compressor Extra (7.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Compressor (7.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Compressor (7.8) Cylinder Head', + 'Cylinder Head' + ), + ( + 2561, + 79, + 'Compressor Chief (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Compressor Chief (8.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Compressor Chief (8.0) Cylinder Head', + 'Cylinder Head' + ), + ( + 2562, + 79, + 'Compressor King (8.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Compressor King (8.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Compressor King (8.2) Cylinder Head', + 'Cylinder Head' + ), + ( + 2563, + 6, + 'Nailhead (8.75) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead (8.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead (8.75) Cylinder Head', + 'Cylinder Head' + ), + ( + 2564, + 6, + 'Nailhead (9.0) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead (9.0) Cylinder Head', + 'Cylinder Head' + ), + ( + 2565, + 6, + 'Nailhead (10.25) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead (10.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead (10.25) Cylinder Head', + 'Cylinder Head' + ), + ( + 2566, + 6, + 'Nailhead (10.5) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead (10.5) Cylinder Head', + 'Cylinder Head' + ), + ( + 2567, + 4, + 'Stock (9.75) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac (9.75) Wedge Cylinder Head', + 'Cylinder Head' + ), + ( + 2568, + 4, + 'Stock (10.0) CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac (10.0) Wedge Cylinder Head', + 'Cylinder Head' + ), + ( + 2569, + 50, + 'Hemi (10.5) Canted CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch Hemi (10.5) Canted Cylinder Head', + 'Cylinder Head' + ), + ( + 2570, + 50, + 'Hemi (10.75) Canted CH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi (10.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch Hemi (10.75) Canted Cylinder Head', + 'Cylinder Head' + ), + ( + 2571, + 80, + 'Breezer Aluminum DP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Breezer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Breezer Aluminum DP IM', + 'Intake Manifold' + ), + ( + 2572, + 80, + 'Tornado Aluminum SP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tornado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Tornado Aluminum SP IM', + 'Intake Manifold' + ), + ( + 2573, + 80, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum DP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick SB Aluminum DP IM', + 'Intake Manifold' + ), + ( + 2574, + 79, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Alumimum DP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head Aluminum DP IM', + 'Intake Manifold' + ), + ( + 2575, + 80, + 'Power Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Power Plus Camshaft', + 'Camshaft' + ), + ( + 2576, + 80, + 'Nailhead HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead HP Camshaft', + 'Camshaft' + ), + ( + 2577, + 79, + 'Power Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head Power Plus Camshaft', + 'Camshaft' + ), + ( + 2578, + 79, + 'L-Head HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head HP Camshaft', + 'Camshaft' + ), + ( + 2579, + 80, + 'Nailhead Perf. EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Performance EM', + 'Exhaust Manifold' + ), + ( + 2580, + 79, + 'L-Head Perf. EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head Performance EM', + 'Exhaust Manifold' + ), + ( + 2581, + 6, + 'SB Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Performance EM', + 'Exhaust Manifold' + ), + ( + 2582, + 6, + 'SB Tube Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Small Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB EM Small Tube Headers', + 'Exhaust Manifold' + ), + ( + 2583, + 79, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac Performance EM', + 'Exhaust Manifold' + ), + ( + 2584, + 1, + 'Flathead Perf. EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Performance EM', + 'Exhaust Manifold' + ), + ( + 2585, + 5, + 'SB Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance EM', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB Performance EM', + 'Exhaust Manifold' + ), + ( + 2586, + 72, + '13 x 2 Organic Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Organic Drum Brake', + 'Brakes' + ), + ( + 2587, + 72, + '13 x 2 Organic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Organic Disk Brake', + 'Brakes' + ), + ( + 2588, + 72, + '13 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Organic HT Drum Brake', + 'Brakes' + ), + ( + 2589, + 72, + '13 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Organic HT Disk Brake', + 'Brakes' + ), + ( + 2590, + 72, + '13 x 2 Metallic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Metallic Disk Brake', + 'Brakes' + ), + ( + 2591, + 72, + '13 x 2 SM Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bendix 13 x 2 Semi-Metallic Disk Brake', + 'Brakes' + ), + ( + 2592, + 73, + '13 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '13 x 2 ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 13 x 2 Metallic Disk ABS Brake', + 'Brakes' + ), + ( + 2593, + 73, + '14 x 2 Org Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Organic Drum Brake', + 'Brakes' + ), + ( + 2594, + 73, + '14 x 2 Organic Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Organic Disk Brake', + 'Brakes' + ), + ( + 2595, + 73, + '14 x 2 Org HT Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Drum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Organic HT Drum Brake', + 'Brakes' + ), + ( + 2596, + 73, + '14 x 2 Org HT Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ansman 14 x 2 Organic HT Disk Brake', + 'Brakes' + ), + ( + 2597, + 71, + '9 x 2 SM Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Disk', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Semi-Metallic Disk Brakes', + 'Brakes' + ), + ( + 2598, + 71, + '9 x 2 Metal Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9 x 2 Disk ABS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AC Delco 9 x 2 Metallic Disk ABS Brakes', + 'Brakes' + ), + ( + 2599, + 101, + '205/40/17VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/40/17VR Performance', + 'Tires' + ), + ( + 2600, + 101, + '225/50/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 225/50/15VR Performance', + 'Tires' + ), + ( + 2601, + 101, + '205/50/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 205/50/15VR Performance', + 'Tires' + ), + ( + 2602, + 101, + '195/50/15VR Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Yokohama 195/50/15VR Performance', + 'Tires' + ), + ( + 2603, + 100, + '225/50/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 225/50/15 Radial', + 'Tires' + ), + ( + 2604, + 100, + '205/50/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/50/15 Radial', + 'Tires' + ), + ( + 2605, + 100, + '195/50/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/50/15 Radial', + 'Tires' + ), + ( + 2606, + 100, + '205/55/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/55/15 Radial', + 'Tires' + ), + ( + 2607, + 100, + '195/55/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/55/15 Radial', + 'Tires' + ), + ( + 2608, + 100, + '215/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 215/60/15 Radial', + 'Tires' + ), + ( + 2609, + 100, + '205/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/60/15 Radial', + 'Tires' + ), + ( + 2610, + 100, + '195/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/60/15 Radial', + 'Tires' + ), + ( + 2611, + 100, + '205/65/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 205/65/15 Radial', + 'Tires' + ), + ( + 2612, + 100, + '185/65/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 185/65/15 Radial', + 'Tires' + ), + ( + 2613, + 100, + '195/60/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/60/14 Radial', + 'Tires' + ), + ( + 2614, + 100, + '185/60/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 185/60/14 Radial', + 'Tires' + ), + ( + 2615, + 100, + '195/65/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 195/65/14 Radial', + 'Tires' + ), + ( + 2616, + 100, + '175/65/14 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 175/65/14 Radial', + 'Tires' + ), + ( + 2617, + 1, + '429-V8 NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429-V8 NASCAR', + 'Engine Block' + ), + ( + 2618, + 1, + '429-V8 NASCAR Mg', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'highly experimental magnesium block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '429 NASCAR Mg', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 429-V8 NASCAR Mg', + 'Engine Block' + ), + ( + 2619, + 5, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Wedge Top (0.5) Piston', + 'Pistons' + ), + ( + 2620, + 1, + 'FH Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Wedge Top Piston', + 'Pistons' + ), + ( + 2621, + 1, + 'Flathead Domed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Domed Top Piston', + 'Pistons' + ), + ( + 2622, + 8, + 'Hemi Recessed Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Recessed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Recessed FA Piston', + 'Pistons' + ), + ( + 2623, + 8, + 'Hemi Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Hemi Wedge FA Piston', + 'Pistons' + ), + ( + 2624, + 4, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Wedge Top Piston', + 'Pistons' + ), + ( + 2625, + 4, + 'Stock FA', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock FA', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock FA Piston', + 'Pistons' + ), + ( + 2626, + 4, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Wedge FA Piston', + 'Pistons' + ), + ( + 2627, + 6, + 'Wedge Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Wedge Top Piston', + 'Pistons' + ), + ( + 2628, + 6, + 'Nailhead Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Solid Valvetrain', + 'Valve Train' + ), + ( + 2629, + 6, + 'SB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Solid Valvetrain', + 'Valve Train' + ), + ( + 2630, + 6, + 'BB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Solid Valvetrain', + 'Valve Train' + ), + ( + 2631, + 79, + 'L-Head Flow Control', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flow Control', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2632, + 4, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac Solid Valvetrain', + 'Valve Train' + ), + ( + 2633, + 80, + 'Flathead Super Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flathead Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Ford Flathead Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2634, + 5, + 'SB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile SB Solid Valvetrain', + 'Valve Train' + ), + ( + 2635, + 5, + 'BB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldsmobile BB Solid Valvetrain', + 'Valve Train' + ), + ( + 2636, + 5, + 'W-31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W-31', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB W-31 FS Rod', + 'Connecting Rods' + ), + ( + 2637, + 13, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Ford Flathead Stock FS Rod', + 'Connecting Rods' + ), + ( + 2638, + 58, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Pro Billet Chrysler Hemi Rod', + 'Connecting Rods' + ), + ( + 2639, + 74, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Titanium', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Titanium Chrysler Hemi Connecting Rod', + 'Connecting Rods' + ), + ( + 2640, + 74, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Lightweight Billet Steel Chrysler Hemi Rod', + 'Connecting Rods' + ), + ( + 2641, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Chrysler Hemi Rod', + 'Connecting Rods' + ), + ( + 2642, + 74, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Billet Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crower Billet Steel Chrysler SB Rod', + 'Connecting Rods' + ), + ( + 2643, + 58, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Sportsman H-Beam', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lunati Sportsman H-Beam Chevrolet W Rod', + 'Connecting Rods' + ), + ( + 2644, + 3, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet W Stock FS Rod', + 'Connecting Rods' + ), + ( + 2645, + 80, + 'Nailhead Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Nailhead Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2646, + 80, + 'Buick SB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick SB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2647, + 80, + 'Buick BB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick BB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick BB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2648, + 79, + 'L-Head Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L-Head Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac L-Head Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2649, + 79, + 'Cadillac Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2650, + 4, + 'Stock BB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock CI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock CI Rod', + 'Connecting Rods' + ), + ( + 2651, + 4, + 'Forged Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Forged Steel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head FS Rod', + 'Connecting Rods' + ), + ( + 2652, + 6, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock FS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick SB FS Stock Rod', + 'Connecting Rods' + ), + ( + 2653, + 6, + 'Nailhead 364', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead 364', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead 364 FS Rod', + 'Connecting Rods' + ), + ( + 2654, + 50, + 'Big W Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch Chevy W Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2655, + 50, + 'Hemi Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Monarch Hemi Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2656, + 79, + 'FH Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flathead Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Ford Flathead Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2657, + 80, + 'Olds SB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds SB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Olds SB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2658, + 80, + 'Olds BB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Olds BB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2659, + 44, + 'HiPo Adept', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HiPo Adept', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Blinsky HiPo Adept Domed Aluminum Piston', + 'Pistons' + ), + ( + 2660, + 97, + '245/45/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 245/45/17ZR High Performance', + 'Tires' + ), + ( + 2661, + 97, + '225/60/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/60/16ZR High Performance', + 'Tires' + ), + ( + 2662, + 81, + '671', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '671', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Weiand 671 Blower', + 'Blower' + ), + ( + 2663, + 81, + '871', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '871', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Weiand 871 Blower', + 'Blower' + ), + ( + 2664, + 81, + '1071', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1071', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Weiand 1071 Blower', + 'Blower' + ), + ( + 2665, + 13, + 'Performer IAS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer IAS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer IAS Shock', + 'Shocks' + ), + ( + 2666, + 13, + 'Street Stock Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Stock Race', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Street Stock Race Shock', + 'Shocks' + ), + ( + 2667, + 13, + '24 Stud', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '24 Stud', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Ford Flathead Cylinder Head', + 'Cylinder Head' + ), + ( + 2668, + 13, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Chevrolet W Exhaust Headers', + 'Exhaust Manifold' + ), + ( + 2669, + 13, + 'TES Exh. Headers 385', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Ford 385 Exhaust Headers', + 'Exhaust Manifold' + ), + ( + 2670, + 13, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Exhaust Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TES Pontiac Exhaust Headers', + 'Exhaust Manifold' + ), + ( + 2671, + 13, + 'Cat-Back System', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cat-Back', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Cat-Back System Exhaust Pipes', + 'Exhaust Pipe' + ), + ( + 2672, + 18, + 'Fat Shiny', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fat Shiny', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fat Shiny Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 2673, + 13, + 'AB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock AB Coil Spring', + 'Springs' + ), + ( + 2674, + 13, + 'AS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock AS Coil Spring', + 'Springs' + ), + ( + 2675, + 13, + 'AGB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AGB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock AGB Coil Spring', + 'Springs' + ), + ( + 2676, + 13, + 'M', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'M', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock M Coil Spring', + 'Springs' + ), + ( + 2677, + 13, + 'F', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'F', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock F Coil Spring', + 'Springs' + ), + ( + 2678, + 13, + 'Tubular Panhard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tubular Panhard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Tubular Panhard Rod', + 'Sway Bar' + ), + ( + 2679, + 13, + 'Anti-Hop Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Anti-Hop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Anti-Hop Bar', + 'Traction Bar' + ), + ( + 2680, + 13, + 'Pro-Flo Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Flo Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Pro-Flo Round Air Cleaner', + 'Air Cleaner' + ), + ( + 2681, + 13, + 'Pro-Flo Oval', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Flo Oval', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Pro-Flo Oval Air Cleaner', + 'Air Cleaner' + ), + ( + 2682, + 13, + 'Pro-Flo Triangular', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Flo Triangular', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Pro-Flo Triangular Air Cleaner', + 'Air Cleaner' + ), + ( + 2683, + 13, + 'Elite Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Elite Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Elite Round Air Cleaner', + 'Air Cleaner' + ), + ( + 2684, + 13, + 'Elite Oval', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Elite Oval', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Elite Oval Air Cleaner', + 'Air Cleaner' + ), + ( + 2685, + 13, + 'Elite Triangular', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Elite Triangular', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Elite Triangular Air Cleaner', + 'Air Cleaner' + ), + ( + 2686, + 13, + 'Victor Series', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Victor Series', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Victor Series Cooling System', + 'Cooling System' + ), + ( + 2687, + 13, + 'Performer 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer 4V (500 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer 4V (500 cfm) Carburetor', + 'Carburetor' + ), + ( + 2688, + 13, + 'Performer 4V (750 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer 4V (750 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer 4V (750 cfm) Carburetor', + 'Carburetor' + ), + ( + 2689, + 13, + 'Q-Jet (795 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Q-Jet (795 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Q-Jet (795 cfm) Carburetor', + 'Carburetor' + ), + ( + 2690, + 13, + 'Q-Jet (850 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Q-Jet (850 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Q-Jet (850 cfm) Carburetor', + 'Carburetor' + ), + ( + 2691, + 13, + 'Torker AMC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Torker AMC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Torker AMC IM', + 'Intake Manifold' + ), + ( + 2692, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer AMC IM', + 'Intake Manifold' + ), + ( + 2693, + 13, + 'Pro-Flo EFI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pro-Flo EFI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Pro-Flo EFI System', + 'Carburetor' + ), + ( + 2694, + 14, + 'Excelerator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Excelerator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Excelerator Ignition', + 'Electrical System' + ), + ( + 2695, + 14, + 'Dominator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dominator', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Dominator Ignition', + 'Electrical System' + ), + ( + 2696, + 14, + 'Avenger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Avenger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley Avenger Ignition', + 'Electrical System' + ), + ( + 2697, + 14, + 'SystemMax Chevrolet BB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SystemMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Holley SystemMax Chevrolet BB CH', + 'Cylinder Head' + ), + ( + 2698, + 1, + 'E4 Low Range', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'E4 Low Range', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'E4 Low Range Ford Y Camshaft', + 'Camshaft' + ), + ( + 2699, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus AMC Camshaft', + 'Camshaft' + ), + ( + 2700, + 11, + 'WG', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'WG', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC WG Stock+ Camshaft', + 'Camshaft' + ), + ( + 2701, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Olds SB HP Cam', + 'Camshaft' + ), + ( + 2702, + 13, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Plus Olds BB HP Cam', + 'Camshaft' + ), + ( + 2703, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer AMC Hydraulic Lifters', + 'Valve Train' + ), + ( + 2704, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Chevrolet BB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2705, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Chevrolet SB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2706, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Chrysler BB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2707, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Chrysler SB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2708, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Ford 385 Hydraulic Lifters', + 'Valve Train' + ), + ( + 2709, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Ford BB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2710, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Ford C Hydraulic Lifters', + 'Valve Train' + ), + ( + 2711, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Ford SB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2712, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Oldsmobile BB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2713, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Oldsmobile SB Hydraulic Lifters', + 'Valve Train' + ), + ( + 2714, + 13, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Performer Pontiac Hydraulic Lifters', + 'Valve Train' + ), + ( + 2715, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Ford BB VT', + 'Valve Train' + ), + ( + 2716, + 21, + 'Energizer BSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Buick SB Valvetrain', + 'Valve Train' + ), + ( + 2717, + 21, + 'Energizer CBB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Chevrolet BB Valvetrain', + 'Valve Train' + ), + ( + 2718, + 21, + 'Energizer CSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Chevrolet SB Valvetrain', + 'Valve Train' + ), + ( + 2719, + 21, + 'Energizer CW', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Chevrolet W Valvetrain', + 'Valve Train' + ), + ( + 2720, + 21, + 'Energizer ChBB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Chrysler BB Valvetrain', + 'Valve Train' + ), + ( + 2721, + 21, + 'Energizer ChSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Chrysler SB Valvetrain', + 'Valve Train' + ), + ( + 2722, + 21, + 'Energizer F385', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Ford 385 Valvetrain', + 'Valve Train' + ), + ( + 2723, + 21, + 'Energizer FC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Ford C Valvetrain', + 'Valve Train' + ), + ( + 2724, + 21, + 'Energizer FSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Ford SB Valvetrain', + 'Valve Train' + ), + ( + 2725, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter AMC Valvetrain', + 'Valve Train' + ), + ( + 2726, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Buick SB Valvetrain', + 'Valve Train' + ), + ( + 2727, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chevrolet BB Valvetrain', + 'Valve Train' + ), + ( + 2728, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chevrolet SB Valvetrain', + 'Valve Train' + ), + ( + 2729, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chevrolet W Valvetrain', + 'Valve Train' + ), + ( + 2730, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chrysler BB Valvetrain', + 'Valve Train' + ), + ( + 2731, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chrysler Hemi Valvetrain', + 'Valve Train' + ), + ( + 2732, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Chrysler SB Valvetrain', + 'Valve Train' + ), + ( + 2733, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Ford 385 Valvetrain', + 'Valve Train' + ), + ( + 2734, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Ford C Valvetrain', + 'Valve Train' + ), + ( + 2735, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Ford SB Valvetrain', + 'Valve Train' + ), + ( + 2736, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller AMC VT', + 'Valve Train' + ), + ( + 2737, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chevrolet BB VT', + 'Valve Train' + ), + ( + 2738, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chevrolet SB VT', + 'Valve Train' + ), + ( + 2739, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chevrolet W VT', + 'Valve Train' + ), + ( + 2740, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chrysler BB VT', + 'Valve Train' + ), + ( + 2741, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chrysler Hemi VT', + 'Valve Train' + ), + ( + 2742, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Chrysler SB VT', + 'Valve Train' + ), + ( + 2743, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Ford 385 VT', + 'Valve Train' + ), + ( + 2744, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Ford C VT', + 'Valve Train' + ), + ( + 2745, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Ford SB VT', + 'Valve Train' + ), + ( + 2746, + 21, + 'Energizer OBB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Olds BB Valvetrain', + 'Valve Train' + ), + ( + 2747, + 21, + 'Energizer OSB', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Olds SB Valvetrain', + 'Valve Train' + ), + ( + 2748, + 21, + 'Energizer Pon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Energizer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane Energizer Hydraulic Pontiac Valvetrain', + 'Valve Train' + ), + ( + 2749, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Olds BB Valvetrain', + 'Valve Train' + ), + ( + 2750, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Olds SB Valvetrain', + 'Valve Train' + ), + ( + 2751, + 21, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Pontiac Valvetrain', + 'Valve Train' + ), + ( + 2752, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Olds BB VT', + 'Valve Train' + ), + ( + 2753, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Olds SB VT', + 'Valve Train' + ), + ( + 2754, + 21, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Roller Pontiac VT', + 'Valve Train' + ), + ( + 2755, + 11, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'NASCAR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC NASCAR CH', + 'Cylinder Head' + ), + ( + 2756, + 16, + '6V (600 cfm) R', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '6V (600 cfm)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rochester 6V (600 cfm) Carb', + 'Carburetor' + ), + ( + 2757, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker AMC Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2758, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Buick Nailhead Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2759, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac L-Head Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2760, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2761, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy SB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2762, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler SB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2763, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford Flathead Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2764, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford SB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2765, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford Y Block Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2766, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford Cleveland Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2767, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Oldsmobile SB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2768, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Oldsmobile BB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2769, + 82, + 'Hemi Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler Hemi Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 2770, + 11, + '401-V8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC 401-V8', + 'Engine Block' + ), + ( + 2771, + 11, + 'Stock (9.5) 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (9.5) 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (9.5) 401 W CH', + 'Cylinder Head' + ), + ( + 2772, + 11, + 'Stock (8.5) 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock (8.5) 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Stock (8.5) 401 W CH', + 'Cylinder Head' + ), + ( + 2773, + 38, + 'Aluminum AMC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum AMC', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offenhauser Aluminum AMC IM', + 'Intake Manifold' + ), + ( + 2774, + 1, + '9" (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (3.08) Differential', + 'Rear End' + ), + ( + 2775, + 1, + '9" (3.27)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (3.27)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (3.27) Differential', + 'Rear End' + ), + ( + 2776, + 1, + '9" (3.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (3.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (3.45) Differential', + 'Rear End' + ), + ( + 2777, + 1, + '9" (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (3.55) Differential', + 'Rear End' + ), + ( + 2778, + 1, + '9" (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (3.73) Differential', + 'Rear End' + ), + ( + 2779, + 1, + '9" (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '9" (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 9" (4.10) Differential', + 'Rear End' + ), + ( + 2780, + 1, + '8" (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (3.08) Differential', + 'Rear End' + ), + ( + 2781, + 1, + '8" (3.27)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (3.27)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (3.27) Differential', + 'Rear End' + ), + ( + 2782, + 1, + '8" (3.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (3.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (3.45) Differential', + 'Rear End' + ), + ( + 2783, + 1, + '8" (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (3.55) Differential', + 'Rear End' + ), + ( + 2784, + 1, + '8" (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (3.73) Differential', + 'Rear End' + ), + ( + 2785, + 1, + '8" (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '8" (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 8" (4.10) Differential', + 'Rear End' + ), + ( + 2786, + 15, + '10-bolt (2.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10-bolt (2.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (2.73) Differential', + 'Rear End' + ), + ( + 2787, + 15, + '10-bolt (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10-bolt (3.08)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (3.08) Differential', + 'Rear End' + ), + ( + 2788, + 15, + '10-bolt (3.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10-bolt (3.36)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (3.36) Differential', + 'Rear End' + ), + ( + 2789, + 15, + '10-bolt (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10-bolt (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (3.55) Differential', + 'Rear End' + ), + ( + 2790, + 15, + '10-bolt (3.70)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '10-bolt (3.70)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (3.70) Differential', + 'Rear End' + ), + ( + 2791, + 15, + '12-bolt (2.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (2.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (2.73) Differential', + 'Rear End' + ), + ( + 2792, + 15, + '12-bolt (3.07)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (3.07)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (3.07) Differential', + 'Rear End' + ), + ( + 2793, + 15, + '12-bolt (3.31)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (3.31)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 10-bolt (3.31) Differential', + 'Rear End' + ), + ( + 2794, + 15, + '12-bolt (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (3.55)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (3.55) Differential', + 'Rear End' + ), + ( + 2795, + 15, + '12-bolt (3.55) Police', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (3.55) Police', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (3.55) Police Differential', + 'Rear End' + ), + ( + 2796, + 15, + '12-bolt (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (3.73) Differential', + 'Rear End' + ), + ( + 2797, + 15, + '12-bolt (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '12-bolt (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM 12-bolt (4.10) Differential', + 'Rear End' + ), + ( + 2798, + 67, + '14-bolt (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14-bolt (4.10)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall 14-bolt (4.10) Differential', + 'Rear End' + ), + ( + 2799, + 67, + '14-bolt (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14-bolt (3.73)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall 14-bolt (3.73) Differential', + 'Rear End' + ), + ( + 2800, + 67, + '14-bolt (3.42)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '14-bolt (3.42)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall 14-bolt (3.42) Differential', + 'Rear End' + ), + ( + 2801, + 67, + 'Helix 3 Spd (M)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Helix (M)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall Helix 3 Spd (M)', + 'Transmission' + ), + ( + 2802, + 67, + 'Helix 3 Spd (A)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Helix (A)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hall Helix 3 Spd (A)', + 'Transmission' + ), + ( + 2803, + 1, + 'Stock Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 4V', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Stock 4V IM', + 'Intake Manifold' + ), + ( + 2804, + 1, + 'Dual Quad Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 2x4', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Stock 2x4 IM', + 'Intake Manifold' + ), + ( + 2805, + 1, + 'Supercharger Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock Blown', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Supercharger IM', + 'Intake Manifold' + ), + ( + 2806, + 13, + '3x2V Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2 Alumimun', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Y Block 3x2 IM', + 'Intake Manifold' + ), + ( + 2807, + 13, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Alumimun', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Y Block 4V Aluminum IM', + 'Intake Manifold' + ), + ( + 2808, + 13, + 'Aluminum Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Alumimum Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Edelbrock Y Block 4V Aluminum Single', + 'Intake Manifold' + ), + ( + 2809, + 38, + '3x2V Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '3x2V Alumimun', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offy Y Block 3x2 Aluminum IM', + 'Intake Manifold' + ), + ( + 2810, + 38, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Alumimun', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offy Y Block Aluminum 4V IM', + 'Intake Manifold' + ), + ( + 2811, + 38, + 'Aluminum Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Alumimum Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Offy Y Block Aluminum 4V Single IM', + 'Intake Manifold' + ), + ( + 2812, + 83, + 'Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Alumimun', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Aluminum 4V IM', + 'Intake Manifold' + ), + ( + 2813, + 83, + 'Special Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '4V Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Special 4V IM', + 'Intake Manifold' + ), + ( + 2814, + 83, + 'Lightning Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightning Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Lightning 4V Single IM', + 'Intake Manifold' + ), + ( + 2815, + 83, + 'HiBoy Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'HiBoy Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block HiBoy Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2816, + 83, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Midget Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2817, + 83, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Strip King Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2818, + 1, + 'Factory Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Factory Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Factory Headers', + 'Exhaust Manifold' + ), + ( + 2819, + 83, + 'Free Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Free Flow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Free Flow EM', + 'Exhaust Manifold' + ), + ( + 2820, + 83, + 'Free Flow Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Free Flow Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Free Flow Aluminum EM', + 'Exhaust Manifold' + ), + ( + 2821, + 83, + 'Street King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Street King Small Headers', + 'Exhaust Manifold' + ), + ( + 2822, + 83, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Strip King Small Headers', + 'Exhaust Manifold' + ), + ( + 2823, + 83, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Track King Large Headers', + 'Exhaust Manifold' + ), + ( + 2824, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Y Block Air Stream EM', + 'Exhaust Manifold' + ), + ( + 2825, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Y Block Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 2826, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Y Block Super Stream Large Headers', + 'Exhaust Manifold' + ), + ( + 2827, + 83, + 'Street King Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Street King Solid Valvetrain', + 'Valve Train' + ), + ( + 2828, + 83, + 'Strip King Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Strip King Solid Valvetrain', + 'Valve Train' + ), + ( + 2829, + 83, + 'Race Pro Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Pro Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Y Block Race Pro Roller Valvetrain', + 'Valve Train' + ), + ( + 2830, + 84, + 'Speed Lifter Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lifter Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Y Block Speed Lifter Solid Valvetrain', + 'Valve Train' + ), + ( + 2831, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Y Block Super Lift Solid Valvetrain', + 'Valve Train' + ), + ( + 2832, + 85, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Y Block Solid Valvetrain', + 'Valve Train' + ), + ( + 2833, + 85, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Y Block Performance Solid Valvetrain', + 'Valve Train' + ), + ( + 2834, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Y Block Race Roller Valvetrain', + 'Valve Train' + ), + ( + 2835, + 87, + 'Wedge Top (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top (.15) Piston', + 'Pistons' + ), + ( + 2836, + 87, + 'Wedge Top (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top (.35) Piston', + 'Pistons' + ), + ( + 2837, + 87, + 'Wedge Top (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top (.4) Piston', + 'Pistons' + ), + ( + 2838, + 87, + 'Wedge Top (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top (.2) Piston', + 'Pistons' + ), + ( + 2839, + 87, + 'Wedge Top (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge Top (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Wedge Top (.3) Piston', + 'Pistons' + ), + ( + 2840, + 86, + 'Domed (.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Domed (.1) Piston', + 'Pistons' + ), + ( + 2841, + 86, + 'Domed (.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Domed (.45) Piston', + 'Pistons' + ), + ( + 2842, + 86, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Domed (.2) Piston', + 'Pistons' + ), + ( + 2843, + 86, + 'Domed (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Domed (.35) Piston', + 'Pistons' + ), + ( + 2844, + 86, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Domed (.5) Piston', + 'Pistons' + ), + ( + 2845, + 88, + 'Super 292', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Extra Y', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Y Block Super 292 Crankshaft', + 'Crankshaft' + ), + ( + 2846, + 88, + 'Super 312', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Bird Specia', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely y Block Super 312 Crankshaft', + 'Crankshaft' + ), + ( + 2847, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Marathon Crankshaft', + 'Crankshaft' + ), + ( + 2848, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2849, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Champion Crankshaft', + 'Crankshaft' + ), + ( + 2851, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Stump Puller Crankshaft', + 'Crankshaft' + ), + ( + 2852, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Street Max Crankshaft', + 'Crankshaft' + ), + ( + 2853, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Super Max Crankshaft', + 'Crankshaft' + ), + ( + 2854, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Stump Puller Connecting Rods', + 'Connecting Rods' + ), + ( + 2855, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Street Max Connecting Rods', + 'Connecting Rods' + ), + ( + 2856, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Y Block Super Max Connecting Rods', + 'Connecting Rods' + ), + ( + 2857, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Marathon Connecting Rods', + 'Connecting Rods' + ), + ( + 2858, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Lightweight Connecting Rods', + 'Connecting Rods' + ), + ( + 2859, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Champion Connecting Rods', + 'Connecting Rods' + ), + ( + 2860, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Y Block Legend Connecting Rods', + 'Connecting Rods' + ), + ( + 2861, + 88, + 'Extra Y', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Extra Y', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Y Block Extra Y Connecting Rods', + 'Connecting Rods' + ), + ( + 2862, + 88, + 'T-Bird Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T-Bird Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Y Block T-Bird Special Connecting Rods', + 'Connecting Rods' + ), + ( + 2863, + 89, + 'Street 39', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 39', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Street 39 Camshaft', + 'Camshaft' + ), + ( + 2864, + 89, + 'Street 40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Street 40 Camshaft', + 'Camshaft' + ), + ( + 2865, + 89, + 'Super 39', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 39', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Super 39 HP Camshaft', + 'Camshaft' + ), + ( + 2866, + 89, + 'Super 40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 40', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Super 40 HP Camshaft', + 'Camshaft' + ), + ( + 2867, + 89, + 'Super 43', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 43', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Super 43 HP Camshaft', + 'Camshaft' + ), + ( + 2868, + 89, + 'Super 44', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 44', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Super 44 HP Camshaft', + 'Camshaft' + ), + ( + 2869, + 89, + 'Ultra 44', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultra 44', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Ultra 44 DP Camshaft', + 'Camshaft' + ), + ( + 2870, + 89, + 'Ultra 48', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultra 48', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Ultra 48 DP Camshaft', + 'Camshaft' + ), + ( + 2871, + 89, + 'Street 36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 36', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Y Block Street 36 Camshaft', + 'Camshaft' + ), + ( + 2872, + 9, + 'Charger R/T', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 2873, + 1, + 'Boss 302 (10.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss 302 (10.5) 2.19/1.72 Canted CH', + 'Cylinder Head' + ), + ( + 2874, + 1, + 'TP (10.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'TP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB TP Wedge CH', + 'Cylinder Head' + ), + ( + 2875, + 1, + 'Wedge (9.0) 1.84', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (9.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB (9.0) 1.84i/1.54e Wedge CH', + 'Cylinder Head' + ), + ( + 2876, + 1, + '70 Mustang Factory Scoop Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '70 Mustang Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 70 Mustang Factory Scoop Hood', + 'Hood' + ), + ( + 2877, + 90, + 'Big Bad AMX - AI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 2878, + 90, + 'Chevrolet Corvette - AI', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 2879, + 91, + 'Vortex Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vortex Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Vortex Single Plane IM', + 'Intake Manifold' + ), + ( + 2880, + 91, + 'Screamer Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Screamer Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Screamer Dual Plane IM', + 'Intake Manifold' + ), + ( + 2881, + 91, + 'Scooter Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Scooter Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Scooter Dual Plane IM', + 'Intake Manifold' + ), + ( + 2882, + 91, + 'Scooter Alum. Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Scooter Alum. Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Scooter Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 2883, + 92, + 'Classic Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Classic Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Classic Dual Plane IM', + 'Intake Manifold' + ), + ( + 2884, + 92, + 'Street Classic Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Classic Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Street Classic Dual Plane IM', + 'Intake Manifold' + ), + ( + 2885, + 92, + 'Classic Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Classic Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Classic Single Plane IM', + 'Intake Manifold' + ), + ( + 2886, + 92, + 'Super Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Super Single Plane IM', + 'Intake Manifold' + ), + ( + 2887, + 91, + 'Vortex Ultra Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vortex Ultra Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Vortex Ultra Light Single Plane IM', + 'Intake Manifold' + ), + ( + 2888, + 91, + 'Power Tower Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power Tower Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Power Tower Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2889, + 91, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Ultimate Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2890, + 92, + 'Classic Low Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Classic Low Tunnel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Classic Low Rise Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2891, + 92, + 'Classic Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Classic High Tunnel', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C & B Chevy SB Classic High Rise Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2892, + 91, + 'Screamer Ultra Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Screamer Ultra Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Screamer Ultra Light Dual Plane IM', + 'Intake Manifold' + ), + ( + 2893, + 91, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Rumble Pipe Small Headers', + 'Exhaust Manifold' + ), + ( + 2894, + 91, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Street Lion Small Headers', + 'Exhaust Manifold' + ), + ( + 2895, + 91, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Window Rattler Larger Headers', + 'Exhaust Manifold' + ), + ( + 2896, + 92, + 'Masterpiece', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Masterpiece', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Masterpiece EM', + 'Exhaust Manifold' + ), + ( + 2897, + 92, + 'Blueprint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Blueprint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Blueprint EM', + 'Exhaust Manifold' + ), + ( + 2898, + 92, + 'Beach Racer Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Beach Racer Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Beach Racer Small Headers', + 'Exhaust Manifold' + ), + ( + 2899, + 91, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy SB Street Mod EM', + 'Exhaust Manifold' + ), + ( + 2900, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Chevy SB Wedge (.15) Piston', + 'Pistons' + ), + ( + 2901, + 41, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Chevy SB Wedge (.35) Piston', + 'Pistons' + ), + ( + 2902, + 41, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Chevy SB Domed (.2) Piston', + 'Pistons' + ), + ( + 2903, + 41, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Chevy SB Domed (.3) Piston', + 'Pistons' + ), + ( + 2904, + 92, + 'Domed (.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.1) Piston', + 'Pistons' + ), + ( + 2905, + 92, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.2) Piston', + 'Pistons' + ), + ( + 2906, + 92, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.3) Piston', + 'Pistons' + ), + ( + 2907, + 92, + 'Domed (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.4) Piston', + 'Pistons' + ), + ( + 2908, + 92, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.5) Piston', + 'Pistons' + ), + ( + 2909, + 92, + 'Domed (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.6) Piston', + 'Pistons' + ), + ( + 2910, + 92, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'C&B Chevy SB Domed (.75) Piston', + 'Pistons' + ), + ( + 2911, + 84, + 'Speed Lifter Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lifter Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy SB Speed Lifter Solid Valvetrain', + 'Valve Train' + ), + ( + 2912, + 84, + 'Street Plus Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Plus Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy SB Street Plus Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2913, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy SB Premier Roller Valvetrain', + 'Valve Train' + ), + ( + 2914, + 85, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy SB Performance Solid Valvetrain', + 'Valve Train' + ), + ( + 2915, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy SB Performance Hydraulic Valvetrain', + 'Valve Train' + ), + ( + 2916, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy SB Race Roller Valvetrain', + 'Valve Train' + ), + ( + 2917, + 6, + 'Stock 364 Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '364 Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 364 DP IM', + 'Intake Manifold' + ), + ( + 2918, + 6, + 'Stock 401/425 Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '401/425 Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 401/425 DP IM', + 'Intake Manifold' + ), + ( + 2919, + 80, + 'Improved Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Improved Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Improved DP IM', + 'Intake Manifold' + ), + ( + 2920, + 80, + 'Breezer Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Breezer Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Breezer DP IM', + 'Intake Manifold' + ), + ( + 2921, + 93, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Buick Nailhead Street Port DP IM', + 'Intake Manifold' + ), + ( + 2922, + 93, + 'Street Port Alum. Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Alum.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Buick Nailhead Street Port Aluminum DP IM', + 'Intake Manifold' + ), + ( + 2923, + 80, + 'Tornado Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tornado Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Tornado SP IM', + 'Intake Manifold' + ), + ( + 2924, + 93, + 'Street Port Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Buick Nailhead Street Port SP IM', + 'Intake Manifold' + ), + ( + 2925, + 80, + 'Wind Tunnel Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wind Tunnel Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Wind Tunnel SP IM', + 'Intake Manifold' + ), + ( + 2926, + 80, + 'Cyclone Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cyclone Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Cyclone Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2927, + 80, + 'Hurricane Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hurricane Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Hurricane Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2928, + 80, + 'Super Cyclone Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Cyclone Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Super Cyclone Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2929, + 83, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Performance DP IM', + 'Intake Manifold' + ), + ( + 2930, + 83, + 'Perf. Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Alum. Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Performance Aluminum DP IM', + 'Intake Manifold' + ), + ( + 2931, + 93, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Road Squire DP IM', + 'Intake Manifold' + ), + ( + 2932, + 93, + 'Road Squire LW Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rd. Squire Alum. Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Road Squire Aluminum SP IM', + 'Intake Manifold' + ), + ( + 2933, + 93, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Centurion DP IM', + 'Intake Manifold' + ), + ( + 2934, + 93, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Street Knight SP IM', + 'Intake Manifold' + ), + ( + 2935, + 83, + 'Lightning Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightning Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Lightning SP IM', + 'Intake Manifold' + ), + ( + 2936, + 93, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Commander SP IM', + 'Intake Manifold' + ), + ( + 2937, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Emperor Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2938, + 83, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Midget Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2939, + 83, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Strip King Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2940, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford SB Street Lord Tunnel Ram IM', + 'Intake Manifold' + ), + ( + 2941, + 41, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Domed (.3) Piston', + 'Pistons' + ), + ( + 2942, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Domed (.75) Piston', + 'Pistons' + ), + ( + 2943, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Wedge (.5) Piston', + 'Pistons' + ), + ( + 2944, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Wedge (.15) Piston', + 'Pistons' + ), + ( + 2945, + 41, + 'Wedge (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford SB Wedge (.4) Piston', + 'Pistons' + ), + ( + 2946, + 86, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford SB Domed (.2) Piston', + 'Pistons' + ), + ( + 2947, + 86, + 'Domed (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford SB Domed (.35) Piston', + 'Pistons' + ), + ( + 2948, + 86, + 'Domed (.65)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.65)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford SB Domed (.65) Piston', + 'Pistons' + ), + ( + 2949, + 87, + 'Wedge (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Wedge (.3) Piston', + 'Pistons' + ), + ( + 2950, + 87, + 'Wedge (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Wedge (.6) Piston', + 'Pistons' + ), + ( + 2951, + 87, + 'Recessed (-.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.45)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Recessed (-.45) Piston', + 'Pistons' + ), + ( + 2952, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 2953, + 86, + 'Recessed (-.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford SB Recessed (-.15) Piston', + 'Pistons' + ), + ( + 2954, + 86, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Domed (.3) Piston', + 'Pistons' + ), + ( + 2955, + 87, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Domed (.25) Piston', + 'Pistons' + ), + ( + 2956, + 86, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Domed (.5) Piston', + 'Pistons' + ), + ( + 2957, + 86, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Wedge (.25) Piston', + 'Pistons' + ), + ( + 2958, + 87, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Wedge (.35) Piston', + 'Pistons' + ), + ( + 2959, + 86, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Wedge (.15) Piston', + 'Pistons' + ), + ( + 2960, + 87, + 'Recessed (-.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Recessed (-.2) Piston', + 'Pistons' + ), + ( + 2961, + 86, + 'Recessed (-.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.1)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Recessed (-.1) Piston', + 'Pistons' + ), + ( + 2962, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Recessed (-.25) Piston', + 'Pistons' + ), + ( + 2963, + 86, + 'Recessed (-.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Recessed (-.35) Piston', + 'Pistons' + ), + ( + 2964, + 86, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Flat Top Piston', + 'Pistons' + ), + ( + 2965, + 87, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flat Top', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Flat Top Piston', + 'Pistons' + ), + ( + 2966, + 88, + 'Century Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Century Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Buick Nailhead Century Special Rods', + 'Connecting Rods' + ), + ( + 2967, + 88, + 'Riviera Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Riviera Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Buick Nailhead Riviera Special Rods', + 'Connecting Rods' + ), + ( + 2968, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Champion Rods', + 'Connecting Rods' + ), + ( + 2969, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Legend Rods', + 'Connecting Rods' + ), + ( + 2970, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Lightweight Rods', + 'Connecting Rods' + ), + ( + 2971, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Marathon Rods', + 'Connecting Rods' + ), + ( + 2972, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Stump Puller Rods', + 'Connecting Rods' + ), + ( + 2973, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Street Max Rods', + 'Connecting Rods' + ), + ( + 2974, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Super Max Rods', + 'Connecting Rods' + ), + ( + 2975, + 88, + 'T351 Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'T351 Billet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Ford SB T351 Billet Rods', + 'Connecting Rods' + ), + ( + 2976, + 88, + 'Power I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power I', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Ford SB Power I Rods', + 'Connecting Rods' + ), + ( + 2977, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford SB Champion Crankshaft', + 'Crankshaft' + ), + ( + 2978, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Super Max Crankshaft', + 'Crankshaft' + ), + ( + 2979, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford SB Street Max Crankshaft', + 'Crankshaft' + ), + ( + 2980, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Stump Puller Crankshaft', + 'Crankshaft' + ), + ( + 2981, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Super Max Crankshaft', + 'Crankshaft' + ), + ( + 2982, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Buick Nailhead Street Max Crankshaft', + 'Crankshaft' + ), + ( + 2983, + 88, + 'Super 300', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 300', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Buick Nailhead Super 300 Crankshaft', + 'Crankshaft' + ), + ( + 2984, + 88, + 'Super 400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 400', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Buick Nailhead Super 400 Crankshaft', + 'Crankshaft' + ), + ( + 2985, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Champion Crankshaft', + 'Crankshaft' + ), + ( + 2986, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 2987, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Buick Nailhead Marathon Crankshaft', + 'Crankshaft' + ), + ( + 2988, + 84, + 'Super Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Buick Nailhead Super Lift VT', + 'Valve Train' + ), + ( + 2989, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Buick Nailhead Performance Hydraulic VT', + 'Valve Train' + ), + ( + 2990, + 80, + 'Craftsmith Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Craftsmith Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Craftsmith Roller VT', + 'Valve Train' + ), + ( + 2991, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Buick Nailhead Race Roller VT', + 'Valve Train' + ), + ( + 2992, + 85, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Buick Nailhead Solid VT', + 'Valve Train' + ), + ( + 2993, + 84, + 'Speed Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Buick Nailhead Speed Lift VT', + 'Valve Train' + ), + ( + 2994, + 80, + 'Craftsmith Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Craftsmith Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Craftsmith Hydraulic VT', + 'Valve Train' + ), + ( + 2995, + 80, + 'Craftsmith Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Craftsmith Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Craftsmith Solid VT', + 'Valve Train' + ), + ( + 2996, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Street King VT', + 'Valve Train' + ), + ( + 2997, + 83, + 'Strip King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Strip King VT', + 'Valve Train' + ), + ( + 2998, + 84, + 'Speed Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Ford SB Speed Lift VT', + 'Valve Train' + ), + ( + 2999, + 84, + 'Super Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Ford SB Super Lift VT', + 'Valve Train' + ), + ( + 3000, + 85, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Ford SB Solid VT', + 'Valve Train' + ), + ( + 3001, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Ford SB Performance Hydraulic VT', + 'Valve Train' + ), + ( + 3002, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Ford SB Race Roller VT', + 'Valve Train' + ), + ( + 3003, + 90, + 'AI 57 Vette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3004, + 90, + 'AI 69 Runner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3005, + 90, + 'AI 1964 Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3006, + 90, + 'AI 1949 Mercury Mod Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3007, + 90, + 'AI 1966 Shelby Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3008, + 1, + 'AI 70 Mustang', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3009, + 3, + 'AI Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3010, + 1, + 'AI 1953 Ford Crestline', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3011, + 3, + 'AI 1958 Chevy Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3012, + 3, + 'AI Chevy Bel Air', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3013, + 3, + 'AI 1955 Chevy Buick Century', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3014, + 90, + 'AI 1967 Chevy Chevelle SS', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3015, + 1, + 'AI 1970 Ford Boss 429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3016, + 10, + 'AI 1970 Plymouth Mod Cuda', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3017, + 4, + 'AI 1947 Cadillac Series 62', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3018, + 3, + 'AI 1957 Chevy Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3019, + 89, + 'Street 45', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 45', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Buick Nailhead Street 45 Camshaft', + 'Camshaft' + ), + ( + 3020, + 89, + 'Street 47', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 47', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Buick Nailhead Street 47 Camshaft', + 'Camshaft' + ), + ( + 3021, + 89, + 'Street 48', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street 48', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Buick Nailhead Street 48', + 'Camshaft' + ), + ( + 3022, + 89, + 'Super 47', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 47', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Buick Nailhead Super 47 Camshaft', + 'Camshaft' + ), + ( + 3023, + 89, + 'Super 49', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 49', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Fyne Grind Buick Nailhead Super 49 Camshaft', + 'Camshaft' + ), + ( + 3024, + 6, + 'Stock 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 401', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 401 Camshaft', + 'Camshaft' + ), + ( + 3025, + 6, + 'Stock 425', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock 425', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock 425 Camshaft', + 'Camshaft' + ), + ( + 3026, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford SB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3027, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford SB Super Stream Large Headers', + 'Exhaust Manifold' + ), + ( + 3028, + 80, + 'Street Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Street Headers', + 'Exhaust Manifold' + ), + ( + 3029, + 80, + 'Performance Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Performance Headers', + 'Exhaust Manifold' + ), + ( + 3030, + 80, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Lightweight EM', + 'Exhaust Manifold' + ), + ( + 3031, + 80, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dunbar Buick Nailhead Performance EM', + 'Exhaust Manifold' + ), + ( + 3032, + 83, + 'Police Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Police Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford SB Police Special EM', + 'Exhaust Manifold' + ), + ( + 3033, + 76, + '245/50/16ZR SCUT', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Panteli 245/50/16ZR SCUT', + 'Tires' + ), + ( + 3034, + 76, + '225/60/16ZR SCUT', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Panteli 225/60/16ZR SCUT', + 'Tires' + ), + ( + 3035, + 76, + '245/45/17ZR SCUT', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Panteli 245/45/17ZR SCUT', + 'Tires' + ), + ( + 3036, + 94, + 'Street Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Street Dual Plane IM', + 'Intake Manifold' + ), + ( + 3037, + 94, + 'Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Stocker Dual Plane IM', + 'Intake Manifold' + ), + ( + 3038, + 94, + 'Street Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Street Single Plane IM', + 'Intake Manifold' + ), + ( + 3039, + 94, + 'Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3040, + 94, + 'Super Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stocker Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Super Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3041, + 94, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Intimidator Tunnel Ram', + 'Intake Manifold' + ), + ( + 3042, + 94, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Bighorn Tunnel Ram', + 'Intake Manifold' + ), + ( + 3043, + 93, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chrysler SB Centurion Dual Plane IM', + 'Intake Manifold' + ), + ( + 3044, + 93, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chrysler SB Commander Single Plane IM', + 'Intake Manifold' + ), + ( + 3045, + 86, + 'Wedge (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Wedge (.3) Piston', + 'Pistons' + ), + ( + 3046, + 86, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3047, + 86, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Wedge (.75) Piston', + 'Pistons' + ), + ( + 3048, + 87, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3049, + 87, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Wedge (.25) Piston', + 'Pistons' + ), + ( + 3050, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3051, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3052, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3053, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3054, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3055, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler SB Domed (.25) Piston', + 'Pistons' + ), + ( + 3056, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler SB Domed (.75) Piston', + 'Pistons' + ), + ( + 3057, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler SB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3058, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler SB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3059, + 87, + 'Flat Top Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flat Top Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Flat Top Lightweight Piston', + 'Pistons' + ), + ( + 3060, + 95, + 'Replica', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Replica', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Percy Chrysler SB Replica Rods', + 'Connecting Rods' + ), + ( + 3061, + 95, + 'Replica Street Racer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Replica Street Racer', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Percy Chrysler SB Replica Street Racer Rods', + 'Connecting Rods' + ), + ( + 3062, + 95, + 'Factory Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Factory Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Percy Chrysler SB Factory Lightweight Rods', + 'Connecting Rods' + ), + ( + 3063, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Marathon Rods', + 'Connecting Rods' + ), + ( + 3064, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler SB Street Max Rods', + 'Connecting Rods' + ), + ( + 3065, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Lightweight Rods', + 'Connecting Rods' + ), + ( + 3066, + 88, + 'Super 340', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super 340', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Chrysler SB Super 340 Crankshaft', + 'Crankshaft' + ), + ( + 3067, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 3068, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler SB Marathon Crankshaft', + 'Crankshaft' + ), + ( + 3069, + 95, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Percy Chrysler SB Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 3070, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler SB Premier Roller VT', + 'Valve Train' + ), + ( + 3071, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler SB Super Lift Solid VT', + 'Valve Train' + ), + ( + 3072, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chrysler SB Race Roller VT', + 'Valve Train' + ), + ( + 3073, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler SB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3074, + 94, + 'LA Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LA Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB LA Street EM', + 'Exhaust Manifold' + ), + ( + 3075, + 94, + 'Performance LA', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance LA', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Performance LA HP EM', + 'Exhaust Manifold' + ), + ( + 3076, + 94, + 'LA Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'LA Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB LA Small Headers', + 'Exhaust Manifold' + ), + ( + 3077, + 94, + 'Super LA Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super LA Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler SB Super LA Large Headers', + 'Exhaust Manifold' + ), + ( + 3078, + 82, + 'Double Demon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Double Demon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler SB Double Demon HP EM', + 'Exhaust Manifold' + ), + ( + 3079, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler SB Super Stream Large Headers', + 'Exhaust Manifold' + ), + ( + 3080, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3081, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3082, + 93, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Crusader Tunnel Ram', + 'Intake Manifold' + ), + ( + 3083, + 93, + 'Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Assassin Single Plane IM', + 'Intake Manifold' + ), + ( + 3084, + 93, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Street Knight Single Plane IM', + 'Intake Manifold' + ), + ( + 3085, + 93, + 'Super Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Pontiac Super Centurion Dual Plane IM', + 'Intake Manifold' + ), + ( + 3086, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3087, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3088, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Pontiac Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3089, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Pontiac Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3090, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Pontiac Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3091, + 86, + 'Wedge (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.2)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Wedge (.2) Piston', + 'Pistons' + ), + ( + 3092, + 87, + 'Wedge (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.4)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Pontiac Wedge (.4) Piston', + 'Pistons' + ), + ( + 3093, + 86, + 'Wedge (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Wedge (.6) Piston', + 'Pistons' + ), + ( + 3094, + 86, + 'Wedge (.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.8)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Wedge (.8) Piston', + 'Pistons' + ), + ( + 3095, + 87, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Pontiac Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3096, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Pontiac Domed (.25) Piston', + 'Pistons' + ), + ( + 3097, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Pontiac Domed (.5) Piston', + 'Pistons' + ), + ( + 3098, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Pontiac Domed (.75) Piston', + 'Pistons' + ), + ( + 3099, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Pontiac Domed (1.0) Piston', + 'Pistons' + ), + ( + 3100, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Pontiac Domed (1.25) Piston', + 'Pistons' + ), + ( + 3101, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Champion Rods', + 'Connecting Rods' + ), + ( + 3102, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Lightweight Rods', + 'Connecting Rods' + ), + ( + 3103, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Marathon Rods', + 'Connecting Rods' + ), + ( + 3104, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Lightweight Crankshaft', + 'Crankshaft' + ), + ( + 3105, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Pontiac Marathon Crankshaft', + 'Crankshaft' + ), + ( + 3106, + 88, + 'SD Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SD Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hedgely Pontiac SD Special Crankshaft', + 'Crankshaft' + ), + ( + 3107, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Pontiac Premier Roller VT', + 'Valve Train' + ), + ( + 3108, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Pontiac Race Roller VT', + 'Valve Train' + ), + ( + 3109, + 82, + 'Airstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Airstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Pontiac Airstream EM', + 'Exhaust Manifold' + ), + ( + 3110, + 82, + 'Aluminum Airstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Airstream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Pontiac Aluminum Airstream EM', + 'Exhaust Manifold' + ), + ( + 3111, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Pontiac Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3112, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Pontiac Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3113, + 91, + 'Screamer Ultra Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Screamer Ultra Light Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Screamer Ultra Light DP IM', + 'Intake Manifold' + ), + ( + 3114, + 91, + 'Vortex Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vortex Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Vortex SP IM', + 'Intake Manifold' + ), + ( + 3115, + 91, + 'Vortex Ultra Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vortex Ultra Light Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Vortex Ultra Light SP IM', + 'Intake Manifold' + ), + ( + 3116, + 91, + 'Power Tower Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power Tower Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rad Chevy BB Power Tower Tunnel Ram', + 'Intake Manifold' + ), + ( + 3117, + 91, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Ultimate Tunnel Ram', + 'Intake Manifold' + ), + ( + 3118, + 41, + 'Recessed (-.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Recessed (-.15) Piston', + 'Pistons' + ), + ( + 3119, + 41, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3120, + 41, + 'Recessed (-.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Recessed (-.35) Piston', + 'Pistons' + ), + ( + 3121, + 41, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3122, + 41, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3123, + 41, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.35)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Wedge (.35) Piston', + 'Pistons' + ), + ( + 3124, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3125, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Wedge (.75) Piston', + 'Pistons' + ), + ( + 3126, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3127, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Domed (.25) Piston', + 'Pistons' + ), + ( + 3128, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Domed (.75) Piston', + 'Pistons' + ), + ( + 3129, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3130, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy BB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3131, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford Cleveland Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3132, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford Cleveland Street Max Rods', + 'Connecting Rods' + ), + ( + 3133, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford Cleveland Super Max Rods', + 'Connecting Rods' + ), + ( + 3134, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford Cleveland Lightweight Rods', + 'Connecting Rods' + ), + ( + 3135, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford Cleveland Marathon Rods', + 'Connecting Rods' + ), + ( + 3136, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford Cleveland Legend Rods', + 'Connecting Rods' + ), + ( + 3137, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3138, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Street Max Rods', + 'Connecting Rods' + ), + ( + 3139, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Super Max Rods', + 'Connecting Rods' + ), + ( + 3140, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Lightweight Rods', + 'Connecting Rods' + ), + ( + 3141, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Marathon Rods', + 'Connecting Rods' + ), + ( + 3142, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Legend Rods', + 'Connecting Rods' + ), + ( + 3143, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Champion Rods', + 'Connecting Rods' + ), + ( + 3144, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Lightweight Rods', + 'Connecting Rods' + ), + ( + 3145, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Marathon Rods', + 'Connecting Rods' + ), + ( + 3146, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Legend Rods', + 'Connecting Rods' + ), + ( + 3147, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Champion Rods', + 'Connecting Rods' + ), + ( + 3148, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Lightweight Rods', + 'Connecting Rods' + ), + ( + 3149, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Marathon Rods', + 'Connecting Rods' + ), + ( + 3150, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Legend Rods', + 'Connecting Rods' + ), + ( + 3151, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3152, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Street Max Rods', + 'Connecting Rods' + ), + ( + 3153, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Super Max Rods', + 'Connecting Rods' + ), + ( + 3154, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Contender Rods', + 'Connecting Rods' + ), + ( + 3155, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Champion Rods', + 'Connecting Rods' + ), + ( + 3156, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Lightweight Rods', + 'Connecting Rods' + ), + ( + 3157, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Marathon Rods', + 'Connecting Rods' + ), + ( + 3158, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Legend Rods', + 'Connecting Rods' + ), + ( + 3159, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3160, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Street Max Rods', + 'Connecting Rods' + ), + ( + 3161, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Super Max Rods', + 'Connecting Rods' + ), + ( + 3162, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3163, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Street Max Rods', + 'Connecting Rods' + ), + ( + 3164, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Super Max Rods', + 'Connecting Rods' + ), + ( + 3165, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Contender Rods', + 'Connecting Rods' + ), + ( + 3166, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Champion Rods', + 'Connecting Rods' + ), + ( + 3167, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Lightweight Rods', + 'Connecting Rods' + ), + ( + 3168, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Marathon Rods', + 'Connecting Rods' + ), + ( + 3169, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Legend Rods', + 'Connecting Rods' + ), + ( + 3170, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Contender Rods', + 'Connecting Rods' + ), + ( + 3171, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Champion Rods', + 'Connecting Rods' + ), + ( + 3172, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Lightweight Rods', + 'Connecting Rods' + ), + ( + 3173, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Marathon Rods', + 'Connecting Rods' + ), + ( + 3174, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Legend Rods', + 'Connecting Rods' + ), + ( + 3175, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Stump Puller Rods', + 'Connecting Rods' + ), + ( + 3176, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Street Max Rods', + 'Connecting Rods' + ), + ( + 3177, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Super Max Rods', + 'Connecting Rods' + ), + ( + 3178, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Contender Rods', + 'Connecting Rods' + ), + ( + 3179, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Champion Rods', + 'Connecting Rods' + ), + ( + 3180, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Lightweight Rods', + 'Connecting Rods' + ), + ( + 3181, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrylser BB Marathon Rods', + 'Connecting Rods' + ), + ( + 3182, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Legend Rods', + 'Connecting Rods' + ), + ( + 3183, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Contender Rods', + 'Connecting Rods' + ), + ( + 3184, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Champion Rods', + 'Connecting Rods' + ), + ( + 3185, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Lightweight Rods', + 'Connecting Rods' + ), + ( + 3186, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Marathon Rods', + 'Connecting Rods' + ), + ( + 3187, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Legend Rods', + 'Connecting Rods' + ), + ( + 3188, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cleveland Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3189, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cleveland Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3190, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cleveland Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3191, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cleveland Street King HP EM', + 'Exhaust Manifold' + ), + ( + 3192, + 83, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3193, + 83, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Strip King Headers', + 'Exhaust Manifold' + ), + ( + 3194, + 83, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Track King Headers', + 'Exhaust Manifold' + ), + ( + 3195, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford 385 Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3196, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford 385 Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3197, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford 385 Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3198, + 83, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Track King Headers', + 'Exhaust Manifold' + ), + ( + 3199, + 83, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Strip King Headers', + 'Exhaust Manifold' + ), + ( + 3200, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Street King EM', + 'Exhaust Manifold' + ), + ( + 3201, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford 385 Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3202, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Hemi Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3203, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Hemi Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3204, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Hemi Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3205, + 94, + 'Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Street EM', + 'Exhaust Manifold' + ), + ( + 3206, + 94, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Performance EM', + 'Exhaust Manifold' + ), + ( + 3207, + 94, + 'Hemi Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hemi Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Hemi Headers', + 'Exhaust Manifold' + ), + ( + 3208, + 94, + 'Super Hemi Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Hemi Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Super Hemi Headers', + 'Exhaust Manifold' + ), + ( + 3209, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac BB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3210, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac BB Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3211, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac BB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3212, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Cadillac BB Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3213, + 79, + 'Street Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB Street Headers', + 'Exhaust Manifold' + ), + ( + 3214, + 79, + 'Rad Cad Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Cad Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB Rad Cad Headers', + 'Exhaust Manifold' + ), + ( + 3215, + 79, + 'High Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'High Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB HP EM', + 'Exhaust Manifold' + ), + ( + 3216, + 91, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Street Mod EM', + 'Exhaust Manifold' + ), + ( + 3217, + 91, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Rumble Pipe Headers', + 'Exhaust Manifold' + ), + ( + 3218, + 91, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Street Lion Headers', + 'Exhaust Manifold' + ), + ( + 3219, + 91, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Window Rattler Headers', + 'Exhaust Manifold' + ), + ( + 3220, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy W Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3221, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy W Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3222, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy W Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3223, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy W Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3224, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker AMC Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3225, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker AMC Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3226, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker AMC Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3227, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker AMC Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3228, + 96, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Stalker HP EM', + 'Exhaust Manifold' + ), + ( + 3229, + 96, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Hunter Headers', + 'Exhaust Manifold' + ), + ( + 3230, + 96, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Predator Headers', + 'Exhaust Manifold' + ), + ( + 3231, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Olds BB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3232, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Olds BB Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3233, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Olds BB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3234, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Olds BB Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3235, + 96, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Olds BB Stalker HP EM', + 'Exhaust Manifold' + ), + ( + 3236, + 96, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Olds BB Hunter Headers', + 'Exhaust Manifold' + ), + ( + 3237, + 96, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Olds BB Predator Headers', + 'Exhaust Manifold' + ), + ( + 3238, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler BB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3239, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler BB Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3240, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler BB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3241, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler BB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3242, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chrysler BB Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3243, + 96, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stalker HP', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Chrysler BB Stalker HP EM', + 'Exhaust Manifold' + ), + ( + 3244, + 96, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hunter Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Chrysler BB Hunter Headers', + 'Exhaust Manifold' + ), + ( + 3245, + 96, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Predator Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark Chrysler BB Predator Headers', + 'Exhaust Manifold' + ), + ( + 3246, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford BB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3247, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford BB Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3248, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford BB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3249, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford BB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3250, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Ford BB Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3251, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Street King EM', + 'Exhaust Manifold' + ), + ( + 3252, + 83, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Strip King Headers', + 'Exhaust Manifold' + ), + ( + 3253, + 83, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Track King Headers', + 'Exhaust Manifold' + ), + ( + 3254, + 82, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy BB Air Stream EM', + 'Exhaust Manifold' + ), + ( + 3255, + 82, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Air Stream Aluminum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy BB Air Stream Aluminum EM', + 'Exhaust Manifold' + ), + ( + 3256, + 82, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Interceptor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy BB Interceptor EM', + 'Exhaust Manifold' + ), + ( + 3257, + 82, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Jet Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy BB Jet Stream Headers', + 'Exhaust Manifold' + ), + ( + 3258, + 82, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stream Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quaker Chevy BB Super Stream Headers', + 'Exhaust Manifold' + ), + ( + 3259, + 91, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Mod', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Street Mod EM', + 'Exhaust Manifold' + ), + ( + 3260, + 91, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rumble Pipe Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Rumble Pipe Headers', + 'Exhaust Manifold' + ), + ( + 3261, + 91, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lion Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Street Lion Headers', + 'Exhaust Manifold' + ), + ( + 3262, + 91, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Window Rattler Headers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy BB Window Rattler Headers', + 'Exhaust Manifold' + ), + ( + 3263, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lifter Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cleveland Speed Lifter Solid VT', + 'Valve Train' + ), + ( + 3264, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cleveland Super Lift Solid VT', + 'Valve Train' + ), + ( + 3265, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cleveland Premier Roller VT', + 'Valve Train' + ), + ( + 3266, + 83, + 'Strip King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Strip King Roller VT', + 'Valve Train' + ), + ( + 3267, + 83, + 'Track King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Track King Roller VT', + 'Valve Train' + ), + ( + 3268, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Ford 385 Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3269, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Ford 385 Super Lift Solid VT', + 'Valve Train' + ), + ( + 3270, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Ford 385 Premier Roller VT', + 'Valve Train' + ), + ( + 3271, + 83, + 'Strip King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Strip King Roller VT', + 'Valve Train' + ), + ( + 3272, + 83, + 'Track King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Track King Roller VT', + 'Valve Train' + ), + ( + 3273, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Hemi Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3274, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Hemi Super Lift Solid VT', + 'Valve Train' + ), + ( + 3275, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Hemi Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3276, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Hemi Premier Roller VT', + 'Valve Train' + ), + ( + 3277, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Hemi Race Roller VT', + 'Valve Train' + ), + ( + 3278, + 84, + 'Street Plus Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Plus Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cadillac BB Street Plus Hydraulic VT', + 'Valve Train' + ), + ( + 3279, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cadillac BB Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3280, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cadillac BB Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3281, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cadillac BB Super Lift Solid VT', + 'Valve Train' + ), + ( + 3282, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Cadillac BB Premier Roller VT', + 'Valve Train' + ), + ( + 3283, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Cadillac BB Performance Hydraulic VT', + 'Valve Train' + ), + ( + 3284, + 85, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Cadillac BB Performance Solid VT', + 'Valve Train' + ), + ( + 3285, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Cadillac BB Race Roller', + 'Valve Train' + ), + ( + 3286, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy W Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3287, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy W Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3288, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy W Super Lift Solid VT', + 'Valve Train' + ), + ( + 3289, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Millloy Chevy W Premier Roller VT', + 'Valve Train' + ), + ( + 3290, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy W Performance Hydraulic VT', + 'Valve Train' + ), + ( + 3291, + 85, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy W Performance Solid VT', + 'Valve Train' + ), + ( + 3292, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy W Race Roller VT', + 'Valve Train' + ), + ( + 3293, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy AMC Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3294, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy AMC Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3295, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy AMC Super Lift Solid VT', + 'Valve Train' + ), + ( + 3296, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy AMC Premier Roller VT', + 'Valve Train' + ), + ( + 3297, + 85, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift AMC Performance Hydraulic VT', + 'Valve Train' + ), + ( + 3298, + 85, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift AMC Performance Solid VT', + 'Valve Train' + ), + ( + 3299, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift AMC Race Roller VT', + 'Valve Train' + ), + ( + 3300, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Olds BB Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3301, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Olds BB Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3302, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Olds BB Super Lift Solid VT', + 'Valve Train' + ), + ( + 3303, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Olds BB Premier Roller VT', + 'Valve Train' + ), + ( + 3304, + 84, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Hydraulic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler BB Speed Lift Hydraulic VT', + 'Valve Train' + ), + ( + 3305, + 84, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Speed Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler BB Speed Lift Solid VT', + 'Valve Train' + ), + ( + 3306, + 84, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Lift Solid', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler BB Super Lift Solid VT', + 'Valve Train' + ), + ( + 3307, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chrysler BB Premier Roller VT', + 'Valve Train' + ), + ( + 3308, + 84, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Premier Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Milloy Chevy BB Premier Roller VT', + 'Valve Train' + ), + ( + 3309, + 85, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Race Roller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Quik Lift Chevy BB Race Roller VT', + 'Valve Train' + ), + ( + 3310, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Stump Puller Crank', + 'Crankshaft' + ), + ( + 3311, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Street Max Crank', + 'Crankshaft' + ), + ( + 3312, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Super Max Crank', + 'Crankshaft' + ), + ( + 3313, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Contender Crank', + 'Crankshaft' + ), + ( + 3314, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Champion Crank', + 'Crankshaft' + ), + ( + 3315, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Lightweight Crank', + 'Crankshaft' + ), + ( + 3316, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Marathon Crank', + 'Crankshaft' + ), + ( + 3317, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Legend Crank', + 'Crankshaft' + ), + ( + 3318, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Stump Puller Crank', + 'Crankshaft' + ), + ( + 3319, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Street Max Crank', + 'Crankshaft' + ), + ( + 3320, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Super Max Crank', + 'Crankshaft' + ), + ( + 3321, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Contender Crank', + 'Crankshaft' + ), + ( + 3322, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Champion Crank', + 'Crankshaft' + ), + ( + 3323, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Lightweight Crank', + 'Crankshaft' + ), + ( + 3324, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Marathon Crank', + 'Crankshaft' + ), + ( + 3325, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Legend Crank', + 'Crankshaft' + ), + ( + 3326, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Stump Puller Crank', + 'Crankshaft' + ), + ( + 3327, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Street Max Crank', + 'Crankshaft' + ), + ( + 3328, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Super Max Crank', + 'Crankshaft' + ), + ( + 3329, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Contender Crank', + 'Crankshaft' + ), + ( + 3330, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Champion Crank', + 'Crankshaft' + ), + ( + 3331, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Lighweight Crank', + 'Crankshaft' + ), + ( + 3332, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Marathon Crank', + 'Crankshaft' + ), + ( + 3333, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Legend Crank', + 'Crankshaft' + ), + ( + 3334, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Stump Puller Crank', + 'Crankshaft' + ), + ( + 3335, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Street Max Crank', + 'Crankshaft' + ), + ( + 3336, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nerwcomb Cadillac BB Super Max Crank', + 'Crankshaft' + ), + ( + 3337, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Contender Crank', + 'Crankshaft' + ), + ( + 3338, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Champion Crank', + 'Crankshaft' + ), + ( + 3339, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Lightweight Crank', + 'Crankshaft' + ), + ( + 3340, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Marathon Crank', + 'Crankshaft' + ), + ( + 3341, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Legend Crank', + 'Crankshaft' + ), + ( + 3342, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Stump Puller Crank', + 'Crankshaft' + ), + ( + 3343, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Street Max Crank', + 'Crankshaft' + ), + ( + 3344, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Super Max Crank', + 'Crankshaft' + ), + ( + 3345, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Contender Crank', + 'Crankshaft' + ), + ( + 3346, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Champion Crank', + 'Crankshaft' + ), + ( + 3347, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Lightweight Crank', + 'Crankshaft' + ), + ( + 3348, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Marathon Crank', + 'Crankshaft' + ), + ( + 3349, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Legend Crank', + 'Crankshaft' + ), + ( + 3350, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Stump Puller Crank', + 'Crankshaft' + ), + ( + 3351, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Street Max Crank', + 'Crankshaft' + ), + ( + 3352, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Super Max Crank', + 'Crankshaft' + ), + ( + 3353, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Contender Crank', + 'Crankshaft' + ), + ( + 3354, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Champion Crank', + 'Crankshaft' + ), + ( + 3355, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Lightweight Crank', + 'Crankshaft' + ), + ( + 3356, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Marathon Crank', + 'Crankshaft' + ), + ( + 3357, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Legend Crank', + 'Crankshaft' + ), + ( + 3358, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Stump Puller Crank', + 'Crankshaft' + ), + ( + 3359, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Street Max Crank', + 'Crankshaft' + ), + ( + 3360, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Super Max Crank', + 'Crankshaft' + ), + ( + 3361, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Contender Crank', + 'Crankshaft' + ), + ( + 3362, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Champion Crank', + 'Crankshaft' + ), + ( + 3363, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Lightweight Crank', + 'Crankshaft' + ), + ( + 3364, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Marathon Crank', + 'Crankshaft' + ), + ( + 3365, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Legend Crank', + 'Crankshaft' + ), + ( + 3366, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Stump Puller Crank', + 'Crankshaft' + ), + ( + 3367, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Street Max Crank', + 'Crankshaft' + ), + ( + 3368, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Super Max Crank', + 'Crankshaft' + ), + ( + 3369, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Contender Crank', + 'Crankshaft' + ), + ( + 3370, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Champion Crank', + 'Crankshaft' + ), + ( + 3371, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Lightweight Crank', + 'Crankshaft' + ), + ( + 3372, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Marathon Crank', + 'Crankshaft' + ), + ( + 3373, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Legend Crank', + 'Crankshaft' + ), + ( + 3374, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Stump Puller Crank', + 'Crankshaft' + ), + ( + 3375, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Street Max Crank', + 'Crankshaft' + ), + ( + 3376, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Super Max Crank', + 'Crankshaft' + ), + ( + 3377, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Contender Crank', + 'Crankshaft' + ), + ( + 3378, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Champion Crank', + 'Crankshaft' + ), + ( + 3379, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Lightweight Crank', + 'Crankshaft' + ), + ( + 3380, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Marathon Crank', + 'Crankshaft' + ), + ( + 3381, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Legend Crank', + 'Crankshaft' + ), + ( + 3382, + 87, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stump Puller', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy BB Stump Puller Crank', + 'Crankshaft' + ), + ( + 3383, + 87, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy BB Street Max Crank', + 'Crankshaft' + ), + ( + 3384, + 87, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Max', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy BB Super Max Crank', + 'Crankshaft' + ), + ( + 3385, + 86, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Contender', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy BB Contender Crank', + 'Crankshaft' + ), + ( + 3386, + 86, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Champion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy BB Champion Crank', + 'Crankshaft' + ), + ( + 3387, + 86, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightweight', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy BB Lightweight Crank', + 'Crankshaft' + ), + ( + 3388, + 86, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Marathon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy BB Marathon Crank', + 'Crankshaft' + ), + ( + 3389, + 86, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Legend', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy BB Legend Crank', + 'Crankshaft' + ), + ( + 3390, + 83, + 'Strip King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Strip King Dual Plane IM', + 'Intake Manifold' + ), + ( + 3391, + 83, + 'Street King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Street King Dual Plane IM', + 'Intake Manifold' + ), + ( + 3392, + 83, + 'Strip King Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Strip King Single Plane IM', + 'Intake Manifold' + ), + ( + 3393, + 83, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Midget Tunnel Ram', + 'Intake Manifold' + ), + ( + 3394, + 83, + 'Hiboy Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hiboy Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Hiboy Tunnel Ram', + 'Intake Manifold' + ), + ( + 3395, + 83, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford BB Strip King Tunnel Ram', + 'Intake Manifold' + ), + ( + 3396, + 94, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Bighorn Tunnel Ram', + 'Intake Manifold' + ), + ( + 3397, + 94, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Intimidator Tunnel Ram', + 'Intake Manifold' + ), + ( + 3398, + 94, + 'Super Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Super Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3399, + 94, + 'Super Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Super Stocker Dual Plane IM', + 'Intake Manifold' + ), + ( + 3400, + 94, + 'Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Stocker Dual Plane IM', + 'Intake Manifold' + ), + ( + 3401, + 94, + 'Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3402, + 94, + 'Street Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Street Single Plane IM', + 'Intake Manifold' + ), + ( + 3403, + 94, + 'Street Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Chrysler BB Street Dual Plane IM', + 'Intake Manifold' + ), + ( + 3404, + 93, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Road Squire Dual Plane IM', + 'Intake Manifold' + ), + ( + 3405, + 93, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Street Port Dual Plane IM', + 'Intake Manifold' + ), + ( + 3406, + 93, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Usurper Dual Plane IM', + 'Intake Manifold' + ), + ( + 3407, + 93, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Centurion Single Plane IM', + 'Intake Manifold' + ), + ( + 3408, + 93, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Commander Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Commander Single Plane IM', + 'Intake Manifold' + ), + ( + 3409, + 93, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Track Assassin Single Plane IM', + 'Intake Manifold' + ), + ( + 3410, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3411, + 93, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Crusader Tunnel Ram', + 'Intake Manifold' + ), + ( + 3412, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Olds BB Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3413, + 91, + 'Screamer Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Screamer Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Screamer Dual Plane IM', + 'Intake Manifold' + ), + ( + 3414, + 91, + 'Banshee Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Banshee Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Banshee Dual Plane IM', + 'Intake Manifold' + ), + ( + 3415, + 91, + 'Vortex Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vortex Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Vortex Single Plane IM', + 'Intake Manifold' + ), + ( + 3416, + 93, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chevy W Usurper Dual Plane IM', + 'Intake Manifold' + ), + ( + 3417, + 93, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chevy W Centurion Single Plane', + 'Intake Manifold' + ), + ( + 3418, + 93, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chevy W Track Assassin Single Plane IM', + 'Intake Manifold' + ), + ( + 3419, + 91, + 'Banshee Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Banshee Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Banshee Single Plane IM', + 'Intake Manifold' + ), + ( + 3420, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chevy W Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3421, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Chevy W Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3422, + 91, + 'Power Tower Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Power Tower Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Power Tower Tunnel Ram', + 'Intake Manifold' + ), + ( + 3423, + 91, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ultimate Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Rad Rat Chevy W Ultimate Tunnel Ram', + 'Intake Manifold' + ), + ( + 3424, + 93, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port AMC Track Assassin Single Plane IM', + 'Intake Manifold' + ), + ( + 3425, + 93, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port AMC Street Knight Single Plane IM', + 'Intake Manifold' + ), + ( + 3426, + 96, + 'Hunter Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Hunter Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Hunter Single Plane IM', + 'Intake Manifold' + ), + ( + 3427, + 96, + 'Predator Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Predator Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Predator Dual Plane IM', + 'Intake Manifold' + ), + ( + 3428, + 96, + 'Stalker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stalker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Stalker Dual Plane', + 'Intake Manifold' + ), + ( + 3429, + 96, + 'Tiger Shark Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Tiger Shark Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Shark AMC Tiger Shark Tunnel Ram', + 'Intake Manifold' + ), + ( + 3430, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port AMC Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3431, + 93, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port AMC Crusader Tunnel Ram', + 'Intake Manifold' + ), + ( + 3432, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port AMC Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3433, + 93, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Road Squire Dual Plane IM', + 'Intake Manifold' + ), + ( + 3434, + 93, + 'Road Squire LW Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Squire Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Road Aquire Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 3435, + 93, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Street Port Dual Plane IM', + 'Intake Manifold' + ), + ( + 3436, + 93, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Centurion Dual Plane IM', + 'Intake Manifold' + ), + ( + 3437, + 93, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Usurper Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Usurper Dual Plane IM', + 'Intake Manifold' + ), + ( + 3438, + 93, + 'Street Lord Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Street Lord Dual Plane IM', + 'Intake Manifold' + ), + ( + 3439, + 93, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Knight Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Street Knight Single Plane IM', + 'Intake Manifold' + ), + ( + 3440, + 93, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Centurion Single Plane IM', + 'Intake Manifold' + ), + ( + 3441, + 93, + 'Super Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Super Centurion Single Plane IM', + 'Intake Manifold' + ), + ( + 3442, + 93, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track Assassin Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Track Assassin Single Plane IM', + 'Intake Manifold' + ), + ( + 3443, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3444, + 93, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crusader Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Crusader Tunnel Ram', + 'Intake Manifold' + ), + ( + 3445, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3446, + 93, + 'Usurper Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Usurper Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cadillac BB Usurper Tunnel Ram', + 'Intake Manifold' + ), + ( + 3447, + 94, + 'Perf. Street Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Street Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Performance Street DP IM', + 'Intake Manifold' + ), + ( + 3448, + 94, + 'Perf. Alum. Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Street Aluminum Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Performance Street Aluminum Dual Plane IM', + 'Intake Manifold' + ), + ( + 3449, + 94, + 'Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Stocker Dual Plane IM', + 'Intake Manifold' + ), + ( + 3450, + 94, + 'Stocker Light Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Lightweight Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Stocker Lightweight Dual Plane IM', + 'Intake Manifold' + ), + ( + 3451, + 94, + 'Super Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stocker Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Super Stocker Dual Plane IM', + 'Intake Manifold' + ), + ( + 3452, + 94, + 'Perf. Street Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performace Street Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Performace Street Single Plane IM', + 'Intake Manifold' + ), + ( + 3453, + 94, + 'Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3454, + 94, + 'Super Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Stocker Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Super Stocker Single Plane IM', + 'Intake Manifold' + ), + ( + 3455, + 94, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Intimidator Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Intimidator Tunnel Ram', + 'Intake Manifold' + ), + ( + 3456, + 94, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bighorn Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Bighorn Tunnel Ram', + 'Intake Manifold' + ), + ( + 3457, + 93, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Road Squire Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford 385 Road Squire Dual Plane IM', + 'Intake Manifold' + ), + ( + 3458, + 83, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Performance Dual Plane IM', + 'Intake Manifold' + ), + ( + 3459, + 83, + 'Lightning Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Lightning Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Lightning Single Plane IM', + 'Intake Manifold' + ), + ( + 3460, + 83, + 'Track King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Track King Dual Plane IM', + 'Intake Manifold' + ), + ( + 3461, + 83, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Strip King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Strip King Tunnel Ram', + 'Intake Manifold' + ), + ( + 3462, + 83, + 'Track King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Track King Tunnel Ram', + 'Intake Manifold' + ), + ( + 3463, + 93, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford 385 Centurion Single Plane IM', + 'Intake Manifold' + ), + ( + 3464, + 93, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Lord Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford 385 Street Lord Tunnel Ram', + 'Intake Manifold' + ), + ( + 3465, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Ford 385 Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3466, + 93, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street Port Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cleveland Street Port Dual Plane IM', + 'Intake Manifold' + ), + ( + 3467, + 93, + 'Emperor Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cleveland Emperor Dual Plane IM', + 'Intake Manifold' + ), + ( + 3468, + 93, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Centurion Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cleveland Centurion Single Plane IM', + 'Intake Manifold' + ), + ( + 3469, + 93, + 'Emperor Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cleveland Emperor Single Plane IM', + 'Intake Manifold' + ), + ( + 3470, + 93, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Emperor Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perfect Port Cleveland Emperor Tunnel Ram', + 'Intake Manifold' + ), + ( + 3471, + 83, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Performance Dual Plane IM', + 'Intake Manifold' + ), + ( + 3472, + 83, + 'Track King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Dual Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Track King Dual Plane IM', + 'Intake Manifold' + ), + ( + 3473, + 83, + 'Performance Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Performance Single Plane IM', + 'Intake Manifold' + ), + ( + 3474, + 83, + 'Track King Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Track King Single Plane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Track King Single Plane IM', + 'Intake Manifold' + ), + ( + 3475, + 83, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Midget Tunnel Ram', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Midget Tunnel Ram', + 'Intake Manifold' + ), + ( + 3476, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3477, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford BB Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3478, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3479, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3480, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford BB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3481, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Wedge (.15) Piston', + 'Pistons' + ), + ( + 3482, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Wedge (.25) Piston', + 'Pistons' + ), + ( + 3483, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3484, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Wedge 9.75) Piston', + 'Pistons' + ), + ( + 3485, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3486, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Domed (.25) Piston', + 'Pistons' + ), + ( + 3488, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Domed (.75) Piston', + 'Pistons' + ), + ( + 3489, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3490, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford BB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3491, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3492, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chrysler BB Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3493, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3494, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3495, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chrysler BB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3496, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Wedge (.15) Piston', + 'Pistons' + ), + ( + 3497, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3498, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Wedge (.75) Piston', + 'Pistons' + ), + ( + 3499, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3500, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Domed (.25) Piston', + 'Pistons' + ), + ( + 3501, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Domed (.75) Piston', + 'Pistons' + ), + ( + 3502, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3503, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chrysler BB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3504, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3505, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Olds BB Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3506, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3507, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3508, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Olds BB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3509, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Wedge (.15) Piston', + 'Pistons' + ), + ( + 3510, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3511, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Wedge (.75) Piston', + 'Pistons' + ), + ( + 3512, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3513, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Domed (.25) Piston', + 'Pistons' + ), + ( + 3514, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Domed (.75) Piston', + 'Pistons' + ), + ( + 3515, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3516, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Olds BB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3517, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3518, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod AMC Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3519, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3520, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3521, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb AMC Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3522, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Wedge (.15) Piston', + 'Pistons' + ), + ( + 3523, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Wedge (.25) Piston', + 'Pistons' + ), + ( + 3524, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Wedge (.5) Piston', + 'Pistons' + ), + ( + 3525, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Wedge (.75) Piston', + 'Pistons' + ), + ( + 3526, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3527, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Domed (.25) Piston', + 'Pistons' + ), + ( + 3528, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Domed (.5) Piston', + 'Pistons' + ), + ( + 3529, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Domed (.75) Piston', + 'Pistons' + ), + ( + 3530, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Domed (1.0) Piston', + 'Pistons' + ), + ( + 3531, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons AMC Domed (1.25) Piston', + 'Pistons' + ), + ( + 3532, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Chevy W Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3533, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3534, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Chevy W Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3535, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Wedge (.15) Piston', + 'Pistons' + ), + ( + 3536, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Wedge (.25) Piston', + 'Pistons' + ), + ( + 3537, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Wedge (.5) Piston', + 'Pistons' + ), + ( + 3538, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Wedge (.75) Piston', + 'Pistons' + ), + ( + 3539, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3540, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Domed (.25) Piston', + 'Pistons' + ), + ( + 3541, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Domed (.5 Piston', + 'Pistons' + ), + ( + 3542, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Chevy W Domed (1.25) Piston', + 'Pistons' + ), + ( + 3543, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3544, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3545, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cadillac BB Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3546, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3547, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cadillac BB Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3548, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Domed (.25) Piston', + 'Pistons' + ), + ( + 3549, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Domed (.5) Piston', + 'Pistons' + ), + ( + 3550, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Domed (.75) Piston', + 'Pistons' + ), + ( + 3551, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Domed (1.0) Piston', + 'Pistons' + ), + ( + 3552, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Domed (1.25) Piston', + 'Pistons' + ), + ( + 3553, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Wedge (.15) Piston', + 'Pistons' + ), + ( + 3554, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Wedge (.25) Piston', + 'Pistons' + ), + ( + 3555, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Wedge (.5) Piston', + 'Pistons' + ), + ( + 3556, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Wedge (.75) Piston', + 'Pistons' + ), + ( + 3557, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cadillac BB Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3558, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3559, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3560, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Hemi Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3561, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3562, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Hemi Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3563, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Domed (.25) Piston', + 'Pistons' + ), + ( + 3564, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Domed (.5) Piston', + 'Pistons' + ), + ( + 3565, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Domed (.75) Piston', + 'Pistons' + ), + ( + 3566, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Domed (1.0) Piston', + 'Pistons' + ), + ( + 3567, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Domed (1.25) Piston', + 'Pistons' + ), + ( + 3568, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Wedge (.15) Piston', + 'Pistons' + ), + ( + 3569, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Wedge (.25) Piston', + 'Pistons' + ), + ( + 3570, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Wedge (.5) Piston', + 'Pistons' + ), + ( + 3571, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Wedge (.75) Piston', + 'Pistons' + ), + ( + 3572, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Hemi Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3573, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3574, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3575, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Ford 385 Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3576, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3577, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Ford 385 Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3578, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Domed (.25) Piston', + 'Pistons' + ), + ( + 3579, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Domed (.5) Piston', + 'Pistons' + ), + ( + 3580, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Domed (.75) Piston', + 'Pistons' + ), + ( + 3581, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Domed (1.0) Piston', + 'Pistons' + ), + ( + 3582, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Domed (1.25) Piston', + 'Pistons' + ), + ( + 3583, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Wedge (.15) Piston', + 'Pistons' + ), + ( + 3584, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Wedge (.25) Piston', + 'Pistons' + ), + ( + 3585, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Wedge (.5) Piston', + 'Pistons' + ), + ( + 3586, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Wedge (.75) Piston', + 'Pistons' + ), + ( + 3587, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Ford 385 Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3588, + 87, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Recessed (-.25) Piston', + 'Pistons' + ), + ( + 3589, + 87, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Recessed (-.5) Piston', + 'Pistons' + ), + ( + 3590, + 87, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Newcomb Cleveland Recessed (-.75) Piston', + 'Pistons' + ), + ( + 3591, + 86, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.3)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Recessed (-.3) Piston', + 'Pistons' + ), + ( + 3592, + 86, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Recessed (-.6)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Duro Rod Cleveland Recessed (-.6) Piston', + 'Pistons' + ), + ( + 3593, + 41, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Domed (.25) Piston', + 'Pistons' + ), + ( + 3594, + 41, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Domed (.5) Piston', + 'Pistons' + ), + ( + 3595, + 41, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Domed (.75) Piston', + 'Pistons' + ), + ( + 3596, + 41, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Domed (1.0) Piston', + 'Pistons' + ), + ( + 3597, + 41, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Domed (1.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Domed (1.25) Piston', + 'Pistons' + ), + ( + 3598, + 41, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.15)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Wedge (.15) Piston', + 'Pistons' + ), + ( + 3599, + 41, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.25)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Wedge (.25) Piston', + 'Pistons' + ), + ( + 3600, + 41, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.5)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Wedge (.5) Piston', + 'Pistons' + ), + ( + 3601, + 41, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (.75)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Wedge (.75) Piston', + 'Pistons' + ), + ( + 3602, + 41, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Wedge (1.0)', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'JE Pistons Cleveland Wedge (1.0) Piston', + 'Pistons' + ), + ( + 3603, + 3, + '1957 AI Chevrolet Nomad', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3604, + 90, + '1957 AI Ford Ranchero', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3605, + 7, + '1966 AI Pontiac Mod GTO', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3606, + 1, + '1932 AI Ford Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3607, + 1, + '1940 AI Ford Coupe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3608, + 1, + '1957 Ford Fairlane', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3609, + 1, + '1957 AI Ford Thunderbird', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3610, + 1, + '1964 AI Ford Galaxie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3611, + 1, + '1969 AI Ford Torino Cobra', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3612, + 1, + '1970 AI Ford Boss 302', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3613, + 3, + '1964 AI Chevy Impala', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3614, + 3, + '1970 AI Chevy Chevelle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3615, + 3, + '1963 AI Chevy Stingray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Vehicle' + ), + ( + 3616, + 79, + 'Highway Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Highway Plus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB Highway Plus Camshaft', + 'Camshaft' + ), + ( + 3617, + 79, + 'Streeter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Streeter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB Streeter Camshaft', + 'Camshaft' + ), + ( + 3618, + 79, + 'Racing', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Racing', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Leland Cadillac BB Racing Camshaft', + 'Camshaft' + ), + ( + 3619, + 94, + 'Extra Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Extra Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Extra Stock Camshaft', + 'Camshaft' + ), + ( + 3620, + 94, + 'Blueprint Classic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Blueprint Classic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Blueprint Classic Camshaft', + 'Camshaft' + ), + ( + 3621, + 83, + 'New Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'New Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 New Boss Camshaft', + 'Camshaft' + ), + ( + 3622, + 83, + 'New Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'New Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland New Boss Camshaft', + 'Camshaft' + ), + ( + 3623, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Cleveland Street King Camshaft', + 'Camshaft' + ), + ( + 3624, + 83, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Street King', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Oldfield Ford 385 Street King Camshaft', + 'Camshaft' + ), + ( + 3625, + 94, + 'Bighorn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Bighorn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Walter Hemi Bighorn Camshaft', + 'Camshaft' + ), + ( + 3626, + 97, + '225/35/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/35/17ZR HP', + 'Tires' + ), + ( + 3627, + 97, + '205/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 205/40/17ZR HP', + 'Tires' + ), + ( + 3628, + 97, + '215/40/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/40/16ZR HP', + 'Tires' + ), + ( + 3629, + 97, + '215/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/40/17ZR HP', + 'Tires' + ), + ( + 3630, + 97, + '225/40/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/40/16ZR HP', + 'Tires' + ), + ( + 3631, + 97, + '235/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 235/40/17ZR HP', + 'Tires' + ), + ( + 3632, + 97, + '245/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 245/40/17ZR HP', + 'Tires' + ), + ( + 3633, + 97, + '255/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 255/40/17ZR HP', + 'Tires' + ), + ( + 3634, + 97, + '265/40/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 265/40/17ZR HP', + 'Tires' + ), + ( + 3635, + 97, + '205/45/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 205/45/16ZR HP', + 'Tires' + ), + ( + 3636, + 97, + '215/45/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/45/16ZR HP', + 'Tires' + ), + ( + 3637, + 97, + '215/45/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/45/17ZR HP', + 'Tires' + ), + ( + 3638, + 97, + '225/45/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/45/16ZR HP', + 'Tires' + ), + ( + 3639, + 97, + '225/45/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/45/17ZR HP', + 'Tires' + ), + ( + 3640, + 97, + '235/45/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 235/45/17ZR HP', + 'Tires' + ), + ( + 3641, + 97, + '245/45/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 245/45/16ZR HP', + 'Tires' + ), + ( + 3642, + 97, + '205/50/15ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 205/50/15ZR HP', + 'Tires' + ), + ( + 3643, + 97, + '205/50/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 205/50/16ZR HP', + 'Tires' + ), + ( + 3644, + 97, + '205/50/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 205/50/17ZR HP', + 'Tires' + ), + ( + 3645, + 97, + '215/50/15ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/50/15ZR HP', + 'Tires' + ), + ( + 3646, + 97, + '215/50/17ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 215/50/17ZR HP', + 'Tires' + ), + ( + 3647, + 97, + '225/50/16ZR', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pirelli 225/50/16ZR HP', + 'Tires' + ), + ( + 3648, + 73, + 'Aluminum Alloy Slotted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Slotted', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Slotted Rim (RA00)', + 'Wheel Rims' + ), + ( + 3649, + 65, + 'Aluminum Alloy Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Round', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Round (RA01)', + 'Wheel Rims' + ), + ( + 3650, + 3, + '57 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '57 Corvette', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevrolet Chevy SB 57 Corvette (220hp) Camshaft', + 'Camshaft' + ), + ( + 3651, + 37, + '1.75" Cast Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75" CI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" CI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3652, + 37, + '1.75" Cast Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75" CI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" CI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3653, + 37, + '1.875" Cast Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 CI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" CI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3654, + 37, + '1.875" Cast Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 CI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" CI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3655, + 37, + '2" Cast Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" CI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" CI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3656, + 37, + '2" Cast Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" CI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" CI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3657, + 37, + '2.25" Cast Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.25 CI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2.25" CI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3658, + 37, + '1.75" Treated Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75 TI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" TI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3659, + 37, + '1.75" Treated Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75" TI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" TI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3660, + 37, + '1.875" Treated Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 TI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" TI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3661, + 37, + '1.875" Treated Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 TI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" TI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3662, + 37, + '2" Treated Iron Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" TI Single', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" TI Single Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3663, + 37, + '2" Treated Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" TI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" TI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3664, + 37, + '2.25" Treated Iron Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.25 TI Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2.25" TI Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3665, + 37, + '1.625" Forged Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 FS Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" FS Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3666, + 37, + '1.75" Forged Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75 FS Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" FS Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3667, + 37, + '1.875" Forged Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 FS Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" FS Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3668, + 37, + '2" Forged Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" FS Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" FS Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3669, + 37, + '2.25" Forged Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.25 FS Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2.25" FS Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3670, + 37, + '1.625" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Alloy Steel Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3671, + 37, + '1.75" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" Alloy Steel Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3672, + 37, + '2" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" Alloy Steel Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3673, + 37, + '2.25" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.25" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2.25" Alloy Steel Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3674, + 37, + '1.625" Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.625 Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.625" Alum. Alloy Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3675, + 37, + '1.75" Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.75 Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.75" Alum. Alloy Dual Exhaust', + 'Exhaust Pipe' + ), + ( + 3676, + 37, + '1.875" Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875 Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" Alum. Alloy Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3677, + 37, + '2" Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2" alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2" Alum. Alloy Dual Exhaust pipe', + 'Exhaust Pipe' + ), + ( + 3678, + 37, + '2.25" Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '2.25 Alum. Alloy Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 2.25" Alum Alloy Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3679, + 37, + '1.875" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '1.875" Alloy Steel Dual', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Manley 1.875" Alloy Steel Dual Exhaust Pipe', + 'Exhaust Pipe' + ), + ( + 3680, + 15, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Standard Single Point Ignition', + 'Electrical System' + ), + ( + 3681, + 15, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Performance Single Point Ignition', + 'Electrical System' + ), + ( + 3682, + 15, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Standard Dual Point Ignition', + 'Electrical System' + ), + ( + 3683, + 15, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Performance Dual Point Ignition', + 'Electrical System' + ), + ( + 3684, + 15, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Standard Electronic Ignition', + 'Electrical System' + ), + ( + 3685, + 15, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM Performance Electronic Ignition', + 'Electrical System' + ), + ( + 3686, + 8, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Standard Single Point Ignition', + 'Electrical System' + ), + ( + 3687, + 8, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Performance Single Point Ignition', + 'Electrical System' + ), + ( + 3688, + 8, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Standard Dual Point Ignition', + 'Electrical System' + ), + ( + 3689, + 8, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Performance Dual Point Ignition', + 'Electrical System' + ), + ( + 3690, + 8, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Standard Electronic Ignition', + 'Electrical System' + ), + ( + 3691, + 8, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler Performance Electronic Ignition', + 'Electrical System' + ), + ( + 3692, + 1, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Standard Single Point Ignition', + 'Electrical System' + ), + ( + 3693, + 1, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Performance Single Point Ignition', + 'Electrical System' + ), + ( + 3694, + 1, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Standard Dual Point Ignition', + 'Electrical System' + ), + ( + 3695, + 1, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Performance Dual Point Ignition', + 'Electrical System' + ), + ( + 3696, + 1, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Standard Electronic Ignition', + 'Electrical System' + ), + ( + 3697, + 1, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Electronic', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Performance Electronic Ignition', + 'Electrical System' + ), + ( + 3698, + 11, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Standard Single Point Ignition', + 'Electrical System' + ), + ( + 3699, + 11, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Single Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Performance Single Point Ignition', + 'Electrical System' + ), + ( + 3700, + 11, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Std. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Standard Dual Point Ignition', + 'Electrical System' + ), + ( + 3701, + 11, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Perf. Dual Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Performance Dual Point Ignition', + 'Electrical System' + ), + ( + 3702, + 45, + 'Aluminum Twistar 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Twistar 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Alloy Twistar 5', + 'Wheel Rims' + ), + ( + 3703, + 73, + 'Aluminum Rippled Orb', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Rippled Orb', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Rippled Orb', + 'Wheel Rims' + ), + ( + 3704, + 65, + 'Aluminum Hypnotic Star 6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Hypnotic Star 6', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Hypnotic Star 6', + 'Wheel Rims' + ), + ( + 3705, + 3, + 'Small Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy SB Standard Cooling System', + 'Cooling System' + ), + ( + 3706, + 3, + 'Small Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy SB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3707, + 45, + 'Aluminum Super Slot 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Super Slot 15', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Super Slot 15', + 'Wheel Rims' + ), + ( + 3708, + 73, + 'Aluminum Teardrop Slot 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Teardrop Slot 8', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Teardrop Slot 8', + 'Wheel Rims' + ), + ( + 3709, + 65, + 'Aluminum Twistar 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Twistar 7', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Twistar 7', + 'Wheel Rims' + ), + ( + 3710, + 45, + 'Aluminum Power Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Power Turbine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Aluminum Power Turbine', + 'Wheel Rims' + ), + ( + 3711, + 3, + 'W Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy W Block Standard Cooling System', + 'Cooling System' + ), + ( + 3712, + 3, + 'W Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'W Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy W Block Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3713, + 3, + 'Big Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy BB Standard Cooling System', + 'Cooling System' + ), + ( + 3714, + 3, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy BB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3715, + 8, + 'Small Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Standard Cooling System', + 'Cooling System' + ), + ( + 3716, + 8, + 'Small Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3717, + 8, + 'Small Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Performance Cooling System', + 'Cooling System' + ), + ( + 3718, + 8, + 'Big Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Standard Cooling System', + 'Cooling System' + ), + ( + 3719, + 8, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3720, + 8, + 'Big Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Performance Cooling System', + 'Cooling System' + ), + ( + 3721, + 11, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Standard Cooling System', + 'Cooling System' + ), + ( + 3722, + 11, + 'Heavy Duty', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Heavy Duty', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'AMC Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3723, + 4, + 'Big Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Standard Cooling System', + 'Cooling System' + ), + ( + 3724, + 4, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3725, + 7, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Standard Cooling System', + 'Cooling System' + ), + ( + 3726, + 7, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Performance Cooling System', + 'Cooling System' + ), + ( + 3727, + 5, + 'Big Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Standard Cooling System', + 'Cooling System' + ), + ( + 3728, + 5, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3729, + 6, + 'Nailhead Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Standard Cooling System', + 'Cooling System' + ), + ( + 3730, + 6, + 'Nailhead HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3731, + 4, + 'L-Head Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L-Head Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Standard Cooling System', + 'Cooling System' + ), + ( + 3732, + 1, + 'Flathead Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flathead Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Standard Cooling System', + 'Cooling System' + ), + ( + 3733, + 1, + 'Y Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Y Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Standard Cooling System', + 'Cooling System' + ), + ( + 3734, + 1, + 'Y Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Y Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3735, + 1, + 'Small Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Standard Cooling System', + 'Cooling System' + ), + ( + 3736, + 1, + 'Small Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3737, + 1, + 'Small Block Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss Cooling System', + 'Cooling System' + ), + ( + 3738, + 1, + 'Big Block Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Standard', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Standard Cooling System', + 'Cooling System' + ), + ( + 3739, + 1, + 'Big Block HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB HD', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Heavy Duty Cooling System', + 'Cooling System' + ), + ( + 3740, + 3, + 'Small Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy SB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3741, + 3, + 'Small Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy SB Peformance Lubrication System', + 'Lubrication System' + ), + ( + 3742, + 4, + 'Big Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac BB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3743, + 3, + 'Big Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chevy BB Performance Lubrication System', + 'Lubrication System' + ), + ( + 3744, + 8, + 'Small Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler SB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3745, + 8, + 'Big Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3746, + 8, + 'Big Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Chrysler BB Performance Lubrication System', + 'Lubrication System' + ), + ( + 3747, + 7, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Stock Lubrication System', + 'Lubrication System' + ), + ( + 3748, + 7, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Pontiac Performance Lubrication System', + 'Lubrication System' + ), + ( + 3749, + 5, + 'Big Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3750, + 5, + 'Big Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Olds BB Performance Lubrication System', + 'Lubrication System' + ), + ( + 3751, + 6, + 'Nailhead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Nailhead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Nailhead Stock Lubrication System', + 'Lubrication System' + ), + ( + 3752, + 4, + 'L-Head Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'L-Head Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cadillac L-Head Stock Lubrication System', + 'Lubrication System' + ), + ( + 3753, + 1, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Flathead Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead Stock Lubrication System', + 'Lubrication System' + ), + ( + 3754, + 1, + 'Y Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Y Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Y Block Stock Lubrication System', + 'Lubrication System' + ), + ( + 3755, + 1, + 'Small Block Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'SB Boss', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Boss Lubrication System', + 'Lubrication System' + ), + ( + 3756, + 1, + 'Windsor Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Windsor Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford SB Windsor Stock Lubrication System', + 'Lubrication System' + ), + ( + 3757, + 1, + 'Cleveland Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Cleveland Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Cleveland Stock Lubrication System', + 'Lubrication System' + ), + ( + 3758, + 1, + '385 Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Stock Lubrication System', + 'Lubrication System' + ), + ( + 3759, + 1, + '385 Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '385 Performance', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford 385 Performance Lubrication System', + 'Lubrication System' + ), + ( + 3760, + 1, + 'Big Block Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Stock', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Stock Lubrication System', + 'Lubrication System' + ), + ( + 3761, + 1, + 'Big Block Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'BB Perf.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford BB Performance Lubrication System', + 'Lubrication System' + ), + ( + 3762, + 15, + 'Super Muncie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Muncie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Super Muncie 4 Speed Manual', + 'Transmission' + ), + ( + 3763, + 15, + 'M21 4 Speed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'M21', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM M21 Close Ratio 4 Spd Manual', + 'Transmission' + ), + ( + 3764, + 15, + 'M13 3 Speed', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'M13', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'GM M13 HD 3 Speed Manual', + 'Transmission' + ), + ( + 3765, + 100, + '265/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 265/60/15 Radial', + 'Tires' + ), + ( + 3766, + 100, + '255/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 255/60/15 Radial', + 'Tires' + ), + ( + 3767, + 100, + '245/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 245/60/15 Radial', + 'Tires' + ), + ( + 3768, + 100, + '295/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 295/60/15 Radial', + 'Tires' + ), + ( + 3769, + 100, + '275/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 275/60/15 Radial', + 'Tires' + ), + ( + 3770, + 100, + '235/60/15 Radial', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Goodyear 235/60/15 Radial', + 'Tires' + ), + ( + 3771, + 21, + 'PowerMax FH', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'PowerMax', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Crane PowerMax Solid Lifter Ford FH Valvetrain', + 'Valve Train' + ), + ( + 3772, + 6, + 'Dynaflow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Dynaflow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Buick Dynaflow Automatic Transmission (TH-180C Copy)', + 'Transmission' + ), + ( + 3773, + 1, + '88', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + '88', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 'Ford Flathead 88 (HP) Camshaft', + 'Camshaft' + ); \ No newline at end of file diff --git a/migrations/0018-seedAbstractPartType.sql b/migrations/0018-seedAbstractPartType.sql new file mode 100644 index 000000000..d41b6b34e --- /dev/null +++ b/migrations/0018-seedAbstractPartType.sql @@ -0,0 +1,1952 @@ +INSERT INTO + abstract_part_type ( + abstract_part_type_id, + parent_abstract_part_type_id, + depends_on, + part_filename, + eapt, + gapt, + faft, + saft, + iaft, + jaft, + sw_aft, + baft, + modified_rule, + eut, + gut, + fut, + sut, + iut, + jut, + swut, + but, + part_paired, + schematic_picname1, + schematic_picname2, + block_family_compatibility, + repair_cost_modifier, + scrap_value_modifier, + garage_category + ) +VALUES + ( + 101, + NULL, + NULL, + NULL, + 'Vehicle', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1001, + 101, + 101, + 'sys_chas', + 'Suspension', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'sspa', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 2 + ), + ( + 2001, + 101, + 101, + 'sys_body', + 'Chassis', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'bod%d', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 3 + ), + ( + 4001, + 101, + 101, + 'sys_driv', + 'Drive Line', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'trna', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 5001, + 101, + 101, + 'drmbrake', + 'Brake Set', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'brka', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 6001, + 101, + 101, + NULL, + 'Visible Parts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 10001, + 5001, + 5001, + 'drmbrake', + 'Brakes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'In general, larger diameter, thicker brakes will provide better stopping power for a greater number of hard braking maneuvers. Disc and drum brakes have different fade characteristics.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'bk%02d', + 'SUS2', + 0, + 1.0000000, + 1.0000000, + 2 + ), + ( + 11001, + 1001, + 1001, + 'shock', + 'Shocks', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Shocks help damp out oscillations and absorb vibrations caused by road surface imperfections.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'sk%02d', + 'SUSP', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 12001, + 1001, + 1001, + 'springs', + 'Springs', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Altering the front/rear spring balance can change the steering behavior of the vehicle.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'sp%02d', + 'SUSP', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 13001, + 1001, + 1001, + 'swaybar', + 'Sway Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Increases lateral stiffness of the suspension, reducing sway in hard corners.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'sw%02d', + 'SUSP', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 14001, + 1001, + 1001, + 'traction', + 'Traction Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Increases suspension stiffness during acceleration, which helps the vehicle maintain traction.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'trbp', + 'SUSP', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 15001, + 101, + 101, + 'sys_whee', + 'Wheels', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'The wheel assembly is the primary influence on the vehicle''s traction capability.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'whla', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 2 + ), + ( + 16001, + 6001, + 6001, + 'fuzzdice', + 'Fuzzy Dice', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'It''s just for looks.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 17001, + 6001, + 6001, + NULL, + 'Roll Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 18001, + 6001, + 6001, + 'windtint', + 'Window Tinting', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'It''s just for looks.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 20001, + 2001, + 2001, + 'sys_body', + 'Body', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Spoilers improve the body''s downforce.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'bod%d', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 3 + ), + ( + 21001, + 6001, + 6001, + 'wskirts', + 'Wheels Skirts', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'It''s just for looks.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 22001, + 6001, + 6001, + 'horn', + 'Horn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Sound your horn! Pick from a wide variety of distinct horn sounds.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 23001, + 6001, + 6001, + 'runboard', + 'Running Boards', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Pure looks.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 26001, + 6001, + 6001, + 'foglight', + 'Fog Lights', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Extra lights.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 28001, + NULL, + NULL, + NULL, + 'Spot Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 29001, + 2001, + 2001, + 'spoil_ch', + 'Chin Spoiler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'chsp', + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 30001, + 2001, + 2001, + 'spoil_rr', + 'Rear Spoiler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'rspp', + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 31001, + 6001, + 6001, + 'topstyle', + 'Top Style', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'There is a slight disadvantage to a chopped top due to the disturbed airflow, which increases drag.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 32001, + 6001, + 6001, + 'wheelieb', + 'Wheelie Bar', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Pure looks.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 33001, + NULL, + NULL, + NULL, + 'Driver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'The heavier the driver, the more total weight, but more weight can help cornering.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 34001, + 6001, + 6001, + 'fender', + 'Fenders', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Remove them to slightly reduce the drag.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 35001, + 6001, + 6001, + 'bumper', + 'Bumpers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Can be removed from some cars to lose weight.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 36001, + 101, + 101, + 'engine1', + 'Engine', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Select an engine that meets your needs; too much horsepower can be just as bad as too little. Experiment!', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'enga', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 1 + ), + ( + 37001, + 101, + 101, + 'sys_exha', + 'Exhaust', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'exha', + 'VEH%d', + 0, + 1.0000000, + 1.0000000, + 1 + ), + ( + 39001, + NULL, + NULL, + NULL, + 'Cop Lights', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 40001, + 6001, + 6001, + 'hood', + 'Hood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 100001, + 15001, + 15001, + 'wheel', + 'Wheel Rims', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Holds the tires and affects wheel inertia; light wheels will help the tire spin up faster, but may make the tire tend to slip.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'wrmp', + 'WHLA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 110001, + 15001, + 15001, + 'tire', + 'Tires', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'There''s a good reason for the old expression "where the rubber meets the road". Select a tire that meets your needs. High performance tires are precise, but can be unforgiving for the neophyte driver.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'tirp', + 'WHLA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 120001, + 6001, + 6001, + 'hubcap', + 'Hub Caps', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 130001, + 4001, + 4001, + 'transmis', + 'Transmission', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'High gear ratios are good for quick acceleration; low ratios provide higher top speed.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'trnp', + 'TRNA', + 0, + 1.0000000, + 1.0000000, + 1 + ), + ( + 140001, + 4001, + 4001, + 'rearend', + 'Rear End', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'High ratios usually (but not always) provide better acceleration; low ratios provide potentially higher top end speeds.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'rerp', + 'TRNA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 150001, + 4001, + 4001, + 'trancool', + 'Transmission Cooler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Protect your hard-working automatic transmission with a transmission cooler to prevent over-heating. If the automatic transmission fluid gets too hot, the transmission can be severely damaged.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'trcp', + 'TRNA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 160001, + 36001, + 36001, + 'eblock', + 'Engine Block', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'When upgrading your engine, keep in mind that more power isn''t always appropriate if you can''t handle it. Bigger isn''t always better.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'blkp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 180001, + 36001, + 36001, + 'crnkshft', + 'Crankshaft', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Affects engine inertia and governs wear on the rotating assembly. A lighter crankshaft will give you faster throttle response and less engine braking. A heavier crankshaft is generally more durable.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'crkp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 190001, + 36001, + 36001, + 'rods', + 'Connecting Rods', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Affects engine inertia and governs wear on the rotating assembly; lightweight, heavy duty connecting rods can increase engine speed and power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'conp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 200001, + 36001, + 36001, + 'pistons', + 'Pistons', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Affects engine inertia and governs wear on the rotating assembly; domed pistons can increase the compression ratio, which increases power. Lightweight pistons can increase the engine''s throttle response.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'pisp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 210001, + NULL, + NULL, + 'sys_cylh', + 'Cylinder Head A', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 230001, + 36001, + 36001, + 'coolpump', + 'Cooling System', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'If your engine is working hard, don''t forget to make sure the cooling system can handle the heat; be careful, however, because high-end systems can bleed off significant engine power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'colp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 240001, + 36001, + 36001, + 'distrib', + 'Electrical System', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'High RPM, high power engines need special electrical systems to provide powerful well-timed ignition.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'elcp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 250001, + 36001, + 36001, + 'oilcool', + 'Lubrication System', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Keep your engine running smooth and help prevent damage with a high performance lubrication system; high-performance lubrication systems can bleed off significant engine power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'lubp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 280001, + 36001, + 36001, + 'exhmani', + 'Exhaust Manifold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'There are many different types of exhaust manifolds; high performance exhausts or headers let the engine breathe and are one of the fastest ways to get a little extra performance.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'exmp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 290001, + 37001, + 37001, + 'pipes', + 'Exhaust Pipe', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'A higher performance exhaust pipe can improve your engine power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'exhp', + 'EXHA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 300001, + 37001, + 37001, + 'turbmuff', + 'Muffler', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'A higher performance muffler can improve your engine power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'mufp', + 'EXHA', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 310001, + 6001, + 6001, + 'tailptip', + 'Tail Pipe Tip', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 320001, + 36001, + 36001, + 'intmani', + 'Intake Manifold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'There are a wide variety of intake manifolds; a good high performance intake manifold can be expensive, but worth it. The type of manifold you select can dramatically change the RPM power band of your engine.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'intp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 330001, + 36001, + 36001, + 'carb', + 'Carburetor', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Bigger isn''t always better; choose a carburetor that flows the right amount of air (cfm) for the displacement and peak RPM of your engine.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'crbp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 340001, + 36001, + 36001, + 'airclean', + 'Air Cleaner', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Protect your engine from the elements with a nice air filter. You don''t want dirt in there, do you?', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'aclp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 340333, + 36001, + 36001, + 'scoop', + 'Air Scoop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Provides improved air flow into the engine and can improve performance.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'ascp', + 'BOD%d', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 340666, + 36001, + 36001, + 'airclean', + 'Air Intake Point', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Install either an air cleaner or air scoop here.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'aclp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 350001, + 36001, + 36001, + 'blower', + 'Blower', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Provides a pressure boost to the cylinders, leading to substantial power increases; can radically increase engine wear if engine compression ratio is too high.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'blwp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 350666, + 36001, + 36001, + NULL, + 'Supercharger', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Install either a blower or a nitrous injector here.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 360001, + 36001, + 36001, + 'nitrous', + 'Nitrous Injector', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Increases engine power by adding oxygen but causes excessive heat and additional engine damage.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'nitp', + 'ENGN', + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1000001, + 36001, + 36001, + 'cylhead', + 'Cylinder Head', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Cylinder heads are the single most important factor in determining engine performance. Higher compression and larger valves generally equal more power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'hedp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1100001, + 36001, + 36001, + 'camshaft', + 'Camshaft', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'The type of camshaft has a primary influence on engine performance. Street and Dual Purpose cams can add significant power.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'camp', + 'ENGN', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1200001, + 36001, + 36001, + 'valvetrn', + 'Valve Train', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Controls valve action and affects maximum engine RPMs. High performance lifters can dramatically increase performance, but tend to increase engine wear.', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'vlvp', + 'CYLY', + 1, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1300001, + NULL, + NULL, + 'valves', + 'Intake Valves', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1400001, + NULL, + NULL, + 'valves', + 'Exhaust Valves', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ), + ( + 1500001, + NULL, + NULL, + 'valvecov', + 'Valve Covers', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + 0, + 1.0000000, + 1.0000000, + 0 + ); \ No newline at end of file diff --git a/migrations/0019-seedAbstractPartGrade.sql b/migrations/0019-seedAbstractPartGrade.sql new file mode 100644 index 000000000..391c75b44 --- /dev/null +++ b/migrations/0019-seedAbstractPartGrade.sql @@ -0,0 +1,8 @@ +INSERT INTO + part_grade (part_grade_id, e_text, g_text, f_text, part_grade) +VALUES + (0, 'no grade', NULL, NULL, NULL), + (1, 'Stock', NULL, NULL, NULL), + (2, 'Performance', NULL, NULL, NULL), + (3, 'High Performance', NULL, NULL, NULL), + (4, 'Racing', NULL, NULL, NULL); \ No newline at end of file diff --git a/migrations/0020-seedAbstractPartType.sql b/migrations/0020-seedAbstractPartType.sql new file mode 100644 index 000000000..9535938ae --- /dev/null +++ b/migrations/0020-seedAbstractPartType.sql @@ -0,0 +1,16273 @@ +INSERT INTO + part_type ( + part_type_id, + abstract_part_type_id, + part_type, + part_filename, + part_grade_id + ) +VALUES + (101, 101, '1932 Ford V-8 Coupe', NULL, 1), + (102, 101, '1940 Ford Deluxe Coupe', NULL, 1), + (103, 101, '1953 Ford Crestline', NULL, 1), + (104, 101, '1957 Ford Fairlane 500', NULL, 1), + (105, 101, '1957 Ford Ranchero', NULL, 1), + (106, 101, '1957 Ford Thunderbird', NULL, 1), + (107, 101, '1963 Ford Thunderbird', NULL, 1), + (108, 101, '1965 Ford Mustang', NULL, 1), + (109, 101, '1964 Ford Galaxie 500', NULL, 1), + (110, 101, '1969 Ford Torino GT', NULL, 1), + (111, 101, '1970 Ford Boss 302 Mustang', NULL, 1), + (112, 101, '1949 Mercury Coupe', NULL, 1), + (113, 101, '1957 Chevrolet Bel-Air', NULL, 1), + (114, 101, '1957 Chevrolet Corvette', NULL, 1), + (115, 101, '1957 Chevrolet Nomad Wagon', NULL, 1), + (116, 101, '1964 Chevrolet Impala', NULL, 1), + ( + 117, + 101, + '1963 Chevrolet Corvette Stingray', + NULL, + 1 + ), + (118, 101, '1958 Chevrolet Impala', NULL, 1), + (119, 101, '1967 Chevrolet Chevelle', NULL, 1), + (120, 101, '1967 Chevrolet Camaro', NULL, 1), + (121, 101, '1970 Chevrolet Chevelle', NULL, 1), + (122, 101, '1970 Chevrolet El Camino', NULL, 1), + (123, 101, '1970 Chevrolet Nova', NULL, 1), + ( + 124, + 101, + '1947 Cadillac Series 62 Sedanette', + NULL, + 1 + ), + ( + 125, + 101, + '1959 Cadillac Eldorado Biarritz', + NULL, + 1 + ), + (126, 101, '1969 Oldsmobile 4-4-2', NULL, 1), + (127, 101, '1955 Buick Century', NULL, 1), + (128, 101, '1966 Pontiac GTO', NULL, 1), + (129, 101, '1969 Pontiac GTO', NULL, 1), + (130, 101, '1973 Pontiac Firebird T/A', NULL, 1), + (131, 101, '1969 AMX', NULL, 1), + (132, 101, '1969 Dodge Charger', NULL, 1), + (133, 101, '1969 Plymouth Road Runner', NULL, 1), + (134, 101, '1970 Cuda', NULL, 1), + (135, 101, '1971 Plymouth Duster', NULL, 1), + (138, 101, 'Traffic 2 door', NULL, 1), + (140, 101, '1967 Chevrolet Camaro SS', NULL, 1), + (142, 101, '1970 Ford Boss 429 Mustang', NULL, 1), + (146, 101, 'TRFMONTE', NULL, 1), + (147, 101, 'TRFDELVR', NULL, 1), + (148, 101, 'TRFBUS', NULL, 1), + (149, 101, 'TRFGSX', NULL, 1), + (150, 101, 'TRFSTANG', NULL, 1), + (151, 101, 'TRFTBIRD', NULL, 1), + (152, 101, 'TRFPUP1', NULL, 1), + (153, 101, 'TRF2DR', NULL, 1), + (154, 101, '1969 AMC Big Bad AMX', NULL, 1), + (157, 101, '1969 Plymouth GTX Coupe', NULL, 1), + (207, 101, 'Shelby 427 Cobra', NULL, 1), + (210, 101, '1970 Ford Mustang', NULL, 1), + (211, 101, '1969 Ford Torino GT Cobra', NULL, 1), + (212, 101, '1970 Ford Mustang Mach 1', NULL, 1), + (213, 101, '1970 Plymouth Hemi Cuda', NULL, 1), + (214, 101, '1970 Plymouth 440 Cuda', NULL, 1), + (215, 101, '1970 Plymouth AAR Cuda', NULL, 1), + (216, 101, '1971 Plymouth 340 Duster', NULL, 1), + (217, 101, '1964 Chevrolet Impala SS', NULL, 1), + (218, 101, '1967 Chevrolet Chevelle SS', NULL, 1), + (219, 101, '1967 Chevrolet Camaro RS', NULL, 1), + (220, 101, '1967 Chevrolet Camaro Z-28', NULL, 1), + (221, 101, '1970 Chevrolet Chevelle SS', NULL, 1), + (222, 101, '1970 Chevrolet El Camino SS', NULL, 1), + (223, 101, '1970 Chevrolet Nova SS', NULL, 1), + (224, 101, '1969 Oldsmobile 442 W-30', NULL, 1), + (225, 101, '1969 Oldsmobile Hurst 442', NULL, 1), + (226, 101, '1969 Pontiac GTO Judge', NULL, 1), + ( + 227, + 101, + '1973 Pontiac Firebird Formula', + NULL, + 1 + ), + (228, 101, '1973 Pontiac Firebird', NULL, 1), + ( + 1001, + 1001, + 'Generic Chassis Suspension', + 'SUSP', + 1 + ), + (2001, 2001, 'Generic Chassis Body', NULL, 1), + (4001, 4001, 'Generic Driveline Assembly', NULL, 1), + (5001, 5001, 'Generic Brake Set', NULL, 1), + ( + 6001, + 6001, + 'Generic Visible Parts Assembly', + NULL, + 1 + ), + ( + 10001, + 10001, + '10 x 2 Organic Disc Brake', + NULL, + 1 + ), + ( + 10002, + 10001, + '11 x 2 Organic Disc Brake', + NULL, + 2 + ), + ( + 10003, + 10001, + '12 x 2 Organic Disc Brake', + NULL, + 2 + ), + (10004, 10001, '9 x 2 Organic Disc Brake', NULL, 1), + ( + 10005, + 10001, + '9 x 2 Organic HT Disc Brake', + NULL, + 1 + ), + ( + 10006, + 10001, + '10 x 2 Organic HT Disc Brake', + NULL, + 1 + ), + ( + 10007, + 10001, + '11 x 2 Organic HT Disc Brake', + NULL, + 2 + ), + ( + 10008, + 10001, + '12 x 2 Organic HT Disc Brake', + NULL, + 2 + ), + (10009, 10001, '9 x 2 Organic Drum Brake', NULL, 1), + ( + 10010, + 10001, + '10 x 2 Organic Drum Brake', + NULL, + 1 + ), + ( + 10011, + 10001, + '11 x 2 Organic Drum Brake', + NULL, + 1 + ), + ( + 10012, + 10001, + '12 x 2 Organic Drum Brake', + NULL, + 1 + ), + ( + 10013, + 10001, + '9 x 2 Organic HT Drum Brake', + NULL, + 1 + ), + ( + 10014, + 10001, + '10 x 2 Organic HT Drum Brake', + NULL, + 1 + ), + ( + 10015, + 10001, + '11 x 2 Organic HT Drum Brake', + NULL, + 1 + ), + ( + 10016, + 10001, + '12 x 2 Organic HT Drum Brake', + NULL, + 2 + ), + ( + 10017, + 10001, + '11 x 2 Semi-Metallic Disc Brake', + NULL, + 2 + ), + ( + 10018, + 10001, + '12 x 2 Semi-Metallic Disc Brake', + NULL, + 2 + ), + ( + 10019, + 10001, + '11 x 2 Semi-Metallic Drum Brake', + NULL, + 2 + ), + ( + 10020, + 10001, + '12 x 2 Semi-Metallic Drum Brake', + NULL, + 2 + ), + ( + 10021, + 10001, + '11 x 2 Metallic Disc Brake', + NULL, + 2 + ), + ( + 10022, + 10001, + '12 x 2 Metallic Disc Brake', + NULL, + 3 + ), + ( + 10023, + 10001, + '14 x 2 Metallic Disc Brake', + NULL, + 4 + ), + ( + 10024, + 10001, + '16 x 2 Metallic Disc Brake', + NULL, + 4 + ), + ( + 10025, + 10001, + '10 x 2 Metallic Disc Brake', + NULL, + 2 + ), + ( + 10026, + 10001, + '9 x 2 Metallic Disc Brake', + NULL, + 2 + ), + ( + 10027, + 10001, + '10 x 2 Metallic Disc ABS Brake', + NULL, + 3 + ), + ( + 10028, + 10001, + '12 x 2 Metallic Disc ABS Brake', + NULL, + 3 + ), + ( + 10029, + 10001, + '14 x 2 Metallic Disc ABS Brake', + NULL, + 4 + ), + ( + 10030, + 10001, + '16 x 2 Metallic Disc ABS Brake', + NULL, + 4 + ), + ( + 10031, + 10001, + '11 x 2 Metallic Disc ABS Brake', + NULL, + 3 + ), + ( + 10032, + 10001, + '13 x 2 Organic Drum Brake', + NULL, + 3 + ), + ( + 10033, + 10001, + '13 x 2 Organic Disc Brake', + NULL, + 3 + ), + ( + 10034, + 10001, + '13 x 2 Organic HT Drum Brake', + NULL, + 3 + ), + ( + 10035, + 10001, + '13 x 2 Organic HT Disc Brake', + NULL, + 3 + ), + ( + 10036, + 10001, + '13 x 2 Metallic Disc Brake', + NULL, + 3 + ), + ( + 10037, + 10001, + '13 x 2 Semi-Metallic Disc Brake', + NULL, + 3 + ), + ( + 10038, + 10001, + '13 x 2 Metallic Disc ABS Brake', + NULL, + 3 + ), + ( + 10039, + 10001, + '14 x 2 Organic Drum Brake', + NULL, + 3 + ), + ( + 10040, + 10001, + '14 x 2 Organic Disc Brake', + NULL, + 3 + ), + ( + 10041, + 10001, + '14 x 2 Organic HT Drum Brake', + NULL, + 3 + ), + ( + 10042, + 10001, + '14 x 2 Organic HT Disc Brake', + NULL, + 3 + ), + ( + 10043, + 10001, + '9 x 2 Semi-Metallic Disc Brake', + NULL, + 2 + ), + ( + 10044, + 10001, + '9 x 2 Metallic Disc ABS Brake', + NULL, + 3 + ), + (11001, 11001, 'LD (0.2) Shock', NULL, 1), + (11002, 11001, 'LD (0.3) Shock', NULL, 1), + (11003, 11001, 'ND (0.2) Shock', NULL, 1), + (11004, 11001, 'ND (0.3) Shock', NULL, 1), + (11005, 11001, 'HD (0.24) Shock', NULL, 2), + (11006, 11001, 'HD (0.3) Shock', NULL, 2), + (11007, 11001, 'HD (0.36) Shock', NULL, 2), + (11008, 11001, 'XHD (0.3) Shock', NULL, 3), + (11009, 11001, 'XHD (0.36) Shock', NULL, 3), + (11010, 11001, 'XHD (0.4) Shock', NULL, 3), + (11011, 11001, 'ND (0.3) 12.5" Shock', NULL, 1), + ( + 11012, + 11001, + 'Edelbrock Performer IAS Shock', + NULL, + 2 + ), + ( + 11013, + 11001, + 'Edelbrock Street Stock Race Shock', + NULL, + 3 + ), + (12001, 12001, '70 lb/in traverse spring', NULL, 1), + (12002, 12001, '80 lb/in traverse spring', NULL, 1), + (12003, 12001, '90 lb/in traverse spring', NULL, 1), + ( + 12004, + 12001, + '100 lb/in traverse spring', + NULL, + 1 + ), + ( + 12005, + 12001, + '110 lb/in traverse spring', + NULL, + 1 + ), + (12006, 12001, '120 lb/in coil spring', NULL, 1), + (12007, 12001, '130 lb/in coil spring', NULL, 1), + (12008, 12001, '140 lb/in coil spring', NULL, 1), + (12009, 12001, '150 lb/in coil spring', NULL, 1), + (12010, 12001, '160 lb/in coil spring', NULL, 1), + (12011, 12001, '170 lb/in coil spring', NULL, 1), + (12012, 12001, '180 lb/in leaf spring', NULL, 2), + (12013, 12001, '190 lb/in leaf spring', NULL, 2), + (12014, 12001, '200 lb/in leaf spring', NULL, 3), + ( + 12015, + 12001, + '210 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12016, + 12001, + '220 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12017, + 12001, + '230 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12018, + 12001, + '240 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12019, + 12001, + '250 lb/in coil-over spring', + NULL, + 3 + ), + (12020, 12001, '100 lb/in coil spring', NULL, 1), + (12021, 12001, '110 lb/in coil spring', NULL, 1), + (12022, 12001, '150 lb/in leaf spring', NULL, 1), + (12023, 12001, '160 lb/in leaf spring', NULL, 1), + (12024, 12001, '170 lb/in leaf spring', NULL, 1), + ( + 12025, + 12001, + '190 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12026, + 12001, + '200 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12027, + 12001, + '180 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12028, + 12001, + '170 lb/in coil-over spring', + NULL, + 3 + ), + ( + 12029, + 12001, + '160 lb/in coil-over spring', + NULL, + 3 + ), + (12030, 12001, '140 lb/in leaf spring', NULL, 1), + (12031, 12001, '130 lb/in leaf spring', NULL, 1), + (12032, 12001, '120 lb/in leaf spring', NULL, 1), + (12033, 12001, '110 lb/in leaf spring', NULL, 1), + (12034, 12001, '220 lb/in coil spring', NULL, 1), + (12035, 12001, '230 lb/in coil spring', NULL, 1), + (12036, 12001, '240 lb/in coil spring', NULL, 1), + (12037, 12001, '250 lb/in coil spring', NULL, 2), + (12038, 12001, '260 lb/in coil spring', NULL, 2), + (12039, 12001, '270 lb/in coil spring', NULL, 2), + (12040, 12001, '280 lb/in coil spring', NULL, 2), + (12041, 12001, '290 lb/in coil spring', NULL, 2), + (12042, 12001, '300 lb/in coil spring', NULL, 2), + (12043, 12001, '310 lb/in coil spring', NULL, 2), + (12044, 12001, '320 lb/in coil spring', NULL, 2), + (12045, 12001, '330 lb/in coil spring', NULL, 2), + (12046, 12001, '340 lb/in coil spring', NULL, 2), + (12047, 12001, '350 lb/in coil spring', NULL, 2), + (12048, 12001, '360 lb/in coil spring', NULL, 3), + (12049, 12001, '370 lb/in coil spring', NULL, 3), + (12050, 12001, '380 lb/in coil spring', NULL, 3), + (12051, 12001, '390 lb/in coil spring', NULL, 3), + (12052, 12001, '400 lb/in coil spring', NULL, 3), + (12053, 12001, '410 lb/in coil spring', NULL, 3), + (12054, 12001, '420 lb/in coil spring', NULL, 3), + (12055, 12001, '430 lb/in coil spring', NULL, 3), + (12056, 12001, '440 lb/in coil spring', NULL, 3), + (12057, 12001, '450 lb/in coil spring', NULL, 3), + (12058, 12001, '460 lb/in coil spring', NULL, 4), + (12059, 12001, '470 lb/in coil spring', NULL, 4), + (12060, 12001, '480 lb/in coil spring', NULL, 4), + (12061, 12001, '490 lb/in coil spring', NULL, 4), + (12062, 12001, '500 lb/in coil spring', NULL, 4), + (12063, 12001, '510 lb/in coil spring', NULL, 4), + (12064, 12001, '180 lb/in coil spring', NULL, 1), + (12065, 12001, 'Edelbrock AS Coil Spring', NULL, 2), + (12066, 12001, 'Edelbrock AB Coil Spring', NULL, 2), + ( + 12067, + 12001, + 'Edelbrock AGB Coil Spring', + NULL, + 2 + ), + (12068, 12001, 'Edelbrock F Coil Spring', NULL, 2), + (12069, 12001, 'Edelbrock M Coil Spring', NULL, 2), + (13001, 13001, '50 Nm Sway Bar', NULL, 1), + (13002, 13001, '60 Nm Sway Bar', NULL, 1), + (13003, 13001, '70 Nm Sway Bar', NULL, 1), + (13004, 13001, '80 Nm Sway Bar', NULL, 1), + (13005, 13001, '90 Nm Sway Bar', NULL, 1), + (13006, 13001, '100 Nm Sway Bar', NULL, 1), + (13007, 13001, '110 Nm Sway Bar', NULL, 1), + (13008, 13001, '120 Nm Sway Bar', NULL, 1), + (13009, 13001, '130 Nm Sway Bar', NULL, 1), + (13010, 13001, '140 Nm Sway Bar', NULL, 1), + (13011, 13001, '150 Nm Sway Bar', NULL, 1), + (13012, 13001, '160 Nm Sway Bar', NULL, 1), + (13013, 13001, '170 Nm Sway Bar', NULL, 1), + (13014, 13001, '180 Nm Sway Bar', NULL, 2), + (13015, 13001, '190 Nm Sway Bar', NULL, 2), + (13016, 13001, '200 Nm Sway Bar', NULL, 2), + (13017, 13001, '210 Nm Sway Bar', NULL, 2), + (13018, 13001, '220 Nm Sway Bar', NULL, 2), + (13019, 13001, '230 Nm Sway Bar', NULL, 2), + (13020, 13001, '240 Nm Sway Bar', NULL, 2), + (13021, 13001, '250 Nm Sway Bar', NULL, 3), + (13022, 13001, '260 Nm Sway Bar', NULL, 3), + (13023, 13001, '270 Nm Sway Bar', NULL, 3), + (13024, 13001, '280 Nm Sway Bar', NULL, 3), + ( + 13025, + 13001, + 'Edelbrock Tubular Panhard Rod', + NULL, + 2 + ), + (14001, 14001, 'LD Traction Bar', NULL, 1), + (14002, 14001, 'ND Traction Bar', NULL, 2), + (14003, 14001, 'HD Traction Bar', NULL, 3), + (14004, 14001, 'XHD Traction Bar', NULL, 4), + (14005, 14001, 'Edelbrock Anti-Hop Bar', NULL, 2), + (15001, 15001, 'Wheel Assembly', NULL, 1), + ( + 16001, + 16001, + 'Fuzzy Dice Accessory', + 'fuzzdice', + 1 + ), + (17001, 17001, 'Generic Roll Bar', '.bodymod', 1), + ( + 18001, + 18001, + 'Medium Window Tinting', + '.bodymod', + 1 + ), + ( + 18002, + 18001, + 'Light Window Tinting', + '.bodymod', + 1 + ), + ( + 18003, + 18001, + 'Dark Window Tinting', + '.bodymod', + 1 + ), + ( + 18004, + 18001, + 'Very Dark Window Tinting', + '.bodymod', + 1 + ), + (20101, 20001, '1932 Ford Coupe', '32ford', 1), + (20102, 20001, '1940 Ford Coupe', '40ford', 1), + (20103, 20001, '1953 Ford Crestline', '53ford', 1), + (20104, 20001, '1957 Ford Fairlane', '57fair', 1), + (20105, 20001, '1957 Ford Ranchero', '57ranch', 1), + ( + 20106, + 20001, + '1957 Ford Thunderbird', + '57tbird', + 1 + ), + ( + 20107, + 20001, + '1963 Ford Thunderbird', + '63tbird', + 1 + ), + (20108, 20001, '1964 Ford Mustang', '64stang', 1), + (20109, 20001, '1964 Ford Galaxie', '64galaxi', 1), + ( + 20110, + 20001, + '1969 Ford Torino GT', + '69torino', + 1 + ), + (20111, 20001, '1970 Ford Boss 302', '70stang', 1), + (20112, 20001, '1949 Mercury Coupe', '49merc', 1), + ( + 20113, + 20001, + '1957 Chevrolet Bel-Air', + '57chevy', + 1 + ), + ( + 20114, + 20001, + '1957 Chevrolet Corvette', + '57vette', + 1 + ), + ( + 20115, + 20001, + '1957 Chevrolet Nomad', + '57nomad', + 1 + ), + ( + 20116, + 20001, + '1964 Chevrolet Impala', + '64impala', + 1 + ), + ( + 20117, + 20001, + '1963 Chevrolet Stingray', + '63vette', + 1 + ), + ( + 20118, + 20001, + '1958 Chevrolet Impala', + '58impala', + 1 + ), + ( + 20119, + 20001, + '1967 Chevrolet Chevelle', + '67chev', + 1 + ), + ( + 20120, + 20001, + '1967 Chevrolet Camaro', + '67camaro', + 1 + ), + ( + 20121, + 20001, + '1970 Chevrolet Chevelle', + '70chev', + 1 + ), + ( + 20122, + 20001, + '1970 Chevrolet El Camino', + '70camino', + 1 + ), + (20123, 20001, '1970 Chevrolet Nova', '70nova', 1), + ( + 20124, + 20001, + '1947 Cadillac Series 62', + '47caddy', + 1 + ), + ( + 20125, + 20001, + '1959 Cadillac Eldorado', + '59caddy', + 1 + ), + ( + 20126, + 20001, + '1969 Oldsmobile 4-4-2', + '69old442', + 1 + ), + (20127, 20001, '1955 Buick Century', '55cent', 1), + (20128, 20001, '1966 Pontiac GTO', '66gto', 1), + (20129, 20001, '1969 Pontiac GTO', '69gto', 1), + ( + 20130, + 20001, + '1973 Pontiac Firebird T/A', + '73trans', + 1 + ), + (20131, 20001, '1969 AMC AMX', '69amcamx', 1), + (20132, 20001, '1969 Dodge Charger', '69charge', 1), + ( + 20133, + 20001, + '1969 Plymouth Rd. Runner', + '69runner', + 1 + ), + (20134, 20001, '1970 Plymouth Cuda', '70hemicu', 1), + ( + 20135, + 20001, + '1971 Plymouth Duster', + '71duster', + 1 + ), + ( + 20138, + 20001, + '1999 EA Traffic 2 door', + 'trf2dr', + 1 + ), + ( + 20140, + 20001, + '1967 Chevrolet Camaro SS', + '67sscam', + 1 + ), + (20146, 20001, '1990 EA TRFMONTE', 'TRFMONTE', 1), + (20147, 20001, '1990 EA TRFDELVR', 'TRFDELVR', 1), + (20148, 20001, '1990 EA TRFBUS', 'TRFBUS', 1), + (20149, 20001, '1990 EA TRFGSX', 'TRFGSX', 1), + (20150, 20001, '1990 EA TRFSTANG', 'TRFSTANG', 1), + (20151, 20001, '1990 EA TRFTBIRD', 'TRFTBIRD', 1), + (20152, 20001, '1990 EA TRFPUP1', 'TRFPUP1', 1), + (20153, 20001, '1990 EA TRF2DR', 'TRF2DR', 1), + (20157, 20001, '1969 Plymouth GTX', '69GTX', 1), + (20207, 20001, '1966 Shelby 427 Cobra', '66cob', 1), + (20210, 20001, '1970 Ford Mustang', '70stang', 1), + ( + 20211, + 20001, + '1969 Ford Torino Cobra', + '69torino', + 1 + ), + (20212, 20001, '1970 Ford Mach 1', '70STANG', 1), + ( + 20213, + 20001, + '1970 Plymouth Hemi Cuda', + '70hemicu', + 1 + ), + ( + 20214, + 20001, + '1970 Plymouth 440 Cuda', + '70hemicu', + 1 + ), + ( + 20215, + 20001, + '1970 Plymouth AAR Cuda', + '70CUDA', + 1 + ), + ( + 20216, + 20001, + '1971 Plymouth 340 Duster', + '71duster', + 1 + ), + ( + 20217, + 20001, + '1964 Chevrolet Impala SS', + '64impala', + 1 + ), + ( + 20218, + 20001, + '1967 Chevrolet Chevelle SS', + '67chev', + 1 + ), + ( + 20219, + 20001, + '1967 Chevrolet Camaro RS', + '67camaro', + 1 + ), + ( + 20220, + 20001, + '1967 Chevrolet Camaro Z-28', + '67camaro', + 1 + ), + ( + 20221, + 20001, + '1970 Chevrolet Chevelle SS', + '70CHEV', + 1 + ), + ( + 20222, + 20001, + '1970 Chevrolet El Camino SS', + '70CAMINO', + 1 + ), + ( + 20223, + 20001, + '1970 Chevrolet Nova SS', + '70nova', + 1 + ), + ( + 20224, + 20001, + '1969 Oldsmobile 4-4-2 W-30', + '69W30old', + 1 + ), + ( + 20225, + 20001, + '1969 Oldsmobile Hurst 4-4-2', + '69old442', + 1 + ), + ( + 20226, + 20001, + '1969 Pontiac GTO Judge', + '69gto', + 1 + ), + ( + 20227, + 20001, + '1973 Pontiac Firebird Formula', + '73fireb', + 1 + ), + ( + 20228, + 20001, + '1973 Pontiac Firebird', + '73fireb', + 1 + ), + (21001, 21001, '1947 Cadillac', '.bodymod', 1), + (21002, 21001, '1949 Ford', '.bodymod', 1), + ( + 21003, + 21001, + '1973 Cadillac Fleetwood Eldorado', + '.bodymod', + 1 + ), + (21004, 21001, '1953 Chevy Bel Air', '.bodymod', 1), + (21005, 21001, '1967 Chevy Impala', '.bodymod', 1), + ( + 21006, + 21001, + '1969 Chevy Chevelle', + '.bodymod', + 1 + ), + ( + 21007, + 21001, + '1970 Chevrolet Monte Carlo', + '.bodymod', + 1 + ), + ( + 21008, + 21001, + '53 C.line Fender Skirt', + '.bodymod', + 1 + ), + (21009, 21001, '1955 Ford Fairlane', '.bodymod', 1), + ( + 21010, + 21001, + '1956 Ford / Thunderbird', + '.bodymod', + 1 + ), + ( + 21011, + 21001, + '1957 Ford / Thunderbird', + '.bodymod', + 1 + ), + (21012, 21001, '1937 Ford', '.bodymod', 1), + (21013, 21001, '1939 Chevrolet', '.bodymod', 1), + ( + 21014, + 21001, + '40 Coupe Fender Skirt', + '.bodymod', + 1 + ), + (21015, 21001, '1941 Plymouth', '.bodymod', 1), + ( + 21016, + 21001, + '49 Coupe Fender Skirt', + '.bodymod', + 1 + ), + (22001, 22001, 'Vanilla Horn', NULL, 1), + (22002, 22001, 'Cuda A', NULL, 1), + (22003, 22001, 'Cuda B', NULL, 1), + (22004, 22001, 'Cuda 2stone', NULL, 1), + (22005, 22001, 'El Camino A', NULL, 1), + (22006, 22001, 'El Camino B', NULL, 1), + (22007, 22001, 'Firebird A', NULL, 1), + (22008, 22001, 'Firebird B', NULL, 1), + (22009, 22001, 'Fury', NULL, 1), + (22010, 22001, 'GMC', NULL, 1), + (22011, 22001, 'Hillman', NULL, 1), + (22012, 22001, 'Impala', NULL, 1), + (22013, 22001, 'Metropolitan', NULL, 1), + (22014, 22001, 'Metropolitan Siren', NULL, 1), + (22015, 22001, 'Mustang', NULL, 1), + (22016, 22001, 'Snubnose', NULL, 1), + (22017, 22001, 'Aoooga A', NULL, 1), + (22018, 22001, 'Aoooga B', NULL, 1), + (22019, 22001, 'Aoooga C', NULL, 1), + (22020, 22001, 'Horn La cooca racha', NULL, 1), + (22021, 22001, 'Horn Reville', NULL, 1), + (22022, 22001, 'Horn Dixie', NULL, 1), + (22023, 22001, 'Horn Charge', NULL, 1), + (22024, 22001, 'Horn Charge Short', NULL, 1), + ( + 23001, + 23001, + '1927 Ford Model T Boards', + '.bodymod', + 1 + ), + ( + 23002, + 23001, + '1931 Ford Model A Boards', + '.bodymod', + 1 + ), + ( + 23003, + 23001, + '1932 Ford Coupe Boards', + '.bodymod', + 1 + ), + ( + 23004, + 23001, + '1932 Chevrolet Confederate Boards', + '.bodymod', + 1 + ), + ( + 23005, + 23001, + '1934 Ford Coupe Boards', + '.bodymod', + 1 + ), + ( + 23006, + 23001, + '1937 Ford Coupe Boards', + '.bodymod', + 1 + ), + ( + 23007, + 23001, + '1937 Chevy Coupe Boards', + '.bodymod', + 1 + ), + ( + 23008, + 23001, + '1939 Chevy Coupe Boards', + '.bodymod', + 1 + ), + ( + 23009, + 23001, + '1940 Ford Deluxe Coupe Boards', + '.bodymod', + 1 + ), + ( + 23010, + 23001, + '1941 Plymouth Coupe Boards', + '.bodymod', + 1 + ), + ( + 23011, + 23001, + '1947 Cadillac Sedanette Boards', + '.bodymod', + 1 + ), + ( + 23012, + 23001, + '1948 Ford Woody Boards', + '.bodymod', + 1 + ), + ( + 25001, + 340333, + 'Sipper Air Scoop 1%', + 'scooprec', + 1 + ), + ( + 25002, + 340333, + 'Slipstream Air Scoop 2%', + 'scooprec', + 2 + ), + ( + 25003, + 340333, + 'Impeller Air Scoop 3%', + 'scooptri', + 3 + ), + ( + 25004, + 340333, + 'Holley Forced Air Scoop 4%', + 'scooptri', + 3 + ), + ( + 25005, + 340333, + 'Holley Ram Air Scoop 5%', + 'scooprec', + 4 + ), + ( + 25006, + 340333, + 'Pontiac Ram Air Induction System', + 'SCOOPREC', + 2 + ), + ( + 25007, + 340333, + 'Olds W30 Forced Air Induction System', + 'SCOOPREC', + 2 + ), + ( + 25008, + 340333, + 'Flared Velocity Stack', + 'STACK1F', + 2 + ), + ( + 25009, + 340333, + 'Tall Flared Velocity Stack', + 'STACK1FH', + 2 + ), + ( + 25010, + 340333, + 'Straight Velocity Stack', + 'STACK1S', + 2 + ), + ( + 25011, + 340333, + 'Dual Flared Velocity Stacks', + 'STACK2F', + 2 + ), + ( + 25012, + 340333, + 'Dual Tall Flared Velocity Stacks', + 'STACK2FH', + 2 + ), + ( + 25013, + 340333, + 'Dual Straight Velocity Stacks', + 'STACK2S', + 2 + ), + ( + 25014, + 340333, + 'Triple Flared Velocity Stacks', + 'stack3f', + 2 + ), + ( + 25015, + 340333, + 'Triple Tall Flared Velocity Stacks', + 'stack3fh', + 2 + ), + ( + 25016, + 340333, + 'Triple Straight Velocity Stacks', + 'stack3s', + 2 + ), + ( + 25017, + 340333, + 'Quad Flared Velocity Stacks', + 'STACK4F', + 2 + ), + ( + 25018, + 340333, + 'Quad Tall Flared Velocity Stacks', + 'STACK4FH', + 2 + ), + ( + 25019, + 340333, + 'Quad Straight Velocity Stacks', + 'STACK4S', + 2 + ), + ( + 25020, + 340333, + 'Eight Flared Velocity Stacks', + 'STACK8F', + 2 + ), + ( + 25021, + 340333, + 'Eight Tall Flared Velocity Stacks', + 'STACK8FH', + 2 + ), + ( + 25022, + 340333, + 'Eight Straight Velocity Stacks', + 'STACK8S', + 2 + ), + (26001, 26001, 'White Fog Lights', 'FOGWHITE', 1), + (27001, 26001, 'Amber Fog Lights', 'FOGAMBER', 1), + ( + 28001, + 28001, + '1940 Ford Spot Light', + 'SPOTLITE', + 1 + ), + ( + 28002, + 28001, + '1947 Cadillac Spot Light', + 'SPOTLITE', + 1 + ), + ( + 28003, + 28001, + '1955 Buick Spot Light', + 'SPOTLITE', + 1 + ), + ( + 28004, + 28001, + '1957 Chevy Bel-Air Spot Light', + 'SPOTLITE', + 1 + ), + ( + 28005, + 28001, + '1957 Chevy Wagon Spot Light', + 'SPOTLITE', + 1 + ), + (29001, 29001, '25 kg Spoiler', '.bodymod', 1), + (29002, 29001, '50 kg Spoiler', '.bodymod', 1), + (29003, 29001, '75 kg Spoiler', '.bodymod', 1), + (29004, 29001, '100 kg Spoiler', '.bodymod', 2), + (29005, 29001, '125 kg Spoiler', '.bodymod', 2), + (29006, 29001, '150 kg Spoiler', '.bodymod', 2), + (29007, 29001, '175 kg Spoiler', '.bodymod', 3), + (29008, 29001, '200 kg Spoiler', '.bodymod', 3), + (29009, 29001, '225 kg Spoiler', '.bodymod', 3), + (29010, 29001, '250 kg Spoiler', '.bodymod', 4), + (30001, 30001, '25 kg Rear Spoiler', 'SPOILER', 1), + (30002, 30001, '50 kg Rear Spoiler', 'SPOILER', 1), + (30003, 30001, '75 kg Rear Spoiler', 'SPOILER', 1), + (30004, 30001, '100 kg Rear Spoiler', 'SPOILER', 2), + (30005, 30001, '125 kg Rear Spoiler', 'SPOILER', 2), + (30006, 30001, '150 kg Rear Spoiler', 'SPOILER', 2), + (30007, 30001, '175 kg Rear Spoiler', 'SPOILER', 3), + (30008, 30001, '200 kg Rear Spoiler', 'SPOILER', 3), + (30009, 30001, '225 kg Rear Spoiler', 'SPOILER', 3), + (30010, 30001, '250 kg Rear Spoiler', 'SPOILER', 4), + (31166, 31001, 'Hardtop', NULL, 1), + (31167, 31001, 'Chopped Top', '.chopped', 1), + (31168, 31001, 'Convertible Top', '.convert', 1), + (31169, 31001, 'Vinyl Top', '.vinyl', 1), + ( + 32001, + 32001, + 'Wheelie Bar Attachment', + 'WHEELIE', + 1 + ), + (33001, 33001, 'Speedline Driver', 'DRIVER10', 1), + (34001, 34001, '32 Ford Fenders', '.bodymod', 0), + (35001, 35001, '32 Ford Bumpers', '.bodymod', 0), + (35002, 35001, '40 Ford Bumpers', '.bodymod', 0), + ( + 35003, + 35001, + '65 Shelby Cobra Bumpers', + '.bodymod', + 0 + ), + (36002, 36001, 'Engine Assembly', NULL, 1), + (36003, 36001, 'Buick 322 4V (255 hp)', NULL, 1), + (36004, 36001, 'Chevy SB 265 2V (162 hp)', NULL, 1), + (36005, 36001, 'Chevy SB 265 4V (180 hp)', NULL, 1), + (36006, 36001, 'Chevy SB 265 4V (195 hp)', NULL, 1), + (36007, 36001, 'Chevy SB 283 2V (185 hp)', NULL, 1), + (36008, 36001, 'Chevy SB 283 4V (220 hp)', NULL, 1), + ( + 36009, + 36001, + 'Chevy SB 283 2x4V (245 hp)', + NULL, + 1 + ), + ( + 36010, + 36001, + 'Chevy SB 283 2x4V (270 hp)', + NULL, + 1 + ), + (36011, 36001, 'Chevy SB 283 FI (283 hp)', NULL, 2), + (36012, 36001, 'Chevy SB 283 FI (290 hp)', NULL, 2), + (36013, 36001, 'Chevy SB 283 FI (275 hp)', NULL, 2), + (36014, 36001, 'Chevy SB 283 FI (315 hp)', NULL, 2), + ( + 36015, + 36001, + 'Chevy SB 265 2x4V (225 hp)', + NULL, + 1 + ), + (36016, 36001, 'Chevy SB 327 4V (250 hp)', NULL, 1), + (36017, 36001, 'Chevy SB 327 4V (300 hp)', NULL, 1), + (36018, 36001, 'Chevy SB 327 4V (340 hp)', NULL, 2), + (36019, 36001, 'Chevy SB 327 FI (360 hp)', NULL, 2), + (36020, 36001, 'Chevy SB 327 4V (365 hp)', NULL, 2), + (36021, 36001, 'Chevy SB 327 FI (375 hp)', NULL, 2), + (36022, 36001, 'Chevy SB 302 4V (290 hp)', NULL, 2), + (36023, 36001, 'Chevy SB 350 4V (295 hp)', NULL, 1), + (36024, 36001, 'Chevy SB 350 4V (250 hp)', NULL, 1), + (36025, 36001, 'Chevy SB 350 4V (350 hp)', NULL, 2), + ( + 36026, + 36001, + 'Chevy SB 350 4V (360 hp) Z/28', + NULL, + 2 + ), + ( + 36027, + 36001, + 'Chevy SB 350 4V (370 hp) LT-1', + NULL, + 2 + ), + (36028, 36001, 'Chevy SB 400 4V (265 hp)', NULL, 1), + (36029, 36001, 'Chevy W 348 4V (250 hp)', NULL, 1), + ( + 36030, + 36001, + 'Chevy W 348 3x2V (280 hp)', + NULL, + 1 + ), + (36031, 36001, 'Chevy W 348 4V (305 hp)', NULL, 2), + (36032, 36001, 'Chevy W 348 4V (315 hp)', NULL, 2), + ( + 36033, + 36001, + 'Chevy W 348 3x2V (315 hp)', + NULL, + 2 + ), + (36034, 36001, 'Chevy W 348 4V (320 hp)', NULL, 2), + ( + 36035, + 36001, + 'Chevy W 348 3x2V (335 hp)', + NULL, + 2 + ), + (36036, 36001, 'Chevy W 348 4V (340 hp)', NULL, 2), + ( + 36037, + 36001, + 'Chevy W 348 3x2V (350 hp)', + NULL, + 2 + ), + (36038, 36001, 'Chevy W 409 4V (360 hp)', NULL, 2), + (36039, 36001, 'Chevy W 409 4V (380 hp)', NULL, 2), + ( + 36040, + 36001, + 'Chevy W 409 2x4V (409 hp)', + NULL, + 2 + ), + (36041, 36001, 'Chevy W 409 4V (340 hp)', NULL, 2), + (36042, 36001, 'Chevy W 409 4V (400 hp)', NULL, 2), + ( + 36043, + 36001, + 'Chevy W 409 2x4V (425 hp)', + NULL, + 2 + ), + ( + 36044, + 36001, + 'Chevy W 427 2x4V (430 hp) Z11', + NULL, + 2 + ), + (36045, 36001, 'Chevy BB 396 4V (325 hp)', NULL, 1), + (36046, 36001, 'Chevy BB 396 4V (350 hp)', NULL, 2), + (36047, 36001, 'Chevy BB 396 4V (425 hp)', NULL, 2), + (36048, 36001, 'Chevy BB 396 4V (360 hp)', NULL, 1), + (36049, 36001, 'Chevy BB 427 4V (390 hp)', NULL, 1), + (36050, 36001, 'Chevy BB 427 4V (425 hp)', NULL, 2), + ( + 36051, + 36001, + 'Chevy BB 427 3x2V (400 hp)', + NULL, + 2 + ), + ( + 36052, + 36001, + 'Chevy BB 427 4V (430 hp) L88', + NULL, + 3 + ), + ( + 36053, + 36001, + 'Chevy BB 427 3x2V (435 hp) L89', + NULL, + 3 + ), + ( + 36054, + 36001, + 'Chevy BB 427 3x2V (435 hp) L71', + NULL, + 3 + ), + (36055, 36001, 'Chevy BB 402 4V (325 hp)', NULL, 1), + ( + 36056, + 36001, + 'Chevy BB 454 4V (345 hp) LS4', + NULL, + 1 + ), + ( + 36057, + 36001, + 'Chevy BB 454 4V (360 hp) LS5', + NULL, + 1 + ), + ( + 36058, + 36001, + 'Chevy BB 454 4V (390 hp) LS5', + NULL, + 2 + ), + ( + 36059, + 36001, + 'Chevy BB 454 4V (450 hp) LS6', + NULL, + 3 + ), + ( + 36060, + 36001, + 'Chevy BB 454 4V (465 hp) LS7', + NULL, + 3 + ), + ( + 36061, + 36001, + 'Chevy BB 454 4V (425 hp) LS6', + NULL, + 3 + ), + (36062, 36001, 'Olds 455 2V (310 hp)', NULL, 1), + (36063, 36001, 'Olds 455 4V (365 hp)', NULL, 1), + (36064, 36001, 'Olds 455 4V (375 hp)', NULL, 1), + (36065, 36001, 'Olds 455 4V (390 hp)', NULL, 2), + (36066, 36001, 'Olds 455 4V (400 hp)', NULL, 2), + (36067, 36001, 'Olds 400 4V (345 hp)', NULL, 1), + (36068, 36001, 'Olds 400 4V (350 hp)', NULL, 1), + (36069, 36001, 'Olds 400 3x2V (365 hp)', NULL, 2), + (36070, 36001, 'Olds 400 2V (300 hp)', NULL, 1), + (36071, 36001, 'Olds 400 4V W30', NULL, 2), + (36072, 36001, 'Pontiac 389 2V (215 hp)', NULL, 1), + (36073, 36001, 'Pontiac 389 2V (245 hp)', NULL, 1), + (36074, 36001, 'Pontiac 389 4V (260 hp)', NULL, 1), + (36075, 36001, 'Pontiac 389 2V (280 hp)', NULL, 1), + (36076, 36001, 'Pontiac 389 4V (303 hp)', NULL, 1), + ( + 36077, + 36001, + 'Pontiac 389 Trophy 4V (300 hp)', + NULL, + 2 + ), + ( + 36078, + 36001, + 'Pontiac 389 Trophy 3x2V (315 hp)', + NULL, + 2 + ), + ( + 36079, + 36001, + 'Pontiac 389 SD 4V (330 hp)', + NULL, + 3 + ), + ( + 36080, + 36001, + 'Pontiac 389 SD 3x2V (345 hp)', + NULL, + 3 + ), + ( + 36081, + 36001, + 'Pontiac 389 Trophy 3x2V (333 hp)', + NULL, + 2 + ), + ( + 36082, + 36001, + 'Pontiac 389 Trophy 4V (318 hp)', + NULL, + 2 + ), + ( + 36083, + 36001, + 'Pontiac 389 SD 3x2V (363 hp)', + NULL, + 2 + ), + ( + 36084, + 36001, + 'Pontiac 421 SD 2x4V (373 hp)', + NULL, + 2 + ), + (36085, 36001, 'Pontiac 421 4V (320 hp)', NULL, 1), + ( + 36086, + 36001, + 'Pontiac 421 SD 2x4V (405 hp)', + NULL, + 3 + ), + ( + 36087, + 36001, + 'Pontiac 421 HO 4V (353 hp)', + NULL, + 2 + ), + ( + 36088, + 36001, + 'Pontiac 421 HO 3x2V (370 hp)', + NULL, + 2 + ), + ( + 36089, + 36001, + 'Pontiac 421 SD 4V (390 hp)', + NULL, + 3 + ), + ( + 36090, + 36001, + 'Pontiac 421 SD 2x4V (410 hp)', + NULL, + 3 + ), + (36091, 36001, 'Pontiac 400 2V (255 hp)', NULL, 1), + (36092, 36001, 'Pontiac 400 4V (290 hp)', NULL, 1), + (36093, 36001, 'Pontiac 400 Ram Air I', NULL, 2), + (36094, 36001, 'Pontiac 400 Ram Air II', NULL, 2), + (36095, 36001, 'Pontiac 400 Ram Air IV', NULL, 2), + (36096, 36001, 'Pontiac 455 4V (360 hp)', NULL, 2), + (36097, 36001, 'Pontiac 455 4V (370 hp)', NULL, 2), + ( + 36098, + 36001, + 'Pontiac 455 HO 4V (335 hp)', + NULL, + 1 + ), + ( + 36099, + 36001, + 'Pontiac 455 SD 4V (290 hp)', + NULL, + 2 + ), + (36100, 36001, 'Ford Y 292 4V (193 hp)', NULL, 1), + (36101, 36001, 'Ford Y 292 4V (198 hp)', NULL, 1), + (36102, 36001, 'Ford Y 292 4V (212 hp)', NULL, 1), + (36103, 36001, 'Ford Y 312 4V (210 hp)', NULL, 1), + (36104, 36001, 'Ford Y 312 4V (225 hp)', NULL, 1), + (36105, 36001, 'Ford Y 312 2x4V (265 hp)', NULL, 1), + (36106, 36001, 'Ford FE 352 4V (300 hp)', NULL, 2), + ( + 36107, + 36001, + 'Ford FE 352 HP 4V (360 hp)', + NULL, + 2 + ), + (36108, 36001, 'Ford FE 352 2V (220 hp)', NULL, 1), + (36109, 36001, 'Ford FE 390 4V (300 hp)', NULL, 1), + ( + 36110, + 36001, + 'Ford FE 390 HP 4V (375 hp)', + NULL, + 2 + ), + ( + 36111, + 36001, + 'Ford FE 390 HP 3x2V (401 hp)', + NULL, + 2 + ), + ( + 36112, + 36001, + 'Ford FE 390 PI 4V (330 hp)', + NULL, + 2 + ), + ( + 36113, + 36001, + 'Ford FE 390 3x2V (340 hp)', + NULL, + 1 + ), + (36114, 36001, 'Ford FE 390 2V (250 hp)', NULL, 1), + (36115, 36001, 'Ford FE 390 2V (275 hp)', NULL, 1), + (36116, 36001, 'Ford FE 390 4V (315 hp)', NULL, 1), + ( + 36117, + 36001, + 'Ford FE 390 GT 4V (335 hp)', + NULL, + 1 + ), + (36118, 36001, 'Ford FE 406 4V (385 hp)', NULL, 2), + ( + 36119, + 36001, + 'Ford FE 406 3x2V (405 hp)', + NULL, + 2 + ), + ( + 36120, + 36001, + 'Ford FE 427 LR 4V (410 hp)', + NULL, + 2 + ), + ( + 36121, + 36001, + 'Ford FE 427 MR 4V (410 hp)', + NULL, + 2 + ), + ( + 36122, + 36001, + 'Ford FE 427 MR 2x4V (425 hp)', + NULL, + 2 + ), + ( + 36123, + 36001, + 'Ford FE 427 SOHC 4V (615 hp)', + NULL, + 3 + ), + (36124, 36001, 'Ford FE 428 4V (345 hp)', NULL, 1), + (36125, 36001, 'Ford FE 428 4V (360 hp)', NULL, 1), + ( + 36126, + 36001, + 'Ford FE 428 CJ 4V (335 hp)', + NULL, + 2 + ), + ( + 36127, + 36001, + 'Ford FE 428 SCJ 4V (335 hp)', + NULL, + 2 + ), + (36128, 36001, 'Ford SB 260 2V (164 hp)', NULL, 1), + ( + 36129, + 36001, + 'Ford SB 289 HP 4V (271 hp)', + NULL, + 1 + ), + (36130, 36001, 'Ford SB 289 4V (210 hp)', NULL, 1), + (36131, 36001, 'Ford SB 289 4V (225 hp)', NULL, 1), + (36132, 36001, 'Ford SB 302 2V (210 hp)', NULL, 1), + (36133, 36001, 'Ford SB 302 4V (230 hp)', NULL, 1), + ( + 36134, + 36001, + 'Ford SB 302 Boss 4V (290 hp)', + NULL, + 2 + ), + (36135, 36001, 'Ford SB 351W 2V (250 hp)', NULL, 1), + (36136, 36001, 'Ford SB 351W 4V (290 hp)', NULL, 1), + (36137, 36001, 'Ford SB 351W 2V (240 hp)', NULL, 1), + (36138, 36001, 'Ford 351C 2V (250 hp)', NULL, 1), + (36139, 36001, 'Ford 351C 4V (300 hp)', NULL, 1), + (36140, 36001, 'Ford 351C CJ 4V (280 hp)', NULL, 2), + ( + 36141, + 36001, + 'Ford 351C Boss 4V (330 hp)', + NULL, + 2 + ), + (36142, 36001, 'Ford 351C HO 4V (275 hp)', NULL, 2), + (36143, 36001, 'Ford 351C 2V (177 hp)', NULL, 1), + (36144, 36001, 'Ford 400C 2V (260 hp)', NULL, 1), + (36145, 36001, 'Ford 400C 2V (172 hp)', NULL, 1), + (36146, 36001, 'Ford 385 429 4V (360 hp)', NULL, 1), + (36147, 36001, 'Ford 385 429 2V (320 hp)', NULL, 1), + ( + 36148, + 36001, + 'Ford 385 429 SCJ 4V (375 hp)', + NULL, + 2 + ), + ( + 36149, + 36001, + 'Ford 385 429 CJ 4V (370 hp)', + NULL, + 2 + ), + (36150, 36001, 'Ford 385 429 4V (212 hp)', NULL, 1), + (36151, 36001, 'Ford 385 429 NASCAR', NULL, 3), + (36152, 36001, 'Ford 385 460 4V (365 hp)', NULL, 1), + (36153, 36001, 'Ford 385 460 4V (224 hp)', NULL, 1), + ( + 36154, + 36001, + 'Ford 385 460 PI 4V (274 hp)', + NULL, + 1 + ), + ( + 36155, + 36001, + 'Chrysler BB 383 2V (305 hp)', + NULL, + 1 + ), + ( + 36156, + 36001, + 'Chrysler BB 383 4V (325 hp)', + NULL, + 1 + ), + ( + 36157, + 36001, + 'Chrysler BB 383 2V (270 hp)', + NULL, + 1 + ), + ( + 36158, + 36001, + 'Chrysler BB 383 2x4V (330 hp)', + NULL, + 2 + ), + ( + 36159, + 36001, + 'Chrysler BB 400 2V (190 hp)', + NULL, + 1 + ), + ( + 36160, + 36001, + 'Chrysler BB 400 4V (255 hp)', + NULL, + 1 + ), + ( + 36161, + 36001, + 'Chrysler BB 400 4V (205 hp)', + NULL, + 1 + ), + ( + 36162, + 36001, + 'Chrysler BB 413 4V (350 hp)', + NULL, + 1 + ), + ( + 36163, + 36001, + 'Chrysler BB 413 2x4V (380 hp)', + NULL, + 1 + ), + ( + 36164, + 36001, + 'Chrysler BB 413 Long Ram 2x4V (375 hp)', + NULL, + 2 + ), + ( + 36165, + 36001, + 'Chrysler BB 413 Short Ram 2x4V (400 hp)', + NULL, + 2 + ), + ( + 36166, + 36001, + 'Chrysler BB 413 Max Wedge 2x4V (410 hp)', + NULL, + 2 + ), + ( + 36167, + 36001, + 'Chrysler BB 413 Max Wedge 2x4V (420 hp)', + NULL, + 2 + ), + ( + 36168, + 36001, + 'Chrysler BB 413 4V (365 hp)', + NULL, + 1 + ), + ( + 36169, + 36001, + 'Chrysler BB 413 2x4V (390 hp)', + NULL, + 2 + ), + ( + 36170, + 36001, + 'Chrysler BB 426 Max Wedge III 2x4V (415 hp)', + NULL, + 2 + ), + ( + 36171, + 36001, + 'Chrysler BB 426 Max Wedge III 2x4V (425 hp)', + NULL, + 2 + ), + ( + 36172, + 36001, + 'Chrysler BB 426 Max Wedge 2x4V (415 hp)', + NULL, + 2 + ), + ( + 36173, + 36001, + 'Chrysler BB 426 Max Wedge 2x4V (425 hp)', + NULL, + 3 + ), + ( + 36174, + 36001, + 'Chrysler BB 426 4V (365 hp) b', + NULL, + 1 + ), + ( + 36175, + 36001, + 'Chrysler Hemi 426 2x4V (425 hp)', + NULL, + 3 + ), + ( + 36176, + 36001, + 'Chrysler BB 440 4V (350 hp)', + NULL, + 1 + ), + ( + 36177, + 36001, + 'Chrysler BB 440 3x2V (390 hp)', + NULL, + 2 + ), + (36178, 36001, 'AMC 343 2V (235 hp)', NULL, 1), + (36179, 36001, 'AMC 390 4V (315 hp)', NULL, 1), + (36180, 36001, 'AMC 390 4V (325 hp)', NULL, 2), + ( + 36181, + 36001, + 'AMC 390 4V Rebel Machine (340 hp)', + NULL, + 2 + ), + (36182, 36001, 'Chevy SB 265 4V (205 hp)', NULL, 2), + ( + 36183, + 36001, + 'Chevy W 409 2x4V (425 hp)', + NULL, + 3 + ), + ( + 36184, + 36001, + 'Chevrolet BB 402 4V (350 hp)', + NULL, + 2 + ), + ( + 36185, + 36001, + 'Chevrolet BB 402 4V (375 hp)', + NULL, + 2 + ), + (36186, 36001, 'Pontiac 400 Ram Air III', NULL, 2), + (36187, 36001, 'Pontiac 400 Ram Air V', NULL, 3), + (36188, 36001, 'Ford FE 352 4V (235 hp)', NULL, 1), + (36189, 36001, 'Shade Tree 2V (140 hp)', NULL, 1), + (37001, 37001, 'Generic Exh Assembly', NULL, 1), + (39001, 39001, 'Cop Lights', 'siren', 1), + (40001, 40001, 'Vanilla Hood', '.bodymod', 1), + (40002, 40001, '32 Coupe', '.bodymod', 1), + (40003, 40001, '40 Coupe', '.bodymod', 1), + (40004, 40001, '49 Mercury', '.bodymod', 1), + (40005, 40001, '53 Coupe', '.bodymod', 1), + (40006, 40001, '57 Fairlane', '.bodymod', 1), + (40007, 40001, '57 Ranchero', '.bodymod', 1), + (40008, 40001, '57 Thunderbird', '.bodymod', 1), + (40009, 40001, '63 Thunderbird', '.bodymod', 1), + (40010, 40001, '64 Mustang', '.bodymod', 1), + (40011, 40001, '64 Galaxie', '.bodymod', 1), + (40012, 40001, '69 Torino', '.bodymod', 1), + (40013, 40001, '70 Mustang', '.bodymod', 1), + (40014, 40001, '47 Caddy', '.bodymod', 1), + (40015, 40001, '55 Century', '.bodymod', 1), + (40016, 40001, '57 Bel-Air', '.bodymod', 1), + (40017, 40001, '57 Nomad', '.bodymod', 1), + (40018, 40001, '57 Corvette', '.bodymod', 1), + (40019, 40001, '58 Impala', '.bodymod', 1), + (40020, 40001, '59 Eldorado', '.bodymod', 1), + (40021, 40001, '63 Corvette', '.bodymod', 1), + (40022, 40001, '64 Impala', '.bodymod', 1), + (40023, 40001, '66 GTO', '.bodymod', 1), + (40024, 40001, '67 Chevelle', '.bodymod', 1), + (40025, 40001, '67 Camaro', '.bodymod', 1), + (40026, 40001, '69 Olds 442', '.bodymod', 1), + (40027, 40001, '69 GTO', '.bodymod', 1), + (40028, 40001, '70 El Camino', '.bodymod', 1), + (40029, 40001, '70 Nova', '.bodymod', 1), + (40030, 40001, '70 Chevelle', '.bodymod', 1), + (40031, 40001, '73 Firebird', '.bodymod', 1), + (40032, 40001, '69 Charger', '.bodymod', 1), + (40033, 40001, '69 Road Runner', '.bodymod', 1), + (40034, 40001, '69 AMX', '.bodymod', 1), + (40035, 40001, '70 Cuda', '.large', 1), + (40036, 40001, '71 Duster', '.bodymod', 1), + ( + 40037, + 40001, + '1963 Ford Thunderbird Scoop', + '.factory', + 2 + ), + ( + 40038, + 40001, + '1969 Hurst/Olds 4-4-2 Scoop', + '.factory', + 2 + ), + ( + 40039, + 40001, + '1969 Ford Torino GT Scoop', + '.factory', + 2 + ), + ( + 40040, + 40001, + '1969 Ford Torino Scoop', + '.factory', + 2 + ), + ( + 40041, + 40001, + '1967 Chevy Chevelle SS-396 Scoop', + '.factory', + 2 + ), + ( + 40042, + 40001, + '1967 Camaro SS-396 Scoop', + '.bodymod', + 2 + ), + ( + 40043, + 40001, + '1957 Ford Thunderbird Scoop', + '.factory', + 2 + ), + ( + 40044, + 40001, + '1964 Pontiac GTO Scoop', + '.factory', + 2 + ), + ( + 40045, + 40001, + '1963 Corvette Stingray Scoop', + '.factory', + 2 + ), + ( + 40046, + 40001, + '1969 Oldsmobile 4-4-2 W-30 Scoop', + '.factory', + 2 + ), + ( + 40047, + 40001, + '1973 Pontiac Firebird Scoop', + '.factory', + 2 + ), + ( + 40048, + 40001, + '1966 Pontiac GTO Scoop', + '.factory', + 2 + ), + ( + 40049, + 40001, + '1969 Pontiac GTO Scoop', + '.factory', + 2 + ), + ( + 40050, + 40001, + '1969 Pontiac Firebird Scoop', + '.factory', + 2 + ), + ( + 40051, + 40001, + '1969 Plymouth Road Runner Scoop', + '.factory', + 2 + ), + ( + 40052, + 40001, + '1970 Buick Gran Sport Scoop', + '.factory', + 2 + ), + ( + 40053, + 40001, + '1970 Chevy Nova SS-396 Scoop', + '.factory', + 2 + ), + ( + 40054, + 40001, + '1970 Plymouth ''Cuda Scoop', + '.bodymod', + 2 + ), + ( + 40055, + 40001, + '1973 Pontiac Trans-Am Scoop', + '.factory', + 2 + ), + ( + 40056, + 40001, + '1970 Dodge Challenger R/T Scoop', + '.factory', + 2 + ), + ( + 40057, + 40001, + '1958 Chevy Impala Sport Scoop', + '.factory', + 2 + ), + ( + 40058, + 40001, + '1970 Plymouth ''Cuda Hemi Scoop', + '.factory', + 2 + ), + (40059, 40001, 'Hood Mod Bel-Air', '.large', 2), + ( + 40060, + 40001, + '66 Shelby Cobra Hood', + '.bodymod', + 1 + ), + ( + 40061, + 40001, + '1970 Chevy Chevelle SS Hood', + '.factory', + 1 + ), + ( + 40062, + 40001, + '1970 Ford Mustang Factory Scoop Hood', + '.factory', + 2 + ), + ( + 100001, + 100001, + 'Cast Iron Rim (Round Flat)', + 'RIM01', + 1 + ), + ( + 100002, + 100001, + 'Steel Rim (Web Polished)', + 'RIM11', + 1 + ), + ( + 100003, + 100001, + 'Steel Slotted Rim (Star Polished)', + 'RIM02', + 1 + ), + ( + 100004, + 100001, + 'Aluminum Alloy Rim (Twist Split Star)', + 'RIM05', + 2 + ), + ( + 100005, + 100001, + 'Magnesium Rim (Round Flat)', + 'RIM01', + 3 + ), + (100006, 100001, 'HS-00', 'HC00', 1), + (100007, 100001, 'HS-01', 'HC01', 1), + (100008, 100001, 'HS-02', 'HC02', 1), + (100009, 100001, 'HS-03', 'HC03', 1), + (100010, 100001, 'HS-04', 'HC04', 1), + (100011, 100001, 'HS-05', 'HC05', 1), + (100012, 100001, 'HS-06', 'HC06', 1), + (100013, 100001, 'HS-07', 'HC07', 1), + (100014, 100001, 'HS-08', 'HC08', 1), + (100015, 100001, 'HS-09', 'HC09', 1), + (100016, 100001, 'HS-10', 'HC10', 1), + (100017, 100001, 'HS-11', 'HC11', 1), + (100018, 100001, 'HS-12', 'HC12', 1), + (100019, 100001, 'HS-13', 'HC13', 1), + (100020, 100001, 'HS-14', 'HC14', 1), + (100021, 100001, 'HS-15', 'HC15', 1), + (100022, 100001, 'HS-16', 'HC16', 1), + (100023, 100001, 'HS-17', 'HC17', 1), + (100024, 100001, 'HS-18', 'HC18', 1), + (100025, 100001, 'HS-19', 'HC19', 1), + (100026, 100001, 'HS-20', 'HC20', 1), + (100027, 100001, 'HS-21', 'HC21', 1), + (100028, 100001, 'HS-22', 'HC22', 1), + (100029, 100001, 'HS-23', 'HC23', 1), + (100030, 100001, 'HS-24', 'HC24', 1), + (100031, 100001, 'HS-25', 'HC25', 1), + (100032, 100001, 'HS-26', 'HC26', 1), + (100033, 100001, 'HS-27', 'HC27', 1), + (100034, 100001, 'HS-28', 'HC28', 1), + (100035, 100001, 'HS-29', 'HC29', 1), + (100036, 100001, 'HS-30', 'HC30', 1), + (100037, 100001, 'HS-31', 'HC31', 1), + (100038, 100001, 'HS-32', 'HC32', 1), + (100039, 100001, 'HS-33', 'HC33', 1), + (100040, 100001, 'HS-34', 'HC34', 1), + (100041, 100001, 'HS-35', 'HC35', 1), + (100042, 100001, 'HS-36', 'HC36', 1), + (100043, 100001, 'HS-37', 'HC37', 1), + (100044, 100001, 'HS-38', 'HC38', 1), + (100045, 100001, 'HS-39', 'HC39', 1), + (100046, 100001, 'HS-40', 'HC40', 1), + (100047, 100001, 'HS-41', 'HC41', 1), + (100048, 100001, 'HS-42', 'HC42', 1), + (100049, 100001, 'HS-43', 'HC43', 1), + (100050, 100001, 'HS-44', 'HC44', 1), + (100051, 100001, 'HS-45', 'HC45', 1), + (100052, 100001, 'HS-46', 'HC46', 1), + (100053, 100001, 'HS-47', 'HC47', 1), + (100054, 100001, 'HS-48', 'HC48', 1), + (100055, 100001, 'HS-49', 'HC49', 1), + (100056, 100001, 'HS-50', 'HC50', 1), + (100057, 100001, 'HS-51', 'HC51', 1), + (100058, 100001, 'HS-52', 'HC52', 1), + (100059, 100001, 'HS-53', 'hc53', 1), + (100060, 100001, 'HS-54', 'hc54', 1), + (100061, 100001, 'HS-55', 'hc55', 1), + (100062, 100001, 'HS-56', 'hc56', 1), + (100063, 100001, 'HS-57', 'hc57', 1), + (100064, 100001, 'HS-58', 'hc58', 1), + (100065, 100001, 'HA-00', 'HCA00', 1), + (100066, 100001, 'HA-01', 'HCA01', 1), + (100067, 100001, 'HA-02', 'HCA02', 1), + (100068, 100001, 'HA-03', 'HCA03', 1), + (100069, 100001, 'HA-04', 'HCA04', 1), + (100070, 100001, 'HA-05', 'HCA05', 1), + (100071, 100001, 'HA-06', 'HCA06', 1), + (100072, 100001, 'HA-07', 'HCA07', 1), + (100073, 100001, 'HA-08', 'HCA08', 1), + (100074, 100001, 'HA-09', 'HCA09', 1), + (100075, 100001, 'HA-10', 'HCA10', 1), + (100076, 100001, 'HA-11', 'HCA11', 1), + (100077, 100001, 'HA-12', 'HCA12', 1), + (100078, 100001, 'HA-13', 'HCA13', 1), + (100079, 100001, 'HA-14', 'HCA14', 1), + (100080, 100001, 'HA-15', 'HCA15', 1), + (100081, 100001, 'HA-16', 'HCA16', 1), + (100082, 100001, 'HA-17', 'HCA17', 1), + (100083, 100001, 'HA-18', 'HCA18', 1), + (100084, 100001, 'HA-19', 'HCA19', 1), + (100085, 100001, 'HA-20', 'HCA20', 1), + (100086, 100001, 'HA-21', 'HCA21', 1), + (100087, 100001, 'HA-22', 'HCA22', 1), + (100088, 100001, 'HA-23', 'HCA23', 1), + (100089, 100001, 'HA-24', 'HCA24', 1), + (100090, 100001, 'HA-25', 'HCA25', 1), + (100091, 100001, 'HA-26', 'HCA26', 1), + (100092, 100001, 'HA-27', 'HCA27', 1), + (100093, 100001, 'RS-00', 'RIM00', 1), + (100094, 100001, 'RS-01', 'RIM01', 1), + (100095, 100001, 'RS-02', 'RIM02', 1), + (100096, 100001, 'RS-03', 'RIM03', 1), + (100097, 100001, 'RS-04', 'RIM04', 1), + (100098, 100001, 'RS-05', 'RIM05', 1), + (100099, 100001, 'RS-06', 'RIM06', 1), + (100100, 100001, 'RS-07', 'RIM07', 1), + (100101, 100001, 'RS-08', 'RIM08', 1), + (100102, 100001, 'RS-09', 'RIM09', 1), + (100103, 100001, 'RS-10', 'RIM10', 1), + (100104, 100001, 'RS-11', 'RIM11', 1), + (100105, 100001, 'RS-12', 'RIM12', 1), + (100106, 100001, 'RA-00', 'RIMA00', 1), + (100107, 100001, 'RA-01', 'RIMA01', 1), + (100108, 100001, 'RA-02', 'RIMA02', 1), + (100109, 100001, 'RA-03', 'RIMA03', 1), + (100110, 100001, 'RA-04', 'RIMA04', 1), + (100111, 100001, 'RA-05', 'RIMA05', 1), + (100112, 100001, 'RA-06', 'RIMA06', 1), + (100113, 100001, 'RA-07', 'RIMA07', 1), + (100114, 100001, 'RA-08', 'RIMA08', 1), + (100115, 100001, 'RA-09', 'RIMA09', 1), + (100116, 100001, 'RA-10', 'RIMA10', 1), + (100117, 100001, 'RA-11', 'RIMA11', 1), + (100118, 100001, 'RA-12', 'RIMA12', 1), + (100119, 100001, 'RA-13', 'RIMA13', 1), + (100120, 100001, 'RA-14', 'RIMA14', 1), + (100121, 100001, 'RA-15', 'RIMA15', 1), + (100122, 100001, 'RA-16', 'RIMA16', 1), + (100123, 100001, 'RA-17', 'RIMA17', 1), + (100124, 100001, 'RA-18', 'RIMA18', 1), + (100125, 100001, 'RA-19', 'RIMA19', 1), + (100126, 100001, 'RA-20', 'RIMA20', 1), + (100127, 100001, 'RA-21', 'RIMA21', 1), + (100128, 100001, 'RA-22', 'RIMA22', 1), + (100129, 100001, 'RA-23', 'RIMA23', 1), + (100130, 100001, 'RA-24', 'RIMA24', 1), + (100131, 100001, 'RA-25', 'RIMA25', 1), + (100132, 100001, 'RA-26', 'RIMA26', 1), + (100133, 100001, 'RA-27', 'RIMA27', 1), + (100134, 100001, 'RA-28', 'RIMA28', 1), + (100135, 100001, 'RA-29', 'RIMA29', 1), + ( + 100136, + 100001, + '22.5" Heavy Truck Rim', + 'RIM01', + 1 + ), + (100137, 100001, 'Aluminum Slot', 'RIMA00', 2), + (100138, 100001, 'Aluminum Round', 'RIMA01', 1), + (100139, 100001, 'Aluminum Twistar 5', 'HCA03', 2), + (100140, 100001, 'Aluminum Rippled Orb', 'HC14', 2), + ( + 100141, + 100001, + 'Aluminum Hypnotic Star 6', + 'HC13', + 2 + ), + ( + 100142, + 100001, + 'Aluminum Super Slot 15', + 'HCA03', + 2 + ), + ( + 100143, + 100001, + 'Aluminum Teardrop Slot 8', + 'HCA04', + 2 + ), + (100144, 100001, 'Aluminum Twistar 7', 'HCA05', 2), + ( + 100145, + 100001, + 'Aluminum Power Turbine', + 'HCA15', + 2 + ), + ( + 110001, + 110001, + '18 x 5.25 Bias Ply Blackwalls (2ply)', + 'TIREBLAC', + 1 + ), + ( + 110002, + 110001, + '150/82/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110003, + 110001, + '170/82/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110004, + 110001, + '178/82/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110005, + 110001, + '190/82/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110006, + 110001, + '210/82/14 Bias Ply', + 'TIREBLAC', + 2 + ), + ( + 110007, + 110001, + '150/92/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110008, + 110001, + '170/92/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110009, + 110001, + '178/92/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110010, + 110001, + '190/92/14 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110011, + 110001, + '210/92/14 Bias Ply', + 'TIREBLAC', + 2 + ), + ( + 110012, + 110001, + '170/82/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110013, + 110001, + '190/82/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110014, + 110001, + '210/82/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110015, + 110001, + '150/92/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110016, + 110001, + '170/92/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110017, + 110001, + '190/92/15 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110018, + 110001, + '150/92/16 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110019, + 110001, + '170/92/16 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110020, + 110001, + '190/92/16 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110021, + 110001, + '210/92/16 Bias Ply', + 'TIREBLAC', + 1 + ), + ( + 110022, + 110001, + '190/60/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110023, + 110001, + '214/60/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110024, + 110001, + '238/60/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110025, + 110001, + '190/72/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110026, + 110001, + '202/72/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110027, + 110001, + '214/72/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110028, + 110001, + '226/72/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110029, + 110001, + '238/72/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110030, + 110001, + '166/82/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110031, + 110001, + '178/82/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110032, + 110001, + '190/82/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110033, + 110001, + '202/82/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110034, + 110001, + '214/82/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110035, + 110001, + '178/92/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110036, + 110001, + '202/92/14 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110037, + 110001, + '178/60/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110038, + 110001, + '202/60/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110039, + 110001, + '226/60/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110040, + 110001, + '238/60/15 Bias Belted', + 'TIREBLAC', + 2 + ), + ( + 110041, + 110001, + '202/72/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110042, + 110001, + '226/72/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110043, + 110001, + '238/72/15 Bias Belted', + 'TIREBLAC', + 2 + ), + ( + 110044, + 110001, + '190/82/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110045, + 110001, + '214/82/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110046, + 110001, + '238/82/15 Bias Belted', + 'TIREBLAC', + 2 + ), + ( + 110047, + 110001, + '178/92/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110048, + 110001, + '202/92/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110049, + 110001, + '226/92/15 Bias Belted', + 'TIREBLAC', + 1 + ), + ( + 110050, + 110001, + '238/92/15 Bias Belted', + 'TIREBLAC', + 2 + ), + (110051, 110001, '185/65/14 Radial', 'TIREBLAC', 1), + (110052, 110001, '205/65/14 Radial', 'TIREBLAC', 1), + (110053, 110001, '195/70/14 Radial', 'TIREBLAC', 1), + (110054, 110001, '215/70/14 Radial', 'TIREBLAC', 1), + (110055, 110001, '195/75/14 Radial', 'TIREBLAC', 1), + (110056, 110001, '205/75/14 Radial', 'TIREBLAC', 1), + (110057, 110001, '195/65/15 Radial', 'TIREBLAC', 1), + (110058, 110001, '215/65/15 Radial', 'TIREBLAC', 2), + (110059, 110001, '205/70/15 Radial', 'TIREBLAC', 1), + (110060, 110001, '215/70/15 Radial', 'TIREBLAC', 1), + (110061, 110001, '225/70/15 Radial', 'TIREBLAC', 2), + (110062, 110001, '205/75/15 Radial', 'TIREBLAC', 1), + (110063, 110001, '215/75/15 Radial', 'TIREBLAC', 1), + (110064, 110001, '235/75/15 Radial', 'TIREBLAC', 2), + (110065, 110001, '215/65/16 Radial', 'TIREBLAC', 1), + (110066, 110001, '215/60/16 Radial', 'TIREBLAC', 1), + (110067, 110001, '225/60/16 Radial', 'TIREBLAC', 1), + (110068, 110001, '225/55/16 Radial', 'TIREBLAC', 1), + ( + 110069, + 110001, + '205/55/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110070, + 110001, + '195/60/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110071, + 110001, + '205/60/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110072, + 110001, + '215/60/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110073, + 110001, + '185/65/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110074, + 110001, + '195/65/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110075, + 110001, + '205/65/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110076, + 110001, + '215/65/15 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110077, + 110001, + '225/55/16 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110078, + 110001, + '215/60/16 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110079, + 110001, + '225/60/16 Radial Rain', + 'TIREBLAC', + 2 + ), + ( + 110080, + 110001, + '195/55/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110081, + 110001, + '205/55/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110082, + 110001, + '195/60/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110083, + 110001, + '205/60/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110084, + 110001, + '215/60/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110085, + 110001, + '185/65/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110086, + 110001, + '195/65/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110087, + 110001, + '205/65/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110088, + 110001, + '215/65/15VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110089, + 110001, + '205/40/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110090, + 110001, + '215/40/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110091, + 110001, + '205/45/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110092, + 110001, + '215/45/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110093, + 110001, + '205/50/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110094, + 110001, + '225/50/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110095, + 110001, + '245/50/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110096, + 110001, + '205/55/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110097, + 110001, + '215/55/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110098, + 110001, + '225/55/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110099, + 110001, + '215/60/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110100, + 110001, + '225/60/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110101, + 110001, + '235/60/16VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110102, + 110001, + '215/40/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110103, + 110001, + '235/40/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110104, + 110001, + '255/40/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110105, + 110001, + '215/45/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110106, + 110001, + '225/45/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110107, + 110001, + '235/45/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110108, + 110001, + '245/45/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110109, + 110001, + '315/35/17VR Performance', + 'TIREBLAC', + 3 + ), + ( + 110110, + 110001, + '195/55/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110111, + 110001, + '205/55/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110112, + 110001, + '195/60/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110113, + 110001, + '205/60/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110114, + 110001, + '215/60/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110115, + 110001, + '185/65/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110116, + 110001, + '195/65/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110117, + 110001, + '205/65/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110118, + 110001, + '215/65/15VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110119, + 110001, + '205/40/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110120, + 110001, + '205/45/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110121, + 110001, + '215/45/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110122, + 110001, + '205/50/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110123, + 110001, + '225/50/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110124, + 110001, + '245/50/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110125, + 110001, + '205/55/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110126, + 110001, + '225/55/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110127, + 110001, + '215/60/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110128, + 110001, + '225/60/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110129, + 110001, + '235/60/16VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110130, + 110001, + '215/40/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110131, + 110001, + '235/40/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110132, + 110001, + '215/45/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110133, + 110001, + '225/45/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110134, + 110001, + '235/45/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110135, + 110001, + '245/45/17VR Performance Rain', + 'TIREBLAC', + 3 + ), + ( + 110136, + 110001, + '162/68/18 Bias Belted', + 'TIREBLAC', + 1 + ), + (110137, 110001, 'Big Tire', 'TIREBLAC', 1), + ( + 110138, + 110001, + '245/50/16VR High Performance', + 'TIREBLAC', + 4 + ), + (110139, 110001, '195/60/15 Street', 'TIREBLAC', 2), + ( + 110140, + 110001, + '295/80/22.5 Bus Tire', + 'TIREBLAC', + 1 + ), + ( + 110141, + 110001, + '207/70/14 (D70-14)', + 'TIREWHIT', + 1 + ), + ( + 110142, + 110001, + '212/70/14 (E70-14)', + 'TIREWHIT', + 1 + ), + ( + 110143, + 110001, + '221/70/14 (F70-14)', + 'TIREWHIT', + 1 + ), + ( + 110144, + 110001, + '232/70/14 (G70-14)', + 'TIREWHIT', + 1 + ), + ( + 110145, + 110001, + '210/70/15 (E70-15)', + 'TIREWHIT', + 1 + ), + ( + 110146, + 110001, + '216/70/15 (F70-15)', + 'TIREWHIT', + 1 + ), + ( + 110147, + 110001, + '227/70/15 (G70-15)', + 'TIREWHIT', + 1 + ), + ( + 110148, + 110001, + '231/60/15 (F60-15)', + 'TIREWHIT', + 1 + ), + ( + 110149, + 110001, + '243/60/15 (G60-15)', + 'TIREWHIT', + 1 + ), + ( + 110150, + 110001, + '224/60/15 (E60-15)', + 'TIREWHIT', + 1 + ), + (110151, 110001, '175/65/14 Radial', 'TIREBLAC', 1), + (110152, 110001, '195/65/14 Radial', 'TIREBLAC', 1), + (110153, 110001, '185/60/14 Radial', 'TIREBLAC', 1), + (110154, 110001, '195/60/14 Radial', 'TIREBLAC', 1), + (110155, 110001, '185/65/15 Radial', 'TIREBLAC', 1), + (110156, 110001, '205/65/15 Radial', 'TIREBLAC', 1), + (110157, 110001, '195/60/15 Radial', 'TIRERED', 1), + (110158, 110001, '205/60/15 Radial', 'TIRERED', 1), + (110159, 110001, '215/60/15 Radial', 'TIRERED', 1), + (110160, 110001, '195/55/15 Radial', 'TIRERED', 1), + (110161, 110001, '205/55/15 Radial', 'TIRERED', 1), + (110162, 110001, '195/50/15 Radial', 'TIRERED', 1), + (110163, 110001, '205/50/15 Radial', 'TIRERED', 1), + (110164, 110001, '225/50/15 Radial', 'TIRERED', 1), + ( + 110165, + 110001, + '195/50/15VR Performance', + 'TIREBLAC', + 2 + ), + ( + 110166, + 110001, + '205/50/15VR Performance', + 'TIREBLAC', + 2 + ), + ( + 110167, + 110001, + '225/50/15VR Performance', + 'TIREBLAC', + 2 + ), + ( + 110168, + 110001, + '205/40/17VR Performance', + 'TIREBLAC', + 2 + ), + ( + 110169, + 110001, + '245/45/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110170, + 110001, + '225/60/16VR High Performance', + 'TIREBLAC', + 4 + ), + (110171, 110001, '225/60/16ZR SCUT', 'TIREBLAC', 4), + (110172, 110001, '245/45/17ZR SCUT', 'TIREBLAC', 4), + (110173, 110001, '245/50/16ZR SCUT', 'TIREBLAC', 4), + ( + 110174, + 110001, + '225/35/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110175, + 110001, + '205/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110176, + 110001, + '215/40/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110177, + 110001, + '215/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110178, + 110001, + '225/40/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110179, + 110001, + '235/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110180, + 110001, + '245/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110181, + 110001, + '255/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110182, + 110001, + '265/40/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110183, + 110001, + '205/45/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110184, + 110001, + '215/45/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110185, + 110001, + '215/45/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110186, + 110001, + '225/45/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110187, + 110001, + '225/45/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110188, + 110001, + '235/45/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110189, + 110001, + '245/45/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110190, + 110001, + '205/50/15VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110191, + 110001, + '205/50/16VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110192, + 110001, + '205/50/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110193, + 110001, + '215/50/15VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110194, + 110001, + '215/50/17VR High Performance', + 'TIREBLAC', + 4 + ), + ( + 110195, + 110001, + '225/50/16VR High Performance', + 'TIREBLAC', + 4 + ), + (110196, 110001, '235/60/15 Radial', 'TIREBLAC', 1), + (110197, 110001, '275/60/15 Radial', 'TIREBLAC', 2), + (110198, 110001, '295/60/15 Radial', 'TIREBLAC', 3), + (110199, 110001, '245/60/15 Radial', 'TIREBLAC', 2), + (110200, 110001, '255/60/15 Radial', 'TIREBLAC', 2), + (110201, 110001, '265/60/15 Radial', 'TIREBLAC', 2), + ( + 130001, + 130001, + '3-Speed Auto (2.5/1.56/1)', + NULL, + 1 + ), + ( + 130002, + 130001, + '3-Speed Auto (2.4/1.479/1)', + NULL, + 1 + ), + ( + 130003, + 130001, + '4-Speed Auto (2.741/1.568/1/0.674)', + NULL, + 1 + ), + ( + 130004, + 130001, + '3-Speed Auto (2.52/1.52/1) A', + NULL, + 1 + ), + ( + 130005, + 130001, + '3-Speed Auto (2.482/1.482/1)', + NULL, + 1 + ), + ( + 130006, + 130001, + '4-Speed Auto (3.059/1.625/1/0.696) A', + NULL, + 1 + ), + ( + 130007, + 130001, + '4-Speed Auto (2.4/1.479/1/0.723)', + NULL, + 1 + ), + ( + 130008, + 130001, + '4-Speed Auto (2.482/1.482/1/0.75)', + NULL, + 1 + ), + ( + 130009, + 130001, + '4-Speed Auto (2.74/1.57/1/0.67)', + NULL, + 1 + ), + ( + 130010, + 130001, + '4-Speed Auto (3.06/1.62/1/0.7)', + NULL, + 1 + ), + ( + 130011, + 130001, + '4-Speed Auto (3.97/2.55/1.55/1)', + NULL, + 1 + ), + ( + 130012, + 130001, + '3-Speed Manual (2.5/1.18/1)', + NULL, + 1 + ), + ( + 130013, + 130001, + '5-Speed Manual (2.95/1.94/1.34/1/0.63)', + NULL, + 2 + ), + ( + 130014, + 130001, + '5-Speed Manual (2.75/1.94/1.34/1/0.74)', + NULL, + 2 + ), + ( + 130015, + 130001, + '4-Speed Manual (2.64/1.61/1.23/1)', + NULL, + 1 + ), + ( + 130016, + 130001, + '4-Speed Manual (2.88/1.74/1.33/1)', + NULL, + 1 + ), + ( + 130017, + 130001, + '4-Speed Manual (3.44/2.28/1.46/1)', + NULL, + 1 + ), + ( + 130018, + 130001, + '4-Speed Manual (2.66/1.91/1.39/1)', + NULL, + 1 + ), + ( + 130019, + 130001, + '4-Speed Manual (2.22/1.64/1.28/1)', + NULL, + 1 + ), + ( + 130020, + 130001, + '4-Speed Manual (2.65/1.93/1.39/1)', + NULL, + 1 + ), + ( + 130021, + 130001, + 'Powerglide Auto (1.82/1) Chevrolet 2-Speed Powerglide', + NULL, + 1 + ), + ( + 130022, + 130001, + 'Chevrolet 3-Speed Standard Ratio', + NULL, + 1 + ), + ( + 130023, + 130001, + '3-Speed Close Ratio (2.21/1.32/1)', + NULL, + 1 + ), + ( + 130024, + 130001, + 'Chevrolet 3-Speed w/ Overdrive', + NULL, + 1 + ), + ( + 130025, + 130001, + '4-Speed Close Ratio (2.21/1.66/1.31/1)', + NULL, + 2 + ), + ( + 130026, + 130001, + 'Ford Cruise-O-Matic (Automatic)', + NULL, + 1 + ), + ( + 130027, + 130001, + 'Muncie Close-Ratio M22 (2.2/1.64/1.27/1)', + NULL, + 2 + ), + ( + 130028, + 130001, + 'Muncie Early Wide-Ratio (Manual)', + NULL, + 1 + ), + ( + 130029, + 130001, + 'Muncie Close-Ratio (Manual)', + NULL, + 1 + ), + ( + 130030, + 130001, + 'Muncie Wide-Ratio M20 Manual (2.52/1.88/1.46/1)', + NULL, + 1 + ), + ( + 130031, + 130001, + '1997 Corvette 4-Speed Automatic Transmission', + NULL, + 3 + ), + ( + 130032, + 130001, + 'Speedliner 5-Speed Automatic Transmission', + NULL, + 3 + ), + ( + 130033, + 130001, + 'Powerglide Automatic (1.76/1)', + NULL, + 1 + ), + ( + 130034, + 130001, + 'Turbo Hydra-Matic 350 (Automatic)', + NULL, + 1 + ), + ( + 130035, + 130001, + 'Ford C-4 Dual Range (Automatic)', + NULL, + 1 + ), + ( + 130036, + 130001, + 'Borg-Warner T-10 Special Close-Ratio (Manual)', + NULL, + 3 + ), + ( + 130037, + 130001, + 'Borg-Warner T-10X Special Competition (Manual)', + NULL, + 3 + ), + ( + 130038, + 130001, + 'Borg-Warner T-10W Special Wide-Ratio (Manual)', + NULL, + 3 + ), + ( + 130039, + 130001, + 'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)', + NULL, + 3 + ), + ( + 130040, + 130001, + 'T+C Top Loader Close Ratio M (2.32/1.69/1.29/1)', + NULL, + 1 + ), + ( + 130041, + 130001, + 'Ford T+C Top Loader Overdrive (Manual)', + NULL, + 1 + ), + ( + 130042, + 130001, + 'Ford T+C Top Loader Overdrive2 (Manual)', + NULL, + 1 + ), + ( + 130043, + 130001, + '3-speed Synchro-Mesh (Manual)', + NULL, + 1 + ), + ( + 130044, + 130001, + '4-speed All-Synchro (Manual)', + NULL, + 1 + ), + ( + 130045, + 130001, + 'Bully 727 Torqueflite A (2.45/1.45/1)', + NULL, + 2 + ), + ( + 130046, + 130001, + 'Bully Turbo-Hydro 400 A (2.48/1.48/1)', + NULL, + 2 + ), + (130047, 130001, 'Borg T-85 3 spd manual', NULL, 2), + ( + 130048, + 130001, + 'Ford-o-matic Auto (1.76/1)', + NULL, + 1 + ), + ( + 130049, + 130001, + 'Shift Command A (2.45/1.45/1)', + NULL, + 2 + ), + ( + 130050, + 130001, + 'Borg-Warner T56 6 Speed Auto', + NULL, + 3 + ), + ( + 130051, + 130001, + 'LD 3-Speed Manual (2.5/1.18/1)', + NULL, + 1 + ), + ( + 130052, + 130001, + 'Hall Helix 3-Speed Manual', + NULL, + 4 + ), + ( + 130053, + 130001, + 'Hall Helix 3-Speed Automatic', + NULL, + 4 + ), + (130054, 130001, 'Super Muncie', NULL, 3), + ( + 130055, + 130001, + 'Muncie Close-Ratio M21 (2.2/1.64/1.27/1)', + NULL, + 1 + ), + (130056, 130001, 'M13 3 Speed Manual', NULL, 2), + ( + 130057, + 130001, + 'Buick Dynaflow Auto (2.4/1.479/1)', + NULL, + 1 + ), + ( + 140001, + 140001, + 'Rear Differential (2.73)', + NULL, + 1 + ), + ( + 140002, + 140001, + 'Rear Differential (2.93)', + NULL, + 1 + ), + ( + 140003, + 140001, + 'Rear Differential (3.00)', + NULL, + 1 + ), + ( + 140004, + 140001, + 'Rear Differential (3.23)', + NULL, + 1 + ), + ( + 140005, + 140001, + 'Rear Differential (3.31)', + NULL, + 1 + ), + ( + 140006, + 140001, + 'Rear Differential (3.42)', + NULL, + 2 + ), + ( + 140007, + 140001, + 'Rear Differential (3.50)', + NULL, + 2 + ), + ( + 140008, + 140001, + 'Rear Differential (3.54)', + NULL, + 2 + ), + ( + 140009, + 140001, + 'Rear Differential (3.55)', + NULL, + 2 + ), + ( + 140010, + 140001, + 'Rear Differential (3.64)', + NULL, + 2 + ), + ( + 140011, + 140001, + 'Rear Differential (3.70)', + NULL, + 2 + ), + ( + 140012, + 140001, + 'Rear Differential (3.77)', + NULL, + 2 + ), + ( + 140013, + 140001, + 'Rear Differential (3.90)', + NULL, + 3 + ), + ( + 140014, + 140001, + 'Rear Differential (4.10)', + NULL, + 3 + ), + ( + 140015, + 140001, + 'Rear Differential (4.33)', + NULL, + 3 + ), + ( + 140016, + 140001, + 'Ford 3.10 Differential (Ford-O-Matic)', + NULL, + 1 + ), + ( + 140017, + 140001, + 'Rear Differential (3.56)', + NULL, + 2 + ), + ( + 140018, + 140001, + 'GM Rear Differential 3.40 (Dynaflow)', + NULL, + 1 + ), + ( + 140019, + 140001, + 'Rear Differential (3.25)', + NULL, + 1 + ), + ( + 140020, + 140001, + 'Rear Differential (3.91)', + NULL, + 3 + ), + ( + 140021, + 140001, + 'GM Rear Differential (3.71)', + NULL, + 2 + ), + ( + 140022, + 140001, + 'Rear Differential (3.07) L', + NULL, + 1 + ), + ( + 140023, + 140001, + 'Rear Differential (4.10) LD', + NULL, + 1 + ), + ( + 140024, + 140001, + 'Rear Differential (3.90) LD', + NULL, + 1 + ), + ( + 140025, + 140001, + 'Rear Differential (3.31) LD', + NULL, + 1 + ), + (140026, 140001, 'Ford 9" (3.08)', NULL, 2), + (140027, 140001, 'Ford 9" (3.27)', NULL, 2), + (140028, 140001, 'Ford 9" (3.45)', NULL, 2), + (140029, 140001, 'Ford 9" (3.55)', NULL, 2), + (140030, 140001, 'Ford 9" (3.73)', NULL, 2), + (140031, 140001, 'Ford 9" (4.10)', NULL, 3), + (140032, 140001, 'Ford 8" (3.08)', NULL, 1), + (140033, 140001, 'Ford 8" (3.27)', NULL, 1), + (140034, 140001, 'Ford 8" (3.45)', NULL, 1), + (140035, 140001, 'Ford 8" (3.55)', NULL, 1), + (140036, 140001, 'Ford 8" (3.73)', NULL, 1), + (140037, 140001, 'Ford 8" (4.10)', NULL, 1), + (140038, 140001, 'GM 10-bolt (2.73)', NULL, 1), + (140039, 140001, 'GM 10-bolt (3.08)', NULL, 1), + (140040, 140001, 'GM 10-bolt (3.36)', NULL, 1), + (140041, 140001, 'GM 10-bolt (3.55)', NULL, 1), + (140042, 140001, 'GM 10-bolt (3.70)', NULL, 1), + (140043, 140001, 'GM 12-bolt (3.07)', NULL, 2), + (140044, 140001, 'GM 12-bolt (3.31)', NULL, 2), + (140045, 140001, 'GM 12-bolt (3.55)', NULL, 2), + (140046, 140001, 'GM 12-bolt (3.73)', NULL, 2), + (140047, 140001, 'GM 12-bolt (4.10)', NULL, 3), + (140048, 140001, 'GM 12-bolt (2.73)', NULL, 2), + ( + 140049, + 140001, + 'GM 12-bolt (3.55) Police', + NULL, + 3 + ), + (140050, 140001, 'Hall 14-bolt (3.42)', NULL, 3), + (140051, 140001, 'Hall 14-bolt (3.73)', NULL, 3), + (140052, 140001, 'Hall 14-bolt (4.10)', NULL, 3), + ( + 150001, + 150001, + 'Bully Torqueflite HD Transmission Cooler', + NULL, + 3 + ), + ( + 150002, + 150001, + 'Bully Turbo ND Tranmission Cooler', + NULL, + 2 + ), + ( + 150003, + 150001, + 'Bully Powerglide LD Transmission Cooler', + NULL, + 1 + ), + ( + 150004, + 150001, + 'Bully C-6 XHD Transmission Cooler', + NULL, + 4 + ), + (160001, 160001, 'Buick V8 322', 'ENGINE', 2), + (160002, 160001, 'Buick SB V8 350', 'ENGINE', 2), + (160003, 160001, 'Buick BB V8 455', 'ENGINE', 3), + (160004, 160001, 'Chevy W V8 427', 'ENGINE', 3), + (160005, 160001, 'Chevy V8 265', 'ENGINE', 1), + (160006, 160001, 'Chevy V8 283', 'ENGINE', 1), + (160007, 160001, 'Chevy V8 302', 'ENGINE', 1), + (160008, 160001, 'Chevy V8 307', 'ENGINE', 1), + (160009, 160001, 'Chevy V8 327', 'ENGINE', 2), + ( + 160010, + 160001, + 'Cadillac L-Head V8 346', + 'ENGINE', + 1 + ), + (160011, 160001, 'Chevy V8 348', 'ENGINE', 1), + (160012, 160001, 'Chevy V8 350', 'ENGINE', 2), + (160013, 160001, 'Cadillac V8 390', 'ENGINE', 2), + (160014, 160001, 'Chevy V8 396', 'ENGINE', 2), + (160015, 160001, 'Chevy V8 400', 'ENGINE', 2), + (160016, 160001, 'Chevy V8 409', 'ENGINE', 3), + (160017, 160001, 'Chevy V8 454', 'ENGINE', 3), + (160018, 160001, 'Chevy V8 502', 'ENGINE', 4), + (160019, 160001, 'Chevy V8 402', 'ENGINE', 3), + ( + 160020, + 160001, + 'Ford V8 351 Windsor', + 'ENGINE', + 2 + ), + (160021, 160001, 'Ford V8 400', 'ENGINE', 3), + ( + 160022, + 160001, + '221-V8 24-bolt (32)', + 'ENGINE', + 1 + ), + (160023, 160001, 'Ford V8 239', 'ENGINE', 1), + (160024, 160001, 'Ford V8 260', 'ENGINE', 1), + (160025, 160001, 'Ford V8 272', 'ENGINE', 1), + (160026, 160001, 'Ford V8 289', 'ENGINE', 1), + (160027, 160001, 'Ford V8 292', 'ENGINE', 1), + (160028, 160001, 'Ford V8 302', 'ENGINE', 1), + (160029, 160001, 'Ford V8 312', 'ENGINE', 1), + (160030, 160001, 'Ford V8 351', 'ENGINE', 2), + (160031, 160001, 'Ford V8 390', 'ENGINE', 2), + (160032, 160001, 'Ford V8 406', 'ENGINE', 3), + (160033, 160001, 'Ford V8 427', 'ENGINE', 3), + (160034, 160001, 'Ford V8 428', 'ENGINE', 3), + (160035, 160001, 'Ford V8 429', 'ENGINE', 3), + (160036, 160001, 'Ford V8 352', 'ENGINE', 2), + (160037, 160001, 'Oldsmobile V8 350', 'ENGINE', 2), + (160038, 160001, 'Oldsmobile V8 400', 'ENGINE', 3), + (160039, 160001, 'Oldsmobile V8 455', 'ENGINE', 3), + (160040, 160001, 'Pontiac V8 350', 'ENGINE', 2), + (160041, 160001, 'Pontiac V8 421', 'ENGINE', 3), + (160042, 160001, 'Pontiac V8 389', 'ENGINE', 2), + (160043, 160001, 'Pontiac V8 400', 'ENGINE', 3), + (160044, 160001, 'Pontiac V8 428', 'ENGINE', 3), + (160045, 160001, 'Pontiac V8 455', 'ENGINE', 3), + ( + 160046, + 160001, + 'AMC V8 290 Aluminum Indy', + 'ENGINE', + 4 + ), + (160047, 160001, 'Ford V8 460', 'ENGINE', 3), + (160048, 160001, 'Chevy V8 427', 'ENGINE', 3), + (160049, 160001, 'Hi-Pro V8 5.0L', 'ENGINE', 4), + ( + 160050, + 160001, + 'Mercury Flathead 255', + 'ENGINE', + 1 + ), + (160051, 160001, 'Chrysler V8 273', 'ENGINE', 1), + (160052, 160001, 'Chrysler V8 318', 'ENGINE', 1), + (160053, 160001, 'Chrysler V8 340', 'ENGINE', 2), + (160054, 160001, 'Chrysler V8 360', 'ENGINE', 2), + (160055, 160001, 'Chrysler V8 383', 'ENGINE', 2), + (160056, 160001, 'Chrysler V8 400', 'ENGINE', 3), + (160057, 160001, 'Chrysler V8 413', 'ENGINE', 3), + (160058, 160001, 'Chrysler V8 426', 'ENGINE', 3), + (160059, 160001, 'Chrysler V8 440', 'ENGINE', 3), + (160060, 160001, 'AMC V8 290', 'ENGINE', 1), + (160061, 160001, 'AMC V8 343', 'ENGINE', 2), + (160062, 160001, 'AMC V8 390', 'ENGINE', 2), + (160063, 160001, 'ShadeTree V8 265', 'ENGINE', 1), + (160064, 160001, 'AMC V8 360', 'ENGINE', 2), + ( + 160065, + 160001, + 'Chrysler V8 426 Hemi', + 'ENGINE', + 4 + ), + (160066, 160001, 'Ford V8 390 HP', 'ENGINE', 3), + (160067, 160001, 'Ford V8 429 Boss', 'ENGINE', 4), + (160068, 160001, 'Ford V8 289 HP', 'ENGINE', 2), + (160069, 160001, 'Ford V8 302 Boss', 'ENGINE', 2), + (160070, 160001, 'Buick BB V8 400', 'ENGINE', 3), + (160071, 160001, 'Buick BB V8 430', 'ENGINE', 3), + (160072, 160001, 'Chevy V8 427 ZL1', 'ENGINE', 4), + (160073, 160001, 'Buick V8 364', 'ENGINE', 2), + (160074, 160001, 'Buick V8 401', 'ENGINE', 3), + (160075, 160001, 'Buick V8 425', 'ENGINE', 3), + (160076, 160001, 'Buick SB V8 300', 'ENGINE', 1), + (160077, 160001, 'Buick SB V8 340', 'ENGINE', 2), + (160078, 160001, 'Cadillac V8 365', 'ENGINE', 2), + (160079, 160001, 'Cadillac V8 429', 'ENGINE', 3), + ( + 160080, + 160001, + 'Ford 385 NASCAR Mg Block', + 'ENGINE', + 4 + ), + ( + 160081, + 160001, + 'Ford 385 NASCAR Block', + 'ENGINE', + 4 + ), + (160082, 160001, 'AMC V8 401', 'ENGINE', 3), + ( + 180001, + 180001, + 'Chevrolet SB Cast Iron Crankshaft', + NULL, + 1 + ), + ( + 180002, + 180001, + 'Chevrolet BB Stock CI Crankshaft', + NULL, + 1 + ), + ( + 180003, + 180001, + 'Buick BB Stock Crankshaft', + NULL, + 1 + ), + ( + 180004, + 180001, + 'Buick SB Stock Crankshaft', + NULL, + 1 + ), + ( + 180005, + 180001, + 'Cadillac BB Stock Crankshaft', + NULL, + 1 + ), + ( + 180006, + 180001, + 'Chevrolet BB Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180007, + 180001, + 'Chevrolet SB Stock FS Crankshaft', + NULL, + 1 + ), + ( + 180008, + 180001, + 'Chrysler BB Stock FS Crankshaft', + NULL, + 1 + ), + ( + 180009, + 180001, + 'Chrysler SB Stock FS Crankshaft', + NULL, + 1 + ), + ( + 180010, + 180001, + 'Ford BB Stock Crankshaft', + NULL, + 1 + ), + ( + 180011, + 180001, + 'Ford Y Stock Crankshaft', + NULL, + 1 + ), + ( + 180012, + 180001, + 'Ford Flathead Stock Crankshaft', + NULL, + 1 + ), + ( + 180013, + 180001, + 'Olds BB Forged Steel Crankshaft', + NULL, + 1 + ), + ( + 180014, + 180001, + 'Olds SB Stock Crankshaft', + NULL, + 1 + ), + ( + 180015, + 180001, + 'AMC Stock TI Crankshaft', + NULL, + 1 + ), + ( + 180016, + 180001, + 'Pontiac Stock Crankshaft', + NULL, + 1 + ), + ( + 180017, + 180001, + 'Chevrolet SB Treated Iron Crankshaft', + NULL, + 1 + ), + ( + 180018, + 180001, + 'Crower Pure-Stock Chevrolet SB Crankshaft', + NULL, + 1 + ), + ( + 180019, + 180001, + 'Crower Stock-Plus Chevrolet SB Crankshaft', + NULL, + 2 + ), + ( + 180020, + 180001, + 'Crower Enduro Chevrolet SB Crankshaft', + NULL, + 2 + ), + ( + 180021, + 180001, + 'Crower Ultra-Light Chevrolet SB Crankshaft', + NULL, + 2 + ), + ( + 180022, + 180001, + 'Crower Standard Chevrolet SB Crankshaft', + NULL, + 3 + ), + ( + 180023, + 180001, + 'Crower Standard Chevrolet BB Crankshaft', + NULL, + 3 + ), + ( + 180024, + 180001, + 'Olds SB Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180025, + 180001, + 'Olds BB Stock Cast Iron Crankshaft', + NULL, + 1 + ), + ( + 180026, + 180001, + 'Olds BB Stock Treated Iron Crankshaft', + NULL, + 1 + ), + ( + 180027, + 180001, + 'Pontiac Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180028, + 180001, + 'Pontiac Armasteel (TI) Crankshaft', + NULL, + 1 + ), + ( + 180029, + 180001, + 'Pontiac SD Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180030, + 180001, + 'Ford SB Stock TI Crankshaft', + NULL, + 1 + ), + ( + 180031, + 180001, + 'Ford BB Truck Forged Steel Crankshaft', + NULL, + 1 + ), + ( + 180032, + 180001, + 'Ford BB 427 MR Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180033, + 180001, + 'Ford BB Treated Iron Crankshaft', + NULL, + 2 + ), + ( + 180034, + 180001, + 'Ford SB Boss (TI) Crankshaft', + NULL, + 2 + ), + ( + 180035, + 180001, + 'Ford BB Forged Steel Crankshaft', + NULL, + 2 + ), + ( + 180036, + 180001, + 'Chrysler BB Stock CI Crankshaft', + NULL, + 1 + ), + ( + 180037, + 180001, + 'Chrysler Hemi (FS) Crankshaft', + NULL, + 2 + ), + ( + 180038, + 180001, + 'Chrysler SB Stock CI Crankshaft', + NULL, + 1 + ), + ( + 180039, + 180001, + 'Crower Enduro Chevrolet BB Crankshaft', + NULL, + 2 + ), + ( + 180040, + 180001, + 'Crower Ultra-Light Chevrolet BB Crankshaft', + NULL, + 2 + ), + ( + 180041, + 180001, + 'Crower Enduro Ford SB Crankshaft', + NULL, + 2 + ), + ( + 180042, + 180001, + 'Crower Standard Ford SB Crankshaft', + NULL, + 3 + ), + ( + 180043, + 180001, + 'Crower Enduro Ford BB Crankshaft', + NULL, + 2 + ), + ( + 180044, + 180001, + 'Crower Standard Ford BB Crankshaft', + NULL, + 3 + ), + ( + 180045, + 180001, + 'Crower Enduro Chrysler BB Crankshaft', + NULL, + 2 + ), + ( + 180046, + 180001, + 'Crower Enduro Chrysler SB Crankshaft', + NULL, + 2 + ), + ( + 180047, + 180001, + 'Crower Standard Chrysler BB Crankshaft', + NULL, + 3 + ), + ( + 180048, + 180001, + 'Crower Standard Chrysler SB Crankshaft', + NULL, + 3 + ), + ( + 180049, + 180001, + 'Buick Nailhead Stock FS Crankshaft', + NULL, + 1 + ), + ( + 180050, + 180001, + 'Ford BB HD CI Crankshaft', + NULL, + 2 + ), + ( + 180051, + 180001, + 'Ford SB HP TI Crankshaft', + NULL, + 2 + ), + ( + 180052, + 180001, + 'AMC Group 19 Crankshaft', + NULL, + 2 + ), + ( + 180053, + 180001, + 'Cadillac L-Head Crankshaft', + NULL, + 1 + ), + ( + 180054, + 180001, + 'Ford Cleveland Block Stock Crankshaft', + NULL, + 1 + ), + ( + 180055, + 180001, + 'Ford Cleveland Block Boss Crankshaft', + NULL, + 2 + ), + ( + 180056, + 180001, + 'Ford 385 Block Stock CI Crankshaft', + NULL, + 1 + ), + ( + 180057, + 180001, + 'Ford 385 Block Boss FS Crankshaft', + NULL, + 2 + ), + ( + 180058, + 180001, + 'Ford 385 Block NASCAR Crankshaft', + NULL, + 4 + ), + ( + 180059, + 180001, + 'Ford Y Truck Crankshaft', + NULL, + 1 + ), + ( + 180060, + 180001, + 'Chevrolet W Stock FS Crankshaft', + NULL, + 1 + ), + ( + 180061, + 180001, + 'Buick Nailhead Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180062, + 180001, + 'Buick SB Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180063, + 180001, + 'Buick BB Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180064, + 180001, + 'Cadillac L-Head Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180065, + 180001, + 'Cadillac Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180066, + 180001, + 'Chevrolet W Block Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180067, + 180001, + 'Chrysler Hemi Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180068, + 180001, + 'Ford Flathead Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180069, + 180001, + 'Oldsmobile SB Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180070, + 180001, + 'Oldsmobile BB Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180071, + 180001, + 'Newcomb Y Block Stump Puller Crankshaft', + NULL, + 2 + ), + ( + 180072, + 180001, + 'Newcomb Y Block Street Max Crankshaft', + NULL, + 2 + ), + ( + 180073, + 180001, + 'Newcomb Y Block Super Max Crankshaft', + NULL, + 2 + ), + ( + 180074, + 180001, + 'Duro Rod Y Block Marathon Crankshaft', + NULL, + 1 + ), + ( + 180075, + 180001, + 'Duro Rod Y Block Lightweight Crankshaft', + NULL, + 2 + ), + ( + 180076, + 180001, + 'Duro Rod Y Block Champion Crankshaft', + NULL, + 2 + ), + ( + 180077, + 180001, + 'Hedgely Y Block Super 292 Crankshaft', + NULL, + 1 + ), + ( + 180078, + 180001, + 'Hedgely Y Block Super 312 Crankshaft', + NULL, + 2 + ), + ( + 180079, + 180001, + 'Duro Rod Ford SB Champion Crank', + NULL, + 2 + ), + ( + 180080, + 180001, + 'Newcomb Ford SB Super Max Crank', + NULL, + 2 + ), + ( + 180081, + 180001, + 'Newcomb Ford SB Street Max Crank', + NULL, + 2 + ), + ( + 180082, + 180001, + 'Newcomb Buick Nailhead Stump Puller Crank', + NULL, + 2 + ), + ( + 180083, + 180001, + 'Newcomb Buick Nailhead Super Max Crank', + NULL, + 2 + ), + ( + 180084, + 180001, + 'Newcomb Buick Nailhead Street Max Crank', + NULL, + 2 + ), + ( + 180085, + 180001, + 'Hedgely Buick Nailhead Super 300 Crank', + NULL, + 1 + ), + ( + 180086, + 180001, + 'Hedgely Buick Nailhead Super 400 Crank', + NULL, + 2 + ), + ( + 180087, + 180001, + 'Duro Rod Buick Nailhead Champion Crank', + NULL, + 2 + ), + ( + 180088, + 180001, + 'Duro Rod Buick Nailhead Lightweight Crank', + NULL, + 2 + ), + ( + 180089, + 180001, + 'Duro Rod Buick Nailhead Marathon Crank', + NULL, + 2 + ), + ( + 180090, + 180001, + 'Hedgely Chrysler SB Super 340 Crank', + NULL, + 2 + ), + ( + 180091, + 180001, + 'Duro Rod Chrysler SB Lightweight Crank', + NULL, + 2 + ), + ( + 180092, + 180001, + 'Duro Rod Chrysler SB Marathon Crank', + NULL, + 2 + ), + ( + 180093, + 180001, + 'Percy Chrysler SB Lightweight Crank', + NULL, + 3 + ), + ( + 180094, + 180001, + 'Duro Rod Pontiac Lightweight Crank', + NULL, + 2 + ), + ( + 180095, + 180001, + 'Duro Rod Pontiac Marathon Crank', + NULL, + 2 + ), + ( + 180096, + 180001, + 'Hedgely Pontiac SD Special Crank', + NULL, + 2 + ), + ( + 180097, + 180001, + 'Newcomb Cleveland Stump Puller Crank', + NULL, + 1 + ), + ( + 180098, + 180001, + 'Newcomb Cleveland Street Max Crank', + NULL, + 2 + ), + ( + 180099, + 180001, + 'Newcomb Cleveland Super Max Crank', + NULL, + 3 + ), + ( + 180100, + 180001, + 'Duro Rod Cleveland Contender Crank', + NULL, + 1 + ), + ( + 180101, + 180001, + 'Duro Rod Cleveland Champion Crank', + NULL, + 2 + ), + ( + 180102, + 180001, + 'Duro Rod Cleveland Lightweight Crank', + NULL, + 3 + ), + ( + 180103, + 180001, + 'Duro Rod Cleveland Marathon Crank', + NULL, + 3 + ), + ( + 180104, + 180001, + 'Duro Rod Cleveland Legend Crank', + NULL, + 4 + ), + ( + 180105, + 180001, + 'Newcomb Ford 385 Stump Puller Crank', + NULL, + 1 + ), + ( + 180106, + 180001, + 'Newcomb Ford 385 Street Max Crank', + NULL, + 2 + ), + ( + 180107, + 180001, + 'Newcomb Ford 385 Super Max Crank', + NULL, + 3 + ), + ( + 180108, + 180001, + 'Duro Rod Ford 385 Contender Crank', + NULL, + 1 + ), + ( + 180109, + 180001, + 'Duro Rod Ford 385 Champion Crank', + NULL, + 2 + ), + ( + 180110, + 180001, + 'Duro Rod Ford 385 Lightweight Crank', + NULL, + 3 + ), + ( + 180111, + 180001, + 'Duro Rod Ford 385 Marathon Crank', + NULL, + 3 + ), + ( + 180112, + 180001, + 'Duro Rod Ford 385 Legend Crank', + NULL, + 4 + ), + ( + 180113, + 180001, + 'Newcomb Hemi Stump Puller Crank', + NULL, + 1 + ), + ( + 180114, + 180001, + 'Newcomb Hemi Street Max Crank', + NULL, + 2 + ), + ( + 180115, + 180001, + 'Newcomb Hemi Super Max Crank', + NULL, + 3 + ), + ( + 180116, + 180001, + 'Duro Rod Hemi Contender Crank', + NULL, + 1 + ), + ( + 180117, + 180001, + 'Duro Rod Hemi Champion Crank', + NULL, + 2 + ), + ( + 180118, + 180001, + 'Duro Rod Hemi Lighweight Crank', + NULL, + 3 + ), + ( + 180119, + 180001, + 'Duro Rod Hemi Marathon Crank', + NULL, + 3 + ), + ( + 180120, + 180001, + 'Duro Rod Hemi Legend Crank', + NULL, + 4 + ), + ( + 180121, + 180001, + 'Newcomb Cadillac BB Stump Puller Crank', + NULL, + 1 + ), + ( + 180122, + 180001, + 'Newcomb Cadillac BB Street Max Crank', + NULL, + 2 + ), + ( + 180123, + 180001, + 'Newcomb Cadillac BB Super Max Crank', + NULL, + 3 + ), + ( + 180124, + 180001, + 'Duro Rod Cadillac BB Contender Crank', + NULL, + 1 + ), + ( + 180125, + 180001, + 'Duro Rod Cadillac BB Champion Crank', + NULL, + 2 + ), + ( + 180126, + 180001, + 'Duro Rod Cadillac BB Lightweight Crank', + NULL, + 3 + ), + ( + 180127, + 180001, + 'Duro Rod Cadillac BB Marathon Crank', + NULL, + 3 + ), + ( + 180128, + 180001, + 'Duro Rod Cadillac BB Legend Crank', + NULL, + 4 + ), + ( + 180129, + 180001, + 'Duro Rod Chevy W Contender Crank', + NULL, + 2 + ), + ( + 180130, + 180001, + 'Duro Rod Chevy W Champion Crank', + NULL, + 2 + ), + ( + 180131, + 180001, + 'Duro Rod Chevy W Lightweight Crank', + NULL, + 3 + ), + ( + 180132, + 180001, + 'Duro Rod Chevy W Marathon Crank', + NULL, + 3 + ), + ( + 180133, + 180001, + 'Duro Rod Chevy W Legend Crank', + NULL, + 4 + ), + ( + 180134, + 180001, + 'Newcomb Chevy W Stump Puller Crank', + NULL, + 1 + ), + ( + 180135, + 180001, + 'Newcomb Chevy W Street Max Crank', + NULL, + 2 + ), + ( + 180136, + 180001, + 'Newcomb Chevy W Super Max Crank', + NULL, + 3 + ), + ( + 180137, + 180001, + 'Newcomb AMC Stump Puller Crank', + NULL, + 1 + ), + ( + 180138, + 180001, + 'Newcomb AMC Street Max Crank', + NULL, + 2 + ), + ( + 180139, + 180001, + 'Newcomb AMC Super Max Crank', + NULL, + 3 + ), + ( + 180140, + 180001, + 'Duro Rod AMC Contender Crank', + NULL, + 1 + ), + ( + 180141, + 180001, + 'Duro Rod AMC Champion Crank', + NULL, + 2 + ), + ( + 180142, + 180001, + 'Duro Rod AMC Lightweight Crank', + NULL, + 3 + ), + ( + 180143, + 180001, + 'Duro Rod AMC Marathon Crank', + NULL, + 3 + ), + ( + 180144, + 180001, + 'Duro Rod AMC Legend Crank', + NULL, + 4 + ), + ( + 180145, + 180001, + 'Newcomb Olds BB Stump Puller Crank', + NULL, + 1 + ), + ( + 180146, + 180001, + 'Newcomb Olds BB Street Max Crank', + NULL, + 2 + ), + ( + 180147, + 180001, + 'Newcomb Olds BB Super Max Crank', + NULL, + 3 + ), + ( + 180148, + 180001, + 'Duro Rod Olds BB Contender Crank', + NULL, + 1 + ), + ( + 180149, + 180001, + 'Duro Rod Olds BB Champion Crank', + NULL, + 2 + ), + ( + 180150, + 180001, + 'Duro Rod Olds BB Lightweight Crank', + NULL, + 3 + ), + ( + 180151, + 180001, + 'Duro Rod Olds BB Marathon Crank', + NULL, + 3 + ), + ( + 180152, + 180001, + 'Duro Rod Olds BB Legend Crank', + NULL, + 4 + ), + ( + 180153, + 180001, + 'Newcomb Chrylser BB Stump Puller Crank', + NULL, + 1 + ), + ( + 180154, + 180001, + 'Newcomb Chrysler BB Street Max Crank', + NULL, + 2 + ), + ( + 180155, + 180001, + 'Newcomb Chrysler BB Super Max Crank', + NULL, + 3 + ), + ( + 180156, + 180001, + 'Duro Rod Chrysler BB Contender Crank', + NULL, + 1 + ), + ( + 180157, + 180001, + 'Duro Rod Chrysler BB Champion Crank', + NULL, + 2 + ), + ( + 180158, + 180001, + 'Duro Rod Chrysler BB Lightweight Crank', + NULL, + 3 + ), + ( + 180159, + 180001, + 'Duro Rod Chrysler BB Marathon Crank', + NULL, + 3 + ), + ( + 180160, + 180001, + 'Duro Rod Chrysler BB Legend Crank', + NULL, + 4 + ), + ( + 180161, + 180001, + 'Newcomb Ford BB Stump Puller Crank', + NULL, + 1 + ), + ( + 180162, + 180001, + 'Newcomb Ford BB Street Max Crank', + NULL, + 2 + ), + ( + 180163, + 180001, + 'Newcomb Ford BB Super Max Crank', + NULL, + 3 + ), + ( + 180164, + 180001, + 'Duro Rod Ford BB Contender Crank', + NULL, + 1 + ), + ( + 180165, + 180001, + 'Duro Rod Ford BB Champion Crank', + NULL, + 2 + ), + ( + 180166, + 180001, + 'Duro Rod Ford BB Lightweight Crank', + NULL, + 3 + ), + ( + 180167, + 180001, + 'Duro Rod Ford BB Marathon Crank', + NULL, + 3 + ), + ( + 180168, + 180001, + 'Duro Rod Ford BB Legend Crank', + NULL, + 4 + ), + ( + 180169, + 180001, + 'Newcomb Chevy BB Stump Puller Crank', + NULL, + 1 + ), + ( + 180170, + 180001, + 'Newcomb Chevy BB Street Max Crank', + NULL, + 2 + ), + ( + 180171, + 180001, + 'Newcomb Chevy BB Super Max Crank', + NULL, + 3 + ), + ( + 180172, + 180001, + 'Duro Rod Chevy BB Contender Crank', + NULL, + 1 + ), + ( + 180173, + 180001, + 'Duro Rod Chevy BB Champion Crank', + NULL, + 2 + ), + ( + 180174, + 180001, + 'Duro Rod Chevy BB Lightweight Crank', + NULL, + 3 + ), + ( + 180175, + 180001, + 'Duro Rod Chevy BB Marathon Crank', + NULL, + 3 + ), + ( + 180176, + 180001, + 'Duro Rod Chevy BB Legend Crank', + NULL, + 4 + ), + (190001, 190001, 'Ford SB Boss 302 Rod', NULL, 2), + ( + 190002, + 190001, + 'Ford BB HD Capscrew Rod', + NULL, + 2 + ), + (190003, 190001, 'Ford BB HP 390 Rod', NULL, 2), + (190004, 190001, 'Pontiac Ram Air V Rod', NULL, 2), + ( + 190005, + 190001, + 'Cadillac BB Stock CI Rod', + NULL, + 1 + ), + (190006, 190001, 'Pontiac CI Stock Rod', NULL, 1), + (190007, 190001, 'Buick BB Stock Rod', NULL, 1), + ( + 190008, + 190001, + 'Buick Nailhead Stock Rod', + NULL, + 1 + ), + (190009, 190001, 'Cadillac BB Stock Rod', NULL, 1), + (190010, 190001, 'Chevrolet BB Stock Rod', NULL, 1), + (190011, 190001, 'Chevrolet SB Stock Rod', NULL, 1), + (190012, 190001, 'Chrysler BB Stock Rod', NULL, 1), + (190013, 190001, 'Chrysler SB Stock Rod', NULL, 1), + (190014, 190001, 'Ford BB Stock Rod', NULL, 1), + (190015, 190001, 'Ford SB Stock Rod', NULL, 1), + ( + 190016, + 190001, + 'Ford Flathead Stock Rod', + NULL, + 1 + ), + (190017, 190001, 'Olds BB Stock Rod', NULL, 1), + (190018, 190001, 'Olds SB Stock Rod', NULL, 1), + (190019, 190001, 'AMC Stock Rod', NULL, 1), + (190020, 190001, 'Pontiac Stock Rod', NULL, 1), + ( + 190021, + 190001, + 'Crower Sportsman Ford SB Rod', + NULL, + 2 + ), + ( + 190022, + 190001, + 'Crower Billet Steel Ford SB Rod', + NULL, + 3 + ), + ( + 190023, + 190001, + 'Crower Lightweight Billet Steel Ford SB Rod', + NULL, + 3 + ), + ( + 190024, + 190001, + 'Crower Maxi-Light 93 Billet Steel Ford SB Rod', + NULL, + 3 + ), + ( + 190025, + 190001, + 'Crower Titanium Ford BB Rod', + NULL, + 4 + ), + ( + 190026, + 190001, + 'Ford BB Le Mans Capscrew Rod', + NULL, + 4 + ), + (190027, 190001, 'Ford BB PI Rod', NULL, 2), + (190028, 190001, 'Ford 385 Boss Rod', NULL, 3), + (190029, 190001, 'Ford 385 820-S Rod', NULL, 4), + (190030, 190001, 'Ford 385 820-T Rod', NULL, 3), + (190031, 190001, 'Chrysler BB HD Rod', NULL, 2), + ( + 190032, + 190001, + 'Crower Sportsman Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190033, + 190001, + 'Crower Sportsman Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190034, + 190001, + 'Crower Billet Steel Ford BB Rod', + NULL, + 2 + ), + ( + 190035, + 190001, + 'Crower Billet Steel Pontiac Rod', + NULL, + 2 + ), + ( + 190036, + 190001, + 'Crower Billet Steel Olds BB Rod', + NULL, + 2 + ), + ( + 190037, + 190001, + 'Crower Billet Steel Buick BB Rod', + NULL, + 2 + ), + ( + 190038, + 190001, + 'Crower Billet Steel Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190039, + 190001, + 'Crower Billet Steel Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190040, + 190001, + 'Crower Lightweight Billet Steel Buick BB Rod', + NULL, + 2 + ), + ( + 190041, + 190001, + 'Crower Lightweight Billet Steel Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190042, + 190001, + 'Crower Lightweight Billet Steel Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190043, + 190001, + 'Crower Lightweight Billet Steel Ford BB Rod', + NULL, + 2 + ), + ( + 190044, + 190001, + 'Crower Lightweight Billet Steel Olds BB Rod', + NULL, + 2 + ), + ( + 190045, + 190001, + 'Crower Lightweight Billet Steel Pontiac Rod', + NULL, + 2 + ), + ( + 190046, + 190001, + 'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod', + NULL, + 3 + ), + ( + 190047, + 190001, + 'Crower Titanium Buick BB Rod', + NULL, + 4 + ), + ( + 190048, + 190001, + 'Crower Titanium Chevrolet BB Rod', + NULL, + 4 + ), + ( + 190049, + 190001, + 'Crower Titanium Chevrolet SB Rod', + NULL, + 4 + ), + ( + 190050, + 190001, + 'Lunati Forged Aluminum Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190051, + 190001, + 'Lunati Forged Aluminum Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190052, + 190001, + 'Lunati Street Race Ford SB Rod', + NULL, + 2 + ), + ( + 190053, + 190001, + 'Lunati Street Race Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190054, + 190001, + 'Lunati Street Race Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190055, + 190001, + 'Lunati Pro Billet Ford SB Rod', + NULL, + 3 + ), + ( + 190056, + 190001, + 'Lunati Pro Billet Chevrolet SB Rod', + NULL, + 3 + ), + ( + 190057, + 190001, + 'Lunati Pro Billet Chevrolet BB Rod', + NULL, + 3 + ), + ( + 190058, + 190001, + 'Lunati Pro Mod Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190059, + 190001, + 'Lunati Pro Mod Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190060, + 190001, + 'Lunati Sportsman H-Beam Chevrolet SB Rod', + NULL, + 2 + ), + ( + 190061, + 190001, + 'Lunati Sportsman H-Beam Chevrolet BB Rod', + NULL, + 2 + ), + ( + 190062, + 190001, + 'Lunati Sportsman H-Beam Ford BB Rod', + NULL, + 2 + ), + ( + 190063, + 190001, + 'Lunati Sportsman H-Beam Ford SB Rod', + NULL, + 2 + ), + ( + 190064, + 190001, + 'Lunati Sportsman H-Beam Chrysler BB Rod', + NULL, + 2 + ), + ( + 190065, + 190001, + 'Lunati Sportsman H-Beam Pontiac Rod', + NULL, + 2 + ), + ( + 190066, + 190001, + 'Chevrolet SB 400 FS Rod', + NULL, + 1 + ), + (190067, 190001, 'Chevrolet W HD FS Rod', NULL, 2), + (190068, 190001, 'AMC Stock TI Rod', NULL, 1), + (190069, 190001, 'Chrysler Hemi Rods', NULL, 3), + (190070, 190001, 'Cadillac L-Head Rods', NULL, 1), + ( + 190071, + 190001, + 'Buick SB Cast Iron Connecting Rod', + NULL, + 1 + ), + ( + 190072, + 190001, + 'Ford Cleveland Block Stock Rods', + NULL, + 1 + ), + ( + 190073, + 190001, + 'Ford Cleveland Block Boss Rods', + NULL, + 2 + ), + ( + 190074, + 190001, + 'Ford 385 Block Stock Rod', + NULL, + 1 + ), + (190075, 190001, 'Ford SB HP Rod', NULL, 2), + (190076, 190001, 'Ford Y Stock Rods', NULL, 1), + (190077, 190001, 'Ford Y Truck Rods', NULL, 1), + (190078, 190001, 'Buick Nailhead 364 Rod', NULL, 2), + (190079, 190001, 'Buick SB FS Rod', NULL, 2), + (190080, 190001, 'Cadillac L-Head FS Rod', NULL, 2), + ( + 190081, + 190001, + 'Chevrolet W Stock FS Rod', + NULL, + 1 + ), + ( + 190082, + 190001, + 'Lunati Sportsman H-Beam Chevrolet W Rod', + NULL, + 2 + ), + ( + 190083, + 190001, + 'Crower Billet Steel Chrysler SB Rod', + NULL, + 2 + ), + ( + 190084, + 190001, + 'Crower Billet Steel Chrysler Hemi Rod', + NULL, + 3 + ), + ( + 190085, + 190001, + 'Crower Lightweight Billet Steel Chrysler Hemi Rod', + NULL, + 3 + ), + ( + 190086, + 190001, + 'Crower Titanium Chrysler Hemi Rod', + NULL, + 4 + ), + ( + 190087, + 190001, + 'Lunati Pro Billet Chrysler Hemi Rod', + NULL, + 3 + ), + ( + 190088, + 190001, + 'Edelbrock Ford Flathead FS Rod', + NULL, + 2 + ), + (190089, 190001, 'Olds SB W-31 FS Rod', NULL, 2), + ( + 190090, + 190001, + 'Newcomb Y Block Stump Puller Rod', + NULL, + 1 + ), + ( + 190091, + 190001, + 'Newcomb Y Block Street Max Rod', + NULL, + 2 + ), + ( + 190092, + 190001, + 'Newcomb Y Block Super Max Rod', + NULL, + 2 + ), + ( + 190093, + 190001, + 'Duro Rod Y Block Marathon Rod', + NULL, + 1 + ), + ( + 190094, + 190001, + 'Duro Rod Y Block Lightweight Rod', + NULL, + 2 + ), + ( + 190095, + 190001, + 'Duro Rod Y Block Champion Rod', + NULL, + 2 + ), + ( + 190096, + 190001, + 'Duro Rod Y Block Legend Rod', + NULL, + 3 + ), + ( + 190097, + 190001, + 'Hedgely Y Block Extra Y Rod', + NULL, + 1 + ), + ( + 190098, + 190001, + 'Hedgely Y Block T-Bird Special Rod', + NULL, + 2 + ), + ( + 190099, + 190001, + 'Hedgely Buick Nailhead Century Special Rod', + NULL, + 1 + ), + ( + 190100, + 190001, + 'Hedgely Buick Nailhead Riviera Special Rod', + NULL, + 2 + ), + ( + 190101, + 190001, + 'Duro Rod Buick Nailhead Champion Rod', + NULL, + 2 + ), + ( + 190102, + 190001, + 'Duro Rod Buick Nailhead Legend Rod', + NULL, + 3 + ), + ( + 190103, + 190001, + 'Duro Rod Buick Nailhead Lightweight Rod', + NULL, + 2 + ), + ( + 190104, + 190001, + 'Duro Rod Buick Nailhead Marathon Rod', + NULL, + 2 + ), + ( + 190105, + 190001, + 'Newcomb Buick Nailhead Stump Puller Rod', + NULL, + 2 + ), + ( + 190106, + 190001, + 'Newcomb Buick Nailhead Street Max Rod', + NULL, + 2 + ), + ( + 190107, + 190001, + 'Newcomb Buick Nailhead Super Max Rod', + NULL, + 3 + ), + ( + 190108, + 190001, + 'Hedgely Ford SB T351 Billet Rod', + NULL, + 3 + ), + ( + 190109, + 190001, + 'Hedgely Ford SB Power I Rod', + NULL, + 2 + ), + ( + 190110, + 190001, + 'Percy Chrysler SB Replica Rod', + NULL, + 1 + ), + ( + 190111, + 190001, + 'Percy Chrysler SB Replica Street Racer Rod', + NULL, + 2 + ), + ( + 190112, + 190001, + 'Percy Chrysler SB Factory Lightweight Rod', + NULL, + 3 + ), + ( + 190113, + 190001, + 'Duro Rod Chrysler SB Marathon Rod', + NULL, + 2 + ), + ( + 190114, + 190001, + 'Duro Rod Chrysler SB Lightweight Rod', + NULL, + 2 + ), + ( + 190115, + 190001, + 'Newcomb Chrysler SB Street Max Rod', + NULL, + 2 + ), + ( + 190116, + 190001, + 'Duro Rod Pontiac Champion Rod', + NULL, + 2 + ), + ( + 190117, + 190001, + 'Duro Rod Pontiac Lightweight Rod', + NULL, + 2 + ), + ( + 190118, + 190001, + 'Duro Rod Pontiac Marathon Rod', + NULL, + 2 + ), + ( + 190119, + 190001, + 'Newcomb Cleveland Stump Puller Rod', + NULL, + 1 + ), + ( + 190120, + 190001, + 'Newcomb Cleveland Street Max Rod', + NULL, + 2 + ), + ( + 190121, + 190001, + 'Newcomb Cleveland Super Max Rod', + NULL, + 3 + ), + ( + 190122, + 190001, + 'Duro Rod Cleveland Lightweight Rod', + NULL, + 3 + ), + ( + 190123, + 190001, + 'Duro Rod Cleveland Marathon Rod', + NULL, + 3 + ), + ( + 190124, + 190001, + 'Duro Rod Cleveland Legend Rod', + NULL, + 4 + ), + ( + 190125, + 190001, + 'Newcomb Ford 385 Stump Puller Rod', + NULL, + 1 + ), + ( + 190126, + 190001, + 'Newcomb Ford 385 Street Max Rod', + NULL, + 2 + ), + ( + 190127, + 190001, + 'Newcomb Ford 385 Super Max Rod', + NULL, + 3 + ), + ( + 190128, + 190001, + 'Duro Rod Ford 385 Lightweight Rod', + NULL, + 3 + ), + ( + 190129, + 190001, + 'Duro Rod Ford 385 Marathon Rod', + NULL, + 3 + ), + ( + 190130, + 190001, + 'Duro Rod Ford 385 Legend Rod', + NULL, + 4 + ), + ( + 190131, + 190001, + 'Duro Rod Hemi Champion Rod', + NULL, + 2 + ), + ( + 190132, + 190001, + 'Duro Rod Hemi Lightweight Rod', + NULL, + 3 + ), + ( + 190133, + 190001, + 'Duro Rod Hemi Marathon Rod', + NULL, + 3 + ), + ( + 190134, + 190001, + 'Duro Rod Hemi Legend Rod', + NULL, + 4 + ), + ( + 190135, + 190001, + 'Duro Rod Cadillac BB Champion Rod', + NULL, + 2 + ), + ( + 190136, + 190001, + 'Duro Rod Cadillac BB Lightweight Rod', + NULL, + 3 + ), + ( + 190137, + 190001, + 'Duro Rod Cadillac BB Marathon Rod', + NULL, + 3 + ), + ( + 190138, + 190001, + 'Duro Rod Cadillac BB Legend Rod', + NULL, + 4 + ), + ( + 190139, + 190001, + 'Newcomb Cadillac BB Stump Puller Rod', + NULL, + 1 + ), + ( + 190140, + 190001, + 'Newcomb Cadillac BB Street Max Rod', + NULL, + 2 + ), + ( + 190141, + 190001, + 'Newcomb Cadillac BB Super Max Rod', + NULL, + 3 + ), + ( + 190142, + 190001, + 'Newcomb Chevy W Stump Puller Rod', + NULL, + 1 + ), + ( + 190143, + 190001, + 'Newcomb Chevy W Street Max Rod', + NULL, + 2 + ), + ( + 190144, + 190001, + 'Newcomb Chevy W Super Max Rod', + NULL, + 3 + ), + ( + 190145, + 190001, + 'Duro Rod Chevy W Contender Rod', + NULL, + 1 + ), + ( + 190146, + 190001, + 'Duro Rod Chevy W Champion Rod', + NULL, + 2 + ), + ( + 190147, + 190001, + 'Duro Rod Chevy W Lightweight Rod', + NULL, + 3 + ), + ( + 190148, + 190001, + 'Duro Rod Chevy W Marathon Rod', + NULL, + 3 + ), + ( + 190149, + 190001, + 'Duro Rod Chevy W Legend Rod', + NULL, + 4 + ), + ( + 190150, + 190001, + 'Newcomb AMC Stump Puller Rod', + NULL, + 1 + ), + ( + 190151, + 190001, + 'Newcomb AMC Street Max Rod', + NULL, + 2 + ), + ( + 190152, + 190001, + 'Newcomb AMC Super Max Rod', + NULL, + 3 + ), + ( + 190153, + 190001, + 'Duro Rod AMC Contender Rod', + NULL, + 1 + ), + ( + 190154, + 190001, + 'Duro Rod AMC Champion Rod', + NULL, + 2 + ), + ( + 190155, + 190001, + 'Duro Rod AMC Lightweight Rod', + NULL, + 3 + ), + ( + 190156, + 190001, + 'Duro Rod AMC Marathon Rod', + NULL, + 3 + ), + ( + 190157, + 190001, + 'Duro Rod AMC Legend Rod', + NULL, + 4 + ), + ( + 190158, + 190001, + 'Duro Rod Olds BB Contender Rod', + NULL, + 1 + ), + ( + 190159, + 190001, + 'Duro Rod Olds BB Champion Rod', + NULL, + 2 + ), + ( + 190160, + 190001, + 'Duro Rod Olds BB Lightweight Rod', + NULL, + 3 + ), + ( + 190161, + 190001, + 'Duro Rod Olds BB Marathon Rod', + NULL, + 3 + ), + ( + 190162, + 190001, + 'Duro Rod Olds BB Legend Rod', + NULL, + 4 + ), + ( + 190163, + 190001, + 'Newcomb Chrysler BB Stump Puller Rod', + NULL, + 1 + ), + ( + 190164, + 190001, + 'Newcomb Chrysler BB Street Max Rod', + NULL, + 2 + ), + ( + 190165, + 190001, + 'Newcomb Chrylser BB Super Max Rod', + NULL, + 3 + ), + ( + 190166, + 190001, + 'Duro Rod Chrysler BB Contender Rod', + NULL, + 1 + ), + ( + 190167, + 190001, + 'Duro Rod Chrysler BB Champion Rod', + NULL, + 2 + ), + ( + 190168, + 190001, + 'Duro Rod Chrysler BB Lightweight Rod', + NULL, + 3 + ), + ( + 190169, + 190001, + 'Duro Rod Chrysler BB Marathon Rod', + NULL, + 3 + ), + ( + 190170, + 190001, + 'Duro Rod Chrysler BB Legend Rod', + NULL, + 4 + ), + ( + 190171, + 190001, + 'Duro Rod Ford BB Contender Rod', + NULL, + 1 + ), + ( + 190172, + 190001, + 'Duro Rod Ford BB Champion Rod', + NULL, + 2 + ), + ( + 190173, + 190001, + 'Duro Rod Ford BB Lightweight Rod', + NULL, + 3 + ), + ( + 190174, + 190001, + 'Duro Rod Ford BB Marathon Rod', + NULL, + 3 + ), + ( + 190175, + 190001, + 'Duro Rod Ford BB Legend Rod', + NULL, + 4 + ), + ( + 200001, + 200001, + 'Ford BB Flat Top Piston', + NULL, + 1 + ), + ( + 200002, + 200001, + 'Ford SB Flat Top Piston', + NULL, + 1 + ), + ( + 200003, + 200001, + 'Chevrolet BB Flat Top Piston', + NULL, + 1 + ), + ( + 200004, + 200001, + 'JE Pistons Domed Top Ford BB Piston', + NULL, + 2 + ), + ( + 200005, + 200001, + 'Ford BB Cammer Pop-up Piston', + NULL, + 4 + ), + ( + 200006, + 200001, + 'Chevrolet SB Flat Top Piston', + NULL, + 1 + ), + ( + 200007, + 200001, + 'JE Pistons Wedge Top Ford Y Piston', + NULL, + 2 + ), + ( + 200008, + 200001, + 'Ford BB Recessed Top Piston', + NULL, + 1 + ), + ( + 200009, + 200001, + 'Chrysler SB Flat Top Piston', + NULL, + 1 + ), + (200010, 200001, 'AMC Group 19 Piston', NULL, 2), + ( + 200011, + 200001, + 'Chevrolet W Z11 Domed Top (3.25) Piston', + NULL, + 4 + ), + ( + 200012, + 200001, + 'Pontiac Ram Air IV Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200013, + 200001, + 'JE Pistons Domed Top Ford SB Piston', + NULL, + 2 + ), + (200014, 200001, 'Ford 385 Boss Piston', NULL, 2), + ( + 200015, + 200001, + 'Chrysler BB Flat Top Piston', + NULL, + 1 + ), + ( + 200016, + 200001, + 'Buick BB Flat Top Piston', + NULL, + 1 + ), + ( + 200017, + 200001, + 'Buick SB Flat Top Piston', + NULL, + 1 + ), + ( + 200018, + 200001, + 'Cadillac BB Flat Top Piston', + NULL, + 1 + ), + ( + 200019, + 200001, + 'Ford Flathead Flat Top Piston', + NULL, + 1 + ), + ( + 200020, + 200001, + 'Olds BB Flat Top Piston', + NULL, + 1 + ), + ( + 200021, + 200001, + 'Olds SB Flat Top Piston', + NULL, + 1 + ), + (200022, 200001, 'AMC Flat Top Piston', NULL, 1), + ( + 200023, + 200001, + 'Pontiac Flat Top Piston', + NULL, + 1 + ), + ( + 200024, + 200001, + 'Chevrolet SB Flat Top Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200025, + 200001, + 'Buick BB Stage I Piston', + NULL, + 2 + ), + ( + 200026, + 200001, + 'Buick BB Stage II Piston', + NULL, + 2 + ), + ( + 200027, + 200001, + 'Pontiac Flat Top Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200028, + 200001, + 'Ford BB Flat Top Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200029, + 200001, + 'Chrysler BB Flat Top Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200030, + 200001, + 'Chevrolet W Domed Top (0.75) Piston', + NULL, + 2 + ), + ( + 200031, + 200001, + 'JE Pistons Wedge Top Ford SB Piston', + NULL, + 2 + ), + ( + 200032, + 200001, + 'JE Pistons Wedge Top Chevrolet SB Piston', + NULL, + 2 + ), + ( + 200033, + 200001, + 'JE Pistons Wedge Top Chevrolet BB Piston', + NULL, + 2 + ), + ( + 200034, + 200001, + 'JE Pistons Wedge Top Buick BB Piston', + NULL, + 2 + ), + ( + 200035, + 200001, + 'JE Pistons Wedge Top Olds BB Piston', + NULL, + 2 + ), + ( + 200036, + 200001, + 'JE Pistons Domed Top Chevrolet SB Piston', + NULL, + 2 + ), + ( + 200037, + 200001, + 'JE Pistons Domed Top Chevrolet BB Piston', + NULL, + 2 + ), + ( + 200038, + 200001, + 'JE Pistons Wedge Top Chrysler BB Piston', + NULL, + 2 + ), + ( + 200039, + 200001, + 'JE Pistons Domed Top Chrysler BB Piston', + NULL, + 2 + ), + ( + 200040, + 200001, + 'JE Pistons Domed Top Buick BB Piston', + NULL, + 2 + ), + ( + 200041, + 200001, + 'JE Pistons Domed Top Olds BB Piston', + NULL, + 2 + ), + ( + 200042, + 200001, + 'Ford Y Domed Top Piston', + NULL, + 2 + ), + ( + 200043, + 200001, + 'Ford BB LR Domed (0.4) Piston', + NULL, + 3 + ), + ( + 200044, + 200001, + 'Ford BB Recessed (-0.1) Piston', + NULL, + 1 + ), + ( + 200045, + 200001, + 'Chrysler BB Wedge (0.1) Piston', + NULL, + 2 + ), + ( + 200046, + 200001, + 'Chevrolet BB Flat Top Forged Aluminum Piston', + NULL, + 2 + ), + ( + 200047, + 200001, + 'Chevrolet SB Z28 Recessed Top Piston', + NULL, + 2 + ), + ( + 200048, + 200001, + 'Chevrolet W Recessed (-0.75) Cast Al. Piston', + NULL, + 1 + ), + ( + 200049, + 200001, + 'Chevrolet W Domed Top (1.0) Piston', + NULL, + 2 + ), + ( + 200050, + 200001, + 'Chevrolet W Recessed (-0.25) FA Piston', + NULL, + 1 + ), + ( + 200051, + 200001, + 'Chevrolet BB Wedge Top FA Piston', + NULL, + 3 + ), + ( + 200052, + 200001, + 'Olds BB Wedge Top Piston', + NULL, + 2 + ), + ( + 200053, + 200001, + 'Chrysler Hemi Flat Top FA Piston', + NULL, + 2 + ), + ( + 200054, + 200001, + 'Ford SB Boss 302 FA Piston', + NULL, + 2 + ), + (200055, 200001, 'Cadillac L-Head Piston', NULL, 1), + ( + 200056, + 200001, + 'Buick Nailhead Recessed (-0.5) Piston', + NULL, + 1 + ), + ( + 200057, + 200001, + 'Buick Nailhead Flat Top (0.0) Piston', + NULL, + 1 + ), + ( + 200058, + 200001, + 'Buick Nailhead Wedge Top (0.5) Piston', + NULL, + 1 + ), + ( + 200059, + 200001, + 'Buick Nailhead Domed Top (1.0) Piston', + NULL, + 1 + ), + ( + 200060, + 200001, + 'JE Pistons Chrysler SB FT FA Piston', + NULL, + 1 + ), + ( + 200061, + 200001, + 'Ford Cleveland Block Stock Piston', + NULL, + 1 + ), + ( + 200062, + 200001, + 'Ford Cleveland Block FT FA Piston', + NULL, + 1 + ), + ( + 200063, + 200001, + 'Ford 385 Block Stock Piston', + NULL, + 1 + ), + ( + 200064, + 200001, + 'Ford 385 Block CJ Piston', + NULL, + 2 + ), + (200065, 200001, 'Ford Y Stock CA Piston', NULL, 1), + ( + 200066, + 200001, + 'Buick SB Wedge Top Piston', + NULL, + 2 + ), + ( + 200067, + 200001, + 'Cadillac L-Head FA Piston', + NULL, + 1 + ), + ( + 200068, + 200001, + 'Cadillac L-Head Wedge Top Piston', + NULL, + 2 + ), + ( + 200069, + 200001, + 'Cadillac BB Wedge Top Piston', + NULL, + 2 + ), + ( + 200070, + 200001, + 'Chrysler Hemi Wedge Top FA Piston', + NULL, + 3 + ), + ( + 200071, + 200001, + 'Chrysler Hemi Recessed Top FA Piston', + NULL, + 3 + ), + ( + 200072, + 200001, + 'Ford Flathead Wedge Top Piston', + NULL, + 2 + ), + ( + 200073, + 200001, + 'Ford Flathead Domed Top Piston', + NULL, + 2 + ), + ( + 200074, + 200001, + 'Oldsmobile SB Wedge Top Piston', + NULL, + 2 + ), + ( + 200075, + 200001, + 'Blinsky HiPo Adept Piston', + NULL, + 4 + ), + ( + 200076, + 200001, + 'Newcomb Y Block Wedge (.15)', + NULL, + 1 + ), + ( + 200077, + 200001, + 'Newcomb Y Block Wedge (.35)', + NULL, + 2 + ), + ( + 200078, + 200001, + 'Newcomb Y Block Wedge (.4)', + NULL, + 2 + ), + ( + 200079, + 200001, + 'Newcomb Y Block Wedge (.2)', + NULL, + 1 + ), + ( + 200080, + 200001, + 'Newcomb Y Block Wedge (.3)', + NULL, + 2 + ), + ( + 200081, + 200001, + 'Duro Rod Y Block Domed (.1)', + NULL, + 1 + ), + ( + 200082, + 200001, + 'Duro Rod Y Block Domed (.45)', + NULL, + 2 + ), + ( + 200083, + 200001, + 'Duro Rod Y Block Domed (.2)', + NULL, + 1 + ), + ( + 200084, + 200001, + 'Duro Rod Y Block Domed (.35)', + NULL, + 2 + ), + ( + 200085, + 200001, + 'Duro Rod Y Block Domed (.5)', + NULL, + 2 + ), + ( + 200086, + 200001, + 'C&B Chevy SB Domed (.1)', + NULL, + 1 + ), + ( + 200087, + 200001, + 'C&B Chevy SB Domed (.2)', + NULL, + 1 + ), + ( + 200088, + 200001, + 'C&B Chevy SB Domed (.3)', + NULL, + 1 + ), + ( + 200089, + 200001, + 'C&B Chevy SB Domed (.4)', + NULL, + 2 + ), + ( + 200090, + 200001, + 'C&B Chevy SB Domed (.5)', + NULL, + 2 + ), + ( + 200091, + 200001, + 'C&B Chevy SB Domed (.6)', + NULL, + 2 + ), + ( + 200092, + 200001, + 'C&B Chevy SB Domed (.75)', + NULL, + 3 + ), + (200093, 200001, 'JE Chevy SB Domed (.3)', NULL, 2), + (200094, 200001, 'JE Chevy SB Domed (.2)', NULL, 2), + ( + 200095, + 200001, + 'JE Chevy SB Wedge (.15)', + NULL, + 2 + ), + ( + 200096, + 200001, + 'JE Chevy SB Wedge (.35)', + NULL, + 2 + ), + (200097, 200001, 'JE Ford SB Domed (.3)', NULL, 2), + (200098, 200001, 'JE Ford SB Domed (.75)', NULL, 2), + (200099, 200001, 'JE Ford SB Wedge (.5)', NULL, 2), + (200100, 200001, 'JE Ford SB Wedge (.15)', NULL, 1), + ( + 200101, + 200001, + 'Duro Rod Ford SB Domed (.2)', + NULL, + 1 + ), + ( + 200102, + 200001, + 'Duro Rod Ford SB Domed (.35)', + NULL, + 2 + ), + ( + 200103, + 200001, + 'Duro Rod Ford SB Domed (.65)', + NULL, + 2 + ), + ( + 200104, + 200001, + 'Newcomb Ford SB Wedge (.3)', + NULL, + 2 + ), + ( + 200105, + 200001, + 'Newcomb Ford SB Wedge (.6)', + NULL, + 2 + ), + ( + 200106, + 200001, + 'Newcomb Ford SB Recessed (-.45)', + NULL, + 2 + ), + ( + 200107, + 200001, + 'Duro Rod Ford SB Recessed (-.15)', + NULL, + 1 + ), + ( + 200108, + 200001, + 'Newcomb Ford SB Recessed (-.25)', + NULL, + 1 + ), + (200109, 200001, 'JE Ford SB Wedge (.4)', NULL, 2), + ( + 200110, + 200001, + 'Duro Rod Buick Nailhead Domed (.3)', + NULL, + 2 + ), + ( + 200111, + 200001, + 'Duro Rod Buick Nailhead Domed (.5)', + NULL, + 2 + ), + ( + 200112, + 200001, + 'Newcomb Buick Nailhead Domed (.25)', + NULL, + 1 + ), + ( + 200113, + 200001, + 'Duro Rod Buick Nailhead Wedge (.25)', + NULL, + 1 + ), + ( + 200114, + 200001, + 'Newcomb Buick Nailhead Wedge (.35)', + NULL, + 2 + ), + ( + 200115, + 200001, + 'Duro Rod Buick Nailhead Wedge (.15)', + NULL, + 1 + ), + ( + 200116, + 200001, + 'Newcomb Buick Nailhead Recessed (-.2)', + NULL, + 1 + ), + ( + 200117, + 200001, + 'Duro Rod Buick Nailhead Recessed (-.1)', + NULL, + 1 + ), + ( + 200118, + 200001, + 'Newcomb Buick Nailhead Recessed (-.25)', + NULL, + 2 + ), + ( + 200119, + 200001, + 'Duro Rod Buick Nailhead Recessed (-.35)', + NULL, + 2 + ), + ( + 200120, + 200001, + 'Duro Rod Buick Nailhead Flat Top', + NULL, + 1 + ), + ( + 200121, + 200001, + 'Newcomb Buick Nailhead Flat Top', + NULL, + 2 + ), + ( + 200122, + 200001, + 'Newcomb Chrysler SB Recessed (-.75)', + NULL, + 2 + ), + ( + 200123, + 200001, + 'Newcomb Chrysler SB Recessed (-.5)', + NULL, + 2 + ), + ( + 200124, + 200001, + 'Newcomb Chrysler SB Recessed (-.25)', + NULL, + 1 + ), + ( + 200125, + 200001, + 'Duro Rod Chrysler SB Recessed (-.6)', + NULL, + 2 + ), + ( + 200126, + 200001, + 'Duro Rod Chrysler SB Recessed (-.3)', + NULL, + 1 + ), + ( + 200127, + 200001, + 'Duro Rod Chrysler SB Wedge (.3)', + NULL, + 1 + ), + ( + 200128, + 200001, + 'Duro Rod Chrysler SB Wedge (.5)', + NULL, + 2 + ), + ( + 200129, + 200001, + 'Duro Rod Chrysler SB Wedge (.75)', + NULL, + 2 + ), + ( + 200130, + 200001, + 'Newcomb Chrysler SB Wedge (.25)', + NULL, + 1 + ), + ( + 200131, + 200001, + 'Newcomb Chrysler SB Wedge (1.0)', + NULL, + 2 + ), + ( + 200132, + 200001, + 'Newcomb Chrysler SB Flat Top Lightweight', + NULL, + 2 + ), + ( + 200133, + 200001, + 'JE Pistons Chrysler SB Domed (.25)', + NULL, + 1 + ), + ( + 200134, + 200001, + 'JE Pistons Chrysler SB Domed (.75)', + NULL, + 2 + ), + ( + 200135, + 200001, + 'JE Pistons Chrysler SB Domed (1.0)', + NULL, + 3 + ), + ( + 200136, + 200001, + 'JE Pistons Chrysler SB Domed (1.25)', + NULL, + 4 + ), + ( + 200137, + 200001, + 'Newcomb Pontiac Recessed (-.25)', + NULL, + 1 + ), + ( + 200138, + 200001, + 'Newcomb Pontiac Recessed (-.5)', + NULL, + 2 + ), + ( + 200139, + 200001, + 'Newcomb Pontiac Recessed (-.75)', + NULL, + 2 + ), + ( + 200140, + 200001, + 'Duro Rod Pontiac Recessed (-.3)', + NULL, + 1 + ), + ( + 200141, + 200001, + 'Duro Rod Pontiac Recessed (-.6)', + NULL, + 2 + ), + ( + 200142, + 200001, + 'Duro Rod Pontiac Wedge (.2)', + NULL, + 1 + ), + ( + 200143, + 200001, + 'Duro Rod Pontiac Wedge (.6)', + NULL, + 2 + ), + ( + 200144, + 200001, + 'Duro Rod Pontiac Wedge (.8)', + NULL, + 3 + ), + ( + 200145, + 200001, + 'Newcomb Pontiac Wedge (.4)', + NULL, + 2 + ), + ( + 200146, + 200001, + 'Newcomb Pontiac Wedge (1.0)', + NULL, + 3 + ), + ( + 200147, + 200001, + 'JE Pistons Pontiac Domed (.25)', + NULL, + 1 + ), + ( + 200148, + 200001, + 'JE Pistons Pontiac Domed (.5)', + NULL, + 2 + ), + ( + 200149, + 200001, + 'JE Pistons Pontiac Domed (.75)', + NULL, + 2 + ), + ( + 200150, + 200001, + 'JE Pistons Pontiac Domed (1.0)', + NULL, + 3 + ), + ( + 200151, + 200001, + 'JE Pistons Pontiac Domed (1.25)', + NULL, + 4 + ), + ( + 200152, + 200001, + 'JE Chevy BB Recessed (-.15)', + NULL, + 1 + ), + ( + 200153, + 200001, + 'JE Chevy BB Recessed (-.25)', + NULL, + 1 + ), + ( + 200154, + 200001, + 'JE Chevy BB Recessed (-.35)', + NULL, + 2 + ), + ( + 200155, + 200001, + 'JE Chevy BB Recessed (-.5)', + NULL, + 2 + ), + ( + 200156, + 200001, + 'JE Chevy BB Recessed (-.75)', + NULL, + 3 + ), + ( + 200157, + 200001, + 'JE Chevy BB Wedge (.35)', + NULL, + 2 + ), + (200158, 200001, 'JE Chevy BB Wedge (.5)', NULL, 2), + ( + 200159, + 200001, + 'JE Chevy BB Wedge (.75)', + NULL, + 2 + ), + ( + 200160, + 200001, + 'JE Chevy BB Wedge (1.0)', + NULL, + 3 + ), + ( + 200161, + 200001, + 'JE Chevy BB Domed (.25)', + NULL, + 1 + ), + ( + 200162, + 200001, + 'JE Chevy BB Domed (.75)', + NULL, + 2 + ), + ( + 200163, + 200001, + 'JE Chevy BB Domed (1.0)', + NULL, + 3 + ), + ( + 200164, + 200001, + 'JE Chevy BB Domed (1.25)', + NULL, + 4 + ), + ( + 200165, + 200001, + 'Duro Rod Ford BB Recessed (-.3)', + NULL, + 2 + ), + ( + 200166, + 200001, + 'Duro Rod Ford BB Recessed (-.6)', + NULL, + 2 + ), + ( + 200167, + 200001, + 'Newcomb Ford BB Recessed (-.25)', + NULL, + 1 + ), + ( + 200168, + 200001, + 'Newcomb Ford BB Recessed (-.5)', + NULL, + 2 + ), + ( + 200169, + 200001, + 'Newcomb Ford BB Recessed (-.75)', + NULL, + 2 + ), + (200170, 200001, 'JE Ford BB Wedge (.15)', NULL, 1), + (200171, 200001, 'JE Ford BB Wedge (.25)', NULL, 2), + (200172, 200001, 'JE Ford BB Wedge (.5)', NULL, 2), + (200173, 200001, 'JE Ford BB Wedge (.75)', NULL, 2), + (200174, 200001, 'JE Ford BB Wedge (1.0)', NULL, 3), + (200175, 200001, 'JE Ford BB Domed (.25)', NULL, 2), + (200176, 200001, 'JE Ford BB Domed (.75)', NULL, 2), + (200177, 200001, 'JE Ford BB Domed (1.0)', NULL, 3), + ( + 200178, + 200001, + 'JE Ford BB Domed (1.25)', + NULL, + 4 + ), + ( + 200179, + 200001, + 'JE Chrysler BB Wedge (.15)', + NULL, + 1 + ), + ( + 200180, + 200001, + 'JE Chrysler BB Wedge (.5)', + NULL, + 2 + ), + ( + 200181, + 200001, + 'JE Chrysler BB Wedge (.75)', + NULL, + 2 + ), + ( + 200182, + 200001, + 'JE Chrysler BB Wedge (1.0)', + NULL, + 3 + ), + ( + 200183, + 200001, + 'JE Chrysler BB Domed (.25)', + NULL, + 2 + ), + ( + 200184, + 200001, + 'JE Chrysler BB Domed (.75)', + NULL, + 2 + ), + ( + 200185, + 200001, + 'JE Chrysler BB Domed (1.0)', + NULL, + 3 + ), + ( + 200186, + 200001, + 'JE Chrysler BB Domed (1.25)', + NULL, + 4 + ), + ( + 200187, + 200001, + 'Duro Rod Chrysler BB Recessed (-.3)', + NULL, + 2 + ), + ( + 200188, + 200001, + 'Duro Rod Chrysler BB Recessed (-.6)', + NULL, + 2 + ), + ( + 200189, + 200001, + 'Newcomb Chrysler BB Recessed (-.25)', + NULL, + 2 + ), + ( + 200190, + 200001, + 'Newcomb Chrysler BB Recessed (-.5)', + NULL, + 2 + ), + ( + 200191, + 200001, + 'Newcomb Chrysler BB Recessed (-.75)', + NULL, + 2 + ), + ( + 200192, + 200001, + 'Duro Rod Olds BB Recessed (-.3)', + NULL, + 2 + ), + ( + 200193, + 200001, + 'Duro Rod Olds BB Recessed (-.6)', + NULL, + 2 + ), + ( + 200194, + 200001, + 'Newcomb Olds BB Recessed (-.25)', + NULL, + 2 + ), + ( + 200195, + 200001, + 'Newcomb Olds BB Recessed (-.5)', + NULL, + 2 + ), + ( + 200196, + 200001, + 'Newcomb Olds BB Recessed (-.75)', + NULL, + 2 + ), + (200197, 200001, 'JE Olds BB Wedge (.15)', NULL, 1), + (200198, 200001, 'JE Olds BB Wedge (.5)', NULL, 2), + (200199, 200001, 'JE Olds BB Wedge (.75)', NULL, 2), + (200200, 200001, 'JE Olds BB Wedge (1.0)', NULL, 3), + (200201, 200001, 'JE Olds BB Domed (.25)', NULL, 2), + (200202, 200001, 'JE Olds BB Domed (.75)', NULL, 2), + (200203, 200001, 'JE Olds BB Domed (1.0)', NULL, 3), + ( + 200204, + 200001, + 'JE Olds BB Domed (1.25)', + NULL, + 4 + ), + ( + 200205, + 200001, + 'Duro Rod AMC Recessed (-.3)', + NULL, + 2 + ), + ( + 200206, + 200001, + 'Duro Rod AMC Recessed (-.6)', + NULL, + 2 + ), + ( + 200207, + 200001, + 'Newcomb AMC Recessed (-.25)', + NULL, + 2 + ), + ( + 200208, + 200001, + 'Newcomb AMC Recessed (-.5)', + NULL, + 2 + ), + ( + 200209, + 200001, + 'Newcomb AMC Recessed (-.75)', + NULL, + 2 + ), + (200210, 200001, 'JE AMC Wedge (.15)', NULL, 1), + (200211, 200001, 'JE AMC Wedge (.25)', NULL, 2), + (200212, 200001, 'JE AMC Wedge (.5)', NULL, 2), + (200213, 200001, 'JE AMC Wedge (.75)', NULL, 2), + (200214, 200001, 'JE AMC Wedge (1.0)', NULL, 3), + (200215, 200001, 'JE AMC Domed (.25)', NULL, 2), + (200216, 200001, 'JE AMC Domed (.5)', NULL, 2), + (200217, 200001, 'JE AMC Domed (.75)', NULL, 2), + (200218, 200001, 'JE AMC Domed (1.0)', NULL, 3), + (200219, 200001, 'JE AMC Domed (1.25)', NULL, 4), + ( + 200220, + 200001, + 'Newcomb Chevy W Recessed (-.5)', + NULL, + 2 + ), + ( + 200221, + 200001, + 'Duro Rod Chevy W Recessed (-.3)', + NULL, + 2 + ), + ( + 200222, + 200001, + 'Duro Rod Chevy W Recessed (-.6)', + NULL, + 2 + ), + (200223, 200001, 'JE Chevy W Wedge (.15)', NULL, 1), + (200224, 200001, 'JE Chevy W Wedge (.25)', NULL, 2), + (200225, 200001, 'JE Chevy W Wedge (.5)', NULL, 2), + (200226, 200001, 'JE Chevy W Wedge (.75)', NULL, 2), + (200227, 200001, 'JE Chevy W Wedge (1.0)', NULL, 3), + (200228, 200001, 'JE Chevy W Domed (.25)', NULL, 2), + (200229, 200001, 'JE Chevy W Domed (.5)', NULL, 2), + ( + 200230, + 200001, + 'JE Chevy W Domed (1.25)', + NULL, + 4 + ), + ( + 200231, + 200001, + 'Newcomb Cadillac BB Recessed (-.25)', + NULL, + 2 + ), + ( + 200232, + 200001, + 'Newcomb Cadillac BB Recessed (-.5)', + NULL, + 2 + ), + ( + 200233, + 200001, + 'Newcomb Cadillac BB Recessed (-.75)', + NULL, + 2 + ), + ( + 200234, + 200001, + 'Duro Rod Cadillac BB Recessed (-.3)', + NULL, + 2 + ), + ( + 200235, + 200001, + 'Duro Rod Cadillac BB Recessed (-.6)', + NULL, + 2 + ), + ( + 200236, + 200001, + 'JE Cadillac BB Domed (.25)', + NULL, + 2 + ), + ( + 200237, + 200001, + 'JE Cadillac BB Domed (.5)', + NULL, + 2 + ), + ( + 200238, + 200001, + 'JE Cadillac BB Domed (.75)', + NULL, + 2 + ), + ( + 200239, + 200001, + 'JE Cadillac BB Domed (1.0)', + NULL, + 3 + ), + ( + 200240, + 200001, + 'JE Cadillac BB Domed (1.25)', + NULL, + 4 + ), + ( + 200241, + 200001, + 'JE Cadillac BB Wedge (.15)', + NULL, + 1 + ), + ( + 200242, + 200001, + 'JE Cadillac BB Wedge (.25)', + NULL, + 2 + ), + ( + 200243, + 200001, + 'JE Cadillac BB Wedge (.5)', + NULL, + 2 + ), + ( + 200244, + 200001, + 'JE Cadillac BB Wedge (.75)', + NULL, + 2 + ), + ( + 200245, + 200001, + 'JE Cadillac BB Wedge (1.0)', + NULL, + 3 + ), + ( + 200246, + 200001, + 'Newcomb Hemi Recessed (-.25)', + NULL, + 2 + ), + ( + 200247, + 200001, + 'Newcomb Hemi Recessed (-.5)', + NULL, + 2 + ), + ( + 200248, + 200001, + 'Newcomb Hemi Recessed (-.75)', + NULL, + 2 + ), + ( + 200249, + 200001, + 'Duro Rod Hemi Recessed (-.3)', + NULL, + 2 + ), + ( + 200250, + 200001, + 'Duro Rod Hemi Recessed (-.6)', + NULL, + 2 + ), + (200251, 200001, 'JE Hemi Domed (.25)', NULL, 2), + (200252, 200001, 'JE Hemi Domed (.5)', NULL, 2), + (200253, 200001, 'JE Hemi Domed (.75)', NULL, 2), + (200254, 200001, 'JE Hemi Domed (1.0)', NULL, 3), + (200255, 200001, 'JE Hemi Domed (1.25)', NULL, 4), + (200256, 200001, 'JE Hemi Wedge (.15)', NULL, 1), + (200257, 200001, 'JE Hemi Wedge (.25)', NULL, 2), + (200258, 200001, 'JE Hemi Wedge (.5)', NULL, 2), + (200259, 200001, 'JE Hemi Wedge (.75)', NULL, 2), + (200260, 200001, 'JE Hemi Wedge (1.0)', NULL, 3), + ( + 200261, + 200001, + 'Newcomb Ford 385 Recessed (-.25)', + NULL, + 2 + ), + ( + 200262, + 200001, + 'Newcomb Ford 385 Recessed (-.5)', + NULL, + 2 + ), + ( + 200263, + 200001, + 'Newcomb Ford 385 Recessed (-.75)', + NULL, + 2 + ), + ( + 200264, + 200001, + 'Duro Rod Ford 385 Recessed (-.3)', + NULL, + 2 + ), + ( + 200265, + 200001, + 'Duro Rod Ford 385 Recessed (-.6)', + NULL, + 2 + ), + ( + 200266, + 200001, + 'JE Ford 385 Domed (.25)', + NULL, + 2 + ), + (200267, 200001, 'JE Ford 385 Domed (.5)', NULL, 2), + ( + 200268, + 200001, + 'JE Ford 385 Domed (.75)', + NULL, + 2 + ), + ( + 200269, + 200001, + 'JE Ford 385 Domed (1.0)', + NULL, + 3 + ), + ( + 200270, + 200001, + 'JE Ford 385 Domed (1.25)', + NULL, + 4 + ), + ( + 200271, + 200001, + 'JE Ford 385 Wedge (.15)', + NULL, + 1 + ), + ( + 200272, + 200001, + 'JE Ford 385 Wedge (.25)', + NULL, + 2 + ), + (200273, 200001, 'JE Ford 385 Wedge (.5)', NULL, 2), + ( + 200274, + 200001, + 'JE Ford 385 Wedge (.75)', + NULL, + 2 + ), + ( + 200275, + 200001, + 'JE Ford 385 Wedge (1.0)', + NULL, + 3 + ), + ( + 200276, + 200001, + 'Newcomb Cleveland Recessed (-.25)', + NULL, + 2 + ), + ( + 200277, + 200001, + 'Newcomb Cleveland Recessed (-.5)', + NULL, + 2 + ), + ( + 200278, + 200001, + 'Newcomb Cleveland Recessed (-.75)', + NULL, + 2 + ), + ( + 200279, + 200001, + 'Duro Rod Cleveland Recessed (-.3)', + NULL, + 2 + ), + ( + 200280, + 200001, + 'Duro Rod Cleveland Recessed (-.6)', + NULL, + 2 + ), + ( + 200281, + 200001, + 'JE Cleveland Domed (.25)', + NULL, + 2 + ), + ( + 200282, + 200001, + 'JE Cleveland Domed (.5)', + NULL, + 2 + ), + ( + 200283, + 200001, + 'JE Cleveland Domed (.75)', + NULL, + 2 + ), + ( + 200284, + 200001, + 'JE Cleveland Domed (1.0)', + NULL, + 3 + ), + ( + 200285, + 200001, + 'JE Cleveland Domed (1.25)', + NULL, + 4 + ), + ( + 200286, + 200001, + 'JE Cleveland Wedge (.15)', + NULL, + 1 + ), + ( + 200287, + 200001, + 'JE Cleveland Wedge (.25)', + NULL, + 2 + ), + ( + 200288, + 200001, + 'JE Cleveland Wedge (.5)', + NULL, + 2 + ), + ( + 200289, + 200001, + 'JE Cleveland Wedge (.75)', + NULL, + 2 + ), + ( + 200290, + 200001, + 'JE Cleveland Wedge (1.0)', + NULL, + 3 + ), + ( + 230001, + 230001, + 'Normal Duty Cooling System', + NULL, + 1 + ), + ( + 230002, + 230001, + 'Light Duty Cooling System', + NULL, + 1 + ), + ( + 230003, + 230001, + 'Heavy Duty Cooling System', + NULL, + 3 + ), + ( + 230004, + 230001, + 'Extra Heavy Duty Cooling System', + NULL, + 4 + ), + ( + 230005, + 230001, + 'Ford BB Boss XHD Cooling System', + NULL, + 4 + ), + ( + 230006, + 230001, + 'Edelbrock Victor Series Cooling System', + NULL, + 2 + ), + (230007, 230001, 'Chevy SB Standard', NULL, 1), + (230008, 230001, 'Chevy SB Heavy Duty', NULL, 2), + (230009, 230001, 'Chevy W Standard', NULL, 1), + (230010, 230001, 'Chevy W Heavy Duty', NULL, 2), + (230011, 230001, 'Chevy BB Standard', NULL, 1), + (230012, 230001, 'Chevy BB Heavy Duty', NULL, 2), + (230013, 230001, 'Chrysler SB Standard', NULL, 1), + (230014, 230001, 'Chrysler SB Heavy Duty', NULL, 2), + ( + 230015, + 230001, + 'Chrysler SB Performance', + NULL, + 3 + ), + (230016, 230001, 'Chrysler BB Standard', NULL, 1), + (230017, 230001, 'Chrysler BB Heavy Duty', NULL, 2), + ( + 230018, + 230001, + 'Chrysler BB Performance', + NULL, + 3 + ), + ( + 230019, + 230001, + 'Cadillac L-Head Standard', + NULL, + 1 + ), + (230020, 230001, 'AMC Standard', NULL, 1), + (230021, 230001, 'AMC Heavy Duty', NULL, 2), + (230022, 230001, 'Cadillac BB Standard', NULL, 1), + (230023, 230001, 'Cadillac BB Heavy Duty', NULL, 2), + (230024, 230001, 'Pontiac Standard', NULL, 1), + (230025, 230001, 'Pontiac Performance', NULL, 2), + (230026, 230001, 'Olds BB Standard', NULL, 1), + (230027, 230001, 'Olds BB Heavy Duty', NULL, 2), + ( + 230028, + 230001, + 'Buick Nailhead Standard', + NULL, + 1 + ), + ( + 230029, + 230001, + 'Buick Nailhead Heavy Duty', + NULL, + 2 + ), + (230030, 230001, 'Ford Flathead Standard', NULL, 1), + (230031, 230001, 'Ford Y Block Standard', NULL, 1), + ( + 230032, + 230001, + 'Ford Y Block Heavy Duty', + NULL, + 2 + ), + (230033, 230001, 'Ford SB Standard', NULL, 1), + (230034, 230001, 'Ford SB Heavy Duty', NULL, 2), + (230035, 230001, 'Ford SB Boss', NULL, 3), + (230036, 230001, 'Ford BB Standard', NULL, 1), + (230037, 230001, 'Ford BB Heavy Duty', NULL, 2), + ( + 240001, + 240001, + 'Marinn Normal Duty Electrical System', + NULL, + 1 + ), + ( + 240002, + 240001, + 'Ford Boss Electronic Ignition', + NULL, + 3 + ), + ( + 240003, + 240001, + 'Mallory Light Duty Electrical System', + NULL, + 1 + ), + ( + 240004, + 240001, + 'AMC Group 19 Electrical System', + NULL, + 2 + ), + ( + 240005, + 240001, + 'Accel Billetproof Breakerless', + NULL, + 2 + ), + ( + 240006, + 240001, + 'Accel Blueprint Electronic Ignition', + NULL, + 2 + ), + ( + 240007, + 240001, + 'Crane Fireball XR700 Ignition System', + NULL, + 3 + ), + ( + 240008, + 240001, + 'Crane Fireball XR3000 Ignition System', + NULL, + 4 + ), + ( + 240009, + 240001, + 'Holley Avenger Ignition', + NULL, + 3 + ), + ( + 240010, + 240001, + 'Holley Dominator Ignition', + NULL, + 3 + ), + ( + 240011, + 240001, + 'Holley Excelerator Ignition', + NULL, + 3 + ), + ( + 240012, + 240001, + 'GM Standard Single Point', + NULL, + 1 + ), + ( + 240013, + 240001, + 'GM Performance Single Point', + NULL, + 2 + ), + (240014, 240001, 'GM Standard Dual Point', NULL, 1), + ( + 240015, + 240001, + 'GM Performance Dual Point', + NULL, + 2 + ), + (240016, 240001, 'GM Standard Electronic', NULL, 2), + ( + 240017, + 240001, + 'GM Performance Electronic', + NULL, + 2 + ), + ( + 240018, + 240001, + 'Chrysler Standard Single Point', + NULL, + 1 + ), + ( + 240019, + 240001, + 'Chrysler Performance Single Point', + NULL, + 2 + ), + ( + 240020, + 240001, + 'Chrysler Standard Dual Point', + NULL, + 1 + ), + ( + 240021, + 240001, + 'Chrysler Performance Dual Point', + NULL, + 2 + ), + ( + 240022, + 240001, + 'Chrysler Standard Electronic', + NULL, + 2 + ), + ( + 240023, + 240001, + 'Chrysler Performance Electronic', + NULL, + 2 + ), + ( + 240024, + 240001, + 'Ford Standard Single Point', + NULL, + 1 + ), + ( + 240025, + 240001, + 'Ford Performance Single Point', + NULL, + 2 + ), + ( + 240026, + 240001, + 'Ford Standard Dual Point', + NULL, + 1 + ), + ( + 240027, + 240001, + 'Ford Performance Dual Point', + NULL, + 2 + ), + ( + 240028, + 240001, + 'Ford Standard Electronic', + NULL, + 2 + ), + ( + 240029, + 240001, + 'Ford Performance Electronic', + NULL, + 2 + ), + ( + 240030, + 240001, + 'AMC Standard Single Point', + NULL, + 1 + ), + ( + 240031, + 240001, + 'AMC Performance Single Point', + NULL, + 2 + ), + ( + 240032, + 240001, + 'AMC Standard Dual Point', + NULL, + 1 + ), + ( + 240033, + 240001, + 'AMC Performance Dual Point', + NULL, + 2 + ), + ( + 250001, + 250001, + 'Ford SB Stock Lubrication System', + NULL, + 1 + ), + ( + 250002, + 250001, + 'Chevy BB Stock Lubrication System', + NULL, + 1 + ), + ( + 250003, + 250001, + 'AMC Stock Lubrication System', + NULL, + 1 + ), + ( + 250004, + 250001, + 'GM Z11 Lubrication System', + NULL, + 3 + ), + ( + 250005, + 250001, + 'Ford BB Boss Lubrication System', + NULL, + 3 + ), + ( + 250006, + 250001, + 'Bully HD Lubrication System', + NULL, + 2 + ), + ( + 250007, + 250001, + 'Bully XHD Lubrication System', + NULL, + 3 + ), + ( + 250008, + 250001, + 'Ford Cobra Lubrication System', + NULL, + 3 + ), + ( + 250009, + 250001, + 'Chevy SB Stock Lubrication System', + NULL, + 1 + ), + ( + 250010, + 250001, + 'Chevy SB Performance Lubrication System', + NULL, + 2 + ), + ( + 250011, + 250001, + 'Chevy BB Performance Lubrication System', + NULL, + 2 + ), + ( + 250012, + 250001, + 'Chrysler SB Stock Lubrication System', + NULL, + 1 + ), + ( + 250013, + 250001, + 'Chrysler BB Stock Lubrication System', + NULL, + 1 + ), + ( + 250014, + 250001, + 'Chrysler BB Performance Lubrication System', + NULL, + 2 + ), + ( + 250015, + 250001, + 'Cadillac BB Stock Lubrication System', + NULL, + 1 + ), + ( + 250016, + 250001, + 'Cadillac L-Head Stock Lubrication System', + NULL, + 1 + ), + ( + 250017, + 250001, + 'Pontiac Stock Lubrication System', + NULL, + 1 + ), + ( + 250018, + 250001, + 'Pontiac Performance Lubrication System', + NULL, + 2 + ), + ( + 250019, + 250001, + 'Olds BB Stock Lubrication System', + NULL, + 1 + ), + ( + 250020, + 250001, + 'Olds BB Performance Lubrication System', + NULL, + 2 + ), + ( + 250021, + 250001, + 'Buick Nailhead Stock Lubrication System', + NULL, + 1 + ), + ( + 250022, + 250001, + 'Ford Flathead Stock Lubrication System', + NULL, + 1 + ), + ( + 250023, + 250001, + 'Ford Y Block Stock Lubrication System', + NULL, + 1 + ), + ( + 250024, + 250001, + 'Ford SB Boss Lubrication System', + NULL, + 3 + ), + ( + 250025, + 250001, + 'Ford SB Windsor Stock Lubrication System', + NULL, + 1 + ), + ( + 250026, + 250001, + 'Ford Cleveland Stock Lubrication System', + NULL, + 1 + ), + ( + 250027, + 250001, + 'Ford BB Stock Lubrication System', + NULL, + 1 + ), + ( + 250028, + 250001, + 'Ford BB Performance Lubrication System', + NULL, + 2 + ), + ( + 250029, + 250001, + 'Ford 385 Stock Lubrication System', + NULL, + 1 + ), + ( + 250030, + 250001, + 'Ford 385 Performance Lubrication System', + NULL, + 2 + ), + ( + 280001, + 280001, + 'Ford BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280002, + 280001, + 'Chevrolet BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280003, + 280001, + 'Chrysler SB Stock Exhaust Manifold', + NULL, + 1 + ), + (280004, 280001, 'Ford 385 Boss Dual EM', NULL, 2), + (280005, 280001, 'Chevrolet BB HP EM', NULL, 2), + (280006, 280001, 'Chevrolet W Z11 HP EM', NULL, 2), + ( + 280007, + 280001, + 'Hooker Street Rodder Chevrolet SB Headers', + NULL, + 3 + ), + ( + 280008, + 280001, + 'Ford BB Cobrajet Dual EM', + NULL, + 2 + ), + ( + 280009, + 280001, + 'Ford BB Tri-Y Steel Tube Headers', + NULL, + 3 + ), + ( + 280010, + 280001, + 'Chrysler BB Max Wedge Exhaust Manifold', + NULL, + 2 + ), + ( + 280011, + 280001, + 'AMC Rebel Machine Dual EM', + NULL, + 2 + ), + ( + 280012, + 280001, + 'Edelbrock TES Chevrolet BB Exhaust Headers', + NULL, + 3 + ), + ( + 280013, + 280001, + 'Buick BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280014, + 280001, + 'Buick SB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280015, + 280001, + 'Cadillac BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280016, + 280001, + 'Chevrolet SB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280017, + 280001, + 'Chrysler BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280018, + 280001, + 'Ford SB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280019, + 280001, + 'Ford Flathead Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280020, + 280001, + 'Olds BB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280021, + 280001, + 'Olds SB Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280022, + 280001, + 'AMC Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280023, + 280001, + 'Pontiac Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280024, + 280001, + 'Chevrolet SB Ram''s Horn EM', + NULL, + 1 + ), + (280025, 280001, 'Buick BB Stage I EM', NULL, 2), + ( + 280026, + 280001, + 'Buick BB Mickey Thompson Headers', + NULL, + 3 + ), + (280027, 280001, 'Olds BB Divider EM', NULL, 1), + (280028, 280001, 'Pontiac Ram Air I EM', NULL, 2), + (280029, 280001, 'Pontiac HP EM', NULL, 2), + (280030, 280001, 'Ford Y 1957 Manifold', NULL, 1), + (280031, 280001, 'Ford BB CJ/SCJ HP EM', NULL, 2), + (280032, 280001, 'Ford 385 NASCAR EM', NULL, 3), + ( + 280033, + 280001, + 'Chrysler BB Max Wedge I Headers', + NULL, + 3 + ), + ( + 280034, + 280001, + 'Chrysler BB 440 Stock EM', + NULL, + 1 + ), + ( + 280035, + 280001, + 'Chrysler BB Tri-Y Max Wedge EM', + NULL, + 2 + ), + (280036, 280001, 'Chrysler BB HP EM', NULL, 2), + ( + 280037, + 280001, + 'Chrysler SB Improved Flow EM', + NULL, + 2 + ), + ( + 280038, + 280001, + 'Chevrolet SB HP Exhaust Manifold', + NULL, + 2 + ), + (280039, 280001, 'Pontiac Trophy EM', NULL, 2), + (280040, 280001, 'Ford SB Boss 302 EM', NULL, 2), + ( + 280041, + 280001, + 'Chrysler Hemi Exhaust Manifold', + NULL, + 2 + ), + ( + 280042, + 280001, + 'Shade Tree Chrysler Hemi Exhaust Manifold', + NULL, + 1 + ), + ( + 280043, + 280001, + 'Cadillac L-Head Exhaust Manifold', + NULL, + 1 + ), + ( + 280044, + 280001, + 'Buick Nailhead Stock Exhaust Manifold', + NULL, + 1 + ), + ( + 280045, + 280001, + 'Ford Cleveland Block Stock EM', + NULL, + 1 + ), + ( + 280046, + 280001, + 'Ford 385 Block Stock EM', + NULL, + 1 + ), + ( + 280047, + 280001, + 'Ford 385 Block CJ/SCJ EM', + NULL, + 2 + ), + (280048, 280001, 'Ford SB HP EM', NULL, 2), + (280049, 280001, 'Ford Y Stock EM', NULL, 1), + (280050, 280001, 'Chevrolet W Stock EM', NULL, 1), + (280051, 280001, 'Chevrolet W HP EM', NULL, 2), + ( + 280052, + 280001, + 'Ford Cleveland Block HP EM', + NULL, + 2 + ), + ( + 280053, + 280001, + 'Buick Nailhead Performance EM', + NULL, + 2 + ), + ( + 280054, + 280001, + 'Cadillac L-Head Performance EM', + NULL, + 2 + ), + ( + 280055, + 280001, + 'Buick SB Performance EM', + NULL, + 2 + ), + (280056, 280001, 'Buick SB Headers', NULL, 2), + ( + 280057, + 280001, + 'Cadillac Performance EM', + NULL, + 2 + ), + ( + 280058, + 280001, + 'Ford Flathead Performance EM', + NULL, + 2 + ), + (280059, 280001, 'Olds SB Performance EM', NULL, 2), + ( + 280060, + 280001, + 'Edelbrock TES Pontiac Exhaust Headers', + NULL, + 3 + ), + ( + 280061, + 280001, + 'Edelbrock TES Chevrolet W Exhaust Headers', + NULL, + 3 + ), + ( + 280062, + 280001, + 'Edelbrock TES Ford 385 Exhaust Headers', + NULL, + 3 + ), + (280063, 280001, 'AMC Small Tube Headers', NULL, 3), + ( + 280064, + 280001, + 'Buick Nailhead Small Tube Headers', + NULL, + 3 + ), + ( + 280065, + 280001, + 'Cadillac L-Head Small Tube Headers', + NULL, + 3 + ), + ( + 280066, + 280001, + 'Cadillac Small Tube Headers', + NULL, + 3 + ), + ( + 280067, + 280001, + 'Chevy SB Small Tube Headers', + NULL, + 3 + ), + ( + 280068, + 280001, + 'Chrysler SB Small Tube Headers', + NULL, + 3 + ), + ( + 280069, + 280001, + 'Ford Flathead Small Tube Headers', + NULL, + 3 + ), + ( + 280070, + 280001, + 'Ford SB Small Tube Headers', + NULL, + 3 + ), + ( + 280071, + 280001, + 'Ford Y Block Small Tube Headers', + NULL, + 3 + ), + ( + 280072, + 280001, + 'Ford Cleveland Block Small Tube Headers', + NULL, + 3 + ), + ( + 280073, + 280001, + 'Oldsmobile SB Small Tube Headers', + NULL, + 3 + ), + ( + 280074, + 280001, + 'Oldsmobile BB Small Tube Headers', + NULL, + 3 + ), + ( + 280075, + 280001, + 'Chrysler Hemi Small Tube Headers', + NULL, + 3 + ), + ( + 280076, + 280001, + 'Ford Y Block Factory Headers', + NULL, + 2 + ), + ( + 280077, + 280001, + 'Oldfield Y Block Free Flow EM', + NULL, + 1 + ), + ( + 280078, + 280001, + 'Oldfield Y Block Free Flow Aluminum EM', + NULL, + 1 + ), + ( + 280079, + 280001, + 'Oldfield Y Block Street King Headers', + NULL, + 3 + ), + ( + 280080, + 280001, + 'Oldfield Y Block Strip King Headers', + NULL, + 3 + ), + ( + 280081, + 280001, + 'Oldfield Y Block Track King Headers', + NULL, + 3 + ), + ( + 280082, + 280001, + 'Quaker Y Block Air Stream EM', + NULL, + 1 + ), + ( + 280083, + 280001, + 'Quaker Y Block Air Stream Aluminum EM', + NULL, + 1 + ), + ( + 280084, + 280001, + 'Quaker Y Block Super Stream Headers', + NULL, + 3 + ), + ( + 280085, + 280001, + 'Rad Rat Chevy SB Window Rattler Headers', + NULL, + 3 + ), + ( + 280086, + 280001, + 'Rad Rat Chevy SB Street Lion Headers', + NULL, + 3 + ), + ( + 280087, + 280001, + 'Rad Rat Chevy SB Rumble Pipe Headers', + NULL, + 3 + ), + ( + 280088, + 280001, + 'C&B Chevy SB Masterpiece EM', + NULL, + 2 + ), + ( + 280089, + 280001, + 'C&B Chevy SB Blueprint EM', + NULL, + 1 + ), + ( + 280090, + 280001, + 'C&B Chevy SB Beach Racer Headers', + NULL, + 3 + ), + ( + 280091, + 280001, + 'Rad Rat Chevy SB Street Mod EM', + NULL, + 1 + ), + ( + 280092, + 280001, + 'Quaker Ford SB Interceptor EM', + NULL, + 2 + ), + ( + 280093, + 280001, + 'Quaker Ford SB Super Stream Headers', + NULL, + 3 + ), + ( + 280094, + 280001, + 'Oldfield Ford SB Police Special EM', + NULL, + 2 + ), + ( + 280095, + 280001, + 'Dunbar Buick Nailhead Performance EM', + NULL, + 2 + ), + ( + 280096, + 280001, + 'Dunbar Buick Nailhead Lightweight EM', + NULL, + 1 + ), + ( + 280097, + 280001, + 'Dunbar Buick Nailhead Performance Headers', + NULL, + 2 + ), + ( + 280098, + 280001, + 'Dunbar Buick Nailhead Street Headers', + NULL, + 2 + ), + ( + 280099, + 280001, + 'Quaker Chrysler SB Airstream EM', + NULL, + 1 + ), + ( + 280100, + 280001, + 'Quaker Chrysler SB Double Demon HP EM', + NULL, + 2 + ), + ( + 280101, + 280001, + 'Quaker Chrysler SB Super Stream Headers', + NULL, + 4 + ), + ( + 280102, + 280001, + 'Walter Chrysler SB LA Street EM', + NULL, + 2 + ), + ( + 280103, + 280001, + 'Walter Chrysler SB Performance LA HP EM', + NULL, + 2 + ), + ( + 280104, + 280001, + 'Walter Chrysler SB LA Sm. Headers', + NULL, + 3 + ), + ( + 280105, + 280001, + 'Walter Chrysler SB Super LA Lg. Headers', + NULL, + 4 + ), + ( + 280106, + 280001, + 'Quaker Pontiac Airstream EM', + NULL, + 1 + ), + ( + 280107, + 280001, + 'Quaker Pontiac Aluminum Airstream EM', + NULL, + 1 + ), + ( + 280108, + 280001, + 'Quaker Pontiac Jet Stream Headers', + NULL, + 3 + ), + ( + 280109, + 280001, + 'Quaker Pontiac Super Stream Headers', + NULL, + 4 + ), + ( + 280110, + 280001, + 'Quaker Cleveland Air Stream EM', + NULL, + 1 + ), + ( + 280111, + 280001, + 'Quaker Cleveland Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280112, + 280001, + 'Quaker Cleveland Interceptor EM', + NULL, + 2 + ), + ( + 280113, + 280001, + 'Oldfield Cleveland Street King EM', + NULL, + 2 + ), + ( + 280114, + 280001, + 'Quaker Cleveland Super Stream Headers', + NULL, + 4 + ), + ( + 280115, + 280001, + 'Oldfield Cleveland Track King Headers', + NULL, + 4 + ), + ( + 280116, + 280001, + 'Oldfield Cleveland Strip King Headers', + NULL, + 3 + ), + ( + 280117, + 280001, + 'Oldfield Ford 385 Strip King Headers', + NULL, + 3 + ), + ( + 280118, + 280001, + 'Oldfield Ford 385 Track King Headers', + NULL, + 4 + ), + ( + 280119, + 280001, + 'Oldfield Ford 385 Street King EM', + NULL, + 2 + ), + ( + 280120, + 280001, + 'Quaker Ford 385 Air Stream EM', + NULL, + 1 + ), + ( + 280121, + 280001, + 'Quaker Ford 385 Interceptor EM', + NULL, + 2 + ), + ( + 280122, + 280001, + 'Quaker Ford 385 Jet Stream Headers', + NULL, + 3 + ), + ( + 280123, + 280001, + 'Quaker Ford 385 Super Stream Headers', + NULL, + 4 + ), + ( + 280124, + 280001, + 'Quaker Hemi Air Stream EM', + NULL, + 1 + ), + ( + 280125, + 280001, + 'Quaker Hemi Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280126, + 280001, + 'Quaker Hemi Super Stream Headers', + NULL, + 4 + ), + (280127, 280001, 'Walter Hemi Street EM', NULL, 1), + ( + 280128, + 280001, + 'Walter Hemi Performance EM', + NULL, + 2 + ), + ( + 280129, + 280001, + 'Walter Hemi Hemi Headers', + NULL, + 3 + ), + ( + 280130, + 280001, + 'Walter Hemi Super Hemi Headers', + NULL, + 4 + ), + ( + 280131, + 280001, + 'Quaker Cadillac BB Air Stream EM', + NULL, + 1 + ), + ( + 280132, + 280001, + 'Quaker Cadillac BB Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280133, + 280001, + 'Quaker Cadillac BB Interceptor EM', + NULL, + 2 + ), + ( + 280134, + 280001, + 'Quaker Cadillac BB Super Stream Headers', + NULL, + 4 + ), + ( + 280135, + 280001, + 'Leland Cadillac BB Street Headers', + NULL, + 3 + ), + ( + 280136, + 280001, + 'Leland Cadillac BB Rad Cad Headers', + NULL, + 4 + ), + ( + 280137, + 280001, + 'Leland Cadillac BB HP EM', + NULL, + 3 + ), + ( + 280138, + 280001, + 'Rad Rat Chevy W Street Mod EM', + NULL, + 2 + ), + ( + 280139, + 280001, + 'Rad Rat Chevy W Rumble Pipe Headers', + NULL, + 2 + ), + ( + 280140, + 280001, + 'Rad Rat Chevy W Street Lion Headers', + NULL, + 3 + ), + ( + 280141, + 280001, + 'Rad Rat Chevy W Window Rattler Headers', + NULL, + 4 + ), + ( + 280142, + 280001, + 'Quaker Chevy W Air Stream EM', + NULL, + 1 + ), + ( + 280143, + 280001, + 'Quaker Chevy W Interceptor EM', + NULL, + 2 + ), + ( + 280144, + 280001, + 'Quaker Chevy W Jet Stream Headers', + NULL, + 3 + ), + ( + 280145, + 280001, + 'Quaker Chevy W Super Stream Headers', + NULL, + 4 + ), + ( + 280146, + 280001, + 'Quaker AMC Air Stream EM', + NULL, + 1 + ), + ( + 280147, + 280001, + 'Quaker AMC Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280148, + 280001, + 'Quaker AMC Interceptor EM', + NULL, + 2 + ), + ( + 280149, + 280001, + 'Quaker AMC Super Stream Headers', + NULL, + 4 + ), + ( + 280150, + 280001, + 'Street Shark AMC Stalker EM', + NULL, + 2 + ), + ( + 280151, + 280001, + 'Street Shark AMC Hunter Headers', + NULL, + 3 + ), + ( + 280152, + 280001, + 'Street Shark AMC Predator Headers', + NULL, + 4 + ), + ( + 280153, + 280001, + 'Quaker Olds BB Air Stream EM', + NULL, + 1 + ), + ( + 280154, + 280001, + 'Quaker Olds BB Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280155, + 280001, + 'Quaker Olds BB Interceptor EM', + NULL, + 2 + ), + ( + 280156, + 280001, + 'Quaker Olds BB Super Stream Headers', + NULL, + 4 + ), + ( + 280157, + 280001, + 'Street Shark Olds BB Stalker EM', + NULL, + 2 + ), + ( + 280158, + 280001, + 'Street Shark Olds BB Hunter Headers', + NULL, + 3 + ), + ( + 280159, + 280001, + 'Street Shark Olds BB Predator Headers', + NULL, + 4 + ), + ( + 280160, + 280001, + 'Quaker Chrysler BB Air Stream EM', + NULL, + 1 + ), + ( + 280161, + 280001, + 'Quaker Chrysler BB Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280162, + 280001, + 'Quaker Chrysler BB Interceptor EM', + NULL, + 2 + ), + ( + 280163, + 280001, + 'Quaker Chrysler BB Jet Stream Headers', + NULL, + 3 + ), + ( + 280164, + 280001, + 'Quaker Chrysler BB Super Stream Headers', + NULL, + 4 + ), + ( + 280165, + 280001, + 'Street Shark Chrysler BB Stalker EM', + NULL, + 2 + ), + ( + 280166, + 280001, + 'Street Shark Chrylser BB Hunter Headers', + NULL, + 3 + ), + ( + 280167, + 280001, + 'Street Shark Chrysler BB Predator Headers', + NULL, + 4 + ), + ( + 280168, + 280001, + 'Quaker Ford BB Air Stream EM', + NULL, + 1 + ), + ( + 280169, + 280001, + 'Quaker Ford BB Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280170, + 280001, + 'Quaker Ford BB Interceptor EM', + NULL, + 2 + ), + ( + 280171, + 280001, + 'Quaker Ford BB Jet Stream Headers', + NULL, + 3 + ), + ( + 280172, + 280001, + 'Quaker Ford BB Super Stream Headers', + NULL, + 4 + ), + ( + 280173, + 280001, + 'Oldfield Ford BB Street King EM', + NULL, + 2 + ), + ( + 280174, + 280001, + 'Oldfield Ford BB Strip King Headers', + NULL, + 3 + ), + ( + 280175, + 280001, + 'Oldfield Ford BB Track King Headers', + NULL, + 4 + ), + ( + 280176, + 280001, + 'Quaker Chevy BB Air Stream EM', + NULL, + 1 + ), + ( + 280177, + 280001, + 'Quaker Chevy BB Air Stream Alum. EM', + NULL, + 1 + ), + ( + 280178, + 280001, + 'Quaker Chevy BB Interceptor EM', + NULL, + 2 + ), + ( + 280179, + 280001, + 'Quaker Chevy BB Jet Stream Headers', + NULL, + 3 + ), + ( + 280180, + 280001, + 'Quaker Chevy BB Super Stream Headers', + NULL, + 4 + ), + ( + 280181, + 280001, + 'Rad Rat Chevy BB Street Mod EM', + NULL, + 2 + ), + ( + 280182, + 280001, + 'Rad Rat Chevy BB Rumble Pipe Headers', + NULL, + 3 + ), + ( + 280183, + 280001, + 'Rad Rat Chevy BB Street Lion Headers', + NULL, + 3 + ), + ( + 280184, + 280001, + 'Rad Rat Chevy BB Window Rattler Headers', + NULL, + 4 + ), + ( + 290001, + 290001, + '1.625" Treated Iron Single Exhaust Pipe', + NULL, + 1 + ), + ( + 290002, + 290001, + '1.625" Treated Iron Dual Exhaust Pipe', + NULL, + 1 + ), + ( + 290003, + 290001, + '1.625" Cast Iron Single Exhaust Pipe', + NULL, + 1 + ), + ( + 290004, + 290001, + '1.625" Cast Iron Dual Exhaust Pipe', + NULL, + 1 + ), + ( + 290005, + 290001, + 'Hooker Street Racer Crossflow Exhaust Pipe', + NULL, + 3 + ), + ( + 290006, + 290001, + 'Hooker Performance Crossflow Exhaust Pipe', + NULL, + 3 + ), + ( + 290007, + 290001, + 'Hooker Maximum Performance Crossflow Exhaust Pipe', + NULL, + 4 + ), + ( + 290008, + 290001, + 'Edelbrock Cat-Back System', + NULL, + 3 + ), + (290009, 290001, 'Fat Shiny Pipe', NULL, 3), + (290010, 290001, 'Manley 1.75" CI Single', NULL, 1), + ( + 290011, + 290001, + 'Manley 1.875" CI Single', + NULL, + 1 + ), + (290012, 290001, 'Manley 2" CI Single', NULL, 2), + (290013, 290001, 'Manley 2.25" CI Dual', NULL, 4), + (290014, 290001, 'Manley 1.75" TI Single', NULL, 1), + ( + 290015, + 290001, + 'Manley 1.875" TI Single', + NULL, + 1 + ), + (290016, 290001, 'Manley 2" TI Single', NULL, 2), + (290017, 290001, 'Manley 2.25" TI Dual', NULL, 4), + (290018, 290001, 'Manley 1.75" CI Dual', NULL, 2), + (290019, 290001, 'Manley 1.875" CI Dual', NULL, 2), + (290020, 290001, 'Manley 2" CI Dual', NULL, 3), + (290021, 290001, 'Manley 1.75" TI Dual', NULL, 2), + (290022, 290001, 'Manley 1.875" TI Dual', NULL, 2), + (290023, 290001, 'Manley 2" TI Dual', NULL, 3), + (290024, 290001, 'Manley 1.625" FS Dual', NULL, 2), + (290025, 290001, 'Manley 1.75" FS Dual', NULL, 2), + (290026, 290001, 'Manley 1.875" FS Dual', NULL, 2), + (290027, 290001, 'Manley 2" FS Dual', NULL, 3), + (290028, 290001, 'Manley 2.25" FS Dual', NULL, 4), + ( + 290029, + 290001, + 'Manley 1.625" Alloy Steel Dual', + NULL, + 2 + ), + ( + 290030, + 290001, + 'Manley 1.75" Alloy Steel Dual', + NULL, + 2 + ), + ( + 290031, + 290001, + 'Manley 1.875" Alloy Steel Dual', + NULL, + 2 + ), + ( + 290032, + 290001, + 'Manley 2" Alloy Steel Dual', + NULL, + 3 + ), + ( + 290033, + 290001, + 'Manley 2.25" Alloy Steel Dual', + NULL, + 4 + ), + ( + 290034, + 290001, + 'Manley 1.625" Aluminum Alloy Dual', + NULL, + 2 + ), + ( + 290035, + 290001, + 'Manley 1.75" Aluminum Alloy Dual', + NULL, + 2 + ), + ( + 290036, + 290001, + 'Manley 1.875" Aluminum Alloy Dual', + NULL, + 2 + ), + ( + 290037, + 290001, + 'Manley 2" Aluminum Alloy Dual', + NULL, + 3 + ), + ( + 290038, + 290001, + 'Manley 2.25" Aluminum Alloy Dual', + NULL, + 4 + ), + (300001, 300001, 'Midas Stock Muffler', NULL, 1), + ( + 300002, + 300001, + 'Midas Aluminum Stock Muffler', + NULL, + 1 + ), + (300003, 300001, 'GM Side Pipes', 'PIPESIDE', 2), + (300004, 300001, 'GM Dual Resonators', NULL, 2), + (300005, 300001, 'Edelbrock RPM Muffler', NULL, 3), + ( + 300006, + 300001, + 'Edelbrock Victor Muffler', + NULL, + 3 + ), + (300007, 300001, 'Edelbrock 304 Muffler', NULL, 3), + (300008, 300001, 'Hooker Maximum Flow', NULL, 4), + ( + 300009, + 300001, + 'Hooker Super Competition', + NULL, + 4 + ), + ( + 300010, + 300001, + 'Hooker Elite Glasspack', + 'PIPELAKE', + 4 + ), + (300011, 300001, 'Hooker Street Shaker', NULL, 3), + (310001, 310001, 'Dual Tail Pipe Tip 001', NULL, 1), + (310002, 310001, 'Dual Tail Pipe Tip 002', NULL, 1), + (310003, 310001, 'Stock Tip', 'TIPCYL', 1), + ( + 310004, + 310001, + 'Single Tail Pipe Tip (Flaming)', + NULL, + 1 + ), + ( + 310005, + 310001, + '1969 Dodge Charger RT Tip', + 'TIPCIRC', + 1 + ), + ( + 310006, + 310001, + '1969 Olds 4-4-2 Trumpet Tip', + NULL, + 1 + ), + ( + 310007, + 310001, + '1970 Ford Mustang Oval Trumpet Tip', + NULL, + 1 + ), + ( + 310008, + 310001, + '1970 Plymouth ''Cuda Chrome Tip', + 'TIPCONE', + 1 + ), + ( + 310009, + 310001, + '1973 Pontiac Trans-Am Chrome Extension', + NULL, + 1 + ), + ( + 310010, + 310001, + '1973 Pontiac Firebird Chrome Extension', + NULL, + 1 + ), + ( + 310011, + 310001, + 'Marinn Large Bore Tip', + 'tipcirc', + 1 + ), + ( + 310012, + 310001, + 'Marinn Large Bore (Dual) Tip', + 'tipcirc', + 1 + ), + ( + 310013, + 310001, + 'Marinn Large Bore Tip w/resonator', + 'tipcirc', + 1 + ), + ( + 310014, + 310001, + 'Marinn Large Bore Tip w/resonator (Dual)', + 'tipcirc', + 1 + ), + ( + 310015, + 310001, + 'Marinn MegaCone Tip', + 'tipcone', + 1 + ), + ( + 310016, + 310001, + 'Marinn MegaCone (Dual) Tip', + 'tipcone', + 1 + ), + ( + 310017, + 310001, + 'Marinn Slanted Cut Tip', + 'tiprect', + 1 + ), + ( + 310018, + 310001, + 'Marinn Slanted Cut (Dual) Tip', + 'tiprect', + 1 + ), + ( + 310019, + 310001, + 'Marinn Slanted Cut Tip w/resonator', + 'tiprect', + 1 + ), + ( + 310020, + 310001, + 'Marinn Slanted Cut Tip w/resonator (Dual)', + 'tiprect', + 1 + ), + ( + 310021, + 310001, + 'Edelbrock Angle Cut Tip', + NULL, + 1 + ), + ( + 310022, + 310001, + 'Edelbrock Angle Cut (Dual) Tip', + NULL, + 1 + ), + ( + 310023, + 310001, + 'Edelbrock Flat Oval Tip', + NULL, + 1 + ), + ( + 310024, + 310001, + 'Edelbrock Flat Oval (Dual) Tip', + NULL, + 1 + ), + ( + 310025, + 310001, + 'Edelbrock Round Double Wall Tip', + NULL, + 1 + ), + ( + 310026, + 310001, + 'Edelbrock Round Double Wall (Dual) Tip', + NULL, + 1 + ), + ( + 310027, + 310001, + 'Edelbrock Round Turn-Down Tip', + NULL, + 1 + ), + ( + 310028, + 310001, + 'Edelbrock Round Turn-Down (Dual) Tip', + NULL, + 1 + ), + ( + 310029, + 310001, + 'Stock Round Chrome', + 'TIPCIRC', + 1 + ), + ( + 320001, + 320001, + 'Ford BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320002, + 320001, + 'Chevrolet BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320003, + 320001, + 'Chrysler SB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320004, + 320001, + 'Chrysler BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320005, + 320001, + 'Chevrolet BB Single Plane IM', + 'MANISING', + 1 + ), + ( + 320006, + 320001, + 'Ford BB Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320007, + 320001, + 'Buick BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320008, + 320001, + 'Buick SB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320009, + 320001, + 'Chevrolet SB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320010, + 320001, + 'Cadillac BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320011, + 320001, + 'Ford SB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320012, + 320001, + 'Ford Flathead Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320013, + 320001, + 'Olds BB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320014, + 320001, + 'Olds SB Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320015, + 320001, + 'AMC Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320016, + 320001, + 'Pontiac Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320017, + 320001, + 'Chevrolet SB RPO411 Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320018, + 320001, + 'Chevrolet SB High Rise Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320019, + 320001, + 'Chevrolet SB Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320020, + 320001, + 'Chevrolet BB High Rise Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320021, + 320001, + 'Chevrolet BB LS6 Low Rise Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320022, + 320001, + 'Buick Nailhead Stock 322 DP IM', + 'MANIDUAL', + 1 + ), + ( + 320023, + 320001, + 'Edelbrock Stage II Buick BB Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320024, + 320001, + 'Olds SB Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320025, + 320001, + 'Olds SB W-31 HP Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320026, + 320001, + 'Olds BB W-30 HP Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320027, + 320001, + 'Pontiac Ram Air IV HP Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320028, + 320001, + 'Pontiac Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320029, + 320001, + 'Ford Y 1957 Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320030, + 320001, + 'Edelbrock Aluminum Dual Plane Ford SB IM', + 'MANIDUAL', + 2 + ), + ( + 320031, + 320001, + 'Ford BB HR Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320032, + 320001, + 'Ford BB Cammer IM', + 'MANISING', + 3 + ), + ( + 320033, + 320001, + 'Ford BB Sidewinder Single Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320034, + 320001, + 'Ford BB Single Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320035, + 320001, + 'Offenhauser Ford 385 Single Plane IM', + 'MANIDUAL', + 3 + ), + ( + 320036, + 320001, + 'Chrysler BB High Rise IM', + 'MANIDUAL', + 2 + ), + ( + 320037, + 320001, + 'Chrysler BB Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320038, + 320001, + 'Chrysler BB Long Ram IM', + 'MANIDUAL', + 2 + ), + ( + 320039, + 320001, + 'Chrysler BB Short Ram IM', + 'MANIDUAL', + 2 + ), + ( + 320040, + 320001, + 'Edelbrock Chrysler BB Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320041, + 320001, + 'Chrysler SB Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320042, + 320001, + 'AMC Rebel Machine IM', + 'MANIDUAL', + 2 + ), + ( + 320043, + 320001, + 'Ford 385 Boss Dual Plane Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320044, + 320001, + 'Edelbrock R4B AMC Block IM', + 'MANIDUAL', + 2 + ), + ( + 320045, + 320001, + 'Edelbrock Super Dual Ford Flathead IM', + 'MANIDUAL', + 2 + ), + ( + 320046, + 320001, + 'Edelbrock Performer RPM Cadillac BB IM', + 'MANIDUAL', + 2 + ), + ( + 320047, + 320001, + 'Edelbrock Performer Chevrolet BB IM', + 'MANIDUAL', + 2 + ), + ( + 320048, + 320001, + 'Edelbrock Performer Chevrolet SB IM', + 'MANIDUAL', + 2 + ), + ( + 320049, + 320001, + 'Edelbrock Performer Chrysler BB IM', + 'MANIDUAL', + 2 + ), + ( + 320050, + 320001, + 'Edelbrock Performer Chrysler SB IM', + 'MANIDUAL', + 2 + ), + ( + 320051, + 320001, + 'Edelbrock Performer Ford BB IM', + 'MANIDUAL', + 2 + ), + ( + 320052, + 320001, + 'Edelbrock Performer Ford SB IM', + 'MANIDUAL', + 2 + ), + ( + 320053, + 320001, + 'Edelbrock Performer Olds BB IM', + 'MANIDUAL', + 2 + ), + ( + 320054, + 320001, + 'Edelbrock Performer Olds SB IM', + 'MANIDUAL', + 2 + ), + (320055, 320001, 'Chrysler Hemi IM', 'MANIDUAL', 2), + ( + 320056, + 320001, + 'Edelbrock Performer Pontiac IM', + 'MANIDUAL', + 2 + ), + ( + 320057, + 320001, + 'Edelbrock Performer RPM Chevrolet BB IM', + 'MANIDUAL', + 2 + ), + ( + 320058, + 320001, + 'Edelbrock Performer RPM Chevrolet SB IM', + 'MANIDUAL', + 2 + ), + ( + 320059, + 320001, + 'Edelbrock Performer RPM Chrysler BB IM', + 'MANIDUAL', + 2 + ), + ( + 320060, + 320001, + 'Edelbrock Performer RPM Chrysler SB IM', + 'MANIDUAL', + 2 + ), + ( + 320061, + 320001, + 'Edelbrock Performer RPM Ford BB IM', + 'MANIDUAL', + 2 + ), + ( + 320062, + 320001, + 'Edelbrock Performer RPM Ford SB IM', + 'MANIDUAL', + 2 + ), + ( + 320063, + 320001, + 'Edelbrock Performer RPM Olds BB IM', + 'MANIDUAL', + 2 + ), + ( + 320064, + 320001, + 'Edelbrock Performer RPM Olds SB IM', + 'MANIDUAL', + 2 + ), + ( + 320065, + 320001, + 'Shade Tree Chrysler Hemi IM', + 'MANIDUAL', + 1 + ), + ( + 320066, + 320001, + 'Edelbrock Performer RPM Pontiac IM', + 'MANIDUAL', + 2 + ), + ( + 320067, + 320001, + 'Edelbrock Torker Chevrolet BB IM', + 'MANIDUAL', + 3 + ), + ( + 320068, + 320001, + 'Edelbrock Torker Chevrolet SB IM', + 'MANIDUAL', + 3 + ), + ( + 320069, + 320001, + 'Edelbrock Torker Chrysler BB IM', + 'MANIDUAL', + 3 + ), + ( + 320070, + 320001, + 'Edelbrock Torker Chrysler SB IM', + 'MANIDUAL', + 3 + ), + ( + 320071, + 320001, + 'Edelbrock Torker Ford BB IM', + 'MANIDUAL', + 3 + ), + ( + 320072, + 320001, + 'Edelbrock Torker Ford SB IM', + 'MANIDUAL', + 3 + ), + ( + 320073, + 320001, + 'Edelbrock Torker Olds BB IM', + 'MANIDUAL', + 3 + ), + ( + 320074, + 320001, + 'Edelbrock Torker Olds SB IM', + 'MANIDUAL', + 3 + ), + ( + 320075, + 320001, + 'Edelbrock Torker Pontiac IM', + 'MANIDUAL', + 3 + ), + ( + 320076, + 320001, + 'Edelbrock Torker Pontiac IM', + 'MANIDUAL', + 3 + ), + ( + 320077, + 320001, + 'Chevrolet BB Dual Plane Aluminum IM', + 'MANIDUAL', + 1 + ), + ( + 320078, + 320001, + 'Chrysler SB Tunnel Ram IM', + 'MANIDUAL', + 2 + ), + ( + 320079, + 320001, + 'Chevrolet W Z11 Dual Plane Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320080, + 320001, + 'Ford BB Cobrajet Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320081, + 320001, + 'Offenhauser Magnesium Chrysler Hemi DP IM', + 'MANIDUAL', + 4 + ), + ( + 320082, + 320001, + 'Chrysler BB Max Wedge Aluminum Cross-Ram IM', + 'MANIDUAL', + 2 + ), + ( + 320083, + 320001, + 'Edelbrock Torker Buick BB IM', + 'MANISING', + 3 + ), + ( + 320084, + 320001, + 'Edelbrock Performer RPM Buick BB IM', + 'MANIDUAL', + 3 + ), + ( + 320085, + 320001, + 'Edelbrock Torker II Buick BB IM', + 'MANISING', + 3 + ), + ( + 320086, + 320001, + 'Edelbrock Performer Buick BB IM', + 'MANIDUAL', + 2 + ), + ( + 320087, + 320001, + 'Ford SB Single Plane Aluminum IM', + 'MANISING', + 2 + ), + ( + 320088, + 320001, + 'Ford SB Dual Plane Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320089, + 320001, + 'Pontiac Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320090, + 320001, + 'Pontiac SD Aluminum Single Plane IM', + 'MANISING', + 3 + ), + ( + 320091, + 320001, + 'Cadillac L-Head Intake Manifold', + 'MANIDUAL', + 1 + ), + ( + 320092, + 320001, + 'Ford Cleveland Block Stock IM', + 'MANIDUAL', + 1 + ), + ( + 320093, + 320001, + 'Ford Cleveland Block Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320094, + 320001, + 'Ford 385 Stock IM', + 'MANIDUAL', + 1 + ), + ( + 320095, + 320001, + 'Ford 385 CJ/SCJ IM', + 'MANIDUAL', + 2 + ), + ( + 320096, + 320001, + 'Ford SB Cross Boss IM', + 'MANIDUAL', + 3 + ), + (320097, 320001, 'Ford Y Stock IM', 'MANIDUAL', 1), + ( + 320098, + 320001, + 'Edelbrock Ford Y Tri-Power Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320099, + 320001, + 'Chevrolet W Stock IM', + 'MANIDUAL', + 1 + ), + ( + 320100, + 320001, + 'Chevrolet W Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320101, + 320001, + 'Dunbar Buick Nailhead Breezer DP IM', + 'MANIDUAL', + 2 + ), + ( + 320102, + 320001, + 'Dunbar Buick Nailhead Tornado SP IM', + 'MANISING', + 2 + ), + ( + 320103, + 320001, + 'Buick SB Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320104, + 320001, + 'Cadillac L-Head Aluminum IM', + 'MANIDUAL', + 2 + ), + ( + 320105, + 320001, + 'Edelbrock Performer AMC IM', + 'MANIDUAL', + 2 + ), + ( + 320106, + 320001, + 'Edelbrock Torker AMC IM', + 'MANIDUAL', + 3 + ), + ( + 320107, + 320001, + 'Offenhauser Aluminum AMC IM', + 'MANIDUAL', + 3 + ), + ( + 320108, + 320001, + 'Ford Y Block Dual Quad Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320109, + 320001, + 'Ford Y Block Supercharger Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320110, + 320001, + 'Edelbrock Y Block 3x2 Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320111, + 320001, + 'Offenhauser Y Block 3x2 Dual Planer IM', + 'MANIDUAL', + 2 + ), + ( + 320112, + 320001, + 'Offenhauser Y Block Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320113, + 320001, + 'Edelbrock Y Block Aluminum Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320114, + 320001, + 'Oldfield Y Block Aluminum Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320115, + 320001, + 'Oldfield Y Block Special Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320116, + 320001, + 'Edelbrock Y Block Aluminum Single Plane IM', + 'MANISING', + 2 + ), + ( + 320117, + 320001, + 'Offenhauser Y Block Aluminum Single Plane IM', + 'MANISING', + 2 + ), + ( + 320118, + 320001, + 'Oldfield Y Block Lightning Single Plane IM', + 'MANISING', + 2 + ), + ( + 320119, + 320001, + 'Oldfield Y Block HiBoy Tunnel Ram IM', + 'MANIHIGH', + 2 + ), + ( + 320120, + 320001, + 'Oldfield Y Block Midget Tunnel Ram IM', + 'MANILOW', + 2 + ), + ( + 320121, + 320001, + 'Oldfield Y Block Strip King Tunnel Ram IM', + 'MANIHIGH', + 3 + ), + ( + 320122, + 320001, + 'Rad Rat Chevy SB Vortex Single Plane IM', + 'MANISING', + 2 + ), + ( + 320123, + 320001, + 'Rad Rat Chevy SB Screamer Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320124, + 320001, + 'Rad Rat Chevy SB Scooter Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320125, + 320001, + 'Rad Rat Chevy SB Scooter Alum. Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320126, + 320001, + 'C&B Chevy SB Classic Dual Plane IM', + 'MANIDUAL', + 1 + ), + ( + 320127, + 320001, + 'C&B Chevy SB Street Classic Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320128, + 320001, + 'C&B Chevy SB Classic Single Plane IM', + 'MANISING', + 2 + ), + ( + 320129, + 320001, + 'C&B Chevy SB Super Single Plane IM', + 'MANISING', + 3 + ), + ( + 320130, + 320001, + 'Rad Rat Chevy SB Vortex Ultra Single Plane IM', + 'MANISING', + 2 + ), + ( + 320131, + 320001, + 'Rad Rat Chevy SB Power Tower Tunnel Ram IM', + 'MANIHIGH', + 2 + ), + ( + 320132, + 320001, + 'Rad Rat Chevy SB Ultimate Tunnel Ram IM', + 'MANIHIGH', + 3 + ), + ( + 320133, + 320001, + 'C&B Chevy SB Classic Low Rise Tunnel Ram IM', + 'MANILOW', + 2 + ), + ( + 320134, + 320001, + 'C&B Chevy SB Classic High Rise Tunnel Ram IM', + 'MANIHIGH', + 3 + ), + ( + 320135, + 320001, + 'Rad Rat Chevy SB Screamer Ultra Dual Plane IM', + 'MANIDUAL', + 2 + ), + ( + 320136, + 320001, + 'Buick Nailhead 364 DP IM', + 'MANIDUAL', + 1 + ), + ( + 320137, + 320001, + 'Buick Nailhead 401/425 DP IM', + 'MANIDUAL', + 1 + ), + ( + 320138, + 320001, + 'Dunbar Buick Nailhead Improved DP IM', + 'MANIDUAL', + 1 + ), + ( + 320139, + 320001, + 'Dunbar Buick Nailhead Breezer DP IM', + 'MANIDUAL', + 1 + ), + ( + 320140, + 320001, + 'Per. Port Buick Nailhead Street Port DP IM', + 'MANIDUAL', + 2 + ), + ( + 320141, + 320001, + 'Per. Port Buick Nailhead Street Port Alum. DP IM', + 'MANIDUAL', + 2 + ), + ( + 320142, + 320001, + 'Dunbar Buick Nailhead Tornado SP IM', + 'MANISING', + 2 + ), + ( + 320143, + 320001, + 'Per. Port Buick Nailhead Street Port SP IM', + 'MANISING', + 2 + ), + ( + 320144, + 320001, + 'Dunbar Buick Nailhead Wind Tunnel SP IM', + 'MANISING', + 2 + ), + ( + 320145, + 320001, + 'Dunbar Buick Nailhead Hurricane Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320146, + 320001, + 'Dunbar Buick Nailhead Cyclone Tunnel Ram', + 'MANILOW', + 2 + ), + ( + 320147, + 320001, + 'Dunbar Buick Nailhead Super Cyclone Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320148, + 320001, + 'Oldfield Ford SB Performance DP IM', + 'MANIDUAL', + 2 + ), + ( + 320149, + 320001, + 'Oldfield Ford SB Performance Alum. DP IM', + 'MANIDUAL', + 2 + ), + ( + 320150, + 320001, + 'Per. Port Ford SB Road Squire DP IM', + 'MANIDUAL', + 1 + ), + ( + 320151, + 320001, + 'Per. Port Ford SB Road Squire Alum. DP IM', + 'MANIDUAL', + 1 + ), + ( + 320152, + 320001, + 'Per. Port Ford SB Centurion DP IM', + 'MANIDUAL', + 2 + ), + ( + 320153, + 320001, + 'Per. Port Ford SB Street Knight SP IM', + 'MANISING', + 2 + ), + ( + 320154, + 320001, + 'Oldfield Ford SB Lightning SP IM', + 'MANISING', + 2 + ), + ( + 320155, + 320001, + 'Per. Port Ford SB Commander SP IM', + 'MANISING', + 2 + ), + ( + 320156, + 320001, + 'Per. Port Ford SB Emperor Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320157, + 320001, + 'Oldfield Ford SB Midget Tunnel Ram', + 'MANILOW', + 2 + ), + ( + 320158, + 320001, + 'Oldfield Ford SB Strip King Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320159, + 320001, + 'Per. Port Ford SB Street Lord Tunnel Ram', + 'MANILOW', + 2 + ), + ( + 320160, + 320001, + 'Walter Chrysler SB Street DP IM', + 'MANIDUAL', + 1 + ), + ( + 320161, + 320001, + 'Walter Chrysler SB Stocker DP IM', + 'MANIDUAL', + 2 + ), + ( + 320162, + 320001, + 'Walter Chrysler SB Street SP IM', + 'MANISING', + 2 + ), + ( + 320163, + 320001, + 'Walter Chrysler SB Stocker SP IM', + 'MANISING', + 3 + ), + ( + 320164, + 320001, + 'Walter Chyrsler SB Super Stocker SP IM', + 'MANISING', + 4 + ), + ( + 320165, + 320001, + 'Walter Chrysler SB Intimidator Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320166, + 320001, + 'Walter Chrysler SB Bighorn Tunnel Ram', + 'MANIHIGH', + 2 + ), + ( + 320167, + 320001, + 'Perfect Port Chrysler SB Centurion DP IM', + 'MANIDUAL', + 1 + ), + ( + 320168, + 320001, + 'Perfect Port Chrysler SB Commander SP IM', + 'MANISING', + 2 + ), + ( + 320169, + 320001, + 'Per. Port Pontiac Emperor Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320170, + 320001, + 'Per. Port Pontiac Street Lord Tunnel Ram', + 'MANILOW', + 2 + ), + ( + 320171, + 320001, + 'Per. Port Pontiac Crusader Tunnel Ram', + 'MANIHIGH', + 2 + ), + ( + 320172, + 320001, + 'Per. Port Pontiac Track Assassin SP IM', + 'MANISING', + 3 + ), + ( + 320173, + 320001, + 'Per. Port Pontiac Street Knight SP IM', + 'MANISING', + 2 + ), + ( + 320174, + 320001, + 'Per. Port Pontiac Super Centurion DP IM', + 'MANIDUAL', + 3 + ), + ( + 320175, + 320001, + 'Rad Rat Chevy BB Screamer Ultra Light DP', + 'MANIDUAL', + 3 + ), + ( + 320176, + 320001, + 'Rad Rat Chevy BB Vortex SP IM', + 'MANISING', + 2 + ), + ( + 320177, + 320001, + 'Rad Rat Chevy BB Vortex Ultra Light SP IM', + 'MANISING', + 3 + ), + ( + 320178, + 320001, + 'Rad Rat Chevy BB Power Tower Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320179, + 320001, + 'Rad Rat Chevy BB Ultimate Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320180, + 320001, + 'Oldfield Ford BB Strip King DP IM', + 'MANIDUAL', + 2 + ), + ( + 320181, + 320001, + 'Oldfield Ford BB Street King DP IM', + 'MANIDUAL', + 2 + ), + ( + 320182, + 320001, + 'Oldfield Ford BB Strip King SP IM', + 'MANISING', + 2 + ), + ( + 320183, + 320001, + 'Oldfield Ford BB Midget Tunnel Ram', + 'MANILOW', + 2 + ), + ( + 320184, + 320001, + 'Oldfield Ford BB Hiboy Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320185, + 320001, + 'Oldfield Ford BB Strip King Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320186, + 320001, + 'Walter Chrysler BB Bighorn Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320187, + 320001, + 'Walter Chrysler BB Intimidator Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320188, + 320001, + 'Walter Chrysler BB Super Stocker DP IM', + 'MANIDUAL', + 4 + ), + ( + 320189, + 320001, + 'Walter Chrysler BB Super Stocker SP IM', + 'MANISING', + 4 + ), + ( + 320190, + 320001, + 'Walter Chrysler BB Stocker SP IM', + 'MANISING', + 3 + ), + ( + 320191, + 320001, + 'Walter Chrysler BB Stocker DP IM', + 'MANIDUAL', + 3 + ), + ( + 320192, + 320001, + 'Walter Chrysler BB Street DP IM', + 'MANIDUAL', + 2 + ), + ( + 320193, + 320001, + 'Walter Chrylser BB Street SP IM', + 'MANIDUAL', + 2 + ), + ( + 320194, + 320001, + 'Perf. Port Olds BB Road Squire DP IM', + 'MANIDUAL', + 1 + ), + ( + 320195, + 320001, + 'Perf. Port Olds BB Street Port DP IM', + 'MANIDUAL', + 2 + ), + ( + 320196, + 320001, + 'Perf. Port Olds BB Usurper DP IM', + 'MANIDUAL', + 4 + ), + ( + 320197, + 320001, + 'Perf. Port Olds BB Centurion SP IM', + 'MANISING', + 2 + ), + ( + 320198, + 320001, + 'Perf. Port Olds BB Commander SP IM', + 'MANISING', + 3 + ), + ( + 320199, + 320001, + 'Perf. Port Olds BB Track Assassin SP IM', + 'MANISING', + 4 + ), + ( + 320200, + 320001, + 'Perf. Port Olds BB Street Lord Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320201, + 320001, + 'Perf. Port Olds BB Crusader Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320202, + 320001, + 'Perf. Port Olds BB Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320203, + 320001, + 'Rad Rat Chevy W Screamer DP IM', + 'MANIDUAL', + 2 + ), + ( + 320204, + 320001, + 'Rad Rat Chevy W Vortex SP IM', + 'MANISING', + 3 + ), + ( + 320205, + 320001, + 'Rad Rat Chevy W Banshee DP IM', + 'MANIDUAL', + 4 + ), + ( + 320206, + 320001, + 'Rad Rat Chevy W Banshee SP IM', + 'MANISING', + 4 + ), + ( + 320207, + 320001, + 'Rad Rat Chevy W Power Tower Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320208, + 320001, + 'Rad Rat Chevy W Ultimate Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320209, + 320001, + 'Perf.Port Chevy W Usurper DP IM', + 'MANIDUAL', + 4 + ), + ( + 320210, + 320001, + 'Perf. Port Chevy W Centurion SP IM', + 'MANISING', + 2 + ), + ( + 320211, + 320001, + 'Perf. Port Chevy W Track Assassin SP IM', + 'MANISING', + 4 + ), + ( + 320212, + 320001, + 'Perf. Port Chevy W Street Lord Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320213, + 320001, + 'Perf. Port Chevy W Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320214, + 320001, + 'Perfect Port AMC Track Assassin SP IM', + 'MANISING', + 4 + ), + ( + 320215, + 320001, + 'Perfect Port AMC Street Knight SP IM', + 'MANISING', + 2 + ), + ( + 320216, + 320001, + 'Street Shark AMC Hunter SP IM', + 'MANISING', + 3 + ), + ( + 320217, + 320001, + 'Street Shark AMC Predator DP IM', + 'MANIDUAL', + 4 + ), + ( + 320218, + 320001, + 'Street Shark AMC Stalker DP IM', + 'MANIDUAL', + 2 + ), + ( + 320219, + 320001, + 'Perfort Port AMC Street Lord Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320220, + 320001, + 'Perfect Port AMC Crusader Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320221, + 320001, + 'Perfect Port AMC Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320222, + 320001, + 'Street Shark AMC Tiger Shark Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320223, + 320001, + 'Perf. Port Cadillac BB Road Squire DP IM', + 'MANIDUAL', + 1 + ), + ( + 320224, + 320001, + 'Perf. Port Cadillac BB Road Squire Alum. DP IM', + 'MANIDUAL', + 1 + ), + ( + 320225, + 320001, + 'Perf. Port Cadillac BB Street Port DP IM', + 'MANIDUAL', + 2 + ), + ( + 320226, + 320001, + 'Perf. Port Cadillac BB Centurion DP IM', + 'MANIDUAL', + 2 + ), + ( + 320227, + 320001, + 'Perf. Port Cadillac BB Usurper DP IM', + 'MANIDUAL', + 4 + ), + ( + 320228, + 320001, + 'Perf. Port Cadillac BB Street Lord DP IM', + 'MANIDUAL', + 3 + ), + ( + 320229, + 320001, + 'Perf. Port Cadillac BB Street Knight SP IM', + 'MANISING', + 2 + ), + ( + 320230, + 320001, + 'Perf. Port Cadillac BB Centurion SP IM', + 'MANISING', + 2 + ), + ( + 320231, + 320001, + 'Perf. Port Cadillac BB Super Centurion SP IM', + 'MANISING', + 3 + ), + ( + 320232, + 320001, + 'Perf. Port Cadillac BB Track Assassin SP IM', + 'MANISING', + 4 + ), + ( + 320233, + 320001, + 'Perf. Port Cadillac BB Street Lord Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320234, + 320001, + 'Perf. Port Cadillac BB Crusader Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320235, + 320001, + 'Perf. Port Cadillac BB Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320236, + 320001, + 'Perf. Port Cadillac BB Usurper Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320237, + 320001, + 'Walter Hemi Perf. Street DP IM', + 'MANIDUAL', + 2 + ), + ( + 320238, + 320001, + 'Walter Hemi Perf. Lightweight Street DP IM', + 'MANIDUAL', + 2 + ), + ( + 320239, + 320001, + 'Walter Hemi Stocker DP IM', + 'MANIDUAL', + 3 + ), + ( + 320240, + 320001, + 'Walter Hemi Lightweight Stocker DP IM', + 'MANIDUAL', + 3 + ), + ( + 320241, + 320001, + 'Walter Hemi Super Stocker DP IM', + 'MANIDUAL', + 4 + ), + ( + 320242, + 320001, + 'Walter Hemi Perf. Street SP IM', + 'MANISING', + 2 + ), + ( + 320243, + 320001, + 'Walter Hemi Stocker SP IM', + 'MANISING', + 3 + ), + ( + 320244, + 320001, + 'Walter Hemi Super Stocker SP IM', + 'MANISING', + 3 + ), + ( + 320245, + 320001, + 'Walter Hemi Intimidator Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320246, + 320001, + 'Walter Hemi Bighorn Tunnel Ram', + 'MANIDUAL', + 3 + ), + ( + 320247, + 320001, + 'Perf. Port Ford 385 Road Squire DP IM', + 'MANIDUAL', + 1 + ), + ( + 320248, + 320001, + 'Perf. Port Ford 385 Centurion SP IM', + 'MANISING', + 2 + ), + ( + 320249, + 320001, + 'Perf. Port Ford 385 Street Lord Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320250, + 320001, + 'Perf. Port Ford 385 Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320251, + 320001, + 'Oldfield Ford 385 Perf. DP IM', + 'MANIDUAL', + 2 + ), + ( + 320252, + 320001, + 'Oldfield Ford 385 Lightning SP IM', + 'MANISING', + 3 + ), + ( + 320253, + 320001, + 'Oldfield Ford 385 Track King DP IM', + 'MANIDUAL', + 4 + ), + ( + 320254, + 320001, + 'Oldfield Ford 385 Strip King Tunnel Ram', + 'MANIHIGH', + 3 + ), + ( + 320255, + 320001, + 'Oldfield Ford 385 Track King Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320256, + 320001, + 'Perf. Port Cleveland Street Port DP IM', + 'MANIDUAL', + 2 + ), + ( + 320257, + 320001, + 'Perf. Port Cleveland Emperor DP IM', + 'MANIDUAL', + 4 + ), + ( + 320258, + 320001, + 'Perf. Port Cleveland Emperor SP IM', + 'MANISING', + 4 + ), + ( + 320259, + 320001, + 'Perf. Port Cleveland Centurion SP IM', + 'MANISING', + 2 + ), + ( + 320260, + 320001, + 'Perf. Port Cleveland Emperor Tunnel Ram', + 'MANIHIGH', + 4 + ), + ( + 320261, + 320001, + 'Oldfield Cleveland Performance DP IM', + 'MANIDUAL', + 2 + ), + ( + 320262, + 320001, + 'Oldfield Cleveland Track King DP IM', + 'MANIDUAL', + 4 + ), + ( + 320263, + 320001, + 'Oldfield Cleveland Performance SP IM', + 'MANISING', + 2 + ), + ( + 320264, + 320001, + 'Oldfield Cleveland Track King SP IM', + 'MANISING', + 4 + ), + ( + 320265, + 320001, + 'Oldfield Cleveland Midget Tunnel Ram', + 'MANILOW', + 3 + ), + ( + 330001, + 330001, + 'Autolite 4V (300 cfm)', + 'CARBSING', + 1 + ), + ( + 330002, + 330001, + 'Autolite 6V (600 cfm)', + 'CARBTRI', + 2 + ), + ( + 330003, + 330001, + 'Autolite 2V (300 cfm)', + 'CARBSING', + 1 + ), + ( + 330004, + 330001, + 'Holley 4100 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330005, + 330001, + 'Rochester 2GV 2V (200 cfm)', + 'CARBSING', + 1 + ), + ( + 330006, + 330001, + 'Stromberg 97 2V (125 cfm)', + 'CARBSING', + 1 + ), + ( + 330007, + 330001, + 'Holley 2300 2V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330008, + 330001, + 'Rochester 4G 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330009, + 330001, + 'Rochester Monojet 2V (350 cfm)', + 'CARBSING', + 1 + ), + ( + 330010, + 330001, + 'Holley Dominator 2300 2V (400 cfm)', + 'CARBSING', + 2 + ), + ( + 330011, + 330001, + 'Holley 4150 4V (650 cfm)', + 'CARBSING', + 2 + ), + ( + 330012, + 330001, + 'Edelbrock Performer 4V (600 cfm)', + 'CARBSING', + 2 + ), + (330013, 330001, 'Ramjet Fuel Injector', NULL, 1), + ( + 330014, + 330001, + 'Rochester 6V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330015, + 330001, + 'Ford Detroit Lubricator 1V (100 cfm)', + 'CARBSING', + 1 + ), + ( + 330016, + 330001, + 'Rochester Quadrajet 2x4V (800 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330017, + 330001, + 'Carter Tri-Power 3x2V (780 cfm)', + 'CARBTRI', + 3 + ), + ( + 330018, + 330001, + 'Carter AFB 2x4V (800 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330019, + 330001, + 'Edelbrock Q-Jet (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330020, + 330001, + 'Rochester Quadrajet 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330021, + 330001, + 'Carter AFB 4V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330022, + 330001, + 'Holley 3x2V (680 cfm)', + 'CARBTRI', + 2 + ), + ( + 330023, + 330001, + 'Holley 4300 2x4V (1000 cfm)', + 'Carbquad', + 3 + ), + ( + 330024, + 330001, + 'Autolite 4V (350 cfm)', + 'CARBSING', + 1 + ), + ( + 330025, + 330001, + 'Autolite 4V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330026, + 330001, + 'Holley 4100 4V (780 cfm)', + 'CARBSING', + 2 + ), + ( + 330027, + 330001, + 'Corvette Cross-Fire Fuel Injection', + NULL, + 2 + ), + ( + 330028, + 330001, + 'Holley 4100 4V (850 cfm)', + 'CARBSING', + 3 + ), + (330029, 330001, 'Cadillac EFI', NULL, 1), + ( + 330030, + 330001, + 'Cadillac Tri-Power 3x2V (600 cfm)', + 'CARBTRI', + 2 + ), + ( + 330031, + 330001, + 'Rochester Tri-Power 3x2V (650 cfm)', + 'CARBTRI', + 2 + ), + ( + 330032, + 330001, + 'Chevrolet Turbo Thrust 4V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330033, + 330001, + 'Holley 4300 2x4V (800 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330034, + 330001, + 'Holley 4100 4V (735 cfm)', + 'CARBSING', + 2 + ), + ( + 330035, + 330001, + 'Carter AVS 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330036, + 330001, + 'Autolite 4100 4V (480 cfm)', + 'CARBSING', + 1 + ), + ( + 330037, + 330001, + 'Autolite 4100 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330038, + 330001, + 'Autolite 4300 4V (600 cfm)', + 'CARBSING', + 2 + ), + ( + 330039, + 330001, + 'Autolite 4300D 4V (715 cfm)', + 'CARBSING', + 2 + ), + ( + 330040, + 330001, + 'Holley 3x2V (600 cfm)', + 'CARBTRI', + 2 + ), + ( + 330041, + 330001, + 'Holley 4160 4V (1000 cfm)', + 'CARBSING', + 3 + ), + ( + 330042, + 330001, + 'Autolite 2100 2V (356 cfm)', + 'CARBSING', + 1 + ), + ( + 330043, + 330001, + 'Autolite 2100 2V (424 cfm)', + 'CARBSING', + 1 + ), + ( + 330044, + 330001, + 'Rochester Quadrajet 4V (715 cfm)', + 'CARBSING', + 2 + ), + ( + 330045, + 330001, + 'Holley Dominator 2V (550 cfm)', + 'CARBSING', + 2 + ), + ( + 330046, + 330001, + 'Holley Dominator 2V (650 cfm)', + 'CARBSING', + 2 + ), + ( + 330047, + 330001, + 'Holley Dominator 2V (675 cfm)', + 'CARBSING', + 2 + ), + ( + 330048, + 330001, + 'Holley Dominator 4V (1050 cfm)', + 'CARBSING', + 3 + ), + ( + 330049, + 330001, + 'Holley Dominator 4V (1150 cfm)', + 'CARBSING', + 3 + ), + ( + 330050, + 330001, + 'Holley Dominator 2x4V (1150 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330051, + 330001, + 'Holley Dominator 2x4V (1250 cfm)', + 'CARBDUAL', + 4 + ), + ( + 330052, + 330001, + 'Holley Dominator 4V (1250 cfm)', + 'CARBSING', + 4 + ), + ( + 330053, + 330001, + 'Carter 2V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330054, + 330001, + 'Carter AFB 4V (500 cfm) Carb', + 'CARBSING', + 1 + ), + ( + 330055, + 330001, + 'Rochester Monojet 2V (400 cfm)', + 'CARBSING', + 1 + ), + ( + 330056, + 330001, + 'Rochester Quadrajet 2x4V (600 cfm)', + 'CARBDUAL', + 2 + ), + ( + 330057, + 330001, + 'Rochester Quadrajet 4V (500 cfm)', + 'CARBSING', + 1 + ), + ( + 330058, + 330001, + 'Ramjet Fuel Injector RPO 579D', + NULL, + 2 + ), + ( + 330059, + 330001, + 'Rochester Monojet 2V (500 cfm)', + 'CARBSING', + 1 + ), + ( + 330060, + 330001, + 'Rochester Monojet 2V (600 cfm)', + 'CARBSING', + 1 + ), + ( + 330061, + 330001, + 'Rochester Quadrajet 4V (660 cfm) Carb', + 'CARBDUAL', + 1 + ), + ( + 330062, + 330001, + 'Autolite 2x4V (600 cfm)', + 'CARBDUAL', + 1 + ), + ( + 330063, + 330001, + 'Autolite 2100 2V (600 cfm)', + 'CARBSING', + 1 + ), + ( + 330064, + 330001, + 'Autolite 3x2V (860 cfm)', + 'CARBTRI', + 2 + ), + ( + 330065, + 330001, + 'Holley 3x2V (840 cfm)', + 'CARBTRI', + 2 + ), + ( + 330066, + 330001, + 'Carter 2V (600 cfm)', + 'CARBSING', + 1 + ), + ( + 330067, + 330001, + 'Carter AVS 4V (700 cfm)', + 'CARBDUAL', + 1 + ), + ( + 330068, + 330001, + 'Carter AVS 4V (800 cfm)', + 'CARBDUAL', + 2 + ), + ( + 330069, + 330001, + 'Edelbrock Performer 4V (500 cfm)', + 'CARBDUAL', + 2 + ), + ( + 330070, + 330001, + 'Edelbrock Performer 4V (750 cfm)', + 'CARBDUAL', + 2 + ), + ( + 330071, + 330001, + 'Edelbrock Q-Jet (850 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330072, + 330001, + 'Edelbrock Q-Jet (795 cfm)', + 'CARBDUAL', + 3 + ), + ( + 330073, + 330001, + 'Edelbrock Pro-Flo EFI System', + NULL, + 3 + ), + ( + 340001, + 340001, + 'Light Duty Air Cleaner', + 'airoil', + 1 + ), + ( + 340002, + 340001, + 'Normal Duty Air Cleaner', + 'airsnork', + 1 + ), + ( + 340003, + 340001, + 'Holley Hi-Tek Air Cleaner', + 'AIRSTD', + 2 + ), + ( + 340004, + 340001, + 'Edelbrock Pro-Flo 1000 XHD Air Cleaner', + 'airoval', + 4 + ), + ( + 340005, + 340001, + 'Tri-angular Air Cleaner', + 'AIRTRI', + 2 + ), + ( + 340006, + 340001, + 'Edelbrock Pro-Flo Round Air Cleaner', + 'AIRSTD', + 3 + ), + ( + 340007, + 340001, + 'Edelbrock Pro-Flo Oval Air Cleaner', + 'AIROVAL', + 3 + ), + ( + 340008, + 340001, + 'Edelbrock Pro-Flo Triangular Air Cleaner', + 'AIRTRI', + 3 + ), + ( + 340009, + 340001, + 'Edelbrock Elite Round Air Cleaner', + 'AIRSTD', + 2 + ), + ( + 340010, + 340001, + 'Edelbrock Elite Oval Air Cleaner', + 'AIROVAL', + 2 + ), + ( + 340011, + 340001, + 'Edelbrock Elite Triangular Air Cleaner', + 'AIRTRI', + 2 + ), + ( + 350001, + 350001, + 'Lindstrom P05 Blower', + 'BLOWSMAL', + 1 + ), + ( + 350002, + 350001, + 'Holley Street Blower', + 'BLOWSMAL', + 2 + ), + ( + 350003, + 350001, + 'Holley Street PowerCharger Blower', + 'BLOWSMAL', + 2 + ), + ( + 350004, + 350001, + 'Holley PowerCharger Blower', + 'BLOWLARG', + 3 + ), + ( + 350005, + 350001, + 'Holley MegaBlower', + 'BLOWLARG', + 4 + ), + ( + 350006, + 350001, + 'Weiand 671 Blower', + 'BLOWSMAL', + 3 + ), + ( + 350007, + 350001, + 'Weiand 871 Blower', + 'BLOWLARG', + 3 + ), + ( + 350008, + 350001, + 'Weiand 1071 Blower', + 'BLOWLARG', + 4 + ), + ( + 360001, + 360001, + 'Lindstrom Little Rabbit 5/1 NOS', + NULL, + 1 + ), + ( + 360002, + 360001, + 'Lindstrom Cheetah 15/5 NOS', + NULL, + 2 + ), + ( + 360003, + 360001, + 'Holley Powershot 125 NOS', + NULL, + 3 + ), + ( + 360004, + 360001, + 'Holley Super Powershot 200 NOS', + NULL, + 4 + ), + (360005, 360001, 'Holley Cheater 250 NOS', NULL, 4), + ( + 360006, + 360001, + 'Holley Sneeky Pete 75 NOS', + NULL, + 3 + ), + ( + 1000001, + 1000001, + 'Ford Y (9.0) 1.925i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000002, + 1000001, + 'Ford Flathead (6.15) Stock CH', + NULL, + 1 + ), + ( + 1000003, + 1000001, + 'Ford Flathead (6.8) Stock CH', + NULL, + 1 + ), + ( + 1000004, + 1000001, + 'Ford Flathead (7.2) Stock CH', + NULL, + 1 + ), + ( + 1000005, + 1000001, + 'Ford BB Low Riser (11.6) 2.09i/1.66e CH', + NULL, + 3 + ), + ( + 1000006, + 1000001, + 'Ford 385 Street Boss (10.5) 2.28i/1.90e CH', + NULL, + 3 + ), + ( + 1000007, + 1000001, + 'AMC (10.0) 1.787i/1.406e Stock CH', + NULL, + 1 + ), + ( + 1000008, + 1000001, + 'AMC (10.2) 2.02i/1.625e Stock CH', + NULL, + 2 + ), + ( + 1000009, + 1000001, + 'AMC (10.2) 2.02i/1.625e SS HP W/F CH', + NULL, + 3 + ), + ( + 1000010, + 1000001, + 'Pontiac (9.2) Stock W CH', + NULL, + 1 + ), + ( + 1000011, + 1000001, + 'Chrysler Hemi (10.25) 2.25i/1.90e Canted CH', + NULL, + 3 + ), + ( + 1000012, + 1000001, + 'Chrysler SB (10.5) AAR W/P CH', + NULL, + 2 + ), + ( + 1000013, + 1000001, + 'Chrysler SB (10.5) 1.78i/1.50e Wedge CH', + NULL, + 1 + ), + ( + 1000014, + 1000001, + 'Olds SB (9.0) Stock CH', + NULL, + 1 + ), + ( + 1000015, + 1000001, + 'Chevrolet SB (9.5) Wedge CH', + NULL, + 1 + ), + ( + 1000016, + 1000001, + 'Pontiac (10.5) Wedge CH', + NULL, + 1 + ), + ( + 1000017, + 1000001, + 'Olds BB (10.25) Stock CH', + NULL, + 1 + ), + (1000018, 1000001, 'Pontiac (10.75) W CH', NULL, 2), + ( + 1000019, + 1000001, + 'Chevrolet BB HP (11.0) Canted CH', + NULL, + 3 + ), + ( + 1000020, + 1000001, + 'Ford Flathead (7.5) Denver CH', + NULL, + 2 + ), + (1000021, 1000001, 'Olds BB (8.5) CH', NULL, 1), + ( + 1000022, + 1000001, + 'Chevrolet W (10.25) 2.07i/1.72e CH', + NULL, + 2 + ), + ( + 1000023, + 1000001, + 'Chevrolet BB L72 (11.0) HP CH', + NULL, + 3 + ), + ( + 1000024, + 1000001, + 'Chevrolet BB L88 Aluminum (12.5) HP CH', + NULL, + 4 + ), + ( + 1000025, + 1000001, + 'Chevrolet BB L89 Aluminum (11.0) HP CH', + NULL, + 3 + ), + ( + 1000026, + 1000001, + 'Ford Y 1957 (9.0) 1.925i/1.51e Stock CH', + NULL, + 2 + ), + ( + 1000027, + 1000001, + 'Ford 385 (8.5) 2.08i/1.66e Canted CH', + NULL, + 1 + ), + ( + 1000028, + 1000001, + 'Ford 385 (11.0) 2.08i/1.66e Canted CH', + NULL, + 3 + ), + ( + 1000029, + 1000001, + 'Ford Cleveland (9.2) 2.19i/1.71e HP Canted CH', + NULL, + 3 + ), + ( + 1000030, + 1000001, + 'Ford BB (9.6) 2.04i/1.57e W CH', + NULL, + 2 + ), + ( + 1000031, + 1000001, + 'Ford BB (11.4) 2.09i/1.66e W/P CH', + NULL, + 2 + ), + ( + 1000032, + 1000001, + 'Ford BB High Riser (11.5) 2.195i/1.73e CH', + NULL, + 3 + ), + ( + 1000033, + 1000001, + 'Ford BB Cammer 2.25i/1.90e HP CH', + NULL, + 4 + ), + ( + 1000034, + 1000001, + 'Ford 385 (10.5) 2.08i/1.66e Canted CH', + NULL, + 2 + ), + ( + 1000035, + 1000001, + 'Ford 385 (11.3) 2.25i/1.72e CJ HP CH', + NULL, + 3 + ), + ( + 1000037, + 1000001, + 'Pontiac (10.0) W/P CH', + NULL, + 3 + ), + ( + 1000038, + 1000001, + 'Chrysler BB (11.0) Max Wedge I CH', + NULL, + 3 + ), + ( + 1000039, + 1000001, + 'Chrysler BB (13.5) Max Wedge I HP CH', + NULL, + 4 + ), + ( + 1000040, + 1000001, + 'Edelbrock Performer RPM (9.25) Chevy SB CH', + NULL, + 3 + ), + ( + 1000041, + 1000001, + 'Edelbrock Performer RPM (10.5) Chevy SB CH', + NULL, + 3 + ), + ( + 1000042, + 1000001, + 'Edelbrock Performer (9.25) Chevy SB CH', + NULL, + 2 + ), + ( + 1000043, + 1000001, + 'Edelbrock Performer (10.5) Chevrolet SB CH', + NULL, + 2 + ), + ( + 1000044, + 1000001, + 'Edelbrock Performer RPM 454-O Chevy BB (9.5) CH', + NULL, + 2 + ), + ( + 1000045, + 1000001, + 'Edelbrock Performer 454-O Chevy BB (9.5) CH', + NULL, + 2 + ), + ( + 1000046, + 1000001, + 'Edelbrock Performer RPM 454-R Chevy BB (9.5) CH', + NULL, + 3 + ), + ( + 1000047, + 1000001, + 'Edelbrock Performer RPM (11.5) Chevy SB CH', + NULL, + 3 + ), + ( + 1000048, + 1000001, + 'Buick BB (10.0) 2.0i/1.625e Stock', + NULL, + 1 + ), + (1000049, 1000001, 'Pontiac (12.0) Wedge', NULL, 3), + (1000050, 1000001, 'Pontiac (13.0) Wedge', NULL, 4), + ( + 1000051, + 1000001, + 'Pontiac Ram Air II Cylinder Head', + NULL, + 2 + ), + ( + 1000052, + 1000001, + 'Ford BB Medium Riser (11.6) 2.195i/1.73e CH', + NULL, + 3 + ), + ( + 1000053, + 1000001, + 'Ford BB (10.6) 2.04i/1.57e W/P CH', + NULL, + 2 + ), + ( + 1000054, + 1000001, + 'Ford 385 2.37i/1.90e NASCAR CH', + NULL, + 4 + ), + ( + 1000055, + 1000001, + 'Chrysler BB (12.5) Max Wedge III CH', + NULL, + 3 + ), + ( + 1000056, + 1000001, + 'Chevrolet W (10.25) 2.19/1.73 CH', + NULL, + 3 + ), + ( + 1000057, + 1000001, + 'Chevrolet W (10.25) 1.94/1.65 CH', + NULL, + 2 + ), + ( + 1000058, + 1000001, + 'Ford Cleveland Boss 351 (11.7) 2.19i/1.71e CH', + NULL, + 3 + ), + ( + 1000060, + 1000001, + 'Buick Nailhead Wedge (8.5)', + NULL, + 1 + ), + ( + 1000061, + 1000001, + 'Ford SB (10.5) 1.78i/1.45e HP Wedge CH', + NULL, + 2 + ), + ( + 1000063, + 1000001, + 'Buick BB (8.5) 2.0i/1.625e Wedge CH', + NULL, + 1 + ), + (1000064, 1000001, 'Buick SB Wedge (8.5)', NULL, 1), + (1000065, 1000001, 'Buick SB Wedge (9.0)', NULL, 1), + ( + 1000066, + 1000001, + 'Buick SB Wedge (10.25)', + NULL, + 2 + ), + ( + 1000067, + 1000001, + 'Cadillac BB Stock (9.1)', + NULL, + 1 + ), + ( + 1000068, + 1000001, + 'Cadillac BB Wedge (10.5)', + NULL, + 1 + ), + ( + 1000069, + 1000001, + 'Chevrolet SB Wedge (8.0)', + NULL, + 1 + ), + ( + 1000070, + 1000001, + 'Chevrolet SB Wedge (9.25)', + NULL, + 1 + ), + ( + 1000071, + 1000001, + 'Chevrolet SB Stock Wedge (10.5) 1.72i/1.50e', + NULL, + 2 + ), + ( + 1000072, + 1000001, + 'Chevrolet SB Wedge (11.0)', + NULL, + 2 + ), + ( + 1000073, + 1000001, + 'Chevrolet SB Wedge (11.25) 1.94i/1.50e', + NULL, + 2 + ), + ( + 1000074, + 1000001, + 'Chevrolet SB Wedge (9.0)', + NULL, + 1 + ), + ( + 1000075, + 1000001, + 'Chevrolet BB Canted (10.25)', + NULL, + 3 + ), + ( + 1000076, + 1000001, + 'Chevrolet BB Canted ZL1 (12.0)', + NULL, + 3 + ), + ( + 1000077, + 1000001, + 'Chevrolet BB Canted LS6 (9.0)', + NULL, + 2 + ), + ( + 1000078, + 1000001, + 'Olds SB (10.25) Stock CH', + NULL, + 1 + ), + ( + 1000079, + 1000001, + 'Olds SB (10.5) W-31 CH', + NULL, + 3 + ), + ( + 1000080, + 1000001, + 'Olds BB (10.5) Stock CH', + NULL, + 2 + ), + ( + 1000081, + 1000001, + 'Olds BB (9.0) Stock CH', + NULL, + 1 + ), + ( + 1000082, + 1000001, + 'Olds BB (10.25) Stock CH', + NULL, + 2 + ), + ( + 1000083, + 1000001, + 'Olds BB (10.5) W-30 CH', + NULL, + 3 + ), + ( + 1000084, + 1000001, + 'Pontiac (8.6) Stock W CH', + NULL, + 1 + ), + ( + 1000085, + 1000001, + 'Pontiac (10.0) Stock W CH', + NULL, + 2 + ), + ( + 1000086, + 1000001, + 'Pontiac (11.0) SD W CH', + NULL, + 3 + ), + ( + 1000087, + 1000001, + 'Pontiac (10.75) HO W CH', + NULL, + 3 + ), + (1000088, 1000001, 'Pontiac (10.5) W CH', NULL, 2), + ( + 1000089, + 1000001, + 'Pontiac (10.25) W CH', + NULL, + 2 + ), + ( + 1000090, + 1000001, + 'Pontiac (10.0) Stock W CH', + NULL, + 1 + ), + ( + 1000091, + 1000001, + 'Pontiac (8.4) SD W CH', + NULL, + 2 + ), + ( + 1000092, + 1000001, + 'Ford Y (7.6) 1.78i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000093, + 1000001, + 'Ford Y (8.5) 1.78i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000094, + 1000001, + 'Ford Y (8.1) 1.78i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000095, + 1000001, + 'Ford Y (8.0) 1.78i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000096, + 1000001, + 'Ford Y (8.4) 1.78i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000097, + 1000001, + 'Ford Y (8.6) 1.925i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000098, + 1000001, + 'Ford Y (9.7) 1.925i/1.51e Stock CH', + NULL, + 2 + ), + ( + 1000099, + 1000001, + 'Ford Y (8.3) 1.925i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000100, + 1000001, + 'Ford Y (8.8) 1.925i/1.51e Stock CH', + NULL, + 1 + ), + ( + 1000101, + 1000001, + 'Ford Y (9.6) 1.925i/1.51e Stock CH', + NULL, + 2 + ), + ( + 1000102, + 1000001, + 'Ford BB (12.1) 2.09i/1.66e Wedge CH', + NULL, + 3 + ), + ( + 1000103, + 1000001, + 'Ford BB (11.0) 2.04i/1.57e Wedge CH', + NULL, + 2 + ), + ( + 1000104, + 1000001, + 'Ford BB (10.1) 2.04i/1.57e Wedge CH', + NULL, + 2 + ), + ( + 1000105, + 1000001, + 'Ford BB (9.4) 2.04i/1.57e Wedge CH', + NULL, + 1 + ), + ( + 1000106, + 1000001, + 'Ford Cleveland (9.5) 2.05i/1.65e CH', + NULL, + 2 + ), + ( + 1000107, + 1000001, + 'Ford Cleveland (11.0) 2.19i/1.71e CH', + NULL, + 3 + ), + ( + 1000108, + 1000001, + 'Ford Cleveland (9.0) 2.19i/1.71e CH', + NULL, + 2 + ), + ( + 1000109, + 1000001, + 'Ford Cleveland (8.6) 2.05i/1.65e CH', + NULL, + 1 + ), + ( + 1000111, + 1000001, + 'Ford 385 (10.2) 2.08i/1.66e Canted CH', + NULL, + 3 + ), + ( + 1000112, + 1000001, + 'Chrysler BB (10.0) Large Port W CH', + NULL, + 2 + ), + ( + 1000113, + 1000001, + 'Chrysler BB (9.6) W CH', + NULL, + 1 + ), + ( + 1000114, + 1000001, + 'Chrysler BB (9.2) W CH', + NULL, + 1 + ), + ( + 1000115, + 1000001, + 'Chrysler SB (8.8) 1.78i/1.50e Stock W CH', + NULL, + 1 + ), + ( + 1000116, + 1000001, + 'Chrysler SB (10.5) 2.02i/1.60e Stock W CH', + NULL, + 2 + ), + ( + 1000117, + 1000001, + 'Chrysler SB (9.0) Stock W CH', + NULL, + 1 + ), + ( + 1000118, + 1000001, + 'Chrysler SB (9.2) Stock W CH', + NULL, + 1 + ), + ( + 1000119, + 1000001, + 'Chrysler BB (10.0) W CH', + NULL, + 1 + ), + ( + 1000120, + 1000001, + 'Chevrolet SB Large Valve Wedge (10.5)', + NULL, + 2 + ), + ( + 1000121, + 1000001, + 'Chevrolet SB Wedge (10.25)', + NULL, + 2 + ), + ( + 1000122, + 1000001, + 'Chevrolet SB Wedge (8.5)', + NULL, + 1 + ), + ( + 1000123, + 1000001, + 'Chevrolet SB Wedge (10.5) 1.94i/1.50e', + NULL, + 2 + ), + ( + 1000124, + 1000001, + 'Chevrolet SB Wedge (11.25) 2.02i/1.60e', + NULL, + 2 + ), + ( + 1000125, + 1000001, + 'Chevrolet BB L36 Canted (10.25)', + NULL, + 2 + ), + ( + 1000126, + 1000001, + 'Pontiac (10.25) Stock W CH', + NULL, + 1 + ), + ( + 1000127, + 1000001, + 'Pontiac (10.75) W/P CH', + NULL, + 3 + ), + (1000128, 1000001, 'Pontiac (10.75) W CH', NULL, 2), + ( + 1000129, + 1000001, + 'Pontiac (11.0) SD 2.02i/1.76e W CH', + NULL, + 3 + ), + ( + 1000130, + 1000001, + 'Pontiac Ram Air V Cylinder Head', + NULL, + 3 + ), + ( + 1000131, + 1000001, + 'Ford BB (10.2) 2.04i/1.57e Wedge CH', + NULL, + 2 + ), + ( + 1000132, + 1000001, + 'Ford BB (8.9) 2.04i/1.57e Wedge CH', + NULL, + 1 + ), + ( + 1000133, + 1000001, + 'Ford BB (10.5) 2.04i/1.57e Wedge CH', + NULL, + 2 + ), + ( + 1000134, + 1000001, + 'Ford SB (8.7) 1.67i/1.45e Wedge CH', + NULL, + 1 + ), + ( + 1000135, + 1000001, + 'Ford SB (10.5) 1.67i/1.45e HP Wedge CH', + NULL, + 2 + ), + ( + 1000136, + 1000001, + 'Ford SB (9.0) 1.67i/1.45e Wedge CH', + NULL, + 1 + ), + ( + 1000137, + 1000001, + 'Ford SB (10.0) 1.78i/1.45e Wedge CH', + NULL, + 1 + ), + ( + 1000138, + 1000001, + 'Ford SB Boss (10.5) 2.23i/1.72e Canted CH', + NULL, + 3 + ), + ( + 1000139, + 1000001, + 'Ford SB (9.5) 1.84i/1.54e Wedge CH', + NULL, + 2 + ), + ( + 1000140, + 1000001, + 'Ford SB (10.7) 1.84i/1.54e Wedge CH', + NULL, + 2 + ), + ( + 1000141, + 1000001, + 'Chrysler BB (8.2) W CH', + NULL, + 1 + ), + ( + 1000142, + 1000001, + 'Chrysler BB (11.0) Max Wedge III Cylinder Head', + NULL, + 3 + ), + ( + 1000143, + 1000001, + 'Chrysler BB (10.5) W CH', + NULL, + 2 + ), + ( + 1000144, + 1000001, + 'Buick BB Stage I (10) 2.12i/1.75e CH', + NULL, + 2 + ), + ( + 1000145, + 1000001, + 'Pontiac (8.0) Stock W CH', + NULL, + 1 + ), + ( + 1000146, + 1000001, + 'Chevrolet BB (8.5) Stock CH', + NULL, + 1 + ), + ( + 1000147, + 1000001, + 'Shade Tree Chevrolet SB (8.0)', + NULL, + 1 + ), + ( + 1000148, + 1000001, + 'AMC (9.0) 1.787i/1.406e Stock CH', + NULL, + 1 + ), + ( + 1000149, + 1000001, + 'AMC (9.0) 2.02i/1.625e Stock CH', + NULL, + 1 + ), + ( + 1000150, + 1000001, + 'AMC (10.0) 2.02i/1.625e Stock CH', + NULL, + 2 + ), + ( + 1000151, + 1000001, + 'AMC (10.0) 2.02i/1.625e Dog Leg CH', + NULL, + 2 + ), + ( + 1000152, + 1000001, + 'Cadillac L-Head Stock CH', + NULL, + 1 + ), + ( + 1000153, + 1000001, + 'Buick BB (10.25) 2.0i/1.625e Wedge CH', + NULL, + 2 + ), + ( + 1000154, + 1000001, + 'Chevrolet W (10.25) 2.19/1.73 Z11 CH', + NULL, + 3 + ), + ( + 1000155, + 1000001, + 'Cadillac L-Head (7.5) CH', + NULL, + 2 + ), + ( + 1000156, + 1000001, + 'Cadillac L-Head (7.8) CH', + NULL, + 2 + ), + ( + 1000157, + 1000001, + 'Cadillac L-Head (8.0) CH', + NULL, + 2 + ), + ( + 1000158, + 1000001, + 'Cadillac L-Head (8.2) CH', + NULL, + 2 + ), + ( + 1000159, + 1000001, + 'Buick Nailhead (8.75) CH', + NULL, + 2 + ), + ( + 1000160, + 1000001, + 'Buick Nailhead (9.0) CH', + NULL, + 2 + ), + ( + 1000161, + 1000001, + 'Buick Nailhead (10.25) CH', + NULL, + 3 + ), + ( + 1000162, + 1000001, + 'Buick Nailhead (10.5) CH', + NULL, + 3 + ), + ( + 1000163, + 1000001, + 'Cadillac (9.75) Wedge CH', + NULL, + 2 + ), + ( + 1000164, + 1000001, + 'Cadillac (10.0) Wedge CH', + NULL, + 2 + ), + ( + 1000165, + 1000001, + 'Hemi (10.5) Canted CH', + NULL, + 3 + ), + ( + 1000166, + 1000001, + 'Hemi (10.75) Canted CH', + NULL, + 3 + ), + ( + 1000167, + 1000001, + 'Edelbrock Ford Flathead Cylinder Head', + NULL, + 3 + ), + ( + 1000168, + 1000001, + 'Holley SystemMax Chevrolet BB CH', + NULL, + 4 + ), + (1000169, 1000001, 'AMC NASCAR CH', NULL, 4), + ( + 1000170, + 1000001, + 'AMC (9.5) 2.02i/1.68e Stock CH', + NULL, + 2 + ), + ( + 1000171, + 1000001, + 'AMC (8.5) 2.02i/1.68e Stock CH', + NULL, + 1 + ), + ( + 1000172, + 1000001, + 'Ford SB (9.0) 1.84i/1.54e Wedge CH', + NULL, + 1 + ), + ( + 1000173, + 1000001, + 'Ford SB Boss (10.5) 2.19i/1.72e Canted CH', + NULL, + 3 + ), + ( + 1000174, + 1000001, + 'Ford SB TP (10.0) 2.12i/1.54e Wedge CH', + NULL, + 3 + ), + ( + 1100001, + 1100001, + 'Chevrolet SB Stock Cam', + NULL, + 1 + ), + ( + 1100002, + 1100001, + 'Chrysler SB Barracuda Cam', + NULL, + 1 + ), + ( + 1100003, + 1100001, + 'Edelbrock Performer Plus Chrysler SB HP Cam', + NULL, + 3 + ), + ( + 1100004, + 1100001, + 'Edelbrock Performer RPM Chrysler SB HP Cam', + NULL, + 2 + ), + (1100005, 1100001, 'Ford SB Stock Cam', NULL, 1), + ( + 1100006, + 1100001, + 'Reed TorqueMaster Chrysler SB HP Cam', + NULL, + 2 + ), + ( + 1100007, + 1100001, + 'Reed XLH Chrysler SB DP Cam', + NULL, + 3 + ), + ( + 1100008, + 1100001, + 'Crane PowerMax HP Chrysler SB Cam', + NULL, + 2 + ), + ( + 1100009, + 1100001, + 'Crane Saturday Night Special Chrysler SB Cam', + NULL, + 3 + ), + ( + 1100010, + 1100001, + 'Edelbrock Torker-Plus Chrysler SB DP Cam', + NULL, + 3 + ), + (1100011, 1100001, 'Buick BB Stock Cam', NULL, 1), + (1100012, 1100001, 'Buick SB Stock Cam', NULL, 1), + ( + 1100013, + 1100001, + 'Cadillac BB Stock Cam', + NULL, + 1 + ), + ( + 1100014, + 1100001, + 'Chevrolet BB Stock Cam', + NULL, + 1 + ), + (1100015, 1100001, 'Chevrolet SB HP Cam', NULL, 2), + ( + 1100016, + 1100001, + 'Chrysler BB Stock Cam', + NULL, + 1 + ), + ( + 1100017, + 1100001, + 'Chrysler SB Stock Cam', + NULL, + 1 + ), + (1100018, 1100001, 'Ford BB Stock Cam', NULL, 1), + (1100019, 1100001, 'Ford SB HP Cam', NULL, 2), + ( + 1100020, + 1100001, + 'Ford Flathead Stock Cam', + NULL, + 1 + ), + ( + 1100021, + 1100001, + 'Oldsmobile BB Stock Cam', + NULL, + 1 + ), + ( + 1100022, + 1100001, + 'Oldsmobile SB Stock Cam', + NULL, + 1 + ), + (1100023, 1100001, 'AMC Stock Cam', NULL, 1), + (1100024, 1100001, 'Pontiac Stock Cam', NULL, 1), + ( + 1100025, + 1100001, + 'Chevrolet SB Stock Hi-Lift Cam', + NULL, + 1 + ), + ( + 1100026, + 1100001, + 'Chevrolet SB HP Duntov Cam', + NULL, + 3 + ), + (1100028, 1100001, 'Chevrolet BB HP Cam', NULL, 2), + ( + 1100029, + 1100001, + 'Chevrolet BB HP LS7 Cam', + NULL, + 3 + ), + ( + 1100030, + 1100001, + 'Buick BB 1968 Stage I Cam', + NULL, + 1 + ), + ( + 1100031, + 1100001, + 'Buick BB 1969 Stage I Cam', + NULL, + 2 + ), + ( + 1100032, + 1100001, + 'Buick BB Stage II Cam', + NULL, + 2 + ), + ( + 1100033, + 1100001, + 'Oldsmobile SB W31 Performance Cam', + NULL, + 2 + ), + ( + 1100034, + 1100001, + 'Oldsmobile BB W30 Performance Cam', + NULL, + 2 + ), + (1100035, 1100001, 'Pontiac SD Cam', NULL, 3), + ( + 1100036, + 1100001, + 'Pontiac Ram Air I Cam', + NULL, + 2 + ), + ( + 1100037, + 1100001, + 'Pontiac Ram Air IV Cam', + NULL, + 3 + ), + (1100038, 1100001, 'Pontiac SD Cam', NULL, 3), + (1100039, 1100001, 'Pontiac HO Cam', NULL, 2), + (1100040, 1100001, 'Ford Y Truck Cam', NULL, 1), + (1100041, 1100001, 'Ford BB HO Cam', NULL, 2), + (1100042, 1100001, 'Ford BB HO Mild Cam', NULL, 2), + (1100043, 1100001, 'Ford BB Cammer Cam', NULL, 4), + (1100044, 1100001, 'Ford BB PI Cam', NULL, 2), + (1100045, 1100001, 'Ford 385 Boss Cam', NULL, 3), + (1100046, 1100001, 'Chrysler BB HP Cam', NULL, 2), + ( + 1100047, + 1100001, + 'Chrysler BB Max Wedge I Cam', + NULL, + 2 + ), + ( + 1100048, + 1100001, + 'Chrysler BB Max Wedge III Cam', + NULL, + 3 + ), + (1100049, 1100001, 'Chrysler Hemi Cam', NULL, 3), + (1100050, 1100001, 'Chrysler SB AAR Cam', NULL, 2), + (1100051, 1100001, 'AMC Group 19 Cam', NULL, 2), + (1100052, 1100001, 'AMC SS/AMX Cam', NULL, 3), + ( + 1100054, + 1100001, + 'Crane PowerMax HP Cadillac BB Cam', + NULL, + 2 + ), + ( + 1100055, + 1100001, + 'Crane PowerMax HP Buick BB Cam', + NULL, + 2 + ), + ( + 1100056, + 1100001, + 'Crane PowerMax HP Buick SB Cam', + NULL, + 2 + ), + ( + 1100057, + 1100001, + 'Crane PowerMax HP Chevrolet BB Cam', + NULL, + 2 + ), + ( + 1100058, + 1100001, + 'Crane PowerMax HP Chevrolet SB Cam', + NULL, + 2 + ), + ( + 1100059, + 1100001, + 'Crane PowerMax HP Chrysler BB Cam', + NULL, + 2 + ), + ( + 1100060, + 1100001, + 'Crane PowerMax HP Ford BB Cam', + NULL, + 2 + ), + ( + 1100061, + 1100001, + 'Crane PowerMax HP Ford SB Cam', + NULL, + 2 + ), + ( + 1100062, + 1100001, + 'Crane PowerMax HP Olds BB Cam', + NULL, + 2 + ), + ( + 1100063, + 1100001, + 'Crane PowerMax HP Olds SB Cam', + NULL, + 2 + ), + ( + 1100064, + 1100001, + 'Crane PowerMax HP Pontiac Cam', + NULL, + 2 + ), + (1100065, 1100001, 'Shade Tree Hemi Cam', NULL, 2), + ( + 1100066, + 1100001, + 'Crane Saturday Night Special Chrysler BB Cam', + NULL, + 3 + ), + ( + 1100067, + 1100001, + 'Crane Saturday Night Special Buick BB Cam', + NULL, + 3 + ), + ( + 1100068, + 1100001, + 'Crane Saturday Night Special Buick SB Cam', + NULL, + 3 + ), + ( + 1100069, + 1100001, + 'Crane Saturday Night Special Chevrolet BB Cam', + NULL, + 3 + ), + ( + 1100070, + 1100001, + 'Crane Saturday Night Special Chevrolet SB Cam', + NULL, + 3 + ), + ( + 1100071, + 1100001, + 'Crane Saturday Night Special Ford BB Cam', + NULL, + 3 + ), + ( + 1100072, + 1100001, + 'Crane Saturday Night Special Ford SB Cam', + NULL, + 3 + ), + ( + 1100073, + 1100001, + 'Crane Saturday Night Special Olds BB Cam', + NULL, + 3 + ), + ( + 1100074, + 1100001, + 'Crane Saturday Night Special Olds SB Cam', + NULL, + 3 + ), + ( + 1100075, + 1100001, + 'Crane Saturday Night Special Pontiac Cam', + NULL, + 3 + ), + ( + 1100076, + 1100001, + 'Crane Saturday Night Special Chevy W Cam', + NULL, + 3 + ), + ( + 1100077, + 1100001, + 'Edelbrock Performer Plus Chevrolet SB HP Cam', + NULL, + 3 + ), + ( + 1100078, + 1100001, + 'Edelbrock Performer Plus Ford SB HP Cam', + NULL, + 3 + ), + ( + 1100079, + 1100001, + 'Edelbrock Performer Plus Ford BB HP Cam', + NULL, + 3 + ), + ( + 1100080, + 1100001, + 'Edelbrock Performer RPM Chrysler BB HP Cam', + NULL, + 2 + ), + ( + 1100081, + 1100001, + 'Edelbrock Performer RPM Buick BB HP Cam', + NULL, + 2 + ), + ( + 1100082, + 1100001, + 'Edelbrock Performer RPM Chevrolet BB HP Cam', + NULL, + 2 + ), + ( + 1100083, + 1100001, + 'Edelbrock Performer RPM Chevrolet SB HP Cam', + NULL, + 2 + ), + ( + 1100084, + 1100001, + 'Edelbrock Performer RPM Ford BB HP Cam', + NULL, + 2 + ), + ( + 1100085, + 1100001, + 'Edelbrock Performer RPM Ford SB HP Cam', + NULL, + 2 + ), + ( + 1100087, + 1100001, + 'Edelbrock Performer RPM Olds SB HP Cam', + NULL, + 2 + ), + ( + 1100088, + 1100001, + 'Edelbrock Performer RPM Pontiac HP Cam', + NULL, + 2 + ), + ( + 1100090, + 1100001, + 'Edelbrock Torker-Plus Chrysler BB DP Cam', + NULL, + 3 + ), + ( + 1100092, + 1100001, + 'Edelbrock Torker-Plus Chevrolet BB DP Cam', + NULL, + 3 + ), + ( + 1100093, + 1100001, + 'Edelbrock Torker-Plus Chevrolet SB DP Cam', + NULL, + 3 + ), + ( + 1100094, + 1100001, + 'Edelbrock Torker-Plus Ford BB DP Cam', + NULL, + 3 + ), + ( + 1100095, + 1100001, + 'Edelbrock Torker-Plus Ford SB DP Cam', + NULL, + 3 + ), + ( + 1100098, + 1100001, + 'Edelbrock Torker-Plus Pontiac DP Cam', + NULL, + 3 + ), + (1100100, 1100001, 'Oldsmobile BB HP Cam', NULL, 2), + ( + 1100101, + 1100001, + 'Pontiac m/t Stock Cam', + NULL, + 1 + ), + ( + 1100102, + 1100001, + 'Pontiac Trophy (HP) Cam', + NULL, + 2 + ), + (1100103, 1100001, 'Ford SB HP Cam', NULL, 2), + ( + 1100104, + 1100001, + 'Ford SB Special Stock Cam', + NULL, + 1 + ), + ( + 1100105, + 1100001, + 'Ford Flathead Power Cam', + NULL, + 2 + ), + ( + 1100106, + 1100001, + 'Buick SB Special Stock Cam', + NULL, + 1 + ), + ( + 1100107, + 1100001, + 'Cadillac BB Midrange Cam', + NULL, + 2 + ), + ( + 1100108, + 1100001, + 'Chevrolet BB Midrange Cam', + NULL, + 2 + ), + ( + 1100109, + 1100001, + 'Chevrolet SB Special Stock Cam', + NULL, + 1 + ), + ( + 1100110, + 1100001, + 'Chrysler BB Midrange Cam', + NULL, + 2 + ), + ( + 1100111, + 1100001, + 'Oldsmobile BB Special Stock Cam', + NULL, + 1 + ), + (1100112, 1100001, 'Pontiac Midrange Cam', NULL, 2), + ( + 1100113, + 1100001, + 'Shade Tree Chevrolet SB Stock Cam', + NULL, + 1 + ), + ( + 1100114, + 1100001, + 'Cadillac L-Head Camshaft', + NULL, + 1 + ), + ( + 1100115, + 1100001, + 'Buick Nailhead Stock 322 Camshaft', + NULL, + 1 + ), + ( + 1100116, + 1100001, + 'Ford Cleveland Block Stock Camshaft', + NULL, + 1 + ), + ( + 1100117, + 1100001, + 'Ford Cleveland Block Boss Camshaft', + NULL, + 2 + ), + ( + 1100118, + 1100001, + 'Ford Cleveland Block HO Camshaft', + NULL, + 2 + ), + ( + 1100119, + 1100001, + 'Ford 385 Block Stock Camshaft', + NULL, + 1 + ), + ( + 1100120, + 1100001, + 'Ford 385 Block Special Stock Camshaft', + NULL, + 1 + ), + ( + 1100121, + 1100001, + 'Ford Y Stock Camshaft', + NULL, + 1 + ), + ( + 1100122, + 1100001, + 'Chevrolet W Stock Camshaft', + NULL, + 1 + ), + ( + 1100123, + 1100001, + 'Chevrolet W HP Camshaft', + NULL, + 2 + ), + ( + 1100124, + 1100001, + 'Chevrolet W Z11 Camshaft', + NULL, + 3 + ), + ( + 1100125, + 1100001, + 'Buick Nailhead Power Plus', + NULL, + 2 + ), + (1100126, 1100001, 'Buick Nailhead HP', NULL, 2), + ( + 1100127, + 1100001, + 'Cadillac L-Head Power Plus', + NULL, + 2 + ), + (1100128, 1100001, 'Cadillac L-Head HP', NULL, 2), + (1100129, 1100001, 'Ford Y E4 Low Range', NULL, 2), + ( + 1100130, + 1100001, + 'Edelbrock Performer Plus AMC Camshaft', + NULL, + 3 + ), + (1100131, 1100001, 'AMC WG Camshaft', NULL, 2), + ( + 1100132, + 1100001, + 'Edelbrock Performer Plus Olds SB HP Cam', + NULL, + 3 + ), + ( + 1100133, + 1100001, + 'Edelbrock Performer Plus Olds BB HP Cam', + NULL, + 3 + ), + ( + 1100134, + 1100001, + 'Fyne Grind Y Block Street 36 Cam', + NULL, + 1 + ), + ( + 1100135, + 1100001, + 'Fyne Grind Y Block Street 39 Cam', + NULL, + 1 + ), + ( + 1100136, + 1100001, + 'Fyne Grind Y Block Street 40 Cam', + NULL, + 1 + ), + ( + 1100137, + 1100001, + 'Fyne Grind Y Block Super 39 HP Cam', + NULL, + 2 + ), + ( + 1100138, + 1100001, + 'Fyne Grind Y Block Super 40 HP Cam', + NULL, + 2 + ), + ( + 1100139, + 1100001, + 'Fyne Grind Y Block Super 43 HP Cam', + NULL, + 2 + ), + ( + 1100140, + 1100001, + 'Fyne Grind Y Block Super 44 HP Cam', + NULL, + 2 + ), + ( + 1100141, + 1100001, + 'Fyne Grind Y Block Ultra 44 DP Cam', + NULL, + 3 + ), + ( + 1100142, + 1100001, + 'Fyne Grind Y Block Ultra 48 DP Cam', + NULL, + 3 + ), + ( + 1100143, + 1100001, + 'Fyne Grind Buick Nailhead Street 45 Cam', + NULL, + 2 + ), + ( + 1100144, + 1100001, + 'Fyne Grind Buick Nailhead Street 47 Cam', + NULL, + 2 + ), + ( + 1100145, + 1100001, + 'Fyne Grind Buick Nailhead Street 48 Cam', + NULL, + 2 + ), + ( + 1100146, + 1100001, + 'Fyne Grind Buick Nailhead Super 47 Cam', + NULL, + 3 + ), + ( + 1100147, + 1100001, + 'Fyne Grind Buick Nailhead Super 49 Cam', + NULL, + 3 + ), + ( + 1100148, + 1100001, + 'Buick Nailhead Stock 401 Cam', + NULL, + 1 + ), + ( + 1100149, + 1100001, + 'Buick Nailhead Stock 425 Cam', + NULL, + 1 + ), + ( + 1100150, + 1100001, + 'Oldfield Ford 385 Street King Cam', + NULL, + 2 + ), + ( + 1100151, + 1100001, + 'Oldfield Cleveland Street King Cam', + NULL, + 2 + ), + ( + 1100152, + 1100001, + 'Oldfield Cleveland New Boss Cam', + NULL, + 3 + ), + ( + 1100153, + 1100001, + 'Oldfield Ford 385 New Boss Cam', + NULL, + 3 + ), + ( + 1100154, + 1100001, + 'Walter Hemi Blueprint Classic Cam', + NULL, + 2 + ), + ( + 1100155, + 1100001, + 'Walter Hemi Extra Stock Cam', + NULL, + 3 + ), + ( + 1100156, + 1100001, + 'Leland Cadillac BB Highway Plus Cam', + NULL, + 1 + ), + ( + 1100157, + 1100001, + 'Leland Cadillac BB Streeter Cam', + NULL, + 2 + ), + ( + 1100158, + 1100001, + 'Leland Cadillac Racing Cam', + NULL, + 4 + ), + ( + 1100159, + 1100001, + 'Walter Hemi Bighorn Cam', + NULL, + 4 + ), + ( + 1100160, + 1100001, + 'Chevrolet Chevy SB Corvette (220hp) Cam', + NULL, + 1 + ), + ( + 1100161, + 1100001, + 'Ford 88 Flathead Camshaft', + NULL, + 2 + ), + ( + 1200001, + 1200001, + 'Chevrolet BB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200002, + 1200001, + 'Chrysler SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200003, + 1200001, + 'Ford BB Stock Hydraulic Valve Train', + NULL, + 1 + ), + ( + 1200004, + 1200001, + 'Crane PowerMax Ford BB VT', + NULL, + 2 + ), + ( + 1200005, + 1200001, + 'Ford 385 Boss Solid Lifter Valve Train', + NULL, + 2 + ), + ( + 1200006, + 1200001, + 'Chevrolet BB Hi-Lift Hydraulic Valve Train', + NULL, + 2 + ), + ( + 1200007, + 1200001, + 'Chrysler BB Max Wedge III Valve Train', + NULL, + 3 + ), + ( + 1200008, + 1200001, + 'Crane Energizer Ford BB VT', + NULL, + 2 + ), + ( + 1200009, + 1200001, + 'Reed T-UL Solid Lifter Ford BB Valvetrain', + NULL, + 2 + ), + ( + 1200010, + 1200001, + 'Reed R-ULX Roller Lifter Ford BB Valvetrain', + NULL, + 3 + ), + ( + 1200011, + 1200001, + 'Reed TM Hydraulic Lifter Ford BB Valvetrain', + NULL, + 2 + ), + ( + 1200012, + 1200001, + 'Buick BB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200013, + 1200001, + 'Buick Nailhead Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200014, + 1200001, + 'Cadillac BB Stock Valvetrain', + NULL, + 1 + ), + ( + 1200015, + 1200001, + 'Chrysler BB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200016, + 1200001, + 'Chrysler SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200017, + 1200001, + 'Ford SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200018, + 1200001, + 'Ford Flathead Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200019, + 1200001, + 'Olds BB Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200020, + 1200001, + 'Olds SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200021, + 1200001, + 'AMC Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200022, + 1200001, + 'Buick SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200023, + 1200001, + 'Chevrolet SB Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200024, + 1200001, + 'Chevrolet BB Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200025, + 1200001, + 'Chevrolet BB SS Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200026, + 1200001, + 'Pontiac Ram Air V Solid Lifter Valvetrain', + NULL, + 3 + ), + ( + 1200027, + 1200001, + 'Ford Y Truck Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200028, + 1200001, + 'Ford BB Stock Mechanical Lifter Valvetrain', + NULL, + 1 + ), + ( + 1200029, + 1200001, + 'Ford BB Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200030, + 1200001, + 'Ford BB Cammer Valvetrain', + NULL, + 4 + ), + ( + 1200031, + 1200001, + 'Ford BB SCJ Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200032, + 1200001, + 'Chrysler BB Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200033, + 1200001, + 'Chrysler SB Stock Mechanical Lifter Valvetrain', + NULL, + 1 + ), + ( + 1200034, + 1200001, + 'Chevrolet SB Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200035, + 1200001, + 'Pontiac Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200036, + 1200001, + 'AMC Group 19 Mechanical Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200037, + 1200001, + 'Pontiac SD Mech Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200038, + 1200001, + 'Ford SB HP Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200039, + 1200001, + 'Chrysler Hemi Solid Lifter Valvetrain', + NULL, + 2 + ), + ( + 1200040, + 1200001, + 'Shade Tree Chrysler Hemi Valvetrain', + NULL, + 1 + ), + ( + 1200041, + 1200001, + 'Chrysler Hemi Hydraulic Valvetrain', + NULL, + 2 + ), + ( + 1200042, + 1200001, + 'Cadillac L-Head Valvetrain', + NULL, + 1 + ), + ( + 1200043, + 1200001, + 'Ford Cleveland Block Stock Valvetrain', + NULL, + 1 + ), + ( + 1200044, + 1200001, + 'Ford Cleveland Block Boss Valvetrain', + NULL, + 2 + ), + ( + 1200045, + 1200001, + 'Ford 385 Block Stock Valvetrain', + NULL, + 1 + ), + ( + 1200046, + 1200001, + 'Ford 385 Block SCJ Valvetrain', + NULL, + 2 + ), + ( + 1200047, + 1200001, + 'Ford 385 Block Boss Hydraulic Valvetrain', + NULL, + 2 + ), + ( + 1200048, + 1200001, + 'Ford Y Stock Solid Valvetrain', + NULL, + 1 + ), + ( + 1200049, + 1200001, + 'Chevrolet W Stock Hydraulic Valvetrain', + NULL, + 1 + ), + ( + 1200050, + 1200001, + 'Chevrolet W STT Solid Valvetrain', + NULL, + 2 + ), + ( + 1200051, + 1200001, + 'Buick Nailhead Solid Valvetrain', + NULL, + 2 + ), + ( + 1200052, + 1200001, + 'Buick SB Solid Valvetrain', + NULL, + 2 + ), + ( + 1200053, + 1200001, + 'Buick BB Solid Valvetrain', + NULL, + 2 + ), + ( + 1200054, + 1200001, + 'Cadillac L-Head Super Hydraulic Valvetrain', + NULL, + 2 + ), + ( + 1200055, + 1200001, + 'Ford Flathead Super Hydraulic Valvetrain', + NULL, + 2 + ), + ( + 1200056, + 1200001, + 'Cadillac Solid Valvetrain', + NULL, + 2 + ), + ( + 1200057, + 1200001, + 'Oldsmobile SB Solid Valvetrain', + NULL, + 2 + ), + ( + 1200058, + 1200001, + 'Oldsmobile BB Solid Valvetrain', + NULL, + 2 + ), + ( + 1200059, + 1200001, + 'Edelbrock AMC Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200060, + 1200001, + 'Edelbrock Chevrolet SB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200061, + 1200001, + 'Edelbrock Chevrolet BB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200062, + 1200001, + 'Edelbrock Chrysler SB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200063, + 1200001, + 'Edelbrock Chrysler BB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200064, + 1200001, + 'Edelbrock Ford SB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200065, + 1200001, + 'Edelbrock Ford C Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200066, + 1200001, + 'Edelbrock Ford BB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200067, + 1200001, + 'Edelbrock Ford 385 Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200068, + 1200001, + 'Edelbrock Olds SB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200069, + 1200001, + 'Edelbrock Olds BB Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200070, + 1200001, + 'Edelbrock Pontiac Hydraulic Lifters', + NULL, + 2 + ), + ( + 1200071, + 1200001, + 'Crane PowerMax Roller Ford BB VT', + NULL, + 3 + ), + ( + 1200072, + 1200001, + 'Crane PowerMax AMC VT', + NULL, + 2 + ), + ( + 1200073, + 1200001, + 'Crane PowerMax Roller AMC VT', + NULL, + 3 + ), + ( + 1200074, + 1200001, + 'Crane Energizer Buick SB VT', + NULL, + 2 + ), + ( + 1200075, + 1200001, + 'Crane PowerMax Buick SB VT', + NULL, + 2 + ), + ( + 1200076, + 1200001, + 'Crane Energizer Chevrolet SB VT', + NULL, + 2 + ), + ( + 1200077, + 1200001, + 'Crane PowerMax Chevrolet SB VT', + NULL, + 2 + ), + ( + 1200078, + 1200001, + 'Crane PowerMax Roller Chevrolet SB VT', + NULL, + 3 + ), + ( + 1200079, + 1200001, + 'Crane Energizer Chevrolet BB VT', + NULL, + 2 + ), + ( + 1200080, + 1200001, + 'Crane PowerMax Chevrolet BB VT', + NULL, + 2 + ), + ( + 1200081, + 1200001, + 'Crane PowerMax Roller Chevrolet BB VT', + NULL, + 3 + ), + ( + 1200082, + 1200001, + 'Crane Energizer Chevrolet W VT', + NULL, + 2 + ), + ( + 1200083, + 1200001, + 'Crane PowerMax Chevrolet W VT', + NULL, + 2 + ), + ( + 1200084, + 1200001, + 'Crane PowerMax Roller Chevrolet W VT', + NULL, + 3 + ), + ( + 1200085, + 1200001, + 'Crane Energizer Chrysler SB VT', + NULL, + 2 + ), + ( + 1200086, + 1200001, + 'Crane PowerMax Chrysler SB VT', + NULL, + 2 + ), + ( + 1200087, + 1200001, + 'Crane PowerMax Roller Chrysler SB VT', + NULL, + 3 + ), + ( + 1200088, + 1200001, + 'Crane Energizer Chrysler BB VT', + NULL, + 2 + ), + ( + 1200089, + 1200001, + 'Crane PowerMax Chrysler BB VT', + NULL, + 2 + ), + ( + 1200090, + 1200001, + 'Crane PowerMax Roller Chrysler BB VT', + NULL, + 3 + ), + ( + 1200091, + 1200001, + 'Crane PowerMax Chrysler Hemi VT', + NULL, + 2 + ), + ( + 1200092, + 1200001, + 'Crane PowerMax Roller Chrysler Hemi VT', + NULL, + 3 + ), + ( + 1200093, + 1200001, + 'Crane Energizer Ford SB VT', + NULL, + 2 + ), + ( + 1200094, + 1200001, + 'Crane PowerMax Ford SB VT', + NULL, + 2 + ), + ( + 1200095, + 1200001, + 'Crane PowerMax Roller Ford SB VT', + NULL, + 3 + ), + ( + 1200096, + 1200001, + 'Crane Energizer Ford C VT', + NULL, + 2 + ), + ( + 1200097, + 1200001, + 'Crane PowerMax Ford C VT', + NULL, + 2 + ), + ( + 1200098, + 1200001, + 'Crane PowerMax Roller Ford C VT', + NULL, + 3 + ), + ( + 1200099, + 1200001, + 'Crane Energizer Ford 385 VT', + NULL, + 2 + ), + ( + 1200100, + 1200001, + 'Crane PowerMax Ford 385 VT', + NULL, + 2 + ), + ( + 1200101, + 1200001, + 'Crane PowerMax Roller Ford 385 VT', + NULL, + 3 + ), + ( + 1200102, + 1200001, + 'Crane Energizer Olds SB VT', + NULL, + 2 + ), + ( + 1200103, + 1200001, + 'Crane PowerMax Olds SB VT', + NULL, + 2 + ), + ( + 1200104, + 1200001, + 'Crane PowerMax Roller Olds SB VT', + NULL, + 3 + ), + ( + 1200105, + 1200001, + 'Crane Energizer Pontiac VT', + NULL, + 2 + ), + ( + 1200106, + 1200001, + 'Crane PowerMax Pontiac VT', + NULL, + 2 + ), + ( + 1200107, + 1200001, + 'Crane PowerMax Roller Pontiac VT', + NULL, + 3 + ), + ( + 1200108, + 1200001, + 'Crane Energizer Olds BB VT', + NULL, + 2 + ), + ( + 1200109, + 1200001, + 'Crane PowerMax Olds BB VT', + NULL, + 2 + ), + ( + 1200110, + 1200001, + 'Crane PowerMax Roller Olds BB VT', + NULL, + 3 + ), + ( + 1200111, + 1200001, + 'Oldfield Y Block Street King Solid VT', + NULL, + 2 + ), + ( + 1200112, + 1200001, + 'Oldfield Y Block Strip King Solid VT', + NULL, + 2 + ), + ( + 1200113, + 1200001, + 'Oldfield Y Block Race Pro Roller VT', + NULL, + 2 + ), + ( + 1200114, + 1200001, + 'Quik Lift Y Block Solid VT', + NULL, + 2 + ), + ( + 1200115, + 1200001, + 'Quik Lift Y Block Performance Solid VT', + NULL, + 2 + ), + ( + 1200116, + 1200001, + 'Quik Lift Y Block Race Roller VT', + NULL, + 2 + ), + ( + 1200117, + 1200001, + 'Milloy Y Block Speed Lifter Solid VT', + NULL, + 2 + ), + ( + 1200118, + 1200001, + 'Milloy Y Block Super Lifter Solid VT', + NULL, + 2 + ), + ( + 1200119, + 1200001, + 'Milloy Chevy SB Speed Lifter Solid VT', + NULL, + 2 + ), + ( + 1200120, + 1200001, + 'Milloy Chevy SB Street Plus Hydraulic VT', + NULL, + 1 + ), + ( + 1200121, + 1200001, + 'Milloy Chevy SB Premier Roller VT', + NULL, + 3 + ), + ( + 1200122, + 1200001, + 'Quik Lift Chevy SB Performance Solid VT', + NULL, + 2 + ), + ( + 1200123, + 1200001, + 'Quik Lift Chevy SB Performance Hydraulic VT', + NULL, + 2 + ), + ( + 1200124, + 1200001, + 'Quik Lift Chevy SB Race Roller VT', + NULL, + 2 + ), + ( + 1200125, + 1200001, + 'Milloy Buick Nailhead Super Lift Solid VT', + NULL, + 2 + ), + ( + 1200126, + 1200001, + 'Quik Lift Buick Nailhead Perf. Hydraulic VT', + NULL, + 2 + ), + ( + 1200127, + 1200001, + 'Dunbar Buick Nailhead Craftsmith Roller VT', + NULL, + 2 + ), + ( + 1200128, + 1200001, + 'Quik Lift Buick Nailhead Race Roller VT', + NULL, + 2 + ), + ( + 1200129, + 1200001, + 'Quik Lift Buick Nailhead Solid VT', + NULL, + 2 + ), + ( + 1200130, + 1200001, + 'Milloy Buick Nailhead Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200131, + 1200001, + 'Dunbar Buick Nailhead Craftsmith Hydraulic VT', + NULL, + 1 + ), + ( + 1200132, + 1200001, + 'Dunbar Buick Nailhead Craftsmith Solid VT', + NULL, + 2 + ), + ( + 1200133, + 1200001, + 'Oldfield Ford SB Street King Solid VT', + NULL, + 2 + ), + ( + 1200134, + 1200001, + 'Oldfield Ford SB Strip King Solid VT', + NULL, + 2 + ), + ( + 1200135, + 1200001, + 'Milloy Ford SB Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200136, + 1200001, + 'Millory Ford SB Strip King Solid VT', + NULL, + 2 + ), + ( + 1200137, + 1200001, + 'Quik Lift Ford SB Solid VT', + NULL, + 2 + ), + ( + 1200138, + 1200001, + 'Quik Lift Ford SB Performance Hydraulic VT', + NULL, + 2 + ), + ( + 1200139, + 1200001, + 'Quik Lift Ford SB Race Rolller VT', + NULL, + 2 + ), + ( + 1200140, + 1200001, + 'Milloy Ford SB Super Lift Solid VT', + NULL, + 2 + ), + ( + 1200141, + 1200001, + 'Milloy Chrysler SB Super Lift Solid VT', + NULL, + 2 + ), + ( + 1200142, + 1200001, + 'Milloy Chrysler SB Premier Roller VT', + NULL, + 3 + ), + ( + 1200143, + 1200001, + 'Quik Lift Chrysler SB Race Roller VT', + NULL, + 2 + ), + ( + 1200144, + 1200001, + 'Milloy Pontiac Premier Roller VT', + NULL, + 3 + ), + ( + 1200145, + 1200001, + 'Quik Lift Pontiac Race Roller VT', + NULL, + 3 + ), + ( + 1200146, + 1200001, + 'Milloy Cleveland Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200147, + 1200001, + 'Milloy Cleveland Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200148, + 1200001, + 'Milloy Cleveland Premier Roller VT', + NULL, + 4 + ), + ( + 1200149, + 1200001, + 'Oldfield Cleveland Strip King Roller VT', + NULL, + 3 + ), + ( + 1200150, + 1200001, + 'Oldfield Cleveland Track King Roller VT', + NULL, + 4 + ), + ( + 1200151, + 1200001, + 'Milloy Ford 385 Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200152, + 1200001, + 'Milloy Ford 385 Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200153, + 1200001, + 'Milloy Ford 385 Premier Roller VT', + NULL, + 4 + ), + ( + 1200154, + 1200001, + 'Oldfield Ford 385 Strip King Roller VT', + NULL, + 3 + ), + ( + 1200155, + 1200001, + 'Oldfield Ford 385 Track King Roller VT', + NULL, + 4 + ), + ( + 1200156, + 1200001, + 'Milloy Hemi Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200157, + 1200001, + 'Milloy Hemi Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200158, + 1200001, + 'Milloy Hemi Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200159, + 1200001, + 'Millloy Hemi Premier Roller VT', + NULL, + 4 + ), + ( + 1200160, + 1200001, + 'Quik Lift Hemi Race Roller VT', + NULL, + 3 + ), + ( + 1200161, + 1200001, + 'Millloy Cadillac BB Street Plus Hydraulic VT', + NULL, + 1 + ), + ( + 1200162, + 1200001, + 'Milloy Cadillac BB Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200163, + 1200001, + 'Milloy Cadillac BB Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200164, + 1200001, + 'Milloy Cadillac BB Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200165, + 1200001, + 'Milloy Cadillac BB Premier Roller VT', + NULL, + 4 + ), + ( + 1200166, + 1200001, + 'Quik Lift Cadillac BB Perf. Hydraulic VT', + NULL, + 2 + ), + ( + 1200167, + 1200001, + 'Quik Lift Cadillac BB Perf. Solid VT', + NULL, + 2 + ), + ( + 1200168, + 1200001, + 'Quik Lift Cadillac BB Race Roller VT', + NULL, + 3 + ), + ( + 1200169, + 1200001, + 'Milloy Chevy W Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200170, + 1200001, + 'Milloy Chevy W Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200171, + 1200001, + 'Milloy Chevy W Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200172, + 1200001, + 'Milloy Chevy W Premier Roller VT', + NULL, + 4 + ), + ( + 1200173, + 1200001, + 'Quik Lift Chevy W Perf. Hydraulic VT', + NULL, + 2 + ), + ( + 1200174, + 1200001, + 'Quik Lift Chevy W Perf. Solid VT', + NULL, + 2 + ), + ( + 1200175, + 1200001, + 'Quik Lift Chevy W Race Roller VT', + NULL, + 3 + ), + ( + 1200176, + 1200001, + 'Milloy AMC Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200177, + 1200001, + 'Milloy AMC Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200178, + 1200001, + 'Milloy AMC Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200179, + 1200001, + 'Milloy AMC Premier Roller VT', + NULL, + 4 + ), + ( + 1200180, + 1200001, + 'Quik Lift AMC Perf. Hydraulic VT', + NULL, + 2 + ), + ( + 1200181, + 1200001, + 'Quik Lift AMC Perf. Solid VT', + NULL, + 2 + ), + ( + 1200182, + 1200001, + 'Quik Lift AMC Race Roller VT', + NULL, + 3 + ), + ( + 1200183, + 1200001, + 'Milloy Olds BB Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200184, + 1200001, + 'Milloy Olds BB Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200185, + 1200001, + 'Milloy Olds BB Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200186, + 1200001, + 'Milloy Olds BB Premier Roller VT', + NULL, + 4 + ), + ( + 1200187, + 1200001, + 'Milloy Chrysler BB Speed Lift Hydraulic VT', + NULL, + 2 + ), + ( + 1200188, + 1200001, + 'Milloy Chrysler BB Speed Lift Solid VT', + NULL, + 2 + ), + ( + 1200189, + 1200001, + 'Milloy Chrysler BB Super Lift Solid VT', + NULL, + 3 + ), + ( + 1200190, + 1200001, + 'Milloy Chrysler BB Premier Roller VT', + NULL, + 4 + ), + ( + 1200191, + 1200001, + 'Milloy Chevy BB Premier Roller VT', + NULL, + 4 + ), + ( + 1200192, + 1200001, + 'Quik Lift Chevy BB Race Roller VT', + NULL, + 3 + ), + ( + 1200193, + 1200001, + 'Crane PowerMax Ford Flathead VT', + NULL, + 2 + ); \ No newline at end of file diff --git a/migrations/0021-seedBrandedPart.sql b/migrations/0021-seedBrandedPart.sql new file mode 100644 index 000000000..b327f8974 --- /dev/null +++ b/migrations/0021-seedBrandedPart.sql @@ -0,0 +1,32092 @@ +INSERT INTO + branded_part ( + branded_part_id, + part_type_id, + model_id, + mfg_date, + qty_avail, + retail_price, + max_item_wear, + engine_block_family_id + ) +VALUES + ( + 101, + 101, + 1, + '1932-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 102, + 102, + 7, + '1940-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 103, + 103, + 14, + '1953-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 104, + 104, + 21, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 105, + 105, + 25, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 106, + 106, + 47, + '1957-01-01 00:00:00.000000', + 250, + 0, + 30000, + 0 + ), + ( + 107, + 107, + 32, + '1963-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 108, + 108, + 509, + '1965-01-01 00:00:00.000000', + 250, + 0, + 30000, + 0 + ), + ( + 109, + 109, + 40, + '1964-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 110, + 110, + 974, + '1969-01-01 00:00:00.000000', + 125, + 0, + 30000, + 0 + ), + ( + 111, + 111, + 36, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 112, + 112, + 2, + '1949-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 113, + 113, + 3, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 114, + 114, + 8, + '1957-01-01 00:00:00.000000', + 60, + 0, + 30000, + 0 + ), + ( + 115, + 115, + 16, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 116, + 116, + 48, + '1964-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 117, + 117, + 26, + '1963-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 118, + 118, + 49, + '1958-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 119, + 119, + 33, + '1967-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 120, + 120, + 37, + '1967-01-01 00:00:00.000000', + 250, + 0, + 30000, + 0 + ), + ( + 121, + 121, + 41, + '1970-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 122, + 122, + 45, + '1970-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 123, + 123, + 46, + '1970-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 124, + 124, + 4, + '1947-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 125, + 125, + 9, + '1959-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 126, + 126, + 10, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 127, + 127, + 5, + '1955-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 128, + 128, + 6, + '1966-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 129, + 129, + 12, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 130, + 130, + 20, + '1973-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 131, + 131, + 172, + '1969-01-01 00:00:00.000000', + 250, + 0, + 30000, + 0 + ), + ( + 132, + 132, + 173, + '1969-01-01 00:00:00.000000', + 250, + 0, + 30000, + 0 + ), + ( + 133, + 133, + 174, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 134, + 134, + 175, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 135, + 135, + 176, + '1971-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 153, + 138, + 526, + '1999-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 159, + 104, + 964, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 171, + 142, + 971, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 173, + 146, + 1051, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 174, + 147, + 1052, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 175, + 148, + 1053, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 176, + 149, + 1054, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 177, + 150, + 1055, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 178, + 151, + 1056, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 179, + 152, + 1057, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 180, + 153, + 1058, + '1990-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 184, + 157, + 990, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 190, + 154, + 980, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 208, + 127, + 1202, + '1955-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 236, + 113, + 1203, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 30000, + 0 + ), + ( + 320, + 207, + 2153, + '1966-01-01 00:00:00.000000', + 0, + 0, + 15000, + 0 + ), + ( + 335, + 210, + 2179, + '1970-01-01 00:00:00.000000', + 250, + 0, + 1500, + 0 + ), + ( + 336, + 211, + 2180, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 337, + 212, + 2181, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 338, + 213, + 2182, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 339, + 214, + 2183, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 340, + 215, + 2184, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 341, + 216, + 2185, + '1971-01-01 00:00:00.000000', + 250, + 0, + 1500, + 0 + ), + ( + 342, + 217, + 2186, + '1964-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 343, + 218, + 2187, + '1967-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 344, + 219, + 2188, + '1967-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 345, + 220, + 2189, + '1967-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 346, + 221, + 2190, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 347, + 222, + 2191, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 348, + 223, + 2192, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 349, + 224, + 2193, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 350, + 225, + 2194, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 351, + 226, + 1230, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 352, + 227, + 2196, + '1973-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 353, + 228, + 2197, + '1973-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 354, + 124, + 4, + '1947-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 355, + 112, + 2, + '1949-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 356, + 103, + 14, + '1953-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 357, + 104, + 21, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 358, + 105, + 25, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 359, + 106, + 47, + '1957-01-01 00:00:00.000000', + 250, + 0, + 1500, + 0 + ), + ( + 360, + 113, + 3, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 361, + 115, + 16, + '1957-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 362, + 114, + 8, + '1957-01-01 00:00:00.000000', + 60, + 0, + 1500, + 0 + ), + ( + 363, + 118, + 49, + '1958-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 364, + 117, + 26, + '1963-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 365, + 116, + 48, + '1964-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 366, + 109, + 40, + '1964-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 367, + 108, + 509, + '1964-01-01 00:00:00.000000', + 250, + 0, + 1500, + 0 + ), + ( + 368, + 128, + 6, + '1966-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 369, + 119, + 33, + '1967-01-01 00:00:00.000000', + 1000, + 0, + 1500, + 0 + ), + ( + 370, + 120, + 37, + '1967-01-01 00:00:00.000000', + 250, + 0, + 1500, + 0 + ), + ( + 371, + 126, + 2215, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 372, + 129, + 12, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 373, + 133, + 174, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 374, + 140, + 2217, + '1967-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 375, + 106, + 2367, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 377, + 113, + 2369, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 378, + 127, + 2370, + '1955-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 379, + 103, + 2371, + '1953-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 383, + 129, + 2376, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 384, + 108, + 2377, + '1964-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 385, + 106, + 2378, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 386, + 127, + 2379, + '1955-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 387, + 121, + 2380, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 388, + 109, + 2381, + '1964-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 389, + 132, + 2382, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 390, + 113, + 2383, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 391, + 103, + 2384, + '1953-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 392, + 131, + 2385, + '1969-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 393, + 105, + 2386, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 394, + 120, + 2387, + '1967-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 395, + 112, + 2425, + '1949-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 396, + 113, + 2426, + '1957-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 397, + 128, + 2427, + '1966-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 398, + 125, + 2428, + '1959-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 399, + 117, + 2429, + '1963-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 400, + 108, + 2430, + '1964-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 401, + 134, + 2431, + '1970-01-01 00:00:00.000000', + 0, + 0, + 1500, + 0 + ), + ( + 402, + 127, + 5, + '1955-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 403, + 140, + 2217, + '1967-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 404, + 207, + 2153, + '1966-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 405, + 117, + 26, + '1963-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 406, + 207, + 2153, + '1966-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 407, + 213, + 2182, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 408, + 111, + 36, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 409, + 220, + 2189, + '1967-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 410, + 130, + 20, + '1973-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 411, + 132, + 2872, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 412, + 111, + 36, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 413, + 114, + 8, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 414, + 114, + 2878, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 415, + 114, + 3003, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 416, + 133, + 3004, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 417, + 108, + 3005, + '1964-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 418, + 121, + 3009, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 419, + 112, + 3006, + '1949-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 420, + 103, + 3010, + '1953-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 421, + 118, + 3011, + '1958-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 422, + 113, + 3012, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 423, + 127, + 3013, + '1955-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 424, + 218, + 3014, + '1967-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 425, + 142, + 3015, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 426, + 134, + 3016, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 427, + 124, + 3017, + '1947-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 428, + 114, + 3018, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 429, + 115, + 3603, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 430, + 105, + 3604, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 431, + 128, + 3605, + '1966-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 432, + 101, + 3606, + '1932-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 433, + 102, + 3607, + '1940-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 434, + 104, + 3608, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 435, + 106, + 3609, + '1957-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 436, + 109, + 3610, + '1964-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 437, + 211, + 3611, + '1969-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 438, + 111, + 3612, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 439, + 116, + 3613, + '1964-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 440, + 121, + 3614, + '1970-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 441, + 117, + 3615, + '1963-01-01 00:00:00.000000', + 0, + 0, + 30000, + 0 + ), + ( + 1001, + 1001, + 2027, + '1932-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 2001, + 2001, + 2028, + '1932-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 4001, + 4001, + 2029, + '1999-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 5001, + 5001, + 2030, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 6001, + 6001, + 1742, + '1999-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 10001, + 10001, + 622, + '1960-01-01 00:00:00.000000', + 1000, + 138, + 30000, + 0 + ), + ( + 10002, + 10002, + 623, + '1960-01-01 00:00:00.000000', + 1000, + 232, + 30000, + 0 + ), + ( + 10003, + 10003, + 624, + '1960-01-01 00:00:00.000000', + 500, + 388, + 30000, + 0 + ), + ( + 10004, + 10004, + 1716, + '1960-01-01 00:00:00.000000', + 1000, + 107, + 30000, + 0 + ), + ( + 10005, + 10005, + 1717, + '1960-01-01 00:00:00.000000', + 1000, + 138, + 30000, + 0 + ), + ( + 10006, + 10006, + 625, + '1960-01-01 00:00:00.000000', + 1000, + 169, + 30000, + 0 + ), + ( + 10007, + 10007, + 626, + '1960-01-01 00:00:00.000000', + 1000, + 263, + 30000, + 0 + ), + ( + 10008, + 10008, + 627, + '1960-01-01 00:00:00.000000', + 250, + 419, + 30000, + 0 + ), + ( + 10009, + 10009, + 1718, + '1960-01-01 00:00:00.000000', + 1000, + 85, + 30000, + 0 + ), + ( + 10010, + 10010, + 615, + '1960-01-01 00:00:00.000000', + 1000, + 116, + 30000, + 0 + ), + ( + 10011, + 10011, + 616, + '1960-01-01 00:00:00.000000', + 1000, + 210, + 30000, + 0 + ), + ( + 10012, + 10012, + 617, + '1960-01-01 00:00:00.000000', + 500, + 366, + 30000, + 0 + ), + ( + 10013, + 10013, + 1719, + '1960-01-01 00:00:00.000000', + 1000, + 116, + 30000, + 0 + ), + ( + 10014, + 10014, + 618, + '1960-01-01 00:00:00.000000', + 1000, + 147, + 30000, + 0 + ), + ( + 10015, + 10015, + 619, + '1960-01-01 00:00:00.000000', + 1000, + 241, + 30000, + 0 + ), + ( + 10016, + 10016, + 1720, + '1960-01-01 00:00:00.000000', + 250, + 397, + 30000, + 0 + ), + ( + 10017, + 10017, + 629, + '1960-01-01 00:00:00.000000', + 250, + 329, + 30000, + 0 + ), + ( + 10018, + 10018, + 630, + '1960-01-01 00:00:00.000000', + 125, + 485, + 30000, + 0 + ), + ( + 10019, + 10019, + 621, + '1960-01-01 00:00:00.000000', + 250, + 307, + 30000, + 0 + ), + ( + 10020, + 10020, + 1721, + '1960-01-01 00:00:00.000000', + 125, + 463, + 30000, + 0 + ), + ( + 10021, + 10021, + 633, + '1960-01-01 00:00:00.000000', + 125, + 426, + 30000, + 0 + ), + ( + 10022, + 10022, + 634, + '1960-01-01 00:00:00.000000', + 60, + 583, + 30000, + 0 + ), + ( + 10023, + 10023, + 635, + '1960-01-01 00:00:00.000000', + 0, + 1083, + 30000, + 0 + ), + ( + 10024, + 10024, + 636, + '1960-01-01 00:00:00.000000', + 0, + 1833, + 30000, + 0 + ), + ( + 10025, + 10025, + 632, + '1960-01-01 00:00:00.000000', + 250, + 333, + 30000, + 0 + ), + ( + 10026, + 10026, + 631, + '1960-01-01 00:00:00.000000', + 250, + 301, + 30000, + 0 + ), + ( + 10027, + 10027, + 1722, + '1960-01-01 00:00:00.000000', + 125, + 858, + 30000, + 0 + ), + ( + 10028, + 10028, + 1723, + '1960-01-01 00:00:00.000000', + 60, + 1108, + 30000, + 0 + ), + ( + 10029, + 10029, + 1724, + '1960-01-01 00:00:00.000000', + 0, + 1608, + 30000, + 0 + ), + ( + 10030, + 10030, + 1725, + '1960-01-01 00:00:00.000000', + 0, + 2358, + 30000, + 0 + ), + ( + 10031, + 10031, + 1752, + '1990-01-01 00:00:00.000000', + 60, + 951, + 30000, + 0 + ), + ( + 10032, + 10044, + 2598, + '1990-01-01 00:00:00.000000', + 125, + 826, + 30000, + 0 + ), + ( + 10033, + 10043, + 2597, + '1990-01-01 00:00:00.000000', + 500, + 204, + 30000, + 0 + ), + ( + 10034, + 10042, + 2596, + '1990-01-01 00:00:00.000000', + 125, + 919, + 30000, + 0 + ), + ( + 10035, + 10041, + 2595, + '1990-01-01 00:00:00.000000', + 60, + 897, + 30000, + 0 + ), + ( + 10036, + 10040, + 2594, + '1990-01-01 00:00:00.000000', + 125, + 888, + 30000, + 0 + ), + ( + 10037, + 10039, + 2593, + '1990-01-01 00:00:00.000000', + 125, + 866, + 30000, + 0 + ), + ( + 10038, + 10038, + 2592, + '1990-01-01 00:00:00.000000', + 30, + 1326, + 30000, + 0 + ), + ( + 10039, + 10037, + 2591, + '1990-01-01 00:00:00.000000', + 125, + 704, + 30000, + 0 + ), + ( + 10040, + 10036, + 2590, + '1990-01-01 00:00:00.000000', + 60, + 801, + 30000, + 0 + ), + ( + 10041, + 10035, + 2589, + '1990-01-01 00:00:00.000000', + 250, + 638, + 30000, + 0 + ), + ( + 10042, + 10034, + 2588, + '1990-01-01 00:00:00.000000', + 250, + 616, + 30000, + 0 + ), + ( + 10043, + 10033, + 2587, + '1990-01-01 00:00:00.000000', + 250, + 607, + 30000, + 0 + ), + ( + 10044, + 10032, + 2586, + '1990-01-01 00:00:00.000000', + 125, + 585, + 30000, + 0 + ), + ( + 11001, + 11001, + 606, + '1955-01-01 00:00:00.000000', + 500, + 22, + 30000, + 0 + ), + ( + 11002, + 11002, + 607, + '1955-01-01 00:00:00.000000', + 1000, + 32, + 30000, + 0 + ), + ( + 11003, + 11003, + 608, + '1955-01-01 00:00:00.000000', + 500, + 32, + 30000, + 0 + ), + ( + 11004, + 11004, + 609, + '1955-01-01 00:00:00.000000', + 1000, + 42, + 30000, + 0 + ), + ( + 11005, + 11005, + 610, + '1955-01-01 00:00:00.000000', + 250, + 66, + 30000, + 0 + ), + ( + 11006, + 11006, + 611, + '1955-01-01 00:00:00.000000', + 500, + 72, + 30000, + 0 + ), + ( + 11007, + 11007, + 1740, + '1955-01-01 00:00:00.000000', + 125, + 84, + 30000, + 0 + ), + ( + 11008, + 11008, + 612, + '1955-01-01 00:00:00.000000', + 250, + 122, + 30000, + 0 + ), + ( + 11009, + 11009, + 613, + '1955-01-01 00:00:00.000000', + 125, + 134, + 30000, + 0 + ), + ( + 11010, + 11010, + 614, + '1955-01-01 00:00:00.000000', + 60, + 142, + 30000, + 0 + ), + ( + 11011, + 11011, + 2200, + '1955-01-01 00:00:00.000000', + 250, + 267, + 30000, + 0 + ), + ( + 11012, + 11012, + 2665, + '1995-01-01 00:00:00.000000', + 15, + 76, + 30000, + 0 + ), + ( + 11013, + 11013, + 2666, + '1995-01-01 00:00:00.000000', + 15, + 130, + 30000, + 0 + ), + ( + 12001, + 12001, + 559, + '1930-01-01 00:00:00.000000', + 125, + 58, + 30000, + 0 + ), + ( + 12002, + 12002, + 560, + '1930-01-01 00:00:00.000000', + 250, + 61, + 30000, + 0 + ), + ( + 12003, + 12003, + 561, + '1930-01-01 00:00:00.000000', + 500, + 65, + 30000, + 0 + ), + ( + 12004, + 12004, + 562, + '1930-01-01 00:00:00.000000', + 500, + 70, + 30000, + 0 + ), + ( + 12005, + 12005, + 563, + '1930-01-01 00:00:00.000000', + 500, + 76, + 30000, + 0 + ), + ( + 12006, + 12006, + 564, + '1950-01-01 00:00:00.000000', + 1000, + 153, + 30000, + 0 + ), + ( + 12007, + 12007, + 565, + '1950-01-01 00:00:00.000000', + 1000, + 160, + 30000, + 0 + ), + ( + 12008, + 12008, + 566, + '1950-01-01 00:00:00.000000', + 1000, + 167, + 30000, + 0 + ), + ( + 12009, + 12009, + 567, + '1950-01-01 00:00:00.000000', + 500, + 176, + 30000, + 0 + ), + ( + 12010, + 12010, + 568, + '1950-01-01 00:00:00.000000', + 500, + 185, + 30000, + 0 + ), + ( + 12011, + 12011, + 569, + '1950-01-01 00:00:00.000000', + 250, + 195, + 30000, + 0 + ), + ( + 12012, + 12012, + 570, + '1950-01-01 00:00:00.000000', + 250, + 135, + 30000, + 0 + ), + ( + 12013, + 12013, + 571, + '1950-01-01 00:00:00.000000', + 125, + 147, + 30000, + 0 + ), + ( + 12014, + 12014, + 572, + '1950-01-01 00:00:00.000000', + 125, + 159, + 30000, + 0 + ), + ( + 12015, + 12015, + 573, + '1950-01-01 00:00:00.000000', + 125, + 243, + 30000, + 0 + ), + ( + 12016, + 12016, + 574, + '1950-01-01 00:00:00.000000', + 125, + 257, + 30000, + 0 + ), + ( + 12017, + 12017, + 575, + '1950-01-01 00:00:00.000000', + 125, + 272, + 30000, + 0 + ), + ( + 12018, + 12018, + 576, + '1950-01-01 00:00:00.000000', + 60, + 288, + 30000, + 0 + ), + ( + 12019, + 12019, + 577, + '1950-01-01 00:00:00.000000', + 60, + 305, + 30000, + 0 + ), + ( + 12020, + 12020, + 2201, + '1965-01-01 00:00:00.000000', + 500, + 141, + 30000, + 0 + ), + ( + 12021, + 12021, + 2202, + '1965-01-01 00:00:00.000000', + 500, + 146, + 30000, + 0 + ), + ( + 12022, + 12022, + 2203, + '1965-01-01 00:00:00.000000', + 500, + 105, + 30000, + 0 + ), + ( + 12023, + 12023, + 2204, + '1965-01-01 00:00:00.000000', + 500, + 114, + 30000, + 0 + ), + ( + 12024, + 12024, + 2205, + '1965-01-01 00:00:00.000000', + 500, + 124, + 30000, + 0 + ), + ( + 12025, + 12026, + 2206, + '1965-01-01 00:00:00.000000', + 125, + 230, + 30000, + 0 + ), + ( + 12026, + 12025, + 2207, + '1965-01-01 00:00:00.000000', + 250, + 217, + 30000, + 0 + ), + ( + 12027, + 12031, + 2212, + '1950-01-01 00:00:00.000000', + 1000, + 89, + 30000, + 0 + ), + ( + 12028, + 12033, + 2214, + '1950-01-01 00:00:00.000000', + 1000, + 76, + 30000, + 0 + ), + ( + 12029, + 12032, + 2213, + '1950-01-01 00:00:00.000000', + 1000, + 82, + 30000, + 0 + ), + ( + 12030, + 12030, + 2211, + '1950-01-01 00:00:00.000000', + 1000, + 97, + 30000, + 0 + ), + ( + 12031, + 12029, + 2210, + '1950-01-01 00:00:00.000000', + 250, + 185, + 30000, + 0 + ), + ( + 12032, + 12028, + 2209, + '1950-01-01 00:00:00.000000', + 250, + 195, + 30000, + 0 + ), + ( + 12033, + 12027, + 2208, + '1950-01-01 00:00:00.000000', + 250, + 206, + 30000, + 0 + ), + ( + 12034, + 12034, + 2390, + '1950-01-01 00:00:00.000000', + 125, + 257, + 30000, + 0 + ), + ( + 12035, + 12035, + 2391, + '1950-01-01 00:00:00.000000', + 125, + 272, + 30000, + 0 + ), + ( + 12036, + 12036, + 2392, + '1950-01-01 00:00:00.000000', + 60, + 288, + 30000, + 0 + ), + ( + 12037, + 12037, + 2393, + '1950-01-01 00:00:00.000000', + 60, + 305, + 30000, + 0 + ), + ( + 12038, + 12038, + 2394, + '1950-01-01 00:00:00.000000', + 60, + 323, + 30000, + 0 + ), + ( + 12039, + 12039, + 2395, + '1950-01-01 00:00:00.000000', + 60, + 341, + 30000, + 0 + ), + ( + 12040, + 12040, + 2396, + '1950-01-01 00:00:00.000000', + 60, + 361, + 30000, + 0 + ), + ( + 12041, + 12041, + 2397, + '1950-01-01 00:00:00.000000', + 30, + 381, + 30000, + 0 + ), + ( + 12042, + 12042, + 2398, + '1950-01-01 00:00:00.000000', + 30, + 402, + 30000, + 0 + ), + ( + 12043, + 12043, + 2399, + '1950-01-01 00:00:00.000000', + 30, + 424, + 30000, + 0 + ), + ( + 12044, + 12044, + 2400, + '1950-01-01 00:00:00.000000', + 30, + 448, + 30000, + 0 + ), + ( + 12045, + 12045, + 2401, + '1950-01-01 00:00:00.000000', + 30, + 472, + 30000, + 0 + ), + ( + 12046, + 12046, + 2402, + '1950-01-01 00:00:00.000000', + 30, + 497, + 30000, + 0 + ), + ( + 12047, + 12047, + 2403, + '1950-01-01 00:00:00.000000', + 30, + 523, + 30000, + 0 + ), + ( + 12048, + 12048, + 2404, + '1950-01-01 00:00:00.000000', + 30, + 550, + 30000, + 0 + ), + ( + 12049, + 12049, + 2405, + '1950-01-01 00:00:00.000000', + 30, + 578, + 30000, + 0 + ), + ( + 12050, + 12050, + 2406, + '1950-01-01 00:00:00.000000', + 30, + 608, + 30000, + 0 + ), + ( + 12051, + 12051, + 2407, + '1950-01-01 00:00:00.000000', + 30, + 638, + 30000, + 0 + ), + ( + 12052, + 12052, + 2408, + '1950-01-01 00:00:00.000000', + 30, + 669, + 30000, + 0 + ), + ( + 12053, + 12053, + 2409, + '1950-01-01 00:00:00.000000', + 30, + 701, + 30000, + 0 + ), + ( + 12054, + 12054, + 2410, + '1950-01-01 00:00:00.000000', + 30, + 734, + 30000, + 0 + ), + ( + 12055, + 12055, + 2411, + '1950-01-01 00:00:00.000000', + 30, + 769, + 30000, + 0 + ), + ( + 12056, + 12056, + 2412, + '1950-01-01 00:00:00.000000', + 30, + 804, + 30000, + 0 + ), + ( + 12057, + 12057, + 2413, + '1950-01-01 00:00:00.000000', + 30, + 840, + 30000, + 0 + ), + ( + 12058, + 12058, + 2414, + '1950-01-01 00:00:00.000000', + 0, + 878, + 30000, + 0 + ), + ( + 12059, + 12059, + 2415, + '1950-01-01 00:00:00.000000', + 0, + 916, + 30000, + 0 + ), + ( + 12060, + 12060, + 2416, + '1950-01-01 00:00:00.000000', + 0, + 956, + 30000, + 0 + ), + ( + 12061, + 12061, + 2417, + '1950-01-01 00:00:00.000000', + 0, + 996, + 30000, + 0 + ), + ( + 12062, + 12062, + 2418, + '1950-01-01 00:00:00.000000', + 0, + 1038, + 30000, + 0 + ), + ( + 12063, + 12063, + 2419, + '1950-01-01 00:00:00.000000', + 0, + 1081, + 30000, + 0 + ), + ( + 12064, + 12064, + 2420, + '1950-01-01 00:00:00.000000', + 250, + 206, + 30000, + 0 + ), + ( + 12065, + 12066, + 2673, + '1995-01-01 00:00:00.000000', + 60, + 226, + 30000, + 0 + ), + ( + 12066, + 12065, + 2674, + '1995-01-01 00:00:00.000000', + 125, + 203, + 30000, + 0 + ), + ( + 12067, + 12067, + 2675, + '1995-01-01 00:00:00.000000', + 60, + 239, + 30000, + 0 + ), + ( + 12068, + 12069, + 2676, + '1995-01-01 00:00:00.000000', + 125, + 214, + 30000, + 0 + ), + ( + 12069, + 12068, + 2677, + '1995-01-01 00:00:00.000000', + 60, + 253, + 30000, + 0 + ), + ( + 13001, + 13001, + 578, + '1960-01-01 00:00:00.000000', + 1000, + 312, + 30000, + 0 + ), + ( + 13002, + 13002, + 579, + '1960-01-01 00:00:00.000000', + 1000, + 332, + 30000, + 0 + ), + ( + 13003, + 13003, + 580, + '1960-01-01 00:00:00.000000', + 1000, + 352, + 30000, + 0 + ), + ( + 13004, + 13004, + 581, + '1960-01-01 00:00:00.000000', + 1000, + 372, + 30000, + 0 + ), + ( + 13005, + 13005, + 582, + '1960-01-01 00:00:00.000000', + 500, + 392, + 30000, + 0 + ), + ( + 13006, + 13006, + 583, + '1960-01-01 00:00:00.000000', + 500, + 412, + 30000, + 0 + ), + ( + 13007, + 13007, + 584, + '1960-01-01 00:00:00.000000', + 500, + 432, + 30000, + 0 + ), + ( + 13008, + 13008, + 585, + '1960-01-01 00:00:00.000000', + 500, + 452, + 30000, + 0 + ), + ( + 13009, + 13009, + 586, + '1960-01-01 00:00:00.000000', + 500, + 472, + 30000, + 0 + ), + ( + 13010, + 13010, + 587, + '1960-01-01 00:00:00.000000', + 500, + 492, + 30000, + 0 + ), + ( + 13011, + 13011, + 588, + '1960-01-01 00:00:00.000000', + 500, + 512, + 30000, + 0 + ), + ( + 13012, + 13012, + 589, + '1960-01-01 00:00:00.000000', + 250, + 532, + 30000, + 0 + ), + ( + 13013, + 13013, + 590, + '1960-01-01 00:00:00.000000', + 250, + 607, + 30000, + 0 + ), + ( + 13014, + 13014, + 591, + '1960-01-01 00:00:00.000000', + 250, + 629, + 30000, + 0 + ), + ( + 13015, + 13015, + 592, + '1960-01-01 00:00:00.000000', + 250, + 651, + 30000, + 0 + ), + ( + 13016, + 13016, + 593, + '1960-01-01 00:00:00.000000', + 250, + 673, + 30000, + 0 + ), + ( + 13017, + 13017, + 594, + '1960-01-01 00:00:00.000000', + 250, + 695, + 30000, + 0 + ), + ( + 13018, + 13018, + 595, + '1960-01-01 00:00:00.000000', + 250, + 717, + 30000, + 0 + ), + ( + 13019, + 13019, + 596, + '1960-01-01 00:00:00.000000', + 125, + 739, + 30000, + 0 + ), + ( + 13020, + 13020, + 597, + '1960-01-01 00:00:00.000000', + 125, + 761, + 30000, + 0 + ), + ( + 13021, + 13021, + 598, + '1960-01-01 00:00:00.000000', + 60, + 783, + 30000, + 0 + ), + ( + 13022, + 13022, + 599, + '1960-01-01 00:00:00.000000', + 60, + 878, + 30000, + 0 + ), + ( + 13023, + 13023, + 600, + '1960-01-01 00:00:00.000000', + 60, + 902, + 30000, + 0 + ), + ( + 13024, + 13024, + 601, + '1960-01-01 00:00:00.000000', + 30, + 926, + 30000, + 0 + ), + ( + 13025, + 13025, + 2678, + '1995-01-01 00:00:00.000000', + 60, + 1151, + 30000, + 0 + ), + ( + 14001, + 14001, + 602, + '1960-01-01 00:00:00.000000', + 1000, + 137, + 30000, + 0 + ), + ( + 14002, + 14002, + 603, + '1960-01-01 00:00:00.000000', + 250, + 187, + 30000, + 0 + ), + ( + 14003, + 14003, + 604, + '1960-01-01 00:00:00.000000', + 125, + 637, + 30000, + 0 + ), + ( + 14004, + 14004, + 605, + '1960-01-01 00:00:00.000000', + 0, + 1487, + 30000, + 0 + ), + ( + 14005, + 14005, + 2679, + '1995-01-01 00:00:00.000000', + 60, + 837, + 30000, + 0 + ), + ( + 15001, + 15001, + 2031, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 16001, + 16001, + 195, + '1953-01-01 00:00:00.000000', + 500, + 5, + 30000, + 0 + ), + ( + 17001, + 17001, + 2375, + '1964-01-01 00:00:00.000000', + 1000, + 25, + 30000, + 0 + ), + ( + 18001, + 18001, + 226, + '1999-01-01 00:00:00.000000', + 500, + 48, + 30000, + 0 + ), + ( + 18002, + 18002, + 2157, + '1999-01-01 00:00:00.000000', + 500, + 39, + 30000, + 0 + ), + ( + 18003, + 18003, + 2158, + '1999-01-01 00:00:00.000000', + 500, + 55, + 30000, + 0 + ), + ( + 18004, + 18004, + 2159, + '1999-01-01 00:00:00.000000', + 500, + 65, + 30000, + 0 + ), + ( + 20101, + 20101, + 1, + '1932-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20102, + 20102, + 7, + '1940-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20103, + 20103, + 14, + '1953-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20104, + 20104, + 21, + '1957-01-01 00:00:00.000000', + 1000, + 1002, + 30000, + 0 + ), + ( + 20105, + 20105, + 25, + '1957-01-01 00:00:00.000000', + 1000, + 1002, + 30000, + 0 + ), + ( + 20106, + 20106, + 47, + '1957-01-01 00:00:00.000000', + 250, + 1255, + 30000, + 0 + ), + ( + 20107, + 20107, + 32, + '1963-01-01 00:00:00.000000', + 250, + 3950, + 30000, + 0 + ), + ( + 20108, + 20108, + 509, + '1964-01-01 00:00:00.000000', + 250, + 6363, + 30000, + 0 + ), + ( + 20109, + 20109, + 40, + '1964-01-01 00:00:00.000000', + 1000, + 3885, + 30000, + 0 + ), + ( + 20110, + 20110, + 974, + '1969-01-01 00:00:00.000000', + 125, + 3871, + 30000, + 0 + ), + ( + 20111, + 20111, + 36, + '1970-01-01 00:00:00.000000', + 60, + 11238, + 30000, + 0 + ), + ( + 20112, + 20112, + 2, + '1949-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20113, + 20113, + 3, + '1957-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20114, + 20114, + 8, + '1957-01-01 00:00:00.000000', + 60, + 11817, + 30000, + 0 + ), + ( + 20115, + 20115, + 16, + '1957-01-01 00:00:00.000000', + 1000, + 1012, + 30000, + 0 + ), + ( + 20116, + 20116, + 48, + '1964-01-01 00:00:00.000000', + 1000, + 4242, + 30000, + 0 + ), + ( + 20117, + 20117, + 26, + '1963-01-01 00:00:00.000000', + 0, + 23463, + 30000, + 0 + ), + ( + 20118, + 20118, + 49, + '1958-01-01 00:00:00.000000', + 1000, + 2724, + 30000, + 0 + ), + ( + 20119, + 20119, + 33, + '1967-01-01 00:00:00.000000', + 1000, + 5584, + 30000, + 0 + ), + ( + 20120, + 20120, + 37, + '1967-01-01 00:00:00.000000', + 250, + 10886, + 30000, + 0 + ), + ( + 20121, + 20121, + 41, + '1970-01-01 00:00:00.000000', + 1000, + 7196, + 30000, + 0 + ), + ( + 20122, + 20122, + 45, + '1970-01-01 00:00:00.000000', + 1000, + 9158, + 30000, + 0 + ), + ( + 20123, + 20123, + 46, + '1970-01-01 00:00:00.000000', + 1000, + 5182, + 30000, + 0 + ), + ( + 20124, + 20124, + 4, + '1947-01-01 00:00:00.000000', + 1000, + 3760, + 30000, + 0 + ), + ( + 20125, + 20125, + 9, + '1959-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20126, + 20126, + 10, + '1969-01-01 00:00:00.000000', + 125, + 5109, + 30000, + 0 + ), + ( + 20127, + 20127, + 5, + '1955-01-01 00:00:00.000000', + 1000, + 1000, + 30000, + 0 + ), + ( + 20128, + 20128, + 6, + '1966-01-01 00:00:00.000000', + 250, + 7022, + 30000, + 0 + ), + ( + 20129, + 20129, + 12, + '1969-01-01 00:00:00.000000', + 250, + 6454, + 30000, + 0 + ), + ( + 20130, + 20130, + 20, + '1973-01-01 00:00:00.000000', + 60, + 14915, + 30000, + 0 + ), + ( + 20131, + 20131, + 172, + '1969-01-01 00:00:00.000000', + 1000, + 5549, + 30000, + 0 + ), + ( + 20132, + 20132, + 173, + '1969-01-01 00:00:00.000000', + 250, + 6534, + 30000, + 0 + ), + ( + 20133, + 20133, + 174, + '1969-01-01 00:00:00.000000', + 250, + 5289, + 30000, + 0 + ), + ( + 20134, + 20134, + 175, + '1970-01-01 00:00:00.000000', + 125, + 9275, + 30000, + 0 + ), + ( + 20135, + 20135, + 176, + '1971-01-01 00:00:00.000000', + 250, + 5084, + 30000, + 0 + ), + ( + 20138, + 20138, + 526, + '1999-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20140, + 20140, + 2217, + '1967-01-01 00:00:00.000000', + 250, + 11458, + 30000, + 0 + ), + ( + 20146, + 20146, + 1051, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20147, + 20147, + 1052, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20148, + 20148, + 1053, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20149, + 20149, + 1054, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20150, + 20150, + 1055, + '1990-01-01 00:00:00.000000', + 0, + 3891, + 30000, + 0 + ), + ( + 20151, + 20151, + 1056, + '1990-01-01 00:00:00.000000', + 0, + 3891, + 30000, + 0 + ), + ( + 20152, + 20152, + 1057, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20153, + 20153, + 1058, + '1990-01-01 00:00:00.000000', + 0, + 1000, + 30000, + 0 + ), + ( + 20157, + 20157, + 990, + '1969-01-01 00:00:00.000000', + 25, + 5089, + 30000, + 0 + ), + ( + 20207, + 20207, + 2153, + '1966-01-01 00:00:00.000000', + 0, + 49296, + 15000, + 0 + ), + ( + 20210, + 20210, + 2179, + '1970-01-01 00:00:00.000000', + 250, + 7101, + 1500, + 0 + ), + ( + 20211, + 20211, + 2180, + '1969-01-01 00:00:00.000000', + 125, + 3871, + 1500, + 0 + ), + ( + 20212, + 20212, + 2181, + '1970-01-01 00:00:00.000000', + 250, + 8467, + 1500, + 0 + ), + ( + 20213, + 20213, + 2182, + '1970-01-01 00:00:00.000000', + 125, + 9275, + 1500, + 0 + ), + ( + 20214, + 20214, + 2183, + '1970-01-01 00:00:00.000000', + 125, + 9275, + 1500, + 0 + ), + ( + 20215, + 20215, + 2184, + '1970-01-01 00:00:00.000000', + 125, + 9275, + 1500, + 0 + ), + ( + 20216, + 20216, + 2185, + '1971-01-01 00:00:00.000000', + 125, + 5084, + 1500, + 0 + ), + ( + 20217, + 20217, + 2186, + '1964-01-01 00:00:00.000000', + 250, + 4242, + 1500, + 0 + ), + ( + 20218, + 20218, + 2187, + '1967-01-01 00:00:00.000000', + 250, + 5584, + 1500, + 0 + ), + ( + 20219, + 20219, + 2188, + '1967-01-01 00:00:00.000000', + 125, + 11619, + 1500, + 0 + ), + ( + 20220, + 20220, + 2189, + '1967-01-01 00:00:00.000000', + 60, + 11458, + 1500, + 0 + ), + ( + 20221, + 20221, + 2190, + '1970-01-01 00:00:00.000000', + 250, + 7196, + 1500, + 0 + ), + ( + 20222, + 20222, + 2191, + '1970-01-01 00:00:00.000000', + 1000, + 5497, + 1500, + 0 + ), + ( + 20223, + 20223, + 2192, + '1970-01-01 00:00:00.000000', + 250, + 5162, + 1500, + 0 + ), + ( + 20224, + 20224, + 2193, + '1969-01-01 00:00:00.000000', + 125, + 5086, + 1500, + 0 + ), + ( + 20225, + 20225, + 2194, + '1969-01-01 00:00:00.000000', + 125, + 5086, + 1500, + 0 + ), + ( + 20226, + 20226, + 1230, + '1969-01-01 00:00:00.000000', + 125, + 5998, + 1500, + 0 + ), + ( + 20227, + 20227, + 2196, + '1973-01-01 00:00:00.000000', + 60, + 19009, + 1500, + 0 + ), + ( + 20228, + 20228, + 2197, + '1973-01-01 00:00:00.000000', + 60, + 14624, + 1500, + 0 + ), + ( + 21001, + 21008, + 198, + '1953-01-01 00:00:00.000000', + 500, + 95, + 30000, + 0 + ), + ( + 21002, + 21012, + 221, + '1937-01-01 00:00:00.000000', + 500, + 85, + 30000, + 0 + ), + ( + 21003, + 21013, + 222, + '1939-01-01 00:00:00.000000', + 500, + 85, + 30000, + 0 + ), + ( + 21004, + 21014, + 220, + '1940-01-01 00:00:00.000000', + 500, + 90, + 30000, + 0 + ), + ( + 21005, + 21015, + 223, + '1941-01-01 00:00:00.000000', + 500, + 90, + 30000, + 0 + ), + ( + 21006, + 21001, + 202, + '1947-01-01 00:00:00.000000', + 500, + 110, + 30000, + 0 + ), + ( + 21007, + 21002, + 203, + '1949-01-01 00:00:00.000000', + 500, + 115, + 30000, + 0 + ), + ( + 21008, + 21004, + 205, + '1953-01-01 00:00:00.000000', + 500, + 100, + 30000, + 0 + ), + ( + 21009, + 21009, + 199, + '1955-01-01 00:00:00.000000', + 500, + 100, + 30000, + 0 + ), + ( + 21010, + 21010, + 200, + '1956-01-01 00:00:00.000000', + 500, + 95, + 30000, + 0 + ), + ( + 21011, + 21011, + 201, + '1957-01-01 00:00:00.000000', + 500, + 95, + 30000, + 0 + ), + ( + 21012, + 21005, + 206, + '1967-01-01 00:00:00.000000', + 500, + 125, + 30000, + 0 + ), + ( + 21013, + 21006, + 207, + '1969-01-01 00:00:00.000000', + 500, + 120, + 30000, + 0 + ), + ( + 21014, + 21007, + 208, + '1970-01-01 00:00:00.000000', + 500, + 125, + 30000, + 0 + ), + ( + 21015, + 21003, + 204, + '1973-01-01 00:00:00.000000', + 500, + 130, + 30000, + 0 + ), + ( + 21016, + 21016, + 246, + '1949-01-01 00:00:00.000000', + 500, + 110, + 30000, + 0 + ), + ( + 22001, + 22002, + 657, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22002, + 22003, + 658, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22003, + 22004, + 659, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22004, + 22005, + 660, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22005, + 22006, + 661, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22006, + 22007, + 662, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22007, + 22008, + 663, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22008, + 22009, + 664, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22009, + 22010, + 665, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22010, + 22011, + 666, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22011, + 22012, + 667, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22012, + 22013, + 668, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22013, + 22014, + 669, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22014, + 22015, + 670, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22015, + 22016, + 671, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22016, + 22017, + 672, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22017, + 22018, + 673, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22018, + 22019, + 674, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22019, + 22020, + 2114, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22020, + 22023, + 2151, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22021, + 22022, + 2150, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22022, + 22021, + 2149, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 22023, + 22024, + 2160, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 23001, + 23001, + 228, + '2027-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23002, + 23002, + 229, + '1931-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23003, + 23003, + 830, + '1932-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23004, + 23004, + 230, + '1932-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23005, + 23005, + 231, + '1934-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23006, + 23006, + 232, + '1937-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23007, + 23007, + 233, + '1937-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23008, + 23008, + 234, + '1939-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23009, + 23009, + 834, + '1940-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23010, + 23010, + 235, + '1941-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23011, + 23011, + 236, + '1947-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23012, + 23010, + 237, + '1948-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 23013, + 23012, + 237, + '1948-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 25001, + 25001, + 99, + '1967-01-01 00:00:00.000000', + 1000, + 359, + 30000, + 0 + ), + ( + 25002, + 25002, + 100, + '1967-01-01 00:00:00.000000', + 500, + 458, + 30000, + 0 + ), + ( + 25003, + 25003, + 101, + '1967-01-01 00:00:00.000000', + 250, + 556, + 30000, + 0 + ), + ( + 25004, + 25004, + 1549, + '1967-01-01 00:00:00.000000', + 125, + 655, + 30000, + 0 + ), + ( + 25005, + 25005, + 1578, + '1967-01-01 00:00:00.000000', + 0, + 754, + 30000, + 0 + ), + ( + 25006, + 25006, + 2041, + '1968-01-01 00:00:00.000000', + 500, + 470, + 30000, + 0 + ), + ( + 25007, + 25007, + 2067, + '1967-01-01 00:00:00.000000', + 500, + 470, + 30000, + 0 + ), + ( + 25008, + 25008, + 2352, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25009, + 25009, + 2353, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25010, + 25010, + 2354, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25011, + 25011, + 2355, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25012, + 25012, + 2356, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25013, + 25013, + 2357, + '2001-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 25014, + 25014, + 2358, + '2001-01-01 00:00:00.000000', + 250, + 288, + 30000, + 0 + ), + ( + 25015, + 25015, + 2359, + '2001-01-01 00:00:00.000000', + 250, + 288, + 30000, + 0 + ), + ( + 25016, + 25016, + 2360, + '2001-01-01 00:00:00.000000', + 250, + 288, + 30000, + 0 + ), + ( + 25017, + 25017, + 2361, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 25018, + 25018, + 2362, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 25019, + 25019, + 2363, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 25020, + 25020, + 2364, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 25021, + 25021, + 2365, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 25022, + 25022, + 2366, + '2001-01-01 00:00:00.000000', + 250, + 318, + 30000, + 0 + ), + ( + 26001, + 26001, + 244, + '1966-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 27003, + 27001, + 238, + '2027-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 28001, + 28001, + 272, + '1940-01-01 00:00:00.000000', + 500, + 15, + 30000, + 0 + ), + ( + 28002, + 28002, + 273, + '1947-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 28003, + 28003, + 274, + '1955-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 28004, + 28004, + 275, + '1957-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 28005, + 28005, + 276, + '1957-01-01 00:00:00.000000', + 500, + 10, + 30000, + 0 + ), + ( + 29001, + 29001, + 637, + '1975-01-01 00:00:00.000000', + 1000, + 387, + 30000, + 0 + ), + ( + 29002, + 29002, + 638, + '1975-01-01 00:00:00.000000', + 500, + 498, + 30000, + 0 + ), + ( + 29003, + 29003, + 639, + '1975-01-01 00:00:00.000000', + 500, + 682, + 30000, + 0 + ), + ( + 29004, + 29004, + 640, + '1975-01-01 00:00:00.000000', + 250, + 940, + 30000, + 0 + ), + ( + 29005, + 29005, + 641, + '1975-01-01 00:00:00.000000', + 125, + 1272, + 30000, + 0 + ), + ( + 29006, + 29006, + 642, + '1975-01-01 00:00:00.000000', + 60, + 1678, + 30000, + 0 + ), + ( + 29007, + 29007, + 643, + '1975-01-01 00:00:00.000000', + 60, + 2157, + 30000, + 0 + ), + ( + 29008, + 29008, + 644, + '1975-01-01 00:00:00.000000', + 30, + 2710, + 30000, + 0 + ), + ( + 29009, + 29009, + 645, + '1975-01-01 00:00:00.000000', + 30, + 3337, + 30000, + 0 + ), + ( + 29010, + 29010, + 646, + '1975-01-01 00:00:00.000000', + 0, + 4038, + 30000, + 0 + ), + ( + 30001, + 30001, + 647, + '1975-01-01 00:00:00.000000', + 1000, + 387, + 30000, + 0 + ), + ( + 30002, + 30002, + 648, + '1975-01-01 00:00:00.000000', + 500, + 498, + 30000, + 0 + ), + ( + 30003, + 30003, + 649, + '1975-01-01 00:00:00.000000', + 250, + 682, + 30000, + 0 + ), + ( + 30004, + 30004, + 650, + '1975-01-01 00:00:00.000000', + 250, + 940, + 30000, + 0 + ), + ( + 30005, + 30005, + 641, + '1975-01-01 00:00:00.000000', + 125, + 1272, + 30000, + 0 + ), + ( + 30006, + 30006, + 652, + '1975-01-01 00:00:00.000000', + 60, + 1678, + 30000, + 0 + ), + ( + 30007, + 30007, + 643, + '1975-01-01 00:00:00.000000', + 60, + 2157, + 30000, + 0 + ), + ( + 30008, + 30008, + 654, + '1975-01-01 00:00:00.000000', + 30, + 2710, + 30000, + 0 + ), + ( + 30009, + 30009, + 645, + '1975-01-01 00:00:00.000000', + 30, + 3337, + 30000, + 0 + ), + ( + 30010, + 30010, + 656, + '1975-01-01 00:00:00.000000', + 0, + 4038, + 30000, + 0 + ), + ( + 31150, + 31169, + 2164, + '2001-02-05 00:00:00.000000', + 1000, + 50, + 30000, + 0 + ), + ( + 31151, + 31167, + 2162, + '2001-02-05 00:00:00.000000', + 1000, + 50, + 30000, + 0 + ), + ( + 31152, + 31168, + 2163, + '2001-02-05 00:00:00.000000', + 1000, + 50, + 30000, + 0 + ), + ( + 31153, + 31166, + 2161, + '2001-02-05 00:00:00.000000', + 1000, + 50, + 30000, + 0 + ), + ( + 32001, + 32001, + 407, + '1960-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 33001, + 33001, + 192, + '1999-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 34001, + 34001, + 828, + '1932-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 34002, + 34001, + 829, + '1932-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 35001, + 35001, + 831, + '1932-01-01 00:00:00.000000', + 500, + 100, + 30000, + 0 + ), + ( + 35002, + 35002, + 443, + '1940-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 35003, + 35003, + 2156, + '1965-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 36001, + 36002, + 2032, + '2000-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 36002, + 36002, + 953, + '1932-01-01 00:00:00.000000', + 500, + 0, + 30000, + 10 + ), + ( + 36003, + 36002, + 954, + '1932-01-01 00:00:00.000000', + 500, + 0, + 30000, + 10 + ), + ( + 36004, + 36002, + 955, + '1940-01-01 00:00:00.000000', + 500, + 0, + 30000, + 10 + ), + ( + 36005, + 36002, + 956, + '1940-01-01 00:00:00.000000', + 500, + 0, + 30000, + 10 + ), + ( + 36006, + 36002, + 957, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36007, + 36002, + 958, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36008, + 36002, + 959, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36009, + 36002, + 960, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36010, + 36002, + 961, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36011, + 36002, + 1014, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36012, + 36002, + 1015, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36013, + 36002, + 1016, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 9 + ), + ( + 36014, + 36002, + 1017, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 2 + ), + ( + 36015, + 36002, + 1018, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36016, + 36175, + 1019, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 18 + ), + ( + 36017, + 36002, + 1021, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 2 + ), + ( + 36018, + 36002, + 1020, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 2 + ), + ( + 36019, + 36002, + 1113, + '1949-01-01 00:00:00.000000', + 500, + 0, + 30000, + 20 + ), + ( + 36020, + 36002, + 1114, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 21 + ), + ( + 36021, + 36002, + 1115, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36022, + 36002, + 1116, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 9 + ), + ( + 36023, + 36002, + 1117, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36024, + 36002, + 1118, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36025, + 36002, + 1119, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36026, + 36002, + 1120, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36027, + 36002, + 1121, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36028, + 36002, + 1122, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36029, + 36002, + 1123, + '1973-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36030, + 36003, + 1472, + '1956-01-01 00:00:00.000000', + 500, + 0, + 30000, + 21 + ), + ( + 36031, + 36004, + 1474, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36032, + 36005, + 1475, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36033, + 36006, + 1476, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36034, + 36007, + 1477, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36035, + 36008, + 1478, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36036, + 36009, + 1479, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36037, + 36010, + 1480, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36038, + 36011, + 1481, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36039, + 36012, + 1482, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36040, + 36013, + 1483, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36041, + 36014, + 1484, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36042, + 36015, + 1485, + '1956-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36043, + 36016, + 1486, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36044, + 36017, + 1487, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36045, + 36018, + 1488, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36046, + 36019, + 1489, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36047, + 36020, + 1490, + '1964-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36048, + 36021, + 1491, + '1964-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36049, + 36022, + 1492, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36050, + 36023, + 1493, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36051, + 36024, + 1494, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36052, + 36025, + 1495, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36053, + 36026, + 1496, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36054, + 36027, + 1497, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36055, + 36028, + 1498, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36056, + 36029, + 1500, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36057, + 36030, + 1501, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36058, + 36031, + 1502, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36059, + 36032, + 1503, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36060, + 36033, + 1504, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36061, + 36034, + 1505, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36062, + 36035, + 1506, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36063, + 36036, + 1507, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36064, + 36037, + 1508, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36065, + 36038, + 1509, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36066, + 36039, + 1510, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36067, + 36040, + 1511, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36068, + 36041, + 1512, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36069, + 36042, + 1513, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36070, + 36044, + 1515, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36071, + 36045, + 1518, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36072, + 36046, + 1519, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36073, + 36047, + 1520, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36074, + 36048, + 1522, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36075, + 36049, + 1523, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36076, + 36050, + 1524, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36077, + 36051, + 1525, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36078, + 36052, + 1526, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36079, + 36053, + 1527, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36080, + 36054, + 1528, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36081, + 36055, + 1529, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36082, + 36056, + 1531, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36083, + 36057, + 1532, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36084, + 36058, + 1533, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36085, + 36061, + 1534, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36086, + 36059, + 1535, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36087, + 36060, + 1536, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36088, + 36062, + 1537, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36089, + 36063, + 1539, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36090, + 36064, + 1540, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36091, + 36065, + 1541, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36092, + 36066, + 1542, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36093, + 36067, + 1543, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36094, + 36068, + 1545, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36095, + 36069, + 1546, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36096, + 36070, + 1547, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36097, + 36071, + 1548, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 12 + ), + ( + 36098, + 36072, + 1550, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36099, + 36073, + 1551, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36100, + 36074, + 1552, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36101, + 36075, + 1553, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36102, + 36076, + 1554, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36103, + 36077, + 1555, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36104, + 36078, + 1556, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36105, + 36079, + 1557, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36106, + 36080, + 1558, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36107, + 36081, + 1562, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36108, + 36082, + 1563, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36109, + 36083, + 1564, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36110, + 36084, + 1566, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36111, + 36085, + 1567, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36112, + 36086, + 1568, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36113, + 36087, + 1569, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36114, + 36088, + 1570, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36115, + 36089, + 1571, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36116, + 36090, + 1572, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36117, + 36091, + 1575, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36118, + 36092, + 1576, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36119, + 36093, + 1577, + '1967-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36120, + 36094, + 1579, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36121, + 36095, + 1581, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36122, + 36096, + 1583, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36123, + 36097, + 1584, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36124, + 36098, + 1585, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36125, + 36099, + 1586, + '1973-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36126, + 36100, + 1587, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36127, + 36101, + 1588, + '1955-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36128, + 36102, + 1589, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36129, + 36103, + 1590, + '1956-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36130, + 36104, + 1592, + '1956-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36131, + 36105, + 1593, + '1957-01-01 00:00:00.000000', + 500, + 0, + 30000, + 15 + ), + ( + 36132, + 36106, + 1594, + '1958-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36133, + 36107, + 1595, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36134, + 36108, + 1596, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36135, + 36109, + 1597, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36136, + 36110, + 1598, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36137, + 36111, + 1599, + '1961-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36138, + 36112, + 1601, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36139, + 36113, + 1602, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36140, + 36114, + 1603, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36141, + 36115, + 1604, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36142, + 36116, + 1605, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36143, + 36117, + 1606, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36144, + 36118, + 1607, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36145, + 36119, + 1608, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36146, + 36120, + 1610, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36147, + 36121, + 1611, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36148, + 36122, + 1612, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36149, + 36123, + 1614, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36150, + 36124, + 1616, + '1966-01-01 00:00:00.000000', + 500, + 0, + 32000, + 3 + ), + ( + 36151, + 36125, + 1617, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36152, + 36126, + 1618, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36153, + 36127, + 1619, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36154, + 36128, + 1620, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36155, + 36129, + 1621, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36156, + 36130, + 1622, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36157, + 36131, + 1625, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36158, + 36132, + 1626, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36159, + 36133, + 1627, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36160, + 36134, + 1628, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36161, + 36135, + 1630, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36162, + 36136, + 1631, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36163, + 36137, + 1632, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 4 + ), + ( + 36164, + 36138, + 1633, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36165, + 36139, + 1634, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36166, + 36140, + 1635, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36167, + 36141, + 1636, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36168, + 36142, + 1637, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36169, + 36143, + 1638, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36170, + 36144, + 1639, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36171, + 36145, + 1640, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 16 + ), + ( + 36172, + 36146, + 1641, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36173, + 36147, + 1642, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36174, + 36148, + 1643, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36175, + 36149, + 1644, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36176, + 36150, + 1645, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36177, + 36151, + 1646, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36178, + 36152, + 1648, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36179, + 36153, + 1649, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36180, + 36154, + 1650, + '1973-01-01 00:00:00.000000', + 500, + 0, + 30000, + 17 + ), + ( + 36181, + 36155, + 1651, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36182, + 36156, + 1652, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36183, + 36157, + 1653, + '1965-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36184, + 36158, + 1654, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36185, + 36159, + 1656, + '1971-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36186, + 36160, + 1657, + '1972-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36187, + 36161, + 1658, + '1974-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36188, + 36162, + 1660, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36189, + 36163, + 1661, + '1959-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36190, + 36164, + 1662, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36191, + 36165, + 1663, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36192, + 36166, + 1664, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36193, + 36167, + 1665, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36194, + 36168, + 1666, + '1962-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36195, + 36169, + 1667, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36196, + 36170, + 1668, + '1964-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36197, + 36171, + 1669, + '1964-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36198, + 36172, + 1672, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36199, + 36173, + 1673, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36200, + 36174, + 1674, + '1964-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36201, + 36176, + 1676, + '1966-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36202, + 36177, + 1677, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 1 + ), + ( + 36203, + 36178, + 1679, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36204, + 36179, + 1680, + '1968-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36205, + 36180, + 1681, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36206, + 36181, + 1682, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 14 + ), + ( + 36207, + 36002, + 2032, + '2000-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 36208, + 36182, + 2046, + '1956-01-01 00:00:00.000000', + 500, + 0, + 30000, + 6 + ), + ( + 36209, + 36183, + 1514, + '1963-01-01 00:00:00.000000', + 500, + 0, + 30000, + 19 + ), + ( + 36210, + 36184, + 2061, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36211, + 36185, + 2062, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 5 + ), + ( + 36212, + 36186, + 2082, + '1969-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36213, + 36187, + 2083, + '1970-01-01 00:00:00.000000', + 500, + 0, + 30000, + 13 + ), + ( + 36214, + 36188, + 2089, + '1960-01-01 00:00:00.000000', + 500, + 0, + 30000, + 3 + ), + ( + 36215, + 36189, + 2454, + '1960-01-01 00:00:00.000000', + 0, + 0, + 30000, + 6 + ), + ( + 37001, + 37001, + 1565, + '1999-01-01 00:00:00.000000', + 500, + 0, + 30000, + 0 + ), + ( + 39001, + 39001, + 525, + '1999-01-01 00:00:00.000000', + 500, + 500, + 30000, + 0 + ), + ( + 40001, + 40001, + 527, + '1999-01-01 00:00:00.000000', + 500, + 39, + 30000, + 0 + ), + ( + 40002, + 40002, + 827, + '1932-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40003, + 40003, + 833, + '1940-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40004, + 40004, + 836, + '1949-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40005, + 40005, + 838, + '1953-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40006, + 40006, + 840, + '1957-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40007, + 40007, + 842, + '1957-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40008, + 40008, + 844, + '1957-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40009, + 40009, + 846, + '1963-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40010, + 40010, + 850, + '1964-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40011, + 40011, + 848, + '1964-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40012, + 40012, + 852, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40013, + 40013, + 854, + '1970-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40014, + 40014, + 536, + '1947-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40015, + 40015, + 537, + '1955-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40016, + 40016, + 538, + '1957-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40017, + 40017, + 539, + '1957-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40018, + 40018, + 540, + '1957-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40019, + 40019, + 541, + '1958-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40020, + 40020, + 542, + '1959-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40021, + 40021, + 543, + '1963-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40022, + 40022, + 544, + '1964-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40023, + 40023, + 545, + '1966-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40024, + 40024, + 546, + '1967-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40025, + 40025, + 547, + '1967-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40026, + 40026, + 548, + '1969-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40027, + 40027, + 549, + '1969-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40028, + 40028, + 550, + '1970-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40029, + 40029, + 551, + '1970-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40030, + 40030, + 552, + '1970-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40031, + 40031, + 553, + '1973-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40032, + 40032, + 554, + '1969-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40033, + 40033, + 555, + '1969-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40034, + 40034, + 556, + '1969-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40035, + 40035, + 557, + '1970-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40036, + 40036, + 558, + '1971-01-01 00:00:00.000000', + 500, + 30, + 30000, + 0 + ), + ( + 40037, + 40037, + 253, + '1963-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40038, + 40038, + 263, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40039, + 40039, + 265, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40040, + 40040, + 264, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40041, + 40041, + 257, + '1967-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40042, + 40042, + 256, + '1967-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40043, + 40043, + 251, + '1957-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40044, + 40044, + 254, + '1964-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40045, + 40045, + 252, + '1963-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40046, + 40046, + 262, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40047, + 40047, + 271, + '1973-01-01 00:00:00.000000', + 50, + 30, + 30000, + 0 + ), + ( + 40048, + 40048, + 255, + '1966-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40049, + 40049, + 260, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40050, + 40050, + 259, + '1969-01-01 00:00:00.000000', + 50, + 30, + 30000, + 0 + ), + ( + 40051, + 40051, + 258, + '1969-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40052, + 40052, + 261, + '1970-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40053, + 40053, + 266, + '1970-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40054, + 40054, + 267, + '1970-01-01 00:00:00.000000', + 100, + 40, + 30000, + 0 + ), + ( + 40055, + 40055, + 270, + '1973-01-01 00:00:00.000000', + 50, + 30, + 30000, + 0 + ), + ( + 40056, + 40056, + 269, + '1970-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40057, + 40057, + 408, + '1958-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40058, + 40058, + 268, + '1970-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40059, + 40059, + 1185, + '1957-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 40060, + 40060, + 2154, + '1965-01-01 00:00:00.000000', + 50, + 50, + 30000, + 0 + ), + ( + 40061, + 40061, + 2216, + '1950-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 40062, + 40062, + 2876, + '1970-01-01 00:00:00.000000', + 100, + 30, + 30000, + 0 + ), + ( + 100001, + 100001, + 190, + '1999-01-01 00:00:00.000000', + 1000, + 30, + 30000, + 0 + ), + ( + 100002, + 100002, + 857, + '1932-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100003, + 100003, + 856, + '1967-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100004, + 100004, + 456, + '1999-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100005, + 100005, + 457, + '1999-01-01 00:00:00.000000', + 100, + 2504, + 30000, + 0 + ), + ( + 100006, + 100006, + 2219, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100007, + 100066, + 2279, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100008, + 100067, + 2280, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100009, + 100068, + 2281, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100010, + 100069, + 2282, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100011, + 100070, + 2283, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100012, + 100071, + 2284, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100013, + 100072, + 2285, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100014, + 100073, + 2286, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100015, + 100074, + 2287, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100016, + 100075, + 2288, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100017, + 100076, + 2289, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100018, + 100077, + 2290, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100019, + 100078, + 2291, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100020, + 100079, + 2292, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100021, + 100080, + 2293, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100022, + 100081, + 2294, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100023, + 100082, + 2295, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100024, + 100083, + 2296, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100025, + 100084, + 2297, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100026, + 100085, + 2298, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100027, + 100086, + 2299, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100028, + 100087, + 2300, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100029, + 100088, + 2301, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100030, + 100089, + 2302, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100031, + 100090, + 2303, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100032, + 100091, + 2304, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100033, + 100092, + 2305, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100034, + 100006, + 2219, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100035, + 100007, + 2220, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100036, + 100008, + 2221, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100037, + 100009, + 2222, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100038, + 100010, + 2223, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100039, + 100011, + 2224, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100040, + 100012, + 2225, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100041, + 100013, + 2226, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100042, + 100014, + 2227, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100043, + 100015, + 2228, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100044, + 100016, + 2229, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100045, + 100017, + 2230, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100046, + 100018, + 2231, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100047, + 100019, + 2232, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100048, + 100020, + 2233, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100049, + 100021, + 2234, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100050, + 100022, + 2235, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100051, + 100023, + 2236, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100052, + 100024, + 2237, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100053, + 100025, + 2238, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100054, + 100026, + 2239, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100055, + 100027, + 2240, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100056, + 100028, + 2241, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100057, + 100029, + 2242, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100058, + 100030, + 2243, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100059, + 100031, + 2244, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100060, + 100032, + 2245, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100061, + 100033, + 2246, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100062, + 100034, + 2247, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100063, + 100035, + 2248, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100064, + 100036, + 2249, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100065, + 100037, + 2250, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100066, + 100038, + 2251, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100067, + 100039, + 2252, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100068, + 100040, + 2253, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100069, + 100041, + 2254, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100070, + 100042, + 2255, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100071, + 100043, + 2256, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100072, + 100044, + 2257, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100073, + 100045, + 2258, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100074, + 100046, + 2259, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100075, + 100047, + 2260, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100076, + 100048, + 2261, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100077, + 100049, + 2262, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100078, + 100050, + 2263, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100079, + 100051, + 2264, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100080, + 100052, + 2265, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100081, + 100053, + 2266, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100082, + 100054, + 2267, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100083, + 100055, + 2268, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100084, + 100056, + 2269, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100085, + 100057, + 2270, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100086, + 100058, + 2271, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100087, + 100059, + 2272, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100088, + 100060, + 2273, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100089, + 100061, + 2274, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100090, + 100062, + 2275, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100091, + 100063, + 2276, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100092, + 100064, + 2277, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100093, + 100106, + 2321, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100094, + 100107, + 2322, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100095, + 100108, + 2323, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100096, + 100109, + 2324, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100097, + 100110, + 2325, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100098, + 100111, + 2326, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100099, + 100112, + 2327, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100100, + 100113, + 2328, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100101, + 100114, + 2329, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100102, + 100115, + 2330, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100103, + 100116, + 2331, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100104, + 100117, + 2332, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100105, + 100118, + 2333, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100106, + 100119, + 2334, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100107, + 100120, + 2335, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100108, + 100121, + 2336, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100109, + 100122, + 2337, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100110, + 100123, + 2338, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100111, + 100124, + 2339, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100112, + 100125, + 2340, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100113, + 100126, + 2341, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100114, + 100127, + 2342, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100115, + 100128, + 2343, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100116, + 100129, + 2344, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100117, + 100130, + 2345, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100118, + 100131, + 2346, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100119, + 100132, + 2347, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100120, + 100133, + 2348, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100121, + 100134, + 2349, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100122, + 100135, + 2350, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100123, + 100093, + 2308, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100124, + 100094, + 2309, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100125, + 100095, + 2310, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100126, + 100096, + 2311, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100127, + 100097, + 2312, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100128, + 100098, + 2313, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100129, + 100099, + 2314, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100130, + 100100, + 2315, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100131, + 100101, + 2316, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100132, + 100102, + 2317, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100133, + 100103, + 2318, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100134, + 100104, + 2319, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100135, + 100105, + 2320, + '2001-01-01 00:00:00.000000', + 1000, + 36, + 30000, + 0 + ), + ( + 100136, + 100136, + 2450, + '1970-01-01 00:00:00.000000', + 0, + 36, + 30000, + 0 + ), + ( + 100137, + 100137, + 3648, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100138, + 100138, + 3649, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100139, + 100139, + 3702, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100140, + 100140, + 3703, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100141, + 100141, + 3704, + '2001-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100142, + 100142, + 3707, + '2001-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100143, + 100143, + 3708, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100144, + 100144, + 3709, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 100145, + 100145, + 3710, + '2000-01-01 00:00:00.000000', + 500, + 505, + 30000, + 0 + ), + ( + 110001, + 110001, + 209, + '1932-01-01 00:00:00.000000', + 1, + 107, + 30000, + 0 + ), + ( + 110002, + 110002, + 680, + '1950-01-01 00:00:00.000000', + 1, + 47, + 30000, + 0 + ), + ( + 110003, + 110003, + 681, + '1950-01-01 00:00:00.000000', + 1, + 65, + 30000, + 0 + ), + ( + 110004, + 110004, + 682, + '1950-01-01 00:00:00.000000', + 1, + 87, + 30000, + 0 + ), + ( + 110005, + 110005, + 683, + '1950-01-01 00:00:00.000000', + 1, + 97, + 30000, + 0 + ), + ( + 110006, + 110006, + 684, + '1950-01-01 00:00:00.000000', + 1, + 99, + 30000, + 0 + ), + ( + 110007, + 110007, + 685, + '1950-01-01 00:00:00.000000', + 1, + 62, + 30000, + 0 + ), + ( + 110008, + 110008, + 686, + '1950-01-01 00:00:00.000000', + 1, + 65, + 30000, + 0 + ), + ( + 110009, + 110009, + 687, + '1950-01-01 00:00:00.000000', + 1, + 87, + 30000, + 0 + ), + ( + 110010, + 110010, + 688, + '1950-01-01 00:00:00.000000', + 1, + 97, + 30000, + 0 + ), + ( + 110011, + 110011, + 689, + '1950-01-01 00:00:00.000000', + 1, + 114, + 30000, + 0 + ), + ( + 110012, + 110012, + 690, + '1950-01-01 00:00:00.000000', + 1, + 95, + 30000, + 0 + ), + ( + 110013, + 110013, + 691, + '1950-01-01 00:00:00.000000', + 1, + 127, + 30000, + 0 + ), + ( + 110014, + 110014, + 692, + '1950-01-01 00:00:00.000000', + 1, + 129, + 30000, + 0 + ), + ( + 110015, + 110015, + 693, + '1950-01-01 00:00:00.000000', + 1, + 62, + 30000, + 0 + ), + ( + 110016, + 110016, + 694, + '1950-01-01 00:00:00.000000', + 1, + 80, + 30000, + 0 + ), + ( + 110017, + 110017, + 695, + '1950-01-01 00:00:00.000000', + 1, + 112, + 30000, + 0 + ), + ( + 110018, + 110018, + 696, + '1950-01-01 00:00:00.000000', + 1, + 92, + 30000, + 0 + ), + ( + 110019, + 110019, + 697, + '1950-01-01 00:00:00.000000', + 1, + 95, + 30000, + 0 + ), + ( + 110020, + 110020, + 698, + '1950-01-01 00:00:00.000000', + 1, + 142, + 30000, + 0 + ), + ( + 110021, + 110021, + 699, + '1950-01-01 00:00:00.000000', + 1, + 159, + 30000, + 0 + ), + ( + 110022, + 110022, + 700, + '1960-01-01 00:00:00.000000', + 500, + 184, + 30000, + 0 + ), + ( + 110023, + 110023, + 701, + '1960-01-01 00:00:00.000000', + 1000, + 204, + 30000, + 0 + ), + ( + 110024, + 110024, + 702, + '1960-01-01 00:00:00.000000', + 500, + 225, + 30000, + 0 + ), + ( + 110025, + 110025, + 703, + '1960-01-01 00:00:00.000000', + 500, + 112, + 30000, + 0 + ), + ( + 110026, + 110026, + 704, + '1960-01-01 00:00:00.000000', + 1000, + 122, + 30000, + 0 + ), + ( + 110027, + 110027, + 705, + '1960-01-01 00:00:00.000000', + 500, + 132, + 30000, + 0 + ), + ( + 110028, + 110028, + 706, + '1960-01-01 00:00:00.000000', + 500, + 143, + 30000, + 0 + ), + ( + 110029, + 110029, + 707, + '1960-01-01 00:00:00.000000', + 500, + 153, + 30000, + 0 + ), + ( + 110030, + 110030, + 708, + '1960-01-01 00:00:00.000000', + 500, + 91, + 30000, + 0 + ), + ( + 110031, + 110031, + 709, + '1960-01-01 00:00:00.000000', + 500, + 102, + 30000, + 0 + ), + ( + 110032, + 110032, + 710, + '1960-01-01 00:00:00.000000', + 500, + 112, + 30000, + 0 + ), + ( + 110033, + 110033, + 711, + '1960-01-01 00:00:00.000000', + 500, + 122, + 30000, + 0 + ), + ( + 110034, + 110034, + 712, + '1960-01-01 00:00:00.000000', + 500, + 132, + 30000, + 0 + ), + ( + 110035, + 110035, + 713, + '1960-01-01 00:00:00.000000', + 500, + 102, + 30000, + 0 + ), + ( + 110036, + 110036, + 714, + '1960-01-01 00:00:00.000000', + 500, + 122, + 30000, + 0 + ), + ( + 110037, + 110037, + 715, + '1960-01-01 00:00:00.000000', + 1000, + 204, + 30000, + 0 + ), + ( + 110038, + 110038, + 716, + '1960-01-01 00:00:00.000000', + 1000, + 224, + 30000, + 0 + ), + ( + 110039, + 110039, + 717, + '1960-01-01 00:00:00.000000', + 1000, + 245, + 30000, + 0 + ), + ( + 110040, + 110040, + 718, + '1960-01-01 00:00:00.000000', + 1000, + 255, + 30000, + 0 + ), + ( + 110041, + 110041, + 719, + '1960-01-01 00:00:00.000000', + 1000, + 152, + 30000, + 0 + ), + ( + 110042, + 110042, + 720, + '1960-01-01 00:00:00.000000', + 1000, + 173, + 30000, + 0 + ), + ( + 110043, + 110043, + 721, + '1960-01-01 00:00:00.000000', + 1000, + 183, + 30000, + 0 + ), + ( + 110044, + 110044, + 722, + '1960-01-01 00:00:00.000000', + 1000, + 142, + 30000, + 0 + ), + ( + 110045, + 110045, + 723, + '1960-01-01 00:00:00.000000', + 500, + 162, + 30000, + 0 + ), + ( + 110046, + 110046, + 724, + '1960-01-01 00:00:00.000000', + 1000, + 183, + 30000, + 0 + ), + ( + 110047, + 110047, + 725, + '1960-01-01 00:00:00.000000', + 1000, + 132, + 30000, + 0 + ), + ( + 110048, + 110048, + 726, + '1960-01-01 00:00:00.000000', + 1000, + 152, + 30000, + 0 + ), + ( + 110049, + 110049, + 727, + '1960-01-01 00:00:00.000000', + 1000, + 173, + 30000, + 0 + ), + ( + 110050, + 110050, + 728, + '1960-01-01 00:00:00.000000', + 1000, + 183, + 30000, + 0 + ), + ( + 110051, + 110051, + 729, + '1970-01-01 00:00:00.000000', + 500, + 283, + 30000, + 0 + ), + ( + 110052, + 110052, + 730, + '1970-01-01 00:00:00.000000', + 500, + 300, + 30000, + 0 + ), + ( + 110053, + 110053, + 731, + '1970-01-01 00:00:00.000000', + 500, + 262, + 30000, + 0 + ), + ( + 110054, + 110054, + 732, + '1970-01-01 00:00:00.000000', + 500, + 279, + 30000, + 0 + ), + ( + 110055, + 110055, + 733, + '1970-01-01 00:00:00.000000', + 500, + 250, + 30000, + 0 + ), + ( + 110056, + 110056, + 734, + '1970-01-01 00:00:00.000000', + 500, + 258, + 30000, + 0 + ), + ( + 110057, + 110057, + 735, + '1970-01-01 00:00:00.000000', + 500, + 322, + 30000, + 0 + ), + ( + 110058, + 110058, + 736, + '1970-01-01 00:00:00.000000', + 500, + 339, + 30000, + 0 + ), + ( + 110059, + 110059, + 737, + '1970-01-01 00:00:00.000000', + 500, + 300, + 30000, + 0 + ), + ( + 110060, + 110060, + 738, + '1970-01-01 00:00:00.000000', + 500, + 309, + 30000, + 0 + ), + ( + 110061, + 110061, + 739, + '1970-01-01 00:00:00.000000', + 500, + 326, + 30000, + 0 + ), + ( + 110062, + 110062, + 740, + '1970-01-01 00:00:00.000000', + 500, + 288, + 30000, + 0 + ), + ( + 110063, + 110063, + 741, + '1970-01-01 00:00:00.000000', + 500, + 297, + 30000, + 0 + ), + ( + 110064, + 110064, + 742, + '1970-01-01 00:00:00.000000', + 500, + 314, + 30000, + 0 + ), + ( + 110065, + 110065, + 743, + '1970-01-01 00:00:00.000000', + 500, + 369, + 30000, + 0 + ), + ( + 110066, + 110066, + 744, + '1970-01-01 00:00:00.000000', + 500, + 399, + 30000, + 0 + ), + ( + 110067, + 110067, + 745, + '1970-01-01 00:00:00.000000', + 500, + 407, + 30000, + 0 + ), + ( + 110068, + 110068, + 746, + '1970-01-01 00:00:00.000000', + 500, + 437, + 30000, + 0 + ), + ( + 110069, + 110069, + 747, + '1970-01-01 00:00:00.000000', + 250, + 690, + 30000, + 0 + ), + ( + 110070, + 110070, + 748, + '1970-01-01 00:00:00.000000', + 250, + 652, + 30000, + 0 + ), + ( + 110071, + 110071, + 749, + '1970-01-01 00:00:00.000000', + 250, + 660, + 30000, + 0 + ), + ( + 110072, + 110072, + 750, + '1970-01-01 00:00:00.000000', + 250, + 669, + 30000, + 0 + ), + ( + 110073, + 110073, + 751, + '1970-01-01 00:00:00.000000', + 250, + 613, + 30000, + 0 + ), + ( + 110074, + 110074, + 752, + '1970-01-01 00:00:00.000000', + 250, + 622, + 30000, + 0 + ), + ( + 110075, + 110075, + 753, + '1970-01-01 00:00:00.000000', + 250, + 630, + 30000, + 0 + ), + ( + 110076, + 110076, + 754, + '1970-01-01 00:00:00.000000', + 250, + 639, + 30000, + 0 + ), + ( + 110077, + 110077, + 755, + '1970-01-01 00:00:00.000000', + 250, + 738, + 30000, + 0 + ), + ( + 110078, + 110078, + 756, + '1970-01-01 00:00:00.000000', + 250, + 699, + 30000, + 0 + ), + ( + 110079, + 110079, + 757, + '1970-01-01 00:00:00.000000', + 250, + 708, + 30000, + 0 + ), + ( + 110080, + 110080, + 758, + '1975-01-01 00:00:00.000000', + 250, + 780, + 30000, + 0 + ), + ( + 110081, + 110081, + 759, + '1975-01-01 00:00:00.000000', + 250, + 788, + 30000, + 0 + ), + ( + 110082, + 110082, + 760, + '1975-01-01 00:00:00.000000', + 250, + 750, + 30000, + 0 + ), + ( + 110083, + 110083, + 761, + '1975-01-01 00:00:00.000000', + 250, + 758, + 30000, + 0 + ), + ( + 110084, + 110084, + 762, + '1975-01-01 00:00:00.000000', + 250, + 767, + 30000, + 0 + ), + ( + 110085, + 110085, + 763, + '1975-01-01 00:00:00.000000', + 250, + 711, + 30000, + 0 + ), + ( + 110086, + 110086, + 764, + '1975-01-01 00:00:00.000000', + 250, + 720, + 30000, + 0 + ), + ( + 110087, + 110087, + 765, + '1975-01-01 00:00:00.000000', + 250, + 728, + 30000, + 0 + ), + ( + 110088, + 110088, + 766, + '1975-01-01 00:00:00.000000', + 250, + 737, + 30000, + 0 + ), + ( + 110089, + 110089, + 767, + '1975-01-01 00:00:00.000000', + 250, + 908, + 30000, + 0 + ), + ( + 110090, + 110090, + 768, + '1975-01-01 00:00:00.000000', + 250, + 917, + 30000, + 0 + ), + ( + 110091, + 110091, + 770, + '1975-01-01 00:00:00.000000', + 250, + 878, + 30000, + 0 + ), + ( + 110092, + 110092, + 771, + '1975-01-01 00:00:00.000000', + 266, + 887, + 30000, + 0 + ), + ( + 110093, + 110093, + 772, + '1975-01-01 00:00:00.000000', + 250, + 848, + 30000, + 0 + ), + ( + 110094, + 110094, + 773, + '1975-01-01 00:00:00.000000', + 250, + 865, + 30000, + 0 + ), + ( + 110095, + 110095, + 774, + '1975-01-01 00:00:00.000000', + 250, + 883, + 30000, + 0 + ), + ( + 110096, + 110096, + 775, + '1975-01-01 00:00:00.000000', + 250, + 818, + 30000, + 0 + ), + ( + 110097, + 110097, + 776, + '1975-01-01 00:00:00.000000', + 250, + 827, + 30000, + 0 + ), + ( + 110098, + 110098, + 777, + '1975-01-01 00:00:00.000000', + 250, + 835, + 30000, + 0 + ), + ( + 110099, + 110099, + 778, + '1975-01-01 00:00:00.000000', + 250, + 797, + 30000, + 0 + ), + ( + 110100, + 110100, + 779, + '1975-01-01 00:00:00.000000', + 250, + 805, + 30000, + 0 + ), + ( + 110101, + 110101, + 780, + '1975-01-01 00:00:00.000000', + 250, + 814, + 30000, + 0 + ), + ( + 110102, + 110102, + 781, + '1975-01-01 00:00:00.000000', + 250, + 947, + 30000, + 0 + ), + ( + 110103, + 110103, + 782, + '1975-01-01 00:00:00.000000', + 250, + 964, + 30000, + 0 + ), + ( + 110104, + 110104, + 783, + '1975-01-01 00:00:00.000000', + 250, + 981, + 30000, + 0 + ), + ( + 110105, + 110105, + 784, + '1975-01-01 00:00:00.000000', + 250, + 917, + 30000, + 0 + ), + ( + 110106, + 110106, + 785, + '1975-01-01 00:00:00.000000', + 250, + 925, + 30000, + 0 + ), + ( + 110107, + 110107, + 786, + '1975-01-01 00:00:00.000000', + 250, + 934, + 30000, + 0 + ), + ( + 110108, + 110108, + 787, + '1975-01-01 00:00:00.000000', + 250, + 943, + 30000, + 0 + ), + ( + 110109, + 110109, + 788, + '1975-01-01 00:00:00.000000', + 250, + 1063, + 30000, + 0 + ), + ( + 110110, + 110110, + 789, + '1975-01-01 00:00:00.000000', + 125, + 1279, + 30000, + 0 + ), + ( + 110111, + 110111, + 790, + '1975-01-01 00:00:00.000000', + 125, + 1288, + 30000, + 0 + ), + ( + 110112, + 110112, + 791, + '1975-01-01 00:00:00.000000', + 125, + 1249, + 30000, + 0 + ), + ( + 110113, + 110113, + 792, + '1975-01-01 00:00:00.000000', + 125, + 1258, + 30000, + 0 + ), + ( + 110114, + 110114, + 793, + '1975-01-01 00:00:00.000000', + 125, + 1267, + 30000, + 0 + ), + ( + 110115, + 110115, + 794, + '1975-01-01 00:00:00.000000', + 125, + 1211, + 30000, + 0 + ), + ( + 110116, + 110116, + 795, + '1975-01-01 00:00:00.000000', + 125, + 1219, + 30000, + 0 + ), + ( + 110117, + 110117, + 796, + '1975-01-01 00:00:00.000000', + 125, + 1228, + 30000, + 0 + ), + ( + 110118, + 110118, + 797, + '1975-01-01 00:00:00.000000', + 125, + 1237, + 30000, + 0 + ), + ( + 110119, + 110119, + 798, + '1975-01-01 00:00:00.000000', + 125, + 1408, + 30000, + 0 + ), + ( + 110120, + 110120, + 799, + '1975-01-01 00:00:00.000000', + 125, + 1378, + 30000, + 0 + ), + ( + 110121, + 110121, + 800, + '1975-01-01 00:00:00.000000', + 125, + 1387, + 30000, + 0 + ), + ( + 110122, + 110120, + 799, + '1975-01-01 00:00:00.000000', + 125, + 1378, + 30000, + 0 + ), + ( + 110123, + 110122, + 801, + '1975-01-01 00:00:00.000000', + 125, + 1348, + 30000, + 0 + ), + ( + 110124, + 110123, + 802, + '1975-01-01 00:00:00.000000', + 125, + 1365, + 30000, + 0 + ), + ( + 110125, + 110124, + 803, + '1975-01-01 00:00:00.000000', + 125, + 1382, + 30000, + 0 + ), + ( + 110126, + 110125, + 804, + '1975-01-01 00:00:00.000000', + 125, + 1318, + 30000, + 0 + ), + ( + 110127, + 110126, + 805, + '1975-01-01 00:00:00.000000', + 125, + 1335, + 30000, + 0 + ), + ( + 110128, + 110127, + 806, + '1975-01-01 00:00:00.000000', + 125, + 1297, + 30000, + 0 + ), + ( + 110129, + 110128, + 807, + '1975-01-01 00:00:00.000000', + 125, + 1305, + 30000, + 0 + ), + ( + 110130, + 110129, + 808, + '1975-01-01 00:00:00.000000', + 125, + 1314, + 30000, + 0 + ), + ( + 110131, + 110130, + 809, + '1975-01-01 00:00:00.000000', + 125, + 1447, + 30000, + 0 + ), + ( + 110132, + 110131, + 810, + '1975-01-01 00:00:00.000000', + 125, + 1464, + 30000, + 0 + ), + ( + 110133, + 110132, + 811, + '1975-01-01 00:00:00.000000', + 125, + 1417, + 30000, + 0 + ), + ( + 110134, + 110133, + 812, + '1975-01-01 00:00:00.000000', + 125, + 1425, + 30000, + 0 + ), + ( + 110135, + 110134, + 813, + '1975-01-01 00:00:00.000000', + 125, + 1434, + 30000, + 0 + ), + ( + 110136, + 110135, + 814, + '1975-01-01 00:00:00.000000', + 125, + 1442, + 30000, + 0 + ), + ( + 110137, + 110136, + 962, + '1950-01-01 00:00:00.000000', + 2, + 172, + 30000, + 0 + ), + ( + 110138, + 110137, + 1687, + '1969-01-01 00:00:00.000000', + 0, + 994, + 30000, + 0 + ), + ( + 110139, + 110138, + 1743, + '1995-01-01 00:00:00.000000', + 0, + 1781, + 30000, + 0 + ), + ( + 110140, + 110139, + 2389, + '2001-03-22 00:00:00.000000', + 125, + 248, + 30000, + 0 + ), + ( + 110141, + 110140, + 2422, + '1970-01-01 00:00:00.000000', + 0, + 591, + 30000, + 0 + ), + ( + 110142, + 110141, + 2433, + '1960-01-01 00:00:00.000000', + 250, + 134, + 30000, + 0 + ), + ( + 110143, + 110142, + 2434, + '1960-01-01 00:00:00.000000', + 250, + 139, + 30000, + 0 + ), + ( + 110144, + 110143, + 2435, + '1960-01-01 00:00:00.000000', + 250, + 147, + 30000, + 0 + ), + ( + 110145, + 110144, + 2436, + '1960-01-01 00:00:00.000000', + 250, + 156, + 30000, + 0 + ), + ( + 110146, + 110145, + 2437, + '1960-01-01 00:00:00.000000', + 250, + 167, + 30000, + 0 + ), + ( + 110147, + 110146, + 2438, + '1960-01-01 00:00:00.000000', + 250, + 172, + 30000, + 0 + ), + ( + 110148, + 110147, + 2439, + '1960-01-01 00:00:00.000000', + 250, + 182, + 30000, + 0 + ), + ( + 110149, + 110148, + 2440, + '1960-01-01 00:00:00.000000', + 250, + 245, + 30000, + 0 + ), + ( + 110150, + 110149, + 2441, + '1960-01-01 00:00:00.000000', + 250, + 255, + 30000, + 0 + ), + ( + 110151, + 110150, + 2442, + '1960-01-01 00:00:00.000000', + 250, + 239, + 30000, + 0 + ), + ( + 110152, + 110151, + 2616, + '1960-01-01 00:00:00.000000', + 500, + 274, + 30000, + 0 + ), + ( + 110153, + 110152, + 2615, + '1960-01-01 00:00:00.000000', + 500, + 292, + 30000, + 0 + ), + ( + 110154, + 110153, + 2614, + '1960-01-01 00:00:00.000000', + 500, + 313, + 30000, + 0 + ), + ( + 110155, + 110154, + 2613, + '1960-01-01 00:00:00.000000', + 500, + 322, + 30000, + 0 + ), + ( + 110156, + 110155, + 2612, + '1960-01-01 00:00:00.000000', + 500, + 313, + 30000, + 0 + ), + ( + 110157, + 110156, + 2611, + '1960-01-01 00:00:00.000000', + 500, + 330, + 30000, + 0 + ), + ( + 110158, + 110157, + 2610, + '1960-01-01 00:00:00.000000', + 500, + 352, + 30000, + 0 + ), + ( + 110159, + 110158, + 2609, + '1960-01-01 00:00:00.000000', + 500, + 360, + 30000, + 0 + ), + ( + 110160, + 110159, + 2608, + '1960-01-01 00:00:00.000000', + 500, + 369, + 30000, + 0 + ), + ( + 110161, + 110160, + 2607, + '1960-01-01 00:00:00.000000', + 500, + 382, + 30000, + 0 + ), + ( + 110162, + 110161, + 2606, + '1960-01-01 00:00:00.000000', + 500, + 390, + 30000, + 0 + ), + ( + 110163, + 110162, + 2605, + '1960-01-01 00:00:00.000000', + 500, + 412, + 30000, + 0 + ), + ( + 110164, + 110163, + 2604, + '1960-01-01 00:00:00.000000', + 500, + 420, + 30000, + 0 + ), + ( + 110165, + 110164, + 2603, + '1960-01-01 00:00:00.000000', + 500, + 437, + 30000, + 0 + ), + ( + 110166, + 110165, + 2602, + '1960-01-01 00:00:00.000000', + 125, + 810, + 30000, + 0 + ), + ( + 110167, + 110166, + 2601, + '1960-01-01 00:00:00.000000', + 125, + 818, + 30000, + 0 + ), + ( + 110168, + 110167, + 2600, + '1960-01-01 00:00:00.000000', + 125, + 835, + 30000, + 0 + ), + ( + 110169, + 110168, + 2599, + '1960-01-01 00:00:00.000000', + 125, + 938, + 30000, + 0 + ), + ( + 110170, + 110169, + 2660, + '1978-01-01 00:00:00.000000', + 0, + 1841, + 30000, + 0 + ), + ( + 110171, + 110170, + 2661, + '1978-01-01 00:00:00.000000', + 0, + 1704, + 30000, + 0 + ), + ( + 110172, + 110172, + 3035, + '1978-01-01 00:00:00.000000', + 0, + 5340, + 30000, + 0 + ), + ( + 110173, + 110171, + 3034, + '1978-01-01 00:00:00.000000', + 0, + 5203, + 30000, + 0 + ), + ( + 110174, + 110173, + 3033, + '1995-01-01 00:00:00.000000', + 0, + 5280, + 30000, + 0 + ), + ( + 110175, + 110174, + 3626, + '1995-01-01 00:00:00.000000', + 0, + 1884, + 30000, + 0 + ), + ( + 110176, + 110175, + 3627, + '1995-01-01 00:00:00.000000', + 0, + 1836, + 30000, + 0 + ), + ( + 110177, + 110176, + 3628, + '1995-01-01 00:00:00.000000', + 0, + 1815, + 30000, + 0 + ), + ( + 110178, + 110177, + 3629, + '1995-01-01 00:00:00.000000', + 0, + 1845, + 30000, + 0 + ), + ( + 110179, + 110178, + 3630, + '1995-01-01 00:00:00.000000', + 0, + 1824, + 30000, + 0 + ), + ( + 110180, + 110179, + 3631, + '1995-01-01 00:00:00.000000', + 0, + 1862, + 30000, + 0 + ), + ( + 110181, + 110180, + 3632, + '1995-01-01 00:00:00.000000', + 0, + 1871, + 30000, + 0 + ), + ( + 110182, + 110181, + 3633, + '1995-01-01 00:00:00.000000', + 0, + 1879, + 30000, + 0 + ), + ( + 110183, + 110182, + 3634, + '1995-01-01 00:00:00.000000', + 0, + 1888, + 30000, + 0 + ), + ( + 110184, + 110183, + 3635, + '1995-01-01 00:00:00.000000', + 0, + 1776, + 30000, + 0 + ), + ( + 110185, + 110184, + 3636, + '1995-01-01 00:00:00.000000', + 0, + 1785, + 30000, + 0 + ), + ( + 110186, + 110185, + 3637, + '1995-01-01 00:00:00.000000', + 0, + 1815, + 30000, + 0 + ), + ( + 110187, + 110186, + 3638, + '1995-01-01 00:00:00.000000', + 0, + 1794, + 30000, + 0 + ), + ( + 110188, + 110187, + 3639, + '1995-01-01 00:00:00.000000', + 0, + 1824, + 30000, + 0 + ), + ( + 110189, + 110188, + 3640, + '1995-01-01 00:00:00.000000', + 0, + 1832, + 30000, + 0 + ), + ( + 110190, + 110189, + 3641, + '1995-01-01 00:00:00.000000', + 0, + 1811, + 30000, + 0 + ), + ( + 110191, + 110190, + 3642, + '1995-01-01 00:00:00.000000', + 0, + 1716, + 30000, + 0 + ), + ( + 110192, + 110191, + 3643, + '1995-01-01 00:00:00.000000', + 0, + 1746, + 30000, + 0 + ), + ( + 110193, + 110192, + 3644, + '1995-01-01 00:00:00.000000', + 0, + 1776, + 30000, + 0 + ), + ( + 110194, + 110193, + 3645, + '1995-01-01 00:00:00.000000', + 0, + 1725, + 30000, + 0 + ), + ( + 110195, + 110194, + 3646, + '1995-01-01 00:00:00.000000', + 0, + 1785, + 30000, + 0 + ), + ( + 110196, + 110195, + 3647, + '1995-01-01 00:00:00.000000', + 0, + 1764, + 30000, + 0 + ), + ( + 110197, + 110201, + 3765, + '1965-01-01 00:00:00.000000', + 125, + 412, + 30000, + 0 + ), + ( + 110198, + 110200, + 3766, + '1965-01-01 00:00:00.000000', + 125, + 403, + 30000, + 0 + ), + ( + 110199, + 110199, + 3767, + '1965-01-01 00:00:00.000000', + 125, + 395, + 30000, + 0 + ), + ( + 110200, + 110198, + 3768, + '1965-01-01 00:00:00.000000', + 60, + 438, + 30000, + 0 + ), + ( + 110201, + 110197, + 3769, + '1965-01-01 00:00:00.000000', + 60, + 420, + 30000, + 0 + ), + ( + 110202, + 110196, + 3770, + '1965-01-01 00:00:00.000000', + 250, + 386, + 30000, + 0 + ), + ( + 130001, + 130001, + 121, + '1999-01-01 00:00:00.000000', + 500, + 1234, + 30000, + 0 + ), + ( + 130002, + 130002, + 122, + '1999-01-01 00:00:00.000000', + 1000, + 1298, + 30000, + 0 + ), + ( + 130003, + 130003, + 123, + '1999-01-01 00:00:00.000000', + 125, + 1744, + 30000, + 0 + ), + ( + 130004, + 130004, + 124, + '1999-01-01 00:00:00.000000', + 500, + 1357, + 30000, + 0 + ), + ( + 130005, + 130005, + 125, + '1999-01-01 00:00:00.000000', + 500, + 1282, + 30000, + 0 + ), + ( + 130006, + 130006, + 126, + '1999-01-01 00:00:00.000000', + 250, + 1859, + 30000, + 0 + ), + ( + 130007, + 130007, + 127, + '1999-01-01 00:00:00.000000', + 125, + 1490, + 30000, + 0 + ), + ( + 130008, + 130008, + 128, + '1999-01-01 00:00:00.000000', + 125, + 1474, + 30000, + 0 + ), + ( + 130009, + 130009, + 129, + '1999-01-01 00:00:00.000000', + 250, + 1681, + 30000, + 0 + ), + ( + 130010, + 130010, + 130, + '1999-01-01 00:00:00.000000', + 125, + 1859, + 30000, + 0 + ), + ( + 130011, + 130011, + 131, + '1999-01-01 00:00:00.000000', + 250, + 2360, + 30000, + 0 + ), + ( + 130012, + 130051, + 864, + '1932-01-01 00:00:00.000000', + 1000, + 684, + 30000, + 0 + ), + ( + 130013, + 130013, + 132, + '1999-01-01 00:00:00.000000', + 125, + 2012, + 30000, + 0 + ), + ( + 130014, + 130014, + 133, + '1999-01-01 00:00:00.000000', + 125, + 1887, + 30000, + 0 + ), + ( + 130015, + 130015, + 134, + '1999-01-01 00:00:00.000000', + 250, + 1570, + 30000, + 0 + ), + ( + 130016, + 130016, + 135, + '1999-01-01 00:00:00.000000', + 250, + 1700, + 30000, + 0 + ), + ( + 130017, + 130017, + 136, + '1999-01-01 00:00:00.000000', + 250, + 1999, + 30000, + 0 + ), + ( + 130018, + 130018, + 137, + '1999-01-01 00:00:00.000000', + 250, + 1581, + 30000, + 0 + ), + ( + 130019, + 130019, + 138, + '1999-01-01 00:00:00.000000', + 500, + 1342, + 30000, + 0 + ), + ( + 130020, + 130020, + 139, + '1999-01-01 00:00:00.000000', + 250, + 1576, + 30000, + 0 + ), + ( + 130021, + 130021, + 227, + '1957-01-01 00:00:00.000000', + 1000, + 1058, + 30000, + 0 + ), + ( + 130022, + 130022, + 247, + '1957-01-01 00:00:00.000000', + 500, + 1355, + 30000, + 0 + ), + ( + 130023, + 130023, + 248, + '1957-01-01 00:00:00.000000', + 500, + 1206, + 30000, + 0 + ), + ( + 130024, + 130024, + 249, + '1957-01-01 00:00:00.000000', + 500, + 1576, + 30000, + 0 + ), + ( + 130025, + 130025, + 250, + '1957-05-01 00:00:00.000000', + 125, + 1162, + 30000, + 0 + ), + ( + 130026, + 130026, + 873, + '1957-01-01 00:00:00.000000', + 500, + 1191, + 30000, + 0 + ), + ( + 130027, + 130029, + 423, + '1966-01-01 00:00:00.000000', + 500, + 2179, + 30000, + 0 + ), + ( + 130028, + 130028, + 422, + '1963-01-01 00:00:00.000000', + 250, + 2211, + 30000, + 0 + ), + ( + 130029, + 130030, + 424, + '1966-01-01 00:00:00.000000', + 250, + 2027, + 30000, + 0 + ), + ( + 130030, + 130031, + 425, + '1999-01-01 00:00:00.000000', + 60, + 4490, + 30000, + 0 + ), + ( + 130031, + 130032, + 426, + '1999-01-01 00:00:00.000000', + 0, + 2608, + 30000, + 0 + ), + ( + 130032, + 130033, + 427, + '1963-01-01 00:00:00.000000', + 1000, + 1033, + 30000, + 0 + ), + ( + 130033, + 130034, + 428, + '1969-01-01 00:00:00.000000', + 500, + 1186, + 30000, + 0 + ), + ( + 130034, + 130035, + 867, + '1965-01-01 00:00:00.000000', + 500, + 1161, + 30000, + 0 + ), + ( + 130035, + 130036, + 866, + '1957-01-01 00:00:00.000000', + 60, + 2906, + 30000, + 0 + ), + ( + 130036, + 130037, + 429, + '1957-01-01 00:00:00.000000', + 60, + 3709, + 30000, + 0 + ), + ( + 130037, + 130038, + 430, + '1957-01-01 00:00:00.000000', + 30, + 3072, + 30000, + 0 + ), + ( + 130038, + 130039, + 431, + '1959-01-01 00:00:00.000000', + 60, + 3262, + 30000, + 0 + ), + ( + 130039, + 130040, + 868, + '1964-01-01 00:00:00.000000', + 500, + 1397, + 30000, + 0 + ), + ( + 130040, + 130041, + 432, + '1977-01-01 00:00:00.000000', + 250, + 1919, + 30000, + 0 + ), + ( + 130041, + 130042, + 433, + '1979-01-01 00:00:00.000000', + 500, + 1739, + 30000, + 0 + ), + ( + 130042, + 130043, + 872, + '1957-01-01 00:00:00.000000', + 1000, + 996, + 30000, + 0 + ), + ( + 130043, + 130044, + 435, + '1964-01-01 00:00:00.000000', + 250, + 1589, + 30000, + 0 + ), + ( + 130044, + 130045, + 499, + '1999-01-01 00:00:00.000000', + 250, + 2155, + 30000, + 0 + ), + ( + 130045, + 130046, + 500, + '1999-01-01 00:00:00.000000', + 125, + 1281, + 30000, + 0 + ), + ( + 130046, + 130047, + 874, + '1999-01-01 00:00:00.000000', + 500, + 3450, + 30000, + 0 + ), + ( + 130047, + 130048, + 865, + '1999-01-01 00:00:00.000000', + 1000, + 1033, + 30000, + 0 + ), + ( + 130048, + 130049, + 1034, + '1969-01-01 00:00:00.000000', + 125, + 1522, + 30000, + 0 + ), + ( + 130049, + 130012, + 1158, + '1957-01-01 00:00:00.000000', + 1000, + 1263, + 30000, + 0 + ), + ( + 130050, + 130027, + 1159, + '1963-01-01 00:00:00.000000', + 500, + 1925, + 30000, + 0 + ), + ( + 130051, + 130050, + 1746, + '1995-01-01 00:00:00.000000', + 30, + 6341, + 30000, + 0 + ), + ( + 130052, + 130052, + 2801, + '1972-01-01 00:00:00.000000', + 0, + 3382, + 30000, + 0 + ), + ( + 130053, + 130053, + 2802, + '1972-01-01 00:00:00.000000', + 0, + 2960, + 30000, + 0 + ), + ( + 130054, + 130054, + 3762, + '1965-01-01 00:00:00.000000', + 125, + 3163, + 30000, + 0 + ), + ( + 130055, + 130055, + 3763, + '1967-01-01 00:00:00.000000', + 125, + 1331, + 30000, + 0 + ), + ( + 130056, + 130056, + 3764, + '1967-01-01 00:00:00.000000', + 125, + 2695, + 30000, + 0 + ), + ( + 130057, + 130057, + 3772, + '1955-01-01 00:00:00.000000', + 1000, + 1497, + 30000, + 0 + ), + ( + 140001, + 140001, + 140, + '1999-01-01 00:00:00.000000', + 250, + 725, + 30000, + 0 + ), + ( + 140002, + 140002, + 141, + '1999-01-01 00:00:00.000000', + 500, + 774, + 30000, + 0 + ), + ( + 140003, + 140003, + 142, + '1999-01-01 00:00:00.000000', + 1000, + 790, + 30000, + 0 + ), + ( + 140004, + 140004, + 143, + '1999-01-01 00:00:00.000000', + 1000, + 846, + 30000, + 0 + ), + ( + 140005, + 140005, + 144, + '1999-01-01 00:00:00.000000', + 500, + 865, + 30000, + 0 + ), + ( + 140006, + 140006, + 145, + '1999-01-01 00:00:00.000000', + 500, + 892, + 30000, + 0 + ), + ( + 140007, + 140007, + 146, + '1999-01-01 00:00:00.000000', + 250, + 911, + 30000, + 0 + ), + ( + 140008, + 140008, + 147, + '1999-01-01 00:00:00.000000', + 250, + 921, + 30000, + 0 + ), + ( + 140009, + 140009, + 148, + '1999-01-01 00:00:00.000000', + 250, + 923, + 30000, + 0 + ), + ( + 140010, + 140010, + 149, + '1999-01-01 00:00:00.000000', + 250, + 945, + 30000, + 0 + ), + ( + 140011, + 140011, + 150, + '1999-01-01 00:00:00.000000', + 250, + 960, + 30000, + 0 + ), + ( + 140012, + 140012, + 151, + '1999-01-01 00:00:00.000000', + 250, + 977, + 30000, + 0 + ), + ( + 140013, + 140013, + 152, + '1999-01-01 00:00:00.000000', + 125, + 1008, + 30000, + 0 + ), + ( + 140014, + 140014, + 153, + '1999-01-01 00:00:00.000000', + 60, + 1558, + 30000, + 0 + ), + ( + 140015, + 140015, + 154, + '1999-01-01 00:00:00.000000', + 60, + 1642, + 30000, + 0 + ), + ( + 140016, + 140016, + 440, + '1957-01-01 00:00:00.000000', + 1000, + 815, + 30000, + 0 + ), + ( + 140017, + 140017, + 869, + '1957-01-01 00:00:00.000000', + 250, + 926, + 30000, + 0 + ), + ( + 140018, + 140018, + 441, + '1955-01-01 00:00:00.000000', + 500, + 887, + 30000, + 0 + ), + ( + 140019, + 140019, + 870, + '1999-01-01 00:00:00.000000', + 1000, + 851, + 30000, + 0 + ), + ( + 140020, + 140020, + 871, + '1999-01-01 00:00:00.000000', + 125, + 1010, + 30000, + 0 + ), + ( + 140021, + 140021, + 1160, + '1957-01-01 00:00:00.000000', + 250, + 962, + 30000, + 0 + ), + ( + 140022, + 140022, + 2152, + '1960-01-01 00:00:00.000000', + 1000, + 807, + 30000, + 0 + ), + ( + 140023, + 140023, + 2195, + '1932-01-01 00:00:00.000000', + 125, + 454, + 30000, + 0 + ), + ( + 140024, + 140024, + 2198, + '1949-01-01 00:00:00.000000', + 125, + 430, + 30000, + 0 + ), + ( + 140025, + 140025, + 2199, + '1940-01-01 00:00:00.000000', + 125, + 360, + 30000, + 0 + ), + ( + 140026, + 140026, + 2774, + '1965-01-01 00:00:00.000000', + 125, + 1187, + 30000, + 0 + ), + ( + 140027, + 140027, + 2775, + '1965-01-01 00:00:00.000000', + 125, + 1256, + 30000, + 0 + ), + ( + 140028, + 140028, + 2776, + '1965-01-01 00:00:00.000000', + 125, + 1322, + 30000, + 0 + ), + ( + 140029, + 140029, + 2777, + '1965-01-01 00:00:00.000000', + 125, + 1358, + 30000, + 0 + ), + ( + 140030, + 140030, + 2778, + '1965-01-01 00:00:00.000000', + 125, + 1424, + 30000, + 0 + ), + ( + 140031, + 140031, + 2779, + '1965-01-01 00:00:00.000000', + 60, + 1558, + 30000, + 0 + ), + ( + 140032, + 140032, + 2780, + '1965-01-01 00:00:00.000000', + 1000, + 810, + 30000, + 0 + ), + ( + 140033, + 140033, + 2781, + '1965-01-01 00:00:00.000000', + 1000, + 856, + 30000, + 0 + ), + ( + 140034, + 140034, + 2782, + '1965-01-01 00:00:00.000000', + 500, + 899, + 30000, + 0 + ), + ( + 140035, + 140035, + 2783, + '1965-01-01 00:00:00.000000', + 250, + 923, + 30000, + 0 + ), + ( + 140036, + 140036, + 2784, + '1965-01-01 00:00:00.000000', + 250, + 967, + 30000, + 0 + ), + ( + 140037, + 140037, + 2785, + '1965-01-01 00:00:00.000000', + 125, + 1056, + 30000, + 0 + ), + ( + 140038, + 140038, + 2786, + '1965-01-01 00:00:00.000000', + 250, + 725, + 30000, + 0 + ), + ( + 140039, + 140039, + 2787, + '1965-01-01 00:00:00.000000', + 1000, + 810, + 30000, + 0 + ), + ( + 140040, + 140040, + 2788, + '1965-01-01 00:00:00.000000', + 500, + 878, + 30000, + 0 + ), + ( + 140041, + 140041, + 2789, + '1965-01-01 00:00:00.000000', + 250, + 923, + 30000, + 0 + ), + ( + 140042, + 140042, + 2790, + '1965-01-01 00:00:00.000000', + 250, + 960, + 30000, + 0 + ), + ( + 140043, + 140048, + 2791, + '1965-01-01 00:00:00.000000', + 125, + 1060, + 30000, + 0 + ), + ( + 140044, + 140043, + 2792, + '1965-01-01 00:00:00.000000', + 125, + 1184, + 30000, + 0 + ), + ( + 140045, + 140044, + 2793, + '1965-01-01 00:00:00.000000', + 125, + 1271, + 30000, + 0 + ), + ( + 140046, + 140045, + 2794, + '1965-01-01 00:00:00.000000', + 125, + 1358, + 30000, + 0 + ), + ( + 140047, + 140049, + 2795, + '1965-01-01 00:00:00.000000', + 30, + 1793, + 30000, + 0 + ), + ( + 140048, + 140046, + 2796, + '1965-01-01 00:00:00.000000', + 125, + 1424, + 30000, + 0 + ), + ( + 140049, + 140047, + 2797, + '1965-01-01 00:00:00.000000', + 60, + 1558, + 30000, + 0 + ), + ( + 140050, + 140052, + 2798, + '1970-01-01 00:00:00.000000', + 30, + 2061, + 30000, + 0 + ), + ( + 140051, + 140051, + 2799, + '1970-01-01 00:00:00.000000', + 30, + 1881, + 30000, + 0 + ), + ( + 140052, + 140050, + 2800, + '1970-01-01 00:00:00.000000', + 60, + 1730, + 30000, + 0 + ), + ( + 150001, + 150004, + 504, + '1999-01-01 00:00:00.000000', + 0, + 730, + 30000, + 0 + ), + ( + 150002, + 150003, + 503, + '1999-01-01 00:00:00.000000', + 1000, + 280, + 30000, + 0 + ), + ( + 150003, + 150001, + 501, + '1999-01-01 00:00:00.000000', + 250, + 480, + 30000, + 0 + ), + ( + 150004, + 150002, + 502, + '1999-01-01 00:00:00.000000', + 500, + 330, + 30000, + 0 + ), + ( + 160001, + 160001, + 1162, + '1953-01-01 00:00:00.000000', + 1000, + 1116, + 30000, + 21 + ), + ( + 160002, + 160002, + 1429, + '1999-01-01 00:00:00.000000', + 500, + 2198, + 30000, + 8 + ), + ( + 160003, + 160003, + 1430, + '1999-01-01 00:00:00.000000', + 125, + 5777, + 30000, + 7 + ), + ( + 160004, + 160004, + 1455, + '1963-01-01 00:00:00.000000', + 125, + 1787, + 30000, + 19 + ), + ( + 160005, + 160005, + 76, + '1999-01-01 00:00:00.000000', + 1000, + 1087, + 30000, + 6 + ), + ( + 160006, + 160006, + 77, + '1999-01-01 00:00:00.000000', + 1000, + 1140, + 30000, + 6 + ), + ( + 160007, + 160007, + 78, + '1999-01-01 00:00:00.000000', + 500, + 1199, + 30000, + 6 + ), + ( + 160008, + 160008, + 80, + '1999-01-01 00:00:00.000000', + 500, + 1215, + 30000, + 6 + ), + ( + 160009, + 160009, + 83, + '1999-01-01 00:00:00.000000', + 500, + 1283, + 30000, + 6 + ), + ( + 160010, + 160010, + 1161, + '1940-01-01 00:00:00.000000', + 250, + 1204, + 30000, + 20 + ), + ( + 160011, + 160011, + 86, + '1999-01-01 00:00:00.000000', + 500, + 1458, + 30000, + 19 + ), + ( + 160012, + 160012, + 87, + '1999-01-01 00:00:00.000000', + 500, + 1367, + 30000, + 6 + ), + ( + 160013, + 160013, + 90, + '1999-01-01 00:00:00.000000', + 250, + 1425, + 30000, + 9 + ), + ( + 160014, + 160014, + 92, + '1965-01-01 00:00:00.000000', + 250, + 2478, + 30000, + 5 + ), + ( + 160015, + 160015, + 93, + '1970-01-01 00:00:00.000000', + 500, + 1416, + 30000, + 6 + ), + ( + 160016, + 160016, + 95, + '1961-01-01 00:00:00.000000', + 250, + 1708, + 30000, + 19 + ), + ( + 160017, + 160017, + 96, + '1970-01-01 00:00:00.000000', + 125, + 5754, + 30000, + 5 + ), + ( + 160018, + 160018, + 98, + '1970-01-01 00:00:00.000000', + 0, + 6493, + 30000, + 5 + ), + ( + 160019, + 160020, + 1464, + '1969-01-01 00:00:00.000000', + 500, + 1476, + 30000, + 4 + ), + ( + 160020, + 160021, + 1459, + '1971-01-01 00:00:00.000000', + 250, + 2518, + 30000, + 16 + ), + ( + 160021, + 160022, + 79, + '1932-01-01 00:00:00.000000', + 500, + 740, + 30000, + 10 + ), + ( + 160022, + 160023, + 875, + '1940-01-01 00:00:00.000000', + 500, + 782, + 30000, + 10 + ), + ( + 160023, + 160024, + 81, + '1999-01-01 00:00:00.000000', + 1000, + 1057, + 30000, + 4 + ), + ( + 160024, + 160025, + 82, + '1999-01-01 00:00:00.000000', + 1000, + 1107, + 30000, + 15 + ), + ( + 160025, + 160026, + 878, + '1999-01-01 00:00:00.000000', + 1000, + 1257, + 30000, + 4 + ), + ( + 160026, + 160027, + 85, + '1999-01-01 00:00:00.000000', + 1000, + 1167, + 30000, + 15 + ), + ( + 160027, + 160028, + 879, + '1999-01-01 00:00:00.000000', + 500, + 1299, + 30000, + 4 + ), + ( + 160028, + 160029, + 876, + '1999-01-01 00:00:00.000000', + 500, + 1233, + 30000, + 15 + ), + ( + 160029, + 160030, + 88, + '1970-01-01 00:00:00.000000', + 500, + 2212, + 30000, + 16 + ), + ( + 160030, + 160031, + 89, + '1999-01-01 00:00:00.000000', + 250, + 2438, + 30000, + 3 + ), + ( + 160031, + 160032, + 91, + '1999-01-01 00:00:00.000000', + 250, + 2518, + 30000, + 3 + ), + ( + 160032, + 160033, + 877, + '1999-01-01 00:00:00.000000', + 125, + 5340, + 30000, + 3 + ), + ( + 160033, + 160034, + 94, + '1999-01-01 00:00:00.000000', + 125, + 2681, + 30000, + 3 + ), + ( + 160034, + 160035, + 880, + '1968-01-01 00:00:00.000000', + 125, + 3074, + 30000, + 17 + ), + ( + 160035, + 160036, + 97, + '1999-01-01 00:00:00.000000', + 500, + 2212, + 30000, + 3 + ), + ( + 160036, + 160037, + 34, + '1968-01-01 00:00:00.000000', + 500, + 1468, + 30000, + 11 + ), + ( + 160037, + 160038, + 38, + '1966-01-01 00:00:00.000000', + 250, + 2513, + 30000, + 12 + ), + ( + 160038, + 160039, + 42, + '1968-01-01 00:00:00.000000', + 125, + 5756, + 30000, + 12 + ), + ( + 160039, + 160042, + 52, + '1959-01-01 00:00:00.000000', + 500, + 1620, + 30000, + 13 + ), + ( + 160040, + 160043, + 54, + '1967-01-01 00:00:00.000000', + 250, + 2505, + 30000, + 13 + ), + ( + 160041, + 160044, + 56, + '1999-01-01 00:00:00.000000', + 125, + 2681, + 30000, + 13 + ), + ( + 160042, + 160045, + 58, + '1999-01-01 00:00:00.000000', + 125, + 7226, + 30000, + 13 + ), + ( + 160043, + 160046, + 421, + '1967-01-01 00:00:00.000000', + 0, + 7567, + 30000, + 14 + ), + ( + 160044, + 160047, + 442, + '1968-01-01 00:00:00.000000', + 30, + 4121, + 30000, + 17 + ), + ( + 160046, + 160049, + 495, + '1999-01-01 00:00:00.000000', + 0, + 4840, + 30000, + 6 + ), + ( + 160047, + 160050, + 498, + '1955-01-01 00:00:00.000000', + 500, + 820, + 30000, + 10 + ), + ( + 160048, + 160060, + 1036, + '1965-01-01 00:00:00.000000', + 1000, + 1261, + 32000, + 14 + ), + ( + 160049, + 160061, + 1037, + '1965-01-01 00:00:00.000000', + 500, + 1442, + 30000, + 14 + ), + ( + 160050, + 160062, + 1038, + '1965-01-01 00:00:00.000000', + 250, + 2438, + 30000, + 14 + ), + ( + 160054, + 160052, + 1039, + '1999-01-01 00:00:00.000000', + 500, + 1354, + 30000, + 2 + ), + ( + 160055, + 160059, + 1040, + '1999-01-01 00:00:00.000000', + 125, + 5545, + 30000, + 1 + ), + ( + 160056, + 160058, + 1041, + '1963-01-01 00:00:00.000000', + 60, + 2674, + 30000, + 1 + ), + ( + 160057, + 160053, + 1042, + '1999-01-01 00:00:00.000000', + 500, + 1430, + 30000, + 2 + ), + ( + 160069, + 160040, + 1176, + '1960-01-01 00:00:00.000000', + 500, + 1483, + 30000, + 13 + ), + ( + 160070, + 160041, + 1177, + '1960-01-01 00:00:00.000000', + 250, + 2644, + 30000, + 13 + ), + ( + 160072, + 160019, + 1530, + '1969-01-01 00:00:00.000000', + 250, + 2518, + 30000, + 5 + ), + ( + 160073, + 160055, + 1655, + '1959-01-01 00:00:00.000000', + 250, + 1600, + 30000, + 1 + ), + ( + 160074, + 160056, + 1659, + '1971-01-01 00:00:00.000000', + 250, + 2544, + 32100, + 1 + ), + ( + 160075, + 160057, + 1670, + '1959-01-01 00:00:00.000000', + 125, + 2593, + 30000, + 1 + ), + ( + 160076, + 160063, + 2451, + '1960-01-01 00:00:00.000000', + 0, + 889, + 30000, + 6 + ), + ( + 160077, + 160064, + 2459, + '1970-01-01 00:00:00.000000', + 250, + 1506, + 30000, + 14 + ), + ( + 160078, + 160065, + 2462, + '1964-01-01 00:00:00.000000', + 0, + 7810, + 30000, + 18 + ), + ( + 160079, + 160051, + 2488, + '1964-01-01 00:00:00.000000', + 250, + 1214, + 30000, + 2 + ), + ( + 160080, + 160054, + 2489, + '1971-01-01 00:00:00.000000', + 125, + 1506, + 30000, + 2 + ), + ( + 160081, + 160066, + 2491, + '1961-01-01 00:00:00.000000', + 60, + 6094, + 30000, + 3 + ), + ( + 160082, + 160067, + 2521, + '1969-01-01 00:00:00.000000', + 0, + 7685, + 30000, + 17 + ), + ( + 160083, + 160068, + 2523, + '1964-01-01 00:00:00.000000', + 30, + 2357, + 30000, + 4 + ), + ( + 160084, + 160069, + 2524, + '1969-01-01 00:00:00.000000', + 30, + 2435, + 30000, + 4 + ), + ( + 160085, + 160070, + 2536, + '1967-01-01 00:00:00.000000', + 125, + 2504, + 30000, + 7 + ), + ( + 160086, + 160071, + 2537, + '1967-01-01 00:00:00.000000', + 125, + 1803, + 30000, + 7 + ), + ( + 160087, + 160048, + 444, + '1966-01-01 00:00:00.000000', + 125, + 2682, + 30000, + 5 + ), + ( + 160088, + 160072, + 2539, + '1969-01-01 00:00:00.000000', + 0, + 5721, + 30000, + 5 + ), + ( + 160089, + 160073, + 2550, + '1957-01-01 00:00:00.000000', + 125, + 1272, + 30000, + 21 + ), + ( + 160090, + 160074, + 2551, + '1959-01-01 00:00:00.000000', + 125, + 1424, + 30000, + 21 + ), + ( + 160091, + 160075, + 2552, + '1964-01-01 00:00:00.000000', + 60, + 1530, + 30000, + 21 + ), + ( + 160092, + 160076, + 2553, + '1964-01-01 00:00:00.000000', + 125, + 1293, + 30000, + 8 + ), + ( + 160093, + 160077, + 2554, + '1966-01-01 00:00:00.000000', + 125, + 1431, + 30000, + 8 + ), + ( + 160094, + 160078, + 2555, + '1956-01-01 00:00:00.000000', + 125, + 1326, + 30000, + 9 + ), + ( + 160095, + 160079, + 2556, + '1964-01-01 00:00:00.000000', + 60, + 1598, + 30000, + 9 + ), + ( + 160096, + 160081, + 2617, + '1969-01-01 00:00:00.000000', + 0, + 19673, + 30000, + 17 + ), + ( + 160097, + 160080, + 2618, + '1969-01-01 00:00:00.000000', + 0, + 30739, + 30000, + 17 + ), + ( + 160098, + 160082, + 2770, + '1971-01-01 00:00:00.000000', + 125, + 2510, + 30000, + 14 + ), + ( + 180001, + 180001, + 102, + '1955-01-01 00:00:00.000000', + 1000, + 137, + 30000, + 6 + ), + ( + 180002, + 180002, + 103, + '1965-01-01 00:00:00.000000', + 1000, + 135, + 30000, + 5 + ), + ( + 180003, + 180017, + 881, + '1971-01-01 00:00:00.000000', + 125, + 186, + 30000, + 6 + ), + ( + 180004, + 180019, + 1408, + '1990-01-01 00:00:00.000000', + 60, + 435, + 30000, + 6 + ), + ( + 180005, + 180020, + 1409, + '1990-01-01 00:00:00.000000', + 30, + 270, + 30000, + 6 + ), + ( + 180006, + 180021, + 1423, + '1990-01-01 00:00:00.000000', + 30, + 1053, + 30000, + 6 + ), + ( + 180007, + 180018, + 1407, + '1990-01-01 00:00:00.000000', + 125, + 226, + 30000, + 6 + ), + ( + 180008, + 180022, + 1431, + '1990-01-01 00:00:00.000000', + 60, + 312, + 30000, + 6 + ), + ( + 180009, + 180023, + 1432, + '1990-01-01 00:00:00.000000', + 60, + 316, + 30000, + 5 + ), + ( + 180010, + 180003, + 1874, + '1967-01-01 00:00:00.000000', + 1000, + 184, + 30000, + 7 + ), + ( + 180011, + 180004, + 1875, + '1961-01-01 00:00:00.000000', + 1000, + 186, + 30000, + 8 + ), + ( + 180012, + 180005, + 1876, + '1950-01-01 00:00:00.000000', + 1000, + 136, + 30000, + 9 + ), + ( + 180013, + 180006, + 1877, + '1965-01-01 00:00:00.000000', + 1000, + 177, + 30000, + 5 + ), + ( + 180014, + 180007, + 1878, + '1970-01-01 00:00:00.000000', + 1000, + 180, + 30000, + 6 + ), + ( + 180015, + 180008, + 1879, + '1958-01-01 00:00:00.000000', + 250, + 179, + 30000, + 1 + ), + ( + 180016, + 180009, + 1880, + '1964-01-01 00:00:00.000000', + 500, + 180, + 30000, + 2 + ), + ( + 180017, + 180010, + 1881, + '1958-01-01 00:00:00.000000', + 1000, + 136, + 30000, + 3 + ), + ( + 180018, + 180011, + 1882, + '1964-01-01 00:00:00.000000', + 1000, + 128, + 30000, + 15 + ), + ( + 180019, + 180012, + 1883, + '1932-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 10 + ), + ( + 180020, + 180013, + 1884, + '1970-01-01 00:00:00.000000', + 500, + 178, + 30000, + 12 + ), + ( + 180021, + 180014, + 1885, + '1968-01-01 00:00:00.000000', + 1000, + 135, + 30000, + 11 + ), + ( + 180022, + 180015, + 1886, + '1966-01-01 00:00:00.000000', + 1000, + 165, + 30000, + 14 + ), + ( + 180023, + 180016, + 1887, + '1955-01-01 00:00:00.000000', + 1000, + 135, + 30000, + 13 + ), + ( + 180024, + 180024, + 1888, + '1968-01-01 00:00:00.000000', + 125, + 177, + 30000, + 11 + ), + ( + 180025, + 180025, + 1889, + '1965-01-01 00:00:00.000000', + 1000, + 137, + 30000, + 12 + ), + ( + 180026, + 180026, + 1890, + '1968-01-01 00:00:00.000000', + 1000, + 185, + 30000, + 12 + ), + ( + 180027, + 180027, + 1891, + '1955-01-01 00:00:00.000000', + 250, + 177, + 30000, + 13 + ), + ( + 180028, + 180028, + 1892, + '1959-01-01 00:00:00.000000', + 125, + 185, + 30000, + 13 + ), + ( + 180029, + 180029, + 1893, + '1969-01-01 00:00:00.000000', + 125, + 215, + 30000, + 13 + ), + ( + 180030, + 180030, + 1894, + '1970-01-01 00:00:00.000000', + 1000, + 183, + 30000, + 4 + ), + ( + 180031, + 180031, + 1895, + '1970-01-01 00:00:00.000000', + 125, + 179, + 30000, + 3 + ), + ( + 180032, + 180032, + 1896, + '1965-01-01 00:00:00.000000', + 30, + 215, + 30000, + 3 + ), + ( + 180033, + 180033, + 1897, + '1968-01-01 00:00:00.000000', + 500, + 222, + 30000, + 3 + ), + ( + 180034, + 180034, + 1898, + '1970-01-01 00:00:00.000000', + 60, + 220, + 30000, + 4 + ), + ( + 180035, + 180035, + 1899, + '1965-01-01 00:00:00.000000', + 125, + 179, + 30000, + 3 + ), + ( + 180036, + 180036, + 1900, + '1958-01-01 00:00:00.000000', + 1000, + 136, + 30000, + 1 + ), + ( + 180037, + 180037, + 1901, + '1964-01-01 00:00:00.000000', + 30, + 212, + 30000, + 18 + ), + ( + 180038, + 180038, + 1902, + '1964-01-01 00:00:00.000000', + 1000, + 135, + 30000, + 2 + ), + ( + 180039, + 180039, + 1903, + '1987-01-01 00:00:00.000000', + 30, + 267, + 30000, + 5 + ), + ( + 180040, + 180040, + 1904, + '1987-01-01 00:00:00.000000', + 30, + 1202, + 30000, + 5 + ), + ( + 180041, + 180041, + 1905, + '1987-01-01 00:00:00.000000', + 30, + 265, + 30000, + 4 + ), + ( + 180042, + 180042, + 1906, + '1987-01-01 00:00:00.000000', + 60, + 312, + 30000, + 4 + ), + ( + 180043, + 180043, + 1907, + '1987-01-01 00:00:00.000000', + 30, + 267, + 30000, + 3 + ), + ( + 180044, + 180044, + 1908, + '1987-01-01 00:00:00.000000', + 60, + 314, + 30000, + 3 + ), + ( + 180045, + 180045, + 1909, + '1987-01-01 00:00:00.000000', + 30, + 267, + 30000, + 1 + ), + ( + 180046, + 180046, + 1910, + '1987-01-01 00:00:00.000000', + 30, + 265, + 30000, + 2 + ), + ( + 180047, + 180047, + 1911, + '1987-01-01 00:00:00.000000', + 60, + 314, + 30000, + 1 + ), + ( + 180048, + 180048, + 1912, + '1987-01-01 00:00:00.000000', + 60, + 312, + 30000, + 2 + ), + ( + 180049, + 180049, + 2043, + '1953-01-01 00:00:00.000000', + 1000, + 177, + 30000, + 21 + ), + ( + 180050, + 180050, + 2091, + '1961-01-01 00:00:00.000000', + 125, + 162, + 30000, + 3 + ), + ( + 180051, + 180033, + 2095, + '1968-01-01 00:00:00.000000', + 125, + 222, + 30000, + 3 + ), + ( + 180052, + 180051, + 2097, + '1964-01-01 00:00:00.000000', + 125, + 226, + 30000, + 4 + ), + ( + 180053, + 180052, + 2461, + '1966-01-01 00:00:00.000000', + 125, + 157, + 30000, + 14 + ), + ( + 180054, + 180036, + 2466, + '1964-01-01 00:00:00.000000', + 0, + 136, + 30000, + 18 + ), + ( + 180055, + 180053, + 2477, + '1940-01-01 00:00:00.000000', + 1000, + 140, + 30000, + 20 + ), + ( + 180056, + 180054, + 2501, + '1970-01-01 00:00:00.000000', + 1000, + 183, + 30000, + 16 + ), + ( + 180057, + 180055, + 2502, + '1971-01-01 00:00:00.000000', + 125, + 573, + 30000, + 16 + ), + ( + 180058, + 180056, + 2513, + '1968-01-01 00:00:00.000000', + 1000, + 137, + 30000, + 17 + ), + ( + 180059, + 180057, + 2514, + '1969-01-01 00:00:00.000000', + 125, + 212, + 30000, + 17 + ), + ( + 180060, + 180058, + 2515, + '1970-01-01 00:00:00.000000', + 0, + 934, + 30000, + 17 + ), + ( + 180061, + 180059, + 2530, + '1954-01-01 00:00:00.000000', + 125, + 166, + 30000, + 15 + ), + ( + 180062, + 180060, + 2545, + '1958-01-01 00:00:00.000000', + 1000, + 179, + 30000, + 19 + ), + ( + 180063, + 180061, + 2645, + '1955-01-21 00:00:00.000000', + 250, + 566, + 30000, + 21 + ), + ( + 180064, + 180062, + 2646, + '1968-01-21 00:00:00.000000', + 250, + 469, + 30000, + 8 + ), + ( + 180065, + 180063, + 2647, + '1968-01-21 00:00:00.000000', + 250, + 471, + 30000, + 7 + ), + ( + 180066, + 180064, + 2648, + '1947-01-18 00:00:00.000000', + 250, + 275, + 30000, + 20 + ), + ( + 180067, + 180065, + 2649, + '1955-02-14 00:00:00.000000', + 250, + 330, + 30000, + 9 + ), + ( + 180068, + 180066, + 2654, + '1959-02-18 00:00:00.000000', + 250, + 471, + 30000, + 19 + ), + ( + 180069, + 180067, + 2655, + '1965-03-21 00:00:00.000000', + 60, + 648, + 30000, + 18 + ), + ( + 180070, + 180068, + 2656, + '1939-04-16 00:00:00.000000', + 250, + 255, + 30000, + 10 + ), + ( + 180071, + 180069, + 2657, + '1968-05-16 00:00:00.000000', + 250, + 469, + 30000, + 11 + ), + ( + 180072, + 180070, + 2658, + '1968-05-16 00:00:00.000000', + 250, + 565, + 30000, + 12 + ), + ( + 180073, + 180076, + 2849, + '1957-01-01 00:00:00.000000', + 125, + 234, + 30000, + 15 + ), + ( + 180074, + 180075, + 2848, + '1957-01-01 00:00:00.000000', + 125, + 518, + 30000, + 15 + ), + ( + 180075, + 180074, + 2847, + '1957-01-01 00:00:00.000000', + 125, + 233, + 30000, + 15 + ), + ( + 180076, + 180071, + 2851, + '1957-01-01 00:00:00.000000', + 250, + 199, + 30000, + 15 + ), + ( + 180077, + 180072, + 2852, + '1957-01-01 00:00:00.000000', + 125, + 166, + 30000, + 15 + ), + ( + 180078, + 180073, + 2853, + '1957-01-01 00:00:00.000000', + 60, + 230, + 30000, + 15 + ), + ( + 180079, + 180077, + 2845, + '1957-01-01 00:00:00.000000', + 1000, + 171, + 30000, + 15 + ), + ( + 180080, + 180078, + 2846, + '1957-01-01 00:00:00.000000', + 250, + 195, + 30000, + 15 + ), + ( + 180081, + 180079, + 2977, + '1965-01-01 00:00:00.000000', + 250, + 469, + 30000, + 4 + ), + ( + 180082, + 180087, + 2985, + '1965-01-01 00:00:00.000000', + 250, + 566, + 30000, + 21 + ), + ( + 180083, + 180088, + 2986, + '1965-01-01 00:00:00.000000', + 60, + 597, + 30000, + 21 + ), + ( + 180084, + 180089, + 2987, + '1965-01-01 00:00:00.000000', + 250, + 484, + 30000, + 21 + ), + ( + 180085, + 180084, + 2982, + '1965-01-01 00:00:00.000000', + 250, + 597, + 30000, + 21 + ), + ( + 180086, + 180081, + 2979, + '1965-01-01 00:00:00.000000', + 250, + 597, + 30000, + 4 + ), + ( + 180087, + 180082, + 2980, + '1965-01-01 00:00:00.000000', + 125, + 329, + 30000, + 21 + ), + ( + 180088, + 180085, + 2983, + '1965-01-01 00:00:00.000000', + 500, + 566, + 30000, + 21 + ), + ( + 180089, + 180086, + 2984, + '1965-01-01 00:00:00.000000', + 250, + 566, + 30000, + 21 + ), + ( + 180090, + 180080, + 2978, + '1965-01-01 00:00:00.000000', + 125, + 752, + 30000, + 4 + ), + ( + 180091, + 180083, + 2981, + '1965-01-01 00:00:00.000000', + 125, + 888, + 30000, + 21 + ), + ( + 180092, + 180091, + 3067, + '1966-01-01 00:00:00.000000', + 125, + 500, + 30000, + 2 + ), + ( + 180093, + 180093, + 3069, + '1966-01-01 00:00:00.000000', + 60, + 717, + 30000, + 2 + ), + ( + 180094, + 180092, + 3068, + '1966-01-01 00:00:00.000000', + 125, + 345, + 30000, + 2 + ), + ( + 180095, + 180090, + 3066, + '1966-01-01 00:00:00.000000', + 250, + 216, + 30000, + 2 + ), + ( + 180096, + 180094, + 3104, + '1966-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 13 + ), + ( + 180097, + 180095, + 3105, + '1966-01-01 00:00:00.000000', + 60, + 1851, + 30000, + 13 + ), + ( + 180098, + 180096, + 3106, + '1966-01-01 00:00:00.000000', + 125, + 1506, + 30000, + 13 + ), + ( + 180099, + 180149, + 3362, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 12 + ), + ( + 180100, + 180130, + 3346, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 19 + ), + ( + 180101, + 180157, + 3370, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 1 + ), + ( + 180102, + 180141, + 3354, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 14 + ), + ( + 180103, + 180165, + 3378, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 3 + ), + ( + 180104, + 180117, + 3330, + '1967-01-01 00:00:00.000000', + 125, + 1157, + 30000, + 18 + ), + ( + 180105, + 180125, + 3338, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 9 + ), + ( + 180106, + 180173, + 3386, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 5 + ), + ( + 180107, + 180109, + 3322, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 17 + ), + ( + 180108, + 180101, + 3314, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 16 + ), + ( + 180109, + 180172, + 3385, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 5 + ), + ( + 180110, + 180148, + 3361, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 12 + ), + ( + 180111, + 180108, + 3321, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 17 + ), + ( + 180112, + 180100, + 3313, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 16 + ), + ( + 180113, + 180156, + 3369, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 1 + ), + ( + 180114, + 180129, + 3345, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 19 + ), + ( + 180115, + 180140, + 3353, + '1967-01-01 00:00:00.000000', + 500, + 255, + 30000, + 14 + ), + ( + 180116, + 180124, + 3337, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 9 + ), + ( + 180117, + 180116, + 3329, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 18 + ), + ( + 180118, + 180164, + 3377, + '1967-01-01 00:00:00.000000', + 500, + 1255, + 30000, + 3 + ), + ( + 180119, + 180120, + 3333, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 18 + ), + ( + 180120, + 180160, + 3373, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 1 + ), + ( + 180121, + 180133, + 3349, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 19 + ), + ( + 180122, + 180144, + 3357, + '1967-01-01 00:00:00.000000', + 0, + 3877, + 30000, + 14 + ), + ( + 180123, + 180112, + 3325, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 17 + ), + ( + 180124, + 180168, + 3381, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 3 + ), + ( + 180125, + 180104, + 3317, + '1967-01-01 00:00:00.000000', + 0, + 5818, + 30000, + 16 + ), + ( + 180126, + 180128, + 3341, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 9 + ), + ( + 180127, + 180176, + 3389, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 5 + ), + ( + 180128, + 180152, + 3365, + '1967-01-01 00:00:00.000000', + 0, + 5137, + 30000, + 12 + ), + ( + 180129, + 180158, + 3371, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 1 + ), + ( + 180130, + 180174, + 3387, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 5 + ), + ( + 180131, + 180102, + 3315, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 16 + ), + ( + 180132, + 180142, + 3355, + '1967-01-01 00:00:00.000000', + 125, + 580, + 30000, + 14 + ), + ( + 180133, + 180110, + 3323, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 17 + ), + ( + 180134, + 180131, + 3347, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 19 + ), + ( + 180135, + 180150, + 3363, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 12 + ), + ( + 180136, + 180118, + 3331, + '1967-01-01 00:00:00.000000', + 30, + 1580, + 30000, + 18 + ), + ( + 180137, + 180166, + 3379, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 3 + ), + ( + 180138, + 180126, + 3339, + '1967-01-01 00:00:00.000000', + 125, + 1580, + 30000, + 9 + ), + ( + 180139, + 180151, + 3364, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 12 + ), + ( + 180140, + 180175, + 3388, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 5 + ), + ( + 180141, + 180143, + 3356, + '1967-01-01 00:00:00.000000', + 125, + 317, + 30000, + 14 + ), + ( + 180142, + 180159, + 3372, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 1 + ), + ( + 180143, + 180132, + 3348, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 19 + ), + ( + 180144, + 180127, + 3340, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 9 + ), + ( + 180145, + 180111, + 3324, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 17 + ), + ( + 180146, + 180119, + 3332, + '1967-01-01 00:00:00.000000', + 30, + 1577, + 30000, + 18 + ), + ( + 180147, + 180167, + 3380, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 3 + ), + ( + 180148, + 180103, + 3316, + '1967-01-01 00:00:00.000000', + 125, + 1577, + 30000, + 16 + ), + ( + 180149, + 180154, + 3367, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 1 + ), + ( + 180150, + 180170, + 3383, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 5 + ), + ( + 180151, + 180162, + 3375, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 3 + ), + ( + 180152, + 180122, + 3335, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 9 + ), + ( + 180153, + 180098, + 3311, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 16 + ), + ( + 180154, + 180146, + 3359, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 12 + ), + ( + 180155, + 180106, + 3319, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 17 + ), + ( + 180156, + 180114, + 3327, + '1967-01-01 00:00:00.000000', + 30, + 1384, + 30000, + 18 + ), + ( + 180157, + 180138, + 3351, + '1967-01-01 00:00:00.000000', + 250, + 384, + 30000, + 14 + ), + ( + 180158, + 180135, + 3343, + '1967-01-01 00:00:00.000000', + 250, + 1384, + 30000, + 19 + ), + ( + 180159, + 180097, + 3310, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 16 + ), + ( + 180160, + 180105, + 3318, + '1967-01-01 00:00:00.000000', + 500, + 1157, + 30000, + 17 + ), + ( + 180161, + 180113, + 3326, + '1967-01-01 00:00:00.000000', + 350, + 1389, + 30000, + 18 + ), + ( + 180162, + 180121, + 3334, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 9 + ), + ( + 180163, + 180153, + 3366, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 1 + ), + ( + 180164, + 180134, + 3342, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 19 + ), + ( + 180165, + 180145, + 3358, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 12 + ), + ( + 180166, + 180161, + 3374, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 3 + ), + ( + 180167, + 180137, + 3350, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 14 + ), + ( + 180168, + 180169, + 3382, + '1967-01-01 00:00:00.000000', + 500, + 1389, + 30000, + 5 + ), + ( + 180169, + 180155, + 3368, + '1967-01-01 00:00:00.000000', + 125, + 1587, + 30000, + 1 + ), + ( + 180170, + 180099, + 3312, + '1967-01-01 00:00:00.000000', + 150, + 1587, + 30000, + 16 + ), + ( + 180171, + 180171, + 3384, + '1967-01-01 00:00:00.000000', + 150, + 1587, + 30000, + 5 + ), + ( + 180172, + 180163, + 3376, + '1967-01-01 00:00:00.000000', + 150, + 1587, + 30000, + 3 + ), + ( + 180173, + 180107, + 3320, + '1967-01-01 00:00:00.000000', + 150, + 1587, + 30000, + 17 + ), + ( + 180174, + 180139, + 3352, + '1967-01-01 00:00:00.000000', + 150, + 387, + 30000, + 14 + ), + ( + 180175, + 180115, + 3328, + '1967-01-01 00:00:00.000000', + 30, + 1587, + 30000, + 18 + ), + ( + 180176, + 180136, + 3344, + '1967-01-01 00:00:00.000000', + 125, + 1704, + 30000, + 19 + ), + ( + 180177, + 180123, + 3336, + '1967-01-01 00:00:00.000000', + 125, + 1587, + 30000, + 9 + ), + ( + 180178, + 180147, + 3360, + '1967-01-01 00:00:00.000000', + 125, + 1587, + 30000, + 12 + ), + ( + 190001, + 190001, + 104, + '1968-01-01 00:00:00.000000', + 125, + 185, + 30000, + 4 + ), + ( + 190002, + 190002, + 105, + '1965-01-01 00:00:00.000000', + 250, + 208, + 30000, + 3 + ), + ( + 190003, + 190003, + 106, + '1961-01-01 00:00:00.000000', + 500, + 180, + 30000, + 3 + ), + ( + 190004, + 190004, + 107, + '1969-01-01 00:00:00.000000', + 125, + 163, + 30000, + 13 + ), + ( + 190005, + 190005, + 2650, + '1967-01-01 00:00:00.000000', + 125, + 116, + 30000, + 9 + ), + ( + 190006, + 190006, + 417, + '1961-01-01 00:00:00.000000', + 1000, + 96, + 30000, + 13 + ), + ( + 190007, + 190021, + 1384, + '1990-01-01 00:00:00.000000', + 500, + 185, + 30000, + 4 + ), + ( + 190008, + 190022, + 1389, + '1990-01-01 00:00:00.000000', + 125, + 242, + 30000, + 4 + ), + ( + 190009, + 190023, + 1734, + '1990-01-01 00:00:00.000000', + 250, + 214, + 30000, + 4 + ), + ( + 190010, + 190024, + 1735, + '1990-01-01 00:00:00.000000', + 250, + 205, + 30000, + 4 + ), + ( + 190011, + 190025, + 1395, + '1990-01-01 00:00:00.000000', + 0, + 1511, + 30000, + 3 + ), + ( + 190012, + 190007, + 1820, + '1967-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 7 + ), + ( + 190013, + 190008, + 1821, + '1953-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 21 + ), + ( + 190014, + 190009, + 1822, + '1959-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 9 + ), + ( + 190015, + 190010, + 1823, + '1958-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 5 + ), + ( + 190016, + 190011, + 1824, + '1955-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 6 + ), + ( + 190017, + 190012, + 1825, + '1958-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 1 + ), + ( + 190018, + 190013, + 1826, + '1964-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 2 + ), + ( + 190019, + 190014, + 1827, + '1958-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 3 + ), + ( + 190020, + 190015, + 1828, + '1964-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 4 + ), + ( + 190021, + 190016, + 1829, + '1932-01-01 00:00:00.000000', + 1000, + 81, + 30000, + 10 + ), + ( + 190022, + 190017, + 1830, + '1970-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 12 + ), + ( + 190023, + 190018, + 1831, + '1968-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 11 + ), + ( + 190024, + 190019, + 1832, + '1968-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 14 + ), + ( + 190025, + 190020, + 1833, + '1955-01-01 00:00:00.000000', + 1000, + 163, + 30000, + 13 + ), + ( + 190026, + 190026, + 1834, + '1965-01-01 00:00:00.000000', + 0, + 227, + 30000, + 3 + ), + ( + 190027, + 190027, + 1835, + '1968-01-01 00:00:00.000000', + 500, + 180, + 30000, + 3 + ), + ( + 190028, + 190028, + 1836, + '1971-01-01 00:00:00.000000', + 500, + 180, + 30000, + 17 + ), + ( + 190029, + 190029, + 1837, + '1969-01-01 00:00:00.000000', + 0, + 203, + 30000, + 17 + ), + ( + 190030, + 190030, + 1838, + '1969-01-01 00:00:00.000000', + 125, + 193, + 30000, + 17 + ), + ( + 190031, + 190031, + 1839, + '1964-01-01 00:00:00.000000', + 500, + 187, + 30000, + 1 + ), + ( + 190032, + 190032, + 1840, + '1987-01-01 00:00:00.000000', + 500, + 185, + 30000, + 6 + ), + ( + 190033, + 190033, + 1841, + '1987-01-01 00:00:00.000000', + 500, + 208, + 30000, + 5 + ), + ( + 190034, + 190039, + 1842, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 6 + ), + ( + 190035, + 190038, + 1843, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 5 + ), + ( + 190036, + 190037, + 1844, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 7 + ), + ( + 190037, + 190036, + 1845, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 12 + ), + ( + 190038, + 190035, + 1846, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 13 + ), + ( + 190039, + 190034, + 1847, + '1987-01-01 00:00:00.000000', + 250, + 234, + 30000, + 3 + ), + ( + 190040, + 190045, + 1848, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 13 + ), + ( + 190041, + 190044, + 1849, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 12 + ), + ( + 190042, + 190043, + 1850, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 3 + ), + ( + 190043, + 190042, + 1851, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 6 + ), + ( + 190044, + 190041, + 1852, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 5 + ), + ( + 190045, + 190040, + 1853, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 7 + ), + ( + 190046, + 190046, + 1854, + '1987-01-01 00:00:00.000000', + 250, + 222, + 30000, + 6 + ), + ( + 190047, + 190047, + 1855, + '1999-01-01 00:00:00.000000', + 0, + 1511, + 30000, + 7 + ), + ( + 190048, + 190048, + 1856, + '1999-01-01 00:00:00.000000', + 0, + 1511, + 30000, + 5 + ), + ( + 190049, + 190049, + 1857, + '1999-01-01 00:00:00.000000', + 0, + 1402, + 30000, + 6 + ), + ( + 190050, + 190065, + 1858, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 13 + ), + ( + 190051, + 190064, + 1859, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 1 + ), + ( + 190052, + 190063, + 1860, + '1999-01-01 00:00:00.000000', + 500, + 185, + 30000, + 4 + ), + ( + 190053, + 190062, + 1861, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 3 + ), + ( + 190054, + 190061, + 1862, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 5 + ), + ( + 190055, + 190060, + 1863, + '1999-01-01 00:00:00.000000', + 500, + 185, + 30000, + 6 + ), + ( + 190056, + 190059, + 1864, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 5 + ), + ( + 190057, + 190058, + 1865, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 6 + ), + ( + 190058, + 190057, + 1866, + '1999-01-01 00:00:00.000000', + 250, + 252, + 30000, + 5 + ), + ( + 190059, + 190056, + 1867, + '1999-01-01 00:00:00.000000', + 250, + 252, + 30000, + 6 + ), + ( + 190060, + 190055, + 1868, + '1999-01-01 00:00:00.000000', + 250, + 252, + 30000, + 4 + ), + ( + 190061, + 190054, + 1869, + '1999-01-01 00:00:00.000000', + 500, + 201, + 30000, + 5 + ), + ( + 190062, + 190053, + 1870, + '1999-01-01 00:00:00.000000', + 500, + 185, + 30000, + 6 + ), + ( + 190063, + 190052, + 1871, + '1999-01-01 00:00:00.000000', + 500, + 185, + 30000, + 4 + ), + ( + 190064, + 190051, + 1872, + '1999-01-01 00:00:00.000000', + 125, + 216, + 30000, + 5 + ), + ( + 190065, + 190050, + 1873, + '1999-01-01 00:00:00.000000', + 125, + 195, + 30000, + 6 + ), + ( + 190066, + 190066, + 2054, + '1970-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 6 + ), + ( + 190067, + 190067, + 2058, + '1961-01-01 00:00:00.000000', + 500, + 146, + 30000, + 19 + ), + ( + 190068, + 190068, + 2460, + '1966-01-01 00:00:00.000000', + 1000, + 127, + 30000, + 14 + ), + ( + 190069, + 190069, + 2464, + '1964-01-01 00:00:00.000000', + 30, + 189, + 30000, + 18 + ), + ( + 190070, + 190012, + 2465, + '1964-01-01 00:00:00.000000', + 0, + 163, + 30000, + 18 + ), + ( + 190071, + 190070, + 187, + '1940-01-01 00:00:00.000000', + 1000, + 127, + 30000, + 20 + ), + ( + 190072, + 190071, + 2481, + '1967-01-01 00:00:00.000000', + 1000, + 96, + 30000, + 8 + ), + ( + 190073, + 190072, + 2499, + '1970-01-01 00:00:00.000000', + 1000, + 133, + 30000, + 16 + ), + ( + 190074, + 190073, + 2500, + '1971-01-01 00:00:00.000000', + 125, + 160, + 30000, + 16 + ), + ( + 190075, + 190074, + 2512, + '1968-01-01 00:00:00.000000', + 1000, + 170, + 30000, + 17 + ), + ( + 190076, + 190075, + 2522, + '1964-01-01 00:00:00.000000', + 125, + 153, + 30000, + 4 + ), + ( + 190077, + 190076, + 2532, + '1954-01-01 00:00:00.000000', + 1000, + 125, + 30000, + 15 + ), + ( + 190078, + 190077, + 2533, + '1954-01-01 00:00:00.000000', + 125, + 124, + 30000, + 15 + ), + ( + 190079, + 190078, + 2653, + '1964-01-01 00:00:00.000000', + 125, + 146, + 30000, + 21 + ), + ( + 190080, + 190079, + 2652, + '1964-01-01 00:00:00.000000', + 250, + 133, + 30000, + 8 + ), + ( + 190081, + 190080, + 2651, + '1955-01-01 00:00:00.000000', + 250, + 133, + 30000, + 20 + ), + ( + 190082, + 190081, + 2644, + '1965-01-01 00:00:00.000000', + 500, + 133, + 30000, + 19 + ), + ( + 190083, + 190082, + 2643, + '1990-01-01 00:00:00.000000', + 500, + 208, + 30000, + 19 + ), + ( + 190084, + 190083, + 2642, + '1990-01-01 00:00:00.000000', + 30, + 252, + 30000, + 2 + ), + ( + 190085, + 190084, + 2641, + '1990-01-01 00:00:00.000000', + 30, + 261, + 30000, + 18 + ), + ( + 190086, + 190085, + 2640, + '1990-01-01 00:00:00.000000', + 30, + 231, + 30000, + 18 + ), + ( + 190087, + 190086, + 2639, + '0190-01-01 00:00:00.000000', + 0, + 1511, + 30000, + 18 + ), + ( + 190088, + 190087, + 2638, + '1990-01-01 00:00:00.000000', + 250, + 261, + 30000, + 18 + ), + ( + 190089, + 190088, + 2637, + '1990-01-01 00:00:00.000000', + 250, + 133, + 30000, + 10 + ), + ( + 190090, + 190089, + 2636, + '1965-01-01 00:00:00.000000', + 250, + 180, + 30000, + 11 + ), + ( + 190091, + 190098, + 2862, + '1957-01-01 00:00:00.000000', + 250, + 147, + 30000, + 15 + ), + ( + 190092, + 190095, + 2859, + '1957-01-01 00:00:00.000000', + 250, + 176, + 30000, + 15 + ), + ( + 190093, + 190097, + 2861, + '1957-01-01 00:00:00.000000', + 125, + 124, + 30000, + 15 + ), + ( + 190094, + 190096, + 2860, + '1957-01-01 00:00:00.000000', + 125, + 195, + 30000, + 15 + ), + ( + 190095, + 190094, + 2858, + '1957-01-01 00:00:00.000000', + 125, + 177, + 30000, + 15 + ), + ( + 190096, + 190093, + 2857, + '1957-01-01 00:00:00.000000', + 250, + 164, + 30000, + 15 + ), + ( + 190097, + 190090, + 2854, + '1957-01-01 00:00:00.000000', + 250, + 160, + 30000, + 15 + ), + ( + 190098, + 190091, + 2855, + '1957-01-01 00:00:00.000000', + 125, + 177, + 30000, + 15 + ), + ( + 190099, + 190092, + 2856, + '1957-01-01 00:00:00.000000', + 250, + 177, + 30000, + 15 + ), + ( + 190100, + 190099, + 2966, + '1965-01-01 00:00:00.000000', + 500, + 133, + 30000, + 21 + ), + ( + 190101, + 190101, + 2968, + '1965-01-01 00:00:00.000000', + 250, + 151, + 30000, + 21 + ), + ( + 190102, + 190102, + 2969, + '1965-01-01 00:00:00.000000', + 60, + 202, + 30000, + 21 + ), + ( + 190103, + 190103, + 2970, + '1965-01-01 00:00:00.000000', + 125, + 162, + 30000, + 21 + ), + ( + 190104, + 190104, + 2971, + '1965-01-01 00:00:00.000000', + 125, + 222, + 30000, + 21 + ), + ( + 190105, + 190109, + 2976, + '1965-01-01 00:00:00.000000', + 250, + 178, + 30000, + 4 + ), + ( + 190106, + 190100, + 2967, + '1965-01-01 00:00:00.000000', + 125, + 139, + 30000, + 21 + ), + ( + 190107, + 190106, + 2973, + '1965-01-01 00:00:00.000000', + 250, + 166, + 30000, + 21 + ), + ( + 190108, + 190105, + 2972, + '1965-01-01 00:00:00.000000', + 250, + 162, + 30000, + 21 + ), + ( + 190109, + 190107, + 2974, + '1965-01-01 00:00:00.000000', + 60, + 214, + 30000, + 21 + ), + ( + 190110, + 190108, + 2975, + '1965-01-01 00:00:00.000000', + 60, + 252, + 30000, + 4 + ), + ( + 190111, + 190112, + 3062, + '1966-01-01 00:00:00.000000', + 125, + 193, + 30000, + 2 + ), + ( + 190112, + 190114, + 3065, + '1966-01-01 00:00:00.000000', + 125, + 169, + 30000, + 2 + ), + ( + 190113, + 190113, + 3063, + '1966-01-01 00:00:00.000000', + 125, + 252, + 30000, + 2 + ), + ( + 190114, + 190110, + 3060, + '1966-01-01 00:00:00.000000', + 500, + 139, + 30000, + 2 + ), + ( + 190115, + 190111, + 3061, + '1966-01-01 00:00:00.000000', + 250, + 162, + 30000, + 2 + ), + ( + 190116, + 190115, + 3064, + '1966-01-01 00:00:00.000000', + 250, + 151, + 30000, + 2 + ), + ( + 190117, + 190116, + 3101, + '1966-01-01 00:00:00.000000', + 250, + 173, + 30000, + 13 + ), + ( + 190118, + 190117, + 3102, + '1966-01-01 00:00:00.000000', + 125, + 175, + 30000, + 13 + ), + ( + 190119, + 190118, + 3103, + '1966-01-01 00:00:00.000000', + 125, + 252, + 30000, + 13 + ), + ( + 190120, + 190172, + 3184, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 3 + ), + ( + 190121, + 190159, + 3171, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 12 + ), + ( + 190122, + 190167, + 3179, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 1 + ), + ( + 190123, + 190135, + 3147, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 9 + ), + ( + 190124, + 190146, + 3155, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 19 + ), + ( + 190125, + 190131, + 3143, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 18 + ), + ( + 190126, + 190154, + 3166, + '1967-01-01 00:00:00.000000', + 500, + 185, + 30000, + 14 + ), + ( + 190127, + 190166, + 3178, + '1967-01-01 00:00:00.000000', + 500, + 145, + 30000, + 1 + ), + ( + 190128, + 190158, + 3170, + '1967-01-01 00:00:00.000000', + 500, + 145, + 30000, + 12 + ), + ( + 190129, + 190145, + 3154, + '1967-01-01 00:00:00.000000', + 500, + 145, + 30000, + 19 + ), + ( + 190130, + 190171, + 3183, + '1967-01-01 00:00:00.000000', + 500, + 145, + 30000, + 3 + ), + ( + 190131, + 190153, + 3165, + '1967-01-01 00:00:00.000000', + 500, + 145, + 30000, + 14 + ), + ( + 190132, + 190157, + 3169, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 14 + ), + ( + 190133, + 190170, + 3182, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 1 + ), + ( + 190134, + 190149, + 3158, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 19 + ), + ( + 190135, + 190175, + 3187, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 3 + ), + ( + 190136, + 190162, + 3174, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 12 + ), + ( + 190137, + 190130, + 3142, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 17 + ), + ( + 190138, + 190138, + 3150, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 9 + ), + ( + 190139, + 190134, + 3146, + '1967-01-01 00:00:00.000000', + 0, + 211, + 30000, + 18 + ), + ( + 190140, + 190124, + 3136, + '1967-01-01 00:00:00.000000', + 0, + 1366, + 30000, + 16 + ), + ( + 190141, + 190173, + 3185, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 3 + ), + ( + 190142, + 190168, + 3180, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 1 + ), + ( + 190143, + 190128, + 3140, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 17 + ), + ( + 190144, + 190132, + 3144, + '1967-01-01 00:00:00.000000', + 60, + 189, + 30000, + 18 + ), + ( + 190145, + 190147, + 3156, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 19 + ), + ( + 190146, + 190122, + 3134, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 16 + ), + ( + 190147, + 190136, + 3148, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 9 + ), + ( + 190148, + 190155, + 3167, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 14 + ), + ( + 190149, + 190160, + 3172, + '1967-01-01 00:00:00.000000', + 125, + 175, + 30000, + 12 + ), + ( + 190150, + 190174, + 3186, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 3 + ), + ( + 190151, + 190148, + 3157, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 19 + ), + ( + 190152, + 190156, + 3168, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 14 + ), + ( + 190153, + 190169, + 3181, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 1 + ), + ( + 190154, + 190161, + 3173, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 12 + ), + ( + 190155, + 190137, + 3149, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 9 + ), + ( + 190156, + 190123, + 3135, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 16 + ), + ( + 190157, + 190133, + 3145, + '1967-01-01 00:00:00.000000', + 60, + 281, + 30000, + 18 + ), + ( + 190158, + 190129, + 3141, + '1967-01-01 00:00:00.000000', + 125, + 231, + 30000, + 17 + ), + ( + 190159, + 190143, + 3160, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 19 + ), + ( + 190160, + 190164, + 3176, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 1 + ), + ( + 190161, + 190140, + 3152, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 9 + ), + ( + 190162, + 190151, + 3163, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 14 + ), + ( + 190163, + 190120, + 3132, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 16 + ), + ( + 190164, + 190126, + 3138, + '1967-01-01 00:00:00.000000', + 500, + 157, + 30000, + 17 + ), + ( + 190165, + 190139, + 3151, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 9 + ), + ( + 190166, + 190119, + 3131, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 16 + ), + ( + 190167, + 190125, + 3137, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 17 + ), + ( + 190168, + 190142, + 3159, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 19 + ), + ( + 190169, + 190163, + 3175, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 1 + ), + ( + 190170, + 190150, + 3162, + '1967-01-01 00:00:00.000000', + 500, + 166, + 30000, + 14 + ), + ( + 190171, + 190141, + 3153, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 9 + ), + ( + 190172, + 190165, + 3177, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 1 + ), + ( + 190173, + 190144, + 3161, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 19 + ), + ( + 190174, + 190152, + 3164, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 14 + ), + ( + 190175, + 190127, + 3139, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 17 + ), + ( + 190176, + 190121, + 3133, + '1967-01-01 00:00:00.000000', + 250, + 231, + 30000, + 16 + ), + ( + 200001, + 200001, + 1623, + '1932-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 3 + ), + ( + 200002, + 200006, + 490, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 6 + ), + ( + 200003, + 200003, + 491, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 5 + ), + ( + 200004, + 200002, + 518, + '1955-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 4 + ), + ( + 200005, + 200008, + 882, + '1958-01-01 00:00:00.000000', + 125, + 126, + 30000, + 3 + ), + ( + 200006, + 200009, + 1460, + '1966-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 2 + ), + ( + 200007, + 200010, + 1461, + '1969-01-01 00:00:00.000000', + 125, + 297, + 30000, + 14 + ), + ( + 200008, + 200011, + 1516, + '1963-01-01 00:00:00.000000', + 0, + 1915, + 30000, + 19 + ), + ( + 200009, + 200012, + 1582, + '1969-01-01 00:00:00.000000', + 250, + 71, + 30000, + 13 + ), + ( + 200010, + 200005, + 1615, + '1965-01-01 00:00:00.000000', + 0, + 231, + 30000, + 3 + ), + ( + 200011, + 200013, + 1473, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 4 + ), + ( + 200012, + 200014, + 1629, + '1969-01-01 00:00:00.000000', + 125, + 71, + 30000, + 17 + ), + ( + 200013, + 200007, + 1678, + '1999-01-01 00:00:00.000000', + 250, + 175, + 30000, + 15 + ), + ( + 200014, + 200015, + 1683, + '1968-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 1 + ), + ( + 200015, + 200004, + 1471, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 3 + ), + ( + 200016, + 200016, + 1763, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 7 + ), + ( + 200017, + 200017, + 1764, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 8 + ), + ( + 200018, + 200018, + 1765, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 9 + ), + ( + 200019, + 200019, + 1766, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 10 + ), + ( + 200020, + 200020, + 1767, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 12 + ), + ( + 200021, + 200021, + 1768, + '1968-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 11 + ), + ( + 200022, + 200022, + 1769, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 14 + ), + ( + 200023, + 200023, + 1770, + '1999-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 13 + ), + ( + 200024, + 200024, + 1771, + '1999-01-01 00:00:00.000000', + 1000, + 64, + 30000, + 6 + ), + ( + 200025, + 200025, + 1772, + '1999-01-01 00:00:00.000000', + 250, + 297, + 30000, + 7 + ), + ( + 200026, + 200026, + 1773, + '1999-01-01 00:00:00.000000', + 125, + 414, + 30000, + 7 + ), + ( + 200027, + 200027, + 1774, + '1999-01-01 00:00:00.000000', + 500, + 64, + 30000, + 13 + ), + ( + 200028, + 200028, + 1775, + '1999-01-01 00:00:00.000000', + 1000, + 64, + 30000, + 3 + ), + ( + 200029, + 200029, + 1776, + '1999-01-01 00:00:00.000000', + 1000, + 64, + 30000, + 1 + ), + ( + 200030, + 200030, + 1777, + '1999-01-01 00:00:00.000000', + 125, + 350, + 30000, + 19 + ), + ( + 200031, + 200031, + 1778, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 4 + ), + ( + 200032, + 200032, + 1779, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 6 + ), + ( + 200033, + 200033, + 1780, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 5 + ), + ( + 200034, + 200034, + 1781, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 7 + ), + ( + 200035, + 200035, + 1782, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 12 + ), + ( + 200036, + 200036, + 1783, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 6 + ), + ( + 200037, + 200037, + 1784, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 5 + ), + ( + 200038, + 200038, + 1785, + '1999-01-01 00:00:00.000000', + 125, + 193, + 30000, + 1 + ), + ( + 200039, + 200039, + 1786, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 1 + ), + ( + 200040, + 200040, + 1787, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 7 + ), + ( + 200041, + 200041, + 1788, + '1999-01-01 00:00:00.000000', + 125, + 297, + 30000, + 12 + ), + ( + 200042, + 200042, + 1963, + '1957-01-01 00:00:00.000000', + 125, + 217, + 30000, + 15 + ), + ( + 200043, + 200043, + 2024, + '1966-01-01 00:00:00.000000', + 250, + 278, + 30000, + 3 + ), + ( + 200044, + 200044, + 2025, + '1966-01-01 00:00:00.000000', + 250, + 125, + 30000, + 3 + ), + ( + 200045, + 200045, + 2026, + '1959-01-01 00:00:00.000000', + 125, + 142, + 30000, + 1 + ), + ( + 200046, + 200046, + 2040, + '1965-01-01 00:00:00.000000', + 1000, + 64, + 30000, + 5 + ), + ( + 200047, + 200047, + 2052, + '1967-01-01 00:00:00.000000', + 250, + 153, + 30000, + 6 + ), + ( + 200048, + 200048, + 2056, + '1958-01-01 00:00:00.000000', + 250, + 126, + 30000, + 19 + ), + ( + 200049, + 200049, + 2057, + '1959-01-01 00:00:00.000000', + 125, + 414, + 30000, + 19 + ), + ( + 200050, + 200050, + 2059, + '1963-01-01 00:00:00.000000', + 250, + 153, + 30000, + 19 + ), + ( + 200051, + 200051, + 2063, + '1970-01-01 00:00:00.000000', + 250, + 193, + 30000, + 5 + ), + ( + 200052, + 200052, + 2066, + '1966-01-01 00:00:00.000000', + 250, + 193, + 30000, + 12 + ), + ( + 200053, + 200053, + 2075, + '1959-01-01 00:00:00.000000', + 125, + 71, + 30000, + 18 + ), + ( + 200054, + 200054, + 2104, + '1969-01-01 00:00:00.000000', + 250, + 64, + 30000, + 4 + ), + ( + 200055, + 200015, + 2463, + '1964-01-01 00:00:00.000000', + 0, + 54, + 30000, + 18 + ), + ( + 200056, + 200055, + 2475, + '1940-01-01 00:00:00.000000', + 1000, + 40, + 30000, + 20 + ), + ( + 200057, + 200056, + 2483, + '1953-01-01 00:00:00.000000', + 250, + 114, + 30000, + 21 + ), + ( + 200058, + 200057, + 2484, + '1953-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 21 + ), + ( + 200059, + 200058, + 2485, + '1955-01-01 00:00:00.000000', + 125, + 183, + 30000, + 21 + ), + ( + 200060, + 200059, + 2486, + '1956-01-01 00:00:00.000000', + 125, + 333, + 30000, + 21 + ), + ( + 200061, + 200060, + 2490, + '1964-01-01 00:00:00.000000', + 250, + 64, + 30000, + 2 + ), + ( + 200062, + 200061, + 2497, + '1970-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 16 + ), + ( + 200063, + 200062, + 2498, + '1971-01-01 00:00:00.000000', + 250, + 64, + 30000, + 16 + ), + ( + 200064, + 200063, + 2510, + '1968-01-01 00:00:00.000000', + 1000, + 54, + 30000, + 17 + ), + ( + 200065, + 200064, + 2511, + '1970-01-01 00:00:00.000000', + 250, + 64, + 30000, + 17 + ), + ( + 200066, + 200065, + 2531, + '1954-01-01 00:00:00.000000', + 1000, + 50, + 30000, + 15 + ), + ( + 200067, + 200066, + 2627, + '1990-01-01 00:00:00.000000', + 500, + 183, + 30000, + 8 + ), + ( + 200068, + 200068, + 2626, + '1990-01-01 00:00:00.000000', + 250, + 183, + 30000, + 20 + ), + ( + 200069, + 200067, + 2625, + '1990-01-01 00:00:00.000000', + 500, + 64, + 30000, + 20 + ), + ( + 200070, + 200069, + 2624, + '1990-01-01 00:00:00.000000', + 500, + 183, + 30000, + 9 + ), + ( + 200071, + 200070, + 2623, + '1990-01-01 00:00:00.000000', + 60, + 249, + 30000, + 18 + ), + ( + 200072, + 200071, + 2622, + '1990-01-01 00:00:00.000000', + 125, + 167, + 30000, + 18 + ), + ( + 200073, + 200072, + 2620, + '1990-01-01 00:00:00.000000', + 500, + 183, + 30000, + 10 + ), + ( + 200074, + 200073, + 2621, + '1990-01-01 00:00:00.000000', + 250, + 333, + 30000, + 10 + ), + ( + 200075, + 200074, + 2619, + '1990-01-01 00:00:00.000000', + 500, + 183, + 30000, + 11 + ), + ( + 200076, + 200075, + 2659, + '1998-01-01 00:00:00.000000', + 0, + 489, + 30000, + 6 + ), + ( + 200077, + 200076, + 2835, + '1957-01-01 00:00:00.000000', + 125, + 133, + 30000, + 15 + ), + ( + 200078, + 200079, + 2838, + '1957-01-01 00:00:00.000000', + 125, + 137, + 30000, + 15 + ), + ( + 200079, + 200080, + 2839, + '1957-01-01 00:00:00.000000', + 125, + 146, + 30000, + 15 + ), + ( + 200080, + 200077, + 2836, + '1957-01-01 00:00:00.000000', + 125, + 151, + 30000, + 15 + ), + ( + 200081, + 200078, + 2837, + '1957-01-01 00:00:00.000000', + 125, + 156, + 30000, + 15 + ), + ( + 200082, + 200081, + 2840, + '1957-01-01 00:00:00.000000', + 125, + 228, + 30000, + 15 + ), + ( + 200083, + 200083, + 2842, + '1957-01-01 00:00:00.000000', + 60, + 243, + 30000, + 15 + ), + ( + 200084, + 200084, + 2843, + '1957-01-01 00:00:00.000000', + 60, + 268, + 30000, + 15 + ), + ( + 200085, + 200082, + 2841, + '1957-01-01 00:00:00.000000', + 60, + 286, + 30000, + 15 + ), + ( + 200086, + 200085, + 2844, + '1957-01-01 00:00:00.000000', + 60, + 295, + 30000, + 15 + ), + ( + 200087, + 200086, + 2904, + '1964-01-01 00:00:00.000000', + 500, + 185, + 30000, + 6 + ), + ( + 200088, + 200087, + 2905, + '1964-01-01 00:00:00.000000', + 250, + 197, + 30000, + 6 + ), + ( + 200089, + 200094, + 2902, + '1964-01-01 00:00:00.000000', + 250, + 244, + 30000, + 6 + ), + ( + 200090, + 200093, + 2903, + '1964-01-01 00:00:00.000000', + 125, + 260, + 30000, + 6 + ), + ( + 200091, + 200088, + 2906, + '1964-01-01 00:00:00.000000', + 250, + 210, + 30000, + 6 + ), + ( + 200092, + 200089, + 2907, + '1964-01-01 00:00:00.000000', + 125, + 278, + 30000, + 6 + ), + ( + 200093, + 200090, + 2908, + '1964-01-01 00:00:00.000000', + 125, + 327, + 30000, + 6 + ), + ( + 200094, + 200091, + 2909, + '1964-01-01 00:00:00.000000', + 60, + 349, + 30000, + 6 + ), + ( + 200095, + 200092, + 2910, + '1964-01-01 00:00:00.000000', + 60, + 385, + 30000, + 6 + ), + ( + 200096, + 200095, + 2900, + '1964-01-01 00:00:00.000000', + 250, + 181, + 30000, + 6 + ), + ( + 200097, + 200096, + 2901, + '1964-01-01 00:00:00.000000', + 250, + 205, + 30000, + 6 + ), + ( + 200098, + 200112, + 2955, + '1965-01-01 00:00:00.000000', + 250, + 204, + 30000, + 21 + ), + ( + 200099, + 200101, + 2946, + '1965-01-01 00:00:00.000000', + 500, + 244, + 30000, + 4 + ), + ( + 200100, + 200097, + 2941, + '1965-01-01 00:00:00.000000', + 250, + 260, + 30000, + 4 + ), + ( + 200101, + 200110, + 2954, + '1965-01-01 00:00:00.000000', + 125, + 260, + 30000, + 21 + ), + ( + 200102, + 200102, + 2947, + '1965-01-01 00:00:00.000000', + 125, + 269, + 30000, + 4 + ), + ( + 200103, + 200111, + 2956, + '1965-01-01 00:00:00.000000', + 125, + 297, + 30000, + 21 + ), + ( + 200104, + 200103, + 2948, + '1965-01-01 00:00:00.000000', + 60, + 328, + 30000, + 4 + ), + ( + 200105, + 200098, + 2942, + '1965-01-01 00:00:00.000000', + 60, + 350, + 30000, + 4 + ), + ( + 200106, + 200121, + 2965, + '1965-01-01 00:00:00.000000', + 250, + 54, + 30000, + 21 + ), + ( + 200107, + 200120, + 2964, + '1965-01-01 00:00:00.000000', + 500, + 71, + 30000, + 21 + ), + ( + 200108, + 200117, + 2961, + '1965-01-01 00:00:00.000000', + 125, + 139, + 30000, + 21 + ), + ( + 200109, + 200107, + 2953, + '1965-01-01 00:00:00.000000', + 250, + 153, + 30000, + 4 + ), + ( + 200110, + 200116, + 2960, + '1965-01-01 00:00:00.000000', + 250, + 114, + 30000, + 21 + ), + ( + 200111, + 200108, + 2952, + '1965-01-01 00:00:00.000000', + 250, + 114, + 30000, + 4 + ), + ( + 200112, + 200118, + 2962, + '1965-01-01 00:00:00.000000', + 250, + 114, + 30000, + 21 + ), + ( + 200113, + 200119, + 2963, + '1965-01-01 00:00:00.000000', + 125, + 139, + 30000, + 21 + ), + ( + 200114, + 200106, + 2951, + '1965-01-01 00:00:00.000000', + 250, + 114, + 30000, + 4 + ), + ( + 200115, + 200115, + 2959, + '1965-01-01 00:00:00.000000', + 500, + 181, + 30000, + 21 + ), + ( + 200116, + 200100, + 2944, + '1965-01-01 00:00:00.000000', + 250, + 181, + 30000, + 4 + ), + ( + 200117, + 200113, + 2957, + '1965-01-01 00:00:00.000000', + 250, + 193, + 30000, + 21 + ), + ( + 200118, + 200104, + 2949, + '1965-01-01 00:00:00.000000', + 250, + 161, + 30000, + 4 + ), + ( + 200119, + 200114, + 2958, + '1965-01-01 00:00:00.000000', + 125, + 166, + 30000, + 21 + ), + ( + 200120, + 200109, + 2945, + '1965-01-01 00:00:00.000000', + 125, + 212, + 30000, + 4 + ), + ( + 200121, + 200099, + 2943, + '1965-01-01 00:00:00.000000', + 125, + 226, + 30000, + 4 + ), + ( + 200122, + 200105, + 2950, + '1965-01-01 00:00:00.000000', + 60, + 195, + 30000, + 4 + ), + ( + 200123, + 200132, + 3059, + '1966-01-01 00:00:00.000000', + 250, + 64, + 30000, + 2 + ), + ( + 200124, + 200122, + 3050, + '1966-01-01 00:00:00.000000', + 250, + 126, + 30000, + 2 + ), + ( + 200125, + 200130, + 3049, + '1966-01-01 00:00:00.000000', + 500, + 156, + 30000, + 2 + ), + ( + 200126, + 200131, + 3048, + '1966-01-01 00:00:00.000000', + 125, + 278, + 30000, + 2 + ), + ( + 200127, + 200133, + 3055, + '1966-01-01 00:00:00.000000', + 500, + 277, + 30000, + 2 + ), + ( + 200128, + 200134, + 3056, + '1966-01-01 00:00:00.000000', + 125, + 385, + 30000, + 2 + ), + ( + 200129, + 200135, + 3057, + '1966-01-01 00:00:00.000000', + 60, + 455, + 30000, + 2 + ), + ( + 200130, + 200136, + 3058, + '1966-01-01 00:00:00.000000', + 0, + 587, + 30000, + 2 + ), + ( + 200131, + 200124, + 3052, + '1966-01-01 00:00:00.000000', + 500, + 114, + 30000, + 2 + ), + ( + 200132, + 200126, + 3054, + '1966-01-01 00:00:00.000000', + 250, + 114, + 30000, + 2 + ), + ( + 200133, + 200123, + 3051, + '1966-01-01 00:00:00.000000', + 250, + 114, + 30000, + 2 + ), + ( + 200134, + 200125, + 3053, + '1966-01-01 00:00:00.000000', + 125, + 126, + 30000, + 2 + ), + ( + 200135, + 200127, + 3045, + '1966-01-01 00:00:00.000000', + 250, + 161, + 30000, + 2 + ), + ( + 200136, + 200128, + 3046, + '1966-01-01 00:00:00.000000', + 125, + 183, + 30000, + 2 + ), + ( + 200137, + 200129, + 3047, + '1966-01-01 00:00:00.000000', + 60, + 236, + 30000, + 2 + ), + ( + 200138, + 200147, + 3096, + '1966-01-01 00:00:00.000000', + 500, + 252, + 30000, + 13 + ), + ( + 200139, + 200148, + 3097, + '1966-01-01 00:00:00.000000', + 125, + 297, + 30000, + 13 + ), + ( + 200140, + 200149, + 3098, + '1966-01-01 00:00:00.000000', + 125, + 350, + 30000, + 13 + ), + ( + 200141, + 200150, + 3099, + '1966-01-01 00:00:00.000000', + 60, + 414, + 30000, + 13 + ), + ( + 200142, + 200151, + 3100, + '1966-01-01 00:00:00.000000', + 0, + 489, + 30000, + 13 + ), + ( + 200143, + 200137, + 3090, + '1966-01-01 00:00:00.000000', + 500, + 114, + 30000, + 13 + ), + ( + 200144, + 200140, + 3086, + '1966-01-01 00:00:00.000000', + 500, + 114, + 30000, + 13 + ), + ( + 200145, + 200138, + 3089, + '1966-01-01 00:00:00.000000', + 250, + 114, + 30000, + 13 + ), + ( + 200146, + 200141, + 3087, + '1966-01-01 00:00:00.000000', + 125, + 114, + 30000, + 13 + ), + ( + 200147, + 200139, + 3088, + '1966-01-01 00:00:00.000000', + 60, + 139, + 30000, + 13 + ), + ( + 200148, + 200142, + 3091, + '1966-01-01 00:00:00.000000', + 500, + 151, + 30000, + 13 + ), + ( + 200149, + 200145, + 3092, + '1966-01-01 00:00:00.000000', + 500, + 172, + 30000, + 13 + ), + ( + 200150, + 200143, + 3093, + '1966-01-01 00:00:00.000000', + 250, + 195, + 30000, + 13 + ), + ( + 200151, + 200144, + 3094, + '1966-01-01 00:00:00.000000', + 125, + 275, + 30000, + 13 + ), + ( + 200152, + 200146, + 3095, + '1966-01-01 00:00:00.000000', + 60, + 314, + 30000, + 13 + ), + ( + 200153, + 200161, + 3127, + '1966-01-01 00:00:00.000000', + 500, + 252, + 30000, + 5 + ), + ( + 200154, + 200162, + 3128, + '1966-01-01 00:00:00.000000', + 250, + 385, + 30000, + 5 + ), + ( + 200155, + 200163, + 3129, + '1966-01-01 00:00:00.000000', + 125, + 455, + 30000, + 5 + ), + ( + 200156, + 200164, + 3130, + '1966-01-01 00:00:00.000000', + 0, + 587, + 30000, + 5 + ), + ( + 200157, + 200152, + 3118, + '1966-01-01 00:00:00.000000', + 500, + 139, + 30000, + 5 + ), + ( + 200158, + 200153, + 3119, + '1966-01-01 00:00:00.000000', + 250, + 139, + 30000, + 5 + ), + ( + 200159, + 200154, + 3120, + '1966-01-01 00:00:00.000000', + 250, + 139, + 30000, + 5 + ), + ( + 200160, + 200155, + 3121, + '1966-01-01 00:00:00.000000', + 125, + 153, + 30000, + 5 + ), + ( + 200161, + 200156, + 3122, + '1966-01-01 00:00:00.000000', + 125, + 153, + 30000, + 5 + ), + ( + 200162, + 200157, + 3123, + '1966-01-01 00:00:00.000000', + 500, + 205, + 30000, + 5 + ), + ( + 200163, + 200158, + 3124, + '1966-01-01 00:00:00.000000', + 250, + 226, + 30000, + 5 + ), + ( + 200164, + 200159, + 3125, + '1966-01-01 00:00:00.000000', + 150, + 293, + 30000, + 5 + ), + ( + 200165, + 200160, + 3126, + '1966-01-01 00:00:00.000000', + 60, + 376, + 30000, + 5 + ), + ( + 200166, + 200175, + 3486, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 3 + ), + ( + 200167, + 200176, + 3488, + '1967-01-01 00:00:00.000000', + 125, + 350, + 30000, + 3 + ), + ( + 200168, + 200177, + 3489, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 3 + ), + ( + 200169, + 200177, + 3490, + '1967-01-01 00:00:00.000000', + 1, + 455, + 30000, + 3 + ), + ( + 200170, + 200178, + 3490, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 3 + ), + ( + 200171, + 200167, + 3478, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 3 + ), + ( + 200172, + 200165, + 3476, + '1967-01-01 00:00:00.000000', + 250, + 139, + 30000, + 3 + ), + ( + 200173, + 200168, + 3479, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 3 + ), + ( + 200174, + 200169, + 3480, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 3 + ), + ( + 200175, + 200166, + 3477, + '1967-01-01 00:00:00.000000', + 250, + 139, + 30000, + 3 + ), + ( + 200176, + 200170, + 3481, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 3 + ), + ( + 200177, + 200171, + 3482, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 3 + ), + ( + 200178, + 200172, + 3483, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 3 + ), + ( + 200179, + 200173, + 3484, + '1967-01-01 00:00:00.000000', + 125, + 293, + 30000, + 3 + ), + ( + 200180, + 200174, + 3485, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 3 + ), + ( + 200181, + 200183, + 3500, + '1967-01-01 00:00:00.000000', + 250, + 252, + 30000, + 1 + ), + ( + 200182, + 200184, + 3501, + '1967-01-01 00:00:00.000000', + 125, + 385, + 30000, + 1 + ), + ( + 200183, + 200185, + 3502, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 1 + ), + ( + 200184, + 200178, + 3503, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 1 + ), + ( + 200185, + 200189, + 3493, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 1 + ), + ( + 200186, + 200187, + 3491, + '1967-01-01 00:00:00.000000', + 250, + 139, + 30000, + 1 + ), + ( + 200187, + 200190, + 3494, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 1 + ), + ( + 200188, + 200188, + 3492, + '1967-01-01 00:00:00.000000', + 125, + 153, + 30000, + 1 + ), + ( + 200189, + 200191, + 3495, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 1 + ), + ( + 200190, + 200179, + 3496, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 1 + ), + ( + 200191, + 200180, + 3497, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 1 + ), + ( + 200192, + 200181, + 3498, + '1967-01-01 00:00:00.000000', + 125, + 266, + 30000, + 1 + ), + ( + 200193, + 200182, + 3499, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 1 + ), + ( + 200194, + 200201, + 3513, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 12 + ), + ( + 200195, + 200202, + 3514, + '1967-01-01 00:00:00.000000', + 125, + 350, + 30000, + 12 + ), + ( + 200196, + 200203, + 3515, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 12 + ), + ( + 200197, + 200204, + 3516, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 12 + ), + ( + 200198, + 200194, + 3506, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 12 + ), + ( + 200199, + 200192, + 3504, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 12 + ), + ( + 200200, + 200195, + 3507, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 12 + ), + ( + 200201, + 200193, + 3505, + '1967-01-01 00:00:00.000000', + 125, + 153, + 30000, + 12 + ), + ( + 200202, + 200196, + 3508, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 12 + ), + ( + 200203, + 200197, + 3509, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 12 + ), + ( + 200204, + 200198, + 3510, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 12 + ), + ( + 200205, + 200199, + 3511, + '1967-01-01 00:00:00.000000', + 125, + 266, + 30000, + 12 + ), + ( + 200206, + 200200, + 3512, + '1967-01-01 00:00:00.000000', + 60, + 345, + 30000, + 12 + ), + ( + 200207, + 200215, + 3527, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 14 + ), + ( + 200208, + 200216, + 3528, + '1967-01-01 00:00:00.000000', + 250, + 297, + 30000, + 14 + ), + ( + 200209, + 200217, + 3529, + '1967-01-01 00:00:00.000000', + 125, + 350, + 30000, + 14 + ), + ( + 200210, + 200218, + 3530, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 14 + ), + ( + 200211, + 200219, + 3531, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 14 + ), + ( + 200212, + 200207, + 3519, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 14 + ), + ( + 200213, + 200205, + 3517, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 14 + ), + ( + 200214, + 200208, + 3520, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 14 + ), + ( + 200215, + 200206, + 3518, + '1967-01-01 00:00:00.000000', + 125, + 153, + 30000, + 14 + ), + ( + 200216, + 200209, + 3521, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 14 + ), + ( + 200217, + 200210, + 3522, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 14 + ), + ( + 200218, + 200211, + 3523, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 14 + ), + ( + 200219, + 200212, + 3524, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 14 + ), + ( + 200220, + 200213, + 3525, + '1967-01-01 00:00:00.000000', + 125, + 266, + 30000, + 14 + ), + ( + 200221, + 200214, + 3526, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 14 + ), + ( + 200222, + 200228, + 3540, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 19 + ), + ( + 200223, + 200229, + 3541, + '1967-01-01 00:00:00.000000', + 125, + 297, + 30000, + 19 + ), + ( + 200224, + 200230, + 3542, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 19 + ), + ( + 200225, + 200221, + 3533, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 19 + ), + ( + 200226, + 200220, + 3532, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 19 + ), + ( + 200227, + 200141, + 3534, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 19 + ), + ( + 200228, + 200223, + 3535, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 19 + ), + ( + 200229, + 200224, + 3536, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 19 + ), + ( + 200230, + 200225, + 3537, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 19 + ), + ( + 200231, + 200226, + 3538, + '1967-01-01 00:00:00.000000', + 125, + 266, + 30000, + 19 + ), + ( + 200232, + 200227, + 3539, + '1967-01-01 00:00:00.000000', + 60, + 345, + 30000, + 19 + ), + ( + 200233, + 200236, + 3548, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 9 + ), + ( + 200234, + 200237, + 3549, + '1967-01-01 00:00:00.000000', + 250, + 297, + 30000, + 9 + ), + ( + 200235, + 200238, + 3550, + '1967-01-01 00:00:00.000000', + 125, + 350, + 30000, + 9 + ), + ( + 200236, + 200239, + 3551, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 9 + ), + ( + 200237, + 200240, + 3552, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 9 + ), + ( + 200238, + 200231, + 3543, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 9 + ), + ( + 200239, + 200234, + 3547, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 9 + ), + ( + 200240, + 200232, + 3544, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 9 + ), + ( + 200241, + 200235, + 3546, + '1967-01-01 00:00:00.000000', + 250, + 153, + 30000, + 9 + ), + ( + 200242, + 200233, + 3545, + '1967-01-01 00:00:00.000000', + 125, + 114, + 30000, + 9 + ), + ( + 200243, + 200241, + 3553, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 9 + ), + ( + 200244, + 200242, + 3554, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 9 + ), + ( + 200245, + 200243, + 3555, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 9 + ), + ( + 200246, + 200244, + 3556, + '1967-01-01 00:00:00.000000', + 125, + 293, + 30000, + 9 + ), + ( + 200247, + 200245, + 3557, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 9 + ), + ( + 200248, + 200251, + 3563, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 18 + ), + ( + 200249, + 200252, + 3564, + '1967-01-01 00:00:00.000000', + 250, + 297, + 30000, + 18 + ), + ( + 200250, + 200253, + 3565, + '1967-01-01 00:00:00.000000', + 150, + 385, + 30000, + 18 + ), + ( + 200251, + 200254, + 3566, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 18 + ), + ( + 200252, + 200255, + 3567, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 18 + ), + ( + 200253, + 200246, + 3558, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 18 + ), + ( + 200254, + 200249, + 3561, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 18 + ), + ( + 200255, + 200250, + 3562, + '1967-01-01 00:00:00.000000', + 250, + 153, + 30000, + 18 + ), + ( + 200256, + 200247, + 3559, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 18 + ), + ( + 200257, + 200248, + 3560, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 18 + ), + ( + 200258, + 200256, + 3568, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 18 + ), + ( + 200259, + 200257, + 3569, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 18 + ), + ( + 200260, + 200258, + 3570, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 18 + ), + ( + 200261, + 200259, + 3571, + '1967-01-01 00:00:00.000000', + 125, + 293, + 30000, + 18 + ), + ( + 200262, + 200260, + 3572, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 18 + ), + ( + 200263, + 200266, + 3578, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 17 + ), + ( + 200264, + 200267, + 3579, + '1967-01-01 00:00:00.000000', + 250, + 297, + 30000, + 17 + ), + ( + 200265, + 200268, + 3580, + '1967-01-01 00:00:00.000000', + 150, + 385, + 30000, + 17 + ), + ( + 200266, + 200269, + 3581, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 17 + ), + ( + 200267, + 200270, + 3582, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 17 + ), + ( + 200268, + 200261, + 3573, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 17 + ), + ( + 200269, + 200264, + 3576, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 17 + ), + ( + 200270, + 200262, + 3574, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 17 + ), + ( + 200271, + 200265, + 3577, + '1967-01-01 00:00:00.000000', + 125, + 153, + 30000, + 17 + ), + ( + 200272, + 200263, + 3575, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 17 + ), + ( + 200273, + 200271, + 3583, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 17 + ), + ( + 200274, + 200272, + 3584, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 17 + ), + ( + 200275, + 200273, + 3585, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 17 + ), + ( + 200276, + 200274, + 3586, + '1967-01-01 00:00:00.000000', + 125, + 293, + 30000, + 17 + ), + ( + 200277, + 200275, + 3587, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 17 + ), + ( + 200278, + 200281, + 3593, + '1967-01-01 00:00:00.000000', + 500, + 252, + 30000, + 16 + ), + ( + 200279, + 200282, + 3594, + '1967-01-01 00:00:00.000000', + 250, + 297, + 30000, + 16 + ), + ( + 200280, + 200268, + 3595, + '1967-01-01 00:00:00.000000', + 125, + 385, + 30000, + 16 + ), + ( + 200281, + 200284, + 3596, + '1967-01-01 00:00:00.000000', + 125, + 455, + 30000, + 16 + ), + ( + 200282, + 200285, + 3597, + '1967-01-01 00:00:00.000000', + 0, + 538, + 30000, + 16 + ), + ( + 200283, + 200276, + 3588, + '1967-01-01 00:00:00.000000', + 500, + 114, + 30000, + 16 + ), + ( + 200284, + 200279, + 3591, + '1967-01-01 00:00:00.000000', + 500, + 153, + 30000, + 16 + ), + ( + 200285, + 200277, + 3589, + '1967-01-01 00:00:00.000000', + 250, + 114, + 30000, + 16 + ), + ( + 200286, + 200280, + 3592, + '1967-01-01 00:00:00.000000', + 125, + 153, + 30000, + 16 + ), + ( + 200287, + 200278, + 3590, + '1967-01-01 00:00:00.000000', + 125, + 126, + 30000, + 16 + ), + ( + 200288, + 200286, + 3598, + '1967-01-01 00:00:00.000000', + 500, + 181, + 30000, + 16 + ), + ( + 200289, + 200287, + 3599, + '1967-01-01 00:00:00.000000', + 500, + 193, + 30000, + 16 + ), + ( + 200290, + 200288, + 3600, + '1967-01-01 00:00:00.000000', + 250, + 226, + 30000, + 16 + ), + ( + 200291, + 200289, + 3601, + '1967-01-01 00:00:00.000000', + 125, + 293, + 30000, + 16 + ), + ( + 200292, + 200290, + 3602, + '1967-01-01 00:00:00.000000', + 125, + 345, + 30000, + 16 + ), + ( + 230001, + 230001, + 193, + '1954-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230002, + 230002, + 413, + '1940-01-01 00:00:00.000000', + 500, + 130, + 30000, + 0 + ), + ( + 230003, + 230003, + 414, + '1966-01-01 00:00:00.000000', + 250, + 552, + 30000, + 0 + ), + ( + 230004, + 230004, + 415, + '1958-01-01 00:00:00.000000', + 0, + 1062, + 30000, + 0 + ), + ( + 230005, + 230005, + 416, + '1971-01-01 00:00:00.000000', + 0, + 1049, + 30000, + 0 + ), + ( + 230006, + 230006, + 2686, + '1995-01-01 00:00:00.000000', + 125, + 651, + 30000, + 0 + ), + ( + 230007, + 230027, + 3728, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230008, + 230012, + 3714, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230009, + 230023, + 3724, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230010, + 230037, + 3739, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230011, + 230017, + 3719, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230012, + 230018, + 3720, + '1970-01-01 00:00:00.000000', + 150, + 1054, + 30000, + 0 + ), + ( + 230013, + 230026, + 3727, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230014, + 230016, + 3718, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230015, + 230036, + 3738, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230016, + 230011, + 3713, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230017, + 230022, + 3723, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230018, + 230030, + 3732, + '1970-01-01 00:00:00.000000', + 1000, + 169, + 30000, + 0 + ), + ( + 230019, + 230021, + 3722, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230020, + 230019, + 3731, + '1970-01-01 00:00:00.000000', + 1000, + 169, + 30000, + 0 + ), + ( + 230021, + 230029, + 3730, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230022, + 230028, + 3729, + '1970-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230023, + 230025, + 3726, + '1970-01-01 00:00:00.000000', + 250, + 552, + 30000, + 0 + ), + ( + 230024, + 230035, + 3737, + '1970-01-01 00:00:00.000000', + 100, + 1054, + 30000, + 0 + ), + ( + 230025, + 230034, + 3736, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230026, + 230014, + 3716, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230027, + 230008, + 3706, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230028, + 230015, + 3717, + '1970-01-01 00:00:00.000000', + 250, + 1054, + 30000, + 0 + ), + ( + 230029, + 230033, + 3735, + '1970-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230030, + 230013, + 3715, + '1970-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230031, + 230007, + 3705, + '1970-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230032, + 230024, + 3725, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230033, + 230020, + 3721, + '1970-01-01 00:00:00.000000', + 1000, + 242, + 30000, + 0 + ), + ( + 230034, + 230010, + 3712, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230035, + 230009, + 3711, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 230036, + 230032, + 3734, + '1970-01-01 00:00:00.000000', + 500, + 552, + 30000, + 0 + ), + ( + 230037, + 230031, + 3733, + '1970-01-01 00:00:00.000000', + 750, + 242, + 30000, + 0 + ), + ( + 240001, + 240001, + 194, + '1949-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 240002, + 240002, + 410, + '1969-01-01 00:00:00.000000', + 60, + 1224, + 30000, + 0 + ), + ( + 240003, + 240003, + 411, + '1960-01-01 00:00:00.000000', + 500, + 124, + 30000, + 0 + ), + ( + 240004, + 240004, + 412, + '1960-01-01 00:00:00.000000', + 60, + 624, + 30000, + 0 + ), + ( + 240005, + 240005, + 453, + '1960-01-01 00:00:00.000000', + 250, + 673, + 30000, + 0 + ), + ( + 240006, + 240006, + 454, + '1966-01-01 00:00:00.000000', + 125, + 772, + 30000, + 0 + ), + ( + 240007, + 240008, + 1467, + '1995-01-01 00:00:00.000000', + 0, + 1471, + 30000, + 0 + ), + ( + 240008, + 240007, + 1466, + '1995-01-01 00:00:00.000000', + 60, + 821, + 30000, + 0 + ), + ( + 240009, + 240011, + 2694, + '1995-01-01 00:00:00.000000', + 30, + 1471, + 30000, + 0 + ), + ( + 240010, + 240010, + 2695, + '1995-01-01 00:00:00.000000', + 60, + 821, + 30000, + 0 + ), + ( + 240011, + 240009, + 2696, + '1995-01-01 00:00:00.000000', + 60, + 968, + 30000, + 0 + ), + ( + 240012, + 240027, + 3695, + '1970-01-01 00:00:00.000000', + 500, + 1018, + 30000, + 0 + ), + ( + 240013, + 240033, + 3701, + '1970-01-01 00:00:00.000000', + 500, + 1018, + 30000, + 0 + ), + ( + 240014, + 240015, + 3683, + '1970-01-01 00:00:00.000000', + 500, + 1018, + 30000, + 0 + ), + ( + 240015, + 240021, + 3689, + '1970-01-01 00:00:00.000000', + 500, + 1018, + 30000, + 0 + ), + ( + 240016, + 240023, + 3691, + '1970-01-01 00:00:00.000000', + 150, + 722, + 30000, + 0 + ), + ( + 240017, + 240023, + 3697, + '1970-01-01 00:00:00.000000', + 150, + 722, + 30000, + 0 + ), + ( + 240018, + 240017, + 3685, + '1970-01-01 00:00:00.000000', + 150, + 722, + 30000, + 0 + ), + ( + 240019, + 240025, + 3693, + '1970-01-01 00:00:00.000000', + 500, + 1116, + 30000, + 0 + ), + ( + 240020, + 240019, + 3687, + '1970-01-01 00:00:00.000000', + 500, + 1116, + 30000, + 0 + ), + ( + 240021, + 240013, + 3681, + '1970-01-01 00:00:00.000000', + 500, + 1116, + 30000, + 0 + ), + ( + 240022, + 240031, + 3699, + '1970-01-01 00:00:00.000000', + 500, + 1116, + 30000, + 0 + ), + ( + 240023, + 240014, + 3682, + '1970-01-01 00:00:00.000000', + 500, + 321, + 30000, + 0 + ), + ( + 240024, + 240032, + 3700, + '1970-01-01 00:00:00.000000', + 500, + 321, + 30000, + 0 + ), + ( + 240025, + 240026, + 3694, + '1970-01-01 00:00:00.000000', + 500, + 321, + 30000, + 0 + ), + ( + 240026, + 240020, + 3688, + '1970-01-01 00:00:00.000000', + 500, + 321, + 30000, + 0 + ), + ( + 240027, + 240016, + 3684, + '1970-01-01 00:00:00.000000', + 250, + 177, + 30000, + 0 + ), + ( + 240028, + 240022, + 3690, + '1970-01-01 00:00:00.000000', + 250, + 177, + 30000, + 0 + ), + ( + 240029, + 240028, + 3696, + '1970-01-01 00:00:00.000000', + 250, + 177, + 30000, + 0 + ), + ( + 240030, + 240024, + 3692, + '1970-01-01 00:00:00.000000', + 1000, + 419, + 30000, + 0 + ), + ( + 240031, + 240030, + 3698, + '1970-01-01 00:00:00.000000', + 1000, + 419, + 30000, + 0 + ), + ( + 240032, + 240012, + 3680, + '1970-01-01 00:00:00.000000', + 1000, + 419, + 30000, + 0 + ), + ( + 240033, + 240018, + 3686, + '1970-01-01 00:00:00.000000', + 1000, + 419, + 30000, + 0 + ), + ( + 250001, + 250001, + 1444, + '1950-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250002, + 250002, + 165, + '1940-01-01 00:00:00.000000', + 500, + 174, + 30000, + 0 + ), + ( + 250003, + 250003, + 1043, + '1940-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250004, + 250004, + 451, + '1970-01-01 00:00:00.000000', + 30, + 474, + 30000, + 0 + ), + ( + 250005, + 250005, + 467, + '1969-01-01 00:00:00.000000', + 60, + 977, + 30000, + 0 + ), + ( + 250006, + 250006, + 1739, + '1958-01-01 00:00:00.000000', + 125, + 474, + 30000, + 0 + ), + ( + 250007, + 250007, + 468, + '1958-01-01 00:00:00.000000', + 60, + 974, + 30000, + 0 + ), + ( + 250008, + 250008, + 469, + '1965-01-01 00:00:00.000000', + 60, + 480, + 30000, + 0 + ), + ( + 250009, + 250030, + 3759, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250010, + 250029, + 3758, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250011, + 250011, + 3743, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250012, + 250014, + 3746, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250013, + 250028, + 3761, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250014, + 250020, + 3750, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250015, + 250027, + 3760, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250016, + 250019, + 3749, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250017, + 250015, + 3742, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250018, + 250013, + 3745, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250019, + 250026, + 3757, + '1970-01-01 00:00:00.000000', + 500, + 174, + 30000, + 0 + ), + ( + 250020, + 250022, + 3753, + '1970-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250021, + 250016, + 3752, + '1970-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250022, + 250021, + 3751, + '1970-01-01 00:00:00.000000', + 750, + 179, + 30000, + 0 + ), + ( + 250023, + 250018, + 3748, + '1970-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 250024, + 250024, + 3755, + '1970-01-01 00:00:00.000000', + 100, + 1367, + 30000, + 0 + ), + ( + 250025, + 250010, + 3741, + '1970-01-01 00:00:00.000000', + 500, + 670, + 30000, + 0 + ), + ( + 250026, + 250009, + 3740, + '1970-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250027, + 250012, + 3744, + '1970-01-01 00:00:00.000000', + 1000, + 174, + 30000, + 0 + ), + ( + 250028, + 250017, + 3747, + '1970-01-01 00:00:00.000000', + 500, + 179, + 30000, + 0 + ), + ( + 250029, + 250025, + 3756, + '1970-01-01 00:00:00.000000', + 500, + 174, + 30000, + 0 + ), + ( + 250030, + 250023, + 3754, + '1970-01-01 00:00:00.000000', + 750, + 179, + 30000, + 0 + ), + ( + 280001, + 280001, + 108, + '1968-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 3 + ), + ( + 280002, + 280002, + 109, + '1965-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 5 + ), + ( + 280003, + 280003, + 110, + '1958-01-01 00:00:00.000000', + 1000, + 179, + 30000, + 2 + ), + ( + 280004, + 280004, + 438, + '1970-01-01 00:00:00.000000', + 125, + 500, + 30000, + 17 + ), + ( + 280005, + 280006, + 437, + '1964-01-01 00:00:00.000000', + 60, + 845, + 30000, + 19 + ), + ( + 280006, + 280005, + 436, + '1964-01-01 00:00:00.000000', + 125, + 447, + 30000, + 5 + ), + ( + 280007, + 280007, + 488, + '1999-01-01 00:00:00.000000', + 30, + 3431, + 30000, + 6 + ), + ( + 280008, + 280008, + 1288, + '1968-01-01 00:00:00.000000', + 125, + 456, + 30000, + 3 + ), + ( + 280009, + 280010, + 1671, + '1962-01-01 00:00:00.000000', + 60, + 845, + 30000, + 1 + ), + ( + 280010, + 280011, + 1684, + '1970-01-01 00:00:00.000000', + 125, + 516, + 30000, + 14 + ), + ( + 280011, + 280012, + 1685, + '1996-01-01 00:00:00.000000', + 30, + 2037, + 30000, + 5 + ), + ( + 280012, + 280009, + 1295, + '1965-01-01 00:00:00.000000', + 30, + 1811, + 30000, + 3 + ), + ( + 280013, + 280013, + 1935, + '1967-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 7 + ), + ( + 280014, + 280014, + 1936, + '1961-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 8 + ), + ( + 280015, + 280015, + 1937, + '1949-01-01 00:00:00.000000', + 500, + 403, + 30000, + 9 + ), + ( + 280016, + 280016, + 1938, + '1955-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 6 + ), + ( + 280017, + 280017, + 1939, + '1958-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 1 + ), + ( + 280018, + 280018, + 1940, + '1964-01-01 00:00:00.000000', + 1000, + 179, + 30000, + 4 + ), + ( + 280019, + 280019, + 1941, + '1932-01-01 00:00:00.000000', + 125, + 179, + 30000, + 10 + ), + ( + 280020, + 280020, + 1942, + '1965-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 12 + ), + ( + 280021, + 280021, + 1943, + '1968-01-01 00:00:00.000000', + 1000, + 179, + 30000, + 11 + ), + ( + 280022, + 280022, + 1944, + '1959-01-01 00:00:00.000000', + 1000, + 179, + 30000, + 14 + ), + ( + 280023, + 280023, + 1945, + '1955-01-01 00:00:00.000000', + 1000, + 149, + 30000, + 13 + ), + ( + 280024, + 280024, + 1946, + '1957-01-01 00:00:00.000000', + 125, + 179, + 30000, + 6 + ), + ( + 280025, + 280025, + 1947, + '1968-01-01 00:00:00.000000', + 125, + 456, + 30000, + 7 + ), + ( + 280026, + 280026, + 1948, + '1969-01-01 00:00:00.000000', + 60, + 1510, + 30000, + 7 + ), + ( + 280027, + 280027, + 1949, + '1970-01-01 00:00:00.000000', + 250, + 132, + 30000, + 12 + ), + ( + 280028, + 280028, + 1950, + '1967-01-01 00:00:00.000000', + 125, + 486, + 30000, + 13 + ), + ( + 280029, + 280029, + 1951, + '1959-01-01 00:00:00.000000', + 125, + 486, + 30000, + 13 + ), + ( + 280030, + 280030, + 1952, + '1957-01-01 00:00:00.000000', + 125, + 107, + 30000, + 15 + ), + ( + 280031, + 280031, + 1953, + '1968-01-01 00:00:00.000000', + 125, + 456, + 30000, + 3 + ), + ( + 280032, + 280032, + 1954, + '1969-01-01 00:00:00.000000', + 30, + 1509, + 30000, + 17 + ), + ( + 280033, + 280033, + 1955, + '1962-01-01 00:00:00.000000', + 60, + 1510, + 30000, + 1 + ), + ( + 280034, + 280034, + 1956, + '1967-01-01 00:00:00.000000', + 500, + 132, + 30000, + 1 + ), + ( + 280035, + 280035, + 1957, + '1964-01-01 00:00:00.000000', + 60, + 638, + 30000, + 1 + ), + ( + 280036, + 280036, + 1958, + '1964-01-01 00:00:00.000000', + 125, + 456, + 30000, + 1 + ), + ( + 280037, + 280037, + 1959, + '1970-01-01 00:00:00.000000', + 125, + 213, + 30000, + 2 + ), + ( + 280038, + 280038, + 2053, + '1970-01-01 00:00:00.000000', + 125, + 516, + 30000, + 6 + ), + ( + 280039, + 280039, + 2073, + '1959-01-01 00:00:00.000000', + 125, + 486, + 30000, + 13 + ), + ( + 280040, + 280008, + 2090, + '1961-01-01 00:00:00.000000', + 125, + 456, + 30000, + 3 + ), + ( + 280041, + 280040, + 2105, + '1969-01-01 00:00:00.000000', + 125, + 516, + 30000, + 4 + ), + ( + 280042, + 280041, + 2470, + '1964-01-01 00:00:00.000000', + 30, + 500, + 30000, + 18 + ), + ( + 280043, + 280042, + 2471, + '1964-01-01 00:00:00.000000', + 0, + 119, + 30000, + 18 + ), + ( + 280044, + 280043, + 2479, + '1940-01-01 00:00:00.000000', + 125, + 74, + 30000, + 20 + ), + ( + 280045, + 280044, + 2487, + '1953-01-01 00:00:00.000000', + 125, + 119, + 30000, + 21 + ), + ( + 280046, + 280045, + 2505, + '1970-01-01 00:00:00.000000', + 1000, + 149, + 30000, + 16 + ), + ( + 280047, + 280046, + 2519, + '1968-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 17 + ), + ( + 280048, + 280047, + 2520, + '1970-01-01 00:00:00.000000', + 30, + 456, + 30000, + 17 + ), + ( + 280049, + 280048, + 2525, + '1964-01-01 00:00:00.000000', + 125, + 492, + 30000, + 4 + ), + ( + 280050, + 280049, + 2535, + '1954-01-01 00:00:00.000000', + 1000, + 107, + 30000, + 15 + ), + ( + 280051, + 280050, + 2548, + '1958-01-01 00:00:00.000000', + 1000, + 119, + 30000, + 19 + ), + ( + 280052, + 280051, + 2557, + '1959-01-01 00:00:00.000000', + 125, + 456, + 30000, + 19 + ), + ( + 280053, + 280052, + 2558, + '1970-01-01 00:00:00.000000', + 125, + 456, + 30000, + 16 + ), + ( + 280054, + 280053, + 2579, + '1955-02-15 00:00:00.000000', + 60, + 486, + 30000, + 21 + ), + ( + 280055, + 280054, + 2580, + '1947-01-17 00:00:00.000000', + 60, + 411, + 30000, + 20 + ), + ( + 280056, + 280055, + 2581, + '1969-02-22 00:00:00.000000', + 500, + 617, + 30000, + 8 + ), + ( + 280057, + 280056, + 2582, + '1969-02-22 00:00:00.000000', + 30, + 1931, + 30000, + 8 + ), + ( + 280058, + 280057, + 2583, + '1959-03-21 00:00:00.000000', + 250, + 575, + 30000, + 9 + ), + ( + 280059, + 280058, + 2584, + '1940-02-16 00:00:00.000000', + 250, + 516, + 30000, + 10 + ), + ( + 280060, + 280059, + 2585, + '1969-04-11 00:00:00.000000', + 250, + 516, + 30000, + 11 + ), + ( + 280061, + 280061, + 2668, + '1995-01-01 00:00:00.000000', + 30, + 2052, + 30000, + 19 + ), + ( + 280062, + 280062, + 2669, + '1995-01-01 00:00:00.000000', + 30, + 2082, + 30000, + 17 + ), + ( + 280063, + 280060, + 2670, + '1995-01-01 00:00:00.000000', + 30, + 2052, + 30000, + 13 + ), + ( + 280064, + 280063, + 2757, + '1970-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 14 + ), + ( + 280065, + 280064, + 2758, + '1962-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 21 + ), + ( + 280066, + 280065, + 2759, + '1962-06-16 00:00:00.000000', + 30, + 1886, + 30000, + 20 + ), + ( + 280067, + 280066, + 2760, + '1962-06-16 00:00:00.000000', + 30, + 1886, + 30000, + 9 + ), + ( + 280068, + 280067, + 2761, + '1962-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 6 + ), + ( + 280069, + 280068, + 2762, + '1967-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 2 + ), + ( + 280070, + 280069, + 2763, + '1962-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 10 + ), + ( + 280071, + 280070, + 2764, + '1965-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 4 + ), + ( + 280072, + 280071, + 2765, + '1962-06-16 00:00:00.000000', + 30, + 1738, + 30000, + 15 + ), + ( + 280073, + 280072, + 2766, + '1971-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 16 + ), + ( + 280074, + 280073, + 2767, + '1970-06-16 00:00:00.000000', + 30, + 1931, + 30000, + 11 + ), + ( + 280075, + 280074, + 2768, + '1969-06-16 00:00:00.000000', + 30, + 1886, + 30000, + 12 + ), + ( + 280076, + 280075, + 2769, + '1967-06-16 00:00:00.000000', + 30, + 1886, + 30000, + 18 + ), + ( + 280077, + 280076, + 2818, + '1957-01-01 00:00:00.000000', + 500, + 410, + 30000, + 15 + ), + ( + 280078, + 280082, + 2824, + '1957-01-01 00:00:00.000000', + 125, + 439, + 30000, + 15 + ), + ( + 280079, + 280083, + 2825, + '1957-01-01 00:00:00.000000', + 125, + 828, + 30000, + 15 + ), + ( + 280080, + 280077, + 2819, + '1957-01-01 00:00:00.000000', + 500, + 403, + 30000, + 15 + ), + ( + 280081, + 280078, + 2820, + '1957-01-01 00:00:00.000000', + 125, + 774, + 30000, + 15 + ), + ( + 280082, + 280079, + 2821, + '1957-01-01 00:00:00.000000', + 60, + 1399, + 30000, + 15 + ), + ( + 280083, + 280080, + 2822, + '1957-01-01 00:00:00.000000', + 60, + 1538, + 30000, + 15 + ), + ( + 280084, + 280081, + 2823, + '1957-01-01 00:00:00.000000', + 30, + 2253, + 30000, + 15 + ), + ( + 280085, + 280084, + 2826, + '1957-01-01 00:00:00.000000', + 30, + 2299, + 30000, + 15 + ), + ( + 280086, + 280090, + 2898, + '1964-01-01 00:00:00.000000', + 30, + 2926, + 30000, + 6 + ), + ( + 280087, + 280089, + 2897, + '1964-01-01 00:00:00.000000', + 500, + 141, + 30000, + 6 + ), + ( + 280088, + 280088, + 2896, + '1964-01-01 00:00:00.000000', + 125, + 738, + 30000, + 6 + ), + ( + 280089, + 280087, + 2893, + '1964-01-01 00:00:00.000000', + 30, + 2434, + 30000, + 6 + ), + ( + 280090, + 280086, + 2894, + '1964-01-01 00:00:00.000000', + 30, + 2514, + 30000, + 6 + ), + ( + 280091, + 280091, + 2899, + '1964-01-01 00:00:00.000000', + 500, + 238, + 30000, + 6 + ), + ( + 280092, + 280085, + 2895, + '1964-01-01 00:00:00.000000', + 30, + 4342, + 30000, + 6 + ), + ( + 280093, + 280092, + 3026, + '1964-01-01 00:00:00.000000', + 500, + 964, + 30000, + 4 + ), + ( + 280094, + 280096, + 3030, + '1964-01-01 00:00:00.000000', + 250, + 755, + 30000, + 21 + ), + ( + 280095, + 280095, + 3031, + '1964-01-01 00:00:00.000000', + 250, + 527, + 30000, + 21 + ), + ( + 280096, + 280097, + 3029, + '1964-01-01 00:00:00.000000', + 60, + 3272, + 30000, + 21 + ), + ( + 280097, + 280094, + 3032, + '1964-01-01 00:00:00.000000', + 250, + 725, + 30000, + 4 + ), + ( + 280098, + 280098, + 3028, + '1964-01-01 00:00:00.000000', + 125, + 2979, + 30000, + 21 + ), + ( + 280099, + 280093, + 3027, + '1964-01-01 00:00:00.000000', + 60, + 6361, + 30000, + 4 + ), + ( + 280100, + 280099, + 3073, + '1966-01-01 00:00:00.000000', + 500, + 141, + 30000, + 2 + ), + ( + 280101, + 280100, + 3078, + '1966-01-01 00:00:00.000000', + 250, + 948, + 30000, + 2 + ), + ( + 280102, + 280104, + 3076, + '1966-01-01 00:00:00.000000', + 125, + 3054, + 30000, + 2 + ), + ( + 280103, + 280102, + 3074, + '1966-01-01 00:00:00.000000', + 250, + 274, + 30000, + 2 + ), + ( + 280104, + 280103, + 3075, + '1966-01-01 00:00:00.000000', + 250, + 785, + 30000, + 2 + ), + ( + 280105, + 280105, + 3077, + '1966-01-01 00:00:00.000000', + 0, + 4326, + 30000, + 2 + ), + ( + 280106, + 280101, + 3079, + '1966-01-01 00:00:00.000000', + 0, + 4924, + 30000, + 2 + ), + ( + 280107, + 280106, + 3109, + '1966-01-01 00:00:00.000000', + 500, + 205, + 30000, + 13 + ), + ( + 280108, + 280107, + 3110, + '1966-01-01 00:00:00.000000', + 250, + 284, + 30000, + 13 + ), + ( + 280109, + 280109, + 3112, + '1966-01-01 00:00:00.000000', + 0, + 4342, + 30000, + 13 + ), + ( + 280110, + 280108, + 3111, + '1966-01-01 00:00:00.000000', + 125, + 2660, + 30000, + 13 + ), + ( + 280111, + 280160, + 3238, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 1 + ), + ( + 280112, + 280153, + 3231, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 12 + ), + ( + 280113, + 280124, + 3202, + '1967-01-01 00:00:00.000000', + 500, + 74, + 30000, + 18 + ), + ( + 280114, + 280110, + 3188, + '1967-01-01 00:00:00.000000', + 500, + 77, + 30000, + 16 + ), + ( + 280115, + 280176, + 3254, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 5 + ), + ( + 280116, + 280131, + 3209, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 9 + ), + ( + 280117, + 280120, + 3201, + '1967-01-01 00:00:00.000000', + 500, + 74, + 30000, + 17 + ), + ( + 280118, + 280142, + 3223, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 19 + ), + ( + 280119, + 280168, + 3246, + '1967-01-01 00:00:00.000000', + 500, + 89, + 30000, + 3 + ), + ( + 280120, + 280146, + 3224, + '1967-01-01 00:00:00.000000', + 500, + 119, + 30000, + 14 + ), + ( + 280121, + 280169, + 3247, + '1967-01-01 00:00:00.000000', + 500, + 207, + 30000, + 3 + ), + ( + 280122, + 280177, + 3255, + '1967-01-01 00:00:00.000000', + 500, + 207, + 30000, + 5 + ), + ( + 280123, + 280132, + 3210, + '1967-01-01 00:00:00.000000', + 500, + 177, + 30000, + 9 + ), + ( + 280124, + 280125, + 3203, + '1967-01-01 00:00:00.000000', + 250, + 147, + 30000, + 18 + ), + ( + 280125, + 280154, + 3232, + '1967-01-01 00:00:00.000000', + 500, + 177, + 30000, + 12 + ), + ( + 280126, + 280147, + 3225, + '1967-01-01 00:00:00.000000', + 500, + 207, + 30000, + 14 + ), + ( + 280127, + 280111, + 3189, + '1967-01-01 00:00:00.000000', + 500, + 219, + 30000, + 16 + ), + ( + 280128, + 280161, + 3239, + '1967-01-01 00:00:00.000000', + 500, + 177, + 30000, + 1 + ), + ( + 280129, + 280129, + 3207, + '1967-01-01 00:00:00.000000', + 125, + 3563, + 30000, + 18 + ), + ( + 280130, + 280137, + 3215, + '1967-01-01 00:00:00.000000', + 250, + 749, + 30000, + 9 + ), + ( + 280131, + 280151, + 3229, + '1967-01-01 00:00:00.000000', + 125, + 2580, + 30000, + 14 + ), + ( + 280132, + 280158, + 3236, + '1967-01-01 00:00:00.000000', + 125, + 2580, + 30000, + 12 + ), + ( + 280133, + 280166, + 3244, + '1967-01-01 00:00:00.000000', + 125, + 2580, + 30000, + 1 + ), + ( + 280134, + 280148, + 3226, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 14 + ), + ( + 280135, + 280155, + 3233, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 12 + ), + ( + 280136, + 280112, + 3192, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 16 + ), + ( + 280137, + 280178, + 3256, + '1967-01-01 00:00:00.000000', + 250, + 700, + 30000, + 5 + ), + ( + 280138, + 280170, + 3248, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 3 + ), + ( + 280139, + 280121, + 3197, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 17 + ), + ( + 280140, + 280143, + 3222, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 19 + ), + ( + 280141, + 280162, + 3240, + '1967-01-01 00:00:00.000000', + 250, + 662, + 30000, + 1 + ), + ( + 280142, + 280133, + 3211, + '1967-01-01 00:00:00.000000', + 250, + 681, + 30000, + 9 + ), + ( + 280143, + 280171, + 3249, + '1967-01-01 00:00:00.000000', + 125, + 2454, + 30000, + 3 + ), + ( + 280144, + 280122, + 3196, + '1967-01-01 00:00:00.000000', + 125, + 2454, + 30000, + 17 + ), + ( + 280145, + 280163, + 3241, + '1967-01-01 00:00:00.000000', + 125, + 2454, + 30000, + 1 + ), + ( + 280146, + 280179, + 3257, + '1967-01-01 00:00:00.000000', + 125, + 2424, + 30000, + 5 + ), + ( + 280147, + 280144, + 3221, + '1967-01-01 00:00:00.000000', + 125, + 2454, + 30000, + 19 + ), + ( + 280148, + 280128, + 3206, + '1967-01-01 00:00:00.000000', + 250, + 837, + 30000, + 18 + ), + ( + 280149, + 280159, + 3237, + '1967-01-01 00:00:00.000000', + 0, + 4294, + 30000, + 12 + ), + ( + 280150, + 280152, + 3230, + '1967-01-01 00:00:00.000000', + 0, + 4294, + 30000, + 14 + ), + ( + 280151, + 280167, + 3245, + '1967-01-01 00:00:00.000000', + 0, + 4294, + 30000, + 1 + ), + ( + 280152, + 280136, + 3214, + '1967-01-01 00:00:00.000000', + 0, + 5421, + 30000, + 9 + ), + ( + 280153, + 280139, + 3217, + '1967-01-01 00:00:00.000000', + 125, + 1886, + 30000, + 19 + ), + ( + 280154, + 280182, + 3260, + '1967-01-01 00:00:00.000000', + 125, + 1886, + 30000, + 5 + ), + ( + 280155, + 280165, + 3243, + '1967-01-01 00:00:00.000000', + 250, + 580, + 30000, + 1 + ), + ( + 280156, + 280150, + 3228, + '1967-01-01 00:00:00.000000', + 250, + 580, + 30000, + 14 + ), + ( + 280157, + 280157, + 3235, + '1967-01-01 00:00:00.000000', + 250, + 580, + 30000, + 12 + ), + ( + 280158, + 280127, + 3205, + '1967-01-01 00:00:00.000000', + 250, + 123, + 30000, + 18 + ), + ( + 280159, + 280135, + 3213, + '1967-01-01 00:00:00.000000', + 125, + 3058, + 30000, + 9 + ), + ( + 280160, + 280113, + 3191, + '1967-01-01 00:00:00.000000', + 250, + 711, + 30000, + 16 + ), + ( + 280161, + 280173, + 3251, + '1967-01-01 00:00:00.000000', + 250, + 744, + 30000, + 3 + ), + ( + 280162, + 280119, + 3200, + '1967-01-01 00:00:00.000000', + 250, + 711, + 30000, + 17 + ), + ( + 280163, + 280183, + 3261, + '1967-01-01 00:00:00.000000', + 60, + 3058, + 30000, + 5 + ), + ( + 280164, + 280140, + 3218, + '1967-01-01 00:00:00.000000', + 60, + 3058, + 30000, + 19 + ), + ( + 280165, + 280181, + 3259, + '1967-01-01 00:00:00.000000', + 250, + 563, + 30000, + 5 + ), + ( + 280166, + 280138, + 3216, + '1967-01-01 00:00:00.000000', + 250, + 563, + 30000, + 19 + ), + ( + 280167, + 280174, + 3252, + '1967-01-01 00:00:00.000000', + 125, + 2890, + 30000, + 3 + ), + ( + 280168, + 280117, + 3199, + '1967-01-01 00:00:00.000000', + 125, + 2837, + 30000, + 17 + ), + ( + 280169, + 280116, + 3193, + '1967-01-01 00:00:00.000000', + 125, + 2837, + 30000, + 16 + ), + ( + 280170, + 280130, + 3208, + '1967-01-01 00:00:00.000000', + 0, + 6897, + 30000, + 18 + ), + ( + 280171, + 280149, + 3227, + '1967-01-01 00:00:00.000000', + 0, + 2837, + 30000, + 14 + ), + ( + 280172, + 280156, + 3234, + '1967-01-01 00:00:00.000000', + 0, + 2837, + 30000, + 12 + ), + ( + 280173, + 280145, + 3220, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 19 + ), + ( + 280174, + 280180, + 3258, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 5 + ), + ( + 280175, + 280164, + 3242, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 1 + ), + ( + 280176, + 280114, + 3190, + '1967-01-01 00:00:00.000000', + 0, + 2837, + 30000, + 16 + ), + ( + 280177, + 280134, + 3212, + '1967-01-01 00:00:00.000000', + 0, + 2837, + 30000, + 9 + ), + ( + 280178, + 280172, + 3250, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 3 + ), + ( + 280179, + 280123, + 3195, + '1967-01-01 00:00:00.000000', + 0, + 4740, + 30000, + 17 + ), + ( + 280180, + 280126, + 3204, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 18 + ), + ( + 280181, + 280115, + 3194, + '1967-01-01 00:00:00.000000', + 0, + 5079, + 30000, + 16 + ), + ( + 280182, + 280118, + 3198, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 17 + ), + ( + 280183, + 280175, + 3253, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 3 + ), + ( + 280184, + 280184, + 3262, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 5 + ), + ( + 280185, + 280141, + 3219, + '1967-01-01 00:00:00.000000', + 0, + 4723, + 30000, + 19 + ), + ( + 290001, + 290001, + 111, + '1999-01-01 00:00:00.000000', + 1000, + 44, + 30000, + 0 + ), + ( + 290002, + 290002, + 112, + '1999-01-01 00:00:00.000000', + 1000, + 91, + 30000, + 0 + ), + ( + 290003, + 290003, + 113, + '1999-01-01 00:00:00.000000', + 1000, + 37, + 30000, + 0 + ), + ( + 290004, + 290004, + 114, + '1999-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 0 + ), + ( + 290005, + 290007, + 489, + '1999-01-01 00:00:00.000000', + 0, + 1101, + 30000, + 0 + ), + ( + 290006, + 290006, + 1737, + '1999-01-01 00:00:00.000000', + 60, + 433, + 30000, + 0 + ), + ( + 290007, + 290005, + 1736, + '1999-01-01 00:00:00.000000', + 125, + 164, + 30000, + 0 + ), + ( + 290008, + 290008, + 2671, + '1995-01-01 00:00:00.000000', + 30, + 543, + 30000, + 0 + ), + ( + 290009, + 290009, + 2672, + '1975-01-01 00:00:00.000000', + 60, + 106, + 30000, + 0 + ), + ( + 290010, + 290029, + 3670, + '1970-01-01 00:00:00.000000', + 500, + 106, + 30000, + 0 + ), + ( + 290011, + 290034, + 3674, + '1970-01-01 00:00:00.000000', + 500, + 135, + 30000, + 0 + ), + ( + 290012, + 290024, + 3665, + '1970-01-01 00:00:00.000000', + 500, + 88, + 30000, + 0 + ), + ( + 290013, + 290030, + 3671, + '1970-01-01 00:00:00.000000', + 400, + 160, + 30000, + 0 + ), + ( + 290014, + 290035, + 3675, + '1970-01-01 00:00:00.000000', + 400, + 207, + 30000, + 0 + ), + ( + 290015, + 290018, + 3652, + '1970-01-01 00:00:00.000000', + 750, + 110, + 30000, + 0 + ), + ( + 290016, + 290010, + 3651, + '1970-01-01 00:00:00.000000', + 1000, + 37, + 30000, + 0 + ), + ( + 290017, + 290025, + 3666, + '1970-01-01 00:00:00.000000', + 400, + 131, + 30000, + 0 + ), + ( + 290018, + 290021, + 3659, + '1970-01-01 00:00:00.000000', + 500, + 136, + 30000, + 0 + ), + ( + 290019, + 290014, + 3658, + '1970-01-01 00:00:00.000000', + 1000, + 44, + 30000, + 0 + ), + ( + 290020, + 290036, + 3676, + '1970-01-01 00:00:00.000000', + 250, + 327, + 30000, + 0 + ), + ( + 290021, + 290019, + 3654, + '1970-01-01 00:00:00.000000', + 500, + 170, + 30000, + 0 + ), + ( + 290022, + 290011, + 3653, + '1970-01-01 00:00:00.000000', + 1000, + 37, + 30000, + 0 + ), + ( + 290023, + 290026, + 3667, + '1970-01-01 00:00:00.000000', + 250, + 203, + 30000, + 0 + ), + ( + 290024, + 290022, + 3661, + '1970-01-01 00:00:00.000000', + 500, + 211, + 30000, + 0 + ), + ( + 290025, + 290015, + 3660, + '1970-01-01 00:00:00.000000', + 1000, + 44, + 30000, + 0 + ), + ( + 290026, + 290032, + 3672, + '1970-01-01 00:00:00.000000', + 150, + 373, + 30000, + 0 + ), + ( + 290027, + 290037, + 3677, + '1970-01-01 00:00:00.000000', + 100, + 495, + 30000, + 0 + ), + ( + 290028, + 290013, + 3656, + '1970-01-01 00:00:00.000000', + 250, + 361, + 30000, + 0 + ), + ( + 290029, + 290012, + 3655, + '1970-01-01 00:00:00.000000', + 500, + 37, + 30000, + 0 + ), + ( + 290030, + 290027, + 3668, + '1970-01-01 00:00:00.000000', + 150, + 304, + 30000, + 0 + ), + ( + 290031, + 290023, + 3663, + '1970-01-01 00:00:00.000000', + 250, + 315, + 30000, + 0 + ), + ( + 290032, + 290016, + 3662, + '1970-01-01 00:00:00.000000', + 500, + 44, + 30000, + 0 + ), + ( + 290033, + 290033, + 3673, + '1970-01-01 00:00:00.000000', + 0, + 533, + 30000, + 0 + ), + ( + 290034, + 290038, + 3678, + '1970-01-01 00:00:00.000000', + 0, + 711, + 30000, + 0 + ), + ( + 290035, + 290013, + 3657, + '1970-01-01 00:00:00.000000', + 0, + 361, + 30000, + 0 + ), + ( + 290036, + 290028, + 3669, + '1970-01-01 00:00:00.000000', + 0, + 433, + 30000, + 0 + ), + ( + 290037, + 290017, + 3664, + '1970-01-01 00:00:00.000000', + 0, + 450, + 30000, + 0 + ), + ( + 290038, + 290031, + 3679, + '1970-01-01 00:00:00.000000', + 250, + 249, + 30000, + 0 + ), + ( + 300001, + 300001, + 115, + '1999-01-01 00:00:00.000000', + 1000, + 49, + 30000, + 0 + ), + ( + 300002, + 300002, + 116, + '1999-01-01 00:00:00.000000', + 500, + 89, + 30000, + 0 + ), + ( + 300003, + 300004, + 445, + '1970-01-01 00:00:00.000000', + 125, + 49, + 30000, + 0 + ), + ( + 300004, + 300007, + 463, + '1999-01-01 00:00:00.000000', + 125, + 291, + 30000, + 0 + ), + ( + 300005, + 300005, + 461, + '1999-01-01 00:00:00.000000', + 60, + 301, + 30000, + 0 + ), + ( + 300006, + 300006, + 462, + '1999-01-01 00:00:00.000000', + 60, + 311, + 30000, + 0 + ), + ( + 300007, + 300010, + 466, + '1999-01-01 00:00:00.000000', + 0, + 386, + 30000, + 0 + ), + ( + 300008, + 300008, + 464, + '1999-01-01 00:00:00.000000', + 0, + 296, + 30000, + 0 + ), + ( + 300009, + 300009, + 465, + '1999-01-01 00:00:00.000000', + 0, + 311, + 30000, + 0 + ), + ( + 300010, + 300003, + 1184, + '1967-01-01 00:00:00.000000', + 60, + 49, + 30000, + 0 + ), + ( + 300011, + 300011, + 1738, + '1965-01-01 00:00:00.000000', + 60, + 296, + 30000, + 0 + ), + ( + 310001, + 310001, + 117, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310002, + 310002, + 118, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310003, + 310003, + 119, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310004, + 310004, + 120, + '1999-01-01 00:00:00.000000', + 500, + 150, + 30000, + 0 + ), + ( + 310005, + 310006, + 447, + '1969-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310006, + 310005, + 446, + '1969-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310007, + 310008, + 449, + '1970-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310008, + 310007, + 448, + '1970-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310009, + 310009, + 450, + '1973-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310010, + 310010, + 450, + '1973-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310011, + 310022, + 481, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310012, + 310023, + 482, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310013, + 310021, + 480, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310014, + 310024, + 483, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310015, + 310025, + 484, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310016, + 310026, + 485, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310017, + 310027, + 486, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310018, + 310028, + 487, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310019, + 310011, + 470, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310020, + 310012, + 471, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310021, + 310013, + 472, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310022, + 310014, + 473, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310023, + 310015, + 474, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310024, + 310016, + 475, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310025, + 310017, + 476, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310026, + 310018, + 477, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310027, + 310019, + 478, + '1999-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 310028, + 310020, + 479, + '1999-01-01 00:00:00.000000', + 500, + 25, + 30000, + 0 + ), + ( + 310029, + 310029, + 1035, + '1969-01-01 00:00:00.000000', + 500, + 50, + 30000, + 0 + ), + ( + 320001, + 320001, + 155, + '1965-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 3 + ), + ( + 320002, + 320002, + 1284, + '1999-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 5 + ), + ( + 320003, + 320003, + 1044, + '1999-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 2 + ), + ( + 320004, + 320004, + 1045, + '1999-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 1 + ), + ( + 320005, + 320005, + 420, + '1970-01-01 00:00:00.000000', + 500, + 502, + 30000, + 5 + ), + ( + 320006, + 320006, + 884, + '1970-01-01 00:00:00.000000', + 500, + 331, + 30000, + 3 + ), + ( + 320007, + 320043, + 883, + '1970-01-01 00:00:00.000000', + 250, + 397, + 30000, + 17 + ), + ( + 320008, + 320078, + 1282, + '1962-01-01 00:00:00.000000', + 250, + 502, + 30000, + 2 + ), + ( + 320009, + 320077, + 1283, + '1957-01-01 00:00:00.000000', + 500, + 331, + 30000, + 5 + ), + ( + 320010, + 320079, + 1285, + '1963-01-01 00:00:00.000000', + 500, + 346, + 30000, + 19 + ), + ( + 320011, + 320080, + 1286, + '1970-01-01 00:00:00.000000', + 500, + 221, + 30000, + 3 + ), + ( + 320012, + 320081, + 1287, + '1965-01-01 00:00:00.000000', + 0, + 2412, + 30000, + 18 + ), + ( + 320013, + 320082, + 1289, + '1962-01-01 00:00:00.000000', + 125, + 811, + 30000, + 1 + ), + ( + 320014, + 320083, + 1350, + '1990-01-01 00:00:00.000000', + 125, + 1058, + 30000, + 7 + ), + ( + 320015, + 320084, + 1351, + '1990-01-01 00:00:00.000000', + 500, + 450, + 30000, + 7 + ), + ( + 320016, + 320085, + 1352, + '1990-01-01 00:00:00.000000', + 125, + 1159, + 30000, + 7 + ), + ( + 320017, + 320086, + 1353, + '1990-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 7 + ), + ( + 320018, + 320007, + 1354, + '1967-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 7 + ), + ( + 320019, + 320008, + 1355, + '1961-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 8 + ), + ( + 320020, + 320009, + 1356, + '1955-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 6 + ), + ( + 320021, + 320010, + 1357, + '1955-01-01 00:00:00.000000', + 125, + 212, + 30000, + 9 + ), + ( + 320022, + 320011, + 1358, + '1964-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 4 + ), + ( + 320023, + 320012, + 1420, + '1932-01-01 00:00:00.000000', + 125, + 212, + 30000, + 10 + ), + ( + 320024, + 320013, + 1421, + '1965-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 12 + ), + ( + 320025, + 320014, + 1422, + '1968-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 11 + ), + ( + 320026, + 320015, + 1425, + '1959-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 14 + ), + ( + 320027, + 320016, + 1424, + '1955-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 13 + ), + ( + 320028, + 320017, + 1426, + '1956-01-01 00:00:00.000000', + 500, + 361, + 30000, + 6 + ), + ( + 320029, + 320018, + 1427, + '1967-01-01 00:00:00.000000', + 500, + 395, + 30000, + 6 + ), + ( + 320030, + 320019, + 1428, + '1970-01-01 00:00:00.000000', + 500, + 331, + 30000, + 6 + ), + ( + 320031, + 320020, + 1433, + '1965-01-01 00:00:00.000000', + 500, + 395, + 30000, + 5 + ), + ( + 320032, + 320021, + 1434, + '1970-01-01 00:00:00.000000', + 500, + 361, + 30000, + 5 + ), + ( + 320033, + 320022, + 1435, + '1961-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 21 + ), + ( + 320034, + 320023, + 1436, + '1969-01-01 00:00:00.000000', + 250, + 415, + 30000, + 7 + ), + ( + 320035, + 320024, + 1437, + '1968-01-01 00:00:00.000000', + 500, + 331, + 30000, + 11 + ), + ( + 320036, + 320025, + 1438, + '1968-01-01 00:00:00.000000', + 500, + 470, + 30000, + 11 + ), + ( + 320037, + 320026, + 1439, + '1970-01-01 00:00:00.000000', + 500, + 470, + 30000, + 12 + ), + ( + 320038, + 320027, + 1440, + '1969-01-01 00:00:00.000000', + 500, + 378, + 30000, + 13 + ), + ( + 320039, + 320028, + 1441, + '1968-01-01 00:00:00.000000', + 500, + 378, + 30000, + 13 + ), + ( + 320040, + 320029, + 1442, + '1957-01-01 00:00:00.000000', + 500, + 208, + 30000, + 15 + ), + ( + 320041, + 320030, + 1443, + '1957-01-01 00:00:00.000000', + 500, + 411, + 30000, + 4 + ), + ( + 320042, + 320031, + 1445, + '1964-01-01 00:00:00.000000', + 500, + 430, + 30000, + 3 + ), + ( + 320043, + 320032, + 1446, + '1965-01-01 00:00:00.000000', + 15, + 1218, + 30000, + 3 + ), + ( + 320044, + 320033, + 1447, + '1966-01-01 00:00:00.000000', + 250, + 811, + 30000, + 3 + ), + ( + 320045, + 320034, + 1448, + '1961-01-01 00:00:00.000000', + 500, + 502, + 30000, + 3 + ), + ( + 320046, + 320035, + 1449, + '1961-01-01 00:00:00.000000', + 15, + 6019, + 30000, + 17 + ), + ( + 320047, + 320036, + 1450, + '1968-01-01 00:00:00.000000', + 500, + 231, + 30000, + 1 + ), + ( + 320048, + 320037, + 1451, + '1969-01-01 00:00:00.000000', + 500, + 331, + 30000, + 1 + ), + ( + 320049, + 320038, + 1452, + '1960-01-01 00:00:00.000000', + 250, + 585, + 30000, + 1 + ), + ( + 320050, + 320039, + 1453, + '1960-01-01 00:00:00.000000', + 250, + 535, + 30000, + 1 + ), + ( + 320051, + 320040, + 1454, + '1969-01-01 00:00:00.000000', + 250, + 364, + 30000, + 1 + ), + ( + 320052, + 320041, + 1456, + '1970-01-01 00:00:00.000000', + 500, + 331, + 30000, + 2 + ), + ( + 320053, + 320042, + 1457, + '1970-01-01 00:00:00.000000', + 500, + 231, + 30000, + 14 + ), + ( + 320054, + 320044, + 1458, + '1966-01-01 00:00:00.000000', + 250, + 397, + 30000, + 14 + ), + ( + 320055, + 320045, + 1462, + '1999-01-01 00:00:00.000000', + 60, + 450, + 30000, + 10 + ), + ( + 320056, + 320046, + 1463, + '1999-01-01 00:00:00.000000', + 60, + 411, + 30000, + 9 + ), + ( + 320057, + 320047, + 1127, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 5 + ), + ( + 320058, + 320048, + 1128, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 6 + ), + ( + 320059, + 320049, + 1129, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 1 + ), + ( + 320060, + 320050, + 1130, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 2 + ), + ( + 320061, + 320051, + 1131, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 3 + ), + ( + 320062, + 320052, + 1132, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 4 + ), + ( + 320063, + 320053, + 1133, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 12 + ), + ( + 320064, + 320054, + 1134, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 11 + ), + ( + 320065, + 320055, + 1135, + '1999-01-01 00:00:00.000000', + 60, + 411, + 30000, + 18 + ), + ( + 320066, + 320056, + 1136, + '1999-01-01 00:00:00.000000', + 60, + 1107, + 30000, + 13 + ), + ( + 320067, + 320057, + 1138, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 5 + ), + ( + 320068, + 320058, + 1139, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 6 + ), + ( + 320069, + 320059, + 1140, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 1 + ), + ( + 320070, + 320060, + 1141, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 2 + ), + ( + 320071, + 320061, + 1142, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 3 + ), + ( + 320072, + 320062, + 1143, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 4 + ), + ( + 320073, + 320063, + 1144, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 12 + ), + ( + 320074, + 320064, + 1145, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 11 + ), + ( + 320075, + 320065, + 1146, + '1999-01-01 00:00:00.000000', + 0, + 212, + 30000, + 18 + ), + ( + 320076, + 320066, + 1147, + '1999-01-01 00:00:00.000000', + 500, + 450, + 30000, + 13 + ), + ( + 320077, + 320067, + 1148, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 5 + ), + ( + 320078, + 320068, + 1149, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 6 + ), + ( + 320079, + 320069, + 1150, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 1 + ), + ( + 320080, + 320070, + 1151, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 2 + ), + ( + 320081, + 320071, + 1152, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 3 + ), + ( + 320082, + 320072, + 1153, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 4 + ), + ( + 320083, + 320073, + 1154, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 12 + ), + ( + 320084, + 320074, + 1155, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 11 + ), + ( + 320085, + 320075, + 1156, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 13 + ), + ( + 320086, + 320076, + 1157, + '1999-01-01 00:00:00.000000', + 125, + 1107, + 30000, + 13 + ), + ( + 320087, + 320088, + 1789, + '1970-01-01 00:00:00.000000', + 500, + 331, + 30000, + 4 + ), + ( + 320088, + 320087, + 1790, + '1970-01-01 00:00:00.000000', + 250, + 811, + 30000, + 4 + ), + ( + 320089, + 320036, + 2035, + '1967-01-01 00:00:00.000000', + 500, + 231, + 30000, + 1 + ), + ( + 320090, + 320089, + 2074, + '1959-01-01 00:00:00.000000', + 500, + 331, + 30000, + 13 + ), + ( + 320091, + 320090, + 2080, + '1962-01-01 00:00:00.000000', + 250, + 811, + 30000, + 13 + ), + ( + 320092, + 320091, + 2473, + '1940-01-01 00:00:00.000000', + 125, + 212, + 30000, + 20 + ), + ( + 320093, + 320092, + 2492, + '1970-01-01 00:00:00.000000', + 125, + 212, + 30000, + 16 + ), + ( + 320094, + 320093, + 2493, + '1971-01-01 00:00:00.000000', + 60, + 331, + 30000, + 16 + ), + ( + 320095, + 320094, + 2506, + '1968-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 17 + ), + ( + 320096, + 320095, + 2507, + '1970-01-01 00:00:00.000000', + 125, + 231, + 30000, + 17 + ), + ( + 320097, + 320096, + 2526, + '1970-01-01 00:00:00.000000', + 2, + 451, + 30000, + 4 + ), + ( + 320098, + 320097, + 2527, + '1954-01-01 00:00:00.000000', + 1000, + 191, + 30000, + 15 + ), + ( + 320099, + 320098, + 2528, + '1957-01-01 00:00:00.000000', + 30, + 311, + 30000, + 15 + ), + ( + 320100, + 320099, + 2540, + '1958-01-01 00:00:00.000000', + 1000, + 212, + 30000, + 19 + ), + ( + 320101, + 320100, + 2541, + '1959-01-01 00:00:00.000000', + 125, + 331, + 30000, + 19 + ), + ( + 320102, + 320103, + 2573, + '1971-04-17 00:00:00.000000', + 500, + 331, + 30000, + 8 + ), + ( + 320103, + 320101, + 2571, + '1955-02-18 00:00:00.000000', + 500, + 331, + 30000, + 21 + ), + ( + 320104, + 320102, + 2572, + '1958-03-02 00:00:00.000000', + 250, + 811, + 30000, + 21 + ), + ( + 320105, + 320104, + 2574, + '1947-02-20 00:00:00.000000', + 60, + 331, + 30000, + 20 + ), + ( + 320106, + 320106, + 2691, + '1995-01-01 00:00:00.000000', + 125, + 1058, + 30000, + 14 + ), + ( + 320107, + 320105, + 2692, + '1995-01-01 00:00:00.000000', + 250, + 1058, + 30000, + 14 + ), + ( + 320108, + 320107, + 2773, + '1969-01-01 00:00:00.000000', + 250, + 331, + 30000, + 14 + ), + ( + 320109, + 320110, + 2806, + '1957-01-01 00:00:00.000000', + 500, + 387, + 30000, + 15 + ), + ( + 320110, + 320111, + 2809, + '1957-01-01 00:00:00.000000', + 500, + 325, + 30000, + 15 + ), + ( + 320111, + 320114, + 2812, + '1957-01-01 00:00:00.000000', + 500, + 295, + 30000, + 15 + ), + ( + 320112, + 320113, + 2807, + '1957-01-01 00:00:00.000000', + 500, + 311, + 30000, + 15 + ), + ( + 320113, + 320112, + 2810, + '1957-01-01 00:00:00.000000', + 500, + 325, + 30000, + 15 + ), + ( + 320114, + 320116, + 2808, + '1957-01-01 00:00:00.000000', + 125, + 763, + 30000, + 15 + ), + ( + 320115, + 320117, + 2811, + '1957-01-01 00:00:00.000000', + 125, + 799, + 30000, + 15 + ), + ( + 320116, + 320108, + 2804, + '1957-01-01 00:00:00.000000', + 1000, + 191, + 30000, + 15 + ), + ( + 320117, + 320118, + 2814, + '1957-01-01 00:00:00.000000', + 250, + 461, + 30000, + 15 + ), + ( + 320118, + 320109, + 2805, + '1957-01-01 00:00:00.000000', + 1000, + 191, + 30000, + 15 + ), + ( + 320119, + 320115, + 2813, + '1957-01-01 00:00:00.000000', + 1000, + 189, + 30000, + 15 + ), + ( + 320120, + 320121, + 2817, + '1957-01-01 00:00:00.000000', + 125, + 452, + 30000, + 15 + ), + ( + 320121, + 320120, + 2816, + '1957-01-01 00:00:00.000000', + 250, + 457, + 30000, + 15 + ), + ( + 320122, + 320119, + 2815, + '1957-01-01 00:00:00.000000', + 250, + 461, + 30000, + 15 + ), + ( + 320123, + 320132, + 2889, + '1964-01-01 00:00:00.000000', + 60, + 976, + 30000, + 6 + ), + ( + 320124, + 320126, + 2883, + '1964-01-01 00:00:00.000000', + 500, + 233, + 30000, + 6 + ), + ( + 320125, + 320134, + 2891, + '1964-01-01 00:00:00.000000', + 125, + 929, + 30000, + 6 + ), + ( + 320126, + 320133, + 2890, + '1964-01-01 00:00:00.000000', + 125, + 888, + 30000, + 6 + ), + ( + 320127, + 320128, + 2885, + '1964-01-01 00:00:00.000000', + 250, + 512, + 30000, + 6 + ), + ( + 320128, + 320131, + 2888, + '1964-01-01 00:00:00.000000', + 125, + 848, + 30000, + 6 + ), + ( + 320129, + 320125, + 2882, + '1964-01-01 00:00:00.000000', + 500, + 331, + 30000, + 6 + ), + ( + 320130, + 320124, + 2881, + '1964-01-01 00:00:00.000000', + 500, + 210, + 30000, + 6 + ), + ( + 320131, + 320123, + 2880, + '1964-01-01 00:00:00.000000', + 250, + 331, + 30000, + 6 + ), + ( + 320132, + 320135, + 2892, + '1964-01-01 00:00:00.000000', + 250, + 346, + 30000, + 6 + ), + ( + 320133, + 320127, + 2884, + '1964-01-01 00:00:00.000000', + 500, + 231, + 30000, + 6 + ), + ( + 320134, + 320129, + 2886, + '1964-01-01 00:00:00.000000', + 125, + 888, + 30000, + 6 + ), + ( + 320135, + 320122, + 2879, + '1964-01-01 00:00:00.000000', + 125, + 811, + 30000, + 6 + ), + ( + 320136, + 320130, + 2887, + '1964-01-01 00:00:00.000000', + 125, + 848, + 30000, + 6 + ), + ( + 320137, + 320139, + 2920, + '1965-01-01 00:00:00.000000', + 500, + 221, + 30000, + 21 + ), + ( + 320138, + 320152, + 2933, + '1965-01-01 00:00:00.000000', + 250, + 331, + 30000, + 4 + ), + ( + 320139, + 320155, + 2936, + '1965-01-01 00:00:00.000000', + 250, + 933, + 30000, + 4 + ), + ( + 320140, + 320146, + 2926, + '1965-01-01 00:00:00.000000', + 125, + 848, + 30000, + 21 + ), + ( + 320141, + 320156, + 2937, + '1965-01-01 00:00:00.000000', + 60, + 1069, + 30000, + 4 + ), + ( + 320142, + 320145, + 2927, + '1965-01-01 00:00:00.000000', + 60, + 929, + 30000, + 21 + ), + ( + 320143, + 320138, + 2919, + '1965-01-01 00:00:00.000000', + 500, + 243, + 30000, + 21 + ), + ( + 320144, + 320154, + 2935, + '1965-01-01 00:00:00.000000', + 250, + 976, + 30000, + 4 + ), + ( + 320145, + 320157, + 2938, + '1965-01-01 00:00:00.000000', + 125, + 848, + 30000, + 4 + ), + ( + 320146, + 320149, + 2930, + '1965-01-01 00:00:00.000000', + 500, + 331, + 30000, + 4 + ), + ( + 320147, + 320148, + 2929, + '1965-01-01 00:00:00.000000', + 500, + 212, + 30000, + 4 + ), + ( + 320148, + 320151, + 2932, + '1965-01-01 00:00:00.000000', + 500, + 331, + 30000, + 4 + ), + ( + 320149, + 320150, + 2931, + '1965-01-01 00:00:00.000000', + 500, + 212, + 30000, + 4 + ), + ( + 320150, + 320136, + 2917, + '1965-01-01 00:00:00.000000', + 500, + 210, + 30000, + 21 + ), + ( + 320151, + 320137, + 2918, + '1965-01-01 00:00:00.000000', + 500, + 212, + 30000, + 21 + ), + ( + 320152, + 320153, + 2934, + '1965-01-01 00:00:00.000000', + 125, + 929, + 30000, + 4 + ), + ( + 320153, + 320159, + 2940, + '1965-01-01 00:00:00.000000', + 60, + 976, + 30000, + 4 + ), + ( + 320154, + 320141, + 2922, + '1965-01-01 00:00:00.000000', + 500, + 346, + 30000, + 21 + ), + ( + 320155, + 320140, + 2921, + '1965-01-01 00:00:00.000000', + 500, + 243, + 30000, + 21 + ), + ( + 320156, + 320143, + 2924, + '1965-01-01 00:00:00.000000', + 125, + 811, + 30000, + 21 + ), + ( + 320157, + 320158, + 2939, + '1965-01-01 00:00:00.000000', + 60, + 929, + 30000, + 4 + ), + ( + 320158, + 320142, + 2923, + '1965-01-01 00:00:00.000000', + 125, + 563, + 30000, + 21 + ), + ( + 320159, + 320144, + 2925, + '1965-01-01 00:00:00.000000', + 125, + 888, + 30000, + 21 + ), + ( + 320160, + 320147, + 2928, + '1965-01-01 00:00:00.000000', + 60, + 1069, + 30000, + 21 + ), + ( + 320161, + 320166, + 3042, + '1966-01-01 00:00:00.000000', + 60, + 933, + 30000, + 2 + ), + ( + 320162, + 320167, + 3043, + '1966-01-01 00:00:00.000000', + 250, + 212, + 30000, + 2 + ), + ( + 320163, + 320168, + 3044, + '1966-01-01 00:00:00.000000', + 250, + 848, + 30000, + 2 + ), + ( + 320164, + 320165, + 3041, + '1966-01-01 00:00:00.000000', + 50, + 976, + 30000, + 2 + ), + ( + 320165, + 320161, + 3037, + '1966-01-01 00:00:00.000000', + 125, + 346, + 30000, + 2 + ), + ( + 320166, + 320163, + 3039, + '1966-01-01 00:00:00.000000', + 250, + 848, + 30000, + 2 + ), + ( + 320167, + 320160, + 3036, + '1966-01-01 00:00:00.000000', + 500, + 346, + 30000, + 2 + ), + ( + 320168, + 320162, + 3038, + '1966-01-01 00:00:00.000000', + 250, + 848, + 30000, + 2 + ), + ( + 320169, + 320164, + 3040, + '1966-01-01 00:00:00.000000', + 0, + 1069, + 30000, + 2 + ), + ( + 320170, + 320172, + 3083, + '1966-01-01 00:00:00.000000', + 60, + 1022, + 30000, + 13 + ), + ( + 320171, + 320171, + 3082, + '1966-01-01 00:00:00.000000', + 125, + 976, + 30000, + 13 + ), + ( + 320172, + 320169, + 3080, + '1966-01-01 00:00:00.000000', + 30, + 1114, + 30000, + 13 + ), + ( + 320173, + 320173, + 3084, + '1966-01-01 00:00:00.000000', + 125, + 848, + 30000, + 13 + ), + ( + 320174, + 320170, + 3081, + '1966-01-01 00:00:00.000000', + 125, + 848, + 30000, + 13 + ), + ( + 320175, + 320174, + 3085, + '1966-01-01 00:00:00.000000', + 60, + 397, + 30000, + 13 + ), + ( + 320176, + 320178, + 3116, + '1966-01-01 00:00:00.000000', + 125, + 933, + 30000, + 5 + ), + ( + 320177, + 320175, + 3113, + '1966-01-01 00:00:00.000000', + 125, + 397, + 30000, + 5 + ), + ( + 320178, + 320179, + 3117, + '1966-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 5 + ), + ( + 320179, + 320176, + 3114, + '1966-01-01 00:00:00.000000', + 250, + 848, + 30000, + 5 + ), + ( + 320180, + 320177, + 3115, + '1966-01-01 00:00:00.000000', + 125, + 976, + 30000, + 5 + ), + ( + 320181, + 320184, + 3394, + '1967-01-01 00:00:00.000000', + 125, + 811, + 30000, + 3 + ), + ( + 320182, + 320183, + 3393, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 3 + ), + ( + 320183, + 320180, + 3391, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 3 + ), + ( + 320184, + 320180, + 3390, + '1967-01-01 00:00:00.000000', + 125, + 346, + 30000, + 3 + ), + ( + 320185, + 320182, + 3392, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 3 + ), + ( + 320186, + 320185, + 3395, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 3 + ), + ( + 320187, + 320186, + 3396, + '1967-01-01 00:00:00.000000', + 125, + 888, + 30000, + 1 + ), + ( + 320188, + 320187, + 3397, + '1967-01-01 00:00:00.000000', + 0, + 1022, + 30000, + 1 + ), + ( + 320189, + 320161, + 3400, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 1 + ), + ( + 320190, + 320190, + 3401, + '1967-01-01 00:00:00.000000', + 250, + 848, + 30000, + 1 + ), + ( + 320191, + 320192, + 3403, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 1 + ), + ( + 320192, + 320193, + 3402, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 1 + ), + ( + 320193, + 320188, + 3399, + '1967-01-01 00:00:00.000000', + 0, + 397, + 30000, + 1 + ), + ( + 320194, + 320189, + 3398, + '1967-01-01 00:00:00.000000', + 0, + 976, + 30000, + 1 + ), + ( + 320195, + 320197, + 3407, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 12 + ), + ( + 320196, + 320198, + 3408, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 12 + ), + ( + 320197, + 320201, + 3411, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 12 + ), + ( + 320198, + 320202, + 3412, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 12 + ), + ( + 320199, + 320194, + 3404, + '1967-01-01 00:00:00.000000', + 500, + 221, + 30000, + 12 + ), + ( + 320200, + 320200, + 3410, + '1967-01-01 00:00:00.000000', + 125, + 811, + 30000, + 12 + ), + ( + 320201, + 320195, + 3405, + '1967-01-01 00:00:00.000000', + 500, + 221, + 30000, + 12 + ), + ( + 320202, + 320199, + 3409, + '1967-01-01 00:00:00.000000', + 0, + 1022, + 30000, + 12 + ), + ( + 320203, + 320196, + 3406, + '1967-01-01 00:00:00.000000', + 0, + 474, + 30000, + 12 + ), + ( + 320204, + 320205, + 3414, + '1967-01-01 00:00:00.000000', + 0, + 397, + 30000, + 19 + ), + ( + 320205, + 320206, + 3419, + '1967-01-01 00:00:00.000000', + 0, + 933, + 30000, + 19 + ), + ( + 320206, + 320210, + 3417, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 19 + ), + ( + 320207, + 320213, + 3421, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 19 + ), + ( + 320208, + 320207, + 3422, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 19 + ), + ( + 320209, + 320203, + 3413, + '1967-01-01 00:00:00.000000', + 252, + 331, + 30000, + 19 + ), + ( + 320210, + 320212, + 3420, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 19 + ), + ( + 320211, + 320211, + 3418, + '1967-01-01 00:00:00.000000', + 0, + 1022, + 30000, + 19 + ), + ( + 320212, + 320208, + 3423, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 19 + ), + ( + 320213, + 320209, + 3416, + '1967-01-01 00:00:00.000000', + 0, + 434, + 30000, + 19 + ), + ( + 320214, + 320204, + 3415, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 19 + ), + ( + 320215, + 320220, + 3431, + '1967-01-01 00:00:00.000000', + 125, + 976, + 30000, + 14 + ), + ( + 320216, + 320221, + 3432, + '1967-01-01 00:00:00.000000', + 0, + 1114, + 30000, + 14 + ), + ( + 320217, + 320216, + 3426, + '1967-01-01 00:00:00.000000', + 250, + 888, + 30000, + 14 + ), + ( + 320218, + 320217, + 3427, + '1967-01-01 00:00:00.000000', + 0, + 415, + 30000, + 14 + ), + ( + 320219, + 320218, + 3428, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 14 + ), + ( + 320220, + 320215, + 3425, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 14 + ), + ( + 320221, + 320219, + 3430, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 14 + ), + ( + 320222, + 320222, + 3429, + '1967-01-01 00:00:00.000000', + 0, + 1166, + 30000, + 14 + ), + ( + 320223, + 320214, + 3424, + '1967-01-01 00:00:00.000000', + 0, + 1022, + 30000, + 14 + ), + ( + 320224, + 320226, + 3436, + '1967-01-01 00:00:00.000000', + 250, + 361, + 30000, + 9 + ), + ( + 320225, + 320230, + 3440, + '1967-01-01 00:00:00.000000', + 250, + 848, + 30000, + 9 + ), + ( + 320226, + 320234, + 3444, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 9 + ), + ( + 320227, + 320235, + 3445, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 9 + ), + ( + 320228, + 320224, + 3434, + '1967-01-01 00:00:00.000000', + 500, + 331, + 30000, + 9 + ), + ( + 320229, + 320223, + 3433, + '1967-01-01 00:00:00.000000', + 500, + 263, + 30000, + 9 + ), + ( + 320230, + 320229, + 3439, + '1967-01-01 00:00:00.000000', + 250, + 811, + 30000, + 9 + ), + ( + 320231, + 320228, + 3438, + '1967-01-01 00:00:00.000000', + 125, + 415, + 30000, + 9 + ), + ( + 320232, + 320233, + 3443, + '1967-01-01 00:00:00.000000', + 125, + 892, + 30000, + 9 + ), + ( + 320233, + 320225, + 3435, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 9 + ), + ( + 320234, + 320231, + 3441, + '1967-01-01 00:00:00.000000', + 125, + 976, + 30000, + 9 + ), + ( + 320235, + 320232, + 3442, + '1967-01-01 00:00:00.000000', + 0, + 1022, + 30000, + 9 + ), + ( + 320236, + 320227, + 3437, + '1967-01-01 00:00:00.000000', + 0, + 378, + 30000, + 9 + ), + ( + 320237, + 320236, + 3446, + '1967-01-01 00:00:00.000000', + 0, + 1114, + 30000, + 9 + ), + ( + 320238, + 320246, + 3456, + '1967-01-01 00:00:00.000000', + 60, + 888, + 30000, + 18 + ), + ( + 320239, + 320245, + 3455, + '1967-01-01 00:00:00.000000', + 0, + 929, + 30000, + 18 + ), + ( + 320240, + 320242, + 3452, + '1967-01-01 00:00:00.000000', + 125, + 848, + 30000, + 18 + ), + ( + 320241, + 320238, + 3448, + '1967-01-01 00:00:00.000000', + 125, + 346, + 30000, + 18 + ), + ( + 320242, + 320237, + 3447, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 18 + ), + ( + 320243, + 320239, + 3449, + '1967-01-01 00:00:00.000000', + 125, + 346, + 30000, + 18 + ), + ( + 320244, + 320240, + 3450, + '1967-01-01 00:00:00.000000', + 125, + 361, + 30000, + 18 + ), + ( + 320245, + 320243, + 3453, + '1967-01-01 00:00:00.000000', + 125, + 888, + 30000, + 18 + ), + ( + 320246, + 320241, + 3451, + '1967-01-01 00:00:00.000000', + 0, + 361, + 30000, + 18 + ), + ( + 320247, + 320244, + 3454, + '1967-01-01 00:00:00.000000', + 60, + 929, + 30000, + 18 + ), + ( + 320248, + 320248, + 3463, + '1967-01-01 00:00:00.000000', + 250, + 848, + 30000, + 17 + ), + ( + 320249, + 320250, + 3465, + '1967-01-01 00:00:00.000000', + 0, + 1114, + 30000, + 17 + ), + ( + 320250, + 320252, + 3459, + '1967-01-01 00:00:00.000000', + 125, + 1022, + 30000, + 17 + ), + ( + 320251, + 320251, + 3458, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 17 + ), + ( + 320252, + 320247, + 3457, + '1967-01-01 00:00:00.000000', + 500, + 346, + 30000, + 17 + ), + ( + 320253, + 320249, + 3464, + '1967-01-01 00:00:00.000000', + 125, + 976, + 30000, + 17 + ), + ( + 320254, + 320254, + 3461, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 17 + ), + ( + 320255, + 320253, + 3460, + '1967-01-01 00:00:00.000000', + 0, + 453, + 30000, + 17 + ), + ( + 320256, + 320255, + 3462, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 17 + ), + ( + 320257, + 320259, + 3468, + '1967-01-01 00:00:00.000000', + 250, + 848, + 30000, + 16 + ), + ( + 320258, + 320257, + 3467, + '1967-01-01 00:00:00.000000', + 0, + 434, + 30000, + 16 + ), + ( + 320259, + 320258, + 3469, + '1967-01-01 00:00:00.000000', + 0, + 1069, + 30000, + 16 + ), + ( + 320260, + 320260, + 3470, + '1967-01-01 00:00:00.000000', + 0, + 1065, + 30000, + 16 + ), + ( + 320261, + 320265, + 3475, + '1967-01-01 00:00:00.000000', + 125, + 933, + 30000, + 16 + ), + ( + 320262, + 320261, + 3471, + '1967-01-01 00:00:00.000000', + 500, + 361, + 30000, + 16 + ), + ( + 320263, + 320263, + 3473, + '1967-01-01 00:00:00.000000', + 250, + 848, + 30000, + 16 + ), + ( + 320264, + 320256, + 3466, + '1967-01-01 00:00:00.000000', + 250, + 346, + 30000, + 16 + ), + ( + 320265, + 320262, + 3472, + '1967-01-01 00:00:00.000000', + 0, + 453, + 30000, + 16 + ), + ( + 320266, + 320264, + 3474, + '1967-01-01 00:00:00.000000', + 0, + 1114, + 30000, + 16 + ), + ( + 330001, + 330001, + 156, + '1999-01-01 00:00:00.000000', + 1000, + 125, + 30000, + 0 + ), + ( + 330002, + 330002, + 157, + '1999-01-01 00:00:00.000000', + 125, + 771, + 30000, + 0 + ), + ( + 330003, + 330003, + 188, + '1999-01-01 00:00:00.000000', + 1000, + 50, + 30000, + 0 + ), + ( + 330004, + 330004, + 886, + '1967-01-01 00:00:00.000000', + 250, + 589, + 30000, + 0 + ), + ( + 330005, + 330005, + 434, + '1964-01-01 00:00:00.000000', + 1000, + 51, + 30000, + 0 + ), + ( + 330006, + 330006, + 452, + '1932-01-01 00:00:00.000000', + 1000, + 52, + 30000, + 0 + ), + ( + 330007, + 330007, + 455, + '1957-01-01 00:00:00.000000', + 1000, + 201, + 30000, + 0 + ), + ( + 330008, + 330008, + 458, + '1952-01-01 00:00:00.000000', + 500, + 521, + 30000, + 0 + ), + ( + 330009, + 330009, + 459, + '1950-01-01 00:00:00.000000', + 1000, + 110, + 30000, + 0 + ), + ( + 330010, + 330010, + 492, + '1999-01-01 00:00:00.000000', + 125, + 223, + 30000, + 0 + ), + ( + 330011, + 330011, + 493, + '1999-01-01 00:00:00.000000', + 250, + 726, + 30000, + 0 + ), + ( + 330012, + 330012, + 494, + '1999-01-01 00:00:00.000000', + 250, + 514, + 30000, + 0 + ), + ( + 330013, + 330013, + 517, + '1957-01-01 00:00:00.000000', + 125, + 527, + 30000, + 0 + ), + ( + 330014, + 330017, + 1290, + '1960-01-01 00:00:00.000000', + 125, + 1024, + 30000, + 0 + ), + ( + 330015, + 330019, + 1335, + '1990-01-01 00:00:00.000000', + 500, + 523, + 30000, + 0 + ), + ( + 330016, + 330015, + 885, + '1990-01-01 00:00:00.000000', + 1000, + 52, + 30000, + 0 + ), + ( + 330017, + 330016, + 1291, + '1963-01-01 00:00:00.000000', + 125, + 902, + 30000, + 0 + ), + ( + 330018, + 330020, + 1521, + '1965-01-01 00:00:00.000000', + 500, + 521, + 30000, + 0 + ), + ( + 330019, + 330018, + 1517, + '1965-01-01 00:00:00.000000', + 125, + 902, + 30000, + 0 + ), + ( + 330020, + 330021, + 1544, + '1965-01-01 00:00:00.000000', + 1000, + 250, + 30000, + 0 + ), + ( + 330021, + 330022, + 1600, + '1961-01-01 00:00:00.000000', + 125, + 989, + 30000, + 0 + ), + ( + 330022, + 330023, + 1609, + '1963-01-01 00:00:00.000000', + 15, + 1338, + 30000, + 0 + ), + ( + 330023, + 330024, + 1791, + '1963-01-01 00:00:00.000000', + 1000, + 185, + 30000, + 0 + ), + ( + 330024, + 330025, + 1792, + '1963-01-01 00:00:00.000000', + 1000, + 250, + 30000, + 0 + ), + ( + 330025, + 330026, + 1793, + '1963-01-01 00:00:00.000000', + 60, + 873, + 30000, + 0 + ), + ( + 330026, + 330027, + 1794, + '1963-01-01 00:00:00.000000', + 125, + 577, + 30000, + 0 + ), + ( + 330027, + 330028, + 1795, + '1963-01-01 00:00:00.000000', + 30, + 985, + 30000, + 0 + ), + ( + 330028, + 330029, + 1796, + '1963-01-01 00:00:00.000000', + 250, + 527, + 30000, + 0 + ), + ( + 330029, + 330030, + 1797, + '1963-01-01 00:00:00.000000', + 125, + 771, + 30000, + 0 + ), + ( + 330030, + 330031, + 1798, + '1963-01-01 00:00:00.000000', + 250, + 841, + 30000, + 0 + ), + ( + 330031, + 330032, + 1799, + '1963-01-01 00:00:00.000000', + 1000, + 250, + 30000, + 0 + ), + ( + 330032, + 330033, + 1800, + '1963-01-01 00:00:00.000000', + 60, + 1015, + 30000, + 0 + ), + ( + 330033, + 330034, + 1801, + '1963-01-01 00:00:00.000000', + 125, + 801, + 30000, + 0 + ), + ( + 330034, + 330035, + 1802, + '1963-01-01 00:00:00.000000', + 500, + 521, + 30000, + 0 + ), + ( + 330035, + 330036, + 1803, + '1963-01-01 00:00:00.000000', + 1000, + 357, + 30000, + 0 + ), + ( + 330036, + 330037, + 1804, + '1963-01-01 00:00:00.000000', + 500, + 521, + 30000, + 0 + ), + ( + 330037, + 330038, + 1805, + '1963-01-01 00:00:00.000000', + 500, + 521, + 30000, + 0 + ), + ( + 330038, + 330039, + 1806, + '1963-01-01 00:00:00.000000', + 125, + 682, + 30000, + 0 + ), + ( + 330039, + 330040, + 1807, + '1963-01-01 00:00:00.000000', + 125, + 864, + 30000, + 0 + ), + ( + 330040, + 330041, + 1808, + '1963-01-01 00:00:00.000000', + 15, + 1228, + 30000, + 0 + ), + ( + 330041, + 330042, + 1809, + '1963-01-01 00:00:00.000000', + 1000, + 118, + 30000, + 0 + ), + ( + 330042, + 330043, + 1810, + '1963-01-01 00:00:00.000000', + 1000, + 207, + 30000, + 0 + ), + ( + 330043, + 330044, + 1811, + '1963-01-01 00:00:00.000000', + 125, + 682, + 30000, + 0 + ), + ( + 330044, + 330045, + 1812, + '1963-01-01 00:00:00.000000', + 250, + 474, + 30000, + 0 + ), + ( + 330045, + 330046, + 1813, + '1963-01-01 00:00:00.000000', + 125, + 646, + 30000, + 0 + ), + ( + 330046, + 330047, + 1814, + '1963-01-01 00:00:00.000000', + 125, + 690, + 30000, + 0 + ), + ( + 330047, + 330048, + 1815, + '1963-01-01 00:00:00.000000', + 15, + 1445, + 30000, + 0 + ), + ( + 330048, + 330049, + 1816, + '1963-01-01 00:00:00.000000', + 15, + 1626, + 30000, + 0 + ), + ( + 330049, + 330050, + 1817, + '1963-01-01 00:00:00.000000', + 15, + 1746, + 30000, + 0 + ), + ( + 330050, + 330051, + 1818, + '1963-01-01 00:00:00.000000', + 0, + 1927, + 30000, + 0 + ), + ( + 330051, + 330052, + 1819, + '1963-01-01 00:00:00.000000', + 0, + 1807, + 30000, + 0 + ), + ( + 330052, + 330053, + 2033, + '1967-01-01 00:00:00.000000', + 1000, + 175, + 30000, + 0 + ), + ( + 330053, + 330054, + 2038, + '1962-01-01 00:00:00.000000', + 1000, + 384, + 30000, + 0 + ), + ( + 330054, + 330055, + 2044, + '1955-01-01 00:00:00.000000', + 1000, + 175, + 30000, + 0 + ), + ( + 330055, + 330056, + 2045, + '1956-01-01 00:00:00.000000', + 500, + 621, + 30000, + 0 + ), + ( + 330056, + 330057, + 2047, + '1956-01-01 00:00:00.000000', + 1000, + 384, + 30000, + 0 + ), + ( + 330057, + 330058, + 2049, + '1958-01-01 00:00:00.000000', + 250, + 526, + 30000, + 0 + ), + ( + 330058, + 330059, + 2064, + '1968-01-01 00:00:00.000000', + 1000, + 309, + 30000, + 0 + ), + ( + 330059, + 330060, + 2069, + '1959-01-01 00:00:00.000000', + 500, + 446, + 30000, + 0 + ), + ( + 330060, + 330061, + 2071, + '1960-01-01 00:00:00.000000', + 250, + 605, + 30000, + 0 + ), + ( + 330061, + 330062, + 2085, + '1957-01-01 00:00:00.000000', + 500, + 621, + 30000, + 0 + ), + ( + 330062, + 330063, + 2087, + '1961-01-01 00:00:00.000000', + 500, + 446, + 30000, + 0 + ), + ( + 330063, + 330064, + 2092, + '1961-01-01 00:00:00.000000', + 125, + 1138, + 30000, + 0 + ), + ( + 330064, + 330065, + 2093, + '1962-01-01 00:00:00.000000', + 30, + 1244, + 30000, + 0 + ), + ( + 330065, + 330066, + 2108, + '1959-01-01 00:00:00.000000', + 500, + 446, + 30000, + 0 + ), + ( + 330066, + 330067, + 2109, + '1959-01-01 00:00:00.000000', + 250, + 661, + 30000, + 0 + ), + ( + 330067, + 330068, + 2111, + '1959-01-01 00:00:00.000000', + 125, + 802, + 30000, + 0 + ), + ( + 330068, + 330069, + 2687, + '1995-01-01 00:00:00.000000', + 125, + 361, + 30000, + 0 + ), + ( + 330069, + 330070, + 2688, + '1995-01-01 00:00:00.000000', + 60, + 748, + 30000, + 0 + ), + ( + 330070, + 330072, + 2689, + '1995-01-01 00:00:00.000000', + 60, + 831, + 30000, + 0 + ), + ( + 330071, + 330071, + 2690, + '1995-01-01 00:00:00.000000', + 60, + 919, + 30000, + 0 + ), + ( + 330072, + 330073, + 2693, + '1995-01-01 00:00:00.000000', + 30, + 1124, + 30000, + 0 + ), + ( + 330073, + 330014, + 2756, + '1965-01-01 00:00:00.000000', + 125, + 771, + 30000, + 0 + ), + ( + 340001, + 340001, + 158, + '1999-01-01 00:00:00.000000', + 500, + 41, + 30000, + 0 + ), + ( + 340002, + 340002, + 1172, + '1999-01-01 00:00:00.000000', + 1000, + 56, + 30000, + 0 + ), + ( + 340003, + 340003, + 159, + '1999-01-01 00:00:00.000000', + 125, + 101, + 30000, + 0 + ), + ( + 340004, + 340004, + 160, + '1999-01-01 00:00:00.000000', + 0, + 201, + 30000, + 0 + ), + ( + 340005, + 340005, + 2351, + '2001-01-01 00:00:00.000000', + 500, + 101, + 30000, + 0 + ), + ( + 340006, + 340006, + 2680, + '1995-01-01 00:00:00.000000', + 125, + 126, + 30000, + 0 + ), + ( + 340007, + 340007, + 2681, + '1995-01-01 00:00:00.000000', + 125, + 126, + 30000, + 0 + ), + ( + 340008, + 340008, + 2682, + '1995-01-01 00:00:00.000000', + 125, + 126, + 30000, + 0 + ), + ( + 340009, + 340009, + 2683, + '1995-01-01 00:00:00.000000', + 500, + 81, + 30000, + 0 + ), + ( + 340010, + 340010, + 2684, + '1995-01-01 00:00:00.000000', + 500, + 81, + 30000, + 0 + ), + ( + 340011, + 340011, + 2685, + '1995-01-01 00:00:00.000000', + 500, + 81, + 30000, + 0 + ), + ( + 350001, + 350001, + 161, + '1999-01-01 00:00:00.000000', + 1000, + 4532, + 30000, + 0 + ), + ( + 350002, + 350002, + 162, + '1999-01-01 00:00:00.000000', + 500, + 5061, + 30000, + 0 + ), + ( + 350003, + 350003, + 409, + '1960-01-01 00:00:00.000000', + 250, + 5821, + 30000, + 0 + ), + ( + 350004, + 350004, + 460, + '1957-01-01 00:00:00.000000', + 125, + 6787, + 30000, + 0 + ), + ( + 350005, + 350005, + 497, + '1999-01-01 00:00:00.000000', + 0, + 12411, + 30000, + 0 + ), + ( + 350006, + 350006, + 2662, + '1965-01-01 00:00:00.000000', + 125, + 6787, + 30000, + 0 + ), + ( + 350007, + 350007, + 2663, + '1966-01-01 00:00:00.000000', + 125, + 7341, + 30000, + 0 + ), + ( + 350008, + 350008, + 2664, + '1967-01-01 00:00:00.000000', + 0, + 7940, + 30000, + 0 + ), + ( + 360001, + 360001, + 163, + '1999-01-01 00:00:00.000000', + 1000, + 5007, + 30000, + 0 + ), + ( + 360002, + 360002, + 164, + '1999-01-01 00:00:00.000000', + 75, + 8665, + 30000, + 0 + ), + ( + 360003, + 360005, + 507, + '1999-01-01 00:00:00.000000', + 0, + 16901, + 30000, + 0 + ), + ( + 360004, + 360003, + 505, + '1999-01-01 00:00:00.000000', + 80, + 8540, + 30000, + 0 + ), + ( + 360005, + 360006, + 508, + '1999-01-01 00:00:00.000000', + 90, + 8415, + 30000, + 0 + ), + ( + 360006, + 360004, + 506, + '1999-01-01 00:00:00.000000', + 0, + 13136, + 30000, + 0 + ), + ( + 1000001, + 1000001, + 166, + '1964-01-01 00:00:00.000000', + 1000, + 551, + 30000, + 15 + ), + ( + 1000002, + 1000002, + 887, + '1932-01-01 00:00:00.000000', + 250, + 646, + 30000, + 10 + ), + ( + 1000003, + 1000003, + 888, + '1942-01-01 00:00:00.000000', + 125, + 662, + 30000, + 10 + ), + ( + 1000004, + 1000004, + 889, + '1940-01-01 00:00:00.000000', + 125, + 717, + 30000, + 10 + ), + ( + 1000005, + 1000005, + 890, + '1963-01-01 00:00:00.000000', + 125, + 2587, + 30000, + 3 + ), + ( + 1000006, + 1000006, + 891, + '1969-01-01 00:00:00.000000', + 30, + 6203, + 30000, + 17 + ), + ( + 1000007, + 1000007, + 1046, + '1966-01-01 00:00:00.000000', + 500, + 1920, + 30000, + 14 + ), + ( + 1000008, + 1000008, + 1047, + '1967-01-01 00:00:00.000000', + 250, + 2041, + 30000, + 14 + ), + ( + 1000009, + 1000009, + 1048, + '1968-01-01 00:00:00.000000', + 125, + 2438, + 30000, + 14 + ), + ( + 1000010, + 1000010, + 1049, + '1968-01-01 00:00:00.000000', + 1000, + 900, + 30000, + 13 + ), + ( + 1000011, + 1000011, + 1022, + '1966-01-01 00:00:00.000000', + 30, + 3024, + 30000, + 18 + ), + ( + 1000012, + 1000012, + 1023, + '1968-01-01 00:00:00.000000', + 250, + 2116, + 30000, + 2 + ), + ( + 1000013, + 1000013, + 1050, + '1971-01-01 00:00:00.000000', + 250, + 1061, + 30000, + 2 + ), + ( + 1000014, + 1000014, + 1173, + '1968-01-01 00:00:00.000000', + 500, + 864, + 30000, + 11 + ), + ( + 1000015, + 1000015, + 1174, + '1957-01-01 00:00:00.000000', + 500, + 854, + 30000, + 6 + ), + ( + 1000016, + 1000016, + 1124, + '1964-01-01 00:00:00.000000', + 250, + 1095, + 30000, + 13 + ), + ( + 1000017, + 1000017, + 1125, + '1957-01-01 00:00:00.000000', + 125, + 2459, + 30000, + 12 + ), + ( + 1000018, + 1000018, + 1126, + '1967-01-01 00:00:00.000000', + 250, + 1175, + 30000, + 13 + ), + ( + 1000019, + 1000019, + 1175, + '1965-01-01 00:00:00.000000', + 60, + 2520, + 30000, + 5 + ), + ( + 1000020, + 1000020, + 1243, + '1935-01-01 00:00:00.000000', + 60, + 782, + 30000, + 10 + ), + ( + 1000021, + 1000021, + 1244, + '1955-01-01 00:00:00.000000', + 1000, + 648, + 30000, + 12 + ), + ( + 1000022, + 1000022, + 1245, + '1958-01-01 00:00:00.000000', + 500, + 832, + 30000, + 19 + ), + ( + 1000023, + 1000023, + 1246, + '1966-01-01 00:00:00.000000', + 60, + 2941, + 30000, + 5 + ), + ( + 1000024, + 1000024, + 1247, + '1967-01-01 00:00:00.000000', + 0, + 5423, + 30000, + 5 + ), + ( + 1000025, + 1000025, + 1248, + '1967-01-01 00:00:00.000000', + 30, + 4750, + 30000, + 5 + ), + ( + 1000026, + 1000026, + 1249, + '1957-01-01 00:00:00.000000', + 250, + 551, + 30000, + 15 + ), + ( + 1000027, + 1000027, + 1250, + '1970-01-01 00:00:00.000000', + 250, + 1418, + 30000, + 17 + ), + ( + 1000028, + 1000028, + 1251, + '1969-01-01 00:00:00.000000', + 125, + 1813, + 30000, + 17 + ), + ( + 1000029, + 1000029, + 1252, + '1972-01-01 00:00:00.000000', + 125, + 2157, + 30000, + 16 + ), + ( + 1000030, + 1000030, + 1253, + '1961-01-01 00:00:00.000000', + 500, + 928, + 30000, + 3 + ), + ( + 1000031, + 1000031, + 1255, + '1962-01-01 00:00:00.000000', + 125, + 2488, + 30000, + 3 + ), + ( + 1000032, + 1000032, + 1256, + '1964-01-01 00:00:00.000000', + 125, + 2967, + 30000, + 3 + ), + ( + 1000033, + 1000033, + 1254, + '1965-01-01 00:00:00.000000', + 0, + 10062, + 30000, + 3 + ), + ( + 1000034, + 1000034, + 1257, + '1968-01-01 00:00:00.000000', + 250, + 1639, + 30000, + 17 + ), + ( + 1000035, + 1000035, + 1258, + '1970-01-01 00:00:00.000000', + 125, + 2682, + 30000, + 17 + ), + ( + 1000037, + 1000037, + 1260, + '1959-01-01 00:00:00.000000', + 125, + 1987, + 30000, + 13 + ), + ( + 1000038, + 1000038, + 1261, + '1962-01-01 00:00:00.000000', + 125, + 2300, + 30000, + 1 + ), + ( + 1000039, + 1000039, + 1262, + '1962-01-01 00:00:00.000000', + 0, + 3911, + 30000, + 1 + ), + ( + 1000040, + 1000040, + 1337, + '1990-01-01 00:00:00.000000', + 60, + 4780, + 30000, + 6 + ), + ( + 1000041, + 1000041, + 1338, + '1990-01-01 00:00:00.000000', + 60, + 5214, + 30000, + 6 + ), + ( + 1000042, + 1000043, + 1339, + '1990-01-01 00:00:00.000000', + 60, + 5021, + 30000, + 6 + ), + ( + 1000043, + 1000042, + 1340, + '1990-01-01 00:00:00.000000', + 60, + 4587, + 30000, + 6 + ), + ( + 1000044, + 1000044, + 1341, + '1990-01-01 00:00:00.000000', + 60, + 5414, + 30000, + 5 + ), + ( + 1000045, + 1000045, + 1342, + '1990-01-01 00:00:00.000000', + 60, + 5414, + 30000, + 5 + ), + ( + 1000046, + 1000046, + 1343, + '1990-01-01 00:00:00.000000', + 60, + 5200, + 30000, + 5 + ), + ( + 1000047, + 1000047, + 1344, + '1990-01-01 00:00:00.000000', + 60, + 6008, + 30000, + 6 + ), + ( + 1000048, + 1000048, + 1499, + '1970-01-01 00:00:00.000000', + 125, + 995, + 30000, + 7 + ), + ( + 1000049, + 1000049, + 1573, + '1963-01-01 00:00:00.000000', + 125, + 2817, + 30000, + 13 + ), + ( + 1000050, + 1000050, + 1574, + '1963-01-01 00:00:00.000000', + 0, + 3511, + 30000, + 13 + ), + ( + 1000051, + 1000051, + 1580, + '1968-01-01 00:00:00.000000', + 250, + 2166, + 30000, + 13 + ), + ( + 1000052, + 1000052, + 1613, + '1965-01-01 00:00:00.000000', + 125, + 2806, + 30000, + 3 + ), + ( + 1000053, + 1000053, + 1624, + '1962-01-01 00:00:00.000000', + 125, + 2144, + 30000, + 3 + ), + ( + 1000054, + 1000054, + 1647, + '1969-01-01 00:00:00.000000', + 0, + 6385, + 30000, + 17 + ), + ( + 1000055, + 1000055, + 1675, + '1964-01-01 00:00:00.000000', + 60, + 3574, + 30000, + 1 + ), + ( + 1000057, + 1000057, + 1961, + '1963-01-01 00:00:00.000000', + 500, + 796, + 30000, + 19 + ), + ( + 1000058, + 1000058, + 1962, + '1971-01-01 00:00:00.000000', + 30, + 3601, + 30000, + 16 + ), + ( + 1000060, + 1000060, + 1965, + '1953-01-01 00:00:00.000000', + 500, + 773, + 30000, + 21 + ), + ( + 1000061, + 1000061, + 1966, + '1965-01-01 00:00:00.000000', + 60, + 1052, + 30000, + 4 + ), + ( + 1000063, + 1000063, + 1968, + '1971-01-01 00:00:00.000000', + 1000, + 898, + 30000, + 7 + ), + ( + 1000064, + 1000064, + 1969, + '1971-01-01 00:00:00.000000', + 1000, + 855, + 30000, + 8 + ), + ( + 1000065, + 1000065, + 1970, + '1968-01-01 00:00:00.000000', + 1000, + 853, + 30000, + 8 + ), + ( + 1000066, + 1000066, + 1971, + '1968-01-01 00:00:00.000000', + 125, + 1008, + 30000, + 8 + ), + ( + 1000067, + 1000067, + 1972, + '1949-01-01 00:00:00.000000', + 125, + 596, + 30000, + 9 + ), + ( + 1000068, + 1000068, + 1973, + '1959-01-01 00:00:00.000000', + 60, + 2074, + 30000, + 9 + ), + ( + 1000069, + 1000069, + 1974, + '1955-01-01 00:00:00.000000', + 500, + 837, + 30000, + 6 + ), + ( + 1000070, + 1000070, + 1975, + '1956-01-01 00:00:00.000000', + 500, + 835, + 30000, + 6 + ), + ( + 1000071, + 1000071, + 1976, + '1957-01-01 00:00:00.000000', + 500, + 1052, + 30000, + 6 + ), + ( + 1000072, + 1000072, + 1977, + '1961-01-01 00:00:00.000000', + 250, + 1226, + 30000, + 6 + ), + ( + 1000073, + 1000073, + 1978, + '1962-01-01 00:00:00.000000', + 125, + 2363, + 30000, + 6 + ), + ( + 1000074, + 1000074, + 1979, + '1968-01-01 00:00:00.000000', + 1000, + 863, + 30000, + 6 + ), + ( + 1000075, + 1000075, + 1980, + '1966-01-01 00:00:00.000000', + 500, + 1580, + 30000, + 5 + ), + ( + 1000076, + 1000076, + 1981, + '1969-01-01 00:00:00.000000', + 60, + 5530, + 30000, + 5 + ), + ( + 1000077, + 1000077, + 1982, + '1971-01-01 00:00:00.000000', + 125, + 2570, + 30000, + 5 + ), + ( + 1000078, + 1000078, + 1983, + '1968-01-01 00:00:00.000000', + 125, + 769, + 30000, + 11 + ), + ( + 1000079, + 1000079, + 1984, + '1969-01-01 00:00:00.000000', + 125, + 1355, + 30000, + 11 + ), + ( + 1000080, + 1000080, + 1985, + '1966-01-01 00:00:00.000000', + 500, + 869, + 30000, + 12 + ), + ( + 1000081, + 1000081, + 1986, + '1968-01-01 00:00:00.000000', + 1000, + 646, + 30000, + 12 + ), + ( + 1000082, + 1000017, + 1987, + '1968-01-01 00:00:00.000000', + 125, + 2459, + 30000, + 12 + ), + ( + 1000083, + 1000083, + 1988, + '1967-01-01 00:00:00.000000', + 250, + 1380, + 30000, + 12 + ), + ( + 1000084, + 1000084, + 1989, + '1966-01-01 00:00:00.000000', + 1000, + 873, + 30000, + 13 + ), + ( + 1000085, + 1000085, + 1990, + '1970-01-01 00:00:00.000000', + 500, + 971, + 30000, + 13 + ), + ( + 1000086, + 1000086, + 1991, + '1961-01-01 00:00:00.000000', + 125, + 2291, + 30000, + 13 + ), + ( + 1000087, + 1000129, + 2081, + '1962-01-01 00:00:00.000000', + 125, + 2854, + 30000, + 13 + ), + ( + 1000088, + 1000087, + 1992, + '1964-01-01 00:00:00.000000', + 125, + 2229, + 30000, + 13 + ), + ( + 1000089, + 1000088, + 1993, + '1965-01-01 00:00:00.000000', + 250, + 1119, + 30000, + 13 + ), + ( + 1000090, + 1000089, + 1994, + '1970-01-01 00:00:00.000000', + 500, + 1099, + 30000, + 13 + ), + ( + 1000091, + 1000090, + 1995, + '1970-01-01 00:00:00.000000', + 500, + 1043, + 30000, + 13 + ), + ( + 1000092, + 1000091, + 1996, + '1973-01-01 00:00:00.000000', + 250, + 2140, + 30000, + 13 + ), + ( + 1000093, + 1000092, + 1997, + '1955-01-01 00:00:00.000000', + 250, + 545, + 30000, + 15 + ), + ( + 1000094, + 1000093, + 1998, + '1955-01-01 00:00:00.000000', + 500, + 533, + 30000, + 15 + ), + ( + 1000095, + 1000094, + 1999, + '1955-01-01 00:00:00.000000', + 500, + 537, + 30000, + 15 + ), + ( + 1000096, + 1000095, + 2000, + '1956-01-01 00:00:00.000000', + 500, + 538, + 30000, + 15 + ), + ( + 1000097, + 1000096, + 2001, + '1956-01-01 00:00:00.000000', + 500, + 533, + 30000, + 15 + ), + ( + 1000098, + 1000097, + 2002, + '1957-01-01 00:00:00.000000', + 1000, + 552, + 30000, + 15 + ), + ( + 1000099, + 1000098, + 2003, + '1957-01-01 00:00:00.000000', + 500, + 595, + 30000, + 15 + ), + ( + 1000100, + 1000099, + 2004, + '1957-01-01 00:00:00.000000', + 500, + 554, + 30000, + 15 + ), + ( + 1000101, + 1000100, + 2005, + '1958-01-01 00:00:00.000000', + 1000, + 551, + 30000, + 15 + ), + ( + 1000102, + 1000101, + 2006, + '1959-01-01 00:00:00.000000', + 500, + 583, + 30000, + 15 + ), + ( + 1000103, + 1000102, + 2007, + '1963-01-01 00:00:00.000000', + 125, + 3293, + 30000, + 3 + ), + ( + 1000104, + 1000103, + 2008, + '1964-01-01 00:00:00.000000', + 125, + 2287, + 30000, + 3 + ), + ( + 1000105, + 1000104, + 2009, + '1964-01-01 00:00:00.000000', + 500, + 1012, + 30000, + 3 + ), + ( + 1000106, + 1000105, + 2010, + '1964-01-01 00:00:00.000000', + 500, + 908, + 30000, + 3 + ), + ( + 1000107, + 1000106, + 2011, + '1970-01-01 00:00:00.000000', + 250, + 1434, + 30000, + 16 + ), + ( + 1000108, + 1000107, + 2012, + '1970-01-01 00:00:00.000000', + 125, + 2925, + 30000, + 16 + ), + ( + 1000109, + 1000108, + 2013, + '1971-01-01 00:00:00.000000', + 500, + 1454, + 30000, + 16 + ), + ( + 1000110, + 1000109, + 2014, + '1972-01-01 00:00:00.000000', + 250, + 1410, + 30000, + 16 + ), + ( + 1000112, + 1000111, + 2016, + '1971-01-01 00:00:00.000000', + 250, + 1559, + 30000, + 17 + ), + ( + 1000113, + 1000112, + 2017, + '1959-01-01 00:00:00.000000', + 125, + 2030, + 30000, + 1 + ), + ( + 1000114, + 1000113, + 2018, + '1963-01-01 00:00:00.000000', + 500, + 940, + 30000, + 1 + ), + ( + 1000115, + 1000114, + 2019, + '1965-01-01 00:00:00.000000', + 1000, + 887, + 30000, + 1 + ), + ( + 1000116, + 1000115, + 2020, + '1964-01-01 00:00:00.000000', + 1000, + 838, + 30000, + 2 + ), + ( + 1000117, + 1000116, + 2021, + '1965-01-01 00:00:00.000000', + 250, + 1117, + 30000, + 2 + ), + ( + 1000118, + 1000117, + 2022, + '1968-01-01 00:00:00.000000', + 1000, + 838, + 30000, + 2 + ), + ( + 1000119, + 1000118, + 2023, + '1967-01-01 00:00:00.000000', + 500, + 842, + 30000, + 2 + ), + ( + 1000120, + 1000119, + 2034, + '1966-01-01 00:00:00.000000', + 500, + 982, + 30000, + 1 + ), + ( + 1000121, + 1000120, + 2037, + '1962-01-01 00:00:00.000000', + 125, + 2116, + 30000, + 6 + ), + ( + 1000122, + 1000121, + 2042, + '1969-01-01 00:00:00.000000', + 500, + 1018, + 30000, + 6 + ), + ( + 1000123, + 1000122, + 2048, + '1957-01-01 00:00:00.000000', + 500, + 831, + 30000, + 6 + ), + ( + 1000124, + 1000120, + 2050, + '1962-01-01 00:00:00.000000', + 125, + 2116, + 30000, + 6 + ), + ( + 1000125, + 1000124, + 2051, + '1962-01-01 00:00:00.000000', + 125, + 2844, + 30000, + 6 + ), + ( + 1000126, + 1000056, + 2055, + '1962-01-01 00:00:00.000000', + 500, + 855, + 30000, + 19 + ), + ( + 1000127, + 1000125, + 2060, + '1966-01-01 00:00:00.000000', + 125, + 2278, + 30000, + 5 + ), + ( + 1000128, + 1000126, + 2070, + '1960-01-01 00:00:00.000000', + 500, + 1027, + 30000, + 13 + ), + ( + 1000129, + 1000127, + 2076, + '1960-01-01 00:00:00.000000', + 125, + 2192, + 30000, + 13 + ), + ( + 1000130, + 1000128, + 2078, + '1962-01-01 00:00:00.000000', + 250, + 1200, + 30000, + 13 + ), + ( + 1000131, + 1000130, + 2084, + '1970-01-01 00:00:00.000000', + 15, + 2660, + 30000, + 13 + ), + ( + 1000132, + 1000131, + 2086, + '1958-01-01 00:00:00.000000', + 250, + 2033, + 30000, + 3 + ), + ( + 1000133, + 1000132, + 2088, + '1960-01-01 00:00:00.000000', + 1000, + 892, + 30000, + 3 + ), + ( + 1000134, + 1000133, + 2094, + '1966-01-01 00:00:00.000000', + 250, + 1115, + 30000, + 3 + ), + ( + 1000135, + 1000134, + 2096, + '1962-01-01 00:00:00.000000', + 1000, + 814, + 30000, + 4 + ), + ( + 1000136, + 1000135, + 2098, + '1963-01-01 00:00:00.000000', + 250, + 1036, + 30000, + 4 + ), + ( + 1000137, + 1000136, + 2101, + '1963-01-01 00:00:00.000000', + 1000, + 813, + 30000, + 4 + ), + ( + 1000138, + 1000137, + 2102, + '1965-01-01 00:00:00.000000', + 250, + 928, + 30000, + 4 + ), + ( + 1000139, + 1000138, + 2103, + '1969-01-01 00:00:00.000000', + 125, + 2615, + 30000, + 4 + ), + ( + 1000140, + 1000139, + 2106, + '1969-01-01 00:00:00.000000', + 500, + 879, + 30000, + 4 + ), + ( + 1000141, + 1000140, + 2107, + '1969-01-01 00:00:00.000000', + 250, + 1308, + 30000, + 4 + ), + ( + 1000142, + 1000141, + 2110, + '1971-01-01 00:00:00.000000', + 1000, + 938, + 30000, + 1 + ), + ( + 1000143, + 1000142, + 2112, + '1964-01-01 00:00:00.000000', + 60, + 2756, + 30000, + 1 + ), + ( + 1000144, + 1000143, + 2113, + '1964-01-01 00:00:00.000000', + 250, + 1128, + 30000, + 1 + ), + ( + 1000145, + 1000144, + 2218, + '1970-01-01 00:00:00.000000', + 125, + 2039, + 30000, + 7 + ), + ( + 1000146, + 1000145, + 2388, + '1973-01-01 00:00:00.000000', + 1000, + 952, + 30000, + 13 + ), + ( + 1000147, + 1000146, + 2424, + '1973-01-01 00:00:00.000000', + 125, + 1427, + 30000, + 5 + ), + ( + 1000148, + 1000147, + 2452, + '1960-01-01 00:00:00.000000', + 0, + 491, + 30000, + 6 + ), + ( + 1000149, + 1000148, + 2455, + '1966-01-01 00:00:00.000000', + 1000, + 1821, + 30000, + 14 + ), + ( + 1000150, + 1000149, + 2456, + '1969-01-01 00:00:00.000000', + 500, + 1898, + 30000, + 14 + ), + ( + 1000151, + 1000150, + 2457, + '1970-01-01 00:00:00.000000', + 250, + 1997, + 30000, + 14 + ), + ( + 1000152, + 1000151, + 2458, + '1970-01-01 00:00:00.000000', + 125, + 2291, + 30000, + 14 + ), + ( + 1000153, + 1000017, + 2467, + '1964-01-01 00:00:00.000000', + 0, + 2459, + 30000, + 18 + ), + ( + 1000154, + 1000152, + 2480, + '1940-01-01 00:00:00.000000', + 1, + 606, + 30000, + 20 + ), + ( + 1000155, + 1000153, + 2538, + '1957-01-01 00:00:00.000000', + 125, + 1051, + 30000, + 7 + ), + ( + 1000156, + 1000154, + 2549, + '1963-01-01 00:00:00.000000', + 15, + 2154, + 30000, + 19 + ), + ( + 1000157, + 1000155, + 2559, + '1942-03-14 00:00:00.000000', + 60, + 599, + 30000, + 20 + ), + ( + 1000158, + 1000156, + 2560, + '1942-05-16 00:00:00.000000', + 60, + 593, + 30000, + 20 + ), + ( + 1000159, + 1000157, + 2561, + '1946-04-17 00:00:00.000000', + 60, + 930, + 30000, + 20 + ), + ( + 1000160, + 1000158, + 2562, + '1947-08-20 00:00:00.000000', + 60, + 1724, + 30000, + 20 + ), + ( + 1000161, + 1000159, + 2563, + '1962-02-12 00:00:00.000000', + 250, + 793, + 30000, + 21 + ), + ( + 1000162, + 1000160, + 2564, + '1955-04-17 00:00:00.000000', + 250, + 1791, + 30000, + 21 + ), + ( + 1000163, + 1000161, + 2565, + '1960-06-11 00:00:00.000000', + 125, + 947, + 30000, + 21 + ), + ( + 1000164, + 1000162, + 2566, + '1959-07-11 00:00:00.000000', + 60, + 1016, + 30000, + 21 + ), + ( + 1000165, + 1000163, + 2567, + '1957-05-16 00:00:00.000000', + 60, + 1899, + 30000, + 9 + ), + ( + 1000166, + 1000164, + 2568, + '1958-07-11 00:00:00.000000', + 60, + 1943, + 30000, + 9 + ), + ( + 1000167, + 1000165, + 2569, + '1967-08-24 00:00:00.000000', + 30, + 3530, + 30000, + 18 + ), + ( + 1000168, + 1000166, + 2570, + '1968-04-15 00:00:00.000000', + 15, + 3631, + 30000, + 18 + ), + ( + 1000169, + 1000167, + 2667, + '1995-01-01 00:00:00.000000', + 30, + 2420, + 30000, + 10 + ), + ( + 1000170, + 1000168, + 2697, + '1995-01-01 00:00:00.000000', + 0, + 9237, + 30000, + 5 + ), + ( + 1000171, + 1000169, + 2755, + '1971-01-01 00:00:00.000000', + 0, + 5296, + 30000, + 14 + ), + ( + 1000172, + 1000170, + 2771, + '1971-01-01 00:00:00.000000', + 250, + 1933, + 30000, + 14 + ), + ( + 1000173, + 1000171, + 2772, + '1972-01-01 00:00:00.000000', + 500, + 1911, + 30000, + 14 + ), + ( + 1000174, + 1000173, + 2873, + '1970-01-01 00:00:00.000000', + 125, + 2606, + 30000, + 4 + ), + ( + 1000175, + 1000174, + 2874, + '1968-01-01 00:00:00.000000', + 30, + 1798, + 30000, + 4 + ), + ( + 1000176, + 1000172, + 2875, + '1971-01-01 00:00:00.000000', + 500, + 854, + 30000, + 4 + ), + ( + 1100001, + 1100001, + 1727, + '1999-01-01 00:00:00.000000', + 1000, + 444, + 30000, + 6 + ), + ( + 1100002, + 1100017, + 1728, + '1960-01-01 00:00:00.000000', + 1000, + 467, + 30000, + 2 + ), + ( + 1100003, + 1100003, + 167, + '1999-01-01 00:00:00.000000', + 125, + 1308, + 30000, + 2 + ), + ( + 1100004, + 1100004, + 1729, + '1999-01-01 00:00:00.000000', + 125, + 1403, + 30000, + 2 + ), + ( + 1100005, + 1100005, + 1726, + '1999-01-01 00:00:00.000000', + 1000, + 452, + 30000, + 4 + ), + ( + 1100006, + 1100006, + 1730, + '1999-01-01 00:00:00.000000', + 30, + 2111, + 30000, + 2 + ), + ( + 1100007, + 1100007, + 1731, + '1999-01-01 00:00:00.000000', + 30, + 2734, + 30000, + 2 + ), + ( + 1100008, + 1100008, + 1733, + '1999-01-01 00:00:00.000000', + 30, + 2772, + 30000, + 2 + ), + ( + 1100009, + 1100009, + 1732, + '1999-01-01 00:00:00.000000', + 30, + 3458, + 30000, + 2 + ), + ( + 1100010, + 1100018, + 1308, + '1966-01-01 00:00:00.000000', + 1000, + 498, + 30000, + 3 + ), + ( + 1100011, + 1100011, + 1309, + '1999-01-01 00:00:00.000000', + 1000, + 460, + 30000, + 7 + ), + ( + 1100012, + 1100012, + 1310, + '1999-01-01 00:00:00.000000', + 1000, + 454, + 30000, + 8 + ), + ( + 1100013, + 1100013, + 1311, + '1999-01-01 00:00:00.000000', + 1000, + 1052, + 30000, + 9 + ), + ( + 1100014, + 1100014, + 1312, + '1999-01-01 00:00:00.000000', + 1000, + 480, + 30000, + 5 + ), + ( + 1100015, + 1100016, + 1313, + '1999-01-01 00:00:00.000000', + 1000, + 485, + 30000, + 1 + ), + ( + 1100016, + 1100020, + 1314, + '1999-01-01 00:00:00.000000', + 1000, + 416, + 30000, + 10 + ), + ( + 1100017, + 1100021, + 1315, + '1999-01-01 00:00:00.000000', + 1000, + 472, + 30000, + 12 + ), + ( + 1100018, + 1100022, + 1316, + '1968-01-01 00:00:00.000000', + 1000, + 468, + 30000, + 11 + ), + ( + 1100019, + 1100023, + 1317, + '1999-01-01 00:00:00.000000', + 1000, + 442, + 30000, + 14 + ), + ( + 1100020, + 1100024, + 1318, + '1999-01-01 00:00:00.000000', + 1000, + 468, + 30000, + 13 + ), + ( + 1100021, + 1100002, + 1319, + '1999-01-01 00:00:00.000000', + 500, + 734, + 30000, + 2 + ), + ( + 1100022, + 1100025, + 1320, + '1956-01-01 00:00:00.000000', + 500, + 460, + 30000, + 6 + ), + ( + 1100023, + 1100026, + 1321, + '1957-01-01 00:00:00.000000', + 60, + 1572, + 30000, + 6 + ), + ( + 1100024, + 1100010, + 1307, + '1990-01-01 00:00:00.000000', + 30, + 1632, + 30000, + 2 + ), + ( + 1100025, + 1100015, + 1322, + '1956-01-01 00:00:00.000000', + 250, + 1040, + 30000, + 6 + ), + ( + 1100026, + 1100028, + 1323, + '1957-01-01 00:00:00.000000', + 250, + 1078, + 30000, + 5 + ), + ( + 1100027, + 1100029, + 1324, + '1970-01-01 00:00:00.000000', + 60, + 1725, + 30000, + 5 + ), + ( + 1100028, + 1100030, + 1325, + '1968-01-01 00:00:00.000000', + 500, + 495, + 30000, + 7 + ), + ( + 1100029, + 1100031, + 1326, + '1969-01-01 00:00:00.000000', + 250, + 1052, + 30000, + 7 + ), + ( + 1100030, + 1100032, + 1327, + '1969-01-01 00:00:00.000000', + 250, + 1082, + 30000, + 7 + ), + ( + 1100031, + 1100033, + 1328, + '1968-01-01 00:00:00.000000', + 250, + 1084, + 30000, + 11 + ), + ( + 1100032, + 1100034, + 1329, + '1967-01-01 00:00:00.000000', + 250, + 1091, + 30000, + 12 + ), + ( + 1100033, + 1100035, + 1330, + '1959-01-01 00:00:00.000000', + 60, + 1697, + 30000, + 13 + ), + ( + 1100034, + 1100036, + 1331, + '1967-01-01 00:00:00.000000', + 125, + 1028, + 30000, + 13 + ), + ( + 1100035, + 1100037, + 1332, + '1969-01-01 00:00:00.000000', + 250, + 1084, + 30000, + 13 + ), + ( + 1100036, + 1100039, + 1333, + '1963-01-01 00:00:00.000000', + 250, + 1089, + 30000, + 13 + ), + ( + 1100037, + 1100038, + 1334, + '1961-01-01 00:00:00.000000', + 60, + 1745, + 30000, + 13 + ), + ( + 1100038, + 1100040, + 1336, + '1956-01-01 00:00:00.000000', + 500, + 435, + 30000, + 15 + ), + ( + 1100039, + 1100041, + 1345, + '1961-01-01 00:00:00.000000', + 250, + 1106, + 30000, + 3 + ), + ( + 1100040, + 1100042, + 1346, + '1962-01-01 00:00:00.000000', + 250, + 1124, + 30000, + 3 + ), + ( + 1100041, + 1100043, + 1347, + '1967-01-01 00:00:00.000000', + 0, + 4598, + 30000, + 3 + ), + ( + 1100042, + 1100044, + 1348, + '1966-01-01 00:00:00.000000', + 250, + 1402, + 30000, + 3 + ), + ( + 1100043, + 1100045, + 1349, + '1971-01-01 00:00:00.000000', + 60, + 2187, + 30000, + 17 + ), + ( + 1100044, + 1100046, + 1359, + '1963-01-01 00:00:00.000000', + 250, + 1086, + 30000, + 1 + ), + ( + 1100045, + 1100049, + 1362, + '1964-01-01 00:00:00.000000', + 30, + 3404, + 30000, + 18 + ), + ( + 1100046, + 1100047, + 1360, + '1962-01-01 00:00:00.000000', + 250, + 1086, + 30000, + 1 + ), + ( + 1100047, + 1100048, + 1361, + '1964-01-01 00:00:00.000000', + 60, + 1740, + 30000, + 1 + ), + ( + 1100048, + 1100050, + 1363, + '1971-01-01 00:00:00.000000', + 250, + 1054, + 30000, + 2 + ), + ( + 1100049, + 1100051, + 1364, + '1966-01-01 00:00:00.000000', + 125, + 1330, + 30000, + 14 + ), + ( + 1100050, + 1100052, + 1365, + '1970-01-01 00:00:00.000000', + 60, + 1694, + 30000, + 14 + ), + ( + 1100052, + 1100054, + 1367, + '1999-01-01 00:00:00.000000', + 30, + 2786, + 30000, + 9 + ), + ( + 1100053, + 1100055, + 1368, + '1999-01-01 00:00:00.000000', + 30, + 2747, + 30000, + 7 + ), + ( + 1100054, + 1100056, + 1369, + '1999-01-01 00:00:00.000000', + 30, + 2747, + 30000, + 8 + ), + ( + 1100055, + 1100057, + 1370, + '1999-01-01 00:00:00.000000', + 30, + 2835, + 30000, + 5 + ), + ( + 1100056, + 1100058, + 1371, + '1999-01-01 00:00:00.000000', + 30, + 2742, + 30000, + 6 + ), + ( + 1100057, + 1100059, + 1372, + '1999-01-01 00:00:00.000000', + 30, + 2772, + 30000, + 1 + ), + ( + 1100058, + 1100060, + 1373, + '1999-01-01 00:00:00.000000', + 30, + 2890, + 30000, + 3 + ), + ( + 1100059, + 1100061, + 1374, + '1999-01-01 00:00:00.000000', + 30, + 2846, + 30000, + 4 + ), + ( + 1100060, + 1100062, + 1375, + '1999-01-01 00:00:00.000000', + 30, + 2846, + 30000, + 12 + ), + ( + 1100061, + 1100063, + 1376, + '1999-01-01 00:00:00.000000', + 30, + 2846, + 30000, + 11 + ), + ( + 1100062, + 1100064, + 1377, + '1999-01-01 00:00:00.000000', + 30, + 2772, + 30000, + 13 + ), + ( + 1100063, + 1100065, + 1378, + '1965-01-01 00:00:00.000000', + 0, + 1024, + 30000, + 18 + ), + ( + 1100064, + 1100066, + 1379, + '1999-01-01 00:00:00.000000', + 30, + 3520, + 30000, + 1 + ), + ( + 1100065, + 1100067, + 1380, + '1999-01-01 00:00:00.000000', + 30, + 3520, + 30000, + 7 + ), + ( + 1100066, + 1100068, + 1381, + '1999-01-01 00:00:00.000000', + 30, + 3458, + 30000, + 8 + ), + ( + 1100067, + 1100069, + 1382, + '1999-01-01 00:00:00.000000', + 30, + 3597, + 30000, + 5 + ), + ( + 1100068, + 1100070, + 1383, + '1999-01-01 00:00:00.000000', + 30, + 3458, + 30000, + 6 + ), + ( + 1100069, + 1100071, + 1385, + '1999-01-01 00:00:00.000000', + 30, + 3501, + 30000, + 3 + ), + ( + 1100070, + 1100072, + 1386, + '1999-01-01 00:00:00.000000', + 30, + 3494, + 30000, + 4 + ), + ( + 1100071, + 1100073, + 1387, + '1999-01-01 00:00:00.000000', + 30, + 3597, + 30000, + 12 + ), + ( + 1100072, + 1100074, + 1390, + '1999-01-01 00:00:00.000000', + 30, + 3458, + 30000, + 11 + ), + ( + 1100073, + 1100075, + 1391, + '1999-01-01 00:00:00.000000', + 30, + 3520, + 30000, + 13 + ), + ( + 1100074, + 1100076, + 1392, + '1999-01-01 00:00:00.000000', + 30, + 3520, + 30000, + 19 + ), + ( + 1100075, + 1100077, + 1393, + '1999-01-01 00:00:00.000000', + 125, + 1320, + 30000, + 6 + ), + ( + 1100076, + 1100078, + 1394, + '1999-01-01 00:00:00.000000', + 125, + 1355, + 30000, + 4 + ), + ( + 1100077, + 1100079, + 1396, + '1999-01-01 00:00:00.000000', + 125, + 1367, + 30000, + 3 + ), + ( + 1100078, + 1100080, + 1397, + '1999-01-01 00:00:00.000000', + 125, + 1388, + 30000, + 1 + ), + ( + 1100079, + 1100081, + 1398, + '1999-01-01 00:00:00.000000', + 125, + 1388, + 30000, + 7 + ), + ( + 1100080, + 1100082, + 1399, + '1999-01-01 00:00:00.000000', + 125, + 1491, + 30000, + 5 + ), + ( + 1100081, + 1100083, + 1400, + '1999-01-01 00:00:00.000000', + 125, + 1403, + 30000, + 6 + ), + ( + 1100082, + 1100084, + 1401, + '1999-01-01 00:00:00.000000', + 125, + 1494, + 30000, + 3 + ), + ( + 1100083, + 1100085, + 1402, + '1999-01-01 00:00:00.000000', + 125, + 1414, + 30000, + 4 + ), + ( + 1100085, + 1100087, + 1404, + '1999-01-01 00:00:00.000000', + 125, + 1414, + 30000, + 11 + ), + ( + 1100086, + 1100088, + 1405, + '1999-01-01 00:00:00.000000', + 125, + 1367, + 30000, + 13 + ), + ( + 1100088, + 1100090, + 1410, + '1999-01-01 00:00:00.000000', + 30, + 1672, + 30000, + 1 + ), + ( + 1100090, + 1100092, + 1412, + '1999-01-01 00:00:00.000000', + 30, + 1752, + 30000, + 5 + ), + ( + 1100091, + 1100093, + 1413, + '1999-01-01 00:00:00.000000', + 30, + 1683, + 30000, + 6 + ), + ( + 1100092, + 1100094, + 1414, + '1999-01-01 00:00:00.000000', + 30, + 1791, + 30000, + 3 + ), + ( + 1100093, + 1100095, + 1415, + '1999-01-01 00:00:00.000000', + 60, + 1678, + 30000, + 4 + ), + ( + 1100096, + 1100098, + 1418, + '1999-01-01 00:00:00.000000', + 30, + 1668, + 30000, + 13 + ), + ( + 1100098, + 1100100, + 2065, + '1968-01-01 00:00:00.000000', + 250, + 1065, + 30000, + 12 + ), + ( + 1100099, + 1100101, + 2068, + '1959-01-01 00:00:00.000000', + 250, + 1028, + 30000, + 13 + ), + ( + 1100100, + 1100102, + 2072, + '1959-01-01 00:00:00.000000', + 250, + 1091, + 32000, + 13 + ), + ( + 1100101, + 1100019, + 2100, + '1964-01-01 00:00:00.000000', + 250, + 1033, + 30000, + 4 + ), + ( + 1100102, + 1100104, + 2421, + '1965-01-01 00:00:00.000000', + 125, + 460, + 30000, + 4 + ), + ( + 1100103, + 1100105, + 2432, + '1965-01-01 00:00:00.000000', + 125, + 963, + 30000, + 10 + ), + ( + 1100104, + 1100106, + 2443, + '1960-01-01 00:00:00.000000', + 250, + 483, + 30000, + 8 + ), + ( + 1100105, + 1100107, + 2444, + '1968-01-01 00:00:00.000000', + 125, + 1085, + 30000, + 9 + ), + ( + 1100106, + 1100108, + 2445, + '1967-01-01 00:00:00.000000', + 125, + 1092, + 30000, + 5 + ), + ( + 1100107, + 1100109, + 2446, + '1957-01-01 00:00:00.000000', + 500, + 467, + 30000, + 6 + ), + ( + 1100108, + 1100110, + 2447, + '1965-01-01 00:00:00.000000', + 125, + 1049, + 30000, + 1 + ), + ( + 1100109, + 1100111, + 2448, + '1968-01-01 00:00:00.000000', + 250, + 483, + 30000, + 12 + ), + ( + 1100110, + 1100112, + 2449, + '1955-01-01 00:00:00.000000', + 125, + 1092, + 30000, + 13 + ), + ( + 1100111, + 1100113, + 2453, + '1960-01-01 00:00:00.000000', + 0, + 394, + 30000, + 6 + ), + ( + 1100112, + 1100114, + 2474, + '1940-01-01 00:00:00.000000', + 1000, + 462, + 30000, + 20 + ), + ( + 1100113, + 1100115, + 2482, + '1953-01-01 00:00:00.000000', + 1000, + 500, + 30000, + 21 + ), + ( + 1100114, + 1100116, + 2494, + '1970-01-01 00:00:00.000000', + 1000, + 483, + 30000, + 16 + ), + ( + 1100115, + 1100117, + 2495, + '1971-01-01 00:00:00.000000', + 60, + 1443, + 30000, + 16 + ), + ( + 1100116, + 1100118, + 2496, + '1972-01-01 00:00:00.000000', + 125, + 531, + 30000, + 16 + ), + ( + 1100117, + 1100119, + 2508, + '1968-01-01 00:00:00.000000', + 1000, + 516, + 30000, + 17 + ), + ( + 1100118, + 1100120, + 2509, + '1968-01-01 00:00:00.000000', + 125, + 545, + 30000, + 17 + ), + ( + 1100119, + 1100121, + 2529, + '1954-01-01 00:00:00.000000', + 1000, + 396, + 30000, + 15 + ), + ( + 1100120, + 1100122, + 2542, + '1958-01-01 00:00:00.000000', + 1000, + 457, + 30000, + 19 + ), + ( + 1100121, + 1100123, + 2543, + '1958-01-01 00:00:00.000000', + 125, + 1096, + 30000, + 19 + ), + ( + 1100122, + 1100124, + 2544, + '1963-01-01 00:00:00.000000', + 30, + 1717, + 30000, + 19 + ), + ( + 1100123, + 1100125, + 2575, + '1955-03-21 00:00:00.000000', + 125, + 1003, + 30000, + 21 + ), + ( + 1100124, + 1100126, + 2576, + '1955-03-21 00:00:00.000000', + 125, + 1014, + 30000, + 21 + ), + ( + 1100125, + 1100127, + 2577, + '1947-01-15 00:00:00.000000', + 125, + 1012, + 30000, + 20 + ), + ( + 1100126, + 1100128, + 2578, + '1947-01-15 00:00:00.000000', + 60, + 1026, + 30000, + 20 + ), + ( + 1100127, + 1100129, + 2698, + '1964-01-01 00:00:00.000000', + 125, + 939, + 30000, + 15 + ), + ( + 1100128, + 1100130, + 2699, + '1995-01-01 00:00:00.000000', + 125, + 1355, + 30000, + 14 + ), + ( + 1100129, + 1100131, + 2700, + '1965-01-01 00:00:00.000000', + 250, + 483, + 30000, + 14 + ), + ( + 1100130, + 1100132, + 2701, + '1995-01-01 00:00:00.000000', + 125, + 1355, + 30000, + 11 + ), + ( + 1100131, + 1100133, + 2702, + '1995-01-01 00:00:00.000000', + 125, + 1384, + 30000, + 12 + ), + ( + 1100132, + 1100134, + 2871, + '1957-01-01 00:00:00.000000', + 1000, + 413, + 30000, + 15 + ), + ( + 1100133, + 1100135, + 2863, + '1957-01-01 00:00:00.000000', + 1000, + 427, + 30000, + 15 + ), + ( + 1100134, + 1100136, + 2864, + '1957-01-01 00:00:00.000000', + 1000, + 433, + 30000, + 15 + ), + ( + 1100135, + 1100137, + 2865, + '1957-01-01 00:00:00.000000', + 125, + 1385, + 30000, + 15 + ), + ( + 1100136, + 1100138, + 2866, + '1957-01-01 00:00:00.000000', + 125, + 1396, + 30000, + 15 + ), + ( + 1100137, + 1100139, + 2867, + '1957-01-01 00:00:00.000000', + 125, + 1426, + 30000, + 15 + ), + ( + 1100138, + 1100140, + 2868, + '1957-01-01 00:00:00.000000', + 125, + 1441, + 30000, + 15 + ), + ( + 1100139, + 1100141, + 2869, + '1957-01-01 00:00:00.000000', + 60, + 2363, + 30000, + 15 + ), + ( + 1100140, + 1100142, + 2870, + '1957-01-01 00:00:00.000000', + 60, + 2432, + 30000, + 15 + ), + ( + 1100141, + 1100148, + 3024, + '1963-01-01 00:00:00.000000', + 500, + 499, + 30000, + 21 + ), + ( + 1100142, + 1100149, + 3025, + '1963-01-01 00:00:00.000000', + 500, + 506, + 30000, + 21 + ), + ( + 1100143, + 1100143, + 3019, + '1963-01-01 00:00:00.000000', + 500, + 514, + 30000, + 21 + ), + ( + 1100144, + 1100144, + 3020, + '1963-01-01 00:00:00.000000', + 500, + 530, + 30000, + 21 + ), + ( + 1100145, + 1100145, + 3021, + '1963-01-01 00:00:00.000000', + 250, + 538, + 30000, + 21 + ), + ( + 1100146, + 1100146, + 3022, + '1963-01-01 00:00:00.000000', + 250, + 1086, + 30000, + 21 + ), + ( + 1100147, + 1100147, + 3023, + '1963-01-01 00:00:00.000000', + 125, + 1106, + 30000, + 21 + ), + ( + 1100148, + 1100159, + 3625, + '1968-01-01 00:00:00.000000', + 0, + 3447, + 30000, + 18 + ), + ( + 1100149, + 1100154, + 3620, + '1968-01-01 00:00:00.000000', + 250, + 554, + 30000, + 18 + ), + ( + 1100150, + 1100155, + 3619, + '1968-01-01 00:00:00.000000', + 125, + 2119, + 30000, + 18 + ), + ( + 1100151, + 1100156, + 3616, + '1968-01-01 00:00:00.000000', + 500, + 514, + 30000, + 9 + ), + ( + 1100152, + 1100153, + 3621, + '1968-01-01 00:00:00.000000', + 125, + 1547, + 30000, + 17 + ), + ( + 1100153, + 1100152, + 3622, + '1968-01-01 00:00:00.000000', + 125, + 1730, + 30000, + 16 + ), + ( + 1100154, + 1100158, + 3618, + '1968-01-01 00:00:00.000000', + 0, + 3385, + 30000, + 9 + ), + ( + 1100155, + 1100150, + 3624, + '1968-01-01 00:00:00.000000', + 250, + 545, + 30000, + 17 + ), + ( + 1100156, + 1100151, + 3623, + '1968-01-01 00:00:00.000000', + 250, + 473, + 30000, + 16 + ), + ( + 1100157, + 1100157, + 3617, + '1968-01-01 00:00:00.000000', + 250, + 524, + 30000, + 9 + ), + ( + 1100158, + 1100160, + 3650, + '1957-01-01 00:00:00.000000', + 500, + 454, + 30000, + 6 + ), + ( + 1100159, + 1100161, + 3773, + '1935-01-01 00:00:00.000000', + 60, + 960, + 30000, + 10 + ), + ( + 1200001, + 1200001, + 168, + '1958-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 5 + ), + ( + 1200002, + 1200002, + 169, + '1964-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 2 + ), + ( + 1200003, + 1200003, + 189, + '1999-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 3 + ), + ( + 1200004, + 1200004, + 892, + '1990-01-01 00:00:00.000000', + 60, + 705, + 30000, + 3 + ), + ( + 1200005, + 1200005, + 893, + '1970-01-01 00:00:00.000000', + 60, + 614, + 30000, + 17 + ), + ( + 1200006, + 1200006, + 1294, + '1966-01-01 00:00:00.000000', + 1000, + 128, + 30000, + 5 + ), + ( + 1200007, + 1200007, + 1299, + '1964-01-01 00:00:00.000000', + 125, + 556, + 30000, + 1 + ), + ( + 1200008, + 1200008, + 1465, + '1990-01-01 00:00:00.000000', + 125, + 160, + 30000, + 3 + ), + ( + 1200009, + 1200009, + 1469, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 3 + ), + ( + 1200010, + 1200010, + 1470, + '1990-01-01 00:00:00.000000', + 125, + 901, + 30000, + 3 + ), + ( + 1200011, + 1200011, + 1468, + '1990-01-01 00:00:00.000000', + 250, + 195, + 30000, + 3 + ), + ( + 1200012, + 1200012, + 1913, + '1990-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 7 + ), + ( + 1200013, + 1200013, + 1914, + '1953-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 21 + ), + ( + 1200014, + 1200014, + 1915, + '1990-01-01 00:00:00.000000', + 1000, + 361, + 30000, + 9 + ), + ( + 1200015, + 1200015, + 1916, + '1990-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 1 + ), + ( + 1200017, + 1200017, + 1918, + '1990-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 4 + ), + ( + 1200018, + 1200018, + 1919, + '1990-01-01 00:00:00.000000', + 100, + 74, + 30000, + 10 + ), + ( + 1200019, + 1200019, + 1920, + '1990-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 12 + ), + ( + 1200020, + 1200020, + 1921, + '1968-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 11 + ), + ( + 1200021, + 1200021, + 1922, + '1966-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 14 + ), + ( + 1200022, + 1200022, + 1923, + '1990-01-01 00:00:00.000000', + 1000, + 124, + 30000, + 8 + ), + ( + 1200023, + 1200023, + 1924, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 6 + ), + ( + 1200024, + 1200024, + 1925, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 5 + ), + ( + 1200025, + 1200025, + 1926, + '1990-01-01 00:00:00.000000', + 60, + 616, + 30000, + 5 + ), + ( + 1200026, + 1200026, + 1927, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 13 + ), + ( + 1200027, + 1200027, + 1928, + '1990-01-01 00:00:00.000000', + 125, + 506, + 30000, + 15 + ), + ( + 1200028, + 1200028, + 1929, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 3 + ), + ( + 1200029, + 1200029, + 1930, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 3 + ), + ( + 1200030, + 1200030, + 1931, + '1990-01-01 00:00:00.000000', + 0, + 671, + 30000, + 3 + ), + ( + 1200031, + 1200031, + 1932, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 3 + ), + ( + 1200032, + 1200032, + 1933, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 1 + ), + ( + 1200033, + 1200033, + 1934, + '1990-01-01 00:00:00.000000', + 125, + 561, + 30000, + 2 + ), + ( + 1200034, + 1200034, + 2036, + '1955-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 6 + ), + ( + 1200035, + 1200035, + 2039, + '1959-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 13 + ), + ( + 1200036, + 1200036, + 2077, + '1960-01-01 00:00:00.000000', + 125, + 561, + 30000, + 14 + ), + ( + 1200037, + 1200037, + 2079, + '1961-01-01 00:00:00.000000', + 250, + 561, + 30000, + 13 + ), + ( + 1200038, + 1200038, + 2099, + '1964-01-01 00:00:00.000000', + 125, + 561, + 30000, + 4 + ), + ( + 1200039, + 1200039, + 2468, + '1964-01-01 00:00:00.000000', + 15, + 616, + 30000, + 18 + ), + ( + 1200040, + 1200040, + 2469, + '1964-01-01 00:00:00.000000', + 0, + 124, + 30000, + 18 + ), + ( + 1200041, + 1200041, + 2472, + '1970-01-01 00:00:00.000000', + 60, + 160, + 30000, + 18 + ), + ( + 1200042, + 1200042, + 2478, + '1940-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 20 + ), + ( + 1200043, + 1200043, + 2503, + '1970-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 16 + ), + ( + 1200044, + 1200044, + 2504, + '1971-01-01 00:00:00.000000', + 60, + 616, + 30000, + 16 + ), + ( + 1200045, + 1200045, + 2516, + '1968-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 17 + ), + ( + 1200046, + 1200047, + 2517, + '1969-01-01 00:00:00.000000', + 125, + 229, + 30000, + 17 + ), + ( + 1200047, + 1200046, + 2518, + '1970-01-01 00:00:00.000000', + 60, + 561, + 30000, + 17 + ), + ( + 1200048, + 1200048, + 2534, + '1954-01-01 00:00:00.000000', + 1000, + 506, + 30000, + 15 + ), + ( + 1200049, + 1200049, + 2546, + '1958-01-01 00:00:00.000000', + 1000, + 74, + 30000, + 19 + ), + ( + 1200050, + 1200050, + 2547, + '1958-01-01 00:00:00.000000', + 125, + 411, + 30000, + 19 + ), + ( + 1200051, + 1200051, + 2628, + '1955-02-10 00:00:00.000000', + 125, + 411, + 30000, + 21 + ), + ( + 1200052, + 1200052, + 2629, + '1968-03-17 00:00:00.000000', + 125, + 411, + 30000, + 8 + ), + ( + 1200053, + 1200053, + 2630, + '1968-03-17 00:00:00.000000', + 125, + 411, + 30000, + 7 + ), + ( + 1200054, + 1200054, + 2631, + '1946-02-26 00:00:00.000000', + 1000, + 133, + 30000, + 20 + ), + ( + 1200055, + 1200056, + 2632, + '1957-01-16 00:00:00.000000', + 60, + 411, + 30000, + 9 + ), + ( + 1200056, + 1200055, + 2633, + '1938-04-20 00:00:00.000000', + 1000, + 133, + 30000, + 10 + ), + ( + 1200057, + 1200057, + 2634, + '1968-03-11 00:00:00.000000', + 60, + 411, + 30000, + 11 + ), + ( + 1200058, + 1200058, + 2635, + '1968-03-11 00:00:00.000000', + 125, + 411, + 30000, + 12 + ), + ( + 1200059, + 1200059, + 2692, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 14 + ), + ( + 1200060, + 1200061, + 2704, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 5 + ), + ( + 1200061, + 1200060, + 2705, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 6 + ), + ( + 1200062, + 1200063, + 2706, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 1 + ), + ( + 1200063, + 1200062, + 2707, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 2 + ), + ( + 1200064, + 1200067, + 2708, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 17 + ), + ( + 1200065, + 1200066, + 2709, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 3 + ), + ( + 1200066, + 1200065, + 2710, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 16 + ), + ( + 1200067, + 1200064, + 2711, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 4 + ), + ( + 1200068, + 1200069, + 2712, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 12 + ), + ( + 1200069, + 1200068, + 2713, + '1995-01-01 00:00:00.000000', + 125, + 149, + 30000, + 11 + ), + ( + 1200070, + 1200070, + 2714, + '1995-01-01 00:00:00.000000', + 250, + 149, + 30000, + 13 + ), + ( + 1200071, + 1200071, + 2715, + '1995-01-01 00:00:00.000000', + 30, + 891, + 30000, + 3 + ), + ( + 1200072, + 1200074, + 2716, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 8 + ), + ( + 1200073, + 1200079, + 2717, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 5 + ), + ( + 1200074, + 1200076, + 2718, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 6 + ), + ( + 1200075, + 1200082, + 2719, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 19 + ), + ( + 1200076, + 1200088, + 2720, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 1 + ), + ( + 1200077, + 1200085, + 2721, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 2 + ), + ( + 1200078, + 1200099, + 2722, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 17 + ), + ( + 1200079, + 1200096, + 2723, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 16 + ), + ( + 1200080, + 1200093, + 2724, + '1995-01-01 00:00:00.000000', + 125, + 160, + 30000, + 4 + ), + ( + 1200081, + 1200072, + 2725, + '1995-01-01 00:00:00.000000', + 60, + 642, + 30000, + 14 + ), + ( + 1200082, + 1200075, + 2726, + '1998-01-01 00:00:00.000000', + 60, + 642, + 30000, + 8 + ), + ( + 1200083, + 1200080, + 2727, + '1995-01-01 00:00:00.000000', + 60, + 642, + 30000, + 5 + ), + ( + 1200084, + 1200077, + 2728, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 6 + ), + ( + 1200085, + 1200083, + 2729, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 19 + ), + ( + 1200086, + 1200089, + 2730, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 1 + ), + ( + 1200087, + 1200086, + 2732, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 2 + ), + ( + 1200088, + 1200091, + 2731, + '1999-01-01 00:00:00.000000', + 30, + 642, + 30000, + 18 + ), + ( + 1200089, + 1200100, + 2733, + '1999-01-01 00:00:00.000000', + 60, + 705, + 30000, + 17 + ), + ( + 1200090, + 1200097, + 2734, + '1999-01-01 00:00:00.000000', + 60, + 705, + 30000, + 16 + ), + ( + 1200091, + 1200094, + 2735, + '1999-01-01 00:00:00.000000', + 60, + 705, + 30000, + 4 + ), + ( + 1200092, + 1200073, + 2736, + '1999-01-01 00:00:00.000000', + 30, + 891, + 30000, + 14 + ), + ( + 1200093, + 1200081, + 2737, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 5 + ), + ( + 1200094, + 1200078, + 2738, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 6 + ), + ( + 1200095, + 1200084, + 2739, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 19 + ), + ( + 1200096, + 1200090, + 2740, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 1 + ), + ( + 1200097, + 1200092, + 2741, + '1999-01-01 00:00:00.000000', + 15, + 946, + 30000, + 18 + ), + ( + 1200098, + 1200087, + 2742, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 2 + ), + ( + 1200099, + 1200101, + 2743, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 17 + ), + ( + 1200100, + 1200098, + 2744, + '1999-01-01 00:00:00.000000', + 30, + 1001, + 30000, + 16 + ), + ( + 1200101, + 1200095, + 2745, + '1999-01-01 00:00:00.000000', + 30, + 891, + 30000, + 4 + ), + ( + 1200102, + 1200108, + 2746, + '1999-01-01 00:00:00.000000', + 125, + 160, + 30000, + 12 + ), + ( + 1200103, + 1200102, + 2747, + '1999-01-01 00:00:00.000000', + 125, + 160, + 30000, + 11 + ), + ( + 1200104, + 1200105, + 2748, + '1999-01-01 00:00:00.000000', + 125, + 160, + 30000, + 13 + ), + ( + 1200105, + 1200109, + 2749, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 12 + ), + ( + 1200106, + 1200103, + 2750, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 11 + ), + ( + 1200107, + 1200106, + 2751, + '1999-01-01 00:00:00.000000', + 60, + 642, + 30000, + 13 + ), + ( + 1200108, + 1200110, + 2752, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 12 + ), + ( + 1200109, + 1200104, + 2753, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 11 + ), + ( + 1200110, + 1200107, + 2754, + '1999-01-01 00:00:00.000000', + 30, + 946, + 30000, + 13 + ), + ( + 1200111, + 1200115, + 2833, + '1957-01-01 00:00:00.000000', + 125, + 551, + 30000, + 15 + ), + ( + 1200112, + 1200113, + 2829, + '1957-01-01 00:00:00.000000', + 60, + 951, + 30000, + 15 + ), + ( + 1200113, + 1200116, + 2834, + '1957-01-01 00:00:00.000000', + 125, + 821, + 30000, + 15 + ), + ( + 1200114, + 1200114, + 2832, + '1957-01-01 00:00:00.000000', + 125, + 506, + 30000, + 15 + ), + ( + 1200115, + 1200117, + 2830, + '1957-01-01 00:00:00.000000', + 125, + 551, + 30000, + 15 + ), + ( + 1200116, + 1200111, + 2827, + '1957-01-01 00:00:00.000000', + 125, + 506, + 30000, + 15 + ), + ( + 1200117, + 1200112, + 2828, + '1957-01-01 00:00:00.000000', + 60, + 655, + 30000, + 15 + ), + ( + 1200118, + 1200118, + 2831, + '1957-01-01 00:00:00.000000', + 125, + 554, + 30000, + 15 + ), + ( + 1200119, + 1200123, + 2915, + '1964-01-01 00:00:00.000000', + 250, + 133, + 30000, + 6 + ), + ( + 1200120, + 1200122, + 2914, + '1964-01-01 00:00:00.000000', + 125, + 614, + 30000, + 6 + ), + ( + 1200121, + 1200121, + 2913, + '1964-01-01 00:00:00.000000', + 30, + 1084, + 30000, + 6 + ), + ( + 1200122, + 1200124, + 2916, + '1964-01-01 00:00:00.000000', + 30, + 990, + 30000, + 6 + ), + ( + 1200123, + 1200119, + 2911, + '1964-01-01 00:00:00.000000', + 60, + 674, + 30000, + 6 + ), + ( + 1200124, + 1200120, + 2912, + '1964-01-01 00:00:00.000000', + 500, + 133, + 30000, + 6 + ), + ( + 1200125, + 1200131, + 2994, + '1965-01-01 00:00:00.000000', + 500, + 128, + 30000, + 21 + ), + ( + 1200126, + 1200127, + 2990, + '1965-01-01 00:00:00.000000', + 125, + 848, + 30000, + 21 + ), + ( + 1200127, + 1200132, + 2995, + '1965-01-01 00:00:00.000000', + 125, + 482, + 30000, + 21 + ), + ( + 1200128, + 1200138, + 3001, + '1965-01-01 00:00:00.000000', + 250, + 224, + 30000, + 4 + ), + ( + 1200129, + 1200126, + 2989, + '1965-01-01 00:00:00.000000', + 250, + 181, + 30000, + 21 + ), + ( + 1200130, + 1200139, + 3002, + '1965-01-01 00:00:00.000000', + 125, + 942, + 30000, + 4 + ), + ( + 1200131, + 1200128, + 2991, + '1965-01-01 00:00:00.000000', + 125, + 901, + 30000, + 21 + ), + ( + 1200132, + 1200137, + 3000, + '1965-01-01 00:00:00.000000', + 125, + 535, + 30000, + 4 + ), + ( + 1200133, + 1200129, + 2992, + '1965-01-01 00:00:00.000000', + 125, + 511, + 30000, + 21 + ), + ( + 1200134, + 1200130, + 2993, + '1965-01-01 00:00:00.000000', + 125, + 559, + 30000, + 21 + ), + ( + 1200135, + 1200135, + 2998, + '1965-01-01 00:00:00.000000', + 125, + 535, + 30000, + 4 + ), + ( + 1200136, + 1200133, + 2996, + '1965-01-01 00:00:00.000000', + 125, + 535, + 30000, + 4 + ), + ( + 1200137, + 1200134, + 2997, + '1965-01-01 00:00:00.000000', + 60, + 674, + 30000, + 4 + ), + ( + 1200138, + 1200125, + 2988, + '1965-01-01 00:00:00.000000', + 60, + 559, + 30000, + 21 + ), + ( + 1200139, + 1200140, + 2999, + '1965-01-01 00:00:00.000000', + 60, + 705, + 30000, + 4 + ), + ( + 1200140, + 1200142, + 3070, + '1966-01-01 00:00:00.000000', + 75, + 1096, + 30000, + 2 + ), + ( + 1200141, + 1200143, + 3072, + '1966-01-01 00:00:00.000000', + 125, + 861, + 30000, + 2 + ), + ( + 1200142, + 1200141, + 3071, + '1966-01-01 00:00:00.000000', + 250, + 511, + 30000, + 2 + ), + ( + 1200143, + 1200144, + 3107, + '1966-01-01 00:00:00.000000', + 75, + 1096, + 30000, + 13 + ), + ( + 1200144, + 1200145, + 3108, + '1966-01-01 00:00:00.000000', + 75, + 1047, + 30000, + 13 + ), + ( + 1200145, + 1200165, + 3282, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 9 + ), + ( + 1200146, + 1200180, + 3297, + '1967-01-01 00:00:00.000000', + 500, + 254, + 30000, + 14 + ), + ( + 1200147, + 1200173, + 3290, + '1967-01-01 00:00:00.000000', + 500, + 254, + 30000, + 19 + ), + ( + 1200148, + 1200166, + 3283, + '1967-01-01 00:00:00.000000', + 500, + 254, + 30000, + 9 + ), + ( + 1200149, + 1200181, + 3298, + '1967-01-01 00:00:00.000000', + 250, + 587, + 30000, + 14 + ), + ( + 1200150, + 1200174, + 3291, + '1967-01-01 00:00:00.000000', + 250, + 587, + 30000, + 19 + ), + ( + 1200151, + 1200167, + 3284, + '1967-01-01 00:00:00.000000', + 250, + 587, + 30000, + 9 + ), + ( + 1200152, + 1200179, + 3296, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 14 + ), + ( + 1200153, + 1200148, + 3265, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 16 + ), + ( + 1200154, + 1200153, + 3270, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 17 + ), + ( + 1200155, + 1200186, + 3303, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 12 + ), + ( + 1200156, + 1200159, + 3276, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 18 + ), + ( + 1200157, + 1200172, + 3289, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 19 + ), + ( + 1200158, + 1200190, + 3307, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 1 + ), + ( + 1200159, + 1200191, + 3308, + '1967-01-01 00:00:00.000000', + 0, + 1260, + 30000, + 5 + ), + ( + 1200160, + 1200175, + 3292, + '1967-01-01 00:00:00.000000', + 75, + 1001, + 30000, + 19 + ), + ( + 1200161, + 1200182, + 3299, + '1967-01-01 00:00:00.000000', + 75, + 1001, + 30000, + 14 + ), + ( + 1200162, + 1200160, + 3277, + '1967-01-01 00:00:00.000000', + 50, + 1001, + 30000, + 18 + ), + ( + 1200163, + 1200192, + 3309, + '1967-01-01 00:00:00.000000', + 75, + 1001, + 30000, + 5 + ), + ( + 1200164, + 1200168, + 3285, + '1967-01-01 00:00:00.000000', + 75, + 1001, + 30000, + 9 + ), + ( + 1200165, + 1200169, + 3286, + '1967-01-01 00:00:00.000000', + 250, + 233, + 30000, + 19 + ), + ( + 1200166, + 1200176, + 3293, + '1967-01-01 00:00:00.000000', + 250, + 233, + 30000, + 14 + ), + ( + 1200167, + 1200162, + 3279, + '1967-01-01 00:00:00.000000', + 250, + 233, + 30000, + 9 + ), + ( + 1200168, + 1200183, + 3300, + '1967-01-01 00:00:00.000000', + 250, + 242, + 30000, + 12 + ), + ( + 1200169, + 1200156, + 3275, + '1967-01-01 00:00:00.000000', + 250, + 242, + 30000, + 18 + ), + ( + 1200170, + 1200187, + 3304, + '1967-01-01 00:00:00.000000', + 250, + 233, + 30000, + 1 + ), + ( + 1200171, + 1200163, + 3280, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 9 + ), + ( + 1200172, + 1200157, + 3273, + '1967-01-01 00:00:00.000000', + 125, + 535, + 30000, + 18 + ), + ( + 1200173, + 1200189, + 3306, + '1967-01-01 00:00:00.000000', + 250, + 614, + 30000, + 1 + ), + ( + 1200174, + 1200151, + 3268, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 17 + ), + ( + 1200175, + 1200146, + 3263, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 16 + ), + ( + 1200176, + 1200170, + 3287, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 19 + ), + ( + 1200177, + 1200177, + 3294, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 14 + ), + ( + 1200178, + 1200184, + 3301, + '1967-01-01 00:00:00.000000', + 250, + 535, + 30000, + 12 + ), + ( + 1200179, + 1200161, + 3278, + '1967-01-01 00:00:00.000000', + 500, + 212, + 30000, + 9 + ), + ( + 1200180, + 1200149, + 3266, + '1967-01-01 00:00:00.000000', + 125, + 1047, + 30000, + 16 + ), + ( + 1200181, + 1200154, + 3271, + '1967-01-01 00:00:00.000000', + 125, + 1047, + 30000, + 17 + ), + ( + 1200182, + 1200152, + 3269, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 17 + ), + ( + 1200183, + 1200178, + 3295, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 14 + ), + ( + 1200184, + 1200189, + 3306, + '1967-01-01 00:00:00.000000', + 125, + 614, + 30000, + 1 + ), + ( + 1200185, + 1200185, + 3302, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 12 + ), + ( + 1200186, + 1200147, + 3264, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 16 + ), + ( + 1200187, + 1200171, + 3288, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 19 + ), + ( + 1200188, + 1200164, + 3281, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 9 + ), + ( + 1200189, + 1200158, + 3274, + '1967-01-01 00:00:00.000000', + 125, + 698, + 30000, + 18 + ), + ( + 1200190, + 1200155, + 3272, + '1967-01-01 00:00:00.000000', + 0, + 1132, + 30000, + 17 + ), + ( + 1200191, + 1200150, + 3267, + '1967-01-01 00:00:00.000000', + 0, + 1132, + 30000, + 16 + ), + ( + 1200192, + 1200193, + 3771, + '1995-01-01 00:00:00.000000', + 60, + 579, + 30000, + 10 + ); \ No newline at end of file diff --git a/migrations/0022-seedPart.sql b/migrations/0022-seedPart.sql new file mode 100644 index 000000000..26fffbfde --- /dev/null +++ b/migrations/0022-seedPart.sql @@ -0,0 +1 @@ +-- Intentionally left blank, file exists to maintain order of migrations diff --git a/migrations/0023-seedDriverClass.sql b/migrations/0023-seedDriverClass.sql new file mode 100644 index 000000000..b6452417b --- /dev/null +++ b/migrations/0023-seedDriverClass.sql @@ -0,0 +1,6 @@ +INSERT INTO + driver_class (driver_class_id, driver_class) +VALUES + (0, 'C'), + (1, 'B'), + (2, 'A'); \ No newline at end of file diff --git a/migrations/0024-seedPlayerType.sql b/migrations/0024-seedPlayerType.sql new file mode 100644 index 000000000..e160b4c09 --- /dev/null +++ b/migrations/0024-seedPlayerType.sql @@ -0,0 +1,8 @@ +INSERT INTO + player_type (player_type_id, player_type) +VALUES + (1, 'System'), + (2, 'Admin'), + (3, 'Player'), + (4, 'Deleted Player'), + (5, 'Escrow'); \ No newline at end of file diff --git a/migrations/0025-seedPlayer.sql b/migrations/0025-seedPlayer.sql new file mode 100644 index 000000000..e4a0eaa72 --- /dev/null +++ b/migrations/0025-seedPlayer.sql @@ -0,0 +1,33026 @@ +INSERT INTO + player ( + player_id, + customer_id, + player_type_id, + sanctioned_score, + challenge_score, + last_logged_in, + times_logged_in, + bank_balance, + num_cars_owned, + is_logged_in, + driver_style, + lp_code, + lp_text, + car_num1, + car_num2, + car_num3, + car_num4, + car_num5, + car_num6, + dl_number, + persona, + "address", + residence, + vehicle_id, + current_race_id, + offline_driver_skill, + offline_grudge, + offline_reputation, + total_time_played, + car_info_setting, + stock_classic_class, + stock_muscle_class, + modified_classic_class, + modified_muscle_class, + outlaw_class, + drag_class, + challenge_rung, + offline_ai_car_class, + offline_ai_skin_id, + offline_ai_car_bpt_id, + offline_ai_state, + body_type, + skin_color, + hair_color, + shirt_color, + pants_color, + offline_driver_style, + offline_driver_attitude, + evaded_fuzz, + pinks_won, + num_unread_mail, + total_races_run, + total_races_won, + total_races_completed, + total_winnings, + insurance_risk_points, + insurance_rating, + challenge_races_run, + challenge_races_won, + challenge_races_completed, + cars_lost, + cars_won + ) +VALUES + ( + 0, + 0, + 5, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Null Name', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 1, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Muscle Mike', + '1235 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 2, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Auto Barn', + '1236 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 3, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Fat Fender Freddy', + '1237 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 4, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Righteous Ride', + '1238 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 5, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Classic Chrysler', + '1239 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 6, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'All Factory Ford', + '1240 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 7, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Shoebox Showroom', + '1241 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 8, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Original GM', + '1242 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 9, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Scrappy', + '1243 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 10, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Joe', + '1244 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 11, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'AI Administrator', + '1244 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 12, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Editorials', + '1244 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 13, + 0, + 5, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 999999, + 0, + 0, + 0, + 0, + NULL, + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + '0 ', + 'xxx', + 'Escrow', + '1234 A Street', + 'ABCDEFGHIJKLMNOPQRST', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 14, + 0, + 1, + 0, + 0, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 0, + NULL, + '0', + '0', + '0', + '0', + '0', + '0', + 'xxxx', + 'PartAuction', + '0', + '0', + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + NULL, + NULL, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ), + ( + 500, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 0, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '303872ia', + 'AI Racer 500', + '12390 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 0, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 47, + 104, + 0, + 3, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 501, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '392562ia', + 'AI Racer 501', + '19030 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 0, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 488, + 135, + 0, + 7, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 502, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '754473ia', + 'AI Racer 502', + '24667 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 0, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 45, + 104, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 503, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 39, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '655218ia', + 'AI Racer 503', + '19862 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 0, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 424, + 256, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 504, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '661274ia', + 'AI Racer 504', + '17633 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 0, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 320, + 124, + 0, + 1, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 505, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '748672ia', + 'AI Racer 505', + '5973 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 1, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 341, + 126, + 0, + 7, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 506, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '743362ia', + 'AI Racer 506', + '20530 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 1, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 479, + 135, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 507, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '150424ia', + 'AI Racer 507', + '14501 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 1, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 208, + 117, + 0, + 5, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 508, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '670230ia', + 'AI Racer 508', + '11518 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 1, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 517, + 102, + 0, + 2, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 509, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '676802ia', + 'AI Racer 509', + '17074 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 1, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 164, + 114, + 0, + 2, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 510, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '216809ia', + 'AI Racer 510', + '1 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 2, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 332, + 125, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 511, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '450489ia', + 'AI Racer 511', + '17156 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 2, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 157, + 113, + 0, + 0, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 512, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '880258ia', + 'AI Racer 512', + '4278 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 2, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 403, + 130, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 513, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '325247ia', + 'AI Racer 513', + '1923 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 2, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 334, + 125, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 514, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '985983ia', + 'AI Racer 514', + '4582 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 3, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 648, + 134, + 0, + 5, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 515, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '219306ia', + 'AI Racer 515', + '5913 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 3, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 410, + 131, + 0, + 8, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 516, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '712898ia', + 'AI Racer 516', + '22855 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 3, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 340, + 126, + 0, + 3, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 517, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '769085ia', + 'AI Racer 517', + '21038 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 3, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 205, + 117, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 518, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '460272ia', + 'AI Racer 518', + '9291 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 3, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 561, + 113, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 519, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '83745ia', + 'AI Racer 519', + '12505 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 4, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 427, + 132, + 0, + 7, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 520, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '469201ia', + 'AI Racer 520', + '28280 Fell Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 4, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 520, + 103, + 0, + 4, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 521, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '387318ia', + 'AI Racer 521', + '5676 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 4, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 58, + 105, + 0, + 0, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 522, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '481939ia', + 'AI Racer 522', + '167 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 4, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 162, + 114, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 523, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '219602ia', + 'AI Racer 523', + '5377 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 5, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 94, + 109, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 524, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '98237ia', + 'AI Racer 524', + '2966 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 5, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 28, + 102, + 0, + 5, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 525, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '550891ia', + 'AI Racer 525', + '8909 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 5, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 426, + 132, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 526, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '82933ia', + 'AI Racer 526', + '27132 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 5, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 299, + 123, + 0, + 9, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 527, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '602424ia', + 'AI Racer 527', + '13996 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 5, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 528, + 105, + 0, + 0, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 528, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '837365ia', + 'AI Racer 528', + '16577 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 6, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 185, + 115, + 0, + 0, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 529, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '568712ia', + 'AI Racer 529', + '157 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 6, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 64, + 105, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 530, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '486006ia', + 'AI Racer 530', + '21699 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 6, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 624, + 128, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 531, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '150879ia', + 'AI Racer 531', + '13759 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 6, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 304, + 123, + 0, + 6, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 532, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '498768ia', + 'AI Racer 532', + '15100 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 7, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 232, + 119, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 533, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '697447ia', + 'AI Racer 533', + '7870 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 7, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 73, + 106, + 0, + 3, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 534, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '914165ia', + 'AI Racer 534', + '12865 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 7, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 16, + 102, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 535, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '585301ia', + 'AI Racer 535', + '15917 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 7, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 370, + 128, + 0, + 0, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 536, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '696998ia', + 'AI Racer 536', + '29129 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 7, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 403, + 130, + 0, + 0, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 537, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '485027ia', + 'AI Racer 537', + '11864 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 8, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 154, + 113, + 0, + 4, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 538, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '509577ia', + 'AI Racer 538', + '18755 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 8, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 1, + 101, + 0, + 1, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 539, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '179998ia', + 'AI Racer 539', + '27924 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 8, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 569, + 115, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 540, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '35476ia', + 'AI Racer 540', + '2526 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 8, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 344, + 126, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 541, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '974717ia', + 'AI Racer 541', + '11837 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 9, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 20, + 102, + 0, + 7, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 542, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '464742ia', + 'AI Racer 542', + '4093 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 9, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 209, + 117, + 0, + 5, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 543, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '754074ia', + 'AI Racer 543', + '4268 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 9, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 30, + 103, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 544, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '804176ia', + 'AI Racer 544', + '24503 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 9, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 491, + 135, + 0, + 1, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 545, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '994626ia', + 'AI Racer 545', + '2186 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 9, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 209, + 117, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 546, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '94126ia', + 'AI Racer 546', + '4524 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 10, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 95, + 109, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 547, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '571815ia', + 'AI Racer 547', + '6931 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 10, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 99, + 109, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 548, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '160096ia', + 'AI Racer 548', + '11826 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 10, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 295, + 123, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 549, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '227074ia', + 'AI Racer 549', + '24213 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 10, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 150, + 112, + 0, + 1, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 550, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '936708ia', + 'AI Racer 550', + '21767 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 11, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 191, + 116, + 0, + 8, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 551, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '330081ia', + 'AI Racer 551', + '20248 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 11, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 280, + 122, + 0, + 3, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 552, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '852519ia', + 'AI Racer 552', + '1585 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 11, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 504, + 108, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 553, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '25095ia', + 'AI Racer 553', + '742 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 11, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 491, + 135, + 0, + 0, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 554, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '476593ia', + 'AI Racer 554', + '23289 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 11, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 421, + 132, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 555, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '79046ia', + 'AI Racer 555', + '11493 Petrick Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 12, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 212, + 118, + 0, + 3, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 556, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '421062ia', + 'AI Racer 556', + '11511 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 12, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 644, + 133, + 0, + 4, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 557, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '834459ia', + 'AI Racer 557', + '2578 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 12, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 158, + 113, + 0, + 7, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 558, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '185804ia', + 'AI Racer 558', + '3130 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 12, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 207, + 117, + 0, + 9, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 559, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '292551ia', + 'AI Racer 559', + '22628 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 12, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 101, + 109, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 560, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '301945ia', + 'AI Racer 560', + '15902 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 13, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 301, + 123, + 0, + 0, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 561, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '939129ia', + 'AI Racer 561', + '11995 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 13, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 331, + 125, + 0, + 5, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 562, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '842129ia', + 'AI Racer 562', + '15070 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 13, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 227, + 119, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 563, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522294ia', + 'AI Racer 563', + '25688 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 13, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 124, + 111, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 564, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '430746ia', + 'AI Racer 564', + '12809 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 14, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 550, + 110, + 0, + 4, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 565, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '74483ia', + 'AI Racer 565', + '13403 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 14, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 141, + 112, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 566, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '488746ia', + 'AI Racer 566', + '29792 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 14, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 610, + 125, + 0, + 7, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 567, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '360001ia', + 'AI Racer 567', + '29357 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 14, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 349, + 126, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 568, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '182796ia', + 'AI Racer 568', + '16647 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 14, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 490, + 135, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 569, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '817095ia', + 'AI Racer 569', + '7805 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 15, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 72, + 106, + 0, + 6, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 570, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '596776ia', + 'AI Racer 570', + '12112 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 15, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 541, + 108, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 571, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '376237ia', + 'AI Racer 571', + '28270 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 15, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 51, + 104, + 0, + 1, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 572, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '326326ia', + 'AI Racer 572', + '8675 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 15, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 586, + 119, + 0, + 4, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 573, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '224231ia', + 'AI Racer 573', + '28187 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 16, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 582, + 118, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 574, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '520429ia', + 'AI Racer 574', + '18809 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 16, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 226, + 119, + 0, + 2, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 575, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '964865ia', + 'AI Racer 575', + '3780 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 16, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 606, + 124, + 0, + 6, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 576, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '866643ia', + 'AI Racer 576', + '21809 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 16, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 40, + 103, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 577, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '626184ia', + 'AI Racer 577', + '25887 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 16, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 175, + 114, + 0, + 7, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 578, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '392980ia', + 'AI Racer 578', + '4362 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 17, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 14, + 101, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 579, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '949799ia', + 'AI Racer 579', + '23535 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 17, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 395, + 130, + 0, + 3, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 580, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '273343ia', + 'AI Racer 580', + '26913 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 17, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 55, + 105, + 0, + 2, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 581, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '76510ia', + 'AI Racer 581', + '27342 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 17, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 468, + 134, + 0, + 9, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 582, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '813472ia', + 'AI Racer 582', + '12153 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 18, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 561, + 113, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 583, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '110644ia', + 'AI Racer 583', + '20152 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 18, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 425, + 132, + 0, + 6, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 584, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '749440ia', + 'AI Racer 584', + '28765 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 18, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 332, + 125, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 585, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '841527ia', + 'AI Racer 585', + '16354 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 18, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 75, + 106, + 0, + 6, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 586, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '241745ia', + 'AI Racer 586', + '12041 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 18, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 362, + 127, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 587, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '659771ia', + 'AI Racer 587', + '795 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 19, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 143, + 112, + 0, + 8, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 588, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '26899ia', + 'AI Racer 588', + '3545 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 19, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 380, + 129, + 0, + 6, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 589, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '416064ia', + 'AI Racer 589', + '25498 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 19, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 113, + 110, + 0, + 4, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 590, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '768108ia', + 'AI Racer 590', + '20187 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 19, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 413, + 131, + 0, + 9, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 591, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '701220ia', + 'AI Racer 591', + '1649 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 20, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 65, + 106, + 0, + 7, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 592, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '622845ia', + 'AI Racer 592', + '21062 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 20, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 205, + 117, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 593, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '411571ia', + 'AI Racer 593', + '23654 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 20, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 343, + 126, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 594, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '66525ia', + 'AI Racer 594', + '12399 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 20, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 49, + 104, + 0, + 7, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 595, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '273352ia', + 'AI Racer 595', + '2731 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 20, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 521, + 103, + 0, + 5, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 596, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '154000ia', + 'AI Racer 596', + '2787 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 21, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 204, + 117, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 597, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '423723ia', + 'AI Racer 597', + '9138 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 21, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 72, + 106, + 0, + 0, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 598, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '671710ia', + 'AI Racer 598', + '19830 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 21, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 46, + 104, + 0, + 9, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 599, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '679830ia', + 'AI Racer 599', + '11928 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 21, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 207, + 117, + 0, + 5, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 600, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522491ia', + 'AI Racer 600', + '867 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 22, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 358, + 127, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 601, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '173515ia', + 'AI Racer 601', + '20635 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 22, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 250, + 120, + 0, + 6, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 602, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '17008ia', + 'AI Racer 602', + '3799 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 22, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 644, + 133, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 603, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '723724ia', + 'AI Racer 603', + '27178 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 22, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 291, + 122, + 0, + 0, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 604, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '912010ia', + 'AI Racer 604', + '28794 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 22, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 71, + 106, + 0, + 5, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 605, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '856571ia', + 'AI Racer 605', + '23770 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 23, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 355, + 140, + 0, + 1, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 606, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '361569ia', + 'AI Racer 606', + '27936 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 23, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 607, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '430294ia', + 'AI Racer 607', + '9465 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 23, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 344, + 143, + 0, + 1, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 608, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '200002ia', + 'AI Racer 608', + '18734 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 23, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 393, + 129, + 0, + 7, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 609, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '761006ia', + 'AI Racer 609', + '3122 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 23, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 209, + 117, + 0, + 4, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 610, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '354954ia', + 'AI Racer 610', + '7308 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 24, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 242, + 120, + 0, + 1, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 611, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '941120ia', + 'AI Racer 611', + '4992 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 24, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 2, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 612, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '997661ia', + 'AI Racer 612', + '1284 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 24, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 613, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '784622ia', + 'AI Racer 613', + '10704 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 24, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 1, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 614, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '610071ia', + 'AI Racer 614', + '5439 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 25, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 7, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 615, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '154341ia', + 'AI Racer 615', + '26774 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 25, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 5, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 616, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '603120ia', + 'AI Racer 616', + '13229 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 25, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 126, + 111, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 617, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '84166ia', + 'AI Racer 617', + '13098 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 25, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 13, + 139, + 0, + 9, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 618, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '751322ia', + 'AI Racer 618', + '8804 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 25, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 9, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 619, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '156450ia', + 'AI Racer 619', + '7359 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 26, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 373, + 128, + 0, + 4, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 620, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '311080ia', + 'AI Racer 620', + '12471 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 26, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 198, + 116, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 621, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '109171ia', + 'AI Racer 621', + '16179 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 26, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 14, + 139, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 622, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '21143ia', + 'AI Racer 622', + '7698 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 26, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 620, + 127, + 0, + 0, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 623, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '494328ia', + 'AI Racer 623', + '22080 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 27, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 185, + 115, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 624, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '67631ia', + 'AI Racer 624', + '23832 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 27, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 70, + 106, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 625, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '409432ia', + 'AI Racer 625', + '16188 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 27, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 536, + 107, + 0, + 3, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 626, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '123659ia', + 'AI Racer 626', + '7518 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 27, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 6, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 627, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '839593ia', + 'AI Racer 627', + '10874 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 27, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 4, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 628, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '109316ia', + 'AI Racer 628', + '11119 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 28, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 318, + 124, + 0, + 7, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 629, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '291280ia', + 'AI Racer 629', + '28506 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 28, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 615, + 143, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 630, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '473923ia', + 'AI Racer 630', + '5033 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 28, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 132, + 111, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 631, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '407098ia', + 'AI Racer 631', + '21929 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 28, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 8, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 632, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '922459ia', + 'AI Racer 632', + '26513 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 29, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 10, + 139, + 0, + 9, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 633, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '8727ia', + 'AI Racer 633', + '9820 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 29, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 634, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '319287ia', + 'AI Racer 634', + '1729 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 29, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 14, + 139, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 635, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '139794ia', + 'AI Racer 635', + '14163 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 29, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 636, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522918ia', + 'AI Racer 636', + '25350 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 29, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 252, + 120, + 0, + 5, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 637, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '814006ia', + 'AI Racer 637', + '24547 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 30, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 0, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 638, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '968628ia', + 'AI Racer 638', + '29310 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 30, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 7, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 639, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '486332ia', + 'AI Racer 639', + '133 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 30, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 7, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 640, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '378921ia', + 'AI Racer 640', + '28711 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 30, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 4, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 641, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '867790ia', + 'AI Racer 641', + '13602 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 31, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 6, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 642, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '169255ia', + 'AI Racer 642', + '17079 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 31, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 643, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '637397ia', + 'AI Racer 643', + '12225 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 31, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 644, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '260694ia', + 'AI Racer 644', + '5682 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 31, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 370, + 128, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 645, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '193921ia', + 'AI Racer 645', + '1517 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 31, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 5, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 646, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '383668ia', + 'AI Racer 646', + '22413 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 32, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 8, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 647, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '418331ia', + 'AI Racer 647', + '24800 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 32, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 598, + 122, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 648, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '498356ia', + 'AI Racer 648', + '6111 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 32, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 649, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '394224ia', + 'AI Racer 649', + '17302 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 32, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 177, + 115, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 650, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '46273ia', + 'AI Racer 650', + '17762 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 33, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 9, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 651, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '873050ia', + 'AI Racer 651', + '3579 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 33, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 9, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 652, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '438471ia', + 'AI Racer 652', + '2543 Fell Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 33, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 529, + 105, + 0, + 9, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 653, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '512831ia', + 'AI Racer 653', + '15245 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 33, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 298, + 123, + 0, + 5, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 654, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '915303ia', + 'AI Racer 654', + '10197 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 33, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 222, + 118, + 0, + 3, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 655, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '199397ia', + 'AI Racer 655', + '2197 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 34, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 656, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '140597ia', + 'AI Racer 656', + '17701 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 34, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 657, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '739018ia', + 'AI Racer 657', + '15977 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 34, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 2, + 139, + 0, + 5, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 658, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '288685ia', + 'AI Racer 658', + '23165 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 34, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 659, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '736478ia', + 'AI Racer 659', + '27051 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 34, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 407, + 131, + 0, + 6, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 660, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '842805ia', + 'AI Racer 660', + '24570 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 35, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 7, + 139, + 0, + 8, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 661, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '908598ia', + 'AI Racer 661', + '21645 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 35, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 433, + 132, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 662, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '870033ia', + 'AI Racer 662', + '4276 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 35, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 344, + 143, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 663, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '833278ia', + 'AI Racer 663', + '28616 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 35, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 0, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 664, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '462606ia', + 'AI Racer 664', + '23816 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 36, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 5, + 101, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 665, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '959217ia', + 'AI Racer 665', + '24837 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 36, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 636, + 131, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 666, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '419274ia', + 'AI Racer 666', + '5688 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 36, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 569, + 115, + 0, + 3, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 667, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '634402ia', + 'AI Racer 667', + '12319 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 36, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 355, + 140, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 668, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '263602ia', + 'AI Racer 668', + '7509 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 36, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 200, + 116, + 0, + 3, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 669, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '784129ia', + 'AI Racer 669', + '28233 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 37, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 670, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '537433ia', + 'AI Racer 670', + '1742 Fell Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 37, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 360, + 140, + 0, + 6, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 671, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '687851ia', + 'AI Racer 671', + '12358 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 37, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 672, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '782994ia', + 'AI Racer 672', + '19994 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 37, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 532, + 106, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 673, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '238242ia', + 'AI Racer 673', + '29314 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 38, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 562, + 113, + 0, + 4, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 674, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '185706ia', + 'AI Racer 674', + '17810 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 38, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 554, + 111, + 0, + 7, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 675, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '269504ia', + 'AI Racer 675', + '26177 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 38, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 6, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 676, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '945853ia', + 'AI Racer 676', + '21559 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 38, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 65, + 106, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 677, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '658907ia', + 'AI Racer 677', + '7324 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 38, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 60, + 105, + 0, + 2, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 678, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '526760ia', + 'AI Racer 678', + '24556 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 39, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 1, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 679, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '464750ia', + 'AI Racer 679', + '9027 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 39, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 193, + 116, + 0, + 8, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 680, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '627007ia', + 'AI Racer 680', + '7172 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 39, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 309, + 123, + 0, + 1, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 681, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '994199ia', + 'AI Racer 681', + '21102 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 39, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 0, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 682, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '841467ia', + 'AI Racer 682', + '467 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 40, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 282, + 122, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 683, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '42685ia', + 'AI Racer 683', + '28659 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 40, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 196, + 116, + 0, + 4, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 684, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '621816ia', + 'AI Racer 684', + '19155 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 40, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 2, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 685, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '189819ia', + 'AI Racer 685', + '27233 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 40, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 344, + 143, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 686, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '298553ia', + 'AI Racer 686', + '11934 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 40, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 1, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 687, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '587905ia', + 'AI Racer 687', + '13868 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 41, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 323, + 124, + 0, + 1, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 688, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '329753ia', + 'AI Racer 688', + '15688 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 41, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 689, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '339916ia', + 'AI Racer 689', + '17824 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 41, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 570, + 115, + 0, + 0, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 690, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '763876ia', + 'AI Racer 690', + '5538 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 41, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 9, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 691, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '130748ia', + 'AI Racer 691', + '19330 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 42, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 692, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '861413ia', + 'AI Racer 692', + '3047 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 42, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 517, + 102, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 693, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '940574ia', + 'AI Racer 693', + '18853 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 42, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 0, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 694, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '95274ia', + 'AI Racer 694', + '10817 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 42, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 11, + 139, + 0, + 1, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 695, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '260194ia', + 'AI Racer 695', + '24284 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 42, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 696, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '349514ia', + 'AI Racer 696', + '22758 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 43, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 7, + 139, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 697, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '967634ia', + 'AI Racer 697', + '9224 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 43, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 341, + 143, + 0, + 7, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 698, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '430043ia', + 'AI Racer 698', + '24868 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 43, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 4, + 139, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 699, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '914177ia', + 'AI Racer 699', + '29211 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 43, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 2, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 700, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '863991ia', + 'AI Racer 700', + '19718 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 44, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 1, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 701, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '732600ia', + 'AI Racer 701', + '1504 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 44, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 362, + 140, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 702, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '931152ia', + 'AI Racer 702', + '9873 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 44, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 2, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 703, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '91295ia', + 'AI Racer 703', + '451 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 44, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 704, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '740375ia', + 'AI Racer 704', + '11695 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 44, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 482, + 135, + 0, + 7, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 705, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '821195ia', + 'AI Racer 705', + '6662 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 45, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 241, + 120, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 706, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '803969ia', + 'AI Racer 706', + '18934 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 45, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 5, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 707, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '185183ia', + 'AI Racer 707', + '19299 Petrick Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 45, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 339, + 126, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 708, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '627887ia', + 'AI Racer 708', + '27540 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 45, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 5, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 709, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '784354ia', + 'AI Racer 709', + '11047 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 45, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 517, + 102, + 0, + 6, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 710, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '795168ia', + 'AI Racer 710', + '21469 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 46, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 3, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 711, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '32290ia', + 'AI Racer 711', + '3536 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 46, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 12, + 139, + 0, + 1, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 712, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '265341ia', + 'AI Racer 712', + '19971 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 46, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 7, + 101, + 0, + 7, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 713, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '121830ia', + 'AI Racer 713', + '1496 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 46, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 2, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 714, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '955076ia', + 'AI Racer 714', + '20285 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 47, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 154, + 113, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 715, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 9, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '836230ia', + 'AI Racer 715', + '3299 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 47, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 8, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 716, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '50290ia', + 'AI Racer 716', + '27073 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 47, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 352, + 140, + 0, + 0, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 717, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522344ia', + 'AI Racer 717', + '29459 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 47, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 718, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '703806ia', + 'AI Racer 718', + '20601 Fell Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 47, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 512, + 139, + 0, + 6, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 719, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '307671ia', + 'AI Racer 719', + '15813 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 48, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 0, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 720, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '986269ia', + 'AI Racer 720', + '7641 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 48, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 10, + 139, + 0, + 2, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 721, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '157802ia', + 'AI Racer 721', + '3364 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 48, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 73, + 106, + 0, + 6, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 722, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '184658ia', + 'AI Racer 722', + '22794 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 48, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 615, + 143, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 723, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '390538ia', + 'AI Racer 723', + '16005 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 49, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 182, + 115, + 0, + 7, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 724, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '760587ia', + 'AI Racer 724', + '8166 Petrick Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 49, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 450, + 133, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 725, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '948166ia', + 'AI Racer 725', + '6338 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 49, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 726, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '792091ia', + 'AI Racer 726', + '8130 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 49, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 0, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 727, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '576631ia', + 'AI Racer 727', + '15503 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 49, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 728, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '841408ia', + 'AI Racer 728', + '6912 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 50, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 0, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 729, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '527174ia', + 'AI Racer 729', + '23710 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 50, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 8, + 139, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 730, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '98381ia', + 'AI Racer 730', + '12813 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 50, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 5, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 731, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '128052ia', + 'AI Racer 731', + '51 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 50, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 13, + 139, + 0, + 1, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 732, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '622648ia', + 'AI Racer 732', + '20088 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 51, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 10, + 139, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 733, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '974370ia', + 'AI Racer 733', + '20228 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 51, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 7, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 734, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522921ia', + 'AI Racer 734', + '2987 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 51, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 357, + 127, + 0, + 7, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 735, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '293030ia', + 'AI Racer 735', + '19104 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 51, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 4, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 736, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '145303ia', + 'AI Racer 736', + '22908 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 51, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 8, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 737, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '861163ia', + 'AI Racer 737', + '21594 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 52, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 738, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '866208ia', + 'AI Racer 738', + '9554 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 52, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 639, + 132, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 739, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '765345ia', + 'AI Racer 739', + '4901 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 52, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 9, + 139, + 0, + 2, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 740, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '760698ia', + 'AI Racer 740', + '20485 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 52, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 366, + 128, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 741, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '276869ia', + 'AI Racer 741', + '15532 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 53, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 423, + 132, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 742, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '900508ia', + 'AI Racer 742', + '3119 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 53, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 510, + 108, + 0, + 9, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 743, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '383417ia', + 'AI Racer 743', + '20485 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 53, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 574, + 116, + 0, + 5, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 744, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '69374ia', + 'AI Racer 744', + '17754 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 53, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 352, + 140, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 745, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '580192ia', + 'AI Racer 745', + '19640 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 53, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 7, + 139, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 746, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '800015ia', + 'AI Racer 746', + '24210 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 54, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 95, + 109, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 747, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '867472ia', + 'AI Racer 747', + '6760 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 54, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 1, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 748, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '203002ia', + 'AI Racer 748', + '16685 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 54, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 320, + 124, + 0, + 2, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 749, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '1813ia', + 'AI Racer 749', + '18371 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 54, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 152, + 113, + 0, + 6, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 750, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '737647ia', + 'AI Racer 750', + '6087 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 55, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 4, + 139, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 751, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '832918ia', + 'AI Racer 751', + '23584 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 55, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 579, + 117, + 0, + 7, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 752, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '992344ia', + 'AI Racer 752', + '189 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 55, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 524, + 104, + 0, + 5, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 753, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '330147ia', + 'AI Racer 753', + '19837 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 55, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 82, + 107, + 0, + 9, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 754, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '109599ia', + 'AI Racer 754', + '16443 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 55, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 184, + 115, + 0, + 6, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 755, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '384743ia', + 'AI Racer 755', + '23283 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 56, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 5, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 756, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '227751ia', + 'AI Racer 756', + '21956 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 56, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 594, + 121, + 0, + 8, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 757, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '505229ia', + 'AI Racer 757', + '13250 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 56, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 2, + 139, + 0, + 1, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 758, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '639762ia', + 'AI Racer 758', + '18956 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 56, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 517, + 102, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 759, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '769005ia', + 'AI Racer 759', + '28099 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 56, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 508, + 108, + 0, + 3, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 760, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '312586ia', + 'AI Racer 760', + '6421 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 57, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 355, + 140, + 0, + 9, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 761, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '173115ia', + 'AI Racer 761', + '7443 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 57, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 558, + 112, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 762, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '133532ia', + 'AI Racer 762', + '12562 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 57, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 508, + 108, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 763, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '432455ia', + 'AI Racer 763', + '5036 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 57, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 361, + 140, + 0, + 0, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 764, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '813139ia', + 'AI Racer 764', + '9886 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 58, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 635, + 131, + 0, + 2, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 765, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '792775ia', + 'AI Racer 765', + '12333 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 58, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 614, + 143, + 0, + 3, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 766, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '32052ia', + 'AI Racer 766', + '8444 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 58, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 767, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '156060ia', + 'AI Racer 767', + '9577 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 58, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 15, + 102, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 768, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '207050ia', + 'AI Racer 768', + '17324 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 58, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 11, + 139, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 769, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '253908ia', + 'AI Racer 769', + '29085 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 59, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 72, + 106, + 0, + 4, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 770, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '513633ia', + 'AI Racer 770', + '3686 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 59, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 771, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '549699ia', + 'AI Racer 771', + '3358 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 59, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 615, + 143, + 0, + 5, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 772, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '733383ia', + 'AI Racer 772', + '8144 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 59, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 5, + 139, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 773, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '276713ia', + 'AI Racer 773', + '28263 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 60, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 327, + 125, + 0, + 7, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 774, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '703974ia', + 'AI Racer 774', + '12096 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 60, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 95, + 109, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 775, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '996439ia', + 'AI Racer 775', + '4926 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 60, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 2, + 139, + 0, + 4, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 776, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '838233ia', + 'AI Racer 776', + '15063 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 60, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 5, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 777, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '539036ia', + 'AI Racer 777', + '10474 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 60, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 5, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 778, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '268247ia', + 'AI Racer 778', + '29936 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 61, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 186, + 115, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 779, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '3721ia', + 'AI Racer 779', + '10277 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 61, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 360, + 127, + 0, + 1, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 780, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '958061ia', + 'AI Racer 780', + '24258 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 61, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 314, + 124, + 0, + 0, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 781, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '409616ia', + 'AI Racer 781', + '29593 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 61, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 205, + 117, + 0, + 7, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 782, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '508842ia', + 'AI Racer 782', + '6745 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 62, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 512, + 139, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 783, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '84848ia', + 'AI Racer 783', + '15885 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 62, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 784, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '455543ia', + 'AI Racer 784', + '9106 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 62, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 11, + 144, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 785, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '575983ia', + 'AI Racer 785', + '14830 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 62, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 434, + 132, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 786, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '86639ia', + 'AI Racer 786', + '7342 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 62, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 231, + 119, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 787, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '636477ia', + 'AI Racer 787', + '26110 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 63, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 284, + 122, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 788, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '82440ia', + 'AI Racer 788', + '1330 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 63, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 789, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '737547ia', + 'AI Racer 789', + '25620 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 63, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 14, + 139, + 0, + 0, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 790, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '890036ia', + 'AI Racer 790', + '14554 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 63, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 341, + 143, + 0, + 1, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 791, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '351085ia', + 'AI Racer 791', + '7817 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 64, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 317, + 124, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 792, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '97513ia', + 'AI Racer 792', + '27644 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 64, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 793, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '728067ia', + 'AI Racer 793', + '29617 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 64, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 348, + 141, + 0, + 6, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 794, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '590410ia', + 'AI Racer 794', + '19319 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 64, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 4, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 795, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '795378ia', + 'AI Racer 795', + '26999 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 64, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 512, + 139, + 0, + 7, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 796, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '987817ia', + 'AI Racer 796', + '6308 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 65, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 362, + 140, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 797, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '505709ia', + 'AI Racer 797', + '9648 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 65, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 5, + 139, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 798, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '595757ia', + 'AI Racer 798', + '10956 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 65, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 614, + 143, + 0, + 9, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 799, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '36535ia', + 'AI Racer 799', + '6543 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 65, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 1, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 800, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '567326ia', + 'AI Racer 800', + '21057 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 66, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 801, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '535811ia', + 'AI Racer 801', + '1882 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 66, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 279, + 122, + 0, + 3, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 802, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '166770ia', + 'AI Racer 802', + '22363 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 66, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 5, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 803, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '326461ia', + 'AI Racer 803', + '7848 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 66, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 7, + 139, + 0, + 4, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 804, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '279476ia', + 'AI Racer 804', + '29216 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 66, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 10, + 139, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 805, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522434ia', + 'AI Racer 805', + '20386 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 67, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 4, + 139, + 0, + 5, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 806, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '812693ia', + 'AI Racer 806', + '13354 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 67, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 10, + 101, + 0, + 9, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 807, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '661141ia', + 'AI Racer 807', + '10269 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 67, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 479, + 135, + 0, + 4, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 808, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '121827ia', + 'AI Racer 808', + '8699 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 67, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 6, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 809, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '457021ia', + 'AI Racer 809', + '16367 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 67, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 0, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 810, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '982975ia', + 'AI Racer 810', + '16866 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 68, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 9, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 811, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '5629ia', + 'AI Racer 811', + '13599 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 68, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 614, + 143, + 0, + 4, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 812, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '78989ia', + 'AI Racer 812', + '1835 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 68, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 263, + 121, + 0, + 6, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 813, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '722178ia', + 'AI Racer 813', + '23349 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 68, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 430, + 132, + 0, + 1, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 814, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '438785ia', + 'AI Racer 814', + '1116 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 69, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 9, + 139, + 0, + 0, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 815, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '519945ia', + 'AI Racer 815', + '9008 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 69, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 288, + 122, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 816, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '95791ia', + 'AI Racer 816', + '28454 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 69, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 394, + 129, + 0, + 9, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 817, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '903799ia', + 'AI Racer 817', + '26634 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 69, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 619, + 140, + 0, + 6, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 818, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '224279ia', + 'AI Racer 818', + '18972 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 69, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 819, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '761345ia', + 'AI Racer 819', + '29044 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 70, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 10, + 139, + 0, + 1, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 820, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '71481ia', + 'AI Racer 820', + '25860 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 70, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 614, + 143, + 0, + 1, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 821, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '932999ia', + 'AI Racer 821', + '11041 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 70, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 1, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 822, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '400332ia', + 'AI Racer 822', + '12105 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 70, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 614, + 143, + 0, + 2, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 823, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '32896ia', + 'AI Racer 823', + '25059 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 71, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 8, + 139, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 824, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '554600ia', + 'AI Racer 824', + '20541 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 71, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 8, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 825, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '808589ia', + 'AI Racer 825', + '9554 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 71, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 6, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 826, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '807775ia', + 'AI Racer 826', + '10047 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 71, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 9, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 827, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '431654ia', + 'AI Racer 827', + '24177 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 71, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 4, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 828, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '958990ia', + 'AI Racer 828', + '29602 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 72, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 829, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '87116ia', + 'AI Racer 829', + '22124 Fell Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 72, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 541, + 108, + 0, + 5, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 830, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '877902ia', + 'AI Racer 830', + '6335 Torino Terrace', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 72, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 55, + 105, + 0, + 7, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 831, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '278368ia', + 'AI Racer 831', + '15499 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 72, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 356, + 140, + 0, + 4, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 832, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '99280ia', + 'AI Racer 832', + '20545 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 73, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 348, + 143, + 0, + 8, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 833, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '154147ia', + 'AI Racer 833', + '12069 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 73, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 344, + 143, + 0, + 3, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 834, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '829004ia', + 'AI Racer 834', + '28816 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 73, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 4, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 835, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '924845ia', + 'AI Racer 835', + '7986 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 73, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 620, + 140, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 836, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '339844ia', + 'AI Racer 836', + '12839 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 73, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 349, + 143, + 0, + 0, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 837, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '64718ia', + 'AI Racer 837', + '18598 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 74, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 359, + 140, + 0, + 3, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 838, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '948791ia', + 'AI Racer 838', + '17050 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 74, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 7, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 839, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '711400ia', + 'AI Racer 839', + '28013 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 74, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 6, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 840, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '518260ia', + 'AI Racer 840', + '6312 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 74, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 359, + 140, + 0, + 0, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 841, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '992545ia', + 'AI Racer 841', + '3135 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 75, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 344, + 143, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 842, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '262429ia', + 'AI Racer 842', + '15233 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 75, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 615, + 143, + 0, + 5, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 843, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '18539ia', + 'AI Racer 843', + '20524 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 75, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 361, + 140, + 0, + 7, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 844, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '761901ia', + 'AI Racer 844', + '12640 30th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 75, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 845, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '976439ia', + 'AI Racer 845', + '25788 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 75, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 81, + 107, + 0, + 1, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 846, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '493440ia', + 'AI Racer 846', + '10761 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 76, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 847, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '756885ia', + 'AI Racer 847', + '18616 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 76, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 0, + 30, + 103, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 848, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '424338ia', + 'AI Racer 848', + '3367 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 76, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 236, + 119, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 849, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '908628ia', + 'AI Racer 849', + '13245 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 76, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 619, + 140, + 0, + 1, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 850, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '484649ia', + 'AI Racer 850', + '29818 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 77, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 361, + 140, + 0, + 1, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 851, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '495244ia', + 'AI Racer 851', + '6874 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 77, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 7, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 852, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '807916ia', + 'AI Racer 852', + '221 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 77, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 13, + 139, + 0, + 3, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 853, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '640827ia', + 'AI Racer 853', + '671 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 77, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 341, + 143, + 0, + 3, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 854, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '763592ia', + 'AI Racer 854', + '29024 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 77, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 1, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 855, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '306453ia', + 'AI Racer 855', + '2556 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 78, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 352, + 140, + 0, + 9, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 856, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '24697ia', + 'AI Racer 856', + '20155 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 78, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 1, + 104, + 110, + 0, + 8, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 857, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '67729ia', + 'AI Racer 857', + '24339 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 78, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 344, + 141, + 0, + 8, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 858, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '415968ia', + 'AI Racer 858', + '10111 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 78, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 5, + 139, + 0, + 5, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 859, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '352942ia', + 'AI Racer 859', + '26361 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 78, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 12, + 144, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 860, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '547377ia', + 'AI Racer 860', + '25736 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 79, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 6, + 139, + 0, + 1, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 861, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '708167ia', + 'AI Racer 861', + '4515 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 79, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 9, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 862, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '32778ia', + 'AI Racer 862', + '27682 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 79, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 7, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 863, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '132434ia', + 'AI Racer 863', + '6375 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 79, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 864, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '149694ia', + 'AI Racer 864', + '2373 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 80, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 339, + 143, + 0, + 4, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 865, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '809469ia', + 'AI Racer 865', + '17285 Valiant Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 80, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 4, + 144, + 0, + 6, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 866, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '824156ia', + 'AI Racer 866', + '2429 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 80, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 14, + 144, + 0, + 3, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 867, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '97409ia', + 'AI Racer 867', + '16404 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 80, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 868, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '91130ia', + 'AI Racer 868', + '25569 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 80, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 347, + 141, + 0, + 1, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 869, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '270021ia', + 'AI Racer 869', + '969 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 81, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 11, + 144, + 0, + 9, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 870, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '606156ia', + 'AI Racer 870', + '9751 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 81, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 345, + 141, + 0, + 4, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 871, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '514966ia', + 'AI Racer 871', + '19262 Clarendon Drive', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 81, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 350, + 143, + 0, + 1, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 872, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '943765ia', + 'AI Racer 872', + '4416 Bryant Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 81, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 353, + 140, + 0, + 0, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 873, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '433391ia', + 'AI Racer 873', + '8015 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 82, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 346, + 141, + 0, + 5, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 874, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '948495ia', + 'AI Racer 874', + '14249 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 82, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 361, + 142, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 875, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '961290ia', + 'AI Racer 875', + '26743 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 82, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 351, + 141, + 0, + 3, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 876, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '743898ia', + 'AI Racer 876', + '20642 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 82, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 357, + 140, + 0, + 9, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 877, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '942426ia', + 'AI Racer 877', + '19663 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 82, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 348, + 141, + 0, + 0, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 878, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '117626ia', + 'AI Racer 878', + '3563 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 83, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 340, + 141, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 879, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '467750ia', + 'AI Racer 879', + '7844 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 83, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 10, + 144, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 880, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '701850ia', + 'AI Racer 880', + '22593 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 83, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 620, + 140, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 881, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '338912ia', + 'AI Racer 881', + '27742 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 83, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 4, + 144, + 0, + 7, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 882, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '13519ia', + 'AI Racer 882', + '1000 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 84, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 512, + 144, + 0, + 8, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 883, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '180014ia', + 'AI Racer 883', + '19102 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 84, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 615, + 141, + 0, + 5, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 884, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '662568ia', + 'AI Racer 884', + '15827 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 84, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 5, + 139, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 885, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '250041ia', + 'AI Racer 885', + '24909 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 84, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 886, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '428335ia', + 'AI Racer 886', + '16845 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 84, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 2, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 887, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '537232ia', + 'AI Racer 887', + '11537 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 85, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 8, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 888, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '934722ia', + 'AI Racer 888', + '26521 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 85, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 357, + 142, + 0, + 9, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 889, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '662887ia', + 'AI Racer 889', + '26372 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 85, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 9, + 139, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 890, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '622607ia', + 'AI Racer 890', + '9796 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 85, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 362, + 142, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 891, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '273895ia', + 'AI Racer 891', + '2849 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 86, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 351, + 141, + 0, + 1, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 892, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '610599ia', + 'AI Racer 892', + '16473 Dodge Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 86, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 358, + 140, + 0, + 8, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 893, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '41220ia', + 'AI Racer 893', + '19269 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 86, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 614, + 141, + 0, + 9, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 894, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '259228ia', + 'AI Racer 894', + '19052 Wheel Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 86, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 2, + 139, + 0, + 3, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 895, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '907181ia', + 'AI Racer 895', + '21818 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 86, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 341, + 141, + 0, + 0, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 896, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '785705ia', + 'AI Racer 896', + '23893 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 87, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 355, + 142, + 0, + 0, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 897, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '798940ia', + 'AI Racer 897', + '15330 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 87, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 1, + 139, + 0, + 3, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 898, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '386702ia', + 'AI Racer 898', + '1911 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 87, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 0, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 899, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '654050ia', + 'AI Racer 899', + '7932 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 87, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 353, + 142, + 0, + 1, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 900, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '983366ia', + 'AI Racer 900', + '28757 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 88, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 12, + 144, + 0, + 5, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 901, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '529744ia', + 'AI Racer 901', + '27648 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 88, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 11, + 144, + 0, + 4, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 902, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '30378ia', + 'AI Racer 902', + '13355 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 88, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 13, + 139, + 0, + 6, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 903, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '237562ia', + 'AI Racer 903', + '10939 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 88, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 359, + 142, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 904, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '551698ia', + 'AI Racer 904', + '28388 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 88, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 1, + 144, + 0, + 4, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 905, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '438821ia', + 'AI Racer 905', + '536 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 89, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 352, + 140, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 906, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '531285ia', + 'AI Racer 906', + '17 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 89, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 7, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 907, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '89389ia', + 'AI Racer 907', + '23974 Petrick Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 89, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 615, + 141, + 0, + 1, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 908, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '749209ia', + 'AI Racer 908', + '2726 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 89, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 342, + 141, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 909, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '285470ia', + 'AI Racer 909', + '434 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 89, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 351, + 141, + 0, + 3, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 910, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '358472ia', + 'AI Racer 910', + '3291 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 90, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 356, + 142, + 0, + 1, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 911, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '225079ia', + 'AI Racer 911', + '11876 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 90, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 6, + 139, + 0, + 5, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 912, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '12336ia', + 'AI Racer 912', + '939 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 90, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 7, + 144, + 0, + 8, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 913, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522762ia', + 'AI Racer 913', + '22868 Cordoba Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 90, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 341, + 141, + 0, + 5, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 914, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '832581ia', + 'AI Racer 914', + '20031 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 91, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 342, + 141, + 0, + 4, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 915, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '944307ia', + 'AI Racer 915', + '29092 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 91, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 343, + 143, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 916, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '212235ia', + 'AI Racer 916', + '3472 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 91, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 2, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 917, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '272500ia', + 'AI Racer 917', + '26018 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 91, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 345, + 143, + 0, + 5, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 918, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '996008ia', + 'AI Racer 918', + '22415 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 91, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 7, + 139, + 0, + 0, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 919, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '912168ia', + 'AI Racer 919', + '9713 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 92, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 615, + 141, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 920, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '254922ia', + 'AI Racer 920', + '27273 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 92, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 921, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '168441ia', + 'AI Racer 921', + '12348 Taney Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 92, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 351, + 143, + 0, + 8, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 922, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '490139ia', + 'AI Racer 922', + '19144 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 92, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 512, + 139, + 0, + 7, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 923, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '26344ia', + 'AI Racer 923', + '22036 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 93, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 346, + 143, + 0, + 3, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 924, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '112972ia', + 'AI Racer 924', + '20662 Tinted Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 93, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 352, + 142, + 0, + 7, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 925, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '886631ia', + 'AI Racer 925', + '967 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 93, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 346, + 141, + 0, + 2, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 926, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '512520ia', + 'AI Racer 926', + '24149 Head Row', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 93, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 347, + 141, + 0, + 2, + -5142950, + -730292, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 927, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '527479ia', + 'AI Racer 927', + '7612 Caps Creek Parkway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 93, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 347, + 141, + 0, + 7, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 928, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '514602ia', + 'AI Racer 928', + '1483 Spark Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 94, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 344, + 141, + 0, + 4, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 929, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '940771ia', + 'AI Racer 929', + '16113 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 94, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 620, + 140, + 0, + 4, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 930, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '404632ia', + 'AI Racer 930', + '16954 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 94, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 6, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 931, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '661587ia', + 'AI Racer 931', + '6982 28th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 94, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 339, + 141, + 0, + 6, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 932, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '227937ia', + 'AI Racer 932', + '22767 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 95, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 6, + 139, + 0, + 8, + -5142950, + -11452131, + NULL, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 933, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '243202ia', + 'AI Racer 933', + '17261 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 95, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 343, + 141, + 0, + 8, + -12635, + -16777216, + -15132652, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 934, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '630145ia', + 'AI Racer 934', + '6278 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 95, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 12, + 144, + 0, + 0, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 935, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '547634ia', + 'AI Racer 935', + '24808 Detroit Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 95, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 936, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '852078ia', + 'AI Racer 936', + '18193 Hardtop Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 95, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 2, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 937, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '631546ia', + 'AI Racer 937', + '29481 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 96, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 359, + 142, + 0, + 3, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 938, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '192011ia', + 'AI Racer 938', + '22149 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 96, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 361, + 140, + 0, + 3, + -11255506, + -16777216, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 939, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '939998ia', + 'AI Racer 939', + '8083 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 96, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 343, + 141, + 0, + 1, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 940, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '522113ia', + 'AI Racer 940', + '23246 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 96, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 358, + 142, + 0, + 0, + -12635, + -1, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 941, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '327561ia', + 'AI Racer 941', + '10944 39th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 97, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 353, + 140, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 942, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '931153ia', + 'AI Racer 942', + '3147 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 97, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 9, + 139, + 0, + 9, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 943, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '666099ia', + 'AI Racer 943', + '14570 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 97, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 349, + 141, + 0, + 6, + -12635, + -7592437, + -9540505, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 944, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '816773ia', + 'AI Racer 944', + '29980 36th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 97, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 342, + 143, + 0, + 9, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 945, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '825685ia', + 'AI Racer 945', + '7193 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 97, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 340, + 143, + 0, + 6, + -11255506, + NULL, + -10240, + -12343227, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 946, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '595351ia', + 'AI Racer 946', + '27056 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 98, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 347, + 143, + 0, + 4, + -12635, + -9034914, + -11516638, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 947, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '293524ia', + 'AI Racer 947', + '29505 Firebird Freeway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 98, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 2, + 354, + 140, + 0, + 2, + -12635, + -11452131, + -12343227, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 948, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 0, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '235490ia', + 'AI Racer 948', + '15010 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 98, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 3, + 341, + 143, + 0, + 6, + -5142950, + -16777216, + -65536, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 949, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 2, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '925539ia', + 'AI Racer 949', + '16823 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 98, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 358, + 142, + 0, + 7, + -12635, + -8756175, + -11516638, + -12365400, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 950, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '239317ia', + 'AI Racer 950', + '29487 31st Street', + 'Bonneville', + NULL, + NULL, + 2, + NULL, + 99, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 8, + 101, + 0, + 0, + -11255506, + -16777216, + -15132652, + -15132652, + 2, + 2, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 951, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '895768ia', + 'AI Racer 951', + '20259 27th Street', + 'Bonneville', + NULL, + NULL, + 2, + NULL, + 99, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 8, + 101, + 0, + 0, + -11255506, + -16777216, + -15132652, + -15132652, + 2, + 2, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 952, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '38819ia', + 'AI Racer 952', + '27071 37th Street', + 'Bonneville', + NULL, + NULL, + 2, + NULL, + 99, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 8, + 101, + 0, + 0, + -11255506, + -16777216, + -15132652, + -15132652, + 2, + 2, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 953, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '246897ia', + 'AI Racer 953', + '2742 Torino Terrace', + 'Bonneville', + NULL, + NULL, + 2, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 4, + 8, + 101, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + 2, + 2, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 954, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '490161ia', + 'AI Racer 954', + '14555 Fallon Place ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 955, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '479340ia', + 'AI Racer 955', + '25016 Sway Bar Lane', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 956, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '291643ia', + 'AI Racer 956', + '16108 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 957, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '141218ia', + 'AI Racer 957', + '24592 Meadowbrook Lane ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 958, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '971050ia', + 'AI Racer 958', + '21071 35th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 959, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '817138ia', + 'AI Racer 959', + '4925 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 960, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '710229ia', + 'AI Racer 960', + '3430 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 961, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '447558ia', + 'AI Racer 961', + '28907 38th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 962, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '999858ia', + 'AI Racer 962', + '7136 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 963, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '983205ia', + 'AI Racer 963', + '27822 Windsor Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 964, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '359720ia', + 'AI Racer 964', + '11213 27th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 965, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '617051ia', + 'AI Racer 965', + '5990 31st Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 966, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '586700ia', + 'AI Racer 966', + '4772 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 967, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '553491ia', + 'AI Racer 967', + '10294 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 968, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '971374ia', + 'AI Racer 968', + '3394 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 969, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '358930ia', + 'AI Racer 969', + '25161 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 970, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '604680ia', + 'AI Racer 970', + '6811 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 971, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '928315ia', + 'AI Racer 971', + '12530 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 972, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '965047ia', + 'AI Racer 972', + '20034 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 973, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '727958ia', + 'AI Racer 973', + '12519 33rd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 974, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '435500ia', + 'AI Racer 974', + '4515 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 975, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '107448ia', + 'AI Racer 975', + '13837 Motor City Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 976, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 3, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '48324ia', + 'AI Racer 976', + '16175 29th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + 99, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + 5, + 350, + 141, + 0, + 2, + -11255506, + -16777216, + -9034914, + -15132652, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 977, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '907044ia', + 'AI Racer 977', + '6380 Traction Turnpike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 978, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '833557ia', + 'AI Racer 978', + '10257 Eddy Street ', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 979, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '72366ia', + 'AI Racer 979', + '19588 Pantellas Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 980, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '934074ia', + 'AI Racer 980', + '20486 32nd Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 981, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '517416ia', + 'AI Racer 981', + '2785 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 982, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '148619ia', + 'AI Racer 982', + '22190 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 983, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '903244ia', + 'AI Racer 983', + '15285 37th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 984, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '138467ia', + 'AI Racer 984', + '5362 Buick Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 985, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '377542ia', + 'AI Racer 985', + '25582 Petrick Pike', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 986, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '966027ia', + 'AI Racer 986', + '23919 Headlight Place', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 987, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '629706ia', + 'AI Racer 987', + '20337 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 988, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '801526ia', + 'AI Racer 988', + '26597 26th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 989, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '777649ia', + 'AI Racer 989', + '6914 Van Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 990, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '57497ia', + 'AI Racer 990', + '360 Newport Way', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 991, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '338283ia', + 'AI Racer 991', + '27152 Edmunds Alley', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 992, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '645275ia', + 'AI Racer 992', + '3176 34th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 993, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '97168ia', + 'AI Racer 993', + '1684 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 994, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '228536ia', + 'AI Racer 994', + '9362 Chevrolet Highway', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 995, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '35273ia', + 'AI Racer 995', + '2521 Main Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 996, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '1761ia', + 'AI Racer 996', + '26956 40th Street', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 997, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '516805ia', + 'AI Racer 997', + '16713 Beaudoin Boulevard', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 998, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '563146ia', + 'AI Racer 998', + '7879 Convertible Court', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ), + ( + 999, + 0, + 1, + 250000, + 250000, + '1900-01-01 00:00:00.000000', + 0, + 250000, + 0, + 0, + 1, + 1, + 'AI Racer', + '00', + '01', + '02', + '03', + '04', + '05', + '52069ia', + 'AI Racer 999', + '29929 Saratoga Avenue', + 'Bonneville', + NULL, + NULL, + NULL, + NULL, + NULL, + 250000, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 0, + 0, + NULL, + NULL, + NULL, + 0, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL + ); \ No newline at end of file diff --git a/migrations/0026-createSVACarClass.sql b/migrations/0026-createSVACarClass.sql new file mode 100644 index 000000000..7f46b9d6d --- /dev/null +++ b/migrations/0026-createSVACarClass.sql @@ -0,0 +1,8 @@ +CREATE TABLE + sva_car_class ( + sva_car_class INTEGER DEFAULT 0 NOT NULL, + description VARCHAR(50), + CONSTRAINT sys_pk_12175 PRIMARY KEY (sva_car_class) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12175_12176 ON sva_car_class (sva_car_class); \ No newline at end of file diff --git a/migrations/0027-createSVAModeRestriction.sql b/migrations/0027-createSVAModeRestriction.sql new file mode 100644 index 000000000..50679c23e --- /dev/null +++ b/migrations/0027-createSVAModeRestriction.sql @@ -0,0 +1,8 @@ +CREATE TABLE + sva_mode_restriction ( + sva_mode_restriction INTEGER DEFAULT 0 NOT NULL, + description VARCHAR(100), + CONSTRAINT sys_pk_12180 PRIMARY KEY (sva_mode_restriction) + ); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12180_12181 ON sva_mode_restriction (sva_mode_restriction); \ No newline at end of file diff --git a/migrations/0028-createStockVehicleAtrributes.sql b/migrations/0028-createStockVehicleAtrributes.sql new file mode 100644 index 000000000..32d7fdeb1 --- /dev/null +++ b/migrations/0028-createStockVehicleAtrributes.sql @@ -0,0 +1,31 @@ +CREATE TABLE IF NOT EXISTS + stock_vehicle_attributes ( + branded_part_id INTEGER NOT NULL, + car_class INTEGER, + ai_restriction_class INTEGER, + mode_restriction INTEGER, + sponsor INTEGER, + vin_branded_part_id INTEGER, + track_id INTEGER DEFAULT 0, + vin_crc INTEGER DEFAULT 0 NOT NULL, + retail_price INTEGER DEFAULT 1000, + CONSTRAINT sys_pk_12168 PRIMARY KEY (branded_part_id), + CONSTRAINT stock_vehicle_attributes_brandedpart_stockvehicleattributes FOREIGN KEY (branded_part_id) REFERENCES branded_part (branded_part_id) ON DELETE CASCADE, + CONSTRAINT stock_vehicle_attributes_brandedpart_stockvehicleattributes1 FOREIGN KEY (vin_branded_part_id) REFERENCES branded_part (branded_part_id), + CONSTRAINT stock_vehicle_attributes_sva_carclass_stockvehicleattributes FOREIGN KEY (car_class) REFERENCES sva_car_class (sva_car_class), + CONSTRAINT stock_vehicle_attributes_sva_moderestriction_stockvehicleattributes FOREIGN KEY (mode_restriction) REFERENCES sva_mode_restriction (sva_mode_restriction) ON DELETE CASCADE ON UPDATE CASCADE + ); + +CREATE INDEX IF NOT EXISTS stock_vehicle_attributes_coptrackid ON stock_vehicle_attributes (track_id); + +CREATE INDEX IF NOT EXISTS sys_idx_stock_vehicle_attributes_brandedpart_stockvehicleattribs1_12795 ON stock_vehicle_attributes (vin_branded_part_id); + +CREATE INDEX IF NOT EXISTS sys_idx_stock_vehicle_attributes_brandedpart_stockvehicleattribs_12786 ON stock_vehicle_attributes (branded_part_id); + +CREATE UNIQUE INDEX IF NOT EXISTS sys_idx_stock_vehicle_attributes_parentbrandedpartid_12162 ON stock_vehicle_attributes (branded_part_id); + +CREATE INDEX IF NOT EXISTS sys_idx_stock_vehicle_attributes_sva_carclass_stockvehicleattributes_12804 ON stock_vehicle_attributes (car_class); + +CREATE INDEX IF NOT EXISTS sys_idx_stock_vehicle_attributes_sva_moderestriction_stockvehicleattributes_12813 ON stock_vehicle_attributes (mode_restriction); + +CREATE UNIQUE INDEX IF NOT EXISTS sys_idx_sys_pk_12168_12169 ON stock_vehicle_attributes (branded_part_id); \ No newline at end of file diff --git a/migrations/0029-seedSVACarClass.sql b/migrations/0029-seedSVACarClass.sql new file mode 100644 index 000000000..0593d66b2 --- /dev/null +++ b/migrations/0029-seedSVACarClass.sql @@ -0,0 +1,7 @@ +INSERT INTO + sva_car_class (sva_car_class, "description") +VALUES + (0, 'Null'), + (1, 'Fat Fender'), + (2, 'Shoebox'), + (3, 'Muscle'); \ No newline at end of file diff --git a/migrations/0030-seedSVAModeRestriction.sql b/migrations/0030-seedSVAModeRestriction.sql new file mode 100644 index 000000000..3c79110d3 --- /dev/null +++ b/migrations/0030-seedSVAModeRestriction.sql @@ -0,0 +1,9 @@ +INSERT INTO + sva_mode_restriction (sva_mode_restriction, "description") +VALUES + (0, 'All Modes'), + (1, 'Motor City'), + (2, 'Debug'), + (3, 'Traffic'), + (4, 'Cop'), + (5, 'Arcade'); \ No newline at end of file diff --git a/migrations/0031-seedStockVehicleAttributes.sql b/migrations/0031-seedStockVehicleAttributes.sql new file mode 100644 index 000000000..827a31059 --- /dev/null +++ b/migrations/0031-seedStockVehicleAttributes.sql @@ -0,0 +1,158 @@ +INSERT INTO + stock_vehicle_attributes ( + branded_part_id, + car_class, + ai_restriction_class, + mode_restriction, + sponsor, + vin_branded_part_id, + track_id, + vin_crc, + retail_price + ) +VALUES + (101, 1, 0, 0, NULL, 101, 0, 1021354189, 7610), + (102, 1, 0, 0, NULL, 102, 0, -1730149944, 11562), + (103, 2, 0, 0, 1, 103, 0, -1175172867, 13144), + (104, 2, 1, 0, 2, 104, 0, -1916621234, 18162), + (105, 2, 0, 0, NULL, 105, 0, 454523797, 18616), + (106, 2, 0, 0, NULL, 106, 0, -851716885, 17964), + (107, 3, 0, 0, 3, 107, 0, -1748379974, 27658), + (108, 3, 0, 0, NULL, 108, 0, 1470602472, 28976), + (109, 3, 0, 0, 3, 109, 0, -1951593844, 20844), + (110, 3, 0, 0, 4, 110, 0, 616652853, 22386), + (111, 3, 0, 0, NULL, 111, 0, 290542722, 54910), + (112, 1, 1, 0, 1, 112, 0, 1363239003, 13674), + (113, 2, 2, 0, 2, 113, 0, -1210440381, 20214), + (114, 2, 0, 0, NULL, 114, 0, -947329386, 46982), + (115, 2, 2, 0, NULL, 115, 0, 362914015, 19456), + (116, 3, 0, 0, 3, 116, 0, -57467043, 31920), + (117, 3, 0, 0, NULL, 117, 0, 240098383, 106456), + (118, 2, 0, 0, NULL, 118, 0, -728377105, 21780), + (119, 3, 0, 0, NULL, 119, 0, -76507965, 29062), + (120, 3, 0, 0, NULL, 120, 0, -400099549, 39098), + (121, 3, 0, 0, 4, 121, 0, 185089250, 31346), + (122, 3, 0, 0, NULL, 122, 0, -639251059, 35486), + (123, 3, 0, 0, NULL, 123, 0, -1190729049, 34530), + (124, 1, 2, 0, 1, 124, 0, 1322255805, 20734), + (125, 2, 0, 0, NULL, 125, 0, 616095431, 22180), + (126, 3, 0, 0, 4, 126, 0, 296347663, 31036), + (127, 2, 0, 0, 2, 127, 0, 2120724018, 15940), + (128, 3, 0, 0, NULL, 128, 0, 281859969, 40806), + (129, 3, 0, 0, NULL, 129, 0, 1756655401, 35880), + (130, 3, 0, 0, NULL, 130, 0, 1478345654, 55586), + (131, 3, 0, 0, NULL, 131, 0, 290406200, 34666), + (132, 3, 0, 0, NULL, 132, 0, 1108479146, 27940), + (133, 3, 0, 0, NULL, 133, 0, 103959562, 31470), + (134, 3, 0, 0, NULL, 134, 0, -1401275087, 51874), + (135, 3, 0, 0, NULL, 135, 0, 1279692657, 24612), + (153, 3, 0, 3, 0, NULL, 0, -1733711197, 13124), + (159, 2, 0, 0, NULL, 104, 0, 71127960, 16216), + (171, 3, 0, 0, NULL, 108, 0, 95938317, 75870), + (173, 3, 0, 3, 0, NULL, 0, 821917378, 15442), + (174, 3, 0, 3, 0, NULL, 0, -1114011574, 17448), + (175, 3, 0, 3, 0, NULL, 0, 127614921, 30986), + (176, 3, 0, 3, 0, NULL, 0, 5490897, 20842), + (177, 3, 0, 3, 0, NULL, 0, -260987179, 44366), + (178, 3, 0, 3, 0, NULL, 0, 1169708297, 40912), + (179, 3, 0, 3, 0, NULL, 0, -997698018, 15442), + (184, 3, 0, 0, NULL, 133, 0, -2100426307, 36732), + (190, 3, 0, 0, NULL, 131, 0, 702282812, 41738), + (208, 2, 0, 0, NULL, 127, 0, -1933058019, 15958), + (236, 2, 1, 0, NULL, 113, 0, -132507054, 20086), + (320, 3, 0, 0, 0, 320, 0, -1930998368, 103848), + (335, 3, 0, 0, 0, 335, 0, -1417679893, 27676), + (336, 3, 0, 0, 0, 336, 0, -1457759091, 36426), + (337, 3, 0, 0, 0, 337, 0, -1471211264, 35306), + (338, 3, 0, 0, 0, 338, 0, 1151680185, 79086), + (339, 3, 0, 0, 0, 339, 0, -405643342, 50570), + (340, 3, 0, 0, 0, 340, 0, -1392644837, 49912), + (341, 3, 0, 0, 0, 341, 0, -899383748, 27844), + (342, 3, 0, 0, 0, 342, 0, -1841308194, 27998), + (343, 3, 0, 0, 0, 343, 0, 1354809895, 28504), + (344, 3, 0, 0, 0, 344, 0, 361663498, 35546), + (345, 3, 0, 0, 0, 345, 0, 1024304803, 45646), + (346, 3, 0, 0, 0, 346, 0, 739147792, 36390), + (347, 3, 0, 0, 0, 347, 0, 363654567, 29172), + (348, 3, 0, 0, 0, 348, 0, 1172991200, 33008), + (349, 3, 0, 0, 0, 349, 0, 535823263, 34620), + (350, 3, 0, 0, 0, 350, 0, -253450591, 46938), + (351, 3, 0, 0, 0, 351, 0, 1522514137, 35372), + (352, 3, 0, 0, 0, 352, 0, 960207390, 54196), + (353, 3, 0, 0, 0, 353, 0, 1367260066, 50390), + (354, 1, 0, 0, 0, 354, 0, 1298694592, 20554), + (355, 1, 0, 0, 0, 355, 0, 343020322, 17152), + (356, 2, 1, 0, 0, 356, 0, -493509567, 10246), + (357, 2, 0, 0, 0, 357, 0, -1091297472, 14696), + (358, 2, 0, 0, 0, 358, 0, -1850950053, 15560), + (359, 2, 0, 0, 0, 359, 0, 1251900878, 16656), + (360, 2, 0, 0, 0, 360, 0, -2008884082, 18208), + (361, 2, 0, 0, 0, 361, 0, 89250179, 16560), + (362, 3, 0, 0, 0, 362, 0, 282526109, 46076), + (363, 3, 0, 0, 0, 363, 0, -40698369, 21280), + (364, 3, 0, 0, 0, 364, 0, 1864120653, 102566), + (365, 3, 0, 0, 0, 365, 0, -489646267, 28474), + (366, 3, 0, 0, 0, 366, 0, -1287635300, 20522), + (367, 3, 0, 0, 0, 367, 0, -630364099, 28084), + (368, 3, 0, 0, 0, 368, 0, -448515064, 40204), + (369, 3, 0, 0, 0, 369, 0, 1169942692, 29370), + (370, 3, 0, 0, 0, 370, 0, 1472055501, 37674), + (371, 3, 0, 0, 0, 371, 0, -742484274, 32080), + (372, 3, 0, 0, 0, 372, 0, 1250189820, 35112), + (373, 3, 0, 0, 0, 373, 0, 219790868, 30660), + (374, 3, 0, 0, NULL, 120, 0, -900399956, 34938), + (375, 3, 0, 5, 0, 375, 0, 336373640, 21800), + (377, 2, 0, 5, 0, 377, 0, 1812020664, 24426), + (378, 2, 0, 5, 0, 378, 0, -1499897175, 23652), + (379, 2, 2, 5, 0, 379, 0, 1800916956, 20796), + (383, 3, 0, 5, 0, 383, 0, 690278510, 31444), + (384, 3, 0, 5, 0, 384, 0, 778235356, 41062), + (385, 2, 0, 5, 0, 385, 0, -933770060, 20552), + (386, 2, 0, 5, 0, 386, 0, -1538070422, 28076), + (387, 3, 0, 5, 0, 387, 0, -606946665, 37542), + (388, 3, 0, 5, 0, 388, 0, -452681372, 28338), + (389, 3, 0, 5, 0, 389, 0, -911118315, 34188), + (390, 2, 0, 5, 0, 390, 0, 1824323067, 26356), + (391, 2, 0, 5, 0, 391, 0, 349594734, 21320), + (392, 3, 0, 5, 0, 392, 0, -2017423296, 39308), + (393, 2, 0, 5, 0, 393, 0, 2076432346, 26382), + (394, 3, 0, 5, 0, 394, 0, -958728569, 44848), + (395, 1, 0, 2, 0, 395, 0, 2082574938, 73518), + (396, 2, 0, 2, 0, 396, 0, 664232324, 83374), + (397, 3, 0, 2, 0, 397, 0, 1823304277, 116878), + (398, 2, 0, 2, 0, 398, 0, 1595575092, 70364), + (399, 3, 7, 2, 0, 399, 0, 649508892, 174752), + (400, 3, 0, 2, 0, 400, 0, -1419219140, 104696), + (401, 3, 0, 2, 0, 401, 0, -2072889218, 115802), + (405, 3, 0, 0, 0, 405, 0, 0, 1000), + (411, 3, 0, 0, 0, 411, 0, 0, 1000), + (412, 3, 0, 0, 0, 412, 0, 0, 1000), + (413, 3, 0, 0, 0, 413, 0, 0, 1000), + (414, 0, 0, 0, 0, 414, 0, 0, 1000), + (415, 3, 1, 0, 0, 415, 0, 0, 1000), + (416, 3, 4, 0, 0, 416, 0, 0, 1000), + (417, 3, 4, 0, 0, 417, 0, 0, 1000), + (418, 0, 5, 0, 0, 418, 0, 0, 1000), + (419, 1, 5, 0, 0, 419, 0, 0, 1000), + (420, 1, 1, 0, 0, 420, 0, 0, 1000), + (421, 2, 3, 0, 0, 421, 0, 0, 1000), + (422, 1, 4, 0, 0, 422, 0, 0, 1000), + (423, 1, 3, 0, 0, 423, 0, 0, 1000), + (424, 3, 4, 0, 0, 424, 0, 0, 1000), + (425, 3, 5, 0, 0, 425, 0, 0, 1000), + (426, 3, 5, 0, 0, 426, 0, 0, 1000), + (427, 1, 2, 0, 0, 427, 0, 0, 1000), + (428, 3, 3, 0, 0, 428, 0, 0, 1000), + (429, 0, 3, 0, 0, 429, 0, 0, 1000), + (430, 0, 3, 0, 0, 430, 0, 0, 1000), + (431, 3, 6, 0, 0, 431, 0, 0, 1000), + (432, 0, 0, 0, 0, 432, 0, 0, 1000), + (433, 0, 0, 0, 0, 433, 0, 0, 1000), + (434, 0, 0, 0, 0, 434, 0, 0, 1000), + (435, 0, 0, 0, 0, 435, 0, 0, 1000), + (436, 0, 0, 0, 0, 436, 0, 0, 1000), + (437, 0, 0, 0, 0, 437, 0, 0, 1000), + (438, 0, 0, 0, 0, 438, 0, 0, 1000), + (439, 3, 3, 0, 0, 439, 0, 0, 1000), + (440, 0, 0, 0, 0, 440, 0, 0, 1000), + (441, 3, 0, 0, 0, 441, 0, 0, 1000); \ No newline at end of file diff --git a/migrations/0032-createStockAssembly.sql b/migrations/0032-createStockAssembly.sql new file mode 100644 index 000000000..60bd78a74 --- /dev/null +++ b/migrations/0032-createStockAssembly.sql @@ -0,0 +1,28 @@ +CREATE TABLE + stock_assembly ( + parent_branded_part_id INTEGER NOT NULL, + child_branded_part_id INTEGER NOT NULL, + attachment_point_id INTEGER NOT NULL, + config_default SMALLINT NOT NULL, + physics_default SMALLINT NOT NULL, + CONSTRAINT sys_pk_12146 PRIMARY KEY ( + parent_branded_part_id, + child_branded_part_id, + attachment_point_id + ), + CONSTRAINT stockassembly_attachmentpointstockassembly FOREIGN KEY (attachment_point_id) REFERENCES attachment_point (attachment_point_id), + CONSTRAINT stockassembly_brandedpartstockassembly FOREIGN KEY (child_branded_part_id) REFERENCES branded_part (branded_part_id), + CONSTRAINT stockassembly_brandedpartstockassembly1 FOREIGN KEY (parent_branded_part_id) REFERENCES branded_part (branded_part_id) + ); + +CREATE INDEX sys_idx_stockassembly_attachmentpointstockassembly_12750 ON stock_assembly (attachment_point_id); + +CREATE INDEX sys_idx_stockassembly_brandedpartstockassembly1_12774 ON stock_assembly (parent_branded_part_id); + +CREATE INDEX sys_idx_stockassembly_brandedpartstockassembly_12762 ON stock_assembly (child_branded_part_id); + +CREATE UNIQUE INDEX sys_idx_sys_pk_12146_12147 ON stock_assembly ( + parent_branded_part_id, + child_branded_part_id, + attachment_point_id +); \ No newline at end of file diff --git a/migrations/0033-seedStockAssembly.sql b/migrations/0033-seedStockAssembly.sql new file mode 100644 index 000000000..0facaf0a1 --- /dev/null +++ b/migrations/0033-seedStockAssembly.sql @@ -0,0 +1,9303 @@ +INSERT INTO + stock_assembly ( + parent_branded_part_id, + child_branded_part_id, + attachment_point_id, + config_default, + physics_default + ) +VALUES + (101, 1001, 0, 0, 0), + (101, 2001, 0, 1, 1), + (101, 4001, 0, 0, 0), + (101, 5001, 0, 0, 0), + (101, 6001, 0, 0, 0), + (101, 10009, 11, 0, 0), + (101, 10010, 10, 0, 0), + (101, 11004, 10, 0, 0), + (101, 11004, 11, 0, 0), + (101, 12002, 11, 0, 0), + (101, 12004, 10, 0, 0), + (101, 15001, 0, 0, 0), + (101, 20101, 0, 0, 0), + (101, 22016, 0, 0, 0), + (101, 23003, 0, 0, 0), + (101, 31153, 0, 0, 0), + (101, 34001, 10, 0, 0), + (101, 34002, 11, 0, 0), + (101, 35001, 10, 0, 0), + (101, 35001, 11, 0, 0), + (101, 36001, 0, 0, 0), + (101, 37001, 0, 0, 0), + (101, 40002, 0, 0, 0), + (101, 100002, 10, 0, 0), + (101, 100002, 11, 0, 0), + (101, 110001, 10, 1, 1), + (101, 110001, 11, 1, 1), + (101, 130012, 0, 0, 0), + (101, 140023, 0, 0, 0), + (101, 160021, 0, 0, 0), + (101, 180019, 0, 0, 0), + (101, 190021, 0, 0, 0), + (101, 200019, 0, 0, 0), + (101, 230002, 0, 0, 0), + (101, 240003, 0, 0, 0), + (101, 250020, 0, 0, 0), + (101, 280019, 0, 0, 0), + (101, 290001, 0, 0, 0), + (101, 300001, 0, 0, 0), + (101, 320023, 0, 0, 0), + (101, 330016, 0, 0, 0), + (101, 340001, 0, 0, 0), + (101, 1000002, 0, 0, 0), + (101, 1100016, 0, 0, 0), + (101, 1200018, 0, 0, 0), + (102, 1001, 0, 1, 1), + (102, 2001, 0, 1, 1), + (102, 4001, 0, 1, 0), + (102, 5001, 0, 0, 0), + (102, 6001, 0, 0, 0), + (102, 10009, 11, 0, 0), + (102, 10010, 10, 0, 0), + (102, 11004, 10, 0, 0), + (102, 11004, 11, 0, 0), + (102, 12003, 11, 0, 0), + (102, 12005, 10, 0, 0), + (102, 15001, 0, 0, 0), + (102, 20102, 0, 0, 0), + (102, 22016, 0, 0, 0), + (102, 23009, 0, 0, 0), + (102, 31153, 0, 0, 0), + (102, 35002, 10, 0, 0), + (102, 35002, 11, 0, 0), + (102, 36001, 0, 0, 0), + (102, 37001, 0, 0, 0), + (102, 40003, 0, 0, 0), + (102, 100002, 10, 0, 0), + (102, 100002, 11, 0, 0), + (102, 110018, 10, 1, 1), + (102, 110018, 11, 1, 1), + (102, 130012, 0, 0, 0), + (102, 140025, 0, 0, 0), + (102, 160021, 0, 0, 0), + (102, 180019, 0, 0, 0), + (102, 190021, 0, 0, 0), + (102, 200019, 0, 0, 0), + (102, 230002, 0, 0, 0), + (102, 240003, 0, 0, 0), + (102, 250020, 0, 0, 0), + (102, 280019, 0, 0, 0), + (102, 290001, 0, 0, 0), + (102, 300001, 0, 0, 0), + (102, 320023, 0, 0, 0), + (102, 330006, 0, 0, 0), + (102, 340001, 0, 0, 0), + (102, 1000002, 0, 0, 0), + (102, 1100016, 0, 0, 0), + (102, 1200018, 0, 0, 0), + (103, 1001, 0, 1, 1), + (103, 2001, 0, 1, 1), + (103, 4001, 0, 9, 0), + (103, 5001, 0, 0, 0), + (103, 6001, 0, 0, 0), + (103, 10009, 11, 0, 0), + (103, 10010, 10, 0, 0), + (103, 11004, 10, 0, 0), + (103, 11004, 11, 0, 0), + (103, 12007, 10, 0, 0), + (103, 12028, 11, 0, 0), + (103, 15001, 0, 0, 0), + (103, 20103, 0, 0, 0), + (103, 22014, 0, 0, 0), + (103, 31153, 0, 0, 0), + (103, 36001, 0, 0, 0), + (103, 37001, 0, 0, 0), + (103, 40005, 0, 0, 0), + (103, 100002, 10, 0, 0), + (103, 100002, 11, 0, 0), + (103, 110012, 10, 1, 1), + (103, 110012, 11, 1, 1), + (103, 130047, 0, 0, 0), + (103, 140014, 0, 0, 0), + (103, 160022, 0, 0, 0), + (103, 180019, 0, 0, 0), + (103, 190021, 0, 0, 0), + (103, 200019, 0, 0, 0), + (103, 230002, 0, 0, 0), + (103, 240003, 0, 0, 0), + (103, 250020, 0, 0, 0), + (103, 280019, 0, 0, 0), + (103, 290001, 0, 0, 0), + (103, 300001, 0, 0, 0), + (103, 320023, 0, 0, 0), + (103, 330006, 0, 0, 0), + (103, 340001, 0, 0, 0), + (103, 1000004, 0, 0, 0), + (103, 1100016, 0, 0, 0), + (103, 1200018, 0, 0, 0), + (104, 1001, 0, 1, 1), + (104, 2001, 0, 1, 1), + (104, 4001, 0, 0, 0), + (104, 5001, 0, 0, 0), + (104, 6001, 0, 0, 0), + (104, 10001, 10, 0, 0), + (104, 10004, 11, 0, 0), + (104, 11004, 10, 0, 0), + (104, 11004, 11, 0, 0), + (104, 12010, 10, 0, 0), + (104, 12022, 11, 0, 0), + (104, 15001, 0, 0, 0), + (104, 20104, 0, 0, 0), + (104, 22014, 0, 0, 0), + (104, 31153, 0, 0, 0), + (104, 36001, 0, 0, 0), + (104, 37001, 0, 0, 0), + (104, 40006, 0, 0, 0), + (104, 100006, 10, 0, 0), + (104, 100006, 11, 0, 0), + (104, 110021, 10, 1, 1), + (104, 110021, 11, 1, 1), + (104, 130047, 0, 0, 0), + (104, 140007, 0, 0, 0), + (104, 160026, 0, 0, 0), + (104, 180018, 0, 0, 0), + (104, 190077, 0, 0, 0), + (104, 200066, 0, 0, 0), + (104, 230001, 0, 0, 0), + (104, 240001, 0, 0, 0), + (104, 250030, 0, 0, 0), + (104, 280030, 0, 0, 0), + (104, 290001, 0, 0, 0), + (104, 300001, 0, 0, 0), + (104, 320098, 0, 0, 0), + (104, 330020, 0, 0, 0), + (104, 340002, 0, 0, 0), + (104, 1000001, 0, 0, 0), + (104, 1100119, 0, 0, 0), + (104, 1200048, 0, 0, 0), + (105, 1001, 0, 1, 1), + (105, 2001, 0, 1, 1), + (105, 4001, 0, 0, 0), + (105, 5001, 0, 0, 0), + (105, 6001, 0, 0, 0), + (105, 10011, 10, 0, 0), + (105, 10011, 11, 0, 0), + (105, 11004, 10, 0, 0), + (105, 11004, 11, 0, 0), + (105, 12009, 10, 0, 0), + (105, 12030, 11, 0, 0), + (105, 15001, 0, 0, 0), + (105, 20105, 0, 0, 0), + (105, 22014, 0, 0, 0), + (105, 31153, 0, 0, 0), + (105, 36001, 0, 0, 0), + (105, 37001, 0, 0, 0), + (105, 40007, 0, 0, 0), + (105, 100002, 10, 0, 0), + (105, 100002, 11, 0, 0), + (105, 110021, 10, 1, 1), + (105, 110021, 11, 1, 1), + (105, 130047, 0, 0, 0), + (105, 140008, 0, 0, 1), + (105, 160026, 0, 0, 0), + (105, 180018, 0, 0, 0), + (105, 190077, 0, 0, 0), + (105, 200066, 0, 0, 0), + (105, 230001, 0, 0, 0), + (105, 240001, 0, 0, 0), + (105, 250030, 0, 0, 0), + (105, 280030, 0, 0, 0), + (105, 290001, 0, 0, 0), + (105, 300001, 0, 0, 0), + (105, 320098, 0, 0, 0), + (105, 330020, 0, 0, 0), + (105, 340002, 0, 0, 0), + (105, 1000001, 0, 0, 0), + (105, 1100119, 0, 0, 0), + (105, 1200048, 0, 0, 0), + (106, 1001, 0, 1, 1), + (106, 2001, 0, 1, 1), + (106, 4001, 0, 0, 0), + (106, 5001, 0, 0, 0), + (106, 6001, 0, 0, 0), + (106, 10011, 10, 0, 0), + (106, 10011, 11, 0, 0), + (106, 11004, 10, 0, 0), + (106, 11004, 11, 0, 0), + (106, 12009, 10, 0, 0), + (106, 12012, 11, 0, 0), + (106, 15001, 0, 0, 0), + (106, 20106, 0, 0, 0), + (106, 22014, 0, 0, 0), + (106, 31153, 0, 0, 0), + (106, 36001, 0, 0, 0), + (106, 37001, 0, 0, 0), + (106, 40008, 0, 0, 0), + (106, 100002, 10, 0, 0), + (106, 100002, 11, 0, 0), + (106, 110032, 10, 1, 1), + (106, 110032, 11, 1, 1), + (106, 130026, 0, 0, 0), + (106, 140003, 0, 0, 0), + (106, 160026, 0, 0, 0), + (106, 180018, 0, 0, 0), + (106, 190077, 0, 0, 0), + (106, 200066, 0, 0, 0), + (106, 230001, 0, 0, 0), + (106, 240001, 0, 0, 0), + (106, 250030, 0, 0, 0), + (106, 280030, 0, 0, 0), + (106, 290002, 0, 0, 0), + (106, 300001, 0, 0, 0), + (106, 320040, 0, 0, 0), + (106, 330035, 0, 0, 0), + (106, 340002, 0, 0, 0), + (106, 1000001, 0, 0, 0), + (106, 1100119, 0, 0, 0), + (106, 1200048, 0, 0, 0), + (107, 1001, 0, 1, 1), + (107, 2001, 0, 1, 1), + (107, 4001, 0, 0, 0), + (107, 5001, 0, 0, 0), + (107, 6001, 0, 0, 0), + (107, 10011, 10, 0, 0), + (107, 10011, 11, 0, 0), + (107, 11004, 10, 0, 0), + (107, 11004, 11, 0, 0), + (107, 12009, 10, 0, 0), + (107, 12012, 11, 0, 0), + (107, 13011, 10, 0, 0), + (107, 15001, 0, 0, 0), + (107, 20107, 0, 0, 0), + (107, 22014, 0, 0, 0), + (107, 31153, 0, 0, 0), + (107, 36001, 0, 0, 0), + (107, 37001, 0, 0, 0), + (107, 40009, 0, 0, 0), + (107, 100002, 10, 0, 0), + (107, 100002, 11, 0, 0), + (107, 110036, 10, 1, 1), + (107, 110036, 11, 1, 1), + (107, 130026, 0, 0, 0), + (107, 140003, 0, 0, 0), + (107, 160030, 0, 0, 0), + (107, 180017, 0, 0, 0), + (107, 190002, 0, 0, 0), + (107, 200001, 0, 0, 0), + (107, 230001, 0, 0, 0), + (107, 240001, 0, 0, 0), + (107, 250001, 0, 0, 0), + (107, 280001, 0, 0, 0), + (107, 290002, 0, 0, 0), + (107, 300001, 0, 0, 0), + (107, 320006, 0, 0, 0), + (107, 330035, 0, 0, 0), + (107, 340002, 0, 0, 0), + (107, 1000132, 0, 0, 0), + (107, 1100010, 0, 0, 0), + (107, 1200003, 0, 0, 0), + (108, 1001, 0, 1, 1), + (108, 2001, 0, 1, 1), + (108, 4001, 0, 0, 0), + (108, 5001, 0, 0, 0), + (108, 6001, 0, 0, 0), + (108, 10010, 10, 0, 0), + (108, 10010, 11, 0, 0), + (108, 11004, 10, 0, 0), + (108, 11004, 11, 0, 0), + (108, 12006, 10, 0, 0), + (108, 12028, 11, 0, 0), + (108, 13010, 10, 0, 0), + (108, 15001, 0, 0, 0), + (108, 20108, 0, 0, 0), + (108, 22014, 0, 0, 0), + (108, 31153, 0, 0, 0), + (108, 36001, 0, 0, 0), + (108, 37001, 0, 0, 0), + (108, 40013, 0, 0, 0), + (108, 100002, 10, 0, 0), + (108, 100002, 11, 0, 0), + (108, 110044, 10, 0, 0), + (108, 110044, 11, 0, 0), + (108, 130034, 0, 0, 0), + (108, 140019, 0, 0, 0), + (108, 160025, 0, 0, 0), + (108, 180030, 0, 0, 0), + (108, 190020, 0, 0, 0), + (108, 200004, 0, 0, 0), + (108, 230001, 0, 0, 0), + (108, 240001, 0, 0, 0), + (108, 250001, 0, 0, 0), + (108, 280018, 0, 0, 0), + (108, 290001, 0, 0, 0), + (108, 300001, 0, 0, 0), + (108, 320022, 0, 0, 0), + (108, 330003, 0, 0, 0), + (108, 340002, 0, 0, 0), + (108, 1000138, 0, 0, 0), + (108, 1100005, 0, 0, 0), + (108, 1200017, 0, 0, 0), + (109, 1001, 0, 1, 1), + (109, 2001, 0, 1, 1), + (109, 4001, 0, 0, 0), + (109, 5001, 0, 0, 0), + (109, 6001, 0, 0, 0), + (109, 10010, 10, 0, 0), + (109, 10010, 11, 0, 0), + (109, 11004, 10, 0, 0), + (109, 11004, 11, 0, 0), + (109, 12009, 10, 0, 0), + (109, 12029, 11, 0, 0), + (109, 15001, 0, 0, 0), + (109, 20109, 0, 0, 0), + (109, 22014, 0, 0, 0), + (109, 31153, 0, 0, 0), + (109, 36001, 0, 0, 0), + (109, 37001, 0, 0, 0), + (109, 40011, 0, 0, 0), + (109, 100002, 10, 0, 0), + (109, 100002, 11, 0, 0), + (109, 110032, 10, 0, 0), + (109, 110032, 11, 0, 0), + (109, 130034, 0, 0, 0), + (109, 140003, 0, 0, 0), + (109, 160025, 0, 0, 0), + (109, 180030, 0, 0, 0), + (109, 190020, 0, 0, 0), + (109, 200004, 0, 0, 0), + (109, 230001, 0, 0, 0), + (109, 240001, 0, 0, 0), + (109, 250001, 0, 0, 0), + (109, 280018, 0, 0, 0), + (109, 290001, 0, 0, 0), + (109, 300001, 0, 0, 0), + (109, 320022, 0, 0, 0), + (109, 330003, 0, 0, 0), + (109, 340002, 0, 0, 0), + (109, 1000138, 0, 0, 0), + (109, 1100005, 0, 0, 0), + (109, 1200017, 0, 0, 0), + (110, 1001, 0, 1, 1), + (110, 2001, 0, 1, 1), + (110, 4001, 0, 0, 0), + (110, 5001, 0, 0, 0), + (110, 6001, 0, 0, 0), + (110, 10002, 10, 0, 0), + (110, 10010, 11, 0, 0), + (110, 11004, 10, 0, 0), + (110, 11004, 11, 0, 0), + (110, 12008, 10, 0, 0), + (110, 12022, 11, 0, 0), + (110, 13011, 10, 0, 0), + (110, 15001, 0, 0, 0), + (110, 20110, 0, 0, 0), + (110, 22014, 0, 0, 0), + (110, 31153, 0, 0, 0), + (110, 36001, 0, 0, 0), + (110, 37001, 0, 0, 0), + (110, 40012, 0, 0, 0), + (110, 100002, 10, 0, 0), + (110, 100002, 11, 0, 0), + (110, 110044, 10, 1, 1), + (110, 110044, 11, 1, 1), + (110, 130026, 0, 0, 0), + (110, 140020, 0, 0, 0), + (110, 160027, 0, 0, 0), + (110, 180030, 0, 0, 0), + (110, 190020, 0, 0, 0), + (110, 200004, 0, 0, 0), + (110, 230001, 0, 0, 0), + (110, 240001, 0, 0, 0), + (110, 250001, 0, 0, 0), + (110, 280018, 0, 0, 0), + (110, 290001, 0, 0, 0), + (110, 300001, 0, 0, 0), + (110, 320022, 0, 0, 0), + (110, 330003, 0, 0, 0), + (110, 340002, 0, 0, 0), + (110, 1000138, 0, 0, 0), + (110, 1100005, 0, 0, 0), + (110, 1200017, 0, 0, 0), + (111, 1001, 0, 1, 1), + (111, 2001, 0, 1, 1), + (111, 4001, 0, 0, 0), + (111, 5001, 0, 0, 0), + (111, 6001, 0, 0, 0), + (111, 10010, 11, 0, 0), + (111, 10017, 10, 0, 0), + (111, 11009, 10, 0, 0), + (111, 11009, 11, 0, 0), + (111, 12008, 10, 0, 0), + (111, 12029, 11, 0, 0), + (111, 13007, 11, 0, 0), + (111, 13009, 10, 0, 0), + (111, 15001, 0, 0, 0), + (111, 20111, 0, 0, 0), + (111, 22014, 0, 0, 0), + (111, 29002, 0, 0, 0), + (111, 30003, 0, 0, 0), + (111, 31153, 0, 0, 0), + (111, 36001, 0, 0, 0), + (111, 37001, 0, 0, 0), + (111, 40013, 0, 0, 0), + (111, 100112, 10, 0, 0), + (111, 100112, 11, 0, 0), + (111, 110083, 10, 1, 1), + (111, 110084, 11, 1, 1), + (111, 130034, 0, 0, 0), + (111, 140020, 0, 0, 0), + (111, 160027, 0, 0, 0), + (111, 180034, 0, 0, 0), + (111, 190001, 0, 0, 0), + (111, 200054, 0, 0, 0), + (111, 230003, 0, 0, 0), + (111, 240005, 0, 0, 0), + (111, 250001, 0, 0, 0), + (111, 280041, 0, 0, 0), + (111, 290002, 0, 0, 0), + (111, 300011, 0, 0, 0), + (111, 320087, 0, 0, 0), + (111, 330025, 0, 0, 0), + (111, 340003, 0, 0, 0), + (111, 1000139, 0, 0, 0), + (111, 1100005, 0, 0, 0), + (111, 1200038, 0, 0, 0), + (112, 1001, 0, 1, 1), + (112, 2001, 0, 1, 1), + (112, 4001, 0, 0, 0), + (112, 5001, 0, 0, 0), + (112, 6001, 0, 0, 0), + (112, 10001, 10, 0, 0), + (112, 10004, 11, 0, 0), + (112, 11004, 10, 0, 0), + (112, 11004, 11, 0, 0), + (112, 12007, 10, 0, 0), + (112, 12028, 11, 0, 0), + (112, 15001, 0, 0, 0), + (112, 20112, 0, 0, 0), + (112, 22014, 0, 0, 0), + (112, 31153, 0, 0, 0), + (112, 36001, 0, 0, 0), + (112, 37001, 0, 0, 0), + (112, 40004, 0, 0, 0), + (112, 100002, 10, 0, 0), + (112, 100002, 11, 0, 0), + (112, 110017, 10, 1, 1), + (112, 110017, 11, 1, 1), + (112, 130012, 0, 0, 0), + (112, 140024, 0, 0, 0), + (112, 160047, 0, 0, 0), + (112, 180019, 0, 0, 0), + (112, 190021, 0, 0, 0), + (112, 200019, 0, 0, 0), + (112, 230002, 0, 0, 0), + (112, 240001, 0, 0, 0), + (112, 250020, 0, 0, 0), + (112, 280019, 0, 0, 0), + (112, 290001, 0, 0, 0), + (112, 300001, 0, 0, 0), + (112, 320023, 0, 0, 0), + (112, 330006, 0, 0, 0), + (112, 340001, 0, 0, 0), + (112, 1000003, 0, 0, 0), + (112, 1100016, 0, 0, 0), + (112, 1200018, 0, 0, 0), + (113, 1001, 0, 1, 1), + (113, 2001, 0, 1, 1), + (113, 4001, 0, 0, 0), + (113, 5001, 0, 0, 0), + (113, 6001, 0, 0, 0), + (113, 10001, 10, 0, 0), + (113, 10004, 11, 0, 0), + (113, 11004, 10, 0, 0), + (113, 11004, 11, 0, 0), + (113, 12009, 10, 0, 0), + (113, 12030, 11, 0, 0), + (113, 15001, 0, 0, 0), + (113, 20113, 0, 0, 0), + (113, 22009, 0, 0, 0), + (113, 31153, 0, 0, 0), + (113, 36001, 0, 0, 0), + (113, 37001, 0, 0, 0), + (113, 40016, 0, 0, 0), + (113, 100002, 10, 0, 0), + (113, 100002, 11, 0, 0), + (113, 110014, 10, 1, 1), + (113, 110014, 11, 1, 1), + (113, 130021, 0, 0, 0), + (113, 140021, 0, 0, 0), + (113, 160006, 0, 0, 0), + (113, 180014, 0, 0, 0), + (113, 190016, 0, 0, 0), + (113, 200002, 0, 0, 0), + (113, 230001, 0, 0, 0), + (113, 240001, 0, 0, 0), + (113, 250026, 0, 0, 0), + (113, 280024, 0, 0, 0), + (113, 290003, 0, 0, 0), + (113, 300001, 0, 0, 0), + (113, 320020, 0, 0, 0), + (113, 330052, 0, 0, 0), + (113, 340002, 0, 0, 0), + (113, 1000123, 0, 0, 0), + (113, 1100001, 0, 0, 0), + (113, 1200034, 0, 0, 0), + (114, 1001, 0, 1, 1), + (114, 2001, 0, 1, 1), + (114, 4001, 0, 0, 0), + (114, 5001, 0, 0, 0), + (114, 6001, 0, 0, 0), + (114, 10006, 11, 0, 0), + (114, 10015, 10, 0, 0), + (114, 11006, 10, 0, 0), + (114, 11006, 11, 0, 0), + (114, 12021, 10, 0, 0), + (114, 12029, 11, 0, 0), + (114, 13006, 10, 0, 0), + (114, 15001, 0, 0, 0), + (114, 20114, 0, 0, 0), + (114, 22009, 0, 0, 0), + (114, 31153, 0, 0, 0), + (114, 36001, 0, 0, 0), + (114, 37001, 0, 0, 0), + (114, 40018, 0, 0, 0), + (114, 100002, 10, 0, 0), + (114, 100002, 11, 0, 0), + (114, 110012, 10, 1, 1), + (114, 110012, 11, 1, 1), + (114, 130032, 0, 0, 0), + (114, 140009, 0, 0, 0), + (114, 160006, 0, 0, 0), + (114, 180014, 0, 0, 0), + (114, 190016, 0, 0, 0), + (114, 200002, 0, 0, 0), + (114, 230001, 0, 0, 0), + (114, 240001, 0, 0, 0), + (114, 250026, 0, 0, 0), + (114, 280024, 0, 0, 0), + (114, 290001, 0, 0, 0), + (114, 300001, 0, 0, 0), + (114, 320030, 0, 0, 0), + (114, 330052, 0, 0, 0), + (114, 340002, 0, 0, 0), + (114, 1000015, 0, 0, 0), + (114, 1100001, 0, 0, 0), + (114, 1200034, 0, 0, 0), + (115, 1001, 0, 1, 1), + (115, 2001, 0, 1, 1), + (115, 4001, 0, 0, 0), + (115, 5001, 0, 0, 0), + (115, 6001, 0, 0, 0), + (115, 10011, 10, 0, 0), + (115, 10011, 11, 0, 0), + (115, 11004, 10, 0, 0), + (115, 11004, 11, 0, 0), + (115, 12009, 10, 0, 0), + (115, 12030, 11, 0, 0), + (115, 15001, 0, 0, 0), + (115, 20115, 0, 0, 0), + (115, 22009, 0, 0, 0), + (115, 31153, 0, 0, 0), + (115, 36001, 0, 0, 0), + (115, 37001, 0, 0, 0), + (115, 40017, 0, 0, 0), + (115, 100002, 10, 0, 0), + (115, 100002, 11, 0, 0), + (115, 110014, 10, 1, 1), + (115, 110014, 11, 1, 1), + (115, 130021, 0, 0, 0), + (115, 140018, 0, 0, 0), + (115, 160006, 0, 0, 0), + (115, 180014, 0, 0, 0), + (115, 190016, 0, 0, 0), + (115, 200002, 0, 0, 0), + (115, 230001, 0, 0, 0), + (115, 240001, 0, 0, 0), + (115, 250026, 0, 0, 0), + (115, 280024, 0, 0, 0), + (115, 290004, 0, 0, 0), + (115, 300001, 0, 0, 0), + (115, 320030, 0, 0, 0), + (115, 330053, 0, 0, 0), + (115, 340002, 0, 0, 0), + (115, 1000015, 0, 0, 0), + (115, 1100158, 0, 0, 0), + (115, 1200034, 0, 0, 0), + (116, 1001, 0, 1, 1), + (116, 2001, 0, 1, 1), + (116, 4001, 0, 0, 0), + (116, 5001, 0, 0, 0), + (116, 6001, 0, 0, 0), + (116, 10011, 10, 0, 0), + (116, 10011, 11, 0, 0), + (116, 11004, 10, 0, 0), + (116, 11004, 11, 0, 0), + (116, 12007, 10, 0, 0), + (116, 12021, 11, 0, 0), + (116, 13009, 10, 0, 0), + (116, 15001, 0, 0, 0), + (116, 20116, 0, 0, 0), + (116, 22009, 0, 0, 0), + (116, 31153, 0, 0, 0), + (116, 36001, 0, 0, 0), + (116, 37001, 0, 0, 0), + (116, 40022, 0, 0, 0), + (116, 100002, 10, 0, 0), + (116, 100002, 11, 0, 0), + (116, 110035, 10, 1, 1), + (116, 110035, 11, 1, 1), + (116, 130021, 0, 0, 0), + (116, 140009, 0, 0, 0), + (116, 160006, 0, 0, 0), + (116, 180014, 0, 0, 0), + (116, 190016, 0, 0, 0), + (116, 200002, 0, 0, 0), + (116, 230001, 0, 0, 0), + (116, 240032, 0, 0, 0), + (116, 250026, 0, 0, 0), + (116, 280016, 0, 0, 0), + (116, 290004, 0, 0, 0), + (116, 300001, 0, 0, 0), + (116, 320020, 0, 0, 0), + (116, 330053, 0, 0, 0), + (116, 340002, 0, 0, 0), + (116, 1000070, 0, 0, 0), + (116, 1100001, 0, 0, 0), + (116, 1200034, 0, 0, 0), + (117, 1001, 0, 1, 1), + (117, 2001, 0, 1, 1), + (117, 4001, 0, 0, 0), + (117, 5001, 0, 0, 0), + (117, 6001, 0, 0, 0), + (117, 10021, 10, 0, 0), + (117, 10026, 11, 0, 0), + (117, 11006, 10, 0, 0), + (117, 11006, 11, 0, 0), + (117, 12007, 11, 0, 0), + (117, 12021, 10, 0, 0), + (117, 13006, 10, 0, 0), + (117, 15001, 0, 0, 0), + (117, 20117, 0, 0, 0), + (117, 22009, 0, 0, 0), + (117, 31153, 0, 0, 0), + (117, 36001, 0, 0, 0), + (117, 37001, 0, 0, 0), + (117, 40021, 0, 0, 0), + (117, 100120, 10, 0, 0), + (117, 100120, 11, 0, 0), + (117, 110087, 10, 1, 1), + (117, 110088, 11, 1, 1), + (117, 130008, 0, 0, 0), + (117, 140005, 0, 0, 0), + (117, 160009, 0, 0, 0), + (117, 180014, 0, 0, 0), + (117, 190016, 0, 0, 0), + (117, 200002, 0, 0, 0), + (117, 230003, 0, 0, 0), + (117, 240006, 0, 0, 0), + (117, 250002, 0, 0, 0), + (117, 280024, 0, 0, 0), + (117, 290004, 0, 0, 0), + (117, 300001, 0, 0, 0), + (117, 320030, 0, 0, 0), + (117, 330057, 0, 0, 0), + (117, 340003, 0, 0, 0), + (117, 1000073, 0, 0, 0), + (117, 1100025, 0, 0, 0), + (117, 1200023, 0, 0, 0), + (118, 1001, 0, 1, 1), + (118, 2001, 0, 1, 1), + (118, 4001, 0, 0, 0), + (118, 5001, 0, 0, 0), + (118, 6001, 0, 0, 0), + (118, 10011, 10, 0, 0), + (118, 10011, 11, 0, 0), + (118, 11004, 10, 0, 0), + (118, 11004, 11, 0, 0), + (118, 12006, 11, 0, 0), + (118, 12007, 10, 0, 0), + (118, 15001, 0, 0, 0), + (118, 20118, 0, 0, 0), + (118, 22009, 0, 0, 0), + (118, 31153, 0, 0, 0), + (118, 36001, 0, 0, 0), + (118, 37001, 0, 0, 0), + (118, 40019, 0, 0, 0), + (118, 100002, 10, 0, 0), + (118, 100002, 11, 0, 0), + (118, 110032, 10, 1, 1), + (118, 110032, 11, 1, 1), + (118, 130032, 0, 0, 0), + (118, 140016, 0, 0, 0), + (118, 160011, 0, 0, 0), + (118, 180062, 0, 0, 0), + (118, 190067, 0, 0, 0), + (118, 200048, 0, 0, 0), + (118, 230001, 0, 0, 0), + (118, 240001, 0, 0, 0), + (118, 250026, 0, 0, 0), + (118, 280051, 0, 0, 0), + (118, 290004, 0, 0, 0), + (118, 300001, 0, 0, 0), + (118, 320100, 0, 0, 0), + (118, 330056, 0, 0, 0), + (118, 340002, 0, 0, 0), + (118, 1000057, 0, 0, 0), + (118, 1100120, 0, 0, 0), + (118, 1200049, 0, 0, 0), + (119, 1001, 0, 1, 1), + (119, 2001, 0, 1, 1), + (119, 4001, 0, 0, 0), + (119, 5001, 0, 0, 0), + (119, 6001, 0, 0, 0), + (119, 10010, 10, 0, 0), + (119, 10010, 11, 0, 0), + (119, 11004, 10, 0, 0), + (119, 11004, 11, 0, 0), + (119, 12008, 10, 0, 0), + (119, 12029, 11, 0, 0), + (119, 15001, 0, 0, 0), + (119, 20119, 0, 0, 0), + (119, 22009, 0, 0, 0), + (119, 31153, 0, 0, 0), + (119, 36001, 0, 0, 0), + (119, 37001, 0, 0, 0), + (119, 40024, 0, 0, 0), + (119, 100002, 10, 0, 0), + (119, 100002, 11, 0, 0), + (119, 110032, 10, 1, 1), + (119, 110032, 11, 1, 1), + (119, 130033, 0, 0, 0), + (119, 140016, 0, 0, 0), + (119, 160006, 0, 0, 0), + (119, 180014, 0, 0, 0), + (119, 190016, 0, 0, 0), + (119, 200002, 0, 0, 0), + (119, 230001, 0, 0, 0), + (119, 240023, 0, 0, 0), + (119, 250026, 0, 0, 0), + (119, 280016, 0, 0, 0), + (119, 290004, 0, 0, 0), + (119, 300001, 0, 0, 0), + (119, 320020, 0, 0, 0), + (119, 330053, 0, 0, 0), + (119, 340002, 0, 0, 0), + (119, 1000070, 0, 0, 0), + (119, 1100001, 0, 0, 0), + (119, 1200034, 0, 0, 0), + (120, 1001, 0, 1, 1), + (120, 2001, 0, 1, 1), + (120, 4001, 0, 0, 0), + (120, 5001, 0, 0, 0), + (120, 6001, 0, 0, 0), + (120, 10002, 10, 0, 0), + (120, 10010, 11, 0, 0), + (120, 11004, 10, 0, 0), + (120, 11004, 11, 0, 0), + (120, 12006, 10, 0, 0), + (120, 12027, 11, 0, 0), + (120, 13009, 10, 0, 0), + (120, 15001, 0, 0, 0), + (120, 20120, 0, 0, 0), + (120, 22009, 0, 0, 0), + (120, 31153, 0, 0, 0), + (120, 36001, 0, 0, 0), + (120, 37001, 0, 0, 0), + (120, 40025, 0, 0, 0), + (120, 100003, 10, 0, 0), + (120, 100003, 11, 0, 0), + (120, 110032, 10, 1, 1), + (120, 110032, 11, 1, 1), + (120, 130032, 0, 0, 0), + (120, 140016, 0, 0, 0), + (120, 160009, 0, 0, 0), + (120, 180014, 0, 0, 0), + (120, 190016, 0, 0, 0), + (120, 200002, 0, 0, 0), + (120, 230001, 0, 0, 0), + (120, 240023, 0, 0, 0), + (120, 250026, 0, 0, 0), + (120, 280016, 0, 0, 0), + (120, 290004, 0, 0, 0), + (120, 300001, 0, 0, 0), + (120, 320020, 0, 0, 0), + (120, 330053, 0, 0, 0), + (120, 340002, 0, 0, 0), + (120, 1000121, 0, 0, 0), + (120, 1100001, 0, 0, 0), + (120, 1200034, 0, 0, 0), + (121, 1001, 0, 1, 1), + (121, 2001, 0, 1, 1), + (121, 4001, 0, 0, 0), + (121, 5001, 0, 0, 0), + (121, 6001, 0, 0, 0), + (121, 10002, 10, 0, 0), + (121, 10010, 11, 0, 0), + (121, 11004, 10, 0, 0), + (121, 11004, 11, 0, 0), + (121, 12009, 10, 0, 0), + (121, 12021, 11, 0, 0), + (121, 13009, 10, 0, 0), + (121, 15001, 0, 0, 0), + (121, 20121, 0, 0, 0), + (121, 22009, 0, 0, 0), + (121, 31153, 0, 0, 0), + (121, 36001, 0, 0, 0), + (121, 37001, 0, 0, 0), + (121, 40030, 0, 0, 0), + (121, 100002, 10, 0, 0), + (121, 100002, 11, 0, 0), + (121, 110027, 10, 1, 1), + (121, 110027, 11, 1, 1), + (121, 130023, 0, 0, 0), + (121, 140016, 0, 0, 0), + (121, 160008, 0, 0, 0), + (121, 180003, 0, 0, 0), + (121, 190016, 0, 0, 0), + (121, 200002, 0, 0, 0), + (121, 230001, 0, 0, 0), + (121, 240023, 0, 0, 0), + (121, 250026, 0, 0, 0), + (121, 280016, 0, 0, 0), + (121, 290004, 0, 0, 0), + (121, 300001, 0, 0, 0), + (121, 320020, 0, 0, 0), + (121, 330020, 0, 0, 0), + (121, 340002, 0, 0, 0), + (121, 1000074, 0, 0, 0), + (121, 1100001, 0, 0, 0), + (121, 1200034, 0, 0, 0), + (122, 1001, 0, 1, 1), + (122, 2001, 0, 1, 1), + (122, 4001, 0, 0, 0), + (122, 5001, 0, 0, 0), + (122, 6001, 0, 0, 0), + (122, 10010, 10, 0, 0), + (122, 10010, 11, 0, 0), + (122, 11004, 10, 0, 0), + (122, 11004, 11, 0, 0), + (122, 12007, 11, 0, 0), + (122, 12010, 10, 0, 0), + (122, 13009, 10, 0, 0), + (122, 15001, 0, 0, 0), + (122, 20122, 0, 0, 0), + (122, 22009, 0, 0, 0), + (122, 31153, 0, 0, 0), + (122, 36001, 0, 0, 0), + (122, 37001, 0, 0, 0), + (122, 40028, 0, 0, 0), + (122, 100003, 10, 0, 0), + (122, 100003, 11, 0, 0), + (122, 110034, 10, 1, 1), + (122, 110034, 11, 1, 1), + (122, 130023, 0, 0, 0), + (122, 140016, 0, 0, 0), + (122, 160008, 0, 0, 0), + (122, 180003, 0, 0, 0), + (122, 190016, 0, 0, 0), + (122, 200002, 0, 0, 0), + (122, 230001, 0, 0, 0), + (122, 240023, 0, 0, 0), + (122, 250026, 0, 0, 0), + (122, 280016, 0, 0, 0), + (122, 290004, 0, 0, 0), + (122, 300001, 0, 0, 0), + (122, 320020, 0, 0, 0), + (122, 330020, 0, 0, 0), + (122, 340002, 0, 0, 0), + (122, 1000074, 0, 0, 0), + (122, 1100001, 0, 0, 0), + (122, 1200034, 0, 0, 0), + (123, 1001, 0, 1, 1), + (123, 2001, 0, 1, 1), + (123, 4001, 0, 0, 0), + (123, 5001, 0, 0, 0), + (123, 6001, 0, 0, 0), + (123, 10002, 10, 0, 0), + (123, 10010, 11, 0, 0), + (123, 11004, 10, 0, 0), + (123, 11004, 11, 0, 0), + (123, 12020, 10, 0, 0), + (123, 12029, 11, 0, 0), + (123, 13009, 10, 0, 0), + (123, 15001, 0, 0, 0), + (123, 20123, 0, 0, 0), + (123, 22009, 0, 0, 0), + (123, 31153, 0, 0, 0), + (123, 36001, 0, 0, 0), + (123, 37001, 0, 0, 0), + (123, 40029, 0, 0, 0), + (123, 100002, 10, 0, 0), + (123, 100002, 11, 0, 0), + (123, 110034, 10, 1, 1), + (123, 110034, 11, 1, 1), + (123, 130023, 0, 0, 0), + (123, 140016, 0, 0, 0), + (123, 160008, 0, 0, 0), + (123, 180003, 0, 0, 0), + (123, 190016, 0, 0, 0), + (123, 200002, 0, 0, 0), + (123, 230001, 0, 0, 0), + (123, 240023, 0, 0, 0), + (123, 250026, 0, 0, 0), + (123, 280016, 0, 0, 0), + (123, 290004, 0, 0, 0), + (123, 300001, 0, 0, 0), + (123, 320020, 0, 0, 0), + (123, 330020, 0, 0, 0), + (123, 340002, 0, 0, 0), + (123, 1000074, 0, 0, 0), + (123, 1100001, 0, 0, 0), + (123, 1200034, 0, 0, 0), + (124, 1001, 0, 1, 1), + (124, 2001, 0, 1, 1), + (124, 4001, 0, 0, 0), + (124, 5001, 0, 0, 0), + (124, 6001, 0, 0, 0), + (124, 10012, 10, 0, 0), + (124, 10012, 11, 0, 0), + (124, 11004, 10, 0, 0), + (124, 11004, 11, 0, 0), + (124, 12011, 10, 0, 0), + (124, 12027, 11, 0, 0), + (124, 15001, 0, 0, 0), + (124, 20124, 0, 0, 0), + (124, 22005, 0, 0, 0), + (124, 31153, 0, 0, 0), + (124, 36001, 0, 0, 0), + (124, 37001, 0, 0, 0), + (124, 40014, 0, 0, 0), + (124, 100002, 10, 0, 0), + (124, 100002, 11, 0, 0), + (124, 110047, 10, 1, 1), + (124, 110047, 11, 1, 1), + (124, 130023, 0, 0, 0), + (124, 140008, 0, 0, 0), + (124, 160010, 0, 0, 0), + (124, 180055, 0, 0, 0), + (124, 190071, 0, 0, 0), + (124, 200056, 0, 0, 0), + (124, 230001, 0, 0, 0), + (124, 240001, 0, 0, 0), + (124, 250021, 0, 0, 0), + (124, 280044, 0, 0, 0), + (124, 290003, 0, 0, 0), + (124, 300001, 0, 0, 0), + (124, 320092, 0, 0, 0), + (124, 330052, 0, 0, 0), + (124, 340002, 0, 0, 0), + (124, 1000154, 0, 0, 0), + (124, 1100112, 0, 0, 0), + (124, 1200042, 0, 0, 0), + (125, 1001, 0, 1, 1), + (125, 2001, 0, 1, 1), + (125, 4001, 0, 0, 0), + (125, 5001, 0, 0, 0), + (125, 6001, 0, 0, 0), + (125, 10003, 10, 0, 0), + (125, 10011, 11, 0, 0), + (125, 11004, 10, 0, 0), + (125, 11004, 11, 0, 0), + (125, 12010, 11, 0, 0), + (125, 12011, 10, 0, 0), + (125, 15001, 0, 0, 0), + (125, 20125, 0, 0, 0), + (125, 22009, 0, 0, 0), + (125, 31153, 0, 0, 0), + (125, 36001, 0, 0, 0), + (125, 37001, 0, 0, 0), + (125, 40020, 0, 0, 0), + (125, 100103, 10, 0, 0), + (125, 100103, 11, 0, 0), + (125, 110042, 10, 1, 1), + (125, 110042, 11, 1, 1), + (125, 130022, 0, 0, 0), + (125, 140002, 0, 0, 0), + (125, 160013, 0, 0, 0), + (125, 180012, 0, 0, 0), + (125, 190005, 0, 0, 0), + (125, 200018, 0, 0, 0), + (125, 230001, 0, 0, 0), + (125, 240001, 0, 0, 0), + (125, 250002, 0, 0, 0), + (125, 280015, 0, 0, 0), + (125, 290004, 0, 0, 0), + (125, 300001, 0, 0, 0), + (125, 320021, 0, 0, 0), + (125, 330008, 0, 0, 0), + (125, 340002, 0, 0, 0), + (125, 1000068, 0, 0, 0), + (125, 1100013, 0, 0, 0), + (125, 1200014, 0, 0, 0), + (126, 1001, 0, 1, 1), + (126, 2001, 0, 1, 1), + (126, 4001, 0, 0, 0), + (126, 5001, 0, 0, 0), + (126, 6001, 0, 0, 0), + (126, 10002, 10, 0, 0), + (126, 10010, 11, 0, 0), + (126, 11004, 10, 0, 0), + (126, 11004, 11, 0, 0), + (126, 12010, 10, 0, 0), + (126, 12021, 11, 0, 0), + (126, 13011, 11, 0, 0), + (126, 13012, 10, 0, 0), + (126, 15001, 0, 0, 0), + (126, 20126, 0, 0, 0), + (126, 22009, 0, 0, 0), + (126, 31153, 0, 0, 0), + (126, 36001, 0, 0, 0), + (126, 37001, 0, 0, 0), + (126, 40026, 0, 0, 0), + (126, 100002, 10, 0, 0), + (126, 100002, 11, 0, 0), + (126, 110104, 10, 1, 1), + (126, 110109, 11, 1, 1), + (126, 130045, 0, 0, 0), + (126, 140009, 0, 0, 0), + (126, 160037, 0, 0, 0), + (126, 180020, 0, 0, 0), + (126, 190022, 0, 0, 0), + (126, 200020, 0, 0, 0), + (126, 230001, 0, 0, 0), + (126, 240001, 0, 0, 0), + (126, 250002, 0, 0, 0), + (126, 280027, 0, 0, 0), + (126, 290003, 0, 0, 0), + (126, 300001, 0, 0, 0), + (126, 320024, 0, 0, 0), + (126, 330056, 0, 0, 0), + (126, 340002, 0, 0, 0), + (126, 1000021, 0, 0, 0), + (126, 1100098, 0, 0, 0), + (126, 1200019, 0, 0, 0), + (127, 1001, 0, 1, 1), + (127, 2001, 0, 1, 1), + (127, 4001, 0, 0, 0), + (127, 5001, 0, 0, 0), + (127, 6001, 0, 0, 0), + (127, 10009, 11, 0, 0), + (127, 10010, 10, 0, 0), + (127, 11004, 10, 0, 0), + (127, 11004, 11, 0, 0), + (127, 12008, 11, 0, 0), + (127, 12009, 10, 0, 0), + (127, 15001, 0, 0, 0), + (127, 20127, 0, 0, 0), + (127, 22009, 0, 0, 0), + (127, 31153, 0, 0, 0), + (127, 36001, 0, 0, 0), + (127, 37001, 0, 0, 0), + (127, 40015, 0, 0, 0), + (127, 100002, 10, 0, 0), + (127, 100002, 11, 0, 0), + (127, 110048, 10, 1, 1), + (127, 110048, 11, 1, 1), + (127, 130057, 0, 0, 0), + (127, 140018, 0, 0, 0), + (127, 160001, 0, 0, 0), + (127, 180049, 0, 0, 0), + (127, 190013, 0, 0, 0), + (127, 200058, 0, 0, 0), + (127, 230021, 0, 0, 0), + (127, 240032, 0, 0, 0), + (127, 250022, 0, 0, 0), + (127, 280045, 0, 0, 0), + (127, 290003, 0, 0, 0), + (127, 300001, 0, 0, 0), + (127, 320033, 0, 0, 0), + (127, 330053, 0, 0, 0), + (127, 340002, 0, 0, 0), + (127, 1000162, 0, 0, 0), + (127, 1100113, 0, 0, 0), + (127, 1200013, 0, 0, 0), + (128, 1001, 0, 0, 0), + (128, 2001, 0, 1, 1), + (128, 4001, 0, 0, 0), + (128, 5001, 0, 0, 0), + (128, 6001, 0, 0, 0), + (128, 10010, 10, 0, 0), + (128, 10010, 11, 0, 0), + (128, 11004, 10, 0, 0), + (128, 11004, 11, 0, 0), + (128, 12007, 10, 0, 0), + (128, 12029, 11, 0, 0), + (128, 13011, 10, 0, 0), + (128, 15001, 0, 0, 0), + (128, 20128, 0, 0, 0), + (128, 22009, 0, 0, 0), + (128, 31153, 0, 0, 0), + (128, 36001, 0, 0, 0), + (128, 37001, 0, 0, 0), + (128, 40023, 0, 0, 0), + (128, 100002, 10, 0, 0), + (128, 100002, 11, 0, 0), + (128, 110104, 10, 1, 1), + (128, 110109, 11, 1, 1), + (128, 130004, 0, 0, 0), + (128, 140009, 0, 0, 0), + (128, 160039, 0, 0, 0), + (128, 180023, 0, 0, 0), + (128, 190006, 0, 0, 0), + (128, 200023, 0, 0, 0), + (128, 230001, 0, 0, 0), + (128, 240005, 0, 0, 0), + (128, 250002, 0, 0, 0), + (128, 280023, 0, 0, 0), + (128, 290004, 0, 0, 0), + (128, 300001, 0, 0, 0), + (128, 320027, 0, 0, 0), + (128, 330043, 0, 0, 0), + (128, 340002, 0, 0, 0), + (128, 1000018, 0, 0, 0), + (128, 1100020, 0, 0, 0), + (128, 1200035, 0, 0, 0), + (129, 1001, 0, 1, 1), + (129, 2001, 0, 1, 1), + (129, 4001, 0, 0, 0), + (129, 5001, 0, 0, 0), + (129, 6001, 0, 0, 0), + (129, 10010, 10, 0, 0), + (129, 10010, 11, 0, 0), + (129, 11004, 10, 0, 0), + (129, 11004, 11, 0, 0), + (129, 12008, 10, 0, 0), + (129, 12021, 11, 0, 0), + (129, 13011, 10, 0, 0), + (129, 15001, 0, 0, 0), + (129, 20129, 0, 0, 0), + (129, 22009, 0, 0, 0), + (129, 25006, 0, 0, 0), + (129, 31153, 0, 0, 0), + (129, 36001, 0, 0, 0), + (129, 37001, 0, 0, 0), + (129, 40049, 0, 0, 0), + (129, 100002, 10, 0, 0), + (129, 100002, 11, 0, 0), + (129, 110033, 10, 1, 1), + (129, 110033, 11, 1, 1), + (129, 130004, 0, 0, 0), + (129, 140009, 0, 0, 0), + (129, 160040, 0, 0, 0), + (129, 180023, 0, 0, 0), + (129, 190006, 0, 0, 0), + (129, 200023, 0, 0, 0), + (129, 230001, 0, 0, 0), + (129, 240006, 0, 0, 0), + (129, 250002, 0, 0, 0), + (129, 280028, 0, 0, 0), + (129, 290003, 0, 0, 0), + (129, 300001, 0, 0, 0), + (129, 320027, 0, 0, 0), + (129, 330043, 0, 0, 0), + (129, 340002, 0, 0, 0), + (129, 1000051, 0, 0, 0), + (129, 1100034, 0, 0, 0), + (129, 1200035, 0, 0, 0), + (130, 1001, 0, 1, 1), + (130, 2001, 0, 1, 1), + (130, 4001, 0, 0, 0), + (130, 5001, 0, 0, 0), + (130, 6001, 0, 0, 0), + (130, 10002, 10, 0, 0), + (130, 10010, 11, 0, 0), + (130, 11004, 10, 0, 0), + (130, 11004, 11, 0, 0), + (130, 12009, 10, 0, 0), + (130, 12029, 11, 0, 0), + (130, 13009, 11, 0, 0), + (130, 13011, 10, 0, 0), + (130, 15001, 0, 0, 0), + (130, 20130, 0, 0, 0), + (130, 22006, 0, 0, 0), + (130, 31153, 0, 0, 0), + (130, 36001, 0, 0, 0), + (130, 37001, 0, 0, 0), + (130, 40055, 0, 0, 0), + (130, 100002, 10, 0, 0), + (130, 100002, 11, 0, 0), + (130, 110040, 10, 1, 1), + (130, 110040, 11, 1, 1), + (130, 130004, 0, 0, 0), + (130, 140022, 0, 0, 0), + (130, 160040, 0, 0, 0), + (130, 180023, 0, 0, 0), + (130, 190006, 0, 0, 0), + (130, 200023, 0, 0, 0), + (130, 230003, 0, 0, 0), + (130, 240005, 0, 0, 0), + (130, 250002, 0, 0, 0), + (130, 280023, 0, 0, 0), + (130, 290004, 0, 0, 0), + (130, 300001, 0, 0, 0), + (130, 320027, 0, 0, 0), + (130, 330043, 0, 0, 0), + (130, 340003, 0, 0, 0), + (130, 1000146, 0, 0, 0), + (130, 1100020, 0, 0, 0), + (130, 1200037, 0, 0, 0), + (131, 1001, 0, 1, 1), + (131, 2001, 0, 1, 1), + (131, 4001, 0, 0, 0), + (131, 5001, 0, 0, 0), + (131, 6001, 0, 0, 0), + (131, 10002, 10, 0, 0), + (131, 10010, 11, 0, 0), + (131, 11004, 10, 0, 0), + (131, 11004, 11, 0, 0), + (131, 12006, 10, 0, 0), + (131, 12027, 11, 0, 0), + (131, 13012, 10, 0, 0), + (131, 15001, 0, 0, 0), + (131, 20131, 0, 0, 0), + (131, 22002, 0, 0, 0), + (131, 31153, 0, 0, 0), + (131, 36001, 0, 0, 0), + (131, 37001, 0, 0, 0), + (131, 40034, 0, 0, 0), + (131, 100132, 10, 0, 0), + (131, 100132, 11, 0, 0), + (131, 110027, 10, 1, 1), + (131, 110027, 11, 1, 1), + (131, 130048, 0, 0, 0), + (131, 140008, 0, 0, 0), + (131, 160048, 0, 0, 0), + (131, 180022, 0, 0, 0), + (131, 190068, 0, 0, 0), + (131, 200022, 0, 0, 0), + (131, 230001, 0, 0, 0), + (131, 240001, 0, 0, 0), + (131, 250003, 0, 0, 0), + (131, 280022, 0, 0, 0), + (131, 290003, 0, 0, 0), + (131, 300001, 0, 0, 0), + (131, 320026, 0, 0, 0), + (131, 330020, 0, 0, 0), + (131, 340002, 0, 0, 0), + (131, 1000007, 0, 0, 0), + (131, 1100019, 0, 0, 0), + (131, 1200021, 0, 0, 0), + (132, 1001, 0, 1, 1), + (132, 2001, 0, 1, 1), + (132, 4001, 0, 0, 0), + (132, 5001, 0, 0, 0), + (132, 6001, 0, 0, 0), + (132, 10002, 10, 0, 0), + (132, 10010, 11, 0, 0), + (132, 11004, 10, 0, 0), + (132, 11004, 11, 0, 0), + (132, 12006, 10, 0, 0), + (132, 12022, 11, 0, 0), + (132, 13012, 10, 0, 0), + (132, 15001, 0, 0, 0), + (132, 20132, 0, 0, 0), + (132, 22008, 0, 0, 0), + (132, 31153, 0, 0, 0), + (132, 36001, 0, 0, 0), + (132, 37001, 0, 0, 0), + (132, 40032, 0, 0, 0), + (132, 100132, 10, 0, 0), + (132, 100132, 11, 0, 0), + (132, 110033, 10, 1, 1), + (132, 110033, 11, 1, 1), + (132, 130044, 0, 0, 0), + (132, 140004, 0, 0, 0), + (132, 160054, 0, 0, 0), + (132, 180016, 0, 0, 0), + (132, 190018, 0, 0, 0), + (132, 200006, 0, 0, 0), + (132, 230001, 0, 0, 0), + (132, 240001, 0, 0, 0), + (132, 250027, 0, 0, 0), + (132, 280003, 0, 0, 0), + (132, 290003, 0, 0, 0), + (132, 300001, 0, 0, 0), + (132, 320003, 0, 0, 0), + (132, 330052, 0, 0, 0), + (132, 340002, 0, 0, 0), + (132, 1000119, 0, 0, 0), + (132, 1100002, 0, 0, 0), + (132, 1200002, 0, 0, 0), + (133, 1001, 0, 1, 1), + (133, 2001, 0, 1, 1), + (133, 4001, 0, 0, 0), + (133, 5001, 0, 0, 0), + (133, 6001, 0, 0, 0), + (133, 10002, 10, 0, 0), + (133, 10010, 11, 0, 0), + (133, 11004, 10, 0, 0), + (133, 11004, 11, 0, 0), + (133, 12006, 10, 0, 0), + (133, 12022, 11, 0, 0), + (133, 13012, 10, 0, 0), + (133, 15001, 0, 0, 0), + (133, 20133, 0, 0, 0), + (133, 22008, 0, 0, 0), + (133, 31153, 0, 0, 0), + (133, 36001, 0, 0, 0), + (133, 37001, 0, 0, 0), + (133, 40033, 0, 0, 0), + (133, 100132, 10, 0, 0), + (133, 100132, 11, 0, 0), + (133, 110104, 10, 1, 1), + (133, 110109, 11, 1, 1), + (133, 130048, 0, 0, 0), + (133, 140004, 0, 0, 0), + (133, 160073, 0, 0, 0), + (133, 180015, 0, 0, 0), + (133, 190017, 0, 0, 0), + (133, 200029, 0, 0, 0), + (133, 230001, 0, 0, 0), + (133, 240005, 0, 0, 0), + (133, 250002, 0, 0, 0), + (133, 280036, 0, 0, 0), + (133, 290004, 0, 0, 0), + (133, 300001, 0, 0, 0), + (133, 320004, 0, 0, 0), + (133, 330066, 0, 0, 0), + (133, 340002, 0, 0, 0), + (133, 1000120, 0, 0, 0), + (133, 1100044, 0, 0, 0), + (133, 1200015, 0, 0, 0), + (134, 1001, 0, 1, 1), + (134, 2001, 0, 1, 1), + (134, 4001, 0, 0, 0), + (134, 5001, 0, 0, 0), + (134, 6001, 0, 0, 0), + (134, 10011, 10, 0, 0), + (134, 10011, 11, 0, 0), + (134, 11004, 10, 0, 0), + (134, 11004, 11, 0, 0), + (134, 12006, 10, 0, 0), + (134, 12022, 11, 0, 0), + (134, 13012, 10, 0, 0), + (134, 15001, 0, 0, 0), + (134, 20134, 0, 0, 0), + (134, 22001, 0, 0, 0), + (134, 31153, 0, 0, 0), + (134, 36001, 0, 0, 0), + (134, 37001, 0, 0, 0), + (134, 40054, 0, 0, 0), + (134, 100128, 10, 0, 0), + (134, 100128, 11, 0, 0), + (134, 110084, 10, 1, 1), + (134, 110100, 11, 1, 1), + (134, 130044, 0, 0, 0), + (134, 140014, 0, 0, 0), + (134, 160057, 0, 0, 0), + (134, 180016, 0, 0, 0), + (134, 190018, 0, 0, 0), + (134, 200006, 0, 0, 0), + (134, 230003, 0, 0, 0), + (134, 240005, 0, 0, 0), + (134, 250002, 0, 0, 0), + (134, 280003, 0, 0, 0), + (134, 290004, 0, 0, 0), + (134, 300001, 0, 0, 0), + (134, 320052, 0, 0, 0), + (134, 330021, 0, 0, 0), + (134, 340002, 0, 0, 0), + (134, 1000012, 0, 0, 0), + (134, 1100048, 0, 0, 0), + (134, 1200002, 0, 0, 0), + (135, 1001, 0, 1, 1), + (135, 2001, 0, 1, 1), + (135, 4001, 0, 0, 0), + (135, 5001, 0, 0, 0), + (135, 6001, 0, 0, 0), + (135, 10009, 11, 0, 0), + (135, 10014, 10, 0, 0), + (135, 11004, 10, 0, 0), + (135, 11004, 11, 0, 0), + (135, 12006, 10, 0, 0), + (135, 12028, 11, 0, 0), + (135, 13011, 10, 0, 0), + (135, 15001, 0, 0, 0), + (135, 20135, 0, 0, 0), + (135, 22008, 0, 0, 0), + (135, 31153, 0, 0, 0), + (135, 36001, 0, 0, 0), + (135, 37001, 0, 0, 0), + (135, 40036, 0, 0, 0), + (135, 100128, 10, 0, 0), + (135, 100128, 11, 0, 0), + (135, 110030, 10, 1, 1), + (135, 110030, 11, 1, 1), + (135, 130044, 0, 0, 0), + (135, 140009, 0, 0, 0), + (135, 160054, 0, 0, 0), + (135, 180016, 0, 0, 0), + (135, 190018, 0, 0, 0), + (135, 200006, 0, 0, 0), + (135, 230001, 0, 0, 0), + (135, 240001, 0, 0, 0), + (135, 250027, 0, 0, 0), + (135, 280003, 0, 0, 0), + (135, 290003, 0, 0, 0), + (135, 300001, 0, 0, 0), + (135, 320003, 0, 0, 0), + (135, 330052, 0, 0, 0), + (135, 340002, 0, 0, 0), + (135, 1000119, 0, 0, 0), + (135, 1100002, 0, 0, 0), + (135, 1200002, 0, 0, 0), + (153, 1001, 0, 0, 0), + (153, 2001, 0, 1, 1), + (153, 4001, 0, 0, 0), + (153, 5001, 0, 0, 0), + (153, 6001, 0, 0, 0), + (153, 10010, 10, 0, 0), + (153, 10010, 11, 0, 0), + (153, 11004, 10, 0, 0), + (153, 11004, 11, 0, 0), + (153, 12006, 10, 0, 0), + (153, 12009, 11, 0, 0), + (153, 15001, 0, 0, 0), + (153, 20138, 0, 0, 0), + (153, 23003, 0, 0, 0), + (153, 34001, 10, 0, 0), + (153, 34001, 11, 0, 0), + (153, 35001, 0, 0, 0), + (153, 36001, 0, 0, 0), + (153, 37001, 0, 0, 0), + (153, 100002, 10, 0, 0), + (153, 100002, 11, 0, 0), + (153, 110001, 10, 1, 1), + (153, 110001, 11, 1, 1), + (153, 130026, 0, 0, 0), + (153, 140016, 0, 0, 0), + (153, 160021, 0, 0, 0), + (153, 180019, 0, 0, 0), + (153, 190021, 0, 0, 0), + (153, 200019, 0, 0, 0), + (153, 230001, 0, 0, 0), + (153, 240003, 0, 0, 0), + (153, 250001, 0, 0, 0), + (153, 280019, 0, 0, 0), + (153, 290003, 0, 0, 0), + (153, 300001, 0, 0, 0), + (153, 320023, 0, 0, 0), + (153, 330006, 0, 0, 0), + (153, 340001, 0, 0, 0), + (153, 1000020, 0, 0, 0), + (153, 1100016, 0, 0, 0), + (153, 1200018, 0, 0, 0), + (159, 1001, 0, 1, 1), + (159, 2001, 0, 1, 1), + (159, 4001, 0, 0, 0), + (159, 5001, 0, 0, 0), + (159, 6001, 0, 0, 0), + (159, 10001, 10, 0, 0), + (159, 10004, 11, 0, 0), + (159, 11004, 10, 0, 0), + (159, 11004, 11, 0, 0), + (159, 12009, 10, 0, 0), + (159, 12029, 11, 0, 0), + (159, 15001, 0, 0, 0), + (159, 20104, 0, 0, 0), + (159, 22014, 0, 0, 0), + (159, 31153, 0, 0, 0), + (159, 36001, 0, 0, 0), + (159, 37001, 0, 0, 0), + (159, 40006, 0, 0, 0), + (159, 100002, 10, 0, 0), + (159, 100002, 11, 0, 0), + (159, 110032, 10, 1, 1), + (159, 110032, 11, 1, 1), + (159, 130042, 0, 0, 0), + (159, 140016, 0, 0, 0), + (159, 160026, 0, 0, 0), + (159, 180018, 0, 0, 0), + (159, 190077, 0, 0, 0), + (159, 200042, 0, 0, 0), + (159, 230001, 0, 0, 0), + (159, 240001, 0, 0, 0), + (159, 250030, 0, 0, 0), + (159, 280030, 0, 0, 0), + (159, 290002, 0, 0, 0), + (159, 300001, 0, 0, 0), + (159, 320040, 0, 0, 0), + (159, 330035, 0, 0, 0), + (159, 340002, 0, 0, 0), + (159, 1000001, 0, 0, 0), + (159, 1100119, 0, 0, 0), + (159, 1200048, 0, 0, 0), + (171, 1001, 0, 1, 1), + (171, 2001, 0, 1, 1), + (171, 4001, 0, 0, 0), + (171, 5001, 0, 0, 0), + (171, 6001, 0, 0, 0), + (171, 10003, 10, 0, 0), + (171, 10010, 11, 0, 0), + (171, 11004, 10, 0, 0), + (171, 11004, 11, 0, 0), + (171, 12009, 10, 0, 0), + (171, 12029, 11, 0, 0), + (171, 15001, 0, 0, 0), + (171, 20111, 0, 0, 0), + (171, 22014, 0, 0, 0), + (171, 31153, 0, 0, 0), + (171, 36001, 0, 0, 0), + (171, 37001, 0, 0, 0), + (171, 40062, 0, 0, 0), + (171, 100002, 10, 0, 0), + (171, 100002, 11, 0, 0), + (171, 110044, 10, 0, 0), + (171, 110044, 11, 0, 0), + (171, 130039, 0, 0, 0), + (171, 140019, 0, 0, 0), + (171, 160034, 0, 0, 0), + (171, 180059, 0, 0, 0), + (171, 190029, 0, 0, 0), + (171, 200012, 0, 0, 0), + (171, 230005, 0, 0, 0), + (171, 240002, 0, 0, 0), + (171, 250005, 0, 0, 0), + (171, 280004, 0, 0, 0), + (171, 290007, 0, 0, 0), + (171, 300011, 0, 0, 0), + (171, 320007, 0, 0, 0), + (171, 330033, 0, 0, 0), + (171, 340003, 0, 0, 0), + (171, 1000006, 0, 0, 0), + (171, 1100043, 0, 0, 0), + (171, 1200005, 0, 0, 0), + (173, 1001, 0, 1, 1), + (173, 2001, 0, 1, 1), + (173, 4001, 0, 0, 0), + (173, 5001, 0, 0, 0), + (173, 6001, 0, 0, 0), + (173, 10001, 10, 0, 0), + (173, 10004, 11, 0, 0), + (173, 11004, 10, 0, 0), + (173, 11004, 11, 0, 0), + (173, 12007, 10, 0, 0), + (173, 12009, 11, 0, 0), + (173, 15001, 0, 0, 0), + (173, 20146, 0, 0, 0), + (173, 36001, 0, 0, 0), + (173, 37001, 0, 0, 0), + (173, 40031, 0, 0, 0), + (173, 100002, 10, 0, 0), + (173, 100002, 11, 0, 0), + (173, 110040, 10, 1, 1), + (173, 110040, 11, 1, 1), + (173, 130048, 0, 0, 0), + (173, 140006, 0, 0, 0), + (173, 160012, 0, 0, 0), + (173, 180003, 0, 0, 0), + (173, 190016, 0, 0, 0), + (173, 200002, 0, 0, 0), + (173, 230001, 0, 0, 0), + (173, 240006, 0, 0, 0), + (173, 250002, 0, 0, 0), + (173, 280016, 0, 0, 0), + (173, 290003, 0, 0, 0), + (173, 300001, 0, 0, 0), + (173, 320020, 0, 0, 0), + (173, 330056, 0, 0, 0), + (173, 340002, 0, 0, 0), + (173, 1000074, 0, 0, 0), + (173, 1100001, 0, 0, 0), + (173, 1200034, 0, 0, 0), + (174, 1001, 0, 1, 1), + (174, 2001, 0, 1, 1), + (174, 4001, 0, 0, 0), + (174, 5001, 0, 0, 0), + (174, 6001, 0, 0, 0), + (174, 10010, 11, 0, 0), + (174, 10012, 10, 0, 0), + (174, 11004, 10, 0, 0), + (174, 11004, 11, 0, 0), + (174, 12007, 10, 0, 0), + (174, 12009, 11, 0, 0), + (174, 15001, 0, 0, 0), + (174, 20147, 0, 0, 0), + (174, 36001, 0, 0, 0), + (174, 37001, 0, 0, 0), + (174, 40001, 0, 0, 0), + (174, 100136, 10, 0, 0), + (174, 100136, 11, 0, 0), + (174, 110141, 10, 1, 1), + (174, 110141, 11, 1, 1), + (174, 130022, 0, 0, 0), + (174, 140015, 0, 0, 0), + (174, 160012, 0, 0, 0), + (174, 180001, 0, 0, 0), + (174, 190016, 0, 0, 0), + (174, 200002, 0, 0, 0), + (174, 230001, 0, 0, 0), + (174, 240006, 0, 0, 0), + (174, 250002, 0, 0, 0), + (174, 280016, 0, 0, 0), + (174, 290003, 0, 0, 0), + (174, 300001, 0, 0, 0), + (174, 320020, 0, 0, 0), + (174, 330056, 0, 0, 0), + (174, 340002, 0, 0, 0), + (174, 1000074, 0, 0, 0), + (174, 1100001, 0, 0, 0), + (174, 1200034, 0, 0, 0), + (175, 1001, 0, 1, 1), + (175, 2001, 0, 1, 1), + (175, 4001, 0, 0, 0), + (175, 5001, 0, 0, 0), + (175, 6001, 0, 0, 0), + (175, 10010, 11, 0, 0), + (175, 10012, 10, 0, 0), + (175, 11004, 10, 0, 0), + (175, 11004, 11, 0, 0), + (175, 12007, 10, 0, 0), + (175, 12009, 11, 0, 0), + (175, 15001, 0, 0, 0), + (175, 20148, 0, 0, 0), + (175, 36001, 0, 0, 0), + (175, 37001, 0, 0, 0), + (175, 40001, 0, 0, 0), + (175, 100136, 10, 0, 0), + (175, 100136, 11, 0, 0), + (175, 110141, 10, 1, 1), + (175, 110141, 11, 1, 1), + (175, 130022, 0, 0, 0), + (175, 140015, 0, 0, 0), + (175, 160017, 0, 0, 0), + (175, 180002, 0, 0, 0), + (175, 190015, 0, 0, 0), + (175, 200003, 0, 0, 0), + (175, 230003, 0, 0, 0), + (175, 240005, 0, 0, 0), + (175, 250002, 0, 0, 0), + (175, 280002, 0, 0, 0), + (175, 290004, 0, 0, 0), + (175, 300001, 0, 0, 0), + (175, 320002, 0, 0, 0), + (175, 330056, 0, 0, 0), + (175, 340002, 0, 0, 0), + (175, 1000147, 0, 0, 0), + (175, 1100014, 0, 0, 0), + (175, 1200001, 0, 0, 0), + (176, 1001, 0, 1, 1), + (176, 2001, 0, 1, 1), + (176, 4001, 0, 0, 0), + (176, 5001, 0, 0, 0), + (176, 6001, 0, 0, 0), + (176, 10001, 10, 0, 0), + (176, 10004, 11, 0, 0), + (176, 11004, 10, 0, 0), + (176, 11004, 11, 0, 0), + (176, 12007, 10, 0, 0), + (176, 12009, 11, 0, 0), + (176, 15001, 0, 0, 0), + (176, 20149, 0, 0, 0), + (176, 36001, 0, 0, 0), + (176, 37001, 0, 0, 0), + (176, 40031, 0, 0, 0), + (176, 100002, 10, 0, 0), + (176, 100002, 11, 0, 0), + (176, 110040, 10, 1, 1), + (176, 110040, 11, 1, 1), + (176, 130048, 0, 0, 0), + (176, 140006, 0, 0, 0), + (176, 160012, 0, 0, 0), + (176, 180003, 0, 0, 0), + (176, 190016, 0, 0, 0), + (176, 200002, 0, 0, 0), + (176, 230001, 0, 0, 0), + (176, 240006, 0, 0, 0), + (176, 250002, 0, 0, 0), + (176, 280016, 0, 0, 0), + (176, 290003, 0, 0, 0), + (176, 300001, 0, 0, 0), + (176, 320020, 0, 0, 0), + (176, 330056, 0, 0, 0), + (176, 340002, 0, 0, 0), + (176, 1000074, 0, 0, 0), + (176, 1100001, 0, 0, 0), + (176, 1200034, 0, 0, 0), + (177, 1001, 0, 1, 1), + (177, 2001, 0, 1, 1), + (177, 4001, 0, 0, 0), + (177, 5001, 0, 0, 0), + (177, 6001, 0, 0, 0), + (177, 10001, 10, 0, 0), + (177, 10004, 11, 0, 0), + (177, 11004, 10, 0, 0), + (177, 11004, 11, 0, 0), + (177, 12007, 10, 0, 0), + (177, 12009, 11, 0, 0), + (177, 15001, 0, 0, 0), + (177, 20150, 0, 0, 0), + (177, 36001, 0, 0, 0), + (177, 37001, 0, 0, 0), + (177, 40031, 0, 0, 0), + (177, 100002, 10, 0, 0), + (177, 100002, 11, 0, 0), + (177, 110040, 10, 1, 1), + (177, 110040, 11, 1, 1), + (177, 130048, 0, 0, 0), + (177, 140006, 0, 0, 0), + (177, 160025, 0, 0, 0), + (177, 180052, 0, 0, 0), + (177, 190020, 0, 0, 0), + (177, 200004, 0, 0, 0), + (177, 230001, 0, 0, 0), + (177, 240005, 0, 0, 0), + (177, 250001, 0, 0, 0), + (177, 280018, 0, 0, 0), + (177, 290003, 0, 0, 0), + (177, 300001, 0, 0, 0), + (177, 320022, 0, 0, 0), + (177, 330035, 0, 0, 0), + (177, 340001, 0, 0, 0), + (177, 1000136, 0, 0, 0), + (177, 1100101, 0, 0, 0), + (177, 1200038, 0, 0, 0), + (178, 1001, 0, 1, 1), + (178, 2001, 0, 1, 1), + (178, 4001, 0, 0, 0), + (178, 5001, 0, 0, 0), + (178, 6001, 0, 0, 0), + (178, 10002, 10, 0, 0), + (178, 10010, 11, 0, 0), + (178, 11004, 10, 0, 0), + (178, 11004, 11, 0, 0), + (178, 12007, 10, 0, 0), + (178, 12009, 11, 0, 0), + (178, 15001, 0, 0, 0), + (178, 20151, 0, 0, 0), + (178, 36001, 0, 0, 0), + (178, 37001, 0, 0, 0), + (178, 40031, 0, 0, 0), + (178, 100002, 10, 0, 0), + (178, 100002, 11, 0, 0), + (178, 110040, 10, 1, 1), + (178, 110040, 11, 1, 1), + (178, 130048, 0, 0, 0), + (178, 140006, 0, 0, 0), + (178, 160028, 0, 0, 0), + (178, 180018, 0, 0, 0), + (178, 190077, 0, 0, 0), + (178, 200042, 0, 0, 0), + (178, 230001, 0, 0, 0), + (178, 240001, 0, 0, 0), + (178, 250001, 0, 0, 0), + (178, 280030, 0, 0, 0), + (178, 290003, 0, 0, 0), + (178, 300001, 0, 0, 0), + (178, 320040, 0, 0, 0), + (178, 330035, 0, 0, 0), + (178, 340002, 0, 0, 0), + (178, 1000099, 0, 0, 0), + (178, 1100119, 0, 0, 0), + (178, 1200048, 0, 0, 0), + (179, 1001, 0, 1, 1), + (179, 2001, 0, 1, 1), + (179, 4001, 0, 0, 0), + (179, 5001, 0, 0, 0), + (179, 6001, 0, 0, 0), + (179, 10001, 10, 0, 0), + (179, 10004, 11, 0, 0), + (179, 11004, 10, 0, 0), + (179, 11004, 11, 0, 0), + (179, 12007, 10, 0, 0), + (179, 12009, 11, 0, 0), + (179, 15001, 0, 0, 0), + (179, 20152, 0, 0, 0), + (179, 36001, 0, 0, 0), + (179, 37001, 0, 0, 0), + (179, 40031, 0, 0, 0), + (179, 100002, 10, 0, 0), + (179, 100002, 11, 0, 0), + (179, 110040, 10, 1, 1), + (179, 110040, 11, 1, 1), + (179, 130048, 0, 0, 0), + (179, 140006, 0, 0, 0), + (179, 160012, 0, 0, 0), + (179, 180003, 0, 0, 0), + (179, 190016, 0, 0, 0), + (179, 200002, 0, 0, 0), + (179, 230001, 0, 0, 0), + (179, 240006, 0, 0, 0), + (179, 250002, 0, 0, 0), + (179, 280016, 0, 0, 0), + (179, 290003, 0, 0, 0), + (179, 300001, 0, 0, 0), + (179, 320020, 0, 0, 0), + (179, 330056, 0, 0, 0), + (179, 340002, 0, 0, 0), + (179, 1000074, 0, 0, 0), + (179, 1100001, 0, 0, 0), + (179, 1200034, 0, 0, 0), + (180, 1001, 0, 1, 1), + (180, 2001, 0, 1, 1), + (180, 4001, 0, 0, 0), + (180, 5001, 0, 0, 0), + (180, 6001, 0, 0, 0), + (180, 10001, 10, 0, 0), + (180, 10004, 11, 0, 0), + (180, 11004, 10, 0, 0), + (180, 11004, 11, 0, 0), + (180, 12007, 10, 0, 0), + (180, 12009, 11, 0, 0), + (180, 15001, 0, 0, 0), + (180, 20153, 0, 0, 0), + (180, 36001, 0, 0, 0), + (180, 37001, 0, 0, 0), + (180, 40031, 0, 0, 0), + (180, 100002, 10, 0, 0), + (180, 100002, 11, 0, 0), + (180, 110040, 10, 1, 1), + (180, 110040, 11, 1, 1), + (180, 130048, 0, 0, 0), + (180, 140006, 0, 0, 0), + (180, 160042, 0, 0, 0), + (180, 180028, 0, 0, 0), + (180, 190025, 0, 0, 0), + (180, 200027, 0, 0, 0), + (180, 230003, 0, 0, 0), + (180, 240005, 0, 0, 0), + (180, 250002, 0, 0, 0), + (180, 280029, 0, 0, 0), + (180, 290003, 0, 0, 0), + (180, 300001, 0, 0, 0), + (180, 320027, 0, 0, 0), + (180, 330018, 0, 0, 0), + (180, 340002, 0, 0, 0), + (180, 1000092, 0, 0, 0), + (180, 1100037, 0, 0, 0), + (180, 1200035, 0, 0, 0), + (184, 1001, 0, 1, 1), + (184, 2001, 0, 1, 1), + (184, 4001, 0, 0, 0), + (184, 5001, 0, 0, 0), + (184, 6001, 0, 0, 0), + (184, 10011, 10, 0, 0), + (184, 10011, 11, 0, 0), + (184, 11004, 10, 0, 0), + (184, 11004, 11, 0, 0), + (184, 12006, 10, 0, 0), + (184, 12022, 11, 0, 0), + (184, 15001, 0, 0, 0), + (184, 20157, 0, 0, 0), + (184, 22008, 0, 0, 0), + (184, 31153, 0, 0, 0), + (184, 36001, 0, 0, 0), + (184, 37001, 0, 0, 0), + (184, 40033, 0, 0, 0), + (184, 100132, 10, 0, 0), + (184, 100132, 11, 0, 0), + (184, 110045, 10, 1, 1), + (184, 110045, 11, 1, 1), + (184, 130001, 0, 0, 0), + (184, 140020, 0, 0, 0), + (184, 160055, 0, 0, 0), + (184, 180036, 0, 0, 0), + (184, 190017, 0, 0, 0), + (184, 200029, 0, 0, 0), + (184, 230001, 0, 0, 0), + (184, 240005, 0, 0, 0), + (184, 250002, 0, 0, 0), + (184, 280034, 0, 0, 0), + (184, 290004, 0, 0, 0), + (184, 300001, 0, 0, 0), + (184, 320089, 0, 0, 0), + (184, 330034, 0, 0, 0), + (184, 340002, 0, 0, 0), + (184, 1000113, 0, 0, 0), + (184, 1100044, 0, 0, 0), + (184, 1200015, 0, 0, 0), + (190, 1001, 0, 1, 1), + (190, 2001, 0, 1, 1), + (190, 4001, 0, 0, 0), + (190, 5001, 0, 0, 0), + (190, 6001, 0, 0, 0), + (190, 10007, 10, 0, 0), + (190, 10007, 11, 0, 0), + (190, 11004, 10, 0, 0), + (190, 11004, 11, 0, 0), + (190, 12006, 10, 0, 0), + (190, 12022, 11, 0, 0), + (190, 15001, 0, 0, 0), + (190, 20131, 0, 0, 0), + (190, 22008, 0, 0, 0), + (190, 31153, 0, 0, 0), + (190, 36001, 0, 0, 0), + (190, 37001, 0, 0, 0), + (190, 40034, 0, 0, 0), + (190, 100132, 10, 0, 0), + (190, 100132, 11, 0, 0), + (190, 110104, 10, 1, 1), + (190, 110109, 11, 1, 1), + (190, 130048, 0, 0, 0), + (190, 140007, 0, 0, 0), + (190, 160050, 0, 0, 0), + (190, 180053, 0, 0, 0), + (190, 190024, 0, 0, 0), + (190, 200007, 0, 0, 0), + (190, 230003, 0, 0, 0), + (190, 240005, 0, 0, 0), + (190, 250003, 0, 0, 0), + (190, 280010, 0, 0, 0), + (190, 290003, 0, 0, 0), + (190, 300001, 0, 0, 0), + (190, 320053, 0, 0, 0), + (190, 330043, 0, 0, 0), + (190, 340002, 0, 0, 0), + (190, 1000007, 0, 0, 0), + (190, 1100019, 0, 0, 0), + (190, 1200021, 0, 0, 0), + (208, 1001, 0, 1, 1), + (208, 2001, 0, 1, 1), + (208, 4001, 0, 0, 0), + (208, 5001, 0, 0, 0), + (208, 6001, 0, 0, 0), + (208, 10009, 11, 0, 0), + (208, 10010, 10, 0, 0), + (208, 11004, 10, 0, 0), + (208, 11004, 11, 0, 0), + (208, 12009, 11, 0, 0), + (208, 12010, 10, 0, 0), + (208, 15001, 0, 0, 0), + (208, 20127, 0, 0, 0), + (208, 22009, 0, 0, 0), + (208, 31153, 0, 0, 0), + (208, 36001, 0, 0, 0), + (208, 37001, 0, 0, 0), + (208, 40015, 0, 0, 0), + (208, 100002, 10, 0, 0), + (208, 100002, 11, 0, 0), + (208, 110044, 10, 1, 1), + (208, 110044, 11, 1, 1), + (208, 130049, 0, 0, 0), + (208, 140018, 0, 0, 0), + (208, 160001, 0, 0, 0), + (208, 180049, 0, 0, 0), + (208, 190013, 0, 0, 0), + (208, 200057, 0, 0, 0), + (208, 230001, 0, 0, 0), + (208, 240001, 0, 0, 0), + (208, 250022, 0, 0, 0), + (208, 280045, 0, 0, 0), + (208, 290003, 0, 0, 0), + (208, 300001, 0, 0, 0), + (208, 320033, 0, 0, 0), + (208, 330053, 0, 0, 0), + (208, 340002, 0, 0, 0), + (208, 1000162, 0, 0, 0), + (208, 1100113, 0, 0, 0), + (208, 1200013, 0, 0, 0), + (236, 1001, 0, 1, 1), + (236, 2001, 0, 1, 1), + (236, 4001, 0, 0, 0), + (236, 5001, 0, 0, 0), + (236, 6001, 0, 0, 0), + (236, 10010, 10, 0, 0), + (236, 10010, 11, 0, 0), + (236, 11004, 10, 0, 0), + (236, 11004, 11, 0, 0), + (236, 12007, 10, 0, 0), + (236, 12029, 11, 0, 0), + (236, 15001, 0, 0, 0), + (236, 20113, 0, 0, 0), + (236, 22010, 0, 0, 0), + (236, 31153, 0, 0, 0), + (236, 36001, 0, 0, 0), + (236, 37001, 0, 0, 0), + (236, 40016, 0, 0, 0), + (236, 100002, 10, 0, 0), + (236, 100002, 11, 0, 0), + (236, 110032, 10, 1, 1), + (236, 110032, 11, 1, 1), + (236, 130049, 0, 0, 0), + (236, 140009, 0, 0, 0), + (236, 160006, 0, 0, 0), + (236, 180014, 0, 0, 0), + (236, 190016, 0, 0, 0), + (236, 200002, 0, 0, 0), + (236, 230001, 0, 0, 0), + (236, 240001, 0, 0, 0), + (236, 250026, 0, 0, 0), + (236, 280024, 0, 0, 0), + (236, 290003, 0, 0, 0), + (236, 300001, 0, 0, 0), + (236, 320020, 0, 0, 0), + (236, 330052, 0, 0, 0), + (236, 340002, 0, 0, 0), + (236, 1000123, 0, 0, 0), + (236, 1100001, 0, 0, 0), + (236, 1200034, 0, 0, 0), + (320, 1001, 0, 0, 0), + (320, 2001, 0, 0, 0), + (320, 4001, 0, 0, 0), + (320, 5001, 0, 0, 0), + (320, 6001, 0, 0, 0), + (320, 10014, 11, 0, 0), + (320, 10021, 10, 0, 0), + (320, 11009, 10, 0, 0), + (320, 11009, 11, 0, 0), + (320, 12009, 11, 0, 0), + (320, 12010, 10, 0, 0), + (320, 13011, 10, 0, 0), + (320, 13012, 11, 0, 0), + (320, 15001, 0, 0, 0), + (320, 20207, 0, 0, 0), + (320, 22010, 0, 0, 0), + (320, 31152, 0, 0, 0), + (320, 35003, 10, 0, 0), + (320, 35003, 11, 0, 0), + (320, 36001, 0, 0, 0), + (320, 37001, 0, 0, 0), + (320, 40060, 0, 0, 0), + (320, 100002, 10, 0, 0), + (320, 100002, 11, 0, 0), + (320, 110026, 11, 0, 0), + (320, 110044, 10, 0, 0), + (320, 130035, 0, 0, 0), + (320, 140011, 0, 0, 0), + (320, 160032, 0, 0, 0), + (320, 180017, 0, 0, 0), + (320, 190019, 0, 0, 0), + (320, 200001, 0, 0, 0), + (320, 230003, 0, 0, 0), + (320, 240005, 0, 0, 0), + (320, 250008, 0, 0, 0), + (320, 280040, 0, 0, 0), + (320, 290002, 0, 0, 0), + (320, 300010, 0, 0, 0), + (320, 320006, 0, 0, 0), + (320, 330027, 0, 0, 0), + (320, 340002, 0, 0, 0), + (320, 1000005, 0, 0, 0), + (320, 1100040, 0, 0, 0), + (320, 1200029, 0, 0, 0), + (335, 1001, 0, 0, 0), + (335, 2001, 0, 0, 0), + (335, 4001, 0, 0, 0), + (335, 5001, 0, 0, 0), + (335, 6001, 0, 0, 0), + (335, 10002, 10, 0, 0), + (335, 10010, 11, 0, 0), + (335, 11006, 10, 0, 0), + (335, 11006, 11, 0, 0), + (335, 12009, 10, 0, 0), + (335, 12029, 11, 0, 0), + (335, 15001, 0, 0, 0), + (335, 20210, 0, 0, 0), + (335, 22014, 0, 0, 0), + (335, 31153, 0, 0, 0), + (335, 36001, 0, 0, 0), + (335, 37001, 0, 0, 0), + (335, 40013, 0, 0, 0), + (335, 100002, 10, 0, 0), + (335, 100002, 11, 0, 0), + (335, 110031, 10, 0, 0), + (335, 110031, 11, 0, 0), + (335, 130034, 0, 0, 0), + (335, 140011, 0, 0, 0), + (335, 160027, 0, 0, 0), + (335, 180030, 0, 0, 0), + (335, 190020, 0, 0, 0), + (335, 200004, 0, 0, 0), + (335, 230001, 0, 0, 0), + (335, 240001, 0, 0, 0), + (335, 250001, 0, 0, 0), + (335, 280018, 0, 0, 0), + (335, 290001, 0, 0, 0), + (335, 300001, 0, 0, 0), + (335, 320022, 0, 0, 0), + (335, 330003, 0, 0, 0), + (335, 340002, 0, 0, 0), + (335, 1000138, 0, 0, 0), + (335, 1100005, 0, 0, 0), + (335, 1200017, 0, 0, 0), + (336, 1001, 0, 0, 0), + (336, 2001, 0, 0, 0), + (336, 4001, 0, 0, 0), + (336, 5001, 0, 0, 0), + (336, 6001, 0, 0, 0), + (336, 10002, 10, 0, 0), + (336, 10010, 11, 0, 0), + (336, 11006, 10, 0, 0), + (336, 11006, 11, 0, 0), + (336, 12010, 10, 0, 0), + (336, 12022, 11, 0, 0), + (336, 15001, 0, 0, 0), + (336, 20211, 0, 0, 0), + (336, 22014, 0, 0, 0), + (336, 30001, 0, 0, 0), + (336, 31153, 0, 0, 0), + (336, 36001, 0, 0, 0), + (336, 37001, 0, 0, 0), + (336, 40039, 0, 0, 0), + (336, 100002, 10, 0, 0), + (336, 100002, 11, 0, 0), + (336, 110025, 10, 0, 0), + (336, 110025, 11, 0, 0), + (336, 130034, 0, 0, 0), + (336, 140011, 0, 0, 0), + (336, 160033, 0, 0, 0), + (336, 180051, 0, 0, 0), + (336, 190027, 0, 0, 0), + (336, 200028, 0, 0, 0), + (336, 230001, 0, 0, 0), + (336, 240001, 0, 0, 0), + (336, 250001, 0, 0, 0), + (336, 280008, 0, 0, 0), + (336, 290002, 0, 0, 0), + (336, 300002, 0, 0, 0), + (336, 320011, 0, 0, 0), + (336, 330033, 0, 0, 0), + (336, 340003, 0, 0, 0), + (336, 1000005, 0, 0, 0), + (336, 1100040, 0, 0, 0), + (336, 1200029, 0, 0, 0), + (337, 1001, 0, 0, 0), + (337, 2001, 0, 0, 0), + (337, 4001, 0, 0, 0), + (337, 5001, 0, 0, 0), + (337, 6001, 0, 0, 0), + (337, 10002, 10, 0, 0), + (337, 10010, 11, 0, 0), + (337, 11006, 10, 0, 0), + (337, 11006, 11, 0, 0), + (337, 12009, 10, 0, 0), + (337, 12029, 11, 0, 0), + (337, 15001, 0, 0, 0), + (337, 20212, 0, 0, 0), + (337, 22014, 0, 0, 0), + (337, 29001, 0, 0, 0), + (337, 30001, 0, 0, 0), + (337, 31153, 0, 0, 0), + (337, 36001, 0, 0, 0), + (337, 37001, 0, 0, 0), + (337, 40062, 0, 0, 0), + (337, 100002, 10, 0, 0), + (337, 100002, 11, 0, 0), + (337, 110025, 10, 0, 0), + (337, 110025, 11, 0, 0), + (337, 130034, 0, 0, 0), + (337, 140009, 0, 0, 0), + (337, 160019, 0, 0, 0), + (337, 180030, 0, 0, 0), + (337, 190020, 0, 0, 0), + (337, 200004, 0, 0, 0), + (337, 230001, 0, 0, 0), + (337, 240001, 0, 0, 0), + (337, 250001, 0, 0, 0), + (337, 280018, 0, 0, 0), + (337, 290002, 0, 0, 0), + (337, 300002, 0, 0, 0), + (337, 320022, 0, 0, 0), + (337, 330062, 0, 0, 0), + (337, 340002, 0, 0, 0), + (337, 1000137, 0, 0, 0), + (337, 1100101, 0, 0, 0), + (337, 1200017, 0, 0, 0), + (338, 1001, 0, 0, 0), + (338, 2001, 0, 0, 0), + (338, 4001, 0, 0, 0), + (338, 5001, 0, 0, 0), + (338, 6001, 0, 0, 0), + (338, 10002, 10, 0, 0), + (338, 10010, 11, 0, 0), + (338, 11007, 10, 0, 0), + (338, 11007, 11, 0, 0), + (338, 12010, 10, 0, 0), + (338, 12022, 11, 0, 0), + (338, 13008, 10, 0, 0), + (338, 15001, 0, 0, 0), + (338, 20213, 0, 0, 0), + (338, 22001, 0, 0, 0), + (338, 31153, 0, 0, 0), + (338, 36001, 0, 0, 0), + (338, 37001, 0, 0, 0), + (338, 40058, 0, 0, 0), + (338, 100128, 10, 0, 0), + (338, 100128, 11, 0, 0), + (338, 110026, 10, 0, 0), + (338, 110026, 11, 0, 0), + (338, 130044, 0, 0, 0), + (338, 140008, 0, 0, 0), + (338, 160078, 0, 0, 0), + (338, 180037, 0, 0, 0), + (338, 190069, 0, 0, 0), + (338, 200053, 0, 0, 0), + (338, 230004, 0, 0, 0), + (338, 240005, 0, 0, 0), + (338, 250006, 0, 0, 0), + (338, 280042, 0, 0, 0), + (338, 290007, 0, 0, 0), + (338, 300001, 0, 0, 0), + (338, 320065, 0, 0, 0), + (338, 330019, 0, 0, 0), + (338, 340003, 0, 0, 0), + (338, 1000011, 0, 0, 0), + (338, 1100045, 0, 0, 0), + (338, 1200041, 0, 0, 0), + (339, 1001, 0, 0, 0), + (339, 2001, 0, 0, 0), + (339, 4001, 0, 0, 0), + (339, 5001, 0, 0, 0), + (339, 6001, 0, 0, 0), + (339, 10002, 10, 0, 0), + (339, 10010, 11, 0, 0), + (339, 11006, 10, 0, 0), + (339, 11006, 11, 0, 0), + (339, 12010, 10, 0, 0), + (339, 12022, 11, 0, 0), + (339, 15001, 0, 0, 0), + (339, 20214, 0, 0, 0), + (339, 22001, 0, 0, 0), + (339, 31153, 0, 0, 0), + (339, 36001, 0, 0, 0), + (339, 37001, 0, 0, 0), + (339, 40054, 0, 0, 0), + (339, 100128, 10, 0, 0), + (339, 100128, 11, 0, 0), + (339, 110026, 10, 0, 0), + (339, 110026, 11, 0, 0), + (339, 130044, 0, 0, 0), + (339, 140011, 0, 0, 0), + (339, 160055, 0, 0, 0), + (339, 180015, 0, 0, 0), + (339, 190017, 0, 0, 0), + (339, 200029, 0, 0, 0), + (339, 230001, 0, 0, 0), + (339, 240001, 0, 0, 0), + (339, 250003, 0, 0, 0), + (339, 280034, 0, 0, 0), + (339, 290007, 0, 0, 0), + (339, 300001, 0, 0, 0), + (339, 320089, 0, 0, 0), + (339, 330034, 0, 0, 0), + (339, 340002, 0, 0, 0), + (339, 1000038, 0, 0, 0), + (339, 1100044, 0, 0, 0), + (339, 1200015, 0, 0, 0), + (340, 1001, 0, 0, 0), + (340, 2001, 0, 0, 0), + (340, 4001, 0, 0, 0), + (340, 5001, 0, 0, 0), + (340, 6001, 0, 0, 0), + (340, 10002, 10, 0, 0), + (340, 10010, 11, 0, 0), + (340, 11007, 10, 0, 0), + (340, 11007, 11, 0, 0), + (340, 12010, 10, 0, 0), + (340, 12022, 11, 0, 0), + (340, 13006, 11, 0, 0), + (340, 13008, 10, 0, 0), + (340, 15001, 0, 0, 0), + (340, 20215, 0, 0, 0), + (340, 22001, 0, 0, 0), + (340, 31153, 0, 0, 0), + (340, 36001, 0, 0, 0), + (340, 37001, 0, 0, 0), + (340, 40054, 0, 0, 0), + (340, 100128, 10, 0, 0), + (340, 100128, 11, 0, 0), + (340, 110041, 10, 0, 0), + (340, 110041, 11, 0, 0), + (340, 130044, 0, 0, 0), + (340, 140009, 0, 0, 0), + (340, 160057, 0, 0, 0), + (340, 180016, 0, 0, 0), + (340, 190018, 0, 0, 0), + (340, 200006, 0, 0, 0), + (340, 230001, 0, 0, 0), + (340, 240005, 0, 0, 0), + (340, 250003, 0, 0, 0), + (340, 280003, 0, 0, 0), + (340, 290007, 0, 0, 0), + (340, 300001, 0, 0, 0), + (340, 320052, 0, 0, 0), + (340, 330021, 0, 0, 0), + (340, 340002, 0, 0, 0), + (340, 1000012, 0, 0, 0), + (340, 1100048, 0, 0, 0), + (340, 1200002, 0, 0, 0), + (341, 1001, 0, 0, 0), + (341, 2001, 0, 0, 0), + (341, 4001, 0, 0, 0), + (341, 5001, 0, 0, 0), + (341, 6001, 0, 0, 0), + (341, 10002, 10, 0, 0), + (341, 10010, 11, 0, 0), + (341, 11006, 10, 0, 0), + (341, 11006, 11, 0, 0), + (341, 12009, 10, 0, 0), + (341, 12030, 11, 0, 0), + (341, 15001, 0, 0, 0), + (341, 20216, 0, 0, 0), + (341, 22008, 0, 0, 0), + (341, 31153, 0, 0, 0), + (341, 36001, 0, 0, 0), + (341, 37001, 0, 0, 0), + (341, 40036, 0, 0, 0), + (341, 100128, 10, 0, 0), + (341, 100128, 11, 0, 0), + (341, 110025, 10, 0, 0), + (341, 110025, 11, 0, 0), + (341, 130044, 0, 0, 0), + (341, 140007, 0, 0, 0), + (341, 160057, 0, 0, 0), + (341, 180016, 0, 0, 0), + (341, 190018, 0, 0, 0), + (341, 200006, 0, 0, 0), + (341, 230001, 0, 0, 0), + (341, 240026, 0, 0, 0), + (341, 250027, 0, 0, 0), + (341, 280003, 0, 0, 0), + (341, 290015, 0, 0, 0), + (341, 300001, 0, 0, 0), + (341, 320003, 0, 0, 0), + (341, 330034, 0, 0, 0), + (341, 340002, 0, 0, 0), + (341, 1000117, 0, 0, 0), + (341, 1100002, 0, 0, 0), + (341, 1200002, 0, 0, 0), + (342, 1001, 0, 0, 0), + (342, 2001, 0, 0, 0), + (342, 4001, 0, 0, 0), + (342, 5001, 0, 0, 0), + (342, 6001, 0, 0, 0), + (342, 10009, 11, 0, 0), + (342, 10010, 10, 0, 0), + (342, 11006, 10, 0, 0), + (342, 11006, 11, 0, 0), + (342, 12008, 11, 0, 0), + (342, 12009, 10, 0, 0), + (342, 15001, 0, 0, 0), + (342, 20217, 0, 0, 0), + (342, 22009, 0, 0, 0), + (342, 31153, 0, 0, 0), + (342, 36001, 0, 0, 0), + (342, 37001, 0, 0, 0), + (342, 40022, 0, 0, 0), + (342, 100002, 10, 0, 0), + (342, 100002, 11, 0, 0), + (342, 110025, 10, 0, 0), + (342, 110025, 11, 0, 0), + (342, 130033, 0, 0, 0), + (342, 140010, 0, 0, 0), + (342, 160009, 0, 0, 0), + (342, 180014, 0, 0, 0), + (342, 190016, 0, 0, 0), + (342, 200002, 0, 0, 0), + (342, 230001, 0, 0, 0), + (342, 240001, 0, 0, 0), + (342, 250002, 0, 0, 0), + (342, 280024, 0, 0, 0), + (342, 290004, 0, 0, 0), + (342, 300001, 0, 0, 0), + (342, 320020, 0, 0, 0), + (342, 330053, 0, 0, 0), + (342, 340002, 0, 0, 0), + (342, 1000121, 0, 0, 0), + (342, 1100001, 0, 0, 0), + (342, 1200034, 0, 0, 0), + (343, 1001, 0, 0, 0), + (343, 2001, 0, 0, 0), + (343, 4001, 0, 0, 0), + (343, 5001, 0, 0, 0), + (343, 6001, 0, 0, 0), + (343, 10009, 11, 0, 0), + (343, 10010, 10, 0, 0), + (343, 11006, 10, 0, 0), + (343, 11006, 11, 0, 0), + (343, 12009, 10, 0, 0), + (343, 12030, 11, 0, 0), + (343, 15001, 0, 0, 0), + (343, 20218, 0, 0, 0), + (343, 22009, 0, 0, 0), + (343, 31153, 0, 0, 0), + (343, 36001, 0, 0, 0), + (343, 37001, 0, 0, 0), + (343, 40041, 0, 0, 0), + (343, 100002, 10, 0, 0), + (343, 100002, 11, 0, 0), + (343, 110025, 10, 0, 0), + (343, 110025, 11, 0, 0), + (343, 130033, 0, 0, 0), + (343, 140011, 0, 0, 0), + (343, 160014, 0, 0, 0), + (343, 180002, 0, 0, 0), + (343, 190015, 0, 0, 0), + (343, 200003, 0, 0, 0), + (343, 230001, 0, 0, 0), + (343, 240001, 0, 0, 0), + (343, 250002, 0, 0, 0), + (343, 280002, 0, 0, 0), + (343, 290004, 0, 0, 0), + (343, 300001, 0, 0, 0), + (343, 320002, 0, 0, 0), + (343, 330018, 0, 0, 0), + (343, 340002, 0, 0, 0), + (343, 1000075, 0, 0, 0), + (343, 1100014, 0, 0, 0), + (343, 1200001, 0, 0, 0), + (344, 1001, 0, 0, 0), + (344, 2001, 0, 0, 0), + (344, 4001, 0, 0, 0), + (344, 5001, 0, 0, 0), + (344, 6001, 0, 0, 0), + (344, 10002, 10, 0, 0), + (344, 10010, 11, 0, 0), + (344, 11006, 10, 0, 0), + (344, 11006, 11, 0, 0), + (344, 12009, 10, 0, 0), + (344, 12030, 11, 0, 0), + (344, 15001, 0, 0, 0), + (344, 20219, 0, 0, 0), + (344, 22009, 0, 0, 0), + (344, 31153, 0, 0, 0), + (344, 36001, 0, 0, 0), + (344, 37001, 0, 0, 0), + (344, 40025, 0, 0, 0), + (344, 100002, 10, 0, 0), + (344, 100002, 11, 0, 0), + (344, 110026, 10, 0, 0), + (344, 110026, 11, 0, 0), + (344, 130033, 0, 0, 0), + (344, 140009, 0, 0, 0), + (344, 160012, 0, 0, 0), + (344, 180014, 0, 0, 0), + (344, 190016, 0, 0, 0), + (344, 200002, 0, 0, 0), + (344, 230001, 0, 0, 0), + (344, 240001, 0, 0, 0), + (344, 250002, 0, 0, 0), + (344, 280016, 0, 0, 0), + (344, 290004, 0, 0, 0), + (344, 300001, 0, 0, 0), + (344, 320020, 0, 0, 0), + (344, 330018, 0, 0, 0), + (344, 340002, 0, 0, 0), + (344, 1000122, 0, 0, 0), + (344, 1100001, 0, 0, 0), + (344, 1200034, 0, 0, 0), + (345, 1001, 0, 0, 0), + (345, 2001, 0, 0, 0), + (345, 4001, 0, 0, 0), + (345, 5001, 0, 0, 0), + (345, 6001, 0, 0, 0), + (345, 10002, 10, 0, 0), + (345, 10010, 11, 0, 0), + (345, 11007, 10, 0, 0), + (345, 11007, 11, 0, 0), + (345, 12010, 10, 0, 0), + (345, 12022, 11, 0, 0), + (345, 15001, 0, 0, 0), + (345, 20220, 0, 0, 0), + (345, 22009, 0, 0, 0), + (345, 29001, 0, 0, 0), + (345, 31153, 0, 0, 0), + (345, 36001, 0, 0, 0), + (345, 37001, 0, 0, 0), + (345, 40025, 0, 0, 0), + (345, 100002, 10, 0, 0), + (345, 100002, 11, 0, 0), + (345, 110027, 10, 0, 0), + (345, 110027, 11, 0, 0), + (345, 130033, 0, 0, 0), + (345, 140011, 0, 0, 0), + (345, 160007, 0, 0, 0), + (345, 180014, 0, 0, 0), + (345, 190016, 0, 0, 0), + (345, 200047, 0, 0, 0), + (345, 230002, 0, 0, 0), + (345, 240005, 0, 0, 0), + (345, 250002, 0, 0, 0), + (345, 280024, 0, 0, 0), + (345, 290004, 0, 0, 0), + (345, 300003, 0, 0, 0), + (345, 320029, 0, 0, 0), + (345, 330025, 0, 0, 0), + (345, 340003, 0, 0, 0), + (345, 1000125, 0, 0, 0), + (345, 1100022, 0, 0, 0), + (345, 1200023, 0, 0, 0), + (346, 1001, 0, 0, 0), + (346, 2001, 0, 0, 0), + (346, 4001, 0, 0, 0), + (346, 5001, 0, 0, 0), + (346, 6001, 0, 0, 0), + (346, 10002, 10, 0, 0), + (346, 10010, 11, 0, 0), + (346, 11006, 10, 0, 0), + (346, 11006, 11, 0, 0), + (346, 12009, 11, 0, 0), + (346, 12010, 10, 0, 0), + (346, 15001, 0, 0, 0), + (346, 20221, 0, 0, 0), + (346, 22009, 0, 0, 0), + (346, 30001, 0, 0, 0), + (346, 31153, 0, 0, 0), + (346, 36001, 0, 0, 0), + (346, 37001, 0, 0, 0), + (346, 40061, 0, 0, 0), + (346, 100002, 10, 0, 0), + (346, 100002, 11, 0, 0), + (346, 110104, 10, 0, 0), + (346, 110109, 11, 0, 0), + (346, 130033, 0, 0, 0), + (346, 140008, 0, 0, 0), + (346, 160014, 0, 0, 0), + (346, 180002, 0, 0, 0), + (346, 190015, 0, 0, 0), + (346, 200003, 0, 0, 0), + (346, 230001, 0, 0, 0), + (346, 240001, 0, 0, 0), + (346, 250002, 0, 0, 0), + (346, 280002, 0, 0, 0), + (346, 290004, 0, 0, 0), + (346, 300001, 0, 0, 0), + (346, 320002, 0, 0, 0), + (346, 330018, 0, 0, 0), + (346, 340002, 0, 0, 0), + (346, 1000075, 0, 0, 0), + (346, 1100014, 0, 0, 0), + (346, 1200001, 0, 0, 0), + (347, 1001, 0, 0, 0), + (347, 2001, 0, 0, 0), + (347, 4001, 0, 0, 0), + (347, 5001, 0, 0, 0), + (347, 6001, 0, 0, 0), + (347, 10002, 10, 0, 0), + (347, 10010, 11, 0, 0), + (347, 11006, 10, 0, 0), + (347, 11006, 11, 0, 0), + (347, 12009, 11, 0, 0), + (347, 12010, 10, 0, 0), + (347, 15001, 0, 0, 0), + (347, 20222, 0, 0, 0), + (347, 22004, 0, 0, 0), + (347, 31153, 0, 0, 0), + (347, 36001, 0, 0, 0), + (347, 37001, 0, 0, 0), + (347, 40028, 0, 0, 0), + (347, 100002, 10, 0, 0), + (347, 100002, 11, 0, 0), + (347, 110041, 10, 0, 0), + (347, 110041, 11, 0, 0), + (347, 130033, 0, 0, 0), + (347, 140011, 0, 0, 0), + (347, 160014, 0, 0, 0), + (347, 180002, 0, 0, 0), + (347, 190015, 0, 0, 0), + (347, 200003, 0, 0, 0), + (347, 230001, 0, 0, 0), + (347, 240001, 0, 0, 0), + (347, 250002, 0, 0, 0), + (347, 280002, 0, 0, 0), + (347, 290004, 0, 0, 0), + (347, 300001, 0, 0, 0), + (347, 320002, 0, 0, 0), + (347, 330018, 0, 0, 0), + (347, 340002, 0, 0, 0), + (347, 1000075, 0, 0, 0), + (347, 1100014, 0, 0, 0), + (347, 1200001, 0, 0, 0), + (348, 1001, 0, 0, 0), + (348, 2001, 0, 0, 0), + (348, 4001, 0, 0, 0), + (348, 5001, 0, 0, 0), + (348, 6001, 0, 0, 0), + (348, 10001, 10, 0, 0), + (348, 10010, 11, 0, 0), + (348, 11006, 10, 0, 0), + (348, 11006, 11, 0, 0), + (348, 12008, 10, 0, 0), + (348, 12029, 11, 0, 0), + (348, 15001, 0, 0, 0), + (348, 20223, 0, 0, 0), + (348, 22009, 0, 0, 0), + (348, 31153, 0, 0, 0), + (348, 36001, 0, 0, 0), + (348, 37001, 0, 0, 0), + (348, 40029, 0, 0, 0), + (348, 100002, 10, 0, 0), + (348, 100002, 11, 0, 0), + (348, 110025, 10, 0, 0), + (348, 110025, 11, 0, 0), + (348, 130033, 0, 0, 0), + (348, 140007, 0, 0, 0), + (348, 160012, 0, 0, 0), + (348, 180003, 0, 0, 0), + (348, 190016, 0, 0, 0), + (348, 200002, 0, 0, 0), + (348, 230001, 0, 0, 0), + (348, 240005, 0, 0, 0), + (348, 250002, 0, 0, 0), + (348, 280016, 0, 0, 0), + (348, 290004, 0, 0, 0), + (348, 300001, 0, 0, 0), + (348, 320020, 0, 0, 0), + (348, 330056, 0, 0, 0), + (348, 340002, 0, 0, 0), + (348, 1000074, 0, 0, 0), + (348, 1100001, 0, 0, 0), + (348, 1200034, 0, 0, 0), + (349, 1001, 0, 0, 0), + (349, 2001, 0, 0, 0), + (349, 4001, 0, 0, 0), + (349, 5001, 0, 0, 0), + (349, 6001, 0, 0, 0), + (349, 10002, 10, 0, 0), + (349, 10010, 11, 0, 0), + (349, 11006, 10, 0, 0), + (349, 11006, 11, 0, 0), + (349, 12009, 11, 0, 0), + (349, 12010, 10, 0, 0), + (349, 15001, 0, 0, 0), + (349, 20224, 0, 0, 0), + (349, 22009, 0, 0, 0), + (349, 31153, 0, 0, 0), + (349, 36001, 0, 0, 0), + (349, 37001, 0, 0, 0), + (349, 40046, 0, 0, 0), + (349, 100002, 10, 0, 0), + (349, 100002, 11, 0, 0), + (349, 110041, 10, 0, 0), + (349, 110041, 11, 0, 0), + (349, 130033, 0, 0, 0), + (349, 140017, 0, 0, 0), + (349, 160037, 0, 0, 0), + (349, 180020, 0, 0, 0), + (349, 190022, 0, 0, 0), + (349, 200052, 0, 0, 0), + (349, 230001, 0, 0, 0), + (349, 240001, 0, 0, 0), + (349, 250002, 0, 0, 0), + (349, 280027, 0, 0, 0), + (349, 290004, 0, 0, 0), + (349, 300001, 0, 0, 0), + (349, 320037, 0, 0, 0), + (349, 330043, 0, 0, 0), + (349, 340002, 0, 0, 0), + (349, 1000017, 0, 0, 0), + (349, 1100032, 0, 0, 0), + (349, 1200019, 0, 0, 0), + (350, 1001, 0, 0, 0), + (350, 2001, 0, 0, 0), + (350, 4001, 0, 0, 0), + (350, 5001, 0, 0, 0), + (350, 6001, 0, 0, 0), + (350, 10002, 10, 0, 0), + (350, 10010, 11, 0, 0), + (350, 11006, 10, 0, 0), + (350, 11006, 11, 0, 0), + (350, 12009, 11, 0, 0), + (350, 12010, 10, 0, 0), + (350, 15001, 0, 0, 0), + (350, 20225, 0, 0, 0), + (350, 22009, 0, 0, 0), + (350, 30001, 0, 0, 0), + (350, 31153, 0, 0, 0), + (350, 36001, 0, 0, 0), + (350, 37001, 0, 0, 0), + (350, 40038, 0, 0, 0), + (350, 100119, 10, 0, 0), + (350, 100119, 11, 0, 0), + (350, 110041, 10, 0, 0), + (350, 110041, 11, 0, 0), + (350, 130045, 0, 0, 0), + (350, 140011, 0, 0, 0), + (350, 160038, 0, 0, 0), + (350, 180026, 0, 0, 0), + (350, 190022, 0, 0, 0), + (350, 200020, 0, 0, 0), + (350, 230001, 0, 0, 0), + (350, 240001, 0, 0, 0), + (350, 250002, 0, 0, 0), + (350, 280027, 0, 0, 0), + (350, 290004, 0, 0, 0), + (350, 300003, 0, 0, 0), + (350, 320024, 0, 0, 0), + (350, 330043, 0, 0, 0), + (350, 340002, 0, 0, 0), + (350, 1000017, 0, 0, 0), + (350, 1100098, 0, 0, 0), + (350, 1200019, 0, 0, 0), + (351, 1001, 0, 0, 0), + (351, 2001, 0, 0, 0), + (351, 4001, 0, 0, 0), + (351, 5001, 0, 0, 0), + (351, 6001, 0, 0, 0), + (351, 10002, 10, 0, 0), + (351, 10010, 11, 0, 0), + (351, 11006, 10, 0, 0), + (351, 11006, 11, 0, 0), + (351, 12009, 11, 0, 0), + (351, 12010, 10, 0, 0), + (351, 15001, 0, 0, 0), + (351, 20226, 0, 0, 0), + (351, 22009, 0, 0, 0), + (351, 30001, 0, 0, 0), + (351, 31153, 0, 0, 0), + (351, 36001, 0, 0, 0), + (351, 37001, 0, 0, 0), + (351, 40027, 0, 0, 0), + (351, 100002, 10, 0, 0), + (351, 100002, 11, 0, 0), + (351, 110041, 10, 0, 0), + (351, 110041, 11, 0, 0), + (351, 130045, 0, 0, 0), + (351, 140009, 0, 0, 0), + (351, 160040, 0, 0, 0), + (351, 180023, 0, 0, 0), + (351, 190006, 0, 0, 0), + (351, 200023, 0, 0, 0), + (351, 230001, 0, 0, 0), + (351, 240001, 0, 0, 0), + (351, 250002, 0, 0, 0), + (351, 280028, 0, 0, 0), + (351, 290004, 0, 0, 0), + (351, 300002, 0, 0, 0), + (351, 320027, 0, 0, 0), + (351, 330043, 0, 0, 0), + (351, 340002, 0, 0, 0), + (351, 1000051, 0, 0, 0), + (351, 1100034, 0, 0, 0), + (351, 1200035, 0, 0, 0), + (352, 1001, 0, 0, 0), + (352, 2001, 0, 0, 0), + (352, 4001, 0, 0, 0), + (352, 5001, 0, 0, 0), + (352, 6001, 0, 0, 0), + (352, 10002, 10, 0, 0), + (352, 10010, 11, 0, 0), + (352, 11006, 10, 0, 0), + (352, 11006, 11, 0, 0), + (352, 12009, 10, 0, 0), + (352, 12030, 11, 0, 0), + (352, 15001, 0, 0, 0), + (352, 20227, 0, 0, 0), + (352, 22006, 0, 0, 0), + (352, 31153, 0, 0, 0), + (352, 36001, 0, 0, 0), + (352, 37001, 0, 0, 0), + (352, 40047, 0, 0, 0), + (352, 100002, 10, 0, 0), + (352, 100002, 11, 0, 0), + (352, 110027, 10, 0, 0), + (352, 110027, 11, 0, 0), + (352, 130033, 0, 0, 0), + (352, 140009, 0, 0, 0), + (352, 160040, 0, 0, 0), + (352, 180023, 0, 0, 0), + (352, 190006, 0, 0, 0), + (352, 200023, 0, 0, 0), + (352, 230001, 0, 0, 0), + (352, 240005, 0, 0, 0), + (352, 250002, 0, 0, 0), + (352, 280023, 0, 0, 0), + (352, 290004, 0, 0, 0), + (352, 300001, 0, 0, 0), + (352, 320027, 0, 0, 0), + (352, 330043, 0, 0, 0), + (352, 340002, 0, 0, 0), + (352, 1000016, 0, 0, 0), + (352, 1100020, 0, 0, 0), + (352, 1200037, 0, 0, 0), + (353, 1001, 0, 0, 0), + (353, 2001, 0, 0, 0), + (353, 4001, 0, 0, 0), + (353, 5001, 0, 0, 0), + (353, 6001, 0, 0, 0), + (353, 10002, 10, 0, 0), + (353, 10010, 11, 0, 0), + (353, 11006, 10, 0, 0), + (353, 11006, 11, 0, 0), + (353, 12009, 10, 0, 0), + (353, 12030, 11, 0, 0), + (353, 15001, 0, 0, 0), + (353, 20228, 0, 0, 0), + (353, 22006, 0, 0, 0), + (353, 31153, 0, 0, 0), + (353, 36001, 0, 0, 0), + (353, 37001, 0, 0, 0), + (353, 40031, 0, 0, 0), + (353, 100002, 10, 0, 0), + (353, 100002, 11, 0, 0), + (353, 110027, 10, 0, 0), + (353, 110027, 11, 0, 0), + (353, 130033, 0, 0, 0), + (353, 140007, 0, 0, 0), + (353, 160040, 0, 0, 0), + (353, 180023, 0, 0, 0), + (353, 190006, 0, 0, 0), + (353, 200023, 0, 0, 0), + (353, 230001, 0, 0, 0), + (353, 240005, 0, 0, 0), + (353, 250002, 0, 0, 0), + (353, 280023, 0, 0, 0), + (353, 290003, 0, 0, 0), + (353, 300002, 0, 0, 0), + (353, 320027, 0, 0, 0), + (353, 330059, 0, 0, 0), + (353, 340002, 0, 0, 0), + (353, 1000084, 0, 0, 0), + (353, 1100020, 0, 0, 0), + (353, 1200035, 0, 0, 0), + (354, 1001, 0, 0, 0), + (354, 2001, 0, 0, 0), + (354, 4001, 0, 0, 0), + (354, 5001, 0, 0, 0), + (354, 6001, 0, 0, 0), + (354, 10012, 10, 0, 0), + (354, 10012, 11, 0, 0), + (354, 11004, 10, 0, 0), + (354, 11004, 11, 0, 0), + (354, 12009, 10, 0, 0), + (354, 12027, 11, 0, 0), + (354, 15001, 0, 0, 0), + (354, 20124, 0, 0, 0), + (354, 22005, 0, 0, 0), + (354, 31153, 0, 0, 0), + (354, 36001, 0, 0, 0), + (354, 37001, 0, 0, 0), + (354, 40014, 0, 0, 0), + (354, 100002, 10, 0, 0), + (354, 100002, 11, 0, 0), + (354, 110047, 10, 0, 0), + (354, 110047, 11, 0, 0), + (354, 130033, 0, 0, 0), + (354, 140008, 0, 0, 0), + (354, 160010, 0, 0, 0), + (354, 180055, 0, 0, 0), + (354, 190071, 0, 0, 0), + (354, 200056, 0, 0, 0), + (354, 230001, 0, 0, 0), + (354, 240001, 0, 0, 0), + (354, 250021, 0, 0, 0), + (354, 280044, 0, 0, 0), + (354, 290003, 0, 0, 0), + (354, 300001, 0, 0, 0), + (354, 320092, 0, 0, 0), + (354, 330052, 0, 0, 0), + (354, 340002, 0, 0, 0), + (354, 1000154, 0, 0, 0), + (354, 1100112, 0, 0, 0), + (354, 1200042, 0, 0, 0), + (355, 1001, 0, 0, 0), + (355, 2001, 0, 0, 0), + (355, 4001, 0, 0, 0), + (355, 5001, 0, 0, 0), + (355, 6001, 0, 0, 0), + (355, 10001, 10, 0, 0), + (355, 10004, 11, 0, 0), + (355, 11004, 10, 0, 0), + (355, 11004, 11, 0, 0), + (355, 12003, 11, 0, 0), + (355, 12005, 10, 0, 0), + (355, 15001, 0, 0, 0), + (355, 20112, 0, 0, 0), + (355, 22014, 0, 0, 0), + (355, 31153, 0, 0, 0), + (355, 36001, 0, 0, 0), + (355, 37001, 0, 0, 0), + (355, 40004, 0, 0, 0), + (355, 100002, 10, 0, 0), + (355, 100002, 11, 0, 0), + (355, 110038, 10, 0, 0), + (355, 110038, 11, 0, 0), + (355, 130047, 0, 0, 0), + (355, 140024, 0, 0, 0), + (355, 160047, 0, 0, 0), + (355, 180019, 0, 0, 0), + (355, 190021, 0, 0, 0), + (355, 200019, 0, 0, 0), + (355, 230002, 0, 0, 0), + (355, 240001, 0, 0, 0), + (355, 250020, 0, 0, 0), + (355, 280019, 0, 0, 0), + (355, 290001, 0, 0, 0), + (355, 300001, 0, 0, 0), + (355, 320023, 0, 0, 0), + (355, 330006, 0, 0, 0), + (355, 340001, 0, 0, 0), + (355, 1000003, 0, 0, 0), + (355, 1100016, 0, 0, 0), + (355, 1200018, 0, 0, 0), + (356, 1001, 0, 0, 0), + (356, 2001, 0, 0, 0), + (356, 4001, 0, 0, 0), + (356, 5001, 0, 0, 0), + (356, 6001, 0, 0, 0), + (356, 10009, 11, 0, 0), + (356, 10010, 10, 0, 0), + (356, 11004, 10, 0, 0), + (356, 11004, 11, 0, 0), + (356, 12006, 10, 0, 0), + (356, 12028, 11, 0, 0), + (356, 15001, 0, 0, 0), + (356, 20103, 0, 0, 0), + (356, 22014, 0, 0, 0), + (356, 31153, 0, 0, 0), + (356, 36001, 0, 0, 0), + (356, 37001, 0, 0, 0), + (356, 40005, 0, 0, 0), + (356, 100002, 10, 0, 0), + (356, 100002, 11, 0, 0), + (356, 110012, 10, 0, 0), + (356, 110012, 11, 0, 0), + (356, 130012, 0, 0, 0), + (356, 140014, 0, 0, 0), + (356, 160022, 0, 0, 0), + (356, 180019, 0, 0, 0), + (356, 190021, 0, 0, 0), + (356, 200019, 0, 0, 0), + (356, 230001, 0, 0, 0), + (356, 240003, 0, 0, 0), + (356, 250020, 0, 0, 0), + (356, 280019, 0, 0, 0), + (356, 290001, 0, 0, 0), + (356, 300001, 0, 0, 0), + (356, 320023, 0, 0, 0), + (356, 330006, 0, 0, 0), + (356, 340001, 0, 0, 0), + (356, 1000004, 0, 0, 0), + (356, 1100016, 0, 0, 0), + (356, 1200018, 0, 0, 0), + (357, 1001, 0, 0, 0), + (357, 2001, 0, 0, 0), + (357, 4001, 0, 0, 0), + (357, 5001, 0, 0, 0), + (357, 6001, 0, 0, 0), + (357, 10001, 10, 0, 0), + (357, 10004, 11, 0, 0), + (357, 11004, 10, 0, 0), + (357, 11004, 11, 0, 0), + (357, 12009, 10, 0, 0), + (357, 12029, 11, 0, 0), + (357, 15001, 0, 0, 0), + (357, 20104, 0, 0, 0), + (357, 22014, 0, 0, 0), + (357, 31153, 0, 0, 0), + (357, 36001, 0, 0, 0), + (357, 37001, 0, 0, 0), + (357, 40006, 0, 0, 0), + (357, 100002, 10, 0, 0), + (357, 100002, 11, 0, 0), + (357, 110032, 10, 0, 0), + (357, 110032, 11, 0, 0), + (357, 130012, 0, 0, 0), + (357, 140016, 0, 0, 0), + (357, 160026, 0, 0, 0), + (357, 180018, 0, 0, 0), + (357, 190077, 0, 0, 0), + (357, 200066, 0, 0, 0), + (357, 230001, 0, 0, 0), + (357, 240001, 0, 0, 0), + (357, 250030, 0, 0, 0), + (357, 280030, 0, 0, 0), + (357, 290002, 0, 0, 0), + (357, 300001, 0, 0, 0), + (357, 320040, 0, 0, 0), + (357, 330035, 0, 0, 0), + (357, 340002, 0, 0, 0), + (357, 1000094, 0, 0, 0), + (357, 1100119, 0, 0, 0), + (357, 1200048, 0, 0, 0), + (358, 1001, 0, 0, 0), + (358, 2001, 0, 0, 0), + (358, 4001, 0, 0, 0), + (358, 5001, 0, 0, 0), + (358, 6001, 0, 0, 0), + (358, 10011, 10, 0, 0), + (358, 10011, 11, 0, 0), + (358, 11004, 10, 0, 0), + (358, 11004, 11, 0, 0), + (358, 12009, 10, 0, 0), + (358, 12022, 11, 0, 0), + (358, 15001, 0, 0, 0), + (358, 20105, 0, 0, 0), + (358, 22014, 0, 0, 0), + (358, 31153, 0, 0, 0), + (358, 36001, 0, 0, 0), + (358, 37001, 0, 0, 0), + (358, 40007, 0, 0, 0), + (358, 100002, 10, 0, 0), + (358, 100002, 11, 0, 0), + (358, 110032, 10, 0, 0), + (358, 110032, 11, 0, 0), + (358, 130012, 0, 0, 0), + (358, 140011, 0, 0, 0), + (358, 160026, 0, 0, 0), + (358, 180018, 0, 0, 0), + (358, 190077, 0, 0, 0), + (358, 200066, 0, 0, 0), + (358, 230001, 0, 0, 0), + (358, 240001, 0, 0, 0), + (358, 250030, 0, 0, 0), + (358, 280030, 0, 0, 0), + (358, 290002, 0, 0, 0), + (358, 300001, 0, 0, 0), + (358, 320040, 0, 0, 0), + (358, 330035, 0, 0, 0), + (358, 340002, 0, 0, 0), + (358, 1000001, 0, 0, 0), + (358, 1100119, 0, 0, 0), + (358, 1200048, 0, 0, 0), + (359, 1001, 0, 0, 0), + (359, 2001, 0, 0, 0), + (359, 4001, 0, 0, 0), + (359, 5001, 0, 0, 0), + (359, 6001, 0, 0, 0), + (359, 10011, 10, 0, 0), + (359, 10011, 11, 0, 0), + (359, 11004, 10, 0, 0), + (359, 11004, 11, 0, 0), + (359, 12009, 10, 0, 0), + (359, 12029, 11, 0, 0), + (359, 15001, 0, 0, 0), + (359, 20106, 0, 0, 0), + (359, 22014, 0, 0, 0), + (359, 31153, 0, 0, 0), + (359, 36001, 0, 0, 0), + (359, 37001, 0, 0, 0), + (359, 40008, 0, 0, 0), + (359, 100002, 10, 0, 0), + (359, 100002, 11, 0, 0), + (359, 110032, 10, 0, 0), + (359, 110032, 11, 0, 0), + (359, 130012, 0, 0, 0), + (359, 140003, 0, 0, 0), + (359, 160026, 0, 0, 0), + (359, 180018, 0, 0, 0), + (359, 190077, 0, 0, 0), + (359, 200042, 0, 0, 0), + (359, 230001, 0, 0, 0), + (359, 240001, 0, 0, 0), + (359, 250030, 0, 0, 0), + (359, 280030, 0, 0, 0), + (359, 290002, 0, 0, 0), + (359, 300001, 0, 0, 0), + (359, 320040, 0, 0, 0), + (359, 330035, 0, 0, 0), + (359, 340002, 0, 0, 0), + (359, 1000001, 0, 0, 0), + (359, 1100119, 0, 0, 0), + (359, 1200048, 0, 0, 0), + (360, 1001, 0, 0, 0), + (360, 2001, 0, 0, 0), + (360, 4001, 0, 0, 0), + (360, 5001, 0, 0, 0), + (360, 6001, 0, 0, 0), + (360, 10001, 10, 0, 0), + (360, 10004, 11, 0, 0), + (360, 11004, 10, 0, 0), + (360, 11004, 11, 0, 0), + (360, 12007, 10, 0, 0), + (360, 12029, 11, 0, 0), + (360, 15001, 0, 0, 0), + (360, 20113, 0, 0, 0), + (360, 22009, 0, 0, 0), + (360, 31153, 0, 0, 0), + (360, 36001, 0, 0, 0), + (360, 37001, 0, 0, 0), + (360, 40016, 0, 0, 0), + (360, 100002, 10, 0, 0), + (360, 100002, 11, 0, 0), + (360, 110032, 10, 0, 0), + (360, 110032, 11, 0, 0), + (360, 130022, 0, 0, 0), + (360, 140009, 0, 0, 0), + (360, 160006, 0, 0, 0), + (360, 180014, 0, 0, 0), + (360, 190016, 0, 0, 0), + (360, 200002, 0, 0, 0), + (360, 230001, 0, 0, 0), + (360, 240001, 0, 0, 0), + (360, 250026, 0, 0, 0), + (360, 280024, 0, 0, 0), + (360, 290003, 0, 0, 0), + (360, 300001, 0, 0, 0), + (360, 320020, 0, 0, 0), + (360, 330054, 0, 0, 0), + (360, 340002, 0, 0, 0), + (360, 1000123, 0, 0, 0), + (360, 1100022, 0, 0, 0), + (360, 1200034, 0, 0, 0), + (361, 1001, 0, 0, 0), + (361, 2001, 0, 0, 0), + (361, 4001, 0, 0, 0), + (361, 5001, 0, 0, 0), + (361, 6001, 0, 0, 0), + (361, 10011, 10, 0, 0), + (361, 10011, 11, 0, 0), + (361, 11004, 10, 0, 0), + (361, 11004, 11, 0, 0), + (361, 12007, 10, 0, 0), + (361, 12027, 11, 0, 0), + (361, 15001, 0, 0, 0), + (361, 20115, 0, 0, 0), + (361, 22009, 0, 0, 0), + (361, 31153, 0, 0, 0), + (361, 36001, 0, 0, 0), + (361, 37001, 0, 0, 0), + (361, 40017, 0, 0, 0), + (361, 100002, 10, 0, 0), + (361, 100002, 11, 0, 0), + (361, 110032, 10, 0, 0), + (361, 110032, 11, 0, 0), + (361, 130022, 0, 0, 0), + (361, 140009, 0, 0, 0), + (361, 160006, 0, 0, 0), + (361, 180014, 0, 0, 0), + (361, 190016, 0, 0, 0), + (361, 200002, 0, 0, 0), + (361, 230001, 0, 0, 0), + (361, 240001, 0, 0, 0), + (361, 250026, 0, 0, 0), + (361, 280024, 0, 0, 0), + (361, 290004, 0, 0, 0), + (361, 300001, 0, 0, 0), + (361, 320030, 0, 0, 0), + (361, 330053, 0, 0, 0), + (361, 340002, 0, 0, 0), + (361, 1000015, 0, 0, 0), + (361, 1100001, 0, 0, 0), + (361, 1200034, 0, 0, 0), + (362, 1001, 0, 0, 0), + (362, 2001, 0, 0, 0), + (362, 4001, 0, 0, 0), + (362, 5001, 0, 0, 0), + (362, 6001, 0, 0, 0), + (362, 10006, 11, 0, 0), + (362, 10015, 10, 0, 0), + (362, 11006, 10, 0, 0), + (362, 11006, 11, 0, 0), + (362, 12020, 10, 0, 0), + (362, 12028, 11, 0, 0), + (362, 13007, 10, 0, 0), + (362, 15001, 0, 0, 0), + (362, 20114, 0, 0, 0), + (362, 22009, 0, 0, 0), + (362, 31153, 0, 0, 0), + (362, 36001, 0, 0, 0), + (362, 37001, 0, 0, 0), + (362, 40018, 0, 0, 0), + (362, 100002, 10, 0, 0), + (362, 100002, 11, 0, 0), + (362, 110012, 10, 0, 0), + (362, 110012, 11, 0, 0), + (362, 130016, 0, 0, 0), + (362, 140009, 0, 0, 0), + (362, 160006, 0, 0, 0), + (362, 180014, 0, 0, 0), + (362, 190016, 0, 0, 0), + (362, 200002, 0, 0, 0), + (362, 230001, 0, 0, 0), + (362, 240001, 0, 0, 0), + (362, 250026, 0, 0, 0), + (362, 280024, 0, 0, 0), + (362, 290001, 0, 0, 0), + (362, 300001, 0, 0, 0), + (362, 320030, 0, 0, 0), + (362, 330052, 0, 0, 0), + (362, 340002, 0, 0, 0), + (362, 1000015, 0, 0, 0), + (362, 1100001, 0, 0, 0), + (362, 1200034, 0, 0, 0), + (363, 1001, 0, 0, 0), + (363, 2001, 0, 0, 0), + (363, 4001, 0, 0, 0), + (363, 5001, 0, 0, 0), + (363, 6001, 0, 0, 0), + (363, 10011, 10, 0, 0), + (363, 10011, 11, 0, 0), + (363, 11004, 10, 0, 0), + (363, 11004, 11, 0, 0), + (363, 12006, 10, 0, 0), + (363, 12009, 11, 0, 0), + (363, 15001, 0, 0, 0), + (363, 20118, 0, 0, 0), + (363, 22009, 0, 0, 0), + (363, 31153, 0, 0, 0), + (363, 36001, 0, 0, 0), + (363, 37001, 0, 0, 0), + (363, 40019, 0, 0, 0), + (363, 100002, 10, 0, 0), + (363, 100002, 11, 0, 0), + (363, 110032, 10, 0, 0), + (363, 110032, 11, 0, 0), + (363, 130022, 0, 0, 0), + (363, 140016, 0, 0, 0), + (363, 160011, 0, 0, 0), + (363, 180062, 0, 0, 0), + (363, 190067, 0, 0, 0), + (363, 200048, 0, 0, 0), + (363, 230001, 0, 0, 0), + (363, 240001, 0, 0, 0), + (363, 250026, 0, 0, 0), + (363, 280051, 0, 0, 0), + (363, 290004, 0, 0, 0), + (363, 300001, 0, 0, 0), + (363, 320100, 0, 0, 0), + (363, 330056, 0, 0, 0), + (363, 340002, 0, 0, 0), + (363, 1000057, 0, 0, 0), + (363, 1100120, 0, 0, 0), + (363, 1200049, 0, 0, 0), + (364, 1001, 0, 0, 0), + (364, 2001, 0, 0, 0), + (364, 4001, 0, 0, 0), + (364, 5001, 0, 0, 0), + (364, 6001, 0, 0, 0), + (364, 10021, 10, 0, 0), + (364, 10026, 11, 0, 0), + (364, 11006, 10, 0, 0), + (364, 11006, 11, 0, 0), + (364, 12007, 11, 0, 0), + (364, 12021, 10, 0, 0), + (364, 15001, 0, 0, 0), + (364, 20117, 0, 0, 0), + (364, 22009, 0, 0, 0), + (364, 31153, 0, 0, 0), + (364, 36001, 0, 0, 0), + (364, 37001, 0, 0, 0), + (364, 40021, 0, 0, 0), + (364, 100002, 10, 0, 0), + (364, 100002, 11, 0, 0), + (364, 110044, 10, 0, 0), + (364, 110044, 11, 0, 0), + (364, 130016, 0, 0, 0), + (364, 140005, 0, 0, 0), + (364, 160009, 0, 0, 0), + (364, 180014, 0, 0, 0), + (364, 190016, 0, 0, 0), + (364, 200002, 0, 0, 0), + (364, 230001, 0, 0, 0), + (364, 240006, 0, 0, 0), + (364, 250002, 0, 0, 0), + (364, 280024, 0, 0, 0), + (364, 290004, 0, 0, 0), + (364, 300001, 0, 0, 0), + (364, 320030, 0, 0, 0), + (364, 330057, 0, 0, 0), + (364, 340003, 0, 0, 0), + (364, 1000073, 0, 0, 0), + (364, 1100025, 0, 0, 0), + (364, 1200023, 0, 0, 0), + (365, 1001, 0, 0, 0), + (365, 2001, 0, 0, 0), + (365, 4001, 0, 0, 0), + (365, 5001, 0, 0, 0), + (365, 6001, 0, 0, 0), + (365, 10011, 10, 0, 0), + (365, 10011, 11, 0, 0), + (365, 11004, 10, 0, 0), + (365, 11004, 11, 0, 0), + (365, 12006, 11, 0, 0), + (365, 12009, 10, 0, 0), + (365, 15001, 0, 0, 0), + (365, 20116, 0, 0, 0), + (365, 22009, 0, 0, 0), + (365, 31153, 0, 0, 0), + (365, 36001, 0, 0, 0), + (365, 37001, 0, 0, 0), + (365, 40022, 0, 0, 0), + (365, 100002, 10, 0, 0), + (365, 100002, 11, 0, 0), + (365, 110035, 10, 0, 0), + (365, 110035, 11, 0, 0), + (365, 130022, 0, 0, 0), + (365, 140009, 0, 0, 0), + (365, 160006, 0, 0, 0), + (365, 180014, 0, 0, 0), + (365, 190016, 0, 0, 0), + (365, 200002, 0, 0, 0), + (365, 230001, 0, 0, 0), + (365, 240032, 0, 0, 0), + (365, 250026, 0, 0, 0), + (365, 280016, 0, 0, 0), + (365, 290004, 0, 0, 0), + (365, 300001, 0, 0, 0), + (365, 320020, 0, 0, 0), + (365, 330053, 0, 0, 0), + (365, 340002, 0, 0, 0), + (365, 1000070, 0, 0, 0), + (365, 1100001, 0, 0, 0), + (365, 1200034, 0, 0, 0), + (366, 1001, 0, 0, 0), + (366, 2001, 0, 0, 0), + (366, 4001, 0, 0, 0), + (366, 5001, 0, 0, 0), + (366, 6001, 0, 0, 0), + (366, 10010, 10, 0, 0), + (366, 10010, 11, 0, 0), + (366, 11004, 10, 0, 0), + (366, 11004, 11, 0, 0), + (366, 12009, 10, 0, 0), + (366, 12029, 11, 0, 0), + (366, 15001, 0, 0, 0), + (366, 20109, 0, 0, 0), + (366, 22014, 0, 0, 0), + (366, 31153, 0, 0, 0), + (366, 36001, 0, 0, 0), + (366, 37001, 0, 0, 0), + (366, 40011, 0, 0, 0), + (366, 100002, 10, 0, 0), + (366, 100002, 11, 0, 0), + (366, 110032, 10, 0, 0), + (366, 110032, 11, 0, 0), + (366, 130042, 0, 0, 0), + (366, 140003, 0, 0, 0), + (366, 160025, 0, 0, 0), + (366, 180030, 0, 0, 0), + (366, 190020, 0, 0, 0), + (366, 200004, 0, 0, 0), + (366, 230001, 0, 0, 0), + (366, 240001, 0, 0, 0), + (366, 250001, 0, 0, 0), + (366, 280018, 0, 0, 0), + (366, 290003, 0, 0, 0), + (366, 300001, 0, 0, 0), + (366, 320022, 0, 0, 0), + (366, 330003, 0, 0, 0), + (366, 340002, 0, 0, 0), + (366, 1000138, 0, 0, 0), + (366, 1100005, 0, 0, 0), + (366, 1200017, 0, 0, 0), + (367, 1001, 0, 0, 0), + (367, 2001, 0, 0, 0), + (367, 4001, 0, 0, 0), + (367, 5001, 0, 0, 0), + (367, 6001, 0, 0, 0), + (367, 10010, 10, 0, 0), + (367, 10010, 11, 0, 0), + (367, 11004, 10, 0, 0), + (367, 11004, 11, 0, 0), + (367, 12009, 10, 0, 0), + (367, 12029, 11, 0, 0), + (367, 15001, 0, 0, 0), + (367, 20108, 0, 0, 0), + (367, 22014, 0, 0, 0), + (367, 31153, 0, 0, 0), + (367, 36001, 0, 0, 0), + (367, 37001, 0, 0, 0), + (367, 40013, 0, 0, 0), + (367, 100002, 10, 0, 0), + (367, 100002, 11, 0, 0), + (367, 110044, 10, 0, 0), + (367, 110044, 11, 0, 0), + (367, 130042, 0, 0, 0), + (367, 140019, 0, 0, 0), + (367, 160025, 0, 0, 0), + (367, 180030, 0, 0, 0), + (367, 190020, 0, 0, 0), + (367, 200004, 0, 0, 0), + (367, 230001, 0, 0, 0), + (367, 240001, 0, 0, 0), + (367, 250001, 0, 0, 0), + (367, 280018, 0, 0, 0), + (367, 290001, 0, 0, 0), + (367, 300001, 0, 0, 0), + (367, 320022, 0, 0, 0), + (367, 330003, 0, 0, 0), + (367, 340002, 0, 0, 0), + (367, 1000138, 0, 0, 0), + (367, 1100005, 0, 0, 0), + (367, 1200017, 0, 0, 0), + (368, 1001, 0, 0, 0), + (368, 2001, 0, 0, 0), + (368, 4001, 0, 0, 0), + (368, 5001, 0, 0, 0), + (368, 6001, 0, 0, 0), + (368, 10010, 10, 0, 0), + (368, 10010, 11, 0, 0), + (368, 11004, 10, 0, 0), + (368, 11004, 11, 0, 0), + (368, 12006, 10, 0, 0), + (368, 12022, 11, 0, 0), + (368, 15001, 0, 0, 0), + (368, 20128, 0, 0, 0), + (368, 22009, 0, 0, 0), + (368, 31153, 0, 0, 0), + (368, 36001, 0, 0, 0), + (368, 37001, 0, 0, 0), + (368, 40023, 0, 0, 0), + (368, 100002, 10, 0, 0), + (368, 100002, 11, 0, 0), + (368, 110033, 10, 0, 0), + (368, 110033, 11, 0, 0), + (368, 130016, 0, 0, 0), + (368, 140009, 0, 0, 0), + (368, 160039, 0, 0, 0), + (368, 180023, 0, 0, 0), + (368, 190006, 0, 0, 0), + (368, 200023, 0, 0, 0), + (368, 230001, 0, 0, 0), + (368, 240005, 0, 0, 0), + (368, 250002, 0, 0, 0), + (368, 280023, 0, 0, 0), + (368, 290004, 0, 0, 0), + (368, 300001, 0, 0, 0), + (368, 320027, 0, 0, 0), + (368, 330043, 0, 0, 0), + (368, 340002, 0, 0, 0), + (368, 1000018, 0, 0, 0), + (368, 1100020, 0, 0, 0), + (368, 1200035, 0, 0, 0), + (369, 1001, 0, 0, 0), + (369, 2001, 0, 0, 0), + (369, 4001, 0, 0, 0), + (369, 5001, 0, 0, 0), + (369, 6001, 0, 0, 0), + (369, 10010, 10, 0, 0), + (369, 10010, 11, 0, 0), + (369, 11004, 10, 0, 0), + (369, 11004, 11, 0, 0), + (369, 12006, 10, 0, 0), + (369, 12022, 11, 0, 0), + (369, 15001, 0, 0, 0), + (369, 20119, 0, 0, 0), + (369, 22009, 0, 0, 0), + (369, 31153, 0, 0, 0), + (369, 36001, 0, 0, 0), + (369, 37001, 0, 0, 0), + (369, 40024, 0, 0, 0), + (369, 100002, 10, 0, 0), + (369, 100002, 11, 0, 0), + (369, 110032, 10, 0, 0), + (369, 110032, 11, 0, 0), + (369, 130022, 0, 0, 0), + (369, 140016, 0, 0, 0), + (369, 160006, 0, 0, 0), + (369, 180014, 0, 0, 0), + (369, 190016, 0, 0, 0), + (369, 200002, 0, 0, 0), + (369, 230001, 0, 0, 0), + (369, 240023, 0, 0, 0), + (369, 250026, 0, 0, 0), + (369, 280016, 0, 0, 0), + (369, 290004, 0, 0, 0), + (369, 300001, 0, 0, 0), + (369, 320020, 0, 0, 0), + (369, 330053, 0, 0, 0), + (369, 340002, 0, 0, 0), + (369, 1000070, 0, 0, 0), + (369, 1100001, 0, 0, 0), + (369, 1200034, 0, 0, 0), + (370, 1001, 0, 0, 0), + (370, 2001, 0, 0, 0), + (370, 4001, 0, 0, 0), + (370, 5001, 0, 0, 0), + (370, 6001, 0, 0, 0), + (370, 10002, 10, 0, 0), + (370, 10010, 11, 0, 0), + (370, 11004, 10, 0, 0), + (370, 11004, 11, 0, 0), + (370, 12006, 10, 0, 0), + (370, 12022, 11, 0, 0), + (370, 15001, 0, 0, 0), + (370, 20120, 0, 0, 0), + (370, 22009, 0, 0, 0), + (370, 31153, 0, 0, 0), + (370, 36001, 0, 0, 0), + (370, 37001, 0, 0, 0), + (370, 40025, 0, 0, 0), + (370, 100003, 10, 0, 0), + (370, 100003, 11, 0, 0), + (370, 110032, 10, 0, 0), + (370, 110032, 11, 0, 0), + (370, 130022, 0, 0, 0), + (370, 140016, 0, 0, 0), + (370, 160009, 0, 0, 0), + (370, 180014, 0, 0, 0), + (370, 190016, 0, 0, 0), + (370, 200002, 0, 0, 0), + (370, 230001, 0, 0, 0), + (370, 240023, 0, 0, 0), + (370, 250026, 0, 0, 0), + (370, 280016, 0, 0, 0), + (370, 290004, 0, 0, 0), + (370, 300001, 0, 0, 0), + (370, 320020, 0, 0, 0), + (370, 330053, 0, 0, 0), + (370, 340002, 0, 0, 0), + (370, 1000121, 0, 0, 0), + (370, 1100001, 0, 0, 0), + (370, 1200034, 0, 0, 0), + (371, 1001, 0, 0, 0), + (371, 2001, 0, 0, 0), + (371, 4001, 0, 0, 0), + (371, 5001, 0, 0, 0), + (371, 6001, 0, 0, 0), + (371, 10002, 10, 0, 0), + (371, 10010, 11, 0, 0), + (371, 11004, 10, 0, 0), + (371, 11004, 11, 0, 0), + (371, 12006, 10, 0, 0), + (371, 12009, 11, 0, 0), + (371, 15001, 0, 0, 0), + (371, 20126, 0, 0, 0), + (371, 22009, 0, 0, 0), + (371, 31153, 0, 0, 0), + (371, 36001, 0, 0, 0), + (371, 37001, 0, 0, 0), + (371, 40026, 0, 0, 0), + (371, 100002, 10, 0, 0), + (371, 100002, 11, 0, 0), + (371, 110027, 10, 0, 0), + (371, 110027, 11, 0, 0), + (371, 130022, 0, 0, 0), + (371, 140009, 0, 0, 0), + (371, 160037, 0, 0, 0), + (371, 180020, 0, 0, 0), + (371, 190022, 0, 0, 0), + (371, 200020, 0, 0, 0), + (371, 230001, 0, 0, 0), + (371, 240001, 0, 0, 0), + (371, 250002, 0, 0, 0), + (371, 280027, 0, 0, 0), + (371, 290004, 0, 0, 0), + (371, 300001, 0, 0, 0), + (371, 320024, 0, 0, 0), + (371, 330018, 0, 0, 0), + (371, 340002, 0, 0, 0), + (371, 1000017, 0, 0, 0), + (371, 1100098, 0, 0, 0), + (371, 1200019, 0, 0, 0), + (372, 1001, 0, 0, 0), + (372, 2001, 0, 0, 0), + (372, 4001, 0, 0, 0), + (372, 5001, 0, 0, 0), + (372, 6001, 0, 0, 0), + (372, 10010, 10, 0, 0), + (372, 10010, 11, 0, 0), + (372, 11004, 10, 0, 0), + (372, 11004, 11, 0, 0), + (372, 12006, 10, 0, 0), + (372, 12009, 11, 0, 0), + (372, 15001, 0, 0, 0), + (372, 20129, 0, 0, 0), + (372, 22009, 0, 0, 0), + (372, 25006, 0, 0, 0), + (372, 31153, 0, 0, 0), + (372, 36001, 0, 0, 0), + (372, 37001, 0, 0, 0), + (372, 40049, 0, 0, 0), + (372, 100002, 10, 0, 0), + (372, 100002, 11, 0, 0), + (372, 110033, 10, 0, 0), + (372, 110033, 11, 0, 0), + (372, 130016, 0, 0, 0), + (372, 140009, 0, 0, 0), + (372, 160040, 0, 0, 0), + (372, 180023, 0, 0, 0), + (372, 190006, 0, 0, 0), + (372, 200023, 0, 0, 0), + (372, 230001, 0, 0, 0), + (372, 240006, 0, 0, 0), + (372, 250002, 0, 0, 0), + (372, 280028, 0, 0, 0), + (372, 290003, 0, 0, 0), + (372, 300001, 0, 0, 0), + (372, 320027, 0, 0, 0), + (372, 330043, 0, 0, 0), + (372, 340002, 0, 0, 0), + (372, 1000051, 0, 0, 0), + (372, 1100034, 0, 0, 0), + (372, 1200035, 0, 0, 0), + (373, 1001, 0, 0, 0), + (373, 2001, 0, 0, 0), + (373, 4001, 0, 0, 0), + (373, 5001, 0, 0, 0), + (373, 6001, 0, 0, 0), + (373, 10002, 10, 0, 0), + (373, 10010, 11, 0, 0), + (373, 11004, 10, 0, 0), + (373, 11004, 11, 0, 0), + (373, 12006, 10, 0, 0), + (373, 12022, 11, 0, 0), + (373, 13010, 10, 0, 0), + (373, 15001, 0, 0, 0), + (373, 20133, 0, 0, 0), + (373, 22008, 0, 0, 0), + (373, 31153, 0, 0, 0), + (373, 36001, 0, 0, 0), + (373, 37001, 0, 0, 0), + (373, 40033, 0, 0, 0), + (373, 100132, 10, 0, 0), + (373, 100132, 11, 0, 0), + (373, 110045, 10, 0, 0), + (373, 110045, 11, 0, 0), + (373, 130022, 0, 0, 0), + (373, 140004, 0, 0, 0), + (373, 160073, 0, 0, 0), + (373, 180015, 0, 0, 0), + (373, 190017, 0, 0, 0), + (373, 200029, 0, 0, 0), + (373, 230001, 0, 0, 0), + (373, 240005, 0, 0, 0), + (373, 250002, 0, 0, 0), + (373, 280036, 0, 0, 0), + (373, 290004, 0, 0, 0), + (373, 300001, 0, 0, 0), + (373, 320004, 0, 0, 0), + (373, 330066, 0, 0, 0), + (373, 340002, 0, 0, 0), + (373, 1000120, 0, 0, 0), + (373, 1100044, 0, 0, 0), + (373, 1200015, 0, 0, 0), + (374, 1001, 0, 0, 0), + (374, 2001, 0, 0, 0), + (374, 4001, 0, 0, 0), + (374, 5001, 0, 0, 0), + (374, 6001, 0, 0, 0), + (374, 10002, 10, 0, 0), + (374, 10009, 11, 0, 0), + (374, 11004, 10, 0, 0), + (374, 11004, 11, 0, 0), + (374, 12006, 10, 0, 0), + (374, 12022, 11, 0, 0), + (374, 15001, 0, 0, 0), + (374, 20140, 0, 0, 0), + (374, 22009, 0, 0, 0), + (374, 31153, 0, 0, 0), + (374, 36001, 0, 0, 0), + (374, 37001, 0, 0, 0), + (374, 40042, 0, 0, 0), + (374, 100002, 10, 0, 0), + (374, 100002, 11, 0, 0), + (374, 110027, 10, 1, 1), + (374, 110027, 11, 1, 1), + (374, 130033, 0, 0, 0), + (374, 140011, 0, 0, 0), + (374, 160012, 0, 0, 0), + (374, 180014, 0, 0, 0), + (374, 190016, 0, 0, 0), + (374, 200024, 0, 0, 0), + (374, 230001, 0, 0, 0), + (374, 240001, 0, 0, 0), + (374, 250002, 0, 0, 0), + (374, 280016, 0, 0, 0), + (374, 290004, 0, 0, 0), + (374, 300002, 0, 0, 0), + (374, 320020, 0, 0, 0), + (374, 330008, 0, 0, 0), + (374, 340002, 0, 0, 0), + (374, 1000122, 0, 0, 0), + (374, 1100001, 0, 0, 0), + (374, 1200034, 0, 0, 0), + (375, 1001, 0, 0, 0), + (375, 2001, 0, 0, 0), + (375, 4001, 0, 0, 0), + (375, 5001, 0, 0, 0), + (375, 6001, 0, 0, 0), + (375, 10001, 11, 0, 0), + (375, 10021, 10, 0, 0), + (375, 11010, 10, 0, 0), + (375, 11010, 11, 0, 0), + (375, 12009, 10, 0, 0), + (375, 12030, 11, 0, 0), + (375, 13007, 10, 0, 0), + (375, 13009, 11, 0, 0), + (375, 15001, 0, 0, 0), + (375, 20106, 0, 0, 0), + (375, 22014, 0, 0, 0), + (375, 31153, 0, 0, 0), + (375, 36001, 0, 0, 0), + (375, 37001, 0, 0, 0), + (375, 40008, 0, 0, 0), + (375, 100002, 10, 0, 0), + (375, 100002, 11, 0, 0), + (375, 110084, 10, 0, 0), + (375, 110084, 11, 0, 0), + (375, 130026, 0, 0, 0), + (375, 140011, 0, 0, 0), + (375, 160026, 0, 0, 0), + (375, 180018, 0, 0, 0), + (375, 190077, 0, 0, 0), + (375, 200066, 0, 0, 0), + (375, 230001, 0, 0, 0), + (375, 240001, 0, 0, 0), + (375, 250001, 0, 0, 0), + (375, 280030, 0, 0, 0), + (375, 290001, 0, 0, 0), + (375, 300001, 0, 0, 0), + (375, 320098, 0, 0, 0), + (375, 330035, 0, 0, 0), + (375, 340002, 0, 0, 0), + (375, 1000096, 0, 0, 0), + (375, 1100119, 0, 0, 0), + (375, 1200048, 0, 0, 0), + (377, 1001, 0, 0, 0), + (377, 2001, 0, 0, 0), + (377, 4001, 0, 0, 0), + (377, 5001, 0, 0, 0), + (377, 6001, 0, 0, 0), + (377, 10001, 11, 0, 0), + (377, 10021, 10, 0, 0), + (377, 11010, 10, 0, 0), + (377, 11010, 11, 0, 0), + (377, 12009, 10, 0, 0), + (377, 12027, 11, 0, 0), + (377, 13007, 11, 0, 0), + (377, 13008, 10, 0, 0), + (377, 15001, 0, 0, 0), + (377, 20113, 0, 0, 0), + (377, 22009, 0, 0, 0), + (377, 31153, 0, 0, 0), + (377, 36001, 0, 0, 0), + (377, 37001, 0, 0, 0), + (377, 40016, 0, 0, 0), + (377, 100002, 10, 0, 0), + (377, 100002, 11, 0, 0), + (377, 110084, 10, 0, 0), + (377, 110084, 11, 0, 0), + (377, 130033, 0, 0, 0), + (377, 140005, 0, 0, 0), + (377, 160006, 0, 0, 0), + (377, 180014, 0, 0, 0), + (377, 190016, 0, 0, 0), + (377, 200002, 0, 0, 0), + (377, 230001, 0, 0, 0), + (377, 240001, 0, 0, 0), + (377, 250002, 0, 0, 0), + (377, 280024, 0, 0, 0), + (377, 290004, 0, 0, 0), + (377, 300001, 0, 0, 0), + (377, 320020, 0, 0, 0), + (377, 330056, 0, 0, 0), + (377, 340002, 0, 0, 0), + (377, 1000070, 0, 0, 0), + (377, 1100022, 0, 0, 0), + (377, 1200034, 0, 0, 0), + (378, 1001, 0, 0, 0), + (378, 2001, 0, 0, 0), + (378, 4001, 0, 0, 0), + (378, 5001, 0, 0, 0), + (378, 6001, 0, 0, 0), + (378, 10001, 11, 0, 0), + (378, 10021, 10, 0, 0), + (378, 11010, 10, 0, 0), + (378, 11010, 11, 0, 0), + (378, 12031, 11, 0, 0), + (378, 12033, 10, 0, 0), + (378, 13010, 11, 0, 0), + (378, 13011, 10, 0, 0), + (378, 15001, 0, 0, 0), + (378, 20127, 0, 0, 0), + (378, 22009, 0, 0, 0), + (378, 31153, 0, 0, 0), + (378, 36001, 0, 0, 0), + (378, 37001, 0, 0, 0), + (378, 40015, 0, 0, 0), + (378, 100002, 10, 0, 0), + (378, 100002, 11, 0, 0), + (378, 110084, 10, 0, 0), + (378, 110084, 11, 0, 0), + (378, 130033, 0, 0, 0), + (378, 140006, 0, 0, 0), + (378, 160001, 0, 0, 0), + (378, 180049, 0, 0, 0), + (378, 190013, 0, 0, 0), + (378, 200057, 0, 0, 0), + (378, 230001, 0, 0, 0), + (378, 240006, 0, 0, 0), + (378, 250002, 0, 0, 0), + (378, 280045, 0, 0, 0), + (378, 290004, 0, 0, 0), + (378, 300001, 0, 0, 0), + (378, 320033, 0, 0, 0), + (378, 330034, 0, 0, 0), + (378, 340002, 0, 0, 0), + (378, 1000060, 0, 0, 0), + (378, 1100113, 0, 0, 0), + (378, 1200013, 0, 0, 0), + (379, 1001, 0, 0, 0), + (379, 2001, 0, 0, 0), + (379, 4001, 0, 0, 0), + (379, 5001, 0, 0, 0), + (379, 6001, 0, 0, 0), + (379, 10001, 11, 0, 0), + (379, 10021, 10, 0, 0), + (379, 11010, 10, 0, 0), + (379, 11010, 11, 0, 0), + (379, 12008, 10, 0, 0), + (379, 12027, 11, 0, 0), + (379, 13007, 11, 0, 0), + (379, 13008, 10, 0, 0), + (379, 15001, 0, 0, 0), + (379, 20103, 0, 0, 0), + (379, 22014, 0, 0, 0), + (379, 31153, 0, 0, 0), + (379, 36001, 0, 0, 0), + (379, 37001, 0, 0, 0), + (379, 40005, 0, 0, 0), + (379, 100002, 10, 0, 0), + (379, 100002, 11, 0, 0), + (379, 110084, 10, 0, 0), + (379, 110084, 11, 0, 0), + (379, 130034, 0, 0, 0), + (379, 140007, 0, 0, 0), + (379, 160025, 0, 0, 0), + (379, 180030, 0, 0, 0), + (379, 190020, 0, 0, 0), + (379, 200004, 0, 0, 0), + (379, 230001, 0, 0, 0), + (379, 240006, 0, 0, 0), + (379, 250001, 0, 0, 0), + (379, 280018, 0, 0, 0), + (379, 290002, 0, 0, 0), + (379, 300001, 0, 0, 0), + (379, 320087, 0, 0, 0), + (379, 330035, 0, 0, 0), + (379, 340002, 0, 0, 0), + (379, 1000137, 0, 0, 0), + (379, 1100005, 0, 0, 0), + (379, 1200017, 0, 0, 0), + (383, 1001, 0, 0, 0), + (383, 2001, 0, 0, 0), + (383, 4001, 0, 0, 0), + (383, 5001, 0, 0, 0), + (383, 6001, 0, 0, 0), + (383, 10010, 10, 0, 0), + (383, 10010, 11, 0, 0), + (383, 11004, 10, 0, 0), + (383, 11004, 11, 0, 0), + (383, 12006, 10, 0, 0), + (383, 12009, 11, 0, 0), + (383, 15001, 0, 0, 0), + (383, 20129, 0, 0, 0), + (383, 22009, 0, 0, 0), + (383, 31153, 0, 0, 0), + (383, 36001, 0, 0, 0), + (383, 37001, 0, 0, 0), + (383, 40049, 0, 0, 0), + (383, 100002, 10, 0, 0), + (383, 100002, 11, 0, 0), + (383, 110104, 10, 0, 0), + (383, 110109, 11, 0, 0), + (383, 130033, 0, 0, 0), + (383, 140011, 0, 0, 0), + (383, 160025, 0, 0, 0), + (383, 180030, 0, 0, 0), + (383, 190020, 0, 0, 0), + (383, 200004, 0, 0, 0), + (383, 230001, 0, 0, 0), + (383, 240006, 0, 0, 0), + (383, 250001, 0, 0, 0), + (383, 280041, 0, 0, 0), + (383, 290002, 0, 0, 0), + (383, 300001, 0, 0, 0), + (383, 320022, 0, 0, 0), + (383, 330018, 0, 0, 0), + (383, 340002, 0, 0, 0), + (383, 1000138, 0, 0, 0), + (383, 1100005, 0, 0, 0), + (383, 1200017, 0, 0, 0), + (384, 1001, 0, 0, 0), + (384, 2001, 0, 0, 0), + (384, 4001, 0, 0, 0), + (384, 5001, 0, 0, 0), + (384, 6001, 0, 0, 0), + (384, 10002, 10, 0, 0), + (384, 10010, 11, 0, 0), + (384, 11009, 10, 0, 0), + (384, 11009, 11, 0, 0), + (384, 12007, 10, 0, 0), + (384, 12029, 11, 0, 0), + (384, 13008, 10, 0, 0), + (384, 15001, 0, 0, 0), + (384, 20108, 0, 0, 0), + (384, 22014, 0, 0, 0), + (384, 29002, 0, 0, 0), + (384, 30005, 0, 0, 0), + (384, 31153, 0, 0, 0), + (384, 36001, 0, 0, 0), + (384, 37001, 0, 0, 0), + (384, 40010, 0, 0, 0), + (384, 100002, 10, 0, 0), + (384, 100002, 11, 0, 0), + (384, 110083, 10, 0, 0), + (384, 110084, 11, 0, 0), + (384, 130034, 0, 0, 0), + (384, 140017, 0, 0, 0), + (384, 160027, 0, 0, 0), + (384, 180030, 0, 0, 0), + (384, 190020, 0, 0, 0), + (384, 200004, 0, 0, 0), + (384, 230001, 0, 0, 0), + (384, 240006, 0, 0, 0), + (384, 250001, 0, 0, 0), + (384, 280041, 0, 0, 0), + (384, 290002, 0, 0, 0), + (384, 300002, 0, 0, 0), + (384, 320022, 0, 0, 0), + (384, 330020, 0, 0, 0), + (384, 340002, 0, 0, 0), + (384, 1000138, 0, 0, 0), + (384, 1100101, 0, 0, 0), + (384, 1200038, 0, 0, 0), + (385, 1001, 0, 0, 0), + (385, 2001, 0, 0, 0), + (385, 4001, 0, 0, 0), + (385, 5001, 0, 0, 0), + (385, 6001, 0, 0, 0), + (385, 10011, 10, 0, 0), + (385, 10011, 11, 0, 0), + (385, 11004, 10, 0, 0), + (385, 11004, 11, 0, 0), + (385, 12009, 10, 0, 0), + (385, 12029, 11, 0, 0), + (385, 15001, 0, 0, 0), + (385, 20106, 0, 0, 0), + (385, 22014, 0, 0, 0), + (385, 31153, 0, 0, 0), + (385, 36001, 0, 0, 0), + (385, 37001, 0, 0, 0), + (385, 40008, 0, 0, 0), + (385, 100002, 10, 0, 0), + (385, 100002, 11, 0, 0), + (385, 110082, 10, 0, 0), + (385, 110082, 11, 0, 0), + (385, 130034, 0, 0, 0), + (385, 140003, 0, 0, 0), + (385, 160025, 0, 0, 0), + (385, 180030, 0, 0, 0), + (385, 190020, 0, 0, 0), + (385, 200004, 0, 0, 0), + (385, 230001, 0, 0, 0), + (385, 240001, 0, 0, 0), + (385, 250001, 0, 0, 0), + (385, 280041, 0, 0, 0), + (385, 290002, 0, 0, 0), + (385, 300001, 0, 0, 0), + (385, 320022, 0, 0, 0), + (385, 330053, 0, 0, 0), + (385, 340002, 0, 0, 0), + (385, 1000138, 0, 0, 0), + (385, 1100005, 0, 0, 0), + (385, 1200017, 0, 0, 0), + (386, 1001, 0, 0, 0), + (386, 2001, 0, 0, 0), + (386, 4001, 0, 0, 0), + (386, 5001, 0, 0, 0), + (386, 6001, 0, 0, 0), + (386, 10009, 11, 0, 0), + (386, 10010, 10, 0, 0), + (386, 11004, 10, 0, 0), + (386, 11004, 11, 0, 0), + (386, 12009, 11, 0, 0), + (386, 12010, 10, 0, 0), + (386, 15001, 0, 0, 0), + (386, 20127, 0, 0, 0), + (386, 22009, 0, 0, 0), + (386, 31153, 0, 0, 0), + (386, 36001, 0, 0, 0), + (386, 37001, 0, 0, 0), + (386, 40015, 0, 0, 0), + (386, 100002, 10, 0, 0), + (386, 100002, 11, 0, 0), + (386, 110082, 10, 0, 0), + (386, 110082, 11, 0, 0), + (386, 130033, 0, 0, 0), + (386, 140001, 0, 0, 0), + (386, 160012, 0, 0, 0), + (386, 180003, 0, 0, 0), + (386, 190016, 0, 0, 0), + (386, 200002, 0, 0, 0), + (386, 230001, 0, 0, 0), + (386, 240001, 0, 0, 0), + (386, 250002, 0, 0, 0), + (386, 280024, 0, 0, 0), + (386, 290004, 0, 0, 0), + (386, 300001, 0, 0, 0), + (386, 320020, 0, 0, 0), + (386, 330066, 0, 0, 0), + (386, 340002, 0, 0, 0), + (386, 1000043, 0, 0, 0), + (386, 1100001, 0, 0, 0), + (386, 1200034, 0, 0, 0), + (387, 1001, 0, 0, 0), + (387, 2001, 0, 0, 0), + (387, 4001, 0, 0, 0), + (387, 5001, 0, 0, 0), + (387, 6001, 0, 0, 0), + (387, 10002, 10, 0, 0), + (387, 10010, 11, 0, 0), + (387, 11004, 10, 0, 0), + (387, 11004, 11, 0, 0), + (387, 12006, 10, 0, 0), + (387, 12009, 11, 0, 0), + (387, 15001, 0, 0, 0), + (387, 20121, 0, 0, 0), + (387, 22009, 0, 0, 0), + (387, 31153, 0, 0, 0), + (387, 36001, 0, 0, 0), + (387, 37001, 0, 0, 0), + (387, 40030, 0, 0, 0), + (387, 100002, 10, 0, 0), + (387, 100002, 11, 0, 0), + (387, 110104, 10, 0, 0), + (387, 110109, 11, 0, 0), + (387, 130033, 0, 0, 0), + (387, 140016, 0, 0, 0), + (387, 160012, 0, 0, 0), + (387, 180003, 0, 0, 0), + (387, 190016, 0, 0, 0), + (387, 200032, 0, 0, 0), + (387, 230001, 0, 0, 0), + (387, 240006, 0, 0, 0), + (387, 250002, 0, 0, 0), + (387, 280016, 0, 0, 0), + (387, 290004, 0, 0, 0), + (387, 320020, 0, 0, 0), + (387, 330044, 0, 0, 0), + (387, 340002, 0, 0, 0), + (387, 1000122, 0, 0, 0), + (387, 1100001, 0, 0, 0), + (387, 1200023, 0, 0, 0), + (388, 1001, 0, 0, 0), + (388, 2001, 0, 0, 0), + (388, 4001, 0, 0, 0), + (388, 5001, 0, 0, 0), + (388, 6001, 0, 0, 0), + (388, 10010, 10, 0, 0), + (388, 10010, 11, 0, 0), + (388, 11004, 10, 0, 0), + (388, 11004, 11, 0, 0), + (388, 12009, 10, 0, 0), + (388, 12029, 11, 0, 0), + (388, 15001, 0, 0, 0), + (388, 20109, 0, 0, 0), + (388, 22014, 0, 0, 0), + (388, 31153, 0, 0, 0), + (388, 36001, 0, 0, 0), + (388, 37001, 0, 0, 0), + (388, 40011, 0, 0, 0), + (388, 100002, 10, 0, 0), + (388, 100002, 11, 0, 0), + (388, 110104, 10, 0, 0), + (388, 110109, 11, 0, 0), + (388, 130034, 0, 0, 0), + (388, 140016, 0, 0, 0), + (388, 160025, 0, 0, 0), + (388, 180030, 0, 0, 0), + (388, 190020, 0, 0, 0), + (388, 200031, 0, 0, 0), + (388, 230001, 0, 0, 0), + (388, 240006, 0, 0, 0), + (388, 250001, 0, 0, 0), + (388, 280041, 0, 0, 0), + (388, 290002, 0, 0, 0), + (388, 300001, 0, 0, 0), + (388, 320022, 0, 0, 0), + (388, 330065, 0, 0, 0), + (388, 340002, 0, 0, 0), + (388, 1000136, 0, 0, 0), + (388, 1100005, 0, 0, 0), + (388, 1200038, 0, 0, 0), + (389, 1001, 0, 0, 0), + (389, 2001, 0, 0, 0), + (389, 4001, 0, 0, 0), + (389, 5001, 0, 0, 0), + (389, 6001, 0, 0, 0), + (389, 10002, 10, 0, 0), + (389, 10010, 11, 0, 0), + (389, 11004, 10, 0, 0), + (389, 11004, 11, 0, 0), + (389, 12006, 10, 0, 0), + (389, 12022, 11, 0, 0), + (389, 15001, 0, 0, 0), + (389, 20132, 0, 0, 0), + (389, 22008, 0, 0, 0), + (389, 31153, 0, 0, 0), + (389, 36001, 0, 0, 0), + (389, 37001, 0, 0, 0), + (389, 40032, 0, 0, 0), + (389, 100132, 10, 0, 0), + (389, 100132, 11, 0, 0), + (389, 110104, 10, 0, 0), + (389, 110109, 11, 0, 0), + (389, 130044, 0, 0, 0), + (389, 140011, 0, 0, 0), + (389, 160054, 0, 0, 0), + (389, 180016, 0, 0, 0), + (389, 190018, 0, 0, 0), + (389, 200006, 0, 0, 0), + (389, 230001, 0, 0, 0), + (389, 240006, 0, 0, 0), + (389, 250003, 0, 0, 0), + (389, 280037, 0, 0, 0), + (389, 290003, 0, 0, 0), + (389, 300001, 0, 0, 0), + (389, 320003, 0, 0, 0), + (389, 330034, 0, 0, 0), + (389, 340002, 0, 0, 0), + (389, 1000117, 0, 0, 0), + (389, 1100002, 0, 0, 0), + (389, 1200033, 0, 0, 0), + (390, 1001, 0, 0, 0), + (390, 2001, 0, 0, 0), + (390, 4001, 0, 0, 0), + (390, 5001, 0, 0, 0), + (390, 6001, 0, 0, 0), + (390, 10001, 10, 0, 0), + (390, 10004, 11, 0, 0), + (390, 11009, 10, 0, 0), + (390, 11009, 11, 0, 0), + (390, 12007, 10, 0, 0), + (390, 12029, 11, 0, 0), + (390, 15001, 0, 0, 0), + (390, 20113, 0, 0, 0), + (390, 22009, 0, 0, 0), + (390, 31153, 0, 0, 0), + (390, 36001, 0, 0, 0), + (390, 37001, 0, 0, 0), + (390, 40016, 0, 0, 0), + (390, 100002, 10, 0, 0), + (390, 100002, 11, 0, 0), + (390, 110104, 10, 0, 0), + (390, 110109, 11, 0, 0), + (390, 130034, 0, 0, 0), + (390, 140019, 0, 0, 0), + (390, 160012, 0, 0, 0), + (390, 180014, 0, 0, 0), + (390, 190016, 0, 0, 0), + (390, 200002, 0, 0, 0), + (390, 230001, 0, 0, 0), + (390, 240006, 0, 0, 0), + (390, 250002, 0, 0, 0), + (390, 280024, 0, 0, 0), + (390, 290004, 0, 0, 0), + (390, 300001, 0, 0, 0), + (390, 320020, 0, 0, 0), + (390, 330018, 0, 0, 0), + (390, 340002, 0, 0, 0), + (390, 1000074, 0, 0, 0), + (390, 1100025, 0, 0, 0), + (390, 1200023, 0, 0, 0), + (391, 1001, 0, 0, 0), + (391, 2001, 0, 0, 0), + (391, 4001, 0, 0, 0), + (391, 5001, 0, 0, 0), + (391, 6001, 0, 0, 0), + (391, 10009, 11, 0, 0), + (391, 10010, 10, 0, 0), + (391, 11009, 10, 0, 0), + (391, 11009, 11, 0, 0), + (391, 12007, 10, 0, 0), + (391, 12029, 11, 0, 0), + (391, 13006, 10, 0, 0), + (391, 15001, 0, 0, 0), + (391, 20103, 0, 0, 0), + (391, 22014, 0, 0, 0), + (391, 31153, 0, 0, 0), + (391, 36001, 0, 0, 0), + (391, 37001, 0, 0, 0), + (391, 40005, 0, 0, 0), + (391, 100002, 10, 0, 0), + (391, 100002, 11, 0, 0), + (391, 110104, 10, 0, 0), + (391, 110109, 11, 0, 0), + (391, 130034, 0, 0, 0), + (391, 140007, 0, 0, 0), + (391, 160025, 0, 0, 0), + (391, 180030, 0, 0, 0), + (391, 190020, 0, 0, 0), + (391, 200004, 0, 0, 0), + (391, 230001, 0, 0, 0), + (391, 240006, 0, 0, 0), + (391, 250001, 0, 0, 0), + (391, 280041, 0, 0, 0), + (391, 290002, 0, 0, 0), + (391, 300001, 0, 0, 0), + (391, 320087, 0, 0, 0), + (391, 330020, 0, 0, 0), + (391, 340002, 0, 0, 0), + (391, 1000138, 0, 0, 0), + (391, 1100101, 0, 0, 0), + (391, 1200017, 0, 0, 0), + (392, 1001, 0, 0, 0), + (392, 2001, 0, 0, 0), + (392, 4001, 0, 0, 0), + (392, 5001, 0, 0, 0), + (392, 6001, 0, 0, 0), + (392, 10002, 10, 0, 0), + (392, 10010, 11, 0, 0), + (392, 11009, 10, 0, 0), + (392, 11009, 11, 0, 0), + (392, 12008, 10, 0, 0), + (392, 12029, 11, 0, 0), + (392, 13007, 10, 0, 0), + (392, 15001, 0, 0, 0), + (392, 20131, 0, 0, 0), + (392, 22008, 0, 0, 0), + (392, 31153, 0, 0, 0), + (392, 36001, 0, 0, 0), + (392, 37001, 0, 0, 0), + (392, 40034, 0, 0, 0), + (392, 100132, 10, 0, 0), + (392, 100132, 11, 0, 0), + (392, 110084, 10, 0, 0), + (392, 110084, 11, 0, 0), + (392, 130048, 0, 0, 0), + (392, 140013, 0, 0, 0), + (392, 160048, 0, 0, 0), + (392, 180022, 0, 0, 0), + (392, 190068, 0, 0, 0), + (392, 200022, 0, 0, 0), + (392, 230001, 0, 0, 0), + (392, 240006, 0, 0, 0), + (392, 250003, 0, 0, 0), + (392, 280022, 0, 0, 0), + (392, 290004, 0, 0, 0), + (392, 300001, 0, 0, 0), + (392, 320026, 0, 0, 0), + (392, 330053, 0, 0, 0), + (392, 340002, 0, 0, 0), + (392, 1000007, 0, 0, 0), + (392, 1100019, 0, 0, 0), + (392, 1200021, 0, 0, 0), + (393, 1001, 0, 0, 0), + (393, 2001, 0, 0, 0), + (393, 4001, 0, 0, 0), + (393, 5001, 0, 0, 0), + (393, 6001, 0, 0, 0), + (393, 10011, 10, 0, 0), + (393, 10011, 11, 0, 0), + (393, 11009, 10, 0, 0), + (393, 11009, 11, 0, 0), + (393, 12008, 10, 0, 0), + (393, 12027, 11, 0, 0), + (393, 13008, 10, 0, 0), + (393, 15001, 0, 0, 0), + (393, 20105, 0, 0, 0), + (393, 22014, 0, 0, 0), + (393, 31153, 0, 0, 0), + (393, 36001, 0, 0, 0), + (393, 37001, 0, 0, 0), + (393, 40007, 0, 0, 0), + (393, 100002, 10, 0, 0), + (393, 100002, 11, 0, 0), + (393, 110104, 10, 0, 0), + (393, 110109, 11, 0, 0), + (393, 130026, 0, 0, 0), + (393, 140011, 0, 0, 0), + (393, 160027, 0, 0, 0), + (393, 180034, 0, 0, 0), + (393, 190020, 0, 0, 0), + (393, 200004, 0, 0, 0), + (393, 230001, 0, 0, 0), + (393, 240006, 0, 0, 0), + (393, 250001, 0, 0, 0), + (393, 280041, 0, 0, 0), + (393, 290002, 0, 0, 0), + (393, 300007, 0, 0, 0), + (393, 320022, 0, 0, 0), + (393, 330034, 0, 0, 0), + (393, 340002, 0, 0, 0), + (393, 1000138, 0, 0, 0), + (393, 1100101, 0, 0, 0), + (393, 1200038, 0, 0, 0), + (394, 1001, 0, 0, 0), + (394, 2001, 0, 0, 0), + (394, 4001, 0, 0, 0), + (394, 5001, 0, 0, 0), + (394, 6001, 0, 0, 0), + (394, 10002, 11, 0, 0), + (394, 10022, 10, 0, 0), + (394, 11009, 10, 0, 0), + (394, 11009, 11, 0, 0), + (394, 12007, 10, 0, 0), + (394, 12023, 11, 0, 0), + (394, 13006, 11, 0, 0), + (394, 13008, 10, 0, 0), + (394, 15001, 0, 0, 0), + (394, 20120, 0, 0, 0), + (394, 22009, 0, 0, 0), + (394, 30003, 0, 0, 0), + (394, 31153, 0, 0, 0), + (394, 36001, 0, 0, 0), + (394, 37001, 0, 0, 0), + (394, 40025, 0, 0, 0), + (394, 100003, 10, 0, 0), + (394, 100003, 11, 0, 0), + (394, 110083, 10, 0, 0), + (394, 110084, 11, 0, 0), + (394, 130033, 0, 0, 0), + (394, 140011, 0, 0, 0), + (394, 160009, 0, 0, 0), + (394, 180014, 0, 0, 0), + (394, 190016, 0, 0, 0), + (394, 200002, 0, 0, 0), + (394, 230001, 0, 0, 0), + (394, 240006, 0, 0, 0), + (394, 250002, 0, 0, 0), + (394, 280016, 0, 0, 0), + (394, 290004, 0, 0, 0), + (394, 300001, 0, 0, 0), + (394, 320020, 0, 0, 0), + (394, 330053, 0, 0, 0), + (394, 340002, 0, 0, 0), + (394, 1000121, 0, 0, 0), + (394, 1100001, 0, 0, 0), + (394, 1200034, 0, 0, 0), + (395, 1001, 0, 0, 0), + (395, 2001, 0, 0, 0), + (395, 4001, 0, 0, 0), + (395, 5001, 0, 0, 0), + (395, 6001, 0, 0, 0), + (395, 10021, 10, 0, 0), + (395, 10021, 11, 0, 0), + (395, 11008, 10, 0, 0), + (395, 11008, 11, 0, 0), + (395, 12037, 10, 0, 0), + (395, 12039, 11, 0, 0), + (395, 15001, 0, 0, 0), + (395, 20112, 0, 0, 0), + (395, 22014, 0, 0, 0), + (395, 31151, 0, 0, 0), + (395, 36001, 0, 0, 0), + (395, 37001, 0, 0, 0), + (395, 40004, 0, 0, 0), + (395, 100005, 10, 0, 0), + (395, 100005, 11, 0, 0), + (395, 110104, 10, 0, 0), + (395, 110109, 11, 0, 0), + (395, 130036, 0, 0, 0), + (395, 140020, 0, 0, 0), + (395, 160017, 0, 0, 0), + (395, 180013, 0, 0, 0), + (395, 190015, 0, 0, 0), + (395, 200051, 0, 0, 0), + (395, 230002, 0, 0, 0), + (395, 240006, 0, 0, 0), + (395, 250006, 0, 0, 0), + (395, 280006, 0, 0, 0), + (395, 290005, 0, 0, 0), + (395, 300008, 0, 0, 0), + (395, 320031, 0, 0, 0), + (395, 330027, 0, 0, 0), + (395, 340003, 0, 0, 0), + (395, 1000025, 0, 0, 0), + (395, 1100027, 0, 0, 0), + (395, 1200024, 0, 0, 0), + (396, 1001, 0, 0, 0), + (396, 2001, 0, 0, 0), + (396, 4001, 0, 0, 0), + (396, 5001, 0, 0, 0), + (396, 6001, 0, 0, 0), + (396, 10030, 10, 0, 0), + (396, 10030, 11, 0, 0), + (396, 11008, 10, 0, 0), + (396, 11008, 11, 0, 0), + (396, 12038, 11, 0, 0), + (396, 12040, 10, 0, 0), + (396, 14003, 11, 0, 0), + (396, 15001, 0, 0, 0), + (396, 20113, 0, 0, 0), + (396, 22009, 0, 0, 0), + (396, 31153, 0, 0, 0), + (396, 36001, 0, 0, 0), + (396, 37001, 0, 0, 0), + (396, 40016, 0, 0, 0), + (396, 100129, 10, 0, 0), + (396, 100129, 11, 0, 0), + (396, 110080, 10, 0, 0), + (396, 110109, 11, 0, 0), + (396, 130046, 0, 0, 0), + (396, 140019, 0, 0, 0), + (396, 160017, 0, 0, 0), + (396, 180013, 0, 0, 0), + (396, 190015, 0, 0, 0), + (396, 200051, 0, 0, 0), + (396, 230004, 0, 0, 0), + (396, 240006, 0, 0, 0), + (396, 250006, 0, 0, 0), + (396, 280006, 0, 0, 0), + (396, 290005, 0, 0, 0), + (396, 300008, 0, 0, 0), + (396, 320031, 0, 0, 0), + (396, 330027, 0, 0, 0), + (396, 340003, 0, 0, 0), + (396, 1000025, 0, 0, 0), + (396, 1100027, 0, 0, 0), + (396, 1200024, 0, 0, 0), + (397, 1001, 0, 0, 0), + (397, 2001, 0, 0, 0), + (397, 4001, 0, 0, 0), + (397, 5001, 0, 0, 0), + (397, 6001, 0, 0, 0), + (397, 10030, 10, 0, 0), + (397, 10030, 11, 0, 0), + (397, 11008, 10, 0, 0), + (397, 11008, 11, 0, 0), + (397, 12038, 11, 0, 0), + (397, 12040, 10, 0, 0), + (397, 15001, 0, 0, 0), + (397, 20128, 0, 0, 0), + (397, 22009, 0, 0, 0), + (397, 25005, 0, 0, 0), + (397, 31153, 0, 0, 0), + (397, 36001, 0, 0, 0), + (397, 37001, 0, 0, 0), + (397, 40023, 0, 0, 0), + (397, 100095, 10, 0, 0), + (397, 100095, 11, 0, 0), + (397, 110094, 10, 0, 0), + (397, 110094, 11, 0, 0), + (397, 130036, 0, 0, 0), + (397, 140020, 0, 0, 0), + (397, 160017, 0, 0, 0), + (397, 180013, 0, 0, 0), + (397, 190015, 0, 0, 0), + (397, 200051, 0, 0, 0), + (397, 230004, 0, 0, 0), + (397, 240006, 0, 0, 0), + (397, 250004, 0, 0, 0), + (397, 280006, 0, 0, 0), + (397, 290005, 0, 0, 0), + (397, 300008, 0, 0, 0), + (397, 320031, 0, 0, 0), + (397, 330027, 0, 0, 0), + (397, 340003, 0, 0, 0), + (397, 350005, 0, 0, 0), + (397, 1000025, 0, 0, 0), + (397, 1100014, 0, 0, 0), + (397, 1200024, 0, 0, 0), + (398, 1001, 0, 0, 0), + (398, 2001, 0, 0, 0), + (398, 4001, 0, 0, 0), + (398, 5001, 0, 0, 0), + (398, 6001, 0, 0, 0), + (398, 10021, 10, 0, 0), + (398, 10021, 11, 0, 0), + (398, 11008, 10, 0, 0), + (398, 11008, 11, 0, 0), + (398, 12038, 11, 0, 0), + (398, 12040, 10, 0, 0), + (398, 14003, 11, 0, 0), + (398, 15001, 0, 0, 0), + (398, 20125, 0, 0, 0), + (398, 22009, 0, 0, 0), + (398, 31153, 0, 0, 0), + (398, 36001, 0, 0, 0), + (398, 37001, 0, 0, 0), + (398, 40020, 0, 0, 0), + (398, 100096, 10, 0, 0), + (398, 100096, 11, 0, 0), + (398, 110080, 10, 0, 0), + (398, 110109, 11, 0, 0), + (398, 130046, 0, 0, 0), + (398, 140002, 0, 0, 0), + (398, 160017, 0, 0, 0), + (398, 180013, 0, 0, 0), + (398, 190015, 0, 0, 0), + (398, 200051, 0, 0, 0), + (398, 230004, 0, 0, 0), + (398, 240006, 0, 0, 0), + (398, 250004, 0, 0, 0), + (398, 280006, 0, 0, 0), + (398, 290005, 0, 0, 0), + (398, 300008, 0, 0, 0), + (398, 320031, 0, 0, 0), + (398, 330027, 0, 0, 0), + (398, 340003, 0, 0, 0), + (398, 1000025, 0, 0, 0), + (398, 1100026, 0, 0, 0), + (398, 1200024, 0, 0, 0), + (399, 1001, 0, 0, 0), + (399, 2001, 0, 0, 0), + (399, 4001, 0, 0, 0), + (399, 5001, 0, 0, 0), + (399, 6001, 0, 0, 0), + (399, 10030, 10, 0, 0), + (399, 10030, 11, 0, 0), + (399, 11008, 10, 0, 0), + (399, 11008, 11, 0, 0), + (399, 12038, 11, 0, 0), + (399, 12040, 10, 0, 0), + (399, 14003, 11, 0, 0), + (399, 15001, 0, 0, 0), + (399, 20117, 0, 0, 0), + (399, 22009, 0, 0, 0), + (399, 29002, 0, 0, 0), + (399, 30004, 0, 0, 0), + (399, 31153, 0, 0, 0), + (399, 36001, 0, 0, 0), + (399, 37001, 0, 0, 0), + (399, 40021, 0, 0, 0), + (399, 100127, 10, 0, 0), + (399, 100127, 11, 0, 0), + (399, 110172, 10, 0, 0), + (399, 110172, 11, 0, 0), + (399, 130016, 0, 0, 0), + (399, 140002, 0, 0, 0), + (399, 160032, 0, 0, 0), + (399, 180033, 0, 0, 0), + (399, 190026, 0, 0, 0), + (399, 200010, 0, 0, 0), + (399, 230001, 0, 0, 0), + (399, 240007, 0, 0, 0), + (399, 250007, 0, 0, 0), + (399, 280040, 0, 0, 0), + (399, 290005, 0, 0, 0), + (399, 300008, 0, 0, 0), + (399, 320043, 0, 0, 0), + (399, 330047, 0, 0, 0), + (399, 340003, 0, 0, 0), + (399, 1000033, 0, 0, 0), + (399, 1100039, 0, 0, 0), + (399, 1200029, 0, 0, 0), + (400, 1001, 0, 0, 0), + (400, 2001, 0, 0, 0), + (400, 4001, 0, 0, 0), + (400, 5001, 0, 0, 0), + (400, 6001, 0, 0, 0), + (400, 10021, 10, 0, 0), + (400, 10021, 11, 0, 0), + (400, 11008, 10, 0, 0), + (400, 11008, 11, 0, 0), + (400, 12038, 11, 0, 0), + (400, 12040, 10, 0, 0), + (400, 13010, 10, 0, 0), + (400, 14003, 11, 0, 0), + (400, 15001, 0, 0, 0), + (400, 20108, 0, 0, 0), + (400, 22014, 0, 0, 0), + (400, 31153, 0, 0, 0), + (400, 36001, 0, 0, 0), + (400, 37001, 0, 0, 0), + (400, 40010, 0, 0, 0), + (400, 100129, 10, 0, 0), + (400, 100129, 11, 0, 0), + (400, 110108, 10, 0, 0), + (400, 110109, 11, 0, 0), + (400, 130034, 0, 0, 0), + (400, 140019, 0, 0, 0), + (400, 160032, 0, 0, 0), + (400, 180033, 0, 0, 0), + (400, 190026, 0, 0, 0), + (400, 200010, 0, 0, 0), + (400, 230003, 0, 0, 0), + (400, 240007, 0, 0, 0), + (400, 250005, 0, 0, 0), + (400, 280040, 0, 0, 0), + (400, 290005, 0, 0, 0), + (400, 300008, 0, 0, 0), + (400, 320043, 0, 0, 0), + (400, 330047, 0, 0, 0), + (400, 340003, 0, 0, 0), + (400, 1000033, 0, 0, 0), + (400, 1100039, 0, 0, 0), + (400, 1200029, 0, 0, 0), + (401, 1001, 0, 0, 0), + (401, 2001, 0, 0, 0), + (401, 4001, 0, 0, 0), + (401, 5001, 0, 0, 0), + (401, 6001, 0, 0, 0), + (401, 10030, 10, 0, 0), + (401, 10030, 11, 0, 0), + (401, 11008, 10, 0, 0), + (401, 11008, 11, 0, 0), + (401, 12038, 11, 0, 0), + (401, 12040, 10, 0, 0), + (401, 13012, 10, 0, 0), + (401, 14003, 11, 0, 0), + (401, 15001, 0, 0, 0), + (401, 20134, 0, 0, 0), + (401, 22001, 0, 0, 0), + (401, 31153, 0, 0, 0), + (401, 36001, 0, 0, 0), + (401, 37001, 0, 0, 0), + (401, 40035, 0, 0, 0), + (401, 100005, 10, 0, 0), + (401, 100005, 11, 0, 0), + (401, 110104, 10, 0, 0), + (401, 110109, 11, 0, 0), + (401, 130046, 0, 0, 0), + (401, 140019, 0, 0, 0), + (401, 160078, 0, 0, 0), + (401, 180037, 0, 0, 0), + (401, 190069, 0, 0, 0), + (401, 200053, 0, 0, 0), + (401, 230003, 0, 0, 0), + (401, 240007, 0, 0, 0), + (401, 250007, 0, 0, 0), + (401, 280042, 0, 0, 0), + (401, 290005, 0, 0, 0), + (401, 300008, 0, 0, 0), + (401, 320012, 0, 0, 0), + (401, 330019, 0, 0, 0), + (401, 340003, 0, 0, 0), + (401, 1000011, 0, 0, 0), + (401, 1100045, 0, 0, 0), + (401, 1200039, 0, 0, 0), + (402, 1001, 0, 1, 1), + (402, 2001, 0, 1, 1), + (402, 4001, 0, 0, 0), + (402, 5001, 0, 0, 0), + (402, 6001, 0, 0, 0), + (402, 10009, 11, 0, 0), + (402, 10010, 10, 0, 0), + (402, 11004, 10, 0, 0), + (402, 11004, 11, 0, 0), + (402, 12012, 11, 0, 0), + (402, 12064, 10, 0, 0), + (402, 13002, 10, 0, 0), + (402, 13004, 11, 0, 0), + (402, 15001, 0, 0, 0), + (402, 20127, 0, 0, 0), + (402, 22009, 0, 0, 0), + (402, 31153, 0, 0, 0), + (402, 36001, 0, 0, 0), + (402, 37001, 0, 0, 0), + (402, 40015, 0, 0, 0), + (402, 100002, 10, 0, 0), + (402, 100002, 11, 0, 0), + (402, 110082, 10, 1, 1), + (402, 110084, 11, 1, 1), + (402, 130045, 0, 0, 0), + (402, 140018, 0, 0, 0), + (402, 160090, 0, 0, 0), + (402, 180049, 0, 0, 0), + (402, 190013, 0, 0, 0), + (402, 200057, 0, 0, 0), + (402, 230001, 0, 0, 0), + (402, 240001, 0, 0, 0), + (402, 250002, 0, 0, 0), + (402, 280054, 0, 0, 0), + (402, 290006, 0, 0, 0), + (402, 300011, 0, 0, 0), + (402, 320104, 0, 0, 0), + (402, 330033, 0, 0, 0), + (402, 340002, 0, 0, 0), + (402, 1000162, 0, 0, 0), + (402, 1100124, 0, 0, 0), + (402, 1200013, 0, 0, 0), + (403, 1001, 0, 0, 0), + (403, 2001, 0, 0, 0), + (403, 4001, 0, 0, 0), + (403, 5001, 0, 0, 0), + (403, 6001, 0, 0, 0), + (403, 10002, 10, 0, 0), + (403, 10002, 11, 0, 0), + (403, 11004, 10, 0, 0), + (403, 11011, 11, 0, 0), + (403, 12011, 10, 0, 0), + (403, 12011, 11, 0, 0), + (403, 13004, 10, 0, 0), + (403, 13006, 11, 0, 0), + (403, 14002, 10, 0, 0), + (403, 14002, 11, 0, 0), + (403, 15001, 0, 0, 0), + (403, 20140, 0, 0, 0), + (403, 22009, 0, 0, 0), + (403, 25005, 0, 0, 0), + (403, 29001, 0, 0, 0), + (403, 30003, 0, 0, 0), + (403, 31153, 0, 0, 0), + (403, 36001, 0, 0, 0), + (403, 37001, 0, 0, 0), + (403, 40042, 0, 0, 0), + (403, 100002, 10, 0, 0), + (403, 100002, 11, 0, 0), + (403, 110102, 10, 1, 1), + (403, 110103, 11, 1, 1), + (403, 130048, 0, 0, 0), + (403, 140009, 0, 0, 0), + (403, 150004, 0, 0, 0), + (403, 160012, 0, 0, 0), + (403, 180014, 0, 0, 0), + (403, 190016, 0, 0, 0), + (403, 200036, 0, 0, 0), + (403, 230001, 0, 0, 0), + (403, 240007, 0, 0, 0), + (403, 250002, 0, 0, 0), + (403, 280038, 0, 0, 0), + (403, 290006, 0, 0, 0), + (403, 300007, 0, 0, 0), + (403, 320078, 0, 0, 0), + (403, 330040, 0, 0, 0), + (403, 350003, 0, 0, 0), + (403, 1000071, 0, 0, 0), + (403, 1100068, 0, 0, 0), + (403, 1200023, 0, 0, 0), + (404, 1001, 0, 0, 0), + (404, 2001, 0, 0, 0), + (404, 4001, 0, 0, 0), + (404, 5001, 0, 0, 0), + (404, 6001, 0, 0, 0), + (404, 10014, 11, 0, 0), + (404, 10021, 10, 0, 0), + (404, 11009, 10, 0, 0), + (404, 11009, 11, 0, 0), + (404, 12011, 11, 0, 0), + (404, 12064, 10, 0, 0), + (404, 13013, 10, 0, 0), + (404, 13016, 11, 0, 0), + (404, 14003, 10, 0, 0), + (404, 14004, 0, 0, 0), + (404, 14004, 11, 0, 0), + (404, 15001, 0, 0, 0), + (404, 20207, 0, 0, 0), + (404, 22010, 0, 0, 0), + (404, 25005, 0, 0, 0), + (404, 29003, 0, 0, 0), + (404, 30006, 0, 0, 0), + (404, 31152, 0, 0, 0), + (404, 36001, 0, 0, 0), + (404, 37001, 0, 0, 0), + (404, 40060, 0, 0, 0), + (404, 100005, 10, 0, 0), + (404, 100005, 11, 0, 0), + (404, 110173, 10, 1, 1), + (404, 110174, 11, 1, 1), + (404, 130051, 0, 0, 0), + (404, 140007, 0, 0, 0), + (404, 150003, 0, 0, 0), + (404, 160097, 0, 0, 0), + (404, 180060, 0, 0, 0), + (404, 190028, 0, 0, 0), + (404, 200012, 0, 0, 0), + (404, 230005, 0, 0, 0), + (404, 240007, 0, 0, 0), + (404, 250005, 0, 0, 0), + (404, 280032, 0, 0, 0), + (404, 290005, 0, 0, 0), + (404, 320007, 0, 0, 0), + (404, 330022, 0, 0, 0), + (404, 350005, 0, 0, 0), + (404, 1000054, 0, 0, 0), + (404, 1100043, 0, 0, 0), + (404, 1200099, 0, 0, 0), + (405, 1001, 0, 0, 0), + (405, 2001, 0, 0, 0), + (405, 4001, 0, 0, 0), + (405, 5001, 0, 0, 0), + (405, 6001, 0, 0, 0), + (405, 10021, 10, 0, 0), + (405, 10026, 11, 0, 0), + (405, 11006, 10, 0, 0), + (405, 11006, 11, 0, 0), + (405, 12007, 11, 0, 0), + (405, 12021, 10, 0, 0), + (405, 13006, 10, 0, 0), + (405, 15001, 0, 0, 0), + (405, 20117, 0, 0, 0), + (405, 22009, 0, 0, 0), + (405, 31153, 0, 0, 0), + (405, 36001, 0, 0, 0), + (405, 37001, 0, 0, 0), + (405, 40021, 0, 0, 0), + (405, 100120, 10, 0, 0), + (405, 100120, 11, 0, 0), + (405, 110174, 10, 0, 0), + (405, 110174, 11, 0, 0), + (405, 130008, 0, 0, 0), + (405, 140005, 0, 0, 0), + (405, 160009, 0, 0, 0), + (405, 180014, 0, 0, 0), + (405, 190016, 0, 0, 0), + (405, 200036, 0, 0, 0), + (405, 230003, 0, 0, 0), + (405, 240006, 0, 0, 0), + (405, 250006, 0, 0, 0), + (405, 280068, 0, 0, 0), + (405, 290006, 0, 0, 0), + (405, 300006, 0, 0, 0), + (405, 320030, 0, 0, 0), + (405, 330070, 0, 0, 0), + (405, 340003, 0, 0, 0), + (405, 1000073, 0, 0, 0), + (405, 1100025, 0, 0, 0), + (405, 1200023, 0, 0, 0), + (406, 1001, 0, 1, 1), + (406, 2001, 0, 1, 1), + (406, 4001, 0, 0, 0), + (406, 5001, 0, 0, 0), + (406, 6001, 0, 0, 0), + (406, 10001, 11, 0, 0), + (406, 10021, 10, 0, 0), + (406, 11009, 10, 0, 0), + (406, 11009, 11, 0, 0), + (406, 12009, 11, 0, 0), + (406, 12010, 10, 0, 0), + (406, 13011, 10, 0, 0), + (406, 13012, 11, 0, 0), + (406, 15001, 0, 0, 0), + (406, 20207, 0, 0, 0), + (406, 22010, 0, 0, 0), + (406, 31152, 0, 0, 0), + (406, 36001, 0, 0, 0), + (406, 37001, 0, 0, 0), + (406, 40060, 0, 0, 0), + (406, 100005, 10, 0, 0), + (406, 100005, 11, 0, 0), + (406, 110174, 10, 1, 1), + (406, 110174, 11, 1, 1), + (406, 130003, 0, 0, 0), + (406, 140010, 0, 0, 0), + (406, 160032, 0, 0, 0), + (406, 180035, 0, 0, 0), + (406, 190053, 0, 0, 0), + (406, 200043, 0, 0, 0), + (406, 230003, 0, 0, 0), + (406, 240006, 0, 0, 0), + (406, 250006, 0, 0, 0), + (406, 280040, 0, 0, 0), + (406, 290006, 0, 0, 0), + (406, 300010, 0, 0, 0), + (406, 320042, 0, 0, 0), + (406, 330027, 0, 0, 0), + (406, 340004, 0, 0, 0), + (406, 1000052, 0, 0, 0), + (406, 1100040, 0, 0, 0), + (406, 1200029, 0, 0, 0), + (407, 1001, 0, 1, 1), + (407, 2001, 0, 1, 1), + (407, 4001, 0, 0, 0), + (407, 5001, 0, 0, 0), + (407, 6001, 0, 0, 0), + (407, 10001, 11, 0, 0), + (407, 10021, 10, 0, 0), + (407, 11006, 10, 0, 0), + (407, 11006, 11, 0, 0), + (407, 12008, 11, 0, 0), + (407, 12009, 10, 0, 0), + (407, 13006, 10, 0, 0), + (407, 15001, 0, 0, 0), + (407, 20213, 0, 0, 0), + (407, 22001, 0, 0, 0), + (407, 31153, 0, 0, 0), + (407, 36001, 0, 0, 0), + (407, 37001, 0, 0, 0), + (407, 40058, 0, 0, 0), + (407, 100003, 10, 0, 0), + (407, 100003, 11, 0, 0), + (407, 110174, 10, 1, 1), + (407, 110174, 11, 1, 1), + (407, 130003, 0, 0, 0), + (407, 140007, 0, 0, 0), + (407, 160078, 0, 0, 0), + (407, 180037, 0, 0, 0), + (407, 190087, 0, 0, 0), + (407, 200071, 0, 0, 0), + (407, 230003, 0, 0, 0), + (407, 240006, 0, 0, 0), + (407, 250006, 0, 0, 0), + (407, 280042, 0, 0, 0), + (407, 290006, 0, 0, 0), + (407, 300011, 0, 0, 0), + (407, 320012, 0, 0, 0), + (407, 330027, 0, 0, 0), + (407, 340003, 0, 0, 0), + (407, 1000011, 0, 0, 0), + (407, 1100045, 0, 0, 0), + (407, 1200039, 0, 0, 0), + (408, 1001, 0, 1, 1), + (408, 2001, 0, 1, 1), + (408, 4001, 0, 0, 0), + (408, 5001, 0, 0, 0), + (408, 6001, 0, 0, 0), + (408, 10001, 11, 0, 0), + (408, 10021, 10, 0, 0), + (408, 11007, 10, 0, 0), + (408, 11007, 11, 0, 0), + (408, 12006, 11, 0, 0), + (408, 12008, 10, 0, 0), + (408, 13007, 11, 0, 0), + (408, 13009, 10, 0, 0), + (408, 15001, 0, 0, 0), + (408, 20111, 0, 0, 0), + (408, 22014, 0, 0, 0), + (408, 29002, 0, 0, 0), + (408, 30003, 0, 0, 0), + (408, 31153, 0, 0, 0), + (408, 36001, 0, 0, 0), + (408, 37001, 0, 0, 0), + (408, 40013, 0, 0, 0), + (408, 100005, 10, 0, 0), + (408, 100005, 11, 0, 0), + (408, 110174, 10, 1, 1), + (408, 110174, 11, 1, 1), + (408, 130003, 0, 0, 0), + (408, 140009, 0, 0, 0), + (408, 160084, 0, 0, 0), + (408, 180034, 0, 0, 0), + (408, 190052, 0, 0, 0), + (408, 200011, 0, 0, 0), + (408, 230003, 0, 0, 0), + (408, 240002, 0, 0, 0), + (408, 250005, 0, 0, 0), + (408, 280071, 0, 0, 0), + (408, 290005, 0, 0, 0), + (408, 300009, 0, 0, 0), + (408, 320097, 0, 0, 0), + (408, 330070, 0, 0, 0), + (408, 340004, 0, 0, 0), + (408, 1000139, 0, 0, 0), + (408, 1100101, 0, 0, 0), + (408, 1200101, 0, 0, 0), + (409, 1001, 0, 1, 1), + (409, 2001, 0, 1, 1), + (409, 4001, 0, 0, 0), + (409, 5001, 0, 0, 0), + (409, 6001, 0, 0, 0), + (409, 10001, 11, 0, 0), + (409, 10021, 10, 0, 0), + (409, 11007, 10, 0, 0), + (409, 11007, 11, 0, 0), + (409, 12008, 11, 0, 0), + (409, 12009, 10, 0, 0), + (409, 15001, 0, 0, 0), + (409, 20220, 0, 0, 0), + (409, 22009, 0, 0, 0), + (409, 31153, 0, 0, 0), + (409, 36001, 0, 0, 0), + (409, 37001, 0, 0, 0), + (409, 40025, 0, 0, 0), + (409, 100004, 10, 0, 0), + (409, 100004, 11, 0, 0), + (409, 110174, 10, 1, 1), + (409, 110174, 11, 1, 1), + (409, 130003, 0, 0, 0), + (409, 140007, 0, 0, 0), + (409, 160007, 0, 0, 0), + (409, 180005, 0, 0, 0), + (409, 190062, 0, 0, 0), + (409, 200036, 0, 0, 0), + (409, 230003, 0, 0, 0), + (409, 240006, 0, 0, 0), + (409, 250006, 0, 0, 0), + (409, 280007, 0, 0, 0), + (409, 290005, 0, 0, 0), + (409, 300007, 0, 0, 0), + (409, 320029, 0, 0, 0), + (409, 330027, 0, 0, 0), + (409, 340004, 0, 0, 0), + (409, 1000073, 0, 0, 0), + (409, 1100025, 0, 0, 0), + (409, 1200023, 0, 0, 0), + (410, 1001, 0, 1, 1), + (410, 2001, 0, 1, 1), + (410, 4001, 0, 0, 0), + (410, 5001, 0, 0, 0), + (410, 6001, 0, 0, 0), + (410, 10001, 11, 0, 0), + (410, 10021, 0, 0, 0), + (410, 10021, 10, 0, 0), + (410, 11007, 10, 0, 0), + (410, 11007, 11, 0, 0), + (410, 12006, 11, 0, 0), + (410, 12009, 10, 0, 0), + (410, 13008, 11, 0, 0), + (410, 13011, 10, 0, 0), + (410, 15001, 0, 0, 0), + (410, 20130, 0, 0, 0), + (410, 22006, 0, 0, 0), + (410, 31153, 0, 0, 0), + (410, 36001, 0, 0, 0), + (410, 37001, 0, 0, 0), + (410, 40055, 0, 0, 0), + (410, 100003, 10, 0, 0), + (410, 100003, 11, 0, 0), + (410, 110174, 10, 1, 1), + (410, 110174, 11, 1, 1), + (410, 130003, 0, 0, 0), + (410, 140010, 0, 0, 0), + (410, 160042, 0, 0, 0), + (410, 180029, 0, 0, 0), + (410, 190050, 0, 0, 0), + (410, 200009, 0, 0, 0), + (410, 230003, 0, 0, 0), + (410, 240006, 0, 0, 0), + (410, 250006, 0, 0, 0), + (410, 280063, 0, 0, 0), + (410, 290005, 0, 0, 0), + (410, 300009, 0, 0, 0), + (410, 320076, 0, 0, 0), + (410, 330071, 0, 0, 0), + (410, 340004, 0, 0, 0), + (410, 1000131, 0, 0, 0), + (410, 1100037, 0, 0, 0), + (410, 1200107, 0, 0, 0), + (411, 1001, 0, 0, 0), + (411, 2001, 0, 0, 0), + (411, 4001, 0, 0, 0), + (411, 5001, 0, 0, 0), + (411, 6001, 0, 0, 0), + (411, 10002, 10, 0, 0), + (411, 10010, 11, 0, 0), + (411, 11004, 10, 0, 0), + (411, 11004, 11, 0, 0), + (411, 12006, 10, 0, 0), + (411, 12022, 11, 0, 0), + (411, 13012, 10, 0, 0), + (411, 15001, 0, 0, 0), + (411, 20132, 0, 0, 0), + (411, 22008, 0, 0, 0), + (411, 31153, 0, 0, 0), + (411, 36001, 0, 0, 0), + (411, 37001, 0, 0, 0), + (411, 40032, 0, 0, 0), + (411, 100132, 10, 0, 0), + (411, 100132, 11, 0, 0), + (411, 110067, 10, 0, 0), + (411, 110067, 11, 0, 0), + (411, 130044, 0, 0, 0), + (411, 140008, 0, 0, 0), + (411, 160055, 0, 0, 0), + (411, 180015, 0, 0, 0), + (411, 190017, 0, 0, 0), + (411, 200029, 0, 0, 0), + (411, 230003, 0, 0, 0), + (411, 240006, 0, 0, 0), + (411, 250002, 0, 0, 0), + (411, 280036, 0, 0, 0), + (411, 290007, 0, 0, 0), + (411, 300004, 0, 0, 0), + (411, 320004, 0, 0, 0), + (411, 330067, 0, 0, 0), + (411, 340002, 0, 0, 0), + (411, 1000113, 0, 0, 0), + (411, 1100044, 0, 0, 0), + (411, 1200015, 0, 0, 0), + (412, 1001, 0, 0, 0), + (412, 2001, 0, 0, 0), + (412, 4001, 0, 0, 0), + (412, 5001, 0, 0, 0), + (412, 6001, 0, 0, 0), + (412, 10010, 11, 0, 0), + (412, 10017, 10, 0, 0), + (412, 11009, 10, 0, 0), + (412, 11009, 11, 0, 0), + (412, 12008, 10, 0, 0), + (412, 12029, 11, 0, 0), + (412, 13007, 11, 0, 0), + (412, 13009, 10, 0, 0), + (412, 15001, 0, 0, 0), + (412, 16001, 0, 0, 0), + (412, 20111, 0, 0, 0), + (412, 22014, 0, 0, 0), + (412, 29002, 10, 0, 0), + (412, 30003, 11, 0, 0), + (412, 31153, 0, 0, 0), + (412, 36001, 0, 0, 0), + (412, 37001, 0, 0, 0), + (412, 40013, 0, 0, 0), + (412, 100112, 10, 0, 0), + (412, 100112, 11, 0, 0), + (412, 110083, 10, 0, 0), + (412, 110084, 11, 0, 0), + (412, 130039, 0, 0, 0), + (412, 140020, 0, 0, 0), + (412, 160027, 0, 0, 0), + (412, 180034, 0, 0, 0), + (412, 190001, 0, 0, 0), + (412, 200054, 0, 0, 0), + (412, 230003, 0, 0, 0), + (412, 240005, 0, 0, 0), + (412, 250001, 0, 0, 0), + (412, 280041, 0, 0, 0), + (412, 290002, 0, 0, 0), + (412, 300011, 0, 0, 0), + (412, 320087, 0, 0, 0), + (412, 330025, 0, 0, 0), + (412, 340003, 0, 0, 0), + (412, 1000139, 0, 0, 0), + (412, 1100005, 0, 0, 0), + (412, 1200038, 0, 0, 0), + (413, 1001, 0, 0, 0), + (413, 2001, 0, 0, 0), + (413, 4001, 0, 0, 0), + (413, 5001, 0, 0, 0), + (413, 6001, 0, 0, 0), + (413, 10006, 11, 0, 0), + (413, 10015, 10, 0, 0), + (413, 11006, 10, 0, 0), + (413, 11006, 11, 0, 0), + (413, 12021, 10, 0, 0), + (413, 12029, 11, 0, 0), + (413, 13006, 10, 0, 0), + (413, 15001, 0, 0, 0), + (413, 20114, 0, 0, 0), + (413, 22009, 0, 0, 0), + (413, 31153, 0, 0, 0), + (413, 36001, 0, 0, 0), + (413, 37001, 0, 0, 0), + (413, 40018, 0, 0, 0), + (413, 100002, 10, 0, 0), + (413, 100002, 11, 0, 0), + (413, 110167, 10, 0, 0), + (413, 110168, 11, 0, 0), + (413, 130030, 0, 0, 0), + (413, 140009, 0, 0, 0), + (413, 160009, 0, 0, 0), + (413, 180014, 0, 0, 0), + (413, 190016, 0, 0, 0), + (413, 200002, 0, 0, 0), + (413, 230001, 0, 0, 0), + (413, 240006, 0, 0, 0), + (413, 250002, 0, 0, 0), + (413, 280024, 0, 0, 0), + (413, 290004, 0, 0, 0), + (413, 300001, 0, 0, 0), + (413, 320020, 0, 0, 0), + (413, 330034, 0, 0, 0), + (413, 340002, 0, 0, 0), + (413, 1000073, 0, 0, 0), + (413, 1100001, 0, 0, 0), + (413, 1200023, 0, 0, 0), + (414, 1001, 0, 0, 0), + (414, 2001, 0, 0, 0), + (414, 4001, 0, 0, 0), + (414, 5001, 0, 0, 0), + (414, 6001, 0, 0, 0), + (414, 10006, 11, 0, 0), + (414, 10015, 10, 0, 0), + (414, 11006, 10, 0, 0), + (414, 11006, 11, 0, 0), + (414, 12021, 10, 0, 0), + (414, 12029, 11, 0, 0), + (414, 13006, 10, 0, 0), + (414, 15001, 0, 0, 0), + (414, 20114, 0, 0, 0), + (414, 22009, 0, 0, 0), + (414, 31153, 0, 0, 0), + (414, 36001, 0, 0, 0), + (414, 37001, 0, 0, 0), + (414, 40018, 0, 0, 0), + (414, 100002, 10, 0, 0), + (414, 100002, 11, 0, 0), + (414, 110084, 10, 0, 0), + (414, 110168, 11, 0, 0), + (414, 130030, 0, 0, 0), + (414, 140009, 0, 0, 0), + (414, 160012, 0, 0, 0), + (414, 180014, 0, 0, 0), + (414, 190016, 0, 0, 0), + (414, 200002, 0, 0, 0), + (414, 230001, 0, 0, 0), + (414, 240001, 0, 0, 0), + (414, 250002, 0, 0, 0), + (414, 280016, 0, 0, 0), + (414, 290001, 0, 0, 0), + (414, 300001, 0, 0, 0), + (414, 320020, 0, 0, 0), + (414, 330018, 0, 0, 0), + (414, 340002, 0, 0, 0), + (414, 1000122, 0, 0, 0), + (414, 1100001, 0, 0, 0), + (414, 1200034, 0, 0, 0), + (415, 1001, 0, 0, 0), + (415, 2001, 0, 0, 0), + (415, 4001, 0, 0, 0), + (415, 5001, 0, 0, 0), + (415, 6001, 0, 0, 0), + (415, 10006, 11, 0, 0), + (415, 10015, 10, 0, 0), + (415, 11006, 10, 0, 0), + (415, 11006, 11, 0, 0), + (415, 12021, 10, 0, 0), + (415, 12029, 11, 0, 0), + (415, 13006, 10, 0, 0), + (415, 15001, 0, 0, 0), + (415, 20114, 0, 0, 0), + (415, 22009, 0, 0, 0), + (415, 31153, 0, 0, 0), + (415, 36001, 0, 0, 0), + (415, 37001, 0, 0, 0), + (415, 40018, 0, 0, 0), + (415, 100002, 10, 0, 0), + (415, 100002, 11, 0, 0), + (415, 110012, 10, 0, 0), + (415, 110012, 11, 0, 0), + (415, 130032, 0, 0, 0), + (415, 140009, 0, 0, 0), + (415, 160006, 0, 0, 0), + (415, 180014, 0, 0, 0), + (415, 190016, 0, 0, 0), + (415, 200002, 0, 0, 0), + (415, 230001, 0, 0, 0), + (415, 240001, 0, 0, 0), + (415, 250002, 0, 0, 0), + (415, 280024, 0, 0, 0), + (415, 290001, 0, 0, 0), + (415, 300001, 0, 0, 0), + (415, 320030, 0, 0, 0), + (415, 330013, 0, 0, 0), + (415, 340002, 0, 0, 0), + (415, 1000015, 0, 0, 0), + (415, 1100001, 0, 0, 0), + (415, 1200034, 0, 0, 0), + (416, 1001, 0, 0, 0), + (416, 2001, 0, 0, 0), + (416, 4001, 0, 0, 0), + (416, 5001, 0, 0, 0), + (416, 6001, 0, 0, 0), + (416, 10002, 10, 0, 0), + (416, 10010, 11, 0, 0), + (416, 11004, 10, 0, 0), + (416, 11004, 11, 0, 0), + (416, 12006, 10, 0, 0), + (416, 12022, 11, 0, 0), + (416, 13012, 10, 0, 0), + (416, 15001, 0, 0, 0), + (416, 20133, 0, 0, 0), + (416, 22008, 0, 0, 0), + (416, 31153, 0, 0, 0), + (416, 36001, 0, 0, 0), + (416, 37001, 0, 0, 0), + (416, 40033, 0, 0, 0), + (416, 100132, 10, 0, 0), + (416, 100132, 11, 0, 0), + (416, 110045, 10, 0, 0), + (416, 110045, 11, 0, 0), + (416, 130048, 0, 0, 0), + (416, 140004, 0, 0, 0), + (416, 160073, 0, 0, 0), + (416, 180015, 0, 0, 0), + (416, 190017, 0, 0, 0), + (416, 200029, 0, 0, 0), + (416, 230001, 0, 0, 0), + (416, 240005, 0, 0, 0), + (416, 250002, 0, 0, 0), + (416, 280036, 0, 0, 0), + (416, 290004, 0, 0, 0), + (416, 300001, 0, 0, 0), + (416, 320004, 0, 0, 0), + (416, 330066, 0, 0, 0), + (416, 340002, 0, 0, 0), + (416, 1000120, 0, 0, 0), + (416, 1100044, 0, 0, 0), + (416, 1200015, 0, 0, 0), + (417, 1001, 0, 0, 0), + (417, 2001, 0, 0, 0), + (417, 4001, 0, 0, 0), + (417, 5001, 0, 0, 0), + (417, 6001, 0, 0, 0), + (417, 10010, 10, 0, 0), + (417, 10010, 11, 0, 0), + (417, 11004, 10, 0, 0), + (417, 11004, 11, 0, 0), + (417, 12027, 10, 0, 0), + (417, 12029, 11, 0, 0), + (417, 13010, 10, 0, 0), + (417, 15001, 0, 0, 0), + (417, 20108, 0, 0, 0), + (417, 22014, 0, 0, 0), + (417, 31153, 0, 0, 0), + (417, 36001, 0, 0, 0), + (417, 37001, 0, 0, 0), + (417, 40013, 0, 0, 0), + (417, 100002, 10, 0, 0), + (417, 100002, 11, 0, 0), + (417, 110171, 10, 0, 0), + (417, 110171, 11, 0, 0), + (417, 130034, 0, 0, 0), + (417, 140019, 0, 0, 0), + (417, 160025, 0, 0, 0), + (417, 180030, 0, 0, 0), + (417, 190020, 0, 0, 0), + (417, 200004, 0, 0, 0), + (417, 230001, 0, 0, 0), + (417, 240001, 0, 0, 0), + (417, 250001, 0, 0, 0), + (417, 280018, 0, 0, 0), + (417, 290001, 0, 0, 0), + (417, 300001, 0, 0, 0), + (417, 320022, 0, 0, 0), + (417, 330003, 0, 0, 0), + (417, 340002, 0, 0, 0), + (417, 1000138, 0, 0, 0), + (417, 1100005, 0, 0, 0), + (417, 1200017, 0, 0, 0), + (418, 1001, 0, 0, 0), + (418, 2001, 0, 0, 0), + (418, 4001, 0, 0, 0), + (418, 5001, 0, 0, 0), + (418, 6001, 0, 0, 0), + (418, 10002, 10, 0, 0), + (418, 10010, 11, 0, 0), + (418, 11004, 10, 0, 0), + (418, 11004, 11, 0, 0), + (418, 12009, 10, 0, 0), + (418, 12021, 11, 0, 0), + (418, 13009, 10, 0, 0), + (418, 15001, 0, 0, 0), + (418, 20121, 0, 0, 0), + (418, 22009, 0, 0, 0), + (418, 31153, 0, 0, 0), + (418, 36001, 0, 0, 0), + (418, 37001, 0, 0, 0), + (418, 40030, 0, 0, 0), + (418, 100002, 10, 0, 0), + (418, 100002, 11, 0, 0), + (418, 110139, 10, 0, 0), + (418, 110139, 11, 0, 0), + (418, 130023, 0, 0, 0), + (418, 140016, 0, 0, 0), + (418, 160012, 0, 0, 0), + (418, 180003, 0, 0, 0), + (418, 190016, 0, 0, 0), + (418, 200002, 0, 0, 0), + (418, 230001, 0, 0, 0), + (418, 240006, 0, 0, 0), + (418, 250002, 0, 0, 0), + (418, 280016, 0, 0, 0), + (418, 290004, 0, 0, 0), + (418, 300001, 0, 0, 0), + (418, 320020, 0, 0, 0), + (418, 330008, 0, 0, 0), + (418, 340002, 0, 0, 0), + (418, 1000122, 0, 0, 0), + (418, 1100001, 0, 0, 0), + (418, 1200034, 0, 0, 0), + (419, 1001, 0, 0, 0), + (419, 2001, 0, 0, 0), + (419, 4001, 0, 0, 0), + (419, 5001, 0, 0, 0), + (419, 6001, 0, 0, 0), + (419, 10021, 10, 0, 0), + (419, 10021, 11, 0, 0), + (419, 11008, 10, 0, 0), + (419, 11008, 11, 0, 0), + (419, 12039, 11, 0, 0), + (419, 12040, 10, 0, 0), + (419, 15001, 0, 0, 0), + (419, 20112, 0, 0, 0), + (419, 22014, 0, 0, 0), + (419, 31151, 0, 0, 0), + (419, 36001, 0, 0, 0), + (419, 37001, 0, 0, 0), + (419, 40004, 0, 0, 0), + (419, 100005, 10, 0, 0), + (419, 100005, 11, 0, 0), + (419, 110173, 10, 0, 0), + (419, 110174, 11, 0, 0), + (419, 130036, 0, 0, 0), + (419, 140020, 0, 0, 0), + (419, 160017, 0, 0, 0), + (419, 180013, 0, 0, 0), + (419, 190015, 0, 0, 0), + (419, 200051, 0, 0, 0), + (419, 230002, 0, 0, 0), + (419, 240006, 0, 0, 0), + (419, 250006, 0, 0, 0), + (419, 280006, 0, 0, 0), + (419, 290005, 0, 0, 0), + (419, 300008, 0, 0, 0), + (419, 320031, 0, 0, 0), + (419, 330027, 0, 0, 0), + (419, 340003, 0, 0, 0), + (419, 1000025, 0, 0, 0), + (419, 1100027, 0, 0, 0), + (419, 1200024, 0, 0, 0), + (420, 1001, 0, 0, 0), + (420, 2001, 0, 0, 0), + (420, 4001, 0, 0, 0), + (420, 5001, 0, 0, 0), + (420, 6001, 0, 0, 0), + (420, 10009, 11, 0, 0), + (420, 10010, 10, 0, 0), + (420, 11004, 10, 0, 0), + (420, 11004, 11, 0, 0), + (420, 12007, 11, 0, 0), + (420, 12008, 10, 0, 0), + (420, 15001, 0, 0, 0), + (420, 20103, 0, 0, 0), + (420, 22014, 0, 0, 0), + (420, 31153, 0, 0, 0), + (420, 36001, 0, 0, 0), + (420, 37001, 0, 0, 0), + (420, 40005, 0, 0, 0), + (420, 100002, 10, 0, 0), + (420, 100002, 11, 0, 0), + (420, 110100, 10, 0, 0), + (420, 110100, 11, 0, 0), + (420, 130012, 0, 0, 0), + (420, 140014, 0, 0, 0), + (420, 160022, 0, 0, 0), + (420, 180019, 0, 0, 0), + (420, 190021, 0, 0, 0), + (420, 200019, 0, 0, 0), + (420, 230001, 0, 0, 0), + (420, 240003, 0, 0, 0), + (420, 250001, 0, 0, 0), + (420, 280019, 0, 0, 0), + (420, 290001, 0, 0, 0), + (420, 300001, 0, 0, 0), + (420, 320023, 0, 0, 0), + (420, 330006, 0, 0, 0), + (420, 340001, 0, 0, 0), + (420, 1000004, 0, 0, 0), + (420, 1100016, 0, 0, 0), + (420, 1200018, 0, 0, 0), + (421, 1001, 0, 0, 0), + (421, 2001, 0, 0, 0), + (421, 4001, 0, 0, 0), + (421, 5001, 0, 0, 0), + (421, 6001, 0, 0, 0), + (421, 10011, 10, 0, 0), + (421, 10011, 11, 0, 0), + (421, 11004, 10, 0, 0), + (421, 11004, 11, 0, 0), + (421, 12008, 11, 0, 0), + (421, 12031, 10, 0, 0), + (421, 15001, 0, 0, 0), + (421, 20118, 0, 0, 0), + (421, 22009, 0, 0, 0), + (421, 31153, 0, 0, 0), + (421, 36001, 0, 0, 0), + (421, 37001, 0, 0, 0), + (421, 40019, 0, 0, 0), + (421, 100002, 10, 0, 0), + (421, 100002, 11, 0, 0), + (421, 110100, 10, 0, 0), + (421, 110100, 11, 0, 0), + (421, 130032, 0, 0, 0), + (421, 140016, 0, 0, 0), + (421, 160011, 0, 0, 0), + (421, 180062, 0, 0, 0), + (421, 190067, 0, 0, 0), + (421, 200048, 0, 0, 0), + (421, 230001, 0, 0, 0), + (421, 240001, 0, 0, 0), + (421, 250002, 0, 0, 0), + (421, 280051, 0, 0, 0), + (421, 290004, 0, 0, 0), + (421, 300001, 0, 0, 0), + (421, 320100, 0, 0, 0), + (421, 330056, 0, 0, 0), + (421, 340002, 0, 0, 0), + (421, 1000057, 0, 0, 0), + (421, 1100120, 0, 0, 0), + (421, 1200049, 0, 0, 0), + (422, 1001, 0, 0, 0), + (422, 2001, 0, 0, 0), + (422, 4001, 0, 0, 0), + (422, 5001, 0, 0, 0), + (422, 6001, 0, 0, 0), + (422, 10001, 10, 0, 0), + (422, 10004, 11, 0, 0), + (422, 11009, 10, 0, 0), + (422, 11009, 11, 0, 0), + (422, 12009, 11, 0, 0), + (422, 12031, 10, 0, 0), + (422, 15001, 0, 0, 0), + (422, 20113, 0, 0, 0), + (422, 22009, 0, 0, 0), + (422, 31153, 0, 0, 0), + (422, 36001, 0, 0, 0), + (422, 37001, 0, 0, 0), + (422, 40016, 0, 0, 0), + (422, 100002, 10, 0, 0), + (422, 100002, 11, 0, 0), + (422, 110171, 10, 0, 0), + (422, 110171, 11, 0, 0), + (422, 130034, 0, 0, 0), + (422, 140019, 0, 0, 0), + (422, 160012, 0, 0, 0), + (422, 180014, 0, 0, 0), + (422, 190016, 0, 0, 0), + (422, 200002, 0, 0, 0), + (422, 230001, 0, 0, 0), + (422, 240006, 0, 0, 0), + (422, 250002, 0, 0, 0), + (422, 280024, 0, 0, 0), + (422, 290004, 0, 0, 0), + (422, 300001, 0, 0, 0), + (422, 320020, 0, 0, 0), + (422, 330018, 0, 0, 0), + (422, 340002, 0, 0, 0), + (422, 1000074, 0, 0, 0), + (422, 1100025, 0, 0, 0), + (422, 1200023, 0, 0, 0), + (423, 1001, 0, 0, 0), + (423, 2001, 0, 0, 0), + (423, 4001, 0, 0, 0), + (423, 5001, 0, 0, 0), + (423, 6001, 0, 0, 0), + (423, 10009, 11, 0, 0), + (423, 10010, 10, 0, 0), + (423, 11004, 10, 0, 0), + (423, 11004, 11, 0, 0), + (423, 12025, 10, 0, 0), + (423, 12026, 11, 0, 0), + (423, 13002, 10, 0, 0), + (423, 13004, 11, 0, 0), + (423, 15001, 0, 0, 0), + (423, 20127, 0, 0, 0), + (423, 22009, 0, 0, 0), + (423, 31153, 0, 0, 0), + (423, 36001, 0, 0, 0), + (423, 37001, 0, 0, 0), + (423, 40015, 0, 0, 0), + (423, 100002, 10, 0, 0), + (423, 100002, 11, 0, 0), + (423, 110173, 10, 0, 0), + (423, 110173, 11, 0, 0), + (423, 130045, 0, 0, 0), + (423, 140018, 0, 0, 0), + (423, 160090, 0, 0, 0), + (423, 180049, 0, 0, 0), + (423, 190013, 0, 0, 0), + (423, 200057, 0, 0, 0), + (423, 230001, 0, 0, 0), + (423, 240001, 0, 0, 0), + (423, 250002, 0, 0, 0), + (423, 280054, 0, 0, 0), + (423, 290006, 0, 0, 0), + (423, 300011, 0, 0, 0), + (423, 320104, 0, 0, 0), + (423, 330033, 0, 0, 0), + (423, 340002, 0, 0, 0), + (423, 1000162, 0, 0, 0), + (423, 1100124, 0, 0, 0), + (423, 1200013, 0, 0, 0), + (424, 1001, 0, 0, 0), + (424, 2001, 0, 0, 0), + (424, 4001, 0, 0, 0), + (424, 5001, 0, 0, 0), + (424, 6001, 0, 0, 0), + (424, 10009, 11, 0, 0), + (424, 10010, 10, 0, 0), + (424, 11006, 10, 0, 0), + (424, 11006, 11, 0, 0), + (424, 12031, 11, 0, 0), + (424, 12032, 10, 0, 0), + (424, 15001, 0, 0, 0), + (424, 20218, 0, 0, 0), + (424, 22009, 0, 0, 0), + (424, 31153, 0, 0, 0), + (424, 36001, 0, 0, 0), + (424, 37001, 0, 0, 0), + (424, 40041, 0, 0, 0), + (424, 100002, 10, 0, 0), + (424, 100002, 11, 0, 0), + (424, 110172, 10, 0, 0), + (424, 110172, 11, 0, 0), + (424, 130033, 0, 0, 0), + (424, 140011, 0, 0, 0), + (424, 160014, 0, 0, 0), + (424, 180002, 0, 0, 0), + (424, 190015, 0, 0, 0), + (424, 200003, 0, 0, 0), + (424, 230001, 0, 0, 0), + (424, 240001, 0, 0, 0), + (424, 250002, 0, 0, 0), + (424, 280002, 0, 0, 0), + (424, 290004, 0, 0, 0), + (424, 300001, 0, 0, 0), + (424, 320002, 0, 0, 0), + (424, 330018, 0, 0, 0), + (424, 340002, 0, 0, 0), + (424, 1000075, 0, 0, 0), + (424, 1100014, 0, 0, 0), + (424, 1200001, 0, 0, 0), + (425, 1001, 0, 0, 0), + (425, 2001, 0, 0, 0), + (425, 4001, 0, 0, 0), + (425, 5001, 0, 0, 0), + (425, 6001, 0, 0, 0), + (425, 10003, 10, 0, 0), + (425, 10010, 11, 0, 0), + (425, 11004, 10, 0, 0), + (425, 11004, 11, 0, 0), + (425, 12031, 11, 0, 0), + (425, 12033, 10, 0, 0), + (425, 15001, 0, 0, 0), + (425, 20111, 0, 0, 0), + (425, 22014, 0, 0, 0), + (425, 31153, 0, 0, 0), + (425, 36001, 0, 0, 0), + (425, 37001, 0, 0, 0), + (425, 40062, 0, 0, 0), + (425, 100002, 10, 0, 0), + (425, 100002, 11, 0, 0), + (425, 110170, 10, 0, 0), + (425, 110170, 11, 0, 0), + (425, 130039, 0, 0, 0), + (425, 140019, 0, 0, 0), + (425, 160034, 0, 0, 0), + (425, 180059, 0, 0, 0), + (425, 190029, 0, 0, 0), + (425, 200012, 0, 0, 0), + (425, 230005, 0, 0, 0), + (425, 240002, 0, 0, 0), + (425, 250005, 0, 0, 0), + (425, 280004, 0, 0, 0), + (425, 290007, 0, 0, 0), + (425, 300011, 0, 0, 0), + (425, 320007, 0, 0, 0), + (425, 330033, 0, 0, 0), + (425, 340003, 0, 0, 0), + (425, 1000006, 0, 0, 0), + (425, 1100043, 0, 0, 0), + (425, 1200005, 0, 0, 0), + (426, 1001, 0, 0, 0), + (426, 2001, 0, 0, 0), + (426, 4001, 0, 0, 0), + (426, 5001, 0, 0, 0), + (426, 6001, 0, 0, 0), + (426, 10030, 10, 0, 0), + (426, 10030, 11, 0, 0), + (426, 11008, 10, 0, 0), + (426, 11008, 11, 0, 0), + (426, 12038, 11, 0, 0), + (426, 12040, 10, 0, 0), + (426, 13012, 10, 0, 0), + (426, 14003, 11, 0, 0), + (426, 15001, 0, 0, 0), + (426, 20134, 0, 0, 0), + (426, 22001, 0, 0, 0), + (426, 31153, 0, 0, 0), + (426, 36001, 0, 0, 0), + (426, 37001, 0, 0, 0), + (426, 40035, 0, 0, 0), + (426, 100005, 10, 0, 0), + (426, 100005, 11, 0, 0), + (426, 110109, 10, 0, 0), + (426, 110109, 11, 0, 0), + (426, 130046, 0, 0, 0), + (426, 140019, 0, 0, 0), + (426, 160078, 0, 0, 0), + (426, 180037, 0, 0, 0), + (426, 190069, 0, 0, 0), + (426, 200053, 0, 0, 0), + (426, 230003, 0, 0, 0), + (426, 240007, 0, 0, 0), + (426, 250007, 0, 0, 0), + (426, 280042, 0, 0, 0), + (426, 290005, 0, 0, 0), + (426, 300008, 0, 0, 0), + (426, 320012, 0, 0, 0), + (426, 330019, 0, 0, 0), + (426, 340003, 0, 0, 0), + (426, 1000011, 0, 0, 0), + (426, 1100045, 0, 0, 0), + (426, 1200039, 0, 0, 0), + (427, 1001, 0, 0, 0), + (427, 2001, 0, 0, 0), + (427, 4001, 0, 0, 0), + (427, 5001, 0, 0, 0), + (427, 6001, 0, 0, 0), + (427, 10012, 10, 0, 0), + (427, 10012, 11, 0, 0), + (427, 11004, 10, 0, 0), + (427, 11004, 11, 0, 0), + (427, 12031, 11, 0, 0), + (427, 12033, 10, 0, 0), + (427, 15001, 0, 0, 0), + (427, 20124, 0, 0, 0), + (427, 22005, 0, 0, 0), + (427, 31153, 0, 0, 0), + (427, 36001, 0, 0, 0), + (427, 37001, 0, 0, 0), + (427, 40014, 0, 0, 0), + (427, 100002, 10, 0, 0), + (427, 100002, 11, 0, 0), + (427, 110100, 10, 0, 0), + (427, 110101, 11, 0, 0), + (427, 130033, 0, 0, 0), + (427, 140008, 0, 0, 0), + (427, 160010, 0, 0, 0), + (427, 180055, 0, 0, 0), + (427, 190071, 0, 0, 0), + (427, 200056, 0, 0, 0), + (427, 230001, 0, 0, 0), + (427, 240001, 0, 0, 0), + (427, 250002, 0, 0, 0), + (427, 280044, 0, 0, 0), + (427, 290003, 0, 0, 0), + (427, 300001, 0, 0, 0), + (427, 320092, 0, 0, 0), + (427, 330052, 0, 0, 0), + (427, 340002, 0, 0, 0), + (427, 1000154, 0, 0, 0), + (427, 1100112, 0, 0, 0), + (427, 1200042, 0, 0, 0), + (428, 1001, 0, 0, 0), + (428, 2001, 0, 0, 0), + (428, 4001, 0, 0, 0), + (428, 5001, 0, 0, 0), + (428, 6001, 0, 0, 0), + (428, 10006, 11, 0, 0), + (428, 10015, 10, 0, 0), + (428, 11006, 10, 0, 0), + (428, 11006, 11, 0, 0), + (428, 12027, 11, 0, 0), + (428, 12030, 10, 0, 0), + (428, 13007, 10, 0, 0), + (428, 15001, 0, 0, 0), + (428, 20114, 0, 0, 0), + (428, 22009, 0, 0, 0), + (428, 31153, 0, 0, 0), + (428, 36001, 0, 0, 0), + (428, 37001, 0, 0, 0), + (428, 40018, 0, 0, 0), + (428, 100002, 10, 0, 0), + (428, 100002, 11, 0, 0), + (428, 110168, 10, 0, 0), + (428, 110168, 11, 0, 0), + (428, 130016, 0, 0, 0), + (428, 140009, 0, 0, 0), + (428, 160006, 0, 0, 0), + (428, 180014, 0, 0, 0), + (428, 190016, 0, 0, 0), + (428, 200002, 0, 0, 0), + (428, 230001, 0, 0, 0), + (428, 240001, 0, 0, 0), + (428, 250002, 0, 0, 0), + (428, 280024, 0, 0, 0), + (428, 290001, 0, 0, 0), + (428, 300001, 0, 0, 0), + (428, 320030, 0, 0, 0), + (428, 330013, 0, 0, 0), + (428, 340002, 0, 0, 0), + (428, 1000015, 0, 0, 0), + (428, 1100001, 0, 0, 0), + (428, 1200034, 0, 0, 0), + (429, 1001, 0, 0, 0), + (429, 2001, 0, 0, 0), + (429, 4001, 0, 0, 0), + (429, 5001, 0, 0, 0), + (429, 6001, 0, 0, 0), + (429, 10011, 10, 0, 0), + (429, 10011, 11, 0, 0), + (429, 11004, 10, 0, 0), + (429, 11004, 11, 0, 0), + (429, 12031, 10, 0, 0), + (429, 12031, 11, 0, 0), + (429, 15001, 0, 0, 0), + (429, 20115, 0, 0, 0), + (429, 22009, 0, 0, 0), + (429, 31153, 0, 0, 0), + (429, 36001, 0, 0, 0), + (429, 37001, 0, 0, 0), + (429, 40017, 0, 0, 0), + (429, 100004, 10, 0, 0), + (429, 100004, 11, 0, 0), + (429, 110091, 10, 0, 0), + (429, 110091, 11, 0, 0), + (429, 130021, 0, 0, 0), + (429, 140009, 0, 0, 0), + (429, 160006, 0, 0, 0), + (429, 180014, 0, 0, 0), + (429, 190016, 0, 0, 0), + (429, 200002, 0, 0, 0), + (429, 230001, 0, 0, 0), + (429, 240001, 0, 0, 0), + (429, 250002, 0, 0, 0), + (429, 280024, 0, 0, 0), + (429, 290004, 0, 0, 0), + (429, 300001, 0, 0, 0), + (429, 320030, 0, 0, 0), + (429, 330053, 0, 0, 0), + (429, 340002, 0, 0, 0), + (429, 1000015, 0, 0, 0), + (429, 1100001, 0, 0, 0), + (429, 1200034, 0, 0, 0), + (430, 1001, 0, 0, 0), + (430, 2001, 0, 0, 0), + (430, 4001, 0, 0, 0), + (430, 5001, 0, 0, 0), + (430, 6001, 0, 0, 0), + (430, 10011, 10, 0, 0), + (430, 10011, 11, 0, 0), + (430, 11004, 10, 0, 0), + (430, 11004, 11, 0, 0), + (430, 12031, 10, 0, 0), + (430, 12031, 11, 0, 0), + (430, 15001, 0, 0, 0), + (430, 20105, 0, 0, 0), + (430, 22014, 0, 0, 0), + (430, 31153, 0, 0, 0), + (430, 36001, 0, 0, 0), + (430, 37001, 0, 0, 0), + (430, 40007, 0, 0, 0), + (430, 100002, 10, 0, 0), + (430, 100002, 11, 0, 0), + (430, 110091, 10, 0, 0), + (430, 110091, 11, 0, 0), + (430, 130047, 0, 0, 0), + (430, 140008, 0, 0, 0), + (430, 160026, 0, 0, 0), + (430, 180018, 0, 0, 0), + (430, 190077, 0, 0, 0), + (430, 200066, 0, 0, 0), + (430, 230001, 0, 0, 0), + (430, 240001, 0, 0, 0), + (430, 250001, 0, 0, 0), + (430, 280030, 0, 0, 0), + (430, 290002, 0, 0, 0), + (430, 300001, 0, 0, 0), + (430, 320098, 0, 0, 0), + (430, 330058, 0, 0, 0), + (430, 340002, 0, 0, 0), + (430, 1000001, 0, 0, 0), + (430, 1100119, 0, 0, 0), + (430, 1200048, 0, 0, 0), + (431, 1001, 0, 0, 0), + (431, 2001, 0, 0, 0), + (431, 4001, 0, 0, 0), + (431, 5001, 0, 0, 0), + (431, 6001, 0, 0, 0), + (431, 10030, 10, 0, 0), + (431, 10030, 11, 0, 0), + (431, 11008, 10, 0, 0), + (431, 11008, 11, 0, 0), + (431, 12038, 11, 0, 0), + (431, 12040, 10, 0, 0), + (431, 15001, 0, 0, 0), + (431, 20128, 0, 0, 0), + (431, 22009, 0, 0, 0), + (431, 25005, 0, 0, 0), + (431, 31153, 0, 0, 0), + (431, 36001, 0, 0, 0), + (431, 37001, 0, 0, 0), + (431, 40023, 0, 0, 0), + (431, 100095, 10, 0, 0), + (431, 100095, 11, 0, 0), + (431, 110174, 10, 0, 0), + (431, 110174, 11, 0, 0), + (431, 130036, 0, 0, 0), + (431, 140020, 0, 0, 0), + (431, 160017, 0, 0, 0), + (431, 180013, 0, 0, 0), + (431, 190015, 0, 0, 0), + (431, 200051, 0, 0, 0), + (431, 230004, 0, 0, 0), + (431, 240006, 0, 0, 0), + (431, 250004, 0, 0, 0), + (431, 280006, 0, 0, 0), + (431, 290005, 0, 0, 0), + (431, 300008, 0, 0, 0), + (431, 320031, 0, 0, 0), + (431, 330027, 0, 0, 0), + (431, 340003, 0, 0, 0), + (431, 350005, 0, 0, 0), + (431, 1000025, 0, 0, 0), + (431, 1100014, 0, 0, 0), + (431, 1200024, 0, 0, 0), + (432, 1001, 0, 0, 0), + (432, 2001, 0, 0, 0), + (432, 4001, 0, 0, 0), + (432, 5001, 0, 0, 0), + (432, 6001, 0, 0, 0), + (432, 10009, 11, 0, 0), + (432, 10010, 10, 0, 0), + (432, 11004, 10, 0, 0), + (432, 11004, 11, 0, 0), + (432, 12004, 11, 0, 0), + (432, 12006, 10, 0, 0), + (432, 15001, 0, 0, 0), + (432, 20101, 0, 0, 0), + (432, 22016, 0, 0, 0), + (432, 23003, 0, 0, 0), + (432, 31153, 0, 0, 0), + (432, 34001, 10, 0, 0), + (432, 34001, 11, 0, 0), + (432, 35001, 10, 0, 0), + (432, 35001, 11, 0, 0), + (432, 36001, 0, 0, 0), + (432, 37001, 0, 0, 0), + (432, 40002, 0, 0, 0), + (432, 100002, 10, 0, 0), + (432, 100002, 11, 0, 0), + (432, 110047, 10, 0, 0), + (432, 110047, 11, 0, 0), + (432, 130012, 0, 0, 0), + (432, 140036, 0, 0, 0), + (432, 160021, 0, 0, 0), + (432, 180019, 0, 0, 0), + (432, 190021, 0, 0, 0), + (432, 200019, 0, 0, 0), + (432, 230002, 0, 0, 0), + (432, 240003, 0, 0, 0), + (432, 250001, 0, 0, 0), + (432, 280019, 0, 0, 0), + (432, 290001, 0, 0, 0), + (432, 300001, 0, 0, 0), + (432, 320023, 0, 0, 0), + (432, 330016, 0, 0, 0), + (432, 340001, 0, 0, 0), + (432, 1000002, 0, 0, 0), + (432, 1100016, 0, 0, 0), + (432, 1200018, 0, 0, 0), + (433, 1001, 0, 0, 0), + (433, 2001, 0, 0, 0), + (433, 4001, 0, 0, 0), + (433, 5001, 0, 0, 0), + (433, 6001, 0, 0, 0), + (433, 10009, 11, 0, 0), + (433, 10010, 10, 0, 0), + (433, 11004, 10, 0, 0), + (433, 11004, 11, 0, 0), + (433, 12007, 10, 0, 0), + (433, 12028, 11, 0, 0), + (433, 15001, 0, 0, 0), + (433, 20102, 0, 0, 0), + (433, 22016, 0, 0, 0), + (433, 23009, 0, 0, 0), + (433, 31153, 0, 0, 0), + (433, 35002, 10, 0, 0), + (433, 35002, 11, 0, 0), + (433, 36001, 0, 0, 0), + (433, 37001, 0, 0, 0), + (433, 40003, 0, 0, 0), + (433, 100002, 10, 0, 0), + (433, 100002, 11, 0, 0), + (433, 110013, 10, 0, 0), + (433, 110013, 11, 0, 0), + (433, 130012, 0, 0, 0), + (433, 140025, 0, 0, 0), + (433, 160021, 0, 0, 0), + (433, 180019, 0, 0, 0), + (433, 190021, 0, 0, 0), + (433, 200019, 0, 0, 0), + (433, 230002, 0, 0, 0), + (433, 240003, 0, 0, 0), + (433, 250001, 0, 0, 0), + (433, 280019, 0, 0, 0), + (433, 290001, 0, 0, 0), + (433, 300001, 0, 0, 0), + (433, 320023, 0, 0, 0), + (433, 330006, 0, 0, 0), + (433, 340001, 0, 0, 0), + (433, 1000002, 0, 0, 0), + (433, 1100016, 0, 0, 0), + (433, 1200018, 0, 0, 0), + (434, 1001, 0, 0, 0), + (434, 2001, 0, 0, 0), + (434, 4001, 0, 0, 0), + (434, 5001, 0, 0, 0), + (434, 6001, 0, 0, 0), + (434, 10001, 10, 0, 0), + (434, 10004, 11, 0, 0), + (434, 11004, 10, 0, 0), + (434, 11004, 11, 0, 0), + (434, 12007, 11, 0, 0), + (434, 12031, 10, 0, 0), + (434, 15001, 0, 0, 0), + (434, 18001, 0, 0, 0), + (434, 20104, 0, 0, 0), + (434, 22014, 0, 0, 0), + (434, 31153, 0, 0, 0), + (434, 36001, 0, 0, 0), + (434, 37001, 0, 0, 0), + (434, 40006, 0, 0, 0), + (434, 100006, 10, 0, 0), + (434, 100006, 11, 0, 0), + (434, 110067, 10, 0, 0), + (434, 110067, 11, 0, 0), + (434, 130047, 0, 0, 0), + (434, 140007, 0, 0, 0), + (434, 160026, 0, 0, 0), + (434, 180018, 0, 0, 0), + (434, 190077, 0, 0, 0), + (434, 200066, 0, 0, 0), + (434, 230001, 0, 0, 0), + (434, 240001, 0, 0, 0), + (434, 250001, 0, 0, 0), + (434, 280030, 0, 0, 0), + (434, 290002, 0, 0, 0), + (434, 300001, 0, 0, 0), + (434, 320098, 0, 0, 0), + (434, 330058, 0, 0, 0), + (434, 340002, 0, 0, 0), + (434, 1000001, 0, 0, 0), + (434, 1100119, 0, 0, 0), + (434, 1200048, 0, 0, 0), + (435, 1001, 0, 0, 0), + (435, 2001, 0, 0, 0), + (435, 4001, 0, 0, 0), + (435, 5001, 0, 0, 0), + (435, 6001, 0, 0, 0), + (435, 10011, 10, 0, 0), + (435, 10011, 11, 0, 0), + (435, 11004, 10, 0, 0), + (435, 11004, 11, 0, 0), + (435, 12025, 11, 0, 0), + (435, 12032, 10, 0, 0), + (435, 15001, 0, 0, 0), + (435, 20106, 0, 0, 0), + (435, 22014, 0, 0, 0), + (435, 31153, 0, 0, 0), + (435, 36001, 0, 0, 0), + (435, 37001, 0, 0, 0), + (435, 40008, 0, 0, 0), + (435, 100002, 10, 0, 0), + (435, 100002, 11, 0, 0), + (435, 110061, 10, 0, 0), + (435, 110061, 11, 0, 0), + (435, 130026, 0, 0, 0), + (435, 140019, 0, 0, 0), + (435, 160028, 0, 0, 0), + (435, 180018, 0, 0, 0), + (435, 190077, 0, 0, 0), + (435, 200066, 0, 0, 0), + (435, 230001, 0, 0, 0), + (435, 240001, 0, 0, 0), + (435, 250001, 0, 0, 0), + (435, 280030, 0, 0, 0), + (435, 290002, 0, 0, 0), + (435, 300001, 0, 0, 0), + (435, 320040, 0, 0, 0), + (435, 330035, 0, 0, 0), + (435, 340002, 0, 0, 0), + (435, 1000099, 0, 0, 0), + (435, 1100119, 0, 0, 0), + (435, 1200048, 0, 0, 0), + (436, 1001, 0, 0, 0), + (436, 2001, 0, 0, 0), + (436, 4001, 0, 0, 0), + (436, 5001, 0, 0, 0), + (436, 6001, 0, 0, 0), + (436, 10010, 10, 0, 0), + (436, 10010, 11, 0, 0), + (436, 11004, 10, 0, 0), + (436, 11004, 11, 0, 0), + (436, 12009, 11, 0, 0), + (436, 12032, 10, 0, 0), + (436, 15001, 0, 0, 0), + (436, 20109, 0, 0, 0), + (436, 22014, 0, 0, 0), + (436, 31153, 0, 0, 0), + (436, 36001, 0, 0, 0), + (436, 37001, 0, 0, 0), + (436, 40011, 0, 0, 0), + (436, 100002, 10, 0, 0), + (436, 100002, 11, 0, 0), + (436, 110067, 10, 0, 0), + (436, 110067, 11, 0, 0), + (436, 130034, 0, 0, 0), + (436, 140019, 0, 0, 0), + (436, 160025, 0, 0, 0), + (436, 180030, 0, 0, 0), + (436, 190020, 0, 0, 0), + (436, 200004, 0, 0, 0), + (436, 230001, 0, 0, 0), + (436, 240001, 0, 0, 0), + (436, 250001, 0, 0, 0), + (436, 280018, 0, 0, 0), + (436, 290001, 0, 0, 0), + (436, 300001, 0, 0, 0), + (436, 320022, 0, 0, 0), + (436, 330003, 0, 0, 0), + (436, 340002, 0, 0, 0), + (436, 1000138, 0, 0, 0), + (436, 1100005, 0, 0, 0), + (436, 1200017, 0, 0, 0), + (437, 1001, 0, 0, 0), + (437, 2001, 0, 0, 0), + (437, 4001, 0, 0, 0), + (437, 5001, 0, 0, 0), + (437, 6001, 0, 0, 0), + (437, 10002, 10, 0, 0), + (437, 10010, 11, 0, 0), + (437, 11006, 10, 0, 0), + (437, 11006, 11, 0, 0), + (437, 12032, 11, 0, 0), + (437, 12033, 10, 0, 0), + (437, 15001, 0, 0, 0), + (437, 20211, 0, 0, 0), + (437, 22014, 0, 0, 0), + (437, 30001, 11, 0, 0), + (437, 31153, 0, 0, 0), + (437, 36001, 0, 0, 0), + (437, 37001, 0, 0, 0), + (437, 40039, 0, 0, 0), + (437, 100002, 10, 0, 0), + (437, 100002, 11, 0, 0), + (437, 110061, 10, 0, 0), + (437, 110061, 11, 0, 0), + (437, 130034, 0, 0, 0), + (437, 140009, 0, 0, 0), + (437, 160033, 0, 0, 0), + (437, 180051, 0, 0, 0), + (437, 190027, 0, 0, 0), + (437, 200028, 0, 0, 0), + (437, 230001, 0, 0, 0), + (437, 240001, 0, 0, 0), + (437, 250001, 0, 0, 0), + (437, 280008, 0, 0, 0), + (437, 290002, 0, 0, 0), + (437, 300002, 0, 0, 0), + (437, 320011, 0, 0, 0), + (437, 330033, 0, 0, 0), + (437, 340003, 0, 0, 0), + (437, 1000005, 0, 0, 0), + (437, 1100040, 0, 0, 0), + (437, 1200029, 0, 0, 0), + (438, 1001, 0, 0, 0), + (438, 2001, 0, 0, 0), + (438, 4001, 0, 0, 0), + (438, 5001, 0, 0, 0), + (438, 6001, 0, 0, 0), + (438, 10010, 11, 0, 0), + (438, 10017, 10, 0, 0), + (438, 11009, 10, 0, 0), + (438, 11009, 11, 0, 0), + (438, 12008, 11, 0, 0), + (438, 12031, 10, 0, 0), + (438, 13007, 11, 0, 0), + (438, 13009, 10, 0, 0), + (438, 15001, 0, 0, 0), + (438, 20111, 0, 0, 0), + (438, 22014, 0, 0, 0), + (438, 29002, 10, 0, 0), + (438, 30003, 11, 0, 0), + (438, 31153, 0, 0, 0), + (438, 36001, 0, 0, 0), + (438, 37001, 0, 0, 0), + (438, 40013, 0, 0, 0), + (438, 100112, 10, 0, 0), + (438, 100112, 11, 0, 0), + (438, 110094, 10, 0, 0), + (438, 110095, 11, 0, 0), + (438, 130034, 0, 0, 0), + (438, 140009, 0, 0, 0), + (438, 160027, 0, 0, 0), + (438, 180034, 0, 0, 0), + (438, 190001, 0, 0, 0), + (438, 200054, 0, 0, 0), + (438, 230003, 0, 0, 0), + (438, 240005, 0, 0, 0), + (438, 250001, 0, 0, 0), + (438, 280041, 0, 0, 0), + (438, 290002, 0, 0, 0), + (438, 300011, 0, 0, 0), + (438, 320087, 0, 0, 0), + (438, 330025, 0, 0, 0), + (438, 340003, 0, 0, 0), + (438, 1000139, 0, 0, 0), + (438, 1100005, 0, 0, 0), + (438, 1200038, 0, 0, 0), + (439, 1001, 0, 0, 0), + (439, 2001, 0, 0, 0), + (439, 4001, 0, 0, 0), + (439, 5001, 0, 0, 0), + (439, 6001, 0, 0, 0), + (439, 10011, 10, 0, 0), + (439, 10011, 11, 0, 0), + (439, 11004, 10, 0, 0), + (439, 11004, 11, 0, 0), + (439, 12008, 11, 0, 0), + (439, 12032, 10, 0, 0), + (439, 15001, 0, 0, 0), + (439, 20116, 0, 0, 0), + (439, 22009, 0, 0, 0), + (439, 31153, 0, 0, 0), + (439, 36001, 0, 0, 0), + (439, 37001, 0, 0, 0), + (439, 40022, 0, 0, 0), + (439, 100001, 10, 0, 0), + (439, 100001, 11, 0, 0), + (439, 110064, 10, 0, 0), + (439, 110064, 11, 0, 0), + (439, 130022, 0, 0, 0), + (439, 140009, 0, 0, 0), + (439, 160009, 0, 0, 0), + (439, 180014, 0, 0, 0), + (439, 190016, 0, 0, 0), + (439, 200002, 0, 0, 0), + (439, 230001, 0, 0, 0), + (439, 240006, 0, 0, 0), + (439, 250002, 0, 0, 0), + (439, 280016, 0, 0, 0), + (439, 290004, 0, 0, 0), + (439, 300001, 0, 0, 0), + (439, 320020, 0, 0, 0), + (439, 330053, 0, 0, 0), + (439, 340002, 0, 0, 0), + (439, 1000121, 0, 0, 0), + (439, 1100001, 0, 0, 0), + (439, 1200034, 0, 0, 0), + (440, 1001, 0, 0, 0), + (440, 2001, 0, 0, 0), + (440, 4001, 0, 0, 0), + (440, 5001, 0, 0, 0), + (440, 6001, 0, 0, 0), + (440, 10002, 10, 0, 0), + (440, 10010, 11, 0, 0), + (440, 11004, 10, 0, 0), + (440, 11004, 11, 0, 0), + (440, 12007, 11, 0, 0), + (440, 12032, 10, 0, 0), + (440, 13009, 10, 0, 0), + (440, 15001, 0, 0, 0), + (440, 20121, 0, 0, 0), + (440, 22009, 0, 0, 0), + (440, 31153, 0, 0, 0), + (440, 36001, 0, 0, 0), + (440, 37001, 0, 0, 0), + (440, 40030, 0, 0, 0), + (440, 100002, 10, 0, 0), + (440, 100002, 11, 0, 0), + (440, 110061, 10, 0, 0), + (440, 110061, 11, 0, 0), + (440, 130023, 0, 0, 0), + (440, 140007, 0, 0, 0), + (440, 160012, 0, 0, 0), + (440, 180003, 0, 0, 0), + (440, 190016, 0, 0, 0), + (440, 200002, 0, 0, 0), + (440, 230001, 0, 0, 0), + (440, 240006, 0, 0, 0), + (440, 250002, 0, 0, 0), + (440, 280016, 0, 0, 0), + (440, 290004, 0, 0, 0), + (440, 300001, 0, 0, 0), + (440, 320020, 0, 0, 0), + (440, 330008, 0, 0, 0), + (440, 340002, 0, 0, 0), + (440, 1000122, 0, 0, 0), + (440, 1100001, 0, 0, 0), + (440, 1200034, 0, 0, 0), + (441, 1001, 0, 0, 0), + (441, 2001, 0, 0, 0), + (441, 4001, 0, 0, 0), + (441, 5001, 0, 0, 0), + (441, 6001, 0, 0, 0), + (441, 10021, 10, 0, 0), + (441, 10026, 11, 0, 0), + (441, 11006, 10, 0, 0), + (441, 11006, 11, 0, 0), + (441, 12008, 10, 0, 0), + (441, 12009, 11, 0, 0), + (441, 15001, 0, 0, 0), + (441, 20117, 0, 0, 0), + (441, 22009, 0, 0, 0), + (441, 31153, 0, 0, 0), + (441, 36001, 0, 0, 0), + (441, 37001, 0, 0, 0), + (441, 40021, 0, 0, 0), + (441, 100002, 10, 0, 0), + (441, 100002, 11, 0, 0), + (441, 110173, 10, 0, 0), + (441, 110173, 11, 0, 0), + (441, 130016, 0, 0, 0), + (441, 140009, 0, 0, 0), + (441, 160009, 0, 0, 0), + (441, 180014, 0, 0, 0), + (441, 190016, 0, 0, 0), + (441, 200002, 0, 0, 0), + (441, 230001, 0, 0, 0), + (441, 240006, 0, 0, 0), + (441, 250002, 0, 0, 0), + (441, 280024, 0, 0, 0), + (441, 290004, 0, 0, 0), + (441, 300001, 0, 0, 0), + (441, 320030, 0, 0, 0), + (441, 330057, 0, 0, 0), + (441, 340003, 0, 0, 0), + (441, 1000073, 0, 0, 0), + (441, 1100025, 0, 0, 0), + (441, 1200023, 0, 0, 0), + (1001, 11004, 10, 0, 0), + (1001, 11004, 11, 0, 0), + (1001, 12006, 11, 0, 0), + (1001, 12009, 10, 0, 0), + (4001, 130012, 0, 0, 0), + (4001, 140014, 0, 0, 0), + (5001, 10021, 10, 0, 0), + (5001, 10026, 11, 0, 0), + (15001, 100002, 10, 0, 0), + (15001, 100002, 11, 0, 0), + (15001, 110027, 10, 1, 1), + (15001, 110027, 11, 0, 0), + (36002, 160021, 0, 0, 0), + (36002, 180019, 0, 0, 0), + (36002, 190021, 0, 0, 0), + (36002, 200019, 0, 0, 0), + (36002, 230001, 0, 0, 0), + (36002, 240003, 0, 0, 0), + (36002, 250001, 0, 0, 0), + (36002, 280019, 0, 0, 0), + (36002, 320023, 0, 0, 0), + (36002, 330016, 0, 0, 0), + (36002, 340001, 0, 0, 0), + (36002, 1000002, 0, 0, 0), + (36002, 1100016, 0, 0, 0), + (36002, 1200018, 0, 0, 0), + (36003, 160021, 0, 0, 0), + (36003, 180019, 0, 0, 0), + (36003, 190021, 0, 0, 0), + (36003, 200019, 0, 0, 0), + (36003, 230001, 0, 0, 0), + (36003, 240003, 0, 0, 0), + (36003, 250001, 0, 0, 0), + (36003, 280019, 0, 0, 0), + (36003, 320023, 0, 0, 0), + (36003, 330006, 0, 0, 0), + (36003, 340001, 0, 0, 0), + (36003, 1000020, 0, 0, 0), + (36003, 1100016, 0, 0, 0), + (36003, 1200018, 0, 0, 0), + (36004, 160047, 0, 0, 0), + (36004, 180019, 0, 0, 0), + (36004, 190021, 0, 0, 0), + (36004, 200019, 0, 0, 0), + (36004, 230002, 0, 0, 0), + (36004, 240001, 0, 0, 0), + (36004, 250001, 0, 0, 0), + (36004, 280019, 0, 0, 0), + (36004, 320023, 0, 0, 0), + (36004, 330005, 0, 0, 0), + (36004, 340001, 0, 0, 0), + (36004, 1000003, 0, 0, 0), + (36004, 1100016, 0, 0, 0), + (36004, 1200018, 0, 0, 0), + (36005, 160022, 0, 0, 0), + (36005, 180019, 0, 0, 0), + (36005, 190021, 0, 0, 0), + (36005, 200019, 0, 0, 0), + (36005, 230001, 0, 0, 0), + (36005, 240003, 0, 0, 0), + (36005, 250001, 0, 0, 0), + (36005, 280019, 0, 0, 0), + (36005, 320023, 0, 0, 0), + (36005, 330006, 0, 0, 0), + (36005, 340001, 0, 0, 0), + (36005, 1000002, 0, 0, 0), + (36005, 1100016, 0, 0, 0), + (36005, 1200018, 0, 0, 0), + (36006, 160028, 0, 0, 0), + (36006, 180018, 0, 0, 0), + (36006, 190077, 0, 0, 0), + (36006, 200042, 0, 0, 0), + (36006, 230001, 0, 0, 0), + (36006, 240001, 0, 0, 0), + (36006, 250001, 0, 0, 0), + (36006, 280030, 0, 0, 0), + (36006, 320040, 0, 0, 0), + (36006, 330035, 0, 0, 0), + (36006, 340002, 0, 0, 0), + (36006, 1000099, 0, 0, 0), + (36006, 1100119, 0, 0, 0), + (36006, 1200048, 0, 0, 0), + (36007, 160032, 0, 0, 0), + (36007, 180035, 0, 0, 0), + (36007, 190019, 0, 0, 0), + (36007, 200028, 0, 0, 0), + (36007, 230003, 0, 0, 0), + (36007, 240006, 0, 0, 0), + (36007, 250006, 0, 0, 0), + (36007, 280031, 0, 0, 0), + (36007, 320006, 0, 0, 0), + (36007, 330022, 0, 0, 0), + (36007, 340003, 0, 0, 0), + (36007, 1000005, 0, 0, 0), + (36007, 1100040, 0, 0, 0), + (36007, 1200029, 0, 0, 0), + (36008, 160025, 0, 0, 0), + (36008, 180030, 0, 0, 0), + (36008, 190020, 0, 0, 0), + (36008, 200004, 0, 0, 0), + (36008, 230001, 0, 0, 0), + (36008, 240001, 0, 0, 0), + (36008, 250001, 0, 0, 0), + (36008, 280018, 0, 0, 0), + (36008, 320022, 0, 0, 0), + (36008, 330003, 0, 0, 0), + (36008, 340002, 0, 0, 0), + (36008, 1000137, 0, 0, 0), + (36008, 1100005, 0, 0, 0), + (36008, 1200017, 0, 0, 0), + (36009, 160027, 0, 0, 0), + (36009, 180030, 0, 0, 0), + (36009, 190020, 0, 0, 0), + (36009, 200004, 0, 0, 0), + (36009, 230001, 0, 0, 0), + (36009, 240001, 0, 0, 0), + (36009, 250001, 0, 0, 0), + (36009, 280018, 0, 0, 0), + (36009, 320022, 0, 0, 0), + (36009, 330042, 0, 0, 0), + (36009, 340002, 0, 0, 0), + (36009, 1000137, 0, 0, 0), + (36009, 1100005, 0, 0, 0), + (36009, 1200017, 0, 0, 0), + (36010, 160082, 0, 0, 0), + (36010, 180059, 0, 0, 0), + (36010, 190029, 0, 0, 0), + (36010, 200012, 0, 0, 0), + (36010, 230005, 0, 0, 0), + (36010, 240002, 0, 0, 0), + (36010, 250005, 0, 0, 0), + (36010, 280004, 0, 0, 0), + (36010, 320007, 0, 0, 0), + (36010, 330033, 0, 0, 0), + (36010, 340003, 0, 0, 0), + (36010, 1000006, 0, 0, 0), + (36010, 1100043, 0, 0, 0), + (36010, 1200005, 0, 0, 0), + (36011, 160048, 0, 0, 0), + (36011, 180022, 0, 0, 0), + (36011, 190068, 0, 0, 0), + (36011, 200022, 0, 0, 0), + (36011, 230001, 0, 0, 0), + (36011, 240001, 0, 0, 0), + (36011, 250003, 0, 0, 0), + (36011, 280022, 0, 0, 0), + (36011, 320026, 0, 0, 0), + (36011, 330020, 0, 0, 0), + (36011, 340002, 0, 0, 0), + (36011, 1000007, 0, 0, 0), + (36011, 1100019, 0, 0, 0), + (36011, 1200021, 0, 0, 0), + (36012, 160049, 0, 0, 0), + (36012, 180022, 0, 0, 0), + (36012, 190068, 0, 0, 0), + (36012, 200022, 0, 0, 0), + (36012, 230001, 0, 0, 0), + (36012, 240001, 0, 0, 0), + (36012, 250003, 0, 0, 0), + (36012, 280022, 0, 0, 0), + (36012, 320026, 0, 0, 0), + (36012, 330020, 0, 0, 0), + (36012, 340002, 0, 0, 0), + (36012, 1000008, 0, 0, 0), + (36012, 1100019, 0, 0, 0), + (36012, 1200021, 0, 0, 0), + (36013, 160013, 0, 0, 0), + (36013, 180012, 0, 0, 0), + (36013, 190014, 0, 0, 0), + (36013, 200018, 0, 0, 0), + (36013, 230001, 0, 0, 0), + (36013, 240001, 0, 0, 0), + (36013, 250002, 0, 0, 0), + (36013, 280015, 0, 0, 0), + (36013, 320021, 0, 0, 0), + (36013, 330008, 0, 0, 0), + (36013, 340002, 0, 0, 0), + (36013, 1000068, 0, 0, 0), + (36013, 1100013, 0, 0, 0), + (36013, 1200014, 0, 0, 0), + (36014, 160054, 0, 0, 0), + (36014, 180016, 0, 0, 0), + (36014, 190018, 0, 0, 0), + (36014, 200006, 0, 0, 0), + (36014, 230001, 0, 0, 0), + (36014, 240001, 0, 0, 0), + (36014, 250002, 0, 0, 0), + (36014, 280003, 0, 0, 0), + (36014, 320003, 0, 0, 0), + (36014, 330052, 0, 0, 0), + (36014, 340002, 0, 0, 0), + (36014, 1000119, 0, 0, 0), + (36014, 1100002, 0, 0, 0), + (36014, 1200002, 0, 0, 0), + (36015, 160055, 0, 0, 0), + (36015, 180015, 0, 0, 0), + (36015, 190017, 0, 0, 0), + (36015, 200029, 0, 0, 0), + (36015, 230001, 0, 0, 0), + (36015, 240005, 0, 0, 0), + (36015, 250002, 0, 0, 0), + (36015, 280034, 0, 0, 0), + (36015, 320089, 0, 0, 0), + (36015, 330034, 0, 0, 0), + (36015, 340002, 0, 0, 0), + (36015, 1000113, 0, 0, 0), + (36015, 1000120, 0, 0, 0), + (36015, 1100044, 0, 0, 0), + (36015, 1200015, 0, 0, 0), + (36016, 160078, 0, 0, 0), + (36016, 180037, 0, 0, 0), + (36016, 190069, 0, 0, 0), + (36016, 200053, 0, 0, 0), + (36016, 230003, 0, 0, 0), + (36016, 240007, 0, 0, 0), + (36016, 250007, 0, 0, 0), + (36016, 280042, 0, 0, 0), + (36016, 320065, 0, 0, 0), + (36016, 330019, 0, 0, 0), + (36016, 340003, 0, 0, 0), + (36016, 1000011, 0, 0, 0), + (36016, 1000021, 0, 0, 0), + (36016, 1100045, 0, 0, 0), + (36016, 1200039, 0, 0, 0), + (36017, 160057, 0, 0, 0), + (36017, 180016, 0, 0, 0), + (36017, 190018, 0, 0, 0), + (36017, 200006, 0, 0, 0), + (36017, 230001, 0, 0, 0), + (36017, 240001, 0, 0, 0), + (36017, 250002, 0, 0, 0), + (36017, 280003, 0, 0, 0), + (36017, 320003, 0, 0, 0), + (36017, 330034, 0, 0, 0), + (36017, 340002, 0, 0, 0), + (36017, 1000117, 0, 0, 0), + (36017, 1100002, 0, 0, 0), + (36017, 1200002, 0, 0, 0), + (36018, 160057, 0, 0, 0), + (36018, 180016, 0, 0, 0), + (36018, 190018, 0, 0, 0), + (36018, 200006, 0, 0, 0), + (36018, 230003, 0, 0, 0), + (36018, 240005, 0, 0, 0), + (36018, 250002, 0, 0, 0), + (36018, 280003, 0, 0, 0), + (36018, 320052, 0, 0, 0), + (36018, 330021, 0, 0, 0), + (36018, 340002, 0, 0, 0), + (36018, 1000012, 0, 0, 0), + (36018, 1100048, 0, 0, 0), + (36018, 1200002, 0, 0, 0), + (36019, 160010, 0, 0, 0), + (36019, 180055, 0, 0, 0), + (36019, 190071, 0, 0, 0), + (36019, 200056, 0, 0, 0), + (36019, 230001, 0, 0, 0), + (36019, 240001, 0, 0, 0), + (36019, 250002, 0, 0, 0), + (36019, 280044, 0, 0, 0), + (36019, 320092, 0, 0, 0), + (36019, 330052, 0, 0, 0), + (36019, 340002, 0, 0, 0), + (36019, 1000154, 0, 0, 0), + (36019, 1100112, 0, 0, 0), + (36019, 1200042, 0, 0, 0), + (36020, 160001, 0, 0, 0), + (36020, 180049, 0, 0, 0), + (36020, 190013, 0, 0, 0), + (36020, 200059, 0, 0, 0), + (36020, 230001, 0, 0, 0), + (36020, 240001, 0, 0, 0), + (36020, 250002, 0, 0, 0), + (36020, 280045, 0, 0, 0), + (36020, 320033, 0, 0, 0), + (36020, 330034, 0, 0, 0), + (36020, 340002, 0, 0, 0), + (36020, 1000060, 0, 0, 0), + (36020, 1100113, 0, 0, 0), + (36020, 1200013, 0, 0, 0), + (36021, 160006, 0, 0, 0), + (36021, 180014, 0, 0, 0), + (36021, 190016, 0, 0, 0), + (36021, 200002, 0, 0, 0), + (36021, 230001, 0, 0, 0), + (36021, 240001, 0, 0, 0), + (36021, 250002, 0, 0, 0), + (36021, 280024, 0, 0, 0), + (36021, 320030, 0, 0, 0), + (36021, 330013, 0, 0, 0), + (36021, 340002, 0, 0, 0), + (36021, 1000015, 0, 0, 0), + (36021, 1100001, 0, 0, 0), + (36021, 1200034, 0, 0, 0), + (36022, 160013, 0, 0, 0), + (36022, 180012, 0, 0, 0), + (36022, 190014, 0, 0, 0), + (36022, 200018, 0, 0, 0), + (36022, 230001, 0, 0, 0), + (36022, 240001, 0, 0, 0), + (36022, 250002, 0, 0, 0), + (36022, 280015, 0, 0, 0), + (36022, 320021, 0, 0, 0), + (36022, 330029, 0, 0, 0), + (36022, 340002, 0, 0, 0), + (36022, 1000068, 0, 0, 0), + (36022, 1100013, 0, 0, 0), + (36022, 1200014, 0, 0, 0), + (36023, 160009, 0, 0, 0), + (36023, 180014, 0, 0, 0), + (36023, 190016, 0, 0, 0), + (36023, 200002, 0, 0, 0), + (36023, 230001, 0, 0, 0), + (36023, 240006, 0, 0, 0), + (36023, 250002, 0, 0, 0), + (36023, 280016, 0, 0, 0), + (36023, 320020, 0, 0, 0), + (36023, 330053, 0, 0, 0), + (36023, 340002, 0, 0, 0), + (36023, 1000121, 0, 0, 0), + (36023, 1100001, 0, 0, 0), + (36023, 1200034, 0, 0, 0), + (36024, 160039, 0, 0, 0), + (36024, 180023, 0, 0, 0), + (36024, 190006, 0, 0, 0), + (36024, 200023, 0, 0, 0), + (36024, 230001, 0, 0, 0), + (36024, 240005, 0, 0, 0), + (36024, 250002, 0, 0, 0), + (36024, 280023, 0, 0, 0), + (36024, 320027, 0, 0, 0), + (36024, 330043, 0, 0, 0), + (36024, 340002, 0, 0, 0), + (36024, 1000018, 0, 0, 0), + (36024, 1100020, 0, 0, 0), + (36024, 1200035, 0, 0, 0), + (36025, 160014, 0, 0, 0), + (36025, 180013, 0, 0, 0), + (36025, 190015, 0, 0, 0), + (36025, 200046, 0, 0, 0), + (36025, 230003, 0, 0, 0), + (36025, 240006, 0, 0, 0), + (36025, 250002, 0, 0, 0), + (36025, 280002, 0, 0, 0), + (36025, 320031, 0, 0, 0), + (36025, 330033, 0, 0, 0), + (36025, 340003, 0, 0, 0), + (36025, 1000019, 0, 0, 0), + (36025, 1100014, 0, 0, 0), + (36025, 1200001, 0, 0, 0), + (36026, 25006, 0, 0, 0), + (36026, 160040, 0, 0, 0), + (36026, 180023, 0, 0, 0), + (36026, 190006, 0, 0, 0), + (36026, 200023, 0, 0, 0), + (36026, 200027, 0, 0, 0), + (36026, 230001, 0, 0, 0), + (36026, 240006, 0, 0, 0), + (36026, 250002, 0, 0, 0), + (36026, 280028, 0, 0, 0), + (36026, 320027, 0, 0, 0), + (36026, 330043, 0, 0, 0), + (36026, 340002, 0, 0, 0), + (36026, 1000051, 0, 0, 0), + (36026, 1100034, 0, 0, 0), + (36026, 1200035, 0, 0, 0), + (36027, 160012, 0, 0, 0), + (36027, 180003, 0, 0, 0), + (36027, 190016, 0, 0, 0), + (36027, 200002, 0, 0, 0), + (36027, 230001, 0, 0, 0), + (36027, 240006, 0, 0, 0), + (36027, 250002, 0, 0, 0), + (36027, 280016, 0, 0, 0), + (36027, 320020, 0, 0, 0), + (36027, 330008, 0, 0, 0), + (36027, 340002, 0, 0, 0), + (36027, 1000122, 0, 0, 0), + (36027, 1100001, 0, 0, 0), + (36027, 1200034, 0, 0, 0), + (36028, 160038, 0, 0, 0), + (36028, 180026, 0, 0, 0), + (36028, 190022, 0, 0, 0), + (36028, 200020, 0, 0, 0), + (36028, 230003, 0, 0, 0), + (36028, 240006, 0, 0, 0), + (36028, 250002, 0, 0, 0), + (36028, 280020, 0, 0, 0), + (36028, 320024, 0, 0, 0), + (36028, 330043, 0, 0, 0), + (36028, 340002, 0, 0, 0), + (36028, 1000017, 0, 0, 0), + (36028, 1100017, 0, 0, 0), + (36028, 1200019, 0, 0, 0), + (36029, 160042, 0, 0, 0), + (36029, 180028, 0, 0, 0), + (36029, 190025, 0, 0, 0), + (36029, 200027, 0, 0, 0), + (36029, 230003, 0, 0, 0), + (36029, 240005, 0, 0, 0), + (36029, 250002, 0, 0, 0), + (36029, 280029, 0, 0, 0), + (36029, 320039, 0, 0, 0), + (36029, 330043, 0, 0, 0), + (36029, 340003, 0, 0, 0), + (36029, 1000092, 0, 0, 0), + (36029, 1100037, 0, 0, 0), + (36029, 1200035, 0, 0, 0), + (36030, 160001, 0, 0, 0), + (36030, 180049, 0, 0, 0), + (36030, 190013, 0, 0, 0), + (36030, 200060, 0, 0, 0), + (36030, 230001, 0, 0, 0), + (36030, 240001, 0, 0, 0), + (36030, 250002, 0, 0, 0), + (36030, 280045, 0, 0, 0), + (36030, 320033, 0, 0, 0), + (36030, 330034, 0, 0, 0), + (36030, 340002, 0, 0, 0), + (36030, 1000060, 0, 0, 0), + (36030, 1100113, 0, 0, 0), + (36030, 1200013, 0, 0, 0), + (36031, 160005, 0, 0, 0), + (36031, 180014, 0, 0, 0), + (36031, 190016, 0, 0, 0), + (36031, 200002, 0, 0, 0), + (36031, 230002, 0, 0, 0), + (36031, 240001, 0, 0, 0), + (36031, 250002, 0, 0, 0), + (36031, 280016, 0, 0, 0), + (36031, 320020, 0, 0, 0), + (36031, 330054, 0, 0, 0), + (36031, 340001, 0, 0, 0), + (36031, 1000069, 0, 0, 0), + (36031, 1100001, 0, 0, 0), + (36031, 1200034, 0, 0, 0), + (36032, 160005, 0, 0, 0), + (36032, 180014, 0, 0, 0), + (36032, 190016, 0, 0, 0), + (36032, 200002, 0, 0, 0), + (36032, 230002, 0, 0, 0), + (36032, 240001, 0, 0, 0), + (36032, 250002, 0, 0, 0), + (36032, 280016, 0, 0, 0), + (36032, 320020, 0, 0, 0), + (36032, 330020, 0, 0, 0), + (36032, 340001, 0, 0, 0), + (36032, 1000069, 0, 0, 0), + (36032, 1100001, 0, 0, 0), + (36032, 1200034, 0, 0, 0), + (36033, 160005, 0, 0, 0), + (36033, 180014, 0, 0, 0), + (36033, 190016, 0, 0, 0), + (36033, 200002, 0, 0, 0), + (36033, 230001, 0, 0, 0), + (36033, 240001, 0, 0, 0), + (36033, 250002, 0, 0, 0), + (36033, 280016, 0, 0, 0), + (36033, 320020, 0, 0, 0), + (36033, 330053, 0, 0, 0), + (36033, 340002, 0, 0, 0), + (36033, 1000069, 0, 0, 0), + (36033, 1100001, 0, 0, 0), + (36033, 1200023, 0, 0, 0), + (36034, 160006, 0, 0, 0), + (36034, 180014, 0, 0, 0), + (36034, 190016, 0, 0, 0), + (36034, 200002, 0, 0, 0), + (36034, 230001, 0, 0, 0), + (36034, 240001, 0, 0, 0), + (36034, 250002, 0, 0, 0), + (36034, 280024, 0, 0, 0), + (36034, 320020, 0, 0, 0), + (36034, 330054, 0, 0, 0), + (36034, 340002, 0, 0, 0), + (36034, 1000123, 0, 0, 0), + (36034, 1100022, 0, 0, 0), + (36034, 1200034, 0, 0, 0), + (36035, 160006, 0, 0, 0), + (36035, 180014, 0, 0, 0), + (36035, 190016, 0, 0, 0), + (36035, 200002, 0, 0, 0), + (36035, 230001, 0, 0, 0), + (36035, 240001, 0, 0, 0), + (36035, 250002, 0, 0, 0), + (36035, 280024, 0, 0, 0), + (36035, 320020, 0, 0, 0), + (36035, 330056, 0, 0, 0), + (36035, 340002, 0, 0, 0), + (36035, 1000015, 0, 0, 0), + (36035, 1100022, 0, 0, 0), + (36035, 1200034, 0, 0, 0), + (36036, 160006, 0, 0, 0), + (36036, 180014, 0, 0, 0), + (36036, 190016, 0, 0, 0), + (36036, 200002, 0, 0, 0), + (36036, 230001, 0, 0, 0), + (36036, 240001, 0, 0, 0), + (36036, 250002, 0, 0, 0), + (36036, 280024, 0, 0, 0), + (36036, 320020, 0, 0, 0), + (36036, 330055, 0, 0, 0), + (36036, 340002, 0, 0, 0), + (36036, 1000015, 0, 0, 0), + (36036, 1100022, 0, 0, 0), + (36036, 1200034, 0, 0, 0), + (36037, 160006, 0, 0, 0), + (36037, 180014, 0, 0, 0), + (36037, 190016, 0, 0, 0), + (36037, 200002, 0, 0, 0), + (36037, 230001, 0, 0, 0), + (36037, 240001, 0, 0, 0), + (36037, 250002, 0, 0, 0), + (36037, 280024, 0, 0, 0), + (36037, 320020, 0, 0, 0), + (36037, 330055, 0, 0, 0), + (36037, 340002, 0, 0, 0), + (36037, 1000123, 0, 0, 0), + (36037, 1100025, 0, 0, 0), + (36037, 1200034, 0, 0, 0), + (36038, 160006, 0, 0, 0), + (36038, 180014, 0, 0, 0), + (36038, 190016, 0, 0, 0), + (36038, 200002, 0, 0, 0), + (36038, 230001, 0, 0, 0), + (36038, 240001, 0, 0, 0), + (36038, 250002, 0, 0, 0), + (36038, 280024, 0, 0, 0), + (36038, 320030, 0, 0, 0), + (36038, 330013, 0, 0, 0), + (36038, 340002, 0, 0, 0), + (36038, 1000071, 0, 0, 0), + (36038, 1100025, 0, 0, 0), + (36038, 1200034, 0, 0, 0), + (36039, 160006, 0, 0, 0), + (36039, 180014, 0, 0, 0), + (36039, 190016, 0, 0, 0), + (36039, 200002, 0, 0, 0), + (36039, 230001, 0, 0, 0), + (36039, 240001, 0, 0, 0), + (36039, 250002, 0, 0, 0), + (36039, 280024, 0, 0, 0), + (36039, 320030, 0, 0, 0), + (36039, 330057, 0, 0, 0), + (36039, 340002, 0, 0, 0), + (36039, 1000071, 0, 0, 0), + (36039, 1100025, 0, 0, 0), + (36039, 1200034, 0, 0, 0), + (36040, 160006, 0, 0, 0), + (36040, 180014, 0, 0, 0), + (36040, 190016, 0, 0, 0), + (36040, 200002, 0, 0, 0), + (36040, 230001, 0, 0, 0), + (36040, 240001, 0, 0, 0), + (36040, 250002, 0, 0, 0), + (36040, 280024, 0, 0, 0), + (36040, 320030, 0, 0, 0), + (36040, 330057, 0, 0, 0), + (36040, 340002, 0, 0, 0), + (36040, 1000072, 0, 0, 0), + (36040, 1100022, 0, 0, 0), + (36040, 1200034, 0, 0, 0), + (36041, 160006, 0, 0, 0), + (36041, 180014, 0, 0, 0), + (36041, 190016, 0, 0, 0), + (36041, 200002, 0, 0, 0), + (36041, 230001, 0, 0, 0), + (36041, 240001, 0, 0, 0), + (36041, 250002, 0, 0, 0), + (36041, 280024, 0, 0, 0), + (36041, 320029, 0, 0, 0), + (36041, 330057, 0, 0, 0), + (36041, 340002, 0, 0, 0), + (36041, 1000072, 0, 0, 0), + (36041, 1100023, 0, 0, 0), + (36041, 1200034, 0, 0, 0), + (36042, 160005, 0, 0, 0), + (36042, 180014, 0, 0, 0), + (36042, 190016, 0, 0, 0), + (36042, 200024, 0, 0, 0), + (36042, 230001, 0, 0, 0), + (36042, 240005, 0, 0, 0), + (36042, 250002, 0, 0, 0), + (36042, 280016, 0, 0, 0), + (36042, 320028, 0, 0, 0), + (36042, 330055, 0, 0, 0), + (36042, 340002, 0, 0, 0), + (36042, 1000070, 0, 0, 0), + (36042, 1100025, 0, 0, 0), + (36042, 1200023, 0, 0, 0), + (36043, 160009, 0, 0, 0), + (36043, 180014, 0, 0, 0), + (36043, 190016, 0, 0, 0), + (36043, 200002, 0, 0, 0), + (36043, 230001, 0, 0, 0), + (36043, 240001, 0, 0, 0), + (36043, 250002, 0, 0, 0), + (36043, 280024, 0, 0, 0), + (36043, 320020, 0, 0, 0), + (36043, 330053, 0, 0, 0), + (36043, 340002, 0, 0, 0), + (36043, 1000071, 0, 0, 0), + (36043, 1100001, 0, 0, 0), + (36043, 1200034, 0, 0, 0), + (36044, 160009, 0, 0, 0), + (36044, 180014, 0, 0, 0), + (36044, 190016, 0, 0, 0), + (36044, 200002, 0, 0, 0), + (36044, 230001, 0, 0, 0), + (36044, 240001, 0, 0, 0), + (36044, 250002, 0, 0, 0), + (36044, 280024, 0, 0, 0), + (36044, 320020, 0, 0, 0), + (36044, 330053, 0, 0, 0), + (36044, 340002, 0, 0, 0), + (36044, 1000121, 0, 0, 0), + (36044, 1100001, 0, 0, 0), + (36044, 1200034, 0, 0, 0), + (36045, 160009, 0, 0, 0), + (36045, 180014, 0, 0, 0), + (36045, 190016, 0, 0, 0), + (36045, 200002, 0, 0, 0), + (36045, 230001, 0, 0, 0), + (36045, 240001, 0, 0, 0), + (36045, 250002, 0, 0, 0), + (36045, 280024, 0, 0, 0), + (36045, 320020, 0, 0, 0), + (36045, 330034, 0, 0, 0), + (36045, 340002, 0, 0, 0), + (36045, 1000073, 0, 0, 0), + (36045, 1100001, 0, 0, 0), + (36045, 1200023, 0, 0, 0), + (36046, 160009, 0, 0, 0), + (36046, 180014, 0, 0, 0), + (36046, 190016, 0, 0, 0), + (36046, 200002, 0, 0, 0), + (36046, 230001, 0, 0, 0), + (36046, 240006, 0, 0, 0), + (36046, 250002, 0, 0, 0), + (36046, 280024, 0, 0, 0), + (36046, 320030, 0, 0, 0), + (36046, 330057, 0, 0, 0), + (36046, 340002, 0, 0, 0), + (36046, 1000073, 0, 0, 0), + (36046, 1100025, 0, 0, 0), + (36046, 1200023, 0, 0, 0), + (36047, 160009, 0, 0, 0), + (36047, 180014, 0, 0, 0), + (36047, 190016, 0, 0, 0), + (36047, 200002, 0, 0, 0), + (36047, 230001, 0, 0, 0), + (36047, 240006, 0, 0, 0), + (36047, 250002, 0, 0, 0), + (36047, 280024, 0, 0, 0), + (36047, 320020, 0, 0, 0), + (36047, 330034, 0, 0, 0), + (36047, 340002, 0, 0, 0), + (36047, 1000125, 0, 0, 0), + (36047, 1100001, 0, 0, 0), + (36047, 1200023, 0, 0, 0), + (36048, 160009, 0, 0, 0), + (36048, 180014, 0, 0, 0), + (36048, 190016, 0, 0, 0), + (36048, 200002, 0, 0, 0), + (36048, 230001, 0, 0, 0), + (36048, 240006, 0, 0, 0), + (36048, 250002, 0, 0, 0), + (36048, 280024, 0, 0, 0), + (36048, 320030, 0, 0, 0), + (36048, 330057, 0, 0, 0), + (36048, 340003, 0, 0, 0), + (36048, 1000125, 0, 0, 0), + (36048, 1100025, 0, 0, 0), + (36048, 1200023, 0, 0, 0), + (36049, 160007, 0, 0, 0), + (36049, 180014, 0, 0, 0), + (36049, 190016, 0, 0, 0), + (36049, 200047, 0, 0, 0), + (36049, 230003, 0, 0, 0), + (36049, 240008, 0, 0, 0), + (36049, 250002, 0, 0, 0), + (36049, 280024, 0, 0, 0), + (36049, 320029, 0, 0, 0), + (36049, 330025, 0, 0, 0), + (36049, 340003, 0, 0, 0), + (36049, 1000125, 0, 0, 0), + (36049, 1100024, 0, 0, 0), + (36049, 1100025, 0, 0, 0), + (36049, 1200023, 0, 0, 0), + (36050, 160012, 0, 0, 0), + (36050, 180014, 0, 0, 0), + (36050, 190016, 0, 0, 0), + (36050, 200002, 0, 0, 0), + (36050, 230001, 0, 0, 0), + (36050, 240006, 0, 0, 0), + (36050, 250002, 0, 0, 0), + (36050, 280016, 0, 0, 0), + (36050, 320020, 0, 0, 0), + (36050, 330018, 0, 0, 0), + (36050, 340002, 0, 0, 0), + (36050, 1000122, 0, 0, 0), + (36050, 1100001, 0, 0, 0), + (36050, 1200034, 0, 0, 0), + (36051, 160012, 0, 0, 0), + (36051, 180003, 0, 0, 0), + (36051, 190016, 0, 0, 0), + (36051, 200002, 0, 0, 0), + (36051, 230001, 0, 0, 0), + (36051, 240006, 0, 0, 0), + (36051, 250002, 0, 0, 0), + (36051, 280016, 0, 0, 0), + (36051, 320020, 0, 0, 0), + (36051, 330056, 0, 0, 0), + (36051, 340002, 0, 0, 0), + (36051, 1000074, 0, 0, 0), + (36051, 1100001, 0, 0, 0), + (36051, 1200034, 0, 0, 0), + (36052, 160012, 0, 0, 0), + (36052, 180003, 0, 0, 0), + (36052, 190016, 0, 0, 0), + (36052, 200002, 0, 0, 0), + (36052, 230001, 0, 0, 0), + (36052, 240006, 0, 0, 0), + (36052, 250002, 0, 0, 0), + (36052, 280016, 0, 0, 0), + (36052, 320020, 0, 0, 0), + (36052, 330018, 0, 0, 0), + (36052, 340002, 0, 0, 0), + (36052, 1000072, 0, 0, 0), + (36052, 1100025, 0, 0, 0), + (36052, 1200034, 0, 0, 0), + (36053, 160012, 0, 0, 0), + (36053, 180014, 0, 0, 0), + (36053, 190016, 0, 0, 0), + (36053, 200047, 0, 0, 0), + (36053, 230003, 0, 0, 0), + (36053, 240006, 0, 0, 0), + (36053, 250002, 0, 0, 0), + (36053, 280016, 0, 0, 0), + (36053, 320030, 0, 0, 0), + (36053, 330025, 0, 0, 0), + (36053, 340003, 0, 0, 0), + (36053, 1000125, 0, 0, 0), + (36053, 1100025, 0, 0, 0), + (36053, 1200023, 0, 0, 0), + (36054, 160012, 0, 0, 0), + (36054, 180014, 0, 0, 0), + (36054, 190016, 0, 0, 0), + (36054, 200047, 0, 0, 0), + (36054, 230003, 0, 0, 0), + (36054, 240006, 0, 0, 0), + (36054, 250002, 0, 0, 0), + (36054, 280038, 0, 0, 0), + (36054, 320029, 0, 0, 0), + (36054, 330025, 0, 0, 0), + (36054, 340003, 0, 0, 0), + (36054, 1000125, 0, 0, 0), + (36054, 1100025, 0, 0, 0), + (36054, 1200023, 0, 0, 0), + (36055, 160015, 0, 0, 0), + (36055, 180001, 0, 0, 0), + (36055, 190066, 0, 0, 0), + (36055, 200002, 0, 0, 0), + (36055, 230001, 0, 0, 0), + (36055, 240001, 0, 0, 0), + (36055, 250002, 0, 0, 0), + (36055, 280016, 0, 0, 0), + (36055, 320020, 0, 0, 0), + (36055, 330008, 0, 0, 0), + (36055, 340002, 0, 0, 0), + (36055, 1000074, 0, 0, 0), + (36055, 1100001, 0, 0, 0), + (36055, 1200034, 0, 0, 0), + (36056, 160011, 0, 0, 0), + (36056, 180062, 0, 0, 0), + (36056, 190067, 0, 0, 0), + (36056, 200048, 0, 0, 0), + (36056, 230001, 0, 0, 0), + (36056, 240001, 0, 0, 0), + (36056, 250002, 0, 0, 0), + (36056, 280051, 0, 0, 0), + (36056, 320100, 0, 0, 0), + (36056, 330056, 0, 0, 0), + (36056, 340002, 0, 0, 0), + (36056, 1000057, 0, 0, 0), + (36056, 1100120, 0, 0, 0), + (36056, 1200049, 0, 0, 0), + (36057, 160011, 0, 0, 0), + (36057, 180062, 0, 0, 0), + (36057, 190067, 0, 0, 0), + (36057, 200048, 0, 0, 0), + (36057, 230001, 0, 0, 0), + (36057, 240001, 0, 0, 0), + (36057, 250002, 0, 0, 0), + (36057, 280051, 0, 0, 0), + (36057, 320100, 0, 0, 0), + (36057, 330030, 0, 0, 0), + (36057, 340002, 0, 0, 0), + (36057, 1000057, 0, 0, 0), + (36057, 1100120, 0, 0, 0), + (36057, 1200049, 0, 0, 0), + (36058, 160011, 0, 0, 0), + (36058, 180062, 0, 0, 0), + (36058, 190067, 0, 0, 0), + (36058, 200030, 0, 0, 0), + (36058, 230001, 0, 0, 0), + (36058, 240006, 0, 0, 0), + (36058, 250002, 0, 0, 0), + (36058, 280051, 0, 0, 0), + (36058, 320101, 0, 0, 0), + (36058, 330018, 0, 0, 0), + (36058, 340002, 0, 0, 0), + (36058, 1000057, 0, 0, 0), + (36058, 1100121, 0, 0, 0), + (36058, 1200049, 0, 0, 0), + (36059, 160011, 0, 0, 0), + (36059, 180062, 0, 0, 0), + (36059, 190067, 0, 0, 0), + (36059, 200030, 0, 0, 0), + (36059, 230001, 0, 0, 0), + (36059, 240006, 0, 0, 0), + (36059, 250002, 0, 0, 0), + (36059, 280052, 0, 0, 0), + (36059, 320101, 0, 0, 0), + (36059, 330043, 0, 0, 0), + (36059, 340002, 0, 0, 0), + (36059, 1000057, 0, 0, 0), + (36059, 1100121, 0, 0, 0), + (36059, 1200049, 0, 0, 0), + (36060, 160011, 0, 0, 0), + (36060, 180062, 0, 0, 0), + (36060, 190067, 0, 0, 0), + (36060, 200030, 0, 0, 0), + (36060, 230001, 0, 0, 0), + (36060, 240005, 0, 0, 0), + (36060, 250002, 0, 0, 0), + (36060, 280052, 0, 0, 0), + (36060, 320101, 0, 0, 0), + (36060, 330030, 0, 0, 0), + (36060, 340002, 0, 0, 0), + (36060, 1000057, 0, 0, 0), + (36060, 1100121, 0, 0, 0), + (36060, 1200049, 0, 0, 0), + (36061, 160011, 0, 0, 0), + (36061, 180062, 0, 0, 0), + (36061, 190067, 0, 0, 0), + (36061, 200049, 0, 0, 0), + (36061, 230001, 0, 0, 0), + (36061, 240006, 0, 0, 0), + (36061, 250002, 0, 0, 0), + (36061, 280052, 0, 0, 0), + (36061, 320101, 0, 0, 0), + (36061, 330008, 0, 0, 0), + (36061, 340002, 0, 0, 0), + (36061, 1000057, 0, 0, 0), + (36061, 1100121, 0, 0, 0), + (36061, 1200049, 0, 0, 0), + (36062, 160011, 0, 0, 0), + (36062, 180062, 0, 0, 0), + (36062, 190067, 0, 0, 0), + (36062, 200049, 0, 0, 0), + (36062, 230001, 0, 0, 0), + (36062, 240006, 0, 0, 0), + (36062, 250002, 0, 0, 0), + (36062, 280052, 0, 0, 0), + (36062, 320101, 0, 0, 0), + (36062, 330030, 0, 0, 0), + (36062, 340002, 0, 0, 0), + (36062, 1000057, 0, 0, 0), + (36062, 1100121, 0, 0, 0), + (36062, 1200050, 0, 0, 0), + (36063, 160011, 0, 0, 0), + (36063, 180062, 0, 0, 0), + (36063, 190015, 0, 0, 0), + (36063, 200049, 0, 0, 0), + (36063, 230001, 0, 0, 0), + (36063, 240006, 0, 0, 0), + (36063, 250002, 0, 0, 0), + (36063, 280052, 0, 0, 0), + (36063, 320101, 0, 0, 0), + (36063, 330043, 0, 0, 0), + (36063, 340002, 0, 0, 0), + (36063, 1000022, 0, 0, 0), + (36063, 1100120, 0, 0, 0), + (36063, 1200050, 0, 0, 0), + (36064, 160011, 0, 0, 0), + (36064, 180062, 0, 0, 0), + (36064, 190067, 0, 0, 0), + (36064, 200049, 0, 0, 0), + (36064, 230001, 0, 0, 0), + (36064, 240005, 0, 0, 0), + (36064, 250002, 0, 0, 0), + (36064, 280052, 0, 0, 0), + (36064, 320100, 0, 0, 0), + (36064, 330030, 0, 0, 0), + (36064, 340002, 0, 0, 0), + (36064, 1000057, 0, 0, 0), + (36064, 1100121, 0, 0, 0), + (36064, 1200050, 0, 0, 0), + (36065, 160016, 0, 0, 0), + (36065, 180062, 0, 0, 0), + (36065, 190067, 0, 0, 0), + (36065, 200049, 0, 0, 0), + (36065, 230001, 0, 0, 0), + (36065, 240005, 0, 0, 0), + (36065, 250002, 0, 0, 0), + (36065, 280052, 0, 0, 0), + (36065, 320101, 0, 0, 0), + (36065, 330043, 0, 0, 0), + (36065, 340002, 0, 0, 0), + (36065, 1000022, 0, 0, 0), + (36065, 1100121, 0, 0, 0), + (36065, 1200050, 0, 0, 0), + (36066, 160016, 0, 0, 0), + (36066, 180062, 0, 0, 0), + (36066, 190067, 0, 0, 0), + (36066, 200030, 0, 0, 0), + (36066, 230001, 0, 0, 0), + (36066, 240005, 0, 0, 0), + (36066, 250002, 0, 0, 0), + (36066, 280052, 0, 0, 0), + (36066, 320101, 0, 0, 0), + (36066, 330017, 0, 0, 0), + (36066, 340002, 0, 0, 0), + (36066, 1000126, 0, 0, 0), + (36066, 1100121, 0, 0, 0), + (36066, 1200050, 0, 0, 0), + (36067, 160016, 0, 0, 0), + (36067, 180062, 0, 0, 0), + (36067, 190067, 0, 0, 0), + (36067, 200030, 0, 0, 0), + (36067, 230001, 0, 0, 0), + (36067, 240005, 0, 0, 0), + (36067, 250002, 0, 0, 0), + (36067, 280052, 0, 0, 0), + (36067, 320101, 0, 0, 0), + (36067, 330019, 0, 0, 0), + (36067, 340002, 0, 0, 0), + (36067, 1000126, 0, 0, 0), + (36067, 1100121, 0, 0, 0), + (36067, 1200050, 0, 0, 0), + (36068, 160016, 0, 0, 0), + (36068, 180062, 0, 0, 0), + (36068, 190067, 0, 0, 0), + (36068, 200050, 0, 0, 0), + (36068, 230001, 0, 0, 0), + (36068, 240005, 0, 0, 0), + (36068, 250002, 0, 0, 0), + (36068, 280052, 0, 0, 0), + (36068, 320100, 0, 0, 0), + (36068, 330043, 0, 0, 0), + (36068, 340002, 0, 0, 0), + (36068, 1000022, 0, 0, 0), + (36068, 1100121, 0, 0, 0), + (36068, 1200050, 0, 0, 0), + (36069, 160016, 0, 0, 0), + (36069, 180062, 0, 0, 0), + (36069, 190067, 0, 0, 0), + (36069, 200030, 0, 0, 0), + (36069, 230001, 0, 0, 0), + (36069, 240005, 0, 0, 0), + (36069, 250002, 0, 0, 0), + (36069, 280052, 0, 0, 0), + (36069, 320101, 0, 0, 0), + (36069, 330043, 0, 0, 0), + (36069, 340002, 0, 0, 0), + (36069, 1000126, 0, 0, 0), + (36069, 1100121, 0, 0, 0), + (36069, 1200050, 0, 0, 0), + (36070, 160004, 0, 0, 0), + (36070, 180062, 0, 0, 0), + (36070, 190067, 0, 0, 0), + (36070, 200008, 0, 0, 0), + (36070, 230004, 0, 0, 0), + (36070, 240005, 0, 0, 0), + (36070, 250002, 0, 0, 0), + (36070, 280005, 0, 0, 0), + (36070, 320010, 0, 0, 0), + (36070, 330019, 0, 0, 0), + (36070, 340003, 0, 0, 0), + (36070, 1000126, 0, 0, 0), + (36070, 1100122, 0, 0, 0), + (36070, 1200050, 0, 0, 0), + (36071, 160014, 0, 0, 0), + (36071, 180002, 0, 0, 0), + (36071, 190015, 0, 0, 0), + (36071, 200003, 0, 0, 0), + (36071, 230003, 0, 0, 0), + (36071, 240006, 0, 0, 0), + (36071, 250002, 0, 0, 0), + (36071, 280002, 0, 0, 0), + (36071, 320002, 0, 0, 0), + (36071, 330018, 0, 0, 0), + (36071, 340002, 0, 0, 0), + (36071, 1000075, 0, 0, 0), + (36071, 1100014, 0, 0, 0), + (36071, 1200001, 0, 0, 0), + (36072, 160014, 0, 0, 0), + (36072, 180002, 0, 0, 0), + (36072, 190015, 0, 0, 0), + (36072, 200046, 0, 0, 0), + (36072, 230003, 0, 0, 0), + (36072, 240006, 0, 0, 0), + (36072, 250002, 0, 0, 0), + (36072, 280006, 0, 0, 0), + (36072, 320002, 0, 0, 0), + (36072, 330004, 0, 0, 0), + (36072, 340002, 0, 0, 0), + (36072, 1000075, 0, 0, 0), + (36072, 1100026, 0, 0, 0), + (36072, 1200001, 0, 0, 0), + (36073, 160014, 0, 0, 0), + (36073, 180013, 0, 0, 0), + (36073, 190015, 0, 0, 0), + (36073, 200046, 0, 0, 0), + (36073, 230003, 0, 0, 0), + (36073, 240006, 0, 0, 0), + (36073, 250002, 0, 0, 0), + (36073, 280006, 0, 0, 0), + (36073, 320031, 0, 0, 0), + (36073, 330033, 0, 0, 0), + (36073, 340003, 0, 0, 0), + (36073, 1000023, 0, 0, 0), + (36073, 1100025, 0, 0, 0), + (36073, 1200024, 0, 0, 0), + (36074, 160014, 0, 0, 0), + (36074, 180002, 0, 0, 0), + (36074, 190015, 0, 0, 0), + (36074, 200046, 0, 0, 0), + (36074, 230003, 0, 0, 0), + (36074, 240006, 0, 0, 0), + (36074, 250002, 0, 0, 0), + (36074, 280006, 0, 0, 0), + (36074, 320002, 0, 0, 0), + (36074, 330033, 0, 0, 0), + (36074, 340003, 0, 0, 0), + (36074, 1000075, 0, 0, 0), + (36074, 1100026, 0, 0, 0), + (36074, 1200001, 0, 0, 0), + (36075, 160087, 0, 0, 0), + (36075, 180002, 0, 0, 0), + (36075, 190015, 0, 0, 0), + (36075, 200003, 0, 0, 0), + (36075, 230001, 0, 0, 0), + (36075, 240005, 0, 0, 0), + (36075, 250002, 0, 0, 0), + (36075, 280006, 0, 0, 0), + (36075, 320002, 0, 0, 0), + (36075, 330043, 0, 0, 0), + (36075, 340002, 0, 0, 0), + (36075, 1000127, 0, 0, 0), + (36075, 1100025, 0, 0, 0), + (36075, 1200001, 0, 0, 0), + (36076, 160087, 0, 0, 0), + (36076, 180013, 0, 0, 0), + (36076, 190015, 0, 0, 0), + (36076, 200046, 0, 0, 0), + (36076, 230001, 0, 0, 0), + (36076, 240005, 0, 0, 0), + (36076, 250002, 0, 0, 0), + (36076, 280006, 0, 0, 0), + (36076, 320009, 0, 0, 0), + (36076, 330027, 0, 0, 0), + (36076, 340002, 0, 0, 0), + (36076, 1000023, 0, 0, 0), + (36076, 1100026, 0, 0, 0), + (36076, 1200024, 0, 0, 0), + (36077, 160087, 0, 0, 0), + (36077, 180002, 0, 0, 0), + (36077, 190015, 0, 0, 0), + (36077, 200046, 0, 0, 0), + (36077, 230001, 0, 0, 0), + (36077, 240005, 0, 0, 0), + (36077, 250002, 0, 0, 0), + (36077, 280006, 0, 0, 0), + (36077, 320002, 0, 0, 0), + (36077, 330014, 0, 0, 0), + (36077, 340002, 0, 0, 0), + (36077, 1000127, 0, 0, 0), + (36077, 1100026, 0, 0, 0), + (36077, 1200001, 0, 0, 0), + (36078, 160087, 0, 0, 0), + (36078, 180013, 0, 0, 0), + (36078, 190015, 0, 0, 0), + (36078, 200046, 0, 0, 0), + (36078, 230003, 0, 0, 0), + (36078, 240007, 0, 0, 0), + (36078, 250002, 0, 0, 0), + (36078, 280006, 0, 0, 0), + (36078, 320031, 0, 0, 0), + (36078, 330027, 0, 0, 0), + (36078, 340003, 0, 0, 0), + (36078, 1000024, 0, 0, 0), + (36078, 1100026, 0, 0, 0), + (36078, 1200024, 0, 0, 0), + (36079, 160087, 0, 0, 0), + (36079, 180013, 0, 0, 0), + (36079, 190015, 0, 0, 0), + (36079, 200046, 0, 0, 0), + (36079, 230003, 0, 0, 0), + (36079, 240007, 0, 0, 0), + (36079, 250002, 0, 0, 0), + (36079, 280006, 0, 0, 0), + (36079, 320009, 0, 0, 0), + (36079, 330014, 0, 0, 0), + (36079, 340003, 0, 0, 0), + (36079, 1000025, 0, 0, 0), + (36079, 1100026, 0, 0, 0), + (36079, 1200024, 0, 0, 0), + (36080, 160087, 0, 0, 0), + (36080, 180013, 0, 0, 0), + (36080, 190015, 0, 0, 0), + (36080, 200046, 0, 0, 0), + (36080, 230003, 0, 0, 0), + (36080, 240007, 0, 0, 0), + (36080, 250002, 0, 0, 0), + (36080, 280006, 0, 0, 0), + (36080, 320009, 0, 0, 0), + (36080, 330014, 0, 0, 0), + (36080, 340003, 0, 0, 0), + (36080, 1000023, 0, 0, 0), + (36080, 1100026, 0, 0, 0), + (36080, 1200024, 0, 0, 0), + (36081, 160072, 0, 0, 0), + (36081, 180002, 0, 0, 0), + (36081, 190015, 0, 0, 0), + (36081, 200003, 0, 0, 0), + (36081, 230003, 0, 0, 0), + (36081, 240006, 0, 0, 0), + (36081, 250002, 0, 0, 0), + (36081, 280002, 0, 0, 0), + (36081, 320002, 0, 0, 0), + (36081, 330018, 0, 0, 0), + (36081, 340002, 0, 0, 0), + (36081, 1000075, 0, 0, 0), + (36081, 1100014, 0, 0, 0), + (36081, 1200001, 0, 0, 0), + (36082, 160017, 0, 0, 0), + (36082, 180002, 0, 0, 0), + (36082, 190015, 0, 0, 0), + (36082, 200046, 0, 0, 0), + (36082, 230001, 0, 0, 0), + (36082, 240005, 0, 0, 0), + (36082, 250002, 0, 0, 0), + (36082, 280002, 0, 0, 0), + (36082, 320002, 0, 0, 0), + (36082, 330043, 0, 0, 0), + (36082, 340002, 0, 0, 0), + (36082, 1000075, 0, 0, 0), + (36082, 1100026, 0, 0, 0), + (36082, 1200001, 0, 0, 0), + (36083, 160017, 0, 0, 0), + (36083, 180002, 0, 0, 0), + (36083, 190015, 0, 0, 0), + (36083, 200046, 0, 0, 0), + (36083, 230003, 0, 0, 0), + (36083, 240005, 0, 0, 0), + (36083, 250002, 0, 0, 0), + (36083, 280006, 0, 0, 0), + (36083, 320002, 0, 0, 0), + (36083, 330043, 0, 0, 0), + (36083, 340003, 0, 0, 0), + (36083, 1000075, 0, 0, 0), + (36083, 1100026, 0, 0, 0), + (36083, 1200001, 0, 0, 0), + (36084, 160017, 0, 0, 0), + (36084, 180002, 0, 0, 0), + (36084, 190015, 0, 0, 0), + (36084, 200046, 0, 0, 0), + (36084, 230003, 0, 0, 0), + (36084, 240005, 0, 0, 0), + (36084, 250002, 0, 0, 0), + (36084, 280006, 0, 0, 0), + (36084, 320002, 0, 0, 0), + (36084, 330043, 0, 0, 0), + (36084, 340003, 0, 0, 0), + (36084, 1000075, 0, 0, 0), + (36084, 1100026, 0, 0, 0), + (36084, 1200024, 0, 0, 0), + (36085, 160017, 0, 0, 0), + (36085, 180002, 0, 0, 0), + (36085, 190015, 0, 0, 0), + (36085, 200046, 0, 0, 0), + (36085, 230003, 0, 0, 0), + (36085, 240007, 0, 0, 0), + (36085, 250002, 0, 0, 0), + (36085, 280006, 0, 0, 0), + (36085, 320032, 0, 0, 0), + (36085, 330025, 0, 0, 0), + (36085, 340003, 0, 0, 0), + (36085, 1000077, 0, 0, 0), + (36085, 1100026, 0, 0, 0), + (36085, 1200024, 0, 0, 0), + (36086, 160017, 0, 0, 0), + (36086, 180002, 0, 0, 0), + (36086, 190015, 0, 0, 0), + (36086, 200051, 0, 0, 0), + (36086, 230003, 0, 0, 0), + (36086, 240007, 0, 0, 0), + (36086, 250002, 0, 0, 0), + (36086, 280006, 0, 0, 0), + (36086, 320032, 0, 0, 0), + (36086, 330025, 0, 0, 0), + (36086, 340003, 0, 0, 0), + (36086, 1000025, 0, 0, 0), + (36086, 1100026, 0, 0, 0), + (36086, 1200024, 0, 0, 0), + (36087, 160017, 0, 0, 0), + (36087, 180013, 0, 0, 0), + (36087, 190015, 0, 0, 0), + (36087, 200051, 0, 0, 0), + (36087, 230003, 0, 0, 0), + (36087, 240007, 0, 0, 0), + (36087, 250002, 0, 0, 0), + (36087, 280006, 0, 0, 0), + (36087, 320031, 0, 0, 0), + (36087, 330027, 0, 0, 0), + (36087, 340003, 0, 0, 0), + (36087, 1000025, 0, 0, 0), + (36087, 1100027, 0, 0, 0), + (36087, 1200024, 0, 0, 0), + (36088, 160038, 0, 0, 0), + (36088, 180025, 0, 0, 0), + (36088, 190022, 0, 0, 0), + (36088, 200020, 0, 0, 0), + (36088, 230001, 0, 0, 0), + (36088, 240001, 0, 0, 0), + (36088, 250002, 0, 0, 0), + (36088, 280020, 0, 0, 0), + (36088, 320024, 0, 0, 0), + (36088, 330058, 0, 0, 0), + (36088, 340002, 0, 0, 0), + (36088, 1000081, 0, 0, 0), + (36088, 1100017, 0, 0, 0), + (36088, 1200019, 0, 0, 0), + (36089, 160038, 0, 0, 0), + (36089, 180026, 0, 0, 0), + (36089, 190022, 0, 0, 0), + (36089, 200020, 0, 0, 0), + (36089, 230003, 0, 0, 0), + (36089, 240006, 0, 0, 0), + (36089, 250002, 0, 0, 0), + (36089, 280027, 0, 0, 0), + (36089, 320024, 0, 0, 0), + (36089, 330043, 0, 0, 0), + (36089, 340002, 0, 0, 0), + (36089, 1000017, 0, 0, 0), + (36089, 1100098, 0, 0, 0), + (36089, 1200019, 0, 0, 0), + (36090, 160038, 0, 0, 0), + (36090, 180026, 0, 0, 0), + (36090, 190022, 0, 0, 0), + (36090, 200020, 0, 0, 0), + (36090, 230003, 0, 0, 0), + (36090, 240006, 0, 0, 0), + (36090, 250002, 0, 0, 0), + (36090, 280027, 0, 0, 0), + (36090, 320024, 0, 0, 0), + (36090, 330043, 0, 0, 0), + (36090, 340002, 0, 0, 0), + (36090, 1000017, 0, 0, 0), + (36090, 1100098, 0, 0, 0), + (36090, 1200019, 0, 0, 0), + (36091, 160038, 0, 0, 0), + (36091, 180026, 0, 0, 0), + (36091, 190022, 0, 0, 0), + (36091, 200020, 0, 0, 0), + (36091, 230003, 0, 0, 0), + (36091, 240006, 0, 0, 0), + (36091, 250002, 0, 0, 0), + (36091, 280027, 0, 0, 0), + (36091, 320024, 0, 0, 0), + (36091, 330043, 0, 0, 0), + (36091, 340002, 0, 0, 0), + (36091, 1000017, 0, 0, 0), + (36091, 1100098, 0, 0, 0), + (36091, 1200019, 0, 0, 0), + (36092, 160038, 0, 0, 0), + (36092, 180026, 0, 0, 0), + (36092, 190022, 0, 0, 0), + (36092, 200020, 0, 0, 0), + (36092, 230003, 0, 0, 0), + (36092, 240006, 0, 0, 0), + (36092, 250002, 0, 0, 0), + (36092, 280027, 0, 0, 0), + (36092, 320024, 0, 0, 0), + (36092, 330043, 0, 0, 0), + (36092, 340002, 0, 0, 0), + (36092, 1000017, 0, 0, 0), + (36092, 1100098, 0, 0, 0), + (36092, 1200019, 0, 0, 0), + (36093, 160037, 0, 0, 0), + (36093, 180020, 0, 0, 0), + (36093, 190022, 0, 0, 0), + (36093, 200020, 0, 0, 0), + (36093, 230001, 0, 0, 0), + (36093, 240001, 0, 0, 0), + (36093, 250002, 0, 0, 0), + (36093, 280027, 0, 0, 0), + (36093, 320024, 0, 0, 0), + (36093, 330018, 0, 0, 0), + (36093, 340002, 0, 0, 0), + (36093, 1000017, 0, 0, 0), + (36093, 1100098, 0, 0, 0), + (36093, 1200019, 0, 0, 0), + (36094, 160037, 0, 0, 0), + (36094, 180020, 0, 0, 0), + (36094, 190022, 0, 0, 0), + (36094, 200052, 0, 0, 0), + (36094, 230001, 0, 0, 0), + (36094, 240001, 0, 0, 0), + (36094, 250002, 0, 0, 0), + (36094, 280027, 0, 0, 0), + (36094, 320024, 0, 0, 0), + (36094, 330043, 0, 0, 0), + (36094, 340002, 0, 0, 0), + (36094, 1000017, 0, 0, 0), + (36094, 1100098, 0, 0, 0), + (36094, 1200019, 0, 0, 0), + (36095, 160037, 0, 0, 0), + (36095, 180020, 0, 0, 0), + (36095, 190022, 0, 0, 0), + (36095, 200052, 0, 0, 0), + (36095, 230001, 0, 0, 0), + (36095, 240001, 0, 0, 0), + (36095, 250002, 0, 0, 0), + (36095, 280027, 0, 0, 0), + (36095, 320024, 0, 0, 0), + (36095, 330030, 0, 0, 0), + (36095, 340002, 0, 0, 0), + (36095, 1000017, 0, 0, 0), + (36095, 1100098, 0, 0, 0), + (36095, 1200019, 0, 0, 0), + (36096, 160037, 0, 0, 0), + (36096, 180020, 0, 0, 0), + (36096, 190022, 0, 0, 0), + (36096, 200020, 0, 0, 0), + (36096, 230001, 0, 0, 0), + (36096, 240001, 0, 0, 0), + (36096, 250002, 0, 0, 0), + (36096, 280020, 0, 0, 0), + (36096, 320024, 0, 0, 0), + (36096, 330018, 0, 0, 0), + (36096, 340002, 0, 0, 0), + (36096, 1000017, 0, 0, 0), + (36096, 1100017, 0, 0, 0), + (36096, 1200019, 0, 0, 0), + (36097, 25007, 0, 0, 0), + (36097, 160037, 0, 0, 0), + (36097, 180020, 0, 0, 0), + (36097, 190022, 0, 0, 0), + (36097, 200052, 0, 0, 0), + (36097, 230003, 0, 0, 0), + (36097, 240005, 0, 0, 0), + (36097, 250002, 0, 0, 0), + (36097, 280027, 0, 0, 0), + (36097, 320037, 0, 0, 0), + (36097, 330043, 0, 0, 0), + (36097, 340002, 0, 0, 0), + (36097, 1000017, 0, 0, 0), + (36097, 1100032, 0, 0, 0), + (36097, 1200019, 0, 0, 0), + (36098, 160039, 0, 0, 0), + (36098, 180023, 0, 0, 0), + (36098, 190025, 0, 0, 0), + (36098, 200023, 0, 0, 0), + (36098, 230001, 0, 0, 0), + (36098, 240001, 0, 0, 0), + (36098, 250002, 0, 0, 0), + (36098, 280023, 0, 0, 0), + (36098, 320027, 0, 0, 0), + (36098, 330058, 0, 0, 0), + (36098, 340002, 0, 0, 0), + (36098, 1000084, 0, 0, 0), + (36098, 1100020, 0, 0, 0), + (36098, 1200035, 0, 0, 0), + (36099, 160039, 0, 0, 0), + (36099, 180023, 0, 0, 0), + (36099, 190025, 0, 0, 0), + (36099, 200023, 0, 0, 0), + (36099, 230001, 0, 0, 0), + (36099, 240001, 0, 0, 0), + (36099, 250002, 0, 0, 0), + (36099, 280023, 0, 0, 0), + (36099, 320027, 0, 0, 0), + (36099, 330058, 0, 0, 0), + (36099, 340002, 0, 0, 0), + (36099, 1000084, 0, 0, 0), + (36099, 1100099, 0, 0, 0), + (36099, 1200035, 0, 0, 0), + (36100, 160039, 0, 0, 0), + (36100, 180023, 0, 0, 0), + (36100, 190025, 0, 0, 0), + (36100, 200023, 0, 0, 0), + (36100, 230001, 0, 0, 0), + (36100, 240001, 0, 0, 0), + (36100, 250002, 0, 0, 0), + (36100, 280023, 0, 0, 0), + (36100, 320027, 0, 0, 0), + (36100, 330008, 0, 0, 0), + (36100, 340002, 0, 0, 0), + (36100, 1000084, 0, 0, 0), + (36100, 1100099, 0, 0, 0), + (36100, 1200035, 0, 0, 0), + (36101, 160039, 0, 0, 0), + (36101, 180023, 0, 0, 0), + (36101, 190025, 0, 0, 0), + (36101, 200023, 0, 0, 0), + (36101, 230001, 0, 0, 0), + (36101, 240001, 0, 0, 0), + (36101, 250002, 0, 0, 0), + (36101, 280023, 0, 0, 0), + (36101, 320027, 0, 0, 0), + (36101, 330059, 0, 0, 0), + (36101, 340002, 0, 0, 0), + (36101, 1000085, 0, 0, 0), + (36101, 1100099, 0, 0, 0), + (36101, 1200035, 0, 0, 0), + (36102, 160039, 0, 0, 0), + (36102, 180023, 0, 0, 0), + (36102, 190025, 0, 0, 0), + (36102, 200023, 0, 0, 0), + (36102, 230001, 0, 0, 0), + (36102, 240001, 0, 0, 0), + (36102, 250002, 0, 0, 0), + (36102, 280023, 0, 0, 0), + (36102, 320027, 0, 0, 0), + (36102, 330060, 0, 0, 0), + (36102, 340002, 0, 0, 0), + (36102, 1000128, 0, 0, 0), + (36102, 1100099, 0, 0, 0), + (36102, 1200035, 0, 0, 0), + (36103, 160039, 0, 0, 0), + (36103, 180023, 0, 0, 0), + (36103, 190025, 0, 0, 0), + (36103, 200023, 0, 0, 0), + (36103, 230001, 0, 0, 0), + (36103, 240001, 0, 0, 0), + (36103, 250002, 0, 0, 0), + (36103, 280039, 0, 0, 0), + (36103, 320027, 0, 0, 0), + (36103, 330060, 0, 0, 0), + (36103, 340002, 0, 0, 0), + (36103, 1000085, 0, 0, 0), + (36103, 1100100, 0, 0, 0), + (36103, 1200035, 0, 0, 0), + (36104, 160039, 0, 0, 0), + (36104, 180023, 0, 0, 0), + (36104, 190025, 0, 0, 0), + (36104, 200023, 0, 0, 0), + (36104, 230001, 0, 0, 0), + (36104, 240001, 0, 0, 0), + (36104, 250002, 0, 0, 0), + (36104, 280039, 0, 0, 0), + (36104, 320027, 0, 0, 0), + (36104, 330030, 0, 0, 0), + (36104, 340002, 0, 0, 0), + (36104, 1000085, 0, 0, 0), + (36104, 1100100, 0, 0, 0), + (36104, 1200035, 0, 0, 0), + (36105, 160039, 0, 0, 0), + (36105, 180027, 0, 0, 0), + (36105, 190025, 0, 0, 0), + (36105, 200027, 0, 0, 0), + (36105, 230001, 0, 0, 0), + (36105, 240001, 0, 0, 0), + (36105, 250002, 0, 0, 0), + (36105, 280039, 0, 0, 0), + (36105, 320090, 0, 0, 0), + (36105, 330060, 0, 0, 0), + (36105, 340002, 0, 0, 0), + (36105, 1000037, 0, 0, 0), + (36105, 1100033, 0, 0, 0), + (36105, 1200035, 0, 0, 0), + (36106, 160039, 0, 0, 0), + (36106, 180027, 0, 0, 0), + (36106, 190025, 0, 0, 0), + (36106, 200027, 0, 0, 0), + (36106, 230001, 0, 0, 0), + (36106, 240005, 0, 0, 0), + (36106, 250002, 0, 0, 0), + (36106, 280039, 0, 0, 0), + (36106, 320090, 0, 0, 0), + (36106, 330030, 0, 0, 0), + (36106, 340002, 0, 0, 0), + (36106, 1000085, 0, 0, 0), + (36106, 1100033, 0, 0, 0), + (36106, 1200035, 0, 0, 0), + (36107, 160039, 0, 0, 0), + (36107, 180023, 0, 0, 0), + (36107, 190025, 0, 0, 0), + (36107, 200023, 0, 0, 0), + (36107, 230001, 0, 0, 0), + (36107, 240001, 0, 0, 0), + (36107, 250002, 0, 0, 0), + (36107, 280039, 0, 0, 0), + (36107, 320027, 0, 0, 0), + (36107, 330030, 0, 0, 0), + (36107, 340002, 0, 0, 0), + (36107, 1000018, 0, 0, 0), + (36107, 1100100, 0, 0, 0), + (36107, 1200035, 0, 0, 0), + (36108, 160039, 0, 0, 0), + (36108, 180023, 0, 0, 0), + (36108, 190025, 0, 0, 0), + (36108, 200023, 0, 0, 0), + (36108, 230001, 0, 0, 0), + (36108, 240001, 0, 0, 0), + (36108, 250002, 0, 0, 0), + (36108, 280039, 0, 0, 0), + (36108, 320027, 0, 0, 0), + (36108, 330060, 0, 0, 0), + (36108, 340002, 0, 0, 0), + (36108, 1000018, 0, 0, 0), + (36108, 1100100, 0, 0, 0), + (36108, 1200035, 0, 0, 0), + (36109, 160039, 0, 0, 0), + (36109, 180027, 0, 0, 0), + (36109, 190025, 0, 0, 0), + (36109, 200027, 0, 0, 0), + (36109, 230003, 0, 0, 0), + (36109, 240005, 0, 0, 0), + (36109, 250002, 0, 0, 0), + (36109, 280039, 0, 0, 0), + (36109, 320090, 0, 0, 0), + (36109, 330030, 0, 0, 0), + (36109, 340003, 0, 0, 0), + (36109, 1000129, 0, 0, 0), + (36109, 1100033, 0, 0, 0), + (36109, 1200037, 0, 0, 0), + (36110, 160070, 0, 0, 0), + (36110, 180029, 0, 0, 0), + (36110, 190025, 0, 0, 0), + (36110, 200027, 0, 0, 0), + (36110, 230003, 0, 0, 0), + (36110, 240005, 0, 0, 0), + (36110, 250002, 0, 0, 0), + (36110, 280029, 0, 0, 0), + (36110, 320039, 0, 0, 0), + (36110, 330055, 0, 0, 0), + (36110, 340002, 0, 0, 0), + (36110, 1000086, 0, 0, 0), + (36110, 1100037, 0, 0, 0), + (36110, 1200037, 0, 0, 0), + (36111, 160070, 0, 0, 0), + (36111, 180029, 0, 0, 0), + (36111, 190025, 0, 0, 0), + (36111, 200027, 0, 0, 0), + (36111, 230001, 0, 0, 0), + (36111, 240005, 0, 0, 0), + (36111, 250002, 0, 0, 0), + (36111, 280023, 0, 0, 0), + (36111, 320027, 0, 0, 0), + (36111, 330060, 0, 0, 0), + (36111, 340002, 0, 0, 0), + (36111, 1000130, 0, 0, 0), + (36111, 1100020, 0, 0, 0), + (36111, 1200035, 0, 0, 0), + (36112, 160070, 0, 0, 0), + (36112, 180029, 0, 0, 0), + (36112, 190025, 0, 0, 0), + (36112, 200027, 0, 0, 0), + (36112, 230003, 0, 0, 0), + (36112, 240007, 0, 0, 0), + (36112, 250002, 0, 0, 0), + (36112, 280029, 0, 0, 0), + (36112, 320039, 0, 0, 0), + (36112, 330017, 0, 0, 0), + (36112, 340002, 0, 0, 0), + (36112, 1000087, 0, 0, 0), + (36112, 1100037, 0, 0, 0), + (36112, 1200037, 0, 0, 0), + (36113, 160070, 0, 0, 0), + (36113, 180029, 0, 0, 0), + (36113, 190025, 0, 0, 0), + (36113, 200027, 0, 0, 0), + (36113, 230003, 0, 0, 0), + (36113, 240005, 0, 0, 0), + (36113, 250002, 0, 0, 0), + (36113, 280029, 0, 0, 0), + (36113, 320027, 0, 0, 0), + (36113, 330060, 0, 0, 0), + (36113, 340002, 0, 0, 0), + (36113, 1000088, 0, 0, 0), + (36113, 1100036, 0, 0, 0), + (36113, 1200035, 0, 0, 0), + (36114, 160070, 0, 0, 0), + (36114, 180029, 0, 0, 0), + (36114, 190025, 0, 0, 0), + (36114, 200027, 0, 0, 0), + (36114, 230003, 0, 0, 0), + (36114, 240005, 0, 0, 0), + (36114, 250002, 0, 0, 0), + (36114, 280029, 0, 0, 0), + (36114, 320027, 0, 0, 0), + (36114, 330030, 0, 0, 0), + (36114, 340002, 0, 0, 0), + (36114, 1000130, 0, 0, 0), + (36114, 1100036, 0, 0, 0), + (36114, 1200035, 0, 0, 0), + (36115, 160070, 0, 0, 0), + (36115, 180029, 0, 0, 0), + (36115, 190025, 0, 0, 0), + (36115, 200027, 0, 0, 0), + (36115, 230003, 0, 0, 0), + (36115, 240005, 0, 0, 0), + (36115, 250002, 0, 0, 0), + (36115, 280029, 0, 0, 0), + (36115, 320039, 0, 0, 0), + (36115, 330025, 0, 0, 0), + (36115, 340002, 0, 0, 0), + (36115, 1000049, 0, 0, 0), + (36115, 1100037, 0, 0, 0), + (36115, 1200035, 0, 0, 0), + (36116, 160070, 0, 0, 0), + (36116, 180029, 0, 0, 0), + (36116, 190025, 0, 0, 0), + (36116, 200027, 0, 0, 0), + (36116, 230003, 0, 0, 0), + (36116, 240005, 0, 0, 0), + (36116, 250002, 0, 0, 0), + (36116, 280029, 0, 0, 0), + (36116, 320039, 0, 0, 0), + (36116, 330017, 0, 0, 0), + (36116, 340002, 0, 0, 0), + (36116, 1000050, 0, 0, 0), + (36116, 1100037, 0, 0, 0), + (36116, 1200037, 0, 0, 0), + (36117, 160040, 0, 0, 0), + (36117, 180023, 0, 0, 0), + (36117, 190006, 0, 0, 0), + (36117, 200023, 0, 0, 0), + (36117, 230001, 0, 0, 0), + (36117, 240001, 0, 0, 0), + (36117, 250002, 0, 0, 0), + (36117, 280023, 0, 0, 0), + (36117, 320027, 0, 0, 0), + (36117, 330059, 0, 0, 0), + (36117, 340002, 0, 0, 0), + (36117, 1000084, 0, 0, 0), + (36117, 1100020, 0, 0, 0), + (36117, 1200035, 0, 0, 0), + (36118, 160040, 0, 0, 0), + (36118, 180023, 0, 0, 0), + (36118, 190006, 0, 0, 0), + (36118, 200006, 0, 0, 0), + (36118, 200023, 0, 0, 0), + (36118, 230003, 0, 0, 0), + (36118, 240005, 0, 0, 0), + (36118, 250002, 0, 0, 0), + (36118, 280023, 0, 0, 0), + (36118, 320027, 0, 0, 0), + (36118, 330043, 0, 0, 0), + (36118, 340002, 0, 0, 0), + (36118, 1000016, 0, 0, 0), + (36118, 1100020, 0, 0, 0), + (36118, 1200037, 0, 0, 0), + (36119, 25006, 0, 0, 0), + (36119, 160040, 0, 0, 0), + (36119, 180027, 0, 0, 0), + (36119, 190025, 0, 0, 0), + (36119, 200027, 0, 0, 0), + (36119, 230003, 0, 0, 0), + (36119, 240006, 0, 0, 0), + (36119, 250002, 0, 0, 0), + (36119, 280028, 0, 0, 0), + (36119, 320027, 0, 0, 0), + (36119, 330018, 0, 0, 0), + (36119, 340002, 0, 0, 0), + (36119, 1000016, 0, 0, 0), + (36119, 1100034, 0, 0, 0), + (36119, 1200035, 0, 0, 0), + (36120, 25006, 0, 0, 0), + (36120, 160040, 0, 0, 0), + (36120, 180027, 0, 0, 0), + (36120, 190025, 0, 0, 0), + (36120, 200023, 0, 0, 0), + (36120, 230003, 0, 0, 0), + (36120, 240006, 0, 0, 0), + (36120, 250002, 0, 0, 0), + (36120, 280028, 0, 0, 0), + (36120, 320027, 0, 0, 0), + (36120, 330018, 0, 0, 0), + (36120, 340002, 0, 0, 0), + (36120, 1000051, 0, 0, 0), + (36120, 1100034, 0, 0, 0), + (36120, 1200035, 0, 0, 0), + (36121, 25006, 0, 0, 0), + (36121, 160040, 0, 0, 0), + (36121, 180027, 0, 0, 0), + (36121, 190025, 0, 0, 0), + (36121, 200009, 0, 0, 0), + (36121, 230003, 0, 0, 0), + (36121, 240006, 0, 0, 0), + (36121, 250002, 0, 0, 0), + (36121, 280028, 0, 0, 0), + (36121, 320038, 0, 0, 0), + (36121, 330043, 0, 0, 0), + (36121, 340002, 0, 0, 0), + (36121, 1000129, 0, 0, 0), + (36121, 1100035, 0, 0, 0), + (36121, 1200035, 0, 0, 0), + (36122, 160042, 0, 0, 0), + (36122, 180028, 0, 0, 0), + (36122, 190025, 0, 0, 0), + (36122, 200027, 0, 0, 0), + (36122, 230003, 0, 0, 0), + (36122, 240005, 0, 0, 0), + (36122, 250002, 0, 0, 0), + (36122, 280023, 0, 0, 0), + (36122, 320027, 0, 0, 0), + (36122, 330043, 0, 0, 0), + (36122, 340002, 0, 0, 0), + (36122, 1000091, 0, 0, 0), + (36122, 1100020, 0, 0, 0), + (36122, 1200035, 0, 0, 0), + (36123, 160042, 0, 0, 0), + (36123, 180028, 0, 0, 0), + (36123, 190025, 0, 0, 0), + (36123, 200027, 0, 0, 0), + (36123, 230001, 0, 0, 0), + (36123, 240008, 0, 0, 0), + (36123, 250002, 0, 0, 0), + (36123, 280029, 0, 0, 0), + (36123, 320027, 0, 0, 0), + (36123, 330043, 0, 0, 0), + (36123, 340002, 0, 0, 0), + (36123, 1000090, 0, 0, 0), + (36123, 1100037, 0, 0, 0), + (36123, 1200035, 0, 0, 0), + (36124, 160042, 0, 0, 0), + (36124, 180028, 0, 0, 0), + (36124, 190025, 0, 0, 0), + (36124, 200027, 0, 0, 0), + (36124, 230001, 0, 0, 0), + (36124, 240005, 0, 0, 0), + (36124, 250002, 0, 0, 0), + (36124, 280029, 0, 0, 0), + (36124, 320039, 0, 0, 0), + (36124, 330043, 0, 0, 0), + (36124, 340002, 0, 0, 0), + (36124, 1000092, 0, 0, 0), + (36124, 1100037, 0, 0, 0), + (36124, 1200035, 0, 0, 0), + (36125, 160042, 0, 0, 0), + (36125, 180028, 0, 0, 0), + (36125, 190025, 0, 0, 0), + (36125, 200027, 0, 0, 0), + (36125, 230003, 0, 0, 0), + (36125, 240005, 0, 0, 0), + (36125, 250002, 0, 0, 0), + (36125, 280029, 0, 0, 0), + (36125, 320027, 0, 0, 0), + (36125, 330018, 0, 0, 0), + (36125, 340002, 0, 0, 0), + (36125, 1000092, 0, 0, 0), + (36125, 1100037, 0, 0, 0), + (36125, 1200035, 0, 0, 0), + (36126, 160026, 0, 0, 0), + (36126, 180018, 0, 0, 0), + (36126, 190077, 0, 0, 0), + (36126, 200066, 0, 0, 0), + (36126, 230001, 0, 0, 0), + (36126, 240001, 0, 0, 0), + (36126, 250001, 0, 0, 0), + (36126, 280050, 0, 0, 0), + (36126, 320098, 0, 0, 0), + (36126, 330024, 0, 0, 0), + (36126, 340002, 0, 0, 0), + (36126, 1000095, 0, 0, 0), + (36126, 1100119, 0, 0, 0), + (36126, 1200048, 0, 0, 0), + (36127, 160026, 0, 0, 0), + (36127, 180018, 0, 0, 0), + (36127, 190077, 0, 0, 0), + (36127, 200066, 0, 0, 0), + (36127, 230001, 0, 0, 0), + (36127, 240001, 0, 0, 0), + (36127, 250001, 0, 0, 0), + (36127, 280050, 0, 0, 0), + (36127, 320098, 0, 0, 0), + (36127, 330035, 0, 0, 0), + (36127, 340002, 0, 0, 0), + (36127, 1000094, 0, 0, 0), + (36127, 1100119, 0, 0, 0), + (36127, 1200048, 0, 0, 0), + (36128, 160026, 0, 0, 0), + (36128, 180018, 0, 0, 0), + (36128, 190077, 0, 0, 0), + (36128, 200066, 0, 0, 0), + (36128, 230001, 0, 0, 0), + (36128, 240001, 0, 0, 0), + (36128, 250001, 0, 0, 0), + (36128, 280050, 0, 0, 0), + (36128, 320098, 0, 0, 0), + (36128, 330035, 0, 0, 0), + (36128, 340002, 0, 0, 0), + (36128, 1000001, 0, 0, 0), + (36128, 1100119, 0, 0, 0), + (36128, 1200048, 0, 0, 0), + (36129, 160028, 0, 0, 0), + (36129, 180018, 0, 0, 0), + (36129, 190020, 0, 0, 0), + (36129, 200066, 0, 0, 0), + (36129, 230001, 0, 0, 0), + (36129, 240001, 0, 0, 0), + (36129, 250001, 0, 0, 0), + (36129, 280050, 0, 0, 0), + (36129, 320098, 0, 0, 0), + (36129, 330035, 0, 0, 0), + (36129, 340002, 0, 0, 0), + (36129, 1000096, 0, 0, 0), + (36129, 1100119, 0, 0, 0), + (36129, 1200048, 0, 0, 0), + (36130, 160028, 0, 0, 0), + (36130, 180018, 0, 0, 0), + (36130, 190077, 0, 0, 0), + (36130, 200066, 0, 0, 0), + (36130, 230001, 0, 0, 0), + (36130, 240001, 0, 0, 0), + (36130, 250001, 0, 0, 0), + (36130, 280050, 0, 0, 0), + (36130, 320098, 0, 0, 0), + (36130, 330035, 0, 0, 0), + (36130, 340002, 0, 0, 0), + (36130, 1000001, 0, 0, 0), + (36130, 1100119, 0, 0, 0), + (36130, 1200048, 0, 0, 0), + (36131, 160028, 0, 0, 0), + (36131, 180018, 0, 0, 0), + (36131, 190077, 0, 0, 0), + (36131, 200066, 0, 0, 0), + (36131, 230001, 0, 0, 0), + (36131, 240001, 0, 0, 0), + (36131, 250001, 0, 0, 0), + (36131, 280050, 0, 0, 0), + (36131, 320098, 0, 0, 0), + (36131, 330061, 0, 0, 0), + (36131, 340002, 0, 0, 0), + (36131, 1000099, 0, 0, 0), + (36131, 1100119, 0, 0, 0), + (36131, 1200048, 0, 0, 0), + (36132, 160035, 0, 0, 0), + (36132, 180017, 0, 0, 0), + (36132, 190019, 0, 0, 0), + (36132, 200028, 0, 0, 0), + (36132, 230003, 0, 0, 0), + (36132, 240005, 0, 0, 0), + (36132, 250001, 0, 0, 0), + (36132, 280001, 0, 0, 0), + (36132, 320001, 0, 0, 0), + (36132, 330036, 0, 0, 0), + (36132, 340002, 0, 0, 0), + (36132, 1000132, 0, 0, 0), + (36132, 1100010, 0, 0, 0), + (36132, 1200028, 0, 0, 0), + (36133, 160035, 0, 0, 0), + (36133, 180017, 0, 0, 0), + (36133, 190019, 0, 0, 0), + (36133, 200028, 0, 0, 0), + (36133, 230003, 0, 0, 0), + (36133, 240005, 0, 0, 0), + (36133, 250001, 0, 0, 0), + (36133, 280008, 0, 0, 0), + (36133, 320006, 0, 0, 0), + (36133, 330027, 0, 0, 0), + (36133, 340002, 0, 0, 0), + (36133, 1000053, 0, 0, 0), + (36133, 1100040, 0, 0, 0), + (36133, 1200003, 0, 0, 0), + (36134, 160035, 0, 0, 0), + (36134, 180017, 0, 0, 0), + (36134, 190019, 0, 0, 0), + (36134, 200028, 0, 0, 0), + (36134, 230003, 0, 0, 0), + (36134, 240005, 0, 0, 0), + (36134, 250001, 0, 0, 0), + (36134, 280001, 0, 0, 0), + (36134, 320001, 0, 0, 0), + (36134, 330062, 0, 0, 0), + (36134, 340002, 0, 0, 0), + (36134, 1000133, 0, 0, 0), + (36134, 1100010, 0, 0, 0), + (36134, 1200003, 0, 0, 0), + (36135, 160030, 0, 0, 0), + (36135, 180017, 0, 0, 0), + (36135, 190019, 0, 0, 0), + (36135, 200001, 0, 0, 0), + (36135, 230001, 0, 0, 0), + (36135, 240001, 0, 0, 0), + (36135, 250001, 0, 0, 0), + (36135, 280001, 0, 0, 0), + (36135, 320001, 0, 0, 0), + (36135, 330036, 0, 0, 0), + (36135, 340002, 0, 0, 0), + (36135, 1000030, 0, 0, 0), + (36135, 1100040, 0, 0, 0), + (36135, 1200003, 0, 0, 0), + (36136, 160030, 0, 0, 0), + (36136, 180050, 0, 0, 0), + (36136, 190003, 0, 0, 0), + (36136, 200028, 0, 0, 0), + (36136, 230001, 0, 0, 0), + (36136, 240001, 0, 0, 0), + (36136, 250001, 0, 0, 0), + (36136, 280040, 0, 0, 0), + (36136, 320006, 0, 0, 0), + (36136, 330025, 0, 0, 0), + (36136, 340002, 0, 0, 0), + (36136, 1000053, 0, 0, 0), + (36136, 1100039, 0, 0, 0), + (36136, 1200028, 0, 0, 0), + (36137, 160030, 0, 0, 0), + (36137, 180050, 0, 0, 0), + (36137, 190003, 0, 0, 0), + (36137, 200028, 0, 0, 0), + (36137, 230003, 0, 0, 0), + (36137, 240005, 0, 0, 0), + (36137, 250001, 0, 0, 0), + (36137, 280040, 0, 0, 0), + (36137, 320006, 0, 0, 0), + (36137, 330063, 0, 0, 0), + (36137, 340003, 0, 0, 0), + (36137, 1000053, 0, 0, 0), + (36137, 1100039, 0, 0, 0), + (36137, 1200028, 0, 0, 0), + (36138, 160030, 0, 0, 0), + (36138, 180017, 0, 0, 0), + (36138, 190019, 0, 0, 0), + (36138, 200028, 0, 0, 0), + (36138, 230003, 0, 0, 0), + (36138, 240008, 0, 0, 0), + (36138, 250001, 0, 0, 0), + (36138, 280040, 0, 0, 0), + (36138, 320001, 0, 0, 0), + (36138, 330027, 0, 0, 0), + (36138, 340002, 0, 0, 0), + (36138, 1000030, 0, 0, 0), + (36138, 1100042, 0, 0, 0), + (36138, 1200028, 0, 0, 0), + (36139, 160030, 0, 0, 0), + (36139, 180017, 0, 0, 0), + (36139, 190003, 0, 0, 0), + (36139, 200001, 0, 0, 0), + (36139, 230003, 0, 0, 0), + (36139, 240008, 0, 0, 0), + (36139, 250001, 0, 0, 0), + (36139, 280040, 0, 0, 0), + (36139, 320001, 0, 0, 0), + (36139, 330063, 0, 0, 0), + (36139, 340002, 0, 0, 0), + (36139, 1000053, 0, 0, 0), + (36139, 1100040, 0, 0, 0), + (36139, 1200028, 0, 0, 0), + (36140, 160030, 0, 0, 0), + (36140, 180017, 0, 0, 0), + (36140, 190019, 0, 0, 0), + (36140, 200001, 0, 0, 0), + (36140, 230001, 0, 0, 0), + (36140, 240001, 0, 0, 0), + (36140, 250001, 0, 0, 0), + (36140, 280001, 0, 0, 0), + (36140, 320001, 0, 0, 0), + (36140, 330062, 0, 0, 0), + (36140, 340002, 0, 0, 0), + (36140, 1000133, 0, 0, 0), + (36140, 1100040, 0, 0, 0), + (36140, 1200003, 0, 0, 0), + (36141, 160030, 0, 0, 0), + (36141, 180017, 0, 0, 0), + (36141, 190019, 0, 0, 0), + (36141, 200001, 0, 0, 0), + (36141, 230001, 0, 0, 0), + (36141, 240006, 0, 0, 0), + (36141, 250001, 0, 0, 0), + (36141, 280001, 0, 0, 0), + (36141, 320001, 0, 0, 0), + (36141, 330062, 0, 0, 0), + (36141, 340002, 0, 0, 0), + (36141, 1000106, 0, 0, 0), + (36141, 1100040, 0, 0, 0), + (36141, 1200003, 0, 0, 0), + (36142, 160030, 0, 0, 0), + (36142, 180017, 0, 0, 0), + (36142, 190019, 0, 0, 0), + (36142, 200001, 0, 0, 0), + (36142, 230003, 0, 0, 0), + (36142, 240005, 0, 0, 0), + (36142, 250001, 0, 0, 0), + (36142, 280040, 0, 0, 0), + (36142, 320001, 0, 0, 0), + (36142, 330036, 0, 0, 0), + (36142, 340002, 0, 0, 0), + (36142, 1000053, 0, 0, 0), + (36142, 1100040, 0, 0, 0), + (36142, 1200003, 0, 0, 0), + (36143, 160030, 0, 0, 0), + (36143, 180050, 0, 0, 0), + (36143, 190019, 0, 0, 0), + (36143, 200028, 0, 0, 0), + (36143, 230003, 0, 0, 0), + (36143, 240008, 0, 0, 0), + (36143, 250001, 0, 0, 0), + (36143, 280040, 0, 0, 0), + (36143, 320006, 0, 0, 0), + (36143, 330004, 0, 0, 0), + (36143, 340002, 0, 0, 0), + (36143, 1000053, 0, 0, 0), + (36143, 1100040, 0, 0, 0), + (36143, 1200003, 0, 0, 0), + (36144, 160031, 0, 0, 0), + (36144, 180050, 0, 0, 0), + (36144, 190003, 0, 0, 0), + (36144, 200028, 0, 0, 0), + (36144, 230003, 0, 0, 0), + (36144, 240005, 0, 0, 0), + (36144, 250001, 0, 0, 0), + (36144, 280040, 0, 0, 0), + (36144, 320006, 0, 0, 0), + (36144, 330004, 0, 0, 0), + (36144, 340002, 0, 0, 0), + (36144, 1000031, 0, 0, 0), + (36144, 1100039, 0, 0, 0), + (36144, 1200028, 0, 0, 0), + (36145, 160031, 0, 0, 0), + (36145, 180050, 0, 0, 0), + (36145, 190003, 0, 0, 0), + (36145, 200028, 0, 0, 0), + (36145, 230003, 0, 0, 0), + (36145, 240005, 0, 0, 0), + (36145, 250001, 0, 0, 0), + (36145, 280040, 0, 0, 0), + (36145, 320006, 0, 0, 0), + (36145, 330064, 0, 0, 0), + (36145, 340003, 0, 0, 0), + (36145, 1000103, 0, 0, 0), + (36145, 1100039, 0, 0, 0), + (36145, 1200028, 0, 0, 0), + (36146, 160032, 0, 0, 0), + (36146, 180017, 0, 0, 0), + (36146, 190019, 0, 0, 0), + (36146, 200001, 0, 0, 0), + (36146, 230003, 0, 0, 0), + (36146, 240006, 0, 0, 0), + (36146, 250001, 0, 0, 0), + (36146, 280040, 0, 0, 0), + (36146, 320006, 0, 0, 0), + (36146, 330027, 0, 0, 0), + (36146, 340002, 0, 0, 0), + (36146, 1000005, 0, 0, 0), + (36146, 1100040, 0, 0, 0), + (36146, 1200029, 0, 0, 0), + (36147, 160032, 0, 0, 0), + (36147, 180032, 0, 0, 0), + (36147, 190002, 0, 0, 0), + (36147, 200028, 0, 0, 0), + (36147, 230003, 0, 0, 0), + (36147, 240006, 0, 0, 0), + (36147, 250001, 0, 0, 0), + (36147, 280040, 0, 0, 0), + (36147, 320006, 0, 0, 0), + (36147, 330027, 0, 0, 0), + (36147, 340002, 0, 0, 0), + (36147, 1000052, 0, 0, 0), + (36147, 1100039, 0, 0, 0), + (36147, 1200029, 0, 0, 0), + (36148, 160032, 0, 0, 0), + (36148, 180032, 0, 0, 0), + (36148, 190002, 0, 0, 0), + (36148, 200028, 0, 0, 0), + (36148, 230003, 0, 0, 0), + (36148, 240006, 0, 0, 0), + (36148, 250001, 0, 0, 0), + (36148, 280040, 0, 0, 0), + (36148, 320044, 0, 0, 0), + (36148, 330022, 0, 0, 0), + (36148, 340003, 0, 0, 0), + (36148, 1000052, 0, 0, 0), + (36148, 1100039, 0, 0, 0), + (36148, 1200029, 0, 0, 0), + (36149, 160032, 0, 0, 0), + (36149, 180032, 0, 0, 0), + (36149, 190026, 0, 0, 0), + (36149, 200010, 0, 0, 0), + (36149, 230004, 0, 0, 0), + (36149, 240007, 0, 0, 0), + (36149, 250005, 0, 0, 0), + (36149, 280040, 0, 0, 0), + (36149, 320043, 0, 0, 0), + (36149, 330047, 0, 0, 0), + (36149, 340003, 0, 0, 0), + (36149, 1000033, 0, 0, 0), + (36149, 1100039, 0, 0, 0), + (36149, 1200029, 0, 0, 0), + (36150, 160033, 0, 0, 0), + (36150, 180017, 0, 0, 0), + (36150, 190020, 0, 0, 0), + (36150, 200028, 0, 0, 0), + (36150, 230003, 0, 0, 0), + (36150, 240005, 0, 0, 0), + (36150, 250001, 0, 0, 0), + (36150, 280040, 0, 0, 0), + (36150, 320001, 0, 0, 0), + (36150, 330033, 0, 0, 0), + (36150, 340002, 0, 0, 0), + (36150, 1000134, 0, 0, 0), + (36150, 1100040, 0, 0, 0), + (36150, 1200029, 0, 0, 0), + (36151, 160033, 0, 0, 0), + (36151, 180035, 0, 0, 0), + (36151, 190027, 0, 0, 0), + (36151, 200028, 0, 0, 0), + (36151, 230003, 0, 0, 0), + (36151, 240005, 0, 0, 0), + (36151, 250001, 0, 0, 0), + (36151, 280040, 0, 0, 0), + (36151, 320006, 0, 0, 0), + (36151, 330027, 0, 0, 0), + (36151, 340002, 0, 0, 0), + (36151, 1000134, 0, 0, 0), + (36151, 1100039, 0, 0, 0), + (36151, 1200029, 0, 0, 0), + (36152, 160033, 0, 0, 0), + (36152, 180051, 0, 0, 0), + (36152, 190027, 0, 0, 0), + (36152, 200028, 0, 0, 0), + (36152, 230003, 0, 0, 0), + (36152, 240006, 0, 0, 0), + (36152, 250008, 0, 0, 0), + (36152, 280008, 0, 0, 0), + (36152, 320011, 0, 0, 0), + (36152, 330033, 0, 0, 0), + (36152, 340003, 0, 0, 0), + (36152, 1000005, 0, 0, 0), + (36152, 1100040, 0, 0, 0), + (36152, 1200029, 0, 0, 0), + (36153, 160033, 0, 0, 0), + (36153, 180051, 0, 0, 0), + (36153, 190026, 0, 0, 0), + (36153, 200028, 0, 0, 0), + (36153, 230004, 0, 0, 0), + (36153, 240005, 0, 0, 0), + (36153, 250005, 0, 0, 0), + (36153, 280008, 0, 0, 0), + (36153, 320011, 0, 0, 0), + (36153, 330033, 0, 0, 0), + (36153, 340004, 0, 0, 0), + (36153, 1000005, 0, 0, 0), + (36153, 1100040, 0, 0, 0), + (36153, 1200029, 0, 0, 0), + (36154, 160023, 0, 0, 0), + (36154, 180030, 0, 0, 0), + (36154, 190020, 0, 0, 0), + (36154, 200004, 0, 0, 0), + (36154, 230002, 0, 0, 0), + (36154, 240001, 0, 0, 0), + (36154, 250001, 0, 0, 0), + (36154, 280018, 0, 0, 0), + (36154, 320022, 0, 0, 0), + (36154, 330003, 0, 0, 0), + (36154, 340001, 0, 0, 0), + (36154, 1000135, 0, 0, 0), + (36154, 1100005, 0, 0, 0), + (36154, 1200017, 0, 0, 0), + (36155, 160083, 0, 0, 0), + (36155, 180052, 0, 0, 0), + (36155, 190020, 0, 0, 0), + (36155, 200004, 0, 0, 0), + (36155, 230001, 0, 0, 0), + (36155, 240005, 0, 0, 0), + (36155, 250001, 0, 0, 0), + (36155, 280018, 0, 0, 0), + (36155, 320022, 0, 0, 0), + (36155, 330035, 0, 0, 0), + (36155, 340001, 0, 0, 0), + (36155, 1000136, 0, 0, 0), + (36155, 1100101, 0, 0, 0), + (36155, 1200038, 0, 0, 0), + (36156, 160025, 0, 0, 0), + (36156, 180030, 0, 0, 0), + (36156, 190020, 0, 0, 0), + (36156, 200004, 0, 0, 0), + (36156, 230002, 0, 0, 0), + (36156, 240001, 0, 0, 0), + (36156, 250001, 0, 0, 0), + (36156, 280018, 0, 0, 0), + (36156, 320022, 0, 0, 0), + (36156, 330024, 0, 0, 0), + (36156, 340001, 0, 0, 0), + (36156, 1000137, 0, 0, 0), + (36156, 1100005, 0, 0, 0), + (36156, 1200017, 0, 0, 0), + (36157, 160025, 0, 0, 0), + (36157, 180030, 0, 0, 0), + (36157, 190020, 0, 0, 0), + (36157, 200004, 0, 0, 0), + (36157, 230001, 0, 0, 0), + (36157, 240001, 0, 0, 0), + (36157, 250001, 0, 0, 0), + (36157, 280018, 0, 0, 0), + (36157, 320022, 0, 0, 0), + (36157, 330035, 0, 0, 0), + (36157, 340001, 0, 0, 0), + (36157, 1000136, 0, 0, 0), + (36157, 1100005, 0, 0, 0), + (36157, 1200017, 0, 0, 0), + (36158, 160027, 0, 0, 0), + (36158, 180030, 0, 0, 0), + (36158, 190020, 0, 0, 0), + (36158, 200004, 0, 0, 0), + (36158, 230002, 0, 0, 0), + (36158, 240001, 0, 0, 0), + (36158, 250001, 0, 0, 0), + (36158, 280018, 0, 0, 0), + (36158, 320022, 0, 0, 0), + (36158, 330042, 0, 0, 0), + (36158, 340001, 0, 0, 0), + (36158, 1000137, 0, 0, 0), + (36158, 1100005, 0, 0, 0), + (36158, 1200017, 0, 0, 0), + (36159, 160027, 0, 0, 0), + (36159, 180030, 0, 0, 0), + (36159, 190020, 0, 0, 0), + (36159, 200004, 0, 0, 0), + (36159, 230001, 0, 0, 0), + (36159, 240001, 0, 0, 0), + (36159, 250001, 0, 0, 0), + (36159, 280018, 0, 0, 0), + (36159, 320022, 0, 0, 0), + (36159, 330035, 0, 0, 0), + (36159, 340001, 0, 0, 0), + (36159, 1000138, 0, 0, 0), + (36159, 1100005, 0, 0, 0), + (36159, 1200017, 0, 0, 0), + (36160, 160084, 0, 0, 0), + (36160, 180034, 0, 0, 0), + (36160, 190001, 0, 0, 0), + (36160, 200054, 0, 0, 0), + (36160, 230003, 0, 0, 0), + (36160, 240005, 0, 0, 0), + (36160, 250001, 0, 0, 0), + (36160, 280041, 0, 0, 0), + (36160, 320087, 0, 0, 0), + (36160, 330025, 0, 0, 0), + (36160, 340003, 0, 0, 0), + (36160, 1000139, 0, 0, 0), + (36160, 1100005, 0, 0, 0), + (36160, 1200038, 0, 0, 0), + (36161, 160019, 0, 0, 0), + (36161, 180030, 0, 0, 0), + (36161, 190020, 0, 0, 0), + (36161, 200004, 0, 0, 0), + (36161, 230001, 0, 0, 0), + (36161, 240001, 0, 0, 0), + (36161, 250001, 0, 0, 0), + (36161, 280018, 0, 0, 0), + (36161, 320022, 0, 0, 0), + (36161, 330062, 0, 0, 0), + (36161, 340002, 0, 0, 0), + (36161, 1000140, 0, 0, 0), + (36161, 1100101, 0, 0, 0), + (36161, 1200017, 0, 0, 0), + (36162, 160019, 0, 0, 0), + (36162, 180030, 0, 0, 0), + (36162, 190020, 0, 0, 0), + (36162, 200004, 0, 0, 0), + (36162, 230001, 0, 0, 0), + (36162, 240006, 0, 0, 0), + (36162, 250001, 0, 0, 0), + (36162, 280018, 0, 0, 0), + (36162, 320022, 0, 0, 0), + (36162, 330036, 0, 0, 0), + (36162, 340002, 0, 0, 0), + (36162, 1000141, 0, 0, 0), + (36162, 1100101, 0, 0, 0), + (36162, 1200017, 0, 0, 0), + (36163, 160019, 0, 0, 0), + (36163, 180030, 0, 0, 0), + (36163, 190020, 0, 0, 0), + (36163, 200004, 0, 0, 0), + (36163, 230001, 0, 0, 0), + (36163, 240001, 0, 0, 0), + (36163, 250001, 0, 0, 0), + (36163, 280018, 0, 0, 0), + (36163, 320022, 0, 0, 0), + (36163, 330062, 0, 0, 0), + (36163, 340002, 0, 0, 0), + (36163, 1000137, 0, 0, 0), + (36163, 1100101, 0, 0, 0), + (36163, 1200017, 0, 0, 0), + (36164, 160029, 0, 0, 0), + (36164, 180056, 0, 0, 0), + (36164, 190073, 0, 0, 0), + (36164, 200063, 0, 0, 0), + (36164, 230001, 0, 0, 0), + (36164, 240001, 0, 0, 0), + (36164, 250001, 0, 0, 0), + (36164, 280046, 0, 0, 0), + (36164, 320093, 0, 0, 0), + (36164, 330062, 0, 0, 0), + (36164, 340002, 0, 0, 0), + (36164, 1000107, 0, 0, 0), + (36164, 1100114, 0, 0, 0), + (36164, 1200043, 0, 0, 0), + (36165, 160029, 0, 0, 0), + (36165, 180056, 0, 0, 0), + (36165, 190073, 0, 0, 0), + (36165, 200063, 0, 0, 0), + (36165, 230003, 0, 0, 0), + (36165, 240005, 0, 0, 0), + (36165, 250001, 0, 0, 0), + (36165, 280053, 0, 0, 0), + (36165, 320093, 0, 0, 0), + (36165, 330037, 0, 0, 0), + (36165, 340002, 0, 0, 0), + (36165, 1000108, 0, 0, 0), + (36165, 1100114, 0, 0, 0), + (36165, 1200043, 0, 0, 0), + (36166, 160029, 0, 0, 0), + (36166, 180056, 0, 0, 0), + (36166, 190073, 0, 0, 0), + (36166, 200063, 0, 0, 0), + (36166, 230003, 0, 0, 0), + (36166, 240005, 0, 0, 0), + (36166, 250001, 0, 0, 0), + (36166, 280053, 0, 0, 0), + (36166, 320093, 0, 0, 0), + (36166, 330038, 0, 0, 0), + (36166, 340002, 0, 0, 0), + (36166, 1000109, 0, 0, 0), + (36166, 1100114, 0, 0, 0), + (36166, 1200043, 0, 0, 0), + (36167, 160029, 0, 0, 0), + (36167, 180057, 0, 0, 0), + (36167, 190074, 0, 0, 0), + (36167, 200063, 0, 0, 0), + (36167, 230003, 0, 0, 0), + (36167, 240005, 0, 0, 0), + (36167, 250001, 0, 0, 0), + (36167, 280053, 0, 0, 0), + (36167, 320094, 0, 0, 0), + (36167, 330038, 0, 0, 0), + (36167, 340002, 0, 0, 0), + (36167, 1000058, 0, 0, 0), + (36167, 1100115, 0, 0, 0), + (36167, 1200044, 0, 0, 0), + (36168, 160029, 0, 0, 0), + (36168, 180057, 0, 0, 0), + (36168, 190074, 0, 0, 0), + (36168, 200063, 0, 0, 0), + (36168, 230003, 0, 0, 0), + (36168, 240005, 0, 0, 0), + (36168, 250001, 0, 0, 0), + (36168, 280053, 0, 0, 0), + (36168, 320094, 0, 0, 0), + (36168, 330037, 0, 0, 0), + (36168, 340002, 0, 0, 0), + (36168, 1000029, 0, 0, 0), + (36168, 1100116, 0, 0, 0), + (36168, 1200044, 0, 0, 0), + (36169, 160029, 0, 0, 0), + (36169, 180056, 0, 0, 0), + (36169, 190073, 0, 0, 0), + (36169, 200062, 0, 0, 0), + (36169, 230001, 0, 0, 0), + (36169, 240001, 0, 0, 0), + (36169, 250001, 0, 0, 0), + (36169, 280046, 0, 0, 0), + (36169, 320093, 0, 0, 0), + (36169, 330042, 0, 0, 0), + (36169, 340002, 0, 0, 0), + (36169, 1000110, 0, 0, 0), + (36169, 1100114, 0, 0, 0), + (36169, 1200043, 0, 0, 0), + (36170, 160020, 0, 0, 0), + (36170, 180056, 0, 0, 0), + (36170, 190073, 0, 0, 0), + (36170, 200062, 0, 0, 0), + (36170, 230001, 0, 0, 0), + (36170, 240001, 0, 0, 0), + (36170, 250001, 0, 0, 0), + (36170, 280053, 0, 0, 0), + (36170, 320093, 0, 0, 0), + (36170, 330042, 0, 0, 0), + (36170, 340002, 0, 0, 0), + (36170, 1000109, 0, 0, 0), + (36170, 1100114, 0, 0, 0), + (36170, 1200043, 0, 0, 0), + (36171, 160020, 0, 0, 0), + (36171, 180056, 0, 0, 0), + (36171, 190073, 0, 0, 0), + (36171, 200062, 0, 0, 0), + (36171, 230001, 0, 0, 0), + (36171, 240001, 0, 0, 0), + (36171, 250001, 0, 0, 0), + (36171, 280046, 0, 0, 0), + (36171, 320093, 0, 0, 0), + (36171, 330042, 0, 0, 0), + (36171, 340002, 0, 0, 0), + (36171, 1000110, 0, 0, 0), + (36171, 1100114, 0, 0, 0), + (36171, 1200043, 0, 0, 0), + (36172, 160034, 0, 0, 0), + (36172, 180058, 0, 0, 0), + (36172, 190075, 0, 0, 0), + (36172, 200064, 0, 0, 0), + (36172, 230003, 0, 0, 0), + (36172, 240005, 0, 0, 0), + (36172, 250001, 0, 0, 0), + (36172, 280048, 0, 0, 0), + (36172, 320095, 0, 0, 0), + (36172, 330038, 0, 0, 0), + (36172, 340002, 0, 0, 0), + (36172, 1000034, 0, 0, 0), + (36172, 1100118, 0, 0, 0), + (36172, 1200045, 0, 0, 0), + (36173, 160034, 0, 0, 0), + (36173, 180058, 0, 0, 0), + (36173, 190075, 0, 0, 0), + (36173, 200064, 0, 0, 0), + (36173, 230003, 0, 0, 0), + (36173, 240005, 0, 0, 0), + (36173, 250001, 0, 0, 0), + (36173, 280047, 0, 0, 0), + (36173, 320095, 0, 0, 0), + (36173, 330062, 0, 0, 0), + (36173, 340002, 0, 0, 0), + (36173, 1000034, 0, 0, 0), + (36173, 1100118, 0, 0, 0), + (36173, 1200045, 0, 0, 0), + (36174, 160034, 0, 0, 0), + (36174, 180058, 0, 0, 0), + (36174, 190075, 0, 0, 0), + (36174, 200012, 0, 0, 0), + (36174, 230003, 0, 0, 0), + (36174, 240005, 0, 0, 0), + (36174, 250006, 0, 0, 0), + (36174, 280048, 0, 0, 0), + (36174, 320096, 0, 0, 0), + (36174, 330025, 0, 0, 0), + (36174, 340002, 0, 0, 0), + (36174, 1000035, 0, 0, 0), + (36174, 1100118, 0, 0, 0), + (36174, 1200047, 0, 0, 0), + (36175, 160034, 0, 0, 0), + (36175, 180058, 0, 0, 0), + (36175, 190075, 0, 0, 0), + (36175, 200064, 0, 0, 0), + (36175, 230003, 0, 0, 0), + (36175, 240005, 0, 0, 0), + (36175, 250001, 0, 0, 0), + (36175, 280048, 0, 0, 0), + (36175, 320096, 0, 0, 0), + (36175, 330043, 0, 0, 0), + (36175, 340002, 0, 0, 0), + (36175, 1000035, 0, 0, 0), + (36175, 1100118, 0, 0, 0), + (36175, 1200045, 0, 0, 0), + (36176, 160034, 0, 0, 0), + (36176, 180058, 0, 0, 0), + (36176, 190075, 0, 0, 0), + (36176, 200064, 0, 0, 0), + (36176, 230001, 0, 0, 0), + (36176, 240001, 0, 0, 0), + (36176, 250001, 0, 0, 0), + (36176, 280047, 0, 0, 0), + (36176, 320095, 0, 0, 0), + (36176, 330035, 0, 0, 0), + (36176, 340002, 0, 0, 0), + (36176, 1000027, 0, 0, 0), + (36176, 1100117, 0, 0, 0), + (36176, 1200045, 0, 0, 0), + (36177, 160082, 0, 0, 0), + (36177, 180060, 0, 0, 0), + (36177, 190029, 0, 0, 0), + (36177, 200012, 0, 0, 0), + (36177, 230005, 0, 0, 0), + (36177, 240007, 0, 0, 0), + (36177, 250001, 0, 0, 0), + (36177, 280032, 0, 0, 0), + (36177, 320046, 0, 0, 0), + (36177, 330040, 0, 0, 0), + (36177, 340003, 0, 0, 0), + (36177, 1000054, 0, 0, 0), + (36177, 1100043, 0, 0, 0), + (36177, 1200005, 0, 0, 0), + (36178, 160044, 0, 0, 0), + (36178, 180058, 0, 0, 0), + (36178, 190075, 0, 0, 0), + (36178, 200064, 0, 0, 0), + (36178, 230003, 0, 0, 0), + (36178, 240005, 0, 0, 0), + (36178, 250001, 0, 0, 0), + (36178, 280048, 0, 0, 0), + (36178, 320095, 0, 0, 0), + (36178, 330038, 0, 0, 0), + (36178, 340002, 0, 0, 0), + (36178, 1000034, 0, 0, 0), + (36178, 1100118, 0, 0, 0), + (36178, 1200045, 0, 0, 0), + (36179, 160044, 0, 0, 0), + (36179, 180058, 0, 0, 0), + (36179, 190075, 0, 0, 0), + (36179, 200064, 0, 0, 0), + (36179, 230003, 0, 0, 0), + (36179, 240003, 0, 0, 0), + (36179, 250001, 0, 0, 0), + (36179, 280047, 0, 0, 0), + (36179, 320095, 0, 0, 0), + (36179, 330037, 0, 0, 0), + (36179, 340002, 0, 0, 0), + (36179, 1000027, 0, 0, 0), + (36179, 1100117, 0, 0, 0), + (36179, 1200045, 0, 0, 0), + (36180, 160044, 0, 0, 0), + (36180, 180058, 0, 0, 0), + (36180, 190075, 0, 0, 0), + (36180, 200012, 0, 0, 0), + (36180, 230003, 0, 0, 0), + (36180, 240005, 0, 0, 0), + (36180, 250001, 0, 0, 0), + (36180, 280048, 0, 0, 0), + (36180, 320096, 0, 0, 0), + (36180, 330038, 0, 0, 0), + (36180, 340002, 0, 0, 0), + (36180, 1000027, 0, 0, 0), + (36180, 1100118, 0, 0, 0), + (36180, 1200047, 0, 0, 0), + (36181, 160073, 0, 0, 0), + (36181, 180015, 0, 0, 0), + (36181, 190017, 0, 0, 0), + (36181, 200029, 0, 0, 0), + (36181, 230001, 0, 0, 0), + (36181, 240006, 0, 0, 0), + (36181, 250002, 0, 0, 0), + (36181, 280036, 0, 0, 0), + (36181, 320004, 0, 0, 0), + (36181, 330065, 0, 0, 0), + (36181, 340002, 0, 0, 0), + (36181, 1000120, 0, 0, 0), + (36181, 1100044, 0, 0, 0), + (36181, 1200015, 0, 0, 0), + (36182, 160073, 0, 0, 0), + (36182, 180015, 0, 0, 0), + (36182, 190017, 0, 0, 0), + (36182, 200029, 0, 0, 0), + (36182, 230001, 0, 0, 0), + (36182, 240005, 0, 0, 0), + (36182, 250002, 0, 0, 0), + (36182, 280036, 0, 0, 0), + (36182, 320004, 0, 0, 0), + (36182, 330066, 0, 0, 0), + (36182, 340002, 0, 0, 0), + (36182, 1000120, 0, 0, 0), + (36182, 1100044, 0, 0, 0), + (36182, 1200015, 0, 0, 0), + (36183, 160073, 0, 0, 0), + (36183, 180015, 0, 0, 0), + (36183, 190017, 0, 0, 0), + (36183, 200029, 0, 0, 0), + (36183, 230001, 0, 0, 0), + (36183, 240001, 0, 0, 0), + (36183, 250002, 0, 0, 0), + (36183, 280017, 0, 0, 0), + (36183, 320004, 0, 0, 0), + (36183, 330065, 0, 0, 0), + (36183, 340002, 0, 0, 0), + (36183, 1000114, 0, 0, 0), + (36183, 1100044, 0, 0, 0), + (36183, 1200015, 0, 0, 0), + (36184, 160073, 0, 0, 0), + (36184, 180015, 0, 0, 0), + (36184, 190017, 0, 0, 0), + (36184, 200029, 0, 0, 0), + (36184, 230003, 0, 0, 0), + (36184, 240005, 0, 0, 0), + (36184, 250002, 0, 0, 0), + (36184, 280036, 0, 0, 0), + (36184, 320049, 0, 0, 0), + (36184, 330019, 0, 0, 0), + (36184, 340002, 0, 0, 0), + (36184, 1000120, 0, 0, 0), + (36184, 1100044, 0, 0, 0), + (36184, 1200015, 0, 0, 0), + (36185, 160074, 0, 0, 0), + (36185, 180036, 0, 0, 0), + (36185, 190017, 0, 0, 0), + (36185, 200014, 0, 0, 0), + (36185, 230001, 0, 0, 0), + (36185, 240001, 0, 0, 0), + (36185, 250002, 0, 0, 0), + (36185, 280017, 0, 0, 0), + (36185, 320004, 0, 0, 0), + (36185, 330052, 0, 0, 0), + (36185, 340002, 0, 0, 0), + (36185, 1000142, 0, 0, 0), + (36185, 1100015, 0, 0, 0), + (36185, 1200015, 0, 0, 0), + (36186, 160073, 0, 0, 0), + (36186, 180036, 0, 0, 0), + (36186, 190017, 0, 0, 0), + (36186, 200029, 0, 0, 0), + (36186, 230001, 0, 0, 0), + (36186, 240006, 0, 0, 0), + (36186, 250002, 0, 0, 0), + (36186, 280036, 0, 0, 0), + (36186, 320004, 0, 0, 0), + (36186, 330034, 0, 0, 0), + (36186, 340002, 0, 0, 0), + (36186, 1000142, 0, 0, 0), + (36186, 1100015, 0, 0, 0), + (36186, 1200015, 0, 0, 0), + (36187, 160073, 0, 0, 0), + (36187, 180036, 0, 0, 0), + (36187, 190017, 0, 0, 0), + (36187, 200014, 0, 0, 0), + (36187, 230001, 0, 0, 0), + (36187, 240001, 0, 0, 0), + (36187, 250002, 0, 0, 0), + (36187, 280017, 0, 0, 0), + (36187, 320004, 0, 0, 0), + (36187, 330034, 0, 0, 0), + (36187, 340002, 0, 0, 0), + (36187, 1000142, 0, 0, 0), + (36187, 1100015, 0, 0, 0), + (36187, 1200015, 0, 0, 0), + (36188, 160075, 0, 0, 0), + (36188, 180015, 0, 0, 0), + (36188, 190017, 0, 0, 0), + (36188, 200029, 0, 0, 0), + (36188, 230003, 0, 0, 0), + (36188, 240005, 0, 0, 0), + (36188, 250002, 0, 0, 0), + (36188, 280036, 0, 0, 0), + (36188, 320004, 0, 0, 0), + (36188, 330067, 0, 0, 0), + (36188, 340002, 0, 0, 0), + (36188, 1000113, 0, 0, 0), + (36188, 1100044, 0, 0, 0), + (36188, 1200015, 0, 0, 0), + (36189, 160075, 0, 0, 0), + (36189, 180015, 0, 0, 0), + (36189, 190017, 0, 0, 0), + (36189, 200029, 0, 0, 0), + (36189, 230003, 0, 0, 0), + (36189, 240005, 0, 0, 0), + (36189, 250002, 0, 0, 0), + (36189, 280036, 0, 0, 0), + (36189, 320004, 0, 0, 0), + (36189, 330019, 0, 0, 0), + (36189, 340002, 0, 0, 0), + (36189, 1000113, 0, 0, 0), + (36189, 1100044, 0, 0, 0), + (36189, 1200032, 0, 0, 0), + (36190, 160075, 0, 0, 0), + (36190, 180015, 0, 0, 0), + (36190, 190017, 0, 0, 0), + (36190, 200045, 0, 0, 0), + (36190, 230003, 0, 0, 0), + (36190, 240005, 0, 0, 0), + (36190, 250002, 0, 0, 0), + (36190, 280036, 0, 0, 0), + (36190, 320049, 0, 0, 0), + (36190, 330019, 0, 0, 0), + (36190, 340003, 0, 0, 0), + (36190, 1000113, 0, 0, 0), + (36190, 1100044, 0, 0, 0), + (36190, 1200015, 0, 0, 0), + (36191, 160075, 0, 0, 0), + (36191, 180015, 0, 0, 0), + (36191, 190017, 0, 0, 0), + (36191, 200045, 0, 0, 0), + (36191, 230003, 0, 0, 0), + (36191, 240007, 0, 0, 0), + (36191, 250002, 0, 0, 0), + (36191, 280036, 0, 0, 0), + (36191, 320050, 0, 0, 0), + (36191, 330019, 0, 0, 0), + (36191, 340003, 0, 0, 0), + (36191, 1000113, 0, 0, 0), + (36191, 1100044, 0, 0, 0), + (36191, 1200032, 0, 0, 0), + (36192, 160075, 0, 0, 0), + (36192, 180015, 0, 0, 0), + (36192, 190017, 0, 0, 0), + (36192, 200029, 0, 0, 0), + (36192, 230003, 0, 0, 0), + (36192, 240007, 0, 0, 0), + (36192, 250002, 0, 0, 0), + (36192, 280033, 0, 0, 0), + (36192, 320013, 0, 0, 0), + (36192, 330019, 0, 0, 0), + (36192, 340003, 0, 0, 0), + (36192, 1000038, 0, 0, 0), + (36192, 1100046, 0, 0, 0), + (36192, 1200032, 0, 0, 0), + (36193, 160075, 0, 0, 0), + (36193, 180015, 0, 0, 0), + (36193, 190017, 0, 0, 0), + (36193, 200029, 0, 0, 0), + (36193, 230003, 0, 0, 0), + (36193, 240007, 0, 0, 0), + (36193, 250002, 0, 0, 0), + (36193, 280033, 0, 0, 0), + (36193, 320013, 0, 0, 0), + (36193, 330067, 0, 0, 0), + (36193, 340003, 0, 0, 0), + (36193, 1000039, 0, 0, 0), + (36193, 1100046, 0, 0, 0), + (36193, 1200032, 0, 0, 0), + (36194, 160075, 0, 0, 0), + (36194, 180015, 0, 0, 0), + (36194, 190017, 0, 0, 0), + (36194, 200029, 0, 0, 0), + (36194, 230003, 0, 0, 0), + (36194, 240005, 0, 0, 0), + (36194, 250002, 0, 0, 0), + (36194, 280036, 0, 0, 0), + (36194, 320004, 0, 0, 0), + (36194, 330067, 0, 0, 0), + (36194, 340002, 0, 0, 0), + (36194, 1000038, 0, 0, 0), + (36194, 1100044, 0, 0, 0), + (36194, 1200015, 0, 0, 0), + (36195, 160075, 0, 0, 0), + (36195, 180015, 0, 0, 0), + (36195, 190017, 0, 0, 0), + (36195, 200029, 0, 0, 0), + (36195, 230003, 0, 0, 0), + (36195, 240005, 0, 0, 0), + (36195, 250002, 0, 0, 0), + (36195, 280036, 0, 0, 0), + (36195, 320050, 0, 0, 0), + (36195, 330019, 0, 0, 0), + (36195, 340002, 0, 0, 0), + (36195, 1000114, 0, 0, 0), + (36195, 1100044, 0, 0, 0), + (36195, 1200032, 0, 0, 0), + (36196, 160056, 0, 0, 0), + (36196, 180015, 0, 0, 0), + (36196, 190017, 0, 0, 0), + (36196, 200029, 0, 0, 0), + (36196, 230003, 0, 0, 0), + (36196, 240007, 0, 0, 0), + (36196, 250002, 0, 0, 0), + (36196, 280033, 0, 0, 0), + (36196, 320013, 0, 0, 0), + (36196, 330019, 0, 0, 0), + (36196, 340003, 0, 0, 0), + (36196, 1000038, 0, 0, 0), + (36196, 1100047, 0, 0, 0), + (36196, 1200007, 0, 0, 0), + (36197, 160056, 0, 0, 0), + (36197, 180015, 0, 0, 0), + (36197, 190017, 0, 0, 0), + (36197, 200029, 0, 0, 0), + (36197, 230003, 0, 0, 0), + (36197, 240007, 0, 0, 0), + (36197, 250002, 0, 0, 0), + (36197, 280033, 0, 0, 0), + (36197, 320013, 0, 0, 0), + (36197, 330019, 0, 0, 0), + (36197, 340003, 0, 0, 0), + (36197, 1000055, 0, 0, 0), + (36197, 1100047, 0, 0, 0), + (36197, 1200007, 0, 0, 0), + (36198, 160056, 0, 0, 0), + (36198, 180015, 0, 0, 0), + (36198, 190017, 0, 0, 0), + (36198, 200029, 0, 0, 0), + (36198, 230003, 0, 0, 0), + (36198, 240007, 0, 0, 0), + (36198, 250002, 0, 0, 0), + (36198, 280033, 0, 0, 0), + (36198, 320013, 0, 0, 0), + (36198, 330019, 0, 0, 0), + (36198, 340003, 0, 0, 0), + (36198, 1000038, 0, 0, 0), + (36198, 1100046, 0, 0, 0), + (36198, 1200032, 0, 0, 0), + (36199, 160056, 0, 0, 0), + (36199, 180015, 0, 0, 0), + (36199, 190017, 0, 0, 0), + (36199, 200029, 0, 0, 0), + (36199, 230003, 0, 0, 0), + (36199, 240007, 0, 0, 0), + (36199, 250002, 0, 0, 0), + (36199, 280033, 0, 0, 0), + (36199, 320013, 0, 0, 0), + (36199, 330019, 0, 0, 0), + (36199, 340003, 0, 0, 0), + (36199, 1000039, 0, 0, 0), + (36199, 1100046, 0, 0, 0), + (36199, 1200032, 0, 0, 0), + (36200, 160056, 0, 0, 0), + (36200, 180015, 0, 0, 0), + (36200, 190017, 0, 0, 0), + (36200, 200029, 0, 0, 0), + (36200, 230003, 0, 0, 0), + (36200, 240005, 0, 0, 0), + (36200, 250002, 0, 0, 0), + (36200, 280036, 0, 0, 0), + (36200, 320004, 0, 0, 0), + (36200, 330067, 0, 0, 0), + (36200, 340002, 0, 0, 0), + (36200, 1000144, 0, 0, 0), + (36200, 1100044, 0, 0, 0), + (36200, 1200015, 0, 0, 0), + (36201, 160055, 0, 0, 0), + (36201, 180015, 0, 0, 0), + (36201, 190017, 0, 0, 0), + (36201, 200029, 0, 0, 0), + (36201, 230003, 0, 0, 0), + (36201, 240005, 0, 0, 0), + (36201, 250002, 0, 0, 0), + (36201, 280036, 0, 0, 0), + (36201, 320004, 0, 0, 0), + (36201, 330067, 0, 0, 0), + (36201, 340002, 0, 0, 0), + (36201, 1000113, 0, 0, 0), + (36201, 1100044, 0, 0, 0), + (36201, 1200015, 0, 0, 0), + (36202, 160055, 0, 0, 0), + (36202, 180015, 0, 0, 0), + (36202, 190017, 0, 0, 0), + (36202, 200029, 0, 0, 0), + (36202, 230003, 0, 0, 0), + (36202, 240007, 0, 0, 0), + (36202, 250002, 0, 0, 0), + (36202, 280036, 0, 0, 0), + (36202, 320013, 0, 0, 0), + (36202, 330064, 0, 0, 0), + (36202, 340002, 0, 0, 0), + (36202, 1000144, 0, 0, 0), + (36202, 1100044, 0, 0, 0), + (36202, 1200032, 0, 0, 0), + (36203, 160049, 0, 0, 0), + (36203, 180022, 0, 0, 0), + (36203, 190068, 0, 0, 0), + (36203, 200022, 0, 0, 0), + (36203, 230001, 0, 0, 0), + (36203, 240001, 0, 0, 0), + (36203, 250003, 0, 0, 0), + (36203, 280022, 0, 0, 0), + (36203, 320026, 0, 0, 0), + (36203, 330058, 0, 0, 0), + (36203, 340002, 0, 0, 0), + (36203, 1000149, 0, 0, 0), + (36203, 1100019, 0, 0, 0), + (36203, 1200021, 0, 0, 0), + (36204, 160050, 0, 0, 0), + (36204, 180022, 0, 0, 0), + (36204, 190068, 0, 0, 0), + (36204, 200022, 0, 0, 0), + (36204, 230003, 0, 0, 0), + (36204, 240005, 0, 0, 0), + (36204, 250003, 0, 0, 0), + (36204, 280010, 0, 0, 0), + (36204, 320026, 0, 0, 0), + (36204, 330043, 0, 0, 0), + (36204, 340002, 0, 0, 0), + (36204, 1000008, 0, 0, 0), + (36204, 1100049, 0, 0, 0), + (36204, 1200021, 0, 0, 0), + (36205, 160050, 0, 0, 0), + (36205, 180022, 0, 0, 0), + (36205, 190068, 0, 0, 0), + (36205, 200022, 0, 0, 0), + (36205, 230003, 0, 0, 0), + (36205, 240005, 0, 0, 0), + (36205, 250003, 0, 0, 0), + (36205, 280010, 0, 0, 0), + (36205, 320026, 0, 0, 0), + (36205, 330043, 0, 0, 0), + (36205, 340002, 0, 0, 0), + (36205, 1000007, 0, 0, 0), + (36205, 1100049, 0, 0, 0), + (36205, 1200021, 0, 0, 0), + (36206, 160050, 0, 0, 0), + (36206, 180053, 0, 0, 0), + (36206, 190024, 0, 0, 0), + (36206, 200007, 0, 0, 0), + (36206, 230003, 0, 0, 0), + (36206, 240004, 0, 0, 0), + (36206, 250003, 0, 0, 0), + (36206, 280010, 0, 0, 0), + (36206, 320053, 0, 0, 0), + (36206, 330043, 0, 0, 0), + (36206, 340003, 0, 0, 0), + (36206, 1000007, 0, 0, 0), + (36206, 1100049, 0, 0, 0), + (36206, 1200036, 0, 0, 0), + (36208, 160005, 0, 0, 0), + (36208, 180014, 0, 0, 0), + (36208, 190016, 0, 0, 0), + (36208, 200024, 0, 0, 0), + (36208, 230001, 0, 0, 0), + (36208, 240001, 0, 0, 0), + (36208, 250002, 0, 0, 0), + (36208, 280016, 0, 0, 0), + (36208, 320020, 0, 0, 0), + (36208, 330056, 0, 0, 0), + (36208, 340002, 0, 0, 0), + (36208, 1000070, 0, 0, 0), + (36208, 1100022, 0, 0, 0), + (36208, 1200034, 0, 0, 0), + (36209, 160016, 0, 0, 0), + (36209, 180062, 0, 0, 0), + (36209, 190067, 0, 0, 0), + (36209, 200030, 0, 0, 0), + (36209, 230001, 0, 0, 0), + (36209, 240005, 0, 0, 0), + (36209, 250002, 0, 0, 0), + (36209, 280052, 0, 0, 0), + (36209, 320101, 0, 0, 0), + (36209, 330019, 0, 0, 0), + (36209, 340002, 0, 0, 0), + (36209, 1000126, 0, 0, 0), + (36209, 1100121, 0, 0, 0), + (36209, 1200050, 0, 0, 0), + (36210, 160072, 0, 0, 0), + (36210, 180002, 0, 0, 0), + (36210, 190015, 0, 0, 0), + (36210, 200046, 0, 0, 0), + (36210, 230003, 0, 0, 0), + (36210, 240006, 0, 0, 0), + (36210, 250002, 0, 0, 0), + (36210, 280006, 0, 0, 0), + (36210, 320002, 0, 0, 0), + (36210, 330004, 0, 0, 0), + (36210, 340002, 0, 0, 0), + (36210, 1000075, 0, 0, 0), + (36210, 1100026, 0, 0, 0), + (36210, 1200001, 0, 0, 0), + (36211, 160072, 0, 0, 0), + (36211, 180013, 0, 0, 0), + (36211, 190015, 0, 0, 0), + (36211, 200046, 0, 0, 0), + (36211, 230003, 0, 0, 0), + (36211, 240006, 0, 0, 0), + (36211, 250002, 0, 0, 0), + (36211, 280002, 0, 0, 0), + (36211, 320031, 0, 0, 0), + (36211, 330033, 0, 0, 0), + (36211, 340003, 0, 0, 0), + (36211, 1000019, 0, 0, 0), + (36211, 1100014, 0, 0, 0), + (36211, 1200001, 0, 0, 0), + (36212, 25006, 0, 0, 0), + (36212, 160040, 0, 0, 0), + (36212, 180027, 0, 0, 0), + (36212, 190025, 0, 0, 0), + (36212, 200023, 0, 0, 0), + (36212, 230003, 0, 0, 0), + (36212, 240006, 0, 0, 0), + (36212, 250002, 0, 0, 0), + (36212, 280028, 0, 0, 0), + (36212, 320027, 0, 0, 0), + (36212, 330043, 0, 0, 0), + (36212, 340002, 0, 0, 0), + (36212, 1000051, 0, 0, 0), + (36212, 1100034, 0, 0, 0), + (36212, 1200037, 0, 0, 0), + (36213, 25006, 0, 0, 0), + (36213, 160040, 0, 0, 0), + (36213, 180027, 0, 0, 0), + (36213, 190004, 0, 0, 0), + (36213, 200009, 0, 0, 0), + (36213, 230003, 0, 0, 0), + (36213, 240006, 0, 0, 0), + (36213, 250002, 0, 0, 0), + (36213, 280028, 0, 0, 0), + (36213, 320038, 0, 0, 0), + (36213, 330027, 0, 0, 0), + (36213, 340002, 0, 0, 0), + (36213, 1000131, 0, 0, 0), + (36213, 1100035, 0, 0, 0), + (36213, 1200026, 0, 0, 0), + (36214, 160035, 0, 0, 0), + (36214, 180017, 0, 0, 0), + (36214, 190019, 0, 0, 0), + (36214, 200028, 0, 0, 0), + (36214, 230003, 0, 0, 0), + (36214, 240005, 0, 0, 0), + (36214, 250001, 0, 0, 0), + (36214, 280001, 0, 0, 0), + (36214, 320001, 0, 0, 0), + (36214, 330036, 0, 0, 0), + (36214, 340002, 0, 0, 0), + (36214, 1000133, 0, 0, 0), + (36214, 1100010, 0, 0, 0), + (36214, 1200003, 0, 0, 0), + (36215, 160076, 0, 0, 0), + (36215, 180001, 0, 0, 0), + (36215, 190016, 0, 0, 0), + (36215, 200002, 0, 0, 0), + (36215, 230002, 0, 0, 0), + (36215, 240003, 0, 0, 0), + (36215, 250002, 0, 0, 0), + (36215, 280016, 0, 0, 0), + (36215, 320020, 0, 0, 0), + (36215, 330003, 0, 0, 0), + (36215, 340001, 0, 0, 0), + (36215, 1000148, 0, 0, 0), + (36215, 1100111, 0, 0, 0), + (36215, 1200034, 0, 0, 0), + (37001, 290003, 0, 0, 0), + (37001, 300001, 0, 0, 0); \ No newline at end of file diff --git a/migrations/0034-seedSkinType.sql b/migrations/0034-seedSkinType.sql new file mode 100644 index 000000000..0f8460322 --- /dev/null +++ b/migrations/0034-seedSkinType.sql @@ -0,0 +1,13 @@ +INSERT INTO + skin_type (skin_type_id, skin_type) +VALUES + (1, '''Tinted'''), + (2, '''Custom'''), + (3, '''Cop'''), + (4, 'Flames'), + (5, 'Scallops'), + (6, 'Decals'), + (7, 'Rust'), + (8, 'Traffic'), + (9, 'Bad-ass'), + (10, '''Starter'''); \ No newline at end of file diff --git a/migrations/0035-seedPTSkin.sql b/migrations/0035-seedPTSkin.sql new file mode 100644 index 000000000..f64cb5f19 --- /dev/null +++ b/migrations/0035-seedPTSkin.sql @@ -0,0 +1,77052 @@ +INSERT INTO + pt_skin ( + skin_id, + creator_id, + skin_type_id, + part_type_id, + e_skin, + g_skin, + f_skin, + s_skin, + i_skin, + j_skin, + sw_skin, + b_skin, + price, + part_filename, + h0, + s0, + v0, + c0, + x0, + y0, + h1, + s1, + v1, + c1, + x1, + y1, + h2, + s2, + v2, + c2, + x2, + y2, + h3, + s3, + v3, + c3, + x3, + y3, + h4, + s4, + v4, + c4, + x4, + y4, + h5, + s5, + v5, + c5, + x5, + y5, + h6, + s6, + v6, + c6, + x6, + y6, + h7, + s7, + v7, + c7, + x7, + y7, + default_flag, + creator_name, + comment_text + ) +VALUES + ( + 1, + 10, + 1, + 101, + 'Candy Apple Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 1, + 211, + 255, + 128, + 32, + 255, + 1, + 211, + 255, + 128, + 32, + 255, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 40, + 20, + 20, + 128, + 1, + 165, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'As per 32 Ford CSV' + ), + ( + 2, + 10, + 1, + 101, + 'Blue Pearl', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 146, + 254, + 96, + 128, + 1, + 210, + 146, + 254, + 96, + 128, + 1, + 210, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 40, + 20, + 20, + 128, + 1, + 165, + 146, + 254, + 96, + 128, + 1, + 210, + 146, + 254, + 96, + 128, + 1, + 210, + 146, + 254, + 96, + 128, + 1, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 3, + 10, + 1, + 101, + 'Powder Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 138, + 138, + 255, + 128, + 20, + 255, + 138, + 138, + 255, + 128, + 20, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 138, + 138, + 255, + 128, + 0, + 255, + 138, + 138, + 255, + 128, + 0, + 255, + 138, + 138, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 4, + 10, + 1, + 101, + 'Peach', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 20, + 129, + 255, + 128, + 44, + 255, + 20, + 129, + 255, + 128, + 44, + 255, + 29, + 69, + 255, + 128, + 13, + 211, + 29, + 69, + 255, + 128, + 13, + 211, + 40, + 20, + 20, + 128, + 1, + 165, + 20, + 129, + 255, + 128, + 15, + 255, + 20, + 129, + 255, + 128, + 15, + 255, + 20, + 129, + 255, + 128, + 15, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 5, + 10, + 1, + 101, + 'Light Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 61, + 109, + 255, + 128, + 7, + 250, + 61, + 109, + 255, + 128, + 7, + 250, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 27, + 78, + 112, + 128, + 1, + 203, + 61, + 109, + 255, + 128, + 11, + 219, + 61, + 109, + 255, + 128, + 11, + 219, + 61, + 109, + 255, + 128, + 11, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 6, + 10, + 1, + 101, + 'Bright Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 35, + 255, + 255, + 128, + 20, + 255, + 35, + 255, + 255, + 128, + 20, + 255, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 40, + 20, + 255, + 128, + 10, + 255, + 35, + 255, + 255, + 128, + 20, + 255, + 35, + 255, + 255, + 128, + 20, + 255, + 35, + 255, + 255, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 7, + 10, + 1, + 101, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 7, + 255, + 128, + 110, + 192, + 128, + 7, + 255, + 128, + 110, + 192, + 3, + 254, + 100, + 128, + 11, + 237, + 3, + 254, + 100, + 128, + 11, + 237, + 40, + 20, + 20, + 128, + 1, + 165, + 128, + 7, + 255, + 128, + 110, + 192, + 128, + 7, + 255, + 128, + 110, + 192, + 128, + 7, + 255, + 128, + 110, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 8, + 10, + 1, + 101, + 'Black Pearl', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 33, + 7, + 255, + 128, + 0, + 180, + 33, + 7, + 1, + 128, + 0, + 225, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 27, + 78, + 112, + 128, + 1, + 203, + 33, + 7, + 1, + 128, + 0, + 175, + 33, + 7, + 1, + 128, + 0, + 175, + 33, + 7, + 1, + 128, + 0, + 175, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 9, + 10, + 1, + 101, + 'Rose Pewter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 33, + 7, + 255, + 128, + 0, + 180, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 27, + 78, + 112, + 128, + 1, + 203, + 30, + 26, + 65, + 128, + 0, + 216, + 30, + 26, + 65, + 128, + 0, + 216, + 30, + 26, + 65, + 128, + 0, + 216, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 10, + 10, + 1, + 101, + 'Violet Pearl', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 232, + 250, + 80, + 128, + 0, + 244, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 20, + 128, + 1, + 165, + 232, + 250, + 80, + 128, + 0, + 194, + 232, + 250, + 80, + 128, + 0, + 194, + 232, + 250, + 80, + 128, + 0, + 194, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 11, + 10, + 1, + 101, + 'Copper Brown', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 16, + 164, + 58, + 128, + 0, + 232, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 40, + 20, + 20, + 128, + 1, + 165, + 16, + 164, + 58, + 128, + 0, + 203, + 16, + 164, + 58, + 128, + 0, + 203, + 16, + 164, + 58, + 128, + 0, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 12, + 10, + 1, + 101, + 'Dark Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 27, + 78, + 112, + 128, + 1, + 203, + 125, + 125, + 49, + 128, + 0, + 188, + 125, + 125, + 49, + 128, + 0, + 188, + 125, + 125, + 49, + 128, + 0, + 188, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 13, + 10, + 1, + 101, + 'Sand Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 29, + 69, + 255, + 128, + 13, + 246, + 19, + 24, + 35, + 128, + 1, + 220, + 19, + 24, + 35, + 128, + 1, + 220, + 40, + 20, + 20, + 128, + 1, + 165, + 30, + 70, + 169, + 128, + 0, + 245, + 30, + 70, + 169, + 128, + 0, + 245, + 30, + 70, + 169, + 128, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 14, + 10, + 1, + 101, + 'Dark Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 71, + 109, + 33, + 128, + 0, + 240, + 29, + 69, + 255, + 128, + 13, + 237, + 29, + 69, + 255, + 128, + 13, + 237, + 40, + 20, + 20, + 128, + 1, + 165, + 71, + 169, + 52, + 128, + 0, + 192, + 71, + 169, + 52, + 128, + 0, + 192, + 71, + 169, + 52, + 128, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 15, + 10, + 1, + 102, + 'Dark Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 27, + 99, + 116, + 128, + 15, + 206, + 27, + 99, + 116, + 128, + 15, + 206, + 35, + 15, + 40, + 128, + 0, + 177, + 6, + 222, + 99, + 128, + 0, + 195, + 6, + 108, + 99, + 128, + 0, + 211, + 6, + 222, + 99, + 128, + 0, + 195, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 16, + 10, + 1, + 102, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 35, + 15, + 2, + 128, + 0, + 176, + 35, + 15, + 2, + 128, + 0, + 199, + 35, + 15, + 2, + 128, + 0, + 176, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 17, + 10, + 1, + 102, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 15, + 172, + 35, + 15, + 40, + 128, + 0, + 177, + 20, + 255, + 255, + 107, + 32, + 255, + 20, + 129, + 255, + 128, + 11, + 255, + 20, + 255, + 255, + 107, + 32, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 18, + 10, + 1, + 102, + 'Polar Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 151, + 200, + 109, + 128, + 0, + 225, + 151, + 94, + 109, + 128, + 0, + 233, + 151, + 200, + 109, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 19, + 10, + 1, + 102, + 'Pale Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 15, + 172, + 35, + 15, + 40, + 128, + 0, + 177, + 64, + 83, + 146, + 128, + 5, + 240, + 64, + 31, + 146, + 128, + 5, + 241, + 64, + 83, + 146, + 128, + 5, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 20, + 10, + 1, + 102, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 7, + 254, + 198, + 154, + 1, + 228, + 1, + 108, + 198, + 128, + 0, + 232, + 7, + 254, + 198, + 154, + 1, + 228, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 21, + 10, + 1, + 102, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 27, + 99, + 116, + 128, + 15, + 206, + 27, + 99, + 116, + 128, + 15, + 206, + 27, + 99, + 116, + 128, + 15, + 228, + 92, + 133, + 54, + 128, + 0, + 194, + 53, + 82, + 54, + 128, + 0, + 203, + 92, + 133, + 54, + 128, + 0, + 194, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 22, + 10, + 1, + 102, + 'Sea Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 125, + 160, + 130, + 128, + 22, + 220, + 125, + 49, + 130, + 128, + 22, + 219, + 125, + 160, + 130, + 128, + 22, + 220, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 23, + 10, + 1, + 102, + 'Lemon Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 15, + 172, + 35, + 15, + 40, + 128, + 0, + 177, + 36, + 255, + 255, + 128, + 16, + 255, + 40, + 113, + 255, + 128, + 0, + 246, + 36, + 255, + 255, + 128, + 16, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 24, + 10, + 1, + 102, + 'Slate Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 134, + 148, + 43, + 128, + 0, + 193, + 134, + 56, + 43, + 128, + 0, + 211, + 134, + 148, + 43, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 25, + 10, + 1, + 102, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 24, + 172, + 126, + 6, + 120, + 128, + 15, + 172, + 35, + 15, + 40, + 128, + 0, + 177, + 128, + 5, + 255, + 128, + 31, + 255, + 128, + 5, + 255, + 128, + 18, + 241, + 128, + 5, + 255, + 128, + 31, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 26, + 10, + 1, + 102, + 'Saddle Brown', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '40fortin', + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 38, + 38, + 255, + 128, + 15, + 235, + 35, + 15, + 40, + 128, + 0, + 177, + 18, + 66, + 118, + 122, + 1, + 212, + 18, + 43, + 118, + 128, + 0, + 227, + 18, + 66, + 118, + 122, + 1, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 27, + 10, + 1, + 103, + 'Coral Flame Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 241, + 246, + 255, + 255, + 128, + 5, + 255, + 246, + 255, + 255, + 128, + 5, + 255, + 25, + 9, + 3, + 128, + 0, + 152, + 246, + 255, + 255, + 128, + 5, + 255, + 45, + 5, + 255, + 128, + 35, + 254, + 246, + 255, + 255, + 128, + 5, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 28, + 10, + 1, + 103, + 'Sheridan Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 26, + 67, + 255, + 128, + 14, + 253, + 26, + 67, + 255, + 128, + 37, + 253, + 26, + 67, + 255, + 117, + 37, + 245, + 45, + 5, + 255, + 128, + 0, + 244, + 172, + 255, + 32, + 128, + 0, + 227, + 172, + 255, + 32, + 128, + 0, + 227, + 172, + 255, + 32, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 29, + 10, + 1, + 103, + 'Sandpiper Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 214, + 39, + 22, + 104, + 128, + 0, + 235, + 39, + 22, + 104, + 128, + 0, + 220, + 25, + 9, + 3, + 128, + 0, + 152, + 30, + 47, + 171, + 128, + 20, + 255, + 30, + 47, + 171, + 128, + 20, + 255, + 30, + 47, + 171, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 30, + 10, + 1, + 103, + 'Carnival Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 26, + 67, + 255, + 128, + 14, + 253, + 26, + 67, + 255, + 128, + 37, + 253, + 26, + 67, + 255, + 117, + 37, + 245, + 25, + 9, + 3, + 128, + 0, + 152, + 250, + 255, + 56, + 128, + 0, + 231, + 250, + 255, + 56, + 128, + 0, + 231, + 250, + 255, + 56, + 128, + 0, + 231, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 31, + 10, + 1, + 103, + 'Sungate Ivory', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 241, + 1, + 254, + 255, + 128, + 0, + 246, + 1, + 254, + 255, + 128, + 0, + 240, + 25, + 9, + 3, + 128, + 0, + 152, + 32, + 40, + 255, + 128, + 62, + 255, + 32, + 40, + 255, + 128, + 62, + 255, + 32, + 40, + 255, + 128, + 62, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 32, + 10, + 1, + 103, + 'Woodsmoke Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 201, + 28, + 22, + 39, + 128, + 0, + 229, + 28, + 22, + 39, + 128, + 0, + 218, + 25, + 9, + 3, + 128, + 0, + 152, + 28, + 22, + 104, + 128, + 0, + 253, + 28, + 22, + 104, + 128, + 0, + 253, + 28, + 22, + 104, + 128, + 0, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 33, + 10, + 1, + 103, + 'Glacier Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 233, + 142, + 130, + 255, + 128, + 16, + 241, + 142, + 130, + 255, + 128, + 16, + 255, + 45, + 5, + 255, + 128, + 0, + 244, + 142, + 130, + 255, + 128, + 28, + 255, + 45, + 5, + 255, + 128, + 35, + 254, + 142, + 130, + 255, + 128, + 28, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 34, + 10, + 1, + 103, + 'Fernmist Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 26, + 67, + 255, + 128, + 5, + 239, + 26, + 67, + 255, + 128, + 14, + 220, + 26, + 67, + 255, + 128, + 14, + 210, + 25, + 9, + 3, + 128, + 0, + 152, + 111, + 82, + 133, + 128, + 0, + 252, + 111, + 82, + 133, + 128, + 0, + 252, + 111, + 82, + 133, + 128, + 0, + 252, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 35, + 10, + 1, + 103, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 0, + 241, + 1, + 254, + 255, + 128, + 0, + 246, + 1, + 254, + 255, + 128, + 0, + 240, + 45, + 5, + 255, + 128, + 0, + 244, + 128, + 0, + 3, + 128, + 0, + 205, + 128, + 0, + 3, + 128, + 0, + 205, + 128, + 0, + 3, + 128, + 0, + 205, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 36, + 10, + 1, + 103, + 'Canary Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 26, + 67, + 255, + 128, + 14, + 210, + 26, + 67, + 255, + 128, + 14, + 210, + 26, + 67, + 255, + 128, + 14, + 210, + 25, + 9, + 3, + 128, + 0, + 152, + 34, + 225, + 255, + 49, + 91, + 254, + 45, + 5, + 255, + 128, + 35, + 254, + 34, + 225, + 255, + 49, + 91, + 254, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 37, + 10, + 1, + 103, + 'Peach', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 67, + 26, + 253, + 47, + 28, + 255, + 67, + 75, + 253, + 47, + 28, + 255, + 67, + 67, + 253, + 25, + 9, + 3, + 128, + 0, + 152, + 13, + 190, + 219, + 94, + 74, + 255, + 45, + 5, + 255, + 128, + 35, + 254, + 13, + 190, + 219, + 94, + 74, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 38, + 10, + 1, + 103, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 18, + 255, + 128, + 9, + 224, + 248, + 122, + 70, + 141, + 0, + 222, + 248, + 122, + 70, + 141, + 0, + 222, + 25, + 9, + 3, + 128, + 0, + 152, + 248, + 122, + 70, + 141, + 0, + 222, + 248, + 122, + 70, + 141, + 0, + 222, + 248, + 122, + 70, + 141, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 39, + 10, + 1, + 103, + 'Cold River Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '53fortin', + 128, + 0, + 255, + 128, + 0, + 255, + 47, + 28, + 255, + 128, + 9, + 241, + 128, + 117, + 57, + 128, + 0, + 231, + 128, + 117, + 57, + 128, + 0, + 231, + 25, + 9, + 3, + 128, + 0, + 152, + 128, + 117, + 57, + 128, + 0, + 242, + 45, + 5, + 255, + 128, + 35, + 254, + 128, + 117, + 57, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 40, + 10, + 1, + 104, + 'White / Mint Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 65, + 79, + 255, + 128, + 0, + 255, + 65, + 79, + 255, + 128, + 0, + 255, + 40, + 15, + 255, + 128, + 24, + 254, + 65, + 79, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 177, + 28, + 203, + 232, + 128, + 33, + 255, + 128, + 3, + 255, + 128, + 30, + 255, + 65, + 79, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 41, + 10, + 1, + 104, + 'White / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 1, + 255, + 255, + 128, + 0, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 1, + 255, + 255, + 128, + 0, + 244, + 20, + 5, + 24, + 128, + 0, + 177, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 30, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 42, + 10, + 1, + 104, + 'White / Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 151, + 255, + 176, + 128, + 0, + 252, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 151, + 255, + 176, + 128, + 0, + 252, + 40, + 10, + 255, + 128, + 22, + 255, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 30, + 255, + 151, + 255, + 176, + 128, + 0, + 252, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 43, + 10, + 1, + 104, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57faitin', + 20, + 5, + 14, + 128, + 0, + 222, + 40, + 15, + 13, + 128, + 1, + 229, + 40, + 15, + 13, + 128, + 1, + 244, + 20, + 5, + 14, + 128, + 0, + 222, + 20, + 5, + 24, + 128, + 0, + 177, + 28, + 203, + 232, + 128, + 20, + 255, + 20, + 5, + 10, + 128, + 0, + 154, + 20, + 5, + 10, + 128, + 0, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 44, + 10, + 1, + 104, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57faitin', + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 10, + 255, + 128, + 22, + 255, + 122, + 16, + 255, + 128, + 13, + 255, + 33, + 255, + 255, + 128, + 36, + 255, + 33, + 255, + 255, + 128, + 36, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 45, + 10, + 1, + 104, + 'White / Powder Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 146, + 100, + 255, + 128, + 13, + 255, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 146, + 100, + 255, + 128, + 13, + 255, + 20, + 5, + 24, + 128, + 0, + 177, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 30, + 255, + 146, + 100, + 255, + 128, + 13, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 46, + 10, + 1, + 104, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57faitin', + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 28, + 94, + 79, + 128, + 15, + 235, + 20, + 5, + 24, + 128, + 0, + 177, + 248, + 248, + 65, + 128, + 0, + 239, + 254, + 248, + 65, + 128, + 0, + 231, + 248, + 248, + 65, + 128, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 47, + 10, + 1, + 104, + 'Peach / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 16, + 128, + 255, + 128, + 9, + 240, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 16, + 128, + 255, + 128, + 9, + 240, + 40, + 10, + 255, + 128, + 22, + 255, + 28, + 203, + 232, + 128, + 20, + 255, + 16, + 128, + 255, + 128, + 9, + 240, + 128, + 3, + 255, + 128, + 30, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 48, + 10, + 1, + 104, + 'Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 15, + 13, + 128, + 1, + 229, + 40, + 15, + 13, + 128, + 1, + 244, + 1, + 255, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 177, + 28, + 203, + 232, + 128, + 33, + 255, + 20, + 5, + 10, + 128, + 0, + 167, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 49, + 10, + 1, + 104, + 'Silver / Slate Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 137, + 14, + 64, + 128, + 0, + 233, + 137, + 14, + 64, + 128, + 0, + 233, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 177, + 1, + 255, + 64, + 128, + 0, + 248, + 137, + 14, + 64, + 128, + 0, + 233, + 137, + 14, + 64, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 50, + 10, + 1, + 104, + 'Teal / Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57faitin', + 120, + 192, + 50, + 128, + 0, + 245, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 120, + 192, + 50, + 128, + 0, + 245, + 40, + 10, + 255, + 128, + 22, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 120, + 192, + 50, + 128, + 0, + 202, + 128, + 3, + 255, + 128, + 2, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 51, + 10, + 1, + 105, + 'White / Mint Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 65, + 79, + 255, + 128, + 0, + 255, + 65, + 79, + 255, + 128, + 0, + 255, + 40, + 15, + 255, + 128, + 24, + 254, + 65, + 79, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 156, + 28, + 203, + 232, + 128, + 33, + 255, + 128, + 3, + 255, + 128, + 52, + 255, + 65, + 79, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 52, + 10, + 1, + 105, + 'White / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 1, + 255, + 255, + 128, + 0, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 1, + 255, + 255, + 128, + 0, + 244, + 20, + 5, + 24, + 128, + 0, + 156, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 52, + 255, + 1, + 255, + 255, + 128, + 11, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 53, + 10, + 1, + 105, + 'White / Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 151, + 255, + 176, + 128, + 0, + 252, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 151, + 255, + 176, + 128, + 0, + 252, + 40, + 10, + 255, + 128, + 22, + 255, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 52, + 255, + 151, + 255, + 176, + 128, + 11, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 54, + 10, + 1, + 105, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57rantin', + 20, + 5, + 14, + 128, + 0, + 222, + 40, + 15, + 13, + 128, + 1, + 229, + 40, + 15, + 13, + 128, + 1, + 244, + 20, + 5, + 14, + 128, + 0, + 222, + 20, + 5, + 24, + 128, + 0, + 156, + 28, + 203, + 232, + 128, + 20, + 255, + 20, + 5, + 10, + 96, + 0, + 207, + 20, + 5, + 10, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 55, + 10, + 1, + 105, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57rantin', + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 10, + 255, + 128, + 22, + 255, + 122, + 16, + 255, + 128, + 13, + 255, + 33, + 255, + 255, + 128, + 50, + 255, + 33, + 255, + 255, + 128, + 45, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 56, + 10, + 1, + 105, + 'White / Powder Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 146, + 100, + 255, + 128, + 13, + 255, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 24, + 254, + 146, + 100, + 255, + 128, + 13, + 255, + 20, + 5, + 24, + 128, + 0, + 156, + 28, + 203, + 232, + 128, + 20, + 255, + 128, + 3, + 255, + 128, + 52, + 255, + 146, + 128, + 255, + 128, + 33, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 57, + 10, + 1, + 105, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57rantin', + 28, + 94, + 79, + 128, + 15, + 235, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 28, + 94, + 79, + 128, + 15, + 235, + 20, + 5, + 24, + 128, + 0, + 156, + 248, + 248, + 65, + 128, + 0, + 239, + 254, + 248, + 65, + 128, + 0, + 231, + 248, + 248, + 65, + 128, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 58, + 10, + 1, + 105, + 'Peach / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 16, + 128, + 255, + 128, + 9, + 240, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 16, + 128, + 255, + 128, + 9, + 240, + 40, + 10, + 255, + 128, + 22, + 255, + 28, + 203, + 232, + 128, + 20, + 255, + 16, + 128, + 255, + 128, + 40, + 255, + 128, + 3, + 255, + 128, + 41, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 59, + 10, + 1, + 105, + 'Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 15, + 13, + 128, + 1, + 229, + 40, + 15, + 13, + 128, + 1, + 244, + 1, + 255, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 156, + 28, + 203, + 232, + 128, + 33, + 255, + 20, + 5, + 10, + 96, + 0, + 207, + 1, + 255, + 255, + 128, + 13, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 60, + 10, + 1, + 105, + 'Slate Gray / Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 137, + 14, + 64, + 128, + 0, + 233, + 137, + 14, + 64, + 128, + 0, + 233, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 20, + 5, + 24, + 128, + 0, + 156, + 1, + 255, + 64, + 128, + 0, + 248, + 137, + 14, + 64, + 128, + 0, + 216, + 137, + 14, + 64, + 128, + 7, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 61, + 10, + 1, + 105, + 'Teal / Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57rantin', + 120, + 192, + 50, + 128, + 0, + 245, + 40, + 15, + 255, + 128, + 26, + 244, + 40, + 15, + 255, + 128, + 26, + 244, + 120, + 192, + 50, + 128, + 0, + 245, + 40, + 10, + 255, + 128, + 22, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 128, + 192, + 50, + 128, + 0, + 228, + 128, + 3, + 255, + 128, + 3, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 62, + 10, + 1, + 106, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 1, + 255, + 188, + 128, + 0, + 214, + 41, + 10, + 255, + 128, + 0, + 227, + 1, + 255, + 188, + 128, + 0, + 214, + 1, + 255, + 188, + 128, + 0, + 229, + 30, + 10, + 26, + 128, + 0, + 192, + 128, + 13, + 173, + 128, + 0, + 244, + 128, + 13, + 173, + 128, + 0, + 244, + 128, + 13, + 173, + 128, + 0, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 63, + 10, + 1, + 106, + 'Mist Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 218, + 27, + 114, + 77, + 128, + 0, + 215, + 27, + 114, + 77, + 128, + 0, + 202, + 27, + 114, + 77, + 128, + 0, + 220, + 40, + 10, + 255, + 128, + 35, + 255, + 84, + 67, + 130, + 128, + 0, + 255, + 45, + 10, + 255, + 128, + 60, + 255, + 84, + 67, + 130, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 64, + 10, + 1, + 106, + 'Moss Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 218, + 41, + 10, + 255, + 128, + 0, + 218, + 124, + 163, + 77, + 128, + 0, + 206, + 124, + 163, + 77, + 128, + 0, + 223, + 30, + 10, + 26, + 128, + 0, + 192, + 124, + 163, + 77, + 128, + 0, + 223, + 124, + 163, + 77, + 128, + 0, + 223, + 124, + 163, + 77, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 65, + 10, + 1, + 106, + 'Pale Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 233, + 38, + 150, + 255, + 116, + 16, + 255, + 38, + 150, + 255, + 116, + 16, + 255, + 40, + 10, + 255, + 128, + 35, + 255, + 38, + 167, + 255, + 116, + 35, + 255, + 38, + 167, + 255, + 116, + 35, + 255, + 38, + 167, + 255, + 116, + 35, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 66, + 10, + 1, + 106, + 'Slate Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 233, + 142, + 219, + 94, + 198, + 0, + 180, + 142, + 219, + 94, + 198, + 0, + 180, + 30, + 10, + 26, + 128, + 0, + 192, + 142, + 219, + 94, + 198, + 0, + 180, + 45, + 10, + 255, + 128, + 60, + 255, + 142, + 219, + 94, + 198, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 67, + 10, + 1, + 106, + 'Blue Silver Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 233, + 139, + 70, + 255, + 128, + 6, + 233, + 139, + 70, + 255, + 128, + 6, + 255, + 40, + 10, + 255, + 128, + 35, + 255, + 139, + 70, + 255, + 128, + 6, + 255, + 45, + 10, + 255, + 128, + 60, + 255, + 139, + 70, + 255, + 128, + 6, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 68, + 10, + 1, + 106, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 227, + 1, + 255, + 188, + 128, + 0, + 214, + 1, + 255, + 188, + 128, + 0, + 229, + 30, + 10, + 26, + 128, + 0, + 192, + 1, + 255, + 188, + 128, + 0, + 248, + 45, + 10, + 255, + 128, + 60, + 255, + 1, + 255, + 188, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 69, + 10, + 1, + 106, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 227, + 1, + 255, + 188, + 128, + 0, + 214, + 1, + 255, + 188, + 128, + 0, + 229, + 30, + 10, + 26, + 128, + 0, + 192, + 30, + 5, + 1, + 159, + 0, + 156, + 45, + 10, + 255, + 128, + 60, + 255, + 30, + 5, + 1, + 159, + 0, + 156, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 70, + 10, + 1, + 106, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 227, + 1, + 255, + 188, + 128, + 0, + 214, + 1, + 255, + 188, + 128, + 0, + 229, + 30, + 10, + 26, + 128, + 0, + 192, + 128, + 0, + 255, + 107, + 50, + 255, + 128, + 0, + 255, + 107, + 50, + 255, + 128, + 0, + 255, + 107, + 50, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 71, + 10, + 1, + 106, + 'Peach', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 227, + 19, + 94, + 255, + 128, + 0, + 246, + 19, + 94, + 255, + 128, + 0, + 255, + 30, + 10, + 26, + 128, + 0, + 192, + 19, + 94, + 255, + 128, + 0, + 255, + 45, + 10, + 255, + 128, + 60, + 255, + 19, + 113, + 255, + 113, + 33, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 72, + 10, + 1, + 106, + 'Indigo Pearl', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 128, + 13, + 23, + 128, + 0, + 181, + 128, + 13, + 23, + 128, + 0, + 181, + 128, + 13, + 23, + 128, + 0, + 181, + 128, + 13, + 23, + 128, + 0, + 208, + 30, + 10, + 26, + 128, + 0, + 192, + 198, + 104, + 32, + 128, + 0, + 184, + 198, + 104, + 32, + 128, + 0, + 184, + 198, + 104, + 32, + 128, + 0, + 184, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 73, + 10, + 1, + 106, + 'Pink Rose', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57tbitin', + 41, + 10, + 255, + 128, + 0, + 235, + 41, + 10, + 255, + 128, + 0, + 227, + 252, + 82, + 194, + 128, + 2, + 255, + 252, + 82, + 194, + 128, + 2, + 255, + 40, + 10, + 255, + 128, + 35, + 255, + 252, + 88, + 194, + 113, + 28, + 255, + 45, + 10, + 255, + 128, + 60, + 255, + 252, + 88, + 194, + 113, + 28, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 74, + 10, + 1, + 107, + 'Chantilly Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 35, + 47, + 126, + 128, + 0, + 249, + 0, + 255, + 255, + 128, + 0, + 248, + 0, + 255, + 255, + 128, + 0, + 248, + 0, + 255, + 255, + 128, + 0, + 248, + 40, + 15, + 255, + 128, + 11, + 255, + 35, + 111, + 126, + 128, + 0, + 240, + 40, + 15, + 255, + 128, + 15, + 255, + 35, + 111, + 126, + 128, + 0, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 75, + 10, + 1, + 107, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 0, + 129, + 255, + 128, + 0, + 255, + 40, + 18, + 236, + 128, + 19, + 255, + 40, + 18, + 175, + 128, + 19, + 239, + 40, + 18, + 160, + 128, + 19, + 232, + 40, + 15, + 45, + 128, + 11, + 170, + 0, + 255, + 255, + 128, + 0, + 240, + 40, + 15, + 255, + 128, + 15, + 255, + 0, + 255, + 255, + 128, + 0, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 76, + 10, + 1, + 107, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 45, + 27, + 255, + 128, + 9, + 255, + 253, + 255, + 203, + 128, + 0, + 250, + 253, + 255, + 114, + 128, + 0, + 236, + 253, + 255, + 104, + 128, + 0, + 228, + 40, + 15, + 255, + 128, + 14, + 255, + 45, + 47, + 255, + 128, + 24, + 255, + 40, + 15, + 255, + 128, + 15, + 255, + 45, + 47, + 255, + 128, + 24, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 77, + 10, + 1, + 107, + 'Skylight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 142, + 48, + 255, + 128, + 9, + 255, + 40, + 18, + 236, + 128, + 39, + 255, + 40, + 18, + 175, + 128, + 19, + 250, + 40, + 18, + 160, + 128, + 19, + 246, + 40, + 15, + 45, + 128, + 11, + 170, + 142, + 99, + 255, + 128, + 0, + 255, + 40, + 15, + 255, + 128, + 15, + 255, + 142, + 99, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 78, + 10, + 1, + 107, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 20, + 7, + 94, + 128, + 0, + 237, + 253, + 255, + 203, + 128, + 0, + 250, + 253, + 255, + 114, + 128, + 0, + 236, + 253, + 255, + 104, + 128, + 0, + 228, + 40, + 15, + 45, + 128, + 11, + 170, + 20, + 7, + 14, + 128, + 0, + 177, + 40, + 15, + 255, + 128, + 15, + 255, + 20, + 7, + 14, + 128, + 0, + 177, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 79, + 10, + 1, + 107, + 'Silver Smoke Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 137, + 22, + 159, + 128, + 0, + 249, + 40, + 18, + 52, + 128, + 2, + 227, + 40, + 18, + 75, + 128, + 2, + 222, + 40, + 18, + 52, + 128, + 2, + 208, + 40, + 15, + 45, + 128, + 11, + 170, + 137, + 22, + 122, + 128, + 0, + 231, + 40, + 15, + 255, + 128, + 15, + 255, + 137, + 22, + 122, + 128, + 0, + 231, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 80, + 10, + 1, + 107, + 'Vintage Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 247, + 35, + 151, + 128, + 1, + 244, + 40, + 18, + 236, + 128, + 19, + 255, + 40, + 18, + 175, + 128, + 19, + 239, + 40, + 18, + 160, + 128, + 19, + 232, + 40, + 15, + 45, + 128, + 11, + 170, + 247, + 224, + 57, + 128, + 0, + 207, + 247, + 224, + 57, + 128, + 0, + 207, + 247, + 224, + 57, + 128, + 0, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 81, + 10, + 1, + 107, + 'Dynasty Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 126, + 24, + 116, + 128, + 0, + 237, + 40, + 18, + 236, + 128, + 19, + 255, + 126, + 57, + 97, + 128, + 0, + 222, + 126, + 57, + 97, + 128, + 0, + 222, + 40, + 15, + 45, + 128, + 11, + 170, + 126, + 57, + 71, + 128, + 0, + 203, + 40, + 15, + 255, + 128, + 15, + 255, + 126, + 57, + 71, + 128, + 0, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 82, + 10, + 1, + 107, + 'Phoenician Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 128, + 3, + 138, + 128, + 19, + 255, + 40, + 18, + 236, + 128, + 30, + 255, + 45, + 47, + 255, + 128, + 24, + 255, + 45, + 47, + 255, + 128, + 24, + 255, + 40, + 15, + 45, + 128, + 11, + 170, + 32, + 192, + 255, + 128, + 35, + 255, + 128, + 3, + 255, + 128, + 35, + 255, + 32, + 192, + 255, + 128, + 35, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 83, + 10, + 1, + 107, + 'Guardsman Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 172, + 43, + 58, + 128, + 0, + 237, + 40, + 18, + 236, + 128, + 39, + 255, + 40, + 15, + 45, + 128, + 11, + 206, + 40, + 15, + 45, + 128, + 11, + 194, + 40, + 15, + 45, + 128, + 11, + 170, + 154, + 165, + 58, + 128, + 0, + 201, + 40, + 15, + 255, + 128, + 15, + 255, + 154, + 165, + 58, + 128, + 0, + 201, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 84, + 10, + 1, + 107, + 'Pagoda Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 245, + 23, + 255, + 128, + 10, + 255, + 40, + 18, + 236, + 128, + 39, + 255, + 120, + 141, + 71, + 128, + 0, + 237, + 120, + 141, + 71, + 128, + 0, + 237, + 40, + 15, + 255, + 128, + 14, + 255, + 120, + 185, + 71, + 128, + 0, + 216, + 40, + 15, + 255, + 128, + 15, + 255, + 120, + 185, + 71, + 128, + 0, + 216, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 85, + 10, + 1, + 107, + 'Gunmetal Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63tbitin', + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 2, + 128, + 0, + 222, + 33, + 19, + 67, + 128, + 0, + 219, + 33, + 19, + 67, + 128, + 0, + 219, + 40, + 15, + 45, + 128, + 11, + 170, + 33, + 19, + 67, + 128, + 0, + 219, + 40, + 15, + 255, + 128, + 15, + 255, + 33, + 19, + 67, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 86, + 10, + 1, + 108, + 'Navajo Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 27, + 80, + 255, + 128, + 0, + 255, + 27, + 80, + 255, + 128, + 0, + 255, + 27, + 80, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 87, + 10, + 1, + 108, + 'Vintage Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 246, + 242, + 84, + 128, + 5, + 253, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 246, + 242, + 84, + 128, + 0, + 210, + 246, + 242, + 84, + 128, + 0, + 210, + 246, + 242, + 84, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 88, + 10, + 1, + 108, + 'Chantilly Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 225, + 40, + 20, + 6, + 128, + 0, + 176, + 35, + 66, + 86, + 128, + 3, + 225, + 128, + 0, + 1, + 128, + 0, + 168, + 35, + 66, + 86, + 128, + 3, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 89, + 10, + 1, + 108, + 'Pagoda Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 120, + 100, + 49, + 128, + 5, + 250, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 255, + 128, + 15, + 255, + 124, + 254, + 77, + 128, + 13, + 225, + 124, + 254, + 77, + 128, + 13, + 225, + 124, + 254, + 77, + 128, + 13, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 90, + 10, + 1, + 108, + 'Skylight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 132, + 126, + 255, + 128, + 35, + 225, + 131, + 11, + 255, + 128, + 15, + 255, + 131, + 11, + 255, + 128, + 15, + 255, + 131, + 11, + 255, + 128, + 15, + 255, + 40, + 20, + 255, + 128, + 15, + 255, + 132, + 126, + 255, + 128, + 35, + 235, + 132, + 126, + 255, + 128, + 35, + 235, + 132, + 126, + 255, + 128, + 35, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 91, + 10, + 1, + 108, + 'Dynasty Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 120, + 100, + 49, + 128, + 0, + 222, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 40, + 20, + 6, + 128, + 0, + 176, + 120, + 100, + 49, + 128, + 0, + 222, + 128, + 0, + 1, + 128, + 0, + 168, + 120, + 100, + 49, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 92, + 10, + 1, + 108, + 'Prairie Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 255, + 128, + 15, + 255, + 19, + 163, + 113, + 128, + 0, + 255, + 44, + 30, + 255, + 128, + 38, + 255, + 19, + 163, + 113, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 93, + 10, + 1, + 108, + 'Phoenician Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 32, + 215, + 255, + 128, + 45, + 249, + 32, + 215, + 255, + 128, + 45, + 249, + 32, + 215, + 255, + 128, + 45, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 94, + 10, + 1, + 108, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 40, + 20, + 255, + 128, + 0, + 180, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 128, + 0, + 1, + 128, + 0, + 181, + 128, + 0, + 1, + 128, + 0, + 181, + 128, + 0, + 1, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 95, + 10, + 1, + 108, + 'Guardsman Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 148, + 218, + 49, + 128, + 0, + 210, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 148, + 218, + 49, + 128, + 0, + 210, + 148, + 218, + 49, + 128, + 0, + 210, + 148, + 218, + 49, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 96, + 10, + 1, + 108, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 28, + 50, + 255, + 128, + 38, + 255, + 128, + 0, + 1, + 128, + 0, + 168, + 28, + 50, + 255, + 128, + 38, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 97, + 10, + 1, + 108, + 'Silver Smoke Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 121, + 36, + 85, + 128, + 3, + 254, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 121, + 36, + 85, + 128, + 0, + 222, + 121, + 36, + 85, + 128, + 0, + 222, + 121, + 36, + 85, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 98, + 10, + 1, + 108, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64statin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 2, + 255, + 255, + 128, + 0, + 250, + 2, + 255, + 255, + 128, + 0, + 250, + 2, + 255, + 255, + 128, + 0, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 99, + 10, + 1, + 109, + 'Dynasty Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 208, + 104, + 22, + 254, + 40, + 15, + 160, + 128, + 10, + 255, + 114, + 163, + 64, + 128, + 0, + 225, + 114, + 163, + 64, + 128, + 0, + 212, + 40, + 15, + 255, + 128, + 9, + 255, + 114, + 163, + 64, + 128, + 0, + 212, + 40, + 14, + 255, + 128, + 27, + 255, + 114, + 163, + 64, + 128, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 100, + 10, + 1, + 109, + 'Navajo Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 105, + 194, + 22, + 168, + 33, + 83, + 155, + 128, + 3, + 250, + 40, + 15, + 109, + 128, + 2, + 235, + 33, + 83, + 155, + 128, + 0, + 255, + 30, + 10, + 30, + 128, + 0, + 175, + 33, + 83, + 155, + 128, + 9, + 255, + 33, + 83, + 155, + 128, + 0, + 215, + 33, + 83, + 155, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 101, + 10, + 1, + 109, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 1, + 255, + 130, + 128, + 1, + 250, + 1, + 255, + 121, + 128, + 1, + 244, + 39, + 16, + 255, + 128, + 19, + 255, + 39, + 16, + 255, + 128, + 56, + 255, + 30, + 10, + 30, + 128, + 0, + 175, + 26, + 37, + 255, + 128, + 56, + 255, + 26, + 37, + 255, + 128, + 56, + 255, + 26, + 37, + 255, + 128, + 56, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 102, + 10, + 1, + 109, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 19, + 7, + 1, + 128, + 0, + 201, + 19, + 7, + 1, + 128, + 0, + 164, + 39, + 7, + 255, + 128, + 9, + 248, + 19, + 7, + 1, + 128, + 0, + 164, + 30, + 10, + 30, + 128, + 0, + 175, + 19, + 7, + 1, + 128, + 0, + 176, + 19, + 7, + 1, + 128, + 0, + 176, + 19, + 7, + 1, + 128, + 0, + 176, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 103, + 10, + 1, + 109, + 'Silver Smoke Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 30, + 10, + 30, + 128, + 0, + 241, + 30, + 10, + 30, + 128, + 0, + 248, + 30, + 10, + 30, + 128, + 0, + 241, + 124, + 31, + 116, + 128, + 0, + 241, + 30, + 10, + 30, + 128, + 0, + 175, + 124, + 31, + 116, + 128, + 0, + 250, + 124, + 31, + 116, + 128, + 0, + 236, + 124, + 31, + 116, + 128, + 0, + 236, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 104, + 10, + 1, + 109, + 'Phoenician Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 208, + 104, + 22, + 254, + 40, + 15, + 160, + 128, + 10, + 255, + 33, + 208, + 255, + 128, + 50, + 255, + 33, + 208, + 255, + 128, + 50, + 255, + 40, + 15, + 255, + 128, + 9, + 255, + 33, + 208, + 255, + 128, + 50, + 255, + 40, + 14, + 255, + 128, + 27, + 255, + 33, + 208, + 255, + 128, + 50, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 105, + 10, + 1, + 109, + 'Guardsman Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 109, + 128, + 2, + 188, + 151, + 193, + 58, + 128, + 0, + 211, + 40, + 15, + 109, + 128, + 2, + 235, + 151, + 193, + 58, + 128, + 0, + 211, + 30, + 10, + 30, + 128, + 0, + 175, + 151, + 193, + 58, + 128, + 0, + 211, + 40, + 14, + 255, + 128, + 27, + 255, + 151, + 193, + 58, + 128, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 106, + 10, + 1, + 109, + 'Pagoda Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 129, + 32, + 36, + 128, + 0, + 223, + 129, + 32, + 52, + 128, + 0, + 244, + 129, + 255, + 91, + 128, + 0, + 225, + 129, + 255, + 91, + 128, + 0, + 230, + 40, + 15, + 255, + 128, + 9, + 255, + 129, + 255, + 91, + 128, + 0, + 249, + 40, + 14, + 255, + 128, + 27, + 255, + 129, + 255, + 91, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 107, + 10, + 1, + 109, + 'Prairie Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 105, + 128, + 22, + 216, + 33, + 83, + 155, + 128, + 3, + 250, + 40, + 15, + 109, + 128, + 2, + 235, + 26, + 201, + 151, + 128, + 15, + 255, + 30, + 10, + 30, + 128, + 0, + 175, + 26, + 201, + 151, + 128, + 15, + 255, + 40, + 14, + 255, + 128, + 27, + 255, + 26, + 201, + 151, + 128, + 15, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 108, + 10, + 1, + 109, + 'Vintage Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 109, + 128, + 2, + 188, + 40, + 15, + 109, + 128, + 2, + 188, + 40, + 15, + 109, + 128, + 2, + 188, + 248, + 250, + 54, + 128, + 0, + 219, + 30, + 10, + 30, + 128, + 0, + 175, + 248, + 250, + 54, + 128, + 0, + 250, + 248, + 250, + 54, + 128, + 0, + 219, + 248, + 250, + 54, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 109, + 10, + 1, + 109, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 109, + 128, + 18, + 242, + 40, + 15, + 109, + 128, + 18, + 242, + 40, + 15, + 109, + 128, + 18, + 235, + 0, + 255, + 255, + 128, + 2, + 250, + 36, + 45, + 125, + 128, + 0, + 228, + 0, + 255, + 255, + 128, + 7, + 254, + 40, + 14, + 255, + 128, + 27, + 255, + 0, + 255, + 255, + 128, + 2, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 110, + 10, + 1, + 109, + 'Skylight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 255, + 128, + 41, + 249, + 40, + 15, + 255, + 128, + 41, + 231, + 40, + 15, + 255, + 128, + 41, + 214, + 134, + 167, + 197, + 128, + 16, + 255, + 40, + 15, + 255, + 128, + 9, + 255, + 134, + 167, + 197, + 128, + 16, + 255, + 40, + 14, + 255, + 128, + 27, + 255, + 134, + 167, + 197, + 128, + 16, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 111, + 10, + 1, + 109, + 'Chantilly Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64galtin', + 40, + 15, + 109, + 128, + 2, + 188, + 40, + 15, + 109, + 128, + 2, + 188, + 40, + 15, + 109, + 128, + 2, + 188, + 37, + 71, + 86, + 128, + 0, + 250, + 40, + 15, + 255, + 128, + 9, + 255, + 37, + 71, + 86, + 128, + 0, + 241, + 37, + 71, + 86, + 128, + 0, + 241, + 37, + 71, + 86, + 128, + 0, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 112, + 10, + 1, + 110, + 'Lime Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 40, + 50, + 146, + 128, + 0, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 40, + 131, + 146, + 128, + 0, + 233, + 128, + 0, + 2, + 128, + 0, + 173, + 48, + 122, + 146, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 113, + 10, + 1, + 110, + 'Winter Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 142, + 62, + 73, + 128, + 0, + 237, + 142, + 13, + 73, + 128, + 0, + 252, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 142, + 252, + 73, + 128, + 0, + 227, + 142, + 54, + 73, + 128, + 0, + 237, + 142, + 13, + 73, + 128, + 0, + 252, + 142, + 252, + 73, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 114, + 10, + 1, + 110, + 'Royal Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 250, + 65, + 52, + 128, + 0, + 235, + 32, + 177, + 128, + 128, + 0, + 236, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 250, + 237, + 52, + 128, + 0, + 206, + 26, + 237, + 52, + 128, + 0, + 222, + 32, + 177, + 128, + 128, + 0, + 236, + 250, + 237, + 52, + 128, + 0, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 115, + 10, + 1, + 110, + 'Acapulco Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 159, + 61, + 53, + 128, + 0, + 233, + 159, + 249, + 53, + 128, + 0, + 208, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 116, + 10, + 1, + 110, + 'New Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 37, + 43, + 152, + 128, + 22, + 220, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 117, + 10, + 1, + 110, + 'Silver Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 124, + 57, + 56, + 128, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 114, + 54, + 124, + 128, + 0, + 219, + 128, + 0, + 2, + 128, + 0, + 173, + 109, + 54, + 124, + 128, + 0, + 231, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 118, + 10, + 1, + 110, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 128, + 0, + 255, + 128, + 1, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 44, + 45, + 255, + 128, + 45, + 222, + 128, + 0, + 2, + 128, + 0, + 173, + 44, + 45, + 255, + 128, + 66, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 119, + 10, + 1, + 110, + 'Black Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 30, + 10, + 1, + 128, + 2, + 224, + 30, + 10, + 1, + 128, + 2, + 155, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 30, + 10, + 1, + 128, + 2, + 155, + 1, + 254, + 163, + 128, + 13, + 220, + 1, + 254, + 163, + 128, + 13, + 241, + 30, + 10, + 1, + 128, + 2, + 155, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 120, + 10, + 1, + 110, + 'Gulfstream Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 130, + 32, + 47, + 163, + 0, + 214, + 130, + 172, + 47, + 163, + 0, + 195, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 121, + 10, + 1, + 110, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 1, + 41, + 163, + 128, + 7, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 1, + 254, + 163, + 128, + 1, + 224, + 128, + 0, + 2, + 128, + 0, + 173, + 1, + 254, + 163, + 128, + 13, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 122, + 10, + 1, + 110, + 'Indian Fire Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 6, + 60, + 135, + 165, + 11, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 123, + 10, + 1, + 110, + 'Dresden Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 128, + 24, + 212, + 128, + 2, + 250, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 133, + 116, + 212, + 128, + 13, + 227, + 133, + 116, + 212, + 128, + 13, + 207, + 128, + 0, + 2, + 128, + 0, + 173, + 133, + 116, + 212, + 128, + 13, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 124, + 10, + 1, + 110, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 30, + 30, + 255, + 118, + 27, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 30, + 254, + 255, + 118, + 45, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 30, + 254, + 255, + 118, + 45, + 252, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 125, + 10, + 1, + 110, + 'Pastel Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 128, + 18, + 164, + 128, + 6, + 253, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 126, + 10, + 1, + 110, + 'Presidential Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 148, + 69, + 103, + 186, + 2, + 210, + 148, + 255, + 103, + 186, + 2, + 185, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 127, + 10, + 1, + 110, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 19, + 32, + 88, + 155, + 0, + 223, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 19, + 90, + 88, + 155, + 0, + 202, + 128, + 0, + 2, + 128, + 0, + 173, + 19, + 90, + 88, + 155, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 128, + 10, + 1, + 110, + 'Brittany Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69tortin', + 138, + 50, + 92, + 137, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 163, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 163, + 138, + 219, + 92, + 137, + 0, + 214, + 128, + 0, + 2, + 128, + 0, + 163, + 138, + 219, + 92, + 137, + 0, + 224, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 129, + 10, + 1, + 111, + 'Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 130, + 10, + 1, + 111, + 'Medium Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 131, + 10, + 1, + 111, + 'Candyapple Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 6, + 194, + 143, + 128, + 6, + 240, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 6, + 194, + 143, + 128, + 6, + 240, + 35, + 64, + 158, + 128, + 16, + 244, + 6, + 194, + 143, + 128, + 6, + 240, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 132, + 10, + 1, + 111, + 'Raven Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 20, + 10, + 1, + 128, + 0, + 177, + 1, + 253, + 163, + 128, + 24, + 242, + 254, + 207, + 78, + 128, + 0, + 244, + 254, + 207, + 78, + 128, + 0, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 20, + 10, + 1, + 128, + 0, + 177, + 1, + 253, + 163, + 128, + 24, + 242, + 20, + 10, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 133, + 10, + 1, + 111, + 'Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 1, + 99, + 138, + 128, + 0, + 248, + 20, + 1, + 6, + 128, + 1, + 177, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 1, + 254, + 138, + 128, + 0, + 218, + 20, + 1, + 6, + 128, + 1, + 177, + 1, + 254, + 138, + 128, + 0, + 228, + 0, + 'Factory', + 'Not listed as factory color. Left over from old CSV file.' + ), + ( + 134, + 10, + 1, + 111, + 'Grabber Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb3tin', + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 135, + 10, + 1, + 111, + 'Grabber Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb3tin', + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 152, + 189, + 199, + 128, + 16, + 250, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 136, + 10, + 1, + 111, + 'Grabber Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb3tin', + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 137, + 10, + 1, + 111, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 138, + 10, + 1, + 111, + 'Medium Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 139, + 10, + 1, + 111, + 'Calypso Coral', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 11, + 232, + 242, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 140, + 10, + 1, + 111, + 'Bright Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 154, + 176, + 105, + 121, + 16, + 224, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 141, + 10, + 1, + 111, + 'Dark Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 31, + 92, + 73, + 128, + 0, + 236, + 31, + 92, + 73, + 128, + 0, + 236, + 20, + 10, + 1, + 128, + 0, + 178, + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 85, + 43, + 51, + 128, + 0, + 192, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 142, + 10, + 1, + 111, + 'Bright Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb3tin', + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 38, + 64, + 253, + 128, + 48, + 244, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 143, + 10, + 1, + 111, + 'Bright Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 144, + 10, + 1, + 111, + 'Pastel Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb3tin', + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 147, + 64, + 255, + 128, + 32, + 240, + 0, + 'Factory', + 'As per 70 Boss 302 CSV.' + ), + ( + 145, + 10, + 1, + 111, + 'Light Ivy Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 60, + 232, + 128, + 24, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 146, + 10, + 1, + 112, + 'Indigo', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 197, + 224, + 71, + 128, + 0, + 186, + 197, + 224, + 71, + 128, + 0, + 207, + 128, + 0, + 7, + 128, + 0, + 175, + 197, + 224, + 71, + 128, + 0, + 207, + 40, + 15, + 9, + 128, + 0, + 207, + 197, + 224, + 71, + 128, + 0, + 186, + 197, + 224, + 71, + 128, + 0, + 186, + 197, + 224, + 71, + 128, + 0, + 186, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 147, + 10, + 1, + 112, + 'Pale Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 128, + 16, + 255, + 128, + 0, + 249, + 35, + 83, + 255, + 128, + 23, + 255, + 40, + 15, + 255, + 128, + 0, + 255, + 35, + 83, + 255, + 128, + 23, + 255, + 35, + 15, + 255, + 128, + 58, + 255, + 128, + 0, + 255, + 128, + 0, + 211, + 128, + 16, + 255, + 128, + 0, + 231, + 35, + 83, + 255, + 128, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 148, + 10, + 1, + 112, + 'Light Green Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 77, + 20, + 124, + 128, + 0, + 252, + 77, + 37, + 124, + 128, + 0, + 242, + 40, + 15, + 255, + 128, + 0, + 255, + 77, + 37, + 124, + 128, + 0, + 242, + 35, + 15, + 255, + 128, + 58, + 255, + 128, + 0, + 255, + 128, + 0, + 178, + 128, + 16, + 255, + 128, + 0, + 231, + 77, + 37, + 124, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 149, + 10, + 1, + 112, + 'Burgundy Flame', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 252, + 79, + 41, + 128, + 0, + 231, + 252, + 255, + 41, + 128, + 0, + 208, + 40, + 15, + 255, + 128, + 0, + 255, + 252, + 255, + 41, + 128, + 0, + 208, + 40, + 15, + 9, + 128, + 0, + 207, + 252, + 97, + 41, + 128, + 0, + 181, + 128, + 16, + 255, + 128, + 0, + 231, + 252, + 255, + 41, + 128, + 0, + 208, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 150, + 10, + 1, + 112, + 'Fire Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 5, + 255, + 255, + 128, + 0, + 237, + 5, + 7, + 7, + 128, + 0, + 193, + 5, + 7, + 7, + 128, + 0, + 193, + 5, + 7, + 7, + 128, + 0, + 193, + 40, + 15, + 9, + 128, + 0, + 207, + 5, + 255, + 255, + 128, + 0, + 237, + 5, + 255, + 255, + 128, + 0, + 237, + 5, + 255, + 255, + 128, + 0, + 237, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 151, + 10, + 1, + 112, + 'Black Pearl', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 165, + 8, + 255, + 128, + 0, + 180, + 165, + 8, + 255, + 128, + 0, + 180, + 33, + 23, + 255, + 128, + 0, + 240, + 165, + 8, + 255, + 128, + 0, + 180, + 40, + 15, + 9, + 128, + 0, + 207, + 20, + 8, + 1, + 58, + 0, + 155, + 20, + 8, + 1, + 58, + 0, + 155, + 20, + 8, + 1, + 58, + 0, + 155, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 152, + 10, + 1, + 112, + 'Gray Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 128, + 11, + 133, + 128, + 20, + 252, + 128, + 16, + 133, + 128, + 0, + 242, + 128, + 0, + 255, + 128, + 0, + 194, + 128, + 16, + 133, + 128, + 0, + 242, + 40, + 15, + 9, + 128, + 0, + 207, + 128, + 0, + 255, + 128, + 0, + 194, + 128, + 11, + 255, + 128, + 0, + 253, + 128, + 16, + 133, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 153, + 10, + 1, + 112, + 'Steel Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 27, + 36, + 66, + 128, + 0, + 241, + 27, + 36, + 66, + 128, + 0, + 225, + 33, + 11, + 255, + 128, + 0, + 228, + 27, + 36, + 66, + 128, + 0, + 225, + 40, + 15, + 9, + 128, + 0, + 207, + 128, + 0, + 255, + 128, + 0, + 184, + 128, + 16, + 255, + 128, + 0, + 231, + 27, + 36, + 66, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 154, + 10, + 1, + 112, + 'Blue Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 129, + 65, + 61, + 128, + 0, + 220, + 129, + 65, + 61, + 128, + 0, + 220, + 33, + 11, + 255, + 128, + 0, + 228, + 129, + 65, + 61, + 128, + 0, + 220, + 40, + 15, + 9, + 128, + 0, + 207, + 128, + 0, + 255, + 128, + 0, + 184, + 128, + 16, + 255, + 128, + 0, + 231, + 129, + 65, + 61, + 128, + 0, + 220, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 155, + 10, + 1, + 112, + 'Sunburst Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 20, + 255, + 254, + 128, + 40, + 240, + 20, + 255, + 254, + 128, + 40, + 240, + 33, + 23, + 255, + 128, + 0, + 240, + 20, + 255, + 254, + 128, + 40, + 240, + 40, + 15, + 9, + 128, + 0, + 207, + 20, + 255, + 254, + 128, + 40, + 240, + 20, + 255, + 254, + 128, + 40, + 240, + 20, + 255, + 254, + 128, + 40, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 156, + 10, + 1, + 112, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 128, + 0, + 255, + 128, + 35, + 255, + 2, + 255, + 58, + 128, + 0, + 214, + 2, + 255, + 58, + 128, + 0, + 214, + 2, + 255, + 58, + 128, + 0, + 214, + 40, + 15, + 9, + 128, + 0, + 207, + 128, + 6, + 255, + 128, + 37, + 255, + 128, + 6, + 255, + 128, + 37, + 255, + 128, + 6, + 255, + 128, + 37, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 157, + 10, + 1, + 112, + 'Sky Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '49mertin', + 40, + 15, + 255, + 128, + 0, + 240, + 143, + 121, + 255, + 128, + 6, + 255, + 40, + 15, + 255, + 128, + 0, + 255, + 143, + 121, + 255, + 128, + 6, + 255, + 35, + 15, + 255, + 128, + 58, + 255, + 128, + 0, + 255, + 128, + 0, + 188, + 128, + 0, + 255, + 128, + 0, + 233, + 143, + 121, + 255, + 128, + 6, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 158, + 10, + 1, + 113, + 'Harbor Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 156, + 241, + 94, + 122, + 0, + 246, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 156, + 241, + 94, + 122, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 159, + 10, + 1, + 113, + 'Inca Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 203, + 20, + 10, + 11, + 128, + 0, + 233, + 20, + 10, + 22, + 128, + 0, + 184, + 40, + 10, + 172, + 100, + 31, + 250, + 0, + 255, + 255, + 128, + 0, + 255, + 40, + 10, + 172, + 100, + 31, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 160, + 10, + 1, + 113, + 'Tropical Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 120, + 95, + 255, + 108, + 37, + 255, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 120, + 95, + 255, + 108, + 37, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 161, + 10, + 1, + 113, + 'Onyx Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 233, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 162, + 10, + 1, + 113, + 'Onyx Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 255, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 163, + 10, + 1, + 113, + 'Imperial Ivory', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 33, + 47, + 255, + 97, + 71, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 47, + 255, + 97, + 71, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 164, + 10, + 1, + 113, + 'Coronado Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 33, + 228, + 255, + 47, + 82, + 255, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 228, + 255, + 47, + 88, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 165, + 10, + 1, + 113, + 'Laurel Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 60, + 92, + 114, + 128, + 0, + 242, + 20, + 10, + 22, + 128, + 0, + 184, + 60, + 92, + 114, + 128, + 0, + 242, + 128, + 0, + 255, + 128, + 0, + 255, + 60, + 92, + 114, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 166, + 10, + 1, + 113, + 'Sierra Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 233, + 20, + 10, + 22, + 128, + 0, + 184, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 190, + 155, + 122, + 22, + 254, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 167, + 10, + 1, + 113, + 'Matador Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57chetin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 4, + 255, + 255, + 128, + 21, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 4, + 255, + 255, + 128, + 21, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 168, + 10, + 1, + 114, + 'Venetian Red / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 169, + 10, + 1, + 114, + 'Venetian Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57vettin', + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 232, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 170, + 10, + 1, + 114, + 'Polo White / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 128, + 5, + 255, + 128, + 41, + 255, + 128, + 5, + 255, + 128, + 41, + 255, + 1, + 255, + 255, + 128, + 0, + 235, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 170, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 128, + 5, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 171, + 10, + 1, + 114, + 'Polo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57vettin', + 128, + 5, + 255, + 128, + 41, + 255, + 128, + 5, + 255, + 128, + 41, + 255, + 1, + 255, + 255, + 128, + 0, + 235, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 170, + 128, + 5, + 255, + 128, + 41, + 248, + 128, + 5, + 255, + 128, + 48, + 255, + 128, + 5, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 172, + 10, + 1, + 114, + 'Onyx Black / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 25, + 255, + 128, + 0, + 250, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 1, + 128, + 0, + 154, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 173, + 10, + 1, + 114, + 'Onyx Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57vettin', + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 25, + 255, + 128, + 0, + 171, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 177, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 1, + 128, + 0, + 154, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 174, + 10, + 1, + 114, + 'Onyx Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 170, + 1, + 255, + 255, + 128, + 0, + 235, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 170, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 1, + 128, + 0, + 154, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 175, + 10, + 1, + 114, + 'Inca Silver / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 40, + 15, + 255, + 128, + 12, + 255, + 40, + 15, + 255, + 128, + 12, + 255, + 1, + 255, + 255, + 128, + 0, + 235, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 20, + 255, + 128, + 0, + 170, + 1, + 255, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 40, + 15, + 109, + 128, + 12, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 176, + 10, + 1, + 114, + 'Inca Silver / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 40, + 15, + 255, + 128, + 12, + 255, + 40, + 15, + 255, + 128, + 12, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 0, + 170, + 128, + 0, + 255, + 128, + 0, + 255, + 40, + 15, + 255, + 128, + 12, + 255, + 40, + 15, + 109, + 128, + 12, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 177, + 10, + 1, + 114, + 'Aztec Copper / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 10, + 146, + 161, + 128, + 18, + 221, + 10, + 146, + 161, + 128, + 18, + 221, + 40, + 25, + 255, + 128, + 0, + 250, + 10, + 146, + 161, + 128, + 18, + 221, + 40, + 25, + 255, + 128, + 0, + 250, + 128, + 0, + 255, + 128, + 0, + 255, + 10, + 146, + 161, + 128, + 18, + 221, + 10, + 146, + 161, + 128, + 18, + 221, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 178, + 10, + 1, + 114, + 'Arctic Blue / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 40, + 25, + 255, + 128, + 0, + 250, + 140, + 61, + 143, + 128, + 14, + 219, + 40, + 25, + 255, + 128, + 0, + 250, + 128, + 0, + 255, + 128, + 0, + 255, + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 179, + 10, + 1, + 114, + 'Arctic Blue / Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 1, + 214, + 207, + 128, + 9, + 225, + 140, + 61, + 143, + 128, + 14, + 219, + 40, + 20, + 255, + 128, + 0, + 170, + 128, + 0, + 255, + 128, + 0, + 222, + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 180, + 10, + 1, + 114, + 'Arctic Blue / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57vettin', + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 1, + 214, + 207, + 128, + 9, + 225, + 140, + 61, + 143, + 128, + 14, + 219, + 40, + 20, + 255, + 128, + 0, + 170, + 1, + 255, + 255, + 128, + 0, + 255, + 140, + 61, + 143, + 128, + 14, + 219, + 140, + 61, + 143, + 128, + 14, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 181, + 10, + 1, + 114, + 'Cascade Green / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57vettin', + 127, + 251, + 211, + 128, + 0, + 255, + 127, + 251, + 211, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 127, + 251, + 211, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 128, + 0, + 255, + 128, + 0, + 255, + 127, + 251, + 211, + 128, + 0, + 255, + 127, + 251, + 211, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 182, + 10, + 1, + 114, + 'Cascade Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57vettin', + 127, + 251, + 211, + 128, + 0, + 255, + 127, + 251, + 211, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 127, + 251, + 211, + 128, + 0, + 255, + 40, + 25, + 255, + 128, + 0, + 250, + 127, + 251, + 211, + 128, + 0, + 231, + 127, + 251, + 211, + 128, + 0, + 255, + 127, + 251, + 211, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 183, + 10, + 1, + 115, + 'Matador Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 4, + 255, + 255, + 128, + 21, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 4, + 255, + 255, + 128, + 21, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 184, + 10, + 1, + 115, + 'Inca Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 233, + 20, + 10, + 22, + 128, + 0, + 184, + 40, + 10, + 172, + 100, + 31, + 250, + 0, + 255, + 255, + 128, + 0, + 255, + 40, + 10, + 172, + 100, + 31, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 185, + 10, + 1, + 115, + 'Tropical Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 120, + 95, + 255, + 108, + 37, + 255, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 120, + 95, + 255, + 108, + 37, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 186, + 10, + 1, + 115, + 'Onyx Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 233, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 187, + 10, + 1, + 115, + 'Onyx Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 255, + 255, + 128, + 0, + 255, + 20, + 10, + 11, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 188, + 10, + 1, + 115, + 'Imperial Ivory', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 4, + 255, + 255, + 128, + 21, + 222, + 4, + 255, + 255, + 128, + 21, + 241, + 20, + 10, + 22, + 128, + 0, + 184, + 33, + 47, + 255, + 97, + 71, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 47, + 255, + 97, + 71, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 189, + 10, + 1, + 115, + 'Coronado Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 33, + 228, + 255, + 47, + 82, + 255, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 228, + 255, + 47, + 88, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 190, + 10, + 1, + 115, + 'Laurel Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 60, + 92, + 114, + 128, + 0, + 242, + 20, + 10, + 22, + 128, + 0, + 184, + 60, + 92, + 114, + 128, + 0, + 242, + 128, + 0, + 255, + 128, + 0, + 255, + 60, + 92, + 114, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 191, + 10, + 1, + 115, + 'Sierra Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 216, + 20, + 10, + 11, + 128, + 0, + 233, + 20, + 10, + 22, + 128, + 0, + 184, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 33, + 190, + 155, + 122, + 22, + 254, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 192, + 10, + 1, + 115, + 'Harbor Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '57nomtin', + 24, + 28, + 255, + 128, + 36, + 252, + 24, + 28, + 255, + 128, + 36, + 252, + 40, + 26, + 255, + 128, + 28, + 249, + 156, + 241, + 94, + 122, + 0, + 246, + 40, + 15, + 255, + 128, + 28, + 255, + 33, + 35, + 255, + 97, + 78, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 156, + 241, + 94, + 122, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 193, + 10, + 1, + 116, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 1, + 254, + 255, + 128, + 0, + 246, + 40, + 15, + 255, + 128, + 0, + 255, + 1, + 254, + 255, + 128, + 0, + 229, + 40, + 20, + 255, + 128, + 0, + 229, + 1, + 71, + 255, + 128, + 0, + 249, + 40, + 24, + 255, + 128, + 32, + 255, + 1, + 254, + 255, + 128, + 0, + 218, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 194, + 10, + 1, + 116, + 'Gray-Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 125, + 47, + 90, + 128, + 0, + 202, + 128, + 0, + 255, + 128, + 0, + 186, + 125, + 47, + 90, + 128, + 0, + 202, + 40, + 20, + 10, + 128, + 0, + 224, + 125, + 18, + 90, + 128, + 0, + 248, + 40, + 24, + 255, + 128, + 32, + 255, + 125, + 47, + 90, + 128, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 195, + 10, + 1, + 116, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 5, + 255, + 128, + 0, + 199, + 128, + 0, + 255, + 128, + 0, + 186, + 20, + 5, + 255, + 128, + 0, + 199, + 40, + 20, + 10, + 128, + 0, + 224, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 159, + 20, + 5, + 1, + 128, + 0, + 159, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 196, + 10, + 1, + 116, + 'Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 127, + 254, + 53, + 128, + 1, + 195, + 128, + 0, + 255, + 128, + 0, + 186, + 127, + 254, + 53, + 128, + 1, + 195, + 40, + 20, + 10, + 128, + 0, + 224, + 127, + 49, + 53, + 128, + 1, + 229, + 127, + 254, + 53, + 128, + 1, + 195, + 127, + 254, + 53, + 128, + 1, + 195, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 197, + 10, + 1, + 116, + 'Light Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 40, + 15, + 255, + 128, + 0, + 255, + 108, + 69, + 143, + 128, + 0, + 219, + 40, + 15, + 255, + 128, + 0, + 255, + 108, + 69, + 143, + 128, + 0, + 219, + 40, + 20, + 10, + 128, + 0, + 224, + 108, + 24, + 143, + 128, + 0, + 233, + 40, + 24, + 255, + 128, + 32, + 255, + 108, + 69, + 143, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 198, + 10, + 1, + 116, + 'Off-White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 31, + 43, + 255, + 128, + 32, + 255, + 1, + 249, + 154, + 128, + 0, + 224, + 31, + 43, + 255, + 128, + 32, + 255, + 40, + 20, + 10, + 128, + 0, + 224, + 31, + 43, + 255, + 128, + 23, + 255, + 31, + 43, + 255, + 128, + 32, + 255, + 31, + 43, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 199, + 10, + 1, + 116, + 'Dark Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 170, + 255, + 47, + 128, + 0, + 242, + 128, + 0, + 255, + 128, + 0, + 186, + 170, + 255, + 47, + 128, + 0, + 218, + 40, + 20, + 10, + 128, + 0, + 224, + 147, + 75, + 47, + 128, + 0, + 211, + 147, + 255, + 47, + 128, + 0, + 180, + 147, + 255, + 47, + 128, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 200, + 10, + 1, + 116, + 'Dark Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 30, + 79, + 30, + 128, + 0, + 241, + 30, + 79, + 30, + 128, + 0, + 241, + 30, + 79, + 30, + 128, + 0, + 253, + 30, + 79, + 30, + 128, + 0, + 212, + 40, + 20, + 10, + 128, + 0, + 224, + 94, + 54, + 47, + 128, + 0, + 220, + 107, + 185, + 47, + 114, + 0, + 175, + 107, + 185, + 47, + 114, + 0, + 175, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 201, + 10, + 1, + 116, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 8, + 255, + 128, + 33, + 233, + 1, + 249, + 154, + 128, + 0, + 224, + 128, + 8, + 255, + 128, + 33, + 255, + 40, + 20, + 255, + 128, + 0, + 229, + 128, + 8, + 255, + 128, + 7, + 255, + 128, + 8, + 255, + 128, + 33, + 255, + 128, + 8, + 255, + 128, + 33, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 202, + 10, + 1, + 116, + 'Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 40, + 15, + 255, + 128, + 0, + 255, + 30, + 83, + 255, + 128, + 7, + 239, + 40, + 15, + 255, + 128, + 0, + 255, + 30, + 83, + 255, + 128, + 7, + 239, + 40, + 20, + 10, + 128, + 0, + 224, + 30, + 49, + 255, + 128, + 7, + 250, + 40, + 24, + 255, + 128, + 32, + 255, + 30, + 83, + 255, + 128, + 7, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 203, + 10, + 1, + 116, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 19, + 254, + 255, + 128, + 11, + 255, + 40, + 15, + 255, + 128, + 0, + 255, + 19, + 254, + 255, + 128, + 11, + 255, + 40, + 20, + 255, + 128, + 0, + 229, + 23, + 65, + 255, + 128, + 20, + 255, + 40, + 24, + 255, + 128, + 32, + 255, + 19, + 254, + 255, + 128, + 11, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 204, + 10, + 1, + 116, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 28, + 232, + 255, + 128, + 30, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 28, + 232, + 255, + 128, + 30, + 255, + 40, + 20, + 255, + 128, + 73, + 255, + 37, + 44, + 255, + 128, + 6, + 240, + 40, + 24, + 255, + 128, + 32, + 255, + 28, + 232, + 255, + 128, + 30, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 205, + 10, + 1, + 116, + 'Light Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 139, + 139, + 255, + 128, + 6, + 237, + 128, + 0, + 255, + 128, + 0, + 255, + 139, + 139, + 255, + 128, + 6, + 237, + 40, + 20, + 255, + 128, + 73, + 255, + 139, + 45, + 255, + 128, + 6, + 250, + 40, + 24, + 255, + 128, + 32, + 255, + 139, + 139, + 255, + 128, + 6, + 237, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 206, + 10, + 1, + 116, + 'Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64imptin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 5, + 255, + 128, + 0, + 229, + 1, + 2, + 154, + 128, + 0, + 173, + 20, + 5, + 255, + 128, + 0, + 214, + 40, + 20, + 255, + 128, + 0, + 229, + 20, + 5, + 255, + 128, + 0, + 240, + 20, + 5, + 255, + 128, + 0, + 206, + 20, + 5, + 255, + 128, + 0, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 207, + 10, + 1, + 117, + 'Sebring Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 240, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 128, + 5, + 109, + 128, + 0, + 255, + 128, + 5, + 109, + 128, + 0, + 255, + 128, + 5, + 109, + 128, + 0, + 255, + 128, + 5, + 109, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 208, + 10, + 1, + 117, + 'Silver Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 158, + 133, + 75, + 128, + 30, + 229, + 158, + 133, + 75, + 128, + 30, + 218, + 158, + 133, + 75, + 128, + 30, + 229, + 158, + 133, + 75, + 128, + 30, + 229, + 146, + 73, + 186, + 128, + 56, + 195, + 146, + 73, + 186, + 128, + 56, + 195, + 146, + 73, + 186, + 128, + 56, + 195, + 146, + 73, + 186, + 128, + 56, + 195, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 209, + 10, + 1, + 117, + 'Daytona Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 240, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 146, + 255, + 114, + 128, + 1, + 232, + 146, + 255, + 114, + 128, + 1, + 232, + 146, + 255, + 114, + 128, + 1, + 232, + 146, + 255, + 114, + 128, + 1, + 232, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 210, + 10, + 1, + 117, + 'Riverside Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 240, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 5, + 255, + 219, + 128, + 0, + 255, + 5, + 255, + 219, + 128, + 0, + 255, + 5, + 255, + 219, + 128, + 0, + 248, + 5, + 255, + 219, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 211, + 10, + 1, + 117, + 'Ermine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 240, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 128, + 5, + 255, + 128, + 69, + 236, + 128, + 5, + 255, + 128, + 69, + 236, + 128, + 5, + 255, + 128, + 69, + 236, + 128, + 5, + 255, + 128, + 69, + 236, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 212, + 10, + 1, + 117, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 240, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 35, + 10, + 1, + 130, + 0, + 161, + 35, + 10, + 1, + 130, + 0, + 161, + 35, + 10, + 1, + 130, + 0, + 161, + 35, + 10, + 1, + 130, + 0, + 161, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 213, + 10, + 1, + 117, + 'Saddle Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 23, + 164, + 107, + 128, + 30, + 235, + 23, + 164, + 107, + 128, + 30, + 228, + 23, + 164, + 107, + 128, + 30, + 225, + 23, + 164, + 107, + 128, + 30, + 235, + 20, + 97, + 202, + 128, + 18, + 241, + 20, + 97, + 202, + 128, + 18, + 241, + 20, + 97, + 202, + 128, + 18, + 241, + 20, + 97, + 202, + 128, + 18, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 214, + 10, + 1, + 117, + 'Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 30, + 15, + 255, + 128, + 1, + 255, + 28, + 146, + 207, + 128, + 13, + 249, + 28, + 146, + 207, + 128, + 13, + 249, + 28, + 146, + 207, + 128, + 13, + 249, + 28, + 146, + 207, + 128, + 13, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 215, + 10, + 1, + 117, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '63vettin', + 23, + 164, + 107, + 128, + 30, + 235, + 23, + 164, + 107, + 128, + 30, + 235, + 23, + 164, + 107, + 128, + 30, + 235, + 23, + 164, + 107, + 128, + 30, + 235, + 250, + 255, + 70, + 150, + 0, + 210, + 250, + 255, + 70, + 150, + 0, + 210, + 250, + 255, + 70, + 150, + 0, + 210, + 250, + 255, + 70, + 150, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 216, + 10, + 1, + 118, + 'Rio Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 40, + 15, + 255, + 128, + 15, + 255, + 40, + 15, + 35, + 128, + 1, + 216, + 1, + 255, + 255, + 128, + 0, + 240, + 1, + 255, + 255, + 128, + 0, + 240, + 40, + 16, + 255, + 128, + 13, + 255, + 1, + 255, + 255, + 128, + 0, + 240, + 128, + 1, + 255, + 128, + 35, + 255, + 1, + 255, + 255, + 128, + 0, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 217, + 10, + 1, + 118, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 107, + 163, + 52, + 128, + 0, + 224, + 121, + 245, + 52, + 128, + 0, + 184, + 121, + 245, + 52, + 128, + 0, + 210, + 121, + 245, + 52, + 128, + 0, + 191, + 40, + 16, + 30, + 128, + 13, + 175, + 121, + 245, + 52, + 128, + 0, + 192, + 39, + 52, + 255, + 128, + 18, + 255, + 109, + 245, + 79, + 128, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 218, + 10, + 1, + 118, + 'Colonial Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 33, + 45, + 255, + 128, + 0, + 185, + 40, + 15, + 35, + 128, + 1, + 216, + 39, + 52, + 255, + 128, + 18, + 255, + 39, + 52, + 255, + 128, + 18, + 255, + 40, + 16, + 30, + 128, + 13, + 175, + 39, + 52, + 255, + 128, + 18, + 255, + 128, + 1, + 255, + 128, + 35, + 255, + 39, + 52, + 255, + 128, + 18, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 219, + 10, + 1, + 118, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 40, + 15, + 255, + 128, + 15, + 255, + 40, + 15, + 35, + 128, + 1, + 216, + 137, + 186, + 105, + 128, + 2, + 207, + 137, + 186, + 105, + 128, + 2, + 207, + 128, + 0, + 255, + 128, + 0, + 255, + 137, + 186, + 105, + 128, + 2, + 207, + 1, + 0, + 255, + 128, + 20, + 255, + 137, + 186, + 105, + 128, + 2, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 220, + 10, + 1, + 118, + 'Silver Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 40, + 15, + 255, + 128, + 15, + 255, + 40, + 15, + 35, + 128, + 1, + 216, + 141, + 65, + 138, + 113, + 0, + 236, + 141, + 65, + 138, + 113, + 0, + 236, + 40, + 16, + 30, + 128, + 13, + 175, + 141, + 65, + 138, + 113, + 0, + 236, + 1, + 0, + 255, + 128, + 20, + 255, + 141, + 65, + 138, + 113, + 0, + 236, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 221, + 10, + 1, + 118, + 'Onyx Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 1, + 255, + 108, + 128, + 0, + 185, + 1, + 255, + 108, + 128, + 0, + 205, + 20, + 7, + 7, + 128, + 0, + 185, + 20, + 7, + 7, + 128, + 0, + 174, + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 7, + 128, + 0, + 176, + 1, + 0, + 255, + 128, + 20, + 255, + 20, + 7, + 7, + 128, + 0, + 160, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 222, + 10, + 1, + 118, + 'Tropic Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 40, + 15, + 255, + 128, + 15, + 255, + 150, + 50, + 35, + 128, + 1, + 216, + 131, + 187, + 181, + 128, + 2, + 251, + 131, + 187, + 181, + 128, + 2, + 251, + 128, + 0, + 255, + 128, + 0, + 255, + 131, + 187, + 181, + 128, + 2, + 251, + 131, + 187, + 181, + 128, + 2, + 251, + 131, + 187, + 181, + 128, + 2, + 251, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 223, + 10, + 1, + 118, + 'Snowcrest White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 1, + 255, + 108, + 128, + 0, + 224, + 1, + 255, + 108, + 128, + 0, + 219, + 128, + 1, + 255, + 128, + 13, + 255, + 128, + 1, + 255, + 128, + 35, + 255, + 40, + 16, + 30, + 128, + 13, + 175, + 128, + 1, + 255, + 128, + 35, + 255, + 128, + 1, + 255, + 128, + 35, + 255, + 128, + 1, + 255, + 128, + 35, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 224, + 10, + 1, + 118, + 'Anniversary Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 33, + 45, + 255, + 128, + 0, + 223, + 40, + 15, + 35, + 128, + 1, + 216, + 30, + 99, + 158, + 128, + 0, + 236, + 30, + 99, + 158, + 128, + 0, + 236, + 40, + 16, + 30, + 128, + 13, + 175, + 30, + 99, + 158, + 128, + 0, + 236, + 128, + 1, + 255, + 128, + 35, + 255, + 30, + 99, + 158, + 128, + 0, + 236, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 225, + 10, + 1, + 118, + 'Cay Coral', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '58imptin', + 33, + 45, + 255, + 128, + 0, + 223, + 128, + 0, + 133, + 128, + 7, + 255, + 13, + 138, + 195, + 103, + 20, + 255, + 13, + 138, + 195, + 103, + 20, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 13, + 138, + 195, + 103, + 20, + 255, + 128, + 1, + 255, + 128, + 35, + 255, + 13, + 138, + 195, + 103, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 226, + 10, + 1, + 119, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 83, + 255, + 128, + 15, + 255, + 0, + 255, + 255, + 111, + 16, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 227, + 10, + 1, + 119, + 'Dark Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 148, + 255, + 54, + 152, + 0, + 211, + 170, + 33, + 54, + 128, + 0, + 231, + 148, + 255, + 54, + 152, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 228, + 10, + 1, + 119, + 'Off White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 245, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 43, + 26, + 255, + 100, + 48, + 255, + 43, + 54, + 255, + 128, + 10, + 255, + 43, + 26, + 255, + 100, + 48, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 229, + 10, + 1, + 119, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 99, + 0, + 206, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 99, + 0, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 230, + 10, + 1, + 119, + 'Vermillion', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 252, + 22, + 104, + 94, + 128, + 0, + 252, + 22, + 104, + 94, + 128, + 0, + 252, + 30, + 15, + 2, + 128, + 0, + 214, + 3, + 250, + 64, + 128, + 0, + 227, + 248, + 45, + 64, + 128, + 0, + 228, + 3, + 250, + 64, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 231, + 10, + 1, + 119, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 15, + 2, + 128, + 0, + 173, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 130, + 5, + 124, + 122, + 1, + 232, + 130, + 5, + 126, + 128, + 0, + 253, + 130, + 5, + 124, + 122, + 1, + 232, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 232, + 10, + 1, + 119, + 'Light Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 142, + 181, + 171, + 128, + 0, + 233, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 30, + 15, + 255, + 128, + 60, + 255, + 142, + 181, + 171, + 128, + 0, + 254, + 121, + 40, + 171, + 128, + 0, + 249, + 142, + 181, + 171, + 128, + 0, + 254, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 233, + 10, + 1, + 119, + 'Light Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 15, + 2, + 128, + 0, + 173, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 35, + 233, + 255, + 128, + 43, + 255, + 35, + 82, + 255, + 128, + 7, + 255, + 35, + 233, + 255, + 128, + 43, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 234, + 10, + 1, + 119, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 15, + 2, + 128, + 0, + 173, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 128, + 5, + 255, + 83, + 58, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 83, + 58, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 235, + 10, + 1, + 119, + 'Light Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 30, + 15, + 2, + 128, + 0, + 173, + 28, + 104, + 94, + 128, + 20, + 252, + 28, + 104, + 94, + 128, + 20, + 252, + 28, + 104, + 94, + 128, + 20, + 252, + 30, + 15, + 2, + 128, + 0, + 214, + 95, + 147, + 91, + 128, + 0, + 240, + 66, + 39, + 91, + 128, + 0, + 241, + 95, + 147, + 91, + 128, + 0, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 236, + 10, + 1, + 119, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 22, + 255, + 239, + 108, + 30, + 255, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 22, + 255, + 239, + 86, + 50, + 255, + 22, + 135, + 239, + 108, + 30, + 255, + 22, + 255, + 239, + 86, + 50, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 237, + 10, + 1, + 119, + 'Dark Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67chetin', + 128, + 254, + 71, + 143, + 0, + 202, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 128, + 254, + 71, + 143, + 0, + 212, + 128, + 56, + 137, + 143, + 0, + 224, + 128, + 254, + 71, + 143, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 238, + 10, + 1, + 120, + 'Bolero Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 255, + 255, + 128, + 0, + 250, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 52, + 255, + 128, + 0, + 249, + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 239, + 10, + 1, + 120, + 'Deepwater Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 148, + 255, + 54, + 152, + 0, + 202, + 148, + 255, + 54, + 152, + 0, + 202, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 170, + 33, + 54, + 128, + 0, + 231, + 148, + 255, + 54, + 152, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 240, + 10, + 1, + 120, + 'Capri Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 20, + 5, + 1, + 128, + 0, + 168, + 43, + 48, + 255, + 128, + 11, + 255, + 43, + 48, + 255, + 128, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 241, + 10, + 1, + 120, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 20, + 5, + 1, + 128, + 0, + 168, + 20, + 5, + 1, + 128, + 0, + 168, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 0, + 255, + 255, + 128, + 0, + 250, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 242, + 10, + 1, + 120, + 'Tahoe Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 142, + 58, + 138, + 0, + 201, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 2, + 128, + 0, + 214, + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 71, + 58, + 138, + 0, + 241, + 131, + 142, + 58, + 138, + 0, + 201, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 243, + 10, + 1, + 120, + 'Silverglaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 41, + 24, + 163, + 128, + 1, + 248, + 41, + 24, + 163, + 128, + 1, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 244, + 10, + 1, + 120, + 'Marina Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 142, + 181, + 171, + 128, + 0, + 233, + 142, + 181, + 171, + 128, + 0, + 233, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 255, + 128, + 60, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 121, + 40, + 171, + 128, + 0, + 249, + 142, + 181, + 171, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 245, + 10, + 1, + 120, + 'Butternut Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 32, + 175, + 255, + 128, + 20, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 35, + 82, + 255, + 128, + 7, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 246, + 10, + 1, + 120, + 'Provincial White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 16, + 255, + 255, + 128, + 22, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 247, + 10, + 1, + 120, + 'Verde Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 95, + 147, + 37, + 128, + 0, + 180, + 95, + 147, + 37, + 128, + 0, + 180, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 95, + 147, + 37, + 128, + 0, + 180, + 66, + 39, + 91, + 128, + 0, + 241, + 95, + 147, + 37, + 128, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 248, + 10, + 1, + 120, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 69, + 60, + 167, + 108, + 1, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 69, + 60, + 167, + 108, + 11, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 249, + 10, + 1, + 120, + 'Emerald Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 134, + 90, + 139, + 144, + 0, + 212, + 134, + 90, + 139, + 144, + 0, + 212, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 128, + 56, + 137, + 143, + 0, + 224, + 134, + 90, + 139, + 144, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 250, + 10, + 1, + 120, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 3, + 250, + 64, + 128, + 0, + 205, + 3, + 250, + 64, + 128, + 0, + 205, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 248, + 45, + 64, + 128, + 0, + 228, + 3, + 250, + 64, + 128, + 0, + 205, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 251, + 10, + 1, + 120, + 'Antique Pewter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 32, + 24, + 83, + 137, + 1, + 236, + 32, + 24, + 83, + 137, + 1, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 252, + 10, + 1, + 120, + 'Plum Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 231, + 253, + 44, + 128, + 0, + 181, + 231, + 253, + 44, + 128, + 0, + 181, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 231, + 49, + 44, + 128, + 0, + 253, + 231, + 253, + 44, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 253, + 10, + 1, + 120, + 'Sierra Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 26, + 28, + 147, + 138, + 0, + 249, + 26, + 58, + 147, + 138, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 254, + 10, + 1, + 120, + 'Nantucket Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 184, + 43, + 169, + 128, + 0, + 255, + 184, + 43, + 169, + 128, + 0, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 184, + 43, + 169, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 253, + 184, + 43, + 169, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 255, + 10, + 1, + 120, + 'Granada Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67camtin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 36, + 33, + 168, + 138, + 0, + 249, + 36, + 104, + 168, + 138, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 256, + 10, + 1, + 121, + 'Monza Red / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 255, + 255, + 139, + 0, + 211, + 1, + 1, + 1, + 128, + 1, + 147, + 1, + 255, + 255, + 139, + 0, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 257, + 10, + 1, + 121, + 'Classic White / Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 128, + 5, + 255, + 128, + 27, + 255, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 41, + 101, + 128, + 0, + 254, + 15, + 255, + 101, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 18, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 258, + 10, + 1, + 121, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 128, + 52, + 58, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 128, + 255, + 58, + 152, + 0, + 203, + 128, + 255, + 58, + 152, + 0, + 203, + 128, + 255, + 58, + 152, + 0, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 259, + 10, + 1, + 121, + 'Champagne Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 33, + 60, + 126, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 27, + 138, + 126, + 128, + 0, + 223, + 27, + 138, + 126, + 128, + 0, + 223, + 27, + 138, + 126, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 260, + 10, + 1, + 121, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 122, + 10, + 160, + 128, + 11, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 122, + 10, + 160, + 128, + 0, + 227, + 1, + 1, + 1, + 128, + 1, + 147, + 122, + 10, + 160, + 142, + 0, + 220, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 261, + 10, + 1, + 121, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 104, + 18, + 147, + 128, + 0, + 253, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 104, + 101, + 147, + 128, + 0, + 219, + 104, + 101, + 147, + 128, + 0, + 219, + 104, + 101, + 147, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 262, + 10, + 1, + 121, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 64, + 14, + 53, + 128, + 0, + 232, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 97, + 130, + 53, + 128, + 0, + 190, + 97, + 130, + 53, + 128, + 0, + 190, + 97, + 130, + 53, + 128, + 0, + 190, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 263, + 10, + 1, + 121, + 'Cranberry Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 6, + 56, + 91, + 128, + 0, + 245, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 248, + 254, + 91, + 176, + 0, + 180, + 1, + 1, + 1, + 128, + 1, + 147, + 248, + 254, + 91, + 176, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 264, + 10, + 1, + 121, + 'Astro Blue / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 142, + 57, + 255, + 128, + 18, + 255, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 250, + 20, + 7, + 18, + 128, + 0, + 165, + 142, + 101, + 255, + 128, + 2, + 254, + 142, + 3, + 255, + 128, + 36, + 255, + 142, + 175, + 88, + 184, + 2, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 265, + 10, + 1, + 121, + 'Laguna Gray / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 242, + 18, + 83, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 242, + 28, + 83, + 171, + 0, + 180, + 1, + 1, + 1, + 128, + 1, + 147, + 242, + 28, + 83, + 171, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 266, + 10, + 1, + 121, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 170, + 73, + 255, + 128, + 22, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 155, + 254, + 70, + 146, + 11, + 184, + 155, + 254, + 70, + 146, + 11, + 184, + 155, + 254, + 70, + 146, + 11, + 184, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 267, + 10, + 1, + 121, + 'Shadow Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 128, + 6, + 94, + 128, + 6, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 26, + 41, + 53, + 128, + 0, + 199, + 26, + 41, + 53, + 128, + 0, + 199, + 26, + 41, + 53, + 128, + 0, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 268, + 10, + 1, + 121, + 'Gold Beige / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 31, + 13, + 112, + 128, + 0, + 249, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 31, + 148, + 112, + 109, + 11, + 228, + 1, + 1, + 1, + 128, + 1, + 147, + 31, + 148, + 112, + 109, + 11, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 269, + 10, + 1, + 121, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 245, + 255, + 66, + 128, + 0, + 198, + 245, + 255, + 66, + 128, + 0, + 198, + 245, + 255, + 66, + 128, + 0, + 198, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 270, + 10, + 1, + 121, + 'Autumn Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70chetin', + 23, + 39, + 62, + 128, + 0, + 240, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 23, + 126, + 62, + 128, + 0, + 194, + 23, + 126, + 62, + 128, + 0, + 194, + 23, + 126, + 62, + 128, + 0, + 194, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 271, + 10, + 1, + 121, + 'Plum / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 215, + 255, + 53, + 128, + 0, + 188, + 1, + 1, + 1, + 128, + 1, + 147, + 215, + 255, + 53, + 128, + 0, + 198, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 272, + 10, + 1, + 121, + 'Yellow / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 18, + 86, + 255, + 117, + 20, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 31, + 255, + 255, + 117, + 26, + 229, + 1, + 1, + 1, + 128, + 1, + 147, + 31, + 255, + 255, + 117, + 26, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 273, + 10, + 1, + 121, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70chetin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 236, + 255, + 128, + 0, + 219, + 1, + 1, + 1, + 128, + 1, + 147, + 1, + 255, + 255, + 139, + 0, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 274, + 10, + 1, + 122, + 'Laguna Gray / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 242, + 18, + 83, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 242, + 28, + 83, + 128, + 0, + 214, + 1, + 1, + 1, + 128, + 1, + 168, + 242, + 28, + 83, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 275, + 10, + 1, + 122, + 'Classic White / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 128, + 5, + 255, + 128, + 27, + 255, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 20, + 7, + 18, + 128, + 0, + 248, + 1, + 41, + 101, + 128, + 0, + 254, + 1, + 255, + 101, + 128, + 0, + 236, + 128, + 5, + 255, + 128, + 39, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 276, + 10, + 1, + 122, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 128, + 52, + 58, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 128, + 57, + 58, + 128, + 0, + 248, + 128, + 0, + 255, + 128, + 35, + 255, + 128, + 255, + 58, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 277, + 10, + 1, + 122, + 'Champagne Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 33, + 60, + 126, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 278, + 10, + 1, + 122, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 122, + 10, + 160, + 128, + 11, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 122, + 10, + 160, + 128, + 0, + 227, + 1, + 1, + 1, + 128, + 1, + 168, + 122, + 10, + 160, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 279, + 10, + 1, + 122, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 104, + 18, + 147, + 128, + 0, + 253, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 104, + 101, + 147, + 128, + 0, + 239, + 104, + 101, + 147, + 128, + 0, + 239, + 104, + 101, + 147, + 128, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 280, + 10, + 1, + 122, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 64, + 14, + 53, + 128, + 0, + 232, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 97, + 130, + 53, + 128, + 0, + 210, + 97, + 130, + 53, + 128, + 0, + 210, + 97, + 130, + 53, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 281, + 10, + 1, + 122, + 'Cranberry Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 6, + 56, + 91, + 128, + 0, + 245, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 6, + 254, + 91, + 128, + 0, + 233, + 6, + 254, + 91, + 128, + 0, + 233, + 6, + 254, + 91, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 282, + 10, + 1, + 122, + 'Astro Blue / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 142, + 57, + 255, + 128, + 18, + 255, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 250, + 20, + 7, + 18, + 128, + 0, + 248, + 142, + 101, + 255, + 128, + 2, + 254, + 142, + 3, + 255, + 128, + 36, + 255, + 142, + 175, + 88, + 128, + 2, + 228, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 283, + 10, + 1, + 122, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 1, + 141, + 255, + 128, + 0, + 214, + 1, + 1, + 1, + 128, + 1, + 168, + 1, + 255, + 255, + 139, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 284, + 10, + 1, + 122, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 170, + 73, + 255, + 128, + 22, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 155, + 254, + 70, + 146, + 11, + 206, + 155, + 254, + 70, + 146, + 11, + 206, + 155, + 254, + 70, + 146, + 11, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 285, + 10, + 1, + 122, + 'Shadow Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 128, + 6, + 94, + 128, + 6, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 26, + 41, + 53, + 128, + 0, + 224, + 26, + 41, + 53, + 128, + 0, + 224, + 26, + 41, + 53, + 128, + 0, + 224, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 286, + 10, + 1, + 122, + 'Gold Beige / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70camtin', + 31, + 13, + 112, + 128, + 0, + 249, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 31, + 176, + 112, + 109, + 18, + 206, + 1, + 1, + 1, + 128, + 1, + 168, + 31, + 176, + 112, + 109, + 18, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 287, + 10, + 1, + 122, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 245, + 255, + 66, + 128, + 0, + 225, + 245, + 255, + 66, + 128, + 0, + 225, + 245, + 255, + 66, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 288, + 10, + 1, + 122, + 'Autumn Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70camtin', + 23, + 39, + 62, + 128, + 0, + 240, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 23, + 126, + 62, + 128, + 0, + 215, + 23, + 126, + 62, + 128, + 0, + 215, + 23, + 126, + 62, + 128, + 0, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 289, + 10, + 1, + 123, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 48, + 83, + 139, + 128, + 0, + 223, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 48, + 28, + 139, + 128, + 0, + 240, + 20, + 7, + 18, + 128, + 0, + 161, + 48, + 83, + 139, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 290, + 10, + 1, + 123, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 255, + 255, + 128, + 0, + 241, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 0, + 86, + 255, + 128, + 0, + 252, + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 291, + 10, + 1, + 123, + 'Astro Blue / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 145, + 210, + 142, + 128, + 0, + 216, + 145, + 210, + 142, + 128, + 0, + 216, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 150, + 79, + 142, + 128, + 0, + 241, + 145, + 210, + 142, + 128, + 0, + 216, + 145, + 210, + 142, + 128, + 0, + 216, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 292, + 10, + 1, + 123, + 'Shadow Grey', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 24, + 66, + 86, + 128, + 0, + 207, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 24, + 40, + 75, + 128, + 0, + 231, + 20, + 7, + 18, + 128, + 0, + 161, + 24, + 66, + 86, + 128, + 0, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 293, + 10, + 1, + 123, + 'Gold / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 22, + 107, + 142, + 128, + 0, + 225, + 22, + 107, + 142, + 128, + 0, + 225, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 28, + 47, + 142, + 128, + 0, + 245, + 22, + 107, + 142, + 128, + 0, + 225, + 22, + 107, + 142, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 294, + 10, + 1, + 123, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 101, + 178, + 33, + 128, + 0, + 193, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 64, + 84, + 33, + 128, + 36, + 206, + 20, + 7, + 18, + 128, + 0, + 161, + 101, + 178, + 33, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 295, + 10, + 1, + 123, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 137, + 57, + 52, + 128, + 0, + 237, + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 296, + 10, + 1, + 123, + 'Classic White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 58, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 40, + 7, + 255, + 128, + 27, + 255, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 40, + 7, + 255, + 128, + 27, + 225, + 20, + 7, + 18, + 128, + 0, + 161, + 40, + 7, + 255, + 128, + 27, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 297, + 10, + 1, + 123, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 130, + 182, + 97, + 128, + 0, + 222, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 130, + 73, + 97, + 128, + 0, + 235, + 20, + 7, + 18, + 128, + 0, + 161, + 130, + 182, + 97, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 298, + 10, + 1, + 123, + 'Black Cherry / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 1, + 255, + 80, + 128, + 2, + 203, + 1, + 255, + 80, + 128, + 2, + 203, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 1, + 66, + 80, + 128, + 2, + 241, + 1, + 255, + 80, + 128, + 2, + 203, + 1, + 255, + 80, + 128, + 2, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 299, + 10, + 1, + 123, + 'Autumn Gold / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 26, + 134, + 134, + 137, + 0, + 199, + 26, + 134, + 134, + 137, + 0, + 199, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 26, + 74, + 134, + 128, + 0, + 245, + 26, + 134, + 134, + 137, + 0, + 199, + 26, + 134, + 134, + 137, + 0, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 300, + 10, + 1, + 123, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 129, + 1, + 189, + 128, + 1, + 222, + 129, + 1, + 189, + 128, + 1, + 222, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 129, + 1, + 189, + 128, + 1, + 231, + 129, + 1, + 189, + 128, + 1, + 222, + 129, + 1, + 189, + 128, + 1, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 301, + 10, + 1, + 123, + 'Desert Sand', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70novtin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 22, + 147, + 147, + 128, + 0, + 244, + 20, + 7, + 31, + 128, + 0, + 246, + 40, + 10, + 255, + 128, + 77, + 255, + 22, + 53, + 147, + 128, + 0, + 250, + 20, + 7, + 18, + 128, + 0, + 161, + 22, + 147, + 147, + 128, + 0, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 302, + 10, + 1, + 123, + 'Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 20, + 5, + 1, + 128, + 0, + 184, + 20, + 5, + 1, + 128, + 0, + 184, + 0, + 255, + 255, + 128, + 0, + 241, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 20, + 5, + 66, + 128, + 0, + 245, + 20, + 5, + 1, + 128, + 0, + 184, + 20, + 5, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 303, + 10, + 1, + 123, + 'Yellow / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70novtin', + 29, + 255, + 255, + 128, + 34, + 255, + 29, + 255, + 255, + 128, + 34, + 255, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 37, + 64, + 255, + 128, + 16, + 239, + 29, + 255, + 255, + 128, + 34, + 255, + 29, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 304, + 10, + 1, + 124, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 252, + 70, + 92, + 122, + 0, + 231, + 252, + 254, + 92, + 122, + 10, + 255, + 40, + 20, + 255, + 128, + 0, + 250, + 252, + 254, + 92, + 122, + 23, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 9, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 254, + 255, + 92, + 128, + 0, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 305, + 10, + 1, + 124, + 'Berkeley Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 32, + 14, + 87, + 101, + 0, + 224, + 32, + 43, + 87, + 101, + 24, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 32, + 43, + 87, + 101, + 24, + 254, + 40, + 20, + 255, + 128, + 0, + 170, + 40, + 20, + 255, + 128, + 9, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 32, + 43, + 87, + 101, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 306, + 10, + 1, + 124, + 'Cavern Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 83, + 43, + 18, + 104, + 5, + 215, + 67, + 111, + 48, + 128, + 1, + 237, + 27, + 94, + 113, + 128, + 0, + 229, + 67, + 111, + 48, + 128, + 1, + 237, + 40, + 20, + 2, + 128, + 0, + 165, + 27, + 43, + 113, + 128, + 0, + 239, + 27, + 94, + 113, + 128, + 0, + 207, + 83, + 148, + 18, + 104, + 5, + 156, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 307, + 10, + 1, + 124, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 128, + 0, + 2, + 128, + 0, + 203, + 40, + 20, + 255, + 128, + 0, + 235, + 40, + 20, + 255, + 128, + 0, + 250, + 128, + 0, + 2, + 128, + 0, + 228, + 40, + 20, + 2, + 128, + 0, + 165, + 128, + 0, + 2, + 64, + 0, + 248, + 128, + 0, + 2, + 64, + 0, + 160, + 128, + 0, + 2, + 64, + 0, + 160, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 308, + 10, + 1, + 124, + 'Gunmetal Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 35, + 13, + 71, + 128, + 9, + 218, + 35, + 20, + 71, + 128, + 9, + 255, + 40, + 20, + 255, + 128, + 0, + 184, + 35, + 20, + 71, + 128, + 9, + 255, + 40, + 20, + 2, + 128, + 0, + 165, + 128, + 0, + 2, + 64, + 0, + 248, + 128, + 0, + 2, + 64, + 0, + 160, + 19, + 24, + 41, + 128, + 0, + 185, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 309, + 10, + 1, + 124, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 92, + 52, + 74, + 128, + 19, + 197, + 92, + 150, + 74, + 128, + 19, + 231, + 40, + 20, + 255, + 128, + 0, + 250, + 92, + 150, + 74, + 128, + 19, + 231, + 40, + 20, + 2, + 128, + 0, + 165, + 92, + 52, + 74, + 128, + 19, + 197, + 92, + 150, + 74, + 128, + 19, + 159, + 92, + 150, + 74, + 128, + 19, + 159, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 310, + 10, + 1, + 124, + 'Shetland Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 35, + 20, + 71, + 128, + 9, + 241, + 35, + 40, + 240, + 128, + 35, + 255, + 40, + 20, + 255, + 128, + 0, + 184, + 35, + 40, + 240, + 128, + 35, + 255, + 40, + 20, + 2, + 128, + 0, + 165, + 40, + 20, + 255, + 128, + 9, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 35, + 40, + 172, + 128, + 0, + 229, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 311, + 10, + 1, + 124, + 'Pawnee Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 22, + 45, + 186, + 128, + 1, + 231, + 22, + 133, + 186, + 128, + 7, + 252, + 40, + 20, + 255, + 128, + 0, + 250, + 22, + 133, + 186, + 128, + 23, + 252, + 40, + 20, + 255, + 128, + 0, + 250, + 22, + 45, + 186, + 128, + 1, + 231, + 22, + 133, + 186, + 128, + 1, + 215, + 22, + 133, + 186, + 128, + 1, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 312, + 10, + 1, + 124, + 'Asbury Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 62, + 30, + 194, + 128, + 0, + 235, + 62, + 53, + 194, + 128, + 19, + 253, + 40, + 20, + 255, + 128, + 0, + 250, + 62, + 53, + 194, + 128, + 19, + 253, + 40, + 20, + 255, + 128, + 0, + 250, + 40, + 20, + 255, + 128, + 9, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 62, + 53, + 194, + 128, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 313, + 10, + 1, + 124, + 'Marlboro Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '47cadtin', + 158, + 65, + 54, + 128, + 0, + 222, + 158, + 254, + 54, + 128, + 0, + 244, + 40, + 20, + 255, + 128, + 0, + 250, + 158, + 254, + 54, + 128, + 0, + 244, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 9, + 254, + 40, + 20, + 255, + 128, + 0, + 250, + 158, + 254, + 54, + 128, + 0, + 177, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 314, + 10, + 1, + 125, + 'Carnation Pink', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 4, + 74, + 255, + 128, + 40, + 240, + 40, + 20, + 255, + 128, + 10, + 255, + 4, + 74, + 255, + 128, + 40, + 240, + 170, + 5, + 255, + 128, + 30, + 254, + 4, + 74, + 255, + 128, + 40, + 240, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 315, + 10, + 1, + 125, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 253, + 246, + 255, + 128, + 0, + 245, + 40, + 20, + 255, + 128, + 10, + 255, + 253, + 246, + 255, + 128, + 0, + 245, + 170, + 5, + 255, + 128, + 30, + 254, + 253, + 246, + 255, + 128, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 316, + 10, + 10, + 125, + 'Lemon Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 36, + 167, + 255, + 128, + 45, + 252, + 40, + 20, + 255, + 128, + 10, + 255, + 36, + 167, + 255, + 128, + 45, + 252, + 170, + 5, + 255, + 128, + 30, + 254, + 36, + 167, + 255, + 128, + 45, + 252, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 317, + 10, + 1, + 125, + 'Pistachio', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 100, + 144, + 255, + 128, + 1, + 245, + 40, + 20, + 255, + 128, + 10, + 255, + 100, + 144, + 255, + 128, + 1, + 245, + 170, + 5, + 255, + 128, + 30, + 254, + 100, + 144, + 255, + 128, + 1, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 318, + 10, + 1, + 125, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 10, + 255, + 128, + 0, + 185, + 40, + 20, + 5, + 128, + 1, + 137, + 40, + 10, + 6, + 128, + 0, + 161, + 170, + 5, + 255, + 128, + 30, + 254, + 40, + 10, + 6, + 128, + 0, + 161, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 319, + 10, + 10, + 125, + 'Light Blue Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 130, + 78, + 180, + 128, + 14, + 233, + 40, + 20, + 255, + 128, + 10, + 255, + 130, + 78, + 180, + 128, + 14, + 233, + 170, + 5, + 255, + 128, + 30, + 254, + 130, + 78, + 180, + 128, + 14, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 320, + 10, + 1, + 125, + 'Executive Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 1, + 189, + 40, + 20, + 255, + 128, + 1, + 189, + 40, + 20, + 255, + 128, + 1, + 189, + 158, + 156, + 75, + 128, + 0, + 197, + 40, + 20, + 5, + 128, + 1, + 137, + 158, + 156, + 75, + 128, + 0, + 197, + 158, + 156, + 75, + 128, + 0, + 197, + 158, + 156, + 75, + 128, + 0, + 197, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 321, + 10, + 10, + 125, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 1, + 255, + 171, + 128, + 1, + 220, + 1, + 255, + 171, + 128, + 1, + 220, + 1, + 255, + 171, + 128, + 1, + 220, + 130, + 9, + 255, + 128, + 53, + 231, + 40, + 20, + 5, + 128, + 1, + 137, + 130, + 9, + 255, + 128, + 53, + 231, + 130, + 9, + 255, + 128, + 53, + 231, + 130, + 9, + 255, + 128, + 53, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 322, + 10, + 1, + 125, + 'Saddle Rose', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 21, + 114, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 21, + 114, + 255, + 128, + 10, + 255, + 170, + 5, + 255, + 128, + 30, + 254, + 21, + 114, + 255, + 128, + 10, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 323, + 10, + 1, + 125, + 'Sky Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 142, + 125, + 255, + 128, + 44, + 225, + 40, + 20, + 255, + 128, + 10, + 255, + 142, + 125, + 255, + 128, + 44, + 225, + 170, + 5, + 255, + 128, + 30, + 254, + 142, + 125, + 255, + 128, + 44, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 324, + 10, + 1, + 125, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 246, + 242, + 74, + 128, + 0, + 197, + 246, + 242, + 74, + 128, + 0, + 197, + 246, + 242, + 74, + 128, + 0, + 197, + 40, + 10, + 255, + 128, + 0, + 185, + 40, + 20, + 5, + 128, + 1, + 137, + 40, + 10, + 6, + 128, + 0, + 161, + 40, + 10, + 6, + 128, + 0, + 161, + 40, + 10, + 6, + 128, + 0, + 161, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 325, + 10, + 1, + 125, + 'Yellow Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 40, + 20, + 255, + 128, + 1, + 189, + 40, + 20, + 255, + 128, + 10, + 255, + 40, + 20, + 255, + 128, + 10, + 255, + 36, + 129, + 255, + 128, + 24, + 237, + 40, + 20, + 5, + 128, + 1, + 137, + 36, + 129, + 255, + 128, + 24, + 237, + 170, + 5, + 255, + 128, + 30, + 254, + 36, + 129, + 255, + 128, + 24, + 237, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 326, + 10, + 1, + 125, + 'Dark Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '59cadtin', + 246, + 242, + 74, + 128, + 0, + 197, + 246, + 242, + 74, + 128, + 0, + 197, + 246, + 242, + 74, + 128, + 0, + 197, + 254, + 254, + 96, + 128, + 0, + 206, + 40, + 20, + 5, + 128, + 1, + 137, + 254, + 254, + 96, + 128, + 0, + 206, + 254, + 254, + 96, + 128, + 0, + 206, + 254, + 254, + 96, + 128, + 0, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 327, + 10, + 1, + 126, + 'Crimson', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 2, + 150, + 255, + 128, + 0, + 236, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 328, + 10, + 1, + 126, + 'Platinum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 134, + 10, + 126, + 128, + 6, + 245, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 329, + 10, + 1, + 126, + 'Trophy Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 170, + 128, + 192, + 128, + 0, + 214, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 330, + 10, + 1, + 126, + 'Ebony Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 6, + 10, + 9, + 128, + 0, + 197, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 331, + 10, + 1, + 126, + 'Topaz', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 37, + 65, + 145, + 128, + 0, + 243, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 332, + 10, + 1, + 126, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 128, + 10, + 255, + 128, + 18, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 333, + 10, + 1, + 126, + 'Powder Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 135, + 61, + 190, + 128, + 0, + 242, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 28, + 26, + 164, + 128, + 10, + 255, + 30, + 10, + 1, + 128, + 0, + 194, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 334, + 10, + 1, + 126, + 'Chestnut Bronze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 5, + 91, + 82, + 128, + 0, + 218, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 335, + 10, + 1, + 126, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 2, + 150, + 255, + 128, + 0, + 236, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 28, + 26, + 164, + 128, + 10, + 255, + 30, + 10, + 1, + 128, + 0, + 194, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 0, + 'Factory', + 'This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.' + ), + ( + 336, + 10, + 1, + 126, + 'Saffron', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 33, + 96, + 255, + 128, + 16, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 337, + 10, + 1, + 126, + 'Flamingo Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 246, + 33, + 80, + 128, + 7, + 242, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 338, + 10, + 1, + 126, + 'Meadow Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 77, + 44, + 109, + 128, + 1, + 242, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 339, + 10, + 1, + 126, + 'Palomino Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 32, + 56, + 118, + 128, + 0, + 245, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 340, + 10, + 10, + 127, + 'Orange / Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 18, + 43, + 255, + 128, + 20, + 255, + 28, + 24, + 255, + 128, + 53, + 254, + 28, + 24, + 255, + 128, + 53, + 254, + 28, + 24, + 255, + 128, + 53, + 254, + 31, + 5, + 255, + 128, + 0, + 252, + 24, + 11, + 255, + 128, + 44, + 255, + 24, + 11, + 255, + 128, + 66, + 255, + 18, + 255, + 255, + 128, + 28, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 341, + 10, + 10, + 127, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '55centin', + 1, + 70, + 255, + 128, + 10, + 255, + 43, + 9, + 255, + 128, + 0, + 245, + 41, + 28, + 20, + 92, + 11, + 255, + 41, + 28, + 20, + 92, + 11, + 202, + 15, + 5, + 1, + 128, + 0, + 150, + 1, + 255, + 255, + 128, + 10, + 255, + 1, + 255, + 255, + 128, + 10, + 255, + 1, + 255, + 255, + 128, + 10, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 342, + 10, + 10, + 127, + 'Yellow / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 38, + 61, + 255, + 128, + 43, + 223, + 28, + 24, + 255, + 128, + 53, + 254, + 28, + 24, + 255, + 128, + 53, + 254, + 28, + 24, + 255, + 128, + 53, + 254, + 31, + 5, + 255, + 128, + 0, + 252, + 24, + 11, + 255, + 128, + 44, + 255, + 24, + 11, + 255, + 128, + 66, + 255, + 33, + 254, + 255, + 128, + 43, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 343, + 10, + 1, + 127, + 'Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 1, + 112, + 255, + 128, + 3, + 240, + 1, + 255, + 255, + 128, + 3, + 229, + 41, + 28, + 20, + 92, + 11, + 255, + 41, + 28, + 20, + 92, + 11, + 202, + 15, + 5, + 1, + 128, + 0, + 150, + 1, + 255, + 255, + 128, + 10, + 255, + 15, + 7, + 3, + 128, + 0, + 194, + 15, + 7, + 3, + 128, + 0, + 169, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 344, + 10, + 1, + 127, + 'Light Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '55centin', + 67, + 80, + 129, + 128, + 0, + 253, + 28, + 24, + 255, + 128, + 9, + 254, + 41, + 28, + 20, + 92, + 11, + 255, + 41, + 28, + 20, + 92, + 11, + 202, + 15, + 5, + 1, + 128, + 0, + 150, + 67, + 107, + 129, + 128, + 0, + 246, + 67, + 107, + 129, + 128, + 0, + 246, + 67, + 107, + 129, + 128, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 345, + 10, + 1, + 127, + 'Stone Gray / Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 45, + 15, + 131, + 128, + 0, + 239, + 41, + 28, + 20, + 92, + 11, + 231, + 41, + 28, + 20, + 92, + 11, + 255, + 41, + 28, + 20, + 92, + 11, + 202, + 15, + 5, + 1, + 128, + 0, + 150, + 45, + 15, + 131, + 128, + 0, + 250, + 45, + 15, + 131, + 128, + 0, + 223, + 45, + 15, + 131, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 346, + 10, + 1, + 127, + 'Pearl White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '55centin', + 128, + 7, + 255, + 128, + 19, + 255, + 28, + 36, + 255, + 128, + 18, + 254, + 1, + 255, + 255, + 128, + 3, + 244, + 1, + 255, + 255, + 128, + 3, + 229, + 15, + 5, + 1, + 128, + 0, + 150, + 128, + 7, + 255, + 128, + 39, + 255, + 128, + 7, + 255, + 128, + 39, + 255, + 128, + 1, + 255, + 128, + 52, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 347, + 10, + 1, + 127, + 'Purple / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 138, + 28, + 66, + 128, + 30, + 253, + 41, + 28, + 20, + 92, + 11, + 231, + 41, + 28, + 20, + 92, + 11, + 255, + 41, + 28, + 20, + 92, + 11, + 202, + 31, + 5, + 255, + 128, + 0, + 252, + 24, + 11, + 255, + 128, + 44, + 255, + 205, + 255, + 66, + 128, + 0, + 225, + 205, + 255, + 66, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 348, + 10, + 1, + 127, + 'Plum Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '55centin', + 128, + 0, + 255, + 128, + 7, + 255, + 20, + 7, + 6, + 128, + 0, + 211, + 20, + 7, + 6, + 128, + 0, + 218, + 41, + 28, + 20, + 92, + 11, + 202, + 15, + 5, + 1, + 128, + 0, + 150, + 248, + 41, + 88, + 128, + 0, + 228, + 248, + 41, + 88, + 128, + 0, + 228, + 248, + 41, + 88, + 128, + 0, + 228, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 349, + 10, + 1, + 127, + 'Dark Teal / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '55centin', + 128, + 41, + 53, + 128, + 0, + 254, + 43, + 9, + 255, + 128, + 0, + 245, + 43, + 9, + 255, + 128, + 0, + 245, + 41, + 28, + 20, + 92, + 11, + 202, + 31, + 5, + 255, + 128, + 0, + 252, + 128, + 7, + 255, + 128, + 39, + 255, + 128, + 7, + 255, + 128, + 39, + 255, + 128, + 79, + 53, + 128, + 0, + 224, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 350, + 10, + 1, + 127, + 'Sapphire Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '55centin', + 151, + 95, + 62, + 128, + 0, + 246, + 43, + 9, + 255, + 128, + 0, + 245, + 151, + 150, + 62, + 128, + 0, + 248, + 151, + 150, + 62, + 128, + 0, + 212, + 15, + 5, + 1, + 128, + 0, + 150, + 151, + 255, + 62, + 128, + 0, + 227, + 151, + 255, + 62, + 128, + 0, + 227, + 151, + 255, + 62, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 351, + 10, + 1, + 128, + 'Teal Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 40, + 20, + 35, + 128, + 0, + 188, + 40, + 20, + 255, + 128, + 0, + 180, + 40, + 20, + 255, + 128, + 0, + 211, + 30, + 32, + 255, + 128, + 0, + 175, + 40, + 20, + 19, + 128, + 0, + 197, + 120, + 255, + 65, + 128, + 0, + 227, + 120, + 255, + 65, + 128, + 0, + 227, + 120, + 255, + 65, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 352, + 10, + 1, + 128, + 'Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 40, + 20, + 35, + 128, + 0, + 188, + 40, + 20, + 255, + 128, + 0, + 180, + 40, + 20, + 255, + 128, + 0, + 211, + 30, + 32, + 255, + 128, + 0, + 175, + 40, + 20, + 19, + 128, + 0, + 197, + 139, + 190, + 158, + 128, + 0, + 242, + 139, + 190, + 158, + 128, + 0, + 242, + 139, + 190, + 158, + 128, + 0, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 353, + 10, + 1, + 128, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 40, + 20, + 70, + 128, + 0, + 216, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 20, + 255, + 128, + 0, + 239, + 30, + 65, + 255, + 128, + 0, + 190, + 40, + 20, + 19, + 128, + 0, + 197, + 250, + 255, + 56, + 128, + 0, + 227, + 250, + 255, + 56, + 128, + 0, + 227, + 250, + 255, + 56, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 354, + 10, + 1, + 128, + 'Midnight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 40, + 20, + 35, + 128, + 0, + 188, + 40, + 20, + 255, + 128, + 0, + 180, + 40, + 20, + 255, + 128, + 0, + 211, + 30, + 32, + 255, + 128, + 0, + 175, + 40, + 20, + 19, + 128, + 0, + 197, + 148, + 255, + 58, + 128, + 0, + 215, + 148, + 255, + 58, + 128, + 0, + 215, + 148, + 255, + 58, + 128, + 0, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 355, + 10, + 1, + 128, + 'Cherry Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 30, + 65, + 108, + 128, + 0, + 208, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 20, + 255, + 128, + 0, + 239, + 30, + 65, + 255, + 128, + 0, + 190, + 40, + 20, + 19, + 128, + 0, + 197, + 3, + 255, + 121, + 128, + 0, + 252, + 3, + 255, + 121, + 128, + 0, + 252, + 3, + 255, + 121, + 128, + 0, + 252, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 356, + 10, + 1, + 128, + 'Antique Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 31, + 165, + 180, + 128, + 0, + 246, + 31, + 165, + 180, + 128, + 0, + 246, + 31, + 165, + 180, + 128, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 357, + 10, + 1, + 128, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 30, + 65, + 108, + 128, + 0, + 208, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 20, + 255, + 128, + 0, + 239, + 30, + 65, + 255, + 128, + 0, + 190, + 40, + 20, + 19, + 128, + 0, + 197, + 31, + 82, + 79, + 128, + 0, + 246, + 31, + 82, + 79, + 128, + 0, + 246, + 31, + 82, + 79, + 128, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 358, + 10, + 1, + 128, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 20, + 6, + 1, + 128, + 0, + 199, + 20, + 6, + 1, + 128, + 0, + 199, + 20, + 6, + 1, + 128, + 0, + 186, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 359, + 10, + 1, + 128, + 'Windward Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 30, + 65, + 108, + 128, + 0, + 208, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 20, + 255, + 128, + 0, + 239, + 30, + 65, + 255, + 128, + 0, + 190, + 40, + 20, + 19, + 128, + 0, + 197, + 138, + 108, + 105, + 128, + 0, + 236, + 138, + 108, + 105, + 128, + 0, + 236, + 138, + 108, + 105, + 128, + 0, + 236, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 360, + 10, + 1, + 128, + 'Goldenrod Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 30, + 65, + 108, + 128, + 0, + 208, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 20, + 255, + 128, + 0, + 239, + 30, + 65, + 255, + 128, + 0, + 190, + 35, + 10, + 255, + 128, + 26, + 255, + 35, + 255, + 255, + 128, + 52, + 255, + 35, + 255, + 255, + 128, + 52, + 255, + 35, + 255, + 255, + 128, + 52, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 361, + 10, + 1, + 128, + 'Midnight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 104, + 248, + 47, + 128, + 0, + 214, + 104, + 248, + 47, + 128, + 0, + 214, + 104, + 248, + 47, + 128, + 0, + 214, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 362, + 10, + 1, + 128, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 128, + 5, + 255, + 128, + 50, + 255, + 128, + 5, + 255, + 128, + 50, + 255, + 128, + 5, + 255, + 128, + 50, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 363, + 10, + 1, + 128, + 'Mayfair Maize', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 40, + 137, + 255, + 128, + 32, + 255, + 40, + 137, + 255, + 128, + 32, + 255, + 40, + 137, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 364, + 10, + 1, + 128, + 'Limelight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 128, + 0, + 32, + 128, + 0, + 199, + 128, + 0, + 5, + 128, + 0, + 180, + 128, + 0, + 23, + 128, + 0, + 211, + 128, + 0, + 16, + 128, + 0, + 183, + 40, + 20, + 19, + 128, + 0, + 197, + 54, + 104, + 120, + 128, + 0, + 235, + 54, + 104, + 120, + 128, + 0, + 235, + 54, + 104, + 120, + 128, + 0, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 365, + 10, + 1, + 128, + 'Palladium Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66gtotin', + 30, + 19, + 255, + 128, + 0, + 201, + 40, + 20, + 255, + 128, + 0, + 239, + 40, + 13, + 255, + 128, + 0, + 239, + 30, + 35, + 255, + 128, + 0, + 190, + 40, + 20, + 19, + 128, + 0, + 197, + 128, + 24, + 96, + 128, + 1, + 244, + 128, + 24, + 96, + 128, + 1, + 244, + 128, + 24, + 96, + 128, + 1, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 366, + 10, + 1, + 129, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 17, + 122, + 255, + 128, + 15, + 253, + 24, + 255, + 255, + 128, + 15, + 253, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 28, + 255, + 255, + 128, + 15, + 253, + 37, + 255, + 255, + 128, + 17, + 255, + 15, + 255, + 255, + 128, + 23, + 253, + 0, + 'Factory', + 'As per 69 GTO CSV, but this color does not appear in the reference material for the car.' + ), + ( + 367, + 10, + 1, + 129, + 'Warwick Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 142, + 129, + 167, + 128, + 6, + 229, + 142, + 142, + 167, + 128, + 6, + 208, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 14, + 128, + 0, + 215, + 30, + 10, + 19, + 128, + 0, + 175, + 142, + 88, + 167, + 128, + 6, + 212, + 142, + 5, + 167, + 128, + 6, + 240, + 142, + 255, + 167, + 128, + 6, + 201, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 368, + 10, + 1, + 129, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 249, + 79, + 61, + 128, + 0, + 229, + 11, + 255, + 255, + 128, + 1, + 233, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 74, + 142, + 128, + 0, + 241, + 23, + 255, + 255, + 128, + 17, + 255, + 37, + 255, + 255, + 128, + 17, + 255, + 249, + 255, + 61, + 128, + 0, + 198, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 369, + 10, + 1, + 129, + 'Liberty Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 144, + 69, + 58, + 128, + 0, + 208, + 142, + 129, + 167, + 128, + 6, + 211, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 142, + 101, + 167, + 128, + 6, + 236, + 142, + 5, + 167, + 128, + 6, + 240, + 144, + 255, + 58, + 128, + 0, + 180, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 370, + 10, + 1, + 129, + 'Matador Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 2, + 69, + 144, + 128, + 0, + 227, + 15, + 255, + 255, + 128, + 17, + 255, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 23, + 255, + 255, + 128, + 17, + 255, + 37, + 255, + 255, + 128, + 17, + 255, + 2, + 255, + 144, + 128, + 0, + 227, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 371, + 10, + 1, + 129, + 'Antique Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 31, + 64, + 182, + 128, + 0, + 239, + 26, + 169, + 182, + 128, + 0, + 232, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 26, + 169, + 182, + 128, + 0, + 232, + 26, + 169, + 182, + 128, + 0, + 232, + 26, + 169, + 182, + 128, + 0, + 232, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 372, + 10, + 1, + 129, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 34, + 45, + 73, + 128, + 0, + 231, + 34, + 91, + 105, + 128, + 0, + 212, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 30, + 36, + 145, + 128, + 0, + 224, + 30, + 36, + 145, + 128, + 0, + 224, + 30, + 36, + 145, + 128, + 0, + 224, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 373, + 10, + 1, + 129, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 30, + 10, + 5, + 154, + 0, + 192, + 2, + 255, + 255, + 128, + 0, + 195, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 1, + 255, + 255, + 128, + 0, + 237, + 1, + 255, + 255, + 128, + 26, + 255, + 30, + 10, + 5, + 154, + 0, + 155, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 374, + 10, + 1, + 129, + 'Windward Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 147, + 41, + 74, + 128, + 0, + 224, + 134, + 186, + 74, + 128, + 0, + 198, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 134, + 186, + 74, + 128, + 0, + 198, + 134, + 186, + 74, + 128, + 0, + 198, + 134, + 186, + 74, + 128, + 0, + 198, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 375, + 10, + 1, + 129, + 'Goldenrod Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 37, + 62, + 255, + 128, + 18, + 255, + 28, + 255, + 255, + 128, + 26, + 225, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 24, + 255, + 255, + 128, + 26, + 255, + 18, + 255, + 255, + 128, + 26, + 255, + 31, + 255, + 255, + 128, + 17, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 376, + 10, + 1, + 129, + 'Verdoro Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 103, + 41, + 28, + 154, + 0, + 206, + 60, + 255, + 255, + 128, + 1, + 214, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 47, + 255, + 255, + 128, + 1, + 244, + 37, + 255, + 255, + 128, + 17, + 255, + 69, + 125, + 28, + 154, + 0, + 176, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 377, + 10, + 1, + 129, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 128, + 5, + 255, + 128, + 14, + 255, + 2, + 73, + 255, + 128, + 19, + 225, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 2, + 146, + 255, + 128, + 19, + 255, + 2, + 255, + 255, + 128, + 19, + 255, + 47, + 11, + 255, + 128, + 27, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 378, + 10, + 1, + 129, + 'Crystal Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 121, + 44, + 71, + 128, + 0, + 218, + 121, + 255, + 71, + 128, + 0, + 205, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 14, + 128, + 0, + 215, + 30, + 10, + 19, + 128, + 0, + 175, + 121, + 255, + 71, + 128, + 0, + 205, + 121, + 255, + 71, + 128, + 0, + 205, + 121, + 255, + 71, + 128, + 0, + 205, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 379, + 10, + 1, + 129, + 'Limelight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 50, + 45, + 95, + 128, + 0, + 229, + 50, + 108, + 95, + 128, + 0, + 211, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 50, + 108, + 95, + 128, + 0, + 211, + 50, + 108, + 95, + 128, + 0, + 211, + 50, + 108, + 95, + 128, + 0, + 211, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 380, + 10, + 1, + 129, + 'Carousel Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 2, + 77, + 255, + 128, + 0, + 245, + 13, + 255, + 255, + 128, + 9, + 255, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 22, + 255, + 255, + 128, + 9, + 255, + 32, + 255, + 255, + 128, + 9, + 255, + 2, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 381, + 10, + 1, + 129, + 'Paladium Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtotin', + 128, + 15, + 94, + 128, + 0, + 237, + 32, + 73, + 255, + 128, + 0, + 237, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 32, + 142, + 255, + 128, + 0, + 240, + 32, + 255, + 255, + 128, + 9, + 255, + 128, + 15, + 94, + 128, + 0, + 228, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 382, + 10, + 1, + 130, + 'Buccaneer Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 6, + 77, + 255, + 128, + 0, + 242, + 26, + 255, + 203, + 128, + 0, + 255, + 18, + 255, + 203, + 128, + 27, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 14, + 255, + 203, + 128, + 27, + 255, + 10, + 255, + 203, + 128, + 9, + 255, + 6, + 255, + 255, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 383, + 10, + 1, + 130, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 128, + 0, + 255, + 128, + 1, + 254, + 159, + 255, + 121, + 128, + 1, + 250, + 154, + 189, + 161, + 128, + 9, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 154, + 163, + 184, + 128, + 23, + 255, + 154, + 100, + 184, + 128, + 32, + 255, + 128, + 0, + 255, + 128, + 14, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 384, + 10, + 1, + 130, + 'Brewster Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 107, + 39, + 28, + 128, + 0, + 211, + 109, + 255, + 80, + 128, + 0, + 244, + 109, + 255, + 80, + 128, + 0, + 227, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 109, + 255, + 80, + 128, + 0, + 212, + 109, + 255, + 80, + 128, + 0, + 193, + 107, + 255, + 28, + 138, + 0, + 168, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 385, + 10, + 1, + 130, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 128, + 0, + 1, + 82, + 0, + 206, + 33, + 236, + 203, + 128, + 0, + 253, + 28, + 236, + 203, + 128, + 0, + 241, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 23, + 236, + 203, + 128, + 0, + 245, + 23, + 236, + 203, + 128, + 0, + 206, + 128, + 0, + 1, + 82, + 0, + 156, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 386, + 10, + 1, + 130, + 'Windward Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 135, + 78, + 77, + 158, + 0, + 218, + 135, + 40, + 77, + 158, + 0, + 222, + 135, + 40, + 77, + 158, + 0, + 231, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 135, + 27, + 77, + 158, + 0, + 241, + 135, + 125, + 77, + 158, + 0, + 223, + 135, + 250, + 77, + 158, + 0, + 182, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 387, + 10, + 1, + 130, + 'Palladium Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 128, + 0, + 195, + 148, + 0, + 232, + 18, + 255, + 203, + 128, + 0, + 255, + 10, + 255, + 203, + 128, + 0, + 241, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 2, + 255, + 203, + 128, + 1, + 220, + 2, + 173, + 203, + 128, + 1, + 244, + 128, + 13, + 122, + 148, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 388, + 10, + 1, + 130, + 'Goldenrod Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 31, + 146, + 255, + 128, + 5, + 255, + 31, + 50, + 255, + 128, + 0, + 240, + 31, + 50, + 255, + 128, + 0, + 218, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 31, + 133, + 255, + 128, + 0, + 218, + 31, + 239, + 255, + 128, + 0, + 231, + 31, + 255, + 255, + 128, + 11, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 389, + 10, + 1, + 130, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 250, + 79, + 45, + 128, + 0, + 222, + 33, + 236, + 203, + 128, + 0, + 253, + 28, + 236, + 203, + 128, + 0, + 241, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 23, + 236, + 203, + 128, + 0, + 245, + 23, + 236, + 203, + 128, + 0, + 206, + 250, + 255, + 45, + 128, + 0, + 172, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 390, + 10, + 1, + 130, + 'Midnight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73tratin', + 150, + 53, + 54, + 152, + 0, + 210, + 33, + 236, + 203, + 128, + 0, + 253, + 28, + 236, + 203, + 128, + 0, + 241, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 23, + 236, + 203, + 128, + 0, + 245, + 23, + 236, + 203, + 128, + 0, + 206, + 150, + 255, + 54, + 152, + 0, + 185, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 391, + 10, + 1, + 131, + 'Matador Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 0, + 41, + 255, + 128, + 0, + 255, + 128, + 0, + 156, + 128, + 0, + 218, + 0, + 120, + 255, + 128, + 18, + 255, + 26, + 56, + 99, + 128, + 0, + 250, + 26, + 56, + 99, + 128, + 0, + 250, + 126, + 7, + 255, + 128, + 31, + 255, + 0, + 255, + 255, + 128, + 0, + 255, + 0, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 392, + 10, + 1, + 131, + 'Black Mink', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 20, + 7, + 69, + 128, + 0, + 214, + 128, + 0, + 156, + 128, + 0, + 218, + 20, + 7, + 16, + 128, + 0, + 152, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 20, + 7, + 16, + 128, + 0, + 152, + 0, + 255, + 255, + 128, + 0, + 255, + 20, + 7, + 16, + 128, + 0, + 152, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 393, + 10, + 1, + 131, + 'Beale St. Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 156, + 48, + 134, + 128, + 0, + 233, + 128, + 0, + 156, + 128, + 0, + 218, + 151, + 176, + 134, + 128, + 0, + 210, + 26, + 32, + 206, + 128, + 22, + 255, + 26, + 32, + 206, + 128, + 22, + 255, + 151, + 176, + 134, + 128, + 0, + 210, + 151, + 5, + 134, + 128, + 0, + 229, + 151, + 176, + 134, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 394, + 10, + 1, + 131, + 'Hunter Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 58, + 31, + 75, + 128, + 0, + 224, + 128, + 0, + 156, + 128, + 0, + 218, + 86, + 133, + 75, + 128, + 0, + 202, + 26, + 56, + 99, + 128, + 0, + 250, + 26, + 56, + 99, + 128, + 0, + 250, + 86, + 133, + 75, + 128, + 0, + 202, + 86, + 133, + 75, + 128, + 0, + 202, + 86, + 133, + 75, + 128, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 395, + 10, + 1, + 131, + 'Pompei Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 34, + 150, + 255, + 128, + 26, + 255, + 128, + 0, + 156, + 128, + 0, + 218, + 34, + 255, + 255, + 108, + 26, + 255, + 26, + 56, + 99, + 128, + 0, + 250, + 26, + 56, + 99, + 128, + 0, + 250, + 34, + 255, + 255, + 108, + 26, + 255, + 7, + 7, + 14, + 128, + 0, + 171, + 34, + 255, + 255, + 108, + 26, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 396, + 10, + 1, + 131, + 'Frost White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 126, + 7, + 255, + 128, + 1, + 253, + 128, + 0, + 156, + 128, + 0, + 218, + 126, + 7, + 255, + 103, + 31, + 255, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 126, + 7, + 255, + 103, + 31, + 255, + 7, + 7, + 14, + 128, + 0, + 171, + 126, + 7, + 255, + 103, + 31, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 397, + 10, + 1, + 131, + 'Butternut Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 23, + 50, + 150, + 128, + 0, + 244, + 128, + 0, + 156, + 128, + 0, + 218, + 23, + 175, + 150, + 128, + 0, + 222, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 23, + 175, + 150, + 128, + 0, + 222, + 7, + 7, + 14, + 128, + 0, + 171, + 23, + 175, + 150, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 398, + 10, + 1, + 131, + 'Alamosa Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 120, + 22, + 74, + 128, + 0, + 235, + 128, + 0, + 156, + 128, + 0, + 218, + 120, + 90, + 74, + 128, + 1, + 248, + 26, + 32, + 206, + 128, + 22, + 255, + 26, + 32, + 206, + 128, + 22, + 255, + 126, + 7, + 255, + 128, + 31, + 255, + 120, + 126, + 74, + 128, + 0, + 214, + 120, + 126, + 74, + 128, + 0, + 214, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 399, + 10, + 1, + 131, + 'Bittersweet Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 18, + 126, + 255, + 128, + 27, + 255, + 128, + 0, + 156, + 128, + 0, + 218, + 18, + 231, + 255, + 128, + 1, + 207, + 128, + 0, + 2, + 128, + 0, + 239, + 128, + 0, + 2, + 128, + 0, + 239, + 7, + 7, + 14, + 128, + 0, + 171, + 18, + 231, + 255, + 128, + 19, + 246, + 18, + 231, + 255, + 128, + 19, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 400, + 10, + 1, + 131, + 'Castillian Grey', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 15, + 10, + 109, + 128, + 0, + 240, + 128, + 0, + 156, + 128, + 0, + 218, + 15, + 10, + 109, + 128, + 0, + 248, + 128, + 0, + 2, + 128, + 0, + 239, + 128, + 0, + 2, + 128, + 0, + 239, + 126, + 7, + 255, + 128, + 31, + 255, + 15, + 10, + 109, + 128, + 0, + 229, + 15, + 10, + 109, + 128, + 0, + 229, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 401, + 10, + 1, + 131, + 'Willow Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 75, + 49, + 163, + 128, + 1, + 253, + 128, + 0, + 156, + 128, + 0, + 218, + 75, + 100, + 163, + 128, + 1, + 242, + 26, + 56, + 99, + 128, + 0, + 250, + 26, + 56, + 99, + 128, + 0, + 250, + 75, + 100, + 163, + 128, + 1, + 242, + 75, + 100, + 163, + 128, + 1, + 242, + 75, + 100, + 163, + 128, + 1, + 242, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 402, + 10, + 1, + 131, + 'Regatta Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 170, + 77, + 82, + 128, + 10, + 228, + 128, + 0, + 156, + 128, + 0, + 218, + 146, + 255, + 82, + 128, + 10, + 199, + 128, + 0, + 2, + 128, + 0, + 239, + 128, + 0, + 2, + 128, + 0, + 239, + 146, + 255, + 82, + 128, + 10, + 199, + 146, + 255, + 82, + 128, + 10, + 199, + 146, + 255, + 82, + 128, + 10, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 403, + 10, + 1, + 131, + 'Big Bad Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 84, + 70, + 255, + 128, + 0, + 249, + 66, + 255, + 255, + 128, + 0, + 253, + 66, + 255, + 255, + 128, + 0, + 253, + 26, + 56, + 99, + 128, + 0, + 255, + 26, + 56, + 99, + 128, + 0, + 250, + 66, + 255, + 255, + 128, + 0, + 253, + 7, + 7, + 14, + 128, + 0, + 171, + 66, + 255, + 255, + 128, + 0, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 404, + 10, + 1, + 131, + 'Big Bad Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 16, + 113, + 255, + 128, + 23, + 255, + 16, + 254, + 255, + 113, + 23, + 255, + 16, + 254, + 255, + 113, + 23, + 255, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 16, + 254, + 255, + 113, + 23, + 255, + 7, + 7, + 14, + 128, + 0, + 171, + 16, + 254, + 255, + 113, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 405, + 10, + 1, + 131, + 'Big Bad Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 170, + 101, + 205, + 128, + 0, + 255, + 158, + 255, + 205, + 128, + 0, + 245, + 158, + 255, + 205, + 128, + 0, + 245, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 158, + 255, + 205, + 128, + 0, + 245, + 7, + 7, + 14, + 128, + 0, + 171, + 158, + 255, + 205, + 128, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 406, + 10, + 1, + 132, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 18, + 255, + 255, + 128, + 37, + 248, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 22, + 105, + 255, + 128, + 18, + 248, + 18, + 255, + 255, + 128, + 37, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 407, + 10, + 1, + 132, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 69, + 99, + 125, + 128, + 0, + 224, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 69, + 37, + 125, + 128, + 0, + 240, + 69, + 99, + 125, + 128, + 0, + 224, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 408, + 10, + 1, + 132, + 'Lime Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 88, + 244, + 255, + 128, + 1, + 255, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 88, + 77, + 255, + 128, + 1, + 255, + 88, + 244, + 255, + 128, + 1, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 409, + 10, + 1, + 132, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 31, + 253, + 255, + 97, + 49, + 255, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 39, + 95, + 255, + 128, + 22, + 255, + 31, + 253, + 255, + 97, + 49, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 410, + 10, + 1, + 132, + 'Daytona Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 152, + 233, + 147, + 128, + 0, + 246, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 16, + 253, + 170, + 83, + 147, + 128, + 0, + 246, + 152, + 233, + 147, + 128, + 0, + 246, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 411, + 10, + 1, + 132, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 1, + 255, + 255, + 128, + 0, + 255, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 1, + 95, + 255, + 128, + 0, + 255, + 1, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 412, + 10, + 1, + 132, + 'Green Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 117, + 62, + 77, + 128, + 0, + 215, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 117, + 62, + 77, + 128, + 0, + 215, + 117, + 31, + 77, + 128, + 0, + 233, + 117, + 62, + 77, + 128, + 0, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 413, + 10, + 1, + 132, + 'Fire Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 27, + 194, + 211, + 128, + 13, + 241, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 27, + 194, + 211, + 128, + 13, + 241, + 27, + 54, + 211, + 128, + 13, + 241, + 27, + 194, + 211, + 128, + 13, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 414, + 10, + 1, + 132, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 30, + 5, + 19, + 128, + 0, + 185, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 1, + 255, + 116, + 128, + 0, + 233, + 30, + 5, + 19, + 128, + 0, + 218, + 30, + 5, + 19, + 128, + 0, + 165, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 415, + 10, + 1, + 132, + 'Purple', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 225, + 255, + 62, + 128, + 0, + 215, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 225, + 60, + 62, + 128, + 0, + 231, + 225, + 255, + 62, + 128, + 0, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 416, + 10, + 1, + 132, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 35, + 13, + 100, + 128, + 0, + 229, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 22, + 16, + 1, + 128, + 2, + 163, + 35, + 13, + 100, + 128, + 0, + 229, + 35, + 13, + 100, + 128, + 0, + 229, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 417, + 10, + 1, + 132, + 'Copper', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 15, + 169, + 52, + 128, + 16, + 208, + 23, + 1, + 1, + 128, + 20, + 141, + 26, + 10, + 13, + 128, + 5, + 255, + 30, + 7, + 22, + 128, + 0, + 245, + 40, + 20, + 19, + 128, + 20, + 156, + 15, + 169, + 52, + 128, + 16, + 208, + 15, + 52, + 52, + 128, + 16, + 208, + 15, + 169, + 52, + 128, + 16, + 208, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 418, + 10, + 1, + 132, + 'White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69chatin', + 1, + 253, + 255, + 128, + 0, + 178, + 1, + 253, + 255, + 128, + 0, + 178, + 1, + 253, + 255, + 128, + 0, + 255, + 1, + 253, + 255, + 128, + 0, + 255, + 40, + 20, + 19, + 128, + 20, + 156, + 0, + 255, + 255, + 128, + 13, + 246, + 44, + 9, + 255, + 128, + 2, + 249, + 44, + 9, + 255, + 128, + 39, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 419, + 10, + 1, + 133, + 'Lime Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 66, + 78, + 48, + 128, + 0, + 231, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 66, + 143, + 48, + 128, + 0, + 211, + 1, + 0, + 2, + 128, + 0, + 182, + 66, + 143, + 48, + 128, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 420, + 10, + 1, + 133, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 147, + 79, + 101, + 128, + 0, + 239, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 147, + 255, + 101, + 128, + 0, + 223, + 1, + 0, + 2, + 128, + 0, + 182, + 147, + 255, + 101, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 421, + 10, + 1, + 133, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 5, + 124, + 165, + 128, + 0, + 245, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 5, + 255, + 165, + 128, + 0, + 225, + 1, + 0, + 2, + 128, + 0, + 182, + 5, + 255, + 165, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 422, + 10, + 1, + 133, + 'Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 189, + 88, + 52, + 128, + 0, + 239, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 184, + 255, + 52, + 128, + 0, + 219, + 1, + 0, + 2, + 128, + 0, + 182, + 184, + 255, + 52, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 423, + 10, + 1, + 133, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 134, + 73, + 62, + 128, + 0, + 227, + 134, + 255, + 62, + 128, + 0, + 242, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 134, + 2, + 219, + 128, + 23, + 255, + 134, + 255, + 62, + 128, + 0, + 207, + 134, + 255, + 62, + 128, + 0, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 424, + 10, + 1, + 133, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 20, + 137, + 181, + 82, + 36, + 253, + 20, + 255, + 231, + 52, + 49, + 253, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 20, + 255, + 231, + 52, + 49, + 253, + 1, + 0, + 2, + 128, + 0, + 182, + 20, + 255, + 231, + 52, + 49, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 425, + 10, + 1, + 133, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 66, + 47, + 33, + 128, + 0, + 236, + 66, + 143, + 33, + 128, + 0, + 192, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 48, + 80, + 164, + 128, + 1, + 239, + 66, + 143, + 33, + 128, + 0, + 192, + 66, + 143, + 33, + 128, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 426, + 10, + 1, + 133, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 134, + 43, + 109, + 128, + 0, + 254, + 134, + 163, + 109, + 94, + 13, + 244, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 134, + 2, + 219, + 128, + 23, + 255, + 134, + 163, + 109, + 94, + 13, + 244, + 134, + 163, + 109, + 94, + 13, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 427, + 10, + 1, + 133, + 'Limelight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 83, + 108, + 202, + 128, + 0, + 250, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 73, + 205, + 202, + 128, + 6, + 239, + 1, + 0, + 2, + 128, + 0, + 182, + 73, + 205, + 202, + 128, + 6, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 428, + 10, + 1, + 133, + 'Platinum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 26, + 28, + 135, + 128, + 0, + 249, + 60, + 56, + 135, + 128, + 0, + 233, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 1, + 0, + 2, + 128, + 0, + 182, + 60, + 56, + 135, + 128, + 0, + 233, + 60, + 56, + 135, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 429, + 10, + 1, + 133, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 9, + 7, + 1, + 128, + 0, + 232, + 0, + 255, + 248, + 128, + 24, + 253, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 0, + 255, + 248, + 128, + 24, + 253, + 9, + 7, + 1, + 128, + 0, + 188, + 9, + 7, + 1, + 128, + 0, + 188, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 430, + 10, + 1, + 133, + 'Sahara Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 27, + 88, + 96, + 128, + 0, + 249, + 27, + 161, + 96, + 128, + 0, + 254, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 1, + 0, + 2, + 128, + 0, + 182, + 27, + 161, + 96, + 128, + 0, + 231, + 27, + 161, + 96, + 128, + 0, + 231, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 431, + 10, + 1, + 133, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 13, + 83, + 122, + 128, + 0, + 237, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 13, + 176, + 122, + 128, + 0, + 229, + 1, + 0, + 2, + 128, + 0, + 182, + 13, + 176, + 122, + 128, + 0, + 229, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 432, + 10, + 1, + 133, + 'Walnut', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 20, + 66, + 58, + 128, + 0, + 236, + 20, + 137, + 58, + 128, + 0, + 239, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 48, + 80, + 164, + 128, + 1, + 239, + 20, + 137, + 58, + 128, + 0, + 211, + 20, + 137, + 58, + 128, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 433, + 10, + 1, + 133, + 'Rally Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 0, + 139, + 248, + 128, + 24, + 253, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 0, + 255, + 248, + 97, + 13, + 253, + 1, + 0, + 2, + 128, + 0, + 182, + 0, + 255, + 248, + 97, + 13, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 434, + 10, + 1, + 133, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 30, + 47, + 255, + 87, + 45, + 255, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 30, + 47, + 255, + 87, + 45, + 255, + 1, + 0, + 2, + 128, + 0, + 182, + 30, + 47, + 255, + 87, + 45, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 435, + 10, + 1, + 133, + 'Sunfire Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 38, + 141, + 255, + 128, + 9, + 255, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 32, + 219, + 255, + 88, + 44, + 255, + 1, + 0, + 2, + 128, + 0, + 182, + 32, + 219, + 255, + 88, + 44, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 436, + 10, + 1, + 133, + 'Yellow Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69runtin', + 32, + 87, + 210, + 128, + 35, + 227, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 32, + 189, + 210, + 128, + 35, + 249, + 1, + 0, + 2, + 128, + 0, + 182, + 32, + 189, + 210, + 128, + 35, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 437, + 10, + 1, + 134, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 9, + 255, + 255, + 92, + 44, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 438, + 10, + 1, + 134, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 47, + 163, + 165, + 128, + 1, + 250, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 439, + 10, + 1, + 134, + 'Jamaica Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 148, + 203, + 101, + 141, + 0, + 229, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 440, + 10, + 1, + 134, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 138, + 163, + 73, + 128, + 0, + 235, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 441, + 10, + 1, + 134, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 156, + 208, + 189, + 128, + 0, + 253, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 442, + 10, + 1, + 134, + 'Citron Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 49, + 97, + 139, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 443, + 10, + 1, + 134, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 142, + 126, + 112, + 128, + 0, + 240, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 444, + 10, + 1, + 134, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 96, + 176, + 48, + 148, + 0, + 203, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 445, + 10, + 1, + 134, + 'Sassy Grass Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 90, + 235, + 255, + 128, + 16, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 446, + 10, + 1, + 134, + 'Tor-Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 255, + 133, + 15, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 447, + 10, + 1, + 134, + 'Burnt Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 13, + 210, + 146, + 128, + 0, + 248, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 448, + 10, + 1, + 134, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 27, + 45, + 120, + 101, + 16, + 254, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 449, + 10, + 1, + 134, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 82, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 450, + 10, + 1, + 134, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 19, + 163, + 75, + 128, + 0, + 220, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 451, + 10, + 1, + 134, + 'In-Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 222, + 255, + 74, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 452, + 10, + 1, + 134, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 1, + 215, + 48, + 128, + 7, + 255, + 1, + 215, + 48, + 128, + 0, + 245, + 1, + 215, + 48, + 128, + 0, + 233, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 128, + 3, + 255, + 97, + 45, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 453, + 10, + 1, + 134, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 33, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 454, + 10, + 1, + 134, + 'Citron Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 28, + 172, + 255, + 116, + 27, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 455, + 10, + 1, + 134, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70vcutin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 7, + 7, + 0, + 128, + 0, + 178, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 456, + 10, + 1, + 135, + 'Tahitian Walnut', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 19, + 62, + 84, + 128, + 0, + 239, + 19, + 177, + 47, + 143, + 0, + 194, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 19, + 177, + 47, + 143, + 0, + 194, + 19, + 177, + 47, + 143, + 0, + 194, + 19, + 177, + 47, + 143, + 0, + 194, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 457, + 10, + 1, + 135, + 'Amber Sherwood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 58, + 35, + 77, + 128, + 0, + 233, + 122, + 5, + 184, + 128, + 0, + 246, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 58, + 147, + 77, + 151, + 0, + 205, + 20, + 7, + 6, + 128, + 0, + 165, + 58, + 147, + 77, + 151, + 0, + 205, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 458, + 10, + 1, + 135, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 50, + 41, + 135, + 128, + 0, + 240, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 45, + 147, + 135, + 135, + 0, + 232, + 20, + 7, + 6, + 128, + 0, + 165, + 45, + 147, + 135, + 135, + 0, + 232, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 459, + 10, + 1, + 135, + 'Bahama Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 28, + 60, + 208, + 128, + 0, + 249, + 122, + 5, + 184, + 128, + 0, + 246, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 26, + 233, + 208, + 128, + 0, + 239, + 20, + 7, + 6, + 128, + 0, + 165, + 26, + 233, + 208, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 460, + 10, + 1, + 135, + 'Rallye Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 0, + 97, + 255, + 128, + 0, + 244, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 0, + 255, + 255, + 128, + 0, + 245, + 20, + 7, + 6, + 128, + 0, + 165, + 0, + 255, + 255, + 128, + 0, + 245, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 461, + 10, + 1, + 135, + 'In Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 197, + 50, + 87, + 128, + 0, + 236, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 186, + 177, + 87, + 156, + 0, + 203, + 20, + 7, + 6, + 128, + 0, + 165, + 186, + 177, + 87, + 156, + 0, + 203, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 462, + 10, + 1, + 135, + 'Avocado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 80, + 35, + 24, + 128, + 0, + 218, + 70, + 192, + 24, + 103, + 0, + 186, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 70, + 192, + 24, + 103, + 0, + 186, + 70, + 192, + 24, + 103, + 0, + 186, + 70, + 192, + 24, + 103, + 0, + 186, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 463, + 10, + 1, + 135, + 'True Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 147, + 48, + 109, + 143, + 0, + 222, + 142, + 255, + 109, + 143, + 0, + 212, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 142, + 255, + 109, + 143, + 0, + 212, + 142, + 255, + 109, + 143, + 0, + 212, + 142, + 255, + 109, + 143, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 464, + 10, + 1, + 135, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 40, + 19, + 255, + 88, + 36, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 40, + 19, + 255, + 88, + 36, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 40, + 19, + 255, + 88, + 36, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 465, + 10, + 1, + 135, + 'Coral Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 131, + 62, + 124, + 146, + 0, + 229, + 131, + 214, + 57, + 143, + 0, + 192, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 131, + 214, + 57, + 143, + 0, + 192, + 131, + 214, + 57, + 143, + 0, + 192, + 131, + 214, + 57, + 143, + 0, + 192, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 466, + 10, + 1, + 135, + 'Sandpebble Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 27, + 35, + 108, + 128, + 0, + 246, + 24, + 118, + 176, + 133, + 0, + 240, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 24, + 118, + 176, + 133, + 0, + 240, + 24, + 118, + 176, + 133, + 0, + 240, + 24, + 118, + 176, + 133, + 0, + 240, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 467, + 10, + 1, + 135, + 'Aztec Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 27, + 82, + 160, + 128, + 0, + 254, + 23, + 215, + 160, + 128, + 0, + 252, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 23, + 215, + 160, + 128, + 0, + 252, + 23, + 215, + 160, + 128, + 0, + 252, + 23, + 215, + 160, + 128, + 0, + 252, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 468, + 10, + 1, + 135, + 'Winchester Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 136, + 24, + 202, + 116, + 9, + 255, + 136, + 24, + 202, + 116, + 5, + 229, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 136, + 24, + 202, + 116, + 5, + 229, + 20, + 7, + 6, + 128, + 0, + 165, + 136, + 24, + 202, + 116, + 5, + 229, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 469, + 10, + 1, + 135, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 14, + 69, + 255, + 97, + 19, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 18, + 255, + 255, + 94, + 28, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 18, + 255, + 255, + 94, + 28, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 470, + 10, + 1, + 135, + 'Burnished Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 254, + 48, + 79, + 128, + 0, + 233, + 254, + 252, + 79, + 148, + 0, + 212, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 254, + 252, + 79, + 148, + 0, + 212, + 254, + 252, + 79, + 148, + 0, + 212, + 254, + 252, + 79, + 148, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 471, + 10, + 1, + 135, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 33, + 131, + 255, + 118, + 19, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 33, + 255, + 255, + 118, + 26, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 33, + 255, + 255, + 118, + 26, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 472, + 10, + 1, + 135, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 37, + 10, + 1, + 73, + 1, + 239, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 37, + 10, + 1, + 69, + 1, + 194, + 37, + 10, + 1, + 69, + 1, + 194, + 37, + 10, + 1, + 69, + 1, + 194, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 473, + 10, + 1, + 135, + 'Autumn Bronze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71dustin', + 14, + 82, + 79, + 144, + 0, + 220, + 14, + 252, + 79, + 144, + 0, + 212, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 14, + 252, + 79, + 144, + 0, + 212, + 14, + 252, + 79, + 144, + 0, + 212, + 14, + 252, + 79, + 144, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 474, + 10, + 4, + 101, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '32forfla', + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 179, + 230, + 240, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 475, + 10, + 5, + 101, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '32forsca', + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 1, + 255, + 168, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 476, + 10, + 6, + 101, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '32fordec', + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 28, + 196, + 245, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 477, + 10, + 7, + 101, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '32forrus', + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 91, + 48, + 143, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 478, + 10, + 3, + 102, + 'Cop', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 99999999, + '40forcop', + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 479, + 10, + 4, + 102, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '40forfla', + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 1, + 186, + 255, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 480, + 10, + 5, + 102, + 'Runnin'' Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '40forsca', + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 196, + 184, + 224, + 128, + 0, + 255, + 0, + 'Dane Anderson', + 'I spent seven weeks on this, getting it just right for the ''40 Coupe. I hope you enjoy it.' + ), + ( + 481, + 10, + 6, + 102, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '40fordec', + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 1, + 255, + 237, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 482, + 10, + 7, + 102, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '40forrus', + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 38, + 112, + 92, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 483, + 10, + 4, + 103, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '53forfla', + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 252, + 161, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 484, + 10, + 5, + 103, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '53forsca', + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 131, + 255, + 178, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 485, + 10, + 6, + 103, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '53fordec', + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 152, + 173, + 196, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 486, + 10, + 7, + 103, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '53forrus', + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 18, + 82, + 120, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 487, + 10, + 4, + 104, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57faifla', + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 196, + 212, + 212, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 488, + 10, + 5, + 104, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57faisca', + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 126, + 255, + 207, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 489, + 10, + 6, + 104, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57faidec', + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 255, + 245, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 490, + 10, + 7, + 104, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57fairus', + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 23, + 48, + 224, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 491, + 10, + 4, + 105, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57ranfla', + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 182, + 184, + 204, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 492, + 10, + 5, + 105, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57ransca', + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 242, + 235, + 184, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 493, + 10, + 6, + 105, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57randec', + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 148, + 227, + 237, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 494, + 10, + 7, + 105, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57ranrus', + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 47, + 107, + 99, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 495, + 10, + 4, + 106, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57tbifla', + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 222, + 196, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 496, + 10, + 5, + 106, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57tbisca', + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 188, + 255, + 222, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 497, + 10, + 6, + 106, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57tbidec', + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 159, + 201, + 219, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 498, + 10, + 7, + 106, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57tbirus', + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 147, + 107, + 130, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 499, + 10, + 4, + 107, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63tbifla', + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 111, + 92, + 189, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 500, + 10, + 5, + 107, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63tbisca', + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 191, + 199, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 501, + 10, + 6, + 107, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63tbidec', + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 0, + 240, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 502, + 10, + 7, + 107, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '63tbirus', + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 23, + 143, + 156, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 503, + 10, + 4, + 108, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64stafla', + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 174, + 255, + 186, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 504, + 10, + 5, + 108, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64stasca', + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + 255, + 125, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 505, + 10, + 6, + 108, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64stadec', + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 506, + 10, + 7, + 108, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '64starus', + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 135, + 143, + 105, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 507, + 10, + 3, + 109, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 99999999, + '64galcop', + 32, + 178, + 156, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 508, + 10, + 4, + 109, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64galfla', + 113, + 235, + 140, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 509, + 10, + 5, + 109, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64galsca', + 162, + 112, + 232, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 510, + 10, + 6, + 109, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64galdec', + 2, + 222, + 237, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 511, + 10, + 7, + 109, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '64galrus', + 0, + 145, + 135, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 512, + 10, + 4, + 110, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69torfla', + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 185, + 173, + 163, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 513, + 10, + 5, + 110, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69torsca', + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 230, + 150, + 204, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 514, + 10, + 6, + 110, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69tordec', + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 170, + 163, + 196, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 515, + 10, + 7, + 110, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69torrus', + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 19, + 92, + 66, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 516, + 10, + 4, + 111, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb3fla', + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 170, + 150, + 117, + 128, + 0, + 255, + 0, + 'Matt Kovacs', + 'This paint job ain''t for punks!' + ), + ( + 517, + 10, + 5, + 111, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb3sca', + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 158, + 69, + 194, + 128, + 0, + 255, + 0, + 'Jeff Grantz', + 'You''ll smoke ''em with this paint job.' + ), + ( + 518, + 10, + 6, + 111, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb3dec', + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 3, + 201, + 235, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 519, + 10, + 7, + 111, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70mb3rus', + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 50, + 69, + 171, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 520, + 10, + 4, + 112, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '49merfla', + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 183, + 196, + 138, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 521, + 10, + 5, + 112, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '49mersca', + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 254, + 235, + 209, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 522, + 10, + 6, + 112, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '49merdec', + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 125, + 64, + 166, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 523, + 10, + 7, + 112, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '49merrus', + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 160, + 143, + 156, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 524, + 10, + 4, + 113, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57chefla', + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 177, + 255, + 161, + 128, + 0, + 255, + 0, + 'Pete Hammond', + 'Your Bel Air will be the will ring everyone''s bell when they see these flames coming!' + ), + ( + 525, + 10, + 5, + 113, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57chesca', + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 128, + 255, + 161, + 128, + 0, + 255, + 0, + 'Joe Kasinski', + 'Does the Big K know his stuff? This is AWESOME!' + ), + ( + 526, + 10, + 6, + 113, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57chedec', + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 164, + 130, + 153, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 527, + 10, + 7, + 113, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57cherus', + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 61, + 82, + 71, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 528, + 10, + 4, + 114, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57vetfla', + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 26, + 255, + 245, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 529, + 10, + 5, + 114, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57vetsca', + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 155, + 79, + 199, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 530, + 10, + 6, + 114, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57vetdec', + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 149, + 255, + 212, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 531, + 10, + 7, + 114, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57vetrus', + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 5, + 176, + 97, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 532, + 10, + 4, + 115, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57nomfla', + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 249, + 255, + 158, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 533, + 10, + 5, + 115, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57nomsca', + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 74, + 255, + 107, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 534, + 10, + 6, + 115, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '57nomdec', + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 171, + 207, + 145, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 535, + 10, + 7, + 115, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57nomrus', + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 7, + 153, + 140, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 536, + 10, + 3, + 116, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 99999999, + '64impcop', + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 537, + 10, + 4, + 116, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64impfla', + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 195, + 237, + 227, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 538, + 10, + 5, + 116, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64impsca', + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 32, + 255, + 227, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 539, + 10, + 6, + 116, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64impdec', + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 142, + 107, + 186, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 540, + 10, + 7, + 116, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '64imprus', + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 30, + 36, + 130, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 541, + 10, + 4, + 117, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63vetfla', + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 186, + 240, + 242, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 542, + 10, + 5, + 117, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63vetsca', + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 169, + 194, + 209, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 543, + 10, + 6, + 117, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '63vetdec', + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 217, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 544, + 10, + 7, + 117, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '63vetrus', + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 0, + 145, + 135, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 545, + 10, + 4, + 118, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '58impfla', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 546, + 10, + 5, + 118, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '58impsca', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + NULL, + NULL + ), + ( + 547, + 10, + 6, + 118, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '58impdec', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 548, + 10, + 7, + 118, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '58imprus', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 549, + 10, + 4, + 119, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67chefla', + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 166, + 255, + 240, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 550, + 10, + 5, + 119, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67chesca', + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 186, + 219, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 551, + 10, + 6, + 119, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67chedec', + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 255, + 240, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 552, + 10, + 7, + 119, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67cherus', + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 33, + 18, + 189, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 553, + 10, + 4, + 120, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67camfla', + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 0, + 31, + 128, + 0, + 255, + 0, + 'Steve Hayes', + 'Sssssssmokin!' + ), + ( + 554, + 10, + 5, + 120, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67camsca', + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 23, + 186, + 227, + 128, + 0, + 255, + 0, + 'Grant Weyman', + 'This is THE Big One! Check it out!' + ), + ( + 555, + 10, + 6, + 120, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67camdec', + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 0, + 247, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 556, + 10, + 7, + 120, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67camrus', + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 29, + 181, + 128, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 557, + 10, + 4, + 121, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70chefla', + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 106, + 252, + 89, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 558, + 10, + 5, + 121, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70chesca', + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 134, + 230, + 166, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 559, + 10, + 6, + 121, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70chedec', + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 169, + 166, + 181, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 560, + 10, + 7, + 121, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70cherus', + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 191, + 54, + 110, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 561, + 10, + 4, + 122, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70camfla', + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 205, + 237, + 122, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 562, + 10, + 5, + 122, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70camsca', + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + 0, + 36, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 563, + 10, + 6, + 122, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70camdec', + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 12, + 255, + 133, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 564, + 10, + 7, + 122, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70camrus', + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 135, + 201, + 133, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 565, + 10, + 4, + 123, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70novfla', + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 36, + 255, + 201, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 566, + 10, + 5, + 123, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70novsca', + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 176, + 255, + 117, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 567, + 10, + 6, + 123, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70novdec', + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 0, + 0, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 568, + 10, + 7, + 123, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70novrus', + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 97, + 255, + 84, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 569, + 10, + 4, + 124, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '47cadfla', + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 0, + 51, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 570, + 10, + 5, + 124, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '47cadsca', + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 108, + 255, + 222, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 571, + 10, + 6, + 124, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '47caddec', + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 219, + 227, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 572, + 10, + 7, + 124, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '47cadrus', + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 23, + 31, + 143, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 573, + 10, + 4, + 125, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '59cadfla', + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 243, + 166, + 252, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 574, + 10, + 5, + 125, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '59cadsca', + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 26, + 59, + 166, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 575, + 10, + 6, + 125, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '59caddec', + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 78, + 115, + 199, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 576, + 10, + 7, + 125, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '59cadrus', + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 28, + 97, + 186, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 577, + 10, + 4, + 126, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69oldfla', + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 155, + 178, + 209, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 578, + 10, + 5, + 126, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69oldsca', + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 579, + 10, + 6, + 126, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69olddec', + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 580, + 10, + 7, + 126, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69oldrus', + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 153, + 97, + 143, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 581, + 10, + 3, + 127, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 99999999, + '55cencop', + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 169, + 207, + 74, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 582, + 10, + 4, + 127, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '55cenfla', + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 38, + 252, + 255, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 583, + 10, + 5, + 127, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '55censca', + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 183, + 240, + 242, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 584, + 10, + 6, + 127, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '55cendec', + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 1, + 242, + 242, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 585, + 10, + 7, + 127, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '55cenrus', + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 120, + 140, + 107, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 586, + 10, + 4, + 128, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66gtofla', + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 192, + 252, + 196, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 587, + 10, + 5, + 128, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66gtosca', + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 190, + 255, + 232, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 588, + 10, + 6, + 128, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66gtodec', + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 162, + 252, + 196, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 589, + 10, + 7, + 128, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '66gtorus', + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 49, + 10, + 189, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 590, + 10, + 4, + 129, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtofla', + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 591, + 10, + 5, + 129, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtosca', + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 28, + 227, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 592, + 10, + 6, + 129, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtodec', + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 0, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 593, + 10, + 7, + 129, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69gtorus', + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 82, + 64, + 61, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 594, + 10, + 4, + 130, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73trafla', + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 181, + 255, + 245, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 595, + 10, + 5, + 130, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73trasca', + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 149, + 255, + 242, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 596, + 10, + 6, + 130, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73tradec', + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 255, + 201, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 597, + 10, + 7, + 130, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '73trarus', + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 118, + 201, + 107, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 598, + 10, + 4, + 131, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69amcfla', + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 155, + 18, + 242, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 599, + 10, + 5, + 131, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69amcsca', + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 33, + 242, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 600, + 10, + 6, + 131, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69amcdec', + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 169, + 117, + 79, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 601, + 10, + 7, + 131, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69amcrus', + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 31, + 140, + 138, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 602, + 10, + 4, + 132, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69chafla', + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 161, + 135, + 33, + 128, + 0, + 255, + 0, + 'Eric Saakian', + 'These flames should frighten away the posers. Real racers ONLY!' + ), + ( + 603, + 10, + 5, + 132, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69chasca', + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 27, + 245, + 250, + 128, + 0, + 255, + 0, + 'Mike Wojtas', + 'You don''t get it much better than this. Rock on!' + ), + ( + 604, + 10, + 6, + 132, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69chadec', + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 159, + 186, + 194, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 605, + 10, + 7, + 132, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69charus', + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 137, + 76, + 112, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 606, + 10, + 3, + 133, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 99999999, + '69runcop', + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 32, + 178, + 156, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 607, + 10, + 4, + 133, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69runfla', + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 16, + 173, + 230, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 608, + 10, + 5, + 133, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69runsca', + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 33, + 232, + 252, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 609, + 10, + 6, + 133, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69rundec', + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 132, + 255, + 222, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 610, + 10, + 7, + 133, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69runrus', + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 97, + 117, + 150, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 611, + 10, + 4, + 134, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70cudfla', + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 20, + 250, + 227, + 128, + 0, + 255, + 0, + 'Bret Gootch', + 'All that power under the hood''s got only one way to go!' + ), + ( + 612, + 10, + 5, + 134, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70cudsca', + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 40, + 214, + 255, + 128, + 0, + 255, + 0, + 'Paul O''Tuna', + 'I made it this way ''cuz I''m swe-e-e-eet!' + ), + ( + 613, + 10, + 6, + 134, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70cuddec', + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 6, + 252, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 614, + 10, + 7, + 134, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70cudrus', + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 141, + 107, + 107, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 615, + 10, + 4, + 135, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71dusfla', + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 158, + 209, + 153, + 128, + 0, + 255, + 0, + 'Mac Emerson', + 'This paint job rocks!' + ), + ( + 616, + 10, + 5, + 135, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71dussca', + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 101, + 191, + 148, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 617, + 10, + 6, + 135, + 'Decal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71dusdec', + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 169, + 189, + 255, + 128, + 0, + 255, + 0, + 'Corporate sponsor', + 'You''ve sold out to The Man.' + ), + ( + 618, + 10, + 7, + 135, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '71dusrus', + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 29, + 181, + 135, + 128, + 0, + 255, + 1, + 'Oxidation', + 'This process mimics the natural process of paint damage due to weather.' + ), + ( + 619, + 10, + 9, + 106, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '57tbibad', + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + 3, + 76, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 620, + 10, + 9, + 117, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '63vetbad', + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 31, + 107, + 143, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 621, + 10, + 9, + 120, + 'The Grim Reaper', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '67cambad', + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 154, + 36, + 227, + 128, + 0, + 255, + 0, + 'Jim Fink', + 'This time, you better fear the Reaper...' + ), + ( + 622, + 10, + 9, + 134, + 'American Pie', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '70cudbad', + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 163, + 181, + 252, + 128, + 0, + 255, + 0, + 'Mongo Pena', + 'Mongo like!' + ), + ( + 623, + 10, + 9, + 111, + 'My Lady', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '70stabad', + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 188, + 105, + 255, + 128, + 0, + 255, + 0, + 'Carl Lipowitz', + 'NOBODY touches My Lady!' + ), + ( + 624, + 10, + 9, + 130, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '73trabad', + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 37, + 255, + 237, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 625, + 10, + 8, + 125, + 'taxi 1', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '59cadtr1', + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 25, + 184, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 626, + 10, + 8, + 125, + 'taxi 2', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '59cadtr2', + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 84, + 255, + 122, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 627, + 10, + 9, + 113, + 'Meat Wagon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '57chebad', + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 186, + 178, + 110, + 128, + 0, + 255, + 0, + 'Art Siebold', + 'When the Meat Wagon comes to town, better get out of it''s way!' + ), + ( + 628, + 10, + 9, + 109, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '64galbad', + 200, + 130, + 191, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + NULL, + NULL, + NULL, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 629, + 10, + 9, + 123, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '70novbad', + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 18, + 255, + 150, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 630, + 10, + 9, + 121, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '70chebad', + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 22, + 209, + 255, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 631, + 10, + 1, + 207, + 'Navajo Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 27, + 80, + 255, + 128, + 0, + 255, + NULL, + 80, + 255, + 128, + 0, + 255, + 27, + 80, + NULL, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 632, + 10, + 1, + 207, + 'Vintage Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 246, + 242, + 84, + 128, + 5, + 253, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 246, + 242, + 84, + 128, + 0, + 210, + NULL, + 242, + 84, + 128, + 0, + 210, + 246, + 242, + NULL, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 633, + 10, + 1, + 207, + 'Chantilly Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 225, + 40, + 20, + 6, + 128, + 0, + 176, + 35, + 66, + 86, + 128, + 3, + 225, + NULL, + 0, + 1, + 128, + 0, + 168, + 35, + 66, + NULL, + 128, + 3, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 634, + 10, + 1, + 207, + 'Pagoda Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 120, + 100, + 49, + 128, + 5, + 250, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 255, + 128, + 15, + 255, + 124, + 254, + 77, + 128, + 13, + 225, + NULL, + 254, + 77, + 128, + 13, + 225, + 124, + 254, + NULL, + 128, + 13, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 635, + 10, + 1, + 207, + 'Skylight Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 132, + 126, + 255, + 128, + 35, + 225, + 131, + 11, + 255, + 128, + 15, + 255, + 131, + 11, + 255, + 128, + 15, + 255, + 131, + 11, + 255, + 128, + 15, + 255, + 40, + 20, + 255, + 128, + 15, + 255, + 132, + 126, + 255, + 128, + 35, + 235, + NULL, + 126, + 255, + 128, + 35, + 235, + 132, + 126, + NULL, + 128, + 35, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 636, + 10, + 1, + 207, + 'Dynasty Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 120, + 100, + 49, + 128, + 0, + 222, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 35, + 66, + 86, + 128, + 3, + 254, + 40, + 20, + 6, + 128, + 0, + 176, + 120, + 100, + 49, + 128, + 0, + 222, + NULL, + 0, + 1, + 128, + 0, + 168, + 120, + 100, + NULL, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 637, + 10, + 1, + 207, + 'Prairie Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 255, + 128, + 15, + 255, + 19, + 163, + 113, + 128, + 0, + 255, + NULL, + 30, + 255, + 128, + 38, + 255, + 19, + 163, + NULL, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 638, + 10, + 1, + 207, + 'Phoenician Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 32, + 215, + 255, + 128, + 45, + 249, + NULL, + 215, + 255, + 128, + 45, + 249, + 32, + 215, + NULL, + 128, + 45, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 639, + 10, + 1, + 207, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 40, + 20, + 255, + 128, + 0, + 180, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 128, + 0, + 1, + 128, + 0, + 181, + NULL, + 0, + 1, + 128, + 0, + 181, + 128, + 0, + NULL, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 640, + 10, + 1, + 207, + 'Guardsman Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 148, + 218, + 49, + 128, + 0, + 210, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 148, + 218, + 49, + 128, + 0, + 210, + NULL, + 218, + 49, + 128, + 0, + 210, + 148, + 218, + NULL, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 641, + 10, + 1, + 207, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 28, + 50, + 255, + 128, + 38, + 255, + NULL, + 0, + 1, + 128, + 0, + 168, + 28, + 50, + NULL, + 128, + 38, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 642, + 10, + 1, + 207, + 'Silver Smoke Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 121, + 36, + 85, + 128, + 3, + 254, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 121, + 36, + 85, + 128, + 0, + 222, + NULL, + 36, + 85, + 128, + 0, + 222, + 121, + 36, + NULL, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 643, + 10, + 1, + 207, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 66, + 86, + 128, + 3, + 252, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 216, + 40, + 20, + 6, + 128, + 0, + 176, + 2, + 255, + 255, + 128, + 0, + 250, + NULL, + 255, + 255, + 128, + 0, + 250, + 2, + 255, + NULL, + 128, + 0, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 720, + 10, + 3, + 226, + 'Judge GTO Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '69judtin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'System', + 'This skin attached for testing purposes.' + ), + ( + 721, + 10, + 1, + 140, + 'Bolero Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 255, + 255, + 128, + 0, + 250, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 52, + 255, + 128, + 0, + 249, + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 'Factory', + 'Copied from 67 Camaro base paint scheme for temporary use.' + ), + ( + 722, + 10, + 1, + 140, + 'Deepwater Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 148, + 255, + 54, + 152, + 0, + 202, + 148, + 255, + 54, + 152, + 0, + 202, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 170, + 33, + 54, + 128, + 0, + 231, + 148, + 255, + 54, + 152, + 0, + 202, + 0, + 'factory', + 'Copied from 67 Camaro base paint scheme for temporary use.' + ), + ( + 723, + 10, + 1, + 142, + 'Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 0, + 'factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 724, + 10, + 1, + 142, + 'Medium Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 0, + 'factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 726, + 1, + 3, + 142, + 'Boss 429', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70mb4tin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Unknown creator. Skin attached for testing purposes.' + ), + ( + 727, + 10, + 1, + 210, + 'Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 151, + 135, + 158, + 128, + 16, + 232, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 728, + 10, + 1, + 218, + 'Bolero Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 30, + 10, + 5, + 128, + 0, + 214, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 0, + 255, + 255, + 111, + 16, + 255, + 0, + 83, + 255, + 128, + 15, + 255, + 0, + 255, + 255, + 111, + 16, + 255, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 729, + 10, + 1, + 218, + 'Deep Water Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 30, + 10, + 126, + 128, + 0, + 248, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 148, + 255, + 54, + 135, + 0, + 194, + 170, + 33, + 54, + 128, + 0, + 239, + 148, + 255, + 54, + 135, + 0, + 194, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 730, + 10, + 1, + 219, + 'Provincial White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 16, + 255, + 255, + 128, + 22, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 0, + 'system', + 'Skin taken from 67 Camaro (base) for temporary use.' + ), + ( + 731, + 10, + 1, + 219, + 'Bolero Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 255, + 255, + 128, + 0, + 250, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 52, + 255, + 128, + 0, + 168, + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 'system', + 'Skin taken from 67 Camaro (base) for temporary use.' + ), + ( + 732, + 10, + 3, + 219, + 'RS Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '67rsctin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 733, + 10, + 1, + 220, + 'Provincial White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 16, + 255, + 255, + 128, + 22, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 0, + 'system', + 'Skin taken from 67 Camaro (base) for temporary use.' + ), + ( + 734, + 10, + 3, + 220, + 'Z-28 Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '67Z28tin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 735, + 10, + 1, + 154, + 'Big Bad Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 84, + 70, + 255, + 128, + 0, + 249, + 66, + 255, + 255, + 128, + 0, + 253, + 66, + 255, + 255, + 128, + 0, + 253, + 26, + 56, + 94, + 128, + 0, + 255, + 26, + 56, + 94, + 128, + 0, + 250, + 66, + 255, + 255, + 128, + 0, + 253, + 7, + 7, + 14, + 128, + 0, + 171, + 66, + 255, + 255, + 128, + 0, + 253, + 0, + 'system', + 'Skin taken from 69 AMX (base). Should be a correct skin for this car.' + ), + ( + 736, + 10, + 1, + 154, + 'Big Bad Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 16, + 113, + 255, + 128, + 23, + 255, + 16, + 254, + 255, + 113, + 23, + 255, + 16, + 254, + 255, + 113, + 23, + 255, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 16, + 254, + 255, + 113, + 23, + 255, + 7, + 7, + 14, + 128, + 0, + 171, + 16, + 254, + 255, + 113, + 23, + 255, + 0, + 'system', + 'Skin taken from 69 AMX (base). Should be a correct skin for this car.' + ), + ( + 737, + 10, + 1, + 154, + 'Big Bad Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69amctin', + 170, + 101, + 205, + 128, + 0, + 255, + 158, + 255, + 205, + 128, + 0, + 245, + 158, + 255, + 205, + 128, + 0, + 245, + 10, + 10, + 10, + 128, + 0, + 246, + 10, + 10, + 10, + 128, + 0, + 246, + 158, + 255, + 205, + 128, + 0, + 171, + 7, + 7, + 14, + 128, + 0, + 171, + 158, + 255, + 205, + 128, + 0, + 245, + 0, + 'system', + 'Skin taken from 69 AMX (base). Should be a correct skin for this car.' + ), + ( + 738, + 10, + 1, + 157, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 134, + 43, + 109, + 128, + 0, + 254, + 134, + 163, + 109, + 94, + 13, + 244, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 134, + 2, + 219, + 128, + 23, + 255, + 134, + 163, + 109, + 94, + 13, + 244, + 134, + 163, + 109, + 94, + 13, + 244, + 0, + 'system', + 'Skin taken from 69 Road Runner (base) for temporary use.' + ), + ( + 739, + 10, + 1, + 157, + 'Platinum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 26, + 28, + 135, + 128, + 0, + 249, + 60, + 56, + 135, + 128, + 0, + 233, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 1, + 0, + 2, + 128, + 0, + 182, + 60, + 56, + 135, + 128, + 0, + 233, + 60, + 56, + 135, + 128, + 0, + 233, + 0, + 'system', + 'Skin taken from 69 Road Runner (base) for temporary use.' + ), + ( + 740, + 10, + 1, + 210, + 'Medium Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 45, + 102, + 112, + 128, + 16, + 211, + 0, + 'system', + 'As per 70 Mustang CSV.' + ), + ( + 743, + 10, + 2, + 211, + 'GT Cobra Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '69gtttin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin applied for testing purposes.' + ), + ( + 744, + 10, + 1, + 212, + 'Medium Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 102, + 112, + 128, + 16, + 211, + 0, + 'system', + 'As per 70 Mach 1 CSV.' + ), + ( + 745, + 10, + 3, + 212, + 'Mach 1 Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70mactin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 746, + 10, + 1, + 213, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 47, + 163, + 165, + 128, + 1, + 250, + 0, + 'system', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 748, + 10, + 1, + 214, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 47, + 163, + 165, + 128, + 1, + 250, + 0, + 'system', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 749, + 10, + 3, + 214, + '440 Cuda Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70h44tin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 750, + 10, + 1, + 215, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 47, + 163, + 165, + 128, + 1, + 250, + 0, + 'system', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 751, + 10, + 3, + 215, + 'AAR Cuda Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70aartin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 752, + 10, + 1, + 216, + 'Tahitian Walnut', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 19, + 62, + 84, + 128, + 0, + 239, + 19, + 177, + 47, + 143, + 0, + 194, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 19, + 177, + 47, + 143, + 0, + 194, + 19, + 177, + 47, + 143, + 0, + 194, + 19, + 177, + 47, + 143, + 0, + 194, + 0, + 'System', + 'As per 71 Duster CSV.' + ), + ( + 753, + 10, + 3, + 216, + '340 Duster Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '71wedtin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'Skin attached for testing purposes.' + ), + ( + 754, + 10, + 1, + 222, + 'Cranberry Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 6, + 56, + 91, + 128, + 0, + 245, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 6, + 254, + 91, + 128, + 0, + 233, + 6, + 254, + 91, + 128, + 0, + 233, + 6, + 254, + 91, + 128, + 0, + 233, + 0, + 'system', + 'As per 70 El Camino CSV.' + ), + ( + 755, + 10, + 3, + 222, + 'El Camino SS Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70ssetin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'This skin assigned for testing purposes.' + ), + ( + 756, + 10, + 1, + 223, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 137, + 57, + 52, + 128, + 0, + 237, + 137, + 255, + 52, + 128, + 0, + 192, + 137, + 255, + 52, + 128, + 0, + 192, + 0, + 'system', + 'As per 70 Nova CSV.' + ), + ( + 757, + 10, + 3, + 223, + 'Nova SS Paint', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 300, + '70ssntin', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 0, + 'system', + 'This skin assigned for testing purposes.' + ), + ( + 758, + 10, + 1, + 227, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 128, + 0, + 255, + 128, + 1, + 254, + 20, + 7, + 14, + 128, + 0, + 227, + 128, + 0, + 255, + 128, + 14, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 128, + 0, + 255, + 128, + 14, + 255, + 0, + 'System', + 'As per 70 Firebird CSV' + ), + ( + 760, + 10, + 1, + 226, + 'Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 17, + 122, + 255, + 128, + 15, + 253, + 24, + 255, + 255, + 128, + 15, + 253, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 28, + 255, + 255, + 128, + 15, + 253, + 37, + 255, + 255, + 128, + 17, + 255, + 15, + 255, + 255, + 128, + 23, + 253, + 0, + 'system', + 'As per 69 GTO CSV, but this color does not appear in the reference material for the car.' + ), + ( + 761, + 10, + 1, + 224, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69oldtin', + 2, + 150, + 255, + 128, + 0, + 236, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 28, + 26, + 164, + 128, + 10, + 255, + 30, + 10, + 1, + 128, + 0, + 194, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 0, + 'system', + 'This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.' + ), + ( + 763, + 10, + 1, + 221, + 'Monza Red/White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 47, + 255, + 128, + 0, + 255, + 142, + 3, + 255, + 128, + 36, + 255, + 1, + 255, + 255, + 139, + 0, + 249, + 0, + 'system', + 'This skin taken from 70 Chevelle (base) for testing purposes.' + ), + ( + 764, + 10, + 1, + 217, + 'Ember Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 5, + 254, + 146, + 128, + 0, + 231, + 24, + 71, + 202, + 152, + 3, + 214, + 5, + 254, + 146, + 128, + 0, + 219, + 24, + 71, + 202, + 152, + 3, + 231, + 1, + 71, + 255, + 128, + 0, + 249, + 24, + 71, + 202, + 152, + 3, + 231, + 5, + 254, + 146, + 128, + 0, + 219, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 765, + 10, + 1, + 216, + 'Amber Sherwood', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 58, + 35, + 77, + 128, + 0, + 233, + 122, + 5, + 184, + 128, + 0, + 246, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 58, + 147, + 77, + 151, + 0, + 205, + 20, + 7, + 6, + 128, + 0, + 165, + 58, + 147, + 77, + 151, + 0, + 205, + 0, + 'system', + 'As per 71 Duster CSV.' + ), + ( + 766, + 10, + 1, + 215, + 'Lime Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 58, + 35, + 77, + 128, + 0, + 233, + 122, + 5, + 184, + 128, + 0, + 246, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 58, + 147, + 77, + 151, + 0, + 205, + 20, + 7, + 6, + 128, + 0, + 165, + 58, + 147, + 77, + 151, + 0, + 205, + 0, + 'system', + 'Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.' + ), + ( + 767, + 10, + 1, + 214, + 'Lime Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 58, + 35, + 77, + 128, + 0, + 233, + 122, + 5, + 184, + 128, + 0, + 246, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 58, + 147, + 77, + 151, + 0, + 205, + 20, + 7, + 6, + 128, + 0, + 165, + 58, + 147, + 77, + 151, + 0, + 205, + 0, + 'system', + 'Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.' + ), + ( + 768, + 10, + 1, + 213, + 'Jamaica Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 148, + 203, + 101, + 141, + 0, + 229, + 0, + 'system', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 769, + 10, + 1, + 212, + 'Candyapple Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 6, + 194, + 143, + 128, + 6, + 240, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 6, + 194, + 143, + 128, + 6, + 240, + 35, + 64, + 158, + 128, + 16, + 244, + 6, + 164, + 143, + 128, + 6, + 240, + 0, + 'system', + 'As per 70 Mach 1 CSV.' + ), + ( + 775, + 10, + 1, + 207, + 'Stock Color 5', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 44, + 178, + 128, + 3, + 252, + 35, + 108, + 64, + 116, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 44, + 178, + 128, + 128, + 223, + 168, + 173, + 78, + 124, + 18, + 228, + 168, + 173, + 78, + 124, + 18, + 228, + 168, + 173, + 78, + 124, + 18, + 228, + 0, + NULL, + NULL + ), + ( + 776, + 10, + 1, + 207, + 'Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '66cobtin', + 35, + 44, + 178, + 128, + 3, + 252, + 35, + 108, + 64, + 116, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 1, + 1, + 2, + 1, + 0, + 254, + 1, + 253, + 131, + 121, + 40, + 214, + 1, + 253, + 131, + 121, + 40, + 214, + 1, + 253, + 131, + 121, + 40, + 214, + 0, + NULL, + NULL + ), + ( + 777, + 10, + 1, + 207, + 'Sebring Silver / White Stripes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '66cobtin', + 35, + 44, + 178, + 128, + 3, + 252, + 35, + 108, + 64, + 116, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 44, + 178, + 128, + 128, + 223, + 3, + 1, + 255, + 127, + 2, + 250, + 148, + 66, + 126, + 152, + 67, + 199, + 148, + 66, + 126, + 152, + 67, + 199, + 0, + NULL, + NULL + ), + ( + 778, + 10, + 1, + 207, + 'Red / White Stripes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '66cobtin', + 35, + 44, + 178, + 128, + 3, + 252, + 35, + 108, + 64, + 116, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 1, + 1, + 2, + 1, + 0, + 254, + 3, + 1, + 255, + 127, + 2, + 250, + 1, + 253, + 131, + 121, + 40, + 214, + 1, + 253, + 131, + 121, + 40, + 214, + 0, + NULL, + NULL + ), + ( + 779, + 10, + 1, + 207, + 'Blue / White Stripes', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '66cobtin', + 35, + 44, + 178, + 128, + 3, + 252, + 35, + 108, + 64, + 116, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 66, + 86, + 128, + 3, + 252, + 35, + 44, + 178, + 128, + 128, + 223, + 3, + 1, + 255, + 127, + 2, + 250, + 168, + 173, + 78, + 124, + 18, + 228, + 168, + 173, + 78, + 124, + 18, + 228, + 0, + NULL, + NULL + ), + ( + 780, + 10, + 4, + 207, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66cobfla', + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 247, + 232, + 128, + 0, + 255, + 0, + 'Ryan Blinsky', + NULL + ), + ( + 781, + 10, + 5, + 207, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66cobsca', + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 22, + 255, + 224, + 128, + 0, + 255, + 0, + 'Ryan Blinsky', + NULL + ), + ( + 782, + 10, + 6, + 207, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '66cobdec', + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 18, + 247, + 207, + 128, + 0, + 255, + 0, + 'Ryan Blinsky', + NULL + ), + ( + 783, + 10, + 7, + 207, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '66cobrus', + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 162, + 87, + 92, + 128, + 0, + 255, + 0, + 'Ryan Blinsky', + NULL + ), + ( + 784, + 10, + 4, + 217, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64ssifla', + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 129, + 255, + 163, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 785, + 10, + 7, + 217, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '64ssirus', + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 250, + 28, + 84, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 786, + 10, + 5, + 217, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64ssisca', + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 235, + 153, + 227, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 787, + 10, + 6, + 217, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '64ssidec', + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 35, + 204, + 247, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 788, + 10, + 4, + 218, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67cssfla', + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 250, + 219, + 184, + 128, + 0, + 255, + 0, + 'Blinksy', + NULL + ), + ( + 789, + 10, + 5, + 218, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67csssca', + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 190, + 214, + 189, + 128, + 0, + 255, + 0, + 'Blinksy', + NULL + ), + ( + 790, + 10, + 7, + 218, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67cssrus', + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 10, + 89, + 84, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 791, + 10, + 6, + 218, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67cssdec', + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 55, + 230, + 166, + 128, + 0, + 255, + 0, + 'Blinksy', + NULL + ), + ( + 792, + 10, + 4, + 219, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67rscfla', + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 152, + 178, + 201, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 793, + 10, + 6, + 219, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67rscdec', + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 114, + 168, + 209, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 794, + 10, + 5, + 219, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67rscsca', + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 35, + 176, + 219, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 795, + 10, + 7, + 219, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67rscrus', + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 4, + 102, + 115, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 796, + 10, + 4, + 140, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67sscfla', + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 146, + 168, + 194, + 128, + 0, + 255, + 0, + 'Blinksy', + NULL + ), + ( + 797, + 10, + 5, + 140, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67sscsca', + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 105, + 138, + 199, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 798, + 10, + 6, + 140, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67sscdec', + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 163, + 92, + 207, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 799, + 10, + 7, + 140, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67sscrus', + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 6, + 84, + 102, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 800, + 10, + 4, + 220, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67z28fla', + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 16, + 184, + 214, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 801, + 10, + 5, + 220, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67z28sca', + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 246, + 171, + 186, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 802, + 10, + 6, + 220, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '67z28dec', + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 112, + 92, + 178, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 803, + 10, + 7, + 220, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '67z28rus', + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 10, + 33, + 99, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 804, + 10, + 4, + 154, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69bigfla', + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 46, + 184, + 199, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 805, + 10, + 5, + 154, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69bigsca', + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 200, + 166, + 232, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 806, + 10, + 6, + 154, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69bigdec', + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 201, + 20, + 199, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 807, + 10, + 7, + 154, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69bigrus', + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 246, + 23, + 105, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 808, + 10, + 4, + 224, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69w30fla', + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 25, + 255, + 192, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 809, + 10, + 5, + 224, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69w30sca', + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 157, + 120, + 209, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 810, + 10, + 6, + 224, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69w30dec', + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 170, + 255, + 191, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 811, + 10, + 7, + 224, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69w30rus', + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 112, + 140, + 69, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 812, + 10, + 4, + 211, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gttfla', + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 155, + 232, + 255, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 813, + 10, + 5, + 211, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gttsca', + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 251, + 255, + 212, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 814, + 10, + 6, + 211, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gttdec', + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 105, + 107, + 158, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 815, + 10, + 7, + 211, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69gttrus', + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 212, + 13, + 112, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 816, + 10, + 4, + 225, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69hurfla', + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 197, + 128, + 212, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 817, + 10, + 5, + 225, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69hursca', + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 41, + 143, + 204, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 818, + 10, + 6, + 225, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69hurdec', + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 174, + 43, + 59, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 819, + 10, + 7, + 225, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69hurrus', + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 11, + 69, + 69, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 820, + 10, + 4, + 226, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69judfla', + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 186, + 117, + 222, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 821, + 10, + 5, + 226, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69judsca', + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 35, + 201, + 224, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 822, + 10, + 6, + 226, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69juddec', + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 246, + 181, + 222, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 823, + 10, + 7, + 226, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69judrus', + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 5, + 107, + 84, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 824, + 10, + 4, + 222, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssefla', + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 163, + 232, + 150, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 825, + 10, + 5, + 222, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssesca', + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 10, + 235, + 194, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 826, + 10, + 6, + 222, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssedec', + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 80, + 168, + 125, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 827, + 10, + 7, + 222, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70sserus', + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 8, + 150, + 92, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 828, + 10, + 4, + 223, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssnfla', + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 140, + 212, + 150, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 829, + 10, + 5, + 223, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssnsca', + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 33, + 201, + 184, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 830, + 10, + 6, + 223, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70ssndec', + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 179, + 184, + 201, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 831, + 10, + 7, + 223, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70ssnrus', + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 249, + 43, + 87, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 832, + 10, + 4, + 221, + 'Blaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70cssfla', + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 227, + 161, + 199, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 833, + 10, + 5, + 221, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70csssca', + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 139, + 247, + 189, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 834, + 10, + 6, + 221, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70cssdec', + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 28, + 186, + 214, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 835, + 10, + 7, + 221, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70cssrus', + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 2, + 97, + 92, + 128, + 0, + 255, + 0, + 'Blinsky', + NULL + ), + ( + 836, + 10, + 4, + 212, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70macfla', + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 250, + 255, + 112, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 837, + 10, + 5, + 212, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70macsca', + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 186, + 74, + 209, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 838, + 10, + 6, + 212, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70macdec', + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 0, + 227, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 839, + 10, + 7, + 212, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70macrus', + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 125, + 125, + 143, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 840, + 10, + 4, + 214, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70h44fla', + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 187, + 217, + 214, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 841, + 10, + 5, + 214, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70h44sca', + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 37, + 117, + 217, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 842, + 10, + 6, + 214, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70h44dec', + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 154, + 184, + 189, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 843, + 10, + 7, + 214, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70h44rus', + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 91, + 31, + 171, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 844, + 10, + 4, + 215, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70aarfla', + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 139, + 31, + 184, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 845, + 10, + 5, + 215, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70aarsca', + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 185, + 145, + 214, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 846, + 10, + 6, + 215, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70aardec', + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 26, + 201, + 224, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 847, + 10, + 7, + 215, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70aarrus', + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 60, + 74, + 178, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 848, + 10, + 4, + 213, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70hemfla', + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 23, + 43, + 222, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 849, + 10, + 5, + 213, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70hemsca', + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 162, + 69, + 189, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 850, + 10, + 6, + 213, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70hemdec', + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 28, + 209, + 227, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 851, + 10, + 7, + 213, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70hemrus', + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 145, + 76, + 184, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 852, + 10, + 4, + 216, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71wedfla', + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 9, + 181, + 219, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 853, + 10, + 5, + 216, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71wedsca', + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 119, + 196, + 150, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 854, + 10, + 7, + 216, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '71wedrus', + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 154, + 135, + 102, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 855, + 10, + 4, + 228, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73firfla', + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 255, + 135, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 856, + 10, + 5, + 228, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73firsca', + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 33, + 250, + 230, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 857, + 10, + 6, + 228, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73firdec', + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 0, + 214, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 858, + 10, + 7, + 228, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '73firrus', + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 27, + 71, + 89, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 859, + 10, + 4, + 227, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73forfla', + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 33, + 163, + 240, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 860, + 10, + 5, + 227, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73forsca', + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 174, + 194, + 138, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 861, + 10, + 6, + 227, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '73fordec', + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 131, + 71, + 46, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 862, + 10, + 7, + 227, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '73forrus', + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 172, + 51, + 107, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 863, + 10, + 4, + 142, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb4fla', + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 33, + 102, + 242, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 864, + 10, + 5, + 142, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb4sca', + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 130, + 219, + 153, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 865, + 10, + 6, + 142, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70mb4dec', + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 17, + 201, + 194, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 866, + 10, + 7, + 142, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70mb4rus', + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 26, + 122, + 122, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 867, + 10, + 6, + 216, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '71weddec', + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 32, + 252, + 150, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 868, + 10, + 9, + 132, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '69chabad', + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 6, + 255, + 219, + 128, + 0, + 255, + 0, + 'Unknown', + NULL + ), + ( + 869, + 10, + 4, + 210, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70stafla', + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 42, + 71, + 189, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 870, + 10, + 5, + 210, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70stasca', + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 166, + 79, + 255, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 871, + 10, + 6, + 210, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '70stadec', + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 13, + 255, + 237, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 872, + 10, + 7, + 210, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '70starus', + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 153, + 79, + 158, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 873, + 10, + 4, + 157, + 'Flames', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtxfla', + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 142, + 255, + 140, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 874, + 10, + 5, + 157, + 'Scallops', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtxsca', + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 43, + 255, + 138, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 875, + 10, + 6, + 157, + 'Decals', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 5000, + '69gtxdec', + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 0, + 204, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 876, + 10, + 7, + 157, + 'Rust Bucket', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '69gtxrus', + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 132, + 232, + 84, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 877, + 10, + 7, + 127, + 'Spray Paint Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '55cenru2', + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 18, + 140, + 77, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 878, + 10, + 7, + 127, + 'Graffiti', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '55cenru3', + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 142, + 219, + 94, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 879, + 10, + 7, + 104, + 'Spray Paint Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57fairu2', + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 145, + 97, + 105, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 880, + 10, + 7, + 104, + 'Graffiti', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57fairu3', + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 59, + 102, + 102, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 881, + 10, + 9, + 207, + 'Bad-Ass', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10000, + '66cobbad', + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 172, + 46, + 120, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 882, + 10, + 7, + 113, + 'Spray Paint Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57cheru2', + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 0, + 41, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 883, + 10, + 7, + 113, + 'Graffiti', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57cheru3', + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 132, + 102, + 196, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 884, + 10, + 7, + 105, + 'Spray Paint Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57ranru2', + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 140, + 31, + 145, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 885, + 10, + 7, + 105, + 'Graffiti', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57ranru3', + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 195, + 105, + 125, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 886, + 10, + 1, + 225, + 'Hurst Olds', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69hurtin', + 31, + 143, + 204, + 129, + 40, + 255, + 31, + 143, + 204, + 129, + 40, + 255, + 31, + 143, + 204, + 129, + 40, + 255, + 31, + 143, + 204, + 129, + 40, + 255, + 27, + 173, + 209, + 97, + 126, + 124, + 27, + 173, + 209, + 127, + 126, + 124, + 32, + 16, + 252, + 190, + 48, + 248, + 32, + 16, + 252, + 190, + 48, + 248, + 0, + 'Medina', + NULL + ), + ( + 888, + 10, + 1, + 212, + 'Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 128, + 0, + 0, + 128, + 0, + 128, + 151, + 135, + 158, + 128, + 16, + 232, + 0, + 'system', + 'As per 70 Mach 1 CSV.' + ), + ( + 889, + 10, + 1, + 211, + 'Red/Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 1, + 41, + 163, + 128, + 7, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 1, + 254, + 163, + 128, + 13, + 241, + 1, + 254, + 163, + 128, + 13, + 241, + 1, + 254, + 163, + 128, + 13, + 241, + 1, + 254, + 163, + 128, + 13, + 241, + 0, + 'system', + NULL + ), + ( + 890, + 10, + 7, + 115, + 'Spray Paint Special', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57nomru2', + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 18, + 207, + 115, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 891, + 10, + 7, + 115, + 'Graffiti', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 50, + '57nomru3', + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 231, + 27, + 87, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 893, + 10, + 1, + 228, + 'Admiralty Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 150, + 53, + 54, + 152, + 0, + 210, + 20, + 7, + 14, + 128, + 0, + 227, + 150, + 255, + 54, + 152, + 0, + 172, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 150, + 255, + 54, + 152, + 0, + 172, + 0, + 'Factory', + 'As per 70 Firebird CSV' + ), + ( + 894, + 10, + 1, + 211, + 'Lime Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 40, + 50, + 146, + 128, + 0, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 40, + 131, + 146, + 128, + 0, + 233, + 128, + 0, + 2, + 128, + 0, + 173, + 48, + 122, + 146, + 128, + 0, + 255, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 895, + 10, + 1, + 211, + 'Winter Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 142, + 62, + 73, + 128, + 0, + 237, + 142, + 13, + 73, + 128, + 0, + 252, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 142, + 252, + 73, + 128, + 0, + 227, + 142, + 54, + 73, + 128, + 0, + 237, + 142, + 13, + 73, + 128, + 0, + 252, + 142, + 252, + 73, + 128, + 0, + 227, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 896, + 10, + 1, + 211, + 'Royal Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 250, + 65, + 52, + 128, + 0, + 235, + 32, + 177, + 128, + 128, + 0, + 236, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 250, + 237, + 52, + 128, + 0, + 206, + 26, + 237, + 52, + 128, + 0, + 222, + 32, + 177, + 128, + 128, + 0, + 236, + 250, + 237, + 52, + 128, + 0, + 206, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 897, + 10, + 1, + 211, + 'Acapulco Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 159, + 61, + 53, + 128, + 0, + 233, + 159, + 249, + 53, + 128, + 0, + 208, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 898, + 10, + 1, + 211, + 'New Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 37, + 43, + 152, + 128, + 22, + 220, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 899, + 10, + 1, + 211, + 'Silver Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 124, + 57, + 56, + 128, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 114, + 54, + 124, + 128, + 0, + 219, + 128, + 0, + 2, + 128, + 0, + 173, + 109, + 54, + 124, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 900, + 10, + 1, + 211, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 128, + 0, + 255, + 128, + 1, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 44, + 45, + 255, + 128, + 45, + 222, + 128, + 0, + 2, + 128, + 0, + 173, + 44, + 45, + 255, + 128, + 66, + 222, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 901, + 10, + 1, + 211, + 'Black Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 30, + 10, + 1, + 128, + 2, + 224, + 30, + 10, + 1, + 128, + 2, + 155, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 30, + 10, + 1, + 128, + 2, + 155, + 1, + 254, + 163, + 128, + 13, + 220, + 1, + 254, + 163, + 128, + 13, + 241, + 30, + 10, + 1, + 128, + 2, + 155, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 902, + 10, + 1, + 211, + 'Gulfstream Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 130, + 32, + 47, + 163, + 0, + 214, + 130, + 172, + 47, + 163, + 0, + 195, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 903, + 10, + 1, + 211, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 1, + 41, + 163, + 128, + 7, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 1, + 254, + 163, + 128, + 1, + 224, + 128, + 0, + 2, + 128, + 0, + 173, + 1, + 254, + 163, + 128, + 13, + 241, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 904, + 10, + 1, + 211, + 'Indian Fire Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 6, + 60, + 135, + 165, + 11, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 905, + 10, + 1, + 211, + 'Dresden Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 128, + 24, + 212, + 128, + 2, + 250, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 133, + 116, + 212, + 128, + 13, + 227, + 133, + 116, + 212, + 128, + 13, + 207, + 128, + 0, + 2, + 128, + 0, + 173, + 133, + 116, + 116, + 128, + 13, + 227, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 906, + 10, + 1, + 211, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 30, + 30, + 255, + 118, + 27, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 30, + 254, + 255, + 118, + 45, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 30, + 254, + 255, + 118, + 45, + 252, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 907, + 10, + 1, + 211, + 'Pastel Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 128, + 18, + 164, + 128, + 6, + 253, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 908, + 10, + 1, + 211, + 'Presidential Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 148, + 69, + 103, + 186, + 2, + 210, + 148, + 255, + 103, + 186, + 2, + 185, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 909, + 10, + 1, + 211, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 19, + 32, + 88, + 155, + 0, + 223, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 19, + 90, + 88, + 155, + 0, + 202, + 128, + 0, + 2, + 128, + 0, + 173, + 19, + 90, + 88, + 155, + 0, + 211, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 910, + 10, + 1, + 211, + 'Brittany Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtttin', + 138, + 50, + 92, + 137, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 163, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 163, + 138, + 219, + 92, + 137, + 0, + 214, + 128, + 0, + 2, + 128, + 0, + 163, + 138, + 219, + 92, + 137, + 0, + 224, + 0, + 'Factory', + 'As per 69 Torino CSV' + ), + ( + 911, + 10, + 1, + 218, + 'Capri Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 3, + 250, + 64, + 128, + 0, + 252, + 30, + 10, + 5, + 128, + 0, + 245, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 43, + 26, + 255, + 100, + 48, + 255, + 43, + 26, + 255, + 100, + 35, + 255, + 43, + 26, + 255, + 100, + 48, + 255, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 912, + 10, + 1, + 218, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 20, + 5, + 1, + 99, + 0, + 206, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 99, + 0, + 206, + 20, + 5, + 1, + 128, + 0, + 229, + 20, + 5, + 1, + 99, + 0, + 206, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 913, + 10, + 1, + 218, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 3, + 250, + 64, + 128, + 0, + 227, + 22, + 104, + 94, + 128, + 0, + 252, + 22, + 104, + 94, + 128, + 0, + 252, + 22, + 104, + 94, + 128, + 0, + 252, + 30, + 15, + 2, + 128, + 0, + 214, + 3, + 250, + 64, + 128, + 0, + 227, + 248, + 45, + 64, + 128, + 0, + 244, + 3, + 250, + 64, + 128, + 0, + 227, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 914, + 10, + 1, + 218, + 'Sierra Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 30, + 10, + 126, + 128, + 0, + 248, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 130, + 5, + 124, + 122, + 1, + 232, + 28, + 14, + 124, + 122, + 1, + 253, + 28, + 14, + 124, + 122, + 1, + 232, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 915, + 10, + 1, + 218, + 'Nantucket Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 30, + 10, + 126, + 128, + 36, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 154, + 30, + 15, + 255, + 128, + 60, + 255, + 142, + 117, + 141, + 128, + 0, + 235, + 142, + 44, + 171, + 128, + 0, + 253, + 142, + 117, + 141, + 128, + 0, + 235, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 916, + 10, + 1, + 218, + 'Butternut Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 35, + 134, + 255, + 128, + 43, + 255, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 255, + 128, + 60, + 255, + 35, + 134, + 255, + 128, + 43, + 255, + 35, + 82, + 255, + 128, + 7, + 255, + 35, + 134, + 255, + 128, + 43, + 255, + 0, + 'System', + 'As per 67 Chevelle CSV' + ), + ( + 917, + 10, + 1, + 218, + 'Ermine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 128, + 5, + 255, + 83, + 58, + 255, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 128, + 5, + 255, + 83, + 58, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 83, + 58, + 255, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 918, + 10, + 1, + 218, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 79, + 64, + 91, + 118, + 0, + 249, + 28, + 104, + 94, + 128, + 20, + 252, + 28, + 104, + 94, + 128, + 20, + 252, + 28, + 104, + 94, + 128, + 20, + 252, + 30, + 15, + 2, + 128, + 0, + 214, + 79, + 64, + 91, + 118, + 0, + 249, + 79, + 36, + 91, + 118, + 15, + 254, + 79, + 64, + 91, + 118, + 0, + 249, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 919, + 10, + 1, + 218, + 'Granada Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 30, + 10, + 5, + 128, + 0, + 214, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 31, + 135, + 142, + 128, + 2, + 249, + 31, + 22, + 142, + 128, + 11, + 254, + 31, + 135, + 142, + 128, + 2, + 249, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 920, + 10, + 1, + 218, + 'Tahoe Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 128, + 254, + 43, + 143, + 0, + 197, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 128, + 254, + 43, + 143, + 0, + 197, + 128, + 56, + 137, + 143, + 0, + 224, + 128, + 254, + 43, + 143, + 0, + 197, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 921, + 10, + 1, + 218, + 'Royal Plum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 224, + 253, + 32, + 114, + 0, + 198, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 224, + 253, + 32, + 114, + 0, + 198, + 224, + 53, + 32, + 114, + 0, + 252, + 224, + 253, + 32, + 114, + 0, + 198, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 922, + 10, + 1, + 218, + 'Marina Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 133, + 171, + 108, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 133, + 171, + 108, + 128, + 0, + 237, + 133, + 28, + 108, + 128, + 10, + 255, + 133, + 171, + 108, + 128, + 0, + 237, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 923, + 10, + 1, + 218, + 'Emerald Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67csstin', + 128, + 0, + 255, + 128, + 33, + 255, + 30, + 15, + 255, + 78, + 60, + 255, + 30, + 15, + 255, + 78, + 60, + 255, + 30, + 15, + 255, + 78, + 60, + 255, + 30, + 15, + 255, + 128, + 60, + 255, + 124, + 171, + 193, + 134, + 0, + 246, + 124, + 53, + 193, + 134, + 9, + 255, + 124, + 171, + 193, + 134, + 0, + 246, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 924, + 10, + 1, + 218, + 'White/Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 128, + 5, + 255, + 83, + 58, + 255, + 30, + 15, + 2, + 128, + 0, + 214, + 30, + 15, + 2, + 128, + 0, + 214, + 30, + 15, + 2, + 128, + 0, + 214, + 30, + 15, + 2, + 128, + 0, + 214, + 142, + 131, + 141, + 128, + 16, + 235, + 128, + 5, + 255, + 83, + 58, + 255, + 128, + 5, + 255, + 83, + 58, + 255, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 925, + 10, + 1, + 218, + 'Medium Blue/White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 30, + 10, + 126, + 128, + 36, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 30, + 15, + 255, + 128, + 60, + 255, + 128, + 5, + 255, + 83, + 58, + 255, + 142, + 131, + 141, + 128, + 16, + 235, + 142, + 131, + 141, + 128, + 16, + 235, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 926, + 10, + 1, + 218, + 'Medium Blue/Dark Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 30, + 10, + 126, + 128, + 36, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 32, + 26, + 207, + 108, + 52, + 254, + 30, + 15, + 255, + 128, + 60, + 255, + 148, + 255, + 54, + 135, + 0, + 194, + 142, + 131, + 141, + 128, + 16, + 235, + 142, + 131, + 141, + 128, + 16, + 235, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 927, + 10, + 1, + 218, + 'Dark Blue/Medium Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 30, + 10, + 126, + 128, + 0, + 248, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 237, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 142, + 131, + 141, + 128, + 16, + 235, + 148, + 255, + 54, + 135, + 0, + 194, + 148, + 255, + 54, + 135, + 0, + 194, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 928, + 10, + 1, + 218, + 'Gold/Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 30, + 10, + 5, + 128, + 0, + 214, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 43, + 26, + 255, + 100, + 48, + 255, + 31, + 22, + 142, + 128, + 11, + 254, + 31, + 135, + 142, + 128, + 2, + 249, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 929, + 10, + 1, + 218, + 'Dark Turquoise/White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 128, + 254, + 43, + 143, + 0, + 197, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 240, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 128, + 5, + 255, + 83, + 58, + 255, + 128, + 56, + 137, + 143, + 0, + 224, + 128, + 254, + 43, + 143, + 0, + 197, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 930, + 10, + 1, + 218, + 'Fawn/Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '67csstin', + 30, + 10, + 126, + 128, + 0, + 248, + 30, + 10, + 5, + 128, + 0, + 250, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 43, + 26, + 255, + 100, + 48, + 255, + 28, + 14, + 124, + 122, + 1, + 232, + 28, + 14, + 124, + 122, + 1, + 232, + 0, + 'system', + 'As per 67 Chevelle CSV' + ), + ( + 931, + 10, + 1, + 101, + 'Lime Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 40, + 50, + 146, + 128, + 0, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 40, + 0, + 0, + 135, + 0, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 48, + 122, + 146, + 128, + 0, + 255, + 0, + NULL, + NULL + ), + ( + 932, + 10, + 1, + 101, + 'Winter Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 142, + 62, + 73, + 128, + 0, + 237, + 142, + 13, + 73, + 128, + 0, + 252, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 142, + 252, + 73, + 128, + 0, + 227, + 32, + 177, + 128, + 128, + 8, + 249, + 142, + 13, + 73, + 128, + 0, + 252, + 142, + 252, + 73, + 128, + 0, + 227, + 0, + NULL, + NULL + ), + ( + 933, + 10, + 1, + 101, + 'Royal Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 250, + 65, + 52, + 128, + 0, + 235, + 32, + 177, + 128, + 128, + 0, + 236, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 250, + 237, + 52, + 128, + 0, + 206, + 32, + 177, + 128, + 128, + 8, + 249, + 32, + 177, + 128, + 128, + 0, + 236, + 250, + 237, + 52, + 128, + 0, + 206, + 0, + NULL, + NULL + ), + ( + 934, + 10, + 1, + 101, + 'Acapulco Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 159, + 61, + 53, + 128, + 0, + 233, + 159, + 249, + 53, + 128, + 0, + 208, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 159, + 249, + 53, + 128, + 0, + 208, + 142, + 0, + 252, + 128, + 34, + 237, + 159, + 249, + 53, + 128, + 0, + 208, + 159, + 249, + 53, + 128, + 0, + 208, + 0, + NULL, + NULL + ), + ( + 935, + 10, + 1, + 101, + 'New Lime', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 37, + 43, + 152, + 128, + 22, + 220, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 37, + 142, + 152, + 128, + 22, + 220, + 40, + 0, + 0, + 135, + 0, + 212, + 37, + 142, + 152, + 128, + 22, + 220, + 37, + 142, + 152, + 128, + 22, + 220, + 0, + NULL, + NULL + ), + ( + 936, + 10, + 1, + 101, + 'Silver Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 124, + 57, + 56, + 128, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 0, + 2, + 128, + 0, + 173, + 109, + 54, + 124, + 128, + 0, + 231, + 0, + NULL, + NULL + ), + ( + 937, + 10, + 1, + 101, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 0, + 255, + 128, + 1, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 253, + 234, + 191, + 128, + 48, + 229, + 128, + 0, + 2, + 128, + 0, + 173, + 44, + 45, + 255, + 128, + 66, + 222, + 0, + NULL, + NULL + ), + ( + 938, + 10, + 1, + 101, + 'Black Jade', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 30, + 10, + 1, + 128, + 2, + 224, + 30, + 10, + 1, + 128, + 2, + 155, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 30, + 10, + 1, + 128, + 2, + 155, + 253, + 234, + 191, + 128, + 48, + 229, + 1, + 254, + 163, + 128, + 13, + 241, + 30, + 10, + 1, + 128, + 2, + 155, + 0, + NULL, + NULL + ), + ( + 939, + 10, + 1, + 101, + 'Gulfstream Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 130, + 32, + 47, + 163, + 0, + 214, + 130, + 172, + 47, + 163, + 0, + 195, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 130, + 172, + 47, + 163, + 0, + 195, + 32, + 177, + 128, + 128, + 8, + 249, + 130, + 172, + 47, + 163, + 0, + 195, + 130, + 172, + 47, + 163, + 0, + 195, + 0, + NULL, + NULL + ), + ( + 940, + 10, + 1, + 101, + 'Rangoon Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 1, + 41, + 163, + 128, + 7, + 241, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 0, + 2, + 128, + 0, + 173, + 1, + 254, + 163, + 128, + 13, + 241, + 0, + NULL, + NULL + ), + ( + 941, + 10, + 1, + 101, + 'Indian Fire Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 6, + 60, + 135, + 165, + 11, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 6, + 255, + 135, + 165, + 11, + 203, + 32, + 177, + 128, + 128, + 8, + 249, + 6, + 255, + 135, + 165, + 11, + 203, + 6, + 255, + 135, + 165, + 11, + 203, + 0, + NULL, + NULL + ), + ( + 942, + 10, + 1, + 101, + 'Dresden Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 24, + 212, + 128, + 2, + 250, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 133, + 116, + 212, + 128, + 13, + 227, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 0, + 2, + 128, + 0, + 173, + 133, + 116, + 212, + 128, + 13, + 227, + 0, + NULL, + NULL + ), + ( + 943, + 10, + 1, + 101, + 'Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 30, + 30, + 255, + 118, + 27, + 252, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 40, + 0, + 0, + 135, + 0, + 212, + 128, + 0, + 2, + 128, + 0, + 173, + 30, + 254, + 255, + 118, + 45, + 252, + 0, + NULL, + NULL + ), + ( + 944, + 10, + 1, + 101, + 'Pastel Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 128, + 18, + 164, + 128, + 6, + 253, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 33, + 164, + 128, + 0, + 248, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 33, + 164, + 128, + 0, + 248, + 128, + 33, + 164, + 128, + 0, + 248, + 0, + NULL, + NULL + ), + ( + 945, + 10, + 1, + 101, + 'Presidential Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 148, + 69, + 103, + 186, + 2, + 210, + 148, + 255, + 103, + 186, + 2, + 185, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 148, + 255, + 103, + 186, + 2, + 185, + 253, + 234, + 191, + 128, + 48, + 229, + 148, + 255, + 103, + 186, + 2, + 185, + 148, + 255, + 103, + 186, + 2, + 185, + 0, + NULL, + NULL + ), + ( + 946, + 10, + 1, + 101, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 19, + 32, + 88, + 155, + 0, + 223, + 128, + 0, + 2, + 128, + 0, + 173, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 173, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 0, + 2, + 128, + 0, + 173, + 19, + 90, + 88, + 155, + 0, + 211, + 0, + NULL, + NULL + ), + ( + 947, + 10, + 1, + 101, + 'Brittany Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '32fortin', + 138, + 50, + 92, + 137, + 0, + 240, + 128, + 0, + 2, + 128, + 0, + 163, + 128, + 0, + 54, + 128, + 0, + 242, + 128, + 0, + 49, + 128, + 0, + 242, + 128, + 0, + 2, + 128, + 0, + 163, + 142, + 0, + 252, + 128, + 34, + 237, + 128, + 0, + 2, + 128, + 0, + 163, + 138, + 219, + 92, + 137, + 0, + 224, + 0, + NULL, + NULL + ), + ( + 965, + 10, + 1, + 228, + 'Florentine Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 250, + 79, + 45, + 128, + 0, + 236, + 26, + 101, + 184, + 128, + 0, + 222, + 252, + 255, + 75, + 128, + 0, + 173, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 252, + 255, + 75, + 128, + 0, + 173, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 966, + 10, + 1, + 228, + 'Sunlight Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 31, + 146, + 255, + 128, + 5, + 255, + 20, + 7, + 14, + 128, + 0, + 227, + 31, + 236, + 255, + 128, + 6, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 31, + 236, + 255, + 128, + 6, + 255, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 967, + 10, + 1, + 228, + 'Brewster Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 107, + 39, + 28, + 128, + 0, + 211, + 26, + 101, + 184, + 128, + 0, + 222, + 107, + 255, + 28, + 138, + 0, + 168, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 107, + 255, + 28, + 138, + 0, + 168, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 968, + 10, + 1, + 228, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 128, + 0, + 75, + 82, + 0, + 242, + 128, + 0, + 1, + 82, + 0, + 206, + 128, + 0, + 1, + 82, + 0, + 156, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 128, + 0, + 1, + 82, + 0, + 156, + 128, + 0, + 1, + 82, + 0, + 156, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 969, + 10, + 1, + 228, + 'Regatta Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 135, + 78, + 77, + 158, + 0, + 218, + 20, + 7, + 14, + 128, + 0, + 227, + 146, + 255, + 109, + 135, + 0, + 214, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 146, + 255, + 109, + 135, + 0, + 214, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 970, + 10, + 1, + 228, + 'Ascot Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 128, + 0, + 195, + 148, + 0, + 232, + 20, + 7, + 14, + 128, + 0, + 227, + 128, + 13, + 122, + 137, + 0, + 220, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 128, + 13, + 122, + 137, + 0, + 220, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 971, + 10, + 1, + 228, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 128, + 0, + 255, + 128, + 1, + 254, + 20, + 7, + 14, + 128, + 0, + 227, + 128, + 0, + 255, + 128, + 14, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 128, + 0, + 255, + 128, + 14, + 255, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 972, + 10, + 1, + 228, + 'Buccaneer Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 6, + 77, + 255, + 128, + 0, + 242, + 20, + 7, + 14, + 128, + 0, + 227, + 1, + 255, + 255, + 128, + 0, + 240, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 1, + 255, + 255, + 128, + 0, + 240, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 973, + 10, + 1, + 228, + 'Golden Olive', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 45, + 33, + 134, + 154, + 0, + 210, + 20, + 7, + 14, + 128, + 0, + 227, + 37, + 165, + 109, + 154, + 0, + 199, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 37, + 165, + 109, + 154, + 0, + 199, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 974, + 10, + 1, + 228, + 'Desert Sand', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 27, + 44, + 156, + 128, + 0, + 254, + 20, + 7, + 14, + 128, + 0, + 227, + 27, + 180, + 156, + 128, + 0, + 248, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 27, + 180, + 156, + 128, + 0, + 248, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 975, + 10, + 1, + 228, + 'Burnished Amber', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73firtin', + 35, + 22, + 61, + 158, + 0, + 208, + 26, + 101, + 184, + 128, + 0, + 222, + 35, + 83, + 61, + 158, + 0, + 181, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 35, + 83, + 61, + 158, + 0, + 181, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 976, + 10, + 1, + 227, + 'Florentine Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 250, + 79, + 45, + 128, + 0, + 236, + 26, + 101, + 184, + 128, + 0, + 222, + 252, + 255, + 75, + 128, + 0, + 173, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 252, + 255, + 75, + 128, + 0, + 173, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 977, + 10, + 1, + 227, + 'Sunlight Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 31, + 146, + 255, + 128, + 5, + 255, + 20, + 7, + 14, + 128, + 0, + 227, + 31, + 236, + 255, + 128, + 6, + 255, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 31, + 236, + 255, + 128, + 6, + 255, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 978, + 10, + 1, + 227, + 'Brewster Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 107, + 39, + 28, + 128, + 0, + 211, + 26, + 101, + 184, + 128, + 0, + 222, + 107, + 255, + 28, + 138, + 0, + 168, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 107, + 255, + 28, + 138, + 0, + 168, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 979, + 10, + 1, + 227, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 128, + 0, + 75, + 82, + 0, + 242, + 128, + 0, + 1, + 82, + 0, + 206, + 128, + 0, + 1, + 82, + 0, + 156, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 128, + 0, + 1, + 82, + 0, + 156, + 128, + 0, + 1, + 82, + 0, + 156, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 980, + 10, + 1, + 227, + 'Regatta Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 135, + 78, + 77, + 158, + 0, + 218, + 20, + 7, + 14, + 128, + 0, + 227, + 146, + 255, + 109, + 135, + 0, + 214, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 146, + 255, + 109, + 135, + 0, + 214, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 981, + 10, + 1, + 227, + 'Ascot Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 128, + 0, + 195, + 148, + 0, + 232, + 20, + 7, + 14, + 128, + 0, + 227, + 128, + 13, + 122, + 137, + 0, + 220, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 128, + 13, + 122, + 137, + 0, + 220, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 982, + 10, + 1, + 227, + 'Buccaneer Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 6, + 77, + 255, + 128, + 0, + 242, + 20, + 7, + 14, + 128, + 0, + 227, + 1, + 255, + 255, + 128, + 0, + 240, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 1, + 255, + 255, + 128, + 0, + 240, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 983, + 10, + 1, + 227, + 'Golden Olive', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 45, + 33, + 134, + 154, + 0, + 210, + 20, + 7, + 14, + 128, + 0, + 227, + 37, + 165, + 109, + 154, + 0, + 199, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 37, + 165, + 109, + 154, + 0, + 199, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 984, + 10, + 1, + 227, + 'Desert Sand', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 27, + 44, + 156, + 128, + 0, + 254, + 20, + 7, + 14, + 128, + 0, + 227, + 27, + 180, + 156, + 128, + 0, + 248, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 215, + 20, + 7, + 14, + 128, + 0, + 158, + 27, + 180, + 156, + 128, + 0, + 248, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 985, + 10, + 1, + 227, + 'Burnished Amber', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 35, + 22, + 61, + 158, + 0, + 208, + 26, + 101, + 184, + 128, + 0, + 222, + 35, + 83, + 61, + 158, + 0, + 181, + 20, + 7, + 9, + 118, + 3, + 241, + 26, + 101, + 184, + 128, + 0, + 214, + 131, + 20, + 168, + 128, + 0, + 215, + 26, + 101, + 184, + 128, + 0, + 214, + 35, + 83, + 61, + 158, + 0, + 181, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 986, + 10, + 1, + 226, + 'Expresso Brown', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 19, + 54, + 52, + 128, + 0, + 208, + 19, + 169, + 52, + 128, + 0, + 193, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 19, + 169, + 52, + 128, + 0, + 193, + 19, + 169, + 52, + 128, + 0, + 193, + 19, + 169, + 52, + 128, + 0, + 193, + 0, + 'system', + 'As per 69 GTO CSV' + ), + ( + 987, + 10, + 1, + 226, + 'Mayfair Maize', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 30, + 79, + 255, + 128, + 7, + 255, + 30, + 151, + 255, + 128, + 7, + 255, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 30, + 151, + 255, + 128, + 7, + 255, + 30, + 151, + 255, + 128, + 7, + 255, + 30, + 151, + 255, + 128, + 7, + 255, + 0, + 'system', + 'As per 69 GTO CSV' + ), + ( + 988, + 10, + 1, + 226, + 'Warwick Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 142, + 129, + 167, + 128, + 6, + 229, + 142, + 142, + 167, + 128, + 6, + 208, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 14, + 128, + 0, + 215, + 30, + 10, + 19, + 128, + 0, + 175, + 142, + 88, + 167, + 128, + 6, + 212, + 142, + 5, + 167, + 128, + 6, + 240, + 142, + 255, + 167, + 128, + 6, + 201, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 989, + 10, + 1, + 226, + 'Burgundy', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 249, + 79, + 61, + 128, + 0, + 229, + 11, + 255, + 255, + 128, + 1, + 233, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 74, + 142, + 128, + 0, + 241, + 23, + 255, + 255, + 128, + 17, + 255, + 37, + 255, + 255, + 128, + 17, + 255, + 249, + 255, + 61, + 128, + 0, + 198, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 990, + 10, + 1, + 226, + 'Liberty Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 144, + 69, + 58, + 128, + 0, + 208, + 142, + 129, + 167, + 128, + 6, + 211, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 142, + 101, + 167, + 128, + 6, + 236, + 142, + 5, + 167, + 128, + 6, + 240, + 144, + 255, + 58, + 128, + 0, + 180, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 991, + 10, + 1, + 226, + 'Matador Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 2, + 69, + 144, + 128, + 0, + 227, + 15, + 255, + 255, + 128, + 17, + 255, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 23, + 255, + 255, + 128, + 17, + 255, + 37, + 255, + 255, + 128, + 17, + 255, + 2, + 255, + 144, + 128, + 0, + 227, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 992, + 10, + 1, + 226, + 'Antique Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 31, + 64, + 182, + 128, + 0, + 239, + 26, + 169, + 182, + 128, + 0, + 232, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 26, + 169, + 182, + 128, + 0, + 232, + 26, + 169, + 182, + 128, + 0, + 232, + 26, + 169, + 182, + 128, + 0, + 232, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 993, + 10, + 1, + 226, + 'Champagne', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 34, + 45, + 73, + 128, + 0, + 231, + 34, + 91, + 105, + 128, + 0, + 212, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 30, + 36, + 145, + 128, + 0, + 224, + 30, + 36, + 145, + 128, + 0, + 224, + 30, + 36, + 145, + 128, + 0, + 224, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 994, + 10, + 1, + 226, + 'Starlight Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 30, + 10, + 5, + 154, + 0, + 192, + 2, + 255, + 255, + 128, + 0, + 195, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 1, + 255, + 255, + 128, + 0, + 237, + 1, + 255, + 255, + 128, + 26, + 255, + 30, + 10, + 5, + 154, + 0, + 155, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 995, + 10, + 1, + 226, + 'Windward Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 147, + 41, + 74, + 128, + 0, + 224, + 134, + 186, + 74, + 128, + 0, + 198, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 134, + 186, + 74, + 128, + 0, + 198, + 134, + 186, + 74, + 128, + 0, + 198, + 134, + 186, + 74, + 128, + 0, + 198, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 996, + 10, + 1, + 226, + 'Goldenrod Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 37, + 62, + 255, + 128, + 18, + 255, + 28, + 255, + 255, + 128, + 26, + 225, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 24, + 255, + 255, + 128, + 26, + 255, + 18, + 255, + 255, + 128, + 26, + 255, + 31, + 255, + 255, + 128, + 17, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 997, + 10, + 1, + 226, + 'Verdoro Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 103, + 41, + 28, + 154, + 0, + 206, + 60, + 255, + 255, + 128, + 1, + 214, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 47, + 255, + 255, + 128, + 1, + 244, + 37, + 255, + 255, + 128, + 17, + 255, + 69, + 125, + 28, + 154, + 0, + 176, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 998, + 10, + 1, + 226, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 128, + 5, + 255, + 128, + 14, + 255, + 2, + 73, + 255, + 128, + 19, + 225, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 2, + 146, + 255, + 128, + 19, + 255, + 2, + 255, + 255, + 128, + 19, + 255, + 47, + 11, + 255, + 128, + 27, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 999, + 10, + 1, + 226, + 'Crystal Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 121, + 44, + 71, + 128, + 0, + 218, + 121, + 255, + 71, + 128, + 0, + 205, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 14, + 128, + 0, + 215, + 30, + 10, + 19, + 128, + 0, + 175, + 121, + 255, + 71, + 128, + 0, + 205, + 121, + 255, + 71, + 128, + 0, + 205, + 121, + 255, + 71, + 128, + 0, + 205, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 1000, + 10, + 1, + 226, + 'Limelight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 50, + 45, + 95, + 128, + 0, + 229, + 50, + 108, + 95, + 128, + 0, + 211, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 50, + 108, + 95, + 128, + 0, + 211, + 50, + 108, + 95, + 128, + 0, + 211, + 50, + 108, + 95, + 128, + 0, + 211, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 1001, + 10, + 1, + 226, + 'Carousel Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 2, + 77, + 255, + 128, + 0, + 245, + 13, + 255, + 255, + 128, + 9, + 255, + 40, + 7, + 16, + 128, + 0, + 194, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 10, + 19, + 128, + 0, + 175, + 22, + 255, + 255, + 128, + 9, + 255, + 32, + 255, + 255, + 128, + 9, + 255, + 2, + 255, + 255, + 128, + 0, + 255, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 1002, + 10, + 1, + 226, + 'Paladium Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69judtin', + 128, + 15, + 94, + 128, + 0, + 237, + 32, + 73, + 255, + 128, + 0, + 237, + 40, + 20, + 255, + 128, + 0, + 249, + 128, + 0, + 18, + 128, + 0, + 219, + 30, + 48, + 142, + 128, + 45, + 241, + 32, + 142, + 255, + 128, + 0, + 240, + 32, + 255, + 255, + 128, + 9, + 255, + 128, + 15, + 94, + 128, + 0, + 228, + 0, + 'Factory', + 'As per 69 GTO CSV' + ), + ( + 1005, + 10, + 1, + 213, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 9, + 255, + 255, + 92, + 44, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1006, + 10, + 1, + 214, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 9, + 255, + 255, + 92, + 44, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1007, + 10, + 1, + 215, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 9, + 255, + 255, + 92, + 44, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1008, + 10, + 1, + 134, + 'Jamaica Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + NULL, + 7, + 0, + 128, + 0, + 172, + 148, + 203, + NULL, + 141, + 0, + 229, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1009, + 10, + 1, + 213, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 138, + 163, + 73, + 128, + 0, + 235, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1010, + 10, + 1, + 213, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 156, + 208, + 189, + 128, + 0, + 253, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1011, + 10, + 1, + 213, + 'Citron Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 49, + 97, + 139, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1012, + 10, + 1, + 213, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 142, + 126, + 112, + 128, + 0, + 240, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1013, + 10, + 1, + 213, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 96, + 176, + 48, + 148, + 0, + 203, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1014, + 10, + 1, + 213, + 'Sassy Grass Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 90, + 235, + 255, + 128, + 16, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1015, + 10, + 1, + 213, + 'Tor-Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 255, + 133, + 15, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1016, + 10, + 1, + 213, + 'Burnt Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 13, + 210, + 146, + 128, + 0, + 248, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1017, + 10, + 1, + 213, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 27, + 45, + 120, + 101, + 16, + 254, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1018, + 10, + 1, + 213, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 82, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1019, + 10, + 1, + 213, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 19, + 163, + 75, + 128, + 0, + 220, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1020, + 10, + 1, + 213, + 'In-Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 222, + 255, + 74, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1021, + 10, + 1, + 213, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 1, + 215, + 48, + 128, + 7, + 255, + 1, + 215, + 48, + 128, + 0, + 245, + 1, + 215, + 48, + 128, + 0, + 233, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 128, + 3, + 255, + 97, + 45, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1022, + 10, + 1, + 213, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 33, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1023, + 10, + 1, + 213, + 'Citron Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 28, + 172, + 255, + 116, + 27, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1024, + 10, + 1, + 213, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70hemtin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 7, + 7, + 0, + 128, + 0, + 178, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1025, + 10, + 1, + 214, + 'Jamaica Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 148, + 203, + 101, + 141, + 0, + 229, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1026, + 10, + 1, + 214, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 138, + 163, + 73, + 128, + 0, + 235, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1027, + 10, + 1, + 214, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 156, + 208, + 189, + 128, + 0, + 253, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1028, + 10, + 1, + 214, + 'Citron Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 49, + 97, + 139, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1029, + 10, + 1, + 214, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 142, + 126, + 112, + 128, + 0, + 240, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1030, + 10, + 1, + 214, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 96, + 176, + 48, + 148, + 0, + 203, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1031, + 10, + 1, + 214, + 'Sassy Grass Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 90, + 235, + 255, + 128, + 16, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1032, + 10, + 1, + 214, + 'Tor-Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 255, + 133, + 15, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1033, + 10, + 1, + 214, + 'Burnt Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 13, + 210, + 146, + 128, + 0, + 248, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1034, + 10, + 1, + 214, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 27, + 45, + 120, + 101, + 16, + 254, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1035, + 10, + 1, + 214, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 82, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1036, + 10, + 1, + 214, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 19, + 163, + 75, + 128, + 0, + 220, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1037, + 10, + 1, + 214, + 'In-Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 222, + 255, + 74, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1038, + 10, + 1, + 214, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 1, + 215, + 48, + 128, + 7, + 255, + 1, + 215, + 48, + 128, + 0, + 245, + 1, + 215, + 48, + 128, + 0, + 233, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 128, + 3, + 255, + 97, + 45, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1039, + 10, + 1, + 214, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 33, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1040, + 10, + 1, + 214, + 'Citron Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 28, + 172, + 255, + 116, + 27, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1041, + 10, + 1, + 214, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70h44tin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 7, + 7, + 0, + 128, + 0, + 178, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1042, + 10, + 1, + 215, + 'Jamaica Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 148, + 203, + 101, + 141, + 0, + 229, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1043, + 10, + 1, + 215, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 138, + 163, + 73, + 128, + 0, + 235, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1044, + 10, + 1, + 215, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 156, + 208, + 189, + 128, + 0, + 253, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1045, + 10, + 1, + 215, + 'Citron Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 49, + 97, + 139, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1046, + 10, + 1, + 215, + 'Ice Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 142, + 126, + 112, + 128, + 0, + 240, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1047, + 10, + 1, + 215, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 96, + 176, + 48, + 148, + 0, + 203, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1048, + 10, + 1, + 215, + 'Sassy Grass Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 90, + 235, + 255, + 128, + 16, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1049, + 10, + 1, + 215, + 'Tor-Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 255, + 133, + 15, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1050, + 10, + 1, + 215, + 'Burnt Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 13, + 210, + 146, + 128, + 0, + 248, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1051, + 10, + 1, + 215, + 'Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 27, + 45, + 120, + 101, + 16, + 254, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1052, + 10, + 1, + 215, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 1, + 255, + 82, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1053, + 10, + 1, + 215, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 97, + 48, + 128, + 6, + 255, + 20, + 97, + 48, + 128, + 0, + 249, + 20, + 97, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 19, + 163, + 75, + 128, + 0, + 220, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1054, + 10, + 1, + 215, + 'In-Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 222, + 255, + 74, + 128, + 0, + 231, + 0, + 'Factory', + 'As per 70 Cuda CSV. Does not match reference as a factory stock color.' + ), + ( + 1055, + 10, + 1, + 215, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 1, + 215, + 48, + 128, + 7, + 255, + 1, + 215, + 48, + 128, + 0, + 245, + 1, + 215, + 48, + 128, + 0, + 233, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 128, + 3, + 255, + 97, + 45, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1056, + 10, + 1, + 215, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 33, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1057, + 10, + 1, + 215, + 'Citron Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 28, + 172, + 255, + 116, + 27, + 255, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1058, + 10, + 1, + 215, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70aartin', + 7, + 7, + 0, + 128, + 0, + 224, + 20, + 7, + 48, + 128, + 0, + 255, + 20, + 7, + 58, + 128, + 0, + 244, + 20, + 7, + 48, + 128, + 0, + 241, + 20, + 7, + 16, + 128, + 0, + 188, + 9, + 9, + 9, + 92, + 1, + 219, + 7, + 7, + 0, + 128, + 0, + 172, + 7, + 7, + 0, + 128, + 0, + 178, + 0, + 'Factory', + 'As per 70 Cuda CSV.' + ), + ( + 1059, + 10, + 1, + 227, + 'Admiralty Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '73fortin', + 150, + 53, + 54, + 152, + 0, + 210, + 20, + 7, + 14, + 128, + 0, + 227, + 150, + 255, + 54, + 152, + 0, + 172, + 20, + 7, + 9, + 118, + 3, + 241, + 20, + 7, + 14, + 128, + 0, + 158, + 131, + 20, + 168, + 128, + 0, + 237, + 20, + 7, + 14, + 128, + 0, + 158, + 150, + 255, + 54, + 152, + 0, + 172, + 0, + 'system', + 'As per 70 Firebird CSV' + ), + ( + 1060, + 10, + 1, + 216, + 'Lime Light', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 50, + 41, + 135, + 128, + 0, + 240, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 45, + 147, + 135, + 135, + 0, + 232, + 20, + 7, + 6, + 128, + 0, + 165, + 45, + 147, + 135, + 135, + 0, + 232, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1061, + 10, + 1, + 216, + 'Bahama Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 28, + 60, + 208, + 128, + 0, + 249, + 122, + 5, + 184, + 128, + 0, + 246, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 26, + 233, + 208, + 128, + 0, + 239, + 20, + 7, + 6, + 128, + 0, + 165, + 26, + 233, + 208, + 128, + 0, + 239, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1062, + 10, + 1, + 216, + 'Rallye Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 0, + 97, + 255, + 128, + 0, + 244, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 0, + 255, + 255, + 128, + 0, + 245, + 20, + 7, + 6, + 128, + 0, + 165, + 0, + 255, + 255, + 128, + 0, + 245, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1063, + 10, + 1, + 216, + 'In Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 197, + 50, + 87, + 128, + 0, + 236, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 186, + 177, + 87, + 156, + 0, + 203, + 20, + 7, + 6, + 128, + 0, + 165, + 186, + 177, + 87, + 156, + 0, + 203, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1064, + 10, + 1, + 216, + 'Avocado', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 80, + 35, + 24, + 128, + 0, + 218, + 70, + 192, + 24, + 103, + 0, + 186, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 70, + 192, + 24, + 103, + 0, + 186, + 70, + 192, + 24, + 103, + 0, + 186, + 70, + 192, + 24, + 103, + 0, + 186, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1065, + 10, + 1, + 216, + 'True Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 147, + 48, + 109, + 143, + 0, + 222, + 142, + 255, + 109, + 143, + 0, + 212, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 142, + 255, + 109, + 143, + 0, + 212, + 142, + 255, + 109, + 143, + 0, + 212, + 142, + 255, + 109, + 143, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1066, + 10, + 1, + 216, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 40, + 19, + 255, + 88, + 36, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 40, + 19, + 255, + 88, + 36, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 40, + 19, + 255, + 88, + 36, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1067, + 10, + 1, + 216, + 'Coral Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 131, + 62, + 124, + 146, + 0, + 229, + 131, + 214, + 57, + 143, + 0, + 192, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 131, + 214, + 57, + 143, + 0, + 192, + 131, + 214, + 57, + 143, + 0, + 192, + 131, + 214, + 57, + 143, + 0, + 192, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1068, + 10, + 1, + 216, + 'Sandpebble Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 27, + 35, + 108, + 128, + 0, + 246, + 24, + 118, + 176, + 133, + 0, + 240, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 24, + 118, + 176, + 133, + 0, + 240, + 24, + 118, + 176, + 133, + 0, + 240, + 24, + 118, + 176, + 133, + 0, + 240, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1069, + 10, + 1, + 216, + 'Aztec Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 27, + 82, + 160, + 128, + 0, + 254, + 23, + 215, + 160, + 128, + 0, + 252, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 23, + 215, + 160, + 128, + 0, + 252, + 23, + 215, + 160, + 128, + 0, + 252, + 23, + 215, + 160, + 128, + 0, + 252, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1070, + 10, + 1, + 216, + 'Winchester Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 136, + 24, + 202, + 116, + 9, + 255, + 136, + 24, + 202, + 116, + 5, + 229, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 136, + 24, + 202, + 116, + 5, + 229, + 20, + 7, + 6, + 128, + 0, + 165, + 136, + 24, + 202, + 116, + 5, + 229, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1071, + 10, + 1, + 216, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 14, + 69, + 255, + 97, + 19, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 18, + 255, + 255, + 94, + 28, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 18, + 255, + 255, + 94, + 28, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1072, + 10, + 1, + 216, + 'Burnished Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 254, + 48, + 79, + 128, + 0, + 233, + 254, + 252, + 79, + 148, + 0, + 212, + 45, + 37, + 246, + 128, + 9, + 255, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 254, + 252, + 79, + 148, + 0, + 212, + 254, + 252, + 79, + 148, + 0, + 212, + 254, + 252, + 79, + 148, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1073, + 10, + 1, + 216, + 'Lemon Twist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 33, + 131, + 255, + 118, + 19, + 255, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 33, + 255, + 255, + 118, + 26, + 255, + 20, + 7, + 6, + 128, + 0, + 165, + 33, + 255, + 255, + 118, + 26, + 255, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1074, + 10, + 1, + 216, + 'Black Velvet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 37, + 10, + 1, + 73, + 1, + 239, + 122, + 5, + 184, + 128, + 0, + 246, + 20, + 7, + 30, + 116, + 0, + 244, + 20, + 7, + 30, + 117, + 0, + 240, + 20, + 7, + 23, + 128, + 0, + 242, + 37, + 10, + 1, + 69, + 1, + 194, + 37, + 10, + 1, + 69, + 1, + 194, + 37, + 10, + 1, + 69, + 1, + 194, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1075, + 10, + 1, + 216, + 'Autumn Bronze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '71wedtin', + 14, + 82, + 79, + 144, + 0, + 220, + 14, + 252, + 79, + 144, + 0, + 212, + 22, + 134, + 45, + 128, + 0, + 241, + 22, + 134, + 100, + 128, + 0, + 255, + 20, + 7, + 23, + 128, + 0, + 242, + 14, + 252, + 79, + 144, + 0, + 212, + 14, + 252, + 79, + 144, + 0, + 212, + 14, + 252, + 79, + 144, + 0, + 212, + 0, + 'Factory', + 'As per 71 Duster CSV.' + ), + ( + 1076, + 10, + 1, + 224, + 'Crimson', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 2, + 150, + 255, + 128, + 0, + 236, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 2, + 255, + 255, + 128, + 0, + 228, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1077, + 10, + 1, + 224, + 'Platinum', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 134, + 10, + 126, + 128, + 6, + 245, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 134, + 10, + 158, + 128, + 1, + 232, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1078, + 10, + 1, + 224, + 'Trophy Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 170, + 128, + 192, + 128, + 0, + 214, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 147, + 255, + 79, + 128, + 0, + 184, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1079, + 10, + 1, + 224, + 'Ebony Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 6, + 10, + 9, + 128, + 0, + 197, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 6, + 10, + 9, + 128, + 0, + 161, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1080, + 10, + 1, + 224, + 'Topaz', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 37, + 65, + 145, + 128, + 0, + 243, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 31, + 143, + 178, + 128, + 0, + 224, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1081, + 10, + 1, + 224, + 'Cameo White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 128, + 10, + 255, + 128, + 18, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 128, + 10, + 255, + 128, + 43, + 255, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1082, + 10, + 1, + 224, + 'Powder Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 135, + 61, + 190, + 128, + 0, + 242, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 28, + 26, + 164, + 128, + 10, + 255, + 30, + 10, + 1, + 128, + 0, + 194, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 135, + 99, + 190, + 128, + 0, + 237, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1083, + 10, + 1, + 224, + 'Chestnut Bronze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 5, + 91, + 82, + 128, + 0, + 218, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 5, + 231, + 82, + 128, + 0, + 193, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1084, + 10, + 1, + 224, + 'Saffron', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 33, + 96, + 255, + 128, + 16, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 28, + 165, + 255, + 128, + 33, + 255, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1085, + 10, + 1, + 224, + 'Flamingo Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 246, + 33, + 80, + 128, + 7, + 242, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 11, + 10, + 26, + 128, + 0, + 205, + 30, + 10, + 1, + 128, + 0, + 194, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 246, + 43, + 80, + 128, + 7, + 232, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1086, + 10, + 1, + 224, + 'Meadow Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 77, + 44, + 109, + 128, + 1, + 242, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 65, + 75, + 109, + 128, + 1, + 220, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1087, + 10, + 1, + 224, + 'Palomino Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69w30tin', + 32, + 56, + 118, + 128, + 0, + 245, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 28, + 116, + 164, + 128, + 1, + 224, + 30, + 10, + 1, + 128, + 0, + 194, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 32, + 92, + 118, + 128, + 0, + 233, + 0, + 'Factory', + 'As per 69 Olds 442 CSV.' + ), + ( + 1088, + 10, + 1, + 157, + 'Lime Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 66, + 78, + 48, + 128, + 0, + 231, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 66, + 143, + 48, + 128, + 0, + 211, + 1, + 0, + 2, + 128, + 0, + 182, + 66, + 143, + 48, + 128, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1089, + 10, + 1, + 157, + 'Blue Fire', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 147, + 79, + 101, + 128, + 0, + 239, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 147, + 255, + 101, + 128, + 0, + 223, + 1, + 0, + 2, + 128, + 0, + 182, + 147, + 255, + 101, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1090, + 10, + 1, + 157, + 'Scorch Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 5, + 124, + 165, + 128, + 0, + 245, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 5, + 255, + 165, + 128, + 0, + 225, + 1, + 0, + 2, + 128, + 0, + 182, + 5, + 255, + 165, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1091, + 10, + 1, + 157, + 'Violet', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 189, + 88, + 52, + 128, + 0, + 239, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 184, + 255, + 52, + 128, + 0, + 219, + 1, + 0, + 2, + 128, + 0, + 182, + 184, + 255, + 52, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1092, + 10, + 1, + 157, + 'Frosted Teal', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 134, + 73, + 62, + 128, + 0, + 227, + 134, + 255, + 62, + 128, + 0, + 242, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 134, + 2, + 219, + 128, + 23, + 255, + 134, + 255, + 62, + 128, + 0, + 207, + 134, + 255, + 62, + 128, + 0, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1093, + 10, + 1, + 157, + 'Vitamin C', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 20, + 137, + 181, + 82, + 36, + 253, + 20, + 255, + 231, + 52, + 49, + 253, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 20, + 255, + 231, + 52, + 49, + 253, + 1, + 0, + 2, + 128, + 0, + 182, + 20, + 255, + 231, + 52, + 49, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1094, + 10, + 1, + 157, + 'Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 66, + 47, + 33, + 128, + 0, + 236, + 66, + 143, + 33, + 128, + 0, + 192, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 48, + 80, + 164, + 128, + 1, + 239, + 66, + 143, + 33, + 128, + 0, + 192, + 66, + 143, + 33, + 128, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1095, + 10, + 1, + 157, + 'Limelight Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 83, + 108, + 202, + 128, + 0, + 250, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 73, + 205, + 202, + 128, + 6, + 239, + 1, + 0, + 2, + 128, + 0, + 182, + 73, + 205, + 202, + 128, + 6, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1096, + 10, + 1, + 157, + 'Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 9, + 7, + 1, + 128, + 0, + 232, + 0, + 255, + 248, + 128, + 24, + 253, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 0, + 255, + 248, + 128, + 24, + 253, + 9, + 7, + 1, + 128, + 0, + 188, + 9, + 7, + 1, + 128, + 0, + 188, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1097, + 10, + 1, + 157, + 'Sahara Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 27, + 88, + 96, + 128, + 0, + 249, + 27, + 161, + 96, + 128, + 0, + 254, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 1, + 0, + 2, + 128, + 0, + 182, + 27, + 161, + 96, + 128, + 0, + 231, + 27, + 161, + 96, + 128, + 0, + 231, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1098, + 10, + 1, + 157, + 'Burnt Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 13, + 83, + 122, + 128, + 0, + 237, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 107, + 62, + 128, + 0, + 241, + 30, + 107, + 62, + 128, + 0, + 254, + 30, + 10, + 10, + 128, + 0, + 206, + 13, + 176, + 122, + 128, + 0, + 229, + 1, + 0, + 2, + 128, + 0, + 182, + 13, + 176, + 122, + 128, + 0, + 229, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1099, + 10, + 1, + 157, + 'Walnut', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 20, + 66, + 58, + 128, + 0, + 236, + 20, + 137, + 58, + 128, + 0, + 239, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 48, + 80, + 164, + 128, + 1, + 239, + 20, + 137, + 58, + 128, + 0, + 211, + 20, + 137, + 58, + 128, + 0, + 211, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1100, + 10, + 1, + 157, + 'Rally Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 0, + 139, + 248, + 128, + 24, + 253, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 0, + 255, + 248, + 97, + 13, + 253, + 1, + 0, + 2, + 128, + 0, + 182, + 0, + 255, + 248, + 97, + 13, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1101, + 10, + 1, + 157, + 'Alpine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 30, + 47, + 255, + 87, + 45, + 255, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 30, + 47, + 255, + 87, + 45, + 255, + 1, + 0, + 2, + 128, + 0, + 182, + 30, + 47, + 255, + 87, + 45, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1102, + 10, + 1, + 157, + 'Sunfire Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 38, + 141, + 255, + 128, + 9, + 255, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 255, + 128, + 10, + 255, + 30, + 15, + 255, + 128, + 27, + 255, + 30, + 10, + 203, + 128, + 33, + 255, + 32, + 219, + 255, + 88, + 44, + 255, + 1, + 0, + 2, + 128, + 0, + 182, + 32, + 219, + 255, + 88, + 44, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1103, + 10, + 1, + 157, + 'Yellow Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '69gtxtin', + 32, + 87, + 210, + 128, + 35, + 227, + 20, + 255, + 255, + 128, + 15, + 255, + 30, + 15, + 23, + 128, + 0, + 242, + 30, + 15, + 33, + 128, + 0, + 249, + 30, + 10, + 10, + 128, + 0, + 206, + 32, + 189, + 210, + 128, + 35, + 249, + 1, + 0, + 2, + 128, + 0, + 182, + 32, + 189, + 210, + 128, + 35, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1104, + 10, + 1, + 217, + 'Azure Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 125, + 47, + 90, + 128, + 0, + 202, + 128, + 0, + 255, + 128, + 0, + 186, + 125, + 47, + 90, + 128, + 0, + 202, + 40, + 20, + 10, + 128, + 0, + 224, + 125, + 18, + 90, + 128, + 0, + 248, + 40, + 24, + 255, + 128, + 32, + 255, + 128, + 128, + 90, + 129, + 0, + 211, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1105, + 10, + 1, + 217, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 5, + 255, + 128, + 0, + 199, + 128, + 0, + 255, + 128, + 0, + 186, + 20, + 5, + 255, + 128, + 0, + 199, + 40, + 20, + 10, + 128, + 0, + 224, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 159, + 20, + 5, + 1, + 128, + 0, + 159, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1106, + 10, + 1, + 217, + 'Lagoon Aqua', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 127, + 254, + 53, + 128, + 1, + 195, + 128, + 0, + 255, + 128, + 0, + 186, + 127, + 254, + 53, + 128, + 1, + 195, + 40, + 20, + 10, + 128, + 0, + 224, + 127, + 116, + 53, + 128, + 1, + 228, + 127, + 202, + 53, + 128, + 1, + 178, + 127, + 202, + 53, + 128, + 1, + 178, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1107, + 10, + 1, + 217, + 'Meadow Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 40, + 15, + 255, + 128, + 0, + 255, + 73, + 60, + 143, + 128, + 0, + 212, + 24, + 71, + 202, + 152, + 3, + 214, + 73, + 60, + 143, + 128, + 0, + 212, + 40, + 20, + 10, + 128, + 0, + 224, + 108, + 24, + 143, + 128, + 0, + 233, + 40, + 24, + 255, + 128, + 32, + 255, + 73, + 60, + 143, + 128, + 0, + 212, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1108, + 10, + 1, + 217, + 'Desert Beige', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 24, + 71, + 202, + 121, + 3, + 255, + 24, + 71, + 202, + 152, + 3, + 214, + 24, + 71, + 202, + 121, + 3, + 255, + 40, + 20, + 10, + 128, + 0, + 224, + 24, + 24, + 202, + 121, + 9, + 255, + 24, + 71, + 202, + 121, + 3, + 255, + 24, + 71, + 202, + 121, + 3, + 255, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1109, + 10, + 1, + 217, + 'Daytona Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 147, + 255, + 47, + 128, + 0, + 208, + 147, + 212, + 47, + 128, + 0, + 178, + 147, + 255, + 47, + 128, + 0, + 208, + 40, + 20, + 10, + 128, + 0, + 224, + 147, + 75, + 47, + 128, + 0, + 211, + 147, + 255, + 47, + 128, + 0, + 180, + 147, + 255, + 47, + 128, + 0, + 180, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1110, + 10, + 1, + 217, + 'Bahama Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 30, + 79, + 30, + 128, + 0, + 241, + 30, + 79, + 30, + 128, + 0, + 241, + 24, + 71, + 202, + 152, + 3, + 214, + 30, + 79, + 30, + 128, + 0, + 212, + 40, + 20, + 10, + 128, + 0, + 224, + 94, + 54, + 47, + 128, + 0, + 220, + 107, + 185, + 47, + 114, + 0, + 175, + 107, + 185, + 47, + 114, + 0, + 175, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1111, + 10, + 1, + 217, + 'Ermine White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 8, + 255, + 128, + 33, + 233, + 1, + 249, + 154, + 128, + 0, + 224, + 128, + 8, + 255, + 128, + 33, + 255, + 40, + 20, + 255, + 128, + 0, + 229, + 128, + 8, + 255, + 128, + 7, + 255, + 128, + 8, + 255, + 128, + 33, + 255, + 128, + 8, + 255, + 128, + 33, + 255, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1112, + 10, + 1, + 217, + 'Almond Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 40, + 15, + 255, + 128, + 0, + 255, + 13, + 48, + 255, + 105, + 0, + 232, + 40, + 15, + 255, + 128, + 0, + 255, + 13, + 48, + 255, + 105, + 0, + 232, + 40, + 20, + 10, + 128, + 0, + 224, + 13, + 26, + 255, + 105, + 7, + 254, + 40, + 24, + 255, + 128, + 32, + 255, + 13, + 48, + 255, + 105, + 0, + 232, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1113, + 10, + 1, + 217, + 'Palomar Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 13, + 254, + 75, + 118, + 0, + 223, + 24, + 71, + 202, + 152, + 3, + 214, + 13, + 254, + 75, + 118, + 0, + 208, + 40, + 20, + 255, + 128, + 0, + 229, + 13, + 44, + 75, + 118, + 0, + 220, + 13, + 254, + 75, + 118, + 0, + 185, + 13, + 254, + 75, + 118, + 0, + 185, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1114, + 10, + 1, + 217, + 'Goldwood Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 32, + 122, + 255, + 128, + 20, + 255, + 24, + 71, + 202, + 152, + 3, + 231, + 32, + 122, + 255, + 128, + 20, + 255, + 24, + 71, + 202, + 152, + 3, + 231, + 37, + 44, + 255, + 128, + 6, + 240, + 24, + 71, + 202, + 152, + 3, + 231, + 32, + 122, + 255, + 128, + 20, + 255, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1115, + 10, + 1, + 217, + 'Silver Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 139, + 65, + 138, + 114, + 6, + 231, + 128, + 0, + 255, + 128, + 0, + 255, + 139, + 65, + 138, + 114, + 6, + 220, + 40, + 20, + 255, + 128, + 73, + 255, + 139, + 36, + 138, + 114, + 6, + 249, + 40, + 24, + 255, + 128, + 32, + 255, + 139, + 65, + 138, + 114, + 6, + 212, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1116, + 10, + 1, + 217, + 'Saddle Tan', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 97, + 143, + 128, + 0, + 233, + 24, + 71, + 202, + 152, + 3, + 231, + 20, + 97, + 143, + 128, + 0, + 218, + 40, + 20, + 255, + 128, + 0, + 229, + 20, + 49, + 143, + 128, + 0, + 240, + 20, + 97, + 143, + 128, + 0, + 218, + 20, + 97, + 143, + 128, + 0, + 218, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1117, + 10, + 1, + 217, + 'Satin Silver', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '64ssitin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 5, + 255, + 128, + 0, + 229, + 1, + 2, + 154, + 128, + 0, + 173, + 20, + 5, + 255, + 128, + 0, + 214, + 40, + 20, + 255, + 128, + 0, + 229, + 20, + 5, + 255, + 128, + 0, + 240, + 20, + 5, + 255, + 128, + 0, + 206, + 117, + 5, + 159, + 84, + 0, + 248, + 0, + 'system', + 'As per 64 Impala CSV.' + ), + ( + 1118, + 10, + 1, + 221, + 'Classic White / Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 128, + 5, + 255, + 128, + 27, + 255, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 41, + 101, + 128, + 0, + 254, + 15, + 255, + 101, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 18, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1119, + 10, + 1, + 221, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 128, + 52, + 58, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 128, + 255, + 58, + 152, + 0, + 203, + 128, + 255, + 58, + 152, + 0, + 203, + 128, + 255, + 58, + 152, + 0, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1120, + 10, + 1, + 221, + 'Champagne Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 33, + 60, + 126, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 27, + 138, + 126, + 128, + 0, + 223, + 27, + 138, + 126, + 128, + 0, + 223, + 27, + 138, + 126, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1121, + 10, + 1, + 221, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 122, + 10, + 160, + 128, + 11, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 122, + 10, + 160, + 128, + 0, + 227, + 1, + 1, + 1, + 128, + 1, + 147, + 122, + 10, + 160, + 142, + 0, + 220, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1122, + 10, + 1, + 221, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 104, + 18, + 147, + 128, + 0, + 253, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 104, + 101, + 147, + 128, + 0, + 219, + 104, + 101, + 147, + 128, + 0, + 219, + 104, + 101, + 147, + 128, + 0, + 219, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1123, + 10, + 1, + 221, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 64, + 14, + 53, + 128, + 0, + 232, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 97, + 130, + 53, + 128, + 0, + 190, + 97, + 130, + 53, + 128, + 0, + 190, + 97, + 130, + 53, + 128, + 0, + 190, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1124, + 10, + 1, + 221, + 'Cranberry Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 6, + 56, + 91, + 128, + 0, + 245, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 248, + 254, + 91, + 176, + 0, + 180, + 1, + 1, + 1, + 128, + 1, + 147, + 248, + 254, + 91, + 176, + 0, + 192, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1125, + 10, + 1, + 221, + 'Astro Blue / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 142, + 57, + 255, + 128, + 18, + 255, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 250, + 20, + 7, + 18, + 128, + 0, + 165, + 142, + 101, + 255, + 128, + 2, + 254, + 142, + 3, + 255, + 128, + 36, + 255, + 142, + 175, + 88, + 184, + 2, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1126, + 10, + 1, + 221, + 'Laguna Gray / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 242, + 18, + 83, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 242, + 28, + 83, + 171, + 0, + 180, + 1, + 1, + 1, + 128, + 1, + 147, + 242, + 28, + 83, + 171, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1127, + 10, + 1, + 221, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 170, + 73, + 255, + 128, + 22, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 155, + 254, + 70, + 146, + 11, + 184, + 155, + 254, + 70, + 146, + 11, + 184, + 155, + 254, + 70, + 146, + 11, + 184, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1128, + 10, + 1, + 221, + 'Shadow Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 128, + 6, + 94, + 128, + 6, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 26, + 41, + 53, + 128, + 0, + 199, + 26, + 41, + 53, + 128, + 0, + 199, + 26, + 41, + 53, + 128, + 0, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1129, + 10, + 1, + 221, + 'Gold Beige / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 31, + 13, + 112, + 128, + 0, + 249, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 31, + 148, + 112, + 109, + 11, + 228, + 1, + 1, + 1, + 128, + 1, + 147, + 31, + 148, + 112, + 109, + 11, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1130, + 10, + 1, + 221, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 245, + 255, + 66, + 128, + 0, + 198, + 245, + 255, + 66, + 128, + 0, + 198, + 245, + 255, + 66, + 128, + 0, + 198, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1131, + 10, + 1, + 221, + 'Autumn Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70csstin', + 23, + 39, + 62, + 128, + 0, + 240, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 23, + 126, + 62, + 128, + 0, + 194, + 23, + 126, + 62, + 128, + 0, + 194, + 23, + 126, + 62, + 128, + 0, + 194, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1132, + 10, + 1, + 221, + 'Plum / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 215, + 255, + 53, + 128, + 0, + 188, + 1, + 1, + 1, + 128, + 1, + 147, + 215, + 255, + 53, + 128, + 0, + 198, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1133, + 10, + 1, + 221, + 'Yellow / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 18, + 86, + 255, + 117, + 20, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 31, + 255, + 255, + 117, + 26, + 229, + 1, + 1, + 1, + 128, + 1, + 147, + 31, + 255, + 255, + 117, + 26, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1134, + 10, + 1, + 221, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70csstin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 165, + 1, + 236, + 255, + 128, + 0, + 219, + 1, + 1, + 1, + 128, + 1, + 147, + 1, + 255, + 255, + 139, + 0, + 249, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1135, + 10, + 1, + 223, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 48, + 83, + 139, + 128, + 0, + 223, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 48, + 28, + 139, + 128, + 0, + 240, + 20, + 7, + 18, + 128, + 0, + 161, + 48, + 83, + 139, + 128, + 0, + 223, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1136, + 10, + 1, + 223, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 255, + 255, + 128, + 0, + 241, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 0, + 86, + 255, + 128, + 0, + 252, + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 255, + 255, + 128, + 0, + 241, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1137, + 10, + 1, + 223, + 'Astro Blue / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 145, + 210, + 142, + 128, + 0, + 216, + 145, + 210, + 142, + 128, + 0, + 216, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 150, + 79, + 142, + 128, + 0, + 241, + 145, + 210, + 142, + 128, + 0, + 216, + 145, + 210, + 142, + 128, + 0, + 216, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1138, + 10, + 1, + 223, + 'Shadow Grey', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 24, + 66, + 86, + 128, + 0, + 207, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 24, + 40, + 75, + 128, + 0, + 231, + 20, + 7, + 18, + 128, + 0, + 161, + 24, + 66, + 86, + 128, + 0, + 207, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1139, + 10, + 1, + 223, + 'Gold / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 22, + 107, + 142, + 128, + 0, + 225, + 22, + 107, + 142, + 128, + 0, + 225, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 28, + 47, + 142, + 128, + 0, + 245, + 22, + 107, + 142, + 128, + 0, + 225, + 22, + 107, + 142, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1140, + 10, + 1, + 223, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 101, + 178, + 33, + 128, + 0, + 193, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 64, + 84, + 33, + 128, + 36, + 206, + 20, + 7, + 18, + 128, + 0, + 161, + 101, + 178, + 33, + 128, + 0, + 193, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1141, + 10, + 1, + 223, + 'Classic White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 58, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 40, + 7, + 255, + 128, + 27, + 255, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 40, + 7, + 255, + 128, + 27, + 225, + 20, + 7, + 18, + 128, + 0, + 161, + 40, + 7, + 255, + 128, + 27, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1142, + 10, + 1, + 223, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 130, + 182, + 97, + 128, + 0, + 222, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 130, + 73, + 97, + 128, + 0, + 235, + 20, + 7, + 18, + 128, + 0, + 161, + 130, + 182, + 97, + 128, + 0, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1143, + 10, + 1, + 223, + 'Black Cherry / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 1, + 255, + 80, + 128, + 2, + 203, + 1, + 255, + 80, + 128, + 2, + 203, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 1, + 66, + 80, + 128, + 2, + 241, + 1, + 255, + 80, + 128, + 2, + 203, + 1, + 255, + 80, + 128, + 2, + 203, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1144, + 10, + 1, + 223, + 'Autumn Gold / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 26, + 134, + 134, + 137, + 0, + 199, + 26, + 134, + 134, + 137, + 0, + 199, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 26, + 74, + 134, + 128, + 0, + 245, + 26, + 134, + 134, + 137, + 0, + 199, + 26, + 134, + 134, + 137, + 0, + 199, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1145, + 10, + 1, + 223, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 129, + 1, + 189, + 128, + 1, + 222, + 129, + 1, + 189, + 128, + 1, + 222, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 129, + 1, + 189, + 128, + 1, + 231, + 129, + 1, + 189, + 128, + 1, + 222, + 129, + 1, + 189, + 128, + 1, + 222, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1146, + 10, + 1, + 223, + 'Desert Sand', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssntin', + 128, + 0, + 255, + 128, + 0, + 255, + 20, + 7, + 18, + 128, + 0, + 208, + 22, + 147, + 147, + 128, + 0, + 244, + 20, + 7, + 31, + 128, + 0, + 246, + 40, + 10, + 255, + 128, + 77, + 255, + 22, + 53, + 147, + 128, + 0, + 250, + 20, + 7, + 18, + 128, + 0, + 161, + 22, + 147, + 147, + 128, + 0, + 244, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1147, + 10, + 1, + 223, + 'Black / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 20, + 5, + 1, + 128, + 0, + 184, + 20, + 5, + 1, + 128, + 0, + 184, + 0, + 255, + 255, + 128, + 0, + 241, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 20, + 5, + 66, + 128, + 0, + 245, + 20, + 5, + 1, + 128, + 0, + 184, + 20, + 5, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1148, + 10, + 1, + 223, + 'Yellow / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssntin', + 29, + 255, + 255, + 128, + 34, + 255, + 29, + 255, + 255, + 128, + 34, + 255, + 20, + 7, + 18, + 128, + 0, + 161, + 20, + 7, + 31, + 128, + 0, + 246, + 20, + 7, + 9, + 128, + 0, + 244, + 37, + 64, + 255, + 128, + 16, + 239, + 29, + 255, + 255, + 128, + 34, + 255, + 29, + 255, + 255, + 128, + 34, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1149, + 10, + 1, + 222, + 'Laguna Gray / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 242, + 18, + 83, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 242, + 28, + 83, + 128, + 0, + 214, + 1, + 1, + 1, + 128, + 1, + 168, + 242, + 28, + 83, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1150, + 10, + 1, + 222, + 'Classic White / Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 128, + 5, + 255, + 128, + 27, + 255, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 1, + 255, + 71, + 128, + 0, + 249, + 20, + 7, + 18, + 128, + 0, + 248, + 1, + 41, + 101, + 128, + 0, + 254, + 1, + 255, + 101, + 128, + 0, + 236, + 128, + 5, + 255, + 128, + 39, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1151, + 10, + 1, + 222, + 'Misty Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 128, + 52, + 58, + 128, + 0, + 250, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 128, + 57, + 58, + 128, + 0, + 248, + 128, + 0, + 255, + 128, + 35, + 255, + 128, + 255, + 58, + 128, + 0, + 227, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1152, + 10, + 1, + 222, + 'Champagne Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 33, + 60, + 126, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 27, + 138, + 126, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1153, + 10, + 1, + 222, + 'Cortez Silver / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 122, + 10, + 160, + 128, + 11, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 122, + 10, + 160, + 128, + 0, + 227, + 1, + 1, + 1, + 128, + 1, + 168, + 122, + 10, + 160, + 128, + 0, + 248, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1154, + 10, + 1, + 222, + 'Green Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 104, + 18, + 147, + 128, + 0, + 253, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 104, + 101, + 147, + 128, + 0, + 239, + 104, + 101, + 147, + 128, + 0, + 239, + 104, + 101, + 147, + 128, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1155, + 10, + 1, + 222, + 'Forest Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 64, + 14, + 53, + 128, + 0, + 232, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 97, + 130, + 53, + 128, + 0, + 210, + 97, + 130, + 53, + 128, + 0, + 210, + 97, + 130, + 53, + 128, + 0, + 210, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1156, + 10, + 1, + 222, + 'Astro Blue / White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 142, + 57, + 255, + 128, + 18, + 255, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 245, + 142, + 152, + 86, + 128, + 1, + 250, + 20, + 7, + 18, + 128, + 0, + 248, + 142, + 101, + 255, + 128, + 2, + 254, + 142, + 3, + 255, + 128, + 36, + 255, + 142, + 175, + 88, + 128, + 2, + 228, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1157, + 10, + 1, + 222, + 'Monza Red / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 1, + 47, + 255, + 128, + 0, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 1, + 141, + 255, + 128, + 0, + 214, + 1, + 1, + 1, + 128, + 1, + 168, + 1, + 255, + 255, + 139, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1158, + 10, + 1, + 222, + 'Fathom Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 170, + 73, + 255, + 128, + 22, + 255, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 155, + 254, + 70, + 146, + 11, + 206, + 155, + 254, + 70, + 146, + 11, + 206, + 155, + 254, + 70, + 146, + 11, + 206, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1159, + 10, + 1, + 222, + 'Shadow Gray', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 128, + 6, + 94, + 128, + 6, + 254, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 26, + 41, + 53, + 128, + 0, + 224, + 26, + 41, + 53, + 128, + 0, + 224, + 26, + 41, + 53, + 128, + 0, + 224, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1160, + 10, + 1, + 222, + 'Gold Beige / Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70ssetin', + 31, + 13, + 112, + 128, + 0, + 249, + 128, + 0, + 20, + 128, + 0, + 249, + 128, + 0, + 23, + 128, + 0, + 248, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 31, + 176, + 112, + 109, + 18, + 206, + 1, + 1, + 1, + 128, + 1, + 168, + 31, + 176, + 112, + 109, + 18, + 253, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1161, + 10, + 1, + 222, + 'Black Cherry', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 229, + 43, + 66, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 128, + 0, + 23, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 245, + 255, + 66, + 128, + 0, + 225, + 245, + 255, + 66, + 128, + 0, + 225, + 245, + 255, + 66, + 128, + 0, + 225, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1162, + 10, + 1, + 222, + 'Autumn Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70ssetin', + 23, + 39, + 62, + 128, + 0, + 240, + 36, + 66, + 57, + 128, + 0, + 252, + 36, + 66, + 57, + 128, + 0, + 248, + 36, + 66, + 57, + 128, + 0, + 252, + 20, + 7, + 18, + 128, + 0, + 248, + 23, + 126, + 62, + 128, + 0, + 215, + NULL, + 126, + 62, + 128, + 0, + 215, + 23, + 126, + NULL, + 128, + 0, + 215, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1163, + 10, + 1, + 142, + 'Candyapple Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1164, + 10, + 1, + 142, + 'Raven Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 254, + 207, + 78, + 128, + 0, + 244, + 254, + 207, + 78, + 128, + 0, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1165, + 10, + 1, + 142, + 'Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 1, + 99, + 138, + 128, + 0, + 248, + 20, + 1, + 6, + 128, + 1, + 177, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 1, + 254, + 138, + 128, + 0, + 218, + 20, + 1, + 6, + 128, + 1, + 177, + 1, + 254, + 138, + 128, + 0, + 228, + 0, + 'Factory', + 'This color is not factory by CSV. Left over from old CSV file.' + ), + ( + 1166, + 10, + 1, + 142, + 'Grabber Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb4tin', + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1167, + 10, + 1, + 142, + 'Grabber Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb4tin', + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 152, + 189, + 199, + 128, + 16, + 250, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1168, + 10, + 1, + 142, + 'Grabber Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb4tin', + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1169, + 10, + 1, + 142, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1170, + 10, + 1, + 142, + 'Medium Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1171, + 10, + 1, + 142, + 'Calypso Coral', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 11, + 232, + 242, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1172, + 10, + 1, + 142, + 'Bright Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 154, + 176, + 105, + 121, + 16, + 224, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1173, + 10, + 1, + 142, + 'Dark Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 31, + 92, + 73, + 128, + 0, + 236, + 31, + 92, + 73, + 128, + 0, + 236, + 20, + 10, + 1, + 128, + 0, + 178, + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 85, + 43, + 51, + 128, + 0, + 192, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1174, + 10, + 1, + 142, + 'Bright Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb4tin', + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 38, + 64, + 253, + 128, + 48, + 244, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1175, + 10, + 1, + 142, + 'Bright Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1176, + 10, + 1, + 142, + 'Pastel Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mb4tin', + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 147, + 64, + 255, + 128, + 32, + 240, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1177, + 10, + 1, + 142, + 'Light Ivy Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb4tin', + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 60, + 232, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Boss 429 CSV.' + ), + ( + 1178, + 10, + 1, + 210, + 'Candyapple Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mb3tin', + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 6, + 194, + 143, + 128, + 6, + 240, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1179, + 10, + 1, + 210, + 'Raven Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 254, + 207, + 78, + 128, + 0, + 244, + 254, + 207, + 78, + 128, + 0, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 20, + 10, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1180, + 10, + 1, + 210, + 'Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 1, + 99, + 138, + 128, + 0, + 248, + 20, + 1, + 6, + 128, + 1, + 177, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 1, + 254, + 138, + 128, + 0, + 218, + 20, + 1, + 6, + 128, + 1, + 177, + 1, + 254, + 138, + 128, + 0, + 228, + 0, + 'Factory', + 'This is not a factory color by CSV. Left over from old CSV file.' + ), + ( + 1181, + 10, + 1, + 210, + 'Grabber Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70statin', + 116, + 255, + 151, + 128, + 6, + 255, + 116, + 255, + 255, + 128, + 6, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 116, + 255, + 151, + 128, + 6, + 255, + 116, + 255, + 151, + 128, + 6, + 255, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1182, + 10, + 1, + 210, + 'Grabber Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70statin', + 152, + 189, + 199, + 128, + 16, + 250, + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 152, + 189, + 199, + 128, + 16, + 250, + 152, + 189, + 199, + 128, + 16, + 250, + 152, + 189, + 199, + 128, + 16, + 250, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1183, + 10, + 1, + 210, + 'Grabber Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70statin', + 19, + 255, + 255, + 128, + 78, + 225, + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 19, + 255, + 255, + 128, + 78, + 225, + 19, + 255, + 255, + 128, + 78, + 225, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1184, + 10, + 1, + 210, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 43, + 18, + 255, + 128, + 32, + 255, + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 43, + 18, + 255, + 128, + 32, + 255, + 43, + 18, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1185, + 10, + 1, + 210, + 'Medium Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 35, + 64, + 158, + 128, + 16, + 244, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 35, + 64, + 158, + 128, + 16, + 244, + 35, + 64, + 158, + 128, + 16, + 244, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1186, + 10, + 1, + 210, + 'Calypso Coral', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 11, + 232, + 242, + 128, + 24, + 255, + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 11, + 232, + 242, + 128, + 24, + 255, + 11, + 232, + 242, + 128, + 24, + 255, + 11, + 232, + 242, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1187, + 10, + 1, + 210, + 'Bright Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 154, + 176, + 105, + 121, + 16, + 224, + 154, + 176, + 105, + 121, + 16, + 224, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 154, + 176, + 105, + 121, + 16, + 224, + 154, + 176, + 105, + 121, + 16, + 224, + 154, + 176, + 105, + 121, + 16, + 224, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1188, + 10, + 1, + 210, + 'Dark Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 85, + 43, + 51, + 128, + 0, + 192, + 85, + 43, + 51, + 128, + 0, + 192, + 31, + 92, + 73, + 128, + 0, + 236, + 31, + 92, + 73, + 128, + 0, + 236, + 20, + 10, + 1, + 128, + 0, + 178, + 85, + 43, + 51, + 128, + 0, + 192, + 85, + 43, + 51, + 128, + 0, + 192, + 85, + 43, + 51, + 128, + 0, + 192, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1189, + 10, + 1, + 210, + 'Bright Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70statin', + 38, + 64, + 253, + 128, + 48, + 244, + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 38, + 64, + 253, + 128, + 48, + 244, + 38, + 64, + 253, + 128, + 48, + 244, + 38, + 64, + 253, + 128, + 48, + 244, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1190, + 10, + 1, + 210, + 'Bright Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 43, + 133, + 255, + 128, + 48, + 255, + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 43, + 133, + 255, + 128, + 48, + 255, + 43, + 133, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1191, + 10, + 1, + 210, + 'Pastel Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70statin', + 147, + 64, + 255, + 128, + 32, + 240, + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 147, + 64, + 255, + 128, + 32, + 240, + 147, + 64, + 255, + 128, + 32, + 240, + 147, + 64, + 255, + 128, + 32, + 240, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1192, + 10, + 1, + 210, + 'Light Ivy Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70statin', + 45, + 60, + 232, + 128, + 24, + 255, + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 45, + 60, + 232, + 128, + 24, + 255, + 45, + 60, + 232, + 128, + 24, + 255, + 45, + 60, + 232, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Mustang CSV.' + ), + ( + 1193, + 10, + 1, + 212, + 'Raven Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 20, + 10, + 1, + 128, + 0, + 177, + 1, + 253, + 163, + 128, + 24, + 242, + 254, + 207, + 78, + 128, + 0, + 244, + 254, + 207, + 78, + 128, + 0, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 20, + 10, + 1, + 128, + 0, + 177, + 1, + 253, + 163, + 128, + 24, + 242, + 20, + 10, + 1, + 128, + 0, + 177, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1194, + 10, + 1, + 212, + 'Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 1, + 99, + 138, + 128, + 0, + 248, + 20, + 1, + 6, + 128, + 1, + 177, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 1, + 254, + 138, + 128, + 0, + 218, + 20, + 1, + 6, + 128, + 1, + 177, + 1, + 254, + 138, + 128, + 0, + 228, + 0, + 'Factory', + 'This is not a factory color according to the CSV. Left over from old CSV.' + ), + ( + 1195, + 10, + 1, + 212, + 'Grabber Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 116, + 255, + 151, + 128, + 6, + 255, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1196, + 10, + 1, + 212, + 'Grabber Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 152, + 189, + 199, + 128, + 16, + 250, + 128, + 0, + 0, + 128, + 0, + 128, + 152, + 189, + 199, + 128, + 16, + 250, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1197, + 10, + 1, + 212, + 'Grabber Orange', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 128, + 0, + 0, + 128, + 0, + 128, + 19, + 255, + 255, + 128, + 78, + 225, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1198, + 10, + 1, + 212, + 'Wimbledon White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 18, + 255, + 128, + 32, + 255, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1199, + 10, + 1, + 212, + 'Medium Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 35, + 64, + 158, + 128, + 16, + 244, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1200, + 10, + 1, + 212, + 'Calypso Coral', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 11, + 232, + 242, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 11, + 232, + 242, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1201, + 10, + 1, + 212, + 'Bright Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 154, + 176, + 105, + 121, + 16, + 224, + 43, + 0, + 255, + 128, + 32, + 255, + 154, + 176, + 105, + 121, + 16, + 224, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1202, + 10, + 1, + 212, + 'Dark Ivy Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 31, + 92, + 73, + 128, + 0, + 236, + 31, + 92, + 73, + 128, + 0, + 236, + 20, + 10, + 1, + 128, + 0, + 178, + 85, + 43, + 51, + 128, + 0, + 192, + 35, + 64, + 158, + 128, + 16, + 244, + 85, + 43, + 51, + 128, + 0, + 192, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1203, + 10, + 1, + 212, + 'Bright Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 38, + 64, + 253, + 128, + 48, + 244, + 128, + 0, + 0, + 128, + 0, + 128, + 38, + 64, + 253, + 128, + 48, + 244, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1204, + 10, + 1, + 212, + 'Bright Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 43, + 133, + 255, + 128, + 48, + 255, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1205, + 10, + 1, + 212, + 'Pastel Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '70mactin', + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 147, + 64, + 255, + 128, + 32, + 240, + 128, + 0, + 0, + 128, + 0, + 128, + 147, + 64, + 255, + 128, + 32, + 240, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1206, + 10, + 1, + 212, + 'Light Ivy Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 250, + '70mactin', + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 128, + 0, + 124, + 128, + 61, + 176, + 128, + 0, + 124, + 128, + 61, + 176, + 20, + 10, + 1, + 128, + 0, + 178, + 45, + 60, + 232, + 128, + 24, + 255, + 128, + 0, + 0, + 128, + 0, + 128, + 45, + 60, + 232, + 128, + 24, + 255, + 0, + 'Factory', + 'As per 70 Mach 1 CSV.' + ), + ( + 1207, + 10, + 1, + 220, + 'Bolero Red', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 255, + 255, + 128, + 0, + 250, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 52, + 255, + 128, + 0, + 249, + 0, + 255, + 255, + 128, + 0, + 250, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1208, + 10, + 1, + 220, + 'Deepwater Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 148, + 255, + 54, + 152, + 0, + 202, + 148, + 255, + 54, + 152, + 0, + 202, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 170, + 33, + 54, + 128, + 0, + 231, + 148, + 255, + 54, + 152, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1209, + 10, + 1, + 220, + 'Capri Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 20, + 5, + 1, + 128, + 0, + 168, + 43, + 48, + 255, + 128, + 11, + 255, + 43, + 48, + 255, + 128, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1210, + 10, + 1, + 220, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 20, + 5, + 1, + 128, + 0, + 168, + 20, + 5, + 1, + 128, + 0, + 168, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 0, + 255, + 255, + 128, + 0, + 250, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1211, + 10, + 1, + 220, + 'Tahoe Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 142, + 58, + 138, + 0, + 201, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 2, + 128, + 0, + 214, + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 71, + 58, + 138, + 0, + 241, + 131, + 142, + 58, + 138, + 0, + 201, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1212, + 10, + 1, + 220, + 'Silverglaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 41, + 24, + 163, + 128, + 1, + 248, + 41, + 24, + 163, + 128, + 1, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1213, + 10, + 1, + 220, + 'Marina Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 142, + 181, + 171, + 128, + 0, + 233, + 142, + 181, + 171, + 128, + 0, + 233, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 255, + 128, + 60, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 121, + 40, + 171, + 128, + 0, + 249, + 142, + 181, + 171, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1214, + 10, + 1, + 220, + 'Butternut Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 32, + 175, + 255, + 128, + 20, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 35, + 82, + 255, + 128, + 7, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1215, + 10, + 1, + 220, + 'Verde Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 95, + 147, + 37, + 128, + 0, + 180, + 95, + 147, + 37, + 128, + 0, + 180, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 95, + 147, + 37, + 128, + 0, + 180, + 66, + 39, + 91, + 128, + 0, + 241, + 95, + 147, + 37, + 128, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1216, + 10, + 1, + 220, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 69, + 60, + 167, + 108, + 1, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 69, + 60, + 167, + 108, + 11, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1217, + 10, + 1, + 220, + 'Emerald Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 134, + 90, + 139, + 144, + 0, + 212, + 134, + 90, + 139, + 144, + 0, + 212, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 126, + 56, + 137, + 143, + 0, + 224, + 134, + 90, + 139, + 144, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1218, + 10, + 1, + 220, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 3, + 250, + 64, + 128, + 0, + 205, + 3, + 250, + 64, + 128, + 0, + 205, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 248, + 45, + 64, + 128, + 0, + 228, + 3, + 250, + 64, + 128, + 0, + 205, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1219, + 10, + 1, + 220, + 'Antique Pewter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 32, + 24, + 83, + 137, + 1, + 236, + 32, + 24, + 83, + 137, + 1, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1220, + 10, + 1, + 220, + 'Plum Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 231, + 253, + 44, + 128, + 0, + 181, + 231, + 253, + 44, + 128, + 0, + 181, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 231, + 49, + 44, + 128, + 0, + 253, + 231, + 253, + 44, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1221, + 10, + 1, + 220, + 'Sierra Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 26, + 28, + 147, + 138, + 0, + 249, + 26, + 58, + 147, + 138, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1222, + 10, + 1, + 220, + 'Nantucket Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 184, + 43, + 169, + 128, + 0, + 255, + 184, + 43, + 169, + 128, + 0, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 184, + 43, + 169, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 253, + 184, + 43, + 169, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1223, + 10, + 1, + 220, + 'Granada Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67z28tin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 36, + 33, + 168, + 138, + 0, + 249, + 36, + 104, + 168, + 138, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1224, + 10, + 1, + 219, + 'Deepwater Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 148, + 255, + 54, + 152, + 0, + 202, + 148, + 255, + 54, + 152, + 0, + 202, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 170, + 33, + 54, + 128, + 0, + 231, + 148, + 255, + 54, + 152, + 0, + 202, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1225, + 10, + 1, + 219, + 'Capri Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 20, + 5, + 1, + 128, + 0, + 168, + 43, + 48, + 255, + 128, + 11, + 255, + 43, + 48, + 255, + 128, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1226, + 10, + 1, + 219, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 20, + 5, + 1, + 128, + 0, + 168, + 20, + 5, + 1, + 128, + 0, + 168, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 0, + 255, + 255, + 128, + 0, + 250, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1227, + 10, + 1, + 219, + 'Tahoe Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 142, + 58, + 138, + 0, + 201, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 2, + 128, + 0, + 214, + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 71, + 58, + 138, + 0, + 241, + 131, + 142, + 58, + 138, + 0, + 201, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1228, + 10, + 1, + 219, + 'Silverglaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 41, + 24, + 163, + 128, + 1, + 248, + 41, + 24, + 163, + 128, + 1, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1229, + 10, + 1, + 219, + 'Marina Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 142, + 181, + 171, + 128, + 0, + 233, + 142, + 181, + 171, + 128, + 0, + 233, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 255, + 128, + 60, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 121, + 40, + 171, + 128, + 0, + 249, + 142, + 181, + 171, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1230, + 10, + 1, + 219, + 'Butternut Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 32, + 175, + 255, + 128, + 20, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 35, + 82, + 255, + 128, + 7, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1231, + 10, + 1, + 219, + 'Verde Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 95, + 147, + 37, + 128, + 0, + 180, + 95, + 147, + 37, + 128, + 0, + 180, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 95, + 147, + 37, + 128, + 0, + 180, + 66, + 39, + 91, + 128, + 0, + 241, + 95, + 147, + 37, + 128, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1232, + 10, + 1, + 219, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 69, + 60, + 167, + 108, + 1, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 69, + 60, + 167, + 108, + 11, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1233, + 10, + 1, + 219, + 'Emerald Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 134, + 90, + 139, + 144, + 0, + 212, + 134, + 90, + 139, + 144, + 0, + 212, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 126, + 56, + 137, + 143, + 0, + 224, + 134, + 90, + 139, + 144, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1234, + 10, + 1, + 219, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 3, + 250, + 64, + 128, + 0, + 205, + 3, + 250, + 64, + 128, + 0, + 205, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 248, + 45, + 64, + 128, + 0, + 228, + 3, + 250, + 64, + 128, + 0, + 205, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1235, + 10, + 1, + 219, + 'Antique Pewter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 32, + 24, + 83, + 137, + 1, + 236, + 32, + 24, + 83, + 137, + 1, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1236, + 10, + 1, + 219, + 'Plum Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 231, + 253, + 44, + 128, + 0, + 181, + 231, + 253, + 44, + 128, + 0, + 181, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 231, + 49, + 44, + 128, + 0, + 253, + 231, + 253, + 44, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1237, + 10, + 1, + 219, + 'Sierra Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 26, + 28, + 147, + 138, + 0, + 249, + 26, + 58, + 147, + 138, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1238, + 10, + 1, + 219, + 'Nantucket Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 184, + 43, + 169, + 128, + 0, + 255, + 184, + 43, + 169, + 128, + 0, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 184, + 43, + 169, + 128, + 0, + 255, + 233, + 0, + 255, + 128, + 0, + 253, + 184, + 43, + 169, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1239, + 10, + 1, + 219, + 'Granada Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67rsctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 36, + 33, + 168, + 138, + 0, + 249, + 36, + 104, + 168, + 138, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1240, + 10, + 1, + 140, + 'Capri Cream', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 2, + 184, + 73, + 128, + 0, + 239, + 2, + 184, + 73, + 128, + 0, + 239, + 30, + 15, + 255, + 128, + 60, + 255, + 20, + 5, + 1, + 128, + 0, + 168, + 43, + 48, + 255, + 128, + 11, + 255, + 43, + 48, + 255, + 128, + 23, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1241, + 10, + 1, + 140, + 'Tuxedo Black', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 20, + 5, + 1, + 128, + 0, + 168, + 20, + 5, + 1, + 128, + 0, + 168, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 0, + 255, + 255, + 128, + 0, + 250, + 20, + 5, + 1, + 128, + 0, + 208, + 20, + 5, + 1, + 128, + 0, + 168, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1242, + 10, + 1, + 140, + 'Tahoe Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 142, + 58, + 138, + 0, + 201, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 2, + 128, + 0, + 214, + 131, + 142, + 58, + 138, + 0, + 201, + 131, + 71, + 58, + 138, + 0, + 241, + 131, + 142, + 58, + 138, + 0, + 201, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1243, + 10, + 1, + 140, + 'Silverglaze', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 41, + 24, + 163, + 128, + 1, + 248, + 41, + 24, + 163, + 128, + 1, + 235, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1244, + 10, + 1, + 140, + 'Marina Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 142, + 181, + 171, + 128, + 0, + 233, + 142, + 181, + 171, + 128, + 0, + 233, + 32, + 26, + 207, + 128, + 20, + 248, + 32, + 26, + 207, + 128, + 20, + 248, + 30, + 15, + 255, + 128, + 60, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 121, + 40, + 171, + 128, + 0, + 249, + 142, + 181, + 171, + 128, + 0, + 233, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1245, + 10, + 1, + 140, + 'Butternut Yellow', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 32, + 175, + 255, + 128, + 20, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 35, + 82, + 255, + 128, + 7, + 255, + 32, + 175, + 255, + 128, + 20, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1246, + 10, + 1, + 140, + 'Provincial White', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 16, + 255, + 255, + 128, + 22, + 255, + 128, + 5, + 255, + 128, + 14, + 255, + 128, + 5, + 255, + 128, + 30, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1247, + 10, + 1, + 140, + 'Verde Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 95, + 147, + 37, + 128, + 0, + 180, + 95, + 147, + 37, + 128, + 0, + 180, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 95, + 147, + 37, + 128, + 0, + 180, + 66, + 39, + 91, + 128, + 0, + 241, + 95, + 147, + 37, + 128, + 0, + 180, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1248, + 10, + 1, + 140, + 'Mountain Green', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 69, + 60, + 167, + 108, + 1, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 69, + 60, + 167, + 108, + 11, + 255, + 69, + 60, + 167, + 108, + 1, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1249, + 10, + 1, + 140, + 'Emerald Turquoise', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 134, + 90, + 139, + 144, + 0, + 212, + 134, + 90, + 139, + 144, + 0, + 212, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 126, + 56, + 137, + 143, + 0, + 224, + 134, + 90, + 139, + 144, + 0, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1250, + 10, + 1, + 140, + 'Madeira Maroon', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 3, + 250, + 64, + 128, + 0, + 205, + 3, + 250, + 64, + 128, + 0, + 205, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 248, + 45, + 64, + 128, + 0, + 228, + 3, + 250, + 64, + 128, + 0, + 205, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1251, + 10, + 1, + 140, + 'Antique Pewter', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 32, + 24, + 83, + 137, + 1, + 236, + 32, + 24, + 83, + 137, + 1, + 212, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1252, + 10, + 1, + 140, + 'Plum Mist', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 231, + 253, + 44, + 128, + 0, + 181, + 231, + 253, + 44, + 128, + 0, + 181, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 231, + 49, + 44, + 128, + 0, + 253, + 231, + 253, + 44, + 128, + 0, + 181, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1253, + 10, + 1, + 140, + 'Sierra Fawn', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 22, + 104, + 94, + 128, + 0, + 245, + 22, + 104, + 94, + 128, + 0, + 245, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + 26, + 28, + 147, + 138, + 0, + 249, + 26, + 58, + 147, + 138, + 0, + 245, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1254, + 10, + 1, + 140, + 'Nantucket Blue', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 184, + 43, + 169, + 128, + 0, + 255, + 184, + 43, + 169, + 128, + 0, + 255, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 184, + 43, + 169, + 128, + 0, + 255, + 128, + 0, + 255, + 128, + 0, + 253, + 184, + 43, + 169, + 128, + 0, + 255, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1255, + 10, + 1, + 140, + 'Granada Gold', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 200, + '67ssctin', + 30, + 15, + 2, + 128, + 0, + 173, + 131, + 16, + 158, + 128, + 10, + 254, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 10, + 5, + 128, + 0, + 232, + 30, + 15, + 2, + 128, + 0, + 214, + 20, + 5, + 1, + 128, + 0, + 168, + NULL, + 33, + 168, + 138, + 0, + 249, + 36, + 104, + NULL, + 138, + 0, + 239, + 0, + 'Factory', + 'This is a factory stock color.' + ), + ( + 1256, + 10, + 1, + 113, + 'Lady Liberty', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + '57chemem', + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 176, + 194, + 71, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ), + ( + 1257, + 10, + 1, + 104, + 'All-American', + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + NULL, + 10, + '57faimem', + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 154, + 99, + 84, + 128, + 0, + 255, + 0, + 'McCormack', + NULL + ); \ No newline at end of file diff --git a/migrations/0037-createNextPartNumberSeq.sql b/migrations/0037-createNextPartNumberSeq.sql new file mode 100644 index 000000000..b622e831d --- /dev/null +++ b/migrations/0037-createNextPartNumberSeq.sql @@ -0,0 +1,3 @@ +CREATE SEQUENCE part_partid_seq START +WITH + 1 INCREMENT BY 1 NO MINVALUE MAXVALUE 4294967295 CACHE 1 OWNED BY part.part_id; \ No newline at end of file diff --git a/migrations/0038-createWarehouse.sql b/migrations/0038-createWarehouse.sql new file mode 100644 index 000000000..e49e34c2f --- /dev/null +++ b/migrations/0038-createWarehouse.sql @@ -0,0 +1,14 @@ +CREATE TABLE + if not exists warehouse ( + branded_part_id int NOT NULL, + skin_id int NOT NULL, + player_id int NOT NULL, + qty_avail int NULL, + CONSTRAINT sys_pk_12148 PRIMARY KEY (branded_part_id, skin_id, player_id) + ); + +CREATE INDEX sys_idx_warehouse_brandedpartwarehouse_12775 ON warehouse (branded_part_id); + +CREATE INDEX sys_idx_warehouse_playerwarehouse_12776 ON warehouse (player_id); + +CREATE INDEX sys_idx_warehouse_skinwarehouse_12777 ON warehouse (skin_id); \ No newline at end of file diff --git a/migrations/0039-createLogin.sql b/migrations/0039-createLogin.sql new file mode 100644 index 000000000..165b4b80e --- /dev/null +++ b/migrations/0039-createLogin.sql @@ -0,0 +1,9 @@ +create table if not exists login ( + customer_id integer not null unique, + login_name varchar(32) not null, + password varchar(32) not null, + login_level smallint default 0 not null, + constraint login_login_pk primary key (login_name) +); + +create unique index if not exists login_name_idx on login (login_name); \ No newline at end of file diff --git a/migrations/0040-createProfile.sql b/migrations/0040-createProfile.sql new file mode 100644 index 000000000..48cf70cd4 --- /dev/null +++ b/migrations/0040-createProfile.sql @@ -0,0 +1,26 @@ +create table + if not exists profile ( + customer_id integer not null, + profile_name varchar(32) not null, + server_id integer default 0 not null, + create_stamp integer default extract(epoch from now())::integer not null, + last_login_stamp integer default extract(epoch from now())::integer not null, + number_games integer default 1 not null, + profile_id integer not null, + is_online boolean default false not null, + game_purchase_stamp integer default extract(epoch from now())::integer not null, + game_serial_number varchar(32) not null, + time_online integer not null, + time_in_game integer not null, + game_blob varchar(512) not null, + personal_blob varchar(256) not null, + picture_blob varchar(1) not null, + dnd boolean default false not null, + game_start_stamp integer default extract(epoch from now())::integer not null, + current_key varchar(400) not null, + profile_level smallint default 0 not null, + shard_id integer not null, + constraint profile_profile_pk primary key (profile_id) + ); + +create unique index if not exists profile_id_idx on profile (profile_id); \ No newline at end of file diff --git a/migrations/0041-createKey.sql b/migrations/0041-createKey.sql new file mode 100644 index 000000000..4b5603d8a --- /dev/null +++ b/migrations/0041-createKey.sql @@ -0,0 +1,7 @@ +create table if not exists key ( + profile_id integer not null, + session_key varchar(100) not null, + constraint key_profile_id_fk foreign key (profile_id) references profile (profile_id) +); + + diff --git a/migrations/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/2024.02.11T13.01.48.attachmentPoint.sql deleted file mode 100644 index e155d5d2a..000000000 --- a/migrations/2024.02.11T13.01.48.attachmentPoint.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE if not exists AttachmentPoint ( - AttachmentPointID INTEGER NOT NULL, - AttachmentPoint VARCHAR(100) NOT NULL, - CONSTRAINT SYS_PK_11761 PRIMARY KEY (AttachmentPointID)); - -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11761_11762 ON AttachmentPoint (AttachmentPointID); diff --git a/migrations/2024.02.11T13.19.25.brand.sql b/migrations/2024.02.11T13.19.25.brand.sql deleted file mode 100644 index 43edda77b..000000000 --- a/migrations/2024.02.11T13.19.25.brand.sql +++ /dev/null @@ -1,8 +0,0 @@ -create table if not exists Brand ( - BrandID INTEGER NOT NULL, - Brand VARCHAR(100) NULL, - PicName VARCHAR(50) NULL, - IsStock SMALLINT default 0, - CONSTRAINT SYS_PK_11763 PRIMARY KEY (BrandID)); - -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11795_11796 ON Brand (BrandID); diff --git a/migrations/2024.02.11T13.23.01.model.sql b/migrations/2024.02.11T13.23.01.model.sql deleted file mode 100644 index 924593980..000000000 --- a/migrations/2024.02.11T13.23.01.model.sql +++ /dev/null @@ -1,33 +0,0 @@ -CREATE TABLE if not exists Model ( - ModelID INTEGER NOT NULL, - BrandID INTEGER NOT NULL, - EModel VARCHAR(100), - GModel VARCHAR(100), - FModel VARCHAR(100), - SModel VARCHAR(100), - IModel VARCHAR(100), - JModel VARCHAR(100), - SwModel VARCHAR(100), - BModel VARCHAR(100), - EExtraInfo VARCHAR(100), - GExtraInfo VARCHAR(100), - FExtraInfo VARCHAR(100), - SExtraInfo VARCHAR(100), - IExtraInfo VARCHAR(100), - JExtraInfo VARCHAR(100), - SwExtraInfo VARCHAR(100), - BExtraInfo VARCHAR(100), - EShortModel VARCHAR(50), - GShortModel VARCHAR(50), - FShortModel VARCHAR(50), - SShortModel VARCHAR(50), - IShortModel VARCHAR(50), - JShortModel VARCHAR(50), - SwShortModel VARCHAR(50), - BShortModel VARCHAR(50), - Debug_String VARCHAR(255), - Debug_Sort_String VARCHAR(50), - CONSTRAINT SYS_PK_11927 PRIMARY KEY (ModelID), - CONSTRAINT MODEL_R_172 FOREIGN KEY (BrandID) REFERENCES Brand(BrandID) -); -CREATE INDEX SYS_IDX_MODEL_R_172_12422 ON Model (BrandID); diff --git a/migrations/2024.02.11T13.33.31.abstractPartType.sql b/migrations/2024.02.11T13.33.31.abstractPartType.sql deleted file mode 100644 index e00b68156..000000000 --- a/migrations/2024.02.11T13.33.31.abstractPartType.sql +++ /dev/null @@ -1,36 +0,0 @@ -CREATE TABLE AbstractPartType ( - AbstractPartTypeID INTEGER NOT NULL, - ParentAbstractPartTypeID INTEGER, - DependsOn INTEGER, - PartFilename VARCHAR(20), - EAPT VARCHAR(100) NOT NULL, - GAPT VARCHAR(100), - FAFT VARCHAR(100), - SAFT VARCHAR(100), - IAFT VARCHAR(100), - JAFT VARCHAR(100), - SWAFT VARCHAR(100), - BAFT VARCHAR(100), - ModifiedRule INTEGER DEFAULT 0, - EUT TEXT, - GUT TEXT, - FUT TEXT, - SUT TEXT, - IUT TEXT, - JUT TEXT, - SWUT TEXT, - BUT TEXT, - PartPaired INTEGER DEFAULT 0, - SchematicPicname1 VARCHAR(9), - SchematicPicname2 VARCHAR(9), - BlockFamilyCompatibility INTEGER DEFAULT 0, - RepairCostModifier NUMERIC(100,7) DEFAULT 0, - ScrapValueModifier NUMERIC(100,7) DEFAULT 0, - GarageCategory INTEGER DEFAULT 0, - CONSTRAINT SYS_PK_11740 PRIMARY KEY (AbstractPartTypeID), - CONSTRAINT ABSTRACTPARTTYPE_R_191 FOREIGN KEY (DependsOn) REFERENCES AbstractPartType(AbstractPartTypeID), - CONSTRAINT ABSTRACTPARTTYPE_R2 FOREIGN KEY (ParentAbstractPartTypeID) REFERENCES AbstractPartType(AbstractPartTypeID) -); -CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R_191_15170 ON AbstractPartType (DependsOn); -CREATE INDEX SYS_IDX_ABSTRACTPARTTYPE_R2_15181 ON AbstractPartType (ParentAbstractPartTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11740_11741 ON AbstractPartType (AbstractPartTypeID); diff --git a/migrations/2024.02.11T13.38.39.partGrade.sql b/migrations/2024.02.11T13.38.39.partGrade.sql deleted file mode 100644 index ec4a2a83d..000000000 --- a/migrations/2024.02.11T13.38.39.partGrade.sql +++ /dev/null @@ -1,9 +0,0 @@ -CREATE TABLE PartGrade ( - PartGradeID INTEGER NOT NULL, - EText VARCHAR(50), - GText VARCHAR(50), - FText VARCHAR(50), - PartGrade VARCHAR(50), - CONSTRAINT SYS_PK_11985 PRIMARY KEY (PartGradeID) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11985_11986 ON PartGrade (PartGradeID); diff --git a/migrations/2024.02.11T13.39.20.partType.sql b/migrations/2024.02.11T13.39.20.partType.sql deleted file mode 100644 index e9c68dcd2..000000000 --- a/migrations/2024.02.11T13.39.20.partType.sql +++ /dev/null @@ -1,13 +0,0 @@ -CREATE TABLE PartType ( - PartTypeID INTEGER NOT NULL, - AbstractPartTypeID INTEGER NOT NULL, - PartType VARCHAR(100) NOT NULL, - PartFilename VARCHAR(20), - PartGradeID INTEGER, - CONSTRAINT SYS_PK_11991 PRIMARY KEY (PartTypeID), - CONSTRAINT PARTTYPE_ABSTRACTPARTTYPEPARTTYPE FOREIGN KEY (AbstractPartTypeID) REFERENCES AbstractPartType(AbstractPartTypeID), - CONSTRAINT PARTTYPE_PARTGRADEPARTTYPE FOREIGN KEY (PartGradeID) REFERENCES PartGrade(PartGradeID) -); -CREATE INDEX SYS_IDX_PARTTYPE_ABSTRACTPARTTYPEPARTTYPE_12453 ON PartType (AbstractPartTypeID); -CREATE INDEX SYS_IDX_PARTTYPE_PARTGRADEPARTTYPE_12463 ON PartType (PartGradeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11991_11992 ON PartType (PartTypeID); diff --git a/migrations/2024.02.11T13.40.36.brandedPart.sql b/migrations/2024.02.11T13.40.36.brandedPart.sql deleted file mode 100644 index 25495b91e..000000000 --- a/migrations/2024.02.11T13.40.36.brandedPart.sql +++ /dev/null @@ -1,17 +0,0 @@ -CREATE TABLE BrandedPart ( - BrandedPartID INTEGER NOT NULL, - PartTypeID INTEGER NOT NULL, - ModelID INTEGER NOT NULL, - MfgDate TIMESTAMP NOT NULL, - QtyAvail INTEGER NOT NULL, - RetailPrice INTEGER NOT NULL, - MaxItemWear SMALLINT, - EngineBlockFamilyID INTEGER DEFAULT 0 NOT NULL, - CONSTRAINT SYS_PK_11801 PRIMARY KEY (BrandedPartID), - CONSTRAINT BRANDEDPART_MODELBRANDEDPART FOREIGN KEY (ModelID) REFERENCES Model(ModelID), - CONSTRAINT BRANDEDPART_PARTTYPEBRANDEDPART1 FOREIGN KEY (PartTypeID) REFERENCES PartType(PartTypeID) -); -CREATE INDEX BRANDEDPART_ENGINEBLOCKFAMILYID ON BrandedPart (EngineBlockFamilyID); -CREATE INDEX SYS_IDX_BRANDEDPART_MODELBRANDEDPART_12255 ON BrandedPart (ModelID); -CREATE INDEX SYS_IDX_BRANDEDPART_PARTTYPEBRANDEDPART1_12269 ON BrandedPart (PartTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11801_11802 ON BrandedPart (BrandedPartID); diff --git a/migrations/2024.02.11T13.41.55.part.sql b/migrations/2024.02.11T13.41.55.part.sql deleted file mode 100644 index 200fd0d6f..000000000 --- a/migrations/2024.02.11T13.41.55.part.sql +++ /dev/null @@ -1,20 +0,0 @@ -CREATE TABLE Part ( - PartID INTEGER NOT NULL, - ParentPartID INTEGER, - BrandedPartID INTEGER NOT NULL, - PercentDamage SMALLINT NOT NULL, - ItemWear INTEGER NOT NULL, - AttachmentPointID INTEGER, - OwnerID INTEGER, - PartName VARCHAR(100), - RepairCost INTEGER DEFAULT 0, - ScrapValue INTEGER DEFAULT 0, - CONSTRAINT SYS_PK_11976 PRIMARY KEY (PartID), - CONSTRAINT PART_BRANDEDPARTPART FOREIGN KEY (BrandedPartID) REFERENCES BrandedPart(BrandedPartID), - CONSTRAINT PART_R25 FOREIGN KEY (ParentPartID) REFERENCES Part(PartID), - CONSTRAINT PART_R9 FOREIGN KEY (AttachmentPointID) REFERENCES AttachmentPoint(AttachmentPointID) -); -CREATE INDEX SYS_IDX_PART_BRANDEDPARTPART_12431 ON Part (BrandedPartID); -CREATE INDEX SYS_IDX_PART_R25_15192 ON Part (ParentPartID); -CREATE INDEX SYS_IDX_PART_R9_12442 ON Part (AttachmentPointID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11976_11977 ON Part (PartID); diff --git a/migrations/2024.02.11T13.45.10.driverClass.sql b/migrations/2024.02.11T13.45.10.driverClass.sql deleted file mode 100644 index 14f38ea65..000000000 --- a/migrations/2024.02.11T13.45.10.driverClass.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE DriverClass ( - DriverClassID SMALLINT NOT NULL, - DriverClass VARCHAR(50), - CONSTRAINT SYS_PK_11831 PRIMARY KEY (DriverClassID) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_11831_11832 ON DriverClass (DriverClassID); diff --git a/migrations/2024.02.11T13.46.16.playerType.sql b/migrations/2024.02.11T13.46.16.playerType.sql deleted file mode 100644 index 997fec46b..000000000 --- a/migrations/2024.02.11T13.46.16.playerType.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE PlayerType ( - PlayerTypeID INTEGER NOT NULL, - PlayerType VARCHAR(100) NOT NULL, - CONSTRAINT SYS_PK_12040 PRIMARY KEY (PlayerTypeID) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12040_12041 ON PlayerType (PlayerTypeID); diff --git a/migrations/2024.02.11T14.07.43.player.sql b/migrations/2024.02.11T14.07.43.player.sql deleted file mode 100644 index 9d2e9643a..000000000 --- a/migrations/2024.02.11T14.07.43.player.sql +++ /dev/null @@ -1,80 +0,0 @@ -CREATE TABLE Player ( - PlayerID INTEGER NOT NULL, - CustomerID INTEGER NOT NULL, - PlayerTypeID INTEGER NOT NULL, - SanctionedScore INTEGER, - ChallengeScore INTEGER, - LastLoggedIn TIMESTAMP, - TimesLoggedIn SMALLINT, - BankBalance INTEGER NOT NULL, - NumCarsOwned SMALLINT NOT NULL, - IsLoggedIn SMALLINT, - DriverStyle SMALLINT NOT NULL, - LPCode INTEGER NOT NULL, - LPText VARCHAR(9), - CarNum1 VARCHAR(2) NOT NULL, - CarNum2 VARCHAR(2) NOT NULL, - CarNum3 VARCHAR(2) NOT NULL, - CarNum4 VARCHAR(2) NOT NULL, - CarNum5 VARCHAR(2) NOT NULL, - CarNum6 VARCHAR(2) NOT NULL, - DLNumber VARCHAR(20), - Persona VARCHAR(30) NOT NULL, - Address VARCHAR(128), - Residence VARCHAR(20), - VehicleID INTEGER, - CurrentRaceID INTEGER, - OfflineDriverSkill INTEGER, - OfflineGrudge INTEGER, - OfflineReputation INTEGER, - TotalTimePlayed INTEGER, - CarInfoSetting INTEGER, - StockClassicClass SMALLINT, - StockMuscleClass SMALLINT, - ModifiedClassicClass SMALLINT, - ModifiedMuscleClass SMALLINT, - OutlawClass SMALLINT, - DragClass SMALLINT, - ChallengeRung INTEGER, - OfflineAiCarClass SMALLINT DEFAULT 0, - OfflineAiSkinID INTEGER DEFAULT 0, - OfflineAiCarBptID INTEGER DEFAULT 0, - OfflineAiState SMALLINT DEFAULT 0, - BodyType INTEGER DEFAULT 0, - SkinColor INTEGER DEFAULT 0, - HairColor INTEGER DEFAULT 0, - ShirtColor INTEGER DEFAULT 0, - PantsColor INTEGER DEFAULT 0, - OfflineDriverStyle INTEGER, - OfflineDriverAttitude INTEGER, - EvadedFuzz INTEGER DEFAULT 0, - PinksWon INTEGER DEFAULT 0, - NumUnreadMail INTEGER DEFAULT 0, - TOTALRACESRUN INTEGER DEFAULT 0, - TOTALRACESWON INTEGER DEFAULT 0, - TOTALRACESCOMPLETED INTEGER DEFAULT 0, - TOTALWINNINGS INTEGER DEFAULT 0, - INSURANCERISKPOINTS INTEGER DEFAULT 0, - INSURANCERATING INTEGER DEFAULT 0, - CHALLENGERACESRUN INTEGER DEFAULT 0, - CHALLENGERACESWON INTEGER DEFAULT 0, - CHALLENGERACESCOMPLETED INTEGER DEFAULT 0, - CARSLOST INTEGER DEFAULT 0, - CARSWON INTEGER DEFAULT 0, - CONSTRAINT SYS_PK_12021 PRIMARY KEY (PlayerID), - CONSTRAINT PLAYER_DRIVERCLASSPLAYER1 FOREIGN KEY (StockMuscleClass) REFERENCES DriverClass(DriverClassID), - CONSTRAINT PLAYER_DRIVERCLASSPLAYER2 FOREIGN KEY (ModifiedClassicClass) REFERENCES DriverClass(DriverClassID), - CONSTRAINT PLAYER_DRIVERCLASSPLAYER3 FOREIGN KEY (ModifiedMuscleClass) REFERENCES DriverClass(DriverClassID), - CONSTRAINT PLAYER_DRIVERCLASSPLAYER4 FOREIGN KEY (OutlawClass) REFERENCES DriverClass(DriverClassID), - CONSTRAINT PLAYER_DRIVERCLASSPLAYER5 FOREIGN KEY (DragClass) REFERENCES DriverClass(DriverClassID), - CONSTRAINT PLAYER_R44 FOREIGN KEY (PlayerTypeID) REFERENCES PlayerType(PlayerTypeID) -); -CREATE INDEX PLAYER_NUMUNREADMAIL ON Player (NumUnreadMail); -CREATE INDEX PLAYER_OFFLINECHALLENGECARBPTID ON Player (OfflineAiCarBptID); -CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER1_12502 ON Player (StockMuscleClass); -CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER2_12523 ON Player (ModifiedClassicClass); -CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER3_12544 ON Player (ModifiedMuscleClass); -CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER4_12565 ON Player (OutlawClass); -CREATE INDEX SYS_IDX_PLAYER_DRIVERCLASSPLAYER5_12586 ON Player (DragClass); -CREATE INDEX SYS_IDX_PLAYER_R44_12607 ON Player (PlayerTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12021_12022 ON Player (PlayerID); diff --git a/migrations/2024.02.11T14.22.15.skinType.sql b/migrations/2024.02.11T14.22.15.skinType.sql deleted file mode 100644 index 40e91088a..000000000 --- a/migrations/2024.02.11T14.22.15.skinType.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE SkinType ( - SkinTypeID INTEGER NOT NULL, - SkinType VARCHAR(100), - CONSTRAINT SYS_PK_12138 PRIMARY KEY (SkinTypeID) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12138_12139 ON SkinType (SkinTypeID); diff --git a/migrations/2024.02.11T14.23.13.ptSkin.sql b/migrations/2024.02.11T14.23.13.ptSkin.sql deleted file mode 100644 index a502ecb5a..000000000 --- a/migrations/2024.02.11T14.23.13.ptSkin.sql +++ /dev/null @@ -1,73 +0,0 @@ -CREATE TABLE PTSkin ( - SkinID INTEGER NOT NULL, - CreatorID INTEGER, - SkinTypeID INTEGER, - PartTypeID INTEGER, - ESkin VARCHAR(100), - GSkin VARCHAR(20), - FSkin VARCHAR(20), - SSkin VARCHAR(20), - ISkin VARCHAR(20), - JSkin VARCHAR(20), - SwSkin VARCHAR(20), - BSkin VARCHAR(20), - Price INTEGER NOT NULL, - PartFilename VARCHAR(20), - H0 SMALLINT, - S0 SMALLINT, - V0 SMALLINT, - C0 SMALLINT, - X0 SMALLINT, - Y0 SMALLINT, - H1 SMALLINT, - S1 SMALLINT, - V1 SMALLINT, - C1 SMALLINT, - X1 SMALLINT, - Y1 SMALLINT, - H2 SMALLINT, - S2 SMALLINT, - V2 SMALLINT, - C2 SMALLINT, - X2 SMALLINT, - Y2 SMALLINT, - H3 SMALLINT, - S3 SMALLINT, - V3 SMALLINT, - C3 SMALLINT, - X3 SMALLINT, - Y3 SMALLINT, - H4 SMALLINT, - S4 SMALLINT, - V4 SMALLINT, - C4 SMALLINT, - X4 SMALLINT, - Y4 SMALLINT, - H5 SMALLINT, - S5 SMALLINT, - V5 SMALLINT, - C5 SMALLINT, - X5 SMALLINT, - Y5 SMALLINT, - H6 SMALLINT, - S6 SMALLINT, - V6 SMALLINT, - C6 SMALLINT, - X6 SMALLINT, - Y6 SMALLINT, - H7 SMALLINT, - S7 SMALLINT, - V7 SMALLINT, - C7 SMALLINT, - X7 SMALLINT, - Y7 SMALLINT, - DEFAULTFLAG INTEGER DEFAULT 0, - CreatorName VARCHAR(24), - Comment_Text VARCHAR(128), - CONSTRAINT SYS_PK_12047 PRIMARY KEY (SkinID), - CONSTRAINT PTSKIN_PARTTYPEPTSKIN FOREIGN KEY (PartTypeID) REFERENCES PartType(PartTypeID), - CONSTRAINT PTSKIN_SKINTYPEPTSKIN FOREIGN KEY (SkinTypeID) REFERENCES SkinType(SkinTypeID) -); -CREATE INDEX SYS_IDX_PTSKIN_PARTTYPEPTSKIN_12628 ON PTSkin (PartTypeID); -CREATE INDEX SYS_IDX_PTSKIN_SKINTYPEPTSKIN_12636 ON PTSkin (SkinTypeID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12047_12048 ON PTSkin (SkinID); diff --git a/migrations/2024.02.11T14.24.06.vehicle.sql b/migrations/2024.02.11T14.24.06.vehicle.sql deleted file mode 100644 index 6774880c5..000000000 --- a/migrations/2024.02.11T14.24.06.vehicle.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE TABLE Vehicle ( - VehicleID INTEGER NOT NULL, - SkinID INTEGER NOT NULL, - Flags INTEGER NOT NULL, - Class SMALLINT NOT NULL, - InfoSetting SMALLINT NOT NULL, - DamageInfo bytea, - DamageCached INTEGER DEFAULT 0, - CONSTRAINT SYS_PK_12214 PRIMARY KEY (VehicleID), - CONSTRAINT VEHICLE_PARTVEHICLE FOREIGN KEY (VehicleID) REFERENCES Part(PartID) ON DELETE CASCADE, - CONSTRAINT VEHICLE_PTSKINVEHICLE FOREIGN KEY (SkinID) REFERENCES PTSkin(SkinID) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12214_12215 ON Vehicle (VehicleID); -CREATE INDEX SYS_IDX_VEHICLE_PARTVEHICLE_12844 ON Vehicle (VehicleID); -CREATE INDEX SYS_IDX_VEHICLE_PTSKINVEHICLE_12856 ON Vehicle (SkinID); diff --git a/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql b/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql deleted file mode 100644 index ba33bec2e..000000000 --- a/migrations/2024.02.11T23.16.45.initialAttachmentPoint.sql +++ /dev/null @@ -1,14 +0,0 @@ -INSERT INTO AttachmentPoint (AttachmentPointID,AttachmentPoint) VALUES - (0,'(default)'), - (1,'Left Front'), - (2,'Right Front'), - (3,'Left Rear'), - (4,'Right Rear'), - (5,'Left'), - (6,'Right'), - (7,'A'), - (8,'B'), - (9,'C'); -INSERT INTO AttachmentPoint (AttachmentPointID,AttachmentPoint) VALUES - (10,'Front'), - (11,'Rear'); diff --git a/migrations/2024.02.11T23.20.55.initialBrand.sql b/migrations/2024.02.11T23.20.55.initialBrand.sql deleted file mode 100644 index cbe15a373..000000000 --- a/migrations/2024.02.11T23.20.55.initialBrand.sql +++ /dev/null @@ -1,105 +0,0 @@ -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (0,'EA','ea',0), - (1,'Ford','ford',9), - (2,'Mercury','merc',9), - (3,'Chevrolet','chev',9), - (4,'Cadillac','cadi',9), - (5,'Oldsmobile','olds',9), - (6,'Buick','buic',9), - (7,'Pontiac','pont',9), - (8,'Chrysler','chry',9), - (9,'Dodge','dodg',9); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (10,'Plymouth','plym',9), - (11,'AMC','amer',9), - (12,'AMC',NULL,9), - (13,'Edelbrock','edel',0), - (14,'Holley','holl',0), - (15,'GM','gm',9), - (16,'Rochester','roch',0), - (17,'Borg - Warner','borg',0), - (18,'Vich','vich',0), - (19,'Tibbits','tibb',0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (20,'Lindstrom','lind',0), - (21,'Crane','cran',0), - (22,'Carter','cart',0), - (23,'Carter - Rochester',NULL,0), - (25,'Marinn','mari',0), - (26,'Mallory','mall',0), - (27,'Accel','acce',0), - (28,'Stromberg','stro',0), - (29,'AeroFit','aero',0), - (30,'Hooker','hook',0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (31,'TFSpecial','tfs',0), - (32,'Apex','apex',0), - (34,'ProTread','prot',0), - (35,'PowerGrip','powe',0), - (36,'C & A','ca',0), - (37,'Manley','manl',0), - (38,'Offenhauser','offe',0), - (39,'Signature','sign',0), - (40,'TRW','trw',0), - (41,'JE Pistons','jepi',0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (42,'Mr. Gasket','mrg',0), - (43,'Pro - Formance',NULL,0), - (44,'Blinsky','blin',0), - (45,'SMVintage','sm',0), - (46,'Bully','bull',0), - (47,'Hays','hays',0), - (48,'Lakewood','lake',0), - (49,'Ferrari','ferr',0), - (50,'Monarch','good',0), - (53,'Emberwood',NULL,0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (54,'Full Gee',NULL,0), - (56,'BlackTop',NULL,0), - (57,'Monroe',NULL,0), - (58,'Lunati',NULL,0), - (59,'Coatili',NULL,0), - (60,'Acio',NULL,0), - (61,'Dana',NULL,0), - (62,'Potter',NULL,0), - (63,'Autolite',NULL,0), - (64,'Begren',NULL,0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (65,'Kelsey - Hayes',NULL,0), - (67,'Hall',NULL,0), - (68,'US Radiator',NULL,0), - (69,'Gifford',NULL,0), - (70,'Shade Tree',NULL,0), - (71,'AC Delco',NULL,0), - (72,'Bendix',NULL,0), - (73,'Ansman',NULL,0), - (74,'Raven',NULL,0), - (76,'Panteli',NULL,0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (77,'Reed',NULL,0), - (78,'Shelby',' ',0), - (79,'Leland',NULL,0), - (80,'Dunbar',NULL,0), - (81,'Weiand',NULL,0), - (82,'Quaker',NULL,0), - (83,'Oldfield',NULL,0), - (84,'Milloy',NULL,0), - (85,'Quik Lift',NULL,0), - (86,'Duro Rod',NULL,0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (87,'Newcomb',NULL,0), - (88,'Hedgely',NULL,0), - (89,'Fyne Grind',NULL,0), - (90,'Electronic Arts',' ',0), - (91,'Rad Rat',NULL,0), - (92,'C & B',NULL,0), - (93,'Perfect Port',NULL,0), - (94,'Walter',NULL,0), - (95,'Percy',NULL,0), - (96,'Street Shark',NULL,0); -INSERT INTO Brand (BrandID,Brand,PicName,IsStock) VALUES - (97,'Pirelli',NULL,0), - (98,'Michelin',NULL,0), - (99,'Firestone',NULL,0), - (100,'Goodyear',NULL,0), - (101,'Yokohama',NULL,0); diff --git a/migrations/2024.02.11T23.26.25.initialModel.sql b/migrations/2024.02.11T23.26.25.initialModel.sql deleted file mode 100644 index f9fb5367f..000000000 --- a/migrations/2024.02.11T23.26.25.initialModel.sql +++ /dev/null @@ -1,3524 +0,0 @@ -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 V-8 Coupe','Vehicle'), - (2,2,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury 49 Coupe','Vehicle'), - (3,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air','Vehicle'), - (4,4,'Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 47 Series 62','Vehicle'), - (5,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century','Vehicle'), - (6,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 66 GTO','Vehicle'), - (7,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe','Vehicle'), - (8,3,'Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Corvette','Vehicle'), - (9,4,'Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 59 Eldorado','Vehicle'), - (10,5,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 4-4-2','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (12,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO','Vehicle'), - (14,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 Crestline','Vehicle'), - (16,3,'Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Nomad Wagon','Vehicle'), - (20,7,'Firebird T/A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird T/A','Vehicle'), - (21,1,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500','Vehicle'), - (25,1,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Custom Ranchero','Vehicle'), - (26,3,'Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 63 Stingray','Vehicle'), - (32,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 63 Thunderbird','Vehicle'), - (33,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle','Vehicle'), - (34,5,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB V8 350','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (36,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Boss 302','Vehicle'), - (37,3,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro','Vehicle'), - (38,5,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB V8 400','Engine Block'), - (40,1,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Galaxie 500','Vehicle'), - (41,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle','Vehicle'), - (42,5,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB V8 455','Engine Block'), - (45,3,'El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino','Vehicle'), - (46,3,'Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova','Vehicle'), - (47,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Thunderbird','Vehicle'), - (48,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (49,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 58 Impala','Vehicle'), - (52,7,'389-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 389','Engine Block'), - (54,7,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 400','Engine Block'), - (56,7,'428-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 428','Engine Block'), - (58,7,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 455','Engine Block'), - (76,3,'265-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Fire block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 265','Engine Block'), - (77,3,'283-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 283','Engine Block'), - (78,3,'302-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 302','Engine Block'), - (79,1,'Flathead 221-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'24-bolt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221-V8','Engine Block'), - (80,3,'307-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'307',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 307','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (81,1,'260-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 260-V8','Engine Block'), - (82,1,'272-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'272',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 272-V8','Engine Block'), - (83,3,'327-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 327','Engine Block'), - (85,1,'292-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292-V8','Engine Block'), - (86,3,'348-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'348',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 348','Engine Block'), - (87,3,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350-V8','Engine Block'), - (88,1,'351-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland V8-351','Engine Block'), - (89,1,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB V8 390','Engine Block'), - (90,4,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 390','Engine Block'), - (91,1,'406-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (92,3,'396-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 396','Engine Block'), - (93,3,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB V8 400','Engine Block'), - (94,1,'428-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428-V8','Engine Block'), - (95,3,'409-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'409',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 409','Engine Block'), - (96,3,'454-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 454','Engine Block'), - (97,1,'352-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352-V8','Engine Block'), - (98,3,'502-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'502',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 502','Engine Block'), - (99,18,'Sipper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sipper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sipper Air Scoop 1%','Air Scoop'), - (100,18,'Slipstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Slipstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Slipstream Air Scoop 2%','Air Scoop'), - (101,18,'Impeller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impeller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impeller Air Scoop 3%','Air Scoop'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (102,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock CI Crankshaft','Crankshaft'), - (103,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock CI Crankshaft','Crankshaft'), - (104,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 Rod','Connecting Rods'), - (105,1,'HD Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD Capscrew Connecting Rod','Connecting Rods'), - (106,1,'HP 390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP 390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP 390 Rod','Connecting Rods'), - (107,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Connecting Rod','Connecting Rods'), - (108,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock CI EM','Exhaust Manifold'), - (109,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Exhaust Manifold','Exhaust Manifold'), - (110,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Exhaust Manifold','Exhaust Manifold'), - (111,37,'1.625" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Single Exhaust Pipe (Treated Iron)','Exhaust Pipe'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (112,37,'1.625" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Dual Exhaust Pipe (Treated Iron)','Exhaust Pipe'), - (113,37,'1.625" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Single Exhaust Pipe (Cast Iron)','Exhaust Pipe'), - (114,37,'1.625" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Dual Exhaust Pipe (Cast Iron)','Exhaust Pipe'), - (115,59,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midas Stock Muffler','Muffler'), - (116,59,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midas Aluminum Stock Muffler','Muffler'), - (117,30,'Dual Tail Pipe Tip 001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Dual Tail Pipe Tip 001','Tail Pipe Tip'), - (118,60,'Dual Tail Pipe Tip 002',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Dual Tail Pipe Tip 002','Tail Pipe Tip'), - (119,60,'Single Tail Pipe Tip 001',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Single Tail Pipe Tip 001','Tail Pipe Tip'), - (120,60,'Single Tail Pipe Tip (Flaming)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Acio Single Tail Pipe Tip (Flaming)','Tail Pipe Tip'), - (121,1,'3-Speed Auto A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.5/1.56/1)','Transmission'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (122,1,'3-Speed Auto (2.4/1.479/1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.4/1.479/1)','Transmission'), - (123,17,'4-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner 4-Speed Auto (2.741/1.568/1/0.674)','Transmission'), - (124,1,'3-Speed Auto B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.52/1.52/1) A','Transmission'), - (125,1,'3-Speed Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3-Speed Auto (2.482/1.482/1)','Transmission'), - (126,3,'4-Speed Auto High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Auto (3.059/1.625/1/0.696) A','Transmission'), - (127,3,'4-Speed Auto Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Automatic (2.4/1.479/1/0.723)','Transmission'), - (128,3,'4-Speed Auto Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Auto Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Auto (2.482/1.482/1/0.75)','Transmission'), - (129,1,'4-Speed Auto (2.74/1.57/1/0.67)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (2.74/1.57/1/0.67)','Transmission'), - (130,1,'4-Speed Auto (3.06/1.62/1/0.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (3.06/1.62/1/0.7)','Transmission'), - (131,1,'4-Speed Auto (3.97/2.55/1.55/1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-Speed Auto (3.97/2.55/1.55/1)','Transmission'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (132,46,'5-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 5-Speed Manual (2.95/1.94/1.34/1/0.63)','Transmission'), - (133,46,'5-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 5-Speed Manual (2.75/1.94/1.34/1/0.74)','Transmission'), - (134,46,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 4-Speed Manual (2.64/1.61/1.23/1)','Transmission'), - (135,3,'4-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (2.88/1.74/1.33/1)','Transmission'), - (136,3,'4-Speed Manual High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual High',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (3.44/2.28/1.46/1)','Transmission'), - (137,3,'4-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual Wide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4-Speed Manual (2.66/1.91/1.39/1)','Transmission'), - (138,15,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4-Speed Manual (2.22/1.64/1.28/1) (g)','Transmission'), - (139,15,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4-Speed Manual (2.65/1.93/1.39/1)','Transmission'), - (140,61,'2.73 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.73',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (2.73) Differential','Rear End'), - (141,61,'2.93 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (2.93) Differential','Rear End'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (142,61,'3.00 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.00) Differential','Rear End'), - (143,61,'3.23 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.23) Differential','Rear End'), - (144,61,'3.31 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.31) Differential','Rear End'), - (145,61,'3.42 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.42) Differential','Rear End'), - (146,61,'3.50 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.50) Differential','Rear End'), - (147,61,'3.54 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.54) Differential','Rear End'), - (148,61,'3.55 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.55) Differential','Rear End'), - (149,61,'3.64 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.64',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.64) Differential','Rear End'), - (150,61,'3.70 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.70) Differential','Rear End'), - (151,61,'3.77 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.77',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.77) Differential','Rear End'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (152,61,'3.9 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.9) Differential','Rear End'), - (153,61,'4.10 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (4.10) Differential','Rear End'), - (154,61,'4.33 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4.33',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (4.33) Differential','Rear End'), - (155,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Intake Manifold','Intake Manifold'), - (156,63,'4V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (300 cfm) Carb','Carburetor'), - (157,63,'6V Carburetor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'6V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 6V Carburetor','Carburetor'), - (158,71,'Stock Oil Bath',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy Light Duty Air Cleaner','Air Cleaner'), - (159,14,'Hi-Tek',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hi-Tek',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Hi-Tek Air Cleaner','Air Cleaner'), - (160,13,'Pro-Flo 1000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo 1000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo 1000 Air Cleaner','Air Cleaner'), - (161,20,'P05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'P05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom P05 Blower','Blower'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (162,14,'Pro-Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Pro-Street Blower','Blower'), - (163,20,'Little Rabbit',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Little Rabbit',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Little Rabbit NOS','Nitrous Injector'), - (164,20,'Cheetah',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cheetah',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Cheetah NOS','Nitrous Injector'), - (165,3,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Stock Lubrication System','Lubrication System'), - (166,1,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.0) Stock CH','Cylinder Head'), - (167,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Chrysler SB HP Camshaft','Camshaft'), - (168,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Hydraulic Valvetrain','Valve Train'), - (169,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Hydraulic Valvetrain','Valve Train'), - (172,11,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 AMX','Vehicle'), - (173,9,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 69 Charger','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (174,10,'Rd. Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 69 Road Runner','Vehicle'), - (175,10,'Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Cuda','Vehicle'), - (176,10,'Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 Duster','Vehicle'), - (187,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock CI Connecting Rod','Connecting Rods'), - (188,63,'2V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (300 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2V (300 cfm) Carb','Carburetor'), - (189,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Hydraulic Valvetrain','Valve Train'), - (190,65,'Cast Iron Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cast Iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Cast Iron Rim','Wheel Rims'), - (192,0,'Speedline Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speedline Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Speedline Driver','Driver'), - (193,68,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Stock Normal Duty Cooling System','Cooling System'), - (194,25,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Stock Normal Duty Electrical System','Electrical System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (195,67,'Fuzzy Dice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Fuzzy Dice Accessory','Fuzzy Dice'), - (196,15,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Rear View Mirror','Rear View Mirror'), - (197,1,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Rear View Mirror','Rear View Mirror'), - (198,1,'53 C.line Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 C.line Fender Skirt','Wheels Skirts'), - (199,1,'1955 Ford Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1955 Fairlane','Wheels Skirts'), - (200,1,'1956 Ford / Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1956 Thunderbird Wheel Skirts','Wheels Skirts'), - (201,1,'1957 Ford / Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1957 Thunderbird Wheel Skirts','Wheels Skirts'), - (202,4,'Cadillac Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Wheel Skirts','Wheels Skirts'), - (203,4,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'47 Caddy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 1949 Wheel Skirts','Wheels Skirts'), - (204,4,'Eldorado Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 1973 Fleetwood Eldorado Wheel Skirts','Wheels Skirts'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (205,3,'Chevy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1953 Bel Air','Wheels Skirts'), - (206,3,'Impala Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Impala Wheel Skirts','Wheels Skirts'), - (207,3,'Chevelle Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1969 Chevelle','Wheels Skirts'), - (208,3,'Monte Carlo Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Monte Carlo','Wheels Skirts'), - (209,1,'18 x 5.25 BP Blackwalls',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 18 x 5.25 Bias Ply Blackwalls (2ply)','Tires'), - (220,1,'40 Coupe Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Fender Skirt','Wheels Skirts'), - (221,1,'1937 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1937 Wheel Skirts','Wheels Skirts'), - (222,3,'Chevy Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wheel Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1939 Chevrolet','Wheels Skirts'), - (223,10,'1941 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1941 Plymouth','Wheels Skirts'), - (224,11,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rear View Mirror','Rear View Mirror'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (225,8,'Rear View Mirror',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Rear View Mirror','Rear View Mirror'), - (226,0,'Medium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'medium window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium Window Tinting','Window Tinting'), - (227,3,'2-Speed Powerglide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2-Speed Powerglide',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 2-Speed Powerglide','Transmission'), - (228,1,'1927 Ford Model T Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1927 Model T Boards','Running Boards'), - (229,1,'1931 Ford Model A Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1931 Model A Boards','Running Boards'), - (230,3,'Confederate Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1932 Confederate Boards','Running Boards'), - (231,1,'1934 Ford Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1934 Coupe Boards','Running Boards'), - (232,1,'1937 Ford Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1937 Coupe Boards','Running Boards'), - (233,3,'37 Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1937 Chevy Coupe Boards','Running Boards'), - (234,3,'39 Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1939 Coupe Boards','Running Boards'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (235,10,'1941 Plymouth Coupe Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1941 Coupe Boards','Running Boards'), - (236,4,'Sedanette Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Sedanette Running Boards','Running Boards'), - (237,1,'1948 Ford Woody Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1948 Woody Boards','Running Boards'), - (238,0,'Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Amber Fog Lights','Amber Fog Lights'), - (244,0,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'White Fog Lights','White Fog Lights'), - (246,2,'49 Coupe Fender Skirt',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury 49 Coupe Fender Skirt','Wheels Skirts'), - (247,3,'3-Speed Stnd Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 3-Speed Standard Ratio (Saginaw)','Transmission'), - (248,3,'3-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed Close',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3-Speed Close Ratio (Saginaw)','Transmission'), - (249,3,'3-Speed w/ Overdrive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3-Speed OD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 3-Speed w/ Overdrive (Saginaw)','Transmission'), - (250,17,'4-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Close Ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner 1957 4-Speed Close Ratio (Toledo)','Transmission'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (251,1,'1957 Ford Thunderbird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1957 Thunderbird Scoop','Hood'), - (252,3,'Stingray Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1963 Corvette Stingray Scoop (fake)','Hood'), - (253,1,'1963 Ford Thunderbird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1963 Thunderbird Scoop','Hood'), - (254,7,'GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fake',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1964 GTO Scoop (fake)','Hood'), - (255,7,'GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1966 GTO Scoop','Hood'), - (256,3,'SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (Fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Camaro SS-396 Scoop (fake)','Hood'), - (257,3,'SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'fake',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Chevelle SS-396 Scoop (fake)','Hood'), - (258,10,'1969 Plymouth Road Runner Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Grabber scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1969 Road Runner Scoop ("Air Grabber" scoop)','Hood'), - (259,7,'1969 Pontiac Firebird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1969 Firebird Scoop','Hood'), - (260,7,'1969 Pontiac GTO Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air III Induction system',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1969 GTO Scoop','Hood'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (261,6,'1970 Buick Gran Sport Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'download',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 1970 Gran Sport Scoop (download)','Hood'), - (262,5,'4-4-2 W-30 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 4-4-2 W-30 Scoop','Hood'), - (263,5,'4-4-2 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 Hurst/Olds 4-4-2 Scoop','Hood'), - (264,1,'1969 Ford Torino Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1969 Torino Scoop','Hood'), - (265,1,'1969 Ford Torino GT Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air Induction system',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1969 Torino GT Scoop','Hood'), - (266,3,'Nova SS-396 Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (Fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Nova SS-396 Scoop (fake)','Hood'), - (267,10,'1970 Plymouth ''Cuda Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shaker hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Scoop ("Shaker" hood)','Hood'), - (268,10,'1970 Plymouth ''Cuda Hemi Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shaker hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Hemi Scoop ("Shaker" hood)','Hood'), - (269,9,'1970 Dodge Challenger R/T Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 1970 Challenger R/T Scoop','Hood'), - (270,7,'1973 Pontiac Trans-Am Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Trans-Am Scoop','Hood'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (271,7,'Firebird Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'twin scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Firebird Scoop (twin scoop)','Hood'), - (272,1,'1940 Ford Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'A Ford Spotlight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1940 Spot Light','Spot Light'), - (273,4,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1947 Cadillac Spot Light','Spot Light'), - (274,6,'1955 Buick Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This is a spot light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 1955 Spot Light','Spot Light'), - (275,3,'Bel-Air Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 Bel-Air Spot Light','Spot Light'), - (276,3,'Wagon Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1957 Wagon Spot Light','Spot Light'), - (407,47,'Wheelie Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fits all cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hays Wheelie Bar Attachment','Wheelie Bar'), - (408,3,'Impala Sport Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood (fake)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1958 Impala Sport Scoop (fake)','Hood'), - (409,14,'Street PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Street PowerCharger Blower','Blower'), - (410,1,'Boss Ignition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Boss XHD Electronic Ignition','Electrical System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (411,26,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mallory Economy Light Duty Electrical System','Electrical System'), - (412,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 HD Electrical System','Electrical System'), - (413,68,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Economy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Light Duty Cooling System','Cooling System'), - (414,68,'Cool-Flo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cool-Flo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Cool-Flo Heavy Duty Cooling System','Cooling System'), - (415,68,'Maxi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'US Radiator Maxi Extra Heavy Duty Cooling System','Cooling System'), - (416,1,'Big Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Boss XHD Cooling System','Cooling System'), - (417,7,'Stock CI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI Connecting Rod','Connecting Rods'), - (418,14,'4150 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4150 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4150 4V (780 cfm)','Carburetor'), - (420,3,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Cast Iron Single Plane Intake Manifold','Intake Manifold'), - (421,11,'AMC V8 290 Alum. Indy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light weight aluminum block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290 Indy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC V8 290 Aluminum Indy','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (422,3,'Muncie Early (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Early Wide-Ratio (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Muncie Early Wide-Ratio (Manual) (1963-1965)','Transmission'), - (423,3,'Muncie (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Close-Ratio (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Muncie Close-Ratio (Manual) (1966-1974)','Transmission'), - (424,15,'Muncie Wide-Ratio M20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Muncie M20 Wide-Ratio Manual (2.52/1.88/1.46/1)','Transmission'), - (425,3,'Corvette 4-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1997 Corvette 4-Speed Automatic Transmission','Transmission'), - (426,0,'Speedliner 5-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EA Speedliner 5-Speed Automatic Transmission (Modified Diablo Manual)','Transmission'), - (427,3,'Powerglide Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Powerglide (1963-73) Automatic(Heavy) (Aluminum, Two-speed)','Transmission'), - (428,3,'Turbo Hydra-Matic 350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Turbo Hydra-Matic 350 (Automatic) (Equipped with 1969-1984 GM Cars)','Transmission'), - (429,17,'T-10X Comp. (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10X',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10X Special Competition (Manual)','Transmission'), - (430,17,'T-10W Spec. (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10W Special Wide-Ratio (Manual)','Transmission'), - (431,17,'T-10Y (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)','Transmission'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (432,1,'T+C Overdrive (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford T+C Top Loader Overdrive (Manual) (1977-78)','Transmission'), - (433,1,'T+C Overdrive2 (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford T+C Top Loader Overdrive2 (Manual) (1979-86)','Transmission'), - (434,16,'2GV 2V (200 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2GV 2V (200 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 2GV 2V (200 cfm) Carb','Carburetor'), - (435,1,'4-speed All-Synchro (Manual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-speed All-Synchro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4-speed All-Synchro (Manual)','Transmission'), - (436,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP Exhaust Manifold','Exhaust Manifold'), - (437,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 HP Exhaust Manifold','Exhaust Manifold'), - (438,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Exhaust Manifold','Exhaust Manifold'), - (440,61,'3.10 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.10) Differential','Rear End'), - (441,15,'3.40 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM (3.40) Differential','Rear End'), - (442,1,'460-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (443,1,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'good, solid, durable Ford bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Ford Bumpers','Bumpers'), - (444,3,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mark IV Big Block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 427','Engine Block'), - (445,15,'Dual Resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Dual Resonator Muffler','Muffler'), - (446,9,'1969 Dodge Charger RT Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 1969 Charger RT Tip','Tail Pipe Tip'), - (447,5,'Trumpet Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 1969 4-4-2 Trumpet Tip','Tail Pipe Tip'), - (448,1,'1970 Ford Mustang Oval Trumpet Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 1970 Mustang Oval Trumpet Tip','Tail Pipe Tip'), - (449,10,'1970 Plymouth ''Cuda Chrome Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 1970 ''Cuda Chrome Tip','Tail Pipe Tip'), - (450,7,'Firebird Chrome Extension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 1973 Firebird Chrome Extension','Tail Pipe Tip'), - (451,15,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Z11 Lubrication System','Lubrication System'), - (452,28,'97 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'97 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stromberg 97 2V Carburetor','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (453,27,'Billetproof Breakerless',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billetproof',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Accel Billetproof HD Breakerless','Electrical System'), - (454,27,'Blueprint Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Accel Blueprint HD Electronic','Electrical System'), - (455,14,'2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 2300 2V Carburetor','Carburetor'), - (456,45,'Aluminum Alloy Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SMVintage Aluminum Alloy Rim','Wheel Rims'), - (457,45,'Magnesium Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Magnesium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SMVintage Magnesium Rim','Wheel Rims'), - (458,16,'4G 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4G 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 4G 4V (600 cfm) Carb','Carburetor'), - (459,16,'Monojet 2V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (350 cfm) Carb','Carburetor'), - (460,14,'PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerCharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley PowerCharger (20%) Blower','Blower'), - (461,13,'RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock RPM Muffler','Muffler'), - (462,13,'Victor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Victor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Victor Muffler','Muffler'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (463,13,'304',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'304',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock 304 Muffler','Muffler'), - (464,30,'Maximum Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maximum Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Maximum Flow','Muffler'), - (465,30,'Super Competition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Competition',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Super Competition','Muffler'), - (466,30,'Elite Glasspack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Glasspack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Elite Glasspack','Muffler'), - (467,1,'Big Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Boss XHD Lubrication System','Lubrication System'), - (468,46,'XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully XHD Lubrication System','Lubrication System'), - (469,1,'Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cobra Lubrication System','Lubrication System'), - (470,25,'Marinn Large Bore Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip','Tail Pipe Tip'), - (471,25,'Marinn Large Bore (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore (Dual) Tip','Tail Pipe Tip'), - (472,25,'Large Bore Tip w/resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip w/resonator','Tail Pipe Tip'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (473,25,'Large Bore Tip w/resonator (Dual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Large Bore Tip w/resonator (Dual)','Tail Pipe Tip'), - (474,25,'MegaCone Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn MegaCone Tip','Tail Pipe Tip'), - (475,25,'MegaCone (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn MegaCone (Dual) Tip','Tail Pipe Tip'), - (476,25,'Slanted Cut Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip','Tail Pipe Tip'), - (477,25,'Slanted Cut (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut (Dual) Tip','Tail Pipe Tip'), - (478,25,'Slanted Cut Tip w/resonator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip w/resonator','Tail Pipe Tip'), - (479,25,'Slanted Cut Tip w/resonator (Dual)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marinn Slanted Cut Tip w/resonator (Dual)','Tail Pipe Tip'), - (480,13,'Angle Cut Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Angle Cut Tip','Tail Pipe Tip'), - (481,13,'Angle Cut (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Angle Cut (Dual) Tip','Tail Pipe Tip'), - (482,13,'Flat Oval Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Flat Oval Tip','Tail Pipe Tip'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (483,13,'Flat Oval (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Flat Oval (Dual) Tip','Tail Pipe Tip'), - (484,13,'Round Double Wall Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Double Wall Tip','Tail Pipe Tip'), - (485,13,'Edelbrock Round Double Wall (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Double Wall (Dual) Tip','Tail Pipe Tip'), - (486,13,'Edelbrock Round Turn-Down Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Turn-Down Tip','Tail Pipe Tip'), - (487,13,'Edelbrock Round Turn-Down (Dual) Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Round Turn-Down (Dual) Tip','Tail Pipe Tip'), - (488,30,'Str. Rodder Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Rodder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Rodder Chevrolet SB Headers','Exhaust Manifold'), - (489,30,'Max Perf. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maximum Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Maximum Performance (Dual) Exhaust Pipe','Exhaust Pipe'), - (490,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Flat Top Cast Aluminum Piston','Pistons'), - (491,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Flat Top Cast Aluminum Piston','Pistons'), - (492,14,'Dominator 2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2300 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2300 2V Carb','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (493,14,'4150 4V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4150 4V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4150 4V (650 cfm) Carb','Carburetor'), - (494,13,'Performer 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (600 cfm) Carb','Carburetor'), - (495,44,'Hi-Pro V8 5.0L',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'experimental aluminum engine block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'5.0L',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blinsky Hi-Pro V8 5.0L','Engine Block'), - (497,14,'MegaBlower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MegaBlower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley MegaBlower (25%)','Blower'), - (498,2,'Flathead 255',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'255',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Flathead 255','Engine Block'), - (499,46,'727 Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'727 Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully 727 Torqueflite (Chrysler 383, 440)','Transmission'), - (500,46,'Turbo-Hydro 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Hydro 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Turbo-Hydro 400 Automatic (2.48/1.48/1)','Transmission'), - (501,46,'Torqueflite HD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Torqueflite HD Transmission Cooler','Transmission Cooler'), - (502,46,'Turbo ND Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo ND',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Turbo ND Transmission Cooler','Transmission Cooler'), - (503,46,'Powerglide LD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide LD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Powerglide LD Transmission Cooler','Transmission Cooler'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (504,46,'C-6 XHD Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-6 XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully C-6 XHD Transmission Cooler','Transmission Cooler'), - (505,14,'Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley NOS Powershot','Nitrous Injector'), - (506,14,'Super Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Powershot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Super Powershot','Nitrous Injector'), - (507,14,'Cheater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cheater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Cheater','Nitrous Injector'), - (508,14,'Sneeky Pete',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sneeky Pete',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Sneeky Pete NOS','Nitrous Injector'), - (509,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 65 Mustang','Vehicle'), - (513,1,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 V-8 Coupe - Modified','Vehicle'), - (517,16,'Ramjet Fuel Injector',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ramjet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Ramjet Fuel Injector','Carburetor'), - (518,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Flat Top Cast Aluminum Piston','Pistons'), - (525,20,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the familiar blue and red flashing lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lindstrom Cop Lights','Cop Lights'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (526,0,'Traffic 2 door',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TRAFFIC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic 2 door',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Traffic 2 door','Vehicle'), - (527,0,'Vanilla Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Vanilla Hood','Hood'), - (536,4,'Cadillac Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'47 Caddy Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 47 Hood','Hood'), - (537,6,'55 Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century Hood','Hood'), - (538,3,'57 Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air Hood w/ Scoop','Hood'), - (539,3,'57 Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Nomad Hood','Hood'), - (540,3,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Corvette Hood','Hood'), - (541,3,'58 Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 58 Impala Hood','Hood'), - (542,4,'Eldorado Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eldorado Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac 59 Eldorado Hood','Hood'), - (543,3,'63 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 63 Corvette Hood','Hood'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (544,3,'64 Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala Hood','Hood'), - (545,7,'66 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 66 GTO Hood','Hood'), - (546,3,'67 Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle Hood','Hood'), - (547,3,'67 Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro Hood','Hood'), - (548,5,'69 Oldsmobile 442',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 442 Hood','Hood'), - (549,7,'69 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO Hood','Hood'), - (550,3,'70 El Camino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino Hood','Hood'), - (551,3,'70 Nova',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova Hood','Hood'), - (552,3,'70 Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle Hood','Hood'), - (553,7,'73 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird Hood','Hood'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (554,9,'69 Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dodge 69 Charger Hood','Hood'), - (555,10,'69 Road Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 69 Road Runner Hood','Hood'), - (556,11,'69 AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 AMX Hood','Hood'), - (557,10,'70 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Cuda Hood','Hood'), - (558,10,'71 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 Duster Hood','Hood'), - (559,69,'70 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 70 lb/in traverse spring','Springs'), - (560,69,'80 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 80 lb/in traverse spring','Springs'), - (561,69,'90 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 90 lb/in traverse spring','Springs'), - (562,69,'100 lb/in Traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 100 lb/in Traverse Springs','Springs'), - (563,69,'110 lb/in traverse',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in traverse spring','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (564,69,'120 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 120 lb/in Coil Springs','Springs'), - (565,69,'130 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 130 lb/in coil spring','Springs'), - (566,69,'140 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 140 lb/in coil spring','Springs'), - (567,69,'150 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 150 lb/in Coil Springs','Springs'), - (568,69,'160 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in coil spring','Springs'), - (569,69,'170 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in coil spring','Springs'), - (570,69,'180 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 180 lb/in leaf spring','Springs'), - (571,69,'190 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 190 lb/in leaf spring','Springs'), - (572,69,'200 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 200 lb/in leaf spring','Springs'), - (573,69,'210 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 210 lb/in coil-over spring','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (574,69,'220 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 220 lb/in coil-over spring','Springs'), - (575,69,'230 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 230 lb/in coil-over spring','Springs'), - (576,69,'240 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 240 lb/in coil-over spring','Springs'), - (577,69,'250 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 250 lb/in coil-over spring','Springs'), - (578,62,'50 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'50 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 50 Nm Sway Bar','Sway Bar'), - (579,62,'60 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'60 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 60 Nm Sway Bar','Sway Bar'), - (580,62,'70 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'70 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 70 Nm Sway Bar','Sway Bar'), - (581,62,'80 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'80 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 80 Nm Sway Bar','Sway Bar'), - (582,62,'90 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'90 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 90 Nm Sway Bar','Sway Bar'), - (583,62,'100 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'100 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 100 Nm Sway Bar','Sway Bar'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (584,62,'110 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'110 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 110 Nm Sway Bar','Sway Bar'), - (585,62,'120 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'120 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 120 Nm Sway Bar','Sway Bar'), - (586,62,'130 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'130 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 130 Nm Sway Bar','Sway Bar'), - (587,62,'140 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'140 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 140 Nm Sway Bar','Sway Bar'), - (588,62,'150 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'150 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 150 Nm Sway Bar','Sway Bar'), - (589,62,'160 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'160 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 160 Nm Sway Bar','Sway Bar'), - (590,62,'170 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'170 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 170 Nm Sway Bar','Sway Bar'), - (591,62,'180 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'180 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 180 Nm Sway Bar','Sway Bar'), - (592,62,'190 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'190 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 190 Nm Sway Bar','Sway Bar'), - (593,62,'200 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'200 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 200 Nm Sway Bar','Sway Bar'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (594,62,'210 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'210 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 210 Nm Sway Bar','Sway Bar'), - (595,62,'220 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'220 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 220 Nm Sway Bar','Sway Bar'), - (596,62,'230 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'230 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 230 Nm Sway Bar','Sway Bar'), - (597,62,'240 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'240 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 240 Nm Sway Bar','Sway Bar'), - (598,62,'250 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'250 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 250 Nm Sway Bar','Sway Bar'), - (599,62,'260 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 260 Nm Sway Bar','Sway Bar'), - (600,62,'270 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'270 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 270 Nm Sway Bar','Sway Bar'), - (601,62,'280 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'280 Nm',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Potter 280 Nm Sway Bar','Sway Bar'), - (602,69,'LD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford LD Traction Bar','Traction Bar'), - (603,69,'ND Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford ND Traction Bar','Traction Bar'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (604,69,'HD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford HD Traction Bar','Traction Bar'), - (605,69,'XHD Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford XHD Traction Bar','Traction Bar'), - (606,43,'LD (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance LD (0.2) Shock','Shocks'), - (607,43,'LD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance LD (0.3) Shock','Shocks'), - (608,43,'ND (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.2) Shock','Shocks'), - (609,43,'ND (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.3) Shock','Shocks'), - (610,43,'HD (0.24)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.24)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.24) Shock','Shocks'), - (611,43,'HD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.3) Shock','Shocks'), - (612,43,'XHD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.3) Shock','Shocks'), - (613,43,'XHD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.36) Shock','Shocks'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (614,43,'XHD (0.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XHD (0.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance XHD (0.4) Shock','Shocks'), - (615,71,'10 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic Drum Brakes','Brakes'), - (616,71,'11 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic Drum Brake','Brakes'), - (617,72,'12 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic Drum Brake','Brakes'), - (618,71,'10 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic HT Drum Brakes','Brakes'), - (619,71,'11 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic HT Drum Brake','Brakes'), - (620,71,'10 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Semi-Metallic Drum Brakes','Brakes'), - (621,71,'11 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Semi-Metallic Drum Brake','Brakes'), - (622,71,'10 x 2 Org Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic Disk Brakes','Brakes'), - (623,71,'11 x 2 Org Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic Disk Brake','Brakes'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (624,72,'12 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic Disk Brake','Brakes'), - (625,71,'10 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Organic HT Disk Brakes','Brakes'), - (626,71,'11 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Organic HT Disk Brake','Brakes'), - (627,72,'12 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic HT Disk Brake','Brakes'), - (628,71,'10 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Semi-Metallic Disk Brakes','Brakes'), - (629,71,'11 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Semi-Metallic Disk Brake','Brakes'), - (630,72,'12 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Semi-Metallic Disk Brake','Brakes'), - (631,71,'9 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Metallic Disk Brakes','Brakes'), - (632,71,'10 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 10 x 2 Metallic Disk Brakes','Brakes'), - (633,71,'11 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 11 x 2 Metallic Disk Brake','Brakes'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (634,72,'12 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Metallic Disk Brake','Brakes'), - (635,73,'14 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Metallic Disk Brake','Brakes'), - (636,73,'16 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'16 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 16 x 2 Metallic Disk Brake','Brakes'), - (637,18,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 25 kg Spoiler','Chin Spoiler'), - (638,18,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 50 kg Spoiler','Chin Spoiler'), - (639,18,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 75 kg Spoiler','Chin Spoiler'), - (640,18,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Aera 100 kg Spoiler','Chin Spoiler'), - (641,18,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 125 kg Spoiler','Chin Spoiler'), - (642,18,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 150 kg Spoiler','Chin Spoiler'), - (643,18,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 175 kg Spoiler','Chin Spoiler'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (644,18,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 200 kg Spoiler','Chin Spoiler'), - (645,18,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 225 kg Spoiler','Chin Spoiler'), - (646,18,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich Boundary 250 kg Spoiler','Chin Spoiler'), - (647,18,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 25 kg Rear Spoiler','Rear Spoiler'), - (648,18,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 50 kg Rear Spoiler','Rear Spoiler'), - (649,18,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 75',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 75 kg Rear Spoiler','Rear Spoiler'), - (650,18,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aera 100',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 100 kg Rear Spoiler','Rear Spoiler'), - (651,18,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 125',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 125 kg Rear Spoiler','Rear Spoiler'), - (652,18,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 150',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 150 kg Rear Spoiler','Rear Spoiler'), - (653,18,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 175',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 175 kg Rear Spoiler','Rear Spoiler'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (654,18,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 200',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 200 kg Rear Spoiler','Rear Spoiler'), - (655,18,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides significant aerodynamic downforce for improved high-speed traction and handling',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 225',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 225 kg Rear Spoiler','Rear Spoiler'), - (656,18,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boundary 250',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vich 250 kg Rear Spoiler','Rear Spoiler'), - (657,0,'Cuda A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda A','Horn'), - (658,0,'Cuda B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda B','Horn'), - (659,0,'Cuda 2Stone',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Cuda 2Stone','Horn'), - (660,0,'El Camino A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts El Camino A','Horn'), - (661,0,'El Camino B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts El Camino B','Horn'), - (662,7,'Firebird A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Firebird A','Horn'), - (663,7,'Firebird B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Firebird B','Horn'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (664,10,'Fury',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth Fury','Horn'), - (665,15,'GMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors GMC','Horn'), - (666,0,'Hillman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Hillman','Horn'), - (667,3,'Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Impala','Horn'), - (668,0,'Metropolitan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Metropolitan','Horn'), - (669,0,'Metropolitan Siren',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Metropolitan Siren','Horn'), - (670,1,'64 Ford Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Mustang','Horn'), - (671,0,'Snubnose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts Snubnose','Horn'), - (672,1,'Aoooga A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Aoooga A','Horn'), - (673,3,'Aoooga B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Aoooga B','Horn'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (674,15,'Aoooga C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Aoooga C','Horn'), - (680,50,'150/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/82/14 Bias Ply','Tires'), - (681,50,'170/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/82/14 Bias Ply','Tires'), - (682,50,'178/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 178/82/14 Bias Ply','Tires'), - (683,50,'190/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/82/14 Bias Ply','Tires'), - (684,50,'210/82/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/82/14 Bias Ply','Tires'), - (685,50,'150/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/14 Bias Ply','Tires'), - (686,50,'170/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/14 Bias Ply','Tires'), - (687,50,'178/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 178/92/14 Bias Ply','Tires'), - (688,50,'190/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/14 Bias Ply','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (689,50,'210/92/14 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/92/14 Bias Ply','Tires'), - (690,50,'170/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/82/15 Bias Ply','Tires'), - (691,50,'190/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/82/15 Bias Ply','Tires'), - (692,50,'210/82/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/82/15 Bias Ply','Tires'), - (693,50,'150/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/15 Bias Ply','Tires'), - (694,50,'170/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/15 Bias Ply','Tires'), - (695,50,'190/92/15 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/15 Bias Ply','Tires'), - (696,50,'150/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 150/92/16 Bias Ply','Tires'), - (697,50,'170/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 170/92/16 Bias Ply','Tires'), - (698,50,'190/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 190/92/16 Bias Ply','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (699,50,'210/92/16 Bias Ply',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch 210/92/16 Bias Ply','Tires'), - (700,99,'190/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/60/14 Bias Belted','Tires'), - (701,99,'214/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/60/14 Bias Belted','Tires'), - (702,99,'238/60/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/60/14 Bias Belted','Tires'), - (703,99,'190/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/72/14 Bias Belted','Tires'), - (704,99,'202/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/72/14 Bias Belted','Tires'), - (705,99,'214/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/72/14 Bias Belted','Tires'), - (706,99,'226/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/72/14 Bias Belted','Tires'), - (707,99,'238/72/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/72/14 Bias Belted','Tires'), - (708,99,'166/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 166/82/14 Bias Belted','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (709,99,'178/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/82/14 Bias Belted','Tires'), - (710,99,'190/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/82/14 Bias Belted','Tires'), - (711,99,'202/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/82/14 Bias Belted','Tires'), - (712,99,'214/82/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/82/14 Bias Belted','Tires'), - (713,99,'178/92/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/92/14 Bias Belted','Tires'), - (714,99,'202/92/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/92/14 Bias Belted','Tires'), - (715,99,'178/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/60/15 Bias Belted','Tires'), - (716,99,'202/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/60/15 Bias Belted','Tires'), - (717,99,'226/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/60/15 Bias Belted','Tires'), - (718,99,'238/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/60/15 Bias Belted','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (719,99,'202/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/72/15 Bias Belted','Tires'), - (720,99,'226/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/72/15 Bias Belted','Tires'), - (721,99,'238/72/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/72/15 Bias Belted','Tires'), - (722,99,'190/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 190/82/15 Bias Belted','Tires'), - (723,99,'214/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 214/82/15 Bias Belted','Tires'), - (724,99,'238/82/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/82/15 Bias Belted','Tires'), - (725,99,'178/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 178/92/15 Bias Belted','Tires'), - (726,99,'202/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 202/92/15 Bias Belted','Tires'), - (727,99,'226/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 226/92/15 Bias Belted','Tires'), - (728,99,'238/92/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 238/92/15 Bias Belted','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (729,100,'185/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/65/14 Radial','Tires'), - (730,100,'205/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/65/14 Radial','Tires'), - (731,100,'195/70/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/70/14 Radial','Tires'), - (732,100,'215/70/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/70/14 Radial','Tires'), - (733,100,'195/75/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/75/14 Radial','Tires'), - (734,100,'205/75/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/75/14 Radial','Tires'), - (735,100,'195/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/65/15 Radial','Tires'), - (736,100,'215/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/65/15 Radial','Tires'), - (737,100,'205/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/70/15 Radial','Tires'), - (738,100,'215/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/70/15 Radial','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (739,100,'225/70/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emberwood 225/70/15 Radial','Tires'), - (740,100,'205/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/75/15 Radial','Tires'), - (741,100,'215/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/75/15 Radial','Tires'), - (742,100,'235/75/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 235/75/15 Radial','Tires'), - (743,100,'215/65/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/65/16 Radial','Tires'), - (744,100,'215/60/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/60/16 Radial','Tires'), - (745,100,'225/60/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/60/16 Radial','Tires'), - (746,100,'225/55/16 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/55/16 Radial','Tires'), - (747,98,'205/55/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/15 Radial Rain','Tires'), - (748,98,'195/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/60/15 Radial Rain','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (749,98,'205/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/60/15 Radial Rain','Tires'), - (750,98,'215/60/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/15 Radial Rain','Tires'), - (751,98,'185/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 185/65/15 Radial Rain','Tires'), - (752,98,'195/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/65/15 Radial Rain','Tires'), - (753,98,'205/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/65/15 Radial Rain','Tires'), - (754,98,'215/65/15 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/65/15 Radial Rain','Tires'), - (755,98,'225/55/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/55/16 Radial Rain','Tires'), - (756,98,'215/60/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/16 Radial Rain','Tires'), - (757,98,'225/60/16 Radial Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/60/16 Radial Rain','Tires'), - (758,101,'195/55/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/55/15VR Performance','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (759,101,'205/55/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/55/15VR Performance','Tires'), - (760,101,'195/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/60/15VR Performance','Tires'), - (761,101,'205/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/60/15VR Performance','Tires'), - (762,101,'215/60/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/60/15VR Performance','Tires'), - (763,101,'185/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 185/65/15VR Performance','Tires'), - (764,101,'195/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/65/15VR Performance','Tires'), - (765,101,'205/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/65/15VR Performance','Tires'), - (766,101,'215/65/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/65/15VR Performance','Tires'), - (767,101,'205/40/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/40/16VR Performance','Tires'), - (768,101,'215/40/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/40/16VR Performance','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (769,101,'205/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/45/16VR Performance','Tires'), - (770,101,'205/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/45/16VR Performance','Tires'), - (771,101,'215/45/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/45/16VR Performance','Tires'), - (772,101,'205/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/50/16VR Performance','Tires'), - (773,101,'225/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/50/16VR Performance','Tires'), - (774,101,'245/50/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 245/50/16VR Performance','Tires'), - (775,101,'205/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/55/16VR Performance','Tires'), - (776,101,'215/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/55/16VR Performance','Tires'), - (777,101,'225/55/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/55/16VR Performance','Tires'), - (778,101,'215/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/60/16VR Performance','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (779,101,'225/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/60/16VR Performance','Tires'), - (780,101,'235/60/16VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/60/16VR Performance','Tires'), - (781,101,'215/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/40/17VR Performance','Tires'), - (782,101,'235/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/40/17VR Performance','Tires'), - (783,101,'255/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 255/40/17VR Performance','Tires'), - (784,101,'215/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 215/45/17VR Performance','Tires'), - (785,101,'225/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/45/17VR Performance','Tires'), - (786,101,'235/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 235/45/17VR Performance','Tires'), - (787,101,'245/45/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 245/45/17VR Performance','Tires'), - (788,101,'315/35/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 315/35/17VR Performance','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (789,98,'195/55/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/55/15VR Performance Rain','Tires'), - (790,98,'205/55/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/15VR Performance Rain','Tires'), - (791,98,'195/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/60/15VR Performance Rain','Tires'), - (792,98,'205/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/60/15VR Performance Rain','Tires'), - (793,98,'215/60/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/15VR Performance Rain','Tires'), - (794,98,'185/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 185/65/15VR Performance Rain','Tires'), - (795,98,'195/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 195/65/15VR Performance Rain','Tires'), - (796,98,'205/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/65/15VR Performance Rain','Tires'), - (797,98,'215/65/15VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/65/15VR Performance Rain','Tires'), - (798,98,'205/40/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/40/16VR Performance Rain','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (799,98,'205/45/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/45/16VR Performance Rain','Tires'), - (800,98,'215/45/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/45/16VR Performance Rain','Tires'), - (801,98,'205/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/50/16VR Performance Rain','Tires'), - (802,98,'225/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/50/16VR Performance Rain','Tires'), - (803,98,'245/50/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 245/50/16VR Performance Rain','Tires'), - (804,98,'205/55/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 205/55/16VR Performance Rain','Tires'), - (805,98,'225/55/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/55/16VR Performance Rain','Tires'), - (806,98,'215/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/60/16VR Performance Rain','Tires'), - (807,98,'225/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/60/16VR Performance Rain','Tires'), - (808,98,'235/60/16VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/60/16VR Performance Rain','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (809,98,'215/40/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/40/17VR Performance Rain','Tires'), - (810,98,'235/40/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/40/17VR Performance Rain','Tires'), - (811,98,'215/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 215/45/17VR Performance Rain','Tires'), - (812,98,'225/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 225/45/17VR Performance Rain','Tires'), - (813,98,'235/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 235/45/17VR Performance Rain','Tires'), - (814,98,'245/45/17VR Perf. Rain',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Michelin 245/45/17VR Performance Rain','Tires'), - (827,1,'32 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Hood','Hood'), - (828,1,'32 Coupe Front Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Front Fenders','Fenders'), - (829,1,'32 Coupe Rear Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Rear Fenders','Fenders'), - (830,1,'32 Coupe Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Running Boards','Running Boards'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (831,1,'32 Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'32 Coupe Bumpers! Put em on!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'32 Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 32 Coupe Bumpers','Bumpers'), - (833,1,'40 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Hood','Hood'), - (834,1,'40 Coupe Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 40 Coupe Running Boards','Running Boards'), - (836,1,'49 Coupe Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 49 Coupe Hood','Hood'), - (838,1,'53 Crestline Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 53 Crestline Hood','Hood'), - (840,1,'57 Fairlane 500 Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500 Hood','Hood'), - (842,1,'57 Ranchero Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Ranchero Hood','Hood'), - (844,1,'57 T-Bird Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 T-Bird Hood w/Scoop','Hood'), - (846,1,'63 T-Bird Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 63 T-Bird Hood w/Scoop','Hood'), - (848,1,'64 Galaxie 500 Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Galaxie 500 Hood','Hood'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (850,1,'64 Mustang Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 64 Mustang Hood','Hood'), - (852,1,'69 Torino Hood w/Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 69 Torino Hood w/Scoop','Hood'), - (854,1,'70 Mustang Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Hood','Hood'), - (856,65,'Steel Slotted Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Steel Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Steel Slotted Rim','Wheel Rims'), - (857,65,'Steel Rim',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Kelsey-Hayes Steel Rim','Wheel Rims'), - (864,1,'Early 3 spd. Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Early 3 spd. Manual (Gear Ratios)','Transmission'), - (865,1,'Ford-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic Auto.','Transmission'), - (866,17,'T-10 4 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-10 4 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Borg T-10 4 spd Manual','Transmission'), - (867,1,'C-4 Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 Automatic','Transmission'), - (868,1,'4 spd Manual (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd Manual (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd Manual (Top)','Transmission'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (869,61,'3.56 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.56) Differential','Rear End'), - (870,61,'3.25 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.25) Differential','Rear End'), - (871,61,'3.91 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana (3.91) Differential','Rear End'), - (872,1,'Late 3 spd. Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 speed m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Late 3 spd. Manual','Transmission'), - (873,1,'Cruise-o-matic Auto.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic Auto.','Transmission'), - (874,17,'T-85 3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-85 3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Borg T-85 3 spd Manual','Transmission'), - (875,1,'Flathead 239-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'239',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 239-V8','Engine Block'), - (876,1,'312-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312-V8','Engine Block'), - (877,1,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427-V8','Engine Block'), - (878,1,'289-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (879,1,'302-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8','Engine Block'), - (880,1,'429-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8','Engine Block'), - (881,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock TI Crankshaft','Crankshaft'), - (882,1,'Dished Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dished',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Dished Top Cast Aluminum Piston','Pistons'), - (883,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Dual Plane Aluminum Intake Manifold','Intake Manifold'), - (884,1,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Aluminum Dual Plane Intake Manifold','Intake Manifold'), - (885,1,'Detroit Lubricator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Detroit Lubricator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Detroit Lubricator','Carburetor'), - (886,14,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (600 cfm) Carb','Carburetor'), - (887,1,'Flathead (6.15) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (6.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (6.15) Stock Cylinder Head','Cylinder Head'), - (888,2,'Flathead (6.8) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Stock (6.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mercury Flathead (6.8) Stock Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (889,1,'Flathead (7.2) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (7.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (7.2) Stock Cylinder Head','Cylinder Head'), - (890,1,'Low Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Low Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Low Riser (11.6)','Cylinder Head'), - (891,1,'Boss HP (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss HP (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss HP (10.5) Cylinder Head','Cylinder Head'), - (892,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford BB Valvetrain','Valve Train'), - (893,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss HD Solid Lifter Valve Train','Valve Train'), - (934,1,'3 spd/4.10 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/4.10 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/4.10 (32-48)','Driveline Assembly'), - (935,1,'3 spd/3.78 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.78 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.78 (32-48)','Driveline Assembly'), - (936,1,'3 spd/3.90 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.90 (32-48)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.90 (32-48)','Driveline Assembly'), - (937,1,'3 spd/3.56 (49-62)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.56 (49-62)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.56 (49-62)','Driveline Assembly'), - (938,1,'Ford-o-matic/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.31','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (939,1,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'rear axle ratio of 3.10 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.10','Driveline Assembly'), - (940,1,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'The Ford-o-matic was first introduced on the 1957 Fairlane and has a rear axle ratio of 3.70 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford-o-matic/3.70','Driveline Assembly'), - (941,1,'Cruise-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'this driveline assembly was found in many late 50''s to early 70''s Ford cars.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cruise-o-matic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic/3.00 ','Driveline Assembly'), - (942,1,'3 spd/(T-86)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the relatively low final drive ratio of 3.25 allow a car to reach high top speeds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/(T-86)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.25 (T-86)','Driveline Assembly'), - (943,1,'3 spd/3.25 (T-85)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.25 (T-85)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 3 spd/3.25 (T-85)','Driveline Assembly'), - (944,1,'4 spd/3.25 (T-10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.25 (T-10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd/3.25 (T-10)','Driveline Assembly'), - (945,1,'C-4 auto/3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'standard Ford transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 auto/3.00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 auto/3.00','Driveline Assembly'), - (946,1,'4 spd/3.50 (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.50 (Top)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 spd/3.50 (Top)','Driveline Assembly'), - (947,1,'C-4 auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'standard Ford transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-4 auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-4 auto/3.91','Driveline Assembly'), - (948,1,'C-6 auto/3.91 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C-6 auto/3.91 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford C-6 auto/3.91 Lock','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (949,1,'Flathead Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Single','Exhaust Assembly'), - (950,1,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Passenger Single','Exhaust Assembly'), - (951,1,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Passenger Dual','Exhaust Assembly'), - (952,1,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Dual','Exhaust Assembly'), - (953,1,'Flathead 221 1V (65 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'original flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221 1V (65 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221 1V (65 hp)','Engine Assembly'), - (954,1,'Flathead 221 2V (85 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'221 2V (85 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 221 2V (85 hp)','Engine Assembly'), - (955,1,'Flathead 255 2V (112 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'255 2V (112 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 255- 2V (112 hp)','Engine Assembly'), - (956,1,'Flathead 239 2V (110 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'flathead engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'239 2V (110 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 239 2V (110 hp)','Engine Assembly'), - (957,1,'312 4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'stock with automatic transmission vehicles',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (245 hp)','Engine Assembly'), - (958,1,'427 LR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 LR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 LR 2x4V (425 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (959,1,'289 2V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 2V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 289 2V (195 hp)','Engine Assembly'), - (960,1,'302 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8 2V (220 hp)','Engine Assembly'), - (961,1,'429 Boss (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Street Boss engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 Boss (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 Boss (375 hp)','Engine Assembly'), - (962,99,'162/68/18 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 162/68/18 Bias Belted','Tires'), - (964,1,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 57 Fairlane 500','Vehicle'), - (971,1,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Boss 429 Mustang','Vehicle'), - (974,1,'Torino GT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torino',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Torino GT','Vehicle'), - (980,11,'Big Bad AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 69 BigBad AMX','Vehicle'), - (990,10,'GTX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth GTX Cpe','Vehicle'), - (1002,8,'4 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1003,8,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Shift-Command/','Driveline Assembly'), - (1004,8,'3 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 3 spd/','Driveline Assembly'), - (1005,8,'4 spd/3.55 ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/3.55 ','Driveline Assembly'), - (1006,8,'Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'The Torqueflite transmission was found in a majority of Chrysler''s cars in the 70''s.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 ','Driveline Assembly'), - (1007,8,'4 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 4 spd/3.55 Lock','Driveline Assembly'), - (1008,8,'Torqueflite/3.23 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This version of the Torqueflite has a 3.23 to 1 rear axle ratio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite/3.23 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 Lock','Driveline Assembly'), - (1009,8,'Torqueflite/3.23 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi version of the Torqueflite Transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torqueflite/3.23 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Torqueflite/3.23 Hemi','Driveline Assembly'), - (1010,8,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Passenger Single','Exhaust Assembly'), - (1011,8,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Passenger Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Passenger Dual','Exhaust Assembly'), - (1012,8,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Dual','Exhaust Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1013,8,'High Perf. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler High Perf. Dual','Exhaust Assembly'), - (1014,11,'290 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290 4V (225 hp)','Engine Assembly'), - (1015,11,'343 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343 4V (280 hp)','Engine Assembly'), - (1016,4,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB 390 4V (315 hp)','Engine Assembly'), - (1017,8,'318 2V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'318 2V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 318 2V (230 hp)','Engine Assembly'), - (1018,8,'440 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 4V (375 hp)','Engine Assembly'), - (1019,8,'Hemi 426 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'street hemi configuration',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi 426 2x4V (425 hp)','Engine Assembly'), - (1020,8,'340 3x2V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 3x2V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340 3x2V (290 hp)','Engine Assembly'), - (1021,8,'340 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340 4V (275 hp)','Engine Assembly'), - (1022,8,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (10.25) Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1023,8,'AAR (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB AAR (10.5) W/P Cylinder Head','Cylinder Head'), - (1034,8,'Shift-Command Auto',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Shift-Command Automatic (2.45/1.45/1)','Transmission'), - (1035,8,'Stock Round Chrome',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Stock Round Chrome','Tail Pipe Tip'), - (1036,11,'290-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 290-V8','Engine Block'), - (1037,11,'343-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343-V8','Engine Block'), - (1038,11,'390-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390-V8','Engine Block'), - (1039,8,'318-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'318',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 318-V8','Engine Block'), - (1040,8,'440-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440-V8','Engine Block'), - (1041,8,'426-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'426',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426-V8','Engine Block'), - (1042,8,'340-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 340-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1043,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Lubrication System','Lubrication System'), - (1044,8,'Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock CI/DP IM','Intake Manifold'), - (1045,8,'Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Dual Plane Manifold','Intake Manifold'), - (1046,11,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.0) W CH','Cylinder Head'), - (1047,11,'Stock (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.2) W CH','Cylinder Head'), - (1048,11,'SS (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC SS (10.2) HP Cylinder Head','Cylinder Head'), - (1049,7,'Stock (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock (9.2) Cylinder Head','Cylinder Head'), - (1050,8,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock (10.5) W Cylinder Head','Cylinder Head'), - (1051,0,'TRFMONTE',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFMONTE (Traffic)','Vehicle'), - (1052,0,'TRFDELVR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFDELVR (Traffic)','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1053,0,'TRFBUS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFBUS (Traffic)','Vehicle'), - (1054,0,'TRFGSX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFGSX (Traffic)','Vehicle'), - (1055,0,'TRFSTANG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFSTANG (Traffic)','Vehicle'), - (1056,0,'TRFTBIRD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFTBIRD (Traffic)','Vehicle'), - (1057,0,'TRFPUP1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRFPUP1 (Traffic)','Vehicle'), - (1058,0,'TRF2DR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Traffic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Electronic Arts TRF2DR (Traffic)','Vehicle'), - (1084,15,'3 spd./3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd./3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd./3.71','Driveline Assembly'), - (1085,15,'Hydramatic/3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.54','Driveline Assembly'), - (1086,15,'3 spd/3.90 (37-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.90 (37-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.90 (37-60)','Driveline Assembly'), - (1087,15,'Dynaflow/3.4 (52-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dynaflow/3.4 (52-60)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Dynaflow/3.4 (52-60)','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1088,15,'3 spd/3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.70',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.70','Driveline Assembly'), - (1089,15,'Turboglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turboglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Turboglide/3.55','Driveline Assembly'), - (1090,15,'Powerglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.55','Driveline Assembly'), - (1091,15,'3 spd/3.70 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.70 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.70 Posi','Driveline Assembly'), - (1092,15,'Hydramatic/2.94',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/2.94',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/2.94','Driveline Assembly'), - (1093,15,'4 spd/3.70 Posi (Borg)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.70 Posi (Borg)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.70 Posi (Borg)','Driveline Assembly'), - (1094,15,'3 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.36 Posi','Driveline Assembly'), - (1095,15,'Powerglide/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.36 Posi','Driveline Assembly'), - (1096,15,'4 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.36 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.36 Posi','Driveline Assembly'), - (1097,15,'3 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.55','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1098,15,'Powerglide/3.08 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.08 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.08 Posi','Driveline Assembly'), - (1099,15,'3 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.55 Lock','Driveline Assembly'), - (1100,15,'Hydramatic/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.55 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.55 Lock','Driveline Assembly'), - (1101,15,'3 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 spd/3.73 Posi','Driveline Assembly'), - (1102,15,'Powerglide/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Powerglide/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Powerglide/3.07','Driveline Assembly'), - (1103,15,'4 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.73 Posi','Driveline Assembly'), - (1104,15,'T-Hydramatic/2.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/2.73 Posi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/2.73 Posi','Driveline Assembly'), - (1105,15,'4 spd/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.42','Driveline Assembly'), - (1106,15,'T-Hydramatic/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.42','Driveline Assembly'), - (1107,15,'4 spd/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.31','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1108,15,'T-Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.55','Driveline Assembly'), - (1109,15,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors T-Hydramatic/3.07','Driveline Assembly'), - (1110,15,'4 spd/3.90 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.90 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.90 Lock','Driveline Assembly'), - (1111,15,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.55','Driveline Assembly'), - (1112,15,'4 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 4 spd/3.42 Lock','Driveline Assembly'), - (1113,4,'346 2V (150 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a big chunk of iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'346 2V (150 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head 346 2V (150 hp)','Engine Assembly'), - (1114,6,'322 4V (236 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322 4V (236 hp)','Engine Assembly'), - (1115,3,'283 FI (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'baseline FI engine; includes improved oiling and Ram''s Horn exhaust manifolds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (250 hp)','Engine Assembly'), - (1116,4,'390 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'an innovative engine block when it first came out in 1949; smaller and lighter than previous designs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB 390 3x2V (345 hp)','Engine Assembly'), - (1117,3,'327 4V (300 hp) (L75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (300 hp) (L75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (300 hp) (L75)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1118,7,'389 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (335 hp)','Engine Assembly'), - (1119,3,'396 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'semi-hemi combustion chambers; smooth bend port runners; a modern engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB 396 4V (375 hp)','Engine Assembly'), - (1120,7,'400 Ram Air II (366 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1968 GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II (366 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air II (366 hp)','Engine Assembly'), - (1121,3,'350 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB 350 4V (300 hp)','Engine Assembly'), - (1122,5,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (375 hp)','Engine Assembly'), - (1123,7,'455 SD 4V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Duty; this version of the engine never quite reached production due to emissions requirements',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 SD 4V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (310 hp)','Engine Assembly'), - (1124,7,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (10.5) W CH','Cylinder Head'), - (1125,5,'(10.25) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (10.25) Stock Cylinder Head','Cylinder Head'), - (1126,7,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) W Cylinder Head','Cylinder Head'), - (1127,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chevrolet BB IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1128,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chevrolet SB IM','Intake Manifold'), - (1129,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chrysler BB IM','Intake Manifold'), - (1130,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Chrysler SB IM','Intake Manifold'), - (1131,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Ford BB IM','Intake Manifold'), - (1132,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Ford SB IM','Intake Manifold'), - (1133,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Olds BB IM','Intake Manifold'), - (1134,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Olds SB IM','Intake Manifold'), - (1135,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi IM','Intake Manifold'), - (1136,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Pontiac IM','Intake Manifold'), - (1137,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'high flow tunnel ram aluminum alloy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Tunnel Ram Pontiac IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1138,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet BB Dual Plane IM','Intake Manifold'), - (1139,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet SB Dual Plane IM','Intake Manifold'), - (1140,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler BB Dual Plane IM','Intake Manifold'), - (1141,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler SB Dual Plane IM','Intake Manifold'), - (1142,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford BB IM','Intake Manifold'), - (1143,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford SB Dual Plane IM','Intake Manifold'), - (1144,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds BB Dual Plane IM','Intake Manifold'), - (1145,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds SB Dual Plane IM','Intake Manifold'), - (1146,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree CI DP IM','Intake Manifold'), - (1147,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Pontiac Dual Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1148,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chevrolet BB IM','Intake Manifold'), - (1149,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chevrolet SB IM','Intake Manifold'), - (1150,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chrysler BB IM','Intake Manifold'), - (1151,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Chrysler SB IM','Intake Manifold'), - (1152,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Ford BB IM','Intake Manifold'), - (1153,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Ford SB IM','Intake Manifold'), - (1154,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Olds BB IM','Intake Manifold'), - (1155,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Olds SB IM','Intake Manifold'), - (1156,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Pontiac IM','Intake Manifold'), - (1157,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Single Plane Pontiac IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1158,15,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd Manual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors GM 3 spd Manual (A)','Transmission'), - (1159,15,'M22 4 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M22 Close Ratio 4 Spd Manual','Transmission'), - (1160,15,'3.71 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM (3.71) Differential','Rear End'), - (1161,4,'346-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'346',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head 346-V8','Engine Block'), - (1162,6,'322-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with two-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322-V8','Engine Block'), - (1172,71,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Normal Duty Air Cleaner','Air Cleaner'), - (1173,5,'(9.0) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB (9.0) Stock Cylinder Head','Cylinder Head'), - (1174,3,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB (9.5) W Cylinder Head','Cylinder Head'), - (1175,3,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted (11.0) Cylinder Head','Cylinder Head'), - (1176,7,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 350','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1177,7,'421-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac V8 421','Engine Block'), - (1184,15,'Camaro Sidepipes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sidepipes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Camaro Sidepipes','Muffler'), - (1185,15,'Hood Mod Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hood Mod Bel-Air','Hood'), - (1186,15,'3 spd M/3.70 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd M/3.70 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 Spd M/3.70 Lock','Driveline Assembly'), - (1187,15,'3 spd M/3.36 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd M/3.36 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors 3 Spd M/3.36 Lock','Driveline Assembly'), - (1188,46,'T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully T-Hydro 400/3.55','Driveline Assembly'), - (1189,15,'Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hydramatic/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'General Motors Hydramatic/3.55','Driveline Assembly'), - (1190,7,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Hydramatic/3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac T-Hydramatic/12-bolt 3.07','Driveline Assembly'), - (1191,11,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'This automatic transmission was found in the AMX in 69 and had a rear axle ratio of 3.54 to 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shift-Command',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Shift-Command/3.54','Driveline Assembly'), - (1192,10,'3 spd/3.9 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.9 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 3 Spd/3.9 Lock','Driveline Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1193,1,'Cruise-o-matic/3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cruise-o-matic/3.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cruise-o-matic/3.10','Driveline Assembly'), - (1194,46,'Cool T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Driveline Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cool T-Hydro 400/3.55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully Cool T-Hydro 400/3.55','Driveline Assembly'), - (1195,3,'4 spd Synchro M/4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd Synchro M/4.10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 4 Spd Synchro M/4.10','Driveline Assembly'), - (1196,3,'3 spd/3.77 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.77 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3 Spd/3.77 Lock','Driveline Assembly'), - (1197,3,'3 spd/3.31 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.31 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 3 spd/3.31 Lock','Driveline Assembly'), - (1198,1,'4 spd M/3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 spd M/3.91',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 4 Spd M/3.91','Driveline Assembly'), - (1199,67,'3 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/3.42 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 3 Speed/3.42 Lock','Driveline Assembly'), - (1200,8,'3 spd/4.10 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 spd/4.10 Lock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler 3 Spd/4.10 Lock','Driveline Assembly'), - (1202,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick 55 Century','Vehicle'), - (1203,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 57 Bel-Air','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1230,7,'GTO Judge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 69 GTO Judge','Vehicle'), - (1243,1,'FH (7.5) Denver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Denver (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead (7.5) Denver Stock Cylinder Head','Cylinder Head'), - (1244,5,'(8.5) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (8.5) Stock Cylinder Head','Cylinder Head'), - (1245,3,'(10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 2.07i/1.72e CH','Cylinder Head'), - (1246,3,'L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB (11.0) L72 HP Canted Cylinder Head','Cylinder Head'), - (1247,3,'L88 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L88 Aluminum Canted Cylinder Head','Cylinder Head'), - (1248,3,'L89 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L89 Aluminum Canted Cylinder Head','Cylinder Head'), - (1249,1,'1957 (9.0) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 (9.0) Stock Cylinder Head','Cylinder Head'), - (1250,1,'Canted (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Canted (8.5) Cylinder Head','Cylinder Head'), - (1251,1,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Canted (11.0) Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1252,1,'HO HP (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO HP (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland HO (9.2) Canted CH','Cylinder Head'), - (1253,1,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (9.6) Wedge CH','Cylinder Head'), - (1254,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer HP CH','Cylinder Head'), - (1255,1,'Wedge HP (11.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge HP (11.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP (11.4) W/P CH','Cylinder Head'), - (1256,1,'High Riser (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB High Riser (11.5) W/F Cylinder Head','Cylinder Head'), - (1257,1,'(10.5) Canted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 (10.5) Canted CH','Cylinder Head'), - (1258,1,'Cobrajet (11.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet (11.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (11.3) CJ HP CH','Cylinder Head'), - (1260,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) W/P Cylinder Head','Cylinder Head'), - (1261,8,'Max Wedge I (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (11.0) Cylinder Head','Cylinder Head'), - (1262,8,'Max Wedge I (13.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I (13.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (13.5) Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1282,8,'Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Tunnel Ram Intake Manifold','Intake Manifold'), - (1283,3,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Aluminum Dual Plane Intake Manifold','Intake Manifold'), - (1284,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Intake Manifold','Intake Manifold'), - (1285,3,' Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Aluminum Dual Plane Intake Manifold','Intake Manifold'), - (1286,1,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cobrajet Dual Plane Intake Manifold','Intake Manifold'), - (1287,38,'Offenhauser Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Chrysler Hemi Dual Plane Magnesium IM','Intake Manifold'), - (1288,1,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cobrajet HP Exhaust Manifold','Exhaust Manifold'), - (1289,8,'Max Wedge Cross-Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge Aluminum Cross-Ram Intake Manifold','Intake Manifold'), - (1290,22,'Tri-Pwr 3x2V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter Tri-Power 3x2V Carburetor','Carburetor'), - (1291,16,'Q-Jet 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 2x4V (800 cfm) Carb','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1292,1,'Ford 385 Valve Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Cast Iron Valve Cover','Valve Cover'), - (1293,3,'Chevy W Valve Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Cast Iron Valve Cover','Valve Cover'), - (1294,3,'Hi-Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hi-Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Hi-Lift Hydraulic Valve Train','Valve Train'), - (1295,1,'Tri-Y Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Y Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Tri-Y Steel Tube Headers','Exhaust Manifold'), - (1299,8,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III Valve Train','Valve Train'), - (1307,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chrysler SB DP Camshaft','Camshaft'), - (1308,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Camshaft','Camshaft'), - (1309,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Camshaft','Camshaft'), - (1310,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock Camshaft','Camshaft'), - (1311,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'bone stock; low idle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1312,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock Camshaft','Camshaft'), - (1313,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Camshaft','Camshaft'), - (1314,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Camshaft','Camshaft'), - (1315,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Camshaft','Camshaft'), - (1316,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Camshaft','Camshaft'), - (1317,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Camshaft','Camshaft'), - (1318,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Camshaft','Camshaft'), - (1319,8,'Barracuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Barracuda Stock Camshaft','Camshaft'), - (1320,3,'Stock Hi-Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Hi-Lift Camshaft','Camshaft'), - (1321,3,'HP Duntov',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Duntov',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB HP Duntov Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1322,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB HP Camshaft','Camshaft'), - (1323,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP Camshaft','Camshaft'), - (1324,3,'HP LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB HP LS7 Camshaft','Camshaft'), - (1325,6,'1968 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1968 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB 1968 Stage I Camshaft','Camshaft'), - (1326,6,'1969 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB 1969 Stage I Camshaft','Camshaft'), - (1327,6,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'midway between a stock cam and a true high performance cam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage II Camshaft','Camshaft'), - (1328,5,'W-31 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB W31 HP Camshaft','Camshaft'), - (1329,5,'W-30 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB W30 HP Camshaft','Camshaft'), - (1330,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD DP Camshaft','Camshaft'), - (1331,7,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air I HP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1332,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV HP Camshaft','Camshaft'), - (1333,7,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac HO HP Camshaft','Camshaft'), - (1334,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD HP Camshaft','Camshaft'), - (1335,13,'Perf. Q-Jet (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Q-Jet (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Q-Jet (600 cfm) Carb','Carburetor'), - (1336,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Camshaft','Camshaft'), - (1337,13,'Performer RPM (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (9.25) Chevy SB CH','Cylinder Head'), - (1338,13,'Performer RPM (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (10.5) Chevy SB CH','Cylinder Head'), - (1339,13,'Performer (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer (10.5) Chevy SB CH','Cylinder Head'), - (1340,13,'Performer (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer (9.25) Chevy SB CH','Cylinder Head'), - (1341,13,'Perf. 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM 454-O (9.5) Chevrolet BB Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1342,13,'Performer 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 454-O (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 454-O (9.5) Chevrolet BB Head','Cylinder Head'), - (1343,13,'Perf. 454-R (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM 454-R (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM 454-R (9.5) Chevrolet BB Cylinder Head','Cylinder Head'), - (1344,13,'Perf. RPM (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM (11.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM (11.5) Chevy SB CH','Cylinder Head'), - (1345,1,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HO (DP) Camshaft','Camshaft'), - (1346,1,'HO Mild',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Mild',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HO Mild (HP) Camshaft','Camshaft'), - (1347,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer (DP+) Camshaft','Camshaft'), - (1348,1,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB PI (HP) Camshaft','Camshaft'), - (1349,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss (DP) Camshaft','Camshaft'), - (1350,13,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker Buick BB Intake Manifold','Intake Manifold'), - (1351,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Buick BB Intake Manifold','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1352,13,'Torker II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker II Buick BB Intake Manifold','Intake Manifold'), - (1353,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Buick BB Tunnel Ram Intake Manifold','Intake Manifold'), - (1354,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Dual Plane Intake Manifold','Intake Manifold'), - (1355,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Dual Plane Intake Manifold','Intake Manifold'), - (1356,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Dual Plane Intake Manifold','Intake Manifold'), - (1357,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Dual Plane Intake Manifold','Intake Manifold'), - (1358,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB CI/DP IM','Intake Manifold'), - (1359,8,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HP Camshaft','Camshaft'), - (1360,8,'Max Wedge I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I (HP) Camshaft','Camshaft'), - (1361,8,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (DP)Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1362,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (DP+) Camshaft','Camshaft'), - (1363,8,'AAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB AAR (HP) Camshaft','Camshaft'), - (1364,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 (HP+) Camshaft','Camshaft'), - (1365,11,'SS/AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS/AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC SS/AMX (DP) Camshaft','Camshaft'), - (1367,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Cadillac BB Camshaft','Camshaft'), - (1368,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Buick BB Camshaft','Camshaft'), - (1369,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Buick SB Camshaft','Camshaft'), - (1370,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chevrolet BB Camshaft','Camshaft'), - (1371,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chevrolet SB Camshaft','Camshaft'), - (1372,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Chrysler BB Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1373,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Ford BB Camshaft','Camshaft'), - (1374,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Ford SB Camshaft','Camshaft'), - (1375,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Olds BB Camshaft','Camshaft'), - (1376,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Olds SB Camshaft','Camshaft'), - (1377,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Pontiac Camshaft','Camshaft'), - (1378,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi Camshaft','Camshaft'), - (1379,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chrysler BB Camshaft','Camshaft'), - (1380,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Buick BB Camshaft','Camshaft'), - (1381,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Buick SB Camshaft','Camshaft'), - (1382,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevrolet BB Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1383,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevrolet SB Camshaft','Camshaft'), - (1384,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Sportsman Ford SB Connecting Rod','Connecting Rods'), - (1385,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Ford BB Camshaft','Camshaft'), - (1386,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Ford SB Camshaft','Camshaft'), - (1387,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Olds BB Camshaft','Camshaft'), - (1389,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Ford SB Connecting Rod','Connecting Rods'), - (1390,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Olds SB Camshaft','Camshaft'), - (1391,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Pontiac Camshaft','Camshaft'), - (1392,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special Chevy W Camshaft','Camshaft'), - (1393,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Chevrolet SB Stock+ Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1394,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Ford SB Stock+ Camshaft','Camshaft'), - (1395,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Ford BB Connecting Rod','Connecting Rods'), - (1396,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Ford BB Stock+ Camshaft','Camshaft'), - (1397,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler BB HP Camshaft','Camshaft'), - (1398,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Buick BB HP Camshaft','Camshaft'), - (1399,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet BB HP Camshaft','Camshaft'), - (1400,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chevrolet SB HP Camshaft','Camshaft'), - (1401,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford BB HP Camshaft','Camshaft'), - (1402,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Ford SB HP Camshaft','Camshaft'), - (1404,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Olds SB HP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1405,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Pontiac HP Camshaft','Camshaft'), - (1407,74,'Pure-Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pure-Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Pure-Stock Chevrolet SB Crankshaft','Crankshaft'), - (1408,74,'Stock-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Stock-Plus Crankshaft','Crankshaft'), - (1409,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chevrolet SB Crankshaft','Crankshaft'), - (1410,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chrysler BB DP Camshaft','Camshaft'), - (1412,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chevrolet BB DP Camshaft','Camshaft'), - (1413,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Chevrolet SB DP Camshaft','Camshaft'), - (1414,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Ford BB DP Camshaft','Camshaft'), - (1415,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Ford SB DP Camshaft','Camshaft'), - (1418,13,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker-Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker-Plus Pontiac DP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1420,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Dual Plane Intake Manifold','Intake Manifold'), - (1421,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Dual Plane Intake Manifold','Intake Manifold'), - (1422,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Dual Plane Intake Manifold','Intake Manifold'), - (1423,74,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Ultra-Light Chevrolet SB Crankshaft','Crankshaft'), - (1424,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Dual Plane Intake Manifold','Intake Manifold'), - (1425,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Dual Plane Intake Manifold','Intake Manifold'), - (1426,3,'RPO411 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPO411',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB RPO411 Aluminum Intake Manifold','Intake Manifold'), - (1427,3,'High Rise Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB High Rise Aluminum Dual Plane IM','Intake Manifold'), - (1428,3,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Aluminum Dual Plane IM','Intake Manifold'), - (1429,6,'350-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with two-bolt main bearing cap; similar to previous small-blocks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 350','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1430,6,'455-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'cast iron block with thick two-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 455','Engine Block'), - (1431,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chevrolet SB Crankshaft','Crankshaft'), - (1432,74,'Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Chevrolet BB Crankshaft','Crankshaft'), - (1433,3,'High Rise Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB High Rise Aluminum Dual Plane IM','Intake Manifold'), - (1434,3,'LS6 Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Low Rise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB LS6 Aluminum Dual Plane IM','Intake Manifold'), - (1435,6,'Stock 322 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 322 Dual Plane IM','Intake Manifold'), - (1436,13,'Stage II Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Stage II Buick BB Aluminum IM','Intake Manifold'), - (1437,5,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Aluminum Dual Plane IM','Intake Manifold'), - (1438,5,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB W-31 HP Aluminum Dual Plane IM','Intake Manifold'), - (1439,5,'W-30 IM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB W-30 HP Aluminum Dual Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1440,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV HP Aluminum Dual Plane IM','Intake Manifold'), - (1441,7,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Aluminum Dual Plane IM','Intake Manifold'), - (1442,1,'1957 Large Port',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'larger than normal ports',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 1957',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 Stock Dual Plane IM','Intake Manifold'), - (1443,13,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Aluminum Dual Plane Ford SB IM','Intake Manifold'), - (1444,1,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Lubrication System','Lubrication System'), - (1445,1,'HR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HR Aluminum Dual Plane IM','Intake Manifold'), - (1446,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer HP Aluminum IM','Intake Manifold'), - (1447,1,'Sidewinder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sidewinder',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Sidewinder Aluminum Single Plane IM','Intake Manifold'), - (1448,1,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cast Iron Single Plane IM','Intake Manifold'), - (1449,38,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Magnesium Single Plane Ford 385 IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1450,8,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Riser',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB High Rise Dual Plane IM','Intake Manifold'), - (1451,8,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Aluminum Dual Plane IM','Intake Manifold'), - (1452,8,'Long Ram IM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Long Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Long Ram IM','Intake Manifold'), - (1453,8,'Short Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Short Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Short Ram IM','Intake Manifold'), - (1454,13,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Aluminum Dual Plane Chrysler BB IM','Intake Manifold'), - (1455,3,'427-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W V8 427','Engine Block'), - (1456,8,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Aluminum Dual Plane IM','Intake Manifold'), - (1457,11,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rebel Machine Dual Plane IM','Intake Manifold'), - (1458,13,'R4B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'R4B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock R4B AMC Block Dual Plane IM','Intake Manifold'), - (1459,1,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland 400-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1460,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Flat Top Cast Aluminum Piston','Pistons'), - (1461,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 Piston','Pistons'), - (1462,13,'Super Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Super Dual Ford Flathead IM','Intake Manifold'), - (1463,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Cadillac BB IM','Intake Manifold'), - (1464,1,'351-V8 Windsor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 Windsor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351-V8 Windsor','Engine Block'), - (1465,21,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford BB Valvetrain','Valve Train'), - (1466,21,'Fireball XR700',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball XR700',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Fireball XR700 Ignition System','Electrical System'), - (1467,21,'Fireball XR3000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball XR3000',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Fireball XR3000 Ignition System','Electrical System'), - (1468,77,'TM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed TM Hydraulic Ford BB Valvetrain','Valve Train'), - (1469,77,'T-UL',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-UL',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed T-UL Solid Lifter Ford BB Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1470,77,'R-ULX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'R-ULX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed R-ULX Roller Ford BB Valvetrain','Valve Train'), - (1471,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed Top Forged Aluminum','Pistons'), - (1472,6,'322 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fireball V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'322 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 322 4V (255 hp)','Engine Assembly'), - (1473,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed Top Forged Aluminum','Pistons'), - (1474,3,'265 2V (162 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 2V (162 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 2V (162 hp)','Engine Assembly'), - (1475,3,'265 4V (180 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 4V (180 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (180 hp)','Engine Assembly'), - (1476,3,'265 4V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 4V (195 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (195 hp)','Engine Assembly'), - (1477,3,'283 2V (185 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2V (185 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2V (185 hp)','Engine Assembly'), - (1478,3,'283 4V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 4V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 4V (220 hp)','Engine Assembly'), - (1479,3,'283 2x4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2x4V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2x4V (245 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1480,3,'283 2x4V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'includes improved oiling and Ram''s Horn exhaust manifolds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 2x4V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 2x4V (270 hp)','Engine Assembly'), - (1481,3,'283 FI (283 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (283 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (283 hp)','Engine Assembly'), - (1482,3,'283 FI (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (290 hp)','Engine Assembly'), - (1483,3,'283 FI (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (275 hp)','Engine Assembly'), - (1484,3,'283 FI (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'283 FI (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 283 FI (315 hp)','Engine Assembly'), - (1485,3,'265 2x4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RPO 411 package',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 2x4V (225 hp)','Engine Assembly'), - (1486,3,'327 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (250 hp)','Engine Assembly'), - (1487,3,'327 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'equipped with large valve cylinder head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (300 hp)','Engine Assembly'), - (1488,3,'327 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (340 hp)','Engine Assembly'), - (1489,3,'327 FI (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 FI (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 FI (360 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1490,3,'327 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 4V (365 hp)','Engine Assembly'), - (1491,3,'327 FI (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'327 FI (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 327 FI (375 hp)','Engine Assembly'), - (1492,3,'302 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z28 Camaro engine specially built to compete in the SCCA Trans Am Series; high RPM power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 302 4V (290 hp)','Engine Assembly'), - (1493,3,'350 4V (295 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (295 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (295 hp)','Engine Assembly'), - (1494,3,'350 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'strengthened block to accomdate new bore and stroke; mainstay during the 70''s and 80''s',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (250 hp)','Engine Assembly'), - (1495,3,'350 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a remarkable 1 hp per cubic inch',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (350 hp)','Engine Assembly'), - (1496,3,'350 4V (360 hp) Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro version; updated Z28 302 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,' 4V (360 hp) Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (360 hp) Z/28','Engine Assembly'), - (1497,3,'350 4V (370 hp) LT-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette version; updated Z28 302 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'350 4V (370 hp) LT-1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 350 4V (370 hp) LT-1','Engine Assembly'), - (1498,3,'400 4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the largest small block made; siamesed cylinder walls',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 400 4V (265 hp)','Engine Assembly'), - (1499,6,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock (10.0) CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1500,3,'348 4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (250 hp)','Engine Assembly'), - (1501,3,'348 3x2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (280 hp)','Engine Assembly'), - (1502,3,'348 4V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (305 hp)','Engine Assembly'), - (1503,3,'348 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine; used on Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'348 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (315 hp)','Engine Assembly'), - (1504,3,'348 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (315 hp)','Engine Assembly'), - (1505,3,'348 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (320 hp)','Engine Assembly'), - (1506,3,'348 3x2V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 3x2V (335 hp)','Engine Assembly'), - (1507,3,'348 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 590',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB- W 348 4V (340 hp)','Engine Assembly'), - (1508,3,'348 3x2V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 573B',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 348 3x2V (350 hp)','Engine Assembly'), - (1509,3,'409 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine RPO 580',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (360 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1510,3,'409 4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (380 hp)','Engine Assembly'), - (1511,3,'409 2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 2x4V (409 hp)','Engine Assembly'), - (1512,3,'409 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (409 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (340 hp)','Engine Assembly'), - (1513,3,'409 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 4V (400 hp)','Engine Assembly'), - (1514,3,'409 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 409 2x4V (425 hp)','Engine Assembly'), - (1515,3,'427 2x4V (430 hp) Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Thrust engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (430 hp) Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W 427 2x4V (430 hp) Z11','Engine Assembly'), - (1516,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 (3.25) Piston','Pistons'), - (1517,22,'AFB 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 2x4V (800 cfm) Carb','Carburetor'), - (1518,3,'396 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (325 hp)','Engine Assembly'), - (1519,3,'396 4V (350 hp) L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (350 hp) L34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (350 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1520,3,'396 4V (425 hp) L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (425 hp) L78',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (425 hp)','Engine Assembly'), - (1521,16,'Quadrajet 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (600 cfm) Carb','Carburetor'), - (1522,3,'396 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 396 4V (360 hp)','Engine Assembly'), - (1523,3,'427 4V (390 hp) L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'396 4V (390 hp) L36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (390 hp)','Engine Assembly'), - (1524,3,'427 4V (425 hp) L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (425 hp) L72',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (425 hp)','Engine Assembly'), - (1525,3,'427 3x2V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (400 hp)','Engine Assembly'), - (1526,3,'427 4V (430 hp) L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine all-aluminum engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 4V (430 hp) L88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 4V (430 hp) L88','Engine Assembly'), - (1527,3,'427 3x2V (435 hp) L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet all-aluminum engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 3x2V (435 hp) L89',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (435 hp) L89','Engine Assembly'), - (1528,3,'427 3x2V (435 hp) L71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 3x2V (435 hp) L71',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 427 3x2V (435 hp) L71','Engine Assembly'), - (1529,3,'402 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L35 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (325 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1530,3,'402-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 402','Engine Block'), - (1531,3,'454 4V (345 hp) LS4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; low performance model for full-size cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (345 hp) LS4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (345 hp) LS4','Engine Assembly'), - (1532,3,'454 4V (360 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Chevelle version of the medium-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (360 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (360 hp) LS5','Engine Assembly'), - (1533,3,'454 4V (390 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Corvette version of the medium-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (390 hp) LS5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (390 hp) LS5','Engine Assembly'), - (1534,3,'454 4V (425 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Corvette version of the high-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (425 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (425 hp) LS6','Engine Assembly'), - (1535,3,'454 4V (450 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine; Chevelle version of the high-performance big-block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (450 hp) LS6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (450 hp) LS6','Engine Assembly'), - (1536,3,'454 4V (465 hp) LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet Engine phantom engine; never actually produced',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'454 4V (465 hp) LS7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 454 4V (465 hp) LS7','Engine Assembly'), - (1537,5,'455 2V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 2V (310 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 2V (310 hp)','Engine Assembly'), - (1538,1,'18 x 6.4 Bias Belted Wheel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'18 x 6.4 Bias Belted Wheel','Wheel Assemblies'), - (1539,5,'455 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (365 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1540,5,'455 4V (375 hp) A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (375 hp) A','Engine Assembly'), - (1541,5,'455 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8; 1968 Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (390 hp)','Engine Assembly'), - (1542,5,'455 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 455 4V (400 hp)','Engine Assembly'), - (1543,5,'400 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V (345 hp)','Engine Assembly'), - (1544,22,'AFB 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 4V (400 cfm) Carb','Carburetor'), - (1545,5,'400 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V (350 hp)','Engine Assembly'), - (1546,5,'400 3x2V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 3x2V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 3x2V (365 hp)','Engine Assembly'), - (1547,5,'400 2V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 2V (300 hp)','Engine Assembly'), - (1548,5,'400 4V W30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rocket V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V W30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB 400 4V W30','Engine Assembly'), - (1549,14,'Hilborn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hilborn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Hilborn Air Scoop 4%','Air Scoop'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1550,7,'389 2V (215 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'baseline Strato-Streak engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (215 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (215 hp)','Engine Assembly'), - (1551,7,'389 2V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strato-Streak baseline engine for use with manual transmissions',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (245 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (245 hp)','Engine Assembly'), - (1552,7,'389 4V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strato-Streak baseline engine for use with manual transmissions',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (260 hp)','Engine Assembly'), - (1553,7,'389 2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 2V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 2V (280 hp)','Engine Assembly'), - (1554,7,'389 4V (303 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (303 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 4V (303 hp)','Engine Assembly'), - (1555,7,'389 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 4V (300 hp)','Engine Assembly'), - (1556,7,'389 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 3x2V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 3x2V (315 hp)','Engine Assembly'), - (1557,7,'389 SD 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 4V (330 hp)','Engine Assembly'), - (1558,7,'389 SD 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'super duty race engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 3x2V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 3x2V (345 hp)','Engine Assembly'), - (1559,10,'F70 X 14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F70 X 14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda F70 X 14','Wheel Assemblies'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1560,10,'F60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cuda F60 X 15','Wheel Assemblies'), - (1561,10,'G60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'G60 X 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR Cuda G60 X 15','Wheel Assemblies'), - (1562,7,'389 3x2V (333 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 3x2V (333 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 3x2V (333 hp)','Engine Assembly'), - (1563,7,'389 4V (318 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 4V (318 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 Trophy 4V (318 hp)','Engine Assembly'), - (1564,7,'389 SD 3x2V (363 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'389 SD 3x2V (363 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 389 SD 3x2V (363 hp)','Engine Assembly'), - (1565,0,'Generic Exh Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Exh Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Exh Assembly','Exhaust Assembly'), - (1566,7,'421 SD 2x4V (373 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'over the counter version of the Super Duty engine for drag-strip use',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (373 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (373 hp)','Engine Assembly'), - (1567,7,'421 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 4V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 4V (320 hp)','Engine Assembly'), - (1568,7,'421 SD 2x4V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'drag-strip Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (405 hp)','Engine Assembly'), - (1569,7,'421 HO 4V (353 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 HO 4V (353 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 HO 4V (353 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1570,7,'421 HO 3x2V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 HO 3x2V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 HO 3x2V (370 hp)','Engine Assembly'), - (1571,7,'421 SD 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'stock car Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 4V (390 hp)','Engine Assembly'), - (1572,7,'421 SD 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'drag-strip Super Duty engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'421 SD 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 421 SD 2x4V (410 hp)','Engine Assembly'), - (1573,7,'Wedge (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (12.0) CH','Cylinder Head'), - (1574,7,'Wedge (13.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (13.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Wedge (13.0) CH','Cylinder Head'), - (1575,7,'400 2V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 2V (255 hp)','Engine Assembly'), - (1576,7,'400 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 4V (290 hp)','Engine Assembly'), - (1577,7,'400 Ram Air I (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1967 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air I (325 hp)','Engine Assembly'), - (1578,14,'MegaScoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MegaScoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley MegaScoop Air Scoop 5%','Air Scoop'), - (1579,7,'400 Ram Air II (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V; as installed on the 1968 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air II','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1580,7,'Ram Air II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air II Cylinder Head','Cylinder Head'), - (1581,7,'400 Ram Air IV (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1970 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air IV (345 hp)','Engine Assembly'), - (1582,7,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air IV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air IV Piston','Pistons'), - (1583,7,'455 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (360 hp)','Engine Assembly'), - (1584,7,'455 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 4V (370 hp)','Engine Assembly'), - (1585,7,'455 HO 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 HO 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 HO 4V (335 hp)','Engine Assembly'), - (1586,7,'455 SD 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'this is the (downrated) version that actually reached production',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'455 SD 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 455 SD 4V (290 hp)','Engine Assembly'), - (1587,1,'292 4V (193 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on manual transmission cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (193 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (193 hp)','Engine Assembly'), - (1588,1,'292 4V (198 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on automatic transmission cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (198 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (198 hp)','Engine Assembly'), - (1589,1,'292 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'292 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 292 4V (212 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1590,1,'312 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (210 hp)','Engine Assembly'), - (1592,1,'312 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 4V (225 hp)','Engine Assembly'), - (1593,1,'312 2x4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'312 2x4V (265 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 312 2x4V (265 hp)','Engine Assembly'), - (1594,1,'352 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 4V (300 hp)','Engine Assembly'), - (1595,1,'352 HP 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 HP 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 HP 4V (360 hp)','Engine Assembly'), - (1596,1,'352 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 2V (220 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 2V (220 hp)','Engine Assembly'), - (1597,1,'390 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 4V (300 hp)','Engine Assembly'), - (1598,1,'390 HP 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'thicker main-bearing webs and caps; additional reinforcing ribs; oil pressure relief',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 HP 4V (375 hp)','Engine Assembly'), - (1599,1,'390 HP 3x2V (401 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP 3x2V (401 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 HP 3x2V (401 hp)','Engine Assembly'), - (1600,14,'3x2V (680 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (680 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (680 cfm) Carb','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1601,1,'390 PI 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 PI 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 PI 4V (330 hp)','Engine Assembly'), - (1602,1,'390 3x2V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'detuned HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 3x2V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 3x2V (340 hp)','Engine Assembly'), - (1603,1,'390 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 2V (250 hp)','Engine Assembly'), - (1604,1,'390 2V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 2V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 2V (275 hp)','Engine Assembly'), - (1605,1,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 4V (315 hp)','Engine Assembly'), - (1606,1,'390 GT 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'available for GT cars, 1966-1969',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 GT 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 390 GT 4V (335 hp)','Engine Assembly'), - (1607,1,'406 4V (385 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406 4V (385 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406 4V (385 hp)','Engine Assembly'), - (1608,1,'406 3x2V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'406 3x2V (405 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 406 3x2V (405 hp)','Engine Assembly'), - (1609,14,'4300 2x4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 2x4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4300 2x4V (1000 cfm) Carb','Carburetor'), - (1610,1,'427 LR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 LR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 LR 4V (410 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1611,1,'427 MR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 MR 4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR 4V (410 hp)','Engine Assembly'), - (1612,1,'427 MR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performance engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 MR 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR 2x4V (425 hp)','Engine Assembly'), - (1613,1,'Medium Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Medium Riser (11.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Medium Riser (11.6) Cylinder Head','Cylinder Head'), - (1614,1,'427 SOHC 4V (615 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'the ultimate configuration of the FE-series big-block engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'427 SOHC 4V (615 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 SOHC 4V (615 hp)','Engine Assembly'), - (1615,1,'Cammer Pop-up',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer Pop-up Piston','Pistons'), - (1616,1,'428 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 4V (345 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 4V (345 hp)','Engine Assembly'), - (1617,1,'428 4V (360 hp) PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 4V (360 hp) PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 4V (360 hp) PI','Engine Assembly'), - (1618,1,'428 CJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 CJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 CJ 4V (335 hp)','Engine Assembly'), - (1619,1,'428 SCJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cobrajet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'428 SCJ 4V (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 428 SCJ 4V (335 hp)','Engine Assembly'), - (1620,1,'260 2V (164 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'260 2V (164 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 260 2V (164 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1621,1,'289 HP 4V (271 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 HP 4V (271 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 HP 4V (271 hp)','Engine Assembly'), - (1622,1,'289 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 4V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 4V (210 hp)','Engine Assembly'), - (1623,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Flat Top CA Piston','Pistons'), - (1624,1,'Wedge (10.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Wedge/P (10.6) CH','Cylinder Head'), - (1625,1,'289 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 4V (225 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289 4V (225 hp)','Engine Assembly'), - (1626,1,'302 2V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 2V (210 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 2V (210 hp)','Engine Assembly'), - (1627,1,'302 4V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302 4V (230 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 4V (230 hp)','Engine Assembly'), - (1628,1,'302 Boss 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'290 hp',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302 Boss 4V (290 hp)','Engine Assembly'), - (1629,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss FAL Piston','Pistons'), - (1630,1,'351W 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 2V (250 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1631,1,'351W 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 4V (290 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 4V (290 hp)','Engine Assembly'), - (1632,1,'351W 2V (240 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351W 2V (240 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 351W 2V (240 hp)','Engine Assembly'), - (1633,1,'351 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; two-barrel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 2V (250 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 2V (250 hp)','Engine Assembly'), - (1634,1,'351 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; higher compression',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 4V (300 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 4V (300 hp)','Engine Assembly'), - (1635,1,'351 CJ 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'open chamber heads with large valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 CJ 4V (280 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C CJ 4V (280 hp)','Engine Assembly'), - (1636,1,'351 Boss 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'available only on 1971 Boss 351 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 Boss 4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C Boss 4V (330 hp)','Engine Assembly'), - (1637,1,'351 HO 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'renamed and modified Boss 351',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 HO 4V (275 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C HO 4V (275 hp)','Engine Assembly'), - (1638,1,'351 2V (177 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C; two-barrel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'351 2V (177 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 351C 2V (177 hp)','Engine Assembly'), - (1639,1,'400 2V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'basically a stopgap engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (260 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 400C 2V (260 hp)','Engine Assembly'), - (1640,1,'400 2V (172 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'basically a stopgap engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (172 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 400C 2V (172 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1641,1,'429 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'optional engine on Ford and Mercury cars from 1968-1973',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 4V (360 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 4V (360 hp)','Engine Assembly'), - (1642,1,'429 2V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'optional engine on Ford and Mercury cars from 1968-1973',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 2V (320 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 2V (320 hp)','Engine Assembly'), - (1643,1,'429 SCJ 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cobrajet; available on Ford and Mercury performance intermediates',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 SCJ 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 SCJ 4V (375 hp)','Engine Assembly'), - (1644,1,'429 CJ 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cobrajet; available on Ford and Mercury performance intermediates',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 CJ 4V (370 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 CJ 4V (370 hp)','Engine Assembly'), - (1645,1,'429 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'lower compression engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 4V (212 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 4V (212 hp)','Engine Assembly'), - (1646,1,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'race version of the 429 Boss engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429 NASCAR','Engine Assembly'), - (1647,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR Head','Cylinder Head'), - (1648,1,'460 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 4V (365 hp)','Engine Assembly'), - (1649,1,'460 4V (224 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 4V (224 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 4V (224 hp)','Engine Assembly'), - (1650,1,'460 PI 4V (274 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'police interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'460 PI 4V (274 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 460 PI 4V (274 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1651,8,'383 2V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 2V (305 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2V (305 hp)','Engine Assembly'), - (1652,8,'383 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 4V (325 hp)','Engine Assembly'), - (1653,8,'383 2V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383 2V (270 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2V (270 hp)','Engine Assembly'), - (1654,8,'383 2x4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1960 Super D-500 Package',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (330 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383 2x4V (330 hp)','Engine Assembly'), - (1655,8,'383-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'383',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 383-V8','Engine Block'), - (1656,8,'400 2V (190 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 2V (190 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 2V (190 hp)','Engine Assembly'), - (1657,8,'400 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (255 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 4V (255 hp)','Engine Assembly'), - (1658,8,'400 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400 4V (205 hp)','Engine Assembly'), - (1659,8,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 400-V8','Engine Block'), - (1660,8,'413 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 4V (350 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1661,8,'413 2x4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 2x4V (380 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 2x4V (380 hp)','Engine Assembly'), - (1662,8,'413 Long Ram 2x4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Long Ram 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Long Ram 2x4V (375 hp)','Engine Assembly'), - (1663,8,'413 Short Ram 2x4V (400 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Short Ram 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Short Ram 2x4V (400 hp)','Engine Assembly'), - (1664,8,'413 Max Wedge 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'officially known as the RamCharger 413 or Super Stock 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (410 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Max Wedge 2x4V (410 hp)','Engine Assembly'), - (1665,8,'413 Max Wedge 2x4V (420 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'officially known as the RamCharger 413 or Super Stock 413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (420 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 Max Wedge 2x4V (420 hp)','Engine Assembly'), - (1666,8,'413 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 4V (365 hp)','Engine Assembly'), - (1667,8,'413 2x4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413 2x4V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413 2x4V (390 hp)','Engine Assembly'), - (1668,8,'426 Max Wedge III 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge III 2x4V (415 hp)','Engine Assembly'), - (1669,8,'426 Max Wedge III 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge III 2x4V (425 hp)','Engine Assembly'), - (1670,8,'413-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'413',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 413-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1671,8,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge Exhaust Manifold','Exhaust Manifold'), - (1672,8,'426 Max Wedge 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (415 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge 2x4V (415 hp)','Engine Assembly'), - (1673,8,'426 Max Wedge 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge 2x4V (425 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 Max Wedge 2x4V (425 hp)','Engine Assembly'), - (1674,8,'426 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used mostly on trucks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'426 4V (365 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 426 4V (365 hp)','Engine Assembly'), - (1675,8,'Max Wedge III (12.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III (12.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (12.5) Cylinder Head','Cylinder Head'), - (1676,8,'440 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'non-performance engine for use on heavy passenger cars',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 4V (350 hp)','Engine Assembly'), - (1677,8,'440 3x2V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'known as the "Six Pack" or "Six Barrel" engine; used on the ''Cuda, Road Runner, and Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (390 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 3x2V (390 hp)','Engine Assembly'), - (1678,87,'Wedge Top (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,' Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top Piston','Pistons'), - (1679,11,'343 2V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'343 2V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 343 2V (235 hp)','Engine Assembly'), - (1680,11,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (315 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V (315 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1681,11,'390 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (325 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V (325 hp)','Engine Assembly'), - (1682,11,'390 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 4V (340 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 390 4V Rebel Machine (340 hp)','Engine Assembly'), - (1683,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Flat Top CA Piston','Pistons'), - (1684,11,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rebel Machine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Rebel Machine Dual','Exhaust Manifold'), - (1685,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Chevrolet BB Exhaust Headers','Exhaust Manifold'), - (1687,0,'Big Tire (Mod)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stunt Tire','Tires'), - (1716,71,'9 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic Disk Brake','Brakes'), - (1717,71,'9 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic HT Disk Brakes','Brakes'), - (1718,71,'9 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic Drum Brake','Brakes'), - (1719,71,'9 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Organic HT Drum Brake','Brakes'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1720,72,'12 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Organic HT Drum Brake','Brakes'), - (1721,72,'12 x 2 SM Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 12 x 2 Semi-Metallic Drum Brake','Brakes'), - (1722,73,'10 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 10 x 2 Metallic Disk ABS Brake','Brakes'), - (1723,73,'12 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 12 x 2 Metallic Disk ABS Brake','Brakes'), - (1724,73,'14 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Metallic Disk ABS Brake','Brakes'), - (1725,73,'16 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'16 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 16 x 2 Metallic Disk ABS Brake','Brakes'), - (1726,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Camshaft','Camshaft'), - (1727,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Camshaft','Camshaft'), - (1728,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Camshaft','Camshaft'), - (1729,13,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer RPM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer RPM Chrysler SB HP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1730,77,'TorqueMaster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TorqueMaster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed TorqueMaster Chrysler SB HP Camshaft','Camshaft'), - (1731,77,'XLH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'XLH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Reed XLH Chrysler SB DP Camshaft','Camshaft'), - (1732,21,'Sat. Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Saturday Night Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Saturday Night Special DP Chrysler SB Camshaft','Camshaft'), - (1733,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax HP Chrysler SB Camshaft','Camshaft'), - (1734,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Ford SB Connecting Rod','Connecting Rods'), - (1735,74,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Maxi-Light 93 Ford SB Connecting Rod','Connecting Rods'), - (1736,30,'Street Racer Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Street Racer Dual Exhaust Pipe','Exhaust Pipe'), - (1737,30,'Performance Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Performance Dual Exhaust Pipe','Exhaust Pipe'), - (1738,30,'Street Shaker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shaker',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hooker Street Shaker Muffler','Muffler'), - (1739,46,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bully HD Lubrication System','Lubrication System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1740,43,'HD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD (0.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance HD (0.36) Shock','Shocks'), - (1742,71,'Generic Visible Parts Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Visible Parts Assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Visible Parts Assembly','Visibile Parts'), - (1743,97,'245/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/50/16ZR High Performance','Tires'), - (1746,17,'T56 6-Speed Automatic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Borg-Warner T56 6 Speed Automatic','Transmission'), - (1752,73,'11 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'11 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 11 x 2 Metallic Disk ABS Brake','Brakes'), - (1763,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Flat Top Piston','Pistons'), - (1764,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Flat Top Piston','Pistons'), - (1765,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Flat Top Piston','Pistons'), - (1766,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Flat Top Piston','Pistons'), - (1767,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Flat Top Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1768,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Flat Top Piston','Pistons'), - (1769,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Flat Top CA Piston','Pistons'), - (1770,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Flat Top CA Piston','Pistons'), - (1771,3,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Flat Top Forged Aluminum Piston','Pistons'), - (1772,6,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I Piston','Pistons'), - (1773,6,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage II',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage II Piston','Pistons'), - (1774,7,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Flat Top Forged Aluminum Piston','Pistons'), - (1775,1,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Flat Top Forged Aluminum Piston','Pistons'), - (1776,8,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Flat Top Forged Aluminum Piston','Pistons'), - (1777,3,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Domed Top (0.75) FA Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1778,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Ford SB Piston','Pistons'), - (1779,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chevrolet SB Piston','Pistons'), - (1780,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chevrolet BB Piston','Pistons'), - (1781,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Buick BB Piston','Pistons'), - (1782,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Olds BB Piston','Pistons'), - (1783,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chevrolet SB Piston','Pistons'), - (1784,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chevrolet BB Piston','Pistons'), - (1785,41,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top Forged',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Wedge Top Chrysler BB Piston','Pistons'), - (1786,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Chrysler BB Piston','Pistons'), - (1787,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Buick BB Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1788,41,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Domed Top Olds BB Piston','Pistons'), - (1789,1,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Dual Plane Aluminum IM','Intake Manifold'), - (1790,1,'Single Plane Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Single Plane Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Single Plane Aluminum IM','Intake Manifold'), - (1791,63,'4V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (350 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (350 cfm)','Carburetor'), - (1792,63,'4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4V (400 cfm)','Carburetor'), - (1793,14,'4100 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (780 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (780 cfm)','Carburetor'), - (1794,3,'Corvette Cross-Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cross-Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Corvette Cross-Fire Fuel Injection','Carburetor'), - (1795,14,'4100 4V (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (850 cfm)','Carburetor'), - (1796,4,'EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac EFI','Carburetor'), - (1797,4,'Tri-Pwr 3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Tri-Power 3x2V (600 cfm)','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1798,16,'Tri-Pwr 3x2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power 3x2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Tri-Power 3x2V (650 cfm)','Carburetor'), - (1799,3,'T- Thrust 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo Thrust 4V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Turbo Thrust 4V (400 cfm)','Carburetor'), - (1800,14,'4300 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 2x4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4300 2x4V (800 cfm)','Carburetor'), - (1801,14,'4100 4V (735 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (735 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4100 4V (735 cfm)','Carburetor'), - (1802,22,'AVS 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (600 cfm)','Carburetor'), - (1803,63,'4100 4V (480 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (480 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4100 4V (480 cfm)','Carburetor'), - (1804,63,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4100 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4100 4V (600 cfm)','Carburetor'), - (1805,63,'4300 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300 4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4300 4V (600 cfm)','Carburetor'), - (1806,63,'4300D 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4300D 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 4300D 4V (715 cfm)','Carburetor'), - (1807,14,'3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (600 cfm)','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1808,14,'4160 4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4160 4V (1000 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 4160 4V (1000 cfm)','Carburetor'), - (1809,63,'2100 2V (356 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (356 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (356 cfm)','Carburetor'), - (1810,63,'2100 2V (424 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (424 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (424 cfm)','Carburetor'), - (1811,16,'Quadrajet 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (715 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (715 cfm)','Carburetor'), - (1812,14,'Dominator 2V (550 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (550 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (550 cfm)','Carburetor'), - (1813,14,'Dominator 2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (650 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (650 cfm)','Carburetor'), - (1814,14,'Dominator 2V (675 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2V (675 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2V (675 cfm)','Carburetor'), - (1815,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1050 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1050 cfm)','Carburetor'), - (1816,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1150 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1150 cfm)','Carburetor'), - (1817,14,'Dominator 2x4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2x4V (1150 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2x4V (1150 cfm)','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1818,14,'Dominator 2x4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 2x4V (1250 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 2x4V (1250 cfm)','Carburetor'), - (1819,14,'Dominator 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator 4V (1250 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator 4V (1250 cfm)','Carburetor'), - (1820,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Rod','Connecting Rods'), - (1821,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock FS Rod','Connecting Rods'), - (1822,4,'Stock BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock FS Rod','Connecting Rods'), - (1823,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Stock FS Rod','Connecting Rods'), - (1824,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock FS Rod','Connecting Rods'), - (1825,8,'Stock Rod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock FS Rod','Connecting Rods'), - (1826,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock FS Rod','Connecting Rods'), - (1827,1,'Stock Rod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock FS Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1828,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock FS Rod','Connecting Rods'), - (1829,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock CI Rod','Connecting Rods'), - (1830,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock FS Rod','Connecting Rods'), - (1831,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Rod','Connecting Rods'), - (1832,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on the larger-displacement engines',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 FS Rod','Connecting Rods'), - (1833,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock FS Rod','Connecting Rods'), - (1834,1,'Le Mans Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Le Mans Capscrew',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB LeMans Capscrew Rod','Connecting Rods'), - (1835,1,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB PI Rod','Connecting Rods'), - (1836,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Rod','Connecting Rods'), - (1837,1,'820-S',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'820-S',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss 820-S Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1838,1,'820-T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'820-T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss 820-T Rod','Connecting Rods'), - (1839,8,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HD FS Rod','Connecting Rods'), - (1840,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Sportsman Chevrolet SB Rod','Connecting Rods'), - (1841,74,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman Chevrolet SB Connecting Rod','Connecting Rods'), - (1842,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chevrolet SB Rod','Connecting Rods'), - (1843,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chevrolet BB Rod','Connecting Rods'), - (1844,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Buick BB Rod','Connecting Rods'), - (1845,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Olds BB Rod','Connecting Rods'), - (1846,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Pontiac Rod','Connecting Rods'), - (1847,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Ford BB Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1848,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Pontiac Rod','Connecting Rods'), - (1849,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Olds BB Rod','Connecting Rods'), - (1850,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Ford BB Rod','Connecting Rods'), - (1851,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chevrolet SB Rod','Connecting Rods'), - (1852,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chevrolet BB Rod','Connecting Rods'), - (1853,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Buick BB Rod','Connecting Rods'), - (1854,74,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Maxi-Light 93',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod','Connecting Rods'), - (1855,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Buick BB Connecting Rod','Connecting Rods'), - (1856,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chevrolet BB Connecting Rod','Connecting Rods'), - (1857,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chevrolet BB Connecting Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1858,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Pontiac Rod','Connecting Rods'), - (1859,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chrysler BB Rod','Connecting Rods'), - (1860,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Ford SB Rod','Connecting Rods'), - (1861,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Ford BB Rod','Connecting Rods'), - (1862,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet BB Rod','Connecting Rods'), - (1863,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet SB Rod','Connecting Rods'), - (1864,58,'Pro Mod BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Mod Chevrolet BB Rod','Connecting Rods'), - (1865,58,'Pro Mod SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Mod Chevrolet SB Rod','Connecting Rods'), - (1866,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chevrolet BB Rod','Connecting Rods'), - (1867,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chevrolet SB Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1868,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Ford SB Rod','Connecting Rods'), - (1869,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Chevrolet BB Rod','Connecting Rods'), - (1870,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Chevrolet SB Rod','Connecting Rods'), - (1871,58,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Street Race Ford SB Rod','Connecting Rods'), - (1872,58,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Forged Aluminum Chevrolet BB Rod','Connecting Rods'), - (1873,58,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Forged Aluminum Chevrolet SB Rod','Connecting Rods'), - (1874,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB StockTI Crankshaft','Crankshaft'), - (1875,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock TI Crankshaft','Crankshaft'), - (1876,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock CI Crankshaft','Crankshaft'), - (1877,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB FS Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1878,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock FS Crankshaft','Crankshaft'), - (1879,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock FS Crankshaft','Crankshaft'), - (1880,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock FS Crankshaft','Crankshaft'), - (1881,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock CI Crankshaft','Crankshaft'), - (1882,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock CI Crankshaft','Crankshaft'), - (1883,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock CI Crankshaft','Crankshaft'), - (1884,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock FS Crankshaft','Crankshaft'), - (1885,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Stock CI Crankshaft','Crankshaft'), - (1886,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock TI Crankshaft','Crankshaft'), - (1887,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1888,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Stock FS Crankshaft','Crankshaft'), - (1889,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock CI Crankshaft','Crankshaft'), - (1890,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Stock TI Crankshaft','Crankshaft'), - (1891,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock FS Crankshaft','Crankshaft'), - (1892,7,'Armasteel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Armasteel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Armasteel (TI) Crankshaft','Crankshaft'), - (1893,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD FS Crankshaft','Crankshaft'), - (1894,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock TI Crankshaft','Crankshaft'), - (1895,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Truck FS Crankshaft','Crankshaft'), - (1896,1,'427 MR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'MR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 427 MR FS Crankshaft','Crankshaft'), - (1897,1,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Police Interceptor (TI) Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1898,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss FS Crankshaft','Crankshaft'), - (1899,1,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD FS Crankshaft','Crankshaft'), - (1900,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock CI Crankshaft','Crankshaft'), - (1901,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi (FS) Crankshaft','Crankshaft'), - (1902,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock CI Crankshaft','Crankshaft'), - (1903,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chevrolet BB Crankshaft','Crankshaft'), - (1904,74,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra-Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Ultra-Light Chevrolet BB Crankshaft','Crankshaft'), - (1905,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Ford SB Crankshaft','Crankshaft'), - (1906,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Ford SB Crankshaft','Crankshaft'), - (1907,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Ford BB Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1908,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Ford BB Crankshaft','Crankshaft'), - (1909,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chrysler BB Crankshaft','Crankshaft'), - (1910,74,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Enduro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Enduro Chrysler SB Crankshaft','Crankshaft'), - (1911,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chrysler BB Crankshaft','Crankshaft'), - (1912,74,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Standard Chrysler SB Crankshaft','Crankshaft'), - (1913,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Hydraulic Valvetrain','Valve Train'), - (1914,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Hydraulic Valvetrain','Valve Train'), - (1915,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Valvetrain','Valve Train'), - (1916,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Hydraulic Valvetrain','Valve Train'), - (1918,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock Hydraulic Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1919,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Hydraulic Valvetrain','Valve Train'), - (1920,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Hydraulic Valvetrain','Valve Train'), - (1921,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Hydraulic Valvetrain','Valve Train'), - (1922,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Hydraulic Valvetrain','Valve Train'), - (1923,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock Hydraulic Valvetrain','Valve Train'), - (1924,3,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Solid Lifter Valvetrain','Valve Train'), - (1925,3,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Solid Lifter Valvetrain','Valve Train'), - (1926,3,'SS Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB SS Solid Lifter Valvetrain','Valve Train'), - (1927,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Mechanical Lifter Valvetrain','Valve Train'), - (1928,1,'Truck Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Solid Lifter Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1929,1,'Stock Mechanical Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Mechanical Lifter Valvetrain','Valve Train'), - (1930,1,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Solid Lifter Valvetrain','Valve Train'), - (1931,1,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cammer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Cammer Valvetrain','Valve Train'), - (1932,1,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB SCJ Solid Lifter Valvetrain','Valve Train'), - (1933,8,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid Lifter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Solid Lifter Valvetrain','Valve Train'), - (1934,8,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Mechanical',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Mechanical Lifter Valvetrain','Valve Train'), - (1935,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock Exhaust Manifold','Exhaust Manifold'), - (1936,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Stock CI EM','Exhaust Manifold'), - (1937,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Exhaust Manifold','Exhaust Manifold'), - (1938,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Exhaust Manifold','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1939,8,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Exhaust Manifold','Exhaust Manifold'), - (1940,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light; known to have cracking problems',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Stock CI EM','Exhaust Manifold'), - (1941,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Exhaust Manifold','Exhaust Manifold'), - (1942,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Exhaust Manifold','Exhaust Manifold'), - (1943,5,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Stock Exhaust Manifold','Exhaust Manifold'), - (1944,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'log-type cast iron exhaust manifold with outlets toward the rear of the engine, pointing downward',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock Exhaust Manifold','Exhaust Manifold'), - (1945,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock CI EM','Exhaust Manifold'), - (1946,3,'Ram''s Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram''s Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Ram''s Horn EM','Exhaust Manifold'), - (1947,6,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I EM','Exhaust Manifold'), - (1948,6,'Mickey Thompson Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mickey Thompson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Mickey Thompson Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1949,5,'Divider',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Divider',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Divider EM','Exhaust Manifold'), - (1950,7,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air I EM','Exhaust Manifold'), - (1951,7,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac HP EM','Exhaust Manifold'), - (1952,1,'Stock 312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y 1957 Manifold','Exhaust Manifold'), - (1953,1,'CJ/SCJ HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB CJ/SCJ HP EM','Exhaust Manifold'), - (1954,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR EM','Exhaust Manifold'), - (1955,8,'Max Wedge I Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge I Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge I Headers','Exhaust Manifold'), - (1956,8,'440 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 Stock EM','Exhaust Manifold'), - (1957,8,'Tri-Y Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Y Max Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Tri-Y Max Wedge EM','Exhaust Manifold'), - (1958,8,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB HP EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1959,8,'Improved Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Improved Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Improved Flow EM','Exhaust Manifold'), - (1961,3,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 1.94i/1.65e CH','Cylinder Head'), - (1962,1,'Boss 351 (11.7) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 351 (11.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Boss 351 (11.7) CH','Cylinder Head'), - (1963,1,'Domed Top (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Domed Top (.5) Piston','Pistons'), - (1965,6,'Nailhead Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Wedge (8.5)','Cylinder Head'), - (1966,1,'HP (10.5) Large Valve',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP (10.5) Large Valve',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.5) LV HP Wedge CH','Cylinder Head'), - (1968,6,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Wedge (8.5)','Cylinder Head'), - (1969,6,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (8.5)','Cylinder Head'), - (1970,6,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (9.0)','Cylinder Head'), - (1971,6,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge (10.25)','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1972,4,'Stock (9.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock (9.1)','Cylinder Head'), - (1973,4,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock (10.5) W CH','Cylinder Head'), - (1974,3,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (8.0)','Cylinder Head'), - (1975,3,'Wedge (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (9.25)','Cylinder Head'), - (1976,3,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (10.5)','Cylinder Head'), - (1977,3,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (11.0)','Cylinder Head'), - (1978,3,'Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (11.25)','Cylinder Head'), - (1979,3,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (9.0)','Cylinder Head'), - (1980,3,'Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted (10.25)','Cylinder Head'), - (1981,3,' ZL1 (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ZL1 (12.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted ZL1 (12.0)','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1982,3,'LS6 (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LS6 (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Canted LS6 (9.0)','Cylinder Head'), - (1983,5,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB (10.25) Stock CH','Cylinder Head'), - (1984,5,'W-31 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB (10.5) W-31 CH','Cylinder Head'), - (1985,5,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (10.5) Stock CH','Cylinder Head'), - (1986,5,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (9.0) Stock CH','Cylinder Head'), - (1987,5,'(10.25) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB (10.25) Stock CH','Cylinder Head'), - (1988,5,'W-30 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-30 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB (10.5) W-30 CH','Cylinder Head'), - (1989,7,'Wedge (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.6) Stock W CH','Cylinder Head'), - (1990,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) Stock W CH','Cylinder Head'), - (1991,7,'SD Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (11.0) SD W CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (1992,7,'HO Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) HO W CH','Cylinder Head'), - (1993,7,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.5) W CH','Cylinder Head'), - (1994,7,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.25) W CH','Cylinder Head'), - (1995,7,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.0) Stock W CH','Cylinder Head'), - (1996,7,'SD Wedge (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Wedge (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.4) SD W CH','Cylinder Head'), - (1997,1,'Stock (7.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (7.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (7.6) Stock CH','Cylinder Head'), - (1998,1,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.5) Stock CH','Cylinder Head'), - (1999,1,'Stock (8.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.1) Stock CH','Cylinder Head'), - (2000,1,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.0) Stock CH','Cylinder Head'), - (2001,1,'Stock (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.4) Stock CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2002,1,'Stock (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.6) Stock CH','Cylinder Head'), - (2003,1,'Stock (9.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.7) Stock CH','Cylinder Head'), - (2004,1,'Stock (8.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.3) Stock CH','Cylinder Head'), - (2005,1,'Stock (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (8.8) Stock CH','Cylinder Head'), - (2006,1,'Stock (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y (9.6) Stock CH','Cylinder Head'), - (2007,1,'Wedge (12.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (12.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (12.1) Wedge CH','Cylinder Head'), - (2008,1,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (11.0) Wedge CH','Cylinder Head'), - (2009,1,'Wedge (10.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (10.1) Wedge CH','Cylinder Head'), - (2010,1,'Wedge (9.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (9.4) Wedge CH','Cylinder Head'), - (2011,1,'Canted (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (9.5) CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2012,1,'HP Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Canted (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (11.0) HP CH','Cylinder Head'), - (2013,1,'(9.0) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (9.0) CH','Cylinder Head'), - (2014,1,'Canted (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (8.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland (8.6) CH','Cylinder Head'), - (2016,1,'Canted (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Canted (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 (10.2) Canted CH','Cylinder Head'), - (2017,8,'Wedge (10.0) Lrg Port',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LP Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.0) Large Port W CH','Cylinder Head'), - (2018,8,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (9.6) W CH','Cylinder Head'), - (2019,8,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (9.2) W CH','Cylinder Head'), - (2020,8,'Wedge (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (8.8) Stock W CH','Cylinder Head'), - (2021,8,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (10.5) Stock W CH','Cylinder Head'), - (2022,8,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (9.0) Stock W CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2023,8,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB (9.2) Stock W CH','Cylinder Head'), - (2024,1,'LR Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB LR Domed (0.4) Piston','Pistons'), - (2025,1,'Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Recessed (-0.1) Piston','Pistons'), - (2026,8,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Wedge (0.1) Piston','Pistons'), - (2027,0,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Suspension','Chassis Assembly'), - (2028,0,'Generic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Body','Body Assembly'), - (2029,0,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Driveline','Driveline Assembly'), - (2030,0,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Brake Set','Brake Assembly'), - (2031,0,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Wheels','Wheel Assembly'), - (2032,0,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic Engine','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2033,22,'2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter 2V (400 cfm) Carb','Carburetor'), - (2034,8,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.0) Wedge CH','Cylinder Head'), - (2035,8,'440 Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB 440 Magnum IM','Intake Manifold'), - (2036,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Stock Hydraulic Valvetrain','Valve Train'), - (2037,3,'Lrg Valve Wedg (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LV Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (10.5) CH','Cylinder Head'), - (2038,22,'AFB 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AFB 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AFB 4V (500 cfm) Carb','Carburetor'), - (2039,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Hydraulic Valvetrain','Valve Train'), - (2040,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Flat Top Forged Aluminum Piston','Pistons'), - (2041,7,'Ram Air Induction',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air (3%) Induction System','Air Scoop'), - (2042,3,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (10.25) CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2043,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock FS Crankshaft','Crankshaft'), - (2044,16,'Monojet 2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (400 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (400 cfm) Carb','Carburetor'), - (2045,16,'Q-Jet 2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 2x4V (600 cfm) Carb','Carburetor'), - (2046,3,'265 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB 265 4V (205 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 265 4V (205 hp)','Engine Assembly'), - (2047,16,'Quadrajet 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (500 cfm) Carb','Carburetor'), - (2048,3,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Wedge (8.5) CH','Cylinder Head'), - (2049,16,'Ramjet F.I. RPO 579D',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ramjet RPO 579D',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Ramjet Fuel Injector RPO 579D','Carburetor'), - (2050,3,'Lrg Valve Wdge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Large Valve Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (10.5) CH','Cylinder Head'), - (2051,3,'Lrg Valve Wdge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Large Valve Wedge (11.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Large Valve Wedge (11.25) CH','Cylinder Head'), - (2052,3,'Z28 Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Z28 Recessed Top Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2053,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB CI/HP EM','Exhaust Manifold'), - (2054,3,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB 400 FS Rod','Connecting Rods'), - (2055,3,'(10.25) HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W (10.25) 2.19i/1.73e CH','Cylinder Head'), - (2056,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Recessed (-0.75) CA Piston','Pistons'), - (2057,3,'Domed Top HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Domed Top (1.0) FA HP Piston','Pistons'), - (2058,3,'HD FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HD FS Rod','Connecting Rods'), - (2059,3,'Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Recessed (-0.25) FA Piston','Pistons'), - (2060,3,'L36 Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L36 Canted (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB L36 Canted/Pocket (10.25) CH','Cylinder Head'), - (2061,3,'402 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L34 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB 402 4V (350 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (350 hp)','Engine Assembly'), - (2062,3,'402 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Turbo-Jet 400 L78 engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'402 4V (375 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB 402 4V (375 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2063,3,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Wedge Top (0.25) FA Piston','Pistons'), - (2064,16,'Monojet 2V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (500 cfm) Carb','Carburetor'), - (2065,5,'HP Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP Hurst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB HP Camshaft','Camshaft'), - (2066,5,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Wedge Top (0.25) FA Piston','Pistons'), - (2067,5,'W30 Forced Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W30 Forced Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W30 Forced Air Induction System','Air Scoop'), - (2068,7,'m/t Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac m/t Stock (HP) Camshaft','Camshaft'), - (2069,16,'Monojet 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monojet 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Monojet 2V (600 cfm)','Carburetor'), - (2070,7,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.25) Stock W CH','Cylinder Head'), - (2071,16,'Quadrajet 4V (660 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quadrajet 4V (660 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester Quadrajet 4V (660 cfm)','Carburetor'), - (2072,7,'Trophy (HP)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Trophy (HP) Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2073,7,'Trophy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Trophy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Trophy HP CI EM','Exhaust Manifold'), - (2074,7,'SD Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Aluminum IM','Intake Manifold'), - (2075,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Flat Top FA Piston','Pistons'), - (2076,7,'Wedge SD (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge SD (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD (10.75) W/P CH','Cylinder Head'), - (2077,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 Mechanical Lifter Valvetrain','Valve Train'), - (2078,7,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (10.75) W CH','Cylinder Head'), - (2079,7,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Mechanical Lifter Valvetrain','Valve Train'), - (2080,7,'SD Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac SD Aluminum Single Plane IM','Intake Manifold'), - (2081,7,'SD Large Valve (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Large Valve (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (11.0) SD 2.02i/1.76e W CH','Cylinder Head'), - (2082,7,'400 Ram Air III (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'as installed on the 1969 Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air III (335 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 400 Ram Air III (335 hp)','Engine Assembly'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2083,7,'400 Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'planned for installation on the 1970 Firebird, but never actually made it into production',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB 400 Ram Air V','Engine Assembly'), - (2084,7,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ram Air V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Ram Air V Cylinder Head','Cylinder Head'), - (2085,63,'2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2x4V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2x4V (600 cfm) Carb','Carburetor'), - (2086,1,'Ford (10.2) Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (10.2) Wedge CH','Cylinder Head'), - (2087,63,'2100 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2100 2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 2100 2V (600 cfm) Carb','Carburetor'), - (2088,1,'Wedge (8.9)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB (8.9) Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB (8.9) Wedge CH','Cylinder Head'), - (2089,1,'352 4V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'352 4V (235 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB 352 2V (235 hp)','Engine Assembly'), - (2090,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HP CI EM','Exhaust Manifold'), - (2091,1,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB HD CI Crankshaft','Crankshaft'), - (2092,63,'3x2V (860 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (860 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Autolite 3x2V (860 cfm) Carb','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2093,14,'3x2V (840 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V (840 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley 3x2V (840 cfm) Carb','Carburetor'), - (2094,1,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Wedge (10.5) CH','Cylinder Head'), - (2095,1,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB CJ TI Crankshaft','Crankshaft'), - (2096,1,'Wedge (8.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (8.7) Wedge CH','Cylinder Head'), - (2097,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'additional counterweights for better high rpm balancing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP TI Crankshaft','Crankshaft'), - (2098,1,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.5) Wedge CH','Cylinder Head'), - (2099,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Solid Lifter Valvetrain','Valve Train'), - (2100,1,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Camshaft','Camshaft'), - (2101,1,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.0) 1.67i/1.45e Wedge CH','Cylinder Head'), - (2102,1,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.0) Wedge CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2103,1,'Boss 302 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 (10.5) 2.23/1.72 Canted CH','Cylinder Head'), - (2104,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'known for weak side-skirts, which caused cracking and even breaking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 FA Piston','Pistons'), - (2105,1,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 EM','Exhaust Manifold'), - (2106,1,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.5) Wedge CH','Cylinder Head'), - (2107,1,'Wedge (10.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.7)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (10.7) Wedge CH','Cylinder Head'), - (2108,22,'2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter 2V (600 cfm) Carb','Carburetor'), - (2109,22,'AVS 4V (700 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (700 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (700 cfm) Carb','Carburetor'), - (2110,8,'Wedge (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (8.2) W CH','Cylinder Head'), - (2111,22,'AVS 4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AVS 4V (800 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Carter AVS 4V (800 cfm) Carb','Carburetor'), - (2112,8,'Max Wedge III (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Max Wedge III (11.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Max Wedge III (11.0) CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2113,8,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB (10.5) Wedge CH','Cylinder Head'), - (2114,0,'Horn La Cooca',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Specialty la coor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp. Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Specialty la coor','Horn'), - (2149,0,'Horn Reville',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Reville',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Reville','Horn'), - (2150,0,'Horn Dixie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Dixie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Dixie','Horn'), - (2151,0,'Horn Charge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Charge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Horn Spec. Charge','Horn'), - (2152,61,'3.07 Locking',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'locking;normal driving applications',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3.07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dana Differential (3.07) L','Rear End'), - (2153,78,'Cobra 427 S/C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'m/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shelby Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shelby 66 Cobra 427 S/C','Vehicle'), - (2154,78,'65 Shelby Cobra Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Hood','Hood'), - (2156,78,'65 Shelby Cobra Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'65 Shelby Bumpers','Bumpers'), - (2157,0,'Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'light window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Light Window Tinting','Window Tinting'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2158,0,'Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'dark window tint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dark Window Tinting','Window Tinting'), - (2159,0,'Very Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a very dark window tint, so dark as to be nearly opaque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Very Dark',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Very Dark Window Tinting','Window Tinting'), - (2160,0,'Horn Charge Short',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spec Horn Charge Short',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sp Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Spec Horn Charge Short','Horn'), - (2161,0,'Hardtop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hardtop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hardtop','Top Style'), - (2162,0,'Chopped Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chopped Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chopped Top','Top Style'), - (2163,0,'Convertible Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Convertible Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Convertible Top','Top Style'), - (2164,0,'Vinyl Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vinyl Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vinyl Top','Top Style'), - (2179,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang','Vehicle'), - (2180,1,'Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 69 Torino GT Cobra','Vehicle'), - (2181,1,'Mach 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mach 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Mach 1','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2182,10,'Hemi Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 Hemi Cuda','Vehicle'), - (2183,10,'440 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'440 Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 440 Cuda','Vehicle'), - (2184,10,'AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AAR Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 70 AAR Cuda','Vehicle'), - (2185,10,'340 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340 Duster',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Plymouth 71 340 Duster','Vehicle'), - (2186,3,'Impala SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Impala SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 64 Impala SS','Vehicle'), - (2187,3,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Chevelle SS','Vehicle'), - (2188,3,'Camaro RS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro RS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro RS','Vehicle'), - (2189,3,'Camaro Z-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro Z-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 67 Camaro Z-28','Vehicle'), - (2190,3,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Chevelle SS','Vehicle'), - (2191,3,'El Camino SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'El Camino SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 El Camino SS','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2192,3,'Nova SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nova SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 70 Nova SS','Vehicle'), - (2193,5,'4-4-2 W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'442 W-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 442 W-30','Vehicle'), - (2194,5,'Hurst 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hurst 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile 69 Hurst 442','Vehicle'), - (2195,1,'4.10 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(4.10) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (4.10) Banjo Differential LD','Rear End'), - (2196,7,'Firebird Formula',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird Formula',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird Formula','Vehicle'), - (2197,7,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'a/t',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firebird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac 73 Firebird','Vehicle'), - (2198,1,'3.90 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(3.90) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (3.90) Banjo Differential LD','Rear End'), - (2199,1,'3.31 Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'banjo carrier; used on very early Fords',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'(3.31) Banjo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford (3.31) Banjo Differential LD','Rear End'), - (2200,43,'ND (0.3) 12.5"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'high travel limit shock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ND (0.3) 12.5"',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Formance ND (0.3) Shock','Shocks'), - (2201,69,'100 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 100 lb/in Coil Springs','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2202,69,'110 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in Coil Springs','Springs'), - (2203,69,'150 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 150 lb/in leaf spring','Springs'), - (2204,69,'160 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in leaf spring','Springs'), - (2205,69,'170 lb/in Leaf',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in leaf spring','Springs'), - (2206,69,'200 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 200 lb/in coil-over spring','Springs'), - (2207,69,'190 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 190 lb/in coil-over spring','Springs'), - (2208,69,'180 lb/in Coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 180 lb/in coil-over spring','Springs'), - (2209,69,'170 lb/in coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 170 lb/in coil-over spring','Spring'), - (2210,69,'160 lb/in coil-over',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 160 lb/in coil-over spring','Spring'), - (2211,69,'140 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 140 lb/in leaf spring','Spring'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2212,69,'130 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 130 lb/in leaf spring','Spring'), - (2213,69,'120 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 120 lb/in leaf spring','Spring'), - (2214,69,'110 lb/in leaf spring',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Gifford 110 lb/in leaf spring','Spring'), - (2215,5,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4-4-2','Vehicle'), - (2216,3,'70 Chevelle SS Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1970 Chevelle SS Hood','Hood'), - (2217,3,'Camaro SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet 1967 Camaro SS','Vehicle'), - (2218,6,'Stage I (10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stage I (10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stage I (10) CH','Cylinder Head'), - (2219,65,'47 Cadillac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-00','Wheel Rims'), - (2220,65,'49 Mercury',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-01','Wheel Rims'), - (2221,65,'53 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-02','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2222,65,'55 Buick',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-03','Wheel Rims'), - (2223,65,'Red Center Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-04','Wheel Rims'), - (2224,65,'57 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-05','Wheel Rims'), - (2225,65,'Twist Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-06','Wheel Rims'), - (2226,65,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-07','Wheel Rims'), - (2227,65,'58 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-08','Wheel Rims'), - (2228,65,'Sun Burst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-09','Wheel Rims'), - (2229,65,'Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-10','Wheel Rims'), - (2230,65,'64 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-11','Wheel Rims'), - (2231,65,'64 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-12','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2232,65,'Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-13','Wheel Rims'), - (2233,65,'Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-14','Wheel Rims'), - (2234,65,'59 Dodge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-15','Wheel Rims'), - (2235,65,'57 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-16','Wheel Rims'), - (2236,65,'57 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-17','Wheel Rims'), - (2237,65,'57 Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-18','Wheel Rims'), - (2238,65,'Twist Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-19','Wheel Rims'), - (2239,65,'Sun Burst',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-20','Wheel Rims'), - (2240,65,'59 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-21','Wheel Rims'), - (2241,65,'59 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-22','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2242,65,'Ford Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-23','Wheel Rims'), - (2243,65,'59 Pontiac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-24','Wheel Rims'), - (2244,65,'60 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-25','Wheel Rims'), - (2245,65,'60 Edsel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-26','Wheel Rims'), - (2246,65,'60 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-27','Wheel Rims'), - (2247,65,'61 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-28','Wheel Rims'), - (2248,65,'61 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-29',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-29','Wheel Rims'), - (2249,65,'62 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-30',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-30','Wheel Rims'), - (2250,65,'63 Buick',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-31','Wheel Rims'), - (2251,65,'63 Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-32',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-32','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2252,65,'Spoke Tower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-33',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-33','Wheel Rims'), - (2253,65,'64 Plymouth',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-34',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-34','Wheel Rims'), - (2254,65,'64 Dodge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-35',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-35','Wheel Rims'), - (2255,65,'Super Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-36','Wheel Rims'), - (2256,65,'65 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-37',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-37','Wheel Rims'), - (2257,65,'65 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-38',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-38','Wheel Rims'), - (2258,65,'65 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-39','Wheel Rims'), - (2259,65,'65 Olds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-40','Wheel Rims'), - (2260,65,'65 Corvair',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-41',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-41','Wheel Rims'), - (2261,65,'Fake Spinner Covered',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-42',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-42','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2262,65,'55 Chrysler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-43','Wheel Rims'), - (2263,65,'Knock Off Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-44','Wheel Rims'), - (2264,65,'67 Shelby',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-45','Wheel Rims'), - (2265,65,'66 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-46',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-46','Wheel Rims'), - (2266,65,'67 Chevy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-47','Wheel Rims'), - (2267,65,'Blue Dot Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-48','Wheel Rims'), - (2268,65,'Disc Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-49','Wheel Rims'), - (2269,65,'40 Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-50',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-50','Wheel Rims'), - (2270,65,'Blue Dot Spoke Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-51',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-51','Wheel Rims'), - (2271,65,'Accordian Full Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-52',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-52','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2272,65,'Full Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-53',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-53','Wheel Rims'), - (2273,65,'55 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-54',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-54','Wheel Rims'), - (2274,65,'Rallye Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-55',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-55','Wheel Rims'), - (2275,65,'Classic Cadillac',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-56',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-56','Wheel Rims'), - (2276,65,'Compass Full Cover',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-57',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-57','Wheel Rims'), - (2277,65,'57 Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-58',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HS-58','Wheel Rims'), - (2278,45,'Slot 11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-00','Wheel Rims'), - (2279,45,'Double Layer Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-01','Wheel Rims'), - (2280,45,'Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-02','Wheel Rims'), - (2281,45,'Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-03','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2282,45,'Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-04','Wheel Rims'), - (2283,45,'Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-05','Wheel Rims'), - (2284,45,'Slot 9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-06','Wheel Rims'), - (2285,45,'Fan Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-07','Wheel Rims'), - (2286,45,'Mild Twist Slot 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-08','Wheel Rims'), - (2287,45,'Twistar 11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-09','Wheel Rims'), - (2288,45,'Cheese Grater 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-10','Wheel Rims'), - (2289,45,'Bull Star 10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-11','Wheel Rims'), - (2290,45,'Chrome Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-12','Wheel Rims'), - (2291,45,'Twisted Fan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-13','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2292,45,'Twistar 9',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-14','Wheel Rims'), - (2293,45,'Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-15','Wheel Rims'), - (2294,45,'Twisted Super Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-16','Wheel Rims'), - (2295,45,'Twisted Split Star 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-17','Wheel Rims'), - (2296,45,'Twisted Split Star 7 Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-18','Wheel Rims'), - (2297,45,'Mega Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-19','Wheel Rims'), - (2298,45,'Classy Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-20','Wheel Rims'), - (2299,45,'Fan Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-21','Wheel Rims'), - (2300,45,'Super Star 10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-22','Wheel Rims'), - (2301,45,'Fat Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-23','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2302,45,'Split Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-24','Wheel Rims'), - (2303,45,'Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-25','Wheel Rims'), - (2304,45,'Split Star 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-26','Wheel Rims'), - (2305,45,'Mega Slot Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HA-27','Wheel Rims'), - (2308,65,'63 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-00','Wheel Rims'), - (2309,65,'Rallye Super Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-01','Wheel Rims'), - (2310,65,'Classic 5 Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-02','Wheel Rims'), - (2311,65,'Pin Star',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-03','Wheel Rims'), - (2312,65,'Near Magnum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-04','Wheel Rims'), - (2313,65,'Rally Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-05','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2314,65,'Classic Sport',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-06','Wheel Rims'), - (2315,65,'Gold 4-4-2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-07','Wheel Rims'), - (2316,65,'Fordy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-08','Wheel Rims'), - (2317,65,'Magnum Star',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-09','Wheel Rims'), - (2318,65,'Honeycomb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-10','Wheel Rims'), - (2319,65,'40 Ford',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-11','Wheel Rims'), - (2320,65,'Ringed Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RS-12','Wheel Rims'), - (2321,73,'Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-00',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-00','Wheel Rims'), - (2322,73,'Round 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-01',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-01','Wheel Rims'), - (2323,73,'Star Seven',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-02',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-02','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2324,73,'Star Burst 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-03',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-03','Wheel Rims'), - (2325,73,'Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-04',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-04','Wheel Rims'), - (2326,73,'Split Twist 5 Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-05',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-05','Wheel Rims'), - (2327,73,'Big Spoke 12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-06',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-06','Wheel Rims'), - (2328,73,'Triple Blade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-07',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-07','Wheel Rims'), - (2329,73,'Hex Center Wire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-08',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-08','Wheel Rims'), - (2330,73,'Fine Diamond Spoke',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-09',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-09','Wheel Rims'), - (2331,73,'Diamond Spoke Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-10',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-10','Wheel Rims'), - (2332,73,'Web 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-11','Wheel Rims'), - (2333,73,'Split Fat Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-12',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-12','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2334,73,'Narrow Split Twist 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-13','Wheel Rims'), - (2335,73,'Two Tone Star Slot 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-14',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-14','Wheel Rims'), - (2336,73,'Twist Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-15','Wheel Rims'), - (2337,73,'Slot Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-16',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-16','Wheel Rims'), - (2338,73,'Black Rally Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-17',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-17','Wheel Rims'), - (2339,73,'Twisted Cheese Grater',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-18',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-18','Wheel Rims'), - (2340,73,'Spoke Black Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-19','Wheel Rims'), - (2341,73,'Chrome Slot Star 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-20',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-20','Wheel Rims'), - (2342,73,'Centerline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-21','Wheel Rims'), - (2343,73,'Baby Moon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-22',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-22','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2344,73,'Chrome Reversed 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-23',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-23','Wheel Rims'), - (2345,73,'Gold Reversed 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-24',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-24','Wheel Rims'), - (2346,73,'SS Rally Chrome',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-25',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-25','Wheel Rims'), - (2347,73,'SS Rally Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-26',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-26','Wheel Rims'), - (2348,73,'Five Slot Spinner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-27',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-27','Wheel Rims'), - (2349,73,'Five Slot',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-28',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-28','Wheel Rims'), - (2350,73,'Torq-Thrust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-29',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'RA-29','Wheel Rims'), - (2351,67,'Flow-rite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flow-rite',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Flow-rite Air Cleaner','Air Cleaner'), - (2352,60,'Flared Velocity Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Velocity Stack','Air Scoop'), - (2353,60,'Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flared Stack (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tall Flared Velocity Stack','Air Scoop'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2354,60,'Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Straight Stack',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Straight Velocity Stack','Air Scoop'), - (2355,60,'Dual Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Flared Velocity Stacks','Air Scoop'), - (2356,60,'Dual Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Tall Flared Velocity Stacks','Air Scoop'), - (2357,60,'Dual Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dual Straight Velocity Stacks','Air Scoop'), - (2358,60,'Triple Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Flared Velocity Stacks','Air Scoop'), - (2359,60,'Triple Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Tall Flared Velocity Stacks','Air Scoop'), - (2360,60,'Triple Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Triple Straight Velocity Stacks','Air Scoop'), - (2361,60,'Quad Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Flared Velocity Stacks','Air Scoop'), - (2362,60,'Quad Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Tall Flared Velocity Stacks','Air Scoop'), - (2363,60,'Quad Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quad Straight Velocity Stacks','Air Scoop'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2364,60,'"8-barrel" Flared VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Flared Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Flared Velocity Stacks','Air Scoop'), - (2365,60,'"8-barrel" Highboy VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Flared Stacks (tall)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Tall Flared Velocity Stacks','Air Scoop'), - (2366,60,'"8-barrel" Classic VS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8 Straight Stacks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Eight Straight Velocity Stacks','Air Scoop'), - (2367,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird (arcade)','Vehicle'), - (2369,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'57 Chevy (arcade)','Vehicle'), - (2370,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Bomber (arcade)','Vehicle'), - (2371,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Vic (arcade)','Vehicle'), - (2375,0,'Roll Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'roll bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Generic roll bar','Roll Bar'), - (2376,7,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Pontiac GTO modified for arcade Pro Racing','Vehicle'), - (2377,1,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Mustang modified for arcade Street Racing','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2378,1,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Ford Thunderbird modified for arcade Pro Racing','Vehicle'), - (2379,6,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1955 Buick Century modified for arcade Pro Racing','Vehicle'), - (2380,3,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1970 Chevrolet Chevelle modified for arcade Pro Racing','Vehicle'), - (2381,1,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Galaxie modified for arcade Pro Racing','Vehicle'), - (2382,9,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Charger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 Dodge Charger modified for arcade Pro Racing','Vehicle'), - (2383,3,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Chevrolet Bel-Air modified for arcade Street Racing','Vehicle'), - (2384,1,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1953 Ford Crestline modified for arcade Street Racing','Vehicle'), - (2385,11,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMX',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1969 AMC AMX modified for arcade Street Racing','Vehicle'), - (2386,1,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Ford Ranchero modified for arcade Street Racing','Vehicle'), - (2387,3,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Camaro',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1967 Chevrolet Camaro modified for arcade Street Racing','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2388,7,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac (8.0) Stock W CH','Cylinder Head'), - (2389,99,'195/60/15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Firestone 195/60/15 Bias Belted','Tires'), - (2390,73,'220 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 220 lb/in coil spring','Springs'), - (2391,73,'230 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 230 lb/in coil spring','Springs'), - (2392,73,'240 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 240 lb/in coil spring','Springs'), - (2393,73,'250 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 250 lb/in coil spring','Springs'), - (2394,73,'260 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 260 lb/in coil spring','Springs'), - (2395,73,'270 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 270 lb/in coil spring','Springs'), - (2396,73,'280 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 280 lb/in coil spring','Springs'), - (2397,73,'290 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 290 lb/in coil spring','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2398,73,'300 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 300 lb/in coil spring','Springs'), - (2399,73,'310 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 310 lb/in coil spring','Springs'), - (2400,73,'320 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 320 lb/in coil spring','Springs'), - (2401,73,'330 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 330 lb/in coil spring','Springs'), - (2402,73,'340 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 340 lb/in coil spring','Springs'), - (2403,73,'350 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 350 lb/in coil spring','Springs'), - (2404,73,'360 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 360 lb/in coil spring','Springs'), - (2405,73,'370 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 370 lb/in coil spring','Springs'), - (2406,73,'380 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 380 lb/in coil spring','Springs'), - (2407,73,'390 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 390 lb/in coil spring','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2408,73,'400 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 400 lb/in coil spring','Springs'), - (2409,73,'410 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 410 lb/in coil spring','Springs'), - (2410,73,'420 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 420 lb/in coil spring','Springs'), - (2411,73,'430 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 430 lb/in coil spring','Springs'), - (2412,73,'440 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 440 lb/in coil spring','Springs'), - (2413,73,'450 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 450 lb/in coil spring','Springs'), - (2414,73,'460 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 460 lb/in coil spring','Springs'), - (2415,73,'470 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 470 lb/in coil spring','Springs'), - (2416,73,'480 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 480 lb/in coil spring','Springs'), - (2417,73,'490 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 490 lb/in coil spring','Springs'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2418,73,'500 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 500 lb/in coil spring','Springs'), - (2419,73,'510 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 510 lb/in coil spring','Springs'), - (2420,73,'180 lb/in Coil',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 180 lb/in coil spring','Springs'), - (2421,1,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'performs about halfway between a bone-stock camshaft and a high performance camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Special Stock Camshaft','Camshaft'), - (2422,0,'295/80/22.5 Bus Tire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bus Tire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'295/80/22.5 Bus Tire','Tires'), - (2424,3,'(8.5) Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used in light trucks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB (8.5) Stock','Cylinder Head'), - (2425,2,'Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1949 Mercury Coupe (modified for QA use)','Vehicle'), - (2426,3,'Mod Bel Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Bel-Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1957 Chevrolet Bel-Air (modified for QA use)','Vehicle'), - (2427,7,'Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1966 Pontiac GTO (modified for QA use)','Vehicle'), - (2428,4,'Mod Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Eldorado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1959 Cadillac Eldorado (modified for Qa use)','Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2429,3,'Mod Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1963 Chevrolet Stingray (modified for QA use)','Vehicle'), - (2430,1,'Mod Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1964 Ford Mustang (modified for QA use)','Vehicle'), - (2431,10,'Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1970 Plymouth Cuda (modified for QA use)','Vehicle'), - (2432,1,'Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'good mid-range power cam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Power (HP) Camshaft','Camshaft'), - (2433,64,'207/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 207/70/14 (D70-14) Bias Belted','Tires'), - (2434,64,'212/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 212/70/14 (E70-14) Bias Belted','Tires'), - (2435,64,'221/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 221/70/14 (F70-14) Bias Belted','Tires'), - (2436,64,'232/70/14 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 232/70/14 (G70-14) Bias Belted','Tires'), - (2437,64,'210/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 210/70/15 (E70-15) Bias Belted','Tires'), - (2438,64,'216/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 216/70/15 (F70-15) Bias Belted','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2439,64,'227/70/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 227/70/15 (G70-15) Bias Belted','Tires'), - (2440,64,'231/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 231/60/15 (F60-15) Bias Belted','Tires'), - (2441,64,'243/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 243/60/15 (G60-15) Bias Belted','Tires'), - (2442,64,'224/60/15 Bias Belted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Begren 224/60/15 (E60-15) Bias Belted','Tires'), - (2443,6,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improved low end torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Special Stock Camshaft','Camshaft'), - (2444,4,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'provides good low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Midrange Camshaft','Camshaft'), - (2445,3,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB Midrange Camshaft','Camshaft'), - (2446,3,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet SB Special Stock Camshaft','Camshaft'), - (2447,8,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Midrange Camshaft','Camshaft'), - (2448,5,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low range torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Special Stock Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2449,7,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improves low and midrange torque',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midrange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Midrange Camshaft','Camshaft'), - (2450,0,'Heavy Truck (22.5")',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Truck Rim (22.5")','Wheel Rims'), - (2451,70,'265-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB V8 265','Engine Block'), - (2452,70,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement cylinder head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB Wedge (8.0)','Cylinder Head'), - (2453,70,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB Stock Camshaft','Camshaft'), - (2454,70,'265 2V (140 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'budget replacement engine assembly',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'265 2V (140 hp)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chevrolet SB 265 2V (140 hp)','Engine Assembly'), - (2455,11,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.0) W CH','Cylinder Head'), - (2456,11,'Stock (9.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.0) Large Valve W CH','Cylinder Head'), - (2457,11,'Stock (10.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0) LV',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (10.0) Large Valve W CH','Cylinder Head'), - (2458,11,'Dog Leg (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'improved flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dog Leg (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Dog Leg (10.0) W CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2459,11,'360-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'360',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 360-V8','Engine Block'), - (2460,11,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock TI Rod','Connecting Rods'), - (2461,11,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Group 19',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Group 19 FS Crankshaft','Crankshaft'), - (2462,8,'426-V8 Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi 426-V8','Engine Block'), - (2463,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Flat Top CA Piston','Pistons'), - (2464,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Special FS Rod','Connecting Rods'), - (2465,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi FS Rod','Connecting Rods'), - (2466,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi Crankshaft','Crankshaft'), - (2467,70,'Hemi (10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Hemi (10.25) Cylinder Head','Cylinder Head'), - (2468,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Solid Lifter Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2469,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chyrsler Hemi Valvetrain','Valve Train'), - (2470,8,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Exhaust Manifold','Exhaust Manifold'), - (2471,70,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Shade Tree Chrysler Hemi Exhaust Manifold','Exhaust Manifold'), - (2472,8,'Hemi Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Hydraulic Valvetrain','Valve Train'), - (2473,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Intake Manifold','Intake Manifold'), - (2474,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Camshaft','Camshaft'), - (2475,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Piston','Pistons'), - (2476,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Rods','Connecting Rods'), - (2477,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Crankshaft','Crankshaft'), - (2478,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2479,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Exhaust Manifold','Exhaust Manifold'), - (2480,4,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Cylinder Head','Cylinder Head'), - (2481,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB CI Stock Rod','Connecting Rods'), - (2482,6,'Stock 322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 322',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 322 Camshaft','Camshaft'), - (2483,6,'Recesssed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Recessed Piston','Pistons'), - (2484,6,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Flat Top Piston','Pistons'), - (2485,6,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Wedge Top Piston','Pistons'), - (2486,6,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Domed Top Piston','Pistons'), - (2487,6,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Exhaust Manifold','Exhaust Manifold'), - (2488,8,'273-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'273',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 273-V8','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2489,8,'360-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'360',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB 360-V8','Engine Block'), - (2490,41,'Flat Top CSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Flat Top Chrysler SB Piston','Pistons'), - (2491,1,'390-V8 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'thicker main-bearing webs and caps; more reinforcing ribs; enlarged oil passages',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'390 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB V8 390 HP','Engine Block'), - (2492,1,'Stock CB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Dual Plane Intake Manifold','Intake Manifold'), - (2493,1,'Aluminum CB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Aluminum Dual Plane Intake Manifold','Intake Manifold'), - (2494,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Camshaft','Camshaft'), - (2495,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Camshaft','Camshaft'), - (2496,1,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block HO Camshaft','Camshaft'), - (2497,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Piston','Pistons'), - (2498,1,'Forged Aluminum C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Flat Top FA Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2499,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock FS Rod','Connecting Rods'), - (2500,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Rod','Connecting Rods'), - (2501,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock Crankshaft','Crankshaft'), - (2502,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Crankshaft','Crankshaft'), - (2503,1,'Stock C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Hydraulic Valvetrain','Valve Train'), - (2504,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Boss Valvetrain','Valve Train'), - (2505,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block Stock EM','Exhaust Manifold'), - (2506,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock CI DP IM','Intake Manifold'), - (2507,1,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'better flow through larger passages',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ/SCJ CI DP IM','Intake Manifold'), - (2508,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2509,1,'Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Special Camshaft','Camshaft'), - (2510,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Piston','Pistons'), - (2511,1,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ FA Piston','Pistons'), - (2512,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Connecting Rod','Connecting Rods'), - (2513,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Crankshaft','Crankshaft'), - (2514,1,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Crankshaft','Crankshaft'), - (2515,1,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 NASCAR Crankshaft','Crankshaft'), - (2516,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Valve Train','Valve Train'), - (2517,1,'Boss Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Boss Hydraulic Valve Train','Valve Train'), - (2518,1,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 SCJ Valve Train','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2519,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock EM','Exhaust Manifold'), - (2520,1,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'CJ/SCJ',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 CJ/SCJ EM','Exhaust Manifold'), - (2521,1,'429-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'reinforced; high nodularity iron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 Boss','Engine Block'), - (2522,1,'HP SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'used on 289 HP engine; beefier, with thicker rod bolts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB HP Rod','Connecting Rods'), - (2523,1,'289-V8 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'higher nodularity iron with additional supports',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'289 HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 289-V8 HP','Engine Block'), - (2524,1,'302-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'higher nodularity iron with additional supports and four-bolt main bearing cap',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'302-V8 Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB 302-V8 Boss','Engine Block'), - (2525,1,'HP SB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB CI EM','Exhaust Manifold'), - (2526,1,'Cross Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cross Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Cross Boss DP IM','Intake Manifold'), - (2527,1,'Stock Economy Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 2V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Intake Manifold','Intake Manifold'), - (2528,13,'Tri-Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tri-Power',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Y Tri-Power IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2529,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Camshaft','Camshaft'), - (2530,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Crankshaft','Crankshaft'), - (2531,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Piston','Pistons'), - (2532,1,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Connecting Rods','Connecting Rods'), - (2533,1,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Truck',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Truck Connecting Rods','Connecting Rods'), - (2534,1,'Stock Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Solid Valve Train','Valve Train'), - (2535,1,'Stock 272/292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Stock Exhaust Manifold','Exhaust Manifold'), - (2536,6,'400-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 400','Engine Block'), - (2537,6,'430-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'430',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB V8 430','Engine Block'), - (2538,6,'Stock (10.25) BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Stock (10.25) CH','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2539,3,'427-V8 ZL1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'all-aluminum block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'ZL1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet BB V8 427 ZL1','Engine Block'), - (2540,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W CI DP Intake Manifold','Intake Manifold'), - (2541,3,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Aluminum DP Intake Manifold','Intake Manifold'), - (2542,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock Camshaft','Camshaft'), - (2543,3,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HP Camshaft','Camshaft'), - (2544,3,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Camshaft','Camshaft'), - (2545,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock FS Crankshaft','Crankshaft'), - (2546,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock Valve Train','Valve Train'), - (2547,3,'Super Turbo-Thrust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'STT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W STT Solid Lifter Valve Train','Valve Train'), - (2548,3,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2549,3,'Z11 W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Z11',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Z11 Cylinder Head','Cylinder Head'), - (2550,6,'364-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 364-V8','Engine Block'), - (2551,6,'401-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 401-V8','Engine Block'), - (2552,6,'425-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 425-V8','Engine Block'), - (2553,6,'300-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 300','Engine Block'), - (2554,6,'340-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB V8 340','Engine Block'), - (2555,4,'365-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'365',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 365','Engine Block'), - (2556,4,'429-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB V8 429','Engine Block'), - (2557,3,'HP W',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W HP Exhaust Manifold','Exhaust Manifold'), - (2558,1,'HP C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Block HP EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2559,79,'Compressor (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor (7.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor (7.5) Cylinder Head','Cylinder Head'), - (2560,79,'Compressor Extra (7.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor (7.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor (7.8) Cylinder Head','Cylinder Head'), - (2561,79,'Compressor Chief (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor Chief (8.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor Chief (8.0) Cylinder Head','Cylinder Head'), - (2562,79,'Compressor King (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Compressor King (8.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Compressor King (8.2) Cylinder Head','Cylinder Head'), - (2563,6,'Nailhead (8.75) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (8.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (8.75) Cylinder Head','Cylinder Head'), - (2564,6,'Nailhead (9.0) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (9.0) Cylinder Head','Cylinder Head'), - (2565,6,'Nailhead (10.25) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (10.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (10.25) Cylinder Head','Cylinder Head'), - (2566,6,'Nailhead (10.5) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead (10.5) Cylinder Head','Cylinder Head'), - (2567,4,'Stock (9.75) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac (9.75) Wedge Cylinder Head','Cylinder Head'), - (2568,4,'Stock (10.0) CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac (10.0) Wedge Cylinder Head','Cylinder Head'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2569,50,'Hemi (10.5) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi (10.5) Canted Cylinder Head','Cylinder Head'), - (2570,50,'Hemi (10.75) Canted CH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi (10.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi (10.75) Canted Cylinder Head','Cylinder Head'), - (2571,80,'Breezer Aluminum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Breezer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Breezer Aluminum DP IM','Intake Manifold'), - (2572,80,'Tornado Aluminum SP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tornado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Tornado Aluminum SP IM','Intake Manifold'), - (2573,80,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick SB Aluminum DP IM','Intake Manifold'), - (2574,79,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Alumimum DP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Aluminum DP IM','Intake Manifold'), - (2575,80,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Power Plus Camshaft','Camshaft'), - (2576,80,'Nailhead HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead HP Camshaft','Camshaft'), - (2577,79,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Power Plus Camshaft','Camshaft'), - (2578,79,'L-Head HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head HP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2579,80,'Nailhead Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance EM','Exhaust Manifold'), - (2580,79,'L-Head Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Performance EM','Exhaust Manifold'), - (2581,6,'SB Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Performance EM','Exhaust Manifold'), - (2582,6,'SB Tube Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Small Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB EM Small Tube Headers','Exhaust Manifold'), - (2583,79,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac Performance EM','Exhaust Manifold'), - (2584,1,'Flathead Perf. EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Performance EM','Exhaust Manifold'), - (2585,5,'SB Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance EM',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Performance EM','Exhaust Manifold'), - (2586,72,'13 x 2 Organic Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic Drum Brake','Brakes'), - (2587,72,'13 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic Disk Brake','Brakes'), - (2588,72,'13 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic HT Drum Brake','Brakes'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2589,72,'13 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Organic HT Disk Brake','Brakes'), - (2590,72,'13 x 2 Metallic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Metallic Disk Brake','Brakes'), - (2591,72,'13 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bendix 13 x 2 Semi-Metallic Disk Brake','Brakes'), - (2592,73,'13 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'13 x 2 ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 13 x 2 Metallic Disk ABS Brake','Brakes'), - (2593,73,'14 x 2 Org Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic Drum Brake','Brakes'), - (2594,73,'14 x 2 Organic Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic Disk Brake','Brakes'), - (2595,73,'14 x 2 Org HT Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Drum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic HT Drum Brake','Brakes'), - (2596,73,'14 x 2 Org HT Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ansman 14 x 2 Organic HT Disk Brake','Brakes'), - (2597,71,'9 x 2 SM Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Semi-Metallic Disk Brakes','Brakes'), - (2598,71,'9 x 2 Metal Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9 x 2 Disk ABS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AC Delco 9 x 2 Metallic Disk ABS Brakes','Brakes'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2599,101,'205/40/17VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/40/17VR Performance','Tires'), - (2600,101,'225/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 225/50/15VR Performance','Tires'), - (2601,101,'205/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 205/50/15VR Performance','Tires'), - (2602,101,'195/50/15VR Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Yokohama 195/50/15VR Performance','Tires'), - (2603,100,'225/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 225/50/15 Radial','Tires'), - (2604,100,'205/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/50/15 Radial','Tires'), - (2605,100,'195/50/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/50/15 Radial','Tires'), - (2606,100,'205/55/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/55/15 Radial','Tires'), - (2607,100,'195/55/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/55/15 Radial','Tires'), - (2608,100,'215/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 215/60/15 Radial','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2609,100,'205/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/60/15 Radial','Tires'), - (2610,100,'195/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/60/15 Radial','Tires'), - (2611,100,'205/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 205/65/15 Radial','Tires'), - (2612,100,'185/65/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/65/15 Radial','Tires'), - (2613,100,'195/60/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/60/14 Radial','Tires'), - (2614,100,'185/60/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 185/60/14 Radial','Tires'), - (2615,100,'195/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 195/65/14 Radial','Tires'), - (2616,100,'175/65/14 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 175/65/14 Radial','Tires'), - (2617,1,'429-V8 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 NASCAR','Engine Block'), - (2618,1,'429-V8 NASCAR Mg',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'highly experimental magnesium block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'429 NASCAR Mg',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 429-V8 NASCAR Mg','Engine Block'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2619,5,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Wedge Top (0.5) Piston','Pistons'), - (2620,1,'FH Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Wedge Top Piston','Pistons'), - (2621,1,'Flathead Domed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Domed Top Piston','Pistons'), - (2622,8,'Hemi Recessed Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Recessed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Recessed FA Piston','Pistons'), - (2623,8,'Hemi Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Hemi Wedge FA Piston','Pistons'), - (2624,4,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Wedge Top Piston','Pistons'), - (2625,4,'Stock FA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock FA Piston','Pistons'), - (2626,4,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Wedge FA Piston','Pistons'), - (2627,6,'Wedge Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Wedge Top Piston','Pistons'), - (2628,6,'Nailhead Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Solid Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2629,6,'SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Solid Valvetrain','Valve Train'), - (2630,6,'BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Solid Valvetrain','Valve Train'), - (2631,79,'L-Head Flow Control',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flow Control',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Hydraulic Valvetrain','Valve Train'), - (2632,4,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Solid Valvetrain','Valve Train'), - (2633,80,'Flathead Super Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Ford Flathead Hydraulic Valvetrain','Valve Train'), - (2634,5,'SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile SB Solid Valvetrain','Valve Train'), - (2635,5,'BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldsmobile BB Solid Valvetrain','Valve Train'), - (2636,5,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W-31',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB W-31 FS Rod','Connecting Rods'), - (2637,13,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Flathead Stock FS Rod','Connecting Rods'), - (2638,58,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Pro Billet Chrysler Hemi Rod','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2639,74,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Titanium',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Titanium Chrysler Hemi Connecting Rod','Connecting Rods'), - (2640,74,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Lightweight Billet Steel Chrysler Hemi Rod','Connecting Rods'), - (2641,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chrysler Hemi Rod','Connecting Rods'), - (2642,74,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Billet Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crower Billet Steel Chrysler SB Rod','Connecting Rods'), - (2643,58,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Sportsman H-Beam',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lunati Sportsman H-Beam Chevrolet W Rod','Connecting Rods'), - (2644,3,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet W Stock FS Rod','Connecting Rods'), - (2645,80,'Nailhead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Nailhead Lightweight Crankshaft','Crankshaft'), - (2646,80,'Buick SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick SB Lightweight Crankshaft','Crankshaft'), - (2647,80,'Buick BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick BB Lightweight Crankshaft','Crankshaft'), - (2648,79,'L-Head Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac L-Head Lightweight Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2649,79,'Cadillac Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac Lightweight Crankshaft','Crankshaft'), - (2650,4,'Stock BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock CI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock CI Rod','Connecting Rods'), - (2651,4,'Forged Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Forged Steel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head FS Rod','Connecting Rods'), - (2652,6,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock FS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick SB FS Stock Rod','Connecting Rods'), - (2653,6,'Nailhead 364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead 364',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead 364 FS Rod','Connecting Rods'), - (2654,50,'Big W Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Chevy W Lightweight Crankshaft','Crankshaft'), - (2655,50,'Hemi Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Monarch Hemi Lightweight Crankshaft','Crankshaft'), - (2656,79,'FH Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Ford Flathead Lightweight Crankshaft','Crankshaft'), - (2657,80,'Olds SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds SB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Olds SB Lightweight Crankshaft','Crankshaft'), - (2658,80,'Olds BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Olds BB Lightweight Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2659,44,'HiPo Adept',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HiPo Adept',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blinsky HiPo Adept Domed Aluminum Piston','Pistons'), - (2660,97,'245/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/45/17ZR High Performance','Tires'), - (2661,97,'225/60/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/60/16ZR High Performance','Tires'), - (2662,81,'671',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'671',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 671 Blower','Blower'), - (2663,81,'871',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'871',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 871 Blower','Blower'), - (2664,81,'1071',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1071',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Weiand 1071 Blower','Blower'), - (2665,13,'Performer IAS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer IAS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer IAS Shock','Shocks'), - (2666,13,'Street Stock Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Stock Race',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Street Stock Race Shock','Shocks'), - (2667,13,'24 Stud',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'24 Stud',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Ford Flathead Cylinder Head','Cylinder Head'), - (2668,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Chevrolet W Exhaust Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2669,13,'TES Exh. Headers 385',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Ford 385 Exhaust Headers','Exhaust Manifold'), - (2670,13,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Exhaust Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TES Pontiac Exhaust Headers','Exhaust Manifold'), - (2671,13,'Cat-Back System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cat-Back',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Cat-Back System Exhaust Pipes','Exhaust Pipe'), - (2672,18,'Fat Shiny',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fat Shiny',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fat Shiny Exhaust Pipe','Exhaust Pipe'), - (2673,13,'AB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AB Coil Spring','Springs'), - (2674,13,'AS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AS Coil Spring','Springs'), - (2675,13,'AGB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AGB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock AGB Coil Spring','Springs'), - (2676,13,'M',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock M Coil Spring','Springs'), - (2677,13,'F',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'F',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock F Coil Spring','Springs'), - (2678,13,'Tubular Panhard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tubular Panhard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Tubular Panhard Rod','Sway Bar'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2679,13,'Anti-Hop Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Anti-Hop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Anti-Hop Bar','Traction Bar'), - (2680,13,'Pro-Flo Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Round Air Cleaner','Air Cleaner'), - (2681,13,'Pro-Flo Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Oval Air Cleaner','Air Cleaner'), - (2682,13,'Pro-Flo Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo Triangular Air Cleaner','Air Cleaner'), - (2683,13,'Elite Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Round Air Cleaner','Air Cleaner'), - (2684,13,'Elite Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Oval',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Oval Air Cleaner','Air Cleaner'), - (2685,13,'Elite Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Elite Triangular',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Elite Triangular Air Cleaner','Air Cleaner'), - (2686,13,'Victor Series',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Victor Series',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Victor Series Cooling System','Cooling System'), - (2687,13,'Performer 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (500 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (500 cfm) Carburetor','Carburetor'), - (2688,13,'Performer 4V (750 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer 4V (750 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer 4V (750 cfm) Carburetor','Carburetor'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2689,13,'Q-Jet (795 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Q-Jet (795 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Q-Jet (795 cfm) Carburetor','Carburetor'), - (2690,13,'Q-Jet (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Q-Jet (850 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Q-Jet (850 cfm) Carburetor','Carburetor'), - (2691,13,'Torker AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Torker AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Torker AMC IM','Intake Manifold'), - (2692,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer AMC IM','Intake Manifold'), - (2693,13,'Pro-Flo EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pro-Flo EFI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Pro-Flo EFI System','Carburetor'), - (2694,14,'Excelerator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Excelerator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Excelerator Ignition','Electrical System'), - (2695,14,'Dominator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dominator',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Dominator Ignition','Electrical System'), - (2696,14,'Avenger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Avenger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley Avenger Ignition','Electrical System'), - (2697,14,'SystemMax Chevrolet BB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SystemMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Holley SystemMax Chevrolet BB CH','Cylinder Head'), - (2698,1,'E4 Low Range',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'E4 Low Range',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'E4 Low Range Ford Y Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2699,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus AMC Camshaft','Camshaft'), - (2700,11,'WG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'WG',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC WG Stock+ Camshaft','Camshaft'), - (2701,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Olds SB HP Cam','Camshaft'), - (2702,13,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Plus Olds BB HP Cam','Camshaft'), - (2703,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer AMC Hydraulic Lifters','Valve Train'), - (2704,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chevrolet BB Hydraulic Lifters','Valve Train'), - (2705,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chevrolet SB Hydraulic Lifters','Valve Train'), - (2706,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chrysler BB Hydraulic Lifters','Valve Train'), - (2707,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Chrysler SB Hydraulic Lifters','Valve Train'), - (2708,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford 385 Hydraulic Lifters','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2709,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford BB Hydraulic Lifters','Valve Train'), - (2710,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford C Hydraulic Lifters','Valve Train'), - (2711,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Ford SB Hydraulic Lifters','Valve Train'), - (2712,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Oldsmobile BB Hydraulic Lifters','Valve Train'), - (2713,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Oldsmobile SB Hydraulic Lifters','Valve Train'), - (2714,13,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Performer Pontiac Hydraulic Lifters','Valve Train'), - (2715,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford BB VT','Valve Train'), - (2716,21,'Energizer BSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Buick SB Valvetrain','Valve Train'), - (2717,21,'Energizer CBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet BB Valvetrain','Valve Train'), - (2718,21,'Energizer CSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet SB Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2719,21,'Energizer CW',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chevrolet W Valvetrain','Valve Train'), - (2720,21,'Energizer ChBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chrysler BB Valvetrain','Valve Train'), - (2721,21,'Energizer ChSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Chrysler SB Valvetrain','Valve Train'), - (2722,21,'Energizer F385',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford 385 Valvetrain','Valve Train'), - (2723,21,'Energizer FC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford C Valvetrain','Valve Train'), - (2724,21,'Energizer FSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Ford SB Valvetrain','Valve Train'), - (2725,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter AMC Valvetrain','Valve Train'), - (2726,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Buick SB Valvetrain','Valve Train'), - (2727,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet BB Valvetrain','Valve Train'), - (2728,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet SB Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2729,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chevrolet W Valvetrain','Valve Train'), - (2730,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler BB Valvetrain','Valve Train'), - (2731,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler Hemi Valvetrain','Valve Train'), - (2732,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Chrysler SB Valvetrain','Valve Train'), - (2733,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford 385 Valvetrain','Valve Train'), - (2734,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford C Valvetrain','Valve Train'), - (2735,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford SB Valvetrain','Valve Train'), - (2736,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller AMC VT','Valve Train'), - (2737,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet BB VT','Valve Train'), - (2738,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet SB VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2739,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chevrolet W VT','Valve Train'), - (2740,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler BB VT','Valve Train'), - (2741,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler Hemi VT','Valve Train'), - (2742,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Chrysler SB VT','Valve Train'), - (2743,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford 385 VT','Valve Train'), - (2744,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford C VT','Valve Train'), - (2745,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Ford SB VT','Valve Train'), - (2746,21,'Energizer OBB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Olds BB Valvetrain','Valve Train'), - (2747,21,'Energizer OSB',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Olds SB Valvetrain','Valve Train'), - (2748,21,'Energizer Pon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Energizer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane Energizer Hydraulic Pontiac Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2749,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Olds BB Valvetrain','Valve Train'), - (2750,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Olds SB Valvetrain','Valve Train'), - (2751,21,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Pontiac Valvetrain','Valve Train'), - (2752,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Olds BB VT','Valve Train'), - (2753,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Olds SB VT','Valve Train'), - (2754,21,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Roller Pontiac VT','Valve Train'), - (2755,11,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'NASCAR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC NASCAR CH','Cylinder Head'), - (2756,16,'6V (600 cfm) R',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'6V (600 cfm)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rochester 6V (600 cfm) Carb','Carburetor'), - (2757,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Jet Stream Headers','Exhaust Manifold'), - (2758,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Buick Nailhead Jet Stream Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2759,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac L-Head Jet Stream Headers','Exhaust Manifold'), - (2760,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac Jet Stream Headers','Exhaust Manifold'), - (2761,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy SB Jet Stream Headers','Exhaust Manifold'), - (2762,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Jet Stream Headers','Exhaust Manifold'), - (2763,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Flathead Jet Stream Headers','Exhaust Manifold'), - (2764,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Jet Stream Headers','Exhaust Manifold'), - (2765,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Y Block Jet Stream Headers','Exhaust Manifold'), - (2766,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford Cleveland Jet Stream Headers','Exhaust Manifold'), - (2767,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Oldsmobile SB Jet Stream Headers','Exhaust Manifold'), - (2768,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Oldsmobile BB Jet Stream Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2769,82,'Hemi Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler Hemi Jet Stream Headers','Exhaust Manifold'), - (2770,11,'401-V8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC 401-V8','Engine Block'), - (2771,11,'Stock (9.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (9.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (9.5) 401 W CH','Cylinder Head'), - (2772,11,'Stock (8.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock (8.5) 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Stock (8.5) 401 W CH','Cylinder Head'), - (2773,38,'Aluminum AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum AMC',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offenhauser Aluminum AMC IM','Intake Manifold'), - (2774,1,'9" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.08) Differential','Rear End'), - (2775,1,'9" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.27) Differential','Rear End'), - (2776,1,'9" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.45) Differential','Rear End'), - (2777,1,'9" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.55) Differential','Rear End'), - (2778,1,'9" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (3.73) Differential','Rear End'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2779,1,'9" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'9" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 9" (4.10) Differential','Rear End'), - (2780,1,'8" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.08) Differential','Rear End'), - (2781,1,'8" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.27)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.27) Differential','Rear End'), - (2782,1,'8" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.45) Differential','Rear End'), - (2783,1,'8" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.55) Differential','Rear End'), - (2784,1,'8" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (3.73) Differential','Rear End'), - (2785,1,'8" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'8" (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 8" (4.10) Differential','Rear End'), - (2786,15,'10-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (2.73) Differential','Rear End'), - (2787,15,'10-bolt (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.08)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.08) Differential','Rear End'), - (2788,15,'10-bolt (3.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.36)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.36) Differential','Rear End'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2789,15,'10-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.55) Differential','Rear End'), - (2790,15,'10-bolt (3.70)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'10-bolt (3.70)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.70) Differential','Rear End'), - (2791,15,'12-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (2.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (2.73) Differential','Rear End'), - (2792,15,'12-bolt (3.07)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.07)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.07) Differential','Rear End'), - (2793,15,'12-bolt (3.31)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.31)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 10-bolt (3.31) Differential','Rear End'), - (2794,15,'12-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.55)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.55) Differential','Rear End'), - (2795,15,'12-bolt (3.55) Police',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.55) Police',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.55) Police Differential','Rear End'), - (2796,15,'12-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (3.73) Differential','Rear End'), - (2797,15,'12-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'12-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM 12-bolt (4.10) Differential','Rear End'), - (2798,67,'14-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (4.10)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (4.10) Differential','Rear End'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2799,67,'14-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (3.73)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (3.73) Differential','Rear End'), - (2800,67,'14-bolt (3.42)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'14-bolt (3.42)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall 14-bolt (3.42) Differential','Rear End'), - (2801,67,'Helix 3 Spd (M)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Helix (M)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Helix 3 Spd (M)','Transmission'), - (2802,67,'Helix 3 Spd (A)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Helix (A)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hall Helix 3 Spd (A)','Transmission'), - (2803,1,'Stock Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 4V',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock 4V IM','Intake Manifold'), - (2804,1,'Dual Quad Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 2x4',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock 2x4 IM','Intake Manifold'), - (2805,1,'Supercharger Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock Blown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Supercharger IM','Intake Manifold'), - (2806,13,'3x2V Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2 Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 3x2 IM','Intake Manifold'), - (2807,13,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 4V Aluminum IM','Intake Manifold'), - (2808,13,'Aluminum Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimum Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Edelbrock Y Block 4V Aluminum Single','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2809,38,'3x2V Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'3x2V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block 3x2 Aluminum IM','Intake Manifold'), - (2810,38,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block Aluminum 4V IM','Intake Manifold'), - (2811,38,'Aluminum Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimum Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Offy Y Block Aluminum 4V Single IM','Intake Manifold'), - (2812,83,'Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Alumimun',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Aluminum 4V IM','Intake Manifold'), - (2813,83,'Special Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'4V Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Special 4V IM','Intake Manifold'), - (2814,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Lightning 4V Single IM','Intake Manifold'), - (2815,83,'HiBoy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'HiBoy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block HiBoy Tunnel Ram IM','Intake Manifold'), - (2816,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Midget Tunnel Ram IM','Intake Manifold'), - (2817,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Tunnel Ram IM','Intake Manifold'), - (2818,1,'Factory Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Factory Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Factory Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2819,83,'Free Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Free Flow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Free Flow EM','Exhaust Manifold'), - (2820,83,'Free Flow Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Free Flow Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Free Flow Aluminum EM','Exhaust Manifold'), - (2821,83,'Street King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Street King Small Headers','Exhaust Manifold'), - (2822,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Small Headers','Exhaust Manifold'), - (2823,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Track King Large Headers','Exhaust Manifold'), - (2824,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Air Stream EM','Exhaust Manifold'), - (2825,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Air Stream Aluminum EM','Exhaust Manifold'), - (2826,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Y Block Super Stream Large Headers','Exhaust Manifold'), - (2827,83,'Street King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Street King Solid Valvetrain','Valve Train'), - (2828,83,'Strip King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Strip King Solid Valvetrain','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2829,83,'Race Pro Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Pro Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Y Block Race Pro Roller Valvetrain','Valve Train'), - (2830,84,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Y Block Speed Lifter Solid Valvetrain','Valve Train'), - (2831,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Y Block Super Lift Solid Valvetrain','Valve Train'), - (2832,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Solid Valvetrain','Valve Train'), - (2833,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Performance Solid Valvetrain','Valve Train'), - (2834,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Y Block Race Roller Valvetrain','Valve Train'), - (2835,87,'Wedge Top (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.15) Piston','Pistons'), - (2836,87,'Wedge Top (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.35) Piston','Pistons'), - (2837,87,'Wedge Top (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.4) Piston','Pistons'), - (2838,87,'Wedge Top (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.2) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2839,87,'Wedge Top (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge Top (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Wedge Top (.3) Piston','Pistons'), - (2840,86,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.1) Piston','Pistons'), - (2841,86,'Domed (.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.45) Piston','Pistons'), - (2842,86,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.2) Piston','Pistons'), - (2843,86,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.35) Piston','Pistons'), - (2844,86,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Domed (.5) Piston','Pistons'), - (2845,88,'Super 292',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block Super 292 Crankshaft','Crankshaft'), - (2846,88,'Super 312',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird Specia',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely y Block Super 312 Crankshaft','Crankshaft'), - (2847,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Marathon Crankshaft','Crankshaft'), - (2848,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Lightweight Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2849,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Champion Crankshaft','Crankshaft'), - (2851,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Stump Puller Crankshaft','Crankshaft'), - (2852,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Street Max Crankshaft','Crankshaft'), - (2853,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Super Max Crankshaft','Crankshaft'), - (2854,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Stump Puller Connecting Rods','Connecting Rods'), - (2855,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Street Max Connecting Rods','Connecting Rods'), - (2856,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Y Block Super Max Connecting Rods','Connecting Rods'), - (2857,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Marathon Connecting Rods','Connecting Rods'), - (2858,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Lightweight Connecting Rods','Connecting Rods'), - (2859,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Champion Connecting Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2860,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Y Block Legend Connecting Rods','Connecting Rods'), - (2861,88,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Y',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block Extra Y Connecting Rods','Connecting Rods'), - (2862,88,'T-Bird Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T-Bird Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Y Block T-Bird Special Connecting Rods','Connecting Rods'), - (2863,89,'Street 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 39 Camshaft','Camshaft'), - (2864,89,'Street 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 40 Camshaft','Camshaft'), - (2865,89,'Super 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 39',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 39 HP Camshaft','Camshaft'), - (2866,89,'Super 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 40',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 40 HP Camshaft','Camshaft'), - (2867,89,'Super 43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 43',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 43 HP Camshaft','Camshaft'), - (2868,89,'Super 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Super 44 HP Camshaft','Camshaft'), - (2869,89,'Ultra 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra 44',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Ultra 44 DP Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2870,89,'Ultra 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultra 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Ultra 48 DP Camshaft','Camshaft'), - (2871,89,'Street 36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 36',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Y Block Street 36 Camshaft','Camshaft'), - (2872,9,'Charger R/T',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (2873,1,'Boss 302 (10.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss 302 (10.5) 2.19/1.72 Canted CH','Cylinder Head'), - (2874,1,'TP (10.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'TP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB TP Wedge CH','Cylinder Head'), - (2875,1,'Wedge (9.0) 1.84',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (9.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB (9.0) 1.84i/1.54e Wedge CH','Cylinder Head'), - (2876,1,'70 Mustang Factory Scoop Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'70 Mustang Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 70 Mustang Factory Scoop Hood','Hood'), - (2877,90,'Big Bad AMX - AI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (2878,90,'Chevrolet Corvette - AI',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (2879,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Vortex Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2880,91,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Screamer Dual Plane IM','Intake Manifold'), - (2881,91,'Scooter Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Scooter Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Scooter Dual Plane IM','Intake Manifold'), - (2882,91,'Scooter Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Scooter Alum. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Scooter Aluminum Dual Plane IM','Intake Manifold'), - (2883,92,'Classic Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Dual Plane IM','Intake Manifold'), - (2884,92,'Street Classic Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Classic Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Street Classic Dual Plane IM','Intake Manifold'), - (2885,92,'Classic Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Single Plane IM','Intake Manifold'), - (2886,92,'Super Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Super Single Plane IM','Intake Manifold'), - (2887,91,'Vortex Ultra Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Ultra Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Vortex Ultra Light Single Plane IM','Intake Manifold'), - (2888,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Power Tower Tunnel Ram IM','Intake Manifold'), - (2889,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Ultimate Tunnel Ram IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2890,92,'Classic Low Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic Low Tunnel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic Low Rise Tunnel Ram IM','Intake Manifold'), - (2891,92,'Classic Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Classic High Tunnel',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C & B Chevy SB Classic High Rise Tunnel Ram IM','Intake Manifold'), - (2892,91,'Screamer Ultra Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Ultra Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Screamer Ultra Light Dual Plane IM','Intake Manifold'), - (2893,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Rumble Pipe Small Headers','Exhaust Manifold'), - (2894,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Street Lion Small Headers','Exhaust Manifold'), - (2895,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Window Rattler Larger Headers','Exhaust Manifold'), - (2896,92,'Masterpiece',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Masterpiece',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Masterpiece EM','Exhaust Manifold'), - (2897,92,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Blueprint EM','Exhaust Manifold'), - (2898,92,'Beach Racer Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Beach Racer Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Beach Racer Small Headers','Exhaust Manifold'), - (2899,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy SB Street Mod EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2900,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Wedge (.15) Piston','Pistons'), - (2901,41,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Wedge (.35) Piston','Pistons'), - (2902,41,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Domed (.2) Piston','Pistons'), - (2903,41,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Chevy SB Domed (.3) Piston','Pistons'), - (2904,92,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.1) Piston','Pistons'), - (2905,92,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.2) Piston','Pistons'), - (2906,92,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.3) Piston','Pistons'), - (2907,92,'Domed (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.4) Piston','Pistons'), - (2908,92,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.5) Piston','Pistons'), - (2909,92,'Domed (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.6) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2910,92,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'C&B Chevy SB Domed (.75) Piston','Pistons'), - (2911,84,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Speed Lifter Solid Valvetrain','Valve Train'), - (2912,84,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Street Plus Hydraulic Valvetrain','Valve Train'), - (2913,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy SB Premier Roller Valvetrain','Valve Train'), - (2914,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Performance Solid Valvetrain','Valve Train'), - (2915,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Performance Hydraulic Valvetrain','Valve Train'), - (2916,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy SB Race Roller Valvetrain','Valve Train'), - (2917,6,'Stock 364 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'364 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 364 DP IM','Intake Manifold'), - (2918,6,'Stock 401/425 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'401/425 Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 401/425 DP IM','Intake Manifold'), - (2919,80,'Improved Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Improved Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Improved DP IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2920,80,'Breezer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Breezer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Breezer DP IM','Intake Manifold'), - (2921,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port DP IM','Intake Manifold'), - (2922,93,'Street Port Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Alum.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port Aluminum DP IM','Intake Manifold'), - (2923,80,'Tornado Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tornado Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Tornado SP IM','Intake Manifold'), - (2924,93,'Street Port Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Buick Nailhead Street Port SP IM','Intake Manifold'), - (2925,80,'Wind Tunnel Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wind Tunnel Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Wind Tunnel SP IM','Intake Manifold'), - (2926,80,'Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Cyclone Tunnel Ram IM','Intake Manifold'), - (2927,80,'Hurricane Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hurricane Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Hurricane Tunnel Ram IM','Intake Manifold'), - (2928,80,'Super Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Cyclone Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Super Cyclone Tunnel Ram IM','Intake Manifold'), - (2929,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Performance DP IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2930,83,'Perf. Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Performance Aluminum DP IM','Intake Manifold'), - (2931,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Road Squire DP IM','Intake Manifold'), - (2932,93,'Road Squire LW Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rd. Squire Alum. Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Road Squire Aluminum SP IM','Intake Manifold'), - (2933,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Centurion DP IM','Intake Manifold'), - (2934,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Street Knight SP IM','Intake Manifold'), - (2935,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Lightning SP IM','Intake Manifold'), - (2936,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Commander SP IM','Intake Manifold'), - (2937,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Emperor Tunnel Ram IM','Intake Manifold'), - (2938,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Midget Tunnel Ram IM','Intake Manifold'), - (2939,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Strip King Tunnel Ram IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2940,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford SB Street Lord Tunnel Ram IM','Intake Manifold'), - (2941,41,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed (.3) Piston','Pistons'), - (2942,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Domed (.75) Piston','Pistons'), - (2943,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.5) Piston','Pistons'), - (2944,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.15) Piston','Pistons'), - (2945,41,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford SB Wedge (.4) Piston','Pistons'), - (2946,86,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.2) Piston','Pistons'), - (2947,86,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.35) Piston','Pistons'), - (2948,86,'Domed (.65)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.65)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Domed (.65) Piston','Pistons'), - (2949,87,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Wedge (.3) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2950,87,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Wedge (.6) Piston','Pistons'), - (2951,87,'Recessed (-.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.45)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Recessed (-.45) Piston','Pistons'), - (2952,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Recessed (-.25) Piston','Pistons'), - (2953,86,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Recessed (-.15) Piston','Pistons'), - (2954,86,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Domed (.3) Piston','Pistons'), - (2955,87,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Domed (.25) Piston','Pistons'), - (2956,86,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Domed (.5) Piston','Pistons'), - (2957,86,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Wedge (.25) Piston','Pistons'), - (2958,87,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Wedge (.35) Piston','Pistons'), - (2959,86,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Wedge (.15) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2960,87,'Recessed (-.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Recessed (-.2) Piston','Pistons'), - (2961,86,'Recessed (-.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.1)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Recessed (-.1) Piston','Pistons'), - (2962,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Recessed (-.25) Piston','Pistons'), - (2963,86,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Recessed (-.35) Piston','Pistons'), - (2964,86,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Flat Top Piston','Pistons'), - (2965,87,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Flat Top Piston','Pistons'), - (2966,88,'Century Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Century Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Century Special Rods','Connecting Rods'), - (2967,88,'Riviera Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Riviera Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Riviera Special Rods','Connecting Rods'), - (2968,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Champion Rods','Connecting Rods'), - (2969,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Legend Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2970,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Lightweight Rods','Connecting Rods'), - (2971,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Marathon Rods','Connecting Rods'), - (2972,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Stump Puller Rods','Connecting Rods'), - (2973,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Street Max Rods','Connecting Rods'), - (2974,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Super Max Rods','Connecting Rods'), - (2975,88,'T351 Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'T351 Billet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Ford SB T351 Billet Rods','Connecting Rods'), - (2976,88,'Power I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power I',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Ford SB Power I Rods','Connecting Rods'), - (2977,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford SB Champion Crankshaft','Crankshaft'), - (2978,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Super Max Crankshaft','Crankshaft'), - (2979,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford SB Street Max Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2980,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Stump Puller Crankshaft','Crankshaft'), - (2981,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Super Max Crankshaft','Crankshaft'), - (2982,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Buick Nailhead Street Max Crankshaft','Crankshaft'), - (2983,88,'Super 300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 300',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Super 300 Crankshaft','Crankshaft'), - (2984,88,'Super 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Buick Nailhead Super 400 Crankshaft','Crankshaft'), - (2985,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Champion Crankshaft','Crankshaft'), - (2986,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Lightweight Crankshaft','Crankshaft'), - (2987,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Buick Nailhead Marathon Crankshaft','Crankshaft'), - (2988,84,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Super Lift VT','Valve Train'), - (2989,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Performance Hydraulic VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (2990,80,'Craftsmith Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Roller VT','Valve Train'), - (2991,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Race Roller VT','Valve Train'), - (2992,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Buick Nailhead Solid VT','Valve Train'), - (2993,84,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Buick Nailhead Speed Lift VT','Valve Train'), - (2994,80,'Craftsmith Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Hydraulic VT','Valve Train'), - (2995,80,'Craftsmith Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Craftsmith Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Craftsmith Solid VT','Valve Train'), - (2996,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Street King VT','Valve Train'), - (2997,83,'Strip King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Strip King VT','Valve Train'), - (2998,84,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford SB Speed Lift VT','Valve Train'), - (2999,84,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford SB Super Lift VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3000,85,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Solid VT','Valve Train'), - (3001,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Performance Hydraulic VT','Valve Train'), - (3002,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Ford SB Race Roller VT','Valve Train'), - (3003,90,'AI 57 Vette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3004,90,'AI 69 Runner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3005,90,'AI 1964 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3006,90,'AI 1949 Mercury Mod Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3007,90,'AI 1966 Shelby Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3008,1,'AI 70 Mustang',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3009,3,'AI Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3010,1,'AI 1953 Ford Crestline',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3011,3,'AI 1958 Chevy Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3012,3,'AI Chevy Bel Air',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3013,3,'AI 1955 Chevy Buick Century',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3014,90,'AI 1967 Chevy Chevelle SS',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3015,1,'AI 1970 Ford Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3016,10,'AI 1970 Plymouth Mod Cuda',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3017,4,'AI 1947 Cadillac Series 62',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3018,3,'AI 1957 Chevy Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3019,89,'Street 45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 45',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 45 Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3020,89,'Street 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 47 Camshaft','Camshaft'), - (3021,89,'Street 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street 48',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Street 48','Camshaft'), - (3022,89,'Super 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 47',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Super 47 Camshaft','Camshaft'), - (3023,89,'Super 49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 49',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Fyne Grind Buick Nailhead Super 49 Camshaft','Camshaft'), - (3024,6,'Stock 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 401',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 401 Camshaft','Camshaft'), - (3025,6,'Stock 425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock 425',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock 425 Camshaft','Camshaft'), - (3026,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Interceptor EM','Exhaust Manifold'), - (3027,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford SB Super Stream Large Headers','Exhaust Manifold'), - (3028,80,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Street Headers','Exhaust Manifold'), - (3029,80,'Performance Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3030,80,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Lightweight EM','Exhaust Manifold'), - (3031,80,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dunbar Buick Nailhead Performance EM','Exhaust Manifold'), - (3032,83,'Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Police Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford SB Police Special EM','Exhaust Manifold'), - (3033,76,'245/50/16ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 245/50/16ZR SCUT','Tires'), - (3034,76,'225/60/16ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 225/60/16ZR SCUT','Tires'), - (3035,76,'245/45/17ZR SCUT',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Panteli 245/45/17ZR SCUT','Tires'), - (3036,94,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Street Dual Plane IM','Intake Manifold'), - (3037,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Stocker Dual Plane IM','Intake Manifold'), - (3038,94,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Street Single Plane IM','Intake Manifold'), - (3039,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Stocker Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3040,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Super Stocker Single Plane IM','Intake Manifold'), - (3041,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Intimidator Tunnel Ram','Intake Manifold'), - (3042,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Bighorn Tunnel Ram','Intake Manifold'), - (3043,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chrysler SB Centurion Dual Plane IM','Intake Manifold'), - (3044,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chrysler SB Commander Single Plane IM','Intake Manifold'), - (3045,86,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.3) Piston','Pistons'), - (3046,86,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.5) Piston','Pistons'), - (3047,86,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Wedge (.75) Piston','Pistons'), - (3048,87,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Wedge (1.0) Piston','Pistons'), - (3049,87,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Wedge (.25) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3050,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.75) Piston','Pistons'), - (3051,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.5) Piston','Pistons'), - (3052,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Recessed (-.25) Piston','Pistons'), - (3053,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Recessed (-.6) Piston','Pistons'), - (3054,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Recessed (-.3) Piston','Pistons'), - (3055,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (.25) Piston','Pistons'), - (3056,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (.75) Piston','Pistons'), - (3057,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (1.0) Piston','Pistons'), - (3058,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler SB Domed (1.25) Piston','Pistons'), - (3059,87,'Flat Top Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flat Top Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Flat Top Lightweight Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3060,95,'Replica',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Replica',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Replica Rods','Connecting Rods'), - (3061,95,'Replica Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Replica Street Racer',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Replica Street Racer Rods','Connecting Rods'), - (3062,95,'Factory Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Factory Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Factory Lightweight Rods','Connecting Rods'), - (3063,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Marathon Rods','Connecting Rods'), - (3064,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler SB Street Max Rods','Connecting Rods'), - (3065,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Lightweight Rods','Connecting Rods'), - (3066,88,'Super 340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super 340',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Chrysler SB Super 340 Crankshaft','Crankshaft'), - (3067,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Lightweight Crankshaft','Crankshaft'), - (3068,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler SB Marathon Crankshaft','Crankshaft'), - (3069,95,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Percy Chrysler SB Lightweight Crankshaft','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3070,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler SB Premier Roller VT','Valve Train'), - (3071,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler SB Super Lift Solid VT','Valve Train'), - (3072,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chrysler SB Race Roller VT','Valve Train'), - (3073,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Air Stream EM','Exhaust Manifold'), - (3074,94,'LA Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LA Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB LA Street EM','Exhaust Manifold'), - (3075,94,'Performance LA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance LA',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Performance LA HP EM','Exhaust Manifold'), - (3076,94,'LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB LA Small Headers','Exhaust Manifold'), - (3077,94,'Super LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super LA Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler SB Super LA Large Headers','Exhaust Manifold'), - (3078,82,'Double Demon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Double Demon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Double Demon HP EM','Exhaust Manifold'), - (3079,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler SB Super Stream Large Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3080,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Emperor Tunnel Ram','Intake Manifold'), - (3081,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Street Lord Tunnel Ram','Intake Manifold'), - (3082,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Crusader Tunnel Ram','Intake Manifold'), - (3083,93,'Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Assassin Single Plane IM','Intake Manifold'), - (3084,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Street Knight Single Plane IM','Intake Manifold'), - (3085,93,'Super Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Pontiac Super Centurion Dual Plane IM','Intake Manifold'), - (3086,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Recessed (-.3) Piston','Pistons'), - (3087,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Recessed (-.6) Piston','Pistons'), - (3088,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.75) Piston','Pistons'), - (3089,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3090,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Recessed (-.25) Piston','Pistons'), - (3091,86,'Wedge (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.2)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.2) Piston','Pistons'), - (3092,87,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.4)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Wedge (.4) Piston','Pistons'), - (3093,86,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.6) Piston','Pistons'), - (3094,86,'Wedge (.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.8)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Wedge (.8) Piston','Pistons'), - (3095,87,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Pontiac Wedge (1.0) Piston','Pistons'), - (3096,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.25) Piston','Pistons'), - (3097,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.5) Piston','Pistons'), - (3098,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (.75) Piston','Pistons'), - (3099,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (1.0) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3100,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Pontiac Domed (1.25) Piston','Pistons'), - (3101,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Champion Rods','Connecting Rods'), - (3102,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Lightweight Rods','Connecting Rods'), - (3103,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Marathon Rods','Connecting Rods'), - (3104,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Lightweight Crankshaft','Crankshaft'), - (3105,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Pontiac Marathon Crankshaft','Crankshaft'), - (3106,88,'SD Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SD Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hedgely Pontiac SD Special Crankshaft','Crankshaft'), - (3107,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Pontiac Premier Roller VT','Valve Train'), - (3108,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Pontiac Race Roller VT','Valve Train'), - (3109,82,'Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Airstream EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3110,82,'Aluminum Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Airstream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Aluminum Airstream EM','Exhaust Manifold'), - (3111,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Jet Stream Headers','Exhaust Manifold'), - (3112,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Pontiac Super Stream Headers','Exhaust Manifold'), - (3113,91,'Screamer Ultra Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Ultra Light Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Screamer Ultra Light DP IM','Intake Manifold'), - (3114,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Vortex SP IM','Intake Manifold'), - (3115,91,'Vortex Ultra Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Ultra Light Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Vortex Ultra Light SP IM','Intake Manifold'), - (3116,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rad Chevy BB Power Tower Tunnel Ram','Intake Manifold'), - (3117,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Ultimate Tunnel Ram','Intake Manifold'), - (3118,41,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.15) Piston','Pistons'), - (3119,41,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.25) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3120,41,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.35) Piston','Pistons'), - (3121,41,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.5) Piston','Pistons'), - (3122,41,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Recessed (-.75) Piston','Pistons'), - (3123,41,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.35)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.35) Piston','Pistons'), - (3124,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.5) Piston','Pistons'), - (3125,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (.75) Piston','Pistons'), - (3126,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Wedge (1.0) Piston','Pistons'), - (3127,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (.25) Piston','Pistons'), - (3128,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (.75) Piston','Pistons'), - (3129,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (1.0) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3130,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy BB Domed (1.25) Piston','Pistons'), - (3131,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Stump Puller Rods','Connecting Rods'), - (3132,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Street Max Rods','Connecting Rods'), - (3133,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford Cleveland Super Max Rods','Connecting Rods'), - (3134,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Lightweight Rods','Connecting Rods'), - (3135,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Marathon Rods','Connecting Rods'), - (3136,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford Cleveland Legend Rods','Connecting Rods'), - (3137,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Stump Puller Rods','Connecting Rods'), - (3138,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Street Max Rods','Connecting Rods'), - (3139,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Super Max Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3140,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Lightweight Rods','Connecting Rods'), - (3141,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Marathon Rods','Connecting Rods'), - (3142,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Legend Rods','Connecting Rods'), - (3143,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Champion Rods','Connecting Rods'), - (3144,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Lightweight Rods','Connecting Rods'), - (3145,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Marathon Rods','Connecting Rods'), - (3146,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Legend Rods','Connecting Rods'), - (3147,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Champion Rods','Connecting Rods'), - (3148,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Lightweight Rods','Connecting Rods'), - (3149,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Marathon Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3150,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Legend Rods','Connecting Rods'), - (3151,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Stump Puller Rods','Connecting Rods'), - (3152,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Street Max Rods','Connecting Rods'), - (3153,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Super Max Rods','Connecting Rods'), - (3154,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Contender Rods','Connecting Rods'), - (3155,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Champion Rods','Connecting Rods'), - (3156,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Lightweight Rods','Connecting Rods'), - (3157,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Marathon Rods','Connecting Rods'), - (3158,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Legend Rods','Connecting Rods'), - (3159,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Stump Puller Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3160,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Street Max Rods','Connecting Rods'), - (3161,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Super Max Rods','Connecting Rods'), - (3162,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Stump Puller Rods','Connecting Rods'), - (3163,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Street Max Rods','Connecting Rods'), - (3164,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Super Max Rods','Connecting Rods'), - (3165,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Contender Rods','Connecting Rods'), - (3166,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Champion Rods','Connecting Rods'), - (3167,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Lightweight Rods','Connecting Rods'), - (3168,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Marathon Rods','Connecting Rods'), - (3169,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Legend Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3170,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Contender Rods','Connecting Rods'), - (3171,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Champion Rods','Connecting Rods'), - (3172,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Lightweight Rods','Connecting Rods'), - (3173,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Marathon Rods','Connecting Rods'), - (3174,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Legend Rods','Connecting Rods'), - (3175,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Stump Puller Rods','Connecting Rods'), - (3176,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Street Max Rods','Connecting Rods'), - (3177,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Super Max Rods','Connecting Rods'), - (3178,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Contender Rods','Connecting Rods'), - (3179,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Champion Rods','Connecting Rods'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3180,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Lightweight Rods','Connecting Rods'), - (3181,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrylser BB Marathon Rods','Connecting Rods'), - (3182,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Legend Rods','Connecting Rods'), - (3183,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Contender Rods','Connecting Rods'), - (3184,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Champion Rods','Connecting Rods'), - (3185,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Lightweight Rods','Connecting Rods'), - (3186,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Marathon Rods','Connecting Rods'), - (3187,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Legend Rods','Connecting Rods'), - (3188,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Air Stream EM','Exhaust Manifold'), - (3189,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Air Stream Aluminum EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3190,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Super Stream Headers','Exhaust Manifold'), - (3191,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cleveland Street King HP EM','Exhaust Manifold'), - (3192,83,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Interceptor EM','Exhaust Manifold'), - (3193,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Strip King Headers','Exhaust Manifold'), - (3194,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Headers','Exhaust Manifold'), - (3195,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Super Stream Headers','Exhaust Manifold'), - (3196,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Jet Stream Headers','Exhaust Manifold'), - (3197,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Interceptor EM','Exhaust Manifold'), - (3198,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Headers','Exhaust Manifold'), - (3199,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3200,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Street King EM','Exhaust Manifold'), - (3201,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford 385 Air Stream EM','Exhaust Manifold'), - (3202,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Air Stream EM','Exhaust Manifold'), - (3203,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Air Stream Aluminum EM','Exhaust Manifold'), - (3204,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Hemi Super Stream Headers','Exhaust Manifold'), - (3205,94,'Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Street EM','Exhaust Manifold'), - (3206,94,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance EM','Exhaust Manifold'), - (3207,94,'Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Hemi Headers','Exhaust Manifold'), - (3208,94,'Super Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Hemi Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Hemi Headers','Exhaust Manifold'), - (3209,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Air Stream EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3210,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Air Stream Aluminum EM','Exhaust Manifold'), - (3211,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Interceptor EM','Exhaust Manifold'), - (3212,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Cadillac BB Super Stream Headers','Exhaust Manifold'), - (3213,79,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Street Headers','Exhaust Manifold'), - (3214,79,'Rad Cad Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Cad Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Rad Cad Headers','Exhaust Manifold'), - (3215,79,'High Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'High Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB HP EM','Exhaust Manifold'), - (3216,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Street Mod EM','Exhaust Manifold'), - (3217,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Rumble Pipe Headers','Exhaust Manifold'), - (3218,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Street Lion Headers','Exhaust Manifold'), - (3219,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Window Rattler Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3220,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Super Stream Headers','Exhaust Manifold'), - (3221,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Jet Stream Headers','Exhaust Manifold'), - (3222,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Interceptor EM','Exhaust Manifold'), - (3223,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy W Air Stream EM','Exhaust Manifold'), - (3224,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Air Stream EM','Exhaust Manifold'), - (3225,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Air Stream Aluminum EM','Exhaust Manifold'), - (3226,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Interceptor EM','Exhaust Manifold'), - (3227,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker AMC Super Stream Headers','Exhaust Manifold'), - (3228,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Stalker HP EM','Exhaust Manifold'), - (3229,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Hunter Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3230,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Predator Headers','Exhaust Manifold'), - (3231,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Air Stream EM','Exhaust Manifold'), - (3232,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Air Stream Aluminum EM','Exhaust Manifold'), - (3233,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Interceptor EM','Exhaust Manifold'), - (3234,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Olds BB Super Stream Headers','Exhaust Manifold'), - (3235,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Stalker HP EM','Exhaust Manifold'), - (3236,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Hunter Headers','Exhaust Manifold'), - (3237,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Olds BB Predator Headers','Exhaust Manifold'), - (3238,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Air Stream EM','Exhaust Manifold'), - (3239,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Air Stream Aluminum EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3240,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Interceptor EM','Exhaust Manifold'), - (3241,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Jet Stream Headers','Exhaust Manifold'), - (3242,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chrysler BB Super Stream Headers','Exhaust Manifold'), - (3243,96,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker HP',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Stalker HP EM','Exhaust Manifold'), - (3244,96,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Hunter Headers','Exhaust Manifold'), - (3245,96,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark Chrysler BB Predator Headers','Exhaust Manifold'), - (3246,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Air Stream EM','Exhaust Manifold'), - (3247,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Air Stream Aluminum EM','Exhaust Manifold'), - (3248,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Interceptor EM','Exhaust Manifold'), - (3249,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Jet Stream Headers','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3250,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Ford BB Super Stream Headers','Exhaust Manifold'), - (3251,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Street King EM','Exhaust Manifold'), - (3252,83,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Headers','Exhaust Manifold'), - (3253,83,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Track King Headers','Exhaust Manifold'), - (3254,82,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Air Stream EM','Exhaust Manifold'), - (3255,82,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Air Stream Aluminum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Air Stream Aluminum EM','Exhaust Manifold'), - (3256,82,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Interceptor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Interceptor EM','Exhaust Manifold'), - (3257,82,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Jet Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Jet Stream Headers','Exhaust Manifold'), - (3258,82,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stream Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quaker Chevy BB Super Stream Headers','Exhaust Manifold'), - (3259,91,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Mod',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Street Mod EM','Exhaust Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3260,91,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rumble Pipe Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Rumble Pipe Headers','Exhaust Manifold'), - (3261,91,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lion Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Street Lion Headers','Exhaust Manifold'), - (3262,91,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Window Rattler Headers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy BB Window Rattler Headers','Exhaust Manifold'), - (3263,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lifter Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Speed Lifter Solid VT','Valve Train'), - (3264,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Super Lift Solid VT','Valve Train'), - (3265,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cleveland Premier Roller VT','Valve Train'), - (3266,83,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Strip King Roller VT','Valve Train'), - (3267,83,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Roller VT','Valve Train'), - (3268,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Speed Lift Solid VT','Valve Train'), - (3269,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Super Lift Solid VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3270,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Ford 385 Premier Roller VT','Valve Train'), - (3271,83,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Roller VT','Valve Train'), - (3272,83,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Roller VT','Valve Train'), - (3273,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Speed Lift Solid VT','Valve Train'), - (3274,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Super Lift Solid VT','Valve Train'), - (3275,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Speed Lift Hydraulic VT','Valve Train'), - (3276,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Hemi Premier Roller VT','Valve Train'), - (3277,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Hemi Race Roller VT','Valve Train'), - (3278,84,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Plus Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Street Plus Hydraulic VT','Valve Train'), - (3279,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Speed Lift Hydraulic VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3280,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Speed Lift Solid VT','Valve Train'), - (3281,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Super Lift Solid VT','Valve Train'), - (3282,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Cadillac BB Premier Roller VT','Valve Train'), - (3283,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Performance Hydraulic VT','Valve Train'), - (3284,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Performance Solid VT','Valve Train'), - (3285,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Cadillac BB Race Roller','Valve Train'), - (3286,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Speed Lift Hydraulic VT','Valve Train'), - (3287,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Speed Lift Solid VT','Valve Train'), - (3288,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy W Super Lift Solid VT','Valve Train'), - (3289,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Millloy Chevy W Premier Roller VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3290,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Performance Hydraulic VT','Valve Train'), - (3291,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Performance Solid VT','Valve Train'), - (3292,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy W Race Roller VT','Valve Train'), - (3293,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Speed Lift Hydraulic VT','Valve Train'), - (3294,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Speed Lift Solid VT','Valve Train'), - (3295,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Super Lift Solid VT','Valve Train'), - (3296,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy AMC Premier Roller VT','Valve Train'), - (3297,85,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Performance Hydraulic VT','Valve Train'), - (3298,85,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Performance Solid VT','Valve Train'), - (3299,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift AMC Race Roller VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3300,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Speed Lift Hydraulic VT','Valve Train'), - (3301,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Speed Lift Solid VT','Valve Train'), - (3302,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Super Lift Solid VT','Valve Train'), - (3303,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Olds BB Premier Roller VT','Valve Train'), - (3304,84,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Hydraulic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Speed Lift Hydraulic VT','Valve Train'), - (3305,84,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Speed Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Speed Lift Solid VT','Valve Train'), - (3306,84,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Lift Solid',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Super Lift Solid VT','Valve Train'), - (3307,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chrysler BB Premier Roller VT','Valve Train'), - (3308,84,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Premier Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Milloy Chevy BB Premier Roller VT','Valve Train'), - (3309,85,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Race Roller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Quik Lift Chevy BB Race Roller VT','Valve Train'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3310,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Stump Puller Crank','Crankshaft'), - (3311,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Street Max Crank','Crankshaft'), - (3312,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Super Max Crank','Crankshaft'), - (3313,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Contender Crank','Crankshaft'), - (3314,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Champion Crank','Crankshaft'), - (3315,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Lightweight Crank','Crankshaft'), - (3316,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Marathon Crank','Crankshaft'), - (3317,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Legend Crank','Crankshaft'), - (3318,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Stump Puller Crank','Crankshaft'), - (3319,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Street Max Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3320,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Super Max Crank','Crankshaft'), - (3321,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Contender Crank','Crankshaft'), - (3322,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Champion Crank','Crankshaft'), - (3323,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Lightweight Crank','Crankshaft'), - (3324,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Marathon Crank','Crankshaft'), - (3325,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Legend Crank','Crankshaft'), - (3326,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Stump Puller Crank','Crankshaft'), - (3327,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Street Max Crank','Crankshaft'), - (3328,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Super Max Crank','Crankshaft'), - (3329,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Contender Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3330,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Champion Crank','Crankshaft'), - (3331,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Lighweight Crank','Crankshaft'), - (3332,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Marathon Crank','Crankshaft'), - (3333,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Legend Crank','Crankshaft'), - (3334,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Stump Puller Crank','Crankshaft'), - (3335,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Street Max Crank','Crankshaft'), - (3336,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nerwcomb Cadillac BB Super Max Crank','Crankshaft'), - (3337,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Contender Crank','Crankshaft'), - (3338,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Champion Crank','Crankshaft'), - (3339,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Lightweight Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3340,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Marathon Crank','Crankshaft'), - (3341,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Legend Crank','Crankshaft'), - (3342,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Stump Puller Crank','Crankshaft'), - (3343,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Street Max Crank','Crankshaft'), - (3344,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Super Max Crank','Crankshaft'), - (3345,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Contender Crank','Crankshaft'), - (3346,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Champion Crank','Crankshaft'), - (3347,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Lightweight Crank','Crankshaft'), - (3348,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Marathon Crank','Crankshaft'), - (3349,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Legend Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3350,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Stump Puller Crank','Crankshaft'), - (3351,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Street Max Crank','Crankshaft'), - (3352,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Super Max Crank','Crankshaft'), - (3353,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Contender Crank','Crankshaft'), - (3354,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Champion Crank','Crankshaft'), - (3355,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Lightweight Crank','Crankshaft'), - (3356,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Marathon Crank','Crankshaft'), - (3357,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Legend Crank','Crankshaft'), - (3358,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Stump Puller Crank','Crankshaft'), - (3359,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Street Max Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3360,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Super Max Crank','Crankshaft'), - (3361,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Contender Crank','Crankshaft'), - (3362,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Champion Crank','Crankshaft'), - (3363,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Lightweight Crank','Crankshaft'), - (3364,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Marathon Crank','Crankshaft'), - (3365,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Legend Crank','Crankshaft'), - (3366,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Stump Puller Crank','Crankshaft'), - (3367,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Street Max Crank','Crankshaft'), - (3368,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Super Max Crank','Crankshaft'), - (3369,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Contender Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3370,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Champion Crank','Crankshaft'), - (3371,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Lightweight Crank','Crankshaft'), - (3372,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Marathon Crank','Crankshaft'), - (3373,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Legend Crank','Crankshaft'), - (3374,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Stump Puller Crank','Crankshaft'), - (3375,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Street Max Crank','Crankshaft'), - (3376,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Super Max Crank','Crankshaft'), - (3377,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Contender Crank','Crankshaft'), - (3378,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Champion Crank','Crankshaft'), - (3379,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Lightweight Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3380,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Marathon Crank','Crankshaft'), - (3381,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Legend Crank','Crankshaft'), - (3382,87,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stump Puller',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Stump Puller Crank','Crankshaft'), - (3383,87,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Street Max Crank','Crankshaft'), - (3384,87,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Max',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy BB Super Max Crank','Crankshaft'), - (3385,86,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Contender',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Contender Crank','Crankshaft'), - (3386,86,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Champion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Champion Crank','Crankshaft'), - (3387,86,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightweight',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Lightweight Crank','Crankshaft'), - (3388,86,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Marathon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Marathon Crank','Crankshaft'), - (3389,86,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Legend',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy BB Legend Crank','Crankshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3390,83,'Strip King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Dual Plane IM','Intake Manifold'), - (3391,83,'Street King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Street King Dual Plane IM','Intake Manifold'), - (3392,83,'Strip King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Single Plane IM','Intake Manifold'), - (3393,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Midget Tunnel Ram','Intake Manifold'), - (3394,83,'Hiboy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hiboy Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Hiboy Tunnel Ram','Intake Manifold'), - (3395,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford BB Strip King Tunnel Ram','Intake Manifold'), - (3396,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Bighorn Tunnel Ram','Intake Manifold'), - (3397,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Intimidator Tunnel Ram','Intake Manifold'), - (3398,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Super Stocker Single Plane IM','Intake Manifold'), - (3399,94,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Super Stocker Dual Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3400,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Stocker Dual Plane IM','Intake Manifold'), - (3401,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Stocker Single Plane IM','Intake Manifold'), - (3402,94,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Street Single Plane IM','Intake Manifold'), - (3403,94,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Chrysler BB Street Dual Plane IM','Intake Manifold'), - (3404,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Road Squire Dual Plane IM','Intake Manifold'), - (3405,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Street Port Dual Plane IM','Intake Manifold'), - (3406,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Usurper Dual Plane IM','Intake Manifold'), - (3407,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Centurion Single Plane IM','Intake Manifold'), - (3408,93,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Commander Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Commander Single Plane IM','Intake Manifold'), - (3409,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Track Assassin Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3410,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Street Lord Tunnel Ram','Intake Manifold'), - (3411,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Crusader Tunnel Ram','Intake Manifold'), - (3412,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Olds BB Emperor Tunnel Ram','Intake Manifold'), - (3413,91,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Screamer Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Screamer Dual Plane IM','Intake Manifold'), - (3414,91,'Banshee Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Banshee Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Banshee Dual Plane IM','Intake Manifold'), - (3415,91,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vortex Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Vortex Single Plane IM','Intake Manifold'), - (3416,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Usurper Dual Plane IM','Intake Manifold'), - (3417,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Centurion Single Plane','Intake Manifold'), - (3418,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Track Assassin Single Plane IM','Intake Manifold'), - (3419,91,'Banshee Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Banshee Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Banshee Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3420,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Street Lord Tunnel Ram','Intake Manifold'), - (3421,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Chevy W Emperor Tunnel Ram','Intake Manifold'), - (3422,91,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Power Tower Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Power Tower Tunnel Ram','Intake Manifold'), - (3423,91,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ultimate Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Rad Rat Chevy W Ultimate Tunnel Ram','Intake Manifold'), - (3424,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Track Assassin Single Plane IM','Intake Manifold'), - (3425,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Street Knight Single Plane IM','Intake Manifold'), - (3426,96,'Hunter Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Hunter Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Hunter Single Plane IM','Intake Manifold'), - (3427,96,'Predator Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Predator Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Predator Dual Plane IM','Intake Manifold'), - (3428,96,'Stalker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stalker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Stalker Dual Plane','Intake Manifold'), - (3429,96,'Tiger Shark Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Tiger Shark Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Shark AMC Tiger Shark Tunnel Ram','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3430,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Street Lord Tunnel Ram','Intake Manifold'), - (3431,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Crusader Tunnel Ram','Intake Manifold'), - (3432,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port AMC Emperor Tunnel Ram','Intake Manifold'), - (3433,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Road Squire Dual Plane IM','Intake Manifold'), - (3434,93,'Road Squire LW Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Road Aquire Aluminum Dual Plane IM','Intake Manifold'), - (3435,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Port Dual Plane IM','Intake Manifold'), - (3436,93,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Centurion Dual Plane IM','Intake Manifold'), - (3437,93,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Usurper Dual Plane IM','Intake Manifold'), - (3438,93,'Street Lord Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Lord Dual Plane IM','Intake Manifold'), - (3439,93,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Knight Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Knight Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3440,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Centurion Single Plane IM','Intake Manifold'), - (3441,93,'Super Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Super Centurion Single Plane IM','Intake Manifold'), - (3442,93,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track Assassin Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Track Assassin Single Plane IM','Intake Manifold'), - (3443,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Street Lord Tunnel Ram','Intake Manifold'), - (3444,93,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crusader Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Crusader Tunnel Ram','Intake Manifold'), - (3445,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Emperor Tunnel Ram','Intake Manifold'), - (3446,93,'Usurper Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Usurper Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cadillac BB Usurper Tunnel Ram','Intake Manifold'), - (3447,94,'Perf. Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Street Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance Street DP IM','Intake Manifold'), - (3448,94,'Perf. Alum. Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Street Aluminum Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performance Street Aluminum Dual Plane IM','Intake Manifold'), - (3449,94,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Dual Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3450,94,'Stocker Light Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Lightweight Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Lightweight Dual Plane IM','Intake Manifold'), - (3451,94,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Stocker Dual Plane IM','Intake Manifold'), - (3452,94,'Perf. Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performace Street Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Performace Street Single Plane IM','Intake Manifold'), - (3453,94,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Stocker Single Plane IM','Intake Manifold'), - (3454,94,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Stocker Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Super Stocker Single Plane IM','Intake Manifold'), - (3455,94,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Intimidator Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Intimidator Tunnel Ram','Intake Manifold'), - (3456,94,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Bighorn Tunnel Ram','Intake Manifold'), - (3457,93,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Road Squire Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Road Squire Dual Plane IM','Intake Manifold'), - (3458,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Performance Dual Plane IM','Intake Manifold'), - (3459,83,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Lightning Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Lightning Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3460,83,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Dual Plane IM','Intake Manifold'), - (3461,83,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Strip King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Strip King Tunnel Ram','Intake Manifold'), - (3462,83,'Track King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Track King Tunnel Ram','Intake Manifold'), - (3463,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Centurion Single Plane IM','Intake Manifold'), - (3464,93,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Lord Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Street Lord Tunnel Ram','Intake Manifold'), - (3465,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Ford 385 Emperor Tunnel Ram','Intake Manifold'), - (3466,93,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street Port Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Street Port Dual Plane IM','Intake Manifold'), - (3467,93,'Emperor Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Dual Plane IM','Intake Manifold'), - (3468,93,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Centurion Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Centurion Single Plane IM','Intake Manifold'), - (3469,93,'Emperor Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Single Plane IM','Intake Manifold'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3470,93,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Emperor Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perfect Port Cleveland Emperor Tunnel Ram','Intake Manifold'), - (3471,83,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Performance Dual Plane IM','Intake Manifold'), - (3472,83,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Dual Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Dual Plane IM','Intake Manifold'), - (3473,83,'Performance Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Performance Single Plane IM','Intake Manifold'), - (3474,83,'Track King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Track King Single Plane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Track King Single Plane IM','Intake Manifold'), - (3475,83,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Midget Tunnel Ram',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Midget Tunnel Ram','Intake Manifold'), - (3476,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Recessed (-.3) Piston','Pistons'), - (3477,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford BB Recessed (-.6) Piston','Pistons'), - (3478,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.25) Piston','Pistons'), - (3479,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3480,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford BB Recessed (-.75) Piston','Pistons'), - (3481,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.15) Piston','Pistons'), - (3482,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.25) Piston','Pistons'), - (3483,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (.5) Piston','Pistons'), - (3484,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge 9.75) Piston','Pistons'), - (3485,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Wedge (1.0) Piston','Pistons'), - (3486,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (.25) Piston','Pistons'), - (3488,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (.75) Piston','Pistons'), - (3489,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (1.0) Piston','Pistons'), - (3490,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford BB Domed (1.25) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3491,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Recessed (-.3) Piston','Pistons'), - (3492,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chrysler BB Recessed (-.6) Piston','Pistons'), - (3493,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.25) Piston','Pistons'), - (3494,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.5) Piston','Pistons'), - (3495,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chrysler BB Recessed (-.75) Piston','Pistons'), - (3496,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.15) Piston','Pistons'), - (3497,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.5) Piston','Pistons'), - (3498,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (.75) Piston','Pistons'), - (3499,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Wedge (1.0) Piston','Pistons'), - (3500,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (.25) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3501,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (.75) Piston','Pistons'), - (3502,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (1.0) Piston','Pistons'), - (3503,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chrysler BB Domed (1.25) Piston','Pistons'), - (3504,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Recessed (-.3) Piston','Pistons'), - (3505,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Olds BB Recessed (-.6) Piston','Pistons'), - (3506,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.25) Piston','Pistons'), - (3507,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.5) Piston','Pistons'), - (3508,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Olds BB Recessed (-.75) Piston','Pistons'), - (3509,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.15) Piston','Pistons'), - (3510,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3511,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (.75) Piston','Pistons'), - (3512,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Wedge (1.0) Piston','Pistons'), - (3513,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (.25) Piston','Pistons'), - (3514,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (.75) Piston','Pistons'), - (3515,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (1.0) Piston','Pistons'), - (3516,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Olds BB Domed (1.25) Piston','Pistons'), - (3517,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Recessed (-.3) Piston','Pistons'), - (3518,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod AMC Recessed (-.6) Piston','Pistons'), - (3519,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.25) Piston','Pistons'), - (3520,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3521,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb AMC Recessed (-.75) Piston','Pistons'), - (3522,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.15) Piston','Pistons'), - (3523,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.25) Piston','Pistons'), - (3524,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.5) Piston','Pistons'), - (3525,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (.75) Piston','Pistons'), - (3526,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Wedge (1.0) Piston','Pistons'), - (3527,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.25) Piston','Pistons'), - (3528,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.5) Piston','Pistons'), - (3529,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (.75) Piston','Pistons'), - (3530,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (1.0) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3531,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons AMC Domed (1.25) Piston','Pistons'), - (3532,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Chevy W Recessed (-.5) Piston','Pistons'), - (3533,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Recessed (-.3) Piston','Pistons'), - (3534,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Chevy W Recessed (-.6) Piston','Pistons'), - (3535,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.15) Piston','Pistons'), - (3536,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.25) Piston','Pistons'), - (3537,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.5) Piston','Pistons'), - (3538,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (.75) Piston','Pistons'), - (3539,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Wedge (1.0) Piston','Pistons'), - (3540,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (.25) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3541,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (.5 Piston','Pistons'), - (3542,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Chevy W Domed (1.25) Piston','Pistons'), - (3543,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.25) Piston','Pistons'), - (3544,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.5) Piston','Pistons'), - (3545,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cadillac BB Recessed (-.75) Piston','Pistons'), - (3546,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Recessed (-.6) Piston','Pistons'), - (3547,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cadillac BB Recessed (-.3) Piston','Pistons'), - (3548,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.25) Piston','Pistons'), - (3549,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.5) Piston','Pistons'), - (3550,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (.75) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3551,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (1.0) Piston','Pistons'), - (3552,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Domed (1.25) Piston','Pistons'), - (3553,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.15) Piston','Pistons'), - (3554,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.25) Piston','Pistons'), - (3555,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.5) Piston','Pistons'), - (3556,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (.75) Piston','Pistons'), - (3557,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cadillac BB Wedge (1.0) Piston','Pistons'), - (3558,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.25) Piston','Pistons'), - (3559,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.5) Piston','Pistons'), - (3560,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Hemi Recessed (-.75) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3561,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Recessed (-.3) Piston','Pistons'), - (3562,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Hemi Recessed (-.6) Piston','Pistons'), - (3563,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.25) Piston','Pistons'), - (3564,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.5) Piston','Pistons'), - (3565,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (.75) Piston','Pistons'), - (3566,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (1.0) Piston','Pistons'), - (3567,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Domed (1.25) Piston','Pistons'), - (3568,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.15) Piston','Pistons'), - (3569,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.25) Piston','Pistons'), - (3570,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3571,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (.75) Piston','Pistons'), - (3572,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Hemi Wedge (1.0) Piston','Pistons'), - (3573,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.25) Piston','Pistons'), - (3574,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.5) Piston','Pistons'), - (3575,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Ford 385 Recessed (-.75) Piston','Pistons'), - (3576,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Recessed (-.3) Piston','Pistons'), - (3577,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Ford 385 Recessed (-.6) Piston','Pistons'), - (3578,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.25) Piston','Pistons'), - (3579,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.5) Piston','Pistons'), - (3580,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (.75) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3581,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (1.0) Piston','Pistons'), - (3582,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Domed (1.25) Piston','Pistons'), - (3583,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.15) Piston','Pistons'), - (3584,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.25) Piston','Pistons'), - (3585,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.5) Piston','Pistons'), - (3586,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (.75) Piston','Pistons'), - (3587,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Ford 385 Wedge (1.0) Piston','Pistons'), - (3588,87,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.25) Piston','Pistons'), - (3589,87,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.5) Piston','Pistons'), - (3590,87,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Newcomb Cleveland Recessed (-.75) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3591,86,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.3)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Recessed (-.3) Piston','Pistons'), - (3592,86,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Recessed (-.6)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Duro Rod Cleveland Recessed (-.6) Piston','Pistons'), - (3593,41,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.25) Piston','Pistons'), - (3594,41,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.5) Piston','Pistons'), - (3595,41,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (.75) Piston','Pistons'), - (3596,41,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (1.0) Piston','Pistons'), - (3597,41,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Domed (1.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Domed (1.25) Piston','Pistons'), - (3598,41,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.15)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.15) Piston','Pistons'), - (3599,41,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.25)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.25) Piston','Pistons'), - (3600,41,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.5)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.5) Piston','Pistons'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3601,41,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (.75)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (.75) Piston','Pistons'), - (3602,41,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Wedge (1.0)',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'JE Pistons Cleveland Wedge (1.0) Piston','Pistons'), - (3603,3,'1957 AI Chevrolet Nomad',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3604,90,'1957 AI Ford Ranchero',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3605,7,'1966 AI Pontiac Mod GTO',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3606,1,'1932 AI Ford Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3607,1,'1940 AI Ford Coupe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3608,1,'1957 Ford Fairlane',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3609,1,'1957 AI Ford Thunderbird',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3610,1,'1964 AI Ford Galaxie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3611,1,'1969 AI Ford Torino Cobra',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3612,1,'1970 AI Ford Boss 302',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3613,3,'1964 AI Chevy Impala',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3614,3,'1970 AI Chevy Chevelle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3615,3,'1963 AI Chevy Stingray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Vehicle'), - (3616,79,'Highway Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Highway Plus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Highway Plus Camshaft','Camshaft'), - (3617,79,'Streeter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Streeter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Streeter Camshaft','Camshaft'), - (3618,79,'Racing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Racing',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Leland Cadillac BB Racing Camshaft','Camshaft'), - (3619,94,'Extra Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Extra Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Extra Stock Camshaft','Camshaft'), - (3620,94,'Blueprint Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Blueprint Classic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Blueprint Classic Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3621,83,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 New Boss Camshaft','Camshaft'), - (3622,83,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'New Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland New Boss Camshaft','Camshaft'), - (3623,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Cleveland Street King Camshaft','Camshaft'), - (3624,83,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Street King',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Oldfield Ford 385 Street King Camshaft','Camshaft'), - (3625,94,'Bighorn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Bighorn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Walter Hemi Bighorn Camshaft','Camshaft'), - (3626,97,'225/35/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/35/17ZR HP','Tires'), - (3627,97,'205/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/40/17ZR HP','Tires'), - (3628,97,'215/40/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/40/16ZR HP','Tires'), - (3629,97,'215/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/40/17ZR HP','Tires'), - (3630,97,'225/40/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/40/16ZR HP','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3631,97,'235/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 235/40/17ZR HP','Tires'), - (3632,97,'245/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/40/17ZR HP','Tires'), - (3633,97,'255/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 255/40/17ZR HP','Tires'), - (3634,97,'265/40/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 265/40/17ZR HP','Tires'), - (3635,97,'205/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/45/16ZR HP','Tires'), - (3636,97,'215/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/45/16ZR HP','Tires'), - (3637,97,'215/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/45/17ZR HP','Tires'), - (3638,97,'225/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/45/16ZR HP','Tires'), - (3639,97,'225/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/45/17ZR HP','Tires'), - (3640,97,'235/45/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 235/45/17ZR HP','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3641,97,'245/45/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 245/45/16ZR HP','Tires'), - (3642,97,'205/50/15ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/15ZR HP','Tires'), - (3643,97,'205/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/16ZR HP','Tires'), - (3644,97,'205/50/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 205/50/17ZR HP','Tires'), - (3645,97,'215/50/15ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/50/15ZR HP','Tires'), - (3646,97,'215/50/17ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 215/50/17ZR HP','Tires'), - (3647,97,'225/50/16ZR',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pirelli 225/50/16ZR HP','Tires'), - (3648,73,'Aluminum Alloy Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Slotted',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Slotted Rim (RA00)','Wheel Rims'), - (3649,65,'Aluminum Alloy Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Round',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Round (RA01)','Wheel Rims'), - (3650,3,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'57 Corvette',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevrolet Chevy SB 57 Corvette (220hp) Camshaft','Camshaft'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3651,37,'1.75" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" CI Single Exhaust Pipe','Exhaust Pipe'), - (3652,37,'1.75" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" CI Dual Exhaust Pipe','Exhaust Pipe'), - (3653,37,'1.875" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" CI Single Exhaust Pipe','Exhaust Pipe'), - (3654,37,'1.875" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" CI Dual Exhaust Pipe','Exhaust Pipe'), - (3655,37,'2" Cast Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" CI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" CI Single Exhaust Pipe','Exhaust Pipe'), - (3656,37,'2" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" CI Dual Exhaust Pipe','Exhaust Pipe'), - (3657,37,'2.25" Cast Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 CI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" CI Dual Exhaust Pipe','Exhaust Pipe'), - (3658,37,'1.75" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" TI Single Exhaust Pipe','Exhaust Pipe'), - (3659,37,'1.75" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" TI Dual Exhaust Pipe','Exhaust Pipe'), - (3660,37,'1.875" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" TI Single Exhaust Pipe','Exhaust Pipe'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3661,37,'1.875" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" TI Dual Exhaust Pipe','Exhaust Pipe'), - (3662,37,'2" Treated Iron Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" TI Single',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" TI Single Exhaust Pipe','Exhaust Pipe'), - (3663,37,'2" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" TI Dual Exhaust Pipe','Exhaust Pipe'), - (3664,37,'2.25" Treated Iron Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 TI Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" TI Dual Exhaust Pipe','Exhaust Pipe'), - (3665,37,'1.625" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" FS Dual Exhaust Pipe','Exhaust Pipe'), - (3666,37,'1.75" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" FS Dual Exhaust Pipe','Exhaust Pipe'), - (3667,37,'1.875" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" FS Dual Exhaust Pipe','Exhaust Pipe'), - (3668,37,'2" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" FS Dual Exhaust Pipe','Exhaust Pipe'), - (3669,37,'2.25" Forged Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 FS Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" FS Dual Exhaust Pipe','Exhaust Pipe'), - (3670,37,'1.625" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3671,37,'1.75" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), - (3672,37,'2" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), - (3673,37,'2.25" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), - (3674,37,'1.625" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.625 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.625" Alum. Alloy Dual Exhaust Pipe','Exhaust Pipe'), - (3675,37,'1.75" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.75 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.75" Alum. Alloy Dual Exhaust','Exhaust Pipe'), - (3676,37,'1.875" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" Alum. Alloy Dual Exhaust Pipe','Exhaust Pipe'), - (3677,37,'2" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2" alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2" Alum. Alloy Dual Exhaust pipe','Exhaust Pipe'), - (3678,37,'2.25" Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'2.25 Alum. Alloy Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 2.25" Alum Alloy Dual Exhaust Pipe','Exhaust Pipe'), - (3679,37,'1.875" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'1.875" Alloy Steel Dual',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Manley 1.875" Alloy Steel Dual Exhaust Pipe','Exhaust Pipe'), - (3680,15,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Single Point Ignition','Electrical System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3681,15,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Single Point Ignition','Electrical System'), - (3682,15,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Dual Point Ignition','Electrical System'), - (3683,15,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Dual Point Ignition','Electrical System'), - (3684,15,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Standard Electronic Ignition','Electrical System'), - (3685,15,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM Performance Electronic Ignition','Electrical System'), - (3686,8,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Single Point Ignition','Electrical System'), - (3687,8,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Single Point Ignition','Electrical System'), - (3688,8,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Dual Point Ignition','Electrical System'), - (3689,8,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Dual Point Ignition','Electrical System'), - (3690,8,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Standard Electronic Ignition','Electrical System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3691,8,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler Performance Electronic Ignition','Electrical System'), - (3692,1,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Single Point Ignition','Electrical System'), - (3693,1,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Single Point Ignition','Electrical System'), - (3694,1,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Dual Point Ignition','Electrical System'), - (3695,1,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Dual Point Ignition','Electrical System'), - (3696,1,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Standard Electronic Ignition','Electrical System'), - (3697,1,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Electronic',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Performance Electronic Ignition','Electrical System'), - (3698,11,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Single Point Ignition','Electrical System'), - (3699,11,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Single Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Performance Single Point Ignition','Electrical System'), - (3700,11,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Std. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Dual Point Ignition','Electrical System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3701,11,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Perf. Dual Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Performance Dual Point Ignition','Electrical System'), - (3702,45,'Aluminum Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Twistar 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Alloy Twistar 5','Wheel Rims'), - (3703,73,'Aluminum Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Rippled Orb',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Rippled Orb','Wheel Rims'), - (3704,65,'Aluminum Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Hypnotic Star 6',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Hypnotic Star 6','Wheel Rims'), - (3705,3,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Standard Cooling System','Cooling System'), - (3706,3,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Heavy Duty Cooling System','Cooling System'), - (3707,45,'Aluminum Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Super Slot 15',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Super Slot 15','Wheel Rims'), - (3708,73,'Aluminum Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Teardrop Slot 8',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Teardrop Slot 8','Wheel Rims'), - (3709,65,'Aluminum Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Twistar 7',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Twistar 7','Wheel Rims'), - (3710,45,'Aluminum Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Power Turbine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Aluminum Power Turbine','Wheel Rims'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3711,3,'W Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Block Standard Cooling System','Cooling System'), - (3712,3,'W Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'W Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy W Block Heavy Duty Cooling System','Cooling System'), - (3713,3,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Standard Cooling System','Cooling System'), - (3714,3,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Heavy Duty Cooling System','Cooling System'), - (3715,8,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Standard Cooling System','Cooling System'), - (3716,8,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Heavy Duty Cooling System','Cooling System'), - (3717,8,'Small Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Performance Cooling System','Cooling System'), - (3718,8,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Standard Cooling System','Cooling System'), - (3719,8,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Heavy Duty Cooling System','Cooling System'), - (3720,8,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Performance Cooling System','Cooling System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3721,11,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Standard Cooling System','Cooling System'), - (3722,11,'Heavy Duty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Heavy Duty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'AMC Heavy Duty Cooling System','Cooling System'), - (3723,4,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Standard Cooling System','Cooling System'), - (3724,4,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Heavy Duty Cooling System','Cooling System'), - (3725,7,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Standard Cooling System','Cooling System'), - (3726,7,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Performance Cooling System','Cooling System'), - (3727,5,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Standard Cooling System','Cooling System'), - (3728,5,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Heavy Duty Cooling System','Cooling System'), - (3729,6,'Nailhead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Standard Cooling System','Cooling System'), - (3730,6,'Nailhead HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Heavy Duty Cooling System','Cooling System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3731,4,'L-Head Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Standard Cooling System','Cooling System'), - (3732,1,'Flathead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Standard Cooling System','Cooling System'), - (3733,1,'Y Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Standard Cooling System','Cooling System'), - (3734,1,'Y Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Heavy Duty Cooling System','Cooling System'), - (3735,1,'Small Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Standard Cooling System','Cooling System'), - (3736,1,'Small Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Heavy Duty Cooling System','Cooling System'), - (3737,1,'Small Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss Cooling System','Cooling System'), - (3738,1,'Big Block Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Standard',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Standard Cooling System','Cooling System'), - (3739,1,'Big Block HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB HD',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Heavy Duty Cooling System','Cooling System'), - (3740,3,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Stock Lubrication System','Lubrication System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3741,3,'Small Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy SB Peformance Lubrication System','Lubrication System'), - (3742,4,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac BB Stock Lubrication System','Lubrication System'), - (3743,3,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chevy BB Performance Lubrication System','Lubrication System'), - (3744,8,'Small Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler SB Stock Lubrication System','Lubrication System'), - (3745,8,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Stock Lubrication System','Lubrication System'), - (3746,8,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Chrysler BB Performance Lubrication System','Lubrication System'), - (3747,7,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Stock Lubrication System','Lubrication System'), - (3748,7,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Pontiac Performance Lubrication System','Lubrication System'), - (3749,5,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Stock Lubrication System','Lubrication System'), - (3750,5,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Olds BB Performance Lubrication System','Lubrication System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3751,6,'Nailhead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Nailhead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Nailhead Stock Lubrication System','Lubrication System'), - (3752,4,'L-Head Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'L-Head Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cadillac L-Head Stock Lubrication System','Lubrication System'), - (3753,1,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Flathead Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead Stock Lubrication System','Lubrication System'), - (3754,1,'Y Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Y Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Y Block Stock Lubrication System','Lubrication System'), - (3755,1,'Small Block Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'SB Boss',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Boss Lubrication System','Lubrication System'), - (3756,1,'Windsor Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Windsor Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford SB Windsor Stock Lubrication System','Lubrication System'), - (3757,1,'Cleveland Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Cleveland Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Cleveland Stock Lubrication System','Lubrication System'), - (3758,1,'385 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Stock Lubrication System','Lubrication System'), - (3759,1,'385 Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'385 Performance',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford 385 Performance Lubrication System','Lubrication System'), - (3760,1,'Big Block Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Stock',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Stock Lubrication System','Lubrication System'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3761,1,'Big Block Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'BB Perf.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford BB Performance Lubrication System','Lubrication System'), - (3762,15,'Super Muncie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Muncie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Super Muncie 4 Speed Manual','Transmission'), - (3763,15,'M21 4 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M21',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M21 Close Ratio 4 Spd Manual','Transmission'), - (3764,15,'M13 3 Speed',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'M13',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'GM M13 HD 3 Speed Manual','Transmission'), - (3765,100,'265/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 265/60/15 Radial','Tires'), - (3766,100,'255/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 255/60/15 Radial','Tires'), - (3767,100,'245/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 245/60/15 Radial','Tires'), - (3768,100,'295/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 295/60/15 Radial','Tires'), - (3769,100,'275/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 275/60/15 Radial','Tires'), - (3770,100,'235/60/15 Radial',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Goodyear 235/60/15 Radial','Tires'); -INSERT INTO Model (ModelID,BrandID,EModel,GModel,FModel,SModel,IModel,JModel,SwModel,BModel,EExtraInfo,GExtraInfo,FExtraInfo,SExtraInfo,IExtraInfo,JExtraInfo,SwExtraInfo,BExtraInfo,EShortModel,GShortModel,FShortModel,SShortModel,IShortModel,JShortModel,SwShortModel,BShortModel,Debug_String,Debug_Sort_String) VALUES - (3771,21,'PowerMax FH',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'PowerMax',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Crane PowerMax Solid Lifter Ford FH Valvetrain','Valve Train'), - (3772,6,'Dynaflow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Dynaflow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Buick Dynaflow Automatic Transmission (TH-180C Copy)','Transmission'), - (3773,1,'88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,'88',NULL,NULL,NULL,NULL,NULL,NULL,NULL,'Ford Flathead 88 (HP) Camshaft','Camshaft'); diff --git a/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql b/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql deleted file mode 100644 index abc502c40..000000000 --- a/migrations/2024.02.11T23.27.19.initialAbstractPartType.sql +++ /dev/null @@ -1,71 +0,0 @@ -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (101,NULL,NULL,NULL,'Vehicle',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'VEH%d',0,1.0000000,1.0000000,0), - (1001,101,101,'sys_chas','Suspension',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'sspa','VEH%d',0,1.0000000,1.0000000,2), - (2001,101,101,'sys_body','Chassis',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'bod%d','VEH%d',0,1.0000000,1.0000000,3), - (4001,101,101,'sys_driv','Drive Line',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trna','VEH%d',0,1.0000000,1.0000000,0), - (5001,101,101,'drmbrake','Brake Set',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'brka','VEH%d',0,1.0000000,1.0000000,0), - (6001,101,101,NULL,'Visible Parts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (10001,5001,5001,'drmbrake','Brakes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'In general, larger diameter, thicker brakes will provide better stopping power for a greater number of hard braking maneuvers. Disc and drum brakes have different fade characteristics.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'bk%02d','SUS2',0,1.0000000,1.0000000,2), - (11001,1001,1001,'shock','Shocks',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Shocks help damp out oscillations and absorb vibrations caused by road surface imperfections.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'sk%02d','SUSP',0,1.0000000,1.0000000,0), - (12001,1001,1001,'springs','Springs',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Altering the front/rear spring balance can change the steering behavior of the vehicle.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'sp%02d','SUSP',0,1.0000000,1.0000000,0), - (13001,1001,1001,'swaybar','Sway Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases lateral stiffness of the suspension, reducing sway in hard corners.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'sw%02d','SUSP',0,1.0000000,1.0000000,0); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (14001,1001,1001,'traction','Traction Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases suspension stiffness during acceleration, which helps the vehicle maintain traction.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trbp','SUSP',0,1.0000000,1.0000000,0), - (15001,101,101,'sys_whee','Wheels',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'The wheel assembly is the primary influence on the vehicle''s traction capability.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'whla','VEH%d',0,1.0000000,1.0000000,2), - (16001,6001,6001,'fuzzdice','Fuzzy Dice',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (17001,6001,6001,NULL,'Roll Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (18001,6001,6001,'windtint','Window Tinting',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (20001,2001,2001,'sys_body','Body',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Spoilers improve the body''s downforce.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'bod%d','VEH%d',0,1.0000000,1.0000000,3), - (21001,6001,6001,'wskirts','Wheels Skirts',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'It''s just for looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (22001,6001,6001,'horn','Horn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Sound your horn! Pick from a wide variety of distinct horn sounds.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (23001,6001,6001,'runboard','Running Boards',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Pure looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (26001,6001,6001,'foglight','Fog Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Extra lights.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (28001,NULL,NULL,NULL,'Spot Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), - (29001,2001,2001,'spoil_ch','Chin Spoiler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'chsp','BOD%d',0,1.0000000,1.0000000,0), - (30001,2001,2001,'spoil_rr','Rear Spoiler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides aerodynamic downforce for improved traction at high speeds; be careful because too much downforce can over-stress an unmodified suspension.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'rspp','BOD%d',0,1.0000000,1.0000000,0), - (31001,6001,6001,'topstyle','Top Style',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'There is a slight disadvantage to a chopped top due to the disturbed airflow, which increases drag.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (32001,6001,6001,'wheelieb','Wheelie Bar',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Pure looks.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (33001,NULL,NULL,NULL,'Driver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'The heavier the driver, the more total weight, but more weight can help cornering.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), - (34001,6001,6001,'fender','Fenders',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Remove them to slightly reduce the drag.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (35001,6001,6001,'bumper','Bumpers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Can be removed from some cars to lose weight.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (36001,101,101,'engine1','Engine',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Select an engine that meets your needs; too much horsepower can be just as bad as too little. Experiment!',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'enga','VEH%d',0,1.0000000,1.0000000,1), - (37001,101,101,'sys_exha','Exhaust',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'This is an assembly, a collection of related parts that are grouped together. They may be installed, uninstalled, scrapped or traded as if they were individual parts.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'exha','VEH%d',0,1.0000000,1.0000000,1); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (39001,NULL,NULL,NULL,'Cop Lights',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,'BOD%d',0,1.0000000,1.0000000,0), - (40001,6001,6001,'hood','Hood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (100001,15001,15001,'wheel','Wheel Rims',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Holds the tires and affects wheel inertia; light wheels will help the tire spin up faster, but may make the tire tend to slip.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'wrmp','WHLA',0,1.0000000,1.0000000,0), - (110001,15001,15001,'tire','Tires',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'There''s a good reason for the old expression "where the rubber meets the road". Select a tire that meets your needs. High performance tires are precise, but can be unforgiving for the neophyte driver.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'tirp','WHLA',0,1.0000000,1.0000000,0), - (120001,6001,6001,'hubcap','Hub Caps',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0), - (130001,4001,4001,'transmis','Transmission',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High gear ratios are good for quick acceleration; low ratios provide higher top speed.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trnp','TRNA',0,1.0000000,1.0000000,1), - (140001,4001,4001,'rearend','Rear End',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High ratios usually (but not always) provide better acceleration; low ratios provide potentially higher top end speeds.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'rerp','TRNA',0,1.0000000,1.0000000,0), - (150001,4001,4001,'trancool','Transmission Cooler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Protect your hard-working automatic transmission with a transmission cooler to prevent over-heating. If the automatic transmission fluid gets too hot, the transmission can be severely damaged.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'trcp','TRNA',0,1.0000000,1.0000000,0), - (160001,36001,36001,'eblock','Engine Block',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'When upgrading your engine, keep in mind that more power isn''t always appropriate if you can''t handle it. Bigger isn''t always better.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'blkp','ENGN',1,1.0000000,1.0000000,0), - (180001,36001,36001,'crnkshft','Crankshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly. A lighter crankshaft will give you faster throttle response and less engine braking. A heavier crankshaft is generally more durable.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'crkp','ENGN',1,1.0000000,1.0000000,0); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (190001,36001,36001,'rods','Connecting Rods',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly; lightweight, heavy duty connecting rods can increase engine speed and power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'conp','ENGN',1,1.0000000,1.0000000,0), - (200001,36001,36001,'pistons','Pistons',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Affects engine inertia and governs wear on the rotating assembly; domed pistons can increase the compression ratio, which increases power. Lightweight pistons can increase the engine''s throttle response.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'pisp','ENGN',1,1.0000000,1.0000000,0), - (210001,NULL,NULL,'sys_cylh','Cylinder Head A',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (230001,36001,36001,'coolpump','Cooling System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'If your engine is working hard, don''t forget to make sure the cooling system can handle the heat; be careful, however, because high-end systems can bleed off significant engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'colp','ENGN',0,1.0000000,1.0000000,0), - (240001,36001,36001,'distrib','Electrical System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'High RPM, high power engines need special electrical systems to provide powerful well-timed ignition.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'elcp','ENGN',0,1.0000000,1.0000000,0), - (250001,36001,36001,'oilcool','Lubrication System',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Keep your engine running smooth and help prevent damage with a high performance lubrication system; high-performance lubrication systems can bleed off significant engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'lubp','ENGN',0,1.0000000,1.0000000,0), - (280001,36001,36001,'exhmani','Exhaust Manifold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'There are many different types of exhaust manifolds; high performance exhausts or headers let the engine breathe and are one of the fastest ways to get a little extra performance.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'exmp','ENGN',1,1.0000000,1.0000000,0), - (290001,37001,37001,'pipes','Exhaust Pipe',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'A higher performance exhaust pipe can improve your engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'exhp','EXHA',0,1.0000000,1.0000000,0), - (300001,37001,37001,'turbmuff','Muffler',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'A higher performance muffler can improve your engine power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'mufp','EXHA',0,1.0000000,1.0000000,0), - (310001,6001,6001,'tailptip','Tail Pipe Tip',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,NULL,NULL,0,1.0000000,1.0000000,0); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (320001,36001,36001,'intmani','Intake Manifold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'There are a wide variety of intake manifolds; a good high performance intake manifold can be expensive, but worth it. The type of manifold you select can dramatically change the RPM power band of your engine.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'intp','ENGN',1,1.0000000,1.0000000,0), - (330001,36001,36001,'carb','Carburetor',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Bigger isn''t always better; choose a carburetor that flows the right amount of air (cfm) for the displacement and peak RPM of your engine.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'crbp','ENGN',0,1.0000000,1.0000000,0), - (340001,36001,36001,'airclean','Air Cleaner',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Protect your engine from the elements with a nice air filter. You don''t want dirt in there, do you?',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'aclp','ENGN',0,1.0000000,1.0000000,0), - (340333,36001,36001,'scoop','Air Scoop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides improved air flow into the engine and can improve performance.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'ascp','BOD%d',0,1.0000000,1.0000000,0), - (340666,36001,36001,'airclean','Air Intake Point',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Install either an air cleaner or air scoop here.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'aclp','ENGN',0,1.0000000,1.0000000,0), - (350001,36001,36001,'blower','Blower',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Provides a pressure boost to the cylinders, leading to substantial power increases; can radically increase engine wear if engine compression ratio is too high.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'blwp','ENGN',0,1.0000000,1.0000000,0), - (350666,36001,36001,NULL,'Supercharger',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Install either a blower or a nitrous injector here.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (360001,36001,36001,'nitrous','Nitrous Injector',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Increases engine power by adding oxygen but causes excessive heat and additional engine damage.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'nitp','ENGN',0,1.0000000,1.0000000,0), - (1000001,36001,36001,'cylhead','Cylinder Head',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Cylinder heads are the single most important factor in determining engine performance. Higher compression and larger valves generally equal more power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'hedp','ENGN',1,1.0000000,1.0000000,0), - (1100001,36001,36001,'camshaft','Camshaft',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'The type of camshaft has a primary influence on engine performance. Street and Dual Purpose cams can add significant power.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'camp','ENGN',1,1.0000000,1.0000000,0); -INSERT INTO AbstractPartType (AbstractPartTypeID,ParentAbstractPartTypeID,DependsOn,PartFilename,EAPT,GAPT,FAFT,SAFT,IAFT,JAFT,SWAFT,BAFT,ModifiedRule,EUT,GUT,FUT,SUT,IUT,JUT,SWUT,BUT,PartPaired,SchematicPicname1,SchematicPicname2,BlockFamilyCompatibility,RepairCostModifier,ScrapValueModifier,GarageCategory) VALUES - (1200001,36001,36001,'valvetrn','Valve Train',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Controls valve action and affects maximum engine RPMs. High performance lifters can dramatically increase performance, but tend to increase engine wear.',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'vlvp','CYLY',1,1.0000000,1.0000000,0), - (1300001,NULL,NULL,'valves','Intake Valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (1400001,NULL,NULL,'valves','Exhaust Valves',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0), - (1500001,NULL,NULL,'valvecov','Valve Covers',NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,0,1.0000000,1.0000000,0); diff --git a/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql b/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql deleted file mode 100644 index f5217c6f3..000000000 --- a/migrations/2024.02.11T23.27.55.initialAbstractPartGrade.sql +++ /dev/null @@ -1,6 +0,0 @@ -INSERT INTO PartGrade (PartGradeID,EText,GText,FText,PartGrade) VALUES - (0,'no grade',NULL,NULL,NULL), - (1,'Stock',NULL,NULL,NULL), - (2,'Performance',NULL,NULL,NULL), - (3,'High Performance',NULL,NULL,NULL), - (4,'Racing',NULL,NULL,NULL); diff --git a/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql b/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql deleted file mode 100644 index c01963f2b..000000000 --- a/migrations/2024.02.11T23.28.36.initialAbstractPartType.sql +++ /dev/null @@ -1,3397 +0,0 @@ -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (101,101,'1932 Ford V-8 Coupe',NULL,1), - (102,101,'1940 Ford Deluxe Coupe',NULL,1), - (103,101,'1953 Ford Crestline',NULL,1), - (104,101,'1957 Ford Fairlane 500',NULL,1), - (105,101,'1957 Ford Ranchero',NULL,1), - (106,101,'1957 Ford Thunderbird',NULL,1), - (107,101,'1963 Ford Thunderbird',NULL,1), - (108,101,'1965 Ford Mustang',NULL,1), - (109,101,'1964 Ford Galaxie 500',NULL,1), - (110,101,'1969 Ford Torino GT',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (111,101,'1970 Ford Boss 302 Mustang',NULL,1), - (112,101,'1949 Mercury Coupe',NULL,1), - (113,101,'1957 Chevrolet Bel-Air',NULL,1), - (114,101,'1957 Chevrolet Corvette',NULL,1), - (115,101,'1957 Chevrolet Nomad Wagon',NULL,1), - (116,101,'1964 Chevrolet Impala',NULL,1), - (117,101,'1963 Chevrolet Corvette Stingray',NULL,1), - (118,101,'1958 Chevrolet Impala',NULL,1), - (119,101,'1967 Chevrolet Chevelle',NULL,1), - (120,101,'1967 Chevrolet Camaro',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (121,101,'1970 Chevrolet Chevelle',NULL,1), - (122,101,'1970 Chevrolet El Camino',NULL,1), - (123,101,'1970 Chevrolet Nova',NULL,1), - (124,101,'1947 Cadillac Series 62 Sedanette',NULL,1), - (125,101,'1959 Cadillac Eldorado Biarritz',NULL,1), - (126,101,'1969 Oldsmobile 4-4-2',NULL,1), - (127,101,'1955 Buick Century',NULL,1), - (128,101,'1966 Pontiac GTO',NULL,1), - (129,101,'1969 Pontiac GTO',NULL,1), - (130,101,'1973 Pontiac Firebird T/A',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (131,101,'1969 AMX',NULL,1), - (132,101,'1969 Dodge Charger',NULL,1), - (133,101,'1969 Plymouth Road Runner',NULL,1), - (134,101,'1970 Cuda',NULL,1), - (135,101,'1971 Plymouth Duster',NULL,1), - (138,101,'Traffic 2 door',NULL,1), - (140,101,'1967 Chevrolet Camaro SS',NULL,1), - (142,101,'1970 Ford Boss 429 Mustang',NULL,1), - (146,101,'TRFMONTE',NULL,1), - (147,101,'TRFDELVR',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (148,101,'TRFBUS',NULL,1), - (149,101,'TRFGSX',NULL,1), - (150,101,'TRFSTANG',NULL,1), - (151,101,'TRFTBIRD',NULL,1), - (152,101,'TRFPUP1',NULL,1), - (153,101,'TRF2DR',NULL,1), - (154,101,'1969 AMC Big Bad AMX',NULL,1), - (157,101,'1969 Plymouth GTX Coupe',NULL,1), - (207,101,'Shelby 427 Cobra',NULL,1), - (210,101,'1970 Ford Mustang',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (211,101,'1969 Ford Torino GT Cobra',NULL,1), - (212,101,'1970 Ford Mustang Mach 1',NULL,1), - (213,101,'1970 Plymouth Hemi Cuda',NULL,1), - (214,101,'1970 Plymouth 440 Cuda',NULL,1), - (215,101,'1970 Plymouth AAR Cuda',NULL,1), - (216,101,'1971 Plymouth 340 Duster',NULL,1), - (217,101,'1964 Chevrolet Impala SS',NULL,1), - (218,101,'1967 Chevrolet Chevelle SS',NULL,1), - (219,101,'1967 Chevrolet Camaro RS',NULL,1), - (220,101,'1967 Chevrolet Camaro Z-28',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (221,101,'1970 Chevrolet Chevelle SS',NULL,1), - (222,101,'1970 Chevrolet El Camino SS',NULL,1), - (223,101,'1970 Chevrolet Nova SS',NULL,1), - (224,101,'1969 Oldsmobile 442 W-30',NULL,1), - (225,101,'1969 Oldsmobile Hurst 442',NULL,1), - (226,101,'1969 Pontiac GTO Judge',NULL,1), - (227,101,'1973 Pontiac Firebird Formula',NULL,1), - (228,101,'1973 Pontiac Firebird',NULL,1), - (1001,1001,'Generic Chassis Suspension','SUSP',1), - (2001,2001,'Generic Chassis Body',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (4001,4001,'Generic Driveline Assembly',NULL,1), - (5001,5001,'Generic Brake Set',NULL,1), - (6001,6001,'Generic Visible Parts Assembly',NULL,1), - (10001,10001,'10 x 2 Organic Disc Brake',NULL,1), - (10002,10001,'11 x 2 Organic Disc Brake',NULL,2), - (10003,10001,'12 x 2 Organic Disc Brake',NULL,2), - (10004,10001,'9 x 2 Organic Disc Brake',NULL,1), - (10005,10001,'9 x 2 Organic HT Disc Brake',NULL,1), - (10006,10001,'10 x 2 Organic HT Disc Brake',NULL,1), - (10007,10001,'11 x 2 Organic HT Disc Brake',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (10008,10001,'12 x 2 Organic HT Disc Brake',NULL,2), - (10009,10001,'9 x 2 Organic Drum Brake',NULL,1), - (10010,10001,'10 x 2 Organic Drum Brake',NULL,1), - (10011,10001,'11 x 2 Organic Drum Brake',NULL,1), - (10012,10001,'12 x 2 Organic Drum Brake',NULL,1), - (10013,10001,'9 x 2 Organic HT Drum Brake',NULL,1), - (10014,10001,'10 x 2 Organic HT Drum Brake',NULL,1), - (10015,10001,'11 x 2 Organic HT Drum Brake',NULL,1), - (10016,10001,'12 x 2 Organic HT Drum Brake',NULL,2), - (10017,10001,'11 x 2 Semi-Metallic Disc Brake',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (10018,10001,'12 x 2 Semi-Metallic Disc Brake',NULL,2), - (10019,10001,'11 x 2 Semi-Metallic Drum Brake',NULL,2), - (10020,10001,'12 x 2 Semi-Metallic Drum Brake',NULL,2), - (10021,10001,'11 x 2 Metallic Disc Brake',NULL,2), - (10022,10001,'12 x 2 Metallic Disc Brake',NULL,3), - (10023,10001,'14 x 2 Metallic Disc Brake',NULL,4), - (10024,10001,'16 x 2 Metallic Disc Brake',NULL,4), - (10025,10001,'10 x 2 Metallic Disc Brake',NULL,2), - (10026,10001,'9 x 2 Metallic Disc Brake',NULL,2), - (10027,10001,'10 x 2 Metallic Disc ABS Brake',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (10028,10001,'12 x 2 Metallic Disc ABS Brake',NULL,3), - (10029,10001,'14 x 2 Metallic Disc ABS Brake',NULL,4), - (10030,10001,'16 x 2 Metallic Disc ABS Brake',NULL,4), - (10031,10001,'11 x 2 Metallic Disc ABS Brake',NULL,3), - (10032,10001,'13 x 2 Organic Drum Brake',NULL,3), - (10033,10001,'13 x 2 Organic Disc Brake',NULL,3), - (10034,10001,'13 x 2 Organic HT Drum Brake',NULL,3), - (10035,10001,'13 x 2 Organic HT Disc Brake',NULL,3), - (10036,10001,'13 x 2 Metallic Disc Brake',NULL,3), - (10037,10001,'13 x 2 Semi-Metallic Disc Brake',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (10038,10001,'13 x 2 Metallic Disc ABS Brake',NULL,3), - (10039,10001,'14 x 2 Organic Drum Brake',NULL,3), - (10040,10001,'14 x 2 Organic Disc Brake',NULL,3), - (10041,10001,'14 x 2 Organic HT Drum Brake',NULL,3), - (10042,10001,'14 x 2 Organic HT Disc Brake',NULL,3), - (10043,10001,'9 x 2 Semi-Metallic Disc Brake',NULL,2), - (10044,10001,'9 x 2 Metallic Disc ABS Brake',NULL,3), - (11001,11001,'LD (0.2) Shock',NULL,1), - (11002,11001,'LD (0.3) Shock',NULL,1), - (11003,11001,'ND (0.2) Shock',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (11004,11001,'ND (0.3) Shock',NULL,1), - (11005,11001,'HD (0.24) Shock',NULL,2), - (11006,11001,'HD (0.3) Shock',NULL,2), - (11007,11001,'HD (0.36) Shock',NULL,2), - (11008,11001,'XHD (0.3) Shock',NULL,3), - (11009,11001,'XHD (0.36) Shock',NULL,3), - (11010,11001,'XHD (0.4) Shock',NULL,3), - (11011,11001,'ND (0.3) 12.5" Shock',NULL,1), - (11012,11001,'Edelbrock Performer IAS Shock',NULL,2), - (11013,11001,'Edelbrock Street Stock Race Shock',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12001,12001,'70 lb/in traverse spring',NULL,1), - (12002,12001,'80 lb/in traverse spring',NULL,1), - (12003,12001,'90 lb/in traverse spring',NULL,1), - (12004,12001,'100 lb/in traverse spring',NULL,1), - (12005,12001,'110 lb/in traverse spring',NULL,1), - (12006,12001,'120 lb/in coil spring',NULL,1), - (12007,12001,'130 lb/in coil spring',NULL,1), - (12008,12001,'140 lb/in coil spring',NULL,1), - (12009,12001,'150 lb/in coil spring',NULL,1), - (12010,12001,'160 lb/in coil spring',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12011,12001,'170 lb/in coil spring',NULL,1), - (12012,12001,'180 lb/in leaf spring',NULL,2), - (12013,12001,'190 lb/in leaf spring',NULL,2), - (12014,12001,'200 lb/in leaf spring',NULL,3), - (12015,12001,'210 lb/in coil-over spring',NULL,3), - (12016,12001,'220 lb/in coil-over spring',NULL,3), - (12017,12001,'230 lb/in coil-over spring',NULL,3), - (12018,12001,'240 lb/in coil-over spring',NULL,3), - (12019,12001,'250 lb/in coil-over spring',NULL,3), - (12020,12001,'100 lb/in coil spring',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12021,12001,'110 lb/in coil spring',NULL,1), - (12022,12001,'150 lb/in leaf spring',NULL,1), - (12023,12001,'160 lb/in leaf spring',NULL,1), - (12024,12001,'170 lb/in leaf spring',NULL,1), - (12025,12001,'190 lb/in coil-over spring',NULL,3), - (12026,12001,'200 lb/in coil-over spring',NULL,3), - (12027,12001,'180 lb/in coil-over spring',NULL,3), - (12028,12001,'170 lb/in coil-over spring',NULL,3), - (12029,12001,'160 lb/in coil-over spring',NULL,3), - (12030,12001,'140 lb/in leaf spring',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12031,12001,'130 lb/in leaf spring',NULL,1), - (12032,12001,'120 lb/in leaf spring',NULL,1), - (12033,12001,'110 lb/in leaf spring',NULL,1), - (12034,12001,'220 lb/in coil spring',NULL,1), - (12035,12001,'230 lb/in coil spring',NULL,1), - (12036,12001,'240 lb/in coil spring',NULL,1), - (12037,12001,'250 lb/in coil spring',NULL,2), - (12038,12001,'260 lb/in coil spring',NULL,2), - (12039,12001,'270 lb/in coil spring',NULL,2), - (12040,12001,'280 lb/in coil spring',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12041,12001,'290 lb/in coil spring',NULL,2), - (12042,12001,'300 lb/in coil spring',NULL,2), - (12043,12001,'310 lb/in coil spring',NULL,2), - (12044,12001,'320 lb/in coil spring',NULL,2), - (12045,12001,'330 lb/in coil spring',NULL,2), - (12046,12001,'340 lb/in coil spring',NULL,2), - (12047,12001,'350 lb/in coil spring',NULL,2), - (12048,12001,'360 lb/in coil spring',NULL,3), - (12049,12001,'370 lb/in coil spring',NULL,3), - (12050,12001,'380 lb/in coil spring',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12051,12001,'390 lb/in coil spring',NULL,3), - (12052,12001,'400 lb/in coil spring',NULL,3), - (12053,12001,'410 lb/in coil spring',NULL,3), - (12054,12001,'420 lb/in coil spring',NULL,3), - (12055,12001,'430 lb/in coil spring',NULL,3), - (12056,12001,'440 lb/in coil spring',NULL,3), - (12057,12001,'450 lb/in coil spring',NULL,3), - (12058,12001,'460 lb/in coil spring',NULL,4), - (12059,12001,'470 lb/in coil spring',NULL,4), - (12060,12001,'480 lb/in coil spring',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (12061,12001,'490 lb/in coil spring',NULL,4), - (12062,12001,'500 lb/in coil spring',NULL,4), - (12063,12001,'510 lb/in coil spring',NULL,4), - (12064,12001,'180 lb/in coil spring',NULL,1), - (12065,12001,'Edelbrock AS Coil Spring',NULL,2), - (12066,12001,'Edelbrock AB Coil Spring',NULL,2), - (12067,12001,'Edelbrock AGB Coil Spring',NULL,2), - (12068,12001,'Edelbrock F Coil Spring',NULL,2), - (12069,12001,'Edelbrock M Coil Spring',NULL,2), - (13001,13001,'50 Nm Sway Bar',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (13002,13001,'60 Nm Sway Bar',NULL,1), - (13003,13001,'70 Nm Sway Bar',NULL,1), - (13004,13001,'80 Nm Sway Bar',NULL,1), - (13005,13001,'90 Nm Sway Bar',NULL,1), - (13006,13001,'100 Nm Sway Bar',NULL,1), - (13007,13001,'110 Nm Sway Bar',NULL,1), - (13008,13001,'120 Nm Sway Bar',NULL,1), - (13009,13001,'130 Nm Sway Bar',NULL,1), - (13010,13001,'140 Nm Sway Bar',NULL,1), - (13011,13001,'150 Nm Sway Bar',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (13012,13001,'160 Nm Sway Bar',NULL,1), - (13013,13001,'170 Nm Sway Bar',NULL,1), - (13014,13001,'180 Nm Sway Bar',NULL,2), - (13015,13001,'190 Nm Sway Bar',NULL,2), - (13016,13001,'200 Nm Sway Bar',NULL,2), - (13017,13001,'210 Nm Sway Bar',NULL,2), - (13018,13001,'220 Nm Sway Bar',NULL,2), - (13019,13001,'230 Nm Sway Bar',NULL,2), - (13020,13001,'240 Nm Sway Bar',NULL,2), - (13021,13001,'250 Nm Sway Bar',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (13022,13001,'260 Nm Sway Bar',NULL,3), - (13023,13001,'270 Nm Sway Bar',NULL,3), - (13024,13001,'280 Nm Sway Bar',NULL,3), - (13025,13001,'Edelbrock Tubular Panhard Rod',NULL,2), - (14001,14001,'LD Traction Bar',NULL,1), - (14002,14001,'ND Traction Bar',NULL,2), - (14003,14001,'HD Traction Bar',NULL,3), - (14004,14001,'XHD Traction Bar',NULL,4), - (14005,14001,'Edelbrock Anti-Hop Bar',NULL,2), - (15001,15001,'Wheel Assembly',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (16001,16001,'Fuzzy Dice Accessory','fuzzdice',1), - (17001,17001,'Generic Roll Bar','.bodymod',1), - (18001,18001,'Medium Window Tinting','.bodymod',1), - (18002,18001,'Light Window Tinting','.bodymod',1), - (18003,18001,'Dark Window Tinting','.bodymod',1), - (18004,18001,'Very Dark Window Tinting','.bodymod',1), - (20101,20001,'1932 Ford Coupe','32ford',1), - (20102,20001,'1940 Ford Coupe','40ford',1), - (20103,20001,'1953 Ford Crestline','53ford',1), - (20104,20001,'1957 Ford Fairlane','57fair',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20105,20001,'1957 Ford Ranchero','57ranch',1), - (20106,20001,'1957 Ford Thunderbird','57tbird',1), - (20107,20001,'1963 Ford Thunderbird','63tbird',1), - (20108,20001,'1964 Ford Mustang','64stang',1), - (20109,20001,'1964 Ford Galaxie','64galaxi',1), - (20110,20001,'1969 Ford Torino GT','69torino',1), - (20111,20001,'1970 Ford Boss 302','70stang',1), - (20112,20001,'1949 Mercury Coupe','49merc',1), - (20113,20001,'1957 Chevrolet Bel-Air','57chevy',1), - (20114,20001,'1957 Chevrolet Corvette','57vette',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20115,20001,'1957 Chevrolet Nomad','57nomad',1), - (20116,20001,'1964 Chevrolet Impala','64impala',1), - (20117,20001,'1963 Chevrolet Stingray','63vette',1), - (20118,20001,'1958 Chevrolet Impala','58impala',1), - (20119,20001,'1967 Chevrolet Chevelle','67chev',1), - (20120,20001,'1967 Chevrolet Camaro','67camaro',1), - (20121,20001,'1970 Chevrolet Chevelle','70chev',1), - (20122,20001,'1970 Chevrolet El Camino','70camino',1), - (20123,20001,'1970 Chevrolet Nova','70nova',1), - (20124,20001,'1947 Cadillac Series 62','47caddy',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20125,20001,'1959 Cadillac Eldorado','59caddy',1), - (20126,20001,'1969 Oldsmobile 4-4-2','69old442',1), - (20127,20001,'1955 Buick Century','55cent',1), - (20128,20001,'1966 Pontiac GTO','66gto',1), - (20129,20001,'1969 Pontiac GTO','69gto',1), - (20130,20001,'1973 Pontiac Firebird T/A','73trans',1), - (20131,20001,'1969 AMC AMX','69amcamx',1), - (20132,20001,'1969 Dodge Charger','69charge',1), - (20133,20001,'1969 Plymouth Rd. Runner','69runner',1), - (20134,20001,'1970 Plymouth Cuda','70hemicu',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20135,20001,'1971 Plymouth Duster','71duster',1), - (20138,20001,'1999 EA Traffic 2 door','trf2dr',1), - (20140,20001,'1967 Chevrolet Camaro SS','67sscam',1), - (20146,20001,'1990 EA TRFMONTE','TRFMONTE',1), - (20147,20001,'1990 EA TRFDELVR','TRFDELVR',1), - (20148,20001,'1990 EA TRFBUS','TRFBUS',1), - (20149,20001,'1990 EA TRFGSX','TRFGSX',1), - (20150,20001,'1990 EA TRFSTANG','TRFSTANG',1), - (20151,20001,'1990 EA TRFTBIRD','TRFTBIRD',1), - (20152,20001,'1990 EA TRFPUP1','TRFPUP1',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20153,20001,'1990 EA TRF2DR','TRF2DR',1), - (20157,20001,'1969 Plymouth GTX','69GTX',1), - (20207,20001,'1966 Shelby 427 Cobra','66cob',1), - (20210,20001,'1970 Ford Mustang','70stang',1), - (20211,20001,'1969 Ford Torino Cobra','69torino',1), - (20212,20001,'1970 Ford Mach 1','70STANG',1), - (20213,20001,'1970 Plymouth Hemi Cuda','70hemicu',1), - (20214,20001,'1970 Plymouth 440 Cuda','70hemicu',1), - (20215,20001,'1970 Plymouth AAR Cuda','70CUDA',1), - (20216,20001,'1971 Plymouth 340 Duster','71duster',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20217,20001,'1964 Chevrolet Impala SS','64impala',1), - (20218,20001,'1967 Chevrolet Chevelle SS','67chev',1), - (20219,20001,'1967 Chevrolet Camaro RS','67camaro',1), - (20220,20001,'1967 Chevrolet Camaro Z-28','67camaro',1), - (20221,20001,'1970 Chevrolet Chevelle SS','70CHEV',1), - (20222,20001,'1970 Chevrolet El Camino SS','70CAMINO',1), - (20223,20001,'1970 Chevrolet Nova SS','70nova',1), - (20224,20001,'1969 Oldsmobile 4-4-2 W-30','69W30old',1), - (20225,20001,'1969 Oldsmobile Hurst 4-4-2','69old442',1), - (20226,20001,'1969 Pontiac GTO Judge','69gto',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (20227,20001,'1973 Pontiac Firebird Formula','73fireb',1), - (20228,20001,'1973 Pontiac Firebird','73fireb',1), - (21001,21001,'1947 Cadillac','.bodymod',1), - (21002,21001,'1949 Ford','.bodymod',1), - (21003,21001,'1973 Cadillac Fleetwood Eldorado','.bodymod',1), - (21004,21001,'1953 Chevy Bel Air','.bodymod',1), - (21005,21001,'1967 Chevy Impala','.bodymod',1), - (21006,21001,'1969 Chevy Chevelle','.bodymod',1), - (21007,21001,'1970 Chevrolet Monte Carlo','.bodymod',1), - (21008,21001,'53 C.line Fender Skirt','.bodymod',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (21009,21001,'1955 Ford Fairlane','.bodymod',1), - (21010,21001,'1956 Ford / Thunderbird','.bodymod',1), - (21011,21001,'1957 Ford / Thunderbird','.bodymod',1), - (21012,21001,'1937 Ford','.bodymod',1), - (21013,21001,'1939 Chevrolet','.bodymod',1), - (21014,21001,'40 Coupe Fender Skirt','.bodymod',1), - (21015,21001,'1941 Plymouth','.bodymod',1), - (21016,21001,'49 Coupe Fender Skirt','.bodymod',1), - (22001,22001,'Vanilla Horn',NULL,1), - (22002,22001,'Cuda A',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (22003,22001,'Cuda B',NULL,1), - (22004,22001,'Cuda 2stone',NULL,1), - (22005,22001,'El Camino A',NULL,1), - (22006,22001,'El Camino B',NULL,1), - (22007,22001,'Firebird A',NULL,1), - (22008,22001,'Firebird B',NULL,1), - (22009,22001,'Fury',NULL,1), - (22010,22001,'GMC',NULL,1), - (22011,22001,'Hillman',NULL,1), - (22012,22001,'Impala',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (22013,22001,'Metropolitan',NULL,1), - (22014,22001,'Metropolitan Siren',NULL,1), - (22015,22001,'Mustang',NULL,1), - (22016,22001,'Snubnose',NULL,1), - (22017,22001,'Aoooga A',NULL,1), - (22018,22001,'Aoooga B',NULL,1), - (22019,22001,'Aoooga C',NULL,1), - (22020,22001,'Horn La cooca racha',NULL,1), - (22021,22001,'Horn Reville',NULL,1), - (22022,22001,'Horn Dixie',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (22023,22001,'Horn Charge',NULL,1), - (22024,22001,'Horn Charge Short',NULL,1), - (23001,23001,'1927 Ford Model T Boards','.bodymod',1), - (23002,23001,'1931 Ford Model A Boards','.bodymod',1), - (23003,23001,'1932 Ford Coupe Boards','.bodymod',1), - (23004,23001,'1932 Chevrolet Confederate Boards','.bodymod',1), - (23005,23001,'1934 Ford Coupe Boards','.bodymod',1), - (23006,23001,'1937 Ford Coupe Boards','.bodymod',1), - (23007,23001,'1937 Chevy Coupe Boards','.bodymod',1), - (23008,23001,'1939 Chevy Coupe Boards','.bodymod',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (23009,23001,'1940 Ford Deluxe Coupe Boards','.bodymod',1), - (23010,23001,'1941 Plymouth Coupe Boards','.bodymod',1), - (23011,23001,'1947 Cadillac Sedanette Boards','.bodymod',1), - (23012,23001,'1948 Ford Woody Boards','.bodymod',1), - (25001,340333,'Sipper Air Scoop 1%','scooprec',1), - (25002,340333,'Slipstream Air Scoop 2%','scooprec',2), - (25003,340333,'Impeller Air Scoop 3%','scooptri',3), - (25004,340333,'Holley Forced Air Scoop 4%','scooptri',3), - (25005,340333,'Holley Ram Air Scoop 5%','scooprec',4), - (25006,340333,'Pontiac Ram Air Induction System','SCOOPREC',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (25007,340333,'Olds W30 Forced Air Induction System','SCOOPREC',2), - (25008,340333,'Flared Velocity Stack','STACK1F',2), - (25009,340333,'Tall Flared Velocity Stack','STACK1FH',2), - (25010,340333,'Straight Velocity Stack','STACK1S',2), - (25011,340333,'Dual Flared Velocity Stacks','STACK2F',2), - (25012,340333,'Dual Tall Flared Velocity Stacks','STACK2FH',2), - (25013,340333,'Dual Straight Velocity Stacks','STACK2S',2), - (25014,340333,'Triple Flared Velocity Stacks','stack3f',2), - (25015,340333,'Triple Tall Flared Velocity Stacks','stack3fh',2), - (25016,340333,'Triple Straight Velocity Stacks','stack3s',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (25017,340333,'Quad Flared Velocity Stacks','STACK4F',2), - (25018,340333,'Quad Tall Flared Velocity Stacks','STACK4FH',2), - (25019,340333,'Quad Straight Velocity Stacks','STACK4S',2), - (25020,340333,'Eight Flared Velocity Stacks','STACK8F',2), - (25021,340333,'Eight Tall Flared Velocity Stacks','STACK8FH',2), - (25022,340333,'Eight Straight Velocity Stacks','STACK8S',2), - (26001,26001,'White Fog Lights','FOGWHITE',1), - (27001,26001,'Amber Fog Lights','FOGAMBER',1), - (28001,28001,'1940 Ford Spot Light','SPOTLITE',1), - (28002,28001,'1947 Cadillac Spot Light','SPOTLITE',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (28003,28001,'1955 Buick Spot Light','SPOTLITE',1), - (28004,28001,'1957 Chevy Bel-Air Spot Light','SPOTLITE',1), - (28005,28001,'1957 Chevy Wagon Spot Light','SPOTLITE',1), - (29001,29001,'25 kg Spoiler','.bodymod',1), - (29002,29001,'50 kg Spoiler','.bodymod',1), - (29003,29001,'75 kg Spoiler','.bodymod',1), - (29004,29001,'100 kg Spoiler','.bodymod',2), - (29005,29001,'125 kg Spoiler','.bodymod',2), - (29006,29001,'150 kg Spoiler','.bodymod',2), - (29007,29001,'175 kg Spoiler','.bodymod',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (29008,29001,'200 kg Spoiler','.bodymod',3), - (29009,29001,'225 kg Spoiler','.bodymod',3), - (29010,29001,'250 kg Spoiler','.bodymod',4), - (30001,30001,'25 kg Rear Spoiler','SPOILER',1), - (30002,30001,'50 kg Rear Spoiler','SPOILER',1), - (30003,30001,'75 kg Rear Spoiler','SPOILER',1), - (30004,30001,'100 kg Rear Spoiler','SPOILER',2), - (30005,30001,'125 kg Rear Spoiler','SPOILER',2), - (30006,30001,'150 kg Rear Spoiler','SPOILER',2), - (30007,30001,'175 kg Rear Spoiler','SPOILER',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (30008,30001,'200 kg Rear Spoiler','SPOILER',3), - (30009,30001,'225 kg Rear Spoiler','SPOILER',3), - (30010,30001,'250 kg Rear Spoiler','SPOILER',4), - (31166,31001,'Hardtop',NULL,1), - (31167,31001,'Chopped Top','.chopped',1), - (31168,31001,'Convertible Top','.convert',1), - (31169,31001,'Vinyl Top','.vinyl',1), - (32001,32001,'Wheelie Bar Attachment','WHEELIE',1), - (33001,33001,'Speedline Driver','DRIVER10',1), - (34001,34001,'32 Ford Fenders','.bodymod',0); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (35001,35001,'32 Ford Bumpers','.bodymod',0), - (35002,35001,'40 Ford Bumpers','.bodymod',0), - (35003,35001,'65 Shelby Cobra Bumpers','.bodymod',0), - (36002,36001,'Engine Assembly',NULL,1), - (36003,36001,'Buick 322 4V (255 hp)',NULL,1), - (36004,36001,'Chevy SB 265 2V (162 hp)',NULL,1), - (36005,36001,'Chevy SB 265 4V (180 hp)',NULL,1), - (36006,36001,'Chevy SB 265 4V (195 hp)',NULL,1), - (36007,36001,'Chevy SB 283 2V (185 hp)',NULL,1), - (36008,36001,'Chevy SB 283 4V (220 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36009,36001,'Chevy SB 283 2x4V (245 hp)',NULL,1), - (36010,36001,'Chevy SB 283 2x4V (270 hp)',NULL,1), - (36011,36001,'Chevy SB 283 FI (283 hp)',NULL,2), - (36012,36001,'Chevy SB 283 FI (290 hp)',NULL,2), - (36013,36001,'Chevy SB 283 FI (275 hp)',NULL,2), - (36014,36001,'Chevy SB 283 FI (315 hp)',NULL,2), - (36015,36001,'Chevy SB 265 2x4V (225 hp)',NULL,1), - (36016,36001,'Chevy SB 327 4V (250 hp)',NULL,1), - (36017,36001,'Chevy SB 327 4V (300 hp)',NULL,1), - (36018,36001,'Chevy SB 327 4V (340 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36019,36001,'Chevy SB 327 FI (360 hp)',NULL,2), - (36020,36001,'Chevy SB 327 4V (365 hp)',NULL,2), - (36021,36001,'Chevy SB 327 FI (375 hp)',NULL,2), - (36022,36001,'Chevy SB 302 4V (290 hp)',NULL,2), - (36023,36001,'Chevy SB 350 4V (295 hp)',NULL,1), - (36024,36001,'Chevy SB 350 4V (250 hp)',NULL,1), - (36025,36001,'Chevy SB 350 4V (350 hp)',NULL,2), - (36026,36001,'Chevy SB 350 4V (360 hp) Z/28',NULL,2), - (36027,36001,'Chevy SB 350 4V (370 hp) LT-1',NULL,2), - (36028,36001,'Chevy SB 400 4V (265 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36029,36001,'Chevy W 348 4V (250 hp)',NULL,1), - (36030,36001,'Chevy W 348 3x2V (280 hp)',NULL,1), - (36031,36001,'Chevy W 348 4V (305 hp)',NULL,2), - (36032,36001,'Chevy W 348 4V (315 hp)',NULL,2), - (36033,36001,'Chevy W 348 3x2V (315 hp)',NULL,2), - (36034,36001,'Chevy W 348 4V (320 hp)',NULL,2), - (36035,36001,'Chevy W 348 3x2V (335 hp)',NULL,2), - (36036,36001,'Chevy W 348 4V (340 hp)',NULL,2), - (36037,36001,'Chevy W 348 3x2V (350 hp)',NULL,2), - (36038,36001,'Chevy W 409 4V (360 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36039,36001,'Chevy W 409 4V (380 hp)',NULL,2), - (36040,36001,'Chevy W 409 2x4V (409 hp)',NULL,2), - (36041,36001,'Chevy W 409 4V (340 hp)',NULL,2), - (36042,36001,'Chevy W 409 4V (400 hp)',NULL,2), - (36043,36001,'Chevy W 409 2x4V (425 hp)',NULL,2), - (36044,36001,'Chevy W 427 2x4V (430 hp) Z11',NULL,2), - (36045,36001,'Chevy BB 396 4V (325 hp)',NULL,1), - (36046,36001,'Chevy BB 396 4V (350 hp)',NULL,2), - (36047,36001,'Chevy BB 396 4V (425 hp)',NULL,2), - (36048,36001,'Chevy BB 396 4V (360 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36049,36001,'Chevy BB 427 4V (390 hp)',NULL,1), - (36050,36001,'Chevy BB 427 4V (425 hp)',NULL,2), - (36051,36001,'Chevy BB 427 3x2V (400 hp)',NULL,2), - (36052,36001,'Chevy BB 427 4V (430 hp) L88',NULL,3), - (36053,36001,'Chevy BB 427 3x2V (435 hp) L89',NULL,3), - (36054,36001,'Chevy BB 427 3x2V (435 hp) L71',NULL,3), - (36055,36001,'Chevy BB 402 4V (325 hp)',NULL,1), - (36056,36001,'Chevy BB 454 4V (345 hp) LS4',NULL,1), - (36057,36001,'Chevy BB 454 4V (360 hp) LS5',NULL,1), - (36058,36001,'Chevy BB 454 4V (390 hp) LS5',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36059,36001,'Chevy BB 454 4V (450 hp) LS6',NULL,3), - (36060,36001,'Chevy BB 454 4V (465 hp) LS7',NULL,3), - (36061,36001,'Chevy BB 454 4V (425 hp) LS6',NULL,3), - (36062,36001,'Olds 455 2V (310 hp)',NULL,1), - (36063,36001,'Olds 455 4V (365 hp)',NULL,1), - (36064,36001,'Olds 455 4V (375 hp)',NULL,1), - (36065,36001,'Olds 455 4V (390 hp)',NULL,2), - (36066,36001,'Olds 455 4V (400 hp)',NULL,2), - (36067,36001,'Olds 400 4V (345 hp)',NULL,1), - (36068,36001,'Olds 400 4V (350 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36069,36001,'Olds 400 3x2V (365 hp)',NULL,2), - (36070,36001,'Olds 400 2V (300 hp)',NULL,1), - (36071,36001,'Olds 400 4V W30',NULL,2), - (36072,36001,'Pontiac 389 2V (215 hp)',NULL,1), - (36073,36001,'Pontiac 389 2V (245 hp)',NULL,1), - (36074,36001,'Pontiac 389 4V (260 hp)',NULL,1), - (36075,36001,'Pontiac 389 2V (280 hp)',NULL,1), - (36076,36001,'Pontiac 389 4V (303 hp)',NULL,1), - (36077,36001,'Pontiac 389 Trophy 4V (300 hp)',NULL,2), - (36078,36001,'Pontiac 389 Trophy 3x2V (315 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36079,36001,'Pontiac 389 SD 4V (330 hp)',NULL,3), - (36080,36001,'Pontiac 389 SD 3x2V (345 hp)',NULL,3), - (36081,36001,'Pontiac 389 Trophy 3x2V (333 hp)',NULL,2), - (36082,36001,'Pontiac 389 Trophy 4V (318 hp)',NULL,2), - (36083,36001,'Pontiac 389 SD 3x2V (363 hp)',NULL,2), - (36084,36001,'Pontiac 421 SD 2x4V (373 hp)',NULL,2), - (36085,36001,'Pontiac 421 4V (320 hp)',NULL,1), - (36086,36001,'Pontiac 421 SD 2x4V (405 hp)',NULL,3), - (36087,36001,'Pontiac 421 HO 4V (353 hp)',NULL,2), - (36088,36001,'Pontiac 421 HO 3x2V (370 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36089,36001,'Pontiac 421 SD 4V (390 hp)',NULL,3), - (36090,36001,'Pontiac 421 SD 2x4V (410 hp)',NULL,3), - (36091,36001,'Pontiac 400 2V (255 hp)',NULL,1), - (36092,36001,'Pontiac 400 4V (290 hp)',NULL,1), - (36093,36001,'Pontiac 400 Ram Air I',NULL,2), - (36094,36001,'Pontiac 400 Ram Air II',NULL,2), - (36095,36001,'Pontiac 400 Ram Air IV',NULL,2), - (36096,36001,'Pontiac 455 4V (360 hp)',NULL,2), - (36097,36001,'Pontiac 455 4V (370 hp)',NULL,2), - (36098,36001,'Pontiac 455 HO 4V (335 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36099,36001,'Pontiac 455 SD 4V (290 hp)',NULL,2), - (36100,36001,'Ford Y 292 4V (193 hp)',NULL,1), - (36101,36001,'Ford Y 292 4V (198 hp)',NULL,1), - (36102,36001,'Ford Y 292 4V (212 hp)',NULL,1), - (36103,36001,'Ford Y 312 4V (210 hp)',NULL,1), - (36104,36001,'Ford Y 312 4V (225 hp)',NULL,1), - (36105,36001,'Ford Y 312 2x4V (265 hp)',NULL,1), - (36106,36001,'Ford FE 352 4V (300 hp)',NULL,2), - (36107,36001,'Ford FE 352 HP 4V (360 hp)',NULL,2), - (36108,36001,'Ford FE 352 2V (220 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36109,36001,'Ford FE 390 4V (300 hp)',NULL,1), - (36110,36001,'Ford FE 390 HP 4V (375 hp)',NULL,2), - (36111,36001,'Ford FE 390 HP 3x2V (401 hp)',NULL,2), - (36112,36001,'Ford FE 390 PI 4V (330 hp)',NULL,2), - (36113,36001,'Ford FE 390 3x2V (340 hp)',NULL,1), - (36114,36001,'Ford FE 390 2V (250 hp)',NULL,1), - (36115,36001,'Ford FE 390 2V (275 hp)',NULL,1), - (36116,36001,'Ford FE 390 4V (315 hp)',NULL,1), - (36117,36001,'Ford FE 390 GT 4V (335 hp)',NULL,1), - (36118,36001,'Ford FE 406 4V (385 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36119,36001,'Ford FE 406 3x2V (405 hp)',NULL,2), - (36120,36001,'Ford FE 427 LR 4V (410 hp)',NULL,2), - (36121,36001,'Ford FE 427 MR 4V (410 hp)',NULL,2), - (36122,36001,'Ford FE 427 MR 2x4V (425 hp)',NULL,2), - (36123,36001,'Ford FE 427 SOHC 4V (615 hp)',NULL,3), - (36124,36001,'Ford FE 428 4V (345 hp)',NULL,1), - (36125,36001,'Ford FE 428 4V (360 hp)',NULL,1), - (36126,36001,'Ford FE 428 CJ 4V (335 hp)',NULL,2), - (36127,36001,'Ford FE 428 SCJ 4V (335 hp)',NULL,2), - (36128,36001,'Ford SB 260 2V (164 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36129,36001,'Ford SB 289 HP 4V (271 hp)',NULL,1), - (36130,36001,'Ford SB 289 4V (210 hp)',NULL,1), - (36131,36001,'Ford SB 289 4V (225 hp)',NULL,1), - (36132,36001,'Ford SB 302 2V (210 hp)',NULL,1), - (36133,36001,'Ford SB 302 4V (230 hp)',NULL,1), - (36134,36001,'Ford SB 302 Boss 4V (290 hp)',NULL,2), - (36135,36001,'Ford SB 351W 2V (250 hp)',NULL,1), - (36136,36001,'Ford SB 351W 4V (290 hp)',NULL,1), - (36137,36001,'Ford SB 351W 2V (240 hp)',NULL,1), - (36138,36001,'Ford 351C 2V (250 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36139,36001,'Ford 351C 4V (300 hp)',NULL,1), - (36140,36001,'Ford 351C CJ 4V (280 hp)',NULL,2), - (36141,36001,'Ford 351C Boss 4V (330 hp)',NULL,2), - (36142,36001,'Ford 351C HO 4V (275 hp)',NULL,2), - (36143,36001,'Ford 351C 2V (177 hp)',NULL,1), - (36144,36001,'Ford 400C 2V (260 hp)',NULL,1), - (36145,36001,'Ford 400C 2V (172 hp)',NULL,1), - (36146,36001,'Ford 385 429 4V (360 hp)',NULL,1), - (36147,36001,'Ford 385 429 2V (320 hp)',NULL,1), - (36148,36001,'Ford 385 429 SCJ 4V (375 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36149,36001,'Ford 385 429 CJ 4V (370 hp)',NULL,2), - (36150,36001,'Ford 385 429 4V (212 hp)',NULL,1), - (36151,36001,'Ford 385 429 NASCAR',NULL,3), - (36152,36001,'Ford 385 460 4V (365 hp)',NULL,1), - (36153,36001,'Ford 385 460 4V (224 hp)',NULL,1), - (36154,36001,'Ford 385 460 PI 4V (274 hp)',NULL,1), - (36155,36001,'Chrysler BB 383 2V (305 hp)',NULL,1), - (36156,36001,'Chrysler BB 383 4V (325 hp)',NULL,1), - (36157,36001,'Chrysler BB 383 2V (270 hp)',NULL,1), - (36158,36001,'Chrysler BB 383 2x4V (330 hp)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36159,36001,'Chrysler BB 400 2V (190 hp)',NULL,1), - (36160,36001,'Chrysler BB 400 4V (255 hp)',NULL,1), - (36161,36001,'Chrysler BB 400 4V (205 hp)',NULL,1), - (36162,36001,'Chrysler BB 413 4V (350 hp)',NULL,1), - (36163,36001,'Chrysler BB 413 2x4V (380 hp)',NULL,1), - (36164,36001,'Chrysler BB 413 Long Ram 2x4V (375 hp)',NULL,2), - (36165,36001,'Chrysler BB 413 Short Ram 2x4V (400 hp)',NULL,2), - (36166,36001,'Chrysler BB 413 Max Wedge 2x4V (410 hp)',NULL,2), - (36167,36001,'Chrysler BB 413 Max Wedge 2x4V (420 hp)',NULL,2), - (36168,36001,'Chrysler BB 413 4V (365 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36169,36001,'Chrysler BB 413 2x4V (390 hp)',NULL,2), - (36170,36001,'Chrysler BB 426 Max Wedge III 2x4V (415 hp)',NULL,2), - (36171,36001,'Chrysler BB 426 Max Wedge III 2x4V (425 hp)',NULL,2), - (36172,36001,'Chrysler BB 426 Max Wedge 2x4V (415 hp)',NULL,2), - (36173,36001,'Chrysler BB 426 Max Wedge 2x4V (425 hp)',NULL,3), - (36174,36001,'Chrysler BB 426 4V (365 hp) b',NULL,1), - (36175,36001,'Chrysler Hemi 426 2x4V (425 hp)',NULL,3), - (36176,36001,'Chrysler BB 440 4V (350 hp)',NULL,1), - (36177,36001,'Chrysler BB 440 3x2V (390 hp)',NULL,2), - (36178,36001,'AMC 343 2V (235 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36179,36001,'AMC 390 4V (315 hp)',NULL,1), - (36180,36001,'AMC 390 4V (325 hp)',NULL,2), - (36181,36001,'AMC 390 4V Rebel Machine (340 hp)',NULL,2), - (36182,36001,'Chevy SB 265 4V (205 hp)',NULL,2), - (36183,36001,'Chevy W 409 2x4V (425 hp)',NULL,3), - (36184,36001,'Chevrolet BB 402 4V (350 hp)',NULL,2), - (36185,36001,'Chevrolet BB 402 4V (375 hp)',NULL,2), - (36186,36001,'Pontiac 400 Ram Air III',NULL,2), - (36187,36001,'Pontiac 400 Ram Air V',NULL,3), - (36188,36001,'Ford FE 352 4V (235 hp)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (36189,36001,'Shade Tree 2V (140 hp)',NULL,1), - (37001,37001,'Generic Exh Assembly',NULL,1), - (39001,39001,'Cop Lights','siren',1), - (40001,40001,'Vanilla Hood','.bodymod',1), - (40002,40001,'32 Coupe','.bodymod',1), - (40003,40001,'40 Coupe','.bodymod',1), - (40004,40001,'49 Mercury','.bodymod',1), - (40005,40001,'53 Coupe','.bodymod',1), - (40006,40001,'57 Fairlane','.bodymod',1), - (40007,40001,'57 Ranchero','.bodymod',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40008,40001,'57 Thunderbird','.bodymod',1), - (40009,40001,'63 Thunderbird','.bodymod',1), - (40010,40001,'64 Mustang','.bodymod',1), - (40011,40001,'64 Galaxie','.bodymod',1), - (40012,40001,'69 Torino','.bodymod',1), - (40013,40001,'70 Mustang','.bodymod',1), - (40014,40001,'47 Caddy','.bodymod',1), - (40015,40001,'55 Century','.bodymod',1), - (40016,40001,'57 Bel-Air','.bodymod',1), - (40017,40001,'57 Nomad','.bodymod',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40018,40001,'57 Corvette','.bodymod',1), - (40019,40001,'58 Impala','.bodymod',1), - (40020,40001,'59 Eldorado','.bodymod',1), - (40021,40001,'63 Corvette','.bodymod',1), - (40022,40001,'64 Impala','.bodymod',1), - (40023,40001,'66 GTO','.bodymod',1), - (40024,40001,'67 Chevelle','.bodymod',1), - (40025,40001,'67 Camaro','.bodymod',1), - (40026,40001,'69 Olds 442','.bodymod',1), - (40027,40001,'69 GTO','.bodymod',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40028,40001,'70 El Camino','.bodymod',1), - (40029,40001,'70 Nova','.bodymod',1), - (40030,40001,'70 Chevelle','.bodymod',1), - (40031,40001,'73 Firebird','.bodymod',1), - (40032,40001,'69 Charger','.bodymod',1), - (40033,40001,'69 Road Runner','.bodymod',1), - (40034,40001,'69 AMX','.bodymod',1), - (40035,40001,'70 Cuda','.large',1), - (40036,40001,'71 Duster','.bodymod',1), - (40037,40001,'1963 Ford Thunderbird Scoop','.factory',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40038,40001,'1969 Hurst/Olds 4-4-2 Scoop','.factory',2), - (40039,40001,'1969 Ford Torino GT Scoop','.factory',2), - (40040,40001,'1969 Ford Torino Scoop','.factory',2), - (40041,40001,'1967 Chevy Chevelle SS-396 Scoop','.factory',2), - (40042,40001,'1967 Camaro SS-396 Scoop','.bodymod',2), - (40043,40001,'1957 Ford Thunderbird Scoop','.factory',2), - (40044,40001,'1964 Pontiac GTO Scoop','.factory',2), - (40045,40001,'1963 Corvette Stingray Scoop','.factory',2), - (40046,40001,'1969 Oldsmobile 4-4-2 W-30 Scoop','.factory',2), - (40047,40001,'1973 Pontiac Firebird Scoop','.factory',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40048,40001,'1966 Pontiac GTO Scoop','.factory',2), - (40049,40001,'1969 Pontiac GTO Scoop','.factory',2), - (40050,40001,'1969 Pontiac Firebird Scoop','.factory',2), - (40051,40001,'1969 Plymouth Road Runner Scoop','.factory',2), - (40052,40001,'1970 Buick Gran Sport Scoop','.factory',2), - (40053,40001,'1970 Chevy Nova SS-396 Scoop','.factory',2), - (40054,40001,'1970 Plymouth ''Cuda Scoop','.bodymod',2), - (40055,40001,'1973 Pontiac Trans-Am Scoop','.factory',2), - (40056,40001,'1970 Dodge Challenger R/T Scoop','.factory',2), - (40057,40001,'1958 Chevy Impala Sport Scoop','.factory',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (40058,40001,'1970 Plymouth ''Cuda Hemi Scoop','.factory',2), - (40059,40001,'Hood Mod Bel-Air','.large',2), - (40060,40001,'66 Shelby Cobra Hood','.bodymod',1), - (40061,40001,'1970 Chevy Chevelle SS Hood','.factory',1), - (40062,40001,'1970 Ford Mustang Factory Scoop Hood','.factory',2), - (100001,100001,'Cast Iron Rim (Round Flat)','RIM01',1), - (100002,100001,'Steel Rim (Web Polished)','RIM11',1), - (100003,100001,'Steel Slotted Rim (Star Polished)','RIM02',1), - (100004,100001,'Aluminum Alloy Rim (Twist Split Star)','RIM05',2), - (100005,100001,'Magnesium Rim (Round Flat)','RIM01',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100006,100001,'HS-00','HC00',1), - (100007,100001,'HS-01','HC01',1), - (100008,100001,'HS-02','HC02',1), - (100009,100001,'HS-03','HC03',1), - (100010,100001,'HS-04','HC04',1), - (100011,100001,'HS-05','HC05',1), - (100012,100001,'HS-06','HC06',1), - (100013,100001,'HS-07','HC07',1), - (100014,100001,'HS-08','HC08',1), - (100015,100001,'HS-09','HC09',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100016,100001,'HS-10','HC10',1), - (100017,100001,'HS-11','HC11',1), - (100018,100001,'HS-12','HC12',1), - (100019,100001,'HS-13','HC13',1), - (100020,100001,'HS-14','HC14',1), - (100021,100001,'HS-15','HC15',1), - (100022,100001,'HS-16','HC16',1), - (100023,100001,'HS-17','HC17',1), - (100024,100001,'HS-18','HC18',1), - (100025,100001,'HS-19','HC19',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100026,100001,'HS-20','HC20',1), - (100027,100001,'HS-21','HC21',1), - (100028,100001,'HS-22','HC22',1), - (100029,100001,'HS-23','HC23',1), - (100030,100001,'HS-24','HC24',1), - (100031,100001,'HS-25','HC25',1), - (100032,100001,'HS-26','HC26',1), - (100033,100001,'HS-27','HC27',1), - (100034,100001,'HS-28','HC28',1), - (100035,100001,'HS-29','HC29',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100036,100001,'HS-30','HC30',1), - (100037,100001,'HS-31','HC31',1), - (100038,100001,'HS-32','HC32',1), - (100039,100001,'HS-33','HC33',1), - (100040,100001,'HS-34','HC34',1), - (100041,100001,'HS-35','HC35',1), - (100042,100001,'HS-36','HC36',1), - (100043,100001,'HS-37','HC37',1), - (100044,100001,'HS-38','HC38',1), - (100045,100001,'HS-39','HC39',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100046,100001,'HS-40','HC40',1), - (100047,100001,'HS-41','HC41',1), - (100048,100001,'HS-42','HC42',1), - (100049,100001,'HS-43','HC43',1), - (100050,100001,'HS-44','HC44',1), - (100051,100001,'HS-45','HC45',1), - (100052,100001,'HS-46','HC46',1), - (100053,100001,'HS-47','HC47',1), - (100054,100001,'HS-48','HC48',1), - (100055,100001,'HS-49','HC49',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100056,100001,'HS-50','HC50',1), - (100057,100001,'HS-51','HC51',1), - (100058,100001,'HS-52','HC52',1), - (100059,100001,'HS-53','hc53',1), - (100060,100001,'HS-54','hc54',1), - (100061,100001,'HS-55','hc55',1), - (100062,100001,'HS-56','hc56',1), - (100063,100001,'HS-57','hc57',1), - (100064,100001,'HS-58','hc58',1), - (100065,100001,'HA-00','HCA00',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100066,100001,'HA-01','HCA01',1), - (100067,100001,'HA-02','HCA02',1), - (100068,100001,'HA-03','HCA03',1), - (100069,100001,'HA-04','HCA04',1), - (100070,100001,'HA-05','HCA05',1), - (100071,100001,'HA-06','HCA06',1), - (100072,100001,'HA-07','HCA07',1), - (100073,100001,'HA-08','HCA08',1), - (100074,100001,'HA-09','HCA09',1), - (100075,100001,'HA-10','HCA10',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100076,100001,'HA-11','HCA11',1), - (100077,100001,'HA-12','HCA12',1), - (100078,100001,'HA-13','HCA13',1), - (100079,100001,'HA-14','HCA14',1), - (100080,100001,'HA-15','HCA15',1), - (100081,100001,'HA-16','HCA16',1), - (100082,100001,'HA-17','HCA17',1), - (100083,100001,'HA-18','HCA18',1), - (100084,100001,'HA-19','HCA19',1), - (100085,100001,'HA-20','HCA20',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100086,100001,'HA-21','HCA21',1), - (100087,100001,'HA-22','HCA22',1), - (100088,100001,'HA-23','HCA23',1), - (100089,100001,'HA-24','HCA24',1), - (100090,100001,'HA-25','HCA25',1), - (100091,100001,'HA-26','HCA26',1), - (100092,100001,'HA-27','HCA27',1), - (100093,100001,'RS-00','RIM00',1), - (100094,100001,'RS-01','RIM01',1), - (100095,100001,'RS-02','RIM02',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100096,100001,'RS-03','RIM03',1), - (100097,100001,'RS-04','RIM04',1), - (100098,100001,'RS-05','RIM05',1), - (100099,100001,'RS-06','RIM06',1), - (100100,100001,'RS-07','RIM07',1), - (100101,100001,'RS-08','RIM08',1), - (100102,100001,'RS-09','RIM09',1), - (100103,100001,'RS-10','RIM10',1), - (100104,100001,'RS-11','RIM11',1), - (100105,100001,'RS-12','RIM12',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100106,100001,'RA-00','RIMA00',1), - (100107,100001,'RA-01','RIMA01',1), - (100108,100001,'RA-02','RIMA02',1), - (100109,100001,'RA-03','RIMA03',1), - (100110,100001,'RA-04','RIMA04',1), - (100111,100001,'RA-05','RIMA05',1), - (100112,100001,'RA-06','RIMA06',1), - (100113,100001,'RA-07','RIMA07',1), - (100114,100001,'RA-08','RIMA08',1), - (100115,100001,'RA-09','RIMA09',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100116,100001,'RA-10','RIMA10',1), - (100117,100001,'RA-11','RIMA11',1), - (100118,100001,'RA-12','RIMA12',1), - (100119,100001,'RA-13','RIMA13',1), - (100120,100001,'RA-14','RIMA14',1), - (100121,100001,'RA-15','RIMA15',1), - (100122,100001,'RA-16','RIMA16',1), - (100123,100001,'RA-17','RIMA17',1), - (100124,100001,'RA-18','RIMA18',1), - (100125,100001,'RA-19','RIMA19',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100126,100001,'RA-20','RIMA20',1), - (100127,100001,'RA-21','RIMA21',1), - (100128,100001,'RA-22','RIMA22',1), - (100129,100001,'RA-23','RIMA23',1), - (100130,100001,'RA-24','RIMA24',1), - (100131,100001,'RA-25','RIMA25',1), - (100132,100001,'RA-26','RIMA26',1), - (100133,100001,'RA-27','RIMA27',1), - (100134,100001,'RA-28','RIMA28',1), - (100135,100001,'RA-29','RIMA29',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (100136,100001,'22.5" Heavy Truck Rim','RIM01',1), - (100137,100001,'Aluminum Slot','RIMA00',2), - (100138,100001,'Aluminum Round','RIMA01',1), - (100139,100001,'Aluminum Twistar 5','HCA03',2), - (100140,100001,'Aluminum Rippled Orb','HC14',2), - (100141,100001,'Aluminum Hypnotic Star 6','HC13',2), - (100142,100001,'Aluminum Super Slot 15','HCA03',2), - (100143,100001,'Aluminum Teardrop Slot 8','HCA04',2), - (100144,100001,'Aluminum Twistar 7','HCA05',2), - (100145,100001,'Aluminum Power Turbine','HCA15',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110001,110001,'18 x 5.25 Bias Ply Blackwalls (2ply)','TIREBLAC',1), - (110002,110001,'150/82/14 Bias Ply','TIREBLAC',1), - (110003,110001,'170/82/14 Bias Ply','TIREBLAC',1), - (110004,110001,'178/82/14 Bias Ply','TIREBLAC',1), - (110005,110001,'190/82/14 Bias Ply','TIREBLAC',1), - (110006,110001,'210/82/14 Bias Ply','TIREBLAC',2), - (110007,110001,'150/92/14 Bias Ply','TIREBLAC',1), - (110008,110001,'170/92/14 Bias Ply','TIREBLAC',1), - (110009,110001,'178/92/14 Bias Ply','TIREBLAC',1), - (110010,110001,'190/92/14 Bias Ply','TIREBLAC',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110011,110001,'210/92/14 Bias Ply','TIREBLAC',2), - (110012,110001,'170/82/15 Bias Ply','TIREBLAC',1), - (110013,110001,'190/82/15 Bias Ply','TIREBLAC',1), - (110014,110001,'210/82/15 Bias Ply','TIREBLAC',1), - (110015,110001,'150/92/15 Bias Ply','TIREBLAC',1), - (110016,110001,'170/92/15 Bias Ply','TIREBLAC',1), - (110017,110001,'190/92/15 Bias Ply','TIREBLAC',1), - (110018,110001,'150/92/16 Bias Ply','TIREBLAC',1), - (110019,110001,'170/92/16 Bias Ply','TIREBLAC',1), - (110020,110001,'190/92/16 Bias Ply','TIREBLAC',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110021,110001,'210/92/16 Bias Ply','TIREBLAC',1), - (110022,110001,'190/60/14 Bias Belted','TIREBLAC',1), - (110023,110001,'214/60/14 Bias Belted','TIREBLAC',1), - (110024,110001,'238/60/14 Bias Belted','TIREBLAC',1), - (110025,110001,'190/72/14 Bias Belted','TIREBLAC',1), - (110026,110001,'202/72/14 Bias Belted','TIREBLAC',1), - (110027,110001,'214/72/14 Bias Belted','TIREBLAC',1), - (110028,110001,'226/72/14 Bias Belted','TIREBLAC',1), - (110029,110001,'238/72/14 Bias Belted','TIREBLAC',1), - (110030,110001,'166/82/14 Bias Belted','TIREBLAC',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110031,110001,'178/82/14 Bias Belted','TIREBLAC',1), - (110032,110001,'190/82/14 Bias Belted','TIREBLAC',1), - (110033,110001,'202/82/14 Bias Belted','TIREBLAC',1), - (110034,110001,'214/82/14 Bias Belted','TIREBLAC',1), - (110035,110001,'178/92/14 Bias Belted','TIREBLAC',1), - (110036,110001,'202/92/14 Bias Belted','TIREBLAC',1), - (110037,110001,'178/60/15 Bias Belted','TIREBLAC',1), - (110038,110001,'202/60/15 Bias Belted','TIREBLAC',1), - (110039,110001,'226/60/15 Bias Belted','TIREBLAC',1), - (110040,110001,'238/60/15 Bias Belted','TIREBLAC',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110041,110001,'202/72/15 Bias Belted','TIREBLAC',1), - (110042,110001,'226/72/15 Bias Belted','TIREBLAC',1), - (110043,110001,'238/72/15 Bias Belted','TIREBLAC',2), - (110044,110001,'190/82/15 Bias Belted','TIREBLAC',1), - (110045,110001,'214/82/15 Bias Belted','TIREBLAC',1), - (110046,110001,'238/82/15 Bias Belted','TIREBLAC',2), - (110047,110001,'178/92/15 Bias Belted','TIREBLAC',1), - (110048,110001,'202/92/15 Bias Belted','TIREBLAC',1), - (110049,110001,'226/92/15 Bias Belted','TIREBLAC',1), - (110050,110001,'238/92/15 Bias Belted','TIREBLAC',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110051,110001,'185/65/14 Radial','TIREBLAC',1), - (110052,110001,'205/65/14 Radial','TIREBLAC',1), - (110053,110001,'195/70/14 Radial','TIREBLAC',1), - (110054,110001,'215/70/14 Radial','TIREBLAC',1), - (110055,110001,'195/75/14 Radial','TIREBLAC',1), - (110056,110001,'205/75/14 Radial','TIREBLAC',1), - (110057,110001,'195/65/15 Radial','TIREBLAC',1), - (110058,110001,'215/65/15 Radial','TIREBLAC',2), - (110059,110001,'205/70/15 Radial','TIREBLAC',1), - (110060,110001,'215/70/15 Radial','TIREBLAC',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110061,110001,'225/70/15 Radial','TIREBLAC',2), - (110062,110001,'205/75/15 Radial','TIREBLAC',1), - (110063,110001,'215/75/15 Radial','TIREBLAC',1), - (110064,110001,'235/75/15 Radial','TIREBLAC',2), - (110065,110001,'215/65/16 Radial','TIREBLAC',1), - (110066,110001,'215/60/16 Radial','TIREBLAC',1), - (110067,110001,'225/60/16 Radial','TIREBLAC',1), - (110068,110001,'225/55/16 Radial','TIREBLAC',1), - (110069,110001,'205/55/15 Radial Rain','TIREBLAC',2), - (110070,110001,'195/60/15 Radial Rain','TIREBLAC',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110071,110001,'205/60/15 Radial Rain','TIREBLAC',2), - (110072,110001,'215/60/15 Radial Rain','TIREBLAC',2), - (110073,110001,'185/65/15 Radial Rain','TIREBLAC',2), - (110074,110001,'195/65/15 Radial Rain','TIREBLAC',2), - (110075,110001,'205/65/15 Radial Rain','TIREBLAC',2), - (110076,110001,'215/65/15 Radial Rain','TIREBLAC',2), - (110077,110001,'225/55/16 Radial Rain','TIREBLAC',2), - (110078,110001,'215/60/16 Radial Rain','TIREBLAC',2), - (110079,110001,'225/60/16 Radial Rain','TIREBLAC',2), - (110080,110001,'195/55/15VR Performance','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110081,110001,'205/55/15VR Performance','TIREBLAC',3), - (110082,110001,'195/60/15VR Performance','TIREBLAC',3), - (110083,110001,'205/60/15VR Performance','TIREBLAC',3), - (110084,110001,'215/60/15VR Performance','TIREBLAC',3), - (110085,110001,'185/65/15VR Performance','TIREBLAC',3), - (110086,110001,'195/65/15VR Performance','TIREBLAC',3), - (110087,110001,'205/65/15VR Performance','TIREBLAC',3), - (110088,110001,'215/65/15VR Performance','TIREBLAC',3), - (110089,110001,'205/40/16VR Performance','TIREBLAC',3), - (110090,110001,'215/40/16VR Performance','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110091,110001,'205/45/16VR Performance','TIREBLAC',3), - (110092,110001,'215/45/16VR Performance','TIREBLAC',3), - (110093,110001,'205/50/16VR Performance','TIREBLAC',3), - (110094,110001,'225/50/16VR Performance','TIREBLAC',3), - (110095,110001,'245/50/16VR Performance','TIREBLAC',3), - (110096,110001,'205/55/16VR Performance','TIREBLAC',3), - (110097,110001,'215/55/16VR Performance','TIREBLAC',3), - (110098,110001,'225/55/16VR Performance','TIREBLAC',3), - (110099,110001,'215/60/16VR Performance','TIREBLAC',3), - (110100,110001,'225/60/16VR Performance','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110101,110001,'235/60/16VR Performance','TIREBLAC',3), - (110102,110001,'215/40/17VR Performance','TIREBLAC',3), - (110103,110001,'235/40/17VR Performance','TIREBLAC',3), - (110104,110001,'255/40/17VR Performance','TIREBLAC',3), - (110105,110001,'215/45/17VR Performance','TIREBLAC',3), - (110106,110001,'225/45/17VR Performance','TIREBLAC',3), - (110107,110001,'235/45/17VR Performance','TIREBLAC',3), - (110108,110001,'245/45/17VR Performance','TIREBLAC',3), - (110109,110001,'315/35/17VR Performance','TIREBLAC',3), - (110110,110001,'195/55/15VR Performance Rain','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110111,110001,'205/55/15VR Performance Rain','TIREBLAC',3), - (110112,110001,'195/60/15VR Performance Rain','TIREBLAC',3), - (110113,110001,'205/60/15VR Performance Rain','TIREBLAC',3), - (110114,110001,'215/60/15VR Performance Rain','TIREBLAC',3), - (110115,110001,'185/65/15VR Performance Rain','TIREBLAC',3), - (110116,110001,'195/65/15VR Performance Rain','TIREBLAC',3), - (110117,110001,'205/65/15VR Performance Rain','TIREBLAC',3), - (110118,110001,'215/65/15VR Performance Rain','TIREBLAC',3), - (110119,110001,'205/40/16VR Performance Rain','TIREBLAC',3), - (110120,110001,'205/45/16VR Performance Rain','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110121,110001,'215/45/16VR Performance Rain','TIREBLAC',3), - (110122,110001,'205/50/16VR Performance Rain','TIREBLAC',3), - (110123,110001,'225/50/16VR Performance Rain','TIREBLAC',3), - (110124,110001,'245/50/16VR Performance Rain','TIREBLAC',3), - (110125,110001,'205/55/16VR Performance Rain','TIREBLAC',3), - (110126,110001,'225/55/16VR Performance Rain','TIREBLAC',3), - (110127,110001,'215/60/16VR Performance Rain','TIREBLAC',3), - (110128,110001,'225/60/16VR Performance Rain','TIREBLAC',3), - (110129,110001,'235/60/16VR Performance Rain','TIREBLAC',3), - (110130,110001,'215/40/17VR Performance Rain','TIREBLAC',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110131,110001,'235/40/17VR Performance Rain','TIREBLAC',3), - (110132,110001,'215/45/17VR Performance Rain','TIREBLAC',3), - (110133,110001,'225/45/17VR Performance Rain','TIREBLAC',3), - (110134,110001,'235/45/17VR Performance Rain','TIREBLAC',3), - (110135,110001,'245/45/17VR Performance Rain','TIREBLAC',3), - (110136,110001,'162/68/18 Bias Belted','TIREBLAC',1), - (110137,110001,'Big Tire','TIREBLAC',1), - (110138,110001,'245/50/16VR High Performance','TIREBLAC',4), - (110139,110001,'195/60/15 Street','TIREBLAC',2), - (110140,110001,'295/80/22.5 Bus Tire','TIREBLAC',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110141,110001,'207/70/14 (D70-14)','TIREWHIT',1), - (110142,110001,'212/70/14 (E70-14)','TIREWHIT',1), - (110143,110001,'221/70/14 (F70-14)','TIREWHIT',1), - (110144,110001,'232/70/14 (G70-14)','TIREWHIT',1), - (110145,110001,'210/70/15 (E70-15)','TIREWHIT',1), - (110146,110001,'216/70/15 (F70-15)','TIREWHIT',1), - (110147,110001,'227/70/15 (G70-15)','TIREWHIT',1), - (110148,110001,'231/60/15 (F60-15)','TIREWHIT',1), - (110149,110001,'243/60/15 (G60-15)','TIREWHIT',1), - (110150,110001,'224/60/15 (E60-15)','TIREWHIT',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110151,110001,'175/65/14 Radial','TIREBLAC',1), - (110152,110001,'195/65/14 Radial','TIREBLAC',1), - (110153,110001,'185/60/14 Radial','TIREBLAC',1), - (110154,110001,'195/60/14 Radial','TIREBLAC',1), - (110155,110001,'185/65/15 Radial','TIREBLAC',1), - (110156,110001,'205/65/15 Radial','TIREBLAC',1), - (110157,110001,'195/60/15 Radial','TIRERED',1), - (110158,110001,'205/60/15 Radial','TIRERED',1), - (110159,110001,'215/60/15 Radial','TIRERED',1), - (110160,110001,'195/55/15 Radial','TIRERED',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110161,110001,'205/55/15 Radial','TIRERED',1), - (110162,110001,'195/50/15 Radial','TIRERED',1), - (110163,110001,'205/50/15 Radial','TIRERED',1), - (110164,110001,'225/50/15 Radial','TIRERED',1), - (110165,110001,'195/50/15VR Performance','TIREBLAC',2), - (110166,110001,'205/50/15VR Performance','TIREBLAC',2), - (110167,110001,'225/50/15VR Performance','TIREBLAC',2), - (110168,110001,'205/40/17VR Performance','TIREBLAC',2), - (110169,110001,'245/45/17VR High Performance','TIREBLAC',4), - (110170,110001,'225/60/16VR High Performance','TIREBLAC',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110171,110001,'225/60/16ZR SCUT','TIREBLAC',4), - (110172,110001,'245/45/17ZR SCUT','TIREBLAC',4), - (110173,110001,'245/50/16ZR SCUT','TIREBLAC',4), - (110174,110001,'225/35/17VR High Performance','TIREBLAC',4), - (110175,110001,'205/40/17VR High Performance','TIREBLAC',4), - (110176,110001,'215/40/16VR High Performance','TIREBLAC',4), - (110177,110001,'215/40/17VR High Performance','TIREBLAC',4), - (110178,110001,'225/40/16VR High Performance','TIREBLAC',4), - (110179,110001,'235/40/17VR High Performance','TIREBLAC',4), - (110180,110001,'245/40/17VR High Performance','TIREBLAC',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110181,110001,'255/40/17VR High Performance','TIREBLAC',4), - (110182,110001,'265/40/17VR High Performance','TIREBLAC',4), - (110183,110001,'205/45/16VR High Performance','TIREBLAC',4), - (110184,110001,'215/45/16VR High Performance','TIREBLAC',4), - (110185,110001,'215/45/17VR High Performance','TIREBLAC',4), - (110186,110001,'225/45/16VR High Performance','TIREBLAC',4), - (110187,110001,'225/45/17VR High Performance','TIREBLAC',4), - (110188,110001,'235/45/17VR High Performance','TIREBLAC',4), - (110189,110001,'245/45/16VR High Performance','TIREBLAC',4), - (110190,110001,'205/50/15VR High Performance','TIREBLAC',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110191,110001,'205/50/16VR High Performance','TIREBLAC',4), - (110192,110001,'205/50/17VR High Performance','TIREBLAC',4), - (110193,110001,'215/50/15VR High Performance','TIREBLAC',4), - (110194,110001,'215/50/17VR High Performance','TIREBLAC',4), - (110195,110001,'225/50/16VR High Performance','TIREBLAC',4), - (110196,110001,'235/60/15 Radial','TIREBLAC',1), - (110197,110001,'275/60/15 Radial','TIREBLAC',2), - (110198,110001,'295/60/15 Radial','TIREBLAC',3), - (110199,110001,'245/60/15 Radial','TIREBLAC',2), - (110200,110001,'255/60/15 Radial','TIREBLAC',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (110201,110001,'265/60/15 Radial','TIREBLAC',2), - (130001,130001,'3-Speed Auto (2.5/1.56/1)',NULL,1), - (130002,130001,'3-Speed Auto (2.4/1.479/1)',NULL,1), - (130003,130001,'4-Speed Auto (2.741/1.568/1/0.674)',NULL,1), - (130004,130001,'3-Speed Auto (2.52/1.52/1) A',NULL,1), - (130005,130001,'3-Speed Auto (2.482/1.482/1)',NULL,1), - (130006,130001,'4-Speed Auto (3.059/1.625/1/0.696) A',NULL,1), - (130007,130001,'4-Speed Auto (2.4/1.479/1/0.723)',NULL,1), - (130008,130001,'4-Speed Auto (2.482/1.482/1/0.75)',NULL,1), - (130009,130001,'4-Speed Auto (2.74/1.57/1/0.67)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (130010,130001,'4-Speed Auto (3.06/1.62/1/0.7)',NULL,1), - (130011,130001,'4-Speed Auto (3.97/2.55/1.55/1)',NULL,1), - (130012,130001,'3-Speed Manual (2.5/1.18/1)',NULL,1), - (130013,130001,'5-Speed Manual (2.95/1.94/1.34/1/0.63)',NULL,2), - (130014,130001,'5-Speed Manual (2.75/1.94/1.34/1/0.74)',NULL,2), - (130015,130001,'4-Speed Manual (2.64/1.61/1.23/1)',NULL,1), - (130016,130001,'4-Speed Manual (2.88/1.74/1.33/1)',NULL,1), - (130017,130001,'4-Speed Manual (3.44/2.28/1.46/1)',NULL,1), - (130018,130001,'4-Speed Manual (2.66/1.91/1.39/1)',NULL,1), - (130019,130001,'4-Speed Manual (2.22/1.64/1.28/1)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (130020,130001,'4-Speed Manual (2.65/1.93/1.39/1)',NULL,1), - (130021,130001,'Powerglide Auto (1.82/1) Chevrolet 2-Speed Powerglide',NULL,1), - (130022,130001,'Chevrolet 3-Speed Standard Ratio',NULL,1), - (130023,130001,'3-Speed Close Ratio (2.21/1.32/1)',NULL,1), - (130024,130001,'Chevrolet 3-Speed w/ Overdrive',NULL,1), - (130025,130001,'4-Speed Close Ratio (2.21/1.66/1.31/1)',NULL,2), - (130026,130001,'Ford Cruise-O-Matic (Automatic)',NULL,1), - (130027,130001,'Muncie Close-Ratio M22 (2.2/1.64/1.27/1)',NULL,2), - (130028,130001,'Muncie Early Wide-Ratio (Manual)',NULL,1), - (130029,130001,'Muncie Close-Ratio (Manual)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (130030,130001,'Muncie Wide-Ratio M20 Manual (2.52/1.88/1.46/1)',NULL,1), - (130031,130001,'1997 Corvette 4-Speed Automatic Transmission',NULL,3), - (130032,130001,'Speedliner 5-Speed Automatic Transmission',NULL,3), - (130033,130001,'Powerglide Automatic (1.76/1)',NULL,1), - (130034,130001,'Turbo Hydra-Matic 350 (Automatic)',NULL,1), - (130035,130001,'Ford C-4 Dual Range (Automatic)',NULL,1), - (130036,130001,'Borg-Warner T-10 Special Close-Ratio (Manual)',NULL,3), - (130037,130001,'Borg-Warner T-10X Special Competition (Manual)',NULL,3), - (130038,130001,'Borg-Warner T-10W Special Wide-Ratio (Manual)',NULL,3), - (130039,130001,'Borg-Warner T-10Y Second Design, Extra Low-Ratio (Manual)',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (130040,130001,'T+C Top Loader Close Ratio M (2.32/1.69/1.29/1)',NULL,1), - (130041,130001,'Ford T+C Top Loader Overdrive (Manual)',NULL,1), - (130042,130001,'Ford T+C Top Loader Overdrive2 (Manual)',NULL,1), - (130043,130001,'3-speed Synchro-Mesh (Manual)',NULL,1), - (130044,130001,'4-speed All-Synchro (Manual)',NULL,1), - (130045,130001,'Bully 727 Torqueflite A (2.45/1.45/1)',NULL,2), - (130046,130001,'Bully Turbo-Hydro 400 A (2.48/1.48/1)',NULL,2), - (130047,130001,'Borg T-85 3 spd manual',NULL,2), - (130048,130001,'Ford-o-matic Auto (1.76/1)',NULL,1), - (130049,130001,'Shift Command A (2.45/1.45/1)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (130050,130001,'Borg-Warner T56 6 Speed Auto',NULL,3), - (130051,130001,'LD 3-Speed Manual (2.5/1.18/1)',NULL,1), - (130052,130001,'Hall Helix 3-Speed Manual',NULL,4), - (130053,130001,'Hall Helix 3-Speed Automatic',NULL,4), - (130054,130001,'Super Muncie',NULL,3), - (130055,130001,'Muncie Close-Ratio M21 (2.2/1.64/1.27/1)',NULL,1), - (130056,130001,'M13 3 Speed Manual',NULL,2), - (130057,130001,'Buick Dynaflow Auto (2.4/1.479/1)',NULL,1), - (140001,140001,'Rear Differential (2.73)',NULL,1), - (140002,140001,'Rear Differential (2.93)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (140003,140001,'Rear Differential (3.00)',NULL,1), - (140004,140001,'Rear Differential (3.23)',NULL,1), - (140005,140001,'Rear Differential (3.31)',NULL,1), - (140006,140001,'Rear Differential (3.42)',NULL,2), - (140007,140001,'Rear Differential (3.50)',NULL,2), - (140008,140001,'Rear Differential (3.54)',NULL,2), - (140009,140001,'Rear Differential (3.55)',NULL,2), - (140010,140001,'Rear Differential (3.64)',NULL,2), - (140011,140001,'Rear Differential (3.70)',NULL,2), - (140012,140001,'Rear Differential (3.77)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (140013,140001,'Rear Differential (3.90)',NULL,3), - (140014,140001,'Rear Differential (4.10)',NULL,3), - (140015,140001,'Rear Differential (4.33)',NULL,3), - (140016,140001,'Ford 3.10 Differential (Ford-O-Matic)',NULL,1), - (140017,140001,'Rear Differential (3.56)',NULL,2), - (140018,140001,'GM Rear Differential 3.40 (Dynaflow)',NULL,1), - (140019,140001,'Rear Differential (3.25)',NULL,1), - (140020,140001,'Rear Differential (3.91)',NULL,3), - (140021,140001,'GM Rear Differential (3.71)',NULL,2), - (140022,140001,'Rear Differential (3.07) L',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (140023,140001,'Rear Differential (4.10) LD',NULL,1), - (140024,140001,'Rear Differential (3.90) LD',NULL,1), - (140025,140001,'Rear Differential (3.31) LD',NULL,1), - (140026,140001,'Ford 9" (3.08)',NULL,2), - (140027,140001,'Ford 9" (3.27)',NULL,2), - (140028,140001,'Ford 9" (3.45)',NULL,2), - (140029,140001,'Ford 9" (3.55)',NULL,2), - (140030,140001,'Ford 9" (3.73)',NULL,2), - (140031,140001,'Ford 9" (4.10)',NULL,3), - (140032,140001,'Ford 8" (3.08)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (140033,140001,'Ford 8" (3.27)',NULL,1), - (140034,140001,'Ford 8" (3.45)',NULL,1), - (140035,140001,'Ford 8" (3.55)',NULL,1), - (140036,140001,'Ford 8" (3.73)',NULL,1), - (140037,140001,'Ford 8" (4.10)',NULL,1), - (140038,140001,'GM 10-bolt (2.73)',NULL,1), - (140039,140001,'GM 10-bolt (3.08)',NULL,1), - (140040,140001,'GM 10-bolt (3.36)',NULL,1), - (140041,140001,'GM 10-bolt (3.55)',NULL,1), - (140042,140001,'GM 10-bolt (3.70)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (140043,140001,'GM 12-bolt (3.07)',NULL,2), - (140044,140001,'GM 12-bolt (3.31)',NULL,2), - (140045,140001,'GM 12-bolt (3.55)',NULL,2), - (140046,140001,'GM 12-bolt (3.73)',NULL,2), - (140047,140001,'GM 12-bolt (4.10)',NULL,3), - (140048,140001,'GM 12-bolt (2.73)',NULL,2), - (140049,140001,'GM 12-bolt (3.55) Police',NULL,3), - (140050,140001,'Hall 14-bolt (3.42)',NULL,3), - (140051,140001,'Hall 14-bolt (3.73)',NULL,3), - (140052,140001,'Hall 14-bolt (4.10)',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (150001,150001,'Bully Torqueflite HD Transmission Cooler',NULL,3), - (150002,150001,'Bully Turbo ND Tranmission Cooler',NULL,2), - (150003,150001,'Bully Powerglide LD Transmission Cooler',NULL,1), - (150004,150001,'Bully C-6 XHD Transmission Cooler',NULL,4), - (160001,160001,'Buick V8 322','ENGINE',2), - (160002,160001,'Buick SB V8 350','ENGINE',2), - (160003,160001,'Buick BB V8 455','ENGINE',3), - (160004,160001,'Chevy W V8 427','ENGINE',3), - (160005,160001,'Chevy V8 265','ENGINE',1), - (160006,160001,'Chevy V8 283','ENGINE',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160007,160001,'Chevy V8 302','ENGINE',1), - (160008,160001,'Chevy V8 307','ENGINE',1), - (160009,160001,'Chevy V8 327','ENGINE',2), - (160010,160001,'Cadillac L-Head V8 346','ENGINE',1), - (160011,160001,'Chevy V8 348','ENGINE',1), - (160012,160001,'Chevy V8 350','ENGINE',2), - (160013,160001,'Cadillac V8 390','ENGINE',2), - (160014,160001,'Chevy V8 396','ENGINE',2), - (160015,160001,'Chevy V8 400','ENGINE',2), - (160016,160001,'Chevy V8 409','ENGINE',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160017,160001,'Chevy V8 454','ENGINE',3), - (160018,160001,'Chevy V8 502','ENGINE',4), - (160019,160001,'Chevy V8 402','ENGINE',3), - (160020,160001,'Ford V8 351 Windsor','ENGINE',2), - (160021,160001,'Ford V8 400','ENGINE',3), - (160022,160001,'221-V8 24-bolt (32)','ENGINE',1), - (160023,160001,'Ford V8 239','ENGINE',1), - (160024,160001,'Ford V8 260','ENGINE',1), - (160025,160001,'Ford V8 272','ENGINE',1), - (160026,160001,'Ford V8 289','ENGINE',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160027,160001,'Ford V8 292','ENGINE',1), - (160028,160001,'Ford V8 302','ENGINE',1), - (160029,160001,'Ford V8 312','ENGINE',1), - (160030,160001,'Ford V8 351','ENGINE',2), - (160031,160001,'Ford V8 390','ENGINE',2), - (160032,160001,'Ford V8 406','ENGINE',3), - (160033,160001,'Ford V8 427','ENGINE',3), - (160034,160001,'Ford V8 428','ENGINE',3), - (160035,160001,'Ford V8 429','ENGINE',3), - (160036,160001,'Ford V8 352','ENGINE',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160037,160001,'Oldsmobile V8 350','ENGINE',2), - (160038,160001,'Oldsmobile V8 400','ENGINE',3), - (160039,160001,'Oldsmobile V8 455','ENGINE',3), - (160040,160001,'Pontiac V8 350','ENGINE',2), - (160041,160001,'Pontiac V8 421','ENGINE',3), - (160042,160001,'Pontiac V8 389','ENGINE',2), - (160043,160001,'Pontiac V8 400','ENGINE',3), - (160044,160001,'Pontiac V8 428','ENGINE',3), - (160045,160001,'Pontiac V8 455','ENGINE',3), - (160046,160001,'AMC V8 290 Aluminum Indy','ENGINE',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160047,160001,'Ford V8 460','ENGINE',3), - (160048,160001,'Chevy V8 427','ENGINE',3), - (160049,160001,'Hi-Pro V8 5.0L','ENGINE',4), - (160050,160001,'Mercury Flathead 255','ENGINE',1), - (160051,160001,'Chrysler V8 273','ENGINE',1), - (160052,160001,'Chrysler V8 318','ENGINE',1), - (160053,160001,'Chrysler V8 340','ENGINE',2), - (160054,160001,'Chrysler V8 360','ENGINE',2), - (160055,160001,'Chrysler V8 383','ENGINE',2), - (160056,160001,'Chrysler V8 400','ENGINE',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160057,160001,'Chrysler V8 413','ENGINE',3), - (160058,160001,'Chrysler V8 426','ENGINE',3), - (160059,160001,'Chrysler V8 440','ENGINE',3), - (160060,160001,'AMC V8 290','ENGINE',1), - (160061,160001,'AMC V8 343','ENGINE',2), - (160062,160001,'AMC V8 390','ENGINE',2), - (160063,160001,'ShadeTree V8 265','ENGINE',1), - (160064,160001,'AMC V8 360','ENGINE',2), - (160065,160001,'Chrysler V8 426 Hemi','ENGINE',4), - (160066,160001,'Ford V8 390 HP','ENGINE',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160067,160001,'Ford V8 429 Boss','ENGINE',4), - (160068,160001,'Ford V8 289 HP','ENGINE',2), - (160069,160001,'Ford V8 302 Boss','ENGINE',2), - (160070,160001,'Buick BB V8 400','ENGINE',3), - (160071,160001,'Buick BB V8 430','ENGINE',3), - (160072,160001,'Chevy V8 427 ZL1','ENGINE',4), - (160073,160001,'Buick V8 364','ENGINE',2), - (160074,160001,'Buick V8 401','ENGINE',3), - (160075,160001,'Buick V8 425','ENGINE',3), - (160076,160001,'Buick SB V8 300','ENGINE',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (160077,160001,'Buick SB V8 340','ENGINE',2), - (160078,160001,'Cadillac V8 365','ENGINE',2), - (160079,160001,'Cadillac V8 429','ENGINE',3), - (160080,160001,'Ford 385 NASCAR Mg Block','ENGINE',4), - (160081,160001,'Ford 385 NASCAR Block','ENGINE',4), - (160082,160001,'AMC V8 401','ENGINE',3), - (180001,180001,'Chevrolet SB Cast Iron Crankshaft',NULL,1), - (180002,180001,'Chevrolet BB Stock CI Crankshaft',NULL,1), - (180003,180001,'Buick BB Stock Crankshaft',NULL,1), - (180004,180001,'Buick SB Stock Crankshaft',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180005,180001,'Cadillac BB Stock Crankshaft',NULL,1), - (180006,180001,'Chevrolet BB Forged Steel Crankshaft',NULL,2), - (180007,180001,'Chevrolet SB Stock FS Crankshaft',NULL,1), - (180008,180001,'Chrysler BB Stock FS Crankshaft',NULL,1), - (180009,180001,'Chrysler SB Stock FS Crankshaft',NULL,1), - (180010,180001,'Ford BB Stock Crankshaft',NULL,1), - (180011,180001,'Ford Y Stock Crankshaft',NULL,1), - (180012,180001,'Ford Flathead Stock Crankshaft',NULL,1), - (180013,180001,'Olds BB Forged Steel Crankshaft',NULL,1), - (180014,180001,'Olds SB Stock Crankshaft',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180015,180001,'AMC Stock TI Crankshaft',NULL,1), - (180016,180001,'Pontiac Stock Crankshaft',NULL,1), - (180017,180001,'Chevrolet SB Treated Iron Crankshaft',NULL,1), - (180018,180001,'Crower Pure-Stock Chevrolet SB Crankshaft',NULL,1), - (180019,180001,'Crower Stock-Plus Chevrolet SB Crankshaft',NULL,2), - (180020,180001,'Crower Enduro Chevrolet SB Crankshaft',NULL,2), - (180021,180001,'Crower Ultra-Light Chevrolet SB Crankshaft',NULL,2), - (180022,180001,'Crower Standard Chevrolet SB Crankshaft',NULL,3), - (180023,180001,'Crower Standard Chevrolet BB Crankshaft',NULL,3), - (180024,180001,'Olds SB Forged Steel Crankshaft',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180025,180001,'Olds BB Stock Cast Iron Crankshaft',NULL,1), - (180026,180001,'Olds BB Stock Treated Iron Crankshaft',NULL,1), - (180027,180001,'Pontiac Forged Steel Crankshaft',NULL,2), - (180028,180001,'Pontiac Armasteel (TI) Crankshaft',NULL,1), - (180029,180001,'Pontiac SD Forged Steel Crankshaft',NULL,2), - (180030,180001,'Ford SB Stock TI Crankshaft',NULL,1), - (180031,180001,'Ford BB Truck Forged Steel Crankshaft',NULL,1), - (180032,180001,'Ford BB 427 MR Forged Steel Crankshaft',NULL,2), - (180033,180001,'Ford BB Treated Iron Crankshaft',NULL,2), - (180034,180001,'Ford SB Boss (TI) Crankshaft',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180035,180001,'Ford BB Forged Steel Crankshaft',NULL,2), - (180036,180001,'Chrysler BB Stock CI Crankshaft',NULL,1), - (180037,180001,'Chrysler Hemi (FS) Crankshaft',NULL,2), - (180038,180001,'Chrysler SB Stock CI Crankshaft',NULL,1), - (180039,180001,'Crower Enduro Chevrolet BB Crankshaft',NULL,2), - (180040,180001,'Crower Ultra-Light Chevrolet BB Crankshaft',NULL,2), - (180041,180001,'Crower Enduro Ford SB Crankshaft',NULL,2), - (180042,180001,'Crower Standard Ford SB Crankshaft',NULL,3), - (180043,180001,'Crower Enduro Ford BB Crankshaft',NULL,2), - (180044,180001,'Crower Standard Ford BB Crankshaft',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180045,180001,'Crower Enduro Chrysler BB Crankshaft',NULL,2), - (180046,180001,'Crower Enduro Chrysler SB Crankshaft',NULL,2), - (180047,180001,'Crower Standard Chrysler BB Crankshaft',NULL,3), - (180048,180001,'Crower Standard Chrysler SB Crankshaft',NULL,3), - (180049,180001,'Buick Nailhead Stock FS Crankshaft',NULL,1), - (180050,180001,'Ford BB HD CI Crankshaft',NULL,2), - (180051,180001,'Ford SB HP TI Crankshaft',NULL,2), - (180052,180001,'AMC Group 19 Crankshaft',NULL,2), - (180053,180001,'Cadillac L-Head Crankshaft',NULL,1), - (180054,180001,'Ford Cleveland Block Stock Crankshaft',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180055,180001,'Ford Cleveland Block Boss Crankshaft',NULL,2), - (180056,180001,'Ford 385 Block Stock CI Crankshaft',NULL,1), - (180057,180001,'Ford 385 Block Boss FS Crankshaft',NULL,2), - (180058,180001,'Ford 385 Block NASCAR Crankshaft',NULL,4), - (180059,180001,'Ford Y Truck Crankshaft',NULL,1), - (180060,180001,'Chevrolet W Stock FS Crankshaft',NULL,1), - (180061,180001,'Buick Nailhead Lightweight Crankshaft',NULL,2), - (180062,180001,'Buick SB Lightweight Crankshaft',NULL,2), - (180063,180001,'Buick BB Lightweight Crankshaft',NULL,2), - (180064,180001,'Cadillac L-Head Lightweight Crankshaft',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180065,180001,'Cadillac Lightweight Crankshaft',NULL,2), - (180066,180001,'Chevrolet W Block Lightweight Crankshaft',NULL,2), - (180067,180001,'Chrysler Hemi Lightweight Crankshaft',NULL,2), - (180068,180001,'Ford Flathead Lightweight Crankshaft',NULL,2), - (180069,180001,'Oldsmobile SB Lightweight Crankshaft',NULL,2), - (180070,180001,'Oldsmobile BB Lightweight Crankshaft',NULL,2), - (180071,180001,'Newcomb Y Block Stump Puller Crankshaft',NULL,2), - (180072,180001,'Newcomb Y Block Street Max Crankshaft',NULL,2), - (180073,180001,'Newcomb Y Block Super Max Crankshaft',NULL,2), - (180074,180001,'Duro Rod Y Block Marathon Crankshaft',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180075,180001,'Duro Rod Y Block Lightweight Crankshaft',NULL,2), - (180076,180001,'Duro Rod Y Block Champion Crankshaft',NULL,2), - (180077,180001,'Hedgely Y Block Super 292 Crankshaft',NULL,1), - (180078,180001,'Hedgely Y Block Super 312 Crankshaft',NULL,2), - (180079,180001,'Duro Rod Ford SB Champion Crank',NULL,2), - (180080,180001,'Newcomb Ford SB Super Max Crank',NULL,2), - (180081,180001,'Newcomb Ford SB Street Max Crank',NULL,2), - (180082,180001,'Newcomb Buick Nailhead Stump Puller Crank',NULL,2), - (180083,180001,'Newcomb Buick Nailhead Super Max Crank',NULL,2), - (180084,180001,'Newcomb Buick Nailhead Street Max Crank',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180085,180001,'Hedgely Buick Nailhead Super 300 Crank',NULL,1), - (180086,180001,'Hedgely Buick Nailhead Super 400 Crank',NULL,2), - (180087,180001,'Duro Rod Buick Nailhead Champion Crank',NULL,2), - (180088,180001,'Duro Rod Buick Nailhead Lightweight Crank',NULL,2), - (180089,180001,'Duro Rod Buick Nailhead Marathon Crank',NULL,2), - (180090,180001,'Hedgely Chrysler SB Super 340 Crank',NULL,2), - (180091,180001,'Duro Rod Chrysler SB Lightweight Crank',NULL,2), - (180092,180001,'Duro Rod Chrysler SB Marathon Crank',NULL,2), - (180093,180001,'Percy Chrysler SB Lightweight Crank',NULL,3), - (180094,180001,'Duro Rod Pontiac Lightweight Crank',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180095,180001,'Duro Rod Pontiac Marathon Crank',NULL,2), - (180096,180001,'Hedgely Pontiac SD Special Crank',NULL,2), - (180097,180001,'Newcomb Cleveland Stump Puller Crank',NULL,1), - (180098,180001,'Newcomb Cleveland Street Max Crank',NULL,2), - (180099,180001,'Newcomb Cleveland Super Max Crank',NULL,3), - (180100,180001,'Duro Rod Cleveland Contender Crank',NULL,1), - (180101,180001,'Duro Rod Cleveland Champion Crank',NULL,2), - (180102,180001,'Duro Rod Cleveland Lightweight Crank',NULL,3), - (180103,180001,'Duro Rod Cleveland Marathon Crank',NULL,3), - (180104,180001,'Duro Rod Cleveland Legend Crank',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180105,180001,'Newcomb Ford 385 Stump Puller Crank',NULL,1), - (180106,180001,'Newcomb Ford 385 Street Max Crank',NULL,2), - (180107,180001,'Newcomb Ford 385 Super Max Crank',NULL,3), - (180108,180001,'Duro Rod Ford 385 Contender Crank',NULL,1), - (180109,180001,'Duro Rod Ford 385 Champion Crank',NULL,2), - (180110,180001,'Duro Rod Ford 385 Lightweight Crank',NULL,3), - (180111,180001,'Duro Rod Ford 385 Marathon Crank',NULL,3), - (180112,180001,'Duro Rod Ford 385 Legend Crank',NULL,4), - (180113,180001,'Newcomb Hemi Stump Puller Crank',NULL,1), - (180114,180001,'Newcomb Hemi Street Max Crank',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180115,180001,'Newcomb Hemi Super Max Crank',NULL,3), - (180116,180001,'Duro Rod Hemi Contender Crank',NULL,1), - (180117,180001,'Duro Rod Hemi Champion Crank',NULL,2), - (180118,180001,'Duro Rod Hemi Lighweight Crank',NULL,3), - (180119,180001,'Duro Rod Hemi Marathon Crank',NULL,3), - (180120,180001,'Duro Rod Hemi Legend Crank',NULL,4), - (180121,180001,'Newcomb Cadillac BB Stump Puller Crank',NULL,1), - (180122,180001,'Newcomb Cadillac BB Street Max Crank',NULL,2), - (180123,180001,'Newcomb Cadillac BB Super Max Crank',NULL,3), - (180124,180001,'Duro Rod Cadillac BB Contender Crank',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180125,180001,'Duro Rod Cadillac BB Champion Crank',NULL,2), - (180126,180001,'Duro Rod Cadillac BB Lightweight Crank',NULL,3), - (180127,180001,'Duro Rod Cadillac BB Marathon Crank',NULL,3), - (180128,180001,'Duro Rod Cadillac BB Legend Crank',NULL,4), - (180129,180001,'Duro Rod Chevy W Contender Crank',NULL,2), - (180130,180001,'Duro Rod Chevy W Champion Crank',NULL,2), - (180131,180001,'Duro Rod Chevy W Lightweight Crank',NULL,3), - (180132,180001,'Duro Rod Chevy W Marathon Crank',NULL,3), - (180133,180001,'Duro Rod Chevy W Legend Crank',NULL,4), - (180134,180001,'Newcomb Chevy W Stump Puller Crank',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180135,180001,'Newcomb Chevy W Street Max Crank',NULL,2), - (180136,180001,'Newcomb Chevy W Super Max Crank',NULL,3), - (180137,180001,'Newcomb AMC Stump Puller Crank',NULL,1), - (180138,180001,'Newcomb AMC Street Max Crank',NULL,2), - (180139,180001,'Newcomb AMC Super Max Crank',NULL,3), - (180140,180001,'Duro Rod AMC Contender Crank',NULL,1), - (180141,180001,'Duro Rod AMC Champion Crank',NULL,2), - (180142,180001,'Duro Rod AMC Lightweight Crank',NULL,3), - (180143,180001,'Duro Rod AMC Marathon Crank',NULL,3), - (180144,180001,'Duro Rod AMC Legend Crank',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180145,180001,'Newcomb Olds BB Stump Puller Crank',NULL,1), - (180146,180001,'Newcomb Olds BB Street Max Crank',NULL,2), - (180147,180001,'Newcomb Olds BB Super Max Crank',NULL,3), - (180148,180001,'Duro Rod Olds BB Contender Crank',NULL,1), - (180149,180001,'Duro Rod Olds BB Champion Crank',NULL,2), - (180150,180001,'Duro Rod Olds BB Lightweight Crank',NULL,3), - (180151,180001,'Duro Rod Olds BB Marathon Crank',NULL,3), - (180152,180001,'Duro Rod Olds BB Legend Crank',NULL,4), - (180153,180001,'Newcomb Chrylser BB Stump Puller Crank',NULL,1), - (180154,180001,'Newcomb Chrysler BB Street Max Crank',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180155,180001,'Newcomb Chrysler BB Super Max Crank',NULL,3), - (180156,180001,'Duro Rod Chrysler BB Contender Crank',NULL,1), - (180157,180001,'Duro Rod Chrysler BB Champion Crank',NULL,2), - (180158,180001,'Duro Rod Chrysler BB Lightweight Crank',NULL,3), - (180159,180001,'Duro Rod Chrysler BB Marathon Crank',NULL,3), - (180160,180001,'Duro Rod Chrysler BB Legend Crank',NULL,4), - (180161,180001,'Newcomb Ford BB Stump Puller Crank',NULL,1), - (180162,180001,'Newcomb Ford BB Street Max Crank',NULL,2), - (180163,180001,'Newcomb Ford BB Super Max Crank',NULL,3), - (180164,180001,'Duro Rod Ford BB Contender Crank',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180165,180001,'Duro Rod Ford BB Champion Crank',NULL,2), - (180166,180001,'Duro Rod Ford BB Lightweight Crank',NULL,3), - (180167,180001,'Duro Rod Ford BB Marathon Crank',NULL,3), - (180168,180001,'Duro Rod Ford BB Legend Crank',NULL,4), - (180169,180001,'Newcomb Chevy BB Stump Puller Crank',NULL,1), - (180170,180001,'Newcomb Chevy BB Street Max Crank',NULL,2), - (180171,180001,'Newcomb Chevy BB Super Max Crank',NULL,3), - (180172,180001,'Duro Rod Chevy BB Contender Crank',NULL,1), - (180173,180001,'Duro Rod Chevy BB Champion Crank',NULL,2), - (180174,180001,'Duro Rod Chevy BB Lightweight Crank',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (180175,180001,'Duro Rod Chevy BB Marathon Crank',NULL,3), - (180176,180001,'Duro Rod Chevy BB Legend Crank',NULL,4), - (190001,190001,'Ford SB Boss 302 Rod',NULL,2), - (190002,190001,'Ford BB HD Capscrew Rod',NULL,2), - (190003,190001,'Ford BB HP 390 Rod',NULL,2), - (190004,190001,'Pontiac Ram Air V Rod',NULL,2), - (190005,190001,'Cadillac BB Stock CI Rod',NULL,1), - (190006,190001,'Pontiac CI Stock Rod',NULL,1), - (190007,190001,'Buick BB Stock Rod',NULL,1), - (190008,190001,'Buick Nailhead Stock Rod',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190009,190001,'Cadillac BB Stock Rod',NULL,1), - (190010,190001,'Chevrolet BB Stock Rod',NULL,1), - (190011,190001,'Chevrolet SB Stock Rod',NULL,1), - (190012,190001,'Chrysler BB Stock Rod',NULL,1), - (190013,190001,'Chrysler SB Stock Rod',NULL,1), - (190014,190001,'Ford BB Stock Rod',NULL,1), - (190015,190001,'Ford SB Stock Rod',NULL,1), - (190016,190001,'Ford Flathead Stock Rod',NULL,1), - (190017,190001,'Olds BB Stock Rod',NULL,1), - (190018,190001,'Olds SB Stock Rod',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190019,190001,'AMC Stock Rod',NULL,1), - (190020,190001,'Pontiac Stock Rod',NULL,1), - (190021,190001,'Crower Sportsman Ford SB Rod',NULL,2), - (190022,190001,'Crower Billet Steel Ford SB Rod',NULL,3), - (190023,190001,'Crower Lightweight Billet Steel Ford SB Rod',NULL,3), - (190024,190001,'Crower Maxi-Light 93 Billet Steel Ford SB Rod',NULL,3), - (190025,190001,'Crower Titanium Ford BB Rod',NULL,4), - (190026,190001,'Ford BB Le Mans Capscrew Rod',NULL,4), - (190027,190001,'Ford BB PI Rod',NULL,2), - (190028,190001,'Ford 385 Boss Rod',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190029,190001,'Ford 385 820-S Rod',NULL,4), - (190030,190001,'Ford 385 820-T Rod',NULL,3), - (190031,190001,'Chrysler BB HD Rod',NULL,2), - (190032,190001,'Crower Sportsman Chevrolet SB Rod',NULL,2), - (190033,190001,'Crower Sportsman Chevrolet BB Rod',NULL,2), - (190034,190001,'Crower Billet Steel Ford BB Rod',NULL,2), - (190035,190001,'Crower Billet Steel Pontiac Rod',NULL,2), - (190036,190001,'Crower Billet Steel Olds BB Rod',NULL,2), - (190037,190001,'Crower Billet Steel Buick BB Rod',NULL,2), - (190038,190001,'Crower Billet Steel Chevrolet BB Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190039,190001,'Crower Billet Steel Chevrolet SB Rod',NULL,2), - (190040,190001,'Crower Lightweight Billet Steel Buick BB Rod',NULL,2), - (190041,190001,'Crower Lightweight Billet Steel Chevrolet BB Rod',NULL,2), - (190042,190001,'Crower Lightweight Billet Steel Chevrolet SB Rod',NULL,2), - (190043,190001,'Crower Lightweight Billet Steel Ford BB Rod',NULL,2), - (190044,190001,'Crower Lightweight Billet Steel Olds BB Rod',NULL,2), - (190045,190001,'Crower Lightweight Billet Steel Pontiac Rod',NULL,2), - (190046,190001,'Crower Maxi-Light 93 Billet Steel Chevrolet SB Rod',NULL,3), - (190047,190001,'Crower Titanium Buick BB Rod',NULL,4), - (190048,190001,'Crower Titanium Chevrolet BB Rod',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190049,190001,'Crower Titanium Chevrolet SB Rod',NULL,4), - (190050,190001,'Lunati Forged Aluminum Chevrolet SB Rod',NULL,2), - (190051,190001,'Lunati Forged Aluminum Chevrolet BB Rod',NULL,2), - (190052,190001,'Lunati Street Race Ford SB Rod',NULL,2), - (190053,190001,'Lunati Street Race Chevrolet SB Rod',NULL,2), - (190054,190001,'Lunati Street Race Chevrolet BB Rod',NULL,2), - (190055,190001,'Lunati Pro Billet Ford SB Rod',NULL,3), - (190056,190001,'Lunati Pro Billet Chevrolet SB Rod',NULL,3), - (190057,190001,'Lunati Pro Billet Chevrolet BB Rod',NULL,3), - (190058,190001,'Lunati Pro Mod Chevrolet SB Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190059,190001,'Lunati Pro Mod Chevrolet BB Rod',NULL,2), - (190060,190001,'Lunati Sportsman H-Beam Chevrolet SB Rod',NULL,2), - (190061,190001,'Lunati Sportsman H-Beam Chevrolet BB Rod',NULL,2), - (190062,190001,'Lunati Sportsman H-Beam Ford BB Rod',NULL,2), - (190063,190001,'Lunati Sportsman H-Beam Ford SB Rod',NULL,2), - (190064,190001,'Lunati Sportsman H-Beam Chrysler BB Rod',NULL,2), - (190065,190001,'Lunati Sportsman H-Beam Pontiac Rod',NULL,2), - (190066,190001,'Chevrolet SB 400 FS Rod',NULL,1), - (190067,190001,'Chevrolet W HD FS Rod',NULL,2), - (190068,190001,'AMC Stock TI Rod',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190069,190001,'Chrysler Hemi Rods',NULL,3), - (190070,190001,'Cadillac L-Head Rods',NULL,1), - (190071,190001,'Buick SB Cast Iron Connecting Rod',NULL,1), - (190072,190001,'Ford Cleveland Block Stock Rods',NULL,1), - (190073,190001,'Ford Cleveland Block Boss Rods',NULL,2), - (190074,190001,'Ford 385 Block Stock Rod',NULL,1), - (190075,190001,'Ford SB HP Rod',NULL,2), - (190076,190001,'Ford Y Stock Rods',NULL,1), - (190077,190001,'Ford Y Truck Rods',NULL,1), - (190078,190001,'Buick Nailhead 364 Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190079,190001,'Buick SB FS Rod',NULL,2), - (190080,190001,'Cadillac L-Head FS Rod',NULL,2), - (190081,190001,'Chevrolet W Stock FS Rod',NULL,1), - (190082,190001,'Lunati Sportsman H-Beam Chevrolet W Rod',NULL,2), - (190083,190001,'Crower Billet Steel Chrysler SB Rod',NULL,2), - (190084,190001,'Crower Billet Steel Chrysler Hemi Rod',NULL,3), - (190085,190001,'Crower Lightweight Billet Steel Chrysler Hemi Rod',NULL,3), - (190086,190001,'Crower Titanium Chrysler Hemi Rod',NULL,4), - (190087,190001,'Lunati Pro Billet Chrysler Hemi Rod',NULL,3), - (190088,190001,'Edelbrock Ford Flathead FS Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190089,190001,'Olds SB W-31 FS Rod',NULL,2), - (190090,190001,'Newcomb Y Block Stump Puller Rod',NULL,1), - (190091,190001,'Newcomb Y Block Street Max Rod',NULL,2), - (190092,190001,'Newcomb Y Block Super Max Rod',NULL,2), - (190093,190001,'Duro Rod Y Block Marathon Rod',NULL,1), - (190094,190001,'Duro Rod Y Block Lightweight Rod',NULL,2), - (190095,190001,'Duro Rod Y Block Champion Rod',NULL,2), - (190096,190001,'Duro Rod Y Block Legend Rod',NULL,3), - (190097,190001,'Hedgely Y Block Extra Y Rod',NULL,1), - (190098,190001,'Hedgely Y Block T-Bird Special Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190099,190001,'Hedgely Buick Nailhead Century Special Rod',NULL,1), - (190100,190001,'Hedgely Buick Nailhead Riviera Special Rod',NULL,2), - (190101,190001,'Duro Rod Buick Nailhead Champion Rod',NULL,2), - (190102,190001,'Duro Rod Buick Nailhead Legend Rod',NULL,3), - (190103,190001,'Duro Rod Buick Nailhead Lightweight Rod',NULL,2), - (190104,190001,'Duro Rod Buick Nailhead Marathon Rod',NULL,2), - (190105,190001,'Newcomb Buick Nailhead Stump Puller Rod',NULL,2), - (190106,190001,'Newcomb Buick Nailhead Street Max Rod',NULL,2), - (190107,190001,'Newcomb Buick Nailhead Super Max Rod',NULL,3), - (190108,190001,'Hedgely Ford SB T351 Billet Rod',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190109,190001,'Hedgely Ford SB Power I Rod',NULL,2), - (190110,190001,'Percy Chrysler SB Replica Rod',NULL,1), - (190111,190001,'Percy Chrysler SB Replica Street Racer Rod',NULL,2), - (190112,190001,'Percy Chrysler SB Factory Lightweight Rod',NULL,3), - (190113,190001,'Duro Rod Chrysler SB Marathon Rod',NULL,2), - (190114,190001,'Duro Rod Chrysler SB Lightweight Rod',NULL,2), - (190115,190001,'Newcomb Chrysler SB Street Max Rod',NULL,2), - (190116,190001,'Duro Rod Pontiac Champion Rod',NULL,2), - (190117,190001,'Duro Rod Pontiac Lightweight Rod',NULL,2), - (190118,190001,'Duro Rod Pontiac Marathon Rod',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190119,190001,'Newcomb Cleveland Stump Puller Rod',NULL,1), - (190120,190001,'Newcomb Cleveland Street Max Rod',NULL,2), - (190121,190001,'Newcomb Cleveland Super Max Rod',NULL,3), - (190122,190001,'Duro Rod Cleveland Lightweight Rod',NULL,3), - (190123,190001,'Duro Rod Cleveland Marathon Rod',NULL,3), - (190124,190001,'Duro Rod Cleveland Legend Rod',NULL,4), - (190125,190001,'Newcomb Ford 385 Stump Puller Rod',NULL,1), - (190126,190001,'Newcomb Ford 385 Street Max Rod',NULL,2), - (190127,190001,'Newcomb Ford 385 Super Max Rod',NULL,3), - (190128,190001,'Duro Rod Ford 385 Lightweight Rod',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190129,190001,'Duro Rod Ford 385 Marathon Rod',NULL,3), - (190130,190001,'Duro Rod Ford 385 Legend Rod',NULL,4), - (190131,190001,'Duro Rod Hemi Champion Rod',NULL,2), - (190132,190001,'Duro Rod Hemi Lightweight Rod',NULL,3), - (190133,190001,'Duro Rod Hemi Marathon Rod',NULL,3), - (190134,190001,'Duro Rod Hemi Legend Rod',NULL,4), - (190135,190001,'Duro Rod Cadillac BB Champion Rod',NULL,2), - (190136,190001,'Duro Rod Cadillac BB Lightweight Rod',NULL,3), - (190137,190001,'Duro Rod Cadillac BB Marathon Rod',NULL,3), - (190138,190001,'Duro Rod Cadillac BB Legend Rod',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190139,190001,'Newcomb Cadillac BB Stump Puller Rod',NULL,1), - (190140,190001,'Newcomb Cadillac BB Street Max Rod',NULL,2), - (190141,190001,'Newcomb Cadillac BB Super Max Rod',NULL,3), - (190142,190001,'Newcomb Chevy W Stump Puller Rod',NULL,1), - (190143,190001,'Newcomb Chevy W Street Max Rod',NULL,2), - (190144,190001,'Newcomb Chevy W Super Max Rod',NULL,3), - (190145,190001,'Duro Rod Chevy W Contender Rod',NULL,1), - (190146,190001,'Duro Rod Chevy W Champion Rod',NULL,2), - (190147,190001,'Duro Rod Chevy W Lightweight Rod',NULL,3), - (190148,190001,'Duro Rod Chevy W Marathon Rod',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190149,190001,'Duro Rod Chevy W Legend Rod',NULL,4), - (190150,190001,'Newcomb AMC Stump Puller Rod',NULL,1), - (190151,190001,'Newcomb AMC Street Max Rod',NULL,2), - (190152,190001,'Newcomb AMC Super Max Rod',NULL,3), - (190153,190001,'Duro Rod AMC Contender Rod',NULL,1), - (190154,190001,'Duro Rod AMC Champion Rod',NULL,2), - (190155,190001,'Duro Rod AMC Lightweight Rod',NULL,3), - (190156,190001,'Duro Rod AMC Marathon Rod',NULL,3), - (190157,190001,'Duro Rod AMC Legend Rod',NULL,4), - (190158,190001,'Duro Rod Olds BB Contender Rod',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190159,190001,'Duro Rod Olds BB Champion Rod',NULL,2), - (190160,190001,'Duro Rod Olds BB Lightweight Rod',NULL,3), - (190161,190001,'Duro Rod Olds BB Marathon Rod',NULL,3), - (190162,190001,'Duro Rod Olds BB Legend Rod',NULL,4), - (190163,190001,'Newcomb Chrysler BB Stump Puller Rod',NULL,1), - (190164,190001,'Newcomb Chrysler BB Street Max Rod',NULL,2), - (190165,190001,'Newcomb Chrylser BB Super Max Rod',NULL,3), - (190166,190001,'Duro Rod Chrysler BB Contender Rod',NULL,1), - (190167,190001,'Duro Rod Chrysler BB Champion Rod',NULL,2), - (190168,190001,'Duro Rod Chrysler BB Lightweight Rod',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (190169,190001,'Duro Rod Chrysler BB Marathon Rod',NULL,3), - (190170,190001,'Duro Rod Chrysler BB Legend Rod',NULL,4), - (190171,190001,'Duro Rod Ford BB Contender Rod',NULL,1), - (190172,190001,'Duro Rod Ford BB Champion Rod',NULL,2), - (190173,190001,'Duro Rod Ford BB Lightweight Rod',NULL,3), - (190174,190001,'Duro Rod Ford BB Marathon Rod',NULL,3), - (190175,190001,'Duro Rod Ford BB Legend Rod',NULL,4), - (200001,200001,'Ford BB Flat Top Piston',NULL,1), - (200002,200001,'Ford SB Flat Top Piston',NULL,1), - (200003,200001,'Chevrolet BB Flat Top Piston',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200004,200001,'JE Pistons Domed Top Ford BB Piston',NULL,2), - (200005,200001,'Ford BB Cammer Pop-up Piston',NULL,4), - (200006,200001,'Chevrolet SB Flat Top Piston',NULL,1), - (200007,200001,'JE Pistons Wedge Top Ford Y Piston',NULL,2), - (200008,200001,'Ford BB Recessed Top Piston',NULL,1), - (200009,200001,'Chrysler SB Flat Top Piston',NULL,1), - (200010,200001,'AMC Group 19 Piston',NULL,2), - (200011,200001,'Chevrolet W Z11 Domed Top (3.25) Piston',NULL,4), - (200012,200001,'Pontiac Ram Air IV Forged Aluminum Piston',NULL,2), - (200013,200001,'JE Pistons Domed Top Ford SB Piston',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200014,200001,'Ford 385 Boss Piston',NULL,2), - (200015,200001,'Chrysler BB Flat Top Piston',NULL,1), - (200016,200001,'Buick BB Flat Top Piston',NULL,1), - (200017,200001,'Buick SB Flat Top Piston',NULL,1), - (200018,200001,'Cadillac BB Flat Top Piston',NULL,1), - (200019,200001,'Ford Flathead Flat Top Piston',NULL,1), - (200020,200001,'Olds BB Flat Top Piston',NULL,1), - (200021,200001,'Olds SB Flat Top Piston',NULL,1), - (200022,200001,'AMC Flat Top Piston',NULL,1), - (200023,200001,'Pontiac Flat Top Piston',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200024,200001,'Chevrolet SB Flat Top Forged Aluminum Piston',NULL,2), - (200025,200001,'Buick BB Stage I Piston',NULL,2), - (200026,200001,'Buick BB Stage II Piston',NULL,2), - (200027,200001,'Pontiac Flat Top Forged Aluminum Piston',NULL,2), - (200028,200001,'Ford BB Flat Top Forged Aluminum Piston',NULL,2), - (200029,200001,'Chrysler BB Flat Top Forged Aluminum Piston',NULL,2), - (200030,200001,'Chevrolet W Domed Top (0.75) Piston',NULL,2), - (200031,200001,'JE Pistons Wedge Top Ford SB Piston',NULL,2), - (200032,200001,'JE Pistons Wedge Top Chevrolet SB Piston',NULL,2), - (200033,200001,'JE Pistons Wedge Top Chevrolet BB Piston',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200034,200001,'JE Pistons Wedge Top Buick BB Piston',NULL,2), - (200035,200001,'JE Pistons Wedge Top Olds BB Piston',NULL,2), - (200036,200001,'JE Pistons Domed Top Chevrolet SB Piston',NULL,2), - (200037,200001,'JE Pistons Domed Top Chevrolet BB Piston',NULL,2), - (200038,200001,'JE Pistons Wedge Top Chrysler BB Piston',NULL,2), - (200039,200001,'JE Pistons Domed Top Chrysler BB Piston',NULL,2), - (200040,200001,'JE Pistons Domed Top Buick BB Piston',NULL,2), - (200041,200001,'JE Pistons Domed Top Olds BB Piston',NULL,2), - (200042,200001,'Ford Y Domed Top Piston',NULL,2), - (200043,200001,'Ford BB LR Domed (0.4) Piston',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200044,200001,'Ford BB Recessed (-0.1) Piston',NULL,1), - (200045,200001,'Chrysler BB Wedge (0.1) Piston',NULL,2), - (200046,200001,'Chevrolet BB Flat Top Forged Aluminum Piston',NULL,2), - (200047,200001,'Chevrolet SB Z28 Recessed Top Piston',NULL,2), - (200048,200001,'Chevrolet W Recessed (-0.75) Cast Al. Piston',NULL,1), - (200049,200001,'Chevrolet W Domed Top (1.0) Piston',NULL,2), - (200050,200001,'Chevrolet W Recessed (-0.25) FA Piston',NULL,1), - (200051,200001,'Chevrolet BB Wedge Top FA Piston',NULL,3), - (200052,200001,'Olds BB Wedge Top Piston',NULL,2), - (200053,200001,'Chrysler Hemi Flat Top FA Piston',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200054,200001,'Ford SB Boss 302 FA Piston',NULL,2), - (200055,200001,'Cadillac L-Head Piston',NULL,1), - (200056,200001,'Buick Nailhead Recessed (-0.5) Piston',NULL,1), - (200057,200001,'Buick Nailhead Flat Top (0.0) Piston',NULL,1), - (200058,200001,'Buick Nailhead Wedge Top (0.5) Piston',NULL,1), - (200059,200001,'Buick Nailhead Domed Top (1.0) Piston',NULL,1), - (200060,200001,'JE Pistons Chrysler SB FT FA Piston',NULL,1), - (200061,200001,'Ford Cleveland Block Stock Piston',NULL,1), - (200062,200001,'Ford Cleveland Block FT FA Piston',NULL,1), - (200063,200001,'Ford 385 Block Stock Piston',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200064,200001,'Ford 385 Block CJ Piston',NULL,2), - (200065,200001,'Ford Y Stock CA Piston',NULL,1), - (200066,200001,'Buick SB Wedge Top Piston',NULL,2), - (200067,200001,'Cadillac L-Head FA Piston',NULL,1), - (200068,200001,'Cadillac L-Head Wedge Top Piston',NULL,2), - (200069,200001,'Cadillac BB Wedge Top Piston',NULL,2), - (200070,200001,'Chrysler Hemi Wedge Top FA Piston',NULL,3), - (200071,200001,'Chrysler Hemi Recessed Top FA Piston',NULL,3), - (200072,200001,'Ford Flathead Wedge Top Piston',NULL,2), - (200073,200001,'Ford Flathead Domed Top Piston',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200074,200001,'Oldsmobile SB Wedge Top Piston',NULL,2), - (200075,200001,'Blinsky HiPo Adept Piston',NULL,4), - (200076,200001,'Newcomb Y Block Wedge (.15)',NULL,1), - (200077,200001,'Newcomb Y Block Wedge (.35)',NULL,2), - (200078,200001,'Newcomb Y Block Wedge (.4)',NULL,2), - (200079,200001,'Newcomb Y Block Wedge (.2)',NULL,1), - (200080,200001,'Newcomb Y Block Wedge (.3)',NULL,2), - (200081,200001,'Duro Rod Y Block Domed (.1)',NULL,1), - (200082,200001,'Duro Rod Y Block Domed (.45)',NULL,2), - (200083,200001,'Duro Rod Y Block Domed (.2)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200084,200001,'Duro Rod Y Block Domed (.35)',NULL,2), - (200085,200001,'Duro Rod Y Block Domed (.5)',NULL,2), - (200086,200001,'C&B Chevy SB Domed (.1)',NULL,1), - (200087,200001,'C&B Chevy SB Domed (.2)',NULL,1), - (200088,200001,'C&B Chevy SB Domed (.3)',NULL,1), - (200089,200001,'C&B Chevy SB Domed (.4)',NULL,2), - (200090,200001,'C&B Chevy SB Domed (.5)',NULL,2), - (200091,200001,'C&B Chevy SB Domed (.6)',NULL,2), - (200092,200001,'C&B Chevy SB Domed (.75)',NULL,3), - (200093,200001,'JE Chevy SB Domed (.3)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200094,200001,'JE Chevy SB Domed (.2)',NULL,2), - (200095,200001,'JE Chevy SB Wedge (.15)',NULL,2), - (200096,200001,'JE Chevy SB Wedge (.35)',NULL,2), - (200097,200001,'JE Ford SB Domed (.3)',NULL,2), - (200098,200001,'JE Ford SB Domed (.75)',NULL,2), - (200099,200001,'JE Ford SB Wedge (.5)',NULL,2), - (200100,200001,'JE Ford SB Wedge (.15)',NULL,1), - (200101,200001,'Duro Rod Ford SB Domed (.2)',NULL,1), - (200102,200001,'Duro Rod Ford SB Domed (.35)',NULL,2), - (200103,200001,'Duro Rod Ford SB Domed (.65)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200104,200001,'Newcomb Ford SB Wedge (.3)',NULL,2), - (200105,200001,'Newcomb Ford SB Wedge (.6)',NULL,2), - (200106,200001,'Newcomb Ford SB Recessed (-.45)',NULL,2), - (200107,200001,'Duro Rod Ford SB Recessed (-.15)',NULL,1), - (200108,200001,'Newcomb Ford SB Recessed (-.25)',NULL,1), - (200109,200001,'JE Ford SB Wedge (.4)',NULL,2), - (200110,200001,'Duro Rod Buick Nailhead Domed (.3)',NULL,2), - (200111,200001,'Duro Rod Buick Nailhead Domed (.5)',NULL,2), - (200112,200001,'Newcomb Buick Nailhead Domed (.25)',NULL,1), - (200113,200001,'Duro Rod Buick Nailhead Wedge (.25)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200114,200001,'Newcomb Buick Nailhead Wedge (.35)',NULL,2), - (200115,200001,'Duro Rod Buick Nailhead Wedge (.15)',NULL,1), - (200116,200001,'Newcomb Buick Nailhead Recessed (-.2)',NULL,1), - (200117,200001,'Duro Rod Buick Nailhead Recessed (-.1)',NULL,1), - (200118,200001,'Newcomb Buick Nailhead Recessed (-.25)',NULL,2), - (200119,200001,'Duro Rod Buick Nailhead Recessed (-.35)',NULL,2), - (200120,200001,'Duro Rod Buick Nailhead Flat Top',NULL,1), - (200121,200001,'Newcomb Buick Nailhead Flat Top',NULL,2), - (200122,200001,'Newcomb Chrysler SB Recessed (-.75)',NULL,2), - (200123,200001,'Newcomb Chrysler SB Recessed (-.5)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200124,200001,'Newcomb Chrysler SB Recessed (-.25)',NULL,1), - (200125,200001,'Duro Rod Chrysler SB Recessed (-.6)',NULL,2), - (200126,200001,'Duro Rod Chrysler SB Recessed (-.3)',NULL,1), - (200127,200001,'Duro Rod Chrysler SB Wedge (.3)',NULL,1), - (200128,200001,'Duro Rod Chrysler SB Wedge (.5)',NULL,2), - (200129,200001,'Duro Rod Chrysler SB Wedge (.75)',NULL,2), - (200130,200001,'Newcomb Chrysler SB Wedge (.25)',NULL,1), - (200131,200001,'Newcomb Chrysler SB Wedge (1.0)',NULL,2), - (200132,200001,'Newcomb Chrysler SB Flat Top Lightweight',NULL,2), - (200133,200001,'JE Pistons Chrysler SB Domed (.25)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200134,200001,'JE Pistons Chrysler SB Domed (.75)',NULL,2), - (200135,200001,'JE Pistons Chrysler SB Domed (1.0)',NULL,3), - (200136,200001,'JE Pistons Chrysler SB Domed (1.25)',NULL,4), - (200137,200001,'Newcomb Pontiac Recessed (-.25)',NULL,1), - (200138,200001,'Newcomb Pontiac Recessed (-.5)',NULL,2), - (200139,200001,'Newcomb Pontiac Recessed (-.75)',NULL,2), - (200140,200001,'Duro Rod Pontiac Recessed (-.3)',NULL,1), - (200141,200001,'Duro Rod Pontiac Recessed (-.6)',NULL,2), - (200142,200001,'Duro Rod Pontiac Wedge (.2)',NULL,1), - (200143,200001,'Duro Rod Pontiac Wedge (.6)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200144,200001,'Duro Rod Pontiac Wedge (.8)',NULL,3), - (200145,200001,'Newcomb Pontiac Wedge (.4)',NULL,2), - (200146,200001,'Newcomb Pontiac Wedge (1.0)',NULL,3), - (200147,200001,'JE Pistons Pontiac Domed (.25)',NULL,1), - (200148,200001,'JE Pistons Pontiac Domed (.5)',NULL,2), - (200149,200001,'JE Pistons Pontiac Domed (.75)',NULL,2), - (200150,200001,'JE Pistons Pontiac Domed (1.0)',NULL,3), - (200151,200001,'JE Pistons Pontiac Domed (1.25)',NULL,4), - (200152,200001,'JE Chevy BB Recessed (-.15)',NULL,1), - (200153,200001,'JE Chevy BB Recessed (-.25)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200154,200001,'JE Chevy BB Recessed (-.35)',NULL,2), - (200155,200001,'JE Chevy BB Recessed (-.5)',NULL,2), - (200156,200001,'JE Chevy BB Recessed (-.75)',NULL,3), - (200157,200001,'JE Chevy BB Wedge (.35)',NULL,2), - (200158,200001,'JE Chevy BB Wedge (.5)',NULL,2), - (200159,200001,'JE Chevy BB Wedge (.75)',NULL,2), - (200160,200001,'JE Chevy BB Wedge (1.0)',NULL,3), - (200161,200001,'JE Chevy BB Domed (.25)',NULL,1), - (200162,200001,'JE Chevy BB Domed (.75)',NULL,2), - (200163,200001,'JE Chevy BB Domed (1.0)',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200164,200001,'JE Chevy BB Domed (1.25)',NULL,4), - (200165,200001,'Duro Rod Ford BB Recessed (-.3)',NULL,2), - (200166,200001,'Duro Rod Ford BB Recessed (-.6)',NULL,2), - (200167,200001,'Newcomb Ford BB Recessed (-.25)',NULL,1), - (200168,200001,'Newcomb Ford BB Recessed (-.5)',NULL,2), - (200169,200001,'Newcomb Ford BB Recessed (-.75)',NULL,2), - (200170,200001,'JE Ford BB Wedge (.15)',NULL,1), - (200171,200001,'JE Ford BB Wedge (.25)',NULL,2), - (200172,200001,'JE Ford BB Wedge (.5)',NULL,2), - (200173,200001,'JE Ford BB Wedge (.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200174,200001,'JE Ford BB Wedge (1.0)',NULL,3), - (200175,200001,'JE Ford BB Domed (.25)',NULL,2), - (200176,200001,'JE Ford BB Domed (.75)',NULL,2), - (200177,200001,'JE Ford BB Domed (1.0)',NULL,3), - (200178,200001,'JE Ford BB Domed (1.25)',NULL,4), - (200179,200001,'JE Chrysler BB Wedge (.15)',NULL,1), - (200180,200001,'JE Chrysler BB Wedge (.5)',NULL,2), - (200181,200001,'JE Chrysler BB Wedge (.75)',NULL,2), - (200182,200001,'JE Chrysler BB Wedge (1.0)',NULL,3), - (200183,200001,'JE Chrysler BB Domed (.25)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200184,200001,'JE Chrysler BB Domed (.75)',NULL,2), - (200185,200001,'JE Chrysler BB Domed (1.0)',NULL,3), - (200186,200001,'JE Chrysler BB Domed (1.25)',NULL,4), - (200187,200001,'Duro Rod Chrysler BB Recessed (-.3)',NULL,2), - (200188,200001,'Duro Rod Chrysler BB Recessed (-.6)',NULL,2), - (200189,200001,'Newcomb Chrysler BB Recessed (-.25)',NULL,2), - (200190,200001,'Newcomb Chrysler BB Recessed (-.5)',NULL,2), - (200191,200001,'Newcomb Chrysler BB Recessed (-.75)',NULL,2), - (200192,200001,'Duro Rod Olds BB Recessed (-.3)',NULL,2), - (200193,200001,'Duro Rod Olds BB Recessed (-.6)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200194,200001,'Newcomb Olds BB Recessed (-.25)',NULL,2), - (200195,200001,'Newcomb Olds BB Recessed (-.5)',NULL,2), - (200196,200001,'Newcomb Olds BB Recessed (-.75)',NULL,2), - (200197,200001,'JE Olds BB Wedge (.15)',NULL,1), - (200198,200001,'JE Olds BB Wedge (.5)',NULL,2), - (200199,200001,'JE Olds BB Wedge (.75)',NULL,2), - (200200,200001,'JE Olds BB Wedge (1.0)',NULL,3), - (200201,200001,'JE Olds BB Domed (.25)',NULL,2), - (200202,200001,'JE Olds BB Domed (.75)',NULL,2), - (200203,200001,'JE Olds BB Domed (1.0)',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200204,200001,'JE Olds BB Domed (1.25)',NULL,4), - (200205,200001,'Duro Rod AMC Recessed (-.3)',NULL,2), - (200206,200001,'Duro Rod AMC Recessed (-.6)',NULL,2), - (200207,200001,'Newcomb AMC Recessed (-.25)',NULL,2), - (200208,200001,'Newcomb AMC Recessed (-.5)',NULL,2), - (200209,200001,'Newcomb AMC Recessed (-.75)',NULL,2), - (200210,200001,'JE AMC Wedge (.15)',NULL,1), - (200211,200001,'JE AMC Wedge (.25)',NULL,2), - (200212,200001,'JE AMC Wedge (.5)',NULL,2), - (200213,200001,'JE AMC Wedge (.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200214,200001,'JE AMC Wedge (1.0)',NULL,3), - (200215,200001,'JE AMC Domed (.25)',NULL,2), - (200216,200001,'JE AMC Domed (.5)',NULL,2), - (200217,200001,'JE AMC Domed (.75)',NULL,2), - (200218,200001,'JE AMC Domed (1.0)',NULL,3), - (200219,200001,'JE AMC Domed (1.25)',NULL,4), - (200220,200001,'Newcomb Chevy W Recessed (-.5)',NULL,2), - (200221,200001,'Duro Rod Chevy W Recessed (-.3)',NULL,2), - (200222,200001,'Duro Rod Chevy W Recessed (-.6)',NULL,2), - (200223,200001,'JE Chevy W Wedge (.15)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200224,200001,'JE Chevy W Wedge (.25)',NULL,2), - (200225,200001,'JE Chevy W Wedge (.5)',NULL,2), - (200226,200001,'JE Chevy W Wedge (.75)',NULL,2), - (200227,200001,'JE Chevy W Wedge (1.0)',NULL,3), - (200228,200001,'JE Chevy W Domed (.25)',NULL,2), - (200229,200001,'JE Chevy W Domed (.5)',NULL,2), - (200230,200001,'JE Chevy W Domed (1.25)',NULL,4), - (200231,200001,'Newcomb Cadillac BB Recessed (-.25)',NULL,2), - (200232,200001,'Newcomb Cadillac BB Recessed (-.5)',NULL,2), - (200233,200001,'Newcomb Cadillac BB Recessed (-.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200234,200001,'Duro Rod Cadillac BB Recessed (-.3)',NULL,2), - (200235,200001,'Duro Rod Cadillac BB Recessed (-.6)',NULL,2), - (200236,200001,'JE Cadillac BB Domed (.25)',NULL,2), - (200237,200001,'JE Cadillac BB Domed (.5)',NULL,2), - (200238,200001,'JE Cadillac BB Domed (.75)',NULL,2), - (200239,200001,'JE Cadillac BB Domed (1.0)',NULL,3), - (200240,200001,'JE Cadillac BB Domed (1.25)',NULL,4), - (200241,200001,'JE Cadillac BB Wedge (.15)',NULL,1), - (200242,200001,'JE Cadillac BB Wedge (.25)',NULL,2), - (200243,200001,'JE Cadillac BB Wedge (.5)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200244,200001,'JE Cadillac BB Wedge (.75)',NULL,2), - (200245,200001,'JE Cadillac BB Wedge (1.0)',NULL,3), - (200246,200001,'Newcomb Hemi Recessed (-.25)',NULL,2), - (200247,200001,'Newcomb Hemi Recessed (-.5)',NULL,2), - (200248,200001,'Newcomb Hemi Recessed (-.75)',NULL,2), - (200249,200001,'Duro Rod Hemi Recessed (-.3)',NULL,2), - (200250,200001,'Duro Rod Hemi Recessed (-.6)',NULL,2), - (200251,200001,'JE Hemi Domed (.25)',NULL,2), - (200252,200001,'JE Hemi Domed (.5)',NULL,2), - (200253,200001,'JE Hemi Domed (.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200254,200001,'JE Hemi Domed (1.0)',NULL,3), - (200255,200001,'JE Hemi Domed (1.25)',NULL,4), - (200256,200001,'JE Hemi Wedge (.15)',NULL,1), - (200257,200001,'JE Hemi Wedge (.25)',NULL,2), - (200258,200001,'JE Hemi Wedge (.5)',NULL,2), - (200259,200001,'JE Hemi Wedge (.75)',NULL,2), - (200260,200001,'JE Hemi Wedge (1.0)',NULL,3), - (200261,200001,'Newcomb Ford 385 Recessed (-.25)',NULL,2), - (200262,200001,'Newcomb Ford 385 Recessed (-.5)',NULL,2), - (200263,200001,'Newcomb Ford 385 Recessed (-.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200264,200001,'Duro Rod Ford 385 Recessed (-.3)',NULL,2), - (200265,200001,'Duro Rod Ford 385 Recessed (-.6)',NULL,2), - (200266,200001,'JE Ford 385 Domed (.25)',NULL,2), - (200267,200001,'JE Ford 385 Domed (.5)',NULL,2), - (200268,200001,'JE Ford 385 Domed (.75)',NULL,2), - (200269,200001,'JE Ford 385 Domed (1.0)',NULL,3), - (200270,200001,'JE Ford 385 Domed (1.25)',NULL,4), - (200271,200001,'JE Ford 385 Wedge (.15)',NULL,1), - (200272,200001,'JE Ford 385 Wedge (.25)',NULL,2), - (200273,200001,'JE Ford 385 Wedge (.5)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200274,200001,'JE Ford 385 Wedge (.75)',NULL,2), - (200275,200001,'JE Ford 385 Wedge (1.0)',NULL,3), - (200276,200001,'Newcomb Cleveland Recessed (-.25)',NULL,2), - (200277,200001,'Newcomb Cleveland Recessed (-.5)',NULL,2), - (200278,200001,'Newcomb Cleveland Recessed (-.75)',NULL,2), - (200279,200001,'Duro Rod Cleveland Recessed (-.3)',NULL,2), - (200280,200001,'Duro Rod Cleveland Recessed (-.6)',NULL,2), - (200281,200001,'JE Cleveland Domed (.25)',NULL,2), - (200282,200001,'JE Cleveland Domed (.5)',NULL,2), - (200283,200001,'JE Cleveland Domed (.75)',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (200284,200001,'JE Cleveland Domed (1.0)',NULL,3), - (200285,200001,'JE Cleveland Domed (1.25)',NULL,4), - (200286,200001,'JE Cleveland Wedge (.15)',NULL,1), - (200287,200001,'JE Cleveland Wedge (.25)',NULL,2), - (200288,200001,'JE Cleveland Wedge (.5)',NULL,2), - (200289,200001,'JE Cleveland Wedge (.75)',NULL,2), - (200290,200001,'JE Cleveland Wedge (1.0)',NULL,3), - (230001,230001,'Normal Duty Cooling System',NULL,1), - (230002,230001,'Light Duty Cooling System',NULL,1), - (230003,230001,'Heavy Duty Cooling System',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (230004,230001,'Extra Heavy Duty Cooling System',NULL,4), - (230005,230001,'Ford BB Boss XHD Cooling System',NULL,4), - (230006,230001,'Edelbrock Victor Series Cooling System',NULL,2), - (230007,230001,'Chevy SB Standard',NULL,1), - (230008,230001,'Chevy SB Heavy Duty',NULL,2), - (230009,230001,'Chevy W Standard',NULL,1), - (230010,230001,'Chevy W Heavy Duty',NULL,2), - (230011,230001,'Chevy BB Standard',NULL,1), - (230012,230001,'Chevy BB Heavy Duty',NULL,2), - (230013,230001,'Chrysler SB Standard',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (230014,230001,'Chrysler SB Heavy Duty',NULL,2), - (230015,230001,'Chrysler SB Performance',NULL,3), - (230016,230001,'Chrysler BB Standard',NULL,1), - (230017,230001,'Chrysler BB Heavy Duty',NULL,2), - (230018,230001,'Chrysler BB Performance',NULL,3), - (230019,230001,'Cadillac L-Head Standard',NULL,1), - (230020,230001,'AMC Standard',NULL,1), - (230021,230001,'AMC Heavy Duty',NULL,2), - (230022,230001,'Cadillac BB Standard',NULL,1), - (230023,230001,'Cadillac BB Heavy Duty',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (230024,230001,'Pontiac Standard',NULL,1), - (230025,230001,'Pontiac Performance',NULL,2), - (230026,230001,'Olds BB Standard',NULL,1), - (230027,230001,'Olds BB Heavy Duty',NULL,2), - (230028,230001,'Buick Nailhead Standard',NULL,1), - (230029,230001,'Buick Nailhead Heavy Duty',NULL,2), - (230030,230001,'Ford Flathead Standard',NULL,1), - (230031,230001,'Ford Y Block Standard',NULL,1), - (230032,230001,'Ford Y Block Heavy Duty',NULL,2), - (230033,230001,'Ford SB Standard',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (230034,230001,'Ford SB Heavy Duty',NULL,2), - (230035,230001,'Ford SB Boss',NULL,3), - (230036,230001,'Ford BB Standard',NULL,1), - (230037,230001,'Ford BB Heavy Duty',NULL,2), - (240001,240001,'Marinn Normal Duty Electrical System',NULL,1), - (240002,240001,'Ford Boss Electronic Ignition',NULL,3), - (240003,240001,'Mallory Light Duty Electrical System',NULL,1), - (240004,240001,'AMC Group 19 Electrical System',NULL,2), - (240005,240001,'Accel Billetproof Breakerless',NULL,2), - (240006,240001,'Accel Blueprint Electronic Ignition',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (240007,240001,'Crane Fireball XR700 Ignition System',NULL,3), - (240008,240001,'Crane Fireball XR3000 Ignition System',NULL,4), - (240009,240001,'Holley Avenger Ignition',NULL,3), - (240010,240001,'Holley Dominator Ignition',NULL,3), - (240011,240001,'Holley Excelerator Ignition',NULL,3), - (240012,240001,'GM Standard Single Point',NULL,1), - (240013,240001,'GM Performance Single Point',NULL,2), - (240014,240001,'GM Standard Dual Point',NULL,1), - (240015,240001,'GM Performance Dual Point',NULL,2), - (240016,240001,'GM Standard Electronic',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (240017,240001,'GM Performance Electronic',NULL,2), - (240018,240001,'Chrysler Standard Single Point',NULL,1), - (240019,240001,'Chrysler Performance Single Point',NULL,2), - (240020,240001,'Chrysler Standard Dual Point',NULL,1), - (240021,240001,'Chrysler Performance Dual Point',NULL,2), - (240022,240001,'Chrysler Standard Electronic',NULL,2), - (240023,240001,'Chrysler Performance Electronic',NULL,2), - (240024,240001,'Ford Standard Single Point',NULL,1), - (240025,240001,'Ford Performance Single Point',NULL,2), - (240026,240001,'Ford Standard Dual Point',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (240027,240001,'Ford Performance Dual Point',NULL,2), - (240028,240001,'Ford Standard Electronic',NULL,2), - (240029,240001,'Ford Performance Electronic',NULL,2), - (240030,240001,'AMC Standard Single Point',NULL,1), - (240031,240001,'AMC Performance Single Point',NULL,2), - (240032,240001,'AMC Standard Dual Point',NULL,1), - (240033,240001,'AMC Performance Dual Point',NULL,2), - (250001,250001,'Ford SB Stock Lubrication System',NULL,1), - (250002,250001,'Chevy BB Stock Lubrication System',NULL,1), - (250003,250001,'AMC Stock Lubrication System',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (250004,250001,'GM Z11 Lubrication System',NULL,3), - (250005,250001,'Ford BB Boss Lubrication System',NULL,3), - (250006,250001,'Bully HD Lubrication System',NULL,2), - (250007,250001,'Bully XHD Lubrication System',NULL,3), - (250008,250001,'Ford Cobra Lubrication System',NULL,3), - (250009,250001,'Chevy SB Stock Lubrication System',NULL,1), - (250010,250001,'Chevy SB Performance Lubrication System',NULL,2), - (250011,250001,'Chevy BB Performance Lubrication System',NULL,2), - (250012,250001,'Chrysler SB Stock Lubrication System',NULL,1), - (250013,250001,'Chrysler BB Stock Lubrication System',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (250014,250001,'Chrysler BB Performance Lubrication System',NULL,2), - (250015,250001,'Cadillac BB Stock Lubrication System',NULL,1), - (250016,250001,'Cadillac L-Head Stock Lubrication System',NULL,1), - (250017,250001,'Pontiac Stock Lubrication System',NULL,1), - (250018,250001,'Pontiac Performance Lubrication System',NULL,2), - (250019,250001,'Olds BB Stock Lubrication System',NULL,1), - (250020,250001,'Olds BB Performance Lubrication System',NULL,2), - (250021,250001,'Buick Nailhead Stock Lubrication System',NULL,1), - (250022,250001,'Ford Flathead Stock Lubrication System',NULL,1), - (250023,250001,'Ford Y Block Stock Lubrication System',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (250024,250001,'Ford SB Boss Lubrication System',NULL,3), - (250025,250001,'Ford SB Windsor Stock Lubrication System',NULL,1), - (250026,250001,'Ford Cleveland Stock Lubrication System',NULL,1), - (250027,250001,'Ford BB Stock Lubrication System',NULL,1), - (250028,250001,'Ford BB Performance Lubrication System',NULL,2), - (250029,250001,'Ford 385 Stock Lubrication System',NULL,1), - (250030,250001,'Ford 385 Performance Lubrication System',NULL,2), - (280001,280001,'Ford BB Stock Exhaust Manifold',NULL,1), - (280002,280001,'Chevrolet BB Stock Exhaust Manifold',NULL,1), - (280003,280001,'Chrysler SB Stock Exhaust Manifold',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280004,280001,'Ford 385 Boss Dual EM',NULL,2), - (280005,280001,'Chevrolet BB HP EM',NULL,2), - (280006,280001,'Chevrolet W Z11 HP EM',NULL,2), - (280007,280001,'Hooker Street Rodder Chevrolet SB Headers',NULL,3), - (280008,280001,'Ford BB Cobrajet Dual EM',NULL,2), - (280009,280001,'Ford BB Tri-Y Steel Tube Headers',NULL,3), - (280010,280001,'Chrysler BB Max Wedge Exhaust Manifold',NULL,2), - (280011,280001,'AMC Rebel Machine Dual EM',NULL,2), - (280012,280001,'Edelbrock TES Chevrolet BB Exhaust Headers',NULL,3), - (280013,280001,'Buick BB Stock Exhaust Manifold',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280014,280001,'Buick SB Stock Exhaust Manifold',NULL,1), - (280015,280001,'Cadillac BB Stock Exhaust Manifold',NULL,1), - (280016,280001,'Chevrolet SB Stock Exhaust Manifold',NULL,1), - (280017,280001,'Chrysler BB Stock Exhaust Manifold',NULL,1), - (280018,280001,'Ford SB Stock Exhaust Manifold',NULL,1), - (280019,280001,'Ford Flathead Stock Exhaust Manifold',NULL,1), - (280020,280001,'Olds BB Stock Exhaust Manifold',NULL,1), - (280021,280001,'Olds SB Stock Exhaust Manifold',NULL,1), - (280022,280001,'AMC Stock Exhaust Manifold',NULL,1), - (280023,280001,'Pontiac Stock Exhaust Manifold',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280024,280001,'Chevrolet SB Ram''s Horn EM',NULL,1), - (280025,280001,'Buick BB Stage I EM',NULL,2), - (280026,280001,'Buick BB Mickey Thompson Headers',NULL,3), - (280027,280001,'Olds BB Divider EM',NULL,1), - (280028,280001,'Pontiac Ram Air I EM',NULL,2), - (280029,280001,'Pontiac HP EM',NULL,2), - (280030,280001,'Ford Y 1957 Manifold',NULL,1), - (280031,280001,'Ford BB CJ/SCJ HP EM',NULL,2), - (280032,280001,'Ford 385 NASCAR EM',NULL,3), - (280033,280001,'Chrysler BB Max Wedge I Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280034,280001,'Chrysler BB 440 Stock EM',NULL,1), - (280035,280001,'Chrysler BB Tri-Y Max Wedge EM',NULL,2), - (280036,280001,'Chrysler BB HP EM',NULL,2), - (280037,280001,'Chrysler SB Improved Flow EM',NULL,2), - (280038,280001,'Chevrolet SB HP Exhaust Manifold',NULL,2), - (280039,280001,'Pontiac Trophy EM',NULL,2), - (280040,280001,'Ford SB Boss 302 EM',NULL,2), - (280041,280001,'Chrysler Hemi Exhaust Manifold',NULL,2), - (280042,280001,'Shade Tree Chrysler Hemi Exhaust Manifold',NULL,1), - (280043,280001,'Cadillac L-Head Exhaust Manifold',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280044,280001,'Buick Nailhead Stock Exhaust Manifold',NULL,1), - (280045,280001,'Ford Cleveland Block Stock EM',NULL,1), - (280046,280001,'Ford 385 Block Stock EM',NULL,1), - (280047,280001,'Ford 385 Block CJ/SCJ EM',NULL,2), - (280048,280001,'Ford SB HP EM',NULL,2), - (280049,280001,'Ford Y Stock EM',NULL,1), - (280050,280001,'Chevrolet W Stock EM',NULL,1), - (280051,280001,'Chevrolet W HP EM',NULL,2), - (280052,280001,'Ford Cleveland Block HP EM',NULL,2), - (280053,280001,'Buick Nailhead Performance EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280054,280001,'Cadillac L-Head Performance EM',NULL,2), - (280055,280001,'Buick SB Performance EM',NULL,2), - (280056,280001,'Buick SB Headers',NULL,2), - (280057,280001,'Cadillac Performance EM',NULL,2), - (280058,280001,'Ford Flathead Performance EM',NULL,2), - (280059,280001,'Olds SB Performance EM',NULL,2), - (280060,280001,'Edelbrock TES Pontiac Exhaust Headers',NULL,3), - (280061,280001,'Edelbrock TES Chevrolet W Exhaust Headers',NULL,3), - (280062,280001,'Edelbrock TES Ford 385 Exhaust Headers',NULL,3), - (280063,280001,'AMC Small Tube Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280064,280001,'Buick Nailhead Small Tube Headers',NULL,3), - (280065,280001,'Cadillac L-Head Small Tube Headers',NULL,3), - (280066,280001,'Cadillac Small Tube Headers',NULL,3), - (280067,280001,'Chevy SB Small Tube Headers',NULL,3), - (280068,280001,'Chrysler SB Small Tube Headers',NULL,3), - (280069,280001,'Ford Flathead Small Tube Headers',NULL,3), - (280070,280001,'Ford SB Small Tube Headers',NULL,3), - (280071,280001,'Ford Y Block Small Tube Headers',NULL,3), - (280072,280001,'Ford Cleveland Block Small Tube Headers',NULL,3), - (280073,280001,'Oldsmobile SB Small Tube Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280074,280001,'Oldsmobile BB Small Tube Headers',NULL,3), - (280075,280001,'Chrysler Hemi Small Tube Headers',NULL,3), - (280076,280001,'Ford Y Block Factory Headers',NULL,2), - (280077,280001,'Oldfield Y Block Free Flow EM',NULL,1), - (280078,280001,'Oldfield Y Block Free Flow Aluminum EM',NULL,1), - (280079,280001,'Oldfield Y Block Street King Headers',NULL,3), - (280080,280001,'Oldfield Y Block Strip King Headers',NULL,3), - (280081,280001,'Oldfield Y Block Track King Headers',NULL,3), - (280082,280001,'Quaker Y Block Air Stream EM',NULL,1), - (280083,280001,'Quaker Y Block Air Stream Aluminum EM',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280084,280001,'Quaker Y Block Super Stream Headers',NULL,3), - (280085,280001,'Rad Rat Chevy SB Window Rattler Headers',NULL,3), - (280086,280001,'Rad Rat Chevy SB Street Lion Headers',NULL,3), - (280087,280001,'Rad Rat Chevy SB Rumble Pipe Headers',NULL,3), - (280088,280001,'C&B Chevy SB Masterpiece EM',NULL,2), - (280089,280001,'C&B Chevy SB Blueprint EM',NULL,1), - (280090,280001,'C&B Chevy SB Beach Racer Headers',NULL,3), - (280091,280001,'Rad Rat Chevy SB Street Mod EM',NULL,1), - (280092,280001,'Quaker Ford SB Interceptor EM',NULL,2), - (280093,280001,'Quaker Ford SB Super Stream Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280094,280001,'Oldfield Ford SB Police Special EM',NULL,2), - (280095,280001,'Dunbar Buick Nailhead Performance EM',NULL,2), - (280096,280001,'Dunbar Buick Nailhead Lightweight EM',NULL,1), - (280097,280001,'Dunbar Buick Nailhead Performance Headers',NULL,2), - (280098,280001,'Dunbar Buick Nailhead Street Headers',NULL,2), - (280099,280001,'Quaker Chrysler SB Airstream EM',NULL,1), - (280100,280001,'Quaker Chrysler SB Double Demon HP EM',NULL,2), - (280101,280001,'Quaker Chrysler SB Super Stream Headers',NULL,4), - (280102,280001,'Walter Chrysler SB LA Street EM',NULL,2), - (280103,280001,'Walter Chrysler SB Performance LA HP EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280104,280001,'Walter Chrysler SB LA Sm. Headers',NULL,3), - (280105,280001,'Walter Chrysler SB Super LA Lg. Headers',NULL,4), - (280106,280001,'Quaker Pontiac Airstream EM',NULL,1), - (280107,280001,'Quaker Pontiac Aluminum Airstream EM',NULL,1), - (280108,280001,'Quaker Pontiac Jet Stream Headers',NULL,3), - (280109,280001,'Quaker Pontiac Super Stream Headers',NULL,4), - (280110,280001,'Quaker Cleveland Air Stream EM',NULL,1), - (280111,280001,'Quaker Cleveland Air Stream Alum. EM',NULL,1), - (280112,280001,'Quaker Cleveland Interceptor EM',NULL,2), - (280113,280001,'Oldfield Cleveland Street King EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280114,280001,'Quaker Cleveland Super Stream Headers',NULL,4), - (280115,280001,'Oldfield Cleveland Track King Headers',NULL,4), - (280116,280001,'Oldfield Cleveland Strip King Headers',NULL,3), - (280117,280001,'Oldfield Ford 385 Strip King Headers',NULL,3), - (280118,280001,'Oldfield Ford 385 Track King Headers',NULL,4), - (280119,280001,'Oldfield Ford 385 Street King EM',NULL,2), - (280120,280001,'Quaker Ford 385 Air Stream EM',NULL,1), - (280121,280001,'Quaker Ford 385 Interceptor EM',NULL,2), - (280122,280001,'Quaker Ford 385 Jet Stream Headers',NULL,3), - (280123,280001,'Quaker Ford 385 Super Stream Headers',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280124,280001,'Quaker Hemi Air Stream EM',NULL,1), - (280125,280001,'Quaker Hemi Air Stream Alum. EM',NULL,1), - (280126,280001,'Quaker Hemi Super Stream Headers',NULL,4), - (280127,280001,'Walter Hemi Street EM',NULL,1), - (280128,280001,'Walter Hemi Performance EM',NULL,2), - (280129,280001,'Walter Hemi Hemi Headers',NULL,3), - (280130,280001,'Walter Hemi Super Hemi Headers',NULL,4), - (280131,280001,'Quaker Cadillac BB Air Stream EM',NULL,1), - (280132,280001,'Quaker Cadillac BB Air Stream Alum. EM',NULL,1), - (280133,280001,'Quaker Cadillac BB Interceptor EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280134,280001,'Quaker Cadillac BB Super Stream Headers',NULL,4), - (280135,280001,'Leland Cadillac BB Street Headers',NULL,3), - (280136,280001,'Leland Cadillac BB Rad Cad Headers',NULL,4), - (280137,280001,'Leland Cadillac BB HP EM',NULL,3), - (280138,280001,'Rad Rat Chevy W Street Mod EM',NULL,2), - (280139,280001,'Rad Rat Chevy W Rumble Pipe Headers',NULL,2), - (280140,280001,'Rad Rat Chevy W Street Lion Headers',NULL,3), - (280141,280001,'Rad Rat Chevy W Window Rattler Headers',NULL,4), - (280142,280001,'Quaker Chevy W Air Stream EM',NULL,1), - (280143,280001,'Quaker Chevy W Interceptor EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280144,280001,'Quaker Chevy W Jet Stream Headers',NULL,3), - (280145,280001,'Quaker Chevy W Super Stream Headers',NULL,4), - (280146,280001,'Quaker AMC Air Stream EM',NULL,1), - (280147,280001,'Quaker AMC Air Stream Alum. EM',NULL,1), - (280148,280001,'Quaker AMC Interceptor EM',NULL,2), - (280149,280001,'Quaker AMC Super Stream Headers',NULL,4), - (280150,280001,'Street Shark AMC Stalker EM',NULL,2), - (280151,280001,'Street Shark AMC Hunter Headers',NULL,3), - (280152,280001,'Street Shark AMC Predator Headers',NULL,4), - (280153,280001,'Quaker Olds BB Air Stream EM',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280154,280001,'Quaker Olds BB Air Stream Alum. EM',NULL,1), - (280155,280001,'Quaker Olds BB Interceptor EM',NULL,2), - (280156,280001,'Quaker Olds BB Super Stream Headers',NULL,4), - (280157,280001,'Street Shark Olds BB Stalker EM',NULL,2), - (280158,280001,'Street Shark Olds BB Hunter Headers',NULL,3), - (280159,280001,'Street Shark Olds BB Predator Headers',NULL,4), - (280160,280001,'Quaker Chrysler BB Air Stream EM',NULL,1), - (280161,280001,'Quaker Chrysler BB Air Stream Alum. EM',NULL,1), - (280162,280001,'Quaker Chrysler BB Interceptor EM',NULL,2), - (280163,280001,'Quaker Chrysler BB Jet Stream Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280164,280001,'Quaker Chrysler BB Super Stream Headers',NULL,4), - (280165,280001,'Street Shark Chrysler BB Stalker EM',NULL,2), - (280166,280001,'Street Shark Chrylser BB Hunter Headers',NULL,3), - (280167,280001,'Street Shark Chrysler BB Predator Headers',NULL,4), - (280168,280001,'Quaker Ford BB Air Stream EM',NULL,1), - (280169,280001,'Quaker Ford BB Air Stream Alum. EM',NULL,1), - (280170,280001,'Quaker Ford BB Interceptor EM',NULL,2), - (280171,280001,'Quaker Ford BB Jet Stream Headers',NULL,3), - (280172,280001,'Quaker Ford BB Super Stream Headers',NULL,4), - (280173,280001,'Oldfield Ford BB Street King EM',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280174,280001,'Oldfield Ford BB Strip King Headers',NULL,3), - (280175,280001,'Oldfield Ford BB Track King Headers',NULL,4), - (280176,280001,'Quaker Chevy BB Air Stream EM',NULL,1), - (280177,280001,'Quaker Chevy BB Air Stream Alum. EM',NULL,1), - (280178,280001,'Quaker Chevy BB Interceptor EM',NULL,2), - (280179,280001,'Quaker Chevy BB Jet Stream Headers',NULL,3), - (280180,280001,'Quaker Chevy BB Super Stream Headers',NULL,4), - (280181,280001,'Rad Rat Chevy BB Street Mod EM',NULL,2), - (280182,280001,'Rad Rat Chevy BB Rumble Pipe Headers',NULL,3), - (280183,280001,'Rad Rat Chevy BB Street Lion Headers',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (280184,280001,'Rad Rat Chevy BB Window Rattler Headers',NULL,4), - (290001,290001,'1.625" Treated Iron Single Exhaust Pipe',NULL,1), - (290002,290001,'1.625" Treated Iron Dual Exhaust Pipe',NULL,1), - (290003,290001,'1.625" Cast Iron Single Exhaust Pipe',NULL,1), - (290004,290001,'1.625" Cast Iron Dual Exhaust Pipe',NULL,1), - (290005,290001,'Hooker Street Racer Crossflow Exhaust Pipe',NULL,3), - (290006,290001,'Hooker Performance Crossflow Exhaust Pipe',NULL,3), - (290007,290001,'Hooker Maximum Performance Crossflow Exhaust Pipe',NULL,4), - (290008,290001,'Edelbrock Cat-Back System',NULL,3), - (290009,290001,'Fat Shiny Pipe',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (290010,290001,'Manley 1.75" CI Single',NULL,1), - (290011,290001,'Manley 1.875" CI Single',NULL,1), - (290012,290001,'Manley 2" CI Single',NULL,2), - (290013,290001,'Manley 2.25" CI Dual',NULL,4), - (290014,290001,'Manley 1.75" TI Single',NULL,1), - (290015,290001,'Manley 1.875" TI Single',NULL,1), - (290016,290001,'Manley 2" TI Single',NULL,2), - (290017,290001,'Manley 2.25" TI Dual',NULL,4), - (290018,290001,'Manley 1.75" CI Dual',NULL,2), - (290019,290001,'Manley 1.875" CI Dual',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (290020,290001,'Manley 2" CI Dual',NULL,3), - (290021,290001,'Manley 1.75" TI Dual',NULL,2), - (290022,290001,'Manley 1.875" TI Dual',NULL,2), - (290023,290001,'Manley 2" TI Dual',NULL,3), - (290024,290001,'Manley 1.625" FS Dual',NULL,2), - (290025,290001,'Manley 1.75" FS Dual',NULL,2), - (290026,290001,'Manley 1.875" FS Dual',NULL,2), - (290027,290001,'Manley 2" FS Dual',NULL,3), - (290028,290001,'Manley 2.25" FS Dual',NULL,4), - (290029,290001,'Manley 1.625" Alloy Steel Dual',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (290030,290001,'Manley 1.75" Alloy Steel Dual',NULL,2), - (290031,290001,'Manley 1.875" Alloy Steel Dual',NULL,2), - (290032,290001,'Manley 2" Alloy Steel Dual',NULL,3), - (290033,290001,'Manley 2.25" Alloy Steel Dual',NULL,4), - (290034,290001,'Manley 1.625" Aluminum Alloy Dual',NULL,2), - (290035,290001,'Manley 1.75" Aluminum Alloy Dual',NULL,2), - (290036,290001,'Manley 1.875" Aluminum Alloy Dual',NULL,2), - (290037,290001,'Manley 2" Aluminum Alloy Dual',NULL,3), - (290038,290001,'Manley 2.25" Aluminum Alloy Dual',NULL,4), - (300001,300001,'Midas Stock Muffler',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (300002,300001,'Midas Aluminum Stock Muffler',NULL,1), - (300003,300001,'GM Side Pipes','PIPESIDE',2), - (300004,300001,'GM Dual Resonators',NULL,2), - (300005,300001,'Edelbrock RPM Muffler',NULL,3), - (300006,300001,'Edelbrock Victor Muffler',NULL,3), - (300007,300001,'Edelbrock 304 Muffler',NULL,3), - (300008,300001,'Hooker Maximum Flow',NULL,4), - (300009,300001,'Hooker Super Competition',NULL,4), - (300010,300001,'Hooker Elite Glasspack','PIPELAKE',4), - (300011,300001,'Hooker Street Shaker',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (310001,310001,'Dual Tail Pipe Tip 001',NULL,1), - (310002,310001,'Dual Tail Pipe Tip 002',NULL,1), - (310003,310001,'Stock Tip','TIPCYL',1), - (310004,310001,'Single Tail Pipe Tip (Flaming)',NULL,1), - (310005,310001,'1969 Dodge Charger RT Tip','TIPCIRC',1), - (310006,310001,'1969 Olds 4-4-2 Trumpet Tip',NULL,1), - (310007,310001,'1970 Ford Mustang Oval Trumpet Tip',NULL,1), - (310008,310001,'1970 Plymouth ''Cuda Chrome Tip','TIPCONE',1), - (310009,310001,'1973 Pontiac Trans-Am Chrome Extension',NULL,1), - (310010,310001,'1973 Pontiac Firebird Chrome Extension',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (310011,310001,'Marinn Large Bore Tip','tipcirc',1), - (310012,310001,'Marinn Large Bore (Dual) Tip','tipcirc',1), - (310013,310001,'Marinn Large Bore Tip w/resonator','tipcirc',1), - (310014,310001,'Marinn Large Bore Tip w/resonator (Dual)','tipcirc',1), - (310015,310001,'Marinn MegaCone Tip','tipcone',1), - (310016,310001,'Marinn MegaCone (Dual) Tip','tipcone',1), - (310017,310001,'Marinn Slanted Cut Tip','tiprect',1), - (310018,310001,'Marinn Slanted Cut (Dual) Tip','tiprect',1), - (310019,310001,'Marinn Slanted Cut Tip w/resonator','tiprect',1), - (310020,310001,'Marinn Slanted Cut Tip w/resonator (Dual)','tiprect',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (310021,310001,'Edelbrock Angle Cut Tip',NULL,1), - (310022,310001,'Edelbrock Angle Cut (Dual) Tip',NULL,1), - (310023,310001,'Edelbrock Flat Oval Tip',NULL,1), - (310024,310001,'Edelbrock Flat Oval (Dual) Tip',NULL,1), - (310025,310001,'Edelbrock Round Double Wall Tip',NULL,1), - (310026,310001,'Edelbrock Round Double Wall (Dual) Tip',NULL,1), - (310027,310001,'Edelbrock Round Turn-Down Tip',NULL,1), - (310028,310001,'Edelbrock Round Turn-Down (Dual) Tip',NULL,1), - (310029,310001,'Stock Round Chrome','TIPCIRC',1), - (320001,320001,'Ford BB Dual Plane IM','MANIDUAL',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320002,320001,'Chevrolet BB Dual Plane IM','MANIDUAL',1), - (320003,320001,'Chrysler SB Dual Plane IM','MANIDUAL',1), - (320004,320001,'Chrysler BB Dual Plane IM','MANIDUAL',1), - (320005,320001,'Chevrolet BB Single Plane IM','MANISING',1), - (320006,320001,'Ford BB Aluminum Dual Plane IM','MANIDUAL',2), - (320007,320001,'Buick BB Dual Plane IM','MANIDUAL',1), - (320008,320001,'Buick SB Dual Plane IM','MANIDUAL',1), - (320009,320001,'Chevrolet SB Dual Plane IM','MANIDUAL',1), - (320010,320001,'Cadillac BB Dual Plane IM','MANIDUAL',1), - (320011,320001,'Ford SB Dual Plane IM','MANIDUAL',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320012,320001,'Ford Flathead Dual Plane IM','MANIDUAL',1), - (320013,320001,'Olds BB Dual Plane IM','MANIDUAL',1), - (320014,320001,'Olds SB Dual Plane IM','MANIDUAL',1), - (320015,320001,'AMC Dual Plane IM','MANIDUAL',1), - (320016,320001,'Pontiac Dual Plane IM','MANIDUAL',1), - (320017,320001,'Chevrolet SB RPO411 Aluminum Dual Plane IM','MANIDUAL',2), - (320018,320001,'Chevrolet SB High Rise Aluminum Dual Plane IM','MANIDUAL',2), - (320019,320001,'Chevrolet SB Aluminum Dual Plane IM','MANIDUAL',2), - (320020,320001,'Chevrolet BB High Rise Aluminum Dual Plane IM','MANIDUAL',2), - (320021,320001,'Chevrolet BB LS6 Low Rise Aluminum Dual Plane IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320022,320001,'Buick Nailhead Stock 322 DP IM','MANIDUAL',1), - (320023,320001,'Edelbrock Stage II Buick BB Aluminum Dual Plane IM','MANIDUAL',2), - (320024,320001,'Olds SB Aluminum Dual Plane IM','MANIDUAL',2), - (320025,320001,'Olds SB W-31 HP Aluminum Dual Plane IM','MANIDUAL',2), - (320026,320001,'Olds BB W-30 HP Aluminum Dual Plane IM','MANIDUAL',2), - (320027,320001,'Pontiac Ram Air IV HP Aluminum Dual Plane IM','MANIDUAL',2), - (320028,320001,'Pontiac Aluminum Dual Plane IM','MANIDUAL',2), - (320029,320001,'Ford Y 1957 Dual Plane IM','MANIDUAL',1), - (320030,320001,'Edelbrock Aluminum Dual Plane Ford SB IM','MANIDUAL',2), - (320031,320001,'Ford BB HR Dual Plane IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320032,320001,'Ford BB Cammer IM','MANISING',3), - (320033,320001,'Ford BB Sidewinder Single Plane IM','MANIDUAL',2), - (320034,320001,'Ford BB Single Plane IM','MANIDUAL',2), - (320035,320001,'Offenhauser Ford 385 Single Plane IM','MANIDUAL',3), - (320036,320001,'Chrysler BB High Rise IM','MANIDUAL',2), - (320037,320001,'Chrysler BB Aluminum IM','MANIDUAL',2), - (320038,320001,'Chrysler BB Long Ram IM','MANIDUAL',2), - (320039,320001,'Chrysler BB Short Ram IM','MANIDUAL',2), - (320040,320001,'Edelbrock Chrysler BB Aluminum IM','MANIDUAL',2), - (320041,320001,'Chrysler SB Aluminum IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320042,320001,'AMC Rebel Machine IM','MANIDUAL',2), - (320043,320001,'Ford 385 Boss Dual Plane Aluminum IM','MANIDUAL',2), - (320044,320001,'Edelbrock R4B AMC Block IM','MANIDUAL',2), - (320045,320001,'Edelbrock Super Dual Ford Flathead IM','MANIDUAL',2), - (320046,320001,'Edelbrock Performer RPM Cadillac BB IM','MANIDUAL',2), - (320047,320001,'Edelbrock Performer Chevrolet BB IM','MANIDUAL',2), - (320048,320001,'Edelbrock Performer Chevrolet SB IM','MANIDUAL',2), - (320049,320001,'Edelbrock Performer Chrysler BB IM','MANIDUAL',2), - (320050,320001,'Edelbrock Performer Chrysler SB IM','MANIDUAL',2), - (320051,320001,'Edelbrock Performer Ford BB IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320052,320001,'Edelbrock Performer Ford SB IM','MANIDUAL',2), - (320053,320001,'Edelbrock Performer Olds BB IM','MANIDUAL',2), - (320054,320001,'Edelbrock Performer Olds SB IM','MANIDUAL',2), - (320055,320001,'Chrysler Hemi IM','MANIDUAL',2), - (320056,320001,'Edelbrock Performer Pontiac IM','MANIDUAL',2), - (320057,320001,'Edelbrock Performer RPM Chevrolet BB IM','MANIDUAL',2), - (320058,320001,'Edelbrock Performer RPM Chevrolet SB IM','MANIDUAL',2), - (320059,320001,'Edelbrock Performer RPM Chrysler BB IM','MANIDUAL',2), - (320060,320001,'Edelbrock Performer RPM Chrysler SB IM','MANIDUAL',2), - (320061,320001,'Edelbrock Performer RPM Ford BB IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320062,320001,'Edelbrock Performer RPM Ford SB IM','MANIDUAL',2), - (320063,320001,'Edelbrock Performer RPM Olds BB IM','MANIDUAL',2), - (320064,320001,'Edelbrock Performer RPM Olds SB IM','MANIDUAL',2), - (320065,320001,'Shade Tree Chrysler Hemi IM','MANIDUAL',1), - (320066,320001,'Edelbrock Performer RPM Pontiac IM','MANIDUAL',2), - (320067,320001,'Edelbrock Torker Chevrolet BB IM','MANIDUAL',3), - (320068,320001,'Edelbrock Torker Chevrolet SB IM','MANIDUAL',3), - (320069,320001,'Edelbrock Torker Chrysler BB IM','MANIDUAL',3), - (320070,320001,'Edelbrock Torker Chrysler SB IM','MANIDUAL',3), - (320071,320001,'Edelbrock Torker Ford BB IM','MANIDUAL',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320072,320001,'Edelbrock Torker Ford SB IM','MANIDUAL',3), - (320073,320001,'Edelbrock Torker Olds BB IM','MANIDUAL',3), - (320074,320001,'Edelbrock Torker Olds SB IM','MANIDUAL',3), - (320075,320001,'Edelbrock Torker Pontiac IM','MANIDUAL',3), - (320076,320001,'Edelbrock Torker Pontiac IM','MANIDUAL',3), - (320077,320001,'Chevrolet BB Dual Plane Aluminum IM','MANIDUAL',1), - (320078,320001,'Chrysler SB Tunnel Ram IM','MANIDUAL',2), - (320079,320001,'Chevrolet W Z11 Dual Plane Aluminum IM','MANIDUAL',2), - (320080,320001,'Ford BB Cobrajet Dual Plane IM','MANIDUAL',2), - (320081,320001,'Offenhauser Magnesium Chrysler Hemi DP IM','MANIDUAL',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320082,320001,'Chrysler BB Max Wedge Aluminum Cross-Ram IM','MANIDUAL',2), - (320083,320001,'Edelbrock Torker Buick BB IM','MANISING',3), - (320084,320001,'Edelbrock Performer RPM Buick BB IM','MANIDUAL',3), - (320085,320001,'Edelbrock Torker II Buick BB IM','MANISING',3), - (320086,320001,'Edelbrock Performer Buick BB IM','MANIDUAL',2), - (320087,320001,'Ford SB Single Plane Aluminum IM','MANISING',2), - (320088,320001,'Ford SB Dual Plane Aluminum IM','MANIDUAL',2), - (320089,320001,'Pontiac Aluminum IM','MANIDUAL',2), - (320090,320001,'Pontiac SD Aluminum Single Plane IM','MANISING',3), - (320091,320001,'Cadillac L-Head Intake Manifold','MANIDUAL',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320092,320001,'Ford Cleveland Block Stock IM','MANIDUAL',1), - (320093,320001,'Ford Cleveland Block Aluminum IM','MANIDUAL',2), - (320094,320001,'Ford 385 Stock IM','MANIDUAL',1), - (320095,320001,'Ford 385 CJ/SCJ IM','MANIDUAL',2), - (320096,320001,'Ford SB Cross Boss IM','MANIDUAL',3), - (320097,320001,'Ford Y Stock IM','MANIDUAL',1), - (320098,320001,'Edelbrock Ford Y Tri-Power Aluminum IM','MANIDUAL',2), - (320099,320001,'Chevrolet W Stock IM','MANIDUAL',1), - (320100,320001,'Chevrolet W Aluminum IM','MANIDUAL',2), - (320101,320001,'Dunbar Buick Nailhead Breezer DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320102,320001,'Dunbar Buick Nailhead Tornado SP IM','MANISING',2), - (320103,320001,'Buick SB Aluminum IM','MANIDUAL',2), - (320104,320001,'Cadillac L-Head Aluminum IM','MANIDUAL',2), - (320105,320001,'Edelbrock Performer AMC IM','MANIDUAL',2), - (320106,320001,'Edelbrock Torker AMC IM','MANIDUAL',3), - (320107,320001,'Offenhauser Aluminum AMC IM','MANIDUAL',3), - (320108,320001,'Ford Y Block Dual Quad Dual Plane IM','MANIDUAL',2), - (320109,320001,'Ford Y Block Supercharger Dual Plane IM','MANIDUAL',2), - (320110,320001,'Edelbrock Y Block 3x2 Dual Plane IM','MANIDUAL',2), - (320111,320001,'Offenhauser Y Block 3x2 Dual Planer IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320112,320001,'Offenhauser Y Block Aluminum Dual Plane IM','MANIDUAL',2), - (320113,320001,'Edelbrock Y Block Aluminum Dual Plane IM','MANIDUAL',2), - (320114,320001,'Oldfield Y Block Aluminum Dual Plane IM','MANIDUAL',1), - (320115,320001,'Oldfield Y Block Special Dual Plane IM','MANIDUAL',2), - (320116,320001,'Edelbrock Y Block Aluminum Single Plane IM','MANISING',2), - (320117,320001,'Offenhauser Y Block Aluminum Single Plane IM','MANISING',2), - (320118,320001,'Oldfield Y Block Lightning Single Plane IM','MANISING',2), - (320119,320001,'Oldfield Y Block HiBoy Tunnel Ram IM','MANIHIGH',2), - (320120,320001,'Oldfield Y Block Midget Tunnel Ram IM','MANILOW',2), - (320121,320001,'Oldfield Y Block Strip King Tunnel Ram IM','MANIHIGH',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320122,320001,'Rad Rat Chevy SB Vortex Single Plane IM','MANISING',2), - (320123,320001,'Rad Rat Chevy SB Screamer Dual Plane IM','MANIDUAL',2), - (320124,320001,'Rad Rat Chevy SB Scooter Dual Plane IM','MANIDUAL',1), - (320125,320001,'Rad Rat Chevy SB Scooter Alum. Dual Plane IM','MANIDUAL',2), - (320126,320001,'C&B Chevy SB Classic Dual Plane IM','MANIDUAL',1), - (320127,320001,'C&B Chevy SB Street Classic Dual Plane IM','MANIDUAL',2), - (320128,320001,'C&B Chevy SB Classic Single Plane IM','MANISING',2), - (320129,320001,'C&B Chevy SB Super Single Plane IM','MANISING',3), - (320130,320001,'Rad Rat Chevy SB Vortex Ultra Single Plane IM','MANISING',2), - (320131,320001,'Rad Rat Chevy SB Power Tower Tunnel Ram IM','MANIHIGH',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320132,320001,'Rad Rat Chevy SB Ultimate Tunnel Ram IM','MANIHIGH',3), - (320133,320001,'C&B Chevy SB Classic Low Rise Tunnel Ram IM','MANILOW',2), - (320134,320001,'C&B Chevy SB Classic High Rise Tunnel Ram IM','MANIHIGH',3), - (320135,320001,'Rad Rat Chevy SB Screamer Ultra Dual Plane IM','MANIDUAL',2), - (320136,320001,'Buick Nailhead 364 DP IM','MANIDUAL',1), - (320137,320001,'Buick Nailhead 401/425 DP IM','MANIDUAL',1), - (320138,320001,'Dunbar Buick Nailhead Improved DP IM','MANIDUAL',1), - (320139,320001,'Dunbar Buick Nailhead Breezer DP IM','MANIDUAL',1), - (320140,320001,'Per. Port Buick Nailhead Street Port DP IM','MANIDUAL',2), - (320141,320001,'Per. Port Buick Nailhead Street Port Alum. DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320142,320001,'Dunbar Buick Nailhead Tornado SP IM','MANISING',2), - (320143,320001,'Per. Port Buick Nailhead Street Port SP IM','MANISING',2), - (320144,320001,'Dunbar Buick Nailhead Wind Tunnel SP IM','MANISING',2), - (320145,320001,'Dunbar Buick Nailhead Hurricane Tunnel Ram','MANIHIGH',3), - (320146,320001,'Dunbar Buick Nailhead Cyclone Tunnel Ram','MANILOW',2), - (320147,320001,'Dunbar Buick Nailhead Super Cyclone Tunnel Ram','MANIHIGH',3), - (320148,320001,'Oldfield Ford SB Performance DP IM','MANIDUAL',2), - (320149,320001,'Oldfield Ford SB Performance Alum. DP IM','MANIDUAL',2), - (320150,320001,'Per. Port Ford SB Road Squire DP IM','MANIDUAL',1), - (320151,320001,'Per. Port Ford SB Road Squire Alum. DP IM','MANIDUAL',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320152,320001,'Per. Port Ford SB Centurion DP IM','MANIDUAL',2), - (320153,320001,'Per. Port Ford SB Street Knight SP IM','MANISING',2), - (320154,320001,'Oldfield Ford SB Lightning SP IM','MANISING',2), - (320155,320001,'Per. Port Ford SB Commander SP IM','MANISING',2), - (320156,320001,'Per. Port Ford SB Emperor Tunnel Ram','MANIHIGH',3), - (320157,320001,'Oldfield Ford SB Midget Tunnel Ram','MANILOW',2), - (320158,320001,'Oldfield Ford SB Strip King Tunnel Ram','MANIHIGH',3), - (320159,320001,'Per. Port Ford SB Street Lord Tunnel Ram','MANILOW',2), - (320160,320001,'Walter Chrysler SB Street DP IM','MANIDUAL',1), - (320161,320001,'Walter Chrysler SB Stocker DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320162,320001,'Walter Chrysler SB Street SP IM','MANISING',2), - (320163,320001,'Walter Chrysler SB Stocker SP IM','MANISING',3), - (320164,320001,'Walter Chyrsler SB Super Stocker SP IM','MANISING',4), - (320165,320001,'Walter Chrysler SB Intimidator Tunnel Ram','MANIHIGH',3), - (320166,320001,'Walter Chrysler SB Bighorn Tunnel Ram','MANIHIGH',2), - (320167,320001,'Perfect Port Chrysler SB Centurion DP IM','MANIDUAL',1), - (320168,320001,'Perfect Port Chrysler SB Commander SP IM','MANISING',2), - (320169,320001,'Per. Port Pontiac Emperor Tunnel Ram','MANIHIGH',3), - (320170,320001,'Per. Port Pontiac Street Lord Tunnel Ram','MANILOW',2), - (320171,320001,'Per. Port Pontiac Crusader Tunnel Ram','MANIHIGH',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320172,320001,'Per. Port Pontiac Track Assassin SP IM','MANISING',3), - (320173,320001,'Per. Port Pontiac Street Knight SP IM','MANISING',2), - (320174,320001,'Per. Port Pontiac Super Centurion DP IM','MANIDUAL',3), - (320175,320001,'Rad Rat Chevy BB Screamer Ultra Light DP','MANIDUAL',3), - (320176,320001,'Rad Rat Chevy BB Vortex SP IM','MANISING',2), - (320177,320001,'Rad Rat Chevy BB Vortex Ultra Light SP IM','MANISING',3), - (320178,320001,'Rad Rat Chevy BB Power Tower Tunnel Ram','MANIHIGH',3), - (320179,320001,'Rad Rat Chevy BB Ultimate Tunnel Ram','MANIHIGH',4), - (320180,320001,'Oldfield Ford BB Strip King DP IM','MANIDUAL',2), - (320181,320001,'Oldfield Ford BB Street King DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320182,320001,'Oldfield Ford BB Strip King SP IM','MANISING',2), - (320183,320001,'Oldfield Ford BB Midget Tunnel Ram','MANILOW',2), - (320184,320001,'Oldfield Ford BB Hiboy Tunnel Ram','MANIHIGH',3), - (320185,320001,'Oldfield Ford BB Strip King Tunnel Ram','MANIHIGH',3), - (320186,320001,'Walter Chrysler BB Bighorn Tunnel Ram','MANIHIGH',3), - (320187,320001,'Walter Chrysler BB Intimidator Tunnel Ram','MANIHIGH',4), - (320188,320001,'Walter Chrysler BB Super Stocker DP IM','MANIDUAL',4), - (320189,320001,'Walter Chrysler BB Super Stocker SP IM','MANISING',4), - (320190,320001,'Walter Chrysler BB Stocker SP IM','MANISING',3), - (320191,320001,'Walter Chrysler BB Stocker DP IM','MANIDUAL',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320192,320001,'Walter Chrysler BB Street DP IM','MANIDUAL',2), - (320193,320001,'Walter Chrylser BB Street SP IM','MANIDUAL',2), - (320194,320001,'Perf. Port Olds BB Road Squire DP IM','MANIDUAL',1), - (320195,320001,'Perf. Port Olds BB Street Port DP IM','MANIDUAL',2), - (320196,320001,'Perf. Port Olds BB Usurper DP IM','MANIDUAL',4), - (320197,320001,'Perf. Port Olds BB Centurion SP IM','MANISING',2), - (320198,320001,'Perf. Port Olds BB Commander SP IM','MANISING',3), - (320199,320001,'Perf. Port Olds BB Track Assassin SP IM','MANISING',4), - (320200,320001,'Perf. Port Olds BB Street Lord Tunnel Ram','MANIHIGH',3), - (320201,320001,'Perf. Port Olds BB Crusader Tunnel Ram','MANIHIGH',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320202,320001,'Perf. Port Olds BB Emperor Tunnel Ram','MANIHIGH',4), - (320203,320001,'Rad Rat Chevy W Screamer DP IM','MANIDUAL',2), - (320204,320001,'Rad Rat Chevy W Vortex SP IM','MANISING',3), - (320205,320001,'Rad Rat Chevy W Banshee DP IM','MANIDUAL',4), - (320206,320001,'Rad Rat Chevy W Banshee SP IM','MANISING',4), - (320207,320001,'Rad Rat Chevy W Power Tower Tunnel Ram','MANIHIGH',3), - (320208,320001,'Rad Rat Chevy W Ultimate Tunnel Ram','MANIHIGH',4), - (320209,320001,'Perf.Port Chevy W Usurper DP IM','MANIDUAL',4), - (320210,320001,'Perf. Port Chevy W Centurion SP IM','MANISING',2), - (320211,320001,'Perf. Port Chevy W Track Assassin SP IM','MANISING',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320212,320001,'Perf. Port Chevy W Street Lord Tunnel Ram','MANIHIGH',3), - (320213,320001,'Perf. Port Chevy W Emperor Tunnel Ram','MANIHIGH',4), - (320214,320001,'Perfect Port AMC Track Assassin SP IM','MANISING',4), - (320215,320001,'Perfect Port AMC Street Knight SP IM','MANISING',2), - (320216,320001,'Street Shark AMC Hunter SP IM','MANISING',3), - (320217,320001,'Street Shark AMC Predator DP IM','MANIDUAL',4), - (320218,320001,'Street Shark AMC Stalker DP IM','MANIDUAL',2), - (320219,320001,'Perfort Port AMC Street Lord Tunnel Ram','MANIHIGH',3), - (320220,320001,'Perfect Port AMC Crusader Tunnel Ram','MANIHIGH',3), - (320221,320001,'Perfect Port AMC Emperor Tunnel Ram','MANIHIGH',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320222,320001,'Street Shark AMC Tiger Shark Tunnel Ram','MANIHIGH',4), - (320223,320001,'Perf. Port Cadillac BB Road Squire DP IM','MANIDUAL',1), - (320224,320001,'Perf. Port Cadillac BB Road Squire Alum. DP IM','MANIDUAL',1), - (320225,320001,'Perf. Port Cadillac BB Street Port DP IM','MANIDUAL',2), - (320226,320001,'Perf. Port Cadillac BB Centurion DP IM','MANIDUAL',2), - (320227,320001,'Perf. Port Cadillac BB Usurper DP IM','MANIDUAL',4), - (320228,320001,'Perf. Port Cadillac BB Street Lord DP IM','MANIDUAL',3), - (320229,320001,'Perf. Port Cadillac BB Street Knight SP IM','MANISING',2), - (320230,320001,'Perf. Port Cadillac BB Centurion SP IM','MANISING',2), - (320231,320001,'Perf. Port Cadillac BB Super Centurion SP IM','MANISING',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320232,320001,'Perf. Port Cadillac BB Track Assassin SP IM','MANISING',4), - (320233,320001,'Perf. Port Cadillac BB Street Lord Tunnel Ram','MANIHIGH',3), - (320234,320001,'Perf. Port Cadillac BB Crusader Tunnel Ram','MANIHIGH',3), - (320235,320001,'Perf. Port Cadillac BB Emperor Tunnel Ram','MANIHIGH',4), - (320236,320001,'Perf. Port Cadillac BB Usurper Tunnel Ram','MANIHIGH',4), - (320237,320001,'Walter Hemi Perf. Street DP IM','MANIDUAL',2), - (320238,320001,'Walter Hemi Perf. Lightweight Street DP IM','MANIDUAL',2), - (320239,320001,'Walter Hemi Stocker DP IM','MANIDUAL',3), - (320240,320001,'Walter Hemi Lightweight Stocker DP IM','MANIDUAL',3), - (320241,320001,'Walter Hemi Super Stocker DP IM','MANIDUAL',4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320242,320001,'Walter Hemi Perf. Street SP IM','MANISING',2), - (320243,320001,'Walter Hemi Stocker SP IM','MANISING',3), - (320244,320001,'Walter Hemi Super Stocker SP IM','MANISING',3), - (320245,320001,'Walter Hemi Intimidator Tunnel Ram','MANIHIGH',4), - (320246,320001,'Walter Hemi Bighorn Tunnel Ram','MANIDUAL',3), - (320247,320001,'Perf. Port Ford 385 Road Squire DP IM','MANIDUAL',1), - (320248,320001,'Perf. Port Ford 385 Centurion SP IM','MANISING',2), - (320249,320001,'Perf. Port Ford 385 Street Lord Tunnel Ram','MANIHIGH',3), - (320250,320001,'Perf. Port Ford 385 Emperor Tunnel Ram','MANIHIGH',4), - (320251,320001,'Oldfield Ford 385 Perf. DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320252,320001,'Oldfield Ford 385 Lightning SP IM','MANISING',3), - (320253,320001,'Oldfield Ford 385 Track King DP IM','MANIDUAL',4), - (320254,320001,'Oldfield Ford 385 Strip King Tunnel Ram','MANIHIGH',3), - (320255,320001,'Oldfield Ford 385 Track King Tunnel Ram','MANIHIGH',4), - (320256,320001,'Perf. Port Cleveland Street Port DP IM','MANIDUAL',2), - (320257,320001,'Perf. Port Cleveland Emperor DP IM','MANIDUAL',4), - (320258,320001,'Perf. Port Cleveland Emperor SP IM','MANISING',4), - (320259,320001,'Perf. Port Cleveland Centurion SP IM','MANISING',2), - (320260,320001,'Perf. Port Cleveland Emperor Tunnel Ram','MANIHIGH',4), - (320261,320001,'Oldfield Cleveland Performance DP IM','MANIDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (320262,320001,'Oldfield Cleveland Track King DP IM','MANIDUAL',4), - (320263,320001,'Oldfield Cleveland Performance SP IM','MANISING',2), - (320264,320001,'Oldfield Cleveland Track King SP IM','MANISING',4), - (320265,320001,'Oldfield Cleveland Midget Tunnel Ram','MANILOW',3), - (330001,330001,'Autolite 4V (300 cfm)','CARBSING',1), - (330002,330001,'Autolite 6V (600 cfm)','CARBTRI',2), - (330003,330001,'Autolite 2V (300 cfm)','CARBSING',1), - (330004,330001,'Holley 4100 4V (600 cfm)','CARBSING',2), - (330005,330001,'Rochester 2GV 2V (200 cfm)','CARBSING',1), - (330006,330001,'Stromberg 97 2V (125 cfm)','CARBSING',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330007,330001,'Holley 2300 2V (400 cfm)','CARBSING',1), - (330008,330001,'Rochester 4G 4V (600 cfm)','CARBSING',2), - (330009,330001,'Rochester Monojet 2V (350 cfm)','CARBSING',1), - (330010,330001,'Holley Dominator 2300 2V (400 cfm)','CARBSING',2), - (330011,330001,'Holley 4150 4V (650 cfm)','CARBSING',2), - (330012,330001,'Edelbrock Performer 4V (600 cfm)','CARBSING',2), - (330013,330001,'Ramjet Fuel Injector',NULL,1), - (330014,330001,'Rochester 6V (600 cfm)','CARBSING',2), - (330015,330001,'Ford Detroit Lubricator 1V (100 cfm)','CARBSING',1), - (330016,330001,'Rochester Quadrajet 2x4V (800 cfm)','CARBDUAL',3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330017,330001,'Carter Tri-Power 3x2V (780 cfm)','CARBTRI',3), - (330018,330001,'Carter AFB 2x4V (800 cfm)','CARBDUAL',3), - (330019,330001,'Edelbrock Q-Jet (600 cfm)','CARBSING',2), - (330020,330001,'Rochester Quadrajet 4V (600 cfm)','CARBSING',2), - (330021,330001,'Carter AFB 4V (400 cfm)','CARBSING',1), - (330022,330001,'Holley 3x2V (680 cfm)','CARBTRI',2), - (330023,330001,'Holley 4300 2x4V (1000 cfm)','Carbquad',3), - (330024,330001,'Autolite 4V (350 cfm)','CARBSING',1), - (330025,330001,'Autolite 4V (400 cfm)','CARBSING',1), - (330026,330001,'Holley 4100 4V (780 cfm)','CARBSING',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330027,330001,'Corvette Cross-Fire Fuel Injection',NULL,2), - (330028,330001,'Holley 4100 4V (850 cfm)','CARBSING',3), - (330029,330001,'Cadillac EFI',NULL,1), - (330030,330001,'Cadillac Tri-Power 3x2V (600 cfm)','CARBTRI',2), - (330031,330001,'Rochester Tri-Power 3x2V (650 cfm)','CARBTRI',2), - (330032,330001,'Chevrolet Turbo Thrust 4V (400 cfm)','CARBSING',1), - (330033,330001,'Holley 4300 2x4V (800 cfm)','CARBDUAL',3), - (330034,330001,'Holley 4100 4V (735 cfm)','CARBSING',2), - (330035,330001,'Carter AVS 4V (600 cfm)','CARBSING',2), - (330036,330001,'Autolite 4100 4V (480 cfm)','CARBSING',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330037,330001,'Autolite 4100 4V (600 cfm)','CARBSING',2), - (330038,330001,'Autolite 4300 4V (600 cfm)','CARBSING',2), - (330039,330001,'Autolite 4300D 4V (715 cfm)','CARBSING',2), - (330040,330001,'Holley 3x2V (600 cfm)','CARBTRI',2), - (330041,330001,'Holley 4160 4V (1000 cfm)','CARBSING',3), - (330042,330001,'Autolite 2100 2V (356 cfm)','CARBSING',1), - (330043,330001,'Autolite 2100 2V (424 cfm)','CARBSING',1), - (330044,330001,'Rochester Quadrajet 4V (715 cfm)','CARBSING',2), - (330045,330001,'Holley Dominator 2V (550 cfm)','CARBSING',2), - (330046,330001,'Holley Dominator 2V (650 cfm)','CARBSING',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330047,330001,'Holley Dominator 2V (675 cfm)','CARBSING',2), - (330048,330001,'Holley Dominator 4V (1050 cfm)','CARBSING',3), - (330049,330001,'Holley Dominator 4V (1150 cfm)','CARBSING',3), - (330050,330001,'Holley Dominator 2x4V (1150 cfm)','CARBDUAL',3), - (330051,330001,'Holley Dominator 2x4V (1250 cfm)','CARBDUAL',4), - (330052,330001,'Holley Dominator 4V (1250 cfm)','CARBSING',4), - (330053,330001,'Carter 2V (400 cfm)','CARBSING',1), - (330054,330001,'Carter AFB 4V (500 cfm) Carb','CARBSING',1), - (330055,330001,'Rochester Monojet 2V (400 cfm)','CARBSING',1), - (330056,330001,'Rochester Quadrajet 2x4V (600 cfm)','CARBDUAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330057,330001,'Rochester Quadrajet 4V (500 cfm)','CARBSING',1), - (330058,330001,'Ramjet Fuel Injector RPO 579D',NULL,2), - (330059,330001,'Rochester Monojet 2V (500 cfm)','CARBSING',1), - (330060,330001,'Rochester Monojet 2V (600 cfm)','CARBSING',1), - (330061,330001,'Rochester Quadrajet 4V (660 cfm) Carb','CARBDUAL',1), - (330062,330001,'Autolite 2x4V (600 cfm)','CARBDUAL',1), - (330063,330001,'Autolite 2100 2V (600 cfm)','CARBSING',1), - (330064,330001,'Autolite 3x2V (860 cfm)','CARBTRI',2), - (330065,330001,'Holley 3x2V (840 cfm)','CARBTRI',2), - (330066,330001,'Carter 2V (600 cfm)','CARBSING',1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (330067,330001,'Carter AVS 4V (700 cfm)','CARBDUAL',1), - (330068,330001,'Carter AVS 4V (800 cfm)','CARBDUAL',2), - (330069,330001,'Edelbrock Performer 4V (500 cfm)','CARBDUAL',2), - (330070,330001,'Edelbrock Performer 4V (750 cfm)','CARBDUAL',2), - (330071,330001,'Edelbrock Q-Jet (850 cfm)','CARBDUAL',3), - (330072,330001,'Edelbrock Q-Jet (795 cfm)','CARBDUAL',3), - (330073,330001,'Edelbrock Pro-Flo EFI System',NULL,3), - (340001,340001,'Light Duty Air Cleaner','airoil',1), - (340002,340001,'Normal Duty Air Cleaner','airsnork',1), - (340003,340001,'Holley Hi-Tek Air Cleaner','AIRSTD',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (340004,340001,'Edelbrock Pro-Flo 1000 XHD Air Cleaner','airoval',4), - (340005,340001,'Tri-angular Air Cleaner','AIRTRI',2), - (340006,340001,'Edelbrock Pro-Flo Round Air Cleaner','AIRSTD',3), - (340007,340001,'Edelbrock Pro-Flo Oval Air Cleaner','AIROVAL',3), - (340008,340001,'Edelbrock Pro-Flo Triangular Air Cleaner','AIRTRI',3), - (340009,340001,'Edelbrock Elite Round Air Cleaner','AIRSTD',2), - (340010,340001,'Edelbrock Elite Oval Air Cleaner','AIROVAL',2), - (340011,340001,'Edelbrock Elite Triangular Air Cleaner','AIRTRI',2), - (350001,350001,'Lindstrom P05 Blower','BLOWSMAL',1), - (350002,350001,'Holley Street Blower','BLOWSMAL',2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (350003,350001,'Holley Street PowerCharger Blower','BLOWSMAL',2), - (350004,350001,'Holley PowerCharger Blower','BLOWLARG',3), - (350005,350001,'Holley MegaBlower','BLOWLARG',4), - (350006,350001,'Weiand 671 Blower','BLOWSMAL',3), - (350007,350001,'Weiand 871 Blower','BLOWLARG',3), - (350008,350001,'Weiand 1071 Blower','BLOWLARG',4), - (360001,360001,'Lindstrom Little Rabbit 5/1 NOS',NULL,1), - (360002,360001,'Lindstrom Cheetah 15/5 NOS',NULL,2), - (360003,360001,'Holley Powershot 125 NOS',NULL,3), - (360004,360001,'Holley Super Powershot 200 NOS',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (360005,360001,'Holley Cheater 250 NOS',NULL,4), - (360006,360001,'Holley Sneeky Pete 75 NOS',NULL,3), - (1000001,1000001,'Ford Y (9.0) 1.925i/1.51e Stock CH',NULL,1), - (1000002,1000001,'Ford Flathead (6.15) Stock CH',NULL,1), - (1000003,1000001,'Ford Flathead (6.8) Stock CH',NULL,1), - (1000004,1000001,'Ford Flathead (7.2) Stock CH',NULL,1), - (1000005,1000001,'Ford BB Low Riser (11.6) 2.09i/1.66e CH',NULL,3), - (1000006,1000001,'Ford 385 Street Boss (10.5) 2.28i/1.90e CH',NULL,3), - (1000007,1000001,'AMC (10.0) 1.787i/1.406e Stock CH',NULL,1), - (1000008,1000001,'AMC (10.2) 2.02i/1.625e Stock CH',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000009,1000001,'AMC (10.2) 2.02i/1.625e SS HP W/F CH',NULL,3), - (1000010,1000001,'Pontiac (9.2) Stock W CH',NULL,1), - (1000011,1000001,'Chrysler Hemi (10.25) 2.25i/1.90e Canted CH',NULL,3), - (1000012,1000001,'Chrysler SB (10.5) AAR W/P CH',NULL,2), - (1000013,1000001,'Chrysler SB (10.5) 1.78i/1.50e Wedge CH',NULL,1), - (1000014,1000001,'Olds SB (9.0) Stock CH',NULL,1), - (1000015,1000001,'Chevrolet SB (9.5) Wedge CH',NULL,1), - (1000016,1000001,'Pontiac (10.5) Wedge CH',NULL,1), - (1000017,1000001,'Olds BB (10.25) Stock CH',NULL,1), - (1000018,1000001,'Pontiac (10.75) W CH',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000019,1000001,'Chevrolet BB HP (11.0) Canted CH',NULL,3), - (1000020,1000001,'Ford Flathead (7.5) Denver CH',NULL,2), - (1000021,1000001,'Olds BB (8.5) CH',NULL,1), - (1000022,1000001,'Chevrolet W (10.25) 2.07i/1.72e CH',NULL,2), - (1000023,1000001,'Chevrolet BB L72 (11.0) HP CH',NULL,3), - (1000024,1000001,'Chevrolet BB L88 Aluminum (12.5) HP CH',NULL,4), - (1000025,1000001,'Chevrolet BB L89 Aluminum (11.0) HP CH',NULL,3), - (1000026,1000001,'Ford Y 1957 (9.0) 1.925i/1.51e Stock CH',NULL,2), - (1000027,1000001,'Ford 385 (8.5) 2.08i/1.66e Canted CH',NULL,1), - (1000028,1000001,'Ford 385 (11.0) 2.08i/1.66e Canted CH',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000029,1000001,'Ford Cleveland (9.2) 2.19i/1.71e HP Canted CH',NULL,3), - (1000030,1000001,'Ford BB (9.6) 2.04i/1.57e W CH',NULL,2), - (1000031,1000001,'Ford BB (11.4) 2.09i/1.66e W/P CH',NULL,2), - (1000032,1000001,'Ford BB High Riser (11.5) 2.195i/1.73e CH',NULL,3), - (1000033,1000001,'Ford BB Cammer 2.25i/1.90e HP CH',NULL,4), - (1000034,1000001,'Ford 385 (10.5) 2.08i/1.66e Canted CH',NULL,2), - (1000035,1000001,'Ford 385 (11.3) 2.25i/1.72e CJ HP CH',NULL,3), - (1000037,1000001,'Pontiac (10.0) W/P CH',NULL,3), - (1000038,1000001,'Chrysler BB (11.0) Max Wedge I CH',NULL,3), - (1000039,1000001,'Chrysler BB (13.5) Max Wedge I HP CH',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000040,1000001,'Edelbrock Performer RPM (9.25) Chevy SB CH',NULL,3), - (1000041,1000001,'Edelbrock Performer RPM (10.5) Chevy SB CH',NULL,3), - (1000042,1000001,'Edelbrock Performer (9.25) Chevy SB CH',NULL,2), - (1000043,1000001,'Edelbrock Performer (10.5) Chevrolet SB CH',NULL,2), - (1000044,1000001,'Edelbrock Performer RPM 454-O Chevy BB (9.5) CH',NULL,2), - (1000045,1000001,'Edelbrock Performer 454-O Chevy BB (9.5) CH',NULL,2), - (1000046,1000001,'Edelbrock Performer RPM 454-R Chevy BB (9.5) CH',NULL,3), - (1000047,1000001,'Edelbrock Performer RPM (11.5) Chevy SB CH',NULL,3), - (1000048,1000001,'Buick BB (10.0) 2.0i/1.625e Stock',NULL,1), - (1000049,1000001,'Pontiac (12.0) Wedge',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000050,1000001,'Pontiac (13.0) Wedge',NULL,4), - (1000051,1000001,'Pontiac Ram Air II Cylinder Head',NULL,2), - (1000052,1000001,'Ford BB Medium Riser (11.6) 2.195i/1.73e CH',NULL,3), - (1000053,1000001,'Ford BB (10.6) 2.04i/1.57e W/P CH',NULL,2), - (1000054,1000001,'Ford 385 2.37i/1.90e NASCAR CH',NULL,4), - (1000055,1000001,'Chrysler BB (12.5) Max Wedge III CH',NULL,3), - (1000056,1000001,'Chevrolet W (10.25) 2.19/1.73 CH',NULL,3), - (1000057,1000001,'Chevrolet W (10.25) 1.94/1.65 CH',NULL,2), - (1000058,1000001,'Ford Cleveland Boss 351 (11.7) 2.19i/1.71e CH',NULL,3), - (1000060,1000001,'Buick Nailhead Wedge (8.5)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000061,1000001,'Ford SB (10.5) 1.78i/1.45e HP Wedge CH',NULL,2), - (1000063,1000001,'Buick BB (8.5) 2.0i/1.625e Wedge CH',NULL,1), - (1000064,1000001,'Buick SB Wedge (8.5)',NULL,1), - (1000065,1000001,'Buick SB Wedge (9.0)',NULL,1), - (1000066,1000001,'Buick SB Wedge (10.25)',NULL,2), - (1000067,1000001,'Cadillac BB Stock (9.1)',NULL,1), - (1000068,1000001,'Cadillac BB Wedge (10.5)',NULL,1), - (1000069,1000001,'Chevrolet SB Wedge (8.0)',NULL,1), - (1000070,1000001,'Chevrolet SB Wedge (9.25)',NULL,1), - (1000071,1000001,'Chevrolet SB Stock Wedge (10.5) 1.72i/1.50e',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000072,1000001,'Chevrolet SB Wedge (11.0)',NULL,2), - (1000073,1000001,'Chevrolet SB Wedge (11.25) 1.94i/1.50e',NULL,2), - (1000074,1000001,'Chevrolet SB Wedge (9.0)',NULL,1), - (1000075,1000001,'Chevrolet BB Canted (10.25)',NULL,3), - (1000076,1000001,'Chevrolet BB Canted ZL1 (12.0)',NULL,3), - (1000077,1000001,'Chevrolet BB Canted LS6 (9.0)',NULL,2), - (1000078,1000001,'Olds SB (10.25) Stock CH',NULL,1), - (1000079,1000001,'Olds SB (10.5) W-31 CH',NULL,3), - (1000080,1000001,'Olds BB (10.5) Stock CH',NULL,2), - (1000081,1000001,'Olds BB (9.0) Stock CH',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000082,1000001,'Olds BB (10.25) Stock CH',NULL,2), - (1000083,1000001,'Olds BB (10.5) W-30 CH',NULL,3), - (1000084,1000001,'Pontiac (8.6) Stock W CH',NULL,1), - (1000085,1000001,'Pontiac (10.0) Stock W CH',NULL,2), - (1000086,1000001,'Pontiac (11.0) SD W CH',NULL,3), - (1000087,1000001,'Pontiac (10.75) HO W CH',NULL,3), - (1000088,1000001,'Pontiac (10.5) W CH',NULL,2), - (1000089,1000001,'Pontiac (10.25) W CH',NULL,2), - (1000090,1000001,'Pontiac (10.0) Stock W CH',NULL,1), - (1000091,1000001,'Pontiac (8.4) SD W CH',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000092,1000001,'Ford Y (7.6) 1.78i/1.51e Stock CH',NULL,1), - (1000093,1000001,'Ford Y (8.5) 1.78i/1.51e Stock CH',NULL,1), - (1000094,1000001,'Ford Y (8.1) 1.78i/1.51e Stock CH',NULL,1), - (1000095,1000001,'Ford Y (8.0) 1.78i/1.51e Stock CH',NULL,1), - (1000096,1000001,'Ford Y (8.4) 1.78i/1.51e Stock CH',NULL,1), - (1000097,1000001,'Ford Y (8.6) 1.925i/1.51e Stock CH',NULL,1), - (1000098,1000001,'Ford Y (9.7) 1.925i/1.51e Stock CH',NULL,2), - (1000099,1000001,'Ford Y (8.3) 1.925i/1.51e Stock CH',NULL,1), - (1000100,1000001,'Ford Y (8.8) 1.925i/1.51e Stock CH',NULL,1), - (1000101,1000001,'Ford Y (9.6) 1.925i/1.51e Stock CH',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000102,1000001,'Ford BB (12.1) 2.09i/1.66e Wedge CH',NULL,3), - (1000103,1000001,'Ford BB (11.0) 2.04i/1.57e Wedge CH',NULL,2), - (1000104,1000001,'Ford BB (10.1) 2.04i/1.57e Wedge CH',NULL,2), - (1000105,1000001,'Ford BB (9.4) 2.04i/1.57e Wedge CH',NULL,1), - (1000106,1000001,'Ford Cleveland (9.5) 2.05i/1.65e CH',NULL,2), - (1000107,1000001,'Ford Cleveland (11.0) 2.19i/1.71e CH',NULL,3), - (1000108,1000001,'Ford Cleveland (9.0) 2.19i/1.71e CH',NULL,2), - (1000109,1000001,'Ford Cleveland (8.6) 2.05i/1.65e CH',NULL,1), - (1000111,1000001,'Ford 385 (10.2) 2.08i/1.66e Canted CH',NULL,3), - (1000112,1000001,'Chrysler BB (10.0) Large Port W CH',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000113,1000001,'Chrysler BB (9.6) W CH',NULL,1), - (1000114,1000001,'Chrysler BB (9.2) W CH',NULL,1), - (1000115,1000001,'Chrysler SB (8.8) 1.78i/1.50e Stock W CH',NULL,1), - (1000116,1000001,'Chrysler SB (10.5) 2.02i/1.60e Stock W CH',NULL,2), - (1000117,1000001,'Chrysler SB (9.0) Stock W CH',NULL,1), - (1000118,1000001,'Chrysler SB (9.2) Stock W CH',NULL,1), - (1000119,1000001,'Chrysler BB (10.0) W CH',NULL,1), - (1000120,1000001,'Chevrolet SB Large Valve Wedge (10.5)',NULL,2), - (1000121,1000001,'Chevrolet SB Wedge (10.25)',NULL,2), - (1000122,1000001,'Chevrolet SB Wedge (8.5)',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000123,1000001,'Chevrolet SB Wedge (10.5) 1.94i/1.50e',NULL,2), - (1000124,1000001,'Chevrolet SB Wedge (11.25) 2.02i/1.60e',NULL,2), - (1000125,1000001,'Chevrolet BB L36 Canted (10.25)',NULL,2), - (1000126,1000001,'Pontiac (10.25) Stock W CH',NULL,1), - (1000127,1000001,'Pontiac (10.75) W/P CH',NULL,3), - (1000128,1000001,'Pontiac (10.75) W CH',NULL,2), - (1000129,1000001,'Pontiac (11.0) SD 2.02i/1.76e W CH',NULL,3), - (1000130,1000001,'Pontiac Ram Air V Cylinder Head',NULL,3), - (1000131,1000001,'Ford BB (10.2) 2.04i/1.57e Wedge CH',NULL,2), - (1000132,1000001,'Ford BB (8.9) 2.04i/1.57e Wedge CH',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000133,1000001,'Ford BB (10.5) 2.04i/1.57e Wedge CH',NULL,2), - (1000134,1000001,'Ford SB (8.7) 1.67i/1.45e Wedge CH',NULL,1), - (1000135,1000001,'Ford SB (10.5) 1.67i/1.45e HP Wedge CH',NULL,2), - (1000136,1000001,'Ford SB (9.0) 1.67i/1.45e Wedge CH',NULL,1), - (1000137,1000001,'Ford SB (10.0) 1.78i/1.45e Wedge CH',NULL,1), - (1000138,1000001,'Ford SB Boss (10.5) 2.23i/1.72e Canted CH',NULL,3), - (1000139,1000001,'Ford SB (9.5) 1.84i/1.54e Wedge CH',NULL,2), - (1000140,1000001,'Ford SB (10.7) 1.84i/1.54e Wedge CH',NULL,2), - (1000141,1000001,'Chrysler BB (8.2) W CH',NULL,1), - (1000142,1000001,'Chrysler BB (11.0) Max Wedge III Cylinder Head',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000143,1000001,'Chrysler BB (10.5) W CH',NULL,2), - (1000144,1000001,'Buick BB Stage I (10) 2.12i/1.75e CH',NULL,2), - (1000145,1000001,'Pontiac (8.0) Stock W CH',NULL,1), - (1000146,1000001,'Chevrolet BB (8.5) Stock CH',NULL,1), - (1000147,1000001,'Shade Tree Chevrolet SB (8.0)',NULL,1), - (1000148,1000001,'AMC (9.0) 1.787i/1.406e Stock CH',NULL,1), - (1000149,1000001,'AMC (9.0) 2.02i/1.625e Stock CH',NULL,1), - (1000150,1000001,'AMC (10.0) 2.02i/1.625e Stock CH',NULL,2), - (1000151,1000001,'AMC (10.0) 2.02i/1.625e Dog Leg CH',NULL,2), - (1000152,1000001,'Cadillac L-Head Stock CH',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000153,1000001,'Buick BB (10.25) 2.0i/1.625e Wedge CH',NULL,2), - (1000154,1000001,'Chevrolet W (10.25) 2.19/1.73 Z11 CH',NULL,3), - (1000155,1000001,'Cadillac L-Head (7.5) CH',NULL,2), - (1000156,1000001,'Cadillac L-Head (7.8) CH',NULL,2), - (1000157,1000001,'Cadillac L-Head (8.0) CH',NULL,2), - (1000158,1000001,'Cadillac L-Head (8.2) CH',NULL,2), - (1000159,1000001,'Buick Nailhead (8.75) CH',NULL,2), - (1000160,1000001,'Buick Nailhead (9.0) CH',NULL,2), - (1000161,1000001,'Buick Nailhead (10.25) CH',NULL,3), - (1000162,1000001,'Buick Nailhead (10.5) CH',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000163,1000001,'Cadillac (9.75) Wedge CH',NULL,2), - (1000164,1000001,'Cadillac (10.0) Wedge CH',NULL,2), - (1000165,1000001,'Hemi (10.5) Canted CH',NULL,3), - (1000166,1000001,'Hemi (10.75) Canted CH',NULL,3), - (1000167,1000001,'Edelbrock Ford Flathead Cylinder Head',NULL,3), - (1000168,1000001,'Holley SystemMax Chevrolet BB CH',NULL,4), - (1000169,1000001,'AMC NASCAR CH',NULL,4), - (1000170,1000001,'AMC (9.5) 2.02i/1.68e Stock CH',NULL,2), - (1000171,1000001,'AMC (8.5) 2.02i/1.68e Stock CH',NULL,1), - (1000172,1000001,'Ford SB (9.0) 1.84i/1.54e Wedge CH',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1000173,1000001,'Ford SB Boss (10.5) 2.19i/1.72e Canted CH',NULL,3), - (1000174,1000001,'Ford SB TP (10.0) 2.12i/1.54e Wedge CH',NULL,3), - (1100001,1100001,'Chevrolet SB Stock Cam',NULL,1), - (1100002,1100001,'Chrysler SB Barracuda Cam',NULL,1), - (1100003,1100001,'Edelbrock Performer Plus Chrysler SB HP Cam',NULL,3), - (1100004,1100001,'Edelbrock Performer RPM Chrysler SB HP Cam',NULL,2), - (1100005,1100001,'Ford SB Stock Cam',NULL,1), - (1100006,1100001,'Reed TorqueMaster Chrysler SB HP Cam',NULL,2), - (1100007,1100001,'Reed XLH Chrysler SB DP Cam',NULL,3), - (1100008,1100001,'Crane PowerMax HP Chrysler SB Cam',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100009,1100001,'Crane Saturday Night Special Chrysler SB Cam',NULL,3), - (1100010,1100001,'Edelbrock Torker-Plus Chrysler SB DP Cam',NULL,3), - (1100011,1100001,'Buick BB Stock Cam',NULL,1), - (1100012,1100001,'Buick SB Stock Cam',NULL,1), - (1100013,1100001,'Cadillac BB Stock Cam',NULL,1), - (1100014,1100001,'Chevrolet BB Stock Cam',NULL,1), - (1100015,1100001,'Chevrolet SB HP Cam',NULL,2), - (1100016,1100001,'Chrysler BB Stock Cam',NULL,1), - (1100017,1100001,'Chrysler SB Stock Cam',NULL,1), - (1100018,1100001,'Ford BB Stock Cam',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100019,1100001,'Ford SB HP Cam',NULL,2), - (1100020,1100001,'Ford Flathead Stock Cam',NULL,1), - (1100021,1100001,'Oldsmobile BB Stock Cam',NULL,1), - (1100022,1100001,'Oldsmobile SB Stock Cam',NULL,1), - (1100023,1100001,'AMC Stock Cam',NULL,1), - (1100024,1100001,'Pontiac Stock Cam',NULL,1), - (1100025,1100001,'Chevrolet SB Stock Hi-Lift Cam',NULL,1), - (1100026,1100001,'Chevrolet SB HP Duntov Cam',NULL,3), - (1100028,1100001,'Chevrolet BB HP Cam',NULL,2), - (1100029,1100001,'Chevrolet BB HP LS7 Cam',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100030,1100001,'Buick BB 1968 Stage I Cam',NULL,1), - (1100031,1100001,'Buick BB 1969 Stage I Cam',NULL,2), - (1100032,1100001,'Buick BB Stage II Cam',NULL,2), - (1100033,1100001,'Oldsmobile SB W31 Performance Cam',NULL,2), - (1100034,1100001,'Oldsmobile BB W30 Performance Cam',NULL,2), - (1100035,1100001,'Pontiac SD Cam',NULL,3), - (1100036,1100001,'Pontiac Ram Air I Cam',NULL,2), - (1100037,1100001,'Pontiac Ram Air IV Cam',NULL,3), - (1100038,1100001,'Pontiac SD Cam',NULL,3), - (1100039,1100001,'Pontiac HO Cam',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100040,1100001,'Ford Y Truck Cam',NULL,1), - (1100041,1100001,'Ford BB HO Cam',NULL,2), - (1100042,1100001,'Ford BB HO Mild Cam',NULL,2), - (1100043,1100001,'Ford BB Cammer Cam',NULL,4), - (1100044,1100001,'Ford BB PI Cam',NULL,2), - (1100045,1100001,'Ford 385 Boss Cam',NULL,3), - (1100046,1100001,'Chrysler BB HP Cam',NULL,2), - (1100047,1100001,'Chrysler BB Max Wedge I Cam',NULL,2), - (1100048,1100001,'Chrysler BB Max Wedge III Cam',NULL,3), - (1100049,1100001,'Chrysler Hemi Cam',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100050,1100001,'Chrysler SB AAR Cam',NULL,2), - (1100051,1100001,'AMC Group 19 Cam',NULL,2), - (1100052,1100001,'AMC SS/AMX Cam',NULL,3), - (1100054,1100001,'Crane PowerMax HP Cadillac BB Cam',NULL,2), - (1100055,1100001,'Crane PowerMax HP Buick BB Cam',NULL,2), - (1100056,1100001,'Crane PowerMax HP Buick SB Cam',NULL,2), - (1100057,1100001,'Crane PowerMax HP Chevrolet BB Cam',NULL,2), - (1100058,1100001,'Crane PowerMax HP Chevrolet SB Cam',NULL,2), - (1100059,1100001,'Crane PowerMax HP Chrysler BB Cam',NULL,2), - (1100060,1100001,'Crane PowerMax HP Ford BB Cam',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100061,1100001,'Crane PowerMax HP Ford SB Cam',NULL,2), - (1100062,1100001,'Crane PowerMax HP Olds BB Cam',NULL,2), - (1100063,1100001,'Crane PowerMax HP Olds SB Cam',NULL,2), - (1100064,1100001,'Crane PowerMax HP Pontiac Cam',NULL,2), - (1100065,1100001,'Shade Tree Hemi Cam',NULL,2), - (1100066,1100001,'Crane Saturday Night Special Chrysler BB Cam',NULL,3), - (1100067,1100001,'Crane Saturday Night Special Buick BB Cam',NULL,3), - (1100068,1100001,'Crane Saturday Night Special Buick SB Cam',NULL,3), - (1100069,1100001,'Crane Saturday Night Special Chevrolet BB Cam',NULL,3), - (1100070,1100001,'Crane Saturday Night Special Chevrolet SB Cam',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100071,1100001,'Crane Saturday Night Special Ford BB Cam',NULL,3), - (1100072,1100001,'Crane Saturday Night Special Ford SB Cam',NULL,3), - (1100073,1100001,'Crane Saturday Night Special Olds BB Cam',NULL,3), - (1100074,1100001,'Crane Saturday Night Special Olds SB Cam',NULL,3), - (1100075,1100001,'Crane Saturday Night Special Pontiac Cam',NULL,3), - (1100076,1100001,'Crane Saturday Night Special Chevy W Cam',NULL,3), - (1100077,1100001,'Edelbrock Performer Plus Chevrolet SB HP Cam',NULL,3), - (1100078,1100001,'Edelbrock Performer Plus Ford SB HP Cam',NULL,3), - (1100079,1100001,'Edelbrock Performer Plus Ford BB HP Cam',NULL,3), - (1100080,1100001,'Edelbrock Performer RPM Chrysler BB HP Cam',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100081,1100001,'Edelbrock Performer RPM Buick BB HP Cam',NULL,2), - (1100082,1100001,'Edelbrock Performer RPM Chevrolet BB HP Cam',NULL,2), - (1100083,1100001,'Edelbrock Performer RPM Chevrolet SB HP Cam',NULL,2), - (1100084,1100001,'Edelbrock Performer RPM Ford BB HP Cam',NULL,2), - (1100085,1100001,'Edelbrock Performer RPM Ford SB HP Cam',NULL,2), - (1100087,1100001,'Edelbrock Performer RPM Olds SB HP Cam',NULL,2), - (1100088,1100001,'Edelbrock Performer RPM Pontiac HP Cam',NULL,2), - (1100090,1100001,'Edelbrock Torker-Plus Chrysler BB DP Cam',NULL,3), - (1100092,1100001,'Edelbrock Torker-Plus Chevrolet BB DP Cam',NULL,3), - (1100093,1100001,'Edelbrock Torker-Plus Chevrolet SB DP Cam',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100094,1100001,'Edelbrock Torker-Plus Ford BB DP Cam',NULL,3), - (1100095,1100001,'Edelbrock Torker-Plus Ford SB DP Cam',NULL,3), - (1100098,1100001,'Edelbrock Torker-Plus Pontiac DP Cam',NULL,3), - (1100100,1100001,'Oldsmobile BB HP Cam',NULL,2), - (1100101,1100001,'Pontiac m/t Stock Cam',NULL,1), - (1100102,1100001,'Pontiac Trophy (HP) Cam',NULL,2), - (1100103,1100001,'Ford SB HP Cam',NULL,2), - (1100104,1100001,'Ford SB Special Stock Cam',NULL,1), - (1100105,1100001,'Ford Flathead Power Cam',NULL,2), - (1100106,1100001,'Buick SB Special Stock Cam',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100107,1100001,'Cadillac BB Midrange Cam',NULL,2), - (1100108,1100001,'Chevrolet BB Midrange Cam',NULL,2), - (1100109,1100001,'Chevrolet SB Special Stock Cam',NULL,1), - (1100110,1100001,'Chrysler BB Midrange Cam',NULL,2), - (1100111,1100001,'Oldsmobile BB Special Stock Cam',NULL,1), - (1100112,1100001,'Pontiac Midrange Cam',NULL,2), - (1100113,1100001,'Shade Tree Chevrolet SB Stock Cam',NULL,1), - (1100114,1100001,'Cadillac L-Head Camshaft',NULL,1), - (1100115,1100001,'Buick Nailhead Stock 322 Camshaft',NULL,1), - (1100116,1100001,'Ford Cleveland Block Stock Camshaft',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100117,1100001,'Ford Cleveland Block Boss Camshaft',NULL,2), - (1100118,1100001,'Ford Cleveland Block HO Camshaft',NULL,2), - (1100119,1100001,'Ford 385 Block Stock Camshaft',NULL,1), - (1100120,1100001,'Ford 385 Block Special Stock Camshaft',NULL,1), - (1100121,1100001,'Ford Y Stock Camshaft',NULL,1), - (1100122,1100001,'Chevrolet W Stock Camshaft',NULL,1), - (1100123,1100001,'Chevrolet W HP Camshaft',NULL,2), - (1100124,1100001,'Chevrolet W Z11 Camshaft',NULL,3), - (1100125,1100001,'Buick Nailhead Power Plus',NULL,2), - (1100126,1100001,'Buick Nailhead HP',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100127,1100001,'Cadillac L-Head Power Plus',NULL,2), - (1100128,1100001,'Cadillac L-Head HP',NULL,2), - (1100129,1100001,'Ford Y E4 Low Range',NULL,2), - (1100130,1100001,'Edelbrock Performer Plus AMC Camshaft',NULL,3), - (1100131,1100001,'AMC WG Camshaft',NULL,2), - (1100132,1100001,'Edelbrock Performer Plus Olds SB HP Cam',NULL,3), - (1100133,1100001,'Edelbrock Performer Plus Olds BB HP Cam',NULL,3), - (1100134,1100001,'Fyne Grind Y Block Street 36 Cam',NULL,1), - (1100135,1100001,'Fyne Grind Y Block Street 39 Cam',NULL,1), - (1100136,1100001,'Fyne Grind Y Block Street 40 Cam',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100137,1100001,'Fyne Grind Y Block Super 39 HP Cam',NULL,2), - (1100138,1100001,'Fyne Grind Y Block Super 40 HP Cam',NULL,2), - (1100139,1100001,'Fyne Grind Y Block Super 43 HP Cam',NULL,2), - (1100140,1100001,'Fyne Grind Y Block Super 44 HP Cam',NULL,2), - (1100141,1100001,'Fyne Grind Y Block Ultra 44 DP Cam',NULL,3), - (1100142,1100001,'Fyne Grind Y Block Ultra 48 DP Cam',NULL,3), - (1100143,1100001,'Fyne Grind Buick Nailhead Street 45 Cam',NULL,2), - (1100144,1100001,'Fyne Grind Buick Nailhead Street 47 Cam',NULL,2), - (1100145,1100001,'Fyne Grind Buick Nailhead Street 48 Cam',NULL,2), - (1100146,1100001,'Fyne Grind Buick Nailhead Super 47 Cam',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100147,1100001,'Fyne Grind Buick Nailhead Super 49 Cam',NULL,3), - (1100148,1100001,'Buick Nailhead Stock 401 Cam',NULL,1), - (1100149,1100001,'Buick Nailhead Stock 425 Cam',NULL,1), - (1100150,1100001,'Oldfield Ford 385 Street King Cam',NULL,2), - (1100151,1100001,'Oldfield Cleveland Street King Cam',NULL,2), - (1100152,1100001,'Oldfield Cleveland New Boss Cam',NULL,3), - (1100153,1100001,'Oldfield Ford 385 New Boss Cam',NULL,3), - (1100154,1100001,'Walter Hemi Blueprint Classic Cam',NULL,2), - (1100155,1100001,'Walter Hemi Extra Stock Cam',NULL,3), - (1100156,1100001,'Leland Cadillac BB Highway Plus Cam',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1100157,1100001,'Leland Cadillac BB Streeter Cam',NULL,2), - (1100158,1100001,'Leland Cadillac Racing Cam',NULL,4), - (1100159,1100001,'Walter Hemi Bighorn Cam',NULL,4), - (1100160,1100001,'Chevrolet Chevy SB Corvette (220hp) Cam',NULL,1), - (1100161,1100001,'Ford 88 Flathead Camshaft',NULL,2), - (1200001,1200001,'Chevrolet BB Stock Hydraulic Valvetrain',NULL,1), - (1200002,1200001,'Chrysler SB Stock Hydraulic Valvetrain',NULL,1), - (1200003,1200001,'Ford BB Stock Hydraulic Valve Train',NULL,1), - (1200004,1200001,'Crane PowerMax Ford BB VT',NULL,2), - (1200005,1200001,'Ford 385 Boss Solid Lifter Valve Train',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200006,1200001,'Chevrolet BB Hi-Lift Hydraulic Valve Train',NULL,2), - (1200007,1200001,'Chrysler BB Max Wedge III Valve Train',NULL,3), - (1200008,1200001,'Crane Energizer Ford BB VT',NULL,2), - (1200009,1200001,'Reed T-UL Solid Lifter Ford BB Valvetrain',NULL,2), - (1200010,1200001,'Reed R-ULX Roller Lifter Ford BB Valvetrain',NULL,3), - (1200011,1200001,'Reed TM Hydraulic Lifter Ford BB Valvetrain',NULL,2), - (1200012,1200001,'Buick BB Stock Hydraulic Valvetrain',NULL,1), - (1200013,1200001,'Buick Nailhead Stock Hydraulic Valvetrain',NULL,1), - (1200014,1200001,'Cadillac BB Stock Valvetrain',NULL,1), - (1200015,1200001,'Chrysler BB Stock Hydraulic Valvetrain',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200016,1200001,'Chrysler SB Stock Hydraulic Valvetrain',NULL,1), - (1200017,1200001,'Ford SB Stock Hydraulic Valvetrain',NULL,1), - (1200018,1200001,'Ford Flathead Stock Hydraulic Valvetrain',NULL,1), - (1200019,1200001,'Olds BB Hydraulic Valvetrain',NULL,1), - (1200020,1200001,'Olds SB Stock Hydraulic Valvetrain',NULL,1), - (1200021,1200001,'AMC Stock Hydraulic Valvetrain',NULL,1), - (1200022,1200001,'Buick SB Stock Hydraulic Valvetrain',NULL,1), - (1200023,1200001,'Chevrolet SB Solid Lifter Valvetrain',NULL,2), - (1200024,1200001,'Chevrolet BB Solid Lifter Valvetrain',NULL,2), - (1200025,1200001,'Chevrolet BB SS Solid Lifter Valvetrain',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200026,1200001,'Pontiac Ram Air V Solid Lifter Valvetrain',NULL,3), - (1200027,1200001,'Ford Y Truck Solid Lifter Valvetrain',NULL,2), - (1200028,1200001,'Ford BB Stock Mechanical Lifter Valvetrain',NULL,1), - (1200029,1200001,'Ford BB Solid Lifter Valvetrain',NULL,2), - (1200030,1200001,'Ford BB Cammer Valvetrain',NULL,4), - (1200031,1200001,'Ford BB SCJ Solid Lifter Valvetrain',NULL,2), - (1200032,1200001,'Chrysler BB Solid Lifter Valvetrain',NULL,2), - (1200033,1200001,'Chrysler SB Stock Mechanical Lifter Valvetrain',NULL,1), - (1200034,1200001,'Chevrolet SB Stock Hydraulic Valvetrain',NULL,1), - (1200035,1200001,'Pontiac Stock Hydraulic Valvetrain',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200036,1200001,'AMC Group 19 Mechanical Lifter Valvetrain',NULL,2), - (1200037,1200001,'Pontiac SD Mech Lifter Valvetrain',NULL,2), - (1200038,1200001,'Ford SB HP Solid Lifter Valvetrain',NULL,2), - (1200039,1200001,'Chrysler Hemi Solid Lifter Valvetrain',NULL,2), - (1200040,1200001,'Shade Tree Chrysler Hemi Valvetrain',NULL,1), - (1200041,1200001,'Chrysler Hemi Hydraulic Valvetrain',NULL,2), - (1200042,1200001,'Cadillac L-Head Valvetrain',NULL,1), - (1200043,1200001,'Ford Cleveland Block Stock Valvetrain',NULL,1), - (1200044,1200001,'Ford Cleveland Block Boss Valvetrain',NULL,2), - (1200045,1200001,'Ford 385 Block Stock Valvetrain',NULL,1); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200046,1200001,'Ford 385 Block SCJ Valvetrain',NULL,2), - (1200047,1200001,'Ford 385 Block Boss Hydraulic Valvetrain',NULL,2), - (1200048,1200001,'Ford Y Stock Solid Valvetrain',NULL,1), - (1200049,1200001,'Chevrolet W Stock Hydraulic Valvetrain',NULL,1), - (1200050,1200001,'Chevrolet W STT Solid Valvetrain',NULL,2), - (1200051,1200001,'Buick Nailhead Solid Valvetrain',NULL,2), - (1200052,1200001,'Buick SB Solid Valvetrain',NULL,2), - (1200053,1200001,'Buick BB Solid Valvetrain',NULL,2), - (1200054,1200001,'Cadillac L-Head Super Hydraulic Valvetrain',NULL,2), - (1200055,1200001,'Ford Flathead Super Hydraulic Valvetrain',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200056,1200001,'Cadillac Solid Valvetrain',NULL,2), - (1200057,1200001,'Oldsmobile SB Solid Valvetrain',NULL,2), - (1200058,1200001,'Oldsmobile BB Solid Valvetrain',NULL,2), - (1200059,1200001,'Edelbrock AMC Hydraulic Lifters',NULL,2), - (1200060,1200001,'Edelbrock Chevrolet SB Hydraulic Lifters',NULL,2), - (1200061,1200001,'Edelbrock Chevrolet BB Hydraulic Lifters',NULL,2), - (1200062,1200001,'Edelbrock Chrysler SB Hydraulic Lifters',NULL,2), - (1200063,1200001,'Edelbrock Chrysler BB Hydraulic Lifters',NULL,2), - (1200064,1200001,'Edelbrock Ford SB Hydraulic Lifters',NULL,2), - (1200065,1200001,'Edelbrock Ford C Hydraulic Lifters',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200066,1200001,'Edelbrock Ford BB Hydraulic Lifters',NULL,2), - (1200067,1200001,'Edelbrock Ford 385 Hydraulic Lifters',NULL,2), - (1200068,1200001,'Edelbrock Olds SB Hydraulic Lifters',NULL,2), - (1200069,1200001,'Edelbrock Olds BB Hydraulic Lifters',NULL,2), - (1200070,1200001,'Edelbrock Pontiac Hydraulic Lifters',NULL,2), - (1200071,1200001,'Crane PowerMax Roller Ford BB VT',NULL,3), - (1200072,1200001,'Crane PowerMax AMC VT',NULL,2), - (1200073,1200001,'Crane PowerMax Roller AMC VT',NULL,3), - (1200074,1200001,'Crane Energizer Buick SB VT',NULL,2), - (1200075,1200001,'Crane PowerMax Buick SB VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200076,1200001,'Crane Energizer Chevrolet SB VT',NULL,2), - (1200077,1200001,'Crane PowerMax Chevrolet SB VT',NULL,2), - (1200078,1200001,'Crane PowerMax Roller Chevrolet SB VT',NULL,3), - (1200079,1200001,'Crane Energizer Chevrolet BB VT',NULL,2), - (1200080,1200001,'Crane PowerMax Chevrolet BB VT',NULL,2), - (1200081,1200001,'Crane PowerMax Roller Chevrolet BB VT',NULL,3), - (1200082,1200001,'Crane Energizer Chevrolet W VT',NULL,2), - (1200083,1200001,'Crane PowerMax Chevrolet W VT',NULL,2), - (1200084,1200001,'Crane PowerMax Roller Chevrolet W VT',NULL,3), - (1200085,1200001,'Crane Energizer Chrysler SB VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200086,1200001,'Crane PowerMax Chrysler SB VT',NULL,2), - (1200087,1200001,'Crane PowerMax Roller Chrysler SB VT',NULL,3), - (1200088,1200001,'Crane Energizer Chrysler BB VT',NULL,2), - (1200089,1200001,'Crane PowerMax Chrysler BB VT',NULL,2), - (1200090,1200001,'Crane PowerMax Roller Chrysler BB VT',NULL,3), - (1200091,1200001,'Crane PowerMax Chrysler Hemi VT',NULL,2), - (1200092,1200001,'Crane PowerMax Roller Chrysler Hemi VT',NULL,3), - (1200093,1200001,'Crane Energizer Ford SB VT',NULL,2), - (1200094,1200001,'Crane PowerMax Ford SB VT',NULL,2), - (1200095,1200001,'Crane PowerMax Roller Ford SB VT',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200096,1200001,'Crane Energizer Ford C VT',NULL,2), - (1200097,1200001,'Crane PowerMax Ford C VT',NULL,2), - (1200098,1200001,'Crane PowerMax Roller Ford C VT',NULL,3), - (1200099,1200001,'Crane Energizer Ford 385 VT',NULL,2), - (1200100,1200001,'Crane PowerMax Ford 385 VT',NULL,2), - (1200101,1200001,'Crane PowerMax Roller Ford 385 VT',NULL,3), - (1200102,1200001,'Crane Energizer Olds SB VT',NULL,2), - (1200103,1200001,'Crane PowerMax Olds SB VT',NULL,2), - (1200104,1200001,'Crane PowerMax Roller Olds SB VT',NULL,3), - (1200105,1200001,'Crane Energizer Pontiac VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200106,1200001,'Crane PowerMax Pontiac VT',NULL,2), - (1200107,1200001,'Crane PowerMax Roller Pontiac VT',NULL,3), - (1200108,1200001,'Crane Energizer Olds BB VT',NULL,2), - (1200109,1200001,'Crane PowerMax Olds BB VT',NULL,2), - (1200110,1200001,'Crane PowerMax Roller Olds BB VT',NULL,3), - (1200111,1200001,'Oldfield Y Block Street King Solid VT',NULL,2), - (1200112,1200001,'Oldfield Y Block Strip King Solid VT',NULL,2), - (1200113,1200001,'Oldfield Y Block Race Pro Roller VT',NULL,2), - (1200114,1200001,'Quik Lift Y Block Solid VT',NULL,2), - (1200115,1200001,'Quik Lift Y Block Performance Solid VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200116,1200001,'Quik Lift Y Block Race Roller VT',NULL,2), - (1200117,1200001,'Milloy Y Block Speed Lifter Solid VT',NULL,2), - (1200118,1200001,'Milloy Y Block Super Lifter Solid VT',NULL,2), - (1200119,1200001,'Milloy Chevy SB Speed Lifter Solid VT',NULL,2), - (1200120,1200001,'Milloy Chevy SB Street Plus Hydraulic VT',NULL,1), - (1200121,1200001,'Milloy Chevy SB Premier Roller VT',NULL,3), - (1200122,1200001,'Quik Lift Chevy SB Performance Solid VT',NULL,2), - (1200123,1200001,'Quik Lift Chevy SB Performance Hydraulic VT',NULL,2), - (1200124,1200001,'Quik Lift Chevy SB Race Roller VT',NULL,2), - (1200125,1200001,'Milloy Buick Nailhead Super Lift Solid VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200126,1200001,'Quik Lift Buick Nailhead Perf. Hydraulic VT',NULL,2), - (1200127,1200001,'Dunbar Buick Nailhead Craftsmith Roller VT',NULL,2), - (1200128,1200001,'Quik Lift Buick Nailhead Race Roller VT',NULL,2), - (1200129,1200001,'Quik Lift Buick Nailhead Solid VT',NULL,2), - (1200130,1200001,'Milloy Buick Nailhead Speed Lift Solid VT',NULL,2), - (1200131,1200001,'Dunbar Buick Nailhead Craftsmith Hydraulic VT',NULL,1), - (1200132,1200001,'Dunbar Buick Nailhead Craftsmith Solid VT',NULL,2), - (1200133,1200001,'Oldfield Ford SB Street King Solid VT',NULL,2), - (1200134,1200001,'Oldfield Ford SB Strip King Solid VT',NULL,2), - (1200135,1200001,'Milloy Ford SB Speed Lift Solid VT',NULL,2); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200136,1200001,'Millory Ford SB Strip King Solid VT',NULL,2), - (1200137,1200001,'Quik Lift Ford SB Solid VT',NULL,2), - (1200138,1200001,'Quik Lift Ford SB Performance Hydraulic VT',NULL,2), - (1200139,1200001,'Quik Lift Ford SB Race Rolller VT',NULL,2), - (1200140,1200001,'Milloy Ford SB Super Lift Solid VT',NULL,2), - (1200141,1200001,'Milloy Chrysler SB Super Lift Solid VT',NULL,2), - (1200142,1200001,'Milloy Chrysler SB Premier Roller VT',NULL,3), - (1200143,1200001,'Quik Lift Chrysler SB Race Roller VT',NULL,2), - (1200144,1200001,'Milloy Pontiac Premier Roller VT',NULL,3), - (1200145,1200001,'Quik Lift Pontiac Race Roller VT',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200146,1200001,'Milloy Cleveland Speed Lift Solid VT',NULL,2), - (1200147,1200001,'Milloy Cleveland Super Lift Solid VT',NULL,3), - (1200148,1200001,'Milloy Cleveland Premier Roller VT',NULL,4), - (1200149,1200001,'Oldfield Cleveland Strip King Roller VT',NULL,3), - (1200150,1200001,'Oldfield Cleveland Track King Roller VT',NULL,4), - (1200151,1200001,'Milloy Ford 385 Speed Lift Solid VT',NULL,2), - (1200152,1200001,'Milloy Ford 385 Super Lift Solid VT',NULL,3), - (1200153,1200001,'Milloy Ford 385 Premier Roller VT',NULL,4), - (1200154,1200001,'Oldfield Ford 385 Strip King Roller VT',NULL,3), - (1200155,1200001,'Oldfield Ford 385 Track King Roller VT',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200156,1200001,'Milloy Hemi Speed Lift Hydraulic VT',NULL,2), - (1200157,1200001,'Milloy Hemi Speed Lift Solid VT',NULL,2), - (1200158,1200001,'Milloy Hemi Super Lift Solid VT',NULL,3), - (1200159,1200001,'Millloy Hemi Premier Roller VT',NULL,4), - (1200160,1200001,'Quik Lift Hemi Race Roller VT',NULL,3), - (1200161,1200001,'Millloy Cadillac BB Street Plus Hydraulic VT',NULL,1), - (1200162,1200001,'Milloy Cadillac BB Speed Lift Hydraulic VT',NULL,2), - (1200163,1200001,'Milloy Cadillac BB Speed Lift Solid VT',NULL,2), - (1200164,1200001,'Milloy Cadillac BB Super Lift Solid VT',NULL,3), - (1200165,1200001,'Milloy Cadillac BB Premier Roller VT',NULL,4); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200166,1200001,'Quik Lift Cadillac BB Perf. Hydraulic VT',NULL,2), - (1200167,1200001,'Quik Lift Cadillac BB Perf. Solid VT',NULL,2), - (1200168,1200001,'Quik Lift Cadillac BB Race Roller VT',NULL,3), - (1200169,1200001,'Milloy Chevy W Speed Lift Hydraulic VT',NULL,2), - (1200170,1200001,'Milloy Chevy W Speed Lift Solid VT',NULL,2), - (1200171,1200001,'Milloy Chevy W Super Lift Solid VT',NULL,3), - (1200172,1200001,'Milloy Chevy W Premier Roller VT',NULL,4), - (1200173,1200001,'Quik Lift Chevy W Perf. Hydraulic VT',NULL,2), - (1200174,1200001,'Quik Lift Chevy W Perf. Solid VT',NULL,2), - (1200175,1200001,'Quik Lift Chevy W Race Roller VT',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200176,1200001,'Milloy AMC Speed Lift Hydraulic VT',NULL,2), - (1200177,1200001,'Milloy AMC Speed Lift Solid VT',NULL,2), - (1200178,1200001,'Milloy AMC Super Lift Solid VT',NULL,3), - (1200179,1200001,'Milloy AMC Premier Roller VT',NULL,4), - (1200180,1200001,'Quik Lift AMC Perf. Hydraulic VT',NULL,2), - (1200181,1200001,'Quik Lift AMC Perf. Solid VT',NULL,2), - (1200182,1200001,'Quik Lift AMC Race Roller VT',NULL,3), - (1200183,1200001,'Milloy Olds BB Speed Lift Hydraulic VT',NULL,2), - (1200184,1200001,'Milloy Olds BB Speed Lift Solid VT',NULL,2), - (1200185,1200001,'Milloy Olds BB Super Lift Solid VT',NULL,3); -INSERT INTO PartType (PartTypeID,AbstractPartTypeID,PartType,PartFilename,PartGradeID) VALUES - (1200186,1200001,'Milloy Olds BB Premier Roller VT',NULL,4), - (1200187,1200001,'Milloy Chrysler BB Speed Lift Hydraulic VT',NULL,2), - (1200188,1200001,'Milloy Chrysler BB Speed Lift Solid VT',NULL,2), - (1200189,1200001,'Milloy Chrysler BB Super Lift Solid VT',NULL,3), - (1200190,1200001,'Milloy Chrysler BB Premier Roller VT',NULL,4), - (1200191,1200001,'Milloy Chevy BB Premier Roller VT',NULL,4), - (1200192,1200001,'Quik Lift Chevy BB Race Roller VT',NULL,3), - (1200193,1200001,'Crane PowerMax Ford Flathead VT',NULL,2); diff --git a/migrations/2024.02.11T23.29.19.initialBrandedPart.sql b/migrations/2024.02.11T23.29.19.initialBrandedPart.sql deleted file mode 100644 index 9f8daa035..000000000 --- a/migrations/2024.02.11T23.29.19.initialBrandedPart.sql +++ /dev/null @@ -1,3529 +0,0 @@ -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (101,101,1,'1932-01-01 00:00:00.000000',1000,0,30000,0), - (102,102,7,'1940-01-01 00:00:00.000000',1000,0,30000,0), - (103,103,14,'1953-01-01 00:00:00.000000',1000,0,30000,0), - (104,104,21,'1957-01-01 00:00:00.000000',1000,0,30000,0), - (105,105,25,'1957-01-01 00:00:00.000000',1000,0,30000,0), - (106,106,47,'1957-01-01 00:00:00.000000',250,0,30000,0), - (107,107,32,'1963-01-01 00:00:00.000000',0,0,30000,0), - (108,108,509,'1965-01-01 00:00:00.000000',250,0,30000,0), - (109,109,40,'1964-01-01 00:00:00.000000',1000,0,30000,0), - (110,110,974,'1969-01-01 00:00:00.000000',125,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (111,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), - (112,112,2,'1949-01-01 00:00:00.000000',1000,0,30000,0), - (113,113,3,'1957-01-01 00:00:00.000000',1000,0,30000,0), - (114,114,8,'1957-01-01 00:00:00.000000',60,0,30000,0), - (115,115,16,'1957-01-01 00:00:00.000000',1000,0,30000,0), - (116,116,48,'1964-01-01 00:00:00.000000',1000,0,30000,0), - (117,117,26,'1963-01-01 00:00:00.000000',0,0,30000,0), - (118,118,49,'1958-01-01 00:00:00.000000',1000,0,30000,0), - (119,119,33,'1967-01-01 00:00:00.000000',1000,0,30000,0), - (120,120,37,'1967-01-01 00:00:00.000000',250,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (121,121,41,'1970-01-01 00:00:00.000000',1000,0,30000,0), - (122,122,45,'1970-01-01 00:00:00.000000',1000,0,30000,0), - (123,123,46,'1970-01-01 00:00:00.000000',1000,0,30000,0), - (124,124,4,'1947-01-01 00:00:00.000000',1000,0,30000,0), - (125,125,9,'1959-01-01 00:00:00.000000',0,0,30000,0), - (126,126,10,'1969-01-01 00:00:00.000000',0,0,30000,0), - (127,127,5,'1955-01-01 00:00:00.000000',1000,0,30000,0), - (128,128,6,'1966-01-01 00:00:00.000000',0,0,30000,0), - (129,129,12,'1969-01-01 00:00:00.000000',0,0,30000,0), - (130,130,20,'1973-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (131,131,172,'1969-01-01 00:00:00.000000',250,0,30000,0), - (132,132,173,'1969-01-01 00:00:00.000000',250,0,30000,0), - (133,133,174,'1969-01-01 00:00:00.000000',0,0,30000,0), - (134,134,175,'1970-01-01 00:00:00.000000',0,0,30000,0), - (135,135,176,'1971-01-01 00:00:00.000000',1000,0,30000,0), - (153,138,526,'1999-01-01 00:00:00.000000',0,0,30000,0), - (159,104,964,'1957-01-01 00:00:00.000000',1000,0,30000,0), - (171,142,971,'1970-01-01 00:00:00.000000',0,0,30000,0), - (173,146,1051,'1990-01-01 00:00:00.000000',0,0,30000,0), - (174,147,1052,'1990-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (175,148,1053,'1990-01-01 00:00:00.000000',0,0,30000,0), - (176,149,1054,'1990-01-01 00:00:00.000000',0,0,30000,0), - (177,150,1055,'1990-01-01 00:00:00.000000',0,0,30000,0), - (178,151,1056,'1990-01-01 00:00:00.000000',0,0,30000,0), - (179,152,1057,'1990-01-01 00:00:00.000000',0,0,30000,0), - (180,153,1058,'1990-01-01 00:00:00.000000',0,0,30000,0), - (184,157,990,'1969-01-01 00:00:00.000000',0,0,30000,0), - (190,154,980,'1969-01-01 00:00:00.000000',0,0,30000,0), - (208,127,1202,'1955-01-01 00:00:00.000000',1000,0,30000,0), - (236,113,1203,'1957-01-01 00:00:00.000000',1000,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320,207,2153,'1966-01-01 00:00:00.000000',0,0,15000,0), - (335,210,2179,'1970-01-01 00:00:00.000000',250,0,1500,0), - (336,211,2180,'1969-01-01 00:00:00.000000',0,0,1500,0), - (337,212,2181,'1970-01-01 00:00:00.000000',0,0,1500,0), - (338,213,2182,'1970-01-01 00:00:00.000000',0,0,1500,0), - (339,214,2183,'1970-01-01 00:00:00.000000',0,0,1500,0), - (340,215,2184,'1970-01-01 00:00:00.000000',0,0,1500,0), - (341,216,2185,'1971-01-01 00:00:00.000000',250,0,1500,0), - (342,217,2186,'1964-01-01 00:00:00.000000',0,0,1500,0), - (343,218,2187,'1967-01-01 00:00:00.000000',0,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (344,219,2188,'1967-01-01 00:00:00.000000',0,0,1500,0), - (345,220,2189,'1967-01-01 00:00:00.000000',0,0,1500,0), - (346,221,2190,'1970-01-01 00:00:00.000000',0,0,1500,0), - (347,222,2191,'1970-01-01 00:00:00.000000',0,0,1500,0), - (348,223,2192,'1970-01-01 00:00:00.000000',0,0,1500,0), - (349,224,2193,'1969-01-01 00:00:00.000000',0,0,1500,0), - (350,225,2194,'1969-01-01 00:00:00.000000',0,0,1500,0), - (351,226,1230,'1969-01-01 00:00:00.000000',0,0,1500,0), - (352,227,2196,'1973-01-01 00:00:00.000000',0,0,1500,0), - (353,228,2197,'1973-01-01 00:00:00.000000',0,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (354,124,4,'1947-01-01 00:00:00.000000',1000,0,1500,0), - (355,112,2,'1949-01-01 00:00:00.000000',1000,0,1500,0), - (356,103,14,'1953-01-01 00:00:00.000000',1000,0,1500,0), - (357,104,21,'1957-01-01 00:00:00.000000',1000,0,1500,0), - (358,105,25,'1957-01-01 00:00:00.000000',1000,0,1500,0), - (359,106,47,'1957-01-01 00:00:00.000000',250,0,1500,0), - (360,113,3,'1957-01-01 00:00:00.000000',1000,0,1500,0), - (361,115,16,'1957-01-01 00:00:00.000000',1000,0,1500,0), - (362,114,8,'1957-01-01 00:00:00.000000',60,0,1500,0), - (363,118,49,'1958-01-01 00:00:00.000000',1000,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (364,117,26,'1963-01-01 00:00:00.000000',0,0,1500,0), - (365,116,48,'1964-01-01 00:00:00.000000',1000,0,1500,0), - (366,109,40,'1964-01-01 00:00:00.000000',1000,0,1500,0), - (367,108,509,'1964-01-01 00:00:00.000000',250,0,1500,0), - (368,128,6,'1966-01-01 00:00:00.000000',0,0,1500,0), - (369,119,33,'1967-01-01 00:00:00.000000',1000,0,1500,0), - (370,120,37,'1967-01-01 00:00:00.000000',250,0,1500,0), - (371,126,2215,'1969-01-01 00:00:00.000000',0,0,1500,0), - (372,129,12,'1969-01-01 00:00:00.000000',0,0,1500,0), - (373,133,174,'1969-01-01 00:00:00.000000',0,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (374,140,2217,'1967-01-01 00:00:00.000000',0,0,30000,0), - (375,106,2367,'1957-01-01 00:00:00.000000',0,0,1500,0), - (377,113,2369,'1957-01-01 00:00:00.000000',0,0,1500,0), - (378,127,2370,'1955-01-01 00:00:00.000000',0,0,1500,0), - (379,103,2371,'1953-01-01 00:00:00.000000',0,0,1500,0), - (383,129,2376,'1969-01-01 00:00:00.000000',0,0,1500,0), - (384,108,2377,'1964-01-01 00:00:00.000000',0,0,1500,0), - (385,106,2378,'1957-01-01 00:00:00.000000',0,0,1500,0), - (386,127,2379,'1955-01-01 00:00:00.000000',0,0,1500,0), - (387,121,2380,'1970-01-01 00:00:00.000000',0,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (388,109,2381,'1964-01-01 00:00:00.000000',0,0,1500,0), - (389,132,2382,'1969-01-01 00:00:00.000000',0,0,1500,0), - (390,113,2383,'1957-01-01 00:00:00.000000',0,0,1500,0), - (391,103,2384,'1953-01-01 00:00:00.000000',0,0,1500,0), - (392,131,2385,'1969-01-01 00:00:00.000000',0,0,1500,0), - (393,105,2386,'1957-01-01 00:00:00.000000',0,0,1500,0), - (394,120,2387,'1967-01-01 00:00:00.000000',0,0,1500,0), - (395,112,2425,'1949-01-01 00:00:00.000000',0,0,1500,0), - (396,113,2426,'1957-01-01 00:00:00.000000',0,0,1500,0), - (397,128,2427,'1966-01-01 00:00:00.000000',0,0,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (398,125,2428,'1959-01-01 00:00:00.000000',0,0,1500,0), - (399,117,2429,'1963-01-01 00:00:00.000000',0,0,1500,0), - (400,108,2430,'1964-01-01 00:00:00.000000',0,0,1500,0), - (401,134,2431,'1970-01-01 00:00:00.000000',0,0,1500,0), - (402,127,5,'1955-01-01 00:00:00.000000',0,0,30000,0), - (403,140,2217,'1967-01-01 00:00:00.000000',0,0,30000,0), - (404,207,2153,'1966-01-01 00:00:00.000000',0,0,30000,0), - (405,117,26,'1963-01-01 00:00:00.000000',0,0,30000,0), - (406,207,2153,'1966-01-01 00:00:00.000000',0,0,30000,0), - (407,213,2182,'1970-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (408,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), - (409,220,2189,'1967-01-01 00:00:00.000000',0,0,30000,0), - (410,130,20,'1973-01-01 00:00:00.000000',0,0,30000,0), - (411,132,2872,'1969-01-01 00:00:00.000000',0,0,30000,0), - (412,111,36,'1970-01-01 00:00:00.000000',0,0,30000,0), - (413,114,8,'1957-01-01 00:00:00.000000',0,0,30000,0), - (414,114,2878,'1957-01-01 00:00:00.000000',0,0,30000,0), - (415,114,3003,'1957-01-01 00:00:00.000000',0,0,30000,0), - (416,133,3004,'1969-01-01 00:00:00.000000',0,0,30000,0), - (417,108,3005,'1964-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (418,121,3009,'1970-01-01 00:00:00.000000',0,0,30000,0), - (419,112,3006,'1949-01-01 00:00:00.000000',0,0,30000,0), - (420,103,3010,'1953-01-01 00:00:00.000000',0,0,30000,0), - (421,118,3011,'1958-01-01 00:00:00.000000',0,0,30000,0), - (422,113,3012,'1957-01-01 00:00:00.000000',0,0,30000,0), - (423,127,3013,'1955-01-01 00:00:00.000000',0,0,30000,0), - (424,218,3014,'1967-01-01 00:00:00.000000',0,0,30000,0), - (425,142,3015,'1970-01-01 00:00:00.000000',0,0,30000,0), - (426,134,3016,'1970-01-01 00:00:00.000000',0,0,30000,0), - (427,124,3017,'1947-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (428,114,3018,'1957-01-01 00:00:00.000000',0,0,30000,0), - (429,115,3603,'1957-01-01 00:00:00.000000',0,0,30000,0), - (430,105,3604,'1957-01-01 00:00:00.000000',0,0,30000,0), - (431,128,3605,'1966-01-01 00:00:00.000000',0,0,30000,0), - (432,101,3606,'1932-01-01 00:00:00.000000',0,0,30000,0), - (433,102,3607,'1940-01-01 00:00:00.000000',0,0,30000,0), - (434,104,3608,'1957-01-01 00:00:00.000000',0,0,30000,0), - (435,106,3609,'1957-01-01 00:00:00.000000',0,0,30000,0), - (436,109,3610,'1964-01-01 00:00:00.000000',0,0,30000,0), - (437,211,3611,'1969-01-01 00:00:00.000000',0,0,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (438,111,3612,'1970-01-01 00:00:00.000000',0,0,30000,0), - (439,116,3613,'1964-01-01 00:00:00.000000',0,0,30000,0), - (440,121,3614,'1970-01-01 00:00:00.000000',0,0,30000,0), - (441,117,3615,'1963-01-01 00:00:00.000000',0,0,30000,0), - (1001,1001,2027,'1932-01-01 00:00:00.000000',500,0,30000,0), - (2001,2001,2028,'1932-01-01 00:00:00.000000',500,0,30000,0), - (4001,4001,2029,'1999-01-01 00:00:00.000000',500,0,30000,0), - (5001,5001,2030,'1965-01-01 00:00:00.000000',500,0,30000,0), - (6001,6001,1742,'1999-01-01 00:00:00.000000',500,0,30000,0), - (10001,10001,622,'1960-01-01 00:00:00.000000',1000,138,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (10002,10002,623,'1960-01-01 00:00:00.000000',1000,232,30000,0), - (10003,10003,624,'1960-01-01 00:00:00.000000',500,388,30000,0), - (10004,10004,1716,'1960-01-01 00:00:00.000000',1000,107,30000,0), - (10005,10005,1717,'1960-01-01 00:00:00.000000',1000,138,30000,0), - (10006,10006,625,'1960-01-01 00:00:00.000000',1000,169,30000,0), - (10007,10007,626,'1960-01-01 00:00:00.000000',1000,263,30000,0), - (10008,10008,627,'1960-01-01 00:00:00.000000',250,419,30000,0), - (10009,10009,1718,'1960-01-01 00:00:00.000000',1000,85,30000,0), - (10010,10010,615,'1960-01-01 00:00:00.000000',1000,116,30000,0), - (10011,10011,616,'1960-01-01 00:00:00.000000',1000,210,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (10012,10012,617,'1960-01-01 00:00:00.000000',500,366,30000,0), - (10013,10013,1719,'1960-01-01 00:00:00.000000',1000,116,30000,0), - (10014,10014,618,'1960-01-01 00:00:00.000000',1000,147,30000,0), - (10015,10015,619,'1960-01-01 00:00:00.000000',1000,241,30000,0), - (10016,10016,1720,'1960-01-01 00:00:00.000000',250,397,30000,0), - (10017,10017,629,'1960-01-01 00:00:00.000000',250,329,30000,0), - (10018,10018,630,'1960-01-01 00:00:00.000000',125,485,30000,0), - (10019,10019,621,'1960-01-01 00:00:00.000000',250,307,30000,0), - (10020,10020,1721,'1960-01-01 00:00:00.000000',125,463,30000,0), - (10021,10021,633,'1960-01-01 00:00:00.000000',125,426,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (10022,10022,634,'1960-01-01 00:00:00.000000',60,583,30000,0), - (10023,10023,635,'1960-01-01 00:00:00.000000',0,1083,30000,0), - (10024,10024,636,'1960-01-01 00:00:00.000000',0,1833,30000,0), - (10025,10025,632,'1960-01-01 00:00:00.000000',250,333,30000,0), - (10026,10026,631,'1960-01-01 00:00:00.000000',250,301,30000,0), - (10027,10027,1722,'1960-01-01 00:00:00.000000',125,858,30000,0), - (10028,10028,1723,'1960-01-01 00:00:00.000000',60,1108,30000,0), - (10029,10029,1724,'1960-01-01 00:00:00.000000',0,1608,30000,0), - (10030,10030,1725,'1960-01-01 00:00:00.000000',0,2358,30000,0), - (10031,10031,1752,'1990-01-01 00:00:00.000000',60,951,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (10032,10044,2598,'1990-01-01 00:00:00.000000',125,826,30000,0), - (10033,10043,2597,'1990-01-01 00:00:00.000000',500,204,30000,0), - (10034,10042,2596,'1990-01-01 00:00:00.000000',125,919,30000,0), - (10035,10041,2595,'1990-01-01 00:00:00.000000',60,897,30000,0), - (10036,10040,2594,'1990-01-01 00:00:00.000000',125,888,30000,0), - (10037,10039,2593,'1990-01-01 00:00:00.000000',125,866,30000,0), - (10038,10038,2592,'1990-01-01 00:00:00.000000',30,1326,30000,0), - (10039,10037,2591,'1990-01-01 00:00:00.000000',125,704,30000,0), - (10040,10036,2590,'1990-01-01 00:00:00.000000',60,801,30000,0), - (10041,10035,2589,'1990-01-01 00:00:00.000000',250,638,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (10042,10034,2588,'1990-01-01 00:00:00.000000',250,616,30000,0), - (10043,10033,2587,'1990-01-01 00:00:00.000000',250,607,30000,0), - (10044,10032,2586,'1990-01-01 00:00:00.000000',125,585,30000,0), - (11001,11001,606,'1955-01-01 00:00:00.000000',500,22,30000,0), - (11002,11002,607,'1955-01-01 00:00:00.000000',1000,32,30000,0), - (11003,11003,608,'1955-01-01 00:00:00.000000',500,32,30000,0), - (11004,11004,609,'1955-01-01 00:00:00.000000',1000,42,30000,0), - (11005,11005,610,'1955-01-01 00:00:00.000000',250,66,30000,0), - (11006,11006,611,'1955-01-01 00:00:00.000000',500,72,30000,0), - (11007,11007,1740,'1955-01-01 00:00:00.000000',125,84,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (11008,11008,612,'1955-01-01 00:00:00.000000',250,122,30000,0), - (11009,11009,613,'1955-01-01 00:00:00.000000',125,134,30000,0), - (11010,11010,614,'1955-01-01 00:00:00.000000',60,142,30000,0), - (11011,11011,2200,'1955-01-01 00:00:00.000000',250,267,30000,0), - (11012,11012,2665,'1995-01-01 00:00:00.000000',15,76,30000,0), - (11013,11013,2666,'1995-01-01 00:00:00.000000',15,130,30000,0), - (12001,12001,559,'1930-01-01 00:00:00.000000',125,58,30000,0), - (12002,12002,560,'1930-01-01 00:00:00.000000',250,61,30000,0), - (12003,12003,561,'1930-01-01 00:00:00.000000',500,65,30000,0), - (12004,12004,562,'1930-01-01 00:00:00.000000',500,70,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12005,12005,563,'1930-01-01 00:00:00.000000',500,76,30000,0), - (12006,12006,564,'1950-01-01 00:00:00.000000',1000,153,30000,0), - (12007,12007,565,'1950-01-01 00:00:00.000000',1000,160,30000,0), - (12008,12008,566,'1950-01-01 00:00:00.000000',1000,167,30000,0), - (12009,12009,567,'1950-01-01 00:00:00.000000',500,176,30000,0), - (12010,12010,568,'1950-01-01 00:00:00.000000',500,185,30000,0), - (12011,12011,569,'1950-01-01 00:00:00.000000',250,195,30000,0), - (12012,12012,570,'1950-01-01 00:00:00.000000',250,135,30000,0), - (12013,12013,571,'1950-01-01 00:00:00.000000',125,147,30000,0), - (12014,12014,572,'1950-01-01 00:00:00.000000',125,159,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12015,12015,573,'1950-01-01 00:00:00.000000',125,243,30000,0), - (12016,12016,574,'1950-01-01 00:00:00.000000',125,257,30000,0), - (12017,12017,575,'1950-01-01 00:00:00.000000',125,272,30000,0), - (12018,12018,576,'1950-01-01 00:00:00.000000',60,288,30000,0), - (12019,12019,577,'1950-01-01 00:00:00.000000',60,305,30000,0), - (12020,12020,2201,'1965-01-01 00:00:00.000000',500,141,30000,0), - (12021,12021,2202,'1965-01-01 00:00:00.000000',500,146,30000,0), - (12022,12022,2203,'1965-01-01 00:00:00.000000',500,105,30000,0), - (12023,12023,2204,'1965-01-01 00:00:00.000000',500,114,30000,0), - (12024,12024,2205,'1965-01-01 00:00:00.000000',500,124,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12025,12026,2206,'1965-01-01 00:00:00.000000',125,230,30000,0), - (12026,12025,2207,'1965-01-01 00:00:00.000000',250,217,30000,0), - (12027,12031,2212,'1950-01-01 00:00:00.000000',1000,89,30000,0), - (12028,12033,2214,'1950-01-01 00:00:00.000000',1000,76,30000,0), - (12029,12032,2213,'1950-01-01 00:00:00.000000',1000,82,30000,0), - (12030,12030,2211,'1950-01-01 00:00:00.000000',1000,97,30000,0), - (12031,12029,2210,'1950-01-01 00:00:00.000000',250,185,30000,0), - (12032,12028,2209,'1950-01-01 00:00:00.000000',250,195,30000,0), - (12033,12027,2208,'1950-01-01 00:00:00.000000',250,206,30000,0), - (12034,12034,2390,'1950-01-01 00:00:00.000000',125,257,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12035,12035,2391,'1950-01-01 00:00:00.000000',125,272,30000,0), - (12036,12036,2392,'1950-01-01 00:00:00.000000',60,288,30000,0), - (12037,12037,2393,'1950-01-01 00:00:00.000000',60,305,30000,0), - (12038,12038,2394,'1950-01-01 00:00:00.000000',60,323,30000,0), - (12039,12039,2395,'1950-01-01 00:00:00.000000',60,341,30000,0), - (12040,12040,2396,'1950-01-01 00:00:00.000000',60,361,30000,0), - (12041,12041,2397,'1950-01-01 00:00:00.000000',30,381,30000,0), - (12042,12042,2398,'1950-01-01 00:00:00.000000',30,402,30000,0), - (12043,12043,2399,'1950-01-01 00:00:00.000000',30,424,30000,0), - (12044,12044,2400,'1950-01-01 00:00:00.000000',30,448,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12045,12045,2401,'1950-01-01 00:00:00.000000',30,472,30000,0), - (12046,12046,2402,'1950-01-01 00:00:00.000000',30,497,30000,0), - (12047,12047,2403,'1950-01-01 00:00:00.000000',30,523,30000,0), - (12048,12048,2404,'1950-01-01 00:00:00.000000',30,550,30000,0), - (12049,12049,2405,'1950-01-01 00:00:00.000000',30,578,30000,0), - (12050,12050,2406,'1950-01-01 00:00:00.000000',30,608,30000,0), - (12051,12051,2407,'1950-01-01 00:00:00.000000',30,638,30000,0), - (12052,12052,2408,'1950-01-01 00:00:00.000000',30,669,30000,0), - (12053,12053,2409,'1950-01-01 00:00:00.000000',30,701,30000,0), - (12054,12054,2410,'1950-01-01 00:00:00.000000',30,734,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12055,12055,2411,'1950-01-01 00:00:00.000000',30,769,30000,0), - (12056,12056,2412,'1950-01-01 00:00:00.000000',30,804,30000,0), - (12057,12057,2413,'1950-01-01 00:00:00.000000',30,840,30000,0), - (12058,12058,2414,'1950-01-01 00:00:00.000000',0,878,30000,0), - (12059,12059,2415,'1950-01-01 00:00:00.000000',0,916,30000,0), - (12060,12060,2416,'1950-01-01 00:00:00.000000',0,956,30000,0), - (12061,12061,2417,'1950-01-01 00:00:00.000000',0,996,30000,0), - (12062,12062,2418,'1950-01-01 00:00:00.000000',0,1038,30000,0), - (12063,12063,2419,'1950-01-01 00:00:00.000000',0,1081,30000,0), - (12064,12064,2420,'1950-01-01 00:00:00.000000',250,206,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (12065,12066,2673,'1995-01-01 00:00:00.000000',60,226,30000,0), - (12066,12065,2674,'1995-01-01 00:00:00.000000',125,203,30000,0), - (12067,12067,2675,'1995-01-01 00:00:00.000000',60,239,30000,0), - (12068,12069,2676,'1995-01-01 00:00:00.000000',125,214,30000,0), - (12069,12068,2677,'1995-01-01 00:00:00.000000',60,253,30000,0), - (13001,13001,578,'1960-01-01 00:00:00.000000',1000,312,30000,0), - (13002,13002,579,'1960-01-01 00:00:00.000000',1000,332,30000,0), - (13003,13003,580,'1960-01-01 00:00:00.000000',1000,352,30000,0), - (13004,13004,581,'1960-01-01 00:00:00.000000',1000,372,30000,0), - (13005,13005,582,'1960-01-01 00:00:00.000000',500,392,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (13006,13006,583,'1960-01-01 00:00:00.000000',500,412,30000,0), - (13007,13007,584,'1960-01-01 00:00:00.000000',500,432,30000,0), - (13008,13008,585,'1960-01-01 00:00:00.000000',500,452,30000,0), - (13009,13009,586,'1960-01-01 00:00:00.000000',500,472,30000,0), - (13010,13010,587,'1960-01-01 00:00:00.000000',500,492,30000,0), - (13011,13011,588,'1960-01-01 00:00:00.000000',500,512,30000,0), - (13012,13012,589,'1960-01-01 00:00:00.000000',250,532,30000,0), - (13013,13013,590,'1960-01-01 00:00:00.000000',250,607,30000,0), - (13014,13014,591,'1960-01-01 00:00:00.000000',250,629,30000,0), - (13015,13015,592,'1960-01-01 00:00:00.000000',250,651,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (13016,13016,593,'1960-01-01 00:00:00.000000',250,673,30000,0), - (13017,13017,594,'1960-01-01 00:00:00.000000',250,695,30000,0), - (13018,13018,595,'1960-01-01 00:00:00.000000',250,717,30000,0), - (13019,13019,596,'1960-01-01 00:00:00.000000',125,739,30000,0), - (13020,13020,597,'1960-01-01 00:00:00.000000',125,761,30000,0), - (13021,13021,598,'1960-01-01 00:00:00.000000',60,783,30000,0), - (13022,13022,599,'1960-01-01 00:00:00.000000',60,878,30000,0), - (13023,13023,600,'1960-01-01 00:00:00.000000',60,902,30000,0), - (13024,13024,601,'1960-01-01 00:00:00.000000',30,926,30000,0), - (13025,13025,2678,'1995-01-01 00:00:00.000000',60,1151,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (14001,14001,602,'1960-01-01 00:00:00.000000',1000,137,30000,0), - (14002,14002,603,'1960-01-01 00:00:00.000000',250,187,30000,0), - (14003,14003,604,'1960-01-01 00:00:00.000000',125,637,30000,0), - (14004,14004,605,'1960-01-01 00:00:00.000000',0,1487,30000,0), - (14005,14005,2679,'1995-01-01 00:00:00.000000',60,837,30000,0), - (15001,15001,2031,'1969-01-01 00:00:00.000000',500,0,30000,0), - (16001,16001,195,'1953-01-01 00:00:00.000000',500,5,30000,0), - (17001,17001,2375,'1964-01-01 00:00:00.000000',1000,25,30000,0), - (18001,18001,226,'1999-01-01 00:00:00.000000',500,48,30000,0), - (18002,18002,2157,'1999-01-01 00:00:00.000000',500,39,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (18003,18003,2158,'1999-01-01 00:00:00.000000',500,55,30000,0), - (18004,18004,2159,'1999-01-01 00:00:00.000000',500,65,30000,0), - (20101,20101,1,'1932-01-01 00:00:00.000000',1000,1000,30000,0), - (20102,20102,7,'1940-01-01 00:00:00.000000',1000,1000,30000,0), - (20103,20103,14,'1953-01-01 00:00:00.000000',1000,1000,30000,0), - (20104,20104,21,'1957-01-01 00:00:00.000000',1000,1002,30000,0), - (20105,20105,25,'1957-01-01 00:00:00.000000',1000,1002,30000,0), - (20106,20106,47,'1957-01-01 00:00:00.000000',250,1255,30000,0), - (20107,20107,32,'1963-01-01 00:00:00.000000',250,3950,30000,0), - (20108,20108,509,'1964-01-01 00:00:00.000000',250,6363,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20109,20109,40,'1964-01-01 00:00:00.000000',1000,3885,30000,0), - (20110,20110,974,'1969-01-01 00:00:00.000000',125,3871,30000,0), - (20111,20111,36,'1970-01-01 00:00:00.000000',60,11238,30000,0), - (20112,20112,2,'1949-01-01 00:00:00.000000',1000,1000,30000,0), - (20113,20113,3,'1957-01-01 00:00:00.000000',1000,1000,30000,0), - (20114,20114,8,'1957-01-01 00:00:00.000000',60,11817,30000,0), - (20115,20115,16,'1957-01-01 00:00:00.000000',1000,1012,30000,0), - (20116,20116,48,'1964-01-01 00:00:00.000000',1000,4242,30000,0), - (20117,20117,26,'1963-01-01 00:00:00.000000',0,23463,30000,0), - (20118,20118,49,'1958-01-01 00:00:00.000000',1000,2724,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20119,20119,33,'1967-01-01 00:00:00.000000',1000,5584,30000,0), - (20120,20120,37,'1967-01-01 00:00:00.000000',250,10886,30000,0), - (20121,20121,41,'1970-01-01 00:00:00.000000',1000,7196,30000,0), - (20122,20122,45,'1970-01-01 00:00:00.000000',1000,9158,30000,0), - (20123,20123,46,'1970-01-01 00:00:00.000000',1000,5182,30000,0), - (20124,20124,4,'1947-01-01 00:00:00.000000',1000,3760,30000,0), - (20125,20125,9,'1959-01-01 00:00:00.000000',1000,1000,30000,0), - (20126,20126,10,'1969-01-01 00:00:00.000000',125,5109,30000,0), - (20127,20127,5,'1955-01-01 00:00:00.000000',1000,1000,30000,0), - (20128,20128,6,'1966-01-01 00:00:00.000000',250,7022,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20129,20129,12,'1969-01-01 00:00:00.000000',250,6454,30000,0), - (20130,20130,20,'1973-01-01 00:00:00.000000',60,14915,30000,0), - (20131,20131,172,'1969-01-01 00:00:00.000000',1000,5549,30000,0), - (20132,20132,173,'1969-01-01 00:00:00.000000',250,6534,30000,0), - (20133,20133,174,'1969-01-01 00:00:00.000000',250,5289,30000,0), - (20134,20134,175,'1970-01-01 00:00:00.000000',125,9275,30000,0), - (20135,20135,176,'1971-01-01 00:00:00.000000',250,5084,30000,0), - (20138,20138,526,'1999-01-01 00:00:00.000000',0,1000,30000,0), - (20140,20140,2217,'1967-01-01 00:00:00.000000',250,11458,30000,0), - (20146,20146,1051,'1990-01-01 00:00:00.000000',0,1000,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20147,20147,1052,'1990-01-01 00:00:00.000000',0,1000,30000,0), - (20148,20148,1053,'1990-01-01 00:00:00.000000',0,1000,30000,0), - (20149,20149,1054,'1990-01-01 00:00:00.000000',0,1000,30000,0), - (20150,20150,1055,'1990-01-01 00:00:00.000000',0,3891,30000,0), - (20151,20151,1056,'1990-01-01 00:00:00.000000',0,3891,30000,0), - (20152,20152,1057,'1990-01-01 00:00:00.000000',0,1000,30000,0), - (20153,20153,1058,'1990-01-01 00:00:00.000000',0,1000,30000,0), - (20157,20157,990,'1969-01-01 00:00:00.000000',25,5089,30000,0), - (20207,20207,2153,'1966-01-01 00:00:00.000000',0,49296,15000,0), - (20210,20210,2179,'1970-01-01 00:00:00.000000',250,7101,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20211,20211,2180,'1969-01-01 00:00:00.000000',125,3871,1500,0), - (20212,20212,2181,'1970-01-01 00:00:00.000000',250,8467,1500,0), - (20213,20213,2182,'1970-01-01 00:00:00.000000',125,9275,1500,0), - (20214,20214,2183,'1970-01-01 00:00:00.000000',125,9275,1500,0), - (20215,20215,2184,'1970-01-01 00:00:00.000000',125,9275,1500,0), - (20216,20216,2185,'1971-01-01 00:00:00.000000',125,5084,1500,0), - (20217,20217,2186,'1964-01-01 00:00:00.000000',250,4242,1500,0), - (20218,20218,2187,'1967-01-01 00:00:00.000000',250,5584,1500,0), - (20219,20219,2188,'1967-01-01 00:00:00.000000',125,11619,1500,0), - (20220,20220,2189,'1967-01-01 00:00:00.000000',60,11458,1500,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (20221,20221,2190,'1970-01-01 00:00:00.000000',250,7196,1500,0), - (20222,20222,2191,'1970-01-01 00:00:00.000000',1000,5497,1500,0), - (20223,20223,2192,'1970-01-01 00:00:00.000000',250,5162,1500,0), - (20224,20224,2193,'1969-01-01 00:00:00.000000',125,5086,1500,0), - (20225,20225,2194,'1969-01-01 00:00:00.000000',125,5086,1500,0), - (20226,20226,1230,'1969-01-01 00:00:00.000000',125,5998,1500,0), - (20227,20227,2196,'1973-01-01 00:00:00.000000',60,19009,1500,0), - (20228,20228,2197,'1973-01-01 00:00:00.000000',60,14624,1500,0), - (21001,21008,198,'1953-01-01 00:00:00.000000',500,95,30000,0), - (21002,21012,221,'1937-01-01 00:00:00.000000',500,85,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (21003,21013,222,'1939-01-01 00:00:00.000000',500,85,30000,0), - (21004,21014,220,'1940-01-01 00:00:00.000000',500,90,30000,0), - (21005,21015,223,'1941-01-01 00:00:00.000000',500,90,30000,0), - (21006,21001,202,'1947-01-01 00:00:00.000000',500,110,30000,0), - (21007,21002,203,'1949-01-01 00:00:00.000000',500,115,30000,0), - (21008,21004,205,'1953-01-01 00:00:00.000000',500,100,30000,0), - (21009,21009,199,'1955-01-01 00:00:00.000000',500,100,30000,0), - (21010,21010,200,'1956-01-01 00:00:00.000000',500,95,30000,0), - (21011,21011,201,'1957-01-01 00:00:00.000000',500,95,30000,0), - (21012,21005,206,'1967-01-01 00:00:00.000000',500,125,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (21013,21006,207,'1969-01-01 00:00:00.000000',500,120,30000,0), - (21014,21007,208,'1970-01-01 00:00:00.000000',500,125,30000,0), - (21015,21003,204,'1973-01-01 00:00:00.000000',500,130,30000,0), - (21016,21016,246,'1949-01-01 00:00:00.000000',500,110,30000,0), - (22001,22002,657,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22002,22003,658,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22003,22004,659,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22004,22005,660,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22005,22006,661,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22006,22007,662,'1999-01-01 00:00:00.000000',500,25,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (22007,22008,663,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22008,22009,664,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22009,22010,665,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22010,22011,666,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22011,22012,667,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22012,22013,668,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22013,22014,669,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22014,22015,670,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22015,22016,671,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22016,22017,672,'1999-01-01 00:00:00.000000',500,25,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (22017,22018,673,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22018,22019,674,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22019,22020,2114,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22020,22023,2151,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22021,22022,2150,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22022,22021,2149,'1999-01-01 00:00:00.000000',500,25,30000,0), - (22023,22024,2160,'1999-01-01 00:00:00.000000',500,25,30000,0), - (23001,23001,228,'2027-01-01 00:00:00.000000',500,30,30000,0), - (23002,23002,229,'1931-01-01 00:00:00.000000',500,30,30000,0), - (23003,23003,830,'1932-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (23004,23004,230,'1932-01-01 00:00:00.000000',500,30,30000,0), - (23005,23005,231,'1934-01-01 00:00:00.000000',500,30,30000,0), - (23006,23006,232,'1937-01-01 00:00:00.000000',500,30,30000,0), - (23007,23007,233,'1937-01-01 00:00:00.000000',500,30,30000,0), - (23008,23008,234,'1939-01-01 00:00:00.000000',500,30,30000,0), - (23009,23009,834,'1940-01-01 00:00:00.000000',500,30,30000,0), - (23010,23010,235,'1941-01-01 00:00:00.000000',500,30,30000,0), - (23011,23011,236,'1947-01-01 00:00:00.000000',500,30,30000,0), - (23012,23010,237,'1948-01-01 00:00:00.000000',500,30,30000,0), - (23013,23012,237,'1948-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (25001,25001,99,'1967-01-01 00:00:00.000000',1000,359,30000,0), - (25002,25002,100,'1967-01-01 00:00:00.000000',500,458,30000,0), - (25003,25003,101,'1967-01-01 00:00:00.000000',250,556,30000,0), - (25004,25004,1549,'1967-01-01 00:00:00.000000',125,655,30000,0), - (25005,25005,1578,'1967-01-01 00:00:00.000000',0,754,30000,0), - (25006,25006,2041,'1968-01-01 00:00:00.000000',500,470,30000,0), - (25007,25007,2067,'1967-01-01 00:00:00.000000',500,470,30000,0), - (25008,25008,2352,'2001-01-01 00:00:00.000000',500,288,30000,0), - (25009,25009,2353,'2001-01-01 00:00:00.000000',500,288,30000,0), - (25010,25010,2354,'2001-01-01 00:00:00.000000',500,288,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (25011,25011,2355,'2001-01-01 00:00:00.000000',500,288,30000,0), - (25012,25012,2356,'2001-01-01 00:00:00.000000',500,288,30000,0), - (25013,25013,2357,'2001-01-01 00:00:00.000000',500,288,30000,0), - (25014,25014,2358,'2001-01-01 00:00:00.000000',250,288,30000,0), - (25015,25015,2359,'2001-01-01 00:00:00.000000',250,288,30000,0), - (25016,25016,2360,'2001-01-01 00:00:00.000000',250,288,30000,0), - (25017,25017,2361,'2001-01-01 00:00:00.000000',250,318,30000,0), - (25018,25018,2362,'2001-01-01 00:00:00.000000',250,318,30000,0), - (25019,25019,2363,'2001-01-01 00:00:00.000000',250,318,30000,0), - (25020,25020,2364,'2001-01-01 00:00:00.000000',250,318,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (25021,25021,2365,'2001-01-01 00:00:00.000000',250,318,30000,0), - (25022,25022,2366,'2001-01-01 00:00:00.000000',250,318,30000,0), - (26001,26001,244,'1966-01-01 00:00:00.000000',500,10,30000,0), - (27003,27001,238,'2027-01-01 00:00:00.000000',500,10,30000,0), - (28001,28001,272,'1940-01-01 00:00:00.000000',500,15,30000,0), - (28002,28002,273,'1947-01-01 00:00:00.000000',500,10,30000,0), - (28003,28003,274,'1955-01-01 00:00:00.000000',500,10,30000,0), - (28004,28004,275,'1957-01-01 00:00:00.000000',500,10,30000,0), - (28005,28005,276,'1957-01-01 00:00:00.000000',500,10,30000,0), - (29001,29001,637,'1975-01-01 00:00:00.000000',1000,387,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (29002,29002,638,'1975-01-01 00:00:00.000000',500,498,30000,0), - (29003,29003,639,'1975-01-01 00:00:00.000000',500,682,30000,0), - (29004,29004,640,'1975-01-01 00:00:00.000000',250,940,30000,0), - (29005,29005,641,'1975-01-01 00:00:00.000000',125,1272,30000,0), - (29006,29006,642,'1975-01-01 00:00:00.000000',60,1678,30000,0), - (29007,29007,643,'1975-01-01 00:00:00.000000',60,2157,30000,0), - (29008,29008,644,'1975-01-01 00:00:00.000000',30,2710,30000,0), - (29009,29009,645,'1975-01-01 00:00:00.000000',30,3337,30000,0), - (29010,29010,646,'1975-01-01 00:00:00.000000',0,4038,30000,0), - (30001,30001,647,'1975-01-01 00:00:00.000000',1000,387,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (30002,30002,648,'1975-01-01 00:00:00.000000',500,498,30000,0), - (30003,30003,649,'1975-01-01 00:00:00.000000',250,682,30000,0), - (30004,30004,650,'1975-01-01 00:00:00.000000',250,940,30000,0), - (30005,30005,641,'1975-01-01 00:00:00.000000',125,1272,30000,0), - (30006,30006,652,'1975-01-01 00:00:00.000000',60,1678,30000,0), - (30007,30007,643,'1975-01-01 00:00:00.000000',60,2157,30000,0), - (30008,30008,654,'1975-01-01 00:00:00.000000',30,2710,30000,0), - (30009,30009,645,'1975-01-01 00:00:00.000000',30,3337,30000,0), - (30010,30010,656,'1975-01-01 00:00:00.000000',0,4038,30000,0), - (31150,31169,2164,'2001-02-05 00:00:00.000000',1000,50,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (31151,31167,2162,'2001-02-05 00:00:00.000000',1000,50,30000,0), - (31152,31168,2163,'2001-02-05 00:00:00.000000',1000,50,30000,0), - (31153,31166,2161,'2001-02-05 00:00:00.000000',1000,50,30000,0), - (32001,32001,407,'1960-01-01 00:00:00.000000',500,30,30000,0), - (33001,33001,192,'1999-01-01 00:00:00.000000',500,0,30000,0), - (34001,34001,828,'1932-01-01 00:00:00.000000',500,25,30000,0), - (34002,34001,829,'1932-01-01 00:00:00.000000',500,25,30000,0), - (35001,35001,831,'1932-01-01 00:00:00.000000',500,100,30000,0), - (35002,35002,443,'1940-01-01 00:00:00.000000',500,50,30000,0), - (35003,35003,2156,'1965-01-01 00:00:00.000000',500,50,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36001,36002,2032,'2000-01-01 00:00:00.000000',500,0,30000,0), - (36002,36002,953,'1932-01-01 00:00:00.000000',500,0,30000,10), - (36003,36002,954,'1932-01-01 00:00:00.000000',500,0,30000,10), - (36004,36002,955,'1940-01-01 00:00:00.000000',500,0,30000,10), - (36005,36002,956,'1940-01-01 00:00:00.000000',500,0,30000,10), - (36006,36002,957,'1957-01-01 00:00:00.000000',500,0,30000,15), - (36007,36002,958,'1963-01-01 00:00:00.000000',500,0,30000,3), - (36008,36002,959,'1963-01-01 00:00:00.000000',500,0,30000,4), - (36009,36002,960,'1970-01-01 00:00:00.000000',500,0,30000,4), - (36010,36002,961,'1969-01-01 00:00:00.000000',500,0,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36011,36002,1014,'1966-01-01 00:00:00.000000',500,0,30000,14), - (36012,36002,1015,'1967-01-01 00:00:00.000000',500,0,30000,14), - (36013,36002,1016,'1959-01-01 00:00:00.000000',500,0,30000,9), - (36014,36002,1017,'1967-01-01 00:00:00.000000',500,0,30000,2), - (36015,36002,1018,'1967-01-01 00:00:00.000000',500,0,30000,1), - (36016,36175,1019,'1966-01-01 00:00:00.000000',500,0,30000,18), - (36017,36002,1021,'1968-01-01 00:00:00.000000',500,0,30000,2), - (36018,36002,1020,'1970-01-01 00:00:00.000000',500,0,30000,2), - (36019,36002,1113,'1949-01-01 00:00:00.000000',500,0,30000,20), - (36020,36002,1114,'1955-01-01 00:00:00.000000',500,0,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36021,36002,1115,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36022,36002,1116,'1959-01-01 00:00:00.000000',500,0,30000,9), - (36023,36002,1117,'1962-01-01 00:00:00.000000',500,0,30000,6), - (36024,36002,1118,'1965-01-01 00:00:00.000000',500,0,30000,13), - (36025,36002,1119,'1965-01-01 00:00:00.000000',500,0,30000,5), - (36026,36002,1120,'1968-01-01 00:00:00.000000',500,0,30000,13), - (36027,36002,1121,'1969-01-01 00:00:00.000000',500,0,30000,6), - (36028,36002,1122,'1968-01-01 00:00:00.000000',500,0,30000,12), - (36029,36002,1123,'1973-01-01 00:00:00.000000',500,0,30000,13), - (36030,36003,1472,'1956-01-01 00:00:00.000000',500,0,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36031,36004,1474,'1955-01-01 00:00:00.000000',500,0,30000,6), - (36032,36005,1475,'1955-01-01 00:00:00.000000',500,0,30000,6), - (36033,36006,1476,'1955-01-01 00:00:00.000000',500,0,30000,6), - (36034,36007,1477,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36035,36008,1478,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36036,36009,1479,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36037,36010,1480,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36038,36011,1481,'1957-01-01 00:00:00.000000',500,0,30000,6), - (36039,36012,1482,'1958-01-01 00:00:00.000000',500,0,30000,6), - (36040,36013,1483,'1961-01-01 00:00:00.000000',500,0,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36041,36014,1484,'1961-01-01 00:00:00.000000',500,0,30000,6), - (36042,36015,1485,'1956-01-01 00:00:00.000000',500,0,30000,6), - (36043,36016,1486,'1965-01-01 00:00:00.000000',500,0,30000,6), - (36044,36017,1487,'1962-01-01 00:00:00.000000',500,0,30000,6), - (36045,36018,1488,'1962-01-01 00:00:00.000000',500,0,30000,6), - (36046,36019,1489,'1962-01-01 00:00:00.000000',500,0,30000,6), - (36047,36020,1490,'1964-01-01 00:00:00.000000',500,0,30000,6), - (36048,36021,1491,'1964-01-01 00:00:00.000000',500,0,30000,6), - (36049,36022,1492,'1967-01-01 00:00:00.000000',500,0,30000,6), - (36050,36023,1493,'1967-01-01 00:00:00.000000',500,0,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36051,36024,1494,'1969-01-01 00:00:00.000000',500,0,30000,6), - (36052,36025,1495,'1969-01-01 00:00:00.000000',500,0,30000,6), - (36053,36026,1496,'1970-01-01 00:00:00.000000',500,0,30000,6), - (36054,36027,1497,'1970-01-01 00:00:00.000000',500,0,30000,6), - (36055,36028,1498,'1970-01-01 00:00:00.000000',500,0,30000,6), - (36056,36029,1500,'1958-01-01 00:00:00.000000',500,0,30000,19), - (36057,36030,1501,'1958-01-01 00:00:00.000000',500,0,30000,19), - (36058,36031,1502,'1958-01-01 00:00:00.000000',500,0,30000,19), - (36059,36032,1503,'1958-01-01 00:00:00.000000',500,0,30000,19), - (36060,36033,1504,'1958-01-01 00:00:00.000000',500,0,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36061,36034,1505,'1959-01-01 00:00:00.000000',500,0,30000,19), - (36062,36035,1506,'1959-01-01 00:00:00.000000',500,0,30000,19), - (36063,36036,1507,'1960-01-01 00:00:00.000000',500,0,30000,19), - (36064,36037,1508,'1960-01-01 00:00:00.000000',500,0,30000,19), - (36065,36038,1509,'1961-01-01 00:00:00.000000',500,0,30000,19), - (36066,36039,1510,'1962-01-01 00:00:00.000000',500,0,30000,19), - (36067,36040,1511,'1962-01-01 00:00:00.000000',500,0,30000,19), - (36068,36041,1512,'1963-01-01 00:00:00.000000',500,0,30000,19), - (36069,36042,1513,'1963-01-01 00:00:00.000000',500,0,30000,19), - (36070,36044,1515,'1963-01-01 00:00:00.000000',500,0,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36071,36045,1518,'1965-01-01 00:00:00.000000',500,0,30000,5), - (36072,36046,1519,'1965-01-01 00:00:00.000000',500,0,30000,5), - (36073,36047,1520,'1965-01-01 00:00:00.000000',500,0,30000,5), - (36074,36048,1522,'1966-01-01 00:00:00.000000',500,0,30000,5), - (36075,36049,1523,'1966-01-01 00:00:00.000000',500,0,30000,5), - (36076,36050,1524,'1966-01-01 00:00:00.000000',500,0,30000,5), - (36077,36051,1525,'1967-01-01 00:00:00.000000',500,0,30000,5), - (36078,36052,1526,'1967-01-01 00:00:00.000000',500,0,30000,5), - (36079,36053,1527,'1967-01-01 00:00:00.000000',500,0,30000,5), - (36080,36054,1528,'1967-01-01 00:00:00.000000',500,0,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36081,36055,1529,'1969-01-01 00:00:00.000000',500,0,30000,5), - (36082,36056,1531,'1970-01-01 00:00:00.000000',500,0,30000,5), - (36083,36057,1532,'1970-01-01 00:00:00.000000',500,0,30000,5), - (36084,36058,1533,'1970-01-01 00:00:00.000000',500,0,30000,5), - (36085,36061,1534,'1971-01-01 00:00:00.000000',500,0,30000,5), - (36086,36059,1535,'1970-01-01 00:00:00.000000',500,0,30000,5), - (36087,36060,1536,'1970-01-01 00:00:00.000000',500,0,30000,5), - (36088,36062,1537,'1968-01-01 00:00:00.000000',500,0,30000,12), - (36089,36063,1539,'1968-01-01 00:00:00.000000',500,0,30000,12), - (36090,36064,1540,'1968-01-01 00:00:00.000000',500,0,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36091,36065,1541,'1968-01-01 00:00:00.000000',500,0,30000,12), - (36092,36066,1542,'1968-01-01 00:00:00.000000',500,0,30000,12), - (36093,36067,1543,'1965-01-01 00:00:00.000000',500,0,30000,12), - (36094,36068,1545,'1966-01-01 00:00:00.000000',500,0,30000,12), - (36095,36069,1546,'1966-01-01 00:00:00.000000',500,0,30000,12), - (36096,36070,1547,'1967-01-01 00:00:00.000000',500,0,30000,12), - (36097,36071,1548,'1967-01-01 00:00:00.000000',500,0,30000,12), - (36098,36072,1550,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36099,36073,1551,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36100,36074,1552,'1959-01-01 00:00:00.000000',500,0,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36101,36075,1553,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36102,36076,1554,'1960-01-01 00:00:00.000000',500,0,30000,13), - (36103,36077,1555,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36104,36078,1556,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36105,36079,1557,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36106,36080,1558,'1959-01-01 00:00:00.000000',500,0,30000,13), - (36107,36081,1562,'1960-01-01 00:00:00.000000',500,0,30000,13), - (36108,36082,1563,'1960-01-01 00:00:00.000000',500,0,30000,13), - (36109,36083,1564,'1960-01-01 00:00:00.000000',500,0,30000,13), - (36110,36084,1566,'1961-01-01 00:00:00.000000',500,0,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36111,36085,1567,'1962-01-01 00:00:00.000000',500,0,30000,13), - (36112,36086,1568,'1962-01-01 00:00:00.000000',500,0,30000,13), - (36113,36087,1569,'1963-01-01 00:00:00.000000',500,0,30000,13), - (36114,36088,1570,'1963-01-01 00:00:00.000000',500,0,30000,13), - (36115,36089,1571,'1963-01-01 00:00:00.000000',500,0,30000,13), - (36116,36090,1572,'1963-01-01 00:00:00.000000',500,0,30000,13), - (36117,36091,1575,'1967-01-01 00:00:00.000000',500,0,30000,13), - (36118,36092,1576,'1967-01-01 00:00:00.000000',500,0,30000,13), - (36119,36093,1577,'1967-01-01 00:00:00.000000',500,0,30000,13), - (36120,36094,1579,'1968-01-01 00:00:00.000000',500,0,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36121,36095,1581,'1969-01-01 00:00:00.000000',500,0,30000,13), - (36122,36096,1583,'1970-01-01 00:00:00.000000',500,0,30000,13), - (36123,36097,1584,'1970-01-01 00:00:00.000000',500,0,30000,13), - (36124,36098,1585,'1971-01-01 00:00:00.000000',500,0,30000,13), - (36125,36099,1586,'1973-01-01 00:00:00.000000',500,0,30000,13), - (36126,36100,1587,'1955-01-01 00:00:00.000000',500,0,30000,15), - (36127,36101,1588,'1955-01-01 00:00:00.000000',500,0,30000,15), - (36128,36102,1589,'1957-01-01 00:00:00.000000',500,0,30000,15), - (36129,36103,1590,'1956-01-01 00:00:00.000000',500,0,30000,15), - (36130,36104,1592,'1956-01-01 00:00:00.000000',500,0,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36131,36105,1593,'1957-01-01 00:00:00.000000',500,0,30000,15), - (36132,36106,1594,'1958-01-01 00:00:00.000000',500,0,30000,3), - (36133,36107,1595,'1960-01-01 00:00:00.000000',500,0,30000,3), - (36134,36108,1596,'1961-01-01 00:00:00.000000',500,0,30000,3), - (36135,36109,1597,'1961-01-01 00:00:00.000000',500,0,30000,3), - (36136,36110,1598,'1961-01-01 00:00:00.000000',500,0,30000,3), - (36137,36111,1599,'1961-01-01 00:00:00.000000',500,0,30000,3), - (36138,36112,1601,'1962-01-01 00:00:00.000000',500,0,30000,3), - (36139,36113,1602,'1962-01-01 00:00:00.000000',500,0,30000,3), - (36140,36114,1603,'1962-01-01 00:00:00.000000',500,0,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36141,36115,1604,'1966-01-01 00:00:00.000000',500,0,30000,3), - (36142,36116,1605,'1966-01-01 00:00:00.000000',500,0,30000,3), - (36143,36117,1606,'1966-01-01 00:00:00.000000',500,0,30000,3), - (36144,36118,1607,'1962-01-01 00:00:00.000000',500,0,30000,3), - (36145,36119,1608,'1962-01-01 00:00:00.000000',500,0,30000,3), - (36146,36120,1610,'1963-01-01 00:00:00.000000',500,0,30000,3), - (36147,36121,1611,'1965-01-01 00:00:00.000000',500,0,30000,3), - (36148,36122,1612,'1965-01-01 00:00:00.000000',500,0,30000,3), - (36149,36123,1614,'1965-01-01 00:00:00.000000',500,0,30000,3), - (36150,36124,1616,'1966-01-01 00:00:00.000000',500,0,32000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36151,36125,1617,'1966-01-01 00:00:00.000000',500,0,30000,3), - (36152,36126,1618,'1968-01-01 00:00:00.000000',500,0,30000,3), - (36153,36127,1619,'1969-01-01 00:00:00.000000',500,0,30000,3), - (36154,36128,1620,'1962-01-01 00:00:00.000000',500,0,30000,4), - (36155,36129,1621,'1963-01-01 00:00:00.000000',500,0,30000,4), - (36156,36130,1622,'1963-01-01 00:00:00.000000',500,0,30000,4), - (36157,36131,1625,'1965-01-01 00:00:00.000000',500,0,30000,4), - (36158,36132,1626,'1968-01-01 00:00:00.000000',500,0,30000,4), - (36159,36133,1627,'1968-01-01 00:00:00.000000',500,0,30000,4), - (36160,36134,1628,'1969-01-01 00:00:00.000000',500,0,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36161,36135,1630,'1969-01-01 00:00:00.000000',500,0,30000,4), - (36162,36136,1631,'1969-01-01 00:00:00.000000',500,0,30000,4), - (36163,36137,1632,'1971-01-01 00:00:00.000000',500,0,30000,4), - (36164,36138,1633,'1970-01-01 00:00:00.000000',500,0,30000,16), - (36165,36139,1634,'1970-01-01 00:00:00.000000',500,0,30000,16), - (36166,36140,1635,'1971-01-01 00:00:00.000000',500,0,30000,16), - (36167,36141,1636,'1971-01-01 00:00:00.000000',500,0,30000,16), - (36168,36142,1637,'1972-01-01 00:00:00.000000',500,0,30000,16), - (36169,36143,1638,'1972-01-01 00:00:00.000000',500,0,30000,16), - (36170,36144,1639,'1971-01-01 00:00:00.000000',500,0,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36171,36145,1640,'1972-01-01 00:00:00.000000',500,0,30000,16), - (36172,36146,1641,'1968-01-01 00:00:00.000000',500,0,30000,17), - (36173,36147,1642,'1969-01-01 00:00:00.000000',500,0,30000,17), - (36174,36148,1643,'1970-01-01 00:00:00.000000',500,0,30000,17), - (36175,36149,1644,'1970-01-01 00:00:00.000000',500,0,30000,17), - (36176,36150,1645,'1972-01-01 00:00:00.000000',500,0,30000,17), - (36177,36151,1646,'1969-01-01 00:00:00.000000',500,0,30000,17), - (36178,36152,1648,'1968-01-01 00:00:00.000000',500,0,30000,17), - (36179,36153,1649,'1972-01-01 00:00:00.000000',500,0,30000,17), - (36180,36154,1650,'1973-01-01 00:00:00.000000',500,0,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36181,36155,1651,'1960-01-01 00:00:00.000000',500,0,30000,1), - (36182,36156,1652,'1960-01-01 00:00:00.000000',500,0,30000,1), - (36183,36157,1653,'1965-01-01 00:00:00.000000',500,0,30000,1), - (36184,36158,1654,'1960-01-01 00:00:00.000000',500,0,30000,1), - (36185,36159,1656,'1971-01-01 00:00:00.000000',500,0,30000,1), - (36186,36160,1657,'1972-01-01 00:00:00.000000',500,0,30000,1), - (36187,36161,1658,'1974-01-01 00:00:00.000000',500,0,30000,1), - (36188,36162,1660,'1959-01-01 00:00:00.000000',500,0,30000,1), - (36189,36163,1661,'1959-01-01 00:00:00.000000',500,0,30000,1), - (36190,36164,1662,'1960-01-01 00:00:00.000000',500,0,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36191,36165,1663,'1960-01-01 00:00:00.000000',500,0,30000,1), - (36192,36166,1664,'1962-01-01 00:00:00.000000',500,0,30000,1), - (36193,36167,1665,'1962-01-01 00:00:00.000000',500,0,30000,1), - (36194,36168,1666,'1962-01-01 00:00:00.000000',500,0,30000,1), - (36195,36169,1667,'1963-01-01 00:00:00.000000',500,0,30000,1), - (36196,36170,1668,'1964-01-01 00:00:00.000000',500,0,30000,1), - (36197,36171,1669,'1964-01-01 00:00:00.000000',500,0,30000,1), - (36198,36172,1672,'1963-01-01 00:00:00.000000',500,0,30000,1), - (36199,36173,1673,'1963-01-01 00:00:00.000000',500,0,30000,1), - (36200,36174,1674,'1964-01-01 00:00:00.000000',500,0,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36201,36176,1676,'1966-01-01 00:00:00.000000',500,0,30000,1), - (36202,36177,1677,'1970-01-01 00:00:00.000000',500,0,30000,1), - (36203,36178,1679,'1968-01-01 00:00:00.000000',500,0,30000,14), - (36204,36179,1680,'1968-01-01 00:00:00.000000',500,0,30000,14), - (36205,36180,1681,'1970-01-01 00:00:00.000000',500,0,30000,14), - (36206,36181,1682,'1970-01-01 00:00:00.000000',500,0,30000,14), - (36207,36002,2032,'2000-01-01 00:00:00.000000',500,0,30000,0), - (36208,36182,2046,'1956-01-01 00:00:00.000000',500,0,30000,6), - (36209,36183,1514,'1963-01-01 00:00:00.000000',500,0,30000,19), - (36210,36184,2061,'1969-01-01 00:00:00.000000',500,0,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (36211,36185,2062,'1969-01-01 00:00:00.000000',500,0,30000,5), - (36212,36186,2082,'1969-01-01 00:00:00.000000',500,0,30000,13), - (36213,36187,2083,'1970-01-01 00:00:00.000000',500,0,30000,13), - (36214,36188,2089,'1960-01-01 00:00:00.000000',500,0,30000,3), - (36215,36189,2454,'1960-01-01 00:00:00.000000',0,0,30000,6), - (37001,37001,1565,'1999-01-01 00:00:00.000000',500,0,30000,0), - (39001,39001,525,'1999-01-01 00:00:00.000000',500,500,30000,0), - (40001,40001,527,'1999-01-01 00:00:00.000000',500,39,30000,0), - (40002,40002,827,'1932-01-01 00:00:00.000000',500,30,30000,0), - (40003,40003,833,'1940-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40004,40004,836,'1949-01-01 00:00:00.000000',500,30,30000,0), - (40005,40005,838,'1953-01-01 00:00:00.000000',500,30,30000,0), - (40006,40006,840,'1957-01-01 00:00:00.000000',500,30,30000,0), - (40007,40007,842,'1957-01-01 00:00:00.000000',500,30,30000,0), - (40008,40008,844,'1957-01-01 00:00:00.000000',100,30,30000,0), - (40009,40009,846,'1963-01-01 00:00:00.000000',100,30,30000,0), - (40010,40010,850,'1964-01-01 00:00:00.000000',500,30,30000,0), - (40011,40011,848,'1964-01-01 00:00:00.000000',500,30,30000,0), - (40012,40012,852,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40013,40013,854,'1970-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40014,40014,536,'1947-01-01 00:00:00.000000',500,30,30000,0), - (40015,40015,537,'1955-01-01 00:00:00.000000',500,30,30000,0), - (40016,40016,538,'1957-01-01 00:00:00.000000',500,30,30000,0), - (40017,40017,539,'1957-01-01 00:00:00.000000',500,30,30000,0), - (40018,40018,540,'1957-01-01 00:00:00.000000',500,30,30000,0), - (40019,40019,541,'1958-01-01 00:00:00.000000',500,30,30000,0), - (40020,40020,542,'1959-01-01 00:00:00.000000',500,30,30000,0), - (40021,40021,543,'1963-01-01 00:00:00.000000',500,30,30000,0), - (40022,40022,544,'1964-01-01 00:00:00.000000',500,30,30000,0), - (40023,40023,545,'1966-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40024,40024,546,'1967-01-01 00:00:00.000000',500,30,30000,0), - (40025,40025,547,'1967-01-01 00:00:00.000000',500,30,30000,0), - (40026,40026,548,'1969-01-01 00:00:00.000000',500,30,30000,0), - (40027,40027,549,'1969-01-01 00:00:00.000000',500,30,30000,0), - (40028,40028,550,'1970-01-01 00:00:00.000000',500,30,30000,0), - (40029,40029,551,'1970-01-01 00:00:00.000000',500,30,30000,0), - (40030,40030,552,'1970-01-01 00:00:00.000000',500,30,30000,0), - (40031,40031,553,'1973-01-01 00:00:00.000000',500,30,30000,0), - (40032,40032,554,'1969-01-01 00:00:00.000000',500,30,30000,0), - (40033,40033,555,'1969-01-01 00:00:00.000000',500,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40034,40034,556,'1969-01-01 00:00:00.000000',500,30,30000,0), - (40035,40035,557,'1970-01-01 00:00:00.000000',500,30,30000,0), - (40036,40036,558,'1971-01-01 00:00:00.000000',500,30,30000,0), - (40037,40037,253,'1963-01-01 00:00:00.000000',100,30,30000,0), - (40038,40038,263,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40039,40039,265,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40040,40040,264,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40041,40041,257,'1967-01-01 00:00:00.000000',100,30,30000,0), - (40042,40042,256,'1967-01-01 00:00:00.000000',100,30,30000,0), - (40043,40043,251,'1957-01-01 00:00:00.000000',100,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40044,40044,254,'1964-01-01 00:00:00.000000',100,30,30000,0), - (40045,40045,252,'1963-01-01 00:00:00.000000',100,30,30000,0), - (40046,40046,262,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40047,40047,271,'1973-01-01 00:00:00.000000',50,30,30000,0), - (40048,40048,255,'1966-01-01 00:00:00.000000',100,30,30000,0), - (40049,40049,260,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40050,40050,259,'1969-01-01 00:00:00.000000',50,30,30000,0), - (40051,40051,258,'1969-01-01 00:00:00.000000',100,30,30000,0), - (40052,40052,261,'1970-01-01 00:00:00.000000',100,30,30000,0), - (40053,40053,266,'1970-01-01 00:00:00.000000',100,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (40054,40054,267,'1970-01-01 00:00:00.000000',100,40,30000,0), - (40055,40055,270,'1973-01-01 00:00:00.000000',50,30,30000,0), - (40056,40056,269,'1970-01-01 00:00:00.000000',100,30,30000,0), - (40057,40057,408,'1958-01-01 00:00:00.000000',100,30,30000,0), - (40058,40058,268,'1970-01-01 00:00:00.000000',100,30,30000,0), - (40059,40059,1185,'1957-01-01 00:00:00.000000',100,30,30000,0), - (40060,40060,2154,'1965-01-01 00:00:00.000000',50,50,30000,0), - (40061,40061,2216,'1950-01-01 00:00:00.000000',500,50,30000,0), - (40062,40062,2876,'1970-01-01 00:00:00.000000',100,30,30000,0), - (100001,100001,190,'1999-01-01 00:00:00.000000',1000,30,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100002,100002,857,'1932-01-01 00:00:00.000000',1000,36,30000,0), - (100003,100003,856,'1967-01-01 00:00:00.000000',1000,36,30000,0), - (100004,100004,456,'1999-01-01 00:00:00.000000',500,505,30000,0), - (100005,100005,457,'1999-01-01 00:00:00.000000',100,2504,30000,0), - (100006,100006,2219,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100007,100066,2279,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100008,100067,2280,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100009,100068,2281,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100010,100069,2282,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100011,100070,2283,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100012,100071,2284,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100013,100072,2285,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100014,100073,2286,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100015,100074,2287,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100016,100075,2288,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100017,100076,2289,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100018,100077,2290,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100019,100078,2291,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100020,100079,2292,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100021,100080,2293,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100022,100081,2294,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100023,100082,2295,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100024,100083,2296,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100025,100084,2297,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100026,100085,2298,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100027,100086,2299,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100028,100087,2300,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100029,100088,2301,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100030,100089,2302,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100031,100090,2303,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100032,100091,2304,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100033,100092,2305,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100034,100006,2219,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100035,100007,2220,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100036,100008,2221,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100037,100009,2222,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100038,100010,2223,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100039,100011,2224,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100040,100012,2225,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100041,100013,2226,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100042,100014,2227,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100043,100015,2228,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100044,100016,2229,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100045,100017,2230,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100046,100018,2231,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100047,100019,2232,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100048,100020,2233,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100049,100021,2234,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100050,100022,2235,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100051,100023,2236,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100052,100024,2237,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100053,100025,2238,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100054,100026,2239,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100055,100027,2240,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100056,100028,2241,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100057,100029,2242,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100058,100030,2243,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100059,100031,2244,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100060,100032,2245,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100061,100033,2246,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100062,100034,2247,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100063,100035,2248,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100064,100036,2249,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100065,100037,2250,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100066,100038,2251,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100067,100039,2252,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100068,100040,2253,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100069,100041,2254,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100070,100042,2255,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100071,100043,2256,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100072,100044,2257,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100073,100045,2258,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100074,100046,2259,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100075,100047,2260,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100076,100048,2261,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100077,100049,2262,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100078,100050,2263,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100079,100051,2264,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100080,100052,2265,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100081,100053,2266,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100082,100054,2267,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100083,100055,2268,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100084,100056,2269,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100085,100057,2270,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100086,100058,2271,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100087,100059,2272,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100088,100060,2273,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100089,100061,2274,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100090,100062,2275,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100091,100063,2276,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100092,100064,2277,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100093,100106,2321,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100094,100107,2322,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100095,100108,2323,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100096,100109,2324,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100097,100110,2325,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100098,100111,2326,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100099,100112,2327,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100100,100113,2328,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100101,100114,2329,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100102,100115,2330,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100103,100116,2331,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100104,100117,2332,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100105,100118,2333,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100106,100119,2334,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100107,100120,2335,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100108,100121,2336,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100109,100122,2337,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100110,100123,2338,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100111,100124,2339,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100112,100125,2340,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100113,100126,2341,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100114,100127,2342,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100115,100128,2343,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100116,100129,2344,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100117,100130,2345,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100118,100131,2346,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100119,100132,2347,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100120,100133,2348,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100121,100134,2349,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100122,100135,2350,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100123,100093,2308,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100124,100094,2309,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100125,100095,2310,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100126,100096,2311,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100127,100097,2312,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100128,100098,2313,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100129,100099,2314,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100130,100100,2315,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100131,100101,2316,'2001-01-01 00:00:00.000000',1000,36,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100132,100102,2317,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100133,100103,2318,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100134,100104,2319,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100135,100105,2320,'2001-01-01 00:00:00.000000',1000,36,30000,0), - (100136,100136,2450,'1970-01-01 00:00:00.000000',0,36,30000,0), - (100137,100137,3648,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100138,100138,3649,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100139,100139,3702,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100140,100140,3703,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100141,100141,3704,'2001-01-01 00:00:00.000000',500,505,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (100142,100142,3707,'2001-01-01 00:00:00.000000',500,505,30000,0), - (100143,100143,3708,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100144,100144,3709,'2000-01-01 00:00:00.000000',500,505,30000,0), - (100145,100145,3710,'2000-01-01 00:00:00.000000',500,505,30000,0), - (110001,110001,209,'1932-01-01 00:00:00.000000',1,107,30000,0), - (110002,110002,680,'1950-01-01 00:00:00.000000',1,47,30000,0), - (110003,110003,681,'1950-01-01 00:00:00.000000',1,65,30000,0), - (110004,110004,682,'1950-01-01 00:00:00.000000',1,87,30000,0), - (110005,110005,683,'1950-01-01 00:00:00.000000',1,97,30000,0), - (110006,110006,684,'1950-01-01 00:00:00.000000',1,99,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110007,110007,685,'1950-01-01 00:00:00.000000',1,62,30000,0), - (110008,110008,686,'1950-01-01 00:00:00.000000',1,65,30000,0), - (110009,110009,687,'1950-01-01 00:00:00.000000',1,87,30000,0), - (110010,110010,688,'1950-01-01 00:00:00.000000',1,97,30000,0), - (110011,110011,689,'1950-01-01 00:00:00.000000',1,114,30000,0), - (110012,110012,690,'1950-01-01 00:00:00.000000',1,95,30000,0), - (110013,110013,691,'1950-01-01 00:00:00.000000',1,127,30000,0), - (110014,110014,692,'1950-01-01 00:00:00.000000',1,129,30000,0), - (110015,110015,693,'1950-01-01 00:00:00.000000',1,62,30000,0), - (110016,110016,694,'1950-01-01 00:00:00.000000',1,80,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110017,110017,695,'1950-01-01 00:00:00.000000',1,112,30000,0), - (110018,110018,696,'1950-01-01 00:00:00.000000',1,92,30000,0), - (110019,110019,697,'1950-01-01 00:00:00.000000',1,95,30000,0), - (110020,110020,698,'1950-01-01 00:00:00.000000',1,142,30000,0), - (110021,110021,699,'1950-01-01 00:00:00.000000',1,159,30000,0), - (110022,110022,700,'1960-01-01 00:00:00.000000',500,184,30000,0), - (110023,110023,701,'1960-01-01 00:00:00.000000',1000,204,30000,0), - (110024,110024,702,'1960-01-01 00:00:00.000000',500,225,30000,0), - (110025,110025,703,'1960-01-01 00:00:00.000000',500,112,30000,0), - (110026,110026,704,'1960-01-01 00:00:00.000000',1000,122,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110027,110027,705,'1960-01-01 00:00:00.000000',500,132,30000,0), - (110028,110028,706,'1960-01-01 00:00:00.000000',500,143,30000,0), - (110029,110029,707,'1960-01-01 00:00:00.000000',500,153,30000,0), - (110030,110030,708,'1960-01-01 00:00:00.000000',500,91,30000,0), - (110031,110031,709,'1960-01-01 00:00:00.000000',500,102,30000,0), - (110032,110032,710,'1960-01-01 00:00:00.000000',500,112,30000,0), - (110033,110033,711,'1960-01-01 00:00:00.000000',500,122,30000,0), - (110034,110034,712,'1960-01-01 00:00:00.000000',500,132,30000,0), - (110035,110035,713,'1960-01-01 00:00:00.000000',500,102,30000,0), - (110036,110036,714,'1960-01-01 00:00:00.000000',500,122,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110037,110037,715,'1960-01-01 00:00:00.000000',1000,204,30000,0), - (110038,110038,716,'1960-01-01 00:00:00.000000',1000,224,30000,0), - (110039,110039,717,'1960-01-01 00:00:00.000000',1000,245,30000,0), - (110040,110040,718,'1960-01-01 00:00:00.000000',1000,255,30000,0), - (110041,110041,719,'1960-01-01 00:00:00.000000',1000,152,30000,0), - (110042,110042,720,'1960-01-01 00:00:00.000000',1000,173,30000,0), - (110043,110043,721,'1960-01-01 00:00:00.000000',1000,183,30000,0), - (110044,110044,722,'1960-01-01 00:00:00.000000',1000,142,30000,0), - (110045,110045,723,'1960-01-01 00:00:00.000000',500,162,30000,0), - (110046,110046,724,'1960-01-01 00:00:00.000000',1000,183,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110047,110047,725,'1960-01-01 00:00:00.000000',1000,132,30000,0), - (110048,110048,726,'1960-01-01 00:00:00.000000',1000,152,30000,0), - (110049,110049,727,'1960-01-01 00:00:00.000000',1000,173,30000,0), - (110050,110050,728,'1960-01-01 00:00:00.000000',1000,183,30000,0), - (110051,110051,729,'1970-01-01 00:00:00.000000',500,283,30000,0), - (110052,110052,730,'1970-01-01 00:00:00.000000',500,300,30000,0), - (110053,110053,731,'1970-01-01 00:00:00.000000',500,262,30000,0), - (110054,110054,732,'1970-01-01 00:00:00.000000',500,279,30000,0), - (110055,110055,733,'1970-01-01 00:00:00.000000',500,250,30000,0), - (110056,110056,734,'1970-01-01 00:00:00.000000',500,258,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110057,110057,735,'1970-01-01 00:00:00.000000',500,322,30000,0), - (110058,110058,736,'1970-01-01 00:00:00.000000',500,339,30000,0), - (110059,110059,737,'1970-01-01 00:00:00.000000',500,300,30000,0), - (110060,110060,738,'1970-01-01 00:00:00.000000',500,309,30000,0), - (110061,110061,739,'1970-01-01 00:00:00.000000',500,326,30000,0), - (110062,110062,740,'1970-01-01 00:00:00.000000',500,288,30000,0), - (110063,110063,741,'1970-01-01 00:00:00.000000',500,297,30000,0), - (110064,110064,742,'1970-01-01 00:00:00.000000',500,314,30000,0), - (110065,110065,743,'1970-01-01 00:00:00.000000',500,369,30000,0), - (110066,110066,744,'1970-01-01 00:00:00.000000',500,399,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110067,110067,745,'1970-01-01 00:00:00.000000',500,407,30000,0), - (110068,110068,746,'1970-01-01 00:00:00.000000',500,437,30000,0), - (110069,110069,747,'1970-01-01 00:00:00.000000',250,690,30000,0), - (110070,110070,748,'1970-01-01 00:00:00.000000',250,652,30000,0), - (110071,110071,749,'1970-01-01 00:00:00.000000',250,660,30000,0), - (110072,110072,750,'1970-01-01 00:00:00.000000',250,669,30000,0), - (110073,110073,751,'1970-01-01 00:00:00.000000',250,613,30000,0), - (110074,110074,752,'1970-01-01 00:00:00.000000',250,622,30000,0), - (110075,110075,753,'1970-01-01 00:00:00.000000',250,630,30000,0), - (110076,110076,754,'1970-01-01 00:00:00.000000',250,639,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110077,110077,755,'1970-01-01 00:00:00.000000',250,738,30000,0), - (110078,110078,756,'1970-01-01 00:00:00.000000',250,699,30000,0), - (110079,110079,757,'1970-01-01 00:00:00.000000',250,708,30000,0), - (110080,110080,758,'1975-01-01 00:00:00.000000',250,780,30000,0), - (110081,110081,759,'1975-01-01 00:00:00.000000',250,788,30000,0), - (110082,110082,760,'1975-01-01 00:00:00.000000',250,750,30000,0), - (110083,110083,761,'1975-01-01 00:00:00.000000',250,758,30000,0), - (110084,110084,762,'1975-01-01 00:00:00.000000',250,767,30000,0), - (110085,110085,763,'1975-01-01 00:00:00.000000',250,711,30000,0), - (110086,110086,764,'1975-01-01 00:00:00.000000',250,720,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110087,110087,765,'1975-01-01 00:00:00.000000',250,728,30000,0), - (110088,110088,766,'1975-01-01 00:00:00.000000',250,737,30000,0), - (110089,110089,767,'1975-01-01 00:00:00.000000',250,908,30000,0), - (110090,110090,768,'1975-01-01 00:00:00.000000',250,917,30000,0), - (110091,110091,770,'1975-01-01 00:00:00.000000',250,878,30000,0), - (110092,110092,771,'1975-01-01 00:00:00.000000',266,887,30000,0), - (110093,110093,772,'1975-01-01 00:00:00.000000',250,848,30000,0), - (110094,110094,773,'1975-01-01 00:00:00.000000',250,865,30000,0), - (110095,110095,774,'1975-01-01 00:00:00.000000',250,883,30000,0), - (110096,110096,775,'1975-01-01 00:00:00.000000',250,818,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110097,110097,776,'1975-01-01 00:00:00.000000',250,827,30000,0), - (110098,110098,777,'1975-01-01 00:00:00.000000',250,835,30000,0), - (110099,110099,778,'1975-01-01 00:00:00.000000',250,797,30000,0), - (110100,110100,779,'1975-01-01 00:00:00.000000',250,805,30000,0), - (110101,110101,780,'1975-01-01 00:00:00.000000',250,814,30000,0), - (110102,110102,781,'1975-01-01 00:00:00.000000',250,947,30000,0), - (110103,110103,782,'1975-01-01 00:00:00.000000',250,964,30000,0), - (110104,110104,783,'1975-01-01 00:00:00.000000',250,981,30000,0), - (110105,110105,784,'1975-01-01 00:00:00.000000',250,917,30000,0), - (110106,110106,785,'1975-01-01 00:00:00.000000',250,925,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110107,110107,786,'1975-01-01 00:00:00.000000',250,934,30000,0), - (110108,110108,787,'1975-01-01 00:00:00.000000',250,943,30000,0), - (110109,110109,788,'1975-01-01 00:00:00.000000',250,1063,30000,0), - (110110,110110,789,'1975-01-01 00:00:00.000000',125,1279,30000,0), - (110111,110111,790,'1975-01-01 00:00:00.000000',125,1288,30000,0), - (110112,110112,791,'1975-01-01 00:00:00.000000',125,1249,30000,0), - (110113,110113,792,'1975-01-01 00:00:00.000000',125,1258,30000,0), - (110114,110114,793,'1975-01-01 00:00:00.000000',125,1267,30000,0), - (110115,110115,794,'1975-01-01 00:00:00.000000',125,1211,30000,0), - (110116,110116,795,'1975-01-01 00:00:00.000000',125,1219,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110117,110117,796,'1975-01-01 00:00:00.000000',125,1228,30000,0), - (110118,110118,797,'1975-01-01 00:00:00.000000',125,1237,30000,0), - (110119,110119,798,'1975-01-01 00:00:00.000000',125,1408,30000,0), - (110120,110120,799,'1975-01-01 00:00:00.000000',125,1378,30000,0), - (110121,110121,800,'1975-01-01 00:00:00.000000',125,1387,30000,0), - (110122,110120,799,'1975-01-01 00:00:00.000000',125,1378,30000,0), - (110123,110122,801,'1975-01-01 00:00:00.000000',125,1348,30000,0), - (110124,110123,802,'1975-01-01 00:00:00.000000',125,1365,30000,0), - (110125,110124,803,'1975-01-01 00:00:00.000000',125,1382,30000,0), - (110126,110125,804,'1975-01-01 00:00:00.000000',125,1318,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110127,110126,805,'1975-01-01 00:00:00.000000',125,1335,30000,0), - (110128,110127,806,'1975-01-01 00:00:00.000000',125,1297,30000,0), - (110129,110128,807,'1975-01-01 00:00:00.000000',125,1305,30000,0), - (110130,110129,808,'1975-01-01 00:00:00.000000',125,1314,30000,0), - (110131,110130,809,'1975-01-01 00:00:00.000000',125,1447,30000,0), - (110132,110131,810,'1975-01-01 00:00:00.000000',125,1464,30000,0), - (110133,110132,811,'1975-01-01 00:00:00.000000',125,1417,30000,0), - (110134,110133,812,'1975-01-01 00:00:00.000000',125,1425,30000,0), - (110135,110134,813,'1975-01-01 00:00:00.000000',125,1434,30000,0), - (110136,110135,814,'1975-01-01 00:00:00.000000',125,1442,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110137,110136,962,'1950-01-01 00:00:00.000000',2,172,30000,0), - (110138,110137,1687,'1969-01-01 00:00:00.000000',0,994,30000,0), - (110139,110138,1743,'1995-01-01 00:00:00.000000',0,1781,30000,0), - (110140,110139,2389,'2001-03-22 00:00:00.000000',125,248,30000,0), - (110141,110140,2422,'1970-01-01 00:00:00.000000',0,591,30000,0), - (110142,110141,2433,'1960-01-01 00:00:00.000000',250,134,30000,0), - (110143,110142,2434,'1960-01-01 00:00:00.000000',250,139,30000,0), - (110144,110143,2435,'1960-01-01 00:00:00.000000',250,147,30000,0), - (110145,110144,2436,'1960-01-01 00:00:00.000000',250,156,30000,0), - (110146,110145,2437,'1960-01-01 00:00:00.000000',250,167,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110147,110146,2438,'1960-01-01 00:00:00.000000',250,172,30000,0), - (110148,110147,2439,'1960-01-01 00:00:00.000000',250,182,30000,0), - (110149,110148,2440,'1960-01-01 00:00:00.000000',250,245,30000,0), - (110150,110149,2441,'1960-01-01 00:00:00.000000',250,255,30000,0), - (110151,110150,2442,'1960-01-01 00:00:00.000000',250,239,30000,0), - (110152,110151,2616,'1960-01-01 00:00:00.000000',500,274,30000,0), - (110153,110152,2615,'1960-01-01 00:00:00.000000',500,292,30000,0), - (110154,110153,2614,'1960-01-01 00:00:00.000000',500,313,30000,0), - (110155,110154,2613,'1960-01-01 00:00:00.000000',500,322,30000,0), - (110156,110155,2612,'1960-01-01 00:00:00.000000',500,313,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110157,110156,2611,'1960-01-01 00:00:00.000000',500,330,30000,0), - (110158,110157,2610,'1960-01-01 00:00:00.000000',500,352,30000,0), - (110159,110158,2609,'1960-01-01 00:00:00.000000',500,360,30000,0), - (110160,110159,2608,'1960-01-01 00:00:00.000000',500,369,30000,0), - (110161,110160,2607,'1960-01-01 00:00:00.000000',500,382,30000,0), - (110162,110161,2606,'1960-01-01 00:00:00.000000',500,390,30000,0), - (110163,110162,2605,'1960-01-01 00:00:00.000000',500,412,30000,0), - (110164,110163,2604,'1960-01-01 00:00:00.000000',500,420,30000,0), - (110165,110164,2603,'1960-01-01 00:00:00.000000',500,437,30000,0), - (110166,110165,2602,'1960-01-01 00:00:00.000000',125,810,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110167,110166,2601,'1960-01-01 00:00:00.000000',125,818,30000,0), - (110168,110167,2600,'1960-01-01 00:00:00.000000',125,835,30000,0), - (110169,110168,2599,'1960-01-01 00:00:00.000000',125,938,30000,0), - (110170,110169,2660,'1978-01-01 00:00:00.000000',0,1841,30000,0), - (110171,110170,2661,'1978-01-01 00:00:00.000000',0,1704,30000,0), - (110172,110172,3035,'1978-01-01 00:00:00.000000',0,5340,30000,0), - (110173,110171,3034,'1978-01-01 00:00:00.000000',0,5203,30000,0), - (110174,110173,3033,'1995-01-01 00:00:00.000000',0,5280,30000,0), - (110175,110174,3626,'1995-01-01 00:00:00.000000',0,1884,30000,0), - (110176,110175,3627,'1995-01-01 00:00:00.000000',0,1836,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110177,110176,3628,'1995-01-01 00:00:00.000000',0,1815,30000,0), - (110178,110177,3629,'1995-01-01 00:00:00.000000',0,1845,30000,0), - (110179,110178,3630,'1995-01-01 00:00:00.000000',0,1824,30000,0), - (110180,110179,3631,'1995-01-01 00:00:00.000000',0,1862,30000,0), - (110181,110180,3632,'1995-01-01 00:00:00.000000',0,1871,30000,0), - (110182,110181,3633,'1995-01-01 00:00:00.000000',0,1879,30000,0), - (110183,110182,3634,'1995-01-01 00:00:00.000000',0,1888,30000,0), - (110184,110183,3635,'1995-01-01 00:00:00.000000',0,1776,30000,0), - (110185,110184,3636,'1995-01-01 00:00:00.000000',0,1785,30000,0), - (110186,110185,3637,'1995-01-01 00:00:00.000000',0,1815,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110187,110186,3638,'1995-01-01 00:00:00.000000',0,1794,30000,0), - (110188,110187,3639,'1995-01-01 00:00:00.000000',0,1824,30000,0), - (110189,110188,3640,'1995-01-01 00:00:00.000000',0,1832,30000,0), - (110190,110189,3641,'1995-01-01 00:00:00.000000',0,1811,30000,0), - (110191,110190,3642,'1995-01-01 00:00:00.000000',0,1716,30000,0), - (110192,110191,3643,'1995-01-01 00:00:00.000000',0,1746,30000,0), - (110193,110192,3644,'1995-01-01 00:00:00.000000',0,1776,30000,0), - (110194,110193,3645,'1995-01-01 00:00:00.000000',0,1725,30000,0), - (110195,110194,3646,'1995-01-01 00:00:00.000000',0,1785,30000,0), - (110196,110195,3647,'1995-01-01 00:00:00.000000',0,1764,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (110197,110201,3765,'1965-01-01 00:00:00.000000',125,412,30000,0), - (110198,110200,3766,'1965-01-01 00:00:00.000000',125,403,30000,0), - (110199,110199,3767,'1965-01-01 00:00:00.000000',125,395,30000,0), - (110200,110198,3768,'1965-01-01 00:00:00.000000',60,438,30000,0), - (110201,110197,3769,'1965-01-01 00:00:00.000000',60,420,30000,0), - (110202,110196,3770,'1965-01-01 00:00:00.000000',250,386,30000,0), - (130001,130001,121,'1999-01-01 00:00:00.000000',500,1234,30000,0), - (130002,130002,122,'1999-01-01 00:00:00.000000',1000,1298,30000,0), - (130003,130003,123,'1999-01-01 00:00:00.000000',125,1744,30000,0), - (130004,130004,124,'1999-01-01 00:00:00.000000',500,1357,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130005,130005,125,'1999-01-01 00:00:00.000000',500,1282,30000,0), - (130006,130006,126,'1999-01-01 00:00:00.000000',250,1859,30000,0), - (130007,130007,127,'1999-01-01 00:00:00.000000',125,1490,30000,0), - (130008,130008,128,'1999-01-01 00:00:00.000000',125,1474,30000,0), - (130009,130009,129,'1999-01-01 00:00:00.000000',250,1681,30000,0), - (130010,130010,130,'1999-01-01 00:00:00.000000',125,1859,30000,0), - (130011,130011,131,'1999-01-01 00:00:00.000000',250,2360,30000,0), - (130012,130051,864,'1932-01-01 00:00:00.000000',1000,684,30000,0), - (130013,130013,132,'1999-01-01 00:00:00.000000',125,2012,30000,0), - (130014,130014,133,'1999-01-01 00:00:00.000000',125,1887,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130015,130015,134,'1999-01-01 00:00:00.000000',250,1570,30000,0), - (130016,130016,135,'1999-01-01 00:00:00.000000',250,1700,30000,0), - (130017,130017,136,'1999-01-01 00:00:00.000000',250,1999,30000,0), - (130018,130018,137,'1999-01-01 00:00:00.000000',250,1581,30000,0), - (130019,130019,138,'1999-01-01 00:00:00.000000',500,1342,30000,0), - (130020,130020,139,'1999-01-01 00:00:00.000000',250,1576,30000,0), - (130021,130021,227,'1957-01-01 00:00:00.000000',1000,1058,30000,0), - (130022,130022,247,'1957-01-01 00:00:00.000000',500,1355,30000,0), - (130023,130023,248,'1957-01-01 00:00:00.000000',500,1206,30000,0), - (130024,130024,249,'1957-01-01 00:00:00.000000',500,1576,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130025,130025,250,'1957-05-01 00:00:00.000000',125,1162,30000,0), - (130026,130026,873,'1957-01-01 00:00:00.000000',500,1191,30000,0), - (130027,130029,423,'1966-01-01 00:00:00.000000',500,2179,30000,0), - (130028,130028,422,'1963-01-01 00:00:00.000000',250,2211,30000,0), - (130029,130030,424,'1966-01-01 00:00:00.000000',250,2027,30000,0), - (130030,130031,425,'1999-01-01 00:00:00.000000',60,4490,30000,0), - (130031,130032,426,'1999-01-01 00:00:00.000000',0,2608,30000,0), - (130032,130033,427,'1963-01-01 00:00:00.000000',1000,1033,30000,0), - (130033,130034,428,'1969-01-01 00:00:00.000000',500,1186,30000,0), - (130034,130035,867,'1965-01-01 00:00:00.000000',500,1161,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130035,130036,866,'1957-01-01 00:00:00.000000',60,2906,30000,0), - (130036,130037,429,'1957-01-01 00:00:00.000000',60,3709,30000,0), - (130037,130038,430,'1957-01-01 00:00:00.000000',30,3072,30000,0), - (130038,130039,431,'1959-01-01 00:00:00.000000',60,3262,30000,0), - (130039,130040,868,'1964-01-01 00:00:00.000000',500,1397,30000,0), - (130040,130041,432,'1977-01-01 00:00:00.000000',250,1919,30000,0), - (130041,130042,433,'1979-01-01 00:00:00.000000',500,1739,30000,0), - (130042,130043,872,'1957-01-01 00:00:00.000000',1000,996,30000,0), - (130043,130044,435,'1964-01-01 00:00:00.000000',250,1589,30000,0), - (130044,130045,499,'1999-01-01 00:00:00.000000',250,2155,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130045,130046,500,'1999-01-01 00:00:00.000000',125,1281,30000,0), - (130046,130047,874,'1999-01-01 00:00:00.000000',500,3450,30000,0), - (130047,130048,865,'1999-01-01 00:00:00.000000',1000,1033,30000,0), - (130048,130049,1034,'1969-01-01 00:00:00.000000',125,1522,30000,0), - (130049,130012,1158,'1957-01-01 00:00:00.000000',1000,1263,30000,0), - (130050,130027,1159,'1963-01-01 00:00:00.000000',500,1925,30000,0), - (130051,130050,1746,'1995-01-01 00:00:00.000000',30,6341,30000,0), - (130052,130052,2801,'1972-01-01 00:00:00.000000',0,3382,30000,0), - (130053,130053,2802,'1972-01-01 00:00:00.000000',0,2960,30000,0), - (130054,130054,3762,'1965-01-01 00:00:00.000000',125,3163,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (130055,130055,3763,'1967-01-01 00:00:00.000000',125,1331,30000,0), - (130056,130056,3764,'1967-01-01 00:00:00.000000',125,2695,30000,0), - (130057,130057,3772,'1955-01-01 00:00:00.000000',1000,1497,30000,0), - (140001,140001,140,'1999-01-01 00:00:00.000000',250,725,30000,0), - (140002,140002,141,'1999-01-01 00:00:00.000000',500,774,30000,0), - (140003,140003,142,'1999-01-01 00:00:00.000000',1000,790,30000,0), - (140004,140004,143,'1999-01-01 00:00:00.000000',1000,846,30000,0), - (140005,140005,144,'1999-01-01 00:00:00.000000',500,865,30000,0), - (140006,140006,145,'1999-01-01 00:00:00.000000',500,892,30000,0), - (140007,140007,146,'1999-01-01 00:00:00.000000',250,911,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (140008,140008,147,'1999-01-01 00:00:00.000000',250,921,30000,0), - (140009,140009,148,'1999-01-01 00:00:00.000000',250,923,30000,0), - (140010,140010,149,'1999-01-01 00:00:00.000000',250,945,30000,0), - (140011,140011,150,'1999-01-01 00:00:00.000000',250,960,30000,0), - (140012,140012,151,'1999-01-01 00:00:00.000000',250,977,30000,0), - (140013,140013,152,'1999-01-01 00:00:00.000000',125,1008,30000,0), - (140014,140014,153,'1999-01-01 00:00:00.000000',60,1558,30000,0), - (140015,140015,154,'1999-01-01 00:00:00.000000',60,1642,30000,0), - (140016,140016,440,'1957-01-01 00:00:00.000000',1000,815,30000,0), - (140017,140017,869,'1957-01-01 00:00:00.000000',250,926,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (140018,140018,441,'1955-01-01 00:00:00.000000',500,887,30000,0), - (140019,140019,870,'1999-01-01 00:00:00.000000',1000,851,30000,0), - (140020,140020,871,'1999-01-01 00:00:00.000000',125,1010,30000,0), - (140021,140021,1160,'1957-01-01 00:00:00.000000',250,962,30000,0), - (140022,140022,2152,'1960-01-01 00:00:00.000000',1000,807,30000,0), - (140023,140023,2195,'1932-01-01 00:00:00.000000',125,454,30000,0), - (140024,140024,2198,'1949-01-01 00:00:00.000000',125,430,30000,0), - (140025,140025,2199,'1940-01-01 00:00:00.000000',125,360,30000,0), - (140026,140026,2774,'1965-01-01 00:00:00.000000',125,1187,30000,0), - (140027,140027,2775,'1965-01-01 00:00:00.000000',125,1256,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (140028,140028,2776,'1965-01-01 00:00:00.000000',125,1322,30000,0), - (140029,140029,2777,'1965-01-01 00:00:00.000000',125,1358,30000,0), - (140030,140030,2778,'1965-01-01 00:00:00.000000',125,1424,30000,0), - (140031,140031,2779,'1965-01-01 00:00:00.000000',60,1558,30000,0), - (140032,140032,2780,'1965-01-01 00:00:00.000000',1000,810,30000,0), - (140033,140033,2781,'1965-01-01 00:00:00.000000',1000,856,30000,0), - (140034,140034,2782,'1965-01-01 00:00:00.000000',500,899,30000,0), - (140035,140035,2783,'1965-01-01 00:00:00.000000',250,923,30000,0), - (140036,140036,2784,'1965-01-01 00:00:00.000000',250,967,30000,0), - (140037,140037,2785,'1965-01-01 00:00:00.000000',125,1056,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (140038,140038,2786,'1965-01-01 00:00:00.000000',250,725,30000,0), - (140039,140039,2787,'1965-01-01 00:00:00.000000',1000,810,30000,0), - (140040,140040,2788,'1965-01-01 00:00:00.000000',500,878,30000,0), - (140041,140041,2789,'1965-01-01 00:00:00.000000',250,923,30000,0), - (140042,140042,2790,'1965-01-01 00:00:00.000000',250,960,30000,0), - (140043,140048,2791,'1965-01-01 00:00:00.000000',125,1060,30000,0), - (140044,140043,2792,'1965-01-01 00:00:00.000000',125,1184,30000,0), - (140045,140044,2793,'1965-01-01 00:00:00.000000',125,1271,30000,0), - (140046,140045,2794,'1965-01-01 00:00:00.000000',125,1358,30000,0), - (140047,140049,2795,'1965-01-01 00:00:00.000000',30,1793,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (140048,140046,2796,'1965-01-01 00:00:00.000000',125,1424,30000,0), - (140049,140047,2797,'1965-01-01 00:00:00.000000',60,1558,30000,0), - (140050,140052,2798,'1970-01-01 00:00:00.000000',30,2061,30000,0), - (140051,140051,2799,'1970-01-01 00:00:00.000000',30,1881,30000,0), - (140052,140050,2800,'1970-01-01 00:00:00.000000',60,1730,30000,0), - (150001,150004,504,'1999-01-01 00:00:00.000000',0,730,30000,0), - (150002,150003,503,'1999-01-01 00:00:00.000000',1000,280,30000,0), - (150003,150001,501,'1999-01-01 00:00:00.000000',250,480,30000,0), - (150004,150002,502,'1999-01-01 00:00:00.000000',500,330,30000,0), - (160001,160001,1162,'1953-01-01 00:00:00.000000',1000,1116,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160002,160002,1429,'1999-01-01 00:00:00.000000',500,2198,30000,8), - (160003,160003,1430,'1999-01-01 00:00:00.000000',125,5777,30000,7), - (160004,160004,1455,'1963-01-01 00:00:00.000000',125,1787,30000,19), - (160005,160005,76,'1999-01-01 00:00:00.000000',1000,1087,30000,6), - (160006,160006,77,'1999-01-01 00:00:00.000000',1000,1140,30000,6), - (160007,160007,78,'1999-01-01 00:00:00.000000',500,1199,30000,6), - (160008,160008,80,'1999-01-01 00:00:00.000000',500,1215,30000,6), - (160009,160009,83,'1999-01-01 00:00:00.000000',500,1283,30000,6), - (160010,160010,1161,'1940-01-01 00:00:00.000000',250,1204,30000,20), - (160011,160011,86,'1999-01-01 00:00:00.000000',500,1458,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160012,160012,87,'1999-01-01 00:00:00.000000',500,1367,30000,6), - (160013,160013,90,'1999-01-01 00:00:00.000000',250,1425,30000,9), - (160014,160014,92,'1965-01-01 00:00:00.000000',250,2478,30000,5), - (160015,160015,93,'1970-01-01 00:00:00.000000',500,1416,30000,6), - (160016,160016,95,'1961-01-01 00:00:00.000000',250,1708,30000,19), - (160017,160017,96,'1970-01-01 00:00:00.000000',125,5754,30000,5), - (160018,160018,98,'1970-01-01 00:00:00.000000',0,6493,30000,5), - (160019,160020,1464,'1969-01-01 00:00:00.000000',500,1476,30000,4), - (160020,160021,1459,'1971-01-01 00:00:00.000000',250,2518,30000,16), - (160021,160022,79,'1932-01-01 00:00:00.000000',500,740,30000,10); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160022,160023,875,'1940-01-01 00:00:00.000000',500,782,30000,10), - (160023,160024,81,'1999-01-01 00:00:00.000000',1000,1057,30000,4), - (160024,160025,82,'1999-01-01 00:00:00.000000',1000,1107,30000,15), - (160025,160026,878,'1999-01-01 00:00:00.000000',1000,1257,30000,4), - (160026,160027,85,'1999-01-01 00:00:00.000000',1000,1167,30000,15), - (160027,160028,879,'1999-01-01 00:00:00.000000',500,1299,30000,4), - (160028,160029,876,'1999-01-01 00:00:00.000000',500,1233,30000,15), - (160029,160030,88,'1970-01-01 00:00:00.000000',500,2212,30000,16), - (160030,160031,89,'1999-01-01 00:00:00.000000',250,2438,30000,3), - (160031,160032,91,'1999-01-01 00:00:00.000000',250,2518,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160032,160033,877,'1999-01-01 00:00:00.000000',125,5340,30000,3), - (160033,160034,94,'1999-01-01 00:00:00.000000',125,2681,30000,3), - (160034,160035,880,'1968-01-01 00:00:00.000000',125,3074,30000,17), - (160035,160036,97,'1999-01-01 00:00:00.000000',500,2212,30000,3), - (160036,160037,34,'1968-01-01 00:00:00.000000',500,1468,30000,11), - (160037,160038,38,'1966-01-01 00:00:00.000000',250,2513,30000,12), - (160038,160039,42,'1968-01-01 00:00:00.000000',125,5756,30000,12), - (160039,160042,52,'1959-01-01 00:00:00.000000',500,1620,30000,13), - (160040,160043,54,'1967-01-01 00:00:00.000000',250,2505,30000,13), - (160041,160044,56,'1999-01-01 00:00:00.000000',125,2681,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160042,160045,58,'1999-01-01 00:00:00.000000',125,7226,30000,13), - (160043,160046,421,'1967-01-01 00:00:00.000000',0,7567,30000,14), - (160044,160047,442,'1968-01-01 00:00:00.000000',30,4121,30000,17), - (160046,160049,495,'1999-01-01 00:00:00.000000',0,4840,30000,6), - (160047,160050,498,'1955-01-01 00:00:00.000000',500,820,30000,10), - (160048,160060,1036,'1965-01-01 00:00:00.000000',1000,1261,32000,14), - (160049,160061,1037,'1965-01-01 00:00:00.000000',500,1442,30000,14), - (160050,160062,1038,'1965-01-01 00:00:00.000000',250,2438,30000,14), - (160054,160052,1039,'1999-01-01 00:00:00.000000',500,1354,30000,2), - (160055,160059,1040,'1999-01-01 00:00:00.000000',125,5545,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160056,160058,1041,'1963-01-01 00:00:00.000000',60,2674,30000,1), - (160057,160053,1042,'1999-01-01 00:00:00.000000',500,1430,30000,2), - (160069,160040,1176,'1960-01-01 00:00:00.000000',500,1483,30000,13), - (160070,160041,1177,'1960-01-01 00:00:00.000000',250,2644,30000,13), - (160072,160019,1530,'1969-01-01 00:00:00.000000',250,2518,30000,5), - (160073,160055,1655,'1959-01-01 00:00:00.000000',250,1600,30000,1), - (160074,160056,1659,'1971-01-01 00:00:00.000000',250,2544,32100,1), - (160075,160057,1670,'1959-01-01 00:00:00.000000',125,2593,30000,1), - (160076,160063,2451,'1960-01-01 00:00:00.000000',0,889,30000,6), - (160077,160064,2459,'1970-01-01 00:00:00.000000',250,1506,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160078,160065,2462,'1964-01-01 00:00:00.000000',0,7810,30000,18), - (160079,160051,2488,'1964-01-01 00:00:00.000000',250,1214,30000,2), - (160080,160054,2489,'1971-01-01 00:00:00.000000',125,1506,30000,2), - (160081,160066,2491,'1961-01-01 00:00:00.000000',60,6094,30000,3), - (160082,160067,2521,'1969-01-01 00:00:00.000000',0,7685,30000,17), - (160083,160068,2523,'1964-01-01 00:00:00.000000',30,2357,30000,4), - (160084,160069,2524,'1969-01-01 00:00:00.000000',30,2435,30000,4), - (160085,160070,2536,'1967-01-01 00:00:00.000000',125,2504,30000,7), - (160086,160071,2537,'1967-01-01 00:00:00.000000',125,1803,30000,7), - (160087,160048,444,'1966-01-01 00:00:00.000000',125,2682,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160088,160072,2539,'1969-01-01 00:00:00.000000',0,5721,30000,5), - (160089,160073,2550,'1957-01-01 00:00:00.000000',125,1272,30000,21), - (160090,160074,2551,'1959-01-01 00:00:00.000000',125,1424,30000,21), - (160091,160075,2552,'1964-01-01 00:00:00.000000',60,1530,30000,21), - (160092,160076,2553,'1964-01-01 00:00:00.000000',125,1293,30000,8), - (160093,160077,2554,'1966-01-01 00:00:00.000000',125,1431,30000,8), - (160094,160078,2555,'1956-01-01 00:00:00.000000',125,1326,30000,9), - (160095,160079,2556,'1964-01-01 00:00:00.000000',60,1598,30000,9), - (160096,160081,2617,'1969-01-01 00:00:00.000000',0,19673,30000,17), - (160097,160080,2618,'1969-01-01 00:00:00.000000',0,30739,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (160098,160082,2770,'1971-01-01 00:00:00.000000',125,2510,30000,14), - (180001,180001,102,'1955-01-01 00:00:00.000000',1000,137,30000,6), - (180002,180002,103,'1965-01-01 00:00:00.000000',1000,135,30000,5), - (180003,180017,881,'1971-01-01 00:00:00.000000',125,186,30000,6), - (180004,180019,1408,'1990-01-01 00:00:00.000000',60,435,30000,6), - (180005,180020,1409,'1990-01-01 00:00:00.000000',30,270,30000,6), - (180006,180021,1423,'1990-01-01 00:00:00.000000',30,1053,30000,6), - (180007,180018,1407,'1990-01-01 00:00:00.000000',125,226,30000,6), - (180008,180022,1431,'1990-01-01 00:00:00.000000',60,312,30000,6), - (180009,180023,1432,'1990-01-01 00:00:00.000000',60,316,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180010,180003,1874,'1967-01-01 00:00:00.000000',1000,184,30000,7), - (180011,180004,1875,'1961-01-01 00:00:00.000000',1000,186,30000,8), - (180012,180005,1876,'1950-01-01 00:00:00.000000',1000,136,30000,9), - (180013,180006,1877,'1965-01-01 00:00:00.000000',1000,177,30000,5), - (180014,180007,1878,'1970-01-01 00:00:00.000000',1000,180,30000,6), - (180015,180008,1879,'1958-01-01 00:00:00.000000',250,179,30000,1), - (180016,180009,1880,'1964-01-01 00:00:00.000000',500,180,30000,2), - (180017,180010,1881,'1958-01-01 00:00:00.000000',1000,136,30000,3), - (180018,180011,1882,'1964-01-01 00:00:00.000000',1000,128,30000,15), - (180019,180012,1883,'1932-01-01 00:00:00.000000',1000,119,30000,10); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180020,180013,1884,'1970-01-01 00:00:00.000000',500,178,30000,12), - (180021,180014,1885,'1968-01-01 00:00:00.000000',1000,135,30000,11), - (180022,180015,1886,'1966-01-01 00:00:00.000000',1000,165,30000,14), - (180023,180016,1887,'1955-01-01 00:00:00.000000',1000,135,30000,13), - (180024,180024,1888,'1968-01-01 00:00:00.000000',125,177,30000,11), - (180025,180025,1889,'1965-01-01 00:00:00.000000',1000,137,30000,12), - (180026,180026,1890,'1968-01-01 00:00:00.000000',1000,185,30000,12), - (180027,180027,1891,'1955-01-01 00:00:00.000000',250,177,30000,13), - (180028,180028,1892,'1959-01-01 00:00:00.000000',125,185,30000,13), - (180029,180029,1893,'1969-01-01 00:00:00.000000',125,215,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180030,180030,1894,'1970-01-01 00:00:00.000000',1000,183,30000,4), - (180031,180031,1895,'1970-01-01 00:00:00.000000',125,179,30000,3), - (180032,180032,1896,'1965-01-01 00:00:00.000000',30,215,30000,3), - (180033,180033,1897,'1968-01-01 00:00:00.000000',500,222,30000,3), - (180034,180034,1898,'1970-01-01 00:00:00.000000',60,220,30000,4), - (180035,180035,1899,'1965-01-01 00:00:00.000000',125,179,30000,3), - (180036,180036,1900,'1958-01-01 00:00:00.000000',1000,136,30000,1), - (180037,180037,1901,'1964-01-01 00:00:00.000000',30,212,30000,18), - (180038,180038,1902,'1964-01-01 00:00:00.000000',1000,135,30000,2), - (180039,180039,1903,'1987-01-01 00:00:00.000000',30,267,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180040,180040,1904,'1987-01-01 00:00:00.000000',30,1202,30000,5), - (180041,180041,1905,'1987-01-01 00:00:00.000000',30,265,30000,4), - (180042,180042,1906,'1987-01-01 00:00:00.000000',60,312,30000,4), - (180043,180043,1907,'1987-01-01 00:00:00.000000',30,267,30000,3), - (180044,180044,1908,'1987-01-01 00:00:00.000000',60,314,30000,3), - (180045,180045,1909,'1987-01-01 00:00:00.000000',30,267,30000,1), - (180046,180046,1910,'1987-01-01 00:00:00.000000',30,265,30000,2), - (180047,180047,1911,'1987-01-01 00:00:00.000000',60,314,30000,1), - (180048,180048,1912,'1987-01-01 00:00:00.000000',60,312,30000,2), - (180049,180049,2043,'1953-01-01 00:00:00.000000',1000,177,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180050,180050,2091,'1961-01-01 00:00:00.000000',125,162,30000,3), - (180051,180033,2095,'1968-01-01 00:00:00.000000',125,222,30000,3), - (180052,180051,2097,'1964-01-01 00:00:00.000000',125,226,30000,4), - (180053,180052,2461,'1966-01-01 00:00:00.000000',125,157,30000,14), - (180054,180036,2466,'1964-01-01 00:00:00.000000',0,136,30000,18), - (180055,180053,2477,'1940-01-01 00:00:00.000000',1000,140,30000,20), - (180056,180054,2501,'1970-01-01 00:00:00.000000',1000,183,30000,16), - (180057,180055,2502,'1971-01-01 00:00:00.000000',125,573,30000,16), - (180058,180056,2513,'1968-01-01 00:00:00.000000',1000,137,30000,17), - (180059,180057,2514,'1969-01-01 00:00:00.000000',125,212,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180060,180058,2515,'1970-01-01 00:00:00.000000',0,934,30000,17), - (180061,180059,2530,'1954-01-01 00:00:00.000000',125,166,30000,15), - (180062,180060,2545,'1958-01-01 00:00:00.000000',1000,179,30000,19), - (180063,180061,2645,'1955-01-21 00:00:00.000000',250,566,30000,21), - (180064,180062,2646,'1968-01-21 00:00:00.000000',250,469,30000,8), - (180065,180063,2647,'1968-01-21 00:00:00.000000',250,471,30000,7), - (180066,180064,2648,'1947-01-18 00:00:00.000000',250,275,30000,20), - (180067,180065,2649,'1955-02-14 00:00:00.000000',250,330,30000,9), - (180068,180066,2654,'1959-02-18 00:00:00.000000',250,471,30000,19), - (180069,180067,2655,'1965-03-21 00:00:00.000000',60,648,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180070,180068,2656,'1939-04-16 00:00:00.000000',250,255,30000,10), - (180071,180069,2657,'1968-05-16 00:00:00.000000',250,469,30000,11), - (180072,180070,2658,'1968-05-16 00:00:00.000000',250,565,30000,12), - (180073,180076,2849,'1957-01-01 00:00:00.000000',125,234,30000,15), - (180074,180075,2848,'1957-01-01 00:00:00.000000',125,518,30000,15), - (180075,180074,2847,'1957-01-01 00:00:00.000000',125,233,30000,15), - (180076,180071,2851,'1957-01-01 00:00:00.000000',250,199,30000,15), - (180077,180072,2852,'1957-01-01 00:00:00.000000',125,166,30000,15), - (180078,180073,2853,'1957-01-01 00:00:00.000000',60,230,30000,15), - (180079,180077,2845,'1957-01-01 00:00:00.000000',1000,171,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180080,180078,2846,'1957-01-01 00:00:00.000000',250,195,30000,15), - (180081,180079,2977,'1965-01-01 00:00:00.000000',250,469,30000,4), - (180082,180087,2985,'1965-01-01 00:00:00.000000',250,566,30000,21), - (180083,180088,2986,'1965-01-01 00:00:00.000000',60,597,30000,21), - (180084,180089,2987,'1965-01-01 00:00:00.000000',250,484,30000,21), - (180085,180084,2982,'1965-01-01 00:00:00.000000',250,597,30000,21), - (180086,180081,2979,'1965-01-01 00:00:00.000000',250,597,30000,4), - (180087,180082,2980,'1965-01-01 00:00:00.000000',125,329,30000,21), - (180088,180085,2983,'1965-01-01 00:00:00.000000',500,566,30000,21), - (180089,180086,2984,'1965-01-01 00:00:00.000000',250,566,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180090,180080,2978,'1965-01-01 00:00:00.000000',125,752,30000,4), - (180091,180083,2981,'1965-01-01 00:00:00.000000',125,888,30000,21), - (180092,180091,3067,'1966-01-01 00:00:00.000000',125,500,30000,2), - (180093,180093,3069,'1966-01-01 00:00:00.000000',60,717,30000,2), - (180094,180092,3068,'1966-01-01 00:00:00.000000',125,345,30000,2), - (180095,180090,3066,'1966-01-01 00:00:00.000000',250,216,30000,2), - (180096,180094,3104,'1966-01-01 00:00:00.000000',125,1580,30000,13), - (180097,180095,3105,'1966-01-01 00:00:00.000000',60,1851,30000,13), - (180098,180096,3106,'1966-01-01 00:00:00.000000',125,1506,30000,13), - (180099,180149,3362,'1967-01-01 00:00:00.000000',500,1157,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180100,180130,3346,'1967-01-01 00:00:00.000000',500,1157,30000,19), - (180101,180157,3370,'1967-01-01 00:00:00.000000',500,1157,30000,1), - (180102,180141,3354,'1967-01-01 00:00:00.000000',500,157,30000,14), - (180103,180165,3378,'1967-01-01 00:00:00.000000',500,1157,30000,3), - (180104,180117,3330,'1967-01-01 00:00:00.000000',125,1157,30000,18), - (180105,180125,3338,'1967-01-01 00:00:00.000000',500,1157,30000,9), - (180106,180173,3386,'1967-01-01 00:00:00.000000',500,1157,30000,5), - (180107,180109,3322,'1967-01-01 00:00:00.000000',500,1157,30000,17), - (180108,180101,3314,'1967-01-01 00:00:00.000000',500,1157,30000,16), - (180109,180172,3385,'1967-01-01 00:00:00.000000',500,1255,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180110,180148,3361,'1967-01-01 00:00:00.000000',500,1255,30000,12), - (180111,180108,3321,'1967-01-01 00:00:00.000000',500,1255,30000,17), - (180112,180100,3313,'1967-01-01 00:00:00.000000',500,1255,30000,16), - (180113,180156,3369,'1967-01-01 00:00:00.000000',500,1255,30000,1), - (180114,180129,3345,'1967-01-01 00:00:00.000000',500,1255,30000,19), - (180115,180140,3353,'1967-01-01 00:00:00.000000',500,255,30000,14), - (180116,180124,3337,'1967-01-01 00:00:00.000000',500,1255,30000,9), - (180117,180116,3329,'1967-01-01 00:00:00.000000',500,1255,30000,18), - (180118,180164,3377,'1967-01-01 00:00:00.000000',500,1255,30000,3), - (180119,180120,3333,'1967-01-01 00:00:00.000000',0,5137,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180120,180160,3373,'1967-01-01 00:00:00.000000',0,5137,30000,1), - (180121,180133,3349,'1967-01-01 00:00:00.000000',0,5137,30000,19), - (180122,180144,3357,'1967-01-01 00:00:00.000000',0,3877,30000,14), - (180123,180112,3325,'1967-01-01 00:00:00.000000',0,5137,30000,17), - (180124,180168,3381,'1967-01-01 00:00:00.000000',0,5137,30000,3), - (180125,180104,3317,'1967-01-01 00:00:00.000000',0,5818,30000,16), - (180126,180128,3341,'1967-01-01 00:00:00.000000',0,5137,30000,9), - (180127,180176,3389,'1967-01-01 00:00:00.000000',0,5137,30000,5), - (180128,180152,3365,'1967-01-01 00:00:00.000000',0,5137,30000,12), - (180129,180158,3371,'1967-01-01 00:00:00.000000',125,1580,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180130,180174,3387,'1967-01-01 00:00:00.000000',125,1580,30000,5), - (180131,180102,3315,'1967-01-01 00:00:00.000000',125,1580,30000,16), - (180132,180142,3355,'1967-01-01 00:00:00.000000',125,580,30000,14), - (180133,180110,3323,'1967-01-01 00:00:00.000000',125,1580,30000,17), - (180134,180131,3347,'1967-01-01 00:00:00.000000',125,1580,30000,19), - (180135,180150,3363,'1967-01-01 00:00:00.000000',125,1580,30000,12), - (180136,180118,3331,'1967-01-01 00:00:00.000000',30,1580,30000,18), - (180137,180166,3379,'1967-01-01 00:00:00.000000',125,1580,30000,3), - (180138,180126,3339,'1967-01-01 00:00:00.000000',125,1580,30000,9), - (180139,180151,3364,'1967-01-01 00:00:00.000000',125,1577,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180140,180175,3388,'1967-01-01 00:00:00.000000',125,1577,30000,5), - (180141,180143,3356,'1967-01-01 00:00:00.000000',125,317,30000,14), - (180142,180159,3372,'1967-01-01 00:00:00.000000',125,1577,30000,1), - (180143,180132,3348,'1967-01-01 00:00:00.000000',125,1577,30000,19), - (180144,180127,3340,'1967-01-01 00:00:00.000000',125,1577,30000,9), - (180145,180111,3324,'1967-01-01 00:00:00.000000',125,1577,30000,17), - (180146,180119,3332,'1967-01-01 00:00:00.000000',30,1577,30000,18), - (180147,180167,3380,'1967-01-01 00:00:00.000000',125,1577,30000,3), - (180148,180103,3316,'1967-01-01 00:00:00.000000',125,1577,30000,16), - (180149,180154,3367,'1967-01-01 00:00:00.000000',250,1384,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180150,180170,3383,'1967-01-01 00:00:00.000000',250,1384,30000,5), - (180151,180162,3375,'1967-01-01 00:00:00.000000',250,1384,30000,3), - (180152,180122,3335,'1967-01-01 00:00:00.000000',250,1384,30000,9), - (180153,180098,3311,'1967-01-01 00:00:00.000000',250,1384,30000,16), - (180154,180146,3359,'1967-01-01 00:00:00.000000',250,1384,30000,12), - (180155,180106,3319,'1967-01-01 00:00:00.000000',250,1384,30000,17), - (180156,180114,3327,'1967-01-01 00:00:00.000000',30,1384,30000,18), - (180157,180138,3351,'1967-01-01 00:00:00.000000',250,384,30000,14), - (180158,180135,3343,'1967-01-01 00:00:00.000000',250,1384,30000,19), - (180159,180097,3310,'1967-01-01 00:00:00.000000',500,1389,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180160,180105,3318,'1967-01-01 00:00:00.000000',500,1157,30000,17), - (180161,180113,3326,'1967-01-01 00:00:00.000000',350,1389,30000,18), - (180162,180121,3334,'1967-01-01 00:00:00.000000',500,1389,30000,9), - (180163,180153,3366,'1967-01-01 00:00:00.000000',500,1389,30000,1), - (180164,180134,3342,'1967-01-01 00:00:00.000000',500,1389,30000,19), - (180165,180145,3358,'1967-01-01 00:00:00.000000',500,1389,30000,12), - (180166,180161,3374,'1967-01-01 00:00:00.000000',500,1389,30000,3), - (180167,180137,3350,'1967-01-01 00:00:00.000000',500,157,30000,14), - (180168,180169,3382,'1967-01-01 00:00:00.000000',500,1389,30000,5), - (180169,180155,3368,'1967-01-01 00:00:00.000000',125,1587,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (180170,180099,3312,'1967-01-01 00:00:00.000000',150,1587,30000,16), - (180171,180171,3384,'1967-01-01 00:00:00.000000',150,1587,30000,5), - (180172,180163,3376,'1967-01-01 00:00:00.000000',150,1587,30000,3), - (180173,180107,3320,'1967-01-01 00:00:00.000000',150,1587,30000,17), - (180174,180139,3352,'1967-01-01 00:00:00.000000',150,387,30000,14), - (180175,180115,3328,'1967-01-01 00:00:00.000000',30,1587,30000,18), - (180176,180136,3344,'1967-01-01 00:00:00.000000',125,1704,30000,19), - (180177,180123,3336,'1967-01-01 00:00:00.000000',125,1587,30000,9), - (180178,180147,3360,'1967-01-01 00:00:00.000000',125,1587,30000,12), - (190001,190001,104,'1968-01-01 00:00:00.000000',125,185,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190002,190002,105,'1965-01-01 00:00:00.000000',250,208,30000,3), - (190003,190003,106,'1961-01-01 00:00:00.000000',500,180,30000,3), - (190004,190004,107,'1969-01-01 00:00:00.000000',125,163,30000,13), - (190005,190005,2650,'1967-01-01 00:00:00.000000',125,116,30000,9), - (190006,190006,417,'1961-01-01 00:00:00.000000',1000,96,30000,13), - (190007,190021,1384,'1990-01-01 00:00:00.000000',500,185,30000,4), - (190008,190022,1389,'1990-01-01 00:00:00.000000',125,242,30000,4), - (190009,190023,1734,'1990-01-01 00:00:00.000000',250,214,30000,4), - (190010,190024,1735,'1990-01-01 00:00:00.000000',250,205,30000,4), - (190011,190025,1395,'1990-01-01 00:00:00.000000',0,1511,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190012,190007,1820,'1967-01-01 00:00:00.000000',1000,163,30000,7), - (190013,190008,1821,'1953-01-01 00:00:00.000000',1000,133,30000,21), - (190014,190009,1822,'1959-01-01 00:00:00.000000',1000,163,30000,9), - (190015,190010,1823,'1958-01-01 00:00:00.000000',1000,163,30000,5), - (190016,190011,1824,'1955-01-01 00:00:00.000000',1000,133,30000,6), - (190017,190012,1825,'1958-01-01 00:00:00.000000',1000,163,30000,1), - (190018,190013,1826,'1964-01-01 00:00:00.000000',1000,133,30000,2), - (190019,190014,1827,'1958-01-01 00:00:00.000000',1000,163,30000,3), - (190020,190015,1828,'1964-01-01 00:00:00.000000',1000,133,30000,4), - (190021,190016,1829,'1932-01-01 00:00:00.000000',1000,81,30000,10); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190022,190017,1830,'1970-01-01 00:00:00.000000',1000,163,30000,12), - (190023,190018,1831,'1968-01-01 00:00:00.000000',1000,133,30000,11), - (190024,190019,1832,'1968-01-01 00:00:00.000000',1000,133,30000,14), - (190025,190020,1833,'1955-01-01 00:00:00.000000',1000,163,30000,13), - (190026,190026,1834,'1965-01-01 00:00:00.000000',0,227,30000,3), - (190027,190027,1835,'1968-01-01 00:00:00.000000',500,180,30000,3), - (190028,190028,1836,'1971-01-01 00:00:00.000000',500,180,30000,17), - (190029,190029,1837,'1969-01-01 00:00:00.000000',0,203,30000,17), - (190030,190030,1838,'1969-01-01 00:00:00.000000',125,193,30000,17), - (190031,190031,1839,'1964-01-01 00:00:00.000000',500,187,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190032,190032,1840,'1987-01-01 00:00:00.000000',500,185,30000,6), - (190033,190033,1841,'1987-01-01 00:00:00.000000',500,208,30000,5), - (190034,190039,1842,'1987-01-01 00:00:00.000000',250,234,30000,6), - (190035,190038,1843,'1987-01-01 00:00:00.000000',250,234,30000,5), - (190036,190037,1844,'1987-01-01 00:00:00.000000',250,234,30000,7), - (190037,190036,1845,'1987-01-01 00:00:00.000000',250,234,30000,12), - (190038,190035,1846,'1987-01-01 00:00:00.000000',250,234,30000,13), - (190039,190034,1847,'1987-01-01 00:00:00.000000',250,234,30000,3), - (190040,190045,1848,'1987-01-01 00:00:00.000000',250,222,30000,13), - (190041,190044,1849,'1987-01-01 00:00:00.000000',250,222,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190042,190043,1850,'1987-01-01 00:00:00.000000',250,222,30000,3), - (190043,190042,1851,'1987-01-01 00:00:00.000000',250,222,30000,6), - (190044,190041,1852,'1987-01-01 00:00:00.000000',250,222,30000,5), - (190045,190040,1853,'1987-01-01 00:00:00.000000',250,222,30000,7), - (190046,190046,1854,'1987-01-01 00:00:00.000000',250,222,30000,6), - (190047,190047,1855,'1999-01-01 00:00:00.000000',0,1511,30000,7), - (190048,190048,1856,'1999-01-01 00:00:00.000000',0,1511,30000,5), - (190049,190049,1857,'1999-01-01 00:00:00.000000',0,1402,30000,6), - (190050,190065,1858,'1999-01-01 00:00:00.000000',500,201,30000,13), - (190051,190064,1859,'1999-01-01 00:00:00.000000',500,201,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190052,190063,1860,'1999-01-01 00:00:00.000000',500,185,30000,4), - (190053,190062,1861,'1999-01-01 00:00:00.000000',500,201,30000,3), - (190054,190061,1862,'1999-01-01 00:00:00.000000',500,201,30000,5), - (190055,190060,1863,'1999-01-01 00:00:00.000000',500,185,30000,6), - (190056,190059,1864,'1999-01-01 00:00:00.000000',500,201,30000,5), - (190057,190058,1865,'1999-01-01 00:00:00.000000',500,201,30000,6), - (190058,190057,1866,'1999-01-01 00:00:00.000000',250,252,30000,5), - (190059,190056,1867,'1999-01-01 00:00:00.000000',250,252,30000,6), - (190060,190055,1868,'1999-01-01 00:00:00.000000',250,252,30000,4), - (190061,190054,1869,'1999-01-01 00:00:00.000000',500,201,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190062,190053,1870,'1999-01-01 00:00:00.000000',500,185,30000,6), - (190063,190052,1871,'1999-01-01 00:00:00.000000',500,185,30000,4), - (190064,190051,1872,'1999-01-01 00:00:00.000000',125,216,30000,5), - (190065,190050,1873,'1999-01-01 00:00:00.000000',125,195,30000,6), - (190066,190066,2054,'1970-01-01 00:00:00.000000',1000,133,30000,6), - (190067,190067,2058,'1961-01-01 00:00:00.000000',500,146,30000,19), - (190068,190068,2460,'1966-01-01 00:00:00.000000',1000,127,30000,14), - (190069,190069,2464,'1964-01-01 00:00:00.000000',30,189,30000,18), - (190070,190012,2465,'1964-01-01 00:00:00.000000',0,163,30000,18), - (190071,190070,187,'1940-01-01 00:00:00.000000',1000,127,30000,20); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190072,190071,2481,'1967-01-01 00:00:00.000000',1000,96,30000,8), - (190073,190072,2499,'1970-01-01 00:00:00.000000',1000,133,30000,16), - (190074,190073,2500,'1971-01-01 00:00:00.000000',125,160,30000,16), - (190075,190074,2512,'1968-01-01 00:00:00.000000',1000,170,30000,17), - (190076,190075,2522,'1964-01-01 00:00:00.000000',125,153,30000,4), - (190077,190076,2532,'1954-01-01 00:00:00.000000',1000,125,30000,15), - (190078,190077,2533,'1954-01-01 00:00:00.000000',125,124,30000,15), - (190079,190078,2653,'1964-01-01 00:00:00.000000',125,146,30000,21), - (190080,190079,2652,'1964-01-01 00:00:00.000000',250,133,30000,8), - (190081,190080,2651,'1955-01-01 00:00:00.000000',250,133,30000,20); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190082,190081,2644,'1965-01-01 00:00:00.000000',500,133,30000,19), - (190083,190082,2643,'1990-01-01 00:00:00.000000',500,208,30000,19), - (190084,190083,2642,'1990-01-01 00:00:00.000000',30,252,30000,2), - (190085,190084,2641,'1990-01-01 00:00:00.000000',30,261,30000,18), - (190086,190085,2640,'1990-01-01 00:00:00.000000',30,231,30000,18), - (190087,190086,2639,'0190-01-01 00:00:00.000000',0,1511,30000,18), - (190088,190087,2638,'1990-01-01 00:00:00.000000',250,261,30000,18), - (190089,190088,2637,'1990-01-01 00:00:00.000000',250,133,30000,10), - (190090,190089,2636,'1965-01-01 00:00:00.000000',250,180,30000,11), - (190091,190098,2862,'1957-01-01 00:00:00.000000',250,147,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190092,190095,2859,'1957-01-01 00:00:00.000000',250,176,30000,15), - (190093,190097,2861,'1957-01-01 00:00:00.000000',125,124,30000,15), - (190094,190096,2860,'1957-01-01 00:00:00.000000',125,195,30000,15), - (190095,190094,2858,'1957-01-01 00:00:00.000000',125,177,30000,15), - (190096,190093,2857,'1957-01-01 00:00:00.000000',250,164,30000,15), - (190097,190090,2854,'1957-01-01 00:00:00.000000',250,160,30000,15), - (190098,190091,2855,'1957-01-01 00:00:00.000000',125,177,30000,15), - (190099,190092,2856,'1957-01-01 00:00:00.000000',250,177,30000,15), - (190100,190099,2966,'1965-01-01 00:00:00.000000',500,133,30000,21), - (190101,190101,2968,'1965-01-01 00:00:00.000000',250,151,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190102,190102,2969,'1965-01-01 00:00:00.000000',60,202,30000,21), - (190103,190103,2970,'1965-01-01 00:00:00.000000',125,162,30000,21), - (190104,190104,2971,'1965-01-01 00:00:00.000000',125,222,30000,21), - (190105,190109,2976,'1965-01-01 00:00:00.000000',250,178,30000,4), - (190106,190100,2967,'1965-01-01 00:00:00.000000',125,139,30000,21), - (190107,190106,2973,'1965-01-01 00:00:00.000000',250,166,30000,21), - (190108,190105,2972,'1965-01-01 00:00:00.000000',250,162,30000,21), - (190109,190107,2974,'1965-01-01 00:00:00.000000',60,214,30000,21), - (190110,190108,2975,'1965-01-01 00:00:00.000000',60,252,30000,4), - (190111,190112,3062,'1966-01-01 00:00:00.000000',125,193,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190112,190114,3065,'1966-01-01 00:00:00.000000',125,169,30000,2), - (190113,190113,3063,'1966-01-01 00:00:00.000000',125,252,30000,2), - (190114,190110,3060,'1966-01-01 00:00:00.000000',500,139,30000,2), - (190115,190111,3061,'1966-01-01 00:00:00.000000',250,162,30000,2), - (190116,190115,3064,'1966-01-01 00:00:00.000000',250,151,30000,2), - (190117,190116,3101,'1966-01-01 00:00:00.000000',250,173,30000,13), - (190118,190117,3102,'1966-01-01 00:00:00.000000',125,175,30000,13), - (190119,190118,3103,'1966-01-01 00:00:00.000000',125,252,30000,13), - (190120,190172,3184,'1967-01-01 00:00:00.000000',500,185,30000,3), - (190121,190159,3171,'1967-01-01 00:00:00.000000',500,185,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190122,190167,3179,'1967-01-01 00:00:00.000000',500,185,30000,1), - (190123,190135,3147,'1967-01-01 00:00:00.000000',500,185,30000,9), - (190124,190146,3155,'1967-01-01 00:00:00.000000',500,185,30000,19), - (190125,190131,3143,'1967-01-01 00:00:00.000000',500,193,30000,18), - (190126,190154,3166,'1967-01-01 00:00:00.000000',500,185,30000,14), - (190127,190166,3178,'1967-01-01 00:00:00.000000',500,145,30000,1), - (190128,190158,3170,'1967-01-01 00:00:00.000000',500,145,30000,12), - (190129,190145,3154,'1967-01-01 00:00:00.000000',500,145,30000,19), - (190130,190171,3183,'1967-01-01 00:00:00.000000',500,145,30000,3), - (190131,190153,3165,'1967-01-01 00:00:00.000000',500,145,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190132,190157,3169,'1967-01-01 00:00:00.000000',0,1366,30000,14), - (190133,190170,3182,'1967-01-01 00:00:00.000000',0,1366,30000,1), - (190134,190149,3158,'1967-01-01 00:00:00.000000',0,1366,30000,19), - (190135,190175,3187,'1967-01-01 00:00:00.000000',0,1366,30000,3), - (190136,190162,3174,'1967-01-01 00:00:00.000000',0,1366,30000,12), - (190137,190130,3142,'1967-01-01 00:00:00.000000',0,1366,30000,17), - (190138,190138,3150,'1967-01-01 00:00:00.000000',0,1366,30000,9), - (190139,190134,3146,'1967-01-01 00:00:00.000000',0,211,30000,18), - (190140,190124,3136,'1967-01-01 00:00:00.000000',0,1366,30000,16), - (190141,190173,3185,'1967-01-01 00:00:00.000000',125,175,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190142,190168,3180,'1967-01-01 00:00:00.000000',125,175,30000,1), - (190143,190128,3140,'1967-01-01 00:00:00.000000',125,175,30000,17), - (190144,190132,3144,'1967-01-01 00:00:00.000000',60,189,30000,18), - (190145,190147,3156,'1967-01-01 00:00:00.000000',125,175,30000,19), - (190146,190122,3134,'1967-01-01 00:00:00.000000',125,175,30000,16), - (190147,190136,3148,'1967-01-01 00:00:00.000000',125,175,30000,9), - (190148,190155,3167,'1967-01-01 00:00:00.000000',125,175,30000,14), - (190149,190160,3172,'1967-01-01 00:00:00.000000',125,175,30000,12), - (190150,190174,3186,'1967-01-01 00:00:00.000000',125,231,30000,3), - (190151,190148,3157,'1967-01-01 00:00:00.000000',125,231,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190152,190156,3168,'1967-01-01 00:00:00.000000',125,231,30000,14), - (190153,190169,3181,'1967-01-01 00:00:00.000000',125,231,30000,1), - (190154,190161,3173,'1967-01-01 00:00:00.000000',125,231,30000,12), - (190155,190137,3149,'1967-01-01 00:00:00.000000',125,231,30000,9), - (190156,190123,3135,'1967-01-01 00:00:00.000000',125,231,30000,16), - (190157,190133,3145,'1967-01-01 00:00:00.000000',60,281,30000,18), - (190158,190129,3141,'1967-01-01 00:00:00.000000',125,231,30000,17), - (190159,190143,3160,'1967-01-01 00:00:00.000000',500,157,30000,19), - (190160,190164,3176,'1967-01-01 00:00:00.000000',500,157,30000,1), - (190161,190140,3152,'1967-01-01 00:00:00.000000',500,157,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190162,190151,3163,'1967-01-01 00:00:00.000000',500,157,30000,14), - (190163,190120,3132,'1967-01-01 00:00:00.000000',500,157,30000,16), - (190164,190126,3138,'1967-01-01 00:00:00.000000',500,157,30000,17), - (190165,190139,3151,'1967-01-01 00:00:00.000000',500,166,30000,9), - (190166,190119,3131,'1967-01-01 00:00:00.000000',500,166,30000,16), - (190167,190125,3137,'1967-01-01 00:00:00.000000',500,166,30000,17), - (190168,190142,3159,'1967-01-01 00:00:00.000000',500,166,30000,19), - (190169,190163,3175,'1967-01-01 00:00:00.000000',500,166,30000,1), - (190170,190150,3162,'1967-01-01 00:00:00.000000',500,166,30000,14), - (190171,190141,3153,'1967-01-01 00:00:00.000000',250,231,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (190172,190165,3177,'1967-01-01 00:00:00.000000',250,231,30000,1), - (190173,190144,3161,'1967-01-01 00:00:00.000000',250,231,30000,19), - (190174,190152,3164,'1967-01-01 00:00:00.000000',250,231,30000,14), - (190175,190127,3139,'1967-01-01 00:00:00.000000',250,231,30000,17), - (190176,190121,3133,'1967-01-01 00:00:00.000000',250,231,30000,16), - (200001,200001,1623,'1932-01-01 00:00:00.000000',1000,54,30000,3), - (200002,200006,490,'1999-01-01 00:00:00.000000',1000,54,30000,6), - (200003,200003,491,'1999-01-01 00:00:00.000000',1000,54,30000,5), - (200004,200002,518,'1955-01-01 00:00:00.000000',1000,54,30000,4), - (200005,200008,882,'1958-01-01 00:00:00.000000',125,126,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200006,200009,1460,'1966-01-01 00:00:00.000000',1000,54,30000,2), - (200007,200010,1461,'1969-01-01 00:00:00.000000',125,297,30000,14), - (200008,200011,1516,'1963-01-01 00:00:00.000000',0,1915,30000,19), - (200009,200012,1582,'1969-01-01 00:00:00.000000',250,71,30000,13), - (200010,200005,1615,'1965-01-01 00:00:00.000000',0,231,30000,3), - (200011,200013,1473,'1999-01-01 00:00:00.000000',125,297,30000,4), - (200012,200014,1629,'1969-01-01 00:00:00.000000',125,71,30000,17), - (200013,200007,1678,'1999-01-01 00:00:00.000000',250,175,30000,15), - (200014,200015,1683,'1968-01-01 00:00:00.000000',1000,54,30000,1), - (200015,200004,1471,'1999-01-01 00:00:00.000000',125,297,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200016,200016,1763,'1999-01-01 00:00:00.000000',1000,54,30000,7), - (200017,200017,1764,'1999-01-01 00:00:00.000000',1000,54,30000,8), - (200018,200018,1765,'1999-01-01 00:00:00.000000',1000,54,30000,9), - (200019,200019,1766,'1999-01-01 00:00:00.000000',1000,54,30000,10), - (200020,200020,1767,'1999-01-01 00:00:00.000000',1000,54,30000,12), - (200021,200021,1768,'1968-01-01 00:00:00.000000',1000,54,30000,11), - (200022,200022,1769,'1999-01-01 00:00:00.000000',1000,54,30000,14), - (200023,200023,1770,'1999-01-01 00:00:00.000000',1000,54,30000,13), - (200024,200024,1771,'1999-01-01 00:00:00.000000',1000,64,30000,6), - (200025,200025,1772,'1999-01-01 00:00:00.000000',250,297,30000,7); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200026,200026,1773,'1999-01-01 00:00:00.000000',125,414,30000,7), - (200027,200027,1774,'1999-01-01 00:00:00.000000',500,64,30000,13), - (200028,200028,1775,'1999-01-01 00:00:00.000000',1000,64,30000,3), - (200029,200029,1776,'1999-01-01 00:00:00.000000',1000,64,30000,1), - (200030,200030,1777,'1999-01-01 00:00:00.000000',125,350,30000,19), - (200031,200031,1778,'1999-01-01 00:00:00.000000',125,193,30000,4), - (200032,200032,1779,'1999-01-01 00:00:00.000000',125,193,30000,6), - (200033,200033,1780,'1999-01-01 00:00:00.000000',125,193,30000,5), - (200034,200034,1781,'1999-01-01 00:00:00.000000',125,193,30000,7), - (200035,200035,1782,'1999-01-01 00:00:00.000000',125,193,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200036,200036,1783,'1999-01-01 00:00:00.000000',125,297,30000,6), - (200037,200037,1784,'1999-01-01 00:00:00.000000',125,297,30000,5), - (200038,200038,1785,'1999-01-01 00:00:00.000000',125,193,30000,1), - (200039,200039,1786,'1999-01-01 00:00:00.000000',125,297,30000,1), - (200040,200040,1787,'1999-01-01 00:00:00.000000',125,297,30000,7), - (200041,200041,1788,'1999-01-01 00:00:00.000000',125,297,30000,12), - (200042,200042,1963,'1957-01-01 00:00:00.000000',125,217,30000,15), - (200043,200043,2024,'1966-01-01 00:00:00.000000',250,278,30000,3), - (200044,200044,2025,'1966-01-01 00:00:00.000000',250,125,30000,3), - (200045,200045,2026,'1959-01-01 00:00:00.000000',125,142,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200046,200046,2040,'1965-01-01 00:00:00.000000',1000,64,30000,5), - (200047,200047,2052,'1967-01-01 00:00:00.000000',250,153,30000,6), - (200048,200048,2056,'1958-01-01 00:00:00.000000',250,126,30000,19), - (200049,200049,2057,'1959-01-01 00:00:00.000000',125,414,30000,19), - (200050,200050,2059,'1963-01-01 00:00:00.000000',250,153,30000,19), - (200051,200051,2063,'1970-01-01 00:00:00.000000',250,193,30000,5), - (200052,200052,2066,'1966-01-01 00:00:00.000000',250,193,30000,12), - (200053,200053,2075,'1959-01-01 00:00:00.000000',125,71,30000,18), - (200054,200054,2104,'1969-01-01 00:00:00.000000',250,64,30000,4), - (200055,200015,2463,'1964-01-01 00:00:00.000000',0,54,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200056,200055,2475,'1940-01-01 00:00:00.000000',1000,40,30000,20), - (200057,200056,2483,'1953-01-01 00:00:00.000000',250,114,30000,21), - (200058,200057,2484,'1953-01-01 00:00:00.000000',1000,54,30000,21), - (200059,200058,2485,'1955-01-01 00:00:00.000000',125,183,30000,21), - (200060,200059,2486,'1956-01-01 00:00:00.000000',125,333,30000,21), - (200061,200060,2490,'1964-01-01 00:00:00.000000',250,64,30000,2), - (200062,200061,2497,'1970-01-01 00:00:00.000000',1000,54,30000,16), - (200063,200062,2498,'1971-01-01 00:00:00.000000',250,64,30000,16), - (200064,200063,2510,'1968-01-01 00:00:00.000000',1000,54,30000,17), - (200065,200064,2511,'1970-01-01 00:00:00.000000',250,64,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200066,200065,2531,'1954-01-01 00:00:00.000000',1000,50,30000,15), - (200067,200066,2627,'1990-01-01 00:00:00.000000',500,183,30000,8), - (200068,200068,2626,'1990-01-01 00:00:00.000000',250,183,30000,20), - (200069,200067,2625,'1990-01-01 00:00:00.000000',500,64,30000,20), - (200070,200069,2624,'1990-01-01 00:00:00.000000',500,183,30000,9), - (200071,200070,2623,'1990-01-01 00:00:00.000000',60,249,30000,18), - (200072,200071,2622,'1990-01-01 00:00:00.000000',125,167,30000,18), - (200073,200072,2620,'1990-01-01 00:00:00.000000',500,183,30000,10), - (200074,200073,2621,'1990-01-01 00:00:00.000000',250,333,30000,10), - (200075,200074,2619,'1990-01-01 00:00:00.000000',500,183,30000,11); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200076,200075,2659,'1998-01-01 00:00:00.000000',0,489,30000,6), - (200077,200076,2835,'1957-01-01 00:00:00.000000',125,133,30000,15), - (200078,200079,2838,'1957-01-01 00:00:00.000000',125,137,30000,15), - (200079,200080,2839,'1957-01-01 00:00:00.000000',125,146,30000,15), - (200080,200077,2836,'1957-01-01 00:00:00.000000',125,151,30000,15), - (200081,200078,2837,'1957-01-01 00:00:00.000000',125,156,30000,15), - (200082,200081,2840,'1957-01-01 00:00:00.000000',125,228,30000,15), - (200083,200083,2842,'1957-01-01 00:00:00.000000',60,243,30000,15), - (200084,200084,2843,'1957-01-01 00:00:00.000000',60,268,30000,15), - (200085,200082,2841,'1957-01-01 00:00:00.000000',60,286,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200086,200085,2844,'1957-01-01 00:00:00.000000',60,295,30000,15), - (200087,200086,2904,'1964-01-01 00:00:00.000000',500,185,30000,6), - (200088,200087,2905,'1964-01-01 00:00:00.000000',250,197,30000,6), - (200089,200094,2902,'1964-01-01 00:00:00.000000',250,244,30000,6), - (200090,200093,2903,'1964-01-01 00:00:00.000000',125,260,30000,6), - (200091,200088,2906,'1964-01-01 00:00:00.000000',250,210,30000,6), - (200092,200089,2907,'1964-01-01 00:00:00.000000',125,278,30000,6), - (200093,200090,2908,'1964-01-01 00:00:00.000000',125,327,30000,6), - (200094,200091,2909,'1964-01-01 00:00:00.000000',60,349,30000,6), - (200095,200092,2910,'1964-01-01 00:00:00.000000',60,385,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200096,200095,2900,'1964-01-01 00:00:00.000000',250,181,30000,6), - (200097,200096,2901,'1964-01-01 00:00:00.000000',250,205,30000,6), - (200098,200112,2955,'1965-01-01 00:00:00.000000',250,204,30000,21), - (200099,200101,2946,'1965-01-01 00:00:00.000000',500,244,30000,4), - (200100,200097,2941,'1965-01-01 00:00:00.000000',250,260,30000,4), - (200101,200110,2954,'1965-01-01 00:00:00.000000',125,260,30000,21), - (200102,200102,2947,'1965-01-01 00:00:00.000000',125,269,30000,4), - (200103,200111,2956,'1965-01-01 00:00:00.000000',125,297,30000,21), - (200104,200103,2948,'1965-01-01 00:00:00.000000',60,328,30000,4), - (200105,200098,2942,'1965-01-01 00:00:00.000000',60,350,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200106,200121,2965,'1965-01-01 00:00:00.000000',250,54,30000,21), - (200107,200120,2964,'1965-01-01 00:00:00.000000',500,71,30000,21), - (200108,200117,2961,'1965-01-01 00:00:00.000000',125,139,30000,21), - (200109,200107,2953,'1965-01-01 00:00:00.000000',250,153,30000,4), - (200110,200116,2960,'1965-01-01 00:00:00.000000',250,114,30000,21), - (200111,200108,2952,'1965-01-01 00:00:00.000000',250,114,30000,4), - (200112,200118,2962,'1965-01-01 00:00:00.000000',250,114,30000,21), - (200113,200119,2963,'1965-01-01 00:00:00.000000',125,139,30000,21), - (200114,200106,2951,'1965-01-01 00:00:00.000000',250,114,30000,4), - (200115,200115,2959,'1965-01-01 00:00:00.000000',500,181,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200116,200100,2944,'1965-01-01 00:00:00.000000',250,181,30000,4), - (200117,200113,2957,'1965-01-01 00:00:00.000000',250,193,30000,21), - (200118,200104,2949,'1965-01-01 00:00:00.000000',250,161,30000,4), - (200119,200114,2958,'1965-01-01 00:00:00.000000',125,166,30000,21), - (200120,200109,2945,'1965-01-01 00:00:00.000000',125,212,30000,4), - (200121,200099,2943,'1965-01-01 00:00:00.000000',125,226,30000,4), - (200122,200105,2950,'1965-01-01 00:00:00.000000',60,195,30000,4), - (200123,200132,3059,'1966-01-01 00:00:00.000000',250,64,30000,2), - (200124,200122,3050,'1966-01-01 00:00:00.000000',250,126,30000,2), - (200125,200130,3049,'1966-01-01 00:00:00.000000',500,156,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200126,200131,3048,'1966-01-01 00:00:00.000000',125,278,30000,2), - (200127,200133,3055,'1966-01-01 00:00:00.000000',500,277,30000,2), - (200128,200134,3056,'1966-01-01 00:00:00.000000',125,385,30000,2), - (200129,200135,3057,'1966-01-01 00:00:00.000000',60,455,30000,2), - (200130,200136,3058,'1966-01-01 00:00:00.000000',0,587,30000,2), - (200131,200124,3052,'1966-01-01 00:00:00.000000',500,114,30000,2), - (200132,200126,3054,'1966-01-01 00:00:00.000000',250,114,30000,2), - (200133,200123,3051,'1966-01-01 00:00:00.000000',250,114,30000,2), - (200134,200125,3053,'1966-01-01 00:00:00.000000',125,126,30000,2), - (200135,200127,3045,'1966-01-01 00:00:00.000000',250,161,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200136,200128,3046,'1966-01-01 00:00:00.000000',125,183,30000,2), - (200137,200129,3047,'1966-01-01 00:00:00.000000',60,236,30000,2), - (200138,200147,3096,'1966-01-01 00:00:00.000000',500,252,30000,13), - (200139,200148,3097,'1966-01-01 00:00:00.000000',125,297,30000,13), - (200140,200149,3098,'1966-01-01 00:00:00.000000',125,350,30000,13), - (200141,200150,3099,'1966-01-01 00:00:00.000000',60,414,30000,13), - (200142,200151,3100,'1966-01-01 00:00:00.000000',0,489,30000,13), - (200143,200137,3090,'1966-01-01 00:00:00.000000',500,114,30000,13), - (200144,200140,3086,'1966-01-01 00:00:00.000000',500,114,30000,13), - (200145,200138,3089,'1966-01-01 00:00:00.000000',250,114,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200146,200141,3087,'1966-01-01 00:00:00.000000',125,114,30000,13), - (200147,200139,3088,'1966-01-01 00:00:00.000000',60,139,30000,13), - (200148,200142,3091,'1966-01-01 00:00:00.000000',500,151,30000,13), - (200149,200145,3092,'1966-01-01 00:00:00.000000',500,172,30000,13), - (200150,200143,3093,'1966-01-01 00:00:00.000000',250,195,30000,13), - (200151,200144,3094,'1966-01-01 00:00:00.000000',125,275,30000,13), - (200152,200146,3095,'1966-01-01 00:00:00.000000',60,314,30000,13), - (200153,200161,3127,'1966-01-01 00:00:00.000000',500,252,30000,5), - (200154,200162,3128,'1966-01-01 00:00:00.000000',250,385,30000,5), - (200155,200163,3129,'1966-01-01 00:00:00.000000',125,455,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200156,200164,3130,'1966-01-01 00:00:00.000000',0,587,30000,5), - (200157,200152,3118,'1966-01-01 00:00:00.000000',500,139,30000,5), - (200158,200153,3119,'1966-01-01 00:00:00.000000',250,139,30000,5), - (200159,200154,3120,'1966-01-01 00:00:00.000000',250,139,30000,5), - (200160,200155,3121,'1966-01-01 00:00:00.000000',125,153,30000,5), - (200161,200156,3122,'1966-01-01 00:00:00.000000',125,153,30000,5), - (200162,200157,3123,'1966-01-01 00:00:00.000000',500,205,30000,5), - (200163,200158,3124,'1966-01-01 00:00:00.000000',250,226,30000,5), - (200164,200159,3125,'1966-01-01 00:00:00.000000',150,293,30000,5), - (200165,200160,3126,'1966-01-01 00:00:00.000000',60,376,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200166,200175,3486,'1967-01-01 00:00:00.000000',500,252,30000,3), - (200167,200176,3488,'1967-01-01 00:00:00.000000',125,350,30000,3), - (200168,200177,3489,'1967-01-01 00:00:00.000000',125,455,30000,3), - (200169,200177,3490,'1967-01-01 00:00:00.000000',1,455,30000,3), - (200170,200178,3490,'1967-01-01 00:00:00.000000',0,538,30000,3), - (200171,200167,3478,'1967-01-01 00:00:00.000000',500,114,30000,3), - (200172,200165,3476,'1967-01-01 00:00:00.000000',250,139,30000,3), - (200173,200168,3479,'1967-01-01 00:00:00.000000',250,114,30000,3), - (200174,200169,3480,'1967-01-01 00:00:00.000000',125,126,30000,3), - (200175,200166,3477,'1967-01-01 00:00:00.000000',250,139,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200176,200170,3481,'1967-01-01 00:00:00.000000',500,181,30000,3), - (200177,200171,3482,'1967-01-01 00:00:00.000000',500,193,30000,3), - (200178,200172,3483,'1967-01-01 00:00:00.000000',250,226,30000,3), - (200179,200173,3484,'1967-01-01 00:00:00.000000',125,293,30000,3), - (200180,200174,3485,'1967-01-01 00:00:00.000000',125,345,30000,3), - (200181,200183,3500,'1967-01-01 00:00:00.000000',250,252,30000,1), - (200182,200184,3501,'1967-01-01 00:00:00.000000',125,385,30000,1), - (200183,200185,3502,'1967-01-01 00:00:00.000000',125,455,30000,1), - (200184,200178,3503,'1967-01-01 00:00:00.000000',0,538,30000,1), - (200185,200189,3493,'1967-01-01 00:00:00.000000',500,114,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200186,200187,3491,'1967-01-01 00:00:00.000000',250,139,30000,1), - (200187,200190,3494,'1967-01-01 00:00:00.000000',250,114,30000,1), - (200188,200188,3492,'1967-01-01 00:00:00.000000',125,153,30000,1), - (200189,200191,3495,'1967-01-01 00:00:00.000000',125,126,30000,1), - (200190,200179,3496,'1967-01-01 00:00:00.000000',500,181,30000,1), - (200191,200180,3497,'1967-01-01 00:00:00.000000',250,226,30000,1), - (200192,200181,3498,'1967-01-01 00:00:00.000000',125,266,30000,1), - (200193,200182,3499,'1967-01-01 00:00:00.000000',125,345,30000,1), - (200194,200201,3513,'1967-01-01 00:00:00.000000',500,252,30000,12), - (200195,200202,3514,'1967-01-01 00:00:00.000000',125,350,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200196,200203,3515,'1967-01-01 00:00:00.000000',125,455,30000,12), - (200197,200204,3516,'1967-01-01 00:00:00.000000',0,538,30000,12), - (200198,200194,3506,'1967-01-01 00:00:00.000000',500,114,30000,12), - (200199,200192,3504,'1967-01-01 00:00:00.000000',500,153,30000,12), - (200200,200195,3507,'1967-01-01 00:00:00.000000',250,114,30000,12), - (200201,200193,3505,'1967-01-01 00:00:00.000000',125,153,30000,12), - (200202,200196,3508,'1967-01-01 00:00:00.000000',125,126,30000,12), - (200203,200197,3509,'1967-01-01 00:00:00.000000',500,181,30000,12), - (200204,200198,3510,'1967-01-01 00:00:00.000000',250,226,30000,12), - (200205,200199,3511,'1967-01-01 00:00:00.000000',125,266,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200206,200200,3512,'1967-01-01 00:00:00.000000',60,345,30000,12), - (200207,200215,3527,'1967-01-01 00:00:00.000000',500,252,30000,14), - (200208,200216,3528,'1967-01-01 00:00:00.000000',250,297,30000,14), - (200209,200217,3529,'1967-01-01 00:00:00.000000',125,350,30000,14), - (200210,200218,3530,'1967-01-01 00:00:00.000000',125,455,30000,14), - (200211,200219,3531,'1967-01-01 00:00:00.000000',0,538,30000,14), - (200212,200207,3519,'1967-01-01 00:00:00.000000',500,114,30000,14), - (200213,200205,3517,'1967-01-01 00:00:00.000000',500,153,30000,14), - (200214,200208,3520,'1967-01-01 00:00:00.000000',250,114,30000,14), - (200215,200206,3518,'1967-01-01 00:00:00.000000',125,153,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200216,200209,3521,'1967-01-01 00:00:00.000000',125,126,30000,14), - (200217,200210,3522,'1967-01-01 00:00:00.000000',500,181,30000,14), - (200218,200211,3523,'1967-01-01 00:00:00.000000',500,193,30000,14), - (200219,200212,3524,'1967-01-01 00:00:00.000000',250,226,30000,14), - (200220,200213,3525,'1967-01-01 00:00:00.000000',125,266,30000,14), - (200221,200214,3526,'1967-01-01 00:00:00.000000',125,345,30000,14), - (200222,200228,3540,'1967-01-01 00:00:00.000000',500,252,30000,19), - (200223,200229,3541,'1967-01-01 00:00:00.000000',125,297,30000,19), - (200224,200230,3542,'1967-01-01 00:00:00.000000',0,538,30000,19), - (200225,200221,3533,'1967-01-01 00:00:00.000000',500,153,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200226,200220,3532,'1967-01-01 00:00:00.000000',250,114,30000,19), - (200227,200141,3534,'1967-01-01 00:00:00.000000',250,114,30000,19), - (200228,200223,3535,'1967-01-01 00:00:00.000000',500,181,30000,19), - (200229,200224,3536,'1967-01-01 00:00:00.000000',500,193,30000,19), - (200230,200225,3537,'1967-01-01 00:00:00.000000',250,226,30000,19), - (200231,200226,3538,'1967-01-01 00:00:00.000000',125,266,30000,19), - (200232,200227,3539,'1967-01-01 00:00:00.000000',60,345,30000,19), - (200233,200236,3548,'1967-01-01 00:00:00.000000',500,252,30000,9), - (200234,200237,3549,'1967-01-01 00:00:00.000000',250,297,30000,9), - (200235,200238,3550,'1967-01-01 00:00:00.000000',125,350,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200236,200239,3551,'1967-01-01 00:00:00.000000',125,455,30000,9), - (200237,200240,3552,'1967-01-01 00:00:00.000000',0,538,30000,9), - (200238,200231,3543,'1967-01-01 00:00:00.000000',500,114,30000,9), - (200239,200234,3547,'1967-01-01 00:00:00.000000',500,153,30000,9), - (200240,200232,3544,'1967-01-01 00:00:00.000000',250,114,30000,9), - (200241,200235,3546,'1967-01-01 00:00:00.000000',250,153,30000,9), - (200242,200233,3545,'1967-01-01 00:00:00.000000',125,114,30000,9), - (200243,200241,3553,'1967-01-01 00:00:00.000000',500,181,30000,9), - (200244,200242,3554,'1967-01-01 00:00:00.000000',500,193,30000,9), - (200245,200243,3555,'1967-01-01 00:00:00.000000',250,226,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200246,200244,3556,'1967-01-01 00:00:00.000000',125,293,30000,9), - (200247,200245,3557,'1967-01-01 00:00:00.000000',125,345,30000,9), - (200248,200251,3563,'1967-01-01 00:00:00.000000',500,252,30000,18), - (200249,200252,3564,'1967-01-01 00:00:00.000000',250,297,30000,18), - (200250,200253,3565,'1967-01-01 00:00:00.000000',150,385,30000,18), - (200251,200254,3566,'1967-01-01 00:00:00.000000',125,455,30000,18), - (200252,200255,3567,'1967-01-01 00:00:00.000000',0,538,30000,18), - (200253,200246,3558,'1967-01-01 00:00:00.000000',500,114,30000,18), - (200254,200249,3561,'1967-01-01 00:00:00.000000',500,153,30000,18), - (200255,200250,3562,'1967-01-01 00:00:00.000000',250,153,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200256,200247,3559,'1967-01-01 00:00:00.000000',250,114,30000,18), - (200257,200248,3560,'1967-01-01 00:00:00.000000',125,126,30000,18), - (200258,200256,3568,'1967-01-01 00:00:00.000000',500,181,30000,18), - (200259,200257,3569,'1967-01-01 00:00:00.000000',500,193,30000,18), - (200260,200258,3570,'1967-01-01 00:00:00.000000',250,226,30000,18), - (200261,200259,3571,'1967-01-01 00:00:00.000000',125,293,30000,18), - (200262,200260,3572,'1967-01-01 00:00:00.000000',125,345,30000,18), - (200263,200266,3578,'1967-01-01 00:00:00.000000',500,252,30000,17), - (200264,200267,3579,'1967-01-01 00:00:00.000000',250,297,30000,17), - (200265,200268,3580,'1967-01-01 00:00:00.000000',150,385,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200266,200269,3581,'1967-01-01 00:00:00.000000',125,455,30000,17), - (200267,200270,3582,'1967-01-01 00:00:00.000000',0,538,30000,17), - (200268,200261,3573,'1967-01-01 00:00:00.000000',500,114,30000,17), - (200269,200264,3576,'1967-01-01 00:00:00.000000',500,153,30000,17), - (200270,200262,3574,'1967-01-01 00:00:00.000000',250,114,30000,17), - (200271,200265,3577,'1967-01-01 00:00:00.000000',125,153,30000,17), - (200272,200263,3575,'1967-01-01 00:00:00.000000',125,126,30000,17), - (200273,200271,3583,'1967-01-01 00:00:00.000000',500,181,30000,17), - (200274,200272,3584,'1967-01-01 00:00:00.000000',500,193,30000,17), - (200275,200273,3585,'1967-01-01 00:00:00.000000',250,226,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200276,200274,3586,'1967-01-01 00:00:00.000000',125,293,30000,17), - (200277,200275,3587,'1967-01-01 00:00:00.000000',125,345,30000,17), - (200278,200281,3593,'1967-01-01 00:00:00.000000',500,252,30000,16), - (200279,200282,3594,'1967-01-01 00:00:00.000000',250,297,30000,16), - (200280,200268,3595,'1967-01-01 00:00:00.000000',125,385,30000,16), - (200281,200284,3596,'1967-01-01 00:00:00.000000',125,455,30000,16), - (200282,200285,3597,'1967-01-01 00:00:00.000000',0,538,30000,16), - (200283,200276,3588,'1967-01-01 00:00:00.000000',500,114,30000,16), - (200284,200279,3591,'1967-01-01 00:00:00.000000',500,153,30000,16), - (200285,200277,3589,'1967-01-01 00:00:00.000000',250,114,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (200286,200280,3592,'1967-01-01 00:00:00.000000',125,153,30000,16), - (200287,200278,3590,'1967-01-01 00:00:00.000000',125,126,30000,16), - (200288,200286,3598,'1967-01-01 00:00:00.000000',500,181,30000,16), - (200289,200287,3599,'1967-01-01 00:00:00.000000',500,193,30000,16), - (200290,200288,3600,'1967-01-01 00:00:00.000000',250,226,30000,16), - (200291,200289,3601,'1967-01-01 00:00:00.000000',125,293,30000,16), - (200292,200290,3602,'1967-01-01 00:00:00.000000',125,345,30000,16), - (230001,230001,193,'1954-01-01 00:00:00.000000',1000,242,30000,0), - (230002,230002,413,'1940-01-01 00:00:00.000000',500,130,30000,0), - (230003,230003,414,'1966-01-01 00:00:00.000000',250,552,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (230004,230004,415,'1958-01-01 00:00:00.000000',0,1062,30000,0), - (230005,230005,416,'1971-01-01 00:00:00.000000',0,1049,30000,0), - (230006,230006,2686,'1995-01-01 00:00:00.000000',125,651,30000,0), - (230007,230027,3728,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230008,230012,3714,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230009,230023,3724,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230010,230037,3739,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230011,230017,3719,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230012,230018,3720,'1970-01-01 00:00:00.000000',150,1054,30000,0), - (230013,230026,3727,'1970-01-01 00:00:00.000000',750,242,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (230014,230016,3718,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230015,230036,3738,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230016,230011,3713,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230017,230022,3723,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230018,230030,3732,'1970-01-01 00:00:00.000000',1000,169,30000,0), - (230019,230021,3722,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230020,230019,3731,'1970-01-01 00:00:00.000000',1000,169,30000,0), - (230021,230029,3730,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230022,230028,3729,'1970-01-01 00:00:00.000000',1000,242,30000,0), - (230023,230025,3726,'1970-01-01 00:00:00.000000',250,552,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (230024,230035,3737,'1970-01-01 00:00:00.000000',100,1054,30000,0), - (230025,230034,3736,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230026,230014,3716,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230027,230008,3706,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230028,230015,3717,'1970-01-01 00:00:00.000000',250,1054,30000,0), - (230029,230033,3735,'1970-01-01 00:00:00.000000',1000,242,30000,0), - (230030,230013,3715,'1970-01-01 00:00:00.000000',1000,242,30000,0), - (230031,230007,3705,'1970-01-01 00:00:00.000000',1000,242,30000,0), - (230032,230024,3725,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230033,230020,3721,'1970-01-01 00:00:00.000000',1000,242,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (230034,230010,3712,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230035,230009,3711,'1970-01-01 00:00:00.000000',750,242,30000,0), - (230036,230032,3734,'1970-01-01 00:00:00.000000',500,552,30000,0), - (230037,230031,3733,'1970-01-01 00:00:00.000000',750,242,30000,0), - (240001,240001,194,'1949-01-01 00:00:00.000000',1000,174,30000,0), - (240002,240002,410,'1969-01-01 00:00:00.000000',60,1224,30000,0), - (240003,240003,411,'1960-01-01 00:00:00.000000',500,124,30000,0), - (240004,240004,412,'1960-01-01 00:00:00.000000',60,624,30000,0), - (240005,240005,453,'1960-01-01 00:00:00.000000',250,673,30000,0), - (240006,240006,454,'1966-01-01 00:00:00.000000',125,772,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (240007,240008,1467,'1995-01-01 00:00:00.000000',0,1471,30000,0), - (240008,240007,1466,'1995-01-01 00:00:00.000000',60,821,30000,0), - (240009,240011,2694,'1995-01-01 00:00:00.000000',30,1471,30000,0), - (240010,240010,2695,'1995-01-01 00:00:00.000000',60,821,30000,0), - (240011,240009,2696,'1995-01-01 00:00:00.000000',60,968,30000,0), - (240012,240027,3695,'1970-01-01 00:00:00.000000',500,1018,30000,0), - (240013,240033,3701,'1970-01-01 00:00:00.000000',500,1018,30000,0), - (240014,240015,3683,'1970-01-01 00:00:00.000000',500,1018,30000,0), - (240015,240021,3689,'1970-01-01 00:00:00.000000',500,1018,30000,0), - (240016,240023,3691,'1970-01-01 00:00:00.000000',150,722,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (240017,240023,3697,'1970-01-01 00:00:00.000000',150,722,30000,0), - (240018,240017,3685,'1970-01-01 00:00:00.000000',150,722,30000,0), - (240019,240025,3693,'1970-01-01 00:00:00.000000',500,1116,30000,0), - (240020,240019,3687,'1970-01-01 00:00:00.000000',500,1116,30000,0), - (240021,240013,3681,'1970-01-01 00:00:00.000000',500,1116,30000,0), - (240022,240031,3699,'1970-01-01 00:00:00.000000',500,1116,30000,0), - (240023,240014,3682,'1970-01-01 00:00:00.000000',500,321,30000,0), - (240024,240032,3700,'1970-01-01 00:00:00.000000',500,321,30000,0), - (240025,240026,3694,'1970-01-01 00:00:00.000000',500,321,30000,0), - (240026,240020,3688,'1970-01-01 00:00:00.000000',500,321,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (240027,240016,3684,'1970-01-01 00:00:00.000000',250,177,30000,0), - (240028,240022,3690,'1970-01-01 00:00:00.000000',250,177,30000,0), - (240029,240028,3696,'1970-01-01 00:00:00.000000',250,177,30000,0), - (240030,240024,3692,'1970-01-01 00:00:00.000000',1000,419,30000,0), - (240031,240030,3698,'1970-01-01 00:00:00.000000',1000,419,30000,0), - (240032,240012,3680,'1970-01-01 00:00:00.000000',1000,419,30000,0), - (240033,240018,3686,'1970-01-01 00:00:00.000000',1000,419,30000,0), - (250001,250001,1444,'1950-01-01 00:00:00.000000',1000,174,30000,0), - (250002,250002,165,'1940-01-01 00:00:00.000000',500,174,30000,0), - (250003,250003,1043,'1940-01-01 00:00:00.000000',1000,174,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (250004,250004,451,'1970-01-01 00:00:00.000000',30,474,30000,0), - (250005,250005,467,'1969-01-01 00:00:00.000000',60,977,30000,0), - (250006,250006,1739,'1958-01-01 00:00:00.000000',125,474,30000,0), - (250007,250007,468,'1958-01-01 00:00:00.000000',60,974,30000,0), - (250008,250008,469,'1965-01-01 00:00:00.000000',60,480,30000,0), - (250009,250030,3759,'1970-01-01 00:00:00.000000',250,474,30000,0), - (250010,250029,3758,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250011,250011,3743,'1970-01-01 00:00:00.000000',250,474,30000,0), - (250012,250014,3746,'1970-01-01 00:00:00.000000',250,474,30000,0), - (250013,250028,3761,'1970-01-01 00:00:00.000000',250,474,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (250014,250020,3750,'1970-01-01 00:00:00.000000',250,474,30000,0), - (250015,250027,3760,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250016,250019,3749,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250017,250015,3742,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250018,250013,3745,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250019,250026,3757,'1970-01-01 00:00:00.000000',500,174,30000,0), - (250020,250022,3753,'1970-01-01 00:00:00.000000',1000,174,30000,0), - (250021,250016,3752,'1970-01-01 00:00:00.000000',1000,174,30000,0), - (250022,250021,3751,'1970-01-01 00:00:00.000000',750,179,30000,0), - (250023,250018,3748,'1970-01-01 00:00:00.000000',250,474,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (250024,250024,3755,'1970-01-01 00:00:00.000000',100,1367,30000,0), - (250025,250010,3741,'1970-01-01 00:00:00.000000',500,670,30000,0), - (250026,250009,3740,'1970-01-01 00:00:00.000000',1000,174,30000,0), - (250027,250012,3744,'1970-01-01 00:00:00.000000',1000,174,30000,0), - (250028,250017,3747,'1970-01-01 00:00:00.000000',500,179,30000,0), - (250029,250025,3756,'1970-01-01 00:00:00.000000',500,174,30000,0), - (250030,250023,3754,'1970-01-01 00:00:00.000000',750,179,30000,0), - (280001,280001,108,'1968-01-01 00:00:00.000000',1000,119,30000,3), - (280002,280002,109,'1965-01-01 00:00:00.000000',1000,119,30000,5), - (280003,280003,110,'1958-01-01 00:00:00.000000',1000,179,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280004,280004,438,'1970-01-01 00:00:00.000000',125,500,30000,17), - (280005,280006,437,'1964-01-01 00:00:00.000000',60,845,30000,19), - (280006,280005,436,'1964-01-01 00:00:00.000000',125,447,30000,5), - (280007,280007,488,'1999-01-01 00:00:00.000000',30,3431,30000,6), - (280008,280008,1288,'1968-01-01 00:00:00.000000',125,456,30000,3), - (280009,280010,1671,'1962-01-01 00:00:00.000000',60,845,30000,1), - (280010,280011,1684,'1970-01-01 00:00:00.000000',125,516,30000,14), - (280011,280012,1685,'1996-01-01 00:00:00.000000',30,2037,30000,5), - (280012,280009,1295,'1965-01-01 00:00:00.000000',30,1811,30000,3), - (280013,280013,1935,'1967-01-01 00:00:00.000000',1000,119,30000,7); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280014,280014,1936,'1961-01-01 00:00:00.000000',1000,119,30000,8), - (280015,280015,1937,'1949-01-01 00:00:00.000000',500,403,30000,9), - (280016,280016,1938,'1955-01-01 00:00:00.000000',1000,119,30000,6), - (280017,280017,1939,'1958-01-01 00:00:00.000000',1000,119,30000,1), - (280018,280018,1940,'1964-01-01 00:00:00.000000',1000,179,30000,4), - (280019,280019,1941,'1932-01-01 00:00:00.000000',125,179,30000,10), - (280020,280020,1942,'1965-01-01 00:00:00.000000',1000,119,30000,12), - (280021,280021,1943,'1968-01-01 00:00:00.000000',1000,179,30000,11), - (280022,280022,1944,'1959-01-01 00:00:00.000000',1000,179,30000,14), - (280023,280023,1945,'1955-01-01 00:00:00.000000',1000,149,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280024,280024,1946,'1957-01-01 00:00:00.000000',125,179,30000,6), - (280025,280025,1947,'1968-01-01 00:00:00.000000',125,456,30000,7), - (280026,280026,1948,'1969-01-01 00:00:00.000000',60,1510,30000,7), - (280027,280027,1949,'1970-01-01 00:00:00.000000',250,132,30000,12), - (280028,280028,1950,'1967-01-01 00:00:00.000000',125,486,30000,13), - (280029,280029,1951,'1959-01-01 00:00:00.000000',125,486,30000,13), - (280030,280030,1952,'1957-01-01 00:00:00.000000',125,107,30000,15), - (280031,280031,1953,'1968-01-01 00:00:00.000000',125,456,30000,3), - (280032,280032,1954,'1969-01-01 00:00:00.000000',30,1509,30000,17), - (280033,280033,1955,'1962-01-01 00:00:00.000000',60,1510,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280034,280034,1956,'1967-01-01 00:00:00.000000',500,132,30000,1), - (280035,280035,1957,'1964-01-01 00:00:00.000000',60,638,30000,1), - (280036,280036,1958,'1964-01-01 00:00:00.000000',125,456,30000,1), - (280037,280037,1959,'1970-01-01 00:00:00.000000',125,213,30000,2), - (280038,280038,2053,'1970-01-01 00:00:00.000000',125,516,30000,6), - (280039,280039,2073,'1959-01-01 00:00:00.000000',125,486,30000,13), - (280040,280008,2090,'1961-01-01 00:00:00.000000',125,456,30000,3), - (280041,280040,2105,'1969-01-01 00:00:00.000000',125,516,30000,4), - (280042,280041,2470,'1964-01-01 00:00:00.000000',30,500,30000,18), - (280043,280042,2471,'1964-01-01 00:00:00.000000',0,119,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280044,280043,2479,'1940-01-01 00:00:00.000000',125,74,30000,20), - (280045,280044,2487,'1953-01-01 00:00:00.000000',125,119,30000,21), - (280046,280045,2505,'1970-01-01 00:00:00.000000',1000,149,30000,16), - (280047,280046,2519,'1968-01-01 00:00:00.000000',1000,119,30000,17), - (280048,280047,2520,'1970-01-01 00:00:00.000000',30,456,30000,17), - (280049,280048,2525,'1964-01-01 00:00:00.000000',125,492,30000,4), - (280050,280049,2535,'1954-01-01 00:00:00.000000',1000,107,30000,15), - (280051,280050,2548,'1958-01-01 00:00:00.000000',1000,119,30000,19), - (280052,280051,2557,'1959-01-01 00:00:00.000000',125,456,30000,19), - (280053,280052,2558,'1970-01-01 00:00:00.000000',125,456,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280054,280053,2579,'1955-02-15 00:00:00.000000',60,486,30000,21), - (280055,280054,2580,'1947-01-17 00:00:00.000000',60,411,30000,20), - (280056,280055,2581,'1969-02-22 00:00:00.000000',500,617,30000,8), - (280057,280056,2582,'1969-02-22 00:00:00.000000',30,1931,30000,8), - (280058,280057,2583,'1959-03-21 00:00:00.000000',250,575,30000,9), - (280059,280058,2584,'1940-02-16 00:00:00.000000',250,516,30000,10), - (280060,280059,2585,'1969-04-11 00:00:00.000000',250,516,30000,11), - (280061,280061,2668,'1995-01-01 00:00:00.000000',30,2052,30000,19), - (280062,280062,2669,'1995-01-01 00:00:00.000000',30,2082,30000,17), - (280063,280060,2670,'1995-01-01 00:00:00.000000',30,2052,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280064,280063,2757,'1970-06-16 00:00:00.000000',30,1931,30000,14), - (280065,280064,2758,'1962-06-16 00:00:00.000000',30,1931,30000,21), - (280066,280065,2759,'1962-06-16 00:00:00.000000',30,1886,30000,20), - (280067,280066,2760,'1962-06-16 00:00:00.000000',30,1886,30000,9), - (280068,280067,2761,'1962-06-16 00:00:00.000000',30,1931,30000,6), - (280069,280068,2762,'1967-06-16 00:00:00.000000',30,1931,30000,2), - (280070,280069,2763,'1962-06-16 00:00:00.000000',30,1931,30000,10), - (280071,280070,2764,'1965-06-16 00:00:00.000000',30,1931,30000,4), - (280072,280071,2765,'1962-06-16 00:00:00.000000',30,1738,30000,15), - (280073,280072,2766,'1971-06-16 00:00:00.000000',30,1931,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280074,280073,2767,'1970-06-16 00:00:00.000000',30,1931,30000,11), - (280075,280074,2768,'1969-06-16 00:00:00.000000',30,1886,30000,12), - (280076,280075,2769,'1967-06-16 00:00:00.000000',30,1886,30000,18), - (280077,280076,2818,'1957-01-01 00:00:00.000000',500,410,30000,15), - (280078,280082,2824,'1957-01-01 00:00:00.000000',125,439,30000,15), - (280079,280083,2825,'1957-01-01 00:00:00.000000',125,828,30000,15), - (280080,280077,2819,'1957-01-01 00:00:00.000000',500,403,30000,15), - (280081,280078,2820,'1957-01-01 00:00:00.000000',125,774,30000,15), - (280082,280079,2821,'1957-01-01 00:00:00.000000',60,1399,30000,15), - (280083,280080,2822,'1957-01-01 00:00:00.000000',60,1538,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280084,280081,2823,'1957-01-01 00:00:00.000000',30,2253,30000,15), - (280085,280084,2826,'1957-01-01 00:00:00.000000',30,2299,30000,15), - (280086,280090,2898,'1964-01-01 00:00:00.000000',30,2926,30000,6), - (280087,280089,2897,'1964-01-01 00:00:00.000000',500,141,30000,6), - (280088,280088,2896,'1964-01-01 00:00:00.000000',125,738,30000,6), - (280089,280087,2893,'1964-01-01 00:00:00.000000',30,2434,30000,6), - (280090,280086,2894,'1964-01-01 00:00:00.000000',30,2514,30000,6), - (280091,280091,2899,'1964-01-01 00:00:00.000000',500,238,30000,6), - (280092,280085,2895,'1964-01-01 00:00:00.000000',30,4342,30000,6), - (280093,280092,3026,'1964-01-01 00:00:00.000000',500,964,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280094,280096,3030,'1964-01-01 00:00:00.000000',250,755,30000,21), - (280095,280095,3031,'1964-01-01 00:00:00.000000',250,527,30000,21), - (280096,280097,3029,'1964-01-01 00:00:00.000000',60,3272,30000,21), - (280097,280094,3032,'1964-01-01 00:00:00.000000',250,725,30000,4), - (280098,280098,3028,'1964-01-01 00:00:00.000000',125,2979,30000,21), - (280099,280093,3027,'1964-01-01 00:00:00.000000',60,6361,30000,4), - (280100,280099,3073,'1966-01-01 00:00:00.000000',500,141,30000,2), - (280101,280100,3078,'1966-01-01 00:00:00.000000',250,948,30000,2), - (280102,280104,3076,'1966-01-01 00:00:00.000000',125,3054,30000,2), - (280103,280102,3074,'1966-01-01 00:00:00.000000',250,274,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280104,280103,3075,'1966-01-01 00:00:00.000000',250,785,30000,2), - (280105,280105,3077,'1966-01-01 00:00:00.000000',0,4326,30000,2), - (280106,280101,3079,'1966-01-01 00:00:00.000000',0,4924,30000,2), - (280107,280106,3109,'1966-01-01 00:00:00.000000',500,205,30000,13), - (280108,280107,3110,'1966-01-01 00:00:00.000000',250,284,30000,13), - (280109,280109,3112,'1966-01-01 00:00:00.000000',0,4342,30000,13), - (280110,280108,3111,'1966-01-01 00:00:00.000000',125,2660,30000,13), - (280111,280160,3238,'1967-01-01 00:00:00.000000',500,89,30000,1), - (280112,280153,3231,'1967-01-01 00:00:00.000000',500,89,30000,12), - (280113,280124,3202,'1967-01-01 00:00:00.000000',500,74,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280114,280110,3188,'1967-01-01 00:00:00.000000',500,77,30000,16), - (280115,280176,3254,'1967-01-01 00:00:00.000000',500,89,30000,5), - (280116,280131,3209,'1967-01-01 00:00:00.000000',500,89,30000,9), - (280117,280120,3201,'1967-01-01 00:00:00.000000',500,74,30000,17), - (280118,280142,3223,'1967-01-01 00:00:00.000000',500,89,30000,19), - (280119,280168,3246,'1967-01-01 00:00:00.000000',500,89,30000,3), - (280120,280146,3224,'1967-01-01 00:00:00.000000',500,119,30000,14), - (280121,280169,3247,'1967-01-01 00:00:00.000000',500,207,30000,3), - (280122,280177,3255,'1967-01-01 00:00:00.000000',500,207,30000,5), - (280123,280132,3210,'1967-01-01 00:00:00.000000',500,177,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280124,280125,3203,'1967-01-01 00:00:00.000000',250,147,30000,18), - (280125,280154,3232,'1967-01-01 00:00:00.000000',500,177,30000,12), - (280126,280147,3225,'1967-01-01 00:00:00.000000',500,207,30000,14), - (280127,280111,3189,'1967-01-01 00:00:00.000000',500,219,30000,16), - (280128,280161,3239,'1967-01-01 00:00:00.000000',500,177,30000,1), - (280129,280129,3207,'1967-01-01 00:00:00.000000',125,3563,30000,18), - (280130,280137,3215,'1967-01-01 00:00:00.000000',250,749,30000,9), - (280131,280151,3229,'1967-01-01 00:00:00.000000',125,2580,30000,14), - (280132,280158,3236,'1967-01-01 00:00:00.000000',125,2580,30000,12), - (280133,280166,3244,'1967-01-01 00:00:00.000000',125,2580,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280134,280148,3226,'1967-01-01 00:00:00.000000',250,662,30000,14), - (280135,280155,3233,'1967-01-01 00:00:00.000000',250,662,30000,12), - (280136,280112,3192,'1967-01-01 00:00:00.000000',250,662,30000,16), - (280137,280178,3256,'1967-01-01 00:00:00.000000',250,700,30000,5), - (280138,280170,3248,'1967-01-01 00:00:00.000000',250,662,30000,3), - (280139,280121,3197,'1967-01-01 00:00:00.000000',250,662,30000,17), - (280140,280143,3222,'1967-01-01 00:00:00.000000',250,662,30000,19), - (280141,280162,3240,'1967-01-01 00:00:00.000000',250,662,30000,1), - (280142,280133,3211,'1967-01-01 00:00:00.000000',250,681,30000,9), - (280143,280171,3249,'1967-01-01 00:00:00.000000',125,2454,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280144,280122,3196,'1967-01-01 00:00:00.000000',125,2454,30000,17), - (280145,280163,3241,'1967-01-01 00:00:00.000000',125,2454,30000,1), - (280146,280179,3257,'1967-01-01 00:00:00.000000',125,2424,30000,5), - (280147,280144,3221,'1967-01-01 00:00:00.000000',125,2454,30000,19), - (280148,280128,3206,'1967-01-01 00:00:00.000000',250,837,30000,18), - (280149,280159,3237,'1967-01-01 00:00:00.000000',0,4294,30000,12), - (280150,280152,3230,'1967-01-01 00:00:00.000000',0,4294,30000,14), - (280151,280167,3245,'1967-01-01 00:00:00.000000',0,4294,30000,1), - (280152,280136,3214,'1967-01-01 00:00:00.000000',0,5421,30000,9), - (280153,280139,3217,'1967-01-01 00:00:00.000000',125,1886,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280154,280182,3260,'1967-01-01 00:00:00.000000',125,1886,30000,5), - (280155,280165,3243,'1967-01-01 00:00:00.000000',250,580,30000,1), - (280156,280150,3228,'1967-01-01 00:00:00.000000',250,580,30000,14), - (280157,280157,3235,'1967-01-01 00:00:00.000000',250,580,30000,12), - (280158,280127,3205,'1967-01-01 00:00:00.000000',250,123,30000,18), - (280159,280135,3213,'1967-01-01 00:00:00.000000',125,3058,30000,9), - (280160,280113,3191,'1967-01-01 00:00:00.000000',250,711,30000,16), - (280161,280173,3251,'1967-01-01 00:00:00.000000',250,744,30000,3), - (280162,280119,3200,'1967-01-01 00:00:00.000000',250,711,30000,17), - (280163,280183,3261,'1967-01-01 00:00:00.000000',60,3058,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280164,280140,3218,'1967-01-01 00:00:00.000000',60,3058,30000,19), - (280165,280181,3259,'1967-01-01 00:00:00.000000',250,563,30000,5), - (280166,280138,3216,'1967-01-01 00:00:00.000000',250,563,30000,19), - (280167,280174,3252,'1967-01-01 00:00:00.000000',125,2890,30000,3), - (280168,280117,3199,'1967-01-01 00:00:00.000000',125,2837,30000,17), - (280169,280116,3193,'1967-01-01 00:00:00.000000',125,2837,30000,16), - (280170,280130,3208,'1967-01-01 00:00:00.000000',0,6897,30000,18), - (280171,280149,3227,'1967-01-01 00:00:00.000000',0,2837,30000,14), - (280172,280156,3234,'1967-01-01 00:00:00.000000',0,2837,30000,12), - (280173,280145,3220,'1967-01-01 00:00:00.000000',0,4723,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280174,280180,3258,'1967-01-01 00:00:00.000000',0,4723,30000,5), - (280175,280164,3242,'1967-01-01 00:00:00.000000',0,4723,30000,1), - (280176,280114,3190,'1967-01-01 00:00:00.000000',0,2837,30000,16), - (280177,280134,3212,'1967-01-01 00:00:00.000000',0,2837,30000,9), - (280178,280172,3250,'1967-01-01 00:00:00.000000',0,4723,30000,3), - (280179,280123,3195,'1967-01-01 00:00:00.000000',0,4740,30000,17), - (280180,280126,3204,'1967-01-01 00:00:00.000000',0,4723,30000,18), - (280181,280115,3194,'1967-01-01 00:00:00.000000',0,5079,30000,16), - (280182,280118,3198,'1967-01-01 00:00:00.000000',0,4723,30000,17), - (280183,280175,3253,'1967-01-01 00:00:00.000000',0,4723,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (280184,280184,3262,'1967-01-01 00:00:00.000000',0,4723,30000,5), - (280185,280141,3219,'1967-01-01 00:00:00.000000',0,4723,30000,19), - (290001,290001,111,'1999-01-01 00:00:00.000000',1000,44,30000,0), - (290002,290002,112,'1999-01-01 00:00:00.000000',1000,91,30000,0), - (290003,290003,113,'1999-01-01 00:00:00.000000',1000,37,30000,0), - (290004,290004,114,'1999-01-01 00:00:00.000000',1000,74,30000,0), - (290005,290007,489,'1999-01-01 00:00:00.000000',0,1101,30000,0), - (290006,290006,1737,'1999-01-01 00:00:00.000000',60,433,30000,0), - (290007,290005,1736,'1999-01-01 00:00:00.000000',125,164,30000,0), - (290008,290008,2671,'1995-01-01 00:00:00.000000',30,543,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (290009,290009,2672,'1975-01-01 00:00:00.000000',60,106,30000,0), - (290010,290029,3670,'1970-01-01 00:00:00.000000',500,106,30000,0), - (290011,290034,3674,'1970-01-01 00:00:00.000000',500,135,30000,0), - (290012,290024,3665,'1970-01-01 00:00:00.000000',500,88,30000,0), - (290013,290030,3671,'1970-01-01 00:00:00.000000',400,160,30000,0), - (290014,290035,3675,'1970-01-01 00:00:00.000000',400,207,30000,0), - (290015,290018,3652,'1970-01-01 00:00:00.000000',750,110,30000,0), - (290016,290010,3651,'1970-01-01 00:00:00.000000',1000,37,30000,0), - (290017,290025,3666,'1970-01-01 00:00:00.000000',400,131,30000,0), - (290018,290021,3659,'1970-01-01 00:00:00.000000',500,136,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (290019,290014,3658,'1970-01-01 00:00:00.000000',1000,44,30000,0), - (290020,290036,3676,'1970-01-01 00:00:00.000000',250,327,30000,0), - (290021,290019,3654,'1970-01-01 00:00:00.000000',500,170,30000,0), - (290022,290011,3653,'1970-01-01 00:00:00.000000',1000,37,30000,0), - (290023,290026,3667,'1970-01-01 00:00:00.000000',250,203,30000,0), - (290024,290022,3661,'1970-01-01 00:00:00.000000',500,211,30000,0), - (290025,290015,3660,'1970-01-01 00:00:00.000000',1000,44,30000,0), - (290026,290032,3672,'1970-01-01 00:00:00.000000',150,373,30000,0), - (290027,290037,3677,'1970-01-01 00:00:00.000000',100,495,30000,0), - (290028,290013,3656,'1970-01-01 00:00:00.000000',250,361,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (290029,290012,3655,'1970-01-01 00:00:00.000000',500,37,30000,0), - (290030,290027,3668,'1970-01-01 00:00:00.000000',150,304,30000,0), - (290031,290023,3663,'1970-01-01 00:00:00.000000',250,315,30000,0), - (290032,290016,3662,'1970-01-01 00:00:00.000000',500,44,30000,0), - (290033,290033,3673,'1970-01-01 00:00:00.000000',0,533,30000,0), - (290034,290038,3678,'1970-01-01 00:00:00.000000',0,711,30000,0), - (290035,290013,3657,'1970-01-01 00:00:00.000000',0,361,30000,0), - (290036,290028,3669,'1970-01-01 00:00:00.000000',0,433,30000,0), - (290037,290017,3664,'1970-01-01 00:00:00.000000',0,450,30000,0), - (290038,290031,3679,'1970-01-01 00:00:00.000000',250,249,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (300001,300001,115,'1999-01-01 00:00:00.000000',1000,49,30000,0), - (300002,300002,116,'1999-01-01 00:00:00.000000',500,89,30000,0), - (300003,300004,445,'1970-01-01 00:00:00.000000',125,49,30000,0), - (300004,300007,463,'1999-01-01 00:00:00.000000',125,291,30000,0), - (300005,300005,461,'1999-01-01 00:00:00.000000',60,301,30000,0), - (300006,300006,462,'1999-01-01 00:00:00.000000',60,311,30000,0), - (300007,300010,466,'1999-01-01 00:00:00.000000',0,386,30000,0), - (300008,300008,464,'1999-01-01 00:00:00.000000',0,296,30000,0), - (300009,300009,465,'1999-01-01 00:00:00.000000',0,311,30000,0), - (300010,300003,1184,'1967-01-01 00:00:00.000000',60,49,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (300011,300011,1738,'1965-01-01 00:00:00.000000',60,296,30000,0), - (310001,310001,117,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310002,310002,118,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310003,310003,119,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310004,310004,120,'1999-01-01 00:00:00.000000',500,150,30000,0), - (310005,310006,447,'1969-01-01 00:00:00.000000',500,25,30000,0), - (310006,310005,446,'1969-01-01 00:00:00.000000',500,25,30000,0), - (310007,310008,449,'1970-01-01 00:00:00.000000',500,25,30000,0), - (310008,310007,448,'1970-01-01 00:00:00.000000',500,25,30000,0), - (310009,310009,450,'1973-01-01 00:00:00.000000',500,25,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (310010,310010,450,'1973-01-01 00:00:00.000000',500,25,30000,0), - (310011,310022,481,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310012,310023,482,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310013,310021,480,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310014,310024,483,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310015,310025,484,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310016,310026,485,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310017,310027,486,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310018,310028,487,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310019,310011,470,'1999-01-01 00:00:00.000000',500,50,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (310020,310012,471,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310021,310013,472,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310022,310014,473,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310023,310015,474,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310024,310016,475,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310025,310017,476,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310026,310018,477,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310027,310019,478,'1999-01-01 00:00:00.000000',500,50,30000,0), - (310028,310020,479,'1999-01-01 00:00:00.000000',500,25,30000,0), - (310029,310029,1035,'1969-01-01 00:00:00.000000',500,50,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320001,320001,155,'1965-01-01 00:00:00.000000',1000,212,30000,3), - (320002,320002,1284,'1999-01-01 00:00:00.000000',1000,212,30000,5), - (320003,320003,1044,'1999-01-01 00:00:00.000000',1000,212,30000,2), - (320004,320004,1045,'1999-01-01 00:00:00.000000',1000,212,30000,1), - (320005,320005,420,'1970-01-01 00:00:00.000000',500,502,30000,5), - (320006,320006,884,'1970-01-01 00:00:00.000000',500,331,30000,3), - (320007,320043,883,'1970-01-01 00:00:00.000000',250,397,30000,17), - (320008,320078,1282,'1962-01-01 00:00:00.000000',250,502,30000,2), - (320009,320077,1283,'1957-01-01 00:00:00.000000',500,331,30000,5), - (320010,320079,1285,'1963-01-01 00:00:00.000000',500,346,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320011,320080,1286,'1970-01-01 00:00:00.000000',500,221,30000,3), - (320012,320081,1287,'1965-01-01 00:00:00.000000',0,2412,30000,18), - (320013,320082,1289,'1962-01-01 00:00:00.000000',125,811,30000,1), - (320014,320083,1350,'1990-01-01 00:00:00.000000',125,1058,30000,7), - (320015,320084,1351,'1990-01-01 00:00:00.000000',500,450,30000,7), - (320016,320085,1352,'1990-01-01 00:00:00.000000',125,1159,30000,7), - (320017,320086,1353,'1990-01-01 00:00:00.000000',125,1107,30000,7), - (320018,320007,1354,'1967-01-01 00:00:00.000000',1000,212,30000,7), - (320019,320008,1355,'1961-01-01 00:00:00.000000',1000,212,30000,8), - (320020,320009,1356,'1955-01-01 00:00:00.000000',1000,212,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320021,320010,1357,'1955-01-01 00:00:00.000000',125,212,30000,9), - (320022,320011,1358,'1964-01-01 00:00:00.000000',1000,212,30000,4), - (320023,320012,1420,'1932-01-01 00:00:00.000000',125,212,30000,10), - (320024,320013,1421,'1965-01-01 00:00:00.000000',1000,212,30000,12), - (320025,320014,1422,'1968-01-01 00:00:00.000000',1000,212,30000,11), - (320026,320015,1425,'1959-01-01 00:00:00.000000',1000,212,30000,14), - (320027,320016,1424,'1955-01-01 00:00:00.000000',1000,212,30000,13), - (320028,320017,1426,'1956-01-01 00:00:00.000000',500,361,30000,6), - (320029,320018,1427,'1967-01-01 00:00:00.000000',500,395,30000,6), - (320030,320019,1428,'1970-01-01 00:00:00.000000',500,331,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320031,320020,1433,'1965-01-01 00:00:00.000000',500,395,30000,5), - (320032,320021,1434,'1970-01-01 00:00:00.000000',500,361,30000,5), - (320033,320022,1435,'1961-01-01 00:00:00.000000',1000,212,30000,21), - (320034,320023,1436,'1969-01-01 00:00:00.000000',250,415,30000,7), - (320035,320024,1437,'1968-01-01 00:00:00.000000',500,331,30000,11), - (320036,320025,1438,'1968-01-01 00:00:00.000000',500,470,30000,11), - (320037,320026,1439,'1970-01-01 00:00:00.000000',500,470,30000,12), - (320038,320027,1440,'1969-01-01 00:00:00.000000',500,378,30000,13), - (320039,320028,1441,'1968-01-01 00:00:00.000000',500,378,30000,13), - (320040,320029,1442,'1957-01-01 00:00:00.000000',500,208,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320041,320030,1443,'1957-01-01 00:00:00.000000',500,411,30000,4), - (320042,320031,1445,'1964-01-01 00:00:00.000000',500,430,30000,3), - (320043,320032,1446,'1965-01-01 00:00:00.000000',15,1218,30000,3), - (320044,320033,1447,'1966-01-01 00:00:00.000000',250,811,30000,3), - (320045,320034,1448,'1961-01-01 00:00:00.000000',500,502,30000,3), - (320046,320035,1449,'1961-01-01 00:00:00.000000',15,6019,30000,17), - (320047,320036,1450,'1968-01-01 00:00:00.000000',500,231,30000,1), - (320048,320037,1451,'1969-01-01 00:00:00.000000',500,331,30000,1), - (320049,320038,1452,'1960-01-01 00:00:00.000000',250,585,30000,1), - (320050,320039,1453,'1960-01-01 00:00:00.000000',250,535,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320051,320040,1454,'1969-01-01 00:00:00.000000',250,364,30000,1), - (320052,320041,1456,'1970-01-01 00:00:00.000000',500,331,30000,2), - (320053,320042,1457,'1970-01-01 00:00:00.000000',500,231,30000,14), - (320054,320044,1458,'1966-01-01 00:00:00.000000',250,397,30000,14), - (320055,320045,1462,'1999-01-01 00:00:00.000000',60,450,30000,10), - (320056,320046,1463,'1999-01-01 00:00:00.000000',60,411,30000,9), - (320057,320047,1127,'1999-01-01 00:00:00.000000',60,1107,30000,5), - (320058,320048,1128,'1999-01-01 00:00:00.000000',60,1107,30000,6), - (320059,320049,1129,'1999-01-01 00:00:00.000000',60,1107,30000,1), - (320060,320050,1130,'1999-01-01 00:00:00.000000',60,1107,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320061,320051,1131,'1999-01-01 00:00:00.000000',60,1107,30000,3), - (320062,320052,1132,'1999-01-01 00:00:00.000000',60,1107,30000,4), - (320063,320053,1133,'1999-01-01 00:00:00.000000',60,1107,30000,12), - (320064,320054,1134,'1999-01-01 00:00:00.000000',60,1107,30000,11), - (320065,320055,1135,'1999-01-01 00:00:00.000000',60,411,30000,18), - (320066,320056,1136,'1999-01-01 00:00:00.000000',60,1107,30000,13), - (320067,320057,1138,'1999-01-01 00:00:00.000000',500,450,30000,5), - (320068,320058,1139,'1999-01-01 00:00:00.000000',500,450,30000,6), - (320069,320059,1140,'1999-01-01 00:00:00.000000',500,450,30000,1), - (320070,320060,1141,'1999-01-01 00:00:00.000000',500,450,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320071,320061,1142,'1999-01-01 00:00:00.000000',500,450,30000,3), - (320072,320062,1143,'1999-01-01 00:00:00.000000',500,450,30000,4), - (320073,320063,1144,'1999-01-01 00:00:00.000000',500,450,30000,12), - (320074,320064,1145,'1999-01-01 00:00:00.000000',500,450,30000,11), - (320075,320065,1146,'1999-01-01 00:00:00.000000',0,212,30000,18), - (320076,320066,1147,'1999-01-01 00:00:00.000000',500,450,30000,13), - (320077,320067,1148,'1999-01-01 00:00:00.000000',125,1107,30000,5), - (320078,320068,1149,'1999-01-01 00:00:00.000000',125,1107,30000,6), - (320079,320069,1150,'1999-01-01 00:00:00.000000',125,1107,30000,1), - (320080,320070,1151,'1999-01-01 00:00:00.000000',125,1107,30000,2); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320081,320071,1152,'1999-01-01 00:00:00.000000',125,1107,30000,3), - (320082,320072,1153,'1999-01-01 00:00:00.000000',125,1107,30000,4), - (320083,320073,1154,'1999-01-01 00:00:00.000000',125,1107,30000,12), - (320084,320074,1155,'1999-01-01 00:00:00.000000',125,1107,30000,11), - (320085,320075,1156,'1999-01-01 00:00:00.000000',125,1107,30000,13), - (320086,320076,1157,'1999-01-01 00:00:00.000000',125,1107,30000,13), - (320087,320088,1789,'1970-01-01 00:00:00.000000',500,331,30000,4), - (320088,320087,1790,'1970-01-01 00:00:00.000000',250,811,30000,4), - (320089,320036,2035,'1967-01-01 00:00:00.000000',500,231,30000,1), - (320090,320089,2074,'1959-01-01 00:00:00.000000',500,331,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320091,320090,2080,'1962-01-01 00:00:00.000000',250,811,30000,13), - (320092,320091,2473,'1940-01-01 00:00:00.000000',125,212,30000,20), - (320093,320092,2492,'1970-01-01 00:00:00.000000',125,212,30000,16), - (320094,320093,2493,'1971-01-01 00:00:00.000000',60,331,30000,16), - (320095,320094,2506,'1968-01-01 00:00:00.000000',1000,212,30000,17), - (320096,320095,2507,'1970-01-01 00:00:00.000000',125,231,30000,17), - (320097,320096,2526,'1970-01-01 00:00:00.000000',2,451,30000,4), - (320098,320097,2527,'1954-01-01 00:00:00.000000',1000,191,30000,15), - (320099,320098,2528,'1957-01-01 00:00:00.000000',30,311,30000,15), - (320100,320099,2540,'1958-01-01 00:00:00.000000',1000,212,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320101,320100,2541,'1959-01-01 00:00:00.000000',125,331,30000,19), - (320102,320103,2573,'1971-04-17 00:00:00.000000',500,331,30000,8), - (320103,320101,2571,'1955-02-18 00:00:00.000000',500,331,30000,21), - (320104,320102,2572,'1958-03-02 00:00:00.000000',250,811,30000,21), - (320105,320104,2574,'1947-02-20 00:00:00.000000',60,331,30000,20), - (320106,320106,2691,'1995-01-01 00:00:00.000000',125,1058,30000,14), - (320107,320105,2692,'1995-01-01 00:00:00.000000',250,1058,30000,14), - (320108,320107,2773,'1969-01-01 00:00:00.000000',250,331,30000,14), - (320109,320110,2806,'1957-01-01 00:00:00.000000',500,387,30000,15), - (320110,320111,2809,'1957-01-01 00:00:00.000000',500,325,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320111,320114,2812,'1957-01-01 00:00:00.000000',500,295,30000,15), - (320112,320113,2807,'1957-01-01 00:00:00.000000',500,311,30000,15), - (320113,320112,2810,'1957-01-01 00:00:00.000000',500,325,30000,15), - (320114,320116,2808,'1957-01-01 00:00:00.000000',125,763,30000,15), - (320115,320117,2811,'1957-01-01 00:00:00.000000',125,799,30000,15), - (320116,320108,2804,'1957-01-01 00:00:00.000000',1000,191,30000,15), - (320117,320118,2814,'1957-01-01 00:00:00.000000',250,461,30000,15), - (320118,320109,2805,'1957-01-01 00:00:00.000000',1000,191,30000,15), - (320119,320115,2813,'1957-01-01 00:00:00.000000',1000,189,30000,15), - (320120,320121,2817,'1957-01-01 00:00:00.000000',125,452,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320121,320120,2816,'1957-01-01 00:00:00.000000',250,457,30000,15), - (320122,320119,2815,'1957-01-01 00:00:00.000000',250,461,30000,15), - (320123,320132,2889,'1964-01-01 00:00:00.000000',60,976,30000,6), - (320124,320126,2883,'1964-01-01 00:00:00.000000',500,233,30000,6), - (320125,320134,2891,'1964-01-01 00:00:00.000000',125,929,30000,6), - (320126,320133,2890,'1964-01-01 00:00:00.000000',125,888,30000,6), - (320127,320128,2885,'1964-01-01 00:00:00.000000',250,512,30000,6), - (320128,320131,2888,'1964-01-01 00:00:00.000000',125,848,30000,6), - (320129,320125,2882,'1964-01-01 00:00:00.000000',500,331,30000,6), - (320130,320124,2881,'1964-01-01 00:00:00.000000',500,210,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320131,320123,2880,'1964-01-01 00:00:00.000000',250,331,30000,6), - (320132,320135,2892,'1964-01-01 00:00:00.000000',250,346,30000,6), - (320133,320127,2884,'1964-01-01 00:00:00.000000',500,231,30000,6), - (320134,320129,2886,'1964-01-01 00:00:00.000000',125,888,30000,6), - (320135,320122,2879,'1964-01-01 00:00:00.000000',125,811,30000,6), - (320136,320130,2887,'1964-01-01 00:00:00.000000',125,848,30000,6), - (320137,320139,2920,'1965-01-01 00:00:00.000000',500,221,30000,21), - (320138,320152,2933,'1965-01-01 00:00:00.000000',250,331,30000,4), - (320139,320155,2936,'1965-01-01 00:00:00.000000',250,933,30000,4), - (320140,320146,2926,'1965-01-01 00:00:00.000000',125,848,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320141,320156,2937,'1965-01-01 00:00:00.000000',60,1069,30000,4), - (320142,320145,2927,'1965-01-01 00:00:00.000000',60,929,30000,21), - (320143,320138,2919,'1965-01-01 00:00:00.000000',500,243,30000,21), - (320144,320154,2935,'1965-01-01 00:00:00.000000',250,976,30000,4), - (320145,320157,2938,'1965-01-01 00:00:00.000000',125,848,30000,4), - (320146,320149,2930,'1965-01-01 00:00:00.000000',500,331,30000,4), - (320147,320148,2929,'1965-01-01 00:00:00.000000',500,212,30000,4), - (320148,320151,2932,'1965-01-01 00:00:00.000000',500,331,30000,4), - (320149,320150,2931,'1965-01-01 00:00:00.000000',500,212,30000,4), - (320150,320136,2917,'1965-01-01 00:00:00.000000',500,210,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320151,320137,2918,'1965-01-01 00:00:00.000000',500,212,30000,21), - (320152,320153,2934,'1965-01-01 00:00:00.000000',125,929,30000,4), - (320153,320159,2940,'1965-01-01 00:00:00.000000',60,976,30000,4), - (320154,320141,2922,'1965-01-01 00:00:00.000000',500,346,30000,21), - (320155,320140,2921,'1965-01-01 00:00:00.000000',500,243,30000,21), - (320156,320143,2924,'1965-01-01 00:00:00.000000',125,811,30000,21), - (320157,320158,2939,'1965-01-01 00:00:00.000000',60,929,30000,4), - (320158,320142,2923,'1965-01-01 00:00:00.000000',125,563,30000,21), - (320159,320144,2925,'1965-01-01 00:00:00.000000',125,888,30000,21), - (320160,320147,2928,'1965-01-01 00:00:00.000000',60,1069,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320161,320166,3042,'1966-01-01 00:00:00.000000',60,933,30000,2), - (320162,320167,3043,'1966-01-01 00:00:00.000000',250,212,30000,2), - (320163,320168,3044,'1966-01-01 00:00:00.000000',250,848,30000,2), - (320164,320165,3041,'1966-01-01 00:00:00.000000',50,976,30000,2), - (320165,320161,3037,'1966-01-01 00:00:00.000000',125,346,30000,2), - (320166,320163,3039,'1966-01-01 00:00:00.000000',250,848,30000,2), - (320167,320160,3036,'1966-01-01 00:00:00.000000',500,346,30000,2), - (320168,320162,3038,'1966-01-01 00:00:00.000000',250,848,30000,2), - (320169,320164,3040,'1966-01-01 00:00:00.000000',0,1069,30000,2), - (320170,320172,3083,'1966-01-01 00:00:00.000000',60,1022,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320171,320171,3082,'1966-01-01 00:00:00.000000',125,976,30000,13), - (320172,320169,3080,'1966-01-01 00:00:00.000000',30,1114,30000,13), - (320173,320173,3084,'1966-01-01 00:00:00.000000',125,848,30000,13), - (320174,320170,3081,'1966-01-01 00:00:00.000000',125,848,30000,13), - (320175,320174,3085,'1966-01-01 00:00:00.000000',60,397,30000,13), - (320176,320178,3116,'1966-01-01 00:00:00.000000',125,933,30000,5), - (320177,320175,3113,'1966-01-01 00:00:00.000000',125,397,30000,5), - (320178,320179,3117,'1966-01-01 00:00:00.000000',0,1065,30000,5), - (320179,320176,3114,'1966-01-01 00:00:00.000000',250,848,30000,5), - (320180,320177,3115,'1966-01-01 00:00:00.000000',125,976,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320181,320184,3394,'1967-01-01 00:00:00.000000',125,811,30000,3), - (320182,320183,3393,'1967-01-01 00:00:00.000000',125,848,30000,3), - (320183,320180,3391,'1967-01-01 00:00:00.000000',250,346,30000,3), - (320184,320180,3390,'1967-01-01 00:00:00.000000',125,346,30000,3), - (320185,320182,3392,'1967-01-01 00:00:00.000000',125,848,30000,3), - (320186,320185,3395,'1967-01-01 00:00:00.000000',125,848,30000,3), - (320187,320186,3396,'1967-01-01 00:00:00.000000',125,888,30000,1), - (320188,320187,3397,'1967-01-01 00:00:00.000000',0,1022,30000,1), - (320189,320161,3400,'1967-01-01 00:00:00.000000',250,346,30000,1), - (320190,320190,3401,'1967-01-01 00:00:00.000000',250,848,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320191,320192,3403,'1967-01-01 00:00:00.000000',250,346,30000,1), - (320192,320193,3402,'1967-01-01 00:00:00.000000',250,811,30000,1), - (320193,320188,3399,'1967-01-01 00:00:00.000000',0,397,30000,1), - (320194,320189,3398,'1967-01-01 00:00:00.000000',0,976,30000,1), - (320195,320197,3407,'1967-01-01 00:00:00.000000',250,811,30000,12), - (320196,320198,3408,'1967-01-01 00:00:00.000000',125,933,30000,12), - (320197,320201,3411,'1967-01-01 00:00:00.000000',125,933,30000,12), - (320198,320202,3412,'1967-01-01 00:00:00.000000',0,1065,30000,12), - (320199,320194,3404,'1967-01-01 00:00:00.000000',500,221,30000,12), - (320200,320200,3410,'1967-01-01 00:00:00.000000',125,811,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320201,320195,3405,'1967-01-01 00:00:00.000000',500,221,30000,12), - (320202,320199,3409,'1967-01-01 00:00:00.000000',0,1022,30000,12), - (320203,320196,3406,'1967-01-01 00:00:00.000000',0,474,30000,12), - (320204,320205,3414,'1967-01-01 00:00:00.000000',0,397,30000,19), - (320205,320206,3419,'1967-01-01 00:00:00.000000',0,933,30000,19), - (320206,320210,3417,'1967-01-01 00:00:00.000000',250,811,30000,19), - (320207,320213,3421,'1967-01-01 00:00:00.000000',0,1065,30000,19), - (320208,320207,3422,'1967-01-01 00:00:00.000000',125,933,30000,19), - (320209,320203,3413,'1967-01-01 00:00:00.000000',252,331,30000,19), - (320210,320212,3420,'1967-01-01 00:00:00.000000',125,848,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320211,320211,3418,'1967-01-01 00:00:00.000000',0,1022,30000,19), - (320212,320208,3423,'1967-01-01 00:00:00.000000',0,1065,30000,19), - (320213,320209,3416,'1967-01-01 00:00:00.000000',0,434,30000,19), - (320214,320204,3415,'1967-01-01 00:00:00.000000',250,811,30000,19), - (320215,320220,3431,'1967-01-01 00:00:00.000000',125,976,30000,14), - (320216,320221,3432,'1967-01-01 00:00:00.000000',0,1114,30000,14), - (320217,320216,3426,'1967-01-01 00:00:00.000000',250,888,30000,14), - (320218,320217,3427,'1967-01-01 00:00:00.000000',0,415,30000,14), - (320219,320218,3428,'1967-01-01 00:00:00.000000',250,346,30000,14), - (320220,320215,3425,'1967-01-01 00:00:00.000000',250,811,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320221,320219,3430,'1967-01-01 00:00:00.000000',125,848,30000,14), - (320222,320222,3429,'1967-01-01 00:00:00.000000',0,1166,30000,14), - (320223,320214,3424,'1967-01-01 00:00:00.000000',0,1022,30000,14), - (320224,320226,3436,'1967-01-01 00:00:00.000000',250,361,30000,9), - (320225,320230,3440,'1967-01-01 00:00:00.000000',250,848,30000,9), - (320226,320234,3444,'1967-01-01 00:00:00.000000',125,933,30000,9), - (320227,320235,3445,'1967-01-01 00:00:00.000000',0,1065,30000,9), - (320228,320224,3434,'1967-01-01 00:00:00.000000',500,331,30000,9), - (320229,320223,3433,'1967-01-01 00:00:00.000000',500,263,30000,9), - (320230,320229,3439,'1967-01-01 00:00:00.000000',250,811,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320231,320228,3438,'1967-01-01 00:00:00.000000',125,415,30000,9), - (320232,320233,3443,'1967-01-01 00:00:00.000000',125,892,30000,9), - (320233,320225,3435,'1967-01-01 00:00:00.000000',250,346,30000,9), - (320234,320231,3441,'1967-01-01 00:00:00.000000',125,976,30000,9), - (320235,320232,3442,'1967-01-01 00:00:00.000000',0,1022,30000,9), - (320236,320227,3437,'1967-01-01 00:00:00.000000',0,378,30000,9), - (320237,320236,3446,'1967-01-01 00:00:00.000000',0,1114,30000,9), - (320238,320246,3456,'1967-01-01 00:00:00.000000',60,888,30000,18), - (320239,320245,3455,'1967-01-01 00:00:00.000000',0,929,30000,18), - (320240,320242,3452,'1967-01-01 00:00:00.000000',125,848,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320241,320238,3448,'1967-01-01 00:00:00.000000',125,346,30000,18), - (320242,320237,3447,'1967-01-01 00:00:00.000000',250,346,30000,18), - (320243,320239,3449,'1967-01-01 00:00:00.000000',125,346,30000,18), - (320244,320240,3450,'1967-01-01 00:00:00.000000',125,361,30000,18), - (320245,320243,3453,'1967-01-01 00:00:00.000000',125,888,30000,18), - (320246,320241,3451,'1967-01-01 00:00:00.000000',0,361,30000,18), - (320247,320244,3454,'1967-01-01 00:00:00.000000',60,929,30000,18), - (320248,320248,3463,'1967-01-01 00:00:00.000000',250,848,30000,17), - (320249,320250,3465,'1967-01-01 00:00:00.000000',0,1114,30000,17), - (320250,320252,3459,'1967-01-01 00:00:00.000000',125,1022,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320251,320251,3458,'1967-01-01 00:00:00.000000',250,346,30000,17), - (320252,320247,3457,'1967-01-01 00:00:00.000000',500,346,30000,17), - (320253,320249,3464,'1967-01-01 00:00:00.000000',125,976,30000,17), - (320254,320254,3461,'1967-01-01 00:00:00.000000',125,933,30000,17), - (320255,320253,3460,'1967-01-01 00:00:00.000000',0,453,30000,17), - (320256,320255,3462,'1967-01-01 00:00:00.000000',0,1065,30000,17), - (320257,320259,3468,'1967-01-01 00:00:00.000000',250,848,30000,16), - (320258,320257,3467,'1967-01-01 00:00:00.000000',0,434,30000,16), - (320259,320258,3469,'1967-01-01 00:00:00.000000',0,1069,30000,16), - (320260,320260,3470,'1967-01-01 00:00:00.000000',0,1065,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (320261,320265,3475,'1967-01-01 00:00:00.000000',125,933,30000,16), - (320262,320261,3471,'1967-01-01 00:00:00.000000',500,361,30000,16), - (320263,320263,3473,'1967-01-01 00:00:00.000000',250,848,30000,16), - (320264,320256,3466,'1967-01-01 00:00:00.000000',250,346,30000,16), - (320265,320262,3472,'1967-01-01 00:00:00.000000',0,453,30000,16), - (320266,320264,3474,'1967-01-01 00:00:00.000000',0,1114,30000,16), - (330001,330001,156,'1999-01-01 00:00:00.000000',1000,125,30000,0), - (330002,330002,157,'1999-01-01 00:00:00.000000',125,771,30000,0), - (330003,330003,188,'1999-01-01 00:00:00.000000',1000,50,30000,0), - (330004,330004,886,'1967-01-01 00:00:00.000000',250,589,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330005,330005,434,'1964-01-01 00:00:00.000000',1000,51,30000,0), - (330006,330006,452,'1932-01-01 00:00:00.000000',1000,52,30000,0), - (330007,330007,455,'1957-01-01 00:00:00.000000',1000,201,30000,0), - (330008,330008,458,'1952-01-01 00:00:00.000000',500,521,30000,0), - (330009,330009,459,'1950-01-01 00:00:00.000000',1000,110,30000,0), - (330010,330010,492,'1999-01-01 00:00:00.000000',125,223,30000,0), - (330011,330011,493,'1999-01-01 00:00:00.000000',250,726,30000,0), - (330012,330012,494,'1999-01-01 00:00:00.000000',250,514,30000,0), - (330013,330013,517,'1957-01-01 00:00:00.000000',125,527,30000,0), - (330014,330017,1290,'1960-01-01 00:00:00.000000',125,1024,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330015,330019,1335,'1990-01-01 00:00:00.000000',500,523,30000,0), - (330016,330015,885,'1990-01-01 00:00:00.000000',1000,52,30000,0), - (330017,330016,1291,'1963-01-01 00:00:00.000000',125,902,30000,0), - (330018,330020,1521,'1965-01-01 00:00:00.000000',500,521,30000,0), - (330019,330018,1517,'1965-01-01 00:00:00.000000',125,902,30000,0), - (330020,330021,1544,'1965-01-01 00:00:00.000000',1000,250,30000,0), - (330021,330022,1600,'1961-01-01 00:00:00.000000',125,989,30000,0), - (330022,330023,1609,'1963-01-01 00:00:00.000000',15,1338,30000,0), - (330023,330024,1791,'1963-01-01 00:00:00.000000',1000,185,30000,0), - (330024,330025,1792,'1963-01-01 00:00:00.000000',1000,250,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330025,330026,1793,'1963-01-01 00:00:00.000000',60,873,30000,0), - (330026,330027,1794,'1963-01-01 00:00:00.000000',125,577,30000,0), - (330027,330028,1795,'1963-01-01 00:00:00.000000',30,985,30000,0), - (330028,330029,1796,'1963-01-01 00:00:00.000000',250,527,30000,0), - (330029,330030,1797,'1963-01-01 00:00:00.000000',125,771,30000,0), - (330030,330031,1798,'1963-01-01 00:00:00.000000',250,841,30000,0), - (330031,330032,1799,'1963-01-01 00:00:00.000000',1000,250,30000,0), - (330032,330033,1800,'1963-01-01 00:00:00.000000',60,1015,30000,0), - (330033,330034,1801,'1963-01-01 00:00:00.000000',125,801,30000,0), - (330034,330035,1802,'1963-01-01 00:00:00.000000',500,521,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330035,330036,1803,'1963-01-01 00:00:00.000000',1000,357,30000,0), - (330036,330037,1804,'1963-01-01 00:00:00.000000',500,521,30000,0), - (330037,330038,1805,'1963-01-01 00:00:00.000000',500,521,30000,0), - (330038,330039,1806,'1963-01-01 00:00:00.000000',125,682,30000,0), - (330039,330040,1807,'1963-01-01 00:00:00.000000',125,864,30000,0), - (330040,330041,1808,'1963-01-01 00:00:00.000000',15,1228,30000,0), - (330041,330042,1809,'1963-01-01 00:00:00.000000',1000,118,30000,0), - (330042,330043,1810,'1963-01-01 00:00:00.000000',1000,207,30000,0), - (330043,330044,1811,'1963-01-01 00:00:00.000000',125,682,30000,0), - (330044,330045,1812,'1963-01-01 00:00:00.000000',250,474,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330045,330046,1813,'1963-01-01 00:00:00.000000',125,646,30000,0), - (330046,330047,1814,'1963-01-01 00:00:00.000000',125,690,30000,0), - (330047,330048,1815,'1963-01-01 00:00:00.000000',15,1445,30000,0), - (330048,330049,1816,'1963-01-01 00:00:00.000000',15,1626,30000,0), - (330049,330050,1817,'1963-01-01 00:00:00.000000',15,1746,30000,0), - (330050,330051,1818,'1963-01-01 00:00:00.000000',0,1927,30000,0), - (330051,330052,1819,'1963-01-01 00:00:00.000000',0,1807,30000,0), - (330052,330053,2033,'1967-01-01 00:00:00.000000',1000,175,30000,0), - (330053,330054,2038,'1962-01-01 00:00:00.000000',1000,384,30000,0), - (330054,330055,2044,'1955-01-01 00:00:00.000000',1000,175,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330055,330056,2045,'1956-01-01 00:00:00.000000',500,621,30000,0), - (330056,330057,2047,'1956-01-01 00:00:00.000000',1000,384,30000,0), - (330057,330058,2049,'1958-01-01 00:00:00.000000',250,526,30000,0), - (330058,330059,2064,'1968-01-01 00:00:00.000000',1000,309,30000,0), - (330059,330060,2069,'1959-01-01 00:00:00.000000',500,446,30000,0), - (330060,330061,2071,'1960-01-01 00:00:00.000000',250,605,30000,0), - (330061,330062,2085,'1957-01-01 00:00:00.000000',500,621,30000,0), - (330062,330063,2087,'1961-01-01 00:00:00.000000',500,446,30000,0), - (330063,330064,2092,'1961-01-01 00:00:00.000000',125,1138,30000,0), - (330064,330065,2093,'1962-01-01 00:00:00.000000',30,1244,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (330065,330066,2108,'1959-01-01 00:00:00.000000',500,446,30000,0), - (330066,330067,2109,'1959-01-01 00:00:00.000000',250,661,30000,0), - (330067,330068,2111,'1959-01-01 00:00:00.000000',125,802,30000,0), - (330068,330069,2687,'1995-01-01 00:00:00.000000',125,361,30000,0), - (330069,330070,2688,'1995-01-01 00:00:00.000000',60,748,30000,0), - (330070,330072,2689,'1995-01-01 00:00:00.000000',60,831,30000,0), - (330071,330071,2690,'1995-01-01 00:00:00.000000',60,919,30000,0), - (330072,330073,2693,'1995-01-01 00:00:00.000000',30,1124,30000,0), - (330073,330014,2756,'1965-01-01 00:00:00.000000',125,771,30000,0), - (340001,340001,158,'1999-01-01 00:00:00.000000',500,41,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (340002,340002,1172,'1999-01-01 00:00:00.000000',1000,56,30000,0), - (340003,340003,159,'1999-01-01 00:00:00.000000',125,101,30000,0), - (340004,340004,160,'1999-01-01 00:00:00.000000',0,201,30000,0), - (340005,340005,2351,'2001-01-01 00:00:00.000000',500,101,30000,0), - (340006,340006,2680,'1995-01-01 00:00:00.000000',125,126,30000,0), - (340007,340007,2681,'1995-01-01 00:00:00.000000',125,126,30000,0), - (340008,340008,2682,'1995-01-01 00:00:00.000000',125,126,30000,0), - (340009,340009,2683,'1995-01-01 00:00:00.000000',500,81,30000,0), - (340010,340010,2684,'1995-01-01 00:00:00.000000',500,81,30000,0), - (340011,340011,2685,'1995-01-01 00:00:00.000000',500,81,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (350001,350001,161,'1999-01-01 00:00:00.000000',1000,4532,30000,0), - (350002,350002,162,'1999-01-01 00:00:00.000000',500,5061,30000,0), - (350003,350003,409,'1960-01-01 00:00:00.000000',250,5821,30000,0), - (350004,350004,460,'1957-01-01 00:00:00.000000',125,6787,30000,0), - (350005,350005,497,'1999-01-01 00:00:00.000000',0,12411,30000,0), - (350006,350006,2662,'1965-01-01 00:00:00.000000',125,6787,30000,0), - (350007,350007,2663,'1966-01-01 00:00:00.000000',125,7341,30000,0), - (350008,350008,2664,'1967-01-01 00:00:00.000000',0,7940,30000,0), - (360001,360001,163,'1999-01-01 00:00:00.000000',1000,5007,30000,0), - (360002,360002,164,'1999-01-01 00:00:00.000000',75,8665,30000,0); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (360003,360005,507,'1999-01-01 00:00:00.000000',0,16901,30000,0), - (360004,360003,505,'1999-01-01 00:00:00.000000',80,8540,30000,0), - (360005,360006,508,'1999-01-01 00:00:00.000000',90,8415,30000,0), - (360006,360004,506,'1999-01-01 00:00:00.000000',0,13136,30000,0), - (1000001,1000001,166,'1964-01-01 00:00:00.000000',1000,551,30000,15), - (1000002,1000002,887,'1932-01-01 00:00:00.000000',250,646,30000,10), - (1000003,1000003,888,'1942-01-01 00:00:00.000000',125,662,30000,10), - (1000004,1000004,889,'1940-01-01 00:00:00.000000',125,717,30000,10), - (1000005,1000005,890,'1963-01-01 00:00:00.000000',125,2587,30000,3), - (1000006,1000006,891,'1969-01-01 00:00:00.000000',30,6203,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000007,1000007,1046,'1966-01-01 00:00:00.000000',500,1920,30000,14), - (1000008,1000008,1047,'1967-01-01 00:00:00.000000',250,2041,30000,14), - (1000009,1000009,1048,'1968-01-01 00:00:00.000000',125,2438,30000,14), - (1000010,1000010,1049,'1968-01-01 00:00:00.000000',1000,900,30000,13), - (1000011,1000011,1022,'1966-01-01 00:00:00.000000',30,3024,30000,18), - (1000012,1000012,1023,'1968-01-01 00:00:00.000000',250,2116,30000,2), - (1000013,1000013,1050,'1971-01-01 00:00:00.000000',250,1061,30000,2), - (1000014,1000014,1173,'1968-01-01 00:00:00.000000',500,864,30000,11), - (1000015,1000015,1174,'1957-01-01 00:00:00.000000',500,854,30000,6), - (1000016,1000016,1124,'1964-01-01 00:00:00.000000',250,1095,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000017,1000017,1125,'1957-01-01 00:00:00.000000',125,2459,30000,12), - (1000018,1000018,1126,'1967-01-01 00:00:00.000000',250,1175,30000,13), - (1000019,1000019,1175,'1965-01-01 00:00:00.000000',60,2520,30000,5), - (1000020,1000020,1243,'1935-01-01 00:00:00.000000',60,782,30000,10), - (1000021,1000021,1244,'1955-01-01 00:00:00.000000',1000,648,30000,12), - (1000022,1000022,1245,'1958-01-01 00:00:00.000000',500,832,30000,19), - (1000023,1000023,1246,'1966-01-01 00:00:00.000000',60,2941,30000,5), - (1000024,1000024,1247,'1967-01-01 00:00:00.000000',0,5423,30000,5), - (1000025,1000025,1248,'1967-01-01 00:00:00.000000',30,4750,30000,5), - (1000026,1000026,1249,'1957-01-01 00:00:00.000000',250,551,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000027,1000027,1250,'1970-01-01 00:00:00.000000',250,1418,30000,17), - (1000028,1000028,1251,'1969-01-01 00:00:00.000000',125,1813,30000,17), - (1000029,1000029,1252,'1972-01-01 00:00:00.000000',125,2157,30000,16), - (1000030,1000030,1253,'1961-01-01 00:00:00.000000',500,928,30000,3), - (1000031,1000031,1255,'1962-01-01 00:00:00.000000',125,2488,30000,3), - (1000032,1000032,1256,'1964-01-01 00:00:00.000000',125,2967,30000,3), - (1000033,1000033,1254,'1965-01-01 00:00:00.000000',0,10062,30000,3), - (1000034,1000034,1257,'1968-01-01 00:00:00.000000',250,1639,30000,17), - (1000035,1000035,1258,'1970-01-01 00:00:00.000000',125,2682,30000,17), - (1000037,1000037,1260,'1959-01-01 00:00:00.000000',125,1987,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000038,1000038,1261,'1962-01-01 00:00:00.000000',125,2300,30000,1), - (1000039,1000039,1262,'1962-01-01 00:00:00.000000',0,3911,30000,1), - (1000040,1000040,1337,'1990-01-01 00:00:00.000000',60,4780,30000,6), - (1000041,1000041,1338,'1990-01-01 00:00:00.000000',60,5214,30000,6), - (1000042,1000043,1339,'1990-01-01 00:00:00.000000',60,5021,30000,6), - (1000043,1000042,1340,'1990-01-01 00:00:00.000000',60,4587,30000,6), - (1000044,1000044,1341,'1990-01-01 00:00:00.000000',60,5414,30000,5), - (1000045,1000045,1342,'1990-01-01 00:00:00.000000',60,5414,30000,5), - (1000046,1000046,1343,'1990-01-01 00:00:00.000000',60,5200,30000,5), - (1000047,1000047,1344,'1990-01-01 00:00:00.000000',60,6008,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000048,1000048,1499,'1970-01-01 00:00:00.000000',125,995,30000,7), - (1000049,1000049,1573,'1963-01-01 00:00:00.000000',125,2817,30000,13), - (1000050,1000050,1574,'1963-01-01 00:00:00.000000',0,3511,30000,13), - (1000051,1000051,1580,'1968-01-01 00:00:00.000000',250,2166,30000,13), - (1000052,1000052,1613,'1965-01-01 00:00:00.000000',125,2806,30000,3), - (1000053,1000053,1624,'1962-01-01 00:00:00.000000',125,2144,30000,3), - (1000054,1000054,1647,'1969-01-01 00:00:00.000000',0,6385,30000,17), - (1000055,1000055,1675,'1964-01-01 00:00:00.000000',60,3574,30000,1), - (1000057,1000057,1961,'1963-01-01 00:00:00.000000',500,796,30000,19), - (1000058,1000058,1962,'1971-01-01 00:00:00.000000',30,3601,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000060,1000060,1965,'1953-01-01 00:00:00.000000',500,773,30000,21), - (1000061,1000061,1966,'1965-01-01 00:00:00.000000',60,1052,30000,4), - (1000063,1000063,1968,'1971-01-01 00:00:00.000000',1000,898,30000,7), - (1000064,1000064,1969,'1971-01-01 00:00:00.000000',1000,855,30000,8), - (1000065,1000065,1970,'1968-01-01 00:00:00.000000',1000,853,30000,8), - (1000066,1000066,1971,'1968-01-01 00:00:00.000000',125,1008,30000,8), - (1000067,1000067,1972,'1949-01-01 00:00:00.000000',125,596,30000,9), - (1000068,1000068,1973,'1959-01-01 00:00:00.000000',60,2074,30000,9), - (1000069,1000069,1974,'1955-01-01 00:00:00.000000',500,837,30000,6), - (1000070,1000070,1975,'1956-01-01 00:00:00.000000',500,835,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000071,1000071,1976,'1957-01-01 00:00:00.000000',500,1052,30000,6), - (1000072,1000072,1977,'1961-01-01 00:00:00.000000',250,1226,30000,6), - (1000073,1000073,1978,'1962-01-01 00:00:00.000000',125,2363,30000,6), - (1000074,1000074,1979,'1968-01-01 00:00:00.000000',1000,863,30000,6), - (1000075,1000075,1980,'1966-01-01 00:00:00.000000',500,1580,30000,5), - (1000076,1000076,1981,'1969-01-01 00:00:00.000000',60,5530,30000,5), - (1000077,1000077,1982,'1971-01-01 00:00:00.000000',125,2570,30000,5), - (1000078,1000078,1983,'1968-01-01 00:00:00.000000',125,769,30000,11), - (1000079,1000079,1984,'1969-01-01 00:00:00.000000',125,1355,30000,11), - (1000080,1000080,1985,'1966-01-01 00:00:00.000000',500,869,30000,12); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000081,1000081,1986,'1968-01-01 00:00:00.000000',1000,646,30000,12), - (1000082,1000017,1987,'1968-01-01 00:00:00.000000',125,2459,30000,12), - (1000083,1000083,1988,'1967-01-01 00:00:00.000000',250,1380,30000,12), - (1000084,1000084,1989,'1966-01-01 00:00:00.000000',1000,873,30000,13), - (1000085,1000085,1990,'1970-01-01 00:00:00.000000',500,971,30000,13), - (1000086,1000086,1991,'1961-01-01 00:00:00.000000',125,2291,30000,13), - (1000087,1000129,2081,'1962-01-01 00:00:00.000000',125,2854,30000,13), - (1000088,1000087,1992,'1964-01-01 00:00:00.000000',125,2229,30000,13), - (1000089,1000088,1993,'1965-01-01 00:00:00.000000',250,1119,30000,13), - (1000090,1000089,1994,'1970-01-01 00:00:00.000000',500,1099,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000091,1000090,1995,'1970-01-01 00:00:00.000000',500,1043,30000,13), - (1000092,1000091,1996,'1973-01-01 00:00:00.000000',250,2140,30000,13), - (1000093,1000092,1997,'1955-01-01 00:00:00.000000',250,545,30000,15), - (1000094,1000093,1998,'1955-01-01 00:00:00.000000',500,533,30000,15), - (1000095,1000094,1999,'1955-01-01 00:00:00.000000',500,537,30000,15), - (1000096,1000095,2000,'1956-01-01 00:00:00.000000',500,538,30000,15), - (1000097,1000096,2001,'1956-01-01 00:00:00.000000',500,533,30000,15), - (1000098,1000097,2002,'1957-01-01 00:00:00.000000',1000,552,30000,15), - (1000099,1000098,2003,'1957-01-01 00:00:00.000000',500,595,30000,15), - (1000100,1000099,2004,'1957-01-01 00:00:00.000000',500,554,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000101,1000100,2005,'1958-01-01 00:00:00.000000',1000,551,30000,15), - (1000102,1000101,2006,'1959-01-01 00:00:00.000000',500,583,30000,15), - (1000103,1000102,2007,'1963-01-01 00:00:00.000000',125,3293,30000,3), - (1000104,1000103,2008,'1964-01-01 00:00:00.000000',125,2287,30000,3), - (1000105,1000104,2009,'1964-01-01 00:00:00.000000',500,1012,30000,3), - (1000106,1000105,2010,'1964-01-01 00:00:00.000000',500,908,30000,3), - (1000107,1000106,2011,'1970-01-01 00:00:00.000000',250,1434,30000,16), - (1000108,1000107,2012,'1970-01-01 00:00:00.000000',125,2925,30000,16), - (1000109,1000108,2013,'1971-01-01 00:00:00.000000',500,1454,30000,16), - (1000110,1000109,2014,'1972-01-01 00:00:00.000000',250,1410,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000112,1000111,2016,'1971-01-01 00:00:00.000000',250,1559,30000,17), - (1000113,1000112,2017,'1959-01-01 00:00:00.000000',125,2030,30000,1), - (1000114,1000113,2018,'1963-01-01 00:00:00.000000',500,940,30000,1), - (1000115,1000114,2019,'1965-01-01 00:00:00.000000',1000,887,30000,1), - (1000116,1000115,2020,'1964-01-01 00:00:00.000000',1000,838,30000,2), - (1000117,1000116,2021,'1965-01-01 00:00:00.000000',250,1117,30000,2), - (1000118,1000117,2022,'1968-01-01 00:00:00.000000',1000,838,30000,2), - (1000119,1000118,2023,'1967-01-01 00:00:00.000000',500,842,30000,2), - (1000120,1000119,2034,'1966-01-01 00:00:00.000000',500,982,30000,1), - (1000121,1000120,2037,'1962-01-01 00:00:00.000000',125,2116,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000122,1000121,2042,'1969-01-01 00:00:00.000000',500,1018,30000,6), - (1000123,1000122,2048,'1957-01-01 00:00:00.000000',500,831,30000,6), - (1000124,1000120,2050,'1962-01-01 00:00:00.000000',125,2116,30000,6), - (1000125,1000124,2051,'1962-01-01 00:00:00.000000',125,2844,30000,6), - (1000126,1000056,2055,'1962-01-01 00:00:00.000000',500,855,30000,19), - (1000127,1000125,2060,'1966-01-01 00:00:00.000000',125,2278,30000,5), - (1000128,1000126,2070,'1960-01-01 00:00:00.000000',500,1027,30000,13), - (1000129,1000127,2076,'1960-01-01 00:00:00.000000',125,2192,30000,13), - (1000130,1000128,2078,'1962-01-01 00:00:00.000000',250,1200,30000,13), - (1000131,1000130,2084,'1970-01-01 00:00:00.000000',15,2660,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000132,1000131,2086,'1958-01-01 00:00:00.000000',250,2033,30000,3), - (1000133,1000132,2088,'1960-01-01 00:00:00.000000',1000,892,30000,3), - (1000134,1000133,2094,'1966-01-01 00:00:00.000000',250,1115,30000,3), - (1000135,1000134,2096,'1962-01-01 00:00:00.000000',1000,814,30000,4), - (1000136,1000135,2098,'1963-01-01 00:00:00.000000',250,1036,30000,4), - (1000137,1000136,2101,'1963-01-01 00:00:00.000000',1000,813,30000,4), - (1000138,1000137,2102,'1965-01-01 00:00:00.000000',250,928,30000,4), - (1000139,1000138,2103,'1969-01-01 00:00:00.000000',125,2615,30000,4), - (1000140,1000139,2106,'1969-01-01 00:00:00.000000',500,879,30000,4), - (1000141,1000140,2107,'1969-01-01 00:00:00.000000',250,1308,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000142,1000141,2110,'1971-01-01 00:00:00.000000',1000,938,30000,1), - (1000143,1000142,2112,'1964-01-01 00:00:00.000000',60,2756,30000,1), - (1000144,1000143,2113,'1964-01-01 00:00:00.000000',250,1128,30000,1), - (1000145,1000144,2218,'1970-01-01 00:00:00.000000',125,2039,30000,7), - (1000146,1000145,2388,'1973-01-01 00:00:00.000000',1000,952,30000,13), - (1000147,1000146,2424,'1973-01-01 00:00:00.000000',125,1427,30000,5), - (1000148,1000147,2452,'1960-01-01 00:00:00.000000',0,491,30000,6), - (1000149,1000148,2455,'1966-01-01 00:00:00.000000',1000,1821,30000,14), - (1000150,1000149,2456,'1969-01-01 00:00:00.000000',500,1898,30000,14), - (1000151,1000150,2457,'1970-01-01 00:00:00.000000',250,1997,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000152,1000151,2458,'1970-01-01 00:00:00.000000',125,2291,30000,14), - (1000153,1000017,2467,'1964-01-01 00:00:00.000000',0,2459,30000,18), - (1000154,1000152,2480,'1940-01-01 00:00:00.000000',1,606,30000,20), - (1000155,1000153,2538,'1957-01-01 00:00:00.000000',125,1051,30000,7), - (1000156,1000154,2549,'1963-01-01 00:00:00.000000',15,2154,30000,19), - (1000157,1000155,2559,'1942-03-14 00:00:00.000000',60,599,30000,20), - (1000158,1000156,2560,'1942-05-16 00:00:00.000000',60,593,30000,20), - (1000159,1000157,2561,'1946-04-17 00:00:00.000000',60,930,30000,20), - (1000160,1000158,2562,'1947-08-20 00:00:00.000000',60,1724,30000,20), - (1000161,1000159,2563,'1962-02-12 00:00:00.000000',250,793,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000162,1000160,2564,'1955-04-17 00:00:00.000000',250,1791,30000,21), - (1000163,1000161,2565,'1960-06-11 00:00:00.000000',125,947,30000,21), - (1000164,1000162,2566,'1959-07-11 00:00:00.000000',60,1016,30000,21), - (1000165,1000163,2567,'1957-05-16 00:00:00.000000',60,1899,30000,9), - (1000166,1000164,2568,'1958-07-11 00:00:00.000000',60,1943,30000,9), - (1000167,1000165,2569,'1967-08-24 00:00:00.000000',30,3530,30000,18), - (1000168,1000166,2570,'1968-04-15 00:00:00.000000',15,3631,30000,18), - (1000169,1000167,2667,'1995-01-01 00:00:00.000000',30,2420,30000,10), - (1000170,1000168,2697,'1995-01-01 00:00:00.000000',0,9237,30000,5), - (1000171,1000169,2755,'1971-01-01 00:00:00.000000',0,5296,30000,14); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1000172,1000170,2771,'1971-01-01 00:00:00.000000',250,1933,30000,14), - (1000173,1000171,2772,'1972-01-01 00:00:00.000000',500,1911,30000,14), - (1000174,1000173,2873,'1970-01-01 00:00:00.000000',125,2606,30000,4), - (1000175,1000174,2874,'1968-01-01 00:00:00.000000',30,1798,30000,4), - (1000176,1000172,2875,'1971-01-01 00:00:00.000000',500,854,30000,4), - (1100001,1100001,1727,'1999-01-01 00:00:00.000000',1000,444,30000,6), - (1100002,1100017,1728,'1960-01-01 00:00:00.000000',1000,467,30000,2), - (1100003,1100003,167,'1999-01-01 00:00:00.000000',125,1308,30000,2), - (1100004,1100004,1729,'1999-01-01 00:00:00.000000',125,1403,30000,2), - (1100005,1100005,1726,'1999-01-01 00:00:00.000000',1000,452,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100006,1100006,1730,'1999-01-01 00:00:00.000000',30,2111,30000,2), - (1100007,1100007,1731,'1999-01-01 00:00:00.000000',30,2734,30000,2), - (1100008,1100008,1733,'1999-01-01 00:00:00.000000',30,2772,30000,2), - (1100009,1100009,1732,'1999-01-01 00:00:00.000000',30,3458,30000,2), - (1100010,1100018,1308,'1966-01-01 00:00:00.000000',1000,498,30000,3), - (1100011,1100011,1309,'1999-01-01 00:00:00.000000',1000,460,30000,7), - (1100012,1100012,1310,'1999-01-01 00:00:00.000000',1000,454,30000,8), - (1100013,1100013,1311,'1999-01-01 00:00:00.000000',1000,1052,30000,9), - (1100014,1100014,1312,'1999-01-01 00:00:00.000000',1000,480,30000,5), - (1100015,1100016,1313,'1999-01-01 00:00:00.000000',1000,485,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100016,1100020,1314,'1999-01-01 00:00:00.000000',1000,416,30000,10), - (1100017,1100021,1315,'1999-01-01 00:00:00.000000',1000,472,30000,12), - (1100018,1100022,1316,'1968-01-01 00:00:00.000000',1000,468,30000,11), - (1100019,1100023,1317,'1999-01-01 00:00:00.000000',1000,442,30000,14), - (1100020,1100024,1318,'1999-01-01 00:00:00.000000',1000,468,30000,13), - (1100021,1100002,1319,'1999-01-01 00:00:00.000000',500,734,30000,2), - (1100022,1100025,1320,'1956-01-01 00:00:00.000000',500,460,30000,6), - (1100023,1100026,1321,'1957-01-01 00:00:00.000000',60,1572,30000,6), - (1100024,1100010,1307,'1990-01-01 00:00:00.000000',30,1632,30000,2), - (1100025,1100015,1322,'1956-01-01 00:00:00.000000',250,1040,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100026,1100028,1323,'1957-01-01 00:00:00.000000',250,1078,30000,5), - (1100027,1100029,1324,'1970-01-01 00:00:00.000000',60,1725,30000,5), - (1100028,1100030,1325,'1968-01-01 00:00:00.000000',500,495,30000,7), - (1100029,1100031,1326,'1969-01-01 00:00:00.000000',250,1052,30000,7), - (1100030,1100032,1327,'1969-01-01 00:00:00.000000',250,1082,30000,7), - (1100031,1100033,1328,'1968-01-01 00:00:00.000000',250,1084,30000,11), - (1100032,1100034,1329,'1967-01-01 00:00:00.000000',250,1091,30000,12), - (1100033,1100035,1330,'1959-01-01 00:00:00.000000',60,1697,30000,13), - (1100034,1100036,1331,'1967-01-01 00:00:00.000000',125,1028,30000,13), - (1100035,1100037,1332,'1969-01-01 00:00:00.000000',250,1084,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100036,1100039,1333,'1963-01-01 00:00:00.000000',250,1089,30000,13), - (1100037,1100038,1334,'1961-01-01 00:00:00.000000',60,1745,30000,13), - (1100038,1100040,1336,'1956-01-01 00:00:00.000000',500,435,30000,15), - (1100039,1100041,1345,'1961-01-01 00:00:00.000000',250,1106,30000,3), - (1100040,1100042,1346,'1962-01-01 00:00:00.000000',250,1124,30000,3), - (1100041,1100043,1347,'1967-01-01 00:00:00.000000',0,4598,30000,3), - (1100042,1100044,1348,'1966-01-01 00:00:00.000000',250,1402,30000,3), - (1100043,1100045,1349,'1971-01-01 00:00:00.000000',60,2187,30000,17), - (1100044,1100046,1359,'1963-01-01 00:00:00.000000',250,1086,30000,1), - (1100045,1100049,1362,'1964-01-01 00:00:00.000000',30,3404,30000,18); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100046,1100047,1360,'1962-01-01 00:00:00.000000',250,1086,30000,1), - (1100047,1100048,1361,'1964-01-01 00:00:00.000000',60,1740,30000,1), - (1100048,1100050,1363,'1971-01-01 00:00:00.000000',250,1054,30000,2), - (1100049,1100051,1364,'1966-01-01 00:00:00.000000',125,1330,30000,14), - (1100050,1100052,1365,'1970-01-01 00:00:00.000000',60,1694,30000,14), - (1100052,1100054,1367,'1999-01-01 00:00:00.000000',30,2786,30000,9), - (1100053,1100055,1368,'1999-01-01 00:00:00.000000',30,2747,30000,7), - (1100054,1100056,1369,'1999-01-01 00:00:00.000000',30,2747,30000,8), - (1100055,1100057,1370,'1999-01-01 00:00:00.000000',30,2835,30000,5), - (1100056,1100058,1371,'1999-01-01 00:00:00.000000',30,2742,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100057,1100059,1372,'1999-01-01 00:00:00.000000',30,2772,30000,1), - (1100058,1100060,1373,'1999-01-01 00:00:00.000000',30,2890,30000,3), - (1100059,1100061,1374,'1999-01-01 00:00:00.000000',30,2846,30000,4), - (1100060,1100062,1375,'1999-01-01 00:00:00.000000',30,2846,30000,12), - (1100061,1100063,1376,'1999-01-01 00:00:00.000000',30,2846,30000,11), - (1100062,1100064,1377,'1999-01-01 00:00:00.000000',30,2772,30000,13), - (1100063,1100065,1378,'1965-01-01 00:00:00.000000',0,1024,30000,18), - (1100064,1100066,1379,'1999-01-01 00:00:00.000000',30,3520,30000,1), - (1100065,1100067,1380,'1999-01-01 00:00:00.000000',30,3520,30000,7), - (1100066,1100068,1381,'1999-01-01 00:00:00.000000',30,3458,30000,8); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100067,1100069,1382,'1999-01-01 00:00:00.000000',30,3597,30000,5), - (1100068,1100070,1383,'1999-01-01 00:00:00.000000',30,3458,30000,6), - (1100069,1100071,1385,'1999-01-01 00:00:00.000000',30,3501,30000,3), - (1100070,1100072,1386,'1999-01-01 00:00:00.000000',30,3494,30000,4), - (1100071,1100073,1387,'1999-01-01 00:00:00.000000',30,3597,30000,12), - (1100072,1100074,1390,'1999-01-01 00:00:00.000000',30,3458,30000,11), - (1100073,1100075,1391,'1999-01-01 00:00:00.000000',30,3520,30000,13), - (1100074,1100076,1392,'1999-01-01 00:00:00.000000',30,3520,30000,19), - (1100075,1100077,1393,'1999-01-01 00:00:00.000000',125,1320,30000,6), - (1100076,1100078,1394,'1999-01-01 00:00:00.000000',125,1355,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100077,1100079,1396,'1999-01-01 00:00:00.000000',125,1367,30000,3), - (1100078,1100080,1397,'1999-01-01 00:00:00.000000',125,1388,30000,1), - (1100079,1100081,1398,'1999-01-01 00:00:00.000000',125,1388,30000,7), - (1100080,1100082,1399,'1999-01-01 00:00:00.000000',125,1491,30000,5), - (1100081,1100083,1400,'1999-01-01 00:00:00.000000',125,1403,30000,6), - (1100082,1100084,1401,'1999-01-01 00:00:00.000000',125,1494,30000,3), - (1100083,1100085,1402,'1999-01-01 00:00:00.000000',125,1414,30000,4), - (1100085,1100087,1404,'1999-01-01 00:00:00.000000',125,1414,30000,11), - (1100086,1100088,1405,'1999-01-01 00:00:00.000000',125,1367,30000,13), - (1100088,1100090,1410,'1999-01-01 00:00:00.000000',30,1672,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100090,1100092,1412,'1999-01-01 00:00:00.000000',30,1752,30000,5), - (1100091,1100093,1413,'1999-01-01 00:00:00.000000',30,1683,30000,6), - (1100092,1100094,1414,'1999-01-01 00:00:00.000000',30,1791,30000,3), - (1100093,1100095,1415,'1999-01-01 00:00:00.000000',60,1678,30000,4), - (1100096,1100098,1418,'1999-01-01 00:00:00.000000',30,1668,30000,13), - (1100098,1100100,2065,'1968-01-01 00:00:00.000000',250,1065,30000,12), - (1100099,1100101,2068,'1959-01-01 00:00:00.000000',250,1028,30000,13), - (1100100,1100102,2072,'1959-01-01 00:00:00.000000',250,1091,32000,13), - (1100101,1100019,2100,'1964-01-01 00:00:00.000000',250,1033,30000,4), - (1100102,1100104,2421,'1965-01-01 00:00:00.000000',125,460,30000,4); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100103,1100105,2432,'1965-01-01 00:00:00.000000',125,963,30000,10), - (1100104,1100106,2443,'1960-01-01 00:00:00.000000',250,483,30000,8), - (1100105,1100107,2444,'1968-01-01 00:00:00.000000',125,1085,30000,9), - (1100106,1100108,2445,'1967-01-01 00:00:00.000000',125,1092,30000,5), - (1100107,1100109,2446,'1957-01-01 00:00:00.000000',500,467,30000,6), - (1100108,1100110,2447,'1965-01-01 00:00:00.000000',125,1049,30000,1), - (1100109,1100111,2448,'1968-01-01 00:00:00.000000',250,483,30000,12), - (1100110,1100112,2449,'1955-01-01 00:00:00.000000',125,1092,30000,13), - (1100111,1100113,2453,'1960-01-01 00:00:00.000000',0,394,30000,6), - (1100112,1100114,2474,'1940-01-01 00:00:00.000000',1000,462,30000,20); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100113,1100115,2482,'1953-01-01 00:00:00.000000',1000,500,30000,21), - (1100114,1100116,2494,'1970-01-01 00:00:00.000000',1000,483,30000,16), - (1100115,1100117,2495,'1971-01-01 00:00:00.000000',60,1443,30000,16), - (1100116,1100118,2496,'1972-01-01 00:00:00.000000',125,531,30000,16), - (1100117,1100119,2508,'1968-01-01 00:00:00.000000',1000,516,30000,17), - (1100118,1100120,2509,'1968-01-01 00:00:00.000000',125,545,30000,17), - (1100119,1100121,2529,'1954-01-01 00:00:00.000000',1000,396,30000,15), - (1100120,1100122,2542,'1958-01-01 00:00:00.000000',1000,457,30000,19), - (1100121,1100123,2543,'1958-01-01 00:00:00.000000',125,1096,30000,19), - (1100122,1100124,2544,'1963-01-01 00:00:00.000000',30,1717,30000,19); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100123,1100125,2575,'1955-03-21 00:00:00.000000',125,1003,30000,21), - (1100124,1100126,2576,'1955-03-21 00:00:00.000000',125,1014,30000,21), - (1100125,1100127,2577,'1947-01-15 00:00:00.000000',125,1012,30000,20), - (1100126,1100128,2578,'1947-01-15 00:00:00.000000',60,1026,30000,20), - (1100127,1100129,2698,'1964-01-01 00:00:00.000000',125,939,30000,15), - (1100128,1100130,2699,'1995-01-01 00:00:00.000000',125,1355,30000,14), - (1100129,1100131,2700,'1965-01-01 00:00:00.000000',250,483,30000,14), - (1100130,1100132,2701,'1995-01-01 00:00:00.000000',125,1355,30000,11), - (1100131,1100133,2702,'1995-01-01 00:00:00.000000',125,1384,30000,12), - (1100132,1100134,2871,'1957-01-01 00:00:00.000000',1000,413,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100133,1100135,2863,'1957-01-01 00:00:00.000000',1000,427,30000,15), - (1100134,1100136,2864,'1957-01-01 00:00:00.000000',1000,433,30000,15), - (1100135,1100137,2865,'1957-01-01 00:00:00.000000',125,1385,30000,15), - (1100136,1100138,2866,'1957-01-01 00:00:00.000000',125,1396,30000,15), - (1100137,1100139,2867,'1957-01-01 00:00:00.000000',125,1426,30000,15), - (1100138,1100140,2868,'1957-01-01 00:00:00.000000',125,1441,30000,15), - (1100139,1100141,2869,'1957-01-01 00:00:00.000000',60,2363,30000,15), - (1100140,1100142,2870,'1957-01-01 00:00:00.000000',60,2432,30000,15), - (1100141,1100148,3024,'1963-01-01 00:00:00.000000',500,499,30000,21), - (1100142,1100149,3025,'1963-01-01 00:00:00.000000',500,506,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100143,1100143,3019,'1963-01-01 00:00:00.000000',500,514,30000,21), - (1100144,1100144,3020,'1963-01-01 00:00:00.000000',500,530,30000,21), - (1100145,1100145,3021,'1963-01-01 00:00:00.000000',250,538,30000,21), - (1100146,1100146,3022,'1963-01-01 00:00:00.000000',250,1086,30000,21), - (1100147,1100147,3023,'1963-01-01 00:00:00.000000',125,1106,30000,21), - (1100148,1100159,3625,'1968-01-01 00:00:00.000000',0,3447,30000,18), - (1100149,1100154,3620,'1968-01-01 00:00:00.000000',250,554,30000,18), - (1100150,1100155,3619,'1968-01-01 00:00:00.000000',125,2119,30000,18), - (1100151,1100156,3616,'1968-01-01 00:00:00.000000',500,514,30000,9), - (1100152,1100153,3621,'1968-01-01 00:00:00.000000',125,1547,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1100153,1100152,3622,'1968-01-01 00:00:00.000000',125,1730,30000,16), - (1100154,1100158,3618,'1968-01-01 00:00:00.000000',0,3385,30000,9), - (1100155,1100150,3624,'1968-01-01 00:00:00.000000',250,545,30000,17), - (1100156,1100151,3623,'1968-01-01 00:00:00.000000',250,473,30000,16), - (1100157,1100157,3617,'1968-01-01 00:00:00.000000',250,524,30000,9), - (1100158,1100160,3650,'1957-01-01 00:00:00.000000',500,454,30000,6), - (1100159,1100161,3773,'1935-01-01 00:00:00.000000',60,960,30000,10), - (1200001,1200001,168,'1958-01-01 00:00:00.000000',1000,74,30000,5), - (1200002,1200002,169,'1964-01-01 00:00:00.000000',1000,74,30000,2), - (1200003,1200003,189,'1999-01-01 00:00:00.000000',1000,74,30000,3); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200004,1200004,892,'1990-01-01 00:00:00.000000',60,705,30000,3), - (1200005,1200005,893,'1970-01-01 00:00:00.000000',60,614,30000,17), - (1200006,1200006,1294,'1966-01-01 00:00:00.000000',1000,128,30000,5), - (1200007,1200007,1299,'1964-01-01 00:00:00.000000',125,556,30000,1), - (1200008,1200008,1465,'1990-01-01 00:00:00.000000',125,160,30000,3), - (1200009,1200009,1469,'1990-01-01 00:00:00.000000',125,561,30000,3), - (1200010,1200010,1470,'1990-01-01 00:00:00.000000',125,901,30000,3), - (1200011,1200011,1468,'1990-01-01 00:00:00.000000',250,195,30000,3), - (1200012,1200012,1913,'1990-01-01 00:00:00.000000',1000,74,30000,7), - (1200013,1200013,1914,'1953-01-01 00:00:00.000000',1000,74,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200014,1200014,1915,'1990-01-01 00:00:00.000000',1000,361,30000,9), - (1200015,1200015,1916,'1990-01-01 00:00:00.000000',1000,74,30000,1), - (1200017,1200017,1918,'1990-01-01 00:00:00.000000',1000,74,30000,4), - (1200018,1200018,1919,'1990-01-01 00:00:00.000000',100,74,30000,10), - (1200019,1200019,1920,'1990-01-01 00:00:00.000000',1000,74,30000,12), - (1200020,1200020,1921,'1968-01-01 00:00:00.000000',1000,74,30000,11), - (1200021,1200021,1922,'1966-01-01 00:00:00.000000',1000,74,30000,14), - (1200022,1200022,1923,'1990-01-01 00:00:00.000000',1000,124,30000,8), - (1200023,1200023,1924,'1990-01-01 00:00:00.000000',125,561,30000,6), - (1200024,1200024,1925,'1990-01-01 00:00:00.000000',125,561,30000,5); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200025,1200025,1926,'1990-01-01 00:00:00.000000',60,616,30000,5), - (1200026,1200026,1927,'1990-01-01 00:00:00.000000',125,561,30000,13), - (1200027,1200027,1928,'1990-01-01 00:00:00.000000',125,506,30000,15), - (1200028,1200028,1929,'1990-01-01 00:00:00.000000',125,561,30000,3), - (1200029,1200029,1930,'1990-01-01 00:00:00.000000',125,561,30000,3), - (1200030,1200030,1931,'1990-01-01 00:00:00.000000',0,671,30000,3), - (1200031,1200031,1932,'1990-01-01 00:00:00.000000',125,561,30000,3), - (1200032,1200032,1933,'1990-01-01 00:00:00.000000',125,561,30000,1), - (1200033,1200033,1934,'1990-01-01 00:00:00.000000',125,561,30000,2), - (1200034,1200034,2036,'1955-01-01 00:00:00.000000',1000,74,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200035,1200035,2039,'1959-01-01 00:00:00.000000',1000,74,30000,13), - (1200036,1200036,2077,'1960-01-01 00:00:00.000000',125,561,30000,14), - (1200037,1200037,2079,'1961-01-01 00:00:00.000000',250,561,30000,13), - (1200038,1200038,2099,'1964-01-01 00:00:00.000000',125,561,30000,4), - (1200039,1200039,2468,'1964-01-01 00:00:00.000000',15,616,30000,18), - (1200040,1200040,2469,'1964-01-01 00:00:00.000000',0,124,30000,18), - (1200041,1200041,2472,'1970-01-01 00:00:00.000000',60,160,30000,18), - (1200042,1200042,2478,'1940-01-01 00:00:00.000000',1000,74,30000,20), - (1200043,1200043,2503,'1970-01-01 00:00:00.000000',1000,74,30000,16), - (1200044,1200044,2504,'1971-01-01 00:00:00.000000',60,616,30000,16); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200045,1200045,2516,'1968-01-01 00:00:00.000000',1000,74,30000,17), - (1200046,1200047,2517,'1969-01-01 00:00:00.000000',125,229,30000,17), - (1200047,1200046,2518,'1970-01-01 00:00:00.000000',60,561,30000,17), - (1200048,1200048,2534,'1954-01-01 00:00:00.000000',1000,506,30000,15), - (1200049,1200049,2546,'1958-01-01 00:00:00.000000',1000,74,30000,19), - (1200050,1200050,2547,'1958-01-01 00:00:00.000000',125,411,30000,19), - (1200051,1200051,2628,'1955-02-10 00:00:00.000000',125,411,30000,21), - (1200052,1200052,2629,'1968-03-17 00:00:00.000000',125,411,30000,8), - (1200053,1200053,2630,'1968-03-17 00:00:00.000000',125,411,30000,7), - (1200054,1200054,2631,'1946-02-26 00:00:00.000000',1000,133,30000,20); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200055,1200056,2632,'1957-01-16 00:00:00.000000',60,411,30000,9), - (1200056,1200055,2633,'1938-04-20 00:00:00.000000',1000,133,30000,10), - (1200057,1200057,2634,'1968-03-11 00:00:00.000000',60,411,30000,11), - (1200058,1200058,2635,'1968-03-11 00:00:00.000000',125,411,30000,12), - (1200059,1200059,2692,'1995-01-01 00:00:00.000000',250,149,30000,14), - (1200060,1200061,2704,'1995-01-01 00:00:00.000000',250,149,30000,5), - (1200061,1200060,2705,'1995-01-01 00:00:00.000000',250,149,30000,6), - (1200062,1200063,2706,'1995-01-01 00:00:00.000000',250,149,30000,1), - (1200063,1200062,2707,'1995-01-01 00:00:00.000000',250,149,30000,2), - (1200064,1200067,2708,'1995-01-01 00:00:00.000000',250,149,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200065,1200066,2709,'1995-01-01 00:00:00.000000',250,149,30000,3), - (1200066,1200065,2710,'1995-01-01 00:00:00.000000',250,149,30000,16), - (1200067,1200064,2711,'1995-01-01 00:00:00.000000',250,149,30000,4), - (1200068,1200069,2712,'1995-01-01 00:00:00.000000',250,149,30000,12), - (1200069,1200068,2713,'1995-01-01 00:00:00.000000',125,149,30000,11), - (1200070,1200070,2714,'1995-01-01 00:00:00.000000',250,149,30000,13), - (1200071,1200071,2715,'1995-01-01 00:00:00.000000',30,891,30000,3), - (1200072,1200074,2716,'1995-01-01 00:00:00.000000',125,160,30000,8), - (1200073,1200079,2717,'1995-01-01 00:00:00.000000',125,160,30000,5), - (1200074,1200076,2718,'1995-01-01 00:00:00.000000',125,160,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200075,1200082,2719,'1995-01-01 00:00:00.000000',125,160,30000,19), - (1200076,1200088,2720,'1995-01-01 00:00:00.000000',125,160,30000,1), - (1200077,1200085,2721,'1995-01-01 00:00:00.000000',125,160,30000,2), - (1200078,1200099,2722,'1995-01-01 00:00:00.000000',125,160,30000,17), - (1200079,1200096,2723,'1995-01-01 00:00:00.000000',125,160,30000,16), - (1200080,1200093,2724,'1995-01-01 00:00:00.000000',125,160,30000,4), - (1200081,1200072,2725,'1995-01-01 00:00:00.000000',60,642,30000,14), - (1200082,1200075,2726,'1998-01-01 00:00:00.000000',60,642,30000,8), - (1200083,1200080,2727,'1995-01-01 00:00:00.000000',60,642,30000,5), - (1200084,1200077,2728,'1999-01-01 00:00:00.000000',60,642,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200085,1200083,2729,'1999-01-01 00:00:00.000000',60,642,30000,19), - (1200086,1200089,2730,'1999-01-01 00:00:00.000000',60,642,30000,1), - (1200087,1200086,2732,'1999-01-01 00:00:00.000000',60,642,30000,2), - (1200088,1200091,2731,'1999-01-01 00:00:00.000000',30,642,30000,18), - (1200089,1200100,2733,'1999-01-01 00:00:00.000000',60,705,30000,17), - (1200090,1200097,2734,'1999-01-01 00:00:00.000000',60,705,30000,16), - (1200091,1200094,2735,'1999-01-01 00:00:00.000000',60,705,30000,4), - (1200092,1200073,2736,'1999-01-01 00:00:00.000000',30,891,30000,14), - (1200093,1200081,2737,'1999-01-01 00:00:00.000000',30,946,30000,5), - (1200094,1200078,2738,'1999-01-01 00:00:00.000000',30,946,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200095,1200084,2739,'1999-01-01 00:00:00.000000',30,946,30000,19), - (1200096,1200090,2740,'1999-01-01 00:00:00.000000',30,946,30000,1), - (1200097,1200092,2741,'1999-01-01 00:00:00.000000',15,946,30000,18), - (1200098,1200087,2742,'1999-01-01 00:00:00.000000',30,946,30000,2), - (1200099,1200101,2743,'1999-01-01 00:00:00.000000',30,946,30000,17), - (1200100,1200098,2744,'1999-01-01 00:00:00.000000',30,1001,30000,16), - (1200101,1200095,2745,'1999-01-01 00:00:00.000000',30,891,30000,4), - (1200102,1200108,2746,'1999-01-01 00:00:00.000000',125,160,30000,12), - (1200103,1200102,2747,'1999-01-01 00:00:00.000000',125,160,30000,11), - (1200104,1200105,2748,'1999-01-01 00:00:00.000000',125,160,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200105,1200109,2749,'1999-01-01 00:00:00.000000',60,642,30000,12), - (1200106,1200103,2750,'1999-01-01 00:00:00.000000',60,642,30000,11), - (1200107,1200106,2751,'1999-01-01 00:00:00.000000',60,642,30000,13), - (1200108,1200110,2752,'1999-01-01 00:00:00.000000',30,946,30000,12), - (1200109,1200104,2753,'1999-01-01 00:00:00.000000',30,946,30000,11), - (1200110,1200107,2754,'1999-01-01 00:00:00.000000',30,946,30000,13), - (1200111,1200115,2833,'1957-01-01 00:00:00.000000',125,551,30000,15), - (1200112,1200113,2829,'1957-01-01 00:00:00.000000',60,951,30000,15), - (1200113,1200116,2834,'1957-01-01 00:00:00.000000',125,821,30000,15), - (1200114,1200114,2832,'1957-01-01 00:00:00.000000',125,506,30000,15); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200115,1200117,2830,'1957-01-01 00:00:00.000000',125,551,30000,15), - (1200116,1200111,2827,'1957-01-01 00:00:00.000000',125,506,30000,15), - (1200117,1200112,2828,'1957-01-01 00:00:00.000000',60,655,30000,15), - (1200118,1200118,2831,'1957-01-01 00:00:00.000000',125,554,30000,15), - (1200119,1200123,2915,'1964-01-01 00:00:00.000000',250,133,30000,6), - (1200120,1200122,2914,'1964-01-01 00:00:00.000000',125,614,30000,6), - (1200121,1200121,2913,'1964-01-01 00:00:00.000000',30,1084,30000,6), - (1200122,1200124,2916,'1964-01-01 00:00:00.000000',30,990,30000,6), - (1200123,1200119,2911,'1964-01-01 00:00:00.000000',60,674,30000,6), - (1200124,1200120,2912,'1964-01-01 00:00:00.000000',500,133,30000,6); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200125,1200131,2994,'1965-01-01 00:00:00.000000',500,128,30000,21), - (1200126,1200127,2990,'1965-01-01 00:00:00.000000',125,848,30000,21), - (1200127,1200132,2995,'1965-01-01 00:00:00.000000',125,482,30000,21), - (1200128,1200138,3001,'1965-01-01 00:00:00.000000',250,224,30000,4), - (1200129,1200126,2989,'1965-01-01 00:00:00.000000',250,181,30000,21), - (1200130,1200139,3002,'1965-01-01 00:00:00.000000',125,942,30000,4), - (1200131,1200128,2991,'1965-01-01 00:00:00.000000',125,901,30000,21), - (1200132,1200137,3000,'1965-01-01 00:00:00.000000',125,535,30000,4), - (1200133,1200129,2992,'1965-01-01 00:00:00.000000',125,511,30000,21), - (1200134,1200130,2993,'1965-01-01 00:00:00.000000',125,559,30000,21); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200135,1200135,2998,'1965-01-01 00:00:00.000000',125,535,30000,4), - (1200136,1200133,2996,'1965-01-01 00:00:00.000000',125,535,30000,4), - (1200137,1200134,2997,'1965-01-01 00:00:00.000000',60,674,30000,4), - (1200138,1200125,2988,'1965-01-01 00:00:00.000000',60,559,30000,21), - (1200139,1200140,2999,'1965-01-01 00:00:00.000000',60,705,30000,4), - (1200140,1200142,3070,'1966-01-01 00:00:00.000000',75,1096,30000,2), - (1200141,1200143,3072,'1966-01-01 00:00:00.000000',125,861,30000,2), - (1200142,1200141,3071,'1966-01-01 00:00:00.000000',250,511,30000,2), - (1200143,1200144,3107,'1966-01-01 00:00:00.000000',75,1096,30000,13), - (1200144,1200145,3108,'1966-01-01 00:00:00.000000',75,1047,30000,13); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200145,1200165,3282,'1967-01-01 00:00:00.000000',0,1260,30000,9), - (1200146,1200180,3297,'1967-01-01 00:00:00.000000',500,254,30000,14), - (1200147,1200173,3290,'1967-01-01 00:00:00.000000',500,254,30000,19), - (1200148,1200166,3283,'1967-01-01 00:00:00.000000',500,254,30000,9), - (1200149,1200181,3298,'1967-01-01 00:00:00.000000',250,587,30000,14), - (1200150,1200174,3291,'1967-01-01 00:00:00.000000',250,587,30000,19), - (1200151,1200167,3284,'1967-01-01 00:00:00.000000',250,587,30000,9), - (1200152,1200179,3296,'1967-01-01 00:00:00.000000',0,1260,30000,14), - (1200153,1200148,3265,'1967-01-01 00:00:00.000000',0,1260,30000,16), - (1200154,1200153,3270,'1967-01-01 00:00:00.000000',0,1260,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200155,1200186,3303,'1967-01-01 00:00:00.000000',0,1260,30000,12), - (1200156,1200159,3276,'1967-01-01 00:00:00.000000',0,1260,30000,18), - (1200157,1200172,3289,'1967-01-01 00:00:00.000000',0,1260,30000,19), - (1200158,1200190,3307,'1967-01-01 00:00:00.000000',0,1260,30000,1), - (1200159,1200191,3308,'1967-01-01 00:00:00.000000',0,1260,30000,5), - (1200160,1200175,3292,'1967-01-01 00:00:00.000000',75,1001,30000,19), - (1200161,1200182,3299,'1967-01-01 00:00:00.000000',75,1001,30000,14), - (1200162,1200160,3277,'1967-01-01 00:00:00.000000',50,1001,30000,18), - (1200163,1200192,3309,'1967-01-01 00:00:00.000000',75,1001,30000,5), - (1200164,1200168,3285,'1967-01-01 00:00:00.000000',75,1001,30000,9); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200165,1200169,3286,'1967-01-01 00:00:00.000000',250,233,30000,19), - (1200166,1200176,3293,'1967-01-01 00:00:00.000000',250,233,30000,14), - (1200167,1200162,3279,'1967-01-01 00:00:00.000000',250,233,30000,9), - (1200168,1200183,3300,'1967-01-01 00:00:00.000000',250,242,30000,12), - (1200169,1200156,3275,'1967-01-01 00:00:00.000000',250,242,30000,18), - (1200170,1200187,3304,'1967-01-01 00:00:00.000000',250,233,30000,1), - (1200171,1200163,3280,'1967-01-01 00:00:00.000000',250,535,30000,9), - (1200172,1200157,3273,'1967-01-01 00:00:00.000000',125,535,30000,18), - (1200173,1200189,3306,'1967-01-01 00:00:00.000000',250,614,30000,1), - (1200174,1200151,3268,'1967-01-01 00:00:00.000000',250,535,30000,17); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200175,1200146,3263,'1967-01-01 00:00:00.000000',250,535,30000,16), - (1200176,1200170,3287,'1967-01-01 00:00:00.000000',250,535,30000,19), - (1200177,1200177,3294,'1967-01-01 00:00:00.000000',250,535,30000,14), - (1200178,1200184,3301,'1967-01-01 00:00:00.000000',250,535,30000,12), - (1200179,1200161,3278,'1967-01-01 00:00:00.000000',500,212,30000,9), - (1200180,1200149,3266,'1967-01-01 00:00:00.000000',125,1047,30000,16), - (1200181,1200154,3271,'1967-01-01 00:00:00.000000',125,1047,30000,17), - (1200182,1200152,3269,'1967-01-01 00:00:00.000000',125,698,30000,17), - (1200183,1200178,3295,'1967-01-01 00:00:00.000000',125,698,30000,14), - (1200184,1200189,3306,'1967-01-01 00:00:00.000000',125,614,30000,1); -INSERT INTO BrandedPart (BrandedPartID,PartTypeID,ModelID,MfgDate,QtyAvail,RetailPrice,MaxItemWear,EngineBlockFamilyID) VALUES - (1200185,1200185,3302,'1967-01-01 00:00:00.000000',125,698,30000,12), - (1200186,1200147,3264,'1967-01-01 00:00:00.000000',125,698,30000,16), - (1200187,1200171,3288,'1967-01-01 00:00:00.000000',125,698,30000,19), - (1200188,1200164,3281,'1967-01-01 00:00:00.000000',125,698,30000,9), - (1200189,1200158,3274,'1967-01-01 00:00:00.000000',125,698,30000,18), - (1200190,1200155,3272,'1967-01-01 00:00:00.000000',0,1132,30000,17), - (1200191,1200150,3267,'1967-01-01 00:00:00.000000',0,1132,30000,16), - (1200192,1200193,3771,'1995-01-01 00:00:00.000000',60,579,30000,10); diff --git a/migrations/2024.02.11T23.30.06.initialPart.sql b/migrations/2024.02.11T23.30.06.initialPart.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/2024.02.11T23.30.06.initialPart.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/2024.02.11T23.30.44.initialDriverClass.sql b/migrations/2024.02.11T23.30.44.initialDriverClass.sql deleted file mode 100644 index 5966176eb..000000000 --- a/migrations/2024.02.11T23.30.44.initialDriverClass.sql +++ /dev/null @@ -1,4 +0,0 @@ -INSERT INTO DriverClass (DriverClassID,DriverClass) VALUES - (0,'C'), - (1,'B'), - (2,'A'); diff --git a/migrations/2024.02.11T23.32.01.initialPlayerType.sql b/migrations/2024.02.11T23.32.01.initialPlayerType.sql deleted file mode 100644 index 1122e2ce5..000000000 --- a/migrations/2024.02.11T23.32.01.initialPlayerType.sql +++ /dev/null @@ -1,6 +0,0 @@ -INSERT INTO PlayerType (PlayerTypeID,PlayerType) VALUES - (1,'System'), - (2,'Admin'), - (3,'Player'), - (4,'Deleted Player'), - (5,'Escrow'); diff --git a/migrations/2024.02.11T23.32.44.initialPlayer.sql b/migrations/2024.02.11T23.32.44.initialPlayer.sql deleted file mode 100644 index 4213dc5b7..000000000 --- a/migrations/2024.02.11T23.32.44.initialPlayer.sql +++ /dev/null @@ -1,567 +0,0 @@ -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (0,0,5,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Null Name',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (1,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Muscle Mike','1235 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (2,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Auto Barn','1236 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (3,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Fat Fender Freddy','1237 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (4,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Righteous Ride','1238 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (5,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Classic Chrysler','1239 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (6,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','All Factory Ford','1240 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (7,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Shoebox Showroom','1241 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (8,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Original GM','1242 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (9,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Scrappy','1243 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (10,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Joe','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (11,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','AI Administrator','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (12,0,1,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Editorials','1244 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (13,0,5,0,0,'1900-01-01 00:00:00.000000',0,999999,0,0,0,0,NULL,'0 ','0 ','0 ','0 ','0 ','0 ','xxx','Escrow','1234 A Street','ABCDEFGHIJKLMNOPQRST',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (14,0,1,0,0,'1900-01-01 00:00:00.000000',0,250000,0,0,0,0,NULL,'0','0','0','0','0','0','xxxx','PartAuction','0','0',NULL,NULL,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,0,0,0,0,0,0,0,0,NULL,NULL,0,0,0,0,0,0,0,0,0,0,0,0,0,0), - (500,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,0,'AI Racer','00','01','02','03','04','05','303872ia','AI Racer 500','12390 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,47,104,0,3,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (501,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','392562ia','AI Racer 501','19030 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,488,135,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (502,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','754473ia','AI Racer 502','24667 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,45,104,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (503,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,39,'AI Racer','00','01','02','03','04','05','655218ia','AI Racer 503','19862 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,424,256,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (504,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','661274ia','AI Racer 504','17633 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,0,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,320,124,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (505,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','748672ia','AI Racer 505','5973 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,341,126,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (506,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','743362ia','AI Racer 506','20530 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,479,135,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (507,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','150424ia','AI Racer 507','14501 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,208,117,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (508,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','670230ia','AI Racer 508','11518 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (509,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','676802ia','AI Racer 509','17074 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,1,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,164,114,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (510,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','216809ia','AI Racer 510','1 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,332,125,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (511,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','450489ia','AI Racer 511','17156 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,157,113,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (512,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','880258ia','AI Racer 512','4278 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,403,130,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (513,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','325247ia','AI Racer 513','1923 26th Street','Bonneville',NULL,NULL,NULL,NULL,2,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,334,125,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (514,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','985983ia','AI Racer 514','4582 27th Street','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,648,134,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (515,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','219306ia','AI Racer 515','5913 Van Way','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,410,131,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (516,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','712898ia','AI Racer 516','22855 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,340,126,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (517,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','769085ia','AI Racer 517','21038 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (518,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','460272ia','AI Racer 518','9291 32nd Street','Bonneville',NULL,NULL,NULL,NULL,3,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,561,113,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (519,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','83745ia','AI Racer 519','12505 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,427,132,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (520,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','469201ia','AI Racer 520','28280 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,520,103,0,4,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (521,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','387318ia','AI Racer 521','5676 Van Way','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,58,105,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (522,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','481939ia','AI Racer 522','167 35th Street','Bonneville',NULL,NULL,NULL,NULL,4,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,162,114,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (523,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','219602ia','AI Racer 523','5377 32nd Street','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,94,109,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (524,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','98237ia','AI Racer 524','2966 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,28,102,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (525,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','550891ia','AI Racer 525','8909 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,426,132,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (526,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','82933ia','AI Racer 526','27132 33rd Street','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,299,123,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (527,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','602424ia','AI Racer 527','13996 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,5,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,528,105,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (528,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','837365ia','AI Racer 528','16577 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,185,115,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (529,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','568712ia','AI Racer 529','157 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,64,105,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (530,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','486006ia','AI Racer 530','21699 38th Street','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,624,128,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (531,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','150879ia','AI Racer 531','13759 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,6,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,304,123,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (532,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','498768ia','AI Racer 532','15100 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,232,119,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (533,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','697447ia','AI Racer 533','7870 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,73,106,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (534,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','914165ia','AI Racer 534','12865 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,16,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (535,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','585301ia','AI Racer 535','15917 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,370,128,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (536,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','696998ia','AI Racer 536','29129 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,7,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,403,130,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (537,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','485027ia','AI Racer 537','11864 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,154,113,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (538,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','509577ia','AI Racer 538','18755 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,1,101,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (539,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','179998ia','AI Racer 539','27924 Newport Way','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,569,115,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (540,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','35476ia','AI Racer 540','2526 35th Street','Bonneville',NULL,NULL,NULL,NULL,8,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,344,126,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (541,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','974717ia','AI Racer 541','11837 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,20,102,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (542,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','464742ia','AI Racer 542','4093 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (543,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','754074ia','AI Racer 543','4268 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,30,103,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (544,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','804176ia','AI Racer 544','24503 Van Way','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,491,135,0,1,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (545,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','994626ia','AI Racer 545','2186 39th Street','Bonneville',NULL,NULL,NULL,NULL,9,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (546,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','94126ia','AI Racer 546','4524 33rd Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (547,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','571815ia','AI Racer 547','6931 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,99,109,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (548,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','160096ia','AI Racer 548','11826 27th Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,295,123,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (549,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','227074ia','AI Racer 549','24213 34th Street','Bonneville',NULL,NULL,NULL,NULL,10,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,150,112,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (550,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','936708ia','AI Racer 550','21767 30th Street','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,191,116,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (551,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','330081ia','AI Racer 551','20248 Spark Street','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,280,122,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (552,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','852519ia','AI Racer 552','1585 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,504,108,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (553,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','25095ia','AI Racer 553','742 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,491,135,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (554,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','476593ia','AI Racer 554','23289 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,11,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,421,132,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (555,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','79046ia','AI Racer 555','11493 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,212,118,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (556,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','421062ia','AI Racer 556','11511 Newport Way','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,644,133,0,4,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (557,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','834459ia','AI Racer 557','2578 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,158,113,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (558,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','185804ia','AI Racer 558','3130 Main Street','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,207,117,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (559,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','292551ia','AI Racer 559','22628 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,12,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,101,109,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (560,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','301945ia','AI Racer 560','15902 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,301,123,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (561,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','939129ia','AI Racer 561','11995 30th Street','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,331,125,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (562,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','842129ia','AI Racer 562','15070 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,227,119,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (563,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','522294ia','AI Racer 563','25688 Newport Way','Bonneville',NULL,NULL,NULL,NULL,13,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,124,111,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (564,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','430746ia','AI Racer 564','12809 35th Street','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,550,110,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (565,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','74483ia','AI Racer 565','13403 Van Way','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,141,112,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (566,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','488746ia','AI Racer 566','29792 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,610,125,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (567,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','360001ia','AI Racer 567','29357 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,349,126,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (568,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','182796ia','AI Racer 568','16647 30th Street','Bonneville',NULL,NULL,NULL,NULL,14,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,490,135,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (569,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','817095ia','AI Racer 569','7805 37th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (570,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','596776ia','AI Racer 570','12112 34th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,541,108,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (571,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','376237ia','AI Racer 571','28270 32nd Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,51,104,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (572,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','326326ia','AI Racer 572','8675 39th Street','Bonneville',NULL,NULL,NULL,NULL,15,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,586,119,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (573,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','224231ia','AI Racer 573','28187 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,582,118,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (574,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','520429ia','AI Racer 574','18809 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,226,119,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (575,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','964865ia','AI Racer 575','3780 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,606,124,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (576,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','866643ia','AI Racer 576','21809 32nd Street','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,40,103,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (577,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','626184ia','AI Racer 577','25887 35th Street','Bonneville',NULL,NULL,NULL,NULL,16,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,175,114,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (578,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','392980ia','AI Racer 578','4362 40th Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,14,101,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (579,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','949799ia','AI Racer 579','23535 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,395,130,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (580,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','273343ia','AI Racer 580','26913 31st Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,55,105,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (581,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','76510ia','AI Racer 581','27342 38th Street','Bonneville',NULL,NULL,NULL,NULL,17,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,468,134,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (582,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','813472ia','AI Racer 582','12153 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,561,113,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (583,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','110644ia','AI Racer 583','20152 40th Street','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,425,132,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (584,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','749440ia','AI Racer 584','28765 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,332,125,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (585,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','841527ia','AI Racer 585','16354 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,75,106,0,6,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (586,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','241745ia','AI Racer 586','12041 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,18,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,362,127,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (587,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','659771ia','AI Racer 587','795 Main Street','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,143,112,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (588,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','26899ia','AI Racer 588','3545 39th Street','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,380,129,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (589,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','416064ia','AI Racer 589','25498 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,113,110,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (590,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','768108ia','AI Racer 590','20187 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,19,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,413,131,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (591,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','701220ia','AI Racer 591','1649 40th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,65,106,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (592,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','622845ia','AI Racer 592','21062 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (593,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','411571ia','AI Racer 593','23654 37th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,343,126,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (594,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','66525ia','AI Racer 594','12399 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,49,104,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (595,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','273352ia','AI Racer 595','2731 39th Street','Bonneville',NULL,NULL,NULL,NULL,20,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,521,103,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (596,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','154000ia','AI Racer 596','2787 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,204,117,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (597,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','423723ia','AI Racer 597','9138 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (598,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','671710ia','AI Racer 598','19830 40th Street','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,46,104,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (599,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','679830ia','AI Racer 599','11928 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,21,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,207,117,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (600,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','522491ia','AI Racer 600','867 28th Street','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,358,127,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (601,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','173515ia','AI Racer 601','20635 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,250,120,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (602,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','17008ia','AI Racer 602','3799 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,644,133,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (603,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','723724ia','AI Racer 603','27178 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,291,122,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (604,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','912010ia','AI Racer 604','28794 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,22,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,71,106,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (605,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','856571ia','AI Racer 605','23770 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (606,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','361569ia','AI Racer 606','27936 Van Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (607,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','430294ia','AI Racer 607','9465 Newport Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (608,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','200002ia','AI Racer 608','18734 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,393,129,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (609,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','761006ia','AI Racer 609','3122 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,23,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,209,117,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (610,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','354954ia','AI Racer 610','7308 36th Street','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,242,120,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (611,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','941120ia','AI Racer 611','4992 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (612,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','997661ia','AI Racer 612','1284 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (613,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','784622ia','AI Racer 613','10704 35th Street','Bonneville',NULL,NULL,NULL,NULL,24,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (614,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','610071ia','AI Racer 614','5439 40th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,7,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (615,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','154341ia','AI Racer 615','26774 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (616,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','603120ia','AI Racer 616','13229 36th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,126,111,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (617,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','84166ia','AI Racer 617','13098 39th Street','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,9,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (618,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','751322ia','AI Racer 618','8804 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,25,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (619,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','156450ia','AI Racer 619','7359 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,373,128,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (620,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','311080ia','AI Racer 620','12471 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,198,116,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (621,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','109171ia','AI Racer 621','16179 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (622,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','21143ia','AI Racer 622','7698 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,26,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,620,127,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (623,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','494328ia','AI Racer 623','22080 33rd Street','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,185,115,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (624,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','67631ia','AI Racer 624','23832 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,70,106,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (625,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','409432ia','AI Racer 625','16188 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,536,107,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (626,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','123659ia','AI Racer 626','7518 32nd Street','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (627,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','839593ia','AI Racer 627','10874 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,27,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (628,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','109316ia','AI Racer 628','11119 Newport Way','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,318,124,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (629,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','291280ia','AI Racer 629','28506 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (630,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','473923ia','AI Racer 630','5033 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,132,111,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (631,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','407098ia','AI Racer 631','21929 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,28,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (632,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','922459ia','AI Racer 632','26513 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (633,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','8727ia','AI Racer 633','9820 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (634,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','319287ia','AI Racer 634','1729 32nd Street','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (635,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','139794ia','AI Racer 635','14163 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (636,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','522918ia','AI Racer 636','25350 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,29,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,252,120,0,5,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (637,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','814006ia','AI Racer 637','24547 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (638,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','968628ia','AI Racer 638','29310 40th Street','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,7,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (639,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','486332ia','AI Racer 639','133 35th Street','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (640,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','378921ia','AI Racer 640','28711 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,30,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (641,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','867790ia','AI Racer 641','13602 36th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (642,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','169255ia','AI Racer 642','17079 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (643,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','637397ia','AI Racer 643','12225 28th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (644,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','260694ia','AI Racer 644','5682 36th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,370,128,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (645,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','193921ia','AI Racer 645','1517 29th Street','Bonneville',NULL,NULL,NULL,NULL,31,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (646,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','383668ia','AI Racer 646','22413 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (647,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','418331ia','AI Racer 647','24800 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,598,122,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (648,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','498356ia','AI Racer 648','6111 34th Street','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (649,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','394224ia','AI Racer 649','17302 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,32,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,177,115,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (650,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','46273ia','AI Racer 650','17762 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,9,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (651,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','873050ia','AI Racer 651','3579 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (652,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','438471ia','AI Racer 652','2543 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,529,105,0,9,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (653,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','512831ia','AI Racer 653','15245 Spark Street','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,298,123,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (654,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','915303ia','AI Racer 654','10197 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,33,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,222,118,0,3,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (655,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','199397ia','AI Racer 655','2197 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (656,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','140597ia','AI Racer 656','17701 35th Street','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (657,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','739018ia','AI Racer 657','15977 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (658,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','288685ia','AI Racer 658','23165 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (659,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','736478ia','AI Racer 659','27051 26th Street','Bonneville',NULL,NULL,NULL,NULL,34,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,407,131,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (660,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','842805ia','AI Racer 660','24570 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (661,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','908598ia','AI Racer 661','21645 32nd Street','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,433,132,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (662,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','870033ia','AI Racer 662','4276 27th Street','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (663,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','833278ia','AI Racer 663','28616 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,35,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (664,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','462606ia','AI Racer 664','23816 31st Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,5,101,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (665,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','959217ia','AI Racer 665','24837 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,636,131,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (666,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','419274ia','AI Racer 666','5688 32nd Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,569,115,0,3,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (667,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','634402ia','AI Racer 667','12319 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (668,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','263602ia','AI Racer 668','7509 30th Street','Bonneville',NULL,NULL,NULL,NULL,36,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,200,116,0,3,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (669,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','784129ia','AI Racer 669','28233 34th Street','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (670,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','537433ia','AI Racer 670','1742 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,360,140,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (671,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','687851ia','AI Racer 671','12358 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (672,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','782994ia','AI Racer 672','19994 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,37,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,532,106,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (673,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','238242ia','AI Racer 673','29314 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,562,113,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (674,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','185706ia','AI Racer 674','17810 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,554,111,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (675,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','269504ia','AI Racer 675','26177 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (676,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','945853ia','AI Racer 676','21559 34th Street','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,65,106,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (677,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','658907ia','AI Racer 677','7324 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,38,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,60,105,0,2,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (678,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','526760ia','AI Racer 678','24556 35th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,1,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (679,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','464750ia','AI Racer 679','9027 39th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,193,116,0,8,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (680,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','627007ia','AI Racer 680','7172 26th Street','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,309,123,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (681,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','994199ia','AI Racer 681','21102 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,39,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,0,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (682,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','841467ia','AI Racer 682','467 37th Street','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,282,122,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (683,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','42685ia','AI Racer 683','28659 37th Street','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,196,116,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (684,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','621816ia','AI Racer 684','19155 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (685,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','189819ia','AI Racer 685','27233 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (686,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','298553ia','AI Racer 686','11934 Head Row','Bonneville',NULL,NULL,NULL,NULL,40,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (687,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','587905ia','AI Racer 687','13868 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,323,124,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (688,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','329753ia','AI Racer 688','15688 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (689,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','339916ia','AI Racer 689','17824 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,570,115,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (690,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','763876ia','AI Racer 690','5538 38th Street','Bonneville',NULL,NULL,NULL,NULL,41,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (691,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','130748ia','AI Racer 691','19330 40th Street','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (692,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','861413ia','AI Racer 692','3047 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (693,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','940574ia','AI Racer 693','18853 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (694,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','95274ia','AI Racer 694','10817 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,11,139,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (695,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','260194ia','AI Racer 695','24284 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,42,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (696,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','349514ia','AI Racer 696','22758 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (697,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','967634ia','AI Racer 697','9224 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (698,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','430043ia','AI Racer 698','24868 31st Street','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (699,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','914177ia','AI Racer 699','29211 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,43,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,2,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (700,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','863991ia','AI Racer 700','19718 Spark Street','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (701,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','732600ia','AI Racer 701','1504 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,362,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (702,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','931152ia','AI Racer 702','9873 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,2,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (703,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','91295ia','AI Racer 703','451 Main Street','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (704,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','740375ia','AI Racer 704','11695 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,44,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,482,135,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (705,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','821195ia','AI Racer 705','6662 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,241,120,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (706,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','803969ia','AI Racer 706','18934 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (707,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','185183ia','AI Racer 707','19299 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,339,126,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (708,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','627887ia','AI Racer 708','27540 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (709,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','784354ia','AI Racer 709','11047 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,45,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (710,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','795168ia','AI Racer 710','21469 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,3,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (711,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','32290ia','AI Racer 711','3536 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,12,139,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (712,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','265341ia','AI Racer 712','19971 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,7,101,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (713,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','121830ia','AI Racer 713','1496 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,46,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (714,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','955076ia','AI Racer 714','20285 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,154,113,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (715,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,9,'AI Racer','00','01','02','03','04','05','836230ia','AI Racer 715','3299 38th Street','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,8,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (716,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','50290ia','AI Racer 716','27073 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (717,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','522344ia','AI Racer 717','29459 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (718,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','703806ia','AI Racer 718','20601 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,47,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,6,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (719,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','307671ia','AI Racer 719','15813 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,0,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (720,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','986269ia','AI Racer 720','7641 28th Street','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,2,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (721,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','157802ia','AI Racer 721','3364 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,73,106,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (722,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','184658ia','AI Racer 722','22794 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,48,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (723,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','390538ia','AI Racer 723','16005 39th Street','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,182,115,0,7,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (724,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','760587ia','AI Racer 724','8166 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,450,133,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (725,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','948166ia','AI Racer 725','6338 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (726,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','792091ia','AI Racer 726','8130 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,0,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (727,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','576631ia','AI Racer 727','15503 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,49,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (728,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','841408ia','AI Racer 728','6912 Spark Street','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (729,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','527174ia','AI Racer 729','23710 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,8,139,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (730,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','98381ia','AI Racer 730','12813 Head Row','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (731,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','128052ia','AI Racer 731','51 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,50,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (732,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','622648ia','AI Racer 732','20088 Spark Street','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (733,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','974370ia','AI Racer 733','20228 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (734,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','522921ia','AI Racer 734','2987 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,357,127,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (735,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','293030ia','AI Racer 735','19104 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,4,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (736,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','145303ia','AI Racer 736','22908 33rd Street','Bonneville',NULL,NULL,NULL,NULL,51,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,8,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (737,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','861163ia','AI Racer 737','21594 32nd Street','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (738,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','866208ia','AI Racer 738','9554 37th Street','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,639,132,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (739,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','765345ia','AI Racer 739','4901 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,2,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (740,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','760698ia','AI Racer 740','20485 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,52,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,366,128,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (741,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','276869ia','AI Racer 741','15532 27th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,423,132,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (742,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','900508ia','AI Racer 742','3119 38th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,510,108,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (743,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','383417ia','AI Racer 743','20485 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,574,116,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (744,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','69374ia','AI Racer 744','17754 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (745,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','580192ia','AI Racer 745','19640 30th Street','Bonneville',NULL,NULL,NULL,NULL,53,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (746,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','800015ia','AI Racer 746','24210 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (747,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','867472ia','AI Racer 747','6760 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (748,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','203002ia','AI Racer 748','16685 27th Street','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,320,124,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (749,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','1813ia','AI Racer 749','18371 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,54,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,152,113,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (750,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','737647ia','AI Racer 750','6087 34th Street','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (751,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','832918ia','AI Racer 751','23584 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,579,117,0,7,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (752,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','992344ia','AI Racer 752','189 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,524,104,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (753,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','330147ia','AI Racer 753','19837 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,82,107,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (754,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','109599ia','AI Racer 754','16443 28th Street','Bonneville',NULL,NULL,NULL,NULL,55,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,184,115,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (755,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','384743ia','AI Racer 755','23283 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (756,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','227751ia','AI Racer 756','21956 37th Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,594,121,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (757,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','505229ia','AI Racer 757','13250 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,1,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (758,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','639762ia','AI Racer 758','18956 37th Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,517,102,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (759,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','769005ia','AI Racer 759','28099 31st Street','Bonneville',NULL,NULL,NULL,NULL,56,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,508,108,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (760,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','312586ia','AI Racer 760','6421 34th Street','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,355,140,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (761,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','173115ia','AI Racer 761','7443 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,558,112,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (762,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','133532ia','AI Racer 762','12562 40th Street','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,508,108,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (763,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','432455ia','AI Racer 763','5036 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,57,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (764,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','813139ia','AI Racer 764','9886 Newport Way','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,635,131,0,2,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (765,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','792775ia','AI Racer 765','12333 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,3,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (766,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32052ia','AI Racer 766','8444 38th Street','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (767,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','156060ia','AI Racer 767','9577 35th Street','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,15,102,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (768,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','207050ia','AI Racer 768','17324 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,58,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,11,139,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (769,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','253908ia','AI Racer 769','29085 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,72,106,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (770,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','513633ia','AI Racer 770','3686 26th Street','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (771,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','549699ia','AI Racer 771','3358 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,5,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (772,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','733383ia','AI Racer 772','8144 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,59,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (773,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','276713ia','AI Racer 773','28263 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,327,125,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (774,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','703974ia','AI Racer 774','12096 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,95,109,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (775,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','996439ia','AI Racer 775','4926 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (776,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','838233ia','AI Racer 776','15063 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (777,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','539036ia','AI Racer 777','10474 36th Street','Bonneville',NULL,NULL,NULL,NULL,60,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (778,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','268247ia','AI Racer 778','29936 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,186,115,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (779,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','3721ia','AI Racer 779','10277 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,360,127,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (780,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','958061ia','AI Racer 780','24258 37th Street','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,314,124,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (781,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','409616ia','AI Racer 781','29593 Head Row','Bonneville',NULL,NULL,NULL,NULL,61,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,205,117,0,7,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (782,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','508842ia','AI Racer 782','6745 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (783,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','84848ia','AI Racer 783','15885 28th Street','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (784,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','455543ia','AI Racer 784','9106 28th Street','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (785,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','575983ia','AI Racer 785','14830 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,434,132,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (786,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','86639ia','AI Racer 786','7342 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,62,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,231,119,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (787,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','636477ia','AI Racer 787','26110 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,284,122,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (788,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','82440ia','AI Racer 788','1330 Main Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (789,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','737547ia','AI Racer 789','25620 34th Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,14,139,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (790,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','890036ia','AI Racer 790','14554 36th Street','Bonneville',NULL,NULL,NULL,NULL,63,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,1,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (791,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','351085ia','AI Racer 791','7817 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,317,124,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (792,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','97513ia','AI Racer 792','27644 33rd Street','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (793,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','728067ia','AI Racer 793','29617 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,348,141,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (794,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','590410ia','AI Racer 794','19319 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (795,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','795378ia','AI Racer 795','26999 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,64,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (796,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','987817ia','AI Racer 796','6308 26th Street','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,362,140,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (797,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','505709ia','AI Racer 797','9648 36th Street','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (798,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','595757ia','AI Racer 798','10956 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,9,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (799,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','36535ia','AI Racer 799','6543 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,65,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (800,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','567326ia','AI Racer 800','21057 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (801,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','535811ia','AI Racer 801','1882 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,279,122,0,3,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (802,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','166770ia','AI Racer 802','22363 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,5,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (803,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','326461ia','AI Racer 803','7848 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (804,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','279476ia','AI Racer 804','29216 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,66,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (805,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','522434ia','AI Racer 805','20386 30th Street','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,4,139,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (806,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','812693ia','AI Racer 806','13354 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,10,101,0,9,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (807,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','661141ia','AI Racer 807','10269 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,479,135,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (808,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','121827ia','AI Racer 808','8699 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,6,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (809,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','457021ia','AI Racer 809','16367 36th Street','Bonneville',NULL,NULL,NULL,NULL,67,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,0,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (810,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','982975ia','AI Racer 810','16866 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (811,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','5629ia','AI Racer 811','13599 34th Street','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,4,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (812,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','78989ia','AI Racer 812','1835 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,263,121,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (813,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','722178ia','AI Racer 813','23349 36th Street','Bonneville',NULL,NULL,NULL,NULL,68,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,430,132,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (814,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','438785ia','AI Racer 814','1116 26th Street','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (815,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','519945ia','AI Racer 815','9008 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,288,122,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (816,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','95791ia','AI Racer 816','28454 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,394,129,0,9,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (817,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','903799ia','AI Racer 817','26634 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,619,140,0,6,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (818,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','224279ia','AI Racer 818','18972 Spark Street','Bonneville',NULL,NULL,NULL,NULL,69,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (819,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','761345ia','AI Racer 819','29044 Main Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,10,139,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (820,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','71481ia','AI Racer 820','25860 36th Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,1,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (821,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','932999ia','AI Racer 821','11041 35th Street','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (822,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','400332ia','AI Racer 822','12105 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,70,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,614,143,0,2,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (823,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32896ia','AI Racer 823','25059 Head Row','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,8,139,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (824,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','554600ia','AI Racer 824','20541 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,8,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (825,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','808589ia','AI Racer 825','9554 27th Street','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (826,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','807775ia','AI Racer 826','10047 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (827,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','431654ia','AI Racer 827','24177 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,71,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,4,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (828,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','958990ia','AI Racer 828','29602 27th Street','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (829,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','87116ia','AI Racer 829','22124 Fell Street ','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,541,108,0,5,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (830,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','877902ia','AI Racer 830','6335 Torino Terrace','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,55,105,0,7,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (831,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','278368ia','AI Racer 831','15499 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,72,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,356,140,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (832,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','99280ia','AI Racer 832','20545 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,348,143,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (833,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','154147ia','AI Racer 833','12069 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (834,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','829004ia','AI Racer 834','28816 29th Street','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,4,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (835,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','924845ia','AI Racer 835','7986 38th Street','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (836,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','339844ia','AI Racer 836','12839 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,73,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,349,143,0,0,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (837,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','64718ia','AI Racer 837','18598 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,359,140,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (838,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','948791ia','AI Racer 838','17050 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (839,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','711400ia','AI Racer 839','28013 Newport Way','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,6,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (840,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','518260ia','AI Racer 840','6312 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,74,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,359,140,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (841,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','992545ia','AI Racer 841','3135 30th Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,344,143,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (842,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','262429ia','AI Racer 842','15233 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,615,143,0,5,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (843,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','18539ia','AI Racer 843','20524 31st Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (844,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','761901ia','AI Racer 844','12640 30th Street','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (845,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','976439ia','AI Racer 845','25788 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,75,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,81,107,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (846,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','493440ia','AI Racer 846','10761 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (847,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','756885ia','AI Racer 847','18616 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,0,30,103,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (848,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','424338ia','AI Racer 848','3367 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,236,119,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (849,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','908628ia','AI Racer 849','13245 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,76,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,619,140,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (850,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','484649ia','AI Racer 850','29818 Newport Way','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,1,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (851,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','495244ia','AI Racer 851','6874 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,7,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (852,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','807916ia','AI Racer 852','221 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (853,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','640827ia','AI Racer 853','671 Main Street','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (854,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','763592ia','AI Racer 854','29024 Van Way','Bonneville',NULL,NULL,NULL,NULL,77,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,1,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (855,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','306453ia','AI Racer 855','2556 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (856,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','24697ia','AI Racer 856','20155 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,1,104,110,0,8,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (857,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','67729ia','AI Racer 857','24339 26th Street','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,344,141,0,8,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (858,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','415968ia','AI Racer 858','10111 28th Street','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,5,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (859,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','352942ia','AI Racer 859','26361 Head Row','Bonneville',NULL,NULL,NULL,NULL,78,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (860,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','547377ia','AI Racer 860','25736 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,1,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (861,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','708167ia','AI Racer 861','4515 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,9,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (862,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','32778ia','AI Racer 862','27682 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (863,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','132434ia','AI Racer 863','6375 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,79,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (864,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','149694ia','AI Racer 864','2373 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,339,143,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (865,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','809469ia','AI Racer 865','17285 Valiant Way','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,4,144,0,6,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (866,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','824156ia','AI Racer 866','2429 27th Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,14,144,0,3,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (867,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','97409ia','AI Racer 867','16404 39th Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (868,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','91130ia','AI Racer 868','25569 33rd Street','Bonneville',NULL,NULL,NULL,NULL,80,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (869,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','270021ia','AI Racer 869','969 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,9,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (870,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','606156ia','AI Racer 870','9751 37th Street','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,345,141,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (871,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','514966ia','AI Racer 871','19262 Clarendon Drive','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,350,143,0,1,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (872,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','943765ia','AI Racer 872','4416 Bryant Street ','Bonneville',NULL,NULL,NULL,NULL,81,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,353,140,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (873,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','433391ia','AI Racer 873','8015 26th Street','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,346,141,0,5,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (874,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','948495ia','AI Racer 874','14249 Head Row','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,361,142,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (875,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','961290ia','AI Racer 875','26743 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,3,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (876,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','743898ia','AI Racer 876','20642 Head Row','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,357,140,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (877,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','942426ia','AI Racer 877','19663 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,82,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,348,141,0,0,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (878,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','117626ia','AI Racer 878','3563 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,340,141,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (879,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','467750ia','AI Racer 879','7844 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,10,144,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (880,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','701850ia','AI Racer 880','22593 34th Street','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (881,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','338912ia','AI Racer 881','27742 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,83,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,4,144,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (882,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','13519ia','AI Racer 882','1000 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,512,144,0,8,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (883,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','180014ia','AI Racer 883','19102 39th Street','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (884,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','662568ia','AI Racer 884','15827 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,5,139,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (885,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','250041ia','AI Racer 885','24909 36th Street','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (886,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','428335ia','AI Racer 886','16845 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,84,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,2,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (887,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','537232ia','AI Racer 887','11537 33rd Street','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,8,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (888,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','934722ia','AI Racer 888','26521 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,357,142,0,9,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (889,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','662887ia','AI Racer 889','26372 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (890,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','622607ia','AI Racer 890','9796 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,85,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,362,142,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (891,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','273895ia','AI Racer 891','2849 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (892,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','610599ia','AI Racer 892','16473 Dodge Highway','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,358,140,0,8,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (893,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','41220ia','AI Racer 893','19269 36th Street','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,614,141,0,9,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (894,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','259228ia','AI Racer 894','19052 Wheel Way','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,2,139,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (895,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','907181ia','AI Racer 895','21818 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,86,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,341,141,0,0,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (896,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','785705ia','AI Racer 896','23893 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,355,142,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (897,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','798940ia','AI Racer 897','15330 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,1,139,0,3,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (898,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','386702ia','AI Racer 898','1911 Van Way','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,0,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (899,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','654050ia','AI Racer 899','7932 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,87,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,353,142,0,1,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (900,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','983366ia','AI Racer 900','28757 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,5,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (901,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','529744ia','AI Racer 901','27648 33rd Street','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,11,144,0,4,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (902,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','30378ia','AI Racer 902','13355 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,13,139,0,6,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (903,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','237562ia','AI Racer 903','10939 33rd Street','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,359,142,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (904,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','551698ia','AI Racer 904','28388 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,88,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,1,144,0,4,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (905,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','438821ia','AI Racer 905','536 Van Way','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,352,140,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (906,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','531285ia','AI Racer 906','17 29th Street','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,7,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (907,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','89389ia','AI Racer 907','23974 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,1,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (908,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','749209ia','AI Racer 908','2726 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,342,141,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (909,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','285470ia','AI Racer 909','434 34th Street','Bonneville',NULL,NULL,NULL,NULL,89,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,351,141,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (910,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','358472ia','AI Racer 910','3291 27th Street','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,356,142,0,1,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (911,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','225079ia','AI Racer 911','11876 Newport Way','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,5,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (912,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','12336ia','AI Racer 912','939 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,7,144,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (913,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','522762ia','AI Racer 913','22868 Cordoba Boulevard','Bonneville',NULL,NULL,NULL,NULL,90,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,341,141,0,5,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (914,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','832581ia','AI Racer 914','20031 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,342,141,0,4,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (915,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','944307ia','AI Racer 915','29092 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,343,143,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (916,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','212235ia','AI Racer 916','3472 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,2,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (917,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','272500ia','AI Racer 917','26018 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,345,143,0,5,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (918,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','996008ia','AI Racer 918','22415 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,91,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,7,139,0,0,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (919,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','912168ia','AI Racer 919','9713 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,615,141,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (920,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','254922ia','AI Racer 920','27273 Head Row','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (921,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','168441ia','AI Racer 921','12348 Taney Pike','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,351,143,0,8,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (922,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','490139ia','AI Racer 922','19144 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,92,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,512,139,0,7,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (923,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','26344ia','AI Racer 923','22036 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,346,143,0,3,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (924,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','112972ia','AI Racer 924','20662 Tinted Boulevard','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,352,142,0,7,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (925,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','886631ia','AI Racer 925','967 33rd Street','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,346,141,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (926,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','512520ia','AI Racer 926','24149 Head Row','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,2,-5142950,-730292,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (927,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','527479ia','AI Racer 927','7612 Caps Creek Parkway','Bonneville',NULL,NULL,NULL,NULL,93,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,347,141,0,7,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (928,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','514602ia','AI Racer 928','1483 Spark Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,344,141,0,4,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (929,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','940771ia','AI Racer 929','16113 37th Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,620,140,0,4,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (930,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','404632ia','AI Racer 930','16954 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,6,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (931,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','661587ia','AI Racer 931','6982 28th Street','Bonneville',NULL,NULL,NULL,NULL,94,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,339,141,0,6,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (932,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','227937ia','AI Racer 932','22767 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,6,139,0,8,-5142950,-11452131,NULL,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (933,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','243202ia','AI Racer 933','17261 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,343,141,0,8,-12635,-16777216,-15132652,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (934,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','630145ia','AI Racer 934','6278 29th Street','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,12,144,0,0,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (935,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','547634ia','AI Racer 935','24808 Detroit Freeway','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (936,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','852078ia','AI Racer 936','18193 Hardtop Highway','Bonneville',NULL,NULL,NULL,NULL,95,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,2,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (937,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','631546ia','AI Racer 937','29481 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,359,142,0,3,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (938,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','192011ia','AI Racer 938','22149 31st Street','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,361,140,0,3,-11255506,-16777216,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (939,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','939998ia','AI Racer 939','8083 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,343,141,0,1,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (940,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','522113ia','AI Racer 940','23246 33rd Street','Bonneville',NULL,NULL,NULL,NULL,96,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,358,142,0,0,-12635,-1,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (941,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','327561ia','AI Racer 941','10944 39th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,353,140,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (942,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','931153ia','AI Racer 942','3147 32nd Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,9,139,0,9,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (943,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','666099ia','AI Racer 943','14570 33rd Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,349,141,0,6,-12635,-7592437,-9540505,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (944,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','816773ia','AI Racer 944','29980 36th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,342,143,0,9,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (945,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','825685ia','AI Racer 945','7193 40th Street','Bonneville',NULL,NULL,NULL,NULL,97,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,340,143,0,6,-11255506,NULL,-10240,-12343227,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (946,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','595351ia','AI Racer 946','27056 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,347,143,0,4,-12635,-9034914,-11516638,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (947,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','293524ia','AI Racer 947','29505 Firebird Freeway','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,2,354,140,0,2,-12635,-11452131,-12343227,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (948,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,0,1,'AI Racer','00','01','02','03','04','05','235490ia','AI Racer 948','15010 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,3,341,143,0,6,-5142950,-16777216,-65536,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (949,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,2,1,'AI Racer','00','01','02','03','04','05','925539ia','AI Racer 949','16823 31st Street','Bonneville',NULL,NULL,NULL,NULL,98,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,358,142,0,7,-12635,-8756175,-11516638,-12365400,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (950,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','239317ia','AI Racer 950','29487 31st Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (951,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','895768ia','AI Racer 951','20259 27th Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (952,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','38819ia','AI Racer 952','27071 37th Street','Bonneville',NULL,NULL,2,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,0,-11255506,-16777216,-15132652,-15132652,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (953,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','246897ia','AI Racer 953','2742 Torino Terrace','Bonneville',NULL,NULL,2,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,4,8,101,0,NULL,NULL,NULL,NULL,NULL,2,2,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (954,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','490161ia','AI Racer 954','14555 Fallon Place ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (955,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','479340ia','AI Racer 955','25016 Sway Bar Lane','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (956,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','291643ia','AI Racer 956','16108 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (957,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','141218ia','AI Racer 957','24592 Meadowbrook Lane ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (958,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','971050ia','AI Racer 958','21071 35th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (959,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','817138ia','AI Racer 959','4925 Newport Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (960,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','710229ia','AI Racer 960','3430 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (961,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','447558ia','AI Racer 961','28907 38th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (962,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','999858ia','AI Racer 962','7136 33rd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (963,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','983205ia','AI Racer 963','27822 Windsor Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (964,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','359720ia','AI Racer 964','11213 27th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (965,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','617051ia','AI Racer 965','5990 31st Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (966,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','586700ia','AI Racer 966','4772 29th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (967,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','553491ia','AI Racer 967','10294 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (968,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','971374ia','AI Racer 968','3394 Van Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (969,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','358930ia','AI Racer 969','25161 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (970,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','604680ia','AI Racer 970','6811 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (971,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','928315ia','AI Racer 971','12530 34th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (972,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','965047ia','AI Racer 972','20034 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (973,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','727958ia','AI Racer 973','12519 33rd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (974,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','435500ia','AI Racer 974','4515 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (975,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','107448ia','AI Racer 975','13837 Motor City Avenue','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (976,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,3,1,'AI Racer','00','01','02','03','04','05','48324ia','AI Racer 976','16175 29th Street','Bonneville',NULL,NULL,NULL,NULL,99,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,5,350,141,0,2,-11255506,-16777216,-9034914,-15132652,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (977,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','907044ia','AI Racer 977','6380 Traction Turnpike','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (978,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','833557ia','AI Racer 978','10257 Eddy Street ','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (979,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','72366ia','AI Racer 979','19588 Pantellas Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (980,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','934074ia','AI Racer 980','20486 32nd Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (981,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','517416ia','AI Racer 981','2785 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (982,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','148619ia','AI Racer 982','22190 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (983,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','903244ia','AI Racer 983','15285 37th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (984,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','138467ia','AI Racer 984','5362 Buick Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (985,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','377542ia','AI Racer 985','25582 Petrick Pike','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (986,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','966027ia','AI Racer 986','23919 Headlight Place','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (987,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','629706ia','AI Racer 987','20337 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (988,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','801526ia','AI Racer 988','26597 26th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (989,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','777649ia','AI Racer 989','6914 Van Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (990,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','57497ia','AI Racer 990','360 Newport Way','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (991,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','338283ia','AI Racer 991','27152 Edmunds Alley','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (992,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','645275ia','AI Racer 992','3176 34th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (993,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','97168ia','AI Racer 993','1684 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (994,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','228536ia','AI Racer 994','9362 Chevrolet Highway','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); -INSERT INTO Player (PlayerID,CustomerID,PlayerTypeID,SanctionedScore,ChallengeScore,LastLoggedIn,TimesLoggedIn,BankBalance,NumCarsOwned,IsLoggedIn,DriverStyle,LPCode,LPText,CarNum1,CarNum2,CarNum3,CarNum4,CarNum5,CarNum6,DLNumber,Persona,Address,Residence,VehicleID,CurrentRaceID,OfflineDriverSkill,OfflineGrudge,OfflineReputation,TotalTimePlayed,CarInfoSetting,StockClassicClass,StockMuscleClass,ModifiedClassicClass,ModifiedMuscleClass,OutlawClass,DragClass,ChallengeRung,OfflineAiCarClass,OfflineAiSkinID,OfflineAiCarBptID,OfflineAiState,BodyType,SkinColor,HairColor,ShirtColor,PantsColor,OfflineDriverStyle,OfflineDriverAttitude,EvadedFuzz,PinksWon,NumUnreadMail,TOTALRACESRUN,TOTALRACESWON,TOTALRACESCOMPLETED,TOTALWINNINGS,INSURANCERISKPOINTS,INSURANCERATING,CHALLENGERACESRUN,CHALLENGERACESWON,CHALLENGERACESCOMPLETED,CARSLOST,CARSWON) VALUES - (995,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','35273ia','AI Racer 995','2521 Main Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (996,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','1761ia','AI Racer 996','26956 40th Street','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (997,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','516805ia','AI Racer 997','16713 Beaudoin Boulevard','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (998,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','563146ia','AI Racer 998','7879 Convertible Court','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL), - (999,0,1,250000,250000,'1900-01-01 00:00:00.000000',0,250000,0,0,1,1,'AI Racer','00','01','02','03','04','05','52069ia','AI Racer 999','29929 Saratoga Avenue','Bonneville',NULL,NULL,NULL,NULL,NULL,250000,NULL,NULL,NULL,NULL,NULL,0,0,0,NULL,NULL,NULL,0,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL); diff --git a/migrations/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/2024.02.13T03.00.46.createSVACarClass.sql deleted file mode 100644 index 1c532c050..000000000 --- a/migrations/2024.02.13T03.00.46.createSVACarClass.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE SVA_CarClass ( - SVA_CarClass INTEGER DEFAULT 0 NOT NULL, - Description VARCHAR(50), - CONSTRAINT SYS_PK_12175 PRIMARY KEY (SVA_CarClass) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12175_12176 ON SVA_CarClass (SVA_CarClass); diff --git a/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql deleted file mode 100644 index 84fe740d5..000000000 --- a/migrations/2024.02.13T03.02.19.createSVAModeRestriction.sql +++ /dev/null @@ -1,6 +0,0 @@ -CREATE TABLE SVA_ModeRestriction ( - SVA_ModeRestriction INTEGER DEFAULT 0 NOT NULL, - Description VARCHAR(100), - CONSTRAINT SYS_PK_12180 PRIMARY KEY (SVA_ModeRestriction) -); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12180_12181 ON SVA_ModeRestriction (SVA_ModeRestriction); diff --git a/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql deleted file mode 100644 index 8648917c2..000000000 --- a/migrations/2024.02.13T03.02.49.createStockVehicleAtrributes.sql +++ /dev/null @@ -1,23 +0,0 @@ -CREATE TABLE StockVehicleAttributes ( - BrandedPartID INTEGER NOT NULL, - CarClass INTEGER, - AIRestrictionClass INTEGER, - ModeRestriction INTEGER, - Sponsor INTEGER, - VinBrandedPartID INTEGER, - TrackID INTEGER DEFAULT 0, - VinCrc INTEGER DEFAULT 0 NOT NULL, - RetailPrice INTEGER DEFAULT 1000, - CONSTRAINT SYS_PK_12168 PRIMARY KEY (BrandedPartID), - CONSTRAINT STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBUTES FOREIGN KEY (BrandedPartID) REFERENCES BrandedPart(BrandedPartID) ON DELETE CASCADE, - CONSTRAINT STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBUTES1 FOREIGN KEY (VinBrandedPartID) REFERENCES BrandedPart(BrandedPartID), - CONSTRAINT STOCKVEHICLEATTRIBUTES_SVA_CARCLASSSTOCKVEHICLEATTRIBUTES FOREIGN KEY (CarClass) REFERENCES SVA_CarClass(SVA_CarClass), - CONSTRAINT STOCKVEHICLEATTRIBUTES_SVA_MODERESTRICTIONSTOCKVEHICLEATTRIBUTES FOREIGN KEY (ModeRestriction) REFERENCES SVA_ModeRestriction(SVA_ModeRestriction) ON DELETE CASCADE ON UPDATE CASCADE -); -CREATE INDEX STOCKVEHICLEATTRIBUTES_COPTRACKID ON StockVehicleAttributes (TrackID); -CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBS1_12795 ON StockVehicleAttributes (VinBrandedPartID); -CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_BRANDEDPARTSTOCKVEHICLEATTRIBS_12786 ON StockVehicleAttributes (BrandedPartID); -CREATE UNIQUE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_PARENTBRANDEDPARTID_12162 ON StockVehicleAttributes (BrandedPartID); -CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_CARCLASSSTOCKVEHICLEATTRIBUTES_12804 ON StockVehicleAttributes (CarClass); -CREATE INDEX SYS_IDX_STOCKVEHICLEATTRIBUTES_SVA_MODERESTRICTIONSTOCKVEHICLEATTRIBUTES_12813 ON StockVehicleAttributes (ModeRestriction); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12168_12169 ON StockVehicleAttributes (BrandedPartID); diff --git a/migrations/2024.02.13T03.18.24.initialSVACarClass.sql b/migrations/2024.02.13T03.18.24.initialSVACarClass.sql deleted file mode 100644 index 3257eb005..000000000 --- a/migrations/2024.02.13T03.18.24.initialSVACarClass.sql +++ /dev/null @@ -1,5 +0,0 @@ -INSERT INTO SVA_CarClass (SVA_CarClass,Description) VALUES - (0,'Null'), - (1,'Fat Fender'), - (2,'Shoebox'), - (3,'Muscle'); diff --git a/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql b/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql deleted file mode 100644 index 52ab26c21..000000000 --- a/migrations/2024.02.13T03.19.03.initialSVAModeRestriction.sql +++ /dev/null @@ -1,7 +0,0 @@ -INSERT INTO SVA_ModeRestriction (SVA_ModeRestriction,Description) VALUES - (0,'All Modes'), - (1,'Motor City'), - (2,'Debug'), - (3,'Traffic'), - (4,'Cop'), - (5,'Arcade'); diff --git a/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql b/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql deleted file mode 100644 index 704d5da05..000000000 --- a/migrations/2024.02.13T03.19.49.initialStockVehicleAttributes.sql +++ /dev/null @@ -1,160 +0,0 @@ -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (101,1,0,0,NULL,101,0,1021354189,7610), - (102,1,0,0,NULL,102,0,-1730149944,11562), - (103,2,0,0,1,103,0,-1175172867,13144), - (104,2,1,0,2,104,0,-1916621234,18162), - (105,2,0,0,NULL,105,0,454523797,18616), - (106,2,0,0,NULL,106,0,-851716885,17964), - (107,3,0,0,3,107,0,-1748379974,27658), - (108,3,0,0,NULL,108,0,1470602472,28976), - (109,3,0,0,3,109,0,-1951593844,20844), - (110,3,0,0,4,110,0,616652853,22386); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (111,3,0,0,NULL,111,0,290542722,54910), - (112,1,1,0,1,112,0,1363239003,13674), - (113,2,2,0,2,113,0,-1210440381,20214), - (114,2,0,0,NULL,114,0,-947329386,46982), - (115,2,2,0,NULL,115,0,362914015,19456), - (116,3,0,0,3,116,0,-57467043,31920), - (117,3,0,0,NULL,117,0,240098383,106456), - (118,2,0,0,NULL,118,0,-728377105,21780), - (119,3,0,0,NULL,119,0,-76507965,29062), - (120,3,0,0,NULL,120,0,-400099549,39098); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (121,3,0,0,4,121,0,185089250,31346), - (122,3,0,0,NULL,122,0,-639251059,35486), - (123,3,0,0,NULL,123,0,-1190729049,34530), - (124,1,2,0,1,124,0,1322255805,20734), - (125,2,0,0,NULL,125,0,616095431,22180), - (126,3,0,0,4,126,0,296347663,31036), - (127,2,0,0,2,127,0,2120724018,15940), - (128,3,0,0,NULL,128,0,281859969,40806), - (129,3,0,0,NULL,129,0,1756655401,35880), - (130,3,0,0,NULL,130,0,1478345654,55586); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (131,3,0,0,NULL,131,0,290406200,34666), - (132,3,0,0,NULL,132,0,1108479146,27940), - (133,3,0,0,NULL,133,0,103959562,31470), - (134,3,0,0,NULL,134,0,-1401275087,51874), - (135,3,0,0,NULL,135,0,1279692657,24612), - (153,3,0,3,0,NULL,0,-1733711197,13124), - (159,2,0,0,NULL,104,0,71127960,16216), - (171,3,0,0,NULL,108,0,95938317,75870), - (173,3,0,3,0,NULL,0,821917378,15442), - (174,3,0,3,0,NULL,0,-1114011574,17448); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (175,3,0,3,0,NULL,0,127614921,30986), - (176,3,0,3,0,NULL,0,5490897,20842), - (177,3,0,3,0,NULL,0,-260987179,44366), - (178,3,0,3,0,NULL,0,1169708297,40912), - (179,3,0,3,0,NULL,0,-997698018,15442), - (184,3,0,0,NULL,133,0,-2100426307,36732), - (190,3,0,0,NULL,131,0,702282812,41738), - (208,2,0,0,NULL,127,0,-1933058019,15958), - (236,2,1,0,NULL,113,0,-132507054,20086), - (320,3,0,0,0,320,0,-1930998368,103848); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (335,3,0,0,0,335,0,-1417679893,27676), - (336,3,0,0,0,336,0,-1457759091,36426), - (337,3,0,0,0,337,0,-1471211264,35306), - (338,3,0,0,0,338,0,1151680185,79086), - (339,3,0,0,0,339,0,-405643342,50570), - (340,3,0,0,0,340,0,-1392644837,49912), - (341,3,0,0,0,341,0,-899383748,27844), - (342,3,0,0,0,342,0,-1841308194,27998), - (343,3,0,0,0,343,0,1354809895,28504), - (344,3,0,0,0,344,0,361663498,35546); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (345,3,0,0,0,345,0,1024304803,45646), - (346,3,0,0,0,346,0,739147792,36390), - (347,3,0,0,0,347,0,363654567,29172), - (348,3,0,0,0,348,0,1172991200,33008), - (349,3,0,0,0,349,0,535823263,34620), - (350,3,0,0,0,350,0,-253450591,46938), - (351,3,0,0,0,351,0,1522514137,35372), - (352,3,0,0,0,352,0,960207390,54196), - (353,3,0,0,0,353,0,1367260066,50390), - (354,1,0,0,0,354,0,1298694592,20554); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (355,1,0,0,0,355,0,343020322,17152), - (356,2,1,0,0,356,0,-493509567,10246), - (357,2,0,0,0,357,0,-1091297472,14696), - (358,2,0,0,0,358,0,-1850950053,15560), - (359,2,0,0,0,359,0,1251900878,16656), - (360,2,0,0,0,360,0,-2008884082,18208), - (361,2,0,0,0,361,0,89250179,16560), - (362,3,0,0,0,362,0,282526109,46076), - (363,3,0,0,0,363,0,-40698369,21280), - (364,3,0,0,0,364,0,1864120653,102566); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (365,3,0,0,0,365,0,-489646267,28474), - (366,3,0,0,0,366,0,-1287635300,20522), - (367,3,0,0,0,367,0,-630364099,28084), - (368,3,0,0,0,368,0,-448515064,40204), - (369,3,0,0,0,369,0,1169942692,29370), - (370,3,0,0,0,370,0,1472055501,37674), - (371,3,0,0,0,371,0,-742484274,32080), - (372,3,0,0,0,372,0,1250189820,35112), - (373,3,0,0,0,373,0,219790868,30660), - (374,3,0,0,NULL,120,0,-900399956,34938); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (375,3,0,5,0,375,0,336373640,21800), - (377,2,0,5,0,377,0,1812020664,24426), - (378,2,0,5,0,378,0,-1499897175,23652), - (379,2,2,5,0,379,0,1800916956,20796), - (383,3,0,5,0,383,0,690278510,31444), - (384,3,0,5,0,384,0,778235356,41062), - (385,2,0,5,0,385,0,-933770060,20552), - (386,2,0,5,0,386,0,-1538070422,28076), - (387,3,0,5,0,387,0,-606946665,37542), - (388,3,0,5,0,388,0,-452681372,28338); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (389,3,0,5,0,389,0,-911118315,34188), - (390,2,0,5,0,390,0,1824323067,26356), - (391,2,0,5,0,391,0,349594734,21320), - (392,3,0,5,0,392,0,-2017423296,39308), - (393,2,0,5,0,393,0,2076432346,26382), - (394,3,0,5,0,394,0,-958728569,44848), - (395,1,0,2,0,395,0,2082574938,73518), - (396,2,0,2,0,396,0,664232324,83374), - (397,3,0,2,0,397,0,1823304277,116878), - (398,2,0,2,0,398,0,1595575092,70364); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (399,3,7,2,0,399,0,649508892,174752), - (400,3,0,2,0,400,0,-1419219140,104696), - (401,3,0,2,0,401,0,-2072889218,115802), - (405,3,0,0,0,405,0,0,1000), - (411,3,0,0,0,411,0,0,1000), - (412,3,0,0,0,412,0,0,1000), - (413,3,0,0,0,413,0,0,1000), - (414,0,0,0,0,414,0,0,1000), - (415,3,1,0,0,415,0,0,1000), - (416,3,4,0,0,416,0,0,1000); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (417,3,4,0,0,417,0,0,1000), - (418,0,5,0,0,418,0,0,1000), - (419,1,5,0,0,419,0,0,1000), - (420,1,1,0,0,420,0,0,1000), - (421,2,3,0,0,421,0,0,1000), - (422,1,4,0,0,422,0,0,1000), - (423,1,3,0,0,423,0,0,1000), - (424,3,4,0,0,424,0,0,1000), - (425,3,5,0,0,425,0,0,1000), - (426,3,5,0,0,426,0,0,1000); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (427,1,2,0,0,427,0,0,1000), - (428,3,3,0,0,428,0,0,1000), - (429,0,3,0,0,429,0,0,1000), - (430,0,3,0,0,430,0,0,1000), - (431,3,6,0,0,431,0,0,1000), - (432,0,0,0,0,432,0,0,1000), - (433,0,0,0,0,433,0,0,1000), - (434,0,0,0,0,434,0,0,1000), - (435,0,0,0,0,435,0,0,1000), - (436,0,0,0,0,436,0,0,1000); -INSERT INTO StockVehicleAttributes (BrandedPartID,CarClass,AIRestrictionClass,ModeRestriction,Sponsor,VinBrandedPartID,TrackID,VinCrc,RetailPrice) VALUES - (437,0,0,0,0,437,0,0,1000), - (438,0,0,0,0,438,0,0,1000), - (439,3,3,0,0,439,0,0,1000), - (440,0,0,0,0,440,0,0,1000), - (441,3,0,0,0,441,0,0,1000); diff --git a/migrations/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/2024.02.13T23.56.02.createStockAssembly.sql deleted file mode 100644 index 4c26acc96..000000000 --- a/migrations/2024.02.13T23.56.02.createStockAssembly.sql +++ /dev/null @@ -1,15 +0,0 @@ -CREATE TABLE StockAssembly ( - ParentBrandedPartID INTEGER NOT NULL, - ChildBrandedPartID INTEGER NOT NULL, - AttachmentPointID INTEGER NOT NULL, - ConfigDefault SMALLINT NOT NULL, - PhysicsDefault SMALLINT NOT NULL, - CONSTRAINT SYS_PK_12146 PRIMARY KEY (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID), - CONSTRAINT STOCKASSEMBLY_ATTACHMENTPOINTSTOCKASSEMBLY FOREIGN KEY (AttachmentPointID) REFERENCES AttachmentPoint(AttachmentPointID), - CONSTRAINT STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY FOREIGN KEY (ChildBrandedPartID) REFERENCES BrandedPart(BrandedPartID), - CONSTRAINT STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY1 FOREIGN KEY (ParentBrandedPartID) REFERENCES BrandedPart(BrandedPartID) -); -CREATE INDEX SYS_IDX_STOCKASSEMBLY_ATTACHMENTPOINTSTOCKASSEMBLY_12750 ON StockAssembly (AttachmentPointID); -CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY1_12774 ON StockAssembly (ParentBrandedPartID); -CREATE INDEX SYS_IDX_STOCKASSEMBLY_BRANDEDPARTSTOCKASSEMBLY_12762 ON StockAssembly (ChildBrandedPartID); -CREATE UNIQUE INDEX SYS_IDX_SYS_PK_12146_12147 ON StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID); diff --git a/migrations/2024.02.13T23.58.02.initialStockAssembly.sql b/migrations/2024.02.13T23.58.02.initialStockAssembly.sql deleted file mode 100644 index 2581952cf..000000000 --- a/migrations/2024.02.13T23.58.02.initialStockAssembly.sql +++ /dev/null @@ -1,10224 +0,0 @@ -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (101,1001,0,0,0), - (101,2001,0,1,1), - (101,4001,0,0,0), - (101,5001,0,0,0), - (101,6001,0,0,0), - (101,10009,11,0,0), - (101,10010,10,0,0), - (101,11004,10,0,0), - (101,11004,11,0,0), - (101,12002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (101,12004,10,0,0), - (101,15001,0,0,0), - (101,20101,0,0,0), - (101,22016,0,0,0), - (101,23003,0,0,0), - (101,31153,0,0,0), - (101,34001,10,0,0), - (101,34002,11,0,0), - (101,35001,10,0,0), - (101,35001,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (101,36001,0,0,0), - (101,37001,0,0,0), - (101,40002,0,0,0), - (101,100002,10,0,0), - (101,100002,11,0,0), - (101,110001,10,1,1), - (101,110001,11,1,1), - (101,130012,0,0,0), - (101,140023,0,0,0), - (101,160021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (101,180019,0,0,0), - (101,190021,0,0,0), - (101,200019,0,0,0), - (101,230002,0,0,0), - (101,240003,0,0,0), - (101,250020,0,0,0), - (101,280019,0,0,0), - (101,290001,0,0,0), - (101,300001,0,0,0), - (101,320023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (101,330016,0,0,0), - (101,340001,0,0,0), - (101,1000002,0,0,0), - (101,1100016,0,0,0), - (101,1200018,0,0,0), - (102,1001,0,1,1), - (102,2001,0,1,1), - (102,4001,0,1,0), - (102,5001,0,0,0), - (102,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (102,10009,11,0,0), - (102,10010,10,0,0), - (102,11004,10,0,0), - (102,11004,11,0,0), - (102,12003,11,0,0), - (102,12005,10,0,0), - (102,15001,0,0,0), - (102,20102,0,0,0), - (102,22016,0,0,0), - (102,23009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (102,31153,0,0,0), - (102,35002,10,0,0), - (102,35002,11,0,0), - (102,36001,0,0,0), - (102,37001,0,0,0), - (102,40003,0,0,0), - (102,100002,10,0,0), - (102,100002,11,0,0), - (102,110018,10,1,1), - (102,110018,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (102,130012,0,0,0), - (102,140025,0,0,0), - (102,160021,0,0,0), - (102,180019,0,0,0), - (102,190021,0,0,0), - (102,200019,0,0,0), - (102,230002,0,0,0), - (102,240003,0,0,0), - (102,250020,0,0,0), - (102,280019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (102,290001,0,0,0), - (102,300001,0,0,0), - (102,320023,0,0,0), - (102,330006,0,0,0), - (102,340001,0,0,0), - (102,1000002,0,0,0), - (102,1100016,0,0,0), - (102,1200018,0,0,0), - (103,1001,0,1,1), - (103,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (103,4001,0,9,0), - (103,5001,0,0,0), - (103,6001,0,0,0), - (103,10009,11,0,0), - (103,10010,10,0,0), - (103,11004,10,0,0), - (103,11004,11,0,0), - (103,12007,10,0,0), - (103,12028,11,0,0), - (103,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (103,20103,0,0,0), - (103,22014,0,0,0), - (103,31153,0,0,0), - (103,36001,0,0,0), - (103,37001,0,0,0), - (103,40005,0,0,0), - (103,100002,10,0,0), - (103,100002,11,0,0), - (103,110012,10,1,1), - (103,110012,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (103,130047,0,0,0), - (103,140014,0,0,0), - (103,160022,0,0,0), - (103,180019,0,0,0), - (103,190021,0,0,0), - (103,200019,0,0,0), - (103,230002,0,0,0), - (103,240003,0,0,0), - (103,250020,0,0,0), - (103,280019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (103,290001,0,0,0), - (103,300001,0,0,0), - (103,320023,0,0,0), - (103,330006,0,0,0), - (103,340001,0,0,0), - (103,1000004,0,0,0), - (103,1100016,0,0,0), - (103,1200018,0,0,0), - (104,1001,0,1,1), - (104,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (104,4001,0,0,0), - (104,5001,0,0,0), - (104,6001,0,0,0), - (104,10001,10,0,0), - (104,10004,11,0,0), - (104,11004,10,0,0), - (104,11004,11,0,0), - (104,12010,10,0,0), - (104,12022,11,0,0), - (104,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (104,20104,0,0,0), - (104,22014,0,0,0), - (104,31153,0,0,0), - (104,36001,0,0,0), - (104,37001,0,0,0), - (104,40006,0,0,0), - (104,100006,10,0,0), - (104,100006,11,0,0), - (104,110021,10,1,1), - (104,110021,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (104,130047,0,0,0), - (104,140007,0,0,0), - (104,160026,0,0,0), - (104,180018,0,0,0), - (104,190077,0,0,0), - (104,200066,0,0,0), - (104,230001,0,0,0), - (104,240001,0,0,0), - (104,250030,0,0,0), - (104,280030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (104,290001,0,0,0), - (104,300001,0,0,0), - (104,320098,0,0,0), - (104,330020,0,0,0), - (104,340002,0,0,0), - (104,1000001,0,0,0), - (104,1100119,0,0,0), - (104,1200048,0,0,0), - (105,1001,0,1,1), - (105,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (105,4001,0,0,0), - (105,5001,0,0,0), - (105,6001,0,0,0), - (105,10011,10,0,0), - (105,10011,11,0,0), - (105,11004,10,0,0), - (105,11004,11,0,0), - (105,12009,10,0,0), - (105,12030,11,0,0), - (105,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (105,20105,0,0,0), - (105,22014,0,0,0), - (105,31153,0,0,0), - (105,36001,0,0,0), - (105,37001,0,0,0), - (105,40007,0,0,0), - (105,100002,10,0,0), - (105,100002,11,0,0), - (105,110021,10,1,1), - (105,110021,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (105,130047,0,0,0), - (105,140008,0,0,1), - (105,160026,0,0,0), - (105,180018,0,0,0), - (105,190077,0,0,0), - (105,200066,0,0,0), - (105,230001,0,0,0), - (105,240001,0,0,0), - (105,250030,0,0,0), - (105,280030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (105,290001,0,0,0), - (105,300001,0,0,0), - (105,320098,0,0,0), - (105,330020,0,0,0), - (105,340002,0,0,0), - (105,1000001,0,0,0), - (105,1100119,0,0,0), - (105,1200048,0,0,0), - (106,1001,0,1,1), - (106,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (106,4001,0,0,0), - (106,5001,0,0,0), - (106,6001,0,0,0), - (106,10011,10,0,0), - (106,10011,11,0,0), - (106,11004,10,0,0), - (106,11004,11,0,0), - (106,12009,10,0,0), - (106,12012,11,0,0), - (106,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (106,20106,0,0,0), - (106,22014,0,0,0), - (106,31153,0,0,0), - (106,36001,0,0,0), - (106,37001,0,0,0), - (106,40008,0,0,0), - (106,100002,10,0,0), - (106,100002,11,0,0), - (106,110032,10,1,1), - (106,110032,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (106,130026,0,0,0), - (106,140003,0,0,0), - (106,160026,0,0,0), - (106,180018,0,0,0), - (106,190077,0,0,0), - (106,200066,0,0,0), - (106,230001,0,0,0), - (106,240001,0,0,0), - (106,250030,0,0,0), - (106,280030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (106,290002,0,0,0), - (106,300001,0,0,0), - (106,320040,0,0,0), - (106,330035,0,0,0), - (106,340002,0,0,0), - (106,1000001,0,0,0), - (106,1100119,0,0,0), - (106,1200048,0,0,0), - (107,1001,0,1,1), - (107,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (107,4001,0,0,0), - (107,5001,0,0,0), - (107,6001,0,0,0), - (107,10011,10,0,0), - (107,10011,11,0,0), - (107,11004,10,0,0), - (107,11004,11,0,0), - (107,12009,10,0,0), - (107,12012,11,0,0), - (107,13011,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (107,15001,0,0,0), - (107,20107,0,0,0), - (107,22014,0,0,0), - (107,31153,0,0,0), - (107,36001,0,0,0), - (107,37001,0,0,0), - (107,40009,0,0,0), - (107,100002,10,0,0), - (107,100002,11,0,0), - (107,110036,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (107,110036,11,1,1), - (107,130026,0,0,0), - (107,140003,0,0,0), - (107,160030,0,0,0), - (107,180017,0,0,0), - (107,190002,0,0,0), - (107,200001,0,0,0), - (107,230001,0,0,0), - (107,240001,0,0,0), - (107,250001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (107,280001,0,0,0), - (107,290002,0,0,0), - (107,300001,0,0,0), - (107,320006,0,0,0), - (107,330035,0,0,0), - (107,340002,0,0,0), - (107,1000132,0,0,0), - (107,1100010,0,0,0), - (107,1200003,0,0,0), - (108,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (108,2001,0,1,1), - (108,4001,0,0,0), - (108,5001,0,0,0), - (108,6001,0,0,0), - (108,10010,10,0,0), - (108,10010,11,0,0), - (108,11004,10,0,0), - (108,11004,11,0,0), - (108,12006,10,0,0), - (108,12028,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (108,13010,10,0,0), - (108,15001,0,0,0), - (108,20108,0,0,0), - (108,22014,0,0,0), - (108,31153,0,0,0), - (108,36001,0,0,0), - (108,37001,0,0,0), - (108,40013,0,0,0), - (108,100002,10,0,0), - (108,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (108,110044,10,0,0), - (108,110044,11,0,0), - (108,130034,0,0,0), - (108,140019,0,0,0), - (108,160025,0,0,0), - (108,180030,0,0,0), - (108,190020,0,0,0), - (108,200004,0,0,0), - (108,230001,0,0,0), - (108,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (108,250001,0,0,0), - (108,280018,0,0,0), - (108,290001,0,0,0), - (108,300001,0,0,0), - (108,320022,0,0,0), - (108,330003,0,0,0), - (108,340002,0,0,0), - (108,1000138,0,0,0), - (108,1100005,0,0,0), - (108,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (109,1001,0,1,1), - (109,2001,0,1,1), - (109,4001,0,0,0), - (109,5001,0,0,0), - (109,6001,0,0,0), - (109,10010,10,0,0), - (109,10010,11,0,0), - (109,11004,10,0,0), - (109,11004,11,0,0), - (109,12009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (109,12029,11,0,0), - (109,15001,0,0,0), - (109,20109,0,0,0), - (109,22014,0,0,0), - (109,31153,0,0,0), - (109,36001,0,0,0), - (109,37001,0,0,0), - (109,40011,0,0,0), - (109,100002,10,0,0), - (109,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (109,110032,10,0,0), - (109,110032,11,0,0), - (109,130034,0,0,0), - (109,140003,0,0,0), - (109,160025,0,0,0), - (109,180030,0,0,0), - (109,190020,0,0,0), - (109,200004,0,0,0), - (109,230001,0,0,0), - (109,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (109,250001,0,0,0), - (109,280018,0,0,0), - (109,290001,0,0,0), - (109,300001,0,0,0), - (109,320022,0,0,0), - (109,330003,0,0,0), - (109,340002,0,0,0), - (109,1000138,0,0,0), - (109,1100005,0,0,0), - (109,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (110,1001,0,1,1), - (110,2001,0,1,1), - (110,4001,0,0,0), - (110,5001,0,0,0), - (110,6001,0,0,0), - (110,10002,10,0,0), - (110,10010,11,0,0), - (110,11004,10,0,0), - (110,11004,11,0,0), - (110,12008,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (110,12022,11,0,0), - (110,13011,10,0,0), - (110,15001,0,0,0), - (110,20110,0,0,0), - (110,22014,0,0,0), - (110,31153,0,0,0), - (110,36001,0,0,0), - (110,37001,0,0,0), - (110,40012,0,0,0), - (110,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (110,100002,11,0,0), - (110,110044,10,1,1), - (110,110044,11,1,1), - (110,130026,0,0,0), - (110,140020,0,0,0), - (110,160027,0,0,0), - (110,180030,0,0,0), - (110,190020,0,0,0), - (110,200004,0,0,0), - (110,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (110,240001,0,0,0), - (110,250001,0,0,0), - (110,280018,0,0,0), - (110,290001,0,0,0), - (110,300001,0,0,0), - (110,320022,0,0,0), - (110,330003,0,0,0), - (110,340002,0,0,0), - (110,1000138,0,0,0), - (110,1100005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (110,1200017,0,0,0), - (111,1001,0,1,1), - (111,2001,0,1,1), - (111,4001,0,0,0), - (111,5001,0,0,0), - (111,6001,0,0,0), - (111,10010,11,0,0), - (111,10017,10,0,0), - (111,11009,10,0,0), - (111,11009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (111,12008,10,0,0), - (111,12029,11,0,0), - (111,13007,11,0,0), - (111,13009,10,0,0), - (111,15001,0,0,0), - (111,20111,0,0,0), - (111,22014,0,0,0), - (111,29002,0,0,0), - (111,30003,0,0,0), - (111,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (111,36001,0,0,0), - (111,37001,0,0,0), - (111,40013,0,0,0), - (111,100112,10,0,0), - (111,100112,11,0,0), - (111,110083,10,1,1), - (111,110084,11,1,1), - (111,130034,0,0,0), - (111,140020,0,0,0), - (111,160027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (111,180034,0,0,0), - (111,190001,0,0,0), - (111,200054,0,0,0), - (111,230003,0,0,0), - (111,240005,0,0,0), - (111,250001,0,0,0), - (111,280041,0,0,0), - (111,290002,0,0,0), - (111,300011,0,0,0), - (111,320087,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (111,330025,0,0,0), - (111,340003,0,0,0), - (111,1000139,0,0,0), - (111,1100005,0,0,0), - (111,1200038,0,0,0), - (112,1001,0,1,1), - (112,2001,0,1,1), - (112,4001,0,0,0), - (112,5001,0,0,0), - (112,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (112,10001,10,0,0), - (112,10004,11,0,0), - (112,11004,10,0,0), - (112,11004,11,0,0), - (112,12007,10,0,0), - (112,12028,11,0,0), - (112,15001,0,0,0), - (112,20112,0,0,0), - (112,22014,0,0,0), - (112,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (112,36001,0,0,0), - (112,37001,0,0,0), - (112,40004,0,0,0), - (112,100002,10,0,0), - (112,100002,11,0,0), - (112,110017,10,1,1), - (112,110017,11,1,1), - (112,130012,0,0,0), - (112,140024,0,0,0), - (112,160047,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (112,180019,0,0,0), - (112,190021,0,0,0), - (112,200019,0,0,0), - (112,230002,0,0,0), - (112,240001,0,0,0), - (112,250020,0,0,0), - (112,280019,0,0,0), - (112,290001,0,0,0), - (112,300001,0,0,0), - (112,320023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (112,330006,0,0,0), - (112,340001,0,0,0), - (112,1000003,0,0,0), - (112,1100016,0,0,0), - (112,1200018,0,0,0), - (113,1001,0,1,1), - (113,2001,0,1,1), - (113,4001,0,0,0), - (113,5001,0,0,0), - (113,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (113,10001,10,0,0), - (113,10004,11,0,0), - (113,11004,10,0,0), - (113,11004,11,0,0), - (113,12009,10,0,0), - (113,12030,11,0,0), - (113,15001,0,0,0), - (113,20113,0,0,0), - (113,22009,0,0,0), - (113,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (113,36001,0,0,0), - (113,37001,0,0,0), - (113,40016,0,0,0), - (113,100002,10,0,0), - (113,100002,11,0,0), - (113,110014,10,1,1), - (113,110014,11,1,1), - (113,130021,0,0,0), - (113,140021,0,0,0), - (113,160006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (113,180014,0,0,0), - (113,190016,0,0,0), - (113,200002,0,0,0), - (113,230001,0,0,0), - (113,240001,0,0,0), - (113,250026,0,0,0), - (113,280024,0,0,0), - (113,290003,0,0,0), - (113,300001,0,0,0), - (113,320020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (113,330052,0,0,0), - (113,340002,0,0,0), - (113,1000123,0,0,0), - (113,1100001,0,0,0), - (113,1200034,0,0,0), - (114,1001,0,1,1), - (114,2001,0,1,1), - (114,4001,0,0,0), - (114,5001,0,0,0), - (114,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (114,10006,11,0,0), - (114,10015,10,0,0), - (114,11006,10,0,0), - (114,11006,11,0,0), - (114,12021,10,0,0), - (114,12029,11,0,0), - (114,13006,10,0,0), - (114,15001,0,0,0), - (114,20114,0,0,0), - (114,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (114,31153,0,0,0), - (114,36001,0,0,0), - (114,37001,0,0,0), - (114,40018,0,0,0), - (114,100002,10,0,0), - (114,100002,11,0,0), - (114,110012,10,1,1), - (114,110012,11,1,1), - (114,130032,0,0,0), - (114,140009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (114,160006,0,0,0), - (114,180014,0,0,0), - (114,190016,0,0,0), - (114,200002,0,0,0), - (114,230001,0,0,0), - (114,240001,0,0,0), - (114,250026,0,0,0), - (114,280024,0,0,0), - (114,290001,0,0,0), - (114,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (114,320030,0,0,0), - (114,330052,0,0,0), - (114,340002,0,0,0), - (114,1000015,0,0,0), - (114,1100001,0,0,0), - (114,1200034,0,0,0), - (115,1001,0,1,1), - (115,2001,0,1,1), - (115,4001,0,0,0), - (115,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (115,6001,0,0,0), - (115,10011,10,0,0), - (115,10011,11,0,0), - (115,11004,10,0,0), - (115,11004,11,0,0), - (115,12009,10,0,0), - (115,12030,11,0,0), - (115,15001,0,0,0), - (115,20115,0,0,0), - (115,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (115,31153,0,0,0), - (115,36001,0,0,0), - (115,37001,0,0,0), - (115,40017,0,0,0), - (115,100002,10,0,0), - (115,100002,11,0,0), - (115,110014,10,1,1), - (115,110014,11,1,1), - (115,130021,0,0,0), - (115,140018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (115,160006,0,0,0), - (115,180014,0,0,0), - (115,190016,0,0,0), - (115,200002,0,0,0), - (115,230001,0,0,0), - (115,240001,0,0,0), - (115,250026,0,0,0), - (115,280024,0,0,0), - (115,290004,0,0,0), - (115,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (115,320030,0,0,0), - (115,330053,0,0,0), - (115,340002,0,0,0), - (115,1000015,0,0,0), - (115,1100158,0,0,0), - (115,1200034,0,0,0), - (116,1001,0,1,1), - (116,2001,0,1,1), - (116,4001,0,0,0), - (116,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (116,6001,0,0,0), - (116,10011,10,0,0), - (116,10011,11,0,0), - (116,11004,10,0,0), - (116,11004,11,0,0), - (116,12007,10,0,0), - (116,12021,11,0,0), - (116,13009,10,0,0), - (116,15001,0,0,0), - (116,20116,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (116,22009,0,0,0), - (116,31153,0,0,0), - (116,36001,0,0,0), - (116,37001,0,0,0), - (116,40022,0,0,0), - (116,100002,10,0,0), - (116,100002,11,0,0), - (116,110035,10,1,1), - (116,110035,11,1,1), - (116,130021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (116,140009,0,0,0), - (116,160006,0,0,0), - (116,180014,0,0,0), - (116,190016,0,0,0), - (116,200002,0,0,0), - (116,230001,0,0,0), - (116,240032,0,0,0), - (116,250026,0,0,0), - (116,280016,0,0,0), - (116,290004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (116,300001,0,0,0), - (116,320020,0,0,0), - (116,330053,0,0,0), - (116,340002,0,0,0), - (116,1000070,0,0,0), - (116,1100001,0,0,0), - (116,1200034,0,0,0), - (117,1001,0,1,1), - (117,2001,0,1,1), - (117,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (117,5001,0,0,0), - (117,6001,0,0,0), - (117,10021,10,0,0), - (117,10026,11,0,0), - (117,11006,10,0,0), - (117,11006,11,0,0), - (117,12007,11,0,0), - (117,12021,10,0,0), - (117,13006,10,0,0), - (117,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (117,20117,0,0,0), - (117,22009,0,0,0), - (117,31153,0,0,0), - (117,36001,0,0,0), - (117,37001,0,0,0), - (117,40021,0,0,0), - (117,100120,10,0,0), - (117,100120,11,0,0), - (117,110087,10,1,1), - (117,110088,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (117,130008,0,0,0), - (117,140005,0,0,0), - (117,160009,0,0,0), - (117,180014,0,0,0), - (117,190016,0,0,0), - (117,200002,0,0,0), - (117,230003,0,0,0), - (117,240006,0,0,0), - (117,250002,0,0,0), - (117,280024,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (117,290004,0,0,0), - (117,300001,0,0,0), - (117,320030,0,0,0), - (117,330057,0,0,0), - (117,340003,0,0,0), - (117,1000073,0,0,0), - (117,1100025,0,0,0), - (117,1200023,0,0,0), - (118,1001,0,1,1), - (118,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (118,4001,0,0,0), - (118,5001,0,0,0), - (118,6001,0,0,0), - (118,10011,10,0,0), - (118,10011,11,0,0), - (118,11004,10,0,0), - (118,11004,11,0,0), - (118,12006,11,0,0), - (118,12007,10,0,0), - (118,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (118,20118,0,0,0), - (118,22009,0,0,0), - (118,31153,0,0,0), - (118,36001,0,0,0), - (118,37001,0,0,0), - (118,40019,0,0,0), - (118,100002,10,0,0), - (118,100002,11,0,0), - (118,110032,10,1,1), - (118,110032,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (118,130032,0,0,0), - (118,140016,0,0,0), - (118,160011,0,0,0), - (118,180062,0,0,0), - (118,190067,0,0,0), - (118,200048,0,0,0), - (118,230001,0,0,0), - (118,240001,0,0,0), - (118,250026,0,0,0), - (118,280051,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (118,290004,0,0,0), - (118,300001,0,0,0), - (118,320100,0,0,0), - (118,330056,0,0,0), - (118,340002,0,0,0), - (118,1000057,0,0,0), - (118,1100120,0,0,0), - (118,1200049,0,0,0), - (119,1001,0,1,1), - (119,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (119,4001,0,0,0), - (119,5001,0,0,0), - (119,6001,0,0,0), - (119,10010,10,0,0), - (119,10010,11,0,0), - (119,11004,10,0,0), - (119,11004,11,0,0), - (119,12008,10,0,0), - (119,12029,11,0,0), - (119,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (119,20119,0,0,0), - (119,22009,0,0,0), - (119,31153,0,0,0), - (119,36001,0,0,0), - (119,37001,0,0,0), - (119,40024,0,0,0), - (119,100002,10,0,0), - (119,100002,11,0,0), - (119,110032,10,1,1), - (119,110032,11,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (119,130033,0,0,0), - (119,140016,0,0,0), - (119,160006,0,0,0), - (119,180014,0,0,0), - (119,190016,0,0,0), - (119,200002,0,0,0), - (119,230001,0,0,0), - (119,240023,0,0,0), - (119,250026,0,0,0), - (119,280016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (119,290004,0,0,0), - (119,300001,0,0,0), - (119,320020,0,0,0), - (119,330053,0,0,0), - (119,340002,0,0,0), - (119,1000070,0,0,0), - (119,1100001,0,0,0), - (119,1200034,0,0,0), - (120,1001,0,1,1), - (120,2001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (120,4001,0,0,0), - (120,5001,0,0,0), - (120,6001,0,0,0), - (120,10002,10,0,0), - (120,10010,11,0,0), - (120,11004,10,0,0), - (120,11004,11,0,0), - (120,12006,10,0,0), - (120,12027,11,0,0), - (120,13009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (120,15001,0,0,0), - (120,20120,0,0,0), - (120,22009,0,0,0), - (120,31153,0,0,0), - (120,36001,0,0,0), - (120,37001,0,0,0), - (120,40025,0,0,0), - (120,100003,10,0,0), - (120,100003,11,0,0), - (120,110032,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (120,110032,11,1,1), - (120,130032,0,0,0), - (120,140016,0,0,0), - (120,160009,0,0,0), - (120,180014,0,0,0), - (120,190016,0,0,0), - (120,200002,0,0,0), - (120,230001,0,0,0), - (120,240023,0,0,0), - (120,250026,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (120,280016,0,0,0), - (120,290004,0,0,0), - (120,300001,0,0,0), - (120,320020,0,0,0), - (120,330053,0,0,0), - (120,340002,0,0,0), - (120,1000121,0,0,0), - (120,1100001,0,0,0), - (120,1200034,0,0,0), - (121,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (121,2001,0,1,1), - (121,4001,0,0,0), - (121,5001,0,0,0), - (121,6001,0,0,0), - (121,10002,10,0,0), - (121,10010,11,0,0), - (121,11004,10,0,0), - (121,11004,11,0,0), - (121,12009,10,0,0), - (121,12021,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (121,13009,10,0,0), - (121,15001,0,0,0), - (121,20121,0,0,0), - (121,22009,0,0,0), - (121,31153,0,0,0), - (121,36001,0,0,0), - (121,37001,0,0,0), - (121,40030,0,0,0), - (121,100002,10,0,0), - (121,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (121,110027,10,1,1), - (121,110027,11,1,1), - (121,130023,0,0,0), - (121,140016,0,0,0), - (121,160008,0,0,0), - (121,180003,0,0,0), - (121,190016,0,0,0), - (121,200002,0,0,0), - (121,230001,0,0,0), - (121,240023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (121,250026,0,0,0), - (121,280016,0,0,0), - (121,290004,0,0,0), - (121,300001,0,0,0), - (121,320020,0,0,0), - (121,330020,0,0,0), - (121,340002,0,0,0), - (121,1000074,0,0,0), - (121,1100001,0,0,0), - (121,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (122,1001,0,1,1), - (122,2001,0,1,1), - (122,4001,0,0,0), - (122,5001,0,0,0), - (122,6001,0,0,0), - (122,10010,10,0,0), - (122,10010,11,0,0), - (122,11004,10,0,0), - (122,11004,11,0,0), - (122,12007,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (122,12010,10,0,0), - (122,13009,10,0,0), - (122,15001,0,0,0), - (122,20122,0,0,0), - (122,22009,0,0,0), - (122,31153,0,0,0), - (122,36001,0,0,0), - (122,37001,0,0,0), - (122,40028,0,0,0), - (122,100003,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (122,100003,11,0,0), - (122,110034,10,1,1), - (122,110034,11,1,1), - (122,130023,0,0,0), - (122,140016,0,0,0), - (122,160008,0,0,0), - (122,180003,0,0,0), - (122,190016,0,0,0), - (122,200002,0,0,0), - (122,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (122,240023,0,0,0), - (122,250026,0,0,0), - (122,280016,0,0,0), - (122,290004,0,0,0), - (122,300001,0,0,0), - (122,320020,0,0,0), - (122,330020,0,0,0), - (122,340002,0,0,0), - (122,1000074,0,0,0), - (122,1100001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (122,1200034,0,0,0), - (123,1001,0,1,1), - (123,2001,0,1,1), - (123,4001,0,0,0), - (123,5001,0,0,0), - (123,6001,0,0,0), - (123,10002,10,0,0), - (123,10010,11,0,0), - (123,11004,10,0,0), - (123,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (123,12020,10,0,0), - (123,12029,11,0,0), - (123,13009,10,0,0), - (123,15001,0,0,0), - (123,20123,0,0,0), - (123,22009,0,0,0), - (123,31153,0,0,0), - (123,36001,0,0,0), - (123,37001,0,0,0), - (123,40029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (123,100002,10,0,0), - (123,100002,11,0,0), - (123,110034,10,1,1), - (123,110034,11,1,1), - (123,130023,0,0,0), - (123,140016,0,0,0), - (123,160008,0,0,0), - (123,180003,0,0,0), - (123,190016,0,0,0), - (123,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (123,230001,0,0,0), - (123,240023,0,0,0), - (123,250026,0,0,0), - (123,280016,0,0,0), - (123,290004,0,0,0), - (123,300001,0,0,0), - (123,320020,0,0,0), - (123,330020,0,0,0), - (123,340002,0,0,0), - (123,1000074,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (123,1100001,0,0,0), - (123,1200034,0,0,0), - (124,1001,0,1,1), - (124,2001,0,1,1), - (124,4001,0,0,0), - (124,5001,0,0,0), - (124,6001,0,0,0), - (124,10012,10,0,0), - (124,10012,11,0,0), - (124,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (124,11004,11,0,0), - (124,12011,10,0,0), - (124,12027,11,0,0), - (124,15001,0,0,0), - (124,20124,0,0,0), - (124,22005,0,0,0), - (124,31153,0,0,0), - (124,36001,0,0,0), - (124,37001,0,0,0), - (124,40014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (124,100002,10,0,0), - (124,100002,11,0,0), - (124,110047,10,1,1), - (124,110047,11,1,1), - (124,130023,0,0,0), - (124,140008,0,0,0), - (124,160010,0,0,0), - (124,180055,0,0,0), - (124,190071,0,0,0), - (124,200056,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (124,230001,0,0,0), - (124,240001,0,0,0), - (124,250021,0,0,0), - (124,280044,0,0,0), - (124,290003,0,0,0), - (124,300001,0,0,0), - (124,320092,0,0,0), - (124,330052,0,0,0), - (124,340002,0,0,0), - (124,1000154,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (124,1100112,0,0,0), - (124,1200042,0,0,0), - (125,1001,0,1,1), - (125,2001,0,1,1), - (125,4001,0,0,0), - (125,5001,0,0,0), - (125,6001,0,0,0), - (125,10003,10,0,0), - (125,10011,11,0,0), - (125,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (125,11004,11,0,0), - (125,12010,11,0,0), - (125,12011,10,0,0), - (125,15001,0,0,0), - (125,20125,0,0,0), - (125,22009,0,0,0), - (125,31153,0,0,0), - (125,36001,0,0,0), - (125,37001,0,0,0), - (125,40020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (125,100103,10,0,0), - (125,100103,11,0,0), - (125,110042,10,1,1), - (125,110042,11,1,1), - (125,130022,0,0,0), - (125,140002,0,0,0), - (125,160013,0,0,0), - (125,180012,0,0,0), - (125,190005,0,0,0), - (125,200018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (125,230001,0,0,0), - (125,240001,0,0,0), - (125,250002,0,0,0), - (125,280015,0,0,0), - (125,290004,0,0,0), - (125,300001,0,0,0), - (125,320021,0,0,0), - (125,330008,0,0,0), - (125,340002,0,0,0), - (125,1000068,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (125,1100013,0,0,0), - (125,1200014,0,0,0), - (126,1001,0,1,1), - (126,2001,0,1,1), - (126,4001,0,0,0), - (126,5001,0,0,0), - (126,6001,0,0,0), - (126,10002,10,0,0), - (126,10010,11,0,0), - (126,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (126,11004,11,0,0), - (126,12010,10,0,0), - (126,12021,11,0,0), - (126,13011,11,0,0), - (126,13012,10,0,0), - (126,15001,0,0,0), - (126,20126,0,0,0), - (126,22009,0,0,0), - (126,31153,0,0,0), - (126,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (126,37001,0,0,0), - (126,40026,0,0,0), - (126,100002,10,0,0), - (126,100002,11,0,0), - (126,110104,10,1,1), - (126,110109,11,1,1), - (126,130045,0,0,0), - (126,140009,0,0,0), - (126,160037,0,0,0), - (126,180020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (126,190022,0,0,0), - (126,200020,0,0,0), - (126,230001,0,0,0), - (126,240001,0,0,0), - (126,250002,0,0,0), - (126,280027,0,0,0), - (126,290003,0,0,0), - (126,300001,0,0,0), - (126,320024,0,0,0), - (126,330056,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (126,340002,0,0,0), - (126,1000021,0,0,0), - (126,1100098,0,0,0), - (126,1200019,0,0,0), - (127,1001,0,1,1), - (127,2001,0,1,1), - (127,4001,0,0,0), - (127,5001,0,0,0), - (127,6001,0,0,0), - (127,10009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (127,10010,10,0,0), - (127,11004,10,0,0), - (127,11004,11,0,0), - (127,12008,11,0,0), - (127,12009,10,0,0), - (127,15001,0,0,0), - (127,20127,0,0,0), - (127,22009,0,0,0), - (127,31153,0,0,0), - (127,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (127,37001,0,0,0), - (127,40015,0,0,0), - (127,100002,10,0,0), - (127,100002,11,0,0), - (127,110048,10,1,1), - (127,110048,11,1,1), - (127,130057,0,0,0), - (127,140018,0,0,0), - (127,160001,0,0,0), - (127,180049,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (127,190013,0,0,0), - (127,200058,0,0,0), - (127,230021,0,0,0), - (127,240032,0,0,0), - (127,250022,0,0,0), - (127,280045,0,0,0), - (127,290003,0,0,0), - (127,300001,0,0,0), - (127,320033,0,0,0), - (127,330053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (127,340002,0,0,0), - (127,1000162,0,0,0), - (127,1100113,0,0,0), - (127,1200013,0,0,0), - (128,1001,0,0,0), - (128,2001,0,1,1), - (128,4001,0,0,0), - (128,5001,0,0,0), - (128,6001,0,0,0), - (128,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (128,10010,11,0,0), - (128,11004,10,0,0), - (128,11004,11,0,0), - (128,12007,10,0,0), - (128,12029,11,0,0), - (128,13011,10,0,0), - (128,15001,0,0,0), - (128,20128,0,0,0), - (128,22009,0,0,0), - (128,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (128,36001,0,0,0), - (128,37001,0,0,0), - (128,40023,0,0,0), - (128,100002,10,0,0), - (128,100002,11,0,0), - (128,110104,10,1,1), - (128,110109,11,1,1), - (128,130004,0,0,0), - (128,140009,0,0,0), - (128,160039,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (128,180023,0,0,0), - (128,190006,0,0,0), - (128,200023,0,0,0), - (128,230001,0,0,0), - (128,240005,0,0,0), - (128,250002,0,0,0), - (128,280023,0,0,0), - (128,290004,0,0,0), - (128,300001,0,0,0), - (128,320027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (128,330043,0,0,0), - (128,340002,0,0,0), - (128,1000018,0,0,0), - (128,1100020,0,0,0), - (128,1200035,0,0,0), - (129,1001,0,1,1), - (129,2001,0,1,1), - (129,4001,0,0,0), - (129,5001,0,0,0), - (129,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (129,10010,10,0,0), - (129,10010,11,0,0), - (129,11004,10,0,0), - (129,11004,11,0,0), - (129,12008,10,0,0), - (129,12021,11,0,0), - (129,13011,10,0,0), - (129,15001,0,0,0), - (129,20129,0,0,0), - (129,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (129,25006,0,0,0), - (129,31153,0,0,0), - (129,36001,0,0,0), - (129,37001,0,0,0), - (129,40049,0,0,0), - (129,100002,10,0,0), - (129,100002,11,0,0), - (129,110033,10,1,1), - (129,110033,11,1,1), - (129,130004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (129,140009,0,0,0), - (129,160040,0,0,0), - (129,180023,0,0,0), - (129,190006,0,0,0), - (129,200023,0,0,0), - (129,230001,0,0,0), - (129,240006,0,0,0), - (129,250002,0,0,0), - (129,280028,0,0,0), - (129,290003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (129,300001,0,0,0), - (129,320027,0,0,0), - (129,330043,0,0,0), - (129,340002,0,0,0), - (129,1000051,0,0,0), - (129,1100034,0,0,0), - (129,1200035,0,0,0), - (130,1001,0,1,1), - (130,2001,0,1,1), - (130,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (130,5001,0,0,0), - (130,6001,0,0,0), - (130,10002,10,0,0), - (130,10010,11,0,0), - (130,11004,10,0,0), - (130,11004,11,0,0), - (130,12009,10,0,0), - (130,12029,11,0,0), - (130,13009,11,0,0), - (130,13011,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (130,15001,0,0,0), - (130,20130,0,0,0), - (130,22006,0,0,0), - (130,31153,0,0,0), - (130,36001,0,0,0), - (130,37001,0,0,0), - (130,40055,0,0,0), - (130,100002,10,0,0), - (130,100002,11,0,0), - (130,110040,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (130,110040,11,1,1), - (130,130004,0,0,0), - (130,140022,0,0,0), - (130,160040,0,0,0), - (130,180023,0,0,0), - (130,190006,0,0,0), - (130,200023,0,0,0), - (130,230003,0,0,0), - (130,240005,0,0,0), - (130,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (130,280023,0,0,0), - (130,290004,0,0,0), - (130,300001,0,0,0), - (130,320027,0,0,0), - (130,330043,0,0,0), - (130,340003,0,0,0), - (130,1000146,0,0,0), - (130,1100020,0,0,0), - (130,1200037,0,0,0), - (131,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (131,2001,0,1,1), - (131,4001,0,0,0), - (131,5001,0,0,0), - (131,6001,0,0,0), - (131,10002,10,0,0), - (131,10010,11,0,0), - (131,11004,10,0,0), - (131,11004,11,0,0), - (131,12006,10,0,0), - (131,12027,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (131,13012,10,0,0), - (131,15001,0,0,0), - (131,20131,0,0,0), - (131,22002,0,0,0), - (131,31153,0,0,0), - (131,36001,0,0,0), - (131,37001,0,0,0), - (131,40034,0,0,0), - (131,100132,10,0,0), - (131,100132,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (131,110027,10,1,1), - (131,110027,11,1,1), - (131,130048,0,0,0), - (131,140008,0,0,0), - (131,160048,0,0,0), - (131,180022,0,0,0), - (131,190068,0,0,0), - (131,200022,0,0,0), - (131,230001,0,0,0), - (131,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (131,250003,0,0,0), - (131,280022,0,0,0), - (131,290003,0,0,0), - (131,300001,0,0,0), - (131,320026,0,0,0), - (131,330020,0,0,0), - (131,340002,0,0,0), - (131,1000007,0,0,0), - (131,1100019,0,0,0), - (131,1200021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (132,1001,0,1,1), - (132,2001,0,1,1), - (132,4001,0,0,0), - (132,5001,0,0,0), - (132,6001,0,0,0), - (132,10002,10,0,0), - (132,10010,11,0,0), - (132,11004,10,0,0), - (132,11004,11,0,0), - (132,12006,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (132,12022,11,0,0), - (132,13012,10,0,0), - (132,15001,0,0,0), - (132,20132,0,0,0), - (132,22008,0,0,0), - (132,31153,0,0,0), - (132,36001,0,0,0), - (132,37001,0,0,0), - (132,40032,0,0,0), - (132,100132,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (132,100132,11,0,0), - (132,110033,10,1,1), - (132,110033,11,1,1), - (132,130044,0,0,0), - (132,140004,0,0,0), - (132,160054,0,0,0), - (132,180016,0,0,0), - (132,190018,0,0,0), - (132,200006,0,0,0), - (132,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (132,240001,0,0,0), - (132,250027,0,0,0), - (132,280003,0,0,0), - (132,290003,0,0,0), - (132,300001,0,0,0), - (132,320003,0,0,0), - (132,330052,0,0,0), - (132,340002,0,0,0), - (132,1000119,0,0,0), - (132,1100002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (132,1200002,0,0,0), - (133,1001,0,1,1), - (133,2001,0,1,1), - (133,4001,0,0,0), - (133,5001,0,0,0), - (133,6001,0,0,0), - (133,10002,10,0,0), - (133,10010,11,0,0), - (133,11004,10,0,0), - (133,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (133,12006,10,0,0), - (133,12022,11,0,0), - (133,13012,10,0,0), - (133,15001,0,0,0), - (133,20133,0,0,0), - (133,22008,0,0,0), - (133,31153,0,0,0), - (133,36001,0,0,0), - (133,37001,0,0,0), - (133,40033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (133,100132,10,0,0), - (133,100132,11,0,0), - (133,110104,10,1,1), - (133,110109,11,1,1), - (133,130048,0,0,0), - (133,140004,0,0,0), - (133,160073,0,0,0), - (133,180015,0,0,0), - (133,190017,0,0,0), - (133,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (133,230001,0,0,0), - (133,240005,0,0,0), - (133,250002,0,0,0), - (133,280036,0,0,0), - (133,290004,0,0,0), - (133,300001,0,0,0), - (133,320004,0,0,0), - (133,330066,0,0,0), - (133,340002,0,0,0), - (133,1000120,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (133,1100044,0,0,0), - (133,1200015,0,0,0), - (134,1001,0,1,1), - (134,2001,0,1,1), - (134,4001,0,0,0), - (134,5001,0,0,0), - (134,6001,0,0,0), - (134,10011,10,0,0), - (134,10011,11,0,0), - (134,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (134,11004,11,0,0), - (134,12006,10,0,0), - (134,12022,11,0,0), - (134,13012,10,0,0), - (134,15001,0,0,0), - (134,20134,0,0,0), - (134,22001,0,0,0), - (134,31153,0,0,0), - (134,36001,0,0,0), - (134,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (134,40054,0,0,0), - (134,100128,10,0,0), - (134,100128,11,0,0), - (134,110084,10,1,1), - (134,110100,11,1,1), - (134,130044,0,0,0), - (134,140014,0,0,0), - (134,160057,0,0,0), - (134,180016,0,0,0), - (134,190018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (134,200006,0,0,0), - (134,230003,0,0,0), - (134,240005,0,0,0), - (134,250002,0,0,0), - (134,280003,0,0,0), - (134,290004,0,0,0), - (134,300001,0,0,0), - (134,320052,0,0,0), - (134,330021,0,0,0), - (134,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (134,1000012,0,0,0), - (134,1100048,0,0,0), - (134,1200002,0,0,0), - (135,1001,0,1,1), - (135,2001,0,1,1), - (135,4001,0,0,0), - (135,5001,0,0,0), - (135,6001,0,0,0), - (135,10009,11,0,0), - (135,10014,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (135,11004,10,0,0), - (135,11004,11,0,0), - (135,12006,10,0,0), - (135,12028,11,0,0), - (135,13011,10,0,0), - (135,15001,0,0,0), - (135,20135,0,0,0), - (135,22008,0,0,0), - (135,31153,0,0,0), - (135,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (135,37001,0,0,0), - (135,40036,0,0,0), - (135,100128,10,0,0), - (135,100128,11,0,0), - (135,110030,10,1,1), - (135,110030,11,1,1), - (135,130044,0,0,0), - (135,140009,0,0,0), - (135,160054,0,0,0), - (135,180016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (135,190018,0,0,0), - (135,200006,0,0,0), - (135,230001,0,0,0), - (135,240001,0,0,0), - (135,250027,0,0,0), - (135,280003,0,0,0), - (135,290003,0,0,0), - (135,300001,0,0,0), - (135,320003,0,0,0), - (135,330052,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (135,340002,0,0,0), - (135,1000119,0,0,0), - (135,1100002,0,0,0), - (135,1200002,0,0,0), - (153,1001,0,0,0), - (153,2001,0,1,1), - (153,4001,0,0,0), - (153,5001,0,0,0), - (153,6001,0,0,0), - (153,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (153,10010,11,0,0), - (153,11004,10,0,0), - (153,11004,11,0,0), - (153,12006,10,0,0), - (153,12009,11,0,0), - (153,15001,0,0,0), - (153,20138,0,0,0), - (153,23003,0,0,0), - (153,34001,10,0,0), - (153,34001,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (153,35001,0,0,0), - (153,36001,0,0,0), - (153,37001,0,0,0), - (153,100002,10,0,0), - (153,100002,11,0,0), - (153,110001,10,1,1), - (153,110001,11,1,1), - (153,130026,0,0,0), - (153,140016,0,0,0), - (153,160021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (153,180019,0,0,0), - (153,190021,0,0,0), - (153,200019,0,0,0), - (153,230001,0,0,0), - (153,240003,0,0,0), - (153,250001,0,0,0), - (153,280019,0,0,0), - (153,290003,0,0,0), - (153,300001,0,0,0), - (153,320023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (153,330006,0,0,0), - (153,340001,0,0,0), - (153,1000020,0,0,0), - (153,1100016,0,0,0), - (153,1200018,0,0,0), - (159,1001,0,1,1), - (159,2001,0,1,1), - (159,4001,0,0,0), - (159,5001,0,0,0), - (159,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (159,10001,10,0,0), - (159,10004,11,0,0), - (159,11004,10,0,0), - (159,11004,11,0,0), - (159,12009,10,0,0), - (159,12029,11,0,0), - (159,15001,0,0,0), - (159,20104,0,0,0), - (159,22014,0,0,0), - (159,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (159,36001,0,0,0), - (159,37001,0,0,0), - (159,40006,0,0,0), - (159,100002,10,0,0), - (159,100002,11,0,0), - (159,110032,10,1,1), - (159,110032,11,1,1), - (159,130042,0,0,0), - (159,140016,0,0,0), - (159,160026,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (159,180018,0,0,0), - (159,190077,0,0,0), - (159,200042,0,0,0), - (159,230001,0,0,0), - (159,240001,0,0,0), - (159,250030,0,0,0), - (159,280030,0,0,0), - (159,290002,0,0,0), - (159,300001,0,0,0), - (159,320040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (159,330035,0,0,0), - (159,340002,0,0,0), - (159,1000001,0,0,0), - (159,1100119,0,0,0), - (159,1200048,0,0,0), - (171,1001,0,1,1), - (171,2001,0,1,1), - (171,4001,0,0,0), - (171,5001,0,0,0), - (171,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (171,10003,10,0,0), - (171,10010,11,0,0), - (171,11004,10,0,0), - (171,11004,11,0,0), - (171,12009,10,0,0), - (171,12029,11,0,0), - (171,15001,0,0,0), - (171,20111,0,0,0), - (171,22014,0,0,0), - (171,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (171,36001,0,0,0), - (171,37001,0,0,0), - (171,40062,0,0,0), - (171,100002,10,0,0), - (171,100002,11,0,0), - (171,110044,10,0,0), - (171,110044,11,0,0), - (171,130039,0,0,0), - (171,140019,0,0,0), - (171,160034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (171,180059,0,0,0), - (171,190029,0,0,0), - (171,200012,0,0,0), - (171,230005,0,0,0), - (171,240002,0,0,0), - (171,250005,0,0,0), - (171,280004,0,0,0), - (171,290007,0,0,0), - (171,300011,0,0,0), - (171,320007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (171,330033,0,0,0), - (171,340003,0,0,0), - (171,1000006,0,0,0), - (171,1100043,0,0,0), - (171,1200005,0,0,0), - (173,1001,0,1,1), - (173,2001,0,1,1), - (173,4001,0,0,0), - (173,5001,0,0,0), - (173,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (173,10001,10,0,0), - (173,10004,11,0,0), - (173,11004,10,0,0), - (173,11004,11,0,0), - (173,12007,10,0,0), - (173,12009,11,0,0), - (173,15001,0,0,0), - (173,20146,0,0,0), - (173,36001,0,0,0), - (173,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (173,40031,0,0,0), - (173,100002,10,0,0), - (173,100002,11,0,0), - (173,110040,10,1,1), - (173,110040,11,1,1), - (173,130048,0,0,0), - (173,140006,0,0,0), - (173,160012,0,0,0), - (173,180003,0,0,0), - (173,190016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (173,200002,0,0,0), - (173,230001,0,0,0), - (173,240006,0,0,0), - (173,250002,0,0,0), - (173,280016,0,0,0), - (173,290003,0,0,0), - (173,300001,0,0,0), - (173,320020,0,0,0), - (173,330056,0,0,0), - (173,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (173,1000074,0,0,0), - (173,1100001,0,0,0), - (173,1200034,0,0,0), - (174,1001,0,1,1), - (174,2001,0,1,1), - (174,4001,0,0,0), - (174,5001,0,0,0), - (174,6001,0,0,0), - (174,10010,11,0,0), - (174,10012,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (174,11004,10,0,0), - (174,11004,11,0,0), - (174,12007,10,0,0), - (174,12009,11,0,0), - (174,15001,0,0,0), - (174,20147,0,0,0), - (174,36001,0,0,0), - (174,37001,0,0,0), - (174,40001,0,0,0), - (174,100136,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (174,100136,11,0,0), - (174,110141,10,1,1), - (174,110141,11,1,1), - (174,130022,0,0,0), - (174,140015,0,0,0), - (174,160012,0,0,0), - (174,180001,0,0,0), - (174,190016,0,0,0), - (174,200002,0,0,0), - (174,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (174,240006,0,0,0), - (174,250002,0,0,0), - (174,280016,0,0,0), - (174,290003,0,0,0), - (174,300001,0,0,0), - (174,320020,0,0,0), - (174,330056,0,0,0), - (174,340002,0,0,0), - (174,1000074,0,0,0), - (174,1100001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (174,1200034,0,0,0), - (175,1001,0,1,1), - (175,2001,0,1,1), - (175,4001,0,0,0), - (175,5001,0,0,0), - (175,6001,0,0,0), - (175,10010,11,0,0), - (175,10012,10,0,0), - (175,11004,10,0,0), - (175,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (175,12007,10,0,0), - (175,12009,11,0,0), - (175,15001,0,0,0), - (175,20148,0,0,0), - (175,36001,0,0,0), - (175,37001,0,0,0), - (175,40001,0,0,0), - (175,100136,10,0,0), - (175,100136,11,0,0), - (175,110141,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (175,110141,11,1,1), - (175,130022,0,0,0), - (175,140015,0,0,0), - (175,160017,0,0,0), - (175,180002,0,0,0), - (175,190015,0,0,0), - (175,200003,0,0,0), - (175,230003,0,0,0), - (175,240005,0,0,0), - (175,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (175,280002,0,0,0), - (175,290004,0,0,0), - (175,300001,0,0,0), - (175,320002,0,0,0), - (175,330056,0,0,0), - (175,340002,0,0,0), - (175,1000147,0,0,0), - (175,1100014,0,0,0), - (175,1200001,0,0,0), - (176,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (176,2001,0,1,1), - (176,4001,0,0,0), - (176,5001,0,0,0), - (176,6001,0,0,0), - (176,10001,10,0,0), - (176,10004,11,0,0), - (176,11004,10,0,0), - (176,11004,11,0,0), - (176,12007,10,0,0), - (176,12009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (176,15001,0,0,0), - (176,20149,0,0,0), - (176,36001,0,0,0), - (176,37001,0,0,0), - (176,40031,0,0,0), - (176,100002,10,0,0), - (176,100002,11,0,0), - (176,110040,10,1,1), - (176,110040,11,1,1), - (176,130048,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (176,140006,0,0,0), - (176,160012,0,0,0), - (176,180003,0,0,0), - (176,190016,0,0,0), - (176,200002,0,0,0), - (176,230001,0,0,0), - (176,240006,0,0,0), - (176,250002,0,0,0), - (176,280016,0,0,0), - (176,290003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (176,300001,0,0,0), - (176,320020,0,0,0), - (176,330056,0,0,0), - (176,340002,0,0,0), - (176,1000074,0,0,0), - (176,1100001,0,0,0), - (176,1200034,0,0,0), - (177,1001,0,1,1), - (177,2001,0,1,1), - (177,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (177,5001,0,0,0), - (177,6001,0,0,0), - (177,10001,10,0,0), - (177,10004,11,0,0), - (177,11004,10,0,0), - (177,11004,11,0,0), - (177,12007,10,0,0), - (177,12009,11,0,0), - (177,15001,0,0,0), - (177,20150,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (177,36001,0,0,0), - (177,37001,0,0,0), - (177,40031,0,0,0), - (177,100002,10,0,0), - (177,100002,11,0,0), - (177,110040,10,1,1), - (177,110040,11,1,1), - (177,130048,0,0,0), - (177,140006,0,0,0), - (177,160025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (177,180052,0,0,0), - (177,190020,0,0,0), - (177,200004,0,0,0), - (177,230001,0,0,0), - (177,240005,0,0,0), - (177,250001,0,0,0), - (177,280018,0,0,0), - (177,290003,0,0,0), - (177,300001,0,0,0), - (177,320022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (177,330035,0,0,0), - (177,340001,0,0,0), - (177,1000136,0,0,0), - (177,1100101,0,0,0), - (177,1200038,0,0,0), - (178,1001,0,1,1), - (178,2001,0,1,1), - (178,4001,0,0,0), - (178,5001,0,0,0), - (178,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (178,10002,10,0,0), - (178,10010,11,0,0), - (178,11004,10,0,0), - (178,11004,11,0,0), - (178,12007,10,0,0), - (178,12009,11,0,0), - (178,15001,0,0,0), - (178,20151,0,0,0), - (178,36001,0,0,0), - (178,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (178,40031,0,0,0), - (178,100002,10,0,0), - (178,100002,11,0,0), - (178,110040,10,1,1), - (178,110040,11,1,1), - (178,130048,0,0,0), - (178,140006,0,0,0), - (178,160028,0,0,0), - (178,180018,0,0,0), - (178,190077,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (178,200042,0,0,0), - (178,230001,0,0,0), - (178,240001,0,0,0), - (178,250001,0,0,0), - (178,280030,0,0,0), - (178,290003,0,0,0), - (178,300001,0,0,0), - (178,320040,0,0,0), - (178,330035,0,0,0), - (178,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (178,1000099,0,0,0), - (178,1100119,0,0,0), - (178,1200048,0,0,0), - (179,1001,0,1,1), - (179,2001,0,1,1), - (179,4001,0,0,0), - (179,5001,0,0,0), - (179,6001,0,0,0), - (179,10001,10,0,0), - (179,10004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (179,11004,10,0,0), - (179,11004,11,0,0), - (179,12007,10,0,0), - (179,12009,11,0,0), - (179,15001,0,0,0), - (179,20152,0,0,0), - (179,36001,0,0,0), - (179,37001,0,0,0), - (179,40031,0,0,0), - (179,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (179,100002,11,0,0), - (179,110040,10,1,1), - (179,110040,11,1,1), - (179,130048,0,0,0), - (179,140006,0,0,0), - (179,160012,0,0,0), - (179,180003,0,0,0), - (179,190016,0,0,0), - (179,200002,0,0,0), - (179,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (179,240006,0,0,0), - (179,250002,0,0,0), - (179,280016,0,0,0), - (179,290003,0,0,0), - (179,300001,0,0,0), - (179,320020,0,0,0), - (179,330056,0,0,0), - (179,340002,0,0,0), - (179,1000074,0,0,0), - (179,1100001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (179,1200034,0,0,0), - (180,1001,0,1,1), - (180,2001,0,1,1), - (180,4001,0,0,0), - (180,5001,0,0,0), - (180,6001,0,0,0), - (180,10001,10,0,0), - (180,10004,11,0,0), - (180,11004,10,0,0), - (180,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (180,12007,10,0,0), - (180,12009,11,0,0), - (180,15001,0,0,0), - (180,20153,0,0,0), - (180,36001,0,0,0), - (180,37001,0,0,0), - (180,40031,0,0,0), - (180,100002,10,0,0), - (180,100002,11,0,0), - (180,110040,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (180,110040,11,1,1), - (180,130048,0,0,0), - (180,140006,0,0,0), - (180,160042,0,0,0), - (180,180028,0,0,0), - (180,190025,0,0,0), - (180,200027,0,0,0), - (180,230003,0,0,0), - (180,240005,0,0,0), - (180,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (180,280029,0,0,0), - (180,290003,0,0,0), - (180,300001,0,0,0), - (180,320027,0,0,0), - (180,330018,0,0,0), - (180,340002,0,0,0), - (180,1000092,0,0,0), - (180,1100037,0,0,0), - (180,1200035,0,0,0), - (184,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (184,2001,0,1,1), - (184,4001,0,0,0), - (184,5001,0,0,0), - (184,6001,0,0,0), - (184,10011,10,0,0), - (184,10011,11,0,0), - (184,11004,10,0,0), - (184,11004,11,0,0), - (184,12006,10,0,0), - (184,12022,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (184,15001,0,0,0), - (184,20157,0,0,0), - (184,22008,0,0,0), - (184,31153,0,0,0), - (184,36001,0,0,0), - (184,37001,0,0,0), - (184,40033,0,0,0), - (184,100132,10,0,0), - (184,100132,11,0,0), - (184,110045,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (184,110045,11,1,1), - (184,130001,0,0,0), - (184,140020,0,0,0), - (184,160055,0,0,0), - (184,180036,0,0,0), - (184,190017,0,0,0), - (184,200029,0,0,0), - (184,230001,0,0,0), - (184,240005,0,0,0), - (184,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (184,280034,0,0,0), - (184,290004,0,0,0), - (184,300001,0,0,0), - (184,320089,0,0,0), - (184,330034,0,0,0), - (184,340002,0,0,0), - (184,1000113,0,0,0), - (184,1100044,0,0,0), - (184,1200015,0,0,0), - (190,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (190,2001,0,1,1), - (190,4001,0,0,0), - (190,5001,0,0,0), - (190,6001,0,0,0), - (190,10007,10,0,0), - (190,10007,11,0,0), - (190,11004,10,0,0), - (190,11004,11,0,0), - (190,12006,10,0,0), - (190,12022,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (190,15001,0,0,0), - (190,20131,0,0,0), - (190,22008,0,0,0), - (190,31153,0,0,0), - (190,36001,0,0,0), - (190,37001,0,0,0), - (190,40034,0,0,0), - (190,100132,10,0,0), - (190,100132,11,0,0), - (190,110104,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (190,110109,11,1,1), - (190,130048,0,0,0), - (190,140007,0,0,0), - (190,160050,0,0,0), - (190,180053,0,0,0), - (190,190024,0,0,0), - (190,200007,0,0,0), - (190,230003,0,0,0), - (190,240005,0,0,0), - (190,250003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (190,280010,0,0,0), - (190,290003,0,0,0), - (190,300001,0,0,0), - (190,320053,0,0,0), - (190,330043,0,0,0), - (190,340002,0,0,0), - (190,1000007,0,0,0), - (190,1100019,0,0,0), - (190,1200021,0,0,0), - (208,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (208,2001,0,1,1), - (208,4001,0,0,0), - (208,5001,0,0,0), - (208,6001,0,0,0), - (208,10009,11,0,0), - (208,10010,10,0,0), - (208,11004,10,0,0), - (208,11004,11,0,0), - (208,12009,11,0,0), - (208,12010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (208,15001,0,0,0), - (208,20127,0,0,0), - (208,22009,0,0,0), - (208,31153,0,0,0), - (208,36001,0,0,0), - (208,37001,0,0,0), - (208,40015,0,0,0), - (208,100002,10,0,0), - (208,100002,11,0,0), - (208,110044,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (208,110044,11,1,1), - (208,130049,0,0,0), - (208,140018,0,0,0), - (208,160001,0,0,0), - (208,180049,0,0,0), - (208,190013,0,0,0), - (208,200057,0,0,0), - (208,230001,0,0,0), - (208,240001,0,0,0), - (208,250022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (208,280045,0,0,0), - (208,290003,0,0,0), - (208,300001,0,0,0), - (208,320033,0,0,0), - (208,330053,0,0,0), - (208,340002,0,0,0), - (208,1000162,0,0,0), - (208,1100113,0,0,0), - (208,1200013,0,0,0), - (236,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (236,2001,0,1,1), - (236,4001,0,0,0), - (236,5001,0,0,0), - (236,6001,0,0,0), - (236,10010,10,0,0), - (236,10010,11,0,0), - (236,11004,10,0,0), - (236,11004,11,0,0), - (236,12007,10,0,0), - (236,12029,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (236,15001,0,0,0), - (236,20113,0,0,0), - (236,22010,0,0,0), - (236,31153,0,0,0), - (236,36001,0,0,0), - (236,37001,0,0,0), - (236,40016,0,0,0), - (236,100002,10,0,0), - (236,100002,11,0,0), - (236,110032,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (236,110032,11,1,1), - (236,130049,0,0,0), - (236,140009,0,0,0), - (236,160006,0,0,0), - (236,180014,0,0,0), - (236,190016,0,0,0), - (236,200002,0,0,0), - (236,230001,0,0,0), - (236,240001,0,0,0), - (236,250026,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (236,280024,0,0,0), - (236,290003,0,0,0), - (236,300001,0,0,0), - (236,320020,0,0,0), - (236,330052,0,0,0), - (236,340002,0,0,0), - (236,1000123,0,0,0), - (236,1100001,0,0,0), - (236,1200034,0,0,0), - (320,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (320,2001,0,0,0), - (320,4001,0,0,0), - (320,5001,0,0,0), - (320,6001,0,0,0), - (320,10014,11,0,0), - (320,10021,10,0,0), - (320,11009,10,0,0), - (320,11009,11,0,0), - (320,12009,11,0,0), - (320,12010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (320,13011,10,0,0), - (320,13012,11,0,0), - (320,15001,0,0,0), - (320,20207,0,0,0), - (320,22010,0,0,0), - (320,31152,0,0,0), - (320,35003,10,0,0), - (320,35003,11,0,0), - (320,36001,0,0,0), - (320,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (320,40060,0,0,0), - (320,100002,10,0,0), - (320,100002,11,0,0), - (320,110026,11,0,0), - (320,110044,10,0,0), - (320,130035,0,0,0), - (320,140011,0,0,0), - (320,160032,0,0,0), - (320,180017,0,0,0), - (320,190019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (320,200001,0,0,0), - (320,230003,0,0,0), - (320,240005,0,0,0), - (320,250008,0,0,0), - (320,280040,0,0,0), - (320,290002,0,0,0), - (320,300010,0,0,0), - (320,320006,0,0,0), - (320,330027,0,0,0), - (320,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (320,1000005,0,0,0), - (320,1100040,0,0,0), - (320,1200029,0,0,0), - (335,1001,0,0,0), - (335,2001,0,0,0), - (335,4001,0,0,0), - (335,5001,0,0,0), - (335,6001,0,0,0), - (335,10002,10,0,0), - (335,10010,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (335,11006,10,0,0), - (335,11006,11,0,0), - (335,12009,10,0,0), - (335,12029,11,0,0), - (335,15001,0,0,0), - (335,20210,0,0,0), - (335,22014,0,0,0), - (335,31153,0,0,0), - (335,36001,0,0,0), - (335,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (335,40013,0,0,0), - (335,100002,10,0,0), - (335,100002,11,0,0), - (335,110031,10,0,0), - (335,110031,11,0,0), - (335,130034,0,0,0), - (335,140011,0,0,0), - (335,160027,0,0,0), - (335,180030,0,0,0), - (335,190020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (335,200004,0,0,0), - (335,230001,0,0,0), - (335,240001,0,0,0), - (335,250001,0,0,0), - (335,280018,0,0,0), - (335,290001,0,0,0), - (335,300001,0,0,0), - (335,320022,0,0,0), - (335,330003,0,0,0), - (335,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (335,1000138,0,0,0), - (335,1100005,0,0,0), - (335,1200017,0,0,0), - (336,1001,0,0,0), - (336,2001,0,0,0), - (336,4001,0,0,0), - (336,5001,0,0,0), - (336,6001,0,0,0), - (336,10002,10,0,0), - (336,10010,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (336,11006,10,0,0), - (336,11006,11,0,0), - (336,12010,10,0,0), - (336,12022,11,0,0), - (336,15001,0,0,0), - (336,20211,0,0,0), - (336,22014,0,0,0), - (336,30001,0,0,0), - (336,31153,0,0,0), - (336,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (336,37001,0,0,0), - (336,40039,0,0,0), - (336,100002,10,0,0), - (336,100002,11,0,0), - (336,110025,10,0,0), - (336,110025,11,0,0), - (336,130034,0,0,0), - (336,140011,0,0,0), - (336,160033,0,0,0), - (336,180051,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (336,190027,0,0,0), - (336,200028,0,0,0), - (336,230001,0,0,0), - (336,240001,0,0,0), - (336,250001,0,0,0), - (336,280008,0,0,0), - (336,290002,0,0,0), - (336,300002,0,0,0), - (336,320011,0,0,0), - (336,330033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (336,340003,0,0,0), - (336,1000005,0,0,0), - (336,1100040,0,0,0), - (336,1200029,0,0,0), - (337,1001,0,0,0), - (337,2001,0,0,0), - (337,4001,0,0,0), - (337,5001,0,0,0), - (337,6001,0,0,0), - (337,10002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (337,10010,11,0,0), - (337,11006,10,0,0), - (337,11006,11,0,0), - (337,12009,10,0,0), - (337,12029,11,0,0), - (337,15001,0,0,0), - (337,20212,0,0,0), - (337,22014,0,0,0), - (337,29001,0,0,0), - (337,30001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (337,31153,0,0,0), - (337,36001,0,0,0), - (337,37001,0,0,0), - (337,40062,0,0,0), - (337,100002,10,0,0), - (337,100002,11,0,0), - (337,110025,10,0,0), - (337,110025,11,0,0), - (337,130034,0,0,0), - (337,140009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (337,160019,0,0,0), - (337,180030,0,0,0), - (337,190020,0,0,0), - (337,200004,0,0,0), - (337,230001,0,0,0), - (337,240001,0,0,0), - (337,250001,0,0,0), - (337,280018,0,0,0), - (337,290002,0,0,0), - (337,300002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (337,320022,0,0,0), - (337,330062,0,0,0), - (337,340002,0,0,0), - (337,1000137,0,0,0), - (337,1100101,0,0,0), - (337,1200017,0,0,0), - (338,1001,0,0,0), - (338,2001,0,0,0), - (338,4001,0,0,0), - (338,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (338,6001,0,0,0), - (338,10002,10,0,0), - (338,10010,11,0,0), - (338,11007,10,0,0), - (338,11007,11,0,0), - (338,12010,10,0,0), - (338,12022,11,0,0), - (338,13008,10,0,0), - (338,15001,0,0,0), - (338,20213,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (338,22001,0,0,0), - (338,31153,0,0,0), - (338,36001,0,0,0), - (338,37001,0,0,0), - (338,40058,0,0,0), - (338,100128,10,0,0), - (338,100128,11,0,0), - (338,110026,10,0,0), - (338,110026,11,0,0), - (338,130044,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (338,140008,0,0,0), - (338,160078,0,0,0), - (338,180037,0,0,0), - (338,190069,0,0,0), - (338,200053,0,0,0), - (338,230004,0,0,0), - (338,240005,0,0,0), - (338,250006,0,0,0), - (338,280042,0,0,0), - (338,290007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (338,300001,0,0,0), - (338,320065,0,0,0), - (338,330019,0,0,0), - (338,340003,0,0,0), - (338,1000011,0,0,0), - (338,1100045,0,0,0), - (338,1200041,0,0,0), - (339,1001,0,0,0), - (339,2001,0,0,0), - (339,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (339,5001,0,0,0), - (339,6001,0,0,0), - (339,10002,10,0,0), - (339,10010,11,0,0), - (339,11006,10,0,0), - (339,11006,11,0,0), - (339,12010,10,0,0), - (339,12022,11,0,0), - (339,15001,0,0,0), - (339,20214,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (339,22001,0,0,0), - (339,31153,0,0,0), - (339,36001,0,0,0), - (339,37001,0,0,0), - (339,40054,0,0,0), - (339,100128,10,0,0), - (339,100128,11,0,0), - (339,110026,10,0,0), - (339,110026,11,0,0), - (339,130044,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (339,140011,0,0,0), - (339,160055,0,0,0), - (339,180015,0,0,0), - (339,190017,0,0,0), - (339,200029,0,0,0), - (339,230001,0,0,0), - (339,240001,0,0,0), - (339,250003,0,0,0), - (339,280034,0,0,0), - (339,290007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (339,300001,0,0,0), - (339,320089,0,0,0), - (339,330034,0,0,0), - (339,340002,0,0,0), - (339,1000038,0,0,0), - (339,1100044,0,0,0), - (339,1200015,0,0,0), - (340,1001,0,0,0), - (340,2001,0,0,0), - (340,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (340,5001,0,0,0), - (340,6001,0,0,0), - (340,10002,10,0,0), - (340,10010,11,0,0), - (340,11007,10,0,0), - (340,11007,11,0,0), - (340,12010,10,0,0), - (340,12022,11,0,0), - (340,13006,11,0,0), - (340,13008,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (340,15001,0,0,0), - (340,20215,0,0,0), - (340,22001,0,0,0), - (340,31153,0,0,0), - (340,36001,0,0,0), - (340,37001,0,0,0), - (340,40054,0,0,0), - (340,100128,10,0,0), - (340,100128,11,0,0), - (340,110041,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (340,110041,11,0,0), - (340,130044,0,0,0), - (340,140009,0,0,0), - (340,160057,0,0,0), - (340,180016,0,0,0), - (340,190018,0,0,0), - (340,200006,0,0,0), - (340,230001,0,0,0), - (340,240005,0,0,0), - (340,250003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (340,280003,0,0,0), - (340,290007,0,0,0), - (340,300001,0,0,0), - (340,320052,0,0,0), - (340,330021,0,0,0), - (340,340002,0,0,0), - (340,1000012,0,0,0), - (340,1100048,0,0,0), - (340,1200002,0,0,0), - (341,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (341,2001,0,0,0), - (341,4001,0,0,0), - (341,5001,0,0,0), - (341,6001,0,0,0), - (341,10002,10,0,0), - (341,10010,11,0,0), - (341,11006,10,0,0), - (341,11006,11,0,0), - (341,12009,10,0,0), - (341,12030,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (341,15001,0,0,0), - (341,20216,0,0,0), - (341,22008,0,0,0), - (341,31153,0,0,0), - (341,36001,0,0,0), - (341,37001,0,0,0), - (341,40036,0,0,0), - (341,100128,10,0,0), - (341,100128,11,0,0), - (341,110025,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (341,110025,11,0,0), - (341,130044,0,0,0), - (341,140007,0,0,0), - (341,160057,0,0,0), - (341,180016,0,0,0), - (341,190018,0,0,0), - (341,200006,0,0,0), - (341,230001,0,0,0), - (341,240026,0,0,0), - (341,250027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (341,280003,0,0,0), - (341,290015,0,0,0), - (341,300001,0,0,0), - (341,320003,0,0,0), - (341,330034,0,0,0), - (341,340002,0,0,0), - (341,1000117,0,0,0), - (341,1100002,0,0,0), - (341,1200002,0,0,0), - (342,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (342,2001,0,0,0), - (342,4001,0,0,0), - (342,5001,0,0,0), - (342,6001,0,0,0), - (342,10009,11,0,0), - (342,10010,10,0,0), - (342,11006,10,0,0), - (342,11006,11,0,0), - (342,12008,11,0,0), - (342,12009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (342,15001,0,0,0), - (342,20217,0,0,0), - (342,22009,0,0,0), - (342,31153,0,0,0), - (342,36001,0,0,0), - (342,37001,0,0,0), - (342,40022,0,0,0), - (342,100002,10,0,0), - (342,100002,11,0,0), - (342,110025,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (342,110025,11,0,0), - (342,130033,0,0,0), - (342,140010,0,0,0), - (342,160009,0,0,0), - (342,180014,0,0,0), - (342,190016,0,0,0), - (342,200002,0,0,0), - (342,230001,0,0,0), - (342,240001,0,0,0), - (342,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (342,280024,0,0,0), - (342,290004,0,0,0), - (342,300001,0,0,0), - (342,320020,0,0,0), - (342,330053,0,0,0), - (342,340002,0,0,0), - (342,1000121,0,0,0), - (342,1100001,0,0,0), - (342,1200034,0,0,0), - (343,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (343,2001,0,0,0), - (343,4001,0,0,0), - (343,5001,0,0,0), - (343,6001,0,0,0), - (343,10009,11,0,0), - (343,10010,10,0,0), - (343,11006,10,0,0), - (343,11006,11,0,0), - (343,12009,10,0,0), - (343,12030,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (343,15001,0,0,0), - (343,20218,0,0,0), - (343,22009,0,0,0), - (343,31153,0,0,0), - (343,36001,0,0,0), - (343,37001,0,0,0), - (343,40041,0,0,0), - (343,100002,10,0,0), - (343,100002,11,0,0), - (343,110025,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (343,110025,11,0,0), - (343,130033,0,0,0), - (343,140011,0,0,0), - (343,160014,0,0,0), - (343,180002,0,0,0), - (343,190015,0,0,0), - (343,200003,0,0,0), - (343,230001,0,0,0), - (343,240001,0,0,0), - (343,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (343,280002,0,0,0), - (343,290004,0,0,0), - (343,300001,0,0,0), - (343,320002,0,0,0), - (343,330018,0,0,0), - (343,340002,0,0,0), - (343,1000075,0,0,0), - (343,1100014,0,0,0), - (343,1200001,0,0,0), - (344,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (344,2001,0,0,0), - (344,4001,0,0,0), - (344,5001,0,0,0), - (344,6001,0,0,0), - (344,10002,10,0,0), - (344,10010,11,0,0), - (344,11006,10,0,0), - (344,11006,11,0,0), - (344,12009,10,0,0), - (344,12030,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (344,15001,0,0,0), - (344,20219,0,0,0), - (344,22009,0,0,0), - (344,31153,0,0,0), - (344,36001,0,0,0), - (344,37001,0,0,0), - (344,40025,0,0,0), - (344,100002,10,0,0), - (344,100002,11,0,0), - (344,110026,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (344,110026,11,0,0), - (344,130033,0,0,0), - (344,140009,0,0,0), - (344,160012,0,0,0), - (344,180014,0,0,0), - (344,190016,0,0,0), - (344,200002,0,0,0), - (344,230001,0,0,0), - (344,240001,0,0,0), - (344,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (344,280016,0,0,0), - (344,290004,0,0,0), - (344,300001,0,0,0), - (344,320020,0,0,0), - (344,330018,0,0,0), - (344,340002,0,0,0), - (344,1000122,0,0,0), - (344,1100001,0,0,0), - (344,1200034,0,0,0), - (345,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (345,2001,0,0,0), - (345,4001,0,0,0), - (345,5001,0,0,0), - (345,6001,0,0,0), - (345,10002,10,0,0), - (345,10010,11,0,0), - (345,11007,10,0,0), - (345,11007,11,0,0), - (345,12010,10,0,0), - (345,12022,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (345,15001,0,0,0), - (345,20220,0,0,0), - (345,22009,0,0,0), - (345,29001,0,0,0), - (345,31153,0,0,0), - (345,36001,0,0,0), - (345,37001,0,0,0), - (345,40025,0,0,0), - (345,100002,10,0,0), - (345,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (345,110027,10,0,0), - (345,110027,11,0,0), - (345,130033,0,0,0), - (345,140011,0,0,0), - (345,160007,0,0,0), - (345,180014,0,0,0), - (345,190016,0,0,0), - (345,200047,0,0,0), - (345,230002,0,0,0), - (345,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (345,250002,0,0,0), - (345,280024,0,0,0), - (345,290004,0,0,0), - (345,300003,0,0,0), - (345,320029,0,0,0), - (345,330025,0,0,0), - (345,340003,0,0,0), - (345,1000125,0,0,0), - (345,1100022,0,0,0), - (345,1200023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (346,1001,0,0,0), - (346,2001,0,0,0), - (346,4001,0,0,0), - (346,5001,0,0,0), - (346,6001,0,0,0), - (346,10002,10,0,0), - (346,10010,11,0,0), - (346,11006,10,0,0), - (346,11006,11,0,0), - (346,12009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (346,12010,10,0,0), - (346,15001,0,0,0), - (346,20221,0,0,0), - (346,22009,0,0,0), - (346,30001,0,0,0), - (346,31153,0,0,0), - (346,36001,0,0,0), - (346,37001,0,0,0), - (346,40061,0,0,0), - (346,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (346,100002,11,0,0), - (346,110104,10,0,0), - (346,110109,11,0,0), - (346,130033,0,0,0), - (346,140008,0,0,0), - (346,160014,0,0,0), - (346,180002,0,0,0), - (346,190015,0,0,0), - (346,200003,0,0,0), - (346,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (346,240001,0,0,0), - (346,250002,0,0,0), - (346,280002,0,0,0), - (346,290004,0,0,0), - (346,300001,0,0,0), - (346,320002,0,0,0), - (346,330018,0,0,0), - (346,340002,0,0,0), - (346,1000075,0,0,0), - (346,1100014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (346,1200001,0,0,0), - (347,1001,0,0,0), - (347,2001,0,0,0), - (347,4001,0,0,0), - (347,5001,0,0,0), - (347,6001,0,0,0), - (347,10002,10,0,0), - (347,10010,11,0,0), - (347,11006,10,0,0), - (347,11006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (347,12009,11,0,0), - (347,12010,10,0,0), - (347,15001,0,0,0), - (347,20222,0,0,0), - (347,22004,0,0,0), - (347,31153,0,0,0), - (347,36001,0,0,0), - (347,37001,0,0,0), - (347,40028,0,0,0), - (347,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (347,100002,11,0,0), - (347,110041,10,0,0), - (347,110041,11,0,0), - (347,130033,0,0,0), - (347,140011,0,0,0), - (347,160014,0,0,0), - (347,180002,0,0,0), - (347,190015,0,0,0), - (347,200003,0,0,0), - (347,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (347,240001,0,0,0), - (347,250002,0,0,0), - (347,280002,0,0,0), - (347,290004,0,0,0), - (347,300001,0,0,0), - (347,320002,0,0,0), - (347,330018,0,0,0), - (347,340002,0,0,0), - (347,1000075,0,0,0), - (347,1100014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (347,1200001,0,0,0), - (348,1001,0,0,0), - (348,2001,0,0,0), - (348,4001,0,0,0), - (348,5001,0,0,0), - (348,6001,0,0,0), - (348,10001,10,0,0), - (348,10010,11,0,0), - (348,11006,10,0,0), - (348,11006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (348,12008,10,0,0), - (348,12029,11,0,0), - (348,15001,0,0,0), - (348,20223,0,0,0), - (348,22009,0,0,0), - (348,31153,0,0,0), - (348,36001,0,0,0), - (348,37001,0,0,0), - (348,40029,0,0,0), - (348,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (348,100002,11,0,0), - (348,110025,10,0,0), - (348,110025,11,0,0), - (348,130033,0,0,0), - (348,140007,0,0,0), - (348,160012,0,0,0), - (348,180003,0,0,0), - (348,190016,0,0,0), - (348,200002,0,0,0), - (348,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (348,240005,0,0,0), - (348,250002,0,0,0), - (348,280016,0,0,0), - (348,290004,0,0,0), - (348,300001,0,0,0), - (348,320020,0,0,0), - (348,330056,0,0,0), - (348,340002,0,0,0), - (348,1000074,0,0,0), - (348,1100001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (348,1200034,0,0,0), - (349,1001,0,0,0), - (349,2001,0,0,0), - (349,4001,0,0,0), - (349,5001,0,0,0), - (349,6001,0,0,0), - (349,10002,10,0,0), - (349,10010,11,0,0), - (349,11006,10,0,0), - (349,11006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (349,12009,11,0,0), - (349,12010,10,0,0), - (349,15001,0,0,0), - (349,20224,0,0,0), - (349,22009,0,0,0), - (349,31153,0,0,0), - (349,36001,0,0,0), - (349,37001,0,0,0), - (349,40046,0,0,0), - (349,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (349,100002,11,0,0), - (349,110041,10,0,0), - (349,110041,11,0,0), - (349,130033,0,0,0), - (349,140017,0,0,0), - (349,160037,0,0,0), - (349,180020,0,0,0), - (349,190022,0,0,0), - (349,200052,0,0,0), - (349,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (349,240001,0,0,0), - (349,250002,0,0,0), - (349,280027,0,0,0), - (349,290004,0,0,0), - (349,300001,0,0,0), - (349,320037,0,0,0), - (349,330043,0,0,0), - (349,340002,0,0,0), - (349,1000017,0,0,0), - (349,1100032,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (349,1200019,0,0,0), - (350,1001,0,0,0), - (350,2001,0,0,0), - (350,4001,0,0,0), - (350,5001,0,0,0), - (350,6001,0,0,0), - (350,10002,10,0,0), - (350,10010,11,0,0), - (350,11006,10,0,0), - (350,11006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (350,12009,11,0,0), - (350,12010,10,0,0), - (350,15001,0,0,0), - (350,20225,0,0,0), - (350,22009,0,0,0), - (350,30001,0,0,0), - (350,31153,0,0,0), - (350,36001,0,0,0), - (350,37001,0,0,0), - (350,40038,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (350,100119,10,0,0), - (350,100119,11,0,0), - (350,110041,10,0,0), - (350,110041,11,0,0), - (350,130045,0,0,0), - (350,140011,0,0,0), - (350,160038,0,0,0), - (350,180026,0,0,0), - (350,190022,0,0,0), - (350,200020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (350,230001,0,0,0), - (350,240001,0,0,0), - (350,250002,0,0,0), - (350,280027,0,0,0), - (350,290004,0,0,0), - (350,300003,0,0,0), - (350,320024,0,0,0), - (350,330043,0,0,0), - (350,340002,0,0,0), - (350,1000017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (350,1100098,0,0,0), - (350,1200019,0,0,0), - (351,1001,0,0,0), - (351,2001,0,0,0), - (351,4001,0,0,0), - (351,5001,0,0,0), - (351,6001,0,0,0), - (351,10002,10,0,0), - (351,10010,11,0,0), - (351,11006,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (351,11006,11,0,0), - (351,12009,11,0,0), - (351,12010,10,0,0), - (351,15001,0,0,0), - (351,20226,0,0,0), - (351,22009,0,0,0), - (351,30001,0,0,0), - (351,31153,0,0,0), - (351,36001,0,0,0), - (351,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (351,40027,0,0,0), - (351,100002,10,0,0), - (351,100002,11,0,0), - (351,110041,10,0,0), - (351,110041,11,0,0), - (351,130045,0,0,0), - (351,140009,0,0,0), - (351,160040,0,0,0), - (351,180023,0,0,0), - (351,190006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (351,200023,0,0,0), - (351,230001,0,0,0), - (351,240001,0,0,0), - (351,250002,0,0,0), - (351,280028,0,0,0), - (351,290004,0,0,0), - (351,300002,0,0,0), - (351,320027,0,0,0), - (351,330043,0,0,0), - (351,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (351,1000051,0,0,0), - (351,1100034,0,0,0), - (351,1200035,0,0,0), - (352,1001,0,0,0), - (352,2001,0,0,0), - (352,4001,0,0,0), - (352,5001,0,0,0), - (352,6001,0,0,0), - (352,10002,10,0,0), - (352,10010,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (352,11006,10,0,0), - (352,11006,11,0,0), - (352,12009,10,0,0), - (352,12030,11,0,0), - (352,15001,0,0,0), - (352,20227,0,0,0), - (352,22006,0,0,0), - (352,31153,0,0,0), - (352,36001,0,0,0), - (352,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (352,40047,0,0,0), - (352,100002,10,0,0), - (352,100002,11,0,0), - (352,110027,10,0,0), - (352,110027,11,0,0), - (352,130033,0,0,0), - (352,140009,0,0,0), - (352,160040,0,0,0), - (352,180023,0,0,0), - (352,190006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (352,200023,0,0,0), - (352,230001,0,0,0), - (352,240005,0,0,0), - (352,250002,0,0,0), - (352,280023,0,0,0), - (352,290004,0,0,0), - (352,300001,0,0,0), - (352,320027,0,0,0), - (352,330043,0,0,0), - (352,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (352,1000016,0,0,0), - (352,1100020,0,0,0), - (352,1200037,0,0,0), - (353,1001,0,0,0), - (353,2001,0,0,0), - (353,4001,0,0,0), - (353,5001,0,0,0), - (353,6001,0,0,0), - (353,10002,10,0,0), - (353,10010,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (353,11006,10,0,0), - (353,11006,11,0,0), - (353,12009,10,0,0), - (353,12030,11,0,0), - (353,15001,0,0,0), - (353,20228,0,0,0), - (353,22006,0,0,0), - (353,31153,0,0,0), - (353,36001,0,0,0), - (353,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (353,40031,0,0,0), - (353,100002,10,0,0), - (353,100002,11,0,0), - (353,110027,10,0,0), - (353,110027,11,0,0), - (353,130033,0,0,0), - (353,140007,0,0,0), - (353,160040,0,0,0), - (353,180023,0,0,0), - (353,190006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (353,200023,0,0,0), - (353,230001,0,0,0), - (353,240005,0,0,0), - (353,250002,0,0,0), - (353,280023,0,0,0), - (353,290003,0,0,0), - (353,300002,0,0,0), - (353,320027,0,0,0), - (353,330059,0,0,0), - (353,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (353,1000084,0,0,0), - (353,1100020,0,0,0), - (353,1200035,0,0,0), - (354,1001,0,0,0), - (354,2001,0,0,0), - (354,4001,0,0,0), - (354,5001,0,0,0), - (354,6001,0,0,0), - (354,10012,10,0,0), - (354,10012,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (354,11004,10,0,0), - (354,11004,11,0,0), - (354,12009,10,0,0), - (354,12027,11,0,0), - (354,15001,0,0,0), - (354,20124,0,0,0), - (354,22005,0,0,0), - (354,31153,0,0,0), - (354,36001,0,0,0), - (354,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (354,40014,0,0,0), - (354,100002,10,0,0), - (354,100002,11,0,0), - (354,110047,10,0,0), - (354,110047,11,0,0), - (354,130033,0,0,0), - (354,140008,0,0,0), - (354,160010,0,0,0), - (354,180055,0,0,0), - (354,190071,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (354,200056,0,0,0), - (354,230001,0,0,0), - (354,240001,0,0,0), - (354,250021,0,0,0), - (354,280044,0,0,0), - (354,290003,0,0,0), - (354,300001,0,0,0), - (354,320092,0,0,0), - (354,330052,0,0,0), - (354,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (354,1000154,0,0,0), - (354,1100112,0,0,0), - (354,1200042,0,0,0), - (355,1001,0,0,0), - (355,2001,0,0,0), - (355,4001,0,0,0), - (355,5001,0,0,0), - (355,6001,0,0,0), - (355,10001,10,0,0), - (355,10004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (355,11004,10,0,0), - (355,11004,11,0,0), - (355,12003,11,0,0), - (355,12005,10,0,0), - (355,15001,0,0,0), - (355,20112,0,0,0), - (355,22014,0,0,0), - (355,31153,0,0,0), - (355,36001,0,0,0), - (355,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (355,40004,0,0,0), - (355,100002,10,0,0), - (355,100002,11,0,0), - (355,110038,10,0,0), - (355,110038,11,0,0), - (355,130047,0,0,0), - (355,140024,0,0,0), - (355,160047,0,0,0), - (355,180019,0,0,0), - (355,190021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (355,200019,0,0,0), - (355,230002,0,0,0), - (355,240001,0,0,0), - (355,250020,0,0,0), - (355,280019,0,0,0), - (355,290001,0,0,0), - (355,300001,0,0,0), - (355,320023,0,0,0), - (355,330006,0,0,0), - (355,340001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (355,1000003,0,0,0), - (355,1100016,0,0,0), - (355,1200018,0,0,0), - (356,1001,0,0,0), - (356,2001,0,0,0), - (356,4001,0,0,0), - (356,5001,0,0,0), - (356,6001,0,0,0), - (356,10009,11,0,0), - (356,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (356,11004,10,0,0), - (356,11004,11,0,0), - (356,12006,10,0,0), - (356,12028,11,0,0), - (356,15001,0,0,0), - (356,20103,0,0,0), - (356,22014,0,0,0), - (356,31153,0,0,0), - (356,36001,0,0,0), - (356,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (356,40005,0,0,0), - (356,100002,10,0,0), - (356,100002,11,0,0), - (356,110012,10,0,0), - (356,110012,11,0,0), - (356,130012,0,0,0), - (356,140014,0,0,0), - (356,160022,0,0,0), - (356,180019,0,0,0), - (356,190021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (356,200019,0,0,0), - (356,230001,0,0,0), - (356,240003,0,0,0), - (356,250020,0,0,0), - (356,280019,0,0,0), - (356,290001,0,0,0), - (356,300001,0,0,0), - (356,320023,0,0,0), - (356,330006,0,0,0), - (356,340001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (356,1000004,0,0,0), - (356,1100016,0,0,0), - (356,1200018,0,0,0), - (357,1001,0,0,0), - (357,2001,0,0,0), - (357,4001,0,0,0), - (357,5001,0,0,0), - (357,6001,0,0,0), - (357,10001,10,0,0), - (357,10004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (357,11004,10,0,0), - (357,11004,11,0,0), - (357,12009,10,0,0), - (357,12029,11,0,0), - (357,15001,0,0,0), - (357,20104,0,0,0), - (357,22014,0,0,0), - (357,31153,0,0,0), - (357,36001,0,0,0), - (357,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (357,40006,0,0,0), - (357,100002,10,0,0), - (357,100002,11,0,0), - (357,110032,10,0,0), - (357,110032,11,0,0), - (357,130012,0,0,0), - (357,140016,0,0,0), - (357,160026,0,0,0), - (357,180018,0,0,0), - (357,190077,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (357,200066,0,0,0), - (357,230001,0,0,0), - (357,240001,0,0,0), - (357,250030,0,0,0), - (357,280030,0,0,0), - (357,290002,0,0,0), - (357,300001,0,0,0), - (357,320040,0,0,0), - (357,330035,0,0,0), - (357,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (357,1000094,0,0,0), - (357,1100119,0,0,0), - (357,1200048,0,0,0), - (358,1001,0,0,0), - (358,2001,0,0,0), - (358,4001,0,0,0), - (358,5001,0,0,0), - (358,6001,0,0,0), - (358,10011,10,0,0), - (358,10011,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (358,11004,10,0,0), - (358,11004,11,0,0), - (358,12009,10,0,0), - (358,12022,11,0,0), - (358,15001,0,0,0), - (358,20105,0,0,0), - (358,22014,0,0,0), - (358,31153,0,0,0), - (358,36001,0,0,0), - (358,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (358,40007,0,0,0), - (358,100002,10,0,0), - (358,100002,11,0,0), - (358,110032,10,0,0), - (358,110032,11,0,0), - (358,130012,0,0,0), - (358,140011,0,0,0), - (358,160026,0,0,0), - (358,180018,0,0,0), - (358,190077,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (358,200066,0,0,0), - (358,230001,0,0,0), - (358,240001,0,0,0), - (358,250030,0,0,0), - (358,280030,0,0,0), - (358,290002,0,0,0), - (358,300001,0,0,0), - (358,320040,0,0,0), - (358,330035,0,0,0), - (358,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (358,1000001,0,0,0), - (358,1100119,0,0,0), - (358,1200048,0,0,0), - (359,1001,0,0,0), - (359,2001,0,0,0), - (359,4001,0,0,0), - (359,5001,0,0,0), - (359,6001,0,0,0), - (359,10011,10,0,0), - (359,10011,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (359,11004,10,0,0), - (359,11004,11,0,0), - (359,12009,10,0,0), - (359,12029,11,0,0), - (359,15001,0,0,0), - (359,20106,0,0,0), - (359,22014,0,0,0), - (359,31153,0,0,0), - (359,36001,0,0,0), - (359,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (359,40008,0,0,0), - (359,100002,10,0,0), - (359,100002,11,0,0), - (359,110032,10,0,0), - (359,110032,11,0,0), - (359,130012,0,0,0), - (359,140003,0,0,0), - (359,160026,0,0,0), - (359,180018,0,0,0), - (359,190077,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (359,200042,0,0,0), - (359,230001,0,0,0), - (359,240001,0,0,0), - (359,250030,0,0,0), - (359,280030,0,0,0), - (359,290002,0,0,0), - (359,300001,0,0,0), - (359,320040,0,0,0), - (359,330035,0,0,0), - (359,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (359,1000001,0,0,0), - (359,1100119,0,0,0), - (359,1200048,0,0,0), - (360,1001,0,0,0), - (360,2001,0,0,0), - (360,4001,0,0,0), - (360,5001,0,0,0), - (360,6001,0,0,0), - (360,10001,10,0,0), - (360,10004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (360,11004,10,0,0), - (360,11004,11,0,0), - (360,12007,10,0,0), - (360,12029,11,0,0), - (360,15001,0,0,0), - (360,20113,0,0,0), - (360,22009,0,0,0), - (360,31153,0,0,0), - (360,36001,0,0,0), - (360,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (360,40016,0,0,0), - (360,100002,10,0,0), - (360,100002,11,0,0), - (360,110032,10,0,0), - (360,110032,11,0,0), - (360,130022,0,0,0), - (360,140009,0,0,0), - (360,160006,0,0,0), - (360,180014,0,0,0), - (360,190016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (360,200002,0,0,0), - (360,230001,0,0,0), - (360,240001,0,0,0), - (360,250026,0,0,0), - (360,280024,0,0,0), - (360,290003,0,0,0), - (360,300001,0,0,0), - (360,320020,0,0,0), - (360,330054,0,0,0), - (360,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (360,1000123,0,0,0), - (360,1100022,0,0,0), - (360,1200034,0,0,0), - (361,1001,0,0,0), - (361,2001,0,0,0), - (361,4001,0,0,0), - (361,5001,0,0,0), - (361,6001,0,0,0), - (361,10011,10,0,0), - (361,10011,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (361,11004,10,0,0), - (361,11004,11,0,0), - (361,12007,10,0,0), - (361,12027,11,0,0), - (361,15001,0,0,0), - (361,20115,0,0,0), - (361,22009,0,0,0), - (361,31153,0,0,0), - (361,36001,0,0,0), - (361,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (361,40017,0,0,0), - (361,100002,10,0,0), - (361,100002,11,0,0), - (361,110032,10,0,0), - (361,110032,11,0,0), - (361,130022,0,0,0), - (361,140009,0,0,0), - (361,160006,0,0,0), - (361,180014,0,0,0), - (361,190016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (361,200002,0,0,0), - (361,230001,0,0,0), - (361,240001,0,0,0), - (361,250026,0,0,0), - (361,280024,0,0,0), - (361,290004,0,0,0), - (361,300001,0,0,0), - (361,320030,0,0,0), - (361,330053,0,0,0), - (361,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (361,1000015,0,0,0), - (361,1100001,0,0,0), - (361,1200034,0,0,0), - (362,1001,0,0,0), - (362,2001,0,0,0), - (362,4001,0,0,0), - (362,5001,0,0,0), - (362,6001,0,0,0), - (362,10006,11,0,0), - (362,10015,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (362,11006,10,0,0), - (362,11006,11,0,0), - (362,12020,10,0,0), - (362,12028,11,0,0), - (362,13007,10,0,0), - (362,15001,0,0,0), - (362,20114,0,0,0), - (362,22009,0,0,0), - (362,31153,0,0,0), - (362,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (362,37001,0,0,0), - (362,40018,0,0,0), - (362,100002,10,0,0), - (362,100002,11,0,0), - (362,110012,10,0,0), - (362,110012,11,0,0), - (362,130016,0,0,0), - (362,140009,0,0,0), - (362,160006,0,0,0), - (362,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (362,190016,0,0,0), - (362,200002,0,0,0), - (362,230001,0,0,0), - (362,240001,0,0,0), - (362,250026,0,0,0), - (362,280024,0,0,0), - (362,290001,0,0,0), - (362,300001,0,0,0), - (362,320030,0,0,0), - (362,330052,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (362,340002,0,0,0), - (362,1000015,0,0,0), - (362,1100001,0,0,0), - (362,1200034,0,0,0), - (363,1001,0,0,0), - (363,2001,0,0,0), - (363,4001,0,0,0), - (363,5001,0,0,0), - (363,6001,0,0,0), - (363,10011,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (363,10011,11,0,0), - (363,11004,10,0,0), - (363,11004,11,0,0), - (363,12006,10,0,0), - (363,12009,11,0,0), - (363,15001,0,0,0), - (363,20118,0,0,0), - (363,22009,0,0,0), - (363,31153,0,0,0), - (363,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (363,37001,0,0,0), - (363,40019,0,0,0), - (363,100002,10,0,0), - (363,100002,11,0,0), - (363,110032,10,0,0), - (363,110032,11,0,0), - (363,130022,0,0,0), - (363,140016,0,0,0), - (363,160011,0,0,0), - (363,180062,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (363,190067,0,0,0), - (363,200048,0,0,0), - (363,230001,0,0,0), - (363,240001,0,0,0), - (363,250026,0,0,0), - (363,280051,0,0,0), - (363,290004,0,0,0), - (363,300001,0,0,0), - (363,320100,0,0,0), - (363,330056,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (363,340002,0,0,0), - (363,1000057,0,0,0), - (363,1100120,0,0,0), - (363,1200049,0,0,0), - (364,1001,0,0,0), - (364,2001,0,0,0), - (364,4001,0,0,0), - (364,5001,0,0,0), - (364,6001,0,0,0), - (364,10021,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (364,10026,11,0,0), - (364,11006,10,0,0), - (364,11006,11,0,0), - (364,12007,11,0,0), - (364,12021,10,0,0), - (364,15001,0,0,0), - (364,20117,0,0,0), - (364,22009,0,0,0), - (364,31153,0,0,0), - (364,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (364,37001,0,0,0), - (364,40021,0,0,0), - (364,100002,10,0,0), - (364,100002,11,0,0), - (364,110044,10,0,0), - (364,110044,11,0,0), - (364,130016,0,0,0), - (364,140005,0,0,0), - (364,160009,0,0,0), - (364,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (364,190016,0,0,0), - (364,200002,0,0,0), - (364,230001,0,0,0), - (364,240006,0,0,0), - (364,250002,0,0,0), - (364,280024,0,0,0), - (364,290004,0,0,0), - (364,300001,0,0,0), - (364,320030,0,0,0), - (364,330057,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (364,340003,0,0,0), - (364,1000073,0,0,0), - (364,1100025,0,0,0), - (364,1200023,0,0,0), - (365,1001,0,0,0), - (365,2001,0,0,0), - (365,4001,0,0,0), - (365,5001,0,0,0), - (365,6001,0,0,0), - (365,10011,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (365,10011,11,0,0), - (365,11004,10,0,0), - (365,11004,11,0,0), - (365,12006,11,0,0), - (365,12009,10,0,0), - (365,15001,0,0,0), - (365,20116,0,0,0), - (365,22009,0,0,0), - (365,31153,0,0,0), - (365,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (365,37001,0,0,0), - (365,40022,0,0,0), - (365,100002,10,0,0), - (365,100002,11,0,0), - (365,110035,10,0,0), - (365,110035,11,0,0), - (365,130022,0,0,0), - (365,140009,0,0,0), - (365,160006,0,0,0), - (365,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (365,190016,0,0,0), - (365,200002,0,0,0), - (365,230001,0,0,0), - (365,240032,0,0,0), - (365,250026,0,0,0), - (365,280016,0,0,0), - (365,290004,0,0,0), - (365,300001,0,0,0), - (365,320020,0,0,0), - (365,330053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (365,340002,0,0,0), - (365,1000070,0,0,0), - (365,1100001,0,0,0), - (365,1200034,0,0,0), - (366,1001,0,0,0), - (366,2001,0,0,0), - (366,4001,0,0,0), - (366,5001,0,0,0), - (366,6001,0,0,0), - (366,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (366,10010,11,0,0), - (366,11004,10,0,0), - (366,11004,11,0,0), - (366,12009,10,0,0), - (366,12029,11,0,0), - (366,15001,0,0,0), - (366,20109,0,0,0), - (366,22014,0,0,0), - (366,31153,0,0,0), - (366,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (366,37001,0,0,0), - (366,40011,0,0,0), - (366,100002,10,0,0), - (366,100002,11,0,0), - (366,110032,10,0,0), - (366,110032,11,0,0), - (366,130042,0,0,0), - (366,140003,0,0,0), - (366,160025,0,0,0), - (366,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (366,190020,0,0,0), - (366,200004,0,0,0), - (366,230001,0,0,0), - (366,240001,0,0,0), - (366,250001,0,0,0), - (366,280018,0,0,0), - (366,290003,0,0,0), - (366,300001,0,0,0), - (366,320022,0,0,0), - (366,330003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (366,340002,0,0,0), - (366,1000138,0,0,0), - (366,1100005,0,0,0), - (366,1200017,0,0,0), - (367,1001,0,0,0), - (367,2001,0,0,0), - (367,4001,0,0,0), - (367,5001,0,0,0), - (367,6001,0,0,0), - (367,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (367,10010,11,0,0), - (367,11004,10,0,0), - (367,11004,11,0,0), - (367,12009,10,0,0), - (367,12029,11,0,0), - (367,15001,0,0,0), - (367,20108,0,0,0), - (367,22014,0,0,0), - (367,31153,0,0,0), - (367,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (367,37001,0,0,0), - (367,40013,0,0,0), - (367,100002,10,0,0), - (367,100002,11,0,0), - (367,110044,10,0,0), - (367,110044,11,0,0), - (367,130042,0,0,0), - (367,140019,0,0,0), - (367,160025,0,0,0), - (367,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (367,190020,0,0,0), - (367,200004,0,0,0), - (367,230001,0,0,0), - (367,240001,0,0,0), - (367,250001,0,0,0), - (367,280018,0,0,0), - (367,290001,0,0,0), - (367,300001,0,0,0), - (367,320022,0,0,0), - (367,330003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (367,340002,0,0,0), - (367,1000138,0,0,0), - (367,1100005,0,0,0), - (367,1200017,0,0,0), - (368,1001,0,0,0), - (368,2001,0,0,0), - (368,4001,0,0,0), - (368,5001,0,0,0), - (368,6001,0,0,0), - (368,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (368,10010,11,0,0), - (368,11004,10,0,0), - (368,11004,11,0,0), - (368,12006,10,0,0), - (368,12022,11,0,0), - (368,15001,0,0,0), - (368,20128,0,0,0), - (368,22009,0,0,0), - (368,31153,0,0,0), - (368,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (368,37001,0,0,0), - (368,40023,0,0,0), - (368,100002,10,0,0), - (368,100002,11,0,0), - (368,110033,10,0,0), - (368,110033,11,0,0), - (368,130016,0,0,0), - (368,140009,0,0,0), - (368,160039,0,0,0), - (368,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (368,190006,0,0,0), - (368,200023,0,0,0), - (368,230001,0,0,0), - (368,240005,0,0,0), - (368,250002,0,0,0), - (368,280023,0,0,0), - (368,290004,0,0,0), - (368,300001,0,0,0), - (368,320027,0,0,0), - (368,330043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (368,340002,0,0,0), - (368,1000018,0,0,0), - (368,1100020,0,0,0), - (368,1200035,0,0,0), - (369,1001,0,0,0), - (369,2001,0,0,0), - (369,4001,0,0,0), - (369,5001,0,0,0), - (369,6001,0,0,0), - (369,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (369,10010,11,0,0), - (369,11004,10,0,0), - (369,11004,11,0,0), - (369,12006,10,0,0), - (369,12022,11,0,0), - (369,15001,0,0,0), - (369,20119,0,0,0), - (369,22009,0,0,0), - (369,31153,0,0,0), - (369,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (369,37001,0,0,0), - (369,40024,0,0,0), - (369,100002,10,0,0), - (369,100002,11,0,0), - (369,110032,10,0,0), - (369,110032,11,0,0), - (369,130022,0,0,0), - (369,140016,0,0,0), - (369,160006,0,0,0), - (369,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (369,190016,0,0,0), - (369,200002,0,0,0), - (369,230001,0,0,0), - (369,240023,0,0,0), - (369,250026,0,0,0), - (369,280016,0,0,0), - (369,290004,0,0,0), - (369,300001,0,0,0), - (369,320020,0,0,0), - (369,330053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (369,340002,0,0,0), - (369,1000070,0,0,0), - (369,1100001,0,0,0), - (369,1200034,0,0,0), - (370,1001,0,0,0), - (370,2001,0,0,0), - (370,4001,0,0,0), - (370,5001,0,0,0), - (370,6001,0,0,0), - (370,10002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (370,10010,11,0,0), - (370,11004,10,0,0), - (370,11004,11,0,0), - (370,12006,10,0,0), - (370,12022,11,0,0), - (370,15001,0,0,0), - (370,20120,0,0,0), - (370,22009,0,0,0), - (370,31153,0,0,0), - (370,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (370,37001,0,0,0), - (370,40025,0,0,0), - (370,100003,10,0,0), - (370,100003,11,0,0), - (370,110032,10,0,0), - (370,110032,11,0,0), - (370,130022,0,0,0), - (370,140016,0,0,0), - (370,160009,0,0,0), - (370,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (370,190016,0,0,0), - (370,200002,0,0,0), - (370,230001,0,0,0), - (370,240023,0,0,0), - (370,250026,0,0,0), - (370,280016,0,0,0), - (370,290004,0,0,0), - (370,300001,0,0,0), - (370,320020,0,0,0), - (370,330053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (370,340002,0,0,0), - (370,1000121,0,0,0), - (370,1100001,0,0,0), - (370,1200034,0,0,0), - (371,1001,0,0,0), - (371,2001,0,0,0), - (371,4001,0,0,0), - (371,5001,0,0,0), - (371,6001,0,0,0), - (371,10002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (371,10010,11,0,0), - (371,11004,10,0,0), - (371,11004,11,0,0), - (371,12006,10,0,0), - (371,12009,11,0,0), - (371,15001,0,0,0), - (371,20126,0,0,0), - (371,22009,0,0,0), - (371,31153,0,0,0), - (371,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (371,37001,0,0,0), - (371,40026,0,0,0), - (371,100002,10,0,0), - (371,100002,11,0,0), - (371,110027,10,0,0), - (371,110027,11,0,0), - (371,130022,0,0,0), - (371,140009,0,0,0), - (371,160037,0,0,0), - (371,180020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (371,190022,0,0,0), - (371,200020,0,0,0), - (371,230001,0,0,0), - (371,240001,0,0,0), - (371,250002,0,0,0), - (371,280027,0,0,0), - (371,290004,0,0,0), - (371,300001,0,0,0), - (371,320024,0,0,0), - (371,330018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (371,340002,0,0,0), - (371,1000017,0,0,0), - (371,1100098,0,0,0), - (371,1200019,0,0,0), - (372,1001,0,0,0), - (372,2001,0,0,0), - (372,4001,0,0,0), - (372,5001,0,0,0), - (372,6001,0,0,0), - (372,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (372,10010,11,0,0), - (372,11004,10,0,0), - (372,11004,11,0,0), - (372,12006,10,0,0), - (372,12009,11,0,0), - (372,15001,0,0,0), - (372,20129,0,0,0), - (372,22009,0,0,0), - (372,25006,0,0,0), - (372,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (372,36001,0,0,0), - (372,37001,0,0,0), - (372,40049,0,0,0), - (372,100002,10,0,0), - (372,100002,11,0,0), - (372,110033,10,0,0), - (372,110033,11,0,0), - (372,130016,0,0,0), - (372,140009,0,0,0), - (372,160040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (372,180023,0,0,0), - (372,190006,0,0,0), - (372,200023,0,0,0), - (372,230001,0,0,0), - (372,240006,0,0,0), - (372,250002,0,0,0), - (372,280028,0,0,0), - (372,290003,0,0,0), - (372,300001,0,0,0), - (372,320027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (372,330043,0,0,0), - (372,340002,0,0,0), - (372,1000051,0,0,0), - (372,1100034,0,0,0), - (372,1200035,0,0,0), - (373,1001,0,0,0), - (373,2001,0,0,0), - (373,4001,0,0,0), - (373,5001,0,0,0), - (373,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (373,10002,10,0,0), - (373,10010,11,0,0), - (373,11004,10,0,0), - (373,11004,11,0,0), - (373,12006,10,0,0), - (373,12022,11,0,0), - (373,13010,10,0,0), - (373,15001,0,0,0), - (373,20133,0,0,0), - (373,22008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (373,31153,0,0,0), - (373,36001,0,0,0), - (373,37001,0,0,0), - (373,40033,0,0,0), - (373,100132,10,0,0), - (373,100132,11,0,0), - (373,110045,10,0,0), - (373,110045,11,0,0), - (373,130022,0,0,0), - (373,140004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (373,160073,0,0,0), - (373,180015,0,0,0), - (373,190017,0,0,0), - (373,200029,0,0,0), - (373,230001,0,0,0), - (373,240005,0,0,0), - (373,250002,0,0,0), - (373,280036,0,0,0), - (373,290004,0,0,0), - (373,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (373,320004,0,0,0), - (373,330066,0,0,0), - (373,340002,0,0,0), - (373,1000120,0,0,0), - (373,1100044,0,0,0), - (373,1200015,0,0,0), - (374,1001,0,0,0), - (374,2001,0,0,0), - (374,4001,0,0,0), - (374,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (374,6001,0,0,0), - (374,10002,10,0,0), - (374,10009,11,0,0), - (374,11004,10,0,0), - (374,11004,11,0,0), - (374,12006,10,0,0), - (374,12022,11,0,0), - (374,15001,0,0,0), - (374,20140,0,0,0), - (374,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (374,31153,0,0,0), - (374,36001,0,0,0), - (374,37001,0,0,0), - (374,40042,0,0,0), - (374,100002,10,0,0), - (374,100002,11,0,0), - (374,110027,10,1,1), - (374,110027,11,1,1), - (374,130033,0,0,0), - (374,140011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (374,160012,0,0,0), - (374,180014,0,0,0), - (374,190016,0,0,0), - (374,200024,0,0,0), - (374,230001,0,0,0), - (374,240001,0,0,0), - (374,250002,0,0,0), - (374,280016,0,0,0), - (374,290004,0,0,0), - (374,300002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (374,320020,0,0,0), - (374,330008,0,0,0), - (374,340002,0,0,0), - (374,1000122,0,0,0), - (374,1100001,0,0,0), - (374,1200034,0,0,0), - (375,1001,0,0,0), - (375,2001,0,0,0), - (375,4001,0,0,0), - (375,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (375,6001,0,0,0), - (375,10001,11,0,0), - (375,10021,10,0,0), - (375,11010,10,0,0), - (375,11010,11,0,0), - (375,12009,10,0,0), - (375,12030,11,0,0), - (375,13007,10,0,0), - (375,13009,11,0,0), - (375,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (375,20106,0,0,0), - (375,22014,0,0,0), - (375,31153,0,0,0), - (375,36001,0,0,0), - (375,37001,0,0,0), - (375,40008,0,0,0), - (375,100002,10,0,0), - (375,100002,11,0,0), - (375,110084,10,0,0), - (375,110084,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (375,130026,0,0,0), - (375,140011,0,0,0), - (375,160026,0,0,0), - (375,180018,0,0,0), - (375,190077,0,0,0), - (375,200066,0,0,0), - (375,230001,0,0,0), - (375,240001,0,0,0), - (375,250001,0,0,0), - (375,280030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (375,290001,0,0,0), - (375,300001,0,0,0), - (375,320098,0,0,0), - (375,330035,0,0,0), - (375,340002,0,0,0), - (375,1000096,0,0,0), - (375,1100119,0,0,0), - (375,1200048,0,0,0), - (377,1001,0,0,0), - (377,2001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (377,4001,0,0,0), - (377,5001,0,0,0), - (377,6001,0,0,0), - (377,10001,11,0,0), - (377,10021,10,0,0), - (377,11010,10,0,0), - (377,11010,11,0,0), - (377,12009,10,0,0), - (377,12027,11,0,0), - (377,13007,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (377,13008,10,0,0), - (377,15001,0,0,0), - (377,20113,0,0,0), - (377,22009,0,0,0), - (377,31153,0,0,0), - (377,36001,0,0,0), - (377,37001,0,0,0), - (377,40016,0,0,0), - (377,100002,10,0,0), - (377,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (377,110084,10,0,0), - (377,110084,11,0,0), - (377,130033,0,0,0), - (377,140005,0,0,0), - (377,160006,0,0,0), - (377,180014,0,0,0), - (377,190016,0,0,0), - (377,200002,0,0,0), - (377,230001,0,0,0), - (377,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (377,250002,0,0,0), - (377,280024,0,0,0), - (377,290004,0,0,0), - (377,300001,0,0,0), - (377,320020,0,0,0), - (377,330056,0,0,0), - (377,340002,0,0,0), - (377,1000070,0,0,0), - (377,1100022,0,0,0), - (377,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (378,1001,0,0,0), - (378,2001,0,0,0), - (378,4001,0,0,0), - (378,5001,0,0,0), - (378,6001,0,0,0), - (378,10001,11,0,0), - (378,10021,10,0,0), - (378,11010,10,0,0), - (378,11010,11,0,0), - (378,12031,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (378,12033,10,0,0), - (378,13010,11,0,0), - (378,13011,10,0,0), - (378,15001,0,0,0), - (378,20127,0,0,0), - (378,22009,0,0,0), - (378,31153,0,0,0), - (378,36001,0,0,0), - (378,37001,0,0,0), - (378,40015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (378,100002,10,0,0), - (378,100002,11,0,0), - (378,110084,10,0,0), - (378,110084,11,0,0), - (378,130033,0,0,0), - (378,140006,0,0,0), - (378,160001,0,0,0), - (378,180049,0,0,0), - (378,190013,0,0,0), - (378,200057,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (378,230001,0,0,0), - (378,240006,0,0,0), - (378,250002,0,0,0), - (378,280045,0,0,0), - (378,290004,0,0,0), - (378,300001,0,0,0), - (378,320033,0,0,0), - (378,330034,0,0,0), - (378,340002,0,0,0), - (378,1000060,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (378,1100113,0,0,0), - (378,1200013,0,0,0), - (379,1001,0,0,0), - (379,2001,0,0,0), - (379,4001,0,0,0), - (379,5001,0,0,0), - (379,6001,0,0,0), - (379,10001,11,0,0), - (379,10021,10,0,0), - (379,11010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (379,11010,11,0,0), - (379,12008,10,0,0), - (379,12027,11,0,0), - (379,13007,11,0,0), - (379,13008,10,0,0), - (379,15001,0,0,0), - (379,20103,0,0,0), - (379,22014,0,0,0), - (379,31153,0,0,0), - (379,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (379,37001,0,0,0), - (379,40005,0,0,0), - (379,100002,10,0,0), - (379,100002,11,0,0), - (379,110084,10,0,0), - (379,110084,11,0,0), - (379,130034,0,0,0), - (379,140007,0,0,0), - (379,160025,0,0,0), - (379,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (379,190020,0,0,0), - (379,200004,0,0,0), - (379,230001,0,0,0), - (379,240006,0,0,0), - (379,250001,0,0,0), - (379,280018,0,0,0), - (379,290002,0,0,0), - (379,300001,0,0,0), - (379,320087,0,0,0), - (379,330035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (379,340002,0,0,0), - (379,1000137,0,0,0), - (379,1100005,0,0,0), - (379,1200017,0,0,0), - (383,1001,0,0,0), - (383,2001,0,0,0), - (383,4001,0,0,0), - (383,5001,0,0,0), - (383,6001,0,0,0), - (383,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (383,10010,11,0,0), - (383,11004,10,0,0), - (383,11004,11,0,0), - (383,12006,10,0,0), - (383,12009,11,0,0), - (383,15001,0,0,0), - (383,20129,0,0,0), - (383,22009,0,0,0), - (383,31153,0,0,0), - (383,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (383,37001,0,0,0), - (383,40049,0,0,0), - (383,100002,10,0,0), - (383,100002,11,0,0), - (383,110104,10,0,0), - (383,110109,11,0,0), - (383,130033,0,0,0), - (383,140011,0,0,0), - (383,160025,0,0,0), - (383,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (383,190020,0,0,0), - (383,200004,0,0,0), - (383,230001,0,0,0), - (383,240006,0,0,0), - (383,250001,0,0,0), - (383,280041,0,0,0), - (383,290002,0,0,0), - (383,300001,0,0,0), - (383,320022,0,0,0), - (383,330018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (383,340002,0,0,0), - (383,1000138,0,0,0), - (383,1100005,0,0,0), - (383,1200017,0,0,0), - (384,1001,0,0,0), - (384,2001,0,0,0), - (384,4001,0,0,0), - (384,5001,0,0,0), - (384,6001,0,0,0), - (384,10002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (384,10010,11,0,0), - (384,11009,10,0,0), - (384,11009,11,0,0), - (384,12007,10,0,0), - (384,12029,11,0,0), - (384,13008,10,0,0), - (384,15001,0,0,0), - (384,20108,0,0,0), - (384,22014,0,0,0), - (384,29002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (384,30005,0,0,0), - (384,31153,0,0,0), - (384,36001,0,0,0), - (384,37001,0,0,0), - (384,40010,0,0,0), - (384,100002,10,0,0), - (384,100002,11,0,0), - (384,110083,10,0,0), - (384,110084,11,0,0), - (384,130034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (384,140017,0,0,0), - (384,160027,0,0,0), - (384,180030,0,0,0), - (384,190020,0,0,0), - (384,200004,0,0,0), - (384,230001,0,0,0), - (384,240006,0,0,0), - (384,250001,0,0,0), - (384,280041,0,0,0), - (384,290002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (384,300002,0,0,0), - (384,320022,0,0,0), - (384,330020,0,0,0), - (384,340002,0,0,0), - (384,1000138,0,0,0), - (384,1100101,0,0,0), - (384,1200038,0,0,0), - (385,1001,0,0,0), - (385,2001,0,0,0), - (385,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (385,5001,0,0,0), - (385,6001,0,0,0), - (385,10011,10,0,0), - (385,10011,11,0,0), - (385,11004,10,0,0), - (385,11004,11,0,0), - (385,12009,10,0,0), - (385,12029,11,0,0), - (385,15001,0,0,0), - (385,20106,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (385,22014,0,0,0), - (385,31153,0,0,0), - (385,36001,0,0,0), - (385,37001,0,0,0), - (385,40008,0,0,0), - (385,100002,10,0,0), - (385,100002,11,0,0), - (385,110082,10,0,0), - (385,110082,11,0,0), - (385,130034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (385,140003,0,0,0), - (385,160025,0,0,0), - (385,180030,0,0,0), - (385,190020,0,0,0), - (385,200004,0,0,0), - (385,230001,0,0,0), - (385,240001,0,0,0), - (385,250001,0,0,0), - (385,280041,0,0,0), - (385,290002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (385,300001,0,0,0), - (385,320022,0,0,0), - (385,330053,0,0,0), - (385,340002,0,0,0), - (385,1000138,0,0,0), - (385,1100005,0,0,0), - (385,1200017,0,0,0), - (386,1001,0,0,0), - (386,2001,0,0,0), - (386,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (386,5001,0,0,0), - (386,6001,0,0,0), - (386,10009,11,0,0), - (386,10010,10,0,0), - (386,11004,10,0,0), - (386,11004,11,0,0), - (386,12009,11,0,0), - (386,12010,10,0,0), - (386,15001,0,0,0), - (386,20127,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (386,22009,0,0,0), - (386,31153,0,0,0), - (386,36001,0,0,0), - (386,37001,0,0,0), - (386,40015,0,0,0), - (386,100002,10,0,0), - (386,100002,11,0,0), - (386,110082,10,0,0), - (386,110082,11,0,0), - (386,130033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (386,140001,0,0,0), - (386,160012,0,0,0), - (386,180003,0,0,0), - (386,190016,0,0,0), - (386,200002,0,0,0), - (386,230001,0,0,0), - (386,240001,0,0,0), - (386,250002,0,0,0), - (386,280024,0,0,0), - (386,290004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (386,300001,0,0,0), - (386,320020,0,0,0), - (386,330066,0,0,0), - (386,340002,0,0,0), - (386,1000043,0,0,0), - (386,1100001,0,0,0), - (386,1200034,0,0,0), - (387,1001,0,0,0), - (387,2001,0,0,0), - (387,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (387,5001,0,0,0), - (387,6001,0,0,0), - (387,10002,10,0,0), - (387,10010,11,0,0), - (387,11004,10,0,0), - (387,11004,11,0,0), - (387,12006,10,0,0), - (387,12009,11,0,0), - (387,15001,0,0,0), - (387,20121,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (387,22009,0,0,0), - (387,31153,0,0,0), - (387,36001,0,0,0), - (387,37001,0,0,0), - (387,40030,0,0,0), - (387,100002,10,0,0), - (387,100002,11,0,0), - (387,110104,10,0,0), - (387,110109,11,0,0), - (387,130033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (387,140016,0,0,0), - (387,160012,0,0,0), - (387,180003,0,0,0), - (387,190016,0,0,0), - (387,200032,0,0,0), - (387,230001,0,0,0), - (387,240006,0,0,0), - (387,250002,0,0,0), - (387,280016,0,0,0), - (387,290004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (387,320020,0,0,0), - (387,330044,0,0,0), - (387,340002,0,0,0), - (387,1000122,0,0,0), - (387,1100001,0,0,0), - (387,1200023,0,0,0), - (388,1001,0,0,0), - (388,2001,0,0,0), - (388,4001,0,0,0), - (388,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (388,6001,0,0,0), - (388,10010,10,0,0), - (388,10010,11,0,0), - (388,11004,10,0,0), - (388,11004,11,0,0), - (388,12009,10,0,0), - (388,12029,11,0,0), - (388,15001,0,0,0), - (388,20109,0,0,0), - (388,22014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (388,31153,0,0,0), - (388,36001,0,0,0), - (388,37001,0,0,0), - (388,40011,0,0,0), - (388,100002,10,0,0), - (388,100002,11,0,0), - (388,110104,10,0,0), - (388,110109,11,0,0), - (388,130034,0,0,0), - (388,140016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (388,160025,0,0,0), - (388,180030,0,0,0), - (388,190020,0,0,0), - (388,200031,0,0,0), - (388,230001,0,0,0), - (388,240006,0,0,0), - (388,250001,0,0,0), - (388,280041,0,0,0), - (388,290002,0,0,0), - (388,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (388,320022,0,0,0), - (388,330065,0,0,0), - (388,340002,0,0,0), - (388,1000136,0,0,0), - (388,1100005,0,0,0), - (388,1200038,0,0,0), - (389,1001,0,0,0), - (389,2001,0,0,0), - (389,4001,0,0,0), - (389,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (389,6001,0,0,0), - (389,10002,10,0,0), - (389,10010,11,0,0), - (389,11004,10,0,0), - (389,11004,11,0,0), - (389,12006,10,0,0), - (389,12022,11,0,0), - (389,15001,0,0,0), - (389,20132,0,0,0), - (389,22008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (389,31153,0,0,0), - (389,36001,0,0,0), - (389,37001,0,0,0), - (389,40032,0,0,0), - (389,100132,10,0,0), - (389,100132,11,0,0), - (389,110104,10,0,0), - (389,110109,11,0,0), - (389,130044,0,0,0), - (389,140011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (389,160054,0,0,0), - (389,180016,0,0,0), - (389,190018,0,0,0), - (389,200006,0,0,0), - (389,230001,0,0,0), - (389,240006,0,0,0), - (389,250003,0,0,0), - (389,280037,0,0,0), - (389,290003,0,0,0), - (389,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (389,320003,0,0,0), - (389,330034,0,0,0), - (389,340002,0,0,0), - (389,1000117,0,0,0), - (389,1100002,0,0,0), - (389,1200033,0,0,0), - (390,1001,0,0,0), - (390,2001,0,0,0), - (390,4001,0,0,0), - (390,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (390,6001,0,0,0), - (390,10001,10,0,0), - (390,10004,11,0,0), - (390,11009,10,0,0), - (390,11009,11,0,0), - (390,12007,10,0,0), - (390,12029,11,0,0), - (390,15001,0,0,0), - (390,20113,0,0,0), - (390,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (390,31153,0,0,0), - (390,36001,0,0,0), - (390,37001,0,0,0), - (390,40016,0,0,0), - (390,100002,10,0,0), - (390,100002,11,0,0), - (390,110104,10,0,0), - (390,110109,11,0,0), - (390,130034,0,0,0), - (390,140019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (390,160012,0,0,0), - (390,180014,0,0,0), - (390,190016,0,0,0), - (390,200002,0,0,0), - (390,230001,0,0,0), - (390,240006,0,0,0), - (390,250002,0,0,0), - (390,280024,0,0,0), - (390,290004,0,0,0), - (390,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (390,320020,0,0,0), - (390,330018,0,0,0), - (390,340002,0,0,0), - (390,1000074,0,0,0), - (390,1100025,0,0,0), - (390,1200023,0,0,0), - (391,1001,0,0,0), - (391,2001,0,0,0), - (391,4001,0,0,0), - (391,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (391,6001,0,0,0), - (391,10009,11,0,0), - (391,10010,10,0,0), - (391,11009,10,0,0), - (391,11009,11,0,0), - (391,12007,10,0,0), - (391,12029,11,0,0), - (391,13006,10,0,0), - (391,15001,0,0,0), - (391,20103,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (391,22014,0,0,0), - (391,31153,0,0,0), - (391,36001,0,0,0), - (391,37001,0,0,0), - (391,40005,0,0,0), - (391,100002,10,0,0), - (391,100002,11,0,0), - (391,110104,10,0,0), - (391,110109,11,0,0), - (391,130034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (391,140007,0,0,0), - (391,160025,0,0,0), - (391,180030,0,0,0), - (391,190020,0,0,0), - (391,200004,0,0,0), - (391,230001,0,0,0), - (391,240006,0,0,0), - (391,250001,0,0,0), - (391,280041,0,0,0), - (391,290002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (391,300001,0,0,0), - (391,320087,0,0,0), - (391,330020,0,0,0), - (391,340002,0,0,0), - (391,1000138,0,0,0), - (391,1100101,0,0,0), - (391,1200017,0,0,0), - (392,1001,0,0,0), - (392,2001,0,0,0), - (392,4001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (392,5001,0,0,0), - (392,6001,0,0,0), - (392,10002,10,0,0), - (392,10010,11,0,0), - (392,11009,10,0,0), - (392,11009,11,0,0), - (392,12008,10,0,0), - (392,12029,11,0,0), - (392,13007,10,0,0), - (392,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (392,20131,0,0,0), - (392,22008,0,0,0), - (392,31153,0,0,0), - (392,36001,0,0,0), - (392,37001,0,0,0), - (392,40034,0,0,0), - (392,100132,10,0,0), - (392,100132,11,0,0), - (392,110084,10,0,0), - (392,110084,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (392,130048,0,0,0), - (392,140013,0,0,0), - (392,160048,0,0,0), - (392,180022,0,0,0), - (392,190068,0,0,0), - (392,200022,0,0,0), - (392,230001,0,0,0), - (392,240006,0,0,0), - (392,250003,0,0,0), - (392,280022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (392,290004,0,0,0), - (392,300001,0,0,0), - (392,320026,0,0,0), - (392,330053,0,0,0), - (392,340002,0,0,0), - (392,1000007,0,0,0), - (392,1100019,0,0,0), - (392,1200021,0,0,0), - (393,1001,0,0,0), - (393,2001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (393,4001,0,0,0), - (393,5001,0,0,0), - (393,6001,0,0,0), - (393,10011,10,0,0), - (393,10011,11,0,0), - (393,11009,10,0,0), - (393,11009,11,0,0), - (393,12008,10,0,0), - (393,12027,11,0,0), - (393,13008,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (393,15001,0,0,0), - (393,20105,0,0,0), - (393,22014,0,0,0), - (393,31153,0,0,0), - (393,36001,0,0,0), - (393,37001,0,0,0), - (393,40007,0,0,0), - (393,100002,10,0,0), - (393,100002,11,0,0), - (393,110104,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (393,110109,11,0,0), - (393,130026,0,0,0), - (393,140011,0,0,0), - (393,160027,0,0,0), - (393,180034,0,0,0), - (393,190020,0,0,0), - (393,200004,0,0,0), - (393,230001,0,0,0), - (393,240006,0,0,0), - (393,250001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (393,280041,0,0,0), - (393,290002,0,0,0), - (393,300007,0,0,0), - (393,320022,0,0,0), - (393,330034,0,0,0), - (393,340002,0,0,0), - (393,1000138,0,0,0), - (393,1100101,0,0,0), - (393,1200038,0,0,0), - (394,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (394,2001,0,0,0), - (394,4001,0,0,0), - (394,5001,0,0,0), - (394,6001,0,0,0), - (394,10002,11,0,0), - (394,10022,10,0,0), - (394,11009,10,0,0), - (394,11009,11,0,0), - (394,12007,10,0,0), - (394,12023,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (394,13006,11,0,0), - (394,13008,10,0,0), - (394,15001,0,0,0), - (394,20120,0,0,0), - (394,22009,0,0,0), - (394,30003,0,0,0), - (394,31153,0,0,0), - (394,36001,0,0,0), - (394,37001,0,0,0), - (394,40025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (394,100003,10,0,0), - (394,100003,11,0,0), - (394,110083,10,0,0), - (394,110084,11,0,0), - (394,130033,0,0,0), - (394,140011,0,0,0), - (394,160009,0,0,0), - (394,180014,0,0,0), - (394,190016,0,0,0), - (394,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (394,230001,0,0,0), - (394,240006,0,0,0), - (394,250002,0,0,0), - (394,280016,0,0,0), - (394,290004,0,0,0), - (394,300001,0,0,0), - (394,320020,0,0,0), - (394,330053,0,0,0), - (394,340002,0,0,0), - (394,1000121,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (394,1100001,0,0,0), - (394,1200034,0,0,0), - (395,1001,0,0,0), - (395,2001,0,0,0), - (395,4001,0,0,0), - (395,5001,0,0,0), - (395,6001,0,0,0), - (395,10021,10,0,0), - (395,10021,11,0,0), - (395,11008,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (395,11008,11,0,0), - (395,12037,10,0,0), - (395,12039,11,0,0), - (395,15001,0,0,0), - (395,20112,0,0,0), - (395,22014,0,0,0), - (395,31151,0,0,0), - (395,36001,0,0,0), - (395,37001,0,0,0), - (395,40004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (395,100005,10,0,0), - (395,100005,11,0,0), - (395,110104,10,0,0), - (395,110109,11,0,0), - (395,130036,0,0,0), - (395,140020,0,0,0), - (395,160017,0,0,0), - (395,180013,0,0,0), - (395,190015,0,0,0), - (395,200051,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (395,230002,0,0,0), - (395,240006,0,0,0), - (395,250006,0,0,0), - (395,280006,0,0,0), - (395,290005,0,0,0), - (395,300008,0,0,0), - (395,320031,0,0,0), - (395,330027,0,0,0), - (395,340003,0,0,0), - (395,1000025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (395,1100027,0,0,0), - (395,1200024,0,0,0), - (396,1001,0,0,0), - (396,2001,0,0,0), - (396,4001,0,0,0), - (396,5001,0,0,0), - (396,6001,0,0,0), - (396,10030,10,0,0), - (396,10030,11,0,0), - (396,11008,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (396,11008,11,0,0), - (396,12038,11,0,0), - (396,12040,10,0,0), - (396,14003,11,0,0), - (396,15001,0,0,0), - (396,20113,0,0,0), - (396,22009,0,0,0), - (396,31153,0,0,0), - (396,36001,0,0,0), - (396,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (396,40016,0,0,0), - (396,100129,10,0,0), - (396,100129,11,0,0), - (396,110080,10,0,0), - (396,110109,11,0,0), - (396,130046,0,0,0), - (396,140019,0,0,0), - (396,160017,0,0,0), - (396,180013,0,0,0), - (396,190015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (396,200051,0,0,0), - (396,230004,0,0,0), - (396,240006,0,0,0), - (396,250006,0,0,0), - (396,280006,0,0,0), - (396,290005,0,0,0), - (396,300008,0,0,0), - (396,320031,0,0,0), - (396,330027,0,0,0), - (396,340003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (396,1000025,0,0,0), - (396,1100027,0,0,0), - (396,1200024,0,0,0), - (397,1001,0,0,0), - (397,2001,0,0,0), - (397,4001,0,0,0), - (397,5001,0,0,0), - (397,6001,0,0,0), - (397,10030,10,0,0), - (397,10030,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (397,11008,10,0,0), - (397,11008,11,0,0), - (397,12038,11,0,0), - (397,12040,10,0,0), - (397,15001,0,0,0), - (397,20128,0,0,0), - (397,22009,0,0,0), - (397,25005,0,0,0), - (397,31153,0,0,0), - (397,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (397,37001,0,0,0), - (397,40023,0,0,0), - (397,100095,10,0,0), - (397,100095,11,0,0), - (397,110094,10,0,0), - (397,110094,11,0,0), - (397,130036,0,0,0), - (397,140020,0,0,0), - (397,160017,0,0,0), - (397,180013,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (397,190015,0,0,0), - (397,200051,0,0,0), - (397,230004,0,0,0), - (397,240006,0,0,0), - (397,250004,0,0,0), - (397,280006,0,0,0), - (397,290005,0,0,0), - (397,300008,0,0,0), - (397,320031,0,0,0), - (397,330027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (397,340003,0,0,0), - (397,350005,0,0,0), - (397,1000025,0,0,0), - (397,1100014,0,0,0), - (397,1200024,0,0,0), - (398,1001,0,0,0), - (398,2001,0,0,0), - (398,4001,0,0,0), - (398,5001,0,0,0), - (398,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (398,10021,10,0,0), - (398,10021,11,0,0), - (398,11008,10,0,0), - (398,11008,11,0,0), - (398,12038,11,0,0), - (398,12040,10,0,0), - (398,14003,11,0,0), - (398,15001,0,0,0), - (398,20125,0,0,0), - (398,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (398,31153,0,0,0), - (398,36001,0,0,0), - (398,37001,0,0,0), - (398,40020,0,0,0), - (398,100096,10,0,0), - (398,100096,11,0,0), - (398,110080,10,0,0), - (398,110109,11,0,0), - (398,130046,0,0,0), - (398,140002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (398,160017,0,0,0), - (398,180013,0,0,0), - (398,190015,0,0,0), - (398,200051,0,0,0), - (398,230004,0,0,0), - (398,240006,0,0,0), - (398,250004,0,0,0), - (398,280006,0,0,0), - (398,290005,0,0,0), - (398,300008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (398,320031,0,0,0), - (398,330027,0,0,0), - (398,340003,0,0,0), - (398,1000025,0,0,0), - (398,1100026,0,0,0), - (398,1200024,0,0,0), - (399,1001,0,0,0), - (399,2001,0,0,0), - (399,4001,0,0,0), - (399,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (399,6001,0,0,0), - (399,10030,10,0,0), - (399,10030,11,0,0), - (399,11008,10,0,0), - (399,11008,11,0,0), - (399,12038,11,0,0), - (399,12040,10,0,0), - (399,14003,11,0,0), - (399,15001,0,0,0), - (399,20117,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (399,22009,0,0,0), - (399,29002,0,0,0), - (399,30004,0,0,0), - (399,31153,0,0,0), - (399,36001,0,0,0), - (399,37001,0,0,0), - (399,40021,0,0,0), - (399,100127,10,0,0), - (399,100127,11,0,0), - (399,110172,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (399,110172,11,0,0), - (399,130016,0,0,0), - (399,140002,0,0,0), - (399,160032,0,0,0), - (399,180033,0,0,0), - (399,190026,0,0,0), - (399,200010,0,0,0), - (399,230001,0,0,0), - (399,240007,0,0,0), - (399,250007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (399,280040,0,0,0), - (399,290005,0,0,0), - (399,300008,0,0,0), - (399,320043,0,0,0), - (399,330047,0,0,0), - (399,340003,0,0,0), - (399,1000033,0,0,0), - (399,1100039,0,0,0), - (399,1200029,0,0,0), - (400,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (400,2001,0,0,0), - (400,4001,0,0,0), - (400,5001,0,0,0), - (400,6001,0,0,0), - (400,10021,10,0,0), - (400,10021,11,0,0), - (400,11008,10,0,0), - (400,11008,11,0,0), - (400,12038,11,0,0), - (400,12040,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (400,13010,10,0,0), - (400,14003,11,0,0), - (400,15001,0,0,0), - (400,20108,0,0,0), - (400,22014,0,0,0), - (400,31153,0,0,0), - (400,36001,0,0,0), - (400,37001,0,0,0), - (400,40010,0,0,0), - (400,100129,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (400,100129,11,0,0), - (400,110108,10,0,0), - (400,110109,11,0,0), - (400,130034,0,0,0), - (400,140019,0,0,0), - (400,160032,0,0,0), - (400,180033,0,0,0), - (400,190026,0,0,0), - (400,200010,0,0,0), - (400,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (400,240007,0,0,0), - (400,250005,0,0,0), - (400,280040,0,0,0), - (400,290005,0,0,0), - (400,300008,0,0,0), - (400,320043,0,0,0), - (400,330047,0,0,0), - (400,340003,0,0,0), - (400,1000033,0,0,0), - (400,1100039,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (400,1200029,0,0,0), - (401,1001,0,0,0), - (401,2001,0,0,0), - (401,4001,0,0,0), - (401,5001,0,0,0), - (401,6001,0,0,0), - (401,10030,10,0,0), - (401,10030,11,0,0), - (401,11008,10,0,0), - (401,11008,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (401,12038,11,0,0), - (401,12040,10,0,0), - (401,13012,10,0,0), - (401,14003,11,0,0), - (401,15001,0,0,0), - (401,20134,0,0,0), - (401,22001,0,0,0), - (401,31153,0,0,0), - (401,36001,0,0,0), - (401,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (401,40035,0,0,0), - (401,100005,10,0,0), - (401,100005,11,0,0), - (401,110104,10,0,0), - (401,110109,11,0,0), - (401,130046,0,0,0), - (401,140019,0,0,0), - (401,160078,0,0,0), - (401,180037,0,0,0), - (401,190069,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (401,200053,0,0,0), - (401,230003,0,0,0), - (401,240007,0,0,0), - (401,250007,0,0,0), - (401,280042,0,0,0), - (401,290005,0,0,0), - (401,300008,0,0,0), - (401,320012,0,0,0), - (401,330019,0,0,0), - (401,340003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (401,1000011,0,0,0), - (401,1100045,0,0,0), - (401,1200039,0,0,0), - (402,1001,0,1,1), - (402,2001,0,1,1), - (402,4001,0,0,0), - (402,5001,0,0,0), - (402,6001,0,0,0), - (402,10009,11,0,0), - (402,10010,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (402,11004,10,0,0), - (402,11004,11,0,0), - (402,12012,11,0,0), - (402,12064,10,0,0), - (402,13002,10,0,0), - (402,13004,11,0,0), - (402,15001,0,0,0), - (402,20127,0,0,0), - (402,22009,0,0,0), - (402,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (402,36001,0,0,0), - (402,37001,0,0,0), - (402,40015,0,0,0), - (402,100002,10,0,0), - (402,100002,11,0,0), - (402,110082,10,1,1), - (402,110084,11,1,1), - (402,130045,0,0,0), - (402,140018,0,0,0), - (402,160090,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (402,180049,0,0,0), - (402,190013,0,0,0), - (402,200057,0,0,0), - (402,230001,0,0,0), - (402,240001,0,0,0), - (402,250002,0,0,0), - (402,280054,0,0,0), - (402,290006,0,0,0), - (402,300011,0,0,0), - (402,320104,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (402,330033,0,0,0), - (402,340002,0,0,0), - (402,1000162,0,0,0), - (402,1100124,0,0,0), - (402,1200013,0,0,0), - (403,1001,0,0,0), - (403,2001,0,0,0), - (403,4001,0,0,0), - (403,5001,0,0,0), - (403,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (403,10002,10,0,0), - (403,10002,11,0,0), - (403,11004,10,0,0), - (403,11011,11,0,0), - (403,12011,10,0,0), - (403,12011,11,0,0), - (403,13004,10,0,0), - (403,13006,11,0,0), - (403,14002,10,0,0), - (403,14002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (403,15001,0,0,0), - (403,20140,0,0,0), - (403,22009,0,0,0), - (403,25005,0,0,0), - (403,29001,0,0,0), - (403,30003,0,0,0), - (403,31153,0,0,0), - (403,36001,0,0,0), - (403,37001,0,0,0), - (403,40042,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (403,100002,10,0,0), - (403,100002,11,0,0), - (403,110102,10,1,1), - (403,110103,11,1,1), - (403,130048,0,0,0), - (403,140009,0,0,0), - (403,150004,0,0,0), - (403,160012,0,0,0), - (403,180014,0,0,0), - (403,190016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (403,200036,0,0,0), - (403,230001,0,0,0), - (403,240007,0,0,0), - (403,250002,0,0,0), - (403,280038,0,0,0), - (403,290006,0,0,0), - (403,300007,0,0,0), - (403,320078,0,0,0), - (403,330040,0,0,0), - (403,350003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (403,1000071,0,0,0), - (403,1100068,0,0,0), - (403,1200023,0,0,0), - (404,1001,0,0,0), - (404,2001,0,0,0), - (404,4001,0,0,0), - (404,5001,0,0,0), - (404,6001,0,0,0), - (404,10014,11,0,0), - (404,10021,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (404,11009,10,0,0), - (404,11009,11,0,0), - (404,12011,11,0,0), - (404,12064,10,0,0), - (404,13013,10,0,0), - (404,13016,11,0,0), - (404,14003,10,0,0), - (404,14004,0,0,0), - (404,14004,11,0,0), - (404,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (404,20207,0,0,0), - (404,22010,0,0,0), - (404,25005,0,0,0), - (404,29003,0,0,0), - (404,30006,0,0,0), - (404,31152,0,0,0), - (404,36001,0,0,0), - (404,37001,0,0,0), - (404,40060,0,0,0), - (404,100005,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (404,100005,11,0,0), - (404,110173,10,1,1), - (404,110174,11,1,1), - (404,130051,0,0,0), - (404,140007,0,0,0), - (404,150003,0,0,0), - (404,160097,0,0,0), - (404,180060,0,0,0), - (404,190028,0,0,0), - (404,200012,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (404,230005,0,0,0), - (404,240007,0,0,0), - (404,250005,0,0,0), - (404,280032,0,0,0), - (404,290005,0,0,0), - (404,320007,0,0,0), - (404,330022,0,0,0), - (404,350005,0,0,0), - (404,1000054,0,0,0), - (404,1100043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (404,1200099,0,0,0), - (405,1001,0,0,0), - (405,2001,0,0,0), - (405,4001,0,0,0), - (405,5001,0,0,0), - (405,6001,0,0,0), - (405,10021,10,0,0), - (405,10026,11,0,0), - (405,11006,10,0,0), - (405,11006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (405,12007,11,0,0), - (405,12021,10,0,0), - (405,13006,10,0,0), - (405,15001,0,0,0), - (405,20117,0,0,0), - (405,22009,0,0,0), - (405,31153,0,0,0), - (405,36001,0,0,0), - (405,37001,0,0,0), - (405,40021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (405,100120,10,0,0), - (405,100120,11,0,0), - (405,110174,10,0,0), - (405,110174,11,0,0), - (405,130008,0,0,0), - (405,140005,0,0,0), - (405,160009,0,0,0), - (405,180014,0,0,0), - (405,190016,0,0,0), - (405,200036,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (405,230003,0,0,0), - (405,240006,0,0,0), - (405,250006,0,0,0), - (405,280068,0,0,0), - (405,290006,0,0,0), - (405,300006,0,0,0), - (405,320030,0,0,0), - (405,330070,0,0,0), - (405,340003,0,0,0), - (405,1000073,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (405,1100025,0,0,0), - (405,1200023,0,0,0), - (406,1001,0,1,1), - (406,2001,0,1,1), - (406,4001,0,0,0), - (406,5001,0,0,0), - (406,6001,0,0,0), - (406,10001,11,0,0), - (406,10021,10,0,0), - (406,11009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (406,11009,11,0,0), - (406,12009,11,0,0), - (406,12010,10,0,0), - (406,13011,10,0,0), - (406,13012,11,0,0), - (406,15001,0,0,0), - (406,20207,0,0,0), - (406,22010,0,0,0), - (406,31152,0,0,0), - (406,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (406,37001,0,0,0), - (406,40060,0,0,0), - (406,100005,10,0,0), - (406,100005,11,0,0), - (406,110174,10,1,1), - (406,110174,11,1,1), - (406,130003,0,0,0), - (406,140010,0,0,0), - (406,160032,0,0,0), - (406,180035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (406,190053,0,0,0), - (406,200043,0,0,0), - (406,230003,0,0,0), - (406,240006,0,0,0), - (406,250006,0,0,0), - (406,280040,0,0,0), - (406,290006,0,0,0), - (406,300010,0,0,0), - (406,320042,0,0,0), - (406,330027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (406,340004,0,0,0), - (406,1000052,0,0,0), - (406,1100040,0,0,0), - (406,1200029,0,0,0), - (407,1001,0,1,1), - (407,2001,0,1,1), - (407,4001,0,0,0), - (407,5001,0,0,0), - (407,6001,0,0,0), - (407,10001,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (407,10021,10,0,0), - (407,11006,10,0,0), - (407,11006,11,0,0), - (407,12008,11,0,0), - (407,12009,10,0,0), - (407,13006,10,0,0), - (407,15001,0,0,0), - (407,20213,0,0,0), - (407,22001,0,0,0), - (407,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (407,36001,0,0,0), - (407,37001,0,0,0), - (407,40058,0,0,0), - (407,100003,10,0,0), - (407,100003,11,0,0), - (407,110174,10,1,1), - (407,110174,11,1,1), - (407,130003,0,0,0), - (407,140007,0,0,0), - (407,160078,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (407,180037,0,0,0), - (407,190087,0,0,0), - (407,200071,0,0,0), - (407,230003,0,0,0), - (407,240006,0,0,0), - (407,250006,0,0,0), - (407,280042,0,0,0), - (407,290006,0,0,0), - (407,300011,0,0,0), - (407,320012,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (407,330027,0,0,0), - (407,340003,0,0,0), - (407,1000011,0,0,0), - (407,1100045,0,0,0), - (407,1200039,0,0,0), - (408,1001,0,1,1), - (408,2001,0,1,1), - (408,4001,0,0,0), - (408,5001,0,0,0), - (408,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (408,10001,11,0,0), - (408,10021,10,0,0), - (408,11007,10,0,0), - (408,11007,11,0,0), - (408,12006,11,0,0), - (408,12008,10,0,0), - (408,13007,11,0,0), - (408,13009,10,0,0), - (408,15001,0,0,0), - (408,20111,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (408,22014,0,0,0), - (408,29002,0,0,0), - (408,30003,0,0,0), - (408,31153,0,0,0), - (408,36001,0,0,0), - (408,37001,0,0,0), - (408,40013,0,0,0), - (408,100005,10,0,0), - (408,100005,11,0,0), - (408,110174,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (408,110174,11,1,1), - (408,130003,0,0,0), - (408,140009,0,0,0), - (408,160084,0,0,0), - (408,180034,0,0,0), - (408,190052,0,0,0), - (408,200011,0,0,0), - (408,230003,0,0,0), - (408,240002,0,0,0), - (408,250005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (408,280071,0,0,0), - (408,290005,0,0,0), - (408,300009,0,0,0), - (408,320097,0,0,0), - (408,330070,0,0,0), - (408,340004,0,0,0), - (408,1000139,0,0,0), - (408,1100101,0,0,0), - (408,1200101,0,0,0), - (409,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (409,2001,0,1,1), - (409,4001,0,0,0), - (409,5001,0,0,0), - (409,6001,0,0,0), - (409,10001,11,0,0), - (409,10021,10,0,0), - (409,11007,10,0,0), - (409,11007,11,0,0), - (409,12008,11,0,0), - (409,12009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (409,15001,0,0,0), - (409,20220,0,0,0), - (409,22009,0,0,0), - (409,31153,0,0,0), - (409,36001,0,0,0), - (409,37001,0,0,0), - (409,40025,0,0,0), - (409,100004,10,0,0), - (409,100004,11,0,0), - (409,110174,10,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (409,110174,11,1,1), - (409,130003,0,0,0), - (409,140007,0,0,0), - (409,160007,0,0,0), - (409,180005,0,0,0), - (409,190062,0,0,0), - (409,200036,0,0,0), - (409,230003,0,0,0), - (409,240006,0,0,0), - (409,250006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (409,280007,0,0,0), - (409,290005,0,0,0), - (409,300007,0,0,0), - (409,320029,0,0,0), - (409,330027,0,0,0), - (409,340004,0,0,0), - (409,1000073,0,0,0), - (409,1100025,0,0,0), - (409,1200023,0,0,0), - (410,1001,0,1,1); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (410,2001,0,1,1), - (410,4001,0,0,0), - (410,5001,0,0,0), - (410,6001,0,0,0), - (410,10001,11,0,0), - (410,10021,0,0,0), - (410,10021,10,0,0), - (410,11007,10,0,0), - (410,11007,11,0,0), - (410,12006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (410,12009,10,0,0), - (410,13008,11,0,0), - (410,13011,10,0,0), - (410,15001,0,0,0), - (410,20130,0,0,0), - (410,22006,0,0,0), - (410,31153,0,0,0), - (410,36001,0,0,0), - (410,37001,0,0,0), - (410,40055,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (410,100003,10,0,0), - (410,100003,11,0,0), - (410,110174,10,1,1), - (410,110174,11,1,1), - (410,130003,0,0,0), - (410,140010,0,0,0), - (410,160042,0,0,0), - (410,180029,0,0,0), - (410,190050,0,0,0), - (410,200009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (410,230003,0,0,0), - (410,240006,0,0,0), - (410,250006,0,0,0), - (410,280063,0,0,0), - (410,290005,0,0,0), - (410,300009,0,0,0), - (410,320076,0,0,0), - (410,330071,0,0,0), - (410,340004,0,0,0), - (410,1000131,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (410,1100037,0,0,0), - (410,1200107,0,0,0), - (411,1001,0,0,0), - (411,2001,0,0,0), - (411,4001,0,0,0), - (411,5001,0,0,0), - (411,6001,0,0,0), - (411,10002,10,0,0), - (411,10010,11,0,0), - (411,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (411,11004,11,0,0), - (411,12006,10,0,0), - (411,12022,11,0,0), - (411,13012,10,0,0), - (411,15001,0,0,0), - (411,20132,0,0,0), - (411,22008,0,0,0), - (411,31153,0,0,0), - (411,36001,0,0,0), - (411,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (411,40032,0,0,0), - (411,100132,10,0,0), - (411,100132,11,0,0), - (411,110067,10,0,0), - (411,110067,11,0,0), - (411,130044,0,0,0), - (411,140008,0,0,0), - (411,160055,0,0,0), - (411,180015,0,0,0), - (411,190017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (411,200029,0,0,0), - (411,230003,0,0,0), - (411,240006,0,0,0), - (411,250002,0,0,0), - (411,280036,0,0,0), - (411,290007,0,0,0), - (411,300004,0,0,0), - (411,320004,0,0,0), - (411,330067,0,0,0), - (411,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (411,1000113,0,0,0), - (411,1100044,0,0,0), - (411,1200015,0,0,0), - (412,1001,0,0,0), - (412,2001,0,0,0), - (412,4001,0,0,0), - (412,5001,0,0,0), - (412,6001,0,0,0), - (412,10010,11,0,0), - (412,10017,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (412,11009,10,0,0), - (412,11009,11,0,0), - (412,12008,10,0,0), - (412,12029,11,0,0), - (412,13007,11,0,0), - (412,13009,10,0,0), - (412,15001,0,0,0), - (412,16001,0,0,0), - (412,20111,0,0,0), - (412,22014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (412,29002,10,0,0), - (412,30003,11,0,0), - (412,31153,0,0,0), - (412,36001,0,0,0), - (412,37001,0,0,0), - (412,40013,0,0,0), - (412,100112,10,0,0), - (412,100112,11,0,0), - (412,110083,10,0,0), - (412,110084,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (412,130039,0,0,0), - (412,140020,0,0,0), - (412,160027,0,0,0), - (412,180034,0,0,0), - (412,190001,0,0,0), - (412,200054,0,0,0), - (412,230003,0,0,0), - (412,240005,0,0,0), - (412,250001,0,0,0), - (412,280041,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (412,290002,0,0,0), - (412,300011,0,0,0), - (412,320087,0,0,0), - (412,330025,0,0,0), - (412,340003,0,0,0), - (412,1000139,0,0,0), - (412,1100005,0,0,0), - (412,1200038,0,0,0), - (413,1001,0,0,0), - (413,2001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (413,4001,0,0,0), - (413,5001,0,0,0), - (413,6001,0,0,0), - (413,10006,11,0,0), - (413,10015,10,0,0), - (413,11006,10,0,0), - (413,11006,11,0,0), - (413,12021,10,0,0), - (413,12029,11,0,0), - (413,13006,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (413,15001,0,0,0), - (413,20114,0,0,0), - (413,22009,0,0,0), - (413,31153,0,0,0), - (413,36001,0,0,0), - (413,37001,0,0,0), - (413,40018,0,0,0), - (413,100002,10,0,0), - (413,100002,11,0,0), - (413,110167,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (413,110168,11,0,0), - (413,130030,0,0,0), - (413,140009,0,0,0), - (413,160009,0,0,0), - (413,180014,0,0,0), - (413,190016,0,0,0), - (413,200002,0,0,0), - (413,230001,0,0,0), - (413,240006,0,0,0), - (413,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (413,280024,0,0,0), - (413,290004,0,0,0), - (413,300001,0,0,0), - (413,320020,0,0,0), - (413,330034,0,0,0), - (413,340002,0,0,0), - (413,1000073,0,0,0), - (413,1100001,0,0,0), - (413,1200023,0,0,0), - (414,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (414,2001,0,0,0), - (414,4001,0,0,0), - (414,5001,0,0,0), - (414,6001,0,0,0), - (414,10006,11,0,0), - (414,10015,10,0,0), - (414,11006,10,0,0), - (414,11006,11,0,0), - (414,12021,10,0,0), - (414,12029,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (414,13006,10,0,0), - (414,15001,0,0,0), - (414,20114,0,0,0), - (414,22009,0,0,0), - (414,31153,0,0,0), - (414,36001,0,0,0), - (414,37001,0,0,0), - (414,40018,0,0,0), - (414,100002,10,0,0), - (414,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (414,110084,10,0,0), - (414,110168,11,0,0), - (414,130030,0,0,0), - (414,140009,0,0,0), - (414,160012,0,0,0), - (414,180014,0,0,0), - (414,190016,0,0,0), - (414,200002,0,0,0), - (414,230001,0,0,0), - (414,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (414,250002,0,0,0), - (414,280016,0,0,0), - (414,290001,0,0,0), - (414,300001,0,0,0), - (414,320020,0,0,0), - (414,330018,0,0,0), - (414,340002,0,0,0), - (414,1000122,0,0,0), - (414,1100001,0,0,0), - (414,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (415,1001,0,0,0), - (415,2001,0,0,0), - (415,4001,0,0,0), - (415,5001,0,0,0), - (415,6001,0,0,0), - (415,10006,11,0,0), - (415,10015,10,0,0), - (415,11006,10,0,0), - (415,11006,11,0,0), - (415,12021,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (415,12029,11,0,0), - (415,13006,10,0,0), - (415,15001,0,0,0), - (415,20114,0,0,0), - (415,22009,0,0,0), - (415,31153,0,0,0), - (415,36001,0,0,0), - (415,37001,0,0,0), - (415,40018,0,0,0), - (415,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (415,100002,11,0,0), - (415,110012,10,0,0), - (415,110012,11,0,0), - (415,130032,0,0,0), - (415,140009,0,0,0), - (415,160006,0,0,0), - (415,180014,0,0,0), - (415,190016,0,0,0), - (415,200002,0,0,0), - (415,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (415,240001,0,0,0), - (415,250002,0,0,0), - (415,280024,0,0,0), - (415,290001,0,0,0), - (415,300001,0,0,0), - (415,320030,0,0,0), - (415,330013,0,0,0), - (415,340002,0,0,0), - (415,1000015,0,0,0), - (415,1100001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (415,1200034,0,0,0), - (416,1001,0,0,0), - (416,2001,0,0,0), - (416,4001,0,0,0), - (416,5001,0,0,0), - (416,6001,0,0,0), - (416,10002,10,0,0), - (416,10010,11,0,0), - (416,11004,10,0,0), - (416,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (416,12006,10,0,0), - (416,12022,11,0,0), - (416,13012,10,0,0), - (416,15001,0,0,0), - (416,20133,0,0,0), - (416,22008,0,0,0), - (416,31153,0,0,0), - (416,36001,0,0,0), - (416,37001,0,0,0), - (416,40033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (416,100132,10,0,0), - (416,100132,11,0,0), - (416,110045,10,0,0), - (416,110045,11,0,0), - (416,130048,0,0,0), - (416,140004,0,0,0), - (416,160073,0,0,0), - (416,180015,0,0,0), - (416,190017,0,0,0), - (416,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (416,230001,0,0,0), - (416,240005,0,0,0), - (416,250002,0,0,0), - (416,280036,0,0,0), - (416,290004,0,0,0), - (416,300001,0,0,0), - (416,320004,0,0,0), - (416,330066,0,0,0), - (416,340002,0,0,0), - (416,1000120,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (416,1100044,0,0,0), - (416,1200015,0,0,0), - (417,1001,0,0,0), - (417,2001,0,0,0), - (417,4001,0,0,0), - (417,5001,0,0,0), - (417,6001,0,0,0), - (417,10010,10,0,0), - (417,10010,11,0,0), - (417,11004,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (417,11004,11,0,0), - (417,12027,10,0,0), - (417,12029,11,0,0), - (417,13010,10,0,0), - (417,15001,0,0,0), - (417,20108,0,0,0), - (417,22014,0,0,0), - (417,31153,0,0,0), - (417,36001,0,0,0), - (417,37001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (417,40013,0,0,0), - (417,100002,10,0,0), - (417,100002,11,0,0), - (417,110171,10,0,0), - (417,110171,11,0,0), - (417,130034,0,0,0), - (417,140019,0,0,0), - (417,160025,0,0,0), - (417,180030,0,0,0), - (417,190020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (417,200004,0,0,0), - (417,230001,0,0,0), - (417,240001,0,0,0), - (417,250001,0,0,0), - (417,280018,0,0,0), - (417,290001,0,0,0), - (417,300001,0,0,0), - (417,320022,0,0,0), - (417,330003,0,0,0), - (417,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (417,1000138,0,0,0), - (417,1100005,0,0,0), - (417,1200017,0,0,0), - (418,1001,0,0,0), - (418,2001,0,0,0), - (418,4001,0,0,0), - (418,5001,0,0,0), - (418,6001,0,0,0), - (418,10002,10,0,0), - (418,10010,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (418,11004,10,0,0), - (418,11004,11,0,0), - (418,12009,10,0,0), - (418,12021,11,0,0), - (418,13009,10,0,0), - (418,15001,0,0,0), - (418,20121,0,0,0), - (418,22009,0,0,0), - (418,31153,0,0,0), - (418,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (418,37001,0,0,0), - (418,40030,0,0,0), - (418,100002,10,0,0), - (418,100002,11,0,0), - (418,110139,10,0,0), - (418,110139,11,0,0), - (418,130023,0,0,0), - (418,140016,0,0,0), - (418,160012,0,0,0), - (418,180003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (418,190016,0,0,0), - (418,200002,0,0,0), - (418,230001,0,0,0), - (418,240006,0,0,0), - (418,250002,0,0,0), - (418,280016,0,0,0), - (418,290004,0,0,0), - (418,300001,0,0,0), - (418,320020,0,0,0), - (418,330008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (418,340002,0,0,0), - (418,1000122,0,0,0), - (418,1100001,0,0,0), - (418,1200034,0,0,0), - (419,1001,0,0,0), - (419,2001,0,0,0), - (419,4001,0,0,0), - (419,5001,0,0,0), - (419,6001,0,0,0), - (419,10021,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (419,10021,11,0,0), - (419,11008,10,0,0), - (419,11008,11,0,0), - (419,12039,11,0,0), - (419,12040,10,0,0), - (419,15001,0,0,0), - (419,20112,0,0,0), - (419,22014,0,0,0), - (419,31151,0,0,0), - (419,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (419,37001,0,0,0), - (419,40004,0,0,0), - (419,100005,10,0,0), - (419,100005,11,0,0), - (419,110173,10,0,0), - (419,110174,11,0,0), - (419,130036,0,0,0), - (419,140020,0,0,0), - (419,160017,0,0,0), - (419,180013,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (419,190015,0,0,0), - (419,200051,0,0,0), - (419,230002,0,0,0), - (419,240006,0,0,0), - (419,250006,0,0,0), - (419,280006,0,0,0), - (419,290005,0,0,0), - (419,300008,0,0,0), - (419,320031,0,0,0), - (419,330027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (419,340003,0,0,0), - (419,1000025,0,0,0), - (419,1100027,0,0,0), - (419,1200024,0,0,0), - (420,1001,0,0,0), - (420,2001,0,0,0), - (420,4001,0,0,0), - (420,5001,0,0,0), - (420,6001,0,0,0), - (420,10009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (420,10010,10,0,0), - (420,11004,10,0,0), - (420,11004,11,0,0), - (420,12007,11,0,0), - (420,12008,10,0,0), - (420,15001,0,0,0), - (420,20103,0,0,0), - (420,22014,0,0,0), - (420,31153,0,0,0), - (420,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (420,37001,0,0,0), - (420,40005,0,0,0), - (420,100002,10,0,0), - (420,100002,11,0,0), - (420,110100,10,0,0), - (420,110100,11,0,0), - (420,130012,0,0,0), - (420,140014,0,0,0), - (420,160022,0,0,0), - (420,180019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (420,190021,0,0,0), - (420,200019,0,0,0), - (420,230001,0,0,0), - (420,240003,0,0,0), - (420,250001,0,0,0), - (420,280019,0,0,0), - (420,290001,0,0,0), - (420,300001,0,0,0), - (420,320023,0,0,0), - (420,330006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (420,340001,0,0,0), - (420,1000004,0,0,0), - (420,1100016,0,0,0), - (420,1200018,0,0,0), - (421,1001,0,0,0), - (421,2001,0,0,0), - (421,4001,0,0,0), - (421,5001,0,0,0), - (421,6001,0,0,0), - (421,10011,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (421,10011,11,0,0), - (421,11004,10,0,0), - (421,11004,11,0,0), - (421,12008,11,0,0), - (421,12031,10,0,0), - (421,15001,0,0,0), - (421,20118,0,0,0), - (421,22009,0,0,0), - (421,31153,0,0,0), - (421,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (421,37001,0,0,0), - (421,40019,0,0,0), - (421,100002,10,0,0), - (421,100002,11,0,0), - (421,110100,10,0,0), - (421,110100,11,0,0), - (421,130032,0,0,0), - (421,140016,0,0,0), - (421,160011,0,0,0), - (421,180062,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (421,190067,0,0,0), - (421,200048,0,0,0), - (421,230001,0,0,0), - (421,240001,0,0,0), - (421,250002,0,0,0), - (421,280051,0,0,0), - (421,290004,0,0,0), - (421,300001,0,0,0), - (421,320100,0,0,0), - (421,330056,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (421,340002,0,0,0), - (421,1000057,0,0,0), - (421,1100120,0,0,0), - (421,1200049,0,0,0), - (422,1001,0,0,0), - (422,2001,0,0,0), - (422,4001,0,0,0), - (422,5001,0,0,0), - (422,6001,0,0,0), - (422,10001,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (422,10004,11,0,0), - (422,11009,10,0,0), - (422,11009,11,0,0), - (422,12009,11,0,0), - (422,12031,10,0,0), - (422,15001,0,0,0), - (422,20113,0,0,0), - (422,22009,0,0,0), - (422,31153,0,0,0), - (422,36001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (422,37001,0,0,0), - (422,40016,0,0,0), - (422,100002,10,0,0), - (422,100002,11,0,0), - (422,110171,10,0,0), - (422,110171,11,0,0), - (422,130034,0,0,0), - (422,140019,0,0,0), - (422,160012,0,0,0), - (422,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (422,190016,0,0,0), - (422,200002,0,0,0), - (422,230001,0,0,0), - (422,240006,0,0,0), - (422,250002,0,0,0), - (422,280024,0,0,0), - (422,290004,0,0,0), - (422,300001,0,0,0), - (422,320020,0,0,0), - (422,330018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (422,340002,0,0,0), - (422,1000074,0,0,0), - (422,1100025,0,0,0), - (422,1200023,0,0,0), - (423,1001,0,0,0), - (423,2001,0,0,0), - (423,4001,0,0,0), - (423,5001,0,0,0), - (423,6001,0,0,0), - (423,10009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (423,10010,10,0,0), - (423,11004,10,0,0), - (423,11004,11,0,0), - (423,12025,10,0,0), - (423,12026,11,0,0), - (423,13002,10,0,0), - (423,13004,11,0,0), - (423,15001,0,0,0), - (423,20127,0,0,0), - (423,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (423,31153,0,0,0), - (423,36001,0,0,0), - (423,37001,0,0,0), - (423,40015,0,0,0), - (423,100002,10,0,0), - (423,100002,11,0,0), - (423,110173,10,0,0), - (423,110173,11,0,0), - (423,130045,0,0,0), - (423,140018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (423,160090,0,0,0), - (423,180049,0,0,0), - (423,190013,0,0,0), - (423,200057,0,0,0), - (423,230001,0,0,0), - (423,240001,0,0,0), - (423,250002,0,0,0), - (423,280054,0,0,0), - (423,290006,0,0,0), - (423,300011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (423,320104,0,0,0), - (423,330033,0,0,0), - (423,340002,0,0,0), - (423,1000162,0,0,0), - (423,1100124,0,0,0), - (423,1200013,0,0,0), - (424,1001,0,0,0), - (424,2001,0,0,0), - (424,4001,0,0,0), - (424,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (424,6001,0,0,0), - (424,10009,11,0,0), - (424,10010,10,0,0), - (424,11006,10,0,0), - (424,11006,11,0,0), - (424,12031,11,0,0), - (424,12032,10,0,0), - (424,15001,0,0,0), - (424,20218,0,0,0), - (424,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (424,31153,0,0,0), - (424,36001,0,0,0), - (424,37001,0,0,0), - (424,40041,0,0,0), - (424,100002,10,0,0), - (424,100002,11,0,0), - (424,110172,10,0,0), - (424,110172,11,0,0), - (424,130033,0,0,0), - (424,140011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (424,160014,0,0,0), - (424,180002,0,0,0), - (424,190015,0,0,0), - (424,200003,0,0,0), - (424,230001,0,0,0), - (424,240001,0,0,0), - (424,250002,0,0,0), - (424,280002,0,0,0), - (424,290004,0,0,0), - (424,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (424,320002,0,0,0), - (424,330018,0,0,0), - (424,340002,0,0,0), - (424,1000075,0,0,0), - (424,1100014,0,0,0), - (424,1200001,0,0,0), - (425,1001,0,0,0), - (425,2001,0,0,0), - (425,4001,0,0,0), - (425,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (425,6001,0,0,0), - (425,10003,10,0,0), - (425,10010,11,0,0), - (425,11004,10,0,0), - (425,11004,11,0,0), - (425,12031,11,0,0), - (425,12033,10,0,0), - (425,15001,0,0,0), - (425,20111,0,0,0), - (425,22014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (425,31153,0,0,0), - (425,36001,0,0,0), - (425,37001,0,0,0), - (425,40062,0,0,0), - (425,100002,10,0,0), - (425,100002,11,0,0), - (425,110170,10,0,0), - (425,110170,11,0,0), - (425,130039,0,0,0), - (425,140019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (425,160034,0,0,0), - (425,180059,0,0,0), - (425,190029,0,0,0), - (425,200012,0,0,0), - (425,230005,0,0,0), - (425,240002,0,0,0), - (425,250005,0,0,0), - (425,280004,0,0,0), - (425,290007,0,0,0), - (425,300011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (425,320007,0,0,0), - (425,330033,0,0,0), - (425,340003,0,0,0), - (425,1000006,0,0,0), - (425,1100043,0,0,0), - (425,1200005,0,0,0), - (426,1001,0,0,0), - (426,2001,0,0,0), - (426,4001,0,0,0), - (426,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (426,6001,0,0,0), - (426,10030,10,0,0), - (426,10030,11,0,0), - (426,11008,10,0,0), - (426,11008,11,0,0), - (426,12038,11,0,0), - (426,12040,10,0,0), - (426,13012,10,0,0), - (426,14003,11,0,0), - (426,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (426,20134,0,0,0), - (426,22001,0,0,0), - (426,31153,0,0,0), - (426,36001,0,0,0), - (426,37001,0,0,0), - (426,40035,0,0,0), - (426,100005,10,0,0), - (426,100005,11,0,0), - (426,110109,10,0,0), - (426,110109,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (426,130046,0,0,0), - (426,140019,0,0,0), - (426,160078,0,0,0), - (426,180037,0,0,0), - (426,190069,0,0,0), - (426,200053,0,0,0), - (426,230003,0,0,0), - (426,240007,0,0,0), - (426,250007,0,0,0), - (426,280042,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (426,290005,0,0,0), - (426,300008,0,0,0), - (426,320012,0,0,0), - (426,330019,0,0,0), - (426,340003,0,0,0), - (426,1000011,0,0,0), - (426,1100045,0,0,0), - (426,1200039,0,0,0), - (427,1001,0,0,0), - (427,2001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (427,4001,0,0,0), - (427,5001,0,0,0), - (427,6001,0,0,0), - (427,10012,10,0,0), - (427,10012,11,0,0), - (427,11004,10,0,0), - (427,11004,11,0,0), - (427,12031,11,0,0), - (427,12033,10,0,0), - (427,15001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (427,20124,0,0,0), - (427,22005,0,0,0), - (427,31153,0,0,0), - (427,36001,0,0,0), - (427,37001,0,0,0), - (427,40014,0,0,0), - (427,100002,10,0,0), - (427,100002,11,0,0), - (427,110100,10,0,0), - (427,110101,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (427,130033,0,0,0), - (427,140008,0,0,0), - (427,160010,0,0,0), - (427,180055,0,0,0), - (427,190071,0,0,0), - (427,200056,0,0,0), - (427,230001,0,0,0), - (427,240001,0,0,0), - (427,250002,0,0,0), - (427,280044,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (427,290003,0,0,0), - (427,300001,0,0,0), - (427,320092,0,0,0), - (427,330052,0,0,0), - (427,340002,0,0,0), - (427,1000154,0,0,0), - (427,1100112,0,0,0), - (427,1200042,0,0,0), - (428,1001,0,0,0), - (428,2001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (428,4001,0,0,0), - (428,5001,0,0,0), - (428,6001,0,0,0), - (428,10006,11,0,0), - (428,10015,10,0,0), - (428,11006,10,0,0), - (428,11006,11,0,0), - (428,12027,11,0,0), - (428,12030,10,0,0), - (428,13007,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (428,15001,0,0,0), - (428,20114,0,0,0), - (428,22009,0,0,0), - (428,31153,0,0,0), - (428,36001,0,0,0), - (428,37001,0,0,0), - (428,40018,0,0,0), - (428,100002,10,0,0), - (428,100002,11,0,0), - (428,110168,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (428,110168,11,0,0), - (428,130016,0,0,0), - (428,140009,0,0,0), - (428,160006,0,0,0), - (428,180014,0,0,0), - (428,190016,0,0,0), - (428,200002,0,0,0), - (428,230001,0,0,0), - (428,240001,0,0,0), - (428,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (428,280024,0,0,0), - (428,290001,0,0,0), - (428,300001,0,0,0), - (428,320030,0,0,0), - (428,330013,0,0,0), - (428,340002,0,0,0), - (428,1000015,0,0,0), - (428,1100001,0,0,0), - (428,1200034,0,0,0), - (429,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (429,2001,0,0,0), - (429,4001,0,0,0), - (429,5001,0,0,0), - (429,6001,0,0,0), - (429,10011,10,0,0), - (429,10011,11,0,0), - (429,11004,10,0,0), - (429,11004,11,0,0), - (429,12031,10,0,0), - (429,12031,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (429,15001,0,0,0), - (429,20115,0,0,0), - (429,22009,0,0,0), - (429,31153,0,0,0), - (429,36001,0,0,0), - (429,37001,0,0,0), - (429,40017,0,0,0), - (429,100004,10,0,0), - (429,100004,11,0,0), - (429,110091,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (429,110091,11,0,0), - (429,130021,0,0,0), - (429,140009,0,0,0), - (429,160006,0,0,0), - (429,180014,0,0,0), - (429,190016,0,0,0), - (429,200002,0,0,0), - (429,230001,0,0,0), - (429,240001,0,0,0), - (429,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (429,280024,0,0,0), - (429,290004,0,0,0), - (429,300001,0,0,0), - (429,320030,0,0,0), - (429,330053,0,0,0), - (429,340002,0,0,0), - (429,1000015,0,0,0), - (429,1100001,0,0,0), - (429,1200034,0,0,0), - (430,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (430,2001,0,0,0), - (430,4001,0,0,0), - (430,5001,0,0,0), - (430,6001,0,0,0), - (430,10011,10,0,0), - (430,10011,11,0,0), - (430,11004,10,0,0), - (430,11004,11,0,0), - (430,12031,10,0,0), - (430,12031,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (430,15001,0,0,0), - (430,20105,0,0,0), - (430,22014,0,0,0), - (430,31153,0,0,0), - (430,36001,0,0,0), - (430,37001,0,0,0), - (430,40007,0,0,0), - (430,100002,10,0,0), - (430,100002,11,0,0), - (430,110091,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (430,110091,11,0,0), - (430,130047,0,0,0), - (430,140008,0,0,0), - (430,160026,0,0,0), - (430,180018,0,0,0), - (430,190077,0,0,0), - (430,200066,0,0,0), - (430,230001,0,0,0), - (430,240001,0,0,0), - (430,250001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (430,280030,0,0,0), - (430,290002,0,0,0), - (430,300001,0,0,0), - (430,320098,0,0,0), - (430,330058,0,0,0), - (430,340002,0,0,0), - (430,1000001,0,0,0), - (430,1100119,0,0,0), - (430,1200048,0,0,0), - (431,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (431,2001,0,0,0), - (431,4001,0,0,0), - (431,5001,0,0,0), - (431,6001,0,0,0), - (431,10030,10,0,0), - (431,10030,11,0,0), - (431,11008,10,0,0), - (431,11008,11,0,0), - (431,12038,11,0,0), - (431,12040,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (431,15001,0,0,0), - (431,20128,0,0,0), - (431,22009,0,0,0), - (431,25005,0,0,0), - (431,31153,0,0,0), - (431,36001,0,0,0), - (431,37001,0,0,0), - (431,40023,0,0,0), - (431,100095,10,0,0), - (431,100095,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (431,110174,10,0,0), - (431,110174,11,0,0), - (431,130036,0,0,0), - (431,140020,0,0,0), - (431,160017,0,0,0), - (431,180013,0,0,0), - (431,190015,0,0,0), - (431,200051,0,0,0), - (431,230004,0,0,0), - (431,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (431,250004,0,0,0), - (431,280006,0,0,0), - (431,290005,0,0,0), - (431,300008,0,0,0), - (431,320031,0,0,0), - (431,330027,0,0,0), - (431,340003,0,0,0), - (431,350005,0,0,0), - (431,1000025,0,0,0), - (431,1100014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (431,1200024,0,0,0), - (432,1001,0,0,0), - (432,2001,0,0,0), - (432,4001,0,0,0), - (432,5001,0,0,0), - (432,6001,0,0,0), - (432,10009,11,0,0), - (432,10010,10,0,0), - (432,11004,10,0,0), - (432,11004,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (432,12004,11,0,0), - (432,12006,10,0,0), - (432,15001,0,0,0), - (432,20101,0,0,0), - (432,22016,0,0,0), - (432,23003,0,0,0), - (432,31153,0,0,0), - (432,34001,10,0,0), - (432,34001,11,0,0), - (432,35001,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (432,35001,11,0,0), - (432,36001,0,0,0), - (432,37001,0,0,0), - (432,40002,0,0,0), - (432,100002,10,0,0), - (432,100002,11,0,0), - (432,110047,10,0,0), - (432,110047,11,0,0), - (432,130012,0,0,0), - (432,140036,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (432,160021,0,0,0), - (432,180019,0,0,0), - (432,190021,0,0,0), - (432,200019,0,0,0), - (432,230002,0,0,0), - (432,240003,0,0,0), - (432,250001,0,0,0), - (432,280019,0,0,0), - (432,290001,0,0,0), - (432,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (432,320023,0,0,0), - (432,330016,0,0,0), - (432,340001,0,0,0), - (432,1000002,0,0,0), - (432,1100016,0,0,0), - (432,1200018,0,0,0), - (433,1001,0,0,0), - (433,2001,0,0,0), - (433,4001,0,0,0), - (433,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (433,6001,0,0,0), - (433,10009,11,0,0), - (433,10010,10,0,0), - (433,11004,10,0,0), - (433,11004,11,0,0), - (433,12007,10,0,0), - (433,12028,11,0,0), - (433,15001,0,0,0), - (433,20102,0,0,0), - (433,22016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (433,23009,0,0,0), - (433,31153,0,0,0), - (433,35002,10,0,0), - (433,35002,11,0,0), - (433,36001,0,0,0), - (433,37001,0,0,0), - (433,40003,0,0,0), - (433,100002,10,0,0), - (433,100002,11,0,0), - (433,110013,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (433,110013,11,0,0), - (433,130012,0,0,0), - (433,140025,0,0,0), - (433,160021,0,0,0), - (433,180019,0,0,0), - (433,190021,0,0,0), - (433,200019,0,0,0), - (433,230002,0,0,0), - (433,240003,0,0,0), - (433,250001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (433,280019,0,0,0), - (433,290001,0,0,0), - (433,300001,0,0,0), - (433,320023,0,0,0), - (433,330006,0,0,0), - (433,340001,0,0,0), - (433,1000002,0,0,0), - (433,1100016,0,0,0), - (433,1200018,0,0,0), - (434,1001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (434,2001,0,0,0), - (434,4001,0,0,0), - (434,5001,0,0,0), - (434,6001,0,0,0), - (434,10001,10,0,0), - (434,10004,11,0,0), - (434,11004,10,0,0), - (434,11004,11,0,0), - (434,12007,11,0,0), - (434,12031,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (434,15001,0,0,0), - (434,18001,0,0,0), - (434,20104,0,0,0), - (434,22014,0,0,0), - (434,31153,0,0,0), - (434,36001,0,0,0), - (434,37001,0,0,0), - (434,40006,0,0,0), - (434,100006,10,0,0), - (434,100006,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (434,110067,10,0,0), - (434,110067,11,0,0), - (434,130047,0,0,0), - (434,140007,0,0,0), - (434,160026,0,0,0), - (434,180018,0,0,0), - (434,190077,0,0,0), - (434,200066,0,0,0), - (434,230001,0,0,0), - (434,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (434,250001,0,0,0), - (434,280030,0,0,0), - (434,290002,0,0,0), - (434,300001,0,0,0), - (434,320098,0,0,0), - (434,330058,0,0,0), - (434,340002,0,0,0), - (434,1000001,0,0,0), - (434,1100119,0,0,0), - (434,1200048,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (435,1001,0,0,0), - (435,2001,0,0,0), - (435,4001,0,0,0), - (435,5001,0,0,0), - (435,6001,0,0,0), - (435,10011,10,0,0), - (435,10011,11,0,0), - (435,11004,10,0,0), - (435,11004,11,0,0), - (435,12025,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (435,12032,10,0,0), - (435,15001,0,0,0), - (435,20106,0,0,0), - (435,22014,0,0,0), - (435,31153,0,0,0), - (435,36001,0,0,0), - (435,37001,0,0,0), - (435,40008,0,0,0), - (435,100002,10,0,0), - (435,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (435,110061,10,0,0), - (435,110061,11,0,0), - (435,130026,0,0,0), - (435,140019,0,0,0), - (435,160028,0,0,0), - (435,180018,0,0,0), - (435,190077,0,0,0), - (435,200066,0,0,0), - (435,230001,0,0,0), - (435,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (435,250001,0,0,0), - (435,280030,0,0,0), - (435,290002,0,0,0), - (435,300001,0,0,0), - (435,320040,0,0,0), - (435,330035,0,0,0), - (435,340002,0,0,0), - (435,1000099,0,0,0), - (435,1100119,0,0,0), - (435,1200048,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (436,1001,0,0,0), - (436,2001,0,0,0), - (436,4001,0,0,0), - (436,5001,0,0,0), - (436,6001,0,0,0), - (436,10010,10,0,0), - (436,10010,11,0,0), - (436,11004,10,0,0), - (436,11004,11,0,0), - (436,12009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (436,12032,10,0,0), - (436,15001,0,0,0), - (436,20109,0,0,0), - (436,22014,0,0,0), - (436,31153,0,0,0), - (436,36001,0,0,0), - (436,37001,0,0,0), - (436,40011,0,0,0), - (436,100002,10,0,0), - (436,100002,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (436,110067,10,0,0), - (436,110067,11,0,0), - (436,130034,0,0,0), - (436,140019,0,0,0), - (436,160025,0,0,0), - (436,180030,0,0,0), - (436,190020,0,0,0), - (436,200004,0,0,0), - (436,230001,0,0,0), - (436,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (436,250001,0,0,0), - (436,280018,0,0,0), - (436,290001,0,0,0), - (436,300001,0,0,0), - (436,320022,0,0,0), - (436,330003,0,0,0), - (436,340002,0,0,0), - (436,1000138,0,0,0), - (436,1100005,0,0,0), - (436,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (437,1001,0,0,0), - (437,2001,0,0,0), - (437,4001,0,0,0), - (437,5001,0,0,0), - (437,6001,0,0,0), - (437,10002,10,0,0), - (437,10010,11,0,0), - (437,11006,10,0,0), - (437,11006,11,0,0), - (437,12032,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (437,12033,10,0,0), - (437,15001,0,0,0), - (437,20211,0,0,0), - (437,22014,0,0,0), - (437,30001,11,0,0), - (437,31153,0,0,0), - (437,36001,0,0,0), - (437,37001,0,0,0), - (437,40039,0,0,0), - (437,100002,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (437,100002,11,0,0), - (437,110061,10,0,0), - (437,110061,11,0,0), - (437,130034,0,0,0), - (437,140009,0,0,0), - (437,160033,0,0,0), - (437,180051,0,0,0), - (437,190027,0,0,0), - (437,200028,0,0,0), - (437,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (437,240001,0,0,0), - (437,250001,0,0,0), - (437,280008,0,0,0), - (437,290002,0,0,0), - (437,300002,0,0,0), - (437,320011,0,0,0), - (437,330033,0,0,0), - (437,340003,0,0,0), - (437,1000005,0,0,0), - (437,1100040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (437,1200029,0,0,0), - (438,1001,0,0,0), - (438,2001,0,0,0), - (438,4001,0,0,0), - (438,5001,0,0,0), - (438,6001,0,0,0), - (438,10010,11,0,0), - (438,10017,10,0,0), - (438,11009,10,0,0), - (438,11009,11,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (438,12008,11,0,0), - (438,12031,10,0,0), - (438,13007,11,0,0), - (438,13009,10,0,0), - (438,15001,0,0,0), - (438,20111,0,0,0), - (438,22014,0,0,0), - (438,29002,10,0,0), - (438,30003,11,0,0), - (438,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (438,36001,0,0,0), - (438,37001,0,0,0), - (438,40013,0,0,0), - (438,100112,10,0,0), - (438,100112,11,0,0), - (438,110094,10,0,0), - (438,110095,11,0,0), - (438,130034,0,0,0), - (438,140009,0,0,0), - (438,160027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (438,180034,0,0,0), - (438,190001,0,0,0), - (438,200054,0,0,0), - (438,230003,0,0,0), - (438,240005,0,0,0), - (438,250001,0,0,0), - (438,280041,0,0,0), - (438,290002,0,0,0), - (438,300011,0,0,0), - (438,320087,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (438,330025,0,0,0), - (438,340003,0,0,0), - (438,1000139,0,0,0), - (438,1100005,0,0,0), - (438,1200038,0,0,0), - (439,1001,0,0,0), - (439,2001,0,0,0), - (439,4001,0,0,0), - (439,5001,0,0,0), - (439,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (439,10011,10,0,0), - (439,10011,11,0,0), - (439,11004,10,0,0), - (439,11004,11,0,0), - (439,12008,11,0,0), - (439,12032,10,0,0), - (439,15001,0,0,0), - (439,20116,0,0,0), - (439,22009,0,0,0), - (439,31153,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (439,36001,0,0,0), - (439,37001,0,0,0), - (439,40022,0,0,0), - (439,100001,10,0,0), - (439,100001,11,0,0), - (439,110064,10,0,0), - (439,110064,11,0,0), - (439,130022,0,0,0), - (439,140009,0,0,0), - (439,160009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (439,180014,0,0,0), - (439,190016,0,0,0), - (439,200002,0,0,0), - (439,230001,0,0,0), - (439,240006,0,0,0), - (439,250002,0,0,0), - (439,280016,0,0,0), - (439,290004,0,0,0), - (439,300001,0,0,0), - (439,320020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (439,330053,0,0,0), - (439,340002,0,0,0), - (439,1000121,0,0,0), - (439,1100001,0,0,0), - (439,1200034,0,0,0), - (440,1001,0,0,0), - (440,2001,0,0,0), - (440,4001,0,0,0), - (440,5001,0,0,0), - (440,6001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (440,10002,10,0,0), - (440,10010,11,0,0), - (440,11004,10,0,0), - (440,11004,11,0,0), - (440,12007,11,0,0), - (440,12032,10,0,0), - (440,13009,10,0,0), - (440,15001,0,0,0), - (440,20121,0,0,0), - (440,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (440,31153,0,0,0), - (440,36001,0,0,0), - (440,37001,0,0,0), - (440,40030,0,0,0), - (440,100002,10,0,0), - (440,100002,11,0,0), - (440,110061,10,0,0), - (440,110061,11,0,0), - (440,130023,0,0,0), - (440,140007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (440,160012,0,0,0), - (440,180003,0,0,0), - (440,190016,0,0,0), - (440,200002,0,0,0), - (440,230001,0,0,0), - (440,240006,0,0,0), - (440,250002,0,0,0), - (440,280016,0,0,0), - (440,290004,0,0,0), - (440,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (440,320020,0,0,0), - (440,330008,0,0,0), - (440,340002,0,0,0), - (440,1000122,0,0,0), - (440,1100001,0,0,0), - (440,1200034,0,0,0), - (441,1001,0,0,0), - (441,2001,0,0,0), - (441,4001,0,0,0), - (441,5001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (441,6001,0,0,0), - (441,10021,10,0,0), - (441,10026,11,0,0), - (441,11006,10,0,0), - (441,11006,11,0,0), - (441,12008,10,0,0), - (441,12009,11,0,0), - (441,15001,0,0,0), - (441,20117,0,0,0), - (441,22009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (441,31153,0,0,0), - (441,36001,0,0,0), - (441,37001,0,0,0), - (441,40021,0,0,0), - (441,100002,10,0,0), - (441,100002,11,0,0), - (441,110173,10,0,0), - (441,110173,11,0,0), - (441,130016,0,0,0), - (441,140009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (441,160009,0,0,0), - (441,180014,0,0,0), - (441,190016,0,0,0), - (441,200002,0,0,0), - (441,230001,0,0,0), - (441,240006,0,0,0), - (441,250002,0,0,0), - (441,280024,0,0,0), - (441,290004,0,0,0), - (441,300001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (441,320030,0,0,0), - (441,330057,0,0,0), - (441,340003,0,0,0), - (441,1000073,0,0,0), - (441,1100025,0,0,0), - (441,1200023,0,0,0), - (1001,11004,10,0,0), - (1001,11004,11,0,0), - (1001,12006,11,0,0), - (1001,12009,10,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (4001,130012,0,0,0), - (4001,140014,0,0,0), - (5001,10021,10,0,0), - (5001,10026,11,0,0), - (15001,100002,10,0,0), - (15001,100002,11,0,0), - (15001,110027,10,1,1), - (15001,110027,11,0,0), - (36002,160021,0,0,0), - (36002,180019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36002,190021,0,0,0), - (36002,200019,0,0,0), - (36002,230001,0,0,0), - (36002,240003,0,0,0), - (36002,250001,0,0,0), - (36002,280019,0,0,0), - (36002,320023,0,0,0), - (36002,330016,0,0,0), - (36002,340001,0,0,0), - (36002,1000002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36002,1100016,0,0,0), - (36002,1200018,0,0,0), - (36003,160021,0,0,0), - (36003,180019,0,0,0), - (36003,190021,0,0,0), - (36003,200019,0,0,0), - (36003,230001,0,0,0), - (36003,240003,0,0,0), - (36003,250001,0,0,0), - (36003,280019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36003,320023,0,0,0), - (36003,330006,0,0,0), - (36003,340001,0,0,0), - (36003,1000020,0,0,0), - (36003,1100016,0,0,0), - (36003,1200018,0,0,0), - (36004,160047,0,0,0), - (36004,180019,0,0,0), - (36004,190021,0,0,0), - (36004,200019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36004,230002,0,0,0), - (36004,240001,0,0,0), - (36004,250001,0,0,0), - (36004,280019,0,0,0), - (36004,320023,0,0,0), - (36004,330005,0,0,0), - (36004,340001,0,0,0), - (36004,1000003,0,0,0), - (36004,1100016,0,0,0), - (36004,1200018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36005,160022,0,0,0), - (36005,180019,0,0,0), - (36005,190021,0,0,0), - (36005,200019,0,0,0), - (36005,230001,0,0,0), - (36005,240003,0,0,0), - (36005,250001,0,0,0), - (36005,280019,0,0,0), - (36005,320023,0,0,0), - (36005,330006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36005,340001,0,0,0), - (36005,1000002,0,0,0), - (36005,1100016,0,0,0), - (36005,1200018,0,0,0), - (36006,160028,0,0,0), - (36006,180018,0,0,0), - (36006,190077,0,0,0), - (36006,200042,0,0,0), - (36006,230001,0,0,0), - (36006,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36006,250001,0,0,0), - (36006,280030,0,0,0), - (36006,320040,0,0,0), - (36006,330035,0,0,0), - (36006,340002,0,0,0), - (36006,1000099,0,0,0), - (36006,1100119,0,0,0), - (36006,1200048,0,0,0), - (36007,160032,0,0,0), - (36007,180035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36007,190019,0,0,0), - (36007,200028,0,0,0), - (36007,230003,0,0,0), - (36007,240006,0,0,0), - (36007,250006,0,0,0), - (36007,280031,0,0,0), - (36007,320006,0,0,0), - (36007,330022,0,0,0), - (36007,340003,0,0,0), - (36007,1000005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36007,1100040,0,0,0), - (36007,1200029,0,0,0), - (36008,160025,0,0,0), - (36008,180030,0,0,0), - (36008,190020,0,0,0), - (36008,200004,0,0,0), - (36008,230001,0,0,0), - (36008,240001,0,0,0), - (36008,250001,0,0,0), - (36008,280018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36008,320022,0,0,0), - (36008,330003,0,0,0), - (36008,340002,0,0,0), - (36008,1000137,0,0,0), - (36008,1100005,0,0,0), - (36008,1200017,0,0,0), - (36009,160027,0,0,0), - (36009,180030,0,0,0), - (36009,190020,0,0,0), - (36009,200004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36009,230001,0,0,0), - (36009,240001,0,0,0), - (36009,250001,0,0,0), - (36009,280018,0,0,0), - (36009,320022,0,0,0), - (36009,330042,0,0,0), - (36009,340002,0,0,0), - (36009,1000137,0,0,0), - (36009,1100005,0,0,0), - (36009,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36010,160082,0,0,0), - (36010,180059,0,0,0), - (36010,190029,0,0,0), - (36010,200012,0,0,0), - (36010,230005,0,0,0), - (36010,240002,0,0,0), - (36010,250005,0,0,0), - (36010,280004,0,0,0), - (36010,320007,0,0,0), - (36010,330033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36010,340003,0,0,0), - (36010,1000006,0,0,0), - (36010,1100043,0,0,0), - (36010,1200005,0,0,0), - (36011,160048,0,0,0), - (36011,180022,0,0,0), - (36011,190068,0,0,0), - (36011,200022,0,0,0), - (36011,230001,0,0,0), - (36011,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36011,250003,0,0,0), - (36011,280022,0,0,0), - (36011,320026,0,0,0), - (36011,330020,0,0,0), - (36011,340002,0,0,0), - (36011,1000007,0,0,0), - (36011,1100019,0,0,0), - (36011,1200021,0,0,0), - (36012,160049,0,0,0), - (36012,180022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36012,190068,0,0,0), - (36012,200022,0,0,0), - (36012,230001,0,0,0), - (36012,240001,0,0,0), - (36012,250003,0,0,0), - (36012,280022,0,0,0), - (36012,320026,0,0,0), - (36012,330020,0,0,0), - (36012,340002,0,0,0), - (36012,1000008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36012,1100019,0,0,0), - (36012,1200021,0,0,0), - (36013,160013,0,0,0), - (36013,180012,0,0,0), - (36013,190014,0,0,0), - (36013,200018,0,0,0), - (36013,230001,0,0,0), - (36013,240001,0,0,0), - (36013,250002,0,0,0), - (36013,280015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36013,320021,0,0,0), - (36013,330008,0,0,0), - (36013,340002,0,0,0), - (36013,1000068,0,0,0), - (36013,1100013,0,0,0), - (36013,1200014,0,0,0), - (36014,160054,0,0,0), - (36014,180016,0,0,0), - (36014,190018,0,0,0), - (36014,200006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36014,230001,0,0,0), - (36014,240001,0,0,0), - (36014,250002,0,0,0), - (36014,280003,0,0,0), - (36014,320003,0,0,0), - (36014,330052,0,0,0), - (36014,340002,0,0,0), - (36014,1000119,0,0,0), - (36014,1100002,0,0,0), - (36014,1200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36015,160055,0,0,0), - (36015,180015,0,0,0), - (36015,190017,0,0,0), - (36015,200029,0,0,0), - (36015,230001,0,0,0), - (36015,240005,0,0,0), - (36015,250002,0,0,0), - (36015,280034,0,0,0), - (36015,320089,0,0,0), - (36015,330034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36015,340002,0,0,0), - (36015,1000113,0,0,0), - (36015,1000120,0,0,0), - (36015,1100044,0,0,0), - (36015,1200015,0,0,0), - (36016,160078,0,0,0), - (36016,180037,0,0,0), - (36016,190069,0,0,0), - (36016,200053,0,0,0), - (36016,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36016,240007,0,0,0), - (36016,250007,0,0,0), - (36016,280042,0,0,0), - (36016,320065,0,0,0), - (36016,330019,0,0,0), - (36016,340003,0,0,0), - (36016,1000011,0,0,0), - (36016,1000021,0,0,0), - (36016,1100045,0,0,0), - (36016,1200039,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36017,160057,0,0,0), - (36017,180016,0,0,0), - (36017,190018,0,0,0), - (36017,200006,0,0,0), - (36017,230001,0,0,0), - (36017,240001,0,0,0), - (36017,250002,0,0,0), - (36017,280003,0,0,0), - (36017,320003,0,0,0), - (36017,330034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36017,340002,0,0,0), - (36017,1000117,0,0,0), - (36017,1100002,0,0,0), - (36017,1200002,0,0,0), - (36018,160057,0,0,0), - (36018,180016,0,0,0), - (36018,190018,0,0,0), - (36018,200006,0,0,0), - (36018,230003,0,0,0), - (36018,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36018,250002,0,0,0), - (36018,280003,0,0,0), - (36018,320052,0,0,0), - (36018,330021,0,0,0), - (36018,340002,0,0,0), - (36018,1000012,0,0,0), - (36018,1100048,0,0,0), - (36018,1200002,0,0,0), - (36019,160010,0,0,0), - (36019,180055,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36019,190071,0,0,0), - (36019,200056,0,0,0), - (36019,230001,0,0,0), - (36019,240001,0,0,0), - (36019,250002,0,0,0), - (36019,280044,0,0,0), - (36019,320092,0,0,0), - (36019,330052,0,0,0), - (36019,340002,0,0,0), - (36019,1000154,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36019,1100112,0,0,0), - (36019,1200042,0,0,0), - (36020,160001,0,0,0), - (36020,180049,0,0,0), - (36020,190013,0,0,0), - (36020,200059,0,0,0), - (36020,230001,0,0,0), - (36020,240001,0,0,0), - (36020,250002,0,0,0), - (36020,280045,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36020,320033,0,0,0), - (36020,330034,0,0,0), - (36020,340002,0,0,0), - (36020,1000060,0,0,0), - (36020,1100113,0,0,0), - (36020,1200013,0,0,0), - (36021,160006,0,0,0), - (36021,180014,0,0,0), - (36021,190016,0,0,0), - (36021,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36021,230001,0,0,0), - (36021,240001,0,0,0), - (36021,250002,0,0,0), - (36021,280024,0,0,0), - (36021,320030,0,0,0), - (36021,330013,0,0,0), - (36021,340002,0,0,0), - (36021,1000015,0,0,0), - (36021,1100001,0,0,0), - (36021,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36022,160013,0,0,0), - (36022,180012,0,0,0), - (36022,190014,0,0,0), - (36022,200018,0,0,0), - (36022,230001,0,0,0), - (36022,240001,0,0,0), - (36022,250002,0,0,0), - (36022,280015,0,0,0), - (36022,320021,0,0,0), - (36022,330029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36022,340002,0,0,0), - (36022,1000068,0,0,0), - (36022,1100013,0,0,0), - (36022,1200014,0,0,0), - (36023,160009,0,0,0), - (36023,180014,0,0,0), - (36023,190016,0,0,0), - (36023,200002,0,0,0), - (36023,230001,0,0,0), - (36023,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36023,250002,0,0,0), - (36023,280016,0,0,0), - (36023,320020,0,0,0), - (36023,330053,0,0,0), - (36023,340002,0,0,0), - (36023,1000121,0,0,0), - (36023,1100001,0,0,0), - (36023,1200034,0,0,0), - (36024,160039,0,0,0), - (36024,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36024,190006,0,0,0), - (36024,200023,0,0,0), - (36024,230001,0,0,0), - (36024,240005,0,0,0), - (36024,250002,0,0,0), - (36024,280023,0,0,0), - (36024,320027,0,0,0), - (36024,330043,0,0,0), - (36024,340002,0,0,0), - (36024,1000018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36024,1100020,0,0,0), - (36024,1200035,0,0,0), - (36025,160014,0,0,0), - (36025,180013,0,0,0), - (36025,190015,0,0,0), - (36025,200046,0,0,0), - (36025,230003,0,0,0), - (36025,240006,0,0,0), - (36025,250002,0,0,0), - (36025,280002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36025,320031,0,0,0), - (36025,330033,0,0,0), - (36025,340003,0,0,0), - (36025,1000019,0,0,0), - (36025,1100014,0,0,0), - (36025,1200001,0,0,0), - (36026,25006,0,0,0), - (36026,160040,0,0,0), - (36026,180023,0,0,0), - (36026,190006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36026,200023,0,0,0), - (36026,200027,0,0,0), - (36026,230001,0,0,0), - (36026,240006,0,0,0), - (36026,250002,0,0,0), - (36026,280028,0,0,0), - (36026,320027,0,0,0), - (36026,330043,0,0,0), - (36026,340002,0,0,0), - (36026,1000051,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36026,1100034,0,0,0), - (36026,1200035,0,0,0), - (36027,160012,0,0,0), - (36027,180003,0,0,0), - (36027,190016,0,0,0), - (36027,200002,0,0,0), - (36027,230001,0,0,0), - (36027,240006,0,0,0), - (36027,250002,0,0,0), - (36027,280016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36027,320020,0,0,0), - (36027,330008,0,0,0), - (36027,340002,0,0,0), - (36027,1000122,0,0,0), - (36027,1100001,0,0,0), - (36027,1200034,0,0,0), - (36028,160038,0,0,0), - (36028,180026,0,0,0), - (36028,190022,0,0,0), - (36028,200020,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36028,230003,0,0,0), - (36028,240006,0,0,0), - (36028,250002,0,0,0), - (36028,280020,0,0,0), - (36028,320024,0,0,0), - (36028,330043,0,0,0), - (36028,340002,0,0,0), - (36028,1000017,0,0,0), - (36028,1100017,0,0,0), - (36028,1200019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36029,160042,0,0,0), - (36029,180028,0,0,0), - (36029,190025,0,0,0), - (36029,200027,0,0,0), - (36029,230003,0,0,0), - (36029,240005,0,0,0), - (36029,250002,0,0,0), - (36029,280029,0,0,0), - (36029,320039,0,0,0), - (36029,330043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36029,340003,0,0,0), - (36029,1000092,0,0,0), - (36029,1100037,0,0,0), - (36029,1200035,0,0,0), - (36030,160001,0,0,0), - (36030,180049,0,0,0), - (36030,190013,0,0,0), - (36030,200060,0,0,0), - (36030,230001,0,0,0), - (36030,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36030,250002,0,0,0), - (36030,280045,0,0,0), - (36030,320033,0,0,0), - (36030,330034,0,0,0), - (36030,340002,0,0,0), - (36030,1000060,0,0,0), - (36030,1100113,0,0,0), - (36030,1200013,0,0,0), - (36031,160005,0,0,0), - (36031,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36031,190016,0,0,0), - (36031,200002,0,0,0), - (36031,230002,0,0,0), - (36031,240001,0,0,0), - (36031,250002,0,0,0), - (36031,280016,0,0,0), - (36031,320020,0,0,0), - (36031,330054,0,0,0), - (36031,340001,0,0,0), - (36031,1000069,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36031,1100001,0,0,0), - (36031,1200034,0,0,0), - (36032,160005,0,0,0), - (36032,180014,0,0,0), - (36032,190016,0,0,0), - (36032,200002,0,0,0), - (36032,230002,0,0,0), - (36032,240001,0,0,0), - (36032,250002,0,0,0), - (36032,280016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36032,320020,0,0,0), - (36032,330020,0,0,0), - (36032,340001,0,0,0), - (36032,1000069,0,0,0), - (36032,1100001,0,0,0), - (36032,1200034,0,0,0), - (36033,160005,0,0,0), - (36033,180014,0,0,0), - (36033,190016,0,0,0), - (36033,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36033,230001,0,0,0), - (36033,240001,0,0,0), - (36033,250002,0,0,0), - (36033,280016,0,0,0), - (36033,320020,0,0,0), - (36033,330053,0,0,0), - (36033,340002,0,0,0), - (36033,1000069,0,0,0), - (36033,1100001,0,0,0), - (36033,1200023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36034,160006,0,0,0), - (36034,180014,0,0,0), - (36034,190016,0,0,0), - (36034,200002,0,0,0), - (36034,230001,0,0,0), - (36034,240001,0,0,0), - (36034,250002,0,0,0), - (36034,280024,0,0,0), - (36034,320020,0,0,0), - (36034,330054,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36034,340002,0,0,0), - (36034,1000123,0,0,0), - (36034,1100022,0,0,0), - (36034,1200034,0,0,0), - (36035,160006,0,0,0), - (36035,180014,0,0,0), - (36035,190016,0,0,0), - (36035,200002,0,0,0), - (36035,230001,0,0,0), - (36035,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36035,250002,0,0,0), - (36035,280024,0,0,0), - (36035,320020,0,0,0), - (36035,330056,0,0,0), - (36035,340002,0,0,0), - (36035,1000015,0,0,0), - (36035,1100022,0,0,0), - (36035,1200034,0,0,0), - (36036,160006,0,0,0), - (36036,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36036,190016,0,0,0), - (36036,200002,0,0,0), - (36036,230001,0,0,0), - (36036,240001,0,0,0), - (36036,250002,0,0,0), - (36036,280024,0,0,0), - (36036,320020,0,0,0), - (36036,330055,0,0,0), - (36036,340002,0,0,0), - (36036,1000015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36036,1100022,0,0,0), - (36036,1200034,0,0,0), - (36037,160006,0,0,0), - (36037,180014,0,0,0), - (36037,190016,0,0,0), - (36037,200002,0,0,0), - (36037,230001,0,0,0), - (36037,240001,0,0,0), - (36037,250002,0,0,0), - (36037,280024,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36037,320020,0,0,0), - (36037,330055,0,0,0), - (36037,340002,0,0,0), - (36037,1000123,0,0,0), - (36037,1100025,0,0,0), - (36037,1200034,0,0,0), - (36038,160006,0,0,0), - (36038,180014,0,0,0), - (36038,190016,0,0,0), - (36038,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36038,230001,0,0,0), - (36038,240001,0,0,0), - (36038,250002,0,0,0), - (36038,280024,0,0,0), - (36038,320030,0,0,0), - (36038,330013,0,0,0), - (36038,340002,0,0,0), - (36038,1000071,0,0,0), - (36038,1100025,0,0,0), - (36038,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36039,160006,0,0,0), - (36039,180014,0,0,0), - (36039,190016,0,0,0), - (36039,200002,0,0,0), - (36039,230001,0,0,0), - (36039,240001,0,0,0), - (36039,250002,0,0,0), - (36039,280024,0,0,0), - (36039,320030,0,0,0), - (36039,330057,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36039,340002,0,0,0), - (36039,1000071,0,0,0), - (36039,1100025,0,0,0), - (36039,1200034,0,0,0), - (36040,160006,0,0,0), - (36040,180014,0,0,0), - (36040,190016,0,0,0), - (36040,200002,0,0,0), - (36040,230001,0,0,0), - (36040,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36040,250002,0,0,0), - (36040,280024,0,0,0), - (36040,320030,0,0,0), - (36040,330057,0,0,0), - (36040,340002,0,0,0), - (36040,1000072,0,0,0), - (36040,1100022,0,0,0), - (36040,1200034,0,0,0), - (36041,160006,0,0,0), - (36041,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36041,190016,0,0,0), - (36041,200002,0,0,0), - (36041,230001,0,0,0), - (36041,240001,0,0,0), - (36041,250002,0,0,0), - (36041,280024,0,0,0), - (36041,320029,0,0,0), - (36041,330057,0,0,0), - (36041,340002,0,0,0), - (36041,1000072,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36041,1100023,0,0,0), - (36041,1200034,0,0,0), - (36042,160005,0,0,0), - (36042,180014,0,0,0), - (36042,190016,0,0,0), - (36042,200024,0,0,0), - (36042,230001,0,0,0), - (36042,240005,0,0,0), - (36042,250002,0,0,0), - (36042,280016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36042,320028,0,0,0), - (36042,330055,0,0,0), - (36042,340002,0,0,0), - (36042,1000070,0,0,0), - (36042,1100025,0,0,0), - (36042,1200023,0,0,0), - (36043,160009,0,0,0), - (36043,180014,0,0,0), - (36043,190016,0,0,0), - (36043,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36043,230001,0,0,0), - (36043,240001,0,0,0), - (36043,250002,0,0,0), - (36043,280024,0,0,0), - (36043,320020,0,0,0), - (36043,330053,0,0,0), - (36043,340002,0,0,0), - (36043,1000071,0,0,0), - (36043,1100001,0,0,0), - (36043,1200034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36044,160009,0,0,0), - (36044,180014,0,0,0), - (36044,190016,0,0,0), - (36044,200002,0,0,0), - (36044,230001,0,0,0), - (36044,240001,0,0,0), - (36044,250002,0,0,0), - (36044,280024,0,0,0), - (36044,320020,0,0,0), - (36044,330053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36044,340002,0,0,0), - (36044,1000121,0,0,0), - (36044,1100001,0,0,0), - (36044,1200034,0,0,0), - (36045,160009,0,0,0), - (36045,180014,0,0,0), - (36045,190016,0,0,0), - (36045,200002,0,0,0), - (36045,230001,0,0,0), - (36045,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36045,250002,0,0,0), - (36045,280024,0,0,0), - (36045,320020,0,0,0), - (36045,330034,0,0,0), - (36045,340002,0,0,0), - (36045,1000073,0,0,0), - (36045,1100001,0,0,0), - (36045,1200023,0,0,0), - (36046,160009,0,0,0), - (36046,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36046,190016,0,0,0), - (36046,200002,0,0,0), - (36046,230001,0,0,0), - (36046,240006,0,0,0), - (36046,250002,0,0,0), - (36046,280024,0,0,0), - (36046,320030,0,0,0), - (36046,330057,0,0,0), - (36046,340002,0,0,0), - (36046,1000073,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36046,1100025,0,0,0), - (36046,1200023,0,0,0), - (36047,160009,0,0,0), - (36047,180014,0,0,0), - (36047,190016,0,0,0), - (36047,200002,0,0,0), - (36047,230001,0,0,0), - (36047,240006,0,0,0), - (36047,250002,0,0,0), - (36047,280024,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36047,320020,0,0,0), - (36047,330034,0,0,0), - (36047,340002,0,0,0), - (36047,1000125,0,0,0), - (36047,1100001,0,0,0), - (36047,1200023,0,0,0), - (36048,160009,0,0,0), - (36048,180014,0,0,0), - (36048,190016,0,0,0), - (36048,200002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36048,230001,0,0,0), - (36048,240006,0,0,0), - (36048,250002,0,0,0), - (36048,280024,0,0,0), - (36048,320030,0,0,0), - (36048,330057,0,0,0), - (36048,340003,0,0,0), - (36048,1000125,0,0,0), - (36048,1100025,0,0,0), - (36048,1200023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36049,160007,0,0,0), - (36049,180014,0,0,0), - (36049,190016,0,0,0), - (36049,200047,0,0,0), - (36049,230003,0,0,0), - (36049,240008,0,0,0), - (36049,250002,0,0,0), - (36049,280024,0,0,0), - (36049,320029,0,0,0), - (36049,330025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36049,340003,0,0,0), - (36049,1000125,0,0,0), - (36049,1100024,0,0,0), - (36049,1100025,0,0,0), - (36049,1200023,0,0,0), - (36050,160012,0,0,0), - (36050,180014,0,0,0), - (36050,190016,0,0,0), - (36050,200002,0,0,0), - (36050,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36050,240006,0,0,0), - (36050,250002,0,0,0), - (36050,280016,0,0,0), - (36050,320020,0,0,0), - (36050,330018,0,0,0), - (36050,340002,0,0,0), - (36050,1000122,0,0,0), - (36050,1100001,0,0,0), - (36050,1200034,0,0,0), - (36051,160012,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36051,180003,0,0,0), - (36051,190016,0,0,0), - (36051,200002,0,0,0), - (36051,230001,0,0,0), - (36051,240006,0,0,0), - (36051,250002,0,0,0), - (36051,280016,0,0,0), - (36051,320020,0,0,0), - (36051,330056,0,0,0), - (36051,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36051,1000074,0,0,0), - (36051,1100001,0,0,0), - (36051,1200034,0,0,0), - (36052,160012,0,0,0), - (36052,180003,0,0,0), - (36052,190016,0,0,0), - (36052,200002,0,0,0), - (36052,230001,0,0,0), - (36052,240006,0,0,0), - (36052,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36052,280016,0,0,0), - (36052,320020,0,0,0), - (36052,330018,0,0,0), - (36052,340002,0,0,0), - (36052,1000072,0,0,0), - (36052,1100025,0,0,0), - (36052,1200034,0,0,0), - (36053,160012,0,0,0), - (36053,180014,0,0,0), - (36053,190016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36053,200047,0,0,0), - (36053,230003,0,0,0), - (36053,240006,0,0,0), - (36053,250002,0,0,0), - (36053,280016,0,0,0), - (36053,320030,0,0,0), - (36053,330025,0,0,0), - (36053,340003,0,0,0), - (36053,1000125,0,0,0), - (36053,1100025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36053,1200023,0,0,0), - (36054,160012,0,0,0), - (36054,180014,0,0,0), - (36054,190016,0,0,0), - (36054,200047,0,0,0), - (36054,230003,0,0,0), - (36054,240006,0,0,0), - (36054,250002,0,0,0), - (36054,280038,0,0,0), - (36054,320029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36054,330025,0,0,0), - (36054,340003,0,0,0), - (36054,1000125,0,0,0), - (36054,1100025,0,0,0), - (36054,1200023,0,0,0), - (36055,160015,0,0,0), - (36055,180001,0,0,0), - (36055,190066,0,0,0), - (36055,200002,0,0,0), - (36055,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36055,240001,0,0,0), - (36055,250002,0,0,0), - (36055,280016,0,0,0), - (36055,320020,0,0,0), - (36055,330008,0,0,0), - (36055,340002,0,0,0), - (36055,1000074,0,0,0), - (36055,1100001,0,0,0), - (36055,1200034,0,0,0), - (36056,160011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36056,180062,0,0,0), - (36056,190067,0,0,0), - (36056,200048,0,0,0), - (36056,230001,0,0,0), - (36056,240001,0,0,0), - (36056,250002,0,0,0), - (36056,280051,0,0,0), - (36056,320100,0,0,0), - (36056,330056,0,0,0), - (36056,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36056,1000057,0,0,0), - (36056,1100120,0,0,0), - (36056,1200049,0,0,0), - (36057,160011,0,0,0), - (36057,180062,0,0,0), - (36057,190067,0,0,0), - (36057,200048,0,0,0), - (36057,230001,0,0,0), - (36057,240001,0,0,0), - (36057,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36057,280051,0,0,0), - (36057,320100,0,0,0), - (36057,330030,0,0,0), - (36057,340002,0,0,0), - (36057,1000057,0,0,0), - (36057,1100120,0,0,0), - (36057,1200049,0,0,0), - (36058,160011,0,0,0), - (36058,180062,0,0,0), - (36058,190067,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36058,200030,0,0,0), - (36058,230001,0,0,0), - (36058,240006,0,0,0), - (36058,250002,0,0,0), - (36058,280051,0,0,0), - (36058,320101,0,0,0), - (36058,330018,0,0,0), - (36058,340002,0,0,0), - (36058,1000057,0,0,0), - (36058,1100121,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36058,1200049,0,0,0), - (36059,160011,0,0,0), - (36059,180062,0,0,0), - (36059,190067,0,0,0), - (36059,200030,0,0,0), - (36059,230001,0,0,0), - (36059,240006,0,0,0), - (36059,250002,0,0,0), - (36059,280052,0,0,0), - (36059,320101,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36059,330043,0,0,0), - (36059,340002,0,0,0), - (36059,1000057,0,0,0), - (36059,1100121,0,0,0), - (36059,1200049,0,0,0), - (36060,160011,0,0,0), - (36060,180062,0,0,0), - (36060,190067,0,0,0), - (36060,200030,0,0,0), - (36060,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36060,240005,0,0,0), - (36060,250002,0,0,0), - (36060,280052,0,0,0), - (36060,320101,0,0,0), - (36060,330030,0,0,0), - (36060,340002,0,0,0), - (36060,1000057,0,0,0), - (36060,1100121,0,0,0), - (36060,1200049,0,0,0), - (36061,160011,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36061,180062,0,0,0), - (36061,190067,0,0,0), - (36061,200049,0,0,0), - (36061,230001,0,0,0), - (36061,240006,0,0,0), - (36061,250002,0,0,0), - (36061,280052,0,0,0), - (36061,320101,0,0,0), - (36061,330008,0,0,0), - (36061,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36061,1000057,0,0,0), - (36061,1100121,0,0,0), - (36061,1200049,0,0,0), - (36062,160011,0,0,0), - (36062,180062,0,0,0), - (36062,190067,0,0,0), - (36062,200049,0,0,0), - (36062,230001,0,0,0), - (36062,240006,0,0,0), - (36062,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36062,280052,0,0,0), - (36062,320101,0,0,0), - (36062,330030,0,0,0), - (36062,340002,0,0,0), - (36062,1000057,0,0,0), - (36062,1100121,0,0,0), - (36062,1200050,0,0,0), - (36063,160011,0,0,0), - (36063,180062,0,0,0), - (36063,190015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36063,200049,0,0,0), - (36063,230001,0,0,0), - (36063,240006,0,0,0), - (36063,250002,0,0,0), - (36063,280052,0,0,0), - (36063,320101,0,0,0), - (36063,330043,0,0,0), - (36063,340002,0,0,0), - (36063,1000022,0,0,0), - (36063,1100120,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36063,1200050,0,0,0), - (36064,160011,0,0,0), - (36064,180062,0,0,0), - (36064,190067,0,0,0), - (36064,200049,0,0,0), - (36064,230001,0,0,0), - (36064,240005,0,0,0), - (36064,250002,0,0,0), - (36064,280052,0,0,0), - (36064,320100,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36064,330030,0,0,0), - (36064,340002,0,0,0), - (36064,1000057,0,0,0), - (36064,1100121,0,0,0), - (36064,1200050,0,0,0), - (36065,160016,0,0,0), - (36065,180062,0,0,0), - (36065,190067,0,0,0), - (36065,200049,0,0,0), - (36065,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36065,240005,0,0,0), - (36065,250002,0,0,0), - (36065,280052,0,0,0), - (36065,320101,0,0,0), - (36065,330043,0,0,0), - (36065,340002,0,0,0), - (36065,1000022,0,0,0), - (36065,1100121,0,0,0), - (36065,1200050,0,0,0), - (36066,160016,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36066,180062,0,0,0), - (36066,190067,0,0,0), - (36066,200030,0,0,0), - (36066,230001,0,0,0), - (36066,240005,0,0,0), - (36066,250002,0,0,0), - (36066,280052,0,0,0), - (36066,320101,0,0,0), - (36066,330017,0,0,0), - (36066,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36066,1000126,0,0,0), - (36066,1100121,0,0,0), - (36066,1200050,0,0,0), - (36067,160016,0,0,0), - (36067,180062,0,0,0), - (36067,190067,0,0,0), - (36067,200030,0,0,0), - (36067,230001,0,0,0), - (36067,240005,0,0,0), - (36067,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36067,280052,0,0,0), - (36067,320101,0,0,0), - (36067,330019,0,0,0), - (36067,340002,0,0,0), - (36067,1000126,0,0,0), - (36067,1100121,0,0,0), - (36067,1200050,0,0,0), - (36068,160016,0,0,0), - (36068,180062,0,0,0), - (36068,190067,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36068,200050,0,0,0), - (36068,230001,0,0,0), - (36068,240005,0,0,0), - (36068,250002,0,0,0), - (36068,280052,0,0,0), - (36068,320100,0,0,0), - (36068,330043,0,0,0), - (36068,340002,0,0,0), - (36068,1000022,0,0,0), - (36068,1100121,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36068,1200050,0,0,0), - (36069,160016,0,0,0), - (36069,180062,0,0,0), - (36069,190067,0,0,0), - (36069,200030,0,0,0), - (36069,230001,0,0,0), - (36069,240005,0,0,0), - (36069,250002,0,0,0), - (36069,280052,0,0,0), - (36069,320101,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36069,330043,0,0,0), - (36069,340002,0,0,0), - (36069,1000126,0,0,0), - (36069,1100121,0,0,0), - (36069,1200050,0,0,0), - (36070,160004,0,0,0), - (36070,180062,0,0,0), - (36070,190067,0,0,0), - (36070,200008,0,0,0), - (36070,230004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36070,240005,0,0,0), - (36070,250002,0,0,0), - (36070,280005,0,0,0), - (36070,320010,0,0,0), - (36070,330019,0,0,0), - (36070,340003,0,0,0), - (36070,1000126,0,0,0), - (36070,1100122,0,0,0), - (36070,1200050,0,0,0), - (36071,160014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36071,180002,0,0,0), - (36071,190015,0,0,0), - (36071,200003,0,0,0), - (36071,230003,0,0,0), - (36071,240006,0,0,0), - (36071,250002,0,0,0), - (36071,280002,0,0,0), - (36071,320002,0,0,0), - (36071,330018,0,0,0), - (36071,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36071,1000075,0,0,0), - (36071,1100014,0,0,0), - (36071,1200001,0,0,0), - (36072,160014,0,0,0), - (36072,180002,0,0,0), - (36072,190015,0,0,0), - (36072,200046,0,0,0), - (36072,230003,0,0,0), - (36072,240006,0,0,0), - (36072,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36072,280006,0,0,0), - (36072,320002,0,0,0), - (36072,330004,0,0,0), - (36072,340002,0,0,0), - (36072,1000075,0,0,0), - (36072,1100026,0,0,0), - (36072,1200001,0,0,0), - (36073,160014,0,0,0), - (36073,180013,0,0,0), - (36073,190015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36073,200046,0,0,0), - (36073,230003,0,0,0), - (36073,240006,0,0,0), - (36073,250002,0,0,0), - (36073,280006,0,0,0), - (36073,320031,0,0,0), - (36073,330033,0,0,0), - (36073,340003,0,0,0), - (36073,1000023,0,0,0), - (36073,1100025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36073,1200024,0,0,0), - (36074,160014,0,0,0), - (36074,180002,0,0,0), - (36074,190015,0,0,0), - (36074,200046,0,0,0), - (36074,230003,0,0,0), - (36074,240006,0,0,0), - (36074,250002,0,0,0), - (36074,280006,0,0,0), - (36074,320002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36074,330033,0,0,0), - (36074,340003,0,0,0), - (36074,1000075,0,0,0), - (36074,1100026,0,0,0), - (36074,1200001,0,0,0), - (36075,160087,0,0,0), - (36075,180002,0,0,0), - (36075,190015,0,0,0), - (36075,200003,0,0,0), - (36075,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36075,240005,0,0,0), - (36075,250002,0,0,0), - (36075,280006,0,0,0), - (36075,320002,0,0,0), - (36075,330043,0,0,0), - (36075,340002,0,0,0), - (36075,1000127,0,0,0), - (36075,1100025,0,0,0), - (36075,1200001,0,0,0), - (36076,160087,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36076,180013,0,0,0), - (36076,190015,0,0,0), - (36076,200046,0,0,0), - (36076,230001,0,0,0), - (36076,240005,0,0,0), - (36076,250002,0,0,0), - (36076,280006,0,0,0), - (36076,320009,0,0,0), - (36076,330027,0,0,0), - (36076,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36076,1000023,0,0,0), - (36076,1100026,0,0,0), - (36076,1200024,0,0,0), - (36077,160087,0,0,0), - (36077,180002,0,0,0), - (36077,190015,0,0,0), - (36077,200046,0,0,0), - (36077,230001,0,0,0), - (36077,240005,0,0,0), - (36077,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36077,280006,0,0,0), - (36077,320002,0,0,0), - (36077,330014,0,0,0), - (36077,340002,0,0,0), - (36077,1000127,0,0,0), - (36077,1100026,0,0,0), - (36077,1200001,0,0,0), - (36078,160087,0,0,0), - (36078,180013,0,0,0), - (36078,190015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36078,200046,0,0,0), - (36078,230003,0,0,0), - (36078,240007,0,0,0), - (36078,250002,0,0,0), - (36078,280006,0,0,0), - (36078,320031,0,0,0), - (36078,330027,0,0,0), - (36078,340003,0,0,0), - (36078,1000024,0,0,0), - (36078,1100026,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36078,1200024,0,0,0), - (36079,160087,0,0,0), - (36079,180013,0,0,0), - (36079,190015,0,0,0), - (36079,200046,0,0,0), - (36079,230003,0,0,0), - (36079,240007,0,0,0), - (36079,250002,0,0,0), - (36079,280006,0,0,0), - (36079,320009,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36079,330014,0,0,0), - (36079,340003,0,0,0), - (36079,1000025,0,0,0), - (36079,1100026,0,0,0), - (36079,1200024,0,0,0), - (36080,160087,0,0,0), - (36080,180013,0,0,0), - (36080,190015,0,0,0), - (36080,200046,0,0,0), - (36080,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36080,240007,0,0,0), - (36080,250002,0,0,0), - (36080,280006,0,0,0), - (36080,320009,0,0,0), - (36080,330014,0,0,0), - (36080,340003,0,0,0), - (36080,1000023,0,0,0), - (36080,1100026,0,0,0), - (36080,1200024,0,0,0), - (36081,160072,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36081,180002,0,0,0), - (36081,190015,0,0,0), - (36081,200003,0,0,0), - (36081,230003,0,0,0), - (36081,240006,0,0,0), - (36081,250002,0,0,0), - (36081,280002,0,0,0), - (36081,320002,0,0,0), - (36081,330018,0,0,0), - (36081,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36081,1000075,0,0,0), - (36081,1100014,0,0,0), - (36081,1200001,0,0,0), - (36082,160017,0,0,0), - (36082,180002,0,0,0), - (36082,190015,0,0,0), - (36082,200046,0,0,0), - (36082,230001,0,0,0), - (36082,240005,0,0,0), - (36082,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36082,280002,0,0,0), - (36082,320002,0,0,0), - (36082,330043,0,0,0), - (36082,340002,0,0,0), - (36082,1000075,0,0,0), - (36082,1100026,0,0,0), - (36082,1200001,0,0,0), - (36083,160017,0,0,0), - (36083,180002,0,0,0), - (36083,190015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36083,200046,0,0,0), - (36083,230003,0,0,0), - (36083,240005,0,0,0), - (36083,250002,0,0,0), - (36083,280006,0,0,0), - (36083,320002,0,0,0), - (36083,330043,0,0,0), - (36083,340003,0,0,0), - (36083,1000075,0,0,0), - (36083,1100026,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36083,1200001,0,0,0), - (36084,160017,0,0,0), - (36084,180002,0,0,0), - (36084,190015,0,0,0), - (36084,200046,0,0,0), - (36084,230003,0,0,0), - (36084,240005,0,0,0), - (36084,250002,0,0,0), - (36084,280006,0,0,0), - (36084,320002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36084,330043,0,0,0), - (36084,340003,0,0,0), - (36084,1000075,0,0,0), - (36084,1100026,0,0,0), - (36084,1200024,0,0,0), - (36085,160017,0,0,0), - (36085,180002,0,0,0), - (36085,190015,0,0,0), - (36085,200046,0,0,0), - (36085,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36085,240007,0,0,0), - (36085,250002,0,0,0), - (36085,280006,0,0,0), - (36085,320032,0,0,0), - (36085,330025,0,0,0), - (36085,340003,0,0,0), - (36085,1000077,0,0,0), - (36085,1100026,0,0,0), - (36085,1200024,0,0,0), - (36086,160017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36086,180002,0,0,0), - (36086,190015,0,0,0), - (36086,200051,0,0,0), - (36086,230003,0,0,0), - (36086,240007,0,0,0), - (36086,250002,0,0,0), - (36086,280006,0,0,0), - (36086,320032,0,0,0), - (36086,330025,0,0,0), - (36086,340003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36086,1000025,0,0,0), - (36086,1100026,0,0,0), - (36086,1200024,0,0,0), - (36087,160017,0,0,0), - (36087,180013,0,0,0), - (36087,190015,0,0,0), - (36087,200051,0,0,0), - (36087,230003,0,0,0), - (36087,240007,0,0,0), - (36087,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36087,280006,0,0,0), - (36087,320031,0,0,0), - (36087,330027,0,0,0), - (36087,340003,0,0,0), - (36087,1000025,0,0,0), - (36087,1100027,0,0,0), - (36087,1200024,0,0,0), - (36088,160038,0,0,0), - (36088,180025,0,0,0), - (36088,190022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36088,200020,0,0,0), - (36088,230001,0,0,0), - (36088,240001,0,0,0), - (36088,250002,0,0,0), - (36088,280020,0,0,0), - (36088,320024,0,0,0), - (36088,330058,0,0,0), - (36088,340002,0,0,0), - (36088,1000081,0,0,0), - (36088,1100017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36088,1200019,0,0,0), - (36089,160038,0,0,0), - (36089,180026,0,0,0), - (36089,190022,0,0,0), - (36089,200020,0,0,0), - (36089,230003,0,0,0), - (36089,240006,0,0,0), - (36089,250002,0,0,0), - (36089,280027,0,0,0), - (36089,320024,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36089,330043,0,0,0), - (36089,340002,0,0,0), - (36089,1000017,0,0,0), - (36089,1100098,0,0,0), - (36089,1200019,0,0,0), - (36090,160038,0,0,0), - (36090,180026,0,0,0), - (36090,190022,0,0,0), - (36090,200020,0,0,0), - (36090,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36090,240006,0,0,0), - (36090,250002,0,0,0), - (36090,280027,0,0,0), - (36090,320024,0,0,0), - (36090,330043,0,0,0), - (36090,340002,0,0,0), - (36090,1000017,0,0,0), - (36090,1100098,0,0,0), - (36090,1200019,0,0,0), - (36091,160038,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36091,180026,0,0,0), - (36091,190022,0,0,0), - (36091,200020,0,0,0), - (36091,230003,0,0,0), - (36091,240006,0,0,0), - (36091,250002,0,0,0), - (36091,280027,0,0,0), - (36091,320024,0,0,0), - (36091,330043,0,0,0), - (36091,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36091,1000017,0,0,0), - (36091,1100098,0,0,0), - (36091,1200019,0,0,0), - (36092,160038,0,0,0), - (36092,180026,0,0,0), - (36092,190022,0,0,0), - (36092,200020,0,0,0), - (36092,230003,0,0,0), - (36092,240006,0,0,0), - (36092,250002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36092,280027,0,0,0), - (36092,320024,0,0,0), - (36092,330043,0,0,0), - (36092,340002,0,0,0), - (36092,1000017,0,0,0), - (36092,1100098,0,0,0), - (36092,1200019,0,0,0), - (36093,160037,0,0,0), - (36093,180020,0,0,0), - (36093,190022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36093,200020,0,0,0), - (36093,230001,0,0,0), - (36093,240001,0,0,0), - (36093,250002,0,0,0), - (36093,280027,0,0,0), - (36093,320024,0,0,0), - (36093,330018,0,0,0), - (36093,340002,0,0,0), - (36093,1000017,0,0,0), - (36093,1100098,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36093,1200019,0,0,0), - (36094,160037,0,0,0), - (36094,180020,0,0,0), - (36094,190022,0,0,0), - (36094,200052,0,0,0), - (36094,230001,0,0,0), - (36094,240001,0,0,0), - (36094,250002,0,0,0), - (36094,280027,0,0,0), - (36094,320024,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36094,330043,0,0,0), - (36094,340002,0,0,0), - (36094,1000017,0,0,0), - (36094,1100098,0,0,0), - (36094,1200019,0,0,0), - (36095,160037,0,0,0), - (36095,180020,0,0,0), - (36095,190022,0,0,0), - (36095,200052,0,0,0), - (36095,230001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36095,240001,0,0,0), - (36095,250002,0,0,0), - (36095,280027,0,0,0), - (36095,320024,0,0,0), - (36095,330030,0,0,0), - (36095,340002,0,0,0), - (36095,1000017,0,0,0), - (36095,1100098,0,0,0), - (36095,1200019,0,0,0), - (36096,160037,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36096,180020,0,0,0), - (36096,190022,0,0,0), - (36096,200020,0,0,0), - (36096,230001,0,0,0), - (36096,240001,0,0,0), - (36096,250002,0,0,0), - (36096,280020,0,0,0), - (36096,320024,0,0,0), - (36096,330018,0,0,0), - (36096,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36096,1000017,0,0,0), - (36096,1100017,0,0,0), - (36096,1200019,0,0,0), - (36097,25007,0,0,0), - (36097,160037,0,0,0), - (36097,180020,0,0,0), - (36097,190022,0,0,0), - (36097,200052,0,0,0), - (36097,230003,0,0,0), - (36097,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36097,250002,0,0,0), - (36097,280027,0,0,0), - (36097,320037,0,0,0), - (36097,330043,0,0,0), - (36097,340002,0,0,0), - (36097,1000017,0,0,0), - (36097,1100032,0,0,0), - (36097,1200019,0,0,0), - (36098,160039,0,0,0), - (36098,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36098,190025,0,0,0), - (36098,200023,0,0,0), - (36098,230001,0,0,0), - (36098,240001,0,0,0), - (36098,250002,0,0,0), - (36098,280023,0,0,0), - (36098,320027,0,0,0), - (36098,330058,0,0,0), - (36098,340002,0,0,0), - (36098,1000084,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36098,1100020,0,0,0), - (36098,1200035,0,0,0), - (36099,160039,0,0,0), - (36099,180023,0,0,0), - (36099,190025,0,0,0), - (36099,200023,0,0,0), - (36099,230001,0,0,0), - (36099,240001,0,0,0), - (36099,250002,0,0,0), - (36099,280023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36099,320027,0,0,0), - (36099,330058,0,0,0), - (36099,340002,0,0,0), - (36099,1000084,0,0,0), - (36099,1100099,0,0,0), - (36099,1200035,0,0,0), - (36100,160039,0,0,0), - (36100,180023,0,0,0), - (36100,190025,0,0,0), - (36100,200023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36100,230001,0,0,0), - (36100,240001,0,0,0), - (36100,250002,0,0,0), - (36100,280023,0,0,0), - (36100,320027,0,0,0), - (36100,330008,0,0,0), - (36100,340002,0,0,0), - (36100,1000084,0,0,0), - (36100,1100099,0,0,0), - (36100,1200035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36101,160039,0,0,0), - (36101,180023,0,0,0), - (36101,190025,0,0,0), - (36101,200023,0,0,0), - (36101,230001,0,0,0), - (36101,240001,0,0,0), - (36101,250002,0,0,0), - (36101,280023,0,0,0), - (36101,320027,0,0,0), - (36101,330059,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36101,340002,0,0,0), - (36101,1000085,0,0,0), - (36101,1100099,0,0,0), - (36101,1200035,0,0,0), - (36102,160039,0,0,0), - (36102,180023,0,0,0), - (36102,190025,0,0,0), - (36102,200023,0,0,0), - (36102,230001,0,0,0), - (36102,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36102,250002,0,0,0), - (36102,280023,0,0,0), - (36102,320027,0,0,0), - (36102,330060,0,0,0), - (36102,340002,0,0,0), - (36102,1000128,0,0,0), - (36102,1100099,0,0,0), - (36102,1200035,0,0,0), - (36103,160039,0,0,0), - (36103,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36103,190025,0,0,0), - (36103,200023,0,0,0), - (36103,230001,0,0,0), - (36103,240001,0,0,0), - (36103,250002,0,0,0), - (36103,280039,0,0,0), - (36103,320027,0,0,0), - (36103,330060,0,0,0), - (36103,340002,0,0,0), - (36103,1000085,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36103,1100100,0,0,0), - (36103,1200035,0,0,0), - (36104,160039,0,0,0), - (36104,180023,0,0,0), - (36104,190025,0,0,0), - (36104,200023,0,0,0), - (36104,230001,0,0,0), - (36104,240001,0,0,0), - (36104,250002,0,0,0), - (36104,280039,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36104,320027,0,0,0), - (36104,330030,0,0,0), - (36104,340002,0,0,0), - (36104,1000085,0,0,0), - (36104,1100100,0,0,0), - (36104,1200035,0,0,0), - (36105,160039,0,0,0), - (36105,180027,0,0,0), - (36105,190025,0,0,0), - (36105,200027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36105,230001,0,0,0), - (36105,240001,0,0,0), - (36105,250002,0,0,0), - (36105,280039,0,0,0), - (36105,320090,0,0,0), - (36105,330060,0,0,0), - (36105,340002,0,0,0), - (36105,1000037,0,0,0), - (36105,1100033,0,0,0), - (36105,1200035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36106,160039,0,0,0), - (36106,180027,0,0,0), - (36106,190025,0,0,0), - (36106,200027,0,0,0), - (36106,230001,0,0,0), - (36106,240005,0,0,0), - (36106,250002,0,0,0), - (36106,280039,0,0,0), - (36106,320090,0,0,0), - (36106,330030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36106,340002,0,0,0), - (36106,1000085,0,0,0), - (36106,1100033,0,0,0), - (36106,1200035,0,0,0), - (36107,160039,0,0,0), - (36107,180023,0,0,0), - (36107,190025,0,0,0), - (36107,200023,0,0,0), - (36107,230001,0,0,0), - (36107,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36107,250002,0,0,0), - (36107,280039,0,0,0), - (36107,320027,0,0,0), - (36107,330030,0,0,0), - (36107,340002,0,0,0), - (36107,1000018,0,0,0), - (36107,1100100,0,0,0), - (36107,1200035,0,0,0), - (36108,160039,0,0,0), - (36108,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36108,190025,0,0,0), - (36108,200023,0,0,0), - (36108,230001,0,0,0), - (36108,240001,0,0,0), - (36108,250002,0,0,0), - (36108,280039,0,0,0), - (36108,320027,0,0,0), - (36108,330060,0,0,0), - (36108,340002,0,0,0), - (36108,1000018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36108,1100100,0,0,0), - (36108,1200035,0,0,0), - (36109,160039,0,0,0), - (36109,180027,0,0,0), - (36109,190025,0,0,0), - (36109,200027,0,0,0), - (36109,230003,0,0,0), - (36109,240005,0,0,0), - (36109,250002,0,0,0), - (36109,280039,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36109,320090,0,0,0), - (36109,330030,0,0,0), - (36109,340003,0,0,0), - (36109,1000129,0,0,0), - (36109,1100033,0,0,0), - (36109,1200037,0,0,0), - (36110,160070,0,0,0), - (36110,180029,0,0,0), - (36110,190025,0,0,0), - (36110,200027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36110,230003,0,0,0), - (36110,240005,0,0,0), - (36110,250002,0,0,0), - (36110,280029,0,0,0), - (36110,320039,0,0,0), - (36110,330055,0,0,0), - (36110,340002,0,0,0), - (36110,1000086,0,0,0), - (36110,1100037,0,0,0), - (36110,1200037,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36111,160070,0,0,0), - (36111,180029,0,0,0), - (36111,190025,0,0,0), - (36111,200027,0,0,0), - (36111,230001,0,0,0), - (36111,240005,0,0,0), - (36111,250002,0,0,0), - (36111,280023,0,0,0), - (36111,320027,0,0,0), - (36111,330060,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36111,340002,0,0,0), - (36111,1000130,0,0,0), - (36111,1100020,0,0,0), - (36111,1200035,0,0,0), - (36112,160070,0,0,0), - (36112,180029,0,0,0), - (36112,190025,0,0,0), - (36112,200027,0,0,0), - (36112,230003,0,0,0), - (36112,240007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36112,250002,0,0,0), - (36112,280029,0,0,0), - (36112,320039,0,0,0), - (36112,330017,0,0,0), - (36112,340002,0,0,0), - (36112,1000087,0,0,0), - (36112,1100037,0,0,0), - (36112,1200037,0,0,0), - (36113,160070,0,0,0), - (36113,180029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36113,190025,0,0,0), - (36113,200027,0,0,0), - (36113,230003,0,0,0), - (36113,240005,0,0,0), - (36113,250002,0,0,0), - (36113,280029,0,0,0), - (36113,320027,0,0,0), - (36113,330060,0,0,0), - (36113,340002,0,0,0), - (36113,1000088,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36113,1100036,0,0,0), - (36113,1200035,0,0,0), - (36114,160070,0,0,0), - (36114,180029,0,0,0), - (36114,190025,0,0,0), - (36114,200027,0,0,0), - (36114,230003,0,0,0), - (36114,240005,0,0,0), - (36114,250002,0,0,0), - (36114,280029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36114,320027,0,0,0), - (36114,330030,0,0,0), - (36114,340002,0,0,0), - (36114,1000130,0,0,0), - (36114,1100036,0,0,0), - (36114,1200035,0,0,0), - (36115,160070,0,0,0), - (36115,180029,0,0,0), - (36115,190025,0,0,0), - (36115,200027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36115,230003,0,0,0), - (36115,240005,0,0,0), - (36115,250002,0,0,0), - (36115,280029,0,0,0), - (36115,320039,0,0,0), - (36115,330025,0,0,0), - (36115,340002,0,0,0), - (36115,1000049,0,0,0), - (36115,1100037,0,0,0), - (36115,1200035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36116,160070,0,0,0), - (36116,180029,0,0,0), - (36116,190025,0,0,0), - (36116,200027,0,0,0), - (36116,230003,0,0,0), - (36116,240005,0,0,0), - (36116,250002,0,0,0), - (36116,280029,0,0,0), - (36116,320039,0,0,0), - (36116,330017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36116,340002,0,0,0), - (36116,1000050,0,0,0), - (36116,1100037,0,0,0), - (36116,1200037,0,0,0), - (36117,160040,0,0,0), - (36117,180023,0,0,0), - (36117,190006,0,0,0), - (36117,200023,0,0,0), - (36117,230001,0,0,0), - (36117,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36117,250002,0,0,0), - (36117,280023,0,0,0), - (36117,320027,0,0,0), - (36117,330059,0,0,0), - (36117,340002,0,0,0), - (36117,1000084,0,0,0), - (36117,1100020,0,0,0), - (36117,1200035,0,0,0), - (36118,160040,0,0,0), - (36118,180023,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36118,190006,0,0,0), - (36118,200006,0,0,0), - (36118,200023,0,0,0), - (36118,230003,0,0,0), - (36118,240005,0,0,0), - (36118,250002,0,0,0), - (36118,280023,0,0,0), - (36118,320027,0,0,0), - (36118,330043,0,0,0), - (36118,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36118,1000016,0,0,0), - (36118,1100020,0,0,0), - (36118,1200037,0,0,0), - (36119,25006,0,0,0), - (36119,160040,0,0,0), - (36119,180027,0,0,0), - (36119,190025,0,0,0), - (36119,200027,0,0,0), - (36119,230003,0,0,0), - (36119,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36119,250002,0,0,0), - (36119,280028,0,0,0), - (36119,320027,0,0,0), - (36119,330018,0,0,0), - (36119,340002,0,0,0), - (36119,1000016,0,0,0), - (36119,1100034,0,0,0), - (36119,1200035,0,0,0), - (36120,25006,0,0,0), - (36120,160040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36120,180027,0,0,0), - (36120,190025,0,0,0), - (36120,200023,0,0,0), - (36120,230003,0,0,0), - (36120,240006,0,0,0), - (36120,250002,0,0,0), - (36120,280028,0,0,0), - (36120,320027,0,0,0), - (36120,330018,0,0,0), - (36120,340002,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36120,1000051,0,0,0), - (36120,1100034,0,0,0), - (36120,1200035,0,0,0), - (36121,25006,0,0,0), - (36121,160040,0,0,0), - (36121,180027,0,0,0), - (36121,190025,0,0,0), - (36121,200009,0,0,0), - (36121,230003,0,0,0), - (36121,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36121,250002,0,0,0), - (36121,280028,0,0,0), - (36121,320038,0,0,0), - (36121,330043,0,0,0), - (36121,340002,0,0,0), - (36121,1000129,0,0,0), - (36121,1100035,0,0,0), - (36121,1200035,0,0,0), - (36122,160042,0,0,0), - (36122,180028,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36122,190025,0,0,0), - (36122,200027,0,0,0), - (36122,230003,0,0,0), - (36122,240005,0,0,0), - (36122,250002,0,0,0), - (36122,280023,0,0,0), - (36122,320027,0,0,0), - (36122,330043,0,0,0), - (36122,340002,0,0,0), - (36122,1000091,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36122,1100020,0,0,0), - (36122,1200035,0,0,0), - (36123,160042,0,0,0), - (36123,180028,0,0,0), - (36123,190025,0,0,0), - (36123,200027,0,0,0), - (36123,230001,0,0,0), - (36123,240008,0,0,0), - (36123,250002,0,0,0), - (36123,280029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36123,320027,0,0,0), - (36123,330043,0,0,0), - (36123,340002,0,0,0), - (36123,1000090,0,0,0), - (36123,1100037,0,0,0), - (36123,1200035,0,0,0), - (36124,160042,0,0,0), - (36124,180028,0,0,0), - (36124,190025,0,0,0), - (36124,200027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36124,230001,0,0,0), - (36124,240005,0,0,0), - (36124,250002,0,0,0), - (36124,280029,0,0,0), - (36124,320039,0,0,0), - (36124,330043,0,0,0), - (36124,340002,0,0,0), - (36124,1000092,0,0,0), - (36124,1100037,0,0,0), - (36124,1200035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36125,160042,0,0,0), - (36125,180028,0,0,0), - (36125,190025,0,0,0), - (36125,200027,0,0,0), - (36125,230003,0,0,0), - (36125,240005,0,0,0), - (36125,250002,0,0,0), - (36125,280029,0,0,0), - (36125,320027,0,0,0), - (36125,330018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36125,340002,0,0,0), - (36125,1000092,0,0,0), - (36125,1100037,0,0,0), - (36125,1200035,0,0,0), - (36126,160026,0,0,0), - (36126,180018,0,0,0), - (36126,190077,0,0,0), - (36126,200066,0,0,0), - (36126,230001,0,0,0), - (36126,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36126,250001,0,0,0), - (36126,280050,0,0,0), - (36126,320098,0,0,0), - (36126,330024,0,0,0), - (36126,340002,0,0,0), - (36126,1000095,0,0,0), - (36126,1100119,0,0,0), - (36126,1200048,0,0,0), - (36127,160026,0,0,0), - (36127,180018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36127,190077,0,0,0), - (36127,200066,0,0,0), - (36127,230001,0,0,0), - (36127,240001,0,0,0), - (36127,250001,0,0,0), - (36127,280050,0,0,0), - (36127,320098,0,0,0), - (36127,330035,0,0,0), - (36127,340002,0,0,0), - (36127,1000094,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36127,1100119,0,0,0), - (36127,1200048,0,0,0), - (36128,160026,0,0,0), - (36128,180018,0,0,0), - (36128,190077,0,0,0), - (36128,200066,0,0,0), - (36128,230001,0,0,0), - (36128,240001,0,0,0), - (36128,250001,0,0,0), - (36128,280050,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36128,320098,0,0,0), - (36128,330035,0,0,0), - (36128,340002,0,0,0), - (36128,1000001,0,0,0), - (36128,1100119,0,0,0), - (36128,1200048,0,0,0), - (36129,160028,0,0,0), - (36129,180018,0,0,0), - (36129,190020,0,0,0), - (36129,200066,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36129,230001,0,0,0), - (36129,240001,0,0,0), - (36129,250001,0,0,0), - (36129,280050,0,0,0), - (36129,320098,0,0,0), - (36129,330035,0,0,0), - (36129,340002,0,0,0), - (36129,1000096,0,0,0), - (36129,1100119,0,0,0), - (36129,1200048,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36130,160028,0,0,0), - (36130,180018,0,0,0), - (36130,190077,0,0,0), - (36130,200066,0,0,0), - (36130,230001,0,0,0), - (36130,240001,0,0,0), - (36130,250001,0,0,0), - (36130,280050,0,0,0), - (36130,320098,0,0,0), - (36130,330035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36130,340002,0,0,0), - (36130,1000001,0,0,0), - (36130,1100119,0,0,0), - (36130,1200048,0,0,0), - (36131,160028,0,0,0), - (36131,180018,0,0,0), - (36131,190077,0,0,0), - (36131,200066,0,0,0), - (36131,230001,0,0,0), - (36131,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36131,250001,0,0,0), - (36131,280050,0,0,0), - (36131,320098,0,0,0), - (36131,330061,0,0,0), - (36131,340002,0,0,0), - (36131,1000099,0,0,0), - (36131,1100119,0,0,0), - (36131,1200048,0,0,0), - (36132,160035,0,0,0), - (36132,180017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36132,190019,0,0,0), - (36132,200028,0,0,0), - (36132,230003,0,0,0), - (36132,240005,0,0,0), - (36132,250001,0,0,0), - (36132,280001,0,0,0), - (36132,320001,0,0,0), - (36132,330036,0,0,0), - (36132,340002,0,0,0), - (36132,1000132,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36132,1100010,0,0,0), - (36132,1200028,0,0,0), - (36133,160035,0,0,0), - (36133,180017,0,0,0), - (36133,190019,0,0,0), - (36133,200028,0,0,0), - (36133,230003,0,0,0), - (36133,240005,0,0,0), - (36133,250001,0,0,0), - (36133,280008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36133,320006,0,0,0), - (36133,330027,0,0,0), - (36133,340002,0,0,0), - (36133,1000053,0,0,0), - (36133,1100040,0,0,0), - (36133,1200003,0,0,0), - (36134,160035,0,0,0), - (36134,180017,0,0,0), - (36134,190019,0,0,0), - (36134,200028,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36134,230003,0,0,0), - (36134,240005,0,0,0), - (36134,250001,0,0,0), - (36134,280001,0,0,0), - (36134,320001,0,0,0), - (36134,330062,0,0,0), - (36134,340002,0,0,0), - (36134,1000133,0,0,0), - (36134,1100010,0,0,0), - (36134,1200003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36135,160030,0,0,0), - (36135,180017,0,0,0), - (36135,190019,0,0,0), - (36135,200001,0,0,0), - (36135,230001,0,0,0), - (36135,240001,0,0,0), - (36135,250001,0,0,0), - (36135,280001,0,0,0), - (36135,320001,0,0,0), - (36135,330036,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36135,340002,0,0,0), - (36135,1000030,0,0,0), - (36135,1100040,0,0,0), - (36135,1200003,0,0,0), - (36136,160030,0,0,0), - (36136,180050,0,0,0), - (36136,190003,0,0,0), - (36136,200028,0,0,0), - (36136,230001,0,0,0), - (36136,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36136,250001,0,0,0), - (36136,280040,0,0,0), - (36136,320006,0,0,0), - (36136,330025,0,0,0), - (36136,340002,0,0,0), - (36136,1000053,0,0,0), - (36136,1100039,0,0,0), - (36136,1200028,0,0,0), - (36137,160030,0,0,0), - (36137,180050,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36137,190003,0,0,0), - (36137,200028,0,0,0), - (36137,230003,0,0,0), - (36137,240005,0,0,0), - (36137,250001,0,0,0), - (36137,280040,0,0,0), - (36137,320006,0,0,0), - (36137,330063,0,0,0), - (36137,340003,0,0,0), - (36137,1000053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36137,1100039,0,0,0), - (36137,1200028,0,0,0), - (36138,160030,0,0,0), - (36138,180017,0,0,0), - (36138,190019,0,0,0), - (36138,200028,0,0,0), - (36138,230003,0,0,0), - (36138,240008,0,0,0), - (36138,250001,0,0,0), - (36138,280040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36138,320001,0,0,0), - (36138,330027,0,0,0), - (36138,340002,0,0,0), - (36138,1000030,0,0,0), - (36138,1100042,0,0,0), - (36138,1200028,0,0,0), - (36139,160030,0,0,0), - (36139,180017,0,0,0), - (36139,190003,0,0,0), - (36139,200001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36139,230003,0,0,0), - (36139,240008,0,0,0), - (36139,250001,0,0,0), - (36139,280040,0,0,0), - (36139,320001,0,0,0), - (36139,330063,0,0,0), - (36139,340002,0,0,0), - (36139,1000053,0,0,0), - (36139,1100040,0,0,0), - (36139,1200028,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36140,160030,0,0,0), - (36140,180017,0,0,0), - (36140,190019,0,0,0), - (36140,200001,0,0,0), - (36140,230001,0,0,0), - (36140,240001,0,0,0), - (36140,250001,0,0,0), - (36140,280001,0,0,0), - (36140,320001,0,0,0), - (36140,330062,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36140,340002,0,0,0), - (36140,1000133,0,0,0), - (36140,1100040,0,0,0), - (36140,1200003,0,0,0), - (36141,160030,0,0,0), - (36141,180017,0,0,0), - (36141,190019,0,0,0), - (36141,200001,0,0,0), - (36141,230001,0,0,0), - (36141,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36141,250001,0,0,0), - (36141,280001,0,0,0), - (36141,320001,0,0,0), - (36141,330062,0,0,0), - (36141,340002,0,0,0), - (36141,1000106,0,0,0), - (36141,1100040,0,0,0), - (36141,1200003,0,0,0), - (36142,160030,0,0,0), - (36142,180017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36142,190019,0,0,0), - (36142,200001,0,0,0), - (36142,230003,0,0,0), - (36142,240005,0,0,0), - (36142,250001,0,0,0), - (36142,280040,0,0,0), - (36142,320001,0,0,0), - (36142,330036,0,0,0), - (36142,340002,0,0,0), - (36142,1000053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36142,1100040,0,0,0), - (36142,1200003,0,0,0), - (36143,160030,0,0,0), - (36143,180050,0,0,0), - (36143,190019,0,0,0), - (36143,200028,0,0,0), - (36143,230003,0,0,0), - (36143,240008,0,0,0), - (36143,250001,0,0,0), - (36143,280040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36143,320006,0,0,0), - (36143,330004,0,0,0), - (36143,340002,0,0,0), - (36143,1000053,0,0,0), - (36143,1100040,0,0,0), - (36143,1200003,0,0,0), - (36144,160031,0,0,0), - (36144,180050,0,0,0), - (36144,190003,0,0,0), - (36144,200028,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36144,230003,0,0,0), - (36144,240005,0,0,0), - (36144,250001,0,0,0), - (36144,280040,0,0,0), - (36144,320006,0,0,0), - (36144,330004,0,0,0), - (36144,340002,0,0,0), - (36144,1000031,0,0,0), - (36144,1100039,0,0,0), - (36144,1200028,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36145,160031,0,0,0), - (36145,180050,0,0,0), - (36145,190003,0,0,0), - (36145,200028,0,0,0), - (36145,230003,0,0,0), - (36145,240005,0,0,0), - (36145,250001,0,0,0), - (36145,280040,0,0,0), - (36145,320006,0,0,0), - (36145,330064,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36145,340003,0,0,0), - (36145,1000103,0,0,0), - (36145,1100039,0,0,0), - (36145,1200028,0,0,0), - (36146,160032,0,0,0), - (36146,180017,0,0,0), - (36146,190019,0,0,0), - (36146,200001,0,0,0), - (36146,230003,0,0,0), - (36146,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36146,250001,0,0,0), - (36146,280040,0,0,0), - (36146,320006,0,0,0), - (36146,330027,0,0,0), - (36146,340002,0,0,0), - (36146,1000005,0,0,0), - (36146,1100040,0,0,0), - (36146,1200029,0,0,0), - (36147,160032,0,0,0), - (36147,180032,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36147,190002,0,0,0), - (36147,200028,0,0,0), - (36147,230003,0,0,0), - (36147,240006,0,0,0), - (36147,250001,0,0,0), - (36147,280040,0,0,0), - (36147,320006,0,0,0), - (36147,330027,0,0,0), - (36147,340002,0,0,0), - (36147,1000052,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36147,1100039,0,0,0), - (36147,1200029,0,0,0), - (36148,160032,0,0,0), - (36148,180032,0,0,0), - (36148,190002,0,0,0), - (36148,200028,0,0,0), - (36148,230003,0,0,0), - (36148,240006,0,0,0), - (36148,250001,0,0,0), - (36148,280040,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36148,320044,0,0,0), - (36148,330022,0,0,0), - (36148,340003,0,0,0), - (36148,1000052,0,0,0), - (36148,1100039,0,0,0), - (36148,1200029,0,0,0), - (36149,160032,0,0,0), - (36149,180032,0,0,0), - (36149,190026,0,0,0), - (36149,200010,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36149,230004,0,0,0), - (36149,240007,0,0,0), - (36149,250005,0,0,0), - (36149,280040,0,0,0), - (36149,320043,0,0,0), - (36149,330047,0,0,0), - (36149,340003,0,0,0), - (36149,1000033,0,0,0), - (36149,1100039,0,0,0), - (36149,1200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36150,160033,0,0,0), - (36150,180017,0,0,0), - (36150,190020,0,0,0), - (36150,200028,0,0,0), - (36150,230003,0,0,0), - (36150,240005,0,0,0), - (36150,250001,0,0,0), - (36150,280040,0,0,0), - (36150,320001,0,0,0), - (36150,330033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36150,340002,0,0,0), - (36150,1000134,0,0,0), - (36150,1100040,0,0,0), - (36150,1200029,0,0,0), - (36151,160033,0,0,0), - (36151,180035,0,0,0), - (36151,190027,0,0,0), - (36151,200028,0,0,0), - (36151,230003,0,0,0), - (36151,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36151,250001,0,0,0), - (36151,280040,0,0,0), - (36151,320006,0,0,0), - (36151,330027,0,0,0), - (36151,340002,0,0,0), - (36151,1000134,0,0,0), - (36151,1100039,0,0,0), - (36151,1200029,0,0,0), - (36152,160033,0,0,0), - (36152,180051,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36152,190027,0,0,0), - (36152,200028,0,0,0), - (36152,230003,0,0,0), - (36152,240006,0,0,0), - (36152,250008,0,0,0), - (36152,280008,0,0,0), - (36152,320011,0,0,0), - (36152,330033,0,0,0), - (36152,340003,0,0,0), - (36152,1000005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36152,1100040,0,0,0), - (36152,1200029,0,0,0), - (36153,160033,0,0,0), - (36153,180051,0,0,0), - (36153,190026,0,0,0), - (36153,200028,0,0,0), - (36153,230004,0,0,0), - (36153,240005,0,0,0), - (36153,250005,0,0,0), - (36153,280008,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36153,320011,0,0,0), - (36153,330033,0,0,0), - (36153,340004,0,0,0), - (36153,1000005,0,0,0), - (36153,1100040,0,0,0), - (36153,1200029,0,0,0), - (36154,160023,0,0,0), - (36154,180030,0,0,0), - (36154,190020,0,0,0), - (36154,200004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36154,230002,0,0,0), - (36154,240001,0,0,0), - (36154,250001,0,0,0), - (36154,280018,0,0,0), - (36154,320022,0,0,0), - (36154,330003,0,0,0), - (36154,340001,0,0,0), - (36154,1000135,0,0,0), - (36154,1100005,0,0,0), - (36154,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36155,160083,0,0,0), - (36155,180052,0,0,0), - (36155,190020,0,0,0), - (36155,200004,0,0,0), - (36155,230001,0,0,0), - (36155,240005,0,0,0), - (36155,250001,0,0,0), - (36155,280018,0,0,0), - (36155,320022,0,0,0), - (36155,330035,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36155,340001,0,0,0), - (36155,1000136,0,0,0), - (36155,1100101,0,0,0), - (36155,1200038,0,0,0), - (36156,160025,0,0,0), - (36156,180030,0,0,0), - (36156,190020,0,0,0), - (36156,200004,0,0,0), - (36156,230002,0,0,0), - (36156,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36156,250001,0,0,0), - (36156,280018,0,0,0), - (36156,320022,0,0,0), - (36156,330024,0,0,0), - (36156,340001,0,0,0), - (36156,1000137,0,0,0), - (36156,1100005,0,0,0), - (36156,1200017,0,0,0), - (36157,160025,0,0,0), - (36157,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36157,190020,0,0,0), - (36157,200004,0,0,0), - (36157,230001,0,0,0), - (36157,240001,0,0,0), - (36157,250001,0,0,0), - (36157,280018,0,0,0), - (36157,320022,0,0,0), - (36157,330035,0,0,0), - (36157,340001,0,0,0), - (36157,1000136,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36157,1100005,0,0,0), - (36157,1200017,0,0,0), - (36158,160027,0,0,0), - (36158,180030,0,0,0), - (36158,190020,0,0,0), - (36158,200004,0,0,0), - (36158,230002,0,0,0), - (36158,240001,0,0,0), - (36158,250001,0,0,0), - (36158,280018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36158,320022,0,0,0), - (36158,330042,0,0,0), - (36158,340001,0,0,0), - (36158,1000137,0,0,0), - (36158,1100005,0,0,0), - (36158,1200017,0,0,0), - (36159,160027,0,0,0), - (36159,180030,0,0,0), - (36159,190020,0,0,0), - (36159,200004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36159,230001,0,0,0), - (36159,240001,0,0,0), - (36159,250001,0,0,0), - (36159,280018,0,0,0), - (36159,320022,0,0,0), - (36159,330035,0,0,0), - (36159,340001,0,0,0), - (36159,1000138,0,0,0), - (36159,1100005,0,0,0), - (36159,1200017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36160,160084,0,0,0), - (36160,180034,0,0,0), - (36160,190001,0,0,0), - (36160,200054,0,0,0), - (36160,230003,0,0,0), - (36160,240005,0,0,0), - (36160,250001,0,0,0), - (36160,280041,0,0,0), - (36160,320087,0,0,0), - (36160,330025,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36160,340003,0,0,0), - (36160,1000139,0,0,0), - (36160,1100005,0,0,0), - (36160,1200038,0,0,0), - (36161,160019,0,0,0), - (36161,180030,0,0,0), - (36161,190020,0,0,0), - (36161,200004,0,0,0), - (36161,230001,0,0,0), - (36161,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36161,250001,0,0,0), - (36161,280018,0,0,0), - (36161,320022,0,0,0), - (36161,330062,0,0,0), - (36161,340002,0,0,0), - (36161,1000140,0,0,0), - (36161,1100101,0,0,0), - (36161,1200017,0,0,0), - (36162,160019,0,0,0), - (36162,180030,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36162,190020,0,0,0), - (36162,200004,0,0,0), - (36162,230001,0,0,0), - (36162,240006,0,0,0), - (36162,250001,0,0,0), - (36162,280018,0,0,0), - (36162,320022,0,0,0), - (36162,330036,0,0,0), - (36162,340002,0,0,0), - (36162,1000141,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36162,1100101,0,0,0), - (36162,1200017,0,0,0), - (36163,160019,0,0,0), - (36163,180030,0,0,0), - (36163,190020,0,0,0), - (36163,200004,0,0,0), - (36163,230001,0,0,0), - (36163,240001,0,0,0), - (36163,250001,0,0,0), - (36163,280018,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36163,320022,0,0,0), - (36163,330062,0,0,0), - (36163,340002,0,0,0), - (36163,1000137,0,0,0), - (36163,1100101,0,0,0), - (36163,1200017,0,0,0), - (36164,160029,0,0,0), - (36164,180056,0,0,0), - (36164,190073,0,0,0), - (36164,200063,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36164,230001,0,0,0), - (36164,240001,0,0,0), - (36164,250001,0,0,0), - (36164,280046,0,0,0), - (36164,320093,0,0,0), - (36164,330062,0,0,0), - (36164,340002,0,0,0), - (36164,1000107,0,0,0), - (36164,1100114,0,0,0), - (36164,1200043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36165,160029,0,0,0), - (36165,180056,0,0,0), - (36165,190073,0,0,0), - (36165,200063,0,0,0), - (36165,230003,0,0,0), - (36165,240005,0,0,0), - (36165,250001,0,0,0), - (36165,280053,0,0,0), - (36165,320093,0,0,0), - (36165,330037,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36165,340002,0,0,0), - (36165,1000108,0,0,0), - (36165,1100114,0,0,0), - (36165,1200043,0,0,0), - (36166,160029,0,0,0), - (36166,180056,0,0,0), - (36166,190073,0,0,0), - (36166,200063,0,0,0), - (36166,230003,0,0,0), - (36166,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36166,250001,0,0,0), - (36166,280053,0,0,0), - (36166,320093,0,0,0), - (36166,330038,0,0,0), - (36166,340002,0,0,0), - (36166,1000109,0,0,0), - (36166,1100114,0,0,0), - (36166,1200043,0,0,0), - (36167,160029,0,0,0), - (36167,180057,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36167,190074,0,0,0), - (36167,200063,0,0,0), - (36167,230003,0,0,0), - (36167,240005,0,0,0), - (36167,250001,0,0,0), - (36167,280053,0,0,0), - (36167,320094,0,0,0), - (36167,330038,0,0,0), - (36167,340002,0,0,0), - (36167,1000058,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36167,1100115,0,0,0), - (36167,1200044,0,0,0), - (36168,160029,0,0,0), - (36168,180057,0,0,0), - (36168,190074,0,0,0), - (36168,200063,0,0,0), - (36168,230003,0,0,0), - (36168,240005,0,0,0), - (36168,250001,0,0,0), - (36168,280053,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36168,320094,0,0,0), - (36168,330037,0,0,0), - (36168,340002,0,0,0), - (36168,1000029,0,0,0), - (36168,1100116,0,0,0), - (36168,1200044,0,0,0), - (36169,160029,0,0,0), - (36169,180056,0,0,0), - (36169,190073,0,0,0), - (36169,200062,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36169,230001,0,0,0), - (36169,240001,0,0,0), - (36169,250001,0,0,0), - (36169,280046,0,0,0), - (36169,320093,0,0,0), - (36169,330042,0,0,0), - (36169,340002,0,0,0), - (36169,1000110,0,0,0), - (36169,1100114,0,0,0), - (36169,1200043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36170,160020,0,0,0), - (36170,180056,0,0,0), - (36170,190073,0,0,0), - (36170,200062,0,0,0), - (36170,230001,0,0,0), - (36170,240001,0,0,0), - (36170,250001,0,0,0), - (36170,280053,0,0,0), - (36170,320093,0,0,0), - (36170,330042,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36170,340002,0,0,0), - (36170,1000109,0,0,0), - (36170,1100114,0,0,0), - (36170,1200043,0,0,0), - (36171,160020,0,0,0), - (36171,180056,0,0,0), - (36171,190073,0,0,0), - (36171,200062,0,0,0), - (36171,230001,0,0,0), - (36171,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36171,250001,0,0,0), - (36171,280046,0,0,0), - (36171,320093,0,0,0), - (36171,330042,0,0,0), - (36171,340002,0,0,0), - (36171,1000110,0,0,0), - (36171,1100114,0,0,0), - (36171,1200043,0,0,0), - (36172,160034,0,0,0), - (36172,180058,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36172,190075,0,0,0), - (36172,200064,0,0,0), - (36172,230003,0,0,0), - (36172,240005,0,0,0), - (36172,250001,0,0,0), - (36172,280048,0,0,0), - (36172,320095,0,0,0), - (36172,330038,0,0,0), - (36172,340002,0,0,0), - (36172,1000034,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36172,1100118,0,0,0), - (36172,1200045,0,0,0), - (36173,160034,0,0,0), - (36173,180058,0,0,0), - (36173,190075,0,0,0), - (36173,200064,0,0,0), - (36173,230003,0,0,0), - (36173,240005,0,0,0), - (36173,250001,0,0,0), - (36173,280047,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36173,320095,0,0,0), - (36173,330062,0,0,0), - (36173,340002,0,0,0), - (36173,1000034,0,0,0), - (36173,1100118,0,0,0), - (36173,1200045,0,0,0), - (36174,160034,0,0,0), - (36174,180058,0,0,0), - (36174,190075,0,0,0), - (36174,200012,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36174,230003,0,0,0), - (36174,240005,0,0,0), - (36174,250006,0,0,0), - (36174,280048,0,0,0), - (36174,320096,0,0,0), - (36174,330025,0,0,0), - (36174,340002,0,0,0), - (36174,1000035,0,0,0), - (36174,1100118,0,0,0), - (36174,1200047,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36175,160034,0,0,0), - (36175,180058,0,0,0), - (36175,190075,0,0,0), - (36175,200064,0,0,0), - (36175,230003,0,0,0), - (36175,240005,0,0,0), - (36175,250001,0,0,0), - (36175,280048,0,0,0), - (36175,320096,0,0,0), - (36175,330043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36175,340002,0,0,0), - (36175,1000035,0,0,0), - (36175,1100118,0,0,0), - (36175,1200045,0,0,0), - (36176,160034,0,0,0), - (36176,180058,0,0,0), - (36176,190075,0,0,0), - (36176,200064,0,0,0), - (36176,230001,0,0,0), - (36176,240001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36176,250001,0,0,0), - (36176,280047,0,0,0), - (36176,320095,0,0,0), - (36176,330035,0,0,0), - (36176,340002,0,0,0), - (36176,1000027,0,0,0), - (36176,1100117,0,0,0), - (36176,1200045,0,0,0), - (36177,160082,0,0,0), - (36177,180060,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36177,190029,0,0,0), - (36177,200012,0,0,0), - (36177,230005,0,0,0), - (36177,240007,0,0,0), - (36177,250001,0,0,0), - (36177,280032,0,0,0), - (36177,320046,0,0,0), - (36177,330040,0,0,0), - (36177,340003,0,0,0), - (36177,1000054,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36177,1100043,0,0,0), - (36177,1200005,0,0,0), - (36178,160044,0,0,0), - (36178,180058,0,0,0), - (36178,190075,0,0,0), - (36178,200064,0,0,0), - (36178,230003,0,0,0), - (36178,240005,0,0,0), - (36178,250001,0,0,0), - (36178,280048,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36178,320095,0,0,0), - (36178,330038,0,0,0), - (36178,340002,0,0,0), - (36178,1000034,0,0,0), - (36178,1100118,0,0,0), - (36178,1200045,0,0,0), - (36179,160044,0,0,0), - (36179,180058,0,0,0), - (36179,190075,0,0,0), - (36179,200064,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36179,230003,0,0,0), - (36179,240003,0,0,0), - (36179,250001,0,0,0), - (36179,280047,0,0,0), - (36179,320095,0,0,0), - (36179,330037,0,0,0), - (36179,340002,0,0,0), - (36179,1000027,0,0,0), - (36179,1100117,0,0,0), - (36179,1200045,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36180,160044,0,0,0), - (36180,180058,0,0,0), - (36180,190075,0,0,0), - (36180,200012,0,0,0), - (36180,230003,0,0,0), - (36180,240005,0,0,0), - (36180,250001,0,0,0), - (36180,280048,0,0,0), - (36180,320096,0,0,0), - (36180,330038,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36180,340002,0,0,0), - (36180,1000027,0,0,0), - (36180,1100118,0,0,0), - (36180,1200047,0,0,0), - (36181,160073,0,0,0), - (36181,180015,0,0,0), - (36181,190017,0,0,0), - (36181,200029,0,0,0), - (36181,230001,0,0,0), - (36181,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36181,250002,0,0,0), - (36181,280036,0,0,0), - (36181,320004,0,0,0), - (36181,330065,0,0,0), - (36181,340002,0,0,0), - (36181,1000120,0,0,0), - (36181,1100044,0,0,0), - (36181,1200015,0,0,0), - (36182,160073,0,0,0), - (36182,180015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36182,190017,0,0,0), - (36182,200029,0,0,0), - (36182,230001,0,0,0), - (36182,240005,0,0,0), - (36182,250002,0,0,0), - (36182,280036,0,0,0), - (36182,320004,0,0,0), - (36182,330066,0,0,0), - (36182,340002,0,0,0), - (36182,1000120,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36182,1100044,0,0,0), - (36182,1200015,0,0,0), - (36183,160073,0,0,0), - (36183,180015,0,0,0), - (36183,190017,0,0,0), - (36183,200029,0,0,0), - (36183,230001,0,0,0), - (36183,240001,0,0,0), - (36183,250002,0,0,0), - (36183,280017,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36183,320004,0,0,0), - (36183,330065,0,0,0), - (36183,340002,0,0,0), - (36183,1000114,0,0,0), - (36183,1100044,0,0,0), - (36183,1200015,0,0,0), - (36184,160073,0,0,0), - (36184,180015,0,0,0), - (36184,190017,0,0,0), - (36184,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36184,230003,0,0,0), - (36184,240005,0,0,0), - (36184,250002,0,0,0), - (36184,280036,0,0,0), - (36184,320049,0,0,0), - (36184,330019,0,0,0), - (36184,340002,0,0,0), - (36184,1000120,0,0,0), - (36184,1100044,0,0,0), - (36184,1200015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36185,160074,0,0,0), - (36185,180036,0,0,0), - (36185,190017,0,0,0), - (36185,200014,0,0,0), - (36185,230001,0,0,0), - (36185,240001,0,0,0), - (36185,250002,0,0,0), - (36185,280017,0,0,0), - (36185,320004,0,0,0), - (36185,330052,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36185,340002,0,0,0), - (36185,1000142,0,0,0), - (36185,1100015,0,0,0), - (36185,1200015,0,0,0), - (36186,160073,0,0,0), - (36186,180036,0,0,0), - (36186,190017,0,0,0), - (36186,200029,0,0,0), - (36186,230001,0,0,0), - (36186,240006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36186,250002,0,0,0), - (36186,280036,0,0,0), - (36186,320004,0,0,0), - (36186,330034,0,0,0), - (36186,340002,0,0,0), - (36186,1000142,0,0,0), - (36186,1100015,0,0,0), - (36186,1200015,0,0,0), - (36187,160073,0,0,0), - (36187,180036,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36187,190017,0,0,0), - (36187,200014,0,0,0), - (36187,230001,0,0,0), - (36187,240001,0,0,0), - (36187,250002,0,0,0), - (36187,280017,0,0,0), - (36187,320004,0,0,0), - (36187,330034,0,0,0), - (36187,340002,0,0,0), - (36187,1000142,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36187,1100015,0,0,0), - (36187,1200015,0,0,0), - (36188,160075,0,0,0), - (36188,180015,0,0,0), - (36188,190017,0,0,0), - (36188,200029,0,0,0), - (36188,230003,0,0,0), - (36188,240005,0,0,0), - (36188,250002,0,0,0), - (36188,280036,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36188,320004,0,0,0), - (36188,330067,0,0,0), - (36188,340002,0,0,0), - (36188,1000113,0,0,0), - (36188,1100044,0,0,0), - (36188,1200015,0,0,0), - (36189,160075,0,0,0), - (36189,180015,0,0,0), - (36189,190017,0,0,0), - (36189,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36189,230003,0,0,0), - (36189,240005,0,0,0), - (36189,250002,0,0,0), - (36189,280036,0,0,0), - (36189,320004,0,0,0), - (36189,330019,0,0,0), - (36189,340002,0,0,0), - (36189,1000113,0,0,0), - (36189,1100044,0,0,0), - (36189,1200032,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36190,160075,0,0,0), - (36190,180015,0,0,0), - (36190,190017,0,0,0), - (36190,200045,0,0,0), - (36190,230003,0,0,0), - (36190,240005,0,0,0), - (36190,250002,0,0,0), - (36190,280036,0,0,0), - (36190,320049,0,0,0), - (36190,330019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36190,340003,0,0,0), - (36190,1000113,0,0,0), - (36190,1100044,0,0,0), - (36190,1200015,0,0,0), - (36191,160075,0,0,0), - (36191,180015,0,0,0), - (36191,190017,0,0,0), - (36191,200045,0,0,0), - (36191,230003,0,0,0), - (36191,240007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36191,250002,0,0,0), - (36191,280036,0,0,0), - (36191,320050,0,0,0), - (36191,330019,0,0,0), - (36191,340003,0,0,0), - (36191,1000113,0,0,0), - (36191,1100044,0,0,0), - (36191,1200032,0,0,0), - (36192,160075,0,0,0), - (36192,180015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36192,190017,0,0,0), - (36192,200029,0,0,0), - (36192,230003,0,0,0), - (36192,240007,0,0,0), - (36192,250002,0,0,0), - (36192,280033,0,0,0), - (36192,320013,0,0,0), - (36192,330019,0,0,0), - (36192,340003,0,0,0), - (36192,1000038,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36192,1100046,0,0,0), - (36192,1200032,0,0,0), - (36193,160075,0,0,0), - (36193,180015,0,0,0), - (36193,190017,0,0,0), - (36193,200029,0,0,0), - (36193,230003,0,0,0), - (36193,240007,0,0,0), - (36193,250002,0,0,0), - (36193,280033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36193,320013,0,0,0), - (36193,330067,0,0,0), - (36193,340003,0,0,0), - (36193,1000039,0,0,0), - (36193,1100046,0,0,0), - (36193,1200032,0,0,0), - (36194,160075,0,0,0), - (36194,180015,0,0,0), - (36194,190017,0,0,0), - (36194,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36194,230003,0,0,0), - (36194,240005,0,0,0), - (36194,250002,0,0,0), - (36194,280036,0,0,0), - (36194,320004,0,0,0), - (36194,330067,0,0,0), - (36194,340002,0,0,0), - (36194,1000038,0,0,0), - (36194,1100044,0,0,0), - (36194,1200015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36195,160075,0,0,0), - (36195,180015,0,0,0), - (36195,190017,0,0,0), - (36195,200029,0,0,0), - (36195,230003,0,0,0), - (36195,240005,0,0,0), - (36195,250002,0,0,0), - (36195,280036,0,0,0), - (36195,320050,0,0,0), - (36195,330019,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36195,340002,0,0,0), - (36195,1000114,0,0,0), - (36195,1100044,0,0,0), - (36195,1200032,0,0,0), - (36196,160056,0,0,0), - (36196,180015,0,0,0), - (36196,190017,0,0,0), - (36196,200029,0,0,0), - (36196,230003,0,0,0), - (36196,240007,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36196,250002,0,0,0), - (36196,280033,0,0,0), - (36196,320013,0,0,0), - (36196,330019,0,0,0), - (36196,340003,0,0,0), - (36196,1000038,0,0,0), - (36196,1100047,0,0,0), - (36196,1200007,0,0,0), - (36197,160056,0,0,0), - (36197,180015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36197,190017,0,0,0), - (36197,200029,0,0,0), - (36197,230003,0,0,0), - (36197,240007,0,0,0), - (36197,250002,0,0,0), - (36197,280033,0,0,0), - (36197,320013,0,0,0), - (36197,330019,0,0,0), - (36197,340003,0,0,0), - (36197,1000055,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36197,1100047,0,0,0), - (36197,1200007,0,0,0), - (36198,160056,0,0,0), - (36198,180015,0,0,0), - (36198,190017,0,0,0), - (36198,200029,0,0,0), - (36198,230003,0,0,0), - (36198,240007,0,0,0), - (36198,250002,0,0,0), - (36198,280033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36198,320013,0,0,0), - (36198,330019,0,0,0), - (36198,340003,0,0,0), - (36198,1000038,0,0,0), - (36198,1100046,0,0,0), - (36198,1200032,0,0,0), - (36199,160056,0,0,0), - (36199,180015,0,0,0), - (36199,190017,0,0,0), - (36199,200029,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36199,230003,0,0,0), - (36199,240007,0,0,0), - (36199,250002,0,0,0), - (36199,280033,0,0,0), - (36199,320013,0,0,0), - (36199,330019,0,0,0), - (36199,340003,0,0,0), - (36199,1000039,0,0,0), - (36199,1100046,0,0,0), - (36199,1200032,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36200,160056,0,0,0), - (36200,180015,0,0,0), - (36200,190017,0,0,0), - (36200,200029,0,0,0), - (36200,230003,0,0,0), - (36200,240005,0,0,0), - (36200,250002,0,0,0), - (36200,280036,0,0,0), - (36200,320004,0,0,0), - (36200,330067,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36200,340002,0,0,0), - (36200,1000144,0,0,0), - (36200,1100044,0,0,0), - (36200,1200015,0,0,0), - (36201,160055,0,0,0), - (36201,180015,0,0,0), - (36201,190017,0,0,0), - (36201,200029,0,0,0), - (36201,230003,0,0,0), - (36201,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36201,250002,0,0,0), - (36201,280036,0,0,0), - (36201,320004,0,0,0), - (36201,330067,0,0,0), - (36201,340002,0,0,0), - (36201,1000113,0,0,0), - (36201,1100044,0,0,0), - (36201,1200015,0,0,0), - (36202,160055,0,0,0), - (36202,180015,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36202,190017,0,0,0), - (36202,200029,0,0,0), - (36202,230003,0,0,0), - (36202,240007,0,0,0), - (36202,250002,0,0,0), - (36202,280036,0,0,0), - (36202,320013,0,0,0), - (36202,330064,0,0,0), - (36202,340002,0,0,0), - (36202,1000144,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36202,1100044,0,0,0), - (36202,1200032,0,0,0), - (36203,160049,0,0,0), - (36203,180022,0,0,0), - (36203,190068,0,0,0), - (36203,200022,0,0,0), - (36203,230001,0,0,0), - (36203,240001,0,0,0), - (36203,250003,0,0,0), - (36203,280022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36203,320026,0,0,0), - (36203,330058,0,0,0), - (36203,340002,0,0,0), - (36203,1000149,0,0,0), - (36203,1100019,0,0,0), - (36203,1200021,0,0,0), - (36204,160050,0,0,0), - (36204,180022,0,0,0), - (36204,190068,0,0,0), - (36204,200022,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36204,230003,0,0,0), - (36204,240005,0,0,0), - (36204,250003,0,0,0), - (36204,280010,0,0,0), - (36204,320026,0,0,0), - (36204,330043,0,0,0), - (36204,340002,0,0,0), - (36204,1000008,0,0,0), - (36204,1100049,0,0,0), - (36204,1200021,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36205,160050,0,0,0), - (36205,180022,0,0,0), - (36205,190068,0,0,0), - (36205,200022,0,0,0), - (36205,230003,0,0,0), - (36205,240005,0,0,0), - (36205,250003,0,0,0), - (36205,280010,0,0,0), - (36205,320026,0,0,0), - (36205,330043,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36205,340002,0,0,0), - (36205,1000007,0,0,0), - (36205,1100049,0,0,0), - (36205,1200021,0,0,0), - (36206,160050,0,0,0), - (36206,180053,0,0,0), - (36206,190024,0,0,0), - (36206,200007,0,0,0), - (36206,230003,0,0,0), - (36206,240004,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36206,250003,0,0,0), - (36206,280010,0,0,0), - (36206,320053,0,0,0), - (36206,330043,0,0,0), - (36206,340003,0,0,0), - (36206,1000007,0,0,0), - (36206,1100049,0,0,0), - (36206,1200036,0,0,0), - (36208,160005,0,0,0), - (36208,180014,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36208,190016,0,0,0), - (36208,200024,0,0,0), - (36208,230001,0,0,0), - (36208,240001,0,0,0), - (36208,250002,0,0,0), - (36208,280016,0,0,0), - (36208,320020,0,0,0), - (36208,330056,0,0,0), - (36208,340002,0,0,0), - (36208,1000070,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36208,1100022,0,0,0), - (36208,1200034,0,0,0), - (36209,160016,0,0,0), - (36209,180062,0,0,0), - (36209,190067,0,0,0), - (36209,200030,0,0,0), - (36209,230001,0,0,0), - (36209,240005,0,0,0), - (36209,250002,0,0,0), - (36209,280052,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36209,320101,0,0,0), - (36209,330019,0,0,0), - (36209,340002,0,0,0), - (36209,1000126,0,0,0), - (36209,1100121,0,0,0), - (36209,1200050,0,0,0), - (36210,160072,0,0,0), - (36210,180002,0,0,0), - (36210,190015,0,0,0), - (36210,200046,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36210,230003,0,0,0), - (36210,240006,0,0,0), - (36210,250002,0,0,0), - (36210,280006,0,0,0), - (36210,320002,0,0,0), - (36210,330004,0,0,0), - (36210,340002,0,0,0), - (36210,1000075,0,0,0), - (36210,1100026,0,0,0), - (36210,1200001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36211,160072,0,0,0), - (36211,180013,0,0,0), - (36211,190015,0,0,0), - (36211,200046,0,0,0), - (36211,230003,0,0,0), - (36211,240006,0,0,0), - (36211,250002,0,0,0), - (36211,280002,0,0,0), - (36211,320031,0,0,0), - (36211,330033,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36211,340003,0,0,0), - (36211,1000019,0,0,0), - (36211,1100014,0,0,0), - (36211,1200001,0,0,0), - (36212,25006,0,0,0), - (36212,160040,0,0,0), - (36212,180027,0,0,0), - (36212,190025,0,0,0), - (36212,200023,0,0,0), - (36212,230003,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36212,240006,0,0,0), - (36212,250002,0,0,0), - (36212,280028,0,0,0), - (36212,320027,0,0,0), - (36212,330043,0,0,0), - (36212,340002,0,0,0), - (36212,1000051,0,0,0), - (36212,1100034,0,0,0), - (36212,1200037,0,0,0), - (36213,25006,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36213,160040,0,0,0), - (36213,180027,0,0,0), - (36213,190004,0,0,0), - (36213,200009,0,0,0), - (36213,230003,0,0,0), - (36213,240006,0,0,0), - (36213,250002,0,0,0), - (36213,280028,0,0,0), - (36213,320038,0,0,0), - (36213,330027,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36213,340002,0,0,0), - (36213,1000131,0,0,0), - (36213,1100035,0,0,0), - (36213,1200026,0,0,0), - (36214,160035,0,0,0), - (36214,180017,0,0,0), - (36214,190019,0,0,0), - (36214,200028,0,0,0), - (36214,230003,0,0,0), - (36214,240005,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36214,250001,0,0,0), - (36214,280001,0,0,0), - (36214,320001,0,0,0), - (36214,330036,0,0,0), - (36214,340002,0,0,0), - (36214,1000133,0,0,0), - (36214,1100010,0,0,0), - (36214,1200003,0,0,0), - (36215,160076,0,0,0), - (36215,180001,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36215,190016,0,0,0), - (36215,200002,0,0,0), - (36215,230002,0,0,0), - (36215,240003,0,0,0), - (36215,250002,0,0,0), - (36215,280016,0,0,0), - (36215,320020,0,0,0), - (36215,330003,0,0,0), - (36215,340001,0,0,0), - (36215,1000148,0,0,0); -INSERT INTO StockAssembly (ParentBrandedPartID,ChildBrandedPartID,AttachmentPointID,ConfigDefault,PhysicsDefault) VALUES - (36215,1100111,0,0,0), - (36215,1200034,0,0,0), - (37001,290003,0,0,0), - (37001,300001,0,0,0); diff --git a/migrations/2024.02.15T00.21.44.initialSkinType.sql b/migrations/2024.02.15T00.21.44.initialSkinType.sql deleted file mode 100644 index a597462ce..000000000 --- a/migrations/2024.02.15T00.21.44.initialSkinType.sql +++ /dev/null @@ -1,11 +0,0 @@ -INSERT INTO SkinType (SkinTypeID,SkinType) VALUES - (1,'''Tinted'''), - (2,'''Custom'''), - (3,'''Cop'''), - (4,'Flames'), - (5,'Scallops'), - (6,'Decals'), - (7,'Rust'), - (8,'Traffic'), - (9,'Bad-ass'), - (10,'''Starter'''); diff --git a/migrations/2024.02.15T00.22.20.initialPTSkin.sql b/migrations/2024.02.15T00.22.20.initialPTSkin.sql deleted file mode 100644 index 428793421..000000000 --- a/migrations/2024.02.15T00.22.20.initialPTSkin.sql +++ /dev/null @@ -1,1264 +0,0 @@ -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1,10,1,101,'Candy Apple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',1,211,255,128,32,255,1,211,255,128,32,255,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,1,255,255,128,0,255,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','As per 32 Ford CSV'), - (2,10,1,101,'Blue Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',146,254,96,128,1,210,146,254,96,128,1,210,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,146,254,96,128,1,210,146,254,96,128,1,210,146,254,96,128,1,210,0,'Factory','This is a factory stock color.'), - (3,10,1,101,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',138,138,255,128,20,255,138,138,255,128,20,255,40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,138,138,255,128,0,255,138,138,255,128,0,255,138,138,255,128,0,255,0,'Factory','This is a factory stock color.'), - (4,10,1,101,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',20,129,255,128,44,255,20,129,255,128,44,255,29,69,255,128,13,211,29,69,255,128,13,211,40,20,20,128,1,165,20,129,255,128,15,255,20,129,255,128,15,255,20,129,255,128,15,255,0,'Factory','This is a factory stock color.'), - (5,10,1,101,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',61,109,255,128,7,250,61,109,255,128,7,250,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,61,109,255,128,11,219,61,109,255,128,11,219,61,109,255,128,11,219,0,'Factory','This is a factory stock color.'), - (6,10,1,101,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',35,255,255,128,20,255,35,255,255,128,20,255,29,69,255,128,13,237,29,69,255,128,13,237,40,20,255,128,10,255,35,255,255,128,20,255,35,255,255,128,20,255,35,255,255,128,20,255,0,'Factory','This is a factory stock color.'), - (7,10,1,101,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,7,255,128,110,192,128,7,255,128,110,192,3,254,100,128,11,237,3,254,100,128,11,237,40,20,20,128,1,165,128,7,255,128,110,192,128,7,255,128,110,192,128,7,255,128,110,192,0,'Factory','This is a factory stock color.'), - (8,10,1,101,'Black Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',33,7,255,128,0,180,33,7,1,128,0,225,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,33,7,1,128,0,175,33,7,1,128,0,175,33,7,1,128,0,175,0,'Factory','This is a factory stock color.'), - (9,10,1,101,'Rose Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',33,7,255,128,0,180,29,69,255,128,13,237,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,30,26,65,128,0,216,30,26,65,128,0,216,30,26,65,128,0,216,0,'Factory','This is a factory stock color.'), - (10,10,1,101,'Violet Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,232,250,80,128,0,244,40,20,255,128,10,255,40,20,255,128,10,255,40,20,20,128,1,165,232,250,80,128,0,194,232,250,80,128,0,194,232,250,80,128,0,194,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (11,10,1,101,'Copper Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,16,164,58,128,0,232,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,16,164,58,128,0,203,16,164,58,128,0,203,16,164,58,128,0,203,0,'Factory','This is a factory stock color.'), - (12,10,1,101,'Dark Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,29,69,255,128,13,237,29,69,255,128,13,237,29,69,255,128,13,237,27,78,112,128,1,203,125,125,49,128,0,188,125,125,49,128,0,188,125,125,49,128,0,188,0,'Factory','This is a factory stock color.'), - (13,10,1,101,'Sand Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,29,69,255,128,13,246,19,24,35,128,1,220,19,24,35,128,1,220,40,20,20,128,1,165,30,70,169,128,0,245,30,70,169,128,0,245,30,70,169,128,0,245,0,'Factory','This is a factory stock color.'), - (14,10,1,101,'Dark Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,0,255,71,109,33,128,0,240,29,69,255,128,13,237,29,69,255,128,13,237,40,20,20,128,1,165,71,169,52,128,0,192,71,169,52,128,0,192,71,169,52,128,0,192,0,'Factory','This is a factory stock color.'), - (15,10,1,102,'Dark Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,27,99,116,128,15,206,27,99,116,128,15,206,35,15,40,128,0,177,6,222,99,128,0,195,6,108,99,128,0,211,6,222,99,128,0,195,0,'Factory','This is a factory stock color.'), - (16,10,1,102,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,35,15,2,128,0,176,35,15,2,128,0,199,35,15,2,128,0,176,0,'Factory','This is a factory stock color.'), - (17,10,1,102,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,20,255,255,107,32,255,20,129,255,128,11,255,20,255,255,107,32,255,0,'Factory','This is a factory stock color.'), - (18,10,1,102,'Polar Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,151,200,109,128,0,225,151,94,109,128,0,233,151,200,109,128,0,225,0,'Factory','This is a factory stock color.'), - (19,10,1,102,'Pale Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,64,83,146,128,5,240,64,31,146,128,5,241,64,83,146,128,5,240,0,'Factory','This is a factory stock color.'), - (20,10,1,102,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,7,254,198,154,1,228,1,108,198,128,0,232,7,254,198,154,1,228,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (21,10,1,102,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,27,99,116,128,15,206,27,99,116,128,15,206,27,99,116,128,15,228,92,133,54,128,0,194,53,82,54,128,0,203,92,133,54,128,0,194,0,'Factory','This is a factory stock color.'), - (22,10,1,102,'Sea Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,125,160,130,128,22,220,125,49,130,128,22,219,125,160,130,128,22,220,0,'Factory','This is a factory stock color.'), - (23,10,1,102,'Lemon Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,36,255,255,128,16,255,40,113,255,128,0,246,36,255,255,128,16,255,0,'Factory','This is a factory stock color.'), - (24,10,1,102,'Slate Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,134,148,43,128,0,193,134,56,43,128,0,211,134,148,43,128,0,193,0,'Factory','This is a factory stock color.'), - (25,10,1,102,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,24,172,126,6,120,128,15,172,35,15,40,128,0,177,128,5,255,128,31,255,128,5,255,128,18,241,128,5,255,128,31,255,0,'Factory','This is a factory stock color.'), - (26,10,1,102,'Saddle Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'40fortin',38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,38,38,255,128,15,235,35,15,40,128,0,177,18,66,118,122,1,212,18,43,118,128,0,227,18,66,118,122,1,212,0,'Factory','This is a factory stock color.'), - (27,10,1,103,'Coral Flame Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,246,255,255,128,5,255,246,255,255,128,5,255,25,9,3,128,0,152,246,255,255,128,5,255,45,5,255,128,35,254,246,255,255,128,5,255,0,'Factory','This is a factory stock color.'), - (28,10,1,103,'Sheridan Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,253,26,67,255,128,37,253,26,67,255,117,37,245,45,5,255,128,0,244,172,255,32,128,0,227,172,255,32,128,0,227,172,255,32,128,0,227,0,'Factory','This is a factory stock color.'), - (29,10,1,103,'Sandpiper Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,214,39,22,104,128,0,235,39,22,104,128,0,220,25,9,3,128,0,152,30,47,171,128,20,255,30,47,171,128,20,255,30,47,171,128,20,255,0,'Factory','This is a factory stock color.'), - (30,10,1,103,'Carnival Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,253,26,67,255,128,37,253,26,67,255,117,37,245,25,9,3,128,0,152,250,255,56,128,0,231,250,255,56,128,0,231,250,255,56,128,0,231,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (31,10,1,103,'Sungate Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,1,254,255,128,0,246,1,254,255,128,0,240,25,9,3,128,0,152,32,40,255,128,62,255,32,40,255,128,62,255,32,40,255,128,62,255,0,'Factory','This is a factory stock color.'), - (32,10,1,103,'Woodsmoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,201,28,22,39,128,0,229,28,22,39,128,0,218,25,9,3,128,0,152,28,22,104,128,0,253,28,22,104,128,0,253,28,22,104,128,0,253,0,'Factory','This is a factory stock color.'), - (33,10,1,103,'Glacier Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,233,142,130,255,128,16,241,142,130,255,128,16,255,45,5,255,128,0,244,142,130,255,128,28,255,45,5,255,128,35,254,142,130,255,128,28,255,0,'Factory','This is a factory stock color.'), - (34,10,1,103,'Fernmist Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,5,239,26,67,255,128,14,220,26,67,255,128,14,210,25,9,3,128,0,152,111,82,133,128,0,252,111,82,133,128,0,252,111,82,133,128,0,252,0,'Factory','This is a factory stock color.'), - (35,10,1,103,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,0,241,1,254,255,128,0,246,1,254,255,128,0,240,45,5,255,128,0,244,128,0,3,128,0,205,128,0,3,128,0,205,128,0,3,128,0,205,0,'Factory','This is a factory stock color.'), - (36,10,1,103,'Canary Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,26,67,255,128,14,210,26,67,255,128,14,210,26,67,255,128,14,210,25,9,3,128,0,152,34,225,255,49,91,254,45,5,255,128,35,254,34,225,255,49,91,254,0,'Factory','This is a factory stock color.'), - (37,10,1,103,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,67,26,253,47,28,255,67,75,253,47,28,255,67,67,253,25,9,3,128,0,152,13,190,219,94,74,255,45,5,255,128,35,254,13,190,219,94,74,255,0,'Factory','This is a factory stock color.'), - (38,10,1,103,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,18,255,128,9,224,248,122,70,141,0,222,248,122,70,141,0,222,25,9,3,128,0,152,248,122,70,141,0,222,248,122,70,141,0,222,248,122,70,141,0,222,0,'Factory','This is a factory stock color.'), - (39,10,1,103,'Cold River Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'53fortin',128,0,255,128,0,255,47,28,255,128,9,241,128,117,57,128,0,231,128,117,57,128,0,231,25,9,3,128,0,152,128,117,57,128,0,242,45,5,255,128,35,254,128,117,57,128,0,242,0,'Factory','This is a factory stock color.'), - (40,10,1,104,'White / Mint Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',65,79,255,128,0,255,65,79,255,128,0,255,40,15,255,128,24,254,65,79,255,128,0,255,20,5,24,128,0,177,28,203,232,128,33,255,128,3,255,128,30,255,65,79,255,128,0,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (41,10,1,104,'White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',1,255,255,128,0,244,40,15,255,128,26,244,40,15,255,128,24,254,1,255,255,128,0,244,20,5,24,128,0,177,28,203,232,128,20,255,128,3,255,128,30,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (42,10,1,104,'White / Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',151,255,176,128,0,252,40,15,255,128,26,244,40,15,255,128,24,254,151,255,176,128,0,252,40,10,255,128,22,255,28,203,232,128,20,255,128,3,255,128,30,255,151,255,176,128,0,252,0,'Factory','This is a factory stock color.'), - (43,10,1,104,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',20,5,14,128,0,222,40,15,13,128,1,229,40,15,13,128,1,244,20,5,14,128,0,222,20,5,24,128,0,177,28,203,232,128,20,255,20,5,10,128,0,154,20,5,10,128,0,203,0,'Factory','This is a factory stock color.'), - (44,10,1,104,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,24,254,28,94,79,128,15,235,40,10,255,128,22,255,122,16,255,128,13,255,33,255,255,128,36,255,33,255,255,128,36,255,0,'Factory','This is a factory stock color.'), - (45,10,1,104,'White / Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',146,100,255,128,13,255,40,15,255,128,26,244,40,15,255,128,24,254,146,100,255,128,13,255,20,5,24,128,0,177,28,203,232,128,20,255,128,3,255,128,30,255,146,100,255,128,13,255,0,'Factory','This is a factory stock color.'), - (46,10,1,104,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57faitin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,26,244,28,94,79,128,15,235,20,5,24,128,0,177,248,248,65,128,0,239,254,248,65,128,0,231,248,248,65,128,0,239,0,'Factory','This is a factory stock color.'), - (47,10,1,104,'Peach / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',16,128,255,128,9,240,40,15,255,128,26,244,40,15,255,128,26,244,16,128,255,128,9,240,40,10,255,128,22,255,28,203,232,128,20,255,16,128,255,128,9,240,128,3,255,128,30,255,0,'Factory','This is a factory stock color.'), - (48,10,1,104,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',1,255,255,128,0,255,40,15,13,128,1,229,40,15,13,128,1,244,1,255,255,128,0,255,20,5,24,128,0,177,28,203,232,128,33,255,20,5,10,128,0,167,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (49,10,1,104,'Silver / Slate Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',137,14,64,128,0,233,137,14,64,128,0,233,1,255,255,128,0,255,1,255,255,128,0,255,20,5,24,128,0,177,1,255,64,128,0,248,137,14,64,128,0,233,137,14,64,128,0,233,0,'Factory','This is a factory stock color.'), - (50,10,1,104,'Teal / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57faitin',120,192,50,128,0,245,40,15,255,128,26,244,40,15,255,128,26,244,120,192,50,128,0,245,40,10,255,128,22,255,1,255,255,128,0,255,120,192,50,128,0,202,128,3,255,128,2,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (51,10,1,105,'White / Mint Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',65,79,255,128,0,255,65,79,255,128,0,255,40,15,255,128,24,254,65,79,255,128,0,255,20,5,24,128,0,156,28,203,232,128,33,255,128,3,255,128,52,255,65,79,255,128,0,255,0,'Factory','This is a factory stock color.'), - (52,10,1,105,'White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',1,255,255,128,0,244,40,15,255,128,26,244,40,15,255,128,24,254,1,255,255,128,0,244,20,5,24,128,0,156,28,203,232,128,20,255,128,3,255,128,52,255,1,255,255,128,11,255,0,'Factory','This is a factory stock color.'), - (53,10,1,105,'White / Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',151,255,176,128,0,252,40,15,255,128,26,244,40,15,255,128,24,254,151,255,176,128,0,252,40,10,255,128,22,255,28,203,232,128,20,255,128,3,255,128,52,255,151,255,176,128,11,255,0,'Factory','This is a factory stock color.'), - (54,10,1,105,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',20,5,14,128,0,222,40,15,13,128,1,229,40,15,13,128,1,244,20,5,14,128,0,222,20,5,24,128,0,156,28,203,232,128,20,255,20,5,10,96,0,207,20,5,10,128,0,222,0,'Factory','This is a factory stock color.'), - (55,10,1,105,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,24,254,28,94,79,128,15,235,40,10,255,128,22,255,122,16,255,128,13,255,33,255,255,128,50,255,33,255,255,128,45,255,0,'Factory','This is a factory stock color.'), - (56,10,1,105,'White / Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',146,100,255,128,13,255,40,15,255,128,26,244,40,15,255,128,24,254,146,100,255,128,13,255,20,5,24,128,0,156,28,203,232,128,20,255,128,3,255,128,52,255,146,128,255,128,33,255,0,'Factory','This is a factory stock color.'), - (57,10,1,105,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57rantin',28,94,79,128,15,235,40,15,255,128,26,244,40,15,255,128,26,244,28,94,79,128,15,235,20,5,24,128,0,156,248,248,65,128,0,239,254,248,65,128,0,231,248,248,65,128,0,239,0,'Factory','This is a factory stock color.'), - (58,10,1,105,'Peach / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',16,128,255,128,9,240,40,15,255,128,26,244,40,15,255,128,26,244,16,128,255,128,9,240,40,10,255,128,22,255,28,203,232,128,20,255,16,128,255,128,40,255,128,3,255,128,41,255,0,'Factory','This is a factory stock color.'), - (59,10,1,105,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',1,255,255,128,0,255,40,15,13,128,1,229,40,15,13,128,1,244,1,255,255,128,0,255,20,5,24,128,0,156,28,203,232,128,33,255,20,5,10,96,0,207,1,255,255,128,13,255,0,'Factory','This is a factory stock color.'), - (60,10,1,105,'Slate Gray / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',137,14,64,128,0,233,137,14,64,128,0,233,1,255,255,128,0,255,1,255,255,128,0,255,20,5,24,128,0,156,1,255,64,128,0,248,137,14,64,128,0,216,137,14,64,128,7,253,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (61,10,1,105,'Teal / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57rantin',120,192,50,128,0,245,40,15,255,128,26,244,40,15,255,128,26,244,120,192,50,128,0,245,40,10,255,128,22,255,1,255,255,128,0,255,128,192,50,128,0,228,128,3,255,128,3,255,0,'Factory','This is a factory stock color.'), - (62,10,1,106,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',1,255,188,128,0,214,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,128,13,173,128,0,244,128,13,173,128,0,244,128,13,173,128,0,244,0,'Factory','This is a factory stock color.'), - (63,10,1,106,'Mist Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,218,27,114,77,128,0,215,27,114,77,128,0,202,27,114,77,128,0,220,40,10,255,128,35,255,84,67,130,128,0,255,45,10,255,128,60,255,84,67,130,128,0,255,0,'Factory','This is a factory stock color.'), - (64,10,1,106,'Moss Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,218,41,10,255,128,0,218,124,163,77,128,0,206,124,163,77,128,0,223,30,10,26,128,0,192,124,163,77,128,0,223,124,163,77,128,0,223,124,163,77,128,0,223,0,'Factory','This is a factory stock color.'), - (65,10,1,106,'Pale Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,38,150,255,116,16,255,38,150,255,116,16,255,40,10,255,128,35,255,38,167,255,116,35,255,38,167,255,116,35,255,38,167,255,116,35,255,0,'Factory','This is a factory stock color.'), - (66,10,1,106,'Slate Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,142,219,94,198,0,180,142,219,94,198,0,180,30,10,26,128,0,192,142,219,94,198,0,180,45,10,255,128,60,255,142,219,94,198,0,180,0,'Factory','This is a factory stock color.'), - (67,10,1,106,'Blue Silver Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,233,139,70,255,128,6,233,139,70,255,128,6,255,40,10,255,128,35,255,139,70,255,128,6,255,45,10,255,128,60,255,139,70,255,128,6,255,0,'Factory','This is a factory stock color.'), - (68,10,1,106,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,1,255,188,128,0,248,45,10,255,128,60,255,1,255,188,128,0,248,0,'Factory','This is a factory stock color.'), - (69,10,1,106,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,30,5,1,159,0,156,45,10,255,128,60,255,30,5,1,159,0,156,0,'Factory','This is a factory stock color.'), - (70,10,1,106,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,1,255,188,128,0,214,1,255,188,128,0,229,30,10,26,128,0,192,128,0,255,107,50,255,128,0,255,107,50,255,128,0,255,107,50,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (71,10,1,106,'Peach',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,19,94,255,128,0,246,19,94,255,128,0,255,30,10,26,128,0,192,19,94,255,128,0,255,45,10,255,128,60,255,19,113,255,113,33,255,0,'Factory','This is a factory stock color.'), - (72,10,1,106,'Indigo Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',128,13,23,128,0,181,128,13,23,128,0,181,128,13,23,128,0,181,128,13,23,128,0,208,30,10,26,128,0,192,198,104,32,128,0,184,198,104,32,128,0,184,198,104,32,128,0,184,0,'Factory','This is a factory stock color.'), - (73,10,1,106,'Pink Rose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57tbitin',41,10,255,128,0,235,41,10,255,128,0,227,252,82,194,128,2,255,252,82,194,128,2,255,40,10,255,128,35,255,252,88,194,113,28,255,45,10,255,128,60,255,252,88,194,113,28,255,0,'Factory','This is a factory stock color.'), - (74,10,1,107,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',35,47,126,128,0,249,0,255,255,128,0,248,0,255,255,128,0,248,0,255,255,128,0,248,40,15,255,128,11,255,35,111,126,128,0,240,40,15,255,128,15,255,35,111,126,128,0,240,0,'Factory','This is a factory stock color.'), - (75,10,1,107,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',0,129,255,128,0,255,40,18,236,128,19,255,40,18,175,128,19,239,40,18,160,128,19,232,40,15,45,128,11,170,0,255,255,128,0,240,40,15,255,128,15,255,0,255,255,128,0,240,0,'Factory','This is a factory stock color.'), - (76,10,1,107,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',45,27,255,128,9,255,253,255,203,128,0,250,253,255,114,128,0,236,253,255,104,128,0,228,40,15,255,128,14,255,45,47,255,128,24,255,40,15,255,128,15,255,45,47,255,128,24,255,0,'Factory','This is a factory stock color.'), - (77,10,1,107,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',142,48,255,128,9,255,40,18,236,128,39,255,40,18,175,128,19,250,40,18,160,128,19,246,40,15,45,128,11,170,142,99,255,128,0,255,40,15,255,128,15,255,142,99,255,128,0,255,0,'Factory','This is a factory stock color.'), - (78,10,1,107,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',20,7,94,128,0,237,253,255,203,128,0,250,253,255,114,128,0,236,253,255,104,128,0,228,40,15,45,128,11,170,20,7,14,128,0,177,40,15,255,128,15,255,20,7,14,128,0,177,0,'Factory','This is a factory stock color.'), - (79,10,1,107,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',137,22,159,128,0,249,40,18,52,128,2,227,40,18,75,128,2,222,40,18,52,128,2,208,40,15,45,128,11,170,137,22,122,128,0,231,40,15,255,128,15,255,137,22,122,128,0,231,0,'Factory','This is a factory stock color.'), - (80,10,1,107,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',247,35,151,128,1,244,40,18,236,128,19,255,40,18,175,128,19,239,40,18,160,128,19,232,40,15,45,128,11,170,247,224,57,128,0,207,247,224,57,128,0,207,247,224,57,128,0,207,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (81,10,1,107,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',126,24,116,128,0,237,40,18,236,128,19,255,126,57,97,128,0,222,126,57,97,128,0,222,40,15,45,128,11,170,126,57,71,128,0,203,40,15,255,128,15,255,126,57,71,128,0,203,0,'Factory','This is a factory stock color.'), - (82,10,1,107,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',128,3,138,128,19,255,40,18,236,128,30,255,45,47,255,128,24,255,45,47,255,128,24,255,40,15,45,128,11,170,32,192,255,128,35,255,128,3,255,128,35,255,32,192,255,128,35,255,0,'Factory','This is a factory stock color.'), - (83,10,1,107,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',172,43,58,128,0,237,40,18,236,128,39,255,40,15,45,128,11,206,40,15,45,128,11,194,40,15,45,128,11,170,154,165,58,128,0,201,40,15,255,128,15,255,154,165,58,128,0,201,0,'Factory','This is a factory stock color.'), - (84,10,1,107,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',245,23,255,128,10,255,40,18,236,128,39,255,120,141,71,128,0,237,120,141,71,128,0,237,40,15,255,128,14,255,120,185,71,128,0,216,40,15,255,128,15,255,120,185,71,128,0,216,0,'Factory','This is a factory stock color.'), - (85,10,1,107,'Gunmetal Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63tbitin',128,0,255,128,0,255,128,0,2,128,0,222,33,19,67,128,0,219,33,19,67,128,0,219,40,15,45,128,11,170,33,19,67,128,0,219,40,15,255,128,15,255,33,19,67,128,0,219,0,'Factory','This is a factory stock color.'), - (86,10,1,108,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,27,80,255,128,0,255,27,80,255,128,0,255,27,80,255,128,0,255,0,'Factory','This is a factory stock color.'), - (87,10,1,108,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',246,242,84,128,5,253,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,246,242,84,128,0,210,246,242,84,128,0,210,246,242,84,128,0,210,0,'Factory','This is a factory stock color.'), - (88,10,1,108,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,225,40,20,6,128,0,176,35,66,86,128,3,225,128,0,1,128,0,168,35,66,86,128,3,225,0,'Factory','This is a factory stock color.'), - (89,10,1,108,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',120,100,49,128,5,250,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,124,254,77,128,13,225,124,254,77,128,13,225,124,254,77,128,13,225,0,'Factory','This is a factory stock color.'), - (90,10,1,108,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',132,126,255,128,35,225,131,11,255,128,15,255,131,11,255,128,15,255,131,11,255,128,15,255,40,20,255,128,15,255,132,126,255,128,35,235,132,126,255,128,35,235,132,126,255,128,35,235,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (91,10,1,108,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',120,100,49,128,0,222,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,254,40,20,6,128,0,176,120,100,49,128,0,222,128,0,1,128,0,168,120,100,49,128,0,222,0,'Factory','This is a factory stock color.'), - (92,10,1,108,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,19,163,113,128,0,255,44,30,255,128,38,255,19,163,113,128,0,255,0,'Factory','This is a factory stock color.'), - (93,10,1,108,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,32,215,255,128,45,249,32,215,255,128,45,249,32,215,255,128,45,249,0,'Factory','This is a factory stock color.'), - (94,10,1,108,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',40,20,255,128,0,180,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,128,0,1,128,0,181,128,0,1,128,0,181,128,0,1,128,0,181,0,'Factory','This is a factory stock color.'), - (95,10,1,108,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',148,218,49,128,0,210,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,148,218,49,128,0,210,148,218,49,128,0,210,148,218,49,128,0,210,0,'Factory','This is a factory stock color.'), - (96,10,1,108,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,28,50,255,128,38,255,128,0,1,128,0,168,28,50,255,128,38,255,0,'Factory','This is a factory stock color.'), - (97,10,1,108,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',121,36,85,128,3,254,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,121,36,85,128,0,222,121,36,85,128,0,222,121,36,85,128,0,222,0,'Factory','This is a factory stock color.'), - (98,10,1,108,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64statin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,2,255,255,128,0,250,2,255,255,128,0,250,2,255,255,128,0,250,0,'Factory','This is a factory stock color.'), - (99,10,1,109,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,208,104,22,254,40,15,160,128,10,255,114,163,64,128,0,225,114,163,64,128,0,212,40,15,255,128,9,255,114,163,64,128,0,212,40,14,255,128,27,255,114,163,64,128,0,212,0,'Factory','This is a factory stock color.'), - (100,10,1,109,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,105,194,22,168,33,83,155,128,3,250,40,15,109,128,2,235,33,83,155,128,0,255,30,10,30,128,0,175,33,83,155,128,9,255,33,83,155,128,0,215,33,83,155,128,0,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (101,10,1,109,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',1,255,130,128,1,250,1,255,121,128,1,244,39,16,255,128,19,255,39,16,255,128,56,255,30,10,30,128,0,175,26,37,255,128,56,255,26,37,255,128,56,255,26,37,255,128,56,255,0,'Factory','This is a factory stock color.'), - (102,10,1,109,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',19,7,1,128,0,201,19,7,1,128,0,164,39,7,255,128,9,248,19,7,1,128,0,164,30,10,30,128,0,175,19,7,1,128,0,176,19,7,1,128,0,176,19,7,1,128,0,176,0,'Factory','This is a factory stock color.'), - (103,10,1,109,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',30,10,30,128,0,241,30,10,30,128,0,248,30,10,30,128,0,241,124,31,116,128,0,241,30,10,30,128,0,175,124,31,116,128,0,250,124,31,116,128,0,236,124,31,116,128,0,236,0,'Factory','This is a factory stock color.'), - (104,10,1,109,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,208,104,22,254,40,15,160,128,10,255,33,208,255,128,50,255,33,208,255,128,50,255,40,15,255,128,9,255,33,208,255,128,50,255,40,14,255,128,27,255,33,208,255,128,50,255,0,'Factory','This is a factory stock color.'), - (105,10,1,109,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,151,193,58,128,0,211,40,15,109,128,2,235,151,193,58,128,0,211,30,10,30,128,0,175,151,193,58,128,0,211,40,14,255,128,27,255,151,193,58,128,0,211,0,'Factory','This is a factory stock color.'), - (106,10,1,109,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',129,32,36,128,0,223,129,32,52,128,0,244,129,255,91,128,0,225,129,255,91,128,0,230,40,15,255,128,9,255,129,255,91,128,0,249,40,14,255,128,27,255,129,255,91,128,0,225,0,'Factory','This is a factory stock color.'), - (107,10,1,109,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,105,128,22,216,33,83,155,128,3,250,40,15,109,128,2,235,26,201,151,128,15,255,30,10,30,128,0,175,26,201,151,128,15,255,40,14,255,128,27,255,26,201,151,128,15,255,0,'Factory','This is a factory stock color.'), - (108,10,1,109,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,40,15,109,128,2,188,40,15,109,128,2,188,248,250,54,128,0,219,30,10,30,128,0,175,248,250,54,128,0,250,248,250,54,128,0,219,248,250,54,128,0,219,0,'Factory','This is a factory stock color.'), - (109,10,1,109,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,18,242,40,15,109,128,18,242,40,15,109,128,18,235,0,255,255,128,2,250,36,45,125,128,0,228,0,255,255,128,7,254,40,14,255,128,27,255,0,255,255,128,2,250,0,'Factory','This is a factory stock color.'), - (110,10,1,109,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,255,128,41,249,40,15,255,128,41,231,40,15,255,128,41,214,134,167,197,128,16,255,40,15,255,128,9,255,134,167,197,128,16,255,40,14,255,128,27,255,134,167,197,128,16,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (111,10,1,109,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64galtin',40,15,109,128,2,188,40,15,109,128,2,188,40,15,109,128,2,188,37,71,86,128,0,250,40,15,255,128,9,255,37,71,86,128,0,241,37,71,86,128,0,241,37,71,86,128,0,241,0,'Factory','This is a factory stock color.'), - (112,10,1,110,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,131,146,128,0,233,128,0,2,128,0,173,48,122,146,128,0,255,0,'Factory','This is a factory stock color.'), - (113,10,1,110,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,142,54,73,128,0,237,142,13,73,128,0,252,142,252,73,128,0,227,0,'Factory','This is a factory stock color.'), - (114,10,1,110,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,26,237,52,128,0,222,32,177,128,128,0,236,250,237,52,128,0,206,0,'Factory','This is a factory stock color.'), - (115,10,1,110,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,0,'Factory','This is a factory stock color.'), - (116,10,1,110,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,0,'Factory','This is a factory stock color.'), - (117,10,1,110,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,114,54,124,128,0,219,128,0,2,128,0,173,109,54,124,128,0,231,0,'Factory','This is a factory stock color.'), - (118,10,1,110,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,44,45,255,128,45,222,128,0,2,128,0,173,44,45,255,128,66,222,0,'Factory','This is a factory stock color.'), - (119,10,1,110,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,1,254,163,128,13,220,1,254,163,128,13,241,30,10,1,128,2,155,0,'Factory','This is a factory stock color.'), - (120,10,1,110,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (121,10,1,110,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,1,254,163,128,1,224,128,0,2,128,0,173,1,254,163,128,13,241,0,'Factory','This is a factory stock color.'), - (122,10,1,110,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,0,'Factory','This is a factory stock color.'), - (123,10,1,110,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,133,116,212,128,13,207,128,0,2,128,0,173,133,116,212,128,13,227,0,'Factory','This is a factory stock color.'), - (124,10,1,110,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,30,254,255,118,45,212,128,0,2,128,0,173,30,254,255,118,45,252,0,'Factory','This is a factory stock color.'), - (125,10,1,110,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,0,'Factory','This is a factory stock color.'), - (126,10,1,110,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,0,'Factory','This is a factory stock color.'), - (127,10,1,110,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,19,90,88,155,0,202,128,0,2,128,0,173,19,90,88,155,0,211,0,'Factory','This is a factory stock color.'), - (128,10,1,110,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69tortin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,138,219,92,137,0,214,128,0,2,128,0,163,138,219,92,137,0,224,0,'Factory','This is a factory stock color.'), - (129,10,1,111,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',151,135,158,128,16,232,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,128,0,0,128,0,128,151,135,158,128,16,232,0,'Factory','As per 70 Boss 302 CSV.'), - (130,10,1,111,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',45,102,112,128,16,211,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,128,0,0,128,0,128,45,102,112,128,16,211,0,'Factory','As per 70 Boss 302 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (131,10,1,111,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',6,194,143,128,6,240,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,35,64,158,128,16,244,6,194,143,128,6,240,0,'Factory','As per 70 Boss 302 CSV.'), - (132,10,1,111,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',20,10,1,128,0,177,1,253,163,128,24,242,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,1,253,163,128,24,242,20,10,1,128,0,177,0,'Factory','As per 70 Boss 302 CSV.'), - (133,10,1,111,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','Not listed as factory color. Left over from old CSV file.'), - (134,10,1,111,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Boss 302 CSV.'), - (135,10,1,111,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Boss 302 CSV.'), - (136,10,1,111,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Boss 302 CSV.'), - (137,10,1,111,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Boss 302 CSV.'), - (138,10,1,111,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Boss 302 CSV.'), - (139,10,1,111,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Boss 302 CSV.'), - (140,10,1,111,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Boss 302 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (141,10,1,111,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Boss 302 CSV.'), - (142,10,1,111,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Boss 302 CSV.'), - (143,10,1,111,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Boss 302 CSV.'), - (144,10,1,111,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb3tin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Boss 302 CSV.'), - (145,10,1,111,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','This is a factory stock color.'), - (146,10,1,112,'Indigo',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',197,224,71,128,0,186,197,224,71,128,0,207,128,0,7,128,0,175,197,224,71,128,0,207,40,15,9,128,0,207,197,224,71,128,0,186,197,224,71,128,0,186,197,224,71,128,0,186,0,'Factory','This is a factory stock color.'), - (147,10,1,112,'Pale Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,16,255,128,0,249,35,83,255,128,23,255,40,15,255,128,0,255,35,83,255,128,23,255,35,15,255,128,58,255,128,0,255,128,0,211,128,16,255,128,0,231,35,83,255,128,23,255,0,'Factory','This is a factory stock color.'), - (148,10,1,112,'Light Green Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',77,20,124,128,0,252,77,37,124,128,0,242,40,15,255,128,0,255,77,37,124,128,0,242,35,15,255,128,58,255,128,0,255,128,0,178,128,16,255,128,0,231,77,37,124,128,0,242,0,'Factory','This is a factory stock color.'), - (149,10,1,112,'Burgundy Flame',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',252,79,41,128,0,231,252,255,41,128,0,208,40,15,255,128,0,255,252,255,41,128,0,208,40,15,9,128,0,207,252,97,41,128,0,181,128,16,255,128,0,231,252,255,41,128,0,208,0,'Factory','This is a factory stock color.'), - (150,10,1,112,'Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',5,255,255,128,0,237,5,7,7,128,0,193,5,7,7,128,0,193,5,7,7,128,0,193,40,15,9,128,0,207,5,255,255,128,0,237,5,255,255,128,0,237,5,255,255,128,0,237,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (151,10,1,112,'Black Pearl',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',165,8,255,128,0,180,165,8,255,128,0,180,33,23,255,128,0,240,165,8,255,128,0,180,40,15,9,128,0,207,20,8,1,58,0,155,20,8,1,58,0,155,20,8,1,58,0,155,0,'Factory','This is a factory stock color.'), - (152,10,1,112,'Gray Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,11,133,128,20,252,128,16,133,128,0,242,128,0,255,128,0,194,128,16,133,128,0,242,40,15,9,128,0,207,128,0,255,128,0,194,128,11,255,128,0,253,128,16,133,128,0,242,0,'Factory','This is a factory stock color.'), - (153,10,1,112,'Steel Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',27,36,66,128,0,241,27,36,66,128,0,225,33,11,255,128,0,228,27,36,66,128,0,225,40,15,9,128,0,207,128,0,255,128,0,184,128,16,255,128,0,231,27,36,66,128,0,225,0,'Factory','This is a factory stock color.'), - (154,10,1,112,'Blue Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',129,65,61,128,0,220,129,65,61,128,0,220,33,11,255,128,0,228,129,65,61,128,0,220,40,15,9,128,0,207,128,0,255,128,0,184,128,16,255,128,0,231,129,65,61,128,0,220,0,'Factory','This is a factory stock color.'), - (155,10,1,112,'Sunburst Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',20,255,254,128,40,240,20,255,254,128,40,240,33,23,255,128,0,240,20,255,254,128,40,240,40,15,9,128,0,207,20,255,254,128,40,240,20,255,254,128,40,240,20,255,254,128,40,240,0,'Factory','This is a factory stock color.'), - (156,10,1,112,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',128,0,255,128,35,255,2,255,58,128,0,214,2,255,58,128,0,214,2,255,58,128,0,214,40,15,9,128,0,207,128,6,255,128,37,255,128,6,255,128,37,255,128,6,255,128,37,255,0,'Factory','This is a factory stock color.'), - (157,10,1,112,'Sky Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'49mertin',40,15,255,128,0,240,143,121,255,128,6,255,40,15,255,128,0,255,143,121,255,128,6,255,35,15,255,128,58,255,128,0,255,128,0,188,128,0,255,128,0,233,143,121,255,128,6,255,0,'Factory','This is a factory stock color.'), - (158,10,1,113,'Harbor Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,156,241,94,122,0,246,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,156,241,94,122,0,246,0,'Factory','This is a factory stock color.'), - (159,10,1,113,'Inca Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,20,10,11,128,0,216,20,10,11,128,0,203,20,10,11,128,0,233,20,10,22,128,0,184,40,10,172,100,31,250,0,255,255,128,0,255,40,10,172,100,31,250,0,'Factory','This is a factory stock color.'), - (160,10,1,113,'Tropical Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,24,28,255,128,36,252,120,95,255,108,37,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,120,95,255,108,37,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (161,10,1,113,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,20,10,11,128,0,216,20,10,11,128,0,233,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), - (162,10,1,113,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,20,10,11,128,0,193,0,255,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), - (163,10,1,113,'Imperial Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,33,47,255,97,71,255,128,0,255,128,0,255,33,47,255,97,71,255,0,'Factory','This is a factory stock color.'), - (164,10,1,113,'Coronado Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,33,228,255,47,82,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,33,228,255,47,88,255,0,'Factory','This is a factory stock color.'), - (165,10,1,113,'Laurel Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,40,26,255,128,28,249,60,92,114,128,0,242,20,10,22,128,0,184,60,92,114,128,0,242,128,0,255,128,0,255,60,92,114,128,0,242,0,'Factory','This is a factory stock color.'), - (166,10,1,113,'Sierra Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,33,35,255,97,78,255,128,0,255,128,0,255,33,190,155,122,22,254,0,'Factory','This is a factory stock color.'), - (167,10,1,113,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57chetin',128,0,255,128,0,255,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,4,255,255,128,21,255,128,0,255,128,0,255,4,255,255,128,21,255,0,'Factory','This is a factory stock color.'), - (168,10,1,114,'Venetian Red / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',1,255,255,128,0,255,1,255,255,128,0,255,40,25,255,128,0,250,1,255,255,128,0,255,40,20,255,128,0,255,128,0,255,128,0,255,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (169,10,1,114,'Venetian Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',1,255,255,128,0,255,1,255,255,128,0,255,40,25,255,128,0,250,1,255,255,128,0,255,40,20,255,128,0,255,1,255,255,128,0,232,1,255,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (170,10,1,114,'Polo White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',128,5,255,128,41,255,128,5,255,128,41,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,128,5,255,128,48,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (171,10,1,114,'Polo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',128,5,255,128,41,255,128,5,255,128,41,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,128,5,255,128,41,248,128,5,255,128,48,255,128,5,255,128,48,255,0,'Factory','This is a factory stock color.'), - (172,10,1,114,'Onyx Black / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,40,25,255,128,0,250,40,20,255,128,0,170,40,20,255,128,0,255,128,0,255,128,0,255,40,20,255,128,0,170,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), - (173,10,1,114,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,40,25,255,128,0,171,40,20,255,128,0,170,40,20,255,128,0,255,40,20,255,128,0,177,40,20,255,128,0,170,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), - (174,10,1,114,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,20,255,128,0,170,40,20,255,128,0,170,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,40,20,1,128,0,154,0,'Factory','This is a factory stock color.'), - (175,10,1,114,'Inca Silver / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,15,255,128,12,255,40,15,255,128,12,255,1,255,255,128,0,235,1,255,255,128,0,255,40,20,255,128,0,170,1,255,255,128,0,255,1,255,255,128,0,255,40,15,109,128,12,255,0,'Factory','This is a factory stock color.'), - (176,10,1,114,'Inca Silver / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',40,15,255,128,12,255,40,15,255,128,12,255,40,25,255,128,0,250,40,20,255,128,0,170,40,20,255,128,0,170,128,0,255,128,0,255,40,15,255,128,12,255,40,15,109,128,12,255,0,'Factory','This is a factory stock color.'), - (177,10,1,114,'Aztec Copper / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',10,146,161,128,18,221,10,146,161,128,18,221,40,25,255,128,0,250,10,146,161,128,18,221,40,25,255,128,0,250,128,0,255,128,0,255,10,146,161,128,18,221,10,146,161,128,18,221,0,'Factory','This is a factory stock color.'), - (178,10,1,114,'Arctic Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,40,25,255,128,0,250,140,61,143,128,14,219,40,25,255,128,0,250,128,0,255,128,0,255,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'), - (179,10,1,114,'Arctic Blue / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,1,214,207,128,9,225,140,61,143,128,14,219,40,20,255,128,0,170,128,0,255,128,0,222,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'), - (180,10,1,114,'Arctic Blue / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57vettin',140,61,143,128,14,219,140,61,143,128,14,219,1,214,207,128,9,225,140,61,143,128,14,219,40,20,255,128,0,170,1,255,255,128,0,255,140,61,143,128,14,219,140,61,143,128,14,219,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (181,10,1,114,'Cascade Green / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',127,251,211,128,0,255,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,255,40,25,255,128,0,250,128,0,255,128,0,255,127,251,211,128,0,255,127,251,211,128,0,255,0,'Factory','This is a factory stock color.'), - (182,10,1,114,'Cascade Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57vettin',127,251,211,128,0,255,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,255,40,25,255,128,0,250,127,251,211,128,0,231,127,251,211,128,0,255,127,251,211,128,0,255,0,'Factory','This is a factory stock color.'), - (183,10,1,115,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,4,255,255,128,21,255,128,0,255,128,0,255,4,255,255,128,21,255,0,'Factory','This is a factory stock color.'), - (184,10,1,115,'Inca Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',4,255,255,128,21,241,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,40,10,172,100,31,250,0,255,255,128,0,255,40,10,172,100,31,250,0,'Factory','This is a factory stock color.'), - (185,10,1,115,'Tropical Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,24,28,255,128,36,252,120,95,255,108,37,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,120,95,255,108,37,255,0,'Factory','This is a factory stock color.'), - (186,10,1,115,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,20,10,11,128,0,216,20,10,11,128,0,233,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), - (187,10,1,115,'Onyx Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,20,10,11,128,0,193,0,255,255,128,0,255,20,10,11,128,0,193,0,'Factory','This is a factory stock color.'), - (188,10,1,115,'Imperial Ivory',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,4,255,255,128,21,222,4,255,255,128,21,241,20,10,22,128,0,184,33,47,255,97,71,255,128,0,255,128,0,255,33,47,255,97,71,255,0,'Factory','This is a factory stock color.'), - (189,10,1,115,'Coronado Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,33,228,255,47,82,255,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,33,228,255,47,88,255,0,'Factory','This is a factory stock color.'), - (190,10,1,115,'Laurel Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,60,92,114,128,0,242,20,10,22,128,0,184,60,92,114,128,0,242,128,0,255,128,0,255,60,92,114,128,0,242,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (191,10,1,115,'Sierra Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,216,20,10,11,128,0,233,20,10,22,128,0,184,33,35,255,97,78,255,128,0,255,128,0,255,33,190,155,122,22,254,0,'Factory','This is a factory stock color.'), - (192,10,1,115,'Harbor Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'57nomtin',24,28,255,128,36,252,24,28,255,128,36,252,40,26,255,128,28,249,156,241,94,122,0,246,40,15,255,128,28,255,33,35,255,97,78,255,128,0,255,128,0,255,156,241,94,122,0,246,0,'Factory','This is a factory stock color.'), - (193,10,1,116,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,1,254,255,128,0,246,40,15,255,128,0,255,1,254,255,128,0,229,40,20,255,128,0,229,1,71,255,128,0,249,40,24,255,128,32,255,1,254,255,128,0,218,0,'Factory','This is a factory stock color.'), - (194,10,1,116,'Gray-Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,125,47,90,128,0,202,128,0,255,128,0,186,125,47,90,128,0,202,40,20,10,128,0,224,125,18,90,128,0,248,40,24,255,128,32,255,125,47,90,128,0,202,0,'Factory','This is a factory stock color.'), - (195,10,1,116,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,20,5,255,128,0,199,128,0,255,128,0,186,20,5,255,128,0,199,40,20,10,128,0,224,20,5,1,128,0,208,20,5,1,128,0,159,20,5,1,128,0,159,0,'Factory','This is a factory stock color.'), - (196,10,1,116,'Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,127,254,53,128,1,195,128,0,255,128,0,186,127,254,53,128,1,195,40,20,10,128,0,224,127,49,53,128,1,229,127,254,53,128,1,195,127,254,53,128,1,195,0,'Factory','This is a factory stock color.'), - (197,10,1,116,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',40,15,255,128,0,255,108,69,143,128,0,219,40,15,255,128,0,255,108,69,143,128,0,219,40,20,10,128,0,224,108,24,143,128,0,233,40,24,255,128,32,255,108,69,143,128,0,219,0,'Factory','This is a factory stock color.'), - (198,10,1,116,'Off-White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,31,43,255,128,32,255,1,249,154,128,0,224,31,43,255,128,32,255,40,20,10,128,0,224,31,43,255,128,23,255,31,43,255,128,32,255,31,43,255,128,32,255,0,'Factory','This is a factory stock color.'), - (199,10,1,116,'Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,170,255,47,128,0,242,128,0,255,128,0,186,170,255,47,128,0,218,40,20,10,128,0,224,147,75,47,128,0,211,147,255,47,128,0,180,147,255,47,128,0,180,0,'Factory','This is a factory stock color.'), - (200,10,1,116,'Dark Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',30,79,30,128,0,241,30,79,30,128,0,241,30,79,30,128,0,253,30,79,30,128,0,212,40,20,10,128,0,224,94,54,47,128,0,220,107,185,47,114,0,175,107,185,47,114,0,175,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (201,10,1,116,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,128,8,255,128,33,233,1,249,154,128,0,224,128,8,255,128,33,255,40,20,255,128,0,229,128,8,255,128,7,255,128,8,255,128,33,255,128,8,255,128,33,255,0,'Factory','This is a factory stock color.'), - (202,10,1,116,'Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',40,15,255,128,0,255,30,83,255,128,7,239,40,15,255,128,0,255,30,83,255,128,7,239,40,20,10,128,0,224,30,49,255,128,7,250,40,24,255,128,32,255,30,83,255,128,7,239,0,'Factory','This is a factory stock color.'), - (203,10,1,116,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,19,254,255,128,11,255,40,15,255,128,0,255,19,254,255,128,11,255,40,20,255,128,0,229,23,65,255,128,20,255,40,24,255,128,32,255,19,254,255,128,11,255,0,'Factory','This is a factory stock color.'), - (204,10,1,116,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,28,232,255,128,30,255,128,0,255,128,0,255,28,232,255,128,30,255,40,20,255,128,73,255,37,44,255,128,6,240,40,24,255,128,32,255,28,232,255,128,30,255,0,'Factory','This is a factory stock color.'), - (205,10,1,116,'Light Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,139,139,255,128,6,237,128,0,255,128,0,255,139,139,255,128,6,237,40,20,255,128,73,255,139,45,255,128,6,250,40,24,255,128,32,255,139,139,255,128,6,237,0,'Factory','This is a factory stock color.'), - (206,10,1,116,'Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64imptin',128,0,255,128,0,255,20,5,255,128,0,229,1,2,154,128,0,173,20,5,255,128,0,214,40,20,255,128,0,229,20,5,255,128,0,240,20,5,255,128,0,206,20,5,255,128,0,206,0,'Factory','This is a factory stock color.'), - (207,10,1,117,'Sebring Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,128,5,109,128,0,255,128,5,109,128,0,255,128,5,109,128,0,255,128,5,109,128,0,255,0,'Factory','This is a factory stock color.'), - (208,10,1,117,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',158,133,75,128,30,229,158,133,75,128,30,218,158,133,75,128,30,229,158,133,75,128,30,229,146,73,186,128,56,195,146,73,186,128,56,195,146,73,186,128,56,195,146,73,186,128,56,195,0,'Factory','This is a factory stock color.'), - (209,10,1,117,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,146,255,114,128,1,232,146,255,114,128,1,232,146,255,114,128,1,232,146,255,114,128,1,232,0,'Factory','This is a factory stock color.'), - (210,10,1,117,'Riverside Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,5,255,219,128,0,255,5,255,219,128,0,255,5,255,219,128,0,248,5,255,219,128,0,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (211,10,1,117,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,128,5,255,128,69,236,128,5,255,128,69,236,128,5,255,128,69,236,128,5,255,128,69,236,0,'Factory','This is a factory stock color.'), - (212,10,1,117,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,240,30,15,255,128,1,255,30,15,255,128,1,255,35,10,1,130,0,161,35,10,1,130,0,161,35,10,1,130,0,161,35,10,1,130,0,161,0,'Factory','This is a factory stock color.'), - (213,10,1,117,'Saddle Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',23,164,107,128,30,235,23,164,107,128,30,228,23,164,107,128,30,225,23,164,107,128,30,235,20,97,202,128,18,241,20,97,202,128,18,241,20,97,202,128,18,241,20,97,202,128,18,241,0,'Factory','This is a factory stock color.'), - (214,10,1,117,'Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',30,15,255,128,1,255,30,15,255,128,1,255,30,15,255,128,1,255,30,15,255,128,1,255,28,146,207,128,13,249,28,146,207,128,13,249,28,146,207,128,13,249,28,146,207,128,13,249,0,'Factory','This is a factory stock color.'), - (215,10,1,117,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'63vettin',23,164,107,128,30,235,23,164,107,128,30,235,23,164,107,128,30,235,23,164,107,128,30,235,250,255,70,150,0,210,250,255,70,150,0,210,250,255,70,150,0,210,250,255,70,150,0,210,0,'Factory','This is a factory stock color.'), - (216,10,1,118,'Rio Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,1,255,255,128,0,240,1,255,255,128,0,240,40,16,255,128,13,255,1,255,255,128,0,240,128,1,255,128,35,255,1,255,255,128,0,240,0,'Factory','This is a factory stock color.'), - (217,10,1,118,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',107,163,52,128,0,224,121,245,52,128,0,184,121,245,52,128,0,210,121,245,52,128,0,191,40,16,30,128,13,175,121,245,52,128,0,192,39,52,255,128,18,255,109,245,79,128,0,202,0,'Factory','This is a factory stock color.'), - (218,10,1,118,'Colonial Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,185,40,15,35,128,1,216,39,52,255,128,18,255,39,52,255,128,18,255,40,16,30,128,13,175,39,52,255,128,18,255,128,1,255,128,35,255,39,52,255,128,18,255,0,'Factory','This is a factory stock color.'), - (219,10,1,118,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,137,186,105,128,2,207,137,186,105,128,2,207,128,0,255,128,0,255,137,186,105,128,2,207,1,0,255,128,20,255,137,186,105,128,2,207,0,'Factory','This is a factory stock color.'), - (220,10,1,118,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,40,15,35,128,1,216,141,65,138,113,0,236,141,65,138,113,0,236,40,16,30,128,13,175,141,65,138,113,0,236,1,0,255,128,20,255,141,65,138,113,0,236,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (221,10,1,118,'Onyx Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',1,255,108,128,0,185,1,255,108,128,0,205,20,7,7,128,0,185,20,7,7,128,0,174,128,0,255,128,0,255,20,7,7,128,0,176,1,0,255,128,20,255,20,7,7,128,0,160,0,'Factory','This is a factory stock color.'), - (222,10,1,118,'Tropic Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',40,15,255,128,15,255,150,50,35,128,1,216,131,187,181,128,2,251,131,187,181,128,2,251,128,0,255,128,0,255,131,187,181,128,2,251,131,187,181,128,2,251,131,187,181,128,2,251,0,'Factory','This is a factory stock color.'), - (223,10,1,118,'Snowcrest White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',1,255,108,128,0,224,1,255,108,128,0,219,128,1,255,128,13,255,128,1,255,128,35,255,40,16,30,128,13,175,128,1,255,128,35,255,128,1,255,128,35,255,128,1,255,128,35,255,0,'Factory','This is a factory stock color.'), - (224,10,1,118,'Anniversary Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,223,40,15,35,128,1,216,30,99,158,128,0,236,30,99,158,128,0,236,40,16,30,128,13,175,30,99,158,128,0,236,128,1,255,128,35,255,30,99,158,128,0,236,0,'Factory','This is a factory stock color.'), - (225,10,1,118,'Cay Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'58imptin',33,45,255,128,0,223,128,0,133,128,7,255,13,138,195,103,20,255,13,138,195,103,20,255,128,0,255,128,0,255,13,138,195,103,20,255,128,1,255,128,35,255,13,138,195,103,20,255,0,'Factory','This is a factory stock color.'), - (226,10,1,119,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,0,83,255,128,15,255,0,255,255,111,16,255,0,'Factory','This is a factory stock color.'), - (227,10,1,119,'Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,148,255,54,152,0,211,170,33,54,128,0,231,148,255,54,152,0,211,0,'Factory','This is a factory stock color.'), - (228,10,1,119,'Off White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,250,30,10,5,128,0,245,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,43,26,255,100,48,255,43,54,255,128,10,255,43,26,255,100,48,255,0,'Factory','This is a factory stock color.'), - (229,10,1,119,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,10,5,128,0,232,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,99,0,206,20,5,1,128,0,208,20,5,1,99,0,206,0,'Factory','This is a factory stock color.'), - (230,10,1,119,'Vermillion',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',22,104,94,128,0,245,22,104,94,128,0,252,22,104,94,128,0,252,22,104,94,128,0,252,30,15,2,128,0,214,3,250,64,128,0,227,248,45,64,128,0,228,3,250,64,128,0,227,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (231,10,1,119,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,130,5,124,122,1,232,130,5,126,128,0,253,130,5,124,122,1,232,0,'Factory','This is a factory stock color.'), - (232,10,1,119,'Light Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',142,181,171,128,0,233,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,142,181,171,128,0,254,121,40,171,128,0,249,142,181,171,128,0,254,0,'Factory','This is a factory stock color.'), - (233,10,1,119,'Light Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,35,233,255,128,43,255,35,82,255,128,7,255,35,233,255,128,43,255,0,'Factory','This is a factory stock color.'), - (234,10,1,119,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,5,255,128,14,255,128,5,255,83,58,255,0,'Factory','This is a factory stock color.'), - (235,10,1,119,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',30,15,2,128,0,173,28,104,94,128,20,252,28,104,94,128,20,252,28,104,94,128,20,252,30,15,2,128,0,214,95,147,91,128,0,240,66,39,91,128,0,241,95,147,91,128,0,240,0,'Factory','This is a factory stock color.'), - (236,10,1,119,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',22,255,239,108,30,255,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,22,255,239,86,50,255,22,135,239,108,30,255,22,255,239,86,50,255,0,'Factory','This is a factory stock color.'), - (237,10,1,119,'Dark Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67chetin',128,254,71,143,0,202,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,254,71,143,0,212,128,56,137,143,0,224,128,254,71,143,0,212,0,'Factory','This is a factory stock color.'), - (238,10,1,120,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','This is a factory stock color.'), - (239,10,1,120,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'), - (240,10,1,120,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (241,10,1,120,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), - (242,10,1,120,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), - (243,10,1,120,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), - (244,10,1,120,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), - (245,10,1,120,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), - (246,10,1,120,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'Factory','This is a factory stock color.'), - (247,10,1,120,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), - (248,10,1,120,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), - (249,10,1,120,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,128,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), - (250,10,1,120,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (251,10,1,120,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), - (252,10,1,120,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), - (253,10,1,120,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), - (254,10,1,120,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), - (255,10,1,120,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67camtin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), - (256,10,1,121,'Monza Red / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,255,255,139,0,211,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), - (257,10,1,121,'Classic White / Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,165,1,41,101,128,0,254,15,255,101,128,14,255,128,5,255,128,18,255,0,'Factory','This is a factory stock color.'), - (258,10,1,121,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,128,255,58,152,0,203,128,255,58,152,0,203,128,255,58,152,0,203,0,'Factory','This is a factory stock color.'), - (259,10,1,121,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,27,138,126,128,0,223,27,138,126,128,0,223,27,138,126,128,0,223,0,'Factory','This is a factory stock color.'), - (260,10,1,121,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,122,10,160,128,0,227,1,1,1,128,1,147,122,10,160,142,0,220,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (261,10,1,121,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,104,101,147,128,0,219,104,101,147,128,0,219,104,101,147,128,0,219,0,'Factory','This is a factory stock color.'), - (262,10,1,121,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,97,130,53,128,0,190,97,130,53,128,0,190,97,130,53,128,0,190,0,'Factory','This is a factory stock color.'), - (263,10,1,121,'Cranberry Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,248,254,91,176,0,180,1,1,1,128,1,147,248,254,91,176,0,192,0,'Factory','This is a factory stock color.'), - (264,10,1,121,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,165,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,184,2,180,0,'Factory','This is a factory stock color.'), - (265,10,1,121,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,242,28,83,171,0,180,1,1,1,128,1,147,242,28,83,171,0,202,0,'Factory','This is a factory stock color.'), - (266,10,1,121,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,155,254,70,146,11,184,155,254,70,146,11,184,155,254,70,146,11,184,0,'Factory','This is a factory stock color.'), - (267,10,1,121,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,26,41,53,128,0,199,26,41,53,128,0,199,26,41,53,128,0,199,0,'Factory','This is a factory stock color.'), - (268,10,1,121,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,31,148,112,109,11,228,1,1,1,128,1,147,31,148,112,109,11,233,0,'Factory','This is a factory stock color.'), - (269,10,1,121,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,245,255,66,128,0,198,245,255,66,128,0,198,245,255,66,128,0,198,0,'Factory','This is a factory stock color.'), - (270,10,1,121,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70chetin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,23,126,62,128,0,194,23,126,62,128,0,194,23,126,62,128,0,194,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (271,10,1,121,'Plum / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,215,255,53,128,0,188,1,1,1,128,1,147,215,255,53,128,0,198,0,'Factory','This is a factory stock color.'), - (272,10,1,121,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',18,86,255,117,20,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,31,255,255,117,26,229,1,1,1,128,1,147,31,255,255,117,26,255,0,'Factory','This is a factory stock color.'), - (273,10,1,121,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70chetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,236,255,128,0,219,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), - (274,10,1,122,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,242,28,83,128,0,214,1,1,1,128,1,168,242,28,83,128,0,225,0,'Factory','This is a factory stock color.'), - (275,10,1,122,'Classic White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,248,1,41,101,128,0,254,1,255,101,128,0,236,128,5,255,128,39,255,0,'Factory','This is a factory stock color.'), - (276,10,1,122,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,128,57,58,128,0,248,128,0,255,128,35,255,128,255,58,128,0,227,0,'Factory','This is a factory stock color.'), - (277,10,1,122,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,0,'Factory','This is a factory stock color.'), - (278,10,1,122,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,122,10,160,128,0,227,1,1,1,128,1,168,122,10,160,128,0,248,0,'Factory','This is a factory stock color.'), - (279,10,1,122,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,104,101,147,128,0,239,104,101,147,128,0,239,104,101,147,128,0,239,0,'Factory','This is a factory stock color.'), - (280,10,1,122,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,97,130,53,128,0,210,97,130,53,128,0,210,97,130,53,128,0,210,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (281,10,1,122,'Cranberry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,6,254,91,128,0,233,6,254,91,128,0,233,6,254,91,128,0,233,0,'Factory','This is a factory stock color.'), - (282,10,1,122,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,248,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,128,2,228,0,'Factory','This is a factory stock color.'), - (283,10,1,122,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,1,141,255,128,0,214,1,1,1,128,1,168,1,255,255,139,0,255,0,'Factory','This is a factory stock color.'), - (284,10,1,122,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,155,254,70,146,11,206,155,254,70,146,11,206,155,254,70,146,11,206,0,'Factory','This is a factory stock color.'), - (285,10,1,122,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,26,41,53,128,0,224,26,41,53,128,0,224,26,41,53,128,0,224,0,'Factory','This is a factory stock color.'), - (286,10,1,122,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70camtin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,31,176,112,109,18,206,1,1,1,128,1,168,31,176,112,109,18,253,0,'Factory','This is a factory stock color.'), - (287,10,1,122,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,245,255,66,128,0,225,245,255,66,128,0,225,245,255,66,128,0,225,0,'Factory','This is a factory stock color.'), - (288,10,1,122,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70camtin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,23,126,62,128,0,215,23,126,62,128,0,215,23,126,62,128,0,215,0,'Factory','This is a factory stock color.'), - (289,10,1,123,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,48,83,139,128,0,223,20,7,31,128,0,246,20,7,9,128,0,244,48,28,139,128,0,240,20,7,18,128,0,161,48,83,139,128,0,223,0,'Factory','This is a factory stock color.'), - (290,10,1,123,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',0,255,255,128,0,241,0,255,255,128,0,241,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,0,86,255,128,0,252,0,255,255,128,0,241,0,255,255,128,0,241,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (291,10,1,123,'Astro Blue / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',145,210,142,128,0,216,145,210,142,128,0,216,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,150,79,142,128,0,241,145,210,142,128,0,216,145,210,142,128,0,216,0,'Factory','This is a factory stock color.'), - (292,10,1,123,'Shadow Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,24,66,86,128,0,207,20,7,31,128,0,246,20,7,9,128,0,244,24,40,75,128,0,231,20,7,18,128,0,161,24,66,86,128,0,207,0,'Factory','This is a factory stock color.'), - (293,10,1,123,'Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',22,107,142,128,0,225,22,107,142,128,0,225,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,28,47,142,128,0,245,22,107,142,128,0,225,22,107,142,128,0,225,0,'Factory','This is a factory stock color.'), - (294,10,1,123,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,101,178,33,128,0,193,20,7,31,128,0,246,20,7,9,128,0,244,64,84,33,128,36,206,20,7,18,128,0,161,101,178,33,128,0,193,0,'Factory','This is a factory stock color.'), - (295,10,1,123,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',137,255,52,128,0,192,137,255,52,128,0,192,137,255,52,128,0,192,20,7,31,128,0,246,20,7,9,128,0,244,137,57,52,128,0,237,137,255,52,128,0,192,137,255,52,128,0,192,0,'Factory','This is a factory stock color.'), - (296,10,1,123,'Classic White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,58,255,20,7,18,128,0,208,40,7,255,128,27,255,20,7,31,128,0,246,20,7,9,128,0,244,40,7,255,128,27,225,20,7,18,128,0,161,40,7,255,128,27,255,0,'Factory','This is a factory stock color.'), - (297,10,1,123,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,130,182,97,128,0,222,20,7,31,128,0,246,20,7,9,128,0,244,130,73,97,128,0,235,20,7,18,128,0,161,130,182,97,128,0,222,0,'Factory','This is a factory stock color.'), - (298,10,1,123,'Black Cherry / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',1,255,80,128,2,203,1,255,80,128,2,203,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,1,66,80,128,2,241,1,255,80,128,2,203,1,255,80,128,2,203,0,'Factory','This is a factory stock color.'), - (299,10,1,123,'Autumn Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',26,134,134,137,0,199,26,134,134,137,0,199,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,26,74,134,128,0,245,26,134,134,137,0,199,26,134,134,137,0,199,0,'Factory','This is a factory stock color.'), - (300,10,1,123,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',129,1,189,128,1,222,129,1,189,128,1,222,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,129,1,189,128,1,231,129,1,189,128,1,222,129,1,189,128,1,222,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (301,10,1,123,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70novtin',128,0,255,128,0,255,20,7,18,128,0,208,22,147,147,128,0,244,20,7,31,128,0,246,40,10,255,128,77,255,22,53,147,128,0,250,20,7,18,128,0,161,22,147,147,128,0,244,0,'Factory','This is a factory stock color.'), - (302,10,1,123,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',20,5,1,128,0,184,20,5,1,128,0,184,0,255,255,128,0,241,20,7,31,128,0,246,20,7,9,128,0,244,20,5,66,128,0,245,20,5,1,128,0,184,20,5,1,128,0,177,0,'Factory','This is a factory stock color.'), - (303,10,1,123,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70novtin',29,255,255,128,34,255,29,255,255,128,34,255,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,37,64,255,128,16,239,29,255,255,128,34,255,29,255,255,128,34,255,0,'Factory','This is a factory stock color.'), - (304,10,1,124,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',252,70,92,122,0,231,252,254,92,122,10,255,40,20,255,128,0,250,252,254,92,122,23,255,40,20,255,128,10,255,40,20,255,128,9,254,40,20,255,128,0,250,254,255,92,128,0,199,0,'Factory','This is a factory stock color.'), - (305,10,1,124,'Berkeley Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',32,14,87,101,0,224,32,43,87,101,24,254,40,20,255,128,0,250,32,43,87,101,24,254,40,20,255,128,0,170,40,20,255,128,9,254,40,20,255,128,0,250,32,43,87,101,0,192,0,'Factory','This is a factory stock color.'), - (306,10,1,124,'Cavern Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',83,43,18,104,5,215,67,111,48,128,1,237,27,94,113,128,0,229,67,111,48,128,1,237,40,20,2,128,0,165,27,43,113,128,0,239,27,94,113,128,0,207,83,148,18,104,5,156,0,'Factory','This is a factory stock color.'), - (307,10,1,124,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',128,0,2,128,0,203,40,20,255,128,0,235,40,20,255,128,0,250,128,0,2,128,0,228,40,20,2,128,0,165,128,0,2,64,0,248,128,0,2,64,0,160,128,0,2,64,0,160,0,'Factory','This is a factory stock color.'), - (308,10,1,124,'Gunmetal Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',35,13,71,128,9,218,35,20,71,128,9,255,40,20,255,128,0,184,35,20,71,128,9,255,40,20,2,128,0,165,128,0,2,64,0,248,128,0,2,64,0,160,19,24,41,128,0,185,0,'Factory','This is a factory stock color.'), - (309,10,1,124,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',92,52,74,128,19,197,92,150,74,128,19,231,40,20,255,128,0,250,92,150,74,128,19,231,40,20,2,128,0,165,92,52,74,128,19,197,92,150,74,128,19,159,92,150,74,128,19,159,0,'Factory','This is a factory stock color.'), - (310,10,1,124,'Shetland Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',35,20,71,128,9,241,35,40,240,128,35,255,40,20,255,128,0,184,35,40,240,128,35,255,40,20,2,128,0,165,40,20,255,128,9,254,40,20,255,128,0,250,35,40,172,128,0,229,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (311,10,1,124,'Pawnee Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',22,45,186,128,1,231,22,133,186,128,7,252,40,20,255,128,0,250,22,133,186,128,23,252,40,20,255,128,0,250,22,45,186,128,1,231,22,133,186,128,1,215,22,133,186,128,1,215,0,'Factory','This is a factory stock color.'), - (312,10,1,124,'Asbury Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',62,30,194,128,0,235,62,53,194,128,19,253,40,20,255,128,0,250,62,53,194,128,19,253,40,20,255,128,0,250,40,20,255,128,9,254,40,20,255,128,0,250,62,53,194,128,0,212,0,'Factory','This is a factory stock color.'), - (313,10,1,124,'Marlboro Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'47cadtin',158,65,54,128,0,222,158,254,54,128,0,244,40,20,255,128,0,250,158,254,54,128,0,244,40,20,255,128,10,255,40,20,255,128,9,254,40,20,255,128,0,250,158,254,54,128,0,177,0,'Factory','This is a factory stock color.'), - (314,10,1,125,'Carnation Pink',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,4,74,255,128,40,240,40,20,255,128,10,255,4,74,255,128,40,240,170,5,255,128,30,254,4,74,255,128,40,240,0,'Factory','This is a factory stock color.'), - (315,10,1,125,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,253,246,255,128,0,245,40,20,255,128,10,255,253,246,255,128,0,245,170,5,255,128,30,254,253,246,255,128,0,245,0,'Factory','This is a factory stock color.'), - (316,10,10,125,'Lemon Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,36,167,255,128,45,252,40,20,255,128,10,255,36,167,255,128,45,252,170,5,255,128,30,254,36,167,255,128,45,252,0,'Factory','This is a factory stock color.'), - (317,10,1,125,'Pistachio',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,100,144,255,128,1,245,40,20,255,128,10,255,100,144,255,128,1,245,170,5,255,128,30,254,100,144,255,128,1,245,0,'Factory','This is a factory stock color.'), - (318,10,1,125,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,40,10,255,128,0,185,40,20,5,128,1,137,40,10,6,128,0,161,170,5,255,128,30,254,40,10,6,128,0,161,0,'Factory','This is a factory stock color.'), - (319,10,10,125,'Light Blue Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,130,78,180,128,14,233,40,20,255,128,10,255,130,78,180,128,14,233,170,5,255,128,30,254,130,78,180,128,14,233,0,'Factory','This is a factory stock color.'), - (320,10,1,125,'Executive Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,1,189,40,20,255,128,1,189,40,20,255,128,1,189,158,156,75,128,0,197,40,20,5,128,1,137,158,156,75,128,0,197,158,156,75,128,0,197,158,156,75,128,0,197,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (321,10,10,125,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',1,255,171,128,1,220,1,255,171,128,1,220,1,255,171,128,1,220,130,9,255,128,53,231,40,20,5,128,1,137,130,9,255,128,53,231,130,9,255,128,53,231,130,9,255,128,53,244,0,'Factory','This is a factory stock color.'), - (322,10,1,125,'Saddle Rose',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,21,114,255,128,10,255,40,20,255,128,10,255,21,114,255,128,10,255,170,5,255,128,30,254,21,114,255,128,10,255,0,'Factory','This is a factory stock color.'), - (323,10,1,125,'Sky Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,10,255,40,20,255,128,10,255,40,20,255,128,10,255,142,125,255,128,44,225,40,20,255,128,10,255,142,125,255,128,44,225,170,5,255,128,30,254,142,125,255,128,44,225,0,'Factory','This is a factory stock color.'), - (324,10,1,125,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',246,242,74,128,0,197,246,242,74,128,0,197,246,242,74,128,0,197,40,10,255,128,0,185,40,20,5,128,1,137,40,10,6,128,0,161,40,10,6,128,0,161,40,10,6,128,0,161,0,'Factory','This is a factory stock color.'), - (325,10,1,125,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',40,20,255,128,1,189,40,20,255,128,10,255,40,20,255,128,10,255,36,129,255,128,24,237,40,20,5,128,1,137,36,129,255,128,24,237,170,5,255,128,30,254,36,129,255,128,24,237,0,'Factory','This is a factory stock color.'), - (326,10,1,125,'Dark Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'59cadtin',246,242,74,128,0,197,246,242,74,128,0,197,246,242,74,128,0,197,254,254,96,128,0,206,40,20,5,128,1,137,254,254,96,128,0,206,254,254,96,128,0,206,254,254,96,128,0,206,0,'Factory','This is a factory stock color.'), - (327,10,1,126,'Crimson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,11,10,26,128,0,205,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','As per 69 Olds 442 CSV.'), - (328,10,1,126,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',134,10,126,128,6,245,134,10,158,128,1,232,134,10,158,128,1,232,11,10,26,128,0,205,30,10,1,128,0,194,134,10,158,128,1,232,134,10,158,128,1,232,134,10,158,128,1,232,0,'Factory','As per 69 Olds 442 CSV.'), - (329,10,1,126,'Trophy Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',170,128,192,128,0,214,147,255,79,128,0,184,147,255,79,128,0,184,11,10,26,128,0,205,30,10,1,128,0,194,147,255,79,128,0,184,147,255,79,128,0,184,147,255,79,128,0,184,0,'Factory','As per 69 Olds 442 CSV.'), - (330,10,1,126,'Ebony Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',6,10,9,128,0,197,6,10,9,128,0,161,6,10,9,128,0,161,11,10,26,128,0,205,30,10,1,128,0,194,6,10,9,128,0,161,6,10,9,128,0,161,6,10,9,128,0,161,0,'Factory','As per 69 Olds 442 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (331,10,1,126,'Topaz',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',37,65,145,128,0,243,31,143,178,128,0,224,31,143,178,128,0,224,11,10,26,128,0,205,30,10,1,128,0,194,31,143,178,128,0,224,31,143,178,128,0,224,31,143,178,128,0,224,0,'Factory','As per 69 Olds 442 CSV.'), - (332,10,1,126,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',128,10,255,128,18,255,128,10,255,128,43,255,128,10,255,128,43,255,11,10,26,128,0,205,30,10,1,128,0,194,128,10,255,128,43,255,128,10,255,128,43,255,128,10,255,128,43,255,0,'Factory','As per 69 Olds 442 CSV.'), - (333,10,1,126,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',135,61,190,128,0,242,135,99,190,128,0,237,135,99,190,128,0,237,28,26,164,128,10,255,30,10,1,128,0,194,135,99,190,128,0,237,135,99,190,128,0,237,135,99,190,128,0,237,0,'Factory','As per 69 Olds 442 CSV.'), - (334,10,1,126,'Chestnut Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',5,91,82,128,0,218,5,231,82,128,0,193,5,231,82,128,0,193,28,116,164,128,1,224,30,10,1,128,0,194,5,231,82,128,0,193,5,231,82,128,0,193,5,231,82,128,0,193,0,'Factory','As per 69 Olds 442 CSV.'), - (335,10,1,126,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,28,26,164,128,10,255,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.'), - (336,10,1,126,'Saffron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',33,96,255,128,16,255,28,165,255,128,33,255,28,165,255,128,33,255,11,10,26,128,0,205,30,10,1,128,0,194,28,165,255,128,33,255,28,165,255,128,33,255,28,165,255,128,33,255,0,'Factory','As per 69 Olds 442 CSV.'), - (337,10,1,126,'Flamingo Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',246,33,80,128,7,242,246,43,80,128,7,232,246,43,80,128,7,232,11,10,26,128,0,205,30,10,1,128,0,194,246,43,80,128,7,232,246,43,80,128,7,232,246,43,80,128,7,232,0,'Factory','As per 69 Olds 442 CSV.'), - (338,10,1,126,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',77,44,109,128,1,242,65,75,109,128,1,220,65,75,109,128,1,220,28,116,164,128,1,224,30,10,1,128,0,194,65,75,109,128,1,220,65,75,109,128,1,220,65,75,109,128,1,220,0,'Factory','As per 69 Olds 442 CSV.'), - (339,10,1,126,'Palomino Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',32,56,118,128,0,245,32,92,118,128,0,233,32,92,118,128,0,233,28,116,164,128,1,224,30,10,1,128,0,194,32,92,118,128,0,233,32,92,118,128,0,233,32,92,118,128,0,233,0,'Factory','As per 69 Olds 442 CSV.'), - (340,10,10,127,'Orange / Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',18,43,255,128,20,255,28,24,255,128,53,254,28,24,255,128,53,254,28,24,255,128,53,254,31,5,255,128,0,252,24,11,255,128,44,255,24,11,255,128,66,255,18,255,255,128,28,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (341,10,10,127,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',1,70,255,128,10,255,43,9,255,128,0,245,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,1,255,255,128,10,255,1,255,255,128,10,255,1,255,255,128,10,255,0,'Factory','This is a factory stock color.'), - (342,10,10,127,'Yellow / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',38,61,255,128,43,223,28,24,255,128,53,254,28,24,255,128,53,254,28,24,255,128,53,254,31,5,255,128,0,252,24,11,255,128,44,255,24,11,255,128,66,255,33,254,255,128,43,255,0,'Factory','This is a factory stock color.'), - (343,10,1,127,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',1,112,255,128,3,240,1,255,255,128,3,229,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,1,255,255,128,10,255,15,7,3,128,0,194,15,7,3,128,0,169,0,'Factory','This is a factory stock color.'), - (344,10,1,127,'Light Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',67,80,129,128,0,253,28,24,255,128,9,254,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,67,107,129,128,0,246,67,107,129,128,0,246,67,107,129,128,0,246,0,'Factory','This is a factory stock color.'), - (345,10,1,127,'Stone Gray / Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',45,15,131,128,0,239,41,28,20,92,11,231,41,28,20,92,11,255,41,28,20,92,11,202,15,5,1,128,0,150,45,15,131,128,0,250,45,15,131,128,0,223,45,15,131,128,0,223,0,'Factory','This is a factory stock color.'), - (346,10,1,127,'Pearl White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',128,7,255,128,19,255,28,36,255,128,18,254,1,255,255,128,3,244,1,255,255,128,3,229,15,5,1,128,0,150,128,7,255,128,39,255,128,7,255,128,39,255,128,1,255,128,52,255,0,'Factory','This is a factory stock color.'), - (347,10,1,127,'Purple / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',138,28,66,128,30,253,41,28,20,92,11,231,41,28,20,92,11,255,41,28,20,92,11,202,31,5,255,128,0,252,24,11,255,128,44,255,205,255,66,128,0,225,205,255,66,128,0,225,0,'Factory','This is a factory stock color.'), - (348,10,1,127,'Plum Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',128,0,255,128,7,255,20,7,6,128,0,211,20,7,6,128,0,218,41,28,20,92,11,202,15,5,1,128,0,150,248,41,88,128,0,228,248,41,88,128,0,228,248,41,88,128,0,228,0,'Factory','This is a factory stock color.'), - (349,10,1,127,'Dark Teal / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'55centin',128,41,53,128,0,254,43,9,255,128,0,245,43,9,255,128,0,245,41,28,20,92,11,202,31,5,255,128,0,252,128,7,255,128,39,255,128,7,255,128,39,255,128,79,53,128,0,224,0,'Factory','This is a factory stock color.'), - (350,10,1,127,'Sapphire Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'55centin',151,95,62,128,0,246,43,9,255,128,0,245,151,150,62,128,0,248,151,150,62,128,0,212,15,5,1,128,0,150,151,255,62,128,0,227,151,255,62,128,0,227,151,255,62,128,0,227,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (351,10,1,128,'Teal Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,120,255,65,128,0,227,120,255,65,128,0,227,120,255,65,128,0,227,0,'Factory','This is a factory stock color.'), - (352,10,1,128,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,139,190,158,128,0,242,139,190,158,128,0,242,139,190,158,128,0,242,0,'Factory','This is a factory stock color.'), - (353,10,1,128,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,70,128,0,216,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,250,255,56,128,0,227,250,255,56,128,0,227,250,255,56,128,0,227,0,'Factory','This is a factory stock color.'), - (354,10,1,128,'Midnight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',40,20,35,128,0,188,40,20,255,128,0,180,40,20,255,128,0,211,30,32,255,128,0,175,40,20,19,128,0,197,148,255,58,128,0,215,148,255,58,128,0,215,148,255,58,128,0,215,0,'Factory','This is a factory stock color.'), - (355,10,1,128,'Cherry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,3,255,121,128,0,252,3,255,121,128,0,252,3,255,121,128,0,252,0,'Factory','This is a factory stock color.'), - (356,10,1,128,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,31,165,180,128,0,246,31,165,180,128,0,246,31,165,180,128,0,246,0,'Factory','This is a factory stock color.'), - (357,10,1,128,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,31,82,79,128,0,246,31,82,79,128,0,246,31,82,79,128,0,246,0,'Factory','This is a factory stock color.'), - (358,10,1,128,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,20,6,1,128,0,199,20,6,1,128,0,199,20,6,1,128,0,186,0,'Factory','This is a factory stock color.'), - (359,10,1,128,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,40,20,19,128,0,197,138,108,105,128,0,236,138,108,105,128,0,236,138,108,105,128,0,236,0,'Factory','This is a factory stock color.'), - (360,10,1,128,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,65,108,128,0,208,40,20,255,128,0,239,40,20,255,128,0,239,30,65,255,128,0,190,35,10,255,128,26,255,35,255,255,128,52,255,35,255,255,128,52,255,35,255,255,128,52,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (361,10,1,128,'Midnight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,104,248,47,128,0,214,104,248,47,128,0,214,104,248,47,128,0,214,0,'Factory','This is a factory stock color.'), - (362,10,1,128,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,128,5,255,128,50,255,128,5,255,128,50,255,128,5,255,128,50,255,0,'Factory','This is a factory stock color.'), - (363,10,1,128,'Mayfair Maize',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,40,137,255,128,32,255,40,137,255,128,32,255,40,137,255,128,32,255,0,'Factory','This is a factory stock color.'), - (364,10,1,128,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',128,0,32,128,0,199,128,0,5,128,0,180,128,0,23,128,0,211,128,0,16,128,0,183,40,20,19,128,0,197,54,104,120,128,0,235,54,104,120,128,0,235,54,104,120,128,0,235,0,'Factory','This is a factory stock color.'), - (365,10,1,128,'Palladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66gtotin',30,19,255,128,0,201,40,20,255,128,0,239,40,13,255,128,0,239,30,35,255,128,0,190,40,20,19,128,0,197,128,24,96,128,1,244,128,24,96,128,1,244,128,24,96,128,1,244,0,'Factory','This is a factory stock color.'), - (366,10,1,129,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',17,122,255,128,15,253,24,255,255,128,15,253,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,28,255,255,128,15,253,37,255,255,128,17,255,15,255,255,128,23,253,0,'Factory','As per 69 GTO CSV, but this color does not appear in the reference material for the car.'), - (367,10,1,129,'Warwick Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',142,129,167,128,6,229,142,142,167,128,6,208,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,142,88,167,128,6,212,142,5,167,128,6,240,142,255,167,128,6,201,0,'Factory','As per 69 GTO CSV'), - (368,10,1,129,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',249,79,61,128,0,229,11,255,255,128,1,233,40,20,255,128,0,249,128,0,18,128,0,219,30,74,142,128,0,241,23,255,255,128,17,255,37,255,255,128,17,255,249,255,61,128,0,198,0,'Factory','As per 69 GTO CSV'), - (369,10,1,129,'Liberty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',144,69,58,128,0,208,142,129,167,128,6,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,142,101,167,128,6,236,142,5,167,128,6,240,144,255,58,128,0,180,0,'Factory','As per 69 GTO CSV'), - (370,10,1,129,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',2,69,144,128,0,227,15,255,255,128,17,255,40,20,255,128,0,249,128,0,18,128,0,219,30,10,19,128,0,175,23,255,255,128,17,255,37,255,255,128,17,255,2,255,144,128,0,227,0,'Factory','As per 69 GTO CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (371,10,1,129,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',31,64,182,128,0,239,26,169,182,128,0,232,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,26,169,182,128,0,232,26,169,182,128,0,232,26,169,182,128,0,232,0,'Factory','As per 69 GTO CSV'), - (372,10,1,129,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',34,45,73,128,0,231,34,91,105,128,0,212,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,30,36,145,128,0,224,30,36,145,128,0,224,30,36,145,128,0,224,0,'Factory','As per 69 GTO CSV'), - (373,10,1,129,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',30,10,5,154,0,192,2,255,255,128,0,195,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,1,255,255,128,0,237,1,255,255,128,26,255,30,10,5,154,0,155,0,'Factory','As per 69 GTO CSV'), - (374,10,1,129,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',147,41,74,128,0,224,134,186,74,128,0,198,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,134,186,74,128,0,198,134,186,74,128,0,198,134,186,74,128,0,198,0,'Factory','As per 69 GTO CSV'), - (375,10,1,129,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',37,62,255,128,18,255,28,255,255,128,26,225,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,24,255,255,128,26,255,18,255,255,128,26,255,31,255,255,128,17,255,0,'Factory','As per 69 GTO CSV'), - (376,10,1,129,'Verdoro Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',103,41,28,154,0,206,60,255,255,128,1,214,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,47,255,255,128,1,244,37,255,255,128,17,255,69,125,28,154,0,176,0,'Factory','As per 69 GTO CSV'), - (377,10,1,129,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',128,5,255,128,14,255,2,73,255,128,19,225,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,2,146,255,128,19,255,2,255,255,128,19,255,47,11,255,128,27,255,0,'Factory','As per 69 GTO CSV'), - (378,10,1,129,'Crystal Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',121,44,71,128,0,218,121,255,71,128,0,205,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,121,255,71,128,0,205,121,255,71,128,0,205,121,255,71,128,0,205,0,'Factory','As per 69 GTO CSV'), - (379,10,1,129,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',50,45,95,128,0,229,50,108,95,128,0,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,50,108,95,128,0,211,50,108,95,128,0,211,50,108,95,128,0,211,0,'Factory','As per 69 GTO CSV'), - (380,10,1,129,'Carousel Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',2,77,255,128,0,245,13,255,255,128,9,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,22,255,255,128,9,255,32,255,255,128,9,255,2,255,255,128,0,255,0,'Factory','As per 69 GTO CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (381,10,1,129,'Paladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtotin',128,15,94,128,0,237,32,73,255,128,0,237,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,32,142,255,128,0,240,32,255,255,128,9,255,128,15,94,128,0,228,0,'Factory','As per 69 GTO CSV'), - (382,10,1,130,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',6,77,255,128,0,242,26,255,203,128,0,255,18,255,203,128,27,255,20,7,9,118,3,241,20,7,14,128,0,158,14,255,203,128,27,255,10,255,203,128,9,255,6,255,255,128,0,233,0,'Factory','This is a factory stock color.'), - (383,10,1,130,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,255,128,1,254,159,255,121,128,1,250,154,189,161,128,9,255,20,7,9,118,3,241,20,7,14,128,0,158,154,163,184,128,23,255,154,100,184,128,32,255,128,0,255,128,14,255,0,'Factory','This is a factory stock color.'), - (384,10,1,130,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',107,39,28,128,0,211,109,255,80,128,0,244,109,255,80,128,0,227,20,7,9,118,3,241,20,7,14,128,0,158,109,255,80,128,0,212,109,255,80,128,0,193,107,255,28,138,0,168,0,'Factory','This is a factory stock color.'), - (385,10,1,130,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,1,82,0,206,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,128,0,1,82,0,156,0,'Factory','This is a factory stock color.'), - (386,10,1,130,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',135,78,77,158,0,218,135,40,77,158,0,222,135,40,77,158,0,231,20,7,9,118,3,241,20,7,14,128,0,158,135,27,77,158,0,241,135,125,77,158,0,223,135,250,77,158,0,182,0,'Factory','This is a factory stock color.'), - (387,10,1,130,'Palladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',128,0,195,148,0,232,18,255,203,128,0,255,10,255,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,2,255,203,128,1,220,2,173,203,128,1,244,128,13,122,148,0,202,0,'Factory','This is a factory stock color.'), - (388,10,1,130,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',31,146,255,128,5,255,31,50,255,128,0,240,31,50,255,128,0,218,20,7,9,118,3,241,20,7,14,128,0,158,31,133,255,128,0,218,31,239,255,128,0,231,31,255,255,128,11,255,0,'Factory','This is a factory stock color.'), - (389,10,1,130,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',250,79,45,128,0,222,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,250,255,45,128,0,172,0,'Factory','This is a factory stock color.'), - (390,10,1,130,'Midnight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73tratin',150,53,54,152,0,210,33,236,203,128,0,253,28,236,203,128,0,241,20,7,9,118,3,241,20,7,14,128,0,158,23,236,203,128,0,245,23,236,203,128,0,206,150,255,54,152,0,185,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (391,10,1,131,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',0,41,255,128,0,255,128,0,156,128,0,218,0,120,255,128,18,255,26,56,99,128,0,250,26,56,99,128,0,250,126,7,255,128,31,255,0,255,255,128,0,255,0,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (392,10,1,131,'Black Mink',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',20,7,69,128,0,214,128,0,156,128,0,218,20,7,16,128,0,152,10,10,10,128,0,246,10,10,10,128,0,246,20,7,16,128,0,152,0,255,255,128,0,255,20,7,16,128,0,152,0,'Factory','This is a factory stock color.'), - (393,10,1,131,'Beale St. Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',156,48,134,128,0,233,128,0,156,128,0,218,151,176,134,128,0,210,26,32,206,128,22,255,26,32,206,128,22,255,151,176,134,128,0,210,151,5,134,128,0,229,151,176,134,128,0,210,0,'Factory','This is a factory stock color.'), - (394,10,1,131,'Hunter Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',58,31,75,128,0,224,128,0,156,128,0,218,86,133,75,128,0,202,26,56,99,128,0,250,26,56,99,128,0,250,86,133,75,128,0,202,86,133,75,128,0,202,86,133,75,128,0,202,0,'Factory','This is a factory stock color.'), - (395,10,1,131,'Pompei Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',34,150,255,128,26,255,128,0,156,128,0,218,34,255,255,108,26,255,26,56,99,128,0,250,26,56,99,128,0,250,34,255,255,108,26,255,7,7,14,128,0,171,34,255,255,108,26,255,0,'Factory','This is a factory stock color.'), - (396,10,1,131,'Frost White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',126,7,255,128,1,253,128,0,156,128,0,218,126,7,255,103,31,255,10,10,10,128,0,246,10,10,10,128,0,246,126,7,255,103,31,255,7,7,14,128,0,171,126,7,255,103,31,255,0,'Factory','This is a factory stock color.'), - (397,10,1,131,'Butternut Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',23,50,150,128,0,244,128,0,156,128,0,218,23,175,150,128,0,222,10,10,10,128,0,246,10,10,10,128,0,246,23,175,150,128,0,222,7,7,14,128,0,171,23,175,150,128,0,222,0,'Factory','This is a factory stock color.'), - (398,10,1,131,'Alamosa Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',120,22,74,128,0,235,128,0,156,128,0,218,120,90,74,128,1,248,26,32,206,128,22,255,26,32,206,128,22,255,126,7,255,128,31,255,120,126,74,128,0,214,120,126,74,128,0,214,0,'Factory','This is a factory stock color.'), - (399,10,1,131,'Bittersweet Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',18,126,255,128,27,255,128,0,156,128,0,218,18,231,255,128,1,207,128,0,2,128,0,239,128,0,2,128,0,239,7,7,14,128,0,171,18,231,255,128,19,246,18,231,255,128,19,246,0,'Factory','This is a factory stock color.'), - (400,10,1,131,'Castillian Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',15,10,109,128,0,240,128,0,156,128,0,218,15,10,109,128,0,248,128,0,2,128,0,239,128,0,2,128,0,239,126,7,255,128,31,255,15,10,109,128,0,229,15,10,109,128,0,229,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (401,10,1,131,'Willow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',75,49,163,128,1,253,128,0,156,128,0,218,75,100,163,128,1,242,26,56,99,128,0,250,26,56,99,128,0,250,75,100,163,128,1,242,75,100,163,128,1,242,75,100,163,128,1,242,0,'Factory','This is a factory stock color.'), - (402,10,1,131,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,77,82,128,10,228,128,0,156,128,0,218,146,255,82,128,10,199,128,0,2,128,0,239,128,0,2,128,0,239,146,255,82,128,10,199,146,255,82,128,10,199,146,255,82,128,10,199,0,'Factory','This is a factory stock color.'), - (403,10,1,131,'Big Bad Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',84,70,255,128,0,249,66,255,255,128,0,253,66,255,255,128,0,253,26,56,99,128,0,255,26,56,99,128,0,250,66,255,255,128,0,253,7,7,14,128,0,171,66,255,255,128,0,253,0,'Factory','This is a factory stock color.'), - (404,10,1,131,'Big Bad Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',16,113,255,128,23,255,16,254,255,113,23,255,16,254,255,113,23,255,10,10,10,128,0,246,10,10,10,128,0,246,16,254,255,113,23,255,7,7,14,128,0,171,16,254,255,113,23,255,0,'Factory','This is a factory stock color.'), - (405,10,1,131,'Big Bad Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,101,205,128,0,255,158,255,205,128,0,245,158,255,205,128,0,245,10,10,10,128,0,246,10,10,10,128,0,246,158,255,205,128,0,245,7,7,14,128,0,171,158,255,205,128,0,245,0,'Factory','This is a factory stock color.'), - (406,10,1,132,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',18,255,255,128,37,248,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,22,105,255,128,18,248,18,255,255,128,37,248,0,'Factory','This is a factory stock color.'), - (407,10,1,132,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',69,99,125,128,0,224,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,69,37,125,128,0,240,69,99,125,128,0,224,0,'Factory','This is a factory stock color.'), - (408,10,1,132,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',88,244,255,128,1,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,88,77,255,128,1,255,88,244,255,128,1,255,0,'Factory','This is a factory stock color.'), - (409,10,1,132,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',31,253,255,97,49,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,39,95,255,128,22,255,31,253,255,97,49,255,0,'Factory','This is a factory stock color.'), - (410,10,1,132,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',152,233,147,128,0,246,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,16,253,170,83,147,128,0,246,152,233,147,128,0,246,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (411,10,1,132,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',1,255,255,128,0,255,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,1,95,255,128,0,255,1,255,255,128,0,255,0,'Factory','This is a factory stock color.'), - (412,10,1,132,'Green Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',117,62,77,128,0,215,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,117,62,77,128,0,215,117,31,77,128,0,233,117,62,77,128,0,215,0,'Factory','This is a factory stock color.'), - (413,10,1,132,'Fire Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',27,194,211,128,13,241,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,27,194,211,128,13,241,27,54,211,128,13,241,27,194,211,128,13,241,0,'Factory','This is a factory stock color.'), - (414,10,1,132,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',30,5,19,128,0,185,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,1,255,116,128,0,233,30,5,19,128,0,218,30,5,19,128,0,165,0,'Factory','This is a factory stock color.'), - (415,10,1,132,'Purple',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',225,255,62,128,0,215,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,225,60,62,128,0,231,225,255,62,128,0,215,0,'Factory','This is a factory stock color.'), - (416,10,1,132,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',35,13,100,128,0,229,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,22,16,1,128,2,163,35,13,100,128,0,229,35,13,100,128,0,229,0,'Factory','This is a factory stock color.'), - (417,10,1,132,'Copper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',15,169,52,128,16,208,23,1,1,128,20,141,26,10,13,128,5,255,30,7,22,128,0,245,40,20,19,128,20,156,15,169,52,128,16,208,15,52,52,128,16,208,15,169,52,128,16,208,0,'Factory','This is a factory stock color.'), - (418,10,1,132,'White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69chatin',1,253,255,128,0,178,1,253,255,128,0,178,1,253,255,128,0,255,1,253,255,128,0,255,40,20,19,128,20,156,0,255,255,128,13,246,44,9,255,128,2,249,44,9,255,128,39,249,0,'Factory','This is a factory stock color.'), - (419,10,1,133,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',66,78,48,128,0,231,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,66,143,48,128,0,211,1,0,2,128,0,182,66,143,48,128,0,211,0,'Factory','This is a factory stock color.'), - (420,10,1,133,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',147,79,101,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,147,255,101,128,0,223,1,0,2,128,0,182,147,255,101,128,0,223,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (421,10,1,133,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',5,124,165,128,0,245,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,5,255,165,128,0,225,1,0,2,128,0,182,5,255,165,128,0,225,0,'Factory','This is a factory stock color.'), - (422,10,1,133,'Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',189,88,52,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,184,255,52,128,0,219,1,0,2,128,0,182,184,255,52,128,0,219,0,'Factory','This is a factory stock color.'), - (423,10,1,133,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',134,73,62,128,0,227,134,255,62,128,0,242,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,255,62,128,0,207,134,255,62,128,0,207,0,'Factory','This is a factory stock color.'), - (424,10,1,133,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',20,137,181,82,36,253,20,255,231,52,49,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,20,255,231,52,49,253,1,0,2,128,0,182,20,255,231,52,49,253,0,'Factory','This is a factory stock color.'), - (425,10,1,133,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',66,47,33,128,0,236,66,143,33,128,0,192,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,48,80,164,128,1,239,66,143,33,128,0,192,66,143,33,128,0,192,0,'Factory','This is a factory stock color.'), - (426,10,1,133,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',134,43,109,128,0,254,134,163,109,94,13,244,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,163,109,94,13,244,134,163,109,94,13,244,0,'Factory','This is a factory stock color.'), - (427,10,1,133,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',83,108,202,128,0,250,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,73,205,202,128,6,239,1,0,2,128,0,182,73,205,202,128,6,239,0,'Factory','This is a factory stock color.'), - (428,10,1,133,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',26,28,135,128,0,249,60,56,135,128,0,233,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,1,0,2,128,0,182,60,56,135,128,0,233,60,56,135,128,0,233,0,'Factory','This is a factory stock color.'), - (429,10,1,133,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',9,7,1,128,0,232,0,255,248,128,24,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,128,24,253,9,7,1,128,0,188,9,7,1,128,0,188,0,'Factory','This is a factory stock color.'), - (430,10,1,133,'Sahara Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',27,88,96,128,0,249,27,161,96,128,0,254,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,1,0,2,128,0,182,27,161,96,128,0,231,27,161,96,128,0,231,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (431,10,1,133,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',13,83,122,128,0,237,20,255,255,128,15,255,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,13,176,122,128,0,229,1,0,2,128,0,182,13,176,122,128,0,229,0,'Factory','This is a factory stock color.'), - (432,10,1,133,'Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',20,66,58,128,0,236,20,137,58,128,0,239,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,48,80,164,128,1,239,20,137,58,128,0,211,20,137,58,128,0,211,0,'Factory','This is a factory stock color.'), - (433,10,1,133,'Rally Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',0,139,248,128,24,253,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,97,13,253,1,0,2,128,0,182,0,255,248,97,13,253,0,'Factory','This is a factory stock color.'), - (434,10,1,133,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',30,47,255,87,45,255,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,30,47,255,87,45,255,1,0,2,128,0,182,30,47,255,87,45,255,0,'Factory','This is a factory stock color.'), - (435,10,1,133,'Sunfire Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',38,141,255,128,9,255,20,255,255,128,15,255,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,32,219,255,88,44,255,1,0,2,128,0,182,32,219,255,88,44,255,0,'Factory','This is a factory stock color.'), - (436,10,1,133,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69runtin',32,87,210,128,35,227,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,32,189,210,128,35,249,1,0,2,128,0,182,32,189,210,128,35,249,0,'Factory','This is a factory stock color.'), - (437,10,1,134,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), - (438,10,1,134,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (439,10,1,134,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (440,10,1,134,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (441,10,1,134,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (442,10,1,134,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), - (443,10,1,134,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (444,10,1,134,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (445,10,1,134,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (446,10,1,134,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (447,10,1,134,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), - (448,10,1,134,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (449,10,1,134,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), - (450,10,1,134,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (451,10,1,134,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (452,10,1,134,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), - (453,10,1,134,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), - (454,10,1,134,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), - (455,10,1,134,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70vcutin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), - (456,10,1,135,'Tahitian Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',19,62,84,128,0,239,19,177,47,143,0,194,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,19,177,47,143,0,194,19,177,47,143,0,194,19,177,47,143,0,194,0,'Factory','As per 71 Duster CSV.'), - (457,10,1,135,'Amber Sherwood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'Factory','As per 71 Duster CSV.'), - (458,10,1,135,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',50,41,135,128,0,240,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,45,147,135,135,0,232,20,7,6,128,0,165,45,147,135,135,0,232,0,'Factory','As per 71 Duster CSV.'), - (459,10,1,135,'Bahama Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',28,60,208,128,0,249,122,5,184,128,0,246,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,26,233,208,128,0,239,20,7,6,128,0,165,26,233,208,128,0,239,0,'Factory','As per 71 Duster CSV.'), - (460,10,1,135,'Rallye Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',0,97,255,128,0,244,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,0,255,255,128,0,245,20,7,6,128,0,165,0,255,255,128,0,245,0,'Factory','As per 71 Duster CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (461,10,1,135,'In Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',197,50,87,128,0,236,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,186,177,87,156,0,203,20,7,6,128,0,165,186,177,87,156,0,203,0,'Factory','As per 71 Duster CSV.'), - (462,10,1,135,'Avocado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',80,35,24,128,0,218,70,192,24,103,0,186,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,70,192,24,103,0,186,70,192,24,103,0,186,70,192,24,103,0,186,0,'Factory','As per 71 Duster CSV.'), - (463,10,1,135,'True Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',147,48,109,143,0,222,142,255,109,143,0,212,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,142,255,109,143,0,212,142,255,109,143,0,212,142,255,109,143,0,212,0,'Factory','As per 71 Duster CSV.'), - (464,10,1,135,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',40,19,255,88,36,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,40,19,255,88,36,255,20,7,6,128,0,165,40,19,255,88,36,255,0,'Factory','As per 71 Duster CSV.'), - (465,10,1,135,'Coral Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',131,62,124,146,0,229,131,214,57,143,0,192,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,131,214,57,143,0,192,131,214,57,143,0,192,131,214,57,143,0,192,0,'Factory','As per 71 Duster CSV.'), - (466,10,1,135,'Sandpebble Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',27,35,108,128,0,246,24,118,176,133,0,240,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,24,118,176,133,0,240,24,118,176,133,0,240,24,118,176,133,0,240,0,'Factory','As per 71 Duster CSV.'), - (467,10,1,135,'Aztec Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',27,82,160,128,0,254,23,215,160,128,0,252,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,23,215,160,128,0,252,23,215,160,128,0,252,23,215,160,128,0,252,0,'Factory','As per 71 Duster CSV.'), - (468,10,1,135,'Winchester Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',136,24,202,116,9,255,136,24,202,116,5,229,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,136,24,202,116,5,229,20,7,6,128,0,165,136,24,202,116,5,229,0,'Factory','As per 71 Duster CSV.'), - (469,10,1,135,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',14,69,255,97,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,18,255,255,94,28,255,20,7,6,128,0,165,18,255,255,94,28,255,0,'Factory','As per 71 Duster CSV.'), - (470,10,1,135,'Burnished Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',254,48,79,128,0,233,254,252,79,148,0,212,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,254,252,79,148,0,212,254,252,79,148,0,212,254,252,79,148,0,212,0,'Factory','As per 71 Duster CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (471,10,1,135,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',33,131,255,118,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,33,255,255,118,26,255,20,7,6,128,0,165,33,255,255,118,26,255,0,'Factory','As per 71 Duster CSV.'), - (472,10,1,135,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',37,10,1,73,1,239,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,37,10,1,69,1,194,37,10,1,69,1,194,37,10,1,69,1,194,0,'Factory','As per 71 Duster CSV.'), - (473,10,1,135,'Autumn Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71dustin',14,82,79,144,0,220,14,252,79,144,0,212,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,14,252,79,144,0,212,14,252,79,144,0,212,14,252,79,144,0,212,0,'Factory','As per 71 Duster CSV.'), - (474,10,4,101,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32forfla',179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,179,230,240,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (475,10,5,101,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32forsca',1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,1,255,168,128,0,255,0,NULL,NULL), - (476,10,6,101,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'32fordec',28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,28,196,245,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (477,10,7,101,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'32forrus',91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,91,48,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (478,10,3,102,'Cop',NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'40forcop',169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,0,NULL,NULL), - (479,10,4,102,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40forfla',1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,1,186,255,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (480,10,5,102,'Runnin'' Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40forsca',196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,196,184,224,128,0,255,0,'Dane Anderson','I spent seven weeks on this, getting it just right for the ''40 Coupe. I hope you enjoy it.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (481,10,6,102,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'40fordec',1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,1,255,237,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (482,10,7,102,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'40forrus',38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,38,112,92,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (483,10,4,103,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53forfla',0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,252,161,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (484,10,5,103,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53forsca',131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,131,255,178,128,0,255,0,NULL,NULL), - (485,10,6,103,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'53fordec',152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,152,173,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (486,10,7,103,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'53forrus',18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,18,82,120,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (487,10,4,104,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faifla',196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,196,212,212,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (488,10,5,104,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faisca',126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,126,255,207,128,0,255,0,NULL,NULL), - (489,10,6,104,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57faidec',0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,255,245,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (490,10,7,104,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairus',23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,23,48,224,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (491,10,4,105,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57ranfla',182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,182,184,204,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (492,10,5,105,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57ransca',242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,242,235,184,128,0,255,0,NULL,NULL), - (493,10,6,105,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57randec',148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,148,227,237,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (494,10,7,105,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranrus',47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,47,107,99,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (495,10,4,106,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbifla',0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,222,196,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (496,10,5,106,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbisca',188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,188,255,222,128,0,255,0,NULL,NULL), - (497,10,6,106,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57tbidec',159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,159,201,219,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (498,10,7,106,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57tbirus',147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,147,107,130,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (499,10,4,107,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbifla',111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,111,92,189,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (500,10,5,107,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbisca',191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,191,199,255,128,0,255,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (501,10,6,107,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63tbidec',0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,0,240,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (502,10,7,107,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'63tbirus',23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,23,143,156,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (503,10,4,108,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stafla',174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,174,255,186,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (504,10,5,108,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stasca',0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,255,125,128,0,255,0,NULL,NULL), - (505,10,6,108,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64stadec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (506,10,7,108,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64starus',135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,135,143,105,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (507,10,3,109,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'64galcop',32,178,156,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), - (508,10,4,109,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galfla',113,235,140,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (509,10,5,109,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galsca',162,112,232,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), - (510,10,6,109,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64galdec',2,222,237,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (511,10,7,109,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64galrus',0,145,135,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (512,10,4,110,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69torfla',185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,185,173,163,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (513,10,5,110,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69torsca',230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,230,150,204,128,0,255,0,NULL,NULL), - (514,10,6,110,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69tordec',170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,170,163,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (515,10,7,110,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69torrus',19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,19,92,66,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (516,10,4,111,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3fla',170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,170,150,117,128,0,255,0,'Matt Kovacs','This paint job ain''t for punks!'), - (517,10,5,111,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3sca',158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,158,69,194,128,0,255,0,'Jeff Grantz','You''ll smoke ''em with this paint job.'), - (518,10,6,111,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb3dec',3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,3,201,235,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (519,10,7,111,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70mb3rus',50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,50,69,171,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (520,10,4,112,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49merfla',183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,183,196,138,128,0,255,0,'Mac Emerson','This paint job rocks!'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (521,10,5,112,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49mersca',254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,254,235,209,128,0,255,0,NULL,NULL), - (522,10,6,112,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'49merdec',125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,125,64,166,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (523,10,7,112,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'49merrus',160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,160,143,156,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (524,10,4,113,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chefla',177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,177,255,161,128,0,255,0,'Pete Hammond','Your Bel Air will be the will ring everyone''s bell when they see these flames coming!'), - (525,10,5,113,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chesca',128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,128,255,161,128,0,255,0,'Joe Kasinski','Does the Big K know his stuff? This is AWESOME!'), - (526,10,6,113,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57chedec',164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,164,130,153,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (527,10,7,113,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cherus',61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,61,82,71,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (528,10,4,114,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetfla',26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,26,255,245,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (529,10,5,114,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetsca',155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,155,79,199,128,0,255,0,NULL,NULL), - (530,10,6,114,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57vetdec',149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,149,255,212,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (531,10,7,114,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57vetrus',5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,5,176,97,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (532,10,4,115,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomfla',249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,249,255,158,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (533,10,5,115,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomsca',74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,74,255,107,128,0,255,0,NULL,NULL), - (534,10,6,115,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'57nomdec',171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,171,207,145,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (535,10,7,115,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomrus',7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,7,153,140,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (536,10,3,116,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'64impcop',32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,0,NULL,NULL), - (537,10,4,116,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impfla',195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,195,237,227,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (538,10,5,116,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impsca',32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,32,255,227,128,0,255,0,NULL,NULL), - (539,10,6,116,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64impdec',142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,142,107,186,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (540,10,7,116,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64imprus',30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,30,36,130,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (541,10,4,117,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetfla',186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,186,240,242,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (542,10,5,117,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetsca',169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,169,194,209,128,0,255,0,NULL,NULL), - (543,10,6,117,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'63vetdec',0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,217,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (544,10,7,117,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'63vetrus',0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,0,145,135,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (545,10,4,118,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impfla',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Mac Emerson','This paint job rocks!'), - (546,10,5,118,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impsca',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,NULL,NULL), - (547,10,6,118,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'58impdec',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'Corporate sponsor','You''ve sold out to The Man.'), - (548,10,7,118,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'58imprus',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (549,10,4,119,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chefla',166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,166,255,240,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (550,10,5,119,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chesca',186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,186,219,255,128,0,255,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (551,10,6,119,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67chedec',0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,255,240,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (552,10,7,119,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67cherus',33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,33,18,189,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (553,10,4,120,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camfla',0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,0,31,128,0,255,0,'Steve Hayes','Sssssssmokin!'), - (554,10,5,120,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camsca',23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,23,186,227,128,0,255,0,'Grant Weyman','This is THE Big One! Check it out!'), - (555,10,6,120,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67camdec',0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,0,247,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (556,10,7,120,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67camrus',29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,29,181,128,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (557,10,4,121,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chefla',106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,106,252,89,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (558,10,5,121,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chesca',134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,134,230,166,128,0,255,0,NULL,NULL), - (559,10,6,121,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70chedec',169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,169,166,181,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (560,10,7,121,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cherus',191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,191,54,110,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (561,10,4,122,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camfla',205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,205,237,122,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (562,10,5,122,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camsca',0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,0,36,128,0,255,0,NULL,NULL), - (563,10,6,122,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70camdec',12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,12,255,133,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (564,10,7,122,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70camrus',135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,135,201,133,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (565,10,4,123,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novfla',36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,36,255,201,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (566,10,5,123,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novsca',176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,176,255,117,128,0,255,0,NULL,NULL), - (567,10,6,123,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70novdec',0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,0,0,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (568,10,7,123,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70novrus',97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,97,255,84,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (569,10,4,124,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47cadfla',0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,0,51,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (570,10,5,124,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47cadsca',108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,108,255,222,128,0,255,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (571,10,6,124,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'47caddec',0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,219,227,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (572,10,7,124,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'47cadrus',23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,23,31,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (573,10,4,125,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59cadfla',243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,243,166,252,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (574,10,5,125,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59cadsca',26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,26,59,166,128,0,255,0,NULL,NULL), - (575,10,6,125,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'59caddec',78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,78,115,199,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (576,10,7,125,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'59cadrus',28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,28,97,186,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (577,10,4,126,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69oldfla',155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,155,178,209,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (578,10,5,126,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69oldsca',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,NULL,NULL), - (579,10,6,126,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69olddec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (580,10,7,126,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69oldrus',153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,153,97,143,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (581,10,3,127,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'55cencop',169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,169,207,74,128,0,255,0,NULL,NULL), - (582,10,4,127,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55cenfla',38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,38,252,255,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (583,10,5,127,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55censca',183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,183,240,242,128,0,255,0,NULL,NULL), - (584,10,6,127,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'55cendec',1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,1,242,242,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (585,10,7,127,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenrus',120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,120,140,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (586,10,4,128,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtofla',192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,192,252,196,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (587,10,5,128,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtosca',190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,190,255,232,128,0,255,0,NULL,NULL), - (588,10,6,128,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66gtodec',162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,162,252,196,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (589,10,7,128,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'66gtorus',49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,49,10,189,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (590,10,4,129,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtofla',28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,0,'Mac Emerson','This paint job rocks!'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (591,10,5,129,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtosca',28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,28,227,255,128,0,255,0,NULL,NULL), - (592,10,6,129,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtodec',0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,0,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (593,10,7,129,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gtorus',82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,82,64,61,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (594,10,4,130,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73trafla',181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,181,255,245,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (595,10,5,130,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73trasca',149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,149,255,242,128,0,255,0,NULL,NULL), - (596,10,6,130,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73tradec',0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,255,201,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (597,10,7,130,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73trarus',118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,118,201,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (598,10,4,131,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcfla',155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,155,18,242,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (599,10,5,131,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcsca',33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,33,242,255,128,0,255,0,NULL,NULL), - (600,10,6,131,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69amcdec',169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,169,117,79,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (601,10,7,131,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69amcrus',31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,31,140,138,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (602,10,4,132,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chafla',161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,161,135,33,128,0,255,0,'Eric Saakian','These flames should frighten away the posers. Real racers ONLY!'), - (603,10,5,132,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chasca',27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,27,245,250,128,0,255,0,'Mike Wojtas','You don''t get it much better than this. Rock on!'), - (604,10,6,132,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69chadec',159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,159,186,194,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (605,10,7,132,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69charus',137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,137,76,112,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (606,10,3,133,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,99999999,'69runcop',32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,32,178,156,128,0,255,0,NULL,NULL), - (607,10,4,133,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69runfla',16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,16,173,230,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (608,10,5,133,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69runsca',33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,33,232,252,128,0,255,0,NULL,NULL), - (609,10,6,133,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69rundec',132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,132,255,222,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (610,10,7,133,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69runrus',97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,97,117,150,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (611,10,4,134,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cudfla',20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,20,250,227,128,0,255,0,'Bret Gootch','All that power under the hood''s got only one way to go!'), - (612,10,5,134,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cudsca',40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,40,214,255,128,0,255,0,'Paul O''Tuna','I made it this way ''cuz I''m swe-e-e-eet!'), - (613,10,6,134,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cuddec',6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,6,252,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (614,10,7,134,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cudrus',141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,141,107,107,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (615,10,4,135,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dusfla',158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,158,209,153,128,0,255,0,'Mac Emerson','This paint job rocks!'), - (616,10,5,135,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dussca',101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,101,191,148,128,0,255,0,NULL,NULL), - (617,10,6,135,'Decal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71dusdec',169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,169,189,255,128,0,255,0,'Corporate sponsor','You''ve sold out to The Man.'), - (618,10,7,135,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'71dusrus',29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,29,181,135,128,0,255,1,'Oxidation','This process mimics the natural process of paint damage due to weather.'), - (619,10,9,106,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'57tbibad',0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,3,76,128,0,255,0,NULL,NULL), - (620,10,9,117,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'63vetbad',31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,31,107,143,128,0,255,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (621,10,9,120,'The Grim Reaper',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'67cambad',154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,154,36,227,128,0,255,0,'Jim Fink','This time, you better fear the Reaper...'), - (622,10,9,134,'American Pie',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70cudbad',163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,163,181,252,128,0,255,0,'Mongo Pena','Mongo like!'), - (623,10,9,111,'My Lady',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70stabad',188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,188,105,255,128,0,255,0,'Carl Lipowitz','NOBODY touches My Lady!'), - (624,10,9,130,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'73trabad',37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,37,255,237,128,0,255,0,NULL,NULL), - (625,10,8,125,'taxi 1',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'59cadtr1',25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,25,184,255,128,0,255,0,NULL,NULL), - (626,10,8,125,'taxi 2',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'59cadtr2',84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,84,255,122,128,0,255,0,NULL,NULL), - (627,10,9,113,'Meat Wagon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'57chebad',186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,186,178,110,128,0,255,0,'Art Siebold','When the Meat Wagon comes to town, better get out of it''s way!'), - (628,10,9,109,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'64galbad',200,130,191,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,NULL,NULL,NULL,128,0,255,0,NULL,NULL), - (629,10,9,123,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70novbad',18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,18,255,150,128,0,255,0,NULL,NULL), - (630,10,9,121,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'70chebad',22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,22,209,255,128,0,255,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (631,10,1,207,'Navajo Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,27,80,255,128,0,255,NULL,80,255,128,0,255,27,80,NULL,128,0,255,0,'Factory','This is a factory stock color.'), - (632,10,1,207,'Vintage Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',246,242,84,128,5,253,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,246,242,84,128,0,210,NULL,242,84,128,0,210,246,242,NULL,128,0,210,0,'Factory','This is a factory stock color.'), - (633,10,1,207,'Chantilly Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,225,40,20,6,128,0,176,35,66,86,128,3,225,NULL,0,1,128,0,168,35,66,NULL,128,3,225,0,'Factory','This is a factory stock color.'), - (634,10,1,207,'Pagoda Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',120,100,49,128,5,250,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,124,254,77,128,13,225,NULL,254,77,128,13,225,124,254,NULL,128,13,225,0,'Factory','This is a factory stock color.'), - (635,10,1,207,'Skylight Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',132,126,255,128,35,225,131,11,255,128,15,255,131,11,255,128,15,255,131,11,255,128,15,255,40,20,255,128,15,255,132,126,255,128,35,235,NULL,126,255,128,35,235,132,126,NULL,128,35,235,0,'Factory','This is a factory stock color.'), - (636,10,1,207,'Dynasty Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',120,100,49,128,0,222,35,66,86,128,3,254,35,66,86,128,3,254,35,66,86,128,3,254,40,20,6,128,0,176,120,100,49,128,0,222,NULL,0,1,128,0,168,120,100,NULL,128,0,222,0,'Factory','This is a factory stock color.'), - (637,10,1,207,'Prairie Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,255,128,15,255,19,163,113,128,0,255,NULL,30,255,128,38,255,19,163,NULL,128,0,255,0,'Factory','This is a factory stock color.'), - (638,10,1,207,'Phoenician Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,32,215,255,128,45,249,NULL,215,255,128,45,249,32,215,NULL,128,45,249,0,'Factory','This is a factory stock color.'), - (639,10,1,207,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',40,20,255,128,0,180,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,128,0,1,128,0,181,NULL,0,1,128,0,181,128,0,NULL,128,0,181,0,'Factory','This is a factory stock color.'), - (640,10,1,207,'Guardsman Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',148,218,49,128,0,210,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,148,218,49,128,0,210,NULL,218,49,128,0,210,148,218,NULL,128,0,210,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (641,10,1,207,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,28,50,255,128,38,255,NULL,0,1,128,0,168,28,50,NULL,128,38,255,0,'Factory','This is a factory stock color.'), - (642,10,1,207,'Silver Smoke Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',121,36,85,128,3,254,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,121,36,85,128,0,222,NULL,36,85,128,0,222,121,36,NULL,128,0,222,0,'Factory','This is a factory stock color.'), - (643,10,1,207,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,66,86,128,3,252,128,0,255,128,0,255,128,0,255,128,0,255,128,0,255,128,0,216,40,20,6,128,0,176,2,255,255,128,0,250,NULL,255,255,128,0,250,2,255,NULL,128,0,250,0,'Factory','This is a factory stock color.'), - (720,10,3,226,'Judge GTO Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'69judtin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'System','This skin attached for testing purposes.'), - (721,10,1,140,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','Copied from 67 Camaro base paint scheme for temporary use.'), - (722,10,1,140,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'factory','Copied from 67 Camaro base paint scheme for temporary use.'), - (723,10,1,142,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',151,135,158,128,16,232,151,135,158,128,16,232,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,151,135,158,128,16,232,151,135,158,128,16,232,0,'factory','As per 70 Boss 429 CSV.'), - (724,10,1,142,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',45,102,112,128,16,211,45,102,112,128,16,211,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,45,102,112,128,16,211,45,102,112,128,16,211,0,'factory','As per 70 Boss 429 CSV.'), - (726,1,3,142,'Boss 429',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70mb4tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Unknown creator. Skin attached for testing purposes.'), - (727,10,1,210,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',151,135,158,128,16,232,151,135,158,128,16,232,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,151,135,158,128,16,232,151,135,158,128,16,232,0,'Factory','As per 70 Mustang CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (728,10,1,218,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,111,16,255,0,83,255,128,15,255,0,255,255,111,16,255,0,'system','As per 67 Chevelle CSV'), - (729,10,1,218,'Deep Water Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,148,255,54,135,0,194,170,33,54,128,0,239,148,255,54,135,0,194,0,'system','As per 67 Chevelle CSV'), - (730,10,1,219,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), - (731,10,1,219,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,168,0,255,255,128,0,250,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), - (732,10,3,219,'RS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'67rsctin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (733,10,1,220,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'system','Skin taken from 67 Camaro (base) for temporary use.'), - (734,10,3,220,'Z-28 Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'67Z28tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (735,10,1,154,'Big Bad Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',84,70,255,128,0,249,66,255,255,128,0,253,66,255,255,128,0,253,26,56,94,128,0,255,26,56,94,128,0,250,66,255,255,128,0,253,7,7,14,128,0,171,66,255,255,128,0,253,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'), - (736,10,1,154,'Big Bad Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',16,113,255,128,23,255,16,254,255,113,23,255,16,254,255,113,23,255,10,10,10,128,0,246,10,10,10,128,0,246,16,254,255,113,23,255,7,7,14,128,0,171,16,254,255,113,23,255,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'), - (737,10,1,154,'Big Bad Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69amctin',170,101,205,128,0,255,158,255,205,128,0,245,158,255,205,128,0,245,10,10,10,128,0,246,10,10,10,128,0,246,158,255,205,128,0,171,7,7,14,128,0,171,158,255,205,128,0,245,0,'system','Skin taken from 69 AMX (base). Should be a correct skin for this car.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (738,10,1,157,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',134,43,109,128,0,254,134,163,109,94,13,244,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,163,109,94,13,244,134,163,109,94,13,244,0,'system','Skin taken from 69 Road Runner (base) for temporary use.'), - (739,10,1,157,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',26,28,135,128,0,249,60,56,135,128,0,233,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,1,0,2,128,0,182,60,56,135,128,0,233,60,56,135,128,0,233,0,'system','Skin taken from 69 Road Runner (base) for temporary use.'), - (740,10,1,210,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',45,102,112,128,16,211,45,102,112,128,16,211,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,45,102,112,128,16,211,45,102,112,128,16,211,0,'system','As per 70 Mustang CSV.'), - (743,10,2,211,'GT Cobra Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'69gtttin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin applied for testing purposes.'), - (744,10,1,212,'Medium Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',45,102,112,128,16,211,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,45,102,112,128,16,211,128,0,0,128,0,128,45,102,112,128,16,211,0,'system','As per 70 Mach 1 CSV.'), - (745,10,3,212,'Mach 1 Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70mactin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (746,10,1,213,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (748,10,1,214,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (749,10,3,214,'440 Cuda Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70h44tin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (750,10,1,215,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,47,163,165,128,1,250,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (751,10,3,215,'AAR Cuda Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70aartin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (752,10,1,216,'Tahitian Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',19,62,84,128,0,239,19,177,47,143,0,194,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,19,177,47,143,0,194,19,177,47,143,0,194,19,177,47,143,0,194,0,'System','As per 71 Duster CSV.'), - (753,10,3,216,'340 Duster Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'71wedtin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','Skin attached for testing purposes.'), - (754,10,1,222,'Cranberry Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,6,254,91,128,0,233,6,254,91,128,0,233,6,254,91,128,0,233,0,'system','As per 70 El Camino CSV.'), - (755,10,3,222,'El Camino SS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70ssetin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','This skin assigned for testing purposes.'), - (756,10,1,223,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',137,255,52,128,0,192,137,255,52,128,0,192,137,255,52,128,0,192,20,7,31,128,0,246,20,7,9,128,0,244,137,57,52,128,0,237,137,255,52,128,0,192,137,255,52,128,0,192,0,'system','As per 70 Nova CSV.'), - (757,10,3,223,'Nova SS Paint',NULL,NULL,NULL,NULL,NULL,NULL,NULL,300,'70ssntin',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,0,'system','This skin assigned for testing purposes.'), - (758,10,1,227,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,255,128,1,254,20,7,14,128,0,227,128,0,255,128,14,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,0,255,128,14,255,0,'System','As per 70 Firebird CSV'), - (760,10,1,226,'Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',17,122,255,128,15,253,24,255,255,128,15,253,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,28,255,255,128,15,253,37,255,255,128,17,255,15,255,255,128,23,253,0,'system','As per 69 GTO CSV, but this color does not appear in the reference material for the car.'), - (761,10,1,224,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69oldtin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,28,26,164,128,10,255,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'system','This color is not in the 60 Olds 442 CSV and can not be verified. It is also not a referenced factory color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (763,10,1,221,'Monza Red/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,47,255,128,0,255,142,3,255,128,36,255,1,255,255,139,0,249,0,'system','This skin taken from 70 Chevelle (base) for testing purposes.'), - (764,10,1,217,'Ember Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,5,254,146,128,0,231,24,71,202,152,3,214,5,254,146,128,0,219,24,71,202,152,3,231,1,71,255,128,0,249,24,71,202,152,3,231,5,254,146,128,0,219,0,'system','As per 64 Impala CSV.'), - (765,10,1,216,'Amber Sherwood',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','As per 71 Duster CSV.'), - (766,10,1,215,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.'), - (767,10,1,214,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',58,35,77,128,0,233,122,5,184,128,0,246,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,58,147,77,151,0,205,20,7,6,128,0,165,58,147,77,151,0,205,0,'system','Skin taken from 71 Duster (base) for testing purposes. Should be removed at conclusion of Beta or sooner.'), - (768,10,1,213,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'system','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (769,10,1,212,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',6,194,143,128,6,240,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,35,64,158,128,16,244,6,164,143,128,6,240,0,'system','As per 70 Mach 1 CSV.'), - (775,10,1,207,'Stock Color 5',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,168,173,78,124,18,228,168,173,78,124,18,228,168,173,78,124,18,228,0,NULL,NULL), - (776,10,1,207,'Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,1,1,2,1,0,254,1,253,131,121,40,214,1,253,131,121,40,214,1,253,131,121,40,214,0,NULL,NULL), - (777,10,1,207,'Sebring Silver / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,3,1,255,127,2,250,148,66,126,152,67,199,148,66,126,152,67,199,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (778,10,1,207,'Red / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,1,1,2,1,0,254,3,1,255,127,2,250,1,253,131,121,40,214,1,253,131,121,40,214,0,NULL,NULL), - (779,10,1,207,'Blue / White Stripes',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'66cobtin',35,44,178,128,3,252,35,108,64,116,3,252,35,66,86,128,3,252,35,66,86,128,3,252,35,44,178,128,128,223,3,1,255,127,2,250,168,173,78,124,18,228,168,173,78,124,18,228,0,NULL,NULL), - (780,10,4,207,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobfla',0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,247,232,128,0,255,0,'Ryan Blinsky',NULL), - (781,10,5,207,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobsca',22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,22,255,224,128,0,255,0,'Ryan Blinsky',NULL), - (782,10,6,207,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'66cobdec',18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,18,247,207,128,0,255,0,'Ryan Blinsky',NULL), - (783,10,7,207,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'66cobrus',162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,162,87,92,128,0,255,0,'Ryan Blinsky',NULL), - (784,10,4,217,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssifla',129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,129,255,163,128,0,255,0,'Blinsky',NULL), - (785,10,7,217,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'64ssirus',250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,250,28,84,128,0,255,0,'Blinsky',NULL), - (786,10,5,217,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssisca',235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,235,153,227,128,0,255,0,'Blinsky',NULL), - (787,10,6,217,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'64ssidec',35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,35,204,247,128,0,255,0,'Blinsky',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (788,10,4,218,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67cssfla',250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,250,219,184,128,0,255,0,'Blinksy',NULL), - (789,10,5,218,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67csssca',190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,190,214,189,128,0,255,0,'Blinksy',NULL), - (790,10,7,218,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67cssrus',10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,10,89,84,128,0,255,0,'Blinsky',NULL), - (791,10,6,218,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67cssdec',55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,55,230,166,128,0,255,0,'Blinksy',NULL), - (792,10,4,219,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscfla',152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,152,178,201,128,0,255,0,'Blinsky',NULL), - (793,10,6,219,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscdec',114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,114,168,209,128,0,255,0,'Blinsky',NULL), - (794,10,5,219,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67rscsca',35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,35,176,219,128,0,255,0,'Blinsky',NULL), - (795,10,7,219,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67rscrus',4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,4,102,115,128,0,255,0,'Blinsky',NULL), - (796,10,4,140,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscfla',146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,146,168,194,128,0,255,0,'Blinksy',NULL), - (797,10,5,140,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscsca',105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,105,138,199,128,0,255,0,'Blinsky',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (798,10,6,140,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67sscdec',163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,163,92,207,128,0,255,0,'Blinsky',NULL), - (799,10,7,140,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67sscrus',6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,6,84,102,128,0,255,0,'Blinsky',NULL), - (800,10,4,220,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28fla',16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,16,184,214,128,0,255,0,'Blinsky',NULL), - (801,10,5,220,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28sca',246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,246,171,186,128,0,255,0,'Blinsky',NULL), - (802,10,6,220,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'67z28dec',112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,112,92,178,128,0,255,0,'Blinsky',NULL), - (803,10,7,220,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'67z28rus',10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,10,33,99,128,0,255,0,'Blinsky',NULL), - (804,10,4,154,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigfla',46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,46,184,199,128,0,255,0,'Blinsky',NULL), - (805,10,5,154,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigsca',200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,200,166,232,128,0,255,0,'Blinsky',NULL), - (806,10,6,154,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69bigdec',201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,201,20,199,128,0,255,0,'Blinsky',NULL), - (807,10,7,154,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69bigrus',246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,246,23,105,128,0,255,0,'Blinsky',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (808,10,4,224,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30fla',25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,25,255,192,128,0,255,0,'Blinsky',NULL), - (809,10,5,224,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30sca',157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,157,120,209,128,0,255,0,'Blinsky',NULL), - (810,10,6,224,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69w30dec',170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,170,255,191,128,0,255,0,'Blinsky',NULL), - (811,10,7,224,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69w30rus',112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,112,140,69,128,0,255,0,'Blinsky',NULL), - (812,10,4,211,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttfla',155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,155,232,255,128,0,255,0,'Blinsky',NULL), - (813,10,5,211,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttsca',251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,251,255,212,128,0,255,0,'Blinsky',NULL), - (814,10,6,211,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gttdec',105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,105,107,158,128,0,255,0,'Blinsky',NULL), - (815,10,7,211,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gttrus',212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,212,13,112,128,0,255,0,'Blinsky',NULL), - (816,10,4,225,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hurfla',197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,197,128,212,128,0,255,0,'Blinsky',NULL), - (817,10,5,225,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hursca',41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,41,143,204,128,0,255,0,'Blinsky',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (818,10,6,225,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69hurdec',174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,174,43,59,128,0,255,0,'Blinsky',NULL), - (819,10,7,225,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69hurrus',11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,11,69,69,128,0,255,0,'Blinsky',NULL), - (820,10,4,226,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69judfla',186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,186,117,222,128,0,255,0,'Blinsky',NULL), - (821,10,5,226,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69judsca',35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,35,201,224,128,0,255,0,'Blinsky',NULL), - (822,10,6,226,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69juddec',246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,246,181,222,128,0,255,0,'Blinsky',NULL), - (823,10,7,226,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69judrus',5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,5,107,84,128,0,255,0,'Blinsky',NULL), - (824,10,4,222,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssefla',163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,163,232,150,128,0,255,0,'Blinsky',NULL), - (825,10,5,222,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssesca',10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,10,235,194,128,0,255,0,'Blinsky',NULL), - (826,10,6,222,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssedec',80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,80,168,125,128,0,255,0,'Blinsky',NULL), - (827,10,7,222,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70sserus',8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,8,150,92,128,0,255,0,'Blinsky',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (828,10,4,223,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssnfla',140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,140,212,150,128,0,255,0,'Blinsky',NULL), - (829,10,5,223,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssnsca',33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,33,201,184,128,0,255,0,'Blinsky',NULL), - (830,10,6,223,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70ssndec',179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,179,184,201,128,0,255,0,'Blinsky',NULL), - (831,10,7,223,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70ssnrus',249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,249,43,87,128,0,255,0,'Blinsky',NULL), - (832,10,4,221,'Blaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cssfla',227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,227,161,199,128,0,255,0,'Blinsky',NULL), - (833,10,5,221,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70csssca',139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,139,247,189,128,0,255,0,'Blinsky',NULL), - (834,10,6,221,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70cssdec',28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,28,186,214,128,0,255,0,'Blinsky',NULL), - (835,10,7,221,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70cssrus',2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,2,97,92,128,0,255,0,'Blinsky',NULL), - (836,10,4,212,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macfla',250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,250,255,112,128,0,255,0,'McCormack',NULL), - (837,10,5,212,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macsca',186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,186,74,209,128,0,255,0,'McCormack',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (838,10,6,212,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70macdec',0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,0,227,128,0,255,0,'McCormack',NULL), - (839,10,7,212,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70macrus',125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,125,125,143,128,0,255,0,'McCormack',NULL), - (840,10,4,214,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44fla',187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,187,217,214,128,0,255,0,'McCormack',NULL), - (841,10,5,214,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44sca',37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,37,117,217,128,0,255,0,'McCormack',NULL), - (842,10,6,214,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70h44dec',154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,154,184,189,128,0,255,0,'McCormack',NULL), - (843,10,7,214,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70h44rus',91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,91,31,171,128,0,255,0,'McCormack',NULL), - (844,10,4,215,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aarfla',139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,139,31,184,128,0,255,0,'McCormack',NULL), - (845,10,5,215,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aarsca',185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,185,145,214,128,0,255,0,'McCormack',NULL), - (846,10,6,215,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70aardec',26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,26,201,224,128,0,255,0,'McCormack',NULL), - (847,10,7,215,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70aarrus',60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,60,74,178,128,0,255,0,'McCormack',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (848,10,4,213,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemfla',23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,23,43,222,128,0,255,0,'McCormack',NULL), - (849,10,5,213,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemsca',162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,162,69,189,128,0,255,0,'McCormack',NULL), - (850,10,6,213,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70hemdec',28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,28,209,227,128,0,255,0,'McCormack',NULL), - (851,10,7,213,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70hemrus',145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,145,76,184,128,0,255,0,'McCormack',NULL), - (852,10,4,216,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71wedfla',9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,9,181,219,128,0,255,0,'McCormack',NULL), - (853,10,5,216,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71wedsca',119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,119,196,150,128,0,255,0,'McCormack',NULL), - (854,10,7,216,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'71wedrus',154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,154,135,102,128,0,255,0,'McCormack',NULL), - (855,10,4,228,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firfla',0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,255,135,128,0,255,0,'McCormack',NULL), - (856,10,5,228,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firsca',33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,33,250,230,128,0,255,0,'McCormack',NULL), - (857,10,6,228,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73firdec',0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,0,214,128,0,255,0,'McCormack',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (858,10,7,228,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73firrus',27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,27,71,89,128,0,255,0,'McCormack',NULL), - (859,10,4,227,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73forfla',33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,33,163,240,128,0,255,0,'McCormack',NULL), - (860,10,5,227,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73forsca',174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,174,194,138,128,0,255,0,'McCormack',NULL), - (861,10,6,227,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'73fordec',131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,131,71,46,128,0,255,0,'McCormack',NULL), - (862,10,7,227,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'73forrus',172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,172,51,107,128,0,255,0,'McCormack',NULL), - (863,10,4,142,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4fla',33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,33,102,242,128,0,255,0,'McCormack',NULL), - (864,10,5,142,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4sca',130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,130,219,153,128,0,255,0,'McCormack',NULL), - (865,10,6,142,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70mb4dec',17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,17,201,194,128,0,255,0,'McCormack',NULL), - (866,10,7,142,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70mb4rus',26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,26,122,122,128,0,255,0,'McCormack',NULL), - (867,10,6,216,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'71weddec',32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,32,252,150,128,0,255,0,'McCormack',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (868,10,9,132,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'69chabad',6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,6,255,219,128,0,255,0,'Unknown',NULL), - (869,10,4,210,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stafla',42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,42,71,189,128,0,255,0,'McCormack',NULL), - (870,10,5,210,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stasca',166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,166,79,255,128,0,255,0,'McCormack',NULL), - (871,10,6,210,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'70stadec',13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,13,255,237,128,0,255,0,'McCormack',NULL), - (872,10,7,210,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'70starus',153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,153,79,158,128,0,255,0,'McCormack',NULL), - (873,10,4,157,'Flames',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxfla',142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,142,255,140,128,0,255,0,'McCormack',NULL), - (874,10,5,157,'Scallops',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxsca',43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,43,255,138,128,0,255,0,'McCormack',NULL), - (875,10,6,157,'Decals',NULL,NULL,NULL,NULL,NULL,NULL,NULL,5000,'69gtxdec',0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,0,204,128,0,255,0,'McCormack',NULL), - (876,10,7,157,'Rust Bucket',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'69gtxrus',132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,132,232,84,128,0,255,0,'McCormack',NULL), - (877,10,7,127,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenru2',18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,18,140,77,128,0,255,0,'McCormack',NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (878,10,7,127,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'55cenru3',142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,142,219,94,128,0,255,0,'McCormack',NULL), - (879,10,7,104,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairu2',145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,145,97,105,128,0,255,0,'McCormack',NULL), - (880,10,7,104,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57fairu3',59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,59,102,102,128,0,255,0,'McCormack',NULL), - (881,10,9,207,'Bad-Ass',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10000,'66cobbad',172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,172,46,120,128,0,255,0,'McCormack',NULL), - (882,10,7,113,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cheru2',0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,0,41,128,0,255,0,'McCormack',NULL), - (883,10,7,113,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57cheru3',132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,132,102,196,128,0,255,0,'McCormack',NULL), - (884,10,7,105,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranru2',140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,140,31,145,128,0,255,0,'McCormack',NULL), - (885,10,7,105,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57ranru3',195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,195,105,125,128,0,255,0,'McCormack',NULL), - (886,10,1,225,'Hurst Olds',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69hurtin',31,143,204,129,40,255,31,143,204,129,40,255,31,143,204,129,40,255,31,143,204,129,40,255,27,173,209,97,126,124,27,173,209,127,126,124,32,16,252,190,48,248,32,16,252,190,48,248,0,'Medina',NULL), - (888,10,1,212,'Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',151,135,158,128,16,232,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,151,135,158,128,16,232,128,0,0,128,0,128,151,135,158,128,16,232,0,'system','As per 70 Mach 1 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (889,10,1,211,'Red/Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,1,254,163,128,13,241,1,254,163,128,13,241,1,254,163,128,13,241,1,254,163,128,13,241,0,'system',NULL), - (890,10,7,115,'Spray Paint Special',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomru2',18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,18,207,115,128,0,255,0,'McCormack',NULL), - (891,10,7,115,'Graffiti',NULL,NULL,NULL,NULL,NULL,NULL,NULL,50,'57nomru3',231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,231,27,87,128,0,255,0,'McCormack',NULL), - (893,10,1,228,'Admiralty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',150,53,54,152,0,210,20,7,14,128,0,227,150,255,54,152,0,172,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,150,255,54,152,0,172,0,'Factory','As per 70 Firebird CSV'), - (894,10,1,211,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,131,146,128,0,233,128,0,2,128,0,173,48,122,146,128,0,255,0,'Factory','As per 69 Torino CSV'), - (895,10,1,211,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,142,54,73,128,0,237,142,13,73,128,0,252,142,252,73,128,0,227,0,'Factory','As per 69 Torino CSV'), - (896,10,1,211,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,26,237,52,128,0,222,32,177,128,128,0,236,250,237,52,128,0,206,0,'Factory','As per 69 Torino CSV'), - (897,10,1,211,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,159,249,53,128,0,208,0,'Factory','As per 69 Torino CSV'), - (898,10,1,211,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,37,142,152,128,22,220,0,'Factory','As per 69 Torino CSV'), - (899,10,1,211,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,114,54,124,128,0,219,128,0,2,128,0,173,109,54,124,128,0,231,0,'Factory','As per 69 Torino CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (900,10,1,211,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,44,45,255,128,45,222,128,0,2,128,0,173,44,45,255,128,66,222,0,'Factory','As per 69 Torino CSV'), - (901,10,1,211,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,1,254,163,128,13,220,1,254,163,128,13,241,30,10,1,128,2,155,0,'Factory','As per 69 Torino CSV'), - (902,10,1,211,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,130,172,47,163,0,195,0,'Factory','As per 69 Torino CSV'), - (903,10,1,211,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,1,254,163,128,1,224,128,0,2,128,0,173,1,254,163,128,13,241,0,'Factory','As per 69 Torino CSV'), - (904,10,1,211,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,6,255,135,165,11,203,0,'Factory','As per 69 Torino CSV'), - (905,10,1,211,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,133,116,212,128,13,207,128,0,2,128,0,173,133,116,116,128,13,227,0,'Factory','As per 69 Torino CSV'), - (906,10,1,211,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,30,254,255,118,45,212,128,0,2,128,0,173,30,254,255,118,45,252,0,'Factory','As per 69 Torino CSV'), - (907,10,1,211,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,128,33,164,128,0,248,0,'Factory','As per 69 Torino CSV'), - (908,10,1,211,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,148,255,103,186,2,185,0,'Factory','As per 69 Torino CSV'), - (909,10,1,211,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,19,90,88,155,0,202,128,0,2,128,0,173,19,90,88,155,0,211,0,'Factory','As per 69 Torino CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (910,10,1,211,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtttin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,138,219,92,137,0,214,128,0,2,128,0,163,138,219,92,137,0,224,0,'Factory','As per 69 Torino CSV'), - (911,10,1,218,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',3,250,64,128,0,252,30,10,5,128,0,245,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,43,26,255,100,48,255,43,26,255,100,35,255,43,26,255,100,48,255,0,'System','As per 67 Chevelle CSV'), - (912,10,1,218,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',20,5,1,99,0,206,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,99,0,206,20,5,1,128,0,229,20,5,1,99,0,206,0,'System','As per 67 Chevelle CSV'), - (913,10,1,218,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',3,250,64,128,0,227,22,104,94,128,0,252,22,104,94,128,0,252,22,104,94,128,0,252,30,15,2,128,0,214,3,250,64,128,0,227,248,45,64,128,0,244,3,250,64,128,0,227,0,'System','As per 67 Chevelle CSV'), - (914,10,1,218,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,130,5,124,122,1,232,28,14,124,122,1,253,28,14,124,122,1,232,0,'System','As per 67 Chevelle CSV'), - (915,10,1,218,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,154,30,15,255,128,60,255,142,117,141,128,0,235,142,44,171,128,0,253,142,117,141,128,0,235,0,'System','As per 67 Chevelle CSV'), - (916,10,1,218,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',35,134,255,128,43,255,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,255,128,60,255,35,134,255,128,43,255,35,82,255,128,7,255,35,134,255,128,43,255,0,'System','As per 67 Chevelle CSV'), - (917,10,1,218,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,5,255,83,58,255,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,5,255,128,14,255,128,5,255,83,58,255,0,'system','As per 67 Chevelle CSV'), - (918,10,1,218,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',79,64,91,118,0,249,28,104,94,128,20,252,28,104,94,128,20,252,28,104,94,128,20,252,30,15,2,128,0,214,79,64,91,118,0,249,79,36,91,118,15,254,79,64,91,118,0,249,0,'system','As per 67 Chevelle CSV'), - (919,10,1,218,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,31,135,142,128,2,249,31,22,142,128,11,254,31,135,142,128,2,249,0,'system','As per 67 Chevelle CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (920,10,1,218,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,254,43,143,0,197,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,254,43,143,0,197,128,56,137,143,0,224,128,254,43,143,0,197,0,'system','As per 67 Chevelle CSV'), - (921,10,1,218,'Royal Plum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',224,253,32,114,0,198,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,224,253,32,114,0,198,224,53,32,114,0,252,224,253,32,114,0,198,0,'system','As per 67 Chevelle CSV'), - (922,10,1,218,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',133,171,108,128,0,237,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,133,171,108,128,0,237,133,28,108,128,10,255,133,171,108,128,0,237,0,'system','As per 67 Chevelle CSV'), - (923,10,1,218,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67csstin',128,0,255,128,33,255,30,15,255,78,60,255,30,15,255,78,60,255,30,15,255,78,60,255,30,15,255,128,60,255,124,171,193,134,0,246,124,53,193,134,9,255,124,171,193,134,0,246,0,'system','As per 67 Chevelle CSV'), - (924,10,1,218,'White/Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',128,5,255,83,58,255,30,15,2,128,0,214,30,15,2,128,0,214,30,15,2,128,0,214,30,15,2,128,0,214,142,131,141,128,16,235,128,5,255,83,58,255,128,5,255,83,58,255,0,'system','As per 67 Chevelle CSV'), - (925,10,1,218,'Medium Blue/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,128,5,255,83,58,255,142,131,141,128,16,235,142,131,141,128,16,235,0,'system','As per 67 Chevelle CSV'), - (926,10,1,218,'Medium Blue/Dark Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,36,254,32,26,207,108,52,254,32,26,207,108,52,254,32,26,207,108,52,254,30,15,255,128,60,255,148,255,54,135,0,194,142,131,141,128,16,235,142,131,141,128,16,235,0,'system','As per 67 Chevelle CSV'), - (927,10,1,218,'Dark Blue/Medium Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,237,30,10,5,128,0,232,30,15,2,128,0,214,142,131,141,128,16,235,148,255,54,135,0,194,148,255,54,135,0,194,0,'system','As per 67 Chevelle CSV'), - (928,10,1,218,'Gold/Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,5,128,0,214,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,43,26,255,100,48,255,31,22,142,128,11,254,31,135,142,128,2,249,0,'system','As per 67 Chevelle CSV'), - (929,10,1,218,'Dark Turquoise/White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',128,254,43,143,0,197,30,10,5,128,0,250,30,10,5,128,0,240,30,10,5,128,0,232,30,15,2,128,0,214,128,5,255,83,58,255,128,56,137,143,0,224,128,254,43,143,0,197,0,'system','As per 67 Chevelle CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (930,10,1,218,'Fawn/Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'67csstin',30,10,126,128,0,248,30,10,5,128,0,250,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,43,26,255,100,48,255,28,14,124,122,1,232,28,14,124,122,1,232,0,'system','As per 67 Chevelle CSV'), - (931,10,1,101,'Lime Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',40,50,146,128,0,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,0,0,135,0,212,128,0,2,128,0,173,48,122,146,128,0,255,0,NULL,NULL), - (932,10,1,101,'Winter Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',142,62,73,128,0,237,142,13,73,128,0,252,128,0,54,128,0,242,128,0,49,128,0,242,142,252,73,128,0,227,32,177,128,128,8,249,142,13,73,128,0,252,142,252,73,128,0,227,0,NULL,NULL), - (933,10,1,101,'Royal Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',250,65,52,128,0,235,32,177,128,128,0,236,128,0,54,128,0,242,128,0,49,128,0,242,250,237,52,128,0,206,32,177,128,128,8,249,32,177,128,128,0,236,250,237,52,128,0,206,0,NULL,NULL), - (934,10,1,101,'Acapulco Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',159,61,53,128,0,233,159,249,53,128,0,208,128,0,54,128,0,242,128,0,49,128,0,242,159,249,53,128,0,208,142,0,252,128,34,237,159,249,53,128,0,208,159,249,53,128,0,208,0,NULL,NULL), - (935,10,1,101,'New Lime',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',37,43,152,128,22,220,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,37,142,152,128,22,220,40,0,0,135,0,212,37,142,152,128,22,220,37,142,152,128,22,220,0,NULL,NULL), - (936,10,1,101,'Silver Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',124,57,56,128,0,240,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,109,54,124,128,0,231,0,NULL,NULL), - (937,10,1,101,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,0,255,128,1,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,253,234,191,128,48,229,128,0,2,128,0,173,44,45,255,128,66,222,0,NULL,NULL), - (938,10,1,101,'Black Jade',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',30,10,1,128,2,224,30,10,1,128,2,155,128,0,54,128,0,242,128,0,49,128,0,242,30,10,1,128,2,155,253,234,191,128,48,229,1,254,163,128,13,241,30,10,1,128,2,155,0,NULL,NULL), - (939,10,1,101,'Gulfstream Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',130,32,47,163,0,214,130,172,47,163,0,195,128,0,54,128,0,242,128,0,49,128,0,242,130,172,47,163,0,195,32,177,128,128,8,249,130,172,47,163,0,195,130,172,47,163,0,195,0,NULL,NULL); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (940,10,1,101,'Rangoon Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',1,41,163,128,7,241,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,1,254,163,128,13,241,0,NULL,NULL), - (941,10,1,101,'Indian Fire Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',6,60,135,165,11,212,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,6,255,135,165,11,203,32,177,128,128,8,249,6,255,135,165,11,203,6,255,135,165,11,203,0,NULL,NULL), - (942,10,1,101,'Dresden Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,24,212,128,2,250,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,133,116,212,128,13,227,142,0,252,128,34,237,128,0,2,128,0,173,133,116,212,128,13,227,0,NULL,NULL), - (943,10,1,101,'Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',30,30,255,118,27,252,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,40,0,0,135,0,212,128,0,2,128,0,173,30,254,255,118,45,252,0,NULL,NULL), - (944,10,1,101,'Pastel Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',128,18,164,128,6,253,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,33,164,128,0,248,142,0,252,128,34,237,128,33,164,128,0,248,128,33,164,128,0,248,0,NULL,NULL), - (945,10,1,101,'Presidential Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',148,69,103,186,2,210,148,255,103,186,2,185,128,0,54,128,0,242,128,0,49,128,0,242,148,255,103,186,2,185,253,234,191,128,48,229,148,255,103,186,2,185,148,255,103,186,2,185,0,NULL,NULL), - (946,10,1,101,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',19,32,88,155,0,223,128,0,2,128,0,173,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,173,142,0,252,128,34,237,128,0,2,128,0,173,19,90,88,155,0,211,0,NULL,NULL), - (947,10,1,101,'Brittany Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'32fortin',138,50,92,137,0,240,128,0,2,128,0,163,128,0,54,128,0,242,128,0,49,128,0,242,128,0,2,128,0,163,142,0,252,128,34,237,128,0,2,128,0,163,138,219,92,137,0,224,0,NULL,NULL), - (965,10,1,228,'Florentine Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',250,79,45,128,0,236,26,101,184,128,0,222,252,255,75,128,0,173,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,252,255,75,128,0,173,0,'system','As per 70 Firebird CSV'), - (966,10,1,228,'Sunlight Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',31,146,255,128,5,255,20,7,14,128,0,227,31,236,255,128,6,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,31,236,255,128,6,255,0,'system','As per 70 Firebird CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (967,10,1,228,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',107,39,28,128,0,211,26,101,184,128,0,222,107,255,28,138,0,168,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,107,255,28,138,0,168,0,'system','As per 70 Firebird CSV'), - (968,10,1,228,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,75,82,0,242,128,0,1,82,0,206,128,0,1,82,0,156,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,128,0,1,82,0,156,128,0,1,82,0,156,0,'system','As per 70 Firebird CSV'), - (969,10,1,228,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',135,78,77,158,0,218,20,7,14,128,0,227,146,255,109,135,0,214,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,146,255,109,135,0,214,0,'system','As per 70 Firebird CSV'), - (970,10,1,228,'Ascot Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,195,148,0,232,20,7,14,128,0,227,128,13,122,137,0,220,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,13,122,137,0,220,0,'system','As per 70 Firebird CSV'), - (971,10,1,228,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',128,0,255,128,1,254,20,7,14,128,0,227,128,0,255,128,14,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,0,255,128,14,255,0,'system','As per 70 Firebird CSV'), - (972,10,1,228,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',6,77,255,128,0,242,20,7,14,128,0,227,1,255,255,128,0,240,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,1,255,255,128,0,240,0,'system','As per 70 Firebird CSV'), - (973,10,1,228,'Golden Olive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',45,33,134,154,0,210,20,7,14,128,0,227,37,165,109,154,0,199,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,37,165,109,154,0,199,0,'system','As per 70 Firebird CSV'), - (974,10,1,228,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',27,44,156,128,0,254,20,7,14,128,0,227,27,180,156,128,0,248,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,27,180,156,128,0,248,0,'system','As per 70 Firebird CSV'), - (975,10,1,228,'Burnished Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73firtin',35,22,61,158,0,208,26,101,184,128,0,222,35,83,61,158,0,181,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,35,83,61,158,0,181,0,'system','As per 70 Firebird CSV'), - (976,10,1,227,'Florentine Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',250,79,45,128,0,236,26,101,184,128,0,222,252,255,75,128,0,173,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,252,255,75,128,0,173,0,'system','As per 70 Firebird CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (977,10,1,227,'Sunlight Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',31,146,255,128,5,255,20,7,14,128,0,227,31,236,255,128,6,255,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,31,236,255,128,6,255,0,'system','As per 70 Firebird CSV'), - (978,10,1,227,'Brewster Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',107,39,28,128,0,211,26,101,184,128,0,222,107,255,28,138,0,168,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,107,255,28,138,0,168,0,'system','As per 70 Firebird CSV'), - (979,10,1,227,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,75,82,0,242,128,0,1,82,0,206,128,0,1,82,0,156,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,128,0,1,82,0,156,128,0,1,82,0,156,0,'system','As per 70 Firebird CSV'), - (980,10,1,227,'Regatta Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',135,78,77,158,0,218,20,7,14,128,0,227,146,255,109,135,0,214,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,146,255,109,135,0,214,0,'system','As per 70 Firebird CSV'), - (981,10,1,227,'Ascot Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',128,0,195,148,0,232,20,7,14,128,0,227,128,13,122,137,0,220,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,128,13,122,137,0,220,0,'system','As per 70 Firebird CSV'), - (982,10,1,227,'Buccaneer Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',6,77,255,128,0,242,20,7,14,128,0,227,1,255,255,128,0,240,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,1,255,255,128,0,240,0,'system','As per 70 Firebird CSV'), - (983,10,1,227,'Golden Olive',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',45,33,134,154,0,210,20,7,14,128,0,227,37,165,109,154,0,199,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,37,165,109,154,0,199,0,'system','As per 70 Firebird CSV'), - (984,10,1,227,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',27,44,156,128,0,254,20,7,14,128,0,227,27,180,156,128,0,248,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,215,20,7,14,128,0,158,27,180,156,128,0,248,0,'system','As per 70 Firebird CSV'), - (985,10,1,227,'Burnished Amber',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',35,22,61,158,0,208,26,101,184,128,0,222,35,83,61,158,0,181,20,7,9,118,3,241,26,101,184,128,0,214,131,20,168,128,0,215,26,101,184,128,0,214,35,83,61,158,0,181,0,'system','As per 70 Firebird CSV'), - (986,10,1,226,'Expresso Brown',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',19,54,52,128,0,208,19,169,52,128,0,193,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,19,169,52,128,0,193,19,169,52,128,0,193,19,169,52,128,0,193,0,'system','As per 69 GTO CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (987,10,1,226,'Mayfair Maize',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',30,79,255,128,7,255,30,151,255,128,7,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,30,151,255,128,7,255,30,151,255,128,7,255,30,151,255,128,7,255,0,'system','As per 69 GTO CSV'), - (988,10,1,226,'Warwick Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',142,129,167,128,6,229,142,142,167,128,6,208,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,142,88,167,128,6,212,142,5,167,128,6,240,142,255,167,128,6,201,0,'Factory','As per 69 GTO CSV'), - (989,10,1,226,'Burgundy',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',249,79,61,128,0,229,11,255,255,128,1,233,40,20,255,128,0,249,128,0,18,128,0,219,30,74,142,128,0,241,23,255,255,128,17,255,37,255,255,128,17,255,249,255,61,128,0,198,0,'Factory','As per 69 GTO CSV'), - (990,10,1,226,'Liberty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',144,69,58,128,0,208,142,129,167,128,6,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,142,101,167,128,6,236,142,5,167,128,6,240,144,255,58,128,0,180,0,'Factory','As per 69 GTO CSV'), - (991,10,1,226,'Matador Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',2,69,144,128,0,227,15,255,255,128,17,255,40,20,255,128,0,249,128,0,18,128,0,219,30,10,19,128,0,175,23,255,255,128,17,255,37,255,255,128,17,255,2,255,144,128,0,227,0,'Factory','As per 69 GTO CSV'), - (992,10,1,226,'Antique Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',31,64,182,128,0,239,26,169,182,128,0,232,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,26,169,182,128,0,232,26,169,182,128,0,232,26,169,182,128,0,232,0,'Factory','As per 69 GTO CSV'), - (993,10,1,226,'Champagne',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',34,45,73,128,0,231,34,91,105,128,0,212,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,30,36,145,128,0,224,30,36,145,128,0,224,30,36,145,128,0,224,0,'Factory','As per 69 GTO CSV'), - (994,10,1,226,'Starlight Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',30,10,5,154,0,192,2,255,255,128,0,195,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,1,255,255,128,0,237,1,255,255,128,26,255,30,10,5,154,0,155,0,'Factory','As per 69 GTO CSV'), - (995,10,1,226,'Windward Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',147,41,74,128,0,224,134,186,74,128,0,198,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,134,186,74,128,0,198,134,186,74,128,0,198,134,186,74,128,0,198,0,'Factory','As per 69 GTO CSV'), - (996,10,1,226,'Goldenrod Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',37,62,255,128,18,255,28,255,255,128,26,225,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,24,255,255,128,26,255,18,255,255,128,26,255,31,255,255,128,17,255,0,'Factory','As per 69 GTO CSV'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (997,10,1,226,'Verdoro Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',103,41,28,154,0,206,60,255,255,128,1,214,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,47,255,255,128,1,244,37,255,255,128,17,255,69,125,28,154,0,176,0,'Factory','As per 69 GTO CSV'), - (998,10,1,226,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',128,5,255,128,14,255,2,73,255,128,19,225,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,2,146,255,128,19,255,2,255,255,128,19,255,47,11,255,128,27,255,0,'Factory','As per 69 GTO CSV'), - (999,10,1,226,'Crystal Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',121,44,71,128,0,218,121,255,71,128,0,205,40,7,16,128,0,194,128,0,14,128,0,215,30,10,19,128,0,175,121,255,71,128,0,205,121,255,71,128,0,205,121,255,71,128,0,205,0,'Factory','As per 69 GTO CSV'), - (1000,10,1,226,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',50,45,95,128,0,229,50,108,95,128,0,211,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,50,108,95,128,0,211,50,108,95,128,0,211,50,108,95,128,0,211,0,'Factory','As per 69 GTO CSV'), - (1001,10,1,226,'Carousel Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',2,77,255,128,0,245,13,255,255,128,9,255,40,7,16,128,0,194,128,0,18,128,0,219,30,10,19,128,0,175,22,255,255,128,9,255,32,255,255,128,9,255,2,255,255,128,0,255,0,'Factory','As per 69 GTO CSV'), - (1002,10,1,226,'Paladium Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69judtin',128,15,94,128,0,237,32,73,255,128,0,237,40,20,255,128,0,249,128,0,18,128,0,219,30,48,142,128,45,241,32,142,255,128,0,240,32,255,255,128,9,255,128,15,94,128,0,228,0,'Factory','As per 69 GTO CSV'), - (1005,10,1,213,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), - (1006,10,1,214,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), - (1007,10,1,215,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,9,255,255,92,44,255,0,'Factory','As per 70 Cuda CSV.'), - (1008,10,1,134,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,NULL,7,0,128,0,172,148,203,NULL,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1009,10,1,213,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), - (1010,10,1,213,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1011,10,1,213,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), - (1012,10,1,213,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1013,10,1,213,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1014,10,1,213,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1015,10,1,213,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1016,10,1,213,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), - (1017,10,1,213,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1018,10,1,213,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1019,10,1,213,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), - (1020,10,1,213,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1021,10,1,213,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), - (1022,10,1,213,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), - (1023,10,1,213,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), - (1024,10,1,213,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70hemtin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), - (1025,10,1,214,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1026,10,1,214,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), - (1027,10,1,214,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1028,10,1,214,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1029,10,1,214,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1030,10,1,214,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1031,10,1,214,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1032,10,1,214,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1033,10,1,214,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), - (1034,10,1,214,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1035,10,1,214,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), - (1036,10,1,214,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), - (1037,10,1,214,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1038,10,1,214,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1039,10,1,214,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), - (1040,10,1,214,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), - (1041,10,1,214,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70h44tin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'), - (1042,10,1,215,'Jamaica Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,148,203,101,141,0,229,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1043,10,1,215,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,138,163,73,128,0,235,0,'Factory','As per 70 Cuda CSV.'), - (1044,10,1,215,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,156,208,189,128,0,253,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1045,10,1,215,'Citron Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,49,97,139,128,0,239,0,'Factory','As per 70 Cuda CSV.'), - (1046,10,1,215,'Ice Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,142,126,112,128,0,240,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1047,10,1,215,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,96,176,48,148,0,203,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1048,10,1,215,'Sassy Grass Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,90,235,255,128,16,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1049,10,1,215,'Tor-Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,48,128,0,241,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,255,133,15,255,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1050,10,1,215,'Burnt Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,13,210,146,128,0,248,0,'Factory','As per 70 Cuda CSV.'), - (1051,10,1,215,'Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,27,45,120,101,16,254,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1052,10,1,215,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,1,255,82,128,0,231,0,'Factory','As per 70 Cuda CSV.'), - (1053,10,1,215,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,97,48,128,6,255,20,97,48,128,0,249,20,97,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,19,163,75,128,0,220,0,'Factory','As per 70 Cuda CSV.'), - (1054,10,1,215,'In-Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,222,255,74,128,0,231,0,'Factory','As per 70 Cuda CSV. Does not match reference as a factory stock color.'), - (1055,10,1,215,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,1,215,48,128,7,255,1,215,48,128,0,245,1,215,48,128,0,233,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,128,3,255,97,45,255,0,'Factory','As per 70 Cuda CSV.'), - (1056,10,1,215,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,33,255,255,128,34,255,0,'Factory','As per 70 Cuda CSV.'), - (1057,10,1,215,'Citron Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,28,172,255,116,27,255,0,'Factory','As per 70 Cuda CSV.'), - (1058,10,1,215,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70aartin',7,7,0,128,0,224,20,7,48,128,0,255,20,7,58,128,0,244,20,7,48,128,0,241,20,7,16,128,0,188,9,9,9,92,1,219,7,7,0,128,0,172,7,7,0,128,0,178,0,'Factory','As per 70 Cuda CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1059,10,1,227,'Admiralty Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'73fortin',150,53,54,152,0,210,20,7,14,128,0,227,150,255,54,152,0,172,20,7,9,118,3,241,20,7,14,128,0,158,131,20,168,128,0,237,20,7,14,128,0,158,150,255,54,152,0,172,0,'system','As per 70 Firebird CSV'), - (1060,10,1,216,'Lime Light',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',50,41,135,128,0,240,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,45,147,135,135,0,232,20,7,6,128,0,165,45,147,135,135,0,232,0,'Factory','As per 71 Duster CSV.'), - (1061,10,1,216,'Bahama Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',28,60,208,128,0,249,122,5,184,128,0,246,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,26,233,208,128,0,239,20,7,6,128,0,165,26,233,208,128,0,239,0,'Factory','As per 71 Duster CSV.'), - (1062,10,1,216,'Rallye Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',0,97,255,128,0,244,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,0,255,255,128,0,245,20,7,6,128,0,165,0,255,255,128,0,245,0,'Factory','As per 71 Duster CSV.'), - (1063,10,1,216,'In Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',197,50,87,128,0,236,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,186,177,87,156,0,203,20,7,6,128,0,165,186,177,87,156,0,203,0,'Factory','As per 71 Duster CSV.'), - (1064,10,1,216,'Avocado',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',80,35,24,128,0,218,70,192,24,103,0,186,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,70,192,24,103,0,186,70,192,24,103,0,186,70,192,24,103,0,186,0,'Factory','As per 71 Duster CSV.'), - (1065,10,1,216,'True Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',147,48,109,143,0,222,142,255,109,143,0,212,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,142,255,109,143,0,212,142,255,109,143,0,212,142,255,109,143,0,212,0,'Factory','As per 71 Duster CSV.'), - (1066,10,1,216,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',40,19,255,88,36,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,40,19,255,88,36,255,20,7,6,128,0,165,40,19,255,88,36,255,0,'Factory','As per 71 Duster CSV.'), - (1067,10,1,216,'Coral Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',131,62,124,146,0,229,131,214,57,143,0,192,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,131,214,57,143,0,192,131,214,57,143,0,192,131,214,57,143,0,192,0,'Factory','As per 71 Duster CSV.'), - (1068,10,1,216,'Sandpebble Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',27,35,108,128,0,246,24,118,176,133,0,240,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,24,118,176,133,0,240,24,118,176,133,0,240,24,118,176,133,0,240,0,'Factory','As per 71 Duster CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1069,10,1,216,'Aztec Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',27,82,160,128,0,254,23,215,160,128,0,252,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,23,215,160,128,0,252,23,215,160,128,0,252,23,215,160,128,0,252,0,'Factory','As per 71 Duster CSV.'), - (1070,10,1,216,'Winchester Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',136,24,202,116,9,255,136,24,202,116,5,229,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,136,24,202,116,5,229,20,7,6,128,0,165,136,24,202,116,5,229,0,'Factory','As per 71 Duster CSV.'), - (1071,10,1,216,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',14,69,255,97,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,18,255,255,94,28,255,20,7,6,128,0,165,18,255,255,94,28,255,0,'Factory','As per 71 Duster CSV.'), - (1072,10,1,216,'Burnished Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',254,48,79,128,0,233,254,252,79,148,0,212,45,37,246,128,9,255,22,134,100,128,0,255,20,7,23,128,0,242,254,252,79,148,0,212,254,252,79,148,0,212,254,252,79,148,0,212,0,'Factory','As per 71 Duster CSV.'), - (1073,10,1,216,'Lemon Twist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',33,131,255,118,19,255,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,33,255,255,118,26,255,20,7,6,128,0,165,33,255,255,118,26,255,0,'Factory','As per 71 Duster CSV.'), - (1074,10,1,216,'Black Velvet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',37,10,1,73,1,239,122,5,184,128,0,246,20,7,30,116,0,244,20,7,30,117,0,240,20,7,23,128,0,242,37,10,1,69,1,194,37,10,1,69,1,194,37,10,1,69,1,194,0,'Factory','As per 71 Duster CSV.'), - (1075,10,1,216,'Autumn Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'71wedtin',14,82,79,144,0,220,14,252,79,144,0,212,22,134,45,128,0,241,22,134,100,128,0,255,20,7,23,128,0,242,14,252,79,144,0,212,14,252,79,144,0,212,14,252,79,144,0,212,0,'Factory','As per 71 Duster CSV.'), - (1076,10,1,224,'Crimson',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',2,150,255,128,0,236,2,255,255,128,0,228,2,255,255,128,0,228,11,10,26,128,0,205,30,10,1,128,0,194,2,255,255,128,0,228,2,255,255,128,0,228,2,255,255,128,0,228,0,'Factory','As per 69 Olds 442 CSV.'), - (1077,10,1,224,'Platinum',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',134,10,126,128,6,245,134,10,158,128,1,232,134,10,158,128,1,232,11,10,26,128,0,205,30,10,1,128,0,194,134,10,158,128,1,232,134,10,158,128,1,232,134,10,158,128,1,232,0,'Factory','As per 69 Olds 442 CSV.'), - (1078,10,1,224,'Trophy Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',170,128,192,128,0,214,147,255,79,128,0,184,147,255,79,128,0,184,11,10,26,128,0,205,30,10,1,128,0,194,147,255,79,128,0,184,147,255,79,128,0,184,147,255,79,128,0,184,0,'Factory','As per 69 Olds 442 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1079,10,1,224,'Ebony Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',6,10,9,128,0,197,6,10,9,128,0,161,6,10,9,128,0,161,11,10,26,128,0,205,30,10,1,128,0,194,6,10,9,128,0,161,6,10,9,128,0,161,6,10,9,128,0,161,0,'Factory','As per 69 Olds 442 CSV.'), - (1080,10,1,224,'Topaz',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',37,65,145,128,0,243,31,143,178,128,0,224,31,143,178,128,0,224,11,10,26,128,0,205,30,10,1,128,0,194,31,143,178,128,0,224,31,143,178,128,0,224,31,143,178,128,0,224,0,'Factory','As per 69 Olds 442 CSV.'), - (1081,10,1,224,'Cameo White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',128,10,255,128,18,255,128,10,255,128,43,255,128,10,255,128,43,255,11,10,26,128,0,205,30,10,1,128,0,194,128,10,255,128,43,255,128,10,255,128,43,255,128,10,255,128,43,255,0,'Factory','As per 69 Olds 442 CSV.'), - (1082,10,1,224,'Powder Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',135,61,190,128,0,242,135,99,190,128,0,237,135,99,190,128,0,237,28,26,164,128,10,255,30,10,1,128,0,194,135,99,190,128,0,237,135,99,190,128,0,237,135,99,190,128,0,237,0,'Factory','As per 69 Olds 442 CSV.'), - (1083,10,1,224,'Chestnut Bronze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',5,91,82,128,0,218,5,231,82,128,0,193,5,231,82,128,0,193,28,116,164,128,1,224,30,10,1,128,0,194,5,231,82,128,0,193,5,231,82,128,0,193,5,231,82,128,0,193,0,'Factory','As per 69 Olds 442 CSV.'), - (1084,10,1,224,'Saffron',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',33,96,255,128,16,255,28,165,255,128,33,255,28,165,255,128,33,255,11,10,26,128,0,205,30,10,1,128,0,194,28,165,255,128,33,255,28,165,255,128,33,255,28,165,255,128,33,255,0,'Factory','As per 69 Olds 442 CSV.'), - (1085,10,1,224,'Flamingo Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',246,33,80,128,7,242,246,43,80,128,7,232,246,43,80,128,7,232,11,10,26,128,0,205,30,10,1,128,0,194,246,43,80,128,7,232,246,43,80,128,7,232,246,43,80,128,7,232,0,'Factory','As per 69 Olds 442 CSV.'), - (1086,10,1,224,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',77,44,109,128,1,242,65,75,109,128,1,220,65,75,109,128,1,220,28,116,164,128,1,224,30,10,1,128,0,194,65,75,109,128,1,220,65,75,109,128,1,220,65,75,109,128,1,220,0,'Factory','As per 69 Olds 442 CSV.'), - (1087,10,1,224,'Palomino Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69w30tin',32,56,118,128,0,245,32,92,118,128,0,233,32,92,118,128,0,233,28,116,164,128,1,224,30,10,1,128,0,194,32,92,118,128,0,233,32,92,118,128,0,233,32,92,118,128,0,233,0,'Factory','As per 69 Olds 442 CSV.'), - (1088,10,1,157,'Lime Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',66,78,48,128,0,231,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,66,143,48,128,0,211,1,0,2,128,0,182,66,143,48,128,0,211,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1089,10,1,157,'Blue Fire',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',147,79,101,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,147,255,101,128,0,223,1,0,2,128,0,182,147,255,101,128,0,223,0,'Factory','This is a factory stock color.'), - (1090,10,1,157,'Scorch Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',5,124,165,128,0,245,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,5,255,165,128,0,225,1,0,2,128,0,182,5,255,165,128,0,225,0,'Factory','This is a factory stock color.'), - (1091,10,1,157,'Violet',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',189,88,52,128,0,239,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,184,255,52,128,0,219,1,0,2,128,0,182,184,255,52,128,0,219,0,'Factory','This is a factory stock color.'), - (1092,10,1,157,'Frosted Teal',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',134,73,62,128,0,227,134,255,62,128,0,242,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,134,2,219,128,23,255,134,255,62,128,0,207,134,255,62,128,0,207,0,'Factory','This is a factory stock color.'), - (1093,10,1,157,'Vitamin C',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',20,137,181,82,36,253,20,255,231,52,49,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,20,255,231,52,49,253,1,0,2,128,0,182,20,255,231,52,49,253,0,'Factory','This is a factory stock color.'), - (1094,10,1,157,'Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',66,47,33,128,0,236,66,143,33,128,0,192,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,48,80,164,128,1,239,66,143,33,128,0,192,66,143,33,128,0,192,0,'Factory','This is a factory stock color.'), - (1095,10,1,157,'Limelight Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',83,108,202,128,0,250,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,73,205,202,128,6,239,1,0,2,128,0,182,73,205,202,128,6,239,0,'Factory','This is a factory stock color.'), - (1096,10,1,157,'Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',9,7,1,128,0,232,0,255,248,128,24,253,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,128,24,253,9,7,1,128,0,188,9,7,1,128,0,188,0,'Factory','This is a factory stock color.'), - (1097,10,1,157,'Sahara Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',27,88,96,128,0,249,27,161,96,128,0,254,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,1,0,2,128,0,182,27,161,96,128,0,231,27,161,96,128,0,231,0,'Factory','This is a factory stock color.'), - (1098,10,1,157,'Burnt Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',13,83,122,128,0,237,20,255,255,128,15,255,30,107,62,128,0,241,30,107,62,128,0,254,30,10,10,128,0,206,13,176,122,128,0,229,1,0,2,128,0,182,13,176,122,128,0,229,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1099,10,1,157,'Walnut',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',20,66,58,128,0,236,20,137,58,128,0,239,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,48,80,164,128,1,239,20,137,58,128,0,211,20,137,58,128,0,211,0,'Factory','This is a factory stock color.'), - (1100,10,1,157,'Rally Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',0,139,248,128,24,253,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,0,255,248,97,13,253,1,0,2,128,0,182,0,255,248,97,13,253,0,'Factory','This is a factory stock color.'), - (1101,10,1,157,'Alpine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',30,47,255,87,45,255,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,30,47,255,87,45,255,1,0,2,128,0,182,30,47,255,87,45,255,0,'Factory','This is a factory stock color.'), - (1102,10,1,157,'Sunfire Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',38,141,255,128,9,255,20,255,255,128,15,255,30,15,255,128,10,255,30,15,255,128,27,255,30,10,203,128,33,255,32,219,255,88,44,255,1,0,2,128,0,182,32,219,255,88,44,255,0,'Factory','This is a factory stock color.'), - (1103,10,1,157,'Yellow Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'69gtxtin',32,87,210,128,35,227,20,255,255,128,15,255,30,15,23,128,0,242,30,15,33,128,0,249,30,10,10,128,0,206,32,189,210,128,35,249,1,0,2,128,0,182,32,189,210,128,35,249,0,'Factory','This is a factory stock color.'), - (1104,10,1,217,'Azure Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,125,47,90,128,0,202,128,0,255,128,0,186,125,47,90,128,0,202,40,20,10,128,0,224,125,18,90,128,0,248,40,24,255,128,32,255,128,128,90,129,0,211,0,'system','As per 64 Impala CSV.'), - (1105,10,1,217,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,5,255,128,0,199,128,0,255,128,0,186,20,5,255,128,0,199,40,20,10,128,0,224,20,5,1,128,0,208,20,5,1,128,0,159,20,5,1,128,0,159,0,'system','As per 64 Impala CSV.'), - (1106,10,1,217,'Lagoon Aqua',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,127,254,53,128,1,195,128,0,255,128,0,186,127,254,53,128,1,195,40,20,10,128,0,224,127,116,53,128,1,228,127,202,53,128,1,178,127,202,53,128,1,178,0,'system','As per 64 Impala CSV.'), - (1107,10,1,217,'Meadow Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',40,15,255,128,0,255,73,60,143,128,0,212,24,71,202,152,3,214,73,60,143,128,0,212,40,20,10,128,0,224,108,24,143,128,0,233,40,24,255,128,32,255,73,60,143,128,0,212,0,'system','As per 64 Impala CSV.'), - (1108,10,1,217,'Desert Beige',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,24,71,202,121,3,255,24,71,202,152,3,214,24,71,202,121,3,255,40,20,10,128,0,224,24,24,202,121,9,255,24,71,202,121,3,255,24,71,202,121,3,255,0,'system','As per 64 Impala CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1109,10,1,217,'Daytona Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,147,255,47,128,0,208,147,212,47,128,0,178,147,255,47,128,0,208,40,20,10,128,0,224,147,75,47,128,0,211,147,255,47,128,0,180,147,255,47,128,0,180,0,'system','As per 64 Impala CSV.'), - (1110,10,1,217,'Bahama Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',30,79,30,128,0,241,30,79,30,128,0,241,24,71,202,152,3,214,30,79,30,128,0,212,40,20,10,128,0,224,94,54,47,128,0,220,107,185,47,114,0,175,107,185,47,114,0,175,0,'system','As per 64 Impala CSV.'), - (1111,10,1,217,'Ermine White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,128,8,255,128,33,233,1,249,154,128,0,224,128,8,255,128,33,255,40,20,255,128,0,229,128,8,255,128,7,255,128,8,255,128,33,255,128,8,255,128,33,255,0,'system','As per 64 Impala CSV.'), - (1112,10,1,217,'Almond Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',40,15,255,128,0,255,13,48,255,105,0,232,40,15,255,128,0,255,13,48,255,105,0,232,40,20,10,128,0,224,13,26,255,105,7,254,40,24,255,128,32,255,13,48,255,105,0,232,0,'system','As per 64 Impala CSV.'), - (1113,10,1,217,'Palomar Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,13,254,75,118,0,223,24,71,202,152,3,214,13,254,75,118,0,208,40,20,255,128,0,229,13,44,75,118,0,220,13,254,75,118,0,185,13,254,75,118,0,185,0,'system','As per 64 Impala CSV.'), - (1114,10,1,217,'Goldwood Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,32,122,255,128,20,255,24,71,202,152,3,231,32,122,255,128,20,255,24,71,202,152,3,231,37,44,255,128,6,240,24,71,202,152,3,231,32,122,255,128,20,255,0,'system','As per 64 Impala CSV.'), - (1115,10,1,217,'Silver Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,139,65,138,114,6,231,128,0,255,128,0,255,139,65,138,114,6,220,40,20,255,128,73,255,139,36,138,114,6,249,40,24,255,128,32,255,139,65,138,114,6,212,0,'system','As per 64 Impala CSV.'), - (1116,10,1,217,'Saddle Tan',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,97,143,128,0,233,24,71,202,152,3,231,20,97,143,128,0,218,40,20,255,128,0,229,20,49,143,128,0,240,20,97,143,128,0,218,20,97,143,128,0,218,0,'system','As per 64 Impala CSV.'), - (1117,10,1,217,'Satin Silver',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'64ssitin',128,0,255,128,0,255,20,5,255,128,0,229,1,2,154,128,0,173,20,5,255,128,0,214,40,20,255,128,0,229,20,5,255,128,0,240,20,5,255,128,0,206,117,5,159,84,0,248,0,'system','As per 64 Impala CSV.'), - (1118,10,1,221,'Classic White / Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,165,1,41,101,128,0,254,15,255,101,128,14,255,128,5,255,128,18,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1119,10,1,221,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,128,255,58,152,0,203,128,255,58,152,0,203,128,255,58,152,0,203,0,'Factory','This is a factory stock color.'), - (1120,10,1,221,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,27,138,126,128,0,223,27,138,126,128,0,223,27,138,126,128,0,223,0,'Factory','This is a factory stock color.'), - (1121,10,1,221,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,122,10,160,128,0,227,1,1,1,128,1,147,122,10,160,142,0,220,0,'Factory','This is a factory stock color.'), - (1122,10,1,221,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,104,101,147,128,0,219,104,101,147,128,0,219,104,101,147,128,0,219,0,'Factory','This is a factory stock color.'), - (1123,10,1,221,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,97,130,53,128,0,190,97,130,53,128,0,190,97,130,53,128,0,190,0,'Factory','This is a factory stock color.'), - (1124,10,1,221,'Cranberry Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',6,56,91,128,0,245,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,248,254,91,176,0,180,1,1,1,128,1,147,248,254,91,176,0,192,0,'Factory','This is a factory stock color.'), - (1125,10,1,221,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,165,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,184,2,180,0,'Factory','This is a factory stock color.'), - (1126,10,1,221,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,242,28,83,171,0,180,1,1,1,128,1,147,242,28,83,171,0,202,0,'Factory','This is a factory stock color.'), - (1127,10,1,221,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,155,254,70,146,11,184,155,254,70,146,11,184,155,254,70,146,11,184,0,'Factory','This is a factory stock color.'), - (1128,10,1,221,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,26,41,53,128,0,199,26,41,53,128,0,199,26,41,53,128,0,199,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1129,10,1,221,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,165,31,148,112,109,11,228,1,1,1,128,1,147,31,148,112,109,11,233,0,'Factory','This is a factory stock color.'), - (1130,10,1,221,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,245,255,66,128,0,198,245,255,66,128,0,198,245,255,66,128,0,198,0,'Factory','This is a factory stock color.'), - (1131,10,1,221,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70csstin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,165,23,126,62,128,0,194,23,126,62,128,0,194,23,126,62,128,0,194,0,'Factory','This is a factory stock color.'), - (1132,10,1,221,'Plum / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,215,255,53,128,0,188,1,1,1,128,1,147,215,255,53,128,0,198,0,'Factory','This is a factory stock color.'), - (1133,10,1,221,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',18,86,255,117,20,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,31,255,255,117,26,229,1,1,1,128,1,147,31,255,255,117,26,255,0,'Factory','This is a factory stock color.'), - (1134,10,1,221,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70csstin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,165,1,236,255,128,0,219,1,1,1,128,1,147,1,255,255,139,0,249,0,'Factory','This is a factory stock color.'), - (1135,10,1,223,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,48,83,139,128,0,223,20,7,31,128,0,246,20,7,9,128,0,244,48,28,139,128,0,240,20,7,18,128,0,161,48,83,139,128,0,223,0,'Factory','This is a factory stock color.'), - (1136,10,1,223,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',0,255,255,128,0,241,0,255,255,128,0,241,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,0,86,255,128,0,252,0,255,255,128,0,241,0,255,255,128,0,241,0,'Factory','This is a factory stock color.'), - (1137,10,1,223,'Astro Blue / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',145,210,142,128,0,216,145,210,142,128,0,216,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,150,79,142,128,0,241,145,210,142,128,0,216,145,210,142,128,0,216,0,'Factory','This is a factory stock color.'), - (1138,10,1,223,'Shadow Grey',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,24,66,86,128,0,207,20,7,31,128,0,246,20,7,9,128,0,244,24,40,75,128,0,231,20,7,18,128,0,161,24,66,86,128,0,207,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1139,10,1,223,'Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',22,107,142,128,0,225,22,107,142,128,0,225,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,28,47,142,128,0,245,22,107,142,128,0,225,22,107,142,128,0,225,0,'Factory','This is a factory stock color.'), - (1140,10,1,223,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,101,178,33,128,0,193,20,7,31,128,0,246,20,7,9,128,0,244,64,84,33,128,36,206,20,7,18,128,0,161,101,178,33,128,0,193,0,'Factory','This is a factory stock color.'), - (1141,10,1,223,'Classic White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,58,255,20,7,18,128,0,208,40,7,255,128,27,255,20,7,31,128,0,246,20,7,9,128,0,244,40,7,255,128,27,225,20,7,18,128,0,161,40,7,255,128,27,255,0,'Factory','This is a factory stock color.'), - (1142,10,1,223,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,130,182,97,128,0,222,20,7,31,128,0,246,20,7,9,128,0,244,130,73,97,128,0,235,20,7,18,128,0,161,130,182,97,128,0,222,0,'Factory','This is a factory stock color.'), - (1143,10,1,223,'Black Cherry / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',1,255,80,128,2,203,1,255,80,128,2,203,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,1,66,80,128,2,241,1,255,80,128,2,203,1,255,80,128,2,203,0,'Factory','This is a factory stock color.'), - (1144,10,1,223,'Autumn Gold / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',26,134,134,137,0,199,26,134,134,137,0,199,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,26,74,134,128,0,245,26,134,134,137,0,199,26,134,134,137,0,199,0,'Factory','This is a factory stock color.'), - (1145,10,1,223,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',129,1,189,128,1,222,129,1,189,128,1,222,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,129,1,189,128,1,231,129,1,189,128,1,222,129,1,189,128,1,222,0,'Factory','This is a factory stock color.'), - (1146,10,1,223,'Desert Sand',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssntin',128,0,255,128,0,255,20,7,18,128,0,208,22,147,147,128,0,244,20,7,31,128,0,246,40,10,255,128,77,255,22,53,147,128,0,250,20,7,18,128,0,161,22,147,147,128,0,244,0,'Factory','This is a factory stock color.'), - (1147,10,1,223,'Black / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',20,5,1,128,0,184,20,5,1,128,0,184,0,255,255,128,0,241,20,7,31,128,0,246,20,7,9,128,0,244,20,5,66,128,0,245,20,5,1,128,0,184,20,5,1,128,0,177,0,'Factory','This is a factory stock color.'), - (1148,10,1,223,'Yellow / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssntin',29,255,255,128,34,255,29,255,255,128,34,255,20,7,18,128,0,161,20,7,31,128,0,246,20,7,9,128,0,244,37,64,255,128,16,239,29,255,255,128,34,255,29,255,255,128,34,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1149,10,1,222,'Laguna Gray / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',242,18,83,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,242,28,83,128,0,214,1,1,1,128,1,168,242,28,83,128,0,225,0,'Factory','This is a factory stock color.'), - (1150,10,1,222,'Classic White / Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',128,5,255,128,27,255,1,255,71,128,0,249,1,255,71,128,0,249,1,255,71,128,0,249,20,7,18,128,0,248,1,41,101,128,0,254,1,255,101,128,0,236,128,5,255,128,39,255,0,'Factory','This is a factory stock color.'), - (1151,10,1,222,'Misty Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',128,52,58,128,0,250,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,128,57,58,128,0,248,128,0,255,128,35,255,128,255,58,128,0,227,0,'Factory','This is a factory stock color.'), - (1152,10,1,222,'Champagne Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',33,60,126,128,0,252,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,27,138,126,128,0,248,0,'Factory','This is a factory stock color.'), - (1153,10,1,222,'Cortez Silver / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',122,10,160,128,11,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,122,10,160,128,0,227,1,1,1,128,1,168,122,10,160,128,0,248,0,'Factory','This is a factory stock color.'), - (1154,10,1,222,'Green Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',104,18,147,128,0,253,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,104,101,147,128,0,239,104,101,147,128,0,239,104,101,147,128,0,239,0,'Factory','This is a factory stock color.'), - (1155,10,1,222,'Forest Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',64,14,53,128,0,232,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,97,130,53,128,0,210,97,130,53,128,0,210,97,130,53,128,0,210,0,'Factory','This is a factory stock color.'), - (1156,10,1,222,'Astro Blue / White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',142,57,255,128,18,255,142,152,86,128,1,245,142,152,86,128,1,245,142,152,86,128,1,250,20,7,18,128,0,248,142,101,255,128,2,254,142,3,255,128,36,255,142,175,88,128,2,228,0,'Factory','This is a factory stock color.'), - (1157,10,1,222,'Monza Red / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',1,47,255,128,0,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,1,141,255,128,0,214,1,1,1,128,1,168,1,255,255,139,0,255,0,'Factory','This is a factory stock color.'), - (1158,10,1,222,'Fathom Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',170,73,255,128,22,255,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,155,254,70,146,11,206,155,254,70,146,11,206,155,254,70,146,11,206,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1159,10,1,222,'Shadow Gray',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',128,6,94,128,6,254,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,26,41,53,128,0,224,26,41,53,128,0,224,26,41,53,128,0,224,0,'Factory','This is a factory stock color.'), - (1160,10,1,222,'Gold Beige / Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70ssetin',31,13,112,128,0,249,128,0,20,128,0,249,128,0,23,128,0,248,128,0,23,128,0,252,20,7,18,128,0,248,31,176,112,109,18,206,1,1,1,128,1,168,31,176,112,109,18,253,0,'Factory','This is a factory stock color.'), - (1161,10,1,222,'Black Cherry',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',229,43,66,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,128,0,23,128,0,252,20,7,18,128,0,248,245,255,66,128,0,225,245,255,66,128,0,225,245,255,66,128,0,225,0,'Factory','This is a factory stock color.'), - (1162,10,1,222,'Autumn Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70ssetin',23,39,62,128,0,240,36,66,57,128,0,252,36,66,57,128,0,248,36,66,57,128,0,252,20,7,18,128,0,248,23,126,62,128,0,215,NULL,126,62,128,0,215,23,126,NULL,128,0,215,0,'Factory','This is a factory stock color.'), - (1163,10,1,142,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',6,194,143,128,6,240,6,194,143,128,6,240,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,6,194,143,128,6,240,6,194,143,128,6,240,0,'Factory','As per 70 Boss 429 CSV.'), - (1164,10,1,142,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',20,10,1,128,0,177,20,10,1,128,0,177,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,20,10,1,128,0,177,20,10,1,128,0,177,0,'Factory','As per 70 Boss 429 CSV.'), - (1165,10,1,142,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This color is not factory by CSV. Left over from old CSV file.'), - (1166,10,1,142,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Boss 429 CSV.'), - (1167,10,1,142,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Boss 429 CSV.'), - (1168,10,1,142,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Boss 429 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1169,10,1,142,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Boss 429 CSV.'), - (1170,10,1,142,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Boss 429 CSV.'), - (1171,10,1,142,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Boss 429 CSV.'), - (1172,10,1,142,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Boss 429 CSV.'), - (1173,10,1,142,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Boss 429 CSV.'), - (1174,10,1,142,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Boss 429 CSV.'), - (1175,10,1,142,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Boss 429 CSV.'), - (1176,10,1,142,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mb4tin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Boss 429 CSV.'), - (1177,10,1,142,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb4tin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','As per 70 Boss 429 CSV.'), - (1178,10,1,210,'Candyapple Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mb3tin',6,194,143,128,6,240,6,194,143,128,6,240,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,6,194,143,128,6,240,6,194,143,128,6,240,6,194,143,128,6,240,0,'Factory','As per 70 Mustang CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1179,10,1,210,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',20,10,1,128,0,177,20,10,1,128,0,177,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,20,10,1,128,0,177,20,10,1,128,0,177,0,'Factory','As per 70 Mustang CSV.'), - (1180,10,1,210,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This is not a factory color by CSV. Left over from old CSV file.'), - (1181,10,1,210,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',116,255,151,128,6,255,116,255,255,128,6,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,116,255,151,128,6,255,116,255,151,128,6,255,0,'Factory','As per 70 Mustang CSV.'), - (1182,10,1,210,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',152,189,199,128,16,250,152,189,199,128,16,250,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,152,189,199,128,16,250,152,189,199,128,16,250,0,'Factory','As per 70 Mustang CSV.'), - (1183,10,1,210,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',19,255,255,128,78,225,19,255,255,128,78,225,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,19,255,255,128,78,225,19,255,255,128,78,225,0,'Factory','As per 70 Mustang CSV.'), - (1184,10,1,210,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',43,18,255,128,32,255,43,18,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,43,18,255,128,32,255,43,18,255,128,32,255,0,'Factory','As per 70 Mustang CSV.'), - (1185,10,1,210,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',35,64,158,128,16,244,35,64,158,128,16,244,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,35,64,158,128,16,244,35,64,158,128,16,244,0,'Factory','As per 70 Mustang CSV.'), - (1186,10,1,210,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',11,232,242,128,24,255,11,232,242,128,24,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,11,232,242,128,24,255,11,232,242,128,24,255,0,'Factory','As per 70 Mustang CSV.'), - (1187,10,1,210,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',154,176,105,121,16,224,154,176,105,121,16,224,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,154,176,105,121,16,224,154,176,105,121,16,224,0,'Factory','As per 70 Mustang CSV.'), - (1188,10,1,210,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',85,43,51,128,0,192,85,43,51,128,0,192,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,85,43,51,128,0,192,85,43,51,128,0,192,0,'Factory','As per 70 Mustang CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1189,10,1,210,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',38,64,253,128,48,244,38,64,253,128,48,244,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,38,64,253,128,48,244,38,64,253,128,48,244,0,'Factory','As per 70 Mustang CSV.'), - (1190,10,1,210,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',43,133,255,128,48,255,43,133,255,128,48,255,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,43,133,255,128,48,255,43,133,255,128,48,255,0,'Factory','As per 70 Mustang CSV.'), - (1191,10,1,210,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70statin',147,64,255,128,32,240,147,64,255,128,32,240,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,147,64,255,128,32,240,147,64,255,128,32,240,0,'Factory','As per 70 Mustang CSV.'), - (1192,10,1,210,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70statin',45,60,232,128,24,255,45,60,232,128,24,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,45,60,232,128,24,255,45,60,232,128,24,255,0,'Factory','As per 70 Mustang CSV.'), - (1193,10,1,212,'Raven Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',20,10,1,128,0,177,1,253,163,128,24,242,254,207,78,128,0,244,254,207,78,128,0,244,128,0,0,128,0,128,20,10,1,128,0,177,1,253,163,128,24,242,20,10,1,128,0,177,0,'Factory','As per 70 Mach 1 CSV.'), - (1194,10,1,212,'Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',1,99,138,128,0,248,20,1,6,128,1,177,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,1,254,138,128,0,218,20,1,6,128,1,177,1,254,138,128,0,228,0,'Factory','This is not a factory color according to the CSV. Left over from old CSV.'), - (1195,10,1,212,'Grabber Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',116,255,151,128,6,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,116,255,151,128,6,255,128,0,0,128,0,128,116,255,151,128,6,255,0,'Factory','As per 70 Mach 1 CSV.'), - (1196,10,1,212,'Grabber Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',152,189,199,128,16,250,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,152,189,199,128,16,250,128,0,0,128,0,128,152,189,199,128,16,250,0,'Factory','As per 70 Mach 1 CSV.'), - (1197,10,1,212,'Grabber Orange',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',19,255,255,128,78,225,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,19,255,255,128,78,225,128,0,0,128,0,128,19,255,255,128,78,225,0,'Factory','As per 70 Mach 1 CSV.'), - (1198,10,1,212,'Wimbledon White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',43,18,255,128,32,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,18,255,128,32,255,128,0,0,128,0,128,43,18,255,128,32,255,0,'Factory','As per 70 Mach 1 CSV.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1199,10,1,212,'Medium Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',35,64,158,128,16,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,35,64,158,128,16,244,128,0,0,128,0,128,35,64,158,128,16,244,0,'Factory','As per 70 Mach 1 CSV.'), - (1200,10,1,212,'Calypso Coral',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',11,232,242,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,11,232,242,128,24,255,128,0,0,128,0,128,11,232,242,128,24,255,0,'Factory','As per 70 Mach 1 CSV.'), - (1201,10,1,212,'Bright Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',154,176,105,121,16,224,43,0,255,128,32,255,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,154,176,105,121,16,224,43,0,255,128,32,255,154,176,105,121,16,224,0,'Factory','As per 70 Mach 1 CSV.'), - (1202,10,1,212,'Dark Ivy Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',85,43,51,128,0,192,35,64,158,128,16,244,31,92,73,128,0,236,31,92,73,128,0,236,20,10,1,128,0,178,85,43,51,128,0,192,35,64,158,128,16,244,85,43,51,128,0,192,0,'Factory','As per 70 Mach 1 CSV.'), - (1203,10,1,212,'Bright Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',38,64,253,128,48,244,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,38,64,253,128,48,244,128,0,0,128,0,128,38,64,253,128,48,244,0,'Factory','As per 70 Mach 1 CSV.'), - (1204,10,1,212,'Bright Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',43,133,255,128,48,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,128,0,0,128,0,128,43,133,255,128,48,255,128,0,0,128,0,128,43,133,255,128,48,255,0,'Factory','As per 70 Mach 1 CSV.'), - (1205,10,1,212,'Pastel Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'70mactin',147,64,255,128,32,240,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,147,64,255,128,32,240,128,0,0,128,0,128,147,64,255,128,32,240,0,'Factory','As per 70 Mach 1 CSV.'), - (1206,10,1,212,'Light Ivy Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,250,'70mactin',45,60,232,128,24,255,128,0,0,128,0,128,128,0,124,128,61,176,128,0,124,128,61,176,20,10,1,128,0,178,45,60,232,128,24,255,128,0,0,128,0,128,45,60,232,128,24,255,0,'Factory','As per 70 Mach 1 CSV.'), - (1207,10,1,220,'Bolero Red',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',0,255,255,128,0,250,0,255,255,128,0,250,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,0,52,255,128,0,249,0,255,255,128,0,250,0,'Factory','This is a factory stock color.'), - (1208,10,1,220,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1209,10,1,220,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), - (1210,10,1,220,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), - (1211,10,1,220,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), - (1212,10,1,220,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), - (1213,10,1,220,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), - (1214,10,1,220,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), - (1215,10,1,220,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), - (1216,10,1,220,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), - (1217,10,1,220,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), - (1218,10,1,220,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1219,10,1,220,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), - (1220,10,1,220,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), - (1221,10,1,220,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), - (1222,10,1,220,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), - (1223,10,1,220,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67z28tin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), - (1224,10,1,219,'Deepwater Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',148,255,54,152,0,202,148,255,54,152,0,202,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,170,33,54,128,0,231,148,255,54,152,0,202,0,'Factory','This is a factory stock color.'), - (1225,10,1,219,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), - (1226,10,1,219,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), - (1227,10,1,219,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), - (1228,10,1,219,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1229,10,1,219,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), - (1230,10,1,219,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), - (1231,10,1,219,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), - (1232,10,1,219,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'), - (1233,10,1,219,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), - (1234,10,1,219,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'), - (1235,10,1,219,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), - (1236,10,1,219,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), - (1237,10,1,219,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), - (1238,10,1,219,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,233,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1239,10,1,219,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67rsctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,36,33,168,138,0,249,36,104,168,138,0,239,0,'Factory','This is a factory stock color.'), - (1240,10,1,140,'Capri Cream',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,2,184,73,128,0,239,2,184,73,128,0,239,30,15,255,128,60,255,20,5,1,128,0,168,43,48,255,128,11,255,43,48,255,128,23,255,0,'Factory','This is a factory stock color.'), - (1241,10,1,140,'Tuxedo Black',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',20,5,1,128,0,168,20,5,1,128,0,168,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,0,255,255,128,0,250,20,5,1,128,0,208,20,5,1,128,0,168,0,'Factory','This is a factory stock color.'), - (1242,10,1,140,'Tahoe Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',131,142,58,138,0,201,131,142,58,138,0,201,32,26,207,128,20,248,32,26,207,128,20,248,30,15,2,128,0,214,131,142,58,138,0,201,131,71,58,138,0,241,131,142,58,138,0,201,0,'Factory','This is a factory stock color.'), - (1243,10,1,140,'Silverglaze',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,41,24,163,128,1,248,41,24,163,128,1,235,0,'Factory','This is a factory stock color.'), - (1244,10,1,140,'Marina Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',142,181,171,128,0,233,142,181,171,128,0,233,32,26,207,128,20,248,32,26,207,128,20,248,30,15,255,128,60,255,128,5,255,128,30,255,121,40,171,128,0,249,142,181,171,128,0,233,0,'Factory','This is a factory stock color.'), - (1245,10,1,140,'Butternut Yellow',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',32,175,255,128,20,255,32,175,255,128,20,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,35,82,255,128,7,255,32,175,255,128,20,255,0,'Factory','This is a factory stock color.'), - (1246,10,1,140,'Provincial White',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,16,255,255,128,22,255,128,5,255,128,14,255,128,5,255,128,30,255,0,'Factory','This is a factory stock color.'), - (1247,10,1,140,'Verde Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',95,147,37,128,0,180,95,147,37,128,0,180,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,95,147,37,128,0,180,66,39,91,128,0,241,95,147,37,128,0,180,0,'Factory','This is a factory stock color.'), - (1248,10,1,140,'Mountain Green',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',69,60,167,108,1,255,69,60,167,108,1,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,69,60,167,108,11,255,69,60,167,108,1,255,0,'Factory','This is a factory stock color.'); -INSERT INTO PTSkin (SkinID,CreatorID,SkinTypeID,PartTypeID,ESkin,GSkin,FSkin,SSkin,ISkin,JSkin,SwSkin,BSkin,Price,PartFilename,H0,S0,V0,C0,X0,Y0,H1,S1,V1,C1,X1,Y1,H2,S2,V2,C2,X2,Y2,H3,S3,V3,C3,X3,Y3,H4,S4,V4,C4,X4,Y4,H5,S5,V5,C5,X5,Y5,H6,S6,V6,C6,X6,Y6,H7,S7,V7,C7,X7,Y7,DEFAULTFLAG,CreatorName,Comment_Text) VALUES - (1249,10,1,140,'Emerald Turquoise',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',134,90,139,144,0,212,134,90,139,144,0,212,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,126,56,137,143,0,224,134,90,139,144,0,212,0,'Factory','This is a factory stock color.'), - (1250,10,1,140,'Madeira Maroon',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',3,250,64,128,0,205,3,250,64,128,0,205,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,248,45,64,128,0,228,3,250,64,128,0,205,0,'Factory','This is a factory stock color.'), - (1251,10,1,140,'Antique Pewter',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,32,24,83,137,1,236,32,24,83,137,1,212,0,'Factory','This is a factory stock color.'), - (1252,10,1,140,'Plum Mist',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',231,253,44,128,0,181,231,253,44,128,0,181,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,231,49,44,128,0,253,231,253,44,128,0,181,0,'Factory','This is a factory stock color.'), - (1253,10,1,140,'Sierra Fawn',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,22,104,94,128,0,245,22,104,94,128,0,245,30,15,2,128,0,214,20,5,1,128,0,168,26,28,147,138,0,249,26,58,147,138,0,245,0,'Factory','This is a factory stock color.'), - (1254,10,1,140,'Nantucket Blue',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',184,43,169,128,0,255,184,43,169,128,0,255,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,184,43,169,128,0,255,128,0,255,128,0,253,184,43,169,128,0,255,0,'Factory','This is a factory stock color.'), - (1255,10,1,140,'Granada Gold',NULL,NULL,NULL,NULL,NULL,NULL,NULL,200,'67ssctin',30,15,2,128,0,173,131,16,158,128,10,254,30,10,5,128,0,232,30,10,5,128,0,232,30,15,2,128,0,214,20,5,1,128,0,168,NULL,33,168,138,0,249,36,104,NULL,138,0,239,0,'Factory','This is a factory stock color.'), - (1256,10,1,113,'Lady Liberty',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10,'57chemem',176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,176,194,71,128,0,255,0,'McCormack',NULL), - (1257,10,1,104,'All-American',NULL,NULL,NULL,NULL,NULL,NULL,NULL,10,'57faimem',154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,154,99,84,128,0,255,0,'McCormack',NULL); diff --git a/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql b/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql deleted file mode 100644 index a3085af40..000000000 --- a/migrations/2024.02.16T13.06.41.createNextPartNumberSeq.sql +++ /dev/null @@ -1,7 +0,0 @@ -CREATE SEQUENCE part_partid_seq - START WITH 1 - INCREMENT BY 1 - NO MINVALUE - MAXVALUE 4294967295 - CACHE 1 - OWNED BY part.partid; diff --git a/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql b/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql deleted file mode 100644 index 0afbfdcb6..000000000 --- a/migrations/down/2024.02.11T13.01.48.attachmentPoint.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE AttachmentPoint; diff --git a/migrations/down/2024.02.11T13.19.25.brand.sql b/migrations/down/2024.02.11T13.19.25.brand.sql deleted file mode 100644 index 7810394d4..000000000 --- a/migrations/down/2024.02.11T13.19.25.brand.sql +++ /dev/null @@ -1 +0,0 @@ -drop table Brand; diff --git a/migrations/down/2024.02.11T13.23.01.model.sql b/migrations/down/2024.02.11T13.23.01.model.sql deleted file mode 100644 index 21610f5a1..000000000 --- a/migrations/down/2024.02.11T13.23.01.model.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE Model; diff --git a/migrations/down/2024.02.11T13.33.31.abstractPartType.sql b/migrations/down/2024.02.11T13.33.31.abstractPartType.sql deleted file mode 100644 index 908c682ea..000000000 --- a/migrations/down/2024.02.11T13.33.31.abstractPartType.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE AbstractPartType; diff --git a/migrations/down/2024.02.11T13.38.39.partGrade.sql b/migrations/down/2024.02.11T13.38.39.partGrade.sql deleted file mode 100644 index 4d6dde0e5..000000000 --- a/migrations/down/2024.02.11T13.38.39.partGrade.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE PartGrade; diff --git a/migrations/down/2024.02.11T13.39.20.partType.sql b/migrations/down/2024.02.11T13.39.20.partType.sql deleted file mode 100644 index 7dbcc04c3..000000000 --- a/migrations/down/2024.02.11T13.39.20.partType.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE PartType; diff --git a/migrations/down/2024.02.11T13.40.36.brandedPart.sql b/migrations/down/2024.02.11T13.40.36.brandedPart.sql deleted file mode 100644 index a47fad7f7..000000000 --- a/migrations/down/2024.02.11T13.40.36.brandedPart.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE BrandedPart; diff --git a/migrations/down/2024.02.11T13.41.55.part.sql b/migrations/down/2024.02.11T13.41.55.part.sql deleted file mode 100644 index b2d50aeb2..000000000 --- a/migrations/down/2024.02.11T13.41.55.part.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE Part; diff --git a/migrations/down/2024.02.11T13.45.10.driverClass.sql b/migrations/down/2024.02.11T13.45.10.driverClass.sql deleted file mode 100644 index 44710ebe5..000000000 --- a/migrations/down/2024.02.11T13.45.10.driverClass.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE DriverClass; diff --git a/migrations/down/2024.02.11T13.46.16.playerType.sql b/migrations/down/2024.02.11T13.46.16.playerType.sql deleted file mode 100644 index 80a24ecfa..000000000 --- a/migrations/down/2024.02.11T13.46.16.playerType.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE PlayerType; diff --git a/migrations/down/2024.02.11T14.07.43.player.sql b/migrations/down/2024.02.11T14.07.43.player.sql deleted file mode 100644 index a30cd62a0..000000000 --- a/migrations/down/2024.02.11T14.07.43.player.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE Player; diff --git a/migrations/down/2024.02.11T14.22.15.skinType.sql b/migrations/down/2024.02.11T14.22.15.skinType.sql deleted file mode 100644 index 022760f1f..000000000 --- a/migrations/down/2024.02.11T14.22.15.skinType.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE SkinType; diff --git a/migrations/down/2024.02.11T14.23.13.ptSkin.sql b/migrations/down/2024.02.11T14.23.13.ptSkin.sql deleted file mode 100644 index 343692672..000000000 --- a/migrations/down/2024.02.11T14.23.13.ptSkin.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE PTSkin; diff --git a/migrations/down/2024.02.11T14.24.06.vehicle.sql b/migrations/down/2024.02.11T14.24.06.vehicle.sql deleted file mode 100644 index 270e8015d..000000000 --- a/migrations/down/2024.02.11T14.24.06.vehicle.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE Vehicle; diff --git a/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql b/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.16.45.initialAttachmentPoint.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.20.55.initialBrand.sql b/migrations/down/2024.02.11T23.20.55.initialBrand.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.20.55.initialBrand.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.26.25.initialModel.sql b/migrations/down/2024.02.11T23.26.25.initialModel.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.26.25.initialModel.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.27.19.initialAbstractPartType.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql b/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.27.55.initialAbstractPartGrade.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql b/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.28.36.initialAbstractPartType.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql b/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.29.19.initialBrandedPart.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.30.06.initialPart.sql b/migrations/down/2024.02.11T23.30.06.initialPart.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.30.06.initialPart.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql b/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.30.44.initialDriverClass.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql b/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.32.01.initialPlayerType.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.11T23.32.44.initialPlayer.sql b/migrations/down/2024.02.11T23.32.44.initialPlayer.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.11T23.32.44.initialPlayer.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql b/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql deleted file mode 100644 index b665ba813..000000000 --- a/migrations/down/2024.02.13T03.00.46.createSVACarClass.sql +++ /dev/null @@ -1 +0,0 @@ -drop table SVA_CarClass; diff --git a/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql b/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql deleted file mode 100644 index faab50cea..000000000 --- a/migrations/down/2024.02.13T03.01.15.createStockVehicleAtrributes.sql +++ /dev/null @@ -1 +0,0 @@ -raise 'down migration not implemented' diff --git a/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql b/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql deleted file mode 100644 index 6f57bbc73..000000000 --- a/migrations/down/2024.02.13T03.02.19.createSVAModeRestriction.sql +++ /dev/null @@ -1 +0,0 @@ -drop table SVA_ModeRestriction; diff --git a/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql b/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql deleted file mode 100644 index 36563ddc2..000000000 --- a/migrations/down/2024.02.13T03.02.49.createStockVehicleAtrributes.sql +++ /dev/null @@ -1 +0,0 @@ -drop table StockVehicleAttributes; diff --git a/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql b/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.13T03.18.24.initialSVACarClass.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql b/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.13T03.19.03.initialSVAModeRestriction.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql b/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.13T03.19.49.initialStockVehicleAttributes.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql b/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql deleted file mode 100644 index 0d6971ea9..000000000 --- a/migrations/down/2024.02.13T23.56.02.createStockAssembly.sql +++ /dev/null @@ -1 +0,0 @@ -DROP TABLE stockassembly; diff --git a/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql b/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.13T23.58.02.initialStockAssembly.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.15T00.21.44.initialSkinType.sql b/migrations/down/2024.02.15T00.21.44.initialSkinType.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.15T00.21.44.initialSkinType.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql b/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql deleted file mode 100644 index 4ba280517..000000000 --- a/migrations/down/2024.02.15T00.22.20.initialPTSkin.sql +++ /dev/null @@ -1 +0,0 @@ --- diff --git a/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql b/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql deleted file mode 100644 index fb5bc9e19..000000000 --- a/migrations/down/2024.02.16T13.06.41.createNextPartNumberSeq.sql +++ /dev/null @@ -1 +0,0 @@ -drop sequence part_partid_seq diff --git a/package.json b/package.json index 12253e2de..aa35121dd 100644 --- a/package.json +++ b/package.json @@ -7,6 +7,9 @@ "url": "git@github.com:drazisil/mcos.git" }, "dependencies": { + "@databases/pg": "^5.5.0", + "@databases/pg-schema-cli": "^4.4.0", + "@databases/pg-typed": "^4.4.1", "rusty-motors-shared": "^1.0.0", "ts-node": "^10.9.2", "typescript": "^5.4.5" @@ -15,10 +18,12 @@ "license": "AGPL-3.0", "private": true, "scripts": { - "clean": "rm -rf **/node_modules", - "start": "node --openssl-legacy-provider --env-file=.env --loader ts-node/esm ./apps/main/server.ts", + "clean": "rm --verbose -rf **/node_modules node_modules", + "start": "tsx --openssl-legacy-provider --env-file=.env ./apps/main/server.ts", "test": "npm run test:all", - "test:all": "npm run test --workspaces --if-present" + "test:all": "npm run test --workspaces --if-present", + "types:db": "npm --workspace rusty-motors-database run types:db", + "migrate": "pg-migrations apply --directory migrations " }, "type": "module", "workspaces": [ @@ -34,5 +39,9 @@ "packages/shared", "packages/shared-packets", "schema" - ] + ], + "devDependencies": { + "@databases/pg-migrations": "^5.0.3", + "dotenv": "^16.4.5" + } } diff --git a/packages/connection/package.json b/packages/connection/package.json index e3750ae30..c0a097567 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -9,23 +9,20 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^8.0.0", - "drizzle-orm": "^0.31.0", "vitest": "^1.6.0" }, "directories": { "test": "test" }, - "devDependencies": {}, "description": "" } diff --git a/packages/connection/src/Connection.ts b/packages/connection/src/Connection.ts index c0f990bd6..6185451d2 100644 --- a/packages/connection/src/Connection.ts +++ b/packages/connection/src/Connection.ts @@ -19,9 +19,7 @@ import { ServerMessage } from "rusty-motors-shared-packets"; import { getServerMessageProcessor } from "rusty-motors-mcots"; import type { TServerLogger } from "rusty-motors-shared"; import * as Sentry from "@sentry/node"; -import { getDatabase } from "rusty-motors-database"; -import { key as keySchema } from "rusty-motors-schema"; -import { eq } from "drizzle-orm"; +import { db } from "rusty-motors-database"; import { createCipheriv, createDecipheriv, getCiphers } from "node:crypto"; import { McosEncryptionPair } from "rusty-motors-shared"; import { ClientConnectionManager } from "rusty-motors-mcots"; diff --git a/packages/database/index.ts b/packages/database/index.ts index 3bc7d3e28..96ed8db19 100644 --- a/packages/database/index.ts +++ b/packages/database/index.ts @@ -1,20 +1,13 @@ export { - updateUser, + fetchSessionKeyByConnectionId, fetchSessionKeyByCustomerId, updateSessionKey, - fetchSessionKeyByConnectionId, -} from "./src/DatabaseManager.js"; -export { getDatabase } from "./src/services/database.js"; -export { populatePlayer } from "./src/seeders/populatePlayer.js"; -export { populatePlayerType } from "./src/seeders/populatePlayerType.js"; -export { populateBrandedPart } from "./src/seeders/populateBrandedPart.js"; -export { populatePartType } from "./src/seeders/populatePartType.js"; -export { populateModel } from "./src/seeders/populateModel.js"; -export { populateAbstractPartType } from "./src/seeders/populateAbstractPartType.js"; -export { populatePartGrade } from "./src/seeders/populatePartGrade.js"; -export { populateBrand } from "./src/seeders/populateBrand.js"; -export { populateSkin } from "./src/seeders/populateSkin.js"; -export { populateSkinType } from "./src/seeders/populateSkinType.js"; -export { populateWarehouse } from "./src/seeders/populateWarehouse.js"; -export { getWarehouseInventory } from "./src/functions/getWarehouseInventory.js"; -export type { WarehouseInventory } from "./src/functions/getWarehouseInventory.js"; + updateUser, +} from './src/DatabaseManager.js'; +export { getWarehouseInventory } from './src/functions/getWarehouseInventory.js'; +export type { WarehouseInventory } from './src/functions/getWarehouseInventory.js'; +export * from './src/services/database.js'; +import * as DatabaseSchema from './src/__generated__/schema.json'; +export { DatabaseSchema as databaseSchema }; +export { DatabaseSchema }; +export { getTunables as getTuneables } from './src/services/tunables.js'; diff --git a/packages/database/package.json b/packages/database/package.json index bb4a06a75..6058a07f3 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -9,29 +9,27 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage", + "types:db": "npx @databases/pg-schema-cli --directory src/__generated__" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { + "@databases/pg": "^5.5.0", + "@databases/pg-schema-cli": "^4.4.0", + "@databases/pg-typed": "^4.4.1", "@sentry/node": "^8.0.0", "@types/pg": "^8.11.6", - "drizzle-orm": "^0.31.0", "pg": "^8.11.5", "pg-hstore": "^2.3.4", - "sequelize": "^6.37.3", - "slonik": "^45.0.0", - "vitest": "^1.6.0", - "zod": "^3.22.4" + "vitest": "^1.6.0" }, "directories": { "test": "test" }, - "devDependencies": {}, "description": "" } diff --git a/packages/database/src/__generated__/abstract_part_type.ts b/packages/database/src/__generated__/abstract_part_type.ts new file mode 100644 index 000000000..2ed181817 --- /dev/null +++ b/packages/database/src/__generated__/abstract_part_type.ts @@ -0,0 +1,109 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: 4F7qIfLDFaUNa+UpB5zv1oo5dQLYfT/Nyv4WWdHYycpa2Cd8U60HudGhGUikk6S2Ux1YFnwowfbpOewG2pObzA== + */ + +/* eslint-disable */ +// tslint:disable + +interface AbstractPartType { + abstract_part_type_id: number & {readonly __brand?: 'abstract_part_type_abstract_part_type_id'} + baft: (string) | null + /** + * @default 0 + */ + block_family_compatibility: (number) | null + but: (string) | null + depends_on: (number) | null + eapt: string + eut: (string) | null + faft: (string) | null + fut: (string) | null + gapt: (string) | null + /** + * @default 0 + */ + garage_category: (number) | null + gut: (string) | null + iaft: (string) | null + iut: (string) | null + jaft: (string) | null + jut: (string) | null + /** + * @default 0 + */ + modified_rule: (number) | null + parent_abstract_part_type_id: (number) | null + part_filename: (string) | null + /** + * @default 0 + */ + part_paired: (number) | null + /** + * @default 0 + */ + repair_cost_modifier: (string) | null + saft: (string) | null + schematic_picname1: (string) | null + schematic_picname2: (string) | null + /** + * @default 0 + */ + scrap_value_modifier: (string) | null + sut: (string) | null + sw_aft: (string) | null + swut: (string) | null +} +export default AbstractPartType; + +interface AbstractPartType_InsertParameters { + abstract_part_type_id: number & {readonly __brand?: 'abstract_part_type_abstract_part_type_id'} + baft?: (string) | null + /** + * @default 0 + */ + block_family_compatibility?: (number) | null + but?: (string) | null + depends_on?: (number) | null + eapt: string + eut?: (string) | null + faft?: (string) | null + fut?: (string) | null + gapt?: (string) | null + /** + * @default 0 + */ + garage_category?: (number) | null + gut?: (string) | null + iaft?: (string) | null + iut?: (string) | null + jaft?: (string) | null + jut?: (string) | null + /** + * @default 0 + */ + modified_rule?: (number) | null + parent_abstract_part_type_id?: (number) | null + part_filename?: (string) | null + /** + * @default 0 + */ + part_paired?: (number) | null + /** + * @default 0 + */ + repair_cost_modifier?: (string) | null + saft?: (string) | null + schematic_picname1?: (string) | null + schematic_picname2?: (string) | null + /** + * @default 0 + */ + scrap_value_modifier?: (string) | null + sut?: (string) | null + sw_aft?: (string) | null + swut?: (string) | null +} +export type {AbstractPartType_InsertParameters} diff --git a/packages/database/src/__generated__/atdatabases_migrations_applied.ts b/packages/database/src/__generated__/atdatabases_migrations_applied.ts new file mode 100644 index 000000000..6c123cde7 --- /dev/null +++ b/packages/database/src/__generated__/atdatabases_migrations_applied.ts @@ -0,0 +1,37 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: WsmDmKvwU+poIX0iFyB7Bz5NyR4Fm9VrG2x3f4c3JAwWc31YsLU4jiLx+9kHFzICeXSQYvdlpaLUEDPCGjMv+g== + */ + +/* eslint-disable */ +// tslint:disable + +interface AtdatabasesMigrationsApplied { + applied_at: Date + /** + * @default nextval('atdatabases_migrations_applied_id_seq'::regclass) + */ + id: number & {readonly __brand?: 'atdatabases_migrations_applied_id'} + ignored_error: (string) | null + index: number + name: string + obsolete: boolean + script: string +} +export default AtdatabasesMigrationsApplied; + +interface AtdatabasesMigrationsApplied_InsertParameters { + applied_at: Date + /** + * @default nextval('atdatabases_migrations_applied_id_seq'::regclass) + */ + id?: number & {readonly __brand?: 'atdatabases_migrations_applied_id'} + ignored_error?: (string) | null + index: number + name: string + obsolete: boolean + script: string +} +export type {AtdatabasesMigrationsApplied_InsertParameters} diff --git a/packages/database/src/__generated__/atdatabases_migrations_version.ts b/packages/database/src/__generated__/atdatabases_migrations_version.ts new file mode 100644 index 000000000..a76badb39 --- /dev/null +++ b/packages/database/src/__generated__/atdatabases_migrations_version.ts @@ -0,0 +1,21 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: TpzCQ93K0bjZPn+fXJRl8zC0sQMsUxzUePHiU8MTUjxrIJrQ3DId+E1dxnpZFwz7QWacFdhwsU5SfE9Y34LG4w== + */ + +/* eslint-disable */ +// tslint:disable + +interface AtdatabasesMigrationsVersion { + id: number & {readonly __brand?: 'atdatabases_migrations_version_id'} + version: (string) | null +} +export default AtdatabasesMigrationsVersion; + +interface AtdatabasesMigrationsVersion_InsertParameters { + id: number & {readonly __brand?: 'atdatabases_migrations_version_id'} + version?: (string) | null +} +export type {AtdatabasesMigrationsVersion_InsertParameters} diff --git a/packages/database/src/__generated__/attachment_point.ts b/packages/database/src/__generated__/attachment_point.ts new file mode 100644 index 000000000..eadde0605 --- /dev/null +++ b/packages/database/src/__generated__/attachment_point.ts @@ -0,0 +1,21 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: M8/YeSSGw/7qUaLSrfbNooJeHfkjY6i8wHalJSCCjZyADA5nkk9+voEpAQfQJOdg7cNlnxivhPF6qgfyE3cFgA== + */ + +/* eslint-disable */ +// tslint:disable + +interface AttachmentPoint { + attachment_point: string + attachment_point_id: number & {readonly __brand?: 'attachment_point_attachment_point_id'} +} +export default AttachmentPoint; + +interface AttachmentPoint_InsertParameters { + attachment_point: string + attachment_point_id: number & {readonly __brand?: 'attachment_point_attachment_point_id'} +} +export type {AttachmentPoint_InsertParameters} diff --git a/packages/database/src/__generated__/brand.ts b/packages/database/src/__generated__/brand.ts new file mode 100644 index 000000000..94d79a69f --- /dev/null +++ b/packages/database/src/__generated__/brand.ts @@ -0,0 +1,31 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: 5+uzmr7yCLCXynf+ykB59Q6WCsFKvE5CITtT72DJC1xt3sMAQVveNbFQXfbXlAcX9C5B3rkf3ngCkoUik4pp7g== + */ + +/* eslint-disable */ +// tslint:disable + +interface Brand { + brand: (string) | null + brand_id: number & {readonly __brand?: 'brand_brand_id'} + /** + * @default 0 + */ + is_stock: (number) | null + pic_name: (string) | null +} +export default Brand; + +interface Brand_InsertParameters { + brand?: (string) | null + brand_id: number & {readonly __brand?: 'brand_brand_id'} + /** + * @default 0 + */ + is_stock?: (number) | null + pic_name?: (string) | null +} +export type {Brand_InsertParameters} diff --git a/packages/database/src/__generated__/branded_part.ts b/packages/database/src/__generated__/branded_part.ts new file mode 100644 index 000000000..c5c55871a --- /dev/null +++ b/packages/database/src/__generated__/branded_part.ts @@ -0,0 +1,42 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: FO1yVOHkrUQOwgs9QB7W4cjJTnhjXQ/AMtegydVJKYAy6IrWZfobFOsHnQZkd9wBwKOr3ZsMe0f6wPTHye3Tgg== + */ + +/* eslint-disable */ +// tslint:disable + +import Model from './model' +import PartType from './part_type' + +interface BrandedPart { + branded_part_id: number & {readonly __brand?: 'branded_part_branded_part_id'} + /** + * @default 0 + */ + engine_block_family_id: number + max_item_wear: (number) | null + mfg_date: Date + model_id: Model['model_id'] + part_type_id: PartType['part_type_id'] + qty_avail: number + retail_price: number +} +export default BrandedPart; + +interface BrandedPart_InsertParameters { + branded_part_id: number & {readonly __brand?: 'branded_part_branded_part_id'} + /** + * @default 0 + */ + engine_block_family_id?: number + max_item_wear?: (number) | null + mfg_date: Date + model_id: Model['model_id'] + part_type_id: PartType['part_type_id'] + qty_avail: number + retail_price: number +} +export type {BrandedPart_InsertParameters} diff --git a/packages/database/src/__generated__/driver_class.ts b/packages/database/src/__generated__/driver_class.ts new file mode 100644 index 000000000..a69329f78 --- /dev/null +++ b/packages/database/src/__generated__/driver_class.ts @@ -0,0 +1,21 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: /rudeJZZtDrBYSXjgXr5S4CVYtvkdViVwr6GIhs0pflzGzXgzecKQWMu5xwCJjnceOeZlC+VzWGubFzI2+lIkQ== + */ + +/* eslint-disable */ +// tslint:disable + +interface DriverClass { + driver_class: (string) | null + driver_class_id: number & {readonly __brand?: 'driver_class_driver_class_id'} +} +export default DriverClass; + +interface DriverClass_InsertParameters { + driver_class?: (string) | null + driver_class_id: number & {readonly __brand?: 'driver_class_driver_class_id'} +} +export type {DriverClass_InsertParameters} diff --git a/packages/database/src/__generated__/index.ts b/packages/database/src/__generated__/index.ts new file mode 100644 index 000000000..ebe0a8fc6 --- /dev/null +++ b/packages/database/src/__generated__/index.ts @@ -0,0 +1,118 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: vxwlgkHcVcRZFiTangk9H5WwLqrSWEy51UAfux9QlDfymxXNN3xR7TOK5QunZFk/8dPN8gpKona6QErjHlBLvA== + */ + +/* eslint-disable */ +// tslint:disable + +import AbstractPartType, {AbstractPartType_InsertParameters} from './abstract_part_type' +import AtdatabasesMigrationsApplied, {AtdatabasesMigrationsApplied_InsertParameters} from './atdatabases_migrations_applied' +import AtdatabasesMigrationsVersion, {AtdatabasesMigrationsVersion_InsertParameters} from './atdatabases_migrations_version' +import AttachmentPoint, {AttachmentPoint_InsertParameters} from './attachment_point' +import Brand, {Brand_InsertParameters} from './brand' +import BrandedPart, {BrandedPart_InsertParameters} from './branded_part' +import DriverClass, {DriverClass_InsertParameters} from './driver_class' +import Key, {Key_InsertParameters} from './key' +import Login, {Login_InsertParameters} from './login' +import Model, {Model_InsertParameters} from './model' +import Part, {Part_InsertParameters} from './part' +import PartGrade, {PartGrade_InsertParameters} from './part_grade' +import PartType, {PartType_InsertParameters} from './part_type' +import Player, {Player_InsertParameters} from './player' +import PlayerType, {PlayerType_InsertParameters} from './player_type' +import Profile, {Profile_InsertParameters} from './profile' +import PtSkin, {PtSkin_InsertParameters} from './pt_skin' +import SkinType, {SkinType_InsertParameters} from './skin_type' +import StockAssembly, {StockAssembly_InsertParameters} from './stock_assembly' +import StockVehicleAttributes, {StockVehicleAttributes_InsertParameters} from './stock_vehicle_attributes' +import SvaCarClass, {SvaCarClass_InsertParameters} from './sva_car_class' +import SvaModeRestriction, {SvaModeRestriction_InsertParameters} from './sva_mode_restriction' +import Vehicle, {Vehicle_InsertParameters} from './vehicle' +import Warehouse, {Warehouse_InsertParameters} from './warehouse' + +interface DatabaseSchema { + abstract_part_type: {record: AbstractPartType, insert: AbstractPartType_InsertParameters}; + atdatabases_migrations_applied: {record: AtdatabasesMigrationsApplied, insert: AtdatabasesMigrationsApplied_InsertParameters}; + atdatabases_migrations_version: {record: AtdatabasesMigrationsVersion, insert: AtdatabasesMigrationsVersion_InsertParameters}; + attachment_point: {record: AttachmentPoint, insert: AttachmentPoint_InsertParameters}; + brand: {record: Brand, insert: Brand_InsertParameters}; + branded_part: {record: BrandedPart, insert: BrandedPart_InsertParameters}; + driver_class: {record: DriverClass, insert: DriverClass_InsertParameters}; + key: {record: Key, insert: Key_InsertParameters}; + login: {record: Login, insert: Login_InsertParameters}; + model: {record: Model, insert: Model_InsertParameters}; + part: {record: Part, insert: Part_InsertParameters}; + part_grade: {record: PartGrade, insert: PartGrade_InsertParameters}; + part_type: {record: PartType, insert: PartType_InsertParameters}; + player: {record: Player, insert: Player_InsertParameters}; + player_type: {record: PlayerType, insert: PlayerType_InsertParameters}; + profile: {record: Profile, insert: Profile_InsertParameters}; + pt_skin: {record: PtSkin, insert: PtSkin_InsertParameters}; + skin_type: {record: SkinType, insert: SkinType_InsertParameters}; + stock_assembly: {record: StockAssembly, insert: StockAssembly_InsertParameters}; + stock_vehicle_attributes: {record: StockVehicleAttributes, insert: StockVehicleAttributes_InsertParameters}; + sva_car_class: {record: SvaCarClass, insert: SvaCarClass_InsertParameters}; + sva_mode_restriction: {record: SvaModeRestriction, insert: SvaModeRestriction_InsertParameters}; + vehicle: {record: Vehicle, insert: Vehicle_InsertParameters}; + warehouse: {record: Warehouse, insert: Warehouse_InsertParameters}; +} +export default DatabaseSchema; + +function serializeValue(_tableName: string, _columnName: string, value: unknown): unknown { + return value; +} +export {serializeValue} + +export type { + AbstractPartType, + AbstractPartType_InsertParameters, + AtdatabasesMigrationsApplied, + AtdatabasesMigrationsApplied_InsertParameters, + AtdatabasesMigrationsVersion, + AtdatabasesMigrationsVersion_InsertParameters, + AttachmentPoint, + AttachmentPoint_InsertParameters, + Brand, + Brand_InsertParameters, + BrandedPart, + BrandedPart_InsertParameters, + DriverClass, + DriverClass_InsertParameters, + Key, + Key_InsertParameters, + Login, + Login_InsertParameters, + Model, + Model_InsertParameters, + Part, + PartGrade, + PartGrade_InsertParameters, + PartType, + PartType_InsertParameters, + Part_InsertParameters, + Player, + PlayerType, + PlayerType_InsertParameters, + Player_InsertParameters, + Profile, + Profile_InsertParameters, + PtSkin, + PtSkin_InsertParameters, + SkinType, + SkinType_InsertParameters, + StockAssembly, + StockAssembly_InsertParameters, + StockVehicleAttributes, + StockVehicleAttributes_InsertParameters, + SvaCarClass, + SvaCarClass_InsertParameters, + SvaModeRestriction, + SvaModeRestriction_InsertParameters, + Vehicle, + Vehicle_InsertParameters, + Warehouse, + Warehouse_InsertParameters, +} diff --git a/packages/database/src/__generated__/key.ts b/packages/database/src/__generated__/key.ts new file mode 100644 index 000000000..df8fe75e9 --- /dev/null +++ b/packages/database/src/__generated__/key.ts @@ -0,0 +1,23 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: wgW746gZo7mof5uc2ai7LDQ1itqPc0/zYJtvjUJry8MpivFZUjS7WiUbKX3lPoYnAt873cAiDJCAv58CAn/6ag== + */ + +/* eslint-disable */ +// tslint:disable + +import Profile from './profile' + +interface Key { + profile_id: Profile['profile_id'] + session_key: string +} +export default Key; + +interface Key_InsertParameters { + profile_id: Profile['profile_id'] + session_key: string +} +export type {Key_InsertParameters} diff --git a/packages/database/src/__generated__/login.ts b/packages/database/src/__generated__/login.ts new file mode 100644 index 000000000..7d5ff4b79 --- /dev/null +++ b/packages/database/src/__generated__/login.ts @@ -0,0 +1,33 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: 2QhRIF5QcEQfsA954WH4A1F9qsXfxKnVpal+9mll0E4ca+DRjMppDopDbnwBmEv8SkKT0nnQXWrLw6pvis4gUQ== + */ + +/* eslint-disable */ +// tslint:disable + +import Player from './player' + +interface Login { + customer_id: Player['customer_id'] + /** + * @default 0 + */ + login_level: number + login_name: string & {readonly __brand?: 'login_login_name'} + password: string +} +export default Login; + +interface Login_InsertParameters { + customer_id: Player['customer_id'] + /** + * @default 0 + */ + login_level?: number + login_name: string & {readonly __brand?: 'login_login_name'} + password: string +} +export type {Login_InsertParameters} diff --git a/packages/database/src/__generated__/model.ts b/packages/database/src/__generated__/model.ts new file mode 100644 index 000000000..b750c1d1d --- /dev/null +++ b/packages/database/src/__generated__/model.ts @@ -0,0 +1,75 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: Qq9KWzMs7h2M97USxqjonfltR7XxApLJj5Pvd4uVFMSfGJOfu1D1g8DKiqqA/tJl1FHx4ioQk4VTEWuwTHbuig== + */ + +/* eslint-disable */ +// tslint:disable + +import Brand from './brand' + +interface Model { + b_extra_info: (string) | null + b_model: (string) | null + b_short_model: (string) | null + brand_id: Brand['brand_id'] + debug_sort_string: (string) | null + debug_string: (string) | null + e_extra_info: (string) | null + e_model: (string) | null + e_short_model: (string) | null + f_extra_info: (string) | null + f_model: (string) | null + f_short_model: (string) | null + g_extra_info: (string) | null + g_model: (string) | null + g_short_model: (string) | null + i_extra_info: (string) | null + i_model: (string) | null + i_short_model: (string) | null + j_extra_info: (string) | null + j_model: (string) | null + j_short_model: (string) | null + model_id: number & {readonly __brand?: 'model_model_id'} + s_extra_info: (string) | null + s_model: (string) | null + s_short_model: (string) | null + sw_extra_info: (string) | null + sw_model: (string) | null + sw_short_model: (string) | null +} +export default Model; + +interface Model_InsertParameters { + b_extra_info?: (string) | null + b_model?: (string) | null + b_short_model?: (string) | null + brand_id: Brand['brand_id'] + debug_sort_string?: (string) | null + debug_string?: (string) | null + e_extra_info?: (string) | null + e_model?: (string) | null + e_short_model?: (string) | null + f_extra_info?: (string) | null + f_model?: (string) | null + f_short_model?: (string) | null + g_extra_info?: (string) | null + g_model?: (string) | null + g_short_model?: (string) | null + i_extra_info?: (string) | null + i_model?: (string) | null + i_short_model?: (string) | null + j_extra_info?: (string) | null + j_model?: (string) | null + j_short_model?: (string) | null + model_id: number & {readonly __brand?: 'model_model_id'} + s_extra_info?: (string) | null + s_model?: (string) | null + s_short_model?: (string) | null + sw_extra_info?: (string) | null + sw_model?: (string) | null + sw_short_model?: (string) | null +} +export type {Model_InsertParameters} diff --git a/packages/database/src/__generated__/part.ts b/packages/database/src/__generated__/part.ts new file mode 100644 index 000000000..064fee839 --- /dev/null +++ b/packages/database/src/__generated__/part.ts @@ -0,0 +1,52 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: r6ugbodeJS+NyD2EV4tEiehaMPdc6JlFSQdwqPL8rhK6qnoLI+5Oqhnf70/4q7v27LqZj18o9u0QljUK+3gDfg== + */ + +/* eslint-disable */ +// tslint:disable + +import AttachmentPoint from './attachment_point' +import BrandedPart from './branded_part' + +interface Part { + attachment_point_id: (AttachmentPoint['attachment_point_id']) | null + branded_part_id: BrandedPart['branded_part_id'] + item_wear: number + owner_id: (number) | null + parent_part_id: (number) | null + part_id: number & {readonly __brand?: 'part_part_id'} + part_name: (string) | null + percent_damage: number + /** + * @default 0 + */ + repair_cost: (number) | null + /** + * @default 0 + */ + scrap_value: (number) | null +} +export default Part; + +interface Part_InsertParameters { + attachment_point_id?: (AttachmentPoint['attachment_point_id']) | null + branded_part_id: BrandedPart['branded_part_id'] + item_wear: number + owner_id?: (number) | null + parent_part_id?: (number) | null + part_id: number & {readonly __brand?: 'part_part_id'} + part_name?: (string) | null + percent_damage: number + /** + * @default 0 + */ + repair_cost?: (number) | null + /** + * @default 0 + */ + scrap_value?: (number) | null +} +export type {Part_InsertParameters} diff --git a/packages/database/src/__generated__/part_grade.ts b/packages/database/src/__generated__/part_grade.ts new file mode 100644 index 000000000..234af8cb7 --- /dev/null +++ b/packages/database/src/__generated__/part_grade.ts @@ -0,0 +1,27 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: llTnc44yDeEt4bCekTPJhS5xGIfL3IuJzgPaGSWsm0DRRZSILUEfEvpaLFnlNFe+ZUgYQgph9p/Sx5zW/rvryg== + */ + +/* eslint-disable */ +// tslint:disable + +interface PartGrade { + e_text: (string) | null + f_text: (string) | null + g_text: (string) | null + part_grade: (string) | null + part_grade_id: number & {readonly __brand?: 'part_grade_part_grade_id'} +} +export default PartGrade; + +interface PartGrade_InsertParameters { + e_text?: (string) | null + f_text?: (string) | null + g_text?: (string) | null + part_grade?: (string) | null + part_grade_id: number & {readonly __brand?: 'part_grade_part_grade_id'} +} +export type {PartGrade_InsertParameters} diff --git a/packages/database/src/__generated__/part_type.ts b/packages/database/src/__generated__/part_type.ts new file mode 100644 index 000000000..618139a55 --- /dev/null +++ b/packages/database/src/__generated__/part_type.ts @@ -0,0 +1,30 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: akkPgI94W/iY1RjP32yAxWZpasspO4ENv+U3xZIsQPr6rrdcY53EQhVW3N31GehKX5BabfVeIYvzAPQvRbIQ5Q== + */ + +/* eslint-disable */ +// tslint:disable + +import AbstractPartType from './abstract_part_type' +import PartGrade from './part_grade' + +interface PartType { + abstract_part_type_id: AbstractPartType['abstract_part_type_id'] + part_filename: (string) | null + part_grade_id: (PartGrade['part_grade_id']) | null + part_type: string + part_type_id: number & {readonly __brand?: 'part_type_part_type_id'} +} +export default PartType; + +interface PartType_InsertParameters { + abstract_part_type_id: AbstractPartType['abstract_part_type_id'] + part_filename?: (string) | null + part_grade_id?: (PartGrade['part_grade_id']) | null + part_type: string + part_type_id: number & {readonly __brand?: 'part_type_part_type_id'} +} +export type {PartType_InsertParameters} diff --git a/packages/database/src/__generated__/player.ts b/packages/database/src/__generated__/player.ts new file mode 100644 index 000000000..83371897c --- /dev/null +++ b/packages/database/src/__generated__/player.ts @@ -0,0 +1,282 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: gKn2soAeVAuhf3iovJDOurssIFodyk5OHPYCE9NgAM+k3DmAM70ATZUjes0HKRpBAhJLsmyFmUehysYOSriHHw== + */ + +/* eslint-disable */ +// tslint:disable + +import DriverClass from './driver_class' +import PlayerType from './player_type' + +interface Player { + address: (string) | null + bank_balance: number + /** + * @default 0 + */ + body_type: (number) | null + car_info_setting: (number) | null + car_num1: string + car_num2: string + car_num3: string + car_num4: string + car_num5: string + car_num6: string + /** + * @default 0 + */ + cars_lost: (number) | null + /** + * @default 0 + */ + cars_won: (number) | null + /** + * @default 0 + */ + challenge_races_completed: (number) | null + /** + * @default 0 + */ + challenge_races_run: (number) | null + /** + * @default 0 + */ + challenge_races_won: (number) | null + challenge_rung: (number) | null + challenge_score: (number) | null + current_race_id: (number) | null + customer_id: number + dl_number: (string) | null + drag_class: (DriverClass['driver_class_id']) | null + driver_style: number + /** + * @default 0 + */ + evaded_fuzz: (number) | null + /** + * @default 0 + */ + hair_color: (number) | null + /** + * @default 0 + */ + insurance_rating: (number) | null + /** + * @default 0 + */ + insurance_risk_points: (number) | null + is_logged_in: (number) | null + last_logged_in: (Date) | null + lp_code: number + lp_text: (string) | null + modified_classic_class: (DriverClass['driver_class_id']) | null + modified_muscle_class: (DriverClass['driver_class_id']) | null + num_cars_owned: number + /** + * @default 0 + */ + num_unread_mail: (number) | null + /** + * @default 0 + */ + offline_ai_car_bpt_id: (number) | null + /** + * @default 0 + */ + offline_ai_car_class: (number) | null + /** + * @default 0 + */ + offline_ai_skin_id: (number) | null + /** + * @default 0 + */ + offline_ai_state: (number) | null + offline_driver_attitude: (number) | null + offline_driver_skill: (number) | null + offline_driver_style: (number) | null + offline_grudge: (number) | null + offline_reputation: (number) | null + outlaw_class: (DriverClass['driver_class_id']) | null + /** + * @default 0 + */ + pants_color: (number) | null + persona: string + /** + * @default 0 + */ + pinks_won: (number) | null + player_id: number & {readonly __brand?: 'player_player_id'} + player_type_id: PlayerType['player_type_id'] + residence: (string) | null + sanctioned_score: (number) | null + /** + * @default 0 + */ + shirt_color: (number) | null + /** + * @default 0 + */ + skin_color: (number) | null + stock_classic_class: (number) | null + stock_muscle_class: (DriverClass['driver_class_id']) | null + times_logged_in: (number) | null + /** + * @default 0 + */ + total_races_completed: (number) | null + /** + * @default 0 + */ + total_races_run: (number) | null + /** + * @default 0 + */ + total_races_won: (number) | null + total_time_played: (number) | null + /** + * @default 0 + */ + total_winnings: (number) | null + vehicle_id: (number) | null +} +export default Player; + +interface Player_InsertParameters { + address?: (string) | null + bank_balance: number + /** + * @default 0 + */ + body_type?: (number) | null + car_info_setting?: (number) | null + car_num1: string + car_num2: string + car_num3: string + car_num4: string + car_num5: string + car_num6: string + /** + * @default 0 + */ + cars_lost?: (number) | null + /** + * @default 0 + */ + cars_won?: (number) | null + /** + * @default 0 + */ + challenge_races_completed?: (number) | null + /** + * @default 0 + */ + challenge_races_run?: (number) | null + /** + * @default 0 + */ + challenge_races_won?: (number) | null + challenge_rung?: (number) | null + challenge_score?: (number) | null + current_race_id?: (number) | null + customer_id: number + dl_number?: (string) | null + drag_class?: (DriverClass['driver_class_id']) | null + driver_style: number + /** + * @default 0 + */ + evaded_fuzz?: (number) | null + /** + * @default 0 + */ + hair_color?: (number) | null + /** + * @default 0 + */ + insurance_rating?: (number) | null + /** + * @default 0 + */ + insurance_risk_points?: (number) | null + is_logged_in?: (number) | null + last_logged_in?: (Date) | null + lp_code: number + lp_text?: (string) | null + modified_classic_class?: (DriverClass['driver_class_id']) | null + modified_muscle_class?: (DriverClass['driver_class_id']) | null + num_cars_owned: number + /** + * @default 0 + */ + num_unread_mail?: (number) | null + /** + * @default 0 + */ + offline_ai_car_bpt_id?: (number) | null + /** + * @default 0 + */ + offline_ai_car_class?: (number) | null + /** + * @default 0 + */ + offline_ai_skin_id?: (number) | null + /** + * @default 0 + */ + offline_ai_state?: (number) | null + offline_driver_attitude?: (number) | null + offline_driver_skill?: (number) | null + offline_driver_style?: (number) | null + offline_grudge?: (number) | null + offline_reputation?: (number) | null + outlaw_class?: (DriverClass['driver_class_id']) | null + /** + * @default 0 + */ + pants_color?: (number) | null + persona: string + /** + * @default 0 + */ + pinks_won?: (number) | null + player_id: number & {readonly __brand?: 'player_player_id'} + player_type_id: PlayerType['player_type_id'] + residence?: (string) | null + sanctioned_score?: (number) | null + /** + * @default 0 + */ + shirt_color?: (number) | null + /** + * @default 0 + */ + skin_color?: (number) | null + stock_classic_class?: (number) | null + stock_muscle_class?: (DriverClass['driver_class_id']) | null + times_logged_in?: (number) | null + /** + * @default 0 + */ + total_races_completed?: (number) | null + /** + * @default 0 + */ + total_races_run?: (number) | null + /** + * @default 0 + */ + total_races_won?: (number) | null + total_time_played?: (number) | null + /** + * @default 0 + */ + total_winnings?: (number) | null + vehicle_id?: (number) | null +} +export type {Player_InsertParameters} diff --git a/packages/database/src/__generated__/player_type.ts b/packages/database/src/__generated__/player_type.ts new file mode 100644 index 000000000..6d8ceb2f0 --- /dev/null +++ b/packages/database/src/__generated__/player_type.ts @@ -0,0 +1,21 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: Vn4sM7SA51T3U0kn74/QGtOKnsmDine+eesJkqom/sgJrJ45gWOsqMmzm/bx4TP6ut8x8SeBjRywUa7D8S3Kzg== + */ + +/* eslint-disable */ +// tslint:disable + +interface PlayerType { + player_type: string + player_type_id: number & {readonly __brand?: 'player_type_player_type_id'} +} +export default PlayerType; + +interface PlayerType_InsertParameters { + player_type: string + player_type_id: number & {readonly __brand?: 'player_type_player_type_id'} +} +export type {PlayerType_InsertParameters} diff --git a/packages/database/src/__generated__/profile.ts b/packages/database/src/__generated__/profile.ts new file mode 100644 index 000000000..636e5ecd4 --- /dev/null +++ b/packages/database/src/__generated__/profile.ts @@ -0,0 +1,113 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: cWy5E6rmsqYAjbb3s7l4A4U+62pKFdFWfooxs6rx6B0Ni3fTG5offgvrKqo5Ac0Dt+hX2hv/IETGAQkDutjQlw== + */ + +/* eslint-disable */ +// tslint:disable + +import Player from './player' + +interface Profile { + /** + * @default EXTRACT(epoch FROM now())::integer + */ + create_stamp: number + current_key: string + customer_id: Player['customer_id'] + /** + * @default false + */ + dnd: boolean + game_blob: string + /** + * @default EXTRACT(epoch FROM now())::integer + */ + game_purchase_stamp: number + game_serial_number: string + /** + * @default EXTRACT(epoch FROM now())::integer + */ + game_start_stamp: number + /** + * @default false + */ + is_online: boolean + /** + * @default EXTRACT(epoch FROM now())::integer + */ + last_login_stamp: number + /** + * @default 1 + */ + number_games: number + personal_blob: string + picture_blob: string + profile_id: number & {readonly __brand?: 'profile_profile_id'} + /** + * @default 0 + */ + profile_level: number + profile_name: string + /** + * @default 0 + */ + server_id: number + shard_id: number + time_in_game: number + time_online: number +} +export default Profile; + +interface Profile_InsertParameters { + /** + * @default EXTRACT(epoch FROM now())::integer + */ + create_stamp?: number + current_key: string + customer_id: Player['customer_id'] + /** + * @default false + */ + dnd?: boolean + game_blob: string + /** + * @default EXTRACT(epoch FROM now())::integer + */ + game_purchase_stamp?: number + game_serial_number: string + /** + * @default EXTRACT(epoch FROM now())::integer + */ + game_start_stamp?: number + /** + * @default false + */ + is_online?: boolean + /** + * @default EXTRACT(epoch FROM now())::integer + */ + last_login_stamp?: number + /** + * @default 1 + */ + number_games?: number + personal_blob: string + picture_blob: string + profile_id: number & {readonly __brand?: 'profile_profile_id'} + /** + * @default 0 + */ + profile_level?: number + profile_name: string + /** + * @default 0 + */ + server_id?: number + shard_id: number + time_in_game: number + time_online: number +} +export type {Profile_InsertParameters} diff --git a/packages/database/src/__generated__/pt_skin.ts b/packages/database/src/__generated__/pt_skin.ts new file mode 100644 index 000000000..edb1777e9 --- /dev/null +++ b/packages/database/src/__generated__/pt_skin.ts @@ -0,0 +1,156 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: 0TdVdR0Di4kkCqeXSWPevxew/lFqzaq7QWD9ti0m3cUx1KZd395xLCLnKHWkuRJ7ZhMVwS6YIGMmgvRjEbCH7Q== + */ + +/* eslint-disable */ +// tslint:disable + +import PartType from './part_type' +import SkinType from './skin_type' + +interface PtSkin { + b_skin: (string) | null + c0: (number) | null + c1: (number) | null + c2: (number) | null + c3: (number) | null + c4: (number) | null + c5: (number) | null + c6: (number) | null + c7: (number) | null + comment_text: (string) | null + creator_id: (number) | null + creator_name: (string) | null + /** + * @default 0 + */ + default_flag: (number) | null + e_skin: (string) | null + f_skin: (string) | null + g_skin: (string) | null + h0: (number) | null + h1: (number) | null + h2: (number) | null + h3: (number) | null + h4: (number) | null + h5: (number) | null + h6: (number) | null + h7: (number) | null + i_skin: (string) | null + j_skin: (string) | null + part_filename: (string) | null + part_type_id: (PartType['part_type_id']) | null + price: number + s0: (number) | null + s1: (number) | null + s2: (number) | null + s3: (number) | null + s4: (number) | null + s5: (number) | null + s6: (number) | null + s7: (number) | null + s_skin: (string) | null + skin_id: number & {readonly __brand?: 'pt_skin_skin_id'} + skin_type_id: (SkinType['skin_type_id']) | null + sw_skin: (string) | null + v0: (number) | null + v1: (number) | null + v2: (number) | null + v3: (number) | null + v4: (number) | null + v5: (number) | null + v6: (number) | null + v7: (number) | null + x0: (number) | null + x1: (number) | null + x2: (number) | null + x3: (number) | null + x4: (number) | null + x5: (number) | null + x6: (number) | null + x7: (number) | null + y0: (number) | null + y1: (number) | null + y2: (number) | null + y3: (number) | null + y4: (number) | null + y5: (number) | null + y6: (number) | null + y7: (number) | null +} +export default PtSkin; + +interface PtSkin_InsertParameters { + b_skin?: (string) | null + c0?: (number) | null + c1?: (number) | null + c2?: (number) | null + c3?: (number) | null + c4?: (number) | null + c5?: (number) | null + c6?: (number) | null + c7?: (number) | null + comment_text?: (string) | null + creator_id?: (number) | null + creator_name?: (string) | null + /** + * @default 0 + */ + default_flag?: (number) | null + e_skin?: (string) | null + f_skin?: (string) | null + g_skin?: (string) | null + h0?: (number) | null + h1?: (number) | null + h2?: (number) | null + h3?: (number) | null + h4?: (number) | null + h5?: (number) | null + h6?: (number) | null + h7?: (number) | null + i_skin?: (string) | null + j_skin?: (string) | null + part_filename?: (string) | null + part_type_id?: (PartType['part_type_id']) | null + price: number + s0?: (number) | null + s1?: (number) | null + s2?: (number) | null + s3?: (number) | null + s4?: (number) | null + s5?: (number) | null + s6?: (number) | null + s7?: (number) | null + s_skin?: (string) | null + skin_id: number & {readonly __brand?: 'pt_skin_skin_id'} + skin_type_id?: (SkinType['skin_type_id']) | null + sw_skin?: (string) | null + v0?: (number) | null + v1?: (number) | null + v2?: (number) | null + v3?: (number) | null + v4?: (number) | null + v5?: (number) | null + v6?: (number) | null + v7?: (number) | null + x0?: (number) | null + x1?: (number) | null + x2?: (number) | null + x3?: (number) | null + x4?: (number) | null + x5?: (number) | null + x6?: (number) | null + x7?: (number) | null + y0?: (number) | null + y1?: (number) | null + y2?: (number) | null + y3?: (number) | null + y4?: (number) | null + y5?: (number) | null + y6?: (number) | null + y7?: (number) | null +} +export type {PtSkin_InsertParameters} diff --git a/packages/database/src/__generated__/schema.json b/packages/database/src/__generated__/schema.json new file mode 100644 index 000000000..486f0d769 --- /dev/null +++ b/packages/database/src/__generated__/schema.json @@ -0,0 +1,2131 @@ +[ + { + "name": "abstract_part_type", + "columns": [ + { + "name": "abstract_part_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "baft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "block_family_compatibility", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "but", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "depends_on", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "eapt", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "eut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "faft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "fut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "gapt", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "garage_category", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "gut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "iaft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "iut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "jaft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "jut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "modified_rule", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "parent_abstract_part_type_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_filename", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_paired", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "repair_cost_modifier", + "isNullable": true, + "hasDefault": true, + "typeId": 1700, + "typeName": "NUMERIC" + }, + { + "name": "saft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "schematic_picname1", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "schematic_picname2", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "scrap_value_modifier", + "isNullable": true, + "hasDefault": true, + "typeId": 1700, + "typeName": "NUMERIC" + }, + { + "name": "sut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "sw_aft", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "swut", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + } + ] + }, + { + "name": "atdatabases_migrations_applied", + "columns": [ + { + "name": "applied_at", + "isNullable": false, + "hasDefault": false, + "typeId": 1184, + "typeName": "TIMESTAMPTZ" + }, + { + "name": "id", + "isNullable": false, + "hasDefault": true, + "typeId": 20, + "typeName": "BIGINT" + }, + { + "name": "ignored_error", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "index", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "name", + "isNullable": false, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + }, + { + "name": "obsolete", + "isNullable": false, + "hasDefault": false, + "typeId": 16, + "typeName": "BOOL" + }, + { + "name": "script", + "isNullable": false, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + } + ] + }, + { + "name": "atdatabases_migrations_version", + "columns": [ + { + "name": "id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "version", + "isNullable": true, + "hasDefault": false, + "typeId": 25, + "typeName": "TEXT" + } + ] + }, + { + "name": "attachment_point", + "columns": [ + { + "name": "attachment_point", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "attachment_point_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "brand", + "columns": [ + { + "name": "brand", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "brand_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "is_stock", + "isNullable": true, + "hasDefault": true, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "pic_name", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + } + ] + }, + { + "name": "branded_part", + "columns": [ + { + "name": "branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "engine_block_family_id", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "max_item_wear", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "mfg_date", + "isNullable": false, + "hasDefault": false, + "typeId": 1114, + "typeName": "TIMESTAMP" + }, + { + "name": "model_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "qty_avail", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "retail_price", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "driver_class", + "columns": [ + { + "name": "driver_class", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "driver_class_id", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + } + ] + }, + { + "name": "key", + "columns": [ + { + "name": "profile_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "session_key", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + } + ] + }, + { + "name": "login", + "columns": [ + { + "name": "customer_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "login_level", + "isNullable": false, + "hasDefault": true, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "login_name", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "password", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + } + ] + }, + { + "name": "model", + "columns": [ + { + "name": "b_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "b_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "b_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "brand_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "debug_sort_string", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "debug_string", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "e_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "e_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "e_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "f_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "f_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "f_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "g_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "g_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "g_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "i_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "i_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "i_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "j_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "j_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "j_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "model_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "s_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "s_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "s_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sw_extra_info", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sw_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sw_short_model", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + } + ] + }, + { + "name": "part", + "columns": [ + { + "name": "attachment_point_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "item_wear", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "owner_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "parent_part_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_name", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "percent_damage", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "repair_cost", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "scrap_value", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "part_grade", + "columns": [ + { + "name": "e_text", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "f_text", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "g_text", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_grade", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_grade_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "part_type", + "columns": [ + { + "name": "abstract_part_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_filename", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_grade_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "part_type", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "player", + "columns": [ + { + "name": "address", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "bank_balance", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "body_type", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "car_info_setting", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "car_num1", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "car_num2", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "car_num3", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "car_num4", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "car_num5", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "car_num6", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "cars_lost", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "cars_won", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "challenge_races_completed", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "challenge_races_run", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "challenge_races_won", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "challenge_rung", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "challenge_score", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "current_race_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "customer_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "dl_number", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "drag_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "driver_style", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "evaded_fuzz", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "hair_color", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "insurance_rating", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "insurance_risk_points", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "is_logged_in", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "last_logged_in", + "isNullable": true, + "hasDefault": false, + "typeId": 1114, + "typeName": "TIMESTAMP" + }, + { + "name": "lp_code", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "lp_text", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "modified_classic_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "modified_muscle_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "num_cars_owned", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "num_unread_mail", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_ai_car_bpt_id", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_ai_car_class", + "isNullable": true, + "hasDefault": true, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "offline_ai_skin_id", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_ai_state", + "isNullable": true, + "hasDefault": true, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "offline_driver_attitude", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_driver_skill", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_driver_style", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_grudge", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "offline_reputation", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "outlaw_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "pants_color", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "persona", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "pinks_won", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "player_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "player_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "residence", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sanctioned_score", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "shirt_color", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "skin_color", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "stock_classic_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "stock_muscle_class", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "times_logged_in", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "total_races_completed", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "total_races_run", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "total_races_won", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "total_time_played", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "total_winnings", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "vehicle_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "player_type", + "columns": [ + { + "name": "player_type", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "player_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "profile", + "columns": [ + { + "name": "create_stamp", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "current_key", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "customer_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "dnd", + "isNullable": false, + "hasDefault": true, + "typeId": 16, + "typeName": "BOOL" + }, + { + "name": "game_blob", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "game_purchase_stamp", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "game_serial_number", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "game_start_stamp", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "is_online", + "isNullable": false, + "hasDefault": true, + "typeId": 16, + "typeName": "BOOL" + }, + { + "name": "last_login_stamp", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "number_games", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "personal_blob", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "picture_blob", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "profile_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "profile_level", + "isNullable": false, + "hasDefault": true, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "profile_name", + "isNullable": false, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "server_id", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "shard_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "time_in_game", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "time_online", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "pt_skin", + "columns": [ + { + "name": "b_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "c0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "c7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "comment_text", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "creator_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "creator_name", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "default_flag", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "e_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "f_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "g_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "h0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "h7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "i_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "j_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_filename", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "part_type_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "price", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "s0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "s_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "skin_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "skin_type_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "sw_skin", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "v0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "v7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "x7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y0", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y1", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y2", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y3", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y4", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y5", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y6", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "y7", + "isNullable": true, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + } + ] + }, + { + "name": "skin_type", + "columns": [ + { + "name": "skin_type", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "skin_type_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "stock_assembly", + "columns": [ + { + "name": "attachment_point_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "child_branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "config_default", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "parent_branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "physics_default", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + } + ] + }, + { + "name": "stock_vehicle_attributes", + "columns": [ + { + "name": "ai_restriction_class", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "car_class", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "mode_restriction", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "retail_price", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "sponsor", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "track_id", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "vin_branded_part_id", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "vin_crc", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "sva_car_class", + "columns": [ + { + "name": "description", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sva_car_class", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "sva_mode_restriction", + "columns": [ + { + "name": "description", + "isNullable": true, + "hasDefault": false, + "typeId": 1043, + "typeName": "VARCHAR" + }, + { + "name": "sva_mode_restriction", + "isNullable": false, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "vehicle", + "columns": [ + { + "name": "class", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "damage_cached", + "isNullable": true, + "hasDefault": true, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "damage_info", + "isNullable": true, + "hasDefault": false, + "typeId": 17, + "typeName": "BYTEA" + }, + { + "name": "flags", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "info_setting", + "isNullable": false, + "hasDefault": false, + "typeId": 21, + "typeName": "SMALLINT" + }, + { + "name": "skin_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "vehicle_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + }, + { + "name": "warehouse", + "columns": [ + { + "name": "branded_part_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "player_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "qty_avail", + "isNullable": true, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + }, + { + "name": "skin_id", + "isNullable": false, + "hasDefault": false, + "typeId": 23, + "typeName": "INTEGER" + } + ] + } +] diff --git a/packages/database/src/__generated__/skin_type.ts b/packages/database/src/__generated__/skin_type.ts new file mode 100644 index 000000000..ccbe22afe --- /dev/null +++ b/packages/database/src/__generated__/skin_type.ts @@ -0,0 +1,21 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: 0Y6j1hEBv9fFPPMUwE+dfDeQCI3GQ8v/xmiDD1EuaveC0FbiFG9tqgrPaJT/fNJzXdD0vwLwA7atS6SbNZ7L+w== + */ + +/* eslint-disable */ +// tslint:disable + +interface SkinType { + skin_type: (string) | null + skin_type_id: number & {readonly __brand?: 'skin_type_skin_type_id'} +} +export default SkinType; + +interface SkinType_InsertParameters { + skin_type?: (string) | null + skin_type_id: number & {readonly __brand?: 'skin_type_skin_type_id'} +} +export type {SkinType_InsertParameters} diff --git a/packages/database/src/__generated__/stock_assembly.ts b/packages/database/src/__generated__/stock_assembly.ts new file mode 100644 index 000000000..7c001c570 --- /dev/null +++ b/packages/database/src/__generated__/stock_assembly.ts @@ -0,0 +1,30 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: +1JxIzPDXtM0DrvWN4w5APwLGqnqNZa4uYMzC+D6iU9tPaBjaz55bapwAFUlmW1kqUgKJt3cCWJFY4sqgl89tA== + */ + +/* eslint-disable */ +// tslint:disable + +import AttachmentPoint from './attachment_point' +import BrandedPart from './branded_part' + +interface StockAssembly { + attachment_point_id: AttachmentPoint['attachment_point_id'] + child_branded_part_id: BrandedPart['branded_part_id'] + config_default: number + parent_branded_part_id: BrandedPart['branded_part_id'] + physics_default: number +} +export default StockAssembly; + +interface StockAssembly_InsertParameters { + attachment_point_id: AttachmentPoint['attachment_point_id'] + child_branded_part_id: BrandedPart['branded_part_id'] + config_default: number + parent_branded_part_id: BrandedPart['branded_part_id'] + physics_default: number +} +export type {StockAssembly_InsertParameters} diff --git a/packages/database/src/__generated__/stock_vehicle_attributes.ts b/packages/database/src/__generated__/stock_vehicle_attributes.ts new file mode 100644 index 000000000..6969f6b30 --- /dev/null +++ b/packages/database/src/__generated__/stock_vehicle_attributes.ts @@ -0,0 +1,57 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: eItxTTFjYW2AtKXc9YEk6zvsf1iP3TDsn/HvjbY3az8itICqa5H5p7WmuRh2uTVPeVHZtIRQ+HnboKRUmqHKdQ== + */ + +/* eslint-disable */ +// tslint:disable + +import BrandedPart from './branded_part' +import SvaCarClass from './sva_car_class' +import SvaModeRestriction from './sva_mode_restriction' + +interface StockVehicleAttributes { + ai_restriction_class: (number) | null + branded_part_id: BrandedPart['branded_part_id'] + car_class: (SvaCarClass['sva_car_class']) | null + mode_restriction: (SvaModeRestriction['sva_mode_restriction']) | null + /** + * @default 1000 + */ + retail_price: (number) | null + sponsor: (number) | null + /** + * @default 0 + */ + track_id: (number) | null + vin_branded_part_id: (BrandedPart['branded_part_id']) | null + /** + * @default 0 + */ + vin_crc: number +} +export default StockVehicleAttributes; + +interface StockVehicleAttributes_InsertParameters { + ai_restriction_class?: (number) | null + branded_part_id: BrandedPart['branded_part_id'] + car_class?: (SvaCarClass['sva_car_class']) | null + mode_restriction?: (SvaModeRestriction['sva_mode_restriction']) | null + /** + * @default 1000 + */ + retail_price?: (number) | null + sponsor?: (number) | null + /** + * @default 0 + */ + track_id?: (number) | null + vin_branded_part_id?: (BrandedPart['branded_part_id']) | null + /** + * @default 0 + */ + vin_crc?: number +} +export type {StockVehicleAttributes_InsertParameters} diff --git a/packages/database/src/__generated__/sva_car_class.ts b/packages/database/src/__generated__/sva_car_class.ts new file mode 100644 index 000000000..967b4246c --- /dev/null +++ b/packages/database/src/__generated__/sva_car_class.ts @@ -0,0 +1,27 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: Suo841IcTQeyyq7L+fPx9Tv+rUka791XOdAslmSWP7UJjw8IVSvTE2kE6aZEgG9TfwG7DaCRvrFrAVQZfHUBrw== + */ + +/* eslint-disable */ +// tslint:disable + +interface SvaCarClass { + description: (string) | null + /** + * @default 0 + */ + sva_car_class: number & {readonly __brand?: 'sva_car_class_sva_car_class'} +} +export default SvaCarClass; + +interface SvaCarClass_InsertParameters { + description?: (string) | null + /** + * @default 0 + */ + sva_car_class?: number & {readonly __brand?: 'sva_car_class_sva_car_class'} +} +export type {SvaCarClass_InsertParameters} diff --git a/packages/database/src/__generated__/sva_mode_restriction.ts b/packages/database/src/__generated__/sva_mode_restriction.ts new file mode 100644 index 000000000..f158d4d60 --- /dev/null +++ b/packages/database/src/__generated__/sva_mode_restriction.ts @@ -0,0 +1,27 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: jbNe73+qP3lZjMsdVB/t++M77bH6cRqj/wn8mV1Js8vMz7z4YSUn0TiJGKXG7LiVujgTHU4JwifPYc/8PFy4QA== + */ + +/* eslint-disable */ +// tslint:disable + +interface SvaModeRestriction { + description: (string) | null + /** + * @default 0 + */ + sva_mode_restriction: number & {readonly __brand?: 'sva_mode_restriction_sva_mode_restriction'} +} +export default SvaModeRestriction; + +interface SvaModeRestriction_InsertParameters { + description?: (string) | null + /** + * @default 0 + */ + sva_mode_restriction?: number & {readonly __brand?: 'sva_mode_restriction_sva_mode_restriction'} +} +export type {SvaModeRestriction_InsertParameters} diff --git a/packages/database/src/__generated__/vehicle.ts b/packages/database/src/__generated__/vehicle.ts new file mode 100644 index 000000000..c799bdec2 --- /dev/null +++ b/packages/database/src/__generated__/vehicle.ts @@ -0,0 +1,40 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: erArmswP79+tT9kT7eo5CKZx8NL8IdmGOJ5mZBGIHWFnMLrwIJ+Sx5QJkgVJZlfPUSMYC4C4qPbsbbFEYSaMdQ== + */ + +/* eslint-disable */ +// tslint:disable + +import Part from './part' +import PtSkin from './pt_skin' + +interface Vehicle { + class: number + /** + * @default 0 + */ + damage_cached: (number) | null + damage_info: (Buffer) | null + flags: number + info_setting: number + skin_id: PtSkin['skin_id'] + vehicle_id: Part['part_id'] +} +export default Vehicle; + +interface Vehicle_InsertParameters { + class: number + /** + * @default 0 + */ + damage_cached?: (number) | null + damage_info?: (Buffer) | null + flags: number + info_setting: number + skin_id: PtSkin['skin_id'] + vehicle_id: Part['part_id'] +} +export type {Vehicle_InsertParameters} diff --git a/packages/database/src/__generated__/warehouse.ts b/packages/database/src/__generated__/warehouse.ts new file mode 100644 index 000000000..487ad514f --- /dev/null +++ b/packages/database/src/__generated__/warehouse.ts @@ -0,0 +1,25 @@ +/** + * !!! This file is autogenerated do not edit by hand !!! + * + * Generated by: @databases/pg-schema-print-types + * Checksum: XrOV3lTPYPS3btYlHuGZ0/mA/Tuj6CmNJE7ni+9dgYOjjKLKyNJG8NxmZ+/PG1R//a6U5DJR+ldmZ47r3E60Nw== + */ + +/* eslint-disable */ +// tslint:disable + +interface Warehouse { + branded_part_id: number & {readonly __brand?: 'warehouse_branded_part_id'} + player_id: number & {readonly __brand?: 'warehouse_player_id'} + qty_avail: (number) | null + skin_id: number & {readonly __brand?: 'warehouse_skin_id'} +} +export default Warehouse; + +interface Warehouse_InsertParameters { + branded_part_id: number & {readonly __brand?: 'warehouse_branded_part_id'} + player_id: number & {readonly __brand?: 'warehouse_player_id'} + qty_avail?: (number) | null + skin_id: number & {readonly __brand?: 'warehouse_skin_id'} +} +export type {Warehouse_InsertParameters} diff --git a/packages/database/src/functions/getWarehouseInventory.ts b/packages/database/src/functions/getWarehouseInventory.ts index cc2811990..566989f49 100644 --- a/packages/database/src/functions/getWarehouseInventory.ts +++ b/packages/database/src/functions/getWarehouseInventory.ts @@ -1,12 +1,4 @@ -import { eq } from 'drizzle-orm'; -import { getDatabase } from 'rusty-motors-database'; -import { - brandedPart as brandedPartSchema, - model as modelSchema, - stockVehicleAttributes as stockVehicleAttributesSchema, - tunables as tunablesSchema, - warehouse as warehouseSchema, -} from 'rusty-motors-schema'; +import { db, WarehouseSchema, getTuneables, sql } from 'rusty-motors-database'; import { getServerLogger } from 'rusty-motors-shared'; export type WarehouseInventory = { @@ -35,87 +27,45 @@ export async function getWarehouseInventory( isDealOfTheDay: number; }[] = []; - const dealOfTheDayDiscount = await getDatabase() - .select({ - dealOfTheDayBrandedPartId: tunablesSchema.dealOfTheDayBrandedPartId, - dealOfTheDayDiscount: tunablesSchema.dealOfTheDayDiscount, - }) - .from(tunablesSchema) - .limit(1) - .then((rows) => { - return rows[0]; - }); + const tunables = getTuneables(); - if (dealOfTheDayDiscount === null) { - log.debug('Deal of the day not found'); + const dealOfTheDayDiscount = tunables.getDealOfTheDayDiscount(); + const dealOfTheDayBrandedPartId = tunables.getDealOfTheDayBrandedPartId(); + + + if (dealOfTheDayDiscount < 1) { + log.warn('Deal of the day not found'); } if (brandId > 0) { - inventoryCars = await getDatabase() - .select({ + inventoryCars = await db.query(sql` + SELECT brandedPartId: warehouseSchema.brandedPartId, retailPrice: stockVehicleAttributesSchema.retailPrice, isDealOfTheDay: warehouseSchema.isDealOfTheDay, - }) - .from(warehouseSchema) - .leftJoin( - brandedPartSchema, - eq( - warehouseSchema.brandedPartId, - brandedPartSchema.brandedPartId - ) - ) - .leftJoin( - modelSchema, - eq(brandedPartSchema.modelId, modelSchema.modelId) - ) - - .leftJoin( - stockVehicleAttributesSchema, - eq( - warehouseSchema.brandedPartId, - stockVehicleAttributesSchema.brandedPartId - ) - ) - .where( - eq( - eq(warehouseSchema.playerId, warehouseId), - eq(modelSchema.brandId, brandId) - ) - ); + FROM warehouse w + LEFT JOIN branded_part bp ON w.brandedPartId = bp.brandedPartId + LEFT JOIN model m ON bp.modelId = m.modelId + LEFT JOIN stock_vehicle_attributes sva ON w.brandedPartId = sva.brandedPartId + WHERE w.playerId = ${warehouseId} AND m.brandId = ${brandId} + `); } else { - inventoryCars = await getDatabase() - .select({ + inventoryCars = await db.query(sql` + SELECT brandedPartId: warehouseSchema.brandedPartId, retailPrice: stockVehicleAttributesSchema.retailPrice, isDealOfTheDay: warehouseSchema.isDealOfTheDay, - }) - .from(warehouseSchema) - .leftJoin( - brandedPartSchema, - eq( - warehouseSchema.brandedPartId, - brandedPartSchema.brandedPartId - ) - ) - .leftJoin( - modelSchema, - eq(brandedPartSchema.modelId, modelSchema.modelId) - ) - - .leftJoin( - stockVehicleAttributesSchema, - eq( - warehouseSchema.brandedPartId, - stockVehicleAttributesSchema.brandedPartId - ) - ) - .where(eq(warehouseSchema.playerId, warehouseId)); + FROM warehouse w + LEFT JOIN branded_part bp ON w.brandedPartId = bp.brandedPartId + LEFT JOIN model m ON bp.modelId = m.modelId + LEFT JOIN stock_vehicle_attributes sva ON w.brandedPartId = sva.brandedPartId + WHERE w.playerId = ${warehouseId} + `); } const inventory = { inventory: inventoryCars, - dealOfTheDayDiscount: dealOfTheDayDiscount?.dealOfTheDayDiscount ?? 0, + dealOfTheDayDiscount: dealOfTheDayDiscount ?? 0, }; log.resetName(); diff --git a/packages/database/src/seeders/populateAbstractPartType.ts b/packages/database/src/seeders/populateAbstractPartType.ts deleted file mode 100644 index 8081eca79..000000000 --- a/packages/database/src/seeders/populateAbstractPartType.ts +++ /dev/null @@ -1,54 +0,0 @@ -import * as Sentry from '@sentry/node'; -import { getDatabase } from 'rusty-motors-database'; -import { abstractPartType as abstractPartTypeSchema } from 'rusty-motors-schema'; -import { getServerLogger } from 'rusty-motors-shared'; - -const log = getServerLogger(); -export async function populateAbstractPartType(): Promise { - log.setName('seeders/populateAbstractPartType'); - - log.debug('Seeding abstractPartType'); - - await getDatabase() - .insert(abstractPartTypeSchema) - .values([ - { - abstractPartTypeId: 101, - // parentAbstractPartTypeId: null, - // dependsOn: null, - // partFilename: null, - eAPT: 'Vehicle', - // gAPT: null, - // fAPT: null, - // sAPT: null, - // iAPT: null, - // jAPT: null, - // swAPT: null, - // bAPT: null, - // modifiedRule: 0, - // eUT: null, - // gUT: null, - // fUT: null, - // sUT: null, - // iUT: null, - // jUT: null, - // swUT: null, - // bUT: null, - // partPaired: 0, - // schematicPicname1: null, - // schematicPicname2: "VEH%d", - // blockFamilyCompatibility: 0, - // repairCostModifier: 1.0, - // scrapCostModifier: 1.0, - // garageCategory: 0, - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug('abstractPartType seeded'); - }) - .catch((error: Error) => { - log.error(`Error seeding abstractPartType: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateBrand.ts b/packages/database/src/seeders/populateBrand.ts deleted file mode 100644 index fca016f9b..000000000 --- a/packages/database/src/seeders/populateBrand.ts +++ /dev/null @@ -1,120 +0,0 @@ -import * as Sentry from '@sentry/node'; -import { getDatabase } from 'rusty-motors-database'; -import { brand as brandSchema } from 'rusty-motors-schema'; -import { getServerLogger } from 'rusty-motors-shared'; - -const log = getServerLogger(); -export async function populateBrand(): Promise { - log.setName('seeders/populateBrand'); - - log.debug('Seeding brand'); - - await getDatabase() - .insert(brandSchema) - .values([ - { - brandId: 1, - brand: 'Ford', - picName: 'ford', - isStock: 9, - }, - { - brandId: 2, - brand: 'Mercury', - picName: 'merc', - isStock: 9, - }, - { - brandId: 3, - brand: 'Chevrolet', - picName: 'chev', - isStock: 9, - }, - { - brandId: 4, - brand: 'Cadillac', - picName: 'cadi', - isStock: 9, - }, - { - brandId: 5, - brand: 'Oldsmobile', - picName: 'olds', - isStock: 9, - }, - { - brandId: 6, - brand: 'Buick', - picName: 'buic', - isStock: 9, - }, - { - brandId: 7, - brand: 'Pontiac', - picName: 'pont', - isStock: 9, - }, - { - brandId: 8, - brand: 'Chrysler', - picName: 'chry', - isStock: 9, - }, - { - brandId: 9, - brand: 'Dodge', - picName: 'dodg', - isStock: 9, - }, - { - brandId: 10, - brand: 'Plymouth', - picName: 'plym', - isStock: 9, - }, - { - brandId: 11, - brand: 'AMC', - picName: 'amer', - isStock: 9, - }, - { - brandId: 12, - brand: 'AMC', - picName: null, - isStock: 9, - }, - { - brandId: 13, - brand: 'Edelbrock', - picName: 'edel', - isStock: 9, - }, - { - brandId: 14, - brand: 'Holley', - picName: 'holl', - isStock: 9, - }, - { - brandId: 15, - brand: 'GM', - picName: 'gm', - isStock: 9, - }, - { - brandId: 16, - brand: 'Rochester', - picName: 'roch', - isStock: 9, - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug('Brand seeded'); - }) - .catch((error: Error) => { - log.error(`Error seeding brand: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateBrandedPart.ts b/packages/database/src/seeders/populateBrandedPart.ts deleted file mode 100644 index cf2a87e63..000000000 --- a/packages/database/src/seeders/populateBrandedPart.ts +++ /dev/null @@ -1,112 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { brandedPart as brandedPartSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populateBrandedPart(): Promise { - log.setName("seeders/populateBrandedPart"); - - log.debug("Seeding brandedPart"); - - await getDatabase() - .insert(brandedPartSchema) - .values([ - { - brandedPartId: 104, - partTypeId: 104, - modelId: 21, - qtyAvail: 1000, - retailPrice: 0, - maxItemWear: 30000, - }, - { - brandedPartId: 111, - partTypeId: 111, - modelId: 36, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 30000, - }, - { - brandedPartId: 117, - partTypeId: 117, - modelId: 26, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 30000, - }, - { - brandedPartId: 125, - partTypeId: 125, - modelId: 9, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 30000, - }, - { - brandedPartId: 130, - partTypeId: 130, - modelId: 20, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 30000, - }, - { - brandedPartId: 339, - partTypeId: 214, - modelId: 2183, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - { - brandedPartId: 353, - partTypeId: 228, - modelId: 2197, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - { - brandedPartId: 379, - partTypeId: 103, - modelId: 2371, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - { - brandedPartId: 384, - partTypeId: 108, - modelId: 2377, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - { - brandedPartId: 389, - partTypeId: 132, - modelId: 2382, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - { - brandedPartId: 394, - partTypeId: 120, - modelId: 2387, - qtyAvail: 0, - retailPrice: 0, - maxItemWear: 1500, - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("BrandedPart seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding brandedPart: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateModel.ts b/packages/database/src/seeders/populateModel.ts deleted file mode 100644 index 4fb68eb25..000000000 --- a/packages/database/src/seeders/populateModel.ts +++ /dev/null @@ -1,123 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { model as modelSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populateModel(): Promise { - log.setName("seeders/populateModel"); - - log.debug("Seeding model"); - - await getDatabase() - .insert(modelSchema) - .values([ - { - modelId: 20, - brandId: 1, - eModel: "Firebird T/A", - eExtraInfo: "a/t", - eShortModel: "Firebird", - debug_string: "1973 Pontiac Firebird T/A", - debug_sort_string: "Vehicle", - }, - { - modelId: 21, - brandId: 1, - eModel: "Fairlane", - eExtraInfo: "a/t", - eShortModel: "Fairlane", - debug_string: "Ford 57 Fairlane 500", - debug_sort_string: "Vehicle", - }, - { - modelId: 36, - brandId: 1, - eModel: "Boss 302", - eExtraInfo: "a/t", - eShortModel: "Boss 302", - debug_string: "Ford 70 Mustang Boss 302", - debug_sort_string: "Vehicle", - }, - { - modelId: 26, - brandId: 3, - eModel: "Stingray", - eExtraInfo: "a/t", - eShortModel: "Stingray", - debug_string: "Chevrolet 63 Stingray", - debug_sort_string: "Vehicle", - }, - { - modelId: 9, - brandId: 4, - eModel: "Eldorado", - eExtraInfo: "a/t", - eShortModel: "Eldorado", - debug_string: "Cadillac 59 Eldorado", - debug_sort_string: "Vehicle", - }, - { - modelId: 2183, - brandId: 10, - eModel: "Hemi Cuda", - eExtraInfo: "a/t", - eShortModel: "Hemi Cuda", - debug_string: "Plymouth 70 Hemi Cuda", - debug_sort_string: "Vehicle", - }, - { - modelId: 2197, - brandId: 7, - eModel: "Firebird", - eExtraInfo: "a/t", - eShortModel: "Firebird", - debug_string: "Pontiac 73 Firebird", - debug_sort_string: "Vehicle", - }, - { - modelId: 2371, - brandId: 1, - eModel: "Crestline", - eExtraInfo: "a/t", - eShortModel: "Crestline", - debug_string: "Super Vic (arcade)", - debug_sort_string: "Vehicle", - }, - { - modelId: 2377, - brandId: 1, - eModel: "Mustang", - eExtraInfo: "a/t", - eShortModel: "Mustang", - debug_string: "1964 Ford Mustang modified for arcade Street Racing", - debug_sort_string: "Vehicle", - }, - { - modelId: 2382, - brandId: 9, - eModel: "Charger", - eExtraInfo: null, - eShortModel: "Charger", - debug_string: "1969 Dodge Charger modified for arcade Street Racing", - debug_sort_string: "Vehicle", - }, - { - modelId: 2387, - brandId: 3, - eModel: "Camaro", - eExtraInfo: null, - eShortModel: "Camaro", - debug_string: "1967 Chevrolet Camaro modified for arcade Street Racing", - debug_sort_string: "Vehicle", - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("Model seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding model: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populatePartGrade.ts b/packages/database/src/seeders/populatePartGrade.ts deleted file mode 100644 index 0cd4c243a..000000000 --- a/packages/database/src/seeders/populatePartGrade.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { partGrade as partGradeSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populatePartGrade(): Promise { - log.setName("seeders/populatePartGrade"); - - log.debug("Seeding partGrade"); - - await getDatabase() - .insert(partGradeSchema) - .values([ - { - partGradeId: 1, - eText: "Stock", - gText: null, - fText: null, - partGrade: null, - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("PartGrade seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding partGrade: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populatePartType.ts b/packages/database/src/seeders/populatePartType.ts deleted file mode 100644 index 88b17cf06..000000000 --- a/packages/database/src/seeders/populatePartType.ts +++ /dev/null @@ -1,96 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { partType as partTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populatePartType(): Promise { - log.setName("seeders/populatePartType"); - - log.debug("Seeding partType"); - - await getDatabase() - .insert(partTypeSchema) - .values([ - { - partTypeId: 101, - abstractPartTypeId: 101, - partType: "1932 Ford V-8 Coupe", - partGradeId: 1, - }, - { - partTypeId: 104, - abstractPartTypeId: 101, - partType: "1957 Ford Fairlane 500", - partGradeId: 1, - }, - { - partTypeId: 111, - abstractPartTypeId: 101, - partType: "1970 Ford Boss 302 Mustang", - partGradeId: 1, - }, - { - partTypeId: 117, - abstractPartTypeId: 101, - partType: "1963 Chevy Corvette Stingray", - partGradeId: 1, - }, - { - partTypeId: 125, - abstractPartTypeId: 101, - partType: "1959 Cadillac Eldorado Biarritz", - partGradeId: 1, - }, - { - partTypeId: 130, - abstractPartTypeId: 101, - partType: "1973 Pontiac Firebird T/A", - partGradeId: 1, - }, - { - partTypeId: 214, - abstractPartTypeId: 101, - partType: "1970 Plymouth 440 Cuda", - partGradeId: 1, - }, - { - partTypeId: 228, - abstractPartTypeId: 101, - partType: "1973 Pontiac Firebird", - partGradeId: 1, - }, - { - partTypeId: 103, - abstractPartTypeId: 101, - partType: "1953 Ford Crestline", - partGradeId: 1, - }, - { - partTypeId: 108, - abstractPartTypeId: 101, - partType: "1965 Ford Mustang", - partGradeId: 1, - }, - { - partTypeId: 132, - abstractPartTypeId: 101, - partType: "1969 Dodge Charger", - partGradeId: 1, - }, - { - partTypeId: 120, - abstractPartTypeId: 101, - partType: "1967 Chevy Camaro", - partGradeId: 1, - } - ]) - .onConflictDoNothing() - .then(() => { - log.debug("PartType seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding partType: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populatePlayer.ts b/packages/database/src/seeders/populatePlayer.ts deleted file mode 100644 index 4ac7eae6a..000000000 --- a/packages/database/src/seeders/populatePlayer.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { player as playerSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); - -export async function populatePlayer(): Promise { - log.setName("seeders/populatePlayer"); - - log.debug("Seeding player"); - - await getDatabase() - .insert(playerSchema) - .values([ - { - playerId: 6, - customerId: 0, - playerTypeId: 1, - sanctionedScore: 0, - challengeScore: 0, - lastLoggedIn: new Date(0), - timesLoggedIn: 0, - bankBalance: 999999, - numCarsOwned: 0, - isLoggedIn: 0, - driverStyle: 0, - lpCode: 0, - lpText: null, - dlNumber: "xxx", - persona: "All Factory Ford", - address: "1240 A Street", - residence: "ABCDEFGHIJKLMNOPQRST", - }, - { - playerId: 8, - customerId: 0, - playerTypeId: 1, - sanctionedScore: 0, - challengeScore: 0, - lastLoggedIn: new Date(0), - timesLoggedIn: 0, - bankBalance: 999999, - numCarsOwned: 0, - isLoggedIn: 0, - driverStyle: 0, - lpCode: 0, - lpText: null, - dlNumber: "xxx", - persona: "Scrappy", - address: "1243 A Street", - residence: "ABCDEFGHIJKLMNOPQRST", - }, - { - playerId: 10, - customerId: 0, - playerTypeId: 1, - sanctionedScore: 0, - challengeScore: 0, - lastLoggedIn: new Date(0), - timesLoggedIn: 0, - bankBalance: 999999, - numCarsOwned: 0, - isLoggedIn: 0, - driverStyle: 0, - lpCode: 0, - lpText: null, - dlNumber: "xxx", - persona: "Joe", - address: "1244 A Street", - residence: "ABCDEFGHIJKLMNOPQRST", - }, - ]) - .onConflictDoNothing() - .finally(() => { - log.debug("Player seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding player: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populatePlayerType.ts b/packages/database/src/seeders/populatePlayerType.ts deleted file mode 100644 index 8808b2b81..000000000 --- a/packages/database/src/seeders/populatePlayerType.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { playerType as playerTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populatePlayerType(): Promise { - log.setName("seeders/populatePlayerType"); - - log.debug("Seeding playerType"); - - await getDatabase() - .insert(playerTypeSchema) - .values([ - { - playerTypeId: 1, - playerType: "System" - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("PlayerType seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding playerType: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateSkin.ts b/packages/database/src/seeders/populateSkin.ts deleted file mode 100644 index 29f6c3b75..000000000 --- a/packages/database/src/seeders/populateSkin.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { skin as skinSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populateSkin(): Promise { - log.setName("seeders/populateSkin"); - - log.debug("Seeding skin"); - - await getDatabase() - .insert(skinSchema) - .values([ - { - skinId: 1, - creatorId: 10, - skinTypeId: 1, - partTypeId: 101, - eSkin: "Candy Apple Red", - gSkin: null, - fSkin: null, - sSkin: null, - iSkin: null, - jSkin: null, - swSkin: null, - bSkin: null, - price: 200, - partFilename: "32fortin", - h0: 1, - s0: 211, - v0: 255, - c0: 128, - x0: 32, - y0: 255, - h1: 1, - s1: 211, - v1: 255, - c1: 128, - x1: 32, - y1: 255, - h2: 1, - s2: 211, - v2: 255, - c2: 128, - x2: 32, - y2: 255, - h3: 1, - s3: 211, - v3: 255, - c3: 128, - x3: 32, - y3: 255, - h4: 1, - s4: 211, - v4: 255, - c4: 128, - x4: 32, - y4: 255, - h5: 1, - s5: 211, - v5: 255, - c5: 128, - x5: 32, - y5: 255, - h6: 1, - s6: 211, - v6: 255, - c6: 128, - x6: 32, - y6: 255, - h7: 1, - s7: 211, - v7: 255, - c7: 128, - x7: 32, - y7: 255, - defaultFlag: 0, - creatorName: "Factory", - commentText: "As per 32-Ford CSV", - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("Skin seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding skin: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateSkinType.ts b/packages/database/src/seeders/populateSkinType.ts deleted file mode 100644 index f64b75a0e..000000000 --- a/packages/database/src/seeders/populateSkinType.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { skinType as skinTypeSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populateSkinType(): Promise { - log.setName("seeders/populateSkinType"); - - log.debug("Seeding skinType"); - - await getDatabase() - .insert(skinTypeSchema) - .values([ - { - skinTypeId: 1, - skinType: "Tinted", - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("SkinType seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding skinType: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/seeders/populateWarehouse.ts b/packages/database/src/seeders/populateWarehouse.ts deleted file mode 100644 index e6f4b986d..000000000 --- a/packages/database/src/seeders/populateWarehouse.ts +++ /dev/null @@ -1,124 +0,0 @@ -import { getServerLogger } from "rusty-motors-shared"; -import { warehouse as wareHouseSchema } from "rusty-motors-schema"; -import { getDatabase } from "rusty-motors-database"; -import * as Sentry from "@sentry/node"; - -const log = getServerLogger(); -export async function populateWarehouse(): Promise { - log.setName("seeders/populateWarehouse"); - - log.debug("Seeding warehouse"); - - await getDatabase() - .insert(wareHouseSchema) - .values([ - // All Factory Ford - { - brandedPartId: 104, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 111, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 117, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 125, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 339, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 353, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 379, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 384, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 389, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 394, - playerId: 6, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - // Scrappy's Cars - { - brandedPartId: 394, - playerId: 8, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 384, - playerId: 8, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 389, - playerId: 8, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - { - brandedPartId: 394, - playerId: 8, - isDealOfTheDay: 0, - skinId: 1, // is ignored - qtyAvail: 999, // is ignored - }, - ]) - .onConflictDoNothing() - .then(() => { - log.debug("Warehouse seeded"); - }) - .catch((error: Error) => { - log.error(`Error seeding warehouse: ${error.message}`); - Sentry.captureException(error); - }); -} diff --git a/packages/database/src/services/database.ts b/packages/database/src/services/database.ts index cb05367cb..880610fda 100644 --- a/packages/database/src/services/database.ts +++ b/packages/database/src/services/database.ts @@ -1,14 +1,36 @@ -import { drizzle, type NodePgDatabase } from "drizzle-orm/node-postgres"; -import pg from "pg"; -const { Pool } = pg; +import createConnectionPool, { sql } from '@databases/pg'; +import tables from '@databases/pg-typed'; +import type DatabaseSchema from '../__generated__/index.js'; +const DatabaseSchema = await import('../__generated__/schema.json'); -let database: NodePgDatabase; -export function getDatabase(): NodePgDatabase { - if (!database) { - const pool = new Pool({ - connectionString: "postgres://user:password@localhost:5432/rm", - }); - database = drizzle(pool); - } - return database; -} +export { sql }; + +export const db = createConnectionPool(); + +// You can list whatever tables you actually have here: +export const { + abstract_part_type: AbstractPartTypeSchema, + attachment_point: AttachmentPointSchema, + brand: BrandSchema, + branded_part: BrandedPartSchema, + driver_class: DriverClassSchema, + model: ModelSchema, + part: PartSchema, + part_grade: PartGradeSchema, + part_type: PartTypeSchema, + player: PlayerSchema, + player_type: PlayerTypeSchema, + pt_skin: PlayerTypeSkinSchema, + skin_type: SkinTypeSchema, + stock_assembly: StockAssemblySchema, + stock_vehicle_attributes: StockVehicleAttributesSchema, + sva_car_class: StockVehicleAttributesCarClassSchema, + sva_mode_restriction: StockVehicleAttributesModeRestrictionSchema, + vehicle: VehicleSchema, + warehouse: WarehouseSchema, + login: LoginSchema, + profile: ProfileSchema, +} = tables({ + databaseSchema: DatabaseSchema.default, +}); +export type { DatabaseSchema }; diff --git a/packages/database/src/services/tunables.ts b/packages/database/src/services/tunables.ts new file mode 100644 index 000000000..088eac8af --- /dev/null +++ b/packages/database/src/services/tunables.ts @@ -0,0 +1,578 @@ +class Tunables { + private static instance: Tunables; + private clubCreationFee: number; + private clubCreationMinimumLevel: number; + private clubOfficerMinimumLevel: number; + private racePPDefeatedOpponent: number; + private racePPPlaceLost: number; + private racePenaltyPerRank: number; + private raceBonusPerRank: number; + private raceBonusPerMileSponsored: number; + private raceBonusPerMileOpen: number; + private levelsTunelog: number; + private levelsSlope: number; + private levelsOffset: number; + private maxEZStreetLevel: number; + private clubWaitPeriodBetweenClubs: number; + private turfwarCaptionBonus: number; + private turfwarMemberBonus: number; + private topDogBonus: number; + private rankAdvancementBonus: number; + private ttCashRewardFirst: number; + private ttCashRewardSecond: number; + private ttCashRewardThird: number; + private ttPointsRewardFirst: number; + private ttPointsRewardSecond: number; + private ttPointsRewardThird: number; + private universalRepairCostModifier: number; + private universalScrapValueModifier: number; + private adCost1Day: number; + private adCost2Days: number; + private adCost3Days: number; + private adCost4Days: number; + private adCost5Days: number; + private adCost6Days: number; + private adCost7Days: number; + private tradeInModifier: number; + private simStreetMaxWager: number; + private pointAward1stPlace: number; + private pointAward2ndPlace: number; + private pointAward3rdPlace: number; + private pointAward4thPlace: number; + private pointAward5thPlace: number; + private pointAward6thPlace: number; + private arcadeRacePointModifier: number; + private mcotsPoolingFrequency: number; + private starterCash: number; + private enableCheatEmails: number; + private salaryPerLevel: number; + private clubMaxMembers: number; + private clubRegistrationFee: number; + private clubReRegistrationFee: number; + private classifiedAdBillRate: number; + private classifiedAdMaxDays: number; + private classifiedAdMaxSize: number; + private papAwardPercentage: number; + private dealOfTheDayBrandedPartId: number; + private dealOfTheDayDiscount: number; + + private constructor() { + this.clubCreationFee = 5000; + this.clubCreationMinimumLevel = 10; + this.clubOfficerMinimumLevel = 10; + this.racePPDefeatedOpponent = 5; + this.racePPPlaceLost = 1; + this.racePenaltyPerRank = 5; + this.raceBonusPerRank = 5; + this.raceBonusPerMileSponsored = 1; + this.raceBonusPerMileOpen = 1; + this.levelsTunelog = 100; + this.levelsSlope = 1; + this.levelsOffset = 0; + this.maxEZStreetLevel = 100; + this.clubWaitPeriodBetweenClubs = 7; + this.turfwarCaptionBonus = 500; + this.turfwarMemberBonus = 100; + this.topDogBonus = 1000; + this.rankAdvancementBonus = 100; + this.ttCashRewardFirst = 1000; + this.ttCashRewardSecond = 500; + this.ttCashRewardThird = 250; + this.ttPointsRewardFirst = 100; + this.ttPointsRewardSecond = 50; + this.ttPointsRewardThird = 25; + this.universalRepairCostModifier = 100; + this.universalScrapValueModifier = 100; + this.adCost1Day = 100; + this.adCost2Days = 200; + this.adCost3Days = 300; + this.adCost4Days = 400; + this.adCost5Days = 500; + this.adCost6Days = 600; + this.adCost7Days = 700; + this.tradeInModifier = 100; + this.simStreetMaxWager = 100; + this.pointAward1stPlace = 100; + this.pointAward2ndPlace = 75; + this.pointAward3rdPlace = 50; + this.pointAward4thPlace = 25; + this.pointAward5thPlace = 10; + this.pointAward6thPlace = 5; + this.arcadeRacePointModifier = 100; + this.mcotsPoolingFrequency = 100; + this.starterCash = 1000; + this.enableCheatEmails = 1; + this.salaryPerLevel = 100; + this.clubMaxMembers = 10; + this.clubRegistrationFee = 1000; + this.clubReRegistrationFee = 500; + this.classifiedAdBillRate = 100; + this.classifiedAdMaxDays = 7; + this.classifiedAdMaxSize = 100; + this.papAwardPercentage = 10; + this.dealOfTheDayBrandedPartId = 0; + this.dealOfTheDayDiscount = 0; + } + + public static getInstance(): Tunables { + if (!Tunables.instance) { + Tunables.instance = new Tunables(); + } + + return Tunables.instance; + } + + public getClubCreationFee(): number { + return this.clubCreationFee; + } + + public getClubCreationMinimumLevel(): number { + return this.clubCreationMinimumLevel; + } + + public getClubOfficerMinimumLevel(): number { + return this.clubOfficerMinimumLevel; + } + + public getRacePPDefeatedOpponent(): number { + return this.racePPDefeatedOpponent; + } + + public getRacePPPlaceLost(): number { + return this.racePPPlaceLost; + } + + public getRacePenaltyPerRank(): number { + return this.racePenaltyPerRank; + } + + public getRaceBonusPerRank(): number { + return this.raceBonusPerRank; + } + + public getRaceBonusPerMileSponsored(): number { + return this.raceBonusPerMileSponsored; + } + + public getRaceBonusPerMileOpen(): number { + return this.raceBonusPerMileOpen; + } + + public getLevelsTunelog(): number { + return this.levelsTunelog; + } + + public getLevelsSlope(): number { + return this.levelsSlope; + } + + public getLevelsOffset(): number { + return this.levelsOffset; + } + + public getMaxEZStreetLevel(): number { + return this.maxEZStreetLevel; + } + + public getClubWaitPeriodBetweenClubs(): number { + return this.clubWaitPeriodBetweenClubs; + } + + public getTurfwarCaptionBonus(): number { + return this.turfwarCaptionBonus; + } + + public getTurfwarMemberBonus(): number { + return this.turfwarMemberBonus; + } + + public getTopDogBonus(): number { + return this.topDogBonus; + } + + public getRankAdvancementBonus(): number { + return this.rankAdvancementBonus; + } + + public getTtCashRewardFirst(): number { + return this.ttCashRewardFirst; + } + + public getTtCashRewardSecond(): number { + return this.ttCashRewardSecond; + } + + public getTtCashRewardThird(): number { + return this.ttCashRewardThird; + } + + public getTtPointsRewardFirst(): number { + return this.ttPointsRewardFirst; + } + + public getTtPointsRewardSecond(): number { + return this.ttPointsRewardSecond; + } + + public getTtPointsRewardThird(): number { + return this.ttPointsRewardThird; + } + + public getUniversalRepairCostModifier(): number { + return this.universalRepairCostModifier; + } + + public getUniversalScrapValueModifier(): number { + return this.universalScrapValueModifier; + } + + public getAdCost1Day(): number { + return this.adCost1Day; + } + + public getAdCost2Days(): number { + return this.adCost2Days; + } + + public getAdCost3Days(): number { + return this.adCost3Days; + } + + public getAdCost4Days(): number { + return this.adCost4Days; + } + + public getAdCost5Days(): number { + return this.adCost5Days; + } + + public getAdCost6Days(): number { + return this.adCost6Days; + } + + public getAdCost7Days(): number { + return this.adCost7Days; + } + + public getTradeInModifier(): number { + return this.tradeInModifier; + } + + public getSimStreetMaxWager(): number { + return this.simStreetMaxWager; + } + + public getPointAward1stPlace(): number { + return this.pointAward1stPlace; + } + + public getPointAward2ndPlace(): number { + return this.pointAward2ndPlace; + } + + public getPointAward3rdPlace(): number { + return this.pointAward3rdPlace; + } + + public getPointAward4thPlace(): number { + return this.pointAward4thPlace; + } + + public getPointAward5thPlace(): number { + return this.pointAward5thPlace; + } + + public getPointAward6thPlace(): number { + return this.pointAward6thPlace; + } + + public getArcadeRacePointModifier(): number { + return this.arcadeRacePointModifier; + } + + public getMcotsPoolingFrequency(): number { + return this.mcotsPoolingFrequency; + } + + public getStarterCash(): number { + return this.starterCash; + } + + public getEnableCheatEmails(): number { + return this.enableCheatEmails; + } + + public getSalaryPerLevel(): number { + return this.salaryPerLevel; + } + + public getClubMaxMembers(): number { + return this.clubMaxMembers; + } + + public getClubRegistrationFee(): number { + return this.clubRegistrationFee; + } + + public getClubReRegistrationFee(): number { + return this.clubReRegistrationFee; + } + + public getClassifiedAdBillRate(): number { + return this.classifiedAdBillRate; + } + + public getClassifiedAdMaxDays(): number { + return this.classifiedAdMaxDays; + } + + public getClassifiedAdMaxSize(): number { + return this.classifiedAdMaxSize; + } + + public getPapAwardPercentage(): number { + return this.papAwardPercentage; + } + + public getDealOfTheDayBrandedPartId(): number { + return this.dealOfTheDayBrandedPartId; + } + + public getDealOfTheDayDiscount(): number { + return this.dealOfTheDayDiscount; + } + + public setClubCreationFee(clubCreationFee: number): void { + this.clubCreationFee = clubCreationFee; + } + + public setClubCreationMinimumLevel(clubCreationMinimumLevel: number): void { + this.clubCreationMinimumLevel = clubCreationMinimumLevel; + } + + public setClubOfficerMinimumLevel(clubOfficerMinimumLevel: number): void { + this.clubOfficerMinimumLevel = clubOfficerMinimumLevel; + } + + public setRacePPDefeatedOpponent(racePPDefeatedOpponent: number): void { + this.racePPDefeatedOpponent = racePPDefeatedOpponent; + } + + public setRacePPPlaceLost(racePPPlaceLost: number): void { + this.racePPPlaceLost = racePPPlaceLost; + } + + public setRacePenaltyPerRank(racePenaltyPerRank: number): void { + this.racePenaltyPerRank = racePenaltyPerRank; + } + + public setRaceBonusPerRank(raceBonusPerRank: number): void { + this; + } + + public setRaceBonusPerMileSponsored( + raceBonusPerMileSponsored: number + ): void { + this.raceBonusPerMileSponsored = raceBonusPerMileSponsored; + } + + public setRaceBonusPerMileOpen(raceBonusPerMileOpen: number): void { + this.raceBonusPerMileOpen = raceBonusPerMileOpen; + } + + public setLevelsTunelog(levelsTunelog: number): void { + this.levelsTunelog = levelsTunelog; + } + + public setLevelsSlope(levelsSlope: number): void { + this.levelsSlope = levelsSlope; + } + + public setLevelsOffset(levelsOffset: number): void { + this.levelsOffset = levelsOffset; + } + + public setMaxEZStreetLevel(maxEZStreetLevel: number): void { + this.maxEZStreetLevel = maxEZStreetLevel; + } + + public setClubWaitPeriodBetweenClubs( + clubWaitPeriodBetweenClubs: number + ): void { + this.clubWaitPeriodBetweenClubs = clubWaitPeriodBetweenClubs; + } + + public setTurfwarCaptionBonus(turfwarCaptionBonus: number): void { + this.turfwarCaptionBonus = turfwarCaptionBonus; + } + + public setTurfwarMemberBonus(turfwarMemberBonus: number): void { + this.turfwarMemberBonus = turfwarMemberBonus; + } + + public setTopDogBonus(topDogBonus: number): void { + this.topDogBonus = topDogBonus; + } + + public setRankAdvancementBonus(rankAdvancementBonus: number): void { + this.rankAdvancementBonus = rankAdvancementBonus; + } + + public setTtCashRewardFirst(ttCashRewardFirst: number): void { + this.ttCashRewardFirst = ttCashRewardFirst; + } + + public setTtCashRewardSecond(ttCashRewardSecond: number): void { + this.ttCashRewardSecond = ttCashRewardSecond; + } + + public setTtCashRewardThird(ttCashRewardThird: number): void { + this.ttCashRewardThird = ttCashRewardThird; + } + + public setTtPointsRewardFirst(ttPointsRewardFirst: number): void { + this.ttPointsRewardFirst = ttPointsRewardFirst; + } + + public setTtPointsRewardSecond(ttPointsRewardSecond: number): void { + this.ttPointsRewardSecond = ttPointsRewardSecond; + } + + public setTtPointsRewardThird(ttPointsRewardThird: number): void { + this.ttPointsRewardThird = ttPointsRewardThird; + } + + public setUniversalRepairCostModifier( + universalRepairCostModifier: number + ): void { + this.universalRepairCostModifier = universalRepairCostModifier; + } + + public setUniversalScrapValueModifier( + universalScrapValueModifier: number + ): void { + this.universalScrapValueModifier = universalScrapValueModifier; + } + + public setAdCost1Day(adCost1Day: number): void { + this.adCost1Day = adCost1Day; + } + + public setAdCost2Days(adCost2Days: number): void { + this.adCost2Days = adCost2Days; + } + + public setAdCost3Days(adCost3Days: number): void { + this.adCost3Days = adCost3Days; + } + + public setAdCost4Days(adCost4Days: number): void { + this.adCost4Days = adCost4Days; + } + + public setAdCost5Days(adCost5Days: number): void { + this.adCost5Days = adCost5Days; + } + + public setAdCost6Days(adCost6Days: number): void { + this.adCost6Days = adCost6Days; + } + + public setAdCost7Days(adCost7Days: number): void { + this.adCost7Days = adCost7Days; + } + + public setTradeInModifier(tradeInModifier: number): void { + this.tradeInModifier = tradeInModifier; + } + + public setSimStreetMaxWager(simStreetMaxWager: number): void { + this.simStreetMaxWager = simStreetMaxWager; + } + + public setPointAward1stPlace(pointAward1stPlace: number): void { + this.pointAward1stPlace = pointAward1stPlace; + } + + public setPointAward2ndPlace(pointAward2ndPlace: number): void { + this.pointAward2ndPlace = pointAward2ndPlace; + } + + public setPointAward3rdPlace(pointAward3rdPlace: number): void { + this.pointAward3rdPlace = pointAward3rdPlace; + } + + public setPointAward4thPlace(pointAward4thPlace: number): void { + this.pointAward4thPlace = pointAward4thPlace; + } + + public setPointAward5thPlace(pointAward5thPlace: number): void { + this.pointAward5thPlace = pointAward5thPlace; + } + + public setPointAward6thPlace(pointAward6thPlace: number): void { + this.pointAward6thPlace = pointAward6thPlace; + } + + public setArcadeRacePointModifier(arcadeRacePointModifier: number): void { + this.arcadeRacePointModifier = arcadeRacePointModifier; + } + + public setMcotsPoolingFrequency(mcotsPoolingFrequency: number): void { + this.mcotsPoolingFrequency = mcotsPoolingFrequency; + } + + public setStarterCash(starterCash: number): void { + this.starterCash = starterCash; + } + + public setEnableCheatEmails(enableCheatEmails: number): void { + this.enableCheatEmails = enableCheatEmails; + } + + public setSalaryPerLevel(salaryPerLevel: number): void { + this.salaryPerLevel = salaryPerLevel; + } + + public setClubMaxMembers(clubMaxMembers: number): void { + this.clubMaxMembers = clubMaxMembers; + } + + public setClubRegistrationFee(clubRegistrationFee: number): void { + this.clubRegistrationFee = clubRegistrationFee; + } + + public setClubReRegistrationFee(clubReRegistrationFee: number): void { + this.clubReRegistrationFee = clubReRegistrationFee; + } + + public setClassifiedAdBillRate(classifiedAdBillRate: number): void { + this.classifiedAdBillRate = classifiedAdBillRate; + } + + public setClassifiedAdMaxDays(classifiedAdMaxDays: number): void { + this.classifiedAdMaxDays = classifiedAdMaxDays; + } + + public setClassifiedAdMaxSize(classifiedAdMaxSize: number): void { + this.classifiedAdMaxSize = classifiedAdMaxSize; + } + + public setPapAwardPercentage(papAwardPercentage: number): void { + this.papAwardPercentage = papAwardPercentage; + } + + public setDealOfTheDayBrandedPartId( + dealOfTheDayBrandedPartId: number + ): void { + this.dealOfTheDayBrandedPartId = dealOfTheDayBrandedPartId; + } + + public setDealOfTheDayDiscount(dealOfTheDayDiscount: number): void { + this.dealOfTheDayDiscount = dealOfTheDayDiscount; + } +} + +export function getTunables(): Tunables { + return Tunables.getInstance(); +} diff --git a/packages/gateway/package.json b/packages/gateway/package.json index b0dd65ecf..2a7c067a1 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -13,7 +13,6 @@ "lint": "eslint .", "format": "pnpm prettier --write .", "test": "vitest run --coverage" - }, "keywords": [], "author": "", @@ -22,12 +21,10 @@ "@fastify/sensible": "^5.5.0", "@sentry/node": "^8.0.0", "fastify": "^4.25.2", - "vitest": "^1.6.0" }, "directories": { "test": "test" }, - "devDependencies": {}, "description": "" } diff --git a/packages/gateway/src/GatewayServer.ts b/packages/gateway/src/GatewayServer.ts index 0d7590b36..4ccf79b1a 100644 --- a/packages/gateway/src/GatewayServer.ts +++ b/packages/gateway/src/GatewayServer.ts @@ -20,21 +20,10 @@ import { gameMessageProcessors, populateGameUsers, gameProfiles, - populateGameProfiles, } from "rusty-motors-nps"; import { populateServerMessageProcessors } from "rusty-motors-mcots"; import { - populatePlayer, - populatePlayerType, - populateBrandedPart, - populatePartType, - populateModel, - populateAbstractPartType, - populatePartGrade, - populateBrand, - populateSkin, - populateSkinType, - populateWarehouse, + getTuneables, } from "rusty-motors-database"; /** @@ -274,18 +263,6 @@ export class Gateway implements TGateway { try { await populateGameUsers(); - await populateGameProfiles(gameProfiles); - await populatePlayerType(); - await populateAbstractPartType(); - await populatePartGrade(); - await populatePartType(); - await populateBrand(); - await populateModel(); - await populateBrandedPart(); - await populatePlayer(); - await populateSkinType(); - await populateSkin(); - await populateWarehouse(); } catch (error) { this.log.error(`Error in populating game data: ${error as string}`); throw error; diff --git a/packages/gateway/src/web.ts b/packages/gateway/src/web.ts index 255985e5c..416bfbdfc 100644 --- a/packages/gateway/src/web.ts +++ b/packages/gateway/src/web.ts @@ -96,7 +96,7 @@ export function addWebRoutes(webServer: import("fastify").FastifyInstance) { } // Generate a token - const token = generateToken(user.customerId); + const token = generateToken(user.customer_id); return reply.send(`Valid=TRUE\nTicket=${token}`); }); diff --git a/packages/nps/index.ts b/packages/nps/index.ts index 4733ff40f..4f1c09ad4 100644 --- a/packages/nps/index.ts +++ b/packages/nps/index.ts @@ -24,7 +24,6 @@ export { gameProfiles, getCustomerId, getGameProfilesForCustomerId, - populateGameProfiles, } from './services/profile.js'; export { generateToken } from './services/token.js'; export { UserStatusManager } from './src/UserStatusManager.js'; diff --git a/packages/nps/package.json b/packages/nps/package.json index 2d8bbff6a..5223d9ed5 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -9,20 +9,17 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^8.0.0", - "drizzle-orm": "^0.31.0", "short-unique-id": "^5.0.3" }, - "devDependencies": {}, "description": "" } diff --git a/packages/nps/services/account.ts b/packages/nps/services/account.ts index fed0927a3..6822ae457 100644 --- a/packages/nps/services/account.ts +++ b/packages/nps/services/account.ts @@ -1,61 +1,44 @@ -import { getDatabase } from "rusty-motors-database"; -import { user as userSchema } from "rusty-motors-schema"; -import { eq, and } from "drizzle-orm"; -import { getServerLogger } from "rusty-motors-shared"; +import { db, LoginSchema } from 'rusty-motors-database'; +import { getServerLogger } from 'rusty-motors-shared'; +import type { DatabaseSchema } from '../../database/src/services/database'; const log = getServerLogger(); - - export async function populateGameUsers(): Promise { - - await getDatabase().insert(userSchema).values([ - { - userId: 1, - userName: "admin", - password: "admin", - customerId: 1, - isSuperUser: 1, - }, - { - userId: 2, - userName: "molly", - password: "molly", - customerId: 2, - isSuperUser: 0, - }, - ]).onConflictDoNothing(); + await LoginSchema(db).insertOrIgnore({ + customer_id: 1, + login_name: 'admin', + password: 'admin', + login_level: 1, + }); } -export async function getUser(username: string, password: string): Promise { - - const userAccount = await getDatabase().select().from(userSchema).where( - and( - eq(userSchema.userName, username), - eq(userSchema.password, password), - ), - ).limit(1).then((result) => { - if (result.length === 0) { - return null; - } - - const record = result[0]; +export async function getUser( + username: string, + password: string +): Promise { + log.setName('getUser'); - if (typeof record === "undefined") { - return null; - } + log.debug(`Getting user ${username}, ${password}`); - return record; + const userAccount = await LoginSchema(db).findOne({ + login_name: username, + password, }); - log.debug(`getUser: ${JSON.stringify(userAccount)}`); + if (!userAccount) { + log.warn(`User ${username} not found`); + } - return userAccount + return userAccount; } -export async function isSuperUser(username: string, password: string): Promise { +export async function isSuperUser( + username: string, + password: string +): Promise { const user = await getUser(username, password); - return user ? user.isSuperUser === 1 : false; + return user ? user.login_level === 1 : false; } // Path: packages/nps/services/account.ts diff --git a/packages/nps/services/profile.ts b/packages/nps/services/profile.ts index db71b4198..e6b483cb2 100644 --- a/packages/nps/services/profile.ts +++ b/packages/nps/services/profile.ts @@ -1,38 +1,10 @@ -import { GameProfile } from "../messageStructs/GameProfile.js"; -import { getDatabase } from "rusty-motors-database"; -import { profile as profileSchema } from "rusty-motors-schema"; +import { db, ProfileSchema } from 'rusty-motors-database'; +import { GameProfile } from '../messageStructs/GameProfile.js'; export const gameProfiles: GameProfile[] = []; -export async function populateGameProfiles(profiles: GameProfile[]): Promise { - const profile1 = GameProfile.new(); - profile1.customerId = 2; - profile1.profileName = "molly"; - profile1.serverId = 1; - profile1.createStamp = 0; - profile1.lastLoginStamp = 0; - profile1.numberGames = 0; - profile1.profileId = 1000; - profile1.isOnline = false; - profile1.gamePurchaseStamp = 0; - profile1.gameSerialNumber = ""; - profile1.timeOnline = 0; - profile1.timeInGame = 0; - profile1.gameBlob = Buffer.alloc(0); - profile1.personalBlob = Buffer.alloc(0); - profile1.pictureBlob = Buffer.alloc(0); - profile1.dnd = false; - profile1.gameStartStamp = 0; - profile1.currentKey = ""; - profile1.profileLevel = 0; - profile1.shardId = 44; - profiles.push(profile1); - - return Promise.resolve(); -} - export function getGameProfilesForCustomerId( - customerId: number, + customerId: number ): GameProfile[] { const profiles: GameProfile[] = []; for (const profile of gameProfiles.values()) { @@ -62,28 +34,28 @@ export function gameProfileExists(profileName: string): boolean { } export async function addGameProfile(profile: GameProfile): Promise { - await getDatabase().insert(profileSchema).values([{ - customerId: profile.customerId, - profileName: profile.profileName, - serverId: profile.serverId, - createStamp: profile.createStamp, - lastLoginStamp: profile.lastLoginStamp, - numberGames: profile.numberGames, - profileId: profile.profileId, - isOnline: profile.isOnline, - gamePurchaseStamp: profile.gamePurchaseStamp, - gameSerialNumber: profile.gameSerialNumber, - timeOnline: profile.timeOnline, - timeInGame: profile.timeInGame, - gameBlob: profile.gameBlob.toString(), - personalBlob: profile.personalBlob.toString(), - pictureBlob: profile.pictureBlob.toString(), + await ProfileSchema(db).insertOrIgnore({ + customer_id: profile.customerId, + profile_name: profile.profileName, + server_id: profile.serverId, + create_stamp: profile.createStamp, + last_login_stamp: profile.lastLoginStamp, + number_games: profile.numberGames, + profile_id: profile.profileId, + is_online: profile.isOnline, + game_purchase_stamp: profile.gamePurchaseStamp, + game_serial_number: profile.gameSerialNumber, + time_online: profile.timeOnline, + time_in_game: profile.timeInGame, + game_blob: profile.gameBlob.toString(), + personal_blob: profile.personalBlob.toString(), + picture_blob: profile.pictureBlob.toString(), dnd: profile.dnd, - gameStartStamp: profile.gameStartStamp, - currentKey: profile.currentKey, - profileLevel: profile.profileLevel, - shardId: profile.shardId, - }]).onConflictDoNothing(); + game_start_stamp: profile.gameStartStamp, + current_key: profile.currentKey, + profile_level: profile.profileLevel, + shard_id: profile.shardId, + }); } export function deleteGameProfile(profileId: number): void { diff --git a/packages/nps/services/token.ts b/packages/nps/services/token.ts index c00326a4e..4f6bca8db 100644 --- a/packages/nps/services/token.ts +++ b/packages/nps/services/token.ts @@ -19,6 +19,9 @@ export function generateTokenRecord(customerId: number): TokenRecord { } export function generateToken(customerId: number): string { + if (typeof customerId !== "number") { + throw new Error("Invalid customer ID"); + } const tokenRecord = generateTokenRecord(customerId); activeTokens.set(tokenRecord.token, tokenRecord); return tokenRecord.token; diff --git a/packages/patch/package.json b/packages/patch/package.json index f61c22d50..2d106ca85 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -9,11 +9,10 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", @@ -24,6 +23,5 @@ "directories": { "test": "test" }, - "devDependencies": {}, "description": "" } diff --git a/packages/shard/package.json b/packages/shard/package.json index b42c36338..e23ba4701 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -10,11 +10,10 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", @@ -24,6 +23,5 @@ }, "directories": { "test": "test" - }, - "devDependencies": {} + } } diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index d969dc5f1..566792689 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -10,15 +10,13 @@ } }, "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", "license": "AGPL-3.0", - "devDependencies": {}, "description": "" } diff --git a/packages/shared/package.json b/packages/shared/package.json index f20c9661f..c303b58ab 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -13,11 +13,10 @@ }, "type": "module", "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - + "check": "tsc", + "lint": "eslint .", + "format": "pnpm prettier --write .", + "test": "vitest run --coverage" }, "keywords": [], "author": "", @@ -31,6 +30,5 @@ "directories": { "test": "test" }, - "devDependencies": {}, "description": "" } diff --git a/schema/abstractPartType.ts b/schema/abstractPartType.ts deleted file mode 100644 index 93a066c24..000000000 --- a/schema/abstractPartType.ts +++ /dev/null @@ -1,50 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - text, - numeric, - type AnyPgColumn, -} from "drizzle-orm/pg-core"; - -export const abstractPartType = pgTable( - "abstract_part_type", - { - abstractPartTypeId: integer("abstract_part_type_id").notNull().primaryKey(), - parentAbstractPartTypeId: integer("parent_abstract_part_type_id").references((): AnyPgColumn => abstractPartType.abstractPartTypeId), - dependsOn: integer("depends_on").references((): AnyPgColumn => abstractPartType.abstractPartTypeId), - partFilename: varchar("part_filename", { length: 20 }).default(""), - eAPT: varchar("e_apt", { length: 100 }).notNull(), - gAPT: varchar("g_apt", { length: 100 }).default(""), - fAPT: varchar("f_apt", { length: 100 }).default(""), - sAPT: varchar("s_apt", { length: 100 }).default(""), - iAPT: varchar("i_apt", { length: 100 }).default(""), - jAPT: varchar("j_apt", { length: 100 }).default(""), - swAPT: varchar("sw_apt", { length: 100 }).default(""), - bAPT: varchar("b_apt", { length: 100 }).default(""), - modifiedRule: integer("modified_rule").default(0), - eUT: text("e_ut").default(""), - gUT: text("g_ut").default(""), - fUT: text("f_ut").default(""), - sUT: text("s_ut").default(""), - iUT: text("i_ut").default(""), - jUT: text("j_ut").default(""), - swUT: text("sw_ut").default(""), - bUT: text("b_ut").default(""), - partPaired: integer("part_paired").default(0), - schematicPicname1: varchar("schematic_picname1", { length: 9 }).default(""), - schematicPicname2: varchar("schematic_picname2", { length: 9 }).default("VEH%d"), - blockFamilyCompatibility: integer("block_family_compatibility").default(0), - repairCostModifier: numeric("repair_cost_modifier", { precision: 100, scale: 7 }).default("1.0"), - scrapCostModifier: numeric("scrap_cost_modifier", { precision: 100, scale: 7 }).default("1.0"), - garageCategory: integer("garage_category").default(0), - }, - (table) => { - return { - idIdx: uniqueIndex("abstract_part_type_id_idx").on(table.abstractPartTypeId), - parentAbstractPartTypeIdIdx: uniqueIndex("parent_abstract_part_type_id_idx").on(table.parentAbstractPartTypeId), - dependsOnIdx: uniqueIndex("depends_on_idx").on(table.dependsOn), - }; - }, -); diff --git a/schema/attachmentPoint.ts b/schema/attachmentPoint.ts deleted file mode 100644 index 9a6fda9d8..000000000 --- a/schema/attachmentPoint.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { pgTable, varchar, integer, uniqueIndex } from "drizzle-orm/pg-core"; - -export const attachmentPoint = pgTable( - "attachment_point", - { - attachmentPointId: integer("attachment_point_id") - .notNull() - .primaryKey(), - attachment_point: varchar("attachment_point", { - length: 100, - }).notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("attachment_point_id_idx").on( - table.attachmentPointId, - ), - }; - }, -); diff --git a/schema/brand.ts b/schema/brand.ts deleted file mode 100644 index 7009891d7..000000000 --- a/schema/brand.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - smallint, -} from "drizzle-orm/pg-core"; - -export const brand = pgTable( - "brand", - { - brandId: integer("brand_id").notNull().primaryKey(), - brand: varchar("brand", { length: 100 }), - picName: varchar("pic_name", { length: 50 }), - isStock: smallint("is_stock").notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("brand_id_idx").on(table.brandId), - }; - }, -); diff --git a/schema/brandedPart.ts b/schema/brandedPart.ts deleted file mode 100644 index 7a2f4a3df..000000000 --- a/schema/brandedPart.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { - pgTable, - integer, - timestamp, - smallint, - index, -} from "drizzle-orm/pg-core"; -import { partType } from "./partType.js"; -import { model } from "./model.js"; - -export const brandedPart = pgTable( - "branded_part", - { - brandedPartId: integer("branded_part_id").notNull().primaryKey(), - partTypeId: integer("part_type_id").references(() => partType.partTypeId).notNull(), - modelId: integer("model_id").references(() => model.modelId).notNull(), - mfgDate: timestamp("mfg_date").notNull().default(new Date(0)), - qtyAvail: integer("qty_avail").notNull(), - retailPrice: integer("retail_price").notNull(), - maxItemWear: smallint("max_item_wear"), - engineBlockFamilyId: integer("engine_block_family_id").default(0), - }, - (table) => { - return { - brandedPartPartTypeIdIdx: index("branded_part_part_id_idx").on(table.partTypeId), - brandedPartEngineBlockFamilyIdIdx: index("branded_part_engine_block_family_id_idx").on(table.engineBlockFamilyId), - }; - }, -); diff --git a/schema/bytea.ts b/schema/bytea.ts deleted file mode 100644 index 6c7cb8992..000000000 --- a/schema/bytea.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { customType } from 'drizzle-orm/pg-core'; - - -export const bytea = customType<{ data: Buffer; driverData: string; }>({ - dataType() { - return 'bytea'; - }, - toDriver(value: Buffer): string { - return `\\x${value.toString('hex')}`; - }, - fromDriver(value: string): Buffer { - return Buffer.from(value.slice(2), 'hex'); - }, -}); diff --git a/schema/driverClass.ts b/schema/driverClass.ts deleted file mode 100644 index e428a95c6..000000000 --- a/schema/driverClass.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { - pgTable, - varchar, - uniqueIndex, - smallint, -} from "drizzle-orm/pg-core"; - -export const driverClass = pgTable( - "driver_class", - { - driverClassId: smallint("driver_class_id").notNull().primaryKey(), - driverClass: varchar("driver_class", { length: 50 }).notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("driver_class_id_idx").on(table.driverClassId), - }; - }, -); diff --git a/schema/index.ts b/schema/index.ts deleted file mode 100644 index c6a7ba158..000000000 --- a/schema/index.ts +++ /dev/null @@ -1,22 +0,0 @@ -export { abstractPartType } from "./abstractPartType.js"; -export { attachmentPoint } from "./attachmentPoint.js"; -export { brand } from "./brand.js"; -export { brandedPart } from "./brandedPart.js"; -export { key } from "./key.js"; -export { model } from "./model.js"; -export { part } from "./part.js"; -export { partGrade } from "./partGrade.js"; -export { partType } from "./partType.js"; -export { player } from "./player.js"; -export { playerType } from "./playerType.js"; -export { profile } from "./profile.js"; -export { raceType } from "./raceType.js"; -export { skin } from "./skin.js"; -export { skinType } from "./skinType.js"; -export { stockAssembly } from "./stockAssembly.js"; -export { stockVehicleAttributes } from "./stockVehicleAttributes.js"; -export { svaCarClass } from "./svaCarClass.js"; -export { tunables } from "./tunables.js"; -export { user } from "./user.js"; -export { vehicle } from "./vehicle.js"; -export { warehouse } from "./warehouse.js"; diff --git a/schema/key.ts b/schema/key.ts deleted file mode 100644 index a04050491..000000000 --- a/schema/key.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, -} from "drizzle-orm/pg-core"; - -export const key = pgTable( - "user", - { - userId: integer("user_id").notNull().primaryKey(), - sessionKey: varchar("session_key", { length: 100 }).notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("key_user_id_idx").on(table.userId), - }; - }, -); diff --git a/schema/model.ts b/schema/model.ts deleted file mode 100644 index 6426d8708..000000000 --- a/schema/model.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { - pgTable, - varchar, - integer, -} from "drizzle-orm/pg-core"; -import { brand } from "./brand.js"; - -export const model = pgTable( - "model", - { - modelId: integer("model_id").notNull().primaryKey(), - brandId: integer("brand_id") - .references(() => brand.brandId) - .notNull().notNull(), - eModel: varchar("e_model", { length: 100 }), - gModel: varchar("g_model", { length: 100 }), - fModel: varchar("f_model", { length: 100 }), - sModel: varchar("s_model", { length: 100 }), - iModel: varchar("i_model", { length: 100 }), - jModel: varchar("j_model", { length: 100 }), - swModel: varchar("sw_model", { length: 100 }), - bModel: varchar("b_model", { length: 100 }), - eExtraInfo: varchar("e_extra_info", { length: 100 }), - gExtraInfo: varchar("g_extra_info", { length: 100 }), - fExtraInfo: varchar("f_extra_info", { length: 100 }), - sExtraInfo: varchar("s_extra_info", { length: 100 }), - iExtraInfo: varchar("i_extra_info", { length: 100 }), - jExtraInfo: varchar("j_extra_info", { length: 100 }), - swExtraInfo: varchar("sw_extra_info", { length: 100 }), - bExtraInfo: varchar("b_extra_info", { length: 100 }), - eShortModel: varchar("e_short_model", { length: 50 }), - gShortModel: varchar("g_short_model", { length: 50 }), - fShortModel: varchar("f_short_model", { length: 50 }), - sShortModel: varchar("s_short_model", { length: 50 }), - iShortModel: varchar("i_short_model", { length: 50 }), - jShortModel: varchar("j_short_model", { length: 50 }), - swShortModel: varchar("sw_short_model", { length: 50 }), - bShortModel: varchar("b_short_model", { length: 50 }), - debug_string: varchar("debug_string", { length: 255 }), - debug_sort_string: varchar("debug_sort_string", { length: 50 }), - }, -); diff --git a/schema/package.json b/schema/package.json deleted file mode 100644 index d92f134de..000000000 --- a/schema/package.json +++ /dev/null @@ -1,24 +0,0 @@ -{ - "name": "rusty-motors-schema", - "version": "1.0.0", - "exports": { - ".": { - "import": "./index.js", - "require": "./index.js" - } - }, - "type": "module", - "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0", - "devDependencies": {}, - "dependencies": {}, - "description": "" -} diff --git a/schema/part.ts b/schema/part.ts deleted file mode 100644 index 34dfadf3a..000000000 --- a/schema/part.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - type AnyPgColumn, - smallint, - index, -} from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart.js"; -import { attachmentPoint } from "./attachmentPoint.js"; - -export const part = pgTable( - "part", - { - partId: integer("part_id").notNull().primaryKey(), - parentPartId: integer("parent_part_id").references((): AnyPgColumn => part.partId), - brandedPartId: integer("branded_part_id").notNull().references(() => brandedPart.brandedPartId), - percentDamage: smallint("percent_damage").notNull(), - itemWear: integer("item_wear").notNull(), - attachmentPointId: integer("attachment_point_id").notNull().references(() => attachmentPoint.attachmentPointId), - ownerId: integer("owner_id"), - partName: varchar("part_name", { length: 100 }), - repairCost: integer("repair_cost").default(0), - scrapValue: integer("scrap_value").default(0), - }, - (table) => { - return { - idIdx: uniqueIndex("part_id_idx").on(table.partId), - partParentPartIdIdx: index("part_parent_part_id_idx").on(table.parentPartId), - partBrandedPartIdIdx: index("part_branded_part_id_idx").on(table.brandedPartId), - partAttachmentPointIdIdx: index("part_attachment_point_id_idx").on(table.attachmentPointId), - }; - }); diff --git a/schema/partGrade.ts b/schema/partGrade.ts deleted file mode 100644 index 04ca7d484..000000000 --- a/schema/partGrade.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, -} from "drizzle-orm/pg-core"; - -export const partGrade = pgTable( - "part_grade", - { - partGradeId: integer("part_grade_id").notNull().primaryKey(), - eText: varchar("e_text", { length: 50 }), - gText: varchar("g_text", { length: 50 }), - fText: varchar("f_text", { length: 50 }), - partGrade: varchar("part_grade", { length: 50 }), - }, - (table) => { - return { - idIdx: uniqueIndex("part_grade_id_idx").on(table.partGradeId), - }; - }, -); diff --git a/schema/partType.ts b/schema/partType.ts deleted file mode 100644 index 98a53de4b..000000000 --- a/schema/partType.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - index, -} from "drizzle-orm/pg-core"; -import { abstractPartType } from "./abstractPartType.js"; -import { partGrade } from "./partGrade.js"; - -export const partType = pgTable( - "part_type", - { - partTypeId: integer("part_type_id").notNull().primaryKey(), - abstractPartTypeId: integer("abstract_part_type_id").notNull().references(() => abstractPartType.abstractPartTypeId).notNull(), - partType: varchar("part_type", { length: 100 }).notNull(), - partFilename: varchar("part_filename", { length: 20 }), - partGradeId: integer("part_grade_id").notNull().references(() => partGrade.partGradeId), - }, - (table) => { - return { - partTypeIdIdx: uniqueIndex("part_type_id_idx").on(table.partTypeId), - partTypeAbstractPartTypeIdIdx: index("part_type_abstract_part_type_id_idx").on(table.abstractPartTypeId), - partTypePartGradeIdIdx: index("part_type_part_grade_id_idx").on(table.partGradeId), - }; - }, -); diff --git a/schema/player.ts b/schema/player.ts deleted file mode 100644 index 30884b09f..000000000 --- a/schema/player.ts +++ /dev/null @@ -1,91 +0,0 @@ -import { - pgTable, - varchar, - integer, - smallint, - timestamp, - index, -} from "drizzle-orm/pg-core"; -import { playerType } from "./playerType.js"; -import { driverClass } from "./driverClass.js"; - -export const player = pgTable( - "player", - { - playerId: integer("player_id").notNull().primaryKey(), - customerId: integer("customer_id").notNull(), - playerTypeId: integer("player_type_id").references(() => playerType.playerTypeId).notNull(), - sanctionedScore: integer("sanctioned_score"), - challengeScore: integer("challenge_score"), - lastLoggedIn: timestamp("last_logged_in", {mode: "date", withTimezone: false}), - timesLoggedIn: integer("times_logged_in").notNull(), - bankBalance: integer("bank_balance").notNull(), - numCarsOwned: smallint("num_cars_owned").notNull(), - isLoggedIn: smallint("is_logged_in"), - driverStyle: smallint("driver_style").notNull(), - lpCode: integer("lp_code").notNull(), - lpText: varchar("lp_text", { length: 9 }), - carNum1: varchar("car_num_1", { length: 2 }).notNull().default(""), - carNum2: varchar("car_num_2", { length: 2 }).notNull().default(""), - carNum3: varchar("car_num_3", { length: 2 }).notNull().default(""), - carNum4: varchar("car_num_4", { length: 2 }).notNull().default(""), - carNum5: varchar("car_num_5", { length: 2 }).notNull().default(""), - carNum6: varchar("car_num_6", { length: 2 }).notNull().default(""), - dlNumber: varchar("dl_number", { length: 20 }), - persona: varchar("persona", { length: 30 }).notNull(), - address: varchar("address", { length: 128 }), - residence: varchar("residence", { length: 20 }), - vehicleId: integer("vehicle_id").default(0), - currentRaceId: integer("current_race_id").default(0), - offlineDriverSkill: integer("offline_driver_skill").default(0), - offlineGrudge: integer("offline_grudge").default(0), - offlineReputation: integer("offline_reputation").default(0), - totalTimePlayed: integer("total_time_played").default(0), - carInfoSetting: integer("car_info_setting").default(0), - stockClassicClass: smallint("stock_classic_class"), - stockMuscleClass: smallint("stock_muscle_class").references(() => driverClass.driverClassId), - modifiedClassicClass: smallint("modified_classic_class").references(() => driverClass.driverClassId), - modifiedMuscleClass: smallint("modified_muscle_class").references(() => driverClass.driverClassId), - outlawClass: smallint("outlaw_class").references(() => driverClass.driverClassId), - dragClass: smallint("drag_class").references(() => driverClass.driverClassId), - challengeRung: integer("challenge_rung").default(0), - offlineAiCarClass: smallint("offline_ai_car_class").default(0), - offlineAiSkinId: integer("offline_ai_skin_id").default(0), - offlineAiCarBptId: integer("offline_ai_car_bpt_id").default(0), - offlineAiState: integer("offline_ai_state").default(0), - bodytype: integer("bodytype").default(0), - skinColor: integer("skin_color").default(0), - hairColor: integer("hair_color").default(0), - shirtColor: integer("shirt_color").default(0), - pantsColor: integer("pants_color").default(0), - offlineDriverStyle: integer("offline_driver_style").default(0), - offlineDriverAttitude: integer("offline_driver_attitude").default(0), - evadedFuzz: integer("evaded_fuzz").default(0), - pinksWon: integer("pinks_won").default(0), - numUnreadMail: integer("num_unread_mail").default(0), - totalRacesRun: integer("total_races_run").default(0), - totalRacesWon: integer("total_races_won").default(0), - totalRacesCompleted: integer("total_races_completed").default(0), - totalWinnings: integer("total_winnings").default(0), - insuranceRiskPoints: integer("insurance_risk_points").default(0), - insuranceRating: integer("insurance_rating").default(0), - challengeRacesRun: integer("challenge_races_run").default(0), - challengeRacesWon: integer("challenge_races_won").default(0), - challengeRacesCompleted: integer("challenge_races_completed").default(0), - carsLost: integer("cars_lost").default(0), - carsWon: integer("cars_won").default(0), - - }, - (table) => { - return { - numUnreadMailIdx: index("player_num_unread_mail_idx").on(table.numUnreadMail), - offlineAiCarBptIdIdx: index("player_offline_ai_car_bpt_id_idx").on(table.offlineAiCarBptId), - stockMuscleClassIdx: index("player_stock_muscle_class_idx").on(table.stockMuscleClass), - modifiedClassicClassIdx: index("player_modified_classic_class_idx").on(table.modifiedClassicClass), - modifiedMuscleClassIdx: index("player_modified_muscle_class_idx").on(table.modifiedMuscleClass), - outlawClassIdx: index("player_outlaw_class_idx").on(table.outlawClass), - dragClassIdx: index("player_drag_class_idx").on(table.dragClass), - playerTypeIdIdx: index("player_player_type_id_idx").on(table.playerTypeId), - }; - }, -); diff --git a/schema/playerType.ts b/schema/playerType.ts deleted file mode 100644 index 8cd292cec..000000000 --- a/schema/playerType.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, -} from "drizzle-orm/pg-core"; - -export const playerType = pgTable( - "player_type", - { - playerTypeId: integer("player_type_id").notNull().primaryKey(), - playerType: varchar("player_type", { length: 100 }).notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("player_type_id_idx").on(table.playerTypeId), - }; - }, -); diff --git a/schema/profile.ts b/schema/profile.ts deleted file mode 100644 index 281143e2f..000000000 --- a/schema/profile.ts +++ /dev/null @@ -1,40 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - smallint, - boolean, -} from "drizzle-orm/pg-core"; -import { now32 } from "../packages/shared/src/utils.js"; - -export const profile = pgTable( - "profile", - { - customerId: integer("customer_id").notNull(), - profileName: varchar("profile_name", { length: 32 }).notNull(), - serverId: integer("server_id").default(0), - createStamp: integer("create_stamp").notNull().default(now32()), - lastLoginStamp: integer("last_login_stamp").notNull().default(now32()), - numberGames: integer("number_games").notNull().default(1), - profileId: integer("profile_id").notNull().primaryKey(), - isOnline: boolean("is_online").default(false), - gamePurchaseStamp: integer("game_purchase_stamp").notNull().default(now32()), - gameSerialNumber: varchar("game_serial_number", { length: 32 }), - timeOnline: integer("time_online"), - timeInGame: integer("time_in_game"), - gameBlob: varchar("game_blob", { length: 512 }), - personalBlob: varchar("personal_blob", { length: 256 }), - pictureBlob: varchar("picture_blob", { length: 1 }), - dnd: boolean("dnd").default(false), - gameStartStamp: integer("game_start_stamp").notNull().default(now32()), - currentKey: varchar("current_key", { length: 400 }), - profileLevel: smallint("profile_level").notNull().default(0), - shardId: integer("shard_id").notNull(), - }, - (table) => { - return { - idIdx: uniqueIndex("profile_id_idx").on(table.profileId), - }; - }, -); diff --git a/schema/raceType.ts b/schema/raceType.ts deleted file mode 100644 index 538dc8dc0..000000000 --- a/schema/raceType.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { pgTable, varchar, integer } from "drizzle-orm/pg-core"; - -export const raceType = pgTable('race_type', { - raceTypeId: integer('race_type_id').notNull().primaryKey(), - raceType: varchar('race_type', { length: 100 }).notNull(), -}); diff --git a/schema/skin.ts b/schema/skin.ts deleted file mode 100644 index 398fc3595..000000000 --- a/schema/skin.ts +++ /dev/null @@ -1,89 +0,0 @@ -import { - pgTable, - integer, - uniqueIndex, - smallint, - varchar, - index, -} from "drizzle-orm/pg-core"; -import { player } from "./player.js"; -import { skinType } from "./skinType.js"; -import { partType } from "./partType.js"; - -export const skin = pgTable( - "skin", - { - skinId: integer("skin_id").notNull().primaryKey(), - creatorId: integer("creator_id").references(() => player.playerId).notNull(), - skinTypeId: integer("skin_type_id").references(() => skinType.skinTypeId).notNull(), - partTypeId: integer("part_type_id").references(() => partType.partTypeId).notNull(), - defaultFlag: smallint("default_flag").notNull().default(0), - eSkin: varchar("e_skin", { length: 100 }).notNull(), - gSkin: varchar("g_skin", { length: 32 }), - fSkin: varchar("f_skin", { length: 32 }), - sSkin: varchar("s_skin", { length: 32 }), - iSkin: varchar("i_skin", { length: 32 }), - jSkin: varchar("j_skin", { length: 32 }), - swSkin: varchar("sw_skin", { length: 32 }), - bSkin: varchar("b_skin", { length: 32 }), - price: integer("price").notNull(), - partFilename: varchar("part_filename", { length: 20 }), - h0: smallint("h0"), - s0: smallint("s0"), - v0: smallint("v0"), - c0: smallint("c0"), - x0: smallint("x0"), - y0: smallint("y0"), - h1: smallint("h1"), - s1: smallint("s1"), - v1: smallint("v1"), - c1: smallint("c1"), - x1: smallint("x1"), - y1: smallint("y1"), - h2: smallint("h2"), - s2: smallint("s2"), - v2: smallint("v2"), - c2: smallint("c2"), - x2: smallint("x2"), - y2: smallint("y2"), - h3: smallint("h3"), - s3: smallint("s3"), - v3: smallint("v3"), - c3: smallint("c3"), - x3: smallint("x3"), - y3: smallint("y3"), - h4: smallint("h4"), - s4: smallint("s4"), - v4: smallint("v4"), - c4: smallint("c4"), - x4: smallint("x4"), - y4: smallint("y4"), - h5: smallint("h5"), - s5: smallint("s5"), - v5: smallint("v5"), - c5: smallint("c5"), - x5: smallint("x5"), - y5: smallint("y5"), - h6: smallint("h6"), - s6: smallint("s6"), - v6: smallint("v6"), - c6: smallint("c6"), - x6: smallint("x6"), - y6: smallint("y6"), - h7: smallint("h7"), - s7: smallint("s7"), - v7: smallint("v7"), - c7: smallint("c7"), - x7: smallint("x7"), - y7: smallint("y7"), - creatorName: varchar("creator_name", { length: 24 }), - commentText: varchar("comment_text", { length: 128 }), - }, - (table) => { - return { - idIdx: uniqueIndex("skin_id_idx").on(table.skinId), - skinCreatorIdIdx: index("skin_creator_id_idx").on(table.creatorId), - skinSkinTypeIdIdx: index("skin_skin_type_id_idx").on(table.skinTypeId), - }; - }, -); diff --git a/schema/skinType.ts b/schema/skinType.ts deleted file mode 100644 index 660d8fa05..000000000 --- a/schema/skinType.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { - pgTable, - integer, - varchar, -} from "drizzle-orm/pg-core"; - -export const skinType = pgTable( - "skin_type", - { - skinTypeId: integer("skin_type_id").notNull().primaryKey(), - skinType: varchar("skin_type", { length: 100 }).notNull(), - } -); diff --git a/schema/stockAssembly.ts b/schema/stockAssembly.ts deleted file mode 100644 index 79b7749f9..000000000 --- a/schema/stockAssembly.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { - pgTable, - integer, - smallint, - index, -} from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart.js"; -import { attachmentPoint } from "./attachmentPoint.js"; - -export const stockAssembly = pgTable( - "stock_assembly", - { - parentBrandedPartId: integer("parent_branded_part_id").references(() => brandedPart.brandedPartId).notNull().primaryKey(), - childBrandedPartId: integer("child_branded_part_id").references(() => brandedPart.brandedPartId).notNull(), - attachmentPointId: integer("attachment_point_id").references(() => attachmentPoint.attachmentPointId).notNull(), - configDefault: smallint("config_default").notNull(), - physicsDefault: smallint("physics_default").notNull(), - }, - (table) => { - return { - idIdx: index("stock_assembly_id_idx").on(table.parentBrandedPartId, table.childBrandedPartId, table.attachmentPointId), - }; - }, -); diff --git a/schema/stockVehicleAttributes.ts b/schema/stockVehicleAttributes.ts deleted file mode 100644 index 90bf7daf4..000000000 --- a/schema/stockVehicleAttributes.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { - pgTable, - integer, - index, -} from "drizzle-orm/pg-core"; -import { brandedPart } from "./brandedPart.js"; -import { svaCarClass } from "./svaCarClass.js"; -import { svaModeRestriction } from "./svaModeRestriction.js"; - -export const stockVehicleAttributes = pgTable( - "stock_vehicle_attributes", - { - brandedPartId: integer("branded_part_id").references(() => brandedPart.brandedPartId).notNull().primaryKey(), - carClass: integer("car_class").references(() => svaCarClass.svaCarClass).notNull(), - aiRestrictionClass: integer("ai_restriction_class").notNull(), - modeRestriction: integer("mode_restriction").references(() => svaModeRestriction.svaModeRestriction).notNull(), - sponsor: integer("sponsor").notNull(), - vinBrandedPartId: integer("vin_branded_part_id").references(() => brandedPart.brandedPartId).notNull(), - trackId: integer("track_id").notNull(), - vinCrc: integer("vin_crc").notNull(), - retailPrice: integer("retail_price").notNull(), - }, - (table) => { - return { - idIdx: index("stock_vehicle_attributes_branded_part_id_idx").on(table.brandedPartId), - }; - }, -); diff --git a/schema/svaCarClass.ts b/schema/svaCarClass.ts deleted file mode 100644 index 3412cbdb6..000000000 --- a/schema/svaCarClass.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { - pgTable, - integer, - index, - varchar, -} from "drizzle-orm/pg-core"; - -export const svaCarClass = pgTable( - "sva_car_class", - { - svaCarClass: integer("sva_car_class").notNull().primaryKey(), - description: varchar("description", { - length: 50, - }).notNull(), - }, - (table) => { - return { - idIdx: index("sva_car_class_car_class_idx").on(table.svaCarClass), - }; - }, -); diff --git a/schema/svaModeRestriction.ts b/schema/svaModeRestriction.ts deleted file mode 100644 index 2b09cc8b7..000000000 --- a/schema/svaModeRestriction.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { - pgTable, - integer, - index, - varchar, -} from "drizzle-orm/pg-core"; - -export const svaModeRestriction = pgTable( - "sva_mode_restriction", - { - svaModeRestriction: integer("sva_mode_restriction").notNull().primaryKey(), - description: varchar("description", { - length: 100, - }).notNull(), - }, - (table) => { - return { - idIdx: index("sva_mode_restriction_idx").on(table.svaModeRestriction), - }; - }, -); diff --git a/schema/test/index.test.ts b/schema/test/index.test.ts deleted file mode 100644 index f01d2f75d..000000000 --- a/schema/test/index.test.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { describe, expect, it } from "vitest"; - -describe("example", () => { - it("should pass", () => { - expect(true).toBe(true); - }); -}); diff --git a/schema/tunables.ts b/schema/tunables.ts deleted file mode 100644 index 09b4ba08e..000000000 --- a/schema/tunables.ts +++ /dev/null @@ -1,67 +0,0 @@ -import { - pgTable, - integer, - smallint, -} from "drizzle-orm/pg-core"; - -export const tunables = pgTable( - "tunables", - { - clubCreationFee: integer("club_creation_fee").notNull(), - clubCreationMinimumLevel: integer("club_creation_minimum_level").notNull(), - clubOfficerMinimumLevel: integer("club_officer_minimum_level").notNull(), - racePPDefeatedOpponent: integer("race_pp_defeated_opponent").notNull(), - racePPPlaceLost: integer("race_pp_place_lost").notNull(), - racePenaltyPerRank: integer("race_penalty_per_rank").notNull(), - raceBonusPerRank: integer("race_bonus_per_rank").notNull(), - raceBonusPerMileSponsored: integer("race_bonus_per_mile_sponsored").notNull(), - raceBonusPerMileOpen: integer("race_bonus_per_mile_open").notNull(), - levelsTunelog: integer("levels_tunelog").notNull(), - levelsSlope: integer("levels_slope").notNull(), - levelsOffset: integer("levels_offset").notNull(), - maxEZStreetLevel: integer("max_ez_street_level").notNull(), - clubWaitPeriodBetweenClubs: integer("club_wait_period_between_clubs").notNull(), - turfwarCaptionBonus: integer("turfwar_caption_bonus").notNull(), - turfwarMemberBonus: integer("turfwar_member_bonus").notNull(), - topDogBonus: integer("top_dog_bonus").notNull(), - rankAdvancementBonus: integer("rank_advancement_bonus").notNull(), - ttCashRewardFirst: integer("tt_cash_reward_first").notNull(), - ttCashRewardSecond: integer("tt_cash_reward_second").notNull(), - ttCashRewardThird: integer("tt_cash_reward_third").notNull(), - ttPointsRewardFirst: integer("tt_points_reward_first").notNull(), - ttPointsRewardSecond: integer("tt_points_reward_second").notNull(), - ttPointsRewardThird: integer("tt_points_reward_third").notNull(), - universalRepairCostModifier: integer("universal_repair_cost_modifier").notNull(), - universalScrapValueModifier: integer("universal_scrap_value_modifier").notNull(), - adCost1Day: integer("ad_cost_1_day").notNull(), - adCost2Days: integer("ad_cost_2_days").notNull(), - adCost3Days: integer("ad_cost_3_days").notNull(), - adCost4Days: integer("ad_cost_4_days").notNull(), - adCost5Days: integer("ad_cost_5_days").notNull(), - adCost6Days: integer("ad_cost_6_days").notNull(), - adCost7Days: integer("ad_cost_7_days").notNull(), - tradeInModifier: integer("trade_in_modifier").notNull(), - simStreetMaxWager: integer("sim_street_max_wager").notNull(), - pointAward1stPlace: integer("point_award_1st_place").notNull(), - pointAward2ndPlace: integer("point_award_2nd_place").notNull(), - pointAward3rdPlace: integer("point_award_3rd_place").notNull(), - pointAward4thPlace: integer("point_award_4th_place").notNull(), - pointAward5thPlace: integer("point_award_5th_place").notNull(), - pointAward6thPlace: integer("point_award_6th_place").notNull(), - arcadeRacePointModifier: integer("arcade_race_point_modifier").notNull(), - mcotsPoolingFrequency: integer("mcots_pooling_frequency").notNull(), - starterCash: integer("starter_cash").notNull(), - enableChearEmails: smallint("enable_chear_emails").notNull(), - salaryPerLevel: integer("salary_per_level").notNull(), - clubMaxMembers: integer("club_max_members").notNull(), - clubRegistrationFee: integer("club_registration_fee").notNull(), - clubReRegistrationFee: integer("club_reregistration_fee").notNull(), - classifiedAdBillRate: integer("classified_ad_bill_rate").notNull(), - classifiedAdMaxDays: integer("classified_ad_max_days").notNull(), - classifiedAdMaxSize: integer("classified_ad_max_size").notNull(), - classifiedAdMaxPerPersona: integer("classified_ad_max_per_persona").notNull(), - papAwardPercentage: integer("pap_award_percentage").notNull(), - dealOfTheDayBrandedPartId: integer("deal_of_the_day_branded_part_id").notNull(), - dealOfTheDayDiscount: integer("deal_of_the_day_discount").notNull(), - }, -); diff --git a/schema/user.ts b/schema/user.ts deleted file mode 100644 index 8c147b4b1..000000000 --- a/schema/user.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, - smallint, -} from "drizzle-orm/pg-core"; - -export const user = pgTable( - "user", - { - userId: integer("user_id").notNull().primaryKey(), - userName: varchar("user_name", { length: 100 }).notNull(), - password: varchar("password", { length: 100 }).notNull(), - customerId: integer("customer_id").notNull(), - isSuperUser: smallint("is_super_user").notNull().default(0), - }, - (table) => { - return { - idIdx: uniqueIndex("user_id_idx").on(table.userId), - }; - }, -); diff --git a/schema/vehicle.ts b/schema/vehicle.ts deleted file mode 100644 index 394663ef2..000000000 --- a/schema/vehicle.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { - pgTable, - varchar, - integer, - uniqueIndex, -} from "drizzle-orm/pg-core"; -import { skin } from "./skin.js"; -import { bytea } from "./bytea.js"; - - -export const vehicle = pgTable( - "vehicle", - { - vehicleId: integer("vehicle_id").notNull().primaryKey(), - skinId: integer("skin_id").references(() => skin.skinId).notNull(), - flags: integer("flags").notNull().default(0), - class: varchar("class", { length: 100 }).notNull(), - infoSetting: varchar("info_setting", { length: 100 }).notNull(), - damageInfo: bytea("damage_info"), - }, - (table) => { - return { - idIdx: uniqueIndex("vehicle_id_idx").on(table.vehicleId), - }; - }); diff --git a/schema/vite.config.ts b/schema/vite.config.ts deleted file mode 100644 index fb851b55a..000000000 --- a/schema/vite.config.ts +++ /dev/null @@ -1,22 +0,0 @@ -import { defineConfig } from "vitest/config"; - -export default defineConfig({ - test: { - coverage: { - enabled: true, - all: true, - exclude: [ - "src/**/*.spec.ts", - "src/**/*.test.ts", - "bin/**/*.ts", - "ecosystem.config.js", - "migrate.ts", - "packages/**/*.d.ts", - ], - reporter: ["lcov", "text", "cobertura"], - }, - reporters: ["junit", "default", "hanging-process"], - outputFile: "mcos.junit.xml", - pool: "forks", - }, -}); diff --git a/schema/warehouse.ts b/schema/warehouse.ts deleted file mode 100644 index 8022f051d..000000000 --- a/schema/warehouse.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { - pgTable, - integer, - index, -} from "drizzle-orm/pg-core"; -import { player } from "./player.js"; -import { brandedPart } from "./brandedPart.js"; -import { skin } from "./skin.js"; - -export const warehouse = pgTable( - "warehouse", - { - brandedPartId: integer("branded_part_id").references(() => brandedPart.brandedPartId).notNull(), - skinId: integer("skin_id").references(() => skin.skinId).notNull(), - playerId: integer("player_id").references(() => player.playerId).notNull(), - qtyAvail: integer("qty_avail"), - isDealOfTheDay: integer("is_deal_of_the_day").notNull().default(0), - }, - (table) => { - return { - warehouseBrandedPartIdx: index("warehouse_branded_part_id_idx").on(table.brandedPartId), - warehouseSkinIdIdx: index("warehouse_skin_id_idx").on(table.skinId), - warehousePlayerIdIdx: index("warehouse_player_id_idx").on(table.playerId), - }; - }, -); diff --git a/src/rusty_server/__init__.py b/src/rusty_server/__init__.py deleted file mode 100644 index e69de29bb..000000000 From 6a0535f72c5b35dba49b0f73c85d3c0465fab4de Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 09:46:41 -0400 Subject: [PATCH 444/452] chore: Remove unused import statement and update npm dependencies --- packages/database/src/seeders/index.ts | 2 -- packages/mcots/package.json | 1 - 2 files changed, 3 deletions(-) diff --git a/packages/database/src/seeders/index.ts b/packages/database/src/seeders/index.ts index 72c145daf..631c9761d 100644 --- a/packages/database/src/seeders/index.ts +++ b/packages/database/src/seeders/index.ts @@ -1,5 +1,3 @@ -import { player as playerSchema } from "rusty-motors-schema"; - const playerCsvHeader = [ "player_id", "customer_id", diff --git a/packages/mcots/package.json b/packages/mcots/package.json index 393385adb..eb9b89144 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -19,7 +19,6 @@ "license": "AGPL-3.0", "dependencies": { "@sentry/node": "^8.0.0", - "rusty-motors-schema": "^1.0.0", "short-unique-id": "^5.0.3" }, "description": "" From 997603da63f48107bfe4930dcbcbfe9f55aaf7e0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 09:52:15 -0400 Subject: [PATCH 445/452] chore: Update npm dependencies and package.json scripts --- .github/workflows/release.yml | 4 +- packages/cli/package.json | 2 +- packages/connection/package.json | 2 +- packages/database/package.json | 2 +- packages/gateway/package.json | 56 ++++++++++++++-------------- packages/mcots/package.json | 2 +- packages/nps/package.json | 2 +- packages/patch/package.json | 2 +- packages/shard/package.json | 2 +- packages/shared-packets/package.json | 2 +- packages/shared/package.json | 2 +- 11 files changed, 39 insertions(+), 39 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 33670463c..0bcd183e3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -25,9 +25,9 @@ jobs: - name: Setup Node.js uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 with: - node-version: "lts/*" + node-version: 'lts/*' - name: Install dependencies - run: pnpm install + run: npm install - name: Verify the integrity of provenance attestations and registry signatures for installed dependencies run: npm audit signatures - name: Release diff --git a/packages/cli/package.json b/packages/cli/package.json index ead7cce6d..e38ca8108 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/connection/package.json b/packages/connection/package.json index c0a097567..6518bd1d3 100644 --- a/packages/connection/package.json +++ b/packages/connection/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/database/package.json b/packages/database/package.json index 6058a07f3..69ffaf927 100644 --- a/packages/database/package.json +++ b/packages/database/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage", "types:db": "npx @databases/pg-schema-cli --directory src/__generated__" }, diff --git a/packages/gateway/package.json b/packages/gateway/package.json index 2a7c067a1..f71ce9586 100644 --- a/packages/gateway/package.json +++ b/packages/gateway/package.json @@ -1,30 +1,30 @@ { - "name": "rusty-motors-gateway", - "version": "1.0.0", - "exports": { - ".": { - "import": "./index.js", - "require": "./index.js" - } - }, - "type": "module", - "scripts": { - "check": "tsc", - "lint": "eslint .", - "format": "pnpm prettier --write .", - "test": "vitest run --coverage" - }, - "keywords": [], - "author": "", - "license": "AGPL-3.0", - "dependencies": { - "@fastify/sensible": "^5.5.0", - "@sentry/node": "^8.0.0", - "fastify": "^4.25.2", - "vitest": "^1.6.0" - }, - "directories": { - "test": "test" - }, - "description": "" + "name": "rusty-motors-gateway", + "version": "1.0.0", + "exports": { + ".": { + "import": "./index.js", + "require": "./index.js" + } + }, + "type": "module", + "scripts": { + "check": "tsc", + "lint": "eslint .", + "format": "npm prettier --write .", + "test": "vitest run --coverage" + }, + "keywords": [], + "author": "", + "license": "AGPL-3.0", + "dependencies": { + "@fastify/sensible": "^5.5.0", + "@sentry/node": "^8.0.0", + "fastify": "^4.25.2", + "vitest": "^1.6.0" + }, + "directories": { + "test": "test" + }, + "description": "" } diff --git a/packages/mcots/package.json b/packages/mcots/package.json index eb9b89144..848ab63bf 100644 --- a/packages/mcots/package.json +++ b/packages/mcots/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/nps/package.json b/packages/nps/package.json index 5223d9ed5..94256f9f3 100644 --- a/packages/nps/package.json +++ b/packages/nps/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/patch/package.json b/packages/patch/package.json index 2d106ca85..6460259aa 100644 --- a/packages/patch/package.json +++ b/packages/patch/package.json @@ -11,7 +11,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/shard/package.json b/packages/shard/package.json index e23ba4701..3d24d015d 100644 --- a/packages/shard/package.json +++ b/packages/shard/package.json @@ -12,7 +12,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/shared-packets/package.json b/packages/shared-packets/package.json index 566792689..9433de639 100644 --- a/packages/shared-packets/package.json +++ b/packages/shared-packets/package.json @@ -12,7 +12,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], diff --git a/packages/shared/package.json b/packages/shared/package.json index c303b58ab..52f3f9ace 100644 --- a/packages/shared/package.json +++ b/packages/shared/package.json @@ -15,7 +15,7 @@ "scripts": { "check": "tsc", "lint": "eslint .", - "format": "pnpm prettier --write .", + "format": "npm prettier --write .", "test": "vitest run --coverage" }, "keywords": [], From ccaa175844b51d4eea635a46c4b24c30a55126e6 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 10:13:48 -0400 Subject: [PATCH 446/452] chore: Update npm dependencies and package.json scripts --- .github/workflows/main.yml | 2 ++ .github/workflows/node.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 87ae1ba9d..0d996afe4 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -17,7 +17,9 @@ jobs: - name: Install and test using npm run: | npm install + export DATABASE_URL=$(npx pg-test start) npm run test --workspaces --if-present + npx pg-test stop - name: Create Sentry release uses: getsentry/action-release@586b62368d564f25d694ce05fcb9cf53de65ac4f # v1 diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index be7c55f41..c080baa41 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -26,7 +26,9 @@ jobs: - name: Install and test run: | npm install + export DATABASE_URL=$(npx pg-test start) npm test + npx pg-test stop env: CODECOV_UPLOAD_BUNDLE_TOKEN: ${{ secrets.CODECOV_UPLOAD_BUNDLE_TOKEN }} - name: Codecov From d1632be1cd790bf0f36a1972e37aa3ad32931b77 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 10:14:09 -0400 Subject: [PATCH 447/452] chore: Add @databases/pg-test dependency to package.json --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index aa35121dd..da3834161 100644 --- a/package.json +++ b/package.json @@ -42,6 +42,7 @@ ], "devDependencies": { "@databases/pg-migrations": "^5.0.3", + "@databases/pg-test": "^3.1.2", "dotenv": "^16.4.5" } } From 399090a74449961f1a38da37df6905bc9ec59dd0 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 10:22:36 -0400 Subject: [PATCH 448/452] chore: Update .github/codecov.yml to disable carryforward for schema paths and add ignore rule for __generated__ directory --- .github/codecov.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 9b3f44f17..2e4d6bb2e 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -51,7 +51,7 @@ flags: schema: paths: - schema/** - carryforward: true + carryforward: false component_management: individual_components: @@ -78,3 +78,6 @@ component_management: - packages/gateway/** - packages/mcots/** - packages/shared-packets/** + +ignore: + - "**/__generated__/**" From 44522c16bb832a2874f254a646b48e14825b7680 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 10:27:43 -0400 Subject: [PATCH 449/452] chore: Remove unused codecov upload for schema flag --- .github/workflows/node.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index c080baa41..d5edc71e5 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -51,7 +51,6 @@ jobs: codecovcli --verbose do-upload --fail-on-error --flag shard --name shard-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shared --name shared-${{ matrix.node-version }} codecovcli --verbose do-upload --fail-on-error --flag shared-packets --name shared-packets-${{ matrix.node-version }} - codecovcli --verbose do-upload --fail-on-error --flag schema --name schema-${{ matrix.node-version }} - uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4 with: From aa59d076ab27da01b573e835c5e33c290ad223c8 Mon Sep 17 00:00:00 2001 From: Molly Draven Date: Mon, 8 Jul 2024 10:41:46 -0400 Subject: [PATCH 450/452] chore: Remove unused codecov upload for schema flag --- .github/codecov.yml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.github/codecov.yml b/.github/codecov.yml index 2e4d6bb2e..81fea2976 100644 --- a/.github/codecov.yml +++ b/.github/codecov.yml @@ -48,10 +48,6 @@ flags: paths: - packages/shared-packets/** carryforward: true - schema: - paths: - - schema/** - carryforward: false component_management: individual_components: From 6bb1e0fb726941b9f0565e93d5e6b250acfb27e0 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Mon, 8 Jul 2024 18:22:43 +0000 Subject: [PATCH 451/452] chore(deps): update dependency node to v22.4.1 --- .nvmrc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.nvmrc b/.nvmrc index 58a1f0907..c2aa6d768 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -22.4.0 +22.4.1 From c937f3d9e348c250a2935cf7caf0de8e9d21c438 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 9 Jul 2024 18:40:38 +0000 Subject: [PATCH 452/452] chore(deps): update actions/setup-node digest to 1e60f62 --- .github/workflows/node.yml | 2 +- .github/workflows/release.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/node.yml b/.github/workflows/node.yml index d5edc71e5..a3d69ddf3 100644 --- a/.github/workflows/node.yml +++ b/.github/workflows/node.yml @@ -20,7 +20,7 @@ jobs: with: fetch-depth: 0 - name: Use Node.js 22.x - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4 with: node-version: 22.x - name: Install and test diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 0bcd183e3..cc043eb8a 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -23,7 +23,7 @@ jobs: with: fetch-depth: 0 - name: Setup Node.js - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4 with: node-version: 'lts/*' - name: Install dependencies